説明

通信ノード

【課題】電波品質の悪い環境下では、持ち歩き型の通信ノードは用を為さない。しかしそのような環境下であっても、有線亦は無線を低レイヤとするその他の通信ノードに着信させることが出来る。
【解決手段】他者からの通信を、受信者の用いる通信ノードに着信させるための手段として、宛先発見過程を制御することによって受信者が所望する通信ノードを発見させる。受信者が移動する範囲亦は所望する範囲で、宛先として発見させたい通信ノードを一群として第一通信ノード10たり得る通信ノード群とする。この群は、地理的にも住所的にも分散していて差支えない。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は網における宛先発見過程を拡張するものである。網は、蓄積交換網であるか回線交換網であるかを問わない。
具体的には、発信者が宛先を特定するために用いる見掛の宛先情報と、網が受信者の用いる通信ノードを特定するために用いる実際の宛先を識別する情報とが、関連付けられることによって、宛先通信ノードへの到達性が得られる網において、受信者が1以上の通信ノードを有する場合であって、そのうちの1の通信ノードを指定することによって単一の宛先として発見させる技術に属する。
【背景技術】
【0002】
ヒトの物理的な移動にあわせて、他者から自分に到達させるような通信をさせたいとする。
現在ヒトが持ち歩くことを前提に、携帯電話やPDA等の単一の移動体通信ノードで、これを実現するアプローチが取られている。これらの通信ノードは電波が受信できない状況下にあっては、用を為さなかった。
亦、ノートPC等を移動先のホテルからダイヤルアップするといった使われ方もしていた。この場合は、移動中は着信することが出来なかった。
このように、そもそもの使いにくさの原因は、移動するヒトに到達させるための通信において、ヒトとともに移動する単一の通信ノードで着信しなければならないとの先入観にあった。
【0003】
一方、インターネット商用化後の一般利用者の用いる端末は、変動する住所を有し、通信相手として特定する識別子を有しない端末であった。このような端末とも通信したいという要望があった。最初に試みられたのは、通信相手を一意に特定する識別子を設定し、これに変動する住所を追随させるシステムに、通信相手を特定することを委ねることであった。このようなシステムには、例えばwebhop 、IMPP(RFC2778, RFC2779)、動的DNS(RFC2136, RFC3007)、SIP(RFC3261-3265, RFC3856)、ENUM(RFC2916, RFC3401-3406, RFC3761)等がある。亦、固定的な住所に対して変動する住所を追随させるシステムにIP Mobility(RFC3344, RFC3775, RFC3963)がある。亦、回線交換網においてはセルラー電話のHLR(ホーム・ロケーション・レジスタ)等がある(これらを総称して、以下「宛先発見サーバ」とする)。
【発明の開示】
【発明が解決しようとする課題】
【0004】
単一の通信ノードによって着信させるのではなく、複数の通信ノードの中から受信者が通信ノード間を移動するのに追随して、着信させる通信ノードもホップさせる手段を提供する。
最も端的には、受信者の近くにある通信ノード亦は、受信者が指定する通信ノードを宛先として発見(着信)させる。
すなわち、受信者のホスト間移動に追随して、受信者が指定する通信ノードを宛先として発信元に発見させる。
【発明の効果】
【0005】
1.電波品質の悪い環境下では、持ち歩き型の通信ノードは用を為さない。しかしそのような環境下であっても、有線亦は無線を低レイヤとするその他の通信ノードに着信させることが出来る。
【0006】
2.宛先として発見され得る通信ノード間を協調させる為に各通信ノードが自律的に動作することによって、現に発見されない通信ノードは、現に発見される通信ノードがその立場を維持することに協力する。
すなわち現に発見される通信ノードがあるときは、他の通信ノードが宛先発見過程を制御することを抑制する。これによって手動でする宛先発見過程の制御が、初めて発意の反映たり得る。なぜならば、自動で宛先発見過程を制御する通信ノードが抑制されなければ、例え手動にて制御したとしても、他の通信ノードが自動でする宛先発見過程の制御によって上書きされてしまうからである。
【0007】
3.本発明では、固定的に住所を割当てられてなる通信ノードが群に含まれる場合であっても、静的な識別子と関連付けられる通信ノードがホップすることによって、静的な識別子と関連付けられる住所は必ず動的となる。このことによって住所が固定的に割当てられてなる通信ノードと、動的に割当てられてなる通信ノードとを統一的に扱うことが出来る。
【0008】
4.スケーラブル。宛先として発見され得る通信ノード群において、その群を構成する通信ノードの個数に依存せずに、通信ノードの個数を増減しても受信者の発意に基づく宛先発見過程を提供出来るようにした。このことから第一通信ノードが単一の場合にも、その背後に自由に通信ノードを追加することが出来る。
【0009】
5.スモールシステム。中央コンピュータが存在するモデルを「神様モデル」という。従来は宛先発見サーバが、神の如く統治することを発想の原点として網は設計されていた。これによって実現されるものは、巨大な社会システムである。マルティックスは既に失敗した。本発明において宛先発見サーバ30は、神ではない。本発明では宛先発見サーバを、単にサービスを提供するものという本来の位置付けに戻すことに成功した。顧客は自ら制御できる環境を望んでいる。
【0010】
6.スモールスタートできる。群内に閉じてさえいれば、それだけで既に実施可能である。
【0011】
7.本発明では宛先発見サーバについては原則的に変更することを要しない。
【0012】
8.本発明では発信元通信ノードについては何ら変更することなしに、従来のものをそのまま利用して課題を解決することが出来る。
【0013】
9.現在宛先として発見されている通信ノードは、次に受信者が使用する予定の通信ノードをあらかじめ知っておく必要がない。宛先発見サーバにおいても亦同じ。
【課題を解決するための手段】
【0014】
(概要)
受信者は、通信を、発信元通信ノードから、受信者が欲する通信ノードに、宛先として着信させる。
これを実現するための具体的な思想は、以下の通りである。
1.他者からの通信を、受信者の用いる通信ノードに着信させるための手段として、宛先発見過程を制御することによって受信者が所望する通信ノードを発見させる。
2.受信者が移動する範囲亦は所望する範囲で、宛先として発見させたい通信ノードを一群として第一通信ノード10たり得る通信ノード群とする。この群は、地理的にも住所的にも分散していて差支えない。
3.第一通信ノード10たり得る通信ノード群内では各通信ノードの間で、宛先として発見させるという立場を奪い合う競合関係が発生する。
この時、網の特性から、宛先としてその時点で発見されない通信ノードについては、他の通信ノードも亦このような通信ノードを発見することが出来ない。第一通信ノード10たり得る通信ノード群内の通信ノードも亦、例外ではない。
4.唯一発見され得る通信ノードと、同一時点では発見され得ない通信ノードとの間での通信の結果によって、前記競合関係を調整する。
すなわち、各通信ノードの自律的振る舞いを以下に実装する。
外部環境検知部が検知した外部環境によって、宛先発見過程を制御する場合としない場合とを切替える。
【発明を実施するための最良の形態】
【0015】
以下、本発明を図面に基づいて説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付している。以下に掲げる実施例は、制限でなく例である。
【0016】
(網全体ブロック図)
図01は、本発明における網全体を示すブロック図である。図01には、第一通信ノード10と、第二通信ノード20と、通信ノードからの問い合わせに応じて第一通信ノード10の住所を返信する(か亦は代理仲介する)宛先発見サーバ30とが、インターネット等の網40を介して相互に接続される状態を示している。
【0017】
(用語)
見掛の宛先情報とは、宛先発見過程に入る以前に発信元が認識している宛先を示す情報のことをいう。静的な識別子は見掛の宛先情報(以下、「見掛の宛先」と略す)の例である。
静的な識別子とは、宛先発見させる際の目的語である。通常は発信者が宛先通信ノードを網上で特定するために用いられる。静的な識別子の具体例としてはハンドル名、バディ名、ホスト名、電話番号、URI等が含まれる。
このことから第一通信ノード10の受信者が発信元の為に事前に通知するものが静的な識別子の典型である。例えば、電話を掛けてきて欲しい人が、自分の電話番号として教えるものがこれに当たる。
【0018】
実際の宛先情報(以下、「実際の宛先」と略す)とは、網が受信者の用いる通信ノードを特定するために用いる情報のことをいう。住所は実際の宛先の典型である。
住所とは、通信ノードに対する実際のアクセスを掌る網上の住所(=Network Address)を指す。
この場合の住所とは、宛先発見終了後にはじめて発信元が認識できる実際の通信ノードへの到達を掌る宛先のことである。なお、代理仲介によって接続される場合や網が接続までをセットアップする場合等には、第二通信ノード20は第一通信ノード10の住所を知らなくてもよい。この場合には接続を以って発見と考えてもよい。実際の宛先は必ずしも住所である必要はなく、第一通信ノード10の在圏エリアを示す情報であっても、複数のパラメータからなる情報であってもよい。
見掛の宛先も実際の宛先も、第一通信ノード10を識別する情報である。
【0019】
ところで見掛の宛先と実際の宛先とが、同一の表現体系に基づく場合はあってもよい。
例えば見掛の宛先が電話番号であり、実際の宛先も亦電話番号である場合等がある。IPアドレスの場合も同様である。よって住所は見掛の宛先に属する場合がある。このような場合には見掛の宛先と実際の宛先とが同一の値である場合が許容される。
【0020】
宛先発見サーバ30とは、マッピングを保持するものである。マッピングされる内容は一般に見掛の宛先と実際の宛先とであるが、中間的な情報であってもよい。例えば、ENUMにおける文字列書換規則等は中間的な情報の例である。
宛先発見サーバ30は機能的に、該保持したマッピングを公示するか、亦はマッピングを基に代理仲介して(第二通信ノード20と第一通信ノード10との)接続をさせるが、これらの機能は宛先発見サーバ30に必須のものではなく、網が替ってする場合もある。宛先発見サーバ30は、複数のサーバからなるシステムであってよい。
宛先発見サーバ30は、原則的に変更を要することなく、本発明の通信システムに採用することができる。
しかし例えば、宛先発見サーバ30が、元々通信ノードを個体識別する情報等が事前に設定されていて、この情報等に係る通信ノードとは異なる通信ノードからの更新要求を受け付けないタイプであって、該個体識別する情報が通信ノード1個体分しか確保されていない場合等においては、そのままでは本発明の通信システムに採用することができない。
このような場合に2以上の通信ノードからの更新要求を受け付けるように宛先発見サーバ30を改変することは、本発明に適用させるために新たな宛先発見サーバ30を発明するものであり、本発明の実施に当る。
【0021】
第二通信ノード20とは、通信の開始を欲する発意者の用いる通信ノードを指す。発信元通信ノードである。
第二通信ノード20がする宛先発見過程とは、宛先発見サーバ30が前記マッピングを公示し第二通信ノード20が直接参照する場合、網が代理的に宛先発見サーバ30を参照する場合、宛先発見サーバ30が(第二通信ノード20と第一通信ノード10との)接続を仲介する(IMPPサーバを表面的な宛先としながらも、その先に隠蔽された真の宛先がある場合等の)場合、網が接続までを代理仲介する(セルラー電話の場合やIPモビリティにおいてホームエージェントがインターセプトする場合を含む──この場合には発信元は転送されたことに気付かない場合がある)場合等を含む。これらのいずれを用いて宛先発見するかは、宛先発見サーバ30の種類に応じる。
なお宛先発見過程は、多段に展開されてもよい。またいずれの段階のマッピングであってもよい。
【0022】
第一通信ノード10とは、見掛の宛先(例えば通信の開始時点で発信者が通信相手として特定する静的な識別子)で以って、発見される通信ノードである。接続されることを発見に含めて考えてもよい。第二通信ノード20は、第一通信ノード10の住所等を知らないまま接続される場合であっても、両ノード間の接続が(仲介等によって)実現されたことを以って、結果的に発見されたことと等しいからである。すなわち第一通信ノード10とは発信元から見ての宛先である。
なお、第一通信ノード10亦は第二通信ノード20のいずれについても、通信ノードの種別を問わない。例えば通信ノードには、携帯電話機(SIMカードのみの場合を含む)、PC、PDA等だけでなく、カーナビ等の自動車搭載製品や自動車そのもの等の複合製品が含まれてもよい。また、属する網の種別および関係についても問わない。本明細書で単に通信ノードとした場合は、利用者の用いるものを指す。すなわちネットワーク・オペレータの運用する装置を含まない。一般にこれは、エッジノード亦はエンドポイントと呼ばれる。なお、第一通信ノード10がファイヤウォールの内側にある場合等には、ネットワーク境界からポートフォワーディング等によって、到達し、接続される場合も含む。
第一通信ノード10の受信者がする発意とは、宛先として発見させたい通信ノードの内、いずれを第二通信ノード20に発見させるのかの決定(発見させる通信ノードの選択)をすることである。この発意は、明示の発意の場合だけでなく自動化等による明示でない発意であっても良い。明示の発意の場合には、通信ノードを網上に存在させなくすることや宛先として発見させなくすることが含まれる。
【0023】
第一通信ノード10の背後には、宛先として現に発見されてはいないが将来発見され得る通信ノードがある。(図01中の11,12,1N)
このような通信ノードは一般に発信しか出来ない普通の通信ノード、すなわち公衆電話やブラウジング端末と同様で着信することが出来ない通信ノードである。これは「背景技術」に説明した「インターネット商用化後の一般受信者の用いる端末」と同じである。
【0024】
一方、第二通信ノード20から見れば、第一通信ノード10は単一の通信ノードである。第二通信ノード20は第一通信ノード10の背後にある通信ノードについて知ることが出来ない。そして第二通信ノード20は、普通は第一通信ノード10を個体識別しない。すなわち第一通信ノード10がその背後にある通信ノードと入れ替わったことを、第二通信ノード20は一般的に言って知る事が出来ない。第二通信ノード20にとって第一通信ノード10は、単に発見された通信ノードである。このため第二通信ノード20の所有者が第一通信ノード10との通信の結果、意図しない応答を受けることがある。例えばウェブページが表示されることを期待していたにも係らず、表示されない等である。しかしこれは許容される。なぜならば第一通信ノード10の受信者が宛先として発見させる予定の通信ノードの多くにウェブサーバが備わっていたとしても、群の中にウェブサーバを備えない通信ノードが含まれていた場合にこうなるに過ぎないからである。
【0025】
ここで第一通信ノード10を構成する通信ノード群の内、現に発見された通信ノードのみがあって、現に発見されていない通信ノードが存在しない場合に、仮に第一通信ノード10の住所が変化した場合を考える。この時第一通信ノード10が宛先発見過程の制御をしない内は、第二通信ノード20がする宛先発見は失敗する。すなわち誤った宛先に到達する。しかしそれにも係らず第一通信ノード10は通信ノードとして存在している。このことから宛先として発見されることと、第一通信ノード10亦はその背後にある通信ノードが存在することとは、別の話である。
【0026】
第一通信ノード10は、同一の受信者が用いる実ノード(例えばPC11、PC12、自動車13等)の中から、宛先として発見される役割を担うものである。
そこで本明細書では以下のように扱うこととする。
第一通信ノード10は、現に発見された通信ノードを指す(ただし誤認された通信ノードが発見される場合や、発見された通信ノードが存在しない場合がある。このような場合には、発見された通信ノードが第一通信ノード10として正しいか正しくないかという観点から考える)。
第一通信ノード10の背後には、0以上の現に発見されていない通信ノードがある。
現に発見された通信ノードと、現に発見されていない通信ノードとを区別なく包含する概念であって、かつ単一の通信ノードとしてみる場合に、第一通信ノード10たり得る通信ノードとする。第一通信ノード10たり得る通信ノードは、地理的にも住所的にも分散していて差支えない。
群は、第一通信ノード10たり得る通信ノードの集合である。ここでいう群とは、論理学でいう所の種すなわち共通の特徴によってまとめられ名前が付けられる集まりを指す。ただしその集合を構成する個体の数は1以上であってよい。よって群は1以上の通信ノードによって構成される。
以下では、第一通信ノード10たり得る通信ノードについて説明する。
【0027】
(実施例1)
宛先発見過程の制御における標準の状態とは、単一の第一通信ノード10が、宛先発見過程を制御するものである。これは従来の例でもある。
ここで宛先発見過程の制御とは、宛先発見サーバ30において記憶されるマッピング(例えば見掛の宛先と関連付けられる実際の宛先)を最新かつ正しい情報に保つことによって、誤った宛先を発見させないようにすることをいう。具体的には後述する更新をすることである。
【0028】
ここで、群が複数の通信ノードからなる場合を考えてみる。
群が複数の通信ノードからなる場合には、競合が発生する。
そこで、受信者の発意を網に反映するために、各通信ノードが協調するための自律的な動作を以下に説明する。
【0029】
図02は、図01に示す第一通信ノード10たり得る通信ノードの内部構成を示すブロック図である。図02には、作業用の一時記憶を含む記憶装置110と、外部環境検知部130と、切替部150と、更新部170と、網40に接続するための物理的な通信インタフェース190とを示している。
【0030】
記憶装置110は、静的な識別子記憶部111と作業領域119とを含む。
静的な識別子記憶部111は、第二通信ノード20が第一通信ノード10を発見する際に用いる見掛の宛先の例として静的な識別子を記憶するものである。
作業領域119は、作業用の一時記憶である。なお作業領域119については、以降ではいちいち言及しないこととする。
【0031】
外部環境検知部130は、センサーとしての役割を担い、受容器に当る。
すなわち外部環境検知部130は、自ノードを取り巻く外部環境であるところの網の状態を検知するものである。
【0032】
(検知の内容)
外部環境検知部130は、静的な識別子記憶部111に記憶された内容を用いて、網の中での自ノードの位置を検知する。(住所および位置という語は、特に断りのない場合には網上の住所や位置を示す。)これは、網そのものが変動する以上、自ノードの位置もまた(網の変動に連れて)他動的に変動するからである。
なお自ノードが第一通信ノード10であるか否かを決定付けるのは、宛先発見サーバ30が記憶している、ある見掛の宛先に関連付けられた実際の宛先(亦は中間的な情報)として何をマッピングとして保持しているかによる。
個別の通信ノードが網全体から見て構成要素の一であるとしても、個別の通信ノードにとって網それ自体は外部環境である。
【0033】
以下に、検知すべき外部環境の3つの類型を示す。
(イ)自ノードが第一通信ノード10であるか亦は、
(ロ)自ノードの外が第一通信ノード10であるか亦は、
(ハ)第一通信ノード10が存在しないことである。
【0034】
(アクション)
更新部170は、アクションするものとしての役割を担い、効果器に当る。
アクションの内容は、外部環境への働き掛けをすることである。外部環境への働き掛けをするとは、具体的には宛先発見過程を制御するということである。
更に具体的には宛先発見過程の制御とは、直接亦は間接に宛先発見サーバ30を更新することによって、第一通信ノード10たり得る通信ノードの内からいずれの通信ノードを第一通信ノード10として第二通信ノード20に発見させるかを制御することである。
【0035】
更新する(登録するともいう。亦はrefresh, logon等とも呼ばれる)とは、第一通信ノード10が宛先発見サーバ30に対してマッピング(バインディング等ともいう)される値の組を書き換えるように指示する命令(更新命令)を送信することをいう。この命令は間接的である場合がある。一般に更新には認証を要する。更新には、「位置登録」を含む。広義には第一通信ノード10が宛先発見サーバ30に対して、単にマッピングペアを維持するための命令(例えばキープアライブ)等を送信することを含む。(間接的な更新の例を2つ挙げる。例えばIP Mobilityではモバイルノードがフォーリンエージェントを更新し、フォーリンエージェントがホームエージェントを更新する場合等がある。ホームエージェントが宛先発見サーバ30に当る。例えばセルラー電話において、通信ノードは位置登録エリアをまたがって移動した場合に在圏局に対して位置登録をすると、網がHLRを更新する場合等がある。セルラー電話でいう所の位置は、物理的な位置であると同時に網におけるルーティング上の位置でもある。当然に間接的な更新も更新に含む)
更新の手段は宛先発見サーバ30の種類に応じる。
【0036】
第一通信ノード10たり得る通信ノードが2以上ある場合には、現に発見されない通信ノードが存在する。この時、現に発見されない通信ノードが更新をすることによって、宛先として発見される通信ノードを自ノード(すなわち更新する以前までは現に発見されなかった通信ノード)に振向けることが出来る。
【0037】
(協調の内容)
図01中の第一通信ノード10を含む丸で囲まれた範囲が群である。群の中のいずれの通信ノードが宛先発見過程の制御権を得るかについて協調する。
【0038】
協調の結果、第一通信ノード10たり得る各通信ノードが全体として競合することなく、一丸となって正しい宛先発見過程を第二通信ノード20に提供する。
【0039】
基本的な思想は、第一通信ノード10たり得る各通信ノードが自律的に動作することによって、前記協調を実現することである。
協調が通信ノード間で行われることに対して、自律は通信ノードの内部で行われる。自律は協調のための実装である。
【0040】
(自律の内容)
自律とは、正しい状態を維持するように働き掛ける機能すなわち恒常性である。
ここで正しい状態とは、自ノード単独に取っての正しい状態などありえず(仮にそのような状態があっても、ここでは問題にしない)、受信者のする発意(すなわちどの通信ノードを宛先として発見させるかの決定)の反映された状態のことを指す。
恒常性を実現するものとは、フィードバックである。
本発明では、系は2系ある。
第一の系は、第二通信ノード20と、宛先発見サーバ30と、第一通信ノード10とからなる。
第二の系は、宛先発見サーバ30と、単数亦は複数の第一通信ノード10たり得る通信ノード(すなわち、少なくとも現に発見される通信ノードと、ある場合とない場合があるのだが現に発見されない通信ノード)とからなる。すなわち第二の系は、群に対して宛先発見サーバ30を追加したものからなる。
第一の系と第二の系との最大の違いは、受益者が違うことである。
第一の系は、通信の開始を発意する者のための系である。これは従来モデルである。
第二の系は、本発明によって提案されたものであり、受信者の発意の反映のための系である。更に第二の系は、フィードバックループを構成する。
フィードバックには2つあり、1つは外部環境へ働き掛けた結果としての協調であり、これがフィードバックループである。そして、もう1つが自律である。
すなわち外部環境検知の結果を、自ノードの振舞に反映させるというフィードバックを有することが自律である。
自律は刺激(受容ともいう)と反応モデルによる。
外部環境検知部130がする外部環境の検知を刺激として、更新部170が外部環境への働き掛けという反応をする。この際切替部150が、検知内容を判断して、更新部170をして反応させるか否かを決定する。
【0041】
切替部150は、外部環境検知部の検知結果に基づき判断分岐する。
切替部150は分岐の結果、更新部170のオン/オフを切替える。
切替の概念は、更新部170に対する起動、接続、引渡し、呼出し等の表現が出来る動作を選択的に行なうものと考えて差支えない。
このことから切替部150も亦、更新部170と同様に制御するものである。更新部170と切替部150との違いは、更新部170が外部環境へ働き掛ける(すなわち宛先発見過程を制御する)ものであるのに対して、切替部150は自ノードの動作を制御するものである。
すなわち切替部150が、自律を実現する。
【0042】
(制御権)
制御権は、競合関係を調整するために用いる論理的な概念である。
制御権とは、第一通信ノード10たり得る通信ノードのうち、いずれの通信ノードが網(すなわち通信ノードから見ての外部環境)に働き掛ける権利を有するかをいう。
すなわち各通信ノードが自ノードに制御権があるか否かについて判断する。
【0043】
具体例を表1に示す。
(表1)

【0044】
表1中の註1について、
自ノードが宛先発見過程を制御することを妨げる要素が存在しないので、結果として自ノードが自発的に制御する。
【0045】
註2について、
「更新する」と「維持する」とはここでは同じ意味だと考えてよい。「第一通信ノード10が自ノードである」場合に、更に更新しても第二通信ノード20から見れば、何も変わっていないからである。詳しくは後述する。
【0046】
註3について、
自ノードの制御として、更新しないという制御をする。すなわち外部環境への働き掛けをしないか手放した状態にする。
従来は単一の通信ノードが前提されていたために必ず更新していたが、ここではあえて更新しないことに意味がある。
【0047】
このようにして、切替部150は、自ノードが宛先発見過程に対する制御権を有するか否かを判断し、制御権を有する場合には「更新する」という従来からある自ノードの制御をし、制御権を有しない場合には「更新しない」という本発明によって初めて提案された自ノードの制御をするものである。
自ノードの制御は自律に属し、宛先発見過程の制御は協調に属する。宛先発見過程の制御は、目的そのものでもある。
【0048】
よって、切替部150が判断すべき内容は、自ノードの外に第一通信ノード10があるかないかである。
例えば、自ノードの外に第一通信ノード10がある場合には、自ノードに制御権がない。そのため、自ノードは更新しない。
この時、制御権を有する通信ノードは、現に発見される通信ノードであるところの第一通信ノード10(自ノードではない)である。
このように、各通信ノードは自律的に振舞うことによって、群として協調する。
【0049】
(フローチャート)
図03に、第一通信ノード10たり得る通信ノードのフローチャートを示す。
ステップS202では、外部環境検知部130が各第一通信ノード10たり得る通信ノードから見ての外部環境を検知する。
ステップS204では、ステップS202の検知結果に基づいて切替するかどうかを判断分岐している。すなわち切替部150は自ノードに宛先発見過程に対する制御権があるかないかを判断する。
トリガとなるステップS202の検知結果は、既に説明したように「自ノードの外に第一通信ノード10が存在する」かどうかである。
【0050】
図03のフローチャートは、第一通信ノード10たり得る通信ノードの内、現に発見される通信ノードであっても、現に発見されていない通信ノードであっても、同様に実施するものである。例えば、ある時点において第一通信ノード10(すなわち現に発見されている通信ノード)がPC12によってなる場合に、PC11が外部環境を検知する場合には、自ノードがPC11なのだから既に「自ノードの外に第一通信ノード10が存在する」ことが検知される。逆にPC12が実施する場合にはPC12が第一通信ノード10そのものなのだから、第一通信ノード10は自ノードであることが検知される。
【0051】
例えば手動でも宛先発見サーバ30が提供する宛先発見過程を制御することが出来る。手動でする宛先発見過程の制御は、受信者がする発意の反映のための明示的な手段の一つである。
ここで自動でする宛先発見過程の制御とは、住所の変化を追跡して直接亦は間接に宛先発見サーバ30を更新することをいう(以下、「自動更新」とする)。
単に一定の時間間隔で更新する場合は、待ち時間の間に住所が変化していても、次の更新の時に住所の変化を反映することになるから、住所の変化を追跡することに含まれる。
手動でする宛先発見過程の制御とは、受信者の発意に基づいて宛先発見過程を制御することをいう(以下、「手動更新」とする)。
受信者の発意に基づいてするのが手動更新なのだから、従来の自動更新プログラムを開始した場合の最初の更新は、手動更新に含まれる。よって通信ノードの起動時に自動更新プログラムが開始されるように設定された通信ノードの場合には、起動に発意がある以上、この場合にも最初の1回目の更新は手動更新に当る。
【0052】
ところで、手動で更新すればよいというものではない。群の中に一つでも従来からあるような、住所の変化を追跡して宛先発見過程を制御する通信ノード(以下、「自動更新ノード」という)が存在すれば、手動でした宛先発見過程の制御は、自動更新ノードによって上書きされてしまう。自動更新ノードが複数ある場合は、互いが上書きしてしまう。すなわち従来型の自動更新では、協調できないことに問題がある。そこで各第一通信ノード10たり得る通信ノードには、以下のように自律させればよい。
【0053】
ステップS204では、外部環境検知部130がした外部環境の検知結果に基づき、切替部150が判断分岐する。
「自ノードの外に第一通信ノード10(すなわち現に発見された通信ノード)が存在する」ことが検知された場合には、ステップS210に分岐する。そうでなかった場合には、ステップS206に進む。
【0054】
ステップS206では、切替部150が更新部170をオンにする。
【0055】
ステップS208では、更新部170が、宛先発見サーバ30を直接亦は間接に更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。自ノードが第一通信ノード10の場合には、更新することによって、第二通信ノード20から見ての発見する宛先が自ノードであることを維持する。第一通信ノード10が存在しない場合には、更新することによって、自ノードに宛先を振向ける。
【0056】
ステップS210では、切替部150が更新部170をオフにする。
【0057】
ステップS212は、更新しないことを明示に表す論理的なステップである。すなわち外部環境に対しての働き掛けをしない場合である。(例えば自ノードの住所が変化した時)従来であれば必ずやってしまっていた更新を、あえてやらないことに特徴がある。この場合は、自ノードの外に存在する第一通信ノード10が宛先発見過程を制御すべきである。自ノードの外に第一通信ノード10が存在することを検知することが重要な理由は、ここにある。ここで現に発見されていない通信ノードが更新してしまうと、受信者の発意は網に反映されない。すなわち自動更新ノードは宛先発見過程の制御権を第一通信ノード10から奪うことになり、ひいては第二通信ノード20が発見する宛先を混乱させることになる。
【0058】
ところで、第一通信ノード10のみがある場合すなわち第一通信ノード10たり得る通信ノードが全部で一つしかなかった時代の自動更新ノードは、ステップS202でする外部環境の検知も、ステップS204でする分岐も要せず、むやみにステップS208を実施すればよかったものである。
しかし第一通信ノード10たり得る通信ノードが複数ある場合には、従来通りむやみに各通信ノードがステップS208を実施した場合、競合が発生する。
本発明ではステップS208でする「更新」は常にするのではなく、検知した外部環境(ステップS202)に応じて、選択的に切替えて(ステップS204、S206、S210)、外部環境に働き掛ける(ステップS208亦はステップS212)ことに特徴がある。
【0059】
宛先発見サーバ30が、ある見掛の宛先に対応する実際の宛先(亦は中間的な情報)を、複数記憶する場合がある。
(優先度への対応)
宛先発見サーバ30では前記各マッピングに対して優先度情報が更に関連付けられている場合がある。
この時、最大優先順位より低い順位の優先度を有するマッピングに対してする更新のことを、予備的な更新という。なぜ予備的な更新というかというと、最大優先順位のマッピングに対応する実際の宛先が正しく通信できるならば、次順位以降のマッピングが無視されるのは普通だからである。よって、ステップS212で更新しない場合には、予備的な更新をすることを含んでもよい。
【0060】
(サービス識別子への対応)
また、優先度情報の替りに(亦は、優先度情報と供に)、宛先発見に後続する本番の通信で使用されるアプリケーション(サービス等ともいう)の種別が各マッピングに関連付けられて、宛先発見サーバ30で記憶される場合もある。このような場合には、アプリケーション単位で更新されてもよい。
【0061】
(外部環境の検知手段)
自ノードの外に第一通信ノード10が存在するか否かを検知するためには、第一通信ノード10たり得る各通信ノードが第二通信ノード20と同じ立場に立って通常の宛先発見の過程をたどればよい。すなわち第一の系と第二の系との共通点は、宛先発見の仕方が同じことである。
【0062】
宛先発見サーバ30の種類に応じた宛先発見、外部環境の検知、更新を含めて、第一通信ノード10たり得る通信ノードは実装されるべきである。
プレゼンスを提供するものが存在する場合は、第二通信ノード20と同様に第一通信ノード10たり得る通信ノードは、それを信じてもよい。そうでない場合は、接続を試みる。
実施例2では、住所を知ることができる場合に到達性確認を用いた場合の具体例を示す。
【0063】
(実施例2)
図04は、図01に示す第一通信ノード10たり得る通信ノードの内部構成を示すブロック図である。図04には、作業用の一時記憶を含む記憶装置110と、外部環境検知部130と、切替部150と、更新部170と、網40に接続するための物理的な通信インタフェース190とを示している。
【0064】
記憶装置110は、静的な識別子記憶部111と第一通信ノード10の住所記憶部112と割当現住所記憶部113と作業領域119とを含む。
静的な識別子記憶部111は、第二通信ノード20が第一通信ノード10を発見する際に用いる見掛の宛先の例として静的な識別子を記憶するものである。
第一通信ノード10の住所記憶部112は、宛先発見サーバ30に問合せた結果知ることができた第一通信ノード10の住所を記憶するものである。すなわち、宛先発見サーバ30が示す第一通信ノード10の住所を記憶するものである。
割当現住所記憶部113は、自ノード(亦は外部網に接する網境界)に割当てられてなる住所を記憶するものである。
作業領域119は、作業用の一時記憶である。
【0065】
外部環境検知部130は、宛先発見サーバ30に記憶されている第一通信ノード10の住所を取得する住所取得部131と、住所取得部131によって取得された住所と自ノードに割当てられている住所とが一致するか否かを判定する判定部132と、住所取得部131によって取得された住所宛にサイン信号を生成して送信するか亦はサイン信号を受信するサイン信号処理部133と、カウンターサイン信号を受信するか亦は他の通信ノードから送信されてきたサイン信号を受信したときにカウンターサイン信号を生成して返信するカウンターサイン信号処理部134と、返信されてきたカウンターサイン信号が所望の通信ノードに前記サイン信号が到達したことに起因したものか否かを判断する到達性確認部135とを備える。
【0066】
切替部150は、外部環境検知部130の検知結果に基づき判断分岐する。
切替部150は分岐の結果、更新部170のオン/オフを切替える。
【0067】
更新部170は、直接亦は間接に宛先発見サーバ30を更新する。
【0068】
図05は、図04に示す第一通信ノード10たり得る通信ノードの動作の概要を示すフローチャートである。
【0069】
ステップS402には、
第一通信ノード10たり得る通信ノードが、宛先発見サーバ30亦は網へ問合せるか、亦は宛先発見サーバ30亦は網に対して第一通信ノード10への接続を要求するステップと、
宛先発見サーバ30亦は網の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続を試みるステップとを、含んでもよい。実施例2は住所を知ることができる場合なので以下のようになる。
【0070】
ステップS402は住所取得部131が宛先発見サーバ30に問合せてその結果から受信者が宛先として発見させる際に用いる見掛の宛先と関連付けられた実際の宛先である所のその時点での住所を取得するステップである。当然に物理レイヤの種別は問わない。なお取得した住所は、第一通信ノード10の住所記憶部112に記憶しておく。
【0071】
ステップS404は、第一通信ノード10の住所記憶部112に記憶する宛先発見サーバ30が示す第一通信ノード10の住所が、割当現住所記憶部113に記憶する自ノード(亦は外部網に接する網境界)に割当てられてなる現在住所と一致するか否かを判定部132が判断するステップである。ここで一致すれば、自ノードはすなわち第一通信ノード10である。この場合はステップS420に分岐する。一致しなければ、ステップS406に進む。
【0072】
ステップS406では、第一通信ノード10の住所記憶部112に記憶した住所を読出し、該住所宛にサイン信号処理部133がサイン信号を送信する。
【0073】
ステップS408では、前記送信したサイン信号に対するカウンターサイン信号をカウンターサイン信号処理部134が受信する。なおカウンターサイン信号は応答されない場合がある。
【0074】
ステップS410では、前記受信したカウンターサイン信号から(亦はカウンターサイン信号を受信しないことによって)、到達性確認部135が到達性の真偽を判断するものである。なお、第一通信ノード10はサイン信号受信時にはサイン信号処理部133で受信し、カウンターサイン信号処理部134がカウンターサイン信号を応答するようにするとよい。ここで到達性確認の結果が真の場合にはステップS416に分岐し、偽の場合にはステップS412に進む。(到達性確認については、WO2004/059925を参照されたい)
【0075】
ステップS412では、切替部150が更新部170をオンにする。
【0076】
ステップS414では、更新部170が、宛先発見サーバ30を更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。この場合は「第一通信ノード10が存在しない」場合なので、更新することによって、自ノードに宛先を振向ける。
【0077】
ステップS416では、切替部150が更新部170をオフにする。
【0078】
ステップS418は、更新しないことを明示に表す論理的なステップである。すなわち「自ノードの外に第一通信ノード10が存在する」場合なので、外部環境に対しての働き掛けをしない場合である。従来であれば必ずやってしまっていた宛先発見過程の制御を、あえてやらないことに特徴がある。
【0079】
ステップS402乃至はステップS404は、「宛先発見サーバ30の示す住所と自ノードの住所が一致」するか否かを判断するものである。
ステップS406乃至はステップS410は、既に第一通信ノード10が存在しているかどうかを判断するものである。
本実施例では第一通信ノードが存在するか否かについて検知する手段として到達性確認を用いたが、同様のことはプレゼンス検知、認証、個体識別等でも実現可能である。これらはよく知られている技術なので、以下にあっさり触れる程度に留める。
プレゼンスを宛先発見サーバ30(亦はプレゼンスサーバ)が提供する場合には、プレゼンス検知を用いてもよい。プレゼンスを検知する際に、宛先発見過程への仮の参加等をしてもよい。プレゼンス検知によって、第一通信ノード10が存在しているかどうかが判っても、それが自ノードであるかどうかが判らない場合には、宛先発見過程への仮の参加は有用である。なおプレゼンスについて従来と異なる点は、第一通信ノード10についての詳細な状態情報は不要で、オンライン/オフラインのみの検知で足る。
亦は実際の接続を試みる場合にあっては、既に説明した到達性確認の外に、認証によってもよい。これは宛先発見過程の制御をする際に用いる認証と同一のものであることを妨げない。もちろん異なる認証過程であっても良い。
亦は、受信者が宛先として発見させたい通信ノードを個体識別する情報を第一通信ノード10たり得る通信ノードにあらかじめ登録しておき、その登録の一致で以って判断してもよい。これらによって住所を知らないまま接続を試みる場合であっても、外部環境を検知できる。
【0080】
以上説明したステップS402乃至はステップS410のステップから、外部環境を検知している。これを刺激とする。
ステップS412乃至はステップS420は、検知した刺激に対する反応を示す。
ステップS412乃至はステップS414では、更新部170が更新することによって、外部環境に対して働き掛けている。
ステップS416乃至はステップS418では、更新しないことによって、外部環境に対する負の働き掛け(つまり外部環境に対して働き掛けをしない)である。
【0081】
ステップS420では、単に現状の宛先発見を維持する。
【0082】
(維持する)
実施例1では、「更新する」と「維持する」とは同じものとして扱ったが、ここでは別けて考える。
以下に表1中の註2部分を更に詳しく説明した表を示す。

