JP2001325203A - プラットフォームとオペレーティング・システムに依存しないネットワーク・プロセッサ・サービス・アーキテクチャ - Google Patents

プラットフォームとオペレーティング・システムに依存しないネットワーク・プロセッサ・サービス・アーキテクチャ

Info

Publication number
JP2001325203A
JP2001325203A JP2001092526A JP2001092526A JP2001325203A JP 2001325203 A JP2001325203 A JP 2001325203A JP 2001092526 A JP2001092526 A JP 2001092526A JP 2001092526 A JP2001092526 A JP 2001092526A JP 2001325203 A JP2001325203 A JP 2001325203A
Authority
JP
Japan
Prior art keywords
network
service
processor
network processor
utility
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001092526A
Other languages
English (en)
Inventor
Claude Basso
クロード・バソ
Philippe Damon
フィリップ・デーモン
Anthony Matteo Gallo
アンソニー・マテオ・ガッロ
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 JP2001325203A publication Critical patent/JP2001325203A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Solid-Sorbent Or Filter-Aiding Compositions (AREA)
  • Materials For Medical Uses (AREA)

Abstract

(57)【要約】 【課題】 プロセッサおよびオペレーティング・システ
ムに依存しない拡張容易なネットワーク・プロセッサ・
サービス・アーキテクチャを提供するシステムを提供す
ること。 【解決手段】 このシステムは、制御プロセッサのデバ
イス・ドライバの特定のセグメントに相当する、ポータ
ブルで個別化された複数の機能コンポーネントを含む。
これらの機能コンポーネントは、低水準APIと外部A
PIを含み、ネットワーク上でのパケットの受信と転送
や、ネットワーク・プロセッサと通信しそれに指示する
ために制御プロセッサが必要とする他の機能など様々な
ネットワーク・プロセッサ機能を実行する。これらの機
能コンポーネントは、利用可能な様々なタイプのプロセ
ッサ・アーキテクチャおよびオペレーティング・システ
ムに適応できるように、また利用可能なネットワーク・
サービスを顧客や開発者がカスタマイズおよび拡張でき
るように、設計されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に改良型のコ
ンピュータ・ネットワークに関し、詳細には改良型のネ
ットワーク・プロセッサ・アーキテクチャに関する。よ
り詳細には、プラットフォームおよびオペレーティング
・システムに依存しない、個別のネットワーク・プロセ
ッサ・サービスをサポートする、改良された分散型ネッ
トワーク・プロセッサ・アーキテクチャに関する。
【0002】
【従来の技術】図1は、一般的な通信ネットワークを示
すブロック図である。この通信ネットワークは、スイッ
チ(またはルータ)10を含み、このスイッチ(または
ルータ)10は、単純な多重化装置(マルチプレクサ)
11を介して、複数のワークステーション13に接続さ
れている。またスイッチ10は、コントロール・ポイン
ト12、インターネット14または他の何らかの形の広
域ネットワーク(WAN)16、サーバ18、およびロ
ーカル・エリア・ネットワーク(LAN)20に接続さ
れている。LAN20は、イーサネット(登録商標)、
トークンリング、または他のいかなるタイプのアーキテ
クチャで構成することもでき、これらは多数のワークス
テーションを追加で含むことができる。図1の置き換え
で、これらの要素の非常に多様な組合せが可能であるこ
とを、当業者なら理解されよう。具体的には、重複設置
できる要素もあれば、削除できる要素もある。マルチプ
レクサ11は、容易に入手できるありふれた装置であ
り、これは、接続された複数のワークステーションから
1つを選択し、そのワークステーションとスイッチの間
の通信を可能にする。コントロール・ポイント12は、
スイッチ10とネットワーク管理者の間のインターフェ
ースを提供する。コントロール・ポイント12は、キー
ボード、制御装置、ディスプレイなどを備えたコンピュ
ータを含むことができる。
【0003】より帯域幅が広く、より待ち時間が少な
く、より柔軟なネットワークを求める需要の高まりを背
景に、通信ネットワークは絶えず進化している。従来の
ネットワークには、多くの限界がある。たとえば、特定
のネットワーク・アプリケーションを実行する特注設計
チップを組み込むように設計されたネットワークは、適
応性が低く、絶えず進化する改良技術に対する要件につ
いてゆくことができない。ネットワークの変更は絶えず
発生するが、各特注設計チップの製造には、通常数ヶ月
を要する。また汎用プロセッサを実装したネットワーク
は、プロセッサのスピードのため、パフォーマンスに限
界がある。
【0004】ネットワーク・プロセッサ・サービス・ア
ーキテクチャで作成された分散型ネットワーク・システ
ムは、速やかにイントラネット・ネットワークとインタ
ーネット・ネットワークの両方を介した情報発信の標準
になりつつある。図2に、典型的なネットワーク・プロ
セッサ・サービス・アーキテクチャを示す。制御プロセ
ッサ101は、図1のコントロール・ポイント12に相
当し、システムの大部分のプロセスに指示する。制御プ
ロセッサ101は、分散型の並列ネットワーク・プロセ
ッサ103として図示されている複数のネットワーク・
プロセッサ103と結合している。ネットワーク・プロ
セッサ103は、ネットワーク・アプリケーションをリ
アル・タイムで処理するように設計された専用のプロセ
ッサ・チップである。これらのプロセッサ・チップは、
汎用プロセッサまたは制御プロセッサ101によって初
期化され構成される。
【0005】ネットワーク・プロセッサ103は、フレ
ームを受信して修正し、これらのフレームをスイッチ機
構105または制御プロセッサ101に伝送するための
メディア・インターフェースを提供する。ネットワーク
・プロセッサ103は、ネットワーク特有のタスクを最
適化し、例外的な帯域幅、スループット、および分散型
の処理能力を提供する一方で、待ち時間を短縮するよう
に設計されている。ネットワーク・プロセッサ103
は、ネットワーク通信中にパケットを受信し転送する。
これらのパケットは、ネットワーク・プロトコルの層
2、3、4上のネットワーク・プロセッサ103を介し
て経路指定される。ネットワーク・プロセッサ103と
スイッチ機構105は、図1に示されているスイッチ/
ルータ10の構成要素であってもよい。ネットワーク・
プロセッサ103は、パケットのアドレスを読み取り、
これらのアドレスをプロトコルに基づいて変換し、パケ
ットを正しい宛先に経路指定する。スイッチ機構105
によって、1つのシステムにおいて複数のネットワーク
・プロセッサ間の相互接続が可能になる。
【0006】制御プロセッサ101は、システムにおけ
るIPパケットの流れを制御する高水準のインテリジェ
ント・プロトコルを含む。制御プロセッサ101は、ネ
ットワーク・プロセッサ103の起動を担当する。また
制御プロセッサ101は、ネットワーク・プロセッサ1
03にアドレス情報を提供し、このアドレス情報は、フ
レームの宛先を識別する。ネットワーク・プロセッサ1
03は、1つまたは複数の多重ルックアップ・テーブル
を有し、パケットが到着すると、この多重ルックアップ
・テーブルを参照して、パケットの転送先を決定する。
【0007】ネットワーク・プロセッサ・アーキテクチ
ャを使用することによって、帯域幅の利用とトラフィッ
ク・フローの最大化に資する柔軟なソリューションが提
供されるが、このアーキテクチャの使用は、特定のプロ
セッサ・タイプとオペレーティング・システムに限定さ
れることがある。現在、ネットワーク・プロセッサ・ア
ーキテクチャ内の通信は、プロセッサおよびOSに依存
している。ネットワーク・プロセッサと制御プロセッサ
は、特定のタイプのプロセッサ・ハードウェアおよびオ
ペレーティング・システムと対話するように設計された
統合機能ブロックとして動作する特定のデバイス・ドラ
イバと緊密に結合されている。
【0008】本発明は、より柔軟なプロセッサ・モデル
のネットワーク・プロセッサ製品が望ましいことを認識
したものである。ハードウェアおよびオペレーティング
・システムに依存しない形で実装できるネットワーク・
プロセッサ・サービス・アーキテクチャが得られれば、
歓迎すべき改良であろう。顧客や開発者が独自に追加で
きる他の機能コンポーネントを含むように、こうしたプ
ロセッサ・アーキテクチャが拡張可能ならば、さらに望
ましい。これらおよび他の利益が、本発明によって達成
される。
【0009】
【発明が解決しようとする課題】プロセッサおよびオペ
レーティング・システムに依存しない拡張容易なネット
ワーク・プロセッサ・サービス・アーキテクチャを提供
するシステムを開示する。
【0010】
【課題を解決するための手段】このシステムは、制御プ
ロセッサのデバイス・ドライバの特定のセグメントに相
当する、ポータブルで個別化された複数の機能コンポー
ネントを含む。こうした機能コンポーネントには、低水
準APIと外部APIが含まれ、ネットワーク上でのパ
ケットの受信と転送や、ネットワーク・プロセッサと通
信しそれを指示するために制御プロセッサが必要とする
その他の機能など様々なネットワーク・プロセッサ機能
を実行する。これらの機能コンポーネントは、利用可能
な様々なタイプのプロセッサ・アーキテクチャおよびオ
ペレーティング・システムに適応できるように、また利
用可能なネットワーク・サービスを顧客や開発者がカス
タマイズおよび拡張できるように、設計されている。
【0011】
【発明の実施の形態】本発明は、多くの異なるオペレー
ティング・システムの下で動作する様々なコンピュータ
を含む様々なシステムで、実施することができる。たと
えばコンピュータは、パーソナル・コンピュータ、ネッ
トワーク・コンピュータ、中型コンピュータ、またはメ
インフレーム・コンピュータでもよい。好ましい実施形
態では、ローカルエリア・ネットワーク(LAN)また
は広域ネットワーク(WAN)内におけるネットワーク
・プロセッサ・サービス・アーキテクチャのコントロー
ル・ポイントとして、コンピュータを利用する。
【0012】次いで図面、具体的には図3を参照する
と、本発明の好ましい実施形態において制御プロセッサ
として利用できる典型的なコンピュータ・システム21
0のブロック図が示されている。図示されているよう
に、プロセッサ(CPU)212、読取り専用メモリ
(ROM)213、およびランダムアクセス・メモリ
(RAM)214が、コンピュータ・システム210の
システム・バス211に接続されている。またCPU2
12、ROM213、およびRAM214は、PCIホ
スト・ブリッジ216を介して、コンピュータ・システ
ム210の周辺コンポーネント相互接続(PCI)ロー
カル・バス220にも結合されている。PCIホスト・
ブリッジ216は、待ち時間の短いパスを提供し、バス
・メモリまたは入出力(I/O)アドレス空間あるいは
その両方の中のどこにPCI装置がマップされていて
も、プロセッサ212は、このパスを介してPCI装置
に直接アクセスすることができる。またPCIホスト・
ブリッジ216は、高帯域幅のパスを提供し、これによ
ってPCI装置はRAM214に直接アクセスすること
ができる。
【0013】また通信アダプタ215、スモール・コン
ピュータ・システム・インターフェース(SCSI)2
18、および拡張バス・ブリッジ229も、PCIロー
カル・バス220に接続されている。通信アダプタ21
5は、コンピュータ・システム210とネットワーク2
17を接続するために使用される。SCSI218は、
高速のSCSIディスク・ドライブ219を制御するた
めに使用される。PCIからISAへのバス・ブリッジ
などの拡張バス・ブリッジ229は、ISAバス225
とPCIローカル・バス220を結合するために使用す
ることができる。さらにスピーカ224を介して音声出
力を制御するオーディオ・アダプタ223が、PCIロ
ーカル・バス220に接続されている。本発明の代替実
施形態では、さらに周辺コンポーネントを追加すること
もできる。
【0014】またコンピュータ・システム210は、コ
ンピュータ・システム210の動作に指示するために機
械可読媒体内に常駐するグラフィカル・ユーザ・インタ
ーフェース(GUI)などのインターフェースとオペレ
ーティング・システム(OS)を含むことが好ましい。
好ましい実施形態では、OS(およびGUI)は、追加
の機能コンポーネントを含み、これによって、ネットワ
ーク処理コンポーネントは、OSまたはプラットフォー
ムあるいはその両方に依存せずにすむ。RAM214、
ROM213、SCSIディスク・ドライブ219、お
よび他のディスク・ドライブまたは磁気テープ・ドライ
ブ(たとえば磁気ディスケット、磁気テープ、CD−R
OM、光ディスク、または他の適切な記憶媒体)など適
切ないずれの機械可読媒体でも、GUIとOSを保存す
ることができる。適切ないずれのGUIおよびOSで
も、CPU212に指示することができる。
【0015】さらにコンピュータ・システム210は、
RAM214内の特別に定義されたサービス・ユーティ
リティ208などの機械可読媒体内に常駐する少なくと
も1つのネットワーク・プロセッサ・サービス・アーキ
テクチャ・ソフトウェア・ユーティリティ(すなわちプ
ログラム製品)を含むことが好ましい。このソフトウェ
ア・ユーティリティは、CPU212上での実行時に本
発明の修正型OSと対話して、図4に示される機能ユー
ティリティの少なくとも1ブロックを実行する命令(ま
たはコード)を含む。
【0016】本発明は、制御プロセッサ内のデバイス・
ドライバの制御機能が、ポータブルで、交換可能で、か
つ独立した機能ブロックまたはユーティリティとして作
成される、分散型ネットワーク・プロセッサ・サービス
・アーキテクチャを提供する。これらの機能ブロックが
動作して、オペレーティング・システムおよびハードウ
ェアに依存しないネットワーク・プロセッサ・サービス
・アーキテクチャを提供する。したがって本発明は、ネ
ットワーク・プロセッサの動作を制御するために、いか
なる制御プロセッサ環境やオペレーティング・システム
環境にも適応できる(または使用できる)デバイス・ド
ライバ機能を提供する。
【0017】より詳細には、本発明は分散型処理システ
ム用のデバイス・ドライバ・プログラムを提供する。デ
バイス・ドライバ・プログラムは、ソフトウェア・スタ
ックと各ネットワーク・プロセッサの間で高水準の双方
向通信を提供する複数の個別システム・サービス・プロ
グラム(またはユーティリティ)を含む。本発明は、概
念的には、チップや他のコンピュータ可読媒体上でコー
ディングされ、ネットワーク・コントロール・ポイント
のプロセッサ(または制御プロセッサ)に接続されるソ
フトウェアとして実装される。
【0018】次いで図4を参照すると、様々なプロセッ
サ・サービスの好ましい実装形態が、個別の機能コンポ
ーネント・ブロックとして示されている。図示されてい
るように、この新たな構成によって、制御プロセッサの
システム・サービスは、すべてオペレーティング・シス
テムから分離(または隔離)され、ネットワーク・プロ
セッサ・コードがCP上に常駐できるように、物理トラ
ンスポート・サービスは分離(または隔離)され、シス
テム・プロセッサ・サービスが外部アプリケーション・
プログラミング・インターフェース(API)と低水準
APIの間に常駐して、新たなシステム・プロセッサ・
サービスで置換または補足できるように、拡張容易性が
提供される。機能コンポーネントは、図4において対話
線で接続されたブロックとして示されている。図示され
ている対話線に加えて、拡張容易な各サービスが、相互
に対話することができる。図示されているブロックとそ
の機能について、以下に述べる。
【0019】図4のネットワーク・プロセッサ・デバイ
ス・ドライバ301は、外部API305、低水準AP
I323、物理トランスポート・インターフェース33
9という3つのレベルのコンポーネントを備えている。
各レベル内には、ネットワーク・プロセッサ・サービス
に相当する機能ブロックがある。デバイス・ドライバ3
01は、NPハードウェア343をソフトウェア・スタ
ック300に接続するソフトウェア・コンポーネントで
ある。デバイス・ドライバ301は、ネットワーク・プ
ロセッサ343とソフトウェア・スタック300の間の
インターフェースの役割を担う。デバイス・ドライバ3
01は、各インターフェースと接続するのに必要なデー
タ構造を初期化する。したがって好ましい実施形態で
は、デバイス・ドライバ301は、各ネットワーク・プ
ロセッサの位置、およびどのポートがどのネットワーク
・プロセッサ上にあるかも知らなければならない。
【0020】DD301は、上層のAPI、内部のデバ
イス・ドライバ、下層のプリミティブに分けることがで
きる。上層のAPIは、プロセッサの一般的なAPIに
類似しているが、内部の構造と下層のプリミティブは、
独特のコンポーネントである。下層のプリミティブは、
制御パスとデータ・パスの両方を提供する。デバイス・
ドライバ(DD)301は、以下の機能を提供する。 1.ソフトウェア・スタック300が使用するデバイス
構造の初期化 2.CPまたはキャリアのインターフェース機能 3.フレームの受信機能または送信機能、あるいはその
両方 4.制御メッセージの送信または受信、あるいはその両
【0021】物理トランスポート・サービス(PTS)
341は、フレームをネットワーク・プロセッサ343
にトランスポートする。PTS341は、ネットワーク
・プロセッサ343との間でデータと制御フレームの送
受信を行うための基本送受信APIを提供する。このコ
ンポーネントは、より高い層のサービスをネットワーク
・プロセッサの物理接続から分離する。たとえば、ネッ
トワーク・プロセッサ343内に組み込まれたPowe
rPC用のPTS341は、イーサネット・ケーブルを
介してネットワーク・プロセッサに接続された外部のP
owerPCとは異なる。PTS341は、ネットワー
ク・プロセッサ343、ネットワーク・プロセッサ・ト
ランスポート・サービス325、オペレーティング・シ
ステム(OS)303に結合されている。
【0022】ネットワーク・プロセッサ343は、制御
プロセッサのネットワーク・プロセッサ・デバイス・ド
ライバ301に接続されている。各ネットワーク・プロ
セッサ103は、プログラム可能で、かつ以下の機能の
1つまたは複数を実行できる通信集積回路である。
(1)パケットの分類(アドレスやプロトコルなど既知
の特徴に基づくパケットの識別)、(2)パケットの修
正(IP、ATM、または他のプロトコルに準拠するよ
うにパケットを修正する)、(3)待ち行列またはポリ
シーの管理(パケットの待ち行列への挿入、待ち行列か
らの削除(de-queuing)、特定のアプリケーション用パ
ケットのスケジューリング)、(4)パケットの転送
(スイッチ機構を介したデータの送受信、および適切な
アドレスへのパケットの転送と経路指定)。ネットワー
ク・プロセッサ343内では、ピココードがガイデッド
・セル・ハンドラ(Guided Cell handler:GCH)37
5、ガイデッド・ツリー・ハンドラ(Guided Tree hand
ler:GTH)377、汎用データ・ハンドラ(General
Data handler:GDH)379上で動作する。これらの
ソフトウェア・コンポーネントは、システムの初期化、
転送パスの保守、およびシステムの管理を担当する。
【0023】ネットワーク・プロセッサ343は、ネッ
トワーク・プロセッサ・デバイス・ドライバ301のア
ーキテクチャ構成に依存せず、それを自覚せずに(すな
わち独立したまたは個別化された機能ブロックとして)
動作する。フレームと制御メッセージなどは、すべてデ
バイス・ドライバ301内で変換(または復号化)され
た後、物理トランスポート・サービス341によってネ
ットワーク・プロセッサ343に送信される。この変換
によって、特定のネットワーク・プロセッサ、オペレー
ティング・システム303、および内部コンポーネント
・ブロックの間で継ぎ目のない通信が可能になる。同様
に、ネットワーク・プロセッサ343から受信されるフ
レームは、ネットワーク・プロセッサ・デバイス・ドラ
イバ301の汎用サービス・ユーティリティ・ブロック
が使用できるように、すべてコード変換される。
【0024】動作中、制御プロセッサは、制御メッセー
ジ・プロトコル269を用いて、各NP343と通信す
る。NPの低水準API323と外部API305のソ
フトウェア・アーキテクチャは、ブリッジング、経路指
定、ATM、多層スイッチングをサポートする。ネット
ワーク・プロセッサ343の初期化段階では、プロセッ
サ・チップのレジスタとメモリ領域を設定し、GCH3
75用のコードをロードする。GCH375は、チップ
がフレームの操作を開始するための準備を行う。これを
実施するために、各着信フレームの転送に使用されるコ
ード命令を含むピココードが、チップ上にロードされ
る。
【0025】ネットワーク・プロセッサ・トランスポー
ト・サービス325は、物理トランスポート・サービス
341より上位に配置され、特定のネットワーク・プロ
セッサの制御とデータ・カプセル化処理を取り扱う。ネ
ットワーク・プロセッサ・トランスポート・サービス3
41は、さらに以下のコンポーネント・ブロックを含
む。 (1)物理トランスポート・サービス341への接続用
インターフェースであるRaw333、(2)NP34
3との間で送受信される制御フレームとデータ・フレー
ムのカプセル化や復元を行う処理ボックス(マルチプレ
クサ)であるMux/Demux331、(3)ネット
ワーク・プロセッサのタイプに合うように修正できる総
称データ・フレーム(generic data frame)に相当する
データ327、(4)ネットワーク・プロセッサ343
の状態を保守するために修正され利用される総称内部制
御メッセージであるコントロール(または制御メッセー
ジ・サービス)329。
【0026】たとえば制御メッセージ・サービス329
は、基本的なネットワーク・プロセッサの初期化サービ
ス、構成サービス、コードのローディング・サービス、
イベントの通知サービス、デバッガ・サービス、診断サ
ービス、ソフトウェア処置サービスを提供する。制御サ
ービス329から、所与のシステムにおいて、1つまた
は複数のネットワーク・プロセッサ343を制御するこ
とができる。
【0027】制御メッセージ・フォーマット・サービス
337は、低水準API323内に配置され、外部AP
I305、OS303、ソフトウェア・スタック30
0、およびネットワーク・プロセッサ・リソース・サー
ビス335に結合されている。制御メッセージ・フォー
マット・サービス337は、制御プロセッサとネットワ
ーク・プロセッサ343の間での制御メッセージのやり
取りに利用されるメッセージ・プロトコルである。制御
メッセージ・フォーマット・サービス337は、デバイ
ス・ドライバ301内で、インタープリタとして動作す
る。制御メッセージ・フォーマット・サービス337
は、様々なコンポーネントのすべての低水準APIと高
水準APIを、ネットワーク・プロセッサ343によっ
て利用される特定の言語に変換する。好ましい実施形態
では、制御メッセージ・フォーマット・サービス337
は、1つのOSやハードウェアに特有の要求を、どんな
OSやハードウェアにも当てはまり、他のコンポーネン
トに理解される一般的な要求に変換し、その逆の変換を
行う役割も担う。
【0028】ネットワーク・プロセッサ・デバイス・ド
ライバ301の主要なポータブル機能ユーティリティ
は、外部API305中に存在する。これらの機能ユー
ティリティは、コンピュータ・システムのRAMにロー
ドされたファームウェアまたはソフトウェア、あるいは
コンピュータ可読媒体を介してアクセスできるファーム
ウェアまたはソフトウェアとすることができる。外部A
PI305は、ネットワーク・プロセッサ343の基礎
的機能に対するアクセスと制御を提供する。ネットワー
ク・プロセッサ・サービスAPIは、各ネットワーク・
プロセッサ・サブシステムにおいて提供されるサービス
に相当し、1つまたは複数の追加のサブシステムを制御
する共通の基盤として使用することができる。外部AP
I305の機能ブロックまたはユーティリティ、および
それらの各機能は以下に示す。
【0029】カスタム定義されたサービス307は、顧
客や開発者が独自のネットワーク・ニーズに基づいて追
加できる新たなコンポーネントに相当する。この要素に
よって、本発明が実施するプロセッサ・サービス・アー
キテクチャの拡張容易性が著しく高まることが考えられ
る。したがって、ネットワークの設計、顧客のニーズ、
または開発者の好み、あるいはそのすべてに基づいて、
図4に提示する外部API305を拡張または置換する
ために、他のユーティリティを含むことができる。本明
細書で提示し記載するAPIは、例示のためのものにす
ぎず、本発明を限定するものではない。
【0030】インターフェース・マネージャ・サービス
309は、プロトコル・スタックとインターフェースで
接続するメディア・ポート(たとえばイーサネット、P
OS、およびATM)を開発者が作成および構成するた
めに、利用することができる。このポートは、システム
上のコネクタであり、ネットワーク内でデータを管理し
送受信する。次いでデータは、ネットワーク・プロセッ
サ343によって処理される。また好ましい実施形態で
は、インターフェース・マネージャ・サービス309
が、ネットワーク・プロセッサ343と統合するための
追加機能を2つ提供する。第1の機能は、システム自体
を送信元および送信先とするフレームを送受信するため
の論理インターフェースの作成を可能にするものであ
る。こうしたインターフェースの例として、Telne
t、ファイル転送プロトコル(FTP)、および単純ネ
ットワーク管理プロトコル(SNMP)セッションがあ
る。第2の機能は、ネットワーク・プロセッサに基づく
システムの帯域内転送サービスを利用するシステム用の
汎用プロセッサ間におけるプロセス間通信(IPC)の
ための、高速かつ信頼性の高い、高帯域幅の通信パイプ
を提供するものである。
【0031】テーブル・サービス313は、ネットワー
ク・プロセッサ343上の転送情報または制御情報ある
いはその両方のデータベースである。ネットワーク・プ
ロセッサ343は、基本的に完全突合せ、最長接頭部突
合せ(longest prefix match)、およびマルチフィール
ド分類木(multifield classification tree)をサポー
トする。テーブル・サービスAPI313は、各テーブ
ル・タイプを管理するアプリケーションに依存しない方
法を提供する。テーブルの管理は、作成、初期化、パー
ジ、基本挿入、削除、更新、および照会の各操作から構
成される。テーブル・サービス313は、制御情報とト
ポロジ情報を1つまたは複数のネットワーク・プロセッ
サ343に配布するアプリケーションを開発するために
利用することができる。
【0032】ネットワーク・プロセッサ343は、基本
的チップ操作および拡張スケジューリング機能に使用さ
れる多数の待ち行列を含む。待ち行列サービスAPI3
17によって、しきい値の設定と監視、最小帯域幅と最
大帯域幅の保証、および動的待ち行列の作成と初期化の
ために、これらの待ち行列にアクセスすることが可能に
なる。待ち行列サービス317は、ネットワーク・プロ
セッサ343上で動作するネットワーク・ソフトウェア
のバージョンに基づいて変わることがあり、DiffS
erv(Differentiated Service)、ATM、フロー制
御などの問題に対処する。インターフェース・マネージ
ャ・サービス309と同様に、待ち行列サービスAPI
317は、アプリケーション・スタック300とインタ
ーフェースするように設計されている。
【0033】プロトコル・サービスAPI319は、ネ
ットワーク・プロセッサ343を利用して展開されるブ
リッジング、IP、MPLSなどの周知のプロトコル用
のプロトコル・スタック・インターフェースを提供す
る。その一例は、IP転送テーブルとARPテーブル管
理を含むIPプロトコルAPIであろう。プロトコル・
サービスAPI319は、プロトコル転送コードの挙動
を制御するAPIを提供する。たとえばAPIは、転送
エントリが存在しない時にコードがとるべきデフォルト
動作を制御することができる。この機能によって、開発
者はネットワーク・プロセッサ・コードのロード機能を
修正する必要なしにネットワーク・プロセッサ343を
プログラムできるようになる。
【0034】ネットワーク・プロセッサ・マルチキャス
ト・サービスAPI321は、ネットワーク・プロセッ
サ343内のマルチキャスト・リソースを割り振る方法
を提供する。これらのマルチキャスト・リソースは、ネ
ットワーク・プロセッサ343からスイッチ機構へ、ま
たネットワーク・プロセッサ343から付属のメディア
・ポートへ、どのようにパケットが複製されるかを定義
する。
【0035】異なるオペレーティング・システム間での
移植性を得るため、ネットワーク・プロセッサ・サービ
スは、対象となるオペレーティング・システム303の
固有APIサービスにマップされる1組のシステム・サ
ービスAPI(またはOS)322を利用する。システ
ム・サービスAPI322は、OS303およびデバイ
ス・ドライバ301と動作して、ネットワーク・プロセ
ッサ・デバイス・ドライバ301の現在のハードウェア
構造、ファームウェア構造、およびソフトウェア構造内
で動作する様々な外部API305などのダイナミック
な移植性を提供する。したがって本発明は、この1つの
コンポーネントを修正するだけで、ネットワーク・プロ
セッサ・サービス・コンポーネントを容易に移植する方
法を提供する。システム・サービスAPI322は、O
S303およびプロセッサに固有の特定のコードを変換
することにより、OS303およびプロセッサに対する
独立性を保証する。
【0036】オペレーティング・システム303は、3
つのレベルすべてにわたって存在し、各レベルおよび各
機能ブロックと直接または間接に対話している。ネット
ワーク・プロセッサ・サービスAPI305は、ハード
ウェアのアーキテクチャおよびオペレーティング・シス
テムに依存しないように設計されているが、OSの制御
またはOSとの対話あるいはその両方を必要とする各機
能ブロックが、OS303と通信できるようにする必要
がある。
【0037】本発明は、汎用プロセッサ用のネットワー
ク・プロセッサ・サービスを、個別の機能コンポーネン
ト・ブロックに分解する。これによって、ネットワーク
・プロセッサ・サービスを、オペレーティング・システ
ムとハードウェア(プロセッサ)に対して独立すること
ができる。本発明は、どのようにネットワーク・インタ
ーフェースを管理するか、およびどのようにサービスを
分解し、既存のインターフェースおよび新たなインター
フェースでシステムに適合させるかを決定するという問
題を、ネットワーク・プロセッサ管理用の独特なデバイ
ス・ドライバ・メカニズムを提供することによって解決
する。機能コンポーネント・ブロックを使用することに
より、総称サービスおよび層をインタープリタ・ユーテ
ィリティおよびシステム・サービス・ユーティリティま
たはOSと共に使用して、新たなコンポーネントの追加
と取外しがよりフレキシブルになる。かつてはコンポー
ネントブロックとして結合されていたネットワーク層を
分解すること、および顧客のニーズやネットワークの開
発設計に基づいて更なる機能ユーティリティを追加でき
ることに内在する利点(または価値)を当業者なら理解
されよう。
【0038】また本発明を完全な機能をもつコンピュー
タ・システムという文脈で説明したが、本発明のメカニ
ズムは様々な形のプログラム製品として配布できるこ
と、および実際に配布を行なう際に利用する個々のタイ
プの信号運搬媒体にかかわらず本発明が等しく適用でき
ることを、当業者なら理解するであろうこの2点にも留
意されたい。信号運搬媒体の例としては、それだけには
限定されないがフロッピー(登録商標)・ディスクやC
D ROMなどの記録可能型媒体およびアナログ通信リ
ンクやデジタル通信リンクなどの伝送型媒体がある。
【0039】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0040】(1)ネットワーク・プロセッサ・サービ
ス・アーキテクチャの制御システム内に拡張容易なデバ
イス・ドライバ・サービスを提供する方法であって、希
望するネットワーク・プロセッサ機能の決定に応答し
て、複数のネットワーク・プロセッサ・サービスのうち
それぞれ1つを各々が提供する複数の機能コンポーネン
トをロードするステップと、オペレーティング・システ
ム(OS)に依存しない、前記複数の機能コンポーネン
ト用の通信インターフェースを提供する、前記複数の機
能コンポーネントと前記制御システムのOSの間に挿入
された少なくとも1つのユーティリティを提供するステ
ップと、前記制御システムにおけるパケットの受信に応
答して、まず前記ユーティリティを介して前記パケット
を経路指定することにより、前記複数の個別ソフトウェ
ア・コンポーネントのうちの1つを利用して前記パケッ
トを操作するステップであって、前記パケットが、前記
OSおよび前記複数の個別ソフトウェア・コンポーネン
トの前記1つが理解できる共通コードに復号化されるス
テップとを含む方法。 (2)前記ロードするステップが、デバイス・ドライバ
の外部アプリケーション・プログラミング・インターフ
ェース(API)、低水準API、および物理トランス
ポート・インターフェースをロードするステップを含
む、上記(1)に記載の方法。 (3)前記ネットワーク・プロセッサ・サービス・アー
キテクチャ内で動作可能な顧客が希望するネットワーク
・サービスを含む、顧客が定義可能なサービス・コンポ
ーネントを前記外部API内にロードするステップをさ
らに含む、上記(2)に記載の方法。 (4)前記提供するステップが、前記ユーティリティ
と、前記オペレーティング・システム、1つまたは複数
のネットワーク・プロセッサ、および前記機能コンポー
ネントの各々との間に双方向接続を提供するステップを
含む、上記(1)に記載の方法。 (5)前記提供するステップが、システム・サービス・
ユーティリティを前記オペレーティング・システムにリ
ンクさせるステップをさらに含み、前記システム・サー
ビス・ユーティリティが、前記個別ソフトウェアでコー
ドされたコンポーネントの各々と前記OSとの通信を可
能にするように動作する、上記(1)に記載の方法。 (6)前記提供するステップが、すべての着信および発
信サービス要求を共通のネットワーク・プロセッサ言語
に変換して、前記1つまたは複数のネットワーク・プロ
セッサと、前記オペレーティング・システムと、前記機
能コンポーネントの各々との間で継ぎ目のない接続およ
び対応を可能にし、ネットワーク・パケットを操作でき
るようにする変換ユーティリティをさらに提供する、上
記(1)に記載の方法。 (7)ネットワーク・プロセッサ・サービス・アーキテ
クチャの制御システム内に拡張容易なデバイス・ドライ
バ・サービスを提供するためのコンピュータ・プログラ
ム製品であって、コンピュータ可読媒体を含み、前記コ
ンピュータ可読媒体上に、複数のネットワーク・プロセ
ッサ・サービスのうちそれぞれ1つを各々が提供する複
数の個別ソフトウェア・コンポーネントを実装するため
のプログラム命令と、オペレーティング・システム(O
S)に依存しない、前記複数の個別ソフトウェア・コン
ポーネント用の通信インターフェースを提供する、前記
複数の個別ソフトウェア・コンポーネントと前記制御シ
ステムのOSの間に挿入された少なくとも1つのユーテ
ィリティを提供するためのプログラム命令と、前記制御
システムにおけるパケットの受信に応答して、まず前記
ユーティリティを介して前記パケットを経路指定するこ
とにより、前記複数の個別ソフトウェア・コンポーネン
トのうちの1つを利用して前記パケットを操作し、前記
パケットが、前記OSおよび前記複数の個別ソフトウェ
ア・コンポーネントの前記1つが理解できるコードに変
換されるようにするプログラム命令とを含むコンピュー
タ・プログラム製品。 (8)前記ロードするステップ用のプログラム命令が、
デバイス・ドライバの外部アプリケーション・プログラ
ミング・インターフェース(API)、低水準API、
および物理トランスポート・インターフェースをロード
するプログラム命令を含む、上記(7)に記載のコンピ
ュータ・プログラム製品。 (9)前記ネットワーク・プロセッサ・サービス・アー
キテクチャ内で動作可能な顧客が希望するネットワーク
・サービスを含む、顧客が定義可能なサービス・コンポ
ーネントを前記外部API内にロードするプログラム命
令をさらに含む、上記(8)に記載のコンピュータ・プ
ログラム製品。 (10)前記提供するステップ用の前記プログラム命令
が、前記ユーティリティと、前記オペレーティング・シ
ステム、1つまたは複数のネットワーク・プロセッサ、
および前記機能コンポーネントの各々との間の双方向接
続を提供する命令を含む、上記(7)に記載のコンピュ
ータ・プログラム製品。 (11)前記提供するステップ用の前記プログラム命令
が、システム・サービス・ユーティリティを前記オペレ
ーティング・システムにリンクさせる命令をさらに含
み、前記システム・サービス・ユーティリティが、前記
個別ソフトウェアでコードされたコンポーネントの各々
と前記OSとの通信を可能にするように動作する、上記
(7)に記載のコンピュータ・プログラム製品。 (12)前記提供するステップ用の前記プログラム命令
が、すべての着信および発信サービス要求を、共通のネ
ットワーク・プロセッサ言語に変換して、前記1つまた
は複数のネットワーク・プロセッサと、前記オペレーテ
ィング・システムと、前記機能コンポーネントの各々と
の間で継ぎ目のない接続および対応を可能にし、ネット
ワーク・パケットを操作できるようにする変換ユーティ
リティ用のプログラム命令をさらに含む、上記(7)に
記載のコンピュータ・プログラム製品。 (13)ネットワーク・プロセッサ・サービス・アーキ
テクチャの制御システムであって、前記制御システムの
デバイス・ドライバ内にあり、各々がネットワーク・プ
ロセッサ・サービスに相当する、複数の個別にロード可
能な機能コンポーネントと、前記機能コンポーネントの
各々と前記制御システムのオペレーティング・システム
(OS)との通信を可能にする少なくとも1つのユーテ
ィリティであって、ネットワーク・プロセッサ機能の実
行を求める要求を前記OSが受信したことに応答して、
1つまたは複数のネットワーク・プロセッサの前記ネッ
トワーク・プロセッサ・サービスを管理する、前記複数
の機能コンポーネントのうち特定の1つの呼出しに前記
要求を変換する少なくとも1つのユーティリティと、前
記OS、前記ユーティリティ、および前記機能コンポー
ネントを実行する処理ハードウェアとを含むシステム。 (14)前記複数の機能コンポーネントが、デバイス・
ドライバの外部アプリケーション・プログラミング・イ
ンターフェース(API)、低水準API、および物理
トランスポート・インターフェースを含む、上記(1
3)に記載のシステム。 (15)前記ネットワーク・プロセッサ・サービス・ア
ーキテクチャ内で動作可能な顧客が希望するネットワー
ク・サービスを含む、顧客が定義可能なサービス・コン
ポーネントを前記外部API内にさらに含む、上記(1
4)に記載のシステム。 (16)前記ユーティリティが、前記個別ソフトウェア
でコードされたコンポーネントの各々と前記OSとの通
信を可能にするように動作する、前記オペレーティング
・システムに結合されたシステム・サービス・ユーティ
リティを含む、上記(13)に記載のシステム。 (17)前記ユーティリティが、すべての着信および発
信サービス要求を、共通のネットワーク・プロセッサ言
語に変換して、前記1つまたは複数のネットワーク・プ
ロセッサと、前記オペレーティング・システムと、前記
機能コンポーネントの各々との間で継ぎ目のない接続お
よび対応を可能にし、ネットワーク・パケットを操作で
きるようにする変換ユーティリティを含む、上記(1
3)に記載のシステム。 (18)1つまたは複数のネットワーク・プロセッサ
と、前記1つまたは複数のネットワーク・プロセッサと
の対話を制御する拡張容易なデバイス・ドライバを有す
る、前記1つまたは複数のネットワーク・プロセッサに
結合された制御システムとを含むネットワーク処理サー
ビス・アーキテクチャであって、前記拡張容易なデバイ
ス・ドライバが、ネットワーク処理用の複数の機能要素
を含む複数の個別機能ソフトウェア・コンポーネント
と、いかなるプロセッサ・タイプおよびOSにおいても
有効に通信および対話を行うために、前記複数の機能要
素と前記1つまたは複数のネットワーク・プロセッサと
の間の互換性を可能にし、前記制御システムと前記1つ
または複数のネットワーク・プロセッサの間でフレーム
および制御情報の転送が実施できるようにする変換ユー
ティリティとから構成されるネットワーク処理サービス
・アーキテクチャ。 (19)前記1つまたは複数のネットワーク・プロセッ
サに結合されたスイッチ機構をさらに含む、上記(1
8)に記載のネットワーク処理サービス・アーキテクチ
ャ。 (20)共通コード・プログラムと、ネットワーク・ト
ランスポート・マネージャ、ネットワーク・リソース・
マネージャ、および制御メッセージ・フォーマッタの各
々との間で高水準の双方向通信を提供する複数のシステ
ム・サービス・プログラムを含む、分散処理システム用
のデバイス・ドライバ・プログラムであって、前記ネッ
トワーク・トランスポート・マネージャが、物理トラン
スポート・プロセッサへの低水準の双方向通信を提供
し、前記物理トランスポート・プロセッサが、1つまた
は複数のネットワーク・プロセッサへの基本双方向通信
を提供するデバイス・ドライバ・プログラム。
【図面の簡単な説明】
【図1】ネットワーク・プロセッサ・アーキテクチャが
動作できる従来の通信ネットワークを示す図である。
【図2】ネットワーク・プロセッサ・アーキテクチャの
基本コンポーネントを示すブロック図である。
【図3】本発明の好ましい実施形態を実施できるコンピ
ュータ・システムを示すブロック図である。
【図4】本発明の好ましい実施形態によるネットワーク
・プロセッサ・サービス・アーキテクチャの制御プロセ
ッサ内におけるデバイス・ドライバの機能コンポーネン
トを示す高水準ブロック図である。
【符号の説明】
10 スイッチ/ルータ 11 多重化装置(マルチプレクサ) 12 コントロール・ポイント 13 ワークステーション 14 インターネット 16 広域ネットワーク(WAN) 18 サーバ 20 ローカル・エリア・ネットワーク(LAN) 101 制御プロセッサ 103 ネットワーク・プロセッサ 105 スイッチ機構 208 カスタム定義サービス・ユーティリティ 210 コンピュータ・システム 211 システム・バス 212 プロセッサ(CPU) 213 読取り専用メモリ(ROM) 214 ランダムアクセス・メモリ(RAM) 215 通信アダプタ 216 PCIホスト・ブリッジ 217 ネットワーク 218 スモール・コンピュータ・システム・インター
フェース(SCSI) 219 SCSIディスク・ドライブ 220 周辺コンポーネント相互接続(PCI)ローカ
ル・バス 223 オーディオ・アダプタ 224 スピーカ 225 ISAバス 229 拡張バス・ブリッジ 269 制御メッセージ・プロトコル 300 ソフトウェア・スタック アプリケーション・スタック 301 ネットワーク・プロセッサ・デバイス・ドライ
バ 303 オペレーティング・システム(OS) 305 外部API 307 カスタム定義サービス 309 インターフェース・マネージャ・サービス 313 テーブル・サービス テーブル・サービスAPI 317 待ち行列サービス 待ち行列サービスAPI 319 プロトコル・サービスAPI 321 ネットワーク・プロセッサ・マルチキャスト・
サービスAPI 322 システム・サービスAPI 323 低水準API 325 ネットワーク・プロセッサ・トランスポート・
サービス 327 データ 329 コントロール 制御メッセージ・サービス 335 ネットワーク・プロセッサ・リソース・サービ
ス 337 制御メッセージ・フォーマット・サービス 339 物理トランスポート・インターフェース 341 物理トランスポート・サービス(PTS) 343 ネットワーク・プロセッサ(NP) NPハードウェア 375 ガイデッド・セル・ハンドラ(GCH) 377 ガイデッド・ツリー・ハンドラ(GTH) 379 汎用データ・ハンドラ(GDH)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フィリップ・デーモン アメリカ合衆国27510 ノース・カロライ ナ州カーバラ スミス・レベル・ロード 1000 (72)発明者 アンソニー・マテオ・ガッロ アメリカ合衆国27502 ノース・カロライ ナ州アペックス コーシャム・ドライブ 3308

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】ネットワーク・プロセッサ・サービス・ア
    ーキテクチャの制御システム内に拡張容易なデバイス・
    ドライバ・サービスを提供する方法であって、 希望するネットワーク・プロセッサ機能の決定に応答し
    て、複数のネットワーク・プロセッサ・サービスのうち
    それぞれ1つを各々が提供する複数の機能コンポーネン
    トをロードするステップと、 オペレーティング・システム(OS)に依存しない、前
    記複数の機能コンポーネント用の通信インターフェース
    を提供する、前記複数の機能コンポーネントと前記制御
    システムのOSの間に挿入された少なくとも1つのユー
    ティリティを提供するステップと、 前記制御システムにおけるパケットの受信に応答して、
    まず前記ユーティリティを介して前記パケットを経路指
    定することにより、前記複数の個別ソフトウェア・コン
    ポーネントのうちの1つを利用して前記パケットを操作
    するステップであって、前記パケットが、前記OSおよ
    び前記複数の個別ソフトウェア・コンポーネントの前記
    1つが理解できる共通コードに復号化されるステップと
    を含む方法。
  2. 【請求項2】前記ロードするステップが、デバイス・ド
    ライバの外部アプリケーション・プログラミング・イン
    ターフェース(API)、低水準API、および物理ト
    ランスポート・インターフェースをロードするステップ
    を含む、請求項1に記載の方法。
  3. 【請求項3】前記ネットワーク・プロセッサ・サービス
    ・アーキテクチャ内で動作可能な顧客が希望するネット
    ワーク・サービスを含む、顧客が定義可能なサービス・
    コンポーネントを前記外部API内にロードするステッ
    プをさらに含む、請求項2に記載の方法。
  4. 【請求項4】前記提供するステップが、前記ユーティリ
    ティと、前記オペレーティング・システム、1つまたは
    複数のネットワーク・プロセッサ、および前記機能コン
    ポーネントの各々との間に双方向接続を提供するステッ
    プを含む、請求項1に記載の方法。
  5. 【請求項5】前記提供するステップが、システム・サー
    ビス・ユーティリティを前記オペレーティング・システ
    ムにリンクさせるステップをさらに含み、前記システム
    ・サービス・ユーティリティが、前記個別ソフトウェア
    でコードされたコンポーネントの各々と前記OSとの通
    信を可能にするように動作する、請求項1に記載の方
    法。
  6. 【請求項6】前記提供するステップが、すべての着信お
    よび発信サービス要求を共通のネットワーク・プロセッ
    サ言語に変換して、前記1つまたは複数のネットワーク
    ・プロセッサと、前記オペレーティング・システムと、
    前記機能コンポーネントの各々との間で継ぎ目のない接
    続および対応を可能にし、ネットワーク・パケットを操
    作できるようにする変換ユーティリティをさらに提供す
    る、請求項1に記載の方法。
  7. 【請求項7】ネットワーク・プロセッサ・サービス・ア
    ーキテクチャの制御システム内に拡張容易なデバイス・
    ドライバ・サービスを提供するためのコンピュータ・プ
    ログラム製品であって、 コンピュータ可読媒体を含み、 前記コンピュータ可読媒体上に、 複数のネットワーク・プロセッサ・サービスのうちそれ
    ぞれ1つを各々が提供する複数の個別ソフトウェア・コ
    ンポーネントを実装するためのプログラム命令と、 オペレーティング・システム(OS)に依存しない、前
    記複数の個別ソフトウェア・コンポーネント用の通信イ
    ンターフェースを提供する、前記複数の個別ソフトウェ
    ア・コンポーネントと前記制御システムのOSの間に挿
    入された少なくとも1つのユーティリティを提供するた
    めのプログラム命令と、 前記制御システムにおけるパケットの受信に応答して、
    まず前記ユーティリティを介して前記パケットを経路指
    定することにより、前記複数の個別ソフトウェア・コン
    ポーネントのうちの1つを利用して前記パケットを操作
    し、前記パケットが、前記OSおよび前記複数の個別ソ
    フトウェア・コンポーネントの前記1つが理解できるコ
    ードに変換されるようにするプログラム命令とを含むコ
    ンピュータ・プログラム製品。
  8. 【請求項8】前記ロードするステップ用のプログラム命
    令が、デバイス・ドライバの外部アプリケーション・プ
    ログラミング・インターフェース(API)、低水準A
    PI、および物理トランスポート・インターフェースを
    ロードするプログラム命令を含む、請求項7に記載のコ
    ンピュータ・プログラム製品。
  9. 【請求項9】前記ネットワーク・プロセッサ・サービス
    ・アーキテクチャ内で動作可能な顧客が希望するネット
    ワーク・サービスを含む、顧客が定義可能なサービス・
    コンポーネントを前記外部API内にロードするプログ
    ラム命令をさらに含む、請求項8に記載のコンピュータ
    ・プログラム製品。
  10. 【請求項10】前記提供するステップ用の前記プログラ
    ム命令が、前記ユーティリティと、前記オペレーティン
    グ・システム、1つまたは複数のネットワーク・プロセ
    ッサ、および前記機能コンポーネントの各々との間の双
    方向接続を提供する命令を含む、請求項7に記載のコン
    ピュータ・プログラム製品。
  11. 【請求項11】前記提供するステップ用の前記プログラ
    ム命令が、システム・サービス・ユーティリティを前記
    オペレーティング・システムにリンクさせる命令をさら
    に含み、前記システム・サービス・ユーティリティが、
    前記個別ソフトウェアでコードされたコンポーネントの
    各々と前記OSとの通信を可能にするように動作する、
    請求項7に記載のコンピュータ・プログラム製品。
  12. 【請求項12】前記提供するステップ用の前記プログラ
    ム命令が、すべての着信および発信サービス要求を、共
    通のネットワーク・プロセッサ言語に変換して、前記1
    つまたは複数のネットワーク・プロセッサと、前記オペ
    レーティング・システムと、前記機能コンポーネントの
    各々との間で継ぎ目のない接続および対応を可能にし、
    ネットワーク・パケットを操作できるようにする変換ユ
    ーティリティ用のプログラム命令をさらに含む、請求項
    7に記載のコンピュータ・プログラム製品。
  13. 【請求項13】ネットワーク・プロセッサ・サービス・
    アーキテクチャの制御システムであって、 前記制御システムのデバイス・ドライバ内にあり、各々
    がネットワーク・プロセッサ・サービスに相当する、複
    数の個別にロード可能な機能コンポーネントと、 前記機能コンポーネントの各々と前記制御システムのオ
    ペレーティング・システム(OS)との通信を可能にす
    る少なくとも1つのユーティリティであって、ネットワ
    ーク・プロセッサ機能の実行を求める要求を前記OSが
    受信したことに応答して、1つまたは複数のネットワー
    ク・プロセッサの前記ネットワーク・プロセッサ・サー
    ビスを管理する、前記複数の機能コンポーネントのうち
    特定の1つの呼出しに前記要求を変換する少なくとも1
    つのユーティリティと、 前記OS、前記ユーティリティ、および前記機能コンポ
    ーネントを実行する処理ハードウェアとを含むシステ
    ム。
  14. 【請求項14】前記複数の機能コンポーネントが、デバ
    イス・ドライバの外部アプリケーション・プログラミン
    グ・インターフェース(API)、低水準API、およ
    び物理トランスポート・インターフェースを含む、請求
    項13に記載のシステム。
  15. 【請求項15】前記ネットワーク・プロセッサ・サービ
    ス・アーキテクチャ内で動作可能な顧客が希望するネッ
    トワーク・サービスを含む、顧客が定義可能なサービス
    ・コンポーネントを前記外部API内にさらに含む、請
    求項14に記載のシステム。
  16. 【請求項16】前記ユーティリティが、前記個別ソフト
    ウェアでコードされたコンポーネントの各々と前記OS
    との通信を可能にするように動作する、前記オペレーテ
    ィング・システムに結合されたシステム・サービス・ユ
    ーティリティを含む、請求項13に記載のシステム。
  17. 【請求項17】前記ユーティリティが、すべての着信お
    よび発信サービス要求を、共通のネットワーク・プロセ
    ッサ言語に変換して、前記1つまたは複数のネットワー
    ク・プロセッサと、前記オペレーティング・システム
    と、前記機能コンポーネントの各々との間で継ぎ目のな
    い接続および対応を可能にし、ネットワーク・パケット
    を操作できるようにする変換ユーティリティを含む、請
    求項13に記載のシステム。
  18. 【請求項18】1つまたは複数のネットワーク・プロセ
    ッサと、 前記1つまたは複数のネットワーク・プロセッサとの対
    話を制御する拡張容易なデバイス・ドライバを有する、
    前記1つまたは複数のネットワーク・プロセッサに結合
    された制御システムとを含むネットワーク処理サービス
    ・アーキテクチャであって、 前記拡張容易なデバイス・ドライバが、ネットワーク処
    理用の複数の機能要素を含む複数の個別機能ソフトウェ
    ア・コンポーネントと、いかなるプロセッサ・タイプお
    よびOSにおいても有効に通信および対話を行うため
    に、前記複数の機能要素と前記1つまたは複数のネット
    ワーク・プロセッサとの間の互換性を可能にし、前記制
    御システムと前記1つまたは複数のネットワーク・プロ
    セッサの間でフレームおよび制御情報の転送が実施でき
    るようにする変換ユーティリティとから構成されるネッ
    トワーク処理サービス・アーキテクチャ。
  19. 【請求項19】前記1つまたは複数のネットワーク・プ
    ロセッサに結合されたスイッチ機構をさらに含む、請求
    項18に記載のネットワーク処理サービス・アーキテク
    チャ。
  20. 【請求項20】共通コード・プログラムと、ネットワー
    ク・トランスポート・マネージャ、ネットワーク・リソ
    ース・マネージャ、および制御メッセージ・フォーマッ
    タの各々との間で高水準の双方向通信を提供する複数の
    システム・サービス・プログラムを含む、分散処理シス
    テム用のデバイス・ドライバ・プログラムであって、 前記ネットワーク・トランスポート・マネージャが、物
    理トランスポート・プロセッサへの低水準の双方向通信
    を提供し、前記物理トランスポート・プロセッサが、1
    つまたは複数のネットワーク・プロセッサへの基本双方
    向通信を提供するデバイス・ドライバ・プログラム。
JP2001092526A 2000-04-10 2001-03-28 プラットフォームとオペレーティング・システムに依存しないネットワーク・プロセッサ・サービス・アーキテクチャ Pending JP2001325203A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/546133 2000-04-10
US09/546,133 US6880158B1 (en) 2000-04-10 2000-04-10 Network processor services architecture that is platform and operating system independent

Publications (1)

Publication Number Publication Date
JP2001325203A true JP2001325203A (ja) 2001-11-22

Family

ID=24179014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001092526A Pending JP2001325203A (ja) 2000-04-10 2001-03-28 プラットフォームとオペレーティング・システムに依存しないネットワーク・プロセッサ・サービス・アーキテクチャ

Country Status (7)

Country Link
US (1) US6880158B1 (ja)
EP (1) EP1161045B1 (ja)
JP (1) JP2001325203A (ja)
KR (1) KR100387544B1 (ja)
AT (1) ATE317619T1 (ja)
DE (1) DE60117063D1 (ja)
TW (1) TW561352B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006515094A (ja) * 2003-02-14 2006-05-18 インテル コーポレイション 非メインcpu/osベースの動作環境
KR100653179B1 (ko) 2004-12-17 2006-12-04 한국전자통신연구원 플랫폼 동적 업그레이드 기능을 가지는 무선통신단말기 및그 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892377B1 (en) * 2000-12-21 2005-05-10 Vignette Corporation Method and system for platform-independent file system interaction
US7276351B2 (en) * 2003-09-10 2007-10-02 Seahorse Bioscience Method and device for measuring multiple physiological properties of cells
US8658349B2 (en) 2006-07-13 2014-02-25 Seahorse Bioscience Cell analysis apparatus and method
US20070087401A1 (en) * 2003-10-17 2007-04-19 Andy Neilson Analysis of metabolic activity in cells using extracellular flux rate measurements
US7325239B2 (en) * 2003-11-12 2008-01-29 International Business Machines Corporation Method and system of generically managing tables for network processors
US7698383B2 (en) 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US7774365B2 (en) * 2004-08-31 2010-08-10 Morgan Stanley Organizational reference data and entitlement system
US20080222659A1 (en) * 2007-03-09 2008-09-11 Microsoft Corporation Abstracting operating environment from operating system
US7945918B2 (en) * 2007-06-29 2011-05-17 International Business Machines Corporation Generalized WBEM/CIM indication provider simulation engine
US8060891B2 (en) * 2007-06-29 2011-11-15 Microsoft Corporation Management of external hardware appliances in a distributed operating system
US8202702B2 (en) 2008-10-14 2012-06-19 Seahorse Bioscience Method and device for measuring extracellular acidification and oxygen consumption rate with higher precision
EP2920292B1 (en) 2012-11-13 2017-01-11 Agilent Technologies, Inc. Apparatus and methods for three-dimensional tissue measurements based on controlled media flow
KR20180043385A (ko) 2014-04-09 2018-04-27 콘비다 와이어리스, 엘엘씨 서비스 인에이블러 기능
JP6739351B2 (ja) 2014-06-02 2020-08-12 シーホース バイオサイエンス インコーポレイテッド 生物試料分析用の単一列マイクロプレートシステム及び搬送体
CN106815086B (zh) * 2017-01-13 2020-04-14 邦彦技术股份有限公司 一种基于龙芯平台的通信控制装置
US20230214388A1 (en) * 2021-12-31 2023-07-06 Fortinet, Inc. Generic tree policy search optimization for high-speed network processor configuration

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9307647D0 (en) 1993-04-14 1993-06-02 Plessey Telecomm Telecommunications swith control
US6009476A (en) * 1995-11-21 1999-12-28 Diamond Multimedia Systems, Inc. Device driver architecture supporting emulation environment
CA2184000A1 (en) 1996-01-25 1997-07-26 Terence M. Kelleher Serial driver interface for modular i/o software architecture
JP3177679B2 (ja) 1997-02-14 2001-06-18 日本電信電話株式会社 インテリジェントネットワークのオペレーションシステム
JP3709964B2 (ja) 1998-09-21 2005-10-26 日本電信電話株式会社 トラヒック測定方式
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
JP2000032132A (ja) 1998-07-10 2000-01-28 Nec Corp 顧客管理システム−通信インフラ間のインタフェース装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006515094A (ja) * 2003-02-14 2006-05-18 インテル コーポレイション 非メインcpu/osベースの動作環境
US9015511B2 (en) 2003-02-14 2015-04-21 Intel Corporation Non main CPU/OS based operational environment
US9305562B2 (en) 2003-02-14 2016-04-05 Intel Corporation Non main CPU/OS based operational environment
US10078363B2 (en) 2003-02-14 2018-09-18 Intel Corporation Non main CPU/OS based operational environment
KR100653179B1 (ko) 2004-12-17 2006-12-04 한국전자통신연구원 플랫폼 동적 업그레이드 기능을 가지는 무선통신단말기 및그 방법

