(57)【要約】本開示は、概して、ネットワーク接続を管理する方法、システム、および装置に関する。ネットワーク接続管理のためのシステムは、ストレージコンポーネント、デコーディング・コンポーネント、ルールマネージャ・コンポーネント、および通知コンポーネントを含む。ストレージコンポーネントは、複数のネットワーク接続されたマシンのための予測された接続のリストを記憶するように設定され、予測された接続のリスト中の各接続は、接続のスタートポイントとエンドポイントを定義する。デコーディング・コンポーネントは、複数のネットワーク接続されたマシンからの、対応するマシンのための1つ以上の接続を示すメッセージをデコードするように設定される。ルールマネージャ・コンポーネントは、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別するように設定される。通知コンポーネントは、予測されない存在もしくは欠如の通知または表示を提供するように設定される。【選択図】図１
2019511172.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続管理のためのシステムであって、
複数のネットワーク接続されたマシンのための予測された接続のリストを記憶する手段であって、前記予測された接続のリスト中の各接続は、前記接続のスタートポイントとエンドポイントを定義する手段と、
前記複数のネットワーク接続されたマシンからの、個々のマシンの１つ以上の接続を示す表示を受信する手段と、
前記予測された接続のリストに基づいて、前記複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別する手段と、
前記予測されない存在もしくは欠如の通知または表示を提供する手段
を備えるシステム。
【請求項２】
前記予測された接続のリストを記憶する手段は、データシリアライゼーション規格に基づいて前記リストを記憶するための手段を含む
請求項１に記載のシステム。
【請求項３】
前記予測された接続のリストを記憶する手段は、ＹＡＭＬファイルフォーマットで前記リストを記憶するための手段を含む
請求項１に記載のシステム。
【請求項４】
前記リストを記憶する手段は、前記予測された接続のリストのバージョン追跡および制御のための手段を含む
請求項１に記載のシステム。
【請求項５】
各接続は、対応する接続のプロトコル、ポート番号、もしくは、ポート番号の範囲の1つ以上をさらに含む
請求項１に記載のシステム。
【請求項６】
前記予測された接続のリスト中の接続のための１つ以上のスタートポイントもしくはエンドポイントはグループを含む
請求項１に記載のシステム。
【請求項７】
前記表示を受信する手段は、個々のマシンの1つ以上の現在の接続もしくは設定された接続を含むメッセージを受信するための手段を含む
請求項１に記載のシステム。
【請求項８】
前記メッセージのうちの少なくとも１つのメッセージは、マシンのためのルートテーブルを含み、前記予測された接続のリストはマスタールートテーブルを含む。
請求項１に記載のシステム。
【請求項９】
前記予測されない存在もしくは欠如を識別する手段は、前記予測された接続のリスト中にマッチするエントリがある場合に、対応するマシンの１つ以上の接続のうちの接続は予測されていると判定する手段を含む
請求項１に記載のシステム。
【請求項１０】
前記予測されない存在もしくは欠如を識別する手段は、前記予測された接続のリスト中にマッチするエントリがない対応するマシンに基づいて、１つ以上の接続のうちの接続が予測されないと判定する手段を含む
請求項１に記載のシステム。
【請求項１１】
前記予測されない存在もしくは欠如を識別する手段は、対応するマシンの前記１つ以上の接続のうちのマッチする接続がない前記予測された接続のリスト中のエントリに基づいて、予測外に接続が欠如していると判定する手段を含む
請求項１に記載のシステム。
【請求項１２】
前記通知を提供する手段は、ログファイルもしくはユーザインタフェースの通知エリアに警告を提供する手段を含む
請求項１に記載のシステム。
【請求項１３】
前記通知を提供する手段は、管理者へのメッセージ中に通知を提供する手段を含む
請求項１に記載のシステム。
【請求項１４】
前記通知を提供する手段は、前記予測しない接続の存在もしくは欠如を反映するために、前記予測された接続のリスト中のエントリに警告を出す手段を含む
請求項１に記載のシステム。
【請求項１５】
前記予測された接続のリストと前記複数のマシンの実際の接続もしくは設定の間の相違点の数を決定する手段をさらに含む
請求項１に記載のシステム。
【請求項１６】
前記予測された接続のリストに基づいて、前記複数のマシンの接続設定を修正するための手段をさらに含む。
請求項１に記載のシステム。
【請求項１７】
複数のネットワーク接続されたマシンのための予測された接続のリストを記憶し、前記予測された接続のリスト中の各接続は、前記接続のスタートポイントとエンドポイントを定義し、
前記複数のネットワーク接続されたマシンからの、個々のマシンの１つ以上の接続を示す表示を受信し、
前記予測された接続のリストに基づいて、前記複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別し、
前記予測されない存在もしくは欠如の通知または表示を提供する
ネットワーク接続管理のための方法。
【請求項１８】
前記予測された接続のリストは、データシリアライゼーション規格に基づいて記憶されたリストを含む
請求項１７に記載の方法。
【請求項１９】
前記予測された接続のリストは、ＹＡＭＬファイルフォーマットで記憶されたリストを含む
請求項１７に記載の方法。
【請求項２０】
前記予測された接続のリストのバージョン追跡および制御を提供することをさらに含む
請求項１７に記載の方法。
【請求項２１】
前記予測された接続のリスト中の接続は、対応する接続のプロトコル、ポート番号、もしくは、ポート番号の範囲の1つ以上をさらに含む
請求項１７に記載の方法。
【請求項２２】
前記予測された接続のリスト中の接続のための１つ以上のスタートポイントもしくはエンドポイントはグループを含む。
請求項１７に記載の方法。
【請求項２３】
前記メッセージは、前記対応するマシンの1つ以上の現在の接続もしくは設定された接続を含む
請求項１７に記載の方法。
【請求項２４】
前記メッセージのうちの少なくとも１つのメッセージは、マシンのためのルートテーブルを含み、前記予測された接続のリストはマスタールートテーブルを含む
請求項１７に記載の方法。
【請求項２５】
前記個々のマシンの１つ以上の接続のうちの接続は予測されていると判定することは、前記予測された接続のリスト中にマッチするエントリがあると判定することを含む、
請求項１７に記載の方法。
【請求項２６】
前記個々のマシンの前記１つ以上の接続のうちの接続が前記予想外に存在すると判定することは、前記個々のマシンの１つ以上の接続のうちの接続は前記予測された接続のリスト中にマッチするエントリがないと判定することを含む
請求項１７に記載の方法。
【請求項２７】
前記個々のマシンの前記１つ以上の接続のうちの接続が予想外に欠如すると判定することは、前記予測された接続のリスト中のエントリは前記個々のマシンの前記１つ以上の接続のうちのマッチする接続がないと判定することを含む
請求項１７に記載の方法。
【請求項２８】
前記通知を提供することは、ログファイルもしくはユーザインタフェースの通知エリアに警告を提供することを含む
請求項１７に記載の方法。
【請求項２９】
前記通知を提供することは、管理者へのメッセージ中に前記通知を提供することを含む
請求項１７に記載の方法。
【請求項３０】
前記通知を提供することは、前記予測しない接続の存在もしくは欠如を反映するために、前記予測された接続のリスト中のエントリに警告を出すことを含む
請求項１７に記載の方法。
【請求項３１】
前記予測された接続のリストと前記複数のマシンの実際の接続もしくは設定の間の相違点の数を決定することをさらに含む
請求項１７に記載の方法。
【請求項３２】
前記予測された接続のリストに基づいて、前記複数のマシンの接続設定を追加もしくは削除することをさらに含む
請求項１７に記載の方法。
【請求項３３】
ネットワーク接続管理のためのシステムであって、
複数のネットワーク接続されたマシンのための予測された接続のリストを記憶するように設定されたストレージコンポーネントであって、前記予測された接続のリスト中の各接続は、前記接続のスタートポイントとエンドポイントを定義するストレージコンポーネントと、
前記複数のネットワーク接続されたマシンからの、対応するマシンの１つ以上の接続を示すメッセージをデコードするように設定されたデコーディング・コンポーネントと、
前記予測された接続のリストに基づいて、前記複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別するように設定されたルールマネージャ・コンポーネントと、
前記予測されない存在もしくは欠如の通知または表示を提供するように設定された通知コンポーネント
を備えるシステム。
【請求項３４】
前記予測された接続のリストは、ＹＡＭＬファイルフォーマットで記憶されたリストを含む
請求項３３に記載のシステム。
【請求項３５】
前記ストレージコンポーネントは、前記予測された接続のリストのバージョン追跡および制御を提供するように設定される
請求項３３に記載のシステム。
【請求項３６】
各接続は、対応する接続のプロトコル、ポート番号、および、ポート番号の範囲の1つ以上を含む
請求項３３に記載のシステム。
【請求項３７】
前記予測された接続のリスト中の接続のための１つ以上の前記スタートポイントおよび前記エンドポイントは、グループを含む
請求項３３に記載のシステム。
【請求項３８】
前記メッセージは、前記対応するマシンの1つ以上の現在の接続もしくは設定された接続を含む
請求項３３に記載のシステム。
【請求項３９】
前記メッセージのうちの少なくとも１つのメッセージは、マシンのためのルートテーブルを含み、前記予測された接続のリストはマスタールートテーブルを含む
請求項３３に記載のシステム。
【請求項４０】
前記ルールマネージャ・コンポーネントは、前記予測された接続のリスト中にマッチするエントリがある場合、前記対応するマシンの前記１つ以上の接続のうちの接続は予測されていると判定するように設定される
請求項３３に記載のシステム。
【請求項４１】
前記ルールマネージャ・コンポーネントは、前記予測された接続のリスト中にマッチするエントリがない前記対応するマシンの前記１つ以上の接続のうちの接続に基づいて、前記予測されない接続の存在を識別するように設定される
請求項３３に記載のシステム。
【請求項４２】
前記ルールマネージャ・コンポーネントは、前記対応するマシンの前記１つ以上の接続のうちのマッチする接続がない前記予測された接続のリスト中のエントリに基づいて、前記予測されない接続の欠如を識別するように設定される
請求項３３に記載のシステム。
【請求項４３】
前記通知コンポーネントは、ログファイルもしくはユーザインタフェースの通知エリアに警告を提供するように設定される
請求項３３に記載のシステム。
【請求項４４】
前記通知コンポーネントは、管理者へのメッセージ中に前記通知を提供するように設定される
請求項３３に記載のシステム。
【請求項４５】
前記通知コンポーネントは、前記予測しない接続の存在もしくは欠如を反映するために、前記予測された接続のリスト中のエントリに警告を出すように設定される
請求項３３に記載のシステム。
【請求項４６】
前記通知コンポーネントは、前記予測された接続のリストと前記複数のマシンの実際の接続もしくは設定の間の相違点の数を決定するように設定される
請求項３３に記載のシステム。
【請求項４７】
前記予測された接続のリストに基づいて、前記複数のマシンの接続設定を追加もしくは削除するように設定されたプッシュコンポーネントをさらに含む
請求項３３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、ネットワーク接続をセキュアに管理する方法、システム、および装置に関する。
【背景技術】
【０００２】
コンピュータデバイスは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネットなどのネットワークに渡ってよく通信する。コンピュータシステムは重要な運用システムの制御、機密データの記憶もしくはアクセス、または、他の重要もしくは機密の機能の実行によく使用されるので、コンピュータシステムのセキュリティは重要である。いくつかのケースでは、特定のコンピュータシステムが通信を許可されるデバイスもしくはシステムを限定または制御することによって、セキュリティが高められ得る。
【図面の簡単な説明】
【０００３】
本開示の非限定かつ非包括的な実施形態は、以下の図面を参照して記述され、類似の参照番号は、そうでないと特に断らない限りは、種々の図面を通して類似の部分のことを称する。本開示の利点は、以下の記載および添付の図面に関して、より良く理解されるようになるであろう。
【図１】１つの実施形態に従った管理ホストのための動作環境の例を説明する略ブロック図である。
【図２】１つの実施形態に従った管理ホストのコンポーネントの例を説明する略ブロック図である。
【図３】１つの実施形態に従ったエンドポイントでの通信設定を管理するための方法を説明する略信号図である。
【図４】１つの実施形態に従ったネットワーク接続を管理するための方法を説明する略フローチャートである。
【図５】本明細書で教示する開示のコンピュータプロセスを可能にするコンピュータデバイスもしくはシステムを表わすブロック図である。
【発明を実施するための形態】
【０００４】
システムの保護のための現在のアプローチは、通信のエンドポイントを保護することもしくは設定することを重視している。例えば、Ｌｉｎｕｘ（登録商標）のための保護システムの中核ツールであるＩＰテーブルは、ポートおよびインターネットプロトコル（ＩＰ）アドレスのブロックに基づいて、特定のシステムが自身へのアクセスを拒否できるようにできる。アマゾンウェブサービス（登録商標）（ＡＷＳ）は、１つ以上のマシンもしくはアドレスを含み得る他のセキュリティグループへもしくは他のセキュリティグループからの許可された接続を規定することによって、セキュリティグループを提供する。
【０００５】
出願人は、許可された接続が完成され正しいことを確認するための効果的な方法を現在の技術が提供しないことを認識した。ソフトウェアプロダクト内に、２つ以上のマシン上の２つのエンドポイントを要求する専用のサービスの間の内部接続があり得る。既存技術はシングルエンドポイントに基づいて設定されるので、このアプローチは設定に適合しないおそれがある。例えば、１台のマシンが接続を許可され得るが、他方が許可されない可能性がある。ＡｍａｚｏｎはＣｌｏｕｄＦｏｒｍａｔｉｏｎ（登録商標）というセキュリティグループを生成するためのツールを提供するが、それは明示的にシングルエンドアプローチを要求する。２つのセキュリティグループが通信することを要求されると、http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group.htmlにあるＡＷＳ  ＣｌｏｕｄＦｏｒｍａｔｉｏｎ（登録商標）のための以下の引用で述べられるように、管理者はテンプレート中に２つのルールを記入する必要がある。
２つのセキュリティグループをそれらの進入ルールおよび退出ルール中で相互参照したい場合、ルールを定義するためにＡＷＳ：：ＥＣ２：：ＳｅｃｕｒｉｔｙＧｒｏｕｐＥｇｒｅｓｓリソースおよびＡＷＳ：：ＥＣ２：：ＳｅｃｕｒｉｔｙＧｒｏｕｐＩｎｇｒｅｓｓリソースを使用しなさい。ＡＷＳ：：ＥＣ２：：ＳｅｃｕｒｉｔｙＧｒｏｕｐに組み込まれている進入ルールおよび退出ルールを使用してはいけません。そうした場合には、ＡＷＳ  ＣｌｏｕｄＦｏｒｍａｔｉｏｎが許可していない円状の従属関係（ｃｉｒｃｕｌａｒ  ｄｅｐｅｎｄｅｎｃｙ）の原因となります。
【０００６】
前述の制限に基づいて、出願人は、ネットワーク接続管理を改善するシステム、方法、デバイスを開発した。出願人は、少なくとも１つの実施形態中において２つのエンドポイントを共に見通すことができることから、エンドポイントを個々に管理するよりも、ネットワーク通信許可の管理がよりよく制御され効率的になることを認識した。
【０００７】
１つの実施形態では、ネットワーク接続を管理するためのシステムは、管理される複数のマシン、デバイスもしくはコンピュータシステムのための予測された接続のリストを記憶できる。例えば、予測された接続のリストは、マークアップ言語もしくはＹＡＭＬのようなデータシリアライゼーション規格を用いて記憶され得る。ＹＡＭＬはＹＡＭＬ  Ａｉｎ’ｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＹＡＭＬはマークアップ言語ではない）を意味し、多くもしくは全てのプログラミング言語のための人が解読可能な規格となることを意図している。１つの実施形態では、予測された接続のリスト中の個々の接続は、スタートポイント、エンドポイント、ＩＰプロトコル、およびポート番号もしくはポート番号の範囲を用いて定義される。エンドポイントが複数のマシンに位置する場合、管理システムは、両方のエンドポイントでの必要な許可を調べて生成するためのツール、これらの接続を検証するためのツール、および／またはマッピングを規定するためのツールを含むことができる。これらのツールの１つ以上は、リモートマシン上の接続情報を１台のマシン（例えば管理システム）に統合するため、および、設定を１台のマシンからリモートマシンにプッシュできるようにするために使用され得る。
【０００８】
１つの実施形態では、接続を記述したＹＡＭＬファイルのような予測された接続のリストは、（任意の数のソースコード・バージョニング・システムを用いて）ソースコード・アーティファクトとして管理され得る。その後、最新のバージョンは存在する設定もしくは接続をリスト中に定義されたものに対して検証するために使用され得る。１つの実施形態では、実装中の設定で行われた変更は予測された設定に対して照合されることができ、それらの設定が一致しない場合にアラートが生成される。
【０００９】
１つの実施形態では、ネットワーク接続を管理するためのシステムは、ストレージコンポーネント、デコーディング・コンポーネント、ルールマネージャ・コンポーネントおよび通知コンポーネントを含む。ストレージコンポーネントは複数のネットワーク接続されたマシンのための予測された接続のリストを記憶するように設定される。予測された接続のリスト中の個々の接続は接続のためのスタートポイントおよびエンドポイントを定義する。デコーディング・コンポーネントは、複数のネットワーク接続されたマシンからの、対応するマシンのための１つ以上の接続を示すメッセージをデコードするように設定される。ルールマネージャ・コンポーネントは、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を特定するように設定される。通知コンポーネントは、予測されない存在もしくは欠如の通知または表示を提供するように設定される。
【００１０】
ところで、図を参照すると、図１は管理ホスト１０２のための動作環境を提供するシステム１００の例を説明する。システム１００は、複数の管理されるコンピュータシステム１０４および複数の外部システム１０６を含む。管理ホスト１０２およびコンピュータシステム１０４は、サーバ、仮想マシンなどのコンピュータデバイス、もしくはネットワーク接続されたコンピュータシステム１０８の一部を構成する他の任意のコンピュータデバイスを含むことができる。ネットワークコンピュータシステム１０８の管理ホスト１０２およびコンピュータシステム１０４は、物理的に同じデータセンターもしくはサーバファーム中に位置していても良く、または、互いに離れて位置していて管理ホスト１０２によって共通に管理されていても良い。外部システム１０６は、管理ホスト１０２によって管理されていないシステムを表わし、管理ホスト１０２と同じデータセンター中に位置するか、または管理ホスト１０２から離れたコンピュータシステムを含むことができる。管理ホスト１０２、コンピュータシステム１０４、および外部システム１０６の各々は、互いに通信することができる１つ以上のネットワークもしくはネットワークデバイスに接続されることができる。例えば、管理ホスト１０２、コンピュータシステム１０４、および外部システム１０６は、インターネットを介して、プライベートネットワークもしくは任意の種類のネットワークを介して、互いに通信することができる。
【００１１】
内部のまたは管理されたコンピュータシステム１０４の各々は、自身のための設定ファイル中などに、接続設定を記憶できる。接続設定は、ルーティングテーブル、ＩＰテーブル、ファイアウォールの中に記憶されても良く、または、任意の他のフォーマットもしくはプログラム中に記憶されても良い。接続設定は、コンピュータシステム１０４と通信することが許可される他のデバイス、アドレス、もしくはセキュリティグループを示すことができる。接続設定は、通信方向（例えば、インバウンドもしくはアウトバウンド）、アドレス、ポート番号（もしくはポート番号の範囲）、セキュリティグループ識別子、または特定の接続のための同様のものを特定できる。セキュリティグループ識別子は、複数のマシンもしくはアドレスに対応する名称、番号、または他の識別子を含むことができる。例えば、第１のセキュリティグループ１１０は、２つの管理されるコンピュータシステム１０４を含み、第２のセキュリティグループ１１２は２つの外部システム１０６を含む。従って、特定のコンピュータシステム１０４のための設定ファイル中の接続エントリは、セキュリティグループ中のマシンを明確に識別せずに、コンピュータシステムが第１のセキュリティグループ１１０もしくは第２のセキュリティグループ１１２中の任意のシステムと（インバウンドかアウトバウンドのいずれかの）通信を許可されることを表わすことができる。１つの実施形態では、個々のコンピュータシステム１０４は自身のための設定のみを記憶する。
【００１２】
管理ホスト１０２は、管理されるコンピュータシステム１０４の全てのマスター情報を含む接続マスターファイルを記憶する。例えば、接続マスターファイルは、ネットワーク接続されたコンピュータシステム１０８中の管理されるコンピュータシステム１０４の全てに対して予測される接続のリストを含むことができる。従って、１つの実施形態では、コンピュータシステム１０４のための全ての設定が接続マスターファイルに記憶されるように、リストは個々のコンピュータシステム１０４のための接続情報を記憶する。接続マスターファイルは、マークアップ言語もしくはデータシリアライゼーション規格のような任意のファイルフォーマットに基づいて記憶され得る。１つの実施形態によると、接続マスターファイルはＹＡＭＬファイルを含む。
【００１３】
管理ホスト１０２によって記憶された接続マスターファイルを用いて、その後、管理ホストはコンピュータシステム１０４のための実際の設定を（例えば、設定ファイルに基づいて）監視できる。１つの実施形態では、個々のコンピュータシステム１０４は周期的にもしくは要求に応じて、その設定ファイルを管理ホスト１０２に送信できる。設定ファイルが管理ホスト１０２に受信されたとき、管理ホスト１０２はあらゆる相違点を検出するために設定ファイルを接続マスターファイルと比較できる。１つの実施形態では、相違点は、コンピュータシステムの設定ファイル中の予測しない接続の存在を含むことができる。例えば、設定ファイル中の接続エントリは、接続マスターファイル中に対応するエントリを有さない可能性がある。１つの実施形態では、相違点は、コンピュータシステムの設定ファイル中の予測される接続の欠如を含むことができる。例えば、接続マスターファイル中の接続エントリは、正しい１つ以上のコンピュータシステム１０４の設定ファイル中に対応するエントリを有さない可能性がある。
【００１４】
管理ホスト１０２によって識別された相違点は、接続マスターファイルまたは１つ以上のコンピュータシステム１０４の設定ファイルのいずれかにエラー／欠落があることを示すことができる。例えば、設定ファイルに（接続マスターファイルに対して）予測しない接続がある場合、接続マスターファイルが誤って設定され、本当はその予測しない接続が接続マスターファイルに存在すべきである可能性がある。一方、その予測しない接続はコンピュータシステム１０４の設定ファイルが正しくなく、コンピュータシステムにセキュリティリスクもしくは動作リスクがあることを示す可能性がある。
【００１５】
１つの実施形態では、管理ホスト１０２ならびに管理ホスト１０２の機能および特徴は、他の利用可能な技術に対して著しい利点を提供できる。例えば、全てのシングルエンドポイントに基づいた既存の技術は、既存の設定を予測される設定に対して監視するための簡単なメカニズムを有していない。管理ホスト１０２は、シングルエンドポイントに基づくよりもむしろ接続に基づいて接続を監視および管理するための簡単で迅速な方法を提供するので、管理ホスト１０２はセキュリティを増強し、監視のためのコストを削減する。さらに、監視の態様は、例えば、受託会社の内部統制（Service Organization Control 2、ＳＯＣ２）証明書ならびに医療保険の携行と責任に関する法律（Health Insurance Accountability Act、ＨＩＰＡＡ）の証明書および順守を含む様々なセキュリティ証明書のための正当な制御として振舞うことができる。
【００１６】
１つの実施形態では、管理ホスト１０２および接続マスターファイルは、ＡｍａｚｏｎｎのＡＷＳＴＭアカウント中などの既存のクラウドサービス中のセキュリティグループの設定を管理するためにも使用できる。１つの実施例では、必用に応じて外部のサブネットと共に、ＡＷＳセキュリティグループがエンドポイントで使用されても良い。接続マスターファイル（ＹＡＭＬファイルなど）は、特定のサービスもしくはマシンが他のサービスもしくはマシンと通信する必要があることに注目できる。ルールマネージャを運用するので、管理ホスト１０２はエンドポイントでのルールが存在することを保証できる。ルールマネージャはセキュリティグループ中のルールを検査することもでき、予測されないルールを削除することもできる。１つの実施形態では、ルールマネージャは、予測されるルールのセット（例えば、接続マスターファイル中の）と既存のルール（例えば、設定ファイル中）の間の相違点の数を提供するために、（例えば、ルールマネージャの起動時にフラグに応じて）検証ソフトとして動作できる。
【００１７】
説明のために、例示的なルールは、外部のロードバランサがグローバルサービス（Global Services、ＧＳ）インスタンスとシングルポートで話すことを許可し得るルールであっても良い。管理者は、弾性のあるロードバランサのためにｐｒｏｄ＿ｅｌｂ、グローバルサービスのためにｐｒｏｄ＿ｇｓというセキュリティグループ（各グループもしくはサービスに属するマシン、アドレス、識別子などを識別する）を定義できる。ＹＡＭＬファイルでは以下のようにルールが記憶され得る。
ｓｏｕｒｃｅ：  ｐｒｏｄ＿ｅｌｂ
ｄｅｓｔｉｎａｔｉｏｎ：  ｐｒｏｄ＿ｇｓ
ｐｒｏｔｏｃｏｌ：  ｔｃｐ
ｓｅｒｖｉｃｅ：  ｓｎｏｗｆｌａｋｅ＿ｅｌｂ
【００１８】
上記のルールは、ルールマネージャ（例えば、管理ホスト１０２もしくは管理ホスト１０２上で動作するサービス）に、ｐｒｏｄ＿ｇｓへのｐｒｏｄ＿ｅｌｂに関するアウトバウンドルールおよびｐｒｏｄ＿ｅｌｂからｐｒｏｄ＿ｇｓに関するインバウンドルールとともに、トランスミッション・コントロール・プロトコル（transmission control protocol、ＴＣＰ）で開かれるｓｎｏｗｆｌａｋｅ＿ｅｌｂとして定義されたポート（例えば、値８０８４と共に）を予測するように伝える。セキュリティグループとしてのｐｒｏｄ＿ｇｓを含めるためのグローバルサービス（ＧＳ）の役割を、そして、ｐｒｏｄ＿ｅｌｂを含めるためのロードバランサの役割を、どのマシン（例えば、アドレス、識別子など）が有するかを定義するために、第２のマッピングファイルが使用され得る。ＧＳのためのコードの例は以下のとおりであっても良い。
ｒｏｌｅ：  ＧＳ
ｇｒｏｕｐｓ：  
−  ｇｒｏｕｐ：  ｐｒｏｄ＿ｇｓ
−  ｇｒｏｕｐ：  ｐｒｏｄ＿ｃｏｒｅ
【００１９】
１つの実施形態では、全てのインスタンスにわたって共有されるルールのために、ＧＳのための役割はｐｒｏｄ＿ｇｓグループおよび第２のグループｐｒｏｄ＿ｃｏｒｅに含められる。例えば、役割は１つ以上のセキュリティグループ（Ａｍａｚｏｎ  ＡＷＳＴＭは、個々のインスタンスに５つまでのセキュリティグループを許可する）に属することができる。１つの実施形態では、管理ホストは、全てのＧＳインスタンスが両方のセキュリティグループと同調することを確認するための検証プログラムを実行できる。
【００２０】
以上の実施例は一例に過ぎず、任意のマルチエンドポイント設定に適用するために拡張され得る教示および原理を含む。１つの実施形態では、その後、管理ホスト１０２はエンドポイントに設定をプッシュできる（または、管理されるコンピュータシステム１０４がプルできる）。１つの実施形態では、エンドポイント（例えば管理されるコンピュータシステム１０２）での実際の設定は、管理ホスト１０２によって要求され得、かつ／または管理ホスト１０２に送信され得る。さらに、エンドポイントのための多種多様なファイルフォーマットタイプもしくは通信設定が本開示の範囲内で予期される。例えば、エンドポイントは、個々にルートテーブルを有し、管理ホスト１０２上の１つのルートテーブルマネージャによって管理され得る。
【００２１】
図２は、管理ホスト１０２のコンポーネントの例を説明する略ブロック図である。描画された実施形態では、管理ホスト１０２は、ストレージコンポーネント２０２、デコーディング・コンポーネント２０４、ルールマネージャ・コンポーネント２０６、通知コンポーネント２０８、およびプッシュコンポーネント２１０を含む。コンポーネント２０２〜２１０は、説明のためだけに与えられており、全ての実施形態に含まれていなくても良い。実際、いくつかの実施形態は、限定されることなく、コンポーネント２０２〜２１０の１つだけまたは２つ以上の任意の組み合わせを含むことができる。コンポーネント２０２〜２１０のいくつかは、異なるシステムもしくはマシン上の管理ホスト１０２の外部に位置していても良く、あるいは、管理ホスト１０２はコンポーネント２０２〜２１２の１つ以上を含む複数の異なるマシンもしくはシステムを含むことができる。
【００２２】
ストレージコンポーネント２０２は、図１の管理されるコンピュータシステム１０４などの、複数のネットワーク接続されたマシンのための予測された接続のリストを記憶するように設定される。１つの実施形態では予測された接続のリスト中の各接続は、接続のためのスタートポイントおよびエンドポイントを定義する。予測された接続のリストは、ＹＡＭＬファイルまたは他の任意のフォーマットもしくはファイルタイプのファイルの一部として記憶され得る。予測された接続のリストは、例えば、接続が外部もしくは内部のみであるか（管理されないデバイスもしくはシステムにその接続を用いて接続することを許可するか）などの、接続のための動作を定義するキーワードを含んでも良い。１つの実施形態では、予測された接続のリストは、リストのバージョン追跡を提供するソース制御に記憶され得る。
【００２３】
リスト中の個々のエントリは、対応する接続または通信のためのプロトコル、ポート番号、およびポート番号の範囲などの、接続のための複数の追加的な要件を含み得る。１つの実施形態では、予測された接続のリスト中の接続のためのスタートポイントおよび／またはエンドポイントは、セキュリティグループなどのグループを含む。グループの使用は、メンバーを特に識別せずに、そのグループの任意のメンバーが（通信もしくは接続要件に従って）通信に参加することを許可できる。
【００２４】
ストレージコンポーネント２０２は、予測された接続のリストを、管理ホスト１０２のローカルな接続マスターファイル中に記憶でき、あるいは、そのリストをネットワークアクセス可能な記憶場所に記憶できる。
【００２５】
デコーディング・コンポーネント２０４は、管理ホスト１０２によって管理される１つ以上のマシンからのメッセージを受信および／またはデコードするように設定される。例えば、デコーディング・コンポーネント２０４は、ネットワークインタフェースカード（ＮＩＣ）、ルーティングコンポーネント、もしくは管理されるデバイスからのメッセージを受信、デコード、解析、あるいは処理するための他のハードウェアまたはソフトウェアを含むことができる。メッセージは、対応するマシンのための１つ以上の接続を示す情報を含むことができる。例えば、メッセージは、対応するマシンのための１つ以上の現在の接続もしくは設定された接続を含んでも良い。例えば、メッセージは、設定ファイル中の情報を含むことができるか、または、特定の時間に特定のマシンの実際の現在の通信接続を反映する情報を含むことができる。１つの実施形態では、メッセージは、マシンのためのルートテーブル、ファイアウォールのための設定、または特定のマシンもしくはシステムによってどの接続が許可または不許可されるかについての他の情報を含むことができる。
【００２６】
ルールマネージャ・コンポーネント２０６は、コンピュータシステム１０４などのエンドポイントでの接続もしくは設定が予測された接続のリストに従うかを判定するように設定される。１つの実施形態では、ルールマネージャ・コンポーネント２０６は、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの予測されない接続の存在もしくは欠如を識別するために設定される。１つの実施形態では、ルールマネージャ・コンポーネント２０６は、予測された接続のリスト中にマッチするエントリがあるときに、１つ以上の接続のうちの接続に対応するマシンが予測されると判定するように設定される。１つの実施形態では、ルールマネージャ・コンポーネント２０６は、予測された接続のリスト中にマッチするエントリがない接続に基づいて、予測しない接続の存在を識別するように設定される。１つの実施形態では、ルールマネージャ・コンポーネント２０６は、対応するマシンのための１つ以上の接続中にマッチする接続を有さない予測された接続のリスト中のエントリに基づいて、予測しない接続の欠如を識別するように設定される。
【００２７】
１つの実施形態では、ルールマネージャ・コンポーネント２０６は、通信設定の完全性および／または正確さを検証するために設定される。例えば、ルールマネージャ・コンポーネント２０６は、予測された接続のリストと管理されるシステムの実際の設定の間の相違点の数を数えることができる。相違点の数が０ではない場合、これは、予測された接続のリストが正確ではないか、または、エンドポイントが間違って設定されたことのいずれかを意味する可能性がある。１つの実施形態では、管理者は、相違点があれば通知されることができ、管理者は予測されない接続のリストを変更する必要があるかを判定する。ルールマネージャ・コンポーネント２０６によって行われる検証の役割は、設定が予測された設定に一致するかを判定できるようにし、全ての相違点がある場所を管理者が容易に識別できるようにする。例えば、接続マスターファイル中の予測された接続のリストに従って、全てのエンドポイントが設定されたと簡単に判定され得る。
【００２８】
１つの実施形態では、ルールマネージャ・コンポーネント２０６は、予測された接続のリスト中の予測された接続を実行するために設定される。例えば、ルールマネージャ・コンポーネント２０６は、予測された接続のリストに基づいて、各々のエンドポイントに設定をプッシュできる。ルールマネージャ・コンポーネント２０６は、管理されるエンドノードの各々のために、リスト中のエントリを特定のルールに翻訳できる。例えば、ルールマネージャ・コンポーネント２０６は、ＹＡＭＬファイル中のルールを設定ファイルのフォーマットに変換できる。さらに、ＹＡＭＬファイル中のルールは、特定のエンドポイントマシンによる記憶のために、全体の接続ルール（または、通信の両方のエンド）からシングルエンドポイントルールに変換されることができる。これらの設定は、（例えば、プッシュコンポーネント２１０を用いて）エンドポイントにプッシュされるか送信され、エンドポイントでのルールの削除もしくは追加をもたらすことができるか、エンドポイントの全ての接続ルールの交換をもたらすことができる。
【００２９】
１つの実施形態では、ルールマネージャ・コンポーネント２０６は、一般に検証ソフトとして動作し、その後、管理者からの入力に応答して、エンドポイントでの予測された接続を実行する。例えば、ルールマネージャ・コンポーネント２０６は、周期的にもしくはコマンドに応答して、エンドポイントでの設定の検証を行う。相違点がある場合、ルールマネージャ・コンポーネント２０６は、（例えば、通知コンポーネント２０８を用いて）管理者にメッセージが送信されるようにできる。すると、管理者は、予測された接続のリストを変更する必要があるかを判定するために、相違点を見直すことができる。変更する必要が無い場合、管理者は、その後、ルールマネージャ・コンポーネント２０６に予測された接続のリストによって要求された設定とは異なって設定された全てのエンドポイントに対して、変更をプッシュもしくは実行する。変更が必要な場合、管理者は、その後、予測された接続のリストを変更でき、他の検証処理および／または変更されたリストの実施を始めることができる。
【００３０】
通知コンポーネント２０８は、管理者、管理システム、もしくは通知システムに通知を提供するために設定される。１つの実施形態では、通知コンポーネント２０８は、予測されない接続の存在もしくは欠如の表示を含む通知を提供できる。例えば、通知は、特定のシステムの設定から見つからない、予測された接続のリスト中の接続を識別できる。他の実施例として、管理ホストによって記憶された予測された接続のリストにない、特定のシステムの設定中の接続を識別できる。１つの実施形態では、通知は、予測された接続のリストと複数のマシンでの実際の接続もしくは設定の間の相違点の数の指標を含むことができる。
【００３１】
１つの実施形態では、ログファイル、ユーザインタフェースの通知エリア、電子メールアドレス、テキストメッセージの１つ以上、または他のメッセージの一部として、通知が提供されることができる。１つの実施例として、通知コンポーネント２０８は、監視システムに通知を提供することができる。Ｎａｇｉｏｓ（登録商標）は、通知を配信するために使用され得る監視システムの一例である。管理者が相違点を通知され、相違の見直しおよび／または修正をするための対策を講じることができるように、通知は管理者に送信され得る。１つの実施形態では、通知コンポーネント２０８は、予測された接続のリスト中またはエンドポイントの設定ファイル中のエントリに、予測されない接続の存在もしくは欠如を反映するために警告するように設定される。
【００３２】
プッシュコンポーネント２１０は、ストレージコンポーネント２０２によって記憶された予測された接続のリストに基づいて、エンドポイントに接続ルールを提供するように設定される。例えば、管理者は、予測された接続のリストを設定および／または見直すことができ、その後、予測された接続のリストに基づいて、個々のエンドポイントのためのルールが作られるようにすることができる。１つの実施形態では、プッシュコンポーネント２１０は、予測された接続のリストに基づいて、複数のマシン上で接続設定を追加もしくは削除するために設定される。例えば、プッシュコンポーネント２１０は、予測された接続リスト中のエントリに対応するルールが見つからないエンドポイントに、ルールを追加することができる。他の例では、プッシュコンポーネント２１０は、予測された接続リストに基づいて、そこにあるべきではないルールをエンドポイントから削除することができる。
【００３３】
図３は、ネットワーク接続を管理するための方法３００を説明する略信号図である。方法３００は、管理ホスト１０２および１つ以上のコンピュータシステム１０４によって行われ得る。
【００３４】
３０２において、管理ホスト１０２はマスター接続リストをＹＡＭＬファイル中に記憶する。例えば、マスター接続リストは、本明細書で議論するように、予測された接続のリストおよび／またはマスター接続ファイルを含むことができる。管理ホスト１０２は、ファイルへの変更を追跡するバージョン追跡および制御システムにＹＡＭＬファイルを記憶でき、効果的に監視され、追跡される。３０４において、管理ホスト１０２は、管理されるコンピュータシステム１０４に現在の接続の報告を要求する。例えば、管理ホスト１０２は、管理されるエンドポイントがどのように設定されたかを監視するために、周期的に現在の接続の要求を送信しても良い。１つの実施形態では、要求は、接続設定および／または実際の現在のエンドポイントの接続の要求を含むことができる。
【００３５】
３０６において、管理ホスト１０２は、コンピュータシステム１０４での現在の接続を示す１つ以上のメッセージを受信する。例えば、管理されるコンピュータシステム１０４は、現在の接続設定または現在の通信接続を示すメッセージを送信できる。メッセージは、ＩＰテーブル（iptable）フォーマット、ＡＷＳ（登録商標）フォーマットまたは他の任意のフォーマットなどの１つ以上の異なるフォーマットに従って、現在の接続を示すことができる。方法３００では、管理ホスト１０２からの要求に応じて３０６においてメッセージが受信されることを説明するが、コンピュータシステム１０４（もしくは他のエンドポイント）は、自律的にまたは管理ホスト１０２の要求なしに、周期的に現在の接続についての情報を提供できる。
【００３６】
３０６においてメッセージを受信すると、３０８において、管理ホスト１０２はＹＡＭＬファイルとコンピュータシステム１０４の現在の設定もしくは接続の間の相違点を検出する。例えば、管理ホスト１０２は、ＹＡＭＬファイルの個々のエントリが対応するエンドポイントの対応するエントリを有するかをチェックでき、エンドポイントの設定中の個々のエントリがＹＡＭＬファイル中に対応するエントリを有するかをチェックできる。管理ホスト１０２は、検出した相違点の数を数えることおよび／または個々の相違点に警告を出すことができる。３１０において、管理ホスト１０２は相違点（例えば、相違点の数および／またはＹＡＭＬファイルもしくはエンドポイント設定中の警告されたエントリ）を示す通知を送ることができる。３１０において、管理者または自動化サービスが相違点をどのように扱うかを判定することができるインタフェースまたは管理者デバイス３１４に通知が送信され得る。例えば、管理者は個々の相違点を１つずつ見直すことができ、ＹＡＭＬファイルバージョン、エンドポイント設定バージョンを除外するか、かつ／またはＹＡＭＬファイルもしくはエンドポイントのための新たなルールを定義するかを選択することができる。例えば、管理者はエンドポイントが適切に設定されたがＹＡＭＬファイルが見つからないか正しくないと認識することができる。一方、管理者は、ＹＡＭＬファイルが正しく、エンドポイントが誤っているようにもしくは不適切に設定されたことを確認することができる。管理者がどのように相違点を扱うかを決定するとすぐに、管理者は、ＹＡＭＬファイルが最終であること（または、特定の相違点が受け入れられたもしくは拒否されたこと）を示すことができる。３１２において、インタフェースまたは管理者デバイス３１４は、受け入れられたもしくは拒否された相違点を管理ホスト１０２に提供できる。例えば、インタフェースまたは管理者デバイス３１４によって送信された、受け入れられたもしくは拒否された相違点は、どのように相違点を扱うか（例えば、コンピュータシステム１０４からルールを削除する、もしくはＹＡＭＬファイル中のリストにルールを追加する）を示す管理者からの入力を含んでも良い。
【００３７】
３１６において、３１２において受信された受け入れもしくは拒否された相違点に基づいて、必用に応じて、管理ホスト１０２はＹＡＭＬファイル中の接続リストを更新する。管理者から受信された入力に基づくＹＡＭＬファイル中の接続リストの変更は要求されない可能性があることを示すために、接続のリストの更新３１６に対応するボックスが点で書いた境界で示されている。例えば、３１２において受信された受け入れもしくは拒否された相違点が、ＹＡＭＬファイルにルールが追加または削除される必要があることを示す場合、マスター接続リストが更新されるだけである。３１８において、必用に応じて、管理ホスト１０２はマスター構成をエンドポイントにプッシュする。例えば、管理者によって受け入れられたもしくは拒否された変化は、エンドポイント設定への変化を要求しなくても良く、あるいは、１つ以上のエンドポイントの任意の組み合わせに変化を要求し得る。
【００３８】
ところで図４を参照して、通信設定を管理するための方法４００の略フローチャートが説明される。方法４００は、図１、図２もしくは図３の管理ホスト１０２などの管理ホストによって行われ得る。
【００３９】
方法４００が開始し、４０２において、デコーディング・コンポーネント２０４は、複数のネットワーク接続されたマシンから、対応するマシンのための１つ以上の接続を示すメッセージを受信する。４０４において、ルールマネージャ・コンポーネント２０６は、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別する。例えば、予測されない接続ルールがあるか、または現在の設定から見つからないルールがあるかを決定するために、接続マスタリストはエンドポイントの現在の設定と比較され得る。
【００４０】
４０６において、通知コンポーネント２０８は、接続ルールの予測されない存在もしくは欠如の通知または表示を提供する。通知は管理者による見直しのために、マシンもしくはインタフェースに送信され得る。その後、管理者はエンドポイント上、または、接続マスタリストもしくは予測された接続のリスト中の構成のいずれかを修正するための措置をとることができる。
【００４１】
図５は、コンピュータデバイスの例を表わすブロック図である。いくつかの実施形態では、コンピュータデバイス５００は、本明細書で議論した１つ以上のシステムおよびコンポーネントを実装するために使用される。例えば、コンピュータデバイス５００はユーザもしくは管理者が管理ホスト１０２にアクセスできるようにでき、あるいは、管理ホスト１０２、コンピュータシステム１０４および／または外部コンピュータシステム１０６は、コンピュータ読み取り可能なストレージメディア中にコンピュータ読み取り可能なコードとして記憶されたコンポーネントもしくはモジュールを有するコンピュータデバイス５００として実装されることができる。さらに、コンピュータデバイス５００は、本明細書に記載した任意のシステムおよびコンポーネントと相互作用できる。従って、コンピュータデバイス５００は、本明細書で議論したようなものなどの様々な処理やタスクを実行するために使用され得る。コンピュータデバイス５００は、サーバ、クライアント、もしくは任意の他のコンピュータエンティティとして機能できる。コンピュータデバイス５００は、デスクトップコンピュータ、ノート型コンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、タブレットなどの、任意の多種多様のコンピュータデバイスであることができる。
【００４２】
コンピュータデバイス５００は、１つ以上のプロセッサ５０２、１つ以上のメモリデバイス５０４、１つ以上のインタフェース５０６、１つ以上の大容量記憶装置５０８、および１つ以上の入出力（Ｉ／Ｏ）装置５１０を含み、これらの全てがバス５１２に結合される。プロセッサ５０２は、メモリデバイス５０４および／または大容量記憶装置５０８に記憶された指示を実行する１つ以上のプロセッサもしくはコントローラを含む。プロセッサ５０２は、キャッシュメモリなどの様々な種類のコンピュータ読み取り可能なメディアを含むこともできる。
【００４３】
メモリデバイス５０４は、揮発性メモリ（例えば、ランダムアクセスメモリ（ＲＡＭ））および／または不揮発性メモリ（例えば、リードオンリーメモリ（ＲＯＭ））などの様々なコンピュータ読み取り可能なメディアを含む。メモリデバイス５０４は、フラッシュメモリなどの再書き込み可能なＲＯＭも含むことができる。
【００４４】
大容量記憶装置５０８は、磁気テープ、磁気ディスク、光学ディスク、ソリッドステートメモリ（例えばフラッシュメモリ）などを含む様々なコンピュータ読み取り可能なメディアを含む。様々なコンピュータ読み取り可能なメディアの読み取りおよび／または書き込みを可能にするための様々なドライブも、大容量記憶装置５０８に含められることができる。大容量記憶装置５０８は、取り外し可能なメディアおよび／または取り外しできないメディアを含む。
【００４５】
入出力装置５１０は、データおよび／または他の情報をコンピュータデバイス５００に入出力することができるようにするための様々なデバイスを含む。入出力装置５１０の例は、カーソル制御デバイス、キーボード、キーパッド、マイク、モニタもしくは他のディスプレイデバイス、スピーカー、プリンタ、ネットワークインタフェースカード、モデム、レンズ、または画像取得デバイスなどを含む。
【００４６】
インタフェース５０６は、コンピュータデバイス５００が、他のシステム、デバイス、もしくはコンピュータ環境と相互作用することができるようにするために様々なインタフェースを含む。インタフェース５０６の例は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、およびインターネットへのインタフェースなどの、任意の数の異なるネットワークインタフェースを含む。
【００４７】
バス５１２は、バス５１２に結合した他のデバイスもしくはコンポーネントと同様に、プロセッサ５０２、メモリデバイス５０４、インタフェース５０６、大容量記憶装置５０８、および入出力装置５１０が互いに通信できるようにする。バス５１２は、システムバス、ＰＣＩバス、ＩＥＥＥ１３８４バス、ＵＳＢバスなどのいくつかの種類のバス構造の１つ以上を表わす。
【００４８】
説明のために、プログラムや他の実行可能なプログラムコンポーネントは別個のブロックとして本明細書に示されるが、このようなプログラムおよびコンポーネントは任意の時間にコンピュータデバイス５００の異なるストレージコンポーネントに存在することができ、プロセッサ５０２によって実行される。代替的に、本明細書に記載されたシステムおよび処理は、ハードウェアもしくはハードウェアの組み合わせ、ソフトウェアおよび／またはファームウェア中に実装されることができる。例えば、本明細書に記載した1つ以上のシステムおよび処理を実行するために１つ以上の特定用途向け集積回路（ＡＳＩＣ）がプログラムされることができる。本明細書で使用されるように、「モジュール」もしくは「コンポーネント」の語は、本明細書に開示された全てもしくは一部の動作を実行するためのハードウェア、あるいはハードウェア、ソフトウェアおよび／またはファームウェアの組み合わせなどによる処理を遂行するための装置の実装を伝えることを意図している。
【００４９】
＜実施例＞
以下の実施例は、更なる実施形態に関連する。
【００５０】
実施例１は、ストレージコンポーネント、デコーディング・コンポーネント、ルールマネージャ、および通知コンポーネントを含むネットワーク接続管理のためのシステムである。ストレージコンポーネントは、複数のネットワーク接続されたマシンのための予測された接続のリストを記憶するように設定される。ここで、予測された接続のリスト中の各接続は、接続のスタートポイントとエンドポイントを定義する。デコーディング・コンポーネントは、複数のネットワーク接続されたマシンからの、対応するマシンのための1つ以上の接続を示すメッセージをデコードするように設定される。ルールマネージャ・コンポーネントは、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別するように設定される。通知コンポーネントは、予測されない存在もしくは欠如の通知または表示を提供するように設定される。
【００５１】
実施例２では、実施例１での予測された接続のリストは、ＹＡＭＬファイルフォーマットで記憶されたリストを含む。
【００５２】
実施例３では、実施例１〜２のいずれかのストレージコンポーネントは、予測された接続のリストのバージョン追跡および制御を提供するように設定される。
【００５３】
実施例４では、実施例１〜３のいずれかの予測された接続のリスト中の接続は、対応する接続のプロトコル、ポート番号、および、ポート番号の範囲の1つ以上を含む。
【００５４】
実施例５では、実施例１〜４のいずれかの予測された接続のリスト中の接続のためのスタートポイントおよびエンドポイントの１つ以上は、セキュリティグループのようなグループを含む。
【００５５】
実施例６では、実施例１〜５のいずれかのメッセージは、対応するマシンの1つ以上の現在の接続もしくは設定された接続を含む。
【００５６】
実施例７では、実施例１〜６のいずれかのメッセージのうちの少なくとも１つのメッセージは、マシンのためのルートテーブルを含み、ここで、予測された接続のリストはマスタールートテーブルを含む。
【００５７】
実施例８では、実施例１〜７のいずれかのルールマネージャ・コンポーネントは、予測された接続のリスト中にマッチするエントリがある場合、対応するマシンの１つ以上の接続のうちの接続は予測されていると判定するように設定される。
【００５８】
実施例９では、実施例１〜８のいずれかのルールマネージャ・コンポーネントは、予測された接続のリスト中にマッチするエントリがない対応するマシンの１つ以上の接続のうちの接続に基づいて、予測されない接続の存在を識別するように設定される。
【００５９】
実施例１０では、実施例１〜９のいずれかのルールマネージャ・コンポーネントは、対応するマシンの１つ以上の接続のうちのマッチする接続がない予測された接続のリスト中のエントリに基づいて、予測されない接続の欠如を識別するように設定される。
【００６０】
実施例１１では、実施例１〜１０のいずれかの通知コンポーネントは、ログファイルもしくはユーザインタフェースの通知エリアに警告を提供するように設定される。
【００６１】
実施例１２では、実施例１〜１１のいずれかの通知コンポーネントは、管理者へのメッセージ中に通知を提供するように設定される。
【００６２】
実施例１３では、実施例１〜１２のいずれかの通知コンポーネントは、予測しない接続の存在もしくは欠如を反映するために、予測された接続のリスト中のエントリに警告を出すように設定される。
【００６３】
実施例１４では、実施例１〜１３のいずれかの通知コンポーネントは、予測された接続のリストと複数のマシンの実際の接続もしくは設定の間の相違点の数を決定するように設定される。
【００６４】
実施例１５では、実施例１〜１４のいずれかのシステムは、予測された接続のリストに基づいて、複数のマシンの接続設定を追加もしくは削除するように設定されたプッシュコンポーネントをさらに含む。
【００６５】
実施例１６は、ネットワーク接続管理のための方法である。方法は、複数のネットワーク接続されたマシンのための予測された接続のリストを記憶することを含む。ここで、予測された接続のリスト中の各接続は、接続のスタートポイントとエンドポイントを定義する。方法は、複数のネットワーク接続されたマシンからの、個々のマシンのための1つ以上の接続を示す表示を受信することを含む。方法は、予測された接続のリストに基づいて、複数のネットワーク接続されたマシンの少なくとも１つでの接続の予測されない存在もしくは欠如を識別することを含む。方法は、予測されない存在もしくは欠如の通知または表示を提供することをさらに含む。
【００６６】
実施例１７では、実施例１６での予測された接続のリストは、ＹＡＭＬファイルフォーマットで記憶されたリストを含む。
【００６７】
実施例１８では、実施例１６〜１７のいずれかの方法は、予測された接続のリストのバージョン追跡および制御を提供することをさらに含む。
【００６８】
実施例１９では、実施例１６〜１８のいずれかの予測された接続のリスト中の接続は、対応する接続のプロトコル、ポート番号、および、ポート番号の範囲の1つ以上を含む。
【００６９】
実施例２０では、実施例１６〜１９のいずれかの予測された接続のリスト中の接続のためのスタートポイントおよびエンドポイントの１つ以上は、セキュリティグループのようなグループを含む。
【００７０】
実施例２１では、実施例１６〜２０のいずれかのメッセージは、対応するマシンの1つ以上の現在の接続もしくは設定された接続を含む。
【００７１】
実施例２２では、実施例１６〜２１のいずれかのメッセージのうちの少なくとも１つのメッセージは、マシンのためのルートテーブルを含み、ここで、予測された接続のリストはマスタールートテーブルを含む。
【００７２】
実施例２３では、実施例１６〜２２のいずれかにおいて、対応するマシンの１つ以上の接続のうちの接続が予測されていると判定することは、予測された接続のリスト中にマッチするエントリがあると判定することを含む。
【００７３】
実施例２４では、実施例１６〜２３のいずれかにおいて、対応するマシンの１つ以上の接続のうちの接続が予想外に存在すると判定することは、対応するマシンの１つ以上の接続のうちの接続が予測された接続のリスト中にマッチするエントリを含まないと判定することを含む。
【００７４】
実施例２５では、実施例１６〜２４のいずれかにおいて、対応するマシンの１つ以上の接続のうちの接続が予想外に欠如すると判定することは、予測された接続のリスト中のエントリが、対応するマシンの１つ以上の接続のうちのマッチする接続がないと判定することを含む。
【００７５】
実施例２６では、実施例１６〜２５のいずれかにおいて、通知を提供することは、ログファイルもしくはユーザインタフェースの通知エリアに警告を提供することを含む。
【００７６】
実施例２７では、実施例１６〜２６のいずれかにおいて、通知を提供することは、管理者へのメッセージ中に通知を提供することを含む。
【００７７】
実施例２８では、実施例１６〜２７のいずれかにおいて、通知を提供することは、予測しない接続の存在もしくは欠如を反映するために、予測された接続のリスト中のエントリに警告を出すことを含む。
【００７８】
実施例２９では、実施例１６〜２８のいずれかの方法は、予測された接続のリストと複数のマシンの実際の接続もしくは設定の間の相違点の数を決定することをさらに含む。
【００７９】
実施例３０では、実施例１６〜２９のいずれかの方法は、予測された接続のリストに基づいて、複数のマシンの接続設定を追加すること、もしくは削除することをさらに含む。
【００８０】
実施例３１は、実施例１〜３０のいずれかのように、方法を実装するため、あるいは、システムまたは装置を実現するための１つ以上の手段を含むシステムもしくはデバイスである。
【００８１】
以上の開示では、本明細書の一部を構成し、本開示が実行され得る特定の実装の説明を示された添付の図面を参照した。本開示の範囲から逸脱することなく、他の実装も使用され得ること、および構造的な変更が行われうることは理解される。明細書中の「１つの実施形態（one embodiment）」、「１つの実施形態（an embodiment）」、「１つの実施形態の例（an example embodiment）」の参照は、記載された実施形態が特定の特徴、構造もしくは特性を含むことができるが、その特定の特徴、構造もしくは特性を全ての実施形態が含んでいなくても良いことを示す。また、このようなフレーズは同じ実施形態について言及する必要はない。さらに、特定の特徴、構造もしくは特性が１つの実施形態に関連付けて記載されているとき、明記しているか否かに関わらず、このような特定の特徴、構造もしくは特性が他の実施形態に影響することは、当業者の知識の範囲内である。
【００８２】
本明細書に開示したシステム、デバイスおよび方法の実装は、例えば１つ以上のプロセッサおよびシステムメモリなど、本明細書で議論したようなコンピュータハードウェアを含む専用コンピュータまたは汎用コンピュータを含むことができるか、あるいは使用することができる。本開示の範囲内の実装は、コンピュータが実行可能な指示および／またはデータ構造を運ぶもしくは記憶するための物理的メディアおよび他のコンピュータ読み取り可能なメディアも含むことができる。このようなコンピュータ読み取り可能なメディアは、汎用コンピュータシステムまたは専用コンピュータシステムによってアクセスされることができる任意の利用可能なメディアであり得る。コンピュータが実行可能な指示を記憶するコンピュータ読み取り可能なメディアは、コンピュータストレージメディア（デバイス）である。コンピュータが実行可能な指示を運ぶコンピュータ読み取り可能なメディアは、伝送メディアである。従って、限定ではなく一例として、本開示の実装は、少なくとも２つの明らかに異なる種類のコンピュータ読み取り可能なメディア（コンピュータストレージメディア（デバイス）および伝送メディア）を含むことができる。
【００８３】
コンピュータストレージメディア（デバイス）は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、（例えば、ＲＡＭに基づく）ソリッドステートデバイス（ＳＳＤ）、フラッシュメモリ、相変化メモリ（ＰＣＭ）、他の種類のメモリ、他の光学ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、あるいは、望ましいプログラムコード手段をコンピュータが実行可能な指示もしくはデータ構造の形式で記憶するために使用され、汎用コンピュータまたは専用コンピュータによってアクセスされることができる任意の他の媒体を含む。
【００８４】
本明細書に開示したシステム、デバイスおよび方法の実装は、コンピュータネットワークをわたって通信できる。「ネットワーク」は、コンピュータシステムおよび／またはモジュールおよび／または他の電子デバイスの間で電子データを輸送することができる１つ以上のデータリンクと定義される。ネットワーク、あるいは他の通信接続（ハードワイヤード、無線、またはハードワイヤードもしくは無線の組み合わせのいずれか）をわたって情報がコンピュータに転送もしくは提供されるとき、コンピュータは、接続を適切に伝送媒体としてみなす。伝送媒体は、所望のプログラムコード手段をコンピュータが実行可能な指示もしくはデータ構造の形式で運ぶために使用され、汎用コンピュータまたは専用コンピュータによってアクセスされることができるネットワークおよび／またはデータリンクを含むことができる。上記の組み合わせも、コンピュータ読み取り可能なメディアの範囲に含まれるべきである。
【００８５】
コンピュータが実行可能な指示は、例えば、プロセッサで実行されたときに汎用コンピュータ、専用コンピュータ、もしくは専用処理デバイスに特定の機能または機能のグループを実行させる指示およびデータを含む。コンピュータが実行可能な指示は、例えば、二進数、アセンブリ言語などの中間フォーマット指示、もしくは、ソースコードさえも含み得る。構造的特徴および／または方法論的な行為に特異的な言語で主題が記載されていても、添付の請求項で定義された主題は前述の記載された特徴や行為に限定される必要がないことは理解される。むしろ、記載された特徴および行為は、請求項の実装の例の形式として開示される。
【００８６】
パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マルチプロセッサベースのもしくはプログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ、タブレット、ページャ、ルータ、スイッチ、様々なストレージデバイスなどを含む、多くの種類のコンピュータシステム設定を伴うネットワーク接続されたコンピュータ環境で本開示が実行され得ることを、当業者は理解するであろう。本開示は、ネットワークを通して（ハードワイヤード・データリンク、無線データリンク、またはハードワイヤード・データリンクと無線データリンクの組み合わせのいずれかで）リンクされたローカルおよびリモートコンピュータシステムの両方がタスクを行う分散型システム環境でも実行され得る。分散型システム環境では、プログラムモジュールはローカルおよびリモートのメモリストレージデバイスの両方に位置し得る。
【００８７】
さらに、適切な場合には、本明細書に記載した機能は、ハードウェア、ソフトウェア、ファームウェア、デジタルコンポーネント、もしくはアナログコンポーネントの１つ以上で実行されることができる。例えば、１つ以上の特定用途向け集積回路（ＡＳＩＣ）が本明細書に記載された１つ以上のシステムおよび処理を実行するようにプログラムされることができる。特定のシステムコンポーネントに言及するために、特定の文言が説明および請求項を通して使用される。当業者はコンポーネントが異なる名称で呼ばれることもあることを理解するであろう。この文書はコンポーネント同士を機能の違いではなく名称の違いで区別することを意図していない。
【００８８】
以上で議論された実施形態は、それらの機能の少なくとも一部を実行するために、コンピュータハードウェア、ソフトウェア、ファームウェアもしくはそれらの任意の組み合わせを含むことができることに注意すべきである。例えば、モジュールは１つ以上のプロセッサ中で実行されるように設定されたコンピュータコードを含むことができ、コンピュータコードによって制御されるハードウェアロジック／電気回路を含むことができる。これらのデバイスの例は、限定となることを意図されず、説明を目的として本明細書で提供されている。本開示の実施形態は、関連する技術の当業者に知られ得る更なる種類のデバイス中に実装され得る。
【００８９】
本開示の少なくともいくつかの実施形態は、任意のコンピュータ使用可能な媒体に記憶された（例えば、ソフトウェアの形式で）このようなロジックを含むコンピュータプログラム製品を対象とした。このようなソフトウェアは、１つ以上の処理デバイスで実行されると、デバイスを本明細書に記載したように動作させる。
【００９０】
本開示の様々な実施形態が以上のように記載されたが、これらは限定ではなく説明のためにのみ提示されたことが理解されるべきである。本開示の精神と範囲から逸脱することなく、形式上および詳細の様々な変更が行われうることは、関連する技術の当業者には明らかである。従って、本開示の広さおよび範囲は以上に記載したいずれの例示的な実施形態によって限定されるべきではないが、以下の請求項とその均等物に従ってのみ定義されるべきである。前述の詳細な説明は、説明および記述の目的のために提示された。本開示を開示された正確な形式を徹底すること、もしくは開示された正確な形式に限定することは意図されていない。以上の教示に照らして、多くの変更及び変動が可能である。さらに、以上に記載された代替えの実装は、本開示の追加の混成の実装を形成するために所望の任意の組み合わせで使用され得る。
【００９１】
さらに、本開示の特定の実装が記載され、説明されたが、本開示は記載され説明された特定の形式もしくは配置に限定されない。本開示の範囲は、本明細書に添付の請求項、任意の将来的にここに又は異なる出願に提示された請求項ならびにそれらの均等物によって定義される。
【図１】
2019511172.tif 000003
【図２】
2019511172.tif 000004
【図３】
2019511172.tif 000005
【図４】
2019511172.tif 000006
【図５】
2019511172.tif 000007
【国際調査報告】
2019511172.tif 000008