(57)【要約】 【課題】  データネットワーク通信における冗長性を提供するための方法とシステムを提供するためのものである。【解決手段】  データトラフィックに関連する一つまたはより多くの属性を取得するために二つまたはより多くのホストシステム間のデータ通信に使用する第1のネットワークチャンネル上のデータトラフィックを監視することができる。そのデータ属性に基づいて、その属性に関連して一つまたはより多くの異常が存在するかを判定できる。もし存在すると判定した場合、それらが差し迫っているかあるいは現在起きているネットワーク上の事象または状態かを判定するために使用できる。一つまたはより多くのその異常がその事象または状態を示しているとの判定を受けて、二つまたはより多くのホストシステム間のデータ通信のために第２のネットワークチャンネルを選択できる。【選択図】  図１
2014147066.tif 000002
【特許請求の範囲】
【請求項１】
二つまたはより多くのホストシステム間でのデータ通信を提供するための計算機実装方法であって、前記方法は実行可能な命令により設定された一つまたはより多くの計算機システムにより制御され、
データトラフィックに関連する一つまたはより多くの属性を取得するため二つまたはより多くのホストシステム間のデータ通信に使用する第一のネットワークチャンネル上のデータトラフィックを監視すること、
前記一つまたはより多くの属性に関連した一つまたはより多くの異常を検出すること、
前記一つまたはより多くの異常が事象または状態を示すかを判定すること、および、
前記一つまたはより多くの異常が事象または状態を示すと判定したことに基づき、二つまたはより多くのホストシステム間のデータ通信のための第２のネットワークチャンネルを選択することを含むことを特徴とする計算機実装方法。
【請求項２】
請求項１による計算機実装方法において、データトラフィックに関連する一つまたはより多くの属性が前記データトラフィックのデータパケットのタイミング、アドレス、プロトコル、または順序を含むことを特徴とする計算機実装方法。
【請求項３】
請求項１による計算機実装方法において、一つまたはより多くの異常の検出が一つまたはより多くの属性のうちの少なくとも一つに関連したパターンを検査することを含むことを特徴とする計算機実装方法。
【請求項４】
請求項１による計算機実装方法において、前記一つまたはより多くの異常が前記事象または状態を示すかどうかの判定には一つまたはより多くの異常を前記事象または状態と相関させることを含むことを特徴とする計算機実装方法。
【請求項５】
請求項１による計算機実装方法において、前記事象または状態が差し迫っていることを特徴とする計算機実装方法。
【請求項６】
請求項１による計算機実装方法において、前記事象または状態が現在起きていることを特徴とする計算機実装方法。
【請求項７】
請求項１により計算機実装方法において、前記事象または状態が第１のネットワークチャンネルから許容可能な性能が欠落することと、二つあるいはそれより多くのホストシステムのうちの一つで稼動するアプリケーションのネットワーク状態が不適切であることと、または前記二つまたはそれよりも多くのホストシステムのうちの一つにセキュリティ上の脅威があることを含むことを特徴とする計算機実装方法。
【請求項８】
請求項１による計算機実装方法において、前記一つまたはより多くの異常が前記事象または状態を示すとの判定に基づいて第１のネットワークチャンネルの使用を無効にすることをさらなる特徴とする計算機実装方法。
【請求項９】
請求項８による計算機実装方法において、第１のネットワークチャンネルの使用を無効にすることが第１のネットワークチャンネルをシャットダウンするかあるいは第１のネットチャンネルのデータパケットを破棄することを含むことを特徴とする計算機実装方法。
【請求項１０】
請求項８による計算機実装方法において、予め定めた一定時間にわたり第１のネットワークチャンネルの使用を無効にすることを特徴とする計算機実装方法。
【請求項１１】
請求項８による計算機実装方法において、ネットワークの状態に基づいて判定された時間長にわたり第１のネットワークチャンネルの使用を無効にすることを特徴とする計算機実装方法。
【請求項１２】
請求項１による計算機実装方法において、検出した一つまたはより多くの異常が前記事象または状態を示すとの判定に基づいて、データトラフィックの種類に応じて二つまたはそれ以上のホストシステム間のデータ通信のために二つまたはより多くのネットワークチャンネルを選択することを含むことを特徴とする計算機実装方法。
【請求項１３】
請求項１による計算機実装方法において、前記二つまたはより多くのホストシステムのうち少なくとも一つが単一のコンピュータまたは端末デバイスを含むことを特徴とする計算機実装方法。
【請求項１４】
請求項１による計算機実装方法において、前記二つまたはより多くのホストシステムが二つまたはより多くの計算機または端末デバイスによるネットワークを含むことを特徴とする計算機実装方法。
【請求項１５】
実行可能な命令を保管する一つまたはより多くの非一時的な計算機読み取り可能な記憶媒体であって、計算機システムの一つまたはより多くのプロセッサにより実行されるときに、
データトラフィックに関連する一つまたはより多くの属性を取得する二つまたはより多くのホストシステム間のデータ通信に使用される第１のネットワークチャンネル上のデータトラフィックを監視するステップと、
前記一つまたはより多くの属性に関連する一つまたはより多くの異常を検出するステップと、
前記一つまたはより多くの異常が差し迫ったあるいは現在進行中の事象または状態かを判定するステップと、
前記一つまたはより多くの異常が前記事象または状態を示すと判定したことに基づいて、前記二つまたはより多くのホストシステム間のデータ通信のための第２のネットワークチャンネルを選択するステップを最低限含むことを特徴とする計算機読み取り可能な記憶媒体。
【請求項１６】
請求項１５による一つまたはより多くの計算機読み取り可能な記憶媒体において、データトラフィックに関連した一つまたはより多くの属性がデータトラフィックにおけるデータパケットのタイミング、アドレス、プロトコル、または順序を含むことを特徴とする計算機読み取り可能な記憶媒体。
【請求項１７】
請求項１５による一つまたはより多くの計算機読み取り可能な記憶媒体において、前記事象または状態が第1のネットワークチャンネルの許容範囲内の性能の欠如、二つまたはより多くのホストシステムのうちの一つで実行されているアプリケーションのためにネットワークの状態が不適切であること、または前記二つまたはより多くのホストシステムのうち一つへのセキュリティ上の脅威を含むことを特徴とする計算機読み取り可能な記憶媒体。
【請求項１８】
二つまたはより多くのホストシステム間のデータ通信を提供する計算機システムであって、
一つまたはより多くのプロセッサと、
一つまたはより多くのプロセッサにより実行可能な命令を含むメモリを備え、
実行可能な命令が計算機システムに対して、
データトラフィックに関連する一つまたはより多くの属性を取得する二つまたはより多くのホストシステム間のデータ通信のため使用する第１のネットワークチャンネル上のデータトラフィックを監視するステップと、
一つまたはより多くの属性に関連した一つまたはより多くの異常を検出するステップと、
前記一つまたはより多くの異常が事象または状態を示すかを判定するステップとを少なくとも実行させ、
前記一つまたはより多くの異常が事象または状態を示すとの判定に基づいて前記二つまたはより多くのホストシステム間のデータ通信のために第２のネットワークチャンネルを選択するステップを備える計算機システム。
【請求項１９】
請求項１８における計算機システムであって、データトラフィックに関連する属性がデータトラフィックにおけるデータパケットのタイミング、アドレス、プロトコル、あるいは順序を含むことを特徴とする計算機システム。
【請求項２０】
請求項１８における計算機システムであって、前記事象または状態が第1のネットワークチャンネルの許容範囲内の性能の欠如、二つまたはより多くのホストシステムのうちの一つで実行されているアプリケーションのためにネットワークの状態が不適切であること、または前記二つまたはより多くのホストシステムのうち一つへのセキュリティ上の脅威を含むことを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
クロスリファレンス
本明細書は、本明細書がその全体を参照する米国暫定特許出願番号６１／７５７，０６５（２０１３年１月２５日出願）による優先権を主張する。
【背景技術】
【０００２】
広域データ通信ネットワークはさまざまな理由により信頼できない。倒木や枝が電柱に設置された電線に被害を与えるとダイアル・アップやＤＳＬ通信は障害を受ける。セルラそして他の無線ネットワークの性能はアンテナ間の距離に比例して悪化したり、天候やその他の環境要因により影響を受ける。停電、電気的ノイズ、または超過した通信トラフィックによる混雑がすべての種類の末端の間の通信を中断させることができる。これらの中断はかなりの間続くことがあり、瞬間的な切断または一時的な切断であっても特にもしその事象がくり返されるなどの場合はデジタル通信に障害を与えうる。
【０００３】
これらのネットワークトラフィックの不慮の障害に加えて、通信ネットワークは予定された障害についても脆弱である。ネットワークおよび端末の脆弱性特定スキャンやサービス妨害攻撃、中間者ハイジャックの試みなど、もしそれらが失敗した場合であっても、これらすべては通常の通信トラフィックを中断できる。
【０００４】
通常の通信切断は容易に検出可能なデータエラーとなり、このようなエラー状態を検出して対応するための公知例が存在する。しかしながら、他の多くの事象にはハードエラーとならないのにもかかわらず使用不能になる程度にまでデータ通信を妨げるものがある。もしパケットが時間内に応答確認されなければ遅延が発生し得る。一方向の通信性能が良好であってもトランズアクションにおける往復に要する時間は容認できないことがある。２箇所の末端の間の部分ではネットワーク・コンポーネントやインフラストラクチャーの障害が発生し得て、それぞれのネットワークの末端部分ではローカルネットワーク・セグメントが正常と認識していている場合であってもデータの流れが止まることがある。他の電子デバイスや激しい雷雨による電気的な干渉が起因する一時的な中断は、トランズアクション通信セッションの通常パターンを妨害する問題を散発的に発生させることがある。データパケット内のビットエラーは容易に検出し得る一方で、期待されるパケットまたはパケットの順序の全体的欠如の検出はそれほど容易ではない。さらに、通信チャンネルがプロトコルに厳密に準拠している場合でも、セキュリティ侵入は通信を妨害しうる。
【０００５】
高可用性アプリケーションにおいては、複数の冗長性のある通信チャンネルを使用し、最低ひとつのチャンネルの整合性が妥協した場合にはそれらのなかから選択することが推奨される。異なる物理的なネットワークやネットワーク種別あるいはトポロジーにより維持される複数のネットワークを使用することにより、２つの末端の間におけるデータ交換の信用性と信頼性を大幅に改善できる。
【０００６】
ひとつより多いネットワーク種別をインター・コネクト可能なスイッチやブリッジ、ルーターといった既存の端末が通常扱われている。こういった既存の端末は、例えばベアラ信号が失われた場合等のエラー発生を検出したときにデータトラフィックをプライマリから代替通信チャンネルに移動することができる。
【０００７】
しかし、もしエラーが発生しない場合はどうだろうか。悪意のあるトラフィックは完全に成功することもあれば、もし失敗した場合であってもトラフィックを妨害できる。いずれの場合もいままでの意味でのエラーとはならない。混雑は性能をより劣化させるかもしれないが、これ自体はエラーではない。このように、通信チャンネルでハードエラーが必ずしも発生していない場合であってもネットワーク通信チャンネルの選択処理を実施する必要が生じる。
【発明の概要】
【０００８】
データネットワーク通信における冗長性を提供するための方法とシステムを示す。本発明によると、２つあるいはそれより多くのホストシステムとの間でのデータ通信を提供するために計算機に実装された方法を提供し、この方法は実行可能な命令により設定されたひとつあるいはそれよりも多くの計算機システムにより制御されることとする。この方法は、データトラフィックに関連するひとつあるいはそれより多く属性を得るためのふたつあるいはそれより多くのホストシステム間のデータ通信に使用する第一のネットワークチャンネル上のデータトラフィックの監視と、ひとつあるいはそれより多くの属性に関連したひとつあるいはそれより多くの異常状態の検出と、そのひとつあるいはそれより多くの異常状態が事象あるいは状況を表しているかの判断と、ひとつあるいはそれより多くの異常状態が事象あるいは状況を表しているかの判断に応答してふたつあるいはそれより多くのホストシステム間のデータ通信のための第２のネットワークチャンネルの選択とにより構成される。データトラフィックに関連するひとつあるいはそれより多くの属性には、データトラフィックにおけるデータパケットのタイミング、アドレス、プロトコル、あるいは順序を含むことができるが、その限りではない。
【０００９】
本発明における他の実施例では、ひとつあるいはより多くの非一時的な計算機読み取り可能記憶媒体が提供され、コンピュータシステムにおけるひとつあるいはより多くのプロセッサにより実行されたときに、少なくともその計算機システムが二つあるいはより多くのホストシステム間でデータトラフィックに関連したひとつあるいはより多くの属性を取得するためのデータ通信のために使用する第一のネットワークチャンネル上のデータトラフィックを監視し、ひとつあるいはより多くの属性に関連したひとつあるいはより多くの異常を検出し、そのひとつあるいはより多くの異常が差し迫ったあるいは現在起きている事象あるいは状態を表しているかを判断し、そのふたつあるいはより多くのホストシステム間のデータ通信のために第2のネットワークチャンネルを選択する実行可能な命令を保管する。
【００１０】
本発明における他の実施例によると、ふたつまたはより多くのホストシステム間のデータ通信を提供する計算機システムであって、ひとつまたはより多くのプロセッサと、ひとつまたはより多くのプロセッサにより実行可能な命令を含むメモリを備え、実行可能な命令が計算機システムに対して、少なくとも以下を実行させる。即ち、データトラフィックに関連するひとつまたはより多くの属性を取得するふたつまたはより多くのホストシステム間のデータ通信のため使用する第１のネットワークチャンネル上のデータトラフィックを監視し、ひとつまたはより多くの属性に関連したひとつまたはより多くの異常を検出し、そのひとつまたはより多くの異常が事象または状態を示すかを判定し、そのひとつまたはより多くの異常が事象または状態を示すとの判定に基づいてそのふたつまたはより多くのホストシステム間のデータ通信のために第２のネットワークチャンネルを選択する。
【００１１】
いくつかの実施形態によれば、データトラフィックに関連したひとつまたはより多くの属性は、データトラフィックにおけるデータパケットのタイミングやアドレス、プロトコル、または順序を含む。ひとつまたはより多くの異常の検出にはひとつまたはより多くの属性のうち少なくともひとつに関連したパターンの検査を含むことがある。そのひとつまたはより多くの異常がその事象または状態を示すかの判定は、その事象または状態にそのひとつまたはより多くの異常を相関させることを含むことがある。
【００１２】
いくつかの実施形態によれば、その事象または状態は差し迫っているかあるいは現在起きていることがある。その事象または状態は、第１のネットワークチャンネルの許容範囲内の性能の欠如、ふたつまたはより多くのホストシステムのうちのひとつで実行されているアプリケーションのためにネットワークの状態が不適切であること、またはそのふたつまたはより多くのホストシステムのうちひとつへのセキュリティ上の脅威を含む。
【００１３】
いくつかの実施形態によれば、上述した方法はさらに次を含む。即ち、ひとつまたはより多くの異常がその事象または状態を示すとの判定を受けて、データトラフィックの種類によってふたつまたはより多くのホストシステム間のデータ通信のためにふたつまたはより多くのネットワークチャンネルを選択することを含む。
【００１４】
いくつかの実施形態によれば、ふたつまたはより多くのホストシステムのうち少なくともひとつは単一の計算機あるいは端末デバイスを含む。いくつかの実施形態によれば、ふたつまたはより多くのホストシステムのうち少なくともひとつはふたつまたはより多くの計算機または端末デバイスによるネットワークを含む。
【００１５】
いくつかの実施形態によれば、上述した方法はさらに次を含む。即ち、そのひとつまたはより多くの異常がその事象または状態を示すという判定を受けて、第１のネットワークチャンネルの使用を無効にする手段を備える。第１のネットワークチャンネルの使用を無効にする手段は、第１のネットワークチャンネルのシャットダウン、データパケットの破棄もしくはそれに類似した手段を含む
【００１６】
さらなる態様および本発明の利点は、本発明の例示的な実施形態のみが図示および説明される以下の詳細な説明から当業者には容易に明らかになるであろう。実現にあたり、本開示は他の異なる実施形態が可能であり、そのいくつかの詳細は本開示から悦脱することなく、種々の明白な点において変更が可能である。したがって、図面および説明は限定的ではなく、本質的に例示とみなされることとする。
【００１７】
参照による取り込み
本明細書で言及した全ての刊行物、特許および特許出願は、個々の刊行物、特許、または特許出願が具体的であるかのように同程度に、本明細書に参考として援用かつ個別に参考として援用されるように示されている。
【図面の簡単な説明】
【００１８】
本発明の新規な特徴は、添付の特許請求の範囲に詳細に記載されている。本発明の特徴および利点のより良い理解は、記載の本発明の原理が利用される例示的な実施形態を、以下の詳細な説明を参照することによって得られるであろう。
【図１】図１に本発明による実施例におけるネットワーク選択システム１００の例を示す。
【図２】図２に本発明による他の実施例におけるネットワーク選択システム２００を図示する。
【図３】図３に本発明による他の実施例におけるネットワーク選択システム３００を図示する。
【図４】図４に本発明による他の実施例におけるネットワーク選択システム４００を図示する。
【図５】図５に本発明による他の実施例におけるネットワーク選択システム５００を図示する。
【図６】図６に本発明による他の実施例における計算端末６００を図示する。
【図７】図７に本発明による実施例におけるネットワーク選択システム７００を図示する。
【発明を実施するための形態】
【００１９】
本発明はネットワークトラフィックに異常事態を検出したときにデータ通信のために最適な通信チャンネルあるいはネットワークを選択する方法とシステムを開示する。こういった異常状態は、たとえば差し迫ったネットワーク障害や特定のアプリケーションにとって不適切なネットワーク状態、ネットワークチャンネルに関して許容されるレベルの性能の欠如あるいは低下が現在進行中あるいは差し迫っているかどうか、通信チャンネルやネットワークをしようするホストに対する安全上の脅威あるいは機密漏えいが差し迫っているあるいは進行中といった状態を示せる。ある実施例によれば、ネットワーク選択システムは通信トラフィックでの異常状態を特定可能な検出部と、ネットワークの性能や安全上の脅威を示す特定の異常状態か否かを判断する分類部と、トラフィックをどの通信チャンネルあるいはチャンネル群に対して発信すべきかを判断するために使用する切替部を含むことができる。
【００２０】
ある実施例によれば、検出部や分類部、切替部はひとつあるいはより多くの統合型あるいは分散型計算端末もしくはシステムにより実装できる。ある実施例によれば、分類部と切替部は単一の端末あるいはひとつよりも多くの端末に組み込まれることができる。これらの端末のうちいくつかあるいは全ての端末は通信チャンネルとホストとは分離されて目に見えないことがある。ここで、「目に見えない」とはチャンネルとホストいずれも本発明が実装されているかを認知しないことを意味する。通常、ホストシステムが本発明を使用するための設定あるいは他の変更はほとんど必要としない。他の実施例では、検出部や分類部、そして／あるいは切替部を実装する端末は通信チャンネルそして／あるいはホストから確認可能そして／あるいは組み込まれることがある。
【００２１】
第１図に本発明による実施例に基づくネットワーク選択システムの例を示す。ネットワーク選択システムは、ふたつあるいはより多くのホストシステムがネットワークの状態によってひとつもしくはより多くの通信またはネットワークチャンネルと確実に通信することを可能とする。第１図に示すように、例えば、クライアント１０１はネットワーク選択部１０２を介してサーバ１０３と通信し、ここでネットワーク選択部１０２はネットワークの状態によりネットワークチャンネルまたは複数の利用可能なネットワークチャンネルからひとつあるいはより多くのネットワークチャンネルを選択することができる。それぞれのホストシステム（例えばクライアントまたはサーバ）は、例えばデスクトップコンピュータ、サーバコンピュータ、メインフレームコンピュータ、モバイル端末、セルラ電話、スマートフォン、タブレット端末、スマートテレビ、セットトップボックスといったデータを送信そして／あるいは受信可能なひとつあるいはより多くの計算端末を含むことができる。一実施例では、クライアント１０１はふたつの物理的なネットワーク接続のいずれかをつかって通信でき、そのいずれかあるいは両方がアナログダイアルアップ接続やＤＳＬ接続、セルラ無線接続、専用線、マイクロ波によるリンク、あるいは他の物理ネットワークの種別であり得る。通常、それぞれの物理ネットワークへのアクセスは何らかのデータ通信設備（ＤＣＥ）を介して確立され、それは第１図でデータモデムＡ１０８とデータモデムＢ１０９として示すように何らかの種類のモデムを介すことが最も一般的である。
【００２２】
上述のとおり、本ネットワーク選択システムは、例えばネットワーク選択部１０２のように、単一の統合端末あるいはアプライアンスとして実装できる。クライアント１０１への、あるいはそれから送られるネットワークデータパケットはネット枠選択部１０２を通りぬけられる。通常の状態では、ネットワーク選択部１０２はクライアント１０１からデータモデムＡ１０８へパケットを伝達し、データモデムＡ１０８がサーバ１０３に発信する。サーバ１０３からの応答パケットはネットワーク選択部１０２のデータモデムＡ１０８に送信され、その後それらはクライアント１０１に送られる。
【００２３】
ある実施例によれば、データトラフィックに関連したひとつあるいはより多くの属性を得るためにふたつあるいはより多くのホスト間のデータ通信に使われる特定のネットワークチャンネルのデータトラフィックが監視される。例えば、データトラフィックがネットワーク選択部１０２を通り抜けるところで検出部によりデータトラフィック上のデータパケットが処理され得る。データトラフィックの監視は一方向あるいは双方向でなされうる。例えば、ある実施例によれば、クライアントからサーバへのデータトラフィックのみが監視される。他の実施例によれば、サーバからクライアントへのデータトラフィックのみが監視される。さらに他の実施例によればクライアントからサーバへ、またサーバからクライアントへの双方向データトラフィックが監視される。
【００２４】
ある実施例によれば、検出部はパケット監視部１０４と解析部１０５を含むことができる。パケット監視部１０４はぞれぞれの送信そして受信したパケットの特定の属性について個別に調べるよう設定でき、その特定の属性には、パケットの到来時刻やパケットのプロトコル種別、パケット長、パケット送信元アドレス、パケット送付先アドレス、該当する場合にはパケットの送信元と送付先のソケット番号、パケット優先順位、サービス品質（ＱｏＳ）の必要条件やパケット順序番号、そして／あるいは他の属性が含まれることができ、またその限りではない。これらの属性の一部あるいはその全てがパケットの扱いや提供先を支配ことがある。ある推奨実施形態では、処理速度と効率の利益のために、パケット監視部は特定のパケットの実際のデータペイロードを検査しない。
【００２５】
パケット解析部１０５は、以前送信そして／あるいは受信したパケットのコンテキストにあるパケットの集まりを検査するように設定できる。パケット解析部１０５により検査される属性の例には、連続したあらゆる種類におけるもしくは類似したアドレスから受け取ったかあるいは類似したプロトコルで受信したパケット間の時間間隔や、他の点では同一パケットの連続した再試行の回数、成立したプロトコル推奨仕様の準拠の有無、そしてデータ送信と承認の受信あるいは他のイベント間の往復時間が含まれるが、その限りではない。ある実施例によれば、パケット監視部とパケット解析部は同日あるいは分離したコンポーネント、プロセス、計算端末、そして／あるいは計算システムにより実施されうる。
【００２６】
一実施例においては、検出部は取得した属性を分析し、果たしてその属性に関連してひとつあるいはより多くの異常状態があるかを検出することができる。例えば、属性が通常あるいは期待されるパターンから悦脱しているかどうかを判断するために、ひとつあるいはより多くの属性に関連したひとつあるいはより多くのパターンを検査することがある。もし、送信し／あるいは受信したパケットが通常の通信トラフィックパターンに準拠している場合、検出部は何もしないことがある。しかしながら、もしその送信し受信したパケットが通常のトラフィックパターンに準拠しない場合、検出部は分類部１０６に対してその検出したひとつあるいは複数の異常状態についてその異常状態に関する詳細と共に報告することがある。異常状態の検出には、署名データベースを使用するか、ルール処理を使用するか、適応学習戦略を使用するか、あるいは他の方法を使って処理されることができる。いくつかの実施形態では、ここで示したいずれかのひとつあるいはより多くのモジュールは、あらゆるパターン検出、パターン認識そして／あるいは統計解析やファジーロジック、ニューラルネットワークといったといった機械学習技術によって実装できる。
【００２７】
検出部が検出し／あるいは分類部に通知できる異常状態の種類には、くり返されるパケットの異常に急速なまたは過剰な数や期待されるパケットの欠如、ネットワークの混雑を示す異常に多いパケット、潜在的にスキャンまたは攻撃を示す使用していないポートやソケットに対して送付されるパケットの数、そして確立したネットワークプロトコルの準拠に失敗していることを示す通信セッションのコンテキストの外として受信したデータパケットといった種類が含まれるがその限りではない。
【００２８】
いくつかの実施例によれば、検出した異常状態は差し迫ったかあるいは進行中の事象あるいは状態を示すことがある。こういった事象あるいは状態のいつかあるいはすべては好ましくないかもしれないが、通常データ通信システムのホスト（例えばクライアントそして／あるいはサーバ）に報告を要する種類のハード「エラー」としての資格または結果には必ずしもならないことがある。いくつかの実装形態では、そのひとつあるいはより多くの異常状態が事象あるいは状態を示すかを判断するために、そのイベントや状態についてひとつあるいはより多くの異常状態を相関させることが含まれる。その事象や状態の例には、差し迫ったネットワーク障害や、特定のアプリケーションのためには不適切なネットワークの状態、許容可能なネットワークチャンネルの性能について差し迫ったあるいは進行中の中断、通信チャンネルあるいはネットワークを使用するホストに対する差し迫ったあるいは進行中の機密漏えいあるいは機密脅威そしてそれに類似したものが含まれる。例えば、異常状態はデータモデムＡ１０８によりアクセスされるネットワークチャンネルに関する差し迫ったあるいは進行中のネットワーク障害を示すことがある。
【００２９】
分類部１０６は解析部１０５から報告される検出済みの異常状態について検査するよう設定でき、ひとつあるいはより多くの異常状態が差し迫ったあるいは進行中の事象や状態を示しているかを判断し、その場合にはどのような対応をすべきかを判断できる。典型的な実施例においては、現在の通信チャンネルまたはネットワークと異なるひとつあるいはより多くの代替通信チャンネルあるいはネットワークを選択することが含まれる。例えば、ひとつの実施形態においては、データモデムＡ１０８に関連した通信チャンネルで異常状態を示す事象や状態が検出されたとき、送信とデータモデムＡ１０８からのパケット受信を中断するように命令でき、データモデムＢ１０９からのパケット受信や送信を実行するよう命令できる。この事象または状態を示すひとつまたはより多くの異常状態を断定したことに対して、（例えばチャンネルをシャットダウンしたり、そのチャンネルに関連したデータパケットを破棄するといったように）現在使用中の通信またはネットワークチャンネル通信または現在使用中のネットワークチャンネルを無効にすることができる。他のアクションとして、データモデムＢ１０９の通信を中断してデータモデムＡ１０８の利用に戻ったり、起動、初期化、登録、ダイヤル処理、ＩＰアドレスの取得あるいは使用するモデムの準備、シャットダウン、登録解除、ハング・アップ、ＩＰアドレスの開放あるいはモデムを待機状態に設定するか、将来的に参照する目的でエラーをログファイルに記録したり、ネットワークパケットを監視ホストに送信したり、ネットワーク管理者にＳＭＳ通知あるいは他の警告といったものが含まれるがその限りではない。
【００３０】
上述のとおり、検出部や分類部、切替部は第１図に示したようにひとつの物理的なアプライアンスとして実装できる。他の実装として、これらの機能は２つ、３つあるいはより多くの計算端末により実装できる。第２図に、ネットワーク侵入検出システム（ＩＤＳ）を含む複数の端末に分散させて本発明の構成要素の実装例を示す。こういったＩＤＳには、商用として容易に入手可能なＩＤＳや特製のＩＤＳが含まれる。示した例では、検出部の機能はＩＤＳ２０２により実装される。ＩＤＳ２０２はパケット監視部２０５と解析部２０６の機能を統合して検出部を実装する。さらに加えて、例えば通常モードで処理するために他の機能を実装することもある。
【００３１】
いくつかの実装形態では、ＩＤＳ２０２の解析部２０６はネットワーク異常状態を示す事象や状態を、単純化されたネットワーク選択部２０３に含まれる分類部２０７に通知することがある。図２のネットワーク選択部２０３は図１のネットワーク選択部１０２と比較して単純化されている。なぜなら、図２のネットワーク選択部２０３は検出部を実装しないからである。図２に示すとおり、このような報告には専用の通信チャンネルが使用されることがあり、あるいは例えばＳＮＭＰプロトコルを使って他のすべてのネットワークトラフィックと同じチャンネルで送信される。分類部２０７や切り替え部２０８そしてモデム２０９と２１０は、図１に示した分類部１０６や切り替え部１０７そしてモデム１０８と１０９と実質的に類似していることがある。
【００３２】
いくつかの実装形態では、上述したコンポーネントのいずれかあるいはいかなる組み合わせはＩＤＳや侵入防止システム（ＩＰＳ）、これらの組み合わせ、ファイヤーウォール（例えばインテリジェント・ファイヤーウォール）、特定目的のために作られた端末やそれに類似したものにより実装されうる。例えば、検出部はＩＤＳやＩＰＳ、それらの組み合わせ、ファイヤーウォールあるいは特注端末により実装されることがあり、その他のコンポーネントは他の端末により実装される。さらに他の事例として、検出部と分類部は共にＩＤＳやＩＰＳあるいはファイヤーウォールにより実装され、切替部はそれ自身用のアプライアンスにより実装される。他の実装形態では、検出部と分類部、そして／あるいは他のモジュールは物理的なハードウェアそして／あるいはクライアントそして／あるいはサーバの論理的なソフトウェアコンポーネントとして実装されることがある。
【００３３】
ある実装形態では、切替部はブリッジやスイッチ、ルータゲートウェイ、マルチメディアモデムあるいは他の通信ハブ機器やハードウェアもしくはそのソフトウェアコンポーネント内に組みこまれるかあるいはそれらにより実装されることがある。
【００３４】
いくつかの実装形態では、物理的な接続数は２つに限定されず、同様に、ＤＣＥはサーバでそれに対応する機器と直接通信する必要はない。例えば、冗長性を確保するために２つを超える通信もしくはネットワークチャンネルが提供されることがあり得る。さらなる例として、クライアントとサーバは公衆ネットワーク（例えばインターネット）などのネットワークを介してお互いに通信できる。
【００３５】
第３図は、ネットワーク選択部３０２が３つのモデム３０９、３１０、３１１を含み、データ通信における冗長性を提供し、それらのモデムは公衆のインターネット３０３を介してサーバ３０４と通信する。いくつかの実装形態では、モデムと接続種別は同機種（例えば３つ全てが異なるキャリアベンダによりサポートされるセルラ無線モデムの場合）か、あるいは異機種（例えばひとつがＤＳＬモデムでひとつはＧＳＭ（登録商標）セルラモデムで、さらにひとつはＣＤＭＡセルラモデムの場合）であり得る。いくつかの実装形態では、ネットワーク３０３は公衆ネットワーク、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、セルラネットワーク、無線ネットワーク、あるいはそれに準ずることがある。いくつかの実装形態では、同一あるいは異なる種別のひとつあるいはより多くのネットワークを使ってクライアントとサーバ間で通信できる。例えば、実装形態によれば、クライアントはネットワーク（例えばＷｉ−Ｆｉ）を介してネットワーク選択部３０２と通信することがあり、ネットワーク選択部は直接あるいはネットワーク３０３を介してサーバと通信できる。ある実装形態では、ネットワーク選択システムを構成するいくつかのコンポーネントの機能は第１図に関連して図示したものと類似していることがある。
【００３６】
本発明におけるネットワーク選択システムを活用するホストシステムの数や種別そして／あるいは設定内容は単一のクライアントとサーバに限定されない。そのかわりに、個々のホストシステムはＬＡＮ環境であるように複数のネットワーク接続された端末を含むことがある。従って、ネットワーク選択システムはクライアント端末によるサブネットワーク全体に冗長性をもたせるべくふたつあるいはより多くのチャンネルを提供できる。クライアントは同一あるいは異なる種類であり得、サーバあるいはネットワーク（例えばインターネット）を介してサーバ群と通信するように設定できる。
【００３７】
第４図では、クライアント４０１、４０２、そして４０３が存在するローカルネットワーク４０４に冗長な通信環境を提供するために使われるネットワーク選択部４０５を示す。クライアント端末は第４図に示すように異質のことがある。例えば、クライアント端末にはラップトップＰＣ４０１やセルラ電話あるいはスマートフォン４０２、タブレット端末４０３、デスクトップ計算機、スマートテレビといったものが含まれる。代わりに、クライアント端末が同質の場合もあり得る。例えば、クライアント端末がデスクトップ計算機のみによって形成されるネットワークを構成することがある。同様に、クライアントとネットワーク選択部との間の接続は無線接続（例えばＷｉ−Ｆｉ）のみを使った同質の場合もあり、あるいは無線接続（例えばＷｉ−Ｆｉ）と優先接続（例えばイーサネット（登録商標））の混合を使った異質の場合もある。さらに、クライアント端末はさまざまな種類のサーバ（４０７，４０８，４０９）と通信することがあり、それには、メールサーバ、ウェブサーバ、アプリケーションサーバ、ストレージサーバ、金融トランズアクション処理部、そしてコンテンツサーバが含まれるがその限りではない。ある実施例では、クラウド型サービスを提供するようにサーバを設定できる。サーバがネットワーク選択部により提供されるシステムの一部分である必要はなく、システムは単にピア・ツー・ピアクライアントによる大規模な分散クラウドでもあり得、ネットワーク選択部はサブネットワークごとに１つのネットワーク選択部を使用して、クライアントのサブネットワーク間の通信の高信頼性を提供するために使用できる。
【００３８】
第５図はクライアントの一ネットワークがネットワーク選択部に接続し、さらにそれが他のクライアントの一ネットワークに対して機能する他のネットワーク選択部に接続する実装形態を示し、典型的にネットワーク（例えば公衆インターネット）を介して接続する。このような設定は、例えば専用線や仮想閉域ネットワーク（ＶＰＮ）と同様に閉域的でかつデジタルで継続的に接続する必要がある２つの物理的に離れた事務所間への通信を提供するたけみ使うことができる。
【００３９】
実装形態によると、異機種ネットワークチャンネルは異なるレベルの性能を備え、それはビットレートや遅延、待ち時間、コストやその他の基準に基づいている。トラフィックの種類に基づく要求仕様に沿って様々なチャンネルを使ってトラフィックを分散させるようにネットワーク選択部を設定でき、それにより、優先度の低いデータが最も経済的なチャンネルを使って通信すると同時に非常に重要なデータをたとえもし比較的コスト高であっても利用可能な最速のチャンネルを使ってすぐに通信する。高速チャンネルの損失時には、通常はそのチャンネルに送られるトラフィックが代替のチャンネルにルーティングされ、その一方で低速チャンネルの損失時には高速チャンネルが信用のおける程度まで通信が回復するまで低速チャンネルを利用していたその種類の通信は中断される。
【００４０】
第６図に、本発明による実装例として計算端末６００を示す。異なる実装形態では、計算端末６００はネットワーク選択部やクライアント端末、サーバ端末あるいはこれらのコンポーネントを実装するように設定できる。他の実装形態では、計算端末６００は第６図に示されているよりも多くのコンポーネントを含むことがある。しかしながら、実装形態を開示するためにこれらすべてのコンポーネントを図示する必要はない。
【００４１】
第６図に示すように、計算端末６００は上述したネットワークに接続するためのネットワークインターフェース部６０２を含む。いくつかの実装形態では、計算端末６００はひとつあるいはより多くのネットワークインターフェース６０２を備え、それによりインターネットやワイヤレスネットワーク、セルラネットワークそしてその他いずれかのネットワーク等、ひとつあるいはより多くの種類のネットワークと通信する。
【００４２】
実施形態によると、計算端末６００はまたひとつあるいはより多くの演算処理ユニット６０２やメモリ６０６、任意の表示部６０８を含み、すべてバス６１０を介してネットワークインターフェース６０２と共に相互に接続する。演算処理ユニット６０４はメモリ６０６に保管されているひとつあるいはより多くの方法やルーチンを実行することができる。表示部６０８はグラフィカルユーザインターフェースを提供して利用者が計算端末６００を操作してユーザ入力を受信したり出力を表示したり、さらに／あるいはアプリケーションを実行するように設定できる。計算端末６００がサーバあるいはネットワーク端末であるとき等、場合によっては表示部６０８は任意でよい。
【００４３】
実施形態によると、メモリ６０６は計算機で読み取り可能な非一時記憶だったり、あるいは計算機読み取り可能な一時的な媒体を含むことができる。例えば、メモリ６０６はランダム・アクセス・メモリ（「ＲＡＭ」）や読み出し専用メモリ（「ＲＯＭ」）、ディスクドライブ、フロッピー（登録商標）ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカード、ＵＳＢフラッシュドライブ、ソリッド・ステートドライブ（ＳＳＤ）等を含むことができる。メモリ６０６は、演算処理ユニットから受信したデータや、さらに入力端末（ここで図示せず）、あるいは計算端末の他のモジュールから受信したデータを保存するように設定できる。例えば、プログラムコードはオペレーティングシステム６１２やひとつあるいはより多くのネットワーク選択ルーチン６１４とそれと準ずるコードが含まれる。実装形態によると、上述の不揮発性の計算機読み出し可能な保存媒体に関連したドライブ機構を使用してプログラムコードをメモリ６０６に格納する。他の実施例によると、代替として不揮発性の計算機読み出し可能な保存媒体５１８経由ではなくネットワークインターフェース部６０２経由で搭載できる。
【００４４】
実施形態によれば、計算端末６００はバス６１０を介してひとつあるいはより多くのローカルあるいは遠隔データベースや、バス６１０あるいはネットワークインターフェース部６０２を介してオンラインデータ保管システムといったようなデータ保管部とも通信する。バス６１０は、ストレージ・エリア・ネットワーク（「ＳＡＮ」）や高速シリアルバス、そして／あるいは他の適切な通信技術を形成する。いくつかの実施形態によれば、このデータベースあるいはデータ保管部は計算端末の一部として統合できる。
【００４５】
実施形態によれば、本発明はゲートアレイや特定用途向け集積回路（「ＡＳＩＣ」）、あるいはデジタル・シグナル・プロセッサの論理演算として実装される。
【００４６】
本発明の好ましい実施形態を図示し説明したが、このような実施形態は単なる例として提供されていることは当業者には明らかであろう。多くの変形、変更、および置換が、本発明から逸脱することなく当業者には想起されるであろう。なお、本明細書に記載された本発明の実施形態に対する様々な代替が本発明を実施する際に用いることができることを理解すべきである。なお、以下の特許請求の範囲は本発明の範囲を定義し、これらの請求項およびその均等物の範囲内の方法及び構造は、それによって網羅されることが意図されている。
【００４７】
第７図に本発明における処理例７００を実施例として示す。処理例７００は第１図から第５図に関連して述べたネットワーク選択システムあるいはそのいずれかの部品により処理される。処理例７００のいくつかあるいはすべての部分（またはこれの応用あるいは／または組み合わせによる他のプロセス）により、実行可能な命令により設定されたひとつまたはより多くの計算機／制御システムで実行でき、またコード（実行命令やひとつあるいはおり多くの計算機プログラムあるいはひとつまたはより多くのアプリケーション）によってひとつあるいはより多くのプロセッサにてひとまとめに実行するよう、ハードウェアあるいはその組み合わせ上に実装される。コードは、例えばひとつあるいはより多くのプロセッサで実行可能な複数の命令を形成する計算機プログラムの形式をもつ計算機で読み出し可能な記憶媒体に保管される。計算機で読み出し可能な記憶媒体は不揮発性である。ここで示した処理の順序は限定事項として解釈されることを意図せず、上述したいずれの動作は処理を実装するためにいかなる順序で組合せられ、そして／あるいは並行処理として実装できる。
【００４８】
実装形態によれば、プロセス７００は、データトラフィックに関連したひとつあるいはより多くの属性を取得するふたつあるいはより多くのホストシステム間でのデータ通信のためにしようする第一のネットワークチャンネルのデータトラフィックを監視（７０２）する処理を含む。この監視処理は単一方向あるいは双方向のデータトラフィックのために実行可能である。トラフィック属性はデータパケットと関連付けることができる。例えば、属性はデータパケットのタイミング、アドレス、プロトコル、順序あるいは他の属性と関連できる。いくつかの実装形態では、トラフィック属性は個々にそして／あるいは他のパケット（例えば過去に検査したパケット）のコンテキストに基づいて検査できる。
【００４９】
この属性は、例えばひとつあるいはより多くの属性によるパターンからの悦脱など、その属性に何らかの異常状態があることを検出（７０４）するために使用できる。この異常状態の例には、異常に頻繁あるいは過剰な再送パケットの数や、期待されるパケットの欠落、ネットワークの混雑を示す異常に高い頻度のパケット、スキャンまたは攻撃を潜在的に示す不使用のポートあるいはソケットへ送信されるパケットの存在、確立されたネットワークプロトコルの準拠に失敗していることを示す通信セッションのコンテスト外として受信したデータパケットといったものが含まれる。
【００５０】
プロセス７００は検出した異常が事象あるいは状態を示すかを判断する（７０６）ことを含むことができる。この事象あるいは状態は今まさに起きようとしている（例えば、差し迫った）かあるいは現在発生しうる。いくつかあるいはすべてのこのような事象や状態は、データ通信システムのホスト（例えばクライアントそして／あるいはサーバ）に報告が一般的に必要なハード「エラー」になるか、あるいはみなされるとは限らない。いくつかの実装形態によれば、ひとつあるいはより多くの異常がその事象や状態なのかを判断するためには、ひとつあるいはより多くの異常をその事象や状態と相関させることが含まれる。こういった事象や状態の例には、ネットワークチャンネルに関して許容レベルの性能の損失が差し迫っているかあるいは現在進行中の状態、特定のアプリケーションに対してネットワーク状態が不適切である状態、許容レベルのネットワークチャンネルの性能の損失が差し迫っているかあるいは現在進行中である状態、通信チャンネルまたはネットワークを使用するホストでセキュリティ上の脅威あるいは機密漏えいが差し迫っているかあるいは現在進行中である状態といったものが含まれる。
【００５１】
もし異常が事象は状態を示していると判断された場合、プロセス７００には第２のネットワークチャンネルを選択する（７０８）ことを含められる。シャットダウンやパケットの破棄、または一定の時間中に第１のネットワークチャンネルを無効にするなどの他の処理も実行されうる。この一定の時間は所定の時間、固定の時間長またはネットワークの状態に基づいて判断できる。例えば、第１のネットワークチャンネルのネットワーク状態が改善した時や、第１のネットワークチャンネルがその時点でのトラフィック要求事項あるいはネットワーク環境からみて適切と判断された時やそれと同等のときに第１のネットワークチャンネルは再度有効にできる。そうでなければ、もし実装形態においてその異常が事象や状況を示していないと判断された場合、アクションはとらない（７１０）。
【００５２】
本発明の好ましい実施形態を図示し説明したが、このような実施形態は単なる例として提供されていることは当業者には明らかであろう。多くの変形、変更、および置換が、本発明から逸脱することなく当業者には想起されるであろう。なお、本明細書に記載された本発明の実施形態に対する様々な代替が本発明を実施する際に用いることができることを理解すべきである。なお、以下の特許請求の範囲は本発明の範囲を定義し、これらの請求項およびその同等事項の範囲内の方法及び構造は、それによって網羅されることが意図されている。
【図１】
2014147066.tif 000003
【図２】
2014147066.tif 000004
【図３】
2014147066.tif 000005
【図４】
2014147066.tif 000006
【図５】
2014147066.tif 000007
【図６】
2014147066.tif 000008
【図７】
2014147066.tif 000009
【外国語明細書】
2014147066000001.pdf