JP2008535342A - オペレーティング・システム・パーティションのためのネットワーク通信 - Google Patents

オペレーティング・システム・パーティションのためのネットワーク通信 Download PDF

Info

Publication number
JP2008535342A
JP2008535342A JP2008503470A JP2008503470A JP2008535342A JP 2008535342 A JP2008535342 A JP 2008535342A JP 2008503470 A JP2008503470 A JP 2008503470A JP 2008503470 A JP2008503470 A JP 2008503470A JP 2008535342 A JP2008535342 A JP 2008535342A
Authority
JP
Japan
Prior art keywords
packet
port
logical
operating system
data 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.)
Granted
Application number
JP2008503470A
Other languages
English (en)
Other versions
JP4898781B2 (ja
JP2008535342A5 (ja
Inventor
バッソ、クロード
カルヴィニャック、ジーン
チャン、チーチェン
デイモン、フィリップ
フース、ロナルド、エドワード
キール、ハーヴィー、ジーン
ヴァイドヤナサン、ナタラヤン
ヴァープランケン、ファブリス
ヴェリーリ、コリン、ビートン
リュッケ、アラン、カイル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008535342A publication Critical patent/JP2008535342A/ja
Publication of JP2008535342A5 publication Critical patent/JP2008535342A5/ja
Application granted granted Critical
Publication of JP4898781B2 publication Critical patent/JP4898781B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Abstract

【課題】
オペレーティング・システム・パーティションとコンピュータ・ネットワークとの間の通信を提供する。
【解決手段】
一側面においては、複数のオペレーティング・システム・パーティションにネットワーク通信を分配するための装置は、ネットワークとコンピュータ・システムとの間の通信を可能にする物理的ポートと、物理的ポートと関連付けられた論理ポートとを含み、各論理ポートはオペレーティング・システム・パーティションの1つと関連付けられる。論理ポートの各々は、物理的ポートと関連するオペレーティング・システム・パーティションとの間での通信を可能にし、システムのネットワーク・リソースのコンフィギュレーション能力を可能にする。他の側面は、論理ポート及び物理的ポートのための論理スイッチと、各接続及び各論理ポートのためのパケット・キューとを含む。
【選択図】図3

Description

関連出願との相互参照
本出願は、下記の同時係属中の米国特許出願と関連している。
本願と同じ日に出願されて本発明の譲受人に譲渡された“サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット(登録商標)・アダプタ(Host Ethernet Adapter for Networking Offload in Server Environment)”と題された米国特許出願第11/97,608号(代理人事件整理番号RPS920050059US1/3485P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“数個のイーサネット(登録商標)・ポートと、簡易化されたフレーム・バイ・フレーム上部構造により処理されるラップ伝送されるフローとに配慮するための方法及びシステム(Method and System for Accommodating Several Ethernet Ports and a Wrap Transmitted Flow Handled by a Simplified Frame−By−Frame Upper Structure)”と題された米国特許出願第11/96,363号(代理人事件整理番号RPS920050060US1/3486P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ネットワーク接続テーブルを提供するための方法及び装置(Method and Apparatus for Providing a Network Connection Table)”と題された米国特許出願第11/96,571号(代理人事件整理番号RPS920050061US1/3487P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット(登録商標)・アダプタのための設定可能なポート(Configurable Ports for a Host Ethernet Adapter)”と題された米国特許出願第11/97,652号(代理人事件整理番号RPS920050073US1/3502P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット(登録商標)・アダプタ(HEA)においてチェックサムを分解し、フィルタリングし、計算するためのシステム及び方法(System and Method for Parsing, Filtering, and Computing the Checksum in a Host Ethernet Adapter (HEA))”と題された米国特許出願第11/96,365号(代理人事件整理番号RPS920050074US1/3503P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット(登録商標)・アダプタ(HEA)において待ち時間を短縮する方法のためのシステム及び方法(System and Method for a Method for Reducing Latency in a Host Ethernet Adapter (HEA))”と題された米国特許出願第11/96,353号(代理人事件整理番号RPS920050075US1/3504P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ネットワーク伝送のためのブラインド・チェックサム及び訂正のための方法及び装置(Method and Apparatus for Blind Checksum and Correction for Network Transmissions)”と題された米国特許出願第11/97,055号(代理人事件整理番号RPS920050076US1/3505P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“パケット・ヘッダ・ルックアップを実行する方法及びシステム (Method and System for Performing a Packet Header Lookup)”と題された米国特許出願第11/96,362号(代理人事件整理番号RPS920050082US1/3512P)。
本願と同じ日に出願されて本発明の譲受人に譲渡された、“ホスト・イーサネット(登録商標)・アダプタ(HEA)においてブラインド・チェックサムを計算するシステム及び方法(System and Method for Computing a Blind Checksum in a Host Ethernet Adapter(HEA))”と題された米国特許出願第11/97,430号(代理人事件整理番号RPS920050089US1/3516P)。
技術分野
本発明は、コンピュータ・ネットワークにおける通信に関し、特にオペレーティング・システム・パーティションとコンピュータ・ネットワークとの間の通信に関する。
コンピュータ・システムは、イーサネット(登録商標)のような公知標準規格を用いてネットワーク接続を確立し使用することによってネットワークを介して互いに通信する。通例、システム上で動作する複数のエンティティー又はプロセスはネットワークを介して各々独立に通信することができる。システムとの複数の接続を介して効率的に通信することを可能にすることを補助するために、ネットワーク・ポートがシステムの入力及び出力のために設けられる。例えば、システムは、ネットワークへの1つ以上の物理的ポートを含むネットワーク・アダプタ・インターフェース・カードを含むことができる。
或るコンピュータ・システムは、複数のオペレーティング・システム(OS)が同時に独立に動作することを許す。例えば、IBM社の或るサーバ・システムは各オペレーティング・システムをサーバ上のそれ自身のパーティションに設けることによって複数のオペレーティング・システムを動作させる。例えば、リナックス・パーティション、AIX(IBM社の商標)パーティション、異なるユニックス・パーティションが1つのサーバ上で同時に動作することができる。これらのOSパーティションの全てがネットワークを介して通信することを可能にするために、種々の方法が使用され得る。1つの方法では、サーバのI/Oホスティング・パーティションが、システム上で動作している全てのパーティションの通信ニーズを処理しなければならない。これはOSパーティションに対して低速の通信を生じさせる。なぜならば、複数のパーティションが、ネットワークを介するそれらのI/O通信において単一のI/Oホスティング・パーティションを通して妨げられ、例えば各パーティションは、単一のネットワーク・アダプタに接続されたパケット・フォワーダを含む単一のI/Oホスティング・パーティションを通してそのデータを送受信しなければならないからである。
他の構成では、高速通信を可能にするために、同じ機械上で各OSパーティションにネットワーク・アダプタと物理的ネットワーク・ポートとを提供することができる。例えば、5つの異なるOSパーティションの各々に、物理的ポートと共にそれ専用のネットワーク・アダプタが設けられる。しかし、特に多数のOSパーティションが実装されるとき、その様な構成の費用は過大になり得る。
システム上で動作する複数のOSパーティションを持つためには、システムにより受信されシステムにより送られる情報が全ての適切なネットワーク宛先に経路指定されること、及び、パーティションが同じサーバ上で動作している他のパーティションと情報をやり取りできることが必要である。他のOSパーティションは、データ・パケットについての唯一の宛先として指定され得、或いはパケットについての数個の宛先のグループに含まれ得る。例えば、イーサネット(登録商標)・ネットワーク上のブロードキャスト(BC)ネットワーク機能及びマルチキャスト(MC)ネットワーク機能は、特定のシステム又はパーティションにより送られた情報を複数の宛先が受信することを可能にする。もし1つのパーティションがネットワーク上の全ての利用可能な宛先にブロードキャスト情報を送れば、システム上の他のOSパーティションの全てはそのブロードキャスト情報を受信しなければならない。
現存するシステムでは、幾つかの利用可能な方法のいずれかを用いて種々のOSパーティションへの、またそれらからのネットワーク・トラフィックが提供される。1つの方法ではサーバ・システムの外側のルータを通してレイヤ3経路指定が行われ、全てのデータ・パケットがシステムの外へ送られ、また逆にシステムの適切なOSパーティションに送られる。しかし、これは、より長くかかる外部経路に起因して非効率的であり得るし、また、レイヤ2プロトコル・サポートのような所望の機能の全てをサポートしないかもしれない。他の1つの方法では、完全なイーサネット(登録商標)・スイッチをネットワーク・アダプタに埋め込むことができる。そのスイッチは、適切な宛先にパケットを提供するために必要に応じて種々のパーティションを切り替える。しかし、この方法は、イーサネット(登録商標)・スイッチがアダプタ上の現存する回路の外側にあるために高価であり、また、非標準的な特注の特徴及び機能を必要とすることがある。
サーバ・システムについての他のネットワーク通信問題は、データ・パケットのキューイングに関係する。慣例上、オペレーティング・システムから送出され又はそれにより受け取られるデータ・パケットを格納するために単一のキューが設けられ、そのオペレーティング・システムのカーネルのスタックがそのキュー中のパケットを処理する。他の或るシステムでは、他のタイプのキューイングを用いることができる。しかし、現存するキューイング方法は、複数のパーティションを有するシステムのニーズや、ユーザ・スペース・キュー及びOSカーネル・キューの両方を持つ可能性に対処しない。
従って、必要なのは、限られた数の物理的ポート、設定可能な回線速度、リソースを割り当てる効率的方法、及び種々のパケット・キューを有するコンピュータ・システムでの複数のOSパーティションの使用を含む、オペレーティング・システム・パーティション及びコンピュータ・ネットワークと効率的に且つ安価に通信するための装置及び方法である。本発明は、このようなニーズに対処する。
本出願の発明は、コンピュータ・ネットワークにおける、またオペレーティング・システム・パーティションとコンピュータ・ネットワークとの間における、通信に関する。本発明の1つの側面において、コンピュータ・システムに設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配するための装置はネットワークに結合された少なくとも1つの物理的ポートを含み、その物理的ポートはネットワークとコンピュータ・システムとの間の通信を可能にする。その少なくとも1つの物理的ポートと関連する論理ポートが含まれ、それらの論理ポートの各々はオペレーティング・システム・パーティションの1つと関連付けられる。論理ポートの各々は、関連する物理的ポートと関連するオペレーティング・システム・パーティションとの間での情報の伝達を可能にし、システムのネットワーク・リソースのコンフィギュレーション能力を可能にする。
本発明の他の側面において、コンピュータ・システムに設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配する方法は、オペレーティング・システム・パーティションと、そのオペレーティング・システム・パーティションに関連する少なくとも1つの論理ポートとの間で情報を伝達することを含む。複数のオペレーティング・システム・パーティションの各々は、関連する少なくとも1つの論理ポートと通信することができる。この方法は、そのオペレーティング・システム・パーティションと関連する少なくとも1つの論理ポートと、その少なくとも1つの論理ポートと関連する少なくとも1つの物理的ポートとの間で情報を伝達することをも含み、物理的ポートはネットワークに結合される。
本発明の他の側面において、コンピュータ・システムにおいてネットワーク通信を分配する方法は、コンピュータ・システム内の論理スイッチでデータ・パケットを受け取ることを含み、コンピュータ・システムは複数のオペレーティング・システム・パーティションを動作させる。そのデータ・パケットは、そのパケット内の情報がラップ経路を示すときには、コンピュータ・システムの1つのオペレーティング・システム・パーティションからコンピュータ・システム内のハードウェア経路を通ってコンピュータ・システムの他のオペレーティング・システム・パーティションにラッピングされる。データ・パケット内の情報が非ラップ経路を示すときには、データ・パケットは、もしオペレーティング・システム・パーティションから受け取られたならば、外部ネットワークに結合された物理的ポートに送られ、或いは、もし外部ネットワークから受け取られたならば、オペレーティング・システム・パーティションに送られる。
本発明の他の側面において、コンピュータ・システムに設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配するための装置は、外部ネットワークに結合された少なくとも1つの物理的ポートを含み、この物理的ポートは外部ネットワークとコンピュータ・システムとの間の通信を可能にする。含まれる論理ポートは、各々、オペレーティング・システム・パーティションの1つと関連付けられる。コンピュータ・システム内に実装された論理スイッチは、物理的ポート及び論理ポートを選択し、オペレーティング・システム・パーティションと物理的ポートとへの情報の伝達を可能にする。
本発明の他の側面において、コンピュータ・システムにネットワーク通信を提供するための装置は、ネットワークに結合された少なくとも1つの物理的ポートを含み、この物理的ポートはネットワークとコンピュータ・システムとの間の通信を可能にする。コンピュータ・システムの少なくとも1つのユーザ・スペース内の少なくとも1つのプロセスから送られ又はそれにより受け取られるべきデータ・パケットを格納するために複数の接続キューが包含され、各接続キューは少なくとも1つのプロセスのうちの1つとネットワークとの間の異なるネットワーク接続と関連付けられる。コンピュータ・システムにより実装されたオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるデータ・パケットを格納するためにデフォルト・オペレーティング・システム・キューも包含される。
本発明の他の側面において、コンピュータ・システムのためにネットワーク通信を提供する方法はネットワーク・アダプタでデータ・パケットを受け取ることを含む。データ・パケットは接続キューに格納され、接続キューは、関連するネットワーク接続を介してコンピュータ・システムの少なくとも1つのユーザ・スペース内の少なくとも1つのプロセスから送られ又はそれにより受け取られるデータ・パケットを格納する。データ・パケットは、もしそのデータ・パケットのためにネットワーク接続が見出され得なければデフォルト・オペレーティング・システム・キューに格納され、デフォルト・オペレーティング・システム・キューは、コンピュータ・システムにより実装されたオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるデータ・パケットを格納する。
本発明は、サーバ・システムに設けられた複数のオペレーティング・システム(OS)パーティションへの高速で効率的な通信を可能にする。ソフトウェアにとってはトランスペアレントな、本発明のネットワーク・アダプタを用いて、全てのパーティションにアダプタを供給することを必要とせずに、また標準的アダプタ・ハードウェアを用いて、各パーティションがそれ自身の専用イーサネット(登録商標)・アダプタを持っているのと同じような性能を達成することができる。本発明の論理スイッチは、ユニキャスト・パケット、ブロードキャスト・パケット、及びマルチキャスト・パケットを含む全てのタイプのデータ・パケットをネットワーク及びOSパーティションに効率的に提供することを可能にし、本発明のパケット・キューは、例えば複数のOSパーティションを有するシステムにおいて多様なキューイングをサポートすることを可能にする。本発明は、イーサネット(登録商標)又は類似のネットワークをバーチャル化し、リソースを割り当て、回線速度及び他のリソースを設定する効率的方法を提供する。
本発明は、コンピュータ・ネットワークにおける通信に関し、特にオペレーティング・システム・パーティションとコンピュータ・ネットワークとの間の通信に関する。以下の記述は、当業者が本発明品を製造し使用することを可能にするべく提示され、特許出願及びその要件と関連して提供される。本書に記載されている好ましい実施態様と一般原理と特徴とに対する種々の改変は、当業者にとっては明白であろう。従って、本発明は、示された実施態様に限定されるべく意図されてはおらず、ここに記載されている原理及び特徴と矛盾しない最も広い範囲が与えられるべきである。
本発明は、主として、特定のインプリメンテーションで提供されたシステムに関して記載される。しかし、当業者は、この方法及びシステムが実際上他のインプリメンテーションでも働くであろうことを容易に認めるであろう。例えば、本発明で使用し得るシステム・アーキテクチャ及びネットワーク構成はいろいろな形をとることができる。本発明は、一定のステップを有する特定の方法の文脈においても記載される。しかし、本方法及びシステムは、本発明と矛盾しない異なるステップ又は追加のステップ或いはその両方を有する他の方法に関しても有効に働く。
本発明の特徴をより具体的に記載するために、以下の検討と関連させて図1ないし10を参照されたい。本発明は、IEEE802.3イーサネット(登録商標)・ネットワーク・プロトコル及び伝送制御プロトコル/インターネット・プロトコル(TCP/IP)クライアント・サーバ・システムと関連して記載される。他のプロトコル(ユーザ・データグラム・プロトコル(UDP)など)及び構成も他の実施態様において使用され得る(例えば、UDP5タプルをキューにマッピングすることができる)。
図1は、本発明に用いるのに適するシステム10のブロック図である。システム10は、サーバ、メインフレーム、デスクトップ・クライアント・コンピュータ、ワークステーション、又は他のコンピュータ又は電子装置のようなコンピュータ・システムである。ここに記載される実施態様では、システム10は一般的にサーバ・システムと称される。良く知られているように、システム10には1つ以上のマイクロプロセッサ、メモリ(RAM又はROM或いはその両方)、及び他のコンポーネントが設けられる。
記載される実施態様では、サーバ・システム10はネットワーク接続14を介して他の種々のコンピュータ・システム12と通信することができる。コンピュータ・システム12は、サーバ、クライアント・マシン、又は他のコンピュータ又は電子装置であり得る。例えば、サーバ・システム10は、イーサネット(登録商標)、TCP/IPのようなネットワーキング・プロトコル、又は他のタイプのプロトコル、或いはその両方を用いてコンピュータ・システム12と通信することができる。
ここに記載される実施態様のいくつかについて、サーバ・システム10は数個のオペレーティング・システム(OS)パーティション16を含む。各パーティション16でオペレーティング・システムは独立に動作することができる。例えば、ユニックス、リナックス、IBM社のAIX(IBM社の商標)、マイクロソフト社のウィンドウズ(登録商標)、アップルコンピュータ社のマックOS、又はその他のようなオペレーティング・システムが各々パーティション16で動作することができ、一定タイプのOSの複数のインスタンスが別々のパーティション16で動作することができる。
OSパーティション16の各々は、ネットワーク14を介して情報を送受信することができ、ネットワーク上のデータ・パケットのソース又は宛先或いはその両方として行動することができる。例えば、パーティション16で動作するOSは、例えばウェブ・ページ・データをコンピュータ・システム12に提供するウェブ・サーバ・アプリケーションなどの、“ユーザ・スペース”内のサーバ・アプリケーション又はプロセスを提供することができ、又は、1つ以上のコンピュータ・システム12により提出されたデータベース・データ又はプロセス・データを提供し、或いはそれら両方を提供する。
各々のアクティブなパーティション16は、ネットワーク・アダプタ20を通してネットワーク14にデータを送り、ネットワーク14からデータを受け取る。アダプタ20は、コンピュータ・システム12からネットワークを介して受け取られたデータ・パケットの適切なOSパーティション16への提供を処理する。また、ネットワーク・アダプタ20は、OSパーティション16からパケットを受け取って、その宛先がネットワーク14上のコンピュータ・システム12であっても他のOSパーティション16であっても、その情報の適切な宛先への送信を制御する。ネットワーク・アダプタは、入来データストリームの適切なデータを別々のOSパーティションに送る多重分離機能を提供する。ネットワーク・アダプタ20は、1つ以上の物理的ポート22をネットワーク14へのハードウェア接続として提供するハードウェア・インターフェース・アダプタであり得る。アダプタ20は、以下で詳しく記載される本発明の機能を実行するハードウェア論理、マイクロプロセッサ、メモリ(RAM又はROM或いはその両方)、他の適切なコンポーネントのいずれか1つ以上を含むことができる。アダプタ20は、サーバ・システムに差し込まれる取り外し可能な別個のカードとして設けられ得、或いは他のサーバ・システム・コンポーネントに組み込まれ得る。他の実施態様では、アダプタ20の機能はソフトウェアで、或いはハードウェアとソフトウェアとの組み合わせで実行され得る。
この明細書の全体にわたって記載される本発明の特徴と共に使用され得るシステム・コンポーネントの例が、2005年4月1日に出願された、“サーバ環境におけるネットワーク化オフロードのためのホスト・イーサネット(登録商標)・アダプタ(Host Ethernet Adapter for a Networking Offload in a Server Environment)”と題された関連する多重分離特許出願第11/97,608号(RPS920050059US1/3485)に同時係属記載されて見出され得、その全体が参照により本書に組み込まれる。
図2は、図1に示されているアダプタ20により使用され実装されるように提供された本発明の論理ポート・システム50の線図である。図1に関して記載されたようにシステム10においてOSパーティション16が実装される。図2の例では、利用可能な32個のOSパーティションがある。
2グループ54及び56の論理ポート58が図2に示されている。本発明の論理ポート58は、システム10のOSパーティション16の、物理的ポート22へのマッピングである。図2の例では、5個の物理的ポート22a、22b、22c、22d、22eがネットワーク・アダプタ20上で利用可能である。これらの物理的ポートは、好ましくは、それらの各々にどれだけの量の帯域幅を割り当てられるかに関して設定可能である。図2の例では、4つの物理的ポート22a−dに夫々1ギガビット/秒が割り当てられ、物理的ポート22eに10ギガビット/秒が割り当てられている。他の実施態様では他の割り当てを用いることができ、好ましくは、エンド・ユーザは、ネットワーク・アダプタ20の物理的限界内で希望に応じて帯域幅割り当てを設定することができる。
論理ポート58の各々は、関連付けられたOSパーティションがその特定の論理ポートを“所有する”ように、物理的ポート22をOSパーティション16の1つにマッピングする。図示されている例では、論理ポート58aはパーティション16a内のOS2を物理的ポート22aにマッピングし、論理ポート58bはパーティション16b内のOS4を物理的ポート22aにマッピングする、などである。図示されているように、複数の論理ポート58が単一のOSパーティション16を1つ又は複数の物理的ポートにマッピングすることができる。合計3個の論理ポート58がOS4を合計4個の物理的ポート22にマッピングして示されている。各物理的ポートと、その物理的ポートに割り当てられた論理ポートとは、図3に関して以下で記載される論理スイッチにより選択される。各論理ポートは、論理スイッチ上に1つの独自のポートを持つことができる。
各OSパーティション16において動作するOSの観点からは、そのOSは、利用可能な物理的ポート22の排他的使用権を得る。OSパーティションが論理ポートの仮想化及び構成に気づかないように、すなわち、各OSパーティションがそれに割り当てられた論理ポートを物理的ポートと見るように、論理ポート58はOSパーティションにとってはトランスペアレントであるようにセットアップされる(論理ポートはOSにとっては正確に物理的ポート構造のようには見えない)。OSは、例えば、(図9に関して記載されるように)各論理ポートに関連するキューを見、各論理ポートに関連するリソースと影響を及ぼし合う。
論理ポート58は、ポート・グループ54及び56のようなポート・グループに組織され得る。各ポート・グループ内の論理ポートは、自分たちが参照することのできる物理的ポートの特定のセットに割り当てられ、それらの物理的ポートはそのポート・グループ内にあるとも考えられる。例えば、ポート・グループ54内の論理ポート58は、物理的ポート22eにではなくて物理的ポート22a−dに割り当てられ得る。同様に、ポート・グループ56内の論理ポート58は、物理的ポート22a−dにではなくて物理的ポート22eに割り当てられ得る。
各ポート・グループ54又は56は利用可能なN個の論理ポートを持つように指定され、それは、システムが設定されるときにニーズが要求するとおりにシステム・マネージャが割り当てることのできるリソース・プールである。各論理ポートは、そのポート・グループ内のどの物理的ポートにも割り当てられ得る。これは、ユーザ、システム管理機能、又はプログラムが、ポート・グループ内の物理的ポートへの帯域幅の分配、パーティション・アクセスの分配など、各ポート・グループ内でリソースを希望通りに設定することを可能にする。システム制約条件(メモリなど)が各ポート・グループの論理ポートの数を制限し得る。例えば、図2の例では、各ポート・グループは13論理ポートに制限され得る。
ポート・グループ54又は56の使用は、帯域幅などの、ほぼ同じ一定量のリソース使用を各ポート・グループのために割り当てることを可能にする。例えば、4つの1ギガビット物理的ポートを有することのできるポート・グループ54は、1つの10ギガビット物理的ポートを有するポート・グループ56とほぼ同じ帯域幅リソースに制限され得る。(例えば、5つ以上の1ギガビット・ポートなど、より多くの物理的ポートのために必要なI/Oピンの数などのリソース割り当てを左右する他の要素も作用し始めることができる。)物理的ポートにおけるボトルネックを減少させるために、各々のより狭い帯域幅の物理的ポート(例えば、1ギガビット)におけるネットワーク・スループットは、好ましくは、より大きな帯域幅のポート(例えば、10ギガビット)におけるスループットと同様には共有されない。図2の例では、各1ギガビット・ポート22a-dは、OS帯域幅使用を4つの物理的ポート22a-dの全てに分散させるために5つに及ぶOSパーティションを扱うように割り当てられる。対照的に、単一の10ギガビット物理的ポート22eは、ポート・グループ56の13個の論理ポート58の全てに帯域幅を分配する。
入来パケットを論理ポートに割り当てることができるように、各論理ポート58に識別値又は名称を割り当てることができる。例えば、一実施態様は、各論理ポート58に、論理ポートを識別するために異なる媒体アクセス制御(MAC)アドレスを割り当てることができる。MACアドレスは、ネットワーク内のノードを一意に識別するハードウェア・アドレスである。物理的ポートに到着した各パケットは、そのパケット内の宛先(DA)MACアドレスと一致するMACアドレスを有する論理ポートに割り当てられる。
各論理ポートは送信及び受信動作のためにデフォルト論理ポート・キュー及びキューイング・プロセスにも関連付けられ得る。このことは、以下で図9及び10に関して詳しく記載される。
各論理ポート58は、好ましくは、通常各物理的ポート22と関連する、関連するリソース及び構成パラメータの自分自身のセットを有する。これらのリソース及び構成パラメータは、各論理ポートがあたかも物理的ポートであるかのように機能を実行することを可能にする。例えば、各論理ポート58は管理情報ベース(MIB)カウンタの自分自身のセットを有することができ、それは、その論理ポートにより送信及び受信されたバイト及びパケットの数、その論理ポートで検出された各タイプのエラーの数、などを数える。各論理ポートは、各論理ポートのために独立の判定基準を用いる、パケット・タイプに基づくパケットのタイプ、又は仮想ローカル・エリア・ネットワーク(VLAN)タイプなどのフィルタリング、又はマルチキャスト・アドレスのフィルタリング、或いはそれらのフィルタリングの両方のようなフィルタリング・プロセスを各論理ポートが独立に実行することを可能にする自分自身のフィルタ・テーブルを有することができる。他のフィルタリング構成は、イーサネット(登録商標)のための“SNAP”フレーム、“JUMBO”(大型サイズ)フレーム、又はパケットのための他のフレーム・フォーマットをフィルタリングするための判定基準を含む。構成はVLAN抽出構成を含むことができ、それは入来パケットのフレームからのVLANタグの抽出を可能にする。更に、構成は、パケットの通過を許したり、エラーが発見された場合に許さなかったりするというような、チェックサム・エラーを発見したときにとられ得る処置(例えば、IP又はTCPプロトコルについて)のためにセットされ得る。また、構成リソースは、パー・コネクション・キューイング(図9に関連して以下で記載される)など、本発明の他の特徴のためのイネーブルメント・セッティングを含むことができる。
論理ポート58は、単一のネットワーク・アダプタ20上に設けられ得る物理的ポート22の単一のセットを複数のOSパーティションが共有することを可能にする。本発明では、潜在的に大きな数のOSパーティション(例えば、25)が、全て、遥かに少数の物理的ポート(例えば、5)を使用するときにネットワークへのアクセスを持つことができる。他の利点は、論理ビューやレベル・ビューに影響を及ぼさずに、グループのポートを物理的レベルで例えば1×10G又は4×1G帯域幅にセットできるようなポート・グループのコンフィギュレーション能力である。従って、ポートのOSパーティション・ビューは、物理的ポート帯域幅割り当てが変化したとき、変化しなくても良い。更に、より大きな効率及び速度を目的として帯域幅を広げるように分配され得る論理ポートをOSパーティションに割り当てることができ、すなわち、各ポート・グループはほぼ同じ総帯域幅に制限され、各OSパーティションのために専用のネットワーク・アダプタ及び物理的ポートを設けることを必要とせずに高速通信を可能にする。
図3は、論理スイッチを含む本発明の通信システム100のブロック図である。OSパーティション16がサーバ・システム10に設けられて、論理ポート58によってポート・グループ102にマッピングされている。物理的ポート22もポート・グループ102に含まれている。
論理ポート58は、論理スイッチ104によって、関連する物理的ポート22に接続される。これらは、ネットワーク・アダプタ20において好ましくはハードウェアで実装される論理スイッチであって、OSパーティション16により送信及び受信されるパケットのための経路を決定する。論理ポートと物理的ポートとは全て論理スイッチに接続された仮想ポートになり、論理スイッチはこれらの仮想ポートのいずれにも切り替わってそのポートを通してデータを送り或いはそのポートからデータを受け取ることができる。
図3に示されているように、論理スイッチ104は、ネットワーク・アダプタの各物理的ポート22のために設けられて、その物理的ポートを、その物理的ポート22と関連する論理ポート58に結合させる。物理的ポート105は論理スイッチ108に関連付けられ、これは論理ポート109a−c及びパーティション112,114、及び116に接続される。同様に、物理的ポート106は論理スイッチ110に関連付けられ、これは論理ポート111a−c及びパーティション118,120、及び122に接続される。
ネットワーク14と物理的ポートとの間でインターフェースする外部スイッチ124を物理的ポート22に結合させることができる。このスイッチは、通常はネットワーク・アダプタ20及びシステム10の外にあるハードウェア・コンポーネントである。例えば、外部スイッチ124は、入来するパケットを適切な物理的ポートに経路指定することができ、(例えば、それはポートへの宛先MACアドレスのテーブルを維持する)、全ての物理的ポートから出力されるパケットをネットワーク14に経路指定することができる。外部スイッチ124は、レイヤ2又はレイヤ3外部スイッチであり得、或いは両方のレイヤを処理することができる。
論理スイッチ104は、入来するパケットを適切なOSパーティション16に送り、またOSパーティション16からの送出パケットを関連する物理的ポートに送ることができるだけではなくて、1つのOSパーティション16からの適切なパケットを同じサーバ・システム10内の1つ以上の他のOSパーティション16に送ることもできる。パケットが1つのOSパーティションから他のOSパーティションに内部で送られるべきときには、それは本書では“ラップ”経路と称され、パケットがサーバ内でラッピングされることを示す。“非ラップ”経路は、パケットがOSパーティションと外部ネットワーク14との間で伝達される場合の経路である。論理スイッチ104は、経路128で示されているようにサーバ・システム10と外部ネットワークとの間で、経路130で示されているように同じ論理スイッチ104に存する2つのOSパーティションの間で、また、経路132により示されているように異なる論理スイッチに存する2つのOSパーティション間で、パケットを経路指定することができる。経路132は、2つの論理スイッチ18の間の経路が適切な物理的ポート22を通り得、また外部スイッチ124を通り得ることを示している。
図4は、サーバ・システム上で複数のOSパーティションに、また複数のOSパーティションから、パケットを送る方法を示す流れ図である。このプロセスは、OSパーティション16から、物理的ポート22を通してネットワーク14から、或いはマルチキャスト/ブロードキャスト・マネージャ(後述する)から情報のパケットを得るときのネットワーク・アダプタ20の見地からのものである。プロセス200は、パケットがネットワークに送信されることと、パケットがネットワークから受信されることとを記述する。このプロセスを2つの異なるプロセス、すなわち1つはネットワーク14へのパケットの送信のためのプロセス、1つはネットワークから、またラップ経路から、パケットを受信するためのプロセス、に分離し得ることを当業者は理解するであろう。この方法は、好ましくは論理回路及びゲート、プロセッサなどのようなハードウェアで実行されるが、ソフトウェアでも、或いはソフトウェアとハードウェアとの組み合わせでも実行され得る。
本方法は202から始まり、ステップ204で、パケットがネットワーク・アダプタ20において得られる。1つのシナリオでは、パケットがネットワーク14を横断して或いは他のOSパーティション16へ送信されるべくOSパーティション16又はサーバ・システムのマルチキャスト/ブロードキャスト・マネージャ(後述する)から得られる。他のシナリオでは、パケットはコンピュータ・システム12又は他の装置からネットワーク14からネットワーク・アダプタの物理的ポート22を通して得られる(受信される)。
ステップ206で、プロセスは、受信されたパケットで得られたパケット制御記述子を、そのパケットのステータスを判定するために、チェックする。記述される実施態様では、パケット制御記述子は、そのパケットについての異なるステータスを各々示す3つの可能な値の1つを持つことができる。1つの値は、パケットが“標準の”ステータスを有することを示す、すなわち、それは本発明で用いられるように改変されていないパケットである。このタイプのパケットは、普通は、OSパーティション16により送出されるか、又はネットワーク14を介して送信/受信される。第2の値は、パケットが“追い出し(force out)”ステータスを有することを示す、すなわち、それは本発明で用いられるように改変され(図5に詳しく記載されているように)、ネットワーク・アダプタの物理的ポート22から自動的に送出されるパケットである。第3の値はパケットが“再循環(recirculate)”ステータスを有することを示す、すなわち、それはサーバ・システム10内で自動的にOSパーティション16にラッピングされるように改変されている(図5に詳しく記載されているように)パケットである。
ステップ208で、プロセスは、パケットが標準ステータスを有するか非標準ステータスを有するかを判定する。もしそれが標準パケットであれば、プロセスはステップ210に続き、ここでプロセスはそのパケットがユニキャスト(UC)パケットであるか、それともマルチキャスト(MC)/ブロードキャスト(BC)パケットであるかを調べる。良く知られているように、ユニキャスト・パケットは単一の指定された宛先を有し、マルチキャスト・パケットは複数の指定された宛先を有し、ブロードキャスト・パケットは全ての使用可能な宛先に送られなければならない。もしそれがUCパケットであれば、プロセスはステップ212に続き、ここでプロセスは、そのパケットの宛先(DA)MACアドレスがそのパケットがサーバ・システム10のOSパーティション16のような内部宛先に送られるべきであることを示しているのか、それとも物理的ポート22を介して外のネットワークに送信されるべきであることを示しているのかをチェックする。パケットの宛先は、このMACアドレスから判定され得る。システム10の各論理ポート58にはMACアドレスが割り当てられており、物理的ポート22を介してネットワークからパケットが受信されると、得られたパケットのDA MACは、そのパケットを受信した物理的ポートと関連する論理スイッチの各論理ポートの各MACと比較される。
パケットが内部宛先に送られるべきであれば、プロセスはステップ214に続き、ここでパケットは、例えば、そのパケットにおいて見出された宛先アドレスMACを有する論理ポートに存するOSパーティション16に内部で送られる。上で記載されたように、宛先MACアドレスは、所望のOSパーティションにマッピングされている同じMACアドレスを有する論理ポート58を見出すために使用される。パケットがラップ経路上にあるときには、すなわちそれがOSパーティション又はMC/BCマネージャから得られて別のOSパーティションに送られるのであれば、そのパケットは、あたかもそのパケットがネットワーク及び物理的ポートからのラインで受信されたかのようにネットワーク・アダプタ20の受信側多重分離論理に注入される。その後、プロセスは218で完了する。
パケットがステップ212で内部で送られないのであれば、すなわちそのパケットがネットワークで送信されるべきであれば、ステップ216において、そのパケットはネットワーク14を介して宛先に送られるべく適切な物理的ポート22から出力される。上で記載されたように、パケットは、ステップ204でそのパケットがそこから得られたところのOSパーティションの論理ポートを含むポート・グループと関連する物理的ポート22を通して送出される。その後、プロセスは218で完了する。
パケットがステップ210でマルチキャスト又はブロードキャスト(MC/BC)パケットであることが見出されたならば、プロセスはステップ220に続き、ここでパケットはネットワーク・アダプタ20からサーバ・システム10の内部MC/BCマネージャに送られる。もしOSパーティション16がステップ204でそのパケットを提供したのであれば、そのパケットは、あたかもそのパケットがネットワークからのラインで受信されたかのようにラップ経路でネットワーク・アダプタ20の受信側多重分離論理へ送られ、MC/BCマネージャへの多重分離フローに従う。MC/BCマネージャは、サーバ・システム10に設けられたソフトウェア・プロセスであり得て、ハードウェアを使用するより低速であっても良いけれども、MC又はBCパケットは通常はネットワーク・トラフィック全体の小さなパーセンテージであるので、これはシステム性能を顕著には低下させない。パケットを受信したときのMC/BCマネージャのプロセスが以下で図5と関連して記載される。
ステップ208で、受信されたパケットが標準ステータスを持っていないことが見出されたならば、そのパケットはMC/BCマネージャから得られた。MC/BCマネージャは、ステップ220の前の反復でそれに送られたパケットのステータスを、そのパケット制御記述子を変更することによって、改変しているか、或いは図5に関して以下で記載されるように非標準ステータスを有する複製パケットを作っている。プロセス200は、受信された非標準パケットが“追い出し”又は“再循環”のステータスを有するか判定するためにステップ222でパケット制御記述子をチェックする。もしパケットが追い出しパケットであれば、プロセスはステップ224に続き、ここでそのパケットは、そのマルチキャスト/ブロードキャストMACアドレスにより示される宛先に送信されるべく物理的ポートを介してネットワーク14へ送出される、すなわちこのパケットはMC/BCマネージャにより外部に送信されるように指定されている。その後、プロセスは218で完了する。
もしパケットがステップ222で再循環パケットであれば、プロセスはステップ226に続き、ここでそのパケットは、パケットに付随する宛先タグ(このタグは好ましくはパケットとは別である)により示される内部論理ポートへ送られる。このタグとパケット制御既述子とは、内部ラップ経路に沿ってラッピングされるパケット共に受信側多重分離論理に渡される。宛先タグは、そのパケットが経路指定されるべき内部論理ポート58へのポインタを提供するためにMC/BCマネージャによりそのパケットに付け加えられたので、アダプタ20はこのステップにおいて該パケットのDA MACアドレスを無視して該パケットをそのタグで指定されている論理ポートに存するOSパーティションへ経路指定する。その後、プロセスは218で完了する。本発明における宛先タグの使用は、パケットのオリジナルDA MACアドレスが改変されずにパケットに存続することを可能にし、これによりパケットのDA MACアドレスがそれを必要とする任意の他の後のネットワーク・プロセスにより使用されることを可能にし、本インプリメンテーションの重要な利点である。
図5は、サーバ・システム10からの又はその中での配布のためにマルチキャスト又はブロードキャスト・パケットを管理する本発明の方法250を示す流れ図である。この方法は、好ましくは、サーバ・システム10のソフトウェアで実装されてネットワーク・アダプタ20とインターフェースすることのできるMC/BCマネージャ(図7に示されている)により実行される。
本方法は252から開始し、ステップ254で、MC/BCパケットがMC/BCマネージャによりネットワーク・アダプタ20から受信される。MC/BCパケットは、図4の方法200のステップ220でアダプタによりマネージャに送信された。マルチキャスト又はブロードキャスト・パケットは、そのパケットについてのこのMC又はBCステータスを示すMACアドレスを有する。ステップ256で、プロセスは、MC/BCマネージャが中に存するシステム10のOSパーティション16にこのパケットがラッピングされるべきか否か調べる。MC又はBCパケットは複数の宛先に送信されるので、マネージャは全ての宛先をチェックすることができる。この判定において、MC/BCマネージャは、残っているOSパーティションがそのパケットを受信する必要があるのかそれとも初めに受信されたパケットの複製を受信する必要があるのかを調べる。ブロードキャスト・パケットは常にラッピングされる必要があると共に物理的ポートからネットワーク14上の使用可能な宛先に出力される必要があり、希望に応じてラッピング送信又は外部送信が始めに実行され得る(以下で記載されるように、結局は、複製されたパケットが全ての宛先に送信される)。マルチキャスト・パケットは、マルチキャストMACにより提供される指定された宛先に依存して(MC宛先は、特定のMCアドレスについて登録されているパーティションの維持されているデータベースを用いて決定される)、1つ以上の内部OSパーティションにラッピングされ又は外部宛先に送信されなければならないことがあり或いはその両方が行われなければならないことがある。
マネージャは、自分が受信したパケットが内部でOSパーティション16から発せられたものであるならば、常にそのパケットをネットワークに送信されるように送出する。アダプタ20の送信側論理はそのパケットをマネージャに提供する。マネージャは、パケットのソースMACをシステム10の内部MACと比較して一致を見出すことによって、それが内部で発せられたことを知り、この場合には、マネージャは常にパケットを物理的ポートから送出し、そのパケットの具体的な外部宛先は後に決定される(例えば外部スイッチにより。マネージャはシステム10の中にあり、どの具体的外部宛先がマルチキャスト・パケットを受信するべきかを知らない)。しかし、もしマネージャがそのパケットのソースMACをシステム10の内部MACのうちの1つと一致させなければ、それは、それがネットワーク14からアダプタ20の受信側多重分離論理を通して受信されたことを知り、外部ネットワークに送信されるべきパケットを送出しない。
パケットのこのコピーについてラッピングが行われないのであれば、プロセスはステップ258に続き、ここでマネージャはパケットのパケット制御既述子に適切な値を書き込むことによってパケットのステータスを“追い出し”にセットする。その後、プロセスはステップ260に続き、ここでマネージャはパケットをネットワーク・アダプタ20に送る。ネットワーク・アダプタは、上記のように、方法200のステップ204でパケットを受信し、それを物理的ポート22から送出する。
このパケットについてラッピングが行われるのであれば、プロセスはステップ262に続き、ここでマネージャはパケットのパケット制御既述子に適切な値を書き込むことによってパケットのステータスを“再循環”にセットする。更に、マネージャはパケットに付随する再循環タグを付け加え、そのタグは、そのパケットが送られるべき論理ポートの名称を含む。これは、ネットワーク・アダプタ20がMACアドレスとは異なる情報を読むことによって再循環されるパケットを論理ポートへ経路指定することを可能にし、従ってそのパケットのオリジナルのマルチキャストMACアドレスが改変されずに存続することを可能にする。プロセスはその後ステップ260に続き、ここでマネージャはそのパケット(及びタグ)をネットワーク・アダプタ20に送る。
ステップ258又はステップ262の後にステップ264が実行され、ここでプロセスは送信されるべきパケットの他のコピーがあるか否か調べる。マルチキャスト及びブロードキャスト・パケットは複数の宛先に送られるので、MC/BCマネージャは、どの宛先が指定されているか判定し、このステップにおいていずれかの宛先にそのパケットの複製がまだ送られていないか調べる。送信されるべき他のパケットがあるならば、ステップ266で、マネージャは初めに受信されたパケットを複製し、プロセスはステップ256に戻って、その複製されたパケットを、適切な経路指定のためにネットワーク・アダプタ20に送る前に、適宜に改変する。ステップ264で送信されなければならない複製パケットがそれ以上無ければ、プロセスは268で完了する。記載されている実施態様では、ネットワーク上の外部宛先に送られるべきパケットを外部スイッチ124が複製できるので、MC/BCマネージャは追い出しパケットを複製しなくても良い。
他の実施態様では、プロセス250において、記載されたステップが図示の順序とは異なる順序でも実行され得ることに留意するべきである。例えば、マネージャは、受信されたパケットの複製を作り、全てがステップ258又は262或いはその両方を介して準備されるまで全ての複製されたパケットをバッファにおいて維持し、その後にそれら全てをステップ260と同様のステップで一緒にネットワーク・アダプタに送ることができる。
図6は、本発明のシステム300のブロック図であり、図4に関して上で記載されたユニキャスト(UC)パケットの流れを示す。ネットワーク・アダプタ20は、イーサネット(登録商標)・アダプタとして示されていて、論理ポート304a−cと物理的ポート306とを参照する論理スイッチ302を含む。OSパーティション308,310、及び312が論理ポート304a−cに結合されている。一例では、パーティション308,310、及び312は、ネットワーク14上のコンピュータ・システム324及び326と同じサブネット上に存在し得る。例えば、パーティション308は11というMACアドレスと9.1.1.1というTCP/IPアドレスとを持つことができ、パーティション310は12というMACと9.1.1.2というTCP/IPアドレスとを持つことができ、パーティション312は13というMACと9.1.1.3というTCP/IPアドレスとを持つことができ、コンピュータ・システム324は31というMACと9.1.1.13というTCP/IPアドレスとを持つことができ、コンピュータ・システム326は41というMACと9.1.1.14というTCP/IPアドレスとを持つことができる。
OSパーティションにより送信されたパケットをラッピングする例では、パーティション308は経路318で標準のユニキャスト・パケットを送信し、そのパケットは、ネットワーク・アダプタ20の論理スイッチ302により受信されるとUC宛先MACアドレス・ルックアップ・プロセス212aを受ける。UC MACルックアップは、上で図4のステップ212に記載されている。MACルックアップはパケットがラッピングされるべきことを示すので、パケットは論理スイッチにより送られ、続いて経路318で宛先へ続き、それは論理ポート304bを介してOSパーティション310である。もしパーティション310がパーティション308という宛先を有する標準のユニキャスト・パケットを発したならば、同様のプロセスが逆方向に行われる。
別の、非ラップのパケット送信又は受信の例では、パーティション312は経路320で標準UCパケットを送出し、そのパケットは、論理スイッチ302により受信されると、同様にUC宛先MACアドレス・ルックアップ・プロセス212bを受ける。そのMACルックアップはそのパケットが外部に送出されるべきことを示すので、論理スイッチはそのパケットを経路320で物理的ポート306を通し、外部スイッチ322を通して宛先コンピュータ・システム324に送る。もしコンピュータ・システム324が物理的ポート306を通してネットワーク・アダプタ20により受信された標準ユニキャスト・パケットを発したのであれば、同様のプロセスが逆方向に行われて、パケットは論理スイッチでDA MACルックアップを受けて論理ポートを通してその宛先へ、例えば論理ポート304cからパーティション312へ提供される。
図7は、本発明のシステム350のブロック図であり、図4及び5に関して上で記載されたマルチキャスト/ブロードキャスト(MC/BC)パケットのアウトバウンドの流れ(送信)を示す。ネットワーク・アダプタ20は、イーサネット(登録商標)・アダプタとして示されており、論理ポート304a−cと物理的ポート306とを参照する論理スイッチ302を含む。OSパーティション308,310、及び312が論理ポート304a−cに結合されている。一例では、図6について上で記載されたものと同様に、パーティション308,310、及び312はネットワーク14上のコンピュータ・システム324及び326と同じサブネット上に存在し得る。
この例では、パケットのアウトバウンドの流れはOSパーティションから他の宛先へ提供される。パーティション308は標準のMC又はBCパケットを経路352に送出し、そのパケットは、上で図4のステップ210において記載されたように、論理スイッチ302により受信されるとMC宛先MACアドレス・チェック210aを受ける。MACチェックはそのパケットがMC又はBCパケットであることを示すので、パケットはサーバ・システム10において実装されているMC/BCマネージャ354に経路352で送られる。
図5に関して上で記載されたように、MC/BCマネージャ354は、パケットの宛先を判定し、複製パケットを作り、パケット記述子を変更し、再循環タグを付け加える。この例では、マネージャ354はそれが3つの宛先を有するMCであること、また4つのパケットが、2つはOSパーティションにラッピングされ、2つは外部宛先に送信されるように、送出されるべきことを判定している。マネージャ354は再循環MCパケット及び再循環タグ356を経路358でアダプタ20へ送出し、これは、タグ356を読んで論理ポート304cを見出してパケットをパーティション312へラッピングする。同様に、マネージャ354は再循環MCパケットと再循環タグ360とを経路362でアダプタ20へ送出し、これは、タグ360を読んで論理ポート304bを見出してパケットをパーティション310へラッピングする。マネージャ354は、また、追い出しMCパケットを経路364でアダプタ20へ送出し、これは、これらのパケットを物理的ポート306から外部スイッチ322を通して送出する。外部スイッチ322は、ネットワーク14を横断して1つが外部コンピュータ・システム324に提供され、1つが外部コンピュータ・システム326に提供されるように、そのパケットを複製する。
図8は、本発明のシステム370のブロック図であり、図4及び5に関して上に記載されたマルチキャスト/ブロードキャスト(MC/BC)パケットのインバウンドの流れ(受信)を示す。ネットワーク・アダプタ20は、イーサネット(登録商標)・アダプタとして示され、論理ポート304a-cと物理的ポート306とを参照する論理スイッチ302を含む。OSパーティション308,310、及び312が論理ポート304a-cに結合されている。上記と同様に、一例では、パーティション308,310、及び312はネットワーク14上のコンピュータ・システム324及び326と同じサブネット上に存在し得る。
この例では、コンピュータ・システム326のような外部宛先からのパケットのインバウンドの流れが内部OSパーティションに提供される。コンピュータ・システム326は標準のMC又はBCパケットを経路372に送出し、外部スイッチ322は、もし適切ならばそのパケットの1コピーをネットワーク14上の他の宛先に、外部コンピュータ・システム324などに、送る。スイッチ322は他のパケット・コピーを物理的ポート306を通してシステム10に送り、そのパケットは経路374で論理スイッチへ経路指定される。上で図4のステップ210において記載されたように、パケットは、論理スイッチ302によって受信されると、MC宛先MACアドレス・チェック210aを受ける。MACチェックは、そのパケットがMC又はBCパケットであることを示すので、そのパケットは経路374でMC/BCマネージャ354に送られる。
図5に関して上で記載されたように、MC/BCマネージャ354は、パケットの宛先を判定し、複製パケットを作り、パケット記述子を変更し、再循環タグを付け加える。この例では、マネージャ354は、それが3つの内部宛先を有するMCパケットであること、そして3つのパケットが内部OSパーティションに送られるべきであることを判定している。マネージャ354は再循環MCパケット及び再循環タグ376を経路378でアダプタ20へ送出し、これは、タグ378を読んで論理ポート304cを見出してパケットをパーティション312へラッピングする(マネージャ354から内部OSパーティションへの経路は“ラップ”であるとも考えられる)。同様に、マネージャ354は、論理ポート304b及びパーティション310へラッピングされる再循環MCパケット及び再循環タグ380を経路382で送出し、また、論理ポート304a及びパーティション308へラッピングされる再循環MCパケット及び再循環タグ384を経路386で送出する。
図9は、ネットワーク・パケットをキューイングするための本発明のキューイング・システム400の線図である。サーバ・システム10は、OSパーティション・カーネルにより受信されるか又は各OSパーティションのユーザ・スペースの中のアプリケーション/プロセスにより直接受信されるべきパケットを保持し、また、パーティション又はユーザ・スペース・プロセスによって物理的ポート22へ送信されるべきパケットを保持するためのキューのセットを含むことができる。以下に記載されるキューは、パケットをキューに格納するためにネットワーク・アダプタ20によりアクセスされ得ると共にパケットをキューから取り出すためにプロトコル・スタック及びデバイス・ドライバによりアクセスされ得るシステム10のメイン・メモリにおいて実現され得る。
システム400に含まれる第1タイプのキューは接続キュー402である。これらのキューは、サーバ・システムのユーザ・スペース内のプロセス404に送られるパケットのためにバッファを提供し、また、プロセッサ404から他のプロセス、OSパーティション、又はネットワークの向こうの外部コンピュータ・システムなどの宛先に送られるパケットのためのバッファである。ユーザ・スペースは、アプリケーションがそこで動作するところのプロセスを提供するOSパーティション内のソフトウェア・スペースであり、そのアプリケーションはネットワーク接続によりネットワーク14と通信する。慣例上OSのカーネルで動作するTCP/IPスタックの一部又は全部は、各ユーザ・スペースに移され、それ自身の接続キューを持つ。これは、多くのTCP/IP送信及び受信操作のためにカーネルが迂回され得るので、効率を与える。ユーザ・スペース内のプロセス/アプリケーション404への各ネットワーク接続は、パケットを格納するためのそれ自身の接続キュー402を有する。例えば、TCP/IPパケットが受信されたとき、TCP/IPスタック・プロセスは、受信されたパケットが適切な接続キューに置かれて結局は該スタックにより処理され得るように、接続ダイレクト・テーブル内の接続情報を調べて接続キュー番号を見出すことができる。そのキュー内のパケットから処理された情報がユーザ・スペース内のプロセス(例えば、各プロセス内のアプリケーション)に送られる。受信されたパケットは、ネットワーク・アダプタ20内のハードウェアにより正しいキューに向けられ(“サーバ環境におけるネットワーク化オフロードのためのホスト・イーサネット(登録商標)・アダプタ(Host Ethernet Adapter for a Networking Offload in a Server Environment)”と題された関連特許出願、2005年4月1日に出願された出願第11/97,608号(RPS920050059US1/3485に記載されている)、ユーザ・スペース内のTCPスタックはそのキューへのアクセスの管理を引き継ぐ。
一例では、接続キューは、IPパケットの断片化が予期されなくて短待ち時間が期待される永続的接続のために最善に適合し得る。ユーザ・スペース・アプリケーション又はプロセスは、ネットワーク・アダプタ10により提供される接続キューイング・メカニズムをサポートするユーザ・スペース・ソケット・ライブラリを利用することができる。
システム400に含まれる第2のタイプのキューはデフォルト論理ポート(LP)キュー406である。これらのキューは、サーバ・システム10のOSパーティション16のカーネル408に送られるパケットのためのバッファを提供する。各デフォルトLPキューが所望のOSパーティションと関連付けられた単一の論理ポート58と関連付けられ得るように、各OSパーティション16はそれ自身のデフォルトLPキュー406を備えている。従って、各論理ポートは、それ自身のデフォルト・キューを有する論理イーサネット(登録商標)・インターフェースに対応する。通例、デフォルトLPキュー内のパケットは、関連するオペレーティング・システムのカーネル408により扱われて処理される、すなわち、オペレーティング・システムのカーネル・ネットワーク化スタックはそのオペレーティング・システムのためのデフォルト・キュー406を扱う。本発明では、パケットのMACアドレスのためにパー・コネクション・ルックアップがイネーブルされていなければ(パー・コネクテッド・ルックアップ・イネーブルメント(per−connected lookup enablement)は、システム・マネージャ又はオペレータにより設定され得る論理ポート設定リソースの1つであり得る)、或いは、以下で図10に関して詳しく記載されるようにパケットが再循環させられるマルチキャスト/ブロードキャスト・パケットであるならば、パケットのために接続キュー402が見出され得ないときにはデフォルトLPキュー406がパケットを格納する。
図2に関して上で記載されたように論理ポート58に属性が割り当てられ得るのと同様の仕方で、デフォルトLPキュー406(及び、以下で記載される特別デフォルト・キュー410)の各々に属性が割り当てられ得る。例えば、各キューのためのフィルタリングがイネーブル又はディスエーブルされ得る。属性は、容易なパケット管理を可能にするために設定のための同じフォーマットを持つことができる。設定はキュー・タイプ間で同じなので、或るハードウェア論理は共有され得る。
システム400に含まれる第3のタイプのキューは特別デフォルト・キュー410である。これらのキューは、他の利用可能なキューに格納されないパケットを格納するために使われる。本発明では、3つの特別デフォルト・キュー、すなわち、ユニキャスト・デフォルト・キュー412と、マルチキャスト・デフォルト・キュー414と、ブロードキャスト・デフォルト・キュー416と、が設けられる。ユニキャスト・デフォルト・キュー412は、パケットのためにデフォルトLPキュー406が見出され得ないときにパケットを格納する。マルチキャスト・デフォルト・キュー414とブロードキャスト・デフォルト・キュー416とは、MACルックアップ・テーブル(ネットワーク・アダプタ20内のハードウェアに置かれる)のMACアドレスの1つと一致しないか又は再循環させられるマルチキャスト・パケット及びブロードキャスト・パケットを夫々格納する。これらは、以下で図10と関連して詳しく記載される。
上で列挙された各タイプのキューは、好ましくは、ネットワーク・アダプタ20に設けられている各物理的ポートと関連付けられる。従って、各物理的ポートは、好ましくは、接続キューのセット402と、その物理的ポートのための論理ポート58と関連付けられたデフォルトLPキューのセット406と、特別デフォルト・キューのセット410とを有する。
図10は、パケット格納のためのキューを選択する本発明の方法450を示す流れ図である。この方法は、ネットワーク14から又はラップ経路で受信されたパケットのためにネットワーク・アダプタ20においてハードウェアにより実行される。或いは、それはソフトウェアで又はサーバ・システム10の異なるコンポーネントで或いはその両方で実行され得る。
本方法は452から開始し、ステップ454で、パケットがネットワーク・アダプタによりネットワーク14から又は内部ラップ経路を介して受信される。ステップ456で、プロセスはそれが再循環させられるパケットであるか否か、すなわち、図4及び5に関して上で記載されたようにMC/BCマネージャ354によりラップ経路へ向けて指定されたパケットであるか否か、調べる。再循環させられるパケットはマネージャによって既に処理されているのでそれらの宛先へ送られ得る。従って、もしそれが再循環させられるパケットであれば、プロセスはステップ470へ続いて、以下で記載されるようにそのパケットをデフォルトLPキューに格納する。もしそれが再循環させられるパケットでなければ、ステップ457においてプロセスはそのパケットがユニキャスト(UC)パケットであるのか或いはマルチキャスト(MC)/ブロードキャスト(BC)パケットであるのかを調べる。これは、例えば、パケットのMACアドレスから判定され得る。もしそれがMC/BCパケットであるならば、ステップ458で、プロセスは、そのパケットを受信した物理的ポートと関連付けられている特別デフォルトMCキュー414又はBCキュー416にそのパケットを格納する。その後、プロセスは460で終了する。図5に関して上で記載されたように、デフォルトMCキュー414及びデフォルトBCキュー416内のパケットは、結局は処理を受けるべくMC/BCマネージャ354に供給される。単一のOSパーティションに専用される物理的ポートにパケットが到着したのであれば、MC及びBCキュー内のパケットは中央OSキュー、例えばそのパーティションのためのデフォルトLPキュー406、に供給され得る。
パケットがステップ457で判定されたUCパケットであれば、プロセスはステップ462に続き、ここで接続ルックアップが実行される。(1つのインプリメンテーションでは、たとえ接続キューに格納するとしても論理ポートについてのMACアドレス・ルックアップも実行され得、例えば、6タプル・ルックアップが実行され得、ここで6番目のタプルは論理ポート番号である。これは同じ5タプル接続情報が各論理ポート58でアピールし、また重なり合わないことを可能にする。)記載されている実施態様では、アダプタ20上のハードウェアは、パケット内の接続情報の2タプル、3タプル、又は5タプル・パターンをとり、接続が使用可能にされ又は確立されたときにそのパターンを接続テーブルに格納されている接続情報と比較しようと試みる。その様な方法の一実施態様が“ネットワーク接続テーブルを提供するための方法及び装置(Method and Apparatus for Providing a Network Connection Table)”と題された同時係属特許出願(RPS920050061US1/3487)、すなわち2005年4月1日に出願された出願第11/96,571号に記載されており、その全体が参照により本書に組み込まれる。
次のステップ464で、プロセスは接続ルックアップについて一致が見出されたか否か、例えば、接続テーブルにおいて接続情報の一致するパターンが見出されたか否か、調べる。もしそうならば、プロセスは、一致する接続と関連付けられた接続キューにパケットを格納する。例えば、所望の接続キューを参照する番号又はポインタが、一致した接続情報と共に接続テーブルに格納され得る。パケットは、結局は接続キューから処理されてユーザ・スペース内の適切なプロセス404に提供され得る。その後、プロセスは460で終了する。
ステップ464でパケットについて一致するパターンが発見されなければ(或いはパケット内のMACアドレスのためにパー・コネクション・キューイングがイネーブルされなければ)、プロセスはステップ468でパケットのためにデフォルトLPキューが発見されたか否かを調べる。上記のように、各論理ポート58は、関連するデフォルトLPキュー406を有する。デフォルト・キューは、論理ポートMACアドレスのリスト又はテーブルにおいてパケット内の宛先MACアドレスについてルックアップを実行することにより判定される(上記のように、各論理ポート58にMACアドレスが割り当てられている)。このステップにおいてもし論理ポートのMACアドレスがパケット内の宛先MACアドレスと一致したならば、プロセスはステップ470においてパケットをその論理ポートのデフォルトLPキュー406に格納し、プロセスは460で終了する。デフォルトLPキュー406内のパケットは、これらのキューと関連付けられたOSパーティション16のカーネル・ネットワーク化スタックへ経路指定される。
パケットのためにデフォルトLPキュー406が発見されなければ、プロセスはステップ472に続いて、(もし特別キュー412がイネーブルされているならば)パケットを受信した物理的ポートと関連付けられている特別デフォルトUCキュー412にそのパケットを格納し、プロセスは460で終了する。パケットはMACアドレス及びシステム10の論理ポート58のいずれにも向けられないかもしれないので、そのパケットは設定された論理ポートMACアドレスのいずれとも一致しなくて、従ってそれはデフォルト・キュー412に格納され得る。例えば、これは、もしシステムが“プロミスキャス(promiscuous)モード”であるか、又は“スニファー(sniffer)”機能を持っているならば起こり得ることであり、この“スニファー”機能では、送信された全てのデータ・パケットが、例えば、システム10に向けられたパケットと同様に他の宛先へのパケットも分析されるようにネットワーク活動を監視するために、ネットワーク・アダプタにより受信されて読まれ得る。或いは、これは、もしネットワーク・ブリッジング機能がシステム10によって実装されているならば起こり得ることであり、その場合、ネットワーク14は他のネットワークに接続され、各パケットは、それがネットワーク14内の宛先へ渡されるべきであるのか、それとも他の相互接続されているネットワーク上にあると知られている宛先へ転送されるべきであるのかを判定するために、分析される。
デフォルトUCキュー412はオプションであるので、他の実施態様では、又はもしキュー412がディスエーブルされていれば、ステップ472は実行されず、むしろ、もしデフォルトLPキューがパケットのために発見されなければ、そのパケットは捨てられる。例えば、もし“プロミスキャス(promiscuous)モード”がディスエーブルされれば特別キュー412はディスエーブルされるかもしれない。
本発明の方法450は、接続ごとのキューイング(queuing per connection)と論理ポートごとのキューイング(queuing per logical port)(OSキュー)という両極端の間の柔軟性を考慮している。本発明では、両方のモデルが、それら自身のキューイングを有する或る接続及びデフォルト論理ポート・キューでキューイングされる或る接続と共に働くことができる。方法450は、複数のOSパーティションも考慮しており、また、マルチキャスト/ブロードキャスト・パケットを含む、パーティション間でのイーサネット(登録商標)のレイヤ2スイッチングをサポートする(例えば、IEEE802.3)。
本発明は、図示された実施態様に従って記載されたけれども、それらの実施態様の変更があり得ること、それらの変更が本発明の範囲内にあるであろうことを当業者は直ぐに認めるであろう。従って、添付されている請求項の範囲から逸脱すること無く多くの改変が当業者によりなされ得る。
本発明に用いるのに適するシステムの例のブロック図である。 図1に示されているアダプタにより使用されるように設けられ実装される本発明の論理ポート・システムの線図である。 論理スイッチを含む本発明の通信システムのブロック図である。 コンピュータ・システム上の複数のオペレーティング・システム・パーティションに、またそれらから、パケットを送る方法を示す流れ図である。 コンピュータ・システムからの又はその中での配布のためにマルチキャスト・パケット又はブロードキャスト・パケットを管理する本発明の方法を示す流れ図である。 論理スイッチを含む本発明の通信システムのブロック図である。 論理スイッチを含む本発明の通信システムのブロック図である。 論理スイッチを含む本発明の通信システムのブロック図である。 ネットワーク・パケットをキューイングするための本発明のキューイング・システムの線図である。 パケット格納のためにキューを選択する本発明の方法を示す流れ図である。

Claims (58)

  1. コンピュータ・システムに設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配するための装置であって、前記装置は、
    ネットワークに結合された少なくとも1つの物理的ポートであって、前記ネットワークと前記コンピュータ・システムとの間の通信を可能にする物理的ポートと、
    前記少なくとも1つの物理的ポートと関連する複数の論理ポートとを含んでおり、前記論理ポートの各々は前記オペレーティング・システム・パーティションの1つと関連付けられ、前記論理ポートの各々は、関連する物理的ポートと関連するオペレーティング・システム・パーティションとの間での情報の伝達を可能にし、前記装置のネットワーク・リソースのコンフィギュレーション能力を可能にする装置。
  2. 前記少なくとも1つの物理的ポートは複数の物理的ポートであり、複数の論理ポートが各物理的ポートと関連付けられる請求項1に記載の装置。
  3. 前記物理的ポートと、各物理的ポートと関連付けられた前記複数の論理ポートとは、ほぼ一定量のリソースが各ポート・グループに割り当てられるようにポート・グループに組織される請求項2に記載の装置。
  4. 前記リソースの分配は、設定可能である各ポート・グループの前記物理的ポートに割り当てられる帯域幅を含む請求項3に記載の装置。
  5. 各ポート・グループは所定数の使用可能な論理ポートを有し、各論理ポートは同じポート・グループ内のどの物理的ポートにも割り当てられ得る請求項3に記載の装置。
  6. 各論理ポートは、関連する媒体アクセス制御(MAC)アドレスにより識別され、前記物理的ポートに到着したその様な各パケットは、そのパケット内の前記MACアドレスと一致するMACアドレスを有する論理ポートに割り当てられる請求項1に記載の装置。
  7. 各物理的ポート及び論理ポートは論理スイッチにより通信のために選択され得る請求項1に記載の装置。
  8. 各論理ポートは、その論理ポートと関連付けられた前記オペレーティング・システム・パーティションにより送信又は受信されるパケットを格納するためのデフォルト論理ポート・キューと関連付けられる請求項1に記載の装置。
  9. 各論理ポートは、その論理ポートを通して伝達される情報を管理又は制御するために使用されるリソースの独立のセットと関連付けられる請求項1に記載の装置。
  10. 前記リソースのセットは、関連する論理ポートを通る情報と関連する論理ポートで発生するエラーとを監視するための管理情報ベース・カウンタを含む請求項9に記載の装置。
  11. 前記リソースのセットは、関連する論理ポートを通過するネットワーク・パケットのタイプをフィルタリングするための少なくとも1つのフィルタ・テーブルを含む請求項9に記載の装置。
  12. 複数の論理ポートが単一のオペレーティング・システム・パーティションと関連付けられ得る請求項1に記載の装置。
  13. コンピュータ・システム上に設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配する方法であって、前記方法は、
    オペレーティング・システム・パーティションと、前記オペレーティング・システム・パーティションと関連付けられた少なくとも1つの論理ポートとの間で情報を伝達することであって、複数のオペレーティング・システム・パーティションの各々の1つが関連する少なくとも1つの論理ポートと通信することができる前記伝達することと、
    前記オペレーティング・システム・パーティションと関連付けられた前記少なくとも1つの論理ポートと前記少なくとも1つの論理ポートと関連付けられた少なくとも1つの物理的ポートとの間で前記情報を伝達することであって、前記物理的ポートがネットワークに結合されている前記伝達することと、
    を含む方法。
  14. 前記方法は前記ネットワークから前記少なくとも1つの論理ポートで情報を受け取ることを更に含み、前記少なくとも1つの論理ポートと少なくとも1つの物理的ポートとの間で情報を伝達することは前記情報を前記物理的ポートと関連付けられた複数の論理ポートのうちの少なくとも1つに供給することを含み、オペレーティング・システム・パーティションと少なくとも1つの論理ポートとの間で情報を伝達することは前記情報を前記少なくとも1つの論理ポートからその少なくとも1つの論理ポートと関連付けられた前記オペレーティング・システム・パーティションに供給することを含む請求項13に記載の方法。
  15. オペレーティング・システム・パーティションと少なくとも1つの論理ポートとの間で情報を伝達することは前記オペレーティング・システム・パーティションから前記少なくとも1つの関連する論理ポートで情報を受け取ることを含み、前記少なくとも1つの論理ポートと少なくとも1つの物理的ポートとの間で情報を伝達することは前記情報を前記物理的ポート関連付けられた前記少なくとも1つの論理ポートから前記少なくとも1つの物理的ポートに供給することを含み、前記少なくとも1つの物理的ポートに供給された前記情報は前記ネットワークへ送出される請求項13に記載の方法。
  16. 複数の論理ポートが各物理的ポートに関連付けられる請求項13に記載の方法。
  17. 前記物理的ポートと、各物理的ポートと関連付けられた前記複数の論理ポートとは、ほぼ一定量のリソースが各ポート・グループに割り当てられるようにポート・グループに組織される請求項16に記載の方法。
  18. 各ポート・グループは所定数の使用可能な論理ポートを有し、各論理ポートは同じポート・グループ内のどの物理的ポートにも割り当てられ得る請求項17に記載の方法。
  19. 各論理ポートは、関連する媒体アクセス制御(MAC)アドレスにより識別され、前記物理的ポートにおいて受信されたその様な各パケットは、そのパケット内の前記MACアドレスと一致するMACアドレスを有する論理ポートに割り当てられる請求項14に記載の方法。
  20. 論理スイッチを用いて通信のために各物理的ポートと、関連する論理ポートとを選択することを更に含む請求項16に記載の方法。
  21. 各論理ポートはデフォルト論理ポートキューと関連付けられており、前記方法は、論理ポートと関連付けられた前記オペレーティング・システムにより送信又は受信されるパケットを格納することを更に含む請求項13に記載の方法。
  22. 前記関連する論理ポートを通過する情報を監視すると共に前記関連する論理ポートで発生するエラーを監視するために複数の論理ポートの各々にリソースを設けることを更に含む請求項13に記載の方法。
  23. 前記関連する論理ポートを通過するネットワーク・パケットのタイプをフィルタリングするために複数の論理ポートの各々にリソースを設けることを更に含む請求項13に記載の方法。
  24. コンピュータ・システム上でネットワーク通信を分配する方法であって、前記方法は、
    複数のオペレーティング・システム・パーティションを動作させる前記コンピュータ・システムにおいて論理スイッチでデータ・パケットを受信することと、
    前記パケット内の情報がラップ経路を示すときに、前記データ・パケットを前記コンピュータ・システムの1つのオペレーティング・システム・パーティションから前記コンピュータ・システムの他のオペレーティング・システム・パーティションへ前記コンピュータ・システム内のハードウェア経路を通してラッピングすることと、
    前記データ・パケット内の情報が非ラップ経路を示すときに、オペレーティング・システム・パーティションから受信された前記データ・パケットを外部ネットワークに結合された物理的ポートへ、或いは前記外部ネットワークから受信されたデータ・パケットをオペレーティング・システム・パーティションへ送ることと、
    を含む方法。
  25. 前記コンピュータ・システムは前記外部ネットワークに結合された少なくとも1つの物理的ポートを含み、各オペレーティング・システム・パーティションはデータを送信し受信するために1つ以上の論理ポートを有し、前記論理ポートと、関連する物理的ポートとは、前記データ・パケットをそれを通して送るために前記論理スイッチにより選択されるところの仮想ポートとして動作するようになっている請求項24に記載の方法。
  26. 前記データ・パケット内の前記情報は、宛先アドレスとパケット制御既述子とを含む請求項24に記載の方法。
  27. 前記データ・パケットはユニキャスト・パケット、マルチキャスト・パケット、及びブロードキャスト・パケットのうちの1つである請求項26に記載の方法。
  28. もし前記データ・パケットがユニキャスト・パケットならば、前記データ・パケットを内部オペレーティング・システム・パーティションへ送るか或いは前記外部ネットワーク上の宛先へ送るかを判定するために前記データ・パケットの前記宛先アドレスが調べられる請求項27に記載の方法。
  29. もし前記データ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであれば、前記データ・パケットは前記コンピュータ・システム上に実装されたマルチキャスト/ブロードキャスト・マネージャに送られる請求項27に記載の方法。
  30. 前記マルチキャスト/ブロードキャスト・マネージャは、前記パケットについての追加宛先のために前記データ・パケットを複製し、前記データ・パケットと複製されたデータ・パケットとについて、それらが前記マルチキャスト/ブロードキャスト・マネージャにより処理されたことを示すように前記パケット制御記述子を変更し、前記データ・パケットと複製されたデータ・パケットとを、それらが前記コンピュータ・システムと前記外部ネットワークとの適切な宛先に送られるように、出力する請求項29に記載の方法。
  31. 前記マルチキャスト/ブロードキャスト・マネージャにより受信されたデータ・パケットが前記コンピュータ・システムのオペレーティング・システム・パーティションに送られるべきであるならば、前記マルチキャスト/ブロードキャスト・マネージャは、そのデータ・パケットが送られる特定のオペレーティング・システム・パーティションを示すタグを前記データ・パケットに付け加える請求項30に記載の方法。
  32. 前記受信されたデータ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであって前記パケット制御既述子がそのデータ・パケットが前記マルチキャスト/ブロードキャスト・マネージャにより指定された追い出しパケットであることを示すならば、前記データ・パケットは前記外部ネットワーク上の宛先に送られる請求項29に記載の方法。
  33. 前記受信されたデータ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであって前記パケット制御既述子がそのデータ・パケットが前記マルチキャスト/ブロードキャスト・マネージャにより指定された再循環パケットであることを示すならば、前記データ・パケットは、前記データ・パケットに関連付けられて前記マルチキャスト/ブロードキャスト・マネージャにより提供されるタグにより示される前記コンピュータ・システムのオペレーティング・システム・パーティションに送られる請求項29に記載の方法。
  34. コンピュータ・システムに設けられた複数のオペレーティング・システム・パーティションにネットワーク通信を分配するための装置であって、前記装置は、
    外部ネットワークに結合された少なくとも1つの物理的ポートであって、前記外部ネットワークと前記コンピュータ・システムとの間の通信を可能にする物理的ポートと、
    前記オペレーティング・システム・パーティションのうちの1つと各々関連付けられた複数の論理ポートと、
    前記物理的ポートと前記論理ポートとを選択すると共に前記オペレーティング・システム・パーティション及び前記物理的ポートへの情報の伝達を可能にする前記コンピュータ・システム内に実装された論理スイッチと、
    を含む装置。
  35. 前記論理スイッチがデータ・パケットを受信したとき、前記パケット内の情報がラップ経路を示すときには前記論理スイッチは前記データ・パケットを前記オペレーティング・システム・パーティションのうちの1つから前記コンピュータ・システム内のハードウェア経路を通して前記オペレーティング・システム・パーティションのうちの他のものへラッピングし、前記データ・パケット内の情報が非ラップ経路を示すときには前記論理スイッチは前記データ・パケットをオペレーティング・システム・パーティションから前記外部ネットワーク上の宛先へ、又は前記外部ネットワークから前記オペレーティング・システム・パーティションのうちの1つへ送る請求項34に記載の装置。
  36. 前記データ・パケット内の前記情報は宛先アドレスとパケット制御既述子とを含む請求項35に記載の装置。
  37. 前記データ・パケットはユニキャスト・パケット、マルチキャスト・パケット、及びブロードキャスト・パケットのうちの1つである請求項36に記載の装置。
  38. もし前記データ・パケットがユニキャスト・パケットならば、前記論理スイッチは、前記データ・パケットをオペレーティング・システム・パーティションへ送るか或いは前記外部ネットワーク上の宛先へ送るかを判定するために前記データ・パケットの前記宛先アドレスを調べる請求項37に記載の装置。
  39. もし前記データ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであれば、前記論理スイッチは前記データ・パケットを前記コンピュータ・システム上に実装されたマルチキャスト/ブロードキャスト・マネージャに送る請求項37に記載の装置。
  40. 前記マルチキャスト・ブロードキャスト・マネージャは、前記パケットについての追加宛先のために前記データ・パケットを複製し、前記データ・パケットと複製されたデータ・パケットとについて、それらが前記マルチキャスト/ブロードキャスト・マネージャにより処理されたことを示すように前記パケット制御記述子を変更し、前記データ・パケットと複製されたデータ・パケットとを、それらが前記コンピュータ・システムと前記外部ネットワークとの適切な宛先に送られるように、出力する請求項39に記載の装置。
  41. 前記マルチキャスト/ブロードキャスト・マネージャにより受信されたデータ・パケットが前記コンピュータ・システムのオペレーティング・システム・パーティションに送られるべきであるならば、前記マルチキャスト/ブロードキャスト・マネージャは、そのデータ・パケットが送られる特定のオペレーティング・システム・パーティションを示すタグを前記データ・パケットに付け加える請求項40に記載の装置。
  42. 前記論理スイッチにより受信された前記データ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであって前記パケット制御既述子がそのデータ・パケットが前記マルチキャスト/ブロードキャスト・マネージャにより指定された追い出しパケットであることを示すならば、前記データ・パケットは前記外部ネットワーク上の宛先に送られる請求項39に記載の装置。
  43. 前記論理スイッチにより受信された前記データ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであって前記パケット制御既述子がそのデータ・パケットが前記マルチキャスト/ブロードキャスト・マネージャにより指定された再循環パケットであることを示すならば、前記データ・パケットは、前記データ・パケットに関連付けられて前記マルチキャスト/ブロードキャスト・マネージャにより提供されるタグにより示される前記コンピュータ・システムのオペレーティング・システム・パーティションに送られる請求項39に記載の装置。
  44. コンピュータ・システムのためにネットワーク通信を提供するための装置であって、前記装置は、
    ネットワークに結合されて前記ネットワークと前記コンピュータ・システムとの間の通信を可能にする少なくとも1つの物理的ポートと、
    前記コンピュータ・システムの少なくとも1つのユーザ・スペース内の少なくとも1つのプロセスから送られ又はそれにより受信されるデータ・パケットを格納するための複数の接続キューであって、前記少なくとも1つのプロセスのうちの1つと前記ネットワークとの間の異なるネットワーク接続に各々関連付けられる接続キューと、
    前記コンピュータ・システムにより実装されたオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるデータ・パケットを格納するためのデフォルト・オペレーティング・システム・キューと、
    を含む装置。
  45. 前記装置は複数のオペレーティング・システム・パーティションと、前記オペレーティング・システム・パーティションの各々と関連付けられた論理ポートとを更に含んでおり、各論理ポートは関連するデフォルト・オペレーティング・システム・キューを有し、デフォルト・オペレーティング・システム・キューに格納されているデータ・パケットは関連するオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるようになっている請求項44に記載の装置。
  46. 前記物理的ポートと前記論理ポートとを選択すると共に前記オペレーティング・システム・パーティション及び前記物理的ポートへの情報の伝達を可能にする前記コンピュータ・システム内に実装された論理スイッチを更に含む請求項45に記載の装置。
  47. 前記デフォルト・オペレーティング・システム・キューは、データ・パケットを、そのデータ・パケットのためのネットワーク接続が発見され得ないときに、格納する請求項44に記載の装置。
  48. 前記ユーザ・スペース内の少なくとも1つのプロセスは、複数のネットワーク接続を有し、それらのネットワーク接続と関連付けられた前記接続キューによりサービスされる請求項44に記載の装置。
  49. 前記接続キューにもデフォルト・オペレーティング・システム・キューにも格納されないデータ・パケットを格納するための特別デフォルト・キューを更に含む請求項44に記載の装置。
  50. マルチキャスト・データ・パケット及びブロードキャスト・データ・パケットを夫々格納するための特別マルチキャスト・デフォルトキュー及び特別ブロードキャスト・デフォルト・キューを更に含む請求項44に記載の装置。
  51. 前記マルチキャスト特別デフォルト・キュー及び前記ブロードキャスト特別デフォルト・キュー内のデータ・パケットは前記コンピュータ・システム上に実装されたマルチキャスト/ブロードキャスト・マネージャに提供され、前記マルチキャスト/ブロードキャスト・マネージャは、前記データ・パケットを複製して、複数の宛先に送られる前記データ・パケット及び複製データ・パケットを出力する請求項50に記載の装置。
  52. コンピュータ・システムのためにネットワーク通信を提供する方法であって、前記方法は、
    ネットワーク・アダプタでデータ・パケットを受け取ることと、
    複数の接続キューのうちの1つに前記データ・パケットを格納することであって、前記接続キューが、関連するネットワーク接続を介して前記コンピュータ・システムの少なくとも1つのユーザ・スペース内の少なくとも1つのプロセスから送られ又はそれにより受信されるデータ・パケットを格納するためのものである前記格納することと、
    前記データ・パケットを、もしそのデータ・パケットのためにネットワーク接続が見出され得なければ、デフォルト・オペレーティング・システム・キューに格納することであって、前記デフォルト・オペレーティング・システム・キューが、前記コンピュータ・システムにより実装されたオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるデータ・パケットを格納するためのものである前記格納することと、
    を含む方法。
  53. 前記ネットワーク接続は前記少なくとも1つのプロセスとネットワークとの間に設けられ、前記コンピュータ・システムの少なくとも1つの物理的ポートは前記ネットワークに結合され、前記少なくとも1つの物理的ポートは前記ネットワークと前記コンピュータ・システムとの間の通信を可能にする請求項52に記載の方法。
  54. 前記コンピュータ・システムは、複数のオペレーティング・システム・パーティションと、前記オペレーティング・システム・パーティションの各々と関連付けられた論理ポートとを提供し、各論理ポートは関連するデフォルト・オペレーティング・システム・キューを有し、デフォルト・オペレーティング・システム・キューに格納されているデータ・パケットは前記関連するオペレーティング・システム・パーティションのカーネルから送られ又はそれにより受信されるようになっている請求項52に記載の方法。
  55. 前記データ・パケットが接続キューにもデフォルト・オペレーティング・システム・キューにも格納され得なければ前記データ・パケットを特別デフォルト・キューに格納することを更に含む請求項52に記載の方法。
  56. 前記データ・パケットがマルチキャスト・パケット又はブロードキャスト・パケットであれば前記データ・パケットを特別マルチキャスト・デフォルト・キュー又は特別ブロードキャスト・デフォルト・キューに夫々格納することを更に含む請求項52に記載の方法。
  57. 前記マルチキャスト特別デフォルト・キュー及び前記ブロードキャスト特別デフォルト・キュー内のデータ・パケットは前記コンピュータ・システム上に実装されたマルチキャスト/ブロードキャスト・マネージャに提供され、前記マルチキャスト/ブロードキャスト・マネージャは、前記データ・パケットを複製して、複数の宛先に送られる前記データ・パケット及び複製データ・パケットを出力する請求項56に記載の方法。
  58. 前記ユーザ・スペース内の少なくとも1つのプロセスは、複数のネットワーク接続を有し、それらのネットワーク接続と関連付けられた前記接続キューによりサービスされる請求項52に記載の方法。
JP2008503470A 2005-04-01 2006-03-15 オペレーティング・システム・パーティションのためのネットワーク通信 Active JP4898781B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/097,051 2005-04-01
US11/097,051 US7697536B2 (en) 2005-04-01 2005-04-01 Network communications for operating system partitions
PCT/EP2006/060733 WO2006103168A1 (en) 2005-04-01 2006-03-15 Network communications for operating system partitions

Publications (3)

Publication Number Publication Date
JP2008535342A true JP2008535342A (ja) 2008-08-28
JP2008535342A5 JP2008535342A5 (ja) 2009-02-19
JP4898781B2 JP4898781B2 (ja) 2012-03-21

Family

ID=36572449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008503470A Active JP4898781B2 (ja) 2005-04-01 2006-03-15 オペレーティング・システム・パーティションのためのネットワーク通信

Country Status (6)

Country Link
US (1) US7697536B2 (ja)
EP (2) EP2388974A1 (ja)
JP (1) JP4898781B2 (ja)
CN (1) CN101156408B (ja)
TW (1) TWI423038B (ja)
WO (1) WO2006103168A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021260948A1 (ja) * 2020-06-26 2021-12-30 日本電信電話株式会社 データノード、データノード管理方法、および、データノード管理プログラム
WO2022003909A1 (ja) * 2020-07-02 2022-01-06 日本電信電話株式会社 通信装置、通信装置制御システム、通信装置の制御方法およびプログラム

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8924524B2 (en) 2009-07-27 2014-12-30 Vmware, Inc. Automated network configuration of virtual machines in a virtual lab data environment
US8892706B1 (en) 2010-06-21 2014-11-18 Vmware, Inc. Private ethernet overlay networks over a shared ethernet in a virtual environment
US8619771B2 (en) 2009-09-30 2013-12-31 Vmware, Inc. Private allocated networks over shared communications infrastructure
US7822594B2 (en) * 2006-08-07 2010-10-26 Voltaire Ltd. Service-oriented infrastructure management
US7715428B2 (en) * 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
US20080285551A1 (en) * 2007-05-18 2008-11-20 Shamsundar Ashok Method, Apparatus, and Computer Program Product for Implementing Bandwidth Capping at Logical Port Level for Shared Ethernet Port
US8272044B2 (en) * 2007-05-25 2012-09-18 New Jersey Institute Of Technology Method and system to mitigate low rate denial of service (DoS) attacks
US20090055831A1 (en) 2007-08-24 2009-02-26 Bauman Ellen M Allocating Network Adapter Resources Among Logical Partitions
EP2587736A3 (en) 2007-09-26 2013-08-28 Nicira, Inc. Network operating system for managing and securing networks
KR101480449B1 (ko) 2007-10-16 2015-01-12 엘지전자 주식회사 멀티미디어 기반 교통 및 여행 정보 메시지를 이용한 상세정보 제공방법 및 이를 수행하기 위한 단말기
US7752300B2 (en) * 2007-11-19 2010-07-06 International Business Machines Corporation Automatically determining management information base modules for a device
US8195774B2 (en) 2008-05-23 2012-06-05 Vmware, Inc. Distributed virtual switch for virtualized computer systems
WO2010005430A1 (en) * 2008-07-08 2010-01-14 Hewlett-Packard Development Company, L.P. Adaptable external drive
US7853253B2 (en) * 2008-07-10 2010-12-14 Apple Inc. System and method of regulating data traffic between a client device and a server
US7908368B2 (en) * 2008-09-23 2011-03-15 International Business Machines Corporation Method and apparatus for redirecting data traffic based on external switch port status
US8201168B2 (en) * 2008-12-25 2012-06-12 Voltaire Ltd. Virtual input-output connections for machine virtualization
WO2010115060A2 (en) 2009-04-01 2010-10-07 Nicira Networks Method and apparatus for implementing and managing virtual switches
CN101714925B (zh) * 2009-11-09 2012-04-18 华为终端有限公司 通信设备端口管理方法和系统、管理设备和通信设备
US9525647B2 (en) 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8964528B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Method and apparatus for robust packet distribution among hierarchical managed switching elements
US8718070B2 (en) 2010-07-06 2014-05-06 Nicira, Inc. Distributed network virtualization apparatus and method
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US10103939B2 (en) 2010-07-06 2018-10-16 Nicira, Inc. Network control apparatus and method for populating logical datapath sets
US10142218B2 (en) 2011-01-14 2018-11-27 International Business Machines Corporation Hypervisor routing between networks in a virtual networking environment
US20120182993A1 (en) * 2011-01-14 2012-07-19 International Business Machines Corporation Hypervisor application of service tags in a virtual networking environment
US9043452B2 (en) 2011-05-04 2015-05-26 Nicira, Inc. Network control apparatus and method for port isolation
US8588224B2 (en) * 2011-05-14 2013-11-19 International Business Machines Corporation Priority based flow control in a distributed fabric protocol (DFP) switching network architecture
US8635614B2 (en) * 2011-05-14 2014-01-21 International Business Machines Corporation Method for providing location independent dynamic port mirroring on distributed virtual switches
US9092492B2 (en) * 2011-05-24 2015-07-28 Avaya Inc. Social media identity discovery and mapping
US9288081B2 (en) 2011-08-17 2016-03-15 Nicira, Inc. Connecting unmanaged segmented networks by managing interconnection switching elements
US9369426B2 (en) 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
US9137107B2 (en) 2011-10-25 2015-09-15 Nicira, Inc. Physical controllers for converting universal flows
US9154433B2 (en) 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US9203701B2 (en) 2011-10-25 2015-12-01 Nicira, Inc. Network virtualization apparatus and method with scheduling capabilities
US9288104B2 (en) 2011-10-25 2016-03-15 Nicira, Inc. Chassis controllers for converting universal flows
US8966024B2 (en) 2011-11-15 2015-02-24 Nicira, Inc. Architecture of networks with middleboxes
JP5667552B2 (ja) * 2011-12-08 2015-02-12 株式会社日立製作所 仮想計算機システム、仮想計算機管理プログラム、及びmacアドレス管理方法
KR101867960B1 (ko) * 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
AU2013249154B2 (en) 2012-04-18 2015-12-10 Nicira, Inc. Exchange of network state information between forwarding elements
CN102811172B (zh) * 2012-07-25 2018-09-04 南京中兴软件有限责任公司 基于虚拟端口映射的聚合链路调度方法和数据转发装置
US9571386B2 (en) 2013-07-08 2017-02-14 Nicira, Inc. Hybrid packet processing
US9407580B2 (en) 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9282019B2 (en) 2013-07-12 2016-03-08 Nicira, Inc. Tracing logical network packets through physical network
US9197529B2 (en) 2013-07-12 2015-11-24 Nicira, Inc. Tracing network packets through logical and physical networks
US9674087B2 (en) 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9602398B2 (en) 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US10193771B2 (en) 2013-12-09 2019-01-29 Nicira, Inc. Detecting and handling elephant flows
US9967199B2 (en) 2013-12-09 2018-05-08 Nicira, Inc. Inspecting operations of a machine to detect elephant flows
US9996467B2 (en) 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache
US9569368B2 (en) 2013-12-13 2017-02-14 Nicira, Inc. Installing and managing flows in a flow table cache
US9703743B2 (en) * 2014-03-31 2017-07-11 Juniper Networks, Inc. PCIe-based host network accelerators (HNAS) for data center overlay network
US9385954B2 (en) 2014-03-31 2016-07-05 Nicira, Inc. Hashing techniques for use in a network environment
US10193806B2 (en) 2014-03-31 2019-01-29 Nicira, Inc. Performing a finishing operation to improve the quality of a resulting hash
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
US9479457B2 (en) 2014-03-31 2016-10-25 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
US9742881B2 (en) 2014-06-30 2017-08-22 Nicira, Inc. Network virtualization using just-in-time distributed capability for classification encoding
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
US10469342B2 (en) 2014-10-10 2019-11-05 Nicira, Inc. Logical network traffic analysis
US9923760B2 (en) 2015-04-06 2018-03-20 Nicira, Inc. Reduction of churn in a network control system
CN106533822B (zh) * 2015-09-14 2020-06-09 中兴通讯股份有限公司 物理端口控制方法及装置
US10204122B2 (en) 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
US10243840B2 (en) 2017-03-01 2019-03-26 Juniper Networks, Inc. Network interface card switching for virtual networks
US10805239B2 (en) 2017-03-07 2020-10-13 Nicira, Inc. Visualization of path between logical network endpoints
US10637800B2 (en) 2017-06-30 2020-04-28 Nicira, Inc Replacement of logical network addresses with physical network addresses
US10681000B2 (en) 2017-06-30 2020-06-09 Nicira, Inc. Assignment of unique physical network addresses for logical network addresses
US10608887B2 (en) 2017-10-06 2020-03-31 Nicira, Inc. Using packet tracing tool to automatically execute packet capture operations
US10735529B2 (en) 2017-12-07 2020-08-04 At&T Intellectual Property I, L.P. Operations control of network services
US10346608B2 (en) * 2017-12-12 2019-07-09 John Almeida Virus immune computer system and method
EP3611642B1 (en) * 2018-08-17 2020-08-12 Omron Corporation Method for operating an industrial pc device and industrial pc device
CN112930664B (zh) * 2018-12-05 2023-06-23 北京比特大陆科技有限公司 地址信息处理方法、装置、电子设备及存储介质
CN110995668B (zh) * 2019-11-19 2022-03-08 中国航空工业集团公司西安航空计算技术研究所 应用于arinc653操作系统分区间的fc网络通信装置及方法
US11283699B2 (en) 2020-01-17 2022-03-22 Vmware, Inc. Practical overlay network latency measurement in datacenter
US11570090B2 (en) 2020-07-29 2023-01-31 Vmware, Inc. Flow tracing operation in container cluster
US11558426B2 (en) 2020-07-29 2023-01-17 Vmware, Inc. Connection tracking for container cluster
US11196628B1 (en) 2020-07-29 2021-12-07 Vmware, Inc. Monitoring container clusters
CN112073438B (zh) * 2020-10-10 2021-12-17 迈普通信技术股份有限公司 一种访问控制规则配置方法、装置、交换机及存储介质
US11736436B2 (en) 2020-12-31 2023-08-22 Vmware, Inc. Identifying routes with indirect addressing in a datacenter
US11336533B1 (en) 2021-01-08 2022-05-17 Vmware, Inc. Network visualization of correlations between logical elements and associated physical elements
US11687210B2 (en) 2021-07-05 2023-06-27 Vmware, Inc. Criteria-based expansion of group nodes in a network topology visualization
US11711278B2 (en) 2021-07-24 2023-07-25 Vmware, Inc. Visualization of flow trace operation across multiple sites
US11677645B2 (en) 2021-09-17 2023-06-13 Vmware, Inc. Traffic monitoring

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635725A (ja) * 1992-06-15 1994-02-10 Internatl Business Mach Corp <Ibm> 入出力資源を共用するための方法及びシステム
JPH098844A (ja) * 1995-06-16 1997-01-10 Hitachi Ltd 広域マルチキャスト通信方法
US20040202189A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a systen area network
WO2005018175A2 (en) * 2003-08-05 2005-02-24 Scalant Systems, Inc. Method and apparatus for adaptive flow-based routing in multi-stage data networks

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1724198A (en) * 1927-06-30 1929-08-13 Utica Products Inc Electric heater
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US5058110A (en) * 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
US5172371A (en) * 1990-08-09 1992-12-15 At&T Bell Laboratories Growable switch
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
EP0549924A1 (en) * 1992-01-03 1993-07-07 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5430842A (en) * 1992-05-29 1995-07-04 Hewlett-Packard Company Insertion of network data checksums by a network adapter
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US5793954A (en) * 1995-12-20 1998-08-11 Nb Networks System and method for general purpose network analysis
WO1997028505A1 (en) * 1996-01-31 1997-08-07 Ipsilon Networks, Inc. Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network
US5983274A (en) * 1997-05-08 1999-11-09 Microsoft Corporation Creation and use of control information associated with packetized network data by protocol drivers and device drivers
US5991299A (en) * 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US6041058A (en) * 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6658002B1 (en) * 1998-06-30 2003-12-02 Cisco Technology, Inc. Logical operation unit for packet processing
US6970419B1 (en) * 1998-08-07 2005-11-29 Nortel Networks Limited Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6937574B1 (en) * 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
GB2352360B (en) * 1999-07-20 2003-09-17 Sony Uk Ltd Network terminator
US6427169B1 (en) * 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6724769B1 (en) * 1999-09-23 2004-04-20 Advanced Micro Devices, Inc. Apparatus and method for simultaneously accessing multiple network switch buffers for storage of data units of data frames
US6788697B1 (en) * 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US6822968B1 (en) * 1999-12-29 2004-11-23 Advanced Micro Devices, Inc. Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller
US7308006B1 (en) * 2000-02-11 2007-12-11 Lucent Technologies Inc. Propagation and detection of faults in a multiplexed communication system
US6988235B2 (en) 2000-03-02 2006-01-17 Agere Systems Inc. Checksum engine and a method of operation thereof
US6795870B1 (en) * 2000-04-13 2004-09-21 International Business Machines Corporation Method and system for network processor scheduler
US6735670B1 (en) * 2000-05-12 2004-05-11 3Com Corporation Forwarding table incorporating hash table and content addressable memory
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
US6678746B1 (en) * 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
EP1305931B1 (en) * 2000-08-04 2006-06-28 Avaya Technology Corp. Method and system for demand driven recognition of connection oriented transactions
US8019901B2 (en) * 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US7218632B1 (en) * 2000-12-06 2007-05-15 Cisco Technology, Inc. Packet processing engine architecture
US6954463B1 (en) * 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US7131140B1 (en) * 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US7023811B2 (en) * 2001-01-17 2006-04-04 Intel Corporation Switched fabric network and method of mapping nodes using batch requests
US7149817B2 (en) * 2001-02-15 2006-12-12 Neteffect, Inc. Infiniband TM work queue to TCP/IP translation
US6728929B1 (en) * 2001-02-16 2004-04-27 Spirent Communications Of Calabasas, Inc. System and method to insert a TCP checksum in a protocol neutral manner
US7292586B2 (en) * 2001-03-30 2007-11-06 Nokia Inc. Micro-programmable protocol packet parser and encapsulator
US7366194B2 (en) * 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
JP3936550B2 (ja) * 2001-05-14 2007-06-27 富士通株式会社 パケットバッファ
US7164678B2 (en) * 2001-06-25 2007-01-16 Intel Corporation Control of processing order for received network packets
US20030026252A1 (en) * 2001-07-31 2003-02-06 Thunquest Gary L. Data packet structure for directly addressed multicast protocol
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
WO2003030012A1 (en) * 2001-09-28 2003-04-10 Tidal Networks, Inc. Multi-threaded packet processing engine for stateful packet pro cessing
US7124198B2 (en) * 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US6907466B2 (en) * 2001-11-08 2005-06-14 Extreme Networks, Inc. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network
WO2003043271A1 (en) * 2001-11-09 2003-05-22 Vitesse Semiconductor Corporation A means and a method for switching data packets or frames
US7286557B2 (en) * 2001-11-16 2007-10-23 Intel Corporation Interface and related methods for rate pacing in an ethernet architecture
US7236492B2 (en) * 2001-11-21 2007-06-26 Alcatel-Lucent Canada Inc. Configurable packet processor
WO2003049488A1 (en) 2001-12-03 2003-06-12 Vitesse Semiconductor Company Interface to operate groups of inputs/outputs
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7047374B2 (en) * 2002-02-25 2006-05-16 Intel Corporation Memory read/write reordering
US7283528B1 (en) * 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US7304941B2 (en) * 2002-04-11 2007-12-04 International Business Machines Corporation Switchover system and method in a data packet switching network
US20040030766A1 (en) 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US7251704B2 (en) 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7031304B1 (en) * 2002-09-11 2006-04-18 Redback Networks Inc. Method and apparatus for selective packet Mirroring
KR100486713B1 (ko) * 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
US7349399B1 (en) * 2002-09-20 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets using linked lists
US7271706B2 (en) * 2002-10-09 2007-09-18 The University Of Mississippi Termite acoustic detection
US6760304B2 (en) * 2002-10-28 2004-07-06 Silverback Systems, Inc. Apparatus and method for receive transport protocol termination
KR100454681B1 (ko) * 2002-11-07 2004-11-03 한국전자통신연구원 프레임 다중화를 이용한 이더넷 스위칭 장치 및 방법
KR100460672B1 (ko) * 2002-12-10 2004-12-09 한국전자통신연구원 10 기가비트 이더넷 회선 정합 장치 및 그 제어 방법
US8296452B2 (en) * 2003-03-06 2012-10-23 Cisco Technology, Inc. Apparatus and method for detecting tiny fragment attacks
US20040218623A1 (en) * 2003-05-01 2004-11-04 Dror Goldenberg Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter
US7298761B2 (en) * 2003-05-09 2007-11-20 Institute For Information Industry Link path searching and maintaining method for a bluetooth scatternet
US20050022017A1 (en) * 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US7098685B1 (en) * 2003-07-14 2006-08-29 Lattice Semiconductor Corporation Scalable serializer-deserializer architecture and programmable interface
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7441179B2 (en) * 2003-10-23 2008-10-21 Intel Corporation Determining a checksum from packet data
US7219294B2 (en) * 2003-11-14 2007-05-15 Intel Corporation Early CRC delivery for partial frame
US20050114663A1 (en) * 2003-11-21 2005-05-26 Finisar Corporation Secure network access devices with data encryption
JP2005223829A (ja) * 2004-02-09 2005-08-18 Nec Electronics Corp 分数分周回路及びこれを用いたデータ伝送装置
US7292591B2 (en) * 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7502474B2 (en) * 2004-05-06 2009-03-10 Advanced Micro Devices, Inc. Network interface with security association data prefetch for high speed offloaded security processing
US7461183B2 (en) * 2004-08-03 2008-12-02 Lsi Corporation Method of processing a context for execution
US7134796B2 (en) * 2004-08-25 2006-11-14 Opnext, Inc. XFP adapter module
US7436773B2 (en) * 2004-12-07 2008-10-14 International Business Machines Corporation Packet flow control in switched full duplex ethernet networks
US8040903B2 (en) * 2005-02-01 2011-10-18 Hewlett-Packard Development Company, L.P. Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US7620754B2 (en) * 2005-03-25 2009-11-17 Cisco Technology, Inc. Carrier card converter for 10 gigabit ethernet slots

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635725A (ja) * 1992-06-15 1994-02-10 Internatl Business Mach Corp <Ibm> 入出力資源を共用するための方法及びシステム
JPH098844A (ja) * 1995-06-16 1997-01-10 Hitachi Ltd 広域マルチキャスト通信方法
US20040202189A1 (en) * 2003-04-10 2004-10-14 International Business Machines Corporation Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a systen area network
WO2005018175A2 (en) * 2003-08-05 2005-02-24 Scalant Systems, Inc. Method and apparatus for adaptive flow-based routing in multi-stage data networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021260948A1 (ja) * 2020-06-26 2021-12-30 日本電信電話株式会社 データノード、データノード管理方法、および、データノード管理プログラム
JP7367873B2 (ja) 2020-06-26 2023-10-24 日本電信電話株式会社 データノード、データノード管理方法、および、データノード管理プログラム
WO2022003909A1 (ja) * 2020-07-02 2022-01-06 日本電信電話株式会社 通信装置、通信装置制御システム、通信装置の制御方法およびプログラム
JP7405257B2 (ja) 2020-07-02 2023-12-26 日本電信電話株式会社 通信装置、通信装置制御システム、通信装置の制御方法およびプログラム

Also Published As

Publication number Publication date
CN101156408B (zh) 2012-08-08
US20060221961A1 (en) 2006-10-05
EP1864465B1 (en) 2013-05-08
EP2388974A1 (en) 2011-11-23
TWI423038B (zh) 2014-01-11
EP1864465A1 (en) 2007-12-12
WO2006103168A1 (en) 2006-10-05
TW200705206A (en) 2007-02-01
JP4898781B2 (ja) 2012-03-21
US7697536B2 (en) 2010-04-13
CN101156408A (zh) 2008-04-02

Similar Documents

Publication Publication Date Title
JP4898781B2 (ja) オペレーティング・システム・パーティションのためのネットワーク通信
JP6445015B2 (ja) ミドルウェアおよびアプリケーションの実行のためにエンジニアド・システムにおいてデータサービスを提供するためのシステムおよび方法
US7630368B2 (en) Virtual network interface card loopback fastpath
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US9054980B2 (en) System and method for local packet transport services within distributed routers
US5918021A (en) System and method for dynamic distribution of data packets through multiple channels
US6049528A (en) Trunking ethernet-compatible networks
JP4807861B2 (ja) サーバ環境においてオフロードをネットワーク化するためのホスト・イーサネット・アダプタ
US7328284B2 (en) Dynamic configuration of network data flow using a shared I/O subsystem
US9021116B2 (en) System and method to create virtual links for end-to-end virtualization
KR100992050B1 (ko) 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템
US7404012B2 (en) System and method for dynamic link aggregation in a shared I/O subsystem
US20080002739A1 (en) Reflecting the bandwidth assigned to a virtual network interface card through its link speed
US6988150B2 (en) System and method for eventless detection of newly delivered variable length messages from a system area network
US20060123204A1 (en) Method and system for shared input/output adapter in logically partitioned data processing system
US10805436B2 (en) Deliver an ingress packet to a queue at a gateway device
WO2024051321A1 (zh) 网络隔离方法、系统及相关设备
KR20040051425A (ko) 이더넷 스위치를 이용해 프로세서간 통신(ipc)메시지를 전송하는 라우터 시스템에서의 프로세서간 통신메시지 통신방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110720

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111102

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111102

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: 20111208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111208

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111208

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: 20111226

R150 Certificate of patent or registration of utility model

Ref document number: 4898781

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: 20150106

Year of fee payment: 3