JP2000067017A - デ―タ通信方法及びデ―タ通信装置 - Google Patents

デ―タ通信方法及びデ―タ通信装置

Info

Publication number
JP2000067017A
JP2000067017A JP11031519A JP3151999A JP2000067017A JP 2000067017 A JP2000067017 A JP 2000067017A JP 11031519 A JP11031519 A JP 11031519A JP 3151999 A JP3151999 A JP 3151999A JP 2000067017 A JP2000067017 A JP 2000067017A
Authority
JP
Japan
Prior art keywords
program
data unit
data
data communication
communication method
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.)
Withdrawn
Application number
JP11031519A
Other languages
English (en)
Inventor
Yoeri Apts
ヨエリ アプツ
Philip Marivoet
フィリップ マリフート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Europa BV
Original Assignee
Sony Europa BV
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 Sony Europa BV filed Critical Sony Europa BV
Publication of JP2000067017A publication Critical patent/JP2000067017A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks

Abstract

(57)【要約】 【課題】 ネットワーク階層モデルにおいて、最適な実
行時間環境を構築し、データ通信を効率的かつ高速に行
う。 【解決手段】 中間構造ソフトウェアの一部である第1
のプログラムオブジェクトにデータユニットを供給し、
第1のプログラムオブジェクトにより、データユニット
に対して第1の処理を施した後、データユニットを第2
のプログラムオブジェクトに供給し、第2のプログラム
オブジェクトにより、データユニットに対して第2の処
理を施す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ通信方法及
びデータ通信装置に関し、詳しくはオブジェクト指向オ
ペレーションシステムにおける中間構造ソフトウェアを
介して、アプリケーションプログラムとネットワークと
の間でデータ通信を行うためのデータ通信方法及びデー
タ通信装置に関する。
【0002】
【従来の技術】分散型コンピューティング環境におい
て、アプリケーションプログラムを実行する機器又はコ
ンピュータ装置は、ネットワークを介して相互に通信を
行う。この通信を実現するために設けられた規則の組
は、ネットワークプロトコルと呼ばれる。必要な通信機
能を実現するために、この規則の組は、さらに管理可能
な大きさを有するいくつかのグループに区分される。各
グループは、それぞれ特定の機能を実行するために必要
な規則のみから構成される。
【0003】
【発明が解決しようとする課題】一般的に使用されてい
るネットワークプロトコルは、それぞれが上層のソフト
ウェアによって用いられる複数の層が積み重ねられた中
間構造ソフトウェアからなる。このネットワークプロト
コルの階層モデルの最下層は、物理ドライバであり、こ
の物理ドライバは、実際のネットワークにデータを送信
し、また、実際のネットワークからデータを受信する機
能を有する。ネットワークプロトコルの階層モデルの最
上位の層は、ユーザアプリケーションプログラムであ
り、このユーザアプリケーションデプログラムは、デー
タを生成し、またデータを使用する。
【0004】ユーザアプリケーションプログラムが生成
又は使用したデータを物理ネットワークに供給する場
合、このようなデータは、ネットワークプロトコルの階
層モデルにおける各層において必要な処理が施された
後、最下層の物理ドライバから物理ネットワークに供給
される。逆に、ユーザアプリケーションが物理ネットワ
ークからデータを受信する場合、データは、物理ネット
ワークから物理ドライバに供給され、さらに階層モデル
の各層を経由してユーザアプリケーションプログラムに
供給される。
【0005】本発明は、上述のようなネットワーク階層
モデルにおいて、最適な実行時間環境を構築し、データ
通信を効率的かつ高速に行うことができるデータ通信装
置及びデータ通信方法を提供することを目的とする。
【0006】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明に係るデータ通信方法は、中間構造ソフト
ウェアを介してアプリケーションプログラムとネットワ
ークデバイスドライバプログラムとの間のデータ通信を
行い、アプリケーションプログラムから中間構造ソフト
ウェアの一部である第1のプログラムオブジェクトにア
プリケーションプログラムのデータユニットを供給する
ステップと、第1のプログラムオブジェクトにより、デ
ータユニットに対して第1の処理を施すステップと、第
1の処理が施されたデータユニットを第1のプログラム
オブジェクトから中間構造ソフトウェアの一部である第
2のプログラムオブジェクトに供給するステップと、第
2のプログラムオブジェクトにより、第1の処理が施さ
れたデータユニットに対して第2の処理を施すステップ
と、第2の処理が施されたデータユニットをネットワー
クデバイスドライバプログラムに供給するステップとを
有する。
【0007】なお、このデータ通信方法において、デー
タユニットを授受及び処理するプログラムオブジェクト
の数は、3つ以上であってもよい。
【0008】さらに、本発明に係るデータ通信方法は、
中間構造ソフトウェアを介してネットワークデバイスド
ライバプログラムとアプリケーションプログラムとの間
のデータ通信を行い、ネットワークデバイスドライバプ
ログラムから中間構造ソフトウェアの一部である第1の
プログラムオブジェクトにデータユニットを供給するス
テップと、第1のプログラムオブジェクトにより、デー
タユニットに対して第1の処理を施すステップと、第1
の処理が施されたデータユニットを第1のプログラムオ
ブジェクトから中間構造ソフトウェアの一部である第2
のプログラムオブジェクトに供給するステップと、第2
のプログラムオブジェクトにより、第1の処理が施され
たデータユニットに対して第2の処理を施すステップ
と、第2の処理が施されたデータユニットをアプリケー
ションプログラムに供給するステップとを有する。
【0009】本発明に係るデータ通信方法によれば、最
適な実行時間環境が構築され、さらに階層モデルが随時
生成及び変更され、これにより、データをコピーする必
要がなくなり、タイマを管理でき、内部イベントの記録
(ロギング)を自動化できる。
【0010】各プログラムオブジェクト又はモジュール
は、ネットワークプロトコルに対応し、複数のプログラ
ムオブジェクトによりプロトコル階層が構成される。
【0011】2つのプログラムオブジェクト又はモジュ
ール間のデータ通信は、それぞれを相互接続するキュー
オブジェクトを用いて行われる。プログラムオブジェク
ト間では、プログラムオブジェクトを相互接続するキュ
ーオブジェクト内のデータの参照値が受け渡される。
【0012】好適な実施の形態においては、2つのプロ
グラムオブジェクトの相互接続に、1つではなく、複数
のキューを用い、各キューに異なる優先度を与える。す
なわち、例えばあるオブジェクトを通常のデータ転送に
用い、他方のオブジェクトを優先度の高い緊急のデータ
オブジェクトに用いる。さらに、他の実施の形態では、
優先度のレベルをさらに多くの段階とした複数のキュー
を用いる。
【0013】さらに、本発明の実施の形態において、デ
ータユニットは、プロトコル階層モデルの各層間を上位
の層から下位の層へ順次受け渡されるとともに、プロト
コル制御情報、例えばヘッダやトレーラ等が付加され
る。このようなプロトコル制御情報の付加をエンカプス
レーショ(encapsulation)と呼ぶ。データユニット
が、逆に下位の層から上位の層へ順次受け渡されると
き、このプロトコル制御情報は、除去される。このよう
な情報の除去をデカプスレーション(decapsulation)
と呼ぶ。データの受け渡し時に1つのデータユニットを
複数のデータユニットに分割、すなわち断片化すること
をフラグメンテーション(fragmentation)と呼ぶ。逆
に、断片化された複数のデータユニットを1つのデータ
ユニットに統合することをデフラグメンテーション(de
fragmentation)と呼ぶ。
【0014】本発明は、アプリケーションプログラムの
実行中に、中間構造ソフトウェア内のプログラムオブジ
ェクトを追加又は削除する手法を提供する。これによ
り、アプリケーションプログラムに割り込みをかけるこ
となく、また、コンピュータシステムを再起動するする
ことなく、中間構造ソフトウェアをネットワーク通信の
規約に応じて構築し、変化させることができる。
【0015】また、本発明に係るデータ通信装置は、中
間構造ソフトウェアを介してアプリケーションプログラ
ムとネットワークデバイスドライバプログラムとの間の
データ通信を行い、中間構造ソフトウェアの一部であ
り、アプリケーションプログラムとの間で送受されるデ
ータユニットに対して第1の処理を施す第1のプログラ
ムオブジェクトと、中間構造ソフトウェアの一部であ
り、ネットワークデバイスドライバとの間で送受される
データユニットに対して第2の処理を施す第2のプログ
ラムオブジェクトとを備える。
【0016】本発明に係るデータ通信装置は、最適な実
行時間環境を構築し、階層モデルを随時生成及び変更
し、これによりデータのコピーを不要とし、タイマを管
理し、内部イベントの記録(ロギング)を自動化する。
【0017】
【発明の実施の形態】以下、本発明に係るデータ通信方
法及びデータ通信装置について図面を参照して詳細に説
明する。
【0018】図1は、パーソナルコンピュータ又はワー
クステーションの概略的構成を示すブロック図である。
この図1に示すように、パーソナルコンピュータ又はワ
ークステーションは、中央演算処理装置(central proc
essing unit:以下、CPUという。)1と、ランダム
アクセスメモリ(random access memory:以下、RAM
という。)2と、リードオンリメモリ(read only memo
ry:以下、ROMという。)3と、ネットワークアダプ
タ4を備え、CPU1、RAM2、ROM3、ネットワ
ークアダプタ4は、それぞれバス5に接続されている。
さらに、ネットワークアダプタ4は、ネットワーク6に
接続されており、このネットワーク6は、ホストコンピ
ュータ7に接続されている。なお、ここでは、パーソナ
ルコンピュータを用いて本発明の実施の形態を説明する
が、本発明は、例えば携帯電話等の小型の装置や、ある
いは高性能ビデオサーバ等の大型の装置にも適用でき
る。
【0019】階層構造を有するネットワークプロトコル
として、例えばオープンシステムインターコネクション
(open systems interconnection:OSI)モデルが知
られている。OSIモデルは、7つの層により構成され
たネットワークプロトコルを実現するためのフレームワ
ークを定義するものであり、ネットワークプロトコルの
世界標準となっている。
【0020】図2は、4つの層からなるプロトコルモデ
ルを示す図である。アプリケーションプログラム層8
は、特定のアプリケーションプログラム12とデータの
送受を行い、トランスポート層9は、2つのホスト間の
データフローを管理し、ネットワーク層10は、ネット
ワーク6におけるデータユニットの移動を管理し、リン
ク層11は、ネットワークデバイスドライバプログラム
を備え、ネットワーク6に対する物理的なインターフェ
イスとして機能する。
【0021】インターネットに用いられている通信プロ
トコルTCP/IP(transmissioncontrol protocol/i
nternet protocol)は、4つの層を有する通信プロトコ
ルである。アプリケーションプログラム層8は、ファイ
ルをダウンロード又はアップロードするためのファイル
転送プロトコル(file transfer protocol:以下、FT
Pという。)や電子メールの送受信に用いる簡易メール
転送プロトコル(simple mail transfer protocol:以
下、SMTPという。)等を有している。トランスポー
ト層9は、データの配信を確実に行うためのトランスミ
ッション制御プロトコル(transmission control proto
col:以下、TCPという。)を有している。
【0022】FTPは、異なるネットワークサイトに対
するデータのダウンロードやアップロードに用いられ、
SMTPは、異なるネットワークサイトに対する電子メ
ールの送受信に用いられる。
【0023】TCPは、データのエラーや失われたデー
タを検出するためのサポート情報を有しており、これを
用いてデータが正確に、かつ、完全に受信されるまで転
送処理を継続する。さらに、トランスポート層9は、一
方のホストから他方のホストにデータユニット、すなわ
ちデータグラムを送信するためのユーザデータグラムプ
ロトコルを有する。ユーザデータグラムプロトコルは、
データユニットが転送先に無事に配信されたか否かをチ
ェックする機能を有していないため、この実施の形態で
は、アプリケーションプログラムがデータの配信が確実
に行われている否かを監視するようにしている。ネット
ワーク層10は、ルーチング機能を有するインターネッ
トプロトコルを有し、これによりネットワークを介して
送受信されるメッセージのルーチングを行う。リンク層
11は、ATM、IEEE1394又はイーサネットネ
ットワークを実現するための機能を有する。
【0024】この実施の形態では、メタスペースと呼ば
れる特別な実行環境を準備し、プログラムオブジェクト
を、これらのメタスペース上に実現する。各メタスペー
スは、それぞれに特有の要求に適合したメッセージ送受
構造を有している。本発明では、ネットワークプロトコ
ル及びネットワークプロトコル階層に用いられるメタス
ペースをmNetと呼び、デバイスドライバプログラム
をサポートするメタスペースをmDriveと呼び、ア
プリケーションプログラムに用いるメタスペースをmC
oopと呼ぶ。
【0025】mDriveにおいて、物理ドライバがデ
ータユニットを受信すると、データユニットは、mNe
t上のプログラムオブジェクトを介して、mCoop上
で実行されているユーザアプリケーションに供給され
る。ユーザアプリケーションは、このデータユニットを
用いて必要な処理を行う。このように、本発明では、デ
バイスドライバプログラムをmDrive上で実行し、
ネットワークオブジェクトをmNet上で実現し、アプ
リケーションオブジェクトをmCoop上で実現する。
例えばプロトコル及びプロトコル階層の実現には、mN
etを用いる、などのように、それぞれの処理について
専用の環境を構築することにより、それぞれの処理に必
要とされる特定の機能を最大限にサポートすることがで
きるという利点がある。
【0026】mNetにおいて、ネットワークプロトコ
ルは、所定の処理又は機能の組を有し、モジュールと呼
ばれる1又は複数のプログラムオブジェクトにより実現
できる。プロトコル階層構造は、キューオブジェクトを
有する相互接続された複数のモジュールにより構成され
る。データオブジェクトは、この相互接続された一連の
モジュール間で順次受け渡される。各モジュールは、デ
ータオブジェクトに対して、例えばヘッダ又はトレーラ
の追加又は除去、データユニットの断片化(fragmentat
ion)や断片化されたデータユニットの統合(defragmen
tation)等の処理を施した後に、処理済みのデータオブ
ジェクトを次のモジュールに渡す。
【0027】メタスペースの具体例を図3に示す。図3
は、相互に接続された3つのメタスペース、すなわち、
mCoop13,mNet14,mDrive15の構
成を示す図である。mCoop13内のアプリケーショ
ンオブジェクト20,21により生成されたデータユニ
ットは、mNet14内のプログラムオブジェクト22
〜26に順次受け渡される。このデータユニットは、各
プログラムオブジェクト22〜26により処理される。
この実施の形態においては、プログラムオブジェクト2
2は、TCPであり、プログラムオブジェクト23は、
ユーザデータグラムプロトコル(user datagram protoc
ol:以下、UDPという。)であり、プログラムオブジ
ェクト24は、IPであり、プログラムオブジェクト2
5は、シリアル通信回線においてダイアルアップ接続を
行うために用いられるポイントツーポイントプロトコル
(point to point protocol:以下、PPPという。)
であり、プログラムオブジェクト26は、ATMインタ
ーフェイスである。
【0028】mDrive15内のデバイスドライバプ
ログラム27は、シリアルドライバの機能を有し、デバ
イスドライバプログラム28は、ATMドライバの機能
を有する。mNet14内のプログラムオブジェクト2
2〜26により処理が施されたデータユニットは、最下
層であるこのデバイスドライバプログラム27,28か
ら物理ネットワークに送り出される。
【0029】各プログラムオブジェクト、すなわち各モ
ジュールは、所定の処理を実行するためのプログラムを
有している。モジュールの動作又は機能に対する要求が
生じると、この処理手順が呼び出される。このように処
理を限定すること、すなわち各モジュールに対して、必
要な処理を実行するためのプログラムのみを予め準備し
ておくことにより、階層プロトコルにおいて、モジュー
ル間の相互通信を容易に行うことができる。なお、必要
最小限のプログラムのみではなく、拡張的な機能を実行
するためのプログラムをモジュールに追加してもよい。
また、この追加は、モジュールのインストール時に行う
ようにしてもよく、実行時に行うようにしてもよい。
【0030】ここで、所定の処理を実行する各プログラ
ムについて説明する。「Init」は、モジュールが生成さ
れると活性化されるプログラムである。「OpenTop」
は、このモジュールに対する上位側(Top)からのキュ
ーの生成を示す。このモジュールは、このキューを受理
することも拒否することもできる。「OpenBottom」は、
このモジュールに対する下位側(Bottom)からのキュー
の生成を示す。モジュールは、このキューを受理するこ
とも拒否することもできる。「RejectTop」は、上位側
からのキューの拒否を示し、「RejectBottom」は、下位
側からのキューの拒否を示す。「AcceptTop」は、この
モジュールに対して開かれた上位側からのキューの受理
を示し、「AcceptBottom」は、下位側からのキューの受
理を示す。「ServiceTop」このモジュールの上位側に接
続されたキューにおいて1又は複数の後述するサービス
データユニット(service data unit:以下、SDUと
いう。)が処理待ちの状態にあることを示す。「Servic
eBottom」は、このモジュールの下位側に接続さたキュ
ーにおいて、1又は複数のSDUが処理待ちの状態にあ
ることを示す。「CloseTop」は、このモジュールの上位
側に接続されているキューを閉じ、「CloseBottom」
は、このモジュールの下位側に接続されているキューを
閉じる。「TimeOut」は、このモジュールの処理時間が
時間切れになったときに呼び出されるプログラムであ
る。「Debug」は、テスト及びデバッグを行う特別なプ
ログラムである。
【0031】モジュールの上位側は、上位に隣接するプ
ロトコル層を構成する1又は複数のモジュールに接続さ
れた1又は複数のキューに接続している。モジュールの
下位側は、下位に隣接するプロトコル層を構成する1又
は複数のモジュールに接続された1又は複数のキューに
接続している。
【0032】この実施の形態においては、2つの基本的
なキュー、すなわちアトミックキューとストリーミング
キューとを用いる。アトミックキューにおいては、SD
Uの境界は、保護される。すなわち、アトミックキュー
に関しては、受信機が読み出すキューと送信側が書き込
んだキューとがに正確に一致する。一方、ストリーミン
グキューによれば、送信側が書き込んだキュートはサイ
ズの異なるキューからSDUを読み出すことができる。
この場合、ストリーミングキューにおけるデータは、キ
ューから削除される前に、受信側において確実に読み出
される。
【0033】他の実施の形態においては、複数のプログ
ラムオブジェクト又はモジュールは、複数のキューによ
り相互に接続される。優先度付与メカニズム(priority
mechanism)により、例えば、あるキューを通常のデー
タ転送に用い、他のキューを緊急のデータ転送に用いる
ことができる。システムは、緊急のキューからのデータ
を通常のキューからのデータに先行させてモジュールに
転送する。
【0034】さらに、他の実施の形態においては、SD
Uの転送に関し通常の優先度と緊急の優先度といった2
つの優先度のいずれかをそれぞれ有する複数のキューを
相互接続することにより、プログラムオブジェクトは双
方向的に相互接続される。例えば、緊急の優先度を有す
るキューにより転送されるSDUは、他のすべての通常
の優先度を有するSDUに先行してそのキューの他端に
到着する。
【0035】本発明において、SDUは、モジュール間
の情報の授受に用いる基本的なデータユニットである。
SDUは、すべてのモジュールに共有されるダイナミッ
クメモリバッファであり、データの処理に用いられ、こ
のSDUを使用することにより、データの物理的なコピ
ーの生成を可能な限り回避することができる。
【0036】モジュールは、通常、以下のようなステッ
プを繰り返し行う。すなわち、モジュールは、キューか
らSDUを受け取り、SDUを処理するとともにモジュ
ールの内部状態を更新し、次のモジュールに1又は複数
のモジュールを送り、オプションとして後処理を行い、
次のSDUの受信を待機する。
【0037】各モジュールは、実行時に、キューを用い
て相互接続される。また、これらのキューは、随時削除
することがきる。これにより、プロトコル層を動的に生
成し、あるいは環境の構築を行うことができる。
【0038】mNet上のプロトコル層を動的に構築す
る手法におけるコーディングの例を以下に示す。まず、
コードは、mNRT::Find service(mNet検索サービ
ス)を用いて、プロトコル層のすべてのモジュールを検
索する。つづいて、モジュールは、mNet::Open service
を用いて、アトミックキューにより相互接続される。
【0039】
【数1】
【0040】
【数2】
【0041】データユニットは1組のモジュール間で順
次受け渡され、各モジュールは、データユニットに対し
て所定の処理を行ったのち、次のモジュールにデータユ
ニットを渡す。これらの処理は、可能な限り高速に行う
必要があるため、データユニットのコピーは行わない。
すなわち、データをコピーするかわりに、データユニッ
トを指示するデータ参照値及びキューをモジュール間で
受け渡す。
【0042】したがって、すべてのSDUは、データユ
ニットのメモリプールを管理する中央のSDUマネージ
ャにより管理される。このメモリプールは、mNetの
SDUマネージャと、すべてのmNetモジュール及び
キューにより供給される。
【0043】例えば、図4に示すように、プログラムオ
ブジェクト30,31のSDU33,34は、メモリプ
ール32内に格納され、メモリプール32は、SDUマ
ネージャ35が管理する。
【0044】例えばあるプログラムオブジェクト30か
ら他のプログラムオブジェクト31に移動するときに、
共有のメモリプール32内のSDU33又はSDU34
の物理的なコピーの生成や移動を回避するために、SD
Uは、参照値により管理される。参照値は、図5〜7を
用いて後述するように、SDUが格納されているメモリ
のアドレス、SDU内のデータユニットのオフセット及
びサイズを示す。
【0045】例えば、UDPを用い、ATMネットワー
クを介してデータユニットを送信するプログラムアプリ
ケーションがあるとする。このプログラムアプリケーシ
ョンは、まず、アプリケーションデータユニットを内包
するSDUを構築する。
【0046】図5(a)は、メモリプール22に格納さ
れたオリジナルSDUのレイアウトを示し、図5(b)
は、SDUの論理的構造を示す図である。SDU内のデ
ータは、サイズが可変のデータユニットに格納され、実
際のSDUは、一定のオフセットを有するリンクデータ
ユニットにより構成されている。このSDUは、UDP
モジュールに渡される。UDPモジュールは、SDUに
適切なヘッダを追加する。
【0047】この処理を図6(a)に示す。さらに、こ
れにより構築されるSDUのメモリのレイアウトの論理
的構成を図6(b)に示す。UDPモジュールは、この
処理の後、SDUをIPモジュールに渡す。IPモジュ
ールは、必要に応じてUDPデータグラムを断片化し、
各断片(fragment)にヘッダを追加する。SDUの断片
化及びヘッダの挿入処理を図7(a)及び図7(b)に
示す。このような処理が施されたデータユニットは、A
TMドライバに渡された後、ネットワークに送信され
る。
【0048】以上のような一連の処理が行われる間、S
DUデータユニットは、一度もコピーされず、また移動
もされない。すなわち、SDUの参照値を認識し、SD
Uのオフセット及びサイズを認識することのみにより処
理が行われる。これにより、通信処理が高速かつ信頼性
の高いものとなる。
【0049】SDUに対する上述のような処理は、次の
ような利点を有する。まず、SDU間でデータを共有で
き、そのため、実際にデータを物理的にコピーしたり移
動させたりすることなく、参照値及び参照値カウンタを
保持することにより、SDU間のデータの受け渡しを行
うことができる。さらに、物理的にデータをコピー又は
移動することなく、SDUへのデータの追加、及びSD
Uからのデータの削除を行うことができる。また、SD
Uデータをメモリに連続的に格納する必要がない。
【0050】さらに、他の実施の形態においては、SD
Uは、メモリバッファを共有するSDUプール内に構
築、すなわち生成及び割り当てられる。各プログラムオ
ブジェクト又はモジュールには、単一のSDUプールが
割り当てられており、SDUプールは、SDUを生成
し、SDUにデータを割り当てる。
【0051】好ましい実施の形態においては、中間構造
ソフトウェア及びアプリケーションプログラムは、それ
ぞれの特定の用途に応じて最適化された異なるSDUプ
ールを有している。SDUプールは、複数のオブジェク
ト又はモジュール間で共有することができる。これによ
り、容量が大きいSDUプールに重要なプログラムオブ
ジェクトを格納し、容量の小さいSDUプールに比較的
重要度の低いプログラムオブジェクトを格納するといっ
た処理を行うことができる。SDUプールは、間接的
に、階層プロトコルにローカルフロー制御メカニズムを
提供する。
【0052】さらに別の実施の形態においては、プログ
ラムオブジェクト又はモジュールにネーミングサービス
を提供する。これにより、プログラムオブジェクト又は
モジュールは、シンボル的な名称が付された他のプログ
ラムオブジェクト又はモジュールを検索することができ
る。すなわち、この実施の形態は、特定のハードウェア
環境とシンボル的な名称とをマッピングした内部通信メ
カニズムを提供する。なお、このようなメカニズムを構
築する場合、上述した参照値より先にこの名称をマッピ
ングするようにしてもよく、また、この名称をマッピン
グした後に参照値をマッピングしてもよい。
【0053】本発明は、上述した実施の形態に限定され
るものではなく、特許請求の範囲に記載された発明の主
旨を逸脱しない範囲で、上述の実施の形態を様々に変更
することができる。
【0054】
【発明の効果】本発明に係るデータ通信装置及びデータ
通信方法では、中間構造ソフトウェアの一部である第1
のプログラムオブジェクトにデータユニットを供給し、
第1のプログラムオブジェクトにより、データユニット
に対して第1の処理を施した後、データユニットを第2
のプログラムオブジェクトに供給し、第2のプログラム
オブジェクトにより、データユニットに対して第2の処
理を施す。
【0055】このような構成により、ネットワーク階層
モデルにおいて、最適な実行時間環境を構築でき、デー
タ通信を効率的かつ高速に行うことができる。
【図面の簡単な説明】
【図1】ネットワークに接続されたパーソナルコンピュ
ータの構成を示すブロック図である。
【図2】プロトコル階層構造を示す図である。
【図3】本発明の実施の形態であるデータ通信装置を示
す図である。
【図4】プログラムオブジェクト間で共有されるメモリ
プールを示す図である。
【図5】データユニットのメモリにおけるレイアウト及
び論理的構成を示す図である。
【図6】UDPヘッダが追加されたデータユニットのメ
モリにおけるレイアウト及び論理的構成を示す図であ
る。
【図7】2つのIPパケットに断片化され、それぞれに
ヘッダが追加されたデータユニットのメモリにおけるレ
イアウト及び論理的構成を示す図である。
【符号の説明】
0 メタスペースmCoop,14 メタスペースmN
et,15 メタスペースmDrive,20 アプリ
ケーションオブジェクト,21 アプリケーションオブ
ジェクト,22 プログラムオブジェクト,23 プロ
グラムオブジェクト,24 プログラムオブジェクト,
25 プログラムオブジェクト,26プログラムオブジ
ェクト,27 デバイスドライバ,28 デバイスドラ
イバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マリフート フィリップ ベルギー国 ブリュッセル ビー−1130 サント スティーブンス ヴォルヴェスト ラート 55 ソニー オブジェクティブ コンポーザー内

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 中間構造ソフトウェアを介してアプリケ
    ーションプログラムとネットワークデバイスドライバプ
    ログラムとの間のデータ通信を行うデータ通信方法であ
    って、 上記アプリケーションプログラムから上記中間構造ソフ
    トウェアの一部である第1のプログラムオブジェクトに
    上記アプリケーションプログラムのデータユニットを供
    給するステップと、 上記第1のプログラムオブジェクトにより、上記データ
    ユニットに対して第1の処理を施すステップと、 上記第1の処理が施されたデータユニットを上記第1の
    プログラムオブジェクトから上記中間構造ソフトウェア
    の一部である第2のプログラムオブジェクトに供給する
    ステップと、 上記第2のプログラムオブジェクトにより、上記第1の
    処理が施されたデータユニットに対して第2の処理を施
    すステップと、 上記第2の処理が施されたデータユニットを上記ネット
    ワークデバイスドライバプログラムに供給するステップ
    とを有するデータ通信方法。
  2. 【請求項2】 上記データユニットは、相互接続された
    複数のキューオブジェクトを介して送受されることを特
    徴とする請求項1記載のデータ通信方法。
  3. 【請求項3】 上記第1のプログラムオブジェクトから
    上記第2のプログラムオブジェクトへの上記データユニ
    ットの供給は、該データユニットが格納されているメモ
    リにおけるアドレスの参照値を渡すことにより実行され
    ることを特徴とする請求項1記載のデータ通信方法。
  4. 【請求項4】 上記複数のキューオブジェクトはそれぞ
    れ異なる優先度を有していることを特徴とする請求項2
    記載のデータ通信方法。
  5. 【請求項5】 上記アプリケーションプログラムの実行
    時において、プログラムオブジェクトが追加されること
    を特徴とする請求項1記載のデータ通信方法。
  6. 【請求項6】 上記アプリケーションプログラムの実行
    時において、プログラムオブジェクトが削除されること
    を特徴とする請求項1記載のデータ通信方法。
  7. 【請求項7】 上記プログラムオブジェクトは、上記デ
    ータユニットに所定の処理を施し、次のプログラムオブ
    ジェクトに該処理を施したデータユニットを供給した
    後、追加機能に基づく処理を実行することを特徴とする
    請求項1乃至6いずれか1項記載のデータ通信方法。
  8. 【請求項8】 上記データユニットの受け渡しを行うス
    テップは、該データユニットからの情報を追加又は削除
    するステップを有することを特徴とする請求項2又は3
    記載のデータ通信方法。
  9. 【請求項9】 上記データユニットをデータユニット断
    片に分割するステップ、あるいは、データユニット断片
    を1つのデータユニットに統合するステップを有するこ
    とを特徴とする請求項3記載のデータ通信方法。
  10. 【請求項10】 1又は複数のデータユニットを内包す
    るサービスデータユニットを準備するステップを有する
    ことを特徴とする請求項1乃至9いずれか1項記載のデ
    ータ通信方法。
  11. 【請求項11】 上記サービスデータユニットの参照値
    を参照するステップを有することを特徴とする請求項1
    0記載のデータ通信方法。
  12. 【請求項12】 上記アプリケーションプログラムと上
    記ネットワークデバイスドライバプログラムとの間の通
    信を司る特定の実行環境を準備するステップを有するこ
    とを特徴とする請求項1乃至11いずれか1項記載のデ
    ータ通信方法。
  13. 【請求項13】 上記データユニットは、特定の用途に
    適応するデータプール内に格納されることを特徴とする
    請求項1乃至12いずれか1項記載のデータ通信方法。
  14. 【請求項14】 ハードウェアとシンボル的名称とのマ
    ッピングによる内部通信メカニズムを準備するステップ
    を有することを特徴とする請求項1乃至13いずれか1
    項記載のデータ通信方法。
  15. 【請求項15】 1つのキューオブジェクト内におい
    て、データユニットの転送に関する2以上の優先度を設
    けることを特徴とする請求項4記載のデータ通信方法。
  16. 【請求項16】 中間構造ソフトウェアを介してアプリ
    ケーションプログラムとネットワークデバイスドライバ
    プログラムとの間のデータ通信を行うデータ通信装置で
    あって、 上記中間構造ソフトウェアの一部であり、上記アプリケ
    ーションプログラムとの間で送受されるデータユニット
    に対して第1の処理を施す第1のプログラムオブジェク
    トと、 上記中間構造ソフトウェアの一部であり、上記ネットワ
    ークデバイスドライバとの間で送受されるデータユニッ
    トに対して第2の処理を施す第2のプログラムオブジェ
    クトとを備えることを特徴とするデータ通信装置。
  17. 【請求項17】 メモリを備え、 参照値を用いて、上記メモリの一部にサービスデータユ
    ニットを格納することを特徴とする請求項16記載のデ
    ータ通信装置。
  18. 【請求項18】 上記サービスデータユニットを管理す
    るサービスデータユニット管理手段を備えることを特徴
    とする請求項16又は17記載のデータ通信装置。
  19. 【請求項19】 中間構造ソフトウェアを介してネット
    ワークデバイスドライバプログラムとアプリケーション
    プログラムとの間のデータ通信を行うデータ通信方法で
    あって、 上記ネットワークデバイスドライバプログラムから上記
    中間構造ソフトウェアの一部である第1のプログラムオ
    ブジェクトにデータユニットを供給するステップと、 上記第1のプログラムオブジェクトにより、上記データ
    ユニットに対して第1の処理を施すステップと、 上記第1の処理が施されたデータユニットを上記第1の
    プログラムオブジェクトから上記中間構造ソフトウェア
    の一部である第2のプログラムオブジェクトに供給する
    ステップと、 上記第2のプログラムオブジェクトにより、上記第1の
    処理が施されたデータユニットに対して第2の処理を施
    すステップと、 上記第2の処理が施されたデータユニットを上記アプリ
    ケーションプログラムに供給するステップとを有するデ
    ータ通信方法。
