JPH07117934B2 - データ処理システムおよび方法 - Google Patents

データ処理システムおよび方法

Info

Publication number
JPH07117934B2
JPH07117934B2 JP5046696A JP4669693A JPH07117934B2 JP H07117934 B2 JPH07117934 B2 JP H07117934B2 JP 5046696 A JP5046696 A JP 5046696A JP 4669693 A JP4669693 A JP 4669693A JP H07117934 B2 JPH07117934 B2 JP H07117934B2
Authority
JP
Japan
Prior art keywords
message
storage
processing system
server
data processing
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.)
Expired - Lifetime
Application number
JP5046696A
Other languages
English (en)
Other versions
JPH0683745A (ja
Inventor
(エヌエムエヌ) マイヤー クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0683745A publication Critical patent/JPH0683745A/ja
Publication of JPH07117934B2 publication Critical patent/JPH07117934B2/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/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、「クライアント」およ
び「サーバ」コンピュータプロセス間通信の処理に関す
る。特に、本発明は、サーバプロセスにおけるデータ移
動オペレーションを軽減し、両プロセス間通信に関連す
るオーバヘッドを最小にすることに関する。
【0002】
【従来の技術】幾つかの種別の通信トランスポートを介
して、2つのプロセスによりメッセージの受け渡しを行
なわなければならないアプリケーションが数多くある。
このようなアプリケーションは「協調アプリケーショ
ン」と呼ばれており、それらのアプリケーションにより
行われる処理は「協調処理」と呼ばれる。関係する2つ
のプロセスが異なるコンピュータ上でパフォームされる
ことは往々にしてあることである。データをコンピュー
タ間およびプロセス間で移動するため、計算オーバヘッ
ドが増大する。また、アプリケーションまたはオペレー
ティング環境によるが、一度、データが「サーバ」プロ
セスにより受信されると、そのデータをサーバのローカ
ル記憶の異なる場所に移動させるため、オーバヘッドが
増大することがある。このオーバヘッドにより、このよ
うなアプリケーションのパフォーマンスが大幅に削減さ
れるので、協調処理は、プロセス間および各プロセス内
でデータの移動を最小限にすることを重要な目的として
いる。
【0003】プロセス間通信に関連するオーバヘッドを
削減するため、通信の中には複数の小さいメッセージを
バンドルして単一のより大きなバッファに入れることを
容易にしたものがある。このようにすることにより通信
能力に対する仕事の量を削減することができるが、可変
長メッセージを結合して単一バッファに入れると、記憶
空間の管理がサーバの現実問題となる。多くのオペレー
ティング環境は幾つかの予定数単位の偶数倍でのみ、ア
プリケーションに記憶域を割り振るというスキーマを用
いている。8単位の倍数で記憶域を割り振る記憶マネー
ジャでは、アプリケーションが5単位の記憶域を要求し
た場合、実際には、8単位がそのアプリケーションに戻
されることになる。このような環境では、バンドルされ
ている可変長メッセージの集合が記憶域におかれたと
き、そのメッセージの始めと終りの境界は、多分、記憶
マネージャの最小記憶単位サイズと一致しないことにな
る。メッセージ集合の全体が受信され記憶の連続バッフ
ァに入れられた場合、そのブロックをオペレーティング
環境に戻すことができるまで、全てのメッセージバッフ
ァを処理しなければならない。というのは、各メッセー
ジが処理されたように各メッセージを解放しようとする
と、1つのメッセージの終りと、そのバッファの次の記
憶単位の境界との間のメッセージは一部が破壊されるこ
とになるからである。ブロックをオペレーティング環境
に戻すまでに、全てのバッファをブロック単位で処理す
ることにより、そのメッセージの数またはサイズが大き
い場合、そのシステムの記憶域を制約しかねない。
【0004】記憶域の制約を回避するため、メッセージ
が小さい場合は、メッセージを個々に受信し、そのメッ
セージのサイズに調整されたバッファに入れることにな
る。この場合、複数の受信オペレーションを呼び出し各
メッセージをローカルバッファに入れるため、オーバヘ
ッドが増大し、同様に、複数バッファを割り振るのに必
要以上の記憶マネージャを呼び出すためオーバヘッドが
増大する。
【0005】上述した従来例に係るメッセージバンドル
スキーマは、どれも、協調処理では充分にパフォームし
ない。メッセージをバンドルした上、記憶関連パフォー
マンスを充分に行う機会を利用する方法が必要である。
【0006】
【課題を解決するための手段】本発明の第1実施例はコ
ンピュータ化されたデータ処理システムであって、クラ
イアントおよびサーバを含むデータ処理システムであ
る。サーバは幾つかの細分性nの整数倍でのみ、その記
憶域の割り振りを解除することができる。クライアント
はメッセージをサーバに送信し、サーバにて、まず、そ
のメッセージに埋め込んでそれぞれnの整数倍にし、つ
いで、その埋め込みを行ったメッセージをバンドルし、
単一の単位で送信される1つのバンドルにする。サーバ
はそのバンドルを受信し、各メッセージに対して記憶域
の対応する部分であってnの整数倍である部分を判定す
る。サーバは、そのメッセージのうちの最初のメッセー
ジに対応する記憶域の部分の割り振りを解除する。これ
は、記憶域の第2メッセージに対応する部分の割り振り
解除とは独立に行われる。
【0007】本発明の第2実施例は第1コンピュータシ
ステムと第2コンピュータシステムの間で通信を行う方
法であって、その第2コンピュータシステムが記憶割り
振り解除細分性nを有する方法である。第1コンピュー
タシステムは第1および第2メッセージを作成し、それ
らのメッセージに埋め込んでそれぞれnの整数倍にし、
埋め込みを行ったメッセージをバンドルし、そのバンド
ルを第2コンピュータシステムに送信する。第2コンピ
ュータシステムは第1コンピュータシステムからそのバ
ンドルを受信し、そのバンドルを単一のバッファに記憶
する。各メッセージは記憶域の部分であってnの整数倍
である部分にある。そのメッセージを処理する際には、
サーバは、第2メッセージに対応する記憶域の部分の割
り振りを解除する前に、記憶域の第1メッセージに対応
する部分の割り振りを解除する。
【0008】サーバ記憶マネージャにより強要されるル
ールに従った方法で、各メッセージをクライアントでパ
ッケージすることにより、通信トランスポート、クライ
アント、またはその両方により複数メッセージをバンド
ルすることができる。その結果、メッセージのバンドル
の全体を、単一の「受信データ」オペレーションで、通
信トランスポートから1つの大きなバッファに移動させ
ることができる。一度、メッセージが受信されると、各
メッセージはアンバンドルされ、ついで、任意の順番で
適正に処理される。メッセージが処理された後、そのメ
ッセージが占有していた記憶域とともに、クライアント
により付加された任意の「埋め込み空間」が、直ちに、
記憶マネージャに戻され再使用される。
【0009】次のようにすることができる。
【0010】1) 本発明に係るデータ処理システム
は、クライアントシステムと、記憶割り振り解除細分性
を有するサーバと、少なくとも第1および第2メッセー
ジをクライアントからサーバに送信する手段とを含むコ
ンピュータ化されたデータ処理システムであって、前記
第1および第2メッセージを送信する前にそれらのメッ
セージに埋め込んでサーバ記憶割り振り解除細分性の整
数倍にする手段と、バンドルを前記サーバに送信する前
に、埋め込みを行った第1および第2メッセージをバン
ドルして1つのバンドルにする手段と、サーバにある手
段であって、前記バンドルを受信し、前記第1および第
2メッセージに対して前記メッセージにそれぞれ対応す
る記憶部分を判定し、記憶の前記部分はサーバ記憶割り
振り解除細分性の整数倍である手段と、前記第2メッセ
ージに対応する記憶部分の割り振りを解除する前に前記
第1メッセージに対応する記憶の前記部分の割り振りを
解除する手段とを備えたことを特徴とする。
【0011】2) 上記1)に記載のデータ処理システ
ムにおいて、クライアントおよびサーバシステムは、物
理的に個別のコンピュータを備え、前記送信する手段は
物理通信トランスポートを備えたことを特徴とする。
【0012】3) 上記2)に記載のデータ処理システ
ムにおいて、クライアントコンピュータは埋め込み手段
を含むことを特徴とする。
【0013】4) 上記3)に記載のデータ処理システ
ムにおいて、クライアントコンピュータはバンドル手段
を含むことを特徴とする。
【0014】5) 上記4)に記載のデータ処理システ
ムにおいて、バンドルは各メッセージに対してメッセー
ジディスクリプタと埋め込みを行ったメッセージを含む
ことを特徴とする。
【0015】6) 上記5)に記載のデータ処理システ
ムにおいて、各メッセージに対応する前記記憶域の部分
は埋め込みを行ったメッセージを含み、かつ、連続する
メッセージに対するメッセージディスクリプタが存在す
る場合は、そのメッセージディスクリプタを含むことを
特徴とする。
【0016】7) 上記2)に記載のデータ処理システ
ムにおいて、サーバコンピュータは記憶割り振り細分性
に基づき記憶域の割り振りを解除する記憶マネージャを
含み、前記記憶マネージャは割り振り解除を行う手段を
含むことを特徴とする。
【0017】8) 本発明に係るデータ処理システムに
おいて、クライアントコンピュータは、少なくとも第1
および第2メッセージを作成する手段と、前記メッセー
ジに埋め込んで個々に記憶細分性の整数倍にする手段
と、埋め込みを行ったメッセージをバンドルして1つの
バンドルにする手段と、前記バンドルを送信する手段と
を含み、サーバコンピュータは、前記バンドルをクライ
アントコンピュータから受信する手段と、前記第1およ
び第2メッセージに対して該メッセージに対応する記憶
域の個々の部分を判定し、前記記憶域の部分は記憶細分
性の整数倍である手段と、前記メッセージを処理する手
段と、前記第2メッセージに対応する記憶域の部分の割
り振りを解除する前に、前記第1メッセージに対する記
憶域の部分の割り振りを解除する手段とを備えたことを
特徴とする。
【0018】9) 上記8)に記載のデータ処理システ
ムは、バンドルを、クライアントコンピュータの送信手
段から、サーバコンピュータのバンドル受信手段に送信
するための通信トランスポートをさらに含むことを特徴
とする。
【0019】10) 上記8)に記載のデータ処理シス
テムにおいて、バンドルは前記メッセージに対してそれ
ぞれメッセージディスクリプタおよび埋め込みを行った
メッセージを含むことを特徴とする。
【0020】11) 上記10)に記載のデータ処理シ
ステムにおいて、メッセージディスクリプタはそれぞれ
各メッセージの前のメッセージリーダであり、記憶細分
性の整数倍であることを特徴とする。
【0021】12) 上記10)に記載のデータ処理シ
ステムにおいて、各メッセージに対応する記憶域の部分
は、埋め込みを行ったメッセージと、次のメッセージに
対するメッセージリーダが存在する場合は、そのメッセ
ージリーダを備えたことを特徴とする。
【0022】13)上記8)に記載のデータ処理システ
ムにおいて、受信する手段と前記判定する手段は前記サ
ーバコンピュータのアンバンドラプロセスに含まれるこ
とを特徴とする。
【0023】14) 上記8)に記載のデータ処理シス
テムにおいて、割り振り解除手段は前記サーバコンピュ
ータの記憶マネージャに含まれ、前記記憶マネージャは
前記記憶域の部分を割り振る手段をさらに含むことを特
徴とする。
【0024】15) 本発明に係る方法において、第1
のコンピュータ化されたデータ処理システムと第2のコ
ンピュータ化されたデータ処理システムの間で通信し、
前記第2のコンピュータ化されたデータ処理システムは
記憶割り振り解除細分性を有する方法において、前記第
1のコンピュータ化されたデータ処理システムは、
(a)第1および第2メッセージを作成するステップ
と、(b)前記メッセージに埋め込んで前記記憶割り振
り解除細分性の整数倍にするステップと、(c)前記埋
め込みを行ったメッセージをバンドルするステップと、
(d)前記バンドルを前記第2のコンピュータ化された
データ処理システムに送信するステップとを備え、前記
第2のコンピュータ化されたデータ処理システムは、
(e)前記バンドルを前記第1のコンピュータ化された
データ処理システムから受信するステップと、(f)前
記バンドルを連続して記憶し、各メッセージは前記記憶
割り振り解除細分性の整数倍である記憶域の対応する部
分を有するステップと、(g)前記第1メッセージを処
理するステップと、(h)前記第1メッセージに対応す
る記憶域の部分を前記第2メッセージに対応する記憶域
の部分の割り振り解除に無関係に割り振り解除するステ
ップとを備えたことを特徴とする。
【0025】16) 上記15)に記載の方法におい
て、バンドルするステップは前記メッセージの間にメッ
セージディスクリプタを付加するステップを備えたこと
を特徴とする。
【0026】17) 上記16)に記載の方法におい
て、バンドルするステップは各メッセージの前にメッセ
ージリーダを付加するステップを備えたことを特徴とす
る。
【0027】18) 上記15)に記載の方法におい
て、メッセージは各記憶域の部分の所定の場所で処理を
行うことを特徴とする。
【0028】19) 上記18)に記載の方法におい
て、前記第1メッセージに対応する記憶域の部分の割振
りを解除するステップは、前記メッセージの処理に応答
してパフォームされることを特徴とする。
【0029】20) 上記15)に記載の方法におい
て、第1コンピュータはクライアントワークステーショ
ンコンピュータであり、前記第2コンピュータはサーバ
ホストコンピュータであることを特徴とする。
【0030】本発明の他の特徴および効果は、本発明の
好ましい実施例を図面を参照して詳細に説明することに
より明らかになるであろう。
【0031】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0032】概観 図1を説明する。本発明に係る協調処理システム10は
クライアント12を含む。クライアント12はメッセー
ジ14a,14b,..,14m(集合体としては1
4)をサーバ16に送信する。サーバ16はそのメッセ
ージを受信し処理する。クライアントのメッセージは通
信トランスポート18を介して送信される。通信トラン
スポート18はクライアントとサーバの間の通信プロト
コル(例えば、APPC,TCP,UDP,NetBI
OS等)をサポートする。サーバ16は記憶マネージャ
20と、1つ以上のサーバプロセス21a,21
b,..,21m(集合体としては21)を含む。記憶
マネージャ20は記憶域を記憶単位のある最小数(n)
の偶数倍で管理する。しかも、記憶マネージャ20は、
割り振られた現容量より小さい記憶容量に対する複数割
り振り解除要求により、記憶のブロックを記憶マネージ
ャ20に戻すことができる。サーバプロセス21は、ク
ライアントからの個々のメッセージ14に入れたデータ
を用いてデータ処理タスクをパフォームする。クライア
ントサーバプロセス間の対話は協調処理を備えている。
【0033】クライアント12は、サーバ12の記憶マ
ネージャ20により強要されるルールに従った方法で、
各メッセージ14をパッケージする。通信トランスポー
ト18はメッセージのバンドル12をクライアント12
から伝送する。その結果、サーバはメッセージのバンド
ル全体を通信トランスポート18からサーバ記憶領域の
1つの大きなバッファ24に移動することができる。各
メッセージ14はバッファ24の対応する部分24a,
24b,..,24mを占有する。一度、受信される
と、各メッセージ14がアンバンドルされ、メッセージ
が送信されたサーバプロセスにより適正に処理される。
各メッセージが処理された後、各メッセージにより占有
された記憶域であって、クライアントにより付加された
任意の埋め込み空間を含む記憶域24a,24b,24
mは、直ちに、割り振りが解除され、記憶マネージャ2
0に戻され、再使用される。
【0034】ここで用いた重要な技法は「埋め込み」で
あり、この埋め込みは1つのフィールドの終りと次のフ
ィールドの始めの間の余分な空間を埋めることである。
埋め込み長を決定するため、「切り上げ」を用いて、あ
る値xを超える所定の整数mの最小偶数倍を計算する。
切り上げを求める普通の式は、
【0035】
【数1】丸めた値=((x+(m−1))/m)*m であり、この式は次の記述で度々参照する。
【0036】図2はメッセージのフォーマット方法を示
し、一度、メッセージがバンドルされると、このような
メッセージが何回現れるかを示す。
【0037】メッセージのバンドルされたバッファ24
は図2において左側に示す。各メッセージ14は最初に
リーダ26a,26b,..,26m(集合体としては
26)があり、リーダの次に充分な埋め込み空間30
a,30b,..,30m(集合体として30)があ
り、リーダの長さを、記憶マネージャ20により処理さ
れる記憶単位nの最少数の偶数倍にしてある。所定のサ
ーバ16に送信される全メッセージのリーダは同一サイ
ズであるのが好ましい。メッセージ14の終りには、テ
ール埋め込み空間32a,..,32m(集合体として
は32)を付加して、バッファ24のメッセージ記憶2
4a,24b,24mの結果の長さをnの偶数倍にす
る。しかし、メッセージデータ14の長さがnの偶数倍
である場合、テール埋め込み空間32は、第2メッセー
ジ14bに示すように、そのメッセージの終りに追加さ
れない。
【0038】各メッセージ14に対する長さフィールド
は、各サーバプロセス21が用いて実際のメッセージデ
ータ14の長さを決定することができる長さ情報を含
む。これは、メッセージデータだけの長さになるかもし
れないが、リーダ26の長さに、埋め込まれないメッセ
ージデータ14の長さをプラスした長さであるのが好ま
しい。リーダ26は固定長であるので、サーバプロセス
は、クライアント12によりサーバプロセスに送信され
たメッセージデータ14の正確な量をこの長さフィール
ド28により決定することができる。
【0039】リーダ26およびテール埋め込み空間32
を付加することにより、埋め込みを行ったメッセージ2
4a,24b,24mのそれぞれの長さはnの偶数倍で
あることが保証される。さらに、幾つかの埋め込みを行
ったメッセージ24a,24b,24mが結合され単一
の大きいバッファ24に入れられる場合、次のことが保
証される。すなわち、バンドルのうちの第1の埋め込み
を行ったメッセージ24aの第1キャラクタがn単位境
界に位置されると、バッファ24の他の埋め込みを行っ
た全てのメッセージ24b,24mが開始され、n単位
の境界で終了する。これにより、バッファの部分24
a,24b,24mの割り振りが少しづつ解除される。
このことは次のセクションで説明する。
【0040】バッファ記憶のアンバンドルと割り振り解
サーバでは、各メッセージがバッファから取り出され、
各メッセージがアドレス指定されたサーバプロセスによ
り処理される。その後、そのメッセージを含む記憶域の
部分は最小数の割り振り解除呼び出しを用いて戻され
る。サーバ16がメッセージのバンドルされたバッファ
24を受信し、記憶域に入れるとき、アンバンドラプロ
セス34(図1)はそれぞれ埋め込みを行ったメッセー
ジ24a,24b,24mをバンドルからピックし、処
理されるメッセージが存在することを各サーバプロセス
21に通知する。
【0041】図2において右側は、各埋め込みを行った
メッセージ24a,24b,24mは、バンドルされた
バッファ24から論理的にどうのように切断されるかを
示す。アンバンドラ34は3つのパラメータを、メッセ
ージ14を受信するサーバプロセス21にそれぞれ渡
す。これらのパラメータにより、メッセージデータ24
a,24b,24mを位置指定できることを保証すると
ともに、そのメッセージにより占有された記憶域を記憶
マネージャ20に戻すことができることを保証する。第
1パラメータ36a,36b,..,36m(集合体と
しては36)はそのメッセージデータ14の開始アドレ
スである。第2パラメータ38a,38b,38m(集
合体としては38)はそのデータ長(すなわち、埋め込
まれていないメッセージデータにより占有される記憶単
位の数)である。第3パラメータ40a,40
b,..,40m(集合体としては40)は、メッセー
ジデータが処理されたとき、割り振り解除される記憶部
分24a,24b,24mの長さ(あるいはまた、記憶
単位の数)である。この第3パラメータ40が、埋め込
みを行ったメッセージデータの長さを指定し、さらに、
その後のメッセージがそのバッファ24にある場合に
は、そのバッファ24のその後のメッセージのメッセー
ジリーダ26の長さを指定する。
【0042】そのメッセージデータ14の長さ38と、
割り振り解除される記憶域の長さ40とを一緒に渡すこ
とにより、メッセージデータ14により占有された記憶
域の割り振りを解除するのに必要な情報をサーバプロセ
ス21に供給し、同様に、メッセージの終りに任意の埋
め込み空間32とともに、バッファ24内の次の埋め込
みを行ったメッセージのリーダ26の割り振りを解除す
るのに必要な情報をサーバプロセス21に供給する。各
バンドルされたバッファ24内の最後のメッセージ14
mに対する記憶長パラメータ40mは、そのメッセージ
14mの長さ38と、任意のテール埋め込み32mのみ
を含むことになる。最後の埋め込みを行ったメッセージ
24mが、バンドルされたバッファにあるので、その後
のメッセージリーダは割り振りが解除されない。
【0043】バンドルされたバッファ24内の第1リー
ダ26aの割り振り解除は、アンバンドラプロセス34
の担当である。好ましい実施例では、第1リーダ26a
はアンバンドラプロセス34により明示的に割り振りが
解除される。別の実施態様では、通信トランスポート1
8がバッファリストをサポートしているが、サーバ16
は個々の再使用可能な連続しないバッファに割り振り、
各バンドルされたバッファ24に対して第1リーダ26
aを受信し、各バンドルされたバッファの要求をさらに
割り振り解除する。
【0044】メッセージ14はクライアント12により
リーダ26およびテール埋め込み32を用いてパッケー
ジされ、送信バッファ22に入れられる。そのメッセー
ジ14は通信トランスポート18を介してサーバ16に
送信される。メッセージ12はその一部または全体を通
信トランスポート18により同様に処理することができ
るが、メッセージ14を実際にバンドルして送信バッフ
ァ22に入れるのはクライアント12により行うのが好
ましい。図3のフローチャートおよび表1の対応する擬
似コードは、クライアント・メッセージ・パッケージ・
プロシージャ44に対する複数呼び出しを用いて、送信
バッファをどのようにして構築するかを示す。
【0045】メッセージ14をバンドルして送信バッフ
ァ22にすることができるまで、クライアント12は、
サーバ記憶マネージャがオペレートするnの値を知らな
ければならない。この値は、クライアント12により知
られた定数にすることができるか、あるいは、この値を
サーバ16からクライアントに通信トランスポートの初
期設定の間に渡すことができる。一度、nがクライアン
ト12により知られると、クライアントはサーバのため
にメッセージをパッケージするとともに、バンドルする
ことができる。
【0046】クライアント・メッセージ・ハンドラ・プ
ロシージャ42は、それぞれサーバ16に送信される新
しいメッセージ14を獲得し、そのメッセージをパッケ
ージし、そのメッセージを他のメッセージとバンドルし
て送信バッファ22に入れ、ついで、その送信バッファ
を通信トランスポート20を介してサーバに送信するこ
とができなければならない。クライアント・メッセージ
・ハンドラ・プロシージャ42は、サーバに送信する次
のメッセージを獲得する(ライン707および717)
ループ46(ライン709−724)よりなり、新しい
メッセージを送信バッファ22の残りの空間に収めたこ
とを確認し(ライン710)、しかも、充分な空間が利
用可能な場合(ライン712−716)、クライアント
・メッセージ・パッケージャ44を呼び出す。
【0047】その新しいメッセージを収めるだけの空間
が送信バッファ22にない場合、メッセージハンドラは
バッファをサーバに送信し(719−720)、その送
信バッファを再初期設定し(ライン721−722)、
しかも、前にその送信バッファに収められなかったメッ
セージを処理するループを再初期設定する(ライン70
9)。メッセージハンドラ42は、ユーザにより入力さ
れたコマンドか、あるいは、メッセージを呼び出したプ
ロセスの終了のような、メッセージと無関係な事象によ
り終了されるまで永続的に継続する。
【0048】クライアント・メッセージ・パッケージャ
44を図4のフローチャートに示し、表2の擬似コード
に対応させる。パッケージャ44への入力パラメータ
(表2のライン802−804)は、適正なリーダ26
およびテール埋め込み32を付加するのに必要な情報で
あり、しかも、埋め込みを行ったメッセージをパックし
て送信バッファに入れるのに必要な情報である。まず、
メッセージリーダ26の構造およびリーダの長さが判定
され(ライン809−813)、ついで、リーダ26が
送信バッファ内に作成される。OVERLAYオペレー
ションはメッセージリーダ26の構造をbuf poi
nterによりアドレス指定された記憶に投影するだけ
である。buf pointerはメッセージが置かれ
るバッファ内のアドレスを指示するものである。つい
で、実際のメッセージデータ14がバッファにコピーさ
れる(ライン818−819)。最後に、上述した埋め
込み式を用いて、任意の必要なテール埋め込み32をそ
のメッセージの終りに付加し、強制的にn単位の境界と
する(ライン820)。
【0049】サーバアンバンドラ サーバ・アンバンドラ・プロシージャ34はバンドルさ
れた送信バッファ22を受信し、各メッセージを渡し
て、各サーバプロセス21により処理する。このこと
を、図5のフローチャートに示すとともに、表3および
表4の対応する擬似コードに示す。アンバンドラプロシ
ージャ34は2つの別々にディスパッチされたプロセス
により実行されるのが好ましい。一方のプロセスは通信
トランスポート18から送信バッファ22を受信して記
憶バッファ24に入れ、もう一方のプロセスは3つのメ
ッセージパラメータ36,38,40を別々のサーバプ
ロセス21に渡す。
【0050】アンバンドラ34に対する入力パラメータ
のみが、アンバンドルされるバッファ24の長さである
(ライン902)。このような場合、バッファ24の長
さは送信バッファ22の長さと同一の長さであるのが普
通であり、通信トランスポートからある種の通知により
供給されることになる。そのバッファをアンバンドル
し、かつ、各メッセージをサーバプロセス21に渡すの
に必要な他の変数およびパラメータは、サーバ記憶マネ
ージャの境界サイズnと、バンドルされたバッファ24
のアドレスと、現在アンバンドルされているメッセージ
のアドレス36と、現メッセージデータの生の(丸めて
いない)長さと、そのデータの丸めた長さ38と、現在
処理されたバッファの量の全長とを含む。
【0051】第1ステップはバンドルされた連続バッフ
ァ24を割り振り、送信バッファ22を通信トランスポ
ート18から受信し、そのバンドルされたバッファに入
れる(ライン924−926)。記憶マネージャ20は
記憶をn単位の偶数倍で割り振るので、バンドルされた
バッファ24に対して割り振られた記憶の量は実際には
丸められ(上記式参照)、次のn単位の境界にされる。
次に、そのメッセージ長28aが第1リーダ26aから
取り出され(927−929)、そのリーダを含む記憶
域の割り振りが解除され(930−931)、しかも、
今まで処理された、バンドルされたバッファ24の量は
第1リーダ26aの長さにセットされる(932)。メ
ッセージパッケージプロシージャ44のように、OVE
RLAYオペレーション(927)によりそのメッセー
ジリーダ26aの構造が、バンドルポインタにより指示
された記憶域の部分に投影され、サーバ内でそのリーダ
を移動させることなく、第1リーダ26aを正確に処理
することができる。
【0052】そして、ループ48(ライン934−95
1)はバンドルされたバッファ内のメッセージがなくな
るまで繰り返しメッセージを処理する。各メッセージに
関して、アンバンドラ34によりメッセージデータの開
始アドレス36と、上述したデータの長さ38が取り出
され、取り出された開始アドレス36とデータの長さ3
8はサーバ21により入力パラメータとして用いられ
る。最後にバンドルされたメッセージは、バンドルされ
たバッファ24で受信されたデータの全量に対して、今
まで処理されたデータの量を比較する(938)ことに
より検出される。バンドルされたメッセージは、全て、
最後のメッセージを除き、割り振り解除される記憶域の
量40がメッセージデータと、そのメッセージの終りの
テール埋め込み32と、次のメッセージリーダ26との
合計の長さとして計算される(939−946)。バン
ドルされたバッファの最後のメッセージに関して、割り
振り解除される記憶域の量40は、メッセージデータ
と、テール埋め込み32との合計の長さに等しい(94
7−948)。メッセージプロセッサパラメータの値が
確立されると(949)、アンバンドラは3つのパラメ
ータ36,38,40をサーバプロセッサに通知する
(950)。その結果、そのメッセージを処理し、か
つ、その記憶域の割り振りを解除することができる。バ
ンドルされたバッファ40の終りに到達すると、メッセ
ージは全てサーバプロセス21に通知され、しかも、バ
ッファ24内の記憶が全て獲得(account for) される。
さらに、処理がない場合は、アンバンドラプロシージャ
34は制御を呼び出したプロセスにその制御を戻す。
【0053】サーバメッセージプロセス21はアンバン
ドラ34により渡された情報を用いてそのメッセージ1
4を処理し、そして、関連するバッファ記憶の割り振り
を解除する。このプロシージャを図6に示すとともに、
表5の疑似コードに示す。
【0054】そのメッセージプロセッサ21はメッセー
ジアドレス36と、クライアントにより渡されたメッセ
ージデータの長さ38とを用いて(ライン1001−1
008)、そのメッセージを処理する(1010−10
11)。そのメッセージの実際の処理は協調アプリケー
ションによりパフォームされているタスクに依存するは
ずであり、しかも、本発明に係るメッセージ処理には関
係しない。一度、メッセージが処理されると、そのメッ
セージプロセッサ21は記憶マネージャ20を呼び出
し、メッセージ記憶域(1013)を解放し、メッセー
ジデータ14により占有された記憶域の割り振りを解除
し、同様に、テール埋め込み空間32の割り振りを解除
し、バンドルされたバッファに次のメッセージが存在す
る場合は、そのメッセージのリーダ26の割り振りを解
除する。
【0055】従来例より優れた点 メッセージのバンドルを利用するとともにプロモートす
ることにより、通信トランスポートに要求される通信要
求(例えば、「データ受信」および「データ送信」)の
回数が減少する。このような通信要求は通常計算オーバ
ヘッドおよびI/O時間が増大し、応答時間が非常に遅
くなってしまう。そのため、通信要求を軽減することに
より、協調アプリケーションのパフォーマンスが改善さ
れる。
【0056】さらに、(一度、サーバプロセスメッセー
ジが受け取られると、各メッセージをコピーする代わり
に)サーバプロセスメッセージをきちんと受け取るの
で、データの移動が最小になり、サーバ内でパフォーム
される「記憶割り振り解除」要求が最小になる。メッセ
ージのボリュームが大きい場合は、サーバ応答時間が改
善される。
【0057】さらに、各メッセージが処理されたとき、
各メッセージに対する記憶域を戻すことができるので、
サーバでの記憶競合回避を援助する。再び、クライアン
トに対するサーバの責任が増加し、かつ、協調アプリケ
ーションのパフォーマンスが改善される。
【0058】本発明の実施例をここでは説明のために記
述したが、本発明の精神および範囲を逸脱しないで種々
の修正を行うことができることは当然である。特に、サ
ーバ記憶マネージャにより用いられるnの値を、クライ
アントで定数としてコード化するか、あるいは、通信ト
ランスポートの処理設定の間、サーバからクライアント
に渡すことができる。
【0059】実際のメッセージデータの単位サイズは自
メッセージに含むことができるか、あるいは、そのメッ
セージの前の個々のメッセージリーダに含む代わりに、
そのメッセージの次のメッセージディスクリプタに含む
ことができる。メッセージディスクリプタに含む場合
は、アンバンドラ内のメッセージ長を計算する必要があ
る。割り振り解除される記憶長さのみを計算し、かつ、
メッセージプロセッサに渡す必要がある。
【0060】既に説明したように、バンドルはクライア
ントによりパフォームすることができ、クライアント側
またはサーバ側では通信トランスポートによりパフォー
ムすることができるか、あるいは、協調的な方法では、
クライアントおよびサーバによりパフォームすることが
できる。さらに、個々のメッセージの埋め込みは、上述
したようにクライアントによりパフォームする代わり
に、クライアント側またはサーバ側のいずれかで通信ト
ランスポートによりパフォームすることができる。
【0061】クライアントのメッセージデータにメッセ
ージリーダをプレフィックスするのに用いられる方法
は、クライアント内のデータ移動量を最小限にするのが
理想的であり、上述した方法の他の例を本発明のメッセ
ージバンドリングとともに用いることができる。
【0062】再び、上述したように、通信プロトコルが
バッファリストをサポートするところでは、メッセージ
の各バンドルからの第1メッセージリーダに対する空間
を、サーバで永続的に割り振ることができ、しかも、各
バンドルに対して再使用でき、受信されたあらゆるバン
ドルを要求する1つの記憶割り振り解除要求を保管す
る。
【0063】通信プロトコルにより、長さフィールドが
ユーザデータの各パケットをプレフィックスする必要が
あるところでは、そのプレフィックス領域は上述したメ
ッセージデータ長さフィールドを置換することができ
る。このようなプロトコルの例としてはAPPCがあ
る。APPCはAPPC会話に渡される各論理レコード
に対して2バイト長のプレフィックスを用いている。こ
の場合、APPC長さフィールドは論理レコードの一部
として単に埋め込み空間を全て含むことになるはずであ
る。しかし、この他の例を用いるには、メッセージデー
タはそのメッセージの正確な長さを含む必要があるかも
知れない。というのは、そのメッセージの終りのテール
埋め込み空間はそのメッセージリーダ長さフィールドに
入れて報告されることになるからである。
【0064】必要なn単位の境界を強制するのに用いる
テール埋め込みオペレーションは、幾つかの特殊キャラ
クタを有する干渉空間を満たすのに、その空間は「実」
データでないことを示す必要があるかも知れない。
【0065】その後のメッセージの記憶域の部分の割り
振り解除は、通常、前のメッセージの記憶域の割り振り
が解除された後に行われるが、そのようにする必要は必
ずしもない。本発明によれば、任意の順番で、互いに無
関係に行われる記憶域の割り振り解除が許可される。
【0066】最後に、本発明はクライアントコンピュー
タからサーバコンピュータに送信されるメッセージにつ
いて説明してきたが、本発明に係る最適化されたバッフ
ァ処理は、2つ以上のコンピュータシステムの間で任意
の協調処理を配置する点で有用である。実際、本発明
は、単一のコンピュータで実行されるプロセス間で有用
であり、しかも、プロセス間でメッセージを交換するの
に有用である。
【0067】本発明に係る第1の補足的な実施例は、本
発明の方法によりクライアントおよびサーバとして活動
するようにプログラムされた汎用ディジタルコンピュー
タを含むデータ処理システムを備えている。例えば、サ
ーバはVM/ESA(商標)オペレーティングシステム
をランさせる3090型(商標)または9021型(商
標)メインフレームコンピュータであってもよい。一
方、クライアントはOS/2(商標)オペレーティング
システムをランさせるIBMのPS/2(商標)パーソ
ナルコンピュータであってもよい。これらの商標は全て
International Business Ma
chines Corporation(IBM)によ
り所有されている。その実施例にふさわしいディジタル
コンピュータおよびオペレーティングシステムは周知の
商品であるので、説明は省略する。
【0068】本発明に係る第2の補足的な実施例は、本
発明の方法をパフォームするためのコンピュータプログ
ラムを配布する商品を含む。このようなプログラムはサ
ーバおよびクライアントに対しては個々のプログラムと
して配布することができ、サーバおよびクライアントに
対してはコンポーネントを有する単一の製品として、あ
るいは、サーバおよびクライアントのオペレーティング
システムまたはアプリケーションの組み込まれた機構と
して配布することができるはずである。本発明を具現化
したこのような製品は本発明に係る方法のステップをパ
フォームするコンピュータ命令を記録する記録媒体を備
えている。その記録媒体はIBMの3438型テープカ
ートリッジのような磁気テープであるか、あるいは、P
S/2パーソナルコンピュータで用いられる3−1/2
インチディスケットのような取り外し可能な磁気ディス
クであるのが好ましい。命令は、慣例的なバルク記録技
法か、あるいは当業者の周知の装置によりその記録媒体
上に記録される。説明は省略する。
【0069】従って、本発明の保護範囲は請求の範囲お
よびその等価なものによってのみ限定される。
【0070】
【表1】
【0071】
【表2】
【0072】
【表3】
【0073】
【表4】
【0074】
【表5】
【0075】
【発明の効果】以上説明したように、本発明によれば、
上記のように構成したので、オーバヘッドを削減させる
ことができる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例に係るデータ処理シス
テムであって、複数のバンドルされたメッセージを、ク
ライアントおよびサーバコンピュータプロセスの間で通
信する、コンピュータ化されたデータ処理システムを示
すブロック図である。
【図2】図1に示すバンドルされたメッセージを示すブ
ロック図である。
【図3】図1に示すクライアントによりパフォームされ
る処理のフローチャートである。
【図4】図3に示すメッセージをバンドルする方法のフ
ローチャートである。
【図5】図1に示すサーバによるメッセージの受信およ
びアンバンドル方法のフローチャートである。
【図6】図1に示すサーバによるメッセージの処理方法
のフローチャートである。
【符号の説明】
10 協調処理システム 12 クライアント 16 サーバ 18 通信トランスポート 20 記憶マネージャ 22 バンドル 24(24a〜24b) バッファ 34 アンバンドラ 14a〜14m メッセージ 21a〜21m サーバプロセス

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 クライアントシステムと、記憶割り振り
    解除細分性を有するサーバと、少なくとも第1および第
    2メッセージをクライアントからサーバに送信する手段
    とを含むコンピュータ化されたデータ処理システムであ
    って、 前記第1および第2メッセージを送信する前にそれらの
    メッセージに埋め込んでサーバ記憶割り振り解除細分性
    の整数倍にする手段と、 バンドルを前記サーバに送信する前に、埋め込みを行っ
    た第1および第2メッセージをバンドルして1つのバン
    ドルにする手段と、 サーバにある手段であって、前記バンドルを受信し、前
    記第1および第2メッセージに対して前記メッセージに
    それぞれ対応する記憶部分を判定し、記憶域の前記部分
    はサーバ記憶割り振り解除細分性の整数倍である手段
    と、 前記第2メッセージに対応する記憶部分の割り振りを解
    除する前に前記第1メッセージに対応する記憶域の前記
    部分の割り振りを解除する手段とを備えたことを特徴と
    するデータ処理システム。
  2. 【請求項2】 前記クライアントおよびサーバシステム
    は、物理的に個別のコンピュータを備え、前記送信する
    手段は物理通信トランスポートを備えたことを特徴とす
    る請求項1に記載のデータ処理システム。
  3. 【請求項3】 前記バンドルは各メッセージに対してメ
    ッセージディスクリプタと埋め込みを行ったメッセージ
    を含むことを特徴とする請求項1に記載のデータ処理シ
    ステム。
  4. 【請求項4】 前記サーバコンピュータは記憶割り振り
    細分性に基づき記憶域の割り振りを解除する記憶マネー
    ジャを含み、前記記憶マネージャは割り振り解除を行う
    手段を含むことを特徴とする請求項2に記載のデータ処
    理システム。
  5. 【請求項5】 クライアントコンピュータは、 少なくとも第1および第2メッセージを作成する手段
    と、 前記メッセージに埋め込んで個々に記憶細分性の整数倍
    にする手段と、 埋め込みを行ったメッセージをバンドルして1つのバン
    ドルにする手段と、 前記バンドルを送信する手段とを含み、 サーバコンピュータは、 前記バンドルをクライアントコンピュータから受信する
    手段と、 前記第1および第2メッセージに対して該メッセージに
    対応する記憶域の個々の部分を判定し、前記記憶域の部
    分は記憶細分性の整数倍である手段と、 前記メッセージを処理する手段と、 前記第2メッセージに対応する記憶域の部分の割り振り
    を解除する前に、前記第1メッセージに対する記憶域の
    部分の割り振りを解除する手段とを備えたことを特徴と
    するデータ処理システム。
  6. 【請求項6】 前記バンドルは前記メッセージに対して
    それぞれメッセージディスクリプタおよび埋め込みを行
    ったメッセージを含むことを特徴とする請求項5に記載
    のデータ処理システム。
  7. 【請求項7】 前記メッセージディスクリプタはそれぞ
    れ各メッセージの前のメッセージリーダであり、記憶細
    分性の整数倍であることを特徴とする請求項6に記載の
    データ処理システム。
  8. 【請求項8】 前記受信する手段と前記判定する手段は
    前記サーバコンピュータのアンバンドラプロセスに含ま
    れることを特徴とする請求項5に記載のデータ処理シス
    テム。
  9. 【請求項9】 前記割り振り解除手段は前記サーバコン
    ピュータの記憶マネージャに含まれ、前記記憶マネージ
    ャは前記記憶域の部分を割り振る手段をさらに含むこと
    を特徴とする請求項5に記載のデータ処理システム。
  10. 【請求項10】 第1のコンピュータ化されたデータ処
    理システムと第2のコンピュータ化されたデータ処理シ
    ステムの間で通信を行い、前記第2のコンピュータ化さ
    れたデータ処理システムは記憶割り振り解除細分性を有
    する方法において、 前記第1のコンピュータ化されたデータ処理システム
    は、 (a)第1および第2メッセージを作成するステップ
    と、 (b)前記メッセージに埋め込んで前記記憶割り振り解
    除細分性の整数倍にするステップと、 (c)前記埋め込まれたメッセージをバンドルするステ
    ップと、 (d)前記バンドルを前記第2のコンピュータ化された
    データ処理システムに送信するステップとを備え、 前記第2のコンピュータ化されたデータ処理システム
    は、 (e)前記バンドルを前記第1のコンピュータ化された
    データ処理システムから受信するステップと、 (f)前記バンドルを連続して記憶し、各メッセージは
    前記記憶割り振り解除細分性の整数倍である記憶域の対
    応する部分を有するステップと、 (g)前記第1メッセージを処理するステップと、 (h)前記第1メッセージに対応する記憶域の部分を前
    記第2メッセージに対応する記憶域の部分の割り振り解
    除に無関係に割り振り解除するステップとを備えたこと
    を特徴とする方法。
