(57)【特許請求の範囲】
【請求項１】
発信者が用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
宛先たり得る通信ノードが２台以上となった場合に、
宛先たり得る通信ノードの中から択一的に宛先発見させることに特徴を有する通信システム。
【請求項２】
発信者が用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
前記発信元通信ノードは、前記宛先発見サーバへ見掛の宛先を問合せるか亦は網に対して接続の要求を行った後に、当該見掛の宛先に係る実際の宛先通信ノードに対して発信し、そして、
前記実際の宛先通信ノードが前記接続されている状態で、宛先たり得る通信ノードが受信亦は待受けし、かつ
実際の宛先通信ノードが受信亦は待受けを行う場合には、その他の宛先たり得る通信ノードは、受信亦は待受けを行わない、ことに特徴を有する通信システム。
【請求項３】
通信の開始を欲する発意者の用いる発信元通信ノードと、
受信者が用いる一台又は二台以上の宛先たり得る通信ノードと、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングが記憶されている宛先発見サーバとが、
網を介して相互に接続されている通信システムであって、
発信元通信ノードの利用者が宛先通信ノードの利用者との通信を欲した時に、
発信元通信ノードが宛先発見サーバあるいは網へ見掛の宛先を問合せるか、亦は宛先発見サーバあるいは網に対して接続を要求し、
宛先発見サーバあるいは網の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続をする場合であって、
宛先は一台又は二台以上の宛先たり得る通信ノードからなる群を構成している場合に、
１の実際の宛先たり得る通信ノードが宛先発見サーバに、見掛の宛先亦は中間的な情報に対応付けられる実際の宛先亦は中間的な情報として自ノードを登録し、
宛先として発見され得る通信ノードが２以上の場合には、現に発見される通信ノードの外の通信ノードは、見掛の宛先亦は中間的な情報に対応した実際の宛先亦は中間的な情報として自ノードを登録しないことによって、受信者が指定する通信ノードを宛先として発信元通信ノードに発見させる通信システム。
【請求項４】
請求項１から３のいずれかに記載の通信システムに用いられる宛先発見サーバ。
【請求項５】
請求項１から３のいずれかに記載の通信システムに用いられる宛先発見サーバであって、
前記宛先たり得る通信ノードの見掛の宛先亦は中間的な情報と実際の宛先亦は中間的な情報とのマッピングを記憶し、
前記発信元通信ノードから前記見掛の宛先の問い合わせを受け、あるいは、接続を要求を受け、
前記宛先通信ノードによって外部環境に基づいて実行される宛先発見過程の制御を受ける宛先発見サーバ。
【請求項６】
請求項１から３のいずれかに記載の通信システムに用いられる、通信の開始を欲する発意者の用いる発信元通信ノード（の利用者）が受信者が使用する宛先通信ノード（の利用者）との通信を欲した時に、発信元通信ノードによって見掛の宛先が問合せられるか、亦は接続が要求される宛先発見サーバであって、
前記発信元通信ノードに対して、実際の宛先を送信するか、亦は実際の宛先を送信する前に前記接続が試された場合であって、
宛先は１以上の宛先たり得る通信ノードからなる群を構成している場合に、
１の実際の宛先たり得る通信ノードによって見掛の宛先に対応付けられる実際の宛先として該通信ノードを登録し、
宛先として発見され得る通信ノードが２以上の場合には、前記した通信ノードの外の通信ノードは、見掛の宛先に対応した実際の宛先として登録しないことに特徴を有する宛先発見サーバ。
【請求項７】
請求項１から３のいずれかに記載の通信システムに用いられる宛先発見サーバに設置されるマッピングであって、
宛先たり得る通信ノードからなる群によって共有されるマッピングであることに特徴を有する記憶媒体。
【請求項８】
請求項１から３のいずれかに記載の通信システムに用いられる宛先発見サーバに設置される記憶媒体であって、
該記憶媒体は、宛先たり得る通信ノードからなる群を構成する通信ノードによって互いに情報を更新されるマッピングを記憶することに特徴を有する記憶媒体。
【請求項９】
請求項６に記載のマッピングを有することに特徴を有する宛先発見サーバ。
【請求項１０】
請求項７に記載の記憶媒体を有することに特徴を有する宛先発見サーバ。
【請求項１１】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
宛先発見過程を制御することに特徴を有する通信ノード。
【請求項１２】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
切替部が更新部のオン／オフを制御することに特徴を有する通信ノード。
【請求項１３】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が見かけの宛先で以って発見される通信ノードの存否を検知し、
切替部が前記検知結果に基づいて更新部のオン／オフを制御することに特徴を有する通信ノード。
【請求項１４】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
外部環境の検知に先立って、起動時に更新部が宛先発見過程を制御することに特徴を有する通信ノード。
【請求項１５】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードであって、
オプションによって、
外部環境の検知に先立って更新部が宛先発見過程を制御する場合と、
外部環境検知部が検知した外部環境に基づいて宛先発見過程を制御する場合と、
を切替えてすることに特徴を有する通信ノード。
【請求項１６】
請求項１１に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項１７】
請求項１２に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項１８】
請求項１３に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項１９】
請求項１４に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項２０】
請求項１５に記載の宛先として発見され得る通信ノードであって、
該通信ノードは自動車であることに特徴を有する通信ノード。
【請求項２１】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
宛先発見過程を制御するステップを通信ノードに実行させることに特徴を有するプログラムを記憶させた記憶媒体。
【請求項２２】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が検知した外部環境に基づいて、
切替部が更新部のオン／オフを制御するステップを通信ノードに実行させることに特徴を有するプログラムを記憶させた記憶媒体。
【請求項２３】
請求項１から３のいずれかに記載の通信システムに用いられる宛先として発見され得る通信ノードにおいて、
発信元通信ノードに宛先発見過程を提供する宛先発見サーバに対して、
外部環境検知部が見かけの宛先で以って発見される通信ノードの存否を検知し、
切替部が前記検知結果に基づいて更新部のオン／オフを制御するステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。
【請求項２４】
請求項２１乃至は請求項２３のいずれかに記載の宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって、
外部環境の検知に先立って、起動時に更新部が宛先発見過程を制御するステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。
【請求項２５】
請求項２１乃至は請求項２４のいずれかに記載の宛先として発見され得る通信ノードに実行させるプログラムを記憶させた記憶媒体であって、オプションによって、
外部環境の検知に先立って更新部が宛先発見過程を制御する場合と、
外部環境検知部が検知した外部環境に基づいて宛先発見過程を制御する場合と、
を切替えてするステップを通信ノードに実行させるプログラムを記憶させた記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は網における宛先発見過程を拡張するものである。網は、蓄積交換網であるか回線交換網であるかを問わない。
具体的には、発信者が宛先を特定するために用いる見掛の宛先情報と、網が受信者の用いる通信ノードを特定するために用いる実際の宛先を識別する情報とが、関連付けられることによって、宛先通信ノードへの到達性が得られる網において、受信者が１以上の通信ノードを有する場合であって、そのうちの１の通信ノードを指定することによって単一の宛先として発見させる技術に属する。
【背景技術】
【０００２】
ヒトの物理的な移動にあわせて、他者から自分に到達させるような通信をさせたいとする。
現在ヒトが持ち歩くことを前提に、携帯電話やＰＤＡ等の単一の移動体通信ノードで、これを実現するアプローチが取られている。これらの通信ノードは電波が受信できない状況下にあっては、用を為さなかった。
亦、ノートＰＣ等を移動先のホテルからダイヤルアップするといった使われ方もしていた。この場合は、移動中は着信することが出来なかった。
このように、そもそもの使いにくさの原因は、移動するヒトに到達させるための通信において、ヒトとともに移動する単一の通信ノードで着信しなければならないとの先入観にあった。
【０００３】
一方、インターネット商用化後の一般利用者の用いる端末は、変動する住所を有し、通信相手として特定する識別子を有しない端末であった。このような端末とも通信したいという要望があった。最初に試みられたのは、通信相手を一意に特定する識別子を設定し、これに変動する住所を追随させるシステムに、通信相手を特定することを委ねることであった。このようなシステムには、例えばｗｅｂｈｏｐ 、ＩＭＰＰ（RFC2778, RFC2779）、動的ＤＮＳ（RFC2136, RFC3007）、ＳＩＰ（RFC3261-3265, RFC3856）、ＥＮＵＭ（RFC2916, RFC3401-3406, RFC3761）等がある。亦、固定的な住所に対して変動する住所を追随させるシステムにＩＰ  Ｍｏｂｉｌｉｔｙ（RFC3344, RFC3775, RFC3963）がある。亦、回線交換網においてはセルラー電話のＨＬＲ（ホーム・ロケーション・レジスタ）等がある（これらを総称して、以下「宛先発見サーバ」とする）。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
単一の通信ノードによって着信させるのではなく、複数の通信ノードの中から受信者が通信ノード間を移動するのに追随して、着信させる通信ノードもホップさせる手段を提供する。
最も端的には、受信者の近くにある通信ノード亦は、受信者が指定する通信ノードを宛先として発見（着信）させる。
すなわち、受信者のホスト間移動に追随して、受信者が指定する通信ノードを宛先として発信元に発見させる。
【発明の効果】
【０００５】
１．電波品質の悪い環境下では、持ち歩き型の通信ノードは用を為さない。しかしそのような環境下であっても、有線亦は無線を低レイヤとするその他の通信ノードに着信させることが出来る。
【０００６】
２．宛先として発見され得る通信ノード間を協調させる為に各通信ノードが自律的に動作することによって、現に発見されない通信ノードは、現に発見される通信ノードがその立場を維持することに協力する。
すなわち現に発見される通信ノードがあるときは、他の通信ノードが宛先発見過程を制御することを抑制する。これによって手動でする宛先発見過程の制御が、初めて発意の反映たり得る。なぜならば、自動で宛先発見過程を制御する通信ノードが抑制されなければ、例え手動にて制御したとしても、他の通信ノードが自動でする宛先発見過程の制御によって上書きされてしまうからである。
【０００７】
３．本発明では、固定的に住所を割当てられてなる通信ノードが群に含まれる場合であっても、静的な識別子と関連付けられる通信ノードがホップすることによって、静的な識別子と関連付けられる住所は必ず動的となる。このことによって住所が固定的に割当てられてなる通信ノードと、動的に割当てられてなる通信ノードとを統一的に扱うことが出来る。
【０００８】
４．スケーラブル。宛先として発見され得る通信ノード群において、その群を構成する通信ノードの個数に依存せずに、通信ノードの個数を増減しても受信者の発意に基づく宛先発見過程を提供出来るようにした。このことから第一通信ノードが単一の場合にも、その背後に自由に通信ノードを追加することが出来る。
【０００９】
５．スモールシステム。中央コンピュータが存在するモデルを「神様モデル」という。従来は宛先発見サーバが、神の如く統治することを発想の原点として網は設計されていた。これによって実現されるものは、巨大な社会システムである。マルティックスは既に失敗した。本発明において宛先発見サーバ３０は、神ではない。本発明では宛先発見サーバを、単にサービスを提供するものという本来の位置付けに戻すことに成功した。顧客は自ら制御できる環境を望んでいる。
【００１０】
６．スモールスタートできる。群内に閉じてさえいれば、それだけで既に実施可能である。
【００１１】
７．本発明では宛先発見サーバについては原則的に変更することを要しない。
【００１２】
８．本発明では発信元通信ノードについては何ら変更することなしに、従来のものをそのまま利用して課題を解決することが出来る。
【００１３】
９．現在宛先として発見されている通信ノードは、次に受信者が使用する予定の通信ノードをあらかじめ知っておく必要がない。宛先発見サーバにおいても亦同じ。
【課題を解決するための手段】
【００１４】
（概要）
受信者は、通信を、発信元通信ノードから、受信者が欲する通信ノードに、宛先として着信させる。
これを実現するための具体的な思想は、以下の通りである。
１．他者からの通信を、受信者の用いる通信ノードに着信させるための手段として、宛先発見過程を制御することによって受信者が所望する通信ノードを発見させる。
２．受信者が移動する範囲亦は所望する範囲で、宛先として発見させたい通信ノードを一群として第一通信ノード１０たり得る通信ノード群とする。この群は、地理的にも住所的にも分散していて差支えない。
３．第一通信ノード１０たり得る通信ノード群内では各通信ノードの間で、宛先として発見させるという立場を奪い合う競合関係が発生する。
この時、網の特性から、宛先としてその時点で発見されない通信ノードについては、他の通信ノードも亦このような通信ノードを発見することが出来ない。第一通信ノード１０たり得る通信ノード群内の通信ノードも亦、例外ではない。
４．唯一発見され得る通信ノードと、同一時点では発見され得ない通信ノードとの間での通信の結果によって、前記競合関係を調整する。
すなわち、各通信ノードの自律的振る舞いを以下に実装する。
外部環境検知部が検知した外部環境によって、宛先発見過程を制御する場合としない場合とを切替える。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を図面に基づいて説明する。なお、各図面において同様の機能を有する箇所には同一の符号を付している。以下に掲げる実施例は、制限でなく例である。
【００１６】
（網全体ブロック図）
図０１は、本発明における網全体を示すブロック図である。図０1には、第一通信ノード１０と、第二通信ノード２０と、通信ノードからの問い合わせに応じて第一通信ノード１０の住所を返信する（か亦は代理仲介する）宛先発見サーバ３０とが、インターネット等の網４０を介して相互に接続される状態を示している。
【００１７】
（用語）
見掛の宛先情報とは、宛先発見過程に入る以前に発信元が認識している宛先を示す情報のことをいう。静的な識別子は見掛の宛先情報（以下、「見掛の宛先」と略す）の例である。
静的な識別子とは、宛先発見させる際の目的語である。通常は発信者が宛先通信ノードを網上で特定するために用いられる。静的な識別子の具体例としてはハンドル名、バディ名、ホスト名、電話番号、ＵＲＩ等が含まれる。
このことから第一通信ノード１０の受信者が発信元の為に事前に通知するものが静的な識別子の典型である。例えば、電話を掛けてきて欲しい人が、自分の電話番号として教えるものがこれに当たる。
【００１８】
実際の宛先情報（以下、「実際の宛先」と略す）とは、網が受信者の用いる通信ノードを特定するために用いる情報のことをいう。住所は実際の宛先の典型である。
住所とは、通信ノードに対する実際のアクセスを掌る網上の住所（＝Network Address）を指す。
この場合の住所とは、宛先発見終了後にはじめて発信元が認識できる実際の通信ノードへの到達を掌る宛先のことである。なお、代理仲介によって接続される場合や網が接続までをセットアップする場合等には、第二通信ノード２０は第一通信ノード１０の住所を知らなくてもよい。この場合には接続を以って発見と考えてもよい。実際の宛先は必ずしも住所である必要はなく、第一通信ノード１０の在圏エリアを示す情報であっても、複数のパラメータからなる情報であってもよい。
見掛の宛先も実際の宛先も、第一通信ノード１０を識別する情報である。
【００１９】
ところで見掛の宛先と実際の宛先とが、同一の表現体系に基づく場合はあってもよい。
例えば見掛の宛先が電話番号であり、実際の宛先も亦電話番号である場合等がある。ＩＰアドレスの場合も同様である。よって住所は見掛の宛先に属する場合がある。このような場合には見掛の宛先と実際の宛先とが同一の値である場合が許容される。
【００２０】
宛先発見サーバ３０とは、マッピングを保持するものである。マッピングされる内容は一般に見掛の宛先と実際の宛先とであるが、中間的な情報であってもよい。例えば、ＥＮＵＭにおける文字列書換規則等は中間的な情報の例である。
宛先発見サーバ３０は機能的に、該保持したマッピングを公示するか、亦はマッピングを基に代理仲介して（第二通信ノード２０と第一通信ノード１０との）接続をさせるが、これらの機能は宛先発見サーバ３０に必須のものではなく、網が替ってする場合もある。宛先発見サーバ３０は、複数のサーバからなるシステムであってよい。
宛先発見サーバ３０は、原則的に変更を要することなく、本発明の通信システムに採用することができる。
しかし例えば、宛先発見サーバ３０が、元々通信ノードを個体識別する情報等が事前に設定されていて、この情報等に係る通信ノードとは異なる通信ノードからの更新要求を受け付けないタイプであって、該個体識別する情報が通信ノード１個体分しか確保されていない場合等においては、そのままでは本発明の通信システムに採用することができない。
このような場合に２以上の通信ノードからの更新要求を受け付けるように宛先発見サーバ３０を改変することは、本発明に適用させるために新たな宛先発見サーバ３０を発明するものであり、本発明の実施に当る。
【００２１】
第二通信ノード２０とは、通信の開始を欲する発意者の用いる通信ノードを指す。発信元通信ノードである。
第二通信ノード２０がする宛先発見過程とは、宛先発見サーバ３０が前記マッピングを公示し第二通信ノード２０が直接参照する場合、網が代理的に宛先発見サーバ３０を参照する場合、宛先発見サーバ３０が（第二通信ノード２０と第一通信ノード１０との）接続を仲介する（ＩＭＰＰサーバを表面的な宛先としながらも、その先に隠蔽された真の宛先がある場合等の）場合、網が接続までを代理仲介する（セルラー電話の場合やＩＰモビリティにおいてホームエージェントがインターセプトする場合を含む──この場合には発信元は転送されたことに気付かない場合がある）場合等を含む。これらのいずれを用いて宛先発見するかは、宛先発見サーバ３０の種類に応じる。
なお宛先発見過程は、多段に展開されてもよい。またいずれの段階のマッピングであってもよい。
【００２２】
第一通信ノード１０とは、見掛の宛先（例えば通信の開始時点で発信者が通信相手として特定する静的な識別子）で以って、発見される通信ノードである。接続されることを発見に含めて考えてもよい。第二通信ノード２０は、第一通信ノード１０の住所等を知らないまま接続される場合であっても、両ノード間の接続が（仲介等によって）実現されたことを以って、結果的に発見されたことと等しいからである。すなわち第一通信ノード１０とは発信元から見ての宛先である。
なお、第一通信ノード１０亦は第二通信ノード２０のいずれについても、通信ノードの種別を問わない。例えば通信ノードには、携帯電話機（ＳＩＭカードのみの場合を含む）、ＰＣ、ＰＤＡ等だけでなく、カーナビ等の自動車搭載製品や自動車そのもの等の複合製品が含まれてもよい。また、属する網の種別および関係についても問わない。本明細書で単に通信ノードとした場合は、利用者の用いるものを指す。すなわちネットワーク・オペレータの運用する装置を含まない。一般にこれは、エッジノード亦はエンドポイントと呼ばれる。なお、第一通信ノード１０がファイヤウォールの内側にある場合等には、ネットワーク境界からポートフォワーディング等によって、到達し、接続される場合も含む。
第一通信ノード１０の受信者がする発意とは、宛先として発見させたい通信ノードの内、いずれを第二通信ノード２０に発見させるのかの決定（発見させる通信ノードの選択）をすることである。この発意は、明示の発意の場合だけでなく自動化等による明示でない発意であっても良い。明示の発意の場合には、通信ノードを網上に存在させなくすることや宛先として発見させなくすることが含まれる。
【００２３】
第一通信ノード１０の背後には、宛先として現に発見されてはいないが将来発見され得る通信ノードがある。（図０１中の１１，１２，１Ｎ）
このような通信ノードは一般に発信しか出来ない普通の通信ノード、すなわち公衆電話やブラウジング端末と同様で着信することが出来ない通信ノードである。これは「背景技術」に説明した「インターネット商用化後の一般受信者の用いる端末」と同じである。
【００２４】
一方、第二通信ノード２０から見れば、第一通信ノード１０は単一の通信ノードである。第二通信ノード２０は第一通信ノード１０の背後にある通信ノードについて知ることが出来ない。そして第二通信ノード２０は、普通は第一通信ノード１０を個体識別しない。すなわち第一通信ノード１０がその背後にある通信ノードと入れ替わったことを、第二通信ノード２０は一般的に言って知る事が出来ない。第二通信ノード２０にとって第一通信ノード１０は、単に発見された通信ノードである。このため第二通信ノード２０の所有者が第一通信ノード１０との通信の結果、意図しない応答を受けることがある。例えばウェブページが表示されることを期待していたにも係らず、表示されない等である。しかしこれは許容される。なぜならば第一通信ノード１０の受信者が宛先として発見させる予定の通信ノードの多くにウェブサーバが備わっていたとしても、群の中にウェブサーバを備えない通信ノードが含まれていた場合にこうなるに過ぎないからである。
【００２５】
ここで第一通信ノード１０を構成する通信ノード群の内、現に発見された通信ノードのみがあって、現に発見されていない通信ノードが存在しない場合に、仮に第一通信ノード１０の住所が変化した場合を考える。この時第一通信ノード１０が宛先発見過程の制御をしない内は、第二通信ノード２０がする宛先発見は失敗する。すなわち誤った宛先に到達する。しかしそれにも係らず第一通信ノード１０は通信ノードとして存在している。このことから宛先として発見されることと、第一通信ノード１０亦はその背後にある通信ノードが存在することとは、別の話である。
【００２６】
第一通信ノード１０は、同一の受信者が用いる実ノード（例えばＰＣ１１、ＰＣ１２、自動車１３等）の中から、宛先として発見される役割を担うものである。
そこで本明細書では以下のように扱うこととする。
第一通信ノード１０は、現に発見された通信ノードを指す（ただし誤認された通信ノードが発見される場合や、発見された通信ノードが存在しない場合がある。このような場合には、発見された通信ノードが第一通信ノード１０として正しいか正しくないかという観点から考える）。
第一通信ノード１０の背後には、０以上の現に発見されていない通信ノードがある。
現に発見された通信ノードと、現に発見されていない通信ノードとを区別なく包含する概念であって、かつ単一の通信ノードとしてみる場合に、第一通信ノード１０たり得る通信ノードとする。第一通信ノード１０たり得る通信ノードは、地理的にも住所的にも分散していて差支えない。
群は、第一通信ノード１０たり得る通信ノードの集合である。ここでいう群とは、論理学でいう所の種すなわち共通の特徴によってまとめられ名前が付けられる集まりを指す。ただしその集合を構成する個体の数は１以上であってよい。よって群は１以上の通信ノードによって構成される。
以下では、第一通信ノード１０たり得る通信ノードについて説明する。
【００２７】
（実施例１）
宛先発見過程の制御における標準の状態とは、単一の第一通信ノード１０が、宛先発見過程を制御するものである。これは従来の例でもある。
ここで宛先発見過程の制御とは、宛先発見サーバ３０において記憶されるマッピング（例えば見掛の宛先と関連付けられる実際の宛先）を最新かつ正しい情報に保つことによって、誤った宛先を発見させないようにすることをいう。具体的には後述する更新をすることである。
【００２８】
ここで、群が複数の通信ノードからなる場合を考えてみる。
群が複数の通信ノードからなる場合には、競合が発生する。
そこで、受信者の発意を網に反映するために、各通信ノードが協調するための自律的な動作を以下に説明する。
【００２９】
図０２は、図０１に示す第一通信ノード１０たり得る通信ノードの内部構成を示すブロック図である。図０２には、作業用の一時記憶を含む記憶装置１１０と、外部環境検知部１３０と、切替部１５０と、更新部１７０と、網４０に接続するための物理的な通信インタフェース１９０とを示している。
【００３０】
記憶装置１１０は、静的な識別子記憶部１１１と作業領域１１９とを含む。
静的な識別子記憶部１１１は、第二通信ノード２０が第一通信ノード１０を発見する際に用いる見掛の宛先の例として静的な識別子を記憶するものである。
作業領域１１９は、作業用の一時記憶である。なお作業領域１１９については、以降ではいちいち言及しないこととする。
【００３１】
外部環境検知部１３０は、センサーとしての役割を担い、受容器に当る。
すなわち外部環境検知部１３０は、自ノードを取り巻く外部環境であるところの網の状態を検知するものである。
【００３２】
（検知の内容）
外部環境検知部１３０は、静的な識別子記憶部１１１に記憶された内容を用いて、網の中での自ノードの位置を検知する。（住所および位置という語は、特に断りのない場合には網上の住所や位置を示す。）これは、網そのものが変動する以上、自ノードの位置もまた（網の変動に連れて）他動的に変動するからである。
なお自ノードが第一通信ノード１０であるか否かを決定付けるのは、宛先発見サーバ３０が記憶している、ある見掛の宛先に関連付けられた実際の宛先（亦は中間的な情報）として何をマッピングとして保持しているかによる。
個別の通信ノードが網全体から見て構成要素の一であるとしても、個別の通信ノードにとって網それ自体は外部環境である。
【００３３】
以下に、検知すべき外部環境の３つの類型を示す。
（イ）自ノードが第一通信ノード１０であるか亦は、
（ロ）自ノードの外が第一通信ノード１０であるか亦は、
（ハ）第一通信ノード１０が存在しないことである。
【００３４】
（アクション）
更新部１７０は、アクションするものとしての役割を担い、効果器に当る。
アクションの内容は、外部環境への働き掛けをすることである。外部環境への働き掛けをするとは、具体的には宛先発見過程を制御するということである。
更に具体的には宛先発見過程の制御とは、直接亦は間接に宛先発見サーバ３０を更新することによって、第一通信ノード１０たり得る通信ノードの内からいずれの通信ノードを第一通信ノード１０として第二通信ノード２０に発見させるかを制御することである。
【００３５】
更新する（登録するともいう。亦はrefresh, logon等とも呼ばれる）とは、第一通信ノード１０が宛先発見サーバ３０に対してマッピング（バインディング等ともいう）される値の組を書き換えるように指示する命令（更新命令）を送信することをいう。この命令は間接的である場合がある。一般に更新には認証を要する。更新には、「位置登録」を含む。広義には第一通信ノード１０が宛先発見サーバ３０に対して、単にマッピングペアを維持するための命令（例えばキープアライブ）等を送信することを含む。（間接的な更新の例を２つ挙げる。例えばIP Mobilityではモバイルノードがフォーリンエージェントを更新し、フォーリンエージェントがホームエージェントを更新する場合等がある。ホームエージェントが宛先発見サーバ３０に当る。例えばセルラー電話において、通信ノードは位置登録エリアをまたがって移動した場合に在圏局に対して位置登録をすると、網がＨＬＲを更新する場合等がある。セルラー電話でいう所の位置は、物理的な位置であると同時に網におけるルーティング上の位置でもある。当然に間接的な更新も更新に含む）
更新の手段は宛先発見サーバ３０の種類に応じる。
【００３６】
第一通信ノード１０たり得る通信ノードが２以上ある場合には、現に発見されない通信ノードが存在する。この時、現に発見されない通信ノードが更新をすることによって、宛先として発見される通信ノードを自ノード（すなわち更新する以前までは現に発見されなかった通信ノード）に振向けることが出来る。
【００３７】
（協調の内容）
図０１中の第一通信ノード１０を含む丸で囲まれた範囲が群である。群の中のいずれの通信ノードが宛先発見過程の制御権を得るかについて協調する。
【００３８】
協調の結果、第一通信ノード１０たり得る各通信ノードが全体として競合することなく、一丸となって正しい宛先発見過程を第二通信ノード２０に提供する。
【００３９】
基本的な思想は、第一通信ノード１０たり得る各通信ノードが自律的に動作することによって、前記協調を実現することである。
協調が通信ノード間で行われることに対して、自律は通信ノードの内部で行われる。自律は協調のための実装である。
【００４０】
（自律の内容）
自律とは、正しい状態を維持するように働き掛ける機能すなわち恒常性である。
ここで正しい状態とは、自ノード単独に取っての正しい状態などありえず（仮にそのような状態があっても、ここでは問題にしない）、受信者のする発意（すなわちどの通信ノードを宛先として発見させるかの決定）の反映された状態のことを指す。
恒常性を実現するものとは、フィードバックである。
本発明では、系は２系ある。
第一の系は、第二通信ノード２０と、宛先発見サーバ３０と、第一通信ノード１０とからなる。
第二の系は、宛先発見サーバ３０と、単数亦は複数の第一通信ノード１０たり得る通信ノード（すなわち、少なくとも現に発見される通信ノードと、ある場合とない場合があるのだが現に発見されない通信ノード）とからなる。すなわち第二の系は、群に対して宛先発見サーバ３０を追加したものからなる。
第一の系と第二の系との最大の違いは、受益者が違うことである。
第一の系は、通信の開始を発意する者のための系である。これは従来モデルである。
第二の系は、本発明によって提案されたものであり、受信者の発意の反映のための系である。更に第二の系は、フィードバックループを構成する。
フィードバックには２つあり、１つは外部環境へ働き掛けた結果としての協調であり、これがフィードバックループである。そして、もう１つが自律である。
すなわち外部環境検知の結果を、自ノードの振舞に反映させるというフィードバックを有することが自律である。
自律は刺激（受容ともいう）と反応モデルによる。
外部環境検知部１３０がする外部環境の検知を刺激として、更新部１７０が外部環境への働き掛けという反応をする。この際切替部１５０が、検知内容を判断して、更新部１７０をして反応させるか否かを決定する。
【００４１】
切替部１５０は、外部環境検知部の検知結果に基づき判断分岐する。
切替部１５０は分岐の結果、更新部１７０のオン／オフを切替える。
切替の概念は、更新部１７０に対する起動、接続、引渡し、呼出し等の表現が出来る動作を選択的に行なうものと考えて差支えない。
このことから切替部１５０も亦、更新部１７０と同様に制御するものである。更新部１７０と切替部１５０との違いは、更新部１７０が外部環境へ働き掛ける（すなわち宛先発見過程を制御する）ものであるのに対して、切替部１５０は自ノードの動作を制御するものである。
すなわち切替部１５０が、自律を実現する。
【００４２】
（制御権）
制御権は、競合関係を調整するために用いる論理的な概念である。
制御権とは、第一通信ノード１０たり得る通信ノードのうち、いずれの通信ノードが網（すなわち通信ノードから見ての外部環境）に働き掛ける権利を有するかをいう。
すなわち各通信ノードが自ノードに制御権があるか否かについて判断する。
【００４３】
具体例を表１に示す。
（表１）
0005466144.tif 000002
【００４４】
表１中の註１について、
自ノードが宛先発見過程を制御することを妨げる要素が存在しないので、結果として自ノードが自発的に制御する。
【００４５】
註２について、
「更新する」と「維持する」とはここでは同じ意味だと考えてよい。「第一通信ノード１０が自ノードである」場合に、更に更新しても第二通信ノード２０から見れば、何も変わっていないからである。詳しくは後述する。
【００４６】
註３について、
自ノードの制御として、更新しないという制御をする。すなわち外部環境への働き掛けをしないか手放した状態にする。
従来は単一の通信ノードが前提されていたために必ず更新していたが、ここではあえて更新しないことに意味がある。
【００４７】
このようにして、切替部１５０は、自ノードが宛先発見過程に対する制御権を有するか否かを判断し、制御権を有する場合には「更新する」という従来からある自ノードの制御をし、制御権を有しない場合には「更新しない」という本発明によって初めて提案された自ノードの制御をするものである。
自ノードの制御は自律に属し、宛先発見過程の制御は協調に属する。宛先発見過程の制御は、目的そのものでもある。
【００４８】
よって、切替部１５０が判断すべき内容は、自ノードの外に第一通信ノード１０があるかないかである。
例えば、自ノードの外に第一通信ノード１０がある場合には、自ノードに制御権がない。そのため、自ノードは更新しない。
この時、制御権を有する通信ノードは、現に発見される通信ノードであるところの第一通信ノード１０（自ノードではない）である。
このように、各通信ノードは自律的に振舞うことによって、群として協調する。
【００４９】
（フローチャート）
図０３に、第一通信ノード１０たり得る通信ノードのフローチャートを示す。
ステップＳ２０２では、外部環境検知部１３０が各第一通信ノード１０たり得る通信ノードから見ての外部環境を検知する。
ステップＳ２０４では、ステップＳ２０２の検知結果に基づいて切替するかどうかを判断分岐している。すなわち切替部１５０は自ノードに宛先発見過程に対する制御権があるかないかを判断する。
トリガとなるステップＳ２０２の検知結果は、既に説明したように「自ノードの外に第一通信ノード１０が存在する」かどうかである。
【００５０】
図０３のフローチャートは、第一通信ノード１０たり得る通信ノードの内、現に発見される通信ノードであっても、現に発見されていない通信ノードであっても、同様に実施するものである。例えば、ある時点において第一通信ノード１０（すなわち現に発見されている通信ノード）がＰＣ１２によってなる場合に、ＰＣ１１が外部環境を検知する場合には、自ノードがＰＣ１１なのだから既に「自ノードの外に第一通信ノード１０が存在する」ことが検知される。逆にＰＣ１２が実施する場合にはＰＣ１２が第一通信ノード１０そのものなのだから、第一通信ノード１０は自ノードであることが検知される。
【００５１】
例えば手動でも宛先発見サーバ３０が提供する宛先発見過程を制御することが出来る。手動でする宛先発見過程の制御は、受信者がする発意の反映のための明示的な手段の一つである。
ここで自動でする宛先発見過程の制御とは、住所の変化を追跡して直接亦は間接に宛先発見サーバ３０を更新することをいう（以下、「自動更新」とする）。
単に一定の時間間隔で更新する場合は、待ち時間の間に住所が変化していても、次の更新の時に住所の変化を反映することになるから、住所の変化を追跡することに含まれる。
手動でする宛先発見過程の制御とは、受信者の発意に基づいて宛先発見過程を制御することをいう（以下、「手動更新」とする）。
受信者の発意に基づいてするのが手動更新なのだから、従来の自動更新プログラムを開始した場合の最初の更新は、手動更新に含まれる。よって通信ノードの起動時に自動更新プログラムが開始されるように設定された通信ノードの場合には、起動に発意がある以上、この場合にも最初の１回目の更新は手動更新に当る。
【００５２】
ところで、手動で更新すればよいというものではない。群の中に一つでも従来からあるような、住所の変化を追跡して宛先発見過程を制御する通信ノード（以下、「自動更新ノード」という）が存在すれば、手動でした宛先発見過程の制御は、自動更新ノードによって上書きされてしまう。自動更新ノードが複数ある場合は、互いが上書きしてしまう。すなわち従来型の自動更新では、協調できないことに問題がある。そこで各第一通信ノード１０たり得る通信ノードには、以下のように自律させればよい。
【００５３】
ステップＳ２０４では、外部環境検知部１３０がした外部環境の検知結果に基づき、切替部１５０が判断分岐する。
「自ノードの外に第一通信ノード１０（すなわち現に発見された通信ノード）が存在する」ことが検知された場合には、ステップＳ２１０に分岐する。そうでなかった場合には、ステップＳ２０６に進む。
【００５４】
ステップＳ２０６では、切替部１５０が更新部１７０をオンにする。
【００５５】
ステップＳ２０８では、更新部１７０が、宛先発見サーバ３０を直接亦は間接に更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。自ノードが第一通信ノード１０の場合には、更新することによって、第二通信ノード２０から見ての発見する宛先が自ノードであることを維持する。第一通信ノード１０が存在しない場合には、更新することによって、自ノードに宛先を振向ける。
【００５６】
ステップＳ２１０では、切替部１５０が更新部１７０をオフにする。
【００５７】
ステップＳ２１２は、更新しないことを明示に表す論理的なステップである。すなわち外部環境に対しての働き掛けをしない場合である。（例えば自ノードの住所が変化した時）従来であれば必ずやってしまっていた更新を、あえてやらないことに特徴がある。この場合は、自ノードの外に存在する第一通信ノード１０が宛先発見過程を制御すべきである。自ノードの外に第一通信ノード１０が存在することを検知することが重要な理由は、ここにある。ここで現に発見されていない通信ノードが更新してしまうと、受信者の発意は網に反映されない。すなわち自動更新ノードは宛先発見過程の制御権を第一通信ノード１０から奪うことになり、ひいては第二通信ノード２０が発見する宛先を混乱させることになる。
【００５８】
ところで、第一通信ノード１０のみがある場合すなわち第一通信ノード１０たり得る通信ノードが全部で一つしかなかった時代の自動更新ノードは、ステップＳ２０２でする外部環境の検知も、ステップＳ２０４でする分岐も要せず、むやみにステップＳ２０８を実施すればよかったものである。
しかし第一通信ノード１０たり得る通信ノードが複数ある場合には、従来通りむやみに各通信ノードがステップＳ２０８を実施した場合、競合が発生する。
本発明ではステップＳ２０８でする「更新」は常にするのではなく、検知した外部環境（ステップＳ２０２）に応じて、選択的に切替えて（ステップＳ２０４、Ｓ２０６、Ｓ２１０）、外部環境に働き掛ける（ステップＳ２０８亦はステップＳ２１２）ことに特徴がある。
【００５９】
宛先発見サーバ３０が、ある見掛の宛先に対応する実際の宛先（亦は中間的な情報）を、複数記憶する場合がある。
（優先度への対応）
宛先発見サーバ３０では前記各マッピングに対して優先度情報が更に関連付けられている場合がある。
この時、最大優先順位より低い順位の優先度を有するマッピングに対してする更新のことを、予備的な更新という。なぜ予備的な更新というかというと、最大優先順位のマッピングに対応する実際の宛先が正しく通信できるならば、次順位以降のマッピングが無視されるのは普通だからである。よって、ステップＳ２１２で更新しない場合には、予備的な更新をすることを含んでもよい。
【００６０】
（サービス識別子への対応）
また、優先度情報の替りに（亦は、優先度情報と供に）、宛先発見に後続する本番の通信で使用されるアプリケーション（サービス等ともいう）の種別が各マッピングに関連付けられて、宛先発見サーバ３０で記憶される場合もある。このような場合には、アプリケーション単位で更新されてもよい。
【００６１】
（外部環境の検知手段）
自ノードの外に第一通信ノード１０が存在するか否かを検知するためには、第一通信ノード１０たり得る各通信ノードが第二通信ノード２０と同じ立場に立って通常の宛先発見の過程をたどればよい。すなわち第一の系と第二の系との共通点は、宛先発見の仕方が同じことである。
【００６２】
宛先発見サーバ３０の種類に応じた宛先発見、外部環境の検知、更新を含めて、第一通信ノード１０たり得る通信ノードは実装されるべきである。
プレゼンスを提供するものが存在する場合は、第二通信ノード２０と同様に第一通信ノード１０たり得る通信ノードは、それを信じてもよい。そうでない場合は、接続を試みる。
実施例２では、住所を知ることができる場合に到達性確認を用いた場合の具体例を示す。
【００６３】
（実施例２）
図０４は、図０１に示す第一通信ノード１０たり得る通信ノードの内部構成を示すブロック図である。図０４には、作業用の一時記憶を含む記憶装置１１０と、外部環境検知部１３０と、切替部１５０と、更新部１７０と、網４０に接続するための物理的な通信インタフェース１９０とを示している。
【００６４】
記憶装置１１０は、静的な識別子記憶部１１１と第一通信ノード１０の住所記憶部１１２と割当現住所記憶部１１３と作業領域１１９とを含む。
静的な識別子記憶部１１１は、第二通信ノード２０が第一通信ノード１０を発見する際に用いる見掛の宛先の例として静的な識別子を記憶するものである。
第一通信ノード１０の住所記憶部１１２は、宛先発見サーバ３０に問合せた結果知ることができた第一通信ノード１０の住所を記憶するものである。すなわち、宛先発見サーバ３０が示す第一通信ノード１０の住所を記憶するものである。
割当現住所記憶部１１３は、自ノード（亦は外部網に接する網境界）に割当てられてなる住所を記憶するものである。
作業領域１１９は、作業用の一時記憶である。
【００６５】
外部環境検知部１３０は、宛先発見サーバ３０に記憶されている第一通信ノード１０の住所を取得する住所取得部１３１と、住所取得部１３１によって取得された住所と自ノードに割当てられている住所とが一致するか否かを判定する判定部１３２と、住所取得部１３１によって取得された住所宛にサイン信号を生成して送信するか亦はサイン信号を受信するサイン信号処理部１３３と、カウンターサイン信号を受信するか亦は他の通信ノードから送信されてきたサイン信号を受信したときにカウンターサイン信号を生成して返信するカウンターサイン信号処理部１３４と、返信されてきたカウンターサイン信号が所望の通信ノードに前記サイン信号が到達したことに起因したものか否かを判断する到達性確認部１３５とを備える。
【００６６】
切替部１５０は、外部環境検知部１３０の検知結果に基づき判断分岐する。
切替部１５０は分岐の結果、更新部１７０のオン／オフを切替える。
【００６７】
更新部１７０は、直接亦は間接に宛先発見サーバ３０を更新する。
【００６８】
図０５は、図０４に示す第一通信ノード１０たり得る通信ノードの動作の概要を示すフローチャートである。
【００６９】
ステップＳ４０２には、
第一通信ノード１０たり得る通信ノードが、宛先発見サーバ３０亦は網へ問合せるか、亦は宛先発見サーバ３０亦は網に対して第一通信ノード１０への接続を要求するステップと、
宛先発見サーバ３０亦は網の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続を試みるステップとを、含んでもよい。実施例２は住所を知ることができる場合なので以下のようになる。
【００７０】
ステップＳ４０２は住所取得部１３１が宛先発見サーバ３０に問合せてその結果から受信者が宛先として発見させる際に用いる見掛の宛先と関連付けられた実際の宛先である所のその時点での住所を取得するステップである。当然に物理レイヤの種別は問わない。なお取得した住所は、第一通信ノード１０の住所記憶部１１２に記憶しておく。
【００７１】
ステップＳ４０４は、第一通信ノード１０の住所記憶部１１２に記憶する宛先発見サーバ３０が示す第一通信ノード１０の住所が、割当現住所記憶部１１３に記憶する自ノード（亦は外部網に接する網境界）に割当てられてなる現在住所と一致するか否かを判定部１３２が判断するステップである。ここで一致すれば、自ノードはすなわち第一通信ノード１０である。この場合はステップＳ４２０に分岐する。一致しなければ、ステップＳ４０６に進む。
【００７２】
ステップＳ４０６では、第一通信ノード１０の住所記憶部１１２に記憶した住所を読出し、該住所宛にサイン信号処理部１３３がサイン信号を送信する。
【００７３】
ステップＳ４０８では、前記送信したサイン信号に対するカウンターサイン信号をカウンターサイン信号処理部１３４が受信する。なおカウンターサイン信号は応答されない場合がある。
【００７４】
ステップＳ４１０では、前記受信したカウンターサイン信号から（亦はカウンターサイン信号を受信しないことによって）、到達性確認部１３５が到達性の真偽を判断するものである。なお、第一通信ノード１０はサイン信号受信時にはサイン信号処理部１３３で受信し、カウンターサイン信号処理部１３４がカウンターサイン信号を応答するようにするとよい。ここで到達性確認の結果が真の場合にはステップＳ４１６に分岐し、偽の場合にはステップＳ４１２に進む。（到達性確認については、WO2004/059925を参照されたい）
【００７５】
ステップＳ４１２では、切替部１５０が更新部１７０をオンにする。
【００７６】
ステップＳ４１４では、更新部１７０が、宛先発見サーバ３０を更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。この場合は「第一通信ノード１０が存在しない」場合なので、更新することによって、自ノードに宛先を振向ける。
【００７７】
ステップＳ４１６では、切替部１５０が更新部１７０をオフにする。
【００７８】
ステップＳ４１８は、更新しないことを明示に表す論理的なステップである。すなわち「自ノードの外に第一通信ノード１０が存在する」場合なので、外部環境に対しての働き掛けをしない場合である。従来であれば必ずやってしまっていた宛先発見過程の制御を、あえてやらないことに特徴がある。
【００７９】
ステップＳ４０２乃至はステップＳ４０４は、「宛先発見サーバ３０の示す住所と自ノードの住所が一致」するか否かを判断するものである。
ステップＳ４０６乃至はステップＳ４１０は、既に第一通信ノード１０が存在しているかどうかを判断するものである。
本実施例では第一通信ノードが存在するか否かについて検知する手段として到達性確認を用いたが、同様のことはプレゼンス検知、認証、個体識別等でも実現可能である。これらはよく知られている技術なので、以下にあっさり触れる程度に留める。
プレゼンスを宛先発見サーバ３０（亦はプレゼンスサーバ）が提供する場合には、プレゼンス検知を用いてもよい。プレゼンスを検知する際に、宛先発見過程への仮の参加等をしてもよい。プレゼンス検知によって、第一通信ノード１０が存在しているかどうかが判っても、それが自ノードであるかどうかが判らない場合には、宛先発見過程への仮の参加は有用である。なおプレゼンスについて従来と異なる点は、第一通信ノード１０についての詳細な状態情報は不要で、オンライン／オフラインのみの検知で足る。
亦は実際の接続を試みる場合にあっては、既に説明した到達性確認の外に、認証によってもよい。これは宛先発見過程の制御をする際に用いる認証と同一のものであることを妨げない。もちろん異なる認証過程であっても良い。
亦は、受信者が宛先として発見させたい通信ノードを個体識別する情報を第一通信ノード１０たり得る通信ノードにあらかじめ登録しておき、その登録の一致で以って判断してもよい。これらによって住所を知らないまま接続を試みる場合であっても、外部環境を検知できる。
【００８０】
以上説明したステップＳ４０２乃至はステップＳ４１０のステップから、外部環境を検知している。これを刺激とする。
ステップＳ４１２乃至はステップＳ４２０は、検知した刺激に対する反応を示す。
ステップＳ４１２乃至はステップＳ４１４では、更新部１７０が更新することによって、外部環境に対して働き掛けている。
ステップＳ４１６乃至はステップＳ４１８では、更新しないことによって、外部環境に対する負の働き掛け（つまり外部環境に対して働き掛けをしない）である。
【００８１】
ステップＳ４２０では、単に現状の宛先発見を維持する。
【００８２】
（維持する）
実施例１では、「更新する」と「維持する」とは同じものとして扱ったが、ここでは別けて考える。
以下に表１中の註２部分を更に詳しく説明した表を示す。
（表２）
0005466144.tif 000003
表２から、自ノードが第一通信ノード１０であって、かつ自ノードの住所も亦変化していない場合にする反応が、「維持する」である。
「維持する」とは、「原則、何もしない。必要であればキープアライブを送信する」と読み替えてもよい。
【００８３】
表２中の註４について、図０６を用いて説明する。
図０６は、維持する場合を示すフローチャートである。ステップＳ４２０の内部動作である。
ステップＳ６０２は、宛先発見サーバ３０がキープアライブを要するタイプであるか否かを判断している。キープアライブを要する場合にはステップＳ６０８に分岐する。要しない場合にはステップＳ６０４に進む。
ステップＳ６０４では、切替部１５０は、更新部１７０をオフ亦はオンする。
ステップＳ６０６では、ステップＳ６０４に従って原則、何もしない（つまり更新しない）か亦は更新してもよい。すなわちキープアライブを要しない場合には、更新してもしなくても、どちらも同じなのである。第二通信ノード２０が発見する通信ノードが自ノードであってかつ、住所も変化していない場合には、更に更新した所で宛先発見過程は何も変化しないからである。
ステップＳ６０８では、便宜的に切替部１５０が更新部１７０をオンにする。
ステップＳ６１０では、更新部１７０は宛先発見サーバ３０に対してキープアライブ信号を送信する。
ここで便宜的にとした理由は、キープアライブと更新とは従来の技術では区別されていない場合が多く、実質的に同じ動作だからである。そこで本説明でもキープアライブ送信部を設けず、更新部１７０で代用することにした。なおキープアライブ送信部を設けてもよいことは言うまでもない。
【００８４】
通常、宛先発見サーバ３０がキープアライブを要するサーバなのか要しないサーバなのかは、宛先発見する以前に判っている。図０６は、宛先発見サーバ３０がキープアライブを要する場合とそうでない場合とを比較して説明するためだけに明示したものである。実装の際には、ステップＳ６０２で分岐するのではなく、宛先発見サーバ３０の種別に応じて実装される方がよい（どうせ更新の具体的な手段が違うから）。
【００８５】
以上によって、「維持する」場合を説明した。
「維持する」と「更新する」とは、明確に区別されていないことについても説明した。しかし本来的には、宛先発見過程を現状のままに維持することではなく、見掛の宛先に関連付けられる実際の宛先の明示の変更のみを更新としたいところである。例えば第二通信ノード２０が発見する第一通信ノード１０は変化していないが、第一通信ノード１０の住所が変化した場合には、宛先発見過程は（少なくとも）一旦は見失われる。このような場合に宛先発見過程を受信者が意図する第一通信ノード１０に取戻す場合等である。以下では、「維持する」場合を含まない「更新する」場合について説明する。
【００８６】
（住所変化）
表２中の註５の場合である。すなわち、自ノードが第一通信ノード１０であって、更に自ノードの住所が変化した場合を指す。これは従来の更新に相当する場合である。
従来のように第一通信ノード１０が単一の場合には、自ノードの住所変化の際にはむやみに更新すれば良かったものである。
第一通信ノード１０であるところの自ノードの住所が変化した時、一時的に宛先発見は見失われる。
よって、（ハ）第一通信ノード１０が存在しない場合を検知すればよい。
【００８７】
図０７に、第一通信ノード１０が自ノードの住所の変化をトリガにどのように動作するかを示す。図０７でＰＣ１１が受信者の意図した第一通信ノード１０であり、旧ＰＣ１１が宛先発見サーバ３０が記憶する実際の宛先であるところの第一通信ノード１０である。
ステップＳ８０２では、ＰＣ１１は宛先発見サーバ３０に見掛の宛先で以って問合せる。
ステップＳ８０４では、宛先発見サーバ３０の応答から、その時点での第一通信ノード１０の住所を得る。しかし自ノードが第一通信ノード１０であって、更に自ノードの住所が変化した訳だから、当然に宛先発見サーバ３０は住所変化前まで自ノードに割当てられていた住所をステップＳ８０４では返すことになる。図０５のステップＳ４０４において、自ノードが第一通信ノード１０でないことが検知される場合に相当する。
ステップＳ８０６では、ステップＳ８０４で得た住所（すなわち旧住所）宛に通信を試みる。
ステップＳ８０８では、当然に返事はない。なおこの時、第二通信ノード２０から見ても、第一通信ノード１０を見失っている。（旧住所はそれまで自ノードが使用していた住所であり、かつ自ノードが住所変化した訳だから、その住所を使用している通信ノードは原則的に存在しないことになる）
ステップＳ８１０では、ステップＳ８０８で返事がなかったことから、第一通信ノード１０が存在しないことが判る。すなわち当該住所を使用している通信ノードが存在しないことが検知される。亦は無関係な通信ノードが該住所を使用している場合をも検知するために既に説明した到達性確認等を用いてもよい。
ステップＳ８１２では、切替部１５０は更新部１７０をオンにし、更新部１７０は住所変化を反映した更新をする（図０５のステップＳ４１４）。これによって自ノードが第一通信ノード１０であり続ける。
【００８８】
実施例２では、外部環境検知の具体例、維持する場合、住所変化について説明した。
以上から本発明の本質は、従来自動更新の際にはむやみに更新命令を送信していたものを、外部環境の検知を刺激として、外部環境に応じて更新する場合と更新しない場合とを作ったことにある。
すなわち外部環境検知手段が検知した外部環境に応じて、宛先発見過程を制御する通信ノードであることに特徴を有する。
【００８９】
（変形例）
既にした説明から、宛先発見サーバ３０がキープアライブを要しない場合には、第一通信ノード１０の住所が変化しない場合には更新しなくてもよい。やってもやらなくてもよいのなら、やらないほうが望ましい。
ただし、キープアライブを要するにも係らず、エキスパイアしない宛先発見サーバ３０はあってもよい。この場合はキープアライブを要しない場合と同様と考える。
【００９０】
これを実施例２の場合に反映すると、自ノードが第一通信ノード１０であってかつ住所変化していない場合（図０６のＳ６０６）と、自ノードの外に第一通信ノード１０がある場合（図０５のＳ４１８）とは、供に更新しないことになるから、単に第一通信ノード１０の存在が検知された場合には更新しないことになる。よってキープアライブを要しない場合には、自ノードが第一通信ノード１０であることは知る必要がなく、単に第一通信ノード１０が存在していることさえ検知できればよい（すなわち（イ）と（ロ）とを区別する必要がない）。キープアライブを要しない場合には、表１中の註２部分を「維持する」から「更新しない」と置き換えられたい。
なお変形例において、ブロック図は図０２と同様である。
【００９１】
図０８に、宛先発見サーバ３０がキープアライブを要しない場合に適用できる実施例１を変形したフローチャートを示す。
ステップＳ２０２では、外部環境検知部１３０が各第一通信ノード１０たり得る通信ノードから見ての外部環境を検知する。
【００９２】
ステップＳ２０４─２では、ステップＳ２０２で外部環境検知部１３０がした外部環境の検知結果に基づき、切替部１５０が判断分岐する。すなわち切替部１５０は自ノードに宛先発見過程の制御権があるかないかを判断する。
ステップＳ２０４─２で「第一通信ノード１０が存在する」ことが検知された場合には、ステップＳ２１０に分岐する。そうでなかった場合には、ステップＳ２０６に進む。
【００９３】
ステップＳ２０６では、切替部１５０が更新部１７０をオンにする。
【００９４】
ステップＳ２０８では、更新部１７０が、宛先発見サーバ３０を直接亦は間接に更新する。すなわち通信ノードは外部環境に対しての働き掛けをする場合である。第一通信ノード１０が存在しない場合には、更新することによって、自ノードに宛先を振向けるのは実施例１と同じである。実施例１とは異なって、自ノードが第一通信ノード１０の場合は、Ｓ２０４−２で除外されている。すなわち維持する場合はない。
【００９５】
ステップＳ２１０では、切替部１５０が更新部１７０をオフにする。
【００９６】
ステップＳ２１２は、更新しないことを明示に表す論理的なステップである。
【００９７】
実施例１は、キープアライブを要する場合と要しない場合とを問わずに適用できる。
変形例は、キープアライブを要しない場合に適用できる。
【００９８】
（全体シーケンス）
図０９に、第一通信ノード１０たり得る通信ノードであるところのＰＣ１１と自動車１３と、宛先発見サーバ３０との間の動作を示すタイムチャートを示す。
各通信ノードの動作については実施例２を参照されたい。
【００９９】
タイムチャートの開始時点において、宛先発見サーバ３０に記憶されている第一通信ノード１０の住所は、自動車１３の住所とする（ステップＳ１）。
【０１００】
所定のタイミングで、ＰＣ１１は、宛先発見サーバ３０に対して、図０５のステップＳ４０２で説明した手順で、住所取得処理を行う（ステップＳ２、Ｓ３）。
【０１０１】
宛先発見サーバ３０に記憶されている第一通信ノード１０の住所は、自動車１３の住所であるので、ＰＣ１１は、自動車１３の住所を取得することになる。この場合、ＰＣ１１は、取得した住所と自ノードの現在の住所とが一致していないと判定し（図０５のステップＳ４０４）、取得した住所宛、つまり自動車１３宛にサイン信号を送信することにより、到達性確認を行う（ステップＳ４、Ｓ５、図０５のステップＳ４０６乃至はＳ４１０）。
【０１０２】
この際、自動車１３が正常に稼動していない等の障害が発生していない限り、所望の到達性確認結果が得られるであろう。このため自ノードの外に第一通信ノード１０があることが判り、ＰＣ１１は宛先発見サーバ３０に対して、更新は行わない（ステップＳ６、図０５のステップＳ４１６乃至はＳ４１８）。
【０１０３】
その後、同様に、自動車１３側でも、住所取得処理が行われる（ステップＳ７、Ｓ８）。ただし、この場合、自動車１３は、取得した住所と自ノードの現在の住所とが一致していると判定するので（図０５のステップＳ４０４）、その時点での宛先発見を維持する（ステップＳ９、図０５のステップＳ４２０）。亦はこのタイミングで、図示しないキープアライブ信号を送信（図０６のステップＳ６１０）してもよい。
【０１０４】
その後、引き続き、ステップＳ２〜Ｓ６と同様の処理が繰り返される（ステップＳ１０〜Ｓ１４）。
【０１０５】
その後、自動車１３に割当てられている住所が変化するというイベントが発生したとする（ステップＳ１５）。
【０１０６】
しかし、宛先発見サーバ３０には、自動車１３の過去の住所が記憶されたままである。この状態では、自動車１３が住所取得処理を行っても（ステップＳ１６、Ｓ１７）、自動車１３は、自ノードの過去の住所を取得することなり、ひいては、自ノードの過去の住所と現在の住所とを比較することになる。この結果、両住所は一致していないと判定される（図０５のステップＳ４０４）。したがって、自動車１３は、自ノードの過去の住所宛に到達性確認を行う（ステップＳ１８、Ｓ１９、図０５のステップＳ４０６乃至はＳ４１０）。自動車１３は過去の住所を既に使用してないため、所望の到達性確認の結果は得られない。そこで自動車１３は、宛先発見サーバ３０に対する更新を行う（ステップＳ２０、Ｓ２１、図０５のステップＳ４１２乃至はＳ４１４）。
【０１０７】
以上説明したように、本実施例によると、ＰＣ１１、１２及び自動車１３を択一的に宛先として発見させながらヒトは通信ノードをホップして通信を行えるようになる。
【０１０８】
（システム）
以下に、通信システムの全体を示す。
通信の開始を欲する発意者の用いる第二通信ノード２０と、
受信者が使用する第一通信ノード１０と、
見掛の宛先と実際の宛先亦は中間的な情報とのマッピングを記憶する宛先発見サーバとが網４０を介して接続されており、
第二通信ノード２０が第一通信ノード１０との通信を欲した時に、
第二通信ノード２０が宛先発見サーバ３０あるいは網４０へ見掛の宛先を問合せるか、亦は宛先発見サーバ３０あるいは網４０に対して接続を要求し、
宛先発見サーバ３０あるいは網４０の応答から実際の宛先を知るか、亦は実際の宛先を知らないまま接続を試みる場合であって、
宛先は１以上の第一通信ノード１０たり得る通信ノードからなる群を構成している場合に、
１の第一通信ノード１０たり得る通信ノードが宛先発見サーバ３０に対して、自ノードを見掛の宛先に対応付けられる実際の宛先として更新し、
第一通信ノード１０たり得る通信ノードが２以上の場合には、前記した通信ノードの外の通信ノードは、見掛の宛先に対応した実際の宛先を更新しない
ことによって、受信者が指定する通信ノードを宛先として第二通信ノード２０に発見させるシステム。
【０１０９】
（応用例）
本発明を自動化した場合のフローチャートを図１０に示す。
図１０（１）は、従来の自動更新プログラムの開始と対比されるべきである。
以下に説明するのは新しい自動更新の例である。新しい自動更新は更新の試みを継続することによってなる。起動は、通信ノードの起動であっても、更新の試みの開始であってもよい。
実施例１の全体（すなわちステップＳ２００）は、検知した外部環境に応じて更新部１７０のオン／オフを切替えるので、従来の自動更新とは異なって、結果として更新することになるか否かは事前には不明である。この特徴から、実施例１の全体を「更新の試み」ということとする。なお実施例１の全体と、実施例２の全体（すなわちステップＳ４００）亦は変形例の全体（すなわちステップＳ２００−２）とを置き換えてもよい。
【０１１０】
ステップＳ９０６は、タイマによって、所定時間の経過が計時されるものである。所定時間待機した後に、更新の試みへとループする。その結果、全体として、更新の試みを継続することになる。これが新しい自動更新の例である。なお宛先発見サーバ３０がキープアライブを要する場合には、前記所定時間は、宛先発見サーバ３０のエキスパイア時間による制限を受ける。亦はステップＳ９０６に替えて図示しない従来からされていた自ノードの住所変化の検知をトリガに更新の試みを実施してもよい。
【０１１１】
従来の自動更新とは異なって、宛先として現に発見されてはいないが将来発見され得る通信ノードは自ノードでない第一通信ノード１０が既にある場合、起動時に更新の試みをしても、宛先発見を現に発見される通信ノードから奪うことはない。
【０１１２】
このことによって、第一通信ノード１０たり得る通信ノードが、単一の通信ノードのみによってなる場合（要するに群の構成要素が１の場合）であっても、いつでも第一通信ノード１０の背後に通信ノードを追加することが出来る。
背後に追加された通信ノードは、第一通信ノード１０たり得る通信ノードのままである。すなわち単に追加しただけでは、現に発見される通信ノードにはならない。
そして一旦第一通信ノード１０（現に発見される通信ノード）になった後では、第一通信ノード１０の立場が維持される。この時、現に発見されていない通信ノードが、第一通信ノード１０が本来有する制御権を侵して宛先発見過程を制御することはない。そうであってこそ、受信者の発意は網に反映される。
すなわち第一通信ノード１０たり得る通信ノードの内、受信者が欲した通信ノードを第二通信ノード２０に発見させることが出来る。
【０１１３】
ところで通信ノードの起動時に自動更新を開始することは従来からされていたことである。従来は、通信ノードは外部環境とは無関係に必ず更新してしまっていた。つまり第一通信ノード１０が存在している場合に後から追加した通信ノードは宛先として発見される立場を第一通信ノード１０から奪ってしまうことになる。これを逆に利用して、受信者の発意の反映に用いることができる。すなわち図１０（２）のようにする。
図１０（２）では、更新の試みを実施する前に、従来の更新を実施する。すなわち起動時に強制更新する。
【０１１４】
このような動作を通信ノードにさせるためには、起動オプション等によって実現可能である。あらかじめ起動オプションを指定した起動設定（例えば通信ノードの電源オン時の動作の設定）を保存しておくことによって、起動時に強制的に更新し、すなわち宛先発見を自ノードに振り向け、その後更新の試みの実施に切り替えることができる。
【０１１５】
図１０の（１）と（２）とを切替えて実施できるようにした場合のブロック図を図１１に示す。
図１１は、図０１に示す第一通信ノード１０たり得る通信ノードの内部構成を示すブロック図である。図１１には、図０２に示したブロック図に対して、動作制御部１２０が追加されている。亦、記憶装置１１０には、起動オプション記憶部１１４が追加されている。
起動オプション記憶部１１４は、起動時の動作を指示する値を記憶するものである。該値は外部から引き渡されたものを記憶してもよい。
動作制御部１２０は、初期動作決定部１２１と、タイマ１２９とを含む。
初期動作決定部１２１は、起動オプション記憶部１１４から起動オプションを読み取って、初期動作を決定するものである。
タイマ１２９は、動作タイミングを規制するものである。
【０１１６】
図１２は、更新の試みを継続する場合の第一通信ノード１０たり得る通信ノードの動作の概要を示すフローチャートである。
ステップＳ９０２では、初期動作決定部１２１が起動オプション記憶部１１４から起動オプションを読み出している。
ステップＳ９０４では、初期動作決定部１２１が起動オプションの内容を判断している。起動オプションの内容が、起動時に更新するであれば、ステップＳ２０６に分岐する。起動オプションの内容が、通常であるか亦はオプションがなければ、ステップＳ２０２に進む。
ステップＳ２０２に進んだ場合は、実施例１と同じなので省略する。以下、変更点のみ説明する。
ステップＳ２０６に分岐した場合も実施例１と同じなのだが、ここでステップＳ２０８ではなくステップＳ２０６に分岐する理由について補足しておく。従来の自動更新では更新部１７０のオン／オフの概念が存在しなかったので単にむやみに更新すればよかったのだが、本発明では更新部１７０のオン／オフを切り替えるので、オンにすることを明示するためである。
その後、所定時間待機（ステップＳ９０６）した後に、ステップＳ２００の先頭すなわちステップＳ２０２にループすることは、図１０の説明でした通りである。
【０１１７】
図１０（２）のように起動時に強制更新する場合は、自動車等において有用である。
【産業上の利用可能性】
【０１１８】
（実際的応用）
図１３は、本発明の実際的な応用を示す説明図である。第一通信ノード１０の利用者が実ノードであるＰＣ１１、ＰＣ１２、自動車１３を第一通信ノード１０として発見させながら、実際に渡り歩く例を説明する。
【０１１９】
ＰＣ１１は自宅に設置され、ＰＣ１２は会社に設置されているものとする。ＰＣ１２の電源は、月曜日にオンし金曜日にオフするものとする。
ここではモジョ氏が朝、自宅から会社に向かうまでを例として挙げる。
【０１２０】
モジョ氏は朝食を取り朝の連絡事項をチェックした後で、ＰＣ１１に終了命令を出しておいて、車で会社に向かう。
この時、ＰＣ１１に終了命令を出すことは通信ノードを網から存在させなくするための明示の発意に当る。すなわちモジョ氏が朝自宅に居る間に、宛先として発見される通信ノードはＰＣ１１である。
【０１２１】
モジョ氏は自動車１３に乗り込んだ後、当然にエンジンを掛ける。
エンジンを掛けることには発意がある。応用例に説明した、起動時の強制更新（図１０（２）を指す）をするように自動車１３が構成されていればよい。ここで自宅のＰＣ１１が終了処理の途中であり未だ第一通信ノード１０のままであっても、該強制更新によって、通信ノードの起動とそれに基づく宛先発見を自ノード（この場合は自動車１３）に振り向ける手動更新が自動的に為される。これ以後、宛先として発見される通信ノードは自動車１３となる。
【０１２２】
モジョ氏は会社に到着すると、自動車１３を降り、会社内の自宅のデスクに向かう。この時、自動車１３のエンジンを切れば、やはり通信ノードを網から存在させなくするための明示の発意に当る。
ここで会社のＰＣ１２の電源が点いたままであって本発明に説明した更新の試みを継続していたとすると、自動車１３が網上に存在しなくなったことによって、第一通信ノード１０の不存在が検知されるために、ＰＣ１２は自らに宛先発見を振り向ける。これ以後、宛先として発見される通信ノードはＰＣ１２となる。
【０１２３】
念のために朝、モジョ氏がするＰＣ１１の電源断が早い場合に、会社のＰＣ１２に宛先発見が移る場合がありうることを指摘しておく。ただしこの場合であっても、既にした説明から、モジョ氏が自動車１３のエンジンを掛けたときに、宛先は自動車１３となるので、ヒトが通信ノード間を移動するのに正しく追随して、宛先発見が為されていることが判る。
【０１２４】
なおモジョ氏が会社に居る間に、自宅のＰＣ１１の電源をモジョ氏の家族が入れたとしても、ＰＣ１１が応用例で説明した起動後に強制更新なしで更新の試みを継続する場合（図１０（１）のこと）には、会社のＰＣ１２が宛先として発見されることを継続することができ、自宅のＰＣ１１が会社のＰＣ１２から宛先発見を奪うことはない。
【０１２５】
このようにして受信者の欲する通信ノードを宛先として発見させながらも、ヒトは通信ノードをホップしながら渡り歩くことが出来る。
【図面の簡単な説明】
【０１２６】
【図０１】網全体ブロック図である。
【図０２】第一通信ノード１０たり得る通信ノードのブロック図である。
【図０３】第一通信ノード１０たり得る通信ノードの動作を示したフローチャートである。
【図０４】実施例２に係る第一通信ノード１０たり得る通信ノードのブロック図である。
【図０５】実施例２に係る第一通信ノード１０たり得る通信ノードの動作を示したフローチャートである。
【図０６】維持する場合を示すフローチャートである。
【図０７】第一通信ノード１０が自ノードの住所の変化をトリガにどのように動作するかを示すフローチャートである。
【図０８】実施例１を変形した第一通信ノード１０たり得る通信ノードの動作を示したフローチャートである。
【図０９】宛先発見サーバ３０と第一通信ノード１０たり得る通信ノードであるところのＰＣ１１と自動車１３との状態の変遷を示すタイムチャートである。
【図１０】第一通信ノード１０たり得る通信ノードの起動時の動作を示すフローチャートである。
【図１１】応用例に係る第一通信ノード１０たり得る通信ノードのブロック図である。
【図１２】応用例に係る第一通信ノード１０たり得る通信ノードの動作を示したフローチャートである。
【図１３】実際的応用を示す図である。
【符号の説明】
【０１２７】
10    第一通信ノード
110       記憶装置
111           静的な識別子記憶部
112           （宛先発見サーバが示す）第一通信ノードの住所記憶部
113           割当現住所記憶部
114           起動オプション記憶部
119           作業領域
120       動作制御部
121           初期動作決定部
129           タイマ
130       外部環境検知部
131           住所取得部
132           判定部
133           サイン信号処理部
134           カウンターサイン信号処理部
135           到達性確認部
150       切替部
170       更新部
190       通信インターフェース
20    第二通信ノード
30    宛先発見サーバ
40    網
【図０１】
0005466144.tif 000004
【図０２】
0005466144.tif 000005
【図０３】
0005466144.tif 000006
【図０４】
0005466144.tif 000007
【図０５】
0005466144.tif 000008
【図０６】
0005466144.tif 000009
【図０７】
0005466144.tif 000010
【図０８】
0005466144.tif 000011
【図０９】
0005466144.tif 000012
【図１０】
0005466144.tif 000013
【図１１】
0005466144.tif 000014
【図１２】
0005466144.tif 000015
【図１３】
0005466144.tif 000016