JP2001505694A - アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース - Google Patents

アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース

Info

Publication number
JP2001505694A
JP2001505694A JP52587198A JP52587198A JP2001505694A JP 2001505694 A JP2001505694 A JP 2001505694A JP 52587198 A JP52587198 A JP 52587198A JP 52587198 A JP52587198 A JP 52587198A JP 2001505694 A JP2001505694 A JP 2001505694A
Authority
JP
Japan
Prior art keywords
memory
data
identifier
computer
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP52587198A
Other languages
English (en)
Other versions
JP4090510B2 (ja
Inventor
フォレット,デイビッド,アール
グティエレス,マリア,シー
プロハスカ,リチャード,エフ
Original Assignee
ギガネット,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ギガネット,インコーポレイテッド filed Critical ギガネット,インコーポレイテッド
Publication of JP2001505694A publication Critical patent/JP2001505694A/ja
Application granted granted Critical
Publication of JP4090510B2 publication Critical patent/JP4090510B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 指定された回線に沿ったコンピュータ間の通信を行うためのコンピュータインターフェースシステムを提供する。インターフェースユニットは、各ホストコンピュータ内に設けられる。各ユニットは、メモリマップを備えており、このメモリマップは、通信リンクにかかわる各アプリケーションに対する仮想アドレスに対応する物理アドレスのマップを記憶する。各データ転送は、ATMプロトコルを使用して確立される回線によって指定される。この回線は、通信にかかわる各ユニットによって認識され、オペレーティングシステムの介入を最小限にした状態で各ホストコンピュータのメインメモリの直接アクセスを容易にする。新規なダイナミックバッファ管理システムもまた提供される。

Description

【発明の詳細な説明】 発明の名称 アプリケーションデータのダイレクトマッピングのためのコンピュータインタ ーフェース 発明の分野 本発明は、異なるコンピュータ及びコンピュータサブシステム上で動作するア プリケーション間の通信に関連する。特に、1つのコンピュータ上のアプリケー ションデータを他のコンピュータの物理メモリアドレスにダイレクトマッピング することに関する。さらに具体的には、実質上オペレーティングシステムが介在 することなく、少なくとも2つのネットワーク接続されたコンピュータ間のメモ リアドレッシング機能を実行するスイッチ構成に関する。 発明の背景 クラスタまたはネットワーク内のデータ処理装置(データ処理デバイス)間の データ及び命令の転送は、各デバイスに備わっているインターフェースユニット を使用して実行される。このようなデータ処理装置は、例えば、ディスクサーバ のようなコンピュータ、及び外部ネットワークへの通信リンクのような共有I/ Oデバイスを備えることができる。一般的には、これらのユニット間をシリアル 形式でデータを転送するリンクが使用される。特に、3つ以上のデバイスがリン クされるときに、データを転送するためにスイッチを設けることができる。 常時、多くのデータ転送が、異なるコンピュータ上で動作しているアプリケー ションプログラム間で発生している。多くのネットワーク構成が、これらの転送 を実行するために実装されてきた。概して、このような従来のネットワーク化に よるアプローチは、待ち時間を少なくし、より高速で低コストを実現する所望の 構成を提供するものではない。 従って、本発明の目的は、リンク(接続)されたデータ処理装置間のデータ転 送の待ち時間を大幅に低減し、及びその速度を高速化する低コストのコンピ ュータインターフェースシステムを提供することである。このインターフェース システムは、ハードウエアのコストを可能な限り低くするために、ボード上のリ ソース(すなわち、コンピュータ内に組み込み済みのリソース)を効率的に使用 すべきである。 発明の要約 本発明は、ホスト装置内のアプリケーションにかかわる稼働中の各通信回線接 続(通信回線)に対して、マップを記憶するインターフェースユニットを有する 各ホストデータ処理装置(例えば、コンピュータ)を提供することによって、従 来技術の欠点を克服する。このマップは、ホストのメインメモリ内の対応する物 理アドレスを有するアプリケーションによって指定される仮想アドレスを特定す るものである。これらの物理アドレスは、このアプリケーションと別の装置上で 動作している特定のアプリケーションとの間で転送されるデータのホスト装置内 の場所である。データ転送は、コンピュータ間のデータのルーティングを容易に する固有の識別子をそれぞれが伝える仮想的な回線接続に沿って生じる。各イン ターフェースユニットは、回線接続識別子の面で、指示されるか、または「マッ ピング」される一連のレジスタまたは「メモリ」を含む。 従って、インターフェースユニットは、プロトコル処理のために、ホストオペ レーティングシステムへの時間のかかる発呼を行うことなく、あるいは、アプリ ケーションによって提供される仮想メモリ位置をメインメモリ内の物理メモリア ドレスに変換することなく、メインメモリ間とのデータ転送をすることができる 。さらに、インターフェースユニット内のレジスタを、回線毎のプロトコル状態 情報を保持するために使用することができる。これによって、プロトコルの高速 化が容易になる。 本発明は、また、3つ以上のホストデータ処理装置が含まれる場合に使用され る、インターフェースユニット内及びスイッチ内において新規なバッファ構成を 提供する。バッファ空間は、インターフェース及びスイッチを通るデータ送信回 線接続に動的に割り当てられる。これによって、バッファメモリに必要とされる サイズが最小限になると共に、ハードウエアのコストが低減する。こ の技法は、また、種々の「フェア(fair)」及び/または適応型スケジューリン グアルゴリズムを使用することを可能とする。 図面の簡単な説明 本発明の上述の及び他の目的、利点は、添付の図面と共に以下の詳細な説明を 参照することによって、明らかになるであろう。 図1は、本発明に従う、互いに通信接続されたコンピュータシステムネットワ ークのブロック図である。 図2は、本発明に従うネットワークインターフェースユニットのより詳細なブ ロック図である。 図3は、本発明に従う他のネットワークインターフェースユニットのより詳細 なブロック図である。 図4は、本発明に従うスイッチのブロック図である。 詳細な説明 図1に、本発明に従って基本クラスタ化されたコンピュータシステムを示す。 一例として、この図では、クラスタは3つのコンピュータを備えている。この例 では、コンピュータが示されているが、1つ以上のコンピュータを、ディスクサ ーバや外部ネットワークへの通信リンクのような他のデータ処理装置とすること もできる。従って、そのようは他のデバイスと共にこのシステムを使用すること が、明確に考慮されている。 本発明の説明のために、一般的にコンピュータ30aを参照する。コンピュー タ30aは、コンピュータ30bとコンピュータ30cに相互接続されていると 想定する。本明細書では、添え字「a」、「b」または「c」の付いた同じ参照 番号によって、各コンピュータシステム30a、30b、及び30cにおけるそ れぞれ同じコンポーネントを参照する。これらのホストコンピュータ30a、3 0b及び30cは、それらが、下記する方法における相互通信に適合する限り、 アーキテクチャは異なったものとすることができるということが考慮されている 。ディスクサーバ35もまた図示しており、さらに、本明細書 において、「データ」という用語は、本発明のインターフェースユニットとの接 続において発生するときには、制御データ(例えば、TCP/IPヘッダ情報) 及び生データの両方を意味するものである。本発明のインターフェースは、デー タ処理装置間の転送のために、制御及びデータ列の両方をATMフレーム化デー タに変換するフレーミング機能を備える。このフレーム化されたデータは、同じ 機能を使用する受信端末上で制御及びデータ列に再変換される。 コンピュータ30aは、並列システムバス42aによってメインメモリ44a に接続されたCPU、すなわち中央処理装置40aから構成される。メインメモ リ44aには、オペレーティングシステム46a及び一連のコンピュータアプリ ケーションプログラム48aを収容する記憶ブロックがある。 I/Oセクタ50aは、すべてがシステムバス42aに接続された、ディスク 及び他の周辺デバイス52a、さらに、本発明に従うネットワークインターフェ ースユニット54aを備えることができる。インターフェースユニット54aは 、コンピュータ30b、30c、及びディスクサーバ35との通信を可能にする 。コンピュータ30bは、システムバス42bに接続されたそれ自身のネットワ ークインターフェースユニット54bを備え、コンピュータ30cは、システム バス42cに接続されたネットワークインターフェースユニット54を備える。 クラスタ内では2つのみのコンピュータ(例えば、コンピュータ30a及びコン ピュータ30b)が接続されており、直接の相互接続80(点線で図示)を、イ ンターフェースユニット54aと54bの間に設けることができる。逆に、多く の(例えば、3つ以上の)コンピュータが接続される場合には、スイッチ82が 、クラスタ内の装置間で信号を経路指定するために設けられる。このディスクサ ーバ35は、また、スイッチ82を介してクラスタ内で接続される。これは、他 のユニット54a、54b及び54cとアーキテクチャが同じであるそれ自身の ネットワークインターフェースユニット55を備える。2つのコンピュータと、 3つ以上のコンピュータ(及びディスクサーバ35)間の複数のリンク84、8 6、88及び89との間の直接接続80は、LVDS(低電圧差分信号方式)リ ンクまたは光ファイバリンクのような適切な形態をとることができる。 図2及び図3に、ネットワークインターフェースユニット54aと54bをよ り詳細に示す。ユニット54aは、直列リンク80によって相互接続されている ということを最初に仮定して、以下にネットワークインターフェースユニットの 動作をさらに詳細に説明する。 リンク80は、それぞれのトランシーバ/直並列変換器90a及び90bを介 して、ネットワークインターフェースユニット54aと54bに動作可能に接続 されている。トランシーバ90aと90bは、両方とも、リンク80を介して双 方向通信のためにデータを送受信することができる。 ネットワークインターフェースユニット間の好ましいデータ転送モードは、周 知の非同期転送モード(ATM)である。ATMでは、メッセージは、パケット すなわち「セル」で転送される。すべての通信は、ATM UNI(ユーザーネ ットワークインターフェース)規格においてフレーム化される。1つ以上の仮想 回線接続が、別のデータ処理装置(例として、コンピュータ30a、30b及び 30c、さらにディスクサーバ35)上で動作しているアプリケーションプログ ラム間でセットアップされる。ネットワークを送信される各データセルは、仮想 回線接続の仮想回線接続識別子(VCI)を含むヘッダを有する。マルチリンク の回線接続では、各リンク毎に異なるVCIを含むことができる。各回線接続は 、同じ回線接続識別子の下で生じるホスト装置間の双方向データ転送を具備して 、全二重モードで構築される。仮想回線接続及びそれらの対応するVCIは、デ ータ処理装置の各々に存在するアプリケーションの通信要件に基づいてシステム が立ち上がるときに、通常構築される。さらに、クラスタ内のアプリケーション プログラムによって、必要に応じて、動的に、仮想回線接続を構築し、及び既存 の凹線接続を中断することができる。 ATMは、本実施態様に従う好ましい通信規格として説明されているが、他の 通信規格及びプロトコルを、本発明に従うインターフェースシステムと共に使用 することができるということも明確に考慮されている。例えば、TCP/IPプ ロトコルを使用することができる。周知の及び商業上利用可能な適切なフレーミ ング/デフレーミング用モジュールを用いることにより、本発明のシステムと関 連付けてこの通信規格を構築することができる。従って、本明細書 では、ATM規格を図示し説明するが、TCP/IP、暗号化規格及び他の互換 性のある通信プロトコルを代用することができ、以下では、これらの代替的なプ ロトコルも含むものとして説明する。 例えば、コンピュータ30a上で動作しているアプリケーション60aが、コ ンピュータ30b上で動作している特定のアプリケーション60bに回線接続を 構築しようとする場合には、アプリケーション60aは、このアプリケーション により使用される仮想メモリアドレスによって識別される、メモリ55aの記憶 ブロック(または複数のブロック)の内容が、コンピュータ30b上で動作して いるアプリケーション60bとの送受信に使用されることになることをオペレー ティングシステム46aに通知する。アプリケーションは、また、回線接続の優 先順位、プロトコル処理タイプ、関連するフロー制御パラメータ及び関連する転 送最適化パラメータを、オペレーティングシステムに送信する。 コンピュータ30a上のソフトウエアアプリケーションとして実装することが 好ましいスイッチコントローラ89は、仮想的な回線接続を構築するためにオペ レーティングシステムから命令を受け取る。オペレーティングシステム46aか ら回線接続を構築するためのリクエストを受信したコントローラ89は、ターゲ ットコンピュータのオペレーティングシステム46bとの通信を開始する。コン トローラは、また、後述する方法でスイッチ82と通信を行う。コントローラ8 9は、オペレーティングシステム46a及び46bのそれぞれに特定のVCIを 使用するように命令する。 回線接続が構築されると、それぞれがVCIによって指示される、対応するポ インタが、インターフェースユニット54aの送信ワークキュー(transmit wor k queue)ポインタレジスタ100aに設定される。各ポインタは、対応するV CIに対する送信ワークキュー情報を記憶するために予約されているホストのメ インメモリ44a内の特定のアプリケーション60aに関連する送信ワークキュ ー101aを指示する。メインメモリに記憶された送信ワークキュー101aの 各エントリは、制御(例えばTCP/IP)及びデータ情報の開始位置、及び転 送すべきデータ量を含む。転送が完了すると、レジスタ100aのポインタは、 インターフェースユニット54aによってレジスタ内の次のエ ントリに進められる。 オペレーティングシステム46aは、アプリケーション60aによって提供さ れる仮想アドレスの、メモリ55a内の対応する物理メモリアドレスへのマップ を、ユニット54a内のマッピングメモリ95aにロードする。マッピングされ る物理アドレスは、コンピュータ30a上で動作している他のアプリケーション によって上書きされないように、通常、オペレーティングシステムによってホス ト内でロックされる。メモリ95aは、インターフェースユニット54aを介し て、各仮想回線接続毎に別々のマップを含む。各仮想回線接続毎に、ホストのメ インメモリ44aに記憶された関連する送信ワークキュー101aと受信ワーク キュー103a(下記)がある。マッピングメモリ95a、送信ワークキューポ インタレジスタ100a及び受信ワークキューポインタレジスタ110a(これ も下記)は、システムバス42aの「アドレス空間」にあり、従って、オペレー ティングシステム46a及びアプリケーション60aのそれぞれによってこれら を直接アドレスすることができる。従って、アプリケーションは、任意の時間に 、これらのレジスタへの書き込み、及びこれらのレジスタからの読み出しを直接 行うことができる。 転送の受信端末では、ターゲットアプリケーション60bが、対象としている 回線接続のデータを受信し送信することになるメモリ44b内の仮想アドレスを 、オペレーティングシステム46bに供給している。オペレーティングシステム 46bは、メインメモリ44b内の対応する物理アドレスへのこれらの仮想アド レスのマップを有するインターフェースユニット54b上のマッピングメモリ9 5bをロードし、不慮の上書きを防止するために、ホストオペレーティングシス テム46b内の物理アドレスをロックする。各仮想回線接続毎に、関連する受信 ワークキュー103bがある。ワークキュー内の各エントリは、制御及びデータ が転送されることになるメモリ44b内の開始仮想アドレス、及びこれらのアド レスに続くメモリ空間のバイト数を含む。受信ワークキューポインタレジスタ1 10a内の関連するエントリは、インターフェースユニット54bに設けられる 。このエントリは、その回線接続のワークキュー103b内の次のエントリへの ポインタを含む。ポインタは、最初にアプリケーショ ン60aによって設定され、次に、エントリ内で指定されたワークが完了した後 に、インターフェース54bによって次のワークキューのエントリに進められる 。アプリケーション60bに、制御情報及びデータの到着を知らせるために通知 技法が使用される。この技法は、周知のポーリング及び/または割り込みルーチ ンを含むことができる。 それぞれの仮想的な回線接続は、例えば、アプリケーション60aからアプリ ケーション60bへの、及びアプリケーション60bからアプリケーション60 aへの双方向におけるデータ転送を取り扱うので、逆のセットアップ手順もまた 実施される。アプリケーション60aはまた、その受信ワークキューポインタレ ジスタ110a、受信ワークキュー103a及び送信ワークキューポインタレジ スタ100aに、適切なエントリを設定する。アプリケーション60bは、必要 であれば、送信ワークキュー101b及び関連するポインタレジスタ100aに 適切なエントリを設定する。 スイッチ82は、インターフェースユニットと同時にコントローラ89によっ てセットアップされる。この手順を以下に説明する。リンク80〜86を介して 送信されるデータは、それぞれ48データバイト及び5ヘッダバイトからなるA TMセル内にある。データがインターフェースユニット54aに入る速度、及び 、データがこのユニットから送信される速度の瞬間速度は、一般的にには異なる であろう。ホストメモリとの間でより大きなデータブロックを転送すること、及 びネットワークリンクを介してより小さなセルを転送することもまた所望される 。さらに、複数の仮想的な回線接続は、通常、任意の所定時間に開放されて、回 線接続をリアルタイムで多重化し、及び多重分離するようにユニットに要求する 。従って、バッファ構成がインターフェースユニットに含まれる。具体的には、 バッファメモリ120aを含んでおり、このバッファメモリに入力データがロー ドされ、このバッファメモリから出力データが取り出される(検索される)。既 知の従来の任意のバッファ構成を使用することができるが、以下で説明するダイ ナミックバッファ構成を使用することが好ましい。なぜなら、そのサイズを他の 構成のサイズよりもかなり小さくすることができるからである。しかしながら、 まず、本発明が別々のコンピュータ上で動作し ているアプリケーション間のデータの転送を実行する方法について説明する。 コンテキストメモリ(context memories)140a、b、及びcが、インター フェースユニット54a、b、及びCに設けられる。コンテキストメモリ140 aは、例えば、バッファメモリ120a内の空間を占有する各回線接続または潜 在的な回線接続に対するエントリを収容する。各エントリは、それのVCIによ って指示され、回線接続の優先順位、回線接続によって占有されるバッファメモ リのバイト数、フロー制御パラメータ、ホスト転送最適化情報、プロトコル状態 情報、スレッドメモリ130a内の回線接続データの送受信ヘッダアドレス(he ad addresses)及び送受信テールアドレス(tail addresses)、及びホスト通知 メカニズム(例えば、割り込みまたはポーリングルーチン)を含む。 各ネットワークインターフェースユニット54a、54bまたは54cは、ま た、アクティブ回線接続メモリ160a、160b、または160cを備える。 これらのメモリは、ダイナミックバッファメモリ120a、120b、または1 20c内のデータと共に全てのアクティブ回線接続のリストを含んでいる。すな わち、任意の入力データまたは出力データ(送信ワークキュー101aに現れる )は、アクティブ凹線接続メモリ160a内にエントリを有する。メモリ160 aは、メッセージのプライオリティ(優先順位)に従ってセクションに分割され る。例えば、2つの優先順位、「高い優先順位」と「低い優先順位」がある場合 には、各アクティブ回線接続メモリは、2つのセクション160(H)及び16 0(L)を有する。 バッファメモリへのロード及びバッファメモリからの検索を制御するコントロ ーラ136aの一部であるスケジューラ135aの制御の下に、インターフェー スユニット54のそれぞれは、アクティブ回線接続メモリ160a内のより高い 優先順位のエントリを1つずつ巡回し、それらのエントリに対応する送信及び受 信ワークキューによって指定された動作を実行する。従って、インターフェース ユニット54aが、その送信ワークキュー100aからエントリを取り出すとき には、それは、コンテキストメモリに、転送される情報のメインメモリ内の開始 仮想アドレス、及び転送されるバイト数を入力する。次に、ユ ニット54aは、マッピングメモリ95aから、メインメモリ44a内の開始位 置の物理アドレスを返す。ユニット54aは、次に、ホストのメインメモリ44 aから、それらの位置(場所)にあるデータを取り出し、それを、バッファメモ リ120a内の1組のセグメント(記憶場所のクラスタ)にロードする。次に、 ユニット54aは、その回線接続のコンテキストメモリのエントリを更新する。 具体的には、ユニット54aは、メインメモリ44aの仮想アドレスをデータが 取り出されることになる次のアドレスに更新し、さらに、転送されることになる データの量を、メモリ44aから取り出されるブロックのサイズだけ減少させる 。 続いて、スケジューラ135aが、バッファメモリ120aに現在存在する制 御及び/またはデータのブロックからセルを取り出し始める。セル及びフレーミ ング能力(フレーム化能力)を備えるパッケージングユニット138aが、取り 出されたデータのATMセルを構築する。すなわち、周知の技法を使用してAT Mヘッダにデータを追加する。パッケージングユニットは、また、データの正確 さを保証するためのチェックサムルーチンの実行を含む、必要な全てのネットワ ーク通信機能を実行する。フレームレベルでは、コンテキストメモリ140aは 、ATM AAL−5、CRC及びフレームプロトコルのような状態情報を保持 し、この情報をATM規格に準拠してフレームの後端部に追加する。フレームは 、別の回線接続からのセルと混合することも、混合しないこともできる複数のセ ルに拡張することもできるし、また、拡張しないこともできる。 受信端末では、ユニット54b内のパーサー139bがセルのヘッダを解釈し 、セルのデータ部をバッファメモリ120bにロードする。入力ATMセルは、 1つずつバッファ120bに入力される。その後、データが検索されて、マッピ ングメモリ95b内で識別されるようにホストのメインメモリ44b内の特定の 物理メモリ位置(記憶場所)に転送される。所定の仮想回線接続に対するすべて の送信ワークキュー記述子が完了し、及び入力または出力データがバッファメモ リ120a内にこれ以上存在しない場合には、アクティブな回線接続メモリ(ア クティブ回線接続メモリ)160b内の対応するエントリが除 去される。明らかに、上述の構成は効率が良い。なぜなら、メインメモリ44a 及び44b内の物理メモリ位置を直接使用することによって、いずれのホストオ ペレーティングシステムも介入することなく、制御及びデータの転送が行われる からである。 好ましいバッファ構成において、メッセージデータは、各ダイナミックバッフ ァ120a、120b、及び120cを介して、各ネットワークインターフェー スユニット54a、54b、及び54cへ及びそれらから転送される。バッファ のサイズは、コンピュータネットワークの要件及び速度に依存する。典型的には 、RAMバッファのサイズは160ビット×4Kビットである。すなわち、64 0Kビットの容量があれば十分であろう。管理のために、メモリは、それぞれが たくさんの、例えば20個の連続するメモリ位置を備えるセグメントに分割され る。本例では、各メモリ位置は1バイトのデータを収容する。 バッファ構成は、バッファメモリ120aに加えて、スレッドメモリ(thread memory)130a、フリーリストメモリ(free list memory)150a、及び コンテキストメモリ140aを備える。スレッドメモリは、バッファメモリ12 0aの空間を占有する送信回線リンク、及び受信回線リンクの各々に対して、回 線接続によって占有されるバッファセグメントのスレッド、すなわちリンクされ たリストを、データがこれらのセグメントに入力された順序で収容する。スレッ ド内の最初のエントリは、「ヘッド(head)」にあり、最後のものは「テール( tail)」にある。フリーリストメモリは、メモリ120a内で利用可能なセグメ ントのリストを含むFIFOメモリである。しかしながら、多重スレッドは、単 一のメモリ内に同時に存在することができ、スレッドの各々は、コンテキストメ モリ及びスレッドメモリにそれぞれ保持されているそれ自身の個別の一連のポイ ンタ及びリンクを有する。バッファメモリ120a内に特定の回線接続に対する データが無い場合には、バッファメモリまたはスレッドメモリのリソースはその 回線接続には割り当てられず、コンテキストメモリ140a内のヘッド及びテー ルポインタはキャンセルされる。従って、この構成によれば、リソースをより効 率良く割り当てることができ、さらに、一般的に、メモリサイズ全体をより小さ いものにすることができる。 データが、メモリ120aにロードされることになる場合には、バッファコン トロール136aが、必要に応じて、フリーリストメモリ150aからフリーの バッファメモリセグメントを取り出して、そのデータをそれらのバッファセグメ ントにロードする。それは、また、フリーリストメモリとスレッドメモリを更新 する。具体的には、各セグメントが一杯になると、そのセグメントに関連するス レッドメモリは、フリーリストから割り当てられる利用可能な次のセグメントを 指示するように更新される。それは、また、その回線接続用のコンテキストメモ リ140aのエントリのヘッドアドレス及びバイトカウントを更新する。 データがバッファメモリ120aから取り出されると、逆の手順が次に行われ る。すなわち、関連するスレッドのテール(末尾)アドレスにおいて取り出し( 検索)が開始される。取り出し動作が完了すると、コンテキストメモリ140a 内のテール及びバイトカウントが更新される。セグメントが開放されると、それ らは、メモリ150a内のフリーリストに加え戻され、関連するスレッドメモリ がクリアされる。 本実施態様では、コンテキストメモリ140aには、各回線リンクによって使 用されるダイナミックバッファ120a内のバイト数が提供される。スレッドメ モリ130aの動作は、それぞれの仮想接続に対するバイト数を取得するために モニタされる。 本発明に従うインターフェースシステムは、データ転送のダイナミック(動的 )な最適化を可能にする。すなわち、このシステムは、データの大きなバルク転 送、及びより小さな転送に対して効率良く動作する。この最適化は、部分的には 、優先順位の確立及びフロー制御規格に基づいている。 ダイナミックバッファ120aへの各書き込み動作の後には、一般的に、この バッファから情報を取り出す読み出し動作が続く。より高い優先順位の取り出し (読み出し)が最初に認識され、その後に、それより低い優先順位の取り出しが 続く。優先順位内において、このシステムは、「ラウンドロビン」方式で、アク ティブな回線接続エントリを連続的に巡回する。データ送信時には、1つのAT Mセルが、バッファメモリからネットワークリンク84aまで一度 に転送される。受信データにおいて、可変データブロック(一般的には256バ イト)がホストに転送され、待ち時間を最適化する。バッファが飽和し始めた場 合には、データをより大きなブロックでホストコンピュータに転送することがで き、転送効率を最適化して、メモリの過負荷を防止する。通常、これは、ホスト の飽和の結果として生じるものであり、このために、システムバスへのアクセス が一時的に制限される。ホストのメインメモリへのより効率の良い転送モード、 すなわち、より大きなブロックサイズを使用することによって、上述の構成が、 オーバーフローの問題を適切に処理することは明らかである。 ネットワークインターフェースユニット54は、それぞれのホストコンピュー タのシステムバスのバスマスタとして動作する。すなわち、それらは、これらの バス上で動作を開始することができる。ネットワークインターフェースユニット 54aで使用されるメモリまたはレジスタ95a、100a、110a、130 a、140a、150a、及び160aのそれぞれは、好ましくは、個別の物理 メモリであり、そのため、これらの複数のメモリを同時にアクセスすることがで きるということにも注目すべきである。これによって、ネットワークインターフ ェースユニット54aの動作速度を高速化することができる。 上記の説明は、2つの個別のコンピュータ30aと30bの間のデータ転送に 焦点をあてたものである。今度は、3つ以上のリンクされたコンピュータのクラ スタ間のデータの転送について説明する。上記のプロセスは変わらない。 3つ以上のコンピュータ間の通信を経路指定するために、スイッチ82(図1 )が使用される。スイッチ82の好ましい実施態様を図4に示す。スイッチは、 1組の直並列変換器200を介して複数のコンピュータから入力信号を受信する 。同様に、出力信号は、1連の出力用並直列変換器202を介してコンピュータ に送られる。もちろん、入力及び出力信号を、コンピュータのすぐそばの種々の データ処理装置から取得して、そこに送ることができる。例えばスイッチ82を 、1つ以上の他のスイッチと相互接続することができる。さらに、これらの入力 及び出力機能を、図2に詳細に示す回路90のような信号変換回路によって提供 することができる。入力信号は、ダイナミックバッファ206への単一の入力を 選択可能にするマルチプレクサ(MUX)204に送られる。 同様に、出力信号は、適切な出力用変換器202を選択するデマルチプレクサ( DEMUX)208に送られる。MUX/DEMUX制御回路212は、ダイナ ミックバッファ制御回路210の動作に基づいてバッファへの、及びバッファか らの信号の転送を制御する。ダイナミックバッファの動作は、ネットワークイン ターフェースユニット54aの動作とほぼ類似している。ダイナミックバッファ 制御回路210は、図2及び図3のインターフェースユニットに関連して説明し たメモリと同様な一連のメモリを含む。 具体的には、スイッチは、各入力VCIを、同じ回線接続の出力VCI、及び 各出力VCI用の出力ポートにマッピングするマッピングメモリを備える。スレ ッドメモリ214、コンテキストメモリ218、及びアクティブ回線接続メモリ は、入力VCIまたは出力VCIのいずれかに関して構成される。マッピングメ モリ213は、コンテキストメモリに相互接続される。スイッチコントローラが 各回線接続を確立するときには、それは、また、スイッチコンテキストメモリ( switch context memory)218、及びマッピングメモリ213に、対応するV CIによって指示される回線接続を確立するように命令する。コンテキスト/マ ッピングメモリ218、213は、ヘッドアドレス、テールアドレス、バイトカ ウント、フロー制御状態、及び送信優先順位の各VCIに関するエントリを含む 。入力セルがバッファ206にロードされるべきときに、出力VCIの決定が行 われると仮定する。入力VCIは、セルがダイナミックバッファ206に書き込 まれる前に、メモリ213からマッピングされる出力VCIに置き換えられる。 物理アドレスが所定のVCIと関連してマッピングされるデータ処理装置インタ ーフェース54a、54b及び54cとは異なり、スイッチ82は、VCI−V CI間の直接のマッピングを担う。 図示していないが、スイッチ82と各インターフェースユニットは、システム 内の種々のコンピュータ及びスイッチと通信して、過度のデータの流入を防止す るフロー制御回路を備える。これらの回路は、周知の構成を使用して実施するこ とができ、個別のデータフロー制御データラインを使用してリンクすることがで きる。 上記は、本発明の好ましい実施態様を詳細に説明したものである。本発明の 思想及び範囲を逸脱することなく、さまざまな変更及び追加を行うことができる 。例えば、説明したバッファ制御システムを変更することができ、また、それを 種々の他の許容可能なバッファ制御プロトコルで代用することできる。そのよう なプロトコルは、本発明に従う仮想回線接続及びそれらの対応する識別子の構築 に基づいてデータを転送することができなければならない。 ATMは、利用することが可能な複数の通信規格のうちの1つに過ぎない。考 慮されている他の規格に、TCP/IPがある。同様に、他のタイプのネットワ ークスイッチを、本発明のネットワークインターフェースユニットと共に使用す ることができる。最後に、「ネットワークインターフェースユニット」という用 語を本明細書で使用したが、任意の許容可能なプラットフォームを本発明に従う インターフェースに対して利用することができること、及び、このインターフェ ースを、コンピュータ全体における常設システム、ディスク、周辺機器、あるい は他のデータ処理装置として提供することができるということを明確に考慮して いる。従って、上記説明は、1例に過ぎないものとして捉えられるべきものであ り、本発明の範囲を限定することを意図するものではない。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG,ZW),EA(AM,AM,BY,KG ,KZ,MD,RU,TJ,TM),AL,AU,BA ,BB,BG,BR,CA,CN,CU,CZ,EE, GE,HU,IL,IS,JP,KP,KR,LC,L K,LR,LT,LV,MG,MK,MN,MX,NO ,NZ,PL,RO,SG,SI,SK,SL,TR, TT,UA,UZ,VN,YU (72)発明者 プロハスカ,リチャード,エフ アメリカ合衆国マサチューセッツ州01864, ノース・リーディング,キングス・ロウ・ 14