(表2)


表2から、自ノードが第一通信ノード10であって、かつ自ノードの住所も亦変化していない場合にする反応が、「維持する」である。
「維持する」とは、「原則、何もしない。必要であればキープアライブを送信する」と読み替えてもよい。
【0083】
表2中の註4について、図06を用いて説明する。
図06は、維持する場合を示すフローチャートである。ステップS420の内部動作である。
ステップS602は、宛先発見サーバ30がキープアライブを要するタイプであるか否かを判断している。キープアライブを要する場合にはステップS608に分岐する。要しない場合にはステップS604に進む。
ステップS604では、切替部150は、更新部170をオフ亦はオンする。
ステップS606では、ステップS604に従って原則、何もしない(つまり更新しない)か亦は更新してもよい。すなわちキープアライブを要しない場合には、更新してもしなくても、どちらも同じなのである。第二通信ノード20が発見する通信ノードが自ノードであってかつ、住所も変化していない場合には、更に更新した所で宛先発見過程は何も変化しないからである。
ステップS608では、便宜的に切替部150が更新部170をオンにする。
ステップS610では、更新部170は宛先発見サーバ30に対してキープアライブ信号を送信する。
ここで便宜的にとした理由は、キープアライブと更新とは従来の技術では区別されていない場合が多く、実質的に同じ動作だからである。そこで本説明でもキープアライブ送信部を設けず、更新部170で代用することにした。なおキープアライブ送信部を設けてもよいことは言うまでもない。
【0084】
通常、宛先発見サーバ30がキープアライブを要するサーバなのか要しないサーバなのかは、宛先発見する以前に判っている。図06は、宛先発見サーバ30がキープアライブを要する場合とそうでない場合とを比較して説明するためだけに明示したものである。実装の際には、ステップS602で分岐するのではなく、宛先発見サーバ30の種別に応じて実装される方がよい(どうせ更新の具体的な手段が違うから)。
【0085】
以上によって、「維持する」場合を説明した。
「維持する」と「更新する」とは、明確に区別されていないことについても説明した。しかし本来的には、宛先発見過程を現状のままに維持することではなく、見掛の宛先に関連付けられる実際の宛先の明示の変更のみを更新としたいところである。例えば第二通信ノード20が発見する第一通信ノード10は変化していないが、第一通信ノード10の住所が変化した場合には、宛先発見過程は(少なくとも)一旦は見失われる。このような場合に宛先発見過程を受信者が意図する第一通信ノード10に取戻す場合等である。以下では、「維持する」場合を含まない「更新する」場合について説明する。
【0086】
(住所変化)
表2中の註5の場合である。すなわち、自ノードが第一通信ノード10であって、更に自ノードの住所が変化した場合を指す。これは従来の更新に相当する場合である。
従来のように第一通信ノード10が単一の場合には、自ノードの住所変化の際にはむやみに更新すれば良かったものである。
第一通信ノード10であるところの自ノードの住所が変化した時、一時的に宛先発見は見失われる。
よって、(ハ)第一通信ノード10が存在しない場合を検知すればよい。
【0087】
図07に、第一通信ノード10が自ノードの住所の変化をトリガにどのように動作するかを示す。図07でPC11が受信者の意図した第一通信ノード10であり、旧PC11が宛先発見サーバ30が記憶する実際の宛先であるところの第一通信ノード10である。
ステップS802では、PC11は宛先発見サーバ30に見掛の宛先で以って問合せる。
ステップS804では、宛先発見サーバ30の応答から、その時点での第一通信ノード10の住所を得る。しかし自ノードが第一通信ノード10であって、更に自ノードの住所が変化した訳だから、当然に宛先発見サーバ30は住所変化前まで自ノードに割当てられていた住所をステップS804では返すことになる。図05のステップS404において、自ノードが第一通信ノード10でないことが検知される場合に相当する。
ステップS806では、ステップS804で得た住所(すなわち旧住所)宛に通信を試みる。
ステップS808では、当然に返事はない。なおこの時、第二通信ノード20から見ても、第一通信ノード10を見失っている。(旧住所はそれまで自ノードが使用していた住所であり、かつ自ノードが住所変化した訳だから、その住所を使用している通信ノードは原則的に存在しないことになる)
ステップS810では、ステップS808で返事がなかったことから、第一通信ノード10が存在しないことが判る。すなわち当該住所を使用している通信ノードが存在しないことが検知される。亦は無関係な通信ノードが該住所を使用している場合をも検知するために既に説明した到達性確認等を用いてもよい。
ステップS812では、切替部150は更新部170をオンにし、更新部170は住所変化を反映した更新をする(図05のステップS414)。これによって自ノードが第一通信ノード10であり続ける。
【0088】
実施例2では、外部環境検知の具体例、維持する場合、住所変化について説明した。
以上から本発明の本質は、従来自動更新の際にはむやみに更新命令を送信していたものを、外部環境の検知を刺激として、外部環境に応じて更新する場合と更新しない場合とを作ったことにある。
すなわち外部環境検知手段が検知した外部環境に応じて、宛先発見過程を制御する通信ノードであることに特徴を有する。
【0089】
(変形例)
既にした説明から、宛先発見サーバ30がキープアライブを要しない場合には、第一通信ノード10の住所が変化しない場合には更新しなくてもよい。やってもやらなくてもよいのなら、やらないほうが望ましい。
ただし、キープアライブを要するにも係らず、エキスパイアしない宛先発見サーバ30はあってもよい。この場合はキープアライブを要しない場合と同様と考える。
【0090】
これを実施例2の場合に反映すると、自ノードが第一通信ノード10であってかつ住所変化していない場合(図06のS606)と、自ノードの外に第一通信ノード10がある場合(図05のS418)とは、供に更新しないことになるから、単に第一通信ノード10の存在が検知された場合には更新しないことになる。よってキープアライブを要しない場合には、自ノードが第一通信ノード10であることは知る必要がなく、単に第一通信ノード10が存在していることさえ検知できればよい(すなわち(イ)と(ロ)とを区別する必要がない)。キープアライブを要しない場合には、表1中の註2部分を「維持する」から「更新しない」と置き換えられたい。
なお変形例において、ブロック図は図02と同様である。
【0091】
図08に、宛先発見サーバ30がキープアライブを要しない場合に適用できる実施例1を変形したフローチャートを示す。
ステップS202では、外部環境検知部130が各第一通信ノード10たり得る通信ノードから見ての外部環境を検知する。
【0092】
ステップS204─2では、ステップS202で外部環境検知部130がした外部環境の検知結果に基づき、切替部150が判断分岐する。すなわち切替部150は自ノードに宛先発見過程の制御権があるかないかを判断する。
ステップS204─2で「第一通信ノード10が存在する」ことが検知された場合には、ステップS210に分岐する。そうでなかった場合には、ステップS206に進む。
【0093】
ステップS206では、切替部150が更新部170をオンにする。
【0094】
ステップS208では、更新部170が、宛先発見サーバ30を直接亦は間接に更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。第一通信ノード10が存在しない場合には、更新することによって、自ノードに宛先を振向けるのは実施例1と同じである。実施例1とは異なって、自ノードが第一通信ノード10の場合は、S204−2で除外されている。すなわち維持する場合はない。
【0095】
ステップS210では、切替部150が更新部170をオフにする。
【0096】
ステップS212は、更新しないことを明示に表す論理的なステップである。
【0097】
実施例1は、キープアライブを要する場合と要しない場合とを問わずに適用できる。
変形例は、キープアライブを要しない場合に適用できる。
【0098】
(全体シーケンス)
図09に、第一通信ノード10たり得る通信ノードであるところのPC11と自動車13と、宛先発見サーバ30との間の動作を示すタイムチャートを示す。
各通信ノードの動作については実施例2を参照されたい。
【0099】
タイムチャートの開始時点において、宛先発見サーバ30に記憶されている第一通信ノード10の住所は、自動車13の住所とする(ステップS1)。
【0100】
所定のタイミングで、PC11は、宛先発見サーバ30に対して、図05のステップS402で説明した手順で、住所取得処理を行う(ステップS2、S3)。
【0101】
宛先発見サーバ30に記憶されている第一通信ノード10の住所は、自動車13の住所であるので、PC11は、自動車13の住所を取得することになる。この場合、PC11は、取得した住所と自ノードの現在の住所とが一致していないと判定し(図05のステップS404)、取得した住所宛、つまり自動車13宛にサイン信号を送信することにより、到達性確認を行う(ステップS4、S5、図05のステップS406乃至はS410)。
【0102】
この際、自動車13が正常に稼動していない等の障害が発生していない限り、所望の到達性確認結果が得られるであろう。このため自ノードの外に第一通信ノード10があることが判り、PC11は宛先発見サーバ30に対して、更新は行わない(ステップS6、図05のステップS416乃至はS418)。
【0103】
その後、同様に、自動車13側でも、住所取得処理が行われる(ステップS7、S8)。ただし、この場合、自動車13は、取得した住所と自ノードの現在の住所とが一致していると判定するので(図05のステップS404)、その時点での宛先発見を維持する(ステップS9、図05のステップS420)。亦はこのタイミングで、図示しないキープアライブ信号を送信(図06のステップS610)してもよい。
【0104】
その後、引き続き、ステップS2〜S6と同様の処理が繰り返される(ステップS10〜S14)。
【0105】
その後、自動車13に割当てられている住所が変化するというイベントが発生したとする(ステップS15)。
【0106】
しかし、宛先発見サーバ30には、自動車13の過去の住所が記憶されたままである。この状態では、自動車13が住所取得処理を行っても(ステップS16、S17)、自動車13は、自ノードの過去の住所を取得することなり、ひいては、自ノードの過去の住所と現在の住所とを比較することになる。この結果、両住所は一致していないと判定される(図05のステップS404)。したがって、自動車13は、自ノードの過去の住所宛に到達性確認を行う(ステップS18、S19、図05のステップS406乃至はS410)。自動車13は過去の住所を既に使用してないため、所望の到達性確認の結果は得られない。そこで自動車13は、宛先発見サーバ30に対する更新を行う(ステップS20、S21、図05のステップS412乃至はS414)。
【0107】
以上説明したように、本実施例によると、PC11、12及び自動車13を択一的に宛先として発見させながらヒトは通信ノードをホップして通信を行えるようになる。
【0108】
(システム)
以下に、通信システムの全体を示す。
通信の開始を欲する発意者の用いる第二通信ノード20と、
受信者が使用する第一通信ノード10と、
見掛の宛先と実際の宛先亦は中間的な情報とのマッピングを記憶する宛先発見サーバとが網40を介して接続されており、
第二通信ノード20が第一通信ノード10との通信を欲した時に、
第二通信ノード20が宛先発見サーバ30あるいは網40へ見掛の宛先を問合せるか、亦は宛先発見サーバ30あるいは網40に対して接続を要求し、
宛先発見サーバ30あるいは網40の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続を試みる場合であって、
宛先は1以上の第一通信ノード10たり得る通信ノードからなる群を構成している場合に、
1の第一通信ノード10たり得る通信ノードが宛先発見サーバ30に対して、自ノードを見掛の宛先に対応付けられる実際の宛先として更新し、
第一通信ノード10たり得る通信ノードが2以上の場合には、前記した通信ノードの外の通信ノードは、見掛の宛先に対応した実際の宛先を更新しない
ことによって、受信者が指定する通信ノードを宛先として第二通信ノード20に発見させるシステム。
【0109】
(応用例)
本発明を自動化した場合のフローチャートを図10に示す。
図10(1)は、従来の自動更新プログラムの開始と対比されるべきである。
以下に説明するのは新しい自動更新の例である。新しい自動更新は更新の試みを継続することによってなる。起動は、通信ノードの起動であっても、更新の試みの開始であってもよい。
実施例1の全体(すなわちステップS200)は、検知した外部環境に応じて更新部170のオン/オフを切替えるので、従来の自動更新とは異なって、結果として更新することになるか否かは事前には不明である。この特徴から、実施例1の全体を「更新の試み」ということとする。なお実施例1の全体と、実施例2の全体(すなわちステップS400)亦は変形例の全体(すなわちステップS200−2)とを置き換えてもよい。
【0110】
ステップS906は、タイマによって、所定時間の経過が計時されるものである。所定時間待機した後に、更新の試みへとループする。その結果、全体として、更新の試みを継続することになる。これが新しい自動更新の例である。なお宛先発見サーバ30がキープアライブを要する場合には、前記所定時間は、宛先発見サーバ30のエキスパイア時間による制限を受ける。亦はステップS906に替えて図示しない従来からされていた自ノードの住所変化の検知をトリガに更新の試みを実施してもよい。
【0111】
従来の自動更新とは異なって、宛先として現に発見されてはいないが将来発見され得る通信ノードは自ノードでない第一通信ノード10が既にある場合、起動時に更新の試みをしても、宛先発見を現に発見される通信ノードから奪うことはない。
【0112】
このことによって、第一通信ノード10たり得る通信ノードが、単一の通信ノードのみによってなる場合(要するに群の構成要素が1の場合)であっても、いつでも第一通信ノード10の背後に通信ノードを追加することが出来る。
背後に追加された通信ノードは、第一通信ノード10たり得る通信ノードのままである。すなわち単に追加しただけでは、現に発見される通信ノードにはならない。
そして一旦第一通信ノード10(現に発見される通信ノード)になった後では、第一通信ノード10の立場が維持される。この時、現に発見されていない通信ノードが、第一通信ノード10が本来有する制御権を侵して宛先発見過程を制御することはない。そうであってこそ、受信者の発意は網に反映される。
すなわち第一通信ノード10たり得る通信ノードの内、受信者が欲した通信ノードを第二通信ノード20に発見させることが出来る。
【0113】
ところで通信ノードの起動時に自動更新を開始することは従来からされていたことである。従来は、通信ノードは外部環境とは無関係に必ず更新してしまっていた。つまり第一通信ノード10が存在している場合に後から追加した通信ノードは宛先として発見される立場を第一通信ノード10から奪ってしまうことになる。これを逆に利用して、受信者の発意の反映に用いることができる。すなわち図10(2)のようにする。
図10(2)では、更新の試みを実施する前に、従来の更新を実施する。すなわち起動時に強制更新する。
【0114】
このような動作を通信ノードにさせるためには、起動オプション等によって実現可能である。あらかじめ起動オプションを指定した起動設定(例えば通信ノードの電源オン時の動作の設定)を保存しておくことによって、起動時に強制的に更新し、すなわち宛先発見を自ノードに振り向け、その後更新の試みの実施に切り替えることができる。
【0115】
図10の(1)と(2)とを切替えて実施できるようにした場合のブロック図を図11に示す。
図11は、図01に示す第一通信ノード10たり得る通信ノードの内部構成を示すブロック図である。図11には、図02に示したブロック図に対して、動作制御部120が追加されている。亦、記憶装置110には、起動オプション記憶部114が追加されている。
起動オプション記憶部114は、起動時の動作を指示する値を記憶するものである。該値は外部から引き渡されたものを記憶してもよい。
動作制御部120は、初期動作決定部121と、タイマ129とを含む。
初期動作決定部121は、起動オプション記憶部114から起動オプションを読み取って、初期動作を決定するものである。
タイマ129は、動作タイミングを規制するものである。
【0116】
図12は、更新の試みを継続する場合の第一通信ノード10たり得る通信ノードの動作の概要を示すフローチャートである。
ステップS902では、初期動作決定部121が起動オプション記憶部114から起動オプションを読み出している。
ステップS904では、初期動作決定部121が起動オプションの内容を判断している。起動オプションの内容が、起動時に更新するであれば、ステップS206に分岐する。起動オプションの内容が、通常であるか亦はオプションがなければ、ステップS202に進む。
ステップS202に進んだ場合は、実施例1と同じなので省略する。以下、変更点のみ説明する。
ステップS206に分岐した場合も実施例1と同じなのだが、ここでステップS208ではなくステップS206に分岐する理由について補足しておく。従来の自動更新では更新部170のオン/オフの概念が存在しなかったので単にむやみに更新すればよかったのだが、本発明では更新部170のオン/オフを切り替えるので、オンにすることを明示するためである。
その後、所定時間待機(ステップS906)した後に、ステップS200の先頭すなわちステップS202にループすることは、図10の説明でした通りである。
【0117】
図10(2)のように起動時に強制更新する場合は、自動車等において有用である。
【産業上の利用可能性】
【0118】
(実際的応用)
図13は、本発明の実際的な応用を示す説明図である。第一通信ノード10の利用者が実ノードであるPC11、PC12、自動車13を第一通信ノード10として発見させながら、実際に渡り歩く例を説明する。
【0119】
PC11は自宅に設置され、PC12は会社に設置されているものとする。PC12の電源は、月曜日にオンし金曜日にオフするものとする。
ここではモジョ氏が朝、自宅から会社に向かうまでを例として挙げる。
【0120】
モジョ氏は朝食を取り朝の連絡事項をチェックした後で、PC11に終了命令を出しておいて、車で会社に向かう。
この時、PC11に終了命令を出すことは通信ノードを網から存在させなくするための明示の発意に当る。すなわちモジョ氏が朝自宅に居る間に、宛先として発見される通信ノードはPC11である。
【0121】
モジョ氏は自動車13に乗り込んだ後、当然にエンジンを掛ける。
エンジンを掛けることには発意がある。応用例に説明した、起動時の強制更新(図10(2)を指す)をするように自動車13が構成されていればよい。ここで自宅のPC11が終了処理の途中であり未だ第一通信ノード10のままであっても、該強制更新によって、通信ノードの起動とそれに基づく宛先発見を自ノード(この場合は自動車13)に振り向ける手動更新が自動的に為される。これ以後、宛先として発見される通信ノードは自動車13となる。
【0122】
モジョ氏は会社に到着すると、自動車13を降り、会社内の自宅のデスクに向かう。この時、自動車13のエンジンを切れば、やはり通信ノードを網から存在させなくするための明示の発意に当る。
ここで会社のPC12の電源が点いたままであって本発明に説明した更新の試みを継続していたとすると、自動車13が網上に存在しなくなったことによって、第一通信ノード10の不存在が検知されるために、PC12は自らに宛先発見を振り向ける。これ以後、宛先として発見される通信ノードはPC12となる。
【0123】
念のために朝、モジョ氏がするPC11の電源断が早い場合に、会社のPC12に宛先発見が移る場合がありうることを指摘しておく。ただしこの場合であっても、既にした説明から、モジョ氏が自動車13のエンジンを掛けたときに、宛先は自動車13となるので、ヒトが通信ノード間を移動するのに正しく追随して、宛先発見が為されていることが判る。
【0124】
なおモジョ氏が会社に居る間に、自宅のPC11の電源をモジョ氏の家族が入れたとしても、PC11が応用例で説明した起動後に強制更新なしで更新の試みを継続する場合(図10(1)のこと)には、会社のPC12が宛先として発見されることを継続することができ、自宅のPC11が会社のPC12から宛先発見を奪うことはない。
【0125】
このようにして受信者の欲する通信ノードを宛先として発見させながらも、ヒトは通信ノードをホップしながら渡り歩くことが出来る。