Also Published As

Publication number Publication date
ATE317619T1 (de) 2006-02-15
DE60117063D1 (de) 2006-04-20
US6880158B1 (en) 2005-04-12
KR100387544B1 (ko) 2003-06-18
EP1161045A2 (en) 2001-12-05
EP1161045B1 (en) 2006-02-08
EP1161045A3 (en) 2004-02-04
TW561352B (en) 2003-11-11
KR20010091013A (ko) 2001-10-22

Similar Documents

Publication Publication Date Title
JP2001325203A (ja) プラットフォームとオペレーティング・システムに依存しないネットワーク・プロセッサ・サービス・アーキテクチャ
US8073979B2 (en) Enhanced network system through the combination of networking objects
US11356500B1 (en) Disaggregated processing of radio-based applications
JP6055310B2 (ja) 仮想記憶ターゲットオフロード技術
US7594049B1 (en) Application program interface access to hardware services for storage management applications
US8201190B2 (en) Sharing a network I/O adapter between logical partitions
US10037224B2 (en) System and method for nested hypervisors and layer 2 interconnection
US20060280195A1 (en) Systems and methods for providing dedicated or shared network interface functionality via a single MAC
US11949559B2 (en) Composed computing systems with converged and disaggregated component pool
US20140233370A1 (en) Method and system for virtual network interface cards (vnics) over aggregation spanning multiple switches
JP7251648B2 (ja) サーバ内遅延制御システム、サーバ内遅延制御装置、サーバ内遅延制御方法およびプログラム
US11917004B2 (en) Prioritizing data replication packets in cloud environment
US11916999B1 (en) Network traffic management at radio-based application pipeline processing servers
US20220283866A1 (en) Job target aliasing in disaggregated computing systems
WO2022160714A1 (zh) 一种通信方法、装置以及系统
US8214851B2 (en) API interface to make dispatch tables to match API routines
JP2023553213A (ja) 計算クラスタにおける実行ジョブ計算ユニット合成
JP2002026943A (ja) ネットワークインタフェースカードを用いるピアレベル通信用システムおよび方法
CN117041147B (zh) 智能网卡设备、主机设备和方法及系统
US20240236178A1 (en) Network traffic management at radio-based application pipeline processing servers
US7843961B2 (en) Hardware device emulation

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040406