JP5046696A 1992-04-20 1993-03-08 データ処理システムおよび方法 Expired - Lifetime JPH07117934B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/871,867 US5392398A (en) 1992-04-20 1992-04-20 System and method for deallocation a first message independently of the deallocation of a second message in a bundle of messages
US871867 1992-04-20

Publications (2)

Publication Number Publication Date
JPH0683745A JPH0683745A (ja) 1994-03-25
JPH07117934B2 true JPH07117934B2 (ja) 1995-12-18

Family

ID=25358337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5046696A Expired - Lifetime JPH07117934B2 (ja) 1992-04-20 1993-03-08 データ処理システムおよび方法

Country Status (3)

Country Link
US (1) US5392398A (ja)
EP (1) EP0566894A3 (ja)
JP (1) JPH07117934B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588117A (en) * 1994-05-23 1996-12-24 Hewlett-Packard Company Sender-selective send/receive order processing on a per message basis
FR2726710B1 (fr) * 1994-11-08 1997-01-03 Tremel Jean Yves Procede d'insertion de cellules dans un flux de type atm et dispositif de mise en oeuvre
US5613155A (en) * 1995-06-07 1997-03-18 International Business Machines Corporation Bundling client write requests in a server
US6108530A (en) 1995-12-14 2000-08-22 Lucent Technologies Inc. System and method for transmitting a displayable message between short message entities in more than one data package
US5805823A (en) * 1996-01-30 1998-09-08 Wayfarer Communications, Inc. System and method for optimal multiplexed message aggregation between client applications in client-server networks
US6075994A (en) * 1998-05-29 2000-06-13 Lucent Technologies, Inc. Method and apparatus for dynamically determining the optimal communication message bundle size for a communication system
US6407994B1 (en) * 1998-12-01 2002-06-18 Alcatel Usa Sourcing, L.P. System and method for bundling messages for transmission in a telecommunications network
US7289964B1 (en) 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US8516054B2 (en) * 2000-12-20 2013-08-20 Aurea Software, Inc. Message handling
US8301800B1 (en) 2002-07-02 2012-10-30 Actional Corporation Message processing for distributed computing environments
JP2005149336A (ja) * 2003-11-19 2005-06-09 Hitachi Ltd ストレージ管理方法及びその装置
US20070124383A1 (en) * 2004-12-03 2007-05-31 Hebert Cedric R Multiple mail reducer
US8191078B1 (en) 2005-03-22 2012-05-29 Progress Software Corporation Fault-tolerant messaging system and methods
US8301720B1 (en) 2005-07-18 2012-10-30 Progress Software Corporation Method and system to collect and communicate problem context in XML-based distributed applications
US20070106804A1 (en) * 2005-11-10 2007-05-10 Iona Technologies Inc. Method and system for using message stamps for efficient data exchange
US7710958B2 (en) 2006-01-20 2010-05-04 Iona Technologies Limited Method for recoverable message exchange independent of network protocols
US8656350B2 (en) * 2007-02-06 2014-02-18 Software Ag Event-based process configuration
US9009234B2 (en) 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
US8276115B2 (en) * 2007-02-06 2012-09-25 Progress Software Corporation Automated construction and deployment of complex event processing applications and business activity monitoring dashboards
WO2010054062A2 (en) 2008-11-05 2010-05-14 Savvion Inc. Software with improved view of a business process

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121479A (en) * 1988-01-27 1992-06-09 Storage Technology Corporation Early start mode data transfer apparatus
US5109485A (en) * 1988-08-30 1992-04-28 Ncr Corporation Method for transferring data between memories
EP0418447B1 (en) * 1989-09-20 1995-01-18 International Business Machines Corporation Device for controlling the enqueuing and dequeuing operations of messages in a memory
US5099418A (en) * 1990-06-14 1992-03-24 Hughes Aircraft Company Distributed data driven process
CA2048306A1 (en) * 1990-10-02 1992-04-03 Steven P. Miller Distributed configuration profile for computing system
US5278984A (en) * 1990-12-19 1994-01-11 Bull Hn Information Systems Inc. Method for managing requests by specifying time intervals for transmitting a minimum number of messages for specific destinations and priority levels