Claims (1)

  1. 【特許請求の範囲】 1.システムバス及び該システムに接続された第1のメインメモリを備える第1 のコンピュータ上で動作している送信アプリケーションから、第2のコンピュー タ上で動作している受信アプリケーションへの転送を実行するためのコンピュー タインターフェースであって、前記送信アプリケーションは、前記受信アプリケ ーションに送信するデータの前記メインメモリ内の送信仮想アドレスをオペレー ティングシステムに提供し、前記インターフェースが、 A.マッピングメモリと、 B.送信ワークキューメモリと、 C.1.前記マッピングメモリに、前記送信仮想アドレスに対応する送信物理 アドレスをロードし、及び、 2.前記送信ワークキューメモリに、各データ送信の仕様値を入力するた めの前記オペレーティングシステム内の手段であって、 該仕様値は、転送の識別子と前記データの宛先の識別子を備え、該転送の 識別子は、また、前記マッピングメモリ内の前記送信仮想アドレスのそれぞれの 位置の識別子を含むことからなる手段と、 D.前記マッピングメモリに収容されている前記物理アドレスに従って、前記 第1のメインメモリをアクセスして、そこから前記データを取り出すための手段 と、 E.前記取り出したデータを前記第2のアプリケーションに送信するための手 段 とからなること。 2.請求項1のインターフェースが、さらに、 A.受信ワークキューメモリと、 B.前記第1のメインメモリ内の受信仮想アドレスを特定するために、前記第 1のコンピュータ上で動作している受信アプリケーションに問い合わせるための 前記オペレーティングシステム内の手段であって、前記第2のコンピュータ上の 送信アプリケーションからこの受信アプリケーションに転送される受信 データが、前記第1のメインメモリにロードされることからなる手段と、 C.1.前記マッピングメモリに、前記受信仮想アドレスに対応する前記第1 のメモリ内の受信物理アドレスをロードし、及び、 2.前記受信ワークキューメモリに、各データ送信の仕様値を入力するた めの前記オペレーティンダシステム内の手段であって、 該仕様値は、転送の識別子と前記データの宛先の識別子を備え、該転送の 識別子は、また、前記マッピングメモリ内の前記受信仮想アドレスのそれぞれの 位置の識別子を含むことからなる手段と、 D.前記第2のコンピュータから、前記転送識別子によって特定されるデータ を受信するための手段と、 E.前記マッピングメモリに収容されている前記受信物理アドレスによって、 前記第1のメインメモリをアクセスして、前記第2のコンピュータ上の前記送信 アプリケーションから受信されたデータをそれらのアドレスにロードするための 手段 とからなること。 3.送信手段が、予め決定された通信規格に基づいて前記第2のコンピュータに 送信するために、データをフレーム化するフレーミング及びデフレーミングユニ ットを備える、請求項1のインターフェース。 4.前記予め決定された通信規格が、ATM規格からなる請求項3のインターフ ェース。 5.送信手段が、ATM通信規格に基づいて前記第2のコンピュータに送信する ために、データをフレーム化するフレーミング及びデフレーミングユニットを備 える、請求項2のインターフェース。 6.各データ転送の識別子が、各仮想チャンネルの識別子によって特定される仮 想回線接続を規定し、及び、送信ワークキューメモリが、各仮想回線接続に対応 する位置を含むことからなる請求項5のインターフェース。 7.受信ワークキューメモリが、各仮想回線接続に対応するエントリを含む、請 求項6のインターフェース。 8.マッピングメモリが、各送信物理アドレスを記憶するための各仮想回線接 続に対応する位置を含む、請求項7のインターフェース。 9.各マッピングメモリ、送信ワークキューメモリ、及び受信ワークキューメモ リが、システムバスのアドレス空間にある、請求項2のインターフェース。 10.システムバスから受信されるデータを選択的に記憶し、該システムバスに 送信するための記憶されたデータを取り出すためのバッファメモリからさらにな り、前記バッファメモリが、時分割方式で、各仮想回線接続に対してデータを記 憶し、及び取り出すように該バッファメモリを動作させるバッファコントローラ を含むことからなる請求項6のインターフェース。 11.バッファメモリが、通信リンクを介して第2のコンピュータから受信され たデータを選択的に記憶すると共に、該第2のコンピュータに送信するためのデ ータを取り出すように構築、及び構成され、バッファコントローラが、該バッフ ァメモリに、時分割方式で、各仮想回線接続に対して前記第2のコンピュータか ら受信されたデータを記憶させるように構築、構成されることからなる請求項1 0のインターフェース。 12.さらに、ヘッドエントリとテールエントリ間の複数のエントリを規定する スレッドを含むスレッドメモリであって、該エントリの各々が、各仮想回線接続 、及びセグメントアドレスのリンクされたリストを規定するエントリに対応する バッファメモリ内のアクティブなメモリセグメントを表すアドレスを構成するこ とからなるスレッドメモリと、前記バッファメモリの対応するメモリセグメント へのロード、及びそこからの取り出しにそれぞれ基づいて、前記スレッドメモリ にエントリを加え、及び、前記スレッドメモリからエントリを削除するための、 バッファコントローラ内の手段とからさらになる請求項11のインターフェース 。 13.記憶されたデータの無い、バッファメモリ内の占有されていないセグメン トにそれぞれが対応する複数のエントリを有するフリーリストメモリからさらに 構成され、前記フリーリストメモリから予め決定されたセグメントアドレスを有 するエントリを除去し、同時に、前記スレッドメモリ内の前記予め決定されたセ グメントアドレスを有するエントリを構築するための、バッファコントローラ内 の手段からさらになる、請求項12のインターフェース。 14.複数のエントリを記憶するための、前記バッファメモリ及びシステムバス に相互接続されたコンテキストメモリからさらになり、前記各エントリは、予め 決定された仮想回線接続に対応し、前記各エントリは、前記各仮想回線接続のた めに、データ転送優先順位を規定する情報、前記バッファメモリ内のセグメント アドレスのスレッドの先頭位置と最後の位置、及び、前記バッファメモリ内に格 納されているデータ量とを収容することからなる、請求項13のインターフェー ス。 15.仕様値が、送信ワークキューメモリ及び受信ワークキューメモリの少なく とも1つに収容される各データ転送を識別するエントリを記憶する、システムバ スに相互接続された、アクティブ回線接続メモリからさらになり、該アクティブ な回線接続メモリが、新しいデータ転送が開始されるときには、新しいエントリ を連続的に記憶し、既存のデータ転送が完了するときには、既存のエントリを削 除するための手段を備えることからなる、請求項2のインターフェース。 16.前記アクティブ回線接続メモリ内の各エントリが、それぞれのデータ転送 の優先順位の識別子を含む、請求項15のインターフェース。 17.前記送信ワークキューメモリ及び受信ワークキューメモリのそれぞれが、 それぞれのポインタレジスタを備え、各ポインタレジスタが、各送信ワークキュ ーメモリ及び受信ワークキューメモリ内の各仕様値に対応するエントリを有し、 各エントリが、次に起こるデータ転送のために、仕様値の各送信ワークキューメ モリ及び受信ワークキューメモリ内の位置を表すポインタを含むことからなる請 求項2のインターフェース。 18.送信コンピュータ上で動作している送信アプリケーションから、受信コン ピュータ上で動作している受信アプリケーションへのデータ送信を実行するため のスイッチであって、各送信コンピュータが、仮想回線接続識別子を有するデー タをフレーム化するための手段を含み、該スイッチが、 A.送信コンピュータからデータを受信するための複数の入力ポートと、 B.受信コンピュータにデータを送信するための複数の出力ポートと、 C.仮想回線接続識別子を出力ポートに関連付けるエントリを含むマッピン グメモリと、 D.前記送信コンピュータから受信されたデータを選択的に記憶し、及び、受 信コンピュータに送信するための記憶されたデータを取り出すための手段であっ て、スイッチバッファメモリが、仮想回線接続識別子に基づいてデータを記憶し 、及び取り出すように該メモリを動作させるスイッチバッファコントローラを備 えることからなる手段と、 E.さらに、ヘッドエントリとテールエントリ間の複数のエントリを規定する スレッドを含むスイッチスレッドメモリであって、該エントリの各々が、各仮想 回線接続、及びセグメントアドレスのリンクされたリストを規定するエントリに 対応するスイッチバッファメモリ内のアクティブなメモリセグメントを表すアド レスを構成することからなるスレッドメモリと、前記スイッチバッファメモリの 対応するメモリセグメントへのロード、及びそこからの取り出しにそれぞれ基づ いて、前記スレッドメモリにエントリを加え、及び、前記スレッドメモリからエ ントリを削除するための、スイッチバッファコントローラ内の手段とからさらに なること。 F.記憶されたデータの無い、前記スイッチバッファメモリ内の占有されてい ないセグメントにそれぞれが対応する複数のエントリを有するスイッチフリーリ ストメモリと、前記フリーリストメモリから予め決定されたセグメントアドレス を有するエントリを除去し、同時に、前記スレッドメモリ内の前記予め決定され たセグメントアドレスを有するエントリを構築するための、前記スイッチバッフ ァコントローラ内の手段からさらになること。 G.複数のエントリを記憶するための、前記スイッチバッファメモリに相互接 続されたコンテキストメモリであって、前記各エントリは、予め決定された仮想 回線接続の識別子に対応し、前記各エントリは、前記各仮想回線接続の識別子の ために、データ転送優先順位を規定する情報、前記スイッチバッファメモリ内の セグメントアドレスのスレッドの先頭位置と最後の位置、及び、前記スイッチバ ッファメモリ内に格納されているデータ量とを収容すること。 H.前記バッファメモリから検索されたデータを、該データに関連する仮想回 線接続の識別子に関連する出力ポートに導くための手段 とからなること。 19.前記スイッチバッファコントローラに相互接続された、スイッチアクティ ブ回線接続メモリからさらになる請求項18のスイッチであって、該メモリが、 データが前記スイッチバッファメモリに格納される各仮想回線接続を特定するエ ントリを記憶し、前記スイッチアクティブ回線接続メモリが、新しいデータ転送 が開始されるときには、新しいエントリを連続的に記憶し、既存のデータ転送が 完了するときには、既存のエントリを削除すること。 20.前記スイッチアクティブ回線接続メモリ内の各エントリが、それぞれのデ ータ転送の優先順位の識別子を含む、請求項19のスイッチ。 21.システムバスと該システムバスに接続された第1のメインメモリを有する 第1のコンピュータ上で動作している送信アプリケーションから、第2のコンピ ュータ上で動作している受信アプリケーションへの転送を実行するための方法で あって、前記送信アプリケーションは、前記受信アプリケーションに送信するデ ータの前記メインメモリ内の送信仮想アドレスをオペレーティングシステムに提 供し、前記方法が、 A.マッピングメモリを設けるステップと、 B.送信ワークキューメモリを設けるステップと、 C.前記第1のコンピュータ上で動作するソフトウエアによって、 1.前記マッピングメモリに、前記送信仮想アドレスに対応する送信物理 アドレスをロードし、及び、 2.前記送信ワークキューメモリに、各データ送信の仕様値を入力するス テップであって、 該仕様値は、転送の識別子と前記データの宛先の識別子を備え、該転送の 識別子は、また、前記マッピングメモリ内の前記送信仮想アドレスのそれぞれの 位置の識別子を含むことからなるステップと、 D.前記マッピングメモリに収容されている前記物理アドレスに従って、前記 第1のメインメモリをアクセスして、そこから前記データを取り出すステップと 、 E.前記取り出したデータを前記第2のアプリケーションに送信するステッ プ とからなること。 22.A.受信ワークキューメモリを設けるステップと、 B.前記第1のメインメモリ内の受信仮想アドレスを特定するために、前記第1 のコンピュータ上で動作している受信アプリケーションに、該第1のコンピュー タ上で動作するソフトウエアによって問い合わせるステップであって、前記第2 のコンピュータ上の送信アプリケーションからこの受信アプリケーションに転送 される受信データが、前記第1のメインメモリにロードされることになる、ステ ップと、 C.前記ソフトウエアシステムによって、 1.前記受信仮想アドレスに対応する前記第1のメモリ内の受信物理アドレス を、前記マッピングメモリにロードするステップと、 2.前記受信ワークキューメモリに、各データ送信の仕様値を入力するステッ プであって、該仕様値は、転送の識別子、及び前記データの宛先の識別子を含み 、前記転送の識別子が、さらに、前記マッピングメモリ内の前記受信仮想アドレ スのそれぞれの位置の識別子を含むことからなる、ステップと、 D.前記第2のコンピュータから、前記転送識別子によって特定されるデータを 受信するステップと、 E.前記マッピングメモリに収容された前記受信物理アドレスにより前記第1の メインメモリをアクセスして、前記第2のコンピュータ上の前記送信アプリケー ションから受信されたデータをそれらのアドレスにロードするステップとからさ らになる、請求項21の方法。 23.前記送信するステップと、前記アクセスするステップのそれぞれが、各デ ータ転送毎に仮想的なチャンネル識別子を構築することを含む、ATM通信規格 に従ってデータをフレーム化することを含む、請求項22の方法。 24.バッファメモリにデータを記憶し、及びバッファメモリからデータを取り 出すことをさらに含み、前記記憶し、転送するステップが、各データ転送に対応 する仮想チャンネル識別子に基づいており、さらに、各対応する仮想チャンネル 識別子に関連する優先条件に基づいて、前記記憶し、転送するステップ に優先順位をつけることを含む請求項22の方法。
