(57)【要約】【課題】コンピュータシステム及びネットワークリソースを効率的に使用できるようにする。【解決手段】１つの実施形態例では、第１のネットワークから受信した第１のデータパケットを、第１のオペレーティングシステムを使用して処理するシステム及び方法を示す。第２のネットワークから受信した第２のデータパケットを、第２のオペレーティングシステムを使用して処理する第２の動作を示す。さらに、第１のデータパケット及び第２のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートを決定するさらなる動作を示す。さらに、第１のデータパケットを少なくとも１つの第１の論理セグメントに解析し、第２のデータパケットを少なくとも１つの第２の論理セグメントに解析する動作を示す。第１の論理セグメント及び第２の論理セグメントを少なくとも１つのデータパケットとしてＷＡＮを横切って送信する動作を示す。【選択図】図１
2014039343.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークから受信した第１のデータパケットを、第１のオペレーティングシステムを使用して処理するステップと、
第２のネットワークから受信した第２のデータパケットを、第２のオペレーティングシステムを使用して処理するステップと、
前記第１のデータパケット及び前記第２のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートを決定するステップと、
前記第１のデータパケットを少なくとも１つの第１の論理セグメントに解析し、前記第２のデータパケットを少なくとも１つの第２の論理セグメントに解析するステップと、
前記第１の論理セグメント及び前記第２の論理セグメントを、少なくとも１つのデータパケットとしてワイドエリアネットワーク（ＷＡＮ）を横切って送信するステップと、
を含むことを特徴とするコンピュータ実行方法。
【請求項２】
前記第１のオペレーティングシステム及び第２のオペレーティングシステムが、同じコンピュータシステム上に存在する、
ことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記第１のネットワーク及び前記第２のネットワークがローカルエリアネットワーク（ＬＡＮ）である、
ことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項４】
前記第１のデータパケット又は前記第２のデータパケットの少なくとも一方に顧客識別子を関連付けるステップをさらに含む、
ことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項５】
前記第１の論理セグメント又は前記第２の論理セグメントの少なくとも一方を最適化するステップをさらに含み、該最適化ステップが、前記第１又は第２の論理セグメントを圧縮するステップ、キャッシュするステップ、又はトンネリングするステップのうちの少なくとも１つを含む、
ことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項６】
第１の複数のローカルエリアネットワーク（ＬＡＮ）にサービスを提供するための、ワイドエリアネットワーク（ＷＡＮ）に動作可能に接続された第１のトランザクションアクセラレータと、
第２の複数のＬＡＮ及び前記第１のトランザクションアクセラレータにサービスを提供するための、前記ＷＡＮ及び前記第１のトランザクションアクセラレータに動作可能に接続された第２のトランザクションアクセラレータと、
を含むことを特徴とするコンピュータプログラム。
【請求項７】
前記第１のトランザクションアクセラレータ及び前記第２のトランザクションアクセラレータが、双方ともにネットワーク機器及びＷＡＮ最適化装置を含み、該ネットワーク機器及び前記ＷＡＮ最適化装置が、物理接続又は論理接続の少なくとも一方を介して動作可能に接続される、
ことを特徴とする請求項６に記載のコンピュータシステム。
【請求項８】
動作可能な接続が、前記第１のトランザクションアクセラレータと前記第２のトランザクションアクセラレータとの間の論理接続又は物理接続の少なくとも一方を含む、
ことを特徴とする請求項６に記載のコンピュータシステム。
【請求項９】
動作可能な接続が、前記第１のトランザクションアクセラレータと前記ＷＡＮとの間の論理接続又は物理接続の少なくとも一方を含む、
ことを特徴とする請求項６に記載のコンピュータシステム。
【請求項１０】
前記第１のトランザクションアクセラレータ及び前記第２のトランザクションアクセラレータが、準仮想化、仮想マシン又はオペレーティングシステム（ＯＳ）での仮想化の少なくとも１つを含む特定の仮想化原理を採用することができる、
ことを特徴とする請求項６に記載のコンピュータシステム。
【請求項１１】
仮想ルーティング及び転送（ＶＲＦ）を実行するように構成された、第１の物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続されたネットワーク機器と、
第１のＶＲＦｉｎルーティングテーブルを有する、前記ネットワーク機器上に存在する第１のデータストアと、
第２のＶＲＦｏｕｔルーティングテーブルを有する、前記ネットワーク機器上に存在する第２のデータストアと、
を含むことを特徴とする装置。
【請求項１２】
ＶＲＦを実行するように構成された前記ネットワーク機器が、第２の物理インターフェイスを介して前記ワイドエリアネットワーク（ＷＡＮ）最適化装置に動作可能に接続される、
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記ネットワーク機器が、ポリシーベースのルーティングを実行するように構成される、
ことを特徴とする請求項１１に記載の装置。
【請求項１４】
前記ネットワーク機器が、第２の物理インターフェイスを介して前記ＷＡＮ最適化装置に動作可能に接続される、
ことを特徴とする請求項１３に記載の装置。
【請求項１５】
第２の物理インターフェイスを介して前記ＷＡＮ最適化装置に動作可能に接続された別のネットワーク機器をさらに含む、
ことを特徴とする請求項１１に記載の装置。
【請求項１６】
仮想ルーティング及び転送（ＶＲＦ）を実行するように構成された、物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続されたネットワーク機器と、
各々が単一のＶＲＦｉｎルーティングテーブルを有する複数のＶＲＦｉｎデータストアと、
ＶＲＦｏｕｔルーティングテーブルを有する単一の共通データストアと、
を含むことを特徴とする装置。
【請求項１７】
前記物理インターフェイスが、８０２．１Ｑトランクに動作可能に接続される、
ことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記ＷＡＮ最適化装置に動作可能に接続された複数のトンネルをさらに含み、該複数のトンネルの各々が、物理接続又は論理接続の少なくとも一方を含む接続によりローカルエリアネットワーク（ＬＡＮ）に動作可能に接続される、
ことを特徴とする請求項１６に記載の装置。
【請求項１９】
前記単一の共通データストアが共通論理データストアである、
ことを特徴とする請求項１６に記載の装置。
【請求項２０】
前記ネットワーク機器がプロバイダエッジ（ＰＥ）ルータである、
ことを特徴とする請求項１６に記載の装置。
【請求項２１】
仮想ルーティング及び転送（ＶＲＦ）を実行するように構成された、複数の第１の物理インターフェイスを介して複数のＷＡＮ最適化装置に動作可能に接続されたネットワーク機器と、
各々がＶＲＦｉｎルーティングテーブルを有する複数のＶＲＦｉｎデータストアと、
各々がＶＲＦｏｕｔルーティングテーブルを有する複数のＶＲＦｏｕｔデータストアと、
を含むことを特徴とする装置。
【請求項２２】
前記ネットワーク機器及びＷＡＮ最適化装置が、複数の第２の物理インターフェイスを介して接続される、
ことを特徴とする請求項２１に記載の装置。
【請求項２３】
前記複数の第１の物理インターフェイスを介して受信したデータパケットを管理するスイッチをさらに含む、
ことを特徴とする請求項２１に記載の装置。
【請求項２４】
前記複数の第２の物理インターフェイスを介して受信した前記データパケットを管理するスイッチをさらに含む、
ことを特徴とする請求項２１に記載の装置。
【請求項２５】
共通ＶＲＦｏｕｔルーティングテーブルをさらに含む、
ことを特徴とする請求項２１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、ネットワークルーティングの技術分野に関し、１つの特定例ではワイドエリアネットワーク（ＷＡＮ）に関する。
【背景技術】
【０００２】
この特許出願は、２００７年１０月３日に出願された「仮想化アプリケーション加速化インフラストラクチャ」という名称の米国仮特許出願第６０／９７７，３２４号の優先権の利益を主張するものであり、該特許の内容はその全体が引用により本明細書に組み入れられる。
本文書の開示部分は、著作権保護の対象内容を含む。著作権の権利所有者は、合衆国特許商標庁の特許ファイル又は記録内に表されるとおりに他者が特許文書又は特許開示を複製することには異議を唱えないが、それ以外は全ての著作権を留保する。以下の本文書の一部を成す図面に示すことができるソフトウェア、データ及び／又はスクリーンショットには次の表記が適用される：著作権２００８、Ｖｉｒｔｅｌａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，  Ｉｎｃｏｒｐｏｒａｔｅｄ．禁無断転載。
【０００３】
コンピュータ使用における仮想化により、コンピュータシステム及びネットワークリソースを効率的に使用できるようになる。コンピュータシステムでは、仮想化により、複数のバージョンの同じアプリケーションが、コンピュータシステムリソースを効率的に共有するような方法でこれらを使用できるようになる。ネットワーク設定では、仮想化により、ネットワークアドレスなどの様々なネットワークリソースの再利用が可能になる。仮想化により、ロバストかつスケーラブルなコンピュータシステム及びネットワークを開発できるようになる。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの実施形態例を限定ではなく例示として添付図面の図に示す。
【図面の簡単な説明】
【０００５】
【図１】ＷＡＮにゲートウェイを提供する、遠隔に設置されたトランザクションアクセラレータの使用を示す、実施形態例によるシステムの図である。
【図２】ＬＡＮを介して実行されるデータセンタにサービスを提供するローカルエリアネットワーク（ＬＡＮ）の使用を示す、実施形態例によるシステムの図である。
【図３】複数の顧客ＬＡＮにサービスを提供する仮想化ＷＡＮ最適化装置から、ネットワークすなわちＷＡＮの遠隔側に位置する対応する一連のＷＡＮ最適化装置へのＷＡＮを横切るデータ送信経路を示す、実施形態例によるシステムの図である。
【図４】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャは、ＷＡＮ最適化装置とＰＥルータとして示すネットワーク機器との間の単一の物理接続の使用及び８０２．１Ｑトランクの使用を含む。
【図５】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャ例は、ＷＡＮ最適化装置とプロバイダエッジ（ＰＥ）ルータとして示すネットワーク機器との間の２つの物理接続の使用を含む。
【図６】複数のネットワーク機器にサービスを提供するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【図７】共通論理仮想ルーティング／転送（ＶＲＦ）テーブルを利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャを示すシステム図である。
【図８】複数のＷＡＮ最適化装置と同時に共通ＶＲＦｏｕｔテーブルを利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【図９】ポリシーベースのルーティング形態の使用を示す、トランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【図１０】異なる物理インターフェイスを含むポリシーベースのルーティング形態を利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【図１１】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャ例は、ＷＡＮ最適化装置と、ＰＥルータとして示すネットワーク機器との間の２つの物理接続の使用を含む。
【図１２】ＶＲＦｏｕｔテーブルを使用する、実施形態例によるトランザクションアクセラレータのブロック図である。
【図１３】トンネリングを使用してデータパケットを送信する、実施形態例によるトランザクションアクセラレータのブロック図である。
【図１４】複数のＷＡＮ最適化装置を使用する、実施形態例によるトランザクションアクセラレータのブロック図である。
【図１５】ホストオペレーティングシステム技術を利用してコンピュータシステムに仮想化を提供するＷＡＮ最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【図１６】仮想マシン技術を利用して特定のコンピュータシステムに仮想化を提供するＷＡＮ最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【図１７】オペレーティングシステム（ＯＳ）レベルにおける仮想化を利用して特定のコンピュータシステムに仮想化を提供するＷＡＮ最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【図１８】実施形態例による、トランザクションアクセラレータを使用して複数のＬＡＮトラフィックを最適化する方法を示すフロー図である。
【図１９】顧客固有データパケットを生成するために使用する、実施形態例による方法を示すフロー図である。
【図２０】仮想システムリソースを割り当てる動作を実行するために使用する、実施形態例による方法を示すフロー図である。
【図２１】例示的なデータパケットの図である。
【図２２】宛先アドレスの検索を行うために使用する、実施形態例による方法を示すフロー図である。
【図２３】実施形態例による転送情報ベース（ＦＩＢ）及びこの中に含まれる様々なルーティングテーブルを示す図である。
【図２４】実施形態例による、最適化済みの顧客固有データパケットの図である。
【図２５】実施形態例による、コンピュータシステムの形の機械の略図表示を示す図である。
【発明を実施するための形態】
【０００６】
いくつかの実施形態例では、１又はそれ以上のローカルエリアネットワーク（ＬＡＮ）にサービスを提供するトランザクションアクセラレータの遠隔設置を可能にするシステム及び方法を示す。いくつかの実施形態例では、このトランザクションアクセラレータが、ＷＡＮ最適化装置、ネットワーク機器、及び、ＷＡＮ最適化装置とネットワーク機器の間の物理接続又は論理接続を含むことができる。いくつかの実施形態例は、スイッチ、ブリッジ、ルータ又は他の何らかの適当なレイヤ２又はレイヤ３対応装置であるネットワーク機器を含むことができる。いくつかの実施形態例では、ネットワーク機器をＰＥルータとすることができる。さらに、レイヤ２又はレイヤ３は、例えば、開放型システム間相互接続（ＯＳＩ）基本参照モデル又は伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）プロトコルスタックモデル内で定義されるレイヤ又はレベルを意味することができる。いくつかの実施形態例では、この物理接続又は論理接続が仮想ローカルエリアネットワーク（ＶＬＡＮ）をサポートできるとともに、８０２．１Ｑ規格又は他の何らかの適当なネットワークセグメンテーション規格を利用することができる。
【０００７】
いくつかの実施形態例は、複数のクライアントＬＡＮにサービスを提供するためのＷＡＮ最適化装置の使用を含むことができる。例えば、１つの実施形態例では、ＷＡＮ最適化装置は、例えば、準仮想化、仮想マシン、又はＯＳレベルでの仮想化を含む様々な仮想化形態の１又はそれ以上を実行するコンピュータシステムである。これらの仮想化形態の１又はそれ以上を実行することにより、コンピュータシステムのリソースをクライアントＬＡＮの間で効率的に分割することができる。これらのコンピュータシステムリソースとして、例えば、ディスク割当て要件、入力／出力（Ｉ／Ｏ）速度限界、メモリ限界、ＣＰＵ割当て、又はネットワークインターフェイスの効率的利用を挙げることができる。例えば、１つの実施形態例では、コンピュータシステム上で複数のＯＳ（まとめて仮想化ＯＳと呼ぶ）を実行して、個々のＯＳがその使用に特異的に割り当てられたコンピュータシステムリソースを利用するようにする。特定のクライアントＬＡＮがこれらのＯＳの各々を独占的に利用することができ、これらのＯＳの各々をこのような目的専用のものとすることができる。例えば、１つの実施形態例では、コンピュータシステム上に存在するこれらの仮想化ＯＳの１つが、１又はそれ以上のネットワーク機器を独占的に管理することができる。これらの管理されたネットワーク機器は、別々の物理装置であるという観点からこれら自体が現実的なものであってもよく、或いは仮想化ＯＳとともにコンピュータシステム上の別のアプリケーションとして存在してもよい。
【０００８】
特定の実施形態例では、ＷＡＮ最適化エンジンを実行するコンピュータシステムは仮想化を使用することができず、むしろ一連の専用コンピュータシステムを実行することができる。これらのコンピュータシステムの各々は、特定のＬＡＮにサービスを提供することを専用とするものであってもよい。さらに、これらのコンピュータシステムの各々は、特定のＬＡＮにサービスを提供する過程において、ＰＥなどの特定のネットワーク機器を利用することができる。
【０００９】
いくつかの実施形態例では、ネットワーク設定において仮想化の概念を適用して、仮想化ＯＳを実行する単一のコンピュータシステムが複数のクライアントＬＡＮのネットワークトラフィックを管理できるようにすることができる。ＶＬＡＮ及びこの関連技術は、単一の物理ネットワークを複数のＶＬＡＮに区分できるようにする技術である。さらに、これらのＶＬＡＮの各々が特定のクライアントＬＡＮにサービスを提供することができる。
１つの実施形態例では、ＷＡＮ最適化装置により、ＴＣＰ／ＩＰベースのデータパケットにＶＬＡＮヘッダが適用される。このＶＬＡＮヘッダは、特定のクライアントＬＡＮへ送信される予定のＴＣＰ／ＩＰベースのデータパケットを識別する一意識別型ＶＬＡＮ  ＩＤを含む。
【００１０】
いくつかの実施形態例は、特定のクライアントＬＡＮのネットワークトラフィックを管理するための仮想化ＯＳの使用を含むことができ、この管理はＶＬＡＮ技術の使用を含む。ＶＬＡＮを介したＯＳ及びネットワークトラフィックの仮想化を通じて、コンピュータシステムリソースを効率的に使用できるだけでなく、ネットワークリソースを効率的に使用することもできる。具体的には、例えば、仮想ルーティング／転送（ＶＲＰ）とともにＶＬＡＮを使用することにより、ネットワーク内のアドレス空間が重なり合うことができるようになる。いくつかの実施形態例では、ＶＲＦテーブル、及び／又はＶＲＦ又はＶＲＦテーブルに関連する転送情報ベース（ＦＩＢ）テーブルにＶＲＦアドレス空間を含めることができる。アドレス空間が重なり合うことにより、同じ物理的環境内で二重アドレスを使用できるようになる。
【００１１】
１つの実施形態例では、このトランザクションアクセラレータが、クライアントＬＡＮから離れて配置されるとともに、（コアネットワークなどの）ＷＡＮ、及びクライアントの追加ＬＡＮにゲートウェイを提供することにより、このクライアントＬＡＮにサービスを提供する。例えば、１つの実施形態では、ＷＡＮ最適化装置がＰＥルータに動作可能に接続され（例えば、論理接続又は物理接続され）、このＰＥルータが、１又はそれ以上の顧客エッジ（ＣＥ）ルータから（上述したＴＣＰ／ＩＰデータパケットなどの）ネットワークトラフィックを受け取る。仮想化ＯＳ及びＶＬＡＮ技術を使用して、このネットワークトラフィックを分離し、場合によっては（ＶＬＡＮヘッダ及び／又はマルチプロトコルラベルスイッチング（ＭＰＬ）などの）追加ヘッダを使用して改称する。分離されると、ネットワークトラフィックが宛先クライアントＬＡＮへ送信される。例えば、ＬＡＮを介して実行されるデータセンタの形をとるクライアントＬＡＮが、データセンタから離れて位置するオフィスの形をとる別のクライアントＬＡＮへＷＡＮを介してデータを送信することができる。
【００１２】
また、いくつかの実施形態例では、複数のトランザクションアクセラレータを実行して、第１のトランザクションアクセラレータが第２のトランザクションアクセラレータとデータを交換できるようにすることができる。例えば、第１のトランザクションアクセラレータが、１又はそれ以上のＬＡＮのためのＷＡＮへのゲートウェイとして機能することができる一方で、第２のトランザクションアクセラレータが、１又はそれ以上の異なるＬＡＮのためのＷＡＮへのゲートウェイとして機能することができる。第１のトランザクションアクセラレータの一部として存在するＷＡＮ最適化装置により、ＷＡＮにルーティングされる（データパケットなどの）データトラフィックを最適化することができる。この最適化は、データを圧縮する形、データをキャッシュする形、データをトンネリングする形、ＴＣＰ／ＩＰウィンドウサイズを変更する形、ローカルＴＣＰ確認応答を提供する形、又はデータに対して他の何らかの適当な最適化技術を実行する形を取ることができる。最適化されると、第１のトランザクションアクセラレータにより、このデータをＷＡＮの遠隔側に位置する第２のトランザクションアクセラレータへ送信することができる。
【００１３】
図１は、遠隔に設置されたトランザクションアクセラレータの使用を示すシステム例１００の図であり、これらのトランザクションアクセラレータがＷＡＮにゲートウェイを提供する。ＬＡＮ１０１、ＬＡＮ１０２及びＬＡＮ１０４を示している。これらのＬＡＮの各々は、コアネットワークとして機能するＷＡＮ１０３によりサービスを受ける。
【００１４】
いくつかの実施形態例では、これらのＬＡＮ１０１、１０２及び１０４の各々が、いくつかのネットワーク機器及びコンピュータシステムを含む。ＬＡＮ１０１に関して言えば、ＬＡＮ１０１は、ＣＥルータ１０８の形のネットワーク装置を含む。このＣＥルータ１０８は、例えば、コンピュータシステム１０５、コンピュータシステム１０６及びコンピュータシステム１０７にサービスを提供する。これらのコンピュータシステム１０５〜１０７の各々及びＣＥルータ１０８はＬＡＮ１０１内に存在する。ＬＡＮ１０２に関して言えば、ＬＡＮ１０２はＣＥルータ１１０を含む。このＣＥルータ１１０は、コンピュータシステム１０９及びコンピュータシステム１１１にサービスを提供し、これらの両方もまたＬＡＮ１０２内に存在する。このＬＡＮ１０１及びＬＡＮ１０２は、ＷＡＮ１０３によりサービスを受ける。このＷＡＮ１０３内には複数のトランザクションアクセラレータ１１２が含まれる。いくつかの実施形態例では、１つのトランザクションアクセラレータのみを使用して１又はそれ以上のＬＡＮにサービスを提供することができる。
【００１５】
いくつかの実施形態例は、例えば、１又はそれ以上のネットワーク機器にサービスを提供するＷＡＮ最適化装置を含むこれらのトランザクションアクセラレータの各々を含むことができる。１つの実施形態例では、トランザクションアクセラレータ１１２が、ＷＡＮ最適化装置１１３及び１又はそれ以上のネットワーク機器１１４を含む。このネットワーク機器１１４は、例えばＰＥルータであってもよい。さらに、トランザクションアクセラレータ１１２の別の実施形態例では、トランザクションアクセラレータ１１２が、１又はそれ以上のネットワーク機器１１６にサービスを提供するＷＡＮ最適化装置１１５を含む。いくつかの実施形態例では、このネットワーク機器１１６はＰＥルータであってもよい。いくつかの実施形態例では、さらなるトランザクションアクセラレータ１１２が例えばＷＡＮ最適化装置１１７を含み、これがさらにネットワーク機器１１８にサービスを提供する。このネットワーク機器１１８は、例えばＰＥルータであってもよい。いくつかの実施形態例は、ＬＡＮ１０１及び１０２に加え、ＬＡＮ１０４にもサービスを提供するこのＷＡＮ１０３を含むことができる。ＬＡＮ１０４は、例えばＣＥルータ１１９を含むことができ、これがさらに、全てＬＡＮ１０４内に存在するコンピュータシステム１２０、１２１及び１２３にサービスを提供する。
【００１６】
いくつかの実施形態例では、以下でより完全に説明するように、ＬＡＮ１０１及び１０２、及びこれらの中に含まれるコンピュータシステム及びネットワーク機器が、トランザクションアクセラレータ１１２の１又はそれ以上を利用してＷＡＮ１０３を横切ってデータを送信することができる。その後、これらのトランザクションアクセラレータ１１２は、ＬＡＮ１０１及び１０２内に存在するこれらの様々なコンピュータシステムにより送信されたデータを、ＬＡＮ１０４及びこの中に存在する（コンピュータシステム１２０、１２１及び１２３などの）様々なコンピュータシステムへさらに転送することができる。
【００１７】
いくつかの実施形態例では、トランザクションアクセラレータが、ＬＡＮ１０１、１０２及び１０４を構成する装置及びネットワークとは異なる物理的場所に保持される。具体的には、トランザクションアクセラレータ１１２が、ＬＡＮの場所から物理的に離れた場所に保持される。例えば、トランザクションアクセラレータ１１２をＬＡＮの物理的場所から物理的に離れたネットワークサービスセンタに保持して、少なくとも１つのトランザクションアクセラレータ１１２を含む１つのサービスセンタが複数のＬＡＮにサービスを提供できるようにすることができる。
【００１８】
図２は、データセンタにサービスを提供するためのＬＡＮ２０４の使用を示すシステム例２００の図であり、このデータセンタはＬＡＮ２０４を介して実行される。コンピュータシステム２０５、２０６及び２０７を含むＬＡＮ２０１を示しており、これらの各々はＣＥルータ２０８によりサービスを受ける。さらに、コンピュータシステム２０９及び２１１を含むＬＡＮ２０２を示しており、これらの各々はＣＥルータ２１０によりサービスを受ける。これらのＬＡＮ２０１及び２０２の各々はさらに、ＷＡＮ２０３の一部として存在する１又はそれ以上のトランザクションアクセラレータ１１２によりサービスを受ける。いくつかの実施形態例では、複数のトランザクションアクセラレータ１１２を使用して、ＬＡＮ２０１、２０２及びこの中に存在する様々なコンピュータシステム及び（ＣＥルータ２０８及びＣＥルータ２１０などの）ルータにサービスを提供することができる。
【００１９】
例えば、１つの実施形態では、トランザクションアクセラレータ１１２がＷＡＮ最適化装置２１３を含むことができ、これを使用して１又はそれ以上のネットワーク機器２１４にサービスを提供することができる。さらに、別の実施形態例では、トランザクションアクセラレータ１１２がＷＡＮ最適化装置２１５を含むことができ、これを使用して１又はそれ以上のネットワーク機器２１６にサービスを提供することができる。いくつかの実施形態例では、トランザクションアクセラレータ１１２がＷＡＮ最適化装置２１７を含むことができ、これを使用してネットワーク機器２１８にサービスを提供することができる。
図１の場合と同様に、本明細書に示す様々なトランザクションアクセラレータは、ＷＡＮ２０３の一部として存在することができ、したがって、これらを（ＬＡＮ２０１、ＬＡＮ２０２及びＬＡＮ２０４などの）様々なＬＡＮから離して配置することができる。
【００２０】
また、図２にはＬＡＮ２０４の一部として存在するＣＥルータ２１９を示しており、このＣＥルータ２１９はサーバ２２０にサービスを提供し、このサーバ２２０がさらにいくつかのデータベース２２１、２２２及び２２３を実行し、又はこれらにアクセスする。いくつかの実施形態例では、ＬＡＮ２０１及び／又はＬＡＮ２０２内に位置する様々なコンピュータシステムが、ＷＡＮ２０３及びこの中に存在するトランザクションアクセラレータ１１２を利用して、ＬＡＮ２０４及びこの中に含まれるデータセンタからのデータを要求することができる。このデータをさらにＷＡＮ２０３を介して送信し、これをＬＡＮ２０１が受信することができ、この場合ＬＡＮ２０２及び（ＣＥルータ２０８及びＣＥルータ２１０などの）（単複の）ＣＥルータは、これらの２つのＬＡＮ２０１及び２０２の一部として存在する。以下でより完全に説明するように、様々なアーキテクチャを使用してトランザクションアクセラレータ１１２を構築することができる。
【００２１】
図３は、ＷＡＮ１０３を横切るデータの送信経路を示すシステム例３００の図である。
いくつかの顧客環境を含む基本的なデータセンタモデルを示している。顧客環境は、例えば、特定の顧客のニーズに特化したハードウェアであってもよい。これらの顧客環境は、ＶＬＡＮを使用してさらにフォーマットすべき（ＴＣＰ／ＩＰフォーマット済みデータパケットなどの）データパケットの形でデータを送受信することができる。例えば、顧客１環境３０１を、顧客２環境３０２、顧客３環境３０３及び顧客４環境３０４と同様に示している。いくつかの実施形態例では、これらの環境がＷＡＮ１０３にデータを提供することができ、ここでこのデータが、何らかの種類のプロトコルの一部として存在する何らかの種類の数値基準を通じて一意に識別される。このプロトコルは、例えば、ＩＰ、ＶＬＡＮプロトコル、又は他の何らかの適当なプロトコルを含むことができる。
【００２２】
いくつかの実施形態例は、例えば、スイッチ３０５にデータを提供する（３０１〜３０４などの）これらの顧客環境の１又はそれ以上を含むことができ、この場合スイッチ３０５は、ＴＣＰ／ＩＰスタックモデル又はＯＳＩモデルの観点から理解されるようなレイヤ２又はレイヤ３スイッチであってもよい。その後、このスイッチ３０５は、例えば８０２．１Ｑトランク３０６を使用して、スイッチ３０５とＷＡＮ最適化装置３０７との間の（データパケットなどのような）全ての顧客トラフィックをセグメント化することができる。いくつかの実施形態例では、この８０２．１Ｑトランク３０６が、顧客環境３０１〜３０４から到来するデータパケットを変換し、変形し、又はこれに追加ヘッダを追加することができる。例えば、このヘッダをＶＬＡＮヘッダ及び関連するＶＬＡＮ識別子（ＩＤ）に追加することができ、このＶＬＡＮ  ＩＤは、これらのパケット及びその特定の受信者の各々を一意に識別する働きをすることができる。ＷＡＮ最適化装置３０７によりこれらのパケットが受信されると、いくつかの実施形態例では、ＷＡＮ最適化装置３０７が、例えばＶＬＡＮを使用してこれらのデータパケットを処理し、その後ラッピング又は別様にパケット化して、これらのパケットをルータ３０８などのルータへ送信することができる。このルータ３０８は、何らかの形の物理層又はリンク層プロトコルを使用してこれらのパケットをさらにパケット化又はラッピングすることができる。その後、これらのパケットを、例えば追加のトランザクションアクセラレータ装置１１２へ送ってさらに処理することができる。さらに、いくつかの実施形態例では、前述したスイッチ３０５、８０２．１Ｑトランク３０６、及びＷＡＮ最適化装置３０７、並びにルータ３０８が、ＷＡＮ１０３の一部として存在することができる。これらの（スイッチ３０５、８０２．１Ｑトランク３０６、ＷＡＮ最適化装置３０７及びルータ３０８などの）別個の構成要素の各々を、単一のトランザクションアクセラレータ１１２からまとめて理解することができる。
【００２３】
いくつかの実施形態例では、ＷＡＮ最適化装置３０７によってデータパケットを最適化することができる。例えば、本明細書で示すように、最適化したデータパケットをルート３０９〜３１１に沿ってトンネリングして１又はそれ以上の受信側トランザクションアクセラレータ１１２へ送信することができる。受信されると、これらの受信側トランザクションアクセラレータ１１２は、このデータパケットをさらに処理して１又はそれ以上のＬＡＮへ送信することができる。
【００２４】
図４は、トランザクションアクセラレータ１１２のアーキテクチャ例の図であり、このアーキテクチャは、ＷＡＮ最適化装置とネットワーク機器との間の単一の物理接続の使用を含む。このネットワーク機器は、８０２．１Ｑトランクを使用するＰＥルータとして示されている。何らかの種類のネットワーク接続を横切ってＰＥルータ４０８へデータパケットを送信するＣＥルータ４０１を示している。このＰＥルータ４０８の一部として、ＶＲＦｉｎテーブル４０６が存在することができる。このデータパケットが受信されバッファリングされると、データパケット内のヘッダから取り出された情報に基づいて、ＶＲＦｉｎテーブル４０６内に含まれる宛先アドレスの検索を行うことができる。その後、この検索結果に基づいて、ＶＬＡＮ  ＩＤを含むＶＬＡＮヘッダをデータパケットに添付することができる。具体的には、ＶＬＡＮ  ＩＤ  Ｘ４０２モジュールが、ＶＬＡＮ  ＩＤを一般化ＶＬＡＮパケットヘッダの一部としてデータパケットに付加することができる。この宛先アドレスは、ＩＰアドレス又は他の何らかの適当なアドレスであってもよい。いくつかの実施形態例では、ＶＬＡＮ  ＩＤ  Ｘ４０２モジュールがＰＥルータ４０８の一部として存在することができる。他のいくつかの実施形態例では、ＶＬＡＮ  ＩＤ  Ｘ４０２モジュールがＷＡＮ最適化装置４０４の一部として存在することができる。このＶＬＡＮパケットヘッダがＶＲＦｉｎ  ４０６テーブルに含まれるデータパケットに付加されると、これらのデータパケットが、８０２．１Ｑトランク４０５の形の物理インターフェイスを横切ってＷＡＮ最適化装置４０４へ送信される。ＷＡＮ最適化装置４０４は、例えば、データを圧縮し、データをキャッシュし、データをトンネリングし、ＴＣＰ／ＩＰウィンドウサイズを変更し、ローカルＴＣＰ確認応答を提供し、又はデータに対して他の何らかの適当な最適化技術を実行することによりデータパケットを最適化することができる。
さらなるＶＬＡＮ  ＩＤ  Ｙ４０３モジュールを使用して、第２のＶＬＡＮ  ＩＤを添付し、又は別様にこの第２のＶＬＡＮ  ＩＤを新しいＶＬＡＮヘッダの一部にすることができる。いくつかの実施形態例では、このＶＬＡＮ  ＩＤ  Ｙ４０３モジュールがＰＥルータ４０８の一部として存在することができる。他の実施形態例では、ＶＬＡＮ  ＩＤ  Ｙ４０３モジュールがＷＡＮ最適化装置４０４の一部として存在することができる。新しいＶＬＡＮヘッダが添付され、この時点で最適化済みのデータパケットが８０２．１Ｑトランク４０５を横切ってＰＥルータ４０８へルーティングされると、ＶＲＦｏｕｔ４０７テーブルを使用してさらなる検索が行われる。その後、データパケットを、例えばＷＡＮ  １０３を横切って送信し、これを例えばＰＥルータ４０９又はＰＥルータ４１０が受信することができる。これらのＰＥルータ４０９及び４１０は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００２５】
図５は、トランザクションアクセラレータ１１２のアーキテクチャ例の図であり、このアーキテクチャ例は、ＷＡＮ最適化装置５０２と（ＰＥルータなどの）ネットワーク機器との間の２つの物理インターフェイスの使用を含む。ネットワークを横切ってＰＥルータ５０７へデータパケットを送信するＣＥルータ５０１を示している。１つの実施形態例では、ＴＣＰ／ＩＰヘッダを使用してデータパケットがフォーマットされる。このＰＥルータ５０７の一部として、ＶＲＦｉｎテーブル５０８及びＶＲＦｏｕｔテーブル５０９が存在することができる。このＰＥルータ５０７にはＷＡＮ最適化装置５０２が接続され、この接続部は、８０２．１Ｑトランク５０３を伴う物理インターフェイス、及び８０２．１Ｑトランク５０３を伴う第２の物理インターフェイスである。データパケットは、８０２．１Ｑトランク５０３を介してＷＡＮ最適化装置５０２に流入し、８０２．１Ｑトランク５０３を介してＷＡＮ最適化装置５０２から流出する。
【００２６】
１つの実施形態例では、ＰＥルータ５０７によりデータパケットが受信されると、ＶＲＦｉｎテーブル５０８を使用してＰＥルータ５０７により宛先アドレスの検索が行われる。宛先アドレスが決定された後に、データパケットにＶＬＡＮヘッダを付加するＶＬＡＮ  ＩＤ  Ｘ５０５モジュールを実行することができる。このＶＬＡＮヘッダは、データパケットの受信者を一意に識別することができるＶＬＡＮ  ＩＤを含むことができる。次に、このデータパケットが、例えばＷＡＮ最適化装置５０２に提供される。次に、ＷＡＮ最適化装置５０２は、データパケットを例えばトンネリング、圧縮、又はキャッシュすることにより最適化することができる。その後、このＷＡＮ最適化装置５０２は、８０２．１Ｑトランク５０４を使用してデータパケットを送信することができる。このとき、８０２．１Ｑトランク５０４に沿って送信する前に、ＶＬＡＮ  ＩＤ  Ｙ５０６モジュールを使用して、この時点で最適化済みのデータパケットに新しいＶＬＡＮヘッダ及びＶＬＡＮ  ＩＤを適用することができる。その他の場合には、新しいＶＬＡＮ  ＩＤを使用してデータパケットをフォーマットすることはできず、ＶＬＡＮ  ＩＤ  Ｘ５０５モジュールにより割り当てられた、以前に利用したＶＬＡＮ  ＩＤ及び関連するＶＬＡＮヘッダを保持することになる。ＰＥルータ５０７によりデータパケットが受信されると、ＶＲＦｏｕｔテーブル５０９を使用して検索を行い、宛先アドレスを決定することができる。このデータパケットをＷＡＮ１０３を横切って送信し、これをＰＥルータ５１０及び／又はＰＥルータ５１１が受信することができ、これらのＰＥルータは、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００２７】
図６は、複数のネットワーク機器にサービスを提供するトランザクションアクセラレータ１１２のアーキテクチャ例の図である。データパケットを、例えばＰＥルータ６１１へルーティングするＣＥルータ６０８、６０９及び６１０を示している。例えばＴＣＰ／ＩＰヘッダを使用して、これらのデータパケットをフォーマットすることができる。このＰＥルータ６１０の一部として、例えばＶＲＦｉｎテーブル６１２、ＶＲＦｉｎテーブル６１３及びＶＲＦｉｎテーブル６１４などの複数のＶＲＦｉｎテーブルが存在する。これらのＶＲＦｉｎテーブル６１２〜６１４の各々は、それぞれＣＥルータ６０８〜６１０の各々に専用のものである（例えば、ＣＥルータ６０８はＶＲＦｉｎ６１２に、ルータ６０９はＶＲＰｉｎルータ６１３に、などのようにマッピングを行う）。さらに、例えば、ＶＲＦｏｕｔテーブル６１５、ＶＲＦｏｕｔテーブル６１６及びＶＲＦｏｕｔテーブル６１７などの複数のＶＲＦｏｕｔテーブルを示している。これらの（６１２、６１３及び６１４などの）ＶＲＦｉｎテーブルの各々、さらにこれらの様々な（６１５、６１６及び６１７などの）ＶＲＦｏｕｔテーブルには、８０２．１Ｑトランク６０６及び６０７に集約されるいくつかのＶＬＡＮインターフェイスが動作可能に接続される。これらの８０２．１Ｑトランク６０６及び６０７のトラフィックをスイッチ６０４及び６０５が管理する。スイッチ６０４及び６０５はデータパケットを、例えば複数のＷＡＮ最適化装置に導く。これらのＷＡＮ最適化装置は、例えば、ＷＡＮ最適化装置１  ６０１、ＷＡＮ最適化２  ６０２及びＷＡＮ最適化装置３  ６０３を含む。スイッチ６０５は、これらのＷＡＮ最適化装置６０１、６０２及び６０３の各々から８０２．１Ｑトランク６０７を横切ってＰＥルータ６１１へ流れるデータパケットを管理する。
【００２８】
１つの実施形態例では、例えばＣＥルータ６０８により送信されるデータパケットがＰＥルータ６１１により受信される。ＶＲＦｉｎテーブル６１２を使用して検索が行われる。さらに、検索結果に基づいてこのデータパケットにＶＬＡＮヘッダが添付され、このＶＬＡＮヘッダを含むデータパケットが８０２．１Ｑトランク６０６に沿って送信されて、例えばスイッチ６０４により受信される。スイッチ６０４によって受信されると、このＶＬＡＮヘッダを含むデータパケットが、各々がＣＥ６０８〜６１０によりサービスを受けるＬＡＮからの又はこのＬＡＮへ向かうデータトラフィックをそれぞれ専門に処理するＷＡＮ最適化装置６０１〜６０３の１つへルーティングされる。ＶＬＡＮヘッダを含むデータパケットは、これらのＷＡＮ最適化装置６０１〜６０３の１つにおいて受信されたときに最適化される。この最適化は、データパケットに含まれるデータを圧縮する形、データパケット内のデータをキャッシュする形、データパケット内のデータをトンネリングする形、ＴＣＰ／ＩＰウィンドウサイズを変更する形、ローカルＴＣＰ確認応答を提供する形、又はデータに対して他の何らかの適当な最適化技術を実行する形を取ることができる。
その後、この時点で最適化済みのデータパケットがスイッチ６０５へ送られ、８０２．１Ｑトランク６０７を介してＰＥルータ６１１へルーティングされる。いくつかの例では、このルーティング前に、データパケットに新しいＶＬＡＮヘッダを関連付けることができる。ＰＥルータ６１１により受信されると、専用のＷＡＮ最適化装置６０１〜６０３の１つとの接続を提供する８０２．１Ｑ  ＶＬＡＮに各々が関連するＶＲＦｏｕｔテーブル６１５〜６１７の１つを使用して宛先アドレス検索を行なうことができる。ＶＲＦ内でこの宛先アドレスが検索されると、ＷＡＮ１０３を横切ってパケットを送信し、これを例えばＰＥルータ６１８及び／又はＰＥルータ６１９が受信することができる。これらのＰＥルータ６１８及び６１９は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００２９】
図７は、共通論理ＶＲＦテーブルを利用するトランザクションアクセラレータ１１２のアーキテクチャ例を示すシステム図である。ＰＥルータ７０７へ１又はそれ以上のデータパケットを送信するＣＥルータ７０１、ＣＥルータ７０２及びＣＥルータ７０３を示している。このＰＥルータ７０７の一部として、ＶＲＦｉｎテーブル７０８、ＶＲＦｉｎテーブル７０９及びＶＲＦｉｎテーブル７１０が存在する。また、このＰＥルータ７０７の一部として、共通論理ＶＲＦテーブル７１１も存在する。このＰＥルータ７０７には、ＷＡＮ最適化装置７０４が１又はそれ以上の物理インターフェイスを介して動作可能に接続される。例えば８０２．１Ｑトランク７０５を介して、このＷＡＮ最適化装置７０４を接続することができる。
【００３０】
１つの実施形態例では、例えば、ＣＥルータ７０１によりデータパケットが送信され、これがＰＲルータ７０７により受信される。ＴＣＰ／ＩＰを使用してこのデータパケットをフォーマットすることができる。ＶＲＦｉｎテーブル７０８及びデータパケット内に含まれるＴＣＰ／ＩＰヘッダデータを使用して、宛先アドレスの検索を行うことができる。
その後、データパケットにＶＬＡＮヘッダを付加することができる。このデータパケットが８０２．１Ｑトランク７０５に沿って送信され、これがＷＡＮ最適化装置７０４により受信される。その後、ＷＡＮ最適化装置７０４は、例えばデータパケットに含まれるデータを圧縮し、データパケット内のデータをキャッシュし、データパケット内のデータをトンネリングし、ＴＣＰ／ＩＰウィンドウサイズを変更し、ローカルＴＣＰ確認応答を提供し、又はデータに対して他の何らかの適当な最適化技術を実行することによりデータパケットを最適化することができる。特定の例では、ＷＡＮ最適化装置７０４が宛先アドレスへのルートを分かっていない場合、データパケットを最適化することができない。ＷＡＮ最適化装置７０４は、１又はそれ以上の専用トンネル７０６を利用することができ、これらのトンネルは、例えばこの時点で最適化済みのデータパケットを特定の宛先アドレスのためにさらに一意に識別する何らかの種類のプロトコルベースのラッパ又はその他の方法であってもよい。例えば、このトンネリングはデータパケットを、例えばヘッダ内に、例えば汎用経路カプセル化（ＧＲＥ）トンネル、インターネットプロトコルセキュリティ（ＩＰＳＥＣ）トンネル又はＭＰＬヘッダの形でラッピングすることを含むことができる。
このような場合、トンネルは、複数のクライアントＬＡＮからのトラフィックをセグメント化するために、特定のクライアントＬＡＮに対して専用のものとなる。ＷＡＮ最適化装置７０４により、データパケットをＰＥルータ７０７へ送信することができる。ＰＥルータ７０７は、共通論理ＶＲＰテーブル７１１を使用して宛先アドレスの検索を行うことができる。最適化されトンネリングされたデータパケットを、例えばＷＡＮ１０３を横切って、例えばＰＥルータ７１２又はＰＥルータ７１３へ転送することができる。これらのＰＥルータ７１２及び７１３は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００３１】
図８は、複数のＷＡＮ最適化装置及び共通ＶＲＦｏｕｔテーブル８１７を利用するトランザクションアクセラレータ１１２のアーキテクチャ例の図である。例えばＰＥルータ８１０に接続された、ＣＥルータ８０１、ＣＥルータ８０２及びＣＥルータ８０３を示している。このＰＥルータ８１０の一部として、ＶＲＦｉｎテーブル８１２、ＶＲＦｉｎテーブル８１３及びＶＲＦｉｎテーブル８１４が存在する。さらに、ＰＥルータ８１０の一部として存在する形で共通論理ＶＲＦｏｕｔテーブル８１７も示している。ＰＥルータ８１０をスイッチ８０７に動作可能に接続し、及び最終的には、各々がＣＥ８０１〜８０３によりサービスを受けるＬＡＮからの又はこのＬＡＮへ向かうデータトラフィックをそれぞれ専門に処理するＷＡＮ最適化装置８０４〜８０６の１つに動作可能に接続するのが８０２．１Ｑトランク８０８である。この８０２．１Ｑトランク８０８は、スイッチ８０７を、何らかの種類の物理インターフェイス及び／又は物理接続を介してＰＥルータ８１０に接続することができる。このスイッチ８０７を使用して、例えばＰＥルータ８１０からのトラフィックをルーティングすることができる。
【００３２】
１つの実施形態では、ＣＥルータ８０１が、データパケットをＰＥルータ８１０へ送信することができ、ここでこのデータパケットがＴＣＰ／ＩＰヘッダを使用してフォーマットされる。ＰＥルータ８１０により受信されると、データパケットがバッファリングされ、ＶＲＦｉｎテーブル８１２を使用して検索が行われる。データパケットにはＶＬＡＮヘッダを付加することができ、このデータパケットは、８０２．１Ｑトランク８０８に沿ってスイッチ８０７へ送信される。その後、このスイッチ８０７は、データパケットをＷＡＮ最適化装置８０４〜８０６の１又はそれ以上へルーティングすることができる。このデータパケットがこれらのＷＡＮ最適化装置８０４〜８０６の１つにおいて受信されると、このデータパケットを最適化することができる。最適化は、データパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、ＴＣＰ／ＩＰウィンドウサイズを変更すること、ローカルＴＣＰ確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みのデータパケットをラッピング又はトンネリングして、トンネル８１１の１又はそれ以上に沿って送信することができる。これらのトンネルは、データパケットを例えばヘッダ内に、例えばＧＲＥトンネル、ＩＰＳＥＣトンネル又はＭＰＬヘッダの形でラッピングすることを含むことができる。
このような場合、トンネルは、複数のクライアントＬＡＮからのトラフィックをセグメント化するために、特定のクライアントＬＡＮに対して専用のものとなる。スイッチ８０９を使用して、データパケットをトンネル８１１の１つに沿ってルーティングすることができる。特定の例では、トンネルは特定のクライアントＬＡＮ専用のものであってもよい。
共通論理ＶＲＦｏｕｔテーブル８１７を使用して、データパケットの宛先アドレスを検索することができる。このデータパケットをＷＡＮ１０３を横切って送信して、これを例えばＰＥルータ８１５及び／又はＰＥルータ８１６が受信することができる。ＰＥルータ８１６は、これ自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００３３】
図９は、ポリシーベースのルーティング形態の使用を示す、トランザクションアクセラレータのアーキテクチャ例の図である。ＰＥルータ９０６に動作可能に接続されたＣＥルータ９０１を示しており、このＰＥルータ９０６はポリシーベースのルーティングＶＦＲテーブル９０７を含む。このＰＥルータ９０６には、ＶＬＡＮ  ＩＤ  Ｘモジュール９０４及びＶＬＡＮ  ＩＤ  Ｙモジュール９０５が接続される。さらに、このＰＥルータ９０６には８０２．１Ｑトランク９０３が接続される。この８０２．１Ｑトランク９０３は、ＷＡＮ最適化装置９０２をＰＥルータ９０６にさらに接続する。
【００３４】
１つの実施形態例では、ＣＥルータ９０１がＰＥルータ９０６へデータパケットを送信する。ＰＥルータ９０６により、及び何らかの種類のポリシーベースのルーティング形態に基づいて受信されると、ＶＬＡＮ  ＩＤ  Ｘモジュール９０４の実行を通じてデータパケットにＶＬＡＮヘッダが付加される。このポリシーベースのルーティング形態は、データパケットをＷＡＮ１０３を横切って転送する前に、ＰＥルータ９０６に入る全てのデータパケットをＷＡＮ最適化装置９０２へルーティングするための命令を含むことができる。さらなるポリシーは、例えば特定のサイズのデータパケット又は特定の種類のプロトコルを利用するパケットを優先することを含むことができる。データパケットが、８０２．１Ｑトランク９０３を横切ってＷＡＮ最適化装置９０２へ送信される。ＷＡＮ最適化装置９０２により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、ＴＣＰ／ＩＰウィンドウサイズを変更すること、ローカルＴＣＰ確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。第２のＶＬＡＮ  ＩＤ  Ｙモジュール９０５を実行することができ、このＶＬＡＮ  ＩＤ  Ｙモジュール９０５を使用して、データパケットに異なるＶＬＡＮヘッダを添付することができる。
ネットワーク管理者により設計され、ポリシーベースのルーティング形態により実施される特定のポリシーを使用して、ＰＥルータ９０６は、このデータパケットをＷＡＮ１０３を横切って送信し、これを例えばＰＥルータ９０８又はＰＥルータ９０９が受信することができる。これらのＰＥルータ９０８及び９０９は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００３５】
図１０は、ＷＡＮ最適化装置１００２とＰＥルータ１００８の間に異なる物理インターフェイスが存在するポリシーベースのルーティング形態を利用するトランザクションアクセラレータのアーキテクチャ例の図である。ＰＥルータ１００６に動作可能に接続されたＣＥルータ１００１を示している。このＰＥルータ１００７上には、ポリシーベースのルーティングＶＦＲテーブル１００８が存在する。このＰＥルータ１００７は、複数の物理インターフェイスを介してＷＡＮ最適化装置１００２に接続される。この接続は、例えば８０２．１Ｑトランク１００３及び８０２．１Ｑトランク１００４の形をとることができる。
【００３６】
いくつかの例では、ＣＥルータ１００１が、ＰＥルータ１００７へデータパケットを送信することができる。ＰＥルータ１００７により受信されると、ポリシーベースのルーティングＶＦＲテーブル１００８は、宛先アドレスをＷＡＮ最適化装置１００２の宛先アドレスとしてリストすることにより、全ての着信データパケットをＷＡＮ最適化装置１００２へ転送するというポリシーを実施することができる。ＰＥルータ１００７が実施できるその他のポリシーとして、データパケットサイズ又はプロトコル要件を考慮することに基づいてデータパケットを優先することを挙げることができる。いくつかの実施形態例では、ＰＥルータ１００７により受信されたデータパケットにＶＬＡＮヘッダを添付することができるＶＬＡＮ  ＩＤ  Ｘモジュール１００５を実行することができる。ＶＬＡＮ  ＩＤ  Ｘモジュール１００５が実行されると、この時点でＶＬＡＮヘッダを含むパケットを、前述した８０２．１Ｑトランク１００３を横切ってＷＡＮ最適化装置１００２へ送信することができる。ＷＡＮ最適化装置１００２により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、ＴＣＰ／ＩＰウィンドウサイズを変更すること、ローカルＴＣＰ確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。８０２．１Ｑトランク１００４を横切ってデータパケットを送信することができる。８０２．１Ｑトランク１００４を横切って送信される前に、ＶＬＡＮ  ＩＤ  Ｙモジュール１００６を実行して、データパケットに異なるＶＬＡＮヘッダを添付することができる。場合によっては、ＶＬＡＮ  ＩＤ  Ｙモジュール１００６を実行することができない。ＶＬＡＮ  ＩＤ  Ｙモジュール１００６が実行され、データパケットがＰＥルータ１００７において受信されると、このデータパケットをＷＡＮ１０３を横切って送信し、これを例えばＰＥルータ１００９又はＰＥルータ１０１０が受信することができる。これらのＰＥルータ１００９及び１０１０は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００３７】
図１１は、ＷＡＮ最適化装置とともに複数のネットワーク機器を使用するトランザクションアクセラレータ１１２のアーキテクチャ例の図である。ＰＥルータ１１０７に接続されたＣＥルータ１１０１を示している。このＰＥルータ１１０７の一部としてＶＲＦｉｎテーブル１１０８が存在する。場合によっては、このＶＲＦｉｎテーブル１１０８を、物理インターフェイスを介してＷＡＮ最適化装置１１０２に接続することができる。この接続は、例えば８０２．１Ｑトランク１１０３の形をとることができる。さらに、このＷＡＮ最適化装置１１０２を、物理インターフェイスを介して、さらに８０２．１Ｑトランク１１０４を介してＰＥルータ１１０９に接続することができる。このＰＥルータ１００９の一部としてＶＲＦｏｕｔテーブル１１１０が存在する。
【００３８】
１つの実施形態例では、ＣＥルータ１１０１がＰＥルータ１１０７へデータパケットを送信する。ＰＥルータ１００７により受信されると、データパケットに関連する宛先アドレスを求めてＶＲＦｉｎテーブル１１０８の検索が行われる。宛先アドレスが決定されると、データパケットにＶＬＡＮヘッダ及び関連するＶＬＡＮ  ＩＤを付加するＶＬＡＮ  ＩＤ  Ｘモジュール１１０５が実行される。その後、このデータパケットが、前述した８０２．１Ｑトランク１１０３を横切って送信され、これが例えばＷＡＮ最適化装置１１０２により受信される。ＷＡＮ最適化装置１１０２により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、ＴＣＰ／ＩＰウィンドウサイズを変更すること、ローカルＴＣＰ確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みのデータパケットが、８０２．１Ｑトランク１１０４を横切って送信される。場合によっては、データパケットの送信前に、ＶＬＡＮ  ＩＤ  Ｙモジュール１１０６を実行して、データパケットに異なるＶＬＡＮヘッダを添付する。その後、ＶＲＦｏｕｔテーブル１１１０を使用して検索を行うことができ、このデータパケットを、ＷＡＮ１０３を横切ってＰＥルータ１１１１及び／又はＰＥルータ１１１２へ送信することができる。これらのＰＥルータ１１１１及び１１１２は、これら自体が追加のトランザクションアクセラレータ１１２又は複数のトランザクションアクセラレータ１１２の一部であってもよい。
【００３９】
図１２は、コンピュータシステム１２００及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、第１の物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続された、ＶＲＦを実行するように構成されたネットワーク機器１２０１を示している。ネットワーク機器上に存在する、第１のＶＲＦｉｎルーティングテーブルを有する第１のデータストアも示している。さらに、ネットワーク機器上に存在する、第２のＶＲＦｏｕｔルーティングテーブルを有する第２のデータストアも示している。いくつかの実施形態例は、第２の物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続された、ＶＲＦを実行するように構成されたネットワーク機器を含むことができる。また、いくつかの実施形態例では、ネットワーク機器が、ポリシーベースのルーティングを実施するように構成される。いくつかの例では、ネットワーク機器が、第２の物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続される。いくつかの実施形態例では、別のネットワーク（図示せず）機器が、第２の物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続される。
【００４０】
図１３は、コンピュータシステム１３００及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、物理インターフェイスを介してＷＡＮ最適化装置に動作可能に接続された、ＶＲＦを実行するように構成されたネットワーク機器１３０１を示している。また、各々が単一のＶＲＦｉｎルーティングテーブルを有する複数のＶＲＦｉｎデータストア１３０２を示している。さらに、いくつかの実施形態例では、ＶＲＦｏｕｔルーティングテーブルを有する単一の共通データストアを示している。いくつかの例では、物理インターフェイスが８０２．１Ｑトランクに動作可能に接続される。また、いくつかの実施形態例では、複数のトンネル１３０４をＷＡＮ最適化装置に動作可能に接続された形で示しており、これらの複数のトンネルの各々は、物理接続又は論理接続の少なくとも一方を含む接続によりＬＡＮに動作可能に接続される。いくつかの実施形態例では、単一の共通データストアが共通論理データストアである。いくつかの実施形態例では、ネットワーク機器がＰＥルータである。
【００４１】
図１４は、コンピュータシステム１４００及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、複数の第１の物理インターフェイスを介して複数のＷＡＮ最適化装置に動作可能に接続された、ＶＲＦを実行するように構成されたネットワーク機器１４０１を示している。また、いくつかの実施形態例では、各々がＶＲＦｉｎルーティングテーブルを有する複数のＶＲＦｉｎデータストア１４０２を示している。いくつかの実施形態例では、各々がＶＲＦｏｕｔルーティングテーブルを有する複数のＶＲＦｏｕｔデータストア１４０３を示している。いくつかの実施形態例では、ネットワーク機器及びＷＡＮ最適化装置が、複数の第２の物理インターフェイスを介して接続される。いくつかの実施形態例は、複数の第１の物理インターフェイスを介して受信されたデータパケットを管理するためのスイッチ１４０４を含むことができる。また、いくつかの実施形態例では、複数の第２の物理インターフェイスを介して受信されたデータパケットを管理するためのスイッチ１４０５を示している。いくつかの実施形態例では、共通ＶＲＦｏｕｔルーティングテーブル１４０６を示している。
【００４２】
図１５は、ホストオペレーティングシステム技術を利用して特定のコンピュータシステムに仮想化を提供するＷＡＮ最適化装置１５００のソフトウェアアーキテクチャ例のブロック図である。このＷＡＮ最適化装置１５００は、例えば前述したＷＡＮ最適化装置１１３、１１５及び／又は１１７であってもよい。ホストオペレーティングシステムと表記したレイヤ１５０４を示しており、このレイヤ１５０４は、このレイヤ１５０４の上部に存在するさらなる機能レイヤを管理する働きをする。さらに、このレイヤ１５０４に存在するホストオペレーティングシステムは、例えば、中央処理装置（ＣＰＵ）、（磁気ドライブ又は光ドライブなどの）永続ストレージ、ランダムアクセスメモリ（ＲＡＭ）又はその他のハードウェアリソースなどの、様々なコンピュータシステムハードウェアリソースへのインターフェイスを提供することができる。レイヤ１５０４上には、ゲストＯＳと表記したレイヤ１５０３が存在する。いくつかの実施形態例では、ここではレイヤ１５０３で示す複数のゲストＯＳが、個々のゲストＯＳが同じレイヤの一部として存在する他のゲストＯＳに気付くように移植される。レイヤ１５０３内に示すこれらのゲストＯＳを、レイヤ１５０４により管理することができる。いくつかの実施形態例では、これらの様々なゲストＯＳのインスタンスは、同じ又は異なるオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばＬｉｎｕｘ（登録商標）、マイクロソフトウインドウズ（登録商標）又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。このレイヤ１５０３の上部には、様々な仮想ルータを含むレイヤ１５０２が存在する。これらの仮想ルータを、レイヤ１５０３及びこの様々なゲストオペレーティングシステムにより管理することができる。例えば、単一の仮想ルータを単一のゲストＯＳにより管理することができる。さらに、レイヤ１５０２の上部には、様々なルーティングエンジンを含むレイヤ１５０１が存在する。これらのルーティングエンジンを、レイヤ１５０２及びこの様々な仮想ルータにより管理することができる。例えば、単一のルーティングエンジンを単一の仮想ルータにより管理することができる。さらに、レイヤ１５０１において概説したこれらのルーティングエンジンは、例えばＶＲＦｉｎテーブル７０８〜７１０などの複数のＶＲＦｉｎテーブルにアクセスすることができ、同様に例えばＶＲＦｏｕｔテーブル５０９及びＶＲＦｏｕｔテーブル６１５〜６１７など複数のＶＲＦｏｕｔテーブルにアクセスすることもできる。いくつかの実施形態例では、仮想化を使用して、ディスク割当て、入出力（Ｉ／Ｏ）速度限界、メモリ限界、ＣＰＵ割当て、及び様々なネットワークインターフェイス及び関連するネットワークトラフィックを含む様々なシステムリソース及びこれに関連する限界を管理することができる。
【００４３】
いくつかの実施形態例では、この仮想マシンを通じて、及び特にこの仮想マシンを利用するＷＡＮ最適化装置１５００の使用を通じて複数の顧客にサービスを提供することができ、これに含まれる各々の顧客が、この仮想マシンに関連する複数の宛先アドレスを有する。特定の状況では、この仮想マシンを使用することにより、宛先アドレス及びこのアドレスの各々に関連する一意性に関して重複が存在することができる。例えば、レイヤ１５０３及びこの中に含まれるゲストＯＳが、このレイヤ１５０３の一部として存在し得るその他のゲストＯＳに割り当てられたシステムリソースにアクセスできないという事実により、この重複を可能にすることができる。例えば、特定区域のハードドライブが、特定のゲストＯＳにより制御されるＶＲＦｉｎテーブルのために予約されていた場合、その他のゲストＯＳ及び関連する仮想ルータ及びルーティングエンジンは、この特定のディスク空間にアクセスすることができない。
【００４４】
図１６は、仮想マシン技術を利用して特定のコンピュータシステムに仮想化を提供するＷＡＮ最適化装置１６００のソフトウェアアーキテクチャ例のブロック図である。いくつかの実施形態例では、このＷＡＮ最適化装置１６００は、例えばＷＡＮ最適化装置１１３、１１５及び／又は１１７であってもよい。いくつかの機能のレイヤとしてブロックの形で示されるＷＡＮ最適化装置１６００を示している。例えば、仮想マシンモニタとして参照されるレイヤ１６０４を示している。いくつかの実施形態例では、この仮想マシンモニタは、例えばＣＰＵ、（磁気ドライブ又は光ドライブなどの）永続ストレージ、ＲＡＭ又はその他のハードウェアリソースなどの様々なコンピュータシステムハードウェアリソースへのインターフェイスを提供することができる。さらに、レイヤ１６０４上に存在する、複数のゲストＯＳで構成されたレイヤ１６０３を示している。これらのゲストＯＳはさらに、様々な仮想ルータを含むレイヤ１６０２を管理又は制御することができる。いくつかの実施形態例では、これらの様々なゲストＯＳのインスタンスは、同じ又は異なるオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばＬｉｎｕｘ（登録商標）、マイクロソフトウインドウズ（登録商標）又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。さらに、このレイヤ１６０３は、レイヤ１６０４及びこれに含まれる仮想マシンモニタを使用することにより、様々なシステムリソースを利用することができる。また、複数の仮想ルータを含むレイヤ１６０２も示している。このレイヤ１６０２はさらに、複数のルーティングエンジンを含むレイヤ１６０１を制御及び別様にサポートすることができる。これらのルーティングエンジンは、例えばＶＲＦｉｎテーブル７０８〜７１０などの複数のＶＲＦｉｎテーブルにアクセスすることができ、同様に例えばＶＲＦｏｕｔテーブル５０９及びＶＲＦｏｕｔテーブル６１５〜６１７など複数のＶＲＦｏｕｔテーブルにアクセスすることもできる。
【００４５】
いくつかの実施形態例では、この仮想マシンを通じて、及び特にこの仮想マシンを利用するＷＡＮ最適化装置１６００の使用を通じて複数の顧客にサービスを提供することができ、これに含まれる各々の顧客が、この仮想マシンに関連する複数の宛先アドレスを有する。特定の状況では、この仮想マシンを使用することにより、宛先アドレス及びこのアドレスの各々に関連する一意性に関して重複が存在することができる。例えば、レイヤ１６０３及びこの中に含まれるゲストＯＳが、このレイヤ１６０３の一部として存在し得るその他のゲストＯＳに割り当てられたシステムリソースにアクセスできないという事実により、この重複を可能にすることができる。例えば、特定区域のハードドライブが、特定のゲストＯＳにより制御されるＶＲＦｉｎテーブルのために予約されていた場合、その他のゲストＯＳ及び関連する仮想ルータ及びルーティングエンジンは、この特定のディスク空間にアクセスすることができない。
【００４６】
図１７は、ＯＳレベルでの仮想化を利用して特定のコンピュータシステムに仮想化を提供するＷＡＮ最適化装置１７００のソフトウェアアーキテクチャ例のブロック図である。
ＷＡＮ最適化装置１７００、及び様々なレイヤ及びブロック、及びこれに関連する機能を示している。このＷＡＮ最適化装置１７００は、例えば前述したＷＡＮ最適化装置１１３、１１５及び／又は１１７であってもよい。複数のオペレーティングシステムのインスタンスを含むレイヤ１７０３を示している。いくつかの実施形態例では、これらの様々なＯＳのインスタンスは、同じオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばＬｉｎｕｘ（登録商標）、マイクロソフトウインドウズ（登録商標）又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。このレイヤ１７０３の上部には、複数の仮想ルータを含むレイヤ１７０２が存在し、これらの仮想ルータの各々は、例えばレイヤ１７０３に含まれ又はこのレイヤ１７０３に別様に存在するオペレーティングシステムの１又はそれ以上により制御される。
このレイヤ１７０２及びこれに関連する仮想ルータは、レイヤ１７０２の上部にレイヤ１７０１の一部として存在する様々なルーティングエンジンを制御する。図１５及び図１６のように、様々なシステムリソースが、レイヤ１７０３に存在するオペレーティングシステムにより制御される。これらのリソースとして、例えばＣＰＵアクセス、ディスク空間、又はその他の適当なシステムリソースを挙げることができる。ＯＳレベルでの仮想化を使用することにより、単一のコンピュータシステム内で宛先アドレス重複を利用して、例えば同じ宛先アドレスをＶＲＦｉｎテーブル又はＶＦＲｏｕｔテーブル内に記憶でき、及びＯＳレベルでの仮想化方法を利用するコンピュータシステムにより同じ宛先アドレスに別様にアクセスできるようにすることができる。
【００４７】
図１８は、トランザクションアクセラレータを使用して複数のＬＡＮトラフィックを最適化する方法例１８００を示すフロー図である。様々な動作１８０１〜１８０７を示しており、これらの動作の各々は、トランザクションアクセラレータ１１２の一部として存在することができる。いくつかの実施形態例では、動作１８０１を実行して、第１のネットワークから受信した第１のデータパケットを第１のオペレーティングシステムを使用して処理することができる。動作１８０２を実行して、第２のネットワークから受信した第２のデータパケットを第２のオペレーティングシステムを使用して処理することができる。
さらに、動作１８０３を実行して、第１のデータパケット及び第２のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートを決定することができる。動作１８０４を実行して、第１のデータパケットを少なくとも１つの第１の論理セグメントに解析し、第２のデータパケットを少なくとも１つの第２の論理セグメントに解析することができる。動作１８０５を実行して、第１の論理セグメント及び第２の論理セグメントを少なくとも１つのデータパケットとしてＷＡＮを横切って送信することができる。いくつかの実施形態例では、第１のオペレーティングシステム及び第２のオペレーティングシステムが同じコンピュータシステム上に存在する。いくつかの実施形態例は、第１のネットワーク及び第２のネットワークがＬＡＮであることを含むことができる。動作１８０６を実行して、第１のデータパケット又は第２のデータパケットの少なくとも一方に顧客識別子を関連付けることができる。また、動作１８０７を実行して、第１の論理セグメント又は第２の論理セグメントの少なくとも一方を最適化することができ、この最適化は、第１又は第２の論理セグメントを圧縮すること、キャッシュすること、又はトンネリングすることのうちの少なくとも１つを含む。
【００４８】
いくつかの実施形態例では、複数のデータパケットを最適化するためのコンピュータ実行方法を示す。この方法例は、実行された場合、第１のネットワークから受信した第１のデータパケットを、第１のオペレーティングシステムを使用して処理するという動作を含むことができる。いくつかの実施形態例は、第１のネットワークとして機能するＬＡＮから受信したＴＣＰ／ＩＰベースのデータパケットである第１のデータパケットを含むことができる。また、いくつかの実施形態例では、第２のネットワークから受信した第２のデータパケットを、第２のオペレーティングシステムを使用して処理するという動作を実行する。この第２のデータパケットは、第２のネットワークとして機能する別のＬＡＮから受信したＴＣＰ／ＩＰベースのデータパケットであってもよい。さらに、いくつかの実施形態例では、第１のデータパケット及び第２のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートに関する決定を行うための動作を実行することができる。このルートは、ＷＡＮの一部として存在する複数のネットワーク機器間のルートであってもよい。また、いくつかの実施形態例では、第１のデータパケットを少なくとも１つの第１の論理セグメントに解析し、第２のデータパケットを少なくとも１つの第２の論理セグメントに解析するための動作を実行することができる。いくつかの実施形態例では、論理セグメントは、データパケット又はデータフィールドサイズ、又は他の何らかの適当な基準に関するいくつかの論理ベースの検討に基づいてフォーマットされたデータのセグメントであってもよい。このサイズは、ビット、ニブル、バイト、又はその他の何らかの適当な測定基準に関するものであってもよい。いくつかの実施形態例では、第１の論理セグメント及び第２の論理セグメントを少なくとも１つのデータパケットとしてＷＡＮを横切って送信するように動作を実行することができる。いくつかの実施形態例では、第１のデータパケット又は第２のデータパケットの少なくとも一方に顧客識別子を関連付けるように動作を実行することができる。この顧客識別子は、ＶＬＡＮ  ＩＤ値、ＩＰアドレス値、媒体アクセス制御（ＭＡＣ）値、又はネットワークから到来するデータストリーム内で顧客を識別する他の何らかの方法であってもよい。いくつかの実施形態例は、第１の論理セグメント又は第２の論理セグメントの少なくとも一方を最適化するための動作の実行を含むことができ、この最適化は、第１又は第２の論理セグメントを圧縮すること、キャッシュすること、又はトンネリングすることのうちの少なくとも１つを含む。
【００４９】
図１９は、顧客固有データパケットを生成するために使用する方法例１９００を示すフロー図である。ＷＡＮ最適化装置の一部として存在することができる様々な動作１９０１〜１９０２及び１９０４〜１９１１を示す。いくつかの実施形態例では、システム仮想リソースを個々の顧客に割り当てる動作１９０１が実行される。例えば、準仮想化、仮想マシン、又はＯＳレベルでの仮想化などの、いくつかの前述した仮想化のためのモデルのいずれか１つを使用して、これらのシステム仮想リソースを割り当てることができる。複数のデータパケット１９０３を受信するという動作１９０２を実行することができる。これらのデータパケットを論理セグメントに基づいて解析し、個々の論理セグメントを顧客識別子で識別するという動作１９０４を実行することができる。この顧客識別子は、例えば、ＴＣＰ／ＩＰデータパケットの各々に付加されるＶＬＡＮヘッダに関連するＶＬＡＮ  ＩＤであってもよい。宛先ルートがＷＡＮの遠隔側のルート宛先に関連する対応するピアトランザクションアクセラレータを有するということが分かっているかどうかを判定するという判定動作１９０５を実行することができる。判定動作１９０５が「真」であると判定した場合、（場合によってはデータ又はデータパケットなどの）論理セグメントを最適化する動作１９０６が実行される。最適化は、データを圧縮すること、データをキャッシュすること、データをトンネリングすること、ＴＣＰ／ＩＰウィンドウサイズを変更すること、ローカルＴＣＰ確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みの論理セグメントを最適化済み顧客固有データパケット１９０８として追加のトランザクションアクセラレータなどのピア装置へ送信するという動作１９０７を実行することができる。いくつかの実施形態例では、この最適化済み顧客固有データパケット１９０８の送信を、ＰＥルータなどのネットワーク機器により行うことができる。判定動作１９０５が「偽」であると判定した場合、論理セグメントは最適化されずにＷＡＮ最適化装置を通過するという動作１９０９が実行される。その後、論理セグメントの宛先アドレスが、例えばＶＲＦｏｕｔテーブル内で検索される。動作１９１０を実行して、この論理セグメントを顧客固有データパケット１９１１として送信することができる。いくつかの例では、この顧客固有データパケット１９１１の送信を、ＰＥルータなどのネットワーク機器により行うことができる。
【００５０】
図２０は、動作１９０１を実行するために使用する方法例を示すフロー図である。命令の構成２００１を示しており、この構成命令は、例えば特定顧客の顧客宛先アドレス及び特定要件のリストを含むことができる。これらの要件は、例えば、準仮想化、仮想マシン、又はＯＳレベルでの仮想化により実行されるような、例えば特定顧客への様々なシステムリソース割り当てを含むことができる。さらに、これらの要件は、特定顧客及び（サービス品質要件などの）これらの関連データパケットを優先することを含むことができる。
実行された場合、動作２００２は、命令の構成を解析して顧客要件内の宛先アドレス空間情報を抽出する。宛先アドレスベースの識別子を顧客識別子に関連付ける動作２００３を実行することができ、この場合顧客識別子は、例えばＩＰアドレス空間、ＶＬＡＮ  ＩＤ、又は他の何らかの適当な顧客識別子であってもよい。関連付けが行われると、宛先アドレス及び顧客識別子がＦＩＢ１９０６に記憶される。前述したように、いくつかの実施形態例では、複数のＦＩＢを複数のＶＲＦｉｎテーブル及びＶＲＦｏｕｔテーブルとともに利用することができる。いくつかの実施形態例では、顧客要件を使用して、例えば前述したディスク割当て、Ｉ／Ｏ速度限界、メモリ限界、ＣＰＵ割当て及び／又はネットワークインターフェイス要件などの特定のシステムリソースを割り当てるという動作２００４を実行することができる。
【００５１】
図２１は、例示的なデータパケット２１０３の図である。いくつかの実施形態例では、データパケット２１０３は、例えばＴＣＰ／ＩＰベースのデータパケットであってもよく、例えばデータパケットがＴＣＰラッパ２１０２内にラッピングされる。さらにこのＴＣＰラッパ２１０２をＩＰラッパ２１０１内にラッピングすることができる。例えば、ＣＥルータ４０１、５０１、６０８〜６１０、７０１〜７０３、８０１〜８０３、９０１、１００１、１１０１、或いはＣＥルータ又は場合によってはＰＥルータなどの他の何らかの適当なネットワーク装置により、このデータパケット２１０３を送信することができる。
【００５２】
図２２は、宛先アドレスの検索を行うために使用する方法例２２００を示すフロー図である。例えば、ＰＥルータ４０８又は５０７などのＰＥルータ上に存在することができる様々な動作２２０１〜２２０３を示している。実行された場合、ＰＥルータにより受信されたデータパケットから解析された顧客識別子を受信するという動作２２０１を示している。この顧客識別子は、例えばＩＰアドレス、ＶＬＡＮ  ＩＤ又はその他の何らかの適当な一意に識別を行う値であってもよい。例えば、ＶＲＦｉｎテーブル又はＶＲＦｏｕｔテーブルに関連するＦＩＢ内で顧客識別子の検索を行うという動作２２０２を実行することができる。顧客識別子に基づいて宛先アドレスを取り出すという動作２２０３を実行することもできる。例えば、特定の実施形態例では、ＶＬＡＮ  ＩＤを使用して特定の宛先アドレスを検索することにより、例えばＶＬＡＮ  ＩＤが宛先アドレスを求めて一意に識別を行える一方で、例えばＦＩＢ  ２２０４内に複数の同一の宛先アドレスが存在できるように宛先アドレス自体が重複できるようにすることができる。
【００５３】
図２３は、例示的なＦＩＢ２２０４及びこの中に含まれる様々なルーティングテーブルを示す図である。ルーティングテーブル２３０１、２３０２及び２３０３を示している。
これらのルーティングテーブルの各々を、一意識別型顧客ＩＤ値及び宛先アドレスに関して分割することができ、この場合一意識別型顧客ＩＤ値は一意のものであるのに対し、宛先アドレスは一意のものでなくてもよく、したがって、他の宛先アドレスと重複することができる。具体的には、本明細書に示すように、ルーティングテーブル２３０１内に含まれる宛先アドレス２３０４は、ルーティングテーブル２３０２内に含まれる宛先アドレス２３０５と同一である。さらに、ルーティングテーブル２３０３内に含まれる宛先アドレス２３０６は、宛先アドレス２３０４及び２３０５と同一である。
【００５４】
図２４は、最適化済み顧客固有データパケット例１９０８の図である。例えば、ＶＬＡＮヘッダ２４０１を使用してＩＰヘッダ２４０３をラッピングし、さらにこのＩＰヘッダ２４０３を使用してＴＣＰヘッダ２４０４をさらにラッピングすることを示している。いくつかの実施形態例では、ＩＰヘッダ２４０３及びＴＣＰヘッダ２４０４を使用して前述したデータパケット１９０３を構成し、事実上ＶＬＡＮヘッダ２４０１がデータパケット１９０３をラッピングするようにする。いくつかの実施形態例では、ＴＣＰの代わりにユーザデータグラムプロトコル（ＵＤＰ）を使用することができる。
【００５５】
サーバとクライアントとの間の送信システム
いくつかの実施形態例は、ネットワークがデータを送信するために使用するプロトコルを定義するために、ＯＳＩ基本参照モデル又はＴＣＰ／ＩＰプロトコルスタックモデルを使用することができる。これらのモデルを適用するにあたり、サーバとクライアントとの間の、又はピアコンピュータシステム間のデータ送信システムを、アプリケーションレイヤ、トランスポートレイヤ、ネットワークレイヤ、データリンクレイヤ及び物理レイヤを含む一連の大まかに５つのレイヤとして示す。３階層アーキテクチャを有するソフトウェアの場合、ＴＣＰ／ＩＰプロトコルスタックのアプリケーションレイヤ上に（インターフェイス層、論理層及びストレージ層などの）様々な層が存在する。ＴＣＰ／ＩＰプロトコルスタックモデルを使用する実施構成例では、アプリケーションレイヤに存在するアプリケーションからのデータが、トランスポートレイヤに存在するＴＣＰセグメントのデータロードフィールド内にロードされる。このＴＣＰセグメントは、遠隔に存在する受信者ソフトウェアアプリケーションのポート情報も含む。このＴＣＰセグメントが、ネットワークレイヤに存在するＩＰデータグラムのデータロードフィールド内にロードされる。次に、このＩＰデータグラムが、データリンクレイヤに存在するフレーム内にロードされる。
その後、このフレームが物理レイヤにおいて符号化され、インターネット、ＬＡＮ、ＷＡＮ、又はその他の何らかの適当なネットワークなどのネットワークを介してデータが送信される。いくつかの例では、インターネットは、ネットワークからなるネットワークのことを意味する。これらのネットワークは、前述のＴＣＰ／ＩＰ、さらにはＡＴＭ、ＳＮＡ、ＳＤＩ、フレームリレー、ＭＰＬ、又はその他の何らかの適当なプロトコルを含む、データ交換のための様々なプロトコルを使用することができる。これらのネットワークを、（スター型トポロジーなどの）様々なトポロジー又は構造内に体系化することができる。
【００５６】
コンピュータシステム
図２５は、本明細書で説明した方法のいずれか１つ又はそれ以上を機械に実行させる命令セットを実行することができるコンピュータシステム例２５００の形の機械の略図表示を示している。代替の実施形態では、機械がスタンドアロン装置として動作し、又は他の機械に接続する（例えば、ネットワーク化する）ことができる。ネットワーク化した展開では、この機械は、サーバ−クライアントネットワーク環境ではサーバ又はクライアントマシンとして、又はピアツーピア（又は分散型）ネットワーク環境ではピアマシンとして動作することができる。この機械は、パーソナルコンピュータ（ＰＣ）、ウェブ機器、ネットワークルータ、スイッチ又はブリッジ、又はこの機械が取るべき行動を指定する（順次的な又はそれ以外の）命令セットを実行できるいずれの機械であってもよい。さらに、単一の機械のみを示しているが、「機械」という用語は、本明細書で説明した方法のいずれか１つ又はそれ以上を実施するための命令セット（又は複数の命令セット）を個別に又は共同して実行するあらゆる機械の集合を含むとも理解すべきである。ネットワークを介して（有線、無線、又は有線と無線の組み合わせなどにより）リンクされるローカルな及び遠隔的なコンピュータシステムがタスクを実行する分散型システム環境内で実施形態例を実施することもできる。分散型システム環境では、プログラムモジュールがローカルな及び遠隔的なメモリストレージ装置（下記を参照）内に位置することができる。
【００５７】
コンピュータシステム例２５００は、（ＣＰＵ、グラフィック処理装置（ＧＰＵ）又はこれらの両方などの）プロセッサ２５０２、メインメモリ２５０１及び静的メモリ２５０６を含み、これらはバス２５０８を介して互いに通信する。コンピュータシステム２５００は、（液晶ディスプレイ（ＬＣＤ）又はブラウン管（ＣＲＴ）などの）ビデオディスプレイユニット２５１０をさらに含むことができる。コンピュータシステム２５００はまた、（キーボードなどの）英数字入力装置２５１７、（マウスなどの）ユーザインターフェイス（ＵＩ）カーソルコントローラ２５１１、ディスクドライブユニット２５１６、（スピーカなどの）信号生成装置２５５６、及び（送信器などの）ネットワークインターフェイス装置２５９９も含む。
【００５８】
ディスクドライブユニット２５１６は、本明細書で示した方法又は機能のいずれか１つ又はそれ以上により具体化又は利用される１又はそれ以上の命令セット及び（ソフトウェアなどの）データ構造を記憶する機械可読媒体２５５７を含む。ソフトウェアはまた、コンピュータシステム２５００、メインメモリ２５０１、及び機械可読媒体も構成するプロセッサ２５０２によるソフトウェアの実行中に、メインメモリ２５０１内に、及び／又はプロセッサ２５０２内に完全に又は少なくとも部分的に存在することもできる。
【００５９】
（ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セッション開始プロトコル（ＳＩＰ）などの）いくつかの周知の転送プロトコルのいずれか１つを使用して、ネットワークインターフェイス装置２５９９を通じてネットワーク２５２６を介して、命令２５２５をさらに送信又は受信することができる。
【００６０】
いくつかの実施形態例では、取り外し可能物理記憶媒体を単一の媒体であるように示しているが、「機械可読媒体」という用語は、１又はそれ以上の命令セットを記憶する（集中形又は分散型データベース、及び／又は関連キャッシュ及びサーバなどの）単一の媒体又は複数の媒体を含むと理解すべきである。「機械可読媒体」という用語はまた、機械により実行されるための命令セットを記憶、符号化、又は搬送できる、及び本明細書で示す方法の１又はそれ以上のいずれかを機械に実行させるあらゆる媒体を含むとも理解すべきである。したがって、「機械可読媒体」という用語は、以下に限定されるわけではないが、固体メモリ、光媒体及び磁気媒体、及び搬送波信号を含むと理解すべきである。
【００６１】
市場への適用
いくつかの実施形態例では、トランザクションアクセラレータが、サービスの提供先であるＬＡＮから離れて位置し、複数の顧客及び関連するＬＡＮにサービスを提供できるようにされる。トランザクションアクセラレータのＷＡＮ最適化構成要素を実行するコンピュータシステムの仮想化、及び特定のネットワークリソースの仮想化により、単一のトランザクションアクセラレータが複数のクライアント及び関連するＬＡＮにサービスを提供できるようになる。
【００６２】
本開示の要約書は、読者が技術的開示の本質をすばやく確認できるようにする要約を求める米国特許法施行規則第１.７２条（ｂ）に準拠するように提供するものである。この要約書は、特許請求の範囲及び意味を解釈又は限定するために使用されるものではないという理解とともに提出される。また、上述の詳細な説明では、本開示を合理化するために様々な特徴を単一の実施形態にまとめていることがわかる。この開示方法は、請求する実施形態が、個々の請求項に明確に示す特徴よりも多くの特徴を必要とするという意図を反映したものであると解釈すべきではない。むしろ、以下の特許請求の範囲に反映されるように、発明の主題は、単一の開示した実施形態の全てよりも少ない特徴に存在する。したがって、以下の特許請求の範囲は、本明細書により詳細な説明に組み込まれ、個々の請求項は別個の実施形態として自立するものである。
【図１】
2014039343.tif 000003
【図２】
2014039343.tif 000004
【図３】
2014039343.tif 000005
【図４】
2014039343.tif 000006
【図５】
2014039343.tif 000007
【図６】
2014039343.tif 000008
【図７】
2014039343.tif 000009
【図８】
2014039343.tif 000010
【図９】
2014039343.tif 000011
【図１０】
2014039343.tif 000012
【図１１】
2014039343.tif 000013
【図１２】
2014039343.tif 000014
【図１３】
2014039343.tif 000015
【図１４】
2014039343.tif 000016
【図１５】
2014039343.tif 000017
【図１６】
2014039343.tif 000018
【図１７】
2014039343.tif 000019
【図１８】
2014039343.tif 000020
【図１９】
2014039343.tif 000021
【図２０】
2014039343.tif 000022
【図２１】
2014039343.tif 000023
【図２２】
2014039343.tif 000024
【図２３】
2014039343.tif 000025
【図２４】
2014039343.tif 000026
【図２５】
2014039343.tif 000027
【手続補正書】
【提出日】平成25年12月26日(2013.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータシステムにおいて、ワイドエリアネットワーク（ＷＡＮ）のプロバイダエッジ（ＰＥ）ルータを介して第１のローカルエリアネットワーク（ＬＡＮ）から第１のデータを受信するステップと、
前記第１のデータについて前記ＷＡＮを横切る第１の送信ルートを決定するステップと、
前記第１のデータに対して第１の最適化動作を実行するステップと、
前記最適化された第１のデータを少なくとも１つの第１のデータパケットとして、前記第１の送信ルートに基づいて前記ＷＡＮのＰＥルータを介して前記コンピュータシステムから送信するステップと、
を含むことを特徴とするコンピュータ実行方法。
【請求項２】
前記最適化動作は、前記第１のデータを圧縮するステップ、前記第１のデータをキャッシュするステップ、前記第１のデータをトンネリングするステップ及び前記第１のデータについてローカル送信確認を行うステップのうちの少なくとも１つを含む、
ことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項３】
前記コンピュータシステムにおいて、前記ＷＡＮのＰＥルータを介して第１のＬＡＮから第２のデータを受信するステップと、
前記第２のデータについて前記ＷＡＮを横切る第２の送信ルートを決定するステップと、
前記第２のデータに対して第２の最適化動作を実行するステップと、
前記最適化された第２のデータを少なくとも１つの第２のデータパケットとして、前記第２の送信ルートに基づいて前記ＷＡＮのＰＥルータを介して前記コンピュータシステムから送信するステップと、
を更に含むことを特徴とする請求項１に記載のコンピュータ実行方法。
【請求項４】
前記第１のＬＡＮは第１の顧客によって使用され、
前記第２のＬＡＮは第２の顧客によって使用される、
ことを特徴とする請求項３に記載のコンピュータ実行方法。
【請求項５】
前記第１の送信ルートを決定するステップ、前記第１の最適化動作を実行するステップ及び前記最適化された第１のデータを送信するステップのうちの少なくとも１つは、前記コンピュータシステム上で動作する第１のオペレーティングシステムを使用して行われ、
前記第２の送信ルートを決定するステップ、前記第２の最適化動作を実行するステップ及び前記最適化された第２のデータを送信するステップのうちの少なくとも１つは、前記コンピュータシステム上で動作する第２のオペレーティングシステムを使用して行われる、
ことを特徴とする請求項３に記載のコンピュータ実行方法。
【請求項６】
前記第１のオペレーティングシステムは、前記第２のオペレーティングシステムと異なるタイプのオペレーティングシステムである、
ことを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項７】
前記第１のオペレーティングシステムに割り当てられた前記コンピュータシステムの第１のハードウェアリソースは、前記第２のオペレーティングシステムに割り当てられた前記コンピュータシステムの第２のハードウェアリソースと異なる、
ことを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項８】
前記第１のオペレーティングシステムは、前記コンピュータシステム上で動作するホストオペレーティングシステム及び仮想マシンモニタのうちの１つを介して、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも１つにアクセスする第１のゲストオペレーティングシステムを含み、
前記第２のオペレーティングシステムは、ホストオペレーティングシステム及び仮想マシンモニタのうちの１つを介して、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも１つにアクセスする第２のゲストオペレーティングシステムを含む、
ことを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項９】
前記第１のオペレーティングシステムは、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも１つにアクセスする第１のオペレーティングシステムタイプの第１のインスタンスを含み、
前記第２のオペレーティングシステムは、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも１つにアクセスする前記第１のオペレーティングシステムタイプの第２のインスタンスを含む、
ことを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項１０】
少なくとも１つのプロセッサと、該少なくとも１つのプロセッサによって実行される命令を含むメモリとを備えるワイドエリアネットワーク（ＷＡＮ）最適化装置において、
前記命令が実行されると、前記ＷＡＮ最適化装置が、
ワイドエリアネットワーク（ＷＡＮ）のプロバイダエッジ（ＰＥ）ルータを介して第１のローカルエリアネットワーク（ＬＡＮ）から第１のデータを受信するステップと、
前記第１のデータについて前記ＷＡＮを横切る第１の送信ルートを決定するステップと、
前記第１のデータに対して第１の最適化動作を実行するステップと、
前記第１の送信ルートに基づいて前記ＷＡＮのＰＥルータを介して前記最適化された第１のデータを少なくとも１つの第１のデータパケットとして送信するステップと、
を含む動作を実行することを特徴とするＷＡＮ最適化装置。