JP2005523621A - 仮想サービスモジュールを持つネットワークシステム - Google Patents

仮想サービスモジュールを持つネットワークシステム Download PDF

Info

Publication number
JP2005523621A
JP2005523621A JP2003586783A JP2003586783A JP2005523621A JP 2005523621 A JP2005523621 A JP 2005523621A JP 2003586783 A JP2003586783 A JP 2003586783A JP 2003586783 A JP2003586783 A JP 2003586783A JP 2005523621 A JP2005523621 A JP 2005523621A
Authority
JP
Japan
Prior art keywords
network
service module
virtual
individual
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003586783A
Other languages
English (en)
Inventor
ディヴィッド ゲイリー ロバーツ
サンジェイ ダワー
マヘッシュ クマー
グレン ウィリアム ギブソン
バラ サンカラナラヤナン
サム ラジャラシナン
Original Assignee
インクラ ネットワークス インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インクラ ネットワークス インコーポレイテッド filed Critical インクラ ネットワークス インコーポレイテッド
Publication of JP2005523621A publication Critical patent/JP2005523621A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

ネットワークシステムが、複数の個別のネットワークから構成される仮想グラフを含むようになった方法、装置、及びシステムである。第一の個別のネットワークは、第一のユーザーと関連付けられる。第一の個別のネットワークは、ネットワーク要素の第一のセットを表すようにモデル化された複数のサービスモジュールを含む。第二の個別のネットワークは、第二のユーザーと関連付けられる。第二の個別のネットワークは、ネットワーク要素の第二のセットを表すようにモデル化された複数のサービスモジュールを含む。ネットワーク要素の第二のセットは、第二の個別のネットワーク内に含まれるネットワーク要素の形式、及び第二の個別のネットワーク内のネットワーク要素のトポロジー配列、の点でネットワーク要素の第一のセットとは異なる。

Description

