(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-07
(45)【発行日】2023-07-18
(54)【発明の名称】適応プライベートネットワーク(APN)におけるインテリジェント書込保護キャッシュ(IWPC)
(51)【国際特許分類】
G06F 3/06 20060101AFI20230710BHJP
【FI】
G06F3/06 306Z
G06F3/06 304H
(21)【出願番号】P 2020546289
(86)(22)【出願日】2018-11-20
(86)【国際出願番号】 US2018062133
(87)【国際公開番号】W WO2019104098
(87)【国際公開日】2019-05-31
【審査請求日】2021-11-12
(32)【優先日】2017-11-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-11-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520177172
【氏名又は名称】タラリ・ネットワークス・インコーポレイテッド
【氏名又は名称原語表記】TALARI NETWORKS INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】オズワルド,ジョン
(72)【発明者】
【氏名】ハーンド,ロバート・ジョセフ
【審査官】岩田 玲彦
(56)【参考文献】
【文献】米国特許出願公開第2017/0207996(US,A1)
【文献】米国特許出願公開第2014/0185445(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
データストレージ削減のためのワイドエリアネットワーク(WAN)最適化方法であって、
データと前記データのダイジェストとを一度目に受信するステップと、
前記データと前記ダイジェストとを受信したのは一度目であると判断したことに応じて、前記ダイジェストを書込保護キャッシュに格納するステップと、
前記データと前記データの前記ダイジェストとを二度目に受信するステップと、
前記データと前記ダイジェストとを受信したのは二度目であると判断したことに応じて、前記データと前記データの前記ダイジェストとをメインディスクに格納し、前記書込保護キャッシュから前記ダイジェストを削除するステップと、
後続の転送において前記ダイジェストを受信するステップと、
前記受信したダイジェストに基づいて前記メインディスクの前記データにアクセスするステップとを含む、方法。
【請求項2】
前記データと前記データの前記ダイジェストとをメインディスクに格納するステップは、WANエグレス
プロセス中にのみ行われる、請求項1に記載の方法。
【請求項3】
前記データと前記データのダイジェストとを一度目に受信するステップは、WANエグレスプロセスにおいて行われる、請求項1または2に記載の方法。
【請求項4】
前記ダイジェストはセキュアハッシュアルゴリズムダイジェストを含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記データおよび前記ダイジェストはとも
に、およそ1.5kB~22kBであり平均サイズが約8kBである
チャンクを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
ローカルエリアネットワークに到着したデータをWANイングレスプロセスが受けるステップと、
前記データをチャンクにグループ分けするステップとをさらに含む、請求項3に記載の方法。
【請求項7】
前記WANイングレスプロセスがチャンクごとにダイジェストを計算するステップをさらに含む、請求項6に記載の方法。
【請求項8】
第1のチャンクの第1のダイジェストをエグレスプロセスに送るステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記エグレスプロセスが前記メインディスクに格納された前記第1のチャンクを有する場合、前記エグレスプロセスが確認応答(ACK)で応答するステップと、
前記エグレスプロセスが前記メインディスクに格納された前記第1のチャンクを有しない場合、前記エグレスプロセスが否定確認応答(NACK)で応答するステップとをさらに含む、請求項8に記載の方法。
【請求項10】
前記応答がNACKである場合、データの前記第1のチャンクを前記エグレスプロセスに送るステップをさらに含む、請求項9に記載の方法。
【請求項11】
データストレージ削減のためのワイドエリアネットワーク(WAN)最適化装置であって、
データと前記データのダイジェストとを一度目に受信するための手段と、
前記データと前記ダイジェストとを受信したのは一度目であると判断したことに応じて、前記ダイジェストを書込保護キャッシュに格納するための手段と、
前記データと前記データの前記ダイジェストとを二度目に受信するための手段と、
前記データと前記ダイジェストとを受信したのは二度目であると判断したことに応じて、前記データと前記データの前記ダイジェストとをメインディスクに格納し、前記書込保護キャッシュから前記ダイジェストを削除するための手段と、
後続の転送において前記ダイジェストを受信するための手段と、
前記受信したダイジェストに基づいて前記メインディスクの前記データにアクセスするための手段とを含む、装置。
【請求項12】
前記データと前記データのダイジェストとを一度目に受信するための手段は、WANエグレスプロセッサを含む、請求項11に記載の装置。
【請求項13】
前記データと前記データの前記ダイジェストとをメインディスクに格納することは、WANエグレス
プロセス中にのみ行われる、請求項11または12に記載の装置。
【請求項14】
前記ダイジェストはセキュアハッシュアルゴリズムダイジェストを含む、請求項11~13のいずれか1項に記載の装置。
【請求項15】
前記データおよび前記ダイジェストはとも
に、およそ1.5kB~22kBであり平均サイズが約8kBである
チャンクを含む、請求項11~14のいずれか1項に記載の装置。
【請求項16】
ローカルエリアネットワークに到着したデータを受信するWANイングレスプロセッサをさらに含み、前記WANイングレスプロセッサは前記データをチャンクにグループ分けする、請求項12に記載の装置。
【請求項17】
前記WANイングレスプロセッサがチャンクごとにダイジェストを計算することをさらに含む、請求項16に記載の装置。
【請求項18】
前記WANイングレスプロセッサが第1のチャンクの第1のダイジェストを前記エグレスプロセッサに送ることをさらに含む、請求項17に記載の装置。
【請求項19】
前記エグレスプロセッサが前記メインディスクに格納された前記第1のチャンクを有する場合、前記エグレスプロセッサが確認応答(ACK)で応答することと、
前記エグレスプロセッサが前記メインディスクに格納された前記第1のチャンクを有しない場合、前記エグレスプロセッサが否定確認応答(NACK)で応答することとをさらに含む、請求項18に記載の装置。
【請求項20】
前記応答がNACKである場合にデータの前記第1のチャンクを送るための手段をさらに含む、請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年11月20日出願の米国特許出願第16/196,358号に基づく優先権を主張するとともに、2017年11月21日出願の米国仮特許出願第62/589,163号に基づく利益を主張し、これら双方の全体を本明細書に引用により援用する。
【0002】
関連出願の相互参照
本願はまた、「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された米国特許第8,125,907号として発行された2009年6月11日出願の米国特許出願第12/482,766号に基づく利益および優先権を主張する米国特許第8,274,891号として発行された2012年1月19日出願の米国特許出願第13/353,693号の継続出願である米国特許第8,644,164号として発行された2012年8月23日出願の米国特許出願第13/592,460号の分割出願である2014年1月13日出願の米国特許出願第14/146,786号に関し、これらはすべて、2008年6月12日出願の「Flow-based Adaptive Private Network with Multiple WAN-Paths」と題された米国仮特許出願第61/060,846号に基づく利益を主張し;米国特許第8,452,846号として発行された「Adaptive Private Network Asynchronous Distributed Shared Memory Services」と題された2011日8月12日出願の米国特許出願第13/208,825号の継続出願である米国特許第8,775,547号として発行された2013年3月26日出願の米国出願第13/850,411号の継続出願である2014年5月30日出願の米国特許出願第14/291,776号に関し、これらはすべて、2010年8月12日出願の「Adaptive Private Network Asynchronous Distributed Shared Memory Services」と題された米国仮特許出願第61/372,904号に基づく利益を主張し;「An Adaptive Private Network with Geographically Redundant Network Control Nodes」と題された2012年12月19日出願の米国特許出願第13/719,433号に関し;「An Adaptive Private Network with Path Maximum Transmission Unit (MTU) Discovery Process」と題された2013年9月6日出願の米国特許出願第14/019,723号に関し;「Adaptive Private Network with Dynamic Conduit Process」と題された2014年9月9日出願の米国特許出願第14/481,335号に関し;「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Discovery Processes」と題された2015年12月17日出願の米国特許出願第14/972,270号に関し;「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Timestamp Correlation Processes」と題された2015年12月17日出願の米国特許出願第14/972,353号に関し;「Methods and Apparatus for Providing Adaptive Private Network Database Schema Migration and Management Processes」と題された2015年12月17日出願の米国特許出願第14/972,514号に関し;「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Data Visualization Processes」と題された2015年12月17日出願の米国特許出願第14/973,193号に関し;「Methods and Apparatus for Providing Adaptive Private Network Centralized Management System Time Correlated Playback of Network Traffic」と題された2015年12月17日出願の米国特許出願第14/973,343号に関し;「Methods and Apparatus for Configuring a Standby WAN Link in an Adaptive Private Network」と題された米国特許出願第2017-0207996号A1として公開された2017年1月18日出願の米国特許出願第15/409,001号に関し;「Methods And Apparatus For Accessing Selectable Application Processing Of Data Packets In An Adaptive Private Network」と題された米国特許出願第2017-0207997号A1として公開された2017年1月18日出願の米国特許出願第15/409,006号に関し;「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」と題された米国特許出願第2017-0207963号A1として公開された2017年1月18日出願の米国特許出願第15/409,016号に関し;「Adaptive Private Network (APN) Bandwidth Enhancements」と題された米国特許出願第2017-0207976号A1として公開された2017年1月18日出願の米国特許出願第15/409,019号に関し、これらはすべて、譲受人が本願と同一であり、関連出願であり、それぞれの全体を本明細書に引用により援用する。
【0003】
発明の分野
本発明は、概して改善されたワイドエリアネットワーク(WAN)最適化およびスマートキャッシング技術に関する。より具体的には、本発明は、適応プライベートネットワーク(adaptive private network)(APN)の文脈おいて、重複排除、すなわち重複の削減または解消に使用されるネットワークデータのキャッシュをディスクおよびRAMリソースを用いて管理することに関する。
【背景技術】
【0004】
発明の背景
WAN最適化(WAN optimization)(WANop)は、2人以上のユーザが頻繁に閲覧するバルクトラフィックファイルおよびその他の情報のネットワークにおける帯域幅効率を高めるように設計されたネットワーキング改善である。この種のデータの一般的な例は、送信一回で複数ユーザのために使用するのに有益であろうソフトウェアアップデートおよび共有ドキュメントである。WANopデバイスは、ネットワークを通るデータをキャッシュしこのデータがいつ複製されているかを認識して、キャッシュされたデータへのリファレンスを複製データの代わりにWANを通して送ることができる。また、WANopは、まだデータを圧縮していないネットワークプロトコルに圧縮を追加することによってネットワークを改善する。WANop使用の利点は、既存のネットワークアプリケーションが利用するWAN帯域幅を低減することができアプリケーション自体は変更されない点にある。
【0005】
ワイドエリアネットワーク(WAN)最適化(WANop)を実行する製品は、アプライアンス(appliance)上で使用できるRAMおよびディスクストレージが有限である場合に重複排除を行うときには難題を扱わねばならない。ネットワークデータが見えたとき、ネットワークノードアプライアンスは、そのデータが再び見えるか否かを知ることはできない。ある過去の手法において、WANopは、イングレスまたはエグレスのいずれかで受けたどの新データもディスクに直接書き込んでいた。本発明は、そのいくつかの局面のうちで、この手法の場合、結果として多大なドライブ摩耗が生じる可能性があり、頻繁に使用されるデータのウォームチャンクが繰り返しなしのデータに置き換えられる可能性があると、認識する。本発明はまた、すべてのデータをキャッシュする場合、高帯域幅のWANリンクを扱うには大量のRAMおよびディスクストレージが必要であり、そうするとWANopネットワークデバイスの価格が大幅に上昇すると、認識する。本発明はさらに、ネットワークデバイスが将来再び見られるであろうデータしかキャッシュしないことを所望するのが理想的であると、認識する。本発明はまた、最もよくあるデータ転送は、所定のクライアントサイトで複数のユーザが繰り返しアクセスするデータセンターに格納された情報からの転送であると、認識する。
【0006】
また、ソリッドステートドライブ(solid state drive)(SSD)技術は、驚くほど高速であるが、寿命はハードディスクドライブ(hard disk drive)(HDD)よりも大幅に短い。たとえば、128MBドライブは、14TBのデータの書込だけで故障する。保証書を提供する企業には、アプライアンスの保証期間中にドライブが故障すると、財政上の副次的影響が生じる場合がある。
【発明の概要】
【課題を解決するための手段】
【0007】
発明の概要
本発明は、そのいくつかの局面のうちで、改善されたワイドエリアネットワーク(WAN)最適化をより低いコストでネットワークに提供することは好都合であると認識する。本明細書に記載の文脈においてデータを必ず保存するのではなく、データとこのデータのダイジェストとを送信する。データを一度目に見た場合、ダイジェストをWPCに格納する。データを二度目に見た場合であって同じダイジェストが転送されている場合、ダイジェストとデータとをメインディスクに格納しWPCからダイジェストを削除する。その後、三度目以降の転送では、データはメインディスクに既に格納されているのでダイジェストのみを送信する。そのために、本発明の実施形態はデータストレージを削減する方法を適用する。この方法は、データとこのデータのダイジェストとを一度目に受信するステップと、上記データとダイジェストとを受信したのは一度目であると判断したことに応じて、上記ダイジェストを書込保護キャッシュに格納するステップと、上記データとデータのダイジェストとを二度目に受信するステップと、上記データとダイジェストとを受信したのは二度目であると判断したことに応じて、上記データとデータのダイジェストとをメインディスクに格納し、上記書込保護キャッシュから上記ダイジェストを削除するステップと、後続の転送において上記ダイジェストを受信するステップと、受信したダイジェストに基づいてメインディスクのデータにアクセスするステップとを含む。
【0008】
本発明ならびに本発明のその他の特徴および利点のより完璧な理解は、以下の詳細な説明、添付の図面、および請求項から明らかに得られるであろう。
【0009】
本発明の具体例としての実施形態は、以下の説明および続く請求項を添付の図面との関連で解釈すると、より完全に明らかになるであろう。これらの図面は具体例としての実施形態のみを示しておりしたがって本発明の範囲を制限するとみなされてはならないという理解の下、本発明の具体例としての実施形態を添付の文書に含まれる添付の図面の使用を通してさらに具体的にかつ詳細に説明する。
【図面の簡単な説明】
【0010】
【
図1A】本発明のある実施形態に係る、サービス経路を示し
図3~
図10に関してさらに説明する改善されたWANop処理を使用する、適応プライベートネットワーク(APN)の制御下の、ワイドエリアネットワーク(WAN)に結合されたローカルエリアネットワーク(LAN)上のクライアントノードで構成されたエンドツーエンドネットワークを示す。
【
図1B】本発明のある実施形態に係る、クライアントサイトAとクライアントサイトBとの間の統合ファイアウォールを含む2エンドサービスを提供し
図3~
図10に関してさらに説明する改善されたWANop処理を使用する、適応プライベートネットワーク(APN)コンジット(conduit)を示す図である。
【
図2】本発明のある実施形態に係る、
図3~
図10に関して説明する改善されたWANop処理に関して使用される、APNネットワーク制御ノード(NCN)と、16のAPNクライアントサイトに結合された16のAPNコンジットとを有するAPNを示す図である。
【
図3】本発明に係る、書込保護キャッシュ(WPC)を使用するWANop処理を示す実施形態のブロック図である。
【
図4】本発明に係るイングレス処理の局面を示す図である。
【
図5】本発明に係るWANop処理を使用するさまざまなプラットフォームのモデリングされたアプライアンスデータを有する表を示す図である。
【
図6】本発明に係る過去見ていないデータのデータフローを示す図である。
【
図7】本発明に係る二度目に見たデータのデータフローを示す図である。
【
図8】本発明に係る三度目以降に見たデータのデータフローを示す図である。
【
図9A】本発明に係るエグレスピア処理の例を示す図である。
【
図9B】本発明に係るエグレスピア処理の例を示す図である。
【
図10】本発明の仮想アプライアンスの実施形態のデータの表を示す図である。
【発明を実施するための形態】
【0011】
詳細な説明
図1Aは本発明のある実施形態に係る具体例としての適応プライベートネットワーク(APN)100を示し、APN100は、サービス経路を示すAPNの制御下のワイドエリアネットワーク(WAN)102に結合されたそれぞれのローカルエリアネットワークLAN1 101およびLAN2 103上のローカルサイト124
A1、124
A2、…124
ANおよびローカルサイト125
B1、125
B2、…125
BNを有する。APN100は、WAN102等の1つ以上のワイドエリアネットワーク(WAN)と、APNアプライアンス(APNA)104~106と、WANルータ110
1~110
3と、ネットワークアプリケーションサービスおよびAPNA間のAPNコンジットとを含み、これらについて以下でより詳細に説明する。APN100は、APNの単一制御ポイントを提供するネットワーク制御ノード(network control node)(NCN)として機能する単一のAPNAから構成される。しかしながら、第一に、本明細書で使用する用語の番号は、本発明の文脈で使用されるときに持つ意味で定義される。
【0012】
APN経路は、WANの異なる地理的サイトに位置する2つのWANリンク間に確立された論理接続であり、一方のWANリンクはトラフィックを他方のWANリンクに送信する。経路は単方向エンティティ(1送信者および1受信者)なので、相互に接続された2つのWANリンクはその間に2つの経路を有する。各WANリンクは、一方の経路をその送信経路とみなし、他方の経路を受信経路とみなす。APN経路は、通常の状況でユーザトラフィックを送信するのに使用される。
【0013】
APNコンジットは、2つの、クライアントサイトとも呼ばれるAPNノード間の仮想接続であり、1つ以上のAPN経路とそれぞれに割り当てられたWANリンクリソースとを集約することによって形成される。コンジットサービスは、1つ以上の経路の論理的な組み合わせである。コンジットサービスは、典型的に、APNの全値(full value)を利用する、エンタープライズのサイト間イントラネットトラフィックに使用される。コンジットサービスを用い、構成に応じて、トラフィックを複数のWANリンクにわたって管理することにより、エンドツーエンドトンネルを作成する。コンジットは、下にあるネットワーク上の仮想ネットワークをオーバーレイする。
【0014】
APNアプライアンス(APAN)は、APNへのその参加を支配するソフトウェアモジュールを含むAPIクライアントサイト機能を含むデバイスである。高可用性(high availability)(HA)サイトは2つのAPNAを含み、一方はアクティブであり、もう一方は動作スタンバイモードであり必要であれば他方のAPNAに代わってアクティブになり使用できるようになる。
【0015】
WANリンクは、デジタル加入者線(digital subscriber line)(DSL)接続またはケーブルモデム等の、ワイドエリアネットワーク(WAN)への物理アクセスポイントを表す。WANリンク特有の特徴は、送信および受信に使用できるデータ容量を表す帯域幅である。WANリンクは、APNコンジット、イントラネットネットワークサービス、およびインターネットネットワークサービス間で共有できる。本実施形態において、APNアプライアンスはWANリンクに直接所属していない。APNアプライアンスは、
図1AのWANルータ110
1~110
3等の論理接続を通してWANリンクと通信する。
【0016】
プライベートWANリンクは、非公共WAN宛先への物理アクセスポイントを提供する。このようなプライベートWANリンクの例は、ATM仮想回路との非同期転送モード(asynchronous transfer mode)(ATM)リンク、フレームリレー回路とのフレームリレーリンク、マルチプロトコルラベルスイッチング(multiprotocol label switching)(MPLS)トンネル、仮想プライベートネットワーク(virtual private network)(VPN)トンネル、または専用ポイントツーポイントラインを含む。プライベートWANリンクを有するネットワーク上の接続が、ネットワークの他方の終端上の宛先のプライベートリストに対して構築される。パブリックWANリンクは、インターネットへの物理アクセスポイントを表す。いずれのパブリックWANリンクもその他いずれかのパブリックWANリンクへの接続を確立できると想定することができる。
【0017】
ローカルWANリンク(local WAN link)(LWL)は、WANに対するAPNクライアントサイトのアクセスポイントである。サイトAのLWLが、サイトBの対応するリモートWANリンク(remote WAN link)(RWL)に結合される。サイトAとサイトBとの間のコンジットの場合、サイトAのローカルWANリンクは、サイトBのリモートWANリンクである。
【0018】
インターネットサービスは、エンタープライズサイトとパブリックインターネット上のサイトとの間のトラフィックに使用される。インターネットは独立したセキュリティゾーンとして扱われる。インターネット上のトラフィックは、APN内のコンジットトラフィックよりも信頼度が低いとみなされる。なぜなら、インターネットトラフィックは、カプセル化されておらず、コンジット内と同様に暗号化されるからである。また、インターネットトラフィックは、一般的に、信頼されているネットワークを所有するエンタープライズの制御下にないエンティティからのものである。
【0019】
イントラネットサービスは、コンジットを通した送信用に規定されていないエンタープライズイントラネットトラフィックの任意の一部のために使用される。インターネットトラフィックと同様、イントラネットトラフィックはカプセル化されていないままであり、APNは、輻輳中他のサービスタイプに対してイントラネットトラフィックをレート制限することによりネットワーク内の帯域幅を管理する。なお、特定の条件下で、コンジット上のイントラネットフォールバック用に構成されていた場合、通常はコンジットを介して進行するトラフィックは、ネットワーク信頼度を保つためにイントラネットトラフィックとして代わりに扱うことができる。コンジットトラフィックはサイト間なので、顧客は一般的にこのサイト間トラフィックをコンジットなしで配信することができる。この、イントラネットサービスと呼ばれる、カプセル化されていないサービスは、コンジットの恩恵を受けない。コンジットトンネルを構築できない場合は、そのコンジットを使用するルートを無視し、これは、コンジットを使用したであろうトラフィックが、カプセル化されていないサイト間トランスポート方法を使用するようにリダイレクトされることを意味する。
【0020】
あるフローが、<IPソースアドレス,IP宛先アドレス,IPプロトコル番号,送信制御プロトコル(TCP)/ユーザデータグラムプロトコル(UDP)ソースポート,IPプロトコルはTCPかUDPか、TCP/UDP宛先ポート,IPプロトコルはTCPかUDPか>からなるnタプルによって規定される。コンテキストに応じてその他のアイテムをタプルに追加することができ、それは、差別化されたサービスコードポート(DSCP)タグ、ルーティングドメイン、およびサービス識別子などを含む。また、フローは単方向である。たとえば、ノードAとBとが通信している場合、AからBまでのトラフィックを表すフローと、BからAまでのトラフィックを表すフローとが存在する。
【0021】
APNサービスは、APNを通して送信されるパケットに対して実行される一組の処理ステップである。
図1Aに示されるように、APN100およびAPNアプライアンス106を通って移動するデータトラフィックは、送信ステーションおよび受信ステーションがどこに位置するかに応じて異なる種類のサービスを要求する場合がある。APNサービスインスタンスは、たとえば、APNアプライアンス106内部のAPNアプライアンスメモリ107に保持されているAPNサービスの特別に構成されたコンテキストインスタンスである。APNサービスインスタンスのメモリは、コンテキスト固有構成データ、統計データ、およびトラッキング状態データを含むが、これらに限定される訳ではない。たとえば、APNクライアントサイトは、リモートAPNクライアントサイトに接続する複数のAPNコンジットを有し得る。APNコンジットごとに、APNコンジットサービスタイプの独立したAPNサービスインスタンスが存在する。
【0022】
経路112に対応付けられたAPNコンジットサービスは、APN100を通して、APNアプライアンス105からルータ1101を通りWAN 102を通り別のルータ1103を通ってAPNアプライアンス(APNA)まで送信される。経路112のためのAPNコンジットサービスは、アプライアンス104および105双方の上で動作する。APNコンジットサービスは、APNA105を有する第1の地理的位置と、APNコンジットサービスがWANリソース割り当ておよびネットワーク適応化のために提供する全利点を利用するAPNA104を有する異なる地理的位置との間で、データを送信および受信する。経路114に対応付けられたAPNイントラネットサービスはAPNアプライアンス105を有する第1の地理的位置と、APNアプライアンスを有しないエンタープライズ非APNサイト120内の異なる地理的位置との間におけるデータの送受信を管理するために使用される。
【0023】
別の実施形態において、たとえば経路112に対応付けられた、APNイントラネットサービスを使用することにより、APNアプライアンスを有する異なる地理的位置との間でデータの送信および受信を行うことができるが、アドミニストレータが、特定の種類またはクラスのトラフィックについてはAPNコンジットサービス112を使用しないようにAPNを選択的に構成する。経路116に対応付けられたAPNインターネットサービスを使用することにより、APNA105を有する第1の地理的位置と、エンタープライズネットワークの外部にある異なる地理的位置との間で、他のAPNサービスも利用するWANリンクを用いて、データを送信および受信する。たとえば、APNインターネットサービスを使用するトラフィックは、パブリックインターネットウェブサーバ122にアクセスするネットワークユーザに対応付けることができる。APN通過サービス(APN pass through service)118を用いて、APNA105を有する第1の地理的位置と、同一の第1の地理的位置内のローカルサイト124A1との間でデータを送受信する。別の実施形態において、APN通過サービスを使用することにより、APNアプライアンス105を有する第1の地理的位置と、APNアプライアンスを有しておらずWANを通っていないエンタープライズネットワーク内の異なる地理的位置との間で、任意の他のAPNサービスに対応付けられた任意のWANリンクを用いて、データを送受信してもよい。
【0024】
さらに他の実施形態において、経路126では、第1のローカルサイト124A2が、LAN1 101、APNA105、WANルータ1101、WAN102、WANルータ1103、APNA104、およびLAN2 103を通って、第2のローカルサイト125B2まで接続されている。LAN1 101およびLAN2 103は、管理されておりネットワークパフォーマンス改善のために変化し得る複数のルータおよびルーティング経路を有する具体例としてのネットワークである。
【0025】
コンジットは複数の経路からなる。1つの経路は、コンジットに対応付けられた2つのWANリンク間に形成される。APNにおける各コンジット内の各経路は、パケット損失およびレイテンシ等の品質メトリクスを収集することにより、通信品質がモニタリングされる。このモニタリングは、制御メッセージにより行われ、各経路に対し、その経路がユーザトラフィック送信に使用されているか否かについて行われる。したがって、作動状態でないのでなければ、全くトラフィックがない経路は存在しない。コンジット内のすべての経路は、その経路を通るユーザトラフィックがあるか否かについて測定されるので、コンジットは、ユーザデータを送信するのに最良のネットワーク経路を選択するためにAPNが使用する最新の経路ごとのメトリックを維持する。
【0026】
スタティックコンジットは、コンフィギュレーションファイルにおいて構成されAPNAの起動時に作成されるコンジットである。スタティックコンジットは、コンフィギュレーションファイルの変更なしで削除されることはない。
【0027】
ダイナミックコンジットは、必要時にAPNクライアント間に作成されたコンジットであって、不要になれば削除できる。ダイナミックコンジットは、ネットワークにわたってリアルタイムで発生しているスタティックに構成されたネットワークの変化に対処する。リアルタイムで、ダイナミックコンジットは、ネットワーク内のノード間の通信パターンの変更に適応するために、ネットワークパフォーマンスを最適化する。また、ダイナミックコンジットは、輻輳が生じている中間ノードからのトラフィックをオフロードするために使用できる。
【0028】
本発明に係る適応プライベートネットワーク(APN)ソフトウェアプロダクトは、仮想マシン内の集中型管理システムとして実行することにより、APNコンフィギュレーションを作成し、システムリソースをモニタリングし、システムリソースを解析し、本明細書でさらに示すように動作時の構成されたAPNを管理する。APNシステムはさらに、ネットワーク制御ノード(NCN)がシステム幅のタイミング同期を提供する物理ネットワークのためにネットワーク制御ノード(NCN)によって集中型仮想単一制御ポイントを可能にする。ここではNCNはシステム幅のタイミング同期を提供する。集中型単一制御ポイントは、ネットワークノード内の中央位置に限定されず、ネットワークの境界の外部と考えられるポイントで結合することができる。
【0029】
図1Bは、本発明のある実施形態に係る、APNクライアントサイトA 152とAPNクライアントサイトB 154との間の統合ファイアウォール192、194、196、および198を含むツーエンドサービス150をサポートする、適応プライベートネットワーク(APN)を示す。各APNクライアントサイトはまた、APNのノードとみなされ、APNへのその参加を支配するソフトウェアモジュールの集まりを含む。APNクライアントサイトA 152およびAPNクライアントサイトB 154のためのソフトウェアモジュールはそれぞれ、コントロールプレーンモジュール156および158と、WANイングレスプロセッサモジュール160および162と、WANエグレスプロセッサモジュール164および166と、ノード管理インターフェイスソフトウェアプログラムモジュール168および170とを含む。
図1Bに示されるように、WANイングレスプロセッサモジュール160および162はコンジット処理段172および174を含み、WANエグレスプロセッサモジュール164および166は複製コンジット処理段176および178を含む。好都合には、ファイアウォール192および194がそれぞれ、WANイングレスプロセッサコンジット処理段172および174の入力段に統合される。ファイアウォール196および198はそれぞれ、WANエグレスプロセッサコンジット処理段176および178に統合される。統合ファイアウォールについては以下でさらに詳細に説明する。イントラネットサービス、インターネットサービス、および通過サービスは、各APNクライアントサイトにも設けられる。コンジット、イントラネット、インターネット、および通過サービスタイプを含む各APNサービスタイプは、それぞれWANとの間で通信される各タイプのデータトラフィックのための処理を実現する。
【0030】
図1Bに示されるように、太線の点線と矢印の経路180および182によって特定されるAPNコンジットトラフィックは、トラフィックがAPNを通る際、2つのAPNクライアントサイト152および154を通って流れる。APNクライアントサイトB 154のWANイングレス処理モジュール162は、WAN184を介してAPNクライアントサイトA 152にトラフィック180を送信する前に、WANイングレスコンジットサービス処理174を実行する。APNクライアントサイトA 152のWANエグレスプロセッサモジュール164は、LAN186上に位置する1つまたは複数のノードにトラフィック180を送信する前に、WANエグレスコンジットサービス処理176を実行する。一方のAPNクライアントサイトのWANイングレスコンジット処理174を、ピア(peer)APNクライアントサイトのWANエグレスコンジットサービス処理176に結び付けて、複数のWANリソースを通してトラフィックが能動的にモニタリングされ管理されるAPNコンジット188を構成する。t2_app 190および191と呼ばれる制御プログラムは、ユーザデータを送信しながらAPN内の他のAPNAと通信する各APNA上で実行される。
【0031】
APNは、挙動が、帯域幅、レイテンシ、ジッタ、パケット損失、および輻輳に関し、時間に伴って頻繁に変化する、異種の非同期WANリンクを使用することができる。たとえば、APNは、プライベート対称専用回路と組み合わされたパブリックネットワークを通してデータをWANへの上り512kbps、WANから6Mbpsで送信する非同期DSL WANリンク、データを上りおよび下り1544kbpsで送信するT1 WANリンク、ならびに、データをWANへの上り312kbps、WANからピアまで3Mbpsで送信するケーブルブロードバンド接続を使用することがき、これは、理論上の送信レート2368kbpsでの一回の伝送制御プロトコル(transmission control protocol)(TCP)ファイル転送セッションについて、これらのレートの適切な集約帯域幅を有し、10544kbpsまたは10.544Mbpsで受信する。事実上、良好なネットワーク挙動の場合、実際のレートはこれらのレートの90%に近づくであろう。接続の挙動が変化しようとしている場合、たとえばDSLリンクへの経路の損失レベルが多大になろうとしている場合、APNは、その高周波パフォーマンスフィードバックメカニズムを用い、代替リソースを使用するかまたは損失からの回復を試みることで、この問題を回避または緩和するように、ネットワークを適応させるであろう。
【0032】
経路選択において、コンジット経路を評価し、利用できる最良の経路を選択する。現在経路品質が良好状態である経路はいずれも最初に選ばれる対象である。複数経路が経路品質良好状態である場合は、推定エンドツーエンド時間を評価し、経路ごとに比較し、エンドツーエンド時間が最も短い経路を選択する。経路品質が良好状態である経路がない場合は、最大帯域幅の経路品質不良状態の経路を選択する。「片道時間(one way time)」(OWT)は、パケットがネットワークを通ってソースから受信者まで達するのに要する時間の量を意味する。本発明の文脈において、片道時間は、
図1Bの、WANエグレスモジュール166からの受信タイムスタンプを、WANイングレスモジュール160からの送信タイムスタンプから減算することによって測定する。その全体を本明細書に引用により援用する「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された2009年6月11日出願の米国特許第8,125,907号は、たとえば第6欄第1行~第19欄第27行において適応プライベートネットワーク(APN)におけるタイミングおよびネットワーク制御について現在好ましい手法の具体例としての詳細を提供している。
【0033】
APN経路処理サービスは、ユーザデータおよび制御情報をネットワークを通してあるAPNノードから別のAPNノードに伝達する手段を提供する役割を担っている。特に、ユーザデータおよび制御情報は、
図1Bの例に示されるように、WANを通してあるAPNノードのWANイングレスプロセッサモジュール160から送信しWANエグレスプロセッサモジュール166で受信することができる。
【0034】
経路状態は、WANエグレスAPNノードの経路状態モニタリングプロセスが受けたフィードバックによって判断されるネットワーク経路の最新状態を表す。パケットが受信されると、これらのパケットのシーケンス番号は、いずれかのパケットがWANイングレスAPNノードとWANエグレスAPNノードとの間を通るときに失われたか否かを知るために、トラッキングされる。長期損失に対する許容度が実質的に低い状態で受信したパケットの短期損失に対するより高い許容度に向けてバイアスされた経路状態変化をトリガする方法が使用される。この手法の固有の局面は、低プロセッサオーバーヘッドを維持しつつ、非常に多くの期間にわたる経路のパケット損失しきい値をほぼ同時にかつ連続的にトラッキングする機能である。この局面は、高解像度でWANを通して送信されるコンジットトラフィックのユニバーサル経路タギングと、送信レイテンシおよびレイテンシの統計的変動の極めて予測的な推定を可能にするための高度に同期されたAPNタイムスタンプとによって得られる。並行して、コントロールプレーンモジュールの経路状態モニタリングサービスを使用して、パケット損失と、APNを通して使用するトラフィックの最適経路とを検出する。結果として、時折の偶発的な短期ネットワーク損失と長期持続問題との違いを検出する機能が得られる。
【0035】
現在好ましい実施形態において、クライアントサイトにおけるAPNノードのソフトウェアモジュールは、同一の物理APNアプライアンスに格納されて動作するが、代替実施形態ではモジュールが別個の物理APNアプライアンス内に存在していてもよい。本明細書に開示される実施形態に関して説明する方法は、適応プライベートネットワーク(APN)アプライアンス(APNA)で利用されるようなプロセッサおよびメモリが実行する1つ以上のソフトウェアモジュールで直接実施されてもよく、1つ以上の中央処理装置を有するラックマウント処理デバイス、パーソナルコンピュータ、サーバなどで実施されてもよい。プロセッサおよびメモリコンプレックスは、たとえば、データにアクセスしこのデータに対しソフトウェアモジュールプログラムの制御の下でこのデータに対して動作する命令を実行するように、構成してもよく、上記ソフトウェアモジュールプログラムは、命令キャッシュのように、ローカルでプロセッサおよびメモリコンプレックスと直接対応付けられた、または、I/Oデバイスを通してアクセス可能な、コンピュータ読取可能な非一時的記憶媒体に格納される。ソフトウェアモジュールはコンピュータ読取可能な非一時的記憶媒体にあってもよく、この媒体は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)、同期ダイナミックランダムアクセスメモリ(SDRAM)、読出専用メモリ(ROM)、プログラマブル読出専用メモリ(PROM)、消去可能プログラム可能読出専用メモリ(EPROM)、電気的消去可能プログラム可能読出専用メモリ(EEPROM)、ハードディスク、リムーバブルディスク、CD-ROM、デジタルビデオディスク(DVD)、その他の種類のリムーバブルディスク、または、その他任意の好適な非一時的記憶媒体を、含み得る。また、非一時的記憶媒体は、ハードウェアプロセッサがイントラネットまたはインターネットを介して記憶媒体から情報を読み出すことおよび記憶媒体に情報を書き込むことができるよう、プロセッサおよびメモリコンプレックスに結合されてもよい。
【0036】
適応プライベートネットワークノード(APNクライアントサイト)は、適応プライベートネットワークへの参加をサポートするソフトウェアモジュールを含む。APNノードは、ある場所の1つ以上のAPNアプライアンスにあってもよい。APNノードは、
図1Bのコントロールプレーンモジュール156および158、WANイングレスプロセッサモジュール160および162、ならびにWANエグレスプロセッサモジュール164および166のような、APNへのAPNノードの参加を支配するAPNノード内に位置するプロセッサおよびメモリコンプレックスが実行するソフトウェアモジュールの集まりを含む。コントロールプレーンモジュール156および158は、ネットワーク内の他のAPNノードと並行してAPNノードを制御するとともにその制御に参加する役割を担っている。
【0037】
WANイングレスプロセッサモジュール160は、ローカルエリアネットワーク(LAN)からWANへの送信のネットワークトラフィックを処理する役割を担うソフトウェアコンポーネントおよびハードウェアコンポーネントとして適切に実施することができる。WANエグレスプロセッサモジュール164は、WANからLANへの送信のネットワークトラフィックを処理する役割を担うプロセッサおよびメモリコンプレックスのような、ハードウェアコンポーネント上で動作するソフトウェアとして実施することができる。WANイングレスおよびWANエグレスプロセッサモジュールについては以下で詳細に説明する。APNクライアントサイトのコントロールプレーンモジュール156は、WANを通してAPNノード間で制御データを送受信するための手段としてAPNクライアントサイトのWANイングレスプロセッサモジュール160およびWANエグレスプロセッサモジュール164を利用するプロセッサおよびメモリコンプレックスのような、ハードウェアコンポーネント上で動作するソフトウェアとして適切に実施することができる。
【0038】
APNのためのソフトウェアパッケージは、変更管理ソフトウェアの一部である、タプリケーションプロトコル(Tapplication protocol)(TAP)パケットと名付けられた制御パケットを用いて、WANを通して配信される、または、インターフェイス168および170を用いてソフトウェアをAPNクライアントサイトにダウンロードするように、管理インターフェイスを通して配信される。TAPは、異なるアプライアンス上のt2_appの外側のプロセスが相互通信できるようにWANを通して送信されるメッセージのためのプロトコルである。TAPは、物理媒体からパケットを受信する代わりにユーザプログラムからパケットを受信し物理媒体を介してパケットを送信する代わりにユーザプログラムにパケットを書き込む、ポイントツーポイントまたはイーサネット(登録商標)と同様のデバイスとみなすことができる。ソフトウェアアップデート後、APNクライアントサイト152および154上のAPNサービスは、次にリスタートされて、APNソフトウェアノード構成を同期にする。
【0039】
図2は、本発明のある実施形態に係る、コンジットセクション220に結合されたAPNネットワーク制御ノード(NCN)202と、16のAPNクライアントサイト204~219にそれぞれ結合された16のAPNコンジットセクション221~236とを有するAPN200を示す。
図2に示されるように、現在好ましい実施形態において、APN200は中央に構成されている。ネットワークアドミニストレータは、NCN202が処理するAPN構成ファイルにより、APN200全体を構成する。そのため、NCN202は、構成設定をAPN200内のすべてのクライアントサイトに分配する。APN200を構成するこの方法は、1つの構成ポイントをネットワークに提供することによってアドミニストレータに便宜を提供することを意図している。これはまた、厳密なバージョンチェックにより、ネットワーク内のすべてのAPNクライアントサイトの構成の一貫性および互換性をほぼ同時に保証する。また、中央構成は、APNリソースおよびそれらの初期割り当てのマッピングを行うことにより、ネットワークのさらなる構成帯域幅の最適化を提供する。さらに、この集中型構成は、構成を製品ネットワークにロードする前に、明らかでない可能性があるかまたは構成から意図されていない可能性がある構成の挙動に関してアドミニストレータに情報および警告を与えることができる。
【0040】
サイト204~219およびプライマリNCNサイト202の各々は、APN機能を提供するためにAPNアプライアンスを含む。APN200の構成は一般的に、サイト205のようなサイトAと、サイト208のようなサイトBとの間の接続を提供し、この接続は、サイトAから見ると、サイトA→LWL→「WAN」→RWL→サイトBである。この接続は、サイトBから見ると、サイトB→LWL→「WAN」→RWL→サイトAである。WAN201は、割り当てられたWANリンクリソースおよびAPN選択経路を表す。
図2において、サイトAとサイトBとの間のコンジットは、コンジットセクション222および225を使用することによって形成され、対応するサイトAとサイトBとの間の仮想接続である。このコンジットは、経路の集まりを含み、サイトAにおけるローカルWANリンク(LWL)→「WAN」→サイトBにおけるRWLを包含する。
【0041】
現在好ましい1つの実施形態において、APNコンジットは、NCNと、たとえば
図2に示される16のAPNクライアントサイトとの間にある。説明のために16のAPNサイトが示されているが、それよりも多いまたは少ない数の可能なAPNクライアントサイトを適切に用いることができることが理解されるであろう。各APNコンジットは、特定のAPNに対応付けられた各地理的位置の特定のニーズに合わせてアドミニストレータが調整した固有の構成パラメータを有し得る。
【0042】
APN経路状態の定義のために、経路処理サービスを以下で説明する。現在経路品質が良好状態である経路はいずれも最初に選ばれる対象である。複数経路が経路品質良好状態である場合は、推定エンドツーエンド時間を評価し、経路ごとに比較し、エンドツーエンド時間が最も短い経路を選択する。経路品質が良好状態である経路がない場合は、最大帯域幅の経路品質不良状態の経路を選択する。
【0043】
具体例としてのAPN200の16のクライアントサイト204~219は、概ね互いに遠く離れた場所に位置し、地理的に多様なクライアントサイトを含み得る。サイトは、デバイスが、異なる建築物、都市、州、タイムゾーンまたは国等の、物理的に異なる場所にある場合に、遠隔と定義されるであろう。たとえば、プライマリNCN202が第1の国のある企業の本社の場所に位置しクライアントサイト204~209およびクライアントサイト217~219も第1の国に位置していてもよい。その他のクライアントサイト210~216は第2の国に位置していてもよい。
【0044】
本明細書で使用する、APNアプライアンスは、
図1Bを参照して先により詳細に説明した、コントロールプレーンモジュール156および158、WANイングレスプロセッサモジュール160および162、ならびにWANエグレスプロセッサモジュール164および166等のソフトウェアモジュールに従うAPNノード機能を含むデバイスである。16のクライアントサイト204~219はそれぞれコンジットセクション221~236によって結合され、コンジットセクションはともに接続されてクライアントサイトにおける接続された2つのAPNアプライアンス間の設定変更可能な仮想接続を提供する。なお、16のクライアントサイト204~219が示されているが、APNは必要な数のクライアントサイトをサポートし得る。
【0045】
図2のネットワーク制御ポイント(network control point)(NCP)202は、APN200の管理ポイントである。一実施形態において、NCP202はAPNノード内にある。APN制御ノードは、APNのネットワーク制御ポイントとしても機能するAPNノードを意味する。別の実施形態において、NCPは、APNノードから離れているアプライアンス内にあり、APN内のAPNノードを管理し制御する。NCPは、構成オブジェクトをAPNクライアントノードに分配することおよびAPNに対する時間的な同期を含むがこれらに限定されない、APNに対する管理および制御を提供する。
【0046】
ダイナミックコンジットは、必要なときにAPNクライアント間に作られるコンジットであり、設定されたしきい値に基づいて、必要でなくなったときに削除することができる。たとえば、クライアントサイト205は2つのローカルWANリンクとともに構成することができ、このリンクの一方は第1のネットワークプロバイダからのもの、もう一方は第2のネットワークプロバイダからのものである。複数のコンジットをサイト205に接続してもよく、サイト205はローカルWANリンクのうちの一方または双方を使用するように構成されてもよい。サイト205に接続されたすべてのコンジットが双方のローカルWANリンクを使用する、ある具体例としてのシナリオにおいて、いずれかのローカルWANリンクの使用が、設定されたしきい値を送ると、ダイナミックコンジットの作成をトリガすることができる。
【0047】
APNトラフィックフローは、特定のAPNフロー記録に対して特定されたネットワークセッショントラフィックのアドミニストレータ指定である。APNトラフィックフロー要件は、APNがAPNトラフィックフローに関連しているときのAPNの意図される挙動を支配する、アドミニストレータが設定した要件である。たとえば、APNトラフィックフロー要件は、永続的な経路フロー要件、複製フロー要件、および信頼できるフロー要件を含み得る。
【0048】
APNフロー記録はAPNアプライアンスのメモリに保持される。APNフロー記録は、規定されたAPNトラフィックフローをトラッキングし、このAPNトラフィックフローの、前に設定された要件に従っていることを保証する。APNフロー記録は、APNトラフィックフロー要件と、APNトラフィックフローの状態との双方を含む。特定のAPNフロー記録の要件は、APNトラフィックフローがマッチするルートおよびサービスルールから導き出される。APNフロー記録の状態は、APNサービスタイプ、APNサービスインスタンス、選択された最後のAPN経路に関する情報、現在のAPNフローシーケンス番号、最後にパケットを受信した時間、最後にパケットを送信した時間、処理されたパケットの数およびバイトの数のカウント、シーケンス並べ替えのためのペンディングパケットのセット、フラグメンテーションのためのペンディングパケットのセット、および、過去に処理されたパケットの履歴記録のセットを含むが、これらに限定される訳ではない。
【0049】
WANイングレスコンジット処理の処理段についてのさらなる詳細は、その全体を本明細書に引用により援用する「Flow-Based Adaptive Private Network with Multiple WAN-Paths」と題された2012年2月8日発行の米国特許第8,125,907号を参照されたい。
【0050】
本発明は、WANネットワークによりデータトラフィックを如何にして処理するかを改善するためのある方法である、改善されたWAN最適化(WANop)処理の局面に関する。そのために、本明細書でさらに説明するように、2つの主要ツールとして、重複排除および圧縮を採用する。重複排除は、複数回同一ビットパターンがWANリンクを頻繁に通ると認識することにより、機能する。たとえば、多数の被雇用者が、同一プロジェクトに取り組んでいるとき、同一の電子メールおよびファイルをデータセンターのサーバからダウンロードする場合がある。本手法は、WANに近いネットワークアプライアンスがこのデータをキャッシュしスモールコードを使用して実際のデータを表現できるようにする。このアプローチは、WANネットワークを通らなければならないデータの量を低減する。
【0051】
一実施形態において、本発明は、WANopプロセスとSSD上のディスクキャッシュとの間に書込保護キャッシュ(write protection cache)(WPC)を導入する。書込保護キャッシュは保持エリアを提供し、二度以上見たデータのみがディスクキャッシュにコミットされる。
【0052】
書込保護キャッシュ(WPC)は、ディスク上のデータに対する保護層を提供する。ここに記載されているその利用により、ドライブへの不要な書込を回避しようとしている。この目的を、二度以上見たデータ(チャンク)のみをディスクにコミットすることで達成する。この特徴は以下の少なくとも2つの別々の問題に対処する。
・SSDディスク摩耗:SSD技術は、驚くほど高速であるが、寿命はHDDよりも大幅に短い。たとえば、アプライアンス上の128MBドライブは、14TBのデータの書込だけで故障する。アプライアンスの保証期間中にドライブが故障すると、財政上の副次的影響がドライブ供給業者に生じる場合がある。
・ディスクキャッシュの改善された利用:過去にWPCに記録されたデータのみをディスクに書き込むことにより、たとえば暗号化データ等の繰り返しなしのデータがディスクに書き込まれることを回避する。加えて、頻繁に利用される良好なウォームデータを再び見ることのないデータで置き換えないことは好都合である。
【0053】
WPCは、受信したセキュアハッシュアルゴリズム(secure hash algorithm)(SHA)1ダイジェストのキャッシュである。これらは、アプライアンスメモリの確保した部分に格納される。4GBのWPCは、500GBを超えるデータを表すおよそ7000万のダイジェストを含む。ダイジェストは、複製が検出されるまで、WPCに保存される。次に、チャンク、データおよびダイジェストがディスクキャッシュに追加され、WPCからエントリが削除される。
【0054】
本明細書で使用する用語は、DWPD(drive writes per day):一日当たりのドライブ書込、WPC(write protection cache):書込保護キャッシュ、および、WANop:WANにおけるデータ転送効率を高めるための技術を集めたもの、を含む。
【0055】
先に述べたように、現在のあるWANopの手法は、WANイングレスおよびWANエグレスアプライアンス双方のディスクにチャンクを書き込む。この手法は、ある方向に送信されたデータを直ちに反対方向の重複排除に使用できることを保証する。しかしながら、本発明は、データは単方向の傾向があるので、多くの場合この2方向の可用性は不必要であると認識する。
【0056】
これに対し、
図3のWANopプロセス300に示されるようにWANイングレスのディスクには書き込まないようにすることにより、WANopプロセス300はWANエグレスのみで学習する。よって、ある方向においてチャンクが学習されるかまたはディスクに書き込まれる場合、この情報は逆方向と共有されない。多くの場合、この手法は極めて良いトレードオフである。同一データが両方向に流れる場合、WANopプロセス300はこれを素早く学習する。しかしながら、予想通りWANエグレスおよびWANイングレスに共通するデータがほとんどない場合、事実上のプロセス節減が認識される。
【0057】
次に
図3を詳細に参照すると、ピア1 330は、好適には、クラウドストレージからデータをダウンロードするためのクラウドパケットI/O接続340等の、WANからのネットワークトラフィックを処理するWANopエグレスプロセッサであってもよい。たとえば、ラップトップ等のクライアントデバイスに接続されたLAN上のクライアントストリーム348のように、データがLANにダウンロードされる。クラウド接続340とクライアントストリーム348との間で、データは、64k入力バッファ341を通して圧縮解除プロセス342へと送られ、そこからダイジェストデータ取得344へと送られて、以下でWPC310およびディスク320について述べるように、ダイジェストおよび/またはデータが取り出される。次に、データは64k出力バッファ346を通ってクライアントストリーム348まで進む。
【0058】
ピア2 350は、好適には、ラップトップ等のクライアントデバイスに接続されたローカルエリアネットワーク(LAN)から送信されるネットワークトラフィックを処理するWANイングレスプロセッサである。クライアントは、WANクラウドパケット入出力(I/O)接続368を通してクラウドストレージにデータを送信するために、クライアントデバイスからクライアントストリーム360を送信する。その間において、データは、64k入力バッファを通して重複排除プロセス362、圧縮プロセス364および64k出力バッファ366に送られる。
【0059】
WANエグレスにおいて、WANopのWPC310は、チャンクダイジェストを格納し、新たに到着したダイジェストを過去に見たものと比較することにより、重複を特定する。以下でさらに述べるように、重複が検出されると、ダイジェストおよびチャンクはディスクキャッシュ320に書き込まれる。本明細書に記載の手法の欠点は、以下でさらに述べる過去の手法では1回であるが、2回データをWANイングレスピアから送信しなければならない点である。
【0060】
ディスク書込をさらに制限するために、
図4に示されるWANイングレス処理のプロセス400はディスクにデータを書き込まない。データがステップ402でLANに到着し、ステップ404でチャンクにグループ分けされる。典型的なチャンクは、1.5kBと22kBとの間であり、平均約8kBである。ステップ405で、チャンクについてセキュアハッシュアルゴリズム(SHA)1ダイジェストを計算し、ダイジェストをピアに転送する。その他のハッシュアルゴリズムを好適に用い得ることが理解されるであろう。ステップ407で、ピアは、そのキャッシュにチャンク/ダイジェストがある場合はACKで応答し、チャンク/ダイジェストを有していない場合はNACKで応答する。ステップ408で、応答がNACKである場合チャンクデータをピアに送信する。上述のように、単方向のフローの場合、イングレスにおけるキャッシュ、WPCまたはSSDへの書込はない。ユーザインターフェイス(UI)WANイングレス統計において、ACKはヒットとして示されNACKはミスとして報告される。
【0061】
次に、エグレス処理のためのアプライアンスモデリングについて、ダイジェストを格納するためのデータ構造は64バイトであり、データの平均チャンクは8kBである。ダイジェストのみを格納することで、過去に見たデータのWANopのメモリは、WPCのおよそ128倍になる。たとえば、1メガバイトのWPCは、128メガバイトのチャンクデータを表す16kのダイジェストを含む。
【0062】
アプライアンスモデリングの例は次の通りである:
アプライアンスは100Mbpsの持続WANopスループットをサポートし、
100Mbpsは、1秒当たり1600(8kB)チャンクに相当する12.5MBpsに相当し、
WPCフィルレート:352MB/hrのWPCに相当する102.4kBpsのWPCである。
【0063】
データレートが100Mbpsの場合、3.5GBのWPCは、439GBのデータを表す固有チャンクの10時間メモリを提供する。その他のプラットフォームの同様のデータが
図5の表500に示される。
【0064】
次にデータフローについて、
図6は、WANイングレスピアが受信した過去見ていないチャンクについての要求を処理するためのプロセス600を示す。言い換えると、チャンクはWPCにもディスク上にもない。最初に、ステップ604でダイジェストがWANエグレスピアに送信される。これは新たなチャンクでありダイジェストはそのディスクキャッシュにないので、WANエグレスピアはステップ606でNACKで応答する。NACKを受信すると、WANイングレスピアはステップ608でチャンクのデータを送信する。ダイジェストはWPCにないと判断すると、WANエグレスピアはステップ610でダイジェストをWPCに追加しデータをLANに転送する。
【0065】
図7は、二度目に見たチャンクを処理するプロセス700を示す。
図7に示されるように、ステップ702で、WANイングレスピアが同じチャンクを受信した場合、ダイジェストが再びWANエグレスピアに送信される。ステップ704で、ダイジェストはディスク上にないと判断されると、ステップ706でWANエグレスピアはNACKで応答する。ステップ708で、イングレスピアはチャンクのデータをWANエグレスピアに送信する。ステップ610で追加された結果、チャンクのダイジェストはWPCにおいて見出される。ステップ710で、データをディスクに追加しWPCからダイジェストを削除する。ステップ712で、データをLANに転送する。
【0066】
図8は、三度目以降に見たチャンクを処理するプロセス800を示す。
図8に示されるように、チャンクを三度目以降に見た場合、ステップ804でデータとダイジェストとを含むこのチャンクをエグレスピアに送信する。ステップ806で、ステップ804で送信するダイジェストはディスク上に既に格納されているチャンクに対応するので、ACKをイングレスピアに送信する。ステップ808で、エグレスピアはこのデータをLANに転送する。
【0067】
図9Aおよび
図9B(まとめて
図9)はそれぞれプロセスフロー900および950を示す。
図9Aのプロセス900のステップ902で、WANエグレスピアはイングレスピアからチャンクダイジェストを受信する。ステップ904で、エグレスピアはルックアップ動作を実行することにより、受信したダイジェストは、現在好ましい実施形態では半導体ストレージデバイス(SSD)であるディスク上に格納されているか否かを判断する。ステップ906で、ステップ904の判断が「NO」であれば、プロセス900は次にNACK応答をイングレスピアに送信する。ステップ906で、上記判断が「YES」であれば、ステップ908でチャックデータをLANに送信し、ステップ910でACK応答をイングレスピアに送信する。
【0068】
図9Bのプロセス950のステップ952で、エグレスピアは、ダイジェストを含むチャックとともに、イングレスピアからNACKリプライを受信する。エグレスピアは、ステップ954に進み、ディスクキャッシュにおけるダイジェストをルックアップすることにより、ダイジェストがそこにあるか否かを判断する。ステップ956で、ダイジェストがディスク上にあると判断すると、エグレスピアは次にステップ958でチャンクデータがWPCに格納されているか否かを判断する。YESであれば、ステップ960で、チャンクをディスクストレージに追加する。ステップ962で、WPCからダイジェストを削除し、ステップ966で、チャンクデータをLANに送信する。ステップ968で、ACK応答をイングレスピアに送信する。ステップ958で判断が「NO」の場合、ダイジェストはWPCにないので、ステップ964でダイジェストをWPCに追加する。
【0069】
ステップ956に戻って、YESの場合、ダイジェストはディスクストレージ上にあるので、ステップ966で、チャンクデータをLANに送信する。ステップ968で、ACK応答をイングレスピアに送信する。
【0070】
再びWPCダイジェスト管理について、現在好ましいWPCの各エントリは64バイト(B)でありチャンクダイジェストを含む。最初、すべてのエントリはフリーリスト上にある。ダイジェストがWPCに追加されると、エントリはフリーリストから使用中リストに移動する。WPCがヒットすると、エントリは使用中リストから削除され、フリーリストに戻される。新たなエントリが必要でありフリーリストが空のとき、使用中リストの最も古いエントリが使用できるようにされる。たとえば、特定サイズ未満の最も古い1つまたは複数のエントリは、同様に古いがより大きなサイズのエントリの前に削除されるであろう。
【0071】
本発明は仮想アプライアンスで実施可能であることが理解されるであろう。この文脈において、仮想アプライアンスは通常のアプライアンスと同じように動作するが、仮想アプライアンスはそのスケーラビリティおよびリソース要求を、下にある仮想メモリ(VM)構成に基づいて調整しなければならない。この文脈において、WANopメモリ要求サイズは総メモリに基づいている。
【0072】
本発明を、現在好ましい実施形態の各種局面の文脈で開示しているが、本発明は以下の請求項に適合するその他の環境に適宜応用し得ることが理解されるであろう。例として、本願では、ダイジェスト、データ、チャンクを、このチャンクを二度目に見るまではディスクキャッシュに格納しないと説明しているが、同じチャンクを三度目以降に見て初めて格納動作が生じる場合もあること、および、数字は特定のユーザ体験およびコンテキストに適応するようにユーザが選択可能なパラメータであってもよいことが、理解されるであろう。さらに、数字はチャンクサイズに応じて変化し得るものであり、たとえば、最大サイズのチャンクは二度目に見たときに格納し、最小サイズのチャンクは三度目に見たときに格納する。時刻、利用できる残りのディスクストレージの量なども考慮されるであろう。