JP52587198A 1996-12-04 1997-12-03 アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース Expired - Lifetime JP4090510B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/762,186 US6094712A (en) 1996-12-04 1996-12-04 Computer network interface for direct mapping of data transferred between applications on different host computers from virtual addresses to physical memory addresses application data
US08/762,186 1996-12-04
PCT/US1997/022439 WO1998025210A2 (en) 1996-12-04 1997-12-03 Computer interface for direct mapping of application data

Publications (2)

Publication Number Publication Date
JP2001505694A true JP2001505694A (ja) 2001-04-24
JP4090510B2 JP4090510B2 (ja) 2008-05-28

Family

ID=25064338

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52587198A Expired - Lifetime JP4090510B2 (ja) 1996-12-04 1997-12-03 アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース

Country Status (6)

Country Link
US (1) US6094712A (ja)
EP (1) EP1012712B1 (ja)
JP (1) JP4090510B2 (ja)
AU (1) AU726992B2 (ja)
CA (1) CA2274031C (ja)
WO (1) WO1998025210A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047436A1 (ja) * 2021-09-21 2023-03-30 日本電信電話株式会社 情報処理装置および情報処理方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7284070B2 (en) * 1997-10-14 2007-10-16 Alacritech, Inc. TCP offload network interface device
US6795442B1 (en) * 1998-04-23 2004-09-21 Emulex Design & Manufacturing Corporation System and method for scheduling message transmission and processing in a digital data network
US6570850B1 (en) 1998-04-23 2003-05-27 Giganet, Inc. System and method for regulating message flow in a digital data network
US6515963B1 (en) * 1999-01-27 2003-02-04 Cisco Technology, Inc. Per-flow dynamic buffer management
US6912580B1 (en) * 1999-01-27 2005-06-28 International Business Machines Corporation Virtual shadow briefcase in servers supporting moving embedded clients
US7210147B1 (en) 1999-10-05 2007-04-24 Veritas Operating Corporation IP virtualization
AU1075101A (en) 1999-10-05 2001-05-10 Ejasent Inc. Virtual resource id mapping
US6694959B1 (en) * 1999-11-19 2004-02-24 Denso Corporation Ignition and injection control system for internal combustion engine
US7596784B2 (en) 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
SE517816C2 (sv) * 2000-10-27 2002-07-16 Terraplay Systems Ab Metod och anordning för en applikation
US7068667B2 (en) * 2001-04-27 2006-06-27 The Boeing Company Method and system for path building in a communications network
WO2002089384A2 (en) * 2001-04-27 2002-11-07 The Boeing Company Using virtual identifiers to route data and process data routed through a network
US6789143B2 (en) * 2001-09-24 2004-09-07 International Business Machines Corporation Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries
US7124198B2 (en) * 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US7895239B2 (en) * 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US20030127185A1 (en) * 2002-01-04 2003-07-10 Bakly Walter N. Method for applying retroreflective target to a surface
KR20030080443A (ko) * 2002-04-08 2003-10-17 (주) 위즈네트 하드웨어 프로토콜 프로세싱 로직으로 구현된 인터넷 통신프로토콜 장치 및 상기 장치를 통한 데이터 병렬 처리 방법
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US7181531B2 (en) * 2002-04-30 2007-02-20 Microsoft Corporation Method to synchronize and upload an offloaded network stack connection with a network stack
GB2395307A (en) * 2002-11-15 2004-05-19 Quadrics Ltd Virtual to physical memory mapping in network interfaces
US20050097242A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Method and system for internet transport acceleration without protocol offload
US9558042B2 (en) * 2004-03-13 2017-01-31 Iii Holdings 12, Llc System and method providing object messages in a compute environment
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US7783880B2 (en) * 2004-11-12 2010-08-24 Microsoft Corporation Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
WO2006108187A2 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US8645558B2 (en) 2005-06-15 2014-02-04 Solarflare Communications, Inc. Reception according to a data transfer protocol of data directed to any of a plurality of destination entities for data extraction
US7904563B2 (en) * 2006-03-31 2011-03-08 Microsoft Corporation Establishing and utilizing terminal server dynamic virtual channels
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
CN105701906B (zh) * 2014-11-27 2018-07-24 珠海汇金科技股份有限公司 一种基于指纹密码锁的自助设备安全管理方法
US9571578B1 (en) 2015-11-20 2017-02-14 International Business Machines Corporation Utilization based multi-buffer self-calibrated dynamic adjustment management
US9442674B1 (en) 2015-11-20 2016-09-13 International Business Machines Corporation Using a plurality of sub-buffers and a free segment list to allocate segments to a plurality of threads to use for writing data
US9852075B2 (en) 2015-11-20 2017-12-26 International Business Machines Corporation Allocate a segment of a buffer to each of a plurality of threads to use for writing data
US9483410B1 (en) 2015-11-20 2016-11-01 International Business Machines Corporation Utilization based multi-buffer dynamic adjustment management
US20230133723A1 (en) * 2021-11-02 2023-05-04 Arteris, Inc. System and method for event messages in a cache coherent interconnect

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2880271B2 (ja) * 1990-08-17 1999-04-05 株式会社日立製作所 帯域制御方法および回路
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5233606A (en) * 1991-08-02 1993-08-03 At&T Bell Laboratories Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment
US5426639A (en) * 1991-11-29 1995-06-20 At&T Corp. Multiple virtual FIFO arrangement
US5243596A (en) * 1992-03-18 1993-09-07 Fischer & Porter Company Network architecture suitable for multicasting and resource locking
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5825765A (en) * 1992-03-31 1998-10-20 Fore Systems, Inc. Communication network based on ATM for general purpose computers
JPH0637797A (ja) * 1992-05-20 1994-02-10 Xerox Corp パケット交換網の予約リング機構
US5555387A (en) * 1995-06-06 1996-09-10 International Business Machines Corporation Method and apparatus for implementing virtual memory having multiple selected page sizes
US5623700A (en) * 1994-04-06 1997-04-22 Dell, Usa L.P. Interface circuit having zero latency buffer memory and cache memory information transfer
US5682553A (en) * 1995-04-14 1997-10-28 Mitsubishi Electric Information Technology Center America, Inc. Host computer and network interface using a two-dimensional per-application list of application level free buffers
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5749095A (en) * 1996-07-01 1998-05-05 Sun Microsystems, Inc. Multiprocessing system configured to perform efficient write operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023047436A1 (ja) * 2021-09-21 2023-03-30 日本電信電話株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
WO1998025210A2 (en) 1998-06-11
CA2274031A1 (en) 1998-06-11
EP1012712A2 (en) 2000-06-28
WO1998025210A3 (en) 1998-11-19
AU726992B2 (en) 2000-11-30
AU5376798A (en) 1998-06-29
US6094712A (en) 2000-07-25
JP4090510B2 (ja) 2008-05-28
CA2274031C (en) 2005-02-08
EP1012712B1 (en) 2015-08-26

Similar Documents

Publication Publication Date Title
JP2001505694A (ja) アプリケーションデータのダイレクトマッピングのためのコンピュータインターフェース
US7313142B2 (en) Packet processing device
US5502719A (en) Path allocation system and method having double link list queues implemented with a digital signal processor (DSP) for a high performance fiber optic switch
JP4852194B2 (ja) デジタルデータネットワークにおけるメッセージフローを調整するシステムおよび方法
US6137807A (en) Dual bank queue memory and queue control system
JP3428640B2 (ja) 高速パケットスイッチング装置および方法
CN101151851B (zh) 用于服务器环境中的联网卸载的主机以太网适配器
US6804731B1 (en) System, method and article of manufacture for storing an incoming datagram in switch matrix in a switch fabric chipset system
US8542693B2 (en) Managing free packet descriptors in packet-based communications
US5797041A (en) Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
US20040151170A1 (en) Management of received data within host device using linked lists
JP2002520907A (ja) ネットワークでのパケット交換のためのシステム及び方法
US20050232204A1 (en) Network switch and components and method of operation
JP2000503828A (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
JPH0619785A (ja) 分散共有仮想メモリーとその構成方法
JP2002512459A (ja) デジタルデータネットワークにおいてメッセージ伝送をスケジューリングし、処理を行うシステムおよび方法
JPH09160870A (ja) ハードウェアとソフトウェアの間でデータ転送を報告する方法および装置
US8059670B2 (en) Hardware queue management with distributed linking information
TW439373B (en) Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
AU660259B2 (en) A queueing system for switches having "fast-circuit" properties
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US7313146B2 (en) Transparent data format within host device supporting differing transaction types
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
US20020089981A1 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
JP2953362B2 (ja) Lanのスイッチング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041111

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070313

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070327

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070829

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term