JPH1145220A - Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法 - Google Patents

Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法

Info

Publication number
JPH1145220A
JPH1145220A JP10131557A JP13155798A JPH1145220A JP H1145220 A JPH1145220 A JP H1145220A JP 10131557 A JP10131557 A JP 10131557A JP 13155798 A JP13155798 A JP 13155798A JP H1145220 A JPH1145220 A JP H1145220A
Authority
JP
Japan
Prior art keywords
data
program name
name
token
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10131557A
Other languages
English (en)
Inventor
Shawfu Chen
シャウフ・チェン
O Dreyfus Robert
ロバート・オー・ドライフース
Rau Rapyan
ラプヤン・ラウ
B Vandongen Robert
ロバート・ビー・ヴァンドンゲン
Warner Shufi
シュフイ・ワーナー
L E Daniel
ダニエル・エル・イー
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 JPH1145220A publication Critical patent/JPH1145220A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • 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/5629Admission control
    • H04L2012/5631Resource management and allocation

Abstract

(57)【要約】 【課題】 少なくとも1つの常駐オペレーティング・シ
ステムを有するコンピュータ・システム内に、データ処
理ツールを導入する。 【解決手段】 読取り/受信コマンドを受信したとき
に、特殊なインタフェース関数呼出しを発行し、読取り
/受信要求側アプリケーションまたはプロセッサに関連
するプログラム名およびトークンに関する情報を保存す
る。次いで、データ通信プロトコルを識別するソケット
記述子を生成する。さらにまた、プログラム名、および
トークン情報およびソケット記述子に関する情報を含む
システム制御テーブル・エントリを生成する。データが
到着した後、このファイルは、読取り/受信コマンドの
処理および要求側アプリケーション/プロセッサへの関
連する処理情報の返送を可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、TCP/IPソケ
ット・アプリケーション中などの通信セッション中に発
行された読取り機能などの特定のコマンドを処理してい
る間にシステムによって使用される資源を削減するよう
に設計されたツールに関する。
【0002】
【従来の技術】ホスト・システム・ネットワークまたは
その他の同様のマルチホスト・コンピュータ環境では、
いくつかのプロセッサとホストが共存し、それらが同時
にデータの要求とアクセスを行ったり異なる常駐アプリ
ケーションを実行したりする。そのような環境では、デ
ータ処理システムを使用してその環境全体の様々な場所
で必要なデータを維持し、様々なアプリケーションの処
理を行う。これによって、遠隔ホストまたはユーザに単
一のイメージを提示することができ、プロセッサ複合体
による負荷分散が可能になる。データは環境内の通信リ
ンクのネットワークを形成する遠隔ホストおよびその他
のホスト・システムにリンクされた1つまたは複数のホ
スト・システムで維持することができる。リンク上の1
つのホストからリンク上の他のホストにメッセージを送
信するために、プロトコルと呼ばれる通信規則を確立し
て、メッセージを経路指定し、複合体または環境内のリ
ンク上の適切なホスト・コンピュータにアクセスするこ
とによって通信を制御する。このような通信プロトコル
は一般に、データ通信製品の機能と構造を規定する遠隔
処理アーキテクチャの一部として存在する。
【0003】このようなコンピュータ・ネットワークま
たは環境では、1つまたは複数のオペレーティング・シ
ステムによって供給される機能インターフェースである
アプリケーション・プログラム・インタフェース(以下
APIと呼ぶ)も設けられ、高水準言語で書かれたアプ
リケーション・プログラムがオペレーティング・システ
ムの特定のデータまたは機能を使用することができるよ
うにする。場合によっては、APIはアプリケーション
・プログラムがそれを介してアクセス方法と対話するイ
ンタフェースとして機能する。マルチタスク・オペレー
ティング・システムでは、アプリケーション・プログラ
ムの要求がAPIを介してオペレーティング・システム
に対して行われ、要求によって、実行するタスクまたは
プロセスが自動的に開始される。並列処理環境では、コ
ンピュータ・アーキテクチャは大量のタスクを高速で同
時に処理するために、相互接続された多くのプロセッサ
を使用して大量のデータにアクセスする。このような環
境では、マルチタスク・オペレーティング・システムは
適時のタスク処理のためにAPIに大きく依存してい
る。
【0004】必要なタスク処理を遅滞なく行うために、
多くのAPIはプロセスのグループ間で複合通信を行う
ための集合操作のセットを定義する。集合的操作には使
いやすさやパフォーマンスを始め、それに付随するいく
つかの利点がある。しかし、集合操作の使用には1つの
大きな欠点がある。ほとんどの場合、それらの集合操作
の多くは同期し、タスクを実行する時がくるまでプロセ
ッサを「ブロック」する。このため「ブロッキング」操
作と呼ばれる。そのタスクが本質的に同期されないアプ
リケーションの解決策は、「非ブロッキング」または非
同期集合操作を使用することである。非ブロッキング操
作によって、各タスクはそのタスク独自のペースで進む
ことができ、必要であれば完了または「待ち」状態にな
っていないか定期的に検査することもできる。しかし、
非ブロッキング操作にはある種の欠点もある。たとえ
ば、待ちが必要な場合、または内部依存関係に遭遇した
場合、意志決定のためにユーザに制御を返す必要があ
る。これは、非同期集合操作を使用する非ブロッキング
環境では、操作全体がタスクのいずれかまたはプロセッ
サ時間を「ブロック」することができないためである。
この依存関係のために、プロセスのただの1段階も操作
をブロックすることができない。
【0005】しかし、ユーザに制御を返すことは問題の
一部にすぎない。ユーザに制御が返された後の1つの大
きな問題は、元の内部依存関係が解決された場合など
に、いつ操作を再開することができるかを通知する問題
である。第2の関連する問題は、ユーザが操作の再開を
決定した後で、中断が行われる前と同じ処理箇所に戻る
ことである。
【0006】ブロッキング操作と非ブロッキング操作の
両方で発生する他の関連する共通の問題は、パフォーマ
ンス問題とシステム遊休時間の解決である。rea
d()やrecvfrom()呼出などの特定のコマン
ドは、読取りコマンドまたは受信コマンドのデータが要
求側アプリケーションによって受け取られるまでシステ
ム環境が一時的に操作の処理を中断する必要がある。デ
ータを処理のためにただちに入手することができない場
合、アプリケーションにとって使用可能な資源の大部分
が中断状態になり、データが入手可能になるまではそれ
以上処理が使用可能にならない。ブロッキング・モード
では、コマンド処理の順次性によってプロセス環境全体
が強制的に着信データを待ってからでなければ、コマン
ド処理の次の段階を行うことができない。非ブロッキン
グ・モードでは、やはりデータをただちに入手すること
ができない場合、プロセス環境はデータの入手可能性を
調べ続けなければならず、したがって非同期操作を同期
操作に変えることになるか、または操作を終了して制御
をユーザに返さなければならず、それによってさらに問
題が生じる。高パフォーマンスのトランザクション指向
システムでは、このようにデータを入手することができ
ないことによって、多くのプロセスが一度にすべて中断
する可能性がある。したがって、システムはどの新しい
プロセスもディスパッチすることができないまま資源を
使い果たすことがある。
【0007】
【発明が解決しようとする課題および課題を解決するた
めの手段】少なくとも1つの常駐オペレーティング・シ
ステムを有するコンピュータ・システム内に、データ処
理ツールを導入する。ツールは、まず読取り/受信コマ
ンドを受信したときに特殊なインタフェース関数呼出し
を発行する。次いで、システムは、オペレーティング・
システムが特定の読取り/受信コマンドを発行したアプ
リケーションまたはプロセッサに関連するプログラム名
およびトークンを保存する間、他の動作を復帰または継
続する。次いで、データ通信プロトコルを識別するソケ
ット記述子を生成する。さらにまた、プログラム名およ
びトークン情報をデータ構造フォーマット中に保存し、
かつそれらを前記ソケット記述子に関連付けるファイル
記述子を有するシステム制御テーブル・エントリを生成
する。データが到着した後、このシステム制御テーブル
を見つけ出し、ソケット記述子の所在に関する記憶され
た情報を見つけることによって要求側アプリケーション
またはプロセッサを識別する。次いで、要求側プログラ
ムの名前を得た後で新たに到着したデータを処理する新
しいプロセスを生成し、最後に読取り/受信コマンドを
処理する。
【0008】
【発明の実施の形態】コンピュータ・ネットワークにい
くつかのホストや遠隔ホストを接続する場合、それらの
間に通信をセットアップし、維持する必要が生じる。通
信を可能にするために、ホスト・システムのネットワー
クは通信リンクを含み、それらのリンクに異なる種類の
ホスト・コンピュータが接続される。リンク上の1つの
ホストからリンク上の他のホストにメッセージを送信す
るために、プロトコルと呼ぶ規則を確立して通信リンク
を制御し、メッセージを経路指定し、リンク上の適切な
ホスト・コンピュータにアクセスする。
【0009】通信プロトコルは概念的には図1に図示す
るような層状になっているものと見なすことができ、各
プロトコル層はその下にある層によって提供されるサー
ビスを利用する。最下層はリンク層102で、ハードウ
ェア・レベルを扱い、特定のタイプの単一のネットワー
ク上のホスト間のデータの伝送を制御する。その上の層
は、マシン対マシン(MM)層104で、同じ物理複合
体に直接接続されていないホスト間で通信する機能を提
供する。この層の広く使用されている例はインターネッ
ト・プロトコル(IP)である。インターネットIP
は、標準ソフトウェア通信パッケージの使用を可能にす
る標準業界通信プロトコルである。
【0010】プロトコルのその上の層はポート対ポート
(PP)層106で、異なるアプリケーション・プログ
ラムを実行する複数のプロセスが遠隔ホストにある遠隔
プロセスと同時に通信することができるようにする。P
P層はMMプロトコル層を使用してホスト機間でデータ
を転送する。PP層はアプリケーション層とインタフェ
ースし、アプリケーション層はプロセスにローカル通信
ポートを割り振り、そのポートを遠隔ホスト上の遠隔ポ
ートに接続し、ローカル・ポートと遠隔ポートとの間で
データを転送する。このようなPPトランスポート・プ
ロトコルの例としては、TCP(転送制御プロトコ
ル)、UDP(ユーザ・データグラム・プロトコル)、
およびXNS(ゼロックス・ネットワーク・システム)
がある。TCPはIPプロトコル・スイート(TCP/
IP)を使用する装置と共に稼働することができる。
【0011】最上層はアプリケーション層108であ
る。APIもこの層にある。さらに、ソケット・アプリ
ケーションなどのその他の通信アプリケーションもこの
層にある。ソケット・アプリケーションは、ポート識別
子とTCP/IPまたはその他の通信セッション・アド
レスとの連結によって作成された固有ホスト識別子であ
る。
【0012】いずれかの高水準アプリケーション、特に
ソケット・アプリケーションを稼働させている間、特定
のタイプのコマンドによって処理の破壊や資源の一時的
保留状態が生じることがある。これは、通常、データを
ただちに入手することができない場合である。たとえ
ば、TCPプロトコルはデータにアクセスするためにr
ead()コマンドを使用していた。UDPプロトコル
は同様のコマンドrecv()/recvfrom()
関数呼出しを使用する。これはTCPプロトコルのre
ad()コマンドと非常によく似ている。どちらの場合
も、read()、recv()、またはrecvfr
om()コマンドでは、着信データを見越してメモリの
かなりの部分がただちに割り振られ、プロセッサによっ
て確保される。メモリのうちのこの割り振られたブロッ
クは通常、最大長または最大データ長と呼ばれ、32K
ないし2メガの範囲とすることができる。
【0013】データがただちに受信されない場合、アプ
リケーションにとって使用可能な資源の大部分が中断状
態になり、データが入手可能になるまでそれ以上処理を
行うことができない。高パフォーマンス・システムで
は、これによって同時に多くのプロセスが中断する可能
性がある。このシステムまたはプロセッサの使用不能状
態は、以下で詳述するようにシステムがブロッキング集
合操作と非ブロッキング集合操作のどちらを稼働させて
いるかに関係なく生じる。
【0014】A)ブロッキング操作 アプリケーションまたはシステムがブロッキング・モー
ドで稼働している場合、処理操作は同期モードで行われ
る。read()、recv()、またはrecvfr
om()コマンドが発行されたがデータが直ちに使用可
能にならず、システム全体が同期して稼働している場
合、すべてのスレッドはそのデータ・バイトが最終的に
着信する時点まで遊休状態になっていなければならな
い。データが入手可能になる時点までその先の処理を行
うことができない。さらに、メモリの大きな部分をその
データの受信用に割り振らなければならないため、シス
テム環境全体が影響を受けることがある。
【0015】B)非ブロッキング操作 非ブロッキング操作を稼働させている間は、システムの
処理は非同期であり、したがってデータ読取り/受信コ
マンドが発行された後、プロセスはブロッキング操作の
場合と同じ意味では遊休状態にならない。それにもかか
わらず、データを受け取る前のプロセスの操作全体はブ
ロッキング・モードで稼働しているときときわめてよく
似ている。非ブロッキング・モードではシステムが読み
取るデータの可用性を調べ、データがまだ使用不能であ
るとわかるとその都度、決定を行わなければならない。
この決定は、データの可用性を絶えず検査し続け、それ
によってブロッキング操作とほとんど同じ状況を生じさ
せるか、あるいは、割り振られたメモリ空間を抹消し、
現在遊休状態になっているプロセッサの連続動作に必要
な空間割振りを作成し直すことによって、再割り当てす
る必要があるかのいずれかである。
【0016】ブロッキングと非ブロッキングのいずれの
場合も、最大長(最大データ長)すなわちデータの受信
のために割り振られたメモリによって高パフォーマンス
・トランザクション・プロセス・システム内で使用可能
な資源の途切れのない可用性に大きな問題が生じる。
【0017】本発明は、activate_on_re
ceipt機構によって上述の問題を解決する。図2に
示すように、(202)でread()、rec
v()、recvfrom()またはその他の同様の関
数呼出しまたはコマンドを受信すると、本発明はact
ivate_on_receipt()コマンドと呼ぶ
新しい関数呼出し(API)を出す(204)。基本的
には、この新しい関数呼出しによってプロセスの操作が
あたかもコマンドがまったく出されなかったかのように
続けられ(206)、それによって元のプロセスはデー
タの最初のバイトが着信する時点まで稼働する。しか
し、状況によっては、読取り/受信が発行された後でプ
ロセスを実際に終了させる必要があることもある。本発
明の代替実施形態では、この問題を解決する。そのよう
な場合、読取り/受信の最初の発行によって開始された
プロセスをまず終了させて資源が解放されるようにす
る。しかし、activate_on_receive
コマンド呼出しは、そのような終了にもかかわらず要求
データの入手を続け、データが着信すると、前述の場合
のように新しいプロセスが作成される。いずれの場合
も、着信データの少なくとも一部を受信するようにメモ
リ内に好ましくは4Kの一時記憶場所を割り振る(20
8)。これによって、最大2メガもの大きな部分を使用
する従来技術とは異なり、そのようなデータの受信のた
めにメモリの小領域が確保される。さらに、最初の4K
のメモリはプロセッサではなくシステム自体によってそ
のつど割り振られ、それによって空間とメモリの可用性
が最も効率的に使用される。これは、システムには、プ
ロセッサのうちのいずれか単独のプロセッサよりもその
ような可用性がよく見えるため、システムは使用可能な
ポケットがあればどのポケットにでも記憶域を割り振る
ことができるからである。
【0018】各activate_on_receip
t呼出しと共にいくつかのパラメータも渡され(20
5)、後の処理を可能にする。図3に示すように、渡さ
れるパラメータは、そのコマンドまたは呼出しを出した
アプリケーションおよびホストを後で識別するためのソ
ケット記述子、プログラム名ポインタ、およびトークン
・ポインタである(303)。ソケット記述子は、前の
socket()API関数呼出しからアプリケーショ
ンが入手した整数であり、TCP/IPまたはその他の
同様のプロトコルのデータ通信セッションのうちのアプ
リケーション側に関連づけられる(332)。プログラ
ム名ポインタには、プロトコルのデータ通信の他方の側
からホストにデータが着信したときに入れられるプログ
ラム名のアドレスが入る。トークン・ポインタには、ア
プリケーションがプロセス間で受け渡しするデータを含
む8バイトのトークンのアドレスが入れられる。
【0019】ソケット・アプリケーションがactiv
ate_on_receipt()関数呼出しを出した
後、オペレーティング・システムはプログラム名と8バ
イト・トークンを、そのソケット記述子に関連づけられ
たファイル記述子と呼ばれるデータ構造に保管する(3
34)。データの着信が開始された後、オペレーティン
グ・システムはactivate_on_receip
t()をread()またはrecvfrom()関数
呼出しに変換する。ストリームまたはコネクション指向
(TCP)ソケットに対してactivate_on_
receipt()が発行された場合、システムはその
activate_on_receipt()関数呼出
しをread()関数呼出しに変換する。データグラム
またはコネクションレス(UDP)ソケットに対してa
ctivate_on_receipt()関数呼出し
が出された場合、システムはそのactivate_o
n_receipt()関数呼出しをrecvfrom
()関数呼出しに変換する。read()またはrec
vfrom()は、最大長(32Kまたはそれ以上の要
求)のTCP/IPスタックに対して発行される。
【0020】図2(214)に示すように、データの最
初のバイトが着信するとこの機構に通知される。次にこ
の機構は、割り振られた一時記憶場所が着信データを収
容することができる大きさであるかどうかを判断する。
【0021】受信したデータが4Kの割振り空間より小
さいか等しい場合、受信するデータの残りを受信するた
めにそれ以上の空間を割り当てない。しかし、データが
4Kより長い場合、受信するデータ全体を収容するため
にさらに空間が割り振られる(216)。
【0022】割り振られた場所に最初のデータ・バイト
を受信すると、activate_on_receip
t()コマンドは、元のプロセスを終了させることでシ
ステムを「活動化」するかまたはホストで新しいプロセ
スを作成する。次にデータの読取り、処理、または転送
を行う(213)。(データが着信した後、システムは
新しい記憶域を入手してそのデータをその新しい記憶域
にコピーする必要がある場合がある(218)。後で、
データを受信すると関数呼出しを行うことができる(2
20〜222)。)このプロセスは詳細には以下のよう
に行われる。
【0023】図3に示すように、ファイル記述子を使用
して、システム制御テーブルで、前に保管していたプロ
グラム名および8バイト・トークンと、当該TCP/I
Pソケットに関連づけられたソケット記述子を探し出す
(338)。システムはそのソケット記述子、8バイト
・トークン、記憶ブロックのアドレス、および内部ヘッ
ダから入手したデータの長さを、システムによって作成
される新しいプロセスに関連づけられた別の制御ブロッ
クにコピーする。ファイル記述子によって、メッセージ
がデータグラム・ソケットから受信されたことが示され
ている場合、システムはメッセージのソース・アドレス
を内部ヘッダから新しいプロセスに関連づけられたブロ
ックにコピーする。システムは次に新しいプロセスを作
成し(339)、ファイル記述子から名前を入手したプ
ログラムに入る。
【0024】データを入手するために、新しいプログラ
ムは、プロセスでシステムから渡されたデータを使用し
て標準のread()、recv()、またはrecv
from()ソケットAPI関数呼出しを出す。システ
ムはシステムがすでにネットワークからデータを入手し
ていることを知っているため、この関数呼出しはTCP
/IPまたはその他の同様のプロトコルのスタックには
送られない。この第2のread()、recv()、
またはrecvfrom()関数呼出しの目的は、プロ
グラムがそれ自体のバッファから、またはオペレーティ
ング・システムから入手したバッファから、データを入
手することができるようにすることである。アプリケー
ションがread()、recv()、またはrecv
from()関数呼出しを出した後、システムはアプリ
ケーションに対してアプリケーションによって指定され
たバッファにデータを返す。
【0025】本発明の好ましい実施形態では、割振り空
間でデータの最初のバイトを受信した後でデータが4K
の割振り空間よりも大きい場合、(345)に示すよう
にデータを入手するためにread()、rec
v()、またはrecvfrom()コマンドを出し、
それによって着信データの転送またはコピーあるいはそ
の両方のために最大長またはその他の適切な長さの空間
を割り振る。しかし、着信データが最初に割り振った4
Kの空間に入る場合は、上記の場合のread()、r
ecv()、またはrecvfrom()コマンドの代
わりにもう一度activate_on_receip
tコマンドを出す(350)。この第2のactiva
te_on_receipt関数呼出しによって、それ
以上メモリ空間を割り振る必要なしに、割り振られた4
Kのメモリでシステムによるデータの処理が可能にな
る。言い換えると、その場合、より長いデータ・バイト
のコピー操作に対応するために最大長空間を割り振らな
い。
【0026】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0027】(1)少なくとも1つのオペレーティング
・システムを有するコンピュータ・システム内で、読取
りコマンドを受信したときに特殊なインタフェース関数
呼出しを発行するステップと、前記読取りコマンドに関
連するデータが着信データ用に取っておかれた一時記憶
位置において受信されるまで前記コンピュータ・システ
ムに他の動作を処理させるステップと、前記オペレーテ
ィング・システムが前記読取りコマンドを発行したアプ
リケーションまたはプロセッサに関連するプログラム名
およびトークンを保存するステップと、データ通信プロ
トコルを識別するソケット記述子を生成するステップ
と、前記プログラム名およびトークン情報をデータ構造
フォーマット中に保存し、かつそれらを前記ソケット記
述子に関連付けるファイル記述子を有するシステム制御
テーブル・エントリを生成するステップと、前記要求さ
れた読取りコマンドに関連するデータを受け取ったとき
に、前記システム制御テーブルを位置指定し、ソケット
記述子情報がどこに常駐するかに関連する情報を識別す
ることによって要求側アプリケーションまたはプロセッ
サを追跡するステップと、前記コンピュータ・システム
内で新しいプロセスを生成し、前記システム制御テーブ
ルから得られた前記データを要求する前記プログラムの
名前を入力するステップと、前記読取りコマンドを処理
するステップとを含むデータ処理方法。 (2)前記コンピュータ・システムがそれ自体のバッフ
ァからか、またはそのオペレーティング・システムによ
って得られた他のバッファからデータを得ることができ
るように他の読取りコマンドを発行するステップをさら
に含む、上記(1)に記載の方法。 (3)前記データが処理される前に前記一時記憶位置の
サイズが前記着信データよりも小さい場合に他の特殊な
プログラム・インタフェース関数呼出しを発行するステ
ップをさらに含む、上記(1)に記載の方法。 (4)新しい記憶位置が前記着信データ用に割り振ら
れ、かつ前記データが前記新しい記憶位置にコピーされ
る、上記(3)に記載の方法。 (5)TCP/IP通信プロトロルが使用される、上記
(1)に記載の方法。 (6)前記プログラム名が、前記プログラム名を指示す
るプログラム名ポインタと呼ばれるパラメータによって
識別される、上記(1)に記載の方法。 (7)前記トークン名が、前記プログラム名を指示する
トークン名ポインタと呼ばれるパラメータによって識別
される、上記(1)に記載の方法。 (8)前記プログラム名ポインタが、前記プログラム名
のアドレスを含み、前記データが到着したときに使用さ
れ、データ通信セッションを実施する間に他の点から受
信される、上記(6)に記載の方法。 (9)前記トーク・ポインタが、前記アドレスが前記プ
ロセス間に送っているデータを有する8バイト・トーク
ンのアドレスを含む、上記(7)に記載の方法。 (10)前記トーク名パラメータの長さが8バイトであ
る、上記(9)に記載の方法。 (11)前記ソケット記述子が前記動作中のアプリケー
ションの通信セッションに関連するパラメータである、
上記(1)に記載の方法。 (12)前記ソケット記述子が整数である、上記(1)
に記載の方法。 (13)少なくとも1つのオペレーティング・システム
を有するコンピュータ・システム内で、Activat
e_on_receiptアプリケーション・プログラ
ム・インタフェース関数呼出しを発行し、プロセスを終
了するステップと、前記読取りコマンドに関連するデー
タが受信されるまで前記コンピュータ・システムに他の
動作を処理させるステップと、前記オペレーティング・
システムが前記Activate_on_receip
tコマンドを発行したアプリケーションに関連するプロ
グラム名およびトークンを保存するステップと、データ
通信プロトコルを識別するソケット記述子を生成するス
テップと、前記プログラム名およびトークン情報をデー
タ構造フォーマット中に保存し、かつそれらを前記ソケ
ット記述子に関連付けるファイル記述子を有するシステ
ム制御テーブルを生成するステップと、前記要求された
受信コマンドに関連するデータを受け取ったときに、前
記システム制御テーブルを位置指定し、前記ソケット記
述子情報が常駐すること発見するステップと、前記コン
ピュータ・システム内で新しいプロセスを生成し、前記
システム制御テーブルから得られた前記データを要求す
る前記プログラムの名前を入力するステップと、前記読
取りコマンドを処理するステップとを含むデータ処理方
法。 (14)前記コンピュータ・システムがそれ自体のバッ
ファからか、またはそのオペレーティング・システムに
よって得られた他のバッファからデータを得ることがで
きるように他の受信コマンドを発行するステップをさら
に含む、上記(13)に記載の方法。 (15)前記データが処理される前に前記一時記憶位置
のサイズが前記着信データよりも小さい場合に他の特殊
なプログラム・インタフェース関数呼出しを発行するス
テップをさらに含む、上記(13)に記載の方法。 (16)前記データが処理される前に前記一時記憶位置
のサイズが前記着信データよりも小さい場合に他の特殊
なプログラム・インタフェース関数呼出しを発行するス
テップをさらに含む、上記(13)に記載の方法。 (17)新しい記憶位置が前記着信データ用に割り振ら
れ、かつ前記データが前記新しい記憶位置にコピーされ
る、上記(16)に記載の方法。 (18)前記受信コマンドがデータグラムまたはコネク
ションレス・ソケットに対して発行される、上記(1
3)に記載の方法。 (19)前記プログラム名が、前記プログラム名を指示
するプログラム名ポインタと呼ばれるパラメータによっ
て識別される、上記(13)に記載の方法。 (20)前記トークン名が、前記プログラム名を指示す
るトークン名ポインタと呼ばれるパラメータによって識
別される、上記(13)に記載の方法。 (21)前記プログラム名ポインタが、前記プログラム
名のアドレスを含み、前記データが到着したときに使用
され、データ通信セッションを実施する間に他の点から
受信される、上記(19)に記載の方法。 (22)前記トーク・ポインタが、前記アドレスが前記
プロセス間に送っているデータを有する8バイト・トー
クンのアドレスを含む、上記(20)に記載の方法。 (23)前記トーク名パラメータの長さが8バイトであ
る、上記(22)に記載の方法。 (24)前記ソケット記述子が前記動作中のアプリケー
ションの通信セッションに関連するパラメータである、
上記(13)に記載の方法。 (25)前記ソケット記述子が整数である、上記(1
3)に記載の方法。(26)前記受信コマンドがrec
vfrom()関数呼出しである、上記(13)に記載
の方法。
【図面の簡単な説明】
【図1】使用する通信プロトコルの概念層を示すブロッ
ク図である。
【図2】本発明の概要を示すフローチャートである。
【図3】本発明の特定の実施形態を示すフローチャート
である。
【符号の説明】
102 リンク層 104 マシン対マシン(MM)層 106 ポート対ポート(PP)層 108 アプリケーション層
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・オー・ドライフース アメリカ合衆国12603 ニューヨーク州ポ ーキプシー マンダレイ・ドライブ 14 (72)発明者 ラプヤン・ラウ アメリカ合衆国12603−0704 ニューヨー ク州ポーキプシー スプリングサイド・ロ ード 7 (72)発明者 ロバート・ビー・ヴァンドンゲン アメリカ合衆国12540 ニューヨーク州ラ グランジュビル バーモア・ロード 54 (72)発明者 シュフイ・ワーナー アメリカ合衆国06804 コネチカット州ブ ルックフィールド エドナ・コート 12 (72)発明者 ダニエル・エル・イー アメリカ合衆国06801 コネチカット州ベ セル シャロン・コート 11

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つのオペレーティング・シス
    テムを有するコンピュータ・システム内で、 読取りコマンドを受信したときに特殊なインタフェース
    関数呼出しを発行するステップと、 前記読取りコマンドに関連するデータが着信データ用に
    取っておかれた一時記憶位置において受信されるまで前
    記コンピュータ・システムに他の動作を処理させるステ
    ップと、 前記オペレーティング・システムが前記読取りコマンド
    を発行したアプリケーションまたはプロセッサに関連す
    るプログラム名およびトークンを保存するステップと、 データ通信プロトコルを識別するソケット記述子を生成
    するステップと、 前記プログラム名およびトークン情報をデータ構造フォ
    ーマット中に保存し、かつそれらを前記ソケット記述子
    に関連付けるファイル記述子を有するシステム制御テー
    ブル・エントリを生成するステップと、 前記要求された読取りコマンドに関連するデータを受け
    取ったときに、前記システム制御テーブルを位置指定
    し、ソケット記述子情報がどこに常駐するかに関連する
    情報を識別することによって要求側アプリケーションま
    たはプロセッサを追跡するステップと、 前記コンピュータ・システム内で新しいプロセスを生成
    し、前記システム制御テーブルから得られた前記データ
    を要求する前記プログラムの名前を入力するステップ
    と、 前記読取りコマンドを処理するステップとを含むデータ
    処理方法。
  2. 【請求項2】前記コンピュータ・システムがそれ自体の
    バッファからか、またはそのオペレーティング・システ
    ムによって得られた他のバッファからデータを得ること
    ができるように他の読取りコマンドを発行するステップ
    をさらに含む、請求項1に記載の方法。
  3. 【請求項3】前記データが処理される前に前記一時記憶
    位置のサイズが前記着信データよりも小さい場合に他の
    特殊なプログラム・インタフェース関数呼出しを発行す
    るステップをさらに含む、請求項1に記載の方法。
  4. 【請求項4】新しい記憶位置が前記着信データ用に割り
    振られ、かつ前記データが前記新しい記憶位置にコピー
    される、請求項3に記載の方法。
  5. 【請求項5】TCP/IP通信プロトロルが使用され
    る、請求項1に記載の方法。
  6. 【請求項6】前記プログラム名が、前記プログラム名を
    指示するプログラム名ポインタと呼ばれるパラメータに
    よって識別される、請求項1に記載の方法。
  7. 【請求項7】前記トークン名が、前記プログラム名を指
    示するトークン名ポインタと呼ばれるパラメータによっ
    て識別される、請求項1に記載の方法。
  8. 【請求項8】前記プログラム名ポインタが、前記プログ
    ラム名のアドレスを含み、前記データが到着したときに
    使用され、データ通信セッションを実施する間に他の点
    から受信される、請求項6に記載の方法。
  9. 【請求項9】前記トーク・ポインタが、前記アドレスが
    前記プロセス間に送っているデータを有する8バイト・
    トークンのアドレスを含む、請求項7に記載の方法。
  10. 【請求項10】前記トーク名パラメータの長さが8バイ
    トである、請求項9に記載の方法。
  11. 【請求項11】前記ソケット記述子が前記動作中のアプ
    リケーションの通信セッションに関連するパラメータで
    ある、請求項1に記載の方法。
  12. 【請求項12】前記ソケット記述子が整数である、請求
    項1に記載の方法。
  13. 【請求項13】少なくとも1つのオペレーティング・シ
    ステムを有するコンピュータ・システム内で、 Activate_on_receiptアプリケーシ
    ョン・プログラム・インタフェース関数呼出しを発行
    し、プロセスを終了するステップと、 前記読取りコマンドに関連するデータが受信されるまで
    前記コンピュータ・システムに他の動作を処理させるス
    テップと、 前記オペレーティング・システムが前記Activat
    e_on_receiptコマンドを発行したアプリケ
    ーションに関連するプログラム名およびトークンを保存
    するステップと、 データ通信プロトコルを識別するソケット記述子を生成
    するステップと、 前記プログラム名およびトークン情報をデータ構造フォ
    ーマット中に保存し、かつそれらを前記ソケット記述子
    に関連付けるファイル記述子を有するシステム制御テー
    ブルを生成するステップと、 前記要求された受信コマンドに関連するデータを受け取
    ったときに、前記システム制御テーブルを位置指定し、
    前記ソケット記述子情報が常駐すること発見するステッ
    プと、 前記コンピュータ・システム内で新しいプロセスを生成
    し、前記システム制御テーブルから得られた前記データ
    を要求する前記プログラムの名前を入力するステップ
    と、 前記読取りコマンドを処理するステップとを含むデータ
    処理方法。
  14. 【請求項14】前記コンピュータ・システムがそれ自体
    のバッファからか、またはそのオペレーティング・シス
    テムによって得られた他のバッファからデータを得るこ
    とができるように他の受信コマンドを発行するステップ
    をさらに含む、請求項13に記載の方法。
  15. 【請求項15】前記データが処理される前に前記一時記
    憶位置のサイズが前記着信データよりも小さい場合に他
    の特殊なプログラム・インタフェース関数呼出しを発行
    するステップをさらに含む、請求項13に記載の方法。
  16. 【請求項16】前記データが処理される前に前記一時記
    憶位置のサイズが前記着信データよりも小さい場合に他
    の特殊なプログラム・インタフェース関数呼出しを発行
    するステップをさらに含む、請求項13に記載の方法。
  17. 【請求項17】新しい記憶位置が前記着信データ用に割
    り振られ、かつ前記データが前記新しい記憶位置にコピ
    ーされる、請求項16に記載の方法。
  18. 【請求項18】前記受信コマンドがデータグラムまたは
    コネクションレス・ソケットに対して発行される、請求
    項13に記載の方法。
  19. 【請求項19】前記プログラム名が、前記プログラム名
    を指示するプログラム名ポインタと呼ばれるパラメータ
    によって識別される、請求項13に記載の方法。
  20. 【請求項20】前記トークン名が、前記プログラム名を
    指示するトークン名ポインタと呼ばれるパラメータによ
    って識別される、請求項13に記載の方法。
  21. 【請求項21】前記プログラム名ポインタが、前記プロ
    グラム名のアドレスを含み、前記データが到着したとき
    に使用され、データ通信セッションを実施する間に他の
    点から受信される、請求項19に記載の方法。
  22. 【請求項22】前記トーク・ポインタが、前記アドレス
    が前記プロセス間に送っているデータを有する8バイト
    ・トークンのアドレスを含む、請求項20に記載の方
    法。
  23. 【請求項23】前記トーク名パラメータの長さが8バイ
    トである、請求項22に記載の方法。
  24. 【請求項24】前記ソケット記述子が前記動作中のアプ
    リケーションの通信セッションに関連するパラメータで
    ある、請求項13に記載の方法。
  25. 【請求項25】前記ソケット記述子が整数である、請求
    項13に記載の方法。
  26. 【請求項26】前記受信コマンドがrecvfro
    m()関数呼出しである、請求項13に記載の方法。
