IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ヌードル テクノロジー インコーポレイテッドの特許一覧

<>
  • 特許-遅延耐性分散ネットワーク 図1
  • 特許-遅延耐性分散ネットワーク 図2
  • 特許-遅延耐性分散ネットワーク 図3
  • 特許-遅延耐性分散ネットワーク 図4
  • 特許-遅延耐性分散ネットワーク 図5
  • 特許-遅延耐性分散ネットワーク 図6
  • 特許-遅延耐性分散ネットワーク 図7
  • 特許-遅延耐性分散ネットワーク 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-09
(45)【発行日】2023-05-17
(54)【発明の名称】遅延耐性分散ネットワーク
(51)【国際特許分類】
   H04W 16/26 20090101AFI20230510BHJP
   H04W 88/18 20090101ALI20230510BHJP
   H04W 88/04 20090101ALI20230510BHJP
   H04W 8/22 20090101ALI20230510BHJP
【FI】
H04W16/26
H04W88/18
H04W88/04
H04W8/22
【請求項の数】 19
(21)【出願番号】P 2022075919
(22)【出願日】2022-05-02
(62)【分割の表示】P 2020517767の分割
【原出願日】2018-06-07
(65)【公開番号】P2022103250
(43)【公開日】2022-07-07
【審査請求日】2022-05-02
(31)【優先権主張番号】62/516,590
(32)【優先日】2017-06-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519436611
【氏名又は名称】ヌードル テクノロジー インコーポレイテッド
【氏名又は名称原語表記】NOODLE TECHNOLOGY INC.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ベノリエル、ミカ アンテノル
(72)【発明者】
【氏名】カリアン、キューデ
【審査官】伊東 和重
(56)【参考文献】
【文献】特表2012-505620(JP,A)
【文献】特表2017-537549(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04B 7/24-7/26
H04W 4/00-99/00
(57)【特許請求の範囲】
【請求項1】
方法であって、
第1のネットワークを介して第1の中間デバイスからビーコンを受信することであって、前記ビーコンは、第2のネットワークを介してエンドポイントデバイスから前記第1の中間デバイスによって受信されたものである、前記受信すること、
前記エンドポイントデバイスの識別子を含む前記ビーコンの特性を識別すること、
前記エンドポイントデバイスの前記識別子を用いてデータ記録の検索を実施し、前記ビーコンに関連する特定のサーバを識別すること、
前記データ記録の前記検索の結果に基づいて前記特定のサーバを選択すること、
第3のネットワークを介して前記サーバにビーコンメッセージを送信することであって、前記ビーコンメッセージは、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも1つを含む、前記送信すること、
前記サーバから、前記ビーコンメッセージに関する応答メッセージを受信すること、
前記応答メッセージを処理すること
を含む方法。
【請求項2】
前記ビーコンは、前記エンドポイントデバイスの地理的位置を示すデータを含む、請求項1に記載の方法。
【請求項3】
前記ビーコンの特性を識別することは、前記ビーコンをスキャンして、前記エンドポイントデバイスの地理的位置および前記エンドポイントデバイスの識別子を示すデータを識別することを含む、請求項2に記載の方法。
【請求項4】
前記第3のネットワークを介して前記サーバに前記ビーコンメッセージを送信することは、前記サーバに前記エンドポイントデバイスの識別子を送信することを含む、請求項3に記載の方法。
【請求項5】
前記第1のネットワークは、前記第2のネットワークと比較してより長距離のネットワークである、請求項1に記載の方法。
【請求項6】
前記応答メッセージは、第2の中間デバイスに宛てられ、前記応答メッセージは、前記エンドポイントデバイスが見つかったという指示を含み、前記応答メッセージは、前記第2の中間デバイスによって前記エンドポイントデバイスの位置を電子地図上に表示するために実行可能な少なくとも1つの命令を含み、前記応答メッセージを処理することは、前記応答メッセージを前記第2の中間デバイスに送信することを含む、請求項1に記載の方法。
【請求項7】
前記応答メッセージは、前記エンドポイントデバイスによって実行可能な命令を含み、前記応答メッセージを処理することは、前記応答メッセージを前記エンドポイントデバイスに送信することを含む、請求項1に記載の方法。
【請求項8】
前記応答メッセージを前記エンドポイントデバイスに送信することは、
前記エンドポイントデバイスに現在通信可能に接続されている中間デバイスを識別することであって、前記中間デバイスは、前記第1の中間デバイスまたは第2の中間デバイスを含む、前記識別すること、
前記応答メッセージを前記エンドポイントデバイスに転送する命令とともに、前記応答メッセージを、識別された中間デバイスに送信すること
を含む、請求項1に記載の方法。
【請求項9】
方法であって、
第1の地理的位置から第2の地理的位置への第1の中間デバイスの動きを検出すること、
前記第1の中間デバイスが前記第2の地理的位置に移動することに応答して、エンドポイントデバイスから、前記エンドポイントデバイスの識別子を含むビーコンを受信すること、
ビーコンメッセージを送信するために中継サーバを識別することであって、前記ビーコンメッセージは、前記エンドポイントデバイスの前記識別子と、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも1つとを含む、前記識別すること、
前記中継サーバを選択すること、
前記エンドポイントデバイスから受信された前記エンドポイントデバイスの前記識別子を含む前記ビーコンメッセージを前記第1の中間デバイスが前記中継サーバに送信すること
を含む、方法。
【請求項10】
第1のネットワークを介してビーコンを周期的にスキャンすることにより、前記ビーコンをリッスンすることをさらに含む、請求項9に記載の方法。
【請求項11】
前記第1の中間デバイスは、前記第1のネットワークを介して前記エンドポイントデバイスから前記ビーコンを受信するように構成されている、請求項10に記載の方法。
【請求項12】
前記ビーコンメッセージは、前記第1の中間デバイスが第2のネットワークに接続されているという判定に応答して、前記エンドポイントデバイスから前記中継サーバに送信され、前記ビーコンメッセージを前記エンドポイントデバイスから前記中継サーバに送信することは、前記ビーコンメッセージを前記エンドポイントデバイスから前記第2のネットワークを介して前記中継サーバに送信することを含む、請求項11に記載の方法。
【請求項13】
前記ビーコンメッセージを送信するために中継サーバを識別することは、
前記第1の中間デバイスの地理的位置を判定すること、
一組の中継サーバから前記中継サーバを識別すること
を含み、前記中継サーバは、前記一組の中継サーバのうち、前記第1の中間デバイスの地理的位置に最も近い中継サーバである、請求項9に記載の方法。
【請求項14】
前記中継サーバから前記ビーコンメッセージに関する応答メッセージを受信することをさらに含む、請求項9に記載の方法。
【請求項15】
前記応答メッセージを前記エンドポイントデバイスに送信することをさらに含む、請求項14に記載の方法。
【請求項16】
前記ビーコンメッセージに関する応答メッセージを受信することは、第2の中間デバイスで前記応答メッセージを受信することを含む、請求項15に記載の方法。
【請求項17】
前記応答メッセージを前記エンドポイントデバイスに送信することは、前記応答メッセージを前記第2の中間デバイスを介して前記エンドポイントデバイスに送信することを含む、請求項16に記載の方法。
【請求項18】
前記応答メッセージを前記エンドポイントデバイスに送信することは、前記エンドポイントデバイスに前記応答メッセージを送信する命令を前記応答メッセージが含んでいると判定することを含む、請求項15に記載の方法。
【請求項19】
コンピュータプログラムを記憶する記憶デバイスであって、前記コンピュータプログラムは、1つまたは複数のプロセッサによって実行されると、
第1の地理的位置から第2の地理的位置への第1の中間デバイスの動きを検出すること、
前記第1の中間デバイスが前記第2の地理的位置に移動することに応答して、エンドポイントデバイスから、前記エンドポイントデバイスの識別子を含むビーコンを受信すること、
ビーコンメッセージを送信するために中継サーバを識別することであって、前記ビーコンメッセージは、前記エンドポイントデバイスの前記識別子と、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも1つとを含む、前記識別すること、
前記中継サーバを選択すること、
前記エンドポイントデバイスから受信された前記エンドポイントデバイスの前記識別子を含む前記ビーコンメッセージを前記中継サーバに送信すること、
前記中継サーバから、前記ビーコンメッセージに関する応答メッセージを受信すること、
前記応答メッセージを前記エンドポイントデバイスに送信すること
を含む動作を、前記1つまたは複数のプロセッサに実施させる、
記憶デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で論じる実施形態は、分散ネットワーキングに関する。
【背景技術】
【0002】
モノのインターネット(IoT)―インターネットを介してシームレスに通信する接続された「スマート」デバイスのネットワーク―は、人間の生活のあらゆる面に拡大している。IoTデバイスは、病院におけるヘルスケア、医療機器および医薬品の製造にますます使用されている。都市では、IoTデバイスは、汚染の追跡と監視に役立つ。IoTデバイスは、政府、軍隊、企業、および個人により、資産の追跡および管理のために使用され得る。これらのアプリケーションは異なる目的に役立つが、それらはすべて1つの特性、すなわち、強力な接続性への依存を共有している。程なく、従来のネットワークは、数十億のIoTデバイスの帯域幅要件を処理できなくなるだろう。
【0003】
本明細書で請求される主題は、上記のような環境においてのみ任意の欠点を解決するか、または動作する実施形態に限定されない。むしろ、この背景技術は、本明細書で説明されるいくつかの実施形態が実施され得る技術分野の一例を示すためにのみ提供されている。
【発明の概要】
【0004】
実施形態の一態様によれば、方法は、第1のネットワークを介して第1の中間デバイスからビーコンを受信することを含み得る。ビーコンは、第2のネットワークを介してエンドポイントデバイスから第1の中間デバイスによって受信されたものであり得る。方法は、ビーコンの特性を識別することも含み得る。方法は、ビーコンの特性に基づいて、ビーコンに関連するサーバを識別することを含み得る。方法は、第3のネットワークを介してサーバにビーコンメッセージを送信することを含んでもよく、ビーコンメッセージは、ビーコンまたはビーコンに関する情報のうちの少なくとも1つを含む。方法は、サーバから、ビーコンメッセージに関する応答メッセージを受信することをさらに含み得る。方法は、応答メッセージを処理することを含み得る。
【0005】
別の態様によれば、方法は、第1の地理的位置から第2の地理的位置への第1の中間デバイスの動きを検出することを含み得る。方法は、第1の中間デバイスが第2の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信することも含み得る。方法は、ビーコンメッセージを送信するために中継サーバを識別することをさらに含み得る。ビーコンメッセージは、ビーコンまたはビーコンに関する情報のうちの少なくとも1つを含み得る。方法は、エンドポイントデバイスから中継サーバにビーコンメッセージを送信することを含み得る。
【0006】
実施形態の目的および利点は、少なくとも特許請求の範囲で特に指摘されている要素、特徴、および組み合わせによって実現および達成される。
前述の一般的な説明および以下の詳細な説明は、いずれも例示的かつ説明的なものであり、特許請求される本発明を限定するものではないことを理解されたい。
【図面の簡単な説明】
【0007】
例示的な実施形態は、添付の図面の使用を通じて追加の特定性および詳細とともに記載および説明される。
図1】ネットワークアーキテクチャの一例を示す図である。
図2】ネットワークアーキテクチャの一例を示す図である。
図3】ネットワークアーキテクチャの一例を示す図である。
図4】ネットワークアーキテクチャの一例を示す図である。
図5】デバイス間の通信を処理する例示的な方法のフロー図である。
図6】エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法のフロー図である。
図7】エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法のフロー図である。
図8】本明細書で説明する方法の任意の1つまたは複数を機械に実施させるための一組の命令が実行され得るコンピューティングデバイスの例示的な形態における機械の概略図であり、本明細書で説明される少なくとも1つの実施形態に従ってすべてが配置される。
【発明を実施するための形態】
【0008】
モノのインターネット(IoT)は、人間の生活のあらゆる面に拡大している。2025年までに750億台を超えるIoTデバイスが配備されると予想されており、これらのデバイスをオンラインにして相互に接続するために、より効率的な新しいネットワークインフラストラクチャが必要とされている。
【0009】
IoTデバイスには多くの接続ソリューションが存在する。残念ながら、帯域幅の制限、接続性の低下、高電力消費、および/または高コストの問題をすべてが抱えている。例えば、セルラー接続は、デバイスにおいてかなりの電力を消費し、高価でもあり得る。低電力広域ネットワーク(Low-PowerWide-AreaNetwork:LPWAN)などの低電力ソリューションは、セルラー接続よりも少ない電力消費が可能である。LPWANは、しかしながら、帯域幅の制限によって制約を受ける可能性があり、分散ネットワークのニーズを完全に満たすのに十分なデータを送信できない場合がある。従来のシステムは、依然として広い帯域幅を提供しながら、電力消費量が比較的低くはない可能性がある。
【0010】
具体的には、今日のインターネットに小さなデバイスを接続するための既存のソリューションは、(a)例えば、セルラーモジュールを加入者識別モジュール(SIM)カードまたはソフトウェアSIMと共にデバイスに組み込んでセルラー接続を提供することにより、既存の無線ネットワークを使用すること、(b)新しい代替無線ネットワークを、カスタム無線チップセットを組み込み、固定インフラストラクチャを構築してこのネットワークをサポートすることにより構築すること、(c)LoRaAllianceTechnologyなどの長距離ネットワーク技術を使用することを含む。LoRaは、IoTデバイスと、産業科学医療(ISM)用スペクトルバンド上の「中央ネットワークサーバ」との間のゲートウェイおよびブリッジの複雑な「スターオブスター(star-of-stars)」型トポロジを使用する。
【0011】
これらのアプローチの各々には重大な欠点がある。例えば、これらのアプローチの各々は、多くの場合、モバイルデバイスのバッテリ消費に大きく寄与する大量の電力を必要とする。さらに、アプローチ(a)は、高価なセルラーモジュールを必要とし、加えて、サービスサブスクリプションおよび無線キャリアへのデータの両方の無線セルラーサービスの月額料金を必要とする。アプローチ(b)および(c)は、新しい固定インフラストラクチャを構築する必要があり、多くの場合、一般的なBluetooth(登録商標)チップセットに加えて無線伝送用のチップセットを購入する必要があるため、高価である。伝送距離が長くなると必要な電力が大きくなるため、これらのアプローチの各々は、かなりの電力を必要とする。同様に、セルラーデバイスおよび全地球測位システム(GPS)対応デバイスは、より長い距離のため、セルタワーまたは衛星と通信するために高電力を必要とする。
【0012】
本開示の態様は、新しい分散ネットワークを提供することにより、従来のネットワーキングのこれらおよび他の問題に対処する。いくつかの態様では、分散ネットワークは、より高い接続性および/またはより広い帯域幅を提供しながら、低電力を使用して多数のデバイスを接続することが可能である。一実施形態は、IoTデバイスから固定インフラストラクチャに依存しないサーバにデータを送信するクラウドソース(crowd-source)ベースの方法を含む。別の実施形態は、クラウドサーバが、固定インフラストラクチャに依存しないIoTデバイスにデータを送信するクラウドソースの方法を含む。さらなる実施形態は、ビーコン内のデータを複数のIoTデバイス上の複数のサービスから適切なデバイス製造業者サーバにルーティングするための方法を含む。さらに別の実施形態は、リモートIoTデバイスとデータを収集または交換するために使用されるモバイルデバイス上のエネルギー消費を削減する方法を含む。
【0013】
一態様では、本開示は、クラウドソーシング技術を使用することにより別個の固定インフラストラクチャの必要性を除去することにより既存の技術を改善するシステムおよび技術を説明する。いくつかの態様は、低消費電力プロファイルを有し、大規模な固定ハードウェアインフラストラクチャを必要としない、IoTデバイスからサーバへの通信の方法を提供する。本開示の他の利点は、インターネットアクセスのコストを削減し、IoTの分野における新しいイノベーションのためのプラットフォームを生成する能力にある。
【0014】
本開示は、ネットワークベースの通信を使用する実質的にすべての分野に有用であり得る。この開示から恩恵を受け得る例示的な団体は、スマートフォン製造業者、自転車および乗物シェアリング会社、屋外広告主、環境分析会社などを含むが、これらに限定されない。例示的なアプリケーションは、汚染追跡、資産追跡、紛失したデバイスの発見、産業上の予知保全などのための使用を含み得る。さらに、本開示の態様は、SIMまたはLPWANモデムを使用する接続性に依存しない可能性があり、これにより、デバイスをより小さく、より効率的にすることが可能になる。
【0015】
例えば、デバイスおよび資産の位置追跡のシナリオでは、殆どの低コストの追跡デバイスメーカーは、デバイスを特定するためにアプリユーザに依存しており、グローバルなカバレッジを提供するのに十分なアプリ密度を有していない。セルラーモジュールおよびGPSモジュールを追加することは、高価であり、電力を必要とする。本開示の態様は、エンドポイントデバイスが、グローバルに相互運用するセルラーモジュールまたはGPSモジュールを含むことを必要とせず、コストを低減するソリューションを提供し得る。
【0016】
低電力センサ接続の例では、いくつかのセンサのコストが非常に低いため、セルラーまたはGPS接続を追加することは、センサのコストよりも桁違いに高くなる可能性がある。本開示の態様は、接続サービスを劇的に低いコストで提供し得る。
【0017】
いくつかの態様は、ファームウェアの更新、デバイスの日付および時刻の更新、ウェアラブルデバイスネットワークの生成、データIP接続、人口密度の測定(所与の場所のBluetooth(登録商標)デバイスの数の検出などによる)、保険会社のための特定のデバイスの存在の確認、市場分析会社、ヘッジファンド、プライベートエクイティ企業などのための特定のデバイスの販売動向の検出などにも使用され得る。
【0018】
さらに、位置更新および環境/健康データなどの遅延耐性のあるユースケースも、本開示から恩恵を受け得る。例えば、多くのユースケースでは、即時のクラウドまたはインターネット接続は必要ない。このコンテキストにおいて、本開示は、スマートフォンのBluetooth接続、およびそれらのWi-Fi(登録商標)オフロード機能を活用して、LPWANと比較して大幅に強化された帯域幅を提供する。
【0019】
図1は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ100を示す。ネットワークアーキテクチャ100は、1つまたは複数のエンドポイントデバイス105、1つまたは複数の中間デバイス115、1つまたは複数の中継サーバ125、および1つまたは複数のエンドポイントマネージャサーバ135を含み得る。いくつかの実施形態では、ネットワークアーキテクチャ100は、ネットワーククライアントとして機能することができるクラウドソースの中間デバイス115および1つまたは複数の中継サーバ125によって、1つまたは複数のエンドポイントデバイス105と様々なエンドポイントマネージャサーバ135との間でデータを移動でき得る。
【0020】
エンドポイントデバイス105は、1つまたは複数のIoTデバイスを含み得る。エンドポイントデバイス105は、電源、データ収集デバイス(例えば、センサ)、およびネットワークデバイスを含み得る。電源は、バッテリまたは電力グリッドへの接続を含み得る。追加的または代替的に、電源は、ソーラーパネル、太陽電池、太陽光発電、電磁気などの環境発電装置を含み得る。少なくともいくつかの実施形態では、エンドポイントデバイス105は、電源を含まなくてもよく、代わりに環境後方散乱(ambientbackscatter)技術を使用してもよい。エンドポイントデバイス105は、1つまたは複数のセンサも含み得る。1つまたは複数のセンサは、任意のタイプの状態を検出し、検出された状態に基づいて電子データを生成するように構成され得る。例えば、エンドポイントデバイス105は、心拍数モニタによって収集された心拍数状態を使用して心拍数データを生成するように構成された心拍数モニタを備えたスマートウォッチを含み得る。少なくとも1つの実施形態では、エンドポイントデバイス105は、インターネットを介して通信する能力を持たず、近くの中間デバイス115などの近くのデバイスと通信可能なハードウェアおよび/またはソフトウェアのみを含む。
【0021】
エンドポイントデバイス105のネットワークデバイスは、ネットワークを介して別のデバイスと通信することができる任意のハードウェア、ソフトウェア、またはそれらの組み合わせを含み得る。少なくとも1つの実施形態では、ネットワークデバイスは、Bluetoothまたは他の任意の短距離ネットワークなどの短距離ネットワークを介して通信するように構成された任意のネットワークコントローラを含み得る。少なくとも1つの実施形態では、ネットワークデバイスは、低電力ネットワークを介して通信するように構成された任意のネットワークコントローラを含み得る。例示的なエンドポイントデバイス105は、産業用デバイス、住宅用機器、商業用機器、在庫トラッカー、スマートウォッチ、ウェアラブル装置、心拍数モニタ、ロジスティクストラッカー、環境センサ、キャッシュレジスター、クレジットカードリーダ、販売時点情報管理(point-of-sale:POS)、自転車、電動スクーター、電動スケートボード、自動車、電気自動車、衛星、または(モバイル、および無線インタフェースを含むモバイルではない)任意のデバイスを含むが、これらに限定されない。ネットワークアーキテクチャ100は、任意の数のエンドポイントデバイス105を含むことができ、ネットワークアーキテクチャ100内のエンドポイントデバイス105は、任意のタイプのネットワーク対応デバイスを含む、任意のタイプのエンドポイントデバイス105であり得る。エンドポイントデバイス105は、POSまたは汚染センサなどのように、ネットワークアーキテクチャ100内で固定されていてもよく、または比較的静止していてもよい。追加的または代替的に、エンドポイントデバイス105は、スマートウォッチ、または任意の車または車両などのように可動性であってもよい。
【0022】
1つまたは複数のエンドポイントデバイス105は、少なくとも1つの無線ネットワーク110を介して他のデバイスと通信するように構成され得る。例えば、第1のエンドポイントデバイス105aは、無線ネットワーク110aを介して第1の中間デバイス115aと電子通信し得る。1つまたは複数の中間デバイス115は、無線ネットワーク110を介してエンドポイントデバイス105と通信し、第2のネットワーク120を介して中継サーバ125と通信することができる任意のタイプのデバイスを含み得る。少なくとも1つの実施形態では、中間デバイス115は、無線ネットワーク110を介して通信する第1のネットワークコントローラ、および第2のネットワーク120を介して通信する第2のネットワークコントローラの2つのネットワークコントローラを含み得る。例示的な中間デバイス115は、パーソナルコンピュータ(PC)、ラップトップ、スマートフォン、ネットブック、電子リーダ、携帯情報端末(PDA)、セルラー電話、携帯電話、タブレット、車両、ドローン、車、トラック、ウェアラブルデバイス、ルータ、テレビ、またはセットトップボックスなどを含む。
【0023】
図示されるように、第1のエンドポイントデバイス105aは、無線ネットワーク110a(例えば、短距離ネットワーク)を介して第1の中間デバイス115aと電子通信し得る。さらに、第2のエンドポイントデバイス105bは、別の無線ネットワーク110b(例えば、低電力ネットワーク)を介して第2の中間デバイス115bと電子通信し得る。第3のエンドポイントデバイス105cは、別の無線ネットワーク110cを介して第3の中間デバイス115cと電子通信し得る。第4のエンドポイントデバイス105dは、別の無線ネットワーク110dを介して第4の中間デバイス115dと電子通信し得る。
【0024】
いくつかの実施形態では、無線ネットワーク110は、比較的低い電力量を使用する任意のネットワークであり得る。例示的な無線ネットワーク110は、任意のBluetoothネットワークタイプ(例えば、Bluetooth低エネルギー(BluetoothLowEnergy:BLE)、Bluetooth 4.0、Bluetooth5.0、Bluetooth長距離)、NB-IoT、LTEダイレクト、LTE-M、LTEM2M、5G、Wi-Fi、Wi-FiAware、または任意の低電力ネットワークを含み得る。1つまたは複数のエンドポイントデバイス105は、異なるタイプの無線ネットワーク110を使用して様々な中間デバイス115に接続し得る。例えば、第1のエンドポイントデバイス105aは、第1の短距離無線ネットワーク110aを介して第1の中間デバイス115aと電子通信し、第2のエンドポイントデバイス105bは、第2の短距離無線ネットワーク110bを介して第2の中間デバイス115bと電子通信し得る。
【0025】
エンドポイントデバイス105、中間デバイス115、またはその両方は、固定、比較的静止または可動であってよい。エンドポイントデバイス105および中間デバイス115が相互に無線範囲に入ると、エンドポイントデバイス105および中間デバイス115は、ハンドシェイクおよび/または認証を実施して、エンドポイントデバイス105と中間デバイス115との間のデータ交換を開始し得る。
【0026】
いくつかの実施形態では、エンドポイントデバイス105は、無線ネットワーク110を介してデータを含むビーコンを周期的に送信し得る。エンドポイントデバイス105は、エンドポイントデバイス105上で実行され得る様々なサービスを含み得る。例えば、スマートウォッチは、時計サービス、心拍数モニタサービス、動き検出サービス、音楽サービスなどを含み得る。ビーコンは、これらのサービスの各々に対して生成されてもよく、または、単一のビーコンが、サービスのいくつかまたはすべてに対するデータを含むように生成されてもよい。
【0027】
中間デバイス115は、エンドポイントデバイスからのそのようなビーコンをリッスンし得る。ビーコンを受信することに応答して、中間デバイス115は、第2のネットワーク120を介して中継サーバ125にビーコンを送信し得る。少なくとも1つの実施形態では、無線ネットワーク110と第2のネットワーク120とは、異なるタイプのネットワークである。例えば、無線ネットワーク110は、Bluetoothネットワークであってよく、第2のネットワーク120は、セルラーネットワーク、Wi-Fi、またはインターネットであってよい。
【0028】
第2のネットワーク120は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、有線ネットワーク(例えば、イーサネット(登録商標)ネットワーク)、無線ネットワーク(例えば、802.xxネットワークまたはWi-Fiネットワーク)、セルラーネットワーク(例えば、ロングタームエボリューション(LTE)またはLTE-Advancedネットワーク、1G、2G、3G、4G、5G)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはそれらの組み合わせを含み得る。
【0029】
中継サーバ125は、ビーコンまたはビーコンに関連する情報を、第3のネットワーク130を介してエンドポイントマネージャサーバ135に送信し得る。第3のネットワーク130は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、有線ネットワーク(例えば、イーサネットネットワーク)、無線ネットワーク(例えば、802.xxネットワークまたはWi-Fiネットワーク)、セルラーネットワーク(例えば、ロングタームエボリューション(LTE)またはLTE-Advancedネットワーク、1G、2G、3G、4G、5G)、ルータ、ハブ、スイッチ、サーバコンピュータ、および/またはそれらの組み合わせを含み得る。少なくとも1つの実施形態では、第2のネットワーク120および第3のネットワーク130は、同じネットワークであるか、または少なくともいくつかの重複するコンポーネントを含む。
【0030】
1つまたは複数の中継サーバ125は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、スマートフォン、車、ドローン、ロボット、オペレーティングシステムなどを有する任意のモビリティデバイス、データストア(例えば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、および/またはハードウェアコンポーネントのような1つまたは複数のコンピューティングデバイスを含み得る。1つまたは複数の中継サーバ125は、中間デバイス115からビーコンを受信するように構成され得る。1つまたは複数の中継サーバ125は、ビーコン、またはエンドポイントマネージャサーバ135に関係する、または関連するデータを送信し得る。1つまたは複数の中継サーバ125は、エンドポイントマネージャサーバ135からメッセージを受信してもよく、いくつかの実施形態では、メッセージをエンドポイントマネージャサーバ135から中間デバイス115に送信してもよい。少なくともいくつかの実施形態では、中間デバイス115は、エンドポイントマネージャサーバ135からメッセージを受信することに応答して1つまたは複数の動作を実施し得る。動作は、中間デバイス115にローカルな動作、および/またはエンドポイントマネージャサーバ135からエンドポイントデバイス105へのメッセージの送信を含む。
【0031】
エンドポイントマネージャサーバ135は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、スマートフォン、車、ドローン、ロボット、オペレーティングシステムなどを有する任意のモビリティデバイス、データストア(例えば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、および/またはハードウェアコンポーネントのような1つまたは複数のコンピューティングデバイスを含み得る。エンドポイントマネージャサーバ135は、1つまたは複数のエンドポイントデバイス105に関連し得る。例えば、特定の企業、個人、または製造業者は、エンドポイントデバイス105を販売し、エンドポイントマネージャサーバ135を使用して、エンドポイントデバイス105と通信し、および/またはエンドポイントデバイス105を制御し得る。
【0032】
エンドポイントマネージャサーバ135は、特定のエンドポイントデバイス105、または一組のエンドポイントデバイス105に関連するメッセージを送信し得る。例えば、エンドポイントマネージャサーバ135は、特定のエンドポイントデバイス105または一組のエンドポイントデバイス105に更新(例えば、ファームウェア、ソフトウェア)を送信し得る。エンドポイントマネージャサーバ135は、特定のエンドポイントデバイス105によって生成されたビーコンからのリクエストへの応答など、他の通信をエンドポイントデバイス105に送信してもよい。
【0033】
各中継サーバ125は、メッセージマネージャ140を含み得る。メッセージマネージャ140は、プロセッサ、マイクロプロセッサ(例えば、1つまたは複数の動作を実施、または実施を制御するための)、FPGA、またはASICを含むハードウェアを使用して実装され得る。いくつかの他の例では、メッセージマネージャ140は、ハードウェアおよびソフトウェアの組み合わせを使用して実装され得る。ソフトウェアでの実装は、コンピューティングシステム(例えば、中継サーバ135)のハードウェアに含まれ得るような1つまたは複数のトランジスタまたはトランジスタ素子の迅速なアクティブ化および非アクティブ化を含み得る。さらに、ソフトウェアで定義された命令は、トランジスタ素子内の情報に対して動作し得る。ソフトウェア命令の実装は、少なくとも一時的に電子経路を再構成し、コンピューティングハードウェアを変換し得る。
【0034】
各中継サーバ125は、データ記憶装置145を含み得る。データ記憶装置145は、任意のメモリまたはデータ記憶装置を含み得る。いくつかの実施形態では、データ記憶装置145は、そこに格納されたコンピュータ実行可能命令またはデータ構造を担持する、または有するコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、プロセッサなどの汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体を含むことができる。例えば、データ記憶装置145は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、コンパクトディスク読み取り専用メモリ(CD-ROM)、またはその他の光学ディスクストレージ、磁気ディスクストレージまたはその他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、固体メモリデバイス)、またはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコードを担持または格納するために使用され、汎用または専用コンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形または非一時的コンピュータ可読記憶媒体であり得るコンピュータ可読記憶媒体を含むことができる。上記の組み合わせが、データ記憶装置145に含まれ得る。図示の実施形態では、データ記憶装置145は、中継サーバ125の一部である。いくつかの実施形態では、データ記憶装置145は、中継サーバ125とは別個であってもよく、ネットワークを介してデータ記憶装置145にアクセスしてもよい。少なくとも1つの実施形態では、データ記憶装置145は、複数のデータ記憶装置を含み得る。
【0035】
データ記憶装置145は、エンドポイントデバイス105、中間デバイス115、およびエンドポイントマネージャサーバ135に関するデータ、ならびにエンドポイントデバイス105、中間デバイス115、およびエンドポイントマネージャサーバ135の間の関係を含み得る。例えば、データ記憶装置145は、特定のエンドポイントマネージャサーバ135に関連するエンドポイントデバイスのテーブルまたはリストを含み得る。データ記憶装置145は、ビーコンの受信のタイムスタンプ、ビーコンの生成に関連するタイムスタンプ、ビーコンおよび/またはビーコンを生成または送信したエンドポイントデバイス105に関連する地理的位置のような、エンドポイントデバイスから受信されたビーコンに関するデータ、エンドポイントデバイスに関連するセンサデータ、エンドポイントマネージャサーバ135とエンドポイントデバイス105との間でデータをどのように送信するか、および/またはどこへ送信するかについてのルーティング情報、中間デバイスとエンドポイントデバイスとの間の接続強度、中間デバイス115へのエンドポイントデバイス105の近接度、中間デバイス115とエンドポイントデバイス105とを接続する無線ネットワーク110のタイプ、中間デバイス115とエンドポイントデバイス105との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスの種類などを含み得る。
【0036】
メッセージマネージャ140は、エンドポイントデバイス105、中間デバイス115、およびエンドポイントマネージャサーバ135の間の通信を処理することができる。一例では、メッセージマネージャ140は、第2のネットワーク120aを介して中間デバイス115aからビーコンを受信し得る。ビーコンは、エンドポイントデバイス105aによって無線ネットワーク110aを介して中間デバイスに送信された可能性がある。ビーコンは、エンドポイントデバイス105の識別子(例えば、MACアドレス、一意のID)、エンドポイントデバイス105aの地理的位置、およびそれがサポートするサービスのUUIDの広告などを含む、エンドポイントデバイス105に関する特性を含み得る。メッセージマネージャ140は、ビーコンに関する情報を識別するためにビーコンを分析することなどにより、ビーコンの特性を識別し得る。メッセージマネージャ140は、データ記憶装置145にアクセスして、ビーコンに関連するエンドポイントマネージャサーバ135をビーコンの特性に基づいて識別し得る。例えば、エンドポイントデバイスの識別子は、特定のエンドポイントマネージャサーバ135を運営する特定の製造業者に関連し得る。メッセージマネージャ140は、データ記憶装置145においてこの特定のエンドポイントマネージャサーバ135と、エンドポイントマネージャサーバ135に到達するためにビーコンを送信するアドレスおよび/またはパスとを識別し得る。少なくともいくつかの実施形態では、メッセージマネージャ140は、第3のネットワーク130を介してビーコンまたはビーコンメッセージをエンドポイントマネージャサーバ135に送信し得る。ビーコンメッセージは、ビーコンを含んでいてもよく、ビーコンを含まなくてもよく、ビーコンに関する情報を含んでいてもよい。
【0037】
少なくとも1つの実施形態では、ビーコンは、エンドポイントデバイス105に関連する複数のサービスからのデータを含み得る。追加的または代替的に、単一のエンドポイントデバイス105からの複数のビーコンが生成され、無線ネットワーク110を介してブロードキャストされ得る。これらの複数のビーコンの各々は、例えば、エンドポイントデバイス105に関連する異なるサービスに関連し得る。メッセージマネージャ140は、サービスを識別し、サービスに対する情報に基づいて、ビーコンメッセージを受信すべき適切なエンドポイントマネージャサーバ135を識別し得る。
【0038】
エンドポイントマネージャサーバ135は、中継サーバ125からメッセージを受信し得る。エンドポイントマネージャサーバ135は、メッセージを保存し、メッセージを処理し、メッセージに基づいてレポートを生成し、メッセージに基づいて通知または応答を生成し、または他のアクションを実行することができる。例えば、エンドポイントマネージャサーバ135は、ビーコンメッセージに関する応答メッセージを生成し得る。応答メッセージは、中継サーバ125、中間デバイス115、ビーコンを生成したエンドポイントデバイス105、またはビーコンを生成しなかった別のエンドポイントデバイス105のうちの1つまたは複数を対象とするメッセージを含み得る。エンドポイントマネージャサーバ135は、ビーコンメッセージをエンドポイントマネージャサーバ135に送信した同じ中継サーバ125(例えば、中継サーバ125a)、またはビーコンメッセージをエンドポイントマネージャサーバ135に送信しなかった異なる中継サーバ125(例えば、中継サーバ125b)に応答メッセージを送信し得る。
【0039】
中継サーバ125は、ビーコンメッセージに関する応答メッセージをエンドポイントマネージャサーバ135から受信し得る。中継サーバ125は、中継サーバ125で動作を実行すること、別のデバイス(例えば、ユーザデバイス)にデータを送信すること、エンドポイントデバイス105にデータを送信することなどにより、応答メッセージを処理し得る。
【0040】
ネットワークアーキテクチャ100は、インターネットを介した従来の通信とは異なる方法で、ネットワークベースの通信が可能な任意のデバイス間でデータを交換するために使用され得る。
【0041】
一例では、ネットワークアーキテクチャ100は、既存のスマートフォンインフラストラクチャを活用して、遅延耐性接続を生成し得る。ネットワークアーキテクチャ100は、初期遅延耐性方式(initiallydelaytolerant fashion)でデータをクラウドに移動することができ、これは、ファームウェア更新、ステータス更新、ログファイル格納、およびマイクロペイメントなどの多くのタイプのloT通信に有用であり得る。中間デバイスは、スマートフォンで実行されるソフトウェアを含み、産業用デバイス、スマートウォッチ、ウェアラブル装置、ロジスティクストラッカー、環境センサのような他のデバイス(例えば、エンドポイントデバイス105)を周期的にスキャンし得る。これらのエンドポイントデバイス105は、スマートフォン上で実行されているソフトウェアクライアントと接続して、クラウドへ、およびクラウド内でデータを移動するための大規模なエリアワイドネットワークを生成し得る。
【0042】
さらに、人口の95%が何らかのセルラーサービスでカバーされていると推定されている。ネットワークアーキテクチャ100は、世界中のどこにでも展開でき、接続性の低い地域で接続性を高めることができる。さらに、ネットワークアーキテクチャ100は、例えば、Bluetooth対応スマートフォンで実行されるソフトウェアを使用することにより、従来のセルラーネットワークの範囲を超えるカバレッジを提供することができる。ユーザは、セルラー接続が限られているか、セルラー接続がないエリアに移動し得るが、無線ネットワーク110を介してエンドポイントデバイス105からビーコンを受信することが可能である。ネットワークアーキテクチャ100を使用して、例えば、通信会社オペレータは、ソフトウェアアップデートをユーザデバイスに簡単に展開して、本明細書で説明するようにエンドポイントデバイス105との通信を開始し、世界の最も遠い地域にさえ、より高速なレイテンシIoT接続性を提供できる。
【0043】
特定の例では、ネットワークアーキテクチャ100は、資産の追跡と管理に使用され得る。例えば、ネットワークアーキテクチャ100を使用して、無線チップセットを備えたスケートボード、取り付けられた追跡ビーコン、ラップトップなどのエンドポイントデバイス105として構成された紛失したアイテムを見つけることができる。例えば、ユーザは、モバイルアプリケーションまたはウェブサイトを使用して、アイテムを紛失したことをエンドポイントマネージャサーバ135または中継サーバ125に示すなどして、アイテムを紛失したことを示し得る。第1の実施形態では、エンドポイントマネージャサーバ135は、紛失したアイテムを監視するためにメッセージを1つまたは複数の中継サーバ125に送信し得る。中継サーバ125は、紛失したアイテムの識別子を紛失アイテム監視リストに追加し得る。中間デバイス115が異なる地理的位置に移動すると、それらは異なるエンドポイントデバイス103からのビーコンを受信できる。次に、中間デバイス115は、ビーコンを中継サーバ125に転送する。中継サーバ125サーバがビーコンを受信すると、中継サーバ125は、ビーコンを分析して、監視リストにあるエンドポイントデバイス105でビーコンが発信されたかどうかを判定することができる。中継サーバ125が、監視リストにあるエンドポイントデバイス105で発信されたビーコンを識別すると、中継サーバ125は、紛失したアイテムが見つかったことをエンドポイントマネージャサーバ135に通知することができる。少なくともいくつかの実施形態では、中継サーバ125は、紛失したアイテムが見つかったという通知をプッシュ通知またはプル通知として(すなわち、エンドポイントマネージャサーバ135からのリクエストに応答して)送信し得る。少なくともいくつかの実施形態では、中継サーバ125は、アイテムを紛失したことを示すためにユーザにより使用されたユーザデバイスに、紛失したアイテムが見つかったという通知を送信し得る。
【0044】
本開示の範囲から逸脱することなく、ネットワークアーキテクチャ100に修正、追加、または省略が行われ得る。本開示は、より一般的には、1つまたは複数のエンドポイントデバイス105、1つまたは複数の無線ネットワーク、1つまたは複数の中間デバイス115、1つまたは複数の第2のネットワーク120、1つまたは複数の中継サーバ125、1つまたは複数の第3のネットワーク130、および1つまたは複数のエンドポイントマネージャサーバ135、またはそれらの任意の組み合わせを含むネットワークアーキテクチャ100に適用される。
【0045】
さらに、本明細書に記載の実施形態における様々な構成要素の分離は、すべての実施形態で分離が生じることを示すものではない。加えて、本開示の利点により、説明されたコンポーネントが、単一のコンポーネントに共に統合されるか、または複数のコンポーネントに分離され得ることが理解されるだろう。
【0046】
図2は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ200を示す。ネットワークアーキテクチャ200は、1つまたは複数のエンドポイントデバイス105、1つまたは複数の中間デバイス115、1つまたは複数の中継サーバ125、および1つまたは複数のエンドポイントマネージャサーバ135のような、図1に示され説明されたコンポーネントを含み得る。特に、図2は、中間デバイス115がネットワークアーキテクチャ200内でどのように移動し得るか、およびその移動によりネットワークアーキテクチャ200内でデータがどのように通信されるかを示している。
【0047】
図1と比較すると、図2は、中間デバイス115bが異なる地理的位置に移動したことを示している。この移動に応答して、中間デバイス115bは、もはや中継サーバ125aと通信しておらず、代わりに、中継サーバ125bと通信している。中間デバイス115bは、もはやエンドポイントデバイス105bと通信することができるほどエンドポイントデバイス105bと近くはない。図示のように、エンドポイントデバイス105bの範囲内にある中間デバイス115は存在しない。エンドポイントデバイス105bは、しかしながら、ビーコンを受信する範囲内にデバイスが存在しない場合でも、ビーコンを送信し続け得る。
【0048】
また、図示されているように、中間デバイス115bは、現在エンドポイントデバイス105cの範囲内にある。中間デバイス115bは、エンドポイントデバイス105cからビーコンを受信すること、およびエンドポイントデバイス105cに応答メッセージを送信することなどにより、無線ネットワーク110eを介してエンドポイントデバイス105cと通信することができる。少なくともいくつかの実施形態では、中間デバイス115cは、エンドポイントデバイス105cからビーコンを以前に受信していてもよく、中継サーバ125bにビーコンを転送していてもよい。中継サーバ125bは、ビーコンメッセージをエンドポイントマネージャサーバ135に送信し、エンドポイントマネージャサーバ135から応答メッセージを受信した可能性がある。中間デバイス115bは、現在、中間デバイス115cと同様にエンドポイントデバイス105cの範囲内にあるので、中継サーバ125bは、中間デバイス115bまたは中間デバイス115cのうちの1つを選択して、エンドポイントデバイス105cへの応答メッセージの送信を処理し得る。中継サーバ125bは、中間デバイス115とターゲットエンドポイントデバイス105との間の接続強度、中間デバイス115に対するエンドポイントデバイス105の近接度、中間デバイス115とエンドポイントデバイス105とを接続する無線ネットワーク110のタイプ、中間デバイス115とエンドポイントデバイス105との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスのタイプなど、応答メッセージを送信するために使用する中間デバイス115を選択するための任意の選択基準を使用し得る。
【0049】
少なくともいくつかの実施形態では、中間デバイス115bおよび中間デバイス115cの両方が、エンドポイントデバイス105cの範囲内にあり、両方が、エンドポイントデバイス105cから同じビーコンを受信する。さらに、中間デバイス115bおよび中間デバイス115cの両方は、エンドポイントデバイス105cのビーコンを中継サーバ125bに転送してもよい。冗長性、ネットワークトラフィック、バッテリ寿命などを減らすために、中継サーバ125bは、中間デバイス115bおよび中間デバイス115cのうちの1つを選択してエンドポイントデバイス105cとの通信を処理し、選択されていない中間デバイスに、エンドポイントデバイス105cからのビーコンを無視し、エンドポイントデバイス105cからのビーコンを破棄し、エンドポイントデバイス105cからのビーコンの送信を停止し、またはネットワーク輻輳の低減、データ記憶装置のスペースの解放、プロセッサ能力の解放などを可能とする任意の他の動作を行うよう、指示することができる。より多くの中間デバイス115がデータ転送に利用可能になると、特定の中間デバイスのデータ送信頻度が低下し得る。長期的には、密度の高い中間デバイスおよび機械学習ベースのプロトコルにより、本明細書で説明される技術は、中間デバイスのバッテリ寿命を大幅に改善し、ネットワークの輻輳を軽減し、グローバルな接続性を改善し得る。中継サーバ125bは、中間デバイス115とターゲットエンドポイントデバイス105との間の接続強度、中間デバイス115に対するエンドポイントデバイス105の近接度、中間デバイス115とエンドポイントデバイス105とを接続する無線ネットワーク110のタイプ、中間デバイス115とエンドポイントデバイス105との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスのタイプなど、エンドポイントデバイス105と通信するために使用する中間デバイス115、およびエンドポイントデバイス105に関する通信を停止する中間デバイスを選択するための任意の選択基準を使用し得る。
【0050】
図3は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ300を示す。ネットワークアーキテクチャ300は、1つまたは複数のエンドポイントデバイス105、1つまたは複数の中間デバイス115、1つまたは複数の中継サーバ125、および1つまたは複数のエンドポイントマネージャサーバ135のような、図1に示され説明されたコンポーネントを含み得る。特に、図3は、中間デバイス115aが第2のネットワーク102に接続されていなくても(例えば、アクティブなインターネット接続を有することなく)、中間デバイス115aがエンドポイントデバイス105aと、どのように通信するかを示している。例えば、中間デバイス115aは、セルラーカバレッジが殆どまたはまったくないエリアに移動しても、エンドポイントデバイス105からビーコンを受信できる可能性がある。さらに、中間デバイス115aは、エンドポイントデバイス105aに宛てられたメッセージを以前に受信している場合がある。中間デバイス115aは、中間デバイス115aがエンドポイントデバイス105aの範囲内に入るまでこのメッセージを格納している可能性があり、中間デバイス115aがエンドポイントデバイス105aの範囲内に入ると、中間デバイス115aは、エンドポイントデバイス105aにそのメッセージを送信することができる。少なくともいくつかの実施形態では、中間デバイス115aは、中継サーバ125によって選択され、中間デバイス115aの以前のアクティビティに基づいてエンドポイントデバイス105aに対するこの特定のメッセージを処理した可能性がある。例えば、中間デバイス115aは、メッセージをエンドポイントデバイス105aに以前に運んでいた可能性がある。追加的または代替的に、中間デバイス115aは、エンドポイントデバイス105aと通信した唯一の中間デバイスであってもよく、または中間デバイス115aは、エンドポイントデバイス105aと通信した直近の中間デバイスであってもよい。
【0051】
図4は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ400を示す。ネットワークアーキテクチャ400は、1つまたは複数のエンドポイントデバイス105、1つまたは複数の中間デバイス115、1つまたは複数の中継サーバ125、および1つまたは複数のエンドポイントマネージャサーバ135のような、図1に示され説明されたコンポーネントを含み得る。特に、図4は、(図3に示すように)第2のネットワーク120と以前に接続されていなかった中間デバイス115aが、どのように第2のネットワーク120の範囲内で移動し、エンドポイントデバイス105aから受信された通信データを移動できるかを示している。図4に示されるように、中間デバイス115aは、第2のネットワーク120bの範囲内にある場所に移動している。第2のネットワーク120bを介して中継サーバ125bに接続されると、中間デバイス115aは、エンドポイントデバイス105aから受信されたビーコンを送信し得る。中間デバイス115aは、中間デバイス115aが後でエンドポイントデバイス105aに送信し得るエンドポイントデバイス105aに宛てられた追加のメッセージを中継サーバ125bから受信することも可能である。
【0052】
図5図7は、分散ネットワークに関連する例示的な方法のフロー図を示す。これらの方法は、ハードウェア(回路、専用ロジックなど)、ソフトウェア(汎用コンピュータシステムまたは専用機械で実行されるような)、または両方の組み合わせを含み得る処理ロジックによって実行されることが可能であり、処理ロジックは、図1の中間デバイス115および/または中継サーバ125、または別のコンピュータシステムまたはデバイスに含まれ得る。しかしながら、別のシステムまたはシステムの組み合わせを使用して方法を実行してもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として図示および説明されている。しかしながら、本開示による動作は、様々な順序で、および/または同時に、および本明細書で提示および説明されていない他の動作と共に起こり得る。さらに、開示された主題による方法を実施するために、説明されたすべての動作が使用され得るわけではない。さらに、当業者は、方法が、状態図またはイベントを介して一連の相互に関係する状態として代替的に表され得ることを理解および認識するだろう。加えて、本明細書で開示される方法は、非一時的なコンピュータ可読媒体などの製造品に格納され、そのような方法をコンピューティングデバイスに移送および転送することを容易にすることができる。本明細書で使用される製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することを意図している。個別のブロックとして示されているが、さまざまなブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、または削除され得る。
【0053】
図5は、デバイス間の通信を処理する例示的な方法500のフロー図を示している。例えば、例示的な方法500は、中継サーバ(例えば、図1図4の中継サーバ125)によって実行され、エンドポイントデバイス(例えば、図1図4のエンドポイントデバイス105)とエンドポイントマネージャサーバ135(例えば、図1図4のエンドポイントマネージャサーバ135)との間の通信を処理することができる。
【0054】
方法500は、ブロック505で開始することができ、ここで、処理ロジックは、第1のネットワークを介して第1の中間デバイスからビーコンを受信することができる。第1の中間デバイスは、例えば図1の中間デバイス115aを含み得る。ビーコンは、第2のネットワーク(例えば、図1の無線ネットワーク110a)を介して、エンドポイントデバイス(例えば、図1のエンドポイントデバイス105a)から第1の中間デバイスによって受信されていてもよい。少なくともいくつかの実施形態では、第1のネットワークは、第2のネットワークと比較して、より長距離のネットワーク、またはより高い電力のネットワークである。
【0055】
ブロック510において、処理ロジックは、ビーコンの特性を識別することができる。例えば、ビーコンは、エンドポイントデバイスの地理的位置およびエンドポイントデバイスの識別子を示すデータを含み得る。ビーコンの特性を識別することは、ビーコンをスキャンして、エンドポイントデバイスの地理的位置およびエンドポイントデバイスの識別子を示すデータを識別することを含み得る。
【0056】
ブロック515において、処理ロジックは、ビーコンに関連するサーバを識別することができる。サーバは、図1のエンドポイントマネージャサーバ135を含み得る。少なくともいくつかの実施形態では、処理ロジックは、ビーコンの特性を使用してサーバを識別してもよい。例えば、エンドポイントデバイスの識別子は、特定のサーバに関連し得る。処理ロジックは、エンドポイントデバイスの識別子を、サーバおよび/またはサーバのアドレスを検索するためのキーとして使用し得る。
【0057】
ブロック520において、処理ロジックは、第3のネットワークを介してビーコンメッセージをサーバに送信することができる。第3のネットワークは、図1のネットワーク130を含み得る。少なくともいくつかの実施形態では、ビーコンメッセージは、ビーコン、またはビーコンによって収集されたデータのような、ビーコンに関する情報のうちの少なくとも1つを含むことができる。少なくともいくつかの実施形態では、第3のネットワークを介してサーバにビーコンメッセージを送信することは、サーバにエンドポイントデバイスの識別子を送信することを含み得る。処理ロジックは、ビーコンメッセージをプッシュまたはプルメッセージとしてサーバに送信し得る。
【0058】
ブロック525において、処理ロジックは、ビーコンメッセージに関する応答メッセージをサーバから受信することができる。少なくともいくつかの実施形態では、応答メッセージは、第2の中間デバイス(例えば、図1の中間デバイス115b)またはユーザデバイスに宛てられてもよい。少なくともいくつかの実施形態では、応答メッセージは、エンドポイントデバイス-紛失したデバイス-が発見されたという指示(indication)を含み得る。応答メッセージは、電子地図上にエンドポイントデバイスの位置を表示するために、第2の中間デバイスまたはユーザデバイスによって実行可能な少なくとも1つの命令を含んでもよい。
【0059】
ブロック530において、処理ロジックは、応答メッセージを処理することができる。少なくともいくつかの実施形態では、応答メッセージを処理することは、応答メッセージを第2の中間デバイスに送信することを含む。少なくともいくつかの実施形態では、応答メッセージは、エンドポイントデバイスによって実行可能な命令を含むことができ、応答メッセージを処理することは、応答メッセージをエンドポイントデバイスに送信することを含み得る。応答メッセージを処理することは、応答メッセージを格納することも含み得る。
【0060】
ブロック535において、処理ロジックは、応答メッセージをエンドポイントデバイスに送信することができる。少なくともいくつかの実施形態では、応答メッセージをエンドポイントデバイスに送信することは、図1の中間デバイス115のうちの任意のものなど、エンドポイントデバイスに現在通信可能に接続されている中間デバイスを識別することを含み得る。応答メッセージをエンドポイントデバイスに送信することは、応答メッセージをエンドポイントデバイスに転送する命令とともに、応答メッセージを、識別された中間デバイスに送信することも含み得る。
【0061】
図6は、エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法600のフロー図を示している。例えば、例示的な方法600は、中間デバイス(例えば、図1図4の中間デバイス115)によって実行され、エンドポイントデバイス(例えば、図1図4のエンドポイントデバイス105)とエンドポイントマネージャサーバ135(例えば、図1図4のエンドポイントマネージャサーバ135)との間の通信を処理することができる。少なくともいくつかの実施形態では、処理ロジックは、複数のデバイスにインストールされたソフトウェアを含み得る。
【0062】
方法600は、ブロック605で開始することができ、ここで、処理ロジックは、ビーコンをリッスンすることができる。少なくともいくつかの実施形態では、処理ロジックは、第1のネットワーク(例えば、図1の無線ネットワーク110)を介してビーコンを周期的にスキャンすることができる。処理ロジックは、1つまたは複数のエンドポイントデバイスのビーコンをサブスクライブすることもできる。
【0063】
ブロック610において、処理ロジックは、第1の地理的位置から第2の地理的位置への第1の中間デバイスの動きを検出することができる。例えば、第1の中間デバイスは、第1の中間デバイスの動きを判定するために、ジャイロスコープ、加速度計、GPS、ネットワーク三角測量器などの動きセンサを含み得る。
【0064】
ブロック615において、処理ロジックは、第1の中間デバイスが第2の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信することができる。例えば、第1の中間デバイスは、新しい地理的位置に入ると、エンドポイントデバイスからの任意のビーコンをスキャンし得る。第1の中間デバイスが比較的静止している限り、第1の中間デバイスは、ビーコンをさらにスキャンしなくてもよい。第1の中間デバイスが移動すると、第1の中間デバイスは、ビーコンをスキャンし得る。少なくともいくつかの実施形態では、第1の中間デバイスは、第1のネットワークを介してエンドポイントデバイスからビーコンを受信するように構成されている。
【0065】
ブロック620において、処理ロジックは、ビーコンメッセージを送信するために中継サーバ(例えば、図1の中継サーバ125)を識別することができる。ビーコンメッセージは、本明細書で説明されるように、ビーコン、またはビーコンに関する情報のうちの少なくとも1つを含み得る。少なくともいくつかの実施形態では、ビーコンメッセージを送信するために中継サーバを識別することは、第1の中間デバイスの地理的位置を判定すること、一組の中継サーバからその中継サーバを識別することを含み得る。例えば、処理ロジックは、第1の中間デバイスの地理的位置に最も近い中継サーバである中継サーバを選択し得る。
【0066】
ブロック625において、処理ロジックは、エンドポイントデバイスから中継サーバにビーコンメッセージを送信することができる。少なくともいくつかの実施形態では、ビーコンメッセージは、第1の中間デバイスが第2のネットワーク(例えば、図1の第2のネットワーク120)に接続されているという判定に応答して、エンドポイントデバイスから中継サーバに送信され得る。少なくともいくつかの実施形態では、ビーコンメッセージをエンドポイントデバイスから中継サーバに送信することは、ビーコンメッセージをエンドポイントデバイスから第2のネットワークを介して中継サーバに送信することを含み得る。
【0067】
ブロック630において、処理ロジックは、ビーコンメッセージに関する応答メッセージを中継サーバから受信することができる。応答メッセージは、応答メッセージの送信先のエンドポイントデバイスの識別情報を含み得る。少なくとも1つの実施形態では、ビーコンメッセージに関する応答メッセージを受信することは、図1の中間デバイス115bなどの第2の中間デバイスで応答メッセージを受信することを含み得る。第1の中間デバイスおよび第2の中間デバイスは両方とも、データを送信、搬送、および受信するために使用され得る相互接続されたデバイスの仮想ネットワークを形成する実行可能なソフトウェアアプリケーションのインスタンスを有し得る。
【0068】
ブロック635において、処理ロジックは、図1の無線ネットワーク110などを介して、エンドポイントデバイスに応答メッセージを送信することができる。少なくとも1つの実施形態では、応答メッセージをエンドポイントデバイスに送信することは、エンドポイントデバイスに応答メッセージを送信する命令を応答メッセージが含んでいると判定することを含み得る。応答メッセージがそのような命令を含んでいるかを判定するために、処理ロジックは、応答メッセージまたは応答メッセージに関連するメタデータを検査して、応答メッセージがエンドポイントデバイスに送信されるべきものであることを判定し得る。少なくとも1つの実施形態では、応答メッセージは、第1の中間デバイスまたは第2の中間デバイスを介してエンドポイントデバイスに送信され得る。
【0069】
図7は、エンドポイントデバイスと他のデバイスとの間の通信を処理する別の例示的な方法700のフロー図を示している。例えば、例示的な方法700は、中間デバイス(例えば、図1図4の中間デバイス115)によって実行され、エンドポイントデバイス(例えば、図1図4のエンドポイントデバイス105)とエンドポイントマネージャサーバ135(例えば、図1図4のエンドポイントマネージャサーバ135)との間の通信を処理することができる。少なくともいくつかの実施形態では、処理ロジックは、複数のデバイスにインストールされたソフトウェアを含み得る。
【0070】
方法700は、ブロック705で開始することができ、ここで、処理ロジックは、無線ネットワーク(例えば、図1の無線ネットワーク110)などを介して、エンドポイントデバイスからビーコンを受信することができる。ブロック710において、処理ロジックは、サーバ(例えば、図1のエンドポイントマネージャサーバ135)からの応答メッセージを要求するかどうかを決定することができる。
【0071】
サーバからの応答メッセージを要求する決定に応答して(ブロック710で「はい」)、処理ロジックは、ブロック715において、ビーコンメッセージを送信するために中継サーバを識別し得る。ブロック720において、処理ロジックは、ブロック715で識別されたサーバにビーコンメッセージを送信することができる。ブロック725において、処理ロジックは、サーバから応答メッセージを受信することができる。ブロック730において、処理ロジックは、応答メッセージをエンドポイントデバイスに送信することができる。
【0072】
サーバからの応答メッセージを要求する決定に応答して(ブロック710で「いいえ」)、処理ロジックは、ブロック735において、所定のイベントが発生するまで、さらなるビーコンをリッスンし得る。所定のイベントは、所定の期間の経過、時間閾値への到達、記憶容量への到達、バッファ限界への到達などを含み得る。ブロック740において、処理ロジックは、ブロック735において識別された1つまたは複数のビーコンに関連する1つまたは複数のビーコンメッセージを送信するために中継サーバを識別することができる。ブロック745において、処理ロジックは、1つまたは複数のビーコンメッセージを1つまたは複数の中継サーバに送信することができる。
【0073】
図8は、本明細書で説明する方法の任意の1つまたは複数を機械に実施させるための一組の命令が実行され得るコンピューティングデバイス800の例示的な形態における機械の概略図を示す。コンピューティングデバイス800は、携帯電話、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、または本明細書で説明された方法のうちの任意の1つまたは複数を機械に実施させるための一組の命令を実行することができる少なくとも1つのプロセッサなどを備えた任意のコンピューティングデバイスを含み得る。別の実施形態では、機械は、LAN、イントラネット、エクストラネット、またはインターネットにおいて他の機械に接続(例えば、ネットワーク化)され得る。機械は、クライアント-サーバネットワーク環境におけるサーバ機械の容量で動作し得る。機械は、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチ、ブリッジ、またはその機械により取られるべきアクションを指定する一組の命令(シーケンシャルまたはその他)を実行できる任意の機械を含み得る。さらに、単一の機械のみが示されているが、「機械」という用語は、本明細書で説明される方法のうちの任意の1つまたは複数を実行する一組(または複数組)の命令を個別にまたは共同で実行する機械の任意の集合も含み得る。
【0074】
例示的なコンピューティングデバイス800は、処理デバイス(例えば、プロセッサ)802、メインメモリ804(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM))、スタティックメモリ806(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM))、およびデータ記憶デバイス816を含み、これらは、バス808を介して相互に通信する。
【0075】
処理デバイス802は、マイクロプロセッサ、中央処理装置などの1つまたは複数の汎用処理デバイスを表す。より具体的には、処理デバイス802は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサを含み得る。処理デバイス802は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどの1つまたは複数の専用処理デバイスも含み得る。処理デバイス802は、本明細書で説明された動作およびステップを実行するための命令826を実行するように構成されている。
【0076】
コンピューティングデバイス800は、ネットワーク818と通信することが可能なネットワークインタフェースデバイス822をさらに含み得る。コンピューティングデバイス800は、ディスプレイデバイス810(例えば、液晶ディスプレイ(LCD)またはブラウン管(CRT))、英数字入力デバイス812(例えば、キーボード)、カーソル制御デバイス814(例えば、マウス)、および信号生成デバイス820(例えば、スピーカー)も含み得る。少なくとも1つの実施形態では、ディスプレイデバイス810、英数字入力デバイス812、およびカーソル制御デバイス814は、単一のコンポーネントまたはデバイス(例えば、LCDタッチスクリーン)に結合され得る。
【0077】
データ記憶デバイス816は、本明細書に記載の方法または機能のうちの任意の1つまたは複数を具体化する1組または複数組の命令826が格納されるコンピュータ可読記憶媒体824を含み得る。命令826は、コンピュータ可読媒体を構成するコンピューティングデバイス800、メインメモリ804、および処理デバイス802による実行中に、メインメモリ804内および/または処理デバイス802内に、完全にまたは少なくとも部分的に存在し得る。命令は、さらに、ネットワークインタフェースデバイス822を介してネットワーク818を通じて送信または受信され得る。
【0078】
コンピュータ可読記憶媒体826は、例示的な実施形態では、単一の媒体であるように示されているが、「コンピュータ可読記憶媒体」という用語は、1組または複数組の命令を格納する単一の媒体または複数の媒体(例えば、集中型または分散型データベースおよび/または関連するキャッシュおよびサーバ)を含み得る。「コンピュータ可読記憶媒体」という用語は、機械による実行のための一組の命令を格納、符号化、または搬送することができ、機械に本開示の方法のうちの任意の1つまたは複数を実行させる任意の媒体も含み得る。したがって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体、および磁気媒体を含むと解釈されるが、これらに限定されない。
【0079】
本明細書および特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本文)で使用される用語は、一般に「オープン」語(例えば、「含む(including)」という用語は「含むが、これに限定されない」と解釈され、「有する(having)」という用語は「少なくとも有する」と解釈され、「含む(includes)」という用語は「含むが、これに限定されない」などと解釈され得る)として意図されている。
【0080】
さらに、導入された請求項の記載の特定の数が意図されている場合、そのような意図は、請求項に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解を助けるために、添付の特許請求の範囲は、請求項の記載を導入するための導入句「少なくとも1つ」および「1つまたは複数」の使用を含み得る。しかしながら、そのような句の使用は、同じ請求項が、「1つまたは複数」または「少なくとも1つ」の導入句と、「a」または「an」などの不定冠詞とを含む場合でさえも、不定冠詞「a」または「an」による請求項の記載の導入が、そのような導入された請求項の記載を含む任意の特定のクレームを、そのような記載を1つだけ含む実施形態に限定することを意味すると解釈されない可能性がある(例えば、「a」および/または「an」は、「少なくとも1つ」または「1つまたは複数」を意味すると解釈され得る)。請求項の記載を導入するために使用される定冠詞の使用についても同じことが当てはまる。
【0081】
さらに、導入された請求項の記載の特定の数が明示的に記載されている場合でも、当業者は、そのような記載が少なくとも記載された数を意味すると解釈され得ることを認識するであろう(例えば、他の修飾語を伴わない「2つの記載」のそのままの記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、B、およびCなどのうちの少なくとも1つ」または「A、B、およびCなどのうちの1つまたは複数」に類似した規則が使用される場合、一般にこのような構造は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、またはA、B、およびCを共に、などを含むことが意図されている。例えば、「および/または」という用語の使用は、このような方法で解釈されることが意図されている。
【0082】
さらに、詳細な説明、特許請求の範囲、または図面のいずれにせよ、2つ以上の代替用語を表す選言的な単語または句は、用語のうちの1つ、用語のうちのいずれか、または両方の用語を含む可能性を企図すると理解され得る。例えば、「AまたはB」という句は、「A」または「B」または「AおよびB」の可能性を含むと理解され得る。
【0083】
本明細書で説明される実施形態は、そこに格納されたコンピュータ実行可能命令またはデータ構造を担持する、または有するコンピュータ可読媒体を使用して実装され得る。そのようなコンピュータ可読媒体は、汎用または特殊用途のコンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。例として、限定ではなく、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、コンパクトディスク読み取り専用メモリ(CD-ROM)、またはその他の光学ディスクストレージ、磁気ディスクストレージまたはその他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、固体メモリデバイス)、またはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコードを担持または格納するために使用され、汎用または専用コンピュータによってアクセスされ得る任意の他の記憶媒体を含む非一時的コンピュータ可読記憶媒体を含み得る。上記の組み合わせもコンピュータ可読媒体の範囲内に含まれ得る。
【0084】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイス(例えば、1つまたは複数のプロセッサ)に特定の機能または機能のグループを実行させる命令およびデータを含み得る。主題は構造的特徴および/または方法論的動作に特有の文言で説明されているが、添付の特許請求の範囲で定義される主題は、必ずしも上記の特定の特徴または動作に限定されないことが理解されるべきである。むしろ、上記の特定の特徴および動作は、請求項を実装する例示的な形態として開示されている。
【0085】
本明細書で使用する「モジュール」または「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ可読媒体、処理デバイスなど)で格納され、および/または実行できるモジュールまたはコンポーネントおよび/またはソフトウェアオブジェクトまたはソフトウェアルーチンの動作を実行するように構成された特定のハードウェア実装を指し得る。いくつかの実施形態では、本明細書で説明された異なるコンポーネント、モジュール、エンジン、およびサービスは、(例えば、別個のスレッドとして)コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実装され得る。本明細書で説明されたシステムおよび方法のいくつかは、一般にソフトウェアで実装される(汎用ハードウェアで格納および/または実行される)ものとして説明されているが、特定のハードウェア実装またはソフトウェアおよび特定のハードウェア実装の組み合わせも可能であり、企図されている。この説明では、「コンピューティングエンティティ」は、本明細書で先に定義された任意のコンピューティングシステム、またはコンピューティングシステム上で動作する任意のモジュールまたはモジュールの組み合わせであり得る。
【0086】
本明細書に記載されたすべての例および条件付き文言は、読者が本発明および技術をさらに発展させるために発明者が貢献した概念を理解するのを助けるための教育的目的を意図しており、そのような具体的に記載された例および条件に限定されるものではないと解釈されるべきである。本開示の実施形態を詳細に説明してきたが、本開示の技術思想および範囲から逸脱することなく、様々な変更、置換、および代替がなされ得ることが理解されるだろう。
図1
図2
図3
図4
図5
図6
図7
図8