JP11031519A 1998-02-09 1999-02-09 デ―タ通信方法及びデ―タ通信装置 Withdrawn JP2000067017A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98200379A EP0935192A1 (en) 1998-02-09 1998-02-09 Method and system for communication between application programs and a network
EP98200379.0 1998-02-09

Publications (1)

Publication Number Publication Date
JP2000067017A true JP2000067017A (ja) 2000-03-03

Family

ID=8233369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11031519A Withdrawn JP2000067017A (ja) 1998-02-09 1999-02-09 デ―タ通信方法及びデ―タ通信装置

Country Status (4)

Country Link
US (1) US7069561B1 (ja)
EP (1) EP0935192A1 (ja)
JP (1) JP2000067017A (ja)
KR (1) KR19990072483A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265029A (ja) * 2006-03-28 2007-10-11 Nomura Research Institute Ltd ジョブ管理装置およびジョブ管理方法
JP2011215693A (ja) * 2010-03-31 2011-10-27 Mitsutoyo Corp 通信ソフトウェア

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090856B1 (en) * 2000-01-31 2012-01-03 Telecommunication Systems, Inc. Intelligent messaging network server interconnection
US7003571B1 (en) * 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7689696B2 (en) * 2000-01-31 2010-03-30 Telecommunication Systems, Inc. System and method for re-directing requests from browsers for communications over non-IP based networks
US7290266B2 (en) * 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
CN1317868C (zh) * 2002-05-28 2007-05-23 中兴通讯股份有限公司 一种基于类模板管理器的通讯报文处理设备和方法
EP1489592A1 (en) * 2003-06-19 2004-12-22 Texas Instruments Incorporated Accessing video memory in programming language representation
US7523220B2 (en) * 2003-09-17 2009-04-21 Microsoft Corporation Metaspace: communication middleware for partially connected mobile ad hoc networks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619647A (en) * 1994-09-30 1997-04-08 Tandem Computers, Incorporated System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait
US5754854A (en) * 1994-11-14 1998-05-19 Microsoft Corporation Method and system for providing a group of parallel resources as a proxy for a single shared resource
US6393496B1 (en) * 1995-11-09 2002-05-21 Curtis A. Schwaderer Operating system and network independent application program interface for use in an intelligent communication device
US5954794A (en) * 1995-12-20 1999-09-21 Tandem Computers Incorporated Computer system data I/O by reference among I/O devices and multiple memory units
US5826010A (en) * 1996-02-12 1998-10-20 Banyan Systems, Inc. Predefined access rights for undefined attributes in a naming service
US6535929B1 (en) * 1996-07-02 2003-03-18 Sun Microsystems, Inc. Universal communication mechanism for applications running in a multitasking environment
US6289393B1 (en) * 1996-09-03 2001-09-11 Insession Inc. System, method and article of manufacture for transaction processing and monitoring of independent interacts
US6253255B1 (en) * 1997-05-08 2001-06-26 Microsoft Corporation System and method for batching data between transport and link layers in a protocol stack
US6807667B1 (en) * 1998-09-21 2004-10-19 Microsoft Corporation Method and system of an application program interface for abstracting network traffic control components to application programs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265029A (ja) * 2006-03-28 2007-10-11 Nomura Research Institute Ltd ジョブ管理装置およびジョブ管理方法
JP2011215693A (ja) * 2010-03-31 2011-10-27 Mitsutoyo Corp 通信ソフトウェア

