本願の開示事項は一般的に通信ネットワークに関するものであり、特に、IoT(Internet−of−Things)デバイスの通信をサポートすることに関するものであるが、これに限定されない。
背景
IoTデバイスは益々普及しており、多様化する傾向にある(例えば、多様な目的を果たすことができる多くのタイプのデバイスを含む)。IoTデバイスの普及と多様化は、IoTデバイスの通信のサポートにおける、特定の変化を意味する場合がある。
摘要
本開示は一般的に、IoTデバイスの通信をサポートするために構成される機能を開示する。
少なくともいくつかの実施形態では、あるデバイスはIoTデバイスの通信をサポートするために構成される。前記デバイスは、プロセッサと、前記プロセッサと通信可能に接続するメモリとを備える。前記プロセッサは、IoT関連機器によって、無線ネットワークの無線アクセスデバイスに、IoT関連機器のためのフローセッション(flow session)のフローレッグ(flow leg)の確立をリクエストするcreate flow requestメッセージを送信するように構成される。ここで、前記create flow requestメッセージは、前記フローセッションの前記フローレッグのためのIoT関連機器によって選択されるフロー識別子を含む。前記プロセッサは、前記IoT関連機器と前記無線アクセスデバイスとの間でIoTデータパケットの通信をサポートするように構成される。ここで、前記IoTデータパケットは、前記IoT関連機器の固有デバイス識別子、前記フロー識別子、IoTデバイスデータを含む。少なくともいくつかの実施形態では、持続性コンピュータ可読記憶媒体は、コンピュータによって実行された場合に、前記コンピュータにIoT関連機器の通信のサポートに関連する方法を実行させる命令を記憶している。少なくともいくつかの実施形態では、IoT関連機器の通信のサポートに関する方法が提供される。
少なくともいくつかの実施形態では、あるデバイスはIoTデバイスの通信をサポートするために構成される。前記デバイスは、プロセッサと、前記プロセッサと通信可能に接続するメモリとを備える。前記プロセッサは、IoTゲートウェイデバイスによって、第1のデバイスからフローセッションのフローレッグを介し、第1のヘッダと第1のペイロードとを含む第1のパケットを受信するように構成される。ここで、前記第1のヘッダは、前記第1のデバイスのレイヤ2アドレスと前記第1のフローレッグの第1のフロー識別子とを含み、前記第1のペイロードは、IoTデバイスデータを含む。前記プロセッサは、IoTゲートウェイデバイスによって、第2のデバイスに前記フローセッションの第2のフローレッグを介し、第2のヘッダと第2のペイロードとを含む第2のパケットを送信するように構成される。ここで、前記第2のヘッダは、前記第2のデバイスのレイヤ2アドレスと前記第2のフローレッグの第2のフロー識別子とを含み、前記第2のペイロードは、前記IoTデバイスデータを含む。少なくともいくつかの実施形態では、持続性コンピュータ可読記憶媒体は、コンピュータによって実行された場合に、前記コンピュータにIoT関連機器の通信のサポートに関連する方法を実行させる命令を記憶している。少なくともいくつかの実施形態では、IoT関連機器の通信のサポートに関する方法が提供される。
少なくともいくつかの実施形態では、あるデバイスはIoTデバイスの通信をサポートするために構成される。前記デバイスは、プロセッサと、前記プロセッサと通信可能に接続するメモリとを備える。前記プロセッサは、無線ネットワークの無線アクセスデバイスによって、前記無線ネットワークへの前記IoT関連機器のアタッチメントをリクエストするattach requestメッセージをIoT関連機器から受信する。ここで、前記attach requestメッセージは、前記IoT関連機器のGUIDと、前記IoT関連機器の固有デバイス識別子とを含む。前記プロセッサは、前記無線アクセスデバイスが前記IoT関連機器用のエントリーを有していないという判断に基づき、前記無線アクセスデバイスによって前記無線ネットワークのネットワークコントローラに前記attach requestメッセージを送信するように構成される。前記プロセッサは、前記無線アクセスデバイスによって前記ネットワークコントローラから、前記IoT関連機器に割り当てられるレイヤ2アドレスと、前記IoT関連機器のために割り当てられるIoTゲートウェイデバイスのレイヤ2アドレスとを含むメッセージを受信するように構成される。少なくともいくつかの実施形態では、持続性コンピュータ可読記憶媒体は、コンピュータによって実行された場合に、前記コンピュータにIoT関連機器の通信のサポートに関連する方法を実行させる命令を記憶している。少なくともいくつかの実施形態では、IoT関連機器の通信のサポートに関する方法が提供される。
少なくともいくつかの実施形態では、あるデバイスはIoTデバイスの通信をサポートするために構成される。前記デバイスは、プロセッサと、前記プロセッサと通信可能に接続するメモリとを備える。プロセッサは、無線アクセスデバイスに関連するネットワークスイッチによって、ネットワークコントローラからフローエントリー情報を受信するように構成されている。ここで、前記フローエントリー情報はルールのセットとアクションのセットとを含み、前記ルールのセットは、前記IoT関連機器に割り当てられるレイヤ2アドレス、または、前記IoT関連機器に割り当てられるIoTゲートウェイデバイスのレイヤ2アドレスに適合するように構成される。また、前記アクションのセットは、前記ルールのセットに適合するパケットが、前記ネットワークスイッチから前記IoTゲートウェイデバイス、または、前記ネットワークスイッチから前記無線アクセスデバイスに転送されるべき旨の表示を含む。前記プロセッサは、前記ネットワークスイッチによって、前記IoT関連機器に割り当てられる前記レイヤ2を含むレイヤ2アドレスフィールドを含むIoTデータパケット、または、前記IoTゲートウェイデバイスの前記レイヤ2アドレスを含むレイヤ2アドレスフィールドを含むIoTデータパケットを受信するように構成される。前記プロセッサは、前記IoTデータパケットを、前記ネットワークスイッチから前記無線アクセスデバイス、または、前記フローエントリー情報に基づく前記IoTゲートウェイデバイスに転送するように構成される。少なくともいくつかの実施形態では、持続性コンピュータ可読記憶媒体は、コンピュータによって実行された場合に、前記コンピュータにIoT関連機器の通信のサポートに関連する方法を実行させる命令を記憶している。少なくともいくつかの実施形態では、IoT関連機器の通信のサポートに関する方法が提供される。
本明細書の記載事項は、以下の詳細な説明を添付の図面と共に検討することによって容易に理解されるであろう。
図1は、IoTデバイスの通信をサポートするように構成される通信システムの一例を示す。
図2は、IoTデバイスのためのレイヤ2デバイスコネクティビティをサポートするため、図1の通信システムのコンテキストの中でのメッセージフローの一例を示す。
図3は、IoTデバイスのためのデバイス認証、承認、登録、ディスカバリをサポートする、図1の通信システムのコンテキストの中でのメッセージフローの一例を示す。
図4は、1対1の通信モードに基づくIoTデバイスのための、図1の通信システムに基づくメッセージフローの一例を示す。
図5は、1対多の通信モードに基づくIoTデバイスのための、図1の通信システムに基づくメッセージフローの一例を示す。
図6は、1対多の通信モードに基づくIoTデバイスのための、図1の通信システムに基づくメッセージフローの一例を示す。
図7は、複数のIoTデバイスの通信をサポートするように構成される、IoTハブを備える通信システムの一部の一例を示す。
図8は、無線ネットワークを介した通信でのIoT関連機器による使用のための方法の一例を示す。
図9は、IoT関連機器の通信のサポートにおける無線ネットワークの無線アクセスデバイスによる使用のための方法の一例を示す。
図10は、IoT関連機器の通信のサポートにおける無線ネットワークに関連するネットワークスイッチによる使用のための方法の一例を示す。
図11は、IoT関連機器の通信のサポートにおけるIoTゲートウェイデバイスによる使用のための方法の一例を示す。
図12は、本明細書に記載される様々な機能の実行での使用に適したコンピュータのハイレベルなブロック図を示す。
詳細説明
理解を容易にするため、種々の形態に共通の同一の要素を示す場合には、可能な限り同一の参照番号を使用している。
本開示は一般的に、IoTデバイスの通信をサポートするために構成される機能を開示する。IoTデバイスの通信機能は、IoTデバイスの通信をサポートするために構成可能である。ここで、このIoTデバイスには、IP(Internet Protocol)のIoTデバイスと非IP(non-IP)のIoTデバイスとを含むことができる。IoTデバイスの通信機能は、多種の通信ネットワークを介したIoTデバイスの通信をサポートするように構成可能である。ここで、これら多種の通信ネットワークは、有線ネットワーク、無線ネットワーク、これに類するもの、およびこれらの様々な組み合わせを含む。IoTデバイスの通信機能は、様々な機能をサポートするように構成可能である。ここで、これら様々な機能は、IoTデバイスのコネクティビティ機能、IoTデバイスのディスカバリ機能、IoTデバイスのネットワーキング機能、これらに類似するもの、及びこれらの様々な組み合わせ等、IoTデバイスの通信をサポートするために使用可能である。これらや様々な他の実施形態、および、IoTデバイスの通信機能の潜在的利点は、図1の例示的な通信システムを参照することでさらに理解できると考えられる。
図1は、IoTデバイスの通信をサポートするように構成される通信システムの一例を示す。
通信システム100は、SDN(Software Defined Networking)をベースにした5Gネットワークの実装に基づく。ここで、5Gネットワークは、IP(Internet Protocol)のIoTデバイスと非IP(non-IP)のIoTデバイスとをサポートするように構成される。
通信システム100は、5Gネットワークを介するIPベース及び非IPベースのIoTデバイスのためのコネクティビティ、ディスカバリ、ネットワーキングをサポートするように構成されうる。通信システム100は、5Gネットワーク及びその他のネットワークを介するIoTデバイスのサポートに関連する様々な課題または潜在的な課題に取組む方法で、5Gネットワークを介するIPベース及び非IPベースのIoTデバイスのためのコネクティビティ、ディスカバリ、ネットワーキングをサポートするように構成されうる。一般的に、IoTデバイスは、広域ネットワークへのコネクティビティを必要とする。これにより、シームレスなデバイスディスカバリ(例えば、センサ、アクチュエータその他これに類似するもののディスカバリ)及びネットワーキング(例えば、データ交換)を可能にし、IoTデータの取得(例えば、センサデータを解析用にクラウドに送信できたり、IoT関連機器が情報交換できたり等する)、IoTデバイス制御(例えば、センサのリモート制御、アクチュエータのリモート制御等)、その他これらに類するものやこれらの組み合わせをサポートする。しかし、IoTデバイスのためのこのような機能をサポートするには多くの課題がある。例えば、多くのタイプのIoTシステムでは(例えば、スマートメーター、スマートグリッド、スマートシティその他これに類するもの等のコンピュータネットワークでつながる物理的なシステム(cyber physical system))、比較的少数のデータを断続的に多数のローエンド(low-end)IoTデバイス間で送信する必要がある場合がある。そして、多くのIoTデバイスが非IPデバイスであり、多くのデバイスに対するアドレス割り当ておよび管理が変化し、比較的小さなパケットの不定期な送信によってモバイルネットワークを介するIPベースのプロトコルを伴う著しいシグナリング及びコントロールプレーンのオーバーヘッドが起こる可能性がある場合、従来のIPベースのネットワーキングは十分には適していないため、問題になることがある。さらに、例えば、権限付与されたIoTデバイスのディスカバリ、権限付与されたIoTデバイスのデバイス機能は、上記のようなIoTデバイスへのコネクティング、広域ネットワークを介するIoTデバイスのディスカバード・ケイパビリティ(discovered capability)の利用と同様に、特定の条件下(例えば、異なるIoTデバイスがもともと異なるネットワークプロトコルを使用している場合があり、少なくともこれらのいくつかは比較的限られた範囲(LAN、ポイントツーポイント、その他これに類するもの)でしか通信できず、広域ネットワークを直接的に提供できないといった条件では困難な場合がある。さらに、例えば、IoTデバイスとその他の種類のデバイスとの間のネットワーキングは、これらデバイスに関する様々なオーバーヘッドを有する場合があり、効率性、待ち時間、またはこれに類するもの、及びこれらの様々な組み合わせに影響を与える場合がある。
通信システム100は、5Gネットワークを介するIPベース及び非IPベースのIoTデバイスのためのコネクティビティ、ディスカバリ、ネットワーキングをサポートするように構成されうる。
通信システム100は、IoTネットワークスライス(network slices)をサポートするように構成されうる。ここで、IoTネットワークスライスは、5Gネットワークを介するIPベース及び非IPベースのIoTデバイスのためのコネクテティビティ、ディスカバリ、ネットワーキングをサポートするように構成される。
IoTネットワークスライスは、専用、クラウドベース、SDNで機能する(SDN-powered)5Gネットワークスライスであってよい。ここで、5Gネットワークスライスは、場合によってはオーバーレイとして、最適化された方法でIoTデバイスのために機能するように配置される。
IoTネットワークスライスは、IoT向けに充分にカスタマイズされうる。例えば、コントロールプレーン及びベアラプレーンは互いに分離させることができ、それぞれが独立して、必要に応じたリソースの提供および縮小拡大を行うことができる。例えば、コントロールプレーン及びデータプレーンは特に、IoTデータの低オーバーヘッド(low-overhead)向けに設計可能である。例えば、ほぼ固定のIoTデバイスをサポートしているIoTネットワークスライスのため、モビリティ管理制御機能は、限られたスケール、さらには排除されたスケールに配置される。
IoTネットワークスライスは、クラウドに配置される場合がある。ここで、このクラウドは、IoTの様々な達成目標に合うよう動的に構成されうる仮想制御およびベアラ機能を使用している。例えば、ベアラレスコントロールプレーンが配置され、非IPデバイスのコネクティビティを効率的にサポートすることができる。その結果、デバイス毎のIPアドレスの必要性を取り除き(これにより、関連するIPアドレスの割り当てと管理の必要性をなくす)、PDN接続の必要性も取り除く(これにより、PDN接続のためのシグナリング、ベアラリソース、オーバーヘッド(待ち時間を含む)をなくす)。
IoTネットワークスライスは、IoTデバイスのために改良されたデータネットワーキング及び送信をサポートするように構成されうる。
例えば、IoTネットワークスライスは、アクセス制御を実施するためにデバイスを分離独立させる(例えば、同一スライスのデバイス同士のみで通信できる等)ように構成されうる。
例えば、IoTネットワークスライスは、5GネットワークのIoTデバイスに対するネームベースのアドレス指定、識別子ベースのアドレス指定の使用をサポートするように構成されうる。例えば、IoTデバイスのグローバルな固有ネームまたは固有識別子(例えば、モバイル装置の識別子(IMEI(International Mobile Equipment Identifier))、モバイル加入者識別子(例えば、IMSI(International Mobile Subscriber Identity)、TMSI(Temporary Mobile Subscriber Identity)及びこれに類するもの)、レイヤ2アドレス、シリアル番号、公開鍵、またはこれに類するもの、及びこれらの様々な組み合わせ)がIoTデバイスのためのアドレスとして(例えば、IPアドレスの代わりに)使用されうる。これにより、非IPベースのIoTデバイスのためのデータネットワーキング及び送信のサポートが可能になり、IPベースのIoTデバイスにとって有用となる場合がある。
例えば、IPアドレスがIoTデバイスに割り当てられていなかったとしても、IoTネットワークスライスは、5GネットワークへのIoTデバイスのアタッチメント(認証、権限付与、登録等)成功後にIoTデバイスのデータ送信のイニシエーションをサポートするように構成されうる(例えば上記のように、IoTデバイスに対するIPアドレスの使用よりむしろ、IoTデバイスの固有のデバイス識別子の使用に基づいている)。
例えば、IoTネットワークスライスは、レイヤ2のヘッダ(例えば、イーサネットMAC、5GMAC等のMAC(Media Access Control)ヘッダ)に基づいてハンドリングされる転送を用い、IoTデバイスとIoTゲートウェイとの間の最短ルーティング(minimal routing)やトランスポートヘッダ(transport header)をサポートするように構成されうる。これは、(IPベースのネットワーキングが使用されるとき、相当量のオーバーヘッドがある)比較的小さなパケットを送信するには非常に便利な場合があり、これによって、5Gネットワークを介する不定期なスモールパケットデータの送信を効率化させることができる。
例えば、IoTネットワークスライスは、IPベース及び非IPベースのIoTデバイスによるIPベースのコネクティビティをサポートするように構成されうる。これにより、IPベースのコネクティビティは外部サービス(例えば、IoTデータコレクタ、非IoT(non-IoT)サーバ、非IoTデバイス、その他これに類するもの、及びこれらの組み合わせ)との接続用のエンドポイントをなくすことができる場合がある。これには、IoTおよび非IoTプロトコルの様々な組み合わせ及びアプリケーション(例えば、COAP(Constrained Application Protocol)、MQTT(Message Queue Telemetry Transport)、HTTP(Hypertext Transfer Protocol)、REST(Representational State Transfer)、その他これに類するもの)が、IPベースおよび非IPベースのデバイスの様々な組み合わせの間でサポートされうるように、様々なデバイスの代わりに、5Gネットワークによって実行されるプロトコル変換が含まれる。
IoTネットワークスライスは、IoTデバイスのために改良されたデータネットワーキングと送信とをサポートするように構成される様々な他の機能を提供するように構成されうる。
通信システム100は、IoTネットワークスライスまたはそれ以外のコンテキストに含まれる様々な機能をサポートするように構成され、5Gネットワークを介するIPベース及び非IPベースのIoTデバイスのためのコネクティビティ、ディスカバリ、ネットワーキングをサポートすることができる。
通信システム100は、IoTデバイス110、5Gネットワーク120、PDN(packet data network)130、1セットのREs(remote endpoints)140−1〜140−X(まとめてREs140という)を備える。
IoTデバイス110は、5Gネットワークを介するアクセスおよび通信を行うように構成される、あらゆるIoTデバイスであってよい。例えば、IoTデバイス110はセンサ(例えば、温度センサ、湿度センサ、モーションセンサ等)やアクチュエータ(例えば、家庭用デバイスを制御するためのもの、製造用デバイスを制御するためのもの等)であってもよい。IoTデバイス110は、様々なIoTコンテキスト及びアプリケーションでのIoT機能を提供することができる。例えば、家庭用またはビジネス用のアプリケーション、位置アプリケーション、ウェザーモニタリングアプリケーション、スマートグリッドアプリケーション、スマートシティアプリケーション等、およびこれらの組み合わせがある。本明細書に記載の様々な実施形態は、非IPデバイスのコンテキストの中で説明されているが、主にIoTデバイス110は、非IPデバイス(例えば、レイヤ3またはレイヤ4のスタックを有さない)またはIPデバイス(例えば、レイヤ3またはレイヤ4のスタックを有する)でもよい。IoTデバイス110は、Zigbee、Profinet、その他これに類するもの、及びこれらの組み合わせ等の1つまたは複数のIoTのアプリケーションレイヤーのプロトコルをサポートするように構成されうる。IoTデバイス110は、様々なその他のIoTまたはIoT関連機能を提供するように構成される様々な他のタイプのIoTデバイスであってよい。
IoTデバイス110は、それに関連する特定の識別子を有しており、この識別子は様々な制御およびデータ通信目的のために使用されうる。
IoTデバイス110は、それに関連するGUID(globally unique identifier)を有する。IoTデバイス110のGUIDは、基本的なタイプの通信テクノロジーのアグノスティックである(例えば、5Gネットワーク120対WiFi、その他の基本的な通信テクノロジー)。例えば、IoTデバイス110のGUIDは、IoTデバイス110のレイヤ2アドレス、IoTデバイス110の公開鍵、5GネットワークによってIoTデバイス110に割り当てられる識別子、その他これに類するものであってよい。IoTデバイス110のGUIDは、下記に詳述するように、IoTデバイス110によって送信される特定の制御メッセージに含まれていてもよい。
IoTデバイス110は、それに関連する固有のデバイス識別子を有する。IoTデバイスの固有のデバイス識別子は当該IoTデバイスが使用するテクノロジー特有であり、テクノロジーのタイプによって異なる場合がある(例えば、5Gネットワーク120対WiFi、その他の基本的通信テクノロジー)。例えば、IoTデバイス110の固有デバイス識別子は、IoTデバイス110のレイヤ2アドレス(例えば、イーサネットデバイスの場合)、5GネットワークによってIoTデバイス110に割り当てられる識別子(5Gデバイスの場合)、その他これに類するものであってよい。IoTデバイス110の固有デバイス識別子は、後述のとおり、IoTデバイス110によって送信される制御メッセージやデータメッセージに含まれている(例えば、アクセステクノロジープロトコル(物理層、MAC層等)によって含まれる)。
5Gネットワーク120は、BTS(Base Transceiver Station)121、BTS SDNスイッチ122、IoTゲートウェイ123、SDNコントローラ125を含む。
BTS121、BTS SDNスイッチ122、IoTゲートウェイ123は、5Gネットワーク120のデータプレーンの一部を形成する。BTS121は、IoTデバイス110のための5Gネットワーク120への無線アクセスポイントとして動作するよう構成されている(その他のデバイスと同様に、クラリティーの目標(purpose of clarity)に対しては除外されている)。BTS SDNスイッチ122は、BTS121からのトラフィック(例えば、IoTデバイス110からのアップリンクのトラフィック)の転送のサポート、および、BTS121へのトラフィック(例えば、IoTデバイス110へのダウンリンクのトラフィック)の転送のサポートのため、5G SDNコントローラ125のコントローラの下で、BTS121のための転送要素として動作するよう構成されている。IoTゲートウェイ123は、IoTデバイス110のためのIoT関連制御機能を実行するように構成されている。ここで、このIoT関連制御機能は、IoTデバイスのコネクティビティ、ディスカバリ、ネットワーキング、その他これに類するもの、及びこれらの様々な組み合わせを含む。
5G SDNコントローラ125は、5Gネットワーク120のコントロールプレーンの一部である。5G SDNコントローラ125は、BTS SDNスイッチ122(その他のSDN転送要素と同様に、クラリティーの目標(purpose of clarity)に対しては除外されている)、IoTゲートウェイ123、その他これに類するもの、及びこれらの様々な組み合わせを制御するための制御要素として動作するように構成されている。5G SDNコントローラ125は、データプレーン(プログラムされる必要がある場合のある、いわゆる、BTS SDNスイッチ122、IoTゲートウェイ123、その他のあらゆる要素またはデバイス)を動的にプログラミングすることによって、IoTデバイス110に関連するIoTデバイストラフィック(例えば、IoTデバイス110によって提供されるIoTデバイスデータ、IoTデバイス110に対するIoTデバイスコマンド、その他これに類するもの、及びこれらの様々な組み合わせ)を操作するように構成されている。5Gネットワーク120は、後述のとおり、RE140の1つまたは複数に直接的なコネクティビティを提供することができる(例えば、IoTゲートウェイ123またはその他5Gネットワーク120の適切なデバイスを介して)。
PDN130は、5Gネットワーク120を介してのアクセスが可能なあらゆる適切なタイプのパケットデータネットワークを含むことができる。例えば、PDNは、公的PDN(例えば、インターネット)、プライベートPDN(例えば、社内ネットワーク、クラウドネットワーク等)、その他これに類するもの、及びこれらの様々な組み合わせであってよい。PDN130は、IoTゲートウェイ123、5Gネットワークのその他の1つまたは複数の要素(例えば、PGW(PDN gateway)その他適切なタイプの要素)、これに類するもの、およびこれらの様々な組み合わせと相互に作用することができる。PDN130は、様々なタイプの基本的な通信テクノロジーに基づく、5Gネットワークを介した通信をサポートするように構成されうる。PDN130は、後述のとおり、1つまたは複数のRE140のためにコネクティビティを提供することができる。
RE140は、IoTデバイス110と相互に作用するように構成されるデバイスを含む。RE140は、前述のとおり、5Gネットワーク120に直接接続されるエンドポイント(例えば、IoTゲートウェイ123に接続されうるその他のIoTデバイス、5Gネットワーク120のIoTゲートウェイに接続されうるその他のIoTデバイス、IoTサーバ、非IoTサーバまたはデバイス、その他これに類するもの)、PDN130を介してアクセス可能なエンドポイント(例えば、その他のIoTデバイス、IoTサーバ、非IoTサーバまたはデバイス、その他これに類するもの)、その他これに類するもの、及びこれらの様々な組み合わせを含むことができる。RE140は、IoTデバイス、IoTサーバ、IoTデバイスデータコンシューマ、非IoTサーバ及びデバイス、その他これに類するもの、及びこれらの様々な組み合わせを含むことができる。RE140は、IPまたはこれらの組み合わせをサポートしないIPデバイスをサポートしているデバイスを含むことできる。RE140は、それに関連する固有のデバイス識別子(本明細書では主に、RE140のためのGUID(globally unique identifier)を意味する)を有する場合がある。ここで、この固有のデバイス識別子は、レイヤ2アドレス、公開鍵、5Gネットワーク120によって割り合てられる識別子、その他これに類するものであってよい。RE140は、IoTデバイス110と相互に作用するように構成される様々な他のデバイスを含むことができる。
通信システム100は、IoTデバイスのコネクティビティ、ディスカバリ、ネットワーキング機能をサポートする要素の特定のタイプ、数、構成を含むように主に表現しているが、IoTデバイスのコネクティビティ、ディスカバリ、ネットワーキング機能をサポートするように構成される要素の様々な他のタイプ、数、構成を含むことができると理解されよう。
通信ネットワーク100は、5Gネットワーク120と共にIoTデバイス110によるレイヤ2のコネクティビティの確立をサポートするように構成されうる。
IoTデバイス110は、IoTデバイス110があらゆるデータを送信する前に、5Gネットワーク120によって認証され、権限付与される。IoTデバイス110が5Gネットワーク120によって認証および権限付与されるために、レイヤ2のコネクティビティがIoTデバイス110と5Gネットワーク120との間で確立される。そして、認証および権限付与のメッセージがIoTデバイス110と5Gネットワーク120との間で交換され、IoTデバイス110が5Gネットワーク120によって認証および権限付与される。
図2は、IoTデバイス110のためのレイヤ2デバイスコネクティビティをサポートするため、図1の通信システムのコンテキストの中でのメッセージフローの一例を示す。
ステップ210では、5Gネットワークアタッチメッセージを送信することにより、IoTデバイス110が5Gネットワーク120にアクセスする。ここで、この5Gネットワークアタッチメッセージは、BTS121によって受信される。5Gネットワークアタッチメッセージは、IoTデバイス110のGUIDと、IoTデバイス110の固有デバイス識別子とを含む。IoTデバイス110は、このポイントではその時点で5GのSDNには登録されておらず、例えば、5Gネットワークアタッチメッセージが受信される場合、IoTデバイス110のためのBTS121でのマッピングはない。BTS121は、IoTデバイス110が5G SDNコントローラ125に登録されていないと判断することができる。これは、受信された5GネットワークアタッチメッセージからBTS121によって決定されるIoTデバイス110のGUIDと関連するエントリーを、BTS121が有していないというBTS121による判断に基づくものである。
ステップ220では、BTS121が、5GのIoTデバイス110が5G SDNコントローラ125に登録されていないという判断に基づいて、5G SDNコントローラ125に5Gネットワークアタッチメッセージを送信する。
5G SDNコントローラ125は、5GのIoTデバイス110が5Gネットワーク120に登録されていないと判断する。5G SDNコントローラ125は、IoTデバイス110が5Gネットワーク120に登録されていないと判断することができる。これは、BTS121から受信された5Gネットワークアタッチメッセージから、5G SDNコントローラ125によって決定されるIoTデバイス110のGUIDと関連するエントリーを、5G SDNコントローラ125が有していないという、5G SDNコントローラ125による判断に基づくものである。
5G SDNコントローラ125は、IoTデバイス110が5Gネットワーク120に登録されていないとの判断に基づいて、ネットワークアタッチメッセージとしての5Gネットワークアタッチメッセージを確認し(異なるタイプのメッセージではないことを確認し)、IoTデバイス110が5Gネットワーク120にアクセス許可されるか否か判断する。IoTデバイス110が5Gネットワーク120にアクセス許可されるかについての判断は、1つまたは複数のポリシー(例えば、ホワイトリスト、ブラックリスト、その他これに類するもの)に基づく場合がある。1つまたは複数のポリシーには、1つまたは複数のネットワークオペレータ、デバイスのオーナー、デバイスのサービスプロバイダ、その他これに類する者のうちの1つまたは複数のポリシーが含まれることに留意すべきである。
5G SDNコントローラ125は、IoTデバイス110が5Gネットワーク120にアクセス許可されたとの判断に基づいて、IoTデバイス110のための5Gモバイルゲートウェイ(すなわち、IoTゲートウェイ123、明確化のため省略されているが、5Gネットワーク120で利用可能な複数のIoTゲートウェイのうちの1つであると考えてよい)を選択し、レイヤ2アドレスをIoTデバイス110に割り当てる。IoTデバイス110のためのIoTゲートウェイ123の選択は、ロード・バランシングスキーム(load balancing scheme)またはその他の適切なゲートウェイ選択メカニズムに基づいて行うことができる。IoTデバイス110に割り当てられたレイヤ2アドレスは、IoTデバイス110用に選択されたIoTゲートウェイ123のネームスペースにある場合がある。5G SDNコントローラ125はさらに、IoTデバイス110用に選択されたIoTゲートウェイ123のレイヤ2アドレス(例えば、MACアドレス)を決定する。5G SDNコントローラ125は、IoTデバイス110用のマッピング情報(例えば、IoTデバイス110のGUID、IoTデバイス110の固有デバイス識別子、IoTデバイス110用のレイヤ2アドレス、IoTデバイス110用に選択されたIoTゲートウェイ123の表示、IoTデバイス110用に選択されたIoTゲートウェイ123のレイヤ2アドレス、その他これに類するもの、及びこれらの様々な組み合わせの間のマッピング)を保持することができる。
ステップ230では、5G SDNコントローラ125は、IoTデバイス110の5Gネットワークアタッチメッセージに対応して、BTS121にIoTデバイス110のためのレイヤ2アドレス、IoTデバイス110のために選択されたIoTゲートウェイ123のレイヤ2アドレスを付与することによって、BTS121に応答する。
BTS121は、5G SDNコントローラ125からIoTデバイス110用のレイヤ2アドレスを受信する。
BTS121は、IoTデバイス110のためのローカルマッピング情報を生成する。IoTデバイス110のためのローカルマッピング情報は、IoTデバイス110のGUID、IoTデバイス110の固有デバイス識別子、IoTデバイス110のレイヤ2アドレス、IoTデバイス110のために選択されたIoTゲートウェイ123の表示、IoTデバイス110のために選択されたIoTゲートウェイ123のレイヤ2アドレス、その他これに類するもの、及びこれらの様々な組み合わせの間のマッピングを保持することができる。
BTS121はまた、IoTデバイス110の5Gネットワークアタッチメッセージを含むパケットを処理することができる。ここで、この処理は、受信されたパケットに基づいて新しいレイヤ2パケット(例えば、イーサネットパケット)を生成し(例えば、受信されたパケットを新しいレイヤ2パケットとしてコピーし)、新しいレイヤ2パケットの発信元レイヤ2アドレス(例えば、BTS121によって受信された5G SDNコントローラ125からのIoTデバイス110のMACアドレス)をIoTデバイス110のレイヤ2アドレスにセットし、新しいレイヤ2パケットの宛先レイヤ2アドレス(例えば、BTS121によって受信された5G SDNコントローラ125からのIoTゲートウェイ123のレイヤ2アドレス)を、IoTデバイス110に割り当てられたレイヤ2アドレスにセットすることによって行われる。そして、BTS121はBTS SDNスイッチ122に新しいレイヤ2パケットを提供する。
実施例によっては、IoTデバイス110の5Gネットワークアタッチメッセージに含まれるパケットは伝達されない場合もある。例えばこの場合、パケットは、通信するためのペイロードデータを含まず、むしろ単に、IoTデバイス110のネットワークアタッチメントをサポートするためのものである。そして、IoTデバイス110から受信された後続のパケットだけが、BTS121によってIoTゲートウェイ123に向けて伝達されてもよい。
IoTデバイス110から5Gネットワーク120への通信をサポートするため、BTS121によるローカルマッピング情報の使用に関する議論が本来されるが、ローカルマッピング情報もBTS121によって使用され、5Gネットワーク120からIoTデバイス110へのダウンストリーム通信もサポートする旨理解されよう。
ステップ240では、5G SDNコントローラ125が、IoTデバイス110のためのBTS SDNスイッチ122にフロー情報(例えば、1つまたは複数のフローエントリー)をセットする。フロー情報は、パケット通信をサポートするように構成されている。ここで、このパケットは、IoTデバイス110に割り当てられているレイヤ2アドレスと、IoTデバイス110のために選択されたIoTゲートウェイ123のレイヤ2アドレスを含み、BTS SDNスイッチ122と、IoTデバイス110のために選択されたIoTゲートウェイ123との間のIoTデバイス110の通信のためのサポートを可能にしている。
BTS SDNスイッチ122は、IoTデバイス110のためのフロー情報を5G SDNコントローラ125から受信し、IoTデバイス110のためのフロー情報を保持する(例えば、IoTデバイス110のためのフローエントリーを生成する)。フローエントリーは、条件が満たされるルールセットと、フローエントリーにマッチするレイヤ2のパケットが受信された際に実行される1つまたは複数の関連アクションを含むことができる。例えば、フローエントリーは、関連アクションをともなうイーサネットパケットのイーサネットヘッダフィールド上でのマッチングをサポートするように構成されている(例えば、発信元MACアドレスフィールドは、IoTデバイス110のMACアドレスを含み、宛先MACアドレスフィールドはIoTゲートウェイ123のMACアドレスを含む)。ここで、関連アクションは、イーサネットパケットをIoTデバイス110のために選択されたIoTゲートウェイ123へ転送することの関連アクションである(例えば、BTS SDNスイッチ122とIoTゲートウェイ123との間に存在する持続性トンネル(persistent tunnel)、またはその他の適切なトンネルまたはコネクションを使用する)。そして、BTS SDNスイッチ122は、BTS121から受信した新しいレイヤ2のパケットを処理することができる(上記のとおり、BTS121はIoTデバイス110から受信したイニシャル・パケットを転送するであろうと仮定する)。BTS SDNスイッチ122は、IoTデバイス110のために生成されたフローエントリー上でのマッチングと、IoTデバイス110のために生成されたフローエントリーに示されるアクションとに基づいてIoTゲートウェイ123にパケットを転送することによって、新しいレイヤ2パケットの処理を行う。
実施例によっては、IoTデバイス110の5Gネットワークアタッチメッセージに含まれるパケットは、BTS121によってBTS SDNスイッチ122に伝達されない。従って例えば、BTS SDNスイッチ122は、新たなレイヤ2パケット等を処理する必要がない場合がある。
IoTデバイス110から5Gネットワーク120へのアップストリーム通信をサポートするフロー情報の使用に関する議論が本来なされるが、5G SDNコントローラ125がフロー情報をセットし、BTS SDNスイッチ122がフロー情報をサポートすることが理解されよう。ここで、このフロー情報は、IoTデバイスへのダウンストリーム通信をサポートするのに使用することができる(例えば、5Gネットワーク120からIoTデバイス110へのダウンストリーム通信をサポートするように構成されるダウンストリームフローエントリー(downstream flow entry)等のフロー情報)。ダウンストリームフローエントリーは、条件が満たされるルールセットと、フローエントリーにマッチするイーサネットのパケットが受信された際に実行される1つまたは複数の関連アクションを含むことができる。例えば、ダウンストリームフローエントリーは、関連アクションをともなうイーサネットパケットのイーサネットヘッダフィールド上でのマッチングをサポートするように構成されうる(例えば、発信元MACアドレスフィールドは、IoTゲートウェイ123のMACアドレスを含み、宛先MACアドレスフィールドはIoTデバイス110のMACアドレスを含む)。ここで、関連アクションは、イーサネットパケットを無線上でIoTデバイス110に伝送するためにIoTゲートウェイ123へ転送することの関連アクションである。
前述のレイヤ2のコネクティビティ確立処理は、IoTデバイス110とIoTゲートウェイ123との間のレイヤ2のネットワークパス(アップリンク及びダウンリンク)を形成した(レイヤ2のネットワークパス299で図示)。ここで、IoTゲートウェイ123は、IoTデバイス110のためのIoT関連データの通信(例えば、IoTデバイス110を起点とするIoTデバイスデータのアップストリーム通信、IoTデバイス110への配信であることが意図されたIoT関連通信のダウンストリーム通信(例えば、要求、命令、その他これに類するもの)、その他これに類するもの、及びこれらの様々な組み合わせ)をサポートするために使用することができる。IoTデバイス110のためのIoT関連データの通信は、パケットの処理に関する上記のものと類似しうる。ここで、このパケットは、5Gネットワークアタッチメッセージを含んでいる。
アップストリーム方向でのIoTデバイス110のためのIoT関連データの通信(例えば、IoTデバイス110によってレポートされるIoTデバイスデータ、リモートデバイスから受信したメッセージ(指示、命令、その他これに類するもの)に対するIoTデバイス110によるレスポンス、その他これに類するもの)は下記のように実行される。IoTデバイス110はBTS121にパケットを送信する。パケットは、IoTデバイス110の固有デバイス識別子とIoT関連データとを含む。ここで、このIoT関連データは、IoTデバイス110によって通信されている。BTS121は、パケットを受信し、IoTデバイス110のBTS121に利用可能なマッピングに基づいて、IoTデバイス110(このIoTデバイス110からパケットを受信)にレイヤ2アドレス(例えば、MACアドレス)とサービング(serving)IoTゲートウェイが割り当てられている旨判断する。BTS121は、受信されたパケットのペイロードを、発信元および宛先のレイヤ2アドレス(例えば、MACアドレス)と共にレイヤ2パケット(例えば、イーサネットパケット)にカプセル化して入れる。ここで、この発信元および宛先のレイヤ2アドレスは、IoTデバイス110のレイヤ2アドレス及びIoTゲートウェイ123のレイヤ2アドレスにそれぞれ設定され、これによって新しいパケットを生成する。BTS121は、BTS SDNスイッチ122にこの新しいパケットを提供する。BTS SDNスイッチ122は新しいパケットを受信し、新しいパケットのレイヤ2のヘッダフィールド(例えば、発信元および宛先のMACアドレス、および場合によってはその他のもの)がフローエントリーに対応するアクションと一致するか判断する。ここで、この対応するアクションは、新しいパケットがIoTゲートウェイ123に転送可能であることを示し、新しいパケットをIoTゲートウェイ123に転送する(そのポイントから、パケットをさらに目的の宛先に送信することができる)。
ダウンストリーム方向でのIoTデバイス110のためのIoT関連データの通信(例えば、IoTデバイス110からのデータに関する要求、IoTデバイス110による実行のための命令)は、以下のように実行されうる。IoTゲートウェイ123は、レイヤ2パケット(例えば、イーサネットパケット)を受信する。ここで、このレイヤ2パケットは、IoTデバイス110への配信を意図している。IoTゲートウェイ123は、レイヤ2パケットのレイヤ2ヘッダフィールド(例えば、発信元および宛先のレイヤ2アドレス、及び場合によってはその他のもの)を、フローエントリーに対応するアクションとマッチングする。ここで、この対応するアクションは、レイヤ2パケットがBTS SDNスイッチ122に転送可能であることを示す。IoTゲートウェイ123は、発信元および宛先のレイヤ2アドレスを、IoTゲートウェイ123のレイヤ2アドレス及びIoTデバイス110のレイヤ2アドレスに設定することによって、レイヤ2パケットを修正し、それぞれ、修正されたレイヤ2パケットを形成する。IoTゲートウェイ123は、修正されたレイヤ2パケットをBTS SDNスイッチ122に転送する。BTS SDNスイッチ122は、新しいレイヤ2パケットをBTS121に提供する。BTS121は、IoTデバイス110のレイヤ2アドレスに基づいてサーチを実行する。ここで、このIoTデバイス110のレイヤ2アドレスは、修正されたレイヤ2パケットの宛先レイヤ2アドレスに規定されており、修正されたレイヤ2パケットの行き先等のIoTデバイス110を確認し、修正されたレイヤ2パケットのペイロードからIoTデバイス110への配信を意図するIoT関連データを取得し、無線インターフェースを介してIoTデバイス110に配信することが意図されたIoT関連データをIoTデバイス110に送信する。BTS121は、パケットを使用して、IoTデバイス110に配信することが意図されたIoT関連データをIoTデバイス110に送信することができる。ここで、このパケットは、IoTデバイス110の固有デバイス識別子(IoTデバイス110のためのBTS121に利用可能なマッピングに基づき、BTS121によって決定されうる)と、IoTデバイス110への配信が意図されたIoT関連データとを含む。
少なくともいつかの実施形態では、BTS SDNスイッチ122とIoTゲートウェイ123との間のIoTデバイス110のIoT関連データの転送が、持続性トンネルを使用して実行されうることが理解されるであろう。持続性トンネルは、あらかじめ能動的に設定されうる。持続性トンネルは、コネクションレスであってよい。持続性トンネルは、BTS121に関連する複数のIoTデバイスで共有可能である。ここで、これら複数のIoTデバイスが、IoTゲートウェイ123に割り当てられている(例えば、IoTデバイスの1つのサブセットのみを、持続性トンネルによってサポートすることができる場合には、全てのIoTデバイスまたはいくつかのIoTデバイスが割り当てられる)。この方法における持続性トンネルの共有は、持続性トンネルを共有しているIoTデバイスに対するデバイスごとのPDN(packet data network)コネクションの必要性を回避し、それにより、コントロールプレーン及びベアラプレーン両方のオーバーヘッドを回避する。その他のタイプのトンネルまたはコネクションは、BTS SDNスイッチ122とIoTゲートウェイ123との間の、IoTデバイス110のIoT関連データの伝達に使用されうる。
前述のレイヤ2のコネクティビティ確立処理は、IoTデバイス110とIoTゲートウェイ123との間のレイヤ2のネットワークパス(アップリンク及びダウンリンクいずれも)を形成する(レイヤ2のネットワークパス299と図示されている)。ここで、このレイヤ2のネットワークパスは、5Gネットワーク120を伴うIoTデバイス110の認証と権限付与、5GネットワークへのIoTデバイス110の登録をサポートするのに使用されうる。5GネットワークへのIoTデバイス110の認証、権限付与、登録は、5Gネットワーク120の代理としてIoTゲートウェイ123によって実行されうる(IoTデバイス110からIoTゲートウェイ123へのレイヤ2のネットワークパス299は、すでに確立されているため)。IoTデバイス110の認証および権限付与は、IoTデバイス101であることを主張しているデバイスが、IoTデバイス110であることを保証する。前述のとおり、IoTデバイス110の認証および権限付与は、IoTデバイス110から受信したイニシャル・パケットに基づいて(例えば、IoTデバイス110がイニシャル・パケットに含ませたIoTデバイス110のデジタル署名(PKIを使用する等して)を証明する)、IoTデバイス110とIoTゲートウェイ123との間のセパレートインタラクション(separate interaction)に基づいて(例えば、IoTデバイス110がチャレンジレスポンス・インタラクション(challenge-response interaction)を用いて、IoTゲートウェイ123による証明のためのデジタル署名を提供する。この場合、IoTゲートウェイ123はIoTデバイス110にチャレンジを送信し、IoTデバイス110はIoTゲートウェイ123によって証明されるレスポンス、その他これに類するものを用いて応答する)、その他これに類するものに基づいて、IoTゲートウェイ123によって実行される場合がある。
IoTデバイスが認証および権限付与に成功した場合、IoTデバイス110及びIoTゲートウェイ123は、無線通信に追加のセキュリティが必要である旨の判断に基づき、IoTデバイス110及びIoTゲートウェイ123が共有のセキュリティキーを設定する(例えば、ディフィー・ヘルマン鍵共有を用いて)。共有のセキュリティキーは、IoTデバイス110及びIoTゲートウェイ123に認識されていることに加え、5G SDNコントローラ125に提供されうる。ここで、この5G SDNコントローラ125は、IoTデバイス110用のセキュリティキーを共有することができる(IoTデバイス110に割り当てられたレイヤ2アドレス、5G SDNコントローラ125によってIoTデバイス110に割り当てられたIoTゲートウェイ123の表示に加えて)。
IoTデバイス110が認証および権限付与に成功した場合、IoTデバイス110は5Gネットワーク120に登録することができる。IoTデバイス110は、5Gネットワーク120に関する自身の登録情報を5Gネットワーク120に登録することができる。登録される情報には、様々なタイプのケイパビリティ情報(capability information)やアクセシビリティ情報(accessibility information)(例えば、IoTデバイス110から使用可能なデータのタイプ、IoTデバイス110でのデータ更新頻度、エンティティがIoTデバイス110のどのデータにアクセス許可されるかの表示、その他これに類するもの、及びこれらの様々な組み合わせ)を含むことができる。少なくともいくつかの実施形態では、デバイスのデータベース(例えば、IoTデバイス110のGUIDに基づいて検索が行われる)、サードパーティーのエンティティ、その他これに類するもの、及びこれらの様々な組み合わせ等、IoTデバイス110以外の発信元からの情報の少なくとも一部を、5Gネットワーク120が取得可能である。以下に示すように、IoTデバイス110の登録は、デバイス・ディスカバリのサポートを可能にする。
5Gネットワーク120は、IoTデバイス110に関するIoTデバイス・ディスカバリ機能をサポートするように構成されている。すなわち、IoTデバイス110が5Gネットワーク120によって認証および権限付与され、5Gネットワーク120に登録された後、5Gネットワーク120はIoTデバイス110のディスカバリをサポートすることができる。
5Gネットワーク120は、様々なデバイスまたはエンティティによって、IoTデバイス110(5Gネットワーク120に登録されているその他のIoTデバイスも同様)のディスカバリをサポートすることができる。例えば、IoTデバイス110は、IoTデータのコレクタ、サードパーティーのエンティティによってディスカバリされる場合がある。ここで、これらIoTデータのコレクタやサードパーティーのエンティティは、IoTデバイスのIoTデータまたはこれに類するもの、及びこれらの様々な組み合わせに関心を持っている場合がある。例えば、IoTデバイスは、1つまたは複数のRE140によってディスカバリされる場合がある。
5Gネットワーク120は、IoTデバイス110に関連する検索可能なIoTデバイス・ディスカバリ情報(例えば、IoTデバイス110のディスカバリ、IoTデバイス110に関する情報の習得をするのに有用な場合がある、静的および/または動的なメタデータ、その他の適切なタイプの情報)を公開することによって、IoTデバイス110のディスカバリをサポートすることができる。例えば、IoTデバイス110のディスカバリを可能にする、検索可能なIoTデバイス・ディスカバリ情報は、IoTデバイス110のGUID、IoTデバイス110に関するロケーション情報(例えば、現在地点)、IoTデバイス110を所有または操作するエンティティを示すオーナーシップ情報、IoTデバイス110の1つまたは複数の機能を示すデバイス・ケイパビリティ情報、その他これに類する情報、およびこれらの様々な組み合わせを含む。5Gネットワーク120に登録されている様々なIoTデバイスのIoTデバイス・ディスカバリ情報は、様々な方法で検索可能であり、様々な目的を達成する。例えば、5Gネットワーク120は、センサの性能を公表し、温度データおよび湿度データの両方を提供する。また、権限付与されたデータのコレクタは、(5Gネットワーク120への要求を介して)センサの温度データストリームまたは湿度データストリームのいずれかまたは両方へのアクセス要求を行う。例えば、複合的なデータの使用者は、ある地点の湿度データを生成する全部のIoTデバイス、または、特定のユーザに登録されている全てのデバイスへのアクセスを要求する場合がある。
少なくともいくつかの実施形態では、IoTデバイス110を所有または操作するIoTデバイス110またはエンティティ(5Gネットワーク120に登録されたその他のIoTデバイス、または、これらIoTデバイスの関連オーナーまたは関連オペレータも同様)は、5Gネットワーク120による使用のために構成されるアクセス制御情報を規定し、IoTデバイス110に関する情報(例えば、IoTデバイス110の検索に使用するために公開可能なIoTデバイス情報、IoTデバイス110がディスカバリされた後にアクセス許可されるIoTデバイス110のIoTデータ、その他これに類するもの、及びこれらの様々な組み合わせ)の可視性及びアクセスの制御を行うことができる。そして、これにより、様々なレベルで詳細化された様々なタイプの承認方法を規定するためのメカニズムを提供する。
少なくともいくつかの実施形態では、IoTデバイスの登録に加えてさらに、5Gネットワーク120はその他のIoT関連機器、5Gネットワーク120に登録されたIoTデバイスに関心がある可能性のあるエンティティの登録をサポートすることができる(例えば、権限付与されたデータコレクタが5Gネットワーク120に登録し、5Gネットワーク120に登録されたIoTデバイスから利用可能なデータストリームの利点を得ることができる。また、権限付与されたサービスが5Gネットワーク120に登録し、5Gネットワーク120に登録されたIoTデバイスのデバイス性能の利点を得ることができる。また、これらと同様及びこれらの様々な組み合わせも可能である)。例えば、5Gネットワーク120は1つまたは複数のRE140の登録のサポートをすることもできる。
5Gネットワーク120によってサポートされるこれらのIoTデバイスのディスカバリ・ケイパビリティ(discovery capability)は、図1に示されたIoTデバイス・ディスカバリ・システム(device discovery system)のように、5Gネットワーク120の1つまたは複数のデバイスによってサポートされる。(ただし、このようなIoTデバイス・ディスカバリ・ケイパビリティは、5Gネットワーク120の他の既存または新規のエンティティによって提供される場合、5Gネットワーク120の既存または新規のエレメントで分担して提供される場合、その他これに類する方法を用いる場合、及びこれらを様々に組み合わせた方法で提供される場合もある。)
5Gネットワーク120は、5Gネットワーク120に登録されたIoTデバイスに対する様々な他のIoTデバイス・ディスカバリ・ケイパビリティをサポートするように構成されうる。
図3は、IoTデバイスのためのデバイス認証、承認、登録、ディスカバリをサポートする、図1の通信システムのコンテキストの中でのメッセージフローの一例を示す。ステップ310において、IoTデバイス110及びIoTゲートウェイ123は、5Gネットワーク120によるIoTデバイス110の権限付与および認証を可能にするために、レイヤ2のネットワークパス299を経由して通信する。ステップ320では、5Gネットワーク120によるIoTデバイス110の登録を可能にするために、IoTデバイス110とIoTゲートウェイ123とは、レイヤ2のネットワークパス299を経由して通信する。(ここで、図3に示されているように、IoTデバイス110のデバイス・ケイパビリティの登録を含む5GネットワークへのIoTデバイス110の登録は、IoTデバイス・ディスカバリ・システム129によってサポートされる場合があり、レイヤ2のネットワークパス299を介するIoTデバイス110とIoTデバイス・ディスカバリ・システム129との間の通信、および、IoTゲートウェイ123とIoTデバイス・ディスカバリ・システム129との間の接続に基づくものである。)ステップ330では、5Gネットワーク120は、RE140−2と5Gネットワーク120との間の通信に基づいて、RE140−2によってIoTデバイス110(IoTデバイス110の関連デバイス・ケイパビリティを含む)のディスカバリをサポートする。(ここで、図3に示されているように、IoTデバイス110のデバイス・ケイパビリティの登録を含むRE140−2によるIoTデバイス110のディスカバリは、IoTデバイス・ディスカバリ・システム129によってサポートされる場合があり、IoTゲートウェイ123を介するRE140−2とIoTデバイス・ディスカバリ・システム129との間の通信、および、IoTゲートウェイ123とIoTデバイス・ディスカバリ・システム129との間の接続に基づくものである。)ただし、透明性を確保するための目的で、様々なその他のデバイスの認証、権限付与、登録機能の除外が、IoTデバイス110及び5Gネットワーク120によって実行される場合、様々なその他のデバイス・ディスカバリ機能がRE140及び5Gネットワーク120によって実行される場合等があることが理解されよう。
5Gネットワーク120は、5Gネットワーク120に対するIoTデバイスのデバイス認証、権限付与、登録、発見をサポートするための様々な他のケイパビリティをサポートするように構成されうる。
5Gネットワーク120は、様々なネットワーキング機能をサポートするように構成されている。ここで、これらネットワーキング機能は、IoTデバイス110のためのフローベースの通信(flow−based communications)をサポートするように構成されている。ここで、これらサポートには、IoTデバイス110からデータストリームを送信するためのサポート、IoTデバイス110でデータストリームを受信するためのサポートを含む。
IoTデバイス110のフローベースの通信は、IoTデバイス110と1または複数のリモートエンドポイント(例えば、RE140)との間にある場合がある。ここで、これらリモートエンドポイントは、デバイス、プログラム、及びこれらに類するものを含むことができる。別のリモートエンドポイントには、IoTデバイス110が5Gネットワーク120を介して通信することのできる1または複数のエンティティ(例えば、5Gネットワーク内部に設置されたエンティティ、5Gネットワーク120を介してアクセス可能なエンティティ、その他これに類するもの、及びこれらの様々な組み合わせ)を含むことができる。さらに別のリモートエンドポイントには、エンドユーザのエンドユーザデバイス等のエンドデバイスを含むことができる。ここで、このエンドユーザのエンドユーザデバイスは、IoTデバイス110、IoTデバイス110に関連するネットワークベースのIoTデバイス等のネットワークデバイス(例えば、IoTデバイス110に関連するIoTサーバ、IoTデバイス110を制御するように構成されたIoTコントローラ等)、これに類するもの、及びこれらの様々な組み合わせと通信することができる(例えば、IoTデバイス110からのIoTデバイスデータを受信するため、IoTデバイス110を制御するため等)。リモートエンドポイントは、コントローラ、コンシューマ、これに類するもの、及びこれらの様々な組み合わせ等としての動作等、IoTデバイス110との通信に関する様々なルールの中で動作することができる。
IoTデバイス110のフローベースの通信は、5Gネットワーク120を横断する。ここで、この5Gネットワーク120は、様々な条件下でIoTデバイス110のフローベースの通信をサポートするように構成されうる。また、これら様々な条件は、デバイスの種類、使用されている通信モード、サポートされる通信レイヤ/プロトコル、リモートエンドポイントの位置、これに類するもの、及びこれらの様々な組み合わせに関連する。IoTデバイス110のフローベースの通信の転送は、IoTデバイス110と1または複数のリモートエンドポイントとの間にあってもよい。ここで、この1または複数のリモートエンドポイントは、様々なネットワークロケーション(例えば、5Gネットワーク内部またはそれに接続して設置、5Gネットワークに接続された他の通信ネットワーク(例えば、有線接続のネットワーク、その他のタイプのセルラーネットワーク等)を介してアクセス可能に設置、またはこれに類するもの、及びこれらの様々な組み合わせ)に設置されてもよい。IoTデバイス110のフローベースの通信の転送は、IoTデバイス110がIPデバイス(例えば、レイヤ3またはレイヤ4のスタックを有する)または非IPデバイス(例えば、レイヤ3またはレイヤ4のスタックを有しない)であってもよいように、レイヤ2のネットワークを介することが期待される。5Gネットワーク120経由(例えば、IoTゲートウェイ123または5Gネットワーク120その他の適切なデバイスを経由)のIoTデバイス110のフローベースの通信の転送は、IoTデバイス110がTCP/IPまたはUDP/IPをサポートしない非IPデバイスでも、IPを介して、TCP(Transmission Control Protocol)またはUDP(User Datagram Protocol)を使用している1または複数のリモートエンドポイントとIoTデバイス110とが通信をすることを可能にする(例えば、IoTデバイス110とIoTゲートウェイ123との間の通信はレイヤ2ネットワーキングを使用し、IoTゲートウェイ123とリモートエンドポイントとの間の通信はTCP/IPまたはUDP/IPを使用する)。IoTデバイス110及び1または複数のリモートエンドポイントは、異なるアプリケーションレイヤのIoTプロトコルをサポートすることができる。
IoTデバイス110と1または複数のリモートエンドポイントとの間のフローベースの通信は、1つまたは複数のO2O(one−to−one)通信モード、O2M(one−to−many)通信モード、M2O(many−to−one)通信モード、M2M(many−to−many)通信モードを含む、様々な通信モードを利用することができる。
IoTデバイス110と1または複数のリモートエンドポイントとの間のフローベースの通信は、O2O通信モードを利用することができる。これは、1組のエンドポイントの間の一方向または双方向のデータフローである場合がある。IoTデバイス110は、通信中のデータの発信元エンドポイントまたは宛先エンドポイントであってもよい。例えば、O2Oモードは、記憶および処理のためのサーバにセンサがセンサデータを定期的にレポートしたい場合に使用することができる。例えば、O2Oモードは、ロボットから受信した障害物データに反応することによって、コントローラが起伏の多い場所でロボットを誘導したい場合に使用される。O2Oケース(IoTデバイス110が通信中のデータの発信元エンドポイントである場合)のフローセットアップ及びフロー転送のためのメッセージングの一例を図4に示す。
IoTデバイス110と1つまたは複数のリモートエンドポイントとの間のフローベースの通信は、O2M通信モードを利用することができる。これは、発信元エンドポイントと複数の宛先エンドポイントとの間の一方向データフローである場合がある。これは、マルチキャストに似ていると考えることができる。IoTデバイス110は、通信中のデータの発信元エンドポイント、または複数の宛先エンドポイントのうちの1つである場合がある。例えば、O2Mモードは、温度計がその温度データをサーモスタットや気象モニタに提供するときに使用される場合がある。例えば、O2Mモードは、ロボットコントローラが複数のロボットに命令を送信するときに使用される場合がある。O2Mケース(IoTデバイス110が通信中のデータの発信元エンドポイントである場合)のフローセットアップ及びフロー転送のためのメッセージングの一例を図5及び図6に示す。
IoTデバイス110と1つまたは複数のリモートエンドポイントとの間のフローベースの通信は、M2O通信モードを利用することができる。これは、複数の発信元エンドポイントと1つの宛先エンドポイントとの間の一方向データフローである場合がある。IoTデバイス110は、通信中のデータの発信元エンドポイントの1つであってもよく、また宛先エンドポイントであってもよい。例えば、M2Oモードは、複数の温度計がそれらの温度データを気象モニタに提供するときに使用される場合がある。例えば、M2Oモードは、ロボットコントローラが複数のロボットからデータを受信するときに使用される場合がある。M2Oケースのフローセットアップ及びフロー転送のためのメッセージは、図4〜図6のメッセージのやり取りを参照することによって、さらに理解できる。
様々な通信モードのうちのいずれかを利用する、IoTデバイス110と1つまたは複数のリモートエンドポイントとの間のフローベースの通信は、1つのフローセッションの一部であると考えることができ、このフローセッションはこれに関連する複数のフローレッグを有している。
フローセッションは、様々なタイプのエンドポイントからの様々なタイプのリクエストに応答可能に確立されうる(例えば、IoTデバイス110がフローセッションをリクエストしてリモートエンドポイントにIoTデバイスデータを提供するO2Oモード、IoTデバイスがフローセッションをリクエストして複数のリモートエンドポイントにIoTデバイスデータを提供するO2Mモード、その他これに類するモード)。例えば、フローセッションは、IoTデバイス110のリクエストに応答可能に、リモートエンドポイント(例えば、リモートエンドポイントがフローセッションをリクエストしてIoTデバイス110からIoTデバイスデータを受信するO2Oモード、リモートエンドポイントがフローセッションをリクエストしてIoT制御データをIoTデバイス110または1つ若しくは複数のその他のIoTデバイスに提供するO2Mモード、リモートエンドポイントがフローセッションをリクエストしてIoTデバイスデータをIoTデバイス110及び1つまたは複数のIoTデバイス、その他これに類するものから受信するM2Oモード)によって異なるIoTデバイス(例えば、異なるIoTデバイスがフローセッションを開始し、IoTデバイス110がその後にフローセッションを見つけ、フローセッションに参加するM2Oモードで)のリクエストに応答可能に、その他これに類するリクエストに応答可能に確立されうる。
フローセッションは、前述のとおり、様々なタイプのエンドポイントからの様々なタイプのリクエストに応答可能に確立されうる。フローセッションを確立するのに必要とされる情報または使用される情報は、様々な要因に依存する。例えば、フローセッションに参加しているエンドポイントのエンドポイントタイプ、フローセッション用に使用されている通信モード、どのエンドポイントがフローセッションの確立を開始しているか、その他これに類する要因、及びこれらの様々な組み合わせに依存する。例えば、O2Oフローセッションがリモートエンドポイントによって開始される、IoTデバイス110とリモートエンドポイントとの間のO2Oフローセッションのため、リモートエンドポイントは、5Gネットワーク120からIoTデバイス110のためのネットワークエンドポイント(例えば、IPアドレス、ポート番号、ネットワークプロトコル等)を取得し(例えば、IoTデバイス110のネットワークエンドポイントは、IoTデバイス110の代わりに5Gネットワーク120によって保持され、リモートエンドポイントによって発見可能である)、5Gネットワーク120にフローセットアップ要求を送信する場合がある(例えば、リモートエンドポイントがIPデバイスの場合にはIPベースのセットアップメッセージを使用する。また、リモートエンドポイントがIPデバイスであり、パケットのオーバーヘッドの最適化が実行される場合にはレイヤ2ベースのフローセットアップメッセージを使用する。また、リモートエンドポイントが非IPデバイスの場合にはレイヤ2ベースのフローセットアップメッセージを使用する等)。例えば、IoTデバイス110がデータを取得し、O2MフローセッションがIoTデバイス110によって開始される、IoTデバイス110と複数のリモートエンドポイントとの間のO2Mフローセッションのため、リモートエンドポイントがネットワークエンドポイント(例えば、IPアドレス、ポート番号、ネットワークプロトコル等)を規定する場合がある。ここで、これらネットワークエンドポイントは、IoTデバイス110によって取得されたデータを受信することができる(これらネットワークエンドポイントは、IPまたは非IPの5Gデバイスであってもよい点に留意すべきである)。例えば、複数のIoTデバイスと1つのリモートエンドポイントとの間のM2Oフローセッションのため、IoTデバイス110は、リモートエンドポイントによって既存のフローセッションに参加することを要求される場合がある。ここで、この既存のフローセッションは、IoTデバイス110の機能のリモートエンドポイントによる発見をベースとする。少なくとも前述の例から、フローセッションの確立を開始するために使用される情報が、5Gネットワーク120から発見可能(または、その他取得可能)である場合があることが理解されよう(上で例示されていないフローセッションの確立を含むその他のシナリオでさえも)。
フローセッションは、様々な要因に依存して変化する可能性のある様々なタイプの情報に基づいて確立されうる。例えば、フローセッションに参加しているエンドポイントのエンドポイントタイプ、フローセッション用に使用されている通信モード、どのエンドポイントがフローセッションの確立を開始しているか、その他これに類する要因、及びこれらの様々な組み合わせに依存する。例えば、IoTデバイス110の機能または情報へのアクセスを要求しているリモートエンドポイント(例えば、IoTコンシューマデバイス)のため、リモートエンドポイントのリクエストは、要求されているIoTデバイス110の機能または情報を一意的に特定し、アクセスするのに十分な情報を含むことを必要とする。ここで、上記の要求されているIoTデバイス110の機能または情報とは、例えば、IoTデバイス110のGUID、要求されているIoTデバイス110の機能または情報の識別情報(例えば、リモートエンドポイントが温度データのみを必要としている場合には温度データ)、及びアクセストークン(例えば、権限付与のための認証情報)等である。リクエストには、要求される通信モード(例えば、O2O、O2M、その他これに類するもの)の識別情報、その他情報タイプが含まれる場合もある。
要求デバイスが外部のサーバである、少なくともいくつかの実施形態では、外部のサーバは5Gネットワーク120のAPI(Application Programming Interfaces)を使用して、IoTデバイス110のデータストリームをある1つのデバイスに登録する。ここで、この登録は、外部のサーバがストリームからのデータ受信(および任意で、データ送信に使用することができるプロトコル等(例えば、TCPまたはUDP)のその他の情報)をどのように、どこで行おうとしているのか規定することと、(例えば上記のように)ストリームを一意に特定するパラメータセットを規定することによって行われる。
少なくともいくつかの実施形態では、5Gネットワーク120からIoTデバイス110のためのネットワークアドレスを要求することによって(例えば、5GネットワークのAPIを介して)、外部のサーバがIoTデバイス110とのO2O接続を設定することができる。ここで、このIoTデバイス110のネットワークアドレスからは、標準的なIPプロトコル(例えば、TCP/IPまたはUDP/IP)を使用しているフローセットアップ要求を送信することによって、IoTデバイス110のデバイス機能にアクセスでき、IoTデバイス110のデバイス機能と接続できる。この場合、5Gネットワーク120は、フローの継続中に、一意的なネットワークアドレス(例えば、UDPポートまたはIPアドレス)を一時的に割り当てられることができ(このアドレスはIoTデバイス110には割り当てられない)、このアドレス上で、IoTデバイス110の代わりに5Gネットワーク120がフロー要求を処理する。そして、一旦フローが設定されると、5Gネットワーク120は、5Gネットワーク120内のレイヤ2を介するこのフローに関し、IoTデバイス110によって受信される/IoTデバイス110から送信されるあらゆるパケットを転送する。これらの、及びその他の様々な実施形態のフローセッションの確立が、図4〜図6を参照することによってさらに理解できると考えられる。
上記のように、確立されるフローセッションは、複数のフローレッグを有する。フローセッションのためにサポートされるフローレッグの数と配置は、様々な要因に依存しうる。例えば、関連するエンドポイントの数(及び、上記のような通信モード)、関連するエンドポイントの位置、その他これに類するもの、及びこれらの様々な組み合わせ等である。フローセッションのフローレッグは、同時に、異なる時に(例えば、1つまたは複数のフローセッションが事前に確立されている場合、フローセッションが最初に確立された後に1つまたは複数のフローセッションが追加的に確立される、その他これに類する場合)、その他これに類する時、およびこれらの様々な組み合わせによって確立されうる。フローセッションのフローレッグはさらに、様々なタイミングで終了しうる。また、フローセッションのフローレッグは動的に追加、取消が可能であり、フローセッション内でのエンドツーエンドのデータのためのフローセッションでは、少なくとも2つのフローレッグがアクティブでなければならないことが予想されることが理解されよう。
フローセッションのフローレッグは、フローレッグに関連するFID(flow identifier)を使用して一意に特定されうる。5Gネットワーク120によってサポートされるフローレッグは、フローレッグのデバイスの一意的なデバイス識別子(例えば、MACアドレス)(例えば、IoTデバイス110の一意的なデバイス識別子、RE140の一意的なデバイス識別子、その他これに類するもの)と、フローレッグのFIDとの組み合わせに基づいて、フローセッションを通して一意に特定されうる。デバイス(例えば、IoTデバイス110、RE140、その他これに類するもの)のフローレッグのFIDは、5Gネットワーク120でフローレッグを一意に特定するように構成されている。これは、デバイス等が、そのデバイス用にサポートされるフローレッグの間で一意であることが必要であるためである。5Gネットワーク120がデバイスの一意なデバイス識別子とデバイスのフローレッグに対するFIDを保持できるように、デバイスのフローレッグのFIDがデバイスによって割り当てられ、フローセッションの確立中に5Gネットワーク120と通信がなされる。デバイスのフローレッグのFIDは、各パケットに含まれている。ここで、これら各パケットは、デバイスのフローレッグで送信される。すなわち、そのフローレッグに対応するデバイスによって送信される各パケットにデバイスのフローレッグのFIDが含まれている(例えば、5Gネットワーク120でIoTデバイス110からIoTゲートウェイ123に送信される、5GネットワークでRE140からIoTゲートウェイ123に送信される、その他これに類する送信がされる)。また、そのフローレッグに対するデバイスによって受信される各パケットにもデバイスのフローレッグのFIDが含まれている(例えば、5Gネットワーク120のIoTゲートウェイ123からIoTデバイス110に送信される、5GネットワークのIoTゲートウェイ123からRE140に送信される、その他これに類する送信がされる)。デバイスに送信され及びデバイスから送信されるパケットに、デバイスの一意なデバイス識別子やデバイスのフローレッグのFIDが含まれることによって、パケットに含まれる宛先アドレス情報(例えば、レイヤ2の宛先アドレス)の必要性をなくし、これによって、オーバーヘッドを軽減する(FIDは宛先アドレス情報より小さく、そうでない場合、この宛先アドレス情報はパケットに含まれるであろうため)。デバイスの一意なデバイス識別子と、デバイスのフローレッグのFIDとを、デバイスに送信される及びデバイスから送信されるパケットに含めることはさらに、パケットのその他のタイプの情報(例えば、TCP/UDPポート、発信元IP/宛先IP、その他)を含める必要性をなくすことを可能にする。このように、フローレッグでパケットを送信しているデバイス(例えば、IoTデバイス110、RE140、IoTゲートウェイ123、その他これに類するもの)は、パケットから特定のタイプの情報(例えば、宛先アドレス情報、任意でその他の情報)を除く一方で、パケットを送信することができる(パケット内部にそのような情報を含むことを避けていると理解することも可能である)。FIDのサイズは、デバイス等によってサポートされるフローの数等、様々な要因に基づいて選択されうる。例えば、FIDは、4ビットの識別子であってもよく(例えば、デバイスが16フロー以上サポートすることが期待されない場合)、1バイトの識別子(デバイスが256フロー以上をサポートすることが期待されない場合)、その他これに類する識別子であってもよい。あらゆるイベントで、FIDのサイズによって、パケットに含まれる宛先アドレス(例えば、MAC宛先アドレスは6バイトである)の使用に対し、有意義な節約を提供することが期待できる。特に、IoTシステムのコンテキスト内で度々やり取りされる比較的小さなパケットに関して期待できる。
フローエンドポイントはフローレッグ状態情報を保持するように構成されている。フローエンドポイントは、あらゆるフローレッグに関するフローレッグ状態情報を保持する。ここで、これらフローエンドポイントは、これらあらゆるフローレッグに対するフローエンドポイントである(すなわち、これらフローエンドポイント自身のフローレッグである)。フローレッグに対応するデバイスで保持されているフローレッグ状態情報は、FIDのマッピングを含むことができる。ここで、このFIDは、フローレッグに対応するデバイスによって、そのフローレッグが関連するデバイスの一意なデバイス識別子に割り当てられる。フローレッグの状態情報は、そのフローレッグに対するデバイスによって保存されうるその他のタイプの状態情報を含むことができると理解されよう。
5Gネットワーク120は、フローセッションに対するフローセッション状態情報を維持するように構成される。ここで、このフローセッションは確立済み、処理中、確立中である。このフローセッション状態情報は、IoTゲートウェイ123によって保持されうる、あるいは、IoTゲートウェイ123にアクセス可能である。フローセッションに関するフローセッション状態情報は、フローセッションのフローレッグのそれぞれに関するフローレッグ状態情報を含み、5Gネットワーク120は、フローセッションのフローレッグ間でパケットを転送できる(これは、フローセッションのフローレッグ上にあるパケットに含まれて転送される情報の変換を含む場合がある)。例えば、フローセッションに関するフローセッション状態情報は、フローセッションのフローレッグ間のマッピングを含む場合がある。例えば、フローセッションのフローレッグに関するフローレッグ状態情報は、フローレッグ識別情報(例えば、入ってくるパケットが受信されるフローレッグを識別するのに使用されうるマッチング情報)、及びフローレッグアクション情報(例えば、パケットが送信される1つまたは複数のその他のフローレッグの表示等、識別されるフローレッグを介して受信されたパケットの処理を示すルール情報)を含むことができる。例えば、2つのフローレッグを有するO2Oフローセッション(例えば、MAC_アドレス−11の一意のデバイス識別子とFID3のフロー識別子とを有する第1のデバイスの第1のフローレッグ、MAC_アドレス−23の一意のデバイス識別子とFID6とを有する第2のデバイスの第2のフローレッグ)に対して、フローセッション状態情報が2つのフローレッグの間のマッピングを含むことができる(例えば、MAC_アドレス−11及びFID3を含む受信パケットは、その他のフローレッグでの転送用にMAC_アドレス23及びFID6を含むように変更され、同様に、MAC_アドレス−23及びFID6を含む受信パケットは、その他のフローレッグでの転送用にMAC_アドレス−11及びFID3を含むように変更される)。フローセッションのためのフローセッション状態情報は、ネットワークモード(例えば、O2M、M2O、その他これに類するもの)によって、様々なその他多くのマッピングをサポートすることができると理解できるであろう。
本明細書に記載のとおり、通信システム100は本来、5GネットワークのSDNベースの実装に基づいて提供されるが、通信システム100は、その他のタイプのネットワーキング、その他のタイプの通信ネットワーク(例えば、その他のタイプのワイアレスネットワーク、有線ネットワーク、その他これらに類するもの、及びこれらの様々な組み合わせ)、その他これに類するもの、及びこれらの様々な組み合わせに基づくことができる。
図4は、1対1の通信モードに基づくIoTデバイスに対するデバイスネットワーキングをサポートするための、図1の通信システムに基づくメッセージフローの一例を示す。
図4に記載のとおり、IoTデバイス(例えば、図1のIoTデバイス110)に対するデバイスネットワーキングをサポートするため、メッセージフロー400は、リモートエンドポイント(図1のRE140)を含むフローセッションのためのO2O通信モードに基づく5Gネットワーク(例えば、図1の5Gネットワーク120)を使用する、フローセッションの確立とIoTデバイスのためのデータ転送とをサポートするように構成されている。
ステップ405では、リモートエンドポイントが、Create_Flow requestを5Gネットワークに送信することによって、IoTデバイスのためのフローセッションの確立を開始する。Create_Flow requestは、リモートエンドポイントによって送信されるパケットのペイロードに含まれる場合がある。Create_Flow requestは、IoTデバイスのGUIDを含む。ここで、リモートエンドポイントは、このIoTデバイスとフローセッションを確立することを要求している(図4のD1のとおり)。Create_Flow requestは、リモートエンドポイントと5Gネットワークとの間にある、そのリモートエンドポイントのフローレッグに対し、そのリモートエンドポイントによって選択されたFIDを含む(例えば、図4のFID1に示すように)。Create_Flow requestはさらに、1または複数の追加的なパラメータを含むことができる。1つまたは複数の追加的なパラメータは、フローセッションのために要求されるフロータイプの表示(この例では、O2Oフローセッションタイプ)、フローセッション上でやり取りされるデータタイプの表示(例えば、温度データ、湿度データ、その他これに類するもの)、リモートエンドポイントへの権限付与で使用するための権限付与情報(例えば、アクセストークン、権限付与情報のその他の適切なタイプ)、その他これに類するもの、及びこれらの様々な組み合わせが含まれうる。明瞭性のため、図4にはフロータイプのみを記載したことに留意されたい。
ステップ410では、5GネットワークがNew_Flow requestをIoTデバイスに送信する。ここで、このIoTデバイスは、リモートエンドポイントからのCreate_Flow requestで規定されている。5Gネットワークは、リモートエンドポイントのフロー要求が許可された(例えば、リモートエンドポイントがIoTデバイスとのフローセッションを確立することを許可された)との判断に基づいて、IoTデバイスにNew_Flow requestを送信することができる。New_Flow requestは、5Gネットワークポイントによって送信されるパケットのペイロードに含まれる場合がある。New_Flow requestは、リモートエンドポイントのGUIDを含む。ここで、リモートエンドポイントは、フローセッションを確立することを要求している(図4のS1のとおり)。(明瞭性のため)図4には1つのフロータイプしか記載されていないが、New_Flow requestは、リモートエンドポイントのCreate_Flow requestの中に含まれている追加的なパラメータ(例えば、フロータイプ、データタイプ、その他これに類するもの)のうちの一部または全部を含むことができる。
ステップ415では、IoTデバイスはCreate_Flow requestを5Gネットワークに送信する。IoTデバイスは、リモートエンドポイントのフロー要求が受け入れられた(例えば、IoTデバイスがIoTデバイスとのフローセッションの確立に同意した)との判断に基づいて、5GネットワークにCreate_Flow requestを送信することができる。Create_Flow requestは、IoTデバイスによって送信されるパケットのペイロードに含まれる場合がある。IoTデバイスによって送信されるパケットのヘッダには、IoTデバイスの一意なデバイス識別子が含まれる。Create_Flow requestは、リモートエンドポイントのGUIDを含む。ここで、リモートエンドポイントは、フローセッションを確立することを要求している(例えば、図4のS1として示す、リモートエンドポイントのGUID)。Create_Flow requestは、IoTデバイスと5Gネットワークとの間にある、そのIoTデバイスのフローレッグに対し、そのIoTデバイスによって選択されたFIDを含む(例えば、この例ではFID2に示す)。(明瞭性のため)図4には1つのフロータイプしか記載されていないが、Create_Flow requestは、5Gネットワークから受信されるNew_Flow requestの中に含まれている追加的なパラメータ(例えば、フロータイプ、データタイプ、その他これに類するもの)のうちの一部または全部を含むことができる。
ステップ420では、5Gネットワークは、リモートエンドポイントのフローレッグとIoTデバイスのフローレッグとのマッチングに基づいて、Create_Flow responseをリモートエンドポイント(ステップ420−A)とIoTデバイス(ステップ420−B)とに送信する。5Gネットワークは、リモートエンドポイントによって送信されるCreate_Flow requestに含まれるパラメータと、IoTデバイスによって送信されるCreate_Flow requestに含まれるパラメータとのマッチングに基づいて、フローセッションのフローレッグをマッチングする。ステップ420−Aでリモートエンドポイントに送信されるCreate_Flow responseは、リモートエンドポイントのフローレッグのFID(いわゆる、FID1)を含み、また任意で、フローセッションの確立が成功したか否かについての情報を表す、フローセッション状態インジケータを含んでもよい。同様に、ステップ420−BでIoTデバイスに送信されるCreate_Flow responseは、IoTデバイスのフローレッグのFID(いわゆる、FID2)を含み、また任意で、フローセッションの確立が成功したか否かについての情報を表す、フローセッション状態インジケータを含んでもよい。この点において、これらのデバイスがデータ交換を開始できるよう、フローセッションがリモートエンドポイントとIoTデバイスとの間での確立に成功している。5Gネットワークはさらに、互いにフローレッグをマッピングする目的でマッピング情報を保存し(例えば、FID1とFID2との間のマッピング)、このように、フローレッグのフロー識別子を使用して、IoTデバイスとリモートエンドポイントとの間のデータ通信をサポートする。
ステップ425では、IoTデバイスとリモートエンドポイントとの間で確立されたフローセッションで、IoTデバイスは、リモートエンドポイントに向けたIoTデバイスデータを送信する。IoTデバイスは、IoTデバイスと5Gネットワークとの間のフローレッグ上で、5GネットワークにIoTデバイスデータを送信する。IoTデバイスは、データパケットを使用して5GネットワークにIoTデバイスデータを送信する。ここで、このデータパケットには、ヘッダとペイロードが含まれる。ヘッダは、IoTデバイスの一意なデバイス識別子と、IoTデバイスのフローレッグのFID(すなわち、FID2)とを含む。ここで、このIoTデバイスのフローレッグのFIDは、5GネットワークがIoTデバイスのIoTデバイスデータを、IoTデバイスデータが向かうリモートエンドポイントに直接送信するのに十分な情報を提供する。ヘッダからは、リモートエンドポイントのルーティング可能なアドレス情報(例えば、宛先MACアドレスやこれに類するもの等の宛先アドレス)が省略される(これによって、無線インターフェースに対する有効な節約を提供する)。これは、上記のとおり、IoTデバイスの一意なデバイス識別子と、IoTデバイスのフローレッグのFIDとを組み合わせによって十分に、5GネットワークがIoTデバイスのIoTデバイスデータを、IoTデバイスデータが向かうリモートエンドポイントに直接送信できるためである。ペイロードは、IoTデバイスからリモートエンドポイントに通信されているIoTデバイスデータ(例えば、温度観測データ、湿度観測データ、その他これに類するもの)を含み、これをペイロードと示す。
ステップ430では、5GネットワークはIoTデバイスからデータパケットを受信し、対応するデータパケットをリモートエンドポイントに送信する。
5Gネットワークは、IoTデバイスからデータパケットを受信する。5Gネットワークは、IoTデバイスの一意なデバイス識別子を、5Gネットワーク(例えば、5G SDNコントローラ)によってIoTデバイスに割り当てられるレイヤ2アドレス(例えば、MACアドレス)と置き換えることによってデータパケットを変更し、それによって変更されたデータパケットを提供する。5Gネットワークは、データパケットのヘッダを変更し、IoTデバイスの一意なデバイス識別子のマッピングに基づいて、変更されたデータパケットをIoTデバイスのレイヤ2アドレスに提供できる。これは、5GネットワークのBTS、または、5Gネットワークのあらゆる適切なエンティティ(例えば、BTS SDNスイッチ、またはこれに類するもの)によって実行されうる。
5Gネットワークは、IoTデバイスからの変更されたデータパケットが、リモートエンドポイントに向けられているか否か判断する。5Gネットワークは、IoTデバイスからの変更されたデータパケットが、リモートエンドポイントに向けられているか否かの判断を、フローセッションが確立されるときに5Gネットワークによって保持されるマッピング情報(例えば、IoTデバイスのレイヤ2アドレスとIoTデバイスのフローレッグのFIDとの組み合わせのマッピングであり、これらIoTデバイスのレイヤ2アドレス、及びIoTデバイスのフローレッグのFIDは変更されたデータパケットに含まれており、リモートエンドポイントのレイヤ2アドレスとリモートエンドポイントのフローレッグのFIDとの組み合わせである)に基づいて行う。5Gネットワークは、5Gネットワークとリモートエンドポイントとの間のフローレッグ上で、リモートエンドポイントにIoTデバイスデータを送信する。5Gネットワークは、データパケットを使用してリモートエンドにIoTデバイスデータを送信する。ここで、このデータパケットには、ヘッダとペイロードが含まれる。ヘッダはリモートエンドポイントのレイヤ2アドレス(例えば、MACアドレス)及びリモートエンドポイントのフローレッグのFID(いわゆる、FID1)を含む。ここで5Gネットワークは、マッピング情報に基づいてリモートエンドポイントのフローレッグのFIDを特定する。ペイロードは、IoTデバイスからリモートエンドポイントに通信されているIoTデバイスデータ(例えば、温度観測データ、湿度観測データ、その他これに類するもの)を含む。5Gネットワークは、変更されたデータパケットを変更すること(例えば、レイヤ2アドレス情報を更新し、IoTデバイスのFID(FID2)とリモートエンドポイントのFID(FID1)とを置き換える)、変更されたデータパケットに基づいて新しいパケットを生成すること(例えば、IoTデバイスから受信されたデータパケットをコピーし、データパケットのコピーを変更する)、及びこれに類するものを行うことによって、データパケットを生成することができる。新しいパケットは、セッション及びプロトコル情報に基づいて生成されうる。これらセッション及びプロトコル情報は、5Gネットワークとリモートエンドポイントとの間のフローレッグのために、5Gネットワークによって保持されている(例えば、TCPを使用するこのフローレッグの場合には、5Gネットワークによって保持されている完全なセッション情報が、TCPペイロードの再生成のために使用される)ことに留意すべきである。これは、5GネットワークのIoTゲートウェイ(または、5Gネットワークのあらゆるその他の適切なエンティティ)によって実行されうる。
明瞭性のため図4では省略しているが、メッセージフロー400は、データがIoTデバイスとリモートエンドポイントとの間でやり取りされるように動作をし続けることが理解できるであろう(例えば、フローセッションが終了する時間まで等)。
フローセッションがリモートエンドポイントによって開始され、IoTデバイスがフローセッションを介して送信されるIoTデバイスデータの発信元である実施形態に関して主に説明されているが、フローセッションがその他のデバイス(例えば、IoTデバイス)によって開始されてもよく、リモートエンドポイントが追加的(または代替的)にデータをIoTデバイスに送信してもよく、またはこれに類すること、およびそれらの様々な組み合わせを行ってもよいことが理解できるであろう。
フローセッションの確立が、フローセッションの2つのフローレッグで同時に実行される確立を含む実施形態を主に説明しているが、少なくともいくつかの実施形態では、1つのエンドポイントの出力データストリーム(例えば、図4のメッセージフロー400におけるIoTデバイス)をもう1つのエンドポイントの入力データストリーム(例えば、図4のメッセージフロー400におけるリモートエンドポイント)にリンクさせることにより、フローセッションの確立が実行されてもよい。少なくともいくつかのこのような実施形態では、FIDは、フローセッションのフローレッグに事前割り当てされる場合があり、これにより、フローセッションの確立を比較的迅速に完了させることが期待できる。このデータストリームの結合は、オペレータのコントロールパネル等に基づいて自動的、シームレスに実行されうることに留意すべきである。
図5は、フローセッションの確立方法、および、1対多数(one−to−many)のためのデータ転送方法の実施形態を示す。
図5に記載のとおり、IoTデバイス(例えば、図1のIoTデバイス110)に対するデバイスネットワーキングをサポートするため、メッセージフロー500は、2つのリモートエンドポイント(図1の2つのRE140)を含むフローセッションのためのO2M通信モードに基づく5Gネットワーク(例えば、図1の5Gネットワーク120)を使用する、フローセッションの確立とIoTデバイスのためのデータ転送とをサポートするように構成されている。メッセージフロー500では、フローセッションの確立はリモートエンドポイントの1つによって開始される。
図5のステップ505−530は、ステップ405−430に類似する。しかし、フローセッションのためのフロータイプは現在、O2M(O2Oではなく)であるとして示されている。第2のリモートエンドポイントも、IoTデバイスのデータを受信するためにフローセッションに参加するためである(ステップ535−550に関しては後述する)。追加的に、ステップ525でIoTデバイスによって送信され、ステップ530でリモートエンドポイントに転送されるIoTデバイスデータは、IoTデバイスデータと区別するためにペイロード1と表記される。ここで、このIoTデバイスデータは、第2のリモートデバイスがフローセッションに参加した後、IoTデバイスによって送信される(ペイロード2と記載)。
ステップ535では、第2のリモートエンドポイントが、Create_Flow requestを5Gネットワークに送信することによって、IoTデバイスのためのフローセッションの確立を開始する。本明細書では、第2のリモートエンドポイントが、IoTデバイスのためのフローセッションの確立を開始する。Create_Flow requestは、第2のリモートエンドポイントによって送信されるパケットのペイロードに含まれる場合がある。Create_Flow requestは、IoTデバイスのGUIDを含む。ここで、リモートエンドポイントは、このIoTデバイスとフローセッションを確立することを要求している(図5のD1のとおり)。Create_Flow requestは、第2のリモートデバイスと5Gネットワークとの間にある、第2のリモートエンドポイントのフローレッグに対し、その第2のリモートエンドポイントによって選択されたFIDを含む(例えば、この例ではFID3と示す)。Create_Flow requestはさらに、1または複数の追加的なパラメータを含むことができる。1つまたは複数の追加的なパラメータは、フローセッションのために要求されるフロータイプの表示(この例では、M2Oフローセッションタイプ)、フローセッション上でやり取りされるデータタイプの表示(例えば、温度データ、湿度データ、その他これに類するもの)、リモートエンドポイントへの権限付与で使用するための権限付与情報(例えば、アクセストークン、権限付与情報のその他の適切なタイプ)、その他これに類するもの、及びこれらの様々な組み合わせが含まれうる。明瞭性のため、図5にはフロータイプのみを記載したことに留意されたい。
ステップ540では、第2のリモートエンドポイントによってリクエストされたフローセッションのためのIoTデバイスへのフローレッグが既に確立されているとの判断に基づいて、5GネットワークがCreate_Flow responseを第2のリモートエンドポイントに送信する。
第2のリモートエンドポイントによってリクエストされたフローセッションのためのIoTデバイスへのフローレッグが既に確立されているとの判断は、第2のエンドポイントから受信されたCreate_Flow requestに含まれる1または複数の追加的なパラメータと、IoTデバイスへのフローレッグに関連する1または複数の追加的なパラメータとの比較に基づく場合がある。例えば、サーバに湿度データを送信しているO2Oフローセッション、第1のリモートエンドポイントに温度データを送信しているO2Mフローセッション(第2のリモートエンドポイントが参加を希望するフローセッションである)等のマルチフローセッションに、IoTデバイスが関係しているところでは、第2のリモートエンドポイントからのCreate_Flow requestに含まれる1または複数の追加的なパラメータと、IoTデバイスのGUIDとの組み合わせによって、5GネットワークがO2Mフローセッションを識別できる。ステップ505〜530では、第1のリモートエンドポイントのために、フローセッションを確立するべくメッセージングを開始したが、ここでは、第2のリモートエンドポイントが参加を希望し、第2のリモートエンドポイントがO2Mフローセッションへ参加できるように、5Gネットワークがメッセージングを開始する。このような方法で、既存のIoTデバイスのフローレッグは、O2Mフローセッションのコンテキストで再利用され、第2のリモートエンドポイントへのIoTデバイスのIoTデバイスデータの配信をサポートする。
第2のリモートエンドポイントに送信されるCreate_Flow responseは、第2のリモートエンドポイントのフローレッグのFID(いわゆる、FID3)を含み、また任意で、フローセッションの確立が成功したか否かについての情報を表す、フローセッション状態インジケータを含んでもよい。この時点で、IoTデバイス及び第2のリモートエンドポイントがデータをやり取りできるよう、第2のリモートエンドポイントに対するフローレッグが、そのO2Mフローセッションに適切に追加されている。5Gネットワークはさらに、フローレッグを互いにマッピングするためにマッピング情報(例えば、IoTデバイスのレイヤ2アドレスとIoTデバイスのフローレッグのFID2との組み合わせと、第2のリモートエンドポイントのレイヤ2アドレスと第2のリモートエンドポイントのフローレッグのFID3との組み合わせとの間のマッピング)を保存し、このようにして、フローレッグのFIDを使用している第2のリモートエンドポイントとIoTデバイスとの間のデータ通信をサポートする。
ステップ545では、IoTデバイスが配信対象のデータをフローセッションを介してリモートエンドポイントと第2のエンドポイントとに送信する。ここで、このフローセッションは、IoTデバイス、リモートエンドポイント、第2のリモートエンドポイントとの間で確立されたものである。IoTデバイスは、IoTデバイスと5Gネットワークとの間のフローレッグ上で、5GネットワークにIoTデバイスデータを送信する。IoTデバイスは、データパケットを使用して5GネットワークにIoTデバイスデータを送信する。ここで、このデータパケットには、ヘッダとペイロードが含まれる。ヘッダは、IoTデバイスの一意なデバイス識別子と、IoTデバイスのフローレッグのFID(すなわち、FID2)とを含む。ここで、このIoTデバイスのフローレッグのFIDは、5GネットワークがIoTデバイスのIoTデバイスデータを、IoTデバイスデータが向かうリモートエンドポイントと第2のリモートエンドポイントに直接送信するのに十分な情報を提供する。ヘッダからは、リモートエンドポイント及び第2のリモートエンドポイントのルーティング可能なアドレス情報(例えば、宛先MACアドレスやこれに類するもの等の宛先アドレス)が省略される(これによって、無線インターフェースに対する有効な節約を提供する)。これは、上記のとおり、IoTデバイスの一意なデバイス識別子と、IoTデバイスのフローレッグのFIDとの組み合わせによって十分に、5GネットワークがIoTデバイスのIoTデバイスデータを、IoTデバイスデータが向かうリモートエンドポイントと第2のリモートエンドポイントとに直接送信できるためである。ペイロードは、IoTデバイスからリモートエンドポイントに通信されているIoTデバイスデータ(例えば、温度観測データ、湿度観測データ、その他これに類するもの)を含み、これをペイロード2と示す。
ステップ550では、5GネットワークがIoTデバイスからデータパケットを受信し、対応するデータパケットをリモートエンドポイントに送信し(ステップ550−Aで示す)、対応するデータパケットを第2のリモートエンドポイントに送信する(ステップ550−Bで示す)。
5Gネットワークは、IoTデバイスからデータパケットを受信する。5Gネットワークは、IoTデバイスの一意なデバイス識別子を、5Gネットワーク(例えば、5G SDNコントローラ)によってIoTデバイスに割り当てられるレイヤ2アドレス(例えば、イーサネット(登録商標)のMACアドレス)と置き換えることによってデータパケットを変更し、それによって変更されたデータパケットを提供する。5Gネットワークは、データパケットのヘッダを変更し、IoTデバイスの一意なデバイス識別子のマッピングに基づいて、変更されたデータパケットをIoTデバイスのレイヤ2アドレスに提供できる。これは、5GネットワークのBTS、または、5Gネットワークのあらゆる適切なエンティティ(例えば、BTS SDNスイッチ、またはこれに類するもの)によって実行されうる。
5Gネットワークは、IoTデバイスからの変更されたデータパケットが、リモートエンドポイント及び第2のリモートエンドポイントの両方を行先としているか否か判断する。5Gネットワークは、IoTデバイスからの変更されたデータパケットが、リモートエンドポイント及び第2のリモートエンドポイントの両方を行先としているか否かの判断を、フローセッションのために5Gネットワークによって保持されるマッピング情報に基づいて行う。このマッピング情報は、例えば、IoTデバイスのレイヤ2アドレスとIoTデバイスのフローレッグのFID(FID2)との組み合わせのマッピングであり、このIoTデバイスのレイヤ2アドレスとIoTデバイスのフローレッグのFID(FID2)との組み合わせは変更されたデータパケットに含まれており、(1)リモートエンドポイントのレイヤ2アドレスとリモートエンドポイントのフローレッグのFID(FID1)との組み合わせ、(2)第2のリモートエンドポイントのレイヤ2アドレスと第2のリモートエンドポイントのフローレッグのFID(FID3)との組み合わせである。
5Gネットワークは、5Gネットワークとリモートエンドポイントとの間のフローレッグ上でIoTデバイスデータをリモートエンドポイントに送信し、5Gネットワークと第2のリモートエンドポイントとの間のフローレッグ上でIoTデバイスデータを第2のリモートエンドポイントに送信する。これは、5GネットワークのIoTゲートウェイ(または、5Gネットワークのあらゆるその他の適切なエンティティ)によって実行されうる。
5Gネットワークは、データパケットを使用してリモートエンドポイントにIoTデータを送信する。ここで、このデータパケットには、ヘッダとペイロードが含まれる。ヘッダはリモートエンドポイントのレイヤ2アドレス(例えば、MACアドレス)及びリモートエンドポイントのフローレッグのFID(いわゆる、FID1)を含む。ここで5Gネットワークは、マッピング情報に基づいてリモートエンドポイントのフローレッグのFIDを特定する。ペイロードは、IoTデバイスからリモートエンドポイントに通信されているデータ(例えば、温度観測データ、湿度観測データ、その他これに類するもの)を含み、これをペイロード2と示す。
5Gネットワークは、データパケットを使用して第2のリモートエンドポイントにIoTデータを送信する。ここで、このデータパケットには、ヘッダとペイロードが含まれる。ヘッダは、第2のリモートエンドポイントのレイヤ2アドレス(例えば、MACアドレス)及び第2のリモートエンドポイントのフローレッグのFID(いわゆる、FID3)を含む。ここで5Gネットワークは、マッピング情報に基づいて第2のリモートエンドポイントのフローレッグのFIDを特定する。ペイロードは、IoTデバイスから第2のリモートエンドポイントに通信されているデータ(例えば、温度観測データ、湿度観測データ、その他これに類するもの)を含み、これをペイロード2と示す。
5Gネットワークは、様々な方法で、リモートエンドポイントや第2のリモートエンドポイントのためのデータパケットを生成できる。5Gネットワークはデータパケットの生成を、
・ 変更されたデータパケットを一旦複製すること;
・ 変更されたデータパケットを更に変更すること(例えば、IoTデバイスのレイヤ2アドレスを削除したり、リモートエンドポイントのレイヤ2アドレスを追加したり、IoTデバイス(FID2)のフローレッグのFIDをリモートエンドポイントのフローレッグのFID(FID1)と置き換えたりすることによって、リモートエンドポイントのためのデータパケットを生成する);
・ データパケットの複製物を変更すること(例えば、IoTデバイスのフローレッグのFID(FID2)と、第2のリモートエンドポイントのフローレッグのFID(FID3)とを置き換え、第2のリモートエンドポイントのためのデータパケットを生成する);
ことによって行うことができる。5Gネットワークはデータパケットの生成を、変更されたデータパケットを2回複製することによって行う(例えばさらに、データパケットの2つの複製物を変更し、リモートエンドポイントと第2のリモートエンドポイントとに送信される2つのデータパケットを生成する)。パケットは、セッション及びプロトコル情報それぞれに基づいて生成されうる。これらセッション及びプロトコル情報は、5Gネットワークとリモートエンドポイントと第2のリモートエンドポイントとの間のそれぞれのフローレッグのために、5Gネットワークによって保持されていることに留意すべきである(例えば、TCPを使用するフローレッグの場合には、5Gネットワークによって保持されている完全なセッション情報が、そのフローレッグのために生成されたパケット用のTCPペイロードを再生成するために使用される)。5Gネットワークは、様々なその他の方法でデータパケットを生成できる。
明瞭性のため図5では省略しているが、方法500は、データがIoTデバイスとリモートエンドポイントと第2のリモートエンドポイントの間でやり取りされるように動作をし続けることが理解できるであろう(例えば、フローセッションが終了する時間まで等)。
フローセッションがリモートエンドポイントによって開始され、IoTデバイスがフローセッションを介して送信されるデータの発信元である実施形態に関して主に説明されているが、フローセッションがその他のデバイス(例えば、IoTデバイス、第2のリモートエンドポイント、その他これに類するもの)によって開始されてもよく、リモートエンドポイントが追加的または代替的にデータをIoTデバイスに送信してもよく、第2のリモートエンドポイントが追加的または代替的にデータをIoTデバイスに送信してもよく、またはこれに類すること、およびそれらの様々な組み合わせを行ってもよいことが理解できるであろう。フローセッションがIoTデバイスによって開始され、IoTデバイスがそのフローセッションで送信されるデータの発信元である実施形態が図6に示されている。
図6は、フローセッションの確立方法、および、1対多(one−to−many)のためのデータ転送方法の実施形態を示す。
図6に記載のとおり、IoTデバイス(例えば、図1のIoTデバイス110)に対するデバイスネットワーキングをサポートするため、メッセージフロー600は、2つのリモートエンドポイント(図1の2つのRE140)を含むフローセッションのためのO2M通信モードに基づく5Gネットワーク(例えば、図1の5Gネットワーク120)を使用する、フローセッションの確立とIoTデバイスのためのデータ転送とをサポートするように構成されている。メッセージフロー600では、フローセッションの確立はIoTデバイスによって開始される。
ステップ605では、Create_Flow requestを5Gネットワークに送信することによって、IoTデバイスがIoTデバイスのためのフローセッションの確立を開始する。Create_Flow requestは、IoTデバイスによって送信されるパケットのペイロードに含まれる場合がある。IoTデバイスによって送信されるパケットのヘッダには、IoTデバイスの一意なデバイス識別子が含まれる。Create_Flow requestは、IoTデバイスと5Gネットワークとの間にある、そのIoTデバイスのフローレッグに対し、そのIoTデバイスによって選択されたFIDを含む(例えば、この例ではFID1と示す)。Create_Flow requestはさらに、1または複数の追加的なパラメータを含むことができる。1つまたは複数の追加的なパラメータは、フローセッションのために要求されるフロータイプの表示(この例では、M2Oフローセッションタイプ)、フローセッション上でやり取りされるデータタイプの表示(例えば、温度データ、湿度データ、その他これに類するもの)、その他これに類するもの、及びこれらの様々な組み合わせが含むことができる。Create_Flow requestは、リモートエンドポイントのGUIDを含まない。IoTデバイスが、フローセッションの確立を開始しているためである。ここで、このフローセッションは、1つまたは複数のリモートエンドポイントによって後に参加される場合がある。明瞭性のため、図6にはフロータイプのみを記載したことに留意されたい。
ステップ610では、5GネットワークはCreate_Flow responseをIoTデバイスに送信する。IoTデバイスに送信されるCreate_Flow responseは、IoTデバイスのフローレッグのFID(いわゆる、FID1)を含み、また任意で、フローセッションの確立が成功したか否かについての情報を表す、フローセッション状態インジケータを含んでもよい。この時点で、IoTデバイスがIoTデータの送信を開始できるように、IoTデバイスのためのフローレッグが確立されている。しかしこの時点では、IoTデバイスのIoTデータを受信するためにフローを要求しているリモートエンドポイントはない。リモートデバイスからのこれら要求は、その後いつでも開始される場合がある。これについては、ステップ615〜650で説明されている。
図6のステップ615〜650は、図5のステップ505及び520−A(リモートエンドポイントのための)、図5のステップ535及び540(第2のリモートエンドポイントのための)に類似している。しかし、ここでは、リモートエンドポイント及び第2のリモートエンドポイントの両方が、IoTデバイスからIoTデータを受信することをフローレッグに要求している。ここで、このIoTデバイスは、確立されたフローレッグをすでに有している。結果として、上述のとおり、ステップ610の完了後いつでも(例えば、1分後、1日後、1週間後、その他これに類するとき)、ステップ615〜650は実行されうる。少なくともいくつかの実施形態では、IoTデバイスのためのフローレッグの確立に続いて、5Gネットワークは、IoTデバイスにフローレッグの利用可能性を示す情報を提供可能である。この情報はリモートエンドポイントによって発見され、IoTデバイスのフローレッグへ接続するためのフローレッグを要求するためにリモートエンドポイントによって使用されうる。少なくともいくつかの実施形態では、5Gネットワークは、IoTデバイスのデータ送信のタイミングを制御することができる。例えば、IoTデバイスのために生成されるフローレッグに関連するフローレッグを、いずれかのリモートエンドポイントが有しているか否か(さらに任意で、リモートエンドポイントがそのようなフローレッグを確立する予定がある時、又はその可能性がある時を示す情報)によって、5GネットワークはHold_Data messageをIoTデバイスに送信し、IoTデバイスにそのフローレッグでIoTデータを送信しないように指示することができ、さらに、5GネットワークはSend_Data messageをIoTデバイスに送信し、IoTデバイスにそのフローレッグでIoTデータを送信するよう指示することができる。(例えば、リモートエンドポイントがフローレッグを確立した場合、又は、その確立を要求した場合である)。IoTデバイスは5Gネットワークによる指示の従い、データを送信または保持するように構成されるであろう。IoTデータが、フローレッグを介してIoTデバイスからリモートポイントエンドに移動できるように(ステップ625及び630)、リモートエンドポイントのためのフローレッグの確立(ステップ615及び620)は、リモートエンドポイントのためのフローセッションの確立を完了する。同様に、IoTデータが、フローレッグを介してIoTデバイスから第2のリモートエンドポイントに移動できるように(ステップ645及び650)、第2のリモートエンドポイントのためのフローレッグの確立(ステップ635及び640)は、第2のリモートエンドポイントのためのフローセッションの確立を完了する。
図示していないが、フローの確立は、M2Oフローセッションの確立のために実行されうる。M2Oフローセッションでは、データは、複数の発信元エンドポイントから1つの宛先エンドポイントに伝達される(例えば、複数のリモートエンドポイントから1つのIoTデバイスに向けて、または、複数のIoTデバイスから1つのリモートエンドポイントに向けて)。そして、そのため、M2Oフローセッションは、複数の発信元エンドポイントから5Gネットワークへの複数のフローレッグと、5Gネットワークから宛先エンドポイントへの1つのフローレッグとで構成されうる。M2Oフローセッションのためのフローレッグは、O2Mセッションで説明したものを類似した方法で確立され、どのデバイスがM2Oフローセッション、フローディレクション、これに類するもの、及びこれらの様々な組み合わせの確立を開始するかによって、様々に依存しうる。発信元エンドポイントから5Gネットワークへの複数のフローレッグを介して5Gネットワークによって受信されるフローデータは、5Gネットワークから宛先エンドポイントへの1つのフローレッグを介して、5Gネットワークによって宛先エンドポイントに転送されうる。発信元エンドポイントから5Gネットワークへの複数のフローレッグを介して5Gネットワークによって受信されるフローデータには、発信元エンドポイントのGUIDを含んでいることが期待されない(むしろ、フローレッグのFIDを含んでいることが比較的期待される)。そのため、5Gネットワークは、発信元エンドポイントのGUID(発信元のフローレッグのFIDをマッピングするマッピング情報を利用している5Gネットワークによって決定される)をパケットに挿入し、宛先エンドポイントが発信元エンドポイントからのパケットの発信元を識別するのを可能にできる。ここで、このパケットは、5Gネットワークと宛先エンドポイントとの間の1つのフローレッグを介して宛先エンドポイントに送信されるパケットである。5Gネットワークによる発信元エンドポイントのGUIDの送信は、基本的な通信プロトコルからの利用が可能なオプションに依存する場合がある。例えば、5Gネットワークから宛先エンドポイントへのフローレッグがTCPを使用している場合、発信元エンドポイントのGUIDは、TCPオプションとして、発信元エンドポイントのパケットヘッダで送信される場合がある。
図示していないが、フローの確立は、M2Mフローセッションの確立のために実行されうる。M2Mフローセッションでは、データが、複数の発信元エンドから複数の宛先エンドポイントに伝達される(例えば、複数のリモートエンドポイントから複数のIoTデバイスに向けて、または、複数のIoTデバイスから複数のリモートエンドポイントに向けて)。そして、そのため、M2Mフローセッションは、複数の発信元エンドポイントから5Gネットワークへの複数のフローレッグと、5Gネットワークから宛先エンドポイントへの複数のフローレッグとで構成されうる。M2Mフローセッションのためのフローレッグは、O2Mセッションで説明したものを類似した方法で確立され、どのデバイスがO2M及びM2Oフローセッション、フローディレクション、これに類するもの、及びこれらの様々な組み合わせの確立を開始するかによって、様々に依存しうる。発信元エンドポイントから5Gネットワークへの複数のフローレッグスを介して5Gネットワークによって受信されるフローデータは、5Gネットワークから宛先エンドポイントへの複数のフローレッグを介して、5Gネットワークによって宛先エンドポイントに転送されうる。発信元エンドポイントから5Gネットワークへの複数のフローレッグを介して5Gネットワークによって受信されるフローデータには、発信元エンドポイントのGUIDを含んでいることが期待されない(むしろ、フローレッグのFIDを含んでいることが比較的期待される)。そのため、5Gネットワークは、発信元エンドポイントのGUID(発信元のフローレッグのFIDをマッピングするマッピング情報を利用している5Gネットワークによって決定される)をパケットに挿入し、宛先エンドポイントが発信元エンドポイントからのパケットの発信元を識別するのを可能にする場合がある。ここで、このパケットは、5Gネットワークと宛先エンドポイントとの間の複数のフローレッグを介して宛先エンドポイントに送信されるパケットである。5Gネットワークによる発信元エンドポイントのGUIDの送信は、基本的な通信プロトコルからの利用が可能なオプションに依存する場合がある。例えば、5Gネットワークから宛先エンドポイントへのフローレッグがTCPを使用している場合、発信元エンドポイントのGUIDは、TCPオプションとして、発信元エンドポイントのパケットヘッダで送信される場合がある。
明瞭性のため省略するが(図4、5、6)、5Gネットワークは基本的なネットワークプロトコルの間での変換を操作するように構成されうることが理解できるであろう。ここで、この基本的なネットワークプロトコルは、フローセッションの各フローレッグ上で使用され、これによって、エンドポイント間の通信をサポートすることができる(本明細書に記載のとおり、IP及び非IPエンドポイントのためのサポートを含む場合がある)。ここで、このエンドポイントは、異なる基本的なネットワークプロトコルを使用している。例えば、5Gネットワークは、第1のフローレッグと第2のフローレッグが異なる基本的なネットワークプロセスを使用する場合、第2のフローレッグで送信されて第1のフローレッグで受信するパケットのために、プロトコル間でパケットを処理および変換するように構成されうる。
明瞭性のため省略するが(図4、5、6)、プロトコルデータはフローセッションの一部またはすべてのフローレッグと関連しうることが理解できるであろう。フローセッションのフローレッグと関連するプロトコルデータは、フロー設定の間、エンドポイントデバイスによってネゴシエートされうる。フローセッションのフローレッグに関連するプロトコルデータは、プロトコル特有の処理をサポートし、フローセッションのフローレッグのデータ転送をするために、5Gネットワーク(例えば、IoTゲートウェイ)またはその他のネットワークによって使用されうる。プロトコルデータは、様々に異なるプロトコルを横断することができる。例えば、リモートエンドポイントがサーバであり、サーバのためのフローレッグのプロトコルがTCPの場合、フローレッグのためのプロトコルデータは、IoTデバイスからのデータフローが提供されるサーバ上のTCPポート番号(アプリケーション識別子)を含むことができる。例えば、マシンツーマシンのプロトコル、PROFINETでは、プロトコルデータは、プライバシー及びセキュリティのために使用されるVLAN(virtual local area network)タグを含むことができる。その他のタイプのプロトコルデータもサポートされる場合があり、その他のプロトコルもサポートされる場合があり、これに類する場合、及びこれらの様々な組み合わせのケースがあることも理解できるであろう。
フローセッション及び通信の実施形態は、2つのフローレッグのみがフローセッションの通信エンドポイントのいずれかのペア間で必要とされるように、様々なエンドポイントが全て5Gネットワーク(さらに具体的には、同じIoTゲートウェイ)に接続される実施形態の文脈中で主に説明されているが、2つ以上のフローレッグがフローセッションの通信エンドポイントの1つまたは複数のペア間で必要とされうるように、エンドポイントを様々なその他の方法で接続してもよい(例えば、同一ネットワークの異なるIoTデバイス、異なるネットワークの異なるIoTデバイス(この場合、エンドポイントによる通信は、IoTゲートウェイの間、場合によってはネットワーク境界で接続をクロス(cross)してもよい)、その他これに類するもの、及びこれらの様々な組み合わせ)ことは理解されるであろう。少なくともいくつかの実施形態では、例えば、エンドポイントの1つが5Gネットワークの第1のIoTゲートウェイに割り当てられる場合があり、その他のエンドポイントが5Gネットワークの第2のIoTゲートウェイに割り当てられる場合がある。この場合、第1のゲートウェイと第2のゲートウェイとの間でフローセッションのデータを転送するため、第1のゲートウェイと第2のゲートウェイとの間で接続が確立される場合がある。少なくともいくつかの実施形態では、例えば、エンドポイントの1つが5GネットワークのIoTゲートウェイに割り当てられる場合があり、その他のエンドポイントが異なる通信ネットワークのゲートウェイに割り当てられる場合がある。この場合、5GネットワークのIoTゲートウェイと異なる通信ネットワークのゲートウェイとの間でフローセッションのデータを転送するため、5GネットワークのIoTゲートウェイと異なる通信ネットワークのゲートウェイとの間で接続が確立される場合がある。少なくともいくつかの実施形態では、例えば、エンドポイントの1つが第1のネットワークのゲートウェイに割り当てられる場合があり、その他のエンドポイントが第2のネットワークのゲートウェイに割り当てられる。ここで、第3のネットワークは、第1および第2のネットワークの間に配置される。この場合、第1の接続は、第1のネットワークのゲートウェイと第3のネットワークのゲートウェイとの間で確立される場合があり、第2の接続は、フローセッションのデータを転送するために第3のネットワークのゲートウェイと第2のネットワークのゲートウェイとの間で確立される。この場合、エンド・ツー・エンドのトンネルは中継用(intervening)の第2のネットワークを経由して第1のネットワークのゲートウェイと第3のネットワークのゲートウェイとの間で確立される場合がある。エンド・ツー・エンドのフローセッションが複数のネットワークの間のネットワーク境界を跨ぐ、少なくともいくつかの実施形態では、境界を跨ぐフローをサポートするために、各ネットワークが、そのネットワークのゲートウェイのためにネットワークアドレス(例えば、IPアドレス、UDPポート番号、その他これに類するもの)を公開し、隣接するネットワークがそのネットワークアドレスに接続できるようにすべき場合があることが理解されよう。
いくつかの適切な数のコネクションが、互いに連結してエンド・ツー・エンドのデータフローをサポートできることが理解されよう(例えば、データセッションのエンドポイントの間に配置されうる、いくつかの適切な数のネットワークのネットワーク境界をクロスするため)。このような、ゲートウェイ間またはその他のタイプの媒介装置の間の追加的な接続が、様々なネットワーキング機能(レイヤ2のトンネリング、レイヤ3のトンネリング、その他これに類するもの等)を使用してサポートされうることが理解されよう。
明瞭性のため省略するが、1つのIoTデバイス(または、複数のIoTデバイス)をハブ装置(hub device:例えば、家庭内での1つまたは複数の関連するIoTデバイスをサポートできる、IoTホームゲートウェイまたはその他の装置)の背後に設けてもよいことが理解されよう。IoTハブが複数のIoTデバイスにサービスを提供している構成の一例を図7に示す。
図7は、複数のIoTデバイスの通信をサポートするように構成される、IoTハブを備える通信システムの一部の一例を示す。
通信システム700は、IoTデバイス710−1〜710−Nのセット(正確には、IoTデバイス710、IoTハブ715、5GネットワークのBTS121)を含む。5Gネットワーク120にBTS121が含まれることは、通信システム700のIoTデバイス710とIoTハブ715の構成が、図1の通信システム100(明瞭性のため、図7では、通信システム100のその他の部分は省略されているが)のコンテキスト内で使用されうることを示すことが理解されるであろう。
IoTハブ715は自身に関連するGUIDを有しており、このGUIDは、5Gネットワーク120でのIoTハブ715の認証および権限付与のために使用されうる。IoTデバイスは、それらに関連するGUIDを有する。IoTデバイス710のGUIDは、様々な制御メッセージで使用されうる。ここで、この制御メッセージは、(例えば、認証、権限付与、登録、ディスカバリメッセージでIoTデバイス710を特定するために、)IoTデバイス710の代わりにIoTハブ715によって送信されうる。IoTデバイス710は、例えばIoTデバイス710のGUIDに基づいて、5Gネットワーク120に自身を登録することができる。または、IoTデバイス710のGUIDを使用しているIoTデバイス710のための登録メッセージを送信することによって、IoTハブ715がIoTデバイス710を登録できる。
IoTハブ715は、自身に関連する固有のデバイス識別子を有する。これは、IoTハブ715が関与しない実施形態では、IoTデバイス710固有の識別子の代わりに使用されうる。IoTデバイス710は、自身に関連する固有のデバイス識別子を必ずしも必要としない。IoTデバイス710の固有のデバイス識別子は、IoTハブ715によって使用されない場合がある。というのも、IoTハブ715が固有のデバイス識別子を有し、前述のとおりこれは、IoTハブ715が関与しない実施形態では、IoTデバイス710の固有のデバイス識別子の代わりに使用される場合があるからである。
IoTデバイス710は、それに関連するIoTデバイス識別情報を有する。このIoTデバイス識別情報は、IoTハブ715によって使用するために構成され、IoTハブ715に接続されるIoTデバイス710を一意的に識別する。IOTデバイス715は、IoTデバイス識別情報を保持する。ここで、このIoTデバイス識別情報は、IoTハブ715によって使用され、IoTハブ715に接続されるIoTデバイス710を一意的に識別する。IoTハブ715の背後にあるIoTデバイス710の一意的な識別をサポートするために使用されるIoTデバイス識別情報は、いくつかの適切な数のビットを含むことができる(このビットの数は、一意的な識別が必要とされるIoTハブ715に接続される、IoTデバイス710の数に依存する場合がある)。例えば、IoTデバイス識別情報は4ビットの識別子(例えば、IoTデバイスハブ715がその背後に最大で16のIoTデバイスを有する場合)、1バイトの識別子(例えば、そのハブが背後に最大で256のIoTデバイスを有する場合)、その他同様のビット数の識別子の識別子であってよい。
IoTハブ720を介するIoTデバイス710によるアップストリーム及びダウンストリームを以下でさらに詳しく説明する。
IoTデバイス710からのアップストリームの向きでは、IoTデバイス710がパケットを送信する。パケットはヘッダとペイロードを含む。ヘッダは、IoTデバイス識別情報を含む。ここで、このIoTデバイス識別情報は、IoTハブ715によって使用され、IoTデバイス710を一意的に識別できる。ペイロードは、IoTデバイス710のIoTデバイスデータを含む。ここで、このIoTデバイスデータは、コンシューマ装置に提供されている。IoTハブ715は、IoTデバイス710からパケットを受信し、5Gネットワーク120にパケットを送信する。IoTハブ715によって5Gネットワーク120に送信されるIoTデバイス710のパケットは、IoTハブ715の固有のデバイス識別子と、IoTデバイス710を一意的に識別するのに使用されるIoTデバイス識別情報とを含み、同様に、IoTハブ715と5Gネットワーク120との間のフローレッグのFIDを含む。5Gネットワーク120のBTS121は、パケットを受信すると、IoTハブ715の固有のデバイス識別子に基づくIoTハブ715のレイヤ2アドレスを識別し、IoTハブ715のレイヤ2アドレスをパケットに挿入し、そのパケットを5Gネットワーク120に送信する。5Gネットワーク120(例えば、IoTゲートウェイ123)は、IoTハブ715のレイヤ2アドレスを含むパケットを受信すると、IoTハブ715のレイヤ2アドレスに基づくフローセッション、IoTデバイス710のIoTデバイス識別情報、IoTハブ715と5Gネットワーク120との間にあるフローレッグのFIDを識別する。5Gネットワーク120は、パケットのためのフローセッションの識別に基づいて、識別されたフローセッションに関連するフローセッション情報を検索する。フローセッション情報は、IoTデバイス710のIoTデバイスデータが送信される、フローセッションのその他のフローレッグを一意的に識別する情報を含む(本明細書では明瞭性のため、5Gネットワーク120と、IoTデバイスデータのコンシューマのコンシューマ装置との間にもう1つフローレッグがあると仮定する)。識別されるその他のフローレッグは、コンシューマ装置のレイヤ2アドレス及びその他のフローレッグのFIDと関連している。5Gネットワーク120は、パケットに含まれるFIDをその他のフローレッグのために検索されたFIDに置き換え、ヘッダに含まれる宛先レイヤ2アドレスをコンシューマ装置のレイヤ2アドレスに設定して、それによって変更パケットを形成する(ここでは、コンシューマ装置は、ハブ経由で接続されているのではなく、5Gネットワークに直接接続されている)。5Gネットワーク120は、変更パケットをその他のフローレッグ経由でコンシューマ装置に送信する。
IoTデバイス710に向かうダウンストリーム方向では、5Gネットワーク120がコンシューマ装置のパケットを受信する。ここで、このコンシューマ装置のパケットは、IoTデバイス710に配信されるIoTデバイスデータ(例えば、要求、命令、指示等)を含む。5Gネットワークは、コンシューマ装置と5Gネットワーク120との間で、フローレッグ経由でパケットを受信する。パケットはヘッダとペイロードを含む。パケットのヘッダは、コンシューマ装置と5Gネットワークとの間のコンシューマ装置のレイヤ2アドレス及びフローレッグのFIDを含む。コンシューマ装置のレイヤ2アドレス及びFIDは、フローセッションを一意的に識別する。ペイロードは、IoTデバイス710に配信されるIoTデバイスデータを含む。5Gネットワーク120は、パケットを受信して、コンシューマ装置のレイヤ2アドレスとFIDとに基づいてフローセッションを識別し、識別されたフローセッションに関連するフローセッション識別情報を検索する。フローセッション情報は、IoTデバイスのIoTデバイスデータが送信される、フローセッションのその他のフローレッグを一意的に識別する情報を含む(本明細書では明瞭性のため、5Gネットワーク120とIoTハブ715との間にもう1つフローレッグがあると仮定する。ここで、このIoTハブ715は、コンシューマ装置のパケットの行先のIoTデバイス710をサポートしている)。フローセッション情報は、IoTデバイス識別情報も含む。ここで、このIoTデバイス識別情報は、IoTデバイス710を一意的に識別するためにIoTハブ715によって使用される。識別されるその他のフローレッグは、IoTハブ715のレイヤ2アドレス及びその他のフローレッグのFIDと関連している。5Gネットワーク120は、パケットに含まれるFIDをその他のフローレッグのために検索されたFIDと置き換えて、ヘッダに含まれる宛先レイヤ2アドレスをIoTハブ715のレイヤ2アドレスにセットし、IoTデバイス710のIoTデバイス識別情報をパケットに挿入し(パケットの行先のIoTデバイス710を識別するときに、IoTハブ715によって使用するため)、これによって変更パケットを形成する。5Gネットワークは、変更パケットをIoTハブ715に送信する。IoTハブ715は、変更パケットを受信し、IoTデバイス710のIoTデバイス識別情報に基づいて、変更パケットの行先のIoTデバイス710を識別する。IoTハブ715は、IoTデバイスデータをIoTデバイス710に提供する(具体的には、変更パケットをIoTデバイスに送信することによって、または、変更パケットの変更版をIoTデバイス710に送信することによって、または、IoTデバイスデータを取得し、そのIoTデバイスデータをIoTデバイスに提供することによって、及びこれらに類する処理によって提供する)。
IoTデバイスへのサービス提供もしくはその他のタイプのエンドポイント装置へのサービス提供を行っているIoTハブ装置の使用をサポートするため、または、IoTデバイスへのサービス提供もしくはその他のタイプのエンドポイント装置へのサービス提供を行っているその他のタイプの中継装置の使用をサポートするために、様々なその他の機能が提供されることが理解できるであろう。
無線でBTSと通信するデバイスをIoT関連機器と称する場合があり、IoTハブ装置がない場合にはIoTデバイスであってもよく、また、1または複数のIoTデバイスによる通信をサポートしているIoTハブ装置であってもよいことが理解できるであろう。IoTデバイスによる通信をサポートするように構成される様々な方法をさらに詳しく説明する。
図8は、無線ネットワークを介した通信でのIoT関連機器による使用のための方法の一例を示す。ブロック801では、方法800を開始する。ブロック810では、IoT関連機器は、無線ネットワークの無線アクセスデバイスに向けて、IoT関連機器のためのフローセッションのフローレッグの確立をリクエストするcreate flow request messageを送信する。ここで、このcreate flow request messageは、フローセッションのフローレッグのためにIoT関連機器によって選択されるフロー識別子を含む。IoT関連機器は、関連するレスポンスを処理して、IoT関連機器のためのフローセッションのフローレッグの確立をサポートすることもできる。ブロック820では、IoT関連機器は、IoT関連機器と無線アクセスデバイスとの間で、IoTデータパケットの通信をサポートする。ここで、このIoTデータパケットは、IoT関連機器の固有デバイス識別子、フロー識別子、IoTデバイスデータを含む。ブロック899では、方法800を終了する。
図9は、IoT関連機器の通信のサポートにおける無線ネットワークの無線アクセスデバイスによる使用のための方法の一例を示す。ブロック901では、方法900を開始する。ブロック910では、無線アクセスデバイスは、IoT関連機器から、無線ネットワークへのIoT関連機器のアタッチメントをリクエストする、attach request messageを受信する。ここで、このattach request messageは、IoT関連機器のGUIDと、IoT関連機器の固有デバイス識別子とを含む。ブロック920では、無線アクセスデバイスが、無線ネットワークのネットワークコントローラに向けて、無線アクセスデバイスがIoT関連機器用のエントリーを有していないという判断に基づき、attach request messageを送信する。ブロック930では、無線アクセスデバイスは、ネットワークコントローラから、IoT関連機器に割り当てられるレイヤ2アドレスと、IoT関連機器用に割り当てられるIoTゲートウェイデバイスのレイヤ2アドレスとを含むメッセージを受信する。ブロック999では、方法900を終了する。
図10は、IoT関連機器の通信のサポートにおける無線ネットワークに関連するネットワークスイッチによる使用のための方法の一例を示す。ブロック1001では、方法1000を開始する。ブロック1010では、ネットワークスイッチが、ネットワークコントローラからフローエントリー情報を受信する。ここで、フローエントリー情報はルールのセットとアクションのセットとを含み、ルールのセットは、IoT(Internet−of−Things)関連機器に割り当てられるレイヤ2アドレス、または、IoT関連機器に割り当てられるIoTゲートウェイデバイスのレイヤ2アドレスに適合するように構成される。また、アクションのセットは、ルールのセットに適合するパケットが、ネットワークスイッチからIoTゲートウェイデバイス、または、ネットワークスイッチから無線アクセスデバイスに転送されるべき旨の表示を含む。ブロック1020では、ネットワークスイッチが、IoT関連機器に割り当てられるレイヤ2を含むレイヤ2アドレスフィールドを含むIoTデータパケット、または、IoTゲートウェイデバイスのレイヤ2アドレスを含むレイヤ2アドレスフィールドを含むIoTデータパケットを受信する。ブロック1030では、フローエントリー情報に基づいて、ネットワークスイッチが、IoTデータパケットを、ネットワークスイッチから無線アクセスデバイス、または、IoTゲートウェイデバイスに転送する。ブロック1099では、方法1000を終了する。
図11は、IoT関連機器の通信のサポートにおけるIoTゲートウェイデバイスによる使用のための方法の一例を示す。ブロック1101では、方法1100を開始する。ブロック1110では、IoTゲートウェイデバイスは、第1のデバイスからフローセッションの第1のフローレッグを介し、第1のヘッダと第1のペイロードとを含む第1のパケットを受信する。ここで、この第1のヘッダは、第1のデバイスのレイヤ2アドレスと第1のフローレッグの第1のフロー識別子とを含み、第1のペイロードは、IoTデバイスデータを含む。ブロック1120では、IoTゲートウェイデバイスは、第2のデバイスにフローセッションの第2のフローレッグを介し、第2のヘッダと第2のペイロードとを含む第2のパケットを送信する。ここで、この第2のヘッダは、第2のデバイスのレイヤ2アドレスと第2のフローレッグの第2のフロー識別子とを含み、第2のペイロードは、IoTデバイスデータを含む。ブロック1199では、方法1100を終了する。
ネットワーキングが、IoTデバイスとIoT関連リモートエンドポイント(例えば、IoTサーバ、IoTデータコンシューマ、その他これに類するもの)との間にある実施形態について主に説明されているが、本明細書で説明されている様々な実施形態を、IoTデバイスと非IoT関連機器との間のネットワーキングで使用できることが理解されよう。ここで、このネットワーキングは、IoTゲートウェイの背後に位置づけられる場合がある(例えば、コアネットワークの中の装置、非IoTサーバ、これに類するもの、及びこれらの様々な組み合わせ)。
本明細書では主に、特定のタイプの通信ネットワークと通信ネットワーク技術とを使用する(例えば、5Gセルラーネットワーク等)通信システムのコンテキストに含まれるIoTデバイス接続、ディスカバリ、ネットワーキング機能をサポートすることについて説明されている。しかし、その他のタイプの通信ネットワーク(例えば、4Gセルラーネットワーク、3Gセルラーネットワーク、有線ネットワーク、これに類するもの、及びこれらの様々な組み合わせ)、様々なその他のタイプの通信ネットワーク技術、これに類するもの、及びこれらの様々な組み合わせを使用する、様々なその他のタイプの通信システムのコンテキストの中で、IoTデバイス接続、ディスカバリ、ネットワーキング機能をサポートすることも可能であることが理解されよう。
図12は、本明細書に記載される様々な機能の実行での使用に適したコンピュータのハイレベルなブロック図を示す。
コンピュータ1200は、プロセッサ1202(例えば、中央処理装置(CPU)、プロセッサコアのセットを備えるプロセッサ、その他これに類するもの)、及びメモリ1204(例えば、RAM(random access memory)、ROM(read only memory)、その他これに類するもの)を含む。プロセッサ1202及びメモリ1204は、通信可能に接続されている。
コンピュータ1200もまた、コーポレーティング要素1205(cooperating element)を備えることができる。コーポレーティング要素1205は、ハードウェア装置であってもよい。コーポレーティング要素1205は、メモリ1204にロードされ、プロセッサ1202によって実行されて本明細書に記載のような機能を実行することのできるプロセスであってもよい(この場合、例えば、コーポレーティング要素1205(関連するデータ構造を含む)をストレージ装置またはその他のストレージ要素(例えば、磁気ドライブ、光学ドライブ、及びこれに類するもの)等の持続性コンピュータ可読記憶媒体に保存してもよい)。
コンピュータ1200はさらに、1または複数の入出力装置1206を備えることができる。入出力装置1206は、1または複数のユーザ入力装置(例えば、キーボード、キーパッド、マウス、マイクロホン、カメラ、その他これに類するもの)、1または複数のユーザ出力装置(例えば、ディスプレイ、スピーカ、その他これに類するもの)、1または複数のネットワーク通信デバイスまたは要素(例えば、入力ポート、出力ポート、レシーバ、トランスミッタ、トランシーバー、その他これに類するもの)、1または複数のストレージ装置(例えば、テープドライブ、フロッピードライブ、ハードディスクドライブ、コンパクトディスクドライブ、その他これに類するもの)、その他これに類するもの、及びこれらの様々な組み合わせを含むことができる。
図12のコンピュータ1200は、本明細書に記載の機能的な要素、本明細書に記載の機能的な要素の一部、またはこれに類するもの、及びこれらの様々な組み合わせを実行するのに適切な一般的なアーキテクチャおよび機能を説明することができることが理解されよう。コンピュータ1200は、一般的なアーキテクチャと機能とを提供することができる。ここで、この機能は、1または複数のIoTデバイス110、5Gネットワーク120の要素、BTS121、BTS SDNスイッチ122、IoTゲートウェイ123、5G SDNコントローラ125、IoTデバイス・ディスカバリ・システム129、PDN130の要素、RE140、IoTデバイス710、IoTハブ715、その他これに類するものを実装するのに適している。
本明細書および図面に記載の機能は、ソフトウェアで実行可能であり(例えば、1または複数のプロセッサ上でのソフトウェアの実行を介して、汎用的なコンピュータ上での実装(例えば、1または複数のプロセッサによる実行)が、特定用途のコンピュータを提供する)、かつ/または、ハードウェアで実行可能である(例えば、汎用的なコンピュータ、1または複数のASIC(application specific integrated circuits)、及び/または、あらゆるその他のハードウェアと同等のもの)ことは理解されよう。
ソフトウェアの方法等、本明細書に記載の少なくともいくつかの機能は、ハードウェア(例えば、プロセッサと協働して様々な機能を実現する回路等)に実装可能であることは理解されよう。本明細書に記載の機能/要素の一部は、コンピュータプログラム製品として実装可能である。そして、このコンピュータプログラム製品で、コンピュータ命令がコンピュータによって処理されると、本明細書に記載の方法および/または技術が実行または提供されるように、コンピュータの操作に適合する。様々な方法を実行するための命令が、固定式または脱着可能なメモリ(例えば、持続性コンピュータ可読媒体)に保存され、ブロードキャスト又はその他の信号ベアリング媒体(signal bearing medium)の中のデータストリーム経由で送信され、及び/または、その命令に従う計算装置オペレーティング(computing device operating)内部のメモリに保存されうる。
本明細書に記載の「または」という用語は、特記していない限り(例えば、「そうでない場合は」、その他これに代わる排他的表現)、非排他的なことを意味することは理解されよう。
本明細書で説明されていることを具現化した様々な実施形態を本明細書および図面に詳細に説明しているが、当業者であれば、これらの説明をさらに具現化したその他の様々な実施形態を容易に考え出すことができるのは理解されよう。