(58)【調査した分野】(Int.Cl.,DB名)
前記第3のノードのルーティングテーブルの中の第1のルーティングエントリが、前記第2のノードを前記宛先ノードに向う次のホップとして含む、請求項1に記載の方法。
前記第2のノードのルーティングテーブルの中の第1のルーティングエントリが、前記第1のノードを前記宛先ノードに向う次のホップとして含む、請求項3に記載の方法。
前記第3のノードのルーティングテーブルの中の第1のルーティングエントリが、前記第2のノードを前記宛先ノードに向う次のホップとして含む、請求項6に記載の装置。
前記第2のノードのルーティングテーブルの中の第1のルーティングエントリが、前記第1のノードを前記宛先ノードに向う次のホップとして含む、請求項10に記載の装置。
【発明を実施するための形態】
【0008】
以下の詳細な説明において、説明の一部を成す、添付の図面が参照される。図面において、文脈によってそうでないことが規定されない限り、同様の符号は、通常、同様の構成要素を特定する。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定することを意図していない。本明細書で提示される主題の趣旨または範囲を逸脱することなく、他の実施形態が利用されることが可能であり、さらに他の変更が行われることが可能である。本明細書で全体的に説明され、さらに図に示される、本開示の態様は、すべて本明細書で明示的に企図される、多種多様な異なる構成で構成されること、置換されること、組み合わされること、分離されること、および設計されることが可能であることが容易に理解されよう。
【0009】
本開示は、とりわけ、モバイルアドホックネットワークにおいてデータを送信するための方法、システム、およびコンピュータプログラムに向けられる。本開示において、「スヌープノード」は、そのスヌープノードがパケットを受信するが、そのパケットの意図される受信者ではない場合、パケットを「漏れ聞いている」ものとして一般に説明することができる。この漏れ聞く特性は、モバイルアドホックネットワークなどの無線ネットワークにおいて一般的である。「ルーティングエントリ追加済みのメッセージ」は、ノードに格納されたルーティングエントリに関連付けられた情報を含むメッセージとして一般に説明することができ、該ノードは、該メッセージおよび該ノードのアドレスをブロードキャストする。
【0010】
簡単に述べると、モバイルアドホックネットワークにおいてデータを送信するための技術が、本明細書で一般的に説明される。一部の例示的なアドホックネットワークは、第1のノード、第2のノード、および/または第3のノードなどの、送信元ノード、宛先ノード、1つまたは複数の中間ノードを含み得る。パケットが、モバイルアドホックネットワークのアクティブなルート経由で送信元ノードから宛先ノードに送信される。一部の実施形態において、第2のノードは、第1のノードから、アクティブなルート上で別の中間ノードに送信されることが意図されるパケットを漏れ聞くように構成することができる。漏れ聞かれたパケットに基づいて、第2のノードは、第1のノードが宛先ノードに向う次のホップとして識別された第1のルーティングエントリを、第2のノードのルーティングテーブルに追加するように構成される。第2のノードは、新たに追加された第1のルーティングエントリに関連付けられたメッセージを、モバイルアドホックネットワークにおいてさらにブロードキャストするように構成することができる。第3のノードがこのブロードキャストされたメッセージを受信すると、第3のノードは、第2のノードが宛先ノードに向う次のホップとして識別された第1のルーティングエントリを、第3のノードのルーティングテーブルに追加するようにも構成される。送信元ノードから宛先ノードに至る新たなアクティブなルートが、第3のノードのルーティングテーブルの中の新たに追加された第1のルーティングエントリに基づいて、さらに第2のノードのルーティングテーブルの中の新たに追加された第1のエントリにも基づいて、確立することができる。
【0011】
図1Aは、本開示に従って構成されたモバイルアドホックネットワーク100の例示的な実施形態において確立されたアクティブなルート121(実線で示される)のトポロジを示す。モバイルアドホックネットワーク100は、送信元ノード101と、宛先ノード109と、送信元ノード101と宛先ノード109の間でデータが交換されるルート121とを含み得る。ルート121は、ノード103、ノード105、およびノード107などの複数の中間ノードを含み得る。モバイルアドホックネットワーク100は、スヌープノード111などの、アクティブなルート121上にない他のノードを含み得る。
【0012】
アクティブなルート121は、何らかの知られているルーティングプロトコル(たとえば、AODV(アドホックオンデマンド距離ベクトル)ルーティングプロトコル)によって決定することができる。そのようなプロトコルにおいて、モバイルアドホックネットワーク100は、接続が必要とされるまでサイレントである。送信元ノード101などの要求側のノードが、宛先ノード109などの宛先ノードに対する接続を必要とするものと想定されたい。送信元ノード101は、接続に関するルート要求パケット(たとえば、RREQ)をブロードキャストする。ネットワークにおける他のノード(たとえば、中間ノード)は、このルート要求パケットを受信し、このルート要求パケットを送信したノードを識別し、さらにこのルート要求パケットを転送する(すなわち、再送信する)ように構成される。複数のノードがこのルート要求パケットを受信することが可能であるので、受信側のノードと送信元ノード101の間で複数の一時的なルートが作成され得る。また、中間ノードは、中間ノードと宛先ノード109の間に知られているルートが存在するかどうかを判定するようにも構成される。中間ノード(たとえば、ノード107)が、宛先ノード109に至る知られているルートが既に存在すると判定した場合、中間ノードは、中間ノードが受信したルート要求パケットの送信元であるノードに、ユニキャスト伝送で、さらに送信元ノード101に至る一時的なルート経由で、ルート応答パケットを送り返す。中間ノードが送信元ノード101にルート応答パケットを送信すると、アクティブなルート上の各ノードが、パケットを受信した前のノードについての情報を格納する。
【0013】
ルート応答パケットを送信する際、ルート応答パケットは、意図される受信ノード(たとえば、ノード105)の付近のスヌープノード(たとえば、スヌープノード111)によって漏れ聞かれることが可能である。また、ルート応答パケットは、そのルート応答パケットを送信するノードの付近のノードによって漏れ聞かれることも可能である。前述したとおり、漏れ聞かれる特性は、無線ネットワーク(たとえば、モバイルアドホックネットワーク100)において一般的である。スヌープノード111は、ルート応答パケットから送信元ノードアドレスおよび宛先アドレスを取得することが可能である。さらに、スヌープノード111は、スヌープノード111にルート応答パケットを送信した前のノードを識別するように構成することができる。スヌープノード111は、送信元ノードアドレスと、宛先ノードアドレスと、宛先ノード109に向う次のホップ(たとえば、ノード107)とを含み得る第1のルーティングエントリを、スヌープノード111のルーティングテーブルに追加することが可能であり、さらにモバイルアドホックネットワーク100においてルーティングエントリ追加済みのメッセージをブロードキャストすることも可能である。
【0014】
ノード(たとえば、スヌープノード111)によってブロードキャストされるルーティングエントリ追加済みのメッセージは、第1のルーティングエントリ(たとえば、次のホップがノード107である)に関連付けられた情報と、このメッセージをブロードキャストしたノードのアドレス(たとえば、スヌープノード111のアドレス)とを含み得る。一部の実施形態において、ルーティングエントリ追加済みのメッセージは、ノード103または送信元ノード101などの、ルート121上のノードによって受信することができる。ルーティングエントリ追加済みのメッセージに基づいて、ルート121上のノードは、このメッセージをブロードキャストしたノード(たとえば、スヌープノード111)を宛先ノード(たとえば、宛先ノード109)に向う次のホップとしてルーティングテーブルの中で識別する第1のルーティングエントリを、自身のルーティングテーブルに追加することも可能である。このシナリオにおいて、パケットがノード103に着信すると、そのパケットは、ノード103のルーティングテーブルの中の新たに追加された第1のルーティングエントリに基づいてスヌープノード111を経由し、次に、スヌープノード111のルーティングテーブルの中の新たに追加された第1のルーティングエントリに基づいてノード107を経由して、宛先ノード109に向けて送信することができる。
【0015】
図1Bは、本開示に従って構成されたモバイルアドホックネットワーク130の例示的な実施形態において確立された、別のアクティブなルート131(実線で示される)のトポロジを示す。前述したとおり、スヌープノード111が、スヌープノード111のルーティングテーブルに第1のルーティングエントリを追加し、さらに、ルーティングエントリ追加済みのメッセージをモバイルアドホックネットワーク130にブロードキャストもした後の、スヌープノード111の例示的なルーティングテーブルが、以下のとおりリスト化される。
【0017】
ノード103は、ルーティングエントリ追加済みのメッセージを受信することが可能である。ノード103がノード103自体のルーティングテーブルに第1のルーティングエントリを追加した後の、ノード103の例示的なルーティングテーブルが、以下のとおりリスト化される。
【0019】
例示的なルーティングテーブルが、既存のルーティングエントリ(すなわち、テーブル2の第2の行)を最初に有するものと想定されたい。ノード103は、ルーティングエントリ追加済みのメッセージを受信した後、第1のルーティングエントリ(すなわち、テーブル2の第3の行)を追加する。この既存のルーティングエントリは、ノード103が、送信元ノード101を発信元とするデータを、宛先ノード109に向う次のホップとしてノード105にルーティングするように構成されることを示す。新たに追加された第1のルーティングエントリは、送信元ノード101を発信元とするデータを、宛先ノード109に向う次のホップとしてスヌープノード111にルーティングするようにノード103が構成されることを示す。したがって、ノード103は、既存のルーティングエントリを選択して、既存のルーティングエントリに基づいて確立された第1のアクティブなルート(たとえば、
図1Aのルート121)を経由して、または第1のルーティングエントリを選択して、第1のルーティングエントリに基づいて確立された第2のアクティブなルート(たとえば、
図1Bのルート131)を経由して、送信元ノード101と宛先ノード109の間でデータを送信することが可能である。一部の実施形態において、ノード103は、データを送信するために、ノード103のルーティングテーブルから既存のルーティングエントリと第1のルーティングエントリの両方を選択することが可能である。たとえば、ノード103は、既存のルーティングエントリおよび第1のルーティングエントリに基づく2つのルートを順に使用することが可能である。ノード103は、既存のルーティングエントリに基づいてノード105に第1のパケットを送信し、第1のルーティングエントリに基づいてノード111に第2のパケットを送信し、ノード105に第3のパケットを送信し、ノード111に第4のパケットを送信し、以下同様であることが可能である。
【0020】
図1Cは、本開示に従って構成されたモバイルアドホックネットワーク150の例示的な実施形態において確立された、さらに別のアクティブなルート151(実線で示される)のトポロジを示す。前述したとおり、スヌープノード111が、スヌープノード111のルーティングテーブルに第1のルーティングエントリを追加し、さらに、ルーティングエントリ追加済みのメッセージをモバイルアドホックネットワーク150にブロードキャストした後の、スヌープノード111の例示的なルーティングテーブルが、以下のとおりリストアップされる。
【0022】
図1Bのノード103の代わりに送信元ノード101が、ルーティングエントリ追加済みのメッセージを受信することが可能である。送信元ノードが送信元ノード自体のルーティングテーブルに第1のルーティングエントリを追加した後の、ノード101の例示的なルーティングテーブルが、以下のとおりリスト化される。
【0024】
例示的なルーティングテーブルが、既存のルーティングエントリ(すなわち、テーブル4の第2の行)を最初に有するものと想定されたい。送信元ノード101は、ルーティングエントリ追加済みのメッセージを受信した後、第1のルーティングエントリ(すなわち、テーブル4の第3の行)を追加する。この既存のルーティングエントリは、送信元ノード101が、宛先ノード109に向う次のホップとしてノード103にデータをルーティングするように構成されることを示す。新たに追加された第1のルーティングエントリは、宛先ノード109に向う次のホップとしてスヌープノード111にデータをルーティングするようにノード101が構成されることを示す。したがって、送信元ノード101は、宛先ノード109に向けて第1のアクティブなルート(たとえば、
図1Aのルート121)経由で、または第2のアクティブなルート(たとえば、
図1Cのルート151)経由でデータを送信することが可能である。一部の実施形態において、送信元ノード101は、宛先ノード109に向けて第1のアクティブなルートと第2のアクティブなルートの両方を経由するようにデータを送信することが可能である。
【0025】
送信元ノードと宛先ノードの間の第1のアクティブなルート上のあるノードに関して、前述の追加されたルーティングテーブルエントリによって、そのノードが、送信元ノードと宛先ノードの間の代替の1つまたは複数のルート(たとえば、第2のアクティブなルート)を認識可能にすることができる。より具体的には、知られているオンデマンドプロトコルとは異なり、そのノードは、第1のアクティブなルートが利用可能でない場合に代替のルートを能動的に発見することを要求されない。そのノードが、そのノードのルーティングテーブルを調べ、ルート獲得待ち時間がより短くなることが可能である。
【0026】
図2は、本開示に従って構成されたモバイルアドホックネットワークにおいてデータを送信するための方法の、例示的な実施形態の流れ図である。方法200は、ブロック201、203、205、207、209、および/または211によって示される1つまたは複数の動作、機能、またはアクションを含み得る。これらのさまざまなブロックは、説明される実施形態に限定されることを意図していない。たとえば、本明細書で開示されるこのプロセスおよび方法、ならびにその他のプロセスおよび方法に関して、これらのプロセスおよび方法において実行される機能は、異なる順序で実施されてもよいことが、当業者には認識されよう。さらに、概説されるステップおよび動作は、単に例として与えられており、さらにこれらのステップおよび動作のいくつかは、開示される実施形態の本質を逸脱することなく、オプションであっても、組み合わされて、より少ないステップまたは動作にされても、追加のステップおよび動作に拡大されてもよい。
【0027】
ブロック201(ルート応答パケットを漏れ聞く)で、
図1Aのスヌープノード111などのモバイルアドホックネットワークにおけるノードが、ルート応答パケットを漏れ聞くことが可能である。一部の実施形態において、ルート要求パケットを受信した後、第1のノードが、宛先とされるノード(たとえば、
図1Aのノード105)にユニキャスト伝送でルート応答パケットを送信する際、このユニキャストされたルート応答パケットを、第2のノード(たとえば、スヌープノード111)が漏れ聞くことが可能である。ブロック201の後にブロック203が続くことが可能である。
【0028】
ブロック203(ルーティングテーブルにルーティングエントリを追加する)で、第2のノードは、このルート応答パケットを漏れ聞いた後に、宛先ノードに向う次のホップが指定された第1のルーティングエントリを、第2のノードのルーティングテーブルに追加するように構成される。ブロック203の後にブロック205が続くことが可能である。
【0029】
ブロック205(メッセージをブロードキャストする)で、同一の第2のノードが、モバイルアドホックネットワークにおいてメッセージをブロードキャストすることが可能である。一部の実施形態において、このメッセージは、第2のノードのルーティングテーブルの中の第1のルーティングエントリ(たとえば、次のホップ情報)に関連付けられた情報と、第2のノードのアドレスとを含み得る。このメッセージは、送信元ノードと宛先ノードの間のアクティブなルート上の第3のノード(たとえば、
図1Aのアクティブなルート121上のノード103)によって受信することができる。第3のノードは、このブロードキャストされたメッセージを受信した後、第3のノード自体のルーティングテーブルに第1のルーティングエントリを追加することが可能である。ブロック205の後にブロック207が続くことが可能である。
【0030】
ブロック207(メッセージを受信しているノードからデータを受信する)で、第2のノードは、第3のノードのルーティングテーブルの中の新たに追加された第1のルーティングエントリに基づいて確立された新たなアクティブなルート経由でデータを受信することが可能である。
【0031】
図3は、本開示によるモバイルアドホックネットワークにおいてデータを送信するために構成された例示的なコンピュータプログラム製品300を示す。コンピュータプログラム製品300は、信号を担持する媒体304を含み得る。信号を担持する媒体304は、少なくとも、前述し
図2に示す方法を実行するための実行可能命令の1つまたは複数のセット302を含み得る。
【0032】
一部の実施形態において、信号を担持する媒体304は、ハードディスクドライブ、CD(コンパクトディスク)、DVD(デジタルビデオディスク)、デジタルテープ、メモリなどの、ただし、以上には限定されない、一時的でないコンピュータ可読媒体308を包含することが可能である。一部の実施形態において、信号を担持する媒体304は、メモリ、R/W(読取り/書込み)CD、R/W DVDなどの、ただし、以上には限定されない記録可能媒体310を包含することが可能である。一部の実施形態において、信号を担持する媒体304は、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど)などの、ただし、以上には限定されない通信媒体306を包含することが可能である。
【0033】
図4は、本開示によるモバイルアドホックネットワークにおいてデータを送信するために構成された例示的なコンピューティングデバイス400を示す。非常に基本的な構成402において、コンピューティングデバイス400は、通常、1つまたは複数のプロセッサ404と、システムメモリ406とを含む。メモリバス408が、プロセッサ404とシステムメモリ406の間で通信するために使用することができる。
【0034】
所望される構成に依存して、プロセッサ404は、μP(マイクロプロセッサ)、μC(マイクロコントローラ)、DSP(デジタルシグナルプロセッサ)、または以上の任意の組合せを含むが、以上には限定されない任意のタイプのものであり得る。プロセッサ404は、レベル1キャッシュ410およびレベル2キャッシュ412などの1つまたは複数のレベルのキャッシングと、プロセッサコア414と、レジスタ416とを含み得る。例示的なプロセッサコア414としては、ALU(算術論理装置)、FPU(浮動小数点演算装置)、DSPコア(デジタル信号処理コア)、または以上の任意の組合せを挙げることができる。例示的なメモリコントローラ418が、プロセッサ404と一緒に使用されることも可能であり、または、一部の実施形態において、メモリコントローラ418がプロセッサ404の一部になっていることも可能である。
【0035】
所望される構成に依存して、システムメモリ406は、揮発性メモリ(RAMなどの)、不揮発性メモリ(ROM、フラッシュメモリなどの)、または揮発性メモリと不揮発性メモリの任意の組合せを含むが、以上には限定されない任意のタイプのものであり得る。システムメモリ406は、オペレーティングシステム420、1つまたは複数のアプリケーション422、およびプログラムデータ424を含み得る。アプリケーション422は、少なくとも
図2の方法200のブロック201、203、205、207、および209の1つまたは複数に関して説明される機能を含む、本明細書で説明される機能を実行するように構成されたルーティングアルゴリズム426を含み得る。プログラムデータ424は、ルーティングアルゴリズム426を用いた動作のために有用であり得るノードアドレスデータ428を含み得る。一部の実施形態において、ルーティングアルゴリズム426が、ノードアドレスデータ428を利用して、前述したとおり、モバイルアドホックネットワークにおける送信元ノードから宛先ノードに至る新たなルートを識別することが可能である。一部の実施形態において、モバイルアドホックネットワークにおいてデータを送信することが本明細書で説明されるとおりに実施することができるよう、オペレーティングシステム420上でプログラムデータ424を用いて動作するようにアプリケーション422を構成することができる。この説明された基本構成402が、
図4に、内側の破線内に、基本構成402の構成要素によって示される。
【0036】
コンピューティングデバイス400は、基本構成402と要求される任意のデバイスおよびインターフェースとの間で通信を円滑にするさらなるフィーチャもしくは機能、およびさらなるインターフェースを有することが可能である。たとえば、バス/インターフェースコントローラ430が、ストレージインターフェースバス434を介して、基本構成402と1つまたは複数のデータストレージデバイス432の間の通信を円滑にするのに使用することができる。データストレージデバイス432は、取外し式ストレージデバイス436であっても、非取外し式ストレージデバイス438であっても、または取外し式ストレージデバイス436と非取外し式ストレージデバイス438の組合せであってもよい。取外し式ストレージデバイスおよび非取外し式ストレージデバイスの例としては、いくつかを挙げると、フレキシブルディスクドライブおよびHDD(ハードディスクドライブ)などの磁気ディスクデバイス、CD(コンパクトディスク)ドライブまたはDVD(デジタルバーサタイルディスク)ドライブなどの光ディスクドライブ、SDD(ソリッドステートドライブ)、およびテープドライブが含まれる。例示的なコンピュータ記憶媒体としては、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体が含まれる。
【0037】
システムメモリ406、取外し式ストレージデバイス436、および非取外し式ストレージデバイス438は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(デジタルバーサタイルディスク)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または所望される情報を格納するのに使用することが可能であると共に、コンピューティングデバイス400によってアクセスし得る他の任意の媒体が含まれるが、以上には限定されない。任意のそのようなコンピュータ記憶媒体が、コンピューティングデバイス400の一部であり得る。
【0038】
また、コンピューティングデバイス400は、バス/インターフェースコントローラ430を介してさまざまなインターフェースデバイス(たとえば、出力装置442、周辺インターフェース444、および通信デバイス446)からの基本構成402に対する通信を円滑にするためのインターフェースバス440も含み得る。例示的な出力装置442は、1つまたは複数のA/Vポート452を介してディスプレイまたはスピーカなどのさまざまな外部デバイスに通信するように構成することができる、グラフィックス処理ユニット448とオーディオ処理ユニット450とを含む。例示的な周辺インターフェース444は、1つまたは複数のI/Oポート458を介して入力装置(たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)または他の周辺デバイス(たとえば、プリンタ、スキャナなど)などの外部デバイスと通信するように構成することができるシリアルインターフェースコントローラ454またはパラレルインターフェースコントローラ456を含む。例示的な通信デバイス446が、1つまたは複数の通信ポート464経由でネットワーク通信リンクを介して他の1つまたは複数のコンピューティングデバイス462との通信を円滑にするように構成することができるネットワークコントローラ460を含む。一部の実施形態において、他のコンピューティングデバイス462は、アプリケーション422の結果に基づいて操作することができる他のアプリケーションを含み得る。
【0039】
ネットワーク通信リンクは、通信媒体の一例であり得る。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって実現されることが可能であり、さらに任意の情報伝送媒体を含むことが可能である。「変調されたデータ信号」は、信号内に情報を符号化するように信号の特性の1つまたは複数が設定されている、または変更されている信号であり得る。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、RF(無線周波数)媒体、マイクロ波媒体、IR(赤外線)媒体、および他の無線媒体などの無線媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含み得る。
【0040】
コンピューティングデバイス400は、セル電話機、PDA(携帯情報端末)、パーソナルメディアプレーヤデバイス、無線ウェブウォッチデバイス、パーソナルヘッドセットデバイスなどのスモールフォームファクタのポータブル(モバイル)電子デバイス、特定用途向けデバイス、または前述の機能のいずれかを含むハイブリッドデバイスの一部分として実装することができる。
【0041】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に(いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で)コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび/またはシステムおよび/または他の技術をもたらすことができるさまざまな達成手段があり(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)、好ましい達成手段は、プロセスおよび/またはシステムおよび/または他の技術が導入される状況によって異なる。たとえば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアおよび/またはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。または、さらに別の代替案として、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアの何らかの組合せを選択することができる。
【0042】
前述の詳細な説明では、ブロック図、フローチャート、および/または例の使用によって、装置および/またはプロセスのさまざまな実施形態を説明してきた。そのようなブロック図、フローチャート、および/または例が1つまたは複数の機能および/または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および/または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび/または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、1つまたは複数のコンピュータ上で動作する1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で動作する1つまたは複数のプログラムとして)、1つまたは複数のプロセッサ上で動作する1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で動作する1つまたは複数のプログラムとして)、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに/またはソフトウェアおよび/もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムをさまざまな形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー(登録商標)ディスク、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンクおよび/または有線通信チャネル、無線通信リンクおよび/または無線通信チャネルなど)の通信タイプの媒体が含まれるが、それらには限定されない。
【0043】
本明細書で説明したやり方で装置および/またはプロセスを記載し、その後そのように記載された装置および/またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および/またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインターフェース、およびアプリケーションプログラムのうちの1つもしくは複数、タッチパッドもしくはスクリーンなどの1つもしくは複数の相互作用装置、ならびに/またはフィードバックループおよびコントロールモータを含むコントロールシステム(たとえば、位置検知用および/もしくは速度検知用フィードバック、コンポーネントの移動用および/もしくは数量の調整用コントロールモータ)を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング/通信システムおよび/またはネットワークコンピューティング/通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【0044】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例示にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【0045】
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【0046】
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、通常、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、通常、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
【0047】
さまざまな態様および実施形態が本明細書で開示されてきたが、他の態様および実施形態が、当業者には明白となろう。本明細書で開示されるさまざまな態様および実施形態は、例示することを目的とし、限定することを意図しておらず、真の範囲および趣旨は、添付の特許請求の範囲によって示される。