(57)【要約】  書込保護キャッシュ（ＷＰＣ）が、プロセスと、ソリッドステートドライブ（ＳＳＤ）上のディスクキャッシュとの間に導入される。キャッシュは保持エリアを提供し、二度以上見たデータのみをディスクキャッシュにコミットする。ＷＰＣは、ドライブへの不要な書込を回避することで、ディスク上のデータに対する保護層を提供する。この保護は、ワイドエリアネットワーク（ＷＡＮ）プロセスが、二度以上見たデータまたはチャンクのみをディスクにコミットすることで得られる。
2021504858.tif 000002
【特許請求の範囲】
【請求項１】
データストレージ削減のためのワイドエリアネットワーク（ＷＡＮ）最適化方法であって、
データと前記データのダイジェストとを一度目に受信するステップと、
前記データと前記ダイジェストとを受信したのは一度目であると判断したことに応じて、前記ダイジェストを書込保護キャッシュに格納するステップと、
前記データと前記データの前記ダイジェストとを二度目に受信するステップと、
前記データと前記ダイジェストとを受信したのは二度目であると判断したことに応じて、前記データと前記データの前記ダイジェストとをメインディスクに格納し、前記書込保護キャッシュから前記ダイジェストを削除するステップと、
後続の転送において前記ダイジェストを受信するステップと、
前記受信したダイジェストに基づいて前記メインディスクの前記データにアクセスするステップとを含む、方法。
【請求項２】
前記データと前記データの前記ダイジェストとをメインディスクに格納するステップは、ＷＡＮエグレス処理中にのみ行われる、請求項１に記載の方法。
【請求項３】
前記データと前記データのダイジェストとを一度目に受信するステップは、ＷＡＮエグレスプロセスにおいて行われる、請求項１に記載の方法。
【請求項４】
前記ダイジェストはセキュアハッシュアルゴリズムダイジェストを含む、請求項１に記載の方法。
【請求項５】
前記データおよび前記ダイジェストはともにチャンクを含み、典型的なチャンクはおよそ１．５ｋＢ〜２２ｋＢであり平均サイズが約８ｋＢである、請求項１に記載の方法。
【請求項６】
ローカルエリアネットワークに到着したデータをＷＡＮイングレスプロセスが受けるステップと、
前記データをチャンクにグループ分けするステップとをさらに含む、請求項３に記載の方法。
【請求項７】
前記ＷＡＮイングレスプロセスがチャンクごとにダイジェストを計算するステップをさらに含む、請求項６に記載の方法。
【請求項８】
第１のチャンクの第１のダイジェストをエグレスプロセスに送るステップをさらに含む、請求項７に記載の方法。
【請求項９】
前記エグレスプロセスが前記メインディスクに格納された前記第１のチャンクを有する場合、前記エグレスプロセスが確認応答（ＡＣＫ）で応答するステップと、
前記エグレスプロセスが前記メインディスクに格納された前記第１のチャンクを有しない場合、前記エグレスプロセスが否定確認応答（ＮＡＣＫ）で応答するステップとをさらに含む、請求項８に記載の方法。
【請求項１０】
前記応答がＮＡＣＫである場合、データの前記第１のチャンクを前記エグレスプロセスに送るステップをさらに含む、請求項９に記載の方法。
【請求項１１】
データストレージ削減のためのワイドエリアネットワーク（ＷＡＮ）最適化装置であって、
データと前記データのダイジェストとを一度目に受信するための手段と、
前記データと前記ダイジェストとを受信したのは一度目であると判断したことに応じて、前記ダイジェストを書込保護キャッシュに格納するための手段と、
前記データと前記データの前記ダイジェストとを二度目に受信するための手段と、
前記データと前記ダイジェストとを受信したのは二度目であると判断したことに応じて、前記データと前記データの前記ダイジェストとをメインディスクに格納し、前記書込保護キャッシュから前記ダイジェストを削除するための手段と、
後続の転送において前記ダイジェストを受信するための手段と、
前記受信したダイジェストに基づいて前記メインディスクの前記データにアクセスするための手段とを含む、装置。
【請求項１２】
前記データと前記データのダイジェストとを一度目に受信するための手段は、ＷＡＮエグレスプロセッサを含む、請求項１１に記載の装置。
【請求項１３】
前記データと前記データの前記ダイジェストとをメインディスクに格納することは、ＷＡＮエグレス処理中にのみ行われる、請求項１２に記載の装置。
【請求項１４】
前記ダイジェストはセキュアハッシュアルゴリズムダイジェストを含む、請求項１１に記載の装置。
【請求項１５】
前記データおよび前記ダイジェストはともにチャンクを含み、典型的なチャンクはおよそ１．５ｋＢ〜２２ｋＢであり平均サイズが約８ｋＢである、請求項１１に記載の装置。
【請求項１６】
ローカルエリアネットワークに到着したデータを受信するＷＡＮイングレスプロセッサをさらに含み、前記ＷＡＮイングレスプロセッサは前記データをチャンクにグループ分けする、請求項１２に記載の装置。
【請求項１７】
前記ＷＡＮイングレスプロセスがチャンクごとにダイジェストを計算することをさらに含む、請求項１に記載の装置。
【請求項１８】
前記ＷＡＮイングレスプロセッサが第１のチャンクの第１のダイジェストを前記エグレスプロセッサに送ることをさらに含む、請求項１７に記載の装置。
【請求項１９】
前記エグレスプロセスが前記メインディスクに格納された前記第１のチャンクを有する場合、前記エグレスプロセッサが確認応答（ＡＣＫ）で応答することと、
前記エグレスプロセスが前記メインディスクに格納された前記第１のチャンクを有しない場合、前記エグレスプロセッサが否定確認応答（ＮＡＣＫ）で応答することとをさらに含む、請求項１に記載の装置。
【請求項２０】
前記応答がＮＡＣＫである場合にデータの前記第１のチャンクを送るための手段をさらに含む、請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年１１月２０日出願の米国特許出願第１６／１９６，３５８号に基づく優先権を主張するとともに、２０１７年１１月２１日出願の米国仮特許出願第６２／５８９，１６３号に基づく利益を主張し、これら双方の全体を本明細書に引用により援用する。
【０００２】
関連出願の相互参照
本願はまた、「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された米国特許第８，１２５，９０７号として発行された２００９年６月１１日出願の米国特許出願第１２／４８２，７６６号に基づく利益および優先権を主張する米国特許第８，２７４，８９１号として発行された２０１２年１月１９日出願の米国特許出願第１３／３５３，６９３号の継続出願である米国特許第８，６４４，１６４号として発行された２０１２年８月２３日出願の米国特許出願第１３／５９２，４６０号の分割出願である２０１４年１月１３日出願の米国特許出願第１４／１４６，７８６号に関し、これらはすべて、２００８年６月１２日出願の「Flow-based Adaptive Private Network with Multiple WAN-Paths」と題された米国仮特許出願第６１／０６０，８４６号に基づく利益を主張し；米国特許第８，４５２，８４６号として発行された「Adaptive Private Network Asynchronous Distributed Shared Memory Services」と題された２０１１日８月１２日出願の米国特許出願第１３／２０８，８２５号の継続出願である米国特許第８，７７５，５４７号として発行された２０１３年３月２６日出願の米国出願第１３／８５０，４１１号の継続出願である２０１４年５月３０日出願の米国特許出願第１４／２９１，７７６号に関し、これらはすべて、２０１０年８月１２日出願の「Adaptive Private Network Asynchronous Distributed Shared Memory Services」と題された米国仮特許出願第６１／３７２，９０４号に基づく利益を主張し；「An Adaptive Private Network with Geographically Redundant Network Control Nodes」と題された２０１２年１２月１９日出願の米国特許出願第１３／７１９，４３３号に関し；「An Adaptive Private Network with Path Maximum Transmission Unit (MTU) Discovery Process」と題された２０１３年９月６日出願の米国特許出願第１４／０１９，７２３号に関し；「Adaptive Private Network with Dynamic Conduit Process」と題された２０１４年９月９日出願の米国特許出願第１４／４８１，３３５号に関し；「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Discovery Processes」と題された２０１５年１２月１７日出願の米国特許出願第１４／９７２，２７０号に関し；「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Timestamp Correlation Processes」と題された２０１５年１２月１７日出願の米国特許出願第１４／９７２，３５３号に関し；「Methods and Apparatus for Providing Adaptive Private Network Database Schema Migration and Management Processes」と題された２０１５年１２月１７日出願の米国特許出願第１４／９７２，５１４号に関し；「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Data Visualization Processes」と題された２０１５年１２月１７日出願の米国特許出願第１４／９７３，１９３号に関し；「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Time Correlated Playback of Network Traffic」と題された２０１５年１２月１７日出願の米国特許出願第１４／９７３，３４３号に関し；「Methods and Apparatus for Configuring a Standby WAN Link in an Adaptive Private Network」と題された米国特許出願第２０１７−０２０７９９６号Ａ１として公開された２０１７年１月１８日出願の米国特許出願第１５／４０９，００１号に関し；「Methods And Apparatus For Accessing Selectable Application Processing Of Data Packets In An Adaptive Private Network」と���された米国特許出願第２０１７−０２０７９９７号Ａ１として公開された２０１７年１月１８日出願の米国特許出願第１５／４０９，００６号に関し；「Methods and Apparatus for Accessing Dynamic Routing Information from Networks Coupled to a Wide Area Network (WAN) to Determine Optimized End-To-End Routing Paths」と題された米国特許出願第２０１７−０２０７９６３号Ａ１として公開された２０１７年１月１８日出願の米国特許出願第１５／４０９，０１６号に関し；「Adaptive Private Network (APN) Bandwidth Enhancements」と題された米国特許出願第２０１７−０２０７９７６号Ａ１として公開された２０１７年１月１８日出願の米国特許出願第１５／４０９，０１９号に関し、これらはすべて、譲受人が本願と同一であり、関連出願であり、それぞれの全体を本明細書に引用により援用する。
【０００３】
発明の分野
本発明は、概して改善されたワイドエリアネットワーク（ＷＡＮ）最適化およびスマートキャッシング技術に関する。より具体的には、本発明は、適応プライベートネットワーク（adaptive private network）（ＡＰＮ）の文脈おいて、重複排除、すなわち重複の削減または解消に使用されるネットワークデータのキャッシュをディスクおよびＲＡＭリソースを用いて管理することに関する。
【背景技術】
【０００４】
発明の背景
ＷＡＮ最適化（WAN optimization）（ＷＡＮｏｐ）は、２人以上のユーザが頻繁に閲覧するバルクトラフィックファイルおよびその他の情報のネットワークにおける帯域幅効率を高めるように設計されたネットワーキング改善である。この種のデータの一般的な例は、送信一回で複数ユーザのために使用するのに有益であろうソフトウェアアップデートおよび共有ドキュメントである。ＷＡＮｏｐデバイスは、ネットワークを通るデータをキャッシュしこのデータがいつ複製されているかを認識して、キャッシュされたデータへのリファレンスを複製データの代わりにＷＡＮを通して送ることができる。また、ＷＡＮｏｐは、まだデータを圧縮していないネットワークプロトコルに圧縮を追加することによってネットワークを改善する。ＷＡＮｏｐ使用の利点は、既存のネットワークアプリケーションが利用するＷＡＮ帯域幅を低減することができアプリケーション自体は変更されない点にある。
【０００５】
ワイドエリアネットワーク（ＷＡＮ）最適化（ＷＡＮｏｐ）を実行する製品は、アプライアンス（appliance）上で使用できるＲＡＭおよびディスクストレージが有限である場合に重複排除を行うときには難題を扱わねばならない。ネットワークデータが見えたとき、ネットワークノードアプライアンスは、そのデータが再び見えるか否かを知ることはできない。ある過去の手法において、ＷＡＮｏｐは、イングレスまたはエグレスのいずれかで受けたどの新データもディスクに直接書き込んでいた。本発明は、そのいくつかの局面のうちで、この手法の場合、結果として多大なドライブ摩耗が生じる可能性があり、頻繁に使用されるデータのウォームチャンクが繰り返しなしのデータに置き換えられる可能性があると、認識する。本発明はまた、すべてのデータをキャッシュする場合、高帯域幅のＷＡＮリンクを扱うには大量のＲＡＭおよびディスクストレージが必要であり、そうするとＷＡＮｏｐネットワークデバイスの価格が大幅に上昇すると、認識する。本発明はさらに、ネットワークデバイスが将来再び見られるであろうデータしかキャッシュしないことを所望するのが理想的であると、認識する。本発明はまた、最もよくあるデータ転送は、所定のクライアントサイトで複数のユーザが繰り返しアクセスするデータセンターに格納された情報からの転送であると、認識する。
【０００６】
また、ソリッドステートドライブ（solid state drive）（ＳＳＤ）技術は、驚くほど高速であるが、寿命はハードディスクドライブ（hard disk drive）（ＨＤＤ）よりも大幅に短い。たとえば、１２８ＭＢドライブは、１４ＴＢのデータの書込だけで故障する。保証書を提供する企業には、アプライアンスの保証期間中にドライブが故障すると、財政上の副次的影響が生じる場合がある。
【発明の概要】
【課題を解決するための手段】
【０００７】
発明の概要
本発明は、そのいくつかの局面のうちで、改善されたワイドエリアネットワーク（ＷＡＮ)最適化をより低いコストでネットワークに提供することは好都合であると認識する。本明細書に記載の文脈においてデータを必ず保存するのではなく、データとこのデータのダイジェストとを送信する。データを一度目に見た場合、ダイジェストをＷＰＣに格納する。データを二度目に見た場合であって同じダイジェストが転送されている場合、ダイジェストとデータとをメインディスクに格納しＷＰＣからダイジェストを削除する。その後、三度目以降の転送では、データはメインディスクに既に格納されているのでダイジェストのみを送信する。そのために、本発明の実施形態はデータストレージを削減する方法を適用する。この方法は、データとこのデータのダイジェストとを一度目に受信するステップと、上記データとダイジェストとを受信したのは一度目であると判断したことに応じて、上記ダイジェストを書込保護キャッシュに格納するステップと、上記データとデータのダイジェストとを二度目に受信するステップと、上記データとダイジェストとを受信したのは二度目であると判断したことに応じて、上記データとデータのダイジェストとをメインディスクに格納し、上記書込保護キャッシュから上記ダイジェストを削除するステップと、後続の転送において上記ダイジェストを受信するステップと、受信したダイジェストに基づいてメインディスクのデータにアクセスするステップとを含む。
【０００８】
本発明ならびに本発明のその他の特徴および利点のより完璧な理解は、以下の詳細な説明、添付の図面、および請求項から明らかに得られるであろう。
【０００９】
本発明の具体例としての実施形態は、以下の説明および続く請求項を添付の図面との関連で解釈すると、より完全に明らかになるであろう。これらの図面は具体例としての実施形態のみを示しておりしたがって本発明の範囲を制限するとみなされてはならないという理解の下、本発明の具体例としての実施形態を添付の文書に含まれる添付の図面の使用を通してさらに具体的にかつ詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明のある実施形態に係る、サービス経路を示し図３〜図１０に関してさらに説明する改善されたＷＡＮｏｐ処理を使用する、適応プライベートネットワーク（ＡＰＮ）の制御下の、ワイドエリアネットワーク（ＷＡＮ）に結合されたローカルエリアネットワーク（ＬＡＮ）上のクライアントノードで構成されたエンドツーエンドネットワークを示す。
【図１Ｂ】本発明のある実施形態に係る、クライアントサイトＡとクライアントサイトＢとの間の統合ファイアウォールを含む２エンドサービスを提供し図３〜図１０に関してさらに説明する改善されたＷＡＮｏｐ処理を使用する、適応プライベートネットワーク（ＡＰＮ）コンジット（conduit）を示す図である。
【図２】本発明のある実施形態に係る、図３〜図１０に関して説明する改善されたＷＡＮｏｐ処理に関して使用される、ＡＰＮネットワーク制御ノード（ＮＣＮ）と、１６のＡＰＮクライアントサイトに結合された１６のＡＰＮコンジットとを有するＡＰＮを示す図である。
【図３】本発明に係る、書込保護キャッシュ（ＷＰＣ）を使用するＷＡＮｏｐ処理を示す実施形態のブロック図である。
【図４】本発明に係るイングレス処理の局面を示す図である。
【図５】本発明に係るＷＡＮｏｐ処理を使用するさまざまなプラットフォームのモデリングされたアプライアンスデータを有する表を示す図である。
【図６】本発明に係る過去見ていないデータのデータフローを示す図である。
【図７】本発明に係る二度目に見たデータのデータフローを示す図である。
【図８】本発明に係る三度目以降に見たデータのデータフローを示す図である。
【図９Ａ】本発明に係るエグレスピア処理の例を示す図である。
【図９Ｂ】本発明に係るエグレスピア処理の例を示す図である。
【図１０】本発明の仮想アプライアンスの実施形態のデータの表を示す図である。
【発明を実施するための形態】
【００１１】
詳細な説明
図１Ａは本発明のある実施形態に係る具体例としての適応プライベートネットワーク（ＡＰＮ）１００を示し、ＡＰＮ１００は、サービス経路を示すＡＰＮの制御下のワイドエリアネットワーク（ＷＡＮ）１０２に結合されたそれぞれのローカルエリアネットワークＬＡＮ１  １０１およびＬＡＮ２  １０３上のローカルサイト１２４Ａ１、１２４Ａ２、…１２４ＡＮおよびローカルサイト１２５Ｂ１、１２５Ｂ２、…１２５ＢＮを有する。ＡＰＮ１００は、ＷＡＮ１０２等の１つ以上のワイドエリアネットワーク（ＷＡＮ）と、ＡＰＮアプライアンス（ＡＰＮＡ）１０４〜１０６と、ＷＡＮルータ１１０１〜１１０３と、ネットワークアプリケーションサービスおよびＡＰＮＡ間のＡＰＮコンジットとを含み、これらについて以下でより詳細に説明する。ＡＰＮ１００は、ＡＰＮの単一制御ポイントを提供するネットワーク制御ノード（network control node）（ＮＣＮ）として機能する単一のＡＰＮＡから構成される。しかしながら、第一に、本明細書で使用する用語の番号は、本発明の文脈で使用されるときに持つ意味で定義される。
【００１２】
ＡＰＮ経路は、ＷＡＮの異なる地理的サイトに位置する２つのＷＡＮリンク間に確立された論理接続であり、一方のＷＡＮリンクはトラフィックを他方のＷＡＮリンクに送信する。経路は単方向エンティティ（１送信者および１受信者）なので、相互に接続された２つのＷＡＮリンクはその間に２つの経路を有する。各ＷＡＮリンクは、一方の経路をその送信経路とみなし、他方の経路を受信経路とみなす。ＡＰＮ経路は、通常の状況でユーザトラフィックを送信するのに使用される。
【００１３】
ＡＰＮコンジットは、２つの、クライアントサイトとも呼ばれるＡＰＮノード間の仮想接続であり、１つ以上のＡＰＮ経路とそれぞれに割り当てられたＷＡＮリンクリソースとを集約することによって形成される。コンジットサービスは、１つ以上の経路の論理的な組み合わせである。コンジットサービスは、典型的に、ＡＰＮの全値（full value）を利用する、エンタープライズのサイト間イントラネットトラフィックに使用される。コンジットサービスを用い、構成に応じて、トラフィックを複数のＷＡＮリンクにわたって管理することにより、エンドツーエンドトンネルを作成する。コンジットは、下にあるネットワーク上の仮想ネットワークをオーバーレイする。
【００１４】
ＡＰＮアプライアンス（ＡＰＡＮ）は、ＡＰＮへのその参加を支配するソフトウェアモジュールを含むＡＰＩクライアントサイト機能を含むデバイスである。高可用性（high availability）（ＨＡ）サイトは２つのＡＰＮＡを含み、一方はアクティブであり、もう一方は動作スタンバイモードであり必要であれば他方のＡＰＮＡに代わってアクティブになり使用できるようになる。
【００１５】
ＷＡＮリンクは、デジタル加入者線（digital subscriber line）（ＤＳＬ）接続またはケーブルモデム等の、ワイドエリアネットワーク（ＷＡＮ）への物理アクセスポイントを表す。ＷＡＮリンク特有の特徴は、送信および受信に使用できるデータ容量を表す帯域幅である。ＷＡＮリンクは、ＡＰＮコンジット、イントラネットネットワークサービス、およびインターネットネットワークサービス間で共有できる。本実施形態において、ＡＰＮアプライアンスはＷＡＮリンクに直接所属していない。ＡＰＮアプライアンスは、図１ＡのＷＡＮルータ１１０１〜１１０３等の論理接続を通してＷＡＮリンクと通信する。
【００１６】
プライベートＷＡＮリンクは、非公共ＷＡＮ宛先への物理アクセスポイントを提供する。このようなプライベートＷＡＮリンクの例は、ＡＴＭ仮想回路との非同期転送モード（asynchronous transfer mode）（ＡＴＭ）リンク、フレームリレー回路とのフレームリレーリンク、マルチプロトコルラベルスイッチング（multiprotocol label switching）（ＭＰＬＳ）トンネル、仮想プライベートネットワーク（virtual private network）（ＶＰＮ）トンネル、または専用ポイントツーポイントラインを含む。プライベートＷＡＮリンクを有するネットワーク上の接続が、ネットワークの他方の終端上の宛先のプライベートリストに対して構築される。パブリックＷＡＮリンクは、インターネットへの物理アクセスポイントを表す。いずれのパブリックＷＡＮリンクもその他いずれかのパブリックＷＡＮリンクへの接続を確立できると想定することができる。
【００１７】
ローカルＷＡＮリンク（local WAN link）（ＬＷＬ）は、ＷＡＮに対するＡＰＮクライアントサイトのアクセスポイントである。サイトＡのＬＷＬが、サイトＢの対応するリモートＷＡＮリンク（remote WAN link）（ＲＷＬ）に結合される。サイトＡとサイトＢとの間のコンジットの場合、サイトＡのローカルＷＡＮリンクは、サイトＢのリモートＷＡＮリンクである。
【００１８】
インターネットサービスは、エンタープライズサイトとパブリックインターネット上のサイトとの間のトラフィックに使用される。インターネットは独立したセキュリティゾーンとして扱われる。インターネット上のトラフィックは、ＡＰＮ内のコンジットトラフィックよりも信頼度が低いとみなされる。なぜなら、インターネットトラフィックは、カプセル化されておらず、コンジット内と同様に暗号化されるからである。また、インターネットトラフィックは、一般的に、信頼されているネットワークを所有するエンタープライズの制御下にないエンティティからのものである。
【００１９】
イントラネットサービスは、コンジットを通した送信用に規定されていないエンタープライズイントラネットトラフィックの任意の一部のために使用される。インターネットトラフィックと同様、イントラネットトラフィックはカプセル化されていないままであり、ＡＰＮは、輻輳中他のサービスタイプに対してイントラネットトラフィックをレート制限することによりネットワーク内の帯域幅を管理する。なお、特定の条件下で、コンジット上のイントラネットフォールバック用に構成されていた場合、通常はコンジットを介して進行するトラフィックは、ネットワーク信頼度を保つためにイントラネットトラフィックとして代わりに扱うことができる。コンジットトラフィックはサイト間なので、顧客は一般的にこのサイト間トラフィックをコンジットなしで配信することができる。この、イントラネットサービスと呼ばれる、カプセル化されていないサービスは、コンジットの恩恵を受けない。コンジットトンネルを構築できない場合は、そのコンジットを使用するルートを無視し、これは、コンジットを使用したであろうトラフィックが、カプセル化されていないサイト間トランスポート方法を使用するようにリダイレクトされることを意味する。
【００２０】
あるフローが、＜ＩＰソースアドレス，ＩＰ宛先アドレス，ＩＰプロトコル番号，送信制御プロトコル（ＴＣＰ）／ユーザデータグラムプロトコル（ＵＤＰ）ソースポート，ＩＰプロトコルはＴＣＰかＵＤＰか、ＴＣＰ／ＵＤＰ宛先ポート，ＩＰプロトコルはＴＣＰかＵＤＰか＞からなるｎタプルによって規定される。コンテキストに応じてその他のアイテムをタプルに追加することができ、それは、差別化されたサービスコードポート（ＤＳＣＰ）タグ、ルーティングドメイン、およびサービス識別子などを含む。また、フローは単方向である。たとえば、ノードＡとＢとが通信している場合、ＡからＢまでのトラフィックを表すフローと、ＢからＡまでのトラフィックを表すフローとが存在する。
【００２１】
ＡＰＮサービスは、ＡＰＮを通して送信されるパケットに対して実行される一組の処理ステップである。図１Ａに示されるように、ＡＰＮ１００およびＡＰＮアプライアンス１０６を通って移動するデータトラフィックは、送信ステーションおよび受信ステーションがどこに位置するかに応じて異なる種類のサービスを要求する場合がある。ＡＰＮサービスインスタンスは、たとえば、ＡＰＮアプライアンス１０６内部のＡＰＮアプライアンスメモリ１０７に保持されているＡＰＮサービスの特別に構成されたコンテキストインスタンスである。ＡＰＮサービスインスタンスのメモリは、コンテキスト固有構成データ、統計データ、およびトラッキング状態データを含むが、これらに限定される訳ではない。たとえば、ＡＰＮクライアントサイトは、リモートＡＰＮクライアントサイトに接続する複数のＡＰＮコンジットを有し得る。ＡＰＮコンジットごとに、ＡＰＮコンジットサービスタイプの独立したＡＰＮサービスインスタンスが存在する。
【００２２】
経路１１２に対応付けられたＡＰＮコンジットサービスは、ＡＰＮ１００を通して、ＡＰＮアプライアンス１０５からルータ１１０１を通りＷＡＮ  １０２を通り別のルータ１１０３を通ってＡＰＮアプライアンス（ＡＰＮＡ）まで送信される。経路１１２のためのＡＰＮコンジットサービスは、アプライアンス１０４および１０５双方の上で動作する。ＡＰＮコンジットサービスは、ＡＰＮＡ１０５を有する第１の地理的位置と、ＡＰＮコンジットサービスがＷＡＮリソース割り当ておよびネットワーク適応化のために提供する全利点を利用するＡＰＮＡ１０４を有する異なる地理的位置との間で、データを送信および受信する。経路１１４に対応付けられたＡＰＮイントラネットサービスはＡＰＮアプライアンス１０５を有する第１の地理的位置と、ＡＰＮアプライアンスを有しないエンタープライズ非ＡＰＮサイト１２０内の異なる地理的位置との間におけるデータの送受信を管理するために使用される。
【００２３】
別の実施形態において、たとえば経路１１２に対応付けられた、ＡＰＮイントラネットサービスを使用することにより、ＡＰＮアプライアンスを有する異なる地理的位置との間でデータの送信および受信を行うことができるが、アドミニストレータが、特定の種類またはクラスのトラフィックについてはＡＰＮコンジットサービス１１２を使用しないようにＡＰＮを選択的に構成する。経路１１６に対応付けられたＡＰＮインターネットサービスを使用することにより、ＡＰＮＡ１０５を有する第１の地理的位置と、エンタープライズネットワークの外部にある異なる地理的位置との間で、他のＡＰＮサービスも利用するＷＡＮリンクを用いて、データを送信および受信する。たとえば、ＡＰＮインターネットサービスを使用するトラフィックは、パブリックインターネットウェブサーバ１２２にアクセスするネットワークユーザに対応付けることができる。ＡＰＮ通過サービス（APN pass through service）１１８を用いて、ＡＰＮＡ１０５を有する第１の地理的位置と、同一の第１の地理的位置内のローカルサイト１２４Ａ１との間でデータを送受信する。別の実施形態において、ＡＰＮ通過サービスを使用することにより、ＡＰＮアプライアンス１０５を有する第１の地理的位置と、ＡＰＮアプライアンスを有しておらずＷＡＮを通っていないエンタープライズネットワーク内の異なる地理的位置との間で、任意の他のＡＰＮサービスに対応付けられた任意のＷＡＮリンクを用いて、データを送受信してもよい。
【００２４】
さらに他の実施形態において、経路１２６では、第１のローカルサイト１２４Ａ２が、ＬＡＮ１  １０１、ＡＰＮＡ１０５、ＷＡＮルータ１１０１、ＷＡＮ１０２、ＷＡＮルータ１１０３、ＡＰＮＡ１０４、およびＬＡＮ２  １０３を通って、第２のローカルサイト１２５Ｂ２まで接続されている。ＬＡＮ１  １０１およびＬＡＮ２  １０３は、管理されておりネットワークパフォーマンス改善のために変化し得る複数のルータおよびルーティング経路を有する具体例としてのネットワークである。
【００２５】
コンジットは複数の経路からなる。１つの経路は、コンジットに対応付けられた２つのＷＡＮリンク間に形成される。ＡＰＮにおける各コンジット内の各経路は、パケット損失およびレイテンシ等の品質メトリクスを収集することにより、通信品質がモニタリングされる。このモニタリングは、制御メッセージにより行われ、各経路に対し、その経路がユーザトラフィック送信に使用されているか否かについて行われる。したがって、作動状態でないのでなければ、全くトラフィックがない経路は存在しない。コンジット内のすべての経路は、その経路を通るユーザトラフィックがあるか否かについて測定されるので、コンジットは、ユーザデータを送信するのに最良のネットワーク経路を選択するためにＡＰＮが使用する最新の経路ごとのメトリックを維持する。
【００２６】
スタティックコンジットは、コンフィギュレーションファイルにおいて構成されＡＰＮＡの起動時に作成されるコンジットである。スタティックコンジットは、コンフィギュレーションファイルの変更なしで削除されることはない。
【００２７】
ダイナミックコンジットは、必要時にＡＰＮクライアント間に作成されたコンジットであって、不要になれば削除できる。ダイナミックコンジットは、ネットワークにわたってリアルタイムで発生しているスタティックに構成されたネットワークの変化に対処する。リアルタイムで、ダイナミックコンジットは、ネットワーク内のノード間の通信パターンの変更に適応するために、ネットワークパフォーマンスを最適化する。また、ダイナミックコンジットは、輻輳が生じている中間ノードからのトラフィックをオフロードするために使用できる。
【００２８】
本発明に係る適応プライベートネットワーク（ＡＰＮ）ソフトウェアプロダクトは、仮想マシン内の集中型管理システムとして実行することにより、ＡＰＮコンフィギュレーションを作成し、システムリソースをモニタリングし、システムリソースを解析し、本明細書でさらに示すように動作時の構成されたＡＰＮを管理する。ＡＰＮシステムはさらに、ネットワーク制御ノード（ＮＣＮ）がシステム幅のタイミング同期を提供する物理ネットワークのためにネットワーク制御ノード（ＮＣＮ）によって集中型仮想単一制御ポイントを可能にする。ここではＮＣＮはシステム幅のタイミング同期を提供する。集中型単一制御ポイントは、ネットワークノード内の中央位置に限定されず、ネットワークの境界の外部と考えられるポイントで結合することができる。
【００２９】
図１Ｂは、本発明のある実施形態に係る、ＡＰＮクライアントサイトＡ  １５２とＡＰＮクライアントサイトＢ  １５４との間の統合ファイアウォール１９２、１９４、１９６、および１９８を含むツーエンドサービス１５０をサポートする、適応プライベートネットワーク（ＡＰＮ）を示す。各ＡＰＮクライアントサイトはまた、ＡＰＮのノードとみなされ、ＡＰＮへのその参加を支配するソフトウェアモジュールの集まりを含む。ＡＰＮクライアントサイトＡ  １５２およびＡＰＮクライアントサイトＢ  １５４のためのソフトウェアモジュールはそれぞれ、コントロールプレーンモジュール１５６および１５８と、ＷＡＮイングレスプロセッサモジュール１６０および１６２と、ＷＡＮエグレスプロセッサモジュール１６４および１６６と、ノード管理インターフェイスソフトウェアプログラムモジュール１６８および１７０とを含む。図１Ｂに示されるように、ＷＡＮイングレスプロセッサモジュール１６０および１６２はコンジット処理段１７２および１７４を含み、ＷＡＮエグレスプロセッサモジュール１６４および１６６は複製コンジット処理段１７６および１７８を含む。好都合には、ファイアウォール１９２および１９４がそれぞれ、ＷＡＮイングレスプロセッサコンジット処理段１７２および１７４の入力段に統合される。ファイアウォール１９６および１９８はそれぞれ、ＷＡＮエグレスプロセッサコンジット処理段１７６および１７８に統合される。統合ファイアウォールについては以下でさらに詳細に説明する。イントラネットサービス、インターネットサービス、および通過サービスは、各ＡＰＮクライアントサイトにも設けられる。コンジット、イントラネット、インターネット、および通過サービスタイプを含む各ＡＰＮサービスタイプは、それぞれＷＡＮとの間で通信される各タイプのデータトラフィックのための処理を実現する。
【００３０】
図１Ｂに示されるように、太線の点線と矢印の経路１８０および１８２によって特定されるＡＰＮコンジットトラフィックは、トラフィックがＡＰＮを通る際、２つのＡＰＮクライアントサイト１５２および１５４を通って流れる。ＡＰＮクライアントサイトＢ  １５４のＷＡＮイングレス処理モジュール１６２は、ＷＡＮ１８４を介してＡＰＮクライアントサイトＡ  １５２にトラフィック１８０を送信する前に、ＷＡＮイングレスコンジットサービス処理１７４を実行する。ＡＰＮクライアントサイトＡ  １５２のＷＡＮエグレスプロセッサモジュール１６４は、ＬＡＮ１８６上に位置する１つまたは複数のノードにトラフィック１８０を送信する前に、ＷＡＮエグレスコンジットサービス処理１７６を実行する。一方のＡＰＮクライアントサイトのＷＡＮイングレスコンジット処理１７４を、ピア（peer）ＡＰＮクライアントサイトのＷＡＮエグレスコンジットサービス処理１７６に結び付けて、複数のＷＡＮリソースを通してトラフィックが能動的にモニタリングされ管理されるＡＰＮコンジット１８８を構成する。ｔ２＿ａｐｐ  １９０および１９１と呼ばれる制御プログラムは、ユーザデータを送信しながらＡＰＮ内の他のＡＰＮＡと通信する各ＡＰＮＡ上で実行される。
【００３１】
ＡＰＮは、挙動が、帯域幅、レイテンシ、ジッタ、パケット損失、および輻輳に関し、時間に伴って頻繁に変化する、異種の非同期ＷＡＮリンクを使用することができる。たとえば、ＡＰＮは、プライベート対称専用回路と組み合わされたパブリックネットワークを通してデータをＷＡＮへの上り５１２ｋｂｐｓ、ＷＡＮから６Ｍｂｐｓで送信する非同期ＤＳＬ  ＷＡＮリンク、データを上りおよび下り１５４４ｋｂｐｓで送信するＴ１  ＷＡＮリンク、ならびに、データをＷＡＮへの上り３１２ｋｂｐｓ、ＷＡＮからピアまで３Ｍｂｐｓで送信するケーブルブロードバンド接続を使用することがき、これは、理論上の送信レート２３６８ｋｂｐｓでの一回の伝送制御プロトコル（transmission control protocol）（ＴＣＰ）ファイル転送セッションについて、これらのレートの適切な集約帯域幅を有し、１０５４４ｋｂｐｓまたは１０．５４４Ｍｂｐｓで受信する。事実上、良好なネットワーク挙動の場合、実際のレートはこれらのレートの９０％に近づくであろう。接続の挙動が変化しようとしている場合、たとえばＤＳＬリンクへの経路の損失レベルが多大になろうとしている場合、ＡＰＮは、その高周波パフォーマンスフィードバックメカニズムを用い、代替リソースを使用するかまたは損失からの回復を試みることで、この問題を回避または緩和するように、ネットワークを適応させるであろう。
【００３２】
経路選択において、コンジット経路を評価し、利用できる最良の経路を選択する。現在経路品質が良好状態である経路はいずれも最初に選ばれる対象である。複数経路が経路品質良好状態である場合は、推定エンドツーエンド時間を評価し、経路ごとに比較し、エンドツーエンド時間が最も短い経路を選択する。経路品質が良好状態である経路がない場合は、最大帯域幅の経路品質不良状態の経路を選択する。「片道時間（one way time）」(ＯＷＴ）は、パケットがネットワークを通ってソースから受信者まで達するのに要する時間の量を意味する。本発明の文脈において、片道時間は、図１Ｂの、ＷＡＮエグレスモジュール１６６からの受信タイムスタンプを、ＷＡＮイングレスモジュール１６０からの送信タイムスタンプから減算することによって測定する。その全体を本明細書に引用により援用する「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された２００９年６月１１日出願の米国特許第８，１２５，９０７号は、たとえば第６欄第１行〜第１９欄第２７行において適応プライベートネットワーク（ＡＰＮ）におけるタイミングおよびネットワーク制御について現在好ましい手法の具体例としての詳細を提供している。
【００３３】
ＡＰＮ経路処理サービスは、ユーザデータおよび制御情報をネットワークを通してあるＡＰＮノードから別のＡＰＮノードに伝達する手段を提供する役割を担っている。特に、ユーザデータおよび制御情報は、図１Ｂの例に示されるように、ＷＡＮを通してあるＡＰＮノードのＷＡＮイングレスプロセッサモジュール１６０から送信しＷＡＮエグレスプロセッサモジュール１６６で受信することができる。
【００３４】
経路状態は、ＷＡＮエグレスＡＰＮノードの経路状態モニタリングプロセスが受けたフィードバックによって判断されるネットワーク経路の最新状態を表す。パケットが受信されると、これらのパケットのシーケンス番号は、いずれかのパケットがＷＡＮイングレスＡＰＮノードとＷＡＮエグレスＡＰＮノードとの間を通るときに失われたか否かを知るために、トラッキングされる。長期損失に対する許容度が実質的に低い状態で受信したパケットの短期損失に対するより高い許容度に向けてバイアスされた経路状態変化をトリガする方法が使用される。この手法の固有の局面は、低プロセッサオーバーヘッドを維持しつつ、非常に多くの期間にわたる経路のパケット損失しきい値をほぼ同時にかつ連続的にトラッキングする機能である。この局面は、高解像度でＷＡＮを通して送信されるコンジットトラフィックのユニバーサル経路タギングと、送信レイテンシおよびレイテンシの統計的変動の極めて予測的な推定を可能にするための高度に同期されたＡＰＮタイムスタンプとによって得られる。並行して、コントロールプレーンモジュールの経路状態モニタリングサービスを使用して、パケット損失と、ＡＰＮを通して使用するトラフィックの最適経路とを検出する。結果として、時折の偶発的な短期ネットワーク損失と長期持続問題との違いを検出する機能が得られる。
【００３５】
現在好ましい実施形態において、クライアントサイトにおけるＡＰＮノードのソフトウェアモジュールは、同一の物理ＡＰＮアプライアンスに格納されて動作するが、代替実施形態ではモジュールが別個の物理ＡＰＮアプライアンス内に存在していてもよい。本明細書に開示される実施形態に関して説明する方法は、適応プライベートネットワーク（ＡＰＮ）アプライアンス（ＡＰＮＡ）で利用されるようなプロセッサおよびメモリが実行する１つ以上のソフトウェアモジュールで直接実施されてもよく、１つ以上の中央処理装置を有するラックマウント処理デバイス、パーソナルコンピュータ、サーバなどで実施されてもよい。プロセッサおよびメモリコンプレックスは、たとえば、データにアクセスしこのデータに対しソフトウェアモジュールプログラムの制御の下でこのデータに対して動作する命令を実行するように、構成してもよく、上記ソフトウェアモジュールプログラムは、命令キャッシュのように、ローカルでプロセッサおよびメモリコンプレックスと直接対応付けられた、または、Ｉ／Ｏデバイスを通してアクセス可能な、コンピュータ読取可能な非一時的記憶媒体に格納される。ソフトウェアモジュールはコンピュータ読取可能な非一時的記憶媒体にあってもよく、この媒体は、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、読出専用メモリ（ＲＯＭ）、プログラマブル読出専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読出専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読出専用メモリ（ＥＥＰＲＯＭ）、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、デジタルビデオディスク（ＤＶＤ）、その他の種類のリムーバブルディスク、または、その他任意の好適な非一時的記憶媒体を、含み得る。また、非一時的記憶媒体は、ハードウェアプロセッサがイントラネットまたはインターネットを介して記憶媒体から情報を読み出すことおよび記憶媒体に情報を書き込むことができるよう、プロセッサおよびメモリコンプレックスに結合されてもよい。
【００３６】
適応プライベートネットワークノード（ＡＰＮクライアントサイト）は、適応プライベートネットワークへの参加をサポートするソフトウェアモジュールを含む。ＡＰＮノードは、ある場所の１つ以上のＡＰＮアプライアンスにあってもよい。ＡＰＮノードは、図１Ｂのコントロールプレーンモジュール１５６および１５８、ＷＡＮイングレスプロセッサモジュール１６０および１６２、ならびにＷＡＮエグレスプロセッサモジュール１６４および１６６のような、ＡＰＮへのＡＰＮノードの参加を支配するＡＰＮノード内に位置するプロセッサおよびメモリコンプレックスが実行するソフトウェアモジュールの集まりを含む。コントロールプレーンモジュール１５６および１５８は、ネットワーク内の他のＡＰＮノードと並行してＡＰＮノードを制御するとともにその制御に参加する役割を担っている。
【００３７】
ＷＡＮイングレスプロセッサモジュール１６０は、ローカルエリアネットワーク（ＬＡＮ）からＷＡＮへの送信のネットワークトラフィックを処理する役割を担うソフトウェアコンポーネントおよびハードウェアコンポーネントとして適切に実施することができる。ＷＡＮエグレスプロセッサモジュール１６４は、ＷＡＮからＬＡＮへの送信のネットワークトラフィックを処理する役割を担うプロセッサおよびメモリコンプレックスのような、ハードウェアコンポーネント上で動作するソフトウェアとして実施することができる。ＷＡＮイングレスおよびＷＡＮエグレスプロセッサモジュールについては以下で詳細に説明する。ＡＰＮクライアントサイトのコントロールプレーンモジュール１５６は、ＷＡＮを通してＡＰＮノード間で制御データを送受信するための手段としてＡＰＮクライアントサイトのＷＡＮイングレスプロセッサモジュール１６０およびＷＡＮエグレスプロセッサモジュール１６４を利用するプロセッサおよびメモリコンプレックスのような、ハードウェアコンポーネント上で動作するソフトウェアとして適切に実施することができる。
【００３８】
ＡＰＮのためのソフトウェアパッケージは、変更管理ソフトウェアの一部である、タプリケーションプロトコル（Tapplication protocol）（ＴＡＰ）パケットと名付けられた制御パケットを用いて、ＷＡＮを通して配信される、または、インターフェイス１６８および１７０を用いてソフトウェアをＡＰＮクライアントサイトにダウンロードするように、管理インターフェイスを通して配信される。ＴＡＰは、異なるアプライアンス上のｔ２＿ａｐｐの外側のプロセスが相互通信できるようにＷＡＮを通して送信されるメッセージのためのプロトコルである。ＴＡＰは、物理媒体からパケットを受信する代わりにユーザプログラムからパケットを受信し物理媒体を介してパケットを送信する代わりにユーザプログラムにパケットを書き込む、ポイントツーポイントまたはイーサネット（登録商標）と同様のデバイスとみなすことができる。ソフトウェアアップデート後、ＡＰＮクライアントサイト１５２および１５４上のＡＰＮサービスは、次にリスタートされて、ＡＰＮソフトウェアノード構成を同期にする。
【００３９】
図２は、本発明のある実施形態に係る、コンジットセクション２２０に結合されたＡＰＮネットワーク制御ノード（ＮＣＮ）２０２と、１６のＡＰＮクライアントサイト２０４〜２１９にそれぞれ結合された１６のＡＰＮコンジットセクション２２１〜２３６とを有するＡＰＮ２００を示す。図２に示されるように、現在好ましい実施形態において、ＡＰＮ２００は中央に構成されている。ネットワークアドミニストレータは、ＮＣＮ２０２が処理するＡＰＮ構成ファイルにより、ＡＰＮ２００全体を構成する。そのため、ＮＣＮ２０２は、構成設定をＡＰＮ２００内のすべてのクライアントサイトに分配する。ＡＰＮ２００を構成するこの方法は、１つの構成ポイントをネットワークに提供することによってアドミニストレータに便宜を提供することを意図している。これはまた、厳密なバージョンチェックにより、ネットワーク内のすべてのＡＰＮクライアントサイトの構成の一貫性および互換性をほぼ同時に保証する。また、中央構成は、ＡＰＮリソースおよびそれらの初期割り当てのマッピングを行うことにより、ネットワークのさらなる構成帯域幅の最適化を提供する。さらに、この集中型構成は、構成を製品ネットワークにロードする前に、明らかでない可能性があるかまたは構成から意図されていない可能性がある構成の挙動に関してアドミニストレータに情報および警告を与えることができる。
【００４０】
サイト２０４〜２１９およびプライマリＮＣＮサイト２０２の各々は、ＡＰＮ機能を提供するためにＡＰＮアプライアンスを含む。ＡＰＮ２００の構成は一般的に、サイト２０５のようなサイトＡと、サイト２０８のようなサイトＢとの間の接続を提供し、この接続は、サイトＡから見ると、サイトＡ→ＬＷＬ→「ＷＡＮ」→ＲＷＬ→サイトＢである。この接続は、サイトＢから見ると、サイトＢ→ＬＷＬ→「ＷＡＮ」→ＲＷＬ→サイトＡである。ＷＡＮ２０１は、割り当てられたＷＡＮリンクリソースおよびＡＰＮ選択経路を表す。図２において、サイトＡとサイトＢとの間のコンジットは、コンジットセクション２２２および２２５を使用することによって形成され、対応するサイトＡとサイトＢとの間の仮想接続である。このコンジットは、経路の集まりを含み、サイトＡにおけるローカルＷＡＮリンク（ＬＷＬ）→「ＷＡＮ」→サイトＢにおけるＲＷＬを包含する。
【００４１】
現在好ましい１つの実施形態において、ＡＰＮコンジットは、ＮＣＮと、たとえば図２に示される１６のＡＰＮクライアントサイトとの間にある。説明のために１６のＡＰＮサイトが示されているが、それよりも多いまたは少ない数の可能なＡＰＮクライアントサイトを適切に用いることができることが理解されるであろう。各ＡＰＮコンジットは、特定のＡＰＮに対応付けられた各地理的位置の特定のニーズに合わせてアドミニストレータが調整した固有の構成パラメータを有し得る。
【００４２】
ＡＰＮ経路状態の定義のために、経路処理サービスを以下で説明する。現在経路品質が良好状態である経路はいずれも最初に選ばれる対象である。複数経路が経路品質良好状態である場合は、推定エンドツーエンド時間を評価し、経路ごとに比較し、エンドツーエンド時間が最も短い経路を選択する。経路品質が良好状態である経路がない場合は、最大帯域幅の経路品質不良状態の経路を選択する。
【００４３】
具体例としてのＡＰＮ２００の１６のクライアントサイト２０４〜２１９は、概ね互いに遠く離れた場所に位置し、地理的に多様なクライアントサイトを含み得る。サイトは、デバイスが、異なる建築物、都市、州、タイムゾーンまたは国等の、物理的に異なる場所にある場合に、遠隔と定義されるであろう。たとえば、プライマリＮＣＮ２０２が第１の国のある企業の本社の場所に位置しクライアントサイト２０４〜２０９およびクライアントサイト２１７〜２１９も第１の国に位置していてもよい。その他のクライアントサイト２１０〜２１６は第２の国に位置していてもよい。
【００４４】
本明細書で使用する、ＡＰＮアプライアンスは、図１Ｂを参照して先により詳細に説明した、コントロールプレーンモジュール１５６および１５８、ＷＡＮイングレスプロセッサモジュール１６０および１６２、ならびにＷＡＮエグレスプロセッサモジュール１６４および１６６等のソフトウェアモジュールに従うＡＰＮノード機能を含むデバイスである。１６のクライアントサイト２０４〜２１９はそれぞれコンジットセクション２２１〜２３６によって結合され、コンジットセクションはともに接続されてクライアントサイトにおける接続された２つのＡＰＮアプライアンス間の設定変更可能な仮想接続を提供する。なお、１６のクライアントサイト２０４〜２１９が示されているが、ＡＰＮは必要な数のクライアントサイトをサポートし得る。
【００４５】
図２のネットワーク制御ポイント（network control point）（ＮＣＰ）２０２は、ＡＰＮ２００の管理ポイントである。一実施形態において、ＮＣＰ２０２はＡＰＮノード内にある。ＡＰＮ制御ノードは、ＡＰＮのネットワーク制御ポイントとしても機能するＡＰＮノードを意味する。別の実施形態において、ＮＣＰは、ＡＰＮノードから離れているアプライアンス内にあり、ＡＰＮ内のＡＰＮノードを管理し制御する。ＮＣＰは、構成オブジェクトをＡＰＮクライアントノードに分配することおよびＡＰＮに対する時間的な同期を含むがこれらに限定されない、ＡＰＮに対する管理および制御を提供する。
【００４６】
ダイナミックコンジットは、必要なときにＡＰＮクライアント間に作られるコンジットであり、設定されたしきい値に基づいて、必要でなくなったときに削除することができる。たとえば、クライアントサイト２０５は２つのローカルＷＡＮリンクとともに構成することができ、このリンクの一方は第１のネットワークプロバイダからのもの、もう一方は第２のネットワークプロバイダからのものである。複数のコンジットをサイト２０５に接続してもよく、サイト２０５はローカルＷＡＮリンクのうちの一方または双方を使用するように構成されてもよい。サイト２０５に接続されたすべてのコンジットが双方のローカルＷＡＮリンクを使用する、ある具体例としてのシナリオにおいて、いずれかのローカルＷＡＮリンクの使用が、設定されたしきい値を送ると、ダイナミックコンジットの作成をトリガすることができる。
【００４７】
ＡＰＮトラフィックフローは、特定のＡＰＮフロー記録に対して特定されたネットワークセッショントラフィックのアドミニストレータ指定である。ＡＰＮトラフィックフロー要件は、ＡＰＮがＡＰＮトラフィックフローに関連しているときのＡＰＮの意図される挙動を支配する、アドミニストレータが設定した要件である。たとえば、ＡＰＮトラフィックフロー要件は、永続的な経路フロー要件、複製フロー要件、および信頼できるフロー要件を含み得る。
【００４８】
ＡＰＮフロー記録はＡＰＮアプライアンスのメモリに保持される。ＡＰＮフロー記録は、規定されたＡＰＮトラフィックフローをトラッキングし、このＡＰＮトラフィックフローの、前に設定された要件に従っていることを保証する。ＡＰＮフロー記録は、ＡＰＮトラフィックフロー要件と、ＡＰＮトラフィックフローの状態との双方を含む。特定のＡＰＮフロー記録の要件は、ＡＰＮトラフィックフローがマッチするルートおよびサービスルールから導き出される。ＡＰＮフロー記録の状態は、ＡＰＮサービスタイプ、ＡＰＮサービスインスタンス、選択された最後のＡＰＮ経路に関する情報、現在のＡＰＮフローシーケンス番号、最後にパケットを受信した時間、最後にパケットを送信した時間、処理されたパケットの数およびバイトの数のカウント、シーケンス並べ替えのためのペンディングパケットのセット、フラグメンテーションのためのペンディングパケットのセット、および、過去に処理されたパケットの履歴記録のセットを含むが、これらに限定される訳ではない。
【００４９】
ＷＡＮイングレスコンジット処理の処理段についてのさらなる詳細は、その全体を本明細書に引用により援用する「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された２０１２年２月８日発行の米国特許第８，１２５，９０７号を参照されたい。
【００５０】
本発明は、ＷＡＮネットワークによりデータトラフィックを如何にして処理するかを改善するためのある方法である、改善されたＷＡＮ最適化（ＷＡＮｏｐ）処理の局面に関する。そのために、本明細書でさらに説明するように、２つの主要ツールとして、重複排除および圧縮を採用する。重複排除は、複数回同一ビットパターンがＷＡＮリンクを頻繁に通ると認識することにより、機能する。たとえば、多数の被雇用者が、同一プロジェクトに取り組んでいるとき、同一の電子メールおよびファイルをデータセンターのサーバからダウンロードする場合がある。本手法は、ＷＡＮに近いネットワークアプライアンスがこのデータをキャッシュしスモールコードを使用して実際のデータを表現できるようにする。このアプローチは、ＷＡＮネットワークを通らなければならないデータの量を低減する。
【００５１】
一実施形態において、本発明は、ＷＡＮｏｐプロセスとＳＳＤ上のディスクキャッシュとの間に書込保護キャッシュ（write protection cache）（ＷＰＣ）を導入する。書込保護キャッシュは保持エリアを提供し、二度以上見たデータのみがディスクキャッシュにコミットされる。
【００５２】
書込保護キャッシュ（ＷＰＣ）は、ディスク上のデータに対する保護層を提供する。ここに記載されているその利用により、ドライブへの不要な書込を回避しようとしている。この目的を、二度以上見たデータ（チャンク）のみをディスクにコミットすることで達成する。この特徴は以下の少なくとも２つの別々の問題に対処する。
・ＳＳＤディスク摩耗：ＳＳＤ技術は、驚くほど高速であるが、寿命はＨＤＤよりも大幅に短い。たとえば、アプライアンス上の１２８ＭＢドライブは、１４ＴＢのデータの書込だけで故障する。アプライアンスの保証期間中にドライブが故障すると、財政上の副次的影響がドライブ供給業者に生じる場合がある。
・ディスクキャッシュの改善された利用：過去にＷＰＣに記録されたデータのみをディスクに書き込むことにより、たとえば暗号化データ等の繰り返しなしのデータがディスクに書き込まれることを回避する。加えて、頻繁に利用される良好なウォームデータを再び見ることのないデータで置き換えないことは好都合である。
【００５３】
ＷＰＣは、受信したセキュアハッシュアルゴリズム（secure hash algorithm）（ＳＨＡ）１ダイジェストのキャッシュである。これらは、アプライアンスメモリの確保した部分に格納される。４ＧＢのＷＰＣは、５００ＧＢを超えるデータを表すおよそ７０００万のダイジェストを含む。ダイジェストは、複製が検出されるまで、ＷＰＣに保存される。次に、チャンク、データおよびダイジェストがディスクキャッシュに追加され、ＷＰＣからエントリが削除される。
【００５４】
本明細書で使用する用語は、ＤＷＰＤ（drive writes per day）：一日当たりのドライブ書込、ＷＰＣ（write protection cache）：書込保護キャッシュ、および、ＷＡＮｏｐ：ＷＡＮにおけるデータ転送効率を高めるための技術を集めたもの、を含む。
【００５５】
先に述べたように、現在のあるＷＡＮｏｐの手法は、ＷＡＮイングレスおよびＷＡＮエグレスアプライアンス双方のディスクにチャンクを書き込む。この手法は、ある方向に送信されたデータを直ちに反対方向の重複排除に使用できることを保証する。しかしながら、本発明は、データは単方向の傾向があるので、多くの場合この２方向の可用性は不必要であると認識する。
【００５６】
これに対し、図３のＷＡＮｏｐプロセス３００に示されるようにＷＡＮイングレスのディスクには書き込まないようにすることにより、ＷＡＮｏｐプロセス３００はＷＡＮエグレスのみで学習する。よって、ある方向においてチャンクが学習されるかまたはディスクに書き込まれる場合、この情報は逆方向と共有されない。多くの場合、この手法は極めて良いトレードオフである。同一データが両方向に流れる場合、ＷＡＮｏｐプロセス３００はこれを素早く学習する。しかしながら、予想通りＷＡＮエグレスおよびＷＡＮイングレスに共通するデータがほとんどない場合、事実上のプロセス節減が認識される。
【００５７】
次に図３を詳細に参照すると、ピア１  ３３０は、好適には、クラウドストレージからデータをダウンロードするためのクラウドパケットＩ／Ｏ接続３４０等の、ＷＡＮからのネットワークトラフィックを処理するＷＡＮｏｐエグレスプロセッサであってもよい。たとえば、ラップトップ等のクライアントデバイスに接続されたＬＡＮ上のクライアントストリーム３４８のように、データがＬＡＮにダウンロードされる。クラウド接続３４０とクライアントストリーム３４８との間で、データは、６４ｋ入力バッファ３４１を通して圧縮解除プロセス３４２へと送られ、そこからダイジェストデータ取得３４４へと送られて、以下でＷＰＣ３１０およびディスク３２０について述べるように、ダイジェストおよび／またはデータが取り出される。次に、データは６４ｋ出力バッファ３４６を通ってクライアントストリーム３４８まで進む。
【００５８】
ピア２  ３５０は、好適には、ラップトップ等のクライアントデバイスに接続されたローカルエリアネットワーク（ＬＡＮ）から送信されるネットワークトラフィックを処理するＷＡＮイングレスプロセッサである。クライアントは、ＷＡＮクラウドパケット入出力（Ｉ／Ｏ）接続３６８を通してクラウドストレージにデータを送信するために、クライアントデバイスからクライアントストリーム３６０を送信する。その間において、データは、６４ｋ入力バッファを通して重複排除プロセス３６２、圧縮プロセス３６４および６４ｋ出力バッファ３６６に送られる。
【００５９】
ＷＡＮエグレスにおいて、ＷＡＮｏｐのＷＰＣ３１０は、チャンクダイジェストを格納し、新たに到着したダイジェストを過去に見たものと比較することにより、重複を特定する。以下でさらに述べるように、重複が検出されると、ダイジェストおよびチャンクはディスクキャッシュ３２０に書き込まれる。本明細書に記載の手法の欠点は、以下でさらに述べる過去の手法では１回であるが、２回データをＷＡＮイングレスピアから送信しなければならない点である。
【００６０】
ディスク書込をさらに制限するために、図４に示されるＷＡＮイングレス処理のプロセス４００はディスクにデータを書き込まない。データがステップ４０２でＬＡＮに到着し、ステップ４０４でチャンクにグループ分けされる。典型的なチャンクは、１．５ｋＢと２２ｋＢとの間であり、平均約８ｋＢである。ステップ４０５で、チャンクについてセキュアハッシュアルゴリズム（ＳＨＡ）１ダイジェストを計算し、ダイジェストをピアに転送する。その他のハッシュアルゴリズムを好適に用い得ることが理解されるであろう。ステップ４０７で、ピアは、そのキャッシュにチャンク／ダイジェストがある場合はＡＣＫで応答し、チャンク／ダイジェストを有していない場合はＮＡＣＫで応答する。ステップ４０８で、応答がＮＡＣＫである場合チャンクデータをピアに送信する。上述のように、単方向のフローの場合、イングレスにおけるキャッシュ、ＷＰＣまたはＳＳＤへの書込はない。ユーザインターフェイス（ＵＩ）ＷＡＮイングレス統計において、ＡＣＫはヒットとして示されＮＡＣＫはミスとして報告される。
【００６１】
次に、エグレス処理のためのアプライアンスモデリングについて、ダイジェストを格納するためのデータ構造は６４バイトであり、データの平均チャンクは８ｋＢである。ダイジェストのみを格納することで、過去に見たデータのＷＡＮｏｐのメモリは、ＷＰＣのおよそ１２８倍になる。たとえば、１メガバイトのＷＰＣは、１２８メガバイトのチャンクデータを表す１６ｋのダイジェストを含む。
【００６２】
アプライアンスモデリングの例は次の通りである：
アプライアンスは１００Ｍｂｐｓの持続ＷＡＮｏｐスループットをサポートし、
１００Ｍｂｐｓは、１秒当たり１６００（８ｋＢ）チャンクに相当する１２．５ＭＢｐｓに相当し、
ＷＰＣフィルレート：３５２ＭＢ／ｈｒのＷＰＣに相当する１０２．４ｋＢｐｓのＷＰＣである。
【００６３】
データレートが１００Ｍｂｐｓの場合、３．５ＧＢのＷＰＣは、４３９ＧＢのデータを表す固有チャンクの１０時間メモリを提供する。その他のプラットフォームの同様のデータが図５の表５００に示される。
【００６４】
次にデータフローについて、図６は、ＷＡＮイングレスピアが受信した過去見ていないチャンクについての要求を処理するためのプロセス６００を示す。言い換えると、チャンクはＷＰＣにもディスク上にもない。最初に、ステップ６０４でダイジェストがＷＡＮエグレスピアに送信される。これは新たなチャンクでありダイジェストはそのディスクキャッシュにないので、ＷＡＮエグレスピアはステップ６０６でＮＡＣＫで応答する。ＮＡＣＫを受信すると、ＷＡＮイングレスピアはステップ６０８でチャンクのデータを送信する。ダイジェストはＷＰＣにないと判断すると、ＷＡＮエグレスピアはステップ６１０でダイジェストをＷＰＣに追加しデータをＬＡＮに転送する。
【００６５】
図７は、二度目に見たチャンクを処理するプロセス７００を示す。図７に示されるように、ステップ７０２で、ＷＡＮイングレスピアが同じチャンクを受信した場合、ダイジェストが再びＷＡＮエグレスピアに送信される。ステップ７０４で、ダイジェストはディスク上にないと判断されると、ステップ７０６でＷＡＮエグレスピアはＮＡＣＫで応答する。ステップ７０８で、イングレスピアはチャンクのデータをＷＡＮエグレスピアに送信する。ステップ６１０で追加された結果、チャンクのダイジェストはＷＰＣにおいて見出される。ステップ７１０で、データをディスクに追加しＷＰＣからダイジェストを削除する。ステップ７１２で、データをＬＡＮに転送する。
【００６６】
図８は、三度目以降に見たチャンクを処理するプロセス８００を示す。図８に示されるように、チャンクを三度目以降に見た場合、ステップ８０４でデータとダイジェストとを含むこのチャンクをエグレスピアに送信する。ステップ８０６で、ステップ８０４で送信するダイジェストはディスク上に既に格納されているチャンクに対応するので、ＡＣＫをイングレスピアに送信する。ステップ８０８で、エグレスピアはこのデータをＬＡＮに転送する。
【００６７】
図９Ａおよび図９Ｂ（まとめて図９）はそれぞれプロセスフロー９００および９５０を示す。図９Ａのプロセス９００のステップ９０２で、ＷＡＮエグレスピアはイングレスピアからチャンクダイジェストを受信する。ステップ９０４で、エグレスピアはルックアップ動作を実行することにより、受信したダイジェストは、現在好ましい実施形態では半導体ストレージデバイス（ＳＳＤ）であるディスク上に格納されているか否かを判断する。ステップ９０６で、ステップ９０４の判断が「ＮＯ」であれば、プロセス９００は次にＮＡＣＫ応答をイングレスピアに送信する。ステップ９０６で、上記判断が「ＹＥＳ」であれば、ステップ９０８でチャックデータをＬＡＮに送信し、ステップ９１０でＡＣＫ応答をイングレスピアに送信する。
【００６８】
図９Ｂのプロセス９５０のステップ９５２で、エグレスピアは、ダイジェストを含むチャックとともに、イングレスピアからＮＡＣＫリプライを受信する。エグレスピアは、ステップ９５４に進み、ディスクキャッシュにおけるダイジェストをルックアップすることにより、ダイジェストがそこにあるか否かを判断する。ステップ９５６で、ダイジェストがディスク上にあると判断すると、エグレスピアは次にステップ９５８でチャンクデータがＷＰＣに格納されているか否かを判断する。ＹＥＳであれば、ステップ９６０で、チャンクをディスクストレージに追加する。ステップ９６２で、ＷＰＣからダイジェストを削除し、ステップ９６６で、チャンクデータをＬＡＮに送信する。ステップ９６８で、ＡＣＫ応答をイングレスピアに送信する。ステップ９５８で判断が「ＮＯ」の場合、ダイジェストはＷＰＣにないので、ステップ９６４でダイジェストをＷＰＣに追加する。
【００６９】
ステップ９５６に戻って、ＹＥＳの場合、ダイジェストはディスクストレージ上にあるので、ステップ９６６で、チャンクデータをＬＡＮに送信する。ステップ９６８で、ＡＣＫ応答をイングレスピアに送信する。
【００７０】
再びＷＰＣダイジェスト管理について、現在好ましいＷＰＣの各エントリは６４バイト（Ｂ）でありチャンクダイジェストを含む。最初、すべてのエントリはフリーリスト上にある。ダイジェストがＷＰＣに追加されると、エントリはフリーリストから使用中リストに移動する。ＷＰＣがヒットすると、エントリは使用中リストから削除され、フリーリストに戻される。新たなエントリが必要でありフリーリストが空のとき、使用中リストの最も古いエントリが使用できるようにされる。たとえば、特定サイズ未満の最も古い１つまたは複数のエントリは、同様に古いがより大きなサイズのエントリの前に削除されるであろう。
【００７１】
本発明は仮想アプライアンスで実施可能であることが理解されるであろう。この文脈において、仮想アプライアンスは通常のアプライアンスと同じように動作するが、仮想アプライアンスはそのスケーラビリティおよびリソース要求を、下にある仮想メモリ（ＶＭ）構成に基づいて調整しなければならない。この文脈において、ＷＡＮｏｐメモリ要求サイズは総メモリに基づいている。
【００７２】
本発明を、現在好ましい実施形態の各種局面の文脈で開示しているが、本発明は以下の請求項に適合するその他の環境に適宜応用し得ることが理解されるであろう。例として、本願では、ダイジェスト、データ、チャンクを、このチャンクを二度目に見るまではディスクキャッシュに格納しないと説明しているが、同じチャンクを三度目以降に見て初めて格納動作が生じる場合もあること、および、数字は特定のユーザ体験およびコンテキストに適応するようにユーザが選択可能なパラメータであってもよいことが、理解されるであろう。さらに、数字はチャンクサイズに応じて変化し得るものであり、たとえば、最大サイズのチャンクは二度目に見たときに格納し、最小サイズのチャンクは三度目に見たときに格納する。時刻、利用できる残りのディスクストレージの量なども考慮されるであろう。
【図１Ａ】
2021504858.tif 000003
【図１Ｂ】
2021504858.tif 000004
【図２】
2021504858.tif 000005
【図３】
2021504858.tif 000006
【図４】
2021504858.tif 000007
【図５】
2021504858.tif 000008
【図６】
2021504858.tif 000009
【図７】
2021504858.tif 000010
【図８】
2021504858.tif 000011
【図９Ａ】
2021504858.tif 000012
【図９Ｂ】
2021504858.tif 000013
【図１０】
2021504858.tif 000014
【国際調査報告】
2021504858.tif 000015