(58)【調査した分野】(Int.Cl.,DB名)
コンピュータシステムにおいて、第1のデータがワイドエリアネットワーク(WAN)を横切って送信される前に、WANのプロバイダエッジ(PE)ルータを介して第1のローカルエリアネットワーク(LAN)から第1のデータを受信するステップと、
前記第1のデータについて前記WANを横切る第1の送信ルートを決定するステップと、
前記第1のデータに対して前記WANを横切って送信するように第1のデータを最適化する第1の最適化動作を実行するステップと、
前記最適化された第1のデータを少なくとも1つの第1のデータパケットとして、前記第1の送信ルートに基づいて前記WANのPEルータを介して前記コンピュータシステムから送信するステップと、
を含み、
前記第1の最適化動作は、前記第1のデータを圧縮するステップ、前記第1のデータをキャッシュするステップ、前記第1のデータをトンネリングするステップ及び前記第1のLANを通して第1のデータのソースに対して前記第1のデータについてのローカル送信確認を行うステップのうちの少なくとも1つを含む、
ことを特徴とするコンピュータ実行方法。
前記コンピュータシステムにおいて、第2のデータが前記WANを横切って送信される前に、前記WANのPEルータを介して前記第1のLANとは異なる第2のLANから第2のデータを受信するステップと、
前記第2のデータについて前記WANを横切る第2の送信ルートを決定するステップと、
前記第2のデータに対して前記WANを横切って送信するように第2のデータを最適化する第2の最適化動作を実行するステップと、
前記最適化された第2のデータを少なくとも1つの第2のデータパケットとして、前記第2の送信ルートに基づいて前記WANのPEルータを介して前記コンピュータシステムから送信するステップと、
を更に含み、
前記第2の最適化動作は、前記第2のデータを圧縮するステップ、前記第2のデータをキャッシュするステップ、前記第2のデータをトンネリングするステップ及び前記第2のLANを通して第2のデータのソースに対して前記第2のデータについてのローカル送信確認を行うステップのうちの少なくとも1つを含む、
ことを特徴とする請求項1に記載のコンピュータ実行方法。
前記第1の送信ルートを決定するステップ、前記第1の最適化動作を実行するステップ及び前記最適化された第1のデータを送信するステップのうちの少なくとも1つは、前記コンピュータシステム上で動作する第1のオペレーティングシステムを使用して行われ、 前記第2の送信ルートを決定するステップ、前記第2の最適化動作を実行するステップ及び前記最適化された第2のデータを送信するステップのうちの少なくとも1つは、前記コンピュータシステム上で動作する第2のオペレーティングシステムを使用して行われ、前記第1のオペレーティングシステムは前記第2のオペレーティングシステムとは異なる、
ことを特徴とする請求項2に記載のコンピュータ実行方法。
前記第1のオペレーティングシステムに割り当てられた前記コンピュータシステムの第1のハードウェアリソースは、前記第2のオペレーティングシステムに割り当てられた前記コンピュータシステムの第2のハードウェアリソースと異なる、
ことを特徴とする請求項4に記載のコンピュータ実行方法。
前記第1のオペレーティングシステムは、前記コンピュータシステム上で動作するホストオペレーティングシステム及び仮想マシンモニタのうちの1つを介して、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも1つにアクセスする第1のゲストオペレーティングシステムを含み、
前記第2のオペレーティングシステムは、ホストオペレーティングシステム及び仮想マシンモニタのうちの1つを介して、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも1つにアクセスする第2のゲストオペレーティングシステムを含む、
ことを特徴とする請求項4に記載のコンピュータ実行方法。
前記第1のオペレーティングシステムは、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも1つにアクセスする第1のオペレーティングシステムタイプの第1のインスタンスを含み、
前記第2のオペレーティングシステムは、前記コンピュータシステムの複数のハードウェアリソースのうちの少なくとも1つにアクセスする前記第1のオペレーティングシステムタイプの第2のインスタンスを含む、
ことを特徴とする請求項4に記載のコンピュータ実行方法。
少なくとも1つのプロセッサと、該少なくとも1つのプロセッサによって実行される命令を含むメモリとを備えるワイドエリアネットワーク(WAN)最適化装置において、
前記命令が実行されると、前記WAN最適化装置が、
第1のデータがワイドエリアネットワーク(WAN)を横切って送信される前に、WANのプロバイダエッジ(PE)ルータを介して第1のローカルエリアネットワーク(LAN)から第1のデータを受信するステップと、
前記第1のデータについて前記WANを横切る第1の送信ルートを決定するステップと、
前記第1のデータに対して前記WANを横切って送信するように第1のデータを最適化する第1の最適化動作を実行するステップと、
前記第1の送信ルートに基づいて前記WANのPEルータを介して前記最適化された第1のデータを少なくとも1つの第1のデータパケットとして送信するステップと、
を含み、
前記第1の最適化動作は、前記第1のデータを圧縮するステップ、前記第1のデータをキャッシュするステップ、前記第1のデータをトンネリングするステップ及び前記第1のLANを通して第1のデータのソースに対して前記第1のデータについてのローカル送信確認を行うステップのうちの少なくとも1つを含む、動作を実行することを特徴とするWAN最適化装置。
前記第1の送信ルートを決定するステップ、前記第1の最適化動作を実行するステップ及び前記最適化された第1のデータを送信するステップのうちの少なくとも1つは、前記WAN最適化装置上で動作する第1のオペレーティングシステムを使用して行われ、
前記第2の送信ルートを決定するステップ、前記第2の最適化動作を実行するステップ及び前記最適化された第2のデータを送信するステップのうちの少なくとも1つは、前記WAN最適化装置上で動作する第2のオペレーティングシステムを使用して行われ、前記第1のオペレーティングシステムは前記第2のオペレーティングシステムとは異なる、
ことを特徴とする請求項10に記載のWAN最適化装置。
前記第1のオペレーティングシステムに割り当てられた前記WAN最適化装置の第1のハードウェアリソースは、前記第2のオペレーティングシステムに割り当てられた前記WAN最適化装置の第2のハードウェアリソースと異なる、
ことを特徴とする請求項11に記載のWAN最適化装置。
前記第1のオペレーティングシステムは、前記WAN最適化装置上で動作するホストオペレーティングシステム及び仮想マシンモニタのうちの1つを介して、前記WAN最適化装置の複数のハードウェアリソースのうちの少なくとも1つにアクセスする第1のゲストオペレーティングシステムを含み、
前記第2のオペレーティングシステムは、ホストオペレーティングシステム及び仮想マシンモニタのうちの1つを介して、前記WAN最適化装置の複数のハードウェアリソースのうちの少なくとも1つにアクセスする第2のゲストオペレーティングシステムを含む、ことを特徴とする請求項11に記載のWAN最適化装置。
前記第1のオペレーティングシステムは、前記WAN最適化装置の複数のハードウェアリソースのうちの少なくとも1つにアクセスする第1のオペレーティングシステムタイプの第1のインスタンスを含み、
前記第2のオペレーティングシステムは、前記WAN最適化装置の複数のハードウェアリソースのうちの少なくとも1つにアクセスする前記第1のオペレーティングシステムタイプの第2のインスタンスを含む、
ことを特徴とする請求項11に記載のWAN最適化装置。
【図面の簡単な説明】
【0005】
【
図1】WANにゲートウェイを提供する、遠隔に設置されたトランザクションアクセラレータの使用を示す、実施形態例によるシステムの図である。
【
図2】LANを介して実行されるデータセンタにサービスを提供するローカルエリアネットワーク(LAN)の使用を示す、実施形態例によるシステムの図である。
【
図3】複数の顧客LANにサービスを提供する仮想化WAN最適化装置から、ネットワークすなわちWANの遠隔側に位置する対応する一連のWAN最適化装置へのWANを横切るデータ送信経路を示す、実施形態例によるシステムの図である。
【
図4】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャは、WAN最適化装置とPEルータとして示すネットワーク機器との間の単一の物理接続の使用及び802.1Qトランクの使用を含む。
【
図5】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャ例は、WAN最適化装置とプロバイダエッジ(PE)ルータとして示すネットワーク機器との間の2つの物理接続の使用を含む。
【
図6】複数のネットワーク機器にサービスを提供するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【
図7】共通論理仮想ルーティング/転送(VRF)テーブルを利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャを示すシステム図である。
【
図8】複数のWAN最適化装置と同時に共通VRFoutテーブルを利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【
図9】ポリシーベースのルーティング形態の使用を示す、トランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【
図10】異なる物理インターフェイスを含むポリシーベースのルーティング形態を利用するトランザクションアクセラレータの、実施形態例によるアーキテクチャの図である。
【
図11】トランザクションアクセラレータの、実施形態例によるアーキテクチャの図であり、このアーキテクチャ例は、WAN最適化装置と、PEルータとして示すネットワーク機器との間の2つの物理接続の使用を含む。
【
図12】VRFoutテーブルを使用する、実施形態例によるトランザクションアクセラレータのブロック図である。
【
図13】トンネリングを使用してデータパケットを送信する、実施形態例によるトランザクションアクセラレータのブロック図である。
【
図14】複数のWAN最適化装置を使用する、実施形態例によるトランザクションアクセラレータのブロック図である。
【
図15】ホストオペレーティングシステム技術を利用してコンピュータシステムに仮想化を提供するWAN最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【
図16】仮想マシン技術を利用して特定のコンピュータシステムに仮想化を提供するWAN最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【
図17】オペレーティングシステム(OS)レベルにおける仮想化を利用して特定のコンピュータシステムに仮想化を提供するWAN最適化装置の、実施形態例によるソフトウェアアーキテクチャのブロック図である。
【
図18】実施形態例による、トランザクションアクセラレータを使用して複数のLANトラフィックを最適化する方法を示すフロー図である。
【
図19】顧客固有データパケットを生成するために使用する、実施形態例による方法を示すフロー図である。
【
図20】仮想システムリソースを割り当てる動作を実行するために使用する、実施形態例による方法を示すフロー図である。
【
図22】宛先アドレスの検索を行うために使用する、実施形態例による方法を示すフロー図である。
【
図23】実施形態例による転送情報ベース(FIB)及びこの中に含まれる様々なルーティングテーブルを示す図である。
【
図24】実施形態例による、最適化済みの顧客固有データパケットの図である。
【
図25】実施形態例による、コンピュータシステムの形の機械の略図表示を示す図である。
【発明を実施するための形態】
【0006】
いくつかの実施形態例では、1又はそれ以上のローカルエリアネットワーク(LAN)にサービスを提供するトランザクションアクセラレータの遠隔設置を可能にするシステム及び方法を示す。いくつかの実施形態例では、このトランザクションアクセラレータが、WAN最適化装置、ネットワーク機器、及び、WAN最適化装置とネットワーク機器の間の物理接続又は論理接続を含むことができる。いくつかの実施形態例は、スイッチ、ブリッジ、ルータ又は他の何らかの適当なレイヤ2又はレイヤ3対応装置であるネットワーク機器を含むことができる。いくつかの実施形態例では、ネットワーク機器をPEルータとすることができる。さらに、レイヤ2又はレイヤ3は、例えば、開放型システム間相互接続(OSI)基本参照モデル又は伝送制御プロトコル/インターネットプロトコル(TCP/IP)プロトコルスタックモデル内で定義されるレイヤ又はレベルを意味することができる。いくつかの実施形態例では、この物理接続又は論理接続が仮想ローカルエリアネットワーク(VLAN)をサポートできるとともに、802.1Q規格又は他の何らかの適当なネットワークセグメンテーション規格を利用することができる。
【0007】
いくつかの実施形態例は、複数のクライアントLANにサービスを提供するためのWAN最適化装置の使用を含むことができる。例えば、1つの実施形態例では、WAN最適化装置は、例えば、準仮想化、仮想マシン、又はOSレベルでの仮想化を含む様々な仮想化形態の1又はそれ以上を実行するコンピュータシステムである。これらの仮想化形態の1又はそれ以上を実行することにより、コンピュータシステムのリソースをクライアントLANの間で効率的に分割することができる。これらのコンピュータシステムリソースとして、例えば、ディスク割当て要件、入力/出力(I/O)速度限界、メモリ限界、CPU割当て、又はネットワークインターフェイスの効率的利用を挙げることができる。例えば、1つの実施形態例では、コンピュータシステム上で複数のOS(まとめて仮想化OSと呼ぶ)を実行して、個々のOSがその使用に特異的に割り当てられたコンピュータシステムリソースを利用するようにする。特定のクライアントLANがこれらのOSの各々を独占的に利用することができ、これらのOSの各々をこのような目的専用のものとすることができる。例えば、1つの実施形態例では、コンピュータシステム上に存在するこれらの仮想化OSの1つが、1又はそれ以上のネットワーク機器を独占的に管理することができる。これらの管理されたネットワーク機器は、別々の物理装置であるという観点からこれら自体が現実的なものであってもよく、或いは仮想化OSとともにコンピュータシステム上の別のアプリケーションとして存在してもよい。
【0008】
特定の実施形態例では、WAN最適化エンジンを実行するコンピュータシステムは仮想化を使用することができず、むしろ一連の専用コンピュータシステムを実行することができる。これらのコンピュータシステムの各々は、特定のLANにサービスを提供することを専用とするものであってもよい。さらに、これらのコンピュータシステムの各々は、特定のLANにサービスを提供する過程において、PEなどの特定のネットワーク機器を利用することができる。
【0009】
いくつかの実施形態例では、ネットワーク設定において仮想化の概念を適用して、仮想化OSを実行する単一のコンピュータシステムが複数のクライアントLANのネットワークトラフィックを管理できるようにすることができる。VLAN及びこの関連技術は、単一の物理ネットワークを複数のVLANに区分できるようにする技術である。さらに、これらのVLANの各々が特定のクライアントLANにサービスを提供することができる。
1つの実施形態例では、WAN最適化装置により、TCP/IPベースのデータパケットにVLANヘッダが適用される。このVLANヘッダは、特定のクライアントLANへ送信される予定のTCP/IPベースのデータパケットを識別する一意識別型VLAN IDを含む。
【0010】
いくつかの実施形態例は、特定のクライアントLANのネットワークトラフィックを管理するための仮想化OSの使用を含むことができ、この管理はVLAN技術の使用を含む。VLANを介したOS及びネットワークトラフィックの仮想化を通じて、コンピュータシステムリソースを効率的に使用できるだけでなく、ネットワークリソースを効率的に使用することもできる。具体的には、例えば、仮想ルーティング/転送(VRP)とともにVLANを使用することにより、ネットワーク内のアドレス空間が重なり合うことができるようになる。いくつかの実施形態例では、VRFテーブル、及び/又はVRF又はVRFテーブルに関連する転送情報ベース(FIB)テーブルにVRFアドレス空間を含めることができる。アドレス空間が重なり合うことにより、同じ物理的環境内で二重アドレスを使用できるようになる。
【0011】
1つの実施形態例では、このトランザクションアクセラレータが、クライアントLANから離れて配置されるとともに、(コアネットワークなどの)WAN、及びクライアントの追加LANにゲートウェイを提供することにより、このクライアントLANにサービスを提供する。例えば、1つの実施形態では、WAN最適化装置がPEルータに動作可能に接続され(例えば、論理接続又は物理接続され)、このPEルータが、1又はそれ以上の顧客エッジ(CE)ルータから(上述したTCP/IPデータパケットなどの)ネットワークトラフィックを受け取る。仮想化OS及びVLAN技術を使用して、このネットワークトラフィックを分離し、場合によっては(VLANヘッダ及び/又はマルチプロトコルラベルスイッチング(MPL)などの)追加ヘッダを使用して改称する。分離されると、ネットワークトラフィックが宛先クライアントLANへ送信される。例えば、LANを介して実行されるデータセンタの形をとるクライアントLANが、データセンタから離れて位置するオフィスの形をとる別のクライアントLANへWANを介してデータを送信することができる。
【0012】
また、いくつかの実施形態例では、複数のトランザクションアクセラレータを実行して、第1のトランザクションアクセラレータが第2のトランザクションアクセラレータとデータを交換できるようにすることができる。例えば、第1のトランザクションアクセラレータが、1又はそれ以上のLANのためのWANへのゲートウェイとして機能することができる一方で、第2のトランザクションアクセラレータが、1又はそれ以上の異なるLANのためのWANへのゲートウェイとして機能することができる。第1のトランザクションアクセラレータの一部として存在するWAN最適化装置により、WANにルーティングされる(データパケットなどの)データトラフィックを最適化することができる。この最適化は、データを圧縮する形、データをキャッシュする形、データをトンネリングする形、TCP/IPウィンドウサイズを変更する形、ローカルTCP確認応答を提供する形、又はデータに対して他の何らかの適当な最適化技術を実行する形を取ることができる。最適化されると、第1のトランザクションアクセラレータにより、このデータをWANの遠隔側に位置する第2のトランザクションアクセラレータへ送信することができる。
【0013】
図1は、遠隔に設置されたトランザクションアクセラレータの使用を示すシステム例100の図であり、これらのトランザクションアクセラレータがWANにゲートウェイを提供する。LAN101、LAN102及びLAN104を示している。これらのLANの各々は、コアネットワークとして機能するWAN103によりサービスを受ける。
【0014】
いくつかの実施形態例では、これらのLAN101、102及び104の各々が、いくつかのネットワーク機器及びコンピュータシステムを含む。LAN101に関して言えば、LAN101は、CEルータ108の形のネットワーク装置を含む。このCEルータ108は、例えば、コンピュータシステム105、コンピュータシステム106及びコンピュータシステム107にサービスを提供する。これらのコンピュータシステム105〜107の各々及びCEルータ108はLAN101内に存在する。LAN102に関して言えば、LAN102はCEルータ110を含む。このCEルータ110は、コンピュータシステム109及びコンピュータシステム111にサービスを提供し、これらの両方もまたLAN102内に存在する。このLAN101及びLAN102は、WAN103によりサービスを受ける。このWAN103内には複数のトランザクションアクセラレータ112が含まれる。いくつかの実施形態例では、1つのトランザクションアクセラレータのみを使用して1又はそれ以上のLANにサービスを提供することができる。
【0015】
いくつかの実施形態例は、例えば、1又はそれ以上のネットワーク機器にサービスを提供するWAN最適化装置を含むこれらのトランザクションアクセラレータの各々を含むことができる。1つの実施形態例では、トランザクションアクセラレータ112が、WAN最適化装置113及び1又はそれ以上のネットワーク機器114を含む。このネットワーク機器114は、例えばPEルータであってもよい。さらに、トランザクションアクセラレータ112の別の実施形態例では、トランザクションアクセラレータ112が、1又はそれ以上のネットワーク機器116にサービスを提供するWAN最適化装置115を含む。いくつかの実施形態例では、このネットワーク機器116はPEルータであってもよい。いくつかの実施形態例では、さらなるトランザクションアクセラレータ112が例えばWAN最適化装置117を含み、これがさらにネットワーク機器118にサービスを提供する。このネットワーク機器118は、例えばPEルータであってもよい。いくつかの実施形態例は、LAN101及び102に加え、LAN104にもサービスを提供するこのWAN103を含むことができる。LAN104は、例えばCEルータ119を含むことができ、これがさらに、全てLAN104内に存在するコンピュータシステム120、121及び123にサービスを提供する。
【0016】
いくつかの実施形態例では、以下でより完全に説明するように、LAN101及び102、及びこれらの中に含まれるコンピュータシステム及びネットワーク機器が、トランザクションアクセラレータ112の1又はそれ以上を利用してWAN103を横切ってデータを送信することができる。その後、これらのトランザクションアクセラレータ112は、LAN101及び102内に存在するこれらの様々なコンピュータシステムにより送信されたデータを、LAN104及びこの中に存在する(コンピュータシステム120、121及び123などの)様々なコンピュータシステムへさらに転送することができる。
【0017】
いくつかの実施形態例では、トランザクションアクセラレータが、LAN101、102及び104を構成する装置及びネットワークとは異なる物理的場所に保持される。具体的には、トランザクションアクセラレータ112が、LANの場所から物理的に離れた場所に保持される。例えば、トランザクションアクセラレータ112をLANの物理的場所から物理的に離れたネットワークサービスセンタに保持して、少なくとも1つのトランザクションアクセラレータ112を含む1つのサービスセンタが複数のLANにサービスを提供できるようにすることができる。
【0018】
図2は、データセンタにサービスを提供するためのLAN204の使用を示すシステム例200の図であり、このデータセンタはLAN204を介して実行される。コンピュータシステム205、206及び207を含むLAN201を示しており、これらの各々はCEルータ208によりサービスを受ける。さらに、コンピュータシステム209及び211を含むLAN202を示しており、これらの各々はCEルータ210によりサービスを受ける。これらのLAN201及び202の各々はさらに、WAN203の一部として存在する1又はそれ以上のトランザクションアクセラレータ112によりサービスを受ける。いくつかの実施形態例では、複数のトランザクションアクセラレータ112を使用して、LAN201、202及びこの中に存在する様々なコンピュータシステム及び(CEルータ208及びCEルータ210などの)ルータにサービスを提供することができる。
【0019】
例えば、1つの実施形態では、トランザクションアクセラレータ112がWAN最適化装置213を含むことができ、これを使用して1又はそれ以上のネットワーク機器214にサービスを提供することができる。さらに、別の実施形態例では、トランザクションアクセラレータ112がWAN最適化装置215を含むことができ、これを使用して1又はそれ以上のネットワーク機器216にサービスを提供することができる。いくつかの実施形態例では、トランザクションアクセラレータ112がWAN最適化装置217を含むことができ、これを使用してネットワーク機器218にサービスを提供することができる。
図1の場合と同様に、本明細書に示す様々なトランザクションアクセラレータは、WAN203の一部として存在することができ、したがって、これらを(LAN201、LAN202及びLAN204などの)様々なLANから離して配置することができる。
【0020】
また、
図2にはLAN204の一部として存在するCEルータ219を示しており、このCEルータ219はサーバ220にサービスを提供し、このサーバ220がさらにいくつかのデータベース221、222及び223を実行し、又はこれらにアクセスする。いくつかの実施形態例では、LAN201及び/又はLAN202内に位置する様々なコンピュータシステムが、WAN203及びこの中に存在するトランザクションアクセラレータ112を利用して、LAN204及びこの中に含まれるデータセンタからのデータを要求することができる。このデータをさらにWAN203を介して送信し、これをLAN201が受信することができ、この場合LAN202及び(CEルータ208及びCEルータ210などの)(単複の)CEルータは、これらの2つのLAN201及び202の一部として存在する。以下でより完全に説明するように、様々なアーキテクチャを使用してトランザクションアクセラレータ112を構築することができる。
【0021】
図3は、WAN103を横切るデータの送信経路を示すシステム例300の図である。
いくつかの顧客環境を含む基本的なデータセンタモデルを示している。顧客環境は、例えば、特定の顧客のニーズに特化したハードウェアであってもよい。これらの顧客環境は、VLANを使用してさらにフォーマットすべき(TCP/IPフォーマット済みデータパケットなどの)データパケットの形でデータを送受信することができる。例えば、顧客1環境301を、顧客2環境302、顧客3環境303及び顧客4環境304と同様に示している。いくつかの実施形態例では、これらの環境がWAN103にデータを提供することができ、ここでこのデータが、何らかの種類のプロトコルの一部として存在する何らかの種類の数値基準を通じて一意に識別される。このプロトコルは、例えば、IP、VLANプロトコル、又は他の何らかの適当なプロトコルを含むことができる。
【0022】
いくつかの実施形態例は、例えば、スイッチ305にデータを提供する(301〜304などの)これらの顧客環境の1又はそれ以上を含むことができ、この場合スイッチ305は、TCP/IPスタックモデル又はOSIモデルの観点から理解されるようなレイヤ2又はレイヤ3スイッチであってもよい。その後、このスイッチ305は、例えば802.1Qトランク306を使用して、スイッチ305とWAN最適化装置307との間の(データパケットなどのような)全ての顧客トラフィックをセグメント化することができる。いくつかの実施形態例では、この802.1Qトランク306が、顧客環境301〜304から到来するデータパケットを変換し、変形し、又はこれに追加ヘッダを追加することができる。例えば、このヘッダをVLANヘッダ及び関連するVLAN識別子(ID)に追加することができ、このVLAN IDは、これらのパケット及びその特定の受信者の各々を一意に識別する働きをすることができる。WAN最適化装置307によりこれらのパケットが受信されると、いくつかの実施形態例では、WAN最適化装置307が、例えばVLANを使用してこれらのデータパケットを処理し、その後ラッピング又は別様にパケット化して、これらのパケットをルータ308などのルータへ送信することができる。このルータ308は、何らかの形の物理層又はリンク層プロトコルを使用してこれらのパケットをさらにパケット化又はラッピングすることができる。その後、これらのパケットを、例えば追加のトランザクションアクセラレータ装置112へ送ってさらに処理することができる。さらに、いくつかの実施形態例では、前述したスイッチ305、802.1Qトランク306、及びWAN最適化装置307、並びにルータ308が、WAN103の一部として存在することができる。これらの(スイッチ305、802.1Qトランク306、WAN最適化装置307及びルータ308などの)別個の構成要素の各々を、単一のトランザクションアクセラレータ112からまとめて理解することができる。
【0023】
いくつかの実施形態例では、WAN最適化装置307によってデータパケットを最適化することができる。例えば、本明細書で示すように、最適化したデータパケットをルート309〜311に沿ってトンネリングして1又はそれ以上の受信側トランザクションアクセラレータ112へ送信することができる。受信されると、これらの受信側トランザクションアクセラレータ112は、このデータパケットをさらに処理して1又はそれ以上のLANへ送信することができる。
【0024】
図4は、トランザクションアクセラレータ112のアーキテクチャ例の図であり、このアーキテクチャは、WAN最適化装置とネットワーク機器との間の単一の物理接続の使用を含む。このネットワーク機器は、802.1Qトランクを使用するPEルータとして示されている。何らかの種類のネットワーク接続を横切ってPEルータ408へデータパケットを送信するCEルータ401を示している。このPEルータ408の一部として、VRFinテーブル406が存在することができる。このデータパケットが受信されバッファリングされると、データパケット内のヘッダから取り出された情報に基づいて、VRFinテーブル406内に含まれる宛先アドレスの検索を行うことができる。その後、この検索結果に基づいて、VLAN IDを含むVLANヘッダをデータパケットに添付することができる。具体的には、VLAN ID X402モジュールが、VLAN IDを一般化VLANパケットヘッダの一部としてデータパケットに付加することができる。この宛先アドレスは、IPアドレス又は他の何らかの適当なアドレスであってもよい。いくつかの実施形態例では、VLAN ID X402モジュールがPEルータ408の一部として存在することができる。他のいくつかの実施形態例では、VLAN ID X402モジュールがWAN最適化装置404の一部として存在することができる。このVLANパケットヘッダがVRFin 406テーブルに含まれるデータパケットに付加されると、これらのデータパケットが、802.1Qトランク405の形の物理インターフェイスを横切ってWAN最適化装置404へ送信される。WAN最適化装置404は、例えば、データを圧縮し、データをキャッシュし、データをトンネリングし、TCP/IPウィンドウサイズを変更し、ローカルTCP確認応答を提供し、又はデータに対して他の何らかの適当な最適化技術を実行することによりデータパケットを最適化することができる。
さらなるVLAN ID Y403モジュールを使用して、第2のVLAN IDを添付し、又は別様にこの第2のVLAN IDを新しいVLANヘッダの一部にすることができる。いくつかの実施形態例では、このVLAN ID Y403モジュールがPEルータ408の一部として存在することができる。他の実施形態例では、VLAN ID Y403モジュールがWAN最適化装置404の一部として存在することができる。新しいVLANヘッダが添付され、この時点で最適化済みのデータパケットが802.1Qトランク405を横切ってPEルータ408へルーティングされると、VRFout407テーブルを使用してさらなる検索が行われる。その後、データパケットを、例えばWAN 103を横切って送信し、これを例えばPEルータ409又はPEルータ410が受信することができる。これらのPEルータ409及び410は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0025】
図5は、トランザクションアクセラレータ112のアーキテクチャ例の図であり、このアーキテクチャ例は、WAN最適化装置502と(PEルータなどの)ネットワーク機器との間の2つの物理インターフェイスの使用を含む。ネットワークを横切ってPEルータ507へデータパケットを送信するCEルータ501を示している。1つの実施形態例では、TCP/IPヘッダを使用してデータパケットがフォーマットされる。このPEルータ507の一部として、VRFinテーブル508及びVRFoutテーブル509が存在することができる。このPEルータ507にはWAN最適化装置502が接続され、この接続部は、802.1Qトランク503を伴う物理インターフェイス、及び802.1Qトランク503を伴う第2の物理インターフェイスである。データパケットは、802.1Qトランク503を介してWAN最適化装置502に流入し、802.1Qトランク503を介してWAN最適化装置502から流出する。
【0026】
1つの実施形態例では、PEルータ507によりデータパケットが受信されると、VRFinテーブル508を使用してPEルータ507により宛先アドレスの検索が行われる。宛先アドレスが決定された後に、データパケットにVLANヘッダを付加するVLAN ID X505モジュールを実行することができる。このVLANヘッダは、データパケットの受信者を一意に識別することができるVLAN IDを含むことができる。次に、このデータパケットが、例えばWAN最適化装置502に提供される。次に、WAN最適化装置502は、データパケットを例えばトンネリング、圧縮、又はキャッシュすることにより最適化することができる。その後、このWAN最適化装置502は、802.1Qトランク504を使用してデータパケットを送信することができる。このとき、802.1Qトランク504に沿って送信する前に、VLAN ID Y506モジュールを使用して、この時点で最適化済みのデータパケットに新しいVLANヘッダ及びVLAN IDを適用することができる。その他の場合には、新しいVLAN IDを使用してデータパケットをフォーマットすることはできず、VLAN ID X505モジュールにより割り当てられた、以前に利用したVLAN ID及び関連するVLANヘッダを保持することになる。PEルータ507によりデータパケットが受信されると、VRFoutテーブル509を使用して検索を行い、宛先アドレスを決定することができる。このデータパケットをWAN103を横切って送信し、これをPEルータ510及び/又はPEルータ511が受信することができ、これらのPEルータは、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0027】
図6は、複数のネットワーク機器にサービスを提供するトランザクションアクセラレータ112のアーキテクチャ例の図である。データパケットを、例えばPEルータ611へルーティングするCEルータ608、609及び610を示している。例えばTCP/IPヘッダを使用して、これらのデータパケットをフォーマットすることができる。このPEルータ610の一部として、例えばVRFinテーブル612、VRFinテーブル613及びVRFinテーブル614などの複数のVRFinテーブルが存在する。これらのVRFinテーブル612〜614の各々は、それぞれCEルータ608〜610の各々に専用のものである(例えば、CEルータ608はVRFin612に、ルータ609はVRPinルータ613に、などのようにマッピングを行う)。さらに、例えば、VRFoutテーブル615、VRFoutテーブル616及びVRFoutテーブル617などの複数のVRFoutテーブルを示している。これらの(612、613及び614などの)VRFinテーブルの各々、さらにこれらの様々な(615、616及び617などの)VRFoutテーブルには、802.1Qトランク606及び607に集約されるいくつかのVLANインターフェイスが動作可能に接続される。これらの802.1Qトランク606及び607のトラフィックをスイッチ604及び605が管理する。スイッチ604及び605はデータパケットを、例えば複数のWAN最適化装置に導く。これらのWAN最適化装置は、例えば、WAN最適化装置1 601、WAN最適化2 602及びWAN最適化装置3 603を含む。スイッチ605は、これらのWAN最適化装置601、602及び603の各々から802.1Qトランク607を横切ってPEルータ611へ流れるデータパケットを管理する。
【0028】
1つの実施形態例では、例えばCEルータ608により送信されるデータパケットがPEルータ611により受信される。VRFinテーブル612を使用して検索が行われる。さらに、検索結果に基づいてこのデータパケットにVLANヘッダが添付され、このVLANヘッダを含むデータパケットが802.1Qトランク606に沿って送信されて、例えばスイッチ604により受信される。スイッチ604によって受信されると、このVLANヘッダを含むデータパケットが、各々がCE608〜610によりサービスを受けるLANからの又はこのLANへ向かうデータトラフィックをそれぞれ専門に処理するWAN最適化装置601〜603の1つへルーティングされる。VLANヘッダを含むデータパケットは、これらのWAN最適化装置601〜603の1つにおいて受信されたときに最適化される。この最適化は、データパケットに含まれるデータを圧縮する形、データパケット内のデータをキャッシュする形、データパケット内のデータをトンネリングする形、TCP/IPウィンドウサイズを変更する形、ローカルTCP確認応答を提供する形、又はデータに対して他の何らかの適当な最適化技術を実行する形を取ることができる。
その後、この時点で最適化済みのデータパケットがスイッチ605へ送られ、802.1Qトランク607を介してPEルータ611へルーティングされる。いくつかの例では、このルーティング前に、データパケットに新しいVLANヘッダを関連付けることができる。PEルータ611により受信されると、専用のWAN最適化装置601〜603の1つとの接続を提供する802.1Q VLANに各々が関連するVRFoutテーブル615〜617の1つを使用して宛先アドレス検索を行なうことができる。VRF内でこの宛先アドレスが検索されると、WAN103を横切ってパケットを送信し、これを例えばPEルータ618及び/又はPEルータ619が受信することができる。これらのPEルータ618及び619は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0029】
図7は、共通論理VRFテーブルを利用するトランザクションアクセラレータ112のアーキテクチャ例を示すシステム図である。PEルータ707へ1又はそれ以上のデータパケットを送信するCEルータ701、CEルータ702及びCEルータ703を示している。このPEルータ707の一部として、VRFinテーブル708、VRFinテーブル709及びVRFinテーブル710が存在する。また、このPEルータ707の一部として、共通論理VRFテーブル711も存在する。このPEルータ707には、WAN最適化装置704が1又はそれ以上の物理インターフェイスを介して動作可能に接続される。例えば802.1Qトランク705を介して、このWAN最適化装置704を接続することができる。
【0030】
1つの実施形態例では、例えば、CEルータ701によりデータパケットが送信され、これがPRルータ707により受信される。TCP/IPを使用してこのデータパケットをフォーマットすることができる。VRFinテーブル708及びデータパケット内に含まれるTCP/IPヘッダデータを使用して、宛先アドレスの検索を行うことができる。
その後、データパケットにVLANヘッダを付加することができる。このデータパケットが802.1Qトランク705に沿って送信され、これがWAN最適化装置704により受信される。その後、WAN最適化装置704は、例えばデータパケットに含まれるデータを圧縮し、データパケット内のデータをキャッシュし、データパケット内のデータをトンネリングし、TCP/IPウィンドウサイズを変更し、ローカルTCP確認応答を提供し、又はデータに対して他の何らかの適当な最適化技術を実行することによりデータパケットを最適化することができる。特定の例では、WAN最適化装置704が宛先アドレスへのルートを分かっていない場合、データパケットを最適化することができない。WAN最適化装置704は、1又はそれ以上の専用トンネル706を利用することができ、これらのトンネルは、例えばこの時点で最適化済みのデータパケットを特定の宛先アドレスのためにさらに一意に識別する何らかの種類のプロトコルベースのラッパ又はその他の方法であってもよい。例えば、このトンネリングはデータパケットを、例えばヘッダ内に、例えば汎用経路カプセル化(GRE)トンネル、インターネットプロトコルセキュリティ(IPSEC)トンネル又はMPLヘッダの形でラッピングすることを含むことができる。
このような場合、トンネルは、複数のクライアントLANからのトラフィックをセグメント化するために、特定のクライアントLANに対して専用のものとなる。WAN最適化装置704により、データパケットをPEルータ707へ送信することができる。PEルータ707は、共通論理VRPテーブル711を使用して宛先アドレスの検索を行うことができる。最適化されトンネリングされたデータパケットを、例えばWAN103を横切って、例えばPEルータ712又はPEルータ713へ転送することができる。これらのPEルータ712及び713は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0031】
図8は、複数のWAN最適化装置及び共通VRFoutテーブル817を利用するトランザクションアクセラレータ112のアーキテクチャ例の図である。例えばPEルータ810に接続された、CEルータ801、CEルータ802及びCEルータ803を示している。このPEルータ810の一部として、VRFinテーブル812、VRFinテーブル813及びVRFinテーブル814が存在する。さらに、PEルータ810の一部として存在する形で共通論理VRFoutテーブル817も示している。PEルータ810をスイッチ807に動作可能に接続し、及び最終的には、各々がCE801〜803によりサービスを受けるLANからの又はこのLANへ向かうデータトラフィックをそれぞれ専門に処理するWAN最適化装置804〜806の1つに動作可能に接続するのが802.1Qトランク808である。この802.1Qトランク808は、スイッチ807を、何らかの種類の物理インターフェイス及び/又は物理接続を介してPEルータ810に接続することができる。このスイッチ807を使用して、例えばPEルータ810からのトラフィックをルーティングすることができる。
【0032】
1つの実施形態では、CEルータ801が、データパケットをPEルータ810へ送信することができ、ここでこのデータパケットがTCP/IPヘッダを使用してフォーマットされる。PEルータ810により受信されると、データパケットがバッファリングされ、VRFinテーブル812を使用して検索が行われる。データパケットにはVLANヘッダを付加することができ、このデータパケットは、802.1Qトランク808に沿ってスイッチ807へ送信される。その後、このスイッチ807は、データパケットをWAN最適化装置804〜806の1又はそれ以上へルーティングすることができる。このデータパケットがこれらのWAN最適化装置804〜806の1つにおいて受信されると、このデータパケットを最適化することができる。最適化は、データパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、TCP/IPウィンドウサイズを変更すること、ローカルTCP確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みのデータパケットをラッピング又はトンネリングして、トンネル811の1又はそれ以上に沿って送信することができる。これらのトンネルは、データパケットを例えばヘッダ内に、例えばGREトンネル、IPSECトンネル又はMPLヘッダの形でラッピングすることを含むことができる。
このような場合、トンネルは、複数のクライアントLANからのトラフィックをセグメント化するために、特定のクライアントLANに対して専用のものとなる。スイッチ809を使用して、データパケットをトンネル811の1つに沿ってルーティングすることができる。特定の例では、トンネルは特定のクライアントLAN専用のものであってもよい。
共通論理VRFoutテーブル817を使用して、データパケットの宛先アドレスを検索することができる。このデータパケットをWAN103を横切って送信して、これを例えばPEルータ815及び/又はPEルータ816が受信することができる。PEルータ816は、これ自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0033】
図9は、ポリシーベースのルーティング形態の使用を示す、トランザクションアクセラレータのアーキテクチャ例の図である。PEルータ906に動作可能に接続されたCEルータ901を示しており、このPEルータ906はポリシーベースのルーティングVFRテーブル907を含む。このPEルータ906には、VLAN ID Xモジュール904及びVLAN ID Yモジュール905が接続される。さらに、このPEルータ906には802.1Qトランク903が接続される。この802.1Qトランク903は、WAN最適化装置902をPEルータ906にさらに接続する。
【0034】
1つの実施形態例では、CEルータ901がPEルータ906へデータパケットを送信する。PEルータ906により、及び何らかの種類のポリシーベースのルーティング形態に基づいて受信されると、VLAN ID Xモジュール904の実行を通じてデータパケットにVLANヘッダが付加される。このポリシーベースのルーティング形態は、データパケットをWAN103を横切って転送する前に、PEルータ906に入る全てのデータパケットをWAN最適化装置902へルーティングするための命令を含むことができる。さらなるポリシーは、例えば特定のサイズのデータパケット又は特定の種類のプロトコルを利用するパケットを優先することを含むことができる。データパケットが、802.1Qトランク903を横切ってWAN最適化装置902へ送信される。WAN最適化装置902により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、TCP/IPウィンドウサイズを変更すること、ローカルTCP確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。第2のVLAN ID Yモジュール905を実行することができ、このVLAN ID Yモジュール905を使用して、データパケットに異なるVLANヘッダを添付することができる。
ネットワーク管理者により設計され、ポリシーベースのルーティング形態により実施される特定のポリシーを使用して、PEルータ906は、このデータパケットをWAN103を横切って送信し、これを例えばPEルータ908又はPEルータ909が受信することができる。これらのPEルータ908及び909は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0035】
図10は、WAN最適化装置1002とPEルータ1008の間に異なる物理インターフェイスが存在するポリシーベースのルーティング形態を利用するトランザクションアクセラレータのアーキテクチャ例の図である。PEルータ1006に動作可能に接続されたCEルータ1001を示している。このPEルータ1007上には、ポリシーベースのルーティングVFRテーブル1008が存在する。このPEルータ1007は、複数の物理インターフェイスを介してWAN最適化装置1002に接続される。この接続は、例えば802.1Qトランク1003及び802.1Qトランク1004の形をとることができる。
【0036】
いくつかの例では、CEルータ1001が、PEルータ1007へデータパケットを送信することができる。PEルータ1007により受信されると、ポリシーベースのルーティングVFRテーブル1008は、宛先アドレスをWAN最適化装置1002の宛先アドレスとしてリストすることにより、全ての着信データパケットをWAN最適化装置1002へ転送するというポリシーを実施することができる。PEルータ1007が実施できるその他のポリシーとして、データパケットサイズ又はプロトコル要件を考慮することに基づいてデータパケットを優先することを挙げることができる。いくつかの実施形態例では、PEルータ1007により受信されたデータパケットにVLANヘッダを添付することができるVLAN ID Xモジュール1005を実行することができる。VLAN ID Xモジュール1005が実行されると、この時点でVLANヘッダを含むパケットを、前述した802.1Qトランク1003を横切ってWAN最適化装置1002へ送信することができる。WAN最適化装置1002により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、TCP/IPウィンドウサイズを変更すること、ローカルTCP確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。802.1Qトランク1004を横切ってデータパケットを送信することができる。802.1Qトランク1004を横切って送信される前に、VLAN ID Yモジュール1006を実行して、データパケットに異なるVLANヘッダを添付することができる。場合によっては、VLAN ID Yモジュール1006を実行することができない。VLAN ID Yモジュール1006が実行され、データパケットがPEルータ1007において受信されると、このデータパケットをWAN103を横切って送信し、これを例えばPEルータ1009又はPEルータ1010が受信することができる。これらのPEルータ1009及び1010は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0037】
図11は、WAN最適化装置とともに複数のネットワーク機器を使用するトランザクションアクセラレータ112のアーキテクチャ例の図である。PEルータ1107に接続されたCEルータ1101を示している。このPEルータ1107の一部としてVRFinテーブル1108が存在する。場合によっては、このVRFinテーブル1108を、物理インターフェイスを介してWAN最適化装置1102に接続することができる。この接続は、例えば802.1Qトランク1103の形をとることができる。さらに、このWAN最適化装置1102を、物理インターフェイスを介して、さらに802.1Qトランク1104を介してPEルータ1109に接続することができる。このPEルータ1009の一部としてVRFoutテーブル1110が存在する。
【0038】
1つの実施形態例では、CEルータ1101がPEルータ1107へデータパケットを送信する。PEルータ1007により受信されると、データパケットに関連する宛先アドレスを求めてVRFinテーブル1108の検索が行われる。宛先アドレスが決定されると、データパケットにVLANヘッダ及び関連するVLAN IDを付加するVLAN ID Xモジュール1105が実行される。その後、このデータパケットが、前述した802.1Qトランク1103を横切って送信され、これが例えばWAN最適化装置1102により受信される。WAN最適化装置1102により受信されると、このデータパケットを最適化することができる。最適化は、例えばデータパケットに含まれるデータを圧縮すること、データパケット内のデータをキャッシュすること、データパケット内のデータをトンネリングすること、TCP/IPウィンドウサイズを変更すること、ローカルTCP確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みのデータパケットが、802.1Qトランク1104を横切って送信される。場合によっては、データパケットの送信前に、VLAN ID Yモジュール1106を実行して、データパケットに異なるVLANヘッダを添付する。その後、VRFoutテーブル1110を使用して検索を行うことができ、このデータパケットを、WAN103を横切ってPEルータ1111及び/又はPEルータ1112へ送信することができる。これらのPEルータ1111及び1112は、これら自体が追加のトランザクションアクセラレータ112又は複数のトランザクションアクセラレータ112の一部であってもよい。
【0039】
図12は、コンピュータシステム1200及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、第1の物理インターフェイスを介してWAN最適化装置に動作可能に接続された、VRFを実行するように構成されたネットワーク機器1201を示している。ネットワーク機器上に存在する、第1のVRFinルーティングテーブルを有する第1のデータストアも示している。さらに、ネットワーク機器上に存在する、第2のVRFoutルーティングテーブルを有する第2のデータストアも示している。いくつかの実施形態例は、第2の物理インターフェイスを介してWAN最適化装置に動作可能に接続された、VRFを実行するように構成されたネットワーク機器を含むことができる。また、いくつかの実施形態例では、ネットワーク機器が、ポリシーベースのルーティングを実施するように構成される。いくつかの例では、ネットワーク機器が、第2の物理インターフェイスを介してWAN最適化装置に動作可能に接続される。いくつかの実施形態例では、別のネットワーク(図示せず)機器が、第2の物理インターフェイスを介してWAN最適化装置に動作可能に接続される。
【0040】
図13は、コンピュータシステム1300及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、物理インターフェイスを介してWAN最適化装置に動作可能に接続された、VRFを実行するように構成されたネットワーク機器1301を示している。また、各々が単一のVRFinルーティングテーブルを有する複数のVRFinデータストア1302を示している。さらに、いくつかの実施形態例では、VRFoutルーティングテーブルを有する単一の共通データストアを示している。いくつかの例では、物理インターフェイスが802.1Qトランクに動作可能に接続される。また、いくつかの実施形態例では、複数のトンネル1304をWAN最適化装置に動作可能に接続された形で示しており、これらの複数のトンネルの各々は、物理接続又は論理接続の少なくとも一方を含む接続によりLANに動作可能に接続される。いくつかの実施形態例では、単一の共通データストアが共通論理データストアである。いくつかの実施形態例では、ネットワーク機器がPEルータである。
【0041】
図14は、コンピュータシステム1400及びこの中に存在する様々なブロックのブロック図である。これらのブロックは、ハードウェア、ソフトウェア又はファームウェアの形で実現することができる。いくつかの実施形態例では、複数の第1の物理インターフェイスを介して複数のWAN最適化装置に動作可能に接続された、VRFを実行するように構成されたネットワーク機器1401を示している。また、いくつかの実施形態例では、各々がVRFinルーティングテーブルを有する複数のVRFinデータストア1402を示している。いくつかの実施形態例では、各々がVRFoutルーティングテーブルを有する複数のVRFoutデータストア1403を示している。いくつかの実施形態例では、ネットワーク機器及びWAN最適化装置が、複数の第2の物理インターフェイスを介して接続される。いくつかの実施形態例は、複数の第1の物理インターフェイスを介して受信されたデータパケットを管理するためのスイッチ1404を含むことができる。また、いくつかの実施形態例では、複数の第2の物理インターフェイスを介して受信されたデータパケットを管理するためのスイッチ1405を示している。いくつかの実施形態例では、共通VRFoutルーティングテーブル1406を示している。
【0042】
図15は、ホストオペレーティングシステム技術を利用して特定のコンピュータシステムに仮想化を提供するWAN最適化装置1500のソフトウェアアーキテクチャ例のブロック図である。このWAN最適化装置1500は、例えば前述したWAN最適化装置113、115及び/又は117であってもよい。ホストオペレーティングシステムと表記したレイヤ1504を示しており、このレイヤ1504は、このレイヤ1504の上部に存在するさらなる機能レイヤを管理する働きをする。さらに、このレイヤ1504に存在するホストオペレーティングシステムは、例えば、中央処理装置(CPU)、(磁気ドライブ又は光ドライブなどの)永続ストレージ、ランダムアクセスメモリ(RAM)又はその他のハードウェアリソースなどの、様々なコンピュータシステムハードウェアリソースへのインターフェイスを提供することができる。レイヤ1504上には、ゲストOSと表記したレイヤ1503が存在する。いくつかの実施形態例では、ここではレイヤ1503で示す複数のゲストOSが、個々のゲストOSが同じレイヤの一部として存在する他のゲストOSに気付くように移植される。レイヤ1503内に示すこれらのゲストOSを、レイヤ1504により管理することができる。いくつかの実施形態例では、これらの様々なゲストOSのインスタンスは、同じ又は異なるオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばLinux(登録商標)、マイクロソフトウインドウズ(登録商標)又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。このレイヤ1503の上部には、様々な仮想ルータを含むレイヤ1502が存在する。これらの仮想ルータを、レイヤ1503及びこの様々なゲストオペレーティングシステムにより管理することができる。例えば、単一の仮想ルータを単一のゲストOSにより管理することができる。さらに、レイヤ1502の上部には、様々なルーティングエンジンを含むレイヤ1501が存在する。これらのルーティングエンジンを、レイヤ1502及びこの様々な仮想ルータにより管理することができる。例えば、単一のルーティングエンジンを単一の仮想ルータにより管理することができる。さらに、レイヤ1501において概説したこれらのルーティングエンジンは、例えばVRFinテーブル708〜710などの複数のVRFinテーブルにアクセスすることができ、同様に例えばVRFoutテーブル509及びVRFoutテーブル615〜617など複数のVRFoutテーブルにアクセスすることもできる。いくつかの実施形態例では、仮想化を使用して、ディスク割当て、入出力(I/O)速度限界、メモリ限界、CPU割当て、及び様々なネットワークインターフェイス及び関連するネットワークトラフィックを含む様々なシステムリソース及びこれに関連する限界を管理することができる。
【0043】
いくつかの実施形態例では、この仮想マシンを通じて、及び特にこの仮想マシンを利用するWAN最適化装置1500の使用を通じて複数の顧客にサービスを提供することができ、これに含まれる各々の顧客が、この仮想マシンに関連する複数の宛先アドレスを有する。特定の状況では、この仮想マシンを使用することにより、宛先アドレス及びこのアドレスの各々に関連する一意性に関して重複が存在することができる。例えば、レイヤ1503及びこの中に含まれるゲストOSが、このレイヤ1503の一部として存在し得るその他のゲストOSに割り当てられたシステムリソースにアクセスできないという事実により、この重複を可能にすることができる。例えば、特定区域のハードドライブが、特定のゲストOSにより制御されるVRFinテーブルのために予約されていた場合、その他のゲストOS及び関連する仮想ルータ及びルーティングエンジンは、この特定のディスク空間にアクセスすることができない。
【0044】
図16は、仮想マシン技術を利用して特定のコンピュータシステムに仮想化を提供するWAN最適化装置1600のソフトウェアアーキテクチャ例のブロック図である。いくつかの実施形態例では、このWAN最適化装置1600は、例えばWAN最適化装置113、115及び/又は117であってもよい。いくつかの機能のレイヤとしてブロックの形で示されるWAN最適化装置1600を示している。例えば、仮想マシンモニタとして参照されるレイヤ1604を示している。いくつかの実施形態例では、この仮想マシンモニタは、例えばCPU、(磁気ドライブ又は光ドライブなどの)永続ストレージ、RAM又はその他のハードウェアリソースなどの様々なコンピュータシステムハードウェアリソースへのインターフェイスを提供することができる。さらに、レイヤ1604上に存在する、複数のゲストOSで構成されたレイヤ1603を示している。これらのゲストOSはさらに、様々な仮想ルータを含むレイヤ1602を管理又は制御することができる。いくつかの実施形態例では、これらの様々なゲストOSのインスタンスは、同じ又は異なるオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばLinux(登録商標)、マイクロソフトウインドウズ(登録商標)又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。さらに、このレイヤ1603は、レイヤ1604及びこれに含まれる仮想マシンモニタを使用することにより、様々なシステムリソースを利用することができる。また、複数の仮想ルータを含むレイヤ1602も示している。このレイヤ1602はさらに、複数のルーティングエンジンを含むレイヤ1601を制御及び別様にサポートすることができる。これらのルーティングエンジンは、例えばVRFinテーブル708〜710などの複数のVRFinテーブルにアクセスすることができ、同様に例えばVRFoutテーブル509及びVRFoutテーブル615〜617など複数のVRFoutテーブルにアクセスすることもできる。
【0045】
いくつかの実施形態例では、この仮想マシンを通じて、及び特にこの仮想マシンを利用するWAN最適化装置1600の使用を通じて複数の顧客にサービスを提供することができ、これに含まれる各々の顧客が、この仮想マシンに関連する複数の宛先アドレスを有する。特定の状況では、この仮想マシンを使用することにより、宛先アドレス及びこのアドレスの各々に関連する一意性に関して重複が存在することができる。例えば、レイヤ1603及びこの中に含まれるゲストOSが、このレイヤ1603の一部として存在し得るその他のゲストOSに割り当てられたシステムリソースにアクセスできないという事実により、この重複を可能にすることができる。例えば、特定区域のハードドライブが、特定のゲストOSにより制御されるVRFinテーブルのために予約されていた場合、その他のゲストOS及び関連する仮想ルータ及びルーティングエンジンは、この特定のディスク空間にアクセスすることができない。
【0046】
図17は、OSレベルでの仮想化を利用して特定のコンピュータシステムに仮想化を提供するWAN最適化装置1700のソフトウェアアーキテクチャ例のブロック図である。
WAN最適化装置1700、及び様々なレイヤ及びブロック、及びこれに関連する機能を示している。このWAN最適化装置1700は、例えば前述したWAN最適化装置113、115及び/又は117であってもよい。複数のオペレーティングシステムのインスタンスを含むレイヤ1703を示している。いくつかの実施形態例では、これらの様々なOSのインスタンスは、同じオペレーティングシステムのインスタンスであってもよく、このオペレーティングシステムは、例えばLinux(登録商標)、マイクロソフトウインドウズ(登録商標)又は当業で公知の他の何らかの適当なオペレーティングシステムであってもよい。このレイヤ1703の上部には、複数の仮想ルータを含むレイヤ1702が存在し、これらの仮想ルータの各々は、例えばレイヤ1703に含まれ又はこのレイヤ1703に別様に存在するオペレーティングシステムの1又はそれ以上により制御される。
このレイヤ1702及びこれに関連する仮想ルータは、レイヤ1702の上部にレイヤ1701の一部として存在する様々なルーティングエンジンを制御する。
図15及び
図16のように、様々なシステムリソースが、レイヤ1703に存在するオペレーティングシステムにより制御される。これらのリソースとして、例えばCPUアクセス、ディスク空間、又はその他の適当なシステムリソースを挙げることができる。OSレベルでの仮想化を使用することにより、単一のコンピュータシステム内で宛先アドレス重複を利用して、例えば同じ宛先アドレスをVRFinテーブル又はVFRoutテーブル内に記憶でき、及びOSレベルでの仮想化方法を利用するコンピュータシステムにより同じ宛先アドレスに別様にアクセスできるようにすることができる。
【0047】
図18は、トランザクションアクセラレータを使用して複数のLANトラフィックを最適化する方法例1800を示すフロー図である。様々な動作1801〜1807を示しており、これらの動作の各々は、トランザクションアクセラレータ112の一部として存在することができる。いくつかの実施形態例では、動作1801を実行して、第1のネットワークから受信した第1のデータパケットを第1のオペレーティングシステムを使用して処理することができる。動作1802を実行して、第2のネットワークから受信した第2のデータパケットを第2のオペレーティングシステムを使用して処理することができる。
さらに、動作1803を実行して、第1のデータパケット及び第2のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートを決定することができる。動作1804を実行して、第1のデータパケットを少なくとも1つの第1の論理セグメントに解析し、第2のデータパケットを少なくとも1つの第2の論理セグメントに解析することができる。動作1805を実行して、第1の論理セグメント及び第2の論理セグメントを少なくとも1つのデータパケットとしてWANを横切って送信することができる。いくつかの実施形態例では、第1のオペレーティングシステム及び第2のオペレーティングシステムが同じコンピュータシステム上に存在する。いくつかの実施形態例は、第1のネットワーク及び第2のネットワークがLANであることを含むことができる。動作1806を実行して、第1のデータパケット又は第2のデータパケットの少なくとも一方に顧客識別子を関連付けることができる。また、動作1807を実行して、第1の論理セグメント又は第2の論理セグメントの少なくとも一方を最適化することができ、この最適化は、第1又は第2の論理セグメントを圧縮すること、キャッシュすること、又はトンネリングすることのうちの少なくとも1つを含む。
【0048】
いくつかの実施形態例では、複数のデータパケットを最適化するためのコンピュータ実行方法を示す。この方法例は、実行された場合、第1のネットワークから受信した第1のデータパケットを、第1のオペレーティングシステムを使用して処理するという動作を含むことができる。いくつかの実施形態例は、第1のネットワークとして機能するLANから受信したTCP/IPベースのデータパケットである第1のデータパケットを含むことができる。また、いくつかの実施形態例では、第2のネットワークから受信した第2のデータパケットを、第2のオペレーティングシステムを使用して処理するという動作を実行する。この第2のデータパケットは、第2のネットワークとして機能する別のLANから受信したTCP/IPベースのデータパケットであってもよい。さらに、いくつかの実施形態例では、第1のデータパケット及び第2のデータパケットに関連する、論理ルート又は物理ルートの少なくとも一方を含むルートに関する決定を行うための動作を実行することができる。このルートは、WANの一部として存在する複数のネットワーク機器間のルートであってもよい。また、いくつかの実施形態例では、第1のデータパケットを少なくとも1つの第1の論理セグメントに解析し、第2のデータパケットを少なくとも1つの第2の論理セグメントに解析するための動作を実行することができる。いくつかの実施形態例では、論理セグメントは、データパケット又はデータフィールドサイズ、又は他の何らかの適当な基準に関するいくつかの論理ベースの検討に基づいてフォーマットされたデータのセグメントであってもよい。このサイズは、ビット、ニブル、バイト、又はその他の何らかの適当な測定基準に関するものであってもよい。いくつかの実施形態例では、第1の論理セグメント及び第2の論理セグメントを少なくとも1つのデータパケットとしてWANを横切って送信するように動作を実行することができる。いくつかの実施形態例では、第1のデータパケット又は第2のデータパケットの少なくとも一方に顧客識別子を関連付けるように動作を実行することができる。この顧客識別子は、VLAN ID値、IPアドレス値、媒体アクセス制御(MAC)値、又はネットワークから到来するデータストリーム内で顧客を識別する他の何らかの方法であってもよい。いくつかの実施形態例は、第1の論理セグメント又は第2の論理セグメントの少なくとも一方を最適化するための動作の実行を含むことができ、この最適化は、第1又は第2の論理セグメントを圧縮すること、キャッシュすること、又はトンネリングすることのうちの少なくとも1つを含む。
【0049】
図19は、顧客固有データパケットを生成するために使用する方法例1900を示すフロー図である。WAN最適化装置の一部として存在することができる様々な動作1901〜1902及び1904〜1911を示す。いくつかの実施形態例では、システム仮想リソースを個々の顧客に割り当てる動作1901が実行される。例えば、準仮想化、仮想マシン、又はOSレベルでの仮想化などの、いくつかの前述した仮想化のためのモデルのいずれか1つを使用して、これらのシステム仮想リソースを割り当てることができる。複数のデータパケット1903を受信するという動作1902を実行することができる。これらのデータパケットを論理セグメントに基づいて解析し、個々の論理セグメントを顧客識別子で識別するという動作1904を実行することができる。この顧客識別子は、例えば、TCP/IPデータパケットの各々に付加されるVLANヘッダに関連するVLAN IDであってもよい。宛先ルートがWANの遠隔側のルート宛先に関連する対応するピアトランザクションアクセラレータを有するということが分かっているかどうかを判定するという判定動作1905を実行することができる。判定動作1905が「真」であると判定した場合、(場合によってはデータ又はデータパケットなどの)論理セグメントを最適化する動作1906が実行される。最適化は、データを圧縮すること、データをキャッシュすること、データをトンネリングすること、TCP/IPウィンドウサイズを変更すること、ローカルTCP確認応答を提供すること、又はデータに対して他の何らかの適当な最適化技術を実行することを含むことができる。この時点で最適化済みの論理セグメントを最適化済み顧客固有データパケット1908として追加のトランザクションアクセラレータなどのピア装置へ送信するという動作1907を実行することができる。いくつかの実施形態例では、この最適化済み顧客固有データパケット1908の送信を、PEルータなどのネットワーク機器により行うことができる。判定動作1905が「偽」であると判定した場合、論理セグメントは最適化されずにWAN最適化装置を通過するという動作1909が実行される。その後、論理セグメントの宛先アドレスが、例えばVRFoutテーブル内で検索される。動作1910を実行して、この論理セグメントを顧客固有データパケット1911として送信することができる。いくつかの例では、この顧客固有データパケット1911の送信を、PEルータなどのネットワーク機器により行うことができる。
【0050】
図20は、動作1901を実行するために使用する方法例を示すフロー図である。命令の構成2001を示しており、この構成命令は、例えば特定顧客の顧客宛先アドレス及び特定要件のリストを含むことができる。これらの要件は、例えば、準仮想化、仮想マシン、又はOSレベルでの仮想化により実行されるような、例えば特定顧客への様々なシステムリソース割り当てを含むことができる。さらに、これらの要件は、特定顧客及び(サービス品質要件などの)これらの関連データパケットを優先することを含むことができる。
実行された場合、動作2002は、命令の構成を解析して顧客要件内の宛先アドレス空間情報を抽出する。宛先アドレスベースの識別子を顧客識別子に関連付ける動作2003を実行することができ、この場合顧客識別子は、例えばIPアドレス空間、VLAN ID、又は他の何らかの適当な顧客識別子であってもよい。関連付けが行われると、宛先アドレス及び顧客識別子がFIB1906に記憶される。前述したように、いくつかの実施形態例では、複数のFIBを複数のVRFinテーブル及びVRFoutテーブルとともに利用することができる。いくつかの実施形態例では、顧客要件を使用して、例えば前述したディスク割当て、I/O速度限界、メモリ限界、CPU割当て及び/又はネットワークインターフェイス要件などの特定のシステムリソースを割り当てるという動作2004を実行することができる。
【0051】
図21は、例示的なデータパケット2103の図である。いくつかの実施形態例では、データパケット2103は、例えばTCP/IPベースのデータパケットであってもよく、例えばデータパケットがTCPラッパ2102内にラッピングされる。さらにこのTCPラッパ2102をIPラッパ2101内にラッピングすることができる。例えば、CEルータ401、501、608〜610、701〜703、801〜803、901、1001、1101、或いはCEルータ又は場合によってはPEルータなどの他の何らかの適当なネットワーク装置により、このデータパケット2103を送信することができる。
【0052】
図22は、宛先アドレスの検索を行うために使用する方法例2200を示すフロー図である。例えば、PEルータ408又は507などのPEルータ上に存在することができる様々な動作2201〜2203を示している。実行された場合、PEルータにより受信されたデータパケットから解析された顧客識別子を受信するという動作2201を示している。この顧客識別子は、例えばIPアドレス、VLAN ID又はその他の何らかの適当な一意に識別を行う値であってもよい。例えば、VRFinテーブル又はVRFoutテーブルに関連するFIB内で顧客識別子の検索を行うという動作2202を実行することができる。顧客識別子に基づいて宛先アドレスを取り出すという動作2203を実行することもできる。例えば、特定の実施形態例では、VLAN IDを使用して特定の宛先アドレスを検索することにより、例えばVLAN IDが宛先アドレスを求めて一意に識別を行える一方で、例えばFIB 2204内に複数の同一の宛先アドレスが存在できるように宛先アドレス自体が重複できるようにすることができる。
【0053】
図23は、例示的なFIB2204及びこの中に含まれる様々なルーティングテーブルを示す図である。ルーティングテーブル2301、2302及び2303を示している。
これらのルーティングテーブルの各々を、一意識別型顧客ID値及び宛先アドレスに関して分割することができ、この場合一意識別型顧客ID値は一意のものであるのに対し、宛先アドレスは一意のものでなくてもよく、したがって、他の宛先アドレスと重複することができる。具体的には、本明細書に示すように、ルーティングテーブル2301内に含まれる宛先アドレス2304は、ルーティングテーブル2302内に含まれる宛先アドレス2305と同一である。さらに、ルーティングテーブル2303内に含まれる宛先アドレス2306は、宛先アドレス2304及び2305と同一である。
【0054】
図24は、最適化済み顧客固有データパケット例1908の図である。例えば、VLANヘッダ2401を使用してIPヘッダ2403をラッピングし、さらにこのIPヘッダ2403を使用してTCPヘッダ2404をさらにラッピングすることを示している。いくつかの実施形態例では、IPヘッダ2403及びTCPヘッダ2404を使用して前述したデータパケット1903を構成し、事実上VLANヘッダ2401がデータパケット1903をラッピングするようにする。いくつかの実施形態例では、TCPの代わりにユーザデータグラムプロトコル(UDP)を使用することができる。
【0055】
サーバとクライアントとの間の送信システム
いくつかの実施形態例は、ネットワークがデータを送信するために使用するプロトコルを定義するために、OSI基本参照モデル又はTCP/IPプロトコルスタックモデルを使用することができる。これらのモデルを適用するにあたり、サーバとクライアントとの間の、又はピアコンピュータシステム間のデータ送信システムを、アプリケーションレイヤ、トランスポートレイヤ、ネットワークレイヤ、データリンクレイヤ及び物理レイヤを含む一連の大まかに5つのレイヤとして示す。3階層アーキテクチャを有するソフトウェアの場合、TCP/IPプロトコルスタックのアプリケーションレイヤ上に(インターフェイス層、論理層及びストレージ層などの)様々な層が存在する。TCP/IPプロトコルスタックモデルを使用する実施構成例では、アプリケーションレイヤに存在するアプリケーションからのデータが、トランスポートレイヤに存在するTCPセグメントのデータロードフィールド内にロードされる。このTCPセグメントは、遠隔に存在する受信者ソフトウェアアプリケーションのポート情報も含む。このTCPセグメントが、ネットワークレイヤに存在するIPデータグラムのデータロードフィールド内にロードされる。次に、このIPデータグラムが、データリンクレイヤに存在するフレーム内にロードされる。
その後、このフレームが物理レイヤにおいて符号化され、インターネット、LAN、WAN、又はその他の何らかの適当なネットワークなどのネットワークを介してデータが送信される。いくつかの例では、インターネットは、ネットワークからなるネットワークのことを意味する。これらのネットワークは、前述のTCP/IP、さらにはATM、SNA、SDI、フレームリレー、MPL、又はその他の何らかの適当なプロトコルを含む、データ交換のための様々なプロトコルを使用することができる。これらのネットワークを、(スター型トポロジーなどの)様々なトポロジー又は構造内に体系化することができる。
【0056】
コンピュータシステム
図25は、本明細書で説明した方法のいずれか1つ又はそれ以上を機械に実行させる命令セットを実行することができるコンピュータシステム例2500の形の機械の略図表示を示している。代替の実施形態では、機械がスタンドアロン装置として動作し、又は他の機械に接続する(例えば、ネットワーク化する)ことができる。ネットワーク化した展開では、この機械は、サーバ−クライアントネットワーク環境ではサーバ又はクライアントマシンとして、又はピアツーピア(又は分散型)ネットワーク環境ではピアマシンとして動作することができる。この機械は、パーソナルコンピュータ(PC)、ウェブ機器、ネットワークルータ、スイッチ又はブリッジ、又はこの機械が取るべき行動を指定する(順次的な又はそれ以外の)命令セットを実行できるいずれの機械であってもよい。さらに、単一の機械のみを示しているが、「機械」という用語は、本明細書で説明した方法のいずれか1つ又はそれ以上を実施するための命令セット(又は複数の命令セット)を個別に又は共同して実行するあらゆる機械の集合を含むとも理解すべきである。ネットワークを介して(有線、無線、又は有線と無線の組み合わせなどにより)リンクされるローカルな及び遠隔的なコンピュータシステムがタスクを実行する分散型システム環境内で実施形態例を実施することもできる。分散型システム環境では、プログラムモジュールがローカルな及び遠隔的なメモリストレージ装置(下記を参照)内に位置することができる。
【0057】
コンピュータシステム例2500は、(CPU、グラフィック処理装置(GPU)又はこれらの両方などの)プロセッサ2502、メインメモリ2501及び静的メモリ2506を含み、これらはバス2508を介して互いに通信する。コンピュータシステム2500は、(液晶ディスプレイ(LCD)又はブラウン管(CRT)などの)ビデオディスプレイユニット2510をさらに含むことができる。コンピュータシステム2500はまた、(キーボードなどの)英数字入力装置2517、(マウスなどの)ユーザインターフェイス(UI)カーソルコントローラ2511、ディスクドライブユニット2516、(スピーカなどの)信号生成装置2556、及び(送信器などの)ネットワークインターフェイス装置2599も含む。
【0058】
ディスクドライブユニット2516は、本明細書で示した方法又は機能のいずれか1つ又はそれ以上により具体化又は利用される1又はそれ以上の命令セット及び(ソフトウェアなどの)データ構造を記憶する機械可読媒体2557を含む。ソフトウェアはまた、コンピュータシステム2500、メインメモリ2501、及び機械可読媒体も構成するプロセッサ2502によるソフトウェアの実行中に、メインメモリ2501内に、及び/又はプロセッサ2502内に完全に又は少なくとも部分的に存在することもできる。
【0059】
(ハイパーテキスト転送プロトコル(HTTP)、セッション開始プロトコル(SIP)などの)いくつかの周知の転送プロトコルのいずれか1つを使用して、ネットワークインターフェイス装置2599を通じてネットワーク2526を介して、命令2525をさらに送信又は受信することができる。
【0060】
いくつかの実施形態例では、取り外し可能物理記憶媒体を単一の媒体であるように示しているが、「機械可読媒体」という用語は、1又はそれ以上の命令セットを記憶する(集中形又は分散型データベース、及び/又は関連キャッシュ及びサーバなどの)単一の媒体又は複数の媒体を含むと理解すべきである。「機械可読媒体」という用語はまた、機械により実行されるための命令セットを記憶、符号化、又は搬送できる、及び本明細書で示す方法の1又はそれ以上のいずれかを機械に実行させるあらゆる媒体を含むとも理解すべきである。したがって、「機械可読媒体」という用語は、以下に限定されるわけではないが、固体メモリ、光媒体及び磁気媒体、及び搬送波信号を含むと理解すべきである。
【0061】
市場への適用
いくつかの実施形態例では、トランザクションアクセラレータが、サービスの提供先であるLANから離れて位置し、複数の顧客及び関連するLANにサービスを提供できるようにされる。トランザクションアクセラレータのWAN最適化構成要素を実行するコンピュータシステムの仮想化、及び特定のネットワークリソースの仮想化により、単一のトランザクションアクセラレータが複数のクライアント及び関連するLANにサービスを提供できるようになる。
【0062】
本開示の要約書は、読者が技術的開示の本質をすばやく確認できるようにする要約を求める米国特許法施行規則第1.72条(b)に準拠するように提供するものである。この要約書は、特許請求の範囲及び意味を解釈又は限定するために使用されるものではないという理解とともに提出される。また、上述の詳細な説明では、本開示を合理化するために様々な特徴を単一の実施形態にまとめていることがわかる。この開示方法は、請求する実施形態が、個々の請求項に明確に示す特徴よりも多くの特徴を必要とするという意図を反映したものであると解釈すべきではない。むしろ、以下の特許請求の範囲に反映されるように、発明の主題は、単一の開示した実施形態の全てよりも少ない特徴に存在する。したがって、以下の特許請求の範囲は、本明細書により詳細な説明に組み込まれ、個々の請求項は別個の実施形態として自立するものである。