【図面の簡単な説明】
【0126】
【図01】網全体ブロック図である。
【図02】第一通信ノード10たり得る通信ノードのブロック図である。
【図03】第一通信ノード10たり得る通信ノードの動作を示したフローチャートである。
【図04】実施例2に係る第一通信ノード10たり得る通信ノードのブロック図である。
【図05】実施例2に係る第一通信ノード10たり得る通信ノードの動作を示したフローチャートである。
【図06】維持する場合を示すフローチャートである。
【図07】第一通信ノード10が自ノードの住所の変化をトリガにどのように動作するかを示すフローチャートである。
【図08】実施例1を変形した第一通信ノード10たり得る通信ノードの動作を示したフローチャートである。
【図09】宛先発見サーバ30と第一通信ノード10たり得る通信ノードであるところのPC11と自動車13との状態の変遷を示すタイムチャートである。
【図10】第一通信ノード10たり得る通信ノードの起動時の動作を示すフローチャートである。
【図11】応用例に係る第一通信ノード10たり得る通信ノードのブロック図である。
【図12】応用例に係る第一通信ノード10たり得る通信ノードの動作を示したフローチャートである。
【図13】実際的応用を示す図である。
【符号の説明】
【0127】
10 第一通信ノード
110 記憶装置
111 静的な識別子記憶部
112 (宛先発見サーバが示す)第一通信ノードの住所記憶部
113 割当現住所記憶部
114 起動オプション記憶部
119 作業領域
120 動作制御部
121 初期動作決定部
129 タイマ
130 外部環境検知部
131 住所取得部
132 判定部
133 サイン信号処理部
134 カウンターサイン信号処理部
135 到達性確認部
150 切替部
170 更新部
190 通信インターフェース