Also Published As

Publication number Publication date
US7069561B1 (en) 2006-06-27
EP0935192A1 (en) 1999-08-11
KR19990072483A (ko) 1999-09-27

Similar Documents

Publication Publication Date Title
US7461160B2 (en) Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US7788391B2 (en) Using a threshold value to control mid-interrupt polling
US7996583B2 (en) Multiple context single logic virtual host channel adapter supporting multiple transport protocols
JP4091665B2 (ja) スイッチ・ネットワーク要素における共用メモリ管理
US7953817B2 (en) System and method for supporting TCP out-of-order receive data using generic buffer
US8121148B2 (en) Protocol stack using shared memory
US7827295B2 (en) Protocol stack
US6760304B2 (en) Apparatus and method for receive transport protocol termination
US7865633B2 (en) Multiple context single logic virtual host channel adapter
US20050198311A1 (en) System and method for managing connections between a client and a server
US20040054814A1 (en) System and method for handling frames in multiple stack environments
JP2004534311A (ja) 共有属性に基づいて圧縮キューペアから複数の仮想キューペアを作成する構成
US20030115350A1 (en) System and method for efficient handling of network data
EP1665662A1 (en) Method, system, and article of manufacture for utilizing host memory from an offload adapter
US20040260841A1 (en) Method, apparatus, and system for internet protocol communication over intelligent platform management bus
EP1494424B1 (en) System and method for message-based scalable data transport
EP1589424A2 (en) Vertical perimeter framework for providing application services in multi-CPU environments
JP2000067017A (ja) デ―タ通信方法及びデ―タ通信装置
CN113127139B (zh) 一种基于数据面开发套件dpdk的内存分配方法和装置
US7209971B1 (en) Architecture and run-time environment for network filter drivers
CN1679015A (zh) 用于独立于带宽延迟产品的tcp/ip卸载的系统和方法
CN115801770A (zh) 一种基于全用户态quic协议的大文件传输方法
JPH07111697B2 (ja) 高速通信バッファリング制御方法
CN102971723A (zh) 一种分布式多进程通信方法和装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060509