Also Published As

Publication number Publication date
JPH0683745A (ja) 1994-03-25
EP0566894A2 (en) 1993-10-27
EP0566894A3 (en) 1993-12-15
US5392398A (en) 1995-02-21

Similar Documents

Publication Publication Date Title
JPH07117934B2 (ja) データ処理システムおよび方法
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US5613155A (en) Bundling client write requests in a server
US4685125A (en) Computer system with tasking
US5224215A (en) Message queue processing among cooperative processors having significant speed differences
US5452430A (en) System and method for storing persistent and non-persistent queued data and for recovering the persistent data responsive to a system restart
US4769771A (en) Multiprocessor system comprising a plurality of data processors which are interconnected by a communication network
EP0241129B1 (en) Addressing arrangement for a RAM buffer controller
Ritchie et al. The UNIX time-sharing system
US7490324B2 (en) System and method for transferring data between virtual machines or other computer entities
US6493773B1 (en) Data validity measure for efficient implementation of first-in-first-out memories for multi-processor systems
US5659794A (en) System architecture for improved network input/output processing
US6338079B1 (en) Method and system for providing a group of parallel resources as a proxy for a single shared resource
US5133062A (en) RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
JP3563541B2 (ja) データ格納装置及びデータ格納方法
US6629124B1 (en) Multimedia data transferring method
US6170045B1 (en) Cross-system data piping using an external shared memory
US3647348A (en) Hardware-oriented paging control system
US20050138230A1 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
CZ290716B6 (cs) Počítačový systém s více médii
US4470115A (en) Input/output method
US5339449A (en) System and method for reducing storage channels in disk systems
US7793023B2 (en) Exclusion control
US5218713A (en) Distributed data management mechanism for handling a data stream
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment