(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-09
(45)【発行日】2022-09-20
(54)【発明の名称】ゲートウェイ管理コンソールにアクセスするためのコンピュータ処理方法、装置、システム、およびプログラム
(51)【国際特許分類】
H04L 12/66 20060101AFI20220912BHJP
【FI】
H04L12/66
(21)【出願番号】P 2020522660
(86)(22)【出願日】2018-11-06
(86)【国際出願番号】 IB2018058692
(87)【国際公開番号】W WO2019092587
(87)【国際公開日】2019-05-16
【審査請求日】2021-04-23
(32)【優先日】2017-11-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ワン、チェンナン
(72)【発明者】
【氏名】サンチェス、ジョン、コンラート
(72)【発明者】
【氏名】ラマチャンドラン、パズコード
【審査官】佐々木 洋
(56)【参考文献】
【文献】特開2004-220240(JP,A)
【文献】特開2016-143140(JP,A)
【文献】国際公開第2006/090465(WO,A1)
【文献】特開2017-041697(JP,A)
【文献】国際公開第2017/126282(WO,A1)
【文献】国際公開第2006/121161(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
(57)【特許請求の範囲】
【請求項1】
コンピュータの情報処理によりIoTシステムにおけるゲートウェイを構成する方法であって、
識別モジュールによって、ユーザインターフェース(UI)・アクセス情報を運営管理デバイスに提供するステップであって、ここで、前記UIアクセス情報は、ゲートウェイの一意の識別子と、ゲートウェイ・リゾルバの通信アドレスとを含む、提供するステップと、
セットアップ・モジュールによって、前記運営管理デバイスから、前記UIアクセス情報に基づいて生成された管理コンソールについてのURLを介して、セットアップ・データを受信するステップと、
前記セットアップ・モジュールによって、前記セットアップ・データに従って前記ゲートウェイの1つまたは複数の設定を調整するステップと、
前記ゲートウェイが起動することに応答して、前記セットアップ・モジュールによって、前記ゲートウェイのIPアドレスをゲートウェイ・リゾルバに送信するステップと、
前記ゲートウェイが更新されたIPアドレスを受信することに応答して、前記セットアップ・モジュールによって、前記ゲートウェイの更新されたIPアドレスを前記ゲートウェイ・リゾルバに送信するステップと、
前記ゲートウェイ・リゾルバから要求を受信することに応答して、前記セットアップ・モジュールによって、更新されたIPアドレスに基づいて前記管理コンソール
にアクセスするためのURLを生成するステップと、
前記セットアップ・モジュールによって、前記管理コンソールにアクセスするためのURLを前記ゲートウェイ・リゾルバに送信するステップであって、ここで、前記識別モジュールは、前記ゲートウェイに関連付けられた無線周波数識別(RFID)デバイスを備え、前記UIアクセス情報は、前記RFIDデバイスによって前記運営管理デバイスによってキャプチャされることを特徴とする、送信するステップ、
を含む、方法。
【請求項2】
前記識別モジュールが、前記ゲートウェイに関連付けられたバーコードを含み、前記UIアクセス情報が、前記バーコードを用いて前記運営管理デバイスによってキャプチャされる、請求項1に記載の方法。
【請求項3】
モノのインターネット(IoT)・システムであって、請求項1~2の何か1項に記載の方法の各ステップをコンピュータ・ハードウェアによる手段として構成した、システム。
【請求項4】
入力出力デバイスをプラグ接続するのにアクセスできないゲートウェイ・デバイスであって、前記ゲートウェイ・デバイスが、前記ゲートウェイ・デバイスを構成するための管理コンソールを提供するように構成されたプロセッサを含み、前記提供することが、
前記プロセッサによって、ユーザインターフェース(UI)・アクセス情報を運営管理デバイスに提供することであって、前記UIアクセス情報は、ゲートウェイの一意の識別子と、ゲートウェイ・リゾルバの通信アドレスとを含む、提供することと、
前記プロセッサによって、前記運営管理デバイスから、前記UIアクセス情報に基づいて生成された管理コンソールについてのURLを介して、セットアップ・データを受信することと、
前記プロセッサによって、前記セットアップ・データに従って前記ゲートウェイの1つまたは複数の設定を調整することと、
前記ゲートウェイの起動時に、前記ゲートウェイのIPアドレスをゲートウェイ・リゾルバに送信することと、
前記ゲートウェイが更新されたIPアドレスを受信することに応答して、前記ゲートウェイの更新されたIPアドレスを前記ゲートウェイ・リゾルバに送信することと、
前記ゲートウェイ・リゾルバから要求を受信することに応答して、更新されたIPアドレスに基づいて前記管理コンソール
にアクセスするためのURLを生成することと、
前記プロセッサによって、前記管理コンソールにアクセスするためのURLを前記ゲートウェイ・リゾルバに送信することと、を含み、
ここで、前記ゲートウェイ・デバイスが、
前記ゲートウェイ・デバイスに関連付けられたバーコードであって、前記UIアクセス情報が、前記バーコードを用いて前記運営管理デバイスによってキャプチャされる、前記バーコード、
前記ゲートウェイ・デバイスに関連付けられた無線周波数識別(RFID)デバイスであって、前記UIアクセス情報が、前記RFIDデバイスによって前記運営管理デバイスによりキャプチャされる、前記RFIDデバイス、
のうちの少なくとも1つを含む、
ゲートウェイ・デバイス。
【請求項5】
請求項1~2の何か1項に記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【請求項6】
請求項5に記載の前記コンピュータ・プログラムをコンピュータ可読記憶媒体に記録した、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、コンピュータ・システムに対する改善に関し、特に、ゲートウェイの管理コンソール(management console)にアクセスすることを容易にすることによる、モノのインターネット(IoT)の設定に用いられるゲートウェイに関する。
【背景技術】
【0002】
IoTが発達し、多数のデバイスが1つまたは複数のIoTクラウド・サーバに接続されるにつれて、IoTゲートウェイの機能性が、さらに重要性を増している。IoTゲートウェイは、IoT設定においてクラウド・サーバと複数のエンドポイント・デバイスとの間でデータを通信する。例えば、ゲートウェイは、センサ・データを集約し、センサ・プロトコル間で変換し、センサ・データを先へ、かつさらにサーバへ送信する前に、センサ・データを処理する。プロトコルのスコア、接続性モデル、およびエネルギー・プロファイル、ならびにIoTシステムの高分散の性質を用いて、ゲートウェイは、これらの複雑な環境を管理および制御する。IoTゲートウェイは、デバイス接続性、プロトコル変換、データ・フィルタリングおよび処理、セキュリティ、更新、管理などの複数の重要な機能を実行する。1つまたは複数の例において、IoTゲートウェイは、データを処理し、かつデバイス対応システムのインテリジェントな部分となるアプリケーション・コードについてのプラットフォームとしても動作する。IoTゲートウェイは、エッジ・システム-デバイス、コントローラ、およびセンサと、クラウドとの交点にあると考えられる。したがって、IoTゲートウェイそれ自体を管理することは、IoTセットアップを管理することの重要な態様である。IoTゲートウェイの管理は、管理コンソールを用いて実行される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ゲートウェイ管理コンソールにアクセスする方法、システム、プログラムを提供する。
【課題を解決するための手段】
【0004】
1つまたは複数の実施形態によれば、IoTシステムにおけるゲートウェイを構成するための例としてのコンピュータ実施方法は、識別モジュール(identification module)によって、ユーザインターフェース(UI)・アクセス情報を運営管理デバイス(administrative device)に提供することを含む。方法は、セットアップ・モジュール(setup module)によって、運営管理デバイスから、UIアクセス情報に基づいて生成された管理コンソールを介してセットアップ・データを受信することをさらに含む。方法は、セットアップ・モジュールによって、セットアップ・データに従ってゲートウェイの1つまたは複数の設定を調整することをさらに含む。
【0005】
1つまたは複数の実施形態によれば、モノのインターネット(IoT)・システムは、1つまたは複数のアプリケーション・デバイスを対応するアプリケーション・サーバに接続するゲートウェイ・デバイスを含み、ゲートウェイ・デバイスは、メモリ・デバイスと、メモリ・デバイスに連結されたプロセッサと、を含む。プロセッサは、ゲートウェイ・デバイスをセットアップするために管理コンソールへのアクセスを提供し、アクセスを提供することは、管理コンソールにアクセスするためにユーザインターフェース(UI)・アクセス情報を運営管理デバイスに提供することを含む。アクセスを提供することは、管理コンソールを介してセットアップ・データを運営管理デバイスから受信することをさらに含む。アクセスを提供することは、セットアップ・データに従ってゲートウェイ・デバイスの1つまたは複数の設定を調整することをさらに含む。
【0006】
1つまたは複数の実施形態によれば、入力出力デバイスをプラグ接続するのにアクセスできない例としてのゲートウェイ・デバイスであって、プロセッサを含むゲートウェイ・デバイスは、ゲートウェイ・デバイスを構成するための管理コンソールを提供する。管理コンソールへのアクセスを提供することは、ユーザインターフェース(UI)・アクセス情報を運営管理デバイスに提供することを含む。さらに、アクセスを提供することは、運営管理デバイスから、UIアクセス情報に基づいて生成された管理コンソールを介してセットアップ・データを受信することを含む。さらに、アクセスを提供することは、セットアップ・データに従ってゲートウェイの1つまたは複数の設定を調整することを含む。
【0007】
1つまたは複数の実施形態によれば、例としての装置は、メモリと、メモリに連結されたプロセッサとを含み、プロセッサは、モノのインターネット(IoT)・システムのためのゲートウェイ・デバイスとして動作する。プロセッサは、アプリケーション・デバイスとアプリケーション・サーバとの間でルータを介してデータを移送することを実行する。さらに、電力供給することに応答して、プロセッサは、ゲートウェイ・リゾルバについての所定のURLを用いて、装置識別情報をゲートウェイ・リゾルバに送信し、所定のフォーマットを有するURLを介してアクセス可能な管理コンソールを実行する。
【0008】
1つまたは複数の実施形態によれば、プログラム命令が具現化されたコンピュータ可読記憶媒体を含む、例としてのコンピュータ・プログラム製品であって、プログラム命令が、処理回路にモノのインターネット(IoT)・システムのためのゲートウェイ・デバイスとして動作させるように処理回路によって実行可能であり、処理回路が、アプリケーション・デバイスとアプリケーション・サーバとの間でルータを介してデータを移送することを実行する。さらに、処理回路が電力供給されることに応答して、処理回路は、ゲートウェイ・リゾルバについての所定のURLを用いてゲートウェイ識別情報をゲートウェイ・リゾルバに送信し、ゲートウェイ識別情報は、ゲートウェイ・デバイスに割り当てられた一意識別子およびゲートウェイ・デバイスに割り当てられたIPアドレスを含む。さらに、処理回路は、所定のフォーマットを有するURLを介してアクセス可能な管理コンソールを実行する。
【0009】
本文書全体を通して説明される例は、以下の図面および説明を参照してより良く理解されるであろう。図面中のコンポーネントは、必ずしも一定の縮尺ではない。さらに、図面において、類似の参照番号は、異なる図全体を通して対応する部分を指示する。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態による、クラウド・コンピューティング環境を示す図である。
【
図2】本発明の実施形態による、抽象化モデルレイヤを示す図である。
【
図3】1つまたは複数の実施形態による、IoTシステムにおけるゲートウェイのゲートウェイ管理コンソールにアクセスするための例としてのシステムを示す図である。
【
図4】1つまたは複数の実施形態による、例としてのシステムを示す図である。
【
図5】1つまたは複数の実施形態による、IoTゲートウェイの管理コンソールにアクセスするための例としての方法のフローチャートである。
【
図6】1つまたは複数の実施形態による、IoTシステムにおけるゲートウェイを構成するための例としての方法のフローチャートである。
【
図7】1つまたは複数の実施形態による、IoTシステムにおけるゲートウェイの管理コンソールにアクセスするための例としての方法のフローチャートである。
【発明を実施するための形態】
【0011】
発明の多様な実施形態は、関連する図面を参照して本明細書において説明される。発明の代替の実施形態は、この発明の範囲から逸脱することなく考案され得る。多様な接続および位置関係(例えば、上、下、隣接など)は、以下の説明および図面における要素間において述べられている。これらの接続または位置関係あるいはその両方が、特段の指定がない限り、直接または間接であってもよく、本発明は、この点で限定であるように意図されない。それに応じて、エンティティの連結は、直接連結または間接連結のいずれかを指してもよく、エンティティ間の位置関係が、直接または間接の位置関係であり得る。さらに、本明細書において説明される多様なタスクおよび処理ステップは、本明細書で詳細に説明されない追加ステップまたは機能性を有する、より包括的な手続またはプロセスに組み込まれ得る。
【0012】
以下の定義および略称は、特許請求の範囲および明細書の解釈のために使用される。本明細書において使用される、「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」、「包含する」、もしくは「包含している」という用語、またはそれらの任意の他の変形は、非排他的包含を含むように意図される。例えば、要素のリストを含む合成物、混合物、プロセス、方法、製品、または装置は、必ずしもそれらの要素だけに限定されず、明示的に列挙されないか、またはそのような合成物、混合物、プロセス、方法、製品、もしくは装置に固有の他の要素を含み得る。
【0013】
さらに、「例示的」という用語は、「例、事例、または例示として機能すること」を意味するために、本明細書において使用される。本明細書において「例示的」と説明される任意の実施形態または設計は、必ずしも他の実施形態または設計よりも好適または有利であると解釈されるべきではない。「少なくとも1つの」および「1つまたは複数の」という用語は、1以上の任意の整数、即ち、1、2、3、4などを含むように理解され得る。「複数の」という用語は、2以上の任意の整数、即ち、2、3、4、5などを含むように理解され得る。「接続」という用語は、間接「接続」および直接「接続」の両方を含み得る。
【0014】
「約」、「実質的に」、「おおよそ」という用語およびそれらの変形は、本出願の出願時点に入手可能な機器に基づく特定の数量の測定値に関連する誤差の程度を含むように意図される。例えば、「約」は、所与の値の±8%、または5%、または2%の範囲を含み得る。
【0015】
簡潔にするために、発明の態様を作成し使用することに関連する従来技術は、本明細書において詳細に説明されてもよく、されなくてもよい。特に、本明細書で説明される多様な技術的特徴を実施するコンピューティング・システムおよび特定のコンピュータ・プログラムの多様な態様が、よく知られている。それに応じて、簡潔にするために、多くの従来型の実施の詳細は、本明細書で簡潔に述べられるだけであり、または周知のシステムまたはプロセスあるいはその両方の詳細を提供することなく完全に省略される。
【0016】
本明細書で説明される技術的解決策は、特に、IoTゲートウェイが物理的にアクセス可能でない場合に、ユーザ・インターフェース(UI)・コンソールなどのIoTゲートウェイ管理にアクセスすることを容易にする。例えば、IoTゲートウェイは、RASPBERRY PI(商標)のようなシングル・ボード・コンピュータなどの比較的小型のデバイス、または任意の他のそのようなデバイスであってもよい。典型的には、ゲートウェイのオペレーティング・システム(OS)などのソフトウェアは、IoTデバイスの初期構成などの管理タスク、およびゲートウェイとIoTクラウド・サーバとの間の接続セットアップを実行するための、ウェブUIなどのUIを提供する。ゲートウェイ管理UIにアクセスするために、コンピュータ・モニタなどの出力デバイス、およびキーボードまたはマウスあるいはその両方などの入力デバイスが、ゲートウェイOSにログインするため、およびゲートウェイの管理UIを動作させるために、ゲートウェイに直接プラグ接続される。
【0017】
しかしながら、小型であるため、または任意の他の理由のために、ゲートウェイは、ゲートウェイの物理ポートを使用して、またはデバイス・コネクタをゲートウェイにプラグ接続して、あるいは任意の他のそのような物理的な方式で、他のデバイスを物理的に接続するために物理的にアクセス可能でない位置に置かれることがある。代替的に、または追加的に、ゲートウェイは、ゲートウェイの外部にある他のデバイスとの物理接続のためのポートを有しない場合がある。したがって、I/Oデバイスをプラグ接続するために物理的にアクセス不可能なゲートウェイの管理コンソールにアクセスすることに、技術的困難が存在する。本明細書で説明される技術的解決策は、ユニフォーム・リソース・ロケータ(URL)・リゾルバ・サーバを用いることによって、技術的困難に対処する。したがって、本明細書で説明される技術的解決策は、物理的にアクセス不可能なIoTゲートウェイの管理コンソールにアクセスすることを容易にし、したがって、IoTゲートウェイのようにより小型かつ安価なデバイスの使用を容易にすることによってIoTシステムを改善する。物理的にプラグ接続可能なポートを提供しないそのようなデバイスは、使用電力がより少ない場合があるため、小型デバイスは、IoTシステムの効率をさらに改善する。さらに、1つまたは複数の例において、技術的解決策は、IoTゲートウェイのための専用I/Oデバイスを使用する必要がないことによって、IoTシステムのコストをさらに減少させる。
【0018】
本明細書で説明される技術的解決策は、1つまたは複数の例において、クラウド・コンピューティングを用いて実施され得る。本開示は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に列挙される教示の実施は、クラウド・コンピューティング環境に限定されないと予め理解される。むしろ、本発明の実施形態は、現在既知の、または後に開発される任意の他の種類のコンピューティング環境と併せて実施されることが可能である。
【0019】
クラウド・コンピューティングは、最小の管理労力またはサービス・プロバイダとの対話で迅速に供給され解放され得る、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械、およびサービス)の共有プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特性、少なくとも3つのサービス・モデル、および少なくとも4つの配置モデルを含み得る。
【0020】
特性は、以下の通りである。
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダと人との対話を必要とすることなく、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング・ケイパビリティを一方的に供給し得る。
幅広いネットワーク・アクセス:ケイパビリティは、ネットワーク上で利用可能であり、異種シン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による使用を促進する標準的なメカニズムを通してアクセスされる。
リソースの共用:プロバイダのコンピューティング・リソースが、マルチテナント型モデルを使用して複数の消費者にサービスするためにプールされ、異なる物理リソースおよび仮想リソースが要求に従って動的に割り当ておよび再割り当てされる。消費者が、概して、提供されるリソースの正確な場所に対する制御または知識を有しないが、より抽象度の高いレベル(例えば、国、州、またはデータセンタ)において場所を指定することが可能であり得るという点において、位置独立の意味がある。
スピーディな拡張性:ケイパビリティは、場合によっては自動的に、即座にスケール・アウトするようにスピーディかつ弾力的に供給され、即座にスケール・インするようにスピーディに解放され得る。消費者に対しては、供給に利用可能なケイパビリティが、多くの場合無制限であるように見え、いつでも任意の量で購入可能である。
サービスが計測可能であること:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、アクティブなユーザ・アカウント)に適したある抽象度レベルにおいて計測ケイパビリティを活用することによって、リソース使用を自動的に制御し、最適化する。リソース使用量は、モニタリングされ、制御され、報告されて、利用サービスのプロバイダおよび消費者の両方に透明性をもたらし得る。
【0021】
サービス・モデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS):消費者に提供されるケイパビリティは、クラウド・インフラ上で実行中のプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース(例えば、ウェブベースの電子メール)を通して、様々なクライアント・デバイスからアクセス可能である。消費者は、限定されたユーザ固有アプリケーションの構成設定は例外である可能性があるが、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション・ケイパビリティですら含む、基礎的なクラウド・インフラを管理または制御しない。
サービスとしてのプラットフォーム(PaaS):消費者に提供されるケイパビリティは、プロバイダによってサポートされるプログラミング言語およびツールを使用して考案された、消費者が作成したアプリケーションまたは消費者が取得したアプリケーションを、クラウド・インフラ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基礎的なクラウド・インフラを管理または制御しないが、展開されたアプリケーション、およびおそらくアプリケーション・ホスティング環境構成に対して制御を行う。
サービスとしてのインフラ(IaaS):消費者に提供されるケイパビリティは、処理、ストレージ、ネットワーク、ならびに消費者がオペレーティング・システムおよびアプリケーションを含み得る任意のソフトウェアを展開および実行することが可能な他の基本コンピューティング・リソースを供給することである。消費者は、基礎的なクラウド・インフラを管理または制御しないが、オペレーティング・システム、ストレージ、展開されたアプリケーションに対して制御を行い、および、おそらく選択ネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)の限定的な制御を行う。
【0022】
配置モデルは、以下の通りである。
プライベート・クラウド:クラウド・インフラは、組織のためだけに動作される。クラウド・インフラは、その組織または第三者によって管理されてもよく、構内または構外に存在し得る。
コミュニティ・クラウド:クラウド・インフラは、複数の組織によって共有され、共有の関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラは、その組織または第三者によって管理されてもよく、構内または構外に存在し得る。
パブリック・クラウド:クラウド・インフラは、一般大衆または大きい業界団体に利用可能とされ、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラは、一意なエンティティのままであるが、データおよびアプリケーション・ポータビリティを可能にする標準化技術または固有技術(例えば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成物である。
【0023】
クラウド・コンピューティング環境は、無国籍、低結合、モジュール性、および意味相互運用性を中心として指向されたサービスである。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラである。
【0024】
ここで
図1を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示するように、クラウド・コンピューティング環境50は、クラウド消費者によって使用されるローカル・コンピューティング・デバイス、例えば、携帯情報端末(PDA)もしくは携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せが通信し得る、1つまたは複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信し得る。それらは、上述のようなプライベート、コミュニティ、パブリック、もしくはハイブリッド・クラウド、またはその組合せなどの、1つまたは複数のネットワーク内で物理的または仮想的にグループ化されてもよい(図示せず)。これによって、クラウド・コンピューティング環境50が、インフラ、プラットフォーム、またはソフトウェア、あるいはその組合せを、クラウド消費者がローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして提案することが可能となる。
図1に示されるコンピューティング・デバイス54A~Nの種類は、単なる例示であるように意図され、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続あるいはその両方を経て(例えば、ウェブ・ブラウザを用いて)、任意の種類のコンピュータ化デバイスと通信し得ると理解される。
【0025】
ここで
図2を参照すると、クラウド・コンピューティング環境50(
図1)によって提供される機能抽象化レイヤのセットが示されている。
図2に示されるコンポーネント、レイヤ、および機能は、単なる例示であるように意図され、発明の実施形態は、それらに限定されないと、予め理解されるべきである。図示するように、以下のレイヤおよび対応する機能が、提供される。
【0026】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェアおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャ・ベース・サーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0027】
仮想レイヤ70は、仮想エンティティの以下の例、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75が提供され得る、抽象化レイヤを提供する。
【0028】
1つの例では、管理レイヤ80は、後述する機能を提供し得る。リソース供給81は、クラウド・コンピューティング環境内でタスクを実行するために利用される、コンピューティング・リソースおよび他のリソースの動的な調達を提供する。測定および価格設定82は、リソースが、クラウド・コンピューティング環境内で利用されるときのコスト追跡、およびこれらのリソースの消費に対する課金または請求を提供する。1つの例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、データおよび他のリソースについての保護だけでなく、クラウド消費者およびタスクの本人確認を提供する。ユーザ・ポータル83は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、要求されるサービス・レベルが満たされるように、クラウド・コンピューティング・リソース割り当ておよび管理を提供する。サービス水準合意(SLA)計画および遂行85は、将来の要件がSLAに従って予期されるクラウド・コンピューティング・リソースの事前配置および調達を提供する。
【0029】
ワークロード・レイヤ90は、クラウド・コンピューティング環境が利用され得る機能性の例を提供する。このレイヤから提供され得るワークロードおよび機能の例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育配信93、データ解析処理94、トランザクション処理95、ならびにゲートウェイURL解決96を含む。
【0030】
図3は、本発明の1つまたは複数の実施形態による、IoTゲートウェイ管理コンソールにアクセスするための例としてのシステム100を示す。システムは、他のコンポーネントの中でも、1つまたは複数のアプリケーション・デバイス110、ルータ120、ゲートウェイ130、アプリケーション・サーバ140、運営管理デバイス150、ゲートウェイ・リゾルバ160、およびゲートウェイ識別データ・リポジトリ(gateway identification data repository)170を含む。
【0031】
アプリケーション・デバイス110およびアプリケーション・サーバ140は、共にIoTベース・システム/アプリケーションを実施する。アプリケーション・デバイス110は、IoTベース・システムを実施するために、アプリケーション・サーバ140にデータを送信し/アプリケーション・サーバ140からデータを受信する。IoTシステムは、アプリケーション・サーバ140によって実行される1つまたは複数の分析を用いて、アプリケーション・デバイス110により1つまたは複数のパラメータをモニタリング/制御するなどの、任意のシステム/アプリケーションであってもよい。アプリケーション・デバイス110は、IoTデバイスと呼ばれてもよく、センサ、センサ・コントローラなどのデバイス、例えば、サーモスタット、セキュリティ・システム、ホーム・オートメーション・デバイス、生産ライン・オートメーション・センサ、ウェアハウス・オートメーション・システム、自律自動車センサ・システム、またはIoTベース・システムにおいて使用される任意の他のデバイスを含み得る。上記に列挙されたアプリケーション・デバイス110の例は、他の実施形態において使用され得る様々な可能性のあるアプリケーション・デバイス110のほんの一部であることに留意すべきである。
【0032】
アプリケーション・サーバ140は、アプリケーション・デバイス110によってモニタリングされているデータを受信し、データを分析し、アプリケーション・デバイス110によって行われる1つまたは複数の調整を送信する、コンピュータ・サーバである。例えば、IoTシステムが温度調整システムである場合、アプリケーション・サーバ140は、アプリケーション・デバイス110(例えば、サーモスタット)によって収集されるデータの分析に基づいて、モニタリングされている温度を上昇させる(または低下させる)ように、アプリケーション・デバイス110に空調システムの設定を変更させる。他の例では、アプリケーション・デバイス110は、異なるパラメータをモニタリングしてもよく、アプリケーション・サーバは、アプリケーション・デバイス110にそのような異なるパラメータを変更させる。
【0033】
アプリケーション・デバイス110およびアプリケーション・サーバ140は、特にルータ120およびゲートウェイ130などの、1つまたは複数のネットワーク接続性デバイスを介して互いに通信する。ルータ120は、ゲートウェイ130とアプリケーション・サーバ140との間の通信を容易にし、1つまたは複数の例において、通信は、インターネットを用いて行われる。1つまたは複数の例において、ゲートウェイ130およびアプリケーション・デバイス110は、プライベート・ネットワーク内のアプリケーション・デバイス110とプライベート・ネットワーク外のアプリケーション・サーバ140との間の通信を容易にするためにルータ120と通信しているゲートウェイ130を有する、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などのプライベート・ネットワークの一部であってもよい。代替的に、または追加的に、アプリケーション・デバイス110とゲートウェイ130との間の通信は、LAN、WAN、BLUETOOTH(商標)、ZIGBEE(商標)、Z-WAVE(商標)などの任意の無線技術を通して、または直接有線を通してであってもよい。1つまたは複数の例において、ゲートウェイ130およびルータ120は、
図3において別個のデバイスとして示されているが、同一のデバイスの一部であってもよい。
【0034】
1つまたは複数の例において、ゲートウェイ130は、通信ソース(アプリケーション・デバイス110/アプリケーション・サーバ)140のフォーマットから通信宛先(アプリケーション・デバイス110/アプリケーション・サーバ)のフォーマットにデータを変換することによって、アプリケーション・デバイス110とアプリケーション・サーバ140との間の通信を容易にする。
【0035】
1つまたは複数の例において、ゲートウェイ130は、2つ以上のIoTシステムのためのゲートウェイとして動作し得ることに留意すべきである。例えば、アプリケーション・デバイス110は、例えば、温度をモニタリング/制御するために、第1のアプリケーション・サーバ140と通信するアプリケーション・デバイス110のサブセットを含み得る。同時に、アプリケーション・デバイス110の別のサブセットが、例えば動きを検出することによって、セキュリティをモニタリング/制御するためにゲートウェイ130を介して第2のアプリケーション・サーバ140と通信する。本明細書で説明されるもの以外の例が考えられることに留意すべきである。
【0036】
さらに、ゲートウェイ130は、例えばアプリケーション・デバイス110を構成することによって、アプリケーション・デバイス110を用いて実施されている1つまたは複数のIoTシステムをセットアップすることを容易にする。例えば、アプリケーション・デバイス110を構成することは、アプリケーション・デバイス110についての1つまたは複数の動作パラメータ、識別子、ログイン情報などを設定することを含み得る。代替的に、または追加的に、ゲートウェイ130は、アプリケーション・サーバ140から受信されるコマンドに応答して、アプリケーション・デバイス110上にファームウェアをダウンロードし、インストール/更新する。
【0037】
1つまたは複数の例において、ゲートウェイ130は、アプリケーション・デバイス110を構成することを含む、IoTシステムをセットアップするために運営管理者に管理コンソールを提供する。運営管理者は、デバイス初期構成などの管理タスク、および管理コンソールを介してゲートウェイ130とアプリケーション・サーバ140との間の接続をセットアップすることを実行する。運営管理者は、また、管理コンソールを介してゲートウェイ自体を構成する。
【0038】
前述した通り、典型的には管理コンソールにアクセスするために、コンピュータ・モニタ、キーボード、マウス、および他のそのようなI/Oデバイスが、ゲートウェイ130に直接プラグ接続される。I/Oデバイスは、その際、ゲートウェイOSにログインするために使用される。1つまたは複数の例において、ゲートウェイ130の管理コンソールは、ウェブベースであってもよく、したがって、ゲートウェイ130についてのIPアドレスが判断され、次いで、ゲートウェイ130のための管理コンソールは、IPアドレスを用いて起動される。管理コンソールは、IPアドレスに基づく、例えばIPアドレスを含むURLを用いてアクセスされ得る。管理コンソールは、1つまたは複数の例において、ゲートウェイ130自体またはリモートの第3のデバイスのいずれかから起動されてもよい。しかしながら、いくつかの状況下では、本明細書で説明されるように、ゲートウェイ130は物理的にアクセス不可能であるため、これは、ゲートウェイの管理コンソールにアクセスするための望ましいプロセスではない。代替的に、または追加的に、ゲートウェイ130がアクセス可能であるとしても、スクリーンまたはキーボードなどのI/Oデバイスの使用が、ゲートウェイの配備のためのコストを追加する。代替的に、または追加的に、ゲートウェイ130は、例えば、外部の要素がゲートウェイ130に入ることを防止するために、例えば、生物医学研究所において生体有害物質もしくは任意の他の物質がゲートウェイ130に入ることを防止するために、または産業用の設定において埃、水蒸気、微粒子、もしくは任意の他の物質がゲートウェイ130に入ることを防止するために、プラグ接続可能なポートを含まないことがある。本明細書で説明される技術的解決策は、そのような技術的困難に対処する。
【0039】
例えば、
図3に示されるように、運営管理デバイス150は、ゲートウェイ130に物理的にプラグ接続することなく、ゲートウェイ130の管理コンソールにアクセスすることを容易にする。1つまたは複数の例において、ネットワーク115は、ゲートウェイ130およびアプリケーション・デバイス110を含み得る。それに応じて、運営管理デバイス150は、アプリケーション・デバイス110の1つまたは複数の動作パラメータを設定するために、アプリケーション・デバイス110と直接通信することが可能でない場合がある。運営管理デバイス150は、ゲートウェイ130に関連付けられた一意識別子を無線で判断し、ゲートウェイ・リゾルバ160を用いてゲートウェイ130のIPアドレスを判断する。
【0040】
ゲートウェイ・リゾルバ160は、サーバなどのコンピュータである。ゲートウェイ・リゾルバ160は、ゲートウェイ130の一意識別子に基づいてゲートウェイ130についてのIPアドレスを提供するように、運営管理デバイス150からリクエストを受信する。ゲートウェイ・リゾルバ160は、ゲートウェイ識別データ・リポジトリ170を用いて一意識別子に対応するIPアドレスを判断する。
【0041】
ゲートウェイ識別データ・リポジトリ170は、ゲートウェイのIPアドレスと一意識別子の間のマッピングを維持する、テーブルなどのデータ構造を含む。ゲートウェイ識別データ・リポジトリ170は、複数のゲートウェイのためのそのようなマッピングを含み、それは、ゲートウェイ・リゾルバ160へのリクエストを介してゲートウェイのうちの1つのIPアドレスを判断するためにアクセスされ得ることに留意すべきである。ゲートウェイ識別データ・リポジトリ170およびゲートウェイ・リゾルバ160は、
図3において別々のデバイスとして示されているが、1つまたは複数の例において、2つは、単一のシステム/デバイスの一部であってもよいことに留意すべきである。1つまたは複数の例において、運営管理デバイス150およびゲートウェイ・リゾルバ160は、インターネットなどの通信ネットワークを介して通信し、そこで、運営管理デバイス150は、IPアドレス、URL、またはゲートウェイ・リゾルバ160の他のそのようなアクセス・パラメータなどのアクセス・パラメータを知っている。
【0042】
1つまたは複数の例において、ゲートウェイ・リゾルバ160は、運営管理デバイス150が信頼性のあるデバイスである場合にのみ、ゲートウェイ130の一意識別子の対応するIPアドレスを提供する。例えば、運営管理デバイス150に関連付けられた信用証明書が、既知であるか、またはゲートウェイ・リゾルバ160によって認証される場合に、運営管理デバイス150は、信頼性のあるデバイスであり得る。例えば、信用証明書は、MACアドレス、シリアル番号、電話番号、または他のそのようなパラメータなどの、運営管理デバイス150の一意識別子を含み得る。代替的に、または追加的に、信用証明書は、運営管理デバイス150に関連付けられたユーザ名、パスワード、指紋、顔、または他の生体型識別子を含み得る。
【0043】
そのような信用証明書の検証、または信用証明書を用いた認証後、ゲートウェイ・リゾルバ160は、ゲートウェイ130のIPアドレスを運営管理デバイス150に提供し得る。運営管理デバイス150は、さらにIPアドレスを使用して、例えば、IPアドレスに基づいて管理コンソールについてのURLまたは他のアクセス位置を生成することによって、ゲートウェイ130の管理コンソールにアクセスする。代替的に、1つまたは複数の例において、ゲートウェイ・リゾルバ160は、ゲートウェイ130の管理コンソールについてのURLまたはアクセス位置を判断し、運営管理デバイス150にアクセス位置を送信する。代替的に、1つまたは複数の例において、ゲートウェイ・リゾルバ160は、IPアドレスの判断後、管理コンソールのアクセス位置を生成または提供あるいはその両方を行うようにゲートウェイ130にリクエストし、ゲートウェイ130から受信したアクセス位置を運営管理デバイス150に移送する。
【0044】
このように、システム100は、ゲートウェイ130へのプラグ接続を用いることなく、無線方式でゲートウェイ130の管理コンソールにアクセスすることを容易にし、管理コンソールは、IoTセットアップを構成するために使用される。
【0045】
図4は、1つまたは複数の実施形態による、例としてのシステム200を示す。システム200は、コンピュータなどの通信装置であってもよい。例えば、システム200は、デスクトップ・コンピュータ、タブレット・コンピュータ、ラップトップ・コンピュータ、スマートフォンなどの電話、サーバ・コンピュータ、またはネットワーク265を介して通信する任意の他のデバイスであってもよい。システム200は、電子回路などのハードウェアを含む。1つまたは複数の例において、システム200は、ゲートウェイ130、アプリケーション・サーバ140、運営管理デバイス150、ゲートウェイ・リゾルバ160、またはアプリケーション・デバイス110のうちの任意の1つもしくは複数などの、
図3に示されるデバイスのうちの任意の1つまたは複数である。
【0046】
システム200は、コンポーネントの中でも、プロセッサ205、メモリ・コントローラ215に連結されたメモリ210、およびローカルI/Oコントローラ235を介して通信可能に連結された周辺デバイスまたは制御デバイスなどの1つまたは複数の入力デバイス245または出力デバイス240あるいはその両方を含む。これらのデバイス240および245は、例えば、電池センサ、位置センサ、インジケータ/識別灯などを含み得る。従来型のキーボード250およびマウス255などの入力デバイスは、I/Oコントローラ235に連結され得る。I/Oコントローラ235は、例えば、当技術分野において既知の、1つまたは複数のバスまたは他の有線もしくは無線接続であってもよい。I/Oコントローラ235は、通信を可能にするための、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、および受信機などの、単純化のために省略される追加要素を有し得る。
【0047】
I/Oデバイス240、245は、例えば、ディスクおよびテープ・ストレージ、ネットワーク・インターフェース・カード(NIC)または変調器/復調器(他のファイル、デバイス、システム、またはネットワークにアクセスするための)、無線周波数(RF)または他の送受信機、電話インターフェース、ブリッジ、ルータなどの、入力および出力の両方を通信するデバイスをさらに含み得る。
【0048】
プロセッサ205は、ハードウェア命令またはソフトウェア、特にメモリ210に記憶されたものを実行するためのハードウェア・デバイスである。プロセッサ205は、カスタム・メイドまたは市販のプロセッサ、中央処理装置(CPU)、システム200に関連付けられた複数のプロセッサのうちの補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップもしくはチップ・セットの形態の)、マクロプロセッサ、または命令を実行するための他のデバイスであってもよい。プロセッサ205は、キャッシュ270を含み、キャッシュ270は、実行可能な命令フェッチを加速する命令キャッシュ、データ・フェッチおよび記憶を加速するデータ・キャッシュ、および実行可能命令およびデータの両方についての仮想物理アドレス変換を加速するために使用されるトランスレーション・ルックアサイド・バッファ(TLB)を含み得るが、これらに限定されない。キャッシュ270は、より多くのキャッシュ・レベル(L1、L2など)の階層として編成されてもよい。
【0049】
メモリ210は、揮発性メモリ素子(例えば、DRAM、SRAM、SDRAMなどのランダム・アクセス・メモリ(RAM))および不揮発性メモリ素子(例えば、ROM、消去可能プログラマブル読み出し専用メモリ(EPROM)、電子的消去可能プログラマブル読み出し専用メモリ(EEPROM)、プログラマブル読み出し専用メモリ(PROM)、テープ、コンパクト・ディスク読み出し専用メモリ(CD-ROM)、ディスク、ディスケット、カートリッジ、カセットなど)のうちの1つまたは組合せを含み得る。さらに、メモリ210は、電子、磁気、光学、または他の種類の記憶媒体を組み込み得る。メモリ210は、分散アーキテクチャを有してもよく、そこで、様々なコンポーネントが、互いから離れて位置するが、プロセッサ205によってアクセスされ得ることに留意する。
【0050】
メモリ210内の命令は、1つまたは複数の別々のプログラムを含んでもよく、そのそれぞれが、論理機能を実施するための実行可能命令の順序付きリストを含む。
図2の例において、メモリ210内の命令は、適当なオペレーティング・システム(OS)211を含む。オペレーティング・システム211は、本質的に、他のコンピュータ・プログラムの実行を制御してもよく、スケジューリング、入力出力制御、ファイルおよびデータ管理、メモリ管理、ならびに通信制御および関連サービスを提供する。
【0051】
例えば、プロセッサ205のための命令または他の検索可能な情報を含む追加データは、ストレージ220に記憶され得る。ストレージ220は、ハード・ディスク・ドライブまたはソリッド・ステート・ドライブなどのストレージ・デバイスであってもよい。メモリ210またはストレージ220内の記憶された命令は、プロセッサが本明細書で説明されるシステムおよび方法の1つまたは複数の態様を実行することを可能にするものを含み得る。
【0052】
システム200は、ユーザ・インターフェースまたはディスプレイ230に連結されたディスプレイ・コントローラ225をさらに含み得る。いくつかの実施形態では、ディスプレイ230は、LCDスクリーンであってもよい。他の実施形態では、ディスプレイ230は、複数のLEDステータス・ライトを含み得る。いくつかの実施形態では、システム200は、ネットワーク265に連結するためのネットワーク・インターフェース260をさらに含み得る。ネットワーク265は、ブロードバンド接続を介したシステム200と外部サーバ、クライアントなどとの間の通信のためのIPベース・ネットワークであってもよい。実施形態では、ネットワーク265は、衛星ネットワークであってもよい。ネットワーク265は、システム200と外部システムとの間でデータを送信および受信する。いくつかの実施形態では、ネットワーク265は、サービス・プロバイダによって運営される管理されたIPネットワークであってもよい。ネットワーク265は、例えば、WiFi、WiMax、衛星、またはその他などの無線プロトコルおよび技術を用いて、無線様式で実施され得る。ネットワーク265は、また、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット、または他の類似の種類のネットワーク環境などのパケット交換ネットワークであってもよい。ネットワーク265は、固定の無線ネットワーク、無線ローカル・エリア・ネットワーク(LAN)、無線ワイド・エリア・ネットワーク(WAN)、パーソナル・エリア・ネットワーク(PAN)、仮想私設ネットワーク(VPN)、イントラネットまたは他の適当なネットワーク・システムであってもよく、信号を受信および送信するための機器を含み得る。
【0053】
図5は、1つまたは複数の実施形態による、IoTゲートウェイの管理コンソールにアクセスするための例としての方法のフローチャートを示す。方法は、システム100を用いて実施され得る。方法は、410において、ゲートウェイ・デバイス130についての管理コンソール・アクセス情報がアクセス可能であるかどうかを運営管理デバイス150が判断することを含む。例えば、ゲートウェイ・デバイス130は、ゲートウェイ・デバイス130についてのアクセス情報を出力する無線周波数識別(RFID)デバイス(図示せず)を含んでもよい。代替的に、または追加的に、アクセス情報は、BLUETOOTH LOW ENERGY(BLE(商標))、ZIGBEE(商標)、Z WAVE(商標)、または任意の他のそのような近距離通信などの近距離通信プロトコルを介してアクセス可能であり得るゲートウェイ・デバイス130から利用可能であってもよい。代替的に、または追加的に、アクセス情報は、BLUETOOTH(商標)、WIFI(商標)などの無線通信プロトコルを介してゲートウェイ・デバイス130から利用可能であってもよい。代替的に、または追加的に、アクセス情報は、コード、テキスト、画像の形式、または運営管理デバイス150によってキャプチャされ得る任意の他の形式で、ゲートウェイ・デバイス130から利用可能であってもよい。例えば、アクセス情報は、ゲートウェイ・デバイス130上に、またはゲートウェイ・デバイス130に関連付けられた所定の位置に、例えばスティッカーとして貼られたバーコード、クイック・レスポンス(QR)コードなどの一部であってもよい。上記は、無線およびプラグ接続できない方式で、ゲートウェイ・デバイス130によってアクセス情報を提供するわずかな例であり、他の実施形態では、他の技術が使用され得ることに留意すべきである。
【0054】
アクセス情報がアクセス可能である場合、運営管理デバイス150は、420において、ゲートウェイ・デバイス130からアクセス情報を受信する。1つまたは複数の例において、運営管理デバイス150は、カメラ、スキャナ、または他のそのような入力デバイスを用いてゲートウェイ・デバイス130からアクセス情報をキャプチャしてもよい。代替的に、または追加的に、運営管理デバイス150は、上述したものなどの1つまたは複数の無線方式で、ゲートウェイ・デバイス130からアクセス情報をキャプチャする。
【0055】
アクセス情報は、少なくとも2つのパラメータ、ゲートウェイ・デバイス130の一意識別子(ゲートウェイID)、およびゲートウェイ・リゾルバ160のアクセス位置を含む。例えば、アクセス情報がQRコードである場合、QRコードは、ウェブサイトのURLフォーマットで構成され、それは、ゲートウェイ・リゾルバ160を指し、ゲートウェイIDは、ゲートウェイ・リゾルバ160がアクセス情報からゲートウェイIDを取り出し得るやり方で、URLの一部として追加される。例えば、ゲートウェイIDは、ゲートウェイ・リゾルバ160が運営管理デバイス150からリクエストを受信すると取り出し可能である所定のパラメータ値として、アクセス情報の一部である。これは、方法が、430において、アクセス情報を用いてゲートウェイ・リゾルバ160にリクエストを送信することをさらに含むからである。アクセス情報がゲートウェイ・デバイス130からアクセス可能でない場合、運営管理デバイス150は、425において、URLアクセス位置などのゲートウェイ・リゾルバ160の所定の位置、またはアプリケーション・プログラミング・インターフェース(API)・コールなどを用いて、ゲートウェイ・リゾルバ160にリクエストを送信する。運営管理デバイス150は、リクエストのパラメータとしてゲートウェイIDを提供してもよく、この場合でも、ゲートウェイIDは、運営管理デバイス150の運営管理者または別のユーザによって手動で入力される。
【0056】
ゲートウェイIDは、ゲートウェイ・デバイス130の一意識別子、例えば、MACアドレス、シリアル番号、デジタル文字の一意な文字列、またはゲートウェイ・デバイス130についての任意の他の一意識別子であってもよい。
【0057】
ゲートウェイ・リゾルバ160は、運営管理デバイス150からリクエストを受信すると、440において、ゲートウェイIDに基づいてゲートウェイ・デバイス130のIPアドレスを判断する。1つまたは複数の例において、ゲートウェイ・リゾルバ160は、ゲートウェイ識別データ・リポジトリ170内のマッピングを使用して、リクエストから取り出されたゲートウェイIDを用いてゲートウェイ・デバイス130のIPアドレスを判断する。
【0058】
方法は、450において、ゲートウェイ・リゾルバ160によってゲートウェイ・デバイス130の管理コンソールのURLに運営管理デバイス150をリダイレクトすることをさらに含む。1つまたは複数の例において、ゲートウェイ・リゾルバは、管理コンソールのURLを構成し、次いで運営管理デバイス150をURLにリダイレクトする。URLは、ゲートウェイ・デバイス130が、例えばウェブベースUIを介して管理コンソールを起動するために使用する、所定のURLフォーマットを用いて構成され得る。代替的に、または追加的に、ゲートウェイ・リゾルバ160は、ゲートウェイ・デバイス130のIPアドレスを用いて管理コンソールのURLについてゲートウェイ・デバイス130にリクエストし、運営管理デバイス150をゲートウェイ・デバイス130からのURLにリダイレクトする。
【0059】
リダイレクトされると、運営管理デバイス150は、460において、管理コンソールを用いて、ゲートウェイ・デバイス130の設定を調整する。調整された設定は、ゲートウェイ・デバイス130もしくはアプリケーション・デバイス110またはその両方の動作、またはアプリケーション・デバイス110およびアプリケーション・サーバ140を含むIoTシステムの動作あるいはその両方についての設定を含む。
【0060】
例としてのシナリオにおいて、ゲートウェイ管理コンソールにアクセスするために、モバイル・デバイスなどの運営管理デバイス150は、ゲートウェイ・デバイス130に付着されたウェブサイト(URL)のQRコードをスキャンする。QRコードは、ゲートウェイ・リゾルバ160のURLおよびゲートウェイの一意IDを含む。運営管理デバイス150は、QRコードをスキャンすると、HTTPリクエストなどのリクエストをゲートウェイ・リゾルバ160に送信し、ゲートウェイ・リゾルバ160は、リクエストURLからゲートウェイの一意IDを取り出し、この一意IDを用いてデータ・リポジトリ170からゲートウェイのIPアドレスを判断する。ゲートウェイ・リゾルバ160(またはゲートウェイ・デバイス130)は、管理コンソールURLを構成し、コンソールURLを介して運営管理デバイス150を管理コンソールにリダイレクトする。
【0061】
図6は、1つまたは複数の実施形態による、IoTシステムにおけるゲートウェイを構成するための例としての方法のフローチャートを示す。方法は、510において、ゲートウェイ・デバイス130を起動することを含む。ゲートウェイ・デバイス130は、例えば、ネットワーク・ケーブルまたは無線のいずれかによって、ネットワーク265に接続され、電力供給される。起動すると、ゲートウェイ・デバイス130は、512において、ゲートウェイ・デバイス130に割り当てられた一意識別子を判断する。例えば、一意識別子は、メモリ・アドレス、パラメータ値(例えば、シリアル番号、MACアドレス)などの所定の位置からゲートウェイIDを読み出すことによって判断され得る。一意識別子は、配備されたゲートウェイ全ての中で一意である、任意の文字列などであり得る。
【0062】
さらに、ゲートウェイ・デバイス130は、514において、管理コンソールを実行し、所定のURLフォーマットを使用するURLを用いて管理コンソールをアクセス可能にする。例えば、URLフォーマットは、https://(ゲートウェイIPアドレス)/gateway-managementであってもよい。他の実施形態において、URLフォーマットは、前の例とは異なっていてもよいことに留意すべきである。ゲートウェイ・デバイス130は、520において典型的な動作を開始し、それは、528において、アプリケーション・デバイス110と対応するアプリケーション・サーバ140との間でデータを移送することを含む。
【0063】
さらに、方法は、526において、ゲートウェイ・デバイス130上でIPレポーティング・コードを実行することを含み、ゲートウェイ・デバイス130は、ゲートウェイ・デバイス130のIPアドレスをゲートウェイ・リゾルバ160に送信する。1つまたは複数の例において、ゲートウェイ・リゾルバ160のアクセス位置は、所定であり、例えば、ゲートウェイ・リゾルバ160のIPアドレスの形式で、所定のメモリ・アドレスにおいてまたはパラメータ値としてなど、プリセットとしてゲートウェイに含まれる。IPレポーティング・コードは、ゲートウェイ・リゾルバ160のアクセス位置にアクセスし、526において、ゲートウェイ・デバイス130のIPアドレスをゲートウェイ130の一意識別子と共にゲートウェイ・リゾルバ160に送信する。例えば、ゲートウェイ・デバイス130は、{“一意ID”:“6c4008ae8786”,“IP”:“192.168.0.28”}などのフォーマットでメッセージを送信する。使用されるフォーマットは、他の実施形態では異なっていてもよいことに留意すべきである。ゲートウェイ・リゾルバ160は、ゲートウェイ識別子とゲートウェイIPアドレスとの間で、データ・リポジトリ170内のマッピングを更新する。
【0064】
1つまたは複数の例において、ゲートウェイ・デバイス130は、522において、IPアドレスがゲートウェイ・デバイス130に割り当てられる度に、IPアドレスをゲートウェイ・リゾルバ160に報告する。例えば、ゲートウェイ・デバイス130が、電力供給され、ネットワーク265に接続されるとき、IPアドレスが割り当てられると、ゲートウェイ・デバイス130は、IPアドレスをゲートウェイ・リゾルバ160に報告する。さらに、ネットワーク265がリセットされ、ゲートウェイ・デバイス130のIPアドレスが変更される場合、更新されたIPアドレスが、本明細書で説明されるゲートウェイIDと共に、ゲートウェイ・リゾルバ160に報告される。代替的に、または追加的に、ゲートウェイ・デバイス130は、524において、所定のタイマに従って、ゲートウェイIDおよびゲートウェイIPアドレスと共に周期的メッセージをゲートウェイ・リゾルバに送信する。したがって、ゲートウェイ識別データ・リポジトリ170は、ゲートウェイ・デバイス130のゲートウェイIDにマッピングされたゲートウェイ・デバイス130の最新IPアドレスを有する。
【0065】
さらに、方法は、530において、運営管理デバイス150を用いてゲートウェイ・デバイス130を構成することを含む。構成することは、532において、管理コンソール・アクセス情報を運営管理デバイス150に提供することを含む。本明細書で説明されるように、アクセス情報は、無線方式で提供される。アクセス情報は、少なくともゲートウェイIDおよびURLなどのゲートウェイ・リゾルバ・アクセス位置を、例えば、QRコードなどの形式で含む。運営管理デバイス150は、ゲートウェイIDを用いて、本明細書で説明されるようにゲートウェイ・リゾルバ160を介して管理コンソールURLを解決する。
【0066】
方法は、534において、管理コンソールに関連付けられたURLにおいて管理コンソールにアクセスするために、運営管理デバイス150からリクエストを受信することをさらに含む。本明細書で説明されるように、URLは、所定のフォーマットを使用し、ゲートウェイ・リゾルバ160によって構成されてもよく、またはゲートウェイ・デバイス130によってゲートウェイ・リゾルバ160に提供される。ゲートウェイ・リゾルバ160は、運営管理デバイス150を管理コンソールURLにリダイレクトする。
【0067】
方法は、536において、ゲートウェイ・デバイス130の設定または例えばアプリケーション・デバイス110のIoT設定、あるいはその両方を、管理コンソールを介して受信される命令の通りに調整することを、さらに含む。
【0068】
ユーザ/運営管理者が、ゲートウェイ・デバイス130の管理コンソールに無線方式でアクセスし、IoTシステムにおいて動作するようにゲートウェイ・デバイス130を構成し得るように、方法は、ゲートウェイ・デバイス130が、ゲートウェイのIPアドレスに対するいかなる変更もゲートウェイ・リゾルバに知らせ続けることを容易にする。管理コンソールが、アプリケーション・デバイス110の動作パラメータなどの、IoTシステムの設定を調整することも容易にすることに留意すべきである。例えば、管理コンソールは、通信プロトコル、アプリケーション・サーバ、キャプチャされた測定値、測定頻度、またはアプリケーション・デバイス110の任意の他のそのような動作パラメータを変更することを容易にし得る。
【0069】
図7は、1つまたは複数の実施形態による、IoTシステムにおけるゲートウェイの管理コンソールにアクセスするための例としての方法のフローチャートを示す。方法は、610において、ゲートウェイ・リゾルバ160によって、ゲートウェイ・デバイス130から識別情報を受信することを含む。識別情報は、本明細書で説明されるように、ゲートウェイ・デバイス130のゲートウェイIDおよびIPアドレスを含む。識別情報は、ゲートウェイ・デバイス130が起動するとき、ネットワークのリセットを経験するとき、または任意の他の理由で更新されたIPアドレスが割り当てられたとき、あるいはそれらの組合せのときに、受信され得る。
【0070】
方法は、620において、ゲートウェイ・リゾルバ160によってデータ・リポジトリ170を更新することをさらに含む。更新は、622において、ゲートウェイIDおよびゲートウェイIPアドレスを受信した識別情報から取り出すことを含む。1つまたは複数の例において、2つのパラメータは、所定の位置にあるか、または受信した識別情報の所定の部分である。ゲートウェイ・リゾルバ160は、624において、ゲートウェイIDとゲートウェイIPアドレスとの間のマッピングを維持するデータ・リポジトリ170内にゲートウェイIDが既に存在するかどうかをチェックする。ゲートウェイIDがデータ・リポジトリ170内に存在しない場合、626において、新たなエントリがマッピング内に生成され、エントリは、識別情報において受信したゲートウェイIDとゲートウェイIPアドレスとをマッピングする。ゲートウェイIDがデータ・リポジトリ170内のエントリに既に存在する場合、628において、識別情報において受信したゲートウェイIPアドレスで、エントリが更新される。データ・リポジトリ170は、したがって、最新のゲートウェイIPアドレスを含む。
【0071】
さらに、方法は、630において、ゲートウェイ・リゾルバ160によって、管理アクセス情報を解決するためのリクエストを運営管理デバイス150から受信することを含む。本明細書で説明されるように、運営管理デバイス150は、ゲートウェイ・デバイス130からアクセス情報を受信することに応答して、リクエストを送信し得る。代替的に、または追加的に、運営管理デバイス150は、ゲートウェイIDについて手動入力でリクエストを送信する。
【0072】
1つまたは複数の例において、ゲートウェイ・リゾルバ160は、640において、リクエストが信頼性のある運営管理デバイス150から受信されたことを認証する。例えば、認証は、運営管理デバイス150が運営管理デバイスの所定のリストからの1つであることを保証することを含み得る。例えば、運営管理デバイス150から受信したアクセス情報は、運営管理デバイス150についての検証情報も含む。例えば、検証情報は、MACアドレス、シリアル番号などの、運営管理デバイスの識別を含む。代替的に、または追加的に、検証情報は、公開鍵証明書などの1つまたは複数の検証技術、または任意の他のセキュリティ技術を用いたデジタル証明書などの信用証明書を含む。代替的に、または追加的に、検証情報は、ユーザ名とパスワードの組合せ、生体情報、またはゲートウェイ・リゾルバ160にリクエストを送信する運営管理デバイス150のユーザに関連付けられた任意の他のそのようなデータを含む。
【0073】
運営管理デバイス150が信頼性のあるデバイスでない場合、ゲートウェイ・リゾルバは、方法を続行せず、運営管理デバイス150は、ゲートウェイ・デバイス130の管理コンソールにアクセスすることを妨げられる。運営管理デバイス150が信頼性のあるデバイスである場合、ゲートウェイ・リゾルバ160は、650において、ゲートウェイ管理コンソールの、URLなどのアクセス位置を判断する。
【0074】
ゲートウェイ管理コンソールURLを判断することは、652において、ゲートウェイIDをさらに取り出すリクエストからアクセス情報を解析することを含む。ゲートウェイ・リゾルバ160は、654において、データ・リポジトリ170がゲートウェイIDについてのマッピング・エントリを含むかどうかをチェックする。エントリが存在しない場合、ゲートウェイ・リゾルバ160は、654において、運営管理デバイス150にエラー条件を示す。ゲートウェイIDについてのマッピング・エントリがデータ・リポジトリ170から取り出される場合、ゲートウェイ・リゾルバは、656において、マッピングからゲートウェイIPアドレスを判断する。
【0075】
方法は、658において、マッピングからゲートウェイIPアドレスを用いてゲートウェイ・デバイス130のURLを取得することをさらに含む。1つまたは複数の例において、URLを取得することは、本明細書において説明されるように、ゲートウェイ・リゾルバ160が、ゲートウェイ・デバイス130についての所定のフォーマットを用いてURLを構成することを含む。1つまたは複数の例において、異なるゲートウェイ・デバイスは、異なる対応する所定のフォーマットを使用し得る。それに応じて、1つまたは複数の例において、データ・リポジトリ170は、それぞれのゲートウェイ・デバイス130についてのURL生成のための所定のフォーマットをマッピング・エントリに記憶し得る。代替的に、ゲートウェイ・リゾルバ160は、URL構成のための所定のフォーマットを提供するために、ゲートウェイ・デバイス130にリクエストを送信する。ゲートウェイ・デバイス130についての所定のフォーマットに基づいて、ゲートウェイ・リゾルバは、ゲートウェイ管理コンソールについてのURLを生成する。
【0076】
代替的に、1つまたは複数の例において、ゲートウェイ・リゾルバ160は、マッピング・エントリから取り出されたゲートウェイIPアドレスを用いて、ゲートウェイ・デバイス130にリクエストを送信し、リクエストは、ゲートウェイ管理コンソールURLについてである。応答して、ゲートウェイ・デバイス130は、ゲートウェイ管理についてのURLを提供する。
【0077】
方法は、660において、運営管理デバイス150によって送信されたアクセス情報を解決するためのリクエストに応答して、運営管理デバイス150をゲートウェイ管理コンソールURLにリダイレクトすることをさらに含む。運営管理デバイス150は、URLにリダイレクトされると、ゲートウェイ・デバイス130、アプリケーション・デバイス110の1つもしくは複数の動作パラメータ、またはアプリケーション・デバイス110がその一部であるIoTシステムの動作に関連付けられた他のパラメータを調整するための命令を提供することが可能である。
【0078】
本明細書で説明される技術的解決策は、ポートまたは他のプラグ接続可能なハードウェアを介して物理的にアクセス不可能なIoTゲートウェイ・デバイスの管理コンソールにアクセスすることを容易にする。さらに、本明細書において説明される技術的解決策は、IoTベース・システムをセットアップするコストを低下させることを容易にする。本明細書で説明される技術的解決策は、アクセス可能なゲートウェイ、またはアクセス可能なプラグ接続可能ポートのないゲートウェイを用いることを容易にすることによって、IoTベース・システムを改善し、それは、生物医学、産業アプリケーションなどの文脈などにおいてそのような要件を有する設定でIoTシステムを用いることを可能にする。さらに、ゲートウェイにおけるプラグ接続可能なポートがゲートウェイのサイズを増加させるため、技術的解決策は、ゲートウェイのサイズの減少を容易にすることによって、IoTシステムを改善する。
【0079】
本明細書で説明される技術的改善策は、さらに、コンピュータのIPアドレスを解決するために名前サーバによって使用され得る木構造を使用せず、本明細書で説明される技術的改善策は、ゲートウェイのIPアドレスを解決するための集中型IPサービス・サーバであるゲートウェイ・リゾルバを使用する。ゲートウェイのIPアドレスは、固定IPまたは動的IPのいずれかであり得る。本明細書で説明される技術的解決策によれば、最新のゲートウェイ管理コンソールURLが取り出され得るように、ゲートウェイは、周期的に、またはネットワーク・リセットなどのイベントに応答して、ゲートウェイ・リゾルバが動作するURLリゾルバ・サービスにゲートウェイのIPアドレスを報告する。よって、技術的解決策は、ゲートウェイ識別子とゲートウェイの管理コンソールURLとの間のアクティブな結合を使用し、結合は、一意(1対1)であり、主体的である(リソース所有者、ゲートウェイ、周期的報告が、結合サービス・サーバへのIPである)。
【0080】
本技術的解決策は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってもよい。コンピュータ・プログラム製品は、プロセッサに本技術的解決策の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体を含んでもよい。
【0081】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用するための命令を保持し、記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述したものの任意の適当な組合せであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたはその上に記録された命令を有する溝内の隆起構造などの機械的に符号化されたデバイス、および前述したものの任意の適当な組合せを含む。本明細書で用いられるコンピュータ可読記憶媒体は、本来、電波もしくは他の自由伝播する電磁波、導波管もしくは他の送信媒体を通って伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または電線を通って送信される電気信号などの、一時的信号であると解釈されるべきではない。
【0082】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくは無線ネットワーク、またはその組合せを介して外部コンピュータまたは外部ストレージ・デバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを含み得る。各コンピューティング/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0083】
本技術的解決策の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、またはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードのいずれかであってもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザのコンピュータ上で部分的にかつリモート・コンピュータ上で部分的に、またはリモート・コンピュータもしくはサーバ上で完全に、実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意の種類のネットワークを通して、ユーザのコンピュータに接続されてもよい。あるいは、接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本技術的解決策の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによって、コンピュータ可読プログラム命令を実行し得る。
【0084】
本技術的解決策の態様は、技術的解決策の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して、本明細書において説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ると理解される。
【0085】
コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する手段を生成するように、これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってよい。コンピュータ可読記憶媒体に記憶される命令を有するコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作の態様を実施する命令を含む製品を含むように、これらのコンピュータ可読プログラム命令は、また、コンピュータ可読記憶媒体に記憶されて、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定のやり方で機能するように指示し得るものであってもよい。
【0086】
コンピュータ、他のプログラマブル装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施するように、コンピュータ可読プログラム命令は、また、コンピュータによって実施されるプロセスを作り出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0087】
図面中のフローチャートおよびブロック図は、本技術的解決策の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の考えられる実施のアーキテクチャ、機能性、および動作を示している。この点に関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表してもよい。いくつかの代替的実施において、ブロック内に記載された機能は、図面中に記載された順序以外で発生してもよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、または、ブロックが、関係する機能性次第で逆の順序で実行されることがあってもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方におけるブロックの組合せが、指定された機能もしくは動作を実行し、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェアベース・システムによって実施され得ることにも留意される。
【0088】
第2のアクションは、第2のアクションが第1のアクションから直接的または間接的に生じるかどうかとは関係なく、第1のアクション「に応答して」と言われ得る。第2のアクションは、第1のアクションよりも大幅に後の時間に発生してもよく、やはり第1のアクションに応答してであってもよい。同様に、第1のアクションと第2のアクションとの間に介入するアクションが行われる場合であっても、かつ、介入するアクションの1つまたは複数が、直接的に第2のアクションを実行させる場合であっても、第2のアクションは、第1のアクションに応答してと言われ得る。例えば、第1のアクションがフラグを設定し、かつその後フラグが設定される度に第3のアクションが第2のアクションを開始する場合、第2のアクションは、第1のアクションに応答してであり得る。
【0089】
一般への通知の使用を明確にするため、およびこれにより一般への通知を提供するために、「<A>、<B>、...および<N>のうちの少なくとも1つ」または「<A>、<B>、...<N>のうちの少なくとも1つまたはその組合せ」または「<A>、<B>、...または<N>あるいはその組合せ」という語句は、広義に解釈されるべきであり、明示的に逆の主張がされない限り、A、B、...およびNを含むグループから選択される1つまたは複数の要素を意味するように、上記または下記において任意の他の暗黙の定義に取って代わる。言い換えると、語句は、任意の1つの要素のみ、または列挙されていない追加要素も組み合わせて含み得る他の要素のうちの1つもしくは複数と組み合わせた1つの要素を含む、要素A、B、...またはNのうちの1つまたは複数の任意の組合せを意味する。
【0090】
命令を実行する、本明細書で例示された任意のモジュール、ユニット、コンポーネント、サーバ、コンピュータ、端末、またはデバイスは、記憶媒体、コンピュータ記憶媒体、または例えば磁気ディスク、光ディスク、もしくはテープなどのデータ記憶デバイス(リムーバブルもしくは非リムーバブルまたはその両方)などの、コンピュータ可読媒体を含むか、またはコンピュータ可読媒体にアクセスし得るとも理解される。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、または他のデータなどの情報の記憶のために任意の方法または技術で実施された、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み得る。そのようなコンピュータ記憶媒体は、デバイスの一部であってもよく、デバイスにアクセス可能または接続可能であってもよい。本明細書で説明される任意のアプリケーションまたはモジュールは、そのようなコンピュータ可読媒体によって記憶され、または保持され得るコンピュータ可読/実行可能命令を用いて実施され得る。
【0091】
本明細書における技術的特徴の多様な実施形態の説明は、例示の目的で提示されているが、網羅的であること、または開示された実施形態に限定することを意図したものではない。多くの修正および変形が、説明された実施形態の範囲および思想から逸脱することなく当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実用的な適用、もしくは市場で発見される技術を超える技術的改善を最もよく説明するため、または他の当業者が本明細書に開示される実施形態を理解することを可能にするために、選択された。