(57)【要約】【課題】仮想／ネットワーク（例えば、クラウド）コンピューティング環境において異なるサイトで最適なステート共有を行うための、リージョンのファイアウォール・クラスタリングのための手法を提供する。【解決手段】標準的な実施形態では、特定のリージョン内の各ファイアウォールは、集中管理サーバへの登録処理を通じてピア・ファイアウォールを通知される。各ファイアウォールは、リージョン内の各ピアへのインターネット・プロトコル（ＩＰ）ベースの通信チャネルを開き、ステート・テーブル情報を共有する。これにより、ネットワークを通る非対称なファイアウォール・フローが可能になり、ファイアウォールの配置を考慮しなくても、特定の送信先への最適な経路をルーティング・プロトコルで特定することが可能になる。【選択図】図６
2016521097.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するための方法であって、
送信元と送信先との間の前記ファイアウォール・クラスタ内の第１のファイアウォールで、未知のセッション・ステートを含むパケットを受信するコンピュータ実装ステップと、
セッション・ステート・テーブルを読み取って、前記送信元および前記送信先に基づいてセッション・ステートの一致を決定するコンピュータ実装ステップと、
セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、前記パケットをバッファリングするコンピュータ実装ステップと、
事前に定義された前記時間間隔が経過する前に前記ファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報が受信された場合に、前記パケットを前記送信先に転送するコンピュータ実装ステップと
を備える方法。
【請求項２】
事前に定義された前記時間間隔が経過する前にステート情報が受信されなかった場合に、前記ファイアウォール・クラスタ内の前記第１のファイアウォールで前記パケットを破棄するコンピュータ実装ステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記ファイアウォール・クラスタ内の各ファイアウォール・ペア間の通信チャネルを開き、前記各通信チャネルを使用して前記ファイアウォール・クラスタ内の前記各ファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値を決定するコンピュータ実装ステップをさらに備える、請求項１または２に記載の方法。
【請求項４】
最も大きい前記ラウンドトリップ・タイム（ＲＴＴ）値に基づいて前記時間間隔を定義するコンピュータ実装ステップをさらに備える、請求項３に記載の方法。
【請求項５】
前記ファイアウォール・クラスタ内のファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値を決定する前記コンピュータ実装ステップが、前記ファイアウォール・ペアの前記第１のファイアウォールから前記ファイアウォール・ペアの前記第２のファイアウォールへｐｉｎｇすることを備える、請求項４に記載の方法。
【請求項６】
前記送信元および前記送信先に関するセッション・ステート情報で前記セッション・ステート・テーブルを更新するコンピュータ実装ステップをさらに備える、請求項１ないし５のいずれかに記載の方法。
【請求項７】
サービス・プロバイダによって前記方法が実行される、請求項１ないし６のいずれかに記載の方法。
【請求項８】
ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するためのシステムであって、
送信元から送信先に向かう、未知のセッション・ステートを含むパケットを受信するように構成された前記ファイアウォール・クラスタ内の第１のファイアウォールと、
セッション・ステート・テーブルを格納するように構成されたクラスタ同期サーバとを備え、
前記第１のファイアウォールが、前記セッション・ステート・テーブルを読み取って、前記送信元および前記送信先に基づいてセッション・ステートの一致を決定するようにさらに構成され、
前記第１のファイアウォールが、セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、前記パケットをバッファリングするようにさらに構成され、
前記第１のファイアウォールが、事前に定義された前記時間間隔が経過する前に前記ファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報が受信された場合に、前記パケットを前記送信先に転送するようさらに構成された、システム。
【請求項９】
事前に定義された前記時間間隔が経過する前にステート情報が受信されなかった場合に前記パケットを破棄するように前記ファイアウォールがさらに構成された、請求項８に記載のシステム。
【請求項１０】
複数の前記ファイアウォールのそれぞれが、その各ピアとの通信チャネルを開き、適切な通信チャネルを使用して前記ファイアウォールと前記各ピアとの間のラウンドトリップ・タイム（ＲＴＴ）値を決定するように構成された、請求項８または９に記載のシステム。
【請求項１１】
前記時間間隔が、最も大きい前記ラウンドトリップ・タイム（ＲＴＴ）値に基づいて定義される、請求項１０に記載のシステム。
【請求項１２】
ファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値が、前記ファイアウォール・ペアの前記第１のファイアウォールから前記ファイアウォール・ペアの第２のファイアウォールへのｐｉｎｇ時間を含む、請求項１１に記載のシステム。
【請求項１３】
前記送信元および前記送信先に関するセッション・ステート情報で前記セッション・ステート・テーブルを更新するように前記ファイアウォールがさらに構成された、請求項８ないし１２のいずれかに記載のシステム。
【請求項１４】
前記ネットワーク・コンピューティング環境がクラウド・コンピューティング環境を備える、請求項８ないし１３のいずれかに記載のシステム。
【請求項１５】
コンピュータ・システムに読み込まれて実行された場合に、請求項１ないし７のいずれかに記載の方法のすべてのステップを前記コンピュータ・システムに実行させる、コンピュータ可読媒体に格納されたコンピュータ・プログラム・コードを備えるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般にコンピュータ・ネットワークに関し、特にネットワーク・コンピューティング環境（例えば、クラウド・コンピューティング環境）におけるファイアウォール間のパケット・フローの管理に関する。
【背景技術】
【０００２】
コンピュータは、主に他のコンピュータ・システムと通信し、コンピュータ・ネットワークを経由して情報を取得する能力のための、有益なツールとなっている。通常、ネットワークは、ワイヤ、光ファイバ、無線などのデータ送信手段で相互接続されたコンピュータ・グループを含んでおり、情報をコンピュータ間で転送する能力をコンピュータに提供する。インターネットは、おそらく最もよく知られたコンピュータ・ネットワークであり、膨大な数の利用者が、Ｗｅｂページの閲覧、電子メールの送信、またはその他のコンピュータ間通信などを行うことによって、他の無数のコンピュータにアクセスすることを可能にする。
【０００３】
しかし、インターネットの規模は極めて大きく、インターネット・ユーザの興味は多様であるため、悪意のあるユーザが他のユーザに危険をもたらす方法で他のユーザのコンピュータと通信しようとすることも珍しくない。そのため、多くの企業、団体、および個人ユーザは、各自のローカル・ネットワークとインターネットとの間で、ネットワーク・ファイアウォールまたは同様のデバイスを使用している。ファイアウォールは、通常はコンピュータ制御されるネットワーク・デバイスであり、通過するネットワーク・トラフィックを検査し、一連のルールに基づいて所望のネットワーク・トラフィックの通過を許可する。ファイアウォールは、ＴＣＰ／ＩＰまたはその他のネットワーク・プロトコルのパケットなどの通信パケットを観察し、送信元や送信先のネットワーク・アドレス、使用されているポート、接続のステートや履歴などの特徴を調べて、フィルタ機能を実行する。また、一部のファイアウォールは、保護されたユーザと外部ネットワーク・コンピュータとの間で、選択されたネットワーク・リクエストを処理および転送することで、特定のアプリケーションとの間で送受信されるパケットを調べたり、プロキシ・デバイスとしての役目を果たしたりする。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そのため、異なるサイトで最適なステート共有を行うための、リージョンのファイアウォール・クラスタリングが望まれる。
【課題を解決するための手段】
【０００５】
本明細書に記載された実施形態は、仮想／ネットワーク（例えば、クラウド）コンピューティング環境において異なるサイトで最適なステート共有を行うための、リージョンのファイアウォール・クラスタリングのための手法を提供する。標準的な実施形態では、特定のリージョン内の各ファイアウォールは、集中管理サーバへの登録処理を通じてピア・ファイアウォールを通知される。各ファイアウォールは、リージョン内の各ピアへのインターネット・プロトコル（ＩＰ）ベースの通信チャネルを開き、ステート・テーブル情報を共有する。これにより、ネットワークを通る非対称なファイアウォール・フローが可能になり、ファイアウォールの配置を考慮しなくても、特定の送信先への最適な経路をルーティング・プロトコルで特定することが可能になる。
【０００６】
第１の態様では、ネットワーク・コンピューティング環境でファイアウォール・クラスタを管理するための方法であって、送信元と送信先との間のファイアウォール・クラスタ内の第１のファイアウォールで、未知のセッション・ステートを含むパケットを受信するコンピュータ実装ステップと、セッション・ステート・テーブルを読み取って、送信元および送信先に基づいてセッション・ステートの一致を決定するコンピュータ実装ステップと、セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、パケットをバッファリングするコンピュータ実装ステップと、事前に定義された時間間隔が経過する前にファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報を受信した場合に、パケットを送信先に転送するコンピュータ実装ステップとを備える方法を提供する。
【０００７】
第２の態様では、ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するためのシステムであって、送信元から送信先に向かう、未知のセッション・ステートを含むパケットを受信するように構成されたファイアウォール・クラスタ内の第１のファイアウォールと、セッション・ステート・テーブルを格納するように構成されたクラスタ同期サーバとを備え、第１のファイアウォールが、セッション・ステート・テーブルを読み取って、送信元と送信先に基づいてセッション・ステートの一致を決定するようにさらに構成され、第１のファイアウォールが、セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、パケットをバッファリングするようにさらに構成され、第１のファイアウォールが、事前に定義された時間間隔が経過する前にファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報を受信された場合に、パケットを送信先に転送するようにさらに構成された、システムを提供する。
【０００８】
第３の態様では、ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するためのコンピュータ・プログラム製品であって、コンピュータ可読ストレージ媒体と、コンピュータ可読ストレージ媒体に格納されたプログラム命令とを備え、送信元と送信先との間のファイアウォールで未知のセッション・ステートを含むパケットを受信すること、セッション・ステート・テーブルを読み取って送信元および送信先に基づいてセッション・ステートの一致を決定すること、セッション・ステートの一致が検出されない場合に事前に定義された時間間隔の間パケットをバッファリングすること、および事前に定義された時間間隔が経過する前にセッション・ステート情報を受信したときに、パケットを送信先に転送することを行うコンピュータ・プログラム製品を提供する。
【０００９】
本発明のこれらおよびその他の特徴は、添付の図面に関連して取り上げた本発明のさまざまな態様の以下の詳細な説明から容易に明らかになる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に記載のクラウド・コンピューティング・ノードの図である。
【図２】本発明の実施形態に記載のクラウド・コンピューティング環境の図である。
【図３】本発明の実施形態に記載の抽象モデル・レイヤの図である。
【図４】ステートレス・ファイアウォール・フィルタ構成における非対象パケット・フローを表すアーキテクチャ図である。
【図５】本発明の実施形態に記載のアーキテクチャ図である。
【図６】本発明の実施形態に記載のクラスタ遅延間隔を決定するための方法のフロー図である。
【図７】本発明の実施形態に記載の多重経路を示すアーキテクチャ図である。
【図８】本発明の実施形態に記載の方法のフロー図である。
【発明を実施するための形態】
【００１１】
図面の縮尺は、必ずしも一定ではない。図面は単なる略図であり、本発明の具体的なパラメータを表すことを意図していない。図面は、本発明の標準的な実施形態のみを示すことを意図しているため、本発明の範囲を限定していると見なしてはならない。図面において、類似した番号は類似した要素を表す。
【００１２】
本明細書では、以下で添付の図面を参照して説明に役立つ実施形態について詳細に説明する。ただし、本開示は、多くのさまざまな形態で具現化することができ、本明細書に記載された実施形態に限定されると解釈してはならない。むしろ、これらの実施形態は、本開示を詳細かつ完全なものにし、本開示の範囲が当業者に完全に伝わるように提供される。説明において、既知の機能および技術の詳細は、提示された実施形態が不必要に分かりにくくなるのを避けるために、省略される場合がある。
【００１３】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本開示を限定することを意図していない。本明細書で使用される単数形「ａ」、「ａｎ」、「ｔｈｅ」は、文脈で特に明示的に示されない限り、複数形も含むことを意図している。さらに、「ａ」、「ａｎ」などの用語の使用は、数量の限定を意味しておらず、むしろ、参照されている項目が少なくとも１つ存在すること意味している。「一連の（ｓｅｔ）」という用語は、少なくとも１つの数量を意味することを意図している。さらに、「備える（ｃｏｍｐｒｉｓｅｓ）」もしくは「備えている（ｃｏｍｐｒｉｓｉｎｇ）」またはその両方、あるいは「含む（ｉｎｃｌｕｄｅｓ）」もしくは「含んでいる（ｉｎｃｌｕｄｉｎｇ）」またはその両方の用語は、本特許明細書で使用される場合、記載された機能、リージョン、整数、ステップ、操作、要素、またはコンポーネント、あるいはそのすべての存在を示すが、１つまたは複数のその他の機能、リージョン、整数、ステップ、操作、要素、コンポーネント、またはこれらのグループ、あるいはそのすべての存在または追加を除外していないと理解される。本明細書で使用される「リージョン」という用語は、定義可能な特徴または固定された境界あるいはその両方を持つネットワーク・コンピューティング環境の任意の領域または区分を指す。
【００１４】
前述したように、仮想／ネットワーク（例えば、クラウド）コンピューティング環境において、ファイアウォール間のパケット・フロー管理のための手法が提供される。標準的な実施形態では、サーバ環境におけるコマンドの使用履歴が解析され、クラウド・リソースに対して実行されているコマンドの特徴が特定され、それらのコマンドを特定のユーザが実行している可能性を信頼性評価によって決定する。このような手法によって、より効率的なユーザＩＤ管理を行い、クラウドのセキュリティとシステム管理とを最適化することができる。
【００１５】
本開示にはクラウド・コンピューティングの詳細な説明が含まれているが、本明細書で示された教示の実装は、クラウド・コンピューティング環境に限定されないと、あらかじめ理解される。むしろ、本発明の実施形態は、既知または今後開発される他のいかなる種類のコンピューティング環境と関連させてでも実装できる。
【００１６】
クラウド・コンピューティングは、構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、サービス）の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、それらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、および少なくとも４つの配置モデルを含むことができる。
【００１７】
特徴は、次のとおりである。
【００１８】
オンデマンドのセルフ・サービス：クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどのコンピューティング能力を一方的に、サービス・プロバイダとの人間の対話を必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【００１９】
幅広いネットワーク・アクセス：能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、PDA）による利用を促進する。
【００２０】
リソース・プール：プロバイダのコンピューティング・リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。この場合、さまざまな物理的リソースおよび仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベル（例えば、国、州、データセンター）では、場所を指定できる場合がある。
【００２１】
迅速な順応性：能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトすることができ、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、無制限のように見え、任意の量をいつでも購入できる。
【００２２】
測定されるサービス：クラウド・システムは、計測機能を活用して、サービスの種類に適したある抽象レベル（例えば、ストレージ、処理、帯域幅、アクティブな利用者のアカウント）で、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、およびレポートすることができ、この場合、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
【００２３】
サービス・モデルは、次のとおりである。
【００２４】
ＳａａＳ（Software as a Service）：利用者に提供される能力は、クラウド・インフラ上で実行されるプロバイダのアプリケーションを利用することである。それらのアプリケーションは、Ｗｅｂブラウザ（例えば、Ｗｅｂベースの電子メール）などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、またはさらに個々のアプリケーション機能を含む、基盤になるクラウド・インフラを、限定的な利用者固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【００２５】
ＰａａＳ（Platform as a Service）：利用者に提供される能力は、プロバイダがサポートするプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラに配置することである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤になるクラウド・インフラを管理することも制御することもないが、配置されたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【００２６】
ＩａａＳ（Infrastructure as a Service）：利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的なコンピューティング・リソースをプロビジョニングすることであり、利用者はオペレーティング・システムやアプリケーションを含むことができる任意のソフトウェアを配置して実行できる。利用者は、基盤になるクラウド・インフラを管理することも制御することもないが、オペレーティング・システム、ストレージ、および配置されたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント（例えば、ホスト・ファイアウォール）を限定的に制御できる。
【００２７】
配置モデルは、次のとおりである。
【００２８】
プライベート・クラウド：このクラウド・インフラは、組織のためにのみ運用される。このクラウド・インフラは、この組織またはサード・パーティが管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【００２９】
コミュニティ・クラウド：このクラウド・インフラは、複数の組織によって共有され、関心事（例えば、任務、セキュリティ要件、ポリシー、コンプライアンスに関する考慮事項）を共有している特定のコミュニティをサポートする。このクラウド・インフラは、これらの組織またはサード・パーティが管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【００３０】
パブリック・クラウド：このクラウド・インフラは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織に所有される。
【００３１】
ハイブリッド・クラウド：このクラウド・インフラは、データとアプリケーションとの移植を可能にする標準化された技術または独自の技術（例えば、クラウド間の負荷バランスを調整するクラウドバースト）によって固有の実体を残したまま互いに結合された２つ以上のクラウド（プライベート、コミュニティ、またはパブリック）の複合である。
【００３２】
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラである。
【００３３】
図１に、クラウド・コンピューティング・ノードの例の概略図を示す。クラウド・コンピューティング・ノード１０は、適切なクラウド・コンピューティング・ノードの一例にすぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限も示唆することを意図していない。いずれにせよ、クラウド・コンピューティング・ノード１０は、前述した任意の機能を実装することまたは実行することあるいはその両方ができる。
【００３４】
クラウド・コンピューティング・ノード１０内には、他の多数の汎用または特殊用途のコンピューティング・システム環境または構成で運用できるコンピュータ・システム／サーバ１２が存在する。コンピュータ・システム／サーバ１２での使用に適している可能性がある既知のコンピューティング・システム、環境、または構成、あるいはそのすべての例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルド・デバイスまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、これらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などが含まれるが、これらに限定されない。
【００３５】
コンピュータ・システム／サーバ１２は、一般に、コンピュータ・システムで実行される、プログラム・モジュールなどのコンピュータ・システムが実行可能な命令の文脈で記述できる。通常、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含むことができる。コンピュータ・システム／サーバ１２は、通信ネットワークを介して接続されたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行できる。分散クラウド・コンピューティング環境において、プログラム・モジュールは、ローカルおよびリモートの両方のコンピュータ・システムの、メモリ・ストレージ・デバイスを含むストレージ媒体に配置できる。
【００３６】
図１では、クラウド・コンピューティング・ノード１０内のコンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム／サーバ１２のコンポーネントは、１つまたは複数のプロセッサまたは処理装置１６、システム・メモリ２８、およびシステム・メモリ２８を含むさまざまなシステム・コンポーネントをプロセッサ１６に結合するバス１８を含むことができるが、これらに限定されない。
【００３７】
バス１８は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、１つまたは複数の任意の種類のバス構造を表す。このようなアーキテクチャの例には、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（MicroChannel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカル・バス、ＰＣＩ（Peripheral Component Interconnects）バスが含まれるが、これらに限定されない。
【００３８】
コンピュータ・システム／サーバ１２は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体として、揮発性および不揮発性の媒体、取り外し可能および取り外し不可の媒体の両方を含む、コンピュータ・システム／サーバ１２がアクセスできる任意の媒体を使用できる。
【００３９】
システム・メモリ２８は、コンピュータ・システム可読媒体を、ランダム・アクセス・メモリ（RAM）３０またはキャッシュ・メモリ３２あるいはその両方などの揮発性メモリの形態で含むことができる。コンピュータ・システム／サーバ１２はさらに、その他の取り外し可能／取り外し不可、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体を含むことができる。一例として、取り外し不可、不揮発性の磁気媒体（図には示されておらず、通常は「ハード・ドライブ」と呼ばれる）に対する読み取りと書き込みとを行うために、ストレージ・システム３４を備えることができる。図には示されていないが、取り外し可能、不揮発性の磁気ディスク（例えば、「フロッピー（Ｒ）・ディスク」）に対する読み取りと書き込みとを行うための磁気ディスク・ドライブ、および取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みとを行うためのＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光媒体などの光ディスク・ドライブを備えることができる。これらの例では、それぞれを、１つまたは複数のデータ媒体インターフェイスでバス１８に接続することができる。さらに以下で図示および説明するように、メモリ２８は、本発明の実施形態の機能を実行するように構成される一連の（例えば、少なくとも１つの）プログラム・モジュールを備える少なくとも１つのプログラム製品を含むことができる。
【００４０】
本発明の実施形態は、コンピュータ可読の信号媒体として実装することができ、この信号媒体は、コンピュータ可読のプログラム・コードが具現化された伝搬データ信号を（例えば、ベースバンドに、または搬送波の一部として）含むことができる。このような伝搬信号は、電磁気、光、またはこれらの任意の適切な組み合わせを含むが、これらに限定されないさまざまな任意の形態を取ることができる。コンピュータ可読の信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令を実行するシステム、機器、またはデバイスによって、またはそれらに関連して使用するためにプログラムを伝達、伝搬、または搬送することができる任意のコンピュータ可読媒体にすることができる。
【００４１】
コンピュータ可読媒体に具現化されたプログラム・コードは、ワイヤレス、有線、光ファイバ・ケーブル、無線周波数（RF）など、またはこれらの任意の適切な組み合わせを含むが、これらに限定されない任意の適切な媒体を使用して送信できる。
【００４２】
一連の（少なくとも１つの）プログラム・モジュール４２を備えるプログラム／ユーティリティ４０は、一例としてメモリ２８に格納することができるが、これに限定されない。メモリ２８には、オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データを格納することもできる。オペレーティング・システム、１つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組み合わせは、それぞれネットワーク環境の実装を含むことができる。プログラム・モジュール４２は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
【００４３】
また、コンピュータ・システム／サーバ１２は、キーボード、ポインティング・デバイス、ディスプレイ２４などの１つまたは複数の外部デバイス１４、利用者がコンピュータ・システム／サーバ１２とやりとりできるようにする１つまたは複数のデバイス、またはコンピュータ・システム／サーバ１２が１つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス（例えば、ネットワーク・カード、モデムなど）、あるいはそのすべてと通信することができる。このような通信は、Ｉ／Ｏインターフェイス２２を介して行うことができる。さらに、コンピュータ・システム／サーバ１２は、ローカル・エリア・ネットワーク（ＬＡＮ：local area network）、一般的な広域ネットワーク（WAN：wide area network）、またはパブリック・ネットワーク（例えば、インターネット）、あるいはそのすべてなどの１つまたは複数のネットワークと、ネットワーク・アダプタ２０を介して通信することができる。図に示すように、ネットワーク・アダプタ２０は、バス１８を介してコンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図に示していないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム／サーバ１２と併用できると理解されるべきである。その例には、マイクロ・コード、デバイス・ドライバ、冗長処理装置、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、データ・アーカイブ・ストレージ・システムなどが含まれるが、これらに限定されない。
【００４４】
図２は、説明に役立つクラウド・コンピューティング環境５０を表している。図に示すように、クラウド・コンピューティング環境５０は、クラウドの利用者が使用するローカル・コンピューティング・デバイス（例えば、ＰＤＡ（personal digital assistant）または携帯電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎ、あるいはそのすべて）が通信できる１つまたは複数のクラウド・コンピューティング・ノード１０を備える。ノード１０は、互いに通信することができる。ノード１０は、前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、ハイブリッド・クラウド、またはそれらの組み合わせなど、１つまたは複数のネットワーク内で物理的または仮想的にグループ化することができる（図には示されていない）。これによって、クラウド・コンピューティング環境５０は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラ、プラットフォーム、またはｓｏｆｔｗａｒｅ  ａｓ  ｓｅｒｖｉｃｅｓ、あるいはそのすべてを提供できる。図２に示すコンピューティング・デバイス５４Ａ〜Ｎの種類は、例示のみを意図しており、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意の種類のネットワークまたはネットワーク・アドレス指定可能な接続（例えば、Ｗｅｂブラウザを使用して）あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信できると理解される。
【００４５】
図３は、クラウド・コンピューティング環境５０（図２）が提供する一連の機能的抽象レイヤを示している。図３に示すコンポーネント、レイヤ、および機能は、例示のみを意図しており、本発明の実施形態がこれらに限定されないとあらかじめ理解されるべきである。図に示すように、次のレイヤおよび対応する機能が提供される。
【００４６】
ハードウェアおよびソフトウェア・レイヤ６０は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例には、メインフレームが含まれる。一例として、ＩＢＭ（Ｒ）ｚＳｅｒｉｅｓ（Ｒ）システムおよびＲＩＳＣ（Reduced Instruction Set Computer）アーキテクチャ・ベース・サーバが挙げられる。一例として、ＩＢＭｐＳｅｒｉｅｓ（Ｒ）システム、ＩＢＭ Ｓｙｓｔｅｍ ｘ（Ｒ）サーバ、ＩＢＭ ＢｌａｄｅＣｅｎｔｅｒ（Ｒ）システム、ストレージ・デバイス、ネットワーク、およびネットワーク・コンポーネントが挙げられる。ソフトウェア・コンポーネントの例には、ネットワーク・アプリケーション・サーバ・ソフトウェアが含まれる。一例として、ＩＢＭＷｅｂＳｐｈｅｒｅ（Ｒ）アプリケーション・サーバ・ソフトウェアおよびデータベース・ソフトウェアが挙げられる。一例として、ＩＢＭ ＤＢ２（Ｒ）データベース・ソフトウェアが挙げられる。（ＩＢＭ、ｚＳｅｒｉｅｓ、ｐＳｅｒｉｅｓ、Ｓｙｓｔｅｍ ｘ、ＢｌａｄｅＣｅｎｔｅｒ、ＷｅｂＳｐｈｅｒｅ、およびＤＢ２は、世界中の多くの管轄区域で登録されているＩＢＭ社の商標である。）
【００４７】
仮想化レイヤ６２は、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、仮想クライアントなどの仮想的実体の次の例を提供できる抽象レイヤを提供する。
【００４８】
一例として、管理レイヤ６４は、以下で説明する機能を提供できる。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソースおよびその他のリソースの動的調達を行う。計測および価格設定は、クラウド・コンピューティング環境内でリソースが利用された際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成または送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウドの利用者およびタスクのＩＤ検証を行うとともに、データおよびその他のリソースの保護を行う。利用者ポータルは、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理は、必要なサービス・レベルを満たすように、クラウド・コンピューティング・リソースの割り当てと管理とを行う。ＳＬＡ（Service Level Agreement）計画および実行は、今後の要求が予想されるクラウド・コンピューティング・リソースの事前準備および調達を、ＳＬＡに従って行う。さらに、管理レイヤには、本発明の実施形態で提供される機能を表すファイアウォール・クラスタ管理が示されている。
【００４９】
ワークロード・レイヤ６６には、クラウド・コンピューティング環境を利用できる機能の例を示す。このレイヤから提供できるワークロードおよび機能の例には、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想クラスルーム教育の配信、データ解析処理、トランザクション処理、利用者データの保管およびバックアップが含まれる。前述したように、図３に関して示した前記の例は、すべて例示にすぎず、本発明はこれらの例に限定されない。
【００５０】
本明細書で説明される本発明のすべての機能は、通常、（プログラム／ユーティリティ４０（図１）のプログラム・コードのモジュール４２として明白に具現化できる管理レイヤ６４の）ファイアウォール・クラスタ管理機能で実行できると理解される。ただし、そのように実行する必要はない。図３に示すレイヤ６０〜６６のいずれかで、本明細書で示される機能の実行／実装または有効化、あるいはそのすべてを行うことができる。
【００５１】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書で示された教示の実装は、クラウド・コンピューティング環境に限定されないと、繰り返し述べる。むしろ、本発明の実施形態は、既知または今後開発される任意の種類のネットワーク・コンピューティング環境に実装されることを意図している。
【００５２】
ファイアウォールは、ソフトウェアベースまたはハードウェアベースにすることができ、ネットワークのセキュリティの維持を補助するために使用される。ネットワーク・コンピューティング環境におけるファイアウォールは、一連のファイアウォール・フィルタリング・ルールに基づくネットワーク・パケットの調査、削除、拒否など、さまざまなネットワーク・フロー制御機能を提供する。通常、ファイアウォールは、ＴＣＰ／ＩＰまたはその他のネットワーク・プロトコルのパケットなどの通信パケットを観察し、接続のステートなどの特徴を調べることによってフィルタリング機能を実行する。コンピューティングにおいて、ステートフル・ファイアウォール（ステートフル・パケット・インスペクション（SPI）またはステートフル・インスペクションを実行する任意のファイアウォール）は、ネットワーク全体を伝搬するネットワーク接続のステートの追跡を維持するファイアウォールである。ステートフル・ファイアウォールは、接続を適切に観察およびフィルタリングするために、ネットワークでの会話の両側を確認できる必要がある。ファイアウォールは、さまざまな種類の接続に対して正当なパケットを識別するようにプログラムされる。既知のアクティブな接続に一致するパケットのみがファイアウォールによって許可され、それ以外のパケットは拒否（または削除）される。
【００５３】
ファイアウォールのクラスタリングは、通常、イーサネット（Ｒ）・ケーブルの範囲内のファイアウォールでローカルに実行され、冗長ペアの形態で実装される。このペアは、現在のネットワークで使用できる多重経路を制限し、インターネット・プロトコル（ＩＰ）通信に対して対称性を強制するが、ネットワーク上での実装が常に容易または効率的とは限らない。ネットワークが拡大してより複雑になると、代替経路が実現可能になり、ファイアウォールを破る非対称フローのリスクが高まる。現在のファイアウォール技術では、フローが非対称になると、フローはあるファイアウォール・ペアに入って別のファイアウォール・ペアから出る。ファイアウォールがステートを共有できないことは、未知のセッションの予期しないパケットを受信することにつながる。この状態での標準的なファイアウォールの動作は、パケットを削除することである。
【００５４】
図４は、ステートレス・ファイアウォール・フィルタ構成における非対称パケット・フローを表すアーキテクチャ図を示す。この図には、ファイアウォール・ペア４０２、ルータ４０４Ａ〜F、サーバ４０６、およびファイアウォール・ペア４０８が含まれている。図に示すように、ネットワーク経路４２０を経由して、クライアント（図に示されていない）からセッション開始パケットがファイアウォール・ペア４０２を介して入来する。サーバ４０６がこのパケットを受信し、応答を転送する。ルータ４０４Ｂは、ネットワーク経路４２２を経由してクライアントに戻る、より適切な経路を決定する。ファイアウォール・ペア４０８は、セッションを認識していないため、４１０でこのパケットを削除する。
【００５５】
パケットが削除されるこの問題に対処するために、各ファイアウォールは、ローカルなペアリングが切り離され、より長い距離にわたって独立して動作することができる。ステート・テーブルの共有は、デバイス上のメモリ・リソースおよびCPU（central processing unit）リソースの効率を最大化する方法で行われる。ファイアウォールは、未知のパケットが到着したときに、それを削除するのではなく、事前に定義された期間保持し、クラスタ内の別のファイアウォールから同期されたステート情報が入来するかどうかを確認する。同期されたステート情報が入来しない場合、このパケットは削除され、メモリ空間がクリアされる。
【００５６】
この構成では、セキュリティで保護されたアクティブな経路がネットワーク内に複数存在する場合があり、この場合、ファイアウォールは複数のペアまたは単一のファイアウォールとステート情報を交換できる。これによって、通常はファイアウォールによって保護されているインターネットまたはエクストラネットのリソースを、ネットワークの負荷バランス調整と動的フェイルオーバーとをより適切にサポートする方法で各サイトが共有できるため、ネットワーク内で最大限の柔軟性を実現できる。
【００５７】
ファイアウォールは、事前に定義されたリージョン内のすべてのファイアウォールに各自のピアを通知する集中管理クラスタ同期サーバに登録される。一例として、ＷＡＮの帯域幅は、最適なファイアウォール登録経路の決定に使用される。各ファイアウォールは、ステート・テーブル情報を共有するために、リージョン内の各ピアへの通信チャネル（ＩＰベース）を開く。これにより、ネットワークを通る非対称なファイアウォール・フローが可能になり、ファイアウォールの配置を考慮しなくても、特定の送信先への最適な経路をルーティング・プロトコルで特定することが可能になる。クラスタ内のファイアウォールは、ラウンドトリップ・タイム（ＲＴＴ：round-trip time）を測定することによって、通信チャネルのクラスタ遅延間隔を導く。クラスタ遅延間隔を決定する処理については、下で図６を参照してより詳細に説明する。リージョンのポリシー（特定のリージョン内のすべてのファイアウォールは、同じセキュリティ・ポリシーを持つ必要がある）によって許可されたが、未知または不正なステートを含む受信パケットは、クラスタ遅延間隔が経過するまでファイアウォールのメモリに保持される。パケットの最新のセッション・ステート情報がクラスタ内の別のファイアウォールから到着した場合、そのパケットは許可される。到着しない場合、クラスタ遅延間隔が経過すると、そのパケットは削除される。
【００５８】
図５は、本発明の実施形態に記載のアーキテクチャ図を示す。この図には、ファイアウォール・ペア４０２、ルータ４０４Ａ〜F、サーバ４０６、ファイアウォール・ペア４０８、およびクラスタ同期サーバ４１２が含まれている。図に示すように、ネットワーク経路４２０を経由して、クライアント（図に示されていない）からセッション開始パケットがファイアウォール・ペア４０２を介して入来する。ファイアウォール・ペア４０２は、このパケットをファイアウォール・クラスタ同期サーバ４１２に転送する。ファイアウォール・クラスタ同期サーバ４１２は、ファイアウォール・ペア４０２からのステート情報を、そのリージョン内で構成されているすべてのファイアウォール（例えば、ファイアウォール・ペア４０８）に転送する。同じリージョン内の各ファイアウォールには、ファイアウォール間のレイテンシを測定するためにインターネット・プロトコル（ＩＰ：Internet protocol）制御チャネルが設定されている。ファイアウォール・ペア４０８は、未知のセッション・ステートを含むパケットを受信した場合、クラスタ遅延間隔の間、そのパケットを保持する。クラスタ遅延間隔を決定する処理については、下で図６を参照してより詳細に説明する。クラスタ同期サーバ４１２は、パケットを受信し、応答を転送する。ルータ４０４Ｂは、ネットワーク経路４２２を経由してクライアントに戻る、より適切な経路を決定する。リージョン全体でのステートの同期により、セッションは現在ファイアウォール・ペア４０８に知られており、ファイアウォール・ペア４０８はパケットを転送する。シーケンス番号およびステート情報が、クラスタ同期サーバ４１２に返送される。クラスタ同期サーバ４１２は、セッションの存続期間の間、セッション・ステート情報を、ファイアウォール・ペア４０２とファイアウォール・ペア４０８との間で渡す。
【００５９】
図６は、本発明の実施形態に記載のクラスタ遅延間隔を決定するための方法のフロー図を示す。６０２では、ファイアウォール・ペアは、クラスタ同期サーバからリージョンのピア情報を受信する。６０４では、ファイアウォール・ペアは、受信したリージョンのピア情報に基づいて、リージョン内のピアへの制御チャネルの作成を試みる。ファイアウォール・ペアは、制御チャネルを作成できなかった場合、６０６でクラスタ・サーバにピアリングの問題を通知する。一例として、ファイアウォール・ペアは、クラスタ・サーバにピアリングの問題をログに記録するよう通知する。制御チャネルが作成された場合、ファイアウォール・ペアはｐｉｎｇを制御チャネルに送信し、６０８でｐｉｎｇのラウンドトリップ・タイム（ＲＴＴ）を測定する。ステップ６０４〜６０８は、リージョン内のピアごとに実行される。６１０で、ピア間で検出された最長のＲＴＴを使用してクラスタ遅延間隔が作成される。本明細書で示されている図６の処理フローチャートでは、何らかのステップの追加、一部のステップの省略、ステップの順序の変更、または一部のステップの同時実行、あるいはそのすべてができることに注意すべきである。
【００６０】
図７は、本発明の実施形態に記載の多重経路の例を示すアーキテクチャ図である。この図には、組織Ａ７０２および組織Ｂ７０４が含まれている。組織Ａ７０２には、組織Aの広域ネットワーク（ＷＡＮ）７１０、組織Ａのユーザ７４０、冗長ファイアウォール・ペア７４０Ａ〜Ｂ、ルータ７５０Ａ〜Ｃ、および組織Ａのクラスタ同期サーバ７６０が含まれている。組織Ｂ７０４には、組織ＢのＷＡＮ７１２、冗長ファイアウォール・ペア７７０Ａ〜Ｂ、ルータ７８０Ａ〜Ｃ、組織Ｂのクラスタ同期サーバ７９０、および組織Ｂのパートナーのサービス・サーバ７９２が含まれている。
【００６１】
各組織には独自のファイアウォール・クラスタおよびリージョンが存在しており、ファイアウォール・フローは、組織Ａ７０２と組織Ｂ７０４との間で非対称である可能性がある。提案する方式では、サイト間の動的フェイルオーバー、またはさらに２つの場所（例えば、場所Ａ７２０および場所Ｂ７２２）間でのアクティブ／アクティブ構成も可能である。ここで、ルーティングでは、サイト間の最適な経路を自由に選択できる。例えば、組織Ａのユーザ７４０からのパケットには、組織Ｂのパートナーのサービス・サーバ７９２への最短ネットワーク経路（すなわち、ネットワーク経路７０６）が選択される。組織Ｂのパートナーのサービス・サーバ７９２は、組織Ａ７０２に戻る最短経路（すなわち、ネットワーク経路７０８）を選択する。
【００６２】
この解決策は、広域ネットワーク（ＷＡＮ）の帯域幅に依存する。ルーティングは、ルーティング・メトリック（例えば、複数のシリアル・デジタル信号３（ＤＳ３）は、Ｔ１よりも優れている）によって決まる。基礎になる帯域幅との相関関係が存在している。バックアップ／代替経路は、帯域幅の制約によって実現できない場合、使用できない。ただし、その場合は、バックアップ／代替経路を、ネットワーク経路を決定し、対称性を強制するネットワーク内のルーティング・プロトコルにすることができる。多重経路は、それらがトラフィックを通すことができる場合にのみ使用すべきである。
【００６３】
図８は、本発明の実施形態に記載の方法のフロー図を示す。８０２では、ファイアウォールは、同期肯定応答（ＳＹＮ−ＡＣＫ）または肯定応答（ＡＣＫ）のフラグが設定された送信元と送信先との間のパケットを受信する。８０４では、ファイアウォールは、１つまたは複数のセッション・ステート・テーブルをチェックし、セッション・ステートの一致を調べる。セッション・ステート・テーブルは、クラスタ同期サーバ、および一部の例ではローカルに存在することができる。８０６では、送信元と送信先との間の既知のアクティブな接続の一致が検出されたかどうかが決定される。一致が検出された場合、８０８でパケットが送信先に転送され、最新のセッション・ステートがクラスタ同期サーバに送信される。既知のアクティブな接続の一致が検出されない場合、８１０で、受信されたパケットがリージョンのポリシーによって許可されるかどうかが決定される。許可されない場合、パケットは８１２で廃棄される。パケットが許可された場合、ファイアウォールは、８１４で、クラスタ遅延間隔の間そのパケットをバッファに保持し、セッション・ステート情報が到着するのを待機する。８１６で、クラスタ遅延間隔が経過する前にセッション・ステート情報が到着するかどうかが判定される。クラスタ遅延間隔が経過する前にセッション・ステート情報がクラスタ内の別のファイアウォールから到着しない場合、８１８でパケットは破棄される。クラスタ遅延間隔が経過する前にセッション・ステート情報がクラスタ内の別のファイアウォールから到着した場合、８２０でパケットは送信先に転送され、最新のセッション・ステートがクラスタ同期サーバに送信される。本明細書で示されている図8の処理フローチャートでは、何らかのステップの追加、一部のステップの省略、ステップの順序の変更、または一部のステップの同時実行、あるいはそのすべてができることに注意すべきである。
【００６４】
本明細書では、ファイアウォール・クラスタ管理の解決策として図示および説明されているが、本発明はさらにさまざまな代替実施形態を提供すると理解される。例えば、一実施形態では、本発明はコンピュータ可読／利用可能の媒体を提供し、その媒体には、コンピュータ・インフラが本明細書で説明したようにＩＤ管理機能を提供することを可能にするコンピュータ・プログラム・コードが含まれる。この範囲において、コンピュータ可読／利用可能の媒体には、本発明の各種の処理を実装するプログラム・コードが含まれる。コンピュータ可読媒体またはコンピュータ利用可能媒体という用語には、１つまたは複数の任意の種類のプログラム・コードの物理的実施形態が含まれると理解される。特に、コンピュータ可読／利用可能の媒体は、製造業者の１つまたは複数のポータブル・ストレージ機器（例えば、コンパクト・ディスク、磁気ディスク、テープなど）、コンピューティング・デバイスのメモリ２８（図１）などの１つまたは複数のデータ・ストレージ部、またはストレージ・システム３４（図１）（例えば、固定ディスク、読み取り専用メモリ、ランダム・アクセス・メモリ、キャッシュ・メモリなど）、あるいはそのすべてに具現化されたプログラム・コードを含むことができる。
【００６５】
別の実施形態では、本発明は、加入、宣伝、または有料、あるいはそのすべての形態で、本発明の処理を実行する方法を提供する。すなわち、ソリューション・インテグレータなどのサービス・プロバイダは、ファイアウォール・クラスタ管理機能の提供を提案できる。その場合、サービス・プロバイダは、１人または複数の利用者のために、本発明の処理を実行するコンピュータ・システム１２（図１）などのコンピュータ・インフラの作成、保守、サポートなどを行うことができる。その見返りとして、サービス・プロバイダは、加入または有料契約あるいはその両方に基づいて利用者から支払いを受け取ること、または１つまたは複数のサード・パーティへの宣伝コンテンツの販売から支払いを受け取ること、あるいはその両方が可能である。
【００６６】
さらに別に実施形態では、本発明は、コンピュータに実装されるファイアウォール・クラスタ管理方法を提供する。その場合、コンピュータ・システム１２（図１）などのコンピュータ・インフラを提供し、本発明の処理を実行するための１つまたは複数のシステムを（作成、購入、使用、修正するなどして）取得し、そのコンピュータ・インフラに配置できる。この範囲において、システムの配置には、（１）プログラム・コードの、コンピュータ可読媒体からコンピュータ・システム１２（図１）などのコンピューティング・デバイスへのインストール、（２）１つまたは複数のコンピューティング・デバイスの、コンピュータ・インフラへの追加、（３）コンピュータ・インフラが本発明の処理を実行できるようにするための、コンピュータ・インフラの１つまたは複数の既存のシステムの組み込みまたは変更あるいはその両方の、１つまたは複数が含まれる場合がある。
【００６７】
本明細書で使用されている「プログラム・コード」および「コンピュータ・プログラム・コード」という用語は同意語であり、任意の言語、コード、または表記において、情報処理能力を備えるコンピューティング・デバイスに、直接的に、あるいは次のいずれかまたは両方を行った後に、特定の機能を実行させることを意図する一連の命令の任意の表現を意味していると理解される。（ａ）別の言語、コード、または表記への変換、または（ｂ）別の材料形態での複製、あるいはその両方この範囲において、プログラム・コードは、アプリケーション／ソフトウェア・プログラム、コンポーネント・ソフトウェア／関数のライブラリ、オペレーティング・システム、特定のコンピューティング・デバイス用の基本デバイス・システム／ドライバなどのうちの１つまたは複数として具現化できる。
【００６８】
プログラム・コードの格納または実行あるいはその両方を行うのに適したデータ処理システムは、本明細書の記載に従って提供することができ、システム・バスを介して通信可能に直接的または間接的にメモリ素子に結合された少なくとも１つのプロセッサを含むことができる。メモリ素子は、プログラム・コードの実際の実行時に使用されるローカル・メモリ、バルク・ストレージ、および、実行時にバルク・ストレージからコードを取得しなければならない回数を減らすために少なくとも一部のプログラム・コードを一時的に格納するキャッシュ・メモリを含むことができるが、これらに限定されない。入力／出力またはその他の外部デバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、これらに限定されない）あるいはその両方は、直接的に、または介在するデバイス・コントローラを通じて、システムに結合することができる。
【００６９】
ネットワーク・アダプタもシステムに結合され、介在するプライベート・ネットワークまたはパブリック・ネットワークの任意の組み合わせを通じて、データ処理システムを、他のデータ処理システム、リモート・プリンタ、ストレージ・デバイス、または同様のデバイスあるいはそのすべてに結合できるようにする。ネットワーク・アダプタの例には、モデム、ケーブル・モデム、およびイーサネット（Ｒ）・カードが含まれるが、これらに限定されない。
【００７０】
本発明のさまざまな態様に関する前述の説明は、例示および説明の目的で提供されている。これらの説明が網羅的であること、または開示された厳密な形態に本発明を限定することは意図されておらず、明らかに、多くの変更および変形が可能である。添付された特許請求の範囲で定められているように、当業者には明らかである可能性のあるそれらの変更および変形は、本発明の範囲に含まれることが意図されている。
【図１】
2016521097.tif 000003
【図２】
2016521097.tif 000004
【図３】
2016521097.tif 000005
【図４】
2016521097.tif 000006
【図５】
2016521097.tif 000007
【図６】
2016521097.tif 000008
【図７】
2016521097.tif 000009
【図８】
2016521097.tif 000010
【手続補正書】
【提出日】平成28年1月22日(2016.1.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するための方法であって、
送信元と送信先との間の前記ファイアウォール・クラスタ内の第１のファイアウォールで、未知のセッション・ステートを含むパケットを受信するコンピュータ実装ステップと、
セッション・ステート・テーブルを読み取って、前記送信元および前記送信先に基づいてセッション・ステートの一致を決定するコンピュータ実装ステップと、
セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、前記パケットをバッファリングするコンピュータ実装ステップと、
事前に定義された前記時間間隔が経過する前に前記ファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報が受信された場合に、前記パケットを前記送信先に転送するコンピュータ実装ステップと
を備える方法。
【請求項２】
事前に定義された前記時間間隔が経過する前にステート情報が受信されなかった場合に、前記ファイアウォール・クラスタ内の前記第１のファイアウォールで前記パケットを破棄するコンピュータ実装ステップをさらに備える、請求項１に記載の方法。
【請求項３】
前記ファイアウォール・クラスタ内の各ファイアウォール・ペア間の通信チャネルを開き、前記各通信チャネルを使用して前記ファイアウォール・クラスタ内の前記各ファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値を決定するコンピュータ実装ステップをさらに備える、請求項１または２に記載の方法。
【請求項４】
最も大きい前記ラウンドトリップ・タイム（ＲＴＴ）値に基づいて前記時間間隔を定義するコンピュータ実装ステップをさらに備える、請求項３に記載の方法。
【請求項５】
前記ファイアウォール・クラスタ内のファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値を決定する前記コンピュータ実装ステップが、前記ファイアウォール・ペアの前記第１のファイアウォールから前記ファイアウォール・ペアの前記第２のファイアウォールへｐｉｎｇすることを備える、請求項４に記載の方法。
【請求項６】
前記送信元および前記送信先に関するセッション・ステート情報で前記セッション・ステート・テーブルを更新するコンピュータ実装ステップをさらに備える、請求項１ないし５のいずれかに記載の方法。
【請求項７】
サービス・プロバイダによって前記方法が実行される、請求項１ないし６のいずれかに記載の方法。
【請求項８】
ネットワーク・コンピューティング環境においてファイアウォール・クラスタを管理するためのシステムであって、
送信元から送信先に向かう、未知のセッション・ステートを含むパケットを受信するように構成された前記ファイアウォール・クラスタ内の第１のファイアウォールと、
セッション・ステート・テーブルを格納するように構成されたクラスタ同期サーバとを備え、
前記第１のファイアウォールが、前記セッション・ステート・テーブルを読み取って、前記送信元および前記送信先に基づいてセッション・ステートの一致を決定するようにさらに構成され、
前記第１のファイアウォールが、セッション・ステートの一致が検出されない場合に、事前に定義された時間間隔の間、前記パケットをバッファリングするようにさらに構成され、
前記第１のファイアウォールが、事前に定義された前記時間間隔が経過する前に前記ファイアウォール・クラスタ内の第２のファイアウォールからセッション・ステート情報が受信された場合に、前記パケットを前記送信先に転送するようさらに構成された、システム。
【請求項９】
事前に定義された前記時間間隔が経過する前にステート情報が受信されなかった場合に前記パケットを破棄するように前記ファイアウォールがさらに構成された、請求項８に記載のシステム。
【請求項１０】
複数の前記ファイアウォールのそれぞれが、その各ピアとの通信チャネルを開き、適切な通信チャネルを使用して前記ファイアウォールと前記各ピアとの間のラウンドトリップ・タイム（ＲＴＴ）値を決定するように構成された、請求項８または９に記載のシステム。
【請求項１１】
前記時間間隔が、最も大きい前記ラウンドトリップ・タイム（ＲＴＴ）値に基づいて定義される、請求項１０に記載のシステム。
【請求項１２】
ファイアウォール・ペア間のラウンドトリップ・タイム（ＲＴＴ）値が、前記ファイアウォール・ペアの前記第１のファイアウォールから前記ファイアウォール・ペアの第２のファイアウォールへのｐｉｎｇ時間を含む、請求項１１に記載のシステム。
【請求項１３】
前記送信元および前記送信先に関するセッション・ステート情報で前記セッション・ステート・テーブルを更新するように前記ファイアウォールがさらに構成された、請求項８ないし１２のいずれかに記載のシステム。
【請求項１４】
前記ネットワーク・コンピューティング環境がクラウド・コンピューティング環境を備える、請求項８ないし１３のいずれかに記載のシステム。
【請求項１５】
コンピュータプログラムであって、請求項１ないし７のいずれか１項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
【国際調査報告】
2016521097.tif 000011
2016521097.tif 000012