JP4658606B2 - Ipネットワーク接続のための資源管理 - Google Patents

Ipネットワーク接続のための資源管理 Download PDF

Info

Publication number
JP4658606B2
JP4658606B2 JP2004543432A JP2004543432A JP4658606B2 JP 4658606 B2 JP4658606 B2 JP 4658606B2 JP 2004543432 A JP2004543432 A JP 2004543432A JP 2004543432 A JP2004543432 A JP 2004543432A JP 4658606 B2 JP4658606 B2 JP 4658606B2
Authority
JP
Japan
Prior art keywords
host
distributed
operating system
packet
incoming packet
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.)
Expired - Fee Related
Application number
JP2004543432A
Other languages
English (en)
Other versions
JP2006502662A5 (ja
JP2006502662A (ja
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 JP2006502662A publication Critical patent/JP2006502662A/ja
Publication of JP2006502662A5 publication Critical patent/JP2006502662A5/ja
Application granted granted Critical
Publication of JP4658606B2 publication Critical patent/JP4658606B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • H04L12/4662Details on frame tagging wherein a single frame includes a plurality of VLAN tags wherein a VLAN tag represents a service instance, e.g. I-SID in PBB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software

Landscapes

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

Description

本発明は、IPネットワーク接続のための資源管理に関する。
本願は、その全体を本明細書に組み込んだ、2002年10月4日の「LINUX KERNEL CHANGES FOR VIRTUAL ROUTERS AND DISTRIBUTED HOST FUNCITONS」という名称の、米国仮出願第60/416,151号の特典を請求する。
Linuxのようなオペレーティングシステムは、コンピュータのハードウェアおよび他の資源によるソフトウェアの使用に役立つことを含めて、コンピュータにおいて重要な役割を果す。場合により、オペレーティングシステムまたは関連するソフトウェアは、コンピューティングタスクを課される際に、コンピュータの資源を共用または組み合わせることを可能にする。
例えば、コンピュータ資源の共用を可能にするために様々なシステムが提案されてきた。これらは、仮想マシンモニタ、マシンシミュレータ、アプリケーションエミュレータ、オペレーティングシステムエミュレータ、埋め込まれたオペレーティングシステム、レガシー仮想マシンモニタ、およびブートマネージャを含む。これらシステムのそれぞれを、以下で概説する。
仮想マシンモニタ
1960年代後半および1970年代の集中的な研究の対象であった1つのシステムは、「仮想マシンモニタ」(VMM)として知られるようになった。例えば、R.P.Goldberg著、「Survey of virtual machine research」、IEEE Computer、第7巻、第6号、1974年を参照されたい。この期間、さらにIBM社は、そのVM/370システムで使用するための仮想マシンモニタを採用した。
仮想マシンモニタは、ハードウェア上で直接実行され、マシンのすべての資源を仮想化するソフトウェアの小さな一部である。エクスポートされたインターフェースはマシンのハードウェアインターフェースと同じなので、オペレーティングシステムはVMMの有無を判定することができない。したがって、ハードウェアインターフェースが基礎をなすハードウェアと互換性を有するならば、同じオペレーティングシステムを、仮想マシンモニタ上または未加工のハードウェア上で実行することができる。
仮想マシンモニタは、ハードウェアが不足しており、オペレーティングシステムが未発達の頃には一般的であった。システムのすべての資源を仮想化することにより、複数の独立したオペレーティングシステムが同じマシン上に共存することができる。例えば、各ユーザは独自の仮想マシンに単一のユーザオペレーティングシステムを実行させることができる。
仮想マシンモニタの研究は、仮想化に特に適したプロセッサアーキテクチャの設計をもたらした。これにより、仮想マシンモニタは、モニタの実施を簡素化し性能を向上させる「直接実行」として知られる技術を使用することができるようになった。直接実行により、オペレーティングシステムがその特権のある命令を直接実行できないように、VMMは、特権の低いモードでプロセッサをセットアップする。特権の低い実行は、例えばオペレーティングシステムが特権のある命令を発行しようとする際などに、トラップを生成する。したがって、仮想マシンでオペレーティングシステムの正確な実行を可能にするには、VMMは、そのトラップを正確にエミュレートするだけでよい。
ハードウェアが低価格化し、オペレーティングシステムが複雑化したので、直接実行に基づくVMMはその魅力を失い始めた。しかし最近では、特定の問題を解決するためにVMMが提案されている。例えば、「Hypervisor−based fault tolerance」、ACM Transactions on Computer Systems(TOCS)、第14巻、(1)、1996年2月でT.C.BressoudおよびF.B.Schneiderによって記載され、また米国特許出願第5,488,716号の「Fault tolerant computer system with shadow virtual processor」、(Schneider他著)に記載されるように、Hypervisorシステムは故障耐性を提供する。別の例として、Discoシステムは、拡張可能なマルチプロセッサで有用なオペレーティングシステムを実行する。「Disco:Running Commodity Operating Systems on Scalable Multiprocessors」、E.Bugnion、S.Devine、K.Govil、およびM.Rosenblum著、ACM Transactions on Computer Systems(TOCS)、第15巻、第4号、1997年11月、412〜447頁を参照されたい。
仮想マシンモニタは、「バイナリエミュレーション」または「バイナリトランスレーション」として知られる技術を使用して、異なるプロセッサアーキテクチャ間にアーキテクチャ上の互換性を提供することもできる。これらのシステムでは、仮想アーキテクチャと基礎をなすアーキテクチャとは一致せず、これらは基礎をなすアーキテクチャ上に仮想アーキテクチャをエミュレートする必要があるので、VMMは直接実行を使用することができない。これは、特定のプロセッサのアーキテクチャのために書かれた仮想マシン全体(オペレーティングシステムおよびアプリケーション)を、互いの上で実行することを可能にする。例えば、IBM DAISYシステムは、PowerPCおよびx86システムをVLIWアーキテクチャ上で実行することを最近提案した。例えば、K.EbciogluおよびE.R.Altman著、「DAISY:Compilation for 100% Architectural Compatibility」Proceedings of the 24th International Symposium on Computer Architecture、1997年を参照されたい。
マシンシミュレータ/エミュレータ
マシンエミュレータとしても知られるマシンシミュレータは、既存のオペレーティングシステム上でアプリケーションプログラムとして実行される。これらは、オペレーティングシステムおよびそのアプリケーションを実行するのに十分な精度を有する所与のコンピュータシステムのコンポーネントすべてをエミュレートする。マシンシミュレータは、マルチプロセッサの性能を検討する研究でしばしば使用される。例えば、M.Rosenblum他著、「Using the SimOS machine simulator to study complex computer systems」、ACM Transactions on Modeling and Computer Simulation、第7巻、第1号、1997年1月を参照されたい。これらは、Intel x86マシンを「VirtualPC」または「RealPC」製品としてPowerPCベースのApple Macintoshシステムでシミュレートするためにも使用されている。
マシンシミュレータは、DAISYのようないくつかのVMMとバイナリエミュレーション技術を共用する。しかしマシンシミュレータは、ホストオペレーティングシステム上で実行される点で、VMMと異なる。マシンシミュレータはオペレーティングシステムによって提供されるサービスを使用できるので、このことにはいくつかの利点がある。一方、これらのシステムは、ホストオペレーティングシステムによってある程度の制約を受ける場合がある。例えば、保護を提供するオペレーティングシステムは、アプリケーションプログラムに、特権のある命令を発行し、またはそのアドレス空間を直接変更することを許可しない。これらの制約は、通常、特にアプリケーションから保護されたオペレーティングシステム上で実行される場合には、重大なオーバーヘッドに繋がる。
アプリケーションエミュレータ
マシンシミュレータと同様に、アプリケーションエミュレータも、異なるプロセッサアーキテクチャ全体に互換性を提供するために、アプリケーションプログラムとして実行される。しかしマシンシミュレーションとは異なり、これらは、アプリケーションレベルのソフトウェアをエミュレートし、そのアプリケーションのシステムコールをホストオペレーティングシステムへの直接コールに変換する。これらのシステムは、アーキテクチャを検討する研究において、また新しいPowerPCベースのMacintoshシステム上の68000アーキテクチャ用に書かれたレガシーバイナリを実行するに、使用されている。これらは、Microsoft NTを実行するAlphaワークステーション上でMicrosoft NTのために書かれたx86アプリケーションを実行するためにも使用されている。すべての場合に、予想されるオペレーティングシステムは、基礎をなすオペレーティングシステムと一致し、これによってこの実施態様は簡素化される。InsignaのSoftWindows(登録商標)として知られる他のシステムは、PC以外のプラットフォームでWindows(登録商標)アプリケーションおよびWindows(登録商標)オペレーティングシステムの修正バージョンを実行するためにバイナリエミュレーションを使用する。少なくとも2つの知られたシステムにより、Macintoshアプリケーションを他のシステム上で実行することができる。すなわち、Executerは、それらをLinuxまたはNextを実行するIntelプロセッサで実行し、MAEはそれらをUnix(登録商標)オペレーティングシステム上で実行する。
オペレーティングシステムエミュレータ
オペレーティングシステム(OS)エミュレータは、1つの所与のオペレーティングシステムアプリケーションバイナリインターフェース(ABI)のために書かれたアプリケーションを別のオペレーティングシステム上で実行させることを可能にする。これらは、元のオペレーティングシステムに対してそのアプリケーションによって行われたすべてのシステムコールを、基礎をなすオペレーティングシステムに対する一連のシステムコールに翻訳する。ABIエミュレータは、Unix(登録商標)アプリケーションをWindow NT(Softway OpenNTエミュレータ)上で実行し、またMicrosoft社製のオペレーティングシステムのために書かれたアプリケーションをパブリックドメインオペレーティングシステム(Linux WINEプロジェクト)上で実行することを可能にするために現在使用されている。
基本的にオペレーティングシステムから独立した仮想マシンモニタおよびマシンシミュレータと異なり、ABIエミュレータは、それらがエミュレートしているオペレーティングシステムと緊密に結合している。アプリケーションがターゲットプロセッサの命令セットアーキテクチに対して既にコンパイル済みであるという点で、オペレーティングシステムエミュレータはアプリケーションエミュレータと異なる。OSエミュレータは、アプリケーションの実行を気にかける必要はなく、基礎をなすオペレーティングシステムに対して行うコールだけを気にかければよい。
埋め込まれたオペレーティングシステム
ホストオペレーティングシステムによって提供されないアプリケーションに対して付加的な保証を提供することが目的の場合には、ユーザレベルでのABIのエミュレーティングは任意選択ではない。例えば、VenturCom RTX Real−Timeサブシステムは、リアルタイムのカーネルをMicrosoft NTオペレーティングシステムに埋め込む。これは、リアルタイムのプロセスが同一システム内で従来のNTプロセスと共存することを効率的に可能にする。
この共存は、オペレーティングシステムの最低レベルの修正、すなわちそのハードウェア抽象層(HAL)を要求する。これは、RTXシステムが最初にすべての入出力割込みを処理することを可能にする。どちらの環境も同じアドレス空間を共用し、エントリポイントに割り込むので、このソリューションは、Windows(登録商標)NTと緊密に連結されている。
レガシー仮想マシンモニタ
最も顕著にはIntelアーキテクチャを有する特定のプロセッサは、所与のレガシーアーキテクチャを仮想化するように特別に設計された特別実行モードを含んでいる。このモードは、レガシーアーキテクチャの厳密な仮想化をサポートするように設計されており、既存のアーキテクチャの仮想化をサポートするようには設計されていない。
レガシー仮想マシンモニタは、プロセッサの特別モードを使用したレガシーオペレーティングシステムの実行を可能にする、適切なソフトウェアサポートから構成される。具体的には、Microsoft社製のDOS仮想マシンは仮想マシン内のDOSをMicrosoft Windows(登録商標)およびNT上で実行する。別の例としては、フリーウェアDOSEMUシステムはLinux上でDOSを実行する。
これらのシステムは、一般には仮想マシンモニタの一形式と言われるが、これらは、DOSEMUのような既存のオペレーティングシステム上で、またはMicrosoft Windows(登録商標)およびMicrosoft NTのような既存のオペレーティングシステムの一部として実行される。この点で、これらは、上記の本当の仮想マシンモニタとも、後述する本発明に適用される「仮想マシンモニタ」という用語の定義とも全く異なる。
資源を結合するという点で、結合の欠如を処理することが困難または不可能である可能性のある、要求の多いコンピューティングタスクを処理するために、このような結合を使用することができる。例えば、電気通信ネットワークには、広帯域低遅延の情報フローをサポートすることが益々求められている。要求される帯域幅は、いくつかのアプリケーションに対しては、秒速ギガビット近くの急速処理である(具体的には、例えばビデオオンデマンド、動画の共用シミュレータ、および分散コンピューティング)。
「インテリジェントネットワーク」を提供することは、特定番号へのコール転送のように、コンピュータプログラムを交換局に接続された複数の(例えば最高100の)ホストコンピュータ上で実行することに役立つ。サービスが特定の顧客に提供されるべき方法(例えば、顧客へのコールがルーティングされるべき特定番号)は、ホストコンピュータ上のその顧客に関して記憶されたデータによって異なる。したがって、数十、数百ものホストコンピュータ上には数百万の加入者記録がある可能性がある。
「Twenty−twenty vision−software architectures for intelligence in the 21st century」、P.A.Martin、BT TechnolJ 第13巻、第2号、1995年4月で、著者は、要求される分散型処理を実施するためにオブジェクト指向技術を使用することを提案している。
オブジェクト指向技術の説明は、例えば、BT TechnolJ第11巻、第3号(1993年7月)、E.L.CusackおよびE.S.Cordingley編、「Object oriented technology」に記載されている。この用語は常に正確に使用されるわけではないが、本明細書では、オブジェクト指向コンピューティングは、データが「カプセル化された」形式で記憶されるコンピューティング技術のことである。この形式では、データはコーリングプログラムまたはルーチンによって直接アクセス可能ではなく、データを読み、書き、編集することのできるプログラムの限られた一部によってのみアクセス可能である。データの記録およびその関連付けられたコンピュータコードは「オブジェクト」と呼ばれる。オブジェクトへの/からの通信は、一般に「メッセージの受け渡し」によるものである。すなわち、オブジェクトへのコールは、データ値を渡し、オブジェクトに含まれる複数のプログラムのうちの1つのプログラムの動作を呼び出し、その動作は次いでデータ値を戻す。
オブジェクト指向方式の使用を望むプログラマーには、様々な言語が使用可能である。そのうちの現在最も一般的なものはC++である。
分散型処理は、いくつかの点で単一プロセッサ動作と異なる。まず、他のプログラムまたはデータが同一ホストコンピュータ上にコーリングプログラムとして置かれているか、または異なるホストコンピュータ上に置かれているかによって、異なるアクセス技術が要求される場合がある。プログラムまたはデータの位置は、別のプログラムからそこに到達できる速度にも影響を与える。また、1つまたは複数のホストコンピュータは、動作を他のコンピュータに任せて、故障する可能性がある。
分散型コンピューティングは、従来は、1つのコンピュータ上の「クライアント」プログラムが別のコンピュータ上の「サーバ」プログラムに問い合わせ、その「サーバ」プログラムが次に、クライアントプログラムが要求した機能を実行するか、またはデータを戻す、「クライアント/サーバ」構成を使用することによって実行されている。
オブジェクト指向技術は、分散型処理には広く適用されて来なかった。この点における最新技術の概要は、「Object oriented programming systems」、Blair G.、Pitman Publishing、London、1991年(ISBN 0−273−03132−5)の特に第9章、223〜243頁、と、「Distributed systems and objects」、David HutchisonおよびJonathan Walpoleに記載されている。従前の試みでは、分散処理を取り扱うように従来のオブジェクト指向プログラミングを拡張するために、一般に、新しい構文が既存のコンピュータ言語に追加され、または新しいコンピュータ言語が作成された。
特定のアプリケーションは変更される可能性があるが、無線通信システムのコンポーネントは、以下で詳述するように一般に類似している。例えば、無線通信システムは、通常、無線端末すなわち移動局、無線基地局、携帯電話交換中継局(MTSO)としばしば呼ばれる交換またはネットワーク制御デバイス、および公衆交換電話網(PSTN)のような、無線通信システムがアクセスを提供するネットワークを含む。
様々な無線通信アプリケーションは、使用可能な周波数スペクトラムを効率良く使用するよう情報を送信するために、複数の変調技術のどれかを使用する。例えば、高容量複数アクセスシステムを構築するために、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、および符号分割多元アクセス変調技術が使用される。一般的な無線スペクトラムを占有する多くの移動局と通信するように設計された電気通信システムは、複数アクセスシステムと呼ばれる。
例えば、AMPSアナログセルラ無線システムのようなFDMAアナログセルラシステムでは、使用可能な周波数スペクトラムは、多数の無線チャネル、例えば、メッセージ伝送チャネルにそれぞれが対応した、数対の送受信搬送波周波数などに分割される。各送受信周波数チャネルの帯域幅は、一般に25〜30kHzの狭帯域である。したがって、FDMAシステムは、情報を、音声信号のような送信された情報の帯域幅と同等の帯域幅で送信することを可能にする。FDMAシステムにおけるセルラサービスエリアは、一般に複数のセルに分割されており、各セルは、セル間の共同チャネル干渉を低減するのに役立つように選択された一組の周波数チャネルを有する。
伝送回路が周波数と時間の両方のドメイン、例えばFD/TDMAシステムで特徴付けられるように、周波数分割がしばしば時分割と組み合わされる。デジタルFD/TDMA(一般にTDMAと呼ばれる)セルラシステムでは、狭帯域周波数チャネルは、複数のタイムスロットに分割されるデジタル伝送経路として再フォーマットされる。様々なコールからのデータ信号は、割り当てられたタイムスロットにインターリーブされ、それに相当するより高いビットレートで送出され、各移動局に割り当てられたタイムスロットが定期的に反復される。TDMA帯域幅はある程度FDMA帯域幅よりも広いが、約30kHzの帯域幅は一般にAMPS−DデジタルTDMAセルラシステムに使用される。
セルラ複数アクセス変調に対するもう1つの方式はCDMAである。CDMAは、送信された信号が占有する帯域幅はベースバンド情報信号(例えば、音声信号)が要求する帯域幅よりもかなり広い、無線通信システムを介して情報を送信するためのスペクトラム拡散技術である。したがって、CDMA変調は、同一周波数チャネルを共用する様々な信号を特定するためにコードワードを使用して、多重変調によりスペクトル的に狭帯域情報信号を広帯域幅全体に広げる。送信された信号の認知は、適切なコードワードを使用してスペクトル的にコード化された信号を選択することにより行われる。FDMAおよびTDMA変調技術で使用される約30kHzの狭帯域チャネルとは対照的に、CDMAシステムは、一般に、約1.25MHzまたはそれ以上の帯域幅を利用する。
通常、上記の移動通信システムは、地理的「対象エリア」が「セル」と呼ばれる複数のより小さな地理的エリアに区画されるように、階層的に構成される。図1を参照すると、各セルは、ベーストランシーバステーション(「BTS」)102aによってサービスを受けることが好ましい。いくつかのBTS 102a〜nは、ベースステーションコントローラ(「BSC」)106aにより固定リンク104a〜nを介して集中的に管理される。BTSおよびBSCは、基地局サブシステム(「BS」)107と総称される場合がある。いくつかのBSC 106b〜nは、固定リンク108a〜nを介して移動交換局(「MSC」)110により集中管理することができる。
MSC 110はローカル交換局(後述する移動管理要件を処理する付加的な特徴を有する)として動作し、数群の幹線を介して電話網(「PSTN」)120と通信する。米国移動網は、家庭用MSCとサービス提供MSCを含む。家庭用MSCは、移動加入者(上記で移動局または「MS」とも呼ばれる)114に関連付けられた交換局に対応するMSCである。この関連付けは、MSの、エリアコードのような電話番号に基づいている。MSの例には、移動電話、PDA、双方向ページャ、またはラップトップコンピュータのようなハンドヘルドデバイス、または冷蔵車または軌道車、コンテナ、もしくはトレーラに取り付けられた移動ユニットのような移動ユニット装置が含まれる。
家庭用MSCは、後述するホームロケーションレジスタ(「HLR」)118を担当する。一方、サービス提供MSCは、MSコールをPSTNに接続するために使用される交換局である。したがって、家庭用MSCとサービス提供MSCの機能は、同一エンティティによってサービスが提供される場合があるが、そうでない場合もある(MSがローミング中の場合など)。通常、訪問位置レジスタ(「VLR」)116はMSC 110と共に置かれ、その移動網には論理的に単一のHLR(論理的に単一のHLRは、物理的に分散しているが単一エンティティとして扱われる)が使用される。後述するように、HLRおよびVLRは、加入者情報およびプロフィールを記憶するために使用される。
無線チャネル112は、対象エリア全体に関連付けられる。上記のように、無線チャネルは、個々のセルに割り当てられた数群のチャネルに区画される。これらのチャネルは、コール接続および関連する構成を確立し、コール接続が一度確立されると音声またはデータ情報を搬送する目的で、信号送受情報を搬送するために使用される。
移動網信号送受は、少なくとも2つの重要な態様を有する。第1の態様は、MSとそのネットワークの残りの間での信号送受を伴う。2G(「2G」は「第2世代」のために使用される業界用語)とそれ以降の技術の場合、この信号送受は、MS(TDMAまたはCDMAのような)によって使用されるアクセス方法に関わり、例えば無線チャネルの割り当ておよび認証に関する。第2の態様は、MSC、BSC、VLR、およびHLR間における信号送受のような、移動網における様々なエンティティ間での信号送受を伴う。この第2の部分は、特に信号送受システムNo.7(「SS7」)の状況で使用される場合には、移動アプリケーション部分(「MAP」)と呼ばれることがある。SS7は、電話網の要素がそれによってメッセージ形式で情報を交換する、共通チャネル信号送受システムである。
様々な形式の信号送受(並びにデータおよび音声通信)は、様々な基準に従い送受信される。例えば、電子機械工業会(「EIA」)および米国電気通信工業会(「TIA」)は、MAP基準である、IS−41のような、多くの米国基準を定義することに役立つ。同様に、CCITTおよびITUは、国際MAP基準である、GSM−MAPのような、国際基準を定義することに役立つ。これらの基準に関する情報は、関連組織ではよく知られており、その情報も提供している場合があり、文献としては、例えばBosse著、「SIGNALING IN TELECOMMUNICATIONS NETWORKS」(Wiley 1998年)を参照されたい。
MS 114からのコールを提供するには、ユーザは番号をダイヤルし、セルフォンまたは他のMSで「送信」を押す。MS 114は、MSC 110に要求されるサービスを示すダイヤルされた番号をBS 107を介して送信する。MSC 110は、要求されたサービスがMS 114に許可されるか否かを判定するために、関連付けられたVLR 116(後述)をチェックする。サービス提供MSCは、PSTN 120上でダイヤルしたユーザのローカル交換局にそのコールをルーティングする。ローカル交換局は、呼び出されたユーザ端末をアラートし、サービス提供MSC 110を介してアンサーバック信号がMS 114にルーティングされて戻され、サービス提供MSC 110はMSへのスピーチ経路を完成する。このセットアップが一度完成すると、そのコールを続行することができる。
MS 114へのコールを提供するために、(そのコールがPSTN 120から発信されたものと仮定して)PSTNユーザはMSの関連付けられた電話番号をダイヤルする。少なくとも米国基準に従えば、PSTN 120は、そのコールをMSの家庭用MSCにルーティングする(MSにサービスを提供するMSCであってもなくてもよい)。MSCは次いで、HLR 118に、どのMSCがそのMSに現在サービスを提供するかを特定するよう問い合わせる。これは、コールが来ることをサービス提供MSCに通知するようにも動作する。家庭用MSCは次いで、そのコールをサービス提供MSCにルーティングする。サービス提供MSCはMSを適切なBSを介してページングする。MSは応答し、適切な信号送受リンクがセットアップされる。
通話中、BS 107とMS 114は、例えば信号の状態により必要ならば、チャネルまたはBTS 102を変更するよう協働することができる。これらの変更は、「ハンドオフ」として知られており、これらは独自のタイプの周知のメッセージおよび信号送受を伴う。
図2は、CDMA移動網におけるBS 107とMSC 110の間の信号送受およびユーザトラフィックインターフェースをより詳細に示す。BS 107は、「A1」インターフェースとして知られる音声およびデータ回路を制御するために、SS7ベースのインターフェースを使用して信号送受情報を伝達する。「A2」として知られるインターフェースは、MSCの交換コンポーネント204とBS 107の間のユーザトラフィック(音声信号など)を搬送する。ソースBSとMSCの間の回線交換データコール(音声コールとは反対に)に対するユーザトラフィックのための経路を提供するために、「A5」として知られるインターフェースが使用される。A1、A2、A5の1つまたは複数に関する情報は、CDMA Internetworking−Deploying the Open−A Interface、Su−Lin Low、Ron Schneider著、Prentice Hall、2000年、ISBN 0−13−088922−9に記載されていよう。
移動通信プロバイダは、インターネットに対して、「データコール」のような新しいサービスを提供する。これらのサービスの少なくとも一部の場合、MSCは元来音声コール用に設計されているので、MSCは費用効果がない。多くのMSCソフトウェアアーキテクチャによって使用される独占権および閉じた設計により、新しいサービスをMSCに統合することは、困難または実現不可能である。すなわち、そのサービスを提供するために必須のソフトウェア論理をMSC 110に追加することは容易ではない。そのようなサービスを提供するために、しばしば交換付属物が使用される。例えば、相互作用機能(「IWF」)は、インターネットに対するデータコールをルーティングするための付属物である。機能をMSCに統合する方式と幹線側の付属物を追加する方式のどちらの方式も、サービスの提供にMSCを必要とする。MSC設計の変更により、または幹線側の付属物を介して新しいサービスを統合することは、MSCでのネットワーク輻輳を増大させ、費用の掛かるMSC資源を消費する可能性がある。
データコールは、通常、パケット交換媒体の一例であるインターネットを利用する。パケット交換媒体は次のように動作する。一連のデータが1つのホストからネットワークを介して別のホストに送信されることになる。そのデータシーケンスは、それぞれが制御情報を含んだヘッダを有する、1つまたは複数のパケットにセグメント化され、各パケットはネットワークを介してルーティングされる。一般的なタイプのパケット交換は、配信に関してはほとんどまたは全く保証しないデータグラムサービスである。より高いレベルに一括して論理的に属することのできるパケットは、ネットワークレベルでは相互に関連付けられない。1つのパケットは、送信者から別のパケットがそれ以前に送信される前に、レシーバに到着し、損傷を受けた状態で到着し(その場合は破棄される)、任意に遅らされ(それを破棄させることのできる失効機構があるにも関わらず)、複製され、また失われる可能性がある。
無線トランシーバ技術(例えば、ナノセルシステムで)を使用して、広範囲の地理的エリアに亘って数十メガヘルツの帯域幅に対する信頼あるアクセスを提供する、少なくとも1つの無線インターネットシステムが提供されている。1領域内の数十、数百セルに依存するセルラ無線音声システムとは対照的に、ローカル無線トランシーバシステムは、その領域内の数千、数万ものトランシーバに依存する。このようなシステムでは、各トランシーバは、例えば、従来のセルの対象の約100分の1である0.05平方キロメートルを対象とする。無線周波数(RF)スペクトラムの高い空間再利用は、ローカル無線トランシーバシステムが、従来のセルシステムよりも所与のデータレートでより多くの活動状態にあるデバイスに対応することを可能にする。さらに、ユーザはアクセスポイントにより近くなるので、そのローカル無線トランシーバシステムは低電力伝送に対応する。ローカル無線トランシーバシステムは、デバイスのバッテリに比較的小さいドレインを有して高速で動作する、多数のデバイスをサポートすることができる。
例えば、10,000のトランシーバアクセスポイント(セルセンタ)の全市域ローカル無線トランシーバシステムネットワークでは、各ポイントがそのユーザに1−Mb/sの共同スループットを提供する場合、1つのトランシーバ当たり10台の活動状態にあるデバイスを、それぞれ100kb/sでサポートすることができ、これは、その市内では100,000台の活動状態にあるデバイスに相当する。各デバイスが期間の10%だけ活動状態にある場合、このようなネットワークは百万台のデバイスをサポートすることができるが、但し、チャネルアクセス、ハンドオフ、および非対称トラフィック(例えば、デバイスからよりもデバイスに対してより多くのビットが流れる)に対するいかなる準備のためのオーバーヘッドによって消費される帯域幅に対してある程度のアカウンティングを行う必要がある場合がある。
各ローカル無線トランシーバシステムのアクセスポイントは、IEEE 802.11のような無線ローカルエリアネットワーク(LAN)技術に対するアクセスポイントであるか、これに類似したものであってよい。各アクセスポイントとインターネットの間にリンク(これに加えて、またはこれの代わりに無線リンクを使用してもよい)を提供するために、非対称デジタル加入者線(ADSL)またはケーブルモデム回線を使用することができる。アクセスデバイスの配置に関して、各デバイスが電力を必要とし、好適には適切な無線周波数対象のために高められるので、高速の隣接するインターネットアクセス基盤が根幹としてサービスを提供する、電信柱および建物の場所は典型的が候補となる。
本発明の一態様では、IPネットワーク接続のための資源が管理される。オペレーティングシステムカーネルソフトウェアのプロシージャに、1つのフィールドが追加される。このフィールドは、仮想ルータ・コンテキストを参照する。パケット処理ソフトウェアコードを仮想ルータ・コンテキストに従って実行させるように、パケット処理ソフトウェアコードが修正される。
本発明の実施態様は、次に示す利点の1つまたは複数を提供することができる。同じプロセッサまたはオペレーティングシステムの同じインスタンスで、複数のホストを実施することができる。1つのIPアドレスが2つの異なるエンティティとしてサービスを提供するように、その同じIPアドレスを2つのコンテキストで使用することができる。設備の一部は、複数の専用ネットワーク間で情報を漏洩せずに複数の専用ネットワークに参加することができる。1つのインターネットプロトコル(IP)アドレスに対するホスト実施態様は、1つのオペレーティングシステムの別個のインスタンスを実行している、複数の、連結のゆるいプロセッサ全体に広げることができる。1つのIPホストに対して、結合した処理パワーを使用することができる。分散型ホストは、複数の動作を1つのホストで実行することを要求する、既存の構成または既存のプロトコルと互換性を有することができる。顧客が顧客の実施態様の全体的な設計を変更する必要がないように、既存の構成と共に分散型ホストを使用することができる。
図面を含めて以下の説明から、また特許請求の範囲から、他の利点および特徴が明らかになろう。
通信システムは、コンピューティング資源の共用または結合に依存する特徴を含めて、通信特徴を提供する。通信システムは、以下で述べるようなインターネットメディアゲートウェイ機構(「IMG」)およびSoftswitch機構を有する。図3Aは、BSC 415AとMSC 420Aの間に接続されたIMG 410Aを有し、Softswitch 425Aと通信するシステム400例を示す。IMG 410Aは、A1、A2、およびA5インターフェースによってBSC 415Aと通信する。後述するように、Softswitch 425Aは、BSC 415AとMSC 420Aの間のIMG 410Aを介した経路セットアップおよび通信を調整する。IMG 410Aはインターネット430とも通信し、後述するように、IMG 410Aは、インターネット430を介してメールサーバ440にメッセージを向けることができる。同様に、図3AでIMG 410B、Softswitch 425B、BSC 415BおよびMSC 420Bにより例示するように、他のBSCとMSCとの接続に、他のIMGとSoftswitcheを提供することができる。MSC 420A、420Bは、PSTN 460を介して相互に接続されており、通信することができる。SoftSwitch 425A、425Bは、SS7システム470を介して相互に接続されており、通信することができる。(図3Bは、IMG 410AとBSC 415Aの間にMSC 420Aが接続され、IMG 410BとBSC 415Bの間にMSC 420Bが接続されている代替構成402を示す。)
図4は、1つまたは複数の移動無線ネットワーク上に音声およびデータサービスを提供することをサポートし、これに役立つことのできるシステム1010を示す。この特定の実施態様では、システム1010は、時分割多重(TDM)データ、非同期転送モード(ATM)セルデータ、およびインターネットプロトコル(IP)パケットデータを含めて複数のデータタイプをサポートすることのできる、通信事業者クラスの高性能なプラットフォームであるStarnet Networks社のST−16 IMG製品を含むことができる。ST−16アーキテクチャは、パケット処理にはパケット加速器カード(PAC)のような加速器カード(例えば、カード1020)を、音声処理にはテレフォニー加速器カード(TAC)を使用する。各PACはデータ処理を実行することができ、各TACは音声処理を実行することができる。ST−16では、物理的入出力(I/O)インターフェースが業界基準回線カード(例えば、カード1030A、1030B)で終端し、様々な物理的インターフェース基準に従ってTDM、パケットまたはATMセルデータタイプを搬送することができる。TDMインターフェースは主として音声トラフィックを搬送するので、TDM回線カードはTACと通信する。イーサネット(登録商標)回線カードはパケットデータトラフィックを搬送し、PACと通信することができる。光回線カードは、音声およびデータトラフィックの両方を搬送することのできるATMセルをサポートし、PACまたはTACと通信することができる。ST−16は、いかなるスロットの回線カードでもST−16のいかなるスロットの加速器カードと通信することを可能にするために使用される、重複クロスバーカード(RCC)(例えば、カード1040A、1040B)も有する。
ST−16は、回線カードおよびRCCに加速器カードを接続するためのリンクを提供するために、カード対カード通信システム(「STARChannel」)を使用する。一実施態様では、STARChannelリンクは、4.0Gbpsデータ容量を有し、チャネルロックモードで動作する2つの物理的シリアルリンクを含む。各物理的シリアルリンクは2.5Gbpsでクロック制御されており(8B/10B符号化)、2.0Gbpsデータを搬送することができる。
ST−16では、仮想化および分散型ホストを実施することが望ましい。
仮想化に関しては、複数のホストが同じプロセッサまたはオペレーティングシステムの同じインスタンスで実施される。この場合、可能ならば、後述するように、同じシステムで様々なコンテキストを伴い複数のIPアドレスが実施される。IPネットワーク接続に関しては、各コンテキストは、それぞれのコンテキストからはっきりと分離される。したがって、1つのIPアドレスが2つの異なるエンティティとしてサービスを提供するように、同じIPアドレスを2つの異なるコンテキストで使用することができる。これは、少なくとも、インターネットから分離された専用ネットワークの場合には望ましい。異なる専用ネットワークは同じIPアドレスを使用することができるが、専用ネットワークは相互に分離されているので、これら専用ネットワークのそれぞれで同じIPアドレスは異なる意味を有する。
複数の専用ネットワーク間で情報を漏洩せずに、その複数の専用ネットワークに設備の一部を参加させることが望ましい場合がある。例えば、設備は、一組の専用ネットワークの各専用ネットワークに対して、それら専用ネットワークを1つのネットワークに統合せずに同時に一組の機能を提供することができる。このコンテキストは、ソフトウェアの一部を1つの物理システム上で実行し、ソフトウェアの他の部分を別の物理システム上で実行するほど容易に、またはそれと同じくらい容易に、ソフトウェアの2つの部分が設備の同じ物理部分で実行されることを可能にし、場合によっては、オペレーティングシステムの同じインスタンスで実行されることを可能にする。
例えば、このコンテキストにより、2つの専用ネットワークにサービスを提供する設備の一部は、両方の専用ネットワークに同じIPアドレスを有することができ、メッセージを発行したネットワークがどれかによって入来メッセージに対して異なる反応を示すことができる。
専用ネットワークは、偶発的または意図的に、もしくはアドレスが希少である結果として、1つのIPアドレスを共用することができる。後者の場合、インターネット上では、莫大な量のルーティング可能なアドレス空間(インターネット上で直接的に通信するために使用されるアドレス空間)の使用を得ることは困難か、または高価になる場合がある。その結果、ルーティング可能なアドレス空間の大きなブロックの代わりに専用ネットワークを使用する場合がある。内線電話付き社内電話システムが1つの主要な公衆電話番号を何倍にも用いるのと同様に、専用ネットワークは1つのIPアドレスを何倍に用いる。ここで、社内電話システムのユーザが公衆電話システムを必ずしも必要とせずに相互通信することができるのと同様に、専用ネットワークのコンピュータは、インターネット自体を必ずしも必要とせずにインターネットプロトコルを使用して相互通信することができる。
仮想化の場合、例えばボイスメールシステムが2つの別個の社内電話システムから同じ電話の内線(例えば、内線110)で到達可能なのと同様に、設備の一部は、2つの異なる専用ネットワーク上の同じアドレスで到達可能であってよい。電話の内線でボイスメールシステムに到着した着信コールが、どの社内電話システムがそのコールを発信したかによって異なる方法で扱われるのと同様に、設備の一部での入来通信は、どの専用ネットワークがその通信を送信したかによって異なる方法で扱われる。どちらの場合でも、誤った取り扱いを避けることが肝要であろう。
従来、Linuxオペレーティングシステムは、ボイスメールシステムが2つの社内電話システムにサービスを提供するように、2つの専用ネットワークにサービスを提供することはできない。後述するような仮想化により、Linuxオペレーティングシステムは、複数の異なる専用ネットワークに参加することができ、専用ネットワークで同じアドレスが使用されている場合でさえ誤った取り扱いを避けることができる。仮想化のために、IPネットワーク接続を扱うオペレーティングシステムカーネル内の多くの、またはすべての場所で、入来データパケットのようなデータを取り扱うために適切なコンテキストを、例えばコンテキスト番号によって示すために、多くの、またはすべての適切なデータ構造に1つの要素が追加される。
特定の実施態様では、その要素は、ルーティングテーブルを含めて、そのカーネル内のすべての関連するデータ構造にコンテキスト番号を保持し、そのシステムによって処理されるすべてのパケットには、パケットがシステムを通過する際に、そのパケットに関連付けられたコンテキストをシステムが追跡するように、コンテキスト番号でタグが付けられる。Linuxオペレーティングシステムは、ルーティングテーブルの複数のインスタンスを可能にし、各コンテキストは独自のルーティングテーブルを有し、各ルーティングテーブルはコンテキスト番号に関連付けられる。パケットがシステムに着信したときに、そのパケットが属するコンテキストをシステムが判定することができるように、システムに対する各インターフェースにはコンテキスト番号が関連付けられる。アプリケーションに対するカーネルのインターフェースの一部である各データ構造には、コンテキスト番号が関連付けられる。したがって、アプリケーションが使用中のソケットが属するコンテキストをシステムが特定することができるように、例えば、ネットワーク接続を使用するためにアプリケーションが使用するソケットとして知られる抽象概念にコンテキスト番号が関連付けられる。
その結果、少なくともいくつかの実施態様では、アプリケーションコードにほとんど、または全く修正を加えずにシステムがLinuxまたはいかなるUnix(登録商標)のようなオペレーティングシステムに対してでも一般的に書かれたアプリケーションコードを実行することができるように、システムは、カーネル内のコンテキスト化/仮想化に基づいて、複数のコンテキストで動作するオペレーティングシステムの1つのインスタンスを有することができる。
プロセッサが単一のIPホストを実施するように、分散型ホストが、1つのインターネットプロトコル(IP)アドレスに対するホスト実施態様を、オペレーティングシステムの別個のインスタンスを実行中の、複数の、結合のゆるいプロセッサ全体に広げられるようにする点で、分散型ホストは仮想化と異なる。したがって、結合された処理パワーを1つのIPホストに対して使用することができる。これは、1つのプロセッサで使用可能な処理パワーを使用するだけでは実現不可能または不可能な結果を可能にすることができる。
コンピュータシステムを複数のホストとして振舞わせる方式と異なり、分散型ホストは、複数の動作を1つのホスト上で実行することを要求する既存の構成または既存のプロトコルと互換性を有する。例えば、顧客が顧客の実施態様の全体的な設計を変更することを必要としないように、既存の構成と共に分散型ホストを使用することができる。具体的には、少なくともいくつかの実施態様では、分散型ホストシステムは、Linuxまたは他のUnix(登録商標)スタイル環境のために書かれたアプリケーションソフトウェアを、そのアプリケーションソフトウェアにほとんどまたは全く修正を加えずに実行することができる。したがって、分散型ホストシステムは、Linuxまたは他のUnix(登録商標)タイプのオペレーティングシステム上で実行することが既に可能な既存のソフトウェアを異なった機種で実行させることを含めて、価値が追加され、または拡張された特徴をシステムに組み込むことを可能にする。
特定の実施態様に関して、Linux IP実施態様に対する修正は、次の2つの広い範疇に含まれる。
(1)仮想化の場合、複数のオペレーティングシステムインスタンスがあるかのように、個々のオペレーティングシステムインスタンスがIPのルータ(転送)とホスト機能の両方をサポートできるようにするための、仮想ルータと仮想ホストに対するサポート、すなわち、空間のオーバーラップが数値である場合であっても、複数の別個のIPアドレス空間に対する、別個のようなサポート。
(2)分散型ホストの場合、異なるオペレーティングシステムインスタンスから同じホストの異なる転送制御プロトコル(TCP)またはユーザデータグラムプロトコル(UDP)ポートにサービスを提供することを可能にするための、分散型IPホストに対するサポート。
従来のLinuxは、仮想化された転送サポートに必須のすべて、またはほとんどすべてである、複数のルーティングテーブルに対するサポートを含む。しかし、従来のLinuxは、仮想化されたホスト機能はサポートしない。具体的には、従来のLinuxは、プロセスまたはソケットがその仮想ルータ・コンテキストを選択する方法も、複数の異なるプロセスが同じアドレス/プロトコル/ポート(異なる仮想ルータ・コンテキストで)をバインドする方法も提供しない。次に示す修正(図5)は、そのようなサポートを追加する。
プロセスのディフォルト仮想ルータ・コンテキストを記憶する、proc構造または適切な構造(proc構造は、プロセス毎にインスタンス化されたカーネルデータ構造であり、カーネルプロセス状態情報を含む)に、1つのフィールドが追加される(ステップ1010)。プロセスのディフォルト仮想ルータ・コンテキストが、その作成時において、その親がfork()またはclone()を使用したときにその親のディフォルト仮想ルータ・コンテキストがどんなものであれ、それになるように、カーネルプロセス作成コードは、フィールドを継続可能にするのに適するように修正される。また、初期システムプロセスinitをセットアップするコードは、起動時に自動作成されたディフォルト仮想ルータ・コンテキストをinitが確実に使用するように修正される。
ソケットの仮想ルータ・コンテキストを示す、インターネットプロトコルファミリー(TCP、UDPおよび未加工IP)に対する適切なソケット毎のデータ構造に、1つのフィールドが追加される(ステップ1020)。作成時に、そのフィールドが、プロセスのためのディフォルト仮想ルータ・コンテキストからポピュレートされるように、ソケット作成コードが修正される。
プロセスのディフォルト仮想ルータ・コンテキストを設定するためのサポート(例えば、procfs拡張として)が追加される(ステップ1030)。
ソケットの仮想ルータ・コンテキストを設定するためのサポート(例えば、setsockoptとして)が追加される(ステップ1040)。
仮想ルータ・コンテキストを作成、削除するためのサポート(例えば、procfsまたはnetlink拡張として)が追加される(ステップ1050)。
インターフェースに仮想ルータ・コンテキストを関連付けるためのサポート(例えば、procfsまたはnetlink拡張として)が追加される(ステップ1060)。
TCP、UDP、未加工IPソケット、およびインターネット制御メッセージプロトコル(ICMP)に対するパケット入来処理コードが、入来パケットが関連付けられたソケットの特定で、パケットの入来インターフェースの仮想ルータ・コンテキストが考慮されるように、修正される(ステップ1070)。
TCP、UDP、および未加工IPソケットに対するパケット出口処理コードが、出口パケットのために使用するルーティングテーブルの選択で、パケットを送信するソケットの仮想ルータ・コンテキストが考慮されるように、修正される(ステップ1080)。
分散型ホストの場合、分散型ホスト機能は、異なるオペレーティングシステムインスタンスで実行中のプロセスが、同じホスト(IPアドレス)で異なるソケットをバインドすることを可能にする。少なくとも1つの特定の実施態様では、次に示す方式をとることができる。
特定のプロセッサがそのパケットの消費者になるとネットワークプロセッサ(NP)サブシステムが判定できる場合の入来パケットの場合、そのパケットはプロセッサに送信される。
特定のプロセッサがそのパケットの消費者になるとNPサブシステムが判定できない場合の入来パケットの場合、そのパケットはすべてのプロセッサに送信される(例えば、Media Access Control(MAC)ブロードキャストにより)。
プロセッサがそれ自体に向けられたものでない(が、別のプロセッサに向けられたものである可能性がある)と判定するパケットを受信した場合、そのプロセッサはそのパケットを無視し、いかなる方法でもそのパケットに対して応答しようとはしない。
各(分散型)ホストに対して、1つの特定のプロセッサがそのホストのためのリードプロセッサとして設計される。このプロセッサは、全体としてホストに対応し、例えばいくつかの(しかしすべてではない)ICMPパケットおよびアドレス分解プロトコル(ARP)要求のようないかなる特定の「接続」または「ポート」にも対応しないパケットを処理し、これに応答する義務を有する。
分散型ホストからの出口パケットの処理は、通常のホストの出口パケットに対する処理から基本的に変更されていない。
テストおよびシミュレーション(NPサブシステムなしに)のために、ホストのためのリードプロセッサが他のプロセッサに対してそれ自体を宛先としないパケットを(MACブロードキャストによって)転送できるようにするための機能が追加される。IP技術では、この機能は、従来の転送とは異なり(例えば、TTLが減分されないので)、ブリッジに近いものである。
分散型ホスト機能を上記のように実施するために、次に示すカーネル変更(図6)が使用される。
特定のインターフェースが分散型ホストに対するリードインターフェースであるか否かを指定できるようにするために、拡張機能(例えば、procfsまたはnetlinkの拡張機能)が追加される(ステップ2010)。
ローカルにバインドされていないポートに到達するパケットに対して一切の応答を避けるように、TCPおよびUDP入来コードが修正される(ステップ2020)。
ポートがバインドされるか、またはフローがローカルに存在しない限り、特定のポートまたはフローと相関関係のあるいかなるICMPパケットに対しても、そのパケットが無視されるように、また、そのホストに対して大域的ないかなるICMPパケットに対しても(例えば、エコー要求)、そのホストのリードインターフェースだけがそのパケットを処理するように、ICMP入来コードが修正される(ステップ2030)。
非リードインターフェースがARP要求に応答しないように、ARPコードが修正される(ステップ2040)。
NPサブシステムなしに動作に対して上記の転送/ブリッジをサポートするために、コードが入来経路に追加される(ステップ2050)。
カーネルIP仮想化に関してより具体的には、カーネル内のすべてのIPパケットバッファ(skbuffs)に状況番号でタグが付けられる。処理中のパケットの状況番号は、2つの機構のうちの1つによって特定される。
(1)ネットワークインターフェースを介してカーネルを入力するパケットには、インターフェースに構成された状況番号でタグが付けられる。ip_rcv()(net/ipv4/ip_input.c)内にある次に示すコードは、ネットワークインターフェースによって導入されたいかなるIPパケットに対するバッファにでもタグを付ける。
Figure 0004658606
(2)アプリケーションソケットを介してカーネルを入力するパケットには、それが出力の準備を完了した際にソケットに構成された状況番号でタグが付けられる(ディフォルトで、これはソケットを作成したアプリケーションのディフォルト状況番号である)。関連するソフトウェアコードは、主としてnet/ipv4/ip_output.cにある。ip_build_xmit()からの一例を次に示す。
Figure 0004658606
上記の表において、skbはskbuff構成に対するポインタであり、skはソケット構成に対するポインタである。さらに、仮想化に対処するためにvr_indexが両方の構成に付いている。
カーネルがユーザプロセスにパケットを提供することを必要とする場合、そのパケットを提供すべきプロセスを特定する際に、カーネルはそのパケットの状況番号を考慮する。TCPパケットに関する特定を行うソフトウェアコードからの一例を次に示す。
Figure 0004658606
上記の表は、net/ipv4/tcp_ipv4.cのtcp_v4_rcv()からのものである。CONFIG_NET_IP_VIRTUALは、カーネルがIP仮想化サポートによって構築される際に定義される。示すように、仮想化が使用中の場合に_tcp_v4_lookupの引数リストの先頭に追加引数が付加される。さらに、_tcp_v4_lookup()は、パケットを消費するソケットの特定を許可し、ハッシュテーブルでの検索を実行する。仮想化が使用中の場合、参照を実行する際のキーの一要素としてパケットの状況番号(skb−>vr_index)が使用される。この方法で、例えば、通常ならば同一の特性を有するが(ソースアドレス、ソースポート、宛先アドレス、宛先ポート)異なる状況に属する2つの異なるパケットを、2つの異なるソケットに向けることができる。
カーネルがIPフォワーディング検索を実行する場合(例えば、ルータとして動作する場合、またはローカルアプリケーションを発生させたパケットを遠隔の宛先に提供する場合)、その検索もまたパケットの状況を考慮させられる。具体的には、パケット毎に異なるルーティングテーブルが使用される。仮想化のために、多くの、または大部分のルート検索を実行するfib_lookup()(net/ipv4/fib_rules.cの)に次のコードが付加される。
Figure 0004658606
上記の表において、vrは、CONFIG_NET_IP_VIRTUALが定義される際に引数リストの先頭に付加されるfib_lookupに対する付加引数である。fib_get_table()に対するコールはルーティングテーブル番号を取り、仮想化に対するサポートはLinuxの複数のルーティングテーブルをサポートするという既存の機能を使用する。状況化が使用中の場合、ルーティングテーブル番号を計算するために状況番号が使用される。fib_lookup()の残りは、fib_get_table()に対するコールによって戻されたルーティングテーブルに作用する。
さらに、提供されたLinux上のホスト機能を実施することに関して、以下に示す「クラスタ」は、単一の提供されたホストを実施する一群のシステムの総称である。少なくとも1つの特定の実施態様は、次に示す事項に依存する。
提供されたホストに参加する各カーネルは、それがその提供されたホストの「リーダ」であるか否かを判定し、「リーダ」でない場合は、その提供されたホストの「リーダ」はどのシステムかを特定することができる。提供されたホストの「リーダ」は、その提供されたホスト全体に対して特定のサービスを(例えば、一意に)実行するよう設計されたシステムである。一般に、これは、適切に提供できなかったサービスに対して使用される。この情報は、インターフェースアドレス毎に、例えばin_ifaddr構成内に維持される。
ポート毎または接続毎に提供されるべきプロトコルの場合(例えば、UDPおよびTCP)、提供されたホストを実施する一組のシステムにパケットが到着した際に、その特定のパケットを処理するシステムを正確に特定することができるように、実際のプロトコルが修正される。したがって、一般に、どのポートおよび/または接続がどのシステムで処理されているかを示す項目を有するデータベースが維持される。これは、カーネルとユーザプロセスの間で、ルーティングプロトコルを実施するユーザプロセスによって使用される「rtnetlink」インターフェースにある程度類似したインターフェースを実施することによって達成することができる。具体的には、このようなインターフェースは、ユーザプロセスに、他のユーザプロセスによるbind()portsおよびaccept()connectionsの要求を通知する。このインターフェースを使用するユーザプロセスは、クラスタの中の遠隔ホストにより、または少なくとも提供されたインターフェースのリーダにより、データベースの同期を取ることを担当する。少なくとも大部分の場合において、tcp_v4_rcv()とudp_rcv()のような機能は、入来パケット毎に、そのパケットが処理されるべきか無視されるべきか、かつ/またはそのクラスタの別のメンバーに送信されるべきかを検索するように修正される。
少なくともいくつかの実施態様において、いくつかのプロトコル(例えば、ARP)場合、リーダシステムに対するすべての要求を単純に処理し、非リーダシステムに到達した要求は常に無視するだけで十分である。ARPの場合、これは、受信中のパケットが、そのローカルシステムをリーダとするアドレスに対応するか否かをチェックするためにarp_rcv()を修正することにより達成することができる。リーダである場合、そのパケットは通常通りに処理することができる。非リーダである場合、そのパケットは無視するか、そのクラスタの別のメンバーに送信することができる。
いくつかのプロトコルの場合(例えば、IPのマルチキャストが分散方式でサポートされる場合は、ICMPおよび恐らくはIGMP)、受信したパケットは分散型ホスト環境において異なる方法で処理される。ICMPの場合、分散型ホストを実施するクラスタのすべてのシステムにはエコー要求ではなく各パケットを送信することができ、次いで各システムは、そのパケットに基づいて取る動作があるならば、それを特定することができる。エコー要求がリーダシステムによって処理される。他のICMPパケットは、一般に、そのシステムが分散型ホストの一部でないかのような方法で、各システムによって処理される。分散型ホスト環境におけるICMPパケットの正確な処理は、特定の実施態様によって異なる。
分散型ホストクラスタ内のシステムによるICMPエラーパケットの発信は、分散型ホストの機能が使用中でない場合にどのようにしてそれらが生成されるかに関して修正される。具体的には、リーダシステムによってのみ「ICMP到達不可能」メッセージを生成することができる。特定の実施態様によって、そのクラスタ内の非リーダシステムによって、少なくともいくつかの他のICMPメッセージを生成することができる。
他の実施態様は、首記の特許請求の範囲内に含まれる。例えば、上記の1つまたは複数の特徴は、オブジェクトコードまたは実行可能なコードで実施することができる。上記の1つまたは複数の特徴は、入来通信のみ、または送出通信のみ、またはリアルタイム通信のみ、または優先順位の高いかデータレートの高い通信のみ、というように特定の通信のみで使用するよう実施することができる。オペレーティングシステムには、内蔵機能としてこれら特徴の1つまたは複数を提供することができる。
通信システムを示すブロック図である。 通信システムを示すブロック図である。 通信システムを示すブロック図である。 通信システムを示すブロック図である。 通信システムを示すブロック図である。 IPネットワーク接続用の資源を管理する際に使用するための方法を示す流れ図である。 IPネットワーク接続用の資源を管理する際に使用するための方法を示す流れ図である。

Claims (7)

  1. 1つの分散型IPホストを実装する少なくとも1つのオペレーティングシステム起動する通信システムにおける、ネットワークプロセッサ・サブシステムを選択的に形成する複数のプロセッサを用いるための方法であって
    処理すべき入来したパケットを、前記ネットワークプロセッサ・サブシステムにおいておよび前記分散型IPホストの前記少なくとも1つのオペレーティングシステムによって受け取るステップと、
    前記ネットワークプロセッサ・サブシステムにおいて、可能な場合には、前記複数のプロセッサのうちどれを前記入来パケットについてターゲット・プロセッサにするかを決定するステップと、
    前記複数のプロセッサのうちの1つを前記入来パケットのターゲット・プロセッサにすると決定した場合には、前記入来パケットを、前記ネットワークプロセッサ・サブシステムから前記複数のプロセッサのうちの前記1つに送るステップと、
    前記複数のプロセッサのどれを前記入来パケットのターゲット・プロセッサにするかを決定しない場合には、前記入来パケットを、前記ネットワークプロセッサ・サブシステムから前記複数のプロセッサの各々に送るステップと、
    前記ネットワークプロセッサ・サブシステムにおいて、前記複数のプロセッサのうちの1つを、前記分散型IPホストのリード・プロセッサとして指定するステップであって、該リード・プロセッサが、前記分散型IPホスト全体に対応付けられるような入来パケットを処理するステップと、
    を備える方法。
  2. 請求項1に記載の方法において、前記入来パケットを前記複数のプロセッサの各々に送る場合には、メディア・アクセス制御(MAC)ブロードキャストが使用される、方法。
  3. 拡張機能を追加するステップであって、該拡張機能は、前記分散型IPホストを実装する前記少なくとも1つのオペレーティングシステムにおいて、前記分散型IPホストの特定のオペレーティングシステム・カーネル・インターフェースが前記分散型IPホストについてのリード・オペレーティングシステム・カーネル・インターフェースであるかを指定するために使用される、ステップを更に備える、請求項1に記載の方法。
  4. 前記拡張機能は、procfsの拡張機能及びnetlinkの拡張機能のうちの1つである請求項3に記載の方法。
  5. 請求項3に記載の方法であって、さらに、前記分散型IPホストの非リード・インターフェースがアドレス解決プロトコル(ARP)リクエストに応答しないように、アドレス解決プロトコル(ARP)のコードを修正するステップを含む、方法。
  6. 請求項1に記載の方法において、前記入来パケットが、前記分散型IPホストの前記少なくとも1つのオペレーティングシステムによってローカルにバインドされていないポート番号対するものである場合には、伝送制御プロトコル(TCP)コードおよびユーザ・データグラム・プロトコル(UDP)コードのうちの少なくとも1つは、前記入来パケットが無視されるように修正される、方法。
  7. 請求項1に記載の方法であって、さらに、前記入来パケットが、前記分散型IPホスト全体に対応付けられているようなインターネット制御メッセージング・プロトコル(ICMP)パケットである場合には、前記特定のポート番号前記分散型IPホストの前記少なくとも1つのオペレーティングシステムによってバインドされていなければ、ICMPパケットが前記分散型IPホストによって無視されるように、インターネット制御メッセージング・プロトコル(ICMP)コードを修正するステップを備える、方法。
JP2004543432A 2002-10-04 2003-10-06 Ipネットワーク接続のための資源管理 Expired - Fee Related JP4658606B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41615102P 2002-10-04 2002-10-04
PCT/US2003/031675 WO2004034199A2 (en) 2002-10-04 2003-10-06 Managing resources for ip networking

Publications (3)

Publication Number Publication Date
JP2006502662A JP2006502662A (ja) 2006-01-19
JP2006502662A5 JP2006502662A5 (ja) 2010-01-28
JP4658606B2 true JP4658606B2 (ja) 2011-03-23

Family

ID=32093822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004543432A Expired - Fee Related JP4658606B2 (ja) 2002-10-04 2003-10-06 Ipネットワーク接続のための資源管理

Country Status (7)

Country Link
US (2) US7613836B2 (ja)
EP (1) EP1559025A4 (ja)
JP (1) JP4658606B2 (ja)
CN (3) CN101848141B (ja)
AU (1) AU2003277300A1 (ja)
CA (1) CA2500639C (ja)
WO (1) WO2004034199A2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090857B2 (en) 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7716363B1 (en) * 2004-02-10 2010-05-11 Cisco Technology, Inc. Method and apparatus of providing zero configuration single source multicasting reporting
US20050289101A1 (en) * 2004-06-25 2005-12-29 Doddaballapur Jayasimha Methods and systems for dynamic partition management of shared-interconnect partitions
WO2006127668A2 (en) * 2005-05-23 2006-11-30 Starent Networks Corporation Method and system for traffic redirection for prepaid subscriber sessions in a wireless network
US7822059B2 (en) * 2005-07-27 2010-10-26 Atheros Communications, Inc. Managing contention-free time allocations in a network
US8175190B2 (en) 2005-07-27 2012-05-08 Qualcomm Atheros, Inc. Managing spectra of modulated signals in a communication network
WO2007021943A2 (en) 2005-08-11 2007-02-22 Starent Networks Corporation System and method for congestion control signaling
US7522595B2 (en) * 2006-06-16 2009-04-21 Cisco Technology, Inc. Communicating packets between forwarding contexts using virtual interfaces
US8327008B2 (en) * 2006-06-20 2012-12-04 Lenovo (Singapore) Pte. Ltd. Methods and apparatus for maintaining network addresses
US8929360B2 (en) * 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
EP2159966A1 (en) 2007-05-10 2010-03-03 Intellon Corporation Managing distributed access to a shared medium
US8339954B2 (en) 2008-05-16 2012-12-25 Cisco Technology, Inc. Providing trigger based traffic management
KR101343595B1 (ko) 2008-12-19 2013-12-20 한국전자통신연구원 라우터에 대한 포워딩 가상화 방법
US8549173B1 (en) * 2009-09-29 2013-10-01 Google Inc. User-space resource management
US9413649B2 (en) * 2010-03-12 2016-08-09 Force10 Networks, Inc. Virtual network device architecture
EP2559201B1 (en) 2010-04-12 2020-06-24 Qualcomm Incorporated Delayed acknowledgements for low-overhead communication in a network
US8832685B2 (en) 2010-06-29 2014-09-09 International Business Machines Corporation Virtual network packet transfer size manager
US20120042054A1 (en) * 2010-08-13 2012-02-16 Dell Products, Lp System and Method for Virtual Switch Architecture to Enable Heterogeneous Network Interface Cards within a Server Domain
US10142218B2 (en) * 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment
US8811281B2 (en) 2011-04-01 2014-08-19 Cisco Technology, Inc. Soft retention for call admission control in communication networks
US9444550B2 (en) * 2013-10-14 2016-09-13 Fujitsu Limited Flexible virtual optical network provisioning using distance-adaptive modulation
US10721680B2 (en) 2016-04-21 2020-07-21 At&T Intellectual Property I, L.P. Method and apparatus for providing a virtual network function in a network
CN110149390B (zh) * 2019-05-17 2021-11-26 杭州登岸网络科技发展有限公司 一种应用于在线公务员考试培训平台的网络仿真方法及系统
US11463479B2 (en) * 2020-01-15 2022-10-04 Arista Networks, Inc. Intercepting network traffic

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH031258A (ja) * 1989-05-29 1991-01-07 Nec Corp 計算機ネットワークシステム
JPH1065728A (ja) * 1996-08-19 1998-03-06 Nec Eng Ltd 分散プロセッサ型データ交換機
JP2000349770A (ja) * 1999-06-01 2000-12-15 Nec Corp Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置
JP2001024699A (ja) * 1999-07-02 2001-01-26 Nec Corp ネットワーク負荷分散システム
JP2001237889A (ja) * 2000-02-25 2001-08-31 Nippon Telegr & Teleph Corp <Ntt> データ通信網における迂回経路制御方法及び装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US5142622A (en) * 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
WO1993009494A1 (en) 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5537417A (en) * 1993-01-29 1996-07-16 International Business Machines Corporation Kernel socket structure for concurrent multiple protocol access
US5689706A (en) * 1993-06-18 1997-11-18 Lucent Technologies Inc. Distributed systems with replicated files
US6108715A (en) * 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
US5889954A (en) * 1996-12-20 1999-03-30 Ericsson Inc. Network manager providing advanced interconnection capability
US6330599B1 (en) * 1997-08-05 2001-12-11 Cisco Technology, Inc. Virtual interfaces with dynamic binding
US6449273B1 (en) * 1997-09-04 2002-09-10 Hyundai Electronics America Multi-port packet processor
FR2767939B1 (fr) * 1997-09-04 2001-11-02 Bull Sa Procede d'allocation de memoire dans un systeme de traitement de l'information multiprocesseur
US6119170A (en) * 1997-12-29 2000-09-12 Bull Hn Information Systems Inc. Method and apparatus for TCP/IP multihoming on a host system configured with multiple independent transport provider systems
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
CA2245963C (en) * 1998-08-26 2009-10-27 Qnx Software Systems Ltd. Distributed kernel operating system
US6205488B1 (en) * 1998-11-13 2001-03-20 Nortel Networks Limited Internet protocol virtual private network realization using multi-protocol label switching tunnels
US6912590B1 (en) * 1998-12-18 2005-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Single IP-addressing for a telecommunications platform with a multi-processor cluster using a distributed socket based internet protocol (IP) handler
US7116679B1 (en) * 1999-02-23 2006-10-03 Alcatel Multi-service network switch with a generic forwarding interface
US6560217B1 (en) 1999-02-25 2003-05-06 3Com Corporation Virtual home agent service using software-replicated home agents
JP3557947B2 (ja) * 1999-05-24 2004-08-25 日本電気株式会社 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体
US6842906B1 (en) * 1999-08-31 2005-01-11 Accenture Llp System and method for a refreshable proxy pool in a communication services patterns environment
US7210147B1 (en) * 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
US7177898B2 (en) * 2000-03-17 2007-02-13 Fujitsu Limited Multiple-processor information processing system
US20010048661A1 (en) * 2000-05-24 2001-12-06 David Clear Method and apparatus for multi-protocol redundant router protocol support
US7171654B2 (en) * 2000-05-25 2007-01-30 The United States Of America As Represented By The Secretary Of The Navy System specification language for resource management architecture and corresponding programs therefore
JP2002074125A (ja) * 2000-08-31 2002-03-15 Sony Corp コンテンツ配信の通知方法、予約管理装置およびプログラム格納媒体
US7042876B1 (en) * 2000-09-12 2006-05-09 Cisco Technology, Inc. Stateful network address translation protocol implemented over a data network
US7296291B2 (en) * 2000-12-18 2007-11-13 Sun Microsystems, Inc. Controlled information flow between communities via a firewall
US7260648B2 (en) * 2001-01-25 2007-08-21 Ericsson, Inc. Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
US7039720B2 (en) * 2001-01-25 2006-05-02 Marconi Intellectual Property (Ringfence) , Inc. Dense virtual router packet switching
GB0102518D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted operating system
GB0102515D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Network adapter management
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
US7107356B2 (en) * 2001-03-07 2006-09-12 Lucent Technologies Inc. Translator for enabling logical partitioning of a network switch
US7441017B2 (en) * 2001-06-29 2008-10-21 Thomas Lee Watson System and method for router virtual networking
GB2378535A (en) * 2001-08-06 2003-02-12 Ibm Method and apparatus for suspending a software virtual machine
US6895576B2 (en) * 2001-10-18 2005-05-17 Hewlett-Packard Development Company, L.P. Method and system for device driver and operating system debugging of portable computers
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7096383B2 (en) * 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH031258A (ja) * 1989-05-29 1991-01-07 Nec Corp 計算機ネットワークシステム
JPH1065728A (ja) * 1996-08-19 1998-03-06 Nec Eng Ltd 分散プロセッサ型データ交換機
JP2000349770A (ja) * 1999-06-01 2000-12-15 Nec Corp Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置
JP2001024699A (ja) * 1999-07-02 2001-01-26 Nec Corp ネットワーク負荷分散システム
JP2001237889A (ja) * 2000-02-25 2001-08-31 Nippon Telegr & Teleph Corp <Ntt> データ通信網における迂回経路制御方法及び装置

Also Published As

Publication number Publication date
EP1559025A2 (en) 2005-08-03
WO2004034199A2 (en) 2004-04-22
CN101982950B (zh) 2013-03-27
US20040250159A1 (en) 2004-12-09
CN1742267A (zh) 2006-03-01
CN1742267B (zh) 2012-11-28
US7613836B2 (en) 2009-11-03
CN101848141A (zh) 2010-09-29
US8799513B2 (en) 2014-08-05
WO2004034199A3 (en) 2004-05-13
CN101848141B (zh) 2013-05-08
EP1559025A4 (en) 2009-11-25
AU2003277300A1 (en) 2004-05-04
AU2003277300A8 (en) 2004-05-04
CN101982950A (zh) 2011-03-02
JP2006502662A (ja) 2006-01-19
CA2500639A1 (en) 2004-04-22
US20100023576A1 (en) 2010-01-28
CA2500639C (en) 2014-01-07

Similar Documents

Publication Publication Date Title
JP4658606B2 (ja) Ipネットワーク接続のための資源管理
US10862732B2 (en) Enhanced network virtualization using metadata in encapsulation header
US11848800B2 (en) Connecting virtual computer networks with overlapping IP addresses using transit virtual computer network
US9042384B2 (en) Distributed routing domains in multi-tenant datacenter virtual networks
EP3782333A1 (en) Cross-regional virtual network peering
US6600743B1 (en) IP multicast interface
Li et al. Mobile edge computing platform deployment in 4G {LTE} networks: A middlebox approach
KR20140057553A (ko) 가상화된 네트워크와 비-가상화된 네트워크 간 가상화 게이트웨이
US11595303B2 (en) Packet handling in software-defined net working (SDN) environments
CN114301868B (zh) 快速生成虚拟容器浮动ip的方法及网络直通的方法和装置
CN112671628A (zh) 业务服务提供方法及系统
EP3022888A1 (en) Network element and method of running applications in a cloud computing system
US6327621B1 (en) Method for shared multicast interface in a multi-partition environment
CN112671938A (zh) 业务服务提供方法及系统、远端加速网关
EP1161045A2 (en) Network processor architecture
CN113542111B (zh) 一种报文转发方法及网络设备
CN113542112B (zh) 一种报文转发方法及网络设备
CN116888940A (zh) 利用虚拟联网的容器化路由器
Landau et al. Plugging the hypervisor abstraction leaks caused by virtual networking
Han et al. High-Performance and Low-Cost VPP Gateway for Virtual Cloud Networks
CN116633901A (zh) 容器网络管理方法、装置、设备以及计算机存储介质
CN116743681A (zh) Vxlan网络中报文转发方法、装置、计算机设备和存储介质
CN117768388A (zh) 在OpenStack下应用虚拟路由器的装置和方法
CN117255019A (zh) 用于虚拟化计算基础设施的系统、方法及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060815

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090824

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20091125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100315

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100615

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101126

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4658606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees