(57)【要約】【課題】移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行するためのコンピュータシステム、方法及びコンピュータプログラム製品を提供する。【解決手段】この方法は、移動アドホック通信ネットワークの問合せを行って、近傍の装置を発見するステップを含む。問合せが、近傍の装置がミドルウェア層を含むかもしれないことを指示する場合には、この方法は、更に、各近傍の装置への接続を形成し、そして各近傍の装置がミドルウェア層を含むかどうか確認するステップを含む。各近傍の装置がミドルウェア層を含む場合には、この方法は、更に、ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行すると共に、アプリケーション及びサービスに着手するステップを含む。【選択図】図４Ａ
2008017495.tif 000002
【特許請求の範囲】
【請求項１】
移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行するシステムにおいて、
メモリ装置と、
前記メモリ装置と通信するように配置されたプロセッサと、
を備え、前記プロセッサは、
前記移動アドホック通信ネットワークの問合せを行って、少なくとも１つの近傍の装置を発見し、前記問合せは、前記少なくとも１つの近傍の装置がミドルウェア層を含むかもしれないという指示を含み、
前記問合せが、前記少なくとも１つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むときには、前記少なくとも１つの近傍の装置への接続を形成し、前記少なくとも１つの近傍の装置がミドルウェア層を含むかどうか確認し、そして
前記少なくとも１つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行する、
というように構成されたシステム。
【請求項２】
前記ミドルウェア層は、サービス発見プロトコル及び少なくとも１つのコンピュータプログラムを含み、各コンピュータプログラムは、少なくとも１つの一連の動作命令を含む請求項１に記載のシステム。
【請求項３】
前記少なくとも１つの近傍の装置がミドルウェア層を含むときには、前記プロセッサは、更に、前記ミドルウェア層を実行して、アプリケーション及びサービスに着手するように構成された請求項１に記載のシステム。
【請求項４】
前記問合せを行うために、前記プロセッサは、更に、
前記移動アドホック通信ネットワーク内のカバレージエリアに問合せ要求メッセージを送信し、そして
前記少なくとも１つの近傍の装置から、前記指示を含む問合せ応答メッセージを受信する、
というように構成された請求項１に記載のシステム。
【請求項５】
前記問合せ要求メッセージは、ブルーツース問合せコマンドであり、そして前記問合せ応答メッセージは、ブルーツース問合せ結果コマンドである請求項４に記載のシステム。
【請求項６】
前記ミドルウェア層を実行してアプリケーション及びサービス発見を遂行するために、前記プロセッサは、更に、
前記少なくとも１つの近傍の装置から通知メッセージを受信し、該通知メッセージは、前記少なくとも１つの近傍の装置に記憶されたローカルアプリケーションディレクトリーを含むものであり、
結合アプリケーションディレクトリーに対する更新を記憶し、この更新は、ローカルアプリケーションディレクトリーと結合アプリケーションディレクトリーとの比較に基づくものであり、そして
前記少なくとも１つの近傍の装置に更新メッセージを送信し、この更新メッセージは、前記少なくとも１つの近傍の装置に記憶されたローカルアプリケーションディレクトリーを更新するために前記結合アプリケーションディレクトリーの更新部分を含む、請求項１に記載のシステム。
【請求項７】
前記プロセッサは、更に、
前記結合アプリケーションディレクトリーにおける参照に基づいてローカルアプリケーションに着手し、そして
前記ローカルアプリケーションを、前記少なくとも１つの近傍の装置で実行される対応アプリケーションに接続する、
というように構成された請求項６に記載のシステム。
【請求項８】
移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行する方法において、
前記移動アドホック通信ネットワークの問合せを行って、少なくとも１つの近傍の装置を発見するためのステップであって、前記問合せは、前記少なくとも１つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むステップと、
前記問合せが、前記少なくとも１つの近傍の装置がミドルウェア層を含むかもしれないという指示を含むときには、前記少なくとも１つの近傍の装置への接続を形成し、前記少なくとも１つの近傍の装置がミドルウェア層を含むかどうか確認するためのステップと、
前記少なくとも１つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行するためのステップと、
を備えた方法。
【請求項９】
前記ミドルウェア層は、サービス発見プロトコル及び少なくとも１つのコンピュータプログラムを含み、各コンピュータプログラムは、少なくとも１つの一連の動作命令を含む請求項８に記載の方法。
【請求項１０】
前記少なくとも１つの近傍の装置がミドルウェア層を含むときには、前記ミドルウェア層を実行して、アプリケーション及びサービスに着手するステップを更に備えた請求項８に記載の方法。
【請求項１１】
前記問合せを行うステップは、更に、
前記移動アドホック通信ネットワーク内のカバレージエリアに問合せ要求メッセージを送信する段階と、
前記少なくとも１つの近傍の装置から、前記指示を含む問合せ応答メッセージを受信する段階と、
を備えた請求項８に記載の方法。
【請求項１２】
前記問合せ要求メッセージは、ブルーツース問合せコマンドであり、そして前記問合せ応答メッセージは、ブルーツース問合せ結果コマンドである請求項１１に記載の方法。
【請求項１３】
前記ブルーツース問合せ結果コマンドにおける少なくとも１つのビットを、前記指示における少なくとも１つの所定の値にセットするステップを更に備えた請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ワイヤレス通信ネットワークに接続された装置間の通信に係る。より詳細には、本発明は、移動アドホック通信ネットワークにおいて装置検出及びサービス発見を実行するためのシステム及び方法に係る。
本出願は、２００２年１０月３１日に米国特許商標庁に出願された「DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK」と題する米国特許出願第１０／２８４，１３５号を参考として援用し、その優先権を請求する。又、本出願は、２００３年９月１６日に米国特許商標庁に出願された「DEVICEDETECTION AND SERVICE DISCOVERY SYSTEM AND METHOD FOR A MOBILE AD HOC COMMUNICATIONS NETWORK」と題する米国一部継続特許出願第ＳＳ／ＸＸＸ，ＹＹＹ号も参考として援用し、その優先権を請求する。更に、本出願は、２００３年９月１６日に米国特許商標庁に出願された「MECHANISM FOR IMPROVING CONNECTION CONTROL IN PEER-TO-PEER AD-HOC NETWORKS」と題する米国特許出願第ＳＳ／ＸＸＸ，ＹＹＹ号にも関連し、参考として援用する。又、本出願は、２００３年９月１６日に米国特許商標庁に出願された「APPLICATION CONTROL IN PEER-TO-PEER AD-HOC COMMUNICATION NETWORKS」と題する米国特許出願第ＳＳ／ＸＸＸ，ＹＹＹ号にも関連し、参考として援用する。譲受人は、前記特許出願、一部継続特許出願、及び関連特許出願において同一である。
【背景技術】
【０００２】
ショートレンジワイヤレスシステムは、その範囲が１００メーター未満であるが、インターネットに接続して長距離通信を行うことができる。ショートレンジワイヤレスシステムは、ワイヤレスパーソナルエリアネットワーク（ＰＡＮ）及びワイヤレスローカルエリアネットワーク（ＬＡＮ）を含むが、これらに限定されない。ワイヤレスＰＡＮは、典型的な範囲が１０メーターの低コスト、低電力のワイヤレス装置を使用する。ワイヤレスＰＡＮ技術の一例は、ブルーツース（Bluetooth）規格である。ブルーツース規格は、２．４ＧＨｚの工業、科学及び医療（ＩＳＭ）帯域で動作し、１Ｍｂｐｓのピークエアリンク速度と、パーソナルデジタルアシスタンスや移動電話のようなパーソナル、ポータブル電子装置に使用するのに充分な低い消費電力とを与える。ブルーツース通信プロトコル及び装置動作原理の説明が、「Bluetooth Special Interest Group, Specification of the Bluetooth Standard」、バージョン１．０Ｂ、第１及び２巻、１９９９年１２月、に掲載されている。ワイヤレスＬＡＮは、ワイヤレスＰＡＮよりコストがかかるが、長距離である。ワイヤレスＬＡＮ技術の一例は、ＩＥＥＥ８０２．１１ワイヤレスＬＡＮ規格及びＨＩＰＥＲＬＡＮ規格である。ＨＩＰＥＲＬＡＮ規格は、５ＧＨｚの非認可国内情報インフラストラクチャー（Ｕ−ＮＩＩ）帯域で動作し、１０から１００Ｍｂｐｓのピークエアリンク速度を与える。
【０００３】
アドホックネットワークは、情報を交換するに充分なほど物理的に接近したワイヤレス装置の任意の集合で構成されるショートレンジワイヤレスシステムである。アドホックネットワークは、ワイヤレス装置が他のワイヤレス装置の至近域に入ったり出たりするときにそれらがネットワークに加わったり出たりすることで迅速に構成される。又、アドホックネットワークは、１つ以上のアクセスポイントを含んでもよく、即ちスタンドアローンサーバーとして動作するか他のネットワークへのゲートウェイ接続として動作する固定のワイヤレス装置を含んでもよい。
【０００４】
将来、ブルーツース規格は、マルチホップのアドホックネットワーク又はスキャッターネットを形成するために多数のピコネットの相互接続をおそらくサポートするであろう。スキャッターネットでは、接続装置が異なるピコネット間にトラフィックを転送する。接続装置は、１つのピコネットではマスター装置として働くが、別のピコネットではスレーブ装置又はマスター装置として働く。従って、接続装置は、タイミング及びホップシーケンスを各ピコネットに適応させ、そしておそらくはサービスの役割をマスター装置からスレーブ装置へ切り換えることにより、スキャッターネットを含むピコネットに加わる。
【０００５】
ブルーツース装置は、移動電話、パーソナル又はラップトップコンピュータ、高周波識別タグ、及びパーソナル電子装置、例えば、パーソナルデジタルアシスタント（ＰＤＡ）、ページャー又はポータブルコンピュータ装置を含むが、これらに限定されない。各ブルーツース装置は、ネットワークの通信範囲に出入りするときに他のブルーツース装置を発見するように設計されたアプリケーション及びオペレーティングプログラムを備えている。クライアントの役割における要求側ブルーツース装置と、サーバーの役割における応答側ブルーツース装置は、２つの装置間にリンクを確立する。要求側及び応答側のブルーツース装置は、そのリンクと、サービス発見プロトコルとを使用して、他のブルーツース装置によりオファーされるサービス及びそれらサービスへいかに接続するかを発見する。
【０００６】
従来のシステムは、サービス発見プロトコルに対して同様の振舞いパターンをたどる。記述言語及び適当な語彙を使用して生成されたサービス記述が広告されるか、又は問合せの一致に対して使用される。ある従来システムは、記述をディレクトリーに押し込み、そしてディレクトリーを発見するように広告主に要求することにより、サービス記述を広告する。他の従来システムは、記述をピア対ピア発見に使用できるようにすることによりサービス記述を広告する。サービス記述を発見することが必要なクライアント装置は、問合せ言語及び一致する語彙を使用して問合せを構成し、そして問合せプロトコル又は分散型問合せ処理サーバーのいずれかを使用して問合せを配送する。
【０００７】
従来システムにおけるサービス発見プロトコルは、問合せメッセージを送信しそしてそれに応答することを必要とする。他の装置が存在しない場合には、問合せメッセージが無益に送信される。過剰な電力消費を回避するため、従来のシステムは、通常、別の当該装置が存在するときに人間のユーザが装置の検出を手動で開始することを要求する。例えば、人間のユーザは、データ通信を取り扱うためにセルラー電話をラップトップコンピュータへ接続するとき、又はデジタルオーディオを配送するためにワイヤレスハンドセットをラップトップコンピュータに接続するときに、装置の検出を手動で開始する。これらの従来システムは、３つの仮定に依存する。第１に、アプリケーションは、そのサービスの存在が保証されるので自由にスタートすることができる。第２に、アプリケーションは、最初にサービスを必要とするときにサービス発見を実行する。第３に、ネットワークの組成は、アプリケーションの寿命中に変化しない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、過剰な電力消費を回避すると共に、１つの装置に常駐するアプリケーションが、アドホック通信ネットワーク内のいずれかの他の装置に常駐する対応アプリケーション又は他のリソースを自動的に見出すのを許す装置検出及びサービス発見プロトコルが要望される。このプロトコルは、人間のユーザが対応アプリケーション又は他のリソースを見出すために装置検出を手動で開始することを要求しない。更に、このプロトコルは、特定装置の存在が保証されないと共に、装置がネットワークに頻繁に出入りするためにネットワークの組成が動的であるようなネットワーク環境を受け容れる。本発明は、このような要望に向けられる。
【課題を解決するための手段】
【０００９】
移動アドホック通信ネットワークにおいて装置検出及びサービス発見を実行するためのコンピュータシステム、方法及びコンピュータプログラム製品が提供される。この方法は、移動アドホック通信ネットワークの問合せを行って近傍の装置を発見するステップを含む。問合せが、近傍の装置がミドルウェア層を含むかもしれないことを指示する場合には、この方法は、更に、各々の近傍の装置への接続を形成するステップと、各々の近傍の装置がミドルウェア層を含むかどうか確認するステップとを含む。ミドルウェア層を含む近傍の装置の各々に対して、この方法は、更に、ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行すると共に、アプリケーション及びサービスに着手するステップも含む。
【００１０】
一実施形態において、移動アドホック通信ネットワークは、ブルーツースネットワークである。問合せを行うステップは、ブルーツース問合せコマンドを送信し、そして装置がミドルウェア層を含むという指示を含むブルーツース問合せ結果コマンドを受信することを含む。ミドルウェア層を含む装置への接続を形成するステップは、ブルーツースページング要求メッセージをその装置に送信しそしてブルーツースページング受け容れメッセージを受信することを含む。装置がミドルウェア層を含むことを確認するステップは、確認要求メッセージをその装置に送信しそして確認応答メッセージを受信することを含む。ミドルウェア層を実行して、アプリケーション及びサービス発見を遂行するステップは、装置からの通知メッセージをローカルアプリケーションディレクトリーのコピーと共に受信し、ローカル及び結合アプリケーションディレクトリーの比較に基づく結合アプリケーションディレクトリーに対する更新を記憶し、そして結合アプリケーションディレクトリーに対する更新をブルーツースネットワークにおける各装置へ送信することを含む。更に、ミドルウェア層を実行するステップは、結合アプリケーションディレクトリーにおける参照に基づいてローカルアプリケーションに着手し、そしてそのローカルアプリケーションを、装置において実行される対応アプリケーションに接続することを含む。
【発明を実施するための最良の形態】
【００１１】
添付図面は、移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法の詳細をその構造及び動作の両方について最も良く示している。これら図面において同様の要素が同じ参照番号で示されている。
【００１２】
図１は、本発明の一実施形態により移動アドホック通信ネットワークを構成する装置の相互作用を示すネットワーク図である。一実施形態において、移動アドホック通信ネットワークは、１つのマスター装置と、７つまでのアクティブなスレーブ装置とを備えたブルーツースピコネットである。図１に示すように、ピコネット１００は、サーバー１１０と、ターミナル１２０の５つのインスタンスとを備えている。サーバー１１０は、ネットワーククロックを維持し、ターミナル１２０の各インスタンスに対する通信マネージャーである。サーバー１１０は、通常、ターミナル１２０のインスタンスとのデータの交換を開始する。ターミナル１２０の２つのインスタンスが、通常、サーバー１１０を経て通信するが、ターミナル１２０の２つのインスタンスが直接通信する場合には、一方のインスタンスがサーバー即ちマスターの役割を果たし、そして他方のインスタンスがクライアント即ちスレーブの役割を果たす。
【００１３】
移動アドホック通信ネットワークにおける各装置は、ターミナル装置又はサーバー装置のいずれかの役割を果たす。ターミナル装置は、単一のユーザが操作するサービスの消費者である。ターミナル装置は、移動電話又はＰＤＡのような装置を含む。サーバーは、通常、固定装置で、サービスを発生するだけである。サーバー装置は、それらのサービスを利用するためのホットスポットをそれらの周りに形成する。「ホットスポット」とは、装置を検出し、そしてサーバーにホストされたアプリケーションによりオファーされるサービスを発見するために、サーバー装置により提供される無線カバレージエリアを指す。サーバー装置が固定でない場合には、ネットワークにおけるターミナル装置の１つが、アプリケーションディレクトリーサーバーの役割を果たし、そしてネットワークにおける残りのターミナル装置に対して装置検出及びサービス発見機能を遂行する。本発明は、このようなターミナル装置間に２つの役割、即ちアプリケーションディレクトリーサーバーとターミナルとを導入し、アプリケーションディレクトリーサーバーは、装置検出及びサービス発見においてターミナルにサービスする。ホットスポットを伴う固定サーバーが存在する場合には、サーバーは、通常、アプリケーションディレクトリーサーバーとして働くが、ターミナルの１つがアプリケーションディレクトリーサーバーの義務を果たすので、装置検出及びサービス発見は、このような固定サーバーがなくても可能である。
【００１４】
本発明は、アプリケーションを、サーバーベースのアプリケーション、ターミナル対ターミナルアプリケーション、フォアグランドアプリケーション、バックグランドアプリケーション、又は一般的アプリケーションコンポーネントとして分類する。サーバーベースのアプリケーションは、サーバーがサービスを発生することを要求する。ターミナル対ターミナルアプリケーションは、少なくとも２つのターミナル装置が、サーバー装置が存在しない状態でサービスを実施することを要求する。フォアグランドアプリケーションは、ターミナル装置に常駐するアプリケーションで、ユーザがターミナル装置のユーザインターフェイスを経てアクセスするアプリケーションである。バックグランドアプリケーションは、ターミナル装置に常駐するアプリケーションで、ユーザの介在なしにスタートできるアプリケーションである。一般的アプリケーションコンポーネントは、スタンドアローンアプリケーションとして使用することもできるし、又は別のアプリケーションのコンポーネントとして使用することもできる。
【００１５】
アプリケーションは、更に、能動的、受動的、新規又は拒絶として分類されてもよい。能動的アプリケーションは、ターミナルに常駐する（即ち、メモリに記憶された）フォアグランド又はバックグランドアプリケーションである。受動的アプリケーションは、ターミナルに常駐するが、まだスタートされていない。別の実施形態では、受動的アプリケーションがスタートされるが、同じアプリケーションの他のインスタンスを能動的に探さない。新規アプリケーションは、ターミナルにまだ常駐しないが、将来常駐するかもしれない。拒絶アプリケーションは、ターミナルに常駐せず、ユーザにより、ターミナルに決して常駐すべきでないアプリケーションとしてマークされている。別の実施形態では、拒絶アプリケーションは、ターミナルにかつて常駐したが、その後、削除され、拒絶とマークされたものである。更に別の実施形態では、拒絶アプリケーションは、ターミナルに決して常駐せず、ユーザが拒絶とマークしたアプリケーションの一形式である。
【００１６】
移動アドホック通信ネットワークにおけるサービス発見は、常駐アプリケーションと、アンロードアプリケーションとの間を区別する。常駐アプリケーションは、ターミナルのメモリに記憶され、そしてフォアグランドアプリケーション又はバックグランドアプリケーションのいずれかとしてロードされる。アンロードアプリケーションは、ターミナルに記憶もロードもされないが、ユーザにより受け容れられている。通常、アプリケーションが以前に使用されたが、スペースを利用するためにオーバーライトされているときには、アプリケーションがアンロードであるとみなされる。従って、アンロードアプリケーションをスタートするには、最初にそのアプリケーションをダウンロードすること必要である。
【００１７】
ターミナル装置のパースペクティブからサービス発見を行なうには、アプリケーションの状態を、能動的常駐アプリケーション、能動的アンロードアプリケーション、受動的常駐アプリケーション、受動的アンロードアプリケーション、拒絶アプリケーション、又は新規アプリケーションのいずれかとして分類することが必要である。能動的常駐アプリケーションは、ターミナルにロードされて、ピア、サーバー又はクライアントを探索する。能動的アンロードアプリケーションは、ターミナルにロードされないが、関心があると分かった場合に自動的にダウンロードできる対応アプリケーションを探索する。受動的常駐アプリケーションは、ターミナルにロードされるが、対応アプリケーションを探索しない。受動的アンロードアプリケーションは、ターミナルにロードされないが、ユーザにより受け容れられている。拒絶アプリケーションは、ユーザがターミナル装置から除外するよう要求したアプリケーションである。新規アプリケーションは、ターミナル装置にロードされないが、ユーザは、例えば、初期のサービスにおいてアプリケーションを見ているかもしれない。
【００１８】
図２Ａは、本発明の一実施形態により図１に示すサーバー１１０を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。サーバー１１０は、汎用ワイヤレス装置である。バス２００は、キーパッド２０１、ディスプレイ２０２、中央処理ユニット（ＣＰＵ）２０３、及び高周波（ＲＦ）アダプタ２０４をメモリ２１０に接続する通信媒体である。ＲＦアダプタ２０４は、ワイヤレスリンクを経てターミナル１２０に接続され、サーバー１１０とターミナル１２０との間のネットワークトラフィックを容易にするメカニズムである。
【００１９】
ＣＰＵ２０３は、メモリ２１０に常駐するか又はそこで働く各コンピュータプログラムを構成する一連の動作命令を実行することにより本発明の方法を遂行する。メモリ２１０は、オペレーティングシステムソフトウェア２１１と、アプリケーションプログラム２１２と、ミドルウェアソフトウェア２２０とを備えている。オペレーティングシステムソフトウェア２１１は、キーパッド２０１、ディスプレイ２０２、ＲＦアダプタ２０４、及びメモリ２１０の管理を制御する。アプリケーションプログラム２１２は、ユーザとサーバー１１０との間の相互作用を制御する。ミドルウェアソフトウェア２２０は、サーバー１１０で動作されるアプリケーションプログラムが、ターミナル１２０で動作される対応アプリケーションを見出して通信するのを助けるアプリケーションプログラムインターフェイス（ＡＰＩ）２２１を備えている。各アプリケーションを迅速に探索するために、ミドルウェアソフトウェア２２０は、ピコネット１００の各装置に常駐する各アプリケーションがとる役割を追跡するためのアプリケーションディレクトリー２３０も備えている。
【００２０】
図２Ｂは、本発明の一実施形態により図１に示すターミナル１２０を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。ターミナル１２０は、汎用ワイヤレス装置である。バス２５０は、キーパッド２５１、ディスプレイ２５２、ＣＰＵ２５３、及びＲＦアダプタ２５４をメモリ２６０に接続する通信媒体である。ＲＦアダプタ２５４は、ワイヤレスリンクを経てサーバー１１０又は別のターミナル１２０に接続され、サーバー１１０とターミナル１２０との間のネットワークトラフィックを容易にするメカニズムである。
【００２１】
ＣＰＵ２５３は、メモリ２６０に常駐するか又はそこで働く各コンピュータプログラムを構成する一連の動作命令を実行することにより本発明の方法を遂行する。メモリ２６０は、オペレーティングシステムソフトウェア２６１と、アプリケーションプログラム２６２と、ミドルウェアソフトウェア２７０とを備えている。オペレーティングシステムソフトウェア２６１は、キーパッド２５１、ディスプレイ２５２、ＲＦアダプタ２５４、及びメモリ２６０の管理を制御する。アプリケーションプログラム２６２は、ユーザとターミナル１２０との間の相互作用を制御する。ミドルウェアソフトウェア２７０は、ターミナル１２０で動作されるアプリケーションプログラムが、サーバー１１０又は別のターミナル１２０で動作される対応アプリケーションを見出して通信するのを助けるＡＰＩ２７１を備えている。各アプリケーションを迅速に探索するために、ミドルウェアソフトウェア２７０は、ピコネット１００の各装置に常駐する各アプリケーションがとる役割を追跡するためのアプリケーションディレクトリー２８０も備えている。
【００２２】
一実施形態では、メモリ２１０及びメモリ２６０の構成が、同一である。別の実施形態では、メモリ２１０及びメモリ２６０の構成が、各々、サーバー１１０及びターミナル１２０の本質的なタスクを遂行するのに必要なソフトウェアしか含まない。例えば、ターミナル１２０が、一般的問合せアクセスコードを受信することは必要であるが、一般的問合せアクセスコードメッセージを送信する必要がない場合には、このメッセージを受信するソフトウェアだけがメモリ２６０に常駐する。
【００２３】
ターミナルで実行されるアプリケーションは、その対応アプリケーション、即ちそのアプリケーションと通信できる同じアプリケーションの別のインスタンスを常にサーチする。アプリケーションの各インスタンスは、特定の役割を果たす。アプリケーションとその対応アプリケーションとの間の通信は、それらの役割が相補的である場合しか意味がない。例えば、「クライアント」の役割を果たすアプリケーションは、「サーバー」の役割を果たす対応アプリケーションと通信することができる。ミドルウェアソフトウェアとは、アプリケーションが正しい役割をもつ対応アプリケーションを見出す上で助けとなるように２つのアプリケーション間の通信をネゴシエーションするＡＰＩを伴うソフトウェア層である。従って、ターミナルにインストールされてアクチベートされるアプリケーションは、関心のある新規の対応アプリケーションの連続ストリームについてＡＰＩに問合せる。
【００２４】
新規なアプリケーションは、ミドルウェアを使用してその対応部を見出しそしてターミナルのローカル記憶装置に新規なアプリケーションをインストールする「インストーラー」アプリケーションによりインストールされる。新規なアプリケーションを実際に見出して選択することは、アプリケーションレベルで行われる。最初に、インストーラーアプリケーションは、サーバー内の対応アプリケーションにアクセスし、それらの使用可能なアプリケーションデータベースをブラウズし、ユーザがインストールすべきアプリケーションをピックアップするのを許し、そして新規なアプリケーションをダウンロードしてインストールする専用の「ブラウザ−サプライヤー」（即ち、クライアント−サーバー）アプリケーションである。後で、ワイヤレスアクセスプロトコル（ＷＡＰ）及びハイパーテキストマークアップ言語（ＨＴＭＬ）ブラウザに対応機能が追加されてもよい。
【００２５】
サービス発見は、３ステップのプロセスであると考えられる。第１に、新規な潜在的アプリケーションが見出され、インストールについて考慮される。第２に、インストールされた能動的なアプリケーションが、その対応アプリケーションのサーチを開始する。第３に、インストールされたアクティブなアプリケーションは、プリンタのような共通のリソースのサーチを開始する（即ち、リソース発見）。本発明は、リソース発見を遂行するためのアプリケーションに依存する。通常、ターミナルアプリケーションは、その対応アプリケーションと通信し、そしてローカル（即ちサーバー）リソースを使用する。アプリケーションがプライベートリソースを使用する場合には、それに関連したサービス発見が、ターミナルのミドルウェアソフトウェアではサポートされない標準的な方法（例えば、ブルーツース又はブルーツース／ジャバ（Ｊａｖａ（登録商標））でアプリケーションにより実施される。
【００２６】
図３Ａは、移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するサーバー１１０の実施形態を示すフローチャートである。このプロセスは、サーバー１１０が一般的な問合せアクセスコードメッセージをターミナル１２０へ送信した（ステップ３００）ときに開始する。ターミナル１２０は、そのメッセージを受信し、そして確認応答メッセージをサーバー１１０へ送信する（ステップ３０２）。サーバー１１０は、ミドルウェアソフトウェア２２０にアクセスし、ターミナル１２０とのソケット接続を要求する（ステップ３０４）。ソケット接続の確立に応答して、サーバー１１０は、ターミナル１１０にローカルに常駐する全てのアプリケーションをリストするローカルアプリケーションディレクトリーを含むメッセージをターミナル１２０から受信する（ステップ３０６）。サーバー１１０は、ターミナル１２０に常駐するアプリケーションのリストを、サーバー１１０に常駐する結合アプリケーションディレクトリーと比較する。サーバー１１０は、結合アプリケーションディレクトリーに現われないローカルアプリケーションディレクトリーの各エントリーを結合アプリケーションディレクトリーに追加することにより、結合アプリケーションディレクトリーを更新する（ステップ３０８）。サーバー１１０は、更新された結合アプリケーションディレクトリーの一部分をピコネット１００の各ターミナル１２０に送信する（ステップ３１０）。この一部分は、各ターミナル１２０に対して異なってもよく、そしてターミナル１２０に常駐するアプリケーションに対する対応アプリケーションである結合アプリケーションディレクトリーの各エントリーを含む。別の実施形態では、サーバー１１０は、全結合アプリケーションディレクトリーをピコネット１００の各ターミナル１２０に送信し、そしてターミナル１２０に基づいて当該エントリーを保持する。ターミナル１２０及びサーバー１１０におけるミドルウェアソフトウェアのインスタンスは、新たに見つかった対応アプリケーション対の実行スケジュールを立て始める（ステップ３１２）。一実施形態では、スケジュールされたアプリケーションは、他のブルーツースプロフィール及びプロトコルを使用する。別の実施形態では、インストーラーアプリケーションであるアプリケーションは、ユーザがダウンロードしなければならない他のアプリケーションをユーザに示唆することができる。サーバー１１０が新規なアプリケーションをダウンロードしそしてスタートすると、その対応部の一致が繰り返され、その新規なアプリケーションがミドルウェアスケジュールの一部分となる。
【００２７】
図３Ｂは、移動アドホック通信ネットワークのための装置検出及びサービス発見を遂行するターミナル１２０の実施形態を示すフローチャートである。このプロセスは、ターミナル１２０がサーバー１１０から一般的問合せアクセスコードメッセージを受信したときに始まる（ステップ３２０）。ターミナル１２０は、確認応答メッセージを発生してサーバー１１０へ送信する（ステップ３２２）。ターミナル１２０は、このターミナルにローカルに常駐する全てのアプリケーションを含むローカルアプリケーションディレクトリーを含むメッセージをサーバー１１０へ送信する（ステップ３２４）。サーバー１１０は、ターミナル１２０に常駐するアプリケーションのリストを、サーバー１１０に常駐する結合アプリケーションディレクトリーと比較する。サーバー１１０は、結合アプリケーションディレクトリーに現われないローカルアプリケーションディレクトリーの各エントリーを結合アプリケーションディレクトリーに追加することにより、結合アプリケーションディレクトリーを更新する。ターミナル１２０は、更新された結合アプリケーションディレクトリーの一部分をサーバー１１０から受信する（ステップ３２６）。サーバー１１０は、ターミナル１２０に常駐するアプリケーションに対する対応アプリケーションである結合アプリケーションディレクトリーの各エントリーを含むようにターミナル１２０の一部分をカスタマイズする。別の実施形態では、サーバー１１０は、全結合アプリケーションディレクトリーをターミナル１２０に送信し、そしてターミナル１２０に基づいて当該エントリーを保持する。ターミナル１２０及びサーバー１１０におけるミドルウェアソフトウェアのインスタンスは、新たに見つかった対応アプリケーション対の実行スケジュールを立て始める（ステップ３２８）。
【００２８】
図４Ａ及び４Ｂは、ターミナルＸ及びターミナルＹが、サーバーＳによりサービスされる移動アドホック通信ネットワークに入る前後のアプリケーションディレクトリーのコンテンツを例示するブロック図である。図４Ａは、ターミナルＸ及びターミナルＹが、マスター装置であるサーバーＳにより管理される通信ネットワークに入る前の、アプリケーションディレクトリー４０４、アプリケーションディレクトリー４１５及びアプリケーションディレクトリー４２５のコンフィギュレーションを示す。アプリケーションＣ４０１は、サーバーＳのメモリ４００に常駐し、そしてＡＰＩ４０２を経てミドルウェアソフトウェア４０３にアクセスする。ミドルウェアソフトウェア４０３は、アプリケーションＣがローカル装置（即ち、サーバーＳ）に常駐しそしてサーバーの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションＣ４０１をアプリケーションディレクトリー４０４に登録する。アプリケーションＡ４１１及びアプリケーションＢ４１２は、ターミナルＸのメモリ４１０に常駐し、そしてＡＰＩ４１３を経てミドルウェアソフトウェア４１４にアクセスする。ミドルウェアソフトウェア４１４は、アプリケーションＡがローカル装置（即ち、ターミナルＸ）に常駐してクライアントの役目を果たし、且つアプリケーションＢがローカル装置（即ち、ターミナルＸ）に常駐してピアの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションＡ４１１及びアプリケーションＢ４１２をアプリケーションディレクトリー４１５に登録する。アプリケーションＢ４２１及びアプリケーションＣ４２２は、ターミナルＹのメモリ４２０に常駐し、そしてＡＰＩ４２３を経てミドルウェアソフトウェア４２４にアクセスする。ミドルウェアソフトウェア４２４は、アプリケーションＢがローカル装置（即ち、ターミナルＹ）に常駐してピアの役目を果たし、且つアプリケーションＣがローカル装置（即ち、ターミナルＹ）に常駐してクライアントの役目を果たすことを指示するためのテーブルエントリーを追加することにより、アプリケーションＢ４２１及びアプリケーションＣ４２２をアプリケーションディレクトリー４２５に登録する。
【００２９】
図４Ｂは、ターミナルＸ及びターミナルＹが、マスター装置であるサーバーＳにより管理される通信ネットワークに入った後の、アプリケーションディレクトリー４０４、アプリケーションディレクトリー４１５及びアプリケーションディレクトリー４２５のコンフィギュレーションを示す。サーバーＳは、アプリケーションディレクトリサーバー（ＡＤＳ）の役割を果たし、そしてピコネット１００における各装置に常駐するアプリケーションの登録を仲介する。サーバーＳは、ピコネット１００の装置に常駐する各アプリケーションに対してアプリケーションディレクトリー４０４にテーブルエントリーを追加する。従って、サーバーＳは、クライアントの役割のターミナルＸに常駐するアプリケーションＡ、ピアの役割のターミナルＸに常駐するアプリケーションＢ、ピアの役割のターミナルＹに常駐するアプリケーションＢ、及びクライアントの役割のターミナルＹに常駐するアプリケーションＣに対するエントリーを追加する。又、サーバーＳは、ターミナルＸにおけるアプリケーションディレクトリー４１５及びターミナルＹにおけるアプリケーションディレクトリー４２５を、これらターミナル装置に関心のあるアプリケーション登録で更新する。図４Ｂに示すように、ターミナルＸ及びターミナルＹの両方は、ピアの役割においてアプリケーションＢをホスティングする。ターミナルＸのアプリケーションＢとターミナルＹのアプリケーションＢとの間にはおそらくピア対ピアの通信セッションがあるから、サーバーＳは、ピアの役割のターミナルＹに常駐するアプリケーションＢに対するアプリケーションディレクトリー４１５にエントリーを追加すると共に、ピアの役割のターミナルＸに常駐するアプリケーションＢに対するアプリケーションディレクトリー４２５にエントリーを追加する。又、ターミナルＹのアプリケーションＣとサーバーＳのアプリケーションＣとの間にはおそらくクライアント対サーバーの通信セッションがあるから、サーバーＳは、サーバーの役割のサーバーＳに常駐するアプリケーションＣに対するアプリケーションディレクトリー４２５にエントリーを追加する。最終的に、ターミナルＸのアプリケーションＡに対してピコネット１００に対応部分は存在しない。
【００３０】
図４Ａ及び４Ｂに示すように、ミドルウェアソフトウェアのアプリケーションディレクトリーサーバーの各エントリーとしてここに開示するデータアイテムは、装置識別子（例えば、「ローカル」、アドレス、又は他の独特の識別子）と、アプリケーション識別子（例えば、アプリケーション名、又は他の独特の識別子）と、アプリケーションの役割（例えば、「クライアント」、「サーバー」、「ピア」等）とを含む。別の実施形態では、データアイテムは、ローカルアプリケーションに対するフィールド（即ち、装置＝「ローカル」）、及び他のターミナル又はサーバーのリモートアプリケーションに対するフィールドを含むように拡張することができる。ローカルアプリケーションに対するフィールドは、次のものを含む。
【００３１】
−Ｎａｍｅ（名前）：アプリケーションに対する識別子（例えば、供給者の名前、及び異なるバージョンやハードウェア変形を比較するデータ）；
−Ｍｙ＿ｒｏｌｅ（自分の役割）：アプリケーションがローカル装置において担う役割；
−Ｐａｒｔｎｅｒ＿ｒｏｌｅ（パートナーの役割）：アプリケーションが関心のある対応部から果たす役割（例えば、ピア、クライアント及びサーバーは、最も一般的な役割である）；
−Ｒｅｓｉｄｅｎｃｙ（常駐性）：ＲＥＳＩＤＥＮＴ（インストールされて現在メモリにある）、ＵＮＬＯＡＤＥＤ（かつてインストールされたが、現在メモリになく、自動的に再ダウンロードすることができる）、ＲＥＪＥＣＴＥＤ（アプリケーションを無視すべきであることを新たなアプリケーションインストーラーに指示する）、又はＮＥＷ（アプリケーションがインストールも拒絶もされない）；
−Ｓｔａｔｅ（状態）：ＲＵＮＮＩＮＧ（通信を有し、現在そのリモート対応部と共に働いているが、一度に通信を使用できるアプリケーションは１つだけ又はそれ以上ある）、ＷＡＩＴＩＮＧ（実行中であるが、何ら通信をもたない）、ＳＴＡＲＴＡＢＬＥ（能動的であって、正しいＰａｒｔｎｅｒ＿ｒｏｌｅと一致するピアが見つかった場合に、ミドルウェアソフトウェアがこのアプリケーションをスタートし、必要に応じて最初にソフトウェアをダウンロードする）、ＣＯＭＰＬＥＴＥ（全ての対応アプリケーションが分かっている）、又はＰＡＳＳＩＶＥ（ユーザはアプリケーションをスタートするために何かをしなければならない）；
【００３２】
−Ｔｙｐｅ（形式）：ＦＯＲＥＧＲＯＵＮＤ（アプリケーションが終了したときに、状態がＰＡＳＳＩＶＥとなる）、又はＢＡＣＫＧＲＯＵＮＤ（アプリケーションが終了したときに、状態がＳＴＡＲＴＡＢＬＥとなる）；
−Ｕｎｌｏａｄ（アンロード）：ＡＵＴＯＭＡＴＩＣ（ミドルウェアは、アプリケーションが終了したときにコードを除去することができる）、又はＵＮＩＮＳＴＡＬＬ（ユーザは、除去を確認しなければならない）；
−Ｉｃｏｎ（アイコン）：ユーザに対するアプリケーションの視覚映像を生成する；及び
−Ｔｉｍｅｏｕｔ（時間切れ）：例えば、アプリケーションが非生産的ソフトウェアループにあるときを検出するためにミドルウェアソフトウェアが使用する時間限界をセットする。
【００３３】
リモートアプリケーションに対するフィールドは、次のものを含む。
−Ｄｅｖｉｃｅ（装置）：アプリケーションインスタンスを記憶するターミナル又はサーバーとの通信を確立するためのアドレス；
−Ｎａｍｅ（名前）：アプリケーションに対する識別子；及び
−Ｍｙ＿ｒｏｌｅ（自分の役割）：アプリケーションがリモート装置において担う役割。
【００３４】
アプリケーションのクライアント−サーバー役割は、ターミナル装置及びアプリケーションディレクトリーサーバーとしての装置の役割とは独立している。通常、アプリケーションディレクトリーサーバーとして働く装置は、サーバーの役割で働くアプリケーションをホストし、そしてターミナル装置は、同じアプリケーションに対してクライアントの役割で働く。別の実施形態では、２つのターミナル装置の各々が一般的問合せアクセスコードメッセージを送信し、そして応答を聴取する。応答を受信するターミナル装置は、最初に、サーバーの役割を果たし、そして図３Ａの手順に基づいて進む。問合せメッセージを受信する別のターミナル装置は、ターミナルの役割を果たし、そして図３Ｂに基づいて進む。従って、本発明は、ターミナル対ターミナルの筋書きをサポートし（例えば、同一のハンドヘルド装置の１つが自動的にＡＤＳとなり）、そして所定のアプリケーションディレクトリーサーバーを必要としない。
【００３５】
図５は、移動アドホック通信ネットワークにおいてターミナルＸとターミナルＹとの間に通信セッションを確立する間のメッセージフローを示す、プロセスの実施形態のフローチャートである。一実施形態において、ターミナルＸ及びターミナルＹは、図１及び図２Ｂに示すターミナル１２０のような移動装置である。別の実施形態では、ターミナルＸが図１及び図２Ｂに示すターミナル１２０のような移動装置であり、そしてターミナルＹが図１及び図２Ａに示すサーバー１１０のような移動装置である。
【００３６】
図５に示すように、ターミナルＸは、移動アドホック通信ネットワークに問合せ要求メッセージを送信することにより通信を開始する。ターミナルＹは近傍の装置であるから、ターミナルＹは、その問合せ要求メッセージを受信し、そして問合せ応答メッセージをターミナルＸへ送信する。一実施形態では、問合せ要求メッセージがブルーツース問合せコマンドであり、そして問合せ応答メッセージがブルーツース問合せ結果コマンドである。別の実施形態では、問合せ要求メッセージがブルーツース問合せコマンドであり、そして問合せ応答メッセージが、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含むことを指示するように変更されたブルーツース問合せ結果コマンドである。一実施形態では、ミドルウェア層は、進歩型アプリケーション及びサービス発見及び実行を提供する専用のミドルウェアソフトウェアを含む。一実施形態では、ブルーツース問合せ結果コマンドに対する変更が、装置クラス（ＣｏＤ）パラメータに対するものである。例えば、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、少なくとも「アドホックネットワークが気付く(ad hoc networking aware)」ビット（ビット１６）をオン（１）にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット（ビット１６）をオン（１）にそして「位置情報」ビット（ビット１７）をオフ（０）にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット（ビット１６）をオン（１）にそして「電話可能(telephony)」ビット（ビット２２）をオン（１）にセットする。或いは又、ブルーツース問合せ結果コマンドを送信するターミナルがミドルウェア層を含む場合に、そのターミナルは、「アドホックネットワークが気付く」ビット（ビット１６）をオン（１）に、「位置情報」ビット（ビット１７）をオフ（０）に、そして「電話可能」ビット（ビット２２）をオン（１）にセットする。更に別の実施形態では、ミドルウェアソフトウェアの存在を指示するための専用指示パラメータがブルーツース問合せ結果コマンド仕様に導入された場合には、ブルーツース問合せ結果コマンドへの変更は必要でない。
【００３７】
問合せに続いて、図５に示すように、ターミナルＸは、ページング要求メッセージを送信することにより、問合せ応答メッセージでミドルウェア層の考えられる所有を指示する各近傍の装置、例えば、ターミナルＹへの接続を形成することができる。ターミナルＹが、ミドルウェア層の考えられる所有を指示しない場合には（例えば、「アドホックネットワークが気付く」ビット（ビット１６）をオフ（０）にセットすることにより）、ページング要求メッセージが送信されず、通信セッションが切断される。ターミナルＹがおそらくミドルウェア層を含むという指示を含む問合せを行なった後に、ターミナルＸは、上述したように、ページングメッセージ要求を送信する。ターミナルＹは、ページング要求メッセージを受信し、そして任意であるが、接続要求を受け容れるためのページング受け容れメッセージを送信する。一実施形態では、ページング要求メッセージは、ブルーツース接続形成コマンドであり、そしてページング受け容れメッセージは、ブルーツース接続受け容れ要求コマンドである。
【００３８】
各近傍装置への接続に続いて、図５に示すように、ターミナルＸは、ターミナルＹのような近傍の装置がミドルウェア層を明確に含むかどうか確認するための確認要求メッセージを送信する。ターミナルＹは、その確認要求メッセージを受信し、そして確認応答メッセージをターミナルＸに送信する。一実施形態では、確認応答メッセージの受信は、ターミナルＹがミドルウェア層を含むという確認である。別の実施形態では、確認応答メッセージのコンテンツが、ターミナルＹがミドルウェア層を含むことを指示する。一実施形態において、確認要求メッセージ及び確認応答メッセージは、ブルーツースサービス発見プロトコル（ＳＤＰ）を使用する。ターミナルＹがミドルウェア層を含まない場合には、通信セッションを切断することができる。
【００３９】
ターミナルＹのような近傍の装置がミドルウェア層を含むという確認に続いて、図５に示すように、ターミナルＸ及びターミナルＹは、ミドルウェア層を使用して、アプリケーション及びサービスを発見しそして着手する。一実施形態では、ターミナルＸ及びターミナルＹは、図３Ａ及び図３Ｂに示すフローチャートに開示された方法を使用して、アプリケーション及びサービスを発見しそして着手する。
【００４０】
前記実施形態では、移動アドホック通信ネットワークのための完全に機能する装置検出及びサービス発見システム及び方法について述べたが、他の同等の実施形態も存在することが理解されよう。前記開示を読んだ者であれば多数の変更や修正が明らかであろうから、移動アドホック通信ネットワークのための装置検出及びサービス発見システム及び方法は、ここに図示して開示した厳密な構造及び動作に限定されない。従って、この開示は、特許請求の範囲内に包含される全ての適当な変更や等効物も意図している。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態により移動アドホック通信ネットワークを構成する装置の相互作用を示すネットワーク図である。
【図２Ａ】本発明の一実施形態により図１に示すサーバー１１０を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。
【図２Ｂ】本発明の一実施形態により図１に示すターミナル１２０を構成するハードウェア及びソフトウェアコンポーネントを示すブロック図である。
【図３Ａ】移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するサーバー１１０の実施形態を示すフローチャートである。
【図３Ｂ】移動アドホック通信ネットワークのための装置検出及びサービス発見を実行するターミナル１２０の実施形態を示すフローチャートである。
【図４Ａ】ターミナルが移動アドホック通信ネットワークに入る前のデータフローを例示するブロック図である。
【図４Ｂ】ターミナルが移動アドホック通信ネットワークに入った後の図４Ａのブロック図である。
【図５】移動アドホック通信ネットワークにおいてターミナルＸとターミナルＹとの間に通信セッションを確立する間のメッセージフローを示す、プロセスの実施形態のフローチャートである。
【図１】
2008017495.tif 000003
【図２Ａ】
2008017495.tif 000004
【図２Ｂ】
2008017495.tif 000005
【図３Ａ】
2008017495.tif 000006
【図３Ｂ】
2008017495.tif 000007
【図４Ａ】
2008017495.tif 000008
【図４Ｂ】
2008017495.tif 000009
【図５】
2008017495.tif 000010
【手続補正書】
【提出日】平成19年7月12日(2007.7.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つのネットワークノードを備え、各ネットワークノードがローカルアプリケーションディレクトリーを記憶している移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行する方法において、
前記少なくとも１つのネットワークノードからディレクトリーサーバーノードを選択するステップであって、このディレクトリーサーバーノードがカバレージエリアを有しそして結合アプリケーションディレクトリーを記憶するようなステップと、
前記カバレージエリアに入る聴取ノードに問合せメッセージを送信するステップと、
前記聴取ノードから通知メッセージを受信するステップであって、この通知メッセージが前記聴取ノードに記憶されたローカルアプリケーションディレクトリーを含むようなステップと、
前記通知メッセージと共に含まれた前記ローカルアプリケーションディレクトリーと前記結合アプリケーションディレクトリーとの比較に基づく前記結合アプリケーションディレクトリーに対する更新を前記ディレクトリーサーバーノードに記憶するステップと、
前記移動アドホック通信ネットワークと通信している各ネットワークノードに更新メッセージを送信するステップであって、この更新メッセージは、前記移動アドホック通信ネットワーク内の各ノードのローカルアプリケーションディレクトリーを更新するために前記結合アプリケーションディレクトリーの更新部分を含むものであるステップと、
を備えた方法。
【請求項２】
前記結合アプリケーションディレクトリーは、前記少なくとも１つのネットワークノードに記憶された各アプリケーションプログラムへのエントリーを記憶し、そして前記ローカルアプリケーションディレクトリーは、そのローカルアプリケーションディレクトリーに関連したネットワークノードに記憶された各アプリケーションプログラムへのエントリーを記憶する請求項１に記載の方法。
【請求項３】
前記結合アプリケーションディレクトリーに記憶された前記エントリー、及び前記ローカルアプリケーションディレクトリーに記憶された前記エントリーは、アプリケーション識別子と、ネットワークノード識別子と、アプリケーションの役割とを含む請求項２に記載の方法。
【請求項４】
少なくとも１つのネットワークノードを備え、各ネットワークノードがローカルアプリケーションディレクトリーを記憶している移動アドホック通信ネットワーク内で装置検出及びサービス発見を遂行する方法において、
前記少なくとも１つのネットワークノードからディレクトリーサーバーノードを選択するステップであって、このディレクトリーサーバーノードがカバレージエリアを有しそして結合アプリケーションディレクトリーを記憶するようなステップと、
前記カバレージエリアに入る聴取ノードで問合せメッセージを受信するステップと、
前記ディレクトリーサーバーノードへ通知メッセージを送信するステップであって、この通知メッセージが前記聴取ノードに記憶されたローカルアプリケーションディレクトリーを含むようなステップと、
前記ディレクトリーサーバーノードから更新メッセージを受信するステップであって、この更新メッセージは、前記移動アドホック通信ネットワーク内の各ノードのローカルアプリケーションディレクトリーを更新するために前記結合アプリケーションディレクトリーの更新部分を含むものであるステップと、を備え、
前記ディレクトリーサーバーノードは、前記通知メッセージと共に含まれた前記ローカルアプリケーションディレクトリーと前記結合アプリケーションディレクトリーとの比較に基づく前記結合アプリケーションディレクトリーに対する更新を記憶することを特徴とする方法。
【請求項５】
前記結合アプリケーションディレクトリーは、前記少なくとも１つのネットワークノードに記憶された各アプリケーションプログラムへのエントリーを記憶し、そして前記ローカルアプリケーションディレクトリーは、そのローカルアプリケーションディレクトリーに関連したネットワークノードに記憶された各アプリケーションプログラムへのエントリーを記憶する請求項４に記載の方法。
【請求項６】
前記結合アプリケーションディレクトリーに記憶された前記エントリー、及び前記ローカルアプリケーションディレクトリーに記憶された前記エントリーは、アプリケーション識別子と、ネットワークノード識別子と、アプリケーションの役割とを含む請求項５に記載の方法。