20 第二通信ノード

30 宛先発見サーバ

40 網
【図01】

【図02】

【図03】

【図04】

【図05】

【図06】

【図07】

【図08】

【図09】


【特許請求の範囲】
【請求項1】
発信者が用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
宛先たり得る通信ノードが2台以上となった場合に、
宛先たり得る通信ノードの中から択一的に宛先発見させることに特徴を有する通信システム。
【請求項2】
発信者が用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
前記発信元通信ノードは、前記宛先発見サーバへ見掛の宛先を問合せるか亦は網に対して接続の要求を行った後に、当該見掛の宛先に係る実際の宛先通信ノードに対して発信し、そして、
前記実際の宛先通信ノードが前記接続されている状態で、宛先たり得る通信ノードが受信亦は待受けし、かつ
実際の宛先通信ノードが受信亦は待受けを行う場合には、その他の宛先たり得る通信ノードは、受信亦は待受けを行わない、ことに特徴を有する通信システム。
【請求項3】
通信の開始を欲する発意者の用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
発信元通信ノードの利用者が宛先通信ノードの利用者との通信を欲した時に、
発信元通信ノードが宛先発見サーバあるいは網へ見掛の宛先を問合せるか、亦は宛先発見サーバあるいは網に対して接続を要求し、
宛先発見サーバあるいは網の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続をする場合であって、
宛先は一台又は二台以上の宛先たり得る通信ノードからなる群を構成している場合に、
1の実際の宛先たり得る通信ノードが宛先発見サーバに、見掛の宛先亦は中間的な情報に対応付けられる実際の宛先亦は中間的な情報として自ノードを登録し、
宛先として発見され得る通信ノードが2以上の場合には、現に発見される通信ノードの外の通信ノードは、見掛の宛先亦は中間的な情報に対応した実際の宛先亦は中間的な情報として自ノードを登録しないことによって、受信者が指定する通信ノードを宛先として発信元通信ノードに発見させる通信システム。
【請求項4】
請求項1から3のいずれかに記載の通信システムに用いられる宛先発見サーバ。
【請求項5】
請求項1から3のいずれかに記載の通信システムに用いられる宛先発見サーバであって、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングを記憶し、
前記発信元通信ノードから前記見掛の宛先の問い合わせを受け、あるいは、接続を要求を受け、
前記宛先通信ノードによって外部環境に基づいて実行される宛先発見過程の制御を受ける宛先発見サーバ。
【請求項6】
請求項1から3のいずれかに記載の通信システムに用いられる、通信の開始を欲する発意者の用いる発信元通信ノード(の利用者)が受信者が使用する宛先通信ノード(の利用者)との通信を欲した時に、発信元通信ノードによって見掛の宛先が問合せられるか、亦は接続が要求される宛先発見サーバであって、
前記発信元通信ノードに対して、実際の宛先を送信するか、亦は実際の宛先を送信する前に前記接続が試された場合であって、
宛先は1以上の宛先たり得る通信ノードからなる群を構成している場合に、
1の実際の宛先たり得る通信ノードによって見掛の宛先に対応付けられる実際の宛先として該通信ノードを登録し、
宛先として発見され得る通信ノードが2以上の場合には、前記した通信ノードの外の通信ノードは、見掛の宛先に対応した実際の宛先として登録しないことに特徴を有する宛先発見サーバ。
【請求項7】
請求項1から3のいずれかに記載の通信システムに用いられる宛先発見サーバに設置されるマッピングであって、
宛先たり得る通信ノードからなる群によって共有されるマッピングであることに特徴を有する記憶媒体。
【請求項8】
請求項1から3のいずれかに記載の通信システムに用いられる宛先発見サーバに設置される記憶媒体であって、
該記憶媒体は、宛先たり得る通信ノードからなる群を構成する通信ノードによって互いに情報を更新されるマッピングを記憶することに特徴を有する記憶媒体。
【請求項9】
請求項6に記載のマッピングを有することに特徴を有する宛先発見サーバ。
【請求項10】
請求項7に記載の記憶媒体を有することに特徴を有する宛先発見サーバ。
【請求項11】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
宛先発見過程を制御することに特徴を有する通信ノード。
【請求項12】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
切替部が更新部のオン/オフを制御することに特徴を有する通信ノード。
【請求項13】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が見かけの宛先で以って発見される通信ノードの存否を検知し、
切替部が前記検知結果に基づいて更新部のオン/オフを制御することに特徴を有する通信ノード。
【請求項14】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
外部環境の検知に先立って、起動時に更新部が宛先発見過程を制御することに特徴を有する通信ノード。