本発明は、一般的に、ネットワークシステムに関するものである。特に、本発明の側面は、一又はそれ以上の仮想サービスモジュールを用いるネットワークシステムに関するものである。
(著作権の表示)
本特許文書の開示の一部には、著作権保護を条件とする題材が含まれている。著作権者は、特許局及び商標局の特許書類又は記録に掲載される限りでは、そのソフトウェアエンジン及びモジュールの何人による複製にも全く異議はないが、その他の場合は一切の無断転載を禁ずる。
典型的な標準ネットワーキングシステムは、単一目的の固定機能を実装するものであった。仮想化システムの最初の生成は顧客ごとの機能を提供するが、しかしこの機能はまだ固定されている。これらの制限は、いくつかの欠点をもたらす。顧客は、サービスの有用性に基づいて、サービスプロバイダーを評価できる。顧客は、どんなダウンタイムもサービスプロバイダーの問題として認識し、プロバイダーを切り替えることを検討することがある。サービスプロバイダーは、彼らの提供物にサービス製品を付加して、より多くの収入を生み出し、かつより高価値の提供物でマージンを増やすことを望む。今日のシステムの幾つかは、アップグレードと関連付けられるダウンタイムを必要とする。これは、それらのシステムが全ての機能を単一の実行時イメージにパッケージ化するためという事情である。全ての機能が単一装置にパッケージ化され、公開されるとき、システムを設計及び試験することはより単純である。幾らかの場合、サービスプロバイダーは、冗長なトポロジーを構築し、バックアップシステムがサービスを扱うと同時に一システムを取り壊すことにより、ダウンタイムを最小化しなければならない。これは、サービスプロバイダーに、冗長なハードウェアを購入し、複雑な構成を設計することを強要するので、最適ではない。量産効果、及びより低い資本支出を実現するために、サービスプロバイダーは、単一システム上で複数の顧客にサービスを提供するシステムをインストールしている。ハードウェアを各個々の顧客に専用にするのではなく、サービスプロバイダーが、多くの顧客全体にわたるその資本経費を償却し、平均コストを下げる。これらのサービスプロバイダーは、典型的には、定期的なメンテナンスのために、顧客でのダウンタイムを計画する。複数の顧客が同じシステムを利用するように構成されるとき、この計画はより困難になる。
さらに、典型的なネットワーキングシステムは、固定された手法で構成される固定機能を提供することがある。例えば、処理は、通常はネットワーク層L3が次に続くデータリンク層L2であるか、又は負荷平衡化が次に続くセキュアソケットレイヤー(SSL)加速である。典型的には、ネットワーキングシステムは、一体式バージョンのソフトウェアを用いて固定機能を実装する。仮想ローディングを提供するそれらのシステムは、典型的には起動時に、単純なリンク時間構成戦略、又は単純な仮想ローディングを使用するが、その後は使用しない。従って、何の機能を起動時に実行したいか選択できるようになるが、その後それを変えることはできない。典型的には、従来のシステムは、アップグレードされるとき再起動を必要とする、というような不利な点を持っていた。これがダウンタイムを引き起こす。結果として、幾つかの従来のシステムは、任意のトポロジーを使用して任意の手法で機能を構築する、ダウンタイムを引き起こすことなく新しい機能を稼動中のシステムに付加する、又は機能の一部を新しい改訂版にアップグレードする能力が欠如している。
さらに、データセンターでは時々、パケット処理システム上で稼動するソフトウェアをアップグレードするか、ネットワークトポロジーを変更するか、又はハードウェアをアップグレードしなければならない。ソフトウェア又はハードウェアの如何なるアップグレードも、サービスの有用性を阻害する。このようなアップグレードは、通常はメンテナンス時間の間に行われ、この間は、サービスを顧客が利用できない。代わりに、サービスが1つのネットワーク上で常に利用可能であるように、サービスネットワークを複製することもある。第一の手法では、サービスが中断される。第二の手法では、冗長なネットワークをセットアップし、かつ注意深く維持しなければならない。
従って、ネットワークシステムのトポロジーを構成、管理、変更、又はアップグレードできるように、よりよい解決策が非常に望まれる。
(本発明の要約)
ネットワークシステムが、複数の個別のネットワークから構成される仮想グラフを含むようになった方法、装置、及びシステムである。第一の個別のネットワークは、第一のユーザーと関連付けられる。第一の個別のネットワークは、ネットワーク要素の第一のセットを表すようにモデル化された複数のサービスモジュールを含む。第二の個別のネットワークは、第二のユーザーと関連付けられる。第二の個別のネットワークは、ネットワーク要素の第二のセットを表すようにモデル化された複数のサービスモジュールを含む。ネットワーク要素の第二のセットは、第二の個別のネットワーク内に含まれるネットワーク要素の形式、及び第二の個別のネットワーク内のネットワーク要素のトポロジー配列、の点でネットワーク要素の第一のセットとは異なる。
本発明は、様々な変更及び代替の形が可能であるが、その特定の実施形態が、図面で例を介して示されており、以下に詳細に説明する。本発明は、開示された特定の形に限定されないと理解すべきであるが、一方、本発明の技術的範囲内に入る全ての変更、均等技術、及び代替形を対象として含むことを意図している。
(詳細な説明)
以下の説明では、本発明の完全な理解を提供するために、具体的なデータ信号の例、指定されるコンポーネント、接続、ネットワークの数等のような多数の具体的な詳細を明示する。しかしながら、これらの具体的な詳細なしでも本発明を実施できることが、当業者には明らかであろう。その他の例では、本発明を不必要に不明瞭にするのを避けるため、よく知られたコンポーネント又は方法は詳細に説明せず、ブロック図で説明した。さらに、第一ドライバーのような固有の数値参照をつけることができる。しかしながら、固有の数値参照は、文字通りの連続した順番として解釈すべきではなく、むしろ第一の仮想サービスモジュールは第二の仮想サービスモジュールとは異なると解釈すべきである。従って、示される具体的な詳細は、単に例証的なものにすぎない。具体的な詳細は、本発明の技術的範囲内であると意図される範囲で変化し得る。パケットという用語は、パケットスイッチシステムにおける伝送のために使用されるデータのかたまりとすることができる。フレーム、パケット、及びデータグラムという用語は、しばしば同じ意味で使われる。
一般的には、その中のネットワークシステムが複数の個別のネットワークから構成される仮想グラフを含む方法、装置、及びシステムを説明する。第一の個別のネットワークは、第一のユーザーと関連付けられる。第一の個別のネットワークは、ネットワーク要素の第一のセットを表しているようにモデル化された複数のサービスモジュールを含む。第二の個別のネットワークは、第二のユーザーと関連付けられる。第二の個別のネットワークは、ネットワーク要素の第二のセットを表しているようにモデル化された複数のサービスモジュールを含む。ネットワーク要素の第二のセットは、第二の個別のネットワーク内に含まれるネットワーク要素の形式、及び第二の個別のネットワーク内のネットワーク要素のトポロジー配列、の点で、ネットワーク要素の第一のセットとは異なる。
図1は、複数ユーザーの固有のネットワーク要求を満たすために一又はそれ以上の仮想サービスモジュールから構成される複数の個別のネットワーク、を含むネットワークシステムの実施形態を示している。複数の個別のネットワーク102、104、106は仮想グラフ108にまとめられ、リソースは、ユーザー割り当てに従って、システム内の各個別のネットワークについて運用される。ネットワークシステム100は、インターネットのような外界への第一のポート110、顧客Aのネットワーク要素を収容する第一の仮想ラック119を含む第一の個別のネットワーク102、顧客Bのネットワーク要素を収容する第二の仮想ラック120を含む第二の個別のネットワーク104、顧客Cのネットワーク要素を収容する第三の仮想ラック121を含む第三の個別のネットワーク106、ネットワークシステムの管理モジュール114を収容するシステム管理仮想ラック112に割り当てられる仮想アドレス空間、及び仮想グラフ108を各顧客のネットワーク118に接続する複数の入出力ポート116、から構成される。ある実施形態では、仮想グラフが、全ての個別のネットワーク102、104、106のトポロジーを収容するが、論理的に及び物理的に互いに異なるように各個別のネットワークを保持する。
ある実施形態では、仮想グラフ100が、全ての仮想アドレス空間を収容するグローバルドメインの範囲内で、各個別のネットワーク102、104、106に別個の仮想アドレス空間を割り当てる。ある実施形態では、仮想ラック119〜121が各ユーザーに割り当てられる。仮想ラック119〜121は、仮想アドレス空間、及び、その仮想アドレス空間専用の処理能力、帯域幅、及びメモリのようなハードウェアリソース、から構成される。仮想ラック119〜121の固有アドレス空間、及び専用のハードウェアリソースが、各個別のネットワーク102、104、106を他の個別のネットワークとは論理的及び物理的に異なるものにする。ある実施形態では、仮想ラック119〜121が、仮想サービスモジュールのような複数のネットワーク常駐アプリケーションサービスのための論理的な容器であり、ネットワーク機器の物理ラックに類似している。
仮想ネットワークトポロジーは、システム内のパケット処理機能を、接続された仮想サービスモジュール(VSM)122〜150のノードの抽象仮想グラフ108としてモデル化する。システム内の各仮想サービスモジュール122〜150は、実世界の個々のネットワーク要素のラインに沿って大雑把にモデル化される。例えば、仮想サービスモジュール122〜150は、独立型IPルーター、イーサーネットスイッチ、仮想私設ネットワーク、フィルタ/ファイアウォール、負荷平衡器、ブリッジ、ネットワークアドレス変換器等の機能をほとんど実装できる。これらの仮想サービスモジュール122〜150のノードは、次に、それらが実世界にあるのと同じように、仮想グラフ108内で構成される。
ネットワーク要素を表すようにモデル化された仮想サービスモジュール122〜150の構成及びトポロジーを、特定の顧客の要望に基づいて任意に組み立てることができることに注意しなさい。例えば、顧客Bのネットワーク104は、顧客Cのネットワーク106内に含まれるのとは異なるネットワーク要素から構成される。ネットワークスイッチ上の物理ポート110、116が様々なポイントで仮想グラフ108に取り付けられ、内部仮想システムを仮想グラフ108外部のコンポーネントに繋げることを可能にする。
仮想グラフ108は非常に大きく増大し、典型的なネットワークセンターの殆どもしくは全てを取り替えるようになることができる。仮想グラフ108のサイズは、一又はそれ以上のホストマシンのメモリ容量及び処理能力によって制限され得る。ある実施形態では、仮想グラフ108は、単一のコンピューティングマシン上に収容される。
言及するように、ネットワークシステム100は、個別の「サービス」を表す可変な機能を持つことができる。各仮想サービスモジュール122〜150は、一又はそれ以上の機能を持つネットワーク要素をモデル化する。ある実施形態では、ネットワーク要素を表すようにモデル化された各仮想サービスモジュール122〜150が、個別のサービスを提供する。
各仮想サービスモジュール122〜150は、パケット処理が構築されたネットワークサービスの仮想グラフ108によって管理される任意のトポロジー、に構成され得る。各関連パケットフローがシステムに投入されるとき、サポートフレームワークソフトウェアが、ファイアウォール仮想サービスモジュール132、負荷平衡化仮想サービスモジュール134、及びルーター仮想サービスモジュール136のような、個別のネットワークトポロジー内の仮想サービスモジュールの仮想グラフを動いて、その関連パケットフローのための連続したノードリストを作成する。
言及するように、異なる個別のネットワーク102、104、106はリソースを確保していて、一顧客におけるリソースの消耗が、第二の顧客により認識されるサービスレベルに影響を及ぼすことはない。物理層がハードウェアレベルでのリソース管理を実行して、各個別のネットワーク102、104、106がシステムで利用可能な処理及びメモリリソースの保証された領域を受け取ること、及び各個別のネットワーク102、104、106が互いに干渉できないこと、を確実にする。仮想ラックに割り当てられた固有アドレス空間、及び専用の物理リソースが、各個別のネットワーク102、104、106内で仮想サービスモジュール122〜150のまわりの境界を形成する。ある実施形態では、物理層が、カリフォルニア州フレモントにあるInkra Networks社で作成されるHardWall技術を用いて、システムリソースの消耗を管理し、一仮想ラック内で生じる阻害イベントが同じシステム内の他の仮想ラックに影響を及ぼさないことを確実にする。従って、各個別のネットワーク102、104、106が、そのサービストポロジー専用の処理及びメモリリソースを持ち、第一の個別のネットワークにおけるこれらの専用リソースの枯渇は、第二の個別のネットワークに提供されるサービスレベルから独立している。
例えば、図1は、3つの別個の仮想ラック119〜121を示しており、その各々は多数の仮想サービスモジュール122〜150が実装されている。物理層は、トークンバケットアルゴリズムを用いる仮想ラックプロセッサのようなリソース管理回路を収容して、サービスアタックの拒否のような仮想ラックA119に対して仕掛けられたリソースをたくさん使う行為が、保証レベルを超える仮想ラックB120の性能の如何なる低下も引き起こさないことを確実にする。仮想ラックA119は、リソースのその指定されたシェアのみを消費することができ、過去には、リソース管理回路が如何なる更なる消費も制限して、仮想ラックB120が通常に作動し続けることを確実にする。仮想ラック119〜121内に複数の仮想サービスモジュール122〜150をインストールすることができるので、リソース管理回路が、仮想ラック境界内の仮想サービスモジュールのグループ全体のためのリソース管理を実行する。各個別の仮想サービスモジュールのためのリソースパラメータを手動で構築するようにユーザーに強要しないので、この手法は、構築の複雑さを劇的に軽減させる。
一実施形態では、ユーザーが、管理仮想ラック112のユーザーインターフェースを通して、仮想ラック119〜121を指定又は構築することができる。
各個別のネットワーク102、104、106内の仮想サービスモジュール122〜150は、任意の連続した順番で配置することができる。ファイアウォール132を表すようにモデル化された仮想サービスモジュールは、負荷平衡器134を表すようにモデル化された仮想サービスモジュールの前又は後に置くことができる。さらに、顧客Aの個別のネットワーク102は、セキュアソケットレイヤー126、ネットワークアドレス変換器128、及びブリッジ130のような、顧客Bの個別のネットワーク104のトポロジー内に含まれるのとは異なるネットワーク要素から構成されることができる。従って、仮想グラフ108内の各顧客は、その顧客と対応付けられる個別のネットワークトポロジー102、104、106内の仮想サービスモジュールの配置及び機能を、その顧客に必要な固有の要求に合わせることができる。さらに、顧客/ユーザーは、一又はそれ以上の仮想サービスモジュールのインスタンス122〜150を実装した仮想ラック119〜121を、ネットワークシステム100内の単一の装置として管理することができる。
図2は、一又はそれ以上の機能を実行して、ネットワークシステム内のパケットを処理するネットワーク要素、を表すようにモデル化された仮想サービスモジュールのアーキテクチャの実施形態を示している。仮想サービスモジュール200のインスタンスのアーキテクチャは、複数の協働部品から構成されることができる。このように、仮想サービスモジュール200は、複数の下位部品から構成される実際には上層抽象概念である。サブコンポーネントは、管理コンポーネント201、フローセットアップコンポーネント202、及びパケット処理コンポーネント203を含む。各仮想サービスモジュールのインスタンス200はまた、他のコンポーネントとの関係を説明するポート、及び仮想ネットワークシステムの外部のコンポーネントと通信するためのインターフェース、を持つことができる。管理コンポーネント201及びフローセットアップ202の双方が、ポートを使用する。
管理コンポーネント201が、仮想システム内部のコンポーネントに共通な様々な管理インターフェースとの接続を導く。管理コンポーネント201はまた、如何なる必要なグローバル情報も保持する。管理コンポーネント201は、ルーター及び認証局のような外部エンティティと通信することにより、情報を収集する。管理コンポーネント201は、仮想サービスモジュール200を動的に構築することができる。
フローセットアップコンポーネント202は、初期パケット処理を実行して、仮想ネットワークグラフを通るパケットパスを定め、そのフローのためのアクションリストを構築する。フローは、関連パケットの特定のストリームとすることができる。例えば、特定のTCP接続を通じてサーバーがクライアントに送信するデータのストリームが、関連パケットのフローである。
パケット処理コンポーネント203は、仮想サービスモジュール200の抽象部品である。パケット処理コンポーネント203は、ハードウェア加速器用集積回路内にプログラムされる初期命令、の標準処理のアクションリストを含むことができる。パケット処理コンポーネント203内の標準初期命令が達成できる以上のパケット処理を要求する仮想サービスモジュールは、フローセットアップ処理コンポーネント202内のパケットを処理し続けるであろう。この形式の拡張フローセットアップのように各関連パケットフローを開始する仮想サービスモジュールは、いつでもアクションリストをバインドすることができるが、しかし幾つかの場合には、ハードウェア支援に一度も切り替えることなく、仮想サービスモジュールが関連パケットフロー全体を処理する。
ある実施形態では、各仮想サービスモジュール200は、データ、及び実行可能なコードに加えてサービスモジュールをネットワークシステムと統合するメタデータを収容するアーカイブファイルを持つその関連処理ソフトウェア、の内蔵モジュールである。実行可能なコードは、仮想サービスモジュール200のそのインスタンスをインストール及び削除する命令を含む。さらに、実行可能なコードは、構成情報で仮想サービスモジュール200のそのインスタンスを構築する命令も含む。言及するように、各仮想サービスモジュール200は、データ、及びファイアウォール、フィルタ、負荷平衡器、ルーター等のような個別のネットワーク要素をモデル化するその関連処理ソフトウェア、を収容することができる。
ある実施形態では、仮想サービスモジュール200は、各仮想サービスモジュール200の一又はそれ以上のインスタンスが存在し得るオブジェクトクラスに属する。オブジェクトは、オブジェクト指向プログラミング言語で書かれた独立したプログラムモジュールとすることができる。オブジェクトは、グループのような如何なる事前リンキング又は事前コンパイルもなく、実行時に互いにプラグイン接続して、互いに作用するように構築されるソフトウェアコンポーネントである。特定の形式の仮想サービスモジュール200の一又はそれ以上のインスタンスを作成することができる。
代替の実施形態では、サービスモジュールがネットワーク要素を表すようにモデル化される限りのみ、各VSMコンポーネントを単一のコンテナアプリケーション内に収めることができる。
例えば、図1を参照すると、ファイアウォール132、138を表すようにモデル化された仮想サービスモジュールのクラスは、仮想グラフ108全体にわたって複数の顧客の仮想ラック120、121にプラグ接続されるその仮想サービスモジュール、の複数のインスタンスを持つことができる。ネットワーク要素を表すようにモデル化された仮想サービスモジュールのクラスは階層構造に作成され、継承は、VSMファイアウォールのインスタンスのように、階層構造内の上層のレイヤーの中の1クラスの情報を下層の他のクラスに伝えることを可能にする。
図2を参照すると、ある実施形態では、仮想サービスモジュール200を独立したバイナリイメージでパッケージ化することができる。イメージは、実行可能コードに加えて仮想サービスモジュール200をシステムと統合するメタデータのアーカイブファイルを収容する。メタデータは、仮想サービスモジュールによってサポートされる様々な構成パラメータを説明する情報、バージョン情報、要求されるリソース、従属情報、及びコマンドラインインターフェース(CLI)を通してモジュールを構築するのに必要な任意の特有のコマンド、を含む。この情報を使用して、何の機能をベースシステムに「組み込む」か及び何を後で付加したか、をユーザーが知ることなく、ネットワークシステムは、仮想サービスモジュール200を容易に統合することができる。ある実施形態では、拡張マーク付け言語(XML)を、メタデータをフォーマットするために使用することができる。
ある実施形態では、仮想サービスモジュール200がアクションリストをバインドした後でさえ、滅多にないイベントのために時々必要なより複雑な処理を扱うために、フローセットアップコンポーネント202が、パケット処理コンポーネント203内のアクションリストから報告される例外条件を処理することができる。ある実施形態では、アクションリストは、仮想サービスモジュールが所定の関連パケットフロー内の各パケットに適用させようとする初期命令、の処理のリストとすることができる。初期命令の処理は、単一の初期命令のパケット変換操作とすることができる。例えば、IP TTLフィールドを減らすこと、又はIPチェックサムフィールドを再計算することは、初期命令の各処理である。複合アクションリストは、所定の連続したノードリスト内の全てのノードにおける各仮想サービスモジュールのアクションリストの連結である。共通アクションリストは、全ての到着パケットに適用されるグローバルアクションリストである。最適化アクションリストは、それが最適化された後の複合アクションリストである。
ある実施形態では、仮想サービスモジュール200は、3つの形式のアドレス指定の観点を持つことができる。
図1を参照すると、最もありふれたアドレス指定の観点は、「標準」ルーティング機能を実行するルーターのような仮想サービスモジュール124、136である。他の2つの仮想サービスモジュールのアドレス指定の観点は、2つのポートに制限されることができ、これは、全くルーティング決定を要求されないことを意味している。これら2つのアドレス指定の観点は、転送決定をするアドレス可能なバンプ及びアノニマスバンプである。例えば、ファイアウォール仮想サービスモジュール132、138は、どのパケットを削除するか決定するアノニマスバンプとすることができるが、しかし、一旦パケットを転送する決定をしたら、パケットをどのポートに送信すべきかについては全く選択肢はない。アドレス可能なバンプは、例えば仮想私設ネットワークとすることができる。
図3は、仮想サービスモジュールのコンテナアーキテクチャ、及びその仮想サービスモジュールの物理層へのマッピング、の実施形態を示している。ある実施形態では、コンテナプログラムは、二又はそれ以上のサブプログラムから構成される。各サブプログラムは、管理コンテナ302、フローセットアップコンテナ304、及びパケット処理コンテナ306、のような特定の機能のためにプログラムされる。コンテナアーキテクチャは、3つの異なる形式のコンテナ302、304、306を使用して、管理コンポーネント308、フローセットアップコンポーネント310、及びパケット処理コンポーネント312、という仮想サービスモジュールの3つの個別のコンポーネントを管理することができる。ある実施形態では、管理コンテナ302、フローセットアップコンテナ304、及びパケット処理コンテナ306を、オペレーティングシステムのソフトウェアの一部として含めることができる。管理コンポーネント308は、管理コンテナ302内に埋め込むことができる。フローセットアップコンポーネント310は、フローセットアップコンテナ304内に埋め込むことができる。パケット処理コンポーネント312は、パケット処理コンテナ306内に埋め込むことができる。
管理コンテナ308は、SNMP、ウェブ、及びCLIのような様々な共通管理インターフェースを提供し、かつ、仮想サービスモジュールがその機能と相互作用することを可能にする。フローセットアップコンテナ304は、仮想サービスモジュールのフローセットアップコンポーネント310をラップし、フローセットアップコンポーネントへの新たな関連パケットフローの発送に備える。フローセットアップコンテナ304は、アクションリストの作成及び最適化を提供する。パケット処理コンテナ306は、フローセットアップモジュール310から転送される最適化複合処理リストを、フローごとに管理する。
仮想サービスモジュール322のような仮想サービスモジュールは、コンテナプログラムを通して、他の仮想サービスモジュールと相互作用することができる。ある実施形態では、どの仮想サービスモジュールも、他の仮想サービスモジュールへの直接オブジェクト参照を収容しない。これにより、古いオブジェクト参照を保持する他の仮想サービスモジュールを気にする必要なく、仮想ネットワークグラフを変更する、及び仮想サービスモジュールをアップグレードすることがずっと容易になる。従って、何の他のサービスモジュールがチェーン内に存在し得るか、及びそれらの他のサービスモジュールが経験し得る様々なライフサイクルの変化を気にする必要なく、仮想サービスモジュールは、全く単独で作動することができる。
ある実施形態では、管理コンテナ302、フローセットアップコンテナ304、及びパケット処理コンテナ306が、仮想サービスモジュールのアプリケーションプログラムインターフェースの様々な部分を実装する。管理コンテナ302は、API機能を提供して、仮想サービスモジュールをインストール及び削除し、ボックス全体にわたる構成情報、及びコンテンツプロバイダ特有の構成情報の双方を用いて、仮想サービスモジュールを構築し、かつ仮想サービスモジュールを管理する。
フローセットアップコンテナ304は、API機能を提供して、新しい関連パケットフローを発送し、最適化処理リストの作成をビルド及び管理し、そのパケットフローはパケット処理モジュールに移り、パケットの中身を操作し、及び関連パケットフローの状態を操作する。
パケット処理コンテナ306は、高速パス上でパケット処理を実施し、パケット処理の物理実装内に常駐する。パケット処理コンテナは、フローセットアップコンテナのサービスの幾つかを提供するが、仮想サービスモジュール構築及びライフサイクル管理、のような上位層の問題を扱う殆どの機能を取り除く。パケット処理コンテナ306は、パケットの中身を操作し、関連パケットフローの状態を操作し、フローセットアップコンテナにフローの終了を通知する機能を提供し、次にこれは、適切な仮想サービスモジュールのフローセットアップコンポーネント310に伝えられる。
ある実施形態では、仮想サービスモジュール322の管理コンポーネント308、フローセットアップコンポーネント310、及びパケット処理コンポーネント312を、コンテナプログラム内に埋め込むことができる、又はリンクすることができる。VSM308、310、312のこれらのコンポーネントを、埋め込むのではなく、リンクすることができ、その場合、コンテナアプリケーションは、VSMのコンポーネントを物理的に保持することはないが、それへのポインタを提供する。リンクされたVSMのコンポーネントに変更がなされる場合には、同じリンクを収容する全てのドキュメントが、次にそれらを開くとき、自動的に更新される。これらのコンポーネント308、310、312が埋め込まれる場合には、コンテナは、そのコンポーネントのコピーを収容する。VSMのコンポーネントになされた変更は、そのコンポーネントのインスタンスを収容するコンテナプログラムにのみ影響を及ぼす。VSMのコンポーネントがリンクされる場合には、ドキュメントは、元のファイルへのポインタを収容する。リンクされたコンポーネントを変更するとき、元のものを変更していて、かつそのコンポーネントにリンクする全てのプログラムが自動的に更新される。コンテナプログラムは、セキュリティ及びトランザクションのサポートのような共通機能を提供することができ、かつサーバーの形式に関係なく、アプリケーションに一貫したインターフェースを提供することができる。オブジェクトの究極の目的は、それらがどのソース言語でプログラムされるか、又はネットワーク上のどのコンピューターでそれらが動作しているか、を問題にすべきでないということである。仮想サービスモジュールは、コンテナプログラム間で渡されるメッセージを通して相互運用する。
仮想サービスモジュールコンポーネント308、310、312の各々を、異なる物理回路基板314、316、318にマッピングすることができる。仮想ネットワークシステムの物理層は、管理モジュール314、フロー処理モジュール316に加えてパケット処理モジュール318を含むサービス処理モジュール、及びI/Oモジュール、のような幾つかの形式の回路モジュールを持つことができる。管理モジュール314は、スイッチ構造ハードウェアを含む。スイッチ構造ハードウェアは、シャシー内のデータ引渡し基板から構成される。各フローセットアップモジュール316(FPM)は、一又はそれ以上のフロー処理エンジンを収容することができる。各フロー処理エンジンは、汎用プロセッサ及び特定用途向け集積回路を含んで、パケット処理ハードウェア加速器のように、パケット化された情報を処理することができる。各パケット処理モジュール318は、一又はそれ以上のフロー処理エンジンを収容することができる。各フロー処理エンジンは、シャシー内のデータ引渡しハードウェア接続基板上のアドレス可能な終点である。入力-出力(I/O)モジュールは、一又はそれ以上のI/Oエンジンを介して、一又はそれ以上の外部I/Oポートをサポートする。
仮想サービスモジュールの管理コンポーネント308は、管理モジュール314にマップすることができ、かつその上で動作することができる。フローセットアップコンポーネント310は、フロー処理エンジンの1つの上の汎用プロセッサにマップし、かつその上で動作する。パケット処理は、パケット処理ハードウェア加速器で処理されることができ、特別な場合には、汎用プロセッサに渡される例外を介して処理されることもある。
図4は、仮想ネットワーク要素及び物理ネットワーク要素から構成されるトポロジーを持つ個別のネットワーク、の実施形態を示している。第一の個別のネットワーク402は、顧客Aの仮想ネットワーク要素を収容する仮想ラック419を含む。仮想ラック419は、ポート416を介して、顧客Aのネットワーク418に繋がる。また、仮想ラック419は、第二のポート425を介して、ファイアウォール452のような物理ネットワーク要素に繋がる。顧客A402と関連付けられる個別のネットワークのSSL仮想サービスモジュール426は、システムルーター仮想サービスモジュール424からパケットを受け取る。SSL仮想サービスモジュール426は、第二のポート425を介して、パケットを物理ファイアウォール452に転送する。物理ファイアウォール452は、第二のポート425を介して、パケットをNAT仮想サービスモジュール428に転送する。NAT仮想サービスモジュール428は、パケットをブリッジ仮想サービスモジュール430に送る。パケットは、複数のポート416を介して、顧客A402と関連付けられる個別のネットワークのトポロジーから、顧客のネットワーク418に出る。
ある実施形態では、物理層は、一又はそれ以上の仮想ラックプロセッサを収容する。各仮想ラックプロセッサは、物理層を通してデータのフローを管理し、各仮想ラック419にリソースを割り当て、かつ高速パケット処理を実行して特定のサービスを実装する。仮想ラック419は、ハードウェアベースのリソース管理を使用するので、ソフトウェアベースの方式よりも効率的、正確、かつ安全である。仮想ラックプロセッササブシステムの活動は、キューイング及び高速処理、一般処理リソースの管理、及び仮想ラックの整合性及びセキュリティの扱い、という3つの主なカテゴリーに分けることができる。
ある実施形態では、各仮想ラックプロセッサは、システム内の各仮想ラック419に複数のキューを割り当てる。仮想ラックプロセッサは、各仮想ラックがVRP処理リソースのそのシェアを受け取ることを確実にするトークンバケットアルゴリズムを使って、これらのキューを処理する。仮想ラックプロセッサは、大きなバッファリング容量を持つ非常に大きなメモリ領域で、仮想ラックキューを管理する。仮想ラックごとに複数のキューを割り当てることにより、仮想ラックプロセッサは、どの仮想ラック419も、第二の仮想ラック420を犠牲にして全ての利用可能なバッファメモリを消費できないことを確実にする。トークンバケット論理は、どの仮想ラックも、仮想ラックプロセッサ処理装置への公平なアクセスを持つことを保証する。
言及するように、仮想ラックプロセッサが、特定のパケットが大量の高レベルな処理を必要とすることを決定する場合には、更なる対処のためにパケットを一般処理ブロックに転送し、そのキューの中の次のパケットの処理に移る。仮想ラックプロセッサと一般処理ブロックの間に、仮想ラックプロセッサは、キューイングロジックの第二のセットを実装する。キューの第一のセットと同様に、システム内の各仮想ラック419〜421は、第二のセット内のキューが割り当てられる。仮想ラックプロセッサは、キューのこの第二のセットを管理し、要求どおりにパケットを一般処理ブロックに転送する。これは、一般処理ブロックに与えられたままに保ち、最高の可能なスループットを提供する。仮想ラックプロセッササブシステムは、一般処理ブロック向けの次のパケットを予定して、処理リソースが物理層のリソース割り当てに従って分配されることを確実にする。このように、どのラック419〜421も、他を犠牲にして、処理リソースを独占することはできない。
仮想ラックプロセッササブシステムは、システム内の各仮想ラック419〜421のためにメモリ領域を割り当てる。メモリ領域は、仮想ラックA419のような特定の仮想ラックと関連付けられるパケット及びサービス状態情報、を格納する。システムは、リソース消耗があるか、各領域を厳密に監視する。仮想ラックA419のような特定の仮想ラックが、物理層のメモリ割り当て限界に侵入する場合には、他の仮想ラックを犠牲にして更に拡張することは許されない。この動作は、どの仮想ラック419〜421も他を犠牲にしてメモリリソースを独占できないことを、確実にする。
物理層は、ハードウェアメモリ管理装置(MMU)を使用して、各仮想ラック419〜421のために保護領域を作成する。サービスがクラッシュするとき、この保護領域が、そのサービスが置かれる特定の仮想ラック419〜421への影響を切り離す。システムがクラッシュを検知するとき、仮想ラック419〜421と関連付けられる保護領域がフラッシュされ、仮想ラック419〜421が自動的に再起動される。このように、システムは、サービス障害が生じる仮想ラック419〜421についてのそのサービス障害を収容し、それらが他の仮想ラック419〜421に伝播すること、又はそれらの処理に影響を及ぼすことを防ぐ。
パケットを処理するとき、処理ブロックははじめに、そのパケットが属する仮想ラック419〜421と関連付けられる保護領域に入る。この状況の間、処理ブロックは、その仮想ラック419〜421と関連付けられるメモリにアクセスのみでき、システムのセキュリティを保証する。この保護領域の外部のメモリリソースにアクセスしようとする如何なる試みも、サービスクラッシュとして扱われ、その場合、保護領域がフラッシュされ、仮想ラック419〜421が再起動される。
上で言及するように、管理仮想ラック412のユーザーインターフェースを通して、各仮想サービスモジュール424、426、428、430を、動的にロード又はアンロードすることができる。ルーター仮想サービスモジュール424及び436のように、仮想サービスモジュールの複数のインスタンスを同時にロードすることができる。さらに、仮想サービスモジュールの複数のインスタンスは、異なるバージョンを収容することができる。例えば、ルーター仮想サービスモジュール424は、ルーター仮想サービスモジュール436と異なるバージョンを持つことができる。各仮想サービスモジュールは、他の仮想サービスモジュールの他のサービスを中断することなく、個々に変更又はアップグレードされることができる。
図5Aは、本発明の実施形態に従う仮想サービスモジュールのアップグレードを示す例示的なブロック図を示している。図5Aを参照すると、一実施形態では、トポロジーの初期構成501が、ルーター仮想サービスモジュール504、ファイアウォール仮想サービスモジュール505、セキュアソケットレイヤー(SSL)仮想サービスモジュールバージョンI506、及び負荷平衡器仮想サービスモジュール507を通して、データフローを処理する。SSL仮想サービスモジュールのアップグレード要求が受け取られるとき(例えば、管理仮想ラックのユーザーインターフェースを通して)、SSL仮想サービスモジュールバージョンII508のもう1つのインスタンスが起動される。SSL仮想サービスモジュールバージョンII508が起動されると、システムは、SSL仮想サービスモジュール508を、端線509を通してファイアウォール仮想サービスモジュール505に、及び端線510を通して負荷平衡器仮想サービスモジュール507に接続する。従って、構成502に示すように、SSL仮想サービスモジュールバージョンII508及びSSL仮想サービスモジュールバージョンI506は、並行して動作している。
次にシステムは、如何なる新しいフローデータも、新たに実行されたSSL仮想サービスモジュールバージョンII508に向ける。SSL仮想サービスモジュール508は、新しいデータフローを処理し、その後、そのデータを負荷平衡器仮想サービスモジュール507に送る。しばらくの間、システムは、既存のデータフローをSSL仮想サービスモジュールバージョンI506に向け続ける。この並列処理は、ある一定の条件が満たされるまで続く。一実施形態では、その条件は、処理を待つ既存フローのあらかじめ指定されたデータ量とすることができる。代替の実施形態では、その条件は、あらかじめ指定された期間とすることができる。この条件が達成される前はいつでも、アップグレードは、管理仮想ラックのユーザーインターフェースを通して、即座に中止され得る。
条件が満たされると、システムは、全てのトラフィックを新しいSSL仮想サービスモジュール508に向ける。SSL仮想サービスモジュール508が安定すると、システムは、仮想サービスモジュール506とファイアウォール仮想サービスモジュール505の間の、及び仮想サービスモジュール506と負荷平衡器仮想モジュール507の間の、端線511及び512をそれぞれ切断する。その後、SSL仮想サービスモジュール506は終了され、構成503に示すようにグラフから削除される。結果として、SSL仮想サービスモジュールのサービスは動的にアップグレードされて、元々SSL仮想サービスモジュール506によって提供されているサービスは中断されない。
アップグレードが中止されるとき、システムは、全ての新しいフローデータを古いSSL仮想サービスモジュールバージョンI506に向ける。システムは、端線509及び510を切断する。これは、仮想ラックを、アップグレードが開始される前のその元の状態に持っていく。SSL仮想サービスモジュール508を通り抜け始めた全てのフローは、システムにより終了される。SSL仮想サービスモジュールバージョンI506を通り抜けていた古いフローは、何の変更もなく通り抜け続けるであろう。
図5Bは、本発明の実施形態に従って仮想サービスモジュールをアップグレードする例示的な方法、を示すフローチャートを示している。一実施形態では、その方法は、第二のノード及び第三のノードと接続する第一のサービスを持つ第一のノードを変更する要求の処理、を示している。その方法は、第一のノードで動的に第二のサービスを起動すること、その第二のサービスを第二及び第三のノードと接続すること、サービスの要求をその第二のサービスに向けること、及び第一のサービスを終了させること、を含む。代替の実施形態では、その方法はさらに、サービスの要求がデータの新しいセッションから生じているか定め、サービスの要求がデータの新しいセッションから生じる場合にはそのサービスの要求を第二のサービスに送り、サービスの要求がデータの既存のセッションから生じる場合にはそのサービスの要求を第一のサービスに送ること、を含む。
図5Bを参照すると、アップグレード要求が受け取られるとき、ブロック551で、システムは、動的に新しいサービス(例えば、アップグレードされたバージョンを持つ仮想サービスモジュールのインスタンス)を起動する一方で、既存のサービス(例えば、アップグレードされる必要のある既存の仮想サービスモジュール)が、第一のノードから第二のノードへのデータフローをまだ処理している。ブロック552で、システムは、新しい仮想サービスモジュールを第一及び第二のノードに接続する。ブロック553で、システムは次に、データの新たなフローを新しい仮想サービスモジュールに向ける一方で、データの既存のフローを処理のための既存の仮想サービスモジュールに向ける。従って、データの新たなフロー及び既存のフローが、新たな仮想サービスモジュール及び既存の仮想サービスモジュールによって、それぞれ並列に処理される。ブロック554では、システムが、あらかじめ指定された条件が満たされたか調べる。一実施形態では、その条件は、まだ処理されていないデータの既存のフローの量とすることができる。代替の実施形態では、その条件は、残された期間とすることができる。他の条件を利用することもできる。その条件が満たされるまで、並列処理が続く。条件が満たされると、ブロック555で、システムは、全てのデータフローを新しい仮想サービスモジュールに向け、ブロック556で、既存の仮想サービスモジュールを終了させる。
従って、サービスモジュールの既存のインスタンスとは異なる機能を持つサービスモジュールの新しいインスタンスが、プログラム実行の間、具体的には初期起動段階の後長く、ロードすることができる。サービスモジュールの新しいインスタンスは、如何なる他のコンポーネントのダウンタイムも引き起こすことなく機能を付加するように、新しいインスタンスのインストールの間、既存のインスタンスのネットワークルーティングパスをミラーする。
ある実施形態では、ブロック557で、システムが、変更が中止されたか調べる。変更が中止される場合、ブロック558で、システムは、全ての新しいデータフローを古いサービスに向ける。システムは、新しいサービスを通る新しいフローを終了させる。またシステムは、古いサービスを通る古いフローを続ける。ブロック559では、次にシステムが、新しいサービスを終了させる。
図6Aは、本発明の実施形態に従う仮想ネットワークシステムのトポロジーの変更を示す例示的なブロック図を示している。図6Aを参照すると、一実施形態では、トポロジーの初期構成601が、ルーターVSM604、ファイアウォールVSM605、セキュアソケットレイヤー(SSL)VSM606、及び負荷平衡器VSM607を通して、データフローを処理する。変更要求(例えば、VPN VSMをグラフに付加する)が受け取られるとき(例えば、管理仮想ラックのユーザーインターフェースを通して)、VPN VSM608のインスタンスが起動される。VPN VSM608が起動されると、システムは、VPN VSM608を、端線609を通ってファイアウォールVSM605に、及び端線610を通って負荷平衡器VSM607に、接続する。従って、構成602に示すように、VPN VSM608、及び、VSM606及びVSM605を接続する端線611が、並列に動作している。
次にシステムは、如何なる新しいフローデータも、新たに実行されたVPN VSM608に向ける。VPN VSM608は、新しいデータフローを処理し、その後、そのデータをSSL VSM606に送る。しばらくの間、システムは、既存のデータフローを、端線611を通してSSL VSM606に向け続ける。この並列処理は、ある一定の条件が満たされるまで続く。一実施形態では、その条件は、処理を待つ既存フローのあらかじめ指定されたデータ量とすることができる。代替の実施形態では、その条件は、あらかじめ指定された期間とすることができる。
ある実施形態では、完遂すべき条件が満たされる前はいつでも、トポロジーの変更は中止され得る。初めに条件が満たされない場合には、構成は603のようである。条件が満たされる前に変更が中止される場合には、元の構成601に逆戻りする。
条件が満たされると、システムは、全てのトラフィックを新しいVPN VSM608に向ける。システムは、VPN VSM608からのフローの全ての古い関連パケットをクリアすると、SSL VSM606とファイアウォールVSM605の間の端線611を切断する。結果として、VPN VSMサービスが動的にグラフに付加されて、端線611によって元々提供されているサービスは中断されない。
変更が中止される場合には、システムは、新しいフローデータの全てを、端線611を通してSSL仮想サービスモジュール606に向ける。システムは、端線609、VPN仮想サービスモジュール608、及び端線610を通り抜ける如何なるフローも終了させる。システムは、既存のデータフローを、端線611を通してSSL VSM606に向け続ける。システムは、端線609及び610、及びVPN仮想サービスモジュール608を切断する。このように、元のトポロジーを復元する。
図6Bは、本発明の実施形態に従ってトポロジーを変更する例示的な方法、を示すフローチャートを示している。一実施形態では、その方法は、ネットワーク環境内の第一のノードと第二のノードの間に直接接続を持つトポロジーを変更する要求の処理を示している。その方法は、第一のノードと第二のノードの間に付加されることを意図する新しいサービスを動的に起動すること、その新しいサービスを第一及び第二のノードと接続すること、サービスの要求を第一のノードから新しいサービスに向け、その後その要求を第二のノードに送ること、及び第一と第二のノードの間の直接接続を終了させること、を含む。代替の実施形態では、その方法は、サービスの要求がデータの新たなセッションから生じているか定め、サービスの要求がデータの新しいセッションから生じる場合には、そのサービスの要求を新しいサービスに送り、サービスの要求がデータの既存のセッションから生じる場合には、そのサービスの要求を第一のノードと第二のノードの間の直接接続に送ること、をさらに含む。
図6Bを参照すると、要求が受け取られるとき、ブロック651で、システムは新しいサービスを動的に起動し、そのサービスは第一のノードと第二のノードの間に付加されることを意図しており、第一及び第二のノードは端線を通して互いに直接接続される。新しいサービスが起動された後、ブロック652で、システムは、新しいサービスを第一及び第二のノードに接続する。次にシステムは、新しいデータフローを第一のノードから新しいサービスに向け、その新しいサービスが新しいデータフローを処理し、そのデータを第二のノードに送る。
しばらくの間、第一のノードは、第一及び第二のノードと直接接続する端線を通して直接、第二のノードに既存のデータフローを送り続ける。これら並列処理は、ブロック654でシステムによって調べられて、ある一定の条件が満たされるまで続く。条件が満たされる場合には、ブロック655で、システムが、第一のノードに全てのデータフローを新しいサービスに送るように指示し、新しいサービスがそのデータを処理し、第二のノードに送る。新しいサービスが起動し動作していると、ブロック656で、システムが、第一と第二のノードを直接接続する端線を切断する。
ある実施形態では、ブロック657で、システムが、変更が中止されたか調べる。変更が中止される場合には、ブロック658で、システムが、第一のノードに全てのデータを第二のノードに送らせる。ブロック659で、次にシステムが、第一のサービスノードを切断する。
図7Aは、本発明の実施形態に従う仮想ネットワークシステムのトポロジーの変更、を示す例示的なブロック図を示している。図7Aを参照すると、一実施形態では、トポロジーの初期構成701が、ルーターVSM704、ファイアウォールVSM705、VPN VSM706、及び負荷平衡器VSM707を通して、データフローを処理する。変更要求(例えば、VPN VSM706をグラフから削除する)が受け取られるとき(例えば、管理仮想ラックのユーザーインターフェースを通して)、ファイアウォールVSM705及び負荷平衡器VSM707を接続するように端線708が作成される。
端線708が作成され、接続されると、如何なる新しいデータフローも端線708を通して負荷平衡器VSM707に直接送るように、システムがファイアウォールVSM705に指示する一方で、既存のデータフローは、ファイアウォールVSM705によって、VPN VSM706を通って負荷平衡器VSM707に送られる。従って、構成702に示すように、端線708及びVPN VSM706は並行して動作している。この並列処理は、ある一定の条件が満たされるまで続く。一実施形態では、その条件は、処理を待つ既存のフローのあらかじめ指定されたデータ量とすることができる。代替の実施形態では、その条件は、あらかじめ指定された期間とすることができる。
ある実施形態では、上で説明するように、変更が中止される場合には、データパケットの新しいフローを切り替え、データパケットの既存のフローを続ける。
条件が満たされると、システムは、全てのトラフィックを、端線708を通して直接、ファイアウォール705から負荷平衡器VSM707に向ける。端線708のデータ処理が安定すると、システムが、VPN VSM706とファイアウォールVSM705の間、及びVPN VSM706と負荷平衡器VSM707の間の、端線709及び710を切断する。その後、VPN VSM706が終了され、グラフから削除される。結果として、VPN VSMサービスが動的にグラフから削除されて、VPM VSM706によって元々提供されているサービスは中断されない。
図7Bは、本発明の実施形態に従ってトポロジーを変更する例示的な方法、を示すフローチャートを示している。一実施形態では、その方法は、第一のノード、第二のノード、及び第三のノードを持つトポロジーを変更する要求の処理を示しており、第一のノードは第二のノードに直接接続されていて、第二のノードは第三のノードに直接接続されている。その方法は、第一のノード及び第三のノードを動的に接続すること、サービスの要求を第一のノードから第二のノードに直接送ること、及び第二のノードを終了させること、を含む。代替の実施形態では、その方法は、サービスの要求がデータの新しいセッションから生じているか定め、サービスの要求がデータの新しいセッションから生じる場合には、サービスの要求を第一のノードから第三のノードへ直接送り、サービスの要求がデータの既存のセッションから生じる場合には、サービスの要求を第一のノードから第二のノードへ、及び第二のノードから第三のノードへ送ること、をさらに含む。
図7Bを参照すると、要求が受け取られるとき、ブロック751で、システムが第一及び第三のノードを動的に接続し、そこでは第一及び第三のノードが、間に第二のノードを通って接続される。第一及び第三のノードの間の接続が作成されると、ブロック752で、システムは、新しいデータフローを、第一のノードと第三のノードの間の直接接続に向ける。しばらくの間、第二のノードはまだ、第一のノードから受け取られる既存のデータフローを処理しており、その後、データを第三のノードに送る。この並列処理は、ブロック753で一連の条件が満たされるまで続く。そのときブロック754で、システムは、第一のノードからの全てのデータフローを、第二のノードを通り抜けることなく直接、第三のノードに向ける。ブロック755で、第二ノードはもはや必要とされていないので、終了され、グラフから削除される。
ある実施形態では、ブロック757で、変更が中止されたか、システムが調べる。変更が中止される場合には、ブロック758で、システムが、全ての新しいデータフローを第一のノードから第二のノードに送る。また、システムは、第一のノードと第三のノードの間を通る如何なる残りのフローも終了させる。ブロック759で、システムが、第一のノード及び第三のノードを接続する端線を削除する。
一実施形態では、アルゴリズムを促進するために使用されるソフトウェアを、コンピューター読み取り可能な媒体上で具現化することができる。コンピューター読み取り可能な媒体は、マシン(例えば、コンピューター)によって読み取り可能な形で情報を提供する(例えば、格納する及び/又は送る)如何なる機構、も含む。例えば、マシン読み取り可能な媒体は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光学ストレージ媒体、フラッシュメモリデバイス、DVD、電気,光,音響,又は他の形の伝播信号(例えば、搬送波、赤外線信号、デジタル信号)のEPROM、EEPROM、FLASH、磁気又は光学カード、又は電子命令を格納するために適した任意の形式の媒体、を含む。より低速な媒体は、より高速、より実用的な媒体にキャッシュされることができるであろう。
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットの操作のアルゴリズム及び記号表現の観点で示されている。これらアルゴリズム的説明及び表現は、データ処理分野の当業者が、最も効果的に彼らの作業の実体を他の当業者に伝えるために使用する手段、である。ここでアルゴリズムは、一般的に、望まれる結果に導くステップの自己矛盾のないシーケンスであると考えられる。そのステップは、物理量の物理操作を要求するものである。必ずしもそうではないが、通常、これらの量は、格納、転送、合成、比較、及びその他の方法で操作されることのできる電気又は磁気信号の形をとる。これらの信号をビット、値、要素、記号、文字、用語、番号等として参照することは、主に一般的使用の理由のため、時々便利であると判明する。
しかしながら、これら及び同様の単語の全ては適切な物理量と関連付けられ、これらの量に適用される単なる便利なラベルにすぎないことを、念頭に置くべきである。上述の説明から明らかなように特に述べない限り、説明全体にわたって、「処理する」又は「演算する」又は「計算する」又は「定める」又は「表示する」等のような用語を利用する議論は、コンピューターシステム又は同様な電気コンピューティングデバイスの動作及び処理を参照し、これは、コンピューターシステムのレジスタ及びメモリ内で物理(電気)量で表されるデータを操作し、コンピューターシステムのメモリ又はレジスタ、又は他のそのような情報ストレージ、伝達、又は表示デバイス内で同様に物理量で表される他のデータに変換する、ということを理解する。
本発明の幾つかの具体的な実施形態が示される一方で、本発明はこれらの実施形態に限定されるべきではない。本発明は、本出願で説明する特定の実施形態によって限定されるのではなく、添付の特許請求の範囲の技術的範囲によってのみ限定されるものとして理解すべきである。
複数の個別のネットワークを含んで、複数のユーザーの固有のネットワーク要求に応えるネットワークシステムの実施形態を示している。 一又はそれ以上の機能を実行して、ネットワークシステム内のパケットを処理するネットワーク要素、を表すようにモデル化された仮想サービスモジュールのアーキテクチャの実施形態を示している。 仮想サービスモジュールのコンテナアーキテクチャ、及びその仮想サービスモジュールの物理層へのマッピング、の実施形態を示している。 仮想ネットワーク要素及び物理ネットワーク要素から構成されるトポロジー、を持つ個々のネットワークの実施形態を示している。 本発明の実施形態に従う仮想サービスモジュールのアップグレード、を示す例示的なブロック図を示している。 本発明の実施形態に従って仮想サービスモジュールをアップグレードする例示的な方法、を示すフローチャートを示している。 本発明の実施形態に従う仮想ネットワークシステムのトポロジーの変更、を示す例示的なブロック図を示している。 本発明の実施形態に従ってトポロジーを変更する例示的な方法、を示すフローチャートを示している。 本発明の実施形態に従う仮想ネットワークシステムのトポロジーの変更、を示す例示的なブロック図を示している。 本発明の実施形態に従ってトポロジーを変更する例示的な方法、を示すフローチャートを示している。

