(57)【要約】      （修正有）【課題】複数デバイスからなるエンドポイントを適切に設定してネットワークインフラストラクチャを構成するインフラストラクチャ展開プラットフォームを提供する。【解決手段】インフラストラクチャ展開プラットフォームは、システムのコンポーネントとして含まれる、複数のデバイスに関係する設定データを受信する４１０。次いで、設定データを処理し４２０、複数のデバイス間の通信関係または関連付けを特定するコンテキスト情報を判断し４３０、複数のデバイス間の通信を制約するネットワークの編成構造を定義する４４０。さらに、コンテキスト情報または編成構造のデータをネットワークインフラストラクチャコントローラデバイスに送信し４５０、編成構造に基づくネットワークの展開を生じさせるアクションを実行する４６０。【選択図】図４
2020058021.tif 000002
【特許請求の範囲】
【請求項１】
インフラストラクチャ展開プラットフォームによって、複数のデバイスに関係する設定データを受信するステップであって、
前記複数のデバイスは、システムのコンポーネントとして含まれている、
前記受信するステップと、
前記設定データを受信した後に、前記インフラストラクチャ展開プラットフォームによって前記設定データを処理するステップと、
前記設定データを処理するステップに基づき、前記インフラストラクチャ展開プラットフォームによって、前記複数のデバイスに関するコンテキスト情報を判断するステップであって、
前記コンテキスト情報は、前記複数のデバイス間の通信関係または関連付けを特定する、
前記判断するステップと、
前記インフラストラクチャ展開プラットフォームによって、前記複数のデバイスのネットワークの編成構造を定義するステップであって、
前記編成構造は、前記通信関係または関連付けに基づき前記複数のデバイス間の通信を制約する、
前記定義するステップと、
前記インフラストラクチャ展開プラットフォームによって、前記コンテキスト情報または前記編成構造についてのデータをネットワークインフラストラクチャコントローラデバイスに送信するステップと、
前記インフラストラクチャ展開プラットフォームによって、前記編成構造に基づく前記ネットワークの展開を生じさせるアクションを実行するステップと、
を含む方法。
【請求項２】
前記コンテキスト情報は、
前記複数のデバイスのうちの２つ以上のデバイスに関連する機能
をさらに特定し、
前記編成構造を定義するステップは、
前記機能にさらに基づき前記編成構造が前記複数のデバイス間の前記通信を制約するように、前記編成構造を定義するステップ
を含む、請求項１に記載の方法。
【請求項３】
前記編成構造を定義するステップは、
仮想ローカルエリアネットワーク（ＶＬＡＮ）、
物理的なセグメンテーション、
ファイアウォール、
論理的なセグメンテーション、
ホワイトリスト登録、または
ブラックリスト登録
のうちの少なくとも１つを使用して前記編成構造を定義するステップ
を含む、請求項１に記載の方法。
【請求項４】
前記設定データは、
前記複数のデバイスのうちの１つ以上のデバイスに関連する制御論理、
前記複数のデバイスのうちの２つ以上のデバイスのデバイス識別情報、または
前記複数のデバイスのうちの前記２つ以上のデバイスに関連するアドレス情報
を含む、請求項１に記載の方法。
【請求項５】
前記設定データを受信するステップは、
前記システムに関連する初期の設定データおよび／または命令コードに対する変更の検知に基づき、前記設定データを受信するステップ
を含む、請求項１に記載の方法。
【請求項６】
前記アクションを実行するステップは、
前記複数のデバイスに関係する送信のレイヤ２イーサネットフレームにセキュリティタグが付加されるように前記ネットワークの展開を生じさせる前記アクションを実行するステップ
を含む、請求項１に記載の方法。
【請求項７】
前記システムは、
産業用制御システム（ＩＣＳ）、
分散制御システム（ＤＣＳ）、
ビルオートメーションシステム（ＢＡＳ）、
ビルマネジメントシステム（ＢＭＳ）、
産業用モノのインターネット（ＩＩｏＴ）システム、
モノのインターネット（ＩｏＴ）システム、
１つ以上の医療デバイスを含むシステム、または
１つ以上の車両を含むシステム
のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
前記インフラストラクチャ展開プラットフォームは、前記複数のデバイスから遠隔に位置したサーバデバイスから前記設定データを受信する、請求項１に記載の方法。
【請求項９】
前記ネットワークインフラストラクチャコントローラデバイスは、前記複数のデバイスから遠隔に位置する、請求項１に記載の方法。
【請求項１０】
１つ以上のメモリと、
前記１つ以上のメモリに通信結合された１つ以上のプロセッサと、
を含むデバイスであって、前記１つ以上のプロセッサは、
システムの複数のエンドポイントに関係する少なくとも１つの設定ファイルを受信することと、
前記少なくとも１つの設定ファイルを受信した後に、前記少なくとも１つの設定ファイルをパースすることと、
前記少なくとも１つの設定ファイルをパースすることに基づき、前記複数のエンドポイントに関するコンテキスト情報を判断することであって、
前記コンテキスト情報は、前記複数のエンドポイントに関連する機能および／または前記複数のエンドポイント間の通信関係を特定する、
前記判断することと、
前記複数のエンドポイントのネットワークインフラストラクチャを定義することであって、
前記ネットワークインフラストラクチャは、前記機能および／または前記通信関係に基づき前記複数のエンドポイント間の通信を制約する、
前記定義することと、
前記ネットワークインフラストラクチャに基づくネットワークの実装を生じさせるアクションを実行することと、
をするように構成される、デバイス。
【請求項１１】
前記１つ以上のプロセッサは、前記ネットワークインフラストラクチャを定義するとき、
識別子と、前記複数のエンドポイントのうちの２つ以上のエンドポイントとを関連付けることにより、前記ネットワークインフラストラクチャを定義すること
をするように構成される、請求項１０に記載のデバイス。
【請求項１２】
前記１つ以上のプロセッサは、前記ネットワークインフラストラクチャを定義するとき、
仮想ローカルエリアネットワーク（ＶＬＡＮ）スキーマ、
物理的なセグメンテーション、
ファイアウォールスキーム、
論理的なセグメンテーション、
ホワイトリスト登録、または
ブラックリスト登録、
のうちの少なくとも１つに基づき前記ネットワークインフラストラクチャを定義すること
をするように構成される、請求項１０に記載のデバイス。
【請求項１３】
前記複数のエンドポイントは、
制御デバイス、
入出力（Ｉ／Ｏ）デバイス、
ヒューマンマシンインターフェース（ＨＭＩ）デバイス、または
コンピューティングデバイス
を含む、請求項１０に記載のデバイス。
【請求項１４】
前記複数のエンドポイントは、モノのインターネット（ＩｏＴ）デバイスを含む、請求項１０に記載のデバイス。
【請求項１５】
前記システムは、複数のプロセスを実装するように構成され、
前記コンテキスト情報は、前記複数のエンドポイントのうちの各エンドポイントについて、前記エンドポイントと、前記複数のプロセスのうちの１つ以上のプロセスとの関連付けを特定する、請求項１０に記載のデバイス。
【請求項１６】
前記システムは、動的車両通信システムまたは車両制御システムを含む、請求項１０に記載のデバイス。
【請求項１７】
命令を含む非一時的コンピュータ可読媒体であって、前記命令は、
１つ以上の命令
を含み、前記１つ以上の命令は、デバイスの１つ以上のプロセッサにより実行されると前記１つ以上のプロセッサに、
複数のモノのインターネット（ＩｏＴ）デバイスに関係する設定データを受信することであって、
前記複数のＩｏＴデバイスは、ネットワークのネットワークインフラストラクチャコントローラに通信結合されている、
前記受信することと、
前記設定データを受信した後に、前記設定データを処理することと、
前記ネットワークインフラストラクチャコントローラに１つ以上のコマンドを提供することであって、
前記１つ以上のコマンドは、前記ネットワークインフラストラクチャコントローラに、前記複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、前記ＩｏＴデバイスから発生するエグレス通信をフィルタリングさせるように構成される、
前記提供することと、
をさせ、
前記１つ以上のプロセッサに前記設定データを処理することをさせる前記１つ以上の命令は、前記１つ以上のプロセッサに、
前記設定データにおいて、前記複数のＩｏＴデバイスのうちの各ＩｏＴデバイスに関係するネットワーク情報を特定することと、
前記ネットワーク情報に基づき前記１つ以上のコマンドを得ることと、
をさせる、非一時的コンピュータ可読媒体。
【請求項１８】
前記ネットワーク情報は、前記複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、前記ＩｏＴデバイスに関連する意図される個々の通信受信側を特定する、請求項１７に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記１つ以上のコマンドは、前記複数のＩｏＴデバイスのうちの各ＩｏＴデバイスから発生するエグレス通信のフィルタリングを、
前記ネットワークインフラストラクチャコントローラに、前記ＩｏＴデバイスに関連する前記意図される個々の通信受信側に宛てられた特定のエグレス通信のみ前記ネットワークを横断することを許可させること
により、前記ネットワークインフラストラクチャコントローラにさせるように構成される、請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記ネットワーク情報は、前記複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、
前記ＩｏＴデバイスに関連する前記意図された個々の通信受信側に関連するインターネットプロトコル（ＩＰ）アドレス、または
前記意図された個々の通信受信側に関連するドメイン名
を特定する、請求項１８に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的に、ネットワークインフラストラクチャの、エンドポイント設定に基づく動的な展開のためのデバイスおよび方法に関する。
【背景技術】
【０００２】
モノのインターネット（ＩｏＴ：Ｉｎｔｅｒｎｅｔ−ｏｆ−Ｔｈｉｎｇｓ）デバイス、産業用制御システムのコンポーネントおよび／または同様のものなどのデバイスは、一般的に、有線または無線のネットワーク上で互いに通信する。
【０００３】
産業用制御システムなど、多くの既存システムは、単純且つ効率的なシステムの管理および更新を可能にするように設計されていない。よって、既存システムは、十分なセキュリティを備えた設計となっていない。同じく、ＩｏＴデバイスのネットワークが有するセキュリティ制御または編成制御も最低限か皆無である。
【発明の概要】
【課題を解決するための手段】
【０００４】
一部の可能な実装によれば、方法は、インフラストラクチャ展開プラットフォームによって、複数のデバイスに関係する設定データを受信するステップを含んでもよい。複数のデバイスは、システムのコンポーネントとして含まれてもよい。本方法は、インフラストラクチャ展開プラットフォームによって、設定データを受信した後に設定データを処理するステップと、設定データを処理するステップに基づき、インフラストラクチャ展開プラットフォームによって、複数のデバイスに関するコンテキスト情報を判断するステップとを含んでもよい。コンテキスト情報は、複数のデバイス間の通信関係または関連付けを特定してもよい。本方法は、インフラストラクチャ展開プラットフォームによって、複数のデバイスのネットワークの編成構造を定義するステップを含んでもよい。編成構造は、通信関係または関連付けに基づき複数のデバイス間の通信を制約してもよい。本方法は、インフラストラクチャ展開プラットフォームによって、コンテキスト情報または編成構造についてのデータをネットワークインフラストラクチャコントローラデバイスに送信するステップを含んでもよい。本方法は、インフラストラクチャ展開プラットフォームによって、編成構造に基づくネットワークの展開を生じさせるアクションを実行するステップを含んでもよい。
【０００５】
上記の方法の一部の可能な実装によれば、コンテキスト情報は、複数のデバイスのうちの２つ以上のデバイスに関連する機能をさらに特定してもよく、編成構造を定義するステップは、機能にさらに基づき編成構造が複数のデバイス間の通信を制約するように、編成構造を定義するステップを含んでもよい。
【０００６】
上記の方法の一部の可能な実装によれば、編成構造を定義するステップは、仮想ローカルエリアネットワーク（ＶＬＡＮ：ｖｉｒｔｕａｌ  ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、物理的なセグメンテーション、ファイアウォール、論理的なセグメンテーション、ホワイトリスト登録またはブラックリスト登録のうちの少なくとも１つを使用して編成構造を定義するステップを含んでもよい。
【０００７】
上記の方法の一部の可能な実装によれば、設定データは、複数のデバイスのうちの１つ以上のデバイスに関連する制御論理、複数のデバイスのうちの２つ以上のデバイスのデバイス識別情報または複数のデバイスのうちの２つ以上のデバイスに関連するアドレス情報を含んでもよい。
【０００８】
上記の方法の一部の可能な実装によれば、設定データを受信するステップは、システムに関連する初期の設定データおよび／または命令コードに対する変更の検知に基づき、設定データを受信するステップを含んでもよい。
【０００９】
上記の方法の一部の可能な実装によれば、アクションを実行するステップは、複数のデバイスに関係する送信のレイヤ２イーサネットフレームにセキュリティタグが付加されるように、ネットワークの展開を生じさせるアクションを実行するステップを含んでもよい。
【００１０】
上記の方法の一部の可能な実装によれば、システムは、産業用制御システム（ＩＣＳ：ｉｎｄｕｓｔｒｉａｌ  ｃｏｎｔｒｏｌ  ｓｙｓｔｅｍ）、分散制御システム（ＤＣＳ：ｄｉｓｔｒｉｂｕｔｅｄ  ｃｏｎｔｒｏｌ  ｓｙｓｔｅｍ）、ビルオートメーションシステム（ＢＡＳ：ｂｕｉｌｄｉｎｇ  ａｕｔｏｍａｔｉｏｎ  ｓｙｓｔｅｍ）、ビルマネジメントシステム（ＢＭＳ：ｂｕｉｌｄｉｎｇ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ）、産業用モノのインターネット（ＩＩｏＴ：ｉｎｄｕｓｔｒｉａｌ  Ｉｎｔｅｒｎｅｔ−ｏｆ−Ｔｈｉｎｇｓ）システム、モノのインターネット（ＩｏＴ）システム、１つ以上の医療デバイスを含むシステムまたは１つ以上の車両を含むシステムのうちの少なくとも１つを含む。
【００１１】
上記の方法の一部の可能な実装によれば、インフラストラクチャ展開プラットフォームは、複数のデバイスから遠隔に位置したサーバデバイスから設定データを受信してもよい。
【００１２】
上記の方法の一部の可能な実装によれば、ネットワークインフラストラクチャコントローラデバイスは、複数のデバイスから遠隔に位置してもよい。
【００１３】
一部の可能な実装によれば、デバイスは、１つ以上のメモリと、１つ以上のメモリに通信結合されシステムの複数のエンドポイントに関係する少なくとも１つの設定ファイルを受信するように構成された１つ以上のプロセッサとを含んでもよい。１つ以上のプロセッサは、少なくとも１つの設定ファイルを受信した後に、少なくとも１つの設定ファイルをパースしてもよい。１つ以上のプロセッサは、少なくとも１つの設定ファイルをパースすることに基づき、複数のエンドポイントに関するコンテキスト情報を判断してもよい。コンテキスト情報は、複数のエンドポイントに関連する機能および／または複数のエンドポイント間の通信関係を特定してもよい。１つ以上のプロセッサは、複数のエンドポイントのネットワークインフラストラクチャを定義してもよい。ネットワークインフラストラクチャは、機能および／または通信関係に基づき複数のエンドポイント間の通信を制約してもよい。１つ以上のプロセッサは、ネットワークインフラストラクチャに基づくネットワークの実装を生じさせるアクションを実行してもよい。
【００１４】
上記のデバイスの一部の可能な実装によれば、１つ以上のプロセッサは、ネットワークインフラストラクチャを定義するとき、識別子と、複数のエンドポイントのうちの２つ以上のエンドポイントとを関連付けることにより、ネットワークインフラストラクチャを定義するように構成されてもよい。
【００１５】
上記のデバイスの一部の可能な実装によれば、１つ以上のプロセッサは、ネットワークインフラストラクチャを定義するとき、仮想ローカルエリアネットワーク（ＶＬＡＮ）スキーマ、物理的なセグメンテーション、ファイアウォールスキーム、論理的なセグメンテーション、ホワイトリスト登録またはブラックリスト登録のうちの少なくとも１つに基づきネットワークインフラストラクチャを定義するように構成されてもよい。
【００１６】
上記のデバイスの一部の可能な実装によれば、複数のエンドポイントは、制御デバイス、入出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイス、ヒューマンマシンインターフェース（ＨＭＩ：ｈｕｍａｎ  ｍａｃｈｉｎｅ  ｉｎｔｅｒｆａｃｅ）デバイスまたはコンピューティングデバイスを含んでもよい。
【００１７】
上記のデバイスの一部の可能な実装によれば、複数のエンドポイントは、モノのインターネット（ＩｏＴ）デバイスを含んでもよい。
【００１８】
上記のデバイスの一部の可能な実装によれば、システムは、複数のプロセスを実装するように構成されてもよく、コンテキスト情報は、複数のエンドポイントのうちの各エンドポイントについて、エンドポイントと、複数のプロセスのうちの１つ以上のプロセスとの関連付けを特定してもよい。
【００１９】
上記のデバイスの一部の可能な実装によれば、システムは、動的車両通信システムまたは車両制御システムを含んでもよい。
【００２０】
一部の可能な実装によれば、非一時的コンピュータ可読媒体は、命令を保存してもよい。命令は、１つ以上のプロセッサにより実行されると１つ以上のプロセッサに複数のモノのインターネット（ＩｏＴ）デバイスに関係する設定データを受信させる、１つ以上の命令を含んでもよい。複数のＩｏＴデバイスは、ネットワークのネットワークインフラストラクチャコントローラに通信結合されてもよい。１つ以上の命令は、１つ以上のプロセッサにより実行されると１つ以上のプロセッサに、設定データを受信した後に、設定データを処理させてもよい。１つ以上のプロセッサに設定データを処理させる１つ以上の命令は、１つ以上のプロセッサに、設定データにおいて、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスに関係するネットワーク情報を特定することと、ネットワーク情報に基づき１つ以上のコマンドを得ることとをさせてもよい。１つ以上の命令は、１つ以上のプロセッサにより実行されると１つ以上のプロセッサに、１つ以上のコマンドをネットワークインフラストラクチャコントローラに提供させてもよい。１つ以上のコマンドは、ネットワークインフラストラクチャコントローラに、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスから発生するエグレス通信をフィルタリングさせるように構成されてもよい。
【００２１】
上記の非一時的コンピュータ可読媒体の一部の可能な実装によれば、ネットワーク情報は、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスに関連する意図される個々の通信受信側を特定してもよい。
【００２２】
上記の非一時的コンピュータ可読媒体の一部の可能な実装によれば、１つ以上のコマンドは、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスから発生するエグレス通信のフィルタリングを、ネットワークインフラストラクチャコントローラに、ＩｏＴデバイスに関連する意図される個々の通信受信側に宛てられた特定のエグレス通信のみネットワークを横断することを許可させることにより、ネットワークインフラストラクチャコントローラにさせるように構成されてもよい。
【００２３】
上記の非一時的コンピュータ可読媒体の一部の可能な実装によれば、ネットワーク情報は、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスに関連する意図された個々の通信受信側に関連するインターネットプロトコル（ＩＰ：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス、または意図された個々の通信受信側に関連するドメイン名を特定してもよい。
【図面の簡単な説明】
【００２４】
【図１Ａ】本願明細書に記載される例示の実装の図である。
【図１Ｂ】本願明細書に記載される例示の実装の図である。
【図１Ｃ】本願明細書に記載される例示の実装の図である。
【図２】本願明細書に記載されるシステムおよび／または方法が実装され得る例示の環境の図である。
【図３】図２の１つ以上のデバイスの例示のコンポーネントの図である。
【図４】システムのネットワークを構造化および展開する例示のプロセスのフローチャートである。
【図５】システムのネットワークを構造化および展開する例示のプロセスのフローチャートである。
【図６】デバイス間の通信を制御する例示のプロセスのフローチャートである。
【発明を実施するための形態】
【００２５】
以下の例示の実装の詳細な説明は、添付の図面を参照する。異なる図面にある同じ参照番号は、同じまたは類似の構成要素を特定し得る。
【００２６】
産業用制御システムなど、多くの既存システムは、単純且つ効率的なシステムの管理および更新を可能にするように設計されていない。例として、産業用制御システムに対し何らかのインフラストラクチャの変更が行われる必要がある場合、例えば、或るユーザ（例えばオペレータ）がプロセスの動作における追加の機能性を必要として、さらなるユーザ（例えば制御システムのエンジニア）に、産業プロセスの要件をネットワークインフラストラクチャに移すこと（例えばコマンドラインインターフェースを利用したコードの変更および／または同様のこと）、およびネットワークにおける適切な調整を実装する別のユーザ（例えばネットワークエンジニア）に要件を提供することを要求するなど、複数のユーザが関与する必要があるかもしれない。多数の既存システムが様々なソリューションベンダからのツールおよびコンポーネントも組み込むという事実も、追加の知識および専門技術が必要とされ得ることから問題を悪化させ、システムのメンテナンスおよび更新を複雑で非常に時間がかかる仕事にしている。このようなシステムの管理および更新に関する問題の結果として、これらのシステムは、ネットワーク設定を時間の経過とともに（例えばデバイスが追加されるにつれて、脅威が出現するにつれて）発展させることを、当該変更の難しさが原因で行わず、そのため、かかるシステムはセキュアでないことが多い。
【００２７】
よって、既存システムは、十分なセキュリティを備えた設計となっていない。例として、そのようなシステムのために展開されるネットワークは、一般に、デバイス間の通信経路を、当該デバイスの一部が互いに通信する必要がそもそもあるのかどうかも問わずに構成する、場当たり的な構成の大規模な「はきだめ」である。同じく、ＩｏＴデバイスのネットワークが有するセキュリティ制御または編成制御も最低限か皆無であり、デバイスが攻撃および侵害を受けやすくするだけでなく、相互接続されたネットワーク環境全体にリスクを及ぼす。
【００２８】
本願明細書に記載される一部の実装は、システム（例えば産業用制御システム、ＩｏＴデバイスのシステム、動的車両通信システムおよび／または同様のもの）のネットワークインフラストラクチャの、エンドポイント設定に基づく動的な展開を提供できるインフラストラクチャ展開プラットフォームを提供する。一部の実装において、インフラストラクチャ展開プラットフォームは、１つ以上の機械学習アルゴリズムを採用して、自動化されたシステム設定分析、ならびにネットワークの設計および展開を提供してもよい。
【００２９】
一部の実装において、インフラストラクチャ展開プラットフォームは、システムのデバイスまたはエンドポイントに関係する設定データ（例えばデバイス間の通信関係または関連付け、デバイスに関係する制御論理、ディレクトリ構造および／または同様のものを特定するデータ）を処理すること、デバイスに関するコンテキスト情報（例えばデバイス間の通信経路、デバイス間のプロトコルフロー、デバイスが関連するシステムのプロセス（例えば産業プロセス）、各デバイスの種類、デバイスの目的および／もしくは役割（例えば機能および／または同様のもの）ならびに／または同様のものを特定する情報）を判断すること、コンテキスト情報（デバイスが関連するシステムプロセス、デバイスが互いに相互作用し得る条件および（例えば産業上の観点からの）システムの全体的なレイアウトについて洞察を提供し得る）を利用してデバイス間通信を制約するネットワークの編成構造（例えば、デバイスの機能に基づき、プロセスの要求および／またはデバイス間通信の要求に基づき制約される）を定義すること、および編成構造に基づきネットワークを展開することにより、ネットワークインフラストラクチャの設計および展開を調整するように構成されてもよい。
【００３０】
一部の実装において、インフラストラクチャ展開プラットフォームは、仮想ローカルエリアネットワーク（ＶＬＡＮ）などの組織的なネットワーク構成概念を活用してネットワークの編成構造を定義してもよい。例として、インフラストラクチャ展開プラットフォームは、システムの個々のプロセスと整合し且つ／またはデバイスの意図される機能に基づく論理グループにデバイスを配置するために、システムのデバイスと関連付けるＶＬＡＮ  ＩＤおよびサブネットを動的に選択するように構成されてもよい。これは、随時の実施を含み得るが、限定はされない。ネットワークの編成構造の定義に関連して、インフラストラクチャ展開プラットフォームが基づき活用し得る各種制御手段の他の例として、物理的なセグメンテーション、ファイアウォール、論理的なセグメンテーション（例えばレイヤ２またはレイヤ３アドレス指定に関する）、ホワイトリスト登録、ブラックリスト登録および／または同様のものが挙げられる。
【００３１】
一部の実装において、インフラストラクチャ展開プラットフォームは、展開されたネットワークにおいて（例えば、レイヤ２イーサネットフレームにおけるセキュリティタグの使用を伴うものおよび／または同様のものなどのセキュリティメカニズムを採用することにより）セキュリティをオーバーレイし、ネットワーク内の通信をさらにセキュアにし得る。
【００３２】
一部の実装において、インフラストラクチャ展開プラットフォームは、システムのデバイスの通信制御を実装するように構成され得る。例として、ＩｏＴデバイスのシステムにおいて、インフラストラクチャ展開プラットフォームは、デバイスに関係する設定データを処理することと、設定データからネットワーク情報（例えばデバイス間の通信関係または関連付け）を判断することと、例えばエグレス通信またはトラフィックを適切な受信側デバイス、上流ネットワークおよび／または同様のもののみに制限するなどしてデバイスに送信され且つ／またはデバイスから発生する通信を管理するネットワークインフラストラクチャコントローラに（例えば適切なフォーマットの）ネットワーク情報を提供することと、をするように構成されてもよい。
【００３３】
このように、インフラストラクチャ展開プラットフォームは、システム（エンジニアリングおよび制御された結果の有限のセットを有する産業用制御システムおよび／または同様のものなど）の構造化された性質を活用して、システムの中のデバイスのセキュアなネットワークインフラストラクチャを設計および展開し得る。本願明細書に記載されるように、コンテキスト情報に基づきデバイス間通信が制約されるようにネットワークインフラストラクチャを編成することは、デバイスの全体的な通信アーキテクチャを強固にし（例えば強化し）、これは、攻撃をより受けにくいよりセキュアなネットワークを提供する。これはさらに、全体的なネットワークを単純化し、それにより、システムおよびまたはネットワークに対する更新および／またはアップグレードのより効率的な展開が可能になる。本願明細書に記載されるように、システム設定が行われる間にリアルタイム（または準リアルタイム）でネットワークを設計および展開するのを可能にすることで、ネットワークの様々な部分を、開発プロセスの早期に、且つその全体にわたってシミュレーションおよび／またはテストすることもでき、これは、最終的なネットワークの信頼性をさらに向上させる。さらに、本願明細書に記載されるように（例えばＩｏＴデバイスおよび／または同様のもののシステムの）ネットワークにおいてエグレス通信またはトラフィックをフィルタリングすることは、悪意のある行為者によるネットワークの侵害を制限し、これは、全体的なシステムセキュリティを改善する。
【００３４】
図１Ａ〜図１Ｃは、本願明細書に記載される例示の実装１００の図である。例示の実装１００は、インフラストラクチャ展開プラットフォームおよびシステム（例えば産業用制御システムおよび／または同様のもの）の様々なデバイスを含んでもよい。例として、デバイスは、制御デバイス（例えばプログラマブルロジックコントローラ（ＰＬＣ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｃｏｎｔｒｏｌｌｅｒ）および／または同様のもの）、入出力（Ｉ／Ｏ）デバイス、ヒューマンマシンインターフェース（ＨＭＩ）デバイス、コンピューティングデバイス（例えばワークステーション）および／または同様のもの、ＩｏＴデバイス、車両システムコンポーネントおよび／または同様のものなどの産業用制御システムコンポーネントを含んでもよい。一部の実装において、これらのデバイスのうちの１つ以上が単一のデバイスに含まれてもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、インフラストラクチャ展開プラットフォームの１つ以上のプロセッサに、本願明細書に記載された様々な動作を自動化された形で実行させるように構成された、１つ以上のアプリケーション（例えばアプリケーションコードおよび／またはアルゴリズム）を含んでもよい。
【００３５】
図１Ａに示されているように、デバイスは設定データ（例えば設定ファイルおよび／または同様のもの）に関連してもよい。一部の実装において、設定データは、デバイスのうちの１つ以上に関係するデバイス識別情報（例えばデバイスＩＤ、デバイスアドレス（例えばインターネットプロトコル（ＩＰ）アドレスおよび／または同様のもの）、デバイスのうちの１つ以上に関連する制御論理（例えばＰＬＣコードおよび／または同様のもの）、デバイス間の通信関係もしくは関連付けについての情報（例えば特定のデバイスが通信し得る他のデバイスを（例えばＩＰアドレスおよび／または同様のものにより）特定する情報）、ディレクトリ構造（例えばＨＭＩディレクトリ構造および／または同様のもの）および／または同様のもの）を含んでもよい。一部の実装において、設定ファイルは、ファームウェアベースとすること、ダウンロードされること、アップロードされること、手動で適用されること（例えばＰＬＣ設定、ケーブルモデルの運用と同様に）、および／または同様のことが可能である。
【００３６】
図１Ａにさらに示され、参照番号１０２により示されているように、インフラストラクチャ展開プラットフォームは、様々なデバイスに関係する設定データを受信してもよい。参照番号１０４により示されているように、インフラストラクチャ展開プラットフォームは設定データを処理してもよい。一部の実装において、設定データは、機械可読フォーマット（例えば拡張可能マークアップ言語（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）フォーマットおよび／または同様のもの）であってもよい。そのような事例では、インフラストラクチャ展開プラットフォームは設定データをパースしてもよい。
【００３７】
参照番号１０６により示されているように、インフラストラクチャ展開プラットフォームは、設定データに基づきデバイスに関するコンテキスト情報を判断してもよい。例として、コンテキスト情報は、デバイス間の通信経路についての情報、デバイス間のプロトコルフローについての情報、デバイスが関連する、システムの個々のプロセス（例えば産業プロセス）についての情報、デバイスそれぞれの種類についての情報、デバイスの目的および／もしくは役割（例えば機能および／もしくは同様のもの）についての情報、人間との相互作用から獲得される情報（例えばＨＭＩファイル）ならびに／または同様のものを含んでもよい。そのようなコンテキスト情報は、インフラストラクチャ展開プラットフォームが、デバイスが関連するシステムプロセス、デバイスが互いに相互作用し得る条件および（例えば産業上の観点からの）システムの全体的なレイアウトについて洞察を得ることを可能にしてもよく、その一部または全部をインフラストラクチャ展開プラットフォームが活用して、デバイスの適切なネットワークを構造化および展開してもよい。そのようなコンテキスト情報は、インフラストラクチャ展開プラットフォームが、構成要素の障害および／もしくは除去のリスクならびに／もしくは産業プロセスおよび／もしくはシステムのノードの重要度を予想し且つ／または判断すること、ならびに／またはメンテナンス計画および／もしくはインシデントレスポンスを強化することを可能にしてもよい。一部の事例において、これはリアルタイムまたは準リアルタイムで実施されてもよい。
【００３８】
一部の実装において、インフラストラクチャ展開プラットフォームは、第１のデバイスに関係する第１の設定データを処理することに基づき、第１のデバイスが通信してもよい第２のデバイスを特定し、第２のデバイスに関係する第２の設定データを取得し、第２の設定データを同様に処理して第２のデバイスが通信してもよい他の任意のデバイスを特定するなどしてもよい。そのような事例において、インフラストラクチャ展開プラットフォームは、コンテキスト情報の判断に使用するために、システムの中の様々なデバイス間接続および／または関係すべてについてのデータを反復的に集約してもよい。
【００３９】
図１Ｂに示され、参照番号１０８により示されているように、インフラストラクチャ展開プラットフォームは、デバイスについて、デバイス間の通信を制約するネットワークの編成構造を定義してもよい。参照番号１１０により示されているように、インフラストラクチャ展開プラットフォームは、（例えばコンテキスト情報または編成構造についてのデータをネットワークインフラストラクチャコントローラデバイスに送信すること、様々なネットワークデバイス（例えばスイッチ、ルータ、ファイアウォールおよび／または同様のもの）を必要に応じて設定することおよび／または同様のことにより）編成構造に基づきネットワークを展開してもよい。例として、インフラストラクチャ展開プラットフォームは、必要とされる通信経路またはリンクのみをネットワークが含むように、コンテキスト情報に基づき（例えば、デバイスが関連し得るプロセス、デバイスの機能、（例えば設定データにおいて指定される）デバイスのうちの１つ以上が他のデバイスのうちの１つ以上と通信する現実の必要性および／または同様のものに基づき）編成構造を定義してもよい。つまり、例として、ネットワークインフラストラクチャは、コンテキスト情報に基づき互いに通信する必要のない２つのデバイス間の通信経路を含まなくてもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、デバイスの、意図される、個々の、および／または集合的な機能に基づき、デバイスを論理的にグループに配置してもよい。
【００４０】
コンテキスト情報に基づきデバイス間通信が制約されるようにネットワークインフラストラクチャを編成することは、デバイスの全体的な通信アーキテクチャを強固にし（例えば強化し）、これが、攻撃をより受けにくく且つ／または（例えば攻撃者のラテラルムーブメントを防止することにより）侵害の影響を最小化する、よりセキュアなネットワークをもたらす。これはさらに、ネットワークの全体的な動作を単純化し、それにより、システムおよび／またはネットワークに対する更新および／またはアップグレードのより効率的な展開が可能になる。
【００４１】
一部の実装において、インフラストラクチャ展開プラットフォームは、適切な任意のネットワークの組織的な構成概念を使用して、ネットワークの編成構造を定義してもよい。例として、一部の実装においてインフラストラクチャ展開プラットフォームは、仮想ローカルエリアネットワーク（ＶＬＡＮ）を活用して編成構造を定義してもよい。例として、インフラストラクチャ展開プラットフォームは、ＶＬＡＮの論理サブネットワークの性質を活用して、各グループがシステムまたは複数システムのうちのシステムの個々のプロセスと整合するような形でデバイスをグループにまとめてもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、ＶＬＡＮスキーマを利用して、デバイスのＶＬＡＮを設定してもよい。例として、（例えばユーザ入力（例えば制御システムエンジニア、ネットワークエンジニア、プロセスエキスパートおよび／または同様のものによる入力）に基づき）ＶＬＡＮスキーマは予め定義されてもよい。一部の実装においてインフラストラクチャ展開プラットフォームは、ＶＬＡＮスキーマに基づきデバイスの特定のサブネットと特定のＶＬＡＮ  ＩＤとを関連付けることにより、デバイスをグループにまとめてもよい。
【００４２】
このように、インフラストラクチャ展開プラットフォームは、デバイスの機能性および／またはデバイス間の必要とされる通信経路もしくはリンクに基づき、デバイスを動的にＶＬＡＮに構成してもよい。
【００４３】
一部の実装においてインフラストラクチャ展開プラットフォームは、１つ以上の機械学習アルゴリズムを利用して、ネットワークの編成構造の設計を自動化してもよい。例として、一部の実装においてインフラストラクチャ展開プラットフォームは、デバイスとＶＬＡＮ  ＩＤとを適切に関連付ける仕方を学習するように構成された１つ以上の機械学習アルゴリズムを使用してもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、デバイスとＶＬＡＮ  ＩＤとの関連付けについての情報を、１つ以上の機械学習アルゴリズムに入力として提供してもよく、機械学習アルゴリズムは、機械学習を実行して、デバイスとＶＬＡＮ  ＩＤとの関連付けの将来の判断または予測を自動化してもよい。例として、インフラストラクチャ展開プラットフォームは、既知の入力（例えば１つ以上のＶＬＡＮスキーマ、デバイス機能性についての情報、デバイス間通信についての情報、デバイスに関連するシステムプロセスについての情報および／または同様のもの）および既知の出力（例えばデバイスとＶＬＡＮ  ＩＤとの現実の関連付けおよび／または同様のもの）に基づき、機械学習アルゴリズムを訓練してもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、インフラストラクチャ展開プラットフォームのユーザからおよび／もしくは他の１つ以上のデバイス（例えば管理デバイス（単数または複数））から受信されるフィードバック、ならびに／または脅威インテリジェンスフィードおよび／もしくは同様のものなどの他の情報フィードに基づき、機械学習アルゴリズムを洗練してもよい。例として、インフラストラクチャ展開プラットフォームおよび／または１つ以上の管理デバイスのユーザは、機械学習アルゴリズムにより行われたデバイスとＶＬＡＮ  ＩＤとの関連付けの予測が正確且つ／または有用であるかどうかを示す情報を提供してもよい。この情報が、特定の予測が正確および／または有用であることを示すと、インフラストラクチャ展開プラットフォームは、機械学習アルゴリズムを、デバイスとＶＬＡＮ  ＩＤとの関連付けの予測を、特定の予測に基づき行うように（例えば、デバイスとＶＬＡＮ  ＩＤとの関連付けを特定の予測が行われたのと同様の形で予測するように）設定してもよい。情報が、特定の予測が正確および／または有用でないことを示すと、インフラストラクチャ展開プラットフォームは、機械学習アルゴリズムを、特定の予測が行われた形でデバイスとＶＬＡＮ  ＩＤとを関連付けることを回避するように設定してもよい。このように、インフラストラクチャ展開プラットフォームは、機械学習アルゴリズムに基づきデバイスとＶＬＡＮ  ＩＤとの関連付けを予測することができ、これは、予測の精度を改善し、他の場合であればデバイスとＶＬＡＮ  ＩＤとの関連付けを予測するためのルールを生成および保存するために使用され得るプロセッサリソースおよび／またはストレージリソースを節約する。
【００４４】
一部の実装において、インフラストラクチャ展開プラットフォームは、ネットワークの編成構造を定義することおよび／またはネットワークを展開することの一環としてトラフィック制御メカニズムを活用するように構成されてもよい。例として、ＶＬＡＮは、トラフィックフロー管理のためのアクセス制御リスト（ＡＣＬ：ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ  ｌｉｓｔ）の展開を可能にする。一部の実装において、インフラストラクチャ展開プラットフォームは、ネットワークにおけるセキュリティ能力として、そのようなＡＣＬを展開してもよい。さらに、または代わりに、インフラストラクチャ展開プラットフォームは、セキュリティメカニズム（例えば、動的アプリケーション制御のためレイヤ２イーサネットフレームにおけるセキュリティタグの使用を伴う、メディアアクセス制御セキュリティ（ＭＡＣｓｅｃ：ｍｅｄｉａ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌ  ｓｅｃｕｒｉｔｙ）暗号化、認証ストアおよび／または同様のもの）を利用して、ネットワーク内の通信（例えば、レイヤ２トラフィックならびに上位レイヤプロトコルを使用して送信されるトラフィック（例えばＩＰトラフィック））をさらにセキュアにしてもよい。
【００４５】
このように、インフラストラクチャ展開プラットフォームは、ＶＬＡＮにより提供されるものなど、組織的な構成概念を活用して（例えば、トラフィックの観点から、さらに物理的なプロセス、デバイスの機能および／または同様のものに関連して）すっきりとした単純なネットワーク環境を設計してもよく、結果として生じるネットワークインフラストラクチャにセキュリティをオーバーレイしてデバイス間の認証およびアクセスを制御してもよく、さらに／または障害を動的に克服して産業プロセスを維持できるように完全に動的であるための能力を含んでもよい。
【００４６】
図１Ｃに示され、参照番号１１２により示されているように、インフラストラクチャ展開プラットフォームは、システムに対する更新を（例えばリアルタイム（または準リアルタイム）で）検知してもよい。例として、一部の事例においてユーザ（例えば制御システムエンジニアおよび／または同様のもの）は、（例えば設定データの中の制御論理に関係する）命令コードに変更を加えるかもしれず、例えばユーザは、システムのリポジトリの命令コードをチェックアウトし、命令コードを編集し、編集された命令コードをリポジトリにチェックインして戻すかもしれない。別の例として、ユーザ（例えば制御システムエンジニアおよび／または同様のもの）は、１つ以上のデバイスをシステムに追加することおよび／または１つ以上のデバイスをシステムから除去すること、ならびに関連性のある設定データを変更することにより、システムハードウェアに変更を加えるかもしれない。
【００４７】
参照番号１１４により示されているように、インフラストラクチャ展開プラットフォームは、コンテキスト情報およびネットワークの編成構造に対する対応する更新（単数または複数）を判断してもよい。例として、インフラストラクチャ展開プラットフォームは、設定データにおける変更に基づき、コンテキスト情報（例えばデバイスとプロセスとの関連付け、デバイス間の通信関係または関連付け、デバイスの機能および／または同様のもの）に対する任意の変更を判断し、それに応じて編成構造を更新してもよい（例えば上述のように機械学習を使用して）。参照番号１１６により示されるように、インフラストラクチャ展開プラットフォームは、更新された編成構造をネットワークが反映するように、更新を実装してもよい。一部の実装において、（例えば上述したように）インフラストラクチャ展開プラットフォームが機械学習アルゴリズム（単数または複数）を採用する事例で、機械学習アルゴリズム（単数または複数）は、ネットワークレベルの適切な設計変更を判断し、ネットワークインフラストラクチャにおいて変更を実装するように構成されてもよい。
【００４８】
このように、インフラストラクチャ展開プラットフォームは、システムに加えられる任意の変更を反映するように、ネットワークインフラストラクチャを（例えばリアルタイムまたは準リアルタイムで）シームレスに更新することにより、ユーザ（例えば制御システムエンジニア）とシステムとの間の相互作用を自動化および調整してもよい。
【００４９】
さらに、既存のシステム開発プロセスは、概して、一般的なネットワーク構成概念（例えば一般的なレイアウト、サブネット、ＩＰアドレスおよび／または同様のもの）を組み入れて、開発中のネットワークの様々な側面（例えばＩ／Ｏデバイスおよび／または同様のもの）のテストを怠る。本願明細書に記載されるインフラストラクチャ展開プラットフォームは、システム設定が行われている間（例えば上述の設定データが生成および／または作成されている間、制御論理がコーディングされている間および／または同様）にネットワークをリアルタイム（または準リアルタイム）で設計および展開するために利用されてもよい。これは、開発プロセスの全体にわたってネットワークの様々な部分をテストできるようにし、これが、システムのための全体として強化され、機能ベースで信頼性が高いネットワークをもたらすことを可能にする。
【００５０】
一部の実装において、インフラストラクチャ展開プラットフォームは、追加のセキュリティ制御機能を提供するように構成されてもよい。例として、一部の実装においてインフラストラクチャ展開プラットフォームは、システムおよび／または対応するネットワークのセキュリティ監視を実行して、攻撃を受けているかもしれないシステムの中の任意のデバイスを特定し、上述したコンテキスト情報（例えばどのデバイスが他のデバイスと比べてより高い優先順位を有するか、どのデバイスがシステムにとって重要か、および／または同様のことを示し得る）に基づき、産業上の機能が安全に継続できるようにするためにコンテキストの中で講じられる必要があり得る１つ以上のアクション（例えば、どのデバイス（単数または複数）が攻撃を受けているかに応じてシステムの中のデバイスの一部を無効化する、またはシステムの中のすべてのデバイスを無効化するなど）を判断してもよい。これは、追加のセキュリティ機能がネットワークに展開される必要性を削減または排除する、サイバー防御のためのより戦略的なアプローチを提供し、それによってコンピューティングリソースおよびメモリリソースを節約する。これはさらに、攻撃がシステムおよび／またはネットワーク全体を動作不能にする可能性を削減または排除し、これが、他の場合であれば危機管理および／または同様のことのために費やされる必要があるかもしれないコストを節約する。
【００５１】
さらに、または代わりに、インフラストラクチャ展開プラットフォームは、コンテキスト情報を別のセキュリティシステムに提供して、セキュリティシステムが攻撃を特定し、是正措置を適宜実装することを可能にするように構成されてもよい。
【００５２】
本願明細書に記載された、エンドポイントの設定に基づく動的なインフラストラクチャ展開手法は、様々な用途のために活用され得る。例として、インフラストラクチャ展開プラットフォームは、産業用制御システム、産業用ＩｏＴデバイスのシステム、スマートシティＩｏＴデバイスのシステム、コンシューマＩｏＴデバイスのシステム（例えばサポート用ハードウェアルータおよび／またはアクセスポイントを備える）、動的車両通信（例えば車両とモノの間（Ｖ２Ｘ：Ｖｅｈｉｃｌｅ−ｔｏ−ｅｖｅｒｙｔｈｉｎｇ）、車車間（Ｖ２Ｖ：Ｖｅｈｉｃｌｅ−ｔｏ−Ｖｅｈｉｃｌｅ）、路車間（Ｖ２Ｉ：Ｖｅｈｉｃｌｅ−ｔｏ−Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）および／または同様のもの）および／またはその他非標準の特化型コンピューティング環境などの、システムのネットワークを設計および展開するように構成されてもよい。
【００５３】
一部の実装において、インフラストラクチャ展開プラットフォームは、所与のデバイスがそのデバイスの機能（単数または複数）を実行する一環として必要とされる当該デバイス（単数または複数）のみと通信できるように、デバイスのエグレス通信をフィルタリングできてもよい。このように、エグレス通信を、（例えば設定データから得られる所与のデバイスの既知の機能性に基づき）正当な通信として承認できる。これは、デバイスにうまくアクセスした外部のソース（例えば悪意のある行為者）が、そのデバイスを利用してシステムの他のデバイスの攻撃および／またはデータの抽出をすることができないように制限し、このことが、システムの全体的なセキュリティを改善する。
【００５４】
例として、ＩｏＴデバイス環境（例えば家庭用ＩｏＴデバイス、産業用ＩｏＴデバイス、スマートシティＩｏＴデバイスおよび／または同様のものなど）において、インフラストラクチャ展開プラットフォームは、ＩｏＴデバイスのエグレス通信をフィルタリングするように構成されてもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、ＩｏＴデバイスに関係する設定データを（例えばＩｏＴデバイスおよび／または同様のものを管理するように構成されたサーバデバイスから）取得し、設定データを処理（例えばパース）して、意図される、または対象の受信側（単数または複数）との通信関係または関連付けを特定する情報などのネットワーク情報を特定するように構成されてもよい。例として、ネットワーク情報は、所与のＩｏＴデバイスについて、ＩｏＴデバイスがＩｏＴデバイスの通常の機能の一環として通信するために必要とする、ＩｏＴサーバデバイス（単数または複数）に関連付けられたデバイスＩＤ、アドレス（例えばＩＰアドレス）、ドメイン名および／または同様のものを特定してもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、ネットワーク情報を（例えばトラフィックフィルタリングを実装するために所定の形でネットワーク情報のフォーマット設定をすることにより）処理して、処理されたネットワーク情報をネットワークインフラストラクチャコントローラに提供して（例えばアップロードし且つ／または同様のことをして）、例えばＩｏＴデバイスに関連する意図された受信側に宛てられた当該通信のみネットワーク中を横断することを許可されるように、ＩｏＴデバイスから発生する通信をネットワークインフラストラクチャコントローラがフィルタリングすることを可能にするように構成されてもよい。一部の実装においてインフラストラクチャ展開プラットフォームは、リアルタイム（または準リアルタイム）で、設定データに対する変更（例えば通信関係または関連付けおよび／または同様のものに対する変更）に基づき、ネットワークインフラストラクチャコントローラに更新されたネットワーク情報を提供するように構成されてもよい。
【００５５】
このように、インフラストラクチャ展開プラットフォームは、エグレス通信を適切な受信側デバイス、上流ネットワークおよび／または同様のもののみに制限することにより当該通信をフィルタリングしてもよい。これは、ＩｏＴデバイスが乗っ取られて、例として攻撃手段として使用されることを防止してもよい。さらにこれは、他の場合であれば攻撃を受けやすいＩｏＴデバイス環境においてサイバーセキュリティシステムを提供し、ネットワークインフラストラクチャの変更および／または新たな脅威の出現に伴う、ＩｏＴデバイスの通信の動的制御を可能にする。
【００５６】
上記で指摘したように、図１Ａ〜図１Ｃは、単に例として提供される。他の例が可能であり、図１Ａ〜図１Ｃに関して記載されたものとは異なってもよい。
【００５７】
図２は、本願明細書に記載されるシステムおよび／または方法が実装され得る例示の環境２００の図である。図２に示されているように、環境２００は、システムデバイス（単数または複数）２１０、インフラストラクチャ展開プラットフォーム２１５、ネットワークデバイス（単数または複数）２３０およびネットワーク２３５を含んでもよい。環境２００のデバイスは、有線接続、無線接続または有線接続と無線接続との組み合わせを介して相互接続してもよい。
【００５８】
システムデバイス（単数または複数）２１０は、システム（例えば産業用制御システム（ＩＣＳ）、分散制御システム（ＤＣＳ）、ビルオートメーションシステム（ＢＡＳ）、ビルマネジメントシステム（ＢＭＳ）、産業用モノのインターネット（ＩＩｏＴ）システム、モノのインターネット（ＩｏＴ）システム、１つ以上の医療デバイスを含むシステム、１つ以上の車両を含むシステムおよび／または同様のものに関連するデータを受信、生成、保存、処理および／または提供できる１つ以上のデバイスを含む。
【００５９】
ＩｏＴデバイスのシステム、動的車両通信システムおよび／または同様のもの）。例として、システムデバイス（単数または複数）２１０は、１つ以上の産業用制御デバイス（例えば１つ以上の制御デバイス、Ｉ／Ｏデバイス、ＨＭＩデバイス、コンピューティングデバイスおよび／または同様のもの）、１つ以上のＩｏＴデバイス（例えば１つ以上のコンピュータ、ラップトップ、タブレット、スマートフォン、スマートウォッチ、スマートセンサ、スマートアクセサリ、スマートテレビ、スマートセキュリティシステム、スマートホームシステム、ネットワーク化デバイス（例えば電気器具、周辺装置、照明システム、車両アクセサリおよび／または同様のもの）、通信デバイス、ＩｏＴデバイスと通信するサーバデバイス）および／または同様のものを含んでもよい。一部の実装において、システムデバイス（単数または複数）２１０は、設定データに関連してもよく、本願明細書の他の箇所に記載されているように、設定データをインフラストラクチャ展開プラットフォーム（例えばインフラストラクチャ展開プラットフォーム２１５）が処理および利用して、システムデバイス（単数または複数）２１０のネットワークを構造化および展開してもよい。
【００６０】
インフラストラクチャ展開プラットフォーム２１５は、システムデバイス（単数または複数）２１０および／またはネットワークデバイス（単数または複数）２３０に関連するデータを受信、生成、保存、処理および／または提供できる１つ以上のデバイスを含む。一部の実装において、インフラストラクチャ展開プラットフォーム２１５は、デバイス（例えばシステムデバイス（単数または複数）２１０）に関係する設定データを利用して、本願明細書の他の箇所に記載されているように、デバイスのネットワーク（例えばネットワーク２３５）を（例えばネットワークデバイス（単数または複数）２３０を使用して）構造化および展開してもよい。一部の実装において、本願明細書の他の箇所に記載されているように、インフラストラクチャ展開プラットフォーム２１５は、１つ以上の機械学習アルゴリズムを採用してネットワークを構造化および展開してもよい。
【００６１】
インフラストラクチャ展開プラットフォーム２１５は、サーバデバイスまたはサーバデバイスのグループを含んでもよい。図のように、一部の実装では、インフラストラクチャ展開プラットフォーム２１５はクラウドコンピューティング環境２２０においてホストできる。特に、本願明細書に記載される実装は、インフラストラクチャ展開プラットフォーム２１５がクラウドコンピューティング環境２２０においてホストされるものとして表現するが、一部の実装では、インフラストラクチャ展開プラットフォーム２１５はクラウドベースでなく、または部分的にクラウドベースとすることができる。
【００６２】
クラウドコンピューティング環境２２０は、コンピュータ処理をサービスとして提供する環境を含み、それによって共有リソース、サービスなどをシステムデバイス（単数または複数）２１０、ネットワークデバイス（単数または複数）２３０および／または他の１つ以上のインフラストラクチャ展開プラットフォーム２１５に提供できる。クラウドコンピューティング環境２２０は、サービスを提供するシステムおよび／またはデバイスの物理的な位置および構成についてエンドユーザの知識を要求しない演算、ソフトウェア、データアクセス、ストレージおよび／または他のサービスを提供することができる。図のように、クラウドコンピューティング環境２２０は、コンピューティングリソース２２２のセットを含むことができる。
【００６３】
コンピューティングリソース２２２は、１つ以上のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイスまたは別のタイプの演算および／もしくは通信デバイスを含む。一部の実装において、コンピューティングリソース２２２はインフラストラクチャ展開プラットフォーム２１５をホストすることができる。一部の実装において、クラウドリソースは、コンピューティングリソース２２２において実行される計算インスタンス、コンピューティングリソース２２２において提供されるストレージデバイス、コンピューティングリソース２２２により提供されるデータ転送デバイスなどを含むことができる。一部の実装において、コンピューティングリソース２２２は、有線接続、無線接続または有線接続と無線接続との組み合わせを介して他のコンピューティングリソース２２２と通信することができる。
【００６４】
図２にさらに示されているように、コンピューティングリソース２２２は、１つ以上のアプリケーション（「ＡＰＰ（ａｐｐｌｉｃａｔｉｏｎ）」）２２２−１、１つ以上の仮想マシン（「ＶＭ（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）」）２２２−２、仮想化ストレージ（「ＶＳ（ｖｉｒｔｕａｌｉｚｅｄ  ｓｔｏｒａｇｅ）」）２２２−３、１つ以上のハイパーバイザ（「ＨＹＰ（ｈｙｐｅｒｖｉｓｏｒ）」）２２２−４および／または同様のものなどのクラウドリソースのグループを含むことができる。
【００６５】
アプリケーション２２２−１は、システムデバイス（単数または複数）２１０および／もしくはネットワークデバイス（単数または複数）２３０に提供できる、またはシステムデバイス（単数または複数）２１０および／もしくはネットワークデバイス（単数または複数）２３０によりアクセスできる、１つ以上のソフトウェアアプリケーションを含む。アプリケーション２２２−１は、システムデバイス（単数または複数）２１０および／またはネットワークデバイス（単数または複数）２３０上でソフトウェアアプリケーションをインストールして実行する必要性を排除することができる。例として、アプリケーション２２２−１は、インフラストラクチャ展開プラットフォーム２１５に関連するソフトウェア、および／またはクラウドコンピューティング環境２２０を介して提供できる他の任意のソフトウェアを含むことができる。一部の実装において、１つのアプリケーション２２２  １は、仮想マシン２２２−２を介して他の１つ以上のアプリケーション２２２−１との間で情報を送受信することができる。
【００６６】
仮想マシン２２２−２は、物理マシンのようにプログラムを実行するマシン（例えばコンピュータ）のソフトウェア実装を含む。仮想マシン２２２−２は、用途、および仮想マシン２２２−２の任意の実マシンとの類似の程度に応じて、システム仮想マシンまたはプロセス仮想マシンのいずれかとすることができる。システム仮想マシンは、完全なオペレーティングシステム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行することができ、単一のプロセスをサポートすることができる。一部の実装において、仮想マシン２２２−２は、ユーザ（例えばシステムデバイス２１０および／またはネットワークデバイス２３０）の代わりに、さらに／または他の１つ以上のインフラストラクチャ展開プラットフォーム２１５の代わりに実行することができ、データ管理、同期化または長期データ転送など、クラウドコンピューティング環境２２０のインフラストラクチャの管理をすることができる。
【００６７】
仮想化ストレージ２２２−３は、コンピューティングリソース２２２のストレージシステムまたはデバイスの中の仮想化手法を使用する１つ以上のストレージシステムおよび／または１つ以上のデバイスを含む。一部の実装において、ストレージシステムのコンテキストの中で、仮想化のタイプはブロック仮想化およびファイル仮想化を含むことができる。ブロック仮想化は、物理ストレージからの論理ストレージの抽象化（または分離）を指すことができ、その結果、物理ストレージまたはヘテロジニアス構造と無関係にストレージシステムにアクセスできる。この分離は、ストレージシステムの管理者がエンドユーザに対しどのようにストレージを管理するかの点で、柔軟性を管理者に認めることができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に保存される場所との間の依存関係を排除することができる。これは、ストレージ使用の最適化、サーバコンソリデーション、および／または無停止ファイルマイグレーションの実行を可能にすることができる。
【００６８】
ハイパーバイザ２２２−４は、複数のオペレーティングシステム（例えば「ゲストオペレーティングシステム」）がコンピューティングリソース２２２などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化手法を提供する。ハイパーバイザ２２２−４は、ゲストオペレーティングシステムに仮想オペレーティングプラットフォームを提示することができ、ゲストオペレーティングシステムの実行を管理することができる。様々なオペレーティングシステムの複数のインスタンスが、仮想化ハードウェアリソースを共有することができる。
【００６９】
ネットワークデバイス（単数または複数）２３０は、システムデバイス（単数または複数）２１０に関連するトラフィック（例えばパケット）を受信、保存、生成、処理および／もしくは転送できる、且つ／またはシステムデバイス（単数または複数）２１０および／もしくはネットワーク２３５のトラフィックを監視できる、１つ以上のデバイスを含む。例として、ネットワークデバイス２３０は、ルータ、ゲートウェイ、スイッチ、ハブ、ブリッジ、リバースプロキシ、サーバ（例えばプロキシサーバ、ウェブサーバ、ホストサーバ、ストレージサーバ、データセンタまたはクラウドコンピューティング環境の中のサーバなど）、ファイアウォール、セキュリティデバイス、侵入検知デバイス、ロードバランサまたは類似の種類のデバイスを含んでもよい。ネットワークデバイス２３０は、単一のシステムデバイス２１０またはシステムデバイス２１０のグループ（例えばプライベートネットワーク、データセンタなどに関連したシステムデバイス２１０）に関連して使用されてもよい。一部の実装において、通信は、ネットワークデバイス２３０を介してルーティングされ、システムデバイス２１０のグループに到達してもよい。さらに、または代わりに、通信が１つ以上のシステムデバイス２１０宛てである場合、通信は、ネットワークデバイス２３０にルーティングされてもよい。一部の実装において、ネットワークデバイス２３０は、筐体などのハウジング内に実装される物理デバイスであってもよい。一部の実装において、ネットワークデバイス２３０は、クラウドコンピューティング環境またはデータセンタの１つ以上のコンピュータデバイスにより実装される仮想デバイスであってもよい。
【００７０】
ネットワーク２３５は、システムデバイス（単数または複数）２１０およびネットワークデバイス（単数または複数）２３０に関連するネットワークを含む。例として、ネットワーク２３５は、ＶＬＡＮ、サブネット、無線ネットワーク、有線ネットワーク、特定のネットワークセグメント（例えば１つ以上のネットワークゲートウェイに接続されたネットワーク化デバイスのグループ）、イーサネットセグメント、複数のネットワークセグメント、複数のイーサネットセグメントおよび／または同様のものを含んでもよい。一部の実装において、ネットワーク２３５は、本願明細書の他の箇所に記載されているように、インフラストラクチャ展開プラットフォーム（例えばインフラストラクチャ展開プラットフォーム２１５）により構造的に編成および展開されてもよい。
【００７１】
図２に示されたデバイスおよびネットワークの数および配置は、例として示されている。実際には、図２に示されたものと比べて、追加のデバイスおよび／もしくはネットワーク、より少数のデバイスおよび／もしくはネットワーク、異なるデバイスおよび／もしくはネットワーク、または別様に配置されたデバイスおよび／もしくはネットワークがあってもよい。さらに、図２に示されている２つ以上のデバイスが単一のデバイス内に実装されてもよく、または、図２に示されている単一のデバイスが複数の分散型デバイスとして実装されてもよい。さらに、または代わりに、環境２００のデバイスのセット（例えば１つ以上のデバイス）が、環境２００のデバイスの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００７２】
図３は、デバイス３００の例示のコンポーネントの図である。デバイス３００は、システムデバイス（単数または複数）２１０、インフラストラクチャ展開プラットフォーム２１５および／またはネットワークデバイス（単数または複数）２３０に対応し得る。一部の実装において、システムデバイス（単数または複数）２１０、インフラストラクチャ展開プラットフォーム２１５および／またはネットワークデバイス（単数または複数）２３０は、１つ以上のデバイス３００および／またはデバイス３００の１つ以上のコンポーネントを含んでもよい。図３に示されているように、デバイス３００は、バス３１０、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、出力コンポーネント３６０および通信インターフェース３７０を含んでもよい。
【００７３】
バス３１０は、デバイス３００のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ３２０は、ハードウェア、ファームウェアまたはハードウェアとソフトウェアとの組み合わせにおいて実装される。プロセッサ３２０は、中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、アクセラレーテッド処理ユニット（ＡＰＵ：ａｃｃｅｌｅｒａｔｅｄ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）または別の種類の処理コンポーネントである。一部の実装において、プロセッサ３２０は、機能を実行するようにプログラムされることが可能な１つ以上のプロセッサを含む。メモリ３３０は、プロセッサ３２０により使用される情報および／または命令を保存するランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）および／または別の種類の動的もしくは静的ストレージデバイス（例えばフラッシュメモリ、磁気メモリおよび／または光学メモリ）を含む。
【００７４】
ストレージコンポーネント３４０は、デバイス３００の動作および使用に関係する情報および／またはソフトウェアを保存する。例としてストレージコンポーネント３４０は、ハードディスク（例えば磁気ディスク、光学ディスク、光磁気ディスクおよび／またはソリッドステートディスク）、コンパクトディスク（ＣＤ：ｃｏｍｐａｃｔ  ｄｉｓｃ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）、フロッピーディスク、カートリッジ、磁気テープおよび／または別の種類の非一時的コンピュータ可読媒体を、対応するドライブとともに含んでもよい。
【００７５】
入力コンポーネント３５０は、デバイス３００が、ユーザ入力（例えばタッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチおよび／またはマイクロホン）などを介して情報を受信することを可能にするコンポーネントを含む。さらに、または代わりに、入力コンポーネント３５０は、情報を感知するセンサ（例えばグローバルポジショニングシステム（ＧＰＳ：ｇｌｏｂａｌ  ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）コンポーネント、加速度計、ジャイロスコープ、アクチュエータおよび／または画像センサ（単数または複数）（例えばカメラ（単数または複数）））を含んでもよい。出力コンポーネント３６０は、デバイス３００からの出力情報を提供するコンポーネントを含む（例えばディスプレイ、スピーカおよび／または１つ以上のＬＥＤ）。
【００７６】
通信インターフェース３７０は、デバイス３００が有線接続、無線接続または有線接続と無線接続との組み合わせなどを介して他のデバイスと通信することを可能にする、トランシーバのようなコンポーネント（例えばトランシーバならびに／または別々の受信機および送信機）を含む。通信インターフェース３７０は、デバイス３００が、別のデバイスから情報を受信し、且つ／または別のデバイスに情報を提供することを可能にしてもよい。例として、通信インターフェース３７０は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数（ＲＦ：ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）インターフェース、ユニバーサルシリアルバス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）インターフェース、無線ローカルエリアネットワークインターフェース、セルラネットワークインターフェースおよび／または同様のものを含んでもよい。
【００７７】
デバイス３００は、本願明細書に記載された１つ以上のプロセスを実行してもよい。デバイス３００は、メモリ３３０および／またはストレージコンポーネント３４０などの非一時的コンピュータ可読媒体により保存されたソフトウェア命令をプロセッサ３２０が実行するのに基づきこれらのプロセスを実行してもよい。本願明細書において、コンピュータ可読媒体は非一時的メモリデバイスと定義される。メモリデバイスは、単一の物理ストレージデバイス内のメモリ空間、または複数の物理ストレージデバイスにまたがったメモリ空間を含む。
【００７８】
ソフトウェア命令は、メモリ３３０および／またはストレージコンポーネント３４０に別のコンピュータ可読媒体から、または通信インターフェース３７０を介して別のデバイスから読み込まれてもよい。メモリ３３０および／またはストレージコンポーネント３４０に保存されたソフトウェア命令は、実行されると本願明細書に記載された１つ以上のプロセスをプロセッサ３２０に実行させてもよい。さらに、または代わりに、本願明細書に記載の１つ以上のプロセスを実行するために、配線による回路構成がソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用されてもよい。したがって、本願明細書に記載された実装は、ハードウェア回路構成とソフトウェアとのいかなる特定の組み合わせにも限定されない。
【００７９】
図３に示されたコンポーネントの数および配置は、例として示されている。実際には、デバイス３００は、図３に示されたものと比べて、追加のコンポーネント、より少数のコンポーネント、異なるコンポーネント、または別様に配置されたコンポーネントを含んでもよい。さらに、または代わりに、デバイス３００のコンポーネントのセット（例えば１つ以上のコンポーネント）が、デバイス３００のコンポーネントの別のセットにより実行されるものとして記載されている１つ以上の機能を実行してもよい。
【００８０】
図４は、システムのネットワークを構造化および展開する例示のプロセス４００のフローチャートである。一部の実装において、図４の１つ以上のプロセスブロックは、インフラストラクチャ展開プラットフォーム（例えばインフラストラクチャ展開プラットフォーム２１５）により実行されてもよい。一部の実装において、図４の１つ以上のプロセスブロックは、システムデバイス（単数または複数）２１０および／またはネットワークデバイス（単数または複数）２３０など、インフラストラクチャ展開プラットフォームとは別個の、またはインフラストラクチャ展開プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。
【００８１】
図４に示されているように、プロセス４００は、複数のデバイス（例えばシステムデバイス２１０）に関係する設定データを受信することを含んでもよく、複数のデバイスは、システムのコンポーネントとして含まれる（ブロック４１０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、通信インターフェース３７０および／または同様のものを使用する）は、複数のデバイスに関係する設定データを受信してもよい。一部の実装において、複数のデバイスは、システムのコンポーネントとして含まれてもよい。
【００８２】
図４にさらに示されているように、プロセス４００は、設定データを受信した後に、設定データを処理することを含んでもよい（ブロック４２０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、設定データを受信した後に、設定データを処理してもよい。
【００８３】
図４にさらに示されているように、プロセス４００は、設定データを処理することに基づき、複数のデバイスに関するコンテキスト情報を判断することを含んでもよく、コンテキスト情報は、複数のデバイス間の通信関係または関連付けを特定する（ブロック４３０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、設定データを処理することに基づき、複数のデバイスに関するコンテキスト情報を判断してもよい。一部の実装において、コンテキスト情報は、複数のデバイス間の通信関係または関連付けを特定してもよい。
【００８４】
図４にさらに示されているように、プロセス４００は、複数のデバイスのネットワーク（例えばネットワーク２３５）の編成構造を定義することを含んでもよく、編成構造は、通信関係または関連付けに基づき複数のデバイス間の通信を制約する（ブロック４４０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、複数のデバイスのネットワークの編成構造を定義してもよい。一部の実装において、編成構造は、通信関係または関連付けに基づき複数のデバイス間の通信を制約してもよい。
【００８５】
図４にさらに示されているように、プロセス４００は、コンテキスト情報および／または編成構造についてのデータをネットワークインフラストラクチャコントローラデバイスに送信することを含んでもよい。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、通信インターフェース３７０および／または同様のものを使用する）は、コンテキスト情報および／または編成構造についてのデータをネットワークインフラストラクチャコントローラデバイスに送信してもよい。
【００８６】
図４にさらに示されているように、プロセス４００は、編成構造に基づくネットワークの展開を生じさせるアクションを実行することを含んでもよい（ブロック４５０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、通信インターフェース３７０および／または同様のものを使用する）は、編成構造に基づくネットワークの展開を生じさせるアクションを実行してもよい。
【００８７】
プロセス４００は、後述される、および／または本願明細書の他の箇所に記載された他の１つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【００８８】
一部の実装において、コンテキスト情報はさらに、複数のデバイスのうちの２つ以上のデバイスに関連する機能を特定してもよい。一部の実装において、編成構造を定義するとき、インフラストラクチャ展開プラットフォームは、機能にさらに基づき複数のデバイス間の通信を編成構造が制約するように、編成構造を定義してもよい。一部の実装において、編成構造を定義するとき、インフラストラクチャ展開プラットフォームは、仮想ローカルエリアネットワーク（ＶＬＡＮ）、物理的なセグメンテーション、ファイアウォール、論理的なセグメンテーション、ホワイトリスト登録またはブラックリスト登録を使用して編成構造を定義してもよい。
【００８９】
一部の実装において、設定データは、複数のデバイスのうちの１つ以上のデバイスに関連する制御論理、複数のデバイスのうちの２つ以上のデバイスのデバイス識別情報または複数のデバイスのうちの２つ以上のデバイスに関連するアドレス情報を含んでもよい。一部の実装において、設定データを受信するとき、インフラストラクチャ展開プラットフォームは、システムに関連する初期の設定データおよび／または命令コードに対する変更の検知に基づき、設定データを受信してもよい。
【００９０】
一部の実装において、アクションを実行するとき、インフラストラクチャ展開プラットフォームは、複数のデバイスに関係する送信のレイヤ２イーサネットフレームにセキュリティタグが付加されるようにネットワークの展開を生じさせるアクションを実行してもよい。一部の実装において、システムは、産業用制御システム（ＩＣＳ）、分散制御システム（ＤＣＳ）、ビルオートメーションシステム（ＢＡＳ）、ビルマネジメントシステム（ＢＭＳ）、産業用モノのインターネット（ＩＩｏＴ）システム、モノのインターネット（ＩｏＴ）システム、１つ以上の医療デバイスを含むシステム、１つ以上の車両を含むシステムおよび／または同様のもののうちの少なくとも１つを含んでもよい。
【００９１】
一部の実装において、インフラストラクチャ展開プラットフォームは、複数のデバイスから遠隔に位置したサーバデバイスから設定データを受信する。
【００９２】
一部の実装において、ネットワークインフラストラクチャコントローラデバイスは、複数のデバイスから遠隔に位置する。
【００９３】
図４はプロセス４００の例示のブロックを示すが、一部の実装ではプロセス４００は、図４に示されたものと比べて追加のブロック、より少数のブロック、異なるブロックまたは別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス４００のブロックのうちの２つ以上が並列実行されてもよい。
【００９４】
図５は、システムのネットワークを構造化および展開する例示のプロセス５００のフローチャートである。一部の実装において、図５の１つ以上のプロセスブロックは、インフラストラクチャ展開プラットフォーム（例えばインフラストラクチャ展開プラットフォーム２１５）により実行されてもよい。一部の実装において、図５の１つ以上のプロセスブロックは、システムデバイス（単数または複数）２１０および／またはネットワークデバイス（単数または複数）２３０など、インフラストラクチャ展開プラットフォームとは別個の、またはインフラストラクチャ展開プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。一部の実装において、デバイス（例えばインフラストラクチャ展開プラットフォーム）は、１つ以上のメモリおよび１つ以上のメモリに通信結合されプロセス５００を実行するように構成された１つ以上のプロセッサを含んでもよい。
【００９５】
図５に示されているように、プロセス５００は、システムの複数のエンドポイント（例えばシステムデバイス２１０）に関係する少なくとも１つの設定ファイルを受信することを含んでもよい（ブロック５１０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、通信インターフェース３７０および／または同様のものを使用する）は、システムの複数のエンドポイントに関係する少なくとも１つの設定ファイルを受信してもよい。
【００９６】
図５にさらに示されているように、プロセス５００は、少なくとも１つの設定ファイルを受信した後に、少なくとも１つの設定ファイルをパースすることを含んでもよい（ブロック５２０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、少なくとも１つの設定ファイルを受信した後に、少なくとも１つの設定ファイルをパースしてもよい。
【００９７】
図５にさらに示されているように、プロセス５００は、少なくとも１つの設定ファイルをパースすることに基づき、複数のエンドポイントに関するコンテキスト情報を判断することを含んでもよく、コンテキスト情報は、複数のエンドポイントに関連する機能および／または複数のエンドポイント間の通信関係を特定する（ブロック５３０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、少なくとも１つの設定ファイルをパースすることに基づき、複数のエンドポイントに関するコンテキスト情報を判断してもよい。一部の実装において、コンテキスト情報は、複数のエンドポイントに関連する機能および／または複数のエンドポイント間の通信関係を特定してもよい。
【００９８】
図５にさらに示されているように、プロセス５００は、複数のエンドポイントのネットワークインフラストラクチャを定義することを含んでもよく、ネットワークインフラストラクチャは、機能および／または通信関係に基づき複数のエンドポイント間の通信を制約する（ブロック５４０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、複数のエンドポイントのネットワークインフラストラクチャを定義してもよい。一部の実装において、ネットワークインフラストラクチャは、機能および／または通信関係に基づき複数のエンドポイント間の通信を制約してもよい。
【００９９】
図５にさらに示されているように、プロセス５００は、ネットワークインフラストラクチャに基づくネットワークの実装を生じさせるアクションを実行することを含んでもよい（ブロック５５０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、通信インターフェース３７０および／または同様のものを使用する）は、ネットワークインフラストラクチャに基づくネットワークの実装を生じさせるアクションを実行してもよい。
【０１００】
プロセス５００は、後述される、および／または本願明細書の他の箇所に記載された他の１つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【０１０１】
一部の実装において、ネットワークインフラストラクチャを定義するとき、インフラストラクチャ展開プラットフォームは、仮想ローカルエリアネットワーク（ＶＬＡＮ）識別子と、複数のエンドポイントのうちの２つ以上のエンドポイントとを関連付けることにより、ネットワークインフラストラクチャを定義してもよい。一部の実装において、ネットワークインフラストラクチャを定義するとき、インフラストラクチャ展開プラットフォームは、仮想ローカルエリアネットワーク（ＶＬＡＮ）スキーマ、物理的なセグメンテーション、ファイアウォールスキーム、論理的なセグメンテーション、ホワイトリスト登録またはブラックリスト登録に基づきネットワークインフラストラクチャを定義してもよい。
【０１０２】
一部の実装において、複数のエンドポイントは、制御デバイス、入出力（Ｉ／Ｏ）デバイス、ヒューマンマシンインターフェース（ＨＭＩ）デバイスまたはコンピューティングデバイスを含んでもよい。一部の実装において、複数のエンドポイントは、モノのインターネット（ＩｏＴ）デバイスを含んでもよい。
【０１０３】
一部の実装において、システムは、複数のプロセスを実装するように構成されてもよく、コンテキスト情報は、複数のエンドポイントのうちの各エンドポイントについて、エンドポイントと、複数のプロセスのうちの１つ以上のプロセスとの関連付けを特定してもよい。一部の実装において、システムは、動的車両通信システムを含んでもよい。
【０１０４】
図５はプロセス５００の例示のブロックを示すが、一部の実装ではプロセス５００は、図５に示されたものと比べて追加のブロック、より少数のブロック、異なるブロックまたは別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス５００のブロックのうちの２つ以上が並列実行されてもよい。
【０１０５】
図６は、デバイス間の通信を制御する例示のプロセス６００のフローチャートである。一部の実装において、図６の１つ以上のプロセスブロックは、インフラストラクチャ展開プラットフォーム（例えばインフラストラクチャ展開プラットフォーム２１５）により実行されてもよい。一部の実装において、図６の１つ以上のプロセスブロックは、システムデバイス（単数または複数）２１０および／またはネットワークデバイス（単数または複数）２３０など、インフラストラクチャ展開プラットフォームとは別個の、またはインフラストラクチャ展開プラットフォームを含む、別のデバイスまたはデバイスのグループにより実行されてもよい。一部の実装において、非一時的コンピュータ可読媒体は、命令を含んでもよい。一部の実装において、インフラストラクチャは、デバイス（例えばインフラストラクチャ展開プラットフォーム）の１つ以上のプロセッサにより実行されると１つ以上のプロセッサにプロセス６００を実行させる１つ以上の命令を含んでもよい。
【０１０６】
図６に示されているように、プロセス６００は、複数のモノのインターネット（ＩｏＴ）デバイス（例えばシステムデバイス２１０）に関係する設定データを受信することを含んでもよく、複数のＩｏＴデバイスは、ネットワーク（例えばネットワーク２３５）のネットワークインフラストラクチャコントローラに通信結合されている（ブロック６１０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、入力コンポーネント３５０、通信インターフェース３７０および／または同様のものを使用する）は、複数のモノのインターネット（ＩｏＴ）デバイスに関係する設定データを受信してもよい。一部の実装において、複数のＩｏＴデバイスは、ネットワークのネットワークインフラストラクチャコントローラに通信結合されてもよい。
【０１０７】
図６にさらに示されているように、プロセス６００は、設定データを受信した後に、設定データにおいて、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスに関係するネットワーク情報を特定し、ネットワーク情報に基づき１つ以上のコマンドを得ることにより、設定データを処理することを含んでもよい（ブロック６２０）。例として、図１Ａ〜図１Ｃに関連して上述されたように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０および／または同様のものを使用する）は、設定データを受信した後に、設定データを処理してもよい。一部の実装において、インフラストラクチャ展開プラットフォームは、設定データにおいて、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスに関係するネットワーク情報を特定し、ネットワーク情報に基づき１つ以上のコマンドを得ることにより、設定データを処理してもよい。
【０１０８】
図６にさらに示されているように、プロセス６００は、ネットワークインフラストラクチャコントローラに１つ以上のコマンドを提供することを含んでもよく、１つ以上のコマンドは、ネットワークインフラストラクチャコントローラに、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスから発生するエグレス通信をフィルタリングさせるように構成される（ブロック６３０）。例として、図１Ａ〜図１Ｃに関連して上述したように、インフラストラクチャ展開プラットフォーム（例えばコンピューティングリソース２２２、プロセッサ３２０、メモリ３３０、ストレージコンポーネント３４０、出力コンポーネント３６０、通信インターフェース３７０および／または同様のものを使用する）は、ネットワークインフラストラクチャコントローラに１つ以上のコマンドを提供してもよい。一部の実装において、１つ以上のコマンドは、ネットワークインフラストラクチャコントローラに、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスから発生するエグレス通信をフィルタリングさせるように構成されてもよい。
【０１０９】
プロセス６００は、後述される、および／または本願明細書の他の箇所に記載された他の１つ以上のプロセスに関連して記載される、任意の単一の実装または任意の実装の組み合わせなど、追加の実装を含んでもよい。
【０１１０】
一部の実装において、ネットワーク情報は、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスに関連する意図される個々の通信受信側を特定してもよい。一部の実装において、１つ以上のコマンドは、ネットワークインフラストラクチャコントローラに、ＩｏＴデバイスに関連する意図される個々の通信受信側に宛てられた特定のエグレス通信のみネットワークを横断することを許可させることにより、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスから発生するエグレス通信のフィルタリングをネットワークインフラストラクチャコントローラにさせるように構成されてもよい。
【０１１１】
一部の実装において、ネットワーク情報は、複数のＩｏＴデバイスのうちの各ＩｏＴデバイスについて、ＩｏＴデバイスに関連する意図された個々の通信受信側に関連するインターネットプロトコル（ＩＰ）アドレス、または意図された個々の通信受信側に関連するドメイン名を特定してもよい。一部の実装において、複数のＩｏＴデバイスは、コンシューマＩｏＴデバイス、産業用ＩｏＴデバイスまたはスマートシティＩｏＴデバイスを含んでもよい。一部の実装において、設定データを受信するとき、インフラストラクチャ展開プラットフォームは、複数のＩｏＴデバイスを管理するように構成されたサーバデバイスから設定データを受信してもよい。
【０１１２】
図６はプロセス６００の例示のブロックを示すが、一部の実装ではプロセス６００は、図６に示されたものと比べて追加のブロック、より少数のブロック、異なるブロックまたは別様に配置されたブロックを含んでもよい。さらに、または代わりに、プロセス６００のブロックのうちの２つ以上が並列実行されてもよい。
【０１１３】
このように、インフラストラクチャ展開プラットフォームは、システム（制御された結果の有限のセットを有する産業用制御システムおよび／または同様のものなど）の構造化された性質を活用して、システムの中のデバイスのセキュアなネットワークインフラストラクチャを設計し得る。本願明細書に記載されるように、コンテキスト情報に基づきデバイス間通信が制約されるようにネットワークインフラストラクチャを編成することは、デバイスの全体的な通信アーキテクチャを強固にし（例えば強化し）、これは、攻撃をより受けにくいよりセキュアなネットワークを提供する。これはさらに、全体的なネットワークを単純化し、それにより、システムおよびまたはネットワークに対する更新および／またはアップグレードのより効率的な展開が可能になる。本願明細書に記載されるように、システム設定が行われている間にリアルタイム（または準リアルタイム）でネットワークを設計および展開することを可能にすることで、ネットワークの様々な部分を、開発プロセスの全体にわたってテストすることもでき、これは、最終的なネットワークの信頼性をさらに向上させる。さらに、本願明細書に記載されるように（例えばＩｏＴデバイスおよび／または同様のもののシステムの）ネットワークにおいてエグレス通信またはトラフィックをフィルタリングすることは、悪意のある行為者によるネットワークの侵害を制限し、これは、全体的なシステムセキュリティを改善する。
【０１１４】
前述の開示は、例示および説明を提供するが、網羅的であることも、実装を開示された厳密な形態に限定することも意図していない。上記の開示を考慮して変更および変形を考え得るし、または実装の実践から変更および変形が習得されるかもしれない。
【０１１５】
本願明細書で使用されるとき、コンポーネントという用語は、ハードウェア、ファームウェアまたはハードウェアとソフトウェアとの組み合わせとして広く解釈されるよう意図される。
【０１１６】
本願明細書で使用されるとき、パケットとは、プロトコルデータユニット（ＰＤＵ：ｐｒｏｔｏｃｏｌ  ｄａｔａ  ｕｎｉｔ）、ネットワークパケット、フレーム、データグラム、セグメント、メッセージ、ブロック、セル、フレーム、サブフレーム、スロット、シンボル、上記のうちいずれかの一部、および／または別の種類の、ネットワークを介して送信でき、フォーマット設定された、もしくはフォーマット設定されていないデータのユニットなどの、情報を伝達する通信構造を指し得る。
【０１１７】
当然のことながら、本願明細書に記載されたシステムおよび／または方法は、異なる形態のハードウェア、ファームウェアまたはハードウェアとソフトウェアとの組み合わせに実装されてもよい。これらのシステムおよび／または方法を実装するために使用される実際の専用制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。したがって、システムおよび／または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本願明細書に記載されたが、当然のことながら、ソフトウェアおよびハードウェアは、本願明細書の記載に基づくシステムおよび／または方法を実装するよう設計されてもよい。
【０１１８】
特徴の特定の組み合わせが特許請求の範囲に記載され且つ／または明細書で開示されるが、これらの組み合わせは可能な実装の開示を限定することを意図されたものではない。実際には、これらの特徴の多くが、具体的に特許請求の範囲に記載および／または明細書に開示されなかった形で組み合わされてもよい。下記に列挙される各従属クレームは、１つのみのクレームに直接従属するかもしれないが、可能な実装の開示は、クレームセットの中の他のすべてのクレームと組み合わせた各従属クレームを含む。
【０１１９】
本願明細書で使用されるいずれの構成要素、動作または命令も、重要または必須とは、そのように明示的に記載されない限りは、解釈されてはならない。さらに、本願明細書で使用されるとき、冠詞「或る（ａおよびａｎ）」は、１つ以上の項目を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。さらに、本願明細書で使用されるとき、「セット（ｓｅｔ）」という用語は、１つ以上の項目（例えば関係する項目、無関係の項目、関係する項目と無関係の項目との組み合わせなど）を含むよう意図され、「１つ以上の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」と交換可能なように使用され得る。１つのみの項目が意図される場合、「１つの（ｏｎｅ）」という用語または同様の文言が使用される。さらに、本願明細書で使用されるとき、「有する（ｈａｓ、ｈａｖｅ、ｈａｖｉｎｇ）」という用語および／または同様のものは、非限定的な用語であるものと意図される。さらに、「基づく（ｂａｓｅｄ  ｏｎ）」という語句は、別段の記載が明示的にされない限り「少なくとも部分的に基づく（ｂａｓｅｄ，ａｔ  ｌｅａｓｔ  ｉｎ  ｐａｒｔ，ｏｎ）」を意味するよう意図される。
【図１Ａ】
2020058021.tif 000003
【図１Ｂ】
2020058021.tif 000004
【図１Ｃ】
2020058021.tif 000005
【図２】
2020058021.tif 000006
【図３】
2020058021.tif 000007
【図４】
2020058021.tif 000008
【図５】
2020058021.tif 000009
【図６】
2020058021.tif 000010
【外国語明細書】
2020058021000001.pdf
2020058021000002.pdf
2020058021000003.pdf
2020058021000004.pdf