JP10131557A 1997-05-29 1998-05-14 Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法 Pending JPH1145220A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US86516697A 1997-05-29 1997-05-29
US08/865166 1997-05-29

Publications (1)

Publication Number Publication Date
JPH1145220A true JPH1145220A (ja) 1999-02-16

Family

ID=25344880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10131557A Pending JPH1145220A (ja) 1997-05-29 1998-05-14 Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法

Country Status (2)

Country Link
JP (1) JPH1145220A (ja)
KR (1) KR19980086588A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517688A (ja) * 1999-12-13 2003-05-27 テレフォンアクチーボラゲット エル エム エリクソン(パブル) ネットワーク・オペレーションを実行する方法と装置
WO2006035730A1 (ja) * 2004-09-29 2006-04-06 Sony Corporation 情報処理装置、通信処理方法、並びにコンピュータ・プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111870939A (zh) * 2020-07-09 2020-11-03 天津津航计算技术研究所 vxworks系统下基于信号量事件的操纵杆串口驱动设计方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517688A (ja) * 1999-12-13 2003-05-27 テレフォンアクチーボラゲット エル エム エリクソン(パブル) ネットワーク・オペレーションを実行する方法と装置
WO2006035730A1 (ja) * 2004-09-29 2006-04-06 Sony Corporation 情報処理装置、通信処理方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
KR19980086588A (ko) 1998-12-05