Claims (32)

  1. 一又はそれ以上の機能を実行してネットワークシステム内のパケットを処理するネットワーク要素を表すようにモデル化されたサービスモジュールを備え、
    前記サービスモジュールが、コンテナプログラム内に埋め込まれ、データ、及びその関連処理ソフトウェアの内蔵モジュールであり、該関連処理ソフトウェアが、実行可能なコード、並びに前記サービスモジュールを前記ネットワークシステムと統合するメタデータの両方を含むアーカイブファイルを持つ、
    ことを特徴とする装置。
  2. 前記サービスモジュールが、複数のサブコンポーネントから構成される上層の抽象概念からなり、
    前記サブコンポーネントが、
    仮想ネットワークグラフ内部のコンポーネントと接続する管理コンポーネント、
    前記仮想ネットワークグラフを通るパケットのパスを定めるパケット処理コンポーネント、及び、
    前記パケット処理コンポーネント内の命令が達成できることを超えて、パケットを処理するフローセットアップコンポーネント、
    を含む請求項1記載の装置。
  3. 前記サービスモジュールがオブジェクトクラスに属し、前記サービスモジュールの一又はそれ以上のインスタンスが存在し、前記サービスモジュールの第一のインスタンスが前記サービスモジュールの第二のインスタンスとは異なるバージョン情報を持つ、
    請求項1記載の装置。
  4. 前記ネットワーク要素が、ルーター、イーサーネットスイッチ、仮想私設ネットワーク、ファイアウォール、負荷平衡器、ブリッジ、及びネットワークアドレス変換器から構成されるグループの1つである、
    請求項1記載の装置。
  5. 前記メタデータが、前記サービスモジュールによってサポートされる様々な構成パラメータ、及びコマンドラインインターフェースを通して前記サービスモジュールを構築するように要求される特定のコマンド、を説明する情報を含む、
    請求項1記載の装置。
  6. 前記コンテナプログラムは、第一のサービスモジュールが第二のサービスモジュールと相互作用するための共通環境を提供する、
    請求項1記載の装置。
  7. 前記コンテナプログラムがオペレーティングシステムを備える、
    請求項1記載の装置。
  8. 前記コンテナプログラム内に埋め込む第一のサービスモジュールと、
    前記コンテナプログラム内に埋め込む第二のサービスモジュールと、
    をさらに備え、前記第二のサービスモジュールが、前記第一のサービスモジュールへの直接オブジェクト参照なしで、前記コンテナプログラムを介して、前記第一のサービスモジュールと情報通信を行う、
    請求項1記載の装置。
  9. 前記実行可能なコードが、前記サービスモジュールをインストール及び削除する命令に加えて、構成情報で前記サービスモジュールを構築する命令を含む、
    請求項1記載の装置。
  10. 前記サービスモジュールが、当該サービスモジュール専用の物理処理能力及びメモリ容量にマッピングされる、
    請求項1記載の装置。
  11. 前記サービスモジュールをコンピューター読み取り可能な媒体に収容する、
    請求項1記載の装置。
  12. 複数の個別のネットワークから構成される仮想グラフ、
    専用の処理及びメモリリソースを持ち、第一のユーザーと関連付けられる第一の個別のネットワーク、及び、
    第二のユーザーと関連付けられる第二の個別のネットワーク、
    を備え、前記第二の個別のネットワークが専用の処理及びメモリリソースを持ち、前記第一の個別のネットワーク専用の処理及びメモリリソースが、前記第二の個別のネットワーク専用の処理及びメモリリソースから独立している、
    ことを特徴とするネットワークシステム。
  13. 前記第一の個別のネットワークのトポロジー内に含まれる二又はそれ以上のサービスモジュール、
    をさらに備え、第一のサービスモジュールがネットワーク要素を表すようにモデル化され、前記二又はそれ以上のサービスモジュールが、任意のトポロジー内の前記第一の個別のネットワーク内に配置可能である、
    請求項12記載のネットワークシステム。
  14. 前記第一の個別のネットワークが、ネットワーク要素を表すようにモデル化された第一のサービスモジュールを含み、前記第二の個別のネットワークが、ネットワーク要素を表すようにモデル化された第二のサービスモジュールを含み、前記第一の個別のネットワークのトポロジーが、前記第二の個別のネットワークのトポロジー内に含まれるのとは異なるネットワーク要素から構成されている、
    請求項12記載のネットワークシステム。
  15. 前記第一の個別のネットワークが、全ての仮想アドレス空間を収容するグローバルドメイン内の第一の仮想アドレス空間にマッピングし、前記第二の個別のネットワークが、全ての仮想アドレス空間を収容するグローバルドメイン内の第二の仮想アドレス空間にマッピングする、
    請求項12記載のネットワークシステム。
  16. 前記第一の個別のネットワークが、ネットワーク要素を表すようにモデル化された第一のサービスモジュールを含み、前記第一のサービスモジュールの新しいインスタンスが、前記第一のサービスモジュールの既存のインスタンスとは異なる機能を持って、プログラム実行の間、動的にロードするようになった、
    請求項12記載のネットワークシステム。
  17. 前記新しいインスタンスのインストールの間、機能の付加が他のコンポーネントのいずれにおいてもダウンタイムを引き起こさないように、前記新しいインスタンスが、前記既存のインスタンスのネットワークルーティングパスをミラーするようになった、
    請求項16記載のネットワークシステム。
  18. 前記第一の個別のネットワークが、ネットワーク要素を表すようにモデル化された第一のサービスモジュールを含み、前記第一のサービスモジュールの第一のインスタンスがコンテナプログラム内に埋め込まれており、前記サービスモジュールの第二のインスタンスが前記コンテナプログラム内に埋め込まれていて、特定の形式のネットワーク要素を表すようにモデル化された同じサービスモジュールの複数のインスタンスを独立してアップグレードすることを可能にする、
    請求項12記載のネットワークシステム。
  19. トークンバケットアルゴリズムを用いて、各個別のネットワークが、その個別のネットワーク専用の処理及びメモリを受け取ることを確実にするリソース管理回路、
    をさらに備える請求項12記載のネットワークシステム。
  20. 前記第一の個別のネットワークのトポロジーが、ネットワーク要素及び前記仮想グラフ外部の物理ネットワーク要素を表すようにモデル化された第一のサービスモジュールを含む、
    請求項12記載のネットワークシステム。
  21. 複数の個別のネットワークから構成される仮想グラフと、
    ネットワーク要素の第一のセットを表すようにモデル化された第一の複数のサービスモジュールを含む、第一のユーザーと関連付けられる第一の個別のネットワークと、
    第二のユーザーと関連付けられる第二の個別のネットワークと、
    を備え、前記第二の個別のネットワークがネットワーク要素の第二のセットを表すようにモデル化された第二の複数のサービスモジュールを含み、前記ネットワーク要素の第二のセットが、前記第二の個別のネットワーク内に含まれるネットワーク要素の形式、及びトポロジー配列の点で、前記ネットワーク要素の第一のセットとは異なる、
    ことを特徴とするネットワークシステム。
  22. 前記第一の複数のサービスモジュールが、コンテナプログラム内に埋め込まれる第一のサービスモジュールを含み、前記第一のサービスモジュールが、データ、及びその関連処理ソフトウェアの内蔵モジュールであり、該関連処理ソフトウェアが、実行可能なコード、並びに前記サービスモジュールを前記ネットワークシステムと統合するメタデータの両方を含むアーカイブファイルを持つ、
    請求項21記載のネットワークシステム。
  23. 前記第一の個別のネットワークが、固有仮想アドレス空間、専用の処理能力、及び専用のメモリを持って、前記第一の個別のネットワークを、論理的及び物理的に前記第二の個別のネットワークとは異なるようにする、
    請求項21記載のネットワークシステム。
  24. 前記専用の処理能力がトークンバケットアルゴリズムを用いる、
    請求項23記載のネットワークシステム。
  25. 前記第一の複数のサービスモジュールが第一のサービスモジュールを含み、前記ネットワークシステムが、プログラム実行の間、パケットフローの中断なしに、前記第一のサービスモジュールをロード、削除、構築、又は変更する、
    請求項21記載のネットワークシステム。
  26. 複数の個別のネットワークから構成される前記仮想グラフが、単一のコンピューティングマシン上に収容される、
    請求項21記載のネットワークシステム。
  27. 前記第一のユーザーと関連付けられる前記第一の個別のネットワークがまた、前記単一のコンピューティングマシン外部の物理ネットワーク要素を含む、
    請求項26記載のネットワークシステム。
  28. 前記サービスモジュール専用の処理能力及びメモリ空間を持つ、前記ネットワークシステム内の物理層、
    をさらに備える請求項1記載の装置。
  29. 複数の個別のネットワークから構成される前記仮想グラフが、ネットワークによって接続された複数のコンピューティングマシン上に収容される、
    請求項21記載のネットワークシステム。
  30. 前記第一のユーザーと関連付けられる前記第一の個別のネットワークがまた、前記複数のコンピューティングマシンを接続する前記ネットワーク外部の物理ネットワーク要素を含む、
    請求項29記載のネットワークシステム。
  31. 一又はそれ以上の機能を実行して、ネットワークシステム内のパケットを処理するネットワーク要素、を表すようにモデル化されたソフトウェアモジュールを格納するコンピューター読み取り可能な媒体、
    を備え、前記ソフトウェアモジュールが、複数のサブコンポーネントから構成される上層抽象概念で構成され、
    前記サブコンポーネントが、
    仮想ネットワークグラフ内部のコンポーネントと接続する管理コンポーネント、
    前記仮想ネットワークグラフを通るパケットのパスを定めるパケット処理コンポーネント、及び、
    前記パケット処理コンポーネント内の命令が達成できることを超えて、パケットを処理するフローセットアップコンポーネント、
    を含むことを特徴とする装置。
  32. 前記ソフトウェアモジュールが、データ、及びその関連処理ソフトウェアの内蔵モジュールであり、該関連処理ソフトウェアが、実行可能なコード、並びに前記ソフトウェアモジュールを前記ネットワークシステムと統合するメタデータの両方を含むアーカイブファイルを持つ、
    請求項31記載の装置。