【請求項15】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
オプションによって、
外部環境の検知に先立って更新部が宛先発見過程を制御する場合と、
外部環境検知部が検知した外部環境に基づいて宛先発見過程を制御する場合と、
を切替えてすることに特徴を有する通信ノード。
【請求項16】
請求項11に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項17】
請求項12に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項18】
請求項13に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項19】
請求項14に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項20】
請求項15に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項21】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
宛先発見過程を制御するステップを通信ノードに実行させることに特徴を有するプログラムを記憶させた記憶媒体。
【請求項22】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
切替部が更新部のオン/オフを制御するステップを通信ノードに実行させることに特徴を有するプログラムを記憶させた記憶媒体。
【請求項23】
請求項1から3のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が見かけの宛先で以って発見される通信ノードの存否を検知し、
切替部が前記検知結果に基づいて更新部のオン/オフを制御するステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。
【請求項24】
請求項21乃至は請求項23のいずれかに記載の宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって、
外部環境の検知に先立って、起動時に更新部が宛先発見過程を制御するステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。
【請求項25】
請求項21乃至は請求項24のいずれかに記載の宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって、オプションによって、
外部環境の検知に先立って更新部が宛先発見過程を制御する場合と、
外部環境検知部が検知した外部環境に基づいて宛先発見過程を制御する場合と、
を切替えてするステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−109688(P2011−109688A)
【公開日】平成23年6月2日(2011.6.2)
【国際特許分類】
【出願番号】特願2010−291737(P2010−291737)
【出願日】平成22年12月28日(2010.12.28)
【分割の表示】特願2006−288151(P2006−288151)の分割
【原出願日】平成18年10月24日(2006.10.24)
【出願人】(301047980)
【Fターム(参考)】