(57)【特許請求の範囲】
【請求項１】
コンピュータネットワークインフラストラクチャにおいてセキュアなコンピュータシステム間でデータを転送する方法であって、データパケットが、所定の通信経路構造に沿って、ソースコンピュータシステムから少なくとも１つのターゲットコンピュータシステムに、ブローカコンピュータシステムのグループを用いて送信され、
前記通信経路構造は、複数の並列なサブ経路を含み、データパケットが、前記ソースコンピュータシステムから前記複数の並列なサブ経路の各々に沿って並列に前記少なくとも１つのターゲットコンピュータシステムに複数回送信され、
前記ソースコンピュータシステム及び前記ターゲットコンピュータシステムの双方が、前記ソースコンピュータシステムに又は前記ターゲットコンピュータシステムに対する外部からの接続確立が許可されないように、当該方法に使用される所定のネットワークポートを閉じられたまま保持し、ゆえに、前記ネットワークポートを用いたネットワークを介したアクセスが防止され、
しかしながら、前記ソースコンピュータシステム又は前記ターゲットコンピュータシステムは、それぞれのブローカコンピュータシステムに対する接続を確立して、データパケットを前記ブローカコンピュータシステムに記憶し、又はそこからデータパケットを取り出すことができる、
方法。
【請求項２】
データパケットが、前記ソースコンピュータシステムから少なくとも２つの異なるブローカコンピュータシステムに直接送信される、請求項１に記載の方法。
【請求項３】
データパケットが、ブローカコンピュータシステムによる受信の後、前記通信経路構造において下流へ複数のコンピュータシステムに送信される、請求項１又は２に記載の方法。
【請求項４】
データパケットが非同期的な仕方で送信され、それにより、前記通信経路構造において下流の一コンピュータシステムが到達されることができない場合、それにもかかわらず、前記データパケットは前記通信経路構造において下流の他のコンピュータシステムに送信される、請求項１乃至３のうちいずれか１項に記載の方法。
【請求項５】
‐  所定のデータパケットがブローカコンピュータシステムに又は前記ターゲットコンピュータシステムにすでに送信されたか、又はそこに送信されているかを検証するステップ、
‐  前記検証ステップが、前記データパケットがそれぞれのコンピュータシステムにまだ送信されていなかったか、又はまだ送信されていないと示した場合、前記データパケットの、対応コンピュータシステムに対する送信を開始するステップ、
が実行される、請求項１乃至４のうちいずれか１項に記載の方法。
【請求項６】
所定のデータパケットが前記対応コンピュータシステムにすでに送信されたか、又はそこに送信されているかを検証するために、所定又はランダムの時間期間が待たれる、請求項５に記載の方法。
【請求項７】
所定のデータパケットがブローカコンピュータシステムに又は前記ターゲットコンピュータシステムに既に送信されたか、あるいはそこに送信されているかを検証するために、前記所定のデータパケットを送信する意図があるブローカコンピュータシステムが、前記所定のデータパケットが受信コンピュータシステムに存在するか否かのフィードバックを要求ブローカコンピュータシステムに提供する前記受信コンピュータシステムにおける処理を開始する、請求項５又は６に記載の方法。
【請求項８】
前記通信経路構造内における前記データパケットの送信は、異なる、論理的に区分されたネットワーク経路に沿ってもたらされる、請求項１乃至７のうちいずれか１項に記載の方法。
【請求項９】
前記通信経路構造内における前記データパケットの送信は、関与するコンピュータシステムの論理的及び／又は物理的に区分された場所間でもたらされる、請求項８に記載の方法。
【請求項１０】
前記データパケットの、少なくとも２つのターゲットコンピュータシステムに対する送信は、異なる場所でもたらされ、第１の場所における前記ターゲットコンピュータシステム内の所定の条件が満たされるとき、第２の場所における前記ターゲットコンピュータシステム内で前記データパケットのさらなる処理がもたらされる、請求項９に記載の方法。
【請求項１１】
前記ソースコンピュータシステムにおいて及び／又はブローカコンピュータシステムの前記グループにおいて、
‐  データパケットに記憶されたルーティング情報を取得するステップであって、前記ルーティング情報は、前記コンピュータネットワークインフラストラクチャ内における前記ソースコンピュータシステムと前記ブローカコンピュータシステムの前記グループと前記ターゲットコンピュータシステムとの間の前記所定の通信経路構造を定義する、ステップ、及び、
‐  前記の取得されたルーティング情報に依存して、前記通信経路構造において下流へコンピュータシステムに対する送信を実行するステップ、
が実行される、請求項１乃至１０のうちいずれか１項に記載の方法。
【請求項１２】
前記データパケットの、ブローカコンピュータシステムの前記グループのうち１つから前記ターゲットコンピュータシステムへの送信は、
‐  前記ブローカコンピュータシステムから前記ターゲットコンピュータシステムに所定のデータシーケンスを送るステップであって、前記ターゲットコンピュータシステムの前記所定のネットワークポートは閉じられており、前記データシーケンスは、前記ターゲットコンピュータシステムの１つ又は複数のネットワークポートを所定の順序でアドレス指定する、ステップ、
‐  前記の送られたデータシーケンスを前記ターゲットコンピュータシステム内の所定のシーケンスで検証するステップ、及び、
‐  前記送られたデータシーケンスの前記検証が肯定的である場合、前記ターゲットコンピュータシステムによる前記データパケットの送信を引き起こすステップ、
を含む、請求項１乃至１１のうちいずれか１項に記載の方法。
【請求項１３】
各データパケットが、前記通信経路構造に沿って関与する少なくとも１つのコンピュータシステムにおける前記コンピュータネットワークインフラストラクチャ内で一意の識別子と共に提供され、あるいは、前記データパケットの既存の識別子が補足される、請求項１乃至１２のうちいずれか１項に記載の方法。
【請求項１４】
前記通信経路構造に沿った前記データパケットのルートが監視を用いて前記識別子を使用して監視され、かつ／あるいは、前記通信経路構造に沿って関与するコンピュータシステムにおける前記データパケットの滞留時間が監視され、かつ／あるいは、すべての方法ステップが前記監視によってログに記録される、請求項１３に記載の方法。
【請求項１５】
前記通信経路構造は個々のブローカコンピュータシステム間の絡み合った経路を含み、それにより、第１のブローカコンピュータシステムはデータパケットを第２のブローカコンピュータシステムに送信し、前記第１のブローカコンピュータシステムそれ自体が同時に前記第２のブローカコンピュータシステムから前記データパケットを受信する、請求項１乃至１４のうちいずれか１項に記載の方法。
【請求項１６】
前記通信経路構造は絡み合った経路を含み、それにより、データパケットが複数の送信ブローカコンピュータシステムから複数の受信ブローカコンピュータシステムに並列に送信され、一受信ブローカコンピュータシステムが前記複数の送信ブローカコンピュータシステムから複数のサブ経路を介して冗長なやり方で前記データパケットを受信する、請求項１乃至１５のうちいずれか１項に記載の方法。
【請求項１７】
コンピュータネットワークインフラストラクチャであって、
‐  ソースコンピュータシステム、
‐  ターゲットコンピュータシステム、及び、
‐  ブローカコンピュータシステムのグループ
を少なくとも含み、
当該コンピュータネットワークインフラストラクチャは、所定の通信経路構造に沿って、前記ソースコンピュータシステムから前記ターゲットコンピュータシステムに、ブローカコンピュータシステムの前記グループを用いてデータパケットを送信するように構成され、前記通信経路構造は、複数の並列なサブ経路を含み、当該コンピュータネットワークインフラストラクチャは、前記ソースコンピュータシステムから前記複数の並列なサブ経路の各々に沿って並列に前記ターゲットコンピュータシステムにデータパケットを複数回送信するように構成され、
前記ソースコンピュータシステム及び前記ターゲットコンピュータシステムは、アクセス制御ユニットを各々含み、前記アクセス制御ユニットは、前記ソースコンピュータシステムに又は前記ターゲットコンピュータシステムに対する外部からの接続確立が許可されないように、データパケットの送信に使用される所定のネットワークポートを少なくとも一時的に閉じられたまま保持するように構成され、ゆえに、前記ネットワークポートを用いたネットワークを介したアクセスが防止され、
前記ソースコンピュータシステム又は前記ターゲットコンピュータシステムは、それぞれのブローカコンピュータシステムに対する接続を確立して、データパケットを前記ブローカコンピュータシステムに記憶し、又はそこからデータパケットを取り出すように構成される、
コンピュータネットワークインフラストラクチャ。
【請求項１８】
請求項１乃至１６のうちいずれか１項に記載の方法を実行するように構成された、請求項１７に記載のコンピュータネットワークインフラストラクチャ。
【請求項１９】
１つ又は複数のコンピュータシステムにおいて実行されるように構成され、実行されるときに請求項１乃至１６のうちいずれか１項に記載の方法を実行するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークインフラストラクチャにおいてセキュアなコンピュータシステム間でデータを転送する方法、対応するコンピュータネットワークインフラストラクチャ、及び実行されたときに対応する方法を遂行するコンピュータプログラム製品に関する。
【背景技術】
【０００２】
分散コンピュータネットワーク、及び、いわゆるコンピュータネットワークインフラストラクチャは、それぞれ、データ接続を介して互いに通信することができる多数のコンピュータシステムを表す。これにおいて、機密コンテンツが、承認されていない人間がいかなるアクセス可能性も有してはならない程度で、交換される。詳細に、サーバクライアントトポロジを含むコンピュータネットワークインフラストラクチャにおいて、機密データ、例えば、顧客データ又はユーザデータがクライアントとサーバとの間で交換され、上記データに対する第三者アクセスは、抑制される必要がある。
【０００３】
例えば、データ保護を増大させる従来のセキュリティ戦略には、第三者、例えば管理者などに対する契約条項（守られるべきプロセス）、統制（ルール又は禁制）が含まれ、これにより、制限され又は制御されたアクセスのみが、機密データに対して許容されることになる。
【０００４】
他方、コンピュータシステムに対して又はコンピュータシステム内で技術的手段（measures）が提供され、上記手段は、それぞれ、コンピュータシステムに対する物理的及び／又は論理的アクセスを防止し、承認された人間のみにアクセスを制限するものである。
【０００５】
しかしながら、データ保護を向上させるこうしたアプローチはデータセキュリティを促進するが、該アプローチが機密データに対するアクセスを防止するための義務的手段を大抵構成しないという欠点を伴う。
【０００６】
さらに、互いの間でのデータ交換又は通信のため、一般的コンピュータネットワークインフラストラクチャは、例えばネットワークを介したアクセス可能性、又は、コンピュータシステム内のサービスのアドレス可能性の実現性と共に機能し、このことは、上記インフラストラクチャを外部攻撃に対して脆弱にする。なぜならば、サービスがアドレス可能であるために、コンピュータシステムの１つ又は複数のネットワークポート上で実行プログラムが必要とされるからである。この実行プログラムは、ネットワークを介した外部攻撃に関して潜在的セキュリティギャップを構成する。
【０００７】
ここで、可能性として、コンピュータシステムに対するアクセスを獲得する攻撃者（クラッカー）がコンピュータシステム上の機密データを盗み（tap）、かつ／あるいは、攻撃を通してコンピュータネットワークインフラストラクチャ内のさらなるコンピュータシステムに対するアクセスを獲得し得るリスクがあり、例えば、なぜならば、攻撃者が操作された署名を用いて信頼性のあるように偽装するからである。
【０００８】
他方、従来のコンピュータネットワークインフラストラクチャにおいて、詳細にはＩＴサービスセクタにおいて、高可用性コンピュータネットワークを構成するための努力があり、インフラストラクチャの一般的機能は、個々のコンピュータシステム又はコンピュータシステム間のネットワーク接続の障害にもかかわらず、維持される。上記の目的で、データは、個々のエンティティが故障した場合に別の所で処理されることができ、可能性として所定のステートの復旧（ディザスタリカバリ）を可能にするように、コンピュータネットワークインフラストラクチャにおいて冗長的に送信され又は分散される。
【０００９】
しかしながら、これらの最後の手段は、コンピュータネットワークインフラストラクチャ内の高可用性分散データに対する承認されていない人間のアクセス又はデータセキュリティの背景に対して、問題のある可能性がある。なぜならば、セキュリティ関連の又は機密のデータが様々なコンピュータシステムに分散され、該コンピュータシステムは特定の状況下で外部攻撃に対して不十分にしか保護されないからである。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明の目的は、技術的手段によってコンピュータネットワークインフラストラクチャ内における、詳細には機密データに対する、承認されていないアクセスに対する保護を向上させ、それにかかわらず、コンピュータネットワークインフラストラクチャの満足な高可用性又は障害能力を確保することである。
【課題を解決するための手段】
【００１１】
第１の態様において、上記目的は、請求項１に記載の方法によって達成される。
【００１２】
次いで、コンピュータネットワークインフラストラクチャにおいてセキュアなコンピュータシステム間でデータを転送する方法が説明される。これにおいて、データパケットが、所定の通信経路構造に沿って、ソースコンピュータシステムから少なくとも１つのターゲットコンピュータシステムに、ブローカコンピュータシステムのグループを用いて送信され、通信経路構造は、複数の並列なサブ経路を含み、ソースコンピュータシステム及びターゲットコンピュータシステムの双方が、ソースコンピュータシステムに又はターゲットコンピュータシステムに対する外部からの接続確立が許可されないように、当該方法に使用される所定のネットワークポートを閉じられたまま保持し、ゆえに、これらネットワークポートを用いたネットワークを介したアクセスが防止される。しかしながら、ソースコンピュータシステム又はターゲットコンピュータシステムは、それぞれのブローカコンピュータシステムに対する接続を確立して、データパケットをブローカコンピュータシステムに記憶し、又はそこからデータパケットを取り出すことができる。
【００１３】
説明される方法において、データパケットが、様々な経路、すなわち通信経路構造の並列的なサブ経路を介して、ソースコンピュータシステムからターゲットコンピュータシステムに複数回送信される。このことは経路の冗長性を達成し、冗長性は高可用性を可能にする。サブ経路又はサブ経路に沿ったブローカコンピュータシステムが故障する場合、ターゲットコンピュータシステムに対するデータ送信が、他のサブ経路及びコンピュータシステムにおいて維持されることができる。こうして、ターゲットコンピュータシステム又はコンピュータネットワークインフラストラクチャは、その機能性を利用可能なままである。このことは、高可用性を達成する。
【００１４】
それにもかかわらず、上記の方法は、通信経路構造内で分散されるデータパケットのデータセキュリティの背景に対して、操作に対して高いセキュリティを可能にする。なぜならば、ソースコンピュータシステム及びターゲットコンピュータシステムの双方が、カプセル化され、セキュリティ保護される（secured）からである。これらコンピュータシステムに対するネットワークを介したアクセスは、少なくとも特定のオペレーション条件下において（有利には、本明細書に説明される方法又は上記方法ステップを実行する間、永続的に）不可能であり、あるいは相当により複雑化された仕方でのみ可能である。
【００１５】
用語「所定のネットワークポート」は、すべての又はちょうど選択されたセキュリティ関連ネットワークポート、例えば、上記方法に使用されるネットワークポートが、ソースコンピュータシステム及びターゲットコンピュータシステムの双方において永続的又は一時的に閉じられることを意味する。
【００１６】
上記のことは、アドレス可能性又は接続確立の目的のために外部からの対応するネットワークポートをリッスンし（いわゆる「リッスンしている」）、潜在的なセキュリティギャップ（例えば、バッファオーバーフローによる）を構成するプログラムが、ソースコンピュータシステム上でもターゲットコンピュータシステム上でも構成されず又は必要とされないという利点を提供する。ゆえに、この文脈において、用語「閉じられたネットワークポート」は、これらポートについて、該ポートが「リスニングポート」でない、すなわち、外部からの接続確立が許可されないことを意味する。この場合、第三者は、ネットワークを介して、例えばＵｎｉｘベースのコンピュータシステム内でセキュアシェル（ＳＳＨ）デーモンを介して、又はソース又はターゲットコンピュータシステム上で特定の動作を実行することによって、ソースコンピュータシステム又はターゲットコンピュータシステムに対して外部から認証又はログインすることができない。
【００１７】
しかしながら、ソースコンピュータシステムに対するローカルアクセスが、第１のユーザグループに対して（例えば、セキュリティ人員に対して）構成されてもよい。ターゲットコンピュータシステムに対するローカルアクセスが、第２のユーザグループに対して（例えば、エンドユーザグループ又はクライアントグループに対して）構成されてもよい。しかしながら、有利には、それぞれのユーザグループのそれぞれの他のコンピュータシステムに対するローカルアクセスは防止される。
【００１８】
しかしながら、ソース及びターゲットコンピュータシステムと対照的に、上記方法は、ブローカコンピュータシステムのグループのうちのブローカコンピュータシステムに対する外部アクセスを許可する。ここで、ブローカコンピュータシステムのグループのうちの各々が、少なくとも１つのアドレス可能な開いた（「リッスンしている」）ネットワークポートを有する「オープンな」システムとしてネットワークを介してアクセス可能である。このことは、ブローカコンピュータシステム上でプログラムが実行され及び／又はアプリケーションが準備され、ソースコンピュータシステム、ターゲットコンピュータシステム、又は別のブローカコンピュータシステムが、それぞれのブローカコンピュータシステムにアクセスし、ブローカコンピュータシステムに対する接続を確立して、（それから「確立された」接続を介して）本明細書に提案される方法に従ってデータパケットをブローカコンピュータシステム内に記憶し、あるいはそこからデータパケットを取り出す能力があることを意味する。セキュリティ面の観点から、こうした「オープンな」ブローカコンピュータシステムは、ちょうど従来の具体的にセキュリティ保護されたコンピュータシステムのように評価されることになる。
【００１９】
ゆえに、各ブローカコンピュータシステムは、ソースコンピュータシステムとターゲットコンピュータシステムとの間の通信のための（セキュリティ保護されるがアドレス可能である）ブローカとして機能し、しかしながら、上記ソースコンピュータシステム及びターゲットコンピュータシステムは、本質的にカプセル化される。
【００２０】
データパケットが、ソースコンピュータシステムにおける少なくとも１つの秘密鍵で署名され、可能性として、ターゲットコンピュータシステムの公開鍵で（少なくとも部分的に）暗号化されることができる。暗号化又は解読のためのキー又はパスフレーズは非集中的な（decentral）やり方で使用され、ソースコンピュータシステム及びターゲットコンピュータシステムにおいてローカルで排他的に使用されることができる。データが最終的に処理される後者のコンピュータシステムは、（永続的に）閉じられたネットワークポートによって攻撃に対して保護される。こうして、コンピュータネットワークインフラストラクチャにおける機密データの増大したセキュリティが、高可用性通信と共に確保される。
【００２１】
有利には、説明される方法において、データパケットが、ソースコンピュータシステムから少なくとも２つの異なるブローカコンピュータシステムに送信される。このことは、ソースコンピュータシステムにおいてデータを転送するスタートですでに冗長性を達成し、関与するブローカコンピュータシステムの障害において、データパケットが、ソースコンピュータシステムから通信経路構造内の少なくとも１つの他のブローカコンピュータシステムを用いてさらに送信されることができる。
【００２２】
好ましくは、説明されるタイプの方法において、データパケットが、ブローカコンピュータシステムによる受信の後、通信経路構造において下流へ複数のコンピュータシステムに対して送信される。
【００２３】
続きのコンピュータシステムは、ブローカ又はターゲットコンピュータシステムであり得る。こうして、データパケットが単一のコンピュータシステムから複数の受信コンピュータシステムにさらに分散されることができ、これにより、１：ｎ分散が実現される。言及された手段はインタラクティブであるとさらに考えられ、したがって、カスケードされたさらなる分散がもたらされ、すなわち、複数の受信機のうちの１つから同様に複数のさらなるコンピュータシステムへである。
【００２４】
さらに、送信は非同期的な仕方でもたらされてもよい。コンピュータシステムが到達されることができない場合、それにもかかわらず、データパケットが他のコンピュータシステムに送信される。さらに、異なる受信コンピュータシステムに加えて、異なる送信方法さえ使用されることができる（例えば、ＵＮＩＸベースのコマンドｓｃｐ、ｒｓｙｎｃ、上記の目的で具体的に生成された送信プロトコル等を用いて）。
【００２５】
１：ｎ送信に従う複数の受信コンピュータシステムに対するさらなる分散を用いて、通信経路構造内における個々のブローカコンピュータシステム間のいわゆる「絡み合った」経路が可能である。絡み合った経路は、例えば、第１のブローカコンピュータシステムがデータパケットを第２のブローカコンピュータシステムに送信し、第１のブローカコンピュータシステムそれ自体がこの第２のブローカコンピュータシステムから同時に上記データパケットを受信するという点で、通信経路構造において実現される。こうして、第１のブローカコンピュータシステムから第２のブローカコンピュータシステムへの第１のサブ経路と、第２のブローカコンピュータシステムから第１のブローカコンピュータシステムへの第２のサブ経路とが結果として生じる。
【００２６】
別法として又は追加的に、絡み合った経路は、データパケットが複数のブローカコンピュータシステムから複数の受信ブローカコンピュータシステムに並列に送信されるという点で、実現され得る。ここで、受信ブローカコンピュータシステムは、冗長なやり方で複数のサブ経路を介して複数の送信ブローカコンピュータシステムからデータパケットを受信する。
【００２７】
上記の意味における絡み合った経路の大きい利点は、個々のブローカコンピュータシステムが、通信において上流に位置するサブ経路の障害にもかかわらず、再度関与することができる点である。なぜならば、これらブローカコンピュータシステムが、並列なサブ経路において別のブローカコンピュータシステムから、外見上バイパスとして、冗長的にデータを受信するからである。ゆえに、サブ経路における障害が有する影響が、このサブ経路の次の機能的ブローカコンピュータシステムにとどまる。
【００２８】
こうして、通信経路構造のサブ経路がデータパケットの転送において完全に失敗する障害のリスクは相当に低減されることができ、同時に、コンピュータネットワークインフラストラクチャ内におけるターゲットコンピュータシステムの高可用性が相当に増大されることができる。
【００２９】
並列な冗長なサブ経路を有する通信経路構造に起因して、同じターゲットに対する様々な経路を介した複数回のデータパケットの所望される冗長な送信が結果として生じる。このことは、データパケットが複数回ターゲットに到着する（複製される）ことを意味する。こうしたデータパケットの取り扱いの１つの解決策は、対応するターゲット内で冗長的に送信されたデータパケットを破棄することであることになる。
【００３０】
しかしながら、下記のステップを実行するとき、他の有利な手段が、説明されるタイプの手段について結果として生じる：
‐  所定のデータパケットがブローカコンピュータシステム又はターゲットコンピュータシステムに対してすでに送信されたか、又はそこに対して送信されているかを検証するステップ、
‐  上記検証ステップが、データパケットが対応コンピュータシステムに対してまだ送信されていなかったか、又は対応コンピュータシステムに対してまだ送信されていないと証明する場合、データパケットの対応コンピュータシステムに対する送信を開始するステップ。
【００３１】
上記手段に起因して、送信されるデータの量が、通信経路構造内で低減されることができる。なぜならば、すでに送信されたか又は送信されることになるデータは、必ずしももう一度送信される必要がないからである。ゆえに、説明される方法に従うコンピュータネットワーク構造は、高可用性が確保されるように冗長性を一般に提供する。データパケットの実際の送信は、対応するデータパケットが対応するターゲットコンピュータシステム又は対応する受信ブローカコンピュータシステムにすでに到着していたとき、冗長的に再度もたらされる必要がない。こうして、上記方法におけるデータの量が低減される。
【００３２】
データパケットを送信する意図があるブローカコンピュータシステムが、データパケットがターゲット内に存在するか否かのフィードバックを上記要求ブローカコンピュータシステムに提供する受信コンピュータシステムにおける処理を開始する方法で、所定のデータパケットがブローカコンピュータシステムに又はターゲットコンピュータシステムにすでに送信されたか、あるいはそこに送信されているかの検証が実行されることができる。送信することを意図するブローカコンピュータシステムは、該ブローカコンピュータシステムが実際に送るべきか否かを上記フィードバックに基づいて決めることができる。
【００３３】
好ましくは、所定のデータパケットが対応コンピュータシステムにすでに送信されたか又はそこに送信されているかを検証する説明された方法において、所定の又はランダムの時間期間が待たれる。
【００３４】
データパケットをターゲットに送ることを意図するコンピュータシステムは、第１の時間期間について待って、その後、別の冗長なコンピュータシステムが対応するデータパケットをすでに送信しているかどうかを検証することができる。Ｎｏである場合、待ちコンピュータシステムがそれ自体で送信することができる。Ｙｅｓである場合、他のコンピュータシステムの送信が完了するまで、第２の時間期間が待ちコンピュータシステムによって待たれる。その後、待ちコンピュータシステムは、「外的な送信」が成功であったかどうかを検証する。Ｙｅｓである場合、さらなる手段は実行されないことになる。Ｎｏである場合、待ちコンピュータシステムはそれ自体で送信する。
【００３５】
有利な配置において、説明されるタイプの方法において、通信経路構造内におけるデータパケットの送信は、互いから論理的に区分された異なるネットワーク経路に沿ってもたらされる。このことは、通信に関与するブローカコンピュータシステムの冗長性と、したがって高可用性とを達成するだけでなく、さらに、ネットワーク経路全体の潜在的な障害が考慮に入れられる（accounted  for）。なぜならば、ブローカコンピュータシステム単体の冗長性は、これらコンピュータシステムが単一のネットワーク内で通信するとき、助けにならないからである。ネットワーク全体が故障するとき、下方に配される通信全体が、結果として切断される。
【００３６】
論理的に別個にされたネットワーク経路に沿った送信を構成することによって、高可用性に加えて災害能力が実現される。なぜならば、ネットワークが故障した場合に、データパケットが別のネットワーク経路に沿ってさらに送信され及び処理されることができ、あるいは適用可能な場合、機能するネットワーク経路を介して接続された場所におけるコンピュータシステムの特定のステートが、再確立されることができるからである。
【００３７】
有利には、上記の文脈において、説明されるタイプの方法において、少なくとも２つのターゲットコンピュータシステムに対するデータパケットの送信が、異なる場所においてもたらされる。こうして、災害ソリューションが実現される（ディザスタリカバリ）。
【００３８】
有利には、ターゲットコンピュータシステム上での所定の条件が第１の場所において真であるとき、ターゲットコンピュータシステムにおけるデータパケットの別の処理が第２の場所においてもたらされる。所定の条件は、例えば、第１の場所におけるターゲットコンピュータシステム内の深刻な問題、第１の場所におけるターゲットコンピュータシステムの全体的障害、又は第１の場所に向かう通信経路内の障害であり得る。ターゲットコンピュータシステム内のデータは、例えば、こうした条件が第１の場所におけるターゲットコンピュータシステムにおいて真であるとき、「ライブで」切り替えられ、すなわち、アクティブプロセスにおいて処理されることができる。
【００３９】
上記で説明されたとおり、こうして、災害能力又は災害ケースを解決することが、ターゲットコンピュータシステムに向けたデータパケットの移送の冗長性に加えて、説明されたタイプの方法を用いて実現される。このことは、実行ターゲットコンピュータシステムの冗長性を可能にし、したがって、１つの場所におけるターゲットコンピュータシステムの故障が、その機能性が第２の場所における第２のターゲットコンピュータシステムを用いて担われる点で、補償されることができる。
【００４０】
好ましくは、説明されるタイプの方法において、下記のステップがターゲットコンピュータシステム内及び／又はブローカコンピュータシステムのグループ内で実行される：
‐  データパケットに記憶されたルーティング情報を取得するステップであって、ルーティング情報は、コンピュータネットワークインフラストラクチャ内におけるソースコンピュータシステムとブローカコンピュータシステムのグループとターゲットコンピュータシステムとの間の所定の通信経路構造を定義する、ステップ、及び、
‐  上記の取得されたルーティング情報に依存して、通信経路構造において下流へコンピュータシステムに対する送信を実行するステップ。
【００４１】
ルーティング情報は、ソースコンピュータシステムとブローカコンピュータシステムとターゲットコンピュータシステムとの間の通信経路構造を、その並列なサブ経路と共に定義する。こうして、通信経路構造は固定的に予め決定され、説明されるタイプの方法に従う関与するコンピュータシステムは、データパケットの送信の、固定的に予め決定された範囲の影響下にある。
【００４２】
有利には、ルーティング情報は、データパケット内に予め定義される。例えば、このことは、ソースコンピュータシステム内で（ソースコンピュータシステムのユーザによって）、あるいはソースコンピュータシステムから独立してリモートコンピュータシステム内で（例えば、独立のセキュリティ責任能力によっていわゆるキーコンピュータシステム内で）もたらされ得る。
【００４３】
好ましくは、説明されるタイプの方法において、データパケットは、通信経路構造に沿って関与する少なくとも１つのコンピュータシステム内の識別子と共に提供され、あるいは、既存の識別子が補足される。
【００４４】
データパケットの対応識別子は、通信経路構造の複数エンティティにわたってさえ、パケットをトレースすることを可能にする（いわゆる「トレーシング」）。識別子の補足は、元の識別子に対する補足を提供することを含み得る。ここで、第１のエンティティの元の識別子は、有利には、元の情報が補足分から区別可能な形式で存在するままであるように補足され、このことが、複数のエンティティにわたってさえ一義的な仕方で識別子がその起点に遡ってトレースされることができる理由である。
【００４５】
有利には、上記方法において、通信経路構造の様々なサブ経路に沿ったデータパケットのルートが、モニタリングによって監視され、かつ／あるいは、データパケットの滞留時間が、通信経路構造に沿った関与するコンピュータシステム上で監視され、かつ／あるいは、すべての方法ステップが、モニタリングによってログに記録される。
【００４６】
記憶されたルーティング情報と関連してデータパケットの識別子を用いて、対応する通信経路が固守されるかどうかと、コンピュータシステムが（成功裏に）到達されることができ及び到達され得るかとが決定されることができる。所定のコンピュータシステム上におけるデータパケットの滞留時間は、例えば、ソースコンピュータシステムによって定義されてもよく、あるいは、別のエンティティ（例えば、より詳細には規定されないキーコンピュータシステム）によってデータパケット内に元々記憶されてもよい。さらに、適用可能な場合、滞留時間の経過の後、データパケットがさらに移送されてはならないか又は実行不可能でなければならないことが、定義されることができる。場合により、アラートが生成されることができ、あるいは他の手段がとられてもよく、このことは監視によってログに記録される。
【００４７】
好ましくは、説明されるタイプの方法において、ブローカコンピュータシステムのグループのうち１つからターゲットコンピュータシステムへのデータパケットの送信は、下記のステップを含む：
‐  ブローカコンピュータシステムからターゲットコンピュータシステムに所定のデータシーケンスを送るステップであって、ターゲットコンピュータシステムの所定のネットワークポートは閉じられており、データシーケンスは、ターゲットコンピュータシステムの１つ又は複数のネットワークポートを所定の順序でアドレス指定する、ステップ、
‐  上記の送られたデータシーケンスをターゲットコンピュータシステム内の所定のシーケンスで検証するステップ、及び、
‐  上記送られたデータシーケンスの検証が肯定的である場合、ターゲットコンピュータシステムによるデータパケットの送信を開始するステップ。
【００４８】
本明細書に示されるさらなる方法ステップは、規則として、ターゲットコンピュータシステムのネットワークポート（上記方法に関連する）が上記の意味において閉じられ、外部からターゲットコンピュータシステムへの接続確立をブロックし又は操作的アクセスを相当に複雑化するという利点を提供する。ターゲットコンピュータシステムを用いてデータパケットの送信を引き起こすことは、（例えば、ＵＮＩＸベースのコマンド“Ｓｅｃｕｒｅ  Ｃｏｐｙ”、ｓｃｐを介した）ターゲットコンピュータシステムに対するそれぞれのデータパケットの送信の、自動化された処理であり得る。上記処理に従い、ターゲットコンピュータシステムがそれ自体、ブローカコンピュータシステムに対する接続を確立し、データパケットを取り出す。この処理は、所定のデータシーケンスがターゲットコンピュータシステムに送られた後、このシーケンスが所定のシーケンスにマッチする場合に、起動されることができる。シーケンス送信コンピュータシステムのＩＰアドレスは、ターゲットコンピュータシステム内で静的であるように予め定義されることができ、あるいは、ターゲットコンピュータシステムのカーネルに知られる潜在的なシーケンス送信コンピュータシステムのソースＩＰアドレスから動的にとられることができる。
【００４９】
上記の方法は、用語「ポートノッキング」で知られる。上述されたステップは、いわゆるノックデーモン、すなわち、ポートノッキングを可能にするプログラムによって実行されることができる。ノックデーモンは、ターゲットコンピュータシステムのネットワークポートに位置し、ターゲットコンピュータシステムに送られたデータシーケンスを検証し、可能性として、送られたシーケンスが所定のシーケンスにマッチするとき、対応するデータパケットの、ブローカコンピュータシステムからターゲットコンピュータシステムへの制御された送信を（例えば、スクリプト／プログラムを起動することによって）引き起こす。ゆえに、上記で説明された過程は、ブローカコンピュータシステムからターゲットコンピュータシステムへのデータパケットの送信／コピーを、ターゲットコンピュータシステムが開いたポートをアドレス可能プログラムと共に提供する必要なしに、可能にする。
【００５０】
上記で説明されたポートノッキングに対して代替として又は追加的に、ターゲットコンピュータがそれ自体、交換されるべき１つ又は複数のタスクファイルが存在するかどうかを規則的な間隔でブローカコンピュータシステムにおいて要求する（ポーリングする）ことがさらに考えられる。この場合、ブローカコンピュータシステムからターゲットコンピュータシステムへのデータパケットの対応する送信が、開始されることができる。例えば、ポートノッキングが実行されなかった特定の時間期間が超えられたとき、ターゲットコンピュータシステムがポーリングを実行することがさらに考えられる。こうして、ポートノッキングにおける問題が決定されることができ、機能性は維持される。
【００５１】
説明される手段は、コンピュータネットワークインフラストラクチャ内のセキュアなコンピュータシステム（ソース及びターゲットコンピュータシステム）間における通信を、ブローカコンピュータシステムのグループを介して可能にする。
【００５２】
第２の態様において、上記目的は、
‐  ソースコンピュータシステム、
‐  ターゲットコンピュータシステム、及び、
‐  ブローカコンピュータシステムのグループ
を少なくとも含むコンピュータネットワークインフラストラクチャによって達成され、コンピュータシステムは、所定の通信経路構造に沿って、ソースコンピュータシステムからターゲットコンピュータシステムに、ブローカコンピュータシステムを用いてデータパケットを送信するように構成され、通信経路構造は、複数の並列なサブ経路を含み、ソースコンピュータシステム及びターゲットコンピュータシステムは、１つのアクセス制御ユニットを各々含み、アクセス制御ユニットは、当該方法に使用される所定のネットワークポートを、これらネットワークポートを用いたネットワークを介したソースコンピュータシステムに又はターゲットコンピュータシステムに対する外部からの接続確立が防止されるように、閉じられたまま保持するように構成され、ソースコンピュータシステム又はターゲットコンピュータシステムは、それぞれのブローカコンピュータシステムに対する接続を確立して、データパケットをブローカコンピュータシステムに記憶し、又はそこからデータパケットを取り出すように構成される。
【００５３】
有利には、説明されるタイプのコンピュータネットワークインフラストラクチャは、上記で説明されたとおりの方法を実行するように構成される。
【００５４】
上記で説明された方法についてのすべての有利な態様、特徴、及び手段が、上記コンピュータネットワークインフラストラクチャの構造的特徴に対応し、類似して適用される。逆もまた同様であり、上記コンピュータネットワークインフラストラクチャについてのすべての構造的特徴が、上記で説明されたタイプの方法に適用されることができる。
【００５５】
さらに、さらなる態様において、上記目的は、コンピュータプログラム製品を用いて達成され、上記コンピュータプログラム製品は、１つ又は複数のコンピュータシステム上で実行され、実行されるときに、上記で説明されたタイプの方法を実行するように構成される。
【００５６】
さらなる有利な実施形態が、下位クレームと下記の図面説明とにおいて開示される。
【図面の簡単な説明】
【００５７】
本発明は、複数の図面を用いてより詳細に説明される。
【図１Ａ】セキュアなコンピュータシステム間でデータを転送するコンピュータネットワークインフラストラクチャの概略例示である。
【図１Ｂ】異なった方法ステップを有する図１Ａに従うコンピュータネットワークインフラストラクチャである。
【図２】異なる場所のコンピュータシステム間でデータを転送するさらなる構成に従うコンピュータネットワークインフラストラクチャの概略例示である。
【図３】異なる場所のコンピュータシステム間でデータを転送するさらなる構成に従うコンピュータネットワークインフラストラクチャの概略例示である。
【図４】異なる場所のコンピュータシステム間でデータを転送するさらなる構成に従うコンピュータネットワークインフラストラクチャの概略例示である。
【図５】異なる場所のコンピュータシステム間でデータを転送するさらなる構成に従うコンピュータネットワークインフラストラクチャの概略例示である。
【発明を実施するための形態】
【００５８】
図１Ａは、コンピュータネットワークインフラストラクチャの概略例示であり、該コンピュータネットワークインフラストラクチャは、セキュアなコンピュータシステム間でデータを転送する方法を実行するように構成される。
【００５９】
コンピュータネットワークインフラストラクチャは、ソースコンピュータシステムとしてのコンピュータ１と、ターゲットコンピュータシステムとしてコンピュータ２とを含む。データパケットが、コンピュータ１からコンピュータ２に、ブローカ（broker）コンピュータシステムのグループに沿って送信されることができる。ブローカコンピュータシステムは、図１Ａにおいて、タスクサーバ１−０乃至タスクサーバ２−１として参照される。ここで、データパケットの送信が、所定の通信経路構造に沿ってもたらされ、該通信経路構造は、図１Ａにおいて個々のコンピュータシステム間における複数の矢印によって例示される。この通信経路構造の技術的実現のために、すべてのコンピュータは、ネットワーク経路を介して互いに接続される。
【００６０】
通信経路構造は、複数の並列なサブ経路（sub-paths）を含み、したがって、データパケットは、コンピュータ１とコンピュータ２との間の関与するコンピュータシステムに冗長的に送信される。このことは、タスクサーバ１−０乃至２−１のグループからのブローカコンピュータシステムが、複数の並列なサブ経路を介してデータパケットを受信する能力があることを意味する。
【００６１】
ブローカコンピュータシステムのタスクサーバ１−０乃至２−１のうち少なくとも１つ及び／又は関与するコンピュータシステム間におけるネットワーク接続の障害において、データパケットの送信は、通信経路構造のうち他のサブ経路上の他のブローカコンピュータシステムを介して維持されることができる。このことは、コンピュータネットワークインフラストラクチャ全体、詳細にはコンピュータ１とコンピュータ２との間のデータパケットの転送の、高可用性を確保する。
【００６２】
図１Ａは、いわゆる絡み合った（entangled）通信経路構造を示している。このことは、データパケットが、通信経路構造のあるレベル上で複数のコンピュータシステム間で（例えば、タスクサーバ１−０とタスクサーバ１−１との間で）交換されることも、通信経路構造内で下流へ複数のコンピュータシステムに（例えば、タスクサーバ１−０又はタスクサーバ１−１それぞれからタスクサーバ２−０及びタスクサーバ２−１それぞれに）渡されることもできることを意味する。
【００６３】
上記の構造は、ネットワーク接続又はコンピュータシステムが故障する場合に、通信経路構造内で下流に続くコンピュータシステムが通信経路構造の別のサブ経路を介してさらなる通信に関与することができるという利点を提供する。
【００６４】
例えば、コンピュータ１からタスクサーバ１−１への接続が利用可能でないとき、タスクサーバ１−１は、タスクサーバ１−０による通信に関与することになる。なぜならば、タスクサーバ１−０は、受信したデータパケットを、さらなる関与するタスクサーバ２−０及び２−１に加えてさらにタスクサーバ１−１に送信する能力があり、可能性として送信することになるからである。
【００６５】
例えば、タスクサーバ１−０からタスクサーバ２−０への接続の、さらなる障害がある場合、コンピュータ１に対する接続の障害にかかわらずこの通信に関与するタスクサーバ１−１が、それにもかからわずデータパケットをタスクサーバ２−０に送信することができ、したがって、後者は冗長な通信に関与する。
【００６６】
こうして、コンピュータネットワークインフラストラクチャは、関与するコンピュータシステム及び／又は対応する間に置かれた（interposed）ネットワーク接続の、様々な障害シナリオ及び組み合わせから保護される。
【００６７】
コンピュータネットワークインフラストラクチャ内のデータセキュリティについて、コンピュータ１及び２は、セキュアなコンピュータシステムであり、該コンピュータシステムは、少なくとも説明される方法に関与するすべてのネットワークポートを閉じている。こうしたポート上で、ネットワークを介したコンピュータ１及びコンピュータ２の外部アドレス可能性（addressability）について実行プログラムは構成されず、ゆえに、これらコンピュータシステムの潜在的な攻撃の選択肢は提供されない。ゆえに、コンピュータ１及びコンピュータ２は、全体的にカプセル化される。このことは、図１Ａにおいて、コンピュータ１及び２のハッチングされた入力／出力レベルによって示されている。
【００６８】
対照的に、ブローカコンピュータシステムのタスクサーバ１−０乃至２−１は、ネットワークを介したアドレス可能性のために少なくとも１つの開いた（「リッスンしている」）ネットワークポートを各ケースにおいて有するオープンなコンピュータシステムである。例えば、これらコンピュータシステムにおけるネットワーク接続が、ＶＰＮ（バーチャルプライベートネットワーク）若しくはＳＳＨ（セキュアシェル）、又はこうした方法の任意の他の組み合わせを介して制限されることができ、したがって、専用のコンピュータシステムでの所定の暗号化されたネットワーク接続のみが許可される。
【００６９】
コンピュータ１及びコンピュータ２は、各々、ネットワークを介してタスクサーバ１−０乃至２−１のうち１つ又は複数をアドレス指定する（address）ことができる。コンピュータシステム間の通信が、下記のとおりもたらされる。コンピュータ１は、図１Ａに従いタスクサーバ１−０及び１−１上にデータパケットを記憶することができる。なぜならば、後者はネットワークを介して直接アドレス可能であるからである。データパケットは、通信経路構造に沿ってさらなるタスクサーバ２−０及び２−１に対して冗長なやり方でさらに分散される。
【００７０】
コンピュータ２に対するデータパケットの送信のために、タスクサーバ２−０又は２−１が、各々、コンピュータ２に向けてポートノッキングを実行する。上記の目的で、所定のデータシーケンスが、それぞれのタスクサーバ２−０又は２−１からコンピュータ２に送信され、コンピュータ２は、少なくとも上記の伝達に関与するすべてのネットワークポートを閉じられたまま保持する。コンピュータ２のネットワークポートにおけるノックデーモンが、送られたデータシーケンスをコンピュータ２内の所定のシーケンスとマッチさせる。
【００７１】
送られたデータシーケンスの検証が肯定的である場合、コンピュータ２は、それぞれのタスクサーバ２−０又は２−１に対する接続の確立と、それぞれのタスクサーバ２−０又は２−１からのデータパケットの送信とを開始する。上記の送信は、例えば、ＵＮＩＸ（登録商標）ベースの“ｓｃｐ”コマンドによって実現されることができる。こうして、コンピュータ２は、ポートノッキングの後、タスクサーバ２−０及び２−１からそれぞれ、データパケットを取り出す。
【００７２】
図１Ｂは、図１Ａに従うトポロジを示しており、通信経路構造に沿ってデータパケットを転送する方法ステップが例示され、以降でより詳細に説明される。
【００７３】
ステップ１において、コンピュータ１からのデータパケットの並列的な送信が、タスクサーバ１−０及びタスクサーバ１−１それぞれに対するネットワーク接続を用いてもたらされる。
【００７４】
ステップ２において、ローカルの検証がタスクサーバ１−０又は１−１において、データパケットがすでに到着したか否かに関して、各ケースにおいてもたらされる。この検証は、必要とされる場合、データパケットがそれぞれのタスクサーバ１−０及び１−１において（例えば、上記の目的で提供されるインボックス内に）それぞれ受信されるまで、繰り替えされることができる。
【００７５】
さらなるステップ３において、受信したデータパケットの別のルーティングの検出がもたらされる。データパケットの通信経路を定義する所定のルーティング情報が、上記の目的でデータパケット内に記憶されてもよい。それぞれのタスクサーバ１−０又は１−１において、データパケットがアンパックされることができ、さらなるコンピュータシステム（タスクサーバ１−０又は１−１、並びに２−０及び２−１）に対するルーティングのためのルーティング情報が読み出されることができる。
【００７６】
それぞれのステップ４において、タスクサーバ１−０及び１−１が、（例えば、ランダムの時間期間待った後、）対応するデータパケットがそれぞれの他方のコンピュータシステム上で全体的に利用可能であるかどうかを検証する。上記の目的で、タスクサーバ１−０は、例えば、タスクサーバ１−１に問い合わせを送ってもよく、逆もまた同様である。ステップ４が、２つのシステムのうち一方においてデータパケットが存在しないと証明する場合（例えば、コンピュータ１からの送信が失敗したため）、検証しているコンピュータシステム（例えば、タスクサーバ１−１に向けてのタスクサーバ１−０）は、前もってデータパケットから決定されたルーティングに従って動作を行うことになり、データパケットが事前に利用可能でなかったブローカコンピュータシステム（例えば、タスクサーバ１−１）に対してデータパケットの複製を送信する。
【００７７】
こうして、タスクサーバ１−１は、コンピュータ１からタスクサーバ１−１へのデータパケットの送信が失敗したとしても、タスクサーバ１−０を用いてデータパケットの通信及び転送に再度関与し得る。
【００７８】
場合によりステップ４に対して同時にもたらされ、又は一時的にオフセットされ（offset）得るさらなるステップ５において、タスクサーバ１−０及び１−１はタスクサーバ２−０又は２−１に向けて各ケースにおいて、対応するデータパケットが後者のシステムにおいてすでに利用可能であるかどうかを検証する（例えば、上記データパケットが、それぞれの他方のブローカコンピュータシステムのタスクサーバ１−０又はタスクサーバ１−１からそこにすでに送信されているため）。
【００７９】
このステップ５における検証のために、例えば、タスクサーバ１−０は、クエリが、受信するブローカコンピュータシステムのタスクサーバ２−０又は２−１に向けられる前に、所定のフレーム内でランダムに定義された時間期間について待ってもよい。この時間期間は、タスクサーバ１−１がタスクサーバ２−０及び／又は２−１に対して送信をすでに開始したかどうかを待つのに役立つ。
【００８０】
上記のことが当てはまる場合、タスクサーバ１−０は、タスクサーバ１−１からタスクサーバ２−０又は２−１への送信が成功であったかどうかを別の時間期間待ってもよい。
【００８１】
この場合、タスクサーバ１−０をとおした検証は、データパケットがタスクサーバ２−０又は２−１に存在し、タスクサーバ１−０は送信する必要がないと示す。
【００８２】
しかしながら、第１の時間期間について待った後にタスクサーバ１−１による何らかの送信があった場合、又は、第２の時間期間待つことが、タスクサーバ１−１からの送信が失敗したことを示す場合、タスクサーバ１−０が、ステップ５において前もってデータパケットから決定されるルーティングに従ってタスクサーバ２−０及び２−１に対するデータパケットのさらなる複製の送信を、それぞれ、最終的に開始する。
【００８３】
タスクサーバ１−１は、タスクサーバ１−０に向けて並びにタスクサーバ２−０及び２−１に向けて、タスクサーバ１−０での文脈において上記で説明されたとおりの同じ動作を実行する（ステップ３、４、及び５）。
【００８４】
さらに、タスクサーバ１−０又は１−１からタスクサーバ２−０又は２−１への送信が成功であって、しかしながら関与するタスクサーバのうち他方に対してそうでなかったことがさらに考えられる。それから、タスクサーバ１−０又は１−１からのステップ５は、有利には、データパケットがまだ存在しないタスクサーバ２−０又は２−１に向けてのみもたらされる。
【００８５】
こうして、データパケットの複製が、タスクサーバ１−０又は１−１によってタスクサーバ２−０又は２−１に対して冗長的に送信されることができ、したがって、データパケットは、それぞれのブローカコンピュータシステム（タスクサーバ１−０乃至２−１）内で高可用性を有して存在する。しかしながら、上述された手段は、データパケットがそれぞれのターゲットコンピュータシステム内にすでに存在するためデータパケットがもはや送信される必要がないという理由で送信されるデータの量を低減することを許可しない。このことは、上述された検証手段によってもたらされる。
【００８６】
それぞれのステップ６において、タスクサーバ２−０及び２−１は、ステップ２におけるタスクサーバ１−０及び１−１の文脈において上記で説明されたとおりの手段と類似して、該タスクサーバ２−０及び２−１がデータパケットを受信したかをローカルで検証する。
【００８７】
さらに、タスクサーバ１−０と１−１との間における方法に類似して（上記のステップ３及び４を参照）、タスクサーバ２−０及び２−１は、それぞれ、ステップ７においてデータパケットからさらなるルーティングを決定し、ステップ８において互いの中で、データパケットがそれぞれの他方のシステムに成功裏に送信されたかとそこに全体的に存在するかとを検証する。
【００８８】
関与するシステムのタスクサーバ２−０及び２−１のうち一方について、それぞれ、上記のことが当てはまらない場合、それぞれの他方のシステムが、データパケットがまだ存在しないシステムに対してデータパケットの複製を送信する。
【００８９】
さらなるステップ９において、タスクサーバ２−０及び２−１の双方が、データパケットが（それぞれの他方のシステムによって）コンピュータ２に対してすでに成功裏に送信されたか否かを最終的に検証する。
【００９０】
コンピュータ２が、上記の目的についてネットワークポートが閉じられた状態でカプセル化されるので、タスクサーバ２−０及び２−１は、それぞれ、コンピュータ２に向けてポートノッキング処理をもたらし、これにおいて、後者はそれ自体が、ネットワークを介してそれぞれのタスクサーバ２−０又は２−１をアドレス指定し、データパケットがコンピュータ２上にすでに存在するか否かに関して通信する。タスクサーバ２−０及び２−１それぞれとコンピュータ２との間の検証処理において、関与するタスクサーバ２−０及び２−１はそれぞれ、タスクサーバ１−０及び１−１の文脈において上記で説明されたとおり、所定又はランダムの時間期間さらに待つことができる。データパケットが、コンピュータ２にまだ存在しない場合、コンピュータ２は、ステップ９においてそれぞれのタスクサーバ２−０又は２−１からデータパケットを取り出す。
【００９１】
ステップ１０において、コンピュータ２において、データパケットが成功裏に送信され、コンピュータ２上に全体的に存在するかが、最終的にローカルで検証される。上記のことが当てはまらない場合、関与するタスクサーバ２−０又は２−１のうち一方に向けて、又は関与するタスクサーバのうち複数に向けて、データパケットの送信が再開されることができる。
【００９２】
図１Ａ及び図１Ｂは、関与するブローカコンピュータシステムのタスクサーバ１−０乃至２−１を用いたコンピュータ１とコンピュータ２との間におけるデータパケットの冗長的に利用可能な転送のシナリオを例示しており、すべてのシステムは、ネットワークを介して互いに接続される。
【００９３】
図２は、さらなる構成に従うコンピュータネットワークインフラストラクチャの概略例示を示している。ここで、コンピュータ１は場所１に構成され、コンピュータ２は場所２に構成される。場所１及び２は、物理的に（局所的に）及び／又は論理的に区分された場所であり得る。データパケットが、ブローカコンピュータシステムのグループのタスクサーバ１−０乃至２−１を用いてコンピュータからコンピュータ２に送信されることができる。
【００９４】
図１Ａ及び図１Ｂに従う構成と対照的に、図２に従うコンピュータ１とコンピュータ２との間の通信経路構造は、２つの論理的に区分されたネットワーク経路を含む。第１のネットワーク経路は、タスクサーバ１−０と２−０とを用いてコンピュータ１をコンピュータ２に接続する。第２のネットワーク経路は、タスクサーバ１−１と２−１とを用いてコンピュータ１をコンピュータ２に接続する。こうして、冗長なネットワーク経路を含むコンピュータネットワークインフラストラクチャが形成される。
【００９５】
タスクサーバ１−０及び２−０は、タスクサーバ１−１及び２−１とは異なる場所に構成され得る。こうして、データが、異なる場所におけるネットワーク経路を介してコンピュータ１からコンピュータ２（ターゲットコンピュータ）に対して冗長的に送信されることができる。例えば、データパケットが、コンピュータセンターから（コンピュータ１を用いて）、異なるネットワークプロバイダ（２つの別個のネットワーク経路について、各ケースにおいて１つのプロバイダ）を介して、異なるステーション間（inter-stations）（例えば、第１の場所におけるタスクサーバ１−０又は２−０それぞれ、及び、第２の場所におけるタスクサーバ１−１又は２−１それぞれ）を介して転送されることができる。場合により、上記のそれぞれの場所は、さらに、コンピュータ１の場所及びコンピュータ２の場所それぞれのうちの１つであってもよい。様々な構成がここで考えられる。
【００９６】
図２の構成は、ネットワーク経路に沿ったネットワークの障害の場合に、データパケットが他のネットワーク経路に沿って冗長的に転送されることができるという利点を提供する。
【００９７】
図１Ａ及び図１Ｂに従う構成とちょうど同様に、コンピュータ１及びコンピュータ２は、図２の構成に従い、閉じられたネットワークポートをとおしてカプセル化される。しかしながら、タスクサーバ１−０乃至２−１は、オープンなシステムとしてネットワークを介して外部からアドレス可能である。コンピュータ１とタスクサーバ１−０乃至２−０とコンピュータ２との間におけるデータパケットの通信及び転送は、図１Ａ及び図１Ｂに従う説明と類似してもたらされる。
【００９８】
図３は、災害コンセプトの実現のために異なる場所に対してデータパケットを分散するコンピュータネットワークインフラストラクチャの構成を示している。
【００９９】
このコンピュータネットワークインフラストラクチャは、データパケットのソースコンピュータシステムとしてのコンピュータ１と、転送されたデータパケットを受信する２つのターゲットコンピュータシステムのコンピュータ２．１及びコンピュータ２．２とを含む。ブローカコンピュータシステムのタスクサーバ１−０、タスクサーバ１−１、及びタスクサーバ２−１が、コンピュータ１と関与するコンピュータ２．１及び２．２との間でデータパケットを転送するように構成される。図３の構成に従い、コンピュータ１及び２．１並びにタスクサーバ１−０は場所１に構成される。コンピュータ２は場所２に構成される。
【０１００】
コンピュータ１とコンピュータ２．１との間のデータパケットの移送（transport）は、第１のネットワーク経路に沿ってタスクサーバ１−０を用いてもたらされる。コンピュータ１とコンピュータ２．２との間のデータパケットの移送は、第２の別個のネットワーク経路に沿ってタスクサーバ１−１及び２−１を用いてもたらされる。
【０１０１】
ゆえに、データパケットが、場所１のコンピュータ１によって、異なる接続を介して、場所１のコンピュータ２．１に対して、及びさらに場所２のコンピュータ２．２に対して移送される。場所２は、いわゆる災害復旧場所を構成し得る。すなわち、場所１におけるコンピュータ２．１の深刻な問題の場合、データが、場所２において“ライブで（live）”機能的に切り替えられることができる。例えば、場所１におけるコンピュータ２．１の障害の場合、又は場所１におけるコンピュータ２．１へのデータパケットの不備な又は不完全な送信の場合、コンピュータネットワークインフラストラクチャの機能性が、場所２におけるコンピュータ２．２の活性化及び／又は場所２におけるコンピュータ２．２内のデータパケットの復旧又は実行を用いて維持されることができる。
【０１０２】
ゆえに、図３に従う構成は、冗長なネットワーク経路上でソースコンピュータシステムからデータパケットを受信したさらなるターゲットコンピュータシステム内の機能性の受信によって、ターゲットコンピュータシステムの障害を補償する災害能力を可能にする。
【０１０３】
図３に例示される構成に対する一代替案として、オープンなネットワークポートを含まないタスクサーバ及びカプセル化されたコンピュータを使用することにおけるすべての種類のバリエーションが考えられる。使用されるタスクサーバの数及びその局所性は、特にコンピュータ１からコンピュータ２．２にデータパケットを移送するとき、要件に依存して変動してもよい。図３に従う例示的な実施形態において、タスクサーバ１−１及び２−１は、場所１に又は場所２に局所化され（localized）てもよく、あるいは可能性としてさらに割愛されてもよい。
【０１０４】
図４は、カプセル化され（すなわち、開いたネットワークポートを含まない）及び場所１に収容されたコンピュータ１を有する、コンピュータネットワークインフラストラクチャの一部のさらなる構成を示している。別個の場所２において、２つのブローカコンピュータシステムのタスクサーバ１−０及び１−１が構成され、該タスクサーバは、別個のネットワーク経路を介してコンピュータ１によってアドレス指定されることができる。図４に従う構成は、別個のネットワーク経路を用いて第１の場所１から第２の場所２への転送を可能にする。ネットワーク経路が故障した場合、別のネットワーク経路がデータパケットの転送に対して冗長的に提供される。
【０１０５】
図５は、コンピュータネットワークインフラストラクチャのさらなる構成の概略例示を示しており、これにおいて、冗長なネットワーク経路とそれぞれのネットワーク経路内における種々のブローカコンピュータシステム間のデータパケットの冗長な転送とが構成される。
【０１０６】
具体的に、図５に従うコンピュータネットワークインフラストラクチャは、２つのソースコンピュータシステムのコンピュータ１．１及びコンピュータ１．２を含む。さらに、２つのターゲットコンピュータシステムのコンピュータ２．１及びコンピュータ２．２が構成される。
【０１０７】
ソースコンピュータシステムのコンピュータ１．１及びコンピュータ１．２は場所１に構成される。ターゲットコンピュータシステムのコンピュータ２．１及びコンピュータ２．２は場所２に構成される。
【０１０８】
場所１と場所２との間におけるデータパケットの転送は、ブローカコンピュータシステムの２つのグループを用いてもたらされ、各ケースにおいて、１つのグループが１つのネットワーク経路構造に割り当てられる。
【０１０９】
ブローカコンピュータシステムの第１のグループは、タスクサーバ１−０乃至２−１によって形成され、該タスクサーバ１−０乃至２−１は、第１のネットワーク経路内で互いに通信することができる。
【０１１０】
ブローカコンピュータシステムの第２のグループは、タスクサーバ３−０乃至４−１によって構成され、該タスクサーバ３−０乃至４−１は、第２のネットワーク経路内で互いに通信することができる。
【０１１１】
ネットワーク経路内のブローカコンピュータシステムのそれぞれのグループは、図１Ａ及び図１Ｂにおいて上記で説明されたとおり、データパケットを相互に冗長的に交換することができる。ゆえに、ブローカコンピュータシステムの２つのグループの各々において、高い可用性が実現される。
【０１１２】
同時に２つのネットワーク経路を冗長的に提供することによって、完全なネットワーク経路の障害の場合、データパケットを高度に利用可能な仕方で転送する冗長なネットワーク経路が場所２において構成されることが、確保される。データパケットが、２つのソースコンピュータシステムのコンピュータ１．１及びコンピュータ１．２から、ブローカコンピュータシステムの２つのグループのタスクサーバ１−０乃至２−１及びタスクサーバ３−０乃至４−１からのすべてに対してそれぞれ転送され、ブローカコンピュータシステムグループ内で冗長的に交換される。場所２におけるターゲットコンピュータシステムのコンピュータ２．１又はコンピュータ２．２への転送が、冗長的にもたらされる。
【０１１３】
ゆえに、図５に従う構成は、図１Ａ及び図１Ｂの構成の、図２及び／又は図３と関連した組み合わせを表す。
【０１１４】
一般に、図１Ａ乃至図５に例示されるとおりのすべての構成は、高い可用性又は災害能力それぞれの観点から、組み合わせられ、変動され、補足されてもよい。
【０１１５】
すべての構成が、高い可用性及び災害能力それぞれが、カプセル化されたソース又はターゲットコンピュータシステム間における通信方法を用いてデータセキュリティと組み合わせられるという利点をそれぞれ提供する。
【符号の説明】
【０１１６】
コンピュータ１      ソースコンピュータシステム
コンピュータ１．１  ソースコンピュータシステム
コンピュータ１．２  ソースコンピュータシステム
コンピュータ２      ターゲットコンピュータシステム
コンピュータ２．１  ターゲットコンピュータシステム
コンピュータ２．２  ターゲットコンピュータシステム
タスクサーバ１−０  ブローカコンピュータシステム
タスクサーバ１−１  ブローカコンピュータシステム
タスクサーバ２−０  ブローカコンピュータシステム
タスクサーバ２−１  ブローカコンピュータシステム
タスクサーバ３−０  ブローカコンピュータシステム
タスクサーバ３−１  ブローカコンピュータシステム
タスクサーバ４−０  ブローカコンピュータシステム
タスクサーバ４−１  ブローカコンピュータシステム
１乃至１０          方法ステップ
【図１Ａ】
0006419217.tif 000002
【図１Ｂ】
0006419217.tif 000003
【図２】
0006419217.tif 000004
【図３】
0006419217.tif 000005
【図４】
0006419217.tif 000006
【図５】
0006419217.tif 000007