Similar Documents

Publication Publication Date Title
JP3364587B2 (ja) 通信システムで比較的大きなデータ・オブジェクトの伝送を制御するシステムと方法
JP3553634B2 (ja) 相互接続インターフェース
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US5920703A (en) Systems and methods for managing the processing of relatively large data objects in a communications stack
US7246167B2 (en) Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections
KR100326864B1 (ko) 네트워크통신방법및네트워크시스템
JP4012545B2 (ja) リモート・ダイレクト・メモリ・アクセス対応ネットワーク・インタフェース・コントローラのスイッチオーバーとスイッチバックのサポート
US6163812A (en) Adaptive fast path architecture for commercial operating systems and information server applications
US5961606A (en) System and method for remote buffer allocation in exported memory segments and message passing between network nodes
JP2000020490A (ja) 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
JPH10124470A (ja) ロー・コンテクスト・スイッチングのオーバーヘッドが小さいマルチプレックス化メッセージの呼出し処理のメカニズム
US9069592B2 (en) Generic transport layer mechanism for firmware communication
US20110276987A1 (en) Data processing system with intercepting instructions
US20040015979A1 (en) System and method for efficiently exchanging data among processes
JP2002505471A (ja) 遠隔処理の中断および継続の方法と装置
US20060059244A1 (en) Communication mechanism and method for easily transferring information between processes
JP4021780B2 (ja) 計算機ノード、クラスタシステム、クラスタ管理方法、クラスタ管理プログラム
JPH1145220A (ja) Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置および方法
JPH10340238A (ja) Tcp/ipソケット・アプリケーションを使用したシステム資源削減装置
JPH10334015A (ja) Tcp/ipソケット・アプリケーションを使用したシステム資源削減方法
JP3644158B2 (ja) 並列計算機におけるデータ送受信方法
JPH10105487A (ja) 計算機ネットワーク通信方法およびネットワーク計算機システム
CA2237742A1 (en) A system resource reduction tool utilizing tcp/ip socket applications
Whitcroft et al. The CBIC: Architectural support for message passing
KR100654190B1 (ko) 응용 프로그램내의 소켓 인터페이스와 toe 사이의 연결을 제어하는 통신 인터페이스 방법