JP2004524598A - ネットワークアプリケーション装置のためのフロースケジューリング及びアーキテクチャ - Google Patents
ネットワークアプリケーション装置のためのフロースケジューリング及びアーキテクチャ Download PDFInfo
- Publication number
- JP2004524598A JP2004524598A JP2002530980A JP2002530980A JP2004524598A JP 2004524598 A JP2004524598 A JP 2004524598A JP 2002530980 A JP2002530980 A JP 2002530980A JP 2002530980 A JP2002530980 A JP 2002530980A JP 2004524598 A JP2004524598 A JP 2004524598A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- flow
- data
- processor module
- network
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 137
- 239000013598 vector Substances 0.000 claims abstract description 61
- 230000015654 memory Effects 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 15
- 230000036541 health Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000003287 optical effect Effects 0.000 description 13
- 230000009977 dual effect Effects 0.000 description 11
- 238000001297 coherence probe microscopy Methods 0.000 description 10
- 239000004744 fabric Substances 0.000 description 8
- 238000005192 partition Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 101000961041 Pseudopleuronectes americanus Ice-structuring protein B Proteins 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- RKOUGZGFAYMUIO-RITPCOANSA-N pdl 118 Chemical compound N[C@H]1CC(=C)C[C@H]1C(O)=O RKOUGZGFAYMUIO-RITPCOANSA-N 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 101000961042 Pseudopleuronectes americanus Ice-structuring protein A Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000218691 Cupressaceae Species 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000032823 cell division Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
複数のプロセッサ間にフローを分散するための方法及びシステムを開示する。このフローは、そのフロー及び関連付けられた要求を識別し、且つそのフロー/要求を処理する少なくとも1つの内部アプリケーションを識別するフロントエンドプロセッサにより、ネットワークなどの外部ソースから受信可能である。このフロントエンドプロセッサは、識別したアプリケーションプロセッサに関連付けられたフロースケジューリングベクトルを利用する。更に、このフロースケジューリングベクトルは、アプリケーションプロセッサからの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率などの内因的データに基づくことができる。幾つかの実施形態では、これらアプリケーションプロセッサは、1つのグループに属するものと考えることができ、1つのグループ内のアプリケーションプロセッサは同一に構成できる。フロースケジュールベクトルは、異なるアプリケーションプロセッサグループに関して計算できる。幾つかの実施形態では、制御プロセッサが、内因的アプリケーションプロセッサデータを収集し、フロースケジューリングベクトルを計算し、且つ、そのフロースケジューリングベクトルをフロントエンドプロセッサに転送できる。
Description
【0001】
発明の背景
(1)発明の分野
本開示の方法及びシステムは、一般に、データフロー処理の能率向上に関し、より詳細には、複数プロセッサのための改良型フロースケジューリング方法及びシステムに関する。
【0002】
(2)関連技術分野の説明
インターネット上でより今まで以上のものを提供する会社、事業、及びその他のプロバイダの数が増加している。しかし、ネットワークサービスを提供する基本的構造は、データ転送依存性による制約を受けている。残念ながら、サービスは、そのサービスに関して中央位置にあると考えられる単一のネットワーク位置から提供されることが多い。この位置は、そのサービス要求を受信且つ処理可能なサーバに対応した行先インターネットプロトコル(IP)アドレスにより識別される。従来のシステムは、行先IPアドレスにおいて多数のサーバを提供することにより、所定のサービスへの要求の軽減を試みており、これらサーバはコンテンツ認識フロースイッチによって管理されている。このコンテンツ認識フロースイッチは、アプリケーション又はサービスへの要求をインターセプトして、処理負荷が比較的低いサーバと共にフローを開始する。従って、これら従来技術システムは、クライアント要求を最適サーバに通信する方法を含み、この方法では、最適サーバの識別には、サーバの現在の負荷及び最近の活動、クライアントとサーバとの間のネットワーク混雑度、及びクライアント・サーバプロキシ情報に関する情報を含んだサーバメトリクスを用いる。システムによっては、クライアントとサーバとの距離は、地理的に且つ/又はネットワークホップなどで測定するので大きくなることがあり、又、こうした情報が、最適サーバを選択する上で重要な要因となりうる。幾つかの方法及びシステムでは、「ピンギング(原語:pinging)」と呼ばれる処理を含むことがあるが、この技法の結果は不正確になることがしばしばある。
【0003】
最適サーバの特定に不可欠なプロセッサ負荷及び他の要因に関する正確且つ信頼性が高い情報を提供するシステム及び方法は、現時点では存在しない。
【0004】
複数プロセッサにフローを分散するための効率的なアルゴリズムを決定するのに、多数のプロセッサから外因的データでなく、内因的データを利用するシステム及び方法が必要とされている。
【0005】
発明の概要
ここに開示した方法及びシステムは、ネットワークサービスとアプリケーションをインターネットなどのネットワーク全体に分散することで、ネットワークサービスとアプリケーションの割り当てを容易にするスケーラブルアーキテクチャ及び方法を提供する。一実施形態では、これら方法及びシステムは、加入者プロファイルに従ってアプリケーション及びサービスを実行可能なアプリケーションプロセッサを含んだスイッチアーキテクチャを用いて実現できる。一実施形態では、これらアプリケーションプロセッサはLINUXオペレーティングシステムを用いて、アプリケーションをダウンロード、修正、及び管理するためのオープンアーキテクチャを提供する。上記のスイッチアーキテクチャは、ネットワーク及びアプリケーションプロセッサとインターフェースをとるフロントエンドプロセッサも含み、加入者からのデータフローを識別し、且つ、加入者プロファイルに従ってアプリケーション処理を行うためにネットワークからアプリケーションプロセッサへのデータフローを分散する。一実施形態では、フロントエンドプロセッサは非加入者からのデータフローを識別し、こうしたデータフローを標準的ネットワークスイッチに従って適切な宛先へ繋ぐ。一実施形態では、フロントエンドプロセッサは、加入者フローを、例えば方針を含む既存のフロー処理要件に基づいて、複数のアプリケーションプロセッサ間に分散するフロースケジュールを含む。
【0006】
一実施形態では、アプリケーションプロセッサ及びフロントエンドプロセッサは、加入者プロファイル情報及びアプリケーションデータを含んだローカル及びリモート記憶装置に、更にアクセス可能な制御プロセッサに接続でき、これら加入者プロファイル情報及びアプリケーションデータは、フロントエンドプロセッサ又はアプリケーションプロセッサに転送できる。制御プロセッサは、更に、アプリケーションプロセッサ及びフロントエンドプロセッサから健全度(原語:healh)及び維持情報を収集し、且つ、管理プロセッサとフロント及びアプリケーションプロセッサとの間に健全度、維持、及び/又は制御情報を分散するための通信路を提供する。
【0007】
一実施形態では、本開示の方法及びシステムは、サーバネットワークのフロントエンドに配置可能なスイッチ機能を含むことができ、一実施形態では、ネットワーク装置は、複数のネットワークを接続するルータ間に位置できる。
【0008】
一実施形態では、フロントエンドプロセッサは、ネットワークプロセッサモジュール(NPM)でよく、少なくとも1つのアプリケーションプロセッサは、フロープロセッサモジュール(FPM)でよい。制御プロセッサは、制御プロセッサモジュール(CPM)を含むことができる。この実施形態では、NPMは、インターネットのような通信システムネットワークとインターフェースをとり、フローを受信且つ分類し、更に、FPM利用度に基づくこともできるフロースケジュールに従って、フローをFPMに分散する。少なくとも1つのFPMは、FPM上に位置した1つ又は複数のプロセッサを用いて個別のフローからのデータを処理するアプリケーション及びネットワークサービスのホストとしても機能できる。CPMは、NMP及びFPMを含むスイッチの異なる構成要素を連係し、スイッチへの管理アクセスを実現し、且つ、ローカル記憶装置へのアクセスをサポートする。ローカル記憶装置は、アプリケーションがFMP上で実行する際に利用可能な画像、構成ファイル、及びデータベースを格納できる。
【0009】
一実施形態では、これら方法及びシステムは、CPMによる、アプリケーション及びデータベースを格納するリモート記憶装置へのアクセスも可能とする。少なくとも1つの管理サーバ(MS)モジュールへのインターフェースが、CPMを介してスイッチモジュール(例えば、NPM、FPM、CPM)からの健全度及び状態情報を受信且つ収集できる。一実施形態では、MSモジュールは、別のホストマシン上に設けられていてもよい。別の実施形態では、この管理サーバモジュールの機能は、CPM上に位置したプロセッサに組み込まれていてもよい。
【0010】
一実施形態では、内部交換イーサネット(商標名、この明細書において同じ)制御バスが、スイッチの内部構成要素を結合し、管理及び制御作業を容易にする。内部交換イーサネット制御バスは、内部パケット転送に利用可能な交換データ経路とは別個であってもよい。
【0011】
一実施形態では、NPM、CPM、FPM、及びNPMと、CPMと、FPMとの間の相互接続は、故障許容作業を向上させ、従ってシステムの信頼性を向上するように、選択的な冗長性を付加して実現可能である。例えば、2つのNPM、10このFPM、及び2つのCPMが実装可能な実施形態では、これら2つのNPMは、冗長又は相補的構成で動作可能である。更に、これら2つのCPMは、第1CPMを作動状態とし、第2CPMをバックアップとした冗長構成で運用できる。NPM及びCPMは、特定のNPM又はCPMの誤動作などを特定することができる管理サーバモジュールを介して制御可能である。この例では、FPM障害が起こった場合に、8つのFPMが任意時間に機能することを保証する助けとなるように、2つまでのFPMを予備FPMとして識別可能である。しかし、通常の技能を備えた当業者であれば、これは例示的なものに過ぎず、予備又は動作FPMの数は、システム要件などによって変化することは理解するはずである。例示したFPMは、1つ又は複数のアプリケーションのホストとして機能するよう構成可能であり、又、幾つかのアプリケーションは複数のFPM上に常駐させて、より多く要求されるアプリケーションに関する効率的なサービスを提供できるようにしてもよい。この構成のスイッチに入るデータフローは、発信者から受信し、NPMが処理し且つ発信者に返すか、NPMが処理して宛先に転送するか、NPMがフロープロセッサに転送し且つNPM経由で発信者に返すか、NPMがフロープロセッサに転送し且つNPMが宛先に転送できる。2つ又は3つ以上のNPMが相補的に動作するよう構成されている実施形態では、第1NPMが受信したフローは、処理及び第2NPMに転送して、更に、第2NPMが宛先に転送してもよい。別の実施形態では、第1NPMは、フローを受信すると直ちにそのフローを第2NPMに転送し、第2NPMが、それを処理及び宛先へ転送できる。相補的NPMを用いた実施形態では、FPMによる処理も上述のデータ経路内に含まれうる。
【0012】
一実施形態では、周知のリナックスオペレーティングシステムをFPM及びCPMプロセッサ上にインストールして、例えば、FPMに常駐するアプリケーションのインストール及び修正が可能なオープンアーキテクチャを提供できる。一実施形態では、NPMは、周知のVxWorksオペレーティングシステムをMIPSプロセッサ上で実行でき、又、小型の実行可能命令をネットワークプロセッサ上で実行できる。
【0013】
本明細書の方法及びシステムは、アプリケーションプロセッサの利用を最適化するフロースケジューリング体系を提供する。一実施形態では、これらアプリケーションプロセッサは、1つのグループに属するものと考えることができ、任意グループ内のアプリケーションプロセッサは同一に構成される。フロースケジューリングは、異なるグループに従って実行及び適合可能である。
【0014】
一実施形態では、任意グループのアプリケーションプロセッサは、指定した間隔でリソース情報を制御プロセッサに報告できる。このリソース情報は、アプリケーションプロセッサからの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率などの内因的情報を含みうる。リソース情報は、診断情報又は他のアプリケーションプロセッサ固有情報を用いて提供できる。
【0015】
制御モジュールは、任意グループのアプリケーションプロセッサに関するリソース情報を処理し、且つ、リソース情報に基づいてフロースケジュールベクトルを計算でき、実施形態によっては、現在のリソース情報を履歴リソース情報と組み合わせて、フロースケジュールベクトルを計算できる。フロースケジュールベクトルは、フロントエンドプロセッサに提供でき、その後、フロントエンドプロセッサが、このベクトルを使ってフローを様々なアプリケーションプロセッサに送ることができる。例えば、フロントエンドプロセッサはフロー及びそれに関連付けられた要求を識別し、そのフロー/要求を処理するように構成されたアプリケーションプロセッサのグループを識別し、その後、対応するフロースケジューリングベクトルを調べて、処理のためにフロー/要求を送信するアプリケーションプロセッサを決定できる。
【0016】
他の目的及び利点は、明細書及び図面から明らかになるはずである。
【0017】
説明
全体的な理解を可能とするため、幾つかの例示的な実施形態を次に説明するが、通常の技能を備えた当業者であれば、ここに記載されたシステム及び方法を変更及び修正して、他の適切な応用例となるシステム及び方法を提供したり、それ以外の追加及び修正が、本発明の範囲から離れることなく可能であることは理解するはずである。
【0018】
本明細書における開示の目的では、アプリケーションとは、ハードウェア、ソフトウェア、又はその組合せで実現可能なデータ処理要素として理解可能であり、このデータ処理要素は、ゼロ又は任意の正の整数であり得る数量状態が可能である。
【0019】
本明細書に記載された方法及びシステムの目的では、プロセッサは、中央処理装置(CPU)に限定されないがそれを含んだ、命令を実行可能な任意の素子又は構成要素であると理解できる。
【0020】
開示したシステム及び方法は、インターネットのようなネットワーク内の全体にわたって接続可能なネットワーク装置であって、アプリケーション及びサービスを加入者ユーザからのデータフローに、ネットワーク全体にわたって適用可能とするネットワーク装置に関する。この装置は、通常の技能を備えた当業者が通常はスイッチに属すると考える機能を実行可能であり、更に、この装置は、通常の技能を備えた当業者が理解するところのスイッチとしてネットワーク内の全体にわたって接続可能だが、この装置は、このスイッチ装置で受信するデータフローを、通常の技能を備えた当業者が現時点で理解するスイッチ動作に従って次の宛先に転送する前に、そのデータフローを識別し、データフローに基づいてプロファイルを呼び出し、方針をデータフローに適用し、プロファイル及び/又は方針に基づいてアプリケーション又はサービスによりデータフローを処理させる技術的インテリジェンスを提供することで、ネットワーク全体にわたってアプリケーション分散を可能ともする。一実施形態では、次の宛先は、ネットワークアドレス又はこのネットワーク装置にそれ以外の態様で接続された別の装置であってもよい。サービスをネットワーク全体にわたって分散してサービスの可用性を高めることで、アプリケーション及びサービスへの増大した要求を満たすための代替解決策に関連したスケーラビリティ問題が改善する。
【0021】
図1Aは、ここに記載したネットワーク装置又はデバイスの4つの代表的モード及びそれらに対応する例示的な動作を示すが、これらモードは例示目的であって限定を意図したものではない。図1Aの第1モードは、例えばファイアウォールアプリケーションに利用可能で、データフローはネットワーク装置によって受信され、いわゆる「許可又は阻止」シナリオに従って処理される。こうしたアプリケーションでは、ネットワーク装置は、あるインターフェースからデータフローを受信して、ファイアウォールが発行する許可に従って別のインターフェースを用いて、宛先にデータフローを渡すか、そうでなければフローは阻止される(すなわち、宛先には転送されない)。「修正、ソース、及び送信」と記された図1Aの第2のシナリオでは、ネットワーク装置が受信したデータフローは、第1インターフェースで受信し、修正し、第2インターフェースを介して宛先に転送される。第2シナリオの代表的実施形態には、コンテンツ挿入が含まれる。図1Aの第3のシナリオでは、ネットワーク装置はプロキシとして機能でき、データフローは第1データインターフェースで受信、処理、及び返され、同様に、第2データインターフェースからのデータフローは、処理した後に第2データインターフェースを介して返すことができる。それぞれのデータフローは独立していても、関連していてもよい。図1Aの第3シナリオの幾つかの実施形態には、トランザクションサービス及びプロトコル変換が含まれる。図1Aの第4のシナリオでは、ネットワーク装置は、例えば、VoIP会議、コンテンツ挿入、及びアプリケーションキャッシュ保持を含んだアプリケーションに利用可能で、データフローは、第1データインターフェースで受信し、処理し、且つ第1データインターフェースを介して返すことができる。
【0022】
図1Bは、ネットワーク装置の別の例を示し、ここに開示した方法及びシステムに従ってネットワーク装置を組み込んだエッジベース(原語:edge−based)ファイアウォール実施形態200に関するデータフローを実例により説明する。この図では、加入者からインターネットサービスプロバイダ(ISP)A 202と、別の加入者からISP B 204とへのインターネット要求であるデータフローが、ディジタル加入者回線アクセスマルチプレクサ(DSLAM)206へ入力され、その後、ISP Aに関連したスーパーPOP内のフローを収集し且つルータ210へ転送する非同期転送モード(ATM)スイッチ208に転送される。ルータ210は、データフロー・トラフィックを、ISP加入者202及び204からのフローを識別し且つそれぞれのファイアウォール方針を適用するネットワークデバイス又は装置12に送る。図示した実施形態では、ISP A及びBは、ネットワーク装置12への加入者であり、それに従って、プロファイル及びアプリケーション/サービスをそうしたプロファイルに従って提供すると、これらプロファイルに適合した態様で、これらをネットワーク装置が分散及び処理する。図示した実施形態では、それぞれのファイアウォールに加えて、アプリケーションをそれぞれのデータフローに適用可能である。対応する処理がネットワーク装置12により実行された後、図示した実施形態では、ISP A加入者202からのデータフローは、そのデータにアプリケーションを適用してインターネット212に転送され、ISP B加入者204からのデータフローは、方針をそのデータに適用してISP B214に転送される。
【0023】
ネットワーク装置12は、データが加入者のものでなく従ってアプリケーション処理の対象とならないことも識別可能で、この場合は、こうしたデータは、通常の技能を備えた当業者に現在知られているスイッチに従って任意の宛先に繋ぐことができる。通常の技能を備えた当業者であれば、本開示は、インターネットと呼ばれるネットワーク内で接続される装置を説明しているが、このインターネット適用例は、例示目的であって限定する意図はないことも理解するはずである。この装置がインターネットなどの通信システムと共に使用される一実施形態では、この装置は、サーバネットワークのフロントエンドに接続するか、ネットワーク間を接続するルータ間に接続可能である。ただし、本開示の装置はそうした実施形態に限定されない。
【0024】
図2は、アプリケーションのホストとして機能し且つインターネットなどのネットワークの基幹施設内の全体にわたって接続可能なネットワーク装置12の別のブロック図10を示す。従って、この装置がホストとなるアプリケーション及び/又はサービスがネットワーク全体にわたって分散される。通常の技能を備えた当業者であれば、図2の例は開示の補助として意図されており、限定する意図はないことは理解するはずである。図2に示したように、図示した装置12は、2つのギガビットイーサネット接続を別々に維持することにより(図示した実施形態では)、ネットワークフローが装置12から出入りするのを促進する2つのネットワークプロセッサモジュール(NPM)14を含む。通常の技能を備えた当業者であれば、ギガビットイーサネット接続は高速データリンクの一例に過ぎず、本装置及び方法の範囲から逸脱することなく他のそうしたデータリンクで代替可能なことは理解するはずである。装置12が、加入者をインターネットコアに接続する幹線に直列で挿入されている一実施形態では、例えば、これらギガビットイーサネット接続は、加入者ネットワーク16及びインターネットコア18と随意にインターフェースをとることができる。通常の技能を備えた当業者であれば、別の実施形態では、単一のNPMを用いることができ、又、これら2つのギガビットイーサネット接続は、例えば2つの異なるネットワークに接続できることは理解するはずである。更に、通常の技能を備えた当業者であれば、図示したシステムに関しては、装置12は1つの双方向インターフェースを用いて、加入者ネットワーク16及びインターネットコア18に接続できることは理解するはずである。図2のNPM14は、イーサネット介しクロスコネクト20を通過して、アプリケーション及びサービスをデータフローに適用する少なくとも1つのフロープロセッサモジュール(FPM)22に接続し、又、データフロー要求を処理し且つNPM14及びFPM22から健全度及び維持情報を収集可能な少なくとも1つの制御プロセッサモジュール(CPM)24に接続する。
【0025】
図示したNPM14、FPM22、及びCPM24も、全てのモジュールと相互接続したスイッチングファブリックに接続しており、このスイッチングファブリックは、NPM14と、FPM22と、CPM24モジュールとの間でデータフローの内部パケット転送を実現する。CPM24は、この代表的実施形態では、二重冗長内部交換100メガバイト/第2イーサネット制御プレーンとすることが可能な100Base−Tイーサネット制御バス26によってFPM22及びNPM14に同様に別個に接続している。更に、図示したCPM24は、100Base−Tイーサネットによって管理サーバ(MS)モジュール28にも、ローカルメモリ素子30にも、更に、ギガビットイーサネット接続を介してデータセンタ32にも接続している。MSモジュール28は、データ収集、アプリケーションのローディング、FPM22からのアプリケーション削除を可能とする一方、ローカルメモリ素子30及びデータセンタ32は、アプリケーションまたはプロファイル情報に関連したデータを格納できる。図2に示したシステムでは、2つのNPM14、少なくとも2つのCPM24、及び10このFPM22がある。ただし、こうしたシステムは単に例示的なものであり、通常の技能を備えた当業者であれば、本開示のシステム及び方法の範囲から逸脱することなく、これより多く或いは少ない数の構成要素を用いることができることは理解するはずである。図2に示したシステムでは、2つのNPMは相補的又は冗長構成で動作可能であり、一方では、2つのCPMを冗長構成することも可能である。
【0026】
上述のように図示した原理に従ったアーキテクチャを用いれば、装置12は、インターネットのようなネットワークの通常の体系内に配置でき、この場合、装置12は、例えばサーバネットワークのフロントエンドに、或いは、それに代わって又はそれに追加して複数ネットワークを接続するルータ間にも配置できる。装置のモジュール用に構成されたファームウエア及び/又はソフトウェアを用いれば、装置12は、アプリケーションを加入者に提供するように構成でき、その場合、これらアプリケーションには、ウイルス検出、進入検出、ファイアウォール、コンテンツフィルタリング、プライバシー保護、方針に基づいたブラウジング等が含まれるが、これらは単に例に過ぎず、限定する意図はない。一実施形態では、NPM14は、データパケットすなわちフローを受信し、そうしたパケットを適切な宛先に転送する前に完全に処理可能である。この実施形態では、NPM14は、NPM14は、パケットを受信して、適切な宛先に転送できる。更にこの実施形態では、FPM22に常駐するアプリケーションが実行可能な処理を必要とするデータパケットを識別し、こうした場合は、NPM14は、どのFPM22が適切且つ最も効率的にそのデータを処理できるかを特定するためのフロースケジューリングを行うが、この際には、データパケットすなわちフローは、処理のため選択したFPM22に転送できる。一実施形態では、全てのFPM22が、全ての種類の処理要求又はデータパケットを処理できるわけではない。更に、データ要求を処理するためには、場合によっては、FPM22は、ローカルメモリ素子30又はリモートメモリ素子32から情報を要求でき、その際には、NPM14が、CPM24を介して格納データの取り出しを命令し、その後、その格納データをFPM22に転送できる。FPM22は、その後、処理済みデータをNPM14に転送し、NPM14が適切な宛先に転送する。図1及び3に示したような装置12のアーキテクチャを用いれば、アプリケーションサービスプロバイダは、サービスを、しばしば単一IPアドレスとして指定される単一位置でなく、インターネットのようなネットワーク全体にわたって統合し且つ利用可能とすることで、加入者により効率的にサービスを提供できる。
【0027】
図3Aは、図1の装置12を通るデータフローを概略的に示す。図3Aに示すように、NPM14は、加入者インターフェースとネットワークコアとの間のインターフェースとなりうる。図3AのNPM14は、データを第1インターフェース14aから受信して、データ要求によってはそのデータを処理し、且つ、第1インターフェース14a又は第2データインターフェース14bを用いて処理済みデータを送信する。或いは、NPM14は、受信データを、後にそのデータをNPM14に返すFPM22に転送可能であり、その後、NPM14は、第1インターフェース14a又は第2データインターフェース14bを使って送信又は転送できる。同様に、NPM14は、データを第2インターフェース14bから受信して、そのデータを処理し、且つ、第1インターフェース14a又は第2データインターフェース14bを用いて処理済みデータを送信できる。更に、第2データインターフェース14bを介してNPM14が受信したデータは、処理のためFPM22に転送可能で、その場合、FPM22はNPM14へ処理済みデータを返し、このデータは、第1インターフェース14a又は第2インターフェース14bを介して送信される。別の例では、NPM14が受信したデータは、複数のFPM22が処理可能で、その場合、データは、NPM14を介して複数のFPM22に転送し且つNPM14に返され、NPM14が宛先に転送する。
【0028】
2つのNPMが相補的に動作するよう構成されている実施形態では、第1NPMが受信したデータは、第1NPMにより処理され且つ第2NPMに転送され、更に、第2NPMが宛先に転送する。或いは、第1NPMが受信したデータは、第2NPMに転送且つ処理され、適切な宛先に転送してもよい。別のシナリオでは、2つのNPMの何れかで受信したデータは、何れかのFPM22に転送し、処理し、且つ、何れかのNPMに宛先に返した後に転送できる。通常の技能を備えた当業者であれば、装置10に入る、又はその内部における、或いはそこから出るデータの動き及び処理は、単に例示目的であり限定するものではなく、補足的な実施形態においては第1NPM及び第2NPMは、本開示の方法及びシステムの範囲から逸脱することなく、記載中で入れ替え可能なことは理解するはずである。
【0029】
図3Bは、本発明の分野で周知の記憶領域ネットワーク(SAN)に従って動作するよう構成された図2及び3Aのシステムを示す。図3Bの構成では、図3Aに示したようなNPM14とFPM22との統合はそのまま保持されているが、NPM14及びFPM22は、本発明の分野で周知のいずれの記憶装置(RAM、ROM、フレキシブルディスク、ZIPドライブ、RAIDシステム、ホログラフィック記憶装置などを含むがそれに限定されないし、これらの例は例示目的であって、限定する目的で記載したものではない)でもよい1つ又は複数の記憶装置23へのインターフェースを保持している。図3Bに示したように、データはNPM14で受信し、記憶装置23に直接転送できる。或いは、NPM14で受信したデータは、NPM14で受信したデータは、FPM22が記憶装置23に転送する前に、1つ又は複数のFPM22に転送可能であり、その場合、FPM22は、デ―タを記憶装置23に転送する前にデータに処理を実行できる。同様に、図3Bの構成では、データは、NPM14又はFPM22の何れかによって記憶装置23から取り出し可能である。図3Bの構成では、NPM14及びFPM22は、データ入力及び出力を可能とする外部インターフェースを保持する。
【0030】
図4は、二重冗長アーキテクチャを実現する図2のシステムの代替実施形態を示す。冗長アーキテクチャの図4の実施形態は、14台のラックシャーシに設けられた2つのNPM14a、14b、2つのCPM24a、24b、及び10このFPM22a−22nを備える。図4のシステムでは、8つのFPM22が、典型的な装置12の動作のために設けられていて、動作中の8つのFPM22のうち2つまでが故障した場合に備えて、2つのFPM22がバックアップとして設けられている。図4が示すように、冗長内部交換100メガバイト/秒(100Base−T)イーサネット制御プレーン170a、170bが、NPM14a、14b、CPM24a、24b、及びFPM22a−22nそれぞれの間を接続する。図示したシステムは、更に、二重ファブリックリンク172a、172bを含み、各FPM22a−22n及びCPM24a、24bは各ファブリックリンク172a、172bに接続する一方、第1NPM14aは第1ファブリックリンク172bに接続し、第2NPM14bは第2ファブリックリンク17bに接続して、各NPM14a、14bのそれぞれからの独立した動作を許容する。
【0031】
更に、図4に示したように、図4のNPM14a、14bは、ネットワークへの2つのギガビットイーサネット接続を備えており、これら接続のうち一方は、加入者ネットワークなどを含んだ加入者に接続可能で、他方はインターネットコアへの接続が可能である。代替例においては、図示したCPM24a、24bは、図2のデータセンタ32として示したリモート記憶装置と通信するための1つのギガビットイーサネット接続を備えている。
【0032】
図5は、図2及び図4による例示的NPM14のブロック図を示す。図2及び図4に示したように、装置すなわちスイッチ12は、1つ又は複数のNPM14を含むことができ、複数のNPM14を用いるときは、これらNPM14は、冗長又は相補的に動作するように構成すればよい。
【0033】
各NPM14は、ネットワークインターフェースサブシステム40として図5に示したモジュラー式でオプションのサブシステムを含む。このサブシステム40は、スイッチ12とネットワークとを物理的に接続して、スイッチ12とネットワークとの間のデータフローを可能とする。NPM14は、ネットワークインターフェースサブシステム40に接続したネットワークプロセッサ42も含む。ネットワークプロセッサ42は、例えば、IQ2000ネットワークプロセッサでよく、通常の技能を備えた当業者であれば、この例は例示目的であり限定的でないことは理解するはずであり、ここに記載した機能を実行する類似の装置であれば、これを代替可能である。更に、第2プロセッサを、本開示の方法及びシステムの範囲から逸脱することなく、NPMアーキテクチャ内に同時に配置できる。図示したIQ2000ネットワークプロセッサ42の場合は、ネットワークインターフェースシステム40は、FOCUSバスを用いてネットワークプロセッサ42のポートA及びBに接続でき、こうしたポートは、以降はFOCUSポートA及びBと称し、ネットワークプロセッサ42の残りの2つのFOCUSポートC及びDも使用可能である。
【0034】
ネットワークインターフェースサブシステム40は、NPMアーキテクチャの変更可能な構成要素でよく、これに代わる様々なオプションとしては、様々なプリント回路基板(PCB)構造又は差し込み可能なオプションボードがあるが、通常の技能を備えた当業者であれば、ネットワークインターフェースサブシステム40を実現するこうした方法は、単に例示的であって、これら方法及びシステムは、そうした技法に限定されないことは理解するはずである。
【0035】
例えば、図6A乃至6Fは、図5のNPM14の様々な例示的ネットワークインターフェースサブシステム40のオプションを示す。図6Aを参照すると、図5のネットワークプロセッサ42への2つのギガビットイーサネット接続50、52は、ネットワークプロセッサ42の2つの埋め込みギガビットイーサネット媒体アクセス制御装置(MAC)を介してサポートされている。ネットワークインターフェースサブシステム40の図6Aに示した実施形態では、ギガビットイーサネット動作に必要な唯一の外部装置には、ギガビットイーサネット物理層装置(PHY)54a、54b及び光インターフェース56a、56bが含まれる。図示した実施形態では、第1光インターフェース56aは、加入者のネットワーク機器に結合可能で、第2光インターフェース56bはインターネットコアに結合可能である。
【0036】
図6Bを参照すると、図5のNPM14の例示的な構成が示されており、FOCUSポートA及びBは、外部オクタル10/100MAC60a、60bを介して、8つまでの10/100イーサネットポートをサポート可能である。図6Bでは、2つの外部8ポート10/100MAC60a、60bが、FOCUSポート及び2つの外部8ポート10/100PHY装置62a、62bに結合している。これらPHY装置は、8つのRJ−45接続64a、64bにそれぞれ結合している。図6Bの構成では、8つのRJ−45ポート64aからなる一組を加入者ネットワーク専用とする一方、残りの8つのRJ−45ポート64bをインターネットコアに結合できる。一実施形態では、図6Bのアーキテクチャによれば、ソフトウェア又はファームウェアは、加入者のポートで受信したデータをインターネットポートで返すことができるように、これらポートを独立したデータストリームとして構成可能である。
【0037】
図6Cを参照すると、図5に示したNPM14のためのネットワークインターフェースサブシステム40の構成を示し、スイッチ12は、FOCUSポートA及びBに接続されたセル分割・組立装置(SAR)70a、70bと協力してATMセルを受信できる。OC−3cATM動作を示した図6Cの構成では、4つの光インターフェース72aが、加入者インターフェースとなる一方、4つの光インターフェース72bがインターネットコアインターフェースとなる。加入者及びインターネット光インターフェース72a、72bは、それぞれ、送信SAR70a(TX、スイッチ12へ)への入力を提供するか、又は、受信SAR70b(RX、スイッチ12から)の出力を受信する4ポートフレーマ76a、76bに結合している。図示した構成では、SAR70b、70bは、32ビットSRAM77及び64ビットSDRAM78を用いるが、こうした実施形態は単に例示目的である。図6Cに図示したシステムでは、SAR UTOPIAポートが、書替え可能ゲートアレイ(FPGA)79を介してFOCUSポートA及びBとインターフェースをとる。通常の技能を備えた当業者であれば、ここに示した他の図と同様に、図6Cのネットワークインターフェースサブシステムは例示目的にすぎず、本開示の方法及びシステムの範囲を限定する意図はないことは理解するはずである。従って、構成要素は同一機能を果たすために交換できる。例えば、送受信能力を備えた単一SARを、図6Cの例に示した2つのSAR70a、70bの代わりに使用してもよい。
【0038】
図6Dを参照すると、図4に示したNPM14のためのネットワークインターフェースサブシステム40の構成を示し、ここでは、OC−12cATMの動作を利用可能としてもよい。図示したシステムでは、1つのOC−12c光インターフェース80aが加入者のネットワーク機器に結合可能で、第2光インターフェース80bはインターネットコアに結合可能である。図6Cとは対照的に、図5Dは、後に、TX及びRX SAR84a、84b、FPGA86、及びネットワークプロセッサ42のそれぞれのFOCUSポートとインターフェースをとる2ポートフレーマ82のみを示す。
【0039】
図6Eを参照すると、図5のネットワークインターフェースサブシステム40のためのOC−3c SONET利用パケット送信(POS)構成を示す。図6Eに示した構成では、4つの光インターフェース90aが加入者のネットワーク機器に結合でき、一方、第2光インターフェース90bはインターネットコアに結合専用にできる。光インターフェース90a、90bは、FPGA94を介してFOCUSポートA及びBとそれぞれインターフェースをとる4ポートフレーマ92a、92bにそれぞれ結合する。通常の技能を備えた当業者であれば、PPP(ポイントツーポイントプロトコル)でカプセル化したパケットは、SONETペイロードエンベロープ(SPE)内に挿入されるため、全てのPOSリンクは連結されており、従って、図6Eで用いるFPGA94は、図6DのFPGA86と類似のものでよいことは理解するはずである。
【0040】
図6Fを参照すると、2ポートOC−12c POS応用例のための図5のネットワークインターフェースサブシステム40の構成を示す。図示したシステムでは、1つの光インターフェース100aが加入者のネットワーク機器に結合可能で、別の100bがインターネットコアに結合可能である。図6Fの光インターフェース100a、100bは、2ポートフレーマ102とインターフェースをとってFOCUSポートA及びBと接続する。
【0041】
図5を再び参照すると、図示したネットワークプロセッサ42は、QED RM700A 400MHzMIPSプロセッサなどのMIPSプロセッサ112と、ガリレオGT64120Aシステムコントローラ/PCブリッジなどのシステムコントローラ/PCブリッジ114と、ローカルSDRAM116と、プログラマブルロジック装置(PLD)118とを含んだCPUサブシステム110にも接続している。図示したシステムでは、PLD118が、ボード固有制御レジスタ及び種々雑多な装置へのアクセスを可能とする。図示したように、PLD118は、ローカルSDRAM116と共にGT64120A 114に隣接してローカル高速バスに接続され、更に、PLD118は、ローカル高速バス120と、設定及びパラメータを半永久的に格納し且つ日時を示す実時間クロックとなるブートPROMフラッシュ124及び不揮発性RAM(NVRAM)126を備えた低速周辺バスと、の間のバッファとして機能する。PCIブリッジに接続されている図5のPCIバス127も、統合PHYを含んだインテルGD82559ER 100ビットMACなどの2つのファストイーサネットMAC128a、128bを含み、1次及び2次100Base−Tイーサネットチャンネルを介してNPM14とCPM24との間の冗長接続を提供する。図示したMAC128a、128bはPCIバス上に位置しており、PCI内部バッファとローカルMIPSメモリ112内で定義済みバッファ記述子との間で直接メモリアクセス(DMA)転送を実行する。MAC128a、128bがサポートするバーストサイズは上限がなく、PCIブリッジの性能により制限される。一実施形態では、フロー制御を制御プレーンに適用して、不要なパケット損失を避けることができる。図示したGT64120A 114は、CPU112及びその他のローカルバスマスタに、PCIメモリ及び/又はデバイスバスへのアクセスを許容する。
【0042】
更に、図5のNPM14は、NPM14とスイッチ内の他のモジュールとの間に高速の無閉塞データ接続を提供するスイッチファブリックサブシステム130を含む。これら接続は、別の冗長又は相補的NPM14への2つのリンク及び各CPM24へのリンクを含む。スイッチファブリックの図示したNPM14部分は、2つのフォーカスコネクト装置132a、132bを含み、一方のフォーカスコネクト装置132aは、FOCUSバスを用いてIQ2000 42ポートCに接続し、別のフォーカスコネクト装置132bはポートDに接続している。
【0043】
図示したシステムでは、フォーカスコネクト装置132a及び132b上の16ビットフォーカスバスは、ローカルポート8を除いて、二重冗長I/O機能を備え且つ二重チャンネル結合モード用に構成されている直列・並列(並直列変換回路)装置136であるサイプレス・クワッド・ホットリンク・ギガビット・トランシーバ134に取り付けられている。この二重チャンネル結合モードは、2チャンネルを単一の16ビットチャンネルに結合するもので、装置ごとに2つのそうした16ビットチャンネルを設けることができる。図7を参照すると、この二重冗長直列I/O機能は、1つのNPM14しか存在しない場合にパケット又はデータ経路ベクトルの修正が必要ないように、バックプレーン上のクロスオーバと協力して、任意のスロットを他の任意のスロットと結合可能とする。図5の並直列変換回路136は、バックプレーンから入る直列ストリームデータを、フォーカスコネクト装置132a、132bに転送するために並列データに変換する。同様に、並直列変換回路136は、フォーカスコネクト装置132a、132bからの並列データを、バックプレーンに送る前に直列データに変換する。
【0044】
例えば、図4に示したシステムを用いれば、フォーカスコネクト装置132a、132bはIQ2000 FOCUS C及びDポートに接続され、更に、フォーカスコネクト装置132a、132bは、それぞれ8つのポートを備え、14スロットシャーシと、及びFPM22a−22n用の10スロットと、NPM14a、14b用の2スロットと、CPM24a、24b用の2スロットとが設けられた図示したシステムでは、フォーカスコネクト装置は、テーブル1及び2に示したように構成可能である。
【表1】
【表2】
【0045】
表1及び2に示したように、図4のNPM14を図1及び3に示したような冗長システムで用いることで、二重NPM14a、14bは、全てのFPM22a−22n及び各CPM24a、24bにアクセスでき、逆も又同じである。
【0046】
図5のNPM14の4番目の主要なサブシステムは、メモリサブシステム140である。図5のメモリサブシステムは、パケットバッファ格納及びフロールックアップテーブル空間用の単一のRAMバスチャンネルである。図示した実施形態では、メモリサブシステム140は、検索プロセッサ142及び幾つかのコンテンツアドレス指定可能メモリ144を備えるが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、メモリサブシステム140又はその構成要素に限定されないことは理解するはずである。
【0047】
図5を再度参照すると、NPM14が受信したデータは、パケット又はデータフローを識別するための命令を含むことができるIQ2000 42に転送可能である。例えば、CPU又はプロセッサ命令は、ハッシュテーブルを実行し或いは用いて、識別されたパケット又はフロー用のサービス又は処理を識別可能であって、このパケット又はフローは、その後、例えば上述のサービス又は処理に従ってFPM22に転送できる。或いは、識別されていないパケットは、そのパケット又はフロー及び関連づけられた処理又はサービスを識別するための命令を含むことが可能なMIPS112に転送できる。一実施形態では、MIPS112が識別できないパケットは、MIPS112が、パケット又はフローを識別するための命令を含みうるCPM24に転送できる。CPM24又はMIPS112からの識別情報は、IQ2000 42に返すことができ、ハッシュテーブルをこの識別情報に従って更新できる。
【0048】
図8を参照すると、図1乃至3に示したシステム用のFPM22の基本ブロック図を示す。図8の実施形態では、FPM22は、インテル社の440BX AGPsetに基づいており、このFPMの機能の大半は、パーソナルコンピュータ(PC)に類似したものである。従って、図示したFPM22は、プロセッサすなわちCPU120と、440BX AGPset122と、FOCUSインターフェースと、周辺機器とを含む4つの主要部分を具備すると考えることができる。図2及び4に図示したシステムでは、複数のFPM22は同一設計されているが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは異なるFPM設計を含みうることは理解するはずである。
【0049】
図8を参照すると、図示したFPM22の実施形態は、100メガヘルツのプロセッサシステムバス(PSB)を備えた単一ソケット370インテルペンティアムIII(商標名、この明細書において同じ)CPU150をサポートするが、こうしたプロセッサは、単に例示目的であって限定するものではなく、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、ここに選択したCPU又はプロセッサ構成要素に限定されないことは理解するはずである。同様に、通常の技能を備えた当業者であれば、複数のプロセッサ150を、本開示の方法及びシステムから逸脱することなく、このFPMアーキテクチャに組み込み可能であることは理解するはずである。この代表的なFPM22は、CPU150にホスト/プロセッササポートを実現する440BXアクセラレイティッド・グラフィックスポート(AGPset)152も含む。
【0050】
図示したシステムのFPM22から出入りするデータパケットは、FOCUSバスと呼ばれる16ビット幅100メガヘルツバスを用い、更に、図示した実施形態では、全二重FOCUSバスが、各NPM14から全てのFPM22に接続されており、二重冗長NPM14a、14bの図示した実施形態では、全てのFPM22は、2つのNPM14a、14bと通信する。上述のように、FOCUSバス信号は、バックプレーンに送る前に、NPM14a、14bで直列化して、信号の保全性を向上し且つトレース数を少なくする。図示したように、FPM22上の直並列変換器154a、154bは、バックプレーンからバスへの信号を変換し、バスが、直並列変換器154a、154bを、FPGA158及び出入力プロセッサ160を介して440BX AGPset152とインターフェースをとるフォーカスコネクト156に接続する。図示したPRCは、FPM22が正しいNPM14にパケットを送信可能とする、8方向FOCUSスイッチである。
【0051】
更に、図8のFPM22は、制御プレーンインターフェース、大容量記憶装置、及び直列インターフェースを含んだ周辺機器の動作も維持する。図示したFPM22では、制御プレーンは、AGP152を冗長制御プレーンにインターフェースする2つのファストイーサネット(商標名;以下同じ)コントローラ130a、130bを介して、FPM22と通信するための専用経路となる。図2及び4に示したように、制御プレーンを介してFPM22と通信するのは、典型的にはCPM24a、24bである。図示した実施形態では、ファストイーサネットコントローラ130a、130bは、2つのCPM24が終端となる交換100メガビット/第2イーサネットネットワークである制御プレーンに接続する。
【0052】
図示したFPM22は、例えば、Mシステムズ社のDiskOnChip(DOC)、2.5インチディスクドライブ、設定及びパラメータなどを半永久的に格納するNVRAMを含んだ種々の大容量記憶装置もサポートする。
【0053】
図9を参照すると、図2及び4のシステムで用いられるような例示的CPM24を図示する。上述のように、CPM24は、一般的なスイッチ幅機能を実行し、且つ、図示した実施形態では、FPM22の図7のデータインターフェースと同一であるデータインターフェースを介して他のスイッチ構成要素と接続している。通常の技能を備えた当業者であれば、FPM22とCPM24とに共通のこのデータインターフェースは、単に便宜的に共通としたに過ぎず、本開示の方法及びシステムの範囲を限定しないことは理解するはずである。
【0054】
上述のように、図示した実施形態では、制御プレーンはCPM24が終端であり、図示した制御プレーンは、二重冗長且つ私用の交換100メガビットイーサネットである。このスイッチング要素は、CPM24上に収納されており、従って、他のモジュールとCPM24との間の全てのポイントツーポイント接続は、バックプレーンコネクタを介して維持される。
【0055】
更に、CPM24は、スイッチ12のブートプロセスを制御し、且つ、スイッチ12の動作時には、スイッチ12からのモジュールの取り外し及び挿入を管理する。
【0056】
図9に示したCPM24では、主CPU170はペンティアムIIIプロセッサであるが、本開示の方法及びシステムはそれに限定されるものでなく、上述の機能を実行可能な任意のプロセッサ又はCPU、或いは装置を、本開示の方法及びシステムの範囲から逸脱することなく代替使用可能であり、複数のプロセッサ又はCPUを付加的に用いてもよい。図示したCPM24では、440BXアクセラレイティッド・グラフィックスポート(AGPset)172が、CPU170によるホスト/プロセッササポートを実現する。図9のAGP172は、種々雑多なハードウェア機器に接続するPCIインターフェースをサポートする。
【0057】
3つのファストイーサネットコントローラ174a、174b、174cも、440BX172のPCIバス上に位置している。これら3つのファストイーサネットコントローラのうち1つ174aは、外部通信を提供し、且つ他方のCPM24のファストイーサネットと多重通信を行う。残った2つのファストイーサネットコントローラ174b、174cは、NPM14及びFPM22への専用通信路となる。図9に示したシステムでは、ファストイーサネットコントローラは、インテル社の82559ERであり、これは、MACとPHYを単一の構成要素に統合した完全統合型10BASE−T/100BASE−TX LANソリューションであるが、こうした実施形態は例示目的で記載されているに過ぎない。図示したシステムでは、ファストイーサネットコントローラ174b、174cは、最大で10のFPM22及び2つのNPM14の制御プレーンへの14の専用通信路を提供するイーサネットスイッチ176とインターフェースをとる。
【0058】
データパケットは、16ビット幅100MHzFOCUSバスを用いて、図示したCPM24から出入りする。図示したシステムでは、各CPM24を各NPM14に結合する1つの全二重FOCUSバスが設けられており、二重冗長NPM14a、14bを備えた図2及び4に示したシステムでは、各CPM24を各NPM14a、14bに結合する。並直列変換回路装置178a,178bは、バックプレーンから入る直列ストリームデータを、フォーカスコネクト装置180に転送するために並列データに変換する。同様に、並直列変換回路178a、178bは、フォーカスコネクト装置180からの並列データを、バックプレーンに送る前に直列データに変換する。図示したフォーカスコネクト180は、CPM24がパケットを正しいNPM14に送るために用いるスイッチである。図9のシステムでは、パケットは、フォーカスコネクト180をAGP172にインターフェースするFPGA84及び出入力プロセッサ186を介してCPUメモリ182から出入りする。
【0059】
図2及び4のシステムを再び参照すると、CPM24は、NPM及びFPMを始めとするスイッチの異なる構成要素を連係し、且つ、ローカルメモリ素子とも呼ぶことができるローカル記憶装置30へのアクセスも同様にサポートする。一実施形態では、ローカル記憶装置30は、アプリケーションをFPM22で実行するための画像、構成ファイル、データベースを格納できる。例えば、ローカル記憶装置30は、NPM14又はFPM22による使用のために取り出し可能な加入者プロファイルを格納してもよい。一実施形態では、特定のアプリケーション又は加入者用の構成ファイルは、取り出して複数のFPM22にコピーでき、従って、例えば、複数の同一構成されたFPM22が望ましいようなシナリオでは効率を向上できる。こうした実施形態では、FPM22は、加入者ごとにグループ分けしてもよい。ローカル記憶装置30は、フレキシブルディスク、コンパクトディスク(CD)、ディジタルビデオディスク(DVD)などを含むがそれに限定されない、CPM24から取り外し可能又はCPMに取り付けられた周知のメモリ構成要素ならどんなのものでもよい。図示したシステムでは、1つのCPM24当たり少なくとも1つのローカル記憶装置が設けられている。同様に、図示したシステムでは、ローカル記憶装置30は、複数のパーティションに分割して、様々なFPM22上のプロセッサを含む特定プロセッサが必要とするものに対応し且つ保護してもよい。一実施形態では、ローカル記憶装置30は、動的ソフトウェアアップグレードを可能とする2つの同一ディスクパーティションを含むことができる。一実施形態では、2つのディスクパーティションは、スワップパーティション、全プロセッサが利用する共通パーティション、及び異なるモジュールプロセッサ(NPM、FPM、CPM)用の特定パーティションを含んだ同一パーティションのグループを備えることができる。
【0060】
図示したCPM24は、リモート記憶装置32にもアクセス可能で、こうしたリモート記憶装置は、ローカル記憶装置30には効率的に格納できないことがあるサービス、データベースなどを格納できる。リモート記憶装置32は、用途によって物理的又は論理的に分割可能なメモリ構成要素の組合せでもよいが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、リモート記憶装置32を提供するために用いた実際のメモリ構成要素には限定されないことは理解するはずである。
【0061】
更に、図2のCPM24は、少なくとも1つの管理サーバ(MS)モジュール28にも結合する。図示したシステムでは、この接続は100Base−Tイーサネット接続である。図2のシステムでは、MS28は、スイッチモジュール14、22、24から健全度及び状態情報を受信且つ収集できるが、その際、これら健全度及び状態情報は、CPM24を介してMS28に提供できる。NPM14、FPM22、及びCPM24が冗長構成されている実施形態では、例えば、MS28が、装置12の特定のモジュールを起動し又はその動作を停止できる。図示した実施形態では、MS28は、CPM24を介して装置12のモジュールと通信する。一実施形態では、MS28は、PC、サンワークステーション、又は、装置12のモジュールを監視及び制御するためのマイクロプロセッサが実行可能な命令を備えた同様に動作するマイクロプロセッサ制御装置でよい。一実施形態では、MS28は、装置12の監視及び制御情報を表示するグラフィカルユーザーインターフェース(GUI)を提供する実行可能命令を含むことができる。一実施形態では、MS28はCPM24とは別個の装置でもよく、別の実施形態では、MS28の機能は、例えば、その機能実現のためCPM24上の別のプロセッサを使用することでCPM24に組み込み可能である。
【0062】
一実施形態では、周知のリナックスオペレーティングシステムをFPM22及びCPM24プロセッサ上にインストールして、例えば、FPM22に常駐するアプリケーションのインストール及び修正が可能なオープンアーキテクチャを提供できる。図示したシステムでは、スイッチモジュール上のアプリケーションの管理及び制御は、MS28を用いて実行できる。図示した実施形態では、MS28の管理にはCPM24を用いる。図示した実施形態におけるファイアウォールなどのアプリケーションは、MS28を用いてダウンロードし、修正し、且つ、FPM22の間で転送できる。
【0063】
一実施形態では、NPM14は、周知のVxWorksオペレーティングシステムをMIPSプロセッサ上で、小型の実行可能プログラムをIQ2000プロセッサ42上で実行できる。通常の技能を備えた当業者であれば、本開示の方法及びシステムは、様々なスイッチモジュール上では上述のオペレーティングシステムの選択肢に限定されるものでなく、更に、本開示の方法及びシステムの範囲内から逸脱しなければ、オープンアーキテクチャを実現する任意のオペレーティングシステムを代わりに用いてもよい。
【0064】
図10を参照すると、図2乃至4に示したシステム及び方法に関するフロースケジューリング手順200の例示的ブロック図を示す。図10に示したように、図示したシステムに関しては、FPM22は、リソ―ス情報202をCPM24に提供できる。リソース情報の説明又は定義は、システム構成に左右されることがあり、又、システム構成により定義可能である。更に、こうした説明又は定義には、所定の又はそれ以外の方法で設定したフロースケジューリング基準に従って、NPM14とFPM22間のフロー分散の助けとなるあらゆる情報が含まれる。FPM22利用率を最適化するためにフローをFPM22に送るのが望ましい実施形態では、例えば、リソース情報には、FPM CPU利用率、FPMメモリ利用率、FPMパケット損失、及び、FPM待ち行列長さ又はバッファ占有率などの内因的データが含まれるが、通常の技能を備えた当業者であれば、こうしたメトリック又はリソース情報の記載は例示目的であって、限定する意図はなく、他のリソース情報も、本開示の方法及びシステムの範囲から逸脱することなくFPM22からCPM24へ提供可能なことは理解するはずである。同様に、上述の例示的リソース情報のいずれかを、本開示の方法及びシステムの何れかの実施形態で用いる必要もない。
【0065】
図示した実施形態では、複数のFPM22は、1つのFPMグループに属すると理解でき、その場合、FPMグループには、同一に構成された複数のFPM22が含まれ、従って、任意のFPM22は単一グループに割り当てられる。別の実施形態では、例えば、複数グループが、特定のアプリケーションを処理可能な複数のFPMを含んでいれば、任意のFPM22は様々なグループに割り当て可能である。10このFPM22が設けられ、それぞれ1から10までの参照番号を付けることが可能で、更に、FPM1、4、5、8、及び9が同一に構成され、FPM2及び3が同一に構成され、FPM6、7、及び10が同一に構成されているような実施形態では、3つのFPMグループを定義可能である。図示した実施形態によるシステム及び方法に関しては、これらFPMグループからのリソース情報は、CPM24からの問合せ要求に応答してCPMに提供可能である(202)。或いは、例えば、リソース情報は、FPM22がリソース情報をCPM24に送信するよう構成された予定間隔で、CPM24に自動的に提供してもよい。一実施形態では、任意グループに属するFPM22は、特定時間にCPM24にリソース情報を転送できるが、他の実施形態では、個々のFPM22からCPM24へのリソース情報転送はグループに関連又は依存していなくてもよい。一実施形態では、FPM22からCPM24へのリソース情報転送は、全てのFPM22が同時に行ってもよい。
【0066】
図示したシステムでは、例えば、FPM22は、1/10秒の間隔でCPM24へリソース情報を転送できるが、通常の技能を備えた当業者であれば、こうしたタイミングは単に例示目的で記載されているに過ぎず、本開示の方法及びシステムは、FPM22からCPM24へのリソース情報転送する上述のタイミング又はスケジューリングに限定されないことは理解するはずである。図示したCPM24は、FPM22のリソ―ス情報を、FPM22に従って、次にFPMグループに従って構文解析する役割を担う(204)。例えば、上述の3つのFPMからなるグループの例に関しては、リソース情報の送信元のFPM22を識別し、且つ、そのFPM22が属するグループを識別できるようにCPM24を構成できる。通常の技能を備えた当業者であれば、データメッセージソース又は転送を識別するには様々な方法(例えば、メッセージヘッダに識別子を含めるもの、CRCなど)が存在し、本開示の方法及びシステムは、リソース情報をFPM22に関連付ける技法又は方法に限定されないことは理解するはずである。
【0067】
図示したCPM24は、FPMグループに従ってFPM22からの情報を整理し、こうした情報を用いてFPMグループのフロースケジューリングベクトルを計算できる(204)。FPM22は、リソース情報を任意の時間間隔でCPM24に提供できるが、CPMのフロースケジュール計算は、こうした情報受信と一致している必要はない。一実施形態では、CPM24は、FPM情報が受信されるごとにフロースケジュールベクトルを更新できる。しかし、他の実施形態では、CPM24は、フロースケジュールベクトルを更新する前に、任意のFPM22又はFPMグループからの複数の更新を平均化してもよい。例えば、CPM24は、指定した時間間隔又は指定したFPM更新間隔などで、任意のグループに関する新たなフロースケジュールベクトルを計算するよう構成できるが、本開示の方法及びシステムは、上述のCPMフロースケジュールベクトル計算のタイミングに限定されない。
【0068】
一実施形態では、CPMによるフロースケジュールベクトル計算の間隔は、任意のFPMグループ内に常駐するアプリケーションの関数としてもよい。例えば、仮にあるFPMグループ構成には、完了に一定の時間を要するアプリケーションが含まれることがCPMに分かっていれば、フロースケジュールベクトル計算をこの情報に基づいて実行できる。FPMグループのフロースケジュールベクトル計算がアプリケーションに依存するシステムでは、異なるFPMグループのFPMグループフロースケジュールベクトルは、他のFPMグループとは別個に計算できる。
【0069】
一実施形態では、フロースケジュールベクトルは、FPMからの履歴内因的データに基づいて計算できる。一実施形態では、この履歴情報は、フィルタを使ってフロースケジュールベクトルに組み込むことができる。
【0070】
任意のFPMグループの計算済みフロースケジュールベクトルの長さは様々である。例えば、5番、6番、及び7番からなる3つのFPM22を備えたFPMグループを考慮してみる。任意の時間において、CPM24は、5番及び7番のFPMへの負荷が最大となっているが、6番のFPMはそうなっていないことを特定できる。FPMグループのベクトルを、例えば、6番のFPMを識別する1つの値とすることができ、例えば、5番及び7番のFPMの負荷低下を示すまでは、このベクトルは一定でよい。40パーセントのフローが5番のFPMにより処理され、40パーセントのフローが6番のFPMにより処理され、20パーセントが7番のFPMにより処理する予定の上述のFPMグループの別の例では、フロースケジュールベクトルは、[FPM5番;FPM6番;FPM5番;FPM6番;FPM7番]というベクトル表記で表すことができる5つの値でよい。
【0071】
図10を再び参照すると、CPM24が、任意のFPMグループのフロースケジュールベクトルを計算した後、CPMは、フロースケジュールベクトルをNPM14に転送(206)できる。
CPM構成によっては、CPM24からNPM14への更新済みフロースケジュールベクトルの転送は、CPMのフロースケジュールベクトル計算とは同じ割合でなくてもよい。幾つかの実施形態では、CPM24からNPM14へのフロースケジュールベクトルの転送を、FPMグループによっては異なることがある固定間隔で構成してもよい。他の実施形態では、全てのFPMグループの更新済みフロースケジュールベクトルを、同時にNPM14に転送できる。別の実施形態では、CPM24からNPM14への新たなフロースケジュールベクトルは、所定の基準に基づいてのみ転送できる、例えば、この基準では、既存のフロースケジュールベクトルと、新たに計算したフロースケジュールベクトルとの間に指定した差が存在することを要件としてもよい。通常の技能を備えた当業者であれば、本開示の方法及びシステムは、CPM24とNPM14との間の上述のフロースケジュールベクトル転送の頻度又はスケジューリングによって限定されないことは理解するはずである。
【0072】
上述のように、NPM14は、加入者及び/又はネットワークなどとインターフェースをとり、フローを受信し、そのフローが要求するアプリケーションを識別し、且つ、どのFPM22がそのフロー/要求を処理できるかも識別する。図10のフロースケジューリング方法を用いるシステムでは、受信されたフローがどのアプリケーションを要求しているかをNPM14が識別すると、NPM14は、そのフローを処理するFPMグループを決定できる。一実施形態では、NPM14は、例えばハッシュテーブルを用いて、アプリケーション又はサービスに対する要求を、特定のFPMグループ及び/又はフロースケジュールベクトルに関連付け可能だが、通常の技能を備えた当業者であれば、フロー又は要求をプロセッサグループに関連付ける多くの異なる技法が存在し、本開示の方法及びシステムは、いずれの特定の技法にも限定されないことは理解するはずである。NPMは、識別したFPMグループのフロースケジュールベクトルを用いて、識別したFPMグループ内のどのFPM22が、処理のためにそのフロー/要求を受信すべきかも決定できる。フロースケジューリングベクトルが用いられる図示したシステム及び方法では、NPM14を構成して、それぞれのフロースケジュールベクトルに順番に列挙されたFPMからFPM22に、フローを順次割り当てることで、フロースケジュールベクトルに従ってフローをFPM22に送ることができる。同時に、ベクターの終点に達した時点で、ベクターの開始点に戻ることができる。通常の技能を備えた当業者であれば、フロースケジュールベクトルは、FPM、FPMの識別子などへのポインタを含むことができ、更に、これら方法及びシステムは、特定FPMがベクトルにより識別される上述の技法には限定されないことは理解するはずである。
【0073】
通常の技能を備えた当業者であれば、図10のフローチャート及び関連した説明は、単に例として意図されており、限定する意図はないことは理解するはずである。例えば、このフローチャートの説明は、FPM22からCPM24へのリソース情報転送から始まっているが、通常の技能を備えた当業者であれば、こうした処理が、図10の処理の最初のステップである必要はないことは理解するはずである。一実施形態では、初期フロースケジュールベクトルは、CPM24がNPM14へ提供してもよいし、別の方法としては、異なるFPMグループの初期フロースケジュールベクトルを、NPM14に与えるように構成してもよい。従って、図10に示した処理は、図示したように、処理の「開始」又は「終了」に関する詳細な設定なしで、範囲を限定した方法或いは限定しない方法で繰り返すことができる。
【0074】
従来技術に対する本開示の方法及びシステムの1つの利点は、複数プロセッサを備えた単一のアーキテクチャが開示され、プロセッサからの内因的データを用いて、フロー又はデータ要求を、複数プロセッサ間に分散するための正確なフロースケジューリングベクトルが生成できることである。
【0075】
これまで記載してきたことは、複数プロセッサ間にフローを分散するための方法及びシステムである。このフローは、そのフロー及び関連付けられた要求を識別し、且つそのフロー/要求を処理する少なくとも1つの内部アプリケーションプロセッサを識別するフロントエンドプロセッサにより、ネットワークなどの外部ソースから受信可能である。このフロントエンドプロセッサは、識別したアプリケーションプロセッサに関連付けられたフロースケジューリングベクトルを利用する。そして、このフロースケジューリングベクトルは、アプリケーションプロセッサからの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率などの内因的データに基づくことができる。幾つかの実施形態では、これらアプリケーションプロセッサは、1つのグループに属するものと考えることができ、1つのグループ内のアプリケーションプロセッサは同一に構成できる。フロースケジュールベクトルは、異なるアプリケーションプロセッサグループに関して計算できる。幾つかの実施形態では、制御プロセッサは、内因的アプリケーションプロセッサデータを収集し、フロースケジューリングベクトルを計算し、且つ、そのフロースケジューリングベクトルをフロントエンドプロセッサに転送できる。
【0076】
本開示の方法及びシステムは、特定の実施形態に関連して説明してきたが、それに限定されない。言うまでもなく、上述の教示を参考にすれば、これらの方法及びシステムには多くの修正及び変更が可能なことが明らかとなることもあろう。例えば、図示したシステムは、モジュールを様々な構成要素に分割しているが、構成要素の機能は、これら方法及びシステムに影響を与えることなく、適切な場合には単一モジュールに結合できる。これらの方法及びシステムは、FPMからCPMへリソース情報を転送し、その後、フロースケジューリングベクトルを計算して、更にNPMへ更に転送することを開示しているが、リソース情報はNPMに転送して、NPMにおいてフロースケジューリングベクトルを計算してもよい。同様に、他のプロセッサを用いて、内因的リソース情報を処理し、且つフロースケジューリングベクトルを計算してもよい。本開示では「フロースケジュールベクトル」という用語が用いられているが、この用語は、任意の種類のスケジュール形式を示していると理解可能であり、更に、スケジュールが、ベクトル、待ち行列、アレーなどの形式である必要はなく、他の形式のスケジューリング又は順序情報を含んだ他の形式であっても、本開示の方法及びシステムの範囲から逸脱することなく利用可能である。
【0077】
本開示の方法及びシステムの本質を説明するために本明細書に記載及び例示した部材の詳細、素材、ステップ、及び配列には、本開示の方法及びシステムの原理及び範囲を変更することなく、多くの付加的変更を行うことができる。従って、本開示の方法及びシステムは、本明細書に記載された実施形態に限定されるものではなく、具体的に記載されたものとは異なる様態で実行可能であって、次の請求項から理解されるべきであり、法律によって許された最大の範囲で解釈されるべきでことは、理解できるはずである。
【図面の簡単な説明】
【図1】
(A) 本明細書に開示されたネットワーク装置の4つの例示的動作モードを示す。
(B) 本明細書に開示されたシステム及び方法のエッジベースファイアウォール実施形態の図を示す。
【図2】
本明細書に開示された方法及びシステムに従った装置のブロック図である。
【図3】
(A) 図2の装置を介した基本的データフローのブロック図である。
(B) 図2の装置の記憶領域ネットワーク実施形態のブロック図である。
【図4】
図2に従ったシステムの冗長アーキテクチャのブロック図である。
【図5】
図2及び図4のシステムのネットワークプロセッサモジュール(NPM)の略図である。
【図6】
(A)乃至(F) 図5のNPMのネットワークインターフェースの実施形態を詳細に示す。
【図7】
図5に示したNPM内のバックプレーン上のクロスオーバを示す。
【図8】
図2及び4の実施形態のフロープロセッサモジュール(FPM)のアーキテクチャを示すブロック図である。
【図9】
図2及び4に示した代表的システムに従った例示的制御プロセッサモジュール(CPM)のブロック図である。
【図10】
図2乃至4の方法及びシステムのフロースケジューリングに関する論理の流れを表すブロック図である。
発明の背景
(1)発明の分野
本開示の方法及びシステムは、一般に、データフロー処理の能率向上に関し、より詳細には、複数プロセッサのための改良型フロースケジューリング方法及びシステムに関する。
【0002】
(2)関連技術分野の説明
インターネット上でより今まで以上のものを提供する会社、事業、及びその他のプロバイダの数が増加している。しかし、ネットワークサービスを提供する基本的構造は、データ転送依存性による制約を受けている。残念ながら、サービスは、そのサービスに関して中央位置にあると考えられる単一のネットワーク位置から提供されることが多い。この位置は、そのサービス要求を受信且つ処理可能なサーバに対応した行先インターネットプロトコル(IP)アドレスにより識別される。従来のシステムは、行先IPアドレスにおいて多数のサーバを提供することにより、所定のサービスへの要求の軽減を試みており、これらサーバはコンテンツ認識フロースイッチによって管理されている。このコンテンツ認識フロースイッチは、アプリケーション又はサービスへの要求をインターセプトして、処理負荷が比較的低いサーバと共にフローを開始する。従って、これら従来技術システムは、クライアント要求を最適サーバに通信する方法を含み、この方法では、最適サーバの識別には、サーバの現在の負荷及び最近の活動、クライアントとサーバとの間のネットワーク混雑度、及びクライアント・サーバプロキシ情報に関する情報を含んだサーバメトリクスを用いる。システムによっては、クライアントとサーバとの距離は、地理的に且つ/又はネットワークホップなどで測定するので大きくなることがあり、又、こうした情報が、最適サーバを選択する上で重要な要因となりうる。幾つかの方法及びシステムでは、「ピンギング(原語:pinging)」と呼ばれる処理を含むことがあるが、この技法の結果は不正確になることがしばしばある。
【0003】
最適サーバの特定に不可欠なプロセッサ負荷及び他の要因に関する正確且つ信頼性が高い情報を提供するシステム及び方法は、現時点では存在しない。
【0004】
複数プロセッサにフローを分散するための効率的なアルゴリズムを決定するのに、多数のプロセッサから外因的データでなく、内因的データを利用するシステム及び方法が必要とされている。
【0005】
発明の概要
ここに開示した方法及びシステムは、ネットワークサービスとアプリケーションをインターネットなどのネットワーク全体に分散することで、ネットワークサービスとアプリケーションの割り当てを容易にするスケーラブルアーキテクチャ及び方法を提供する。一実施形態では、これら方法及びシステムは、加入者プロファイルに従ってアプリケーション及びサービスを実行可能なアプリケーションプロセッサを含んだスイッチアーキテクチャを用いて実現できる。一実施形態では、これらアプリケーションプロセッサはLINUXオペレーティングシステムを用いて、アプリケーションをダウンロード、修正、及び管理するためのオープンアーキテクチャを提供する。上記のスイッチアーキテクチャは、ネットワーク及びアプリケーションプロセッサとインターフェースをとるフロントエンドプロセッサも含み、加入者からのデータフローを識別し、且つ、加入者プロファイルに従ってアプリケーション処理を行うためにネットワークからアプリケーションプロセッサへのデータフローを分散する。一実施形態では、フロントエンドプロセッサは非加入者からのデータフローを識別し、こうしたデータフローを標準的ネットワークスイッチに従って適切な宛先へ繋ぐ。一実施形態では、フロントエンドプロセッサは、加入者フローを、例えば方針を含む既存のフロー処理要件に基づいて、複数のアプリケーションプロセッサ間に分散するフロースケジュールを含む。
【0006】
一実施形態では、アプリケーションプロセッサ及びフロントエンドプロセッサは、加入者プロファイル情報及びアプリケーションデータを含んだローカル及びリモート記憶装置に、更にアクセス可能な制御プロセッサに接続でき、これら加入者プロファイル情報及びアプリケーションデータは、フロントエンドプロセッサ又はアプリケーションプロセッサに転送できる。制御プロセッサは、更に、アプリケーションプロセッサ及びフロントエンドプロセッサから健全度(原語:healh)及び維持情報を収集し、且つ、管理プロセッサとフロント及びアプリケーションプロセッサとの間に健全度、維持、及び/又は制御情報を分散するための通信路を提供する。
【0007】
一実施形態では、本開示の方法及びシステムは、サーバネットワークのフロントエンドに配置可能なスイッチ機能を含むことができ、一実施形態では、ネットワーク装置は、複数のネットワークを接続するルータ間に位置できる。
【0008】
一実施形態では、フロントエンドプロセッサは、ネットワークプロセッサモジュール(NPM)でよく、少なくとも1つのアプリケーションプロセッサは、フロープロセッサモジュール(FPM)でよい。制御プロセッサは、制御プロセッサモジュール(CPM)を含むことができる。この実施形態では、NPMは、インターネットのような通信システムネットワークとインターフェースをとり、フローを受信且つ分類し、更に、FPM利用度に基づくこともできるフロースケジュールに従って、フローをFPMに分散する。少なくとも1つのFPMは、FPM上に位置した1つ又は複数のプロセッサを用いて個別のフローからのデータを処理するアプリケーション及びネットワークサービスのホストとしても機能できる。CPMは、NMP及びFPMを含むスイッチの異なる構成要素を連係し、スイッチへの管理アクセスを実現し、且つ、ローカル記憶装置へのアクセスをサポートする。ローカル記憶装置は、アプリケーションがFMP上で実行する際に利用可能な画像、構成ファイル、及びデータベースを格納できる。
【0009】
一実施形態では、これら方法及びシステムは、CPMによる、アプリケーション及びデータベースを格納するリモート記憶装置へのアクセスも可能とする。少なくとも1つの管理サーバ(MS)モジュールへのインターフェースが、CPMを介してスイッチモジュール(例えば、NPM、FPM、CPM)からの健全度及び状態情報を受信且つ収集できる。一実施形態では、MSモジュールは、別のホストマシン上に設けられていてもよい。別の実施形態では、この管理サーバモジュールの機能は、CPM上に位置したプロセッサに組み込まれていてもよい。
【0010】
一実施形態では、内部交換イーサネット(商標名、この明細書において同じ)制御バスが、スイッチの内部構成要素を結合し、管理及び制御作業を容易にする。内部交換イーサネット制御バスは、内部パケット転送に利用可能な交換データ経路とは別個であってもよい。
【0011】
一実施形態では、NPM、CPM、FPM、及びNPMと、CPMと、FPMとの間の相互接続は、故障許容作業を向上させ、従ってシステムの信頼性を向上するように、選択的な冗長性を付加して実現可能である。例えば、2つのNPM、10このFPM、及び2つのCPMが実装可能な実施形態では、これら2つのNPMは、冗長又は相補的構成で動作可能である。更に、これら2つのCPMは、第1CPMを作動状態とし、第2CPMをバックアップとした冗長構成で運用できる。NPM及びCPMは、特定のNPM又はCPMの誤動作などを特定することができる管理サーバモジュールを介して制御可能である。この例では、FPM障害が起こった場合に、8つのFPMが任意時間に機能することを保証する助けとなるように、2つまでのFPMを予備FPMとして識別可能である。しかし、通常の技能を備えた当業者であれば、これは例示的なものに過ぎず、予備又は動作FPMの数は、システム要件などによって変化することは理解するはずである。例示したFPMは、1つ又は複数のアプリケーションのホストとして機能するよう構成可能であり、又、幾つかのアプリケーションは複数のFPM上に常駐させて、より多く要求されるアプリケーションに関する効率的なサービスを提供できるようにしてもよい。この構成のスイッチに入るデータフローは、発信者から受信し、NPMが処理し且つ発信者に返すか、NPMが処理して宛先に転送するか、NPMがフロープロセッサに転送し且つNPM経由で発信者に返すか、NPMがフロープロセッサに転送し且つNPMが宛先に転送できる。2つ又は3つ以上のNPMが相補的に動作するよう構成されている実施形態では、第1NPMが受信したフローは、処理及び第2NPMに転送して、更に、第2NPMが宛先に転送してもよい。別の実施形態では、第1NPMは、フローを受信すると直ちにそのフローを第2NPMに転送し、第2NPMが、それを処理及び宛先へ転送できる。相補的NPMを用いた実施形態では、FPMによる処理も上述のデータ経路内に含まれうる。
【0012】
一実施形態では、周知のリナックスオペレーティングシステムをFPM及びCPMプロセッサ上にインストールして、例えば、FPMに常駐するアプリケーションのインストール及び修正が可能なオープンアーキテクチャを提供できる。一実施形態では、NPMは、周知のVxWorksオペレーティングシステムをMIPSプロセッサ上で実行でき、又、小型の実行可能命令をネットワークプロセッサ上で実行できる。
【0013】
本明細書の方法及びシステムは、アプリケーションプロセッサの利用を最適化するフロースケジューリング体系を提供する。一実施形態では、これらアプリケーションプロセッサは、1つのグループに属するものと考えることができ、任意グループ内のアプリケーションプロセッサは同一に構成される。フロースケジューリングは、異なるグループに従って実行及び適合可能である。
【0014】
一実施形態では、任意グループのアプリケーションプロセッサは、指定した間隔でリソース情報を制御プロセッサに報告できる。このリソース情報は、アプリケーションプロセッサからの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率などの内因的情報を含みうる。リソース情報は、診断情報又は他のアプリケーションプロセッサ固有情報を用いて提供できる。
【0015】
制御モジュールは、任意グループのアプリケーションプロセッサに関するリソース情報を処理し、且つ、リソース情報に基づいてフロースケジュールベクトルを計算でき、実施形態によっては、現在のリソース情報を履歴リソース情報と組み合わせて、フロースケジュールベクトルを計算できる。フロースケジュールベクトルは、フロントエンドプロセッサに提供でき、その後、フロントエンドプロセッサが、このベクトルを使ってフローを様々なアプリケーションプロセッサに送ることができる。例えば、フロントエンドプロセッサはフロー及びそれに関連付けられた要求を識別し、そのフロー/要求を処理するように構成されたアプリケーションプロセッサのグループを識別し、その後、対応するフロースケジューリングベクトルを調べて、処理のためにフロー/要求を送信するアプリケーションプロセッサを決定できる。
【0016】
他の目的及び利点は、明細書及び図面から明らかになるはずである。
【0017】
説明
全体的な理解を可能とするため、幾つかの例示的な実施形態を次に説明するが、通常の技能を備えた当業者であれば、ここに記載されたシステム及び方法を変更及び修正して、他の適切な応用例となるシステム及び方法を提供したり、それ以外の追加及び修正が、本発明の範囲から離れることなく可能であることは理解するはずである。
【0018】
本明細書における開示の目的では、アプリケーションとは、ハードウェア、ソフトウェア、又はその組合せで実現可能なデータ処理要素として理解可能であり、このデータ処理要素は、ゼロ又は任意の正の整数であり得る数量状態が可能である。
【0019】
本明細書に記載された方法及びシステムの目的では、プロセッサは、中央処理装置(CPU)に限定されないがそれを含んだ、命令を実行可能な任意の素子又は構成要素であると理解できる。
【0020】
開示したシステム及び方法は、インターネットのようなネットワーク内の全体にわたって接続可能なネットワーク装置であって、アプリケーション及びサービスを加入者ユーザからのデータフローに、ネットワーク全体にわたって適用可能とするネットワーク装置に関する。この装置は、通常の技能を備えた当業者が通常はスイッチに属すると考える機能を実行可能であり、更に、この装置は、通常の技能を備えた当業者が理解するところのスイッチとしてネットワーク内の全体にわたって接続可能だが、この装置は、このスイッチ装置で受信するデータフローを、通常の技能を備えた当業者が現時点で理解するスイッチ動作に従って次の宛先に転送する前に、そのデータフローを識別し、データフローに基づいてプロファイルを呼び出し、方針をデータフローに適用し、プロファイル及び/又は方針に基づいてアプリケーション又はサービスによりデータフローを処理させる技術的インテリジェンスを提供することで、ネットワーク全体にわたってアプリケーション分散を可能ともする。一実施形態では、次の宛先は、ネットワークアドレス又はこのネットワーク装置にそれ以外の態様で接続された別の装置であってもよい。サービスをネットワーク全体にわたって分散してサービスの可用性を高めることで、アプリケーション及びサービスへの増大した要求を満たすための代替解決策に関連したスケーラビリティ問題が改善する。
【0021】
図1Aは、ここに記載したネットワーク装置又はデバイスの4つの代表的モード及びそれらに対応する例示的な動作を示すが、これらモードは例示目的であって限定を意図したものではない。図1Aの第1モードは、例えばファイアウォールアプリケーションに利用可能で、データフローはネットワーク装置によって受信され、いわゆる「許可又は阻止」シナリオに従って処理される。こうしたアプリケーションでは、ネットワーク装置は、あるインターフェースからデータフローを受信して、ファイアウォールが発行する許可に従って別のインターフェースを用いて、宛先にデータフローを渡すか、そうでなければフローは阻止される(すなわち、宛先には転送されない)。「修正、ソース、及び送信」と記された図1Aの第2のシナリオでは、ネットワーク装置が受信したデータフローは、第1インターフェースで受信し、修正し、第2インターフェースを介して宛先に転送される。第2シナリオの代表的実施形態には、コンテンツ挿入が含まれる。図1Aの第3のシナリオでは、ネットワーク装置はプロキシとして機能でき、データフローは第1データインターフェースで受信、処理、及び返され、同様に、第2データインターフェースからのデータフローは、処理した後に第2データインターフェースを介して返すことができる。それぞれのデータフローは独立していても、関連していてもよい。図1Aの第3シナリオの幾つかの実施形態には、トランザクションサービス及びプロトコル変換が含まれる。図1Aの第4のシナリオでは、ネットワーク装置は、例えば、VoIP会議、コンテンツ挿入、及びアプリケーションキャッシュ保持を含んだアプリケーションに利用可能で、データフローは、第1データインターフェースで受信し、処理し、且つ第1データインターフェースを介して返すことができる。
【0022】
図1Bは、ネットワーク装置の別の例を示し、ここに開示した方法及びシステムに従ってネットワーク装置を組み込んだエッジベース(原語:edge−based)ファイアウォール実施形態200に関するデータフローを実例により説明する。この図では、加入者からインターネットサービスプロバイダ(ISP)A 202と、別の加入者からISP B 204とへのインターネット要求であるデータフローが、ディジタル加入者回線アクセスマルチプレクサ(DSLAM)206へ入力され、その後、ISP Aに関連したスーパーPOP内のフローを収集し且つルータ210へ転送する非同期転送モード(ATM)スイッチ208に転送される。ルータ210は、データフロー・トラフィックを、ISP加入者202及び204からのフローを識別し且つそれぞれのファイアウォール方針を適用するネットワークデバイス又は装置12に送る。図示した実施形態では、ISP A及びBは、ネットワーク装置12への加入者であり、それに従って、プロファイル及びアプリケーション/サービスをそうしたプロファイルに従って提供すると、これらプロファイルに適合した態様で、これらをネットワーク装置が分散及び処理する。図示した実施形態では、それぞれのファイアウォールに加えて、アプリケーションをそれぞれのデータフローに適用可能である。対応する処理がネットワーク装置12により実行された後、図示した実施形態では、ISP A加入者202からのデータフローは、そのデータにアプリケーションを適用してインターネット212に転送され、ISP B加入者204からのデータフローは、方針をそのデータに適用してISP B214に転送される。
【0023】
ネットワーク装置12は、データが加入者のものでなく従ってアプリケーション処理の対象とならないことも識別可能で、この場合は、こうしたデータは、通常の技能を備えた当業者に現在知られているスイッチに従って任意の宛先に繋ぐことができる。通常の技能を備えた当業者であれば、本開示は、インターネットと呼ばれるネットワーク内で接続される装置を説明しているが、このインターネット適用例は、例示目的であって限定する意図はないことも理解するはずである。この装置がインターネットなどの通信システムと共に使用される一実施形態では、この装置は、サーバネットワークのフロントエンドに接続するか、ネットワーク間を接続するルータ間に接続可能である。ただし、本開示の装置はそうした実施形態に限定されない。
【0024】
図2は、アプリケーションのホストとして機能し且つインターネットなどのネットワークの基幹施設内の全体にわたって接続可能なネットワーク装置12の別のブロック図10を示す。従って、この装置がホストとなるアプリケーション及び/又はサービスがネットワーク全体にわたって分散される。通常の技能を備えた当業者であれば、図2の例は開示の補助として意図されており、限定する意図はないことは理解するはずである。図2に示したように、図示した装置12は、2つのギガビットイーサネット接続を別々に維持することにより(図示した実施形態では)、ネットワークフローが装置12から出入りするのを促進する2つのネットワークプロセッサモジュール(NPM)14を含む。通常の技能を備えた当業者であれば、ギガビットイーサネット接続は高速データリンクの一例に過ぎず、本装置及び方法の範囲から逸脱することなく他のそうしたデータリンクで代替可能なことは理解するはずである。装置12が、加入者をインターネットコアに接続する幹線に直列で挿入されている一実施形態では、例えば、これらギガビットイーサネット接続は、加入者ネットワーク16及びインターネットコア18と随意にインターフェースをとることができる。通常の技能を備えた当業者であれば、別の実施形態では、単一のNPMを用いることができ、又、これら2つのギガビットイーサネット接続は、例えば2つの異なるネットワークに接続できることは理解するはずである。更に、通常の技能を備えた当業者であれば、図示したシステムに関しては、装置12は1つの双方向インターフェースを用いて、加入者ネットワーク16及びインターネットコア18に接続できることは理解するはずである。図2のNPM14は、イーサネット介しクロスコネクト20を通過して、アプリケーション及びサービスをデータフローに適用する少なくとも1つのフロープロセッサモジュール(FPM)22に接続し、又、データフロー要求を処理し且つNPM14及びFPM22から健全度及び維持情報を収集可能な少なくとも1つの制御プロセッサモジュール(CPM)24に接続する。
【0025】
図示したNPM14、FPM22、及びCPM24も、全てのモジュールと相互接続したスイッチングファブリックに接続しており、このスイッチングファブリックは、NPM14と、FPM22と、CPM24モジュールとの間でデータフローの内部パケット転送を実現する。CPM24は、この代表的実施形態では、二重冗長内部交換100メガバイト/第2イーサネット制御プレーンとすることが可能な100Base−Tイーサネット制御バス26によってFPM22及びNPM14に同様に別個に接続している。更に、図示したCPM24は、100Base−Tイーサネットによって管理サーバ(MS)モジュール28にも、ローカルメモリ素子30にも、更に、ギガビットイーサネット接続を介してデータセンタ32にも接続している。MSモジュール28は、データ収集、アプリケーションのローディング、FPM22からのアプリケーション削除を可能とする一方、ローカルメモリ素子30及びデータセンタ32は、アプリケーションまたはプロファイル情報に関連したデータを格納できる。図2に示したシステムでは、2つのNPM14、少なくとも2つのCPM24、及び10このFPM22がある。ただし、こうしたシステムは単に例示的なものであり、通常の技能を備えた当業者であれば、本開示のシステム及び方法の範囲から逸脱することなく、これより多く或いは少ない数の構成要素を用いることができることは理解するはずである。図2に示したシステムでは、2つのNPMは相補的又は冗長構成で動作可能であり、一方では、2つのCPMを冗長構成することも可能である。
【0026】
上述のように図示した原理に従ったアーキテクチャを用いれば、装置12は、インターネットのようなネットワークの通常の体系内に配置でき、この場合、装置12は、例えばサーバネットワークのフロントエンドに、或いは、それに代わって又はそれに追加して複数ネットワークを接続するルータ間にも配置できる。装置のモジュール用に構成されたファームウエア及び/又はソフトウェアを用いれば、装置12は、アプリケーションを加入者に提供するように構成でき、その場合、これらアプリケーションには、ウイルス検出、進入検出、ファイアウォール、コンテンツフィルタリング、プライバシー保護、方針に基づいたブラウジング等が含まれるが、これらは単に例に過ぎず、限定する意図はない。一実施形態では、NPM14は、データパケットすなわちフローを受信し、そうしたパケットを適切な宛先に転送する前に完全に処理可能である。この実施形態では、NPM14は、NPM14は、パケットを受信して、適切な宛先に転送できる。更にこの実施形態では、FPM22に常駐するアプリケーションが実行可能な処理を必要とするデータパケットを識別し、こうした場合は、NPM14は、どのFPM22が適切且つ最も効率的にそのデータを処理できるかを特定するためのフロースケジューリングを行うが、この際には、データパケットすなわちフローは、処理のため選択したFPM22に転送できる。一実施形態では、全てのFPM22が、全ての種類の処理要求又はデータパケットを処理できるわけではない。更に、データ要求を処理するためには、場合によっては、FPM22は、ローカルメモリ素子30又はリモートメモリ素子32から情報を要求でき、その際には、NPM14が、CPM24を介して格納データの取り出しを命令し、その後、その格納データをFPM22に転送できる。FPM22は、その後、処理済みデータをNPM14に転送し、NPM14が適切な宛先に転送する。図1及び3に示したような装置12のアーキテクチャを用いれば、アプリケーションサービスプロバイダは、サービスを、しばしば単一IPアドレスとして指定される単一位置でなく、インターネットのようなネットワーク全体にわたって統合し且つ利用可能とすることで、加入者により効率的にサービスを提供できる。
【0027】
図3Aは、図1の装置12を通るデータフローを概略的に示す。図3Aに示すように、NPM14は、加入者インターフェースとネットワークコアとの間のインターフェースとなりうる。図3AのNPM14は、データを第1インターフェース14aから受信して、データ要求によってはそのデータを処理し、且つ、第1インターフェース14a又は第2データインターフェース14bを用いて処理済みデータを送信する。或いは、NPM14は、受信データを、後にそのデータをNPM14に返すFPM22に転送可能であり、その後、NPM14は、第1インターフェース14a又は第2データインターフェース14bを使って送信又は転送できる。同様に、NPM14は、データを第2インターフェース14bから受信して、そのデータを処理し、且つ、第1インターフェース14a又は第2データインターフェース14bを用いて処理済みデータを送信できる。更に、第2データインターフェース14bを介してNPM14が受信したデータは、処理のためFPM22に転送可能で、その場合、FPM22はNPM14へ処理済みデータを返し、このデータは、第1インターフェース14a又は第2インターフェース14bを介して送信される。別の例では、NPM14が受信したデータは、複数のFPM22が処理可能で、その場合、データは、NPM14を介して複数のFPM22に転送し且つNPM14に返され、NPM14が宛先に転送する。
【0028】
2つのNPMが相補的に動作するよう構成されている実施形態では、第1NPMが受信したデータは、第1NPMにより処理され且つ第2NPMに転送され、更に、第2NPMが宛先に転送する。或いは、第1NPMが受信したデータは、第2NPMに転送且つ処理され、適切な宛先に転送してもよい。別のシナリオでは、2つのNPMの何れかで受信したデータは、何れかのFPM22に転送し、処理し、且つ、何れかのNPMに宛先に返した後に転送できる。通常の技能を備えた当業者であれば、装置10に入る、又はその内部における、或いはそこから出るデータの動き及び処理は、単に例示目的であり限定するものではなく、補足的な実施形態においては第1NPM及び第2NPMは、本開示の方法及びシステムの範囲から逸脱することなく、記載中で入れ替え可能なことは理解するはずである。
【0029】
図3Bは、本発明の分野で周知の記憶領域ネットワーク(SAN)に従って動作するよう構成された図2及び3Aのシステムを示す。図3Bの構成では、図3Aに示したようなNPM14とFPM22との統合はそのまま保持されているが、NPM14及びFPM22は、本発明の分野で周知のいずれの記憶装置(RAM、ROM、フレキシブルディスク、ZIPドライブ、RAIDシステム、ホログラフィック記憶装置などを含むがそれに限定されないし、これらの例は例示目的であって、限定する目的で記載したものではない)でもよい1つ又は複数の記憶装置23へのインターフェースを保持している。図3Bに示したように、データはNPM14で受信し、記憶装置23に直接転送できる。或いは、NPM14で受信したデータは、NPM14で受信したデータは、FPM22が記憶装置23に転送する前に、1つ又は複数のFPM22に転送可能であり、その場合、FPM22は、デ―タを記憶装置23に転送する前にデータに処理を実行できる。同様に、図3Bの構成では、データは、NPM14又はFPM22の何れかによって記憶装置23から取り出し可能である。図3Bの構成では、NPM14及びFPM22は、データ入力及び出力を可能とする外部インターフェースを保持する。
【0030】
図4は、二重冗長アーキテクチャを実現する図2のシステムの代替実施形態を示す。冗長アーキテクチャの図4の実施形態は、14台のラックシャーシに設けられた2つのNPM14a、14b、2つのCPM24a、24b、及び10このFPM22a−22nを備える。図4のシステムでは、8つのFPM22が、典型的な装置12の動作のために設けられていて、動作中の8つのFPM22のうち2つまでが故障した場合に備えて、2つのFPM22がバックアップとして設けられている。図4が示すように、冗長内部交換100メガバイト/秒(100Base−T)イーサネット制御プレーン170a、170bが、NPM14a、14b、CPM24a、24b、及びFPM22a−22nそれぞれの間を接続する。図示したシステムは、更に、二重ファブリックリンク172a、172bを含み、各FPM22a−22n及びCPM24a、24bは各ファブリックリンク172a、172bに接続する一方、第1NPM14aは第1ファブリックリンク172bに接続し、第2NPM14bは第2ファブリックリンク17bに接続して、各NPM14a、14bのそれぞれからの独立した動作を許容する。
【0031】
更に、図4に示したように、図4のNPM14a、14bは、ネットワークへの2つのギガビットイーサネット接続を備えており、これら接続のうち一方は、加入者ネットワークなどを含んだ加入者に接続可能で、他方はインターネットコアへの接続が可能である。代替例においては、図示したCPM24a、24bは、図2のデータセンタ32として示したリモート記憶装置と通信するための1つのギガビットイーサネット接続を備えている。
【0032】
図5は、図2及び図4による例示的NPM14のブロック図を示す。図2及び図4に示したように、装置すなわちスイッチ12は、1つ又は複数のNPM14を含むことができ、複数のNPM14を用いるときは、これらNPM14は、冗長又は相補的に動作するように構成すればよい。
【0033】
各NPM14は、ネットワークインターフェースサブシステム40として図5に示したモジュラー式でオプションのサブシステムを含む。このサブシステム40は、スイッチ12とネットワークとを物理的に接続して、スイッチ12とネットワークとの間のデータフローを可能とする。NPM14は、ネットワークインターフェースサブシステム40に接続したネットワークプロセッサ42も含む。ネットワークプロセッサ42は、例えば、IQ2000ネットワークプロセッサでよく、通常の技能を備えた当業者であれば、この例は例示目的であり限定的でないことは理解するはずであり、ここに記載した機能を実行する類似の装置であれば、これを代替可能である。更に、第2プロセッサを、本開示の方法及びシステムの範囲から逸脱することなく、NPMアーキテクチャ内に同時に配置できる。図示したIQ2000ネットワークプロセッサ42の場合は、ネットワークインターフェースシステム40は、FOCUSバスを用いてネットワークプロセッサ42のポートA及びBに接続でき、こうしたポートは、以降はFOCUSポートA及びBと称し、ネットワークプロセッサ42の残りの2つのFOCUSポートC及びDも使用可能である。
【0034】
ネットワークインターフェースサブシステム40は、NPMアーキテクチャの変更可能な構成要素でよく、これに代わる様々なオプションとしては、様々なプリント回路基板(PCB)構造又は差し込み可能なオプションボードがあるが、通常の技能を備えた当業者であれば、ネットワークインターフェースサブシステム40を実現するこうした方法は、単に例示的であって、これら方法及びシステムは、そうした技法に限定されないことは理解するはずである。
【0035】
例えば、図6A乃至6Fは、図5のNPM14の様々な例示的ネットワークインターフェースサブシステム40のオプションを示す。図6Aを参照すると、図5のネットワークプロセッサ42への2つのギガビットイーサネット接続50、52は、ネットワークプロセッサ42の2つの埋め込みギガビットイーサネット媒体アクセス制御装置(MAC)を介してサポートされている。ネットワークインターフェースサブシステム40の図6Aに示した実施形態では、ギガビットイーサネット動作に必要な唯一の外部装置には、ギガビットイーサネット物理層装置(PHY)54a、54b及び光インターフェース56a、56bが含まれる。図示した実施形態では、第1光インターフェース56aは、加入者のネットワーク機器に結合可能で、第2光インターフェース56bはインターネットコアに結合可能である。
【0036】
図6Bを参照すると、図5のNPM14の例示的な構成が示されており、FOCUSポートA及びBは、外部オクタル10/100MAC60a、60bを介して、8つまでの10/100イーサネットポートをサポート可能である。図6Bでは、2つの外部8ポート10/100MAC60a、60bが、FOCUSポート及び2つの外部8ポート10/100PHY装置62a、62bに結合している。これらPHY装置は、8つのRJ−45接続64a、64bにそれぞれ結合している。図6Bの構成では、8つのRJ−45ポート64aからなる一組を加入者ネットワーク専用とする一方、残りの8つのRJ−45ポート64bをインターネットコアに結合できる。一実施形態では、図6Bのアーキテクチャによれば、ソフトウェア又はファームウェアは、加入者のポートで受信したデータをインターネットポートで返すことができるように、これらポートを独立したデータストリームとして構成可能である。
【0037】
図6Cを参照すると、図5に示したNPM14のためのネットワークインターフェースサブシステム40の構成を示し、スイッチ12は、FOCUSポートA及びBに接続されたセル分割・組立装置(SAR)70a、70bと協力してATMセルを受信できる。OC−3cATM動作を示した図6Cの構成では、4つの光インターフェース72aが、加入者インターフェースとなる一方、4つの光インターフェース72bがインターネットコアインターフェースとなる。加入者及びインターネット光インターフェース72a、72bは、それぞれ、送信SAR70a(TX、スイッチ12へ)への入力を提供するか、又は、受信SAR70b(RX、スイッチ12から)の出力を受信する4ポートフレーマ76a、76bに結合している。図示した構成では、SAR70b、70bは、32ビットSRAM77及び64ビットSDRAM78を用いるが、こうした実施形態は単に例示目的である。図6Cに図示したシステムでは、SAR UTOPIAポートが、書替え可能ゲートアレイ(FPGA)79を介してFOCUSポートA及びBとインターフェースをとる。通常の技能を備えた当業者であれば、ここに示した他の図と同様に、図6Cのネットワークインターフェースサブシステムは例示目的にすぎず、本開示の方法及びシステムの範囲を限定する意図はないことは理解するはずである。従って、構成要素は同一機能を果たすために交換できる。例えば、送受信能力を備えた単一SARを、図6Cの例に示した2つのSAR70a、70bの代わりに使用してもよい。
【0038】
図6Dを参照すると、図4に示したNPM14のためのネットワークインターフェースサブシステム40の構成を示し、ここでは、OC−12cATMの動作を利用可能としてもよい。図示したシステムでは、1つのOC−12c光インターフェース80aが加入者のネットワーク機器に結合可能で、第2光インターフェース80bはインターネットコアに結合可能である。図6Cとは対照的に、図5Dは、後に、TX及びRX SAR84a、84b、FPGA86、及びネットワークプロセッサ42のそれぞれのFOCUSポートとインターフェースをとる2ポートフレーマ82のみを示す。
【0039】
図6Eを参照すると、図5のネットワークインターフェースサブシステム40のためのOC−3c SONET利用パケット送信(POS)構成を示す。図6Eに示した構成では、4つの光インターフェース90aが加入者のネットワーク機器に結合でき、一方、第2光インターフェース90bはインターネットコアに結合専用にできる。光インターフェース90a、90bは、FPGA94を介してFOCUSポートA及びBとそれぞれインターフェースをとる4ポートフレーマ92a、92bにそれぞれ結合する。通常の技能を備えた当業者であれば、PPP(ポイントツーポイントプロトコル)でカプセル化したパケットは、SONETペイロードエンベロープ(SPE)内に挿入されるため、全てのPOSリンクは連結されており、従って、図6Eで用いるFPGA94は、図6DのFPGA86と類似のものでよいことは理解するはずである。
【0040】
図6Fを参照すると、2ポートOC−12c POS応用例のための図5のネットワークインターフェースサブシステム40の構成を示す。図示したシステムでは、1つの光インターフェース100aが加入者のネットワーク機器に結合可能で、別の100bがインターネットコアに結合可能である。図6Fの光インターフェース100a、100bは、2ポートフレーマ102とインターフェースをとってFOCUSポートA及びBと接続する。
【0041】
図5を再び参照すると、図示したネットワークプロセッサ42は、QED RM700A 400MHzMIPSプロセッサなどのMIPSプロセッサ112と、ガリレオGT64120Aシステムコントローラ/PCブリッジなどのシステムコントローラ/PCブリッジ114と、ローカルSDRAM116と、プログラマブルロジック装置(PLD)118とを含んだCPUサブシステム110にも接続している。図示したシステムでは、PLD118が、ボード固有制御レジスタ及び種々雑多な装置へのアクセスを可能とする。図示したように、PLD118は、ローカルSDRAM116と共にGT64120A 114に隣接してローカル高速バスに接続され、更に、PLD118は、ローカル高速バス120と、設定及びパラメータを半永久的に格納し且つ日時を示す実時間クロックとなるブートPROMフラッシュ124及び不揮発性RAM(NVRAM)126を備えた低速周辺バスと、の間のバッファとして機能する。PCIブリッジに接続されている図5のPCIバス127も、統合PHYを含んだインテルGD82559ER 100ビットMACなどの2つのファストイーサネットMAC128a、128bを含み、1次及び2次100Base−Tイーサネットチャンネルを介してNPM14とCPM24との間の冗長接続を提供する。図示したMAC128a、128bはPCIバス上に位置しており、PCI内部バッファとローカルMIPSメモリ112内で定義済みバッファ記述子との間で直接メモリアクセス(DMA)転送を実行する。MAC128a、128bがサポートするバーストサイズは上限がなく、PCIブリッジの性能により制限される。一実施形態では、フロー制御を制御プレーンに適用して、不要なパケット損失を避けることができる。図示したGT64120A 114は、CPU112及びその他のローカルバスマスタに、PCIメモリ及び/又はデバイスバスへのアクセスを許容する。
【0042】
更に、図5のNPM14は、NPM14とスイッチ内の他のモジュールとの間に高速の無閉塞データ接続を提供するスイッチファブリックサブシステム130を含む。これら接続は、別の冗長又は相補的NPM14への2つのリンク及び各CPM24へのリンクを含む。スイッチファブリックの図示したNPM14部分は、2つのフォーカスコネクト装置132a、132bを含み、一方のフォーカスコネクト装置132aは、FOCUSバスを用いてIQ2000 42ポートCに接続し、別のフォーカスコネクト装置132bはポートDに接続している。
【0043】
図示したシステムでは、フォーカスコネクト装置132a及び132b上の16ビットフォーカスバスは、ローカルポート8を除いて、二重冗長I/O機能を備え且つ二重チャンネル結合モード用に構成されている直列・並列(並直列変換回路)装置136であるサイプレス・クワッド・ホットリンク・ギガビット・トランシーバ134に取り付けられている。この二重チャンネル結合モードは、2チャンネルを単一の16ビットチャンネルに結合するもので、装置ごとに2つのそうした16ビットチャンネルを設けることができる。図7を参照すると、この二重冗長直列I/O機能は、1つのNPM14しか存在しない場合にパケット又はデータ経路ベクトルの修正が必要ないように、バックプレーン上のクロスオーバと協力して、任意のスロットを他の任意のスロットと結合可能とする。図5の並直列変換回路136は、バックプレーンから入る直列ストリームデータを、フォーカスコネクト装置132a、132bに転送するために並列データに変換する。同様に、並直列変換回路136は、フォーカスコネクト装置132a、132bからの並列データを、バックプレーンに送る前に直列データに変換する。
【0044】
例えば、図4に示したシステムを用いれば、フォーカスコネクト装置132a、132bはIQ2000 FOCUS C及びDポートに接続され、更に、フォーカスコネクト装置132a、132bは、それぞれ8つのポートを備え、14スロットシャーシと、及びFPM22a−22n用の10スロットと、NPM14a、14b用の2スロットと、CPM24a、24b用の2スロットとが設けられた図示したシステムでは、フォーカスコネクト装置は、テーブル1及び2に示したように構成可能である。
【表1】
【表2】
【0045】
表1及び2に示したように、図4のNPM14を図1及び3に示したような冗長システムで用いることで、二重NPM14a、14bは、全てのFPM22a−22n及び各CPM24a、24bにアクセスでき、逆も又同じである。
【0046】
図5のNPM14の4番目の主要なサブシステムは、メモリサブシステム140である。図5のメモリサブシステムは、パケットバッファ格納及びフロールックアップテーブル空間用の単一のRAMバスチャンネルである。図示した実施形態では、メモリサブシステム140は、検索プロセッサ142及び幾つかのコンテンツアドレス指定可能メモリ144を備えるが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、メモリサブシステム140又はその構成要素に限定されないことは理解するはずである。
【0047】
図5を再度参照すると、NPM14が受信したデータは、パケット又はデータフローを識別するための命令を含むことができるIQ2000 42に転送可能である。例えば、CPU又はプロセッサ命令は、ハッシュテーブルを実行し或いは用いて、識別されたパケット又はフロー用のサービス又は処理を識別可能であって、このパケット又はフローは、その後、例えば上述のサービス又は処理に従ってFPM22に転送できる。或いは、識別されていないパケットは、そのパケット又はフロー及び関連づけられた処理又はサービスを識別するための命令を含むことが可能なMIPS112に転送できる。一実施形態では、MIPS112が識別できないパケットは、MIPS112が、パケット又はフローを識別するための命令を含みうるCPM24に転送できる。CPM24又はMIPS112からの識別情報は、IQ2000 42に返すことができ、ハッシュテーブルをこの識別情報に従って更新できる。
【0048】
図8を参照すると、図1乃至3に示したシステム用のFPM22の基本ブロック図を示す。図8の実施形態では、FPM22は、インテル社の440BX AGPsetに基づいており、このFPMの機能の大半は、パーソナルコンピュータ(PC)に類似したものである。従って、図示したFPM22は、プロセッサすなわちCPU120と、440BX AGPset122と、FOCUSインターフェースと、周辺機器とを含む4つの主要部分を具備すると考えることができる。図2及び4に図示したシステムでは、複数のFPM22は同一設計されているが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは異なるFPM設計を含みうることは理解するはずである。
【0049】
図8を参照すると、図示したFPM22の実施形態は、100メガヘルツのプロセッサシステムバス(PSB)を備えた単一ソケット370インテルペンティアムIII(商標名、この明細書において同じ)CPU150をサポートするが、こうしたプロセッサは、単に例示目的であって限定するものではなく、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、ここに選択したCPU又はプロセッサ構成要素に限定されないことは理解するはずである。同様に、通常の技能を備えた当業者であれば、複数のプロセッサ150を、本開示の方法及びシステムから逸脱することなく、このFPMアーキテクチャに組み込み可能であることは理解するはずである。この代表的なFPM22は、CPU150にホスト/プロセッササポートを実現する440BXアクセラレイティッド・グラフィックスポート(AGPset)152も含む。
【0050】
図示したシステムのFPM22から出入りするデータパケットは、FOCUSバスと呼ばれる16ビット幅100メガヘルツバスを用い、更に、図示した実施形態では、全二重FOCUSバスが、各NPM14から全てのFPM22に接続されており、二重冗長NPM14a、14bの図示した実施形態では、全てのFPM22は、2つのNPM14a、14bと通信する。上述のように、FOCUSバス信号は、バックプレーンに送る前に、NPM14a、14bで直列化して、信号の保全性を向上し且つトレース数を少なくする。図示したように、FPM22上の直並列変換器154a、154bは、バックプレーンからバスへの信号を変換し、バスが、直並列変換器154a、154bを、FPGA158及び出入力プロセッサ160を介して440BX AGPset152とインターフェースをとるフォーカスコネクト156に接続する。図示したPRCは、FPM22が正しいNPM14にパケットを送信可能とする、8方向FOCUSスイッチである。
【0051】
更に、図8のFPM22は、制御プレーンインターフェース、大容量記憶装置、及び直列インターフェースを含んだ周辺機器の動作も維持する。図示したFPM22では、制御プレーンは、AGP152を冗長制御プレーンにインターフェースする2つのファストイーサネット(商標名;以下同じ)コントローラ130a、130bを介して、FPM22と通信するための専用経路となる。図2及び4に示したように、制御プレーンを介してFPM22と通信するのは、典型的にはCPM24a、24bである。図示した実施形態では、ファストイーサネットコントローラ130a、130bは、2つのCPM24が終端となる交換100メガビット/第2イーサネットネットワークである制御プレーンに接続する。
【0052】
図示したFPM22は、例えば、Mシステムズ社のDiskOnChip(DOC)、2.5インチディスクドライブ、設定及びパラメータなどを半永久的に格納するNVRAMを含んだ種々の大容量記憶装置もサポートする。
【0053】
図9を参照すると、図2及び4のシステムで用いられるような例示的CPM24を図示する。上述のように、CPM24は、一般的なスイッチ幅機能を実行し、且つ、図示した実施形態では、FPM22の図7のデータインターフェースと同一であるデータインターフェースを介して他のスイッチ構成要素と接続している。通常の技能を備えた当業者であれば、FPM22とCPM24とに共通のこのデータインターフェースは、単に便宜的に共通としたに過ぎず、本開示の方法及びシステムの範囲を限定しないことは理解するはずである。
【0054】
上述のように、図示した実施形態では、制御プレーンはCPM24が終端であり、図示した制御プレーンは、二重冗長且つ私用の交換100メガビットイーサネットである。このスイッチング要素は、CPM24上に収納されており、従って、他のモジュールとCPM24との間の全てのポイントツーポイント接続は、バックプレーンコネクタを介して維持される。
【0055】
更に、CPM24は、スイッチ12のブートプロセスを制御し、且つ、スイッチ12の動作時には、スイッチ12からのモジュールの取り外し及び挿入を管理する。
【0056】
図9に示したCPM24では、主CPU170はペンティアムIIIプロセッサであるが、本開示の方法及びシステムはそれに限定されるものでなく、上述の機能を実行可能な任意のプロセッサ又はCPU、或いは装置を、本開示の方法及びシステムの範囲から逸脱することなく代替使用可能であり、複数のプロセッサ又はCPUを付加的に用いてもよい。図示したCPM24では、440BXアクセラレイティッド・グラフィックスポート(AGPset)172が、CPU170によるホスト/プロセッササポートを実現する。図9のAGP172は、種々雑多なハードウェア機器に接続するPCIインターフェースをサポートする。
【0057】
3つのファストイーサネットコントローラ174a、174b、174cも、440BX172のPCIバス上に位置している。これら3つのファストイーサネットコントローラのうち1つ174aは、外部通信を提供し、且つ他方のCPM24のファストイーサネットと多重通信を行う。残った2つのファストイーサネットコントローラ174b、174cは、NPM14及びFPM22への専用通信路となる。図9に示したシステムでは、ファストイーサネットコントローラは、インテル社の82559ERであり、これは、MACとPHYを単一の構成要素に統合した完全統合型10BASE−T/100BASE−TX LANソリューションであるが、こうした実施形態は例示目的で記載されているに過ぎない。図示したシステムでは、ファストイーサネットコントローラ174b、174cは、最大で10のFPM22及び2つのNPM14の制御プレーンへの14の専用通信路を提供するイーサネットスイッチ176とインターフェースをとる。
【0058】
データパケットは、16ビット幅100MHzFOCUSバスを用いて、図示したCPM24から出入りする。図示したシステムでは、各CPM24を各NPM14に結合する1つの全二重FOCUSバスが設けられており、二重冗長NPM14a、14bを備えた図2及び4に示したシステムでは、各CPM24を各NPM14a、14bに結合する。並直列変換回路装置178a,178bは、バックプレーンから入る直列ストリームデータを、フォーカスコネクト装置180に転送するために並列データに変換する。同様に、並直列変換回路178a、178bは、フォーカスコネクト装置180からの並列データを、バックプレーンに送る前に直列データに変換する。図示したフォーカスコネクト180は、CPM24がパケットを正しいNPM14に送るために用いるスイッチである。図9のシステムでは、パケットは、フォーカスコネクト180をAGP172にインターフェースするFPGA84及び出入力プロセッサ186を介してCPUメモリ182から出入りする。
【0059】
図2及び4のシステムを再び参照すると、CPM24は、NPM及びFPMを始めとするスイッチの異なる構成要素を連係し、且つ、ローカルメモリ素子とも呼ぶことができるローカル記憶装置30へのアクセスも同様にサポートする。一実施形態では、ローカル記憶装置30は、アプリケーションをFPM22で実行するための画像、構成ファイル、データベースを格納できる。例えば、ローカル記憶装置30は、NPM14又はFPM22による使用のために取り出し可能な加入者プロファイルを格納してもよい。一実施形態では、特定のアプリケーション又は加入者用の構成ファイルは、取り出して複数のFPM22にコピーでき、従って、例えば、複数の同一構成されたFPM22が望ましいようなシナリオでは効率を向上できる。こうした実施形態では、FPM22は、加入者ごとにグループ分けしてもよい。ローカル記憶装置30は、フレキシブルディスク、コンパクトディスク(CD)、ディジタルビデオディスク(DVD)などを含むがそれに限定されない、CPM24から取り外し可能又はCPMに取り付けられた周知のメモリ構成要素ならどんなのものでもよい。図示したシステムでは、1つのCPM24当たり少なくとも1つのローカル記憶装置が設けられている。同様に、図示したシステムでは、ローカル記憶装置30は、複数のパーティションに分割して、様々なFPM22上のプロセッサを含む特定プロセッサが必要とするものに対応し且つ保護してもよい。一実施形態では、ローカル記憶装置30は、動的ソフトウェアアップグレードを可能とする2つの同一ディスクパーティションを含むことができる。一実施形態では、2つのディスクパーティションは、スワップパーティション、全プロセッサが利用する共通パーティション、及び異なるモジュールプロセッサ(NPM、FPM、CPM)用の特定パーティションを含んだ同一パーティションのグループを備えることができる。
【0060】
図示したCPM24は、リモート記憶装置32にもアクセス可能で、こうしたリモート記憶装置は、ローカル記憶装置30には効率的に格納できないことがあるサービス、データベースなどを格納できる。リモート記憶装置32は、用途によって物理的又は論理的に分割可能なメモリ構成要素の組合せでもよいが、通常の技能を備えた当業者であれば、本開示の方法及びシステムは、リモート記憶装置32を提供するために用いた実際のメモリ構成要素には限定されないことは理解するはずである。
【0061】
更に、図2のCPM24は、少なくとも1つの管理サーバ(MS)モジュール28にも結合する。図示したシステムでは、この接続は100Base−Tイーサネット接続である。図2のシステムでは、MS28は、スイッチモジュール14、22、24から健全度及び状態情報を受信且つ収集できるが、その際、これら健全度及び状態情報は、CPM24を介してMS28に提供できる。NPM14、FPM22、及びCPM24が冗長構成されている実施形態では、例えば、MS28が、装置12の特定のモジュールを起動し又はその動作を停止できる。図示した実施形態では、MS28は、CPM24を介して装置12のモジュールと通信する。一実施形態では、MS28は、PC、サンワークステーション、又は、装置12のモジュールを監視及び制御するためのマイクロプロセッサが実行可能な命令を備えた同様に動作するマイクロプロセッサ制御装置でよい。一実施形態では、MS28は、装置12の監視及び制御情報を表示するグラフィカルユーザーインターフェース(GUI)を提供する実行可能命令を含むことができる。一実施形態では、MS28はCPM24とは別個の装置でもよく、別の実施形態では、MS28の機能は、例えば、その機能実現のためCPM24上の別のプロセッサを使用することでCPM24に組み込み可能である。
【0062】
一実施形態では、周知のリナックスオペレーティングシステムをFPM22及びCPM24プロセッサ上にインストールして、例えば、FPM22に常駐するアプリケーションのインストール及び修正が可能なオープンアーキテクチャを提供できる。図示したシステムでは、スイッチモジュール上のアプリケーションの管理及び制御は、MS28を用いて実行できる。図示した実施形態では、MS28の管理にはCPM24を用いる。図示した実施形態におけるファイアウォールなどのアプリケーションは、MS28を用いてダウンロードし、修正し、且つ、FPM22の間で転送できる。
【0063】
一実施形態では、NPM14は、周知のVxWorksオペレーティングシステムをMIPSプロセッサ上で、小型の実行可能プログラムをIQ2000プロセッサ42上で実行できる。通常の技能を備えた当業者であれば、本開示の方法及びシステムは、様々なスイッチモジュール上では上述のオペレーティングシステムの選択肢に限定されるものでなく、更に、本開示の方法及びシステムの範囲内から逸脱しなければ、オープンアーキテクチャを実現する任意のオペレーティングシステムを代わりに用いてもよい。
【0064】
図10を参照すると、図2乃至4に示したシステム及び方法に関するフロースケジューリング手順200の例示的ブロック図を示す。図10に示したように、図示したシステムに関しては、FPM22は、リソ―ス情報202をCPM24に提供できる。リソース情報の説明又は定義は、システム構成に左右されることがあり、又、システム構成により定義可能である。更に、こうした説明又は定義には、所定の又はそれ以外の方法で設定したフロースケジューリング基準に従って、NPM14とFPM22間のフロー分散の助けとなるあらゆる情報が含まれる。FPM22利用率を最適化するためにフローをFPM22に送るのが望ましい実施形態では、例えば、リソース情報には、FPM CPU利用率、FPMメモリ利用率、FPMパケット損失、及び、FPM待ち行列長さ又はバッファ占有率などの内因的データが含まれるが、通常の技能を備えた当業者であれば、こうしたメトリック又はリソース情報の記載は例示目的であって、限定する意図はなく、他のリソース情報も、本開示の方法及びシステムの範囲から逸脱することなくFPM22からCPM24へ提供可能なことは理解するはずである。同様に、上述の例示的リソース情報のいずれかを、本開示の方法及びシステムの何れかの実施形態で用いる必要もない。
【0065】
図示した実施形態では、複数のFPM22は、1つのFPMグループに属すると理解でき、その場合、FPMグループには、同一に構成された複数のFPM22が含まれ、従って、任意のFPM22は単一グループに割り当てられる。別の実施形態では、例えば、複数グループが、特定のアプリケーションを処理可能な複数のFPMを含んでいれば、任意のFPM22は様々なグループに割り当て可能である。10このFPM22が設けられ、それぞれ1から10までの参照番号を付けることが可能で、更に、FPM1、4、5、8、及び9が同一に構成され、FPM2及び3が同一に構成され、FPM6、7、及び10が同一に構成されているような実施形態では、3つのFPMグループを定義可能である。図示した実施形態によるシステム及び方法に関しては、これらFPMグループからのリソース情報は、CPM24からの問合せ要求に応答してCPMに提供可能である(202)。或いは、例えば、リソース情報は、FPM22がリソース情報をCPM24に送信するよう構成された予定間隔で、CPM24に自動的に提供してもよい。一実施形態では、任意グループに属するFPM22は、特定時間にCPM24にリソース情報を転送できるが、他の実施形態では、個々のFPM22からCPM24へのリソース情報転送はグループに関連又は依存していなくてもよい。一実施形態では、FPM22からCPM24へのリソース情報転送は、全てのFPM22が同時に行ってもよい。
【0066】
図示したシステムでは、例えば、FPM22は、1/10秒の間隔でCPM24へリソース情報を転送できるが、通常の技能を備えた当業者であれば、こうしたタイミングは単に例示目的で記載されているに過ぎず、本開示の方法及びシステムは、FPM22からCPM24へのリソース情報転送する上述のタイミング又はスケジューリングに限定されないことは理解するはずである。図示したCPM24は、FPM22のリソ―ス情報を、FPM22に従って、次にFPMグループに従って構文解析する役割を担う(204)。例えば、上述の3つのFPMからなるグループの例に関しては、リソース情報の送信元のFPM22を識別し、且つ、そのFPM22が属するグループを識別できるようにCPM24を構成できる。通常の技能を備えた当業者であれば、データメッセージソース又は転送を識別するには様々な方法(例えば、メッセージヘッダに識別子を含めるもの、CRCなど)が存在し、本開示の方法及びシステムは、リソース情報をFPM22に関連付ける技法又は方法に限定されないことは理解するはずである。
【0067】
図示したCPM24は、FPMグループに従ってFPM22からの情報を整理し、こうした情報を用いてFPMグループのフロースケジューリングベクトルを計算できる(204)。FPM22は、リソース情報を任意の時間間隔でCPM24に提供できるが、CPMのフロースケジュール計算は、こうした情報受信と一致している必要はない。一実施形態では、CPM24は、FPM情報が受信されるごとにフロースケジュールベクトルを更新できる。しかし、他の実施形態では、CPM24は、フロースケジュールベクトルを更新する前に、任意のFPM22又はFPMグループからの複数の更新を平均化してもよい。例えば、CPM24は、指定した時間間隔又は指定したFPM更新間隔などで、任意のグループに関する新たなフロースケジュールベクトルを計算するよう構成できるが、本開示の方法及びシステムは、上述のCPMフロースケジュールベクトル計算のタイミングに限定されない。
【0068】
一実施形態では、CPMによるフロースケジュールベクトル計算の間隔は、任意のFPMグループ内に常駐するアプリケーションの関数としてもよい。例えば、仮にあるFPMグループ構成には、完了に一定の時間を要するアプリケーションが含まれることがCPMに分かっていれば、フロースケジュールベクトル計算をこの情報に基づいて実行できる。FPMグループのフロースケジュールベクトル計算がアプリケーションに依存するシステムでは、異なるFPMグループのFPMグループフロースケジュールベクトルは、他のFPMグループとは別個に計算できる。
【0069】
一実施形態では、フロースケジュールベクトルは、FPMからの履歴内因的データに基づいて計算できる。一実施形態では、この履歴情報は、フィルタを使ってフロースケジュールベクトルに組み込むことができる。
【0070】
任意のFPMグループの計算済みフロースケジュールベクトルの長さは様々である。例えば、5番、6番、及び7番からなる3つのFPM22を備えたFPMグループを考慮してみる。任意の時間において、CPM24は、5番及び7番のFPMへの負荷が最大となっているが、6番のFPMはそうなっていないことを特定できる。FPMグループのベクトルを、例えば、6番のFPMを識別する1つの値とすることができ、例えば、5番及び7番のFPMの負荷低下を示すまでは、このベクトルは一定でよい。40パーセントのフローが5番のFPMにより処理され、40パーセントのフローが6番のFPMにより処理され、20パーセントが7番のFPMにより処理する予定の上述のFPMグループの別の例では、フロースケジュールベクトルは、[FPM5番;FPM6番;FPM5番;FPM6番;FPM7番]というベクトル表記で表すことができる5つの値でよい。
【0071】
図10を再び参照すると、CPM24が、任意のFPMグループのフロースケジュールベクトルを計算した後、CPMは、フロースケジュールベクトルをNPM14に転送(206)できる。
CPM構成によっては、CPM24からNPM14への更新済みフロースケジュールベクトルの転送は、CPMのフロースケジュールベクトル計算とは同じ割合でなくてもよい。幾つかの実施形態では、CPM24からNPM14へのフロースケジュールベクトルの転送を、FPMグループによっては異なることがある固定間隔で構成してもよい。他の実施形態では、全てのFPMグループの更新済みフロースケジュールベクトルを、同時にNPM14に転送できる。別の実施形態では、CPM24からNPM14への新たなフロースケジュールベクトルは、所定の基準に基づいてのみ転送できる、例えば、この基準では、既存のフロースケジュールベクトルと、新たに計算したフロースケジュールベクトルとの間に指定した差が存在することを要件としてもよい。通常の技能を備えた当業者であれば、本開示の方法及びシステムは、CPM24とNPM14との間の上述のフロースケジュールベクトル転送の頻度又はスケジューリングによって限定されないことは理解するはずである。
【0072】
上述のように、NPM14は、加入者及び/又はネットワークなどとインターフェースをとり、フローを受信し、そのフローが要求するアプリケーションを識別し、且つ、どのFPM22がそのフロー/要求を処理できるかも識別する。図10のフロースケジューリング方法を用いるシステムでは、受信されたフローがどのアプリケーションを要求しているかをNPM14が識別すると、NPM14は、そのフローを処理するFPMグループを決定できる。一実施形態では、NPM14は、例えばハッシュテーブルを用いて、アプリケーション又はサービスに対する要求を、特定のFPMグループ及び/又はフロースケジュールベクトルに関連付け可能だが、通常の技能を備えた当業者であれば、フロー又は要求をプロセッサグループに関連付ける多くの異なる技法が存在し、本開示の方法及びシステムは、いずれの特定の技法にも限定されないことは理解するはずである。NPMは、識別したFPMグループのフロースケジュールベクトルを用いて、識別したFPMグループ内のどのFPM22が、処理のためにそのフロー/要求を受信すべきかも決定できる。フロースケジューリングベクトルが用いられる図示したシステム及び方法では、NPM14を構成して、それぞれのフロースケジュールベクトルに順番に列挙されたFPMからFPM22に、フローを順次割り当てることで、フロースケジュールベクトルに従ってフローをFPM22に送ることができる。同時に、ベクターの終点に達した時点で、ベクターの開始点に戻ることができる。通常の技能を備えた当業者であれば、フロースケジュールベクトルは、FPM、FPMの識別子などへのポインタを含むことができ、更に、これら方法及びシステムは、特定FPMがベクトルにより識別される上述の技法には限定されないことは理解するはずである。
【0073】
通常の技能を備えた当業者であれば、図10のフローチャート及び関連した説明は、単に例として意図されており、限定する意図はないことは理解するはずである。例えば、このフローチャートの説明は、FPM22からCPM24へのリソース情報転送から始まっているが、通常の技能を備えた当業者であれば、こうした処理が、図10の処理の最初のステップである必要はないことは理解するはずである。一実施形態では、初期フロースケジュールベクトルは、CPM24がNPM14へ提供してもよいし、別の方法としては、異なるFPMグループの初期フロースケジュールベクトルを、NPM14に与えるように構成してもよい。従って、図10に示した処理は、図示したように、処理の「開始」又は「終了」に関する詳細な設定なしで、範囲を限定した方法或いは限定しない方法で繰り返すことができる。
【0074】
従来技術に対する本開示の方法及びシステムの1つの利点は、複数プロセッサを備えた単一のアーキテクチャが開示され、プロセッサからの内因的データを用いて、フロー又はデータ要求を、複数プロセッサ間に分散するための正確なフロースケジューリングベクトルが生成できることである。
【0075】
これまで記載してきたことは、複数プロセッサ間にフローを分散するための方法及びシステムである。このフローは、そのフロー及び関連付けられた要求を識別し、且つそのフロー/要求を処理する少なくとも1つの内部アプリケーションプロセッサを識別するフロントエンドプロセッサにより、ネットワークなどの外部ソースから受信可能である。このフロントエンドプロセッサは、識別したアプリケーションプロセッサに関連付けられたフロースケジューリングベクトルを利用する。そして、このフロースケジューリングベクトルは、アプリケーションプロセッサからの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率などの内因的データに基づくことができる。幾つかの実施形態では、これらアプリケーションプロセッサは、1つのグループに属するものと考えることができ、1つのグループ内のアプリケーションプロセッサは同一に構成できる。フロースケジュールベクトルは、異なるアプリケーションプロセッサグループに関して計算できる。幾つかの実施形態では、制御プロセッサは、内因的アプリケーションプロセッサデータを収集し、フロースケジューリングベクトルを計算し、且つ、そのフロースケジューリングベクトルをフロントエンドプロセッサに転送できる。
【0076】
本開示の方法及びシステムは、特定の実施形態に関連して説明してきたが、それに限定されない。言うまでもなく、上述の教示を参考にすれば、これらの方法及びシステムには多くの修正及び変更が可能なことが明らかとなることもあろう。例えば、図示したシステムは、モジュールを様々な構成要素に分割しているが、構成要素の機能は、これら方法及びシステムに影響を与えることなく、適切な場合には単一モジュールに結合できる。これらの方法及びシステムは、FPMからCPMへリソース情報を転送し、その後、フロースケジューリングベクトルを計算して、更にNPMへ更に転送することを開示しているが、リソース情報はNPMに転送して、NPMにおいてフロースケジューリングベクトルを計算してもよい。同様に、他のプロセッサを用いて、内因的リソース情報を処理し、且つフロースケジューリングベクトルを計算してもよい。本開示では「フロースケジュールベクトル」という用語が用いられているが、この用語は、任意の種類のスケジュール形式を示していると理解可能であり、更に、スケジュールが、ベクトル、待ち行列、アレーなどの形式である必要はなく、他の形式のスケジューリング又は順序情報を含んだ他の形式であっても、本開示の方法及びシステムの範囲から逸脱することなく利用可能である。
【0077】
本開示の方法及びシステムの本質を説明するために本明細書に記載及び例示した部材の詳細、素材、ステップ、及び配列には、本開示の方法及びシステムの原理及び範囲を変更することなく、多くの付加的変更を行うことができる。従って、本開示の方法及びシステムは、本明細書に記載された実施形態に限定されるものではなく、具体的に記載されたものとは異なる様態で実行可能であって、次の請求項から理解されるべきであり、法律によって許された最大の範囲で解釈されるべきでことは、理解できるはずである。
【図面の簡単な説明】
【図1】
(A) 本明細書に開示されたネットワーク装置の4つの例示的動作モードを示す。
(B) 本明細書に開示されたシステム及び方法のエッジベースファイアウォール実施形態の図を示す。
【図2】
本明細書に開示された方法及びシステムに従った装置のブロック図である。
【図3】
(A) 図2の装置を介した基本的データフローのブロック図である。
(B) 図2の装置の記憶領域ネットワーク実施形態のブロック図である。
【図4】
図2に従ったシステムの冗長アーキテクチャのブロック図である。
【図5】
図2及び図4のシステムのネットワークプロセッサモジュール(NPM)の略図である。
【図6】
(A)乃至(F) 図5のNPMのネットワークインターフェースの実施形態を詳細に示す。
【図7】
図5に示したNPM内のバックプレーン上のクロスオーバを示す。
【図8】
図2及び4の実施形態のフロープロセッサモジュール(FPM)のアーキテクチャを示すブロック図である。
【図9】
図2及び4に示した代表的システムに従った例示的制御プロセッサモジュール(CPM)のブロック図である。
【図10】
図2乃至4の方法及びシステムのフロースケジューリングに関する論理の流れを表すブロック図である。
Claims (82)
- プロセッサ間にデータフローをスケジューリングするための方法であって、
処理要求を受信する段階と、
前記要求を処理するための、少なくとも1つのプロセッサを含んだプロセッサグループを識別する段階と、
前記識別したプロセッサグループに関連付けられたフロースケジュールを調べる段階と、
前記要求を、前記識別したプロセッサグループ内の少なくとも1つのプロセッサに、前記関連付けられたフロースケジュールに基づいて転送する段階とを包含した、プロセッサ間にデータフローをスケジューリングするための方法。 - 処理要求を受信する前記段階が、ネットワークからデータフローを受信する段階を含んだ、請求項1に記載の方法。
- フロースケジュールを調べる前記段階が、フロースケジュールベクトルを調べる段階を包含した、請求項1に記載の方法。
- 前記要求を転送する前記段階が、前記調べたフロースケジュール内のプロセッサ間を順次移動することに基づいて、前記要求を転送する段階を含んだ、請求項1に記載の方法。
- プロセッサ間を順次移動する前記段階が、前記調べたフロースケジュールの終点に達した時点で、前記調べたフロースケジュールの開始点に戻る段階を含んだ、請求項4に記載の方法。
- 前記識別したプロセッサグループからの内因的データに基づいてフロースケジュールを計算する段階を更に包含した、請求項1に記載の方法。
- 内因的データに基づいてフロースケジュールを計算する前記段階が、前記識別したプロセッサグループ内の前記プロセッサの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率のうち少なくとも1つに基づいて、フロースケジュールを計算する段階を含んだ、請求項6に記載の方法。
- フロースケジュールを計算する前記段階が、前記識別したプロセッサグループ内のプロセッサから前記内因的データを受信する段階を更に包含した、請求項6に記載の方法。
- プロセッサからデータを受信する前記段階が、所定の間隔でデータを受信する段階を更に含んだ、請求項8に記載の方法。
- フロースケジュールを計算する前記段階が、前記内因的データにフィルタにかける段階を更に包含した、請求項6に記載の方法。
- 少なくとも1つのプロセッサを具備した複数のプロセッサグループを提供する段階を更に包含し、更に、1つのプロセッサグループ内のプロセッサが、少なくとも1つの類似したアプリケーションを含んだ、請求項1に記載の方法。
- 少なくとも1つのプロセッサを具備した複数のプロセッサグループを提供する段階を更に包含し、更に、1つのプロセッサグループ内のプロセッサが同一に構成されている、請求項1に記載の方法。
- 前記プロセッサグループのフロースケジュールを計算する段階を更に包含した、請求項12に記載の方法。
- 複数のプロセッサグループを提供する段階を更に包含し、異なるプロセッサグループ内のプロセッサが少なくとも1つの異なるアプリケーションを含んだ、請求項1に記載の方法。
- フロースケジュールを調べる前記段階が、初期フロースケジュールを提供する段階を更に含んだ、請求項1に記載の方法。
- プロセッサグループを識別する前記段階が、前記要求に関連付けられたアプリケーションを識別する段階を含んだ、請求項1に記載の方法。
- プロセッサグループを識別する前記段階が、ハッシュテーブルを調べる段階を含んだ、請求項1に記載の方法。
- ネットワーク上のデータフローを処理する装置であって、
少なくとも1つのプロセッサを備えた少なくとも1つのフロープロセッサモジュールと、
少なくとも1つのネットワークプロセッサモジュールであって、少なくとも1つのプロセッサと、前記ネットワークから前記データフローを受信する少なくとも1つのインターフェースと、前記少なくとも1つのプロセッサに、前記データフローをそのデータフローを処理可能な少なくとも1つのフロープロセッサモジュールに転送させるための命令とを備えた少なくとも1つのネットワークプロセッサモジュールと、
前記少なくとも1つのフロープロセッサと通信した少なくとも1つの制御プロセッサモジュールであって、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに、前記少なくとも1つのフロープロセッサモジュールから内因的データを受信させるための命令とを備えた少なくとも1つの制御プロセッサモジュールと、を包含したネットワーク上のデータフローを処理する装置。 - 前記少なくとも1つのフロープロセッサモジュールが、少なくとも1つのアプリケーションを格納する少なくとも1つのメモリを含んだ、請求項18に記載の装置。
- 前記少なくとも1つの制御プロセッサモジュールが、少なくとも1つのネットワークプロセッサモジュールと通信する、請求項18に記載の装置。
- 前記少なくとも1つの制御プロセッサモジュールが、前記少なくとも1つのプロセッサに、前記少なくとも1つのアプリケーションプロセッサグループのフロースケジュールを計算させるための命令を含んだ、請求項18に記載の装置。
- 前記内因的データが、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率のうち少なくとも1つを含む、請求項18に記載の装置。
- 前記制御プロセッサモジュールが、少なくとも1つのフィルタリングモジュールを更に含んだ、請求項18に記載の装置。
- 前記ネットワークプロセッサモジュールが、フローを前記フロープロセッサモジュールに送るための少なくとも1つのフロースケジュールを更に含んだ、請求項18に記載の装置。
- 前記ネットワークプロセッサモジュールが、少なくとも1つの初期フロースケジュールを更に含んだ、請求項18に記載の装置。
- 前記ネットワークプロセッサモジュールが、データ要求をフロースケジュールに関連付けるハッシュテーブルを更に含んだ、請求項18に記載の装置。
- 前記フロースケジュールが、フロープロセッサモジュールのリストを更に含んだ、請求項24に記載の装置。
- ネットワーク上のデータフローをスケジューリングするための装置であって、
前記ネットワークからデータフローを受信するフロントエンドプロセッサと、
前記フローを処理する少なくとも1つのアプリケーションプロセッサグループと、
前記少なくとも1つのアプリケーションプロセッサグループに関連付けられた少なくとも1つのフロースケジュールと、
前記フロントエンドプロセッサに、前記フローを処理する少なくとも1つのアプリケーションプロセッサグループを識別させ、前記識別したプロセッサグループ内の少なくとも1つのプロセッサを選択させ、且つ、前記フローを前記選択したプロセッサに転送させるための命令とを包含した、ネットワーク上のデータフローをスケジューリングするための装置。 - 前記少なくとも1つのフロープロセッサモジュールが、少なくとも1つのフローベクトルを含んだ、請求項28に記載の装置。
- 前記少なくとも1つのアプリケーションプロセッサグループからデータを受信する少なくとも1つの制御プロセッサを更に包含した、請求項28に記載の装置。
- 前記制御プロセッサが、少なくとも1つのフィルタを更に含んだ、請求項30に記載の装置。
- 前記少なくとも1つのアプリケーションプロセッサグループが、少なくとも1つのプロセッサを含んだ、請求項28に記載の装置。
- 前記少なくとも1つのプロセッサが、アプリケーションを格納する少なくとも1つのメモリを含んだ、請求項32に記載の装置。
- 前記フロントエンドプロセッサが、データフローを少なくとも1つのアプリケーションプロセッサグループに関連付けるためのハッシュテーブルを含んだ、請求項28に記載の装置。
- 少なくとも2つのプロセッサ間のデータフローをスケジューリングするための方法であって、前記少なくとも2つのプロセッサからの履歴性能データに基づいて、フロースケジュールを計算する段階を包含した、データフローをスケジューリングするための方法。
- 履歴性能データに基づいてフロースケジュールを計算する前記段階が、前記識別したプロセッサグループ内の前記プロセッサの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率のうち少なくとも1つに関する履歴データを提供する段階を含んだ、請求項35に記載の方法。
- 履歴性能データに基づいてフロースケジュールを計算する前記段階が、前記識別したプロセッサグループ内の前記プロセッサの、CPU利用率、メモリ利用率、パケット損失、及び、待ち行列の長さ又はバッファ占有率のうち少なくとも1つに関する既存のデータを提供する段階を含んだ、請求項35に記載の方法。
- ネットワーク装置であって、
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサが実行するアプリケーションを格納するための少なくとも1つのメモリとを備えた少なくとも1つのフロープロセッサモジュールと、
少なくとも1つのネットワークプロセッサモジュールであって、少なくとも1つのプロセッサと、前記ネットワークからデータを受信し且つ前記ネットワークへデータを送信する少なくとも1つのインターフェースと、前記少なくとも1つのプロセッサに、前記フロープロセッサモジュールのメモリ内の前記アプリケーションにより処理されるデータ要求を認識させ、且つ、前記データ要求を、この要求に従って前記データを処理可能なフロープロセッサモジュールに転送させるための命令とを備えた少なくとも1つのネットワークプロセッサモジュールと、
前記フロープロセッサモジュール及び前記ネットワークプロセッサモジュールと通信する少なくとも1つの制御プロセッサモジュールであって、少なくとも1つのプロセッサと、この少なくとも1つのプロセッサに、前記フロープロセッサモジュールのメモリ内の前記アプリケーションを管理させるための命令とを包含した、ネットワーク装置。 - 前記フロープロセッサモジュールのメモリ内の前記アプリケーションを管理させるための前記制御プロセッサモジュール命令が、前記制御プロセッサモジュールに、アプリケーションの前記フロープロセッサモジュールメモリへのダウンロード及び前記フロープロセッサモジュールメモリからのアプリケーション削除のうち少なくとも一方を実行させるための命令を更に含んだ、請求項38に記載のネットワーク装置。
- 前記制御プロセッサモジュールと通信し且つ少なくとも1つのプロセッサを備えた管理サーバモジュールを更に包含した、請求項38に記載のネットワーク装置。
- 前記管理サーバモジュールが、前記少なくとも1つの管理サーバプロセッサに指示して、前記制御プロセッサモジュールに、前記管理サーバモジュールからアプリケーションを前記フロープロセッサモジュールのメモリへのダウンロードすること、及び前記フロープロセッサモジュールのメモリからアプリケーションを削除することのうち少なくとも一方を実行させるための命令を更に含んだ、請求項40に記載のネットワーク装置。
- 前記制御プロセッサモジュールに結合したローカルメモリ素子を更に包含した、請求項38に記載のネットワーク装置。
- 前記制御プロセッサモジュールに結合したリモートメモリ素子を更に包含した、請求項38に記載のネットワーク装置。
- 前記制御プロセッサモジュールが、前記少なくとも1つの制御プロセッサモジュールプロセッサに、データを管理サーバモジュールと前記フロープロセッサモジュールとの間で転送させるための命令を更に含んだ、請求項38に記載のネットワーク装置。
- 前記少なくとも1つのフロープロセッサモジュールに結合した少なくとも1つの記憶装置を更に包含した、請求項38に記載のネットワーク装置。
- 前記少なくとも1つのネットワークプロセッサモジュールに結合した少なくとも1つの記憶装置を更に包含した、請求項38に記載のネットワーク装置。
- ネットワーク装置で、
少なくとも1つのフロープロセッサモジュールであって、
少なくとも1つのフロープロセッサと、
前記少なくとも1つのプロセッサにより実行されるアプリケーションを格納するための少なくとも1つのメモリとを備えた少なくとも1つのフロープロセッサモジュールと、
第1ネットワークプロセッサモジュールであって、少なくとも1つのプロセッサと、前記ネットワークからデータを受信し且つ前記ネットワークへデータを送信する少なくとも1つのインターフェースと、前記少なくとも1つのプロセッサに、前記フロープロセッサモジュールのメモリ内の前記アプリケーションにより処理されるデータ要求を認識させ、且つ、前記データ要求を、この要求に従って前記データを処理可能なフロープロセッサモジュールに転送させるための命令とを備えた第1ネットワークプロセッサモジュールと、
前記第1ネットワークプロセッサモジュール及び前記フロープロセッサモジュールと通信する第1制御プロセッサモジュールで、
少なくとも1つのフロープロセッサと、
前記少なくとも1つのプロセッサに、前記フロープロセッサモジュールのメモリ内の前記アプリケーションを管理させるための命令とを備えた第1制御プロセッサモジュールと、を包含した、ネットワーク装置。 - 前記制御プロセッサモジュールと通信する管理サーバモジュールであって、前記フロープロセッサモジュール上の前記アプリケーションを管理するための命令を含んだ少なくとも1つのプロセッサを備えた管理サーバモジュールを更に包含した、請求項47に記載のネットワーク装置。
- 前記第1ネットワークプロセッサモジュールと、前記フロープロセッサモジュールと、前記第1制御プロセッサモジュールとに結合した第1制御プレーンを更に包含した、請求項47に記載のネットワーク装置。
- 前記第1ネットワークプロセッサモジュールと、前記フロープロセッサモジュールと、前記第1制御プロセッサモジュールとに結合した別個の第2制御プレーンを更に包含した、請求項47に記載のネットワーク装置。
- 前記第1制御プレーンと前記第2制御プレーンとに結合した別個の第2ネットワークプロセッサモジュールであって、少なくとも1つのプロセッサと、前記ネットワークからデータを受信し且つ前記ネットワークへデータを送信する少なくとも1つのインターフェースと、前記プロセッサに、前記フロープロセッサモジュールのメモリ内の前記アプリケーションにより処理されるデータ要求を認識させ、且つ、前記データ要求を、この要求に従って前記データを処理可能なフロープロセッサモジュールに転送させるための命令とを備えた少なくとも1つのネットワークプロセッサモジュールと、を備えた、第2ネットワークプロセッサモジュールと、
前記第1制御プレーンと、前記別個の第2制御プレーンと、前記管理サーバモジュールとに結合した別個の第2制御プロセッサモジュールであって、少なくとも1つのプロセッサを備えた第2制御プロセッサモジュールとを更に包含した、請求項50に記載のネットワーク装置。 - 前記第1制御プロセッサモジュールに結合したローカルメモリ素子を更に包含した、請求項47に記載のネットワーク装置。
- 前記第1制御プロセッサモジュールと前記第2制御プロセッサモジュールとに結合したローカルメモリ素子を更に包含した、請求項51に記載のネットワーク装置。
- 前記第1制御プロセッサモジュールに結合したリモートメモリ素子を更に包含した、請求項47に記載のネットワーク装置。
- 前記リモートメモリ素子を前記第1制御プロセッサモジュールに結合する高速データリンクを更に包含した、請求項54に記載のネットワーク装置。
- 前記第1制御プロセッサモジュールと前記第2制御プロセッサモジュールとに結合したリモートメモリ素子を更に包含した、請求項47に記載のネットワーク装置。
- 前記リモートメモリ素子を前記第1制御プロセッサモジュールと前記第2制御プロセッサモジュールとに結合する高速データリンクを更に包含した、請求項56に記載のネットワーク装置。
- 前記管理サーバモジュールを前記第1制御プロセッサモジュールに結合する高速データリンクを更に包含した、請求項48に記載のネットワーク装置。
- 前記ネットワーク装置が、
前記制御プロセッサモジュールと通信する管理サーバモジュールであって、前記フロープロセッサモジュール上の前記アプリケーションを管理するための命令を含んだプロセッサを備えた管理サーバモジュールと、
前記管理サーバモジュールを前記第1制御プロセッサモジュールと前記第2制御プロセッサモジュールとに結合する高速データリンクとを更に包含した、請求項51に記載のネットワーク装置。 - 前記管理サーバモジュールが、プロセッサと、このプロセッサに、前記第1制御プロセッサモジュールへデータを送信させ且つ前記第1制御プロセッサモジュールからデータを受信させるための命令とを更に包含した、請求項48に記載のネットワーク装置。
- 前記管理サーバモジュールがパーソナルコンピュータである、請求項48に記載のネットワーク装置。
- 前記管理サーバモジュールが、前記第1ネットワークプロセッサモジュールと、前記フロープロセッサモジュールと、前記第1制御プロセッサモジュールとから健全度及び維持データを受信するための命令を更に含んだ、請求項48に記載のネットワーク装置。
- ネットワーク内でアプリケーションを分散するための方法であって、
データを前記ネットワークからネットワークデバイスにおいて受信する段階と、
前記データに適用する少なくとも1つのアプリケーションを識別する段階と、前記識別したアプリケーションに従って前記データを処理する段階と、
前記処理済みデータを前記ネットワークデバイスから転送する段階とを包含した、ネットワーク内でアプリケーションを分散するための方法。 - 方針を前記データに適用する段階を更に包含した、請求項63に記載の方法。
- 少なくとも1つのアプリケーションを識別する前記段階が、ハッシュテーブルを用いて前記データを少なくとも1つのアプリケーションに関連付ける段階を更に包含した、請求項63に記載の方法。
- 少なくとも1つのアプリケーションを識別する前記段階が、加入者プロファイルを前記データに関連付ける段階と、前記加入者プロファイルに基づいて少なくとも1つのアプリケーションを選択する段階とを更に包含した、請求項63に記載の方法。
- 前記識別したアプリケーションに従って前記データを処理する前記段階が、前記識別したアプリケーションを実行するための少なくとも1つのプロセッサに前記データを送る段階を更に包含した、請求項63に記載の方法。
- 前記プロセッサを前記識別したアプリケーションのために構成する段階を更に含んだ、請求項67に記載の方法。
- 少なくとも1つのプロセッサを、前記アプリケーションに基づいて選択する段階を更に含んだ、請求項63に記載の方法。
- 少なくとも1つのプロセッサを、プロセッサ負荷に基づいて選択する段階を更に含んだ、請求項63に記載の方法。
- 少なくとも1つのプロセッサを、方針を前記データに適用することに基づいて選択する段階を更に含んだ、請求項63に記載の方法。
- 前記データに適用する少なくとも1つのアプリケーションを識別する前記段階が、データソースを識別する段階と、前記データソースに基づいてアプリケーションプロファイルを取り出す段階とを更に包含した、請求項63に記載の方法。
- 前記処理済みデータを前記ネットワークデバイスから転送する前記段階が、前記処理済みデータを前記ネットワークに転送する段階を更に含んだ、請求項63に記載の方法。
- 前記処理済みデータを前記ネットワークデバイスから転送する前記段階が、前記処理済みデータを記憶装置に転送する段階を更に含んだ、請求項63に記載の方法。
- 前記処理済みデータを転送する宛先を特定する段階を更に含んだ、請求項63に記載の方法。
- アプリケーションを前記ネットワークデバイスにおけるプロセッサに提供する段階を更に包含した、請求項63に記載の方法。
- アプリケーションを前記ネットワークデバイスにおけるプロセッサに提供する前記段階が、アプリケーションを、リモートプロセッサ及び記憶装置のうち少なくとも一方からプロセッサにダウンロードする段階を更に含んだ、請求項76に記載の方法。
- ネットワーク装置上でアプリケーションを管理するための方法であって、
少なくとも1つのプロセッサと、アプリケーションを格納するための少なくとも1つのメモリとを備えた少なくとも1つのフロープロセッサモジュールを提供する段階と、
前記フロープロセッサモジュールに接続し且つ、少なくとも1つのプロセッサと命令とを備えた少なくとも1つのネットワークプロセッサモジュールを提供する段階であって、前記命令が、
前記アプリケーションにより前記フロープロセッサモジュール上で処理されるべきデータ要求を認識し、且つ、
データ要求を、この要求を処理可能なフロープロセッサモジュールに転送するための命令である、提供する段階と、
制御プロセッサモジュールを前記フロープロセッサモジュールと前記ネットワークプロセッサに接続する段階であって、前記制御プロセッサモジュールが、前記フロープロセッサモジュール及び前記ネットワークプロセッサモジュールと通信し且つ、少なくとも1つのプロセッサと、このプロセッサに、前記フロープロセッサモジュールからのアプリケーション削除及びアプリケーションの前記フロープロセッサモジュールへの格納のうち少なくとも一方を実行させるための命令とを含んだ、接続する段階と、を包含した、ネットワーク装置上でアプリケーションを管理するための方法。 - 前記制御プロセッサモジュールと通信する管理サーバモジュールであって、プロセッサと、前記フロープロセッサモジュール上で前記アプリケーションを制御するための命令とを含んだ管理サーバモジュールを提供する段階を更に包含した、請求項78に記載の方法。
- 少なくとも1つのネットワークプロセッサモジュールを提供する前記段階が、
前記ネットワークからデータを受信し、前記ネットワークからのデータを処理し、前記フロープロセッサモジュールから処理済みデータを受信し、更に、前記処理済みデータをネットワーク宛先に転送するためのプロセッサ命令を提供する段階を、更に含んだ、請求項78に記載の方法。 - 少なくとも1つのネットワークプロセッサモジュールを提供する前記段階が、受信したデータをネットワーク宛先に転送するためのプロセッサ命令を提供する段階を更に含んだ、請求項78に記載の方法。
- 制御プロセッサモジュールを接続する前記段階が、前記プロセッサに、前記ネットワークプロセッサモジュールからのデータ要求を処理させるための命令を提供する段階を更に含んだ、請求項78に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23528100P | 2000-09-25 | 2000-09-25 | |
PCT/US2001/029885 WO2002027469A2 (en) | 2000-09-25 | 2001-09-25 | Flow scheduling and architecture for network application apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004524598A true JP2004524598A (ja) | 2004-08-12 |
Family
ID=22884848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002530980A Pending JP2004524598A (ja) | 2000-09-25 | 2001-09-25 | ネットワークアプリケーション装置のためのフロースケジューリング及びアーキテクチャ |
Country Status (9)
Country | Link |
---|---|
US (9) | US20020165947A1 (ja) |
EP (1) | EP1381937A2 (ja) |
JP (1) | JP2004524598A (ja) |
KR (1) | KR20040005824A (ja) |
CN (1) | CN1316366C (ja) |
AU (1) | AU2001291227A1 (ja) |
CA (1) | CA2423475A1 (ja) |
IL (8) | IL155068A0 (ja) |
WO (1) | WO2002027469A2 (ja) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008131350A (ja) * | 2006-11-21 | 2008-06-05 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送装置、パケット分配方法、パケットソート方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム |
WO2013058944A1 (en) * | 2011-10-17 | 2013-04-25 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US8701182B2 (en) | 2007-01-10 | 2014-04-15 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US8707446B2 (en) | 2006-02-02 | 2014-04-22 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US8763118B2 (en) | 2005-07-14 | 2014-06-24 | Mcafee, Inc. | Classification of software on networked systems |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US8869265B2 (en) | 2009-08-21 | 2014-10-21 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US9578052B2 (en) | 2013-10-24 | 2017-02-21 | Mcafee, Inc. | Agent assisted malicious application blocking in a network environment |
US9576142B2 (en) | 2006-03-27 | 2017-02-21 | Mcafee, Inc. | Execution environment file inventory |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
JP2017521806A (ja) * | 2014-06-26 | 2017-08-03 | グバーネット インコーポレイテッドGubernet Inc. | 多重プロセッシング環境でのスケジューリングの方法及びその装置 |
JP2019511030A (ja) * | 2016-01-24 | 2019-04-18 | ハサン・シェド・カムラン | 人工知能によるコンピュータセキュリティ |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050195743A1 (en) * | 2000-04-03 | 2005-09-08 | P-Cube Ltd. | Real time charging of pre-paid accounts |
US20110231564A1 (en) * | 2000-09-25 | 2011-09-22 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US20020165947A1 (en) * | 2000-09-25 | 2002-11-07 | Crossbeam Systems, Inc. | Network application apparatus |
US20110214157A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Securing a network with data flow processing |
US9525696B2 (en) | 2000-09-25 | 2016-12-20 | Blue Coat Systems, Inc. | Systems and methods for processing data flows |
US20070192863A1 (en) * | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US20110219035A1 (en) * | 2000-09-25 | 2011-09-08 | Yevgeny Korsunsky | Database security via data flow processing |
US9800608B2 (en) | 2000-09-25 | 2017-10-24 | Symantec Corporation | Processing data flows with a data flow processor |
US20110238855A1 (en) * | 2000-09-25 | 2011-09-29 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
US8010469B2 (en) | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20100042565A1 (en) * | 2000-09-25 | 2010-02-18 | Crossbeam Systems, Inc. | Mezzazine in-depth data analysis facility |
US20110213869A1 (en) * | 2000-09-25 | 2011-09-01 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
JP3627655B2 (ja) * | 2001-01-22 | 2005-03-09 | 日本電気株式会社 | アクセスネットワークシステム及びプロトコル終端装置 |
US20020120732A1 (en) * | 2001-02-27 | 2002-08-29 | Lee Daniel Joseph | Open internet protocol services platform |
US7263597B2 (en) * | 2001-04-19 | 2007-08-28 | Ciena Corporation | Network device including dedicated resources control plane |
US7619886B2 (en) * | 2001-09-27 | 2009-11-17 | Alcatel-Lucent Canada Inc. | Method and apparatus for providing a common support services infrastructure for a network element |
US7710866B2 (en) * | 2001-09-27 | 2010-05-04 | Alcatel-Lucent Canada Inc. | Method and apparatus for optimization of redundant link usage in a multi-shelf network element |
US7362751B2 (en) | 2001-10-03 | 2008-04-22 | Topside Research, Llc | Variable length switch fabric |
US20030088694A1 (en) * | 2001-11-02 | 2003-05-08 | Internet Machines Corporation | Multicasting method and switch |
US7042886B2 (en) * | 2001-12-06 | 2006-05-09 | P-Cube Ltd. | Apparatus, method, and computer program for wire-speed classification and pre-processing of data packets in an ATM network |
US7299277B1 (en) | 2002-01-10 | 2007-11-20 | Network General Technology | Media module apparatus and method for use in a network monitoring environment |
US6633835B1 (en) * | 2002-01-10 | 2003-10-14 | Networks Associates Technology, Inc. | Prioritized data capture, classification and filtering in a network monitoring environment |
US6967951B2 (en) * | 2002-01-11 | 2005-11-22 | Internet Machines Corp. | System for reordering sequenced based packets in a switching network |
US7254632B2 (en) * | 2002-04-26 | 2007-08-07 | P-Cube Ltd. | Apparatus and method for pattern matching in text based protocol |
US7171505B2 (en) * | 2002-05-02 | 2007-01-30 | International Business Machines Corporation | Universal network interface connection |
US20030214949A1 (en) * | 2002-05-16 | 2003-11-20 | Nadim Shaikli | System for reordering sequenced based packets in a switching network |
US20040098509A1 (en) * | 2002-11-14 | 2004-05-20 | Vic Alfano | System for reordering sequenced based packet segments in a switching network |
US20060242686A1 (en) * | 2003-02-21 | 2006-10-26 | Kenji Toda | Virus check device and system |
US7990987B2 (en) * | 2003-02-25 | 2011-08-02 | Topside Research, Llc | Network processor having bypass capability |
US8249097B2 (en) | 2003-07-14 | 2012-08-21 | Broadcom Corporation | Method and system for an integrated host PCI I/O bridge and dual port gigabit Ethernet controller |
US8839417B1 (en) * | 2003-11-17 | 2014-09-16 | Mcafee, Inc. | Device, system and method for defending a computer network |
US7454552B2 (en) * | 2003-11-18 | 2008-11-18 | Topside Research, Llc | Switch with transparent and non-transparent ports |
US7421532B2 (en) * | 2003-11-18 | 2008-09-02 | Topside Research, Llc | Switching with transparent and non-transparent ports |
US8856401B2 (en) * | 2003-11-25 | 2014-10-07 | Lsi Corporation | Universal controller for peripheral devices in a computing system |
US7539190B2 (en) * | 2004-01-05 | 2009-05-26 | Topside Research, Llc | Multicasting in a shared address space |
US7426602B2 (en) * | 2004-01-08 | 2008-09-16 | Topside Research, Llc | Switch for bus optimization |
US7411957B2 (en) | 2004-03-26 | 2008-08-12 | Cisco Technology, Inc. | Hardware filtering support for denial-of-service attacks |
US7599361B2 (en) * | 2004-07-02 | 2009-10-06 | P-Cube Ltd. | Wire-speed packet management in a multi-pipeline network processor |
US9014181B2 (en) * | 2004-11-01 | 2015-04-21 | Alcatel Lucent | Softrouter separate control network |
US7918795B2 (en) * | 2005-02-02 | 2011-04-05 | Gynesonics, Inc. | Method and device for uterine fibroid treatment |
CN100372318C (zh) * | 2005-05-20 | 2008-02-27 | 清华大学 | 10g网络性能测试系统并行流调度方法 |
US8028160B1 (en) * | 2005-05-27 | 2011-09-27 | Marvell International Ltd. | Data link layer switch with protection against internet protocol spoofing attacks |
US7649886B2 (en) * | 2005-11-21 | 2010-01-19 | Motorola, Inc. | Method and system for processing incoming packets in a communication network |
US11259825B2 (en) | 2006-01-12 | 2022-03-01 | Gynesonics, Inc. | Devices and methods for treatment of tissue |
US9357977B2 (en) * | 2006-01-12 | 2016-06-07 | Gynesonics, Inc. | Interventional deployment and imaging system |
US10058342B2 (en) | 2006-01-12 | 2018-08-28 | Gynesonics, Inc. | Devices and methods for treatment of tissue |
US7874986B2 (en) * | 2006-04-20 | 2011-01-25 | Gynesonics, Inc. | Methods and devices for visualization and ablation of tissue |
US7815571B2 (en) * | 2006-04-20 | 2010-10-19 | Gynesonics, Inc. | Rigid delivery systems having inclined ultrasound and needle |
US8824453B2 (en) * | 2006-04-14 | 2014-09-02 | At&T Intellectual Property I, Lp | Method and apparatus for managing quality of service for multimedia applications |
US10595819B2 (en) | 2006-04-20 | 2020-03-24 | Gynesonics, Inc. | Ablation device with articulated imaging transducer |
US8206300B2 (en) | 2008-08-26 | 2012-06-26 | Gynesonics, Inc. | Ablation device with articulated imaging transducer |
US20100056926A1 (en) * | 2008-08-26 | 2010-03-04 | Gynesonics, Inc. | Ablation device with articulated imaging transducer |
US20080243999A1 (en) * | 2007-03-27 | 2008-10-02 | Motorola, Inc. | Method and system for management of an application ensemble |
EP1983755A1 (en) | 2007-04-17 | 2008-10-22 | Thomson Licensing | Method to transmit video data in a data stream and associated metadata |
US7877644B2 (en) * | 2007-04-19 | 2011-01-25 | International Business Machines Corporation | Computer application performance optimization system |
US7860904B2 (en) * | 2007-04-24 | 2010-12-28 | Microsoft Corporation | Standalone execution of incomplete data flows |
US7860905B2 (en) * | 2007-04-24 | 2010-12-28 | Microsoft Corporation | Systems and methods for modularizing data flows |
US7996520B2 (en) | 2007-09-19 | 2011-08-09 | Cisco Technology, Inc. | Behavioral classification of communication sessions using active session initiation |
US8088072B2 (en) | 2007-10-12 | 2012-01-03 | Gynesonics, Inc. | Methods and systems for controlled deployment of needles in tissue |
US7826455B2 (en) * | 2007-11-02 | 2010-11-02 | Cisco Technology, Inc. | Providing single point-of-presence across multiple processors |
US20090287081A1 (en) * | 2008-04-29 | 2009-11-19 | Gynesonics , Inc | Submucosal fibroid ablation for the treatment of menorrhagia |
US8262574B2 (en) | 2009-02-27 | 2012-09-11 | Gynesonics, Inc. | Needle and tine deployment mechanism |
US8949210B2 (en) * | 2010-05-13 | 2015-02-03 | Microsoft Corporation | Analysis stack for complex event flows |
CN103946825B (zh) * | 2011-11-22 | 2017-03-01 | 英特尔公司 | 用于网络设备选择的装置和方法 |
US9639693B2 (en) * | 2013-06-28 | 2017-05-02 | Symantec Corporation | Techniques for detecting a security vulnerability |
CN103501498B (zh) * | 2013-08-29 | 2017-09-26 | 中国科学院声学研究所 | 一种基带处理资源分配方法及其装置 |
WO2015199366A1 (ko) * | 2014-06-26 | 2015-12-30 | 정기웅 | 다중 프로세싱 환경에서의 스케줄링 방법 및 그 장치 |
JP6413495B2 (ja) * | 2014-08-29 | 2018-10-31 | セイコーエプソン株式会社 | 情報処理方法、及び、記録システム |
AU2017359338B2 (en) | 2016-11-11 | 2022-09-08 | Gynesonics, Inc. | Controlled treatment of tissue and dynamic interaction with, and comparison of, tissue and/or treatment data |
US10963003B2 (en) * | 2017-10-20 | 2021-03-30 | Graphcore Limited | Synchronization in a multi-tile processing array |
GB201717295D0 (en) * | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Synchronization in a multi-tile processing array |
US10666616B2 (en) * | 2017-10-31 | 2020-05-26 | Ca, Inc. | Application identification and control in a network device |
GB2580159B (en) * | 2018-12-21 | 2021-01-06 | Graphcore Ltd | Scheduling messages |
CN111581676B (zh) * | 2020-05-07 | 2023-05-23 | 浙江大学 | 一种双核锁步容错下的处理器抗dpa攻击系统 |
CN112804190B (zh) * | 2020-12-18 | 2022-11-29 | 国网湖南省电力有限公司 | 一种基于边界防火墙流量的安全事件检测方法及系统 |
CN115269206B (zh) * | 2022-09-27 | 2023-01-10 | 湖南三湘银行股份有限公司 | 一种基于资源分配的数据处理方法及平台 |
Family Cites Families (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US262990A (en) | 1882-08-22 | Vehicle-wheel | ||
US600664A (en) * | 1898-03-15 | Bicycle | ||
US544660A (en) * | 1895-08-20 | Territory | ||
US631777A (en) * | 1898-02-12 | 1899-08-29 | Fred D Stanley | Steam-engine. |
US4814979A (en) | 1981-04-01 | 1989-03-21 | Teradata Corporation | Network to transmit prioritized subtask pockets to dedicated processors |
US5134691A (en) * | 1986-04-01 | 1992-07-28 | Westinghouse Electric Corp. | Bidirectional communication and control network with programmable microcontroller interfacing digital ICs transmitting in serial format to controlled product |
KR920006283B1 (ko) * | 1988-02-19 | 1992-08-03 | 미쯔비시덴끼 가부시끼가이샤 | 디지탈신호 처리방식 |
CA1341310C (en) * | 1988-07-15 | 2001-10-23 | Robert Filepp | Interactive computer network and method of operation |
US5062037A (en) * | 1988-10-24 | 1991-10-29 | Ibm Corp. | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network |
JPH0815277B2 (ja) * | 1991-08-09 | 1996-02-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パフォーマンス測定値を得るためのシステムおよび方法 |
US5522070A (en) * | 1992-03-19 | 1996-05-28 | Fujitsu Limited | Computer resource distributing method and system for distributing a multiplicity of processes to a plurality of computers connected in a network |
WO1994001964A1 (en) * | 1992-07-08 | 1994-01-20 | Bell Atlantic Network Services, Inc. | Media server for supplying video and multi-media data over the public telephone switched network |
GB2268817B (en) * | 1992-07-17 | 1996-05-01 | Integrated Micro Products Ltd | A fault-tolerant computer system |
FR2706652B1 (fr) * | 1993-06-09 | 1995-08-18 | Alsthom Cge Alcatel | Dispositif de détection d'intrusions et d'usagers suspects pour ensemble informatique et système de sécurité comportant un tel dispositif. |
GB2281793A (en) * | 1993-09-11 | 1995-03-15 | Ibm | A data processing system for providing user load levelling in a network |
US5557742A (en) * | 1994-03-07 | 1996-09-17 | Haystack Labs, Inc. | Method and system for detecting intrusion into and misuse of a data processing system |
US5675797A (en) * | 1994-05-24 | 1997-10-07 | International Business Machines Corporation | Goal-oriented resource allocation manager and performance index technique for servers |
JP3636744B2 (ja) * | 1994-06-14 | 2005-04-06 | 株式会社日立製作所 | 分散システムおよび分散システムの自動運転スケジュールの作成方法 |
US5621727A (en) * | 1994-09-16 | 1997-04-15 | Octel Communications Corporation | System and method for private addressing plans using community addressing |
US5740231A (en) * | 1994-09-16 | 1998-04-14 | Octel Communications Corporation | Network-based multimedia communications and directory system and method of operation |
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
US5790794A (en) * | 1995-08-11 | 1998-08-04 | Symbios, Inc. | Video storage unit architecture |
US6317775B1 (en) * | 1995-11-03 | 2001-11-13 | Cisco Technology, Inc. | System for distributing load over multiple servers at an internet site |
US5978843A (en) * | 1995-12-06 | 1999-11-02 | Industrial Technology Research Institute | Scalable architecture for media-on-demand servers |
US5771234A (en) * | 1995-12-06 | 1998-06-23 | Industrial Technology Research Institute | Method and system for ATM cell multiplexing under constant bit rate, variable bit rate and best-effort traffic |
US6279028B1 (en) * | 1995-12-08 | 2001-08-21 | Silicon Graphics, Inc. | Operating system having a mechanism for handling a group of related processes residing on separate machines |
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US6347398B1 (en) | 1996-12-12 | 2002-02-12 | Microsoft Corporation | Automatic software downloading from a computer network |
US6393569B1 (en) * | 1996-12-18 | 2002-05-21 | Alexander S. Orenshteyn | Secured system for accessing application services from a remote station |
US5946684A (en) * | 1997-02-18 | 1999-08-31 | Ameritech Corporation | Method and system for providing computer-network related information about a calling party |
US6014700A (en) * | 1997-05-08 | 2000-01-11 | International Business Machines Corporation | Workload management in a client-server network with distributed objects |
US6816903B1 (en) * | 1997-05-27 | 2004-11-09 | Novell, Inc. | Directory enabled policy management tool for intelligent traffic management |
US6006264A (en) * | 1997-08-01 | 1999-12-21 | Arrowpoint Communications, Inc. | Method and system for directing a flow between a client and a server |
US5975945A (en) * | 1997-08-29 | 1999-11-02 | Lucent Technologies Inc. | All-purpose network interface devices using conventional plug-in protectors |
US6058434A (en) * | 1997-11-26 | 2000-05-02 | Acuity Imaging, Llc | Apparent network interface for and between embedded and host processors |
US6597684B1 (en) * | 1997-12-24 | 2003-07-22 | Nortel Networks Ltd. | Distributed architecture and associated protocols for efficient quality of service-based route computation |
US6088804A (en) * | 1998-01-12 | 2000-07-11 | Motorola, Inc. | Adaptive system and method for responding to computer network security attacks |
US6226700B1 (en) * | 1998-03-13 | 2001-05-01 | Compaq Computer Corporation | Computer system with bridge logic that includes an internal modular expansion bus and a common master interface for internal master devices |
US6947987B2 (en) * | 1998-05-29 | 2005-09-20 | Ncr Corporation | Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes |
US6314463B1 (en) * | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US6446109B2 (en) * | 1998-06-29 | 2002-09-03 | Sun Microsystems, Inc. | Application computing environment |
FI105969B (fi) * | 1998-08-10 | 2000-10-31 | Nokia Networks Oy | Palvelunlaadun hallinta matkaviestinjärjestelmässä |
GB2341951A (en) * | 1998-09-22 | 2000-03-29 | Ibm | Thin-client remote object execution |
US6578066B1 (en) * | 1999-09-17 | 2003-06-10 | Alteon Websystems | Distributed load-balancing internet servers |
US6321338B1 (en) * | 1998-11-09 | 2001-11-20 | Sri International | Network surveillance |
US6411986B1 (en) | 1998-11-10 | 2002-06-25 | Netscaler, Inc. | Internet client-server multiplexer |
US6754831B2 (en) * | 1998-12-01 | 2004-06-22 | Sun Microsystems, Inc. | Authenticated firewall tunneling framework |
EP1133864B1 (en) * | 1998-12-03 | 2005-09-14 | BRITISH TELECOMMUNICATIONS public limited company | Network management system |
US6370648B1 (en) * | 1998-12-08 | 2002-04-09 | Visa International Service Association | Computer network intrusion detection |
US6510466B1 (en) * | 1998-12-14 | 2003-01-21 | International Business Machines Corporation | Methods, systems and computer program products for centralized management of application programs on a network |
US6430570B1 (en) * | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java application manager for embedded device |
GB2348985A (en) | 1999-04-15 | 2000-10-18 | Ibm | Centralized affinity maintenance in a workload managed client/server system |
US6463474B1 (en) * | 1999-07-02 | 2002-10-08 | Cisco Technology, Inc. | Local authentication of a client at a network device |
US6769066B1 (en) * | 1999-10-25 | 2004-07-27 | Visa International Service Association | Method and apparatus for training a neural network model for use in computer network intrusion detection |
US7062556B1 (en) * | 1999-11-22 | 2006-06-13 | Motorola, Inc. | Load balancing method in a communication network |
US6735206B1 (en) * | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for performing a fast service lookup in cluster networking |
US6728808B1 (en) * | 2000-02-07 | 2004-04-27 | 3Com Corporation | Mechanism for optimizing transaction retries within a system utilizing a PCI bus architecture |
JP2001282732A (ja) | 2000-04-03 | 2001-10-12 | Komatsu Ltd | コンピュータ間通信により遠隔のユーザへサービスを提供する方法及びシステム |
US6519703B1 (en) * | 2000-04-14 | 2003-02-11 | James B. Joyce | Methods and apparatus for heuristic firewall |
US8010469B2 (en) * | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US20070192863A1 (en) | 2005-07-01 | 2007-08-16 | Harsh Kapoor | Systems and methods for processing data flows |
US20020165947A1 (en) * | 2000-09-25 | 2002-11-07 | Crossbeam Systems, Inc. | Network application apparatus |
US20100042565A1 (en) | 2000-09-25 | 2010-02-18 | Crossbeam Systems, Inc. | Mezzazine in-depth data analysis facility |
US20030051026A1 (en) * | 2001-01-19 | 2003-03-13 | Carter Ernst B. | Network surveillance and security system |
US6999952B1 (en) * | 2001-04-18 | 2006-02-14 | Cisco Technology, Inc. | Linear associative memory-based hardware architecture for fault tolerant ASIC/FPGA work-around |
US7089586B2 (en) * | 2001-05-02 | 2006-08-08 | Ipr Licensing, Inc. | Firewall protection for wireless users |
US7237264B1 (en) * | 2001-06-04 | 2007-06-26 | Internet Security Systems, Inc. | System and method for preventing network misuse |
US7017186B2 (en) * | 2002-07-30 | 2006-03-21 | Steelcloud, Inc. | Intrusion detection system using self-organizing clusters |
US7478427B2 (en) * | 2003-05-05 | 2009-01-13 | Alcatel-Lucent Usa Inc. | Method and apparatus for providing adaptive VPN to enable different security levels in virtual private networks (VPNs) |
US7685436B2 (en) * | 2003-10-02 | 2010-03-23 | Itt Manufacturing Enterprises, Inc. | System and method for a secure I/O interface |
US7451483B2 (en) | 2003-10-09 | 2008-11-11 | International Business Machines Corporation | VLAN router with firewall supporting multiple security layers |
CN1890942B (zh) | 2003-12-10 | 2010-04-14 | 国际商业机器公司 | 重定向对万维网服务的客户端请求的方法 |
US7539681B2 (en) * | 2004-07-26 | 2009-05-26 | Sourcefire, Inc. | Methods and systems for multi-pattern searching |
WO2006074436A2 (en) * | 2005-01-06 | 2006-07-13 | Rockwell Automation Technologies, Inc. | Firewall method and apparatus for industrial systems |
US20080229415A1 (en) * | 2005-07-01 | 2008-09-18 | Harsh Kapoor | Systems and methods for processing data flows |
US7979368B2 (en) * | 2005-07-01 | 2011-07-12 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
EP2442525A1 (en) | 2005-12-13 | 2012-04-18 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US7461036B2 (en) | 2006-01-18 | 2008-12-02 | International Business Machines Corporation | Method for controlling risk in a computer security artificial neural network expert system |
-
2001
- 2001-02-21 US US09/790,434 patent/US20020165947A1/en not_active Abandoned
- 2001-04-24 US US09/840,945 patent/US20020059424A1/en not_active Abandoned
- 2001-09-25 EP EP01971331A patent/EP1381937A2/en not_active Ceased
- 2001-09-25 KR KR10-2003-7004313A patent/KR20040005824A/ko not_active Application Discontinuation
- 2001-09-25 JP JP2002530980A patent/JP2004524598A/ja active Pending
- 2001-09-25 CA CA002423475A patent/CA2423475A1/en not_active Abandoned
- 2001-09-25 WO PCT/US2001/029885 patent/WO2002027469A2/en active Application Filing
- 2001-09-25 IL IL15506801A patent/IL155068A0/xx unknown
- 2001-09-25 AU AU2001291227A patent/AU2001291227A1/en not_active Abandoned
- 2001-09-25 CN CNB018194214A patent/CN1316366C/zh not_active Expired - Lifetime
-
2003
- 2003-03-25 IL IL155068A patent/IL155068A/en active IP Right Grant
-
2005
- 2005-07-01 US US11/173,923 patent/US7836443B2/en not_active Expired - Lifetime
- 2005-07-01 US US11/174,181 patent/US8046465B2/en not_active Expired - Fee Related
-
2010
- 2010-12-29 US US12/980,714 patent/US20110231925A1/en not_active Abandoned
- 2010-12-29 US US12/980,822 patent/US20110238783A1/en not_active Abandoned
- 2010-12-29 US US12/980,768 patent/US9244739B2/en not_active Expired - Fee Related
- 2010-12-29 US US12/980,906 patent/US20110231513A1/en not_active Abandoned
-
2012
- 2012-05-03 IL IL219558A patent/IL219558A/en not_active IP Right Cessation
- 2012-05-03 IL IL219559A patent/IL219559A/en not_active IP Right Cessation
- 2012-05-03 IL IL219560A patent/IL219560A/en not_active IP Right Cessation
- 2012-05-03 IL IL219557A patent/IL219557A/en not_active IP Right Cessation
- 2012-05-03 IL IL219562A patent/IL219562A0/en not_active IP Right Cessation
- 2012-05-03 IL IL219561A patent/IL219561A/en not_active IP Right Cessation
-
2016
- 2016-01-14 US US14/995,594 patent/US20160191571A1/en not_active Abandoned
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8763118B2 (en) | 2005-07-14 | 2014-06-24 | Mcafee, Inc. | Classification of software on networked systems |
US8707446B2 (en) | 2006-02-02 | 2014-04-22 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US9602515B2 (en) | 2006-02-02 | 2017-03-21 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US10360382B2 (en) | 2006-03-27 | 2019-07-23 | Mcafee, Llc | Execution environment file inventory |
US9576142B2 (en) | 2006-03-27 | 2017-02-21 | Mcafee, Inc. | Execution environment file inventory |
JP4648290B2 (ja) * | 2006-11-21 | 2011-03-09 | 日本電信電話株式会社 | パケット転送装置、パケット分配方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム |
JP2008131350A (ja) * | 2006-11-21 | 2008-06-05 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送装置、パケット分配方法、パケットソート方法、グループ所属プロセッサ変更方法、およびコンピュータプログラム |
US8701182B2 (en) | 2007-01-10 | 2014-04-15 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US9864868B2 (en) | 2007-01-10 | 2018-01-09 | Mcafee, Llc | Method and apparatus for process enforced configuration management |
US8707422B2 (en) | 2007-01-10 | 2014-04-22 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US9652607B2 (en) | 2009-08-21 | 2017-05-16 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US8869265B2 (en) | 2009-08-21 | 2014-10-21 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US9467470B2 (en) | 2010-07-28 | 2016-10-11 | Mcafee, Inc. | System and method for local protection against malicious software |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US9832227B2 (en) | 2010-07-28 | 2017-11-28 | Mcafee, Llc | System and method for network level protection against malicious software |
US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
US9866528B2 (en) | 2011-02-23 | 2018-01-09 | Mcafee, Llc | System and method for interlocking a host and a gateway |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US10652210B2 (en) | 2011-10-17 | 2020-05-12 | Mcafee, Llc | System and method for redirected firewall discovery in a network environment |
US9356909B2 (en) | 2011-10-17 | 2016-05-31 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
WO2013058944A1 (en) * | 2011-10-17 | 2013-04-25 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US9882876B2 (en) | 2011-10-17 | 2018-01-30 | Mcafee, Llc | System and method for redirected firewall discovery in a network environment |
US9413785B2 (en) | 2012-04-02 | 2016-08-09 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
US10171611B2 (en) | 2012-12-27 | 2019-01-01 | Mcafee, Llc | Herd based scan avoidance system in a network environment |
US9578052B2 (en) | 2013-10-24 | 2017-02-21 | Mcafee, Inc. | Agent assisted malicious application blocking in a network environment |
US10205743B2 (en) | 2013-10-24 | 2019-02-12 | Mcafee, Llc | Agent assisted malicious application blocking in a network environment |
US10645115B2 (en) | 2013-10-24 | 2020-05-05 | Mcafee, Llc | Agent assisted malicious application blocking in a network environment |
US11171984B2 (en) | 2013-10-24 | 2021-11-09 | Mcafee, Llc | Agent assisted malicious application blocking in a network environment |
JP2017521806A (ja) * | 2014-06-26 | 2017-08-03 | グバーネット インコーポレイテッドGubernet Inc. | 多重プロセッシング環境でのスケジューリングの方法及びその装置 |
JP2019511030A (ja) * | 2016-01-24 | 2019-04-18 | ハサン・シェド・カムラン | 人工知能によるコンピュータセキュリティ |
Also Published As
Publication number | Publication date |
---|---|
AU2001291227A1 (en) | 2002-04-08 |
IL155068A0 (en) | 2003-10-31 |
KR20040005824A (ko) | 2004-01-16 |
IL219560A (en) | 2014-04-30 |
WO2002027469A3 (en) | 2003-11-06 |
US20110238839A1 (en) | 2011-09-29 |
IL219558A (en) | 2014-03-31 |
CN1518694A (zh) | 2004-08-04 |
US20110238783A1 (en) | 2011-09-29 |
US20060010207A1 (en) | 2006-01-12 |
US7836443B2 (en) | 2010-11-16 |
CA2423475A1 (en) | 2002-04-04 |
IL219559A (en) | 2014-03-31 |
WO2002027469A2 (en) | 2002-04-04 |
IL219557A (en) | 2013-11-28 |
IL219562A0 (en) | 2012-06-28 |
US20110231925A1 (en) | 2011-09-22 |
IL219558A0 (en) | 2012-06-28 |
US20020165947A1 (en) | 2002-11-07 |
IL219561A0 (en) | 2012-06-28 |
IL155068A (en) | 2012-06-28 |
US8046465B2 (en) | 2011-10-25 |
US9244739B2 (en) | 2016-01-26 |
US20020059424A1 (en) | 2002-05-16 |
CN1316366C (zh) | 2007-05-16 |
IL219560A0 (en) | 2012-06-28 |
IL219559A0 (en) | 2012-06-28 |
IL219561A (en) | 2013-09-30 |
EP1381937A2 (en) | 2004-01-21 |
IL219557A0 (en) | 2012-06-28 |
US20110231513A1 (en) | 2011-09-22 |
US20060143499A1 (en) | 2006-06-29 |
US20160191571A1 (en) | 2016-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004524598A (ja) | ネットワークアプリケーション装置のためのフロースケジューリング及びアーキテクチャ | |
US20020107989A1 (en) | Network endpoint system with accelerated data path | |
US20020107990A1 (en) | Network connected computing system including network switch | |
US20030236861A1 (en) | Network content delivery system with peer to peer processing components | |
US20020116452A1 (en) | Network connected computing system including storage system | |
US20030236919A1 (en) | Network connected computing system | |
US20020105972A1 (en) | Interprocess communications within a network node using switch fabric | |
US20030236837A1 (en) | Content delivery system providing accelerate content delivery | |
US20020107962A1 (en) | Single chassis network endpoint system with network processor for load balancing | |
US20040030766A1 (en) | Method and apparatus for switch fabric configuration | |
US20020107971A1 (en) | Network transport accelerator | |
US20020133593A1 (en) | Systems and methods for the deterministic management of information | |
US20020107903A1 (en) | Methods and systems for the order serialization of information in a network processing environment | |
US20030097481A1 (en) | Method and system for performing packet integrity operations using a data movement engine | |
US20030202510A1 (en) | System and method for scalable switch fabric for computer network | |
EP1442578A1 (en) | Method, apparatus and system for routing messages within a packet operating system | |
Mandviwalla et al. | DRA: A dependable architecture for high-performance routers |