JP2000057075A - データ通信装置、データ通信方法及びそれらのプログラム記憶媒体 - Google Patents

データ通信装置、データ通信方法及びそれらのプログラム記憶媒体

Info

Publication number
JP2000057075A
JP2000057075A JP10222576A JP22257698A JP2000057075A JP 2000057075 A JP2000057075 A JP 2000057075A JP 10222576 A JP10222576 A JP 10222576A JP 22257698 A JP22257698 A JP 22257698A JP 2000057075 A JP2000057075 A JP 2000057075A
Authority
JP
Japan
Prior art keywords
communication
application
data
transmission
predetermined
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
JP10222576A
Other languages
English (en)
Inventor
Katsuto Muroi
克仁 室井
Hideji Matsumoto
英児 松本
Koji Teraoka
孝司 寺岡
Naoto Yoshioka
直人 吉岡
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.)
PFU Ltd
Original Assignee
PFU Ltd
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 PFU Ltd filed Critical PFU Ltd
Priority to JP10222576A priority Critical patent/JP2000057075A/ja
Publication of JP2000057075A publication Critical patent/JP2000057075A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、データ通信装置、データ通信方
法、及びそれらのプログラム記憶媒体に関し、データ通
信におけるアプリケーションの負担を軽減することを目
的とする。 【解決手段】 アプリケーション1は1又は複数の他の
アプリケーション6へのデータの送信を要求する。通信
制御部2は、アプリケーション1からの送信データ及び
パラメータを伴う送信要求に応じて、他のアプリケーシ
ョン6の各々についてデータの送信が可能な所定のプロ
トコルを判別する。多重制御部3は、通信制御部2から
の指示に従って、所定のプロトコルに対応した所定の指
示を生成する。通信管理部4は、通信制御部2からの指
示に従って、送受信部51乃至5nにおいて所定のプロ
トコルに従って行われる通信を管理する。送受信部51
乃至5nは、他のアプリケーション6の各々に対応させ
られ、所定のプロトコルに従った通信を対応する他のア
プリケーション6との間で行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ通信装置、
データ通信方法及びそれらのプログラム記憶媒体に関
し、特に、1つのアプリケーションから複数のアプリケ
ーションに対して複数のプロトコルを用いて実質的に同
時に通信することが可能なデータ通信装置、データ通信
方法及びそれらのプログラム記憶媒体に関する。
【0002】
【従来の技術】あるコンピュータ上で動作しているアプ
リケーション(プログラム)と他のコンピュータ上で動
作している他のアプリケーション(プログラム)との間
で、ネットワーク等を介して、通信(アプリケーション
間通信)が行われる。この通信の方式には種々のものが
ある。
【0003】例えば、データの送信側のアプリケーショ
ンと受信側のアプリケーションとが1対1でデータの送
受信を行う方式(ユニキャスト)、データの送信側のア
プリケーションから送出された送信データが複数の受信
側のアプリケーションの間で順次転送される方式(マル
チキャスト)等がある。また、データの送受信について
のプロトコルとして、HTTP、HTTPS、FTP等
の種々の方式が周知である。
【0004】
【発明が解決しようとする課題】コンピュータネットワ
ークの発達に伴い、1個のアプリケーションに対して、
前記の種々の通信の全て又は大部分を行い得ることが要
求される。特に、複数のアプリケーションに対して複数
のプロトコルを用いて通信を行う機能が要求される。ま
た、ユニキャスト方式、マルチキャスト方式等の種々の
方式を用いて通信を行う機能が要求される。
【0005】しかし、従来は、例えば、ユニキャスト方
式によって1つのアプリケーションが複数の他のアプリ
ケーションとの間で通信を行う場合、送信側であるアプ
リケーションが、当該通信相手毎に通信路を確立する処
理を行い、各々の通信を管理する処理を行う必要があ
る。これは、送信側であるアプリケーションは、個々
に、通信を行うための送受信の機能及びその管理の機能
を備え、かつ、自分で当該処理を行う必要があることを
意味する。また、当該通信相手がサポートしている通信
プロトコルを、送信側であるアプリケーションが意識す
る必要がある。これは、送信側であるアプリケーション
は、個々に、複数のプロトコルでの通信の機能を備える
必要があることを意味する。この上、送信側であるアプ
リケーションに対しては、ユニキャスト方式のみなら
ず、マルチキャスト方式等の種々の方式での通信も行い
得る機能も要求される。
【0006】従って、送信側であるアプリケーション
は、個別に、種々の機能を備え種々の処理を行わなけれ
ばならないので、その負担が大きい。また、送信側であ
るアプリケーションの開発において、開発者にはマルチ
キャスト方式等の通信方式についての知識、通信相手が
サポートしている複数のプロトコルについての知識が求
められるので、開発者の負担が大きい。これらは受信側
のアプリケーションについても全く同様である。
【0007】本発明は、1つのアプリケーションから複
数のアプリケーションに対して複数のプロトコルを用い
て少ないアプリケーションの負担で通信することが可能
なデータ通信装置を提供することを目的とする。
【0008】また、本発明は、1つのアプリケーション
から複数のアプリケーションに対して複数のプロトコル
を用いて少ないアプリケーションの負担で通信すること
が可能なデータ通信方法を提供することを目的とする。
【0009】また、本発明は、1つのアプリケーション
から複数のアプリケーションに対して複数のプロトコル
を用いて少ないアプリケーションの負担で通信すること
が可能なプログラムを記憶したプログラム記憶媒体を提
供することを目的とする。
【0010】
【課題を解決するための手段】図1は本発明の原理構成
図であり、本発明によるデータ通信装置を示す。データ
通信装置100は、アプリケーション1、通信制御部
2、多重制御部3、通信管理部4、1又は複数の送受信
部51乃至5nとからなる。
【0011】アプリケーション1は1又は複数の他のア
プリケーション6(61乃至6n)へのデータの送信を
要求する。通信制御部2は、アプリケーション1からの
送信データ及びパラメータを伴う送信要求に応じて、当
該パラメータに基づいて、1又は複数の他のアプリケー
ション61乃至6nの各々について当該データの送信が
可能な所定のプロトコルを判別する。多重制御部3は、
通信制御部2からの指示に従って、所定のプロトコルに
対応した指示を生成する。通信管理部4は、送受信部5
(51乃至5n)において所定のプロトコルに従って行
われる通信を管理する。1又は複数の送受信部51乃至
5nは、1又は複数の他のアプリケーション61乃至6
nの各々に対応させられ、所定のプロトコルに従った通
信を対応する他のアプリケーション61乃至6nとの間
で行う。
【0012】本発明のデータ通信装置によれば、アプリ
ケーション1は、複数の他のアプリケーション61乃至
6nとの間で通信を行う場合でも、送信要求と共に、送
信データ及びパラメータを通信制御部2に渡すのみであ
る。プロトコルの判別は通信制御部2において行われ、
通信路の確立及び通信の管理は、多重制御部3、通信管
理部4及び送受信部51乃至5nにおいて行われる。送
信側であるアプリケーション1は、個別に、種々の機能
を備えかつ種々の処理を行う必要がなく、また、プロト
コルを意識する必要もない。これに加えて、送信データ
及びパラメータは、複数の他のアプリケーションとの通
信につき1回だけ、アプリケーション1から通信制御部
2に渡される。従って、アプリケーション1の負担は小
さく、その開発者の負担も小さい。これらは受信側のア
プリケーション61乃至6nについても全く同様であ
る。これにより、1つのアプリケーション1から複数の
アプリケーション61乃至6nに対して複数のプロトコ
ルを用いて、少ないアプリケーション1の負担で、通信
することが可能である。
【0013】また、本発明によれば、以上のような処理
をデータ通信装置であるコンピュータに実行させるプロ
グラム記憶媒体を提供することができる。これにより、
1つのアプリケーションから複数のアプリケーションに
対して複数のプロトコルを用いて、少ないアプリケーシ
ョンの負担で、通信することが可能である。
【0014】
【発明の実施の形態】図2はデータ通信装置説明図であ
って、本発明のデータ通信装置の行う通信について示
す。図2において、データの送信側であるアプリケーシ
ョン1は、データの受信側である他のアプリケーション
6との間で、アプリケーション間通信を行う。アプリケ
ーション1はデータ通信装置100であるコンピュータ
100上に存在して動作し、他のアプリケーション6は
他の複数のコンピュータ(ホスト)200上に存在して
動作する。コンピュータ100とホスト200とは、専
用回線又は公衆網300を介して相互に接続される。
【0015】本発明のデータ通信装置100にあるアプ
リケーション1は、他のアプリケーション6との間での
アプリケーション間通信を行う場合、送信要求と共に送
信データ7(送信データ7のファイル)及びパラメータ
8(パラメータ8のファイル)を、1回だけ通信制御部
2に渡す。この後、アプリケーション1自体は、スリー
プ状態に入っても良い。送信要求の後の適切なタイミン
グで、アプリケーション1はスリープから復帰して、他
のアプリケーション6からの送信データ7に対する応答
データの受取要求を通信制御部2に発行する。
【0016】他のアプリケーション6の存在するホスト
200は、データ通信装置100に、例えば、専用回線
等300、専用回線等300及びインターネット40
0、又は、専用回線等300及びLAN500を介して
接続される。他のアプリケーション6の接続形態及び種
類が多岐に渡るので、これに対する通信は異なる方式及
びプロトコルに依らなければならない場合がある。
【0017】アプリケーション1は、複数の他のアプリ
ケーション6にデータ送信を行うが、送信時に1回の送
信要求を行う。即ち、送信データ7が同一である限り、
アプリケーション1から通信制御部2への送信要求は1
回だけ行われる。他のアプリケーション6が複数存在す
る場合でも、他のアプリケーション6への送信が異なる
プロトコルによる場合でも、送信要求及び受取要求は1
回で良い。これにより、当該通信についてのアプリケー
ション1の負担は、極めて少なくなる。即ち、送信デー
タ7及びパラメータ8の作成のみである。
【0018】一方、アプリケーション1は、複数の他の
アプリケーション6にデータ送信を行った場合、受信時
に当該他のアプリケーション6の数だけ、受取要求を行
う。即ち、どのような形式で送信しても、他のアプリケ
ーション6からの応答データを、個別に受け取ることが
できる。これにより、アプリケーション1は、応答デー
タの受信処理を意識することなく、透過的に応答データ
を得ることができる。即ち、受取要求を発行するのみで
良い。
【0019】図3はパラメータ説明図である。パラメー
タ8は通信制御部2等において通信を制御するために用
いられる。パラメータ8は通信制御情報であり、例えば
図3に示すような各種の情報からなる。
【0020】自動判別は、通信のプロトコル等の判別の
必要の有無を示す。即ち、「あり」の場合、アプリケー
ション1が設定したパラメータ8に従って、通信処理が
行われる。これはアプリケーション1が通信の方式を決
定する場合である。「なし」の場合、アプリケーション
1が設定したパラメータ8に基づいて、通信制御部2が
プロトコル等の判別を行ない、これに従って通信処理が
行われる。これは通信制御部2が通信の方式を決定する
場合である。
【0021】マルチキャストは、マルチキャスト又はユ
ニキャストの区別を示す。即ち、「あり」の場合、送信
宛先リストに示されるホスト200に対してマルチキャ
ストで送信が行われる。「なし」の場合、送信宛先リス
トに示されるホスト200に対して個別にユニキャスト
で送信が行われる。なお、この指定の内容にかかわりな
く、同一の送信データ7を同一プロトコルで同一ネット
ワーク上で奏する場合には、自動的にマルチキャストと
される。
【0022】マルチキャストの場合、例えば、図2にお
いてLAN500に接続された複数のホスト200上の
複数の他のアプリケーション6に対して、データ通信装
置100は、同一のプロトコルに従って、1回の送信デ
ータ7の送出を行う。送信データ7は、送信宛先リスト
に示される1個のホスト200が受信し、当該ホスト2
00により送信宛先リストに示される他のホスト200
に送信される。この受信及び送信の繰り返しにより、送
信データ7が、送信宛先リストのホスト200全てに伝
播される。
【0023】ユニキャストの場合、送信宛先リストに示
されるホスト200の各々に対して、データ通信装置1
00は、異なるプロトコルに従って、ホスト200毎
に、送信データ7の送出を行う。例えば、LAN500
に接続されたホスト200上の複数の他のアプリケーシ
ョン6に対して、個別に送信データ7が送信される。
【0024】送信宛先リストは、送信データの送信先で
ある他のアプリケーション6の存在するホスト200を
示す。例えば、各ホスト200のネットワークアドレス
が示される。また、各ホスト200上で動作している各
種のアプリケーションの内の他のアプリケーション6を
指定するようにしても良い。
【0025】通信プロトコル種別は、当該送信を行うべ
き通信のプロトコルを示す。通信プロトコルとしては、
HTTP、HTTPS、FTP等がある。
【0026】送信バッファサイズは、送信データ7を格
納するバッファのサイズを示す。送信バッファサイズ
は、送信データ7の転送において、1回のデータ転送で
送信されるデータ(データブロック)のサイズを示す。
【0027】リトライ(再送)回数は、1個の他のアプ
リケーション6について送信に失敗した場合に、当該他
のアプリケーション6あたり送信を繰り返すべき回数を
示す。リトライ(再送)間隔は、送信を繰り返す場合に
おいて、その繰り返しの時間間隔を示す。
【0028】圧縮送信は、データ圧縮の必要の有無を示
す。即ち、送信データ7を所定の方式に従ってデータ圧
縮して送信するか否かを示す。データ圧縮は通信制御部
2が行う。
【0029】間欠転送は、間欠的なデータ転送の必要の
有無を示す。即ち、送信データ7を所定の大きさのデー
タブロックに分割して、時間間隔をおいて送信するか否
かを示す。間欠転送時のスリープ時間は、間欠転送を行
う場合におけるデータブロック転送の時間の間隔を示
す。
【0030】チェックサム処理は、チェックサム処理の
必要の有無を示す。即ち、送信データ7についてチェッ
クサムデータを生成し付加するか否かを示す。また、受
信したデータにチェックサムデータが付加されているか
否かを示す。
【0031】同時接続台数は、マルチキャストの場合に
おいて、同時に接続を許容される台数を示す。なお、ア
プリケーション1からの指定がない場合、パラメータ作
成用情報81に定められた値(例えば、64台)に自動
的に設定される。この値の最大値はコンピュータ100
の有する回線300の本数の値である。
【0032】送信タイムアウト時間は当該送信を強制的
に終了すべき時間を示す。これにより、例えば図10に
示す処理等により当該送信処理が連続して長時間行われ
ることを防止できる。
【0033】パラメータ8はアプリケーション1により
送信要求の発行に先立って作成される。このために、ア
プリケーション1はパラメータ作成用情報81を参照す
る。パラメータ作成用情報81は当該アプリケーション
1又は後述する制御プログラム9が備え、パラメータ8
の作成に必要な各種の情報、即ち、図3に示す各項目を
設定するための情報からなる。例えば、パラメータ作成
用情報81は、ホスト200の各々のアドレス、ホスト
200の各々のサポートしている1又は複数のプロトコ
ル、送信バッファサイズ等の標準の値等を含む。
【0034】図4はデータ通信装置構成図であって、本
発明のデータ通信装置100のデータ送信の機能に着目
した構成を示す。
【0035】データ通信装置100において、データ送
信の機能モジュール10は、スレッド20とこれに対応
するオブジェクト30とからなる。スレッド20内に
は、1個のアプリケーションスレッド21と、1個又は
複数個の送受信部51乃至5nである1個又は複数個の
通信スレッド25(251乃至25n)とが含まれる。
アプリケーションスレッド21は、更に、当該アプリケ
ーション1のメインスレッド22、通信制御部2である
通信制御ソケット23及び多重制御部3である多重制御
ソケット24を含む。各々の通信スレッド251乃至2
5nは、その出力(回線)側に接続処理部261乃至2
6nを含む。
【0036】メインスレッド22には当該アプリケーシ
ョン1が存在し、当該メインスレッド22内で動作す
る。通信制御ソケット23及び多重制御ソケット24
は、共に、アプリケーションスレッド21内で動作す
る。各々の通信スレッド251乃至25nは、アプリケ
ーション1のメインスレッド22とは異なるスレッド2
0において動作する。接続処理部261乃至26nは、
対応する各々の通信スレッド251乃至25nと同一の
スレッド内(即ち、当該通信スレッド251乃至25n
内)で動作する。
【0037】オブジェクト30には、通信管理部4であ
るタスクマネージャ31が含まれる。タスクマネージャ
31は、管理テーブル32、送信データ格納領域33、
受信データ格納領域34を含む。
【0038】データ通信装置100又はデータ送信の機
能モジュール10は、図4に示すように、他のアプリケ
ーション6へのデータ送信をオブジェクト30として捉
える。アプリケーションスレッド21及び通信スレッド
251乃至25nが、オブジェクト30との間でメッセ
ージの授受を行うことにより、データ送信を行う。
【0039】図5はデータ通信装置説明図であり、図4
に示すデータ通信装置100における各部の生成処理を
示す。
【0040】アプリケーション1が起動されると、アプ
リケーション1が制御プログラム9に対して所定の要求
を発行する。これにより、制御プログラム9が、スレッ
ド20、その中のアプリケーションスレッド21、その
中のメインスレッド22を生成する。制御プログラム9
は、例えばJava等であり、スレッドの生成やソケッ
トの生成等の所定の処理を行う。
【0041】アプリケーション1は、他のアプリケーシ
ョン6との間のデータ通信を行う場合、制御プログラム
9に対して所定の要求NEを発行して、データ通信のた
めのソケットの生成を要求する。これに応じて、制御プ
ログラム9はアプリケーションスレッド21内に通信制
御ソケット23を生成する。アプリケーション1は、前
記要求NEの発行に際して、当該要求NEと共に所定の
パラメータ8を制御プログラム9に渡す。制御プログラ
ム9は通信制御ソケット23にパラメータ8を渡す。
【0042】通信制御ソケット23は、パラメータ8に
従って、即ち、当該通信制御ソケット23における当該
通信の所定のプロトコルの判別の結果に基づいて、多重
制御ソケット24を生成する。この生成処理は、実際
は、通信制御ソケット23がパラメータ8に基づいて制
御プログラム9の備えるソケットライブラリ(図示せ
ず)の中から当該多重制御ソケット24を呼び出すこと
による。
【0043】多重制御ソケット24はアプリケーション
1からの所定の要求に応じてタスクマネージャ31を生
成する。この生成処理は、実際は、多重制御ソケット2
4の実行するコンストラクタ処理の一部として行われ
る。コンストラクタ処理は多重制御ソケット24の生成
時に行われる。
【0044】また、多重制御ソケット24はアプリケー
ション1からの所定の要求の後の送信要求に応じて通信
スレッド251乃至25nを生成する。通信スレッド2
51乃至25nは、多重制御ソケット24の実行する送
信処理において非同期に生成される。通信スレッド25
1乃至25nは、宛先ホスト200毎に1個生成され
る。送信処理はアプリケーション1からの送信要求SE
時において行われる。
【0045】接続処理部26(261乃至26n)も、
同様に、通信スレッド251乃至25n内に生成され
る。接続処理部26は、TCP/IPのトランスポート
層であり、実際に当該プロトコルであるHTTPに従っ
て、データの送受信を行う。従って、接続処理部26は
HTTPコネクションである。HTTPコネクションの
メソッドは、基本的には、同期型である。なお、通信ス
レッド25又はタスクマネージャ31及びアプリケーシ
ョンスレッド21が、TCP/IPのアプリケーション
層であると考えて良い。
【0046】次に、通信制御ソケット23、多重制御ソ
ケット24等の各部の実行する処理について説明する。
なお、この例では、図3に示すパラメータ8において、
プロトコルがHTTPであると指定されている。
【0047】通信制御ソケット23は、1又は複数の他
のアプリケーション6へのデータの送信を要求するアプ
リケーション1からの送信データ7及びパラメータ8を
伴う送信要求に応じて、当該パラメータ8に基づいて、
他のアプリケーション6の各々について、送信データ7
の送信が可能な所定のプロトコルを判別する。アプリケ
ーション1は、生成された通信制御ソケット23に対し
て送信データ7を渡して、その送信を要求する。即ち、
通信制御ソケット23はアプリケーション1に対するA
PI(Application Programming Interface )である。
アプリケーション1からは通信インタフェースとして通
信制御ソケット23が見えるのみである。従って、アプ
リケーション1が送信相手先のプロトコルを意識する必
要はない。アプリケーション1は、単に、パラメータ8
においてプロトコルを指定するのみである。この場合、
プロトコルがHTTPであることが認識される。
【0048】通信制御ソケット23は、上記プロトコル
の判別の他に、アプリケーション1から渡されたパラメ
ータ8が正しいか否かのチェック、制御プログラム9の
備えるソケットライブラリ(図示せず)からの各種のソ
ケットの呼び出しを行う。通信制御ソケット23がパラ
メータ8に従って生成する多重制御ソケット24は、当
該ソケットライブラリから呼び出される。
【0049】多重制御ソケット24は、通信制御ソケッ
ト23からの判別結果及びパラメータ8に従って、前記
所定のプロトコルに対応した所定の指示を生成する。こ
の指示により、タスクマネージャ31及び通信スレッド
25が動作する。この場合、プロトコルがHTTPであ
るので、生成される(呼び出される)多重制御ソケット
24はHTTP制御ソケットである。
【0050】多重制御ソケット24は、スレッドテーブ
ル(図示せず)の作成、通信スレッド25の生成、応答
データの取り出しを行う。スレッドテーブルの作成は、
多重制御ソケット24の実行するコンストラクタ処理に
おいて行われる。スレッドテーブルは通信スレッド25
を管理するために、多重制御ソケット24が用いる。通
信スレッド25の生成は、アプリケーション1からの送
信要求時において、1個づつ行われる。生成された通信
スレッド25はスレッドテーブルに登録される。タスク
であるホスト200への通信が当該通信スレッド25を
使用中は、スレッドテーブルに例えばフラグがセットさ
れる。これにより、通信スレッド25の割り当てが可能
となる。応答データの取り出しは、図14を参照して後
述するように、応答データが他のアプリケーション6か
ら届くまで、同期待ち合わせすることにより行う。受信
データが届いている場合には、これを取り出して通信制
御ソケット23に渡す。
【0051】タスクマネージャ31は、多重制御ソケッ
ト24からの指示に従って、通信スレッド251乃至2
5nにおいて前記所定のプロトコルに従って行われる通
信を管理する。
【0052】タスクマネージャ31は多重制御ソケット
24のコンストラクタ処理において生成される。タスク
マネージャ31は、受信側のホスト200をタスクとし
て捉えて、送信先のホスト200の数の分のタスク管理
を行う。但し、タスクマネージャ31は通信スレッドの
管理は行わない。タスクマネージャ31はアプリケーシ
ョン1のメインスレッド22内で動作する。タスクマネ
ージャ31は、タスクの状態の管理、受信した応答デー
タ(パケット)の保管、通信スレッド25への中止要求
CAの通知を行う。
【0053】タスクマネージャ31は各々のタスクをそ
の実行状態に応じて管理テーブル32に登録する。即
ち、管理テーブル32において、終了していないタス
ク、実行中のタスク(例えば通信スレッド25の割り当
てられているタスク)及び終了したタスクは、各々、未
終了、実行中及び終了の各項目に登録される。
【0054】通信スレッド25(251乃至25n)
は、1又は複数の他のアプリケーション6の各々に対応
させられ、所定のプロトコルに従った通信を、対応する
他のアプリケーション6との間で行う。
【0055】通信スレッド25は、多重制御ソケット2
4の送信処理において非同期に生成され、TCP/IP
のトランスポート層である接続処理部(HTTPコネク
ション)26に対して実際の送信要求を行う。通信スレ
ッド25は宛先ホスト200毎に1個生成される。
【0056】通信スレッド25は、基本的には、通信相
手であるホスト200の数だけ生成される。但し、当該
宛先の数がパラメータ8において指定される最大同時接
続台数を超える場合、最大同時接続台数分の通信スレッ
ド25が順次起動され、処理の終了した通信スレッド2
5が再帰的に使用される。
【0057】通信スレッド25は接続処理部26に対し
て同期型でソケットの生成及び送信を行う。また、通信
スレッド25は接続処理部26から受け取った受信側の
ホスト200からの応答データに基づいて、タスクマネ
ージャ31に当該応答データを格納する(パケットを設
定する)。通信スレッド25は、中止要求CAを受け取
ると、これを接続処理部26に対して通知する。
【0058】図6はデータ通信装置説明図であり、デー
タ通信装置100における多重制御について示す。
【0059】前述のように、アプリケーション1から通
信制御ソケット23にパラメータ8が渡される。パラメ
ータ8は、プロトコルの自動判別についての情報、マル
チキャスト/ユニキャストの種別についての情報、プロ
トコルの種別についての情報を含む。通信制御ソケット
23は、これらの情報に基づいて、他のアプリケーショ
ン6に対しての通信の方式を決定する。
【0060】この通信の方式の決定において、通信制御
ソケット23は、各々のデータ送信において、他のアプ
リケーション6に対しての通信に用いられるプロトコル
が複数であり異なるので、以下のように処理する。
【0061】即ち、通信制御ソケット23は、通信制御
ソケット23における前記所定のプロトコルの判別の結
果に基づいて、複数のプロトコルの各々に対応して当該
プロトコルに対応した所定の指示を生成する複数の多重
制御ソケット24を生成する。更に、複数の多重制御ソ
ケット24は、アプリケーション1からの所定の要求に
応じて、当該複数の多重制御ソケット24の各々に対応
して、タスクマネージャ31を生成する。更に、複数の
多重制御ソケット24は、アプリケーション1からの前
記所定の要求の後の送信要求に応じて、当該複数の多重
制御ソケット24の各々に対応して、複数の通信スレッ
ド25を生成する。
【0062】この場合、図3に示すように、パラメータ
8の通信プロトコル種別において「HTTP」が指定さ
れているので、HTTP用の多重制御ソケット24が生
成される。即ち、HTTPソケットである。また、HT
TP用の多重制御ソケット24に対応して、そのための
タスクマネージャ31が生成される。更に、HTTPコ
ネクションである接続処理部26を含む通信スレッド2
5が生成される。
【0063】パラメータ8において指定されている、又
は、通信に用いられるプロトコルの種別がHTTPS又
はFTPであれば、多重制御ソケット24に代えて、H
TTPSソケット又はFTPソケットが生成される。な
お、通信プロトコルは、ここに示すものに限られない。
【0064】従って、データ通信装置100又は通信制
御ソケット23は、図3に示すように、プロトコルに応
じて、多重制御ソケット24を多重に制御する。通信制
御ソケット23は、プロトコルに応じて、順次スイッチ
を切り替えるかのようにして、当該プロトコル用の多重
制御ソケット24、タスクマネージャ31、通信スレッ
ド25(送受信部5)の組を切り替える(呼び出す)。
なお、この切り替えは、1個の送信データ7の送信中に
おいて、即ち、図9に示すステップS8の実行中におい
ては、通常行われないが、プロトコルの変更に応じて行
うようにしても良い。
【0065】図7は、データ通信装置説明図であり、デ
ータ通信装置100における多重制御について示す。
【0066】タスクマネージャ31は、複数の通信スレ
ッド25が複数の他のアプリケーション6から受信した
前記送信に対する応答データを、アプリケーション1に
通知することなく、その受信データ格納領域34にその
受信順に格納して保持する。通信制御ソケット23は、
図14を参照して後述するように、アプリケーション1
からの受取要求に応じて、タスクマネージャ31の受信
データ格納領域34を調べる。そして、通信制御ソケッ
ト23は、応答データが受信データ格納領域34に保持
されている場合、これを取り出してアプリケーション1
へ送る。一方、応答データが保持されていない場合、通
信制御ソケット23は、応答データがないことをアプリ
ケーション1に通知することなく、当該応答データが受
信データ格納領域34前記通信管理部に保持されるまで
待つ。
【0067】従って、図7に示すように、アプリケーシ
ョン1は、送信時においては、1回の送信要求を行うこ
とにより送信データ7の送信処理を終了できる。また、
アプリケーション1は、受信時においては、送信データ
7に対する応答データを、各ホスト200から個別に受
信することができる。即ち、応答データがデータ通信装
置100に到着する都度に、これを意識する必要がな
い。
【0068】図8はデータ送信処理説明図であって、図
4のデータ通信装置100におけるデータ送信処理を示
す。この送信処理は図17に示す受信処理と対応する処
理である。
【0069】この例は、図4のデータ通信装置100が
HTTPサーバであり、ホスト200(図15のデータ
受信装置)がHTTPクライアントである場合について
示す。即ち、HTTPサーバ100が複数のHTTPク
ライアント200に対して装置データ7を送り、これに
対する応答データを集める例である。
【0070】アプリケーション1は、前述のように、他
のアプリケーション6との間のデータ通信を行う場合、
制御プログラム9に対してパラメータ8と共に所定の要
求NEを発行する。これに応じて、制御プログラム9は
通信制御ソケット23を生成する。通信制御ソケット2
3は多重制御ソケット24を生成する。多重制御ソケッ
ト24はタスクマネージャ31を生成する。
【0071】次に、アプリケーション1が通信制御ソケ
ット23に対して送信データ7と共に送信要求SEを発
行する。通信制御ソケット23は、多重制御ソケット2
4を介して、これらをタスクマネージャ31に送る。
【0072】タスクマネージャ31は、送信要求SEに
応じて、通信スレッド251乃至25nを生成する。通
信スレッド251乃至25nは、各々の対応する他のア
プリケーション6に対して送信データ7を送信する。
【0073】送信の途中で、何らかの理由により、当該
送信を中止したい場合には、アプリケーション1が通信
制御ソケット23に対して中止要求CAを発行する。通
信制御ソケット23は、多重制御ソケット24を介し
て、これをタスクマネージャ31に送る。タスクマネー
ジャ31は、中止要求CAに応じて、通信スレッド25
1乃至25nに当該送信を中止させる。
【0074】アプリケーション1からの送信データ7を
受け取った1又は複数の他のアプリケーション6は、必
要に応じて、送信データ7に対する応答データをアプリ
ケーション1に送信する。対応する通信スレッド251
乃至25nは、応答データを受信して、これをタスクマ
ネージャ31に送る。タスクマネージャ31は、通信ス
レッド251乃至25nから受け取った応答データを、
多重制御ソケット24等に対して通知することなく、受
信順に受信データ格納領域34に格納して保持する。
【0075】アプリケーション1は、他のアプリケーシ
ョン6から当該送信に対する応答データを受信する場
合、送信要求SEの発行から適当な時間の経過後、通信
制御ソケット23に対して受取要求RCを発行する。通
信制御ソケット23は、多重制御ソケット24を介し
て、タスクマネージャ31の受信データ格納領域34を
参照する。
【0076】応答データが受信データ格納領域34に保
持されている場合、通信制御ソケット23は、保持され
ている全ての応答データを受信データ格納領域34から
取り出して、アプリケーション1に送る。応答データが
受信データ格納領域34に保持されていない場合、通信
制御ソケット23は当該応答データが受信データ格納領
域34に格納されるのを待つ。即ち、通信制御ソケット
23は、応答データが受信データ格納領域34に格納さ
れるまで、定期的に受信データ格納領域34を参照する
ことを繰り返す。
【0077】アプリケーション1は、他のアプリケーシ
ョン6との間のデータ通信を終了した場合、制御プログ
ラム9に対して所定の要求CLを発行して、通信制御ソ
ケット23の消滅を要求する。これに応じて、制御プロ
グラム9は通信制御ソケット23を消滅させる。この消
滅に先立って、通信制御ソケット23は多重制御ソケッ
ト24に要求CLを通知する。多重制御ソケット24は
タスクマネージャ31及び通信スレッド251乃至25
nを消滅させる。この後、多重制御ソケット24が通信
制御ソケット23により消滅させられる。
【0078】図9乃至図14に示す各処理フローを参照
して、通信制御ソケット23、多重制御ソケット24等
の実行する各処理について説明する。
【0079】図9はデータ通信送信100における送信
データの他のアプリケーション6へのデータ送信時の処
理フローを示す。
【0080】前述のように、パラメータ8は、プロトコ
ルの自動判別についての情報、マルチキャスト/ユニキ
ャストの種別についての情報、プロトコルの種別につい
ての情報を含む。他のアプリケーション6へのデータ送
信時の処理において、通信制御ソケット23は、このパ
ラメータ8に基づいて、他のアプリケーション6に対し
ての通信の方式を決定する。特に、通信制御ソケット2
3は、パラメータ8に基づいて他のアプリケーション6
に対してマルチキャストでの通信を決定した場合、当該
マルチキャストでの通信において通信に失敗したアプリ
ケーション6に対してユニキャストでの通信を決定す
る。これにより、アプリケーション1は通信の失敗を個
々に意識する必要がない。
【0081】また、図6に示すように、通信制御ソケッ
ト23は、他のアプリケーション6に対しての通信のプ
ロトコルが複数である場合、複数のプロトコルの各々に
対応して複数の多重制御ソケット24を生成する。更
に、複数の多重制御ソケット24は、その各々に対応し
て、タスクマネージャ31を生成し、複数の通信スレッ
ド25を生成する。
【0082】通信制御ソケット23が、アプリケーショ
ン1から送信要求と共に送信データ7及びパラメータ8
を受け取る(ステップS1)。
【0083】通信制御ソケット23が、通信プロトコル
を切り分ける処理を開始する(ステップS2)。
【0084】通信制御ソケット23が、アプリケーショ
ン1により自動判別が指定されているか否かを調べる
(ステップS3)。即ち、図3に示すパラメータ8にお
いて、自動判別が「あり」か「なし」かが調べられる。
「あり」が指定されている場合に相当する。
【0085】指定されている場合、通信制御ソケット2
3が、多重制御ソケット24を介してタスクマネージャ
31に、当該送信先の全てに対してマルチキャストで送
信可能か否かを問い合わせる(ステップS4)。即ち、
タスクマネージャ31が当該送信先の全てのホスト20
0にマルチキャストでの受信が可能かを問い合わせる。
これにより、アプリケーション1の指定の誤りが訂正さ
れる。
【0086】送信可能な場合、通信スレッド25がマル
チキャストで当該送信先の全てに対して当該送信データ
を送信する(ステップS5)。マルチキャストの場合、
データ通信装置100は送信データ7を1回だけ送出す
る。
【0087】通信制御ソケット23が正常終了したか否
かを調べる(ステップS6)。
【0088】正常終了した場合、通信制御ソケット23
が処理を終了する。
【0089】ステップS3において、自動判別が指定さ
れていない場合、通信制御ソケット23がアプリケーシ
ョン1によりマルチキャストが指定されているか否かを
調べる(ステップS7)。指定されている場合、ステッ
プS4以下を実行する。これにより、ステップS4で前
述のように、アプリケーション1の指定の誤りが訂正さ
れる。
【0090】指定されていない場合、通信スレッド25
が、当該送信先の各々に対してその通信方式に適合した
ユニキャストで当該送信データを送信して(ステップS
8)、処理を終了する。ユニキャストの場合、図6に示
すように、通信制御ソケット23が異なるプロトコルに
対応する多重制御ソケット24を送信の都度に生成し、
多重制御ソケット24等が前述した各処理を実行する。
これにより、ステップS8が実行される。
【0091】また、ステップS4において、当該送信先
の全てに対してマルチキャストで送信可能でない場合
も、ステップS8以下を実行する。
【0092】また、ステップS6において、正常終了し
なかった場合、通信制御ソケット23が送信失敗先リス
トを作成し、多重制御部24を介してタスクマネージャ
31等に再度の送信要求を行い(ステップS9)、ステ
ップS8以下を実行する。
【0093】図10は送受信時のエラーリトライ処理フ
ローを示す。この処理は図9に示すステップS5及びス
テップS8の送信処理、及び、図18に示すステップS
40の受信処理の双方において実行される。この処理に
より、当該データ送信の信頼性を向上することができ
る。
【0094】前述のように、パラメータ8は、他のアプ
リケーション6に対しての通信に失敗した場合における
リトライ回数、及び、リトライの場合における各通信の
間の時間間隔についての情報を含む。通信制御ソケット
23が、この情報に基づいて、他のアプリケーション6
に対しての通信のリトライ回数を決定する。これに応じ
て、タスクマネージャ31及び通信スレッド25は、当
該時間間隔で、リトライ回数の範囲において、通信の成
功まで当該通信を繰り返す。この場合において、複数の
通信スレッド25の内、通信のリトライを行っている通
信スレッド25が、リトライの場合における各通信の
間、スリープ状態となる。
【0095】通信スレッド25がデータ送受信処理を行
う(ステップS10)。
【0096】通信制御ソケット23が送受信が失敗した
か否かを調べる(ステップS11)。送受信が失敗に
は、例えば送信データ7をネットワーク400上に送出
できなかった場合等がある。
【0097】失敗した場合、通信制御ソケット23がア
プリケーション1から指定された回数だけ当該送受信を
リトライしたか否かを調べる(ステップS12)。リト
ライ回数は図3に示すパラメータ8において指定され
る。
【0098】指定回数だけリトライしていない場合、当
該通信スレッド25は、アプリケーション1から指定さ
れた時間だけスリープ状態となり(ステップS13)、
指定時間が経過するとステップS10以下を繰り返す。
スリープ時間は図3に示すパラメータ8において指定さ
れる。
【0099】指定回数だけリトライした場合、当該送受
信に失敗したので、通信制御ソケット23が異常終了を
認識して(ステップS14)、処理を終了する。
【0100】ステップS11において、送受信に失敗し
ていない場合、通信制御ソケット23が正常終了を認識
して(ステップS15)、処理を終了する。
【0101】図11はデータ送信側におけるデータ送信
時のデータチェックサム処理フローを示す。以下の処理
において、ステップS16乃至ステップS18は図9に
示すステップS5及びステップS8において実行され、
ステップS19は図8に示す受取要求RCの発行以降の
処理に対応する。
【0102】前述のように、パラメータ8は、送信デー
タ7へのチェックサムデータの付加についての情報を含
む。通信制御ソケット23は、この情報に基づいて、送
信データ7についてのチェックサムデータを作成する。
タスクマネージャ31及び通信スレッド25は、送信デ
ータ7にチェックサムデータを付加して送信する。この
処理により、当該データ送信の信頼性を向上することが
できる。
【0103】通信制御ソケット23がアプリケーション
1からデータチェックサム処理を伴うデータ送信が指定
されているか否かを調べる(ステップS16)。即ち、
図3に示すパラメータ8において、チェックサム処理が
「あり」か「なし」かが調べられる。「あり」が指定さ
れている場合に相当する。
【0104】指定されている場合、通信制御ソケット2
3が当該チェックサム処理用のチェックサムデータ(例
えば、MD5)を作成する(ステップS17)。指定さ
れていない場合、ステップS17の実行は省略する。
【0105】通信スレッド25が当該送信データの送信
処理を行う(ステップS18)。この時、チェックサム
データが作成されていれば、同時に送信される。
【0106】適当な時間の経過の後、通信スレッド25
が、図14に示す受信処理により、図19に示すステッ
プS51において送信された送信データ7に対する応答
(リプライ)データを受信する(ステップS19)。応
答データは、送信データ7に対する本来の応答の他に、
受信側のホスト200におけるチェックサムエラーの発
生の有無を示す情報を含む。
【0107】通信制御ソケット23が、受信したリプラ
イデータを用いてチェックサムエラーが発生したか否か
を調べる(ステップS20)。図15に示すステップS
35において、リプライデータには当該データ送信元名
(ホスト200の名前)が付加されているので、当該エ
ラーの発生したホスト200を知ることができる。
【0108】発生していない場合、通信制御ソケット2
3が正常終了を認識して(ステップS21)、処理を終
了する。
【0109】発生した場合、通信制御ソケット23がチ
ェックサムエラーの発生をアプリケーション1に通知し
て(ステップS22)、処理を終了する。この後、アプ
リケーション1は、当該他のアプリケーション6に対し
て当該送信データ7を再送信する等の処理を行う。
【0110】図12は最大接続台数の制御処理フローを
示す。この処理は図9に示すステップS5及びステップ
S8において実行される。この処理により、ネットワー
クのトラフィック負荷を軽減することができる。
【0111】前述のように、パラメータ8は、他のアプ
リケーション6に対しての通信を行う場合における同時
に接続可能な通信相手の数である同時最大接続台数につ
いての情報を含む。多重制御ソケット24は、この情報
に基づいて、タスクマネージャ31及び通信スレッド2
5が複数の他のアプリケーション6との通信を行う場合
における、同時に接続する通信相手の数を制限する。こ
のために、多重制御ソケット24は、アプリケーション
1からの所定の要求の後の送信要求に応じて、前記同時
最大接続台数の数だけ、1又は複数の通信スレッド25
を生成する。生成された通信スレッド25は、タスクマ
ネージャ31により、複数の他のアプリケーション6に
対しての通信に割り当てられる。
【0112】この割り当てにおいて、他のアプリケーシ
ョン6毎に優先度を指定することができる。例えば、パ
ラメータ8に、他のアプリケーション6に対しての通信
を行う場合における通信の優先度についての情報を含む
ことができる。この場合、タスクマネージャ31が、こ
の情報に基づいて、生成された複数の通信スレッド25
を、複数の他のアプリケーション6に対してその優先度
の高い順に、当該他のアプリケーション6への通信に割
り当てる。
【0113】通信制御ソケット23が、アプリケーショ
ン1からの複数のホスト200への送信要求を受け付け
る(ステップS23)。複数のホスト200は、図3に
示すパラメータ8において、宛先リストに示される。例
えば、送信先として指示されるホスト200の台数は1
0000台である。
【0114】多重制御ソケット24が1個の通信スレッ
ド25を生成し、通信スレッド25が送受信処理を実行
する(ステップS24)。この時、その時点で、最も優
先度の高い他のアプリケーション6(ホスト200)に
対して、当該1個の通信スレッド25が割り当てられ
る。なお、最初から複数の通信スレッド25を生成する
ようにしても良い。
【0115】通信制御ソケット23が、多重制御ソケッ
ト24を介して、送信要求のあった全てのホスト200
への処理が完了したか否かを調べる(ステップS2
5)。処理が完了した場合、通信制御ソケット23が処
理を終了する。
【0116】処理が完了していない場合、多重制御ソケ
ット24が、そのスレッドテーブルを参照することによ
り、アプリケーション1から指定された同時最大接続台
数以上の通信スレッド25(251乃至25n)が動作
しているか否かを調べる(ステップS26)。同時最大
接続台数は図3のパラメータ8において指定され、この
場合は10個である。
【0117】動作していない場合、ステップS24以下
を繰り返す。即ち、新たに1個の通信スレッド25が生
成され、これを用いた送受信処理が実行される。この場
合は最大で10個の通信スレッド25が生成される。
【0118】動作している場合、タスクマネージャ31
(又は多重制御ソケット24)が、何れかの通信スレッ
ド25の処理の終了を待ち合わせして、当該処理の終了
して空いた通信スレッド25により送受信処理を実行し
(ステップS27)、ステップS25を繰り返す。この
時、前述のように、その時点で、最も優先度の高い他の
アプリケーション6(ホスト200)に対して、空いた
通信スレッド25が割り当てられる。この場合、10個
の通信スレッド25を繰り返し用いて10000台のホ
スト200に対する送信が行われる。
【0119】図13は間欠転送処理フローを示す。この
処理は図9に示すステップS5及びステップS8におい
て実行される。この処理により、ネットワークのトラフ
ィック負荷を軽減することができる。
【0120】通信制御ソケット23がアプリケーション
1からのデータ送信要求を受け付ける(ステップS2
8)。
【0121】通信スレッド25が指定されたバッファサ
イズでデータを送信する(ステップS29)。バッファ
サイズは、図3のパラメータ8において指定されてい
る。
【0122】タスクマネージャ31が、その送信データ
格納領域33を参照して、データの送信が全て完了した
か否かを調べる(ステップS30)。即ち、送信データ
格納領域33に取り出されずに残っているデータ(デー
タブロック)が存在するか否かを調べる。完了した場
合、処理を終了する。
【0123】完了しない場合、タスクマネージャ31が
間欠転送モードが指定されているか否かを調べる(ステ
ップS31)。間欠転送モードは図3に示すパラメータ
8において指定される。指定されていない場合、ステッ
プS29以下を繰り返す。
【0124】指定されている場合、当該通信スレッド2
5は、指定された時間分だけスリープ状態に入り(ステ
ップS32)、その後、ステップS38以下を繰り返
す。スリープ時間は図3に示すパラメータ8において指
定される。
【0125】図14はリプライ受信時の処理フローを示
す。この処理は、図11に示すステップS19において
実行され、図8に示す受取要求RCの発行以降の処理に
相当する。
【0126】前述のように、タスクマネージャ31が、
複数の通信スレッド25が複数の他のアプリケーション
6から受信した前記送信に対する応答データを保持す
る。通信制御ソケット23は、アプリケーション1から
の受取要求に応じてタスクマネージャ31(の受信デー
タ格納領域34)を調べる。そして、通信制御ソケット
23は、応答データがタスクマネージャ31に保持され
ている場合にこれを取り出してアプリケーション1へ送
り、保持されていない場合に当該応答データがタスクマ
ネージャ31に保持されるまで待つ。
【0127】アプリケーション1は、1個の他のアプリ
ケーション6について、1回の受取要求を発行するのみ
である。アプリケーション1は、受取要求の発行を、他
のアプリケーション6(ホスト200)の数だけ繰り返
すことにより、応答データを受け取ることができる。な
お、アプリケーション1が、相当の数の応答データが受
信データ格納領域34に保持されているとみなせるタイ
ミングで、受取要求を発行するようにしても良い。これ
により、その時点で保持されている応答データを全て受
け取ることができ、受取要求の発行回数を減らすことが
できる。
【0128】通信制御ソケット23がアプリケーション
1からリプライデータ受信要求を受け取る(ステップS
33)。
【0129】通信制御ソケット23がタスクマネージャ
31の受信データ格納領域34を参照することにより、
送信相手先から受信データが届いているか否かを調べる
(ステップS34)。届いていない場合、ステップS3
4以下を繰り返す。このように応答データの受信を待ち
合わせすることにより、図7に示すように、送信データ
7の送信は1回であるのに対し、その応答データの受取
は個別に処理することができる。
【0130】届いている場合、通信制御ソケット23
が、リプライデータ送信元の名前の付加された当該リプ
ライデータをアプリケーション1に通知して(ステップ
S35)、処理を終了する。
【0131】図15はデータ通信装置構成図であって、
本発明のデータ通信装置100のデータ受信の機能に着
目した構成を示す。この構成は、上述した他のアプリケ
ーション6がデータ通信装置100に存在し、データ通
信装置100が受信側である場合の構成を示す。即ち、
アプリケーション6は他のアプリケーション1から送信
された送信データ7を受信する。
【0132】データ通信装置100において、データ受
信の機能モジュール40は、スレッド50とこれに対応
するオブジェクト60とからなる。スレッド50内には
1個のアプリケーションスレッド51が含まれる。アプ
リケーションスレッド51は、更に、アプリケーション
6のメインスレッド52、第1通信制御部である通信制
御サーバソケット53、第1多重制御部である多重制御
サーバソケット54、第2通信制御部である通信制御ソ
ケット55、第2多重制御部である多重制御ソケット5
6及び送受信部57を含む。スレッド50は接続処理部
58を含む。
【0133】メインスレッド52にはアプリケーション
6が存在し、当該メインスレッド52内で動作する。第
1及び第2の通信制御ソケット53及び55、第1及び
第2の多重制御ソケット54及び56は、共に、アプリ
ケーションスレッド51内で動作する。データ受信の機
能モジュール40は、送信の場合とは異なり、送受信部
57もアプリケーションスレッド51内で動作する。接
続処理部58は、アプリケーションスレッド512外で
かつスレッド50内で動作する。
【0134】オブジェクト60には通信管理部であるタ
スクマネージャ61が含まれる。タスクマネージャ61
は受信した送信データ7を格納する格納領域62を含
む。
【0135】データ通信装置100又はデータ受信の機
能モジュール40は、図15に示すように、アプリケー
ション1からの送信データ7の受信をオブジェクト60
として捉える。アプリケーションスレッド51が、オブ
ジェクト60との間でメッセージの授受を行うことによ
り、データ受信を行う。
【0136】図16はデータ受信装置説明図であり、図
15に示すデータ通信装置100における各部の生成を
示す。
【0137】アプリケーション6が起動されると、アプ
リケーション6がJava等の制御プログラム9に対し
て所定の要求を発行する。これにより、制御プログラム
9が、スレッド50、その中のアプリケーションスレッ
ド51、その中のメインスレッド52を生成する。
【0138】アプリケーション6は、他のアプリケーシ
ョン1との間のデータ通信を行う場合、制御プログラム
9に対して所定の要求NE’を発行して、データ通信の
ためのソケットの生成を要求する。これに応じて、制御
プログラム9はアプリケーションスレッド51内に通信
制御サーバソケット53を生成する。アプリケーション
6は、前記要求NE’の発行に際して、当該要求NE’
と共にデータ受信のプロトコル(例えば、HTTP)を
制御プログラム9に渡す。制御プログラム9は通信制御
サーバソケット53に当該プロトコルを渡す。
【0139】通信制御サーバソケット53は、当該プロ
トコルに従って、多重制御サーバソケット54を生成す
る。この生成処理は、実際は、通信制御ソケット53が
当該プロトコルに基づいて制御プログラム9の備えるソ
ケットライブラリ(図示せず)の中から当該多重制御サ
ーバソケット54を呼び出すことによる。
【0140】多重制御サーバソケット54は送受信部5
7を生成する。送受信部57は、多重制御サーバソケッ
ト54の生成時に生成される。送受信部57は、送信の
場合とは異なり、1個生成される。
【0141】また、通信制御サーバソケット53は通信
制御ソケット55を生成する。この生成処理は、実際
は、通信制御サーバソケット53が制御プログラム9の
備えるソケットライブラリ(図示せず)の中から当該通
信制御ソケット55を呼び出すことによる。
【0142】また、多重制御サーバソケット54は多重
制御ソケット56を生成する。多重制御ソケット56
も、実際は、多重制御サーバソケット54が制御プログ
ラム9の備えるソケットライブラリ(図示せず)の中か
ら当該多重制御ソケット56を呼び出すことにより、生
成される。
【0143】多重制御ソケット54はタスクマネージャ
61を生成する。この生成処理は、実際は、多重制御ソ
ケット54の実行するコンストラクタ処理の一部として
行われる。コンストラクタ処理は多重制御ソケット54
の生成時に行われる。
【0144】接続処理部58も、同様にして、多重制御
ソケット54により生成される。接続処理部58は、接
続処理部26と同様に、TCP/IPのトランスポート
層であり、実際に当該プロトコルであるHTTPに従っ
て、データの送受信を行う。従って、接続処理部58は
HTTPコネクションである。HTTPコネクションの
メソッドは、基本的には、同期型である。なお、タスク
マネージャ61及びアプリケーションスレッド51が、
TCP/IPのアプリケーション層であると考えて良
い。
【0145】次に、通信制御サーバソケット53、多重
制御サーバソケット54等の実行する処理について説明
する。なお、この例では、図3に示すパラメータ8にお
いて、プロトコルがHTTPであると指定されている。
【0146】通信制御部は第1通信制御部(又は第1通
信制御ソケット)である通信制御サーバソケット53と
第2通信制御部(又は第2通信制御ソケット)である通
信制御ソケット55とからなる。通信制御部、即ち、通
信制御サーバソケット53及び通信制御ソケット55
は、アプリケーション6からの要求に応じて、他のアプ
リケーション1からの送信データ7の受信が可能な所定
のプロトコルを判別する。
【0147】また、通信制御サーバソケット53は、ア
プリケーション6からの要求に応じて、他のアプリケー
ション1からの送信データ7の受信が可能な所定のプロ
トコルを判別する。通信制御ソケット55は、アプリケ
ーション6からの受取要求に応じて、タスクマネージャ
61に送信データ7が保持されている場合にこれをアプ
リケーション6に送り、保持されていない場合に当該送
信データ7がタスクマネージャ61に保持されるまで待
つ。通信制御ソケット55は、アプリケーション6から
の要求に応じて、多重制御ソケット56を介して他のア
プリケーション1に対して応答データを返信する多重制
御部は第1多重制御部(又は第1多重制御ソケット)で
ある多重制御サーバソケット54と第2多重制御部(又
は第2多重制御ソケット)である多重制御ソケット56
とからなる。多重制御部は、通信制御部からの判別結果
に従って、前記所定のプロトコルに対応した所定の指示
を生成する。即ち、多重制御サーバソケット54は、通
信制御サーバソケット53からの判別結果に従って、前
記所定のプロトコルに対応した所定の指示を生成する。
多重制御ソケット56は、通信制御ソケット55からの
指示に従って、アプリケーション6からの受取要求及び
応答データの返信のための前記所定のプロトコルに対応
した所定の指示を生成する。
【0148】通信管理部であるタスクマネージャ61
は、多重制御部、即ち、多重制御サーバソケット54及
び多重制御ソケット56からの指示に従って送受信部5
7において前記所定のプロトコルに従って行われる通信
によって他のアプリケーション1から受信した送信デー
タ7を保持する。
【0149】通信制御サーバソケット53はアプリケー
ション1に対するAPI(Application Programming In
terface )である。アプリケーション1は、通信制御サ
ーバソケット53に対して送信データ7の受信を要求す
る。アプリケーション1からは通信インタフェースとし
て通信制御サーバソケット53等が見えるのみである。
従って、アプリケーション1が送信相手先のプロトコル
を意識する必要はない。この場合、プロトコルがHTT
Pであることが認識される。
【0150】通信制御サーバソケット53は、上記プロ
トコルの判別の他に、アプリケーション6から渡された
パラメータ(図示せず)が正しいか否かのチェック、制
御プログラム9の備えるソケットライブラリ(図示せ
ず)からの各種のサーバソケットの呼び出しを行う。通
信制御サーバソケット53が生成する多重制御サーバソ
ケット54は、当該ソケットライブラリから呼び出され
る。
【0151】多重制御サーバソケット54は、通信制御
サーバソケット53での判別結果に従って、前記所定の
プロトコルに対応した所定の指示を生成する。この指示
により、送受信部57が動作する。この場合、プロトコ
ルがHTTPであるので、生成される(呼び出される)
多重制御サーバソケット54はHTTP制御サーバソケ
ットである。
【0152】通信制御ソケット55も、通信制御サーバ
ソケット53と同様に、アプリケーション1に対するA
PIである。アプリケーション1は、通信制御ソケット
55に対して送信データ7の受取を要求する。アプリケ
ーション1からはインタフェースとして通信制御ソケッ
ト55が見えるのみである。
【0153】通信制御ソケット55は、上記プロトコル
の判別の他に、アプリケーション6から渡されたパラメ
ータ(図示せず)が正しいか否かのチェック、制御プロ
グラム9の備えるソケットライブラリ(図示せず)から
の各種のソケットの呼び出しを行う。通信制御ソケット
55が生成する多重制御ソケット56は、当該ソケット
ライブラリから呼び出される。
【0154】多重制御ソケット56は、前記所定のプロ
トコルに対応した所定の指示を生成する。この指示によ
り、タスクマネージャ61が動作する。この場合、プロ
トコルがHTTPであるので、生成される(呼び出され
る)多重制御ソケット56はHTTP制御ソケットであ
る。多重制御ソケット56はタスクマネージャ61に格
納されている受信した送信データ7の取り出しを行う。
送信データ7の取り出しにおいては、応答データの取り
出しと異なり、同期待ち合わの必要がない。
【0155】送受信部57は接続処理部58に対して同
期型で実際の接続要求を行う。送受信部57は、前記接
続要求において受け取ったソケット(多重制御ソケット
56)を使用して、接続処理部58に対して同期型で受
信要求を行う。送受信部57は、前記受信要求において
受け取った送信データ7を、タスクマネージャ61に格
納する(パケットを設定する)。送受信部57は接続処
理部58に対して同期型で返信要求を行う。アプリケー
ション6からの返信の中止要求があった場合には、送信
側におけるのと同様にして、当該中止要求を接続処理部
58に対して通知する。
【0156】タスクマネージャ61は、多重制御ソケッ
ト56からの指示に従って、受信した送信データ(パケ
ット)7を管理する。タスクマネージャ61は多重制御
ソケット24のコンストラクタ処理において生成され
る。タスクマネージャ61はアプリケーション6のメイ
ンスレッド52内で動作する。
【0157】図17はデータ受信処理説明図であって、
本発明のデータ通信装置100におけるデータ受信処理
を示す。この受信処理は図8に示す送信処理と対応する
処理である。
【0158】この例は、図15のホスト200がHTT
Pクライアントであり、図4のデータ受信装置100が
HTTPサーバである場合について示す。即ち、HTT
Pサーバ100に対して、HTTPクライアント200
が装置データ7に対する応答データを返信する例であ
る。
【0159】アプリケーション6は、前述のように、他
のアプリケーション1との間のデータ通信を行う場合、
制御プログラム9に対して所定の要求NE’を発行す
る。これに応じて、制御プログラム9は通信制御サーバ
ソケット53を生成する。通信制御サーバソケット53
は多重制御サーバソケット54を生成する。多重制御サ
ーバソケット54は送受信部57を生成する。
【0160】次に、アプリケーション6が通信制御サー
バソケット53に対して接続要求ACを発行する。通信
制御サーバソケット53は、多重制御サーバソケット5
4を介して、これを送受信部57に送る。
【0161】送受信部57は、接続要求ACに応じて、
接続処理部58の一部581を介して、所定のサーバ
(例えば、HTTPサーバ)との間で所定のプロトコル
に従って通信を行うことにより、当該サーバとの間の接
続を確立する。送受信部57は接続要求ACに対する前
記所定のサーバからの応答を多重制御サーバソケット5
4に通知する。
【0162】多重制御サーバソケット54は、送受信部
57から前記応答の通知を受けると、多重制御ソケット
54を生成する。多重制御ソケット54はタスクマネー
ジャ61を生成する。
【0163】この後、多重制御サーバソケット54は、
接続処理部58の一部582を介して、前記所定のサー
バに対して、送信データ7の受信要求RC’を送信す
る。これに応じて、前記所定のサーバが当該送信データ
7を送信し、これを送受信部57が受信する。
【0164】送信データ7を受け取った送受信部57
は、受け取った送信データ7をタスクマネージャ61に
送る。タスクマネージャ61は、多重制御ソケット54
等に対して通知することなく、受け取った送信データ7
を格納領域62に格納して保持する。
【0165】また、送信データ7を受け取った送受信部
57は、送信データ7の受信を、多重制御サーバソケッ
ト54を介して、通信制御サーバソケット53に通知す
る。通信制御サーバソケット53は、当該受信をアプリ
ケーション6に通知すると共に、通信制御ソケット55
を生成する。
【0166】当該受信の通知を受けたアプリケーション
6は、通信制御ソケット55に対して受取要求RCを発
行する。通信制御ソケット55は、多重制御ソケット5
6を介して、タスクマネージャ61の格納領域62を参
照する。
【0167】この時点で、送信データ7が受信データ格
納領域34に保持されているので、通信制御ソケット5
5は、保持されている送信データ7を格納領域62から
取り出して、多重制御ソケット56を介して、アプリケ
ーション6に送る。
【0168】送信データ7を受け取ったアプリケーショ
ン6は、当該送信データ7に対して応答データを返す必
要がある場合、当該応答データを作成する。アプリケー
ション6は、当該応答データと共に、通信制御ソケット
55に対して所定の返信要求RPを発行する。通信制御
ソケット55は、多重制御ソケット56を介して、これ
らを送受信部57に送る。送受信部57は、接続処理部
58の一部582を介して、他のアプリケーション6の
存在する所定のサーバに応答データを送信する。
【0169】アプリケーション6は、他のアプリケーシ
ョン1との間の通信を終了した場合、制御プログラム9
に対して所定の要求CLを発行して、通信制御ソケット
55の消滅を要求する。これに応じて、制御プログラム
9は通信制御ソケット55を消滅させる。この消滅に先
立って、通信制御ソケット55は多重制御ソケット56
に要求CLを通知する。多重制御ソケット56はタスク
マネージャ61を消滅させる。この後、多重制御ソケッ
ト56が通信制御ソケット55により消滅させられる。
【0170】図18はデータ受信側におけるデータ受信
時の処理フローを示す。
【0171】通信制御サーバソケット53がアプリケー
ション6から接続要求を受け取る(ステップS36)。
【0172】通信制御サーバソケット53が通信プロト
コルの切り分け処理を行う(ステップS37)。
【0173】通信制御サーバソケット53がアプリケー
ション6から接続要求を受け取り、多重制御サーバソケ
ット54及び送受信部57を介して、送信する(ステッ
プS38)。
【0174】送受信部57が多重制御サーバソケット5
4から受信要求を受け取り、送信する(ステップS3
9)。
【0175】送受信部57がアプリケーション1から送
信データ7を受信する(ステップS40)。受信した送
信データ7はタスクマネージャ61の格納領域62に保
持される。
【0176】通信制御ソケット55がアプリケーション
6から受取要求を受け取る(ステップS41)。これに
より、格納領域62に保持されている送信データ7が取
り出されアプリケーション6に送られる。
【0177】アプリケーション6が送信データ7に対す
る応答データの返信が必要か否かを調べる(ステップS
42)。必要でない場合、以下のステップS43及びス
テップS44は省略される。
【0178】必要な場合、アプリケーション6が所定の
応答データを作成する(ステップS43)。
【0179】アプリケーション6から応答データ及び返
信要求を受け取った通信制御ソケット55が、多重制御
ソケット56及び送受信部57を介して、応答データを
アプリケーション1に送信して(ステップS44)、処
理を終了する。
【0180】図19はデータ受信側におけるデータ受信
時のデータチェックサム処理フローを示す。この処理
は、主として、図18に示すステップS41において実
行され、ステップS51は図18のステップS43及び
ステップS44において実行される。この処理により、
当該データ送信の信頼性を向上することができる。
【0181】送受信部57が送信データ7を受信する
(ステップS45)。この時、図3のパラメータ8にお
いてデータチェックサム処理が「あり」とされていれ
ば、図11に示すステップS18においてチェックサム
用データが付加されている。
【0182】通信制御ソケット55が、受信した送信デ
ータ7がアプリケーション1からデータチェックサム処
理を伴うデータ送信が指定されて送信されたか否かを調
べる(ステップS46)。このために、ステップS45
において受信した送信データ7にチェックサム用データ
の付加の有無を示す情報が付加される。データチェック
サム処理が指定されていない場合、処理を終了する。
【0183】指定されていた場合、通信制御ソケット5
5が当該受信したデータに基づいて新たにチェックサム
処理用のチェックサム用データを作成する(ステップS
47)。
【0184】通信制御ソケット55がチェックサム処理
を行う(ステップS48)。即ち、ステップS45で受
信したチェックサム用データと、ステップS47で作成
したチェックサム用データとを比較する。
【0185】通信制御ソケット55がチェックサムエラ
ーが発生したか否かを調べる(ステップS49)。前記
比較の結果が一致した場合チェックサムエラーは発生し
ておらず、不一致の場合チェックサムエラーが発生して
いる。
【0186】発生していない場合、通信制御ソケット5
5が正常終了を認識して(ステップS50)、処理を終
了する。従って、応答データにチェックサムエラーの発
生の通知は含まれない。又は、応答データの返信が省略
される。
【0187】発生した場合、通信制御ソケット55が、
送受信部57を介してチェックサムエラーが発生したこ
とを送信元へリプライデータとして送信し(ステップS
51)、処理を終了する。なお、送信データ7に対する
応答データを送信する必要がある場合、チェックサムエ
ラーの発生の通知が当該応答データに付加される。
【0188】この後、送信元であるアプリケーション1
において、図11に示すステップS19以下が実行され
る。これにより、ステップS51において送信されたチ
ェックサムエラーの発生の通知が、ステップS20にお
いて調べられる。
【0189】以上、本発明を実施の形態に従って詳細に
説明したが、本発明はその主旨の範囲において種々の変
形が可能である。
【0190】例えば、本発明は双方向の通信が行われる
場合においても適用することができる。即ち、データ通
信装置100及びホスト200の双方が、図4に示すデ
ータ送信モジュール10及び図15に示すデータ受信モ
ジュール40の双方を備えることにより、双方向の通信
においても同様の効果を得ることができる。また、本発
明は、サーバとクライアントとの間の通信に限らず、広
くデータ通信に適用することができる。
【0191】本発明は、以上のような処理をコンピュー
タであるデータ通信装置100(及びホスト200)に
行わせるプログラムを記憶したプログラム記憶媒体を提
供するものである。
【0192】
【発明の効果】以上説明したように、本発明によれば、
データ通信装置において、アプリケーションからのパラ
メータに基づいて通信が可能なプロトコルを自動的に判
別して当該通信を行うことにより、アプリケーションの
行う処理を複数の他のアプリケーションとの間で複数の
プロトコルに従って通信を行う場合でも送信データ及び
パラメータを1回出力するのみにすることができるの
で、アプリケーションが個別に種々の通信機能を備えて
種々の処理を行う必要をなくすことができ、アプリケー
ションがプロトコルを意識する必要をなくすことがで
き、この結果、データ通信のためのアプリケーションの
負担を小さくでき、その開発者の負担も小さくすること
ができる。
【0193】また、本発明によれば、以上のような処理
をデータ通信装置であるコンピュータに実行させるプロ
グラム記憶媒体を提供することができるので、アプリケ
ーションについて同様の効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】データ通信装置説明図である。
【図3】パラメータ説明図である。
【図4】データ通信装置構成図である。
【図5】データ通信装置説明図である。
【図6】データ通信装置説明図である。
【図7】データ通信装置説明図である。
【図8】データ送信処理説明図である。
【図9】データ送信時の処理フローを示す。
【図10】データ送受信時のエラーリトライ処理フロー
を示す。
【図11】データ送信時のデータチェックサム処理フロ
ーを示す。
【図12】最大接続台数の制御処理フローを示す。
【図13】間欠転送処理フローを示す。
【図14】リプライ受信時の処理フローを示す。
【図15】データ受信装置構成図である。
【図16】データ受信装置説明図である。
【図17】データ受信処理説明図である。
【図18】データ受信時の処理フローを示す。
【図19】データ受信時のデータチェックサム処理フロ
ーを示す。
【符号の説明】
1 アプリケーション 2 通信制御部 3 多重制御部 4 通信管理部 5、51〜5n 送受信部 6、61〜6n 他のアプリケーション 7 送信データ 8 パラメータ 9 制御プログラム 10 機能モジュール 20 スレッド 21 アプリケーションスレッド 22 メインスレッド 23 通信制御ソケット 24 多重制御ソケット 251〜25n 通信スレッド 30 オブジェクト 31 タスクマネージャ 32 管理テーブル 33 送信データ格納領域 34 受信データ格納領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 寺岡 孝司 石川県河北郡宇ノ気町字宇野気ヌ98番地の 2 株式会社ピーエフユー内 (72)発明者 吉岡 直人 石川県河北郡宇ノ気町字宇野気ヌ98番地の 2 株式会社ピーエフユー内 Fターム(参考) 5B089 AA03 AA11 AD06 AF01 AF02 CA19 CB02 CB08 CC12 CC18 CC20 5B098 AA10 GA01 GC16

Claims (31)

    【特許請求の範囲】
  1. 【請求項1】 1又は複数の他のアプリケーションへの
    データの送信を要求するアプリケーションと、 前記アプリケーションからの送信データ及びパラメータ
    を伴う送信要求に応じて、当該パラメータに基づいて、
    前記1又は複数の他のアプリケーションの各々について
    当該データの送信が可能な所定のプロトコルを判別する
    通信制御部と、前記通信制御部からの判別結果及び前記
    パラメータに従って、前記所定のプロトコルに対応した
    所定の指示を生成する多重制御部と、 前記多重制御部からの指示に従って、送受信部において
    前記所定のプロトコルに従って行われる通信を管理する
    通信管理部と、 前記1又は複数の他のアプリケーションの各々に対応さ
    せられ、前記所定のプロトコルに従った通信を対応する
    他のアプリケーションとの間で行う1又は複数の送受信
    部とからなることを特徴とするデータ通信装置。
  2. 【請求項2】 前記データ通信装置は、更に、所定の処
    理を行う制御プログラムを備え、 前記通信制御部は、前記アプリケーションからの所定の
    要求に応じて、前記制御プログラムにより生成され、 前記多重制御部は、前記通信制御部における前記所定の
    プロトコルの判別の結果に基づいて、前記通信制御部に
    より生成され、 前記通信管理部は、前記アプリケーションからの前記所
    定の要求に応じて、前記多重制御部により生成され、 前記1又は複数の送受信部は、前記アプリケーションか
    らの前記所定の要求の後の送信要求に応じて、前記多重
    制御部により生成されることを特徴とする請求項1に記
    載のデータ通信装置。
  3. 【請求項3】 前記パラメータは、プロトコルの自動判
    別についての情報、マルチキャスト/ユニキャストの種
    別についての情報、プロトコルの種別についての情報を
    含み、 前記通信制御部が、これらの情報に基づいて、前記1又
    は複数の他のアプリケーションに対しての通信の方式を
    決定することを特徴とする請求項1に記載のデータ通信
    装置。
  4. 【請求項4】 前記通信制御部が、前記パラメータに基
    づいて複数の他のアプリケーションに対してマルチキャ
    ストでの通信を決定し、当該マルチキャストでの通信に
    おいて通信に失敗したアプリケーションに対してユニキ
    ャストでの通信を決定することを特徴とする請求項3に
    記載のデータ通信装置。
  5. 【請求項5】 前記1又は複数の他のアプリケーション
    に対しての通信のプロトコルが複数である場合、前記通
    信制御部における前記所定のプロトコルの判別の結果に
    基づいて、前記複数のプロトコルの各々に対応して、当
    該プロトコルに対応した所定の指示を生成する多重制御
    部が、前記通信制御部により生成されることを特徴とす
    る請求項3に記載のデータ通信装置。
  6. 【請求項6】 前記通信管理部は、前記アプリケーショ
    ンからの前記所定の要求に応じて、前記複数の多重制御
    部の各々に対応して、当該多重制御部により生成され、 前記1又は複数の送受信部は、前記アプリケーションか
    らの前記所定の要求の後の送信要求に応じて、前記複数
    の多重制御部の各々に対応して、当該多重制御部により
    生成されることを特徴とする請求項5に記載のデータ通
    信装置。
  7. 【請求項7】 前記パラメータは、前記1又は複数の他
    のアプリケーションに対しての通信に失敗した場合にお
    けるリトライ回数についての情報を含み、 前記通信制御部が、この情報に基づいて、前記1又は複
    数の他のアプリケーションに対しての通信のリトライ回
    数を決定し、 前記通信管理部及び送受信部が前記リトライ回数の範囲
    において通信の成功まで当該通信を繰り返すことを特徴
    とする請求項1に記載のデータ通信装置。
  8. 【請求項8】 前記パラメータは、前記リトライの場合
    における各通信の間の時間間隔についての情報を含み、 前記通信管理部及び送受信部が、前記時間間隔で前記通
    信を繰り返し、 前記1又は複数の送受信部の内、前記通信のリトライを
    行っている送受信部が、前記リトライの場合における各
    通信の間はスリープ状態となることを特徴とする請求項
    7に記載のデータ通信装置。
  9. 【請求項9】 前記パラメータは、前記送信データへの
    チェックサムデータの付加についての情報を含み、 前記通信制御部が、この情報に基づいて、前記送信デー
    タについてのチェックサムデータを作成し、 前記通信管理部及び送受信部が前記送信データに前記チ
    ェックサムデータを付加して送信することを特徴とする
    請求項1に記載のデータ通信装置。
  10. 【請求項10】 前記パラメータは、前記1又は複数の
    他のアプリケーションに対しての通信を行う場合におけ
    る同時に接続可能な通信相手の数である同時最大接続台
    数についての情報を含み、 前記多重制御部が、この情報に基づいて、前記通信管理
    部及び送受信部が前記1又は複数の他のアプリケーショ
    ンとの通信を行う場合における、同時に接続する通信相
    手の数を制限することを特徴とする請求項1に記載のデ
    ータ通信装置。
  11. 【請求項11】 前記1又は複数の送受信部は、前記ア
    プリケーションからの前記所定の要求の後の送信要求に
    応じて、前記同時最大接続台数の数だけ前記多重制御部
    により生成され、 前記通信管理部が、生成された複数の送受信部を複数の
    他のアプリケーションに対しての通信に割り当てること
    を特徴とする請求項10に記載のデータ通信装置。
  12. 【請求項12】 前記パラメータは、前記1又は複数の
    他のアプリケーションに対しての通信を行う場合におけ
    る通信の優先度についての情報を含み、 前記通信管理部が、この情報に基づいて、生成された複
    数の送受信部を複数の他のアプリケーションに対しての
    優先度の高い順に通信に割り当てることを特徴とする請
    求項11に記載のデータ通信装置。
  13. 【請求項13】 前記通信管理部が、前記1又は複数の
    送受信部が前記1又は複数の他のアプリケーションから
    受信した前記送信に対する応答データを保持することを
    特徴とする請求項1に記載のデータ通信装置。
  14. 【請求項14】 前記通信制御部が、前記アプリケーシ
    ョンからの受取要求に応じて前記通信管理部を調べ、前
    記応答データが前記通信管理部に保持されている場合に
    前記アプリケーションへ送り、保持されていない場合に
    当該応答データが前記通信管理部に保持されるまで待つ
    ことを特徴とする請求項13に記載のデータ通信装置。
  15. 【請求項15】 アプリケーションスレッド及び1又は
    複数の通信スレッドを含むスレッドと、前記スレッドに
    対応するオブジェクトとを備え、 前記アプリケーションスレッドは、 1又は複数の他のアプリケーションへのデータの送信を
    要求するアプリケーションと、 前記アプリケーションからの送信データ及びパラメータ
    を伴う送信要求に応じて、前記1又は複数の他のアプリ
    ケーションへの当該データの送信が可能な所定のプロト
    コルを判別する通信制御ソケットと、 前記通信制御ソケットからの指示に従って、前記所定の
    プロトコルに対応した指示を生成する多重制御ソケット
    とを備え、 前記オブジェクトは、通信スレッドにおいて前記所定の
    プロトコルに従って行われる通信を管理するタスクマネ
    ージャを備え、 前記1又は複数の通信スレッドは、前記1又は複数の他
    のアプリケーションの各々に対応させられ、前記所定の
    プロトコルに従った通信を対応する他のアプリケーショ
    ンとの間で行うことを特徴とするデータ通信装置。
  16. 【請求項16】 前記データ通信装置は、更に、所定の
    処理を行う制御プログラムを備え、 前記アプリケーションスレッド及び前記スレッドは、前
    記アプリケーションが起動される際に、前記制御プログ
    ラムにより生成され、 前記通信制御ソケットは、前記アプリケーションからの
    所定の要求に応じて、前記制御プログラムにより、前記
    アプリケーションスレッド内に生成され、 前記多重制御ソケットは、前記通信制御ソケットにおけ
    る前記所定のプロトコルの判別の結果に基づいて、前記
    通信制御ソケットにより、前記アプリケーションスレッ
    ド内に生成され、 前記タスクマネージャは、前記アプリケーションからの
    前記所定の要求に応じて、前記多重制御ソケットによ
    り、前記オブジェクト内に生成され、 前記1又は複数の通信スレッドは、前記アプリケーショ
    ンからの前記所定の要求の後の送信要求に応じて、前記
    多重制御ソケットにより、前記スレッド内に生成される
    ことを特徴とする請求項15に記載のデータ通信装置。
  17. 【請求項17】 1又は複数の他のアプリケーションへ
    のデータの送信を要求するアプリケーションからの送信
    データ及びパラメータを伴う送信要求に応じて、前記1
    又は複数の他のアプリケーションへの当該データの送信
    が可能な所定のプロトコルを判別し、 前記判別の結果に従って、前記所定のプロトコルに対応
    した指示を生成し、 前記所定のプロトコルに従って行われる通信を管理し、 前記1又は複数の他のアプリケーションの各々に対応し
    て、前記所定のプロトコルに従った通信を対応する他の
    アプリケーションとの間で行うことを特徴とするデータ
    通信方法。
  18. 【請求項18】 所定の制御プログラムが、当該アプリ
    ケーションが起動される際に、アプリケーションスレッ
    ド及びこれを含むスレッドを生成し、 前記制御プログラムが、前記アプリケーションからの所
    定の要求に応じて、通信制御ソケットを前記アプリケー
    ションスレッド内に生成し、 前記通信制御ソケットが、1又は複数の他のアプリケー
    ションへのデータの送信を要求するアプリケーションか
    らの送信データ及びパラメータを伴う送信要求に応じ
    て、前記1又は複数の他のアプリケーションへの当該デ
    ータの送信が可能な所定のプロトコルを判別し、 前記通信制御ソケットが、前記通信制御ソケットにおけ
    る前記所定のプロトコルの判別の結果に基づいて、多重
    制御ソケットを前記アプリケーションスレッド内に生成
    し、 前記多重制御ソケットが、前記通信制御ソケットからの
    指示に従って、前記所定のプロトコルに対応した所定の
    指示を生成し、 前記多重制御ソケットが、前記アプリケーションからの
    前記所定の要求に応じて、タスクマネージャを前記スレ
    ッドに対応するオブジェクト内に生成し、 前記多重制御ソケットが、前記アプリケーションからの
    前記所定の要求の後の送信要求に応じて、1又は複数の
    通信スレッドを前記スレッド内に生成し、 前記多重制御ソケットからの指示に従って、前記タスク
    マネージャが、通信スレッドにおいて前記所定のプロト
    コルに従って行われる通信を管理し、 前記1又は複数の他のアプリケーションの各々に対応さ
    せられた前記1又は複数の通信スレッドが、前記所定の
    プロトコルに従った通信を、対応する他のアプリケーシ
    ョンとの間で行うことを特徴とするデータ通信方法。
  19. 【請求項19】 1又は複数の他のアプリケーションへ
    のデータの送信を要求するアプリケーションからの送信
    データ及びパラメータを伴う送信要求に応じて、前記1
    又は複数の他のアプリケーションへの当該データの送信
    が可能な所定のプロトコルを判別する通信制御処理と、 前記通信制御処理の結果に従って、前記所定のプロトコ
    ルに対応した指示を生成する多重制御処理と、 前記多重制御処理の結果に従って、前記所定のプロトコ
    ルに従って行われる通信を管理する通信管理処理と、 前記所定のプロトコルに従った通信を、前記1又は複数
    の他のアプリケーションの各々に対応して、当該他のア
    プリケーションとの間で行う1又は複数の送受信処理と
    を当該データ通信装置であるコンピュータに実行させる
    ことを特徴とするプログラム記憶媒体。
  20. 【請求項20】 アプリケーションスレッド及びこれを
    含むスレッドを、当該アプリケーションが起動される際
    に、所定の制御プログラムに生成させる処理と、 通信制御ソケットを、前記アプリケーションからの所定
    の要求に応じて、前記制御プログラムに、前記アプリケ
    ーションスレッド内に生成させる処理と、 前記通信制御ソケットが、1又は複数の他のアプリケー
    ションへのデータの送信を要求するアプリケーションか
    らの送信データ及びパラメータを伴う送信要求に応じ
    て、前記1又は複数の他のアプリケーションへの当該デ
    ータの送信が可能な所定のプロトコルを判別する処理
    と、 多重制御ソケットを、前記通信制御ソケットにおける前
    記所定のプロトコルの判別の結果に基づいて、前記通信
    制御ソケットに、前記アプリケーションスレッド内に生
    成させる処理と、 前記多重制御ソケットが、前記通信制御ソケットからの
    指示に従って、前記所定のプロトコルに対応した指示を
    生成する処理と、 タスクマネージャを、前記アプリケーションからの前記
    所定の要求に応じて、前記多重制御ソケットに、前記ス
    レッドに対応するオブジェクト内に生成させる処理と、 1又は複数の通信スレッドを、前記アプリケーションか
    らの前記所定の要求の後の送信要求に応じて、前記多重
    制御ソケットに、前記スレッド内に生成させる処理と、 前記タスクマネージャが通信スレッドにおいて前記所定
    のプロトコルに従って行われる通信を管理する処理と、 前記1又は複数の通信スレッドが、前記1又は複数の他
    のアプリケーションの各々に対応させられ、前記所定の
    プロトコルに従った通信を対応する他のアプリケーショ
    ンとの間で行う処理とを当該データ通信装置であるコン
    ピュータに実行させることを特徴とするプログラム記憶
    媒体。
  21. 【請求項21】 他のアプリケーションから送信された
    送信データを受信するアプリケーションと、 前記アプリケーションからの要求に応じて、前記他のア
    プリケーションからの前記送信データの受信が可能な所
    定のプロトコルを判別する通信制御部と、 前記通信制御部からの判別結果に従って、前記所定のプ
    ロトコルに対応した所定の指示を生成する多重制御部
    と、 前記多重制御部からの指示に従って送受信部において前
    記所定のプロトコルに従って行われる通信によって前記
    他のアプリケーションから受信した前記送信データを保
    持する通信管理部と、 前記所定のプロトコルに従った通信を他のアプリケーシ
    ョンとの間で行う送受信部とからなることを特徴とする
    データ通信装置。
  22. 【請求項22】 前記通信制御部が、前記アプリケーシ
    ョンからの受取要求に応じて、前記通信管理部に前記送
    信データが保持されている場合にこれを前記アプリケー
    ションに送り、保持されていない場合に当該送信データ
    が前記通信管理部に保持されるまで待つことを特徴とす
    る請求項21に記載のデータ通信装置。
  23. 【請求項23】 前記通信制御部が、前記アプリケーシ
    ョンからの要求に応じて、前記多重制御部を介して、前
    記他のアプリケーションに対して、応答データを返信す
    ることを特徴とする請求項21に記載のデータ通信装
    置。
  24. 【請求項24】 前記通信制御部は第1及び第2の通信
    制御部からなり、 前記多重制御部は第1及び第2の多重制御部からなり、 前記第1通信制御部が、前記アプリケーションからの要
    求に応じて、前記他のアプリケーションからの前記送信
    データの受信が可能な所定のプロトコルを判別し、 前記第2通信制御部が、前記アプリケーションからの受
    取要求に応じて前記通信管理部に前記送信データが保持
    されている場合にこれを前記アプリケーションに送り保
    持されていない場合に当該送信データが前記通信管理部
    に保持されるまで待つと共に、前記アプリケーションか
    らの要求に応じて前記第2多重制御部を介して前記他の
    アプリケーションに対して応答データを返信する前記第
    1多重制御部は、前記第1通信制御部からの判別結果に
    従って、前記所定のプロトコルに対応した所定の指示を
    生成し、 前記第2多重制御部は、前記第2通信制御部からの指示
    に従って、前記受取要求及び応答データの返信のための
    前記所定のプロトコルに対応した所定の指示を生成する
    ことを特徴とする請求項21に記載のデータ通信装置。
  25. 【請求項25】 アプリケーションスレッドと、前記ア
    プリケーションスレッドに対応するオブジェクトとを備
    え、 前記アプリケーションスレッドは、 他のアプリケーションから送信された送信データの受信
    を要求するアプリケーションと、 前記アプリケーションからの要求に応じて、前記他のア
    プリケーションからのデータの受信が可能な所定のプロ
    トコルを判別する通信制御ソケットと、 前記通信制御ソケットからの指示に従って、前記所定の
    プロトコルに対応した所定の指示を生成する多重制御ソ
    ケットと、 前記所定のプロトコルに従った通信を前記他のアプリケ
    ーションとの間で行う送受信部を備え、 前記オブジェクトは、前記送受信部において受信された
    前記送信データを保持するタスクマネージャを備えるこ
    とを特徴とするデータ通信装置。
  26. 【請求項26】 前記通信制御ソケットは第1及び第2
    の通信制御ソケットからなり、 前記多重制御ソケットは第1及び第2の多重制御ソケッ
    トからなり、 前記第1通信制御ソケットが、前記アプリケーションか
    らの要求に応じて、前記他のアプリケーションからの前
    記送信データの受信が可能な所定のプロトコルを判別
    し、 前記第2通信制御ソケットが、前記アプリケーションか
    らの受取要求に応じて前記タスクマネージャに前記送信
    データが保持されている場合にこれを前記アプリケーシ
    ョンに送り保持されていない場合に当該送信データが前
    記タスクマネージャに保持されるまで待つと共に、前記
    アプリケーションからの要求に応じて前記第2多重制御
    ソケットを介して前記他のアプリケーションに対して応
    答データを返信する前記第1多重制御ソケットは、前記
    第1通信制御ソケットからの判別結果に従って、前記所
    定のプロトコルに対応した所定の指示を生成し、 前記第2多重制御ソケットは、前記第2通信制御ソケッ
    トからの指示に従って、前記受取要求及び応答データの
    返信のための前記所定のプロトコルに対応した所定の指
    示を生成することを特徴とする請求項25に記載のデー
    タ通信装置。
  27. 【請求項27】 前記データ通信装置は、更に、所定の
    処理を行う制御プログラムを備え、 前記アプリケーションスレッドは、前記アプリケーショ
    ンが起動される際に、前記制御プログラムにより生成さ
    れ、 前記第1通信制御ソケットは、前記アプリケーションか
    らの所定の要求に応じて、前記制御プログラムにより前
    記アプリケーションスレッド内に生成され、 前記第1多重制御ソケットは、前記第1通信制御ソケッ
    トにおける前記所定のプロトコルの判別の結果に基づい
    て、前記第1通信制御ソケットにより、前記アプリケー
    ションスレッド内に生成され、 前記第2通信制御ソケットは、所定のタイミングで、前
    記第1通信制御ソケットにより、前記アプリケーション
    スレッド内に生成され、 前記第2多重制御ソケットは、所定のタイミングで、前
    記第1多重制御ソケットにより、前記アプリケーション
    スレッド内に生成され、 前記タスクマネージャは、前記アプリケーションからの
    前記所定の要求に応じて、前記第2多重制御ソケットに
    より、前記オブジェクト内に生成され、 前記送受信部は、前記アプリケーションからの前記所定
    の要求に応じて、前記第1多重制御ソケットにより、前
    記アプリケーションスレッド内に生成されることを特徴
    とする請求項26に記載のデータ通信装置。
  28. 【請求項28】 他のアプリケーションから送信された
    送信データを受信するアプリケーションからの要求に応
    じて、前記他のアプリケーションからの前記送信データ
    の受信が可能な所定のプロトコルを判別し、 前記判別の結果に従って、前記所定のプロトコルに対応
    した所定の指示を生成し、 前記所定の指示に従って前記所定のプロトコルに従って
    行われる通信によって前記他のアプリケーションから受
    信した前記送信データを保持し、 前記所定のプロトコルに従った通信を他のアプリケーシ
    ョンとの間で行うことを特徴とするデータ通信方法。
  29. 【請求項29】 所定の制御プログラムが、前記アプリ
    ケーションが起動される際に、アプリケーションスレッ
    ドを生成し、 前記制御プログラムが、前記アプリケーションからの所
    定の要求に応じて、前記第1通信制御ソケットを前記ア
    プリケーションスレッド内に生成し、 前記第1通信制御ソケットが、前記アプリケーションか
    らの要求に応じて、前記他のアプリケーションからの前
    記送信データの受信が可能な所定のプロトコルを判別
    し、 前記第1通信制御ソケットが、前記第1通信制御ソケッ
    トにおける前記所定のプロトコルの判別の結果に基づい
    て、前記第1多重制御ソケットを前記アプリケーション
    スレッド内に生成し、 前記第1多重制御ソケットが、前記アプリケーションか
    らの前記所定の要求に応じて、前記送受信部を前記アプ
    リケーションスレッド内に生成し、 前記第1多重制御ソケットが、前記第1通信制御ソケッ
    トからの判別結果に従って、前記所定のプロトコルに対
    応した所定の指示を生成し、 前記第1通信制御ソケットが、所定のタイミングで、前
    記第2通信制御ソケットを前記アプリケーションスレッ
    ド内に生成し、 前記第1多重制御ソケットが、所定のタイミングで、前
    記第2多重制御ソケットを前記アプリケーションスレッ
    ド内に生成し、 前記第2多重制御ソケットが、前記アプリケーションか
    らの前記所定の要求に応じて、タスクマネージャを前記
    オブジェクト内に生成し、 前記タスクマネージャが、送受信部において前記所定の
    プロトコルに従って行われる通信によって前記他のアプ
    リケーションから受信した前記送信データを保持し、 前記第2通信制御ソケットが、前記アプリケーションか
    らの受取要求に応じて前記タスクマネージャに前記送信
    データが保持されている場合にこれを前記アプリケーシ
    ョンに送り、 前記送受信部が、前記所定のプロトコルに従った通信を
    前記他のアプリケーションとの間で行うことを特徴とす
    るデータ通信方法。
  30. 【請求項30】 他のアプリケーションから送信された
    送信データを受信するアプリケーションからの要求に応
    じて、前記他のアプリケーションからの前記送信データ
    の受信が可能な所定のプロトコルを判別する通信制御処
    理と、 前記通信制御処理の判別結果に従って、前記所定のプロ
    トコルに対応した所定の指示を生成する多重制御処理
    と、 前記多重制御処理の結果に従って前記所定のプロトコル
    に従って行われる通信によって前記他のアプリケーショ
    ンから受信した前記送信データを保持する通信管理処理
    と、 前記所定のプロトコルに従った通信を他のアプリケーシ
    ョンとの間で行う送受信処理とを当該データ通信装置で
    あるコンピュータに実行させる ことを特徴とするプログラム記憶媒体。
  31. 【請求項31】 当該アプリケーションが起動される際
    に、アプリケーションスレッドを、所定の制御プログラ
    ムに生成させる処理と、 前記アプリケーションからの所定の要求に応じて、前記
    第1通信制御ソケットを、前記アプリケーションスレッ
    ド内に前記制御プログラムに生成させる処理と、 前記第1通信制御ソケットが、前記アプリケーションか
    らの要求に応じて、前記他のアプリケーションからの前
    記送信データの受信が可能な所定のプロトコルを判別す
    る処理と、 前記第1通信制御ソケットが、前記第1通信制御ソケッ
    トにおける前記所定のプロトコルの判別の結果に基づい
    て、前記第1多重制御ソケットを前記アプリケーション
    スレッド内に生成する処理と、 前記第1多重制御ソケットが、前記アプリケーションか
    らの前記所定の要求に応じて、前記送受信部を前記アプ
    リケーションスレッド内に生成する処理と、 前記第1多重制御ソケットが、前記第1通信制御ソケッ
    トからの判別結果に従って、前記所定のプロトコルに対
    応した所定の指示を生成する処理と、 前記第1通信制御ソケットが、所定のタイミングで、前
    記第2通信制御ソケットを前記アプリケーションスレッ
    ド内に生成する処理と、 前記第1多重制御ソケットが、所定のタイミングで、前
    記第2多重制御ソケットを前記アプリケーションスレッ
    ド内に生成する処理と、 前記第2多重制御ソケットが、前記アプリケーションか
    らの前記所定の要求に応じて、タスクマネージャを前記
    オブジェクト内に生成する処理と、 前記タスクマネージャが、送受信部において前記所定の
    プロトコルに従って行われる通信によって前記他のアプ
    リケーションから受信した前記送信データを保持する処
    理と、 前記第2通信制御ソケットが、前記アプリケーションか
    らの受取要求に応じて前記タスクマネージャに前記送信
    データが保持されている場合にこれを前記アプリケーシ
    ョンに送る処理と、 前記送受信部が、前記所定のプロトコルに従った通信を
    前記他のアプリケーションとの間で行う処理とを、 当該データ通信装置であるコンピュータに実行させるこ
    とを特徴とするプログラム記憶媒体。
JP10222576A 1998-08-06 1998-08-06 データ通信装置、データ通信方法及びそれらのプログラム記憶媒体 Pending JP2000057075A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10222576A JP2000057075A (ja) 1998-08-06 1998-08-06 データ通信装置、データ通信方法及びそれらのプログラム記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10222576A JP2000057075A (ja) 1998-08-06 1998-08-06 データ通信装置、データ通信方法及びそれらのプログラム記憶媒体

Publications (1)

Publication Number Publication Date
JP2000057075A true JP2000057075A (ja) 2000-02-25

Family

ID=16784642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10222576A Pending JP2000057075A (ja) 1998-08-06 1998-08-06 データ通信装置、データ通信方法及びそれらのプログラム記憶媒体

Country Status (1)

Country Link
JP (1) JP2000057075A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009531749A (ja) * 2006-03-27 2009-09-03 アリババ グループ ホールディング リミテッド システム間の信頼性あるメッセージ通知の方法および装置
JP2011065433A (ja) * 2009-09-17 2011-03-31 Nec Corp Tat測定装置、tat測定方法およびtat測定プログラム
JP2019145909A (ja) * 2018-02-16 2019-08-29 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009531749A (ja) * 2006-03-27 2009-09-03 アリババ グループ ホールディング リミテッド システム間の信頼性あるメッセージ通知の方法および装置
JP2011065433A (ja) * 2009-09-17 2011-03-31 Nec Corp Tat測定装置、tat測定方法およびtat測定プログラム
JP2019145909A (ja) * 2018-02-16 2019-08-29 日本電気株式会社 データ処理装置、データ処理方法、およびプログラム

Similar Documents

Publication Publication Date Title
US8555295B2 (en) Cluster system, server cluster, cluster member, method for making cluster member redundant and load distributing method
JP3382953B2 (ja) 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置
JPH066362A (ja) Lanにおけるホストシステムのメッセージ処理負荷分散方式
JPH0761079B2 (ja) ネットワーク制御システム及び方法
KR20040062882A (ko) 시스템 리소스 최적화
CN111147573A (zh) 一种数据传输的方法和装置
JPH06326713A (ja) データ伝送制御方法
JPH077979B2 (ja) 非同期的プロトコル対話の同期化方法及び装置
JP2010081496A (ja) アプリケーション間通信の高信頼化技術
JP3469501B2 (ja) ネットワーク機器制御装置及び通信システム
JP2003258880A (ja) ネットワークおよびノードおよびデータ転送方法
JP2003520477A (ja) インテリジェントネットワークにおける信頼性の高い通信を実行する方法およびその装置
JP2000057075A (ja) データ通信装置、データ通信方法及びそれらのプログラム記憶媒体
US5894547A (en) Virtual route synchronization
CN115118791B (zh) Udp报文的分发方法、设备及可读存储介质
US6209035B1 (en) System and method for establishing communication links and transferring data among a plurality of commication nodes
JP2001249857A (ja) ファイル転送システム
JPH11317772A (ja) データ通信装置及びデータ通信方法
JPH09261269A (ja) データ配送方法
JP2002169738A (ja) ファイル配信方法
EP0641104B1 (en) Local Area Network Transport System
JPH11331220A (ja) データ転送方法
JP2001053783A (ja) データ配信システム及びプログラムを記録した機械読み取り可能な記録媒体
JPH0830523A (ja) オンラインメッセージの通信方法
JP2000049778A (ja) 同報通信方法および通信装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050712