JP2003586783A 2002-04-19 2003-03-14 仮想サービスモジュールを持つネットワークシステム Pending JP2005523621A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/126,300 US7197553B2 (en) 2002-04-19 2002-04-19 Network system having a virtual-service-module
PCT/US2003/008272 WO2003090108A1 (en) 2002-04-19 2003-03-14 A network system having a virtual-service-module

Publications (1)

Publication Number Publication Date
JP2005523621A true JP2005523621A (ja) 2005-08-04

Family

ID=29214995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003586783A Pending JP2005523621A (ja) 2002-04-19 2003-03-14 仮想サービスモジュールを持つネットワークシステム

Country Status (7)

Country Link
US (1) US7197553B2 (ja)
EP (1) EP1499991A4 (ja)
JP (1) JP2005523621A (ja)
CN (1) CN100568216C (ja)
AU (1) AU2003225847A1 (ja)
CA (1) CA2483209A1 (ja)
WO (1) WO2003090108A1 (ja)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272643B1 (en) 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US7487232B1 (en) * 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7111072B1 (en) 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7574495B1 (en) 2000-09-13 2009-08-11 Fortinet, Inc. System and method for managing interworking communications protocols
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US7246178B2 (en) * 2002-05-07 2007-07-17 Nortel Networks Limited Methods and systems for changing a topology of a network
US7177311B1 (en) * 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7161904B2 (en) 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7116665B2 (en) 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
CA2572401A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
JP2008507928A (ja) 2004-07-23 2008-03-13 サイトリックス システムズ, インコーポレイテッド ネットワークノード間の通信を最適化するためのシステムおよび方法
CN101076992A (zh) 2004-08-13 2007-11-21 塞特里克斯系统公司 在多个远程访问服务器之间维持事务完整性的方法
US7499419B2 (en) 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US7808904B2 (en) * 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
CN101147379B (zh) 2005-01-24 2011-05-25 茨特里克斯系统公司 在网络中对动态产生的对象执行缓存的系统和方法
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US9946585B1 (en) * 2005-06-30 2018-04-17 Oracle America, Inc. System and method for asset module isolation
EP1934794B1 (en) * 2005-09-15 2017-08-02 CA, Inc. Apparatus, method and system for rapid delivery of distributed applications
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US20070239505A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
CN100488153C (zh) * 2006-04-06 2009-05-13 中国科学院计算技术研究所 虚拟网络服务派生和使用方法及装置
US8327656B2 (en) 2006-08-15 2012-12-11 American Power Conversion Corporation Method and apparatus for cooling
US8322155B2 (en) 2006-08-15 2012-12-04 American Power Conversion Corporation Method and apparatus for cooling
US9568206B2 (en) 2006-08-15 2017-02-14 Schneider Electric It Corporation Method and apparatus for cooling
US7681404B2 (en) 2006-12-18 2010-03-23 American Power Conversion Corporation Modular ice storage for uninterruptible chilled water
US8425287B2 (en) 2007-01-23 2013-04-23 Schneider Electric It Corporation In-row air containment and cooling system and method
US7739690B2 (en) * 2007-04-26 2010-06-15 Microsoft Corporation Meta-container for model-based distributed applications
CN101755495B (zh) 2007-05-15 2013-10-16 美国能量变换公司 用来管理设施供电和冷却的方法和系统
US8910234B2 (en) * 2007-08-21 2014-12-09 Schneider Electric It Corporation System and method for enforcing network device provisioning policy
US20090052444A1 (en) * 2007-08-24 2009-02-26 At&T Bls Intellectual Property, Inc. Methods, systems, and computer program products for providing multi-service communication networks and related core networks
US8549347B1 (en) * 2010-12-20 2013-10-01 Amazon Technologies, Inc. Techniques for network replication
US8180616B1 (en) * 2008-12-18 2012-05-15 Xilinx, Inc. Component tracing in a network packet processing device
US8370855B2 (en) * 2008-12-23 2013-02-05 International Business Machines Corporation Management of process-to-process intra-cluster communication requests
US9009214B2 (en) 2008-12-23 2015-04-14 International Business Machines Corporation Management of process-to-process inter-cluster communication requests
US8240473B2 (en) * 2008-12-23 2012-08-14 Honda Motor Co., Ltd. Headliner packaging system with hinged clamp
US8499029B1 (en) 2008-12-23 2013-07-30 International Business Machines Corporation Management of process-to-process communication requests
US9098354B2 (en) * 2008-12-23 2015-08-04 International Business Machines Corporation Management of application to I/O device communication requests between data processing systems
US8521895B2 (en) * 2008-12-23 2013-08-27 International Business Machines Corporation Management of application to application communication requests between data processing systems
US9519517B2 (en) * 2009-02-13 2016-12-13 Schneider Electtic It Corporation Data center control
US8560677B2 (en) * 2009-02-13 2013-10-15 Schneider Electric It Corporation Data center control
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US20100299362A1 (en) * 2009-05-24 2010-11-25 Roger Frederick Osmond Method for controlling access to data containers in a computer system
US9015198B2 (en) * 2009-05-26 2015-04-21 Pi-Coral, Inc. Method and apparatus for large scale data storage
US8339994B2 (en) * 2009-08-27 2012-12-25 Brocade Communications Systems, Inc. Defining an optimal topology for a group of logical switches
US9014184B2 (en) 2009-09-24 2015-04-21 Nec Corporation System and method for identifying communication between virtual servers
WO2011043416A1 (ja) * 2009-10-07 2011-04-14 日本電気株式会社 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム
US8909781B2 (en) * 2010-05-24 2014-12-09 Pi-Coral, Inc. Virtual access to network services
US8516032B2 (en) * 2010-09-28 2013-08-20 Microsoft Corporation Performing computations in a distributed infrastructure
US8724645B2 (en) 2010-09-28 2014-05-13 Microsoft Corporation Performing computations in a distributed infrastructure
CN104137660B (zh) 2011-12-22 2017-11-24 施耐德电气It公司 用于在电子系统中预测温度值的系统和方法
AU2011384046A1 (en) 2011-12-22 2014-07-17 Schneider Electric It Corporation Analysis of effect of transient events on temperature in a data center
AU2011384034A1 (en) 2011-12-22 2014-07-10 Schneider Electric It Corporation Systems and methods for reducing energy storage requirements in a data center
US9952909B2 (en) * 2012-06-20 2018-04-24 Paypal, Inc. Multiple service classes in a shared cloud
GB2503463A (en) 2012-06-27 2014-01-01 Ibm Overriding abstract resource manager methods to provide resources to implement nodes in a service definition
US9992062B1 (en) 2012-07-06 2018-06-05 Cradlepoint, Inc. Implicit traffic engineering
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US9118495B1 (en) 2012-07-06 2015-08-25 Pertino, Inc. Communication between broadcast domains
US10177957B1 (en) * 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10880162B1 (en) 2012-07-06 2020-12-29 Cradlepoint, Inc. Linking logical broadcast domains
US10601653B2 (en) 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
US9929919B2 (en) * 2012-10-30 2018-03-27 Futurewei Technologies, Inc. System and method for virtual network abstraction and switching
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US9973375B2 (en) * 2013-04-22 2018-05-15 Cisco Technology, Inc. App store portal providing point-and-click deployment of third-party virtualized network functions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US9311123B2 (en) * 2013-07-02 2016-04-12 Hillstone Networks, Corp. Distributed virtual security appliance and flow-based forwarding system using virtual machines
CN104579732B (zh) * 2013-10-21 2018-06-26 华为技术有限公司 虚拟化网络功能网元的管理方法、装置和系统
IN2013CH05013A (ja) 2013-11-07 2015-05-08 Schneider Electric It Corp
US9298485B2 (en) 2013-11-19 2016-03-29 International Business Machines Corporation Maintaining virtual machines for cloud-based operators in a streaming application in a ready state
WO2015113278A1 (zh) * 2014-01-29 2015-08-06 华为技术有限公司 虚拟网络功能的升级方法和网络功能虚拟化编排器
CN105282765A (zh) * 2014-06-30 2016-01-27 中兴通讯股份有限公司 一种管理配置信息的方法、设备及网元管理系统
US10230589B2 (en) * 2014-12-12 2019-03-12 Oracle International Corporation Methods, systems, and computer readable media for configuring service networks
US9866408B2 (en) 2014-12-12 2018-01-09 Oracle International Corporation Methods, systems, and computer readable media for configuring a flow interface on a network routing element
CN106201566B (zh) * 2015-05-07 2019-08-23 阿里巴巴集团控股有限公司 利博伟特软件热升级方法及设备
US9843499B2 (en) * 2015-07-27 2017-12-12 General Motors Llc Distributed database server network and maintenance process
US10261782B2 (en) * 2015-12-18 2019-04-16 Amazon Technologies, Inc. Software container registry service
CN107528714B (zh) * 2016-06-22 2023-01-20 中兴通讯股份有限公司 脚本处理方法、装置、系统及路由器
US10283249B2 (en) 2016-09-30 2019-05-07 International Business Machines Corporation Method for fabricating a magnetic material stack
CN107967140B (zh) 2016-10-18 2021-08-03 华为技术有限公司 软件修改的发起方法、发布元数据的方法及装置
CN106789304B (zh) * 2016-12-29 2019-12-06 杭州迪普科技股份有限公司 网络设备配置同步方法和装置
CN111682956B (zh) * 2020-04-28 2023-07-28 平安银行股份有限公司 一种网络升级方法、设备、服务器及可读存储介质
CN113552813B (zh) * 2021-09-18 2021-12-24 北京翔东智能科技有限公司 智能家电组网控制系统
CN117176781B (zh) * 2023-11-01 2024-03-26 北京融为科技有限公司 点对点组网方法及装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8817288D0 (en) 1988-07-20 1988-08-24 Racal Milgo Ltd Methods of & networks for information communication
US5577028A (en) 1990-08-31 1996-11-19 Fujitsu Limited Routing system using a neural network
US5481735A (en) 1992-12-28 1996-01-02 Apple Computer, Inc. Method for modifying packets that meet a particular criteria as the packets pass between two layers in a network
SE9402059D0 (sv) 1994-06-13 1994-06-13 Ellemtel Utvecklings Ab Sätt och anordning vid telekommunikation
US5526414A (en) 1994-10-26 1996-06-11 Northern Telecom Limited Dynamically controlled routing using virtual nodes
US5550816A (en) 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5598410A (en) 1994-12-29 1997-01-28 Storage Technology Corporation Method and apparatus for accelerated packet processing
US5583862A (en) 1995-03-28 1996-12-10 Bay Networks, Inc. Method and apparatus for routing for virtual networks
US5592622A (en) 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5636371A (en) 1995-06-07 1997-06-03 Bull Hn Information Systems Inc. Virtual network mechanism to access well known port application programs running on a single host system
US5764736A (en) 1995-07-20 1998-06-09 National Semiconductor Corporation Method for switching between a data communication session and a voice communication session
US6055618A (en) 1995-10-31 2000-04-25 Cray Research, Inc. Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel
US5684800A (en) 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US5805587A (en) 1995-11-27 1998-09-08 At&T Corp. Call notification feature for a telephone line connected to the internet
JP3609562B2 (ja) 1996-11-15 2005-01-12 株式会社日立製作所 ネットワーク管理システム
US5781624A (en) 1996-02-16 1998-07-14 Lucent Technologies Inc. Method for sharing network resources by virtual partitioning
US5809025A (en) 1996-03-15 1998-09-15 Motorola, Inc. Virtual path-based static routing
US6085238A (en) 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US6108689A (en) 1996-10-11 2000-08-22 International Business Machines Corporation Method and system for processing messages in a distributed computing environment
JP3688408B2 (ja) 1996-10-29 2005-08-31 株式会社東芝 パケット転送制御方法及びノード装置
US5917899A (en) * 1996-12-17 1999-06-29 Ameritech Corporation Method of connecting a plurality of virtual networks
US6172990B1 (en) 1997-06-19 2001-01-09 Xaqti Corporation Media access control micro-RISC stream processor and method for implementing the same
US6178453B1 (en) 1997-02-18 2001-01-23 Netspeak Corporation Virtual circuit switching architecture
US5852607A (en) 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US6178183B1 (en) 1997-05-21 2001-01-23 International Business Machines Corporation Method and apparatus for receiving conventional telephone calls while connected to the internet
US5918074A (en) 1997-07-25 1999-06-29 Neonet Llc System architecture for and method of dual path data processing and management of packets and/or cells and the like
US6069895A (en) 1997-08-29 2000-05-30 Nortel Networks Corporation Distributed route server
US6041058A (en) 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US6658480B2 (en) 1997-10-14 2003-12-02 Alacritech, Inc. Intelligent network interface system and method for accelerated protocol processing
US6741693B1 (en) * 2000-06-22 2004-05-25 Sbc Properties, L.P. Method of operating a virtual private network
US6101181A (en) 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
US6047330A (en) 1998-01-20 2000-04-04 Netscape Communications Corporation Virtual router discovery system
US6104962A (en) 1998-03-26 2000-08-15 Rockwell Technologies, Llc System for and method of allocating processing tasks of a control program configured to control a distributed control system
US6377571B1 (en) 1998-04-23 2002-04-23 3Com Corporation Virtual modem for dialout clients in virtual private network
US6046979A (en) 1998-05-04 2000-04-04 Cabletron Systems, Inc. Method and apparatus for controlling the flow of variable-length packets through a multiport switch
US6212560B1 (en) 1998-05-08 2001-04-03 Compaq Computer Corporation Dynamic proxy server
US6092178A (en) * 1998-09-03 2000-07-18 Sun Microsystems, Inc. System for responding to a resource request
US6909700B1 (en) * 1998-11-24 2005-06-21 Lucent Technologies Inc. Network topology optimization methods and apparatus for designing IP networks with performance guarantees
US6766348B1 (en) * 1999-08-03 2004-07-20 Worldcom, Inc. Method and system for load-balanced data exchange in distributed network-based resource allocation
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
CN1448017A (zh) 2000-07-05 2003-10-08 恩斯特&扬有限责任合伙公司 提供计算机服务的方法和设备
US7403980B2 (en) * 2000-11-08 2008-07-22 Sri International Methods and apparatus for scalable, distributed management of virtual private networks
US20030179775A1 (en) * 2002-03-20 2003-09-25 Carolan Jason T. Service delivery network system and method

Also Published As

Publication number Publication date
CN100568216C (zh) 2009-12-09
WO2003090108A1 (en) 2003-10-30
CN1659539A (zh) 2005-08-24
AU2003225847A1 (en) 2003-11-03
US20030200295A1 (en) 2003-10-23
EP1499991A1 (en) 2005-01-26
EP1499991A4 (en) 2007-12-12
CA2483209A1 (en) 2003-10-30
US7197553B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
JP2005523621A (ja) 仮想サービスモジュールを持つネットワークシステム
CN108475251B (zh) 针对容器的虚拟网络、热交换、热缩放与灾难恢复
Nurmi et al. The eucalyptus open-source cloud-computing system
US9389893B2 (en) Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels
US9672071B2 (en) Method and system for distributed processing of HTTP requests
CA2829001C (en) Technique for resource creation in a cloud computing system
US9329894B2 (en) Method and apparatus for extending local area networks between clouds and permanently migrating virtual machines using static network addresses
US20170293501A1 (en) Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility
US20030014466A1 (en) System and method for management of compartments in a trusted operating system
US20070028244A1 (en) Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
US11836542B1 (en) Instantiating VNFs which include VNFCs that are composed of independently manageable software modules
JP2005524908A (ja) ネットワークのトポロジーを変更するための方法及びシステム
CN109479059B (zh) 用于容器流量的传输层等级标识和隔离的系统和方法
TW202105221A (zh) 具有增強安全性之自動部署資訊技術(it)系統及方法
Nakao et al. CoreLab: An emerging network testbed employing hosted virtual machine monitor
RU2298880C2 (ru) Структура драйверов сетевых фильтров и средства оперативного управления ими
US20210326162A1 (en) Lifecycle management of a vnfc included in a multi-vnfc vdu
Srinivasan et al. NetServ: dynamically deploying in-network services
US20080259951A1 (en) Method and apparatus for unplanned and uninterrupted network adapter replacement
US12021898B2 (en) Processes and systems that translate policies in a distributed computing system using a distributed indexing engine
US20210326157A1 (en) Onboarding a vnf with a multi-vnfc vdu
US20200244702A1 (en) Processes and systems that translate policies in a distributed computing system using a distributed indexing engine
Wang et al. Click-UP: Toward the Software Upgrade of Click-Based Modular Network Function
Wang Performant, Scalable, and Efficient Deployment of Network Function Virtualization
Fernando A dynamically updatable active networking architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080414

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080714

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090430