(57)【要約】システムは、命令を実行して、第１のネットワークを介して第１の中間デバイスからビーコンを受信することを含む動作をシステムに実施させるように構成された処理ロジックを含むことができる。動作は、ビーコンの特性を識別することも含み得る。動作は、ビーコンの特性に基づいて、ビーコンに関連するサーバを識別することを含み得る。動作は、第３のネットワークを介してビーコンメッセージをサーバに送信することを含み得る。
2020523952.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
第１のネットワークを介して第１の中間デバイスからビーコンを受信することであって、前記ビーコンは、第２のネットワークを介してエンドポイントデバイスから前記第１の中間デバイスによって受信されたものである、前記受信すること、
前記ビーコンの特性を識別すること、
前記ビーコンの特性に基づいて、前記ビーコンに関連するサーバを識別すること、
第３のネットワークを介して前記サーバにビーコンメッセージを送信することであって、前記ビーコンメッセージは、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも１つを含む、前記送信すること、
前記サーバから、前記ビーコンメッセージに関する応答メッセージを受信すること、
前記応答メッセージを処理すること
を含む方法。
【請求項２】
前記ビーコンは、前記エンドポイントデバイスの地理的位置および前記エンドポイントデバイスの識別子を示すデータを含む、請求項１に記載の方法。
【請求項３】
前記ビーコンの特性を識別することは、前記ビーコンをスキャンして、前記エンドポイントデバイスの地理的位置および前記エンドポイントデバイスの識別子を示すデータを識別することを含む、請求項２に記載の方法。
【請求項４】
前記第３のネットワークを介して前記サーバに前記ビーコンメッセージを送信することは、前記サーバに前記エンドポイントデバイスの識別子を送信することを含む、請求項３に記載の方法。
【請求項５】
前記第１のネットワークは、前記第２のネットワークと比較してより長距離のネットワークである、請求項１に記載の方法。
【請求項６】
前記応答メッセージは、第２の中間デバイスに宛てられ、前記応答メッセージは、前記エンドポイントデバイスが見つかったという指示を含み、前記応答メッセージは、前記エンドポイントデバイスの位置を電子地図上に表示するための、前記第２の中間デバイスによって実行可能な少なくとも１つの命令を含み、前記応答メッセージを処理することは、前記応答メッセージを前記第２の中間デバイスに送信することを含む、請求項１に記載の方法。
【請求項７】
前記応答メッセージは、前記エンドポイントデバイスによって実行可能な命令を含み、前記応答メッセージを処理することは、前記応答メッセージを前記エンドポイントデバイスに送信することを含む、請求項１に記載の方法。
【請求項８】
前記応答メッセージを前記エンドポイントデバイスに送信することは、
前記エンドポイントデバイスに現在通信可能に接続されている中間デバイスを識別することであって、前記中間デバイスは、前記第１の中間デバイスまたは第２の中間デバイスを含む、前記識別すること、
前記応答メッセージを前記エンドポイントデバイスに転送する命令とともに、前記応答メッセージを、識別された中間デバイスに送信すること
を含む、請求項１に記載の方法。
【請求項９】
方法であって、
第１の地理的位置から第２の地理的位置への第１の中間デバイスの動きを検出すること、
前記第１の中間デバイスが前記第２の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信すること、
ビーコンメッセージを送信するために中継サーバを識別することであって、前記ビーコンメッセージは、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも１つを含む、前記識別すること、
前記エンドポイントデバイスから前記中継サーバに前記ビーコンメッセージを送信すること
を含む、方法。
【請求項１０】
第１のネットワークを介してビーコンを周期的にスキャンすることにより、前記ビーコンをリッスンすることをさらに含む、請求項９に記載の方法。
【請求項１１】
前記第１の中間デバイスは、前記第１のネットワークを介して前記エンドポイントデバイスから前記ビーコンを受信するように構成されている、請求項１０に記載の方法。
【請求項１２】
前記ビーコンメッセージは、前記第１の中間デバイスが第２のネットワークに接続されているという判定に応答して、前記エンドポイントデバイスから前記中継サーバに送信され、前記ビーコンメッセージを前記エンドポイントデバイスから前記中継サーバに送信することは、前記ビーコンメッセージを前記エンドポイントデバイスから前記第２のネットワークを介して前記中継サーバに送信することを含む、請求項１１に記載の方法。
【請求項１３】
前記ビーコンメッセージを送信するために中継サーバを識別することは、
前記第１の中間デバイスの地理的位置を判定すること、
一組の中継サーバから前記中継サーバを識別すること
を含み、前記中継サーバは、前記一組の中継サーバのうち、前記第１の中間デバイスの地理的位置に最も近い中継サーバである、請求項９に記載の方法。
【請求項１４】
前記中継サーバから前記ビーコンメッセージに関する応答メッセージを受信することをさらに含む、請求項９に記載の方法。
【請求項１５】
前記応答メッセージを前記エンドポイントデバイスに送信することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記ビーコンメッセージに関する応答メッセージを受信することは、第２の中間デバイスで前記応答メッセージを受信することを含む、請求項１５に記載の方法。
【請求項１７】
前記応答メッセージを前記エンドポイントデバイスに送信することは、前記応答メッセージを前記第２の中間デバイスを介して前記エンドポイントデバイスに送信することを含む、請求項１６に記載の方法。
【請求項１８】
前記応答メッセージを前記エンドポイントデバイスに送信することは、前記エンドポイントデバイスに前記応答メッセージを送信する命令を前記応答メッセージが含んでいると判定することを含む、請求項１５に記載の方法。
【請求項１９】
複数の機械可読命令を含む非一時的機械可読媒体であって、前記命令は、
第１の地理的位置から第２の地理的位置への第１の中間デバイスの動きを検出すること、
前記第１の中間デバイスが前記第２の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信すること、
ビーコンメッセージを送信するために中継サーバを識別することであって、前記ビーコンメッセージは、前記ビーコンまたは前記ビーコンに関する情報のうちの少なくとも１つを含む、前記識別すること、
前記エンドポイントデバイスから前記中継サーバに前記ビーコンメッセージを送信すること、
前記中継サーバから、前記ビーコンメッセージに関する応答メッセージを受信すること、
前記応答メッセージをエンドポイントデバイスに送信すること
を含む動作を実施するために実行可能である、非一時的機械可読媒体。
【請求項２０】
前記第１の中間デバイスは、前記エンドポイントデバイスから前記ビーコンを受信するように構成されており、第２の中間デバイスは、（ｉ）前記ビーコンメッセージに関する応答メッセージを受信し、（ｂ）前記応答メッセージを前記エンドポイントデバイスに送信するように構成されている、請求項１９に記載の非一時的機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で論じる実施形態は、分散ネットワーキングに関する。
【背景技術】
【０００２】
モノのインターネット（ＩｏＴ）―インターネットを介してシームレスに通信する接続された「スマート」デバイスのネットワーク―は、人間の生活のあらゆる面に拡大している。ＩｏＴデバイスは、病院におけるヘルスケア、医療機器および医薬品の製造にますます使用されている。都市では、ＩｏＴデバイスは、汚染の追跡と監視に役立つ。ＩｏＴデバイスは、政府、軍隊、企業、および個人により、資産の追跡および管理のために使用され得る。これらのアプリケーションは異なる目的に役立つが、それらはすべて１つの特性、すなわち、強力な接続性への依存を共有している。程なく、従来のネットワークは、数十億のＩｏＴデバイスの帯域幅要件を処理できなくなるだろう。
【０００３】
本明細書で請求される主題は、上記のような環境においてのみ任意の欠点を解決するか、または動作する実施形態に限定されない。むしろ、この背景技術は、本明細書で説明されるいくつかの実施形態が実施され得る技術分野の一例を示すためにのみ提供されている。
【発明の概要】
【０００４】
実施形態の一態様によれば、方法は、第１のネットワークを介して第１の中間デバイスからビーコンを受信することを含み得る。ビーコンは、第２のネットワークを介してエンドポイントデバイスから第１の中間デバイスによって受信されたものであり得る。方法は、ビーコンの特性を識別することも含み得る。方法は、ビーコンの特性に基づいて、ビーコンに関連するサーバを識別することを含み得る。方法は、第３のネットワークを介してサーバにビーコンメッセージを送信することを含んでもよく、ビーコンメッセージは、ビーコンまたはビーコンに関する情報のうちの少なくとも１つを含む。方法は、サーバから、ビーコンメッセージに関する応答メッセージを受信することをさらに含み得る。方法は、応答メッセージを処理することを含み得る。
【０００５】
別の態様によれば、方法は、第１の地理的位置から第２の地理的位置への第１の中間デバイスの動きを検出することを含み得る。方法は、第１の中間デバイスが第２の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信することも含み得る。方法は、ビーコンメッセージを送信するために中継サーバを識別することをさらに含み得る。ビーコンメッセージは、ビーコンまたはビーコンに関する情報のうちの少なくとも１つを含み得る。方法は、エンドポイントデバイスから中継サーバにビーコンメッセージを送信することを含み得る。
【０００６】
実施形態の目的および利点は、少なくとも特許請求の範囲で特に指摘されている要素、特徴、および組み合わせによって実現および達成される。
前述の一般的な説明および以下の詳細な説明は、いずれも例示的かつ説明的なものであり、特許請求される本発明を限定するものではないことを理解されたい。
【図面の簡単な説明】
【０００７】
例示的な実施形態は、添付の図面の使用を通じて追加の特定性および詳細とともに記載および説明される。
【図１】ネットワークアーキテクチャの一例を示す図である。
【図２】ネットワークアーキテクチャの一例を示す図である。
【図３】ネットワークアーキテクチャの一例を示す図である。
【図４】ネットワークアーキテクチャの一例を示す図である。
【図５】デバイス間の通信を処理する例示的な方法のフロー図である。
【図６】エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法のフロー図である。
【図７】エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法のフロー図である。
【図８】本明細書で説明する方法の任意の１つまたは複数を機械に実施させるための一組の命令が実行され得るコンピューティングデバイスの例示的な形態における機械の概略図であり、本明細書で説明される少なくとも１つの実施形態に従ってすべてが配置される。
【発明を実施するための形態】
【０００８】
モノのインターネット（ＩｏＴ）は、人間の生活のあらゆる面に拡大している。２０２５年までに７５０億台を超えるＩｏＴデバイスが配備されると予想されており、これらのデバイスをオンラインにして相互に接続するために、より効率的な新しいネットワークインフラストラクチャが必要とされている。
【０００９】
ＩｏＴデバイスには多くの接続ソリューションが存在する。残念ながら、帯域幅の制限、接続性の低下、高電力消費、および／または高コストの問題をすべてが抱えている。例えば、セルラー接続は、デバイスにおいてかなりの電力を消費し、高価でもあり得る。低電力広域ネットワーク（Ｌｏｗ−ＰｏｗｅｒＷｉｄｅ−Ａｒｅａ Ｎｅｔｗｏｒｋ：ＬＰＷＡＮ）などの低電力ソリューションは、セルラー接続よりも少ない電力消費が可能である。ＬＰＷＡＮは、しかしながら、帯域幅の制限によって制約を受ける可能性があり、分散ネットワークのニーズを完全に満たすのに十分なデータを送信できない場合がある。従来のシステムは、依然として広い帯域幅を提供しながら、電力消費量が比較的低くはない可能性がある。
【００１０】
具体的には、今日のインターネットに小さなデバイスを接続するための既存のソリューションは、（ａ）例えば、セルラーモジュールを加入者識別モジュール（ＳＩＭ）カードまたはソフトウェアＳＩＭと共にデバイスに組み込んでセルラー接続を提供することにより、既存の無線ネットワークを使用すること、（ｂ）新しい代替無線ネットワークを、カスタム無線チップセットを組み込み、固定インフラストラクチャを構築してこのネットワークをサポートすることにより構築すること、（ｃ）ＬｏＲａＡｌｌｉａｎｃｅ Ｔｅｃｈｎｏｌｏｇｙなどの長距離ネットワーク技術を使用することを含む。ＬｏＲａは、ＩｏＴデバイスと、産業科学医療（ＩＳＭ）用スペクトルバンド上の「中央ネットワークサーバ」との間のゲートウェイおよびブリッジの複雑な「スターオブスター（ｓｔａｒ−ｏｆ−ｓｔａｒｓ）」型トポロジを使用する。
【００１１】
これらのアプローチの各々には重大な欠点がある。例えば、これらのアプローチの各々は、多くの場合、モバイルデバイスのバッテリ消費に大きく寄与する大量の電力を必要とする。さらに、アプローチ（ａ）は、高価なセルラーモジュールを必要とし、加えて、サービスサブスクリプションおよび無線キャリアへのデータの両方の無線セルラーサービスの月額料金を必要とする。アプローチ（ｂ）および（ｃ）は、新しい固定インフラストラクチャを構築する必要があり、多くの場合、一般的なＢｌｕｅｔｏｏｔｈ（登録商標）チップセットに加えて無線伝送用のチップセットを購入する必要があるため、高価である。伝送距離が長くなると必要な電力が大きくなるため、これらのアプローチの各々は、かなりの電力を必要とする。同様に、セルラーデバイスおよび全地球測位システム（ＧＰＳ）対応デバイスは、より長い距離のため、セルタワーまたは衛星と通信するために高電力を必要とする。
【００１２】
本開示の態様は、新しい分散ネットワークを提供することにより、従来のネットワーキングのこれらおよび他の問題に対処する。いくつかの態様では、分散ネットワークは、より高い接続性および／またはより広い帯域幅を提供しながら、低電力を使用して多数のデバイスを接続することが可能である。一実施形態は、ＩｏＴデバイスから固定インフラストラクチャに依存しないサーバにデータを送信するクラウドソース（ｃｒｏｗｄ−ｓｏｕｒｃｅ）ベースの方法を含む。別の実施形態は、クラウドサーバが、固定インフラストラクチャに依存しないＩｏＴデバイスにデータを送信するクラウドソースの方法を含む。さらなる実施形態は、ビーコン内のデータを複数のＩｏＴデバイス上の複数のサービスから適切なデバイス製造業者サーバにルーティングするための方法を含む。さらに別の実施形態は、リモートＩｏＴデバイスとデータを収集または交換するために使用されるモバイルデバイス上のエネルギー消費を削減する方法を含む。
【００１３】
一態様では、本開示は、クラウドソーシング技術を使用することにより別個の固定インフラストラクチャの必要性を除去することにより既存の技術を改善するシステムおよび技術を説明する。いくつかの態様は、低消費電力プロファイルを有し、大規模な固定ハードウェアインフラストラクチャを必要としない、ＩｏＴデバイスからサーバへの通信の方法を提供する。本開示の他の利点は、インターネットアクセスのコストを削減し、ＩｏＴの分野における新しいイノベーションのためのプラットフォームを生成する能力にある。
【００１４】
本開示は、ネットワークベースの通信を使用する実質的にすべての分野に有用であり得る。この開示から恩恵を受け得る例示的な団体は、スマートフォン製造業者、自転車および乗物シェアリング会社、屋外広告主、環境分析会社などを含むが、これらに限定されない。例示的なアプリケーションは、汚染追跡、資産追跡、紛失したデバイスの発見、産業上の予知保全などのための使用を含み得る。さらに、本開示の態様は、ＳＩＭまたはＬＰＷＡＮモデムを使用する接続性に依存しない可能性があり、これにより、デバイスをより小さく、より効率的にすることが可能になる。
【００１５】
例えば、デバイスおよび資産の位置追跡のシナリオでは、殆どの低コストの追跡デバイスメーカーは、デバイスを特定するためにアプリユーザに依存しており、グローバルなカバレッジを提供するのに十分なアプリ密度を有していない。セルラーモジュールおよびＧＰＳモジュールを追加することは、高価であり、電力を必要とする。本開示の態様は、エンドポイントデバイスが、グローバルに相互運用するセルラーモジュールまたはＧＰＳモジュールを含むことを必要とせず、コストを低減するソリューションを提供し得る。
【００１６】
低電力センサ接続の例では、いくつかのセンサのコストが非常に低いため、セルラーまたはＧＰＳ接続を追加することは、センサのコストよりも桁違いに高くなる可能性がある。本開示の態様は、接続サービスを劇的に低いコストで提供し得る。
【００１７】
いくつかの態様は、ファームウェアの更新、デバイスの日付および時刻の更新、ウェアラブルデバイスネットワークの生成、データＩＰ接続、人口密度の測定（所与の場所のＢｌｕｅｔｏｏｔｈ（登録商標）デバイスの数の検出などによる）、保険会社のための特定のデバイスの存在の確認、市場分析会社、ヘッジファンド、プライベートエクイティ企業などのための特定のデバイスの販売動向の検出などにも使用され得る。
【００１８】
さらに、位置更新および環境／健康データなどの遅延耐性のあるユースケースも、本開示から恩恵を受け得る。例えば、多くのユースケースでは、即時のクラウドまたはインターネット接続は必要ない。このコンテキストにおいて、本開示は、スマートフォンのＢｌｕｅｔｏｏｔｈ接続、およびそれらのＷｉ−Ｆｉ（登録商標）オフロード機能を活用して、ＬＰＷＡＮと比較して大幅に強化された帯域幅を提供する。
【００１９】
図１は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ１００を示す。ネットワークアーキテクチャ１００は、１つまたは複数のエンドポイントデバイス１０５、１つまたは複数の中間デバイス１１５、１つまたは複数の中継サーバ１２５、および１つまたは複数のエンドポイントマネージャサーバ１３５を含み得る。いくつかの実施形態では、ネットワークアーキテクチャ１００は、ネットワーククライアントとして機能することができるクラウドソースの中間デバイス１１５および１つまたは複数の中継サーバ１２５によって、１つまたは複数のエンドポイントデバイス１０５と様々なエンドポイントマネージャサーバ１３５との間でデータを移動でき得る。
【００２０】
エンドポイントデバイス１０５は、１つまたは複数のＩｏＴデバイスを含み得る。エンドポイントデバイス１０５は、電源、データ収集デバイス（例えば、センサ）、およびネットワークデバイスを含み得る。電源は、バッテリまたは電力グリッドへの接続を含み得る。追加的または代替的に、電源は、ソーラーパネル、太陽電池、太陽光発電、電磁気などの環境発電装置を含み得る。少なくともいくつかの実施形態では、エンドポイントデバイス１０５は、電源を含まなくてもよく、代わりに環境後方散乱（ａｍｂｉｅｎｔｂａｃｋｓｃａｔｔｅｒ）技術を使用してもよい。エンドポイントデバイス１０５は、１つまたは複数のセンサも含み得る。１つまたは複数のセンサは、任意のタイプの状態を検出し、検出された状態に基づいて電子データを生成するように構成され得る。例えば、エンドポイントデバイス１０５は、心拍数モニタによって収集された心拍数状態を使用して心拍数データを生成するように構成された心拍数モニタを備えたスマートウォッチを含み得る。少なくとも１つの実施形態では、エンドポイントデバイス１０５は、インターネットを介して通信する能力を持たず、近くの中間デバイス１１５などの近くのデバイスと通信可能なハードウェアおよび／またはソフトウェアのみを含む。
【００２１】
エンドポイントデバイス１０５のネットワークデバイスは、ネットワークを介して別のデバイスと通信することができる任意のハードウェア、ソフトウェア、またはそれらの組み合わせを含み得る。少なくとも１つの実施形態では、ネットワークデバイスは、Ｂｌｕｅｔｏｏｔｈまたは他の任意の短距離ネットワークなどの短距離ネットワークを介して通信するように構成された任意のネットワークコントローラを含み得る。少なくとも１つの実施形態では、ネットワークデバイスは、低電力ネットワークを介して通信するように構成された任意のネットワークコントローラを含み得る。例示的なエンドポイントデバイス１０５は、産業用デバイス、住宅用機器、商業用機器、在庫トラッカー、スマートウォッチ、ウェアラブル装置、心拍数モニタ、ロジスティクストラッカー、環境センサ、キャッシュレジスター、クレジットカードリーダ、販売時点情報管理（ｐｏｉｎｔ−ｏｆ−ｓａｌｅ：ＰＯＳ）、自転車、電動スクーター、電動スケートボード、自動車、電気自動車、衛星、または（モバイル、および無線インタフェースを含むモバイルではない）任意のデバイスを含むが、これらに限定されない。ネットワークアーキテクチャ１００は、任意の数のエンドポイントデバイス１０５を含むことができ、ネットワークアーキテクチャ１００内のエンドポイントデバイス１０５は、任意のタイプのネットワーク対応デバイスを含む、任意のタイプのエンドポイントデバイス１０５であり得る。エンドポイントデバイス１０５は、ＰＯＳまたは汚染センサなどのように、ネットワークアーキテクチャ１００内で固定されていてもよく、または比較的静止していてもよい。追加的または代替的に、エンドポイントデバイス１０５は、スマートウォッチ、または任意の車または車両などのように可動性であってもよい。
【００２２】
１つまたは複数のエンドポイントデバイス１０５は、少なくとも１つの無線ネットワーク１１０を介して他のデバイスと通信するように構成され得る。例えば、第１のエンドポイントデバイス１０５ａは、無線ネットワーク１１０ａを介して第１の中間デバイス１１５ａと電子通信し得る。１つまたは複数の中間デバイス１１５は、無線ネットワーク１１０を介してエンドポイントデバイス１０５と通信し、第２のネットワーク１２０を介して中継サーバ１２５と通信することができる任意のタイプのデバイスを含み得る。少なくとも１つの実施形態では、中間デバイス１１５は、無線ネットワーク１１０を介して通信する第１のネットワークコントローラ、および第２のネットワーク１２０を介して通信する第２のネットワークコントローラの２つのネットワークコントローラを含み得る。例示的な中間デバイス１１５は、パーソナルコンピュータ（ＰＣ）、ラップトップ、スマートフォン、ネットブック、電子リーダ、携帯情報端末（ＰＤＡ）、セルラー電話、携帯電話、タブレット、車両、ドローン、車、トラック、ウェアラブルデバイス、ルータ、テレビ、またはセットトップボックスなどを含む。
【００２３】
図示されるように、第１のエンドポイントデバイス１０５ａは、無線ネットワーク１１０ａ（例えば、短距離ネットワーク）を介して第１の中間デバイス１１５ａと電子通信し得る。さらに、第２のエンドポイントデバイス１０５ｂは、別の無線ネットワーク１１０ｂ（例えば、低電力ネットワーク）を介して第２の中間デバイス１１５ｂと電子通信し得る。第３のエンドポイントデバイス１０５ｃは、別の無線ネットワーク１１０ｃを介して第３の中間デバイス１１５ｃと電子通信し得る。第４のエンドポイントデバイス１０５ｄは、別の無線ネットワーク１１０ｄを介して第４の中間デバイス１１５ｄと電子通信し得る。
【００２４】
いくつかの実施形態では、無線ネットワーク１１０は、比較的低い電力量を使用する任意のネットワークであり得る。例示的な無線ネットワーク１１０は、任意のＢｌｕｅｔｏｏｔｈネットワークタイプ（例えば、Ｂｌｕｅｔｏｏｔｈ低エネルギー（ＢｌｕｅｔｏｏｔｈＬｏｗ Ｅｎｅｒｇｙ：ＢＬＥ）、Ｂｌｕｅｔｏｏｔｈ ４．０、Ｂｌｕｅｔｏｏｔｈ５．０、Ｂｌｕｅｔｏｏｔｈ長距離）、ＮＢ−ＩｏＴ、ＬＴＥダイレクト、ＬＴＥ−Ｍ、ＬＴＥＭ２Ｍ、５Ｇ、Ｗｉ−Ｆｉ、Ｗｉ−Ｆｉ Ａｗａｒｅ、または任意の低電力ネットワークを含み得る。１つまたは複数のエンドポイントデバイス１０５は、異なるタイプの無線ネットワーク１１０を使用して様々な中間デバイス１１５に接続し得る。例えば、第１のエンドポイントデバイス１０５ａは、第１の短距離無線ネットワーク１１０ａを介して第１の中間デバイス１１５ａと電子通信し、第２のエンドポイントデバイス１０５ｂは、第２の短距離無線ネットワーク１１０ｂを介して第２の中間デバイス１１５ｂと電子通信し得る。
【００２５】
エンドポイントデバイス１０５、中間デバイス１１５、またはその両方は、固定、比較的静止または可動であってよい。エンドポイントデバイス１０５および中間デバイス１１５が相互に無線範囲に入ると、エンドポイントデバイス１０５および中間デバイス１１５は、ハンドシェイクおよび／または認証を実施して、エンドポイントデバイス１０５と中間デバイス１１５との間のデータ交換を開始し得る。
【００２６】
いくつかの実施形態では、エンドポイントデバイス１０５は、無線ネットワーク１１０を介してデータを含むビーコンを周期的に送信し得る。エンドポイントデバイス１０５は、エンドポイントデバイス１０５上で実行され得る様々なサービスを含み得る。例えば、スマートウォッチは、時計サービス、心拍数モニタサービス、動き検出サービス、音楽サービスなどを含み得る。ビーコンは、これらのサービスの各々に対して生成されてもよく、または、単一のビーコンが、サービスのいくつかまたはすべてに対するデータを含むように生成されてもよい。
【００２７】
中間デバイス１１５は、エンドポイントデバイスからのそのようなビーコンをリッスンし得る。ビーコンを受信することに応答して、中間デバイス１１５は、第２のネットワーク１２０を介して中継サーバ１２５にビーコンを送信し得る。少なくとも１つの実施形態では、無線ネットワーク１１０と第２のネットワーク１２０とは、異なるタイプのネットワークである。例えば、無線ネットワーク１１０は、Ｂｌｕｅｔｏｏｔｈネットワークであってよく、第２のネットワーク１２０は、セルラーネットワーク、Ｗｉ−Ｆｉ、またはインターネットであってよい。
【００２８】
第２のネットワーク１２０は、パブリックネットワーク（例えば、インターネット）、プライベートネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ））、有線ネットワーク（例えば、イーサネット（登録商標）ネットワーク）、無線ネットワーク（例えば、８０２．ｘｘネットワークまたはＷｉ−Ｆｉネットワーク）、セルラーネットワーク（例えば、ロングタームエボリューション（ＬＴＥ）またはＬＴＥ−Ａｄｖａｎｃｅｄネットワーク、１Ｇ、２Ｇ、３Ｇ、４Ｇ、５Ｇ）、ルータ、ハブ、スイッチ、サーバコンピュータ、および／またはそれらの組み合わせを含み得る。
【００２９】
中継サーバ１２５は、ビーコンまたはビーコンに関連する情報を、第３のネットワーク１３０を介してエンドポイントマネージャサーバ１３５に送信し得る。第３のネットワーク１３０は、パブリックネットワーク（例えば、インターネット）、プライベートネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ））、有線ネットワーク（例えば、イーサネットネットワーク）、無線ネットワーク（例えば、８０２．ｘｘネットワークまたはＷｉ−Ｆｉネットワーク）、セルラーネットワーク（例えば、ロングタームエボリューション（ＬＴＥ）またはＬＴＥ−Ａｄｖａｎｃｅｄネットワーク、１Ｇ、２Ｇ、３Ｇ、４Ｇ、５Ｇ）、ルータ、ハブ、スイッチ、サーバコンピュータ、および／またはそれらの組み合わせを含み得る。少なくとも１つの実施形態では、第２のネットワーク１２０および第３のネットワーク１３０は、同じネットワークであるか、または少なくともいくつかの重複するコンポーネントを含む。
【００３０】
１つまたは複数の中継サーバ１２５は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、スマートフォン、車、ドローン、ロボット、オペレーティングシステムなどを有する任意のモビリティデバイス、データストア（例えば、ハードディスク、メモリ、データベース）、ネットワーク、ソフトウェアコンポーネント、および／またはハードウェアコンポーネントのような１つまたは複数のコンピューティングデバイスを含み得る。１つまたは複数の中継サーバ１２５は、中間デバイス１１５からビーコンを受信するように構成され得る。１つまたは複数の中継サーバ１２５は、ビーコン、またはエンドポイントマネージャサーバ１３５に関係する、または関連するデータを送信し得る。１つまたは複数の中継サーバ１２５は、エンドポイントマネージャサーバ１３５からメッセージを受信してもよく、いくつかの実施形態では、メッセージをエンドポイントマネージャサーバ１３５から中間デバイス１１５に送信してもよい。少なくともいくつかの実施形態では、中間デバイス１１５は、エンドポイントマネージャサーバ１３５からメッセージを受信することに応答して１つまたは複数の動作を実施し得る。動作は、中間デバイス１１５にローカルな動作、および／またはエンドポイントマネージャサーバ１３５からエンドポイントデバイス１０５へのメッセージの送信を含む。
【００３１】
エンドポイントマネージャサーバ１３５は、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、スマートフォン、車、ドローン、ロボット、オペレーティングシステムなどを有する任意のモビリティデバイス、データストア（例えば、ハードディスク、メモリ、データベース）、ネットワーク、ソフトウェアコンポーネント、および／またはハードウェアコンポーネントのような１つまたは複数のコンピューティングデバイスを含み得る。エンドポイントマネージャサーバ１３５は、１つまたは複数のエンドポイントデバイス１０５に関連し得る。例えば、特定の企業、個人、または製造業者は、エンドポイントデバイス１０５を販売し、エンドポイントマネージャサーバ１３５を使用して、エンドポイントデバイス１０５と通信し、および／またはエンドポイントデバイス１０５を制御し得る。
【００３２】
エンドポイントマネージャサーバ１３５は、特定のエンドポイントデバイス１０５、または一組のエンドポイントデバイス１０５に関連するメッセージを送信し得る。例えば、エンドポイントマネージャサーバ１３５は、特定のエンドポイントデバイス１０５または一組のエンドポイントデバイス１０５に更新（例えば、ファームウェア、ソフトウェア）を送信し得る。エンドポイントマネージャサーバ１３５は、特定のエンドポイントデバイス１０５によって生成されたビーコンからのリクエストへの応答など、他の通信をエンドポイントデバイス１０５に送信してもよい。
【００３３】
各中継サーバ１２５は、メッセージマネージャ１４０を含み得る。メッセージマネージャ１４０は、プロセッサ、マイクロプロセッサ（例えば、１つまたは複数の動作を実施、または実施を制御するための）、ＦＰＧＡ、またはＡＳＩＣを含むハードウェアを使用して実装され得る。いくつかの他の例では、メッセージマネージャ１４０は、ハードウェアおよびソフトウェアの組み合わせを使用して実装され得る。ソフトウェアでの実装は、コンピューティングシステム（例えば、中継サーバ１３５）のハードウェアに含まれ得るような１つまたは複数のトランジスタまたはトランジスタ素子の迅速なアクティブ化および非アクティブ化を含み得る。さらに、ソフトウェアで定義された命令は、トランジスタ素子内の情報に対して動作し得る。ソフトウェア命令の実装は、少なくとも一時的に電子経路を再構成し、コンピューティングハードウェアを変換し得る。
【００３４】
各中継サーバ１２５は、データ記憶装置１４５を含み得る。データ記憶装置１４５は、任意のメモリまたはデータ記憶装置を含み得る。いくつかの実施形態では、データ記憶装置１４５は、そこに格納されたコンピュータ実行可能命令またはデータ構造を担持する、または有するコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、プロセッサなどの汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体を含むことができる。例えば、データ記憶装置１４５は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、またはその他の光学ディスクストレージ、磁気ディスクストレージまたはその他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、固体メモリデバイス）、またはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコードを担持または格納するために使用され、汎用または専用コンピュータによってアクセスされ得る任意の他の記憶媒体を含む有形または非一時的コンピュータ可読記憶媒体であり得るコンピュータ可読記憶媒体を含むことができる。上記の組み合わせが、データ記憶装置１４５に含まれ得る。図示の実施形態では、データ記憶装置１４５は、中継サーバ１２５の一部である。いくつかの実施形態では、データ記憶装置１４５は、中継サーバ１２５とは別個であってもよく、ネットワークを介してデータ記憶装置１４５にアクセスしてもよい。少なくとも１つの実施形態では、データ記憶装置１４５は、複数のデータ記憶装置を含み得る。
【００３５】
データ記憶装置１４５は、エンドポイントデバイス１０５、中間デバイス１１５、およびエンドポイントマネージャサーバ１３５に関するデータ、ならびにエンドポイントデバイス１０５、中間デバイス１１５、およびエンドポイントマネージャサーバ１３５の間の関係を含み得る。例えば、データ記憶装置１４５は、特定のエンドポイントマネージャサーバ１３５に関連するエンドポイントデバイスのテーブルまたはリストを含み得る。データ記憶装置１４５は、ビーコンの受信のタイムスタンプ、ビーコンの生成に関連するタイムスタンプ、ビーコンおよび／またはビーコンを生成または送信したエンドポイントデバイス１０５に関連する地理的位置のような、エンドポイントデバイスから受信されたビーコンに関するデータ、エンドポイントデバイスに関連するセンサデータ、エンドポイントマネージャサーバ１３５とエンドポイントデバイス１０５との間でデータをどのように送信するか、および／またはどこへ送信するかについてのルーティング情報、中間デバイスとエンドポイントデバイスとの間の接続強度、中間デバイス１１５へのエンドポイントデバイス１０５の近接度、中間デバイス１１５とエンドポイントデバイス１０５とを接続する無線ネットワーク１１０のタイプ、中間デバイス１１５とエンドポイントデバイス１０５との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスの種類などを含み得る。
【００３６】
メッセージマネージャ１４０は、エンドポイントデバイス１０５、中間デバイス１１５、およびエンドポイントマネージャサーバ１３５の間の通信を処理することができる。一例では、メッセージマネージャ１４０は、第２のネットワーク１２０ａを介して中間デバイス１１５ａからビーコンを受信し得る。ビーコンは、エンドポイントデバイス１０５ａによって無線ネットワーク１１０ａを介して中間デバイスに送信された可能性がある。ビーコンは、エンドポイントデバイス１０５の識別子（例えば、ＭＡＣアドレス、一意のＩＤ）、エンドポイントデバイス１０５ａの地理的位置、およびそれがサポートするサービスのＵＵＩＤの広告などを含む、エンドポイントデバイス１０５に関する特性を含み得る。メッセージマネージャ１４０は、ビーコンに関する情報を識別するためにビーコンを分析することなどにより、ビーコンの特性を識別し得る。メッセージマネージャ１４０は、データ記憶装置１４５にアクセスして、ビーコンに関連するエンドポイントマネージャサーバ１３５をビーコンの特性に基づいて識別し得る。例えば、エンドポイントデバイスの識別子は、特定のエンドポイントマネージャサーバ１３５を運営する特定の製造業者に関連し得る。メッセージマネージャ１４０は、データ記憶装置１４５においてこの特定のエンドポイントマネージャサーバ１３５と、エンドポイントマネージャサーバ１３５に到達するためにビーコンを送信するアドレスおよび／またはパスとを識別し得る。少なくともいくつかの実施形態では、メッセージマネージャ１４０は、第３のネットワーク１３０を介してビーコンまたはビーコンメッセージをエンドポイントマネージャサーバ１３５に送信し得る。ビーコンメッセージは、ビーコンを含んでいてもよく、ビーコンを含まなくてもよく、ビーコンに関する情報を含んでいてもよい。
【００３７】
少なくとも１つの実施形態では、ビーコンは、エンドポイントデバイス１０５に関連する複数のサービスからのデータを含み得る。追加的または代替的に、単一のエンドポイントデバイス１０５からの複数のビーコンが生成され、無線ネットワーク１１０を介してブロードキャストされ得る。これらの複数のビーコンの各々は、例えば、エンドポイントデバイス１０５に関連する異なるサービスに関連し得る。メッセージマネージャ１４０は、サービスを識別し、サービスに対する情報に基づいて、ビーコンメッセージを受信すべき適切なエンドポイントマネージャサーバ１３５を識別し得る。
【００３８】
エンドポイントマネージャサーバ１３５は、中継サーバ１２５からメッセージを受信し得る。エンドポイントマネージャサーバ１３５は、メッセージを保存し、メッセージを処理し、メッセージに基づいてレポートを生成し、メッセージに基づいて通知または応答を生成し、または他のアクションを実行することができる。例えば、エンドポイントマネージャサーバ１３５は、ビーコンメッセージに関する応答メッセージを生成し得る。応答メッセージは、中継サーバ１２５、中間デバイス１１５、ビーコンを生成したエンドポイントデバイス１０５、またはビーコンを生成しなかった別のエンドポイントデバイス１０５のうちの１つまたは複数を対象とするメッセージを含み得る。エンドポイントマネージャサーバ１３５は、ビーコンメッセージをエンドポイントマネージャサーバ１３５に送信した同じ中継サーバ１２５（例えば、中継サーバ１２５ａ）、またはビーコンメッセージをエンドポイントマネージャサーバ１３５に送信しなかった異なる中継サーバ１２５（例えば、中継サーバ１２５ｂ）に応答メッセージを送信し得る。
【００３９】
中継サーバ１２５は、ビーコンメッセージに関する応答メッセージをエンドポイントマネージャサーバ１３５から受信し得る。中継サーバ１２５は、中継サーバ１２５で動作を実行すること、別のデバイス（例えば、ユーザデバイス）にデータを送信すること、エンドポイントデバイス１０５にデータを送信することなどにより、応答メッセージを処理し得る。
【００４０】
ネットワークアーキテクチャ１００は、インターネットを介した従来の通信とは異なる方法で、ネットワークベースの通信が可能な任意のデバイス間でデータを交換するために使用され得る。
【００４１】
一例では、ネットワークアーキテクチャ１００は、既存のスマートフォンインフラストラクチャを活用して、遅延耐性接続を生成し得る。ネットワークアーキテクチャ１００は、初期遅延耐性方式（ｉｎｉｔｉａｌｌｙｄｅｌａｙ ｔｏｌｅｒａｎｔ ｆａｓｈｉｏｎ）でデータをクラウドに移動することができ、これは、ファームウェア更新、ステータス更新、ログファイル格納、およびマイクロペイメントなどの多くのタイプのｌｏＴ通信に有用であり得る。中間デバイスは、スマートフォンで実行されるソフトウェアを含み、産業用デバイス、スマートウォッチ、ウェアラブル装置、ロジスティクストラッカー、環境センサのような他のデバイス（例えば、エンドポイントデバイス１０５）を周期的にスキャンし得る。これらのエンドポイントデバイス１０５は、スマートフォン上で実行されているソフトウェアクライアントと接続して、クラウドへ、およびクラウド内でデータを移動するための大規模なエリアワイドネットワークを生成し得る。
【００４２】
さらに、人口の９５％が何らかのセルラーサービスでカバーされていると推定されている。ネットワークアーキテクチャ１００は、世界中のどこにでも展開でき、接続性の低い地域で接続性を高めることができる。さらに、ネットワークアーキテクチャ１００は、例えば、Ｂｌｕｅｔｏｏｔｈ対応スマートフォンで実行されるソフトウェアを使用することにより、従来のセルラーネットワークの範囲を超えるカバレッジを提供することができる。ユーザは、セルラー接続が限られているか、セルラー接続がないエリアに移動し得るが、無線ネットワーク１１０を介してエンドポイントデバイス１０５からビーコンを受信することが可能である。ネットワークアーキテクチャ１００を使用して、例えば、通信会社オペレータは、ソフトウェアアップデートをユーザデバイスに簡単に展開して、本明細書で説明するようにエンドポイントデバイス１０５との通信を開始し、世界の最も遠い地域にさえ、より高速なレイテンシＩｏＴ接続性を提供できる。
【００４３】
特定の例では、ネットワークアーキテクチャ１００は、資産の追跡と管理に使用され得る。例えば、ネットワークアーキテクチャ１００を使用して、無線チップセットを備えたスケートボード、取り付けられた追跡ビーコン、ラップトップなどのエンドポイントデバイス１０５として構成された紛失したアイテムを見つけることができる。例えば、ユーザは、モバイルアプリケーションまたはウェブサイトを使用して、アイテムを紛失したことをエンドポイントマネージャサーバ１３５または中継サーバ１２５に示すなどして、アイテムを紛失したことを示し得る。第１の実施形態では、エンドポイントマネージャサーバ１３５は、紛失したアイテムを監視するためにメッセージを１つまたは複数の中継サーバ１２５に送信し得る。中継サーバ１２５は、紛失したアイテムの識別子を紛失アイテム監視リストに追加し得る。中間デバイス１１５が異なる地理的位置に移動すると、それらは異なるエンドポイントデバイス１０３からのビーコンを受信できる。次に、中間デバイス１１５は、ビーコンを中継サーバ１２５に転送する。中継サーバ１２５サーバがビーコンを受信すると、中継サーバ１２５は、ビーコンを分析して、監視リストにあるエンドポイントデバイス１０５でビーコンが発信されたかどうかを判定することができる。中継サーバ１２５が、監視リストにあるエンドポイントデバイス１０５で発信されたビーコンを識別すると、中継サーバ１２５は、紛失したアイテムが見つかったことをエンドポイントマネージャサーバ１３５に通知することができる。少なくともいくつかの実施形態では、中継サーバ１２５は、紛失したアイテムが見つかったという通知をプッシュ通知またはプル通知として（すなわち、エンドポイントマネージャサーバ１３５からのリクエストに応答して）送信し得る。少なくともいくつかの実施形態では、中継サーバ１２５は、アイテムを紛失したことを示すためにユーザにより使用されたユーザデバイスに、紛失したアイテムが見つかったという通知を送信し得る。
【００４４】
本開示の範囲から逸脱することなく、ネットワークアーキテクチャ１００に修正、追加、または省略が行われ得る。本開示は、より一般的には、１つまたは複数のエンドポイントデバイス１０５、１つまたは複数の無線ネットワーク、１つまたは複数の中間デバイス１１５、１つまたは複数の第２のネットワーク１２０、１つまたは複数の中継サーバ１２５、１つまたは複数の第３のネットワーク１３０、および１つまたは複数のエンドポイントマネージャサーバ１３５、またはそれらの任意の組み合わせを含むネットワークアーキテクチャ１００に適用される。
【００４５】
さらに、本明細書に記載の実施形態における様々な構成要素の分離は、すべての実施形態で分離が生じることを示すものではない。加えて、本開示の利点により、説明されたコンポーネントが、単一のコンポーネントに共に統合されるか、または複数のコンポーネントに分離され得ることが理解されるだろう。
【００４６】
図２は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ２００を示す。ネットワークアーキテクチャ２００は、１つまたは複数のエンドポイントデバイス１０５、１つまたは複数の中間デバイス１１５、１つまたは複数の中継サーバ１２５、および１つまたは複数のエンドポイントマネージャサーバ１３５のような、図１に示され説明されたコンポーネントを含み得る。特に、図２は、中間デバイス１１５がネットワークアーキテクチャ２００内でどのように移動し得るか、およびその移動によりネットワークアーキテクチャ２００内でデータがどのように通信されるかを示している。
【００４７】
図１と比較すると、図２は、中間デバイス１１５ｂが異なる地理的位置に移動したことを示している。この移動に応答して、中間デバイス１１５ｂは、もはや中継サーバ１２５ａと通信しておらず、代わりに、中継サーバ１２５ｂと通信している。中間デバイス１１５ｂは、もはやエンドポイントデバイス１０５ｂと通信することができるほどエンドポイントデバイス１０５ｂと近くはない。図示のように、エンドポイントデバイス１０５ｂの範囲内にある中間デバイス１１５は存在しない。エンドポイントデバイス１０５ｂは、しかしながら、ビーコンを受信する範囲内にデバイスが存在しない場合でも、ビーコンを送信し続け得る。
【００４８】
また、図示されているように、中間デバイス１１５ｂは、現在エンドポイントデバイス１０５ｃの範囲内にある。中間デバイス１１５ｂは、エンドポイントデバイス１０５ｃからビーコンを受信すること、およびエンドポイントデバイス１０５ｃに応答メッセージを送信することなどにより、無線ネットワーク１１０ｅを介してエンドポイントデバイス１０５ｃと通信することができる。少なくともいくつかの実施形態では、中間デバイス１１５ｃは、エンドポイントデバイス１０５ｃからビーコンを以前に受信していてもよく、中継サーバ１２５ｂにビーコンを転送していてもよい。中継サーバ１２５ｂは、ビーコンメッセージをエンドポイントマネージャサーバ１３５に送信し、エンドポイントマネージャサーバ１３５から応答メッセージを受信した可能性がある。中間デバイス１１５ｂは、現在、中間デバイス１１５ｃと同様にエンドポイントデバイス１０５ｃの範囲内にあるので、中継サーバ１２５ｂは、中間デバイス１１５ｂまたは中間デバイス１１５ｃのうちの１つを選択して、エンドポイントデバイス１０５ｃへの応答メッセージの送信を処理し得る。中継サーバ１２５ｂは、中間デバイス１１５とターゲットエンドポイントデバイス１０５との間の接続強度、中間デバイス１１５に対するエンドポイントデバイス１０５の近接度、中間デバイス１１５とエンドポイントデバイス１０５とを接続する無線ネットワーク１１０のタイプ、中間デバイス１１５とエンドポイントデバイス１０５との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスのタイプなど、応答メッセージを送信するために使用する中間デバイス１１５を選択するための任意の選択基準を使用し得る。
【００４９】
少なくともいくつかの実施形態では、中間デバイス１１５ｂおよび中間デバイス１１５ｃの両方が、エンドポイントデバイス１０５ｃの範囲内にあり、両方が、エンドポイントデバイス１０５ｃから同じビーコンを受信する。さらに、中間デバイス１１５ｂおよび中間デバイス１１５ｃの両方は、エンドポイントデバイス１０５ｃのビーコンを中継サーバ１２５ｂに転送してもよい。冗長性、ネットワークトラフィック、バッテリ寿命などを減らすために、中継サーバ１２５ｂは、中間デバイス１１５ｂおよび中間デバイス１１５ｃのうちの１つを選択してエンドポイントデバイス１０５ｃとの通信を処理し、選択されていない中間デバイスに、エンドポイントデバイス１０５ｃからのビーコンを無視し、エンドポイントデバイス１０５ｃからのビーコンを破棄し、エンドポイントデバイス１０５ｃからのビーコンの送信を停止し、またはネットワーク輻輳の低減、データ記憶装置のスペースの解放、プロセッサ能力の解放などを可能とする任意の他の動作を行うよう、指示することができる。より多くの中間デバイス１１５がデータ転送に利用可能になると、特定の中間デバイスのデータ送信頻度が低下し得る。長期的には、密度の高い中間デバイスおよび機械学習ベースのプロトコルにより、本明細書で説明される技術は、中間デバイスのバッテリ寿命を大幅に改善し、ネットワークの輻輳を軽減し、グローバルな接続性を改善し得る。中継サーバ１２５ｂは、中間デバイス１１５とターゲットエンドポイントデバイス１０５との間の接続強度、中間デバイス１１５に対するエンドポイントデバイス１０５の近接度、中間デバイス１１５とエンドポイントデバイス１０５とを接続する無線ネットワーク１１０のタイプ、中間デバイス１１５とエンドポイントデバイス１０５との間の接続のコスト、中間デバイスの現在のバッテリレベル、中間デバイスのタイプなど、エンドポイントデバイス１０５と通信するために使用する中間デバイス１１５、およびエンドポイントデバイス１０５に関する通信を停止する中間デバイスを選択するための任意の選択基準を使用し得る。
【００５０】
図３は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ３００を示す。ネットワークアーキテクチャ３００は、１つまたは複数のエンドポイントデバイス１０５、１つまたは複数の中間デバイス１１５、１つまたは複数の中継サーバ１２５、および１つまたは複数のエンドポイントマネージャサーバ１３５のような、図１に示され説明されたコンポーネントを含み得る。特に、図３は、中間デバイス１１５ａが第２のネットワーク１０２に接続されていなくても（例えば、アクティブなインターネット接続を有することなく）、中間デバイス１１５ａがエンドポイントデバイス１０５ａと、どのように通信するかを示している。例えば、中間デバイス１１５ａは、セルラーカバレッジが殆どまたはまったくないエリアに移動しても、エンドポイントデバイス１０５からビーコンを受信できる可能性がある。さらに、中間デバイス１１５ａは、エンドポイントデバイス１０５ａに宛てられたメッセージを以前に受信している場合がある。中間デバイス１１５ａは、中間デバイス１１５ａがエンドポイントデバイス１０５ａの範囲内に入るまでこのメッセージを格納している可能性があり、中間デバイス１１５ａがエンドポイントデバイス１０５ａの範囲内に入ると、中間デバイス１１５ａは、エンドポイントデバイス１０５ａにそのメッセージを送信することができる。少なくともいくつかの実施形態では、中間デバイス１１５ａは、中継サーバ１２５によって選択され、中間デバイス１１５ａの以前のアクティビティに基づいてエンドポイントデバイス１０５ａに対するこの特定のメッセージを処理した可能性がある。例えば、中間デバイス１１５ａは、メッセージをエンドポイントデバイス１０５ａに以前に運んでいた可能性がある。追加的または代替的に、中間デバイス１１５ａは、エンドポイントデバイス１０５ａと通信した唯一の中間デバイスであってもよく、または中間デバイス１１５ａは、エンドポイントデバイス１０５ａと通信した直近の中間デバイスであってもよい。
【００５１】
図４は、本開示の実施形態が実装され得る例示的なネットワークアーキテクチャ４００を示す。ネットワークアーキテクチャ４００は、１つまたは複数のエンドポイントデバイス１０５、１つまたは複数の中間デバイス１１５、１つまたは複数の中継サーバ１２５、および１つまたは複数のエンドポイントマネージャサーバ１３５のような、図１に示され説明されたコンポーネントを含み得る。特に、図４は、（図３に示すように）第２のネットワーク１２０と以前に接続されていなかった中間デバイス１１５ａが、どのように第２のネットワーク１２０の範囲内で移動し、エンドポイントデバイス１０５ａから受信された通信データを移動できるかを示している。図４に示されるように、中間デバイス１１５ａは、第２のネットワーク１２０ｂの範囲内にある場所に移動している。第２のネットワーク１２０ｂを介して中継サーバ１２５ｂに接続されると、中間デバイス１１５ａは、エンドポイントデバイス１０５ａから受信されたビーコンを送信し得る。中間デバイス１１５ａは、中間デバイス１１５ａが後でエンドポイントデバイス１０５ａに送信し得るエンドポイントデバイス１０５ａに宛てられた追加のメッセージを中継サーバ１２５ｂから受信することも可能である。
【００５２】
図５〜図７は、分散ネットワークに関連する例示的な方法のフロー図を示す。これらの方法は、ハードウェア（回路、専用ロジックなど）、ソフトウェア（汎用コンピュータシステムまたは専用機械で実行されるような）、または両方の組み合わせを含み得る処理ロジックによって実行されることが可能であり、処理ロジックは、図１の中間デバイス１１５および／または中継サーバ１２５、または別のコンピュータシステムまたはデバイスに含まれ得る。しかしながら、別のシステムまたはシステムの組み合わせを使用して方法を実行してもよい。説明を簡単にするために、本明細書で説明される方法は、一連の動作として図示および説明されている。しかしながら、本開示による動作は、様々な順序で、および／または同時に、および本明細書で提示および説明されていない他の動作と共に起こり得る。さらに、開示された主題による方法を実施するために、説明されたすべての動作が使用され得るわけではない。さらに、当業者は、方法が、状態図またはイベントを介して一連の相互に関係する状態として代替的に表され得ることを理解および認識するだろう。加えて、本明細書で開示される方法は、非一時的なコンピュータ可読媒体などの製造品に格納され、そのような方法をコンピューティングデバイスに移送および転送することを容易にすることができる。本明細書で使用される製造品という用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを包含することを意図している。個別のブロックとして示されているが、さまざまなブロックは、所望の実装に応じて、追加のブロックに分割され、より少ないブロックに結合され、または削除され得る。
【００５３】
図５は、デバイス間の通信を処理する例示的な方法５００のフロー図を示している。例えば、例示的な方法５００は、中継サーバ（例えば、図１〜図４の中継サーバ１２５）によって実行され、エンドポイントデバイス（例えば、図１〜図４のエンドポイントデバイス１０５）とエンドポイントマネージャサーバ１３５（例えば、図１〜図４のエンドポイントマネージャサーバ１３５）との間の通信を処理することができる。
【００５４】
方法５００は、ブロック５０５で開始することができ、ここで、処理ロジックは、第１のネットワークを介して第１の中間デバイスからビーコンを受信することができる。第１の中間デバイスは、例えば図１の中間デバイス１１５ａを含み得る。ビーコンは、第２のネットワーク（例えば、図１の無線ネットワーク１１０ａ）を介して、エンドポイントデバイス（例えば、図１のエンドポイントデバイス１０５ａ）から第１の中間デバイスによって受信されていてもよい。少なくともいくつかの実施形態では、第１のネットワークは、第２のネットワークと比較して、より長距離のネットワーク、またはより高い電力のネットワークである。
【００５５】
ブロック５１０において、処理ロジックは、ビーコンの特性を識別することができる。例えば、ビーコンは、エンドポイントデバイスの地理的位置およびエンドポイントデバイスの識別子を示すデータを含み得る。ビーコンの特性を識別することは、ビーコンをスキャンして、エンドポイントデバイスの地理的位置およびエンドポイントデバイスの識別子を示すデータを識別することを含み得る。
【００５６】
ブロック５１５において、処理ロジックは、ビーコンに関連するサーバを識別することができる。サーバは、図１のエンドポイントマネージャサーバ１３５を含み得る。少なくともいくつかの実施形態では、処理ロジックは、ビーコンの特性を使用してサーバを識別してもよい。例えば、エンドポイントデバイスの識別子は、特定のサーバに関連し得る。処理ロジックは、エンドポイントデバイスの識別子を、サーバおよび／またはサーバのアドレスを検索するためのキーとして使用し得る。
【００５７】
ブロック５２０において、処理ロジックは、第３のネットワークを介してビーコンメッセージをサーバに送信することができる。第３のネットワークは、図１のネットワーク１３０を含み得る。少なくともいくつかの実施形態では、ビーコンメッセージは、ビーコン、またはビーコンによって収集されたデータのような、ビーコンに関する情報のうちの少なくとも１つを含むことができる。少なくともいくつかの実施形態では、第３のネットワークを介してサーバにビーコンメッセージを送信することは、サーバにエンドポイントデバイスの識別子を送信することを含み得る。処理ロジックは、ビーコンメッセージをプッシュまたはプルメッセージとしてサーバに送信し得る。
【００５８】
ブロック５２５において、処理ロジックは、ビーコンメッセージに関する応答メッセージをサーバから受信することができる。少なくともいくつかの実施形態では、応答メッセージは、第２の中間デバイス（例えば、図１の中間デバイス１１５ｂ）またはユーザデバイスに宛てられてもよい。少なくともいくつかの実施形態では、応答メッセージは、エンドポイントデバイス−紛失したデバイス−が発見されたという指示（ｉｎｄｉｃａｔｉｏｎ）を含み得る。応答メッセージは、電子地図上にエンドポイントデバイスの位置を表示するために、第２の中間デバイスまたはユーザデバイスによって実行可能な少なくとも１つの命令を含んでもよい。
【００５９】
ブロック５３０において、処理ロジックは、応答メッセージを処理することができる。少なくともいくつかの実施形態では、応答メッセージを処理することは、応答メッセージを第２の中間デバイスに送信することを含む。少なくともいくつかの実施形態では、応答メッセージは、エンドポイントデバイスによって実行可能な命令を含むことができ、応答メッセージを処理することは、応答メッセージをエンドポイントデバイスに送信することを含み得る。応答メッセージを処理することは、応答メッセージを格納することも含み得る。
【００６０】
ブロック５３５において、処理ロジックは、応答メッセージをエンドポイントデバイスに送信することができる。少なくともいくつかの実施形態では、応答メッセージをエンドポイントデバイスに送信することは、図１の中間デバイス１１５のうちの任意のものなど、エンドポイントデバイスに現在通信可能に接続されている中間デバイスを識別することを含み得る。応答メッセージをエンドポイントデバイスに送信することは、応答メッセージをエンドポイントデバイスに転送する命令とともに、応答メッセージを、識別された中間デバイスに送信することも含み得る。
【００６１】
図６は、エンドポイントデバイスと他のデバイスとの間の通信を処理する例示的な方法６００のフロー図を示している。例えば、例示的な方法６００は、中間デバイス（例えば、図１〜図４の中間デバイス１１５）によって実行され、エンドポイントデバイス（例えば、図１〜図４のエンドポイントデバイス１０５）とエンドポイントマネージャサーバ１３５（例えば、図１〜図４のエンドポイントマネージャサーバ１３５）との間の通信を処理することができる。少なくともいくつかの実施形態では、処理ロジックは、複数のデバイスにインストールされたソフトウェアを含み得る。
【００６２】
方法６００は、ブロック６０５で開始することができ、ここで、処理ロジックは、ビーコンをリッスンすることができる。少なくともいくつかの実施形態では、処理ロジックは、第１のネットワーク（例えば、図１の無線ネットワーク１１０）を介してビーコンを周期的にスキャンすることができる。処理ロジックは、１つまたは複数のエンドポイントデバイスのビーコンをサブスクライブすることもできる。
【００６３】
ブロック６１０において、処理ロジックは、第１の地理的位置から第２の地理的位置への第１の中間デバイスの動きを検出することができる。例えば、第１の中間デバイスは、第１の中間デバイスの動きを判定するために、ジャイロスコープ、加速度計、ＧＰＳ、ネットワーク三角測量器などの動きセンサを含み得る。
【００６４】
ブロック６１５において、処理ロジックは、第１の中間デバイスが第２の地理的位置に移動することに応答して、エンドポイントデバイスからビーコンを受信することができる。例えば、第１の中間デバイスは、新しい地理的位置に入ると、エンドポイントデバイスからの任意のビーコンをスキャンし得る。第１の中間デバイスが比較的静止している限り、第１の中間デバイスは、ビーコンをさらにスキャンしなくてもよい。第１の中間デバイスが移動すると、第１の中間デバイスは、ビーコンをスキャンし得る。少なくともいくつかの実施形態では、第１の中間デバイスは、第１のネットワークを介してエンドポイントデバイスからビーコンを受信するように構成されている。
【００６５】
ブロック６２０において、処理ロジックは、ビーコンメッセージを送信するために中継サーバ（例えば、図１の中継サーバ１２５）を識別することができる。ビーコンメッセージは、本明細書で説明されるように、ビーコン、またはビーコンに関する情報のうちの少なくとも１つを含み得る。少なくともいくつかの実施形態では、ビーコンメッセージを送信するために中継サーバを識別することは、第１の中間デバイスの地理的位置を判定すること、一組の中継サーバからその中継サーバを識別することを含み得る。例えば、処理ロジックは、第１の中間デバイスの地理的位置に最も近い中継サーバである中継サーバを選択し得る。
【００６６】
ブロック６２５において、処理ロジックは、エンドポイントデバイスから中継サーバにビーコンメッセージを送信することができる。少なくともいくつかの実施形態では、ビーコンメッセージは、第１の中間デバイスが第２のネットワーク（例えば、図１の第２のネットワーク１２０）に接続されているという判定に応答して、エンドポイントデバイスから中継サーバに送信され得る。少なくともいくつかの実施形態では、ビーコンメッセージをエンドポイントデバイスから中継サーバに送信することは、ビーコンメッセージをエンドポイントデバイスから第２のネットワークを介して中継サーバに送信することを含み得る。
【００６７】
ブロック６３０において、処理ロジックは、ビーコンメッセージに関する応答メッセージを中継サーバから受信することができる。応答メッセージは、応答メッセージの送信先のエンドポイントデバイスの識別情報を含み得る。少なくとも１つの実施形態では、ビーコンメッセージに関する応答メッセージを受信することは、図１の中間デバイス１１５ｂなどの第２の中間デバイスで応答メッセージを受信することを含み得る。第１の中間デバイスおよび第２の中間デバイスは両方とも、データを送信、搬送、および受信するために使用され得る相互接続されたデバイスの仮想ネットワークを形成する実行可能なソフトウェアアプリケーションのインスタンスを有し得る。
【００６８】
ブロック６３５において、処理ロジックは、図１の無線ネットワーク１１０などを介して、エンドポイントデバイスに応答メッセージを送信することができる。少なくとも１つの実施形態では、応答メッセージをエンドポイントデバイスに送信することは、エンドポイントデバイスに応答メッセージを送信する命令を応答メッセージが含んでいると判定することを含み得る。応答メッセージがそのような命令を含んでいるかを判定するために、処理ロジックは、応答メッセージまたは応答メッセージに関連するメタデータを検査して、応答メッセージがエンドポイントデバイスに送信されるべきものであることを判定し得る。少なくとも１つの実施形態では、応答メッセージは、第１の中間デバイスまたは第２の中間デバイスを介してエンドポイントデバイスに送信され得る。
【００６９】
図７は、エンドポイントデバイスと他のデバイスとの間の通信を処理する別の例示的な方法７００のフロー図を示している。例えば、例示的な方法７００は、中間デバイス（例えば、図１〜図４の中間デバイス１１５）によって実行され、エンドポイントデバイス（例えば、図１〜図４のエンドポイントデバイス１０５）とエンドポイントマネージャサーバ１３５（例えば、図１〜図４のエンドポイントマネージャサーバ１３５）との間の通信を処理することができる。少なくともいくつかの実施形態では、処理ロジックは、複数のデバイスにインストールされたソフトウェアを含み得る。
【００７０】
方法７００は、ブロック７０５で開始することができ、ここで、処理ロジックは、無線ネットワーク（例えば、図１の無線ネットワーク１１０）などを介して、エンドポイントデバイスからビーコンを受信することができる。ブロック７１０において、処理ロジックは、サーバ（例えば、図１のエンドポイントマネージャサーバ１３５）からの応答メッセージを要求するかどうかを決定することができる。
【００７１】
サーバからの応答メッセージを要求する決定に応答して（ブロック７１０で「はい」）、処理ロジックは、ブロック７１５において、ビーコンメッセージを送信するために中継サーバを識別し得る。ブロック７２０において、処理ロジックは、ブロック７１５で識別されたサーバにビーコンメッセージを送信することができる。ブロック７２５において、処理ロジックは、サーバから応答メッセージを受信することができる。ブロック７３０において、処理ロジックは、応答メッセージをエンドポイントデバイスに送信することができる。
【００７２】
サーバからの応答メッセージを要求する決定に応答して（ブロック７１０で「いいえ」）、処理ロジックは、ブロック７３５において、所定のイベントが発生するまで、さらなるビーコンをリッスンし得る。所定のイベントは、所定の期間の経過、時間閾値への到達、記憶容量への到達、バッファ限界への到達などを含み得る。ブロック７４０において、処理ロジックは、ブロック７３５において識別された１つまたは複数のビーコンに関連する１つまたは複数のビーコンメッセージを送信するために中継サーバを識別することができる。ブロック７４５において、処理ロジックは、１つまたは複数のビーコンメッセージを１つまたは複数の中継サーバに送信することができる。
【００７３】
図８は、本明細書で説明する方法の任意の１つまたは複数を機械に実施させるための一組の命令が実行され得るコンピューティングデバイス８００の例示的な形態における機械の概略図を示す。コンピューティングデバイス８００は、携帯電話、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、または本明細書で説明された方法のうちの任意の１つまたは複数を機械に実施させるための一組の命令を実行することができる少なくとも１つのプロセッサなどを備えた任意のコンピューティングデバイスを含み得る。別の実施形態では、機械は、ＬＡＮ、イントラネット、エクストラネット、またはインターネットにおいて他の機械に接続（例えば、ネットワーク化）され得る。機械は、クライアント−サーバネットワーク環境におけるサーバ機械の容量で動作し得る。機械は、パーソナルコンピュータ（ＰＣ）、セットトップボックス（ＳＴＢ）、サーバ、ネットワークルータ、スイッチ、ブリッジ、またはその機械により取られるべきアクションを指定する一組の命令（シーケンシャルまたはその他）を実行できる任意の機械を含み得る。さらに、単一の機械のみが示されているが、「機械」という用語は、本明細書で説明される方法のうちの任意の１つまたは複数を実行する一組（または複数組）の命令を個別にまたは共同で実行する機械の任意の集合も含み得る。
【００７４】
例示的なコンピューティングデバイス８００は、処理デバイス（例えば、プロセッサ）８０２、メインメモリ８０４（例えば、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、同期ＤＲＡＭ（ＳＤＲＡＭ）などのダイナミックランダムアクセスメモリ（ＤＲＡＭ））、スタティックメモリ８０６（例えば、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ））、およびデータ記憶デバイス８１６を含み、これらは、バス８０８を介して相互に通信する。
【００７５】
処理デバイス８０２は、マイクロプロセッサ、中央処理装置などの１つまたは複数の汎用処理デバイスを表す。より具体的には、処理デバイス８０２は、複雑命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または他の命令セットを実装するプロセッサ、または命令セットの組み合わせを実装するプロセッサを含み得る。処理デバイス８０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワークプロセッサなどの１つまたは複数の専用処理デバイスも含み得る。処理デバイス８０２は、本明細書で説明された動作およびステップを実行するための命令８２６を実行するように構成されている。
【００７６】
コンピューティングデバイス８００は、ネットワーク８１８と通信することが可能なネットワークインタフェースデバイス８２２をさらに含み得る。コンピューティングデバイス８００は、ディスプレイデバイス８１０（例えば、液晶ディスプレイ（ＬＣＤ）またはブラウン管（ＣＲＴ））、英数字入力デバイス８１２（例えば、キーボード）、カーソル制御デバイス８１４（例えば、マウス）、および信号生成デバイス８２０（例えば、スピーカー）も含み得る。少なくとも１つの実施形態では、ディスプレイデバイス８１０、英数字入力デバイス８１２、およびカーソル制御デバイス８１４は、単一のコンポーネントまたはデバイス（例えば、ＬＣＤタッチスクリーン）に結合され得る。
【００７７】
データ記憶デバイス８１６は、本明細書に記載の方法または機能のうちの任意の１つまたは複数を具体化する１組または複数組の命令８２６が格納されるコンピュータ可読記憶媒体８２４を含み得る。命令８２６は、コンピュータ可読媒体を構成するコンピューティングデバイス８００、メインメモリ８０４、および処理デバイス８０２による実行中に、メインメモリ８０４内および／または処理デバイス８０２内に、完全にまたは少なくとも部分的に存在し得る。命令は、さらに、ネットワークインタフェースデバイス８２２を介してネットワーク８１８を通じて送信または受信され得る。
【００７８】
コンピュータ可読記憶媒体８２６は、例示的な実施形態では、単一の媒体であるように示されているが、「コンピュータ可読記憶媒体」という用語は、１組または複数組の命令を格納する単一の媒体または複数の媒体（例えば、集中型または分散型データベースおよび／または関連するキャッシュおよびサーバ）を含み得る。「コンピュータ可読記憶媒体」という用語は、機械による実行のための一組の命令を格納、符号化、または搬送することができ、機械に本開示の方法のうちの任意の１つまたは複数を実行させる任意の媒体も含み得る。したがって、「コンピュータ可読記憶媒体」という用語は、固体メモリ、光学媒体、および磁気媒体を含むと解釈されるが、これらに限定されない。
【００７９】
本明細書および特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本文）で使用される用語は、一般に「オープン」語（例えば、「含む（ｉｎｃｌｕｄｉｎｇ）」という用語は「含むが、これに限定されない」と解釈され、「有する（ｈａｖｉｎｇ）」という用語は「少なくとも有する」と解釈され、「含む（ｉｎｃｌｕｄｅｓ）」という用語は「含むが、これに限定されない」などと解釈され得る）として意図されている。
【００８０】
さらに、導入された請求項の記載の特定の数が意図されている場合、そのような意図は、請求項に明示的に記載され、そのような記載がない場合、そのような意図は存在しない。例えば、理解を助けるために、添付の特許請求の範囲は、請求項の記載を導入するための導入句「少なくとも１つ」および「１つまたは複数」の使用を含み得る。しかしながら、そのような句の使用は、同じ請求項が、「１つまたは複数」または「少なくとも１つ」の導入句と、「ａ」または「ａｎ」などの不定冠詞とを含む場合でさえも、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのような導入された請求項の記載を含む任意の特定のクレームを、そのような記載を１つだけ含む実施形態に限定することを意味すると解釈されない可能性がある（例えば、「ａ」および／または「ａｎ」は、「少なくとも１つ」または「１つまたは複数」を意味すると解釈され得る）。請求項の記載を導入するために使用される定冠詞の使用についても同じことが当てはまる。
【００８１】
さらに、導入された請求項の記載の特定の数が明示的に記載されている場合でも、当業者は、そのような記載が少なくとも記載された数を意味すると解釈され得ることを認識するであろう（例えば、他の修飾語を伴わない「２つの記載」のそのままの記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、Ｂ、およびＣなどのうちの少なくとも１つ」または「Ａ、Ｂ、およびＣなどのうちの１つまたは複数」に類似した規則が使用される場合、一般にこのような構造は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、またはＡ、Ｂ、およびＣを共に、などを含むことが意図されている。例えば、「および／または」という用語の使用は、このような方法で解釈されることが意図されている。
【００８２】
さらに、詳細な説明、特許請求の範囲、または図面のいずれにせよ、２つ以上の代替用語を表す選言的な単語または句は、用語のうちの１つ、用語のうちのいずれか、または両方の用語を含む可能性を企図すると理解され得る。例えば、「ＡまたはＢ」という句は、「Ａ」または「Ｂ」または「ＡおよびＢ」の可能性を含むと理解され得る。
【００８３】
本明細書で説明される実施形態は、そこに格納されたコンピュータ実行可能命令またはデータ構造を担持する、または有するコンピュータ可読媒体を使用して実装され得る。そのようなコンピュータ可読媒体は、汎用または特殊用途のコンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。例として、限定ではなく、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、またはその他の光学ディスクストレージ、磁気ディスクストレージまたはその他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、固体メモリデバイス）、またはコンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコードを担持または格納するために使用され、汎用または専用コンピュータによってアクセスされ得る任意の他の記憶媒体を含む非一時的コンピュータ可読記憶媒体を含み得る。上記の組み合わせもコンピュータ可読媒体の範囲内に含まれ得る。
【００８４】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイス（例えば、１つまたは複数のプロセッサ）に特定の機能または機能のグループを実行させる命令およびデータを含み得る。主題は構造的特徴および／または方法論的動作に特有の文言で説明されているが、添付の特許請求の範囲で定義される主題は、必ずしも上記の特定の特徴または動作に限定されないことが理解されるべきである。むしろ、上記の特定の特徴および動作は、請求項を実装する例示的な形態として開示されている。
【００８５】
本明細書で使用する「モジュール」または「コンポーネント」という用語は、コンピューティングシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、処理デバイスなど）で格納され、および／または実行できるモジュールまたはコンポーネントおよび／またはソフトウェアオブジェクトまたはソフトウェアルーチンの動作を実行するように構成された特定のハードウェア実装を指し得る。いくつかの実施形態では、本明細書で説明された異なるコンポーネント、モジュール、エンジン、およびサービスは、（例えば、別個のスレッドとして）コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして実装され得る。本明細書で説明されたシステムおよび方法のいくつかは、一般にソフトウェアで実装される（汎用ハードウェアで格納および／または実行される）ものとして説明されているが、特定のハードウェア実装またはソフトウェアおよび特定のハードウェア実装の組み合わせも可能であり、企図されている。この説明では、「コンピューティングエンティティ」は、本明細書で先に定義された任意のコンピューティングシステム、またはコンピューティングシステム上で動作する任意のモジュールまたはモジュールの組み合わせであり得る。
【００８６】
本明細書に記載されたすべての例および条件付き文言は、読者が本発明および技術をさらに発展させるために発明者が貢献した概念を理解するのを助けるための教育的目的を意図しており、そのような具体的に記載された例および条件に限定されるものではないと解釈されるべきである。本開示の実施形態を詳細に説明してきたが、本開示の技術思想および範囲から逸脱することなく、様々な変更、置換、および代替がなされ得ることが理解されるだろう。
【図１】
2020523952.tif 000003
【図２】
2020523952.tif 000004
【図３】
2020523952.tif 000005
【図４】
2020523952.tif 000006
【図５】
2020523952.tif 000007
【図６】
2020523952.tif 000008
【図７】
2020523952.tif 000009
【図８】
2020523952.tif 000010
【国際調査報告】
2020523952.tif 000011
2020523952.tif 000012
2020523952.tif 000013