以下の詳細な説明には、本明細書の一部をなしている添付の図面が参照されている。これらの図面では、同様の記号は、文脈が他に明記していない限り、通常、同様の構成要素を識別している。以下の詳細な説明、図面および特許請求の範囲の中で説明されている実例実施形態は、本発明を制限するものではない。本明細書において提供される主題の精神または範囲を逸脱することなく、他の実施形態を利用することができ、また、他の変更を加えることができる。本明細書において概略的に説明され、図に示されている本開示の態様は、広範囲にわたる異なる構成で、配列、置換、結合、分割および設計することができ、これらはすべて本明細書において明確に企図されていることは容易に理解されよう。
本開示は、一般に、とりわけ無線ローカルエリアネットワークを提供するためのスキームに関連する方法、装置、システム、デバイスおよびコンピュータプログラム製品を対象としている。これらの技術は、一般に、アドホックネットワークグループの構成、および構成されたアドホックネットワークグループに含まれている少なくとも1つのエンドデバイスへの無線ローカルエリアネットワークの提供に関して説明される。
いくつかの例では、エンドデバイスは、無線ローカルエリアネットワークを提供するアクセスポイントに接続することができ、次にエンドデバイスは、他のエンドデバイスとの関係で暫定アクセスポイントとして働くことができる。このような場合、エンドデバイスは「マスタデバイス」と呼ぶことができる。エンドデバイスは、少なくとも1つの他のエンドデバイスを勧誘してそのエンドデバイスに接続することができ、また、そのエンドデバイスに接続する上記少なくとも1つの他のエンドデバイスを含んだ暫定ネットワークグループを構成することができる。エンドデバイスは、そのエンドデバイスのネットワーク負荷、上記少なくとも1つの他のエンドデバイスの各々のネットワーク負荷、およびそのエンドデバイスのネットワーク負荷と上記少なくとも1つの他のエンドデバイスのネットワーク負荷の合計を計算することができる。次に、エンドデバイスは、そのエンドデバイスの計算されたネットワーク負荷、上記少なくとも1つの他のエンドデバイスの計算されたネットワーク負荷、およびそのエンドデバイスのネットワーク負荷と上記少なくとも1つの他のエンドデバイスのネットワーク負荷の合計に基づいてアドホックネットワークグループを構成することができる。たとえばエンドデバイスは、そのエンドデバイスの計算されたネットワーク負荷と、上記少なくとも1つの他のエンドデバイスの各々の計算されたネットワーク負荷を比較することができる。比較の結果、そのエンドデバイスの計算されたネットワーク負荷と、上記少なくとも1つの他のエンドデバイスの各々の計算されたネットワーク負荷の間の差が所定の値より大きい場合、エンドデバイスは、暫定ネットワークグループから離れるよう、上記少なくとも1つの他のエンドデバイスのうちの1つまたは複数に命令することができる。引き続いてアドホックネットワークグループを構成することができ、また、エンドデバイスは、アドホックネットワークグループに含まれている上記少なくとも1つの他のエンドデバイスに無線ローカルエリアネットワークを提供するアクセスポイントとして作用することができる。
図1Aは、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだネットワーク通信環境100の実例を概略的に示したものである。図1Bは、本明細書において説明される少なくともいくつかの実施形態に従って配列された、アクセスポイント110、第1のデバイス120および第3のデバイス140を含んだネットワーク通信環境101の他の実例を概略的に示したものである。一例として、それには限定されないが、第1のデバイス120、第2のデバイス130および第3のデバイス140は、それぞれ任意のタイプの移動デバイス、携帯型デバイス、またはWi−Fiネットワークなどの無線ネットワークを使用および制御できるパーソナル通信端末を含むことができる。図1Aおよび図1Bに示されているように、第1のデバイス120はアクセスポイント110に接続することができ、また、アクセスポイント110は、第1のデバイス120に無線ローカルエリアネットワークを提供することができる。したがって第1のデバイス120は、他のデバイスに無線ローカルエリアネットワークを提供するマスタデバイスであってもよい。アクセスポイント110は、Wi−Fiアクセスポイントを含むことができ、また、アクセスポイント110によって提供される無線ローカルエリアネットワークは、Wi−Fiネットワークを含むことができる。
少なくとも1つの実施形態例によれば、第1のデバイス120は、第1のデバイス120への接続の要求を第2のデバイス130に送信することができる。さらに、第2のデバイス130は、第2のデバイス130への接続の要求を第3のデバイス140に送信することができる。第1のデバイス120への接続を希望している第2のデバイス130は、要求に対する応答として、第1のデバイス120への接続の応答を第1のデバイス120に送信することができ、また、第1のデバイス120は、第2のデバイス130からその応答を受信することができる。さらに、第2のデバイス130への接続を希望している第3のデバイス140は、第2のデバイス130への接続の応答を第2のデバイス130に送信することができ、また、第2のデバイス130は、第3のデバイス140からその応答を受信することができる。
これらの要求および応答が交換されると、暫定アドホックネットワークグループを構成することができる。第1のデバイス120、第2のデバイス130および第3のデバイス140は、この暫定アドホックネットワークグループの中に含めることができる。この暫定アドホックネットワークグループに含まれている第1のデバイス120、第2のデバイス130および第3のデバイス140は、さらに、第1のデバイス120、第2のデバイス130および第3のデバイス140の各々のインターネットプロトコル(IP)アドレス、第1のデバイス120、第2のデバイス130および第3のデバイス140の各々の媒体アクセス制御(MAC)アドレス、等々などの個々のデバイスに関する情報を交換することができる。
第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140の個々のネットワーク負荷の間のネットワーク負荷差を計算することができる。ネットワーク負荷差を計算するために、第1のデバイス120は、第1のデバイス120のネットワーク負荷を計算することができる。いくつかの実施形態では、第1のデバイス120は、第1のデバイス120がアクセスする内容に関する内容情報に少なくとも部分的に基づいて、第1のデバイス120のネットワーク負荷を計算することができる。一例として、それには限定されないが、内容情報は、第1のデバイス120がアクセスするウェブサイトのユニフォームリソースロケータ(URL)またはインターネットプロトコル(IP)アドレスのうちの少なくとも1つを含むことができる。第1のデバイス120は、得られた内容情報から文字、画像または文章のうちの少なくとも1つをキーワードとして引き出すことができる。次に、第1のデバイス120は、得られた内容情報から引き出されたキーワードに基づいて、第1のデバイス120のネットワーク負荷を計算することができる。
さらに、第2のデバイス130は、第2のデバイス130がアクセスする内容に関する内容情報を得ることができる。一例として、それには限定されないが、内容情報は、第2のデバイス130がアクセスするウェブサイトのユニフォームリソースロケータ(URL)またはインターネットプロトコル(IP)アドレスのうちの少なくとも1つを含むことができる。第2のデバイス130は、得られた内容情報から文字、画像または文章のうちの少なくとも1つをキーワードとして引き出すことができる。いくつかの実施形態では、第2のデバイス130は、得られた内容情報から引き出されたキーワードを第1のデバイス120に送信することができる。第1のデバイス120は、得られた内容情報から引き出されたキーワードを第2のデバイス130から受信すると、受信したキーワードに基づいて第2のデバイス130のネットワーク負荷を計算することができる。
同様に、第3のデバイス140は、第3のデバイス140がアクセスする内容に関する内容情報を獲得し、その内容情報からキーワードを引き出すことができる。次に、第3のデバイス140は、そのキーワードを第1のデバイス120に送信することができる。第1のデバイス120は、得られた内容情報から引き出されたキーワードを第3のデバイス140から受信すると、受信したキーワードに基づいて第3のデバイス140のネットワーク負荷を計算することができる。
いくつかの実施形態では、第2のデバイス130は、自身で、得られた内容情報から引き出されたキーワードに基づいて第2のデバイス130のネットワーク負荷を計算することができる。さらに、第2のデバイス130は、第2のデバイス130の計算されたネットワーク負荷を第1のデバイス120に送信することができ、また、第1のデバイス120は、第2のデバイス130の計算されたネットワーク負荷を受信することができる。
さらに、第3のデバイス140も、自身で、得られた内容情報から引き出されたキーワードに基づいて第3のデバイス140のネットワーク負荷を計算することができる。さらに、第3のデバイス140は、第3のデバイス140の計算されたネットワーク負荷を第1のデバイス120に送信することができ、また、第1のデバイス120は、第3のデバイス140の計算されたネットワーク負荷を受信することができる。
いくつかの実施形態では、第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140の個々のネットワーク負荷の間のネットワーク負荷差を計算することができる。さらに、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が所定の値より大きいかどうかを決定することができる。さらに、第1のデバイス120は、第2のデバイス130のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きいかどうかを決定することができる。
ネットワーク負荷差が決定され、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値以下であり、また、第2のデバイス130のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値以下である場合、図1Aに示されているように第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140を含むアドホックネットワークグループ150を構成することができる。次に、第1のデバイス120は、アドホックネットワークグループ150に含まれている第2のデバイス130および第3のデバイス140に無線ローカルエリアネットワークを提供することができる。第1のデバイス120によって提供される無線ローカルエリアネットワークは、アクセスポイント110によって提供されるWi−Fiネットワークを含むことができる。
アドホックネットワークグループ150に含まれている第1のデバイス120、第2のデバイス130および第3のデバイス140は、第1のデバイス120、第2のデバイス130および第3のデバイス140がアドホックネットワークグループ150に含まれていることを知らせる信号を特定の時間間隔で交換することができる。いくつかの実施形態では、第1のデバイス120は、第1のデバイス120がアドホックネットワークグループ150に含まれていることを知らせる信号を第2のデバイス130に送信し、また、第2のデバイス130がアドホックネットワークグループ150に含まれていることを知らせる信号を第2のデバイス130から受信することができる。さらに、第2のデバイス130は、第2のデバイス130がアドホックネットワークグループ150に含まれていることを知らせる信号を第1のデバイス120および第3のデバイス140に送信することができる。さらに、第2のデバイス130は、第3のデバイス140がアドホックネットワークグループ150に含まれていることを知らせる信号を第3のデバイス140から受信し、また、第1のデバイス120がアドホックネットワークグループ150に含まれていることを知らせる信号を第1のデバイス120から受信することができる。さらに、第3のデバイス140は、第3のデバイス140がアドホックネットワークグループ150に含まれていることを知らせる信号を第2のデバイス130に送信し、また、第2のデバイス130がアドホックネットワークグループ150に含まれていることを知らせる信号を第2のデバイス130から受信することができる。
さらに、アドホックネットワークグループ150が構成されると、第1のデバイス120は、第2のデバイス130または第3のデバイス140のネットワーク負荷が変化して隣接するデバイスのネットワーク負荷と著しく異なっているかどうかをチェックすることができる。一例として、それには限定されないが、第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きくなると、第1のデバイス120は、第3のデバイス140にアドホックネットワークグループ150から離れるように命令することができる。
いくつかの実施形態では、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きい場合、第1のデバイス120は、第2のデバイス130に暫定アドホックネットワークグループから離れるように命令することができる。たとえば大量のネットワーク負荷を必要とする映画が第1のデバイス120上で再生され、また、必要なネットワーク負荷の量が比較的少ない電子メールが第2のデバイス130上にロードされている場合、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差は、相当な大きさになる可能性がある。この場合、第1のデバイス120は、電子メールがロードされている第2のデバイス130に暫定アドホックネットワークグループから離れるように命令することができる。
さらに、第2のデバイス130のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きい場合、第1のデバイス120は、第2のデバイス130または第3のデバイス140に暫定アドホックネットワークグループから離れるように命令することができる。たとえば必要なネットワーク負荷の量が比較的少ない電子メールが第2のデバイス130上にロードされ、一方、大量のネットワーク負荷を必要とするゲームが第3のデバイス140上で実行されている場合、第2のデバイス130のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差は、相当な大きさになる可能性がある。この場合、第1のデバイス120は、第2のデバイス130に暫定アドホックネットワークグループから離れるように命令することができる。その結果、図1Bに示されているように、それぞれのネットワーク負荷が互いに類似している第1のデバイス120および第3のデバイス140を含んだアドホックネットワークグループ160を構成することができる。次に、第1のデバイス120は、アドホックネットワークグループ160に含まれている第3のデバイス140に無線ローカルエリアネットワークを提供することができる。
さらに、アドホックネットワークグループ160が構成されると、第1のデバイス120は、第3のデバイス140のネットワーク負荷が変化して第1のデバイス120のネットワーク負荷と著しく異なっているかどうかをチェックすることができる。第3のデバイス140のネットワーク負荷が小さくなり、したがって第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きくなると、第1のデバイス120は、第3のデバイス140にアドホックネットワークグループ160から離れるように命令することができる。
図2は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだネットワーク通信環境200のさらに他の実例を概略的に示したものである。図2に示されているように、第1のデバイス120はアクセスポイント110に接続することができる。少なくとも1つの実施形態例によれば、第1のデバイス120は、第1のデバイス120への接続の要求を第2のデバイス130および第3のデバイス140に送信することができる。第2のデバイス130および第3のデバイス140が第1のデバイス120への接続を希望している場合、第2のデバイス130および第3のデバイス140は、それぞれ第1のデバイス120への接続の応答を第1のデバイス120に送信することができ、また、第1のデバイス120は、第2のデバイス130および第3のデバイス140からその応答を受信することができる。
これらの要求および応答が交換されると、暫定アドホックネットワークグループを構成することができる。第1のデバイス120、第2のデバイス130および第3のデバイス140は、この暫定アドホックネットワークグループの中に含めることができる。
第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140の各々のネットワーク負荷に基づいて、第1のデバイス120、第2のデバイス130および第3のデバイス140を含むアドホックネットワークグループ170を構成することができる。図1Aおよび図1Bを参照して上で説明したように、第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140の各々のネットワーク負荷を得ることができる。
いくつかの実施形態では、第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140の個々のネットワーク負荷の間のネットワーク負荷差を計算することができる。このような場合、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が所定の値より小さいかどうかを決定することができる。さらに、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より小さいかどうかを決定することができる。
ネットワーク負荷差が決定され、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きく、また、第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きい場合、図2に示されているように第1のデバイス120は、第1のデバイス120、第2のデバイス130および第3のデバイス140を含むアドホックネットワークグループ170を構成することができる。一例として、それには限定されないが、大量のネットワーク負荷を必要とする映画が第1のデバイス120上で再生され、また、必要なネットワーク負荷の量が比較的少ない電子メールが第2のデバイス130上にロードされている場合、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差は、上記所定の値より大きくなる可能性がある。さらに、大量のネットワーク負荷を必要とする映画が第1のデバイス120上で再生され、また、必要なネットワーク負荷の量が比較的少ないツイッターが第3のデバイス140上で実行されている場合、第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差は、上記所定の値より大きくなる可能性がある。
したがってネットワーク負荷が比較的大きい第1のデバイス120、およびネットワーク負荷が第1のデバイス120のネットワーク負荷よりはるかに小さい第2のデバイス130および第3のデバイス140は、同じアドホックネットワークグループ170の中に含めることができる。次に、第1のデバイス120は、アドホックネットワークグループ170に含まれている第2のデバイス130および第3のデバイス140に無線ローカルエリアネットワークを提供することができる。第1のデバイス120によって提供される無線ローカルエリアネットワークは、Wi−Fiネットワークを含むことができる。
別法としては、ネットワーク負荷差が決定され、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値以下である場合、第1のデバイス120は、第2のデバイス130に暫定アドホックネットワークグループから離れるように命令することができる。一例として、それには限定されないが、大量のネットワーク負荷を必要とする映画が第1のデバイス120上で再生され、また、大量のネットワーク負荷を必要とするゲームが第2のデバイス130上で実行されている場合、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差は、上記所定の値より小さくなる可能性がある。この場合、第1のデバイス120は、第2のデバイス130に暫定アドホックネットワークグループから離れるように命令することができる。したがって第1のデバイス120は、第1のデバイス120および第3のデバイス140を含むアドホックネットワークグループを構成することができる。
さらに、アドホックネットワークグループ170が構成されると、第1のデバイス120は、第2のデバイス130および第3のデバイス140のネットワーク負荷が変化して、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差、および第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より小さくなったかどうかをチェックすることができる。一例として、それには限定されないが、第3のデバイス140のネットワーク負荷が大きくなり、第1のデバイス120のネットワーク負荷と第3のデバイス140のネットワーク負荷の間のネットワーク負荷差が上記所定の値より小さくなると、第1のデバイス120は、第3のデバイス140にアドホックネットワークグループ170から離れるように命令することができる。
さらに、いくつかの実施形態では、第1のデバイス120は、アドホックネットワークグループ170の総ネットワーク負荷を周期的に計算することができる。アドホックネットワークグループ170の総ネットワーク負荷は、第1のデバイス120、第2のデバイス130および第3のデバイス140の各々のネットワーク負荷を合計することによって計算することができる。
第1のデバイス120は、アドホックネットワークグループ170の計算された総ネットワーク負荷と、アクセスポイント110の利用可能ネットワーク負荷を周期的に比較することができる。比較の結果、総ネットワーク負荷がアクセスポイント110の利用可能ネットワーク負荷より大きい場合、第1のデバイス120は、第2のデバイス130および/または第3のデバイス140にアドホックネットワーク170から離れるように命令することができる。一例として、それには限定されないが、ツイッターが終了し、また、第3のデバイス140上でゲームが実行されることによって第3のデバイス140のネットワーク負荷が変化して大きくなると、それに応じてアドホックネットワークグループ170の総ネットワーク負荷が大きくなる。したがって総ネットワーク負荷がアクセスポイント110の利用可能ネットワーク負荷より大きくなる可能性がある。この場合、第1のデバイス120は、第3のデバイス140にアドホックネットワークグループ170から離れるように命令することができる。
図3は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、第2のデバイス130に無線ローカルエリアネットワークを提供するための第1のデバイス120のプロセス300の流れ図の一例を示したものである。図3に示されている方法は、図1A、図1Bおよび図2に示されているように、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだ通信環境100、101および200の中で実施することができる。プロセスの一例は、1つまたは複数のブロック310、320、330、340および/または350によって示されている1つまたは複数の操作、動作または機能を含むことができる。離散ブロックとして示されているが、これらのさまざまなブロックは、所望の実施態様に応じて追加ブロックに分割し、より少ないブロックに結合し、あるいは除去することができる。処理はブロック310で開始することができる。
ブロック310(アクセスポイントへの接続)で、第1のデバイス120をアクセスポイント110に接続することができる。アクセスポイント110は、第1のデバイス120に無線ローカルエリアネットワークを提供することができる。処理は、ブロック310からブロック320へ進行することができる。
ブロック320(第1のデバイスへの接続を第2のデバイスに要求する)で、第1のデバイス120は、第1のデバイス120への接続を第2のデバイス130に要求することができる。いくつかの実施形態では、第1のデバイス120は、第1のデバイス120への接続の要求を第2のデバイス130に送信することができる。処理は、ブロック320からブロック330へ進行することができる。
ブロック330(第2のデバイスから応答を受信する)で、第1のデバイス120は、第1のデバイス120への接続の応答を第2のデバイス130から受信することができる。次に、第1のデバイス120および第2のデバイス130を含む暫定アドホックネットワークグループを構成することができる。処理は、ブロック330からブロック340へ進行することができる。
ブロック340(ネットワーク負荷に基づいてアドホックネットワークグループを構成する)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷に基づいてアドホックネットワークグループを構成することができる。処理は、ブロック340からブロック350へ進行することができる。
ブロック350(無線ローカルエリアネットワークを提供する)で、第1のデバイス120は、ブロック340で構成されたアドホックネットワークグループに含まれている第2のデバイス130に無線ローカルエリアネットワークを提供することができる。第1のデバイス120によって提供される無線ローカルエリアネットワークは、Wi−Fiネットワークを含むことができる。
図4は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、図3のブロック340のプロセスの流れ図の他の例を示したものである。図4に示されているプロセスは、図1A、図1Bおよび図2に示されているように、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだ通信環境100、101および200の中で実施することができる。プロセスの一例は、1つまたは複数のブロック441、442、443、444および/または445によって示されている1つまたは複数の操作、動作または機能を含むことができる。離散ブロックとして示されているが、これらのさまざまなブロックは、所望の実施態様に応じて追加ブロックに分割し、より少ないブロックに結合し、あるいは除去することができる。処理はブロック441で開始することができる。
ブロック441(第1のデバイスのネットワーク負荷および第2のデバイスのネットワーク負荷を得る)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を得ることができる。いくつかの実施形態では、図1Aを参照して上で説明したように、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を計算することができる。いくつかの他の実施形態では、図1Aを参照して上で説明したように、第2のデバイス130は、第1のデバイス120が第2のデバイス130のネットワーク負荷を得るよう、第2のデバイス130のネットワーク負荷を計算し、第2のデバイス130の計算されたネットワーク負荷を第1のデバイス120に送信することができる。処理は、ブロック441からブロック442へ進行することができる。
ブロック442(第1のデバイスのネットワーク負荷と第2のデバイスのネットワーク負荷の差を計算する)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差を計算することができる。処理は、ブロック442からブロック443へ進行することができる。
ブロック443(差が所定の値より大きいかどうかを決定する)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が所定の値より大きいかどうかを決定することができる。
ブロック443で第1のデバイス120が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が上記所定の値より大きいことを決定すると、処理はブロック444へ進行することができ、一方、ブロック443で第1のデバイス120が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が上記所定の値以下であることを決定すると、処理はブロック445へ進行することができる。
ブロック444(第2のデバイスにアドホックネットワークグループから離れるように命令する)で、第1のデバイス120は、第2のデバイス130に、図3のブロック340で構成された暫定アドホックネットワークグループから離れるように命令することができる。
ブロック445(アドホックネットワークグループを構成する)で、第1のデバイス120は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。
図5は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、図3のブロック340のプロセスの流れ図のさらに他の例を示したものである。図5に示されているプロセスは、図1A、図1Bおよび図2に示されているように、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだ通信環境100、101および200の中で実施することができる。プロセスの一例は、1つまたは複数のブロック541、542、543、544および/または545によって示されている1つまたは複数の操作、動作または機能を含むことができる。離散ブロックとして示されているが、これらのさまざまなブロックは、所望の実施態様に応じて追加ブロックに分割し、より少ないブロックに結合し、あるいは除去することができる。処理はブロック541で開始することができる。
ブロック541(第1のデバイスのネットワーク負荷および第2のデバイスのネットワーク負荷を得る)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を得ることができる。いくつかの実施形態では、図1Aを参照して上で説明したように、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を計算することができる。いくつかの他の実施形態では、図1Aを参照して上で説明したように、第2のデバイス130は、第1のデバイス120が第2のデバイス130のネットワーク負荷を得るよう、第2のデバイス130のネットワーク負荷を計算し、第2のデバイス130の計算されたネットワーク負荷を第1のデバイス120に送信することができる。処理は、ブロック541からブロック542へ進行することができる。
ブロック542(アドホックネットワークの総ネットワーク負荷を計算する)で、第1のデバイス120は、図3のブロック340で構成された暫定アドホックネットワークグループの総ネットワーク負荷を周期的に計算することができる。暫定アドホックネットワークグループの総ネットワーク負荷は、それぞれブロック541で得られる第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワークを合計することによって計算することができる。処理は、ブロック542からブロック543へ進行することができる。
ブロック543(総ネットワーク負荷と利用可能なネットワーク負荷を比較する)で、第1のデバイス120は、暫定アドホックネットワークグループの計算された総ネットワーク負荷と、アクセスポイント110の利用可能なネットワーク負荷を周期的に比較することができる。
ブロック543で第1のデバイス120が、暫定アドホックネットワークグループの計算された総ネットワーク負荷の方がアクセスポイント110の利用可能なネットワーク負荷より大きいことを決定すると、処理はブロック544へ進行することができ、一方、ブロック543で第1のデバイス120が、暫定アドホックネットワークグループの計算された総ネットワーク負荷がアクセスポイント110の利用可能なネットワーク負荷以下であることを決定すると、処理はブロック545へ進行することができる。
ブロック544(第2のデバイスにアドホックネットワークグループから離れるように命令する)で、第1のデバイス120は、第2のデバイス130に、図3のブロック340で構成された暫定アドホックネットワークグループから離れるように命令することができる。
ブロック545(アドホックネットワークグループを構成する)で、第1のデバイス120は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。
図6は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、図3のブロック340のプロセスの流れ図のさらに他の例を示したものである。図6に示されているプロセスは、図1A、図1Bおよび図2に示されているように、アクセスポイント110、第1のデバイス120、第2のデバイス130および第3のデバイス140を含んだ通信環境100、101および200の中で実施することができる。プロセスの一例は、1つまたは複数のブロック641、642、643、644および/または645によって示されている1つまたは複数の操作、動作または機能を含むことができる。離散ブロックとして示されているが、これらのさまざまなブロックは、所望の実施態様に応じて追加ブロックに分割し、より少ないブロックに結合し、あるいは除去することができる。処理はブロック641で開始することができる。
ブロック641(第1のデバイスのネットワーク負荷および第2のデバイスのネットワーク負荷を得る)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を得ることができる。いくつかの実施形態では、図1Aを参照して上で説明したように、第1のデバイス120は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷を計算することができる。いくつかの他の実施形態では、図1Aを参照して上で説明したように、第2のデバイス130は、第1のデバイス120が第2のデバイス130のネットワーク負荷を得るよう、第2のデバイス130のネットワーク負荷を計算し、第2のデバイス130の計算されたネットワーク負荷を第1のデバイス120に送信することができる。処理は、ブロック641からブロック642へ進行することができる。
ブロック642(第1のデバイスのネットワーク負荷と第2のデバイスのネットワーク負荷の差を計算する)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差を計算することができる。処理は、ブロック642からブロック643へ進行することができる。
ブロック643(差が所定の値より小さいかどうかを決定する)で、第1のデバイス120は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が所定の値より小さいかどうかを決定することができる。
ブロック643で第1のデバイス120が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が上記所定の値より小さいことを決定すると、処理はブロック644へ進行することができ、一方、ブロック643で第1のデバイス120が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間の計算されたネットワーク負荷差が上記所定の値以上であることを決定すると、処理はブロック645へ進行することができる。
ブロック644(第2のデバイスにアドホックネットワークグループから離れるように命令する)で、第1のデバイス120は、第2のデバイス130に、図3のブロック340で構成された暫定アドホックネットワークグループから離れるように命令することができる。
ブロック645(アドホックネットワークグループを構成する)で、第1のデバイス120は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。
図7は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、アドホックネットワークグループを構成することができる第1のデバイスのためのアーキテクチャの一例を示す略ブロック図を示したものである。図7に示されているように、第1のデバイス120は、アクセスポイントアクセスユニット721、勧誘ユニット722、受信ユニット723、内容情報獲得ユニット724、ネットワーク負荷計算ユニット725、ネットワークグループ構成ユニット726、ネットワーク提供ユニット727および信号交換ユニット728を含むことができる。離散構成要素として示されているが、これらのさまざまな構成要素は、追加構成要素に分割し、より少ない構成要素に結合し、あるいは全く除去することも可能であり、これらは、開示されている主題の範囲内であることが企図されている。これらの構成要素の個々の機能および/または動作は、広範囲にわたるハードウェア、ソフトウェア、ファームウェアによって、あるいは事実上それらの任意の組み合わせによって、個々に、および/または集合的に実施することができることは当業者には理解されよう。その点に関し、アクセスポイントアクセスユニット721、勧誘ユニット722、受信ユニット723、内容情報獲得ユニット724、ネットワーク負荷計算ユニット725、ネットワークグループ構成ユニット726、ネットワーク提供ユニット727および信号交換ユニット728のうちの1つまたは複数は、第1のデバイス120上でホストされるアプリケーションの実例に含めることができる。
アクセスポイントアクセスユニット721は、無線ローカルエリアネットワークを提供するアクセスポイント110に接続するように構成することができる。アクセスポイント110は、Wi−Fiアクセスポイントを含むことができ、また、アクセスポイント110によって提供される無線ローカルエリアネットワークは、Wi−Fiネットワークを含むことができる。
勧誘ユニット722は、第1のデバイス120に接続するよう第2のデバイス130を勧誘するように構成することができる。いくつかの実施形態では、第1のデバイス120は、第1のデバイス120への接続の要求を第2のデバイス130に送信することができる。
受信ユニット723は、第1のデバイス120への接続の応答を第2のデバイス130から受信するように構成することができる。さらに、いくつかの実施形態では、受信ユニット723は、第2のデバイス130のネットワーク負荷に関する情報を第2のデバイス130から受信するように構成することも可能である。第2のデバイス130は、第2のデバイス130のネットワーク負荷を計算し、第2のデバイス130の計算されたネットワーク負荷を受信ユニット723に送信することができる。さらに、いくつかの他の実施形態では、受信ユニット723は、第2のデバイス130がアクセスする内容に関する内容情報を第2のデバイス130から受信するように構成することができる。第2のデバイス130は、第2のデバイス130がアクセスする内容に関する内容情報を得ることができる。たとえば内容情報は、第2のデバイス130がアクセスするウェブサイトのユニフォームリソースロケータ(URL)またはインターネットプロトコル(IP)アドレスのうちの少なくとも1つを含むことができる。第2のデバイス130は、得られた内容情報から文字、画像または文章のうちの少なくとも1つをキーワードとして引き出すことができる。次に、第2のデバイス130は、得られた内容情報から引き出されたキーワードを受信ユニット723に送信することができる。
内容情報獲得ユニット724は、第1のデバイス120がアクセスする内容に関する内容情報を得るように構成することができる。たとえば内容情報は、第1のデバイス120がアクセスするウェブサイトのユニフォームリソースロケータ(URL)またはインターネットプロトコル(IP)アドレスのうちの少なくとも1つを含むことができる。内容情報獲得ユニット724は、得られた内容情報から文字、画像または文章のうちの少なくとも1つをキーワードとして引き出すことができる。
ネットワーク負荷計算ユニット725は、内容情報獲得ユニット724が獲得した内容情報に基づいて、第1のデバイス120のネットワーク負荷を計算するように構成することができる。さらに、ネットワーク負荷計算ユニット725は、受信ユニット723が受信した第2のデバイス130の内容情報に基づいて、第2のデバイス130のネットワーク負荷を計算するように構成することも可能である。
いくつかの実施形態では、ネットワーク負荷計算ユニット725は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差を計算するように構成することができる。さらに、ネットワーク負荷計算ユニット725は、このネットワーク負荷差が所定の値より大きいかどうかを決定するように構成することも可能である。
いくつかの実施形態では、ネットワーク負荷計算ユニット725は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループの総ネットワーク負荷を計算するように構成することができる。さらに、ネットワーク負荷計算ユニット725は、この総ネットワーク負荷とアクセスポイント110の利用可能ネットワーク負荷を周期的に比較するように構成することも可能である。
いくつかの実施形態では、ネットワーク負荷計算ユニット725は、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差を計算するように構成することができる。さらに、ネットワーク負荷計算ユニット725は、このネットワーク負荷差が所定の値より小さいかどうかを決定するように構成することも可能である。
ネットワークグループ構成ユニット726は、第1のデバイス120のネットワーク負荷および第2のデバイス130のネットワーク負荷に基づいて、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成するように構成することができる。いくつかの実施形態では、ネットワーク負荷計算ユニット725が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値以下であることを決定すると、ネットワークグループ構成ユニット726は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。さらに、ネットワーク負荷計算ユニット725が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値より大きいことを決定すると、ネットワークグループ構成ユニット726は、第2のデバイス130にアドホックネットワークグループから離れるように命令することができる。
いくつかの実施形態では、ネットワーク負荷計算ユニット725が、総ネットワーク負荷がアクセスポイント110の利用可能ネットワーク負荷以下であることを決定すると、ネットワークグループ構成ユニット726は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。さらに、ネットワーク負荷計算ユニット725が、総ネットワーク負荷がアクセスポイント110の利用可能ネットワーク負荷より大きいことを決定すると、ネットワークグループ構成ユニット726は、第2のデバイス130にアドホックネットワークグループから離れるように命令することができる。
いくつかの実施形態では、ネットワーク負荷計算ユニット725が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値以上であることを決定すると、ネットワークグループ構成ユニット726は、第1のデバイス120および第2のデバイス130を含むアドホックネットワークグループを構成することができる。一方、ネットワーク負荷計算ユニット725が、第1のデバイス120のネットワーク負荷と第2のデバイス130のネットワーク負荷の間のネットワーク負荷差が上記所定の値より小さいことを決定すると、ネットワークグループ構成ユニット726は、第2のデバイス130にアドホックネットワークグループから離れるように命令することができる。
ネットワーク提供ユニット727は、アドホックネットワークグループに含まれている第2のデバイス130に無線ローカルエリアネットワークを提供するように構成することができる。ネットワーク提供ユニット727によって提供される無線ローカルエリアネットワークは、Wi−Fiネットワークを含むことができる。
信号交換ユニット728は、第1のデバイス120がアドホックネットワークグループに含まれていることを知らせる信号を第2のデバイス130に送信するように構成することができる。さらに、信号交換ユニット728は、第2のデバイス130がアドホックネットワークグループに含まれていることを知らせる信号を第2のデバイス130から受信するように構成することも可能である。
図8は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、無線ローカルエリアネットワークを提供するためのスキームを提供するために利用することができるコンピュータプログラム製品を示したものである。プログラム製品800は、信号担持媒体810を含むことができる。信号担持媒体810は、たとえばプロセッサによって実行されると、図1A〜図7に関連して上で説明した機能を提供することができる1つまたは複数の命令820を含むことができる。一例として、それには限定されないが、命令820は、無線ローカルエリアネットワークを提供するように構成されるアクセスポイントに接続するための1つまたは複数の命令、第1のデバイスへの接続の要求を第2のデバイスに送信するための1つまたは複数の命令、第1のデバイスへの接続の応答を第2のデバイスから受信するための1つまたは複数の命令、少なくとも部分的に第1のデバイスのネットワーク負荷および第2のデバイスのネットワーク負荷に基づいて、第1のデバイスおよび第2のデバイスを含んだアドホックネットワークグループを構成するための1つまたは複数の命令、およびアドホックネットワークグループに含まれている第2のデバイスに無線ローカルエリアネットワークを提供するための1つまたは複数の命令を含むことができる。したがってたとえば図3を参照すると、第1のデバイス120は、命令820に応答して、図3に示されているブロックのうちの1つまたは複数を実施することができる。
いくつかの実施態様では、信号担持媒体810は、それらに限定されないが、ハードディスクドライブ、CD、DVD、デジタルテープ、メモリ、等々などのコンピュータ可読媒体830を包含することができる。いくつかの実施態様では、信号担持媒体810は、それらに限定されないが、メモリ、読出し/書込み(R/W)CD、R/W DVD、等々などの記録可能媒体840を包含することができる。いくつかの実施態様では、信号担持媒体810は、それらに限定されないが、デジタルおよび/またはアナログ通信媒体(たとえば光ファイバケーブル、導波路、有線通信リンク、無線通信リンク、等々)などの通信媒体850を包含することができる。したがってたとえばプログラム製品800は、RF信号担持媒体810によって第1のデバイス120の1つまたは複数のモジュールに運ぶことができ、信号担持媒体810は、無線通信媒体850(たとえばIEEE802.11規格に準拠する無線通信媒体)によって運ぶことができる。
図9は、本明細書において説明されている少なくともいくつかの実施形態に従って配列された、無線ローカルエリアネットワークを提供するためのスキームを提供するために利用することができるコンピューティングデバイスの一例を示すブロック図である。これらの例では、コンピューティングデバイス900の要素は、1つのデバイスに対して配列または構成することができる。極めて基本的な構成902では、コンピューティングデバイス900は、通常、1つまたは複数のプロセッサ904およびシステムメモリ906を含む。メモリバス908は、プロセッサ904とシステムメモリ906の間の通信のために使用することができる。
所望の構成に応じて、プロセッサ904は、それらに限定されないが、マイクロプロセッサ(μΡ)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)またはそれらの任意の組み合わせを含む任意のタイプのプロセッサであってもよい。プロセッサ904は、レベル1キャッシュ910およびレベル2キャッシュ912などのもう1つのレベルのキャッシュ、プロセッサコア914およびレジスタ916を含むことができる。プロセッサコア914の一例は、論理演算装置(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理コア(DSPコア)またはそれらの任意の組み合わせを含むことができる。また、メモリコントローラ918の一例は、プロセッサ904と共に使用することも可能であり、あるいはいくつかの実施態様では、メモリコントローラ918は、プロセッサ904の内部部分であってもよい。
所望の構成に応じて、システムメモリ906は、それらに限定されないが、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリ、等々など)またはそれらの任意の組み合わせを含む任意のタイプのシステムメモリであってもよい。システムメモリ906は、オペレーティングシステム920、アプリケーション922およびプログラムデータ924を含むことができる。アプリケーション922は、図7に示されている第1のデバイス120のアーキテクチャに関連して説明した動作を含み、あるいは図3ないし図6に示されている流れ図に関連して説明した動作を含む、本明細書において説明されている機能を実施するように配列することができる命令926を含むことができる。いくつかの例では、アプリケーション922は、本明細書において説明されている無線ローカルエリアネットワークを提供するためのスキームを提供することができるよう、オペレーティングシステム920上のプログラムデータ924を使用して動作するように配列することができる。
コンピューティングデバイス900は、追加特徴または機能、および基本構成902と任意の必要なデバイスおよびインターフェースとの間の通信を容易にするための追加インターフェースを有することができる。たとえばバス/インターフェースコントローラ930を使用して、ストレージインターフェースバス934を介して、基本構成902と1つまたは複数のデータ記憶装置932の間の通信を容易にすることができる。データ記憶装置932は、取外し式ストレージ936、非取外し式ストレージ938またはそれらの組み合わせであってもよい。取外し式ストレージおよび非取外し式ストレージの例には、いくつかを挙げると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスクデバイス、コンパクトディスク(CD)ドライブまたはデジタル汎用ディスク(DVD)ドライブなどの光ディスクドライブ、ソリッドステートドライブ(SSD)およびテープドライブがある。コンピュータ記憶媒体の例は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実施された揮発性媒体および不揮発性媒体、取外し式媒体および非取外し式媒体を含むことができる。
システムメモリ906、取外し式ストレージ936および非取外し式ストレージ938は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それらに限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル汎用ディスク(DVD)または他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を記憶するために使用することができ、かつ、コンピューティングデバイス900がアクセスすることができる任意の他の媒体がある。このようなコンピュータ記憶媒体は、すべて、コンピューティングデバイス900の一部であってもよい。
また、コンピューティングデバイス900は、さまざまなインターフェースデバイス(たとえば出力装置942、周辺インターフェース944および通信装置946)から基本構成902へのバス/インターフェースコントローラ930を介した通信を容易にするためのインターフェースバス940を含むことができる。出力装置942の例は、ディスプレイまたはスピーカなどのさまざまな外部デバイスと1つまたは複数のA/Vポート952を介して通信するように構成することができるグラフィック処理ユニット948およびオーディオ処理ユニット950を含む。周辺インターフェース944の例は、入力装置(たとえばキーボード、マウス、ペン、音声入力装置、タッチ入力装置、等々)または他の周辺装置(たとえばプリンタ、スキャナ、等々)などの外部デバイスと1つまたは複数のI/Oポート958を介して通信するように構成することができるシリアルインターフェースコントローラ954またはパラレルインターフェースコントローラ956を含む。通信装置946の一例は、1つまたは複数の他のコンピューティングデバイス962との、1つまたは複数の通信ポート964を介したネットワーク通信リンクを介した通信を容易にするように配列することができるネットワークコントローラ960を含む。
ネットワーク通信リンクは通信媒体の一例であってもよい。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波あるいは他の輸送機構などの変調データ信号中の他のデータによって具体化することができ、また、任意の情報引渡し媒体を含むことができる。「変調データ信号」は、その特性セットのうちの1つまたは複数を有する信号であっても、あるいは情報を信号中に符号化する方法で変化した信号であってもよい。非制限の一例として、通信媒体は、配線式ネットワークまたは直接配線接続などの配線式媒体、および音響、無線周波数(RF)、マイクロ波、赤外線(IR)などの無線媒体および他の無線媒体を含むことができる。本明細書において使用されているコンピュータ可読媒体という用語は、記憶媒体および通信媒体の両方を含むことができる。
コンピューティングデバイス900は、携帯電話、パーソナルデータアシスタント(PDA)、パーソナルメディアプレーヤデバイス、無線ウェブウォッチデバイス、パーソナルヘッドセットデバイス、特定用途向けデバイス、または上記機能のうちのいずれかを含むハイブリッドデバイスなどの形状係数が小さい携帯型(つまり移動)電子デバイスの一部として実施することができる。また、コンピューティングデバイス900は、ラップトップコンピュータ構成および非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施することも可能である。
本開示は、本明細書において説明されている、さまざまな態様の実例として意図されている特定の実施形態に限定されない。当業者には明らかであるように、本開示の精神および範囲を逸脱することなく、多くの変更態様および変形形態を加えることができる。以上の説明から、当業者には、本明細書において挙げられている方法および装置に加えて、本開示の範囲内における機能的に等価な方法および装置が明らかであろう。このような変更態様および変形形態は、特許請求の範囲の範疇であることが意図されている。本開示は、特許請求の範囲の項目、ならびにこのような特許請求の範囲が権利を与えられる等価物の全範囲によってのみ制限される。本開示は、特定の方法、試薬、化合物、組成または生物学的系に限定されないことを理解すべきであり、これらは、当然、変更が可能である。また、本明細書において使用されている用語は、特定の実施形態を説明するためのものにすぎず、本発明を制限することは意図されていないことを理解すべきである。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(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」の可能性を含むことが理解されよう。
さらに、本開示の特徴または態様がマーカッシュグループの用語で記述されている場合、本開示は、マーカッシュグループの要素のうちの任意の個々の要素またはサブグループの用語で同じく記述されていることは当業者には認識されよう。
当業者には理解されるように、成文説明の提供などに関して、何らかの目的およびすべての目的に対して、本明細書において開示されているすべての範囲には、何らかの可能副範囲およびすべての可能副範囲ならびにそれらの副範囲の組み合わせが同じく包含されている。挙げられている何らかの範囲は、その同じ範囲が少なくとも2等分、3等分、4等分、5等分、10等分、等々に分解されることを十分に説明しており、また、このように分解することができるものとして容易に認識することができる。非制限の例として、本明細書において説明されている個々の範囲は、下側の3分の1、中ほどの3分の1および上側の3分の1、等々に容易に分解することができる。同じく当業者には理解されるように、「まで」、「少なくとも」、等々などのすべての言語は、記載されている数字を含み、また、引き続いて上で説明したように副範囲に分解することができる範囲を表している。最後に、当業者には理解されるように、範囲は個々の個別の要素を含む。したがってたとえば1〜3個のセルを有するグループは、1個のセル、2個のセルまたは3個のセルを有するグループを表している。同様に、1〜5個のセルを有するグループは、1個、2個、3個、4個または5個のセルを有するグループを表しており、以下同様である。
以上から、本開示のさまざまな実施形態は、本明細書においては例証を目的として説明されたこと、また、本開示の範囲および精神を逸脱することなくさまざまな変更態様を加えることができることは理解されよう。したがって以下の特許請求の範囲によって示されている真の範囲および精神により、本明細書において開示されているさまざまな実施形態には、本発明を制限することは意図されていない。