(57)【要約】【課題】  アドホック・ネットワーク形成において、１つのアドホック・ネットワークへの収束を早める。【解決手段】  例えば、アドホック・ネットワーク・ノードのアドホック・ネットワーク収束モジュールにおいて、アドホック・ネットワーク識別子を受け取る。アドホック・ネットワーク識別子の関数として、１つ以上のアドホック・ネットワーク・パラメータを発生することができる。アドホック・ネットワーク識別子によって識別されたアドホック・ネットワークを形成しようとするコンピュータのグループの各々は、１つ以上のアドホック・ネットワーク・パラメータを発生することができる。コンピュータのグループの２つ以上は、発生した１つ以上のアドホック・ネットワーク・パラメータによってパラメータ化したアドホック・ネットワーク形成プロトコルを実行することができる。例えば、ネットワーキング・サービスにおいて、ネットワークに加入する指令を受け取ることができる。アドホック・ネットワークであることを検出した場合、アドホック・ネットワーク・アドレス取得の加速を特徴とするアドホック・アドレス取得モードを活性化することができる。このようにして、アドホック・ネットワークの効率的な形成を促進することができる。【選択図】      図１
2009500914.tif 000002
【特許請求の範囲】
【請求項１】
アドホック・ネットワーク識別子を受け取り、
少なくとも前記アドホック・ネットワーク識別子の関数として少なくとも１つのアドホック・ネットワーク・パラメータを発生し、
前記少なくとも１つのアドホック・ネットワーク・パラメータによってパラメータ化したアドホック・ネットワーク形成プロトコルを実行する、
アドホック・ネットワークの効率的な形成のためのコンピュータ実行可能命令を備えた、コンピュータ読み取り可能媒体。
【請求項２】
請求項１記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワークは、Institute of Electrical and Electronics Engineers(IEEE)802.11系データ通信規格のうちの少なくとも１つに従うワイヤレス・ネットワークである、コンピュータ読み取り可能媒体。
【請求項３】
請求項１記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワーク識別子は、サービス・セット識別子を備えた、コンピュータ読み取り可能媒体。
【請求項４】
請求項１記載のコンピュータ読み取り可能媒体において、前記少なくとも１つのアドホック・ネットワーク・パラメータを発生することは、少なくとも前記アドホック・ネットワーク識別子の暗号ハッシュ関数として前記少なくとも１つのアドホック・ネットワーク・パラメータを発生することを含む、コンピュータ読み取り可能媒体。
【請求項５】
請求項１記載のコンピュータ読み取り可能媒体において、前記少なくとも１つのアドホック・ネットワーク・パラメータは、基本的サービス・セット識別子を備えた、コンピュータ読み取り可能媒体。
【請求項６】
請求項１記載のコンピュータ読み取り可能媒体において、前記少なくとも１つのアドホック・ネットワーク・パラメータは、ワイヤレス通信チャネル番号を備えた、コンピュータ読み取り可能媒体。
【請求項７】
請求項１記載のコンピュータ読み取り可能媒体において、前記コンピュータ実行可能命令は、更に、アドホック・ネットワーク収束規則集にしたがって、利用可能な物理レイヤ通信方式集合から、１つの物理レイヤ通信方式を選択することを含む、コンピュータ読み取り可能媒体。
【請求項８】
請求項７記載のコンピュータ読み取り可能媒体において、前記利用可能な物理レイヤ通信方式の集合は、Institute of Electrical and Electronics Engineers(IEEE)802.11系データ通信規格に従う少なくとも１つの物理レイヤ通信方式を含む、コンピュータ読み取り可能媒体。
【請求項９】
請求項８記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワーク収束規則集は、
（ａ）前記利用可能な物理レイヤ通信方式の集合が１つの物理レイヤ通信方式のみを含む場合、当該物理レイヤ通信方式を選択し、
（ｂ）前記利用可能な物理レイヤ通信方式の集合が、IEEE802.11bおよびIEEE802.11gに従う物理レイヤ通信方式を含む場合、IEEE802.11gに従う物理レイヤ通信方式を選択すること、
を含む、コンピュータ読み取り可能媒体。
【請求項１０】
請求項８記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワーク収束規則集は、
（ａ）前記利用可能な物理レイヤ通信方式の集合が１つの物理レイヤ通信方式のみを含む場合、当該物理レイヤ通信方式を選択し、
（ｂ）前記利用可能な物理レイヤ通信方式の集合が、IEEE802.11aおよびIEEE802.11gに従う物理レイヤ通信方式を含む場合、IEEE802.11gに従う物理レイヤ通信方式を選択すること、
を含む、コンピュータ読み取り可能媒体。
【請求項１１】
請求項７記載のコンピュータ読み取り可能媒体において、前記物理レイヤ通信方式を選択することは、
前記利用可能な物理レイヤ通信方式の集合における各物理レイヤ通信方式を、そのアドホック・ネットワーク収束効率にしたがって格付けし、
前記利用可能な物理レイヤ通信方式の集合において、格付けが最も高い物理レイヤ通信方式を選択すること、
を含む、コンピュータ読み取り可能媒体。
【請求項１２】
アドホック・ネットワークの効率的な形成のためにコンピュータ化したシステムであって、
アドホック・ネットワーク収束モジュールであって、少なくとも、
アドホック・ネットワーク識別子を受け取り、
少なくとも前記アドホック・ネットワーク識別子の関数として少なくとも１つのアドホック・ネットワーク・パラメータを発生し、
前記少なくとも１つのアドホック・ネットワーク・パラメータによってアドホック・ネットワーク形成プロトコルをパラメータ化する、
するように構成されたアドホック・ネットワーク収束モジュールと、
前記少なくとも１つのアドホック・ネットワーク・パラメータによってパラメータ化した前記アドホック・ネットワーク形成プロトコルを少なくとも実行するように構成されたネットワーキング・サービスと、
を備えた、コンピュータ化システム。
【請求項１３】
請求項１２記載のコンピュータ化システムにおいて、前記アドホック・ネットワークは、Institute of Electrical and Electronics Engineers(IEEE)802.11系データ通信規格のうちの少なくとも１つに従うワイヤレス・ネットワークである、コンピュータ化システム。
【請求項１４】
請求項１２記載のコンピュータ化システムにおいて、前記アドホック・ネットワーク識別子は、サービス・セット識別子を備えた、コンピュータ化システム。
【請求項１５】
請求項１２記載のコンピュータ化システムにおいて、前記少なくとも１つのアドホック・ネットワーク・パラメータを発生することは、少なくとも前記アドホック・ネットワーク識別子の暗号ハッシュ関数として前記少なくとも１つのアドホック・ネットワーク・パラメータを発生することを含む、コンピュータ化システム。
【請求項１６】
ネットワークに加入する命令を受け取り、
前記ネットワークがアドホック・ネットワークであることを検出し、
アドホック・ネットワーク・アドレスの取得加速化を備えたアドホック・ネットワーク・アドレス取得モードを活性化する、
アドホック・ネットワークの効率的な形成のためのコンピュータ実行可能命令を備えた、コンピュータ読み取り可能媒体。
【請求項１７】
請求項１６記載のコンピュータ読み取り可能媒体において、前記コンピュータ実行可能命令は、更に、
ネットワーク離脱通知を受け取り、
前記アドホック・ネットワーク・アドレス取得モードを不活性化すること、
を含む、コンピュータ読み取り可能媒体。
【請求項１８】
請求項１６記載のコンピュータ読み取り可能媒体において、
各アドホック・ネットワーク・アドレスはインターネット・プロトコル（ＩＰ）アドレスであり、
前記アドホック・ネットワーク・アドレスの取得加速化は、
自動秘密ＩＰアドレスを取得し、
重複アドレス検出を実行すること、
を含む、コンピュータ読み取り可能媒体。
【請求項１９】
請求項１６記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワーク・アドレス取得モードを不活性化した場合、ネットワーク・アドレスの取得は、ダイナミック・ホスト構成プロトコル（ＤＨＣＰ）サーバから前記ネットワーク・アドレスを取得しようとすることを含む、コンピュータ読み取り可能媒体。
【請求項２０】
請求項１６記載のコンピュータ読み取り可能媒体において、前記アドホック・ネットワークは、Institute of Electrical and Electronics Engineers(IEEE)802.11系データ通信規格のうちの少なくとも１つに従うワイヤレス・ネットワークである、コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータ・ネットワーキング(computer networking)に関し、更に特定すれば、コンピュータ・ネットワークの形成に関する。
【背景技術】
【０００２】
多数のデータ・タイプで通信を行い易くするコンピュータのネットワーキングは、当今の職場では珍しくなく、仮定においても増々普及しつつある。今日どこにでもある電子メール、インスタント・メッセージング、ディスカッション・グループ、あらゆるタイプの電子文書およびファイルの共有から、ストリーミング・オーディオおよびビデオ、そして精巧な没入型対話環境に至るまで、ネットワークに接続したコンピュータは、従来の通信継体を強化し、仕事および遊びの新しい方法を可能にする。ネットワークに加入することによりコンピュータに提供される機能の増強は著しいが、実際には接続性に障壁があり、全ての機能へのアクセスが妨げられたり、あるいは減少することもある。この問題は、ワイヤレス・ネットワークに加入することができる移動体コンピュータにとっては特に深刻である。
【０００３】
この説明の目的上、ワイヤレス・コンピュータ・ネットワークを２つの一般的な種類、インフラストラクチャ・ネットワークおよびアドホック・ネットワーク(ad hoc network)に分類するとよい。インフラストラクチャ・ネットワークは、ネットワーク・ハブまたはワイヤレス・ネットワーク・アクセス・ポイントのような、１つ以上の専用ネットワーク・コンポーネントを含む。対照的に、アドホック・ネットワークは、このようなネットワーク・コンポーネントを含む必要がない。例えば、アドホック・コンピュータ・ネットワークは、各々が互換性のあるワイヤレス・ネットワーク・インターフェース・ハードウェアを有するコンピュータのグループよりも多少多くを含めばよい。
【０００４】
名称が示唆するように、アドホック・ネットワークは、例えば、移動または訪問中における、自発的なまたは無計画なコンピュータ・ネットワーキングのために備えることを意図している。したがって、アドホック・ネットワークは、いつでもどこでも容易にネットワークを構築することができる。しかしながら、従来のアドホック・ネットワークの形成は、難しいおよび／または遅い可能性があるので、それらの潜在性にも係わらず、アドホック・ネットワークの仕様は比較的普及しないままである。多くのアドホック・ネットワーク形成の困難は、インフラストラクチャ・ネットワークには通例見られるインフラストラクチャ設備がないことに起因する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
アドホック・ネットワークには、収束(convergence)に関する問題がある。アドホック・ネットワークを形成しようとするコンピュータのグループの中では、いずれのコンピュータも必ずしもリーダまたはネットワーク・ポリシ・メーカ(network policy maker)でなくてもよい。グループ内のコンピュータには、構成が異なっていたり、ネットワーク開始および／または形成プロトコルに対する反応が異なる場合もある。その結果、１つのアドホック・ネットワークに収束するのではなく、多数のアドホック・ネットワークがコンピュータのグループ間に形成されてしまうこともある。
【０００６】
従来のアドホック・ネットワーク形成システムおよび方法の一部では、１つのアドホック・ネットワークに収束するための効果的なメカニズムを欠いている。このようなメカニズムがあっても、収束が非常に遅く通常の使用に耐えない場合もある。従来のアドホック・ネットワーク形成システムおよび方法の一部における別の遅延源は、ネットワーク・アドレスのようなネットワーク識別子を素早くネットワーク参加者に割り当てる有効なメカニズムを欠くことである。このようなメカニズムに関して、エンド・ユーザに感じる遅延は、低レベルの手順上の遅延と同じ位重大となる虞れがある。
【課題を解決するための手段】
【０００７】
この章では、本発明の実施形態の一部について、簡略化した摘要を紹介する。この摘要は、本発明の広い全体像ではない。本発明の鍵となる／なくてはならない要素を特定することや、発明の範囲を正確に叙述することは意図していない。その唯一の目的は、後に提示する更に詳細な説明に対する序論として、簡略化した形態で、本発明の実施形態の一部を紹介することである。
【０００８】
本発明の一実施形態では、例えば、アドホック・ネットワーク・ノードのアドホック・ネットワーク収束モジュールにおいて、アドホック・ネットワーク識別子を受け取る。アドホック・ネットワーク識別子の関数として、１つ以上のアドホック・ネットワーク・パラメータを発生することができる。アドホック・ネットワーク識別子によって識別されたアドホック・ネットワークを形成しようとするコンピュータのグループの各々は、１つ以上のアドホック・ネットワーク・パラメータを発生することができる。コンピュータのグループの２つ以上は、発生した１つ以上のアドホック・ネットワーク・パラメータによってパラメータ化したアドホック・ネットワーク形成プロトコルを実行することができる。このようにして、アドホック・ネットワークの効率的な形成を促進することができる。
【０００９】
本発明の一実施形態では、例えば、ネットワーキング・サービスにおいて、ネットワークに加入する指令を受け取る。加入するネットワークの形式を認識することができる。即ち、ネットワークがアドホック・ネットワークか、または、例えば、インフラストラクチャ・ネットワークか判定することができる。アドホック・ネットワークを検出した場合、アドホック・ネットワーク・アドレス取得の加速を特徴とするアドホック・アドレス取得モードを活性化することができる。
【００１０】
添付した特許請求の範囲は、発明の特徴を特定的に明記するが、本発明およびその利点は、添付図面と関連付けた以下の詳細な説明から最良に理解することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の種々の実施形態の説明を進める前に、本発明の種々の実施形態を実用化することができるコンピュータについて、ここで説明しておく。必須ではないが、本発明の説明は、全体的に、コンピュータが実行するプログラム・モジュールのような、コンピュータ実行可能命令に関して行う。一般に、プログラムは、ルーチン、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象的データ・タイプを実現する。「プログラム」という用語は、ここで用いる場合、１つのプログラム・モジュールまたは一緒に作用する多数のプログラム・モジュールを暗示する。「コンピュータ」および「計算デバイス」という用語は、ここで用いる場合、パーソナル・コンピュータ（ＰＣ）、ハンドヘルド・デバイス、マルチ・プロセッサ・システム、マイクロプロセッサ系プログラマブル消費者用電子製品、ネットワークＰＣ、ミニコンピュータ、タブレットＰＣ、ラップトップ・コンピュータ、マイクロプロセッサまたはマイクロコントローラを有する消費者用器具、ルータ、ゲートウェイ、ハブ等のような、１つ以上のプログラムを電子的に実行するあらゆるデバイスを含む。また、本発明は、分散型計算環境においても採用することができ、その場合、通信ネットワークを通じてリンクされているリモート処理デバイスによってタスクを実行する。分散型計算環境では、プログラムは、ローカルおよびリモートメモリ記憶デバイス双方に位置することもできる。
【００１２】
図１を参照すると、ここに記載する発明の形態を実施することができるコンピュータ１０２の基本的構成の一例が示されている。その最も基本的な構成では、コンピュータ１０２は、通例、少なくとも１つの演算装置１０４およびメモリ１０６を含む。演算装置１０４は、本発明の種々の実施形態にしたがってタスクを遂行する命令を実行する。このようなタスクを遂行する際、演算装置１０４は、電子信号をコンピュータ１０２の別の部分、およびコンピュータ１０２外部のデバイスに送り、何らかの結果を出させる。コンピュータ１０２の正確な構成および形式に応じて、メモリ１０６は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭまたはフラッシュ・メモリのような）、またはこれら２つの何らかの組み合わせとすることができる。図１では、この最も基本的な構成を破線１０８で示す。
【００１３】
また、コンピュータ１０２は、更に別の機構／機能も有することができる。例えば、コンピュータ１０２は、限定ではないが、磁気または光学的ディスクまたはテープを含む、追加のストレージ（リムーバブル１１０および／または非リムーバブル１１２）も含むことができる。コンピュータ記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピュータ実行可能命令、データ構造、プログラム・モジュール、またはその他のデータを含む情報の記憶のためのいずれの方法または技術でも実現できる。コンピュータ記憶媒体は、限定ではなく、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ、ＣＤ−ＲＯＭ、ディジタル多様ディスク（ＤＶＤ）またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ１０２がアクセス可能なその他のいずれの媒体も含む。このようなコンピュータ記憶媒体のいずれもが、コンピュータ１０２の一部をなすことができる。
【００１４】
好ましくは、コンピュータ１０２は、デバイスに、リモート・コンピュータ１１６のような、他のデバイスと通信させる、通信接続部１１４も内蔵する。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。限定ではなく一例として、限定ではなく、一例として、「通信媒体」という用語は、音響、ＲＦ、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。「コンピュータ読み取り可能媒体」という用語は、ここで用いる場合、コンピュータ記憶媒体および通信媒体双方を含む。
【００１５】
また、コンピュータ１０２は、キーボード／キーパッド、マウス、ペン、音声入力デバイス、接触入力デバイス等のような入力デバイス１１８も有することができる。ディスプレイ、スピーカ、プリンタ等のような出力デバイス１２０も含むことができる。これらのデバイスは全て当技術分野では周知であり、ここで詳細に説明する必要はない。
【００１６】
以下に続く説明では、特に明記していない限り、１つ以上の計算デバイスが実行する動作のアクト(act)および象徴的表現を参照しながら、本発明について述べる。したがって、このようなアクトおよび動作は、コンピュータが実行するものとして言及する場合もあり、構造化した形態でデータを表す電気信号の、コンピュータの演算装置による操作を含むことは言うまでもない。この操作は、データを変形し、またはそれをコンピュータのメモリ・システムにおける場所に維持し、当業者には良くわかっているやり方でコンピュータ動作の設定変更またはそれ以外の変更を行う。データを維持するデータ構造は、メモリの物理的な場所であり、データのフォーマットによって定義される特定のプロパティを有する。しかしながら、本発明を以上の文脈で記載しているが、当業者には認められるように、限定を意図するのではなく、以下に記載する種々のアクトおよび動作は、ハードウェアで実施してもよい。
【００１７】
本発明の一実施形態では、効率的なアドホック・ネットワーク形成のためのシステムおよび方法を提供する。迅速なアドホック・ネットワークの収束を促進するために、今後なり得るネットワーク・ノードの各々において、共通のアドホック・ネットワーク形成パラメータを確立することができる。アドホック形成モードを活性化すると、通例インフラストラクチャ・ネットワークにおいて見られるエレメントやサービスの要望によって、例えば、アドホック・ネットワーク識別子の効率的な割り当ての準備が整う。
【００１８】
アドホック・ネットワークを形成しようとしているコンピュータのグループの一例に沿って、本発明の実施形態を説明することが、明確化のために役に立つであろう。図２は、本発明の形態を組み込むのに適したコンピュータ・ネットワーキング環境２００の一例を示す。コンピュータ・ネットワーキング環境２００は、破線２１６で示す１つのアドホック・ネットワークを形成しようとするコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４を含む。
【００１９】
図２に示す状況の時点、即ち、アドホック・ネットワーク形成プロセスの開始後のあるときに、２つのアドホック・ネットワーク２１８および２２０が形成した。一方のアドホック・ネットワーク２１８は、コンピュータ２０２、２０４および２０６を含む。他方のアドホック・ネットワーク２２０は、コンピュータ２０８、２１０、２１２および２１４を含む。コンピュータ２０２、２０４および２０６の各々は互いに通信することができ、コンピュータ２０８、２１０、２１２および２１４の各々も互いに通信することができる。アドホック・ネットワーク２１８および２２０間の通信は制限されているか、行われない場合もある。
【００２０】
図２に示す状況よりも少し前の時点で、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４間に、２つよりも多いアドホック・ネットワーク２１８および２２０が形成された。図２に示す状況の後ある時点において、アドホック・ネットワーク２１８および２２０が併合して１つのアドホック・ネットワーク２１６を形成することができ、アドホック・ネットワーク２１８および２２０は別個のままであってもよく、一方のアドホック・ネットワーク２２０から１つ以上のコンピュータ２０８、２１０、２１２および２１４が離脱して、他方のアドホック・ネットワーク２１８に加入してもよく、１つ以上のコンピュータ２０２、２０４および２０８がアドホック・ネットワーク２１８から離脱してアドホック・ネットワーク２２０に加入してもよく、あるいはコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４の内１つ以上がその現在のアドホック・ネットワーク２１８または２２０から離脱して、新しいアドホック・ネットワーク（図２には示されていない）を形成してもよい。
【００２１】
多数のアドホック・ネットワーク２１８および２２０の形成は、１つのアドホック・ネットワーク２１６に収束するステップとしては望ましくない。本発明の一実施形態では、望ましくないのは長い収束時間、即ち、アドホック・ネットワークの形成開始と１つのアドホック・ネットワーク２１６への収束の間に過度の時間量を要することである。本発明によるアドホック・ネットワーク形成および収束方法の一例について説明する前に、本方法をコンピュータで実施し易くするのに適したアーキテクチャ例について説明することは有用であろう。
【００２２】
図３は、本発明の一実施形態によるアーキテクチャ３００の一例を示す。説明を明確にするために、アーキテクチャ３００の要素の一部は、802.11a、802.11b、802.11gおよび／または802.11nのようなInstitute of Electrical and Electronics Engineers (IEEE：米国電気電子工学会) 802.11系のワイヤレス・データ通信規格の１つ以上に応じたワイヤレス・ネットワークに特定的とするとよい。しかしながら、本発明の各実施形態はそのように限定されるのではない。当業者には認められようが、IEEE802.11a、802.11b、802.11g等の呼称は、単に長い技術規格文書に対する識別コードであるだけでなく、それら自体におけるそしてその技術用語となっているので、特にその規格同士が互いに影響し合う様子および影響し合わない様子のために、個人の消費者であってもその用語を知っているであろう。
【００２３】
コンピュータ１０２（図１）のようなコンピュータ３０２は、Microsoft(R) Windows(R)コンピュータ・オペレーティング・システムのような、オペレーティング・システム３０４を含むことができる。オペレーティング・システム３０４は、２００５年３月付けのMicrosoft Developer Network (MSDN(R)) Library におけるMicrosoft(R) Windows(R) Platform Software Development Kit (SDK)のWindows(R) Networking (WNet) の章に記載されているWindows(R)ネットワーキングのような、ネットワーキング・サービス３０６を含むことができる。ネットワーキング・サービス３０６は、コンピュータ３０２によるアクセスを、アドホック・ネットワーク２１６、２１８および２２０（図２）のような１つ以上のネットワークに中継することができる。
【００２４】
当業者には認められようが、アーキテクチャ３００のようなネットワーキング・アーキテクチャは、ネットワーキング機能の数個の別個のそして少なくとも１つの部分的に独立したレイヤを組み込むことができる。例えば、International Standards Organization（ＩＳＯ）は、アプリケーション・レイヤ、プレゼンテーション・レイヤ、セッション・レイヤ、トランスポート・レイヤ、ネットワーク・レイヤ、データ・レイヤ、および物理レイヤを区別するネットワーキング・アーキテクチャに対するオープン・システム相互接続（ＯＳＩ）モデルについて記載している。詳細については、Zimmerman, OSI Reference Model - The ISO Model of Architecture for Open System Interconnection, IEEE Transactions on Communications, April 1980を参照のこと。本発明の一実施形態による別個であるが互換性がなくはないレイヤ状ネットワーキング・アーキテクチャ・モデルが、２００４年付けのMicrosoft Developer Network (MSDN(R)) Libraryにおいて、Microsoft(R) Windows(R) Embedded Developer CenterのWindows(R) Embedded Devices の章に、Gateways Solution Overview という項目で記載されている。
【００２５】
コンピュータ３０２は、１つ以上のネットワーク・インターフェース・カード（ＮＩＣ）３０８、３１０（図３では２つだけを示す）を含むことができる。ネットワーク・インターフェース・カード３０８、３１０毎に、オペレーティング・システム３０４は、対応するネットワーク・カード・ドライバ３１２、３１４モジュールを含むことができる。ネットワーキング・サービス３０６は、ネットワーク・インターフェース・カード・ドライバ３１２、３１４モジュールを用いて、アドホック・ネットワーク２１６、２１８、２２０（図２）との間でデータを送受信することができる。ネットワーク・インターフェース・カード・ドライバ３１２、３１４モジュールは、ネットワーク・インターフェース・カード３０８、３１０を用いて、アドホック・ネットワーク２１６、２１８、２２０との間でデータを送受信することができる。アーキテクチャ３００のコンポーネント３０６、３０８、３１０、３１２、３１４は、例えば、オープン・システム相互接続アーキテクチャ・レイヤと１対１で対応する必要はない。例えば、ネットワーク・インターフェース・カードは、データ・リンク・レイヤおよび物理レイヤの面(aspect)を実施することもできる。
【００２６】
この例では、ネットワーキング・サービス３０６は、トランスポート制御プロトコルおよびインターネット・プロトコル（ＴＣＰ／ＩＰ）スタック３１６を含む。本発明による代替アーキテクチャでは、図３には示されていない１つ以上の追加のまたは代わりのネットワーク・プロトコル・スタックを含むことができる。ネットワーキング・サービス３０６は、ダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）サーバが提供するインターネット・プロトコル・アドレス発生および割り当てサービスのようなリモート・ネットワーク・サービスとは独立して、秘密インターネット・プロトコル・アドレスを発生しコンピュータ３０２に割り当てることができる自動秘密インターネット・プロトコル・アドレシング（ＡＰＩＰＡ）モジュール３１８を含むことができる。本発明の一実施形態による自動秘密インターネット・プロトコル・アドレシングの実現例の詳細、特に、サーバレス動作の詳細、ならびにネットワーク割り当てインターネット・プロトコル・アドレシングの詳細は、Microsoft Developer Network (MSDN(R)) Library におけるMicrosoft(R) Windows(R) Platform Software Development Kit (SDK)のInternet Protocol Helperの章において、１９９８年３月付けのPlug and Play Networking with Microsoft Automatic Private IP Addressing という項目に記載されている。同様の自動アドレシング・メカニズムは、インターネット・プロトコル（ＩＰ）以外のネットワーキング・プロトコルにも含むことができる。図３には示されていないが、本発明の実施形態は、ネットワーク割り当てインターネット・プロトコル・アドレシングに適応することができる従来のダイナミック・ホスト・コンフィギュレーション・プロトコル（ＤＨＣＰ）モジュールを含むこともできる。
【００２７】
本発明の一実施形態では、ネットワーキング・サービス３０６は、効率的なアドホック・ネットワークの形成を促進するために、アドホック・ネットワーク収束モジュール３２０を含む。アドホック・ネットワーク収束モジュール３２０は、アドホック・ネットワーク・パラメータ発生器３２２、アドホック・ネットワーク収束規則集３２４、およびアドホック・ネットワーク・アドレス取得モード・モジュール３２６を含むことができる。
【００２８】
アドホック・ネットワーク・パラメータ発生器３２２は、ネットワーク識別子や無線周波数チャネルの選択（例えば、ワイヤレス通信チャネル番号）のような疑似ランダム配布に適したアドホック・ネットワーク・パラメータを発生する。アドホック・ネットワーク収束規則集３２４は、アドホック・ネットワーク収束を促進するために、アドホック・ネットワーク収束モジュールが利用する１つ以上のアドホック・ネットワーク収束規則を含むことができる。具体的には、アドホック・ネットワーク収束規則集３２４は、疑似ランダム分布に適している、および／または物理レイヤ通信方式（例えば、「ＰＨＹタイプ」）の選択のような、入手可能な値の集合からの最適な選択が可能な、１つ以上のアドホック・ネットワーク・パラメータを決定することができる。アドホック・ネットワーク・アドレス取得モード・モジュール３２６は、アドホック・ネットワーク・アドレス取得モードとの間の、例えば、インフラストラクチャおよび／またはデフォルト・ネットワーク・アドレス取得モードとの間のネットワーキング・サービス３０６の遷移を管理することができる。
【００２９】
ネットワーキング・サービス３０６は、更に、ネットワーク名またはサービス・セット識別子（ＳＳＩＤ）３２８を含むことができる。サービス・セット識別子３２８は、コンピュータ実行可能命令を含む必要はなく、例えば、サービス・セット識別子３２８は、システム・メモリ１０６（図１）に格納するデータ・フィールドでもよい。サービス・セット識別子３２８は、同時に、別個のアドホック・ネットワークと関連付けることができ、例えば、アドホック・ネットワーク２１８および２２０（図２）を同じサービス・セット識別子３２８の値と関連付けることができる。本発明の一実施形態では、同じサービス・セット識別子３２８の値と関連付けられた２つ以上のアドホック・ネットワークは、アドホック・ネットワーク２１６のような、１つのアドホック・ネットワークへ収束するという目標を有する。勿論、ネットワーキング・サービス３０６は、サービス・セット識別子３２８のような多数のサービス・セット識別子を含むことができるが、明確化のために、図３にはこのような識別子を１つだけ示す。
【００３０】
本発明の一実施形態では、ネットワーキング・サービス３０６は、更に、ネットワーキング・サービス３０６の環境設定を行い、命令し、および／またはそれ以外の双方向処理を行うためのアドホック・ネットワーク・グラフィカル・ユーザ・インターフェース（ＧＵＩ）３３０も含むことができる。本発明の１つ以上の代替実施形態では、アドホック・ネットワーク・グラフィカル・ユーザ・インターフェース３３０は、アドホック・ネットワークに特定的でない一般のネットワーク加入グラフィカル・ユーザ・インターフェースに組み込むことができ、ネットワーキング・サービス３０６の一部である必要はない。具体的には、コンピュータ３０２のユーザは、アドホック・ネットワーク・グラフィカル・ユーザ・インターフェース３３０を用いて、サービス・セット識別子３２８に値を入力することができる。サービス・セット識別子３２８の値は、英数字キーボードによって入力すること、選択肢のリストから選択すること、および／またはいずれかの適したグラフィカルまたは非グラフィカル・ユーザ・インターフェース・デバイスおよび／または制御部、あるいは、例えば、１つ以上のネットワーク・インターフェース・カード３０８、３１０によって検出された１つ以上のネットワーク（必ずしも図２のアドホック・ネットワーク２１６、２１８、２２０でなくてもよい）に基づいて自動的に決定することができる。
【００３１】
各コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）は、図３に示す要素の一部または全てを含むことができる。具体的にＡｈ、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４の一部または全てが、アドホック・ネットワーク収束モジュール３２０を含むことができる。本発明の一実施形態では、各コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４においてアドホック・ネットワーク・パラメータ発生器３２２、アドホック・ネットワーク収束規則集３２４、および／またはアドホック・ネットワーク・アドレス取得モジュール３２６が同じまたは同様な動作を行うことにより、効率的なアドホック・ネットワークの形成が可能となる。
【００３２】
アーキテクチャ３００の一例について説明したので、次に、効率的なアドホック・ネットワーク形成方法の一例について説明する。本発明の一実施形態では、１つのシード値(seed value)および／または同じ収束規則集またはその部分集合から同じまたは同様のアドホック・ネットワーク・パラメータを発生することにより、アドホック・ネットワークの早期収束を促進する。図４は、本発明の一実施形態にしたがってアドホック・ネットワークの収束を促進するステップの一例を示す。
【００３３】
ステップ４０２において、サービス・セット識別子（ＳＳＩＤ）３２８（図３）のような、アドホック・ネットワーク識別子を、例えば、アドホック・ネットワーク収束モジュール３２０から受け取ることができる。アドホック・ネットワーク識別子は、通例、英数字またはUnicode(R)文字列であるが、適したアドホック・ネットワーク名または識別子であればいずれでもよい。例えば、ネットワーキング・サービスを組み込んだコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４を各々有する人のグループが、会議室に集合し、アドホック・ネットワークを形成することを決定することができる。グループがアドホック・ネットワークを「会議」と呼ぶことを決定し、グループ構成員の一人以上がネットワーク名（即ち、サービス・セット識別子３２８の値）「会議」を、アドホック・ネットワーク・グラフィカル・ユーザ・インターフェース３３０を用いて入力するのでもよい。最初にネットワーク名「会議」を入力する者は、アドホック・ネットワークの創設者と見なしてもよい。この例では、サービス・セット識別子３２８の値「会議」は、次に、アドホック・ネットワーク収束モジュール３２０によって、アドホック・ネットワーク・グラフィカル・ユーザ・インターフェース３３０から直接、または、ネットワーキング・サービス３０６を経て受け取られる。サービス・セット識別子３２８の値「会議」は、グループ構成員の一人以上によって自動的に受け取られるようにしてもよく、例えば、アドホック・ネットワークの「会議」に加入するグラフィック招待を発生し、各招待者はこの招待を受け入れても、断っても、または無視してもよい。
【００３４】
ステップ４０４において、サービス・セット識別子３２８（図３）の値の関数、例えば、暗号一方向ハッシング関数として、１つ以上のアドホック・ネットワーク・パラメータを生成することができる。図３に示す例は、２つのアドホック・ネットワーク・パラメータが、ステップ４０４のサブステップ４０６および４０８において発生することを示す。ステップ４０４、４０６および４０８の各々は、適した暗号ハッシュ関数であればいずれを実行してもよい。このような暗号ハッシュ関数は、当技術分野では周知であり、ここで詳しく説明する必要はない。ステップ４０４、４０６および／または４０８は、アドホック・ネットワーク・パラメータ発生器３２２によって実行することができる。各コンピュータ２０２、２０４、２０６、２０８、２１０、２１２および２１４（図２）は、アドホック・ネットワーク・パラメータ発生器３２２を組み込んでもよい。アドホック・ネットワーク・パラメータ発生器３２２は、同じサービス・セット識別子３２８が供給された各コンピュータコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４において、同じ１つ以上のアドホック・ネットワーク・パラメータ値を発生することができる。
【００３５】
ステップ４０６において、基本的サービス・セット識別子（ＢＳＳＩＤ）を、サービス・セット識別子３２８（図３）の値の関数、例えば、暗号ハッシュ関数として発生することができる。名称は似ているが、サービス・セット識別子（ＳＳＩＤ）３２８および基本的サービス・セット識別子（ＢＳＳＩＤ）は、異なる役割を果たす別個の識別子であることは、当業者には認められよう。例えば、サービス・セット識別子３２８が、アドホック・ネットワーク２１６（図２）を識別するためにコンピュータ３０２のユーザが選択することができるのに対して、ネットワーク・インターフェース・カード３０８または３１０の１つに関連するメディア・アクセス制御（ＭＡＣ）アドレスを、従来のシステムおよび方法において、基本的サービス・セット識別子として利用することができる。本発明の一実施形態では、異なる基本的サービス・セット識別子を同じサービス・セット識別子と関連付けることができると、アドホック・ネットワークの収束が非効率となる原因となる可能性があり、例えば、１つのアドホック・ネットワーク２１６の代わりに多数のアドホック・ネットワーク２１８および２２０（図２）ができてしまうので、基本的サービス・セット識別子をサービス・セット識別子の関数として発生することにより、この非効率性を防止できるようにしている。
【００３６】
ステップ４０８において、ワイヤレス通信チャネル番号を、サービス・セット識別子３２８（図３）の関数、例えば、暗号ハッシュ関数として発生することができる。この場合も、アドホック・ネットワークの形成中に異なるコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）が異なるチャネル番号を選択すると、アドホック・ネットワークの収束が非効率となる原因となり得る。本発明の一実施形態では、本発明の一実施形態では、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４の各々において同じサービス・セット識別子３２８の関数として同じワイヤレス通信チャネル番号を発生することにより、このアドホック・ネットワーク形成の非効率性を防止する。
【００３７】
ステップ４１０において、入手可能な方式の集合から、物理レイヤ通信方式（例えば、「ＰＨＹタイプ」）を選択することができる。例えば、各コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４は、ＰＨＹタイプIEEE802.11a、802.11bおよび802.11gの１つ以上をサポートするネットワーク・インターフェース・カード３０８、３１０を含むことができる。ステップ４１０は、アドホック・ネットワークの形成中に各コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４において実行することができ、ＰＨＹタイプは、例えば、アドホック・ネットワーク収束規則集３２４（図３）の一部の部分集合に応じて、選択することができる。本発明の一実施形態にしたがって物理レイヤ通信方式を選択するステップの一例については、以下で図７を参照して更に詳しく説明する。
【００３８】
コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）においてアドホック・ネットワーク・パラメータの共通集合を確定した後、例えば、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４によってアドホック・ネットワーク・パラメータの共通集合を利用して（即ち、これらによってパラメータ化して）、アドホック・ネットワーク形成プロトコルを実行することができる。ステップ４１２は、アドホック・ネットワーク形成プロトコルの明示的なパラメータ化を含むことができ、例えば、アドホック・ネットワーク収束モジュール３２０（図３）は、ネットワーキング・サービス３０６によって、発生し、選択し、および／または決定したアドホック・ネットワーク・パラメータ値を格納することができる。本発明の一実施形態では、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２および２１４間の調和に欠けていた従来と比較して、ステップ４０４、４０６、４０８および／または４１０におけるアドホック・ネットワーク・パラメータの共通集合の確定により、アドホック・ネットワークの形成効率を高める結果となる。アドホック・ネットワーク形成に関する更なる詳細については、以下で図５および図６を参照して説明する。
【００３９】
図５は、本発明の一実施形態によるアドホック・ネットワーク形成のためのステップ例を示す。具体的には、図５は、ダイナミック・ホスト構成プロトコル（ＤＨＣＰ）サーバのような、インフラストラクチャ・ネットワーク・リソースとは独立したコンピュータ・ネットワーキング環境における効率的なネットワーク・アドレス取得のためのステップ例を示す。例えば、図５に示すステップは、ステップ４１２（図４）の一部として実行することもできる。
【００４０】
ステップ５０２において、コンピュータ・ネットワークに加入する命令を受け取ることができる。例えば、ネットワーキング・サービス３０６（図３）は、コンピュータのオペレーティング・システム３０４から、コンピュータ・ネットワークに加入する命令を受け取ることができる。ステップ５０４において、加入するコンピュータ・ネットワークのタイプを判定することができる。具体的には、加入するコンピュータがインフラストラクチャ・コンピュータ・ネットワークまたはアドホック・コンピュータ・ネットワークのどちらか判定することができる。ステップ５０４の判定は、加入する命令の文脈(context)に応じて（文脈はネットワーク・タイプを明示的に指定することもできる）行うことができ、あるいは、例えば、アドホック・ネットワーク収束モジュール３２０は、ネットワーキング・サービス３０６および／またはコンピュータのオペレーティング・システム３０４に問い合わせて、ネットワーク・タイプに対応する情報を求めることができる。本発明の一実施形態では、ステップ５０２および５０４は、ステップ４０２（図４）と調和して、そしてステップ４０４および４１０の前に行われる。
【００４１】
ステップ５０４においてネットワーク・タイプを判定すると、ステップ５０６においてネットワーク・タイプを検査することができる。ネットワークがアドホック・ネットワークである場合、手順はステップ５０８に進むことができる。それ以外の場合、手順はステップ５１０に進むことができる。ステップ５０８では、アドホック・ネットワーク・アドレス取得（ＡＮＡＡ）モードを、例えば、アドホック・練って御ワーク・アドレス取得モード・モジュール３２６（図３）によって活性化することができる。具体的には、アドホック・ネットワーク・アドレス取得モードは、ダイナミック・ホスト構成プロトコル（ＤＨＣＰ）サーバのような、インフラストラクチャ・ネットワーク・リソースのアクティブな参照を回避することができる。対照的に、ステップ５１０では、アドホック・ネットワーク・アドレス取得モードが活性化されておらず、このようなインフラストラクチャ・ネットワーク・リソースのみから、ネットワーク・アドレスを取得しようとすることもできる。アドホック・ネットワーク・アドレス取得モードを活性化すると、手順はステップ５１２に進むことができる。
【００４２】
ステップ５１２において、インフラストラクチャ・ネットワーク・リソースとは同率して、アドホック・ネットワーク・アドレスの取得を加速化して行うことができる。図５は、取得するアドホック・ネットワーク・アドレスがインターネット・プロトコル（ＩＰ）アドレスであるときに、ステップ５１２に組み込むのに適した、ステップ５１２の２つのサブステップ５１４および１５６の例を示す。しかしながら、当業者には明白なように、本発明の各実施形態はそのように限定されるのではない。ステップ５１４において、自動秘密ＩＰアドレス（ＡＰＩＰＡ）を、例えば、自動秘密ＩＰアドレス（ＡＰＩＰＡ）モジュール３１８（図３）によって取得することができる。本発明の一実施形態では、自動秘密ＩＰアドレスが疑似ランダムに割り当てられ、調整インフラストラクチャ・ネットワーク・リソースを参照しないので、形成したアドホック・ネットワーク２１６においてコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）の１つ以上が同じ自動秘密ＩＰアドレスを取得する可能性がある。ステップ５１６において、従来の重複アドレス検出手順においてこのような重複アドレスを検出し取得し直すことができる。
【００４３】
重要なのは、ステップ５０８において活性化するアドホック・ネットワーク・アドレス取得モードは、例えば、デフォルトの即ちインフラストラクチャ・ネットワーク・アドレス取得モードと比較すると、アドホック・ネットワークにとっては、加速および／または高効率化したネットワーク・アドレス取得モードとなることができることである。例えば、デフォルトの即ちインフラストラクチャ・ネットワーク・アドレス取得モードは、ステップ５１０に対応する１つ以上のステップを含むことができ、ここでダイナミック・ホスト構成プロトコル・サーバなどからネットワーク・アドレスを取得しようとすることができる。このような試みがこのようなインフラストラクチャのないネットワークにおいて行われると、後にステップ５１２に対応する１つ以上のステップが実行されても、試みが時間切れになるまでにある程度の時間量が浪費される（例えば、６０秒）。アドホック・ネットワーク・アドレス取得モードは、このような検出の試みを回避することによって、インフラストラクチャ要素検出効率を高めることに伴う潜在的に困難な問題を回避することができる。本発明の一実施形態では、アドホック・ネットワーク・アドレス取得モードはこのようにしてアドホック・ネットワーク形成効率を高める。本発明の１つ以上の実施形態では、アドホック・ネットワーク・アドレス取得モードは、デフォルトの即ちインフラストラクチャ・ネットワーク・アドレス取得モードのような１つ以上の代わりのネットワーク・アドレス取得モードと並行して処理を進めることができ、例えば、代わりのネットワーク・アドレス取得モードによって得た１つ以上のネットワーク・アドレスで、アドホック・アドレス取得モードによって取得したネットワーク・アドレスを補ったり、あるいは交換することもできる。
【００４４】
一旦ステップ５１２においてアドホック・ネットワーク・アドレスを取得することに成功したなら、ステップ５１２を実行したコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）が、アドホック・ネットワーク２１６、２１８または２２０のようなアドホック・ネットワークに加入したか否か検討することができる。ある時点において、コンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４はアドホック・ネットワーク２１６、２１８または２２０から離脱することもできる。図６は、本発明の一実施形態にしたがってアドホック・ネットワーク２１６、２１８または２２０から離脱するためのステップ例を示す。接続シンボル５１８は、図５に示すステップと図６に示すステップとの間の続きを示す。
【００４５】
ステップ６０２において、アドホック・ネットワーク離脱通知を、例えば、アドホック・ネットワーク収束モジュール３２０（図３）によって受けとることができる。本発明の一実施形態では、アドホック・ネットワーク離脱通知は、ネットワーキング・サービス３０６が提供する従来のメディア切断通知に対応する。アドホック・ネットワーク離脱通知に応答して、ステップ６０４において、ステップ５０８（図５）で活性化したアドホック・ネットワーク・アドレス取得（ＡＮＡＡ）モードを不活性化することができる。その結果、ネットワーキング・サービス３０６は、デフォルトの即ちネットワーク・アドレス取得のインフラストラクチャ・モードに戻ることができる。
【００４６】
図７は、本発明の一実施形態にしたがって物理レイヤ通宇真方式を選択するためのステップ例を示す。ステップ７０２において、物理レイヤ通信方式（例えば、「ＰＨＹタイプ」）を手作業で選択するか否か判定を行うことができる。例えば、ネットワーキング・サービス３０６（図３）の構成要素は、物理レイヤ通信方式を手作業または自動のどちらで選択するか示すことができる。物理レイヤ通宇真方式を手作業で選択する場合、手順はステップ７０４に進む。それ以外のバイ、手順はステップ７０６に進むことができる。
【００４７】
ステップ７０４において、物理層通信方式選択グラフィカル・ユーザ・インターフェース（ＧＵＩ）をコンピュータ３０２（図３）のユーザに、例えば、ネットワーキング・サービス３０６によって表示することができる。物理層通信方式選択グラフィカル・ユーザ・インターフェースは、コンピュータ３０２のユーザによる選択のために、物理レイヤ通信方式の選択肢を呈示することができる。例えば、物理レイヤ通信方式の選択肢は、ネットワーク・インターフェース・カード３０８、３１０の能力によって決定することができる。ステップ７０８において、コンピュータ３０２のユーザによって行われた選択を、例えば、ネットワーキング・サービス３０６によって受け取ることができる。
【００４８】
ステップ７０６において、利用可能な物理レイヤ通信方式の数を決定することができる。例えば、アドホック・ネットワーク収束モジュール３２０（図３）はネットワーキング・サービス３０６にコンピュータ３０２のネットワーク・インターフェース・カード３０８、３１０の能力に関して問い合わせることができる。利用可能な物理レイヤ通信方式の数が１つよりも多い場合、手順はステップ７１０に進むことができる。それ以外の場合、手順はステップ７１２に進むことができる。ステップ７１２において、１つの利用可能な物理レイヤ通信方式を選択することができ、あるいは利用可能な物理レイヤ通信方式がない場合、プログラムの例外を発生することができる。
【００４９】
ステップ７１０において、IEEE802.11a、802.11bおよび802.11g物理レイヤ通信方式が利用可能か否か判定を行うことができる。IEEE802.11a、802.11bおよび802.11g物理レイヤ通信方式が利用可能な場合、手順はステップ７１４に進むことができる。それ以外の場合、手順はステップ７１６に進むことができる。ステップ７１４において、IEEE802.11g物理レイヤ通信方式を選択することができる。本発明の一実施形態では、IEEE802.11g物理レイヤ通信方式を選択することにより、アドホック・ネットワークの収束を最適化する。何故なら、IEEE802.11g物理レイヤ通信方式は、802.11b物理レイヤ通信方式と下位互換性を有し、一方802.11bや802.11gは802.11aと下位互換性はないからである。
【００５０】
ステップ７１６において、IEEE802.11bおよび802.11g物理レイヤ通信方式が利用可能か否か判定を行うことができる。IEEE802.11bおよび802.11g物理レイヤ通信方式が利用可能な場合、手順はステップ７１８に進むことができる。それ以外の場合、手順はステップ７２０に進むことができる。ステップ７１８において、IEEE802.11g物理レイヤ通信方式を選択することができる。本発明の一実施形態では、IEEE802.11g物理レイヤ通信方式を選択することにより、アドホック・ネットワークの収束を最適化する。何故なら、IEEE802.11g物理レイヤ通信方式は、802.11b物理レイヤ通信方式と下位互換性を有するからである。
【００５１】
破線７２２、７２４および７２６で示すように、条件−行動対、即ち、ステップ７０６および７１２、ステップ７１０および７１４、ならびにステップ７１６および７１８の各々は、アドホック・ネットワーク収束規則集３２４（図３）におけるエンコードおよび／または内蔵に適したアドホック・ネットワーク収束規則であると見なすことができる。本発明の各実施形態が規則７２２、７２４および７２６の各々を有する必要はない。本発明の一実施形態では、規則７２２、７２４および７２６よりも少なくても多くてもよい。追加のおよび／または異なる規則にも、規則７２２、７２４または７２６と同様のアドホック・ネットワーク収束条件およびアドホック収束行動があってもよいが、本発明の各実施形態はそのように限定されるのではない。アドホック・ネットワーク収束条件は、例えば、データベースまたはプログラミング言語によって定義されるように、適した述語(predicate)であればいずれでも含むことができる。アドホック・ネットワーク収束行動は、例えば、データベースまたはプログラミング言語によって定義されるように、適したプログラム命令集合であればいずれでも含むことができ、関数コールや、その他にも、コンピュータ３０２のオペレーティング・システム３０４（図３）と相互作用やリモート・コンピュータ１１６（図１）との相互社用を含むことができる。
【００５２】
この例では、規則集７２２、７２４および７２６を使い果たすと、手順はステップ７２０に進み、格付けに基づく物理レイヤ通信方式選択手順を試行することができる。しかしながら、本発明の代替実施形態では、アドホック・ネットワーク収束規則集３２４を使い果たした場合、ステップ７２０および７２８を省略し、プログラム例外を発生する。
【００５３】
ステップ７２０において、利用可能な各物理レイヤ通信方式を、そのアドホック・ネットワーク収束効率にしたがって格付けすることができる。例えば、各物理レイヤ通信方式に、設定した(configured)収束格付けまたは収束格付け関数を関連させ、利用可能な物理レイヤ通信方式をそれらのそれぞれの設定した収束格付け、および／またはそれらのそれぞれの収束格付け関数の結果に応じて格付けすることができる。収束格付け関数に適したパラメータには、利用可能な物理レイヤ通信方式の集合、それらの設定した収束格付けおよびそれらの収束格付け関数が含まれる。収束格付け関数は、既存の設定した収束格付けを修正すること、および／または新しい収束格付け即座に返すこともできる。
【００５４】
ステップ７２８において、最も高い格付けの物理レイヤ通信方式を選択することができる。２つ以上の物理レイヤ通信方式に等しい格付けがなされた場合、例えば、方式の名称のアルファベット降順で、等しく格付けされた物理レイヤ通信方式間で決定論的に選択を行うこともできる。本発明の一実施形態では、図７に示すステップによって、１つのアドホック・ネットワーク２１６に収束しようとするコンピュータ２０２、２０４、２０６、２０８、２１０、２１２、２１４（図２）のグループ全体に対して、同じまたは互換性のある物理レイヤ通信方式の選択を確保し、こうしてアドホック・ネットワーク収束効率を高める。
【００５５】
図７に示す例では、ステップ７２０および７２８は、規則７２２、７２４および７２６と関連のあるステップに加えてまたはその代わりに実行することができるステップのように示されている。しかしながら、本発明の代替実施形態では、ステップ７２０および７２８は、収束規則集３２４（図３）における１つ以上のアドホック・ネットワーク収束規則として実施することもできる。収束規則集合３２４における規則としてステップを実施する場合、収束規則集合３２４における規則は、アドホック・ネットワーク収束モジュール３２０によって解釈することができる。それ以外の場合、例えば、アドホック・ネットワーク収束モジュール３２０にステップを従来通りに組み込むこともできる。
【００５６】
刊行物、特許出願、および特許を含む、ここで引用した全ての参考文献は、ここで引用したことにより、各参考文献がここで引用されたことによって本願にも含まれることを個々にそして具体的に示され、その全体がこの中に明記されたかのように、同程度に本願にも含まれるものとする。
【００５７】
本発明を記載する文脈における用語「a」および「an」ならびに「the」、更には同様の指示物は、この中で特に明記しておらず明らかに文脈と矛盾するのではない限り、単数および複数双方に当てはまるように解釈することとする。「comprising」、「having」、および「containing」は、特記しない限り、開放端用語(open-ended terms)（即ち、「含むが限定されない」を意味する）として解釈することとする。この中において値の範囲を詳述する場合、特にこの中で明記しない限り、その範囲に該当する別個の各値に個々に言及する簡略的な伝達方法として役立つことを意図するに過ぎず、別個の各値は、あたかもそれがこの中で個々に詳述されたかのように、明細書に組み込まれているものとする。この中に記載した全ての方法は、特にこの中で明記しない限り、そして明らかに文脈と矛盾するのではない限り、適した順序であればそのいずれでも実行することができる。この中で与えたいずれの例そして全ての例、または例示的なことば（例えば、「such as」）の使用も、本発明を一層際立たせることを意図するに過ぎず、そうでないことを主張しない限り、本発明の範囲に対する限定を規定するのではない。明細書におけるいずれのことばも、特許請求しないいずれの要素も、発明の実用に必須であることを示すように解釈しないことは当然である。
【００５８】
本発明の好適な実施形態についてここに説明したが、発明を実施するために発明者に分かっている最良の形態を含んでいる。これらの好適な実施形態の変形は、前述の説明を読めば、当業者には明白となるはずである。発明者は、当業者がこのような変形を適宜採用することを予期し、発明者は、ここに具体的に記載した以外で発明が実用化されることを意図している。したがって、本発明は、適用可能な法律によって許される範囲において、これに添付された特許請求の範囲に明記されている主題の変更物および同等物全てを含むこととする。更に、その可能な全ての変形における前述の要素のいずれの組み合わせも、特にこの中で明記されていない限り、または明らかに文脈と矛盾しない限り、本発明に包含されるものとする。
【図面の簡単な説明】
【００５９】
【図１】図１は、本発明の一実施形態を実施するために使用可能なコンピュータ・システムの一例を全体的に示す模式図である。
【図２】図２は、本発明の形態を組み込むのに適したコンピュータ・ネットワーキング環境の一例を示す模式図である。
【図３】図３は、本発明の一実施形態による効率的なアドホック・ネットワーク形成のためのコンピュータ・システム・アーキテクチャの一例を示すブロック図である。
【図４】図４は、本発明の一実施形態にしたがってアドホック・ネットワーク収束を促進するステップ例を示すフローチャートである。
【図５】図５は、本発明の一実施形態による効率的なアドホック・ネットワーク形成のためのステップ例を示すフローチャートである。
【図６】図６は、本発明の一実施形態にしたがってアドホック・ネットワークから離脱するためのステップ例を示すフローチャートである。
【図７】図７は、本発明の一実施形態にしたがって物理例や通信方式を選択するためのステップ例を示すフローチャートである。
【図１】
2009500914.tif 000003
【図２】
2009500914.tif 000004
【図３】
2009500914.tif 000005
【図４】
2009500914.tif 000006
【図５】
2009500914.tif 000007
【図６】
2009500914.tif 000008
【図７】
2009500914.tif 000009