特許第6385593号(P6385593)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特許6385593ネットワーク発見および同期のためのシステム
<>
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000002
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000003
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000004
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000005
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000006
  • 特許6385593-ネットワーク発見および同期のためのシステム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6385593
(24)【登録日】2018年8月17日
(45)【発行日】2018年9月5日
(54)【発明の名称】ネットワーク発見および同期のためのシステム
(51)【国際特許分類】
   H04W 56/00 20090101AFI20180827BHJP
   H04W 88/18 20090101ALI20180827BHJP
   H04W 88/02 20090101ALI20180827BHJP
   H04W 84/18 20090101ALI20180827BHJP
   H04M 11/00 20060101ALI20180827BHJP
【FI】
   H04W56/00
   H04W88/18
   H04W88/02 140
   H04W84/18
   H04M11/00 302
【請求項の数】20
【全頁数】19
(21)【出願番号】特願2017-556913(P2017-556913)
(86)(22)【出願日】2016年7月8日
(65)【公表番号】特表2018-518881(P2018-518881A)
(43)【公表日】2018年7月12日
(86)【国際出願番号】US2016041549
(87)【国際公開番号】WO2017008030
(87)【国際公開日】20170112
【審査請求日】2017年12月13日
(31)【優先権主張番号】14/795,859
(32)【優先日】2015年7月9日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アルンクマール・ジャヤラマン
(72)【発明者】
【氏名】ラジュクマール・サミュエル
(72)【発明者】
【氏名】ピーター・ポール・ゲルブマン
(72)【発明者】
【氏名】マイケル・ジョン・ハート
【審査官】 齋藤 浩兵
(56)【参考文献】
【文献】 国際公開第2006/102558(WO,A2)
【文献】 国際公開第2008/031049(WO,A2)
【文献】 米国特許出願公開第2014/0153440(US,A1)
【文献】 米国特許出願公開第2014/0341073(US,A1)
【文献】 米国特許出願公開第2009/0290572(US,A1)
【文献】 米国特許出願公開第2006/0215583(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24−7/26
H04W 4/00−99/00
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
ノードのネットワークのトポロジを表すデータを、クラウドコントローラによって保持するステップであって、前記データが第1のグループのノードを示し、前記第1のグループのノードが、前記クラウドコントローラに接続されるとともに、前記ネットワークの各ノードに対して前記ノードに対する1つまたは複数のそれぞれの隣接ノードを示し、各ノードが、特定の時間間隔の間に送信ノードと受信ノードのペアを形成することによって隣接ノードとワイヤレスに通信し、前記ペアのうちの送信ノードが、前記送信ノードが送信モードであり、前記受信ノードが受信モードであるとき、特定の時間間隔の間に前記ペアのうちの受信ノードにデータを通信する、ステップと、
前記ネットワークに接続するための1つまたは複数の要求を、前記第1のグループのノードから前記クラウドコントローラにおいて受け取るステップと、
前記要求を送信する前記第1のグループのノード内の第1のノードを、前記クラウドコントローラによって選択するステップと、
前記第1のノードに、前記第1のノードのタイムスタンプを前記第1のノードの各隣接ノードに通信させるとともに、各隣接ノードに、前記第1のノードの前記タイムスタンプを隣接ノードの他の隣接ノードの各々に通信させるように構成された命令を、前記クラウドコントローラによって生成するステップであって、ノードが、前記第1のノードの前記タイムスタンプを受け取ると、自身のそれぞれのタイムスタンプを同期し、前記タイムスタンプを通信するステップは、前記ネットワーク内の各ノードが前記第1のノードの前記タイムスタンプに同期するまで続く、ステップと、
前記第1のノードに前記命令を送り、それによって前記ネットワーク内の前記ノードを前記第1のノードの前記タイムスタンプに同期するステップと
を含む、
方法。
【請求項2】
前記命令を、前記第1のノードによって受け取ると、前記第1のノードが隣接ノードをスキャンし、各隣接ノードが、前記第1のノードの前記タイムスタンプと自身のそれぞれのタイムスタンプを同期する、請求項1に記載の方法。
【請求項3】
各隣接ノードに対して、前記隣接ノードが他のそれぞれの隣接ノードをスキャンし、前記他のそれぞれの隣接ノードの各々が、前記第1のノードの前記タイムスタンプと自身のそれぞれのタイムスタンプを同期する、請求項2に記載の方法。
【請求項4】
前記ネットワーク内の各ノードに伝搬されるべきスケジュールを前記第1のノードにプッシュするステップであって、前記スケジュールは、隣接ノードの各ペアにおける各ノードがいつ前記送信モードまたは前記受信モードであるかを指定する、ステップをさらに含む、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
第2のグループのノードが前記第1のノードの前記タイムスタンプに同期されていないと、トポロジデータベースから決定するステップと、
前記トポロジデータベースから前記第2のグループのノード内の各ノードの隣接ノードを識別するステップと、
前記第2のグループのノード内の各ノードの前記隣接ノードに、前記第2のグループのノード内の各ノードが前記第1のノードの前記タイムスタンプに同期されたという指示を前記隣接ノードが受け取るまで、前記タイムスタンプを通信し続けさせるように構成された追加の命令を生成するステップと、
前記第2のグループのノード内の各ノードの前記隣接ノードに前記追加の命令を送るステップと
をさらに含む、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記第1のノードは、複数のミリ波無線機を含み、前記命令は、前記第1のノードに前記第1のノードのタイムスタンプを通信させるように構成され、前記命令は、
前記ミリ波無線機のうちの1つの第1のタイムスタンプを、前記第1のノードによって選択することと、
前記第1のタイムスタンプに、他のミリ波無線機の各々のタイムスタンプを同期することと、
前記複数のミリ波無線機を使用して、前記第1のノードの隣接ノードに、前記タイムスタンプを通信することと
を含む、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
前記第1のノードは、第1の指向性アンテナを具備し、前記第1のノードに隣接するノードは、第2の指向性アンテナを具備し、前記方法は、
前記データから前記第2の指向性アンテナの座標を識別するステップをさらに含み、
前記命令は、前記座標を含むとともに、前記第1の指向性アンテナに、前記第2の指向性アンテナの前記座標にステアリングさせる、請求項1〜6のいずれか一項に記載の方法。
【請求項8】
前記ネットワーク内の第1のノードは、第1の指向性アンテナを具備し、前記ネットワーク内の第2のノードは、第2の指向性アンテナを具備し、前記第1の指向性アンテナが前記第2の指向性アンテナにステアリングされるとともに、前記第2の指向性アンテナが前記第1の指向性アンテナにステアリングされるとき、前記第1のノードは前記第2のノードにデータを通信する、請求項1〜6のいずれか一項に記載の方法。
【請求項9】
前記第1のグループのノードは、前記ネットワーク内の他のノードを経由せずに、前記クラウドコントローラに接続される、請求項1〜8のいずれか一項に記載の方法。
【請求項10】
前記ネットワーク内の特定のノードは、前記特定のノードの隣接ノードに同期のための要求を周期的に送り、前記隣接ノードに前記隣接ノードのそれぞれのタイムスタンプを前記ノードのタイムスタンプと同期させるとともに、隣接ノードの各々に、前記隣接ノードの他の隣接ノードへ同期のための要求を送らせる、請求項1〜9のいずれか一項に記載の方法。
【請求項11】
プロセッサと、
前記プロセッサに結合され、命令を格納するコンピュータ可読媒体と
を具備するシステムであって、前記命令は、前記プロセッサに実行されると、前記プロセッサに動作を実行させ、前記動作が、
ノードのネットワークのトポロジを表すデータを、クラウドコントローラによって保持するステップであって、前記データは第1のグループのノードを示し、前記第1のグループのノードは、前記クラウドコントローラに接続されるとともに、前記ネットワーク内の各ノードに対して、前記ノードに対する1つまたは複数のそれぞれの隣接ノードを示し、各ノードは、特定の時間間隔の間、送信ノードおよび受信ノードのペアを形成することによって隣接ノードとワイヤレスに通信し、前記ペアのうちの前記送信ノードが送信モードであり、前記ペアのうちの前記受信ノードが受信モードであるときに特定の時間間隔の間、前記ペアのうちの前記受信ノードにデータを通信する、ステップと、
前記ネットワークに接続するための1つまたは複数の要求を、前記第1のグループのノードから前記クラウドコントローラにおいて受け取るステップと、
前記要求を送信する前記第1のグループのノード内の第1のノードを、前記クラウドコントローラによって選択するステップと、
前記第1のノードに、前記第1のノードのタイムスタンプを前記第1のノードの各隣接ノードに通信させるとともに、各隣接ノードに、前記第1のノードの前記タイムスタンプを前記隣接ノードの他の隣接ノードの各々に通信させる命令を、前記クラウドコントローラによって生成するステップであって、ノードが、前記第1のノードの前記タイムスタンプを受け取ると、自身のそれぞれのタイムスタンプを同期し、前記タイムスタンプを通信するステップは、前記ネットワーク内の各ノードが前記第1のノードの前記タイムスタンプに同期するまで続く、ステップと、
前記第1のノードに前記命令を送り、それによって前記ネットワーク内の前記ノードを前記第1のノードの前記タイムスタンプに同期するステップと
を含む、システム。
【請求項12】
前記命令を、前記第1のノードによって受け取ると、前記第1のノードが隣接ノードをスキャンし、各隣接ノードが前記第1のノードの前記タイムスタンプと、自身のそれぞれのタイムスタンプを同期する、請求項11に記載のシステム。
【請求項13】
各隣接ノードに対して、前記隣接ノードが他のそれぞれの隣接ノードをスキャンし、前記他のそれぞれの隣接ノードの各々が、前記第1のノードの前記タイムスタンプと自身のそれぞれのタイムスタンプを同期する、請求項12に記載のシステム。
【請求項14】
前記ネットワーク内の各ノードに伝搬されるべきスケジュールを前記第1のノードにプッシュするステップであって、前記スケジュールは、隣接ノードの各ペアにおける各ノードがいつ前記送信モードまたは前記受信モードであるかを指定する、ステップをさらに含む、請求項11〜13のいずれか一項に記載のシステム。
【請求項15】
第2のグループのノードが前記第1のノードの前記タイムスタンプに同期されていないと、トポロジデータベースから決定するステップと、
前記トポロジデータベースから前記第2のグループのノード内の各ノードの隣接ノードを識別するステップと、前記第2のグループのノード内の各ノードの前記隣接ノードに、前記第2のグループのノード内の各ノードが前記第1のノードの前記タイムスタンプに同期されたという指示を前記隣接ノードが受け取るまで前記タイムスタンプを通信し続けさせるように構成された追加の命令を生成するステップと、
前記第2のグループのノード内の各ノードの前記隣接ノードに前記追加の命令を送るステップと
をさらに含む、請求項11〜14のいずれか一項に記載のシステム。
【請求項16】
前記第1のノードは、複数のミリ波無線機を含み、前記命令は、前記第1のノードに前記第1のノードのタイムスタンプを通信させるように構成され、前記命令は、前記ミリ波無線機のうちの1つの第1のタイムスタンプを、前記第1のノードによって選択することと、
前記第1のタイムスタンプに、他のミリ波無線機の各々のタイムスタンプを同期することと、
前記複数のミリ波無線機を使用して、前記第1のノードの隣接ノードに、前記タイムスタンプを通信することと
を含む、請求項11〜15のいずれか一項に記載のシステム。
【請求項17】
前記第1のノードは、第1の指向性アンテナを具備し、前記第1のノードに隣接するノードは、第2の指向性アンテナを具備し、前記動作が、
前記データから前記第2の指向性アンテナの座標を識別するステップをさらに含み、
前記命令は、前記座標を含むとともに、前記第1の指向性アンテナに、前記第2の指向性アンテナの前記座標にステアリングさせる、請求項11〜16のいずれか一項に記載のシステム。
【請求項18】
前記ネットワーク内の第1のノードは、第1の指向性アンテナを具備し、前記ネットワーク内の第2のノードは、第2の指向性アンテナを具備し、前記第1の指向性アンテナが前記第2の指向性アンテナにステアリングされるとともに、前記第2の指向性アンテナが前記第1の指向性アンテナにステアリングされるとき、前記第1のノードは前記第2のノードにデータを通信する、請求項11〜16のいずれか一項に記載のシステム。
【請求項19】
前記第1のグループのノードは、前記ネットワーク内の他のノードを経由せずに、前記クラウドコントローラに接続される、請求項11〜18のいずれか一項に記載のシステム。
【請求項20】
前記ネットワーク内の特定のノードは、前記特定のノードの隣接ノードに同期のための要求を周期的に送り、前記隣接ノードに前記隣接ノードのそれぞれのタイムスタンプを前記ノードのタイムスタンプと同期させるとともに、隣接ノードの各々に、前記隣接ノードの他の隣接ノードへ同期のための要求を送らせる、請求項11〜19のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、ネットワーク内のノードの発見および同期のためのシステムに関する。
【背景技術】
【0002】
ノードのメッシュネットワークは、各ノードがネットワークに対するデータを中継するネットワークトポロジを有する。各ノードは、隣接ノードまでデータを送信できる。データは、隣接ノード間の一連の短いホップに送信を分割することによって、長距離にわたって送信され得る。
【0003】
ネットワークは、信頼性が高く、冗長性を提供できる。1つのノードがもはや動作できなくなると、残りのノードが直接または1つまたは複数の中間ノードを介して依然として互いに通信できる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に本明細書は、指向性アンテナを用いてワイヤレスに通信するノードを発見および同期するためのシステムを説明する。
【0005】
一般に、本明細書で説明される主題の一つの革新的な態様は、ノードのネットワークのトポロジを表すデータを、クラウドコントローラによって保持するアクションであって、データが第1のグループのノードを示し、第1のグループのノードが、クラウドコントローラに接続されるとともに、ネットワークの各ノードに対してノードに対する1つまたは複数のそれぞれの隣接ノードを示し、各ノードが、特定の時間間隔の間に送信ノードと受信ノードのペアを形成することによって隣接ノードとワイヤレスに通信し、ペアのうちの送信ノードが、送信ノードが送信モードであり、受信ノードが受信モードであるとき、特定の時間間隔の間にペアのうちの受信ノードにデータを通信する、アクションと、ネットワークに接続するための1つまたは複数の要求を、第1のグループのノードからクラウドコントローラにおいて受け取るアクションと、要求を送信する第1のグループのノード内の第1のノードを、クラウドコントローラによって選択するアクションと、第1のノードに、第1のノードのタイムスタンプを第1のノードの各隣接ノードに通信させるとともに、各隣接ノードに、第1のノードのタイムスタンプを隣接ノードの他の隣接ノードの各々に通信させるように構成された命令を、クラウドコントローラによって生成するアクションであって、ノードが、第1のノードのタイムスタンプを受け取ると、自身のそれぞれのタイムスタンプを同期し、タイムスタンプを通信するアクションは、ネットワーク内の各ノードが第1のノードのタイムスタンプに同期するまで続く、アクションと、第1のノードに命令を送り、それによってネットワーク内のノードを第1のノードのタイムスタンプに同期するアクションとを含む方法において具現化され得る。
【0006】
実施形態は、以下の1つまたは複数の特徴を含む。第1のノードによって命令を受け取ると、第1のノードが隣接ノードをスキャンし、各隣接ノードが、第1のノードのタイムスタンプと自身のそれぞれのタイムスタンプを同期する。各隣接ノードに対して、隣接ノードが他のそれぞれの隣接ノードをスキャンし、他のそれぞれの隣接ノードの各々が、第1のノードのタイムスタンプと自身のそれぞれのタイムスタンプを同期する。ネットワーク内の各ノードに伝搬されるべきスケジュールを第1のノードにプッシュし、スケジュールは、隣接ノードの各ペアにおける各ノードがいつ送信モードまたは受信モードであるかを指定する。決定するステップは、第2のグループのノードが第1のノードのタイムスタンプに同期されていないと、トポロジデータベースから決定するステップと、トポロジデータベースから第2のグループのノード内の各ノードの隣接ノードを識別するステップと、第2のグループのノード内の各ノードの隣接ノードに、第2のグループのノード内の各ノードが第1のノードのタイムスタンプに同期されたという指示を隣接ノードが受け取るまで、タイムスタンプを通信し続けさせるように構成された追加の命令を生成するステップと、第2のグループのノード内の各ノードの隣接ノードに追加の命令を送るステップとを含む。第1のノードは、複数のミリ波無線機を含み、命令は、第1のノードに第1のノードのタイムスタンプを通信させるように構成され、命令は、ミリ波無線機のうちの1つの第1のタイムスタンプを、第1のノードによって選択することと、第1のタイムスタンプに、他のミリ波無線機の各々のタイムスタンプを同期することと、複数のミリ波無線機を使用して、第1のノードの隣接ノードに、タイムスタンプを通信することとを含む。第1のノードは、第1の指向性アンテナを具備し、第1のノードに隣接するノードは、第2の指向性アンテナを具備し、方法は、データから第2の指向性アンテナの座標を特定するステップをさらに含み、記命令は、座標を含むとともに、第1の指向性アンテナに、第2の指向性アンテナの座標にステアリングさせる。ネットワーク内の第1のノードは、第1の指向性アンテナを具備し、ネットワーク内の第2のノードは、第2の指向性アンテナを具備し、第1の指向性アンテナが第2の指向性アンテナにステアリングされるとともに、第2の指向性アンテナが第1の指向性アンテナにステアリングされるとき、第1のノードは第2のノードにデータを通信する。第1のグループのノードは、ネットワーク内の他のノードを経由せずに、クラウドコントローラに接続される。ネットワーク内の特定のノードは、特定のノードの隣接ノードに同期のための要求を周期的に送り、隣接ノードに隣接ノードのそれぞれのタイムスタンプをノードのタイムスタンプと同期させるとともに、隣接ノードの各々に、隣接ノードの他の隣接ノードへ同期のための要求を送らせる。
【0007】
別の革新的な態様は、ノードのネットワークのトポロジを表すデータを、クラウドコントローラによって保持するアクションであって、データは第1のグループのノードを示し、第1のグループのノードは、クラウドコントローラに接続されるとともに、ネットワーク内の各ノードに対して、ノードに対する1つまたは複数のそれぞれの隣接ノードを示し、各ノードは、特定の時間間隔の間、送信ノードおよび受信ノードのペアを形成することによって隣接ノードとワイヤレスに通信し、ペアのうちの送信ノードが送信モードであり、ペアのうちの受信ノードが受信モードであるときに特定の時間間隔の間、ペアのうちの受信ノードにデータを通信する、アクションと、データに従って、ネットワークに加えられなかった第1のノードを、クラウドコントローラによって選択するステップと、データを使用して、第1のノードのまわりの隣接ノードを、クラウドコントローラによって決定するアクションと、隣接ノードに第1のノードを発見させるように構成された命令を、クラウドコントローラによって生成するアクションと、命令を隣接ノードに送り、それによって隣接ノードに第1のノードを発見させるアクションと、第1のノードが隣接ノードとワイヤレスに通信するという指示を受け取るアクションとを含む。
【0008】
実施形態は、1つまたは複数の以下の特徴を含み得る。命令は、第1のノードに隣接ノードのうちの1つのタイムスタンプと、第1のノードのタイムスタンプを同期させる。ノードのネットワークにわたってスケジュールを配信し、スケジュールは、ネットワーク内の各ノード間の将来の通信を調整する。ネットワーク内の第1のノードは、第1の指向性アンテナを具備し、ネットワーク内の第2のノードは、第2の指向性アンテナを具備し、第1の指向性アンテナが第2の指向性アンテナにステアリングされるとともに、第2の指向性アンテナが第1の指向性アンテナにステアリングされるとき、第1のノードは第2のノードにデータを通信する。第1のノードが受信モードであり、第1のノードが動作の全範囲で指向性アンテナをステアリングし、命令が隣接ノードに第1のノードを発見させるように構成され、命令は、送信モード中に、動作の全範囲で隣接ノードの指向性アンテナをステアリングすることと、隣接ノードの1つに対して、第1のノードの指向性アンテナが、隣接ノードのそれぞれの指向性アンテナにステアリングされると決定することと、データ内に決定を格納することとを含む。データから第1のノードの第1の指向性アンテナの座標を識別し、命令が、座標を含むとともに、隣接ノードの指向性アンテナに第1の指向性アンテナの座標にステアリングさせる。
【0009】
本明細書の主題の特定の実施形態は、1つまたは複数の以降の利点を実現するように実施され得る。いくつかのノードは、自身の指向性アンテナが他のノードの指向性アンテナにステアリングされる場合のみ通信できる。クラウドコントローラは、ネットワークにわたるノードにおいて時間が同期されると、指向性アンテナを有するノード間の通信を調整できる。クラウドコントローラは、ノードの複雑なネットワークの拡張性のある管理を可能にする。クラウドコントローラは、ネットワークにノードを容易に追加できるとともに、ノードが追加された後にノードの時間を同期できる。ノードがネットワークと通信することをやめる場合、クラウドコントローラは、ノードをネットワークに再接続できるとともに、自動的にノードの時間を再同期できる。
【0010】
本明細書の主題の1つまたは複数の実施形態が、添付の図面および移行の説明に記載される。主題の他の特徴、態様、利点が、本明細書、図面、特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0011】
図1】ノードのネットワークにわたって時間を同期するシステムについての例示的なアーキテクチャを示す図である。
図2】ネットワーク内の特定のノードについての例示的なアーキテクチャを示す図である。
図3】クラウドコントローラによって時間を同期するための例示的な処理のフロー図である。
図4A】どのようにネットワークのノードを介して時間が同期されるかを示す図である。
図4B】どのようにネットワークのノードを介して時間が同期されるかを示す図である。
図5】ネットワークに追加されていないノードが隣接ノードによって発見されることについての例示的な処理のフロー図である。
【発明を実施するための形態】
【0012】
様々な図面における同様の参照番号および図形は、同じ要素を示す。
【0013】
図1は、ノードのネットワークについて時間を同期するシステムのための例示的なアーキテクチャ100を示す。ノードのネットワークにより、ユーザは、インターネットがユビキタスではない広大な領域にわたってワイヤレスの高速インターネットにアクセスできる。例えば、ノードのネットワークは、インターネットへの接続へのわずかなインフラしか持たない遠隔の集落において実装され得る。
【0014】
システムは、ノードのネットワークにわたって時間同期を管理することを担うクラウドコントローラ102を含む。いくつかの実施形態では、ノードのネットワークは、メッシュネットワークとして編成される。
【0015】
ノードのネットワークは、ハブノード106および120、およびレギュラーノード108〜118を含む。レギュラーノードは、中継ノードであってよく、または例えばWi-Fiアクセスのためのアクセスエンドポイントであってよい。中継ノードは、ネットワーク内の他のノードにデータを中継できる。アクセスエンドポイントは、ユーザがアクセスエンドポイントを介して外部ネットワーク、例えばインターネットに接続できるようにするとともに、ネットワーク内の他のノードにデータを中継することもできる。ハブノードは、中継ノードまたはアクセスエンドポイントであってよく、直接クラウドコントローラ102と通信することもできる。すなわち、非ハブノードは、任意のハブノードを介してクラウドコントローラ102にアクセスできるが、ハブノードは、任意の他のノードを経由せずにクラウドコントローラ102にアクセスできる。例えば、ハブノード106および120は、ハブノード106を介してクラウドコントローラ102に接続できるノード110とは対照的にクラウドコントローラ102への直接接続を有する。いくつかの実施形態では、ハブノード106および120は、外部ネットワークに有線接続され、他のノードはワイヤレスである。
【0016】
各ノードは、隣接ノードと通信するために使用される1つまたは複数の指向性アンテナを有する。例えば、各ノードは、各々が指向性アンテナを有する複数のミリ波無線機を含むことができる。
【0017】
一般に、高性能な指向性アンテナを有するノードは、より広い帯域幅を提供するが、一度に別のノードの他の1つの無線機としか通信することができないという代償を払う。特に、ノードが通信するために、所与の無線機の指向性アンテナは、他のノードにおける他の無線機の指向性アンテナにステアリングされ得る。また、所与のノードが、各々がそれぞれの隣接ノードにステアリングされた2つの指向性アンテナを含む場合、所与のノードは同時に2つの隣接ノードと通信することができる。
【0018】
2つのノードが特定の時間間隔の間互いに通信するとき、ノードは、特定の時間間隔の間送信および受信ノードのペアの形態をとり得る。説明のため、ハブノード106およびノード108が通信するとき、ハブノード106は、送信モードであることができ、ノード108は受信モードであることができる。特に、ハブノード106の指向性アンテナは、ノード108の指向性アンテナにステアリングされ、それによりハブノード106がデータをノード108に送ることができる。いくつかの実施形態では、ノード108がハブノード106に応答を送るとき、ハブノード106は受信モードに移行し、ノード108は送信モードに移行する。
【0019】
アーキテクチャ100におけるノードのネットワークは、特定の時点でのアクティブ接続と代替接続を有する例示的なトポロジを示す。アクティブ接続、例えば、アクティブ接続124は実線で示され、代替接続、例えば、代替接続122は点線で示される。ノード間のアクティブ接続は、データがノード間でアクティブに転送される接続である。ノード間の代替接続は、ノード間でデータが潜在的に転送されるが、現時点では転送されない接続である。2つのノード間の代替接続がアクティブ接続になるために、2つのノードの指向性アンテナは、上述したように互いにステアリングされることができる。
【0020】
説明として、ハブノード106はノード108とのアクティブ接続を有し、ハブノード106の指向性アンテナが特定の時点でノード108の指向性アンテナにステアリングされることを示す。
【0021】
ノード108は、ノード112および106とのアクティブ接続とノード116との代替接続とを有し、ノード108がハブノード106およびノード112と通信しているが、特定の時点でノード116と通信していないことを示す。
【0022】
ネットワークにわたって通信するために、クラウドコントローラ102は、アクティブ接続から代替接続にまたはその逆に移行できる。いくつかの実施形態では、クラウドコントローラ102は、各ノードにわたる接続の移行についてのスケジュールを決定し、そのことは図3を参照して説明される。例えば、将来の時点で、ノード108は、ノード112の指向性アンテナからノード116の指向性アンテナに自身の指向性アンテナをステアリングでき、それによってノード108とノード116の間のアクティブ接続と、ノード108とノード112の間の代替接続とを作成する。
【0023】
クラウドコントローラ102はトポロジデータベース122と通信する。トポロジデータベース122は、ノードのネットワークのトポロジを表すネットワーク内の各ノードについての情報を含むことができる。特定のノードについての情報は、ノード中の無線機の数、ノードの役割、例えばハブ、継電器、またはアクセスポイント、ノードに隣接するノード、ノードがネットワークに追加されたか否か、すなわち接続されたか否かを含む。いくつかの実施形態では、トポロジデータベース122はまた、ネットワーク内の任意の所与のノードと通信するために、任意の所与のノードについての最適経路を指定する。特に、最適経路は、遅延を最小限にするデータを中継する一連の中間ノードを指定できる。
【0024】
クラウドコントローラ102は、ネットワークに追加または再接続するためにトポロジデータベース122と通信できる。トポロジデータベース122は、図3を参照して以下により詳細に説明される。
【0025】
本明細書では、「データベース」という用語は、データ要素間の関係を保持するデータの任意の適切な集合を参照するために広く使用される。データは、テーブルとして格納される必要はなく、任意の特定の方法で構造化される必要もなく、全く構造化されなくともよい。データベース中のデータは、1つまたは複数の場所の記憶デバイス上に格納され得る。このように、例えばトポロジデータベース122は、各々が異なって編成されアクセスされ得るデータの複数の集合を含むことができる。
【0026】
図2は、複数の無線機204〜208を有するネットワーク内の特定のノードについての例示的なアーキテクチャ200を示す。各無線機204〜208は、ネットワーク内の別の異なるノードに向けてステアリングされるそれぞれの指向性アンテナを有することができる。ノードは、各無線機204〜208と通信するネットワークプロセッサ202を有することができる。いくつかの実施形態では、ネットワークプロセッサ202は、各無線機の、例えば媒体アクセス制御(MAC)タイムスタンプなどのハードウェアタイムスタンプを同期することによってノードの時間を同期する。このことは、図3を参照してさらに説明される。
【0027】
図3は、クラウドコントローラによって時間を同期するための例示的な処理のフロー図である。一般に、システムは、ネットワーク内のノードを同期するために例示的なプロセスを使用できる。ノードを同期することはまた、一般にノードの発見を必要とする。しかしながら、システムは、代替的にネットワーク内のノードを発見するためだけに例示的な処理を実行することができる。便宜的に、処理は、例えば図1のクラウドコントローラ102などの1つまたは複数のコンピュータの適切にプログラムされたシステムによって実行されるとして説明される。
【0028】
システムは、ノードのネットワークのトポロジを表すデータを保持する(ステップ302)。データは、例えば図1のトポロジデータベース122などのトポロジデータベースに格納され得る。データは、システムに接続されるネットワーク内のノードの第1のグループを指定できる。第1のグループのノードは、システムに直接接続されるハブノード、すなわち他のノードを経由せずにシステムに接続できるノードであり得る。
【0029】
システムは、ネットワークに接続するために、第1のグループのノードから1つまたは複数の要求を受け取る(ステップ304)。いくつかの実施形態では、各ノードは、システムに接続しようと、すなわち発見されようと試みることができる。接続するための試みは、ノードの起動時に行うことができる。
【0030】
各ノードは、システムへの接続に応答して自身のタイムスタンプを同期できる。すなわち、ネットワークにノードを接続する処理は、ノードがネットワーク内の他のノードに自身のタイムスタンプを同期することを含む。このことは、図5を参照して以下にさらに説明される。
【0031】
システムは、第1のグループのノードからシステムに接続する特定のノードを選択する(ステップ306)。いくつかの実施形態では、システムは要求に最初に応答するノードを選択する。いくつかの他の実施形態では、システムは第1のグループからランダムにノードを選択する。さらにいくつかの他の実施形態では、システムは最も多くの隣接ノードを有するノードを選択する。一般に、第1のグループのノード、例えばネットワークのハブノードは、外部ネットワーク、例えばインターネットに直接接続され、したがってシステムと最も信頼性のある通信を行うネットワーク内のノードである。
【0032】
システムは、選択されたノードの各隣接ノードを同期するための要求を選択されたノードに通信させるように構成された命令を生成し(ステップ308)、選択されたノードに命令を送る(ステップ310)。
【0033】
命令を受け取ると、選択されたノードは隣接ノードをスキャンできる。いくつかの実施形態では、システムは、命令中に選択されたノードの指向性アンテナが隣接するノードを見つけるためにステアリングできるトポロジデータベースからの座標を含む。命令は、選択されたノードに、自身の隣接するノードの各々に対して、選択されたノードのタイムスタンプに隣接するノードのタイムスタンプを同期するための要求を伝搬させる。例えば、同期フレームなどの要求はまた、選択されたノードのタイムスタンプを含むことができる。このことは、図4Aおよび図4Bを参照して説明される。
【0034】
システムが発見のみで同期を実行しない場合、システムは発見フレームと呼ばれる各隣接ノードが発見されるための要求を伝搬できる。要求は、隣接ノードに例えばクラウドコントローラに接続することによって、システムへの接続を継続して試行させることができる。ハブノードは直接システムに接続でき、一方レギュラーノードは、ハブノードへのワイヤレスな接続を介してシステムに接続できる。いくつかの実施形態では、要求は両方のノードが発見されるようにし、ノードが自身のタイムスタンプを同期するようにする。
【0035】
いくつかの実施形態では、要求はまた、トポロジ識別子を含む。各ノードは、トポロジ識別子をプリロードされることができる。次いで各ノードは、命令内のトポロジ識別子とプリロードしたトポロジ識別子を比較できる。トポロジ識別子が一致する場合、ノードは、命令中のタイムスタンプに自身のタイムスタンプを同期することを開始する。このことは、ノードが意図されたタイムスタンプに同期することを確実にする。
【0036】
ノードによって受け取られた要求は、ノードをノードの隣接ノードに要求を伝搬させる。このことは、ネットワーク内の各ノードが、選択されたノードのタイムスタンプに同期されるまで継続できる。選択されたノードのタイムスタンプに所与のノードのタイムスタンプを同期するために、ノードは、選択されたノードのタイムスタンプを所与のノードのメモリに格納できる。
【0037】
要求がノードを同期するために使用されるとき、各ノードは時間を隣接ノードに同期する要求を周期的に送ることができる。このことは、時間経過に伴って各ノードの内部クロックの僅かなドリフト(drift)(例えば、マイクロ秒のオーダーであり得る)を説明する。このことはまた、システム、すなわちクラウドコントローラからの時間同期を抽象化することができる。すなわち、システムは、ネットワーク内の各ノードがネットワークにわたって同期されたタイムスタンプを有すると仮定できる。したがって、システムは、同期されたタイムスタンプに基づいてスケジュールをプッシュでき、このことは以下にさらに説明される。
【0038】
いくつかの実施形態では、時間を同期する要求を送るとき、特定のノードがタイマを開始する。タイマが満了するまで、ノードは自身が受信モードに入るのを防ぐことができ、すなわちノードは同期のための任意の要求を受け取らない。タイマは、時間を同期する要求を送信する周期よりわずかに小さくできる。このことは、同期のための要求を伴うネットワークの超過負荷を防ぐことができる。
【0039】
いくつかの他の実施形態では、一旦所与のノードが同期されると、所与のノードが、トポロジデータベース内に同期の指示を格納できるシステムに、例えばシステムに接続された他のノードを介して同期の指示を送る。一旦すべてのノードがタイムスタンプに同期されると、システムはタイムスタンプに基づいてスケジュールをプッシュできる。
【0040】
いくつかの実施形態では、ノードは、図2を参照して上述したように複数の無線機を有する。ノードは、ノードのネットワークプロセッサにおいて、選択されたノードのタイムスタンプに同期するための命令を受け取ることができる。ネットワークプロセッサは、各無線機に接続、例えば有線接続されることができ、各無線機に選択されたノードのタイムスタンプに自身のタイムスタンプを同期させることができる。
【0041】
いくつかの実施形態では、トポロジデータベースは、同期の指示を格納する場合、システムは、ネットワーク内の第2のグループのノードがトポロジデータベースからの選択されたノードのタイムスタンプに同期されていないことを決定し、上述したように同期の指示を格納する。このことは、第2のグループ内のノードがネットワーク内の残りのノードと通信できないときに起こる。例えば、第2のグループ内のノードは、隣接ノードへステアリングされたアンテナを有することができるが、見通し(line-of-sight)は、物体によって物理的に遮られることがある。
【0042】
システムは、トポロジデータベースを使用して、選択されたノードのタイムスタンプに時間を同期した第2のグループのノード内の各ノードの隣接ノードを識別できる。
【0043】
システムは、識別した隣接ノードに、システムが第2のグループ内の各ノードから同期の指示を受け取るまで、第2のグループ内のノードに同期のための要求を送り続けさせるように構成された追加の命令を生成して、識別した隣接ノードに送信できる。命令は、トポロジデータベースを使用して、ネットワークを介して追加の命令を中継することによって識別した隣接ノードに送られ得る。いくつかの実施形態では、システムは、例えば指数バックオフアルゴリズムを使用して、選択されたノードのタイムスタンプを含む、同期のための要求を送ることを繰り返し試みる。
【0044】
ネットワーク内の各ノードが、選択されたノードのタイムスタンプに同期された後、システムは、ネットワークにわたって通信を調整する選択されたノードにスケジュールをプッシュできる。スケジュールは、いつ隣接ノードの各ペアが送信モードまたは受信モードであるかを指定できる。同期された時間とともに、ノードは、同時に適切な位置に自身の指向性アンテナをステアリングできる。例えば、スケジュールは、選択されたノードを指定して、タイムスタンプXからタイムスタンプYに、該ノードのアンテナを第1の隣接ノードにステアリングすることができ、XおよびYは、選択されたノードの現在のタイムスタンプからの将来的な差分である。スケジュールは、選択されたノードを指定して、タイムスタンプYからタイムスタンプZに、該ノードのアンテナを第2の隣接ノードにステアリングすることができ、選択されたノードが送信モードであり、第2の隣接ノードが受信モードである。
【0045】
図4Aは、ネットワークのハブノード406において同期のための命令を受け取った後に、どのように時間が同期されるかを示す図400である。ハブノード406は、クラウドコントローラ402から命令を受け取ることができる。ハブノード406は、時間Aのタイムスタンプを有することができる。ハブノード406は、ノード408および410とのアクティブ接続を有し、ハブノード406は、それぞれのノード408および410に各々がステアリングされる複数の指向性アンテナを有する。ハブノード406は、ノード408および410にハブノード406のタイムスタンプ、すなわち時間Aを伴う、同期のための要求を送ることができる。
【0046】
図4Bは、ノード408および410がハブノード406から同期のための要求を受け取った後、どのように時間が同期されるかを示す図422である。同期のための要求を受け取ると、ノード408および410は自身のそれぞれのタイムスタンプを時間Aに同期できる。
【0047】
ノード408は、ノード412とのアクティブ接続およびノード416との代替接続を有する。したがって、ノード408はタイムスタンプ時間Aに同期するための要求をノード412に送る。ノード408の指向性アンテナが、ノード416の指向性アンテナにステアリングされないので、ノード408は現時点でノード416に同期のための要求を送ることができない。
【0048】
いくつかの実施形態では、ノード408がノード412に時間Aを含む要求を送った後、ノード408はスキャンモードに入ることができる。スキャンモードは、ノード408に他の隣接ノードを探させることができる。例えば、スキャンモードは、ノード408が別のノードの指向性アンテナを見つけるまで指向性アンテナを動きの全範囲でステアリングさせることができる。ノード408は、他のノードが時間Aに自身のタイムスタンプを同期していないか否かを判定できる。いくつかの実施形態では、システムは、分配のために同期の指示のスナップショットをハブノード406および420に送信する。いくつかの他の実施形態では、ノード408は、他のノードが同期されたか否かを示す他のノードからの応答を待つ。さらにいくつかの他の実施形態では、ノード408は、他のノードが自身のタイムスタンプを時間Aに同期したか否かにかかわらず、他のノードに同期のための要求を送る。
【0049】
いくつかの実施形態では、ノード408が時間Aを含む要求をノード412に送った後、ノードはクラウドコントローラ402からの命令を待つ。クラウドコントローラ402は、図3を参照して上述したように、例えばノード416がクラウドコントローラ402に接続していないという理由で、ノード416が自身のタイムスタンプを時間Aに同期していないと判定でき、かつノード408にノード416とのアクティブ接続を形成させる命令を生成するとともに、ノード416のタイムスタンプを時間Aに同期する要求を送る。
【0050】
同様に、ハブノード406から同期のための要求を受け取ると、ノード410は、自身のタイムスタンプを時間Aに設定し、時間Aを含む同期のための要求を、アクティブ接続を介してノード412に送る。いくつかの実施形態では、ノード412は、ノード408からの同期のための要求により、ノード412が自身のタイムスタンプをすでに同期している場合、要求を無視できる。
【0051】
図5は、ネットワークに追加されていないノードを隣接ノードによって発見するための例示的な処理のフロー図である。便宜的に、プロセスは、例えば、図1のクラウドコントローラ102など、1つまたは複数のコンピュータの適切にプログラムされたシステムによって実行されるとして説明される。いくつかの実施形態では、システムはネットワークにわたり時間を同期する前に、トポロジデータベース内で識別されると、すべての未発見ノードを発見しようと試みる。
【0052】
システムは、ネットワークのトポロジを表すデータを保持する(ステップ502)。データは、図3を参照して上述したように、トポロジデータベース内に格納されることができる。
【0053】
システムは、データに従ってネットワークに追加されていない特定のノードを選択する(ステップ504)。システムは、特定のノードがネットワークに追加されたか否かを格納するトポロジデータベースを分析して、特定のノードを選択できる。いくつかの場合、選択されたノードは、ネットワークに追加されるように以前に試みられたが、例えば物理的な障害物により失敗した可能性がある。
【0054】
選択されたノードがネットワークへの追加されることを試みるとき、選択されたノードは受信モードに入ることができる。選択されたノードはまた、隣接ノードとの接続を試行するために、全範囲内で指向性アンテナを掃引できる。全範囲は、無線機によってあらかじめ決定され得る。
【0055】
システムはデータを使用して、選択されたノードのまわりの隣接ノードを決定する(ステップ506)。いくつかの実施形態では、システムは、トポロジデータベースに問い合わせて、隣接ノードの座標を決定する。特に、トポロジデータベースは、隣接ノードの指向性アンテナがステアリングされるべき選択されたノードの指向性アンテナの座標を含むことができる。
【0056】
システムは、選択されたノードを発見するように構成された命令を生成し(ステップ508)、命令を隣接ノードに送り、それによって隣接ノードに選択されたノードを発見させる(ステップ510)。命令は、隣接ノードに、選択されたノードの指向性アンテナの座標に自身のそれぞれの指向性アンテナをステアリングさせることができる。いくつかの実施形態では、命令は隣接ノードのそれぞれの指向性アンテナに、選択されたノードへのより強力な接続を探すために全範囲でステアリングさせる。隣接ノードは各々、送信モードであり得る。システムは、隣接ノードの1つに対して、選択されたノードの指向性アンテナが、1つの隣接ノードのそれぞれの指向性アンテナにステアリングされると決定できる。いくつかの実施形態では、選択されたノードがネットワークに追加されるための接続を行うために、隣接ノードのうちの1つだけが必要である。選択されたノードが1つの隣接ノードに接続するとき、選択されたノードは接続が作られた指示をシステムに送ることができる。次いで、選択されたノードは、1つの隣接ノードとワイヤレスに通信できる。
【0057】
いくつかの実施形態では、命令は、図3を参照して上述したように選択されたノードに自身のタイムスタンプを隣接ノードのタイムスタンプに同期させる。
【0058】
システムは、図3に上述したように、ノードのネットワークにわたってスケジュールを分配できる。
【0059】
本明細書で説明した主題および機能的動作の実施形態は、デジタル電子回路、有形に具体化されたコンピュータソフトウェアもしくはファームウェア、本明細書で開示した構造およびそれらの構造的均等物を含むコンピュータハードウェア、またはそれらの1つもしくは複数の組合せにおいて実装され得る。本明細書で説明した主題の実施形態は、1つまたは複数のプログラムとして、例えば、データ処理装置によって実行するため、またはデータ処理装置の動作を制御するために有形の不揮発性プログラム担体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的には、または加えて、プログラム命令は、人為的に生成された伝搬信号上、例えば、データ処理装置による実行のための適切なレシーバ装置への送信のための情報を符号化するために生成された、機械生成の電気信号、光信号、または電磁信号上に符号化され得る。コンピュータ記憶媒体は、機械可読記憶デバイス、機械可読記憶基板、またはランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらの1つもしくは複数の組合せであり得る。しかしながら、コンピュータ記憶媒体は、伝搬信号ではない。
【0060】
「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するすべての種類の装置、デバイス、および機械を包含する。装置は、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)を含むことができる。装置はまた、ハードウェアに加えて、問題のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらの1つもしくは複数の組合せを構成するコードを含むことができる。
【0061】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは説明されることもある)は、コンパイル型言語もしくはインタプリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形式のプログラミング言語で記述され得、コンピュータプログラムは、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとして含む任意の形式で展開され得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、必ずしも対応する必要はない。プログラムは、他のプログラムもしくはデータ(例えば、マークアップ言語文書内に記憶された1つもしくは複数のスクリプト)を保持するファイルの一部内、問題のプログラム専用の単一のファイル内、または複数の連携ファイル(例えば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイル)内に記憶され得る。コンピュータプログラムは、1つのコンピュータにおいて、または1つのサイトに配置された複数のコンピュータ、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータにおいて実行されるように配置され得る。
【0062】
本明細書で使用される、「エンジン」または「ソフトウェアエンジン」は、入力とは異なる出力を提供するソフトウェアで実装された入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK」)またはオブジェクトなどの機能の符号化されたブロックであり得る。各エンジンは、1つまたは複数のプロセッサおよびコンピュータ可読媒体を有する、例えば、サーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子書籍リーダ、ラップトップまたはデスクトップコンピュータ、PDA、スマートフォン、あるいは他の据え置き型またはポータブル型の装置などの任意の適切なタイプのコンピューティングデバイス上で実施され得る。さらに、2以上のエンジンが、同一のコンピューティングデバイスまたは別々のコンピューティングデバイスで実施されてもよい。
【0063】
本明細書で説明したプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって実行され得る。プロセスおよび論理フローはまた、専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行され得、装置はまた、専用論理回路、例えば、FPGAまたはASICとして実装され得る。
【0064】
コンピュータプログラムの実行に適したコンピュータは、例として、汎用コンピュータ、もしくは専用コンピュータ、もしくはその両方、または任意の他の種類の中央処理装置に基づくことができる。一般に、中央処理装置は、読み出し専用メモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須要素は、命令を実行するための中央処理装置と、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、データを記憶するための1つまたは複数の大容量記憶デバイス、例えば、磁気ディスク、光磁気ディスク、または光ディスクを含み、またはそれらの大容量記憶デバイスからデータを受信するか、もしくはそれらの大容量記憶デバイスにデータを転送するか、もしくはその両方を行うように動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、例えば、いくつかの例を挙げると、モバイル電話、携帯情報端末(PDA)、モバイルオーディオまたはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブル記憶デバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)内に組み込まれ得る。
【0065】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得、または専用論理回路内に組み込まれ得る。
【0066】
ユーザとの対話を提供するために、本明細書で説明した主題の実施形態は、情報をユーザに表示するためのディスプレイデバイス、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)モニタ、またはOLEDディスプレイと、ユーザがコンピュータに入力を提供することができるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータにおいて実装され得る。ユーザとの対話を提供するために他の種類のデバイスが使用され得、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態において受信され得る。加えて、コンピュータは、例えば、ウェブブラウザから受信された要求に応答してユーザのクライアントデバイス上のウェブブラウザにウェブページを送ることによって、ユーザによって使用されるデバイスにドキュメントを送り、ユーザによって使用されるデバイスからドキュメントを受信することによってユーザと対話することができる。
【0067】
本明細書で説明した主題の実施形態は、例えば、データサーバとしてバックエンド構成要素を含むか、またはミドルウェア構成要素、例えば、アプリケーションサーバを含むか、またはフロントエンド構成要素、例えば、ユーザが本明細書で説明した主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または、1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)と、ワイドエリアネットワーク(「WAN」)、例えば、インターネットとを含む。
【0068】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに離間しており、典型的には、通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0069】
本明細書は、多くの具体的な実装形態の詳細を含むが、これらは、特許請求され得るものの範囲に対する限定として解釈されるべきではなく、特定の実施形態に特有のものであり得る特徴の説明として解釈されるべきである。別個の実施形態の文脈において本明細書で説明されている特定の特徴はまた、単一の実施形態において組合せて実施され得る。逆に、単一の実施形態の文脈において説明されている様々な特徴はまた、複数の実施形態において別々に、または任意の適切な部分的組合せにおいて実施され得る。さらに、特徴は、特定の組合せにおいて作用するように上記で説明され、そのようなものとして当初に特許請求されている場合があるが、特許請求された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除され得、特許請求された組合せは、部分的組合せまたは部分的組合せの変形に向けられ得る。
【0070】
同様に、動作が特定の順序で図面に示されているが、これは、そのような動作が示された特定の順序もしくは逐次的な順序で実行されること、または所望の結果を達成するためにすべての図示された動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスク処理および並列処理が有利である場合がある。さらに、上記で説明した実施形態における様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とするものとして解釈されるべきではなく、説明したプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品内に一緒に統合され得、または複数のソフトウェア製品にパッケージされ得ることが理解されるべきである。
【0071】
主題の特定の実施形態について説明してきた。他の実施形態は、以下の特許請求の範囲内にある。例えば、特許請求の範囲内に列挙されたアクションは、異なる順序で実行され得、依然として所望の結果を達成することができる。一例として、添付図面に示されたプロセスは、所望の結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。特定の実装形態では、マルチタスク処理および並列処理が有利である場合がある。
【符号の説明】
【0072】
102 クラウドコントローラ
106 ハブノード
108 レギュラーノード
116 ノード
124 アクティブ接続
202 ネットワークプロセッサ
204〜208 無線機
402 クラウドコントローラ
406 ハブノード
408〜416 ノード
図1
図2
図3
図4A
図4B
図5