JP2004303041A - データ通信方法、データ通信システムおよびそのためのプログラム - Google Patents
データ通信方法、データ通信システムおよびそのためのプログラム Download PDFInfo
- Publication number
- JP2004303041A JP2004303041A JP2003096896A JP2003096896A JP2004303041A JP 2004303041 A JP2004303041 A JP 2004303041A JP 2003096896 A JP2003096896 A JP 2003096896A JP 2003096896 A JP2003096896 A JP 2003096896A JP 2004303041 A JP2004303041 A JP 2004303041A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- receiving
- computer
- session
- 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
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】複数台のコンピュータに対するデータ通信における通信効率を向上させる。
【解決手段】複数の受信側計算機2に対応する送信先アドレスに共通するセッション名を定義し、送信側計算機1のセッション管理表メモリ9aに記憶させる。データ送信用アプリケーション7は、セッション名に係る送信要求コマンドを生成して、セッション開始要求をする。送信セッション管理部11は、セッション開始要求にしたがって、セッション管理表メモリ9aにアクセスし、送信要求コマンドで指定されたセッション名に対応する複数の送信先アドレスを取得し、この送信先アドレスに対応した送信側ソケット管理部5を生成し、その複数の送信先アドレスに対応した受信側計算機2にそれぞれデータを送信する。よって、複数の受信側計算機2にデータを送信する場合に、その都度送信要求コマンドを生成する必要がなくなる。
【選択図】 図2
【解決手段】複数の受信側計算機2に対応する送信先アドレスに共通するセッション名を定義し、送信側計算機1のセッション管理表メモリ9aに記憶させる。データ送信用アプリケーション7は、セッション名に係る送信要求コマンドを生成して、セッション開始要求をする。送信セッション管理部11は、セッション開始要求にしたがって、セッション管理表メモリ9aにアクセスし、送信要求コマンドで指定されたセッション名に対応する複数の送信先アドレスを取得し、この送信先アドレスに対応した送信側ソケット管理部5を生成し、その複数の送信先アドレスに対応した受信側計算機2にそれぞれデータを送信する。よって、複数の受信側計算機2にデータを送信する場合に、その都度送信要求コマンドを生成する必要がなくなる。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークで接続された複数のコンピュータ間のデータ配信方法、装置およびプログラムに関する。
【0002】
【従来の技術】
従来、送信側および受信側のコンピュータ間で、例えばコネクションレス型によるデータ通信を行なう場合には、送信側および受信側のコンピュータにおける通信設定の各項目は、データ種別および通信対象などに関係なく、共通の通信設定管理テーブルにより一律に管理される(例えば、特許文献1参照)。
【0003】
【特許文献1】
特許第3268875号公報
【0004】
【発明が解決しようとする課題】
前述したデータ通信において、例えば1台のコンピュータから、複数のユニキャストアドレスに対応したコンピュータに同一のデータを送信する場合、または、1台のコンピュ一タから、複数のユニキャストアドレスおよびマルチキャストアドレスに対応したコンピュータに同一のデータを送信する場合には、送信用アプリケーションにより、送信先アドレスの数と同じ回数のデータ送信を実行しなければならず、その都度、送信用の制御コマンドを生成する必要がある。これにより送信用アプリケーションによる処理が複雑化してしまう。
【0005】
また、重要度の異なる複数種別のデータを所定のコンピュータに送信する場合には、当該データの種別に応じて、例えば重要度の高いデータについては、これを多重化して再送回数を減らすことが望ましい。しかし、前述したデータ通信方法では、多重化等の設定をデータ毎に個別に行なうことができない。その結果、本来多重化する必要のない重要度の低いデータについても多重化させることになる。この結果、データの転送量が増加し、データ通信性能の低下およびネットワーク帯域の圧迫を引き起こす原因となっていた。
【0006】
このように、コンピュータ同士でデータ通信を行なう場合には、信頼性および通信効率を低下させる要因が存在していた。
【0007】
本発明は、前記のような従来技術の問題点を解決するために提案されたものであり、複数台のコンピュータに対するデータ通信における通信効率を向上させることが可能になるデータ通信方法、装置およびプログラムを提供するものである。
【0008】
【課題を解決するための手段】
すなわち、本発明に係るデータ通信方法は、ネットワーク上に配置された複数台のコンピュータにおいて、任意の送信側コンピュータと複数台の受信側コンピュータとの間でコネクションレス型のデータ通信を行なう方法であって、前記送信側コンピュータは、前記複数台の各受信側コンピュータの識別情報と、これら識別情報に共通する送信先共通情報とを対応付けて記憶する送信先情報記憶手段と、前記各受信側コンピュータに送信するデータを記憶する送信データ記憶手段とを備え、前記送信先情報記憶手段に記憶された送信先共通情報に基づいて、前記送信データ記憶手段に記憶されたデータを、前記送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに送信するデータ送信ステップを有することを特徴とする。
【0009】
このような構成とすれば、前記複数台の各受信側コンピュータの識別情報に共通して定められる送信先共通情報にしたがって、送信対象のデータを各受信側データに送信するので、複数の送信要求コマンドを生成する必要がなくなる。よって、データ送信に係る負担を低減させることができる。
【0010】
【発明の実施の形態】
以下、図面により本発明の実施の一形態について説明する。
【0011】
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態にしたがったデータ通信システムの全体構成図である。
図1に示すように、このデータ通信システムは、送信側計算機1に複数の受信側計算機2が接続される。送信側計算機1は、コネクションレス型通信により、複数のユニキャストアドレスおよびマルチキャストアドレスにそれぞれ対応した受信側計算機2に対して、データを送信する機能を有している。
【0012】
図2は、図1に示した送信側計算機1および受信側計算機2の内部構成を示す図である。
図2に示すように、送信側計算機1には、送信側セッション管理部3が設けられる。送信側計算機1にはデータ送信用アプリケーション7がインストールされる。データ送信用アプリケーション7には、データ送信用のシステムプログラムおよびデータが記憶される。また、送信側計算機1において、データを送信する際に送信側ソケット管理部5が生成される。この送信側ソケット管理部5は、送信データおよび送信先アドレスを管理する。送信先アドレスとは、前述したユニキャストアドレスおよびマルチキャストアドレスを意味している。
【0013】
送信側セッション管理部3には、送信セッション管理部11、データ送信管理部12、セッション管理表メモリ9aおよび送信データ格納用バッファ10が設けられる。セッション管理表メモリ9aには、送信用のセッション管理表91(図3参照)が記憶される。送信側ソケット管理部5では、データ送信部16によるデータ送信処理を管理する。
【0014】
受信側計算機2には、受信側セッション管理部4が設けられ、さらに、データ受信用アプリケーション8がインストールされる。また、受信側計算機2において、受信用アプリケーション8による受信要求に応じて受信側ソケット管理部6が生成される。受信側ソケット管理部6は、送信側計算機1により送信されたデータを受信し、これを管理する。データ受信用アプリケーション8には、データ受信用のシステムプログラムおよび受信済みデータが記憶される。
【0015】
受信側セッション管理部4には、受信セッション管理部14、データ受信管理部15、セッション管理表メモリ9bおよび受信データ格納用バッファ13が設けられる。セッション管理表メモリ9bには受信用のセッション管理表92(図4参照)が記憶される。
【0016】
ここで、セッション管理表91の構成の一例を図3に示す。
図3に示すように、セッション管理表91には、セッション名、送信先アドレス、ポート番号およびI/Fアドレスが定義づけられる。送信先アドレスとは、データの送信先である複数台の各受信側計算機2にそれぞれ対応した識別情報である。また、セッション名とは、複数の送信先アドレスに共通した識別情報として定義付けられた情報である。また、ポート番号とは、データ通信時に開放する通信ポート番号である。I/Fアドレスは、このセッション管理表91を有する送信側計算機1の通信用インタフェースの識別情報を示す。
【0017】
受信側のセッション管理表92の構成の一例を図4に示す。この受信側計算機2のセッション管理表92で定義付けられる通信設定情報は、受信側計算機2側の通信ポート番号およびI/Fアドレスである。
受信側ソケット管理部6では、データ受信部17によるデータ受信処理を管理する。
【0018】
送信側計算機1の送信セッション管理部11は、データ送信用アプリケーション7からの通信開始要求および通信終了要求にしたがって、送信側ソケット管理部5の生成および破棄を行なう。送信データ格納用バッファ10は、データ送信用アプリケーション7から、データ送信管理部12を経由して転送された送信データを格納する。
【0019】
データ送信管理部12は、データ送信用アプリケーション7から出力された送信データを受け取り、この送信データを送信データ格納用バッファ10に格納する。また、データ送信管理部12は、データ送信用アプリケーション7からの通信開始要求に応じて、送信側ソケット管理部5に対する送信要求を行なう。
【0020】
受信側計算機2の受信セッション管理部14は、データ受信用アプリケーション8からの通信開始要求及び終了要求にしたがって、受信側ソケット管理部6の生成及び破棄を行なう。受信データ格納用バッファ13は、データ受信部17により受信したデータを格納する。
【0021】
データ受信管理部15は、データ受信用アプリケーション8によるデータ取得要求にしたがって、受信データ格納用バッファ13に格納されたデータを、データ受信用アプリケーション8に転送する。
【0022】
送信側計算機1のデータ送信部16は、データ送信管理部12による送信要求にしたがって、送信データ格納用バッファ10に格納されたデータを、前述した複数の送信先アドレスにそれぞれ対応した受信側計算機2の受信側ソケット管理部6のデータ受信部17に送信する。受信側計算機2のデータ受信部17は、データ送信部16から送信されたデータを受信して、これを受信データ格納用バッファ13へ格納する。
【0023】
次に、本発明の第1の実施形態にしたがったデータ通信システムによる処理について説明する。図5は、本発明の第1の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。
なお、本発明において、送信側計算機1と受信側計算機2間の通信を開始することをセッションの開始と定義し、送信側計算機1と受信側計算機2間の通信を終了することをセッションの終了と定義する。
【0024】
まず、送信側計算機1のセッション管理表91において、複数の送信先アドレスに対する共通のセッション名、およびその他の通信設定情報を定義する(ステップS1)。
【0025】
そして、受信側計算機2とのセッション開始にあたり、データ送信用アプリケーション7は、送信セッション管理部11に対してセッション開始要求を行なう。また、データ送信用アプリケーション7は、データ送信管理部12にデータの送信要求を行い、送信データを転送する。
【0026】
セッション開始要求では、データ送信用アプリケーション7は、所定のセッション名に対応付けられた送信先アドレスを有する受信側計算機2への送信要求コマンドを生成する。例えば、送信セッション管理部11は、セッション名“session−s1”に対応付けられた送信先アドレス、つまり“224.224.224.224”および“224.200.200.200”を有する受信側計算機2へのデータの送信を要求する場合には、このセッション名“session−s1”への送信要求コマンド“send(session−s1)”を生成して、これを送信セッション管理部11に出力する。
【0027】
送信セッション管理部11は、データ送信用アプリケーション7からの送信要求コマンドにしたがい、セッション管理表メモリ9aにアクセスして、あらかじめ定義した複数の送信先アドレスを取得する(ステップS2)。具体的には、送信セッション管理部11は、前述したセッション名“session−s1”に対応する送信要求コマンドを認識すると、セッション管理表メモリ9aから、セッション名“session−s1”に対応付けられる送信先アドレス“224.224.224.224”および“224.200.200.200”を取得する。
【0028】
そして、送信セッション管理部11は、ステップS2で取得した複数の送信先アドレスに対応した、送信側ソケット管理部5を作成する(ステップS3)。 一方、受信側計算機2では、ポート番号などの通信設定情報をセッション管理表92にて定義する(ステップS8)。
【0029】
受信側計算機2においてデータを受信する際には、データ受信用アプリケーション8は、受信セッション管理部14に対してセッション開始要求を行なう。このセッション開始要求にしたがって、受信セッション管理部14は、セッション管理表メモリ9bのセッション管理表92に定義付けられる通信設定情報を参照し(ステップS9)、受信側ソケット管理部6を生成する(ステップS10)。
【0030】
また、送信側計算機1において、データを送信する際に、データ送信用アプリケーション7は、データ送信管理部12に対してデータ送信要求を行なう。すると、データ送信管理部12は、送信データを送信データ格納用バッファ10に格納する(ステップS4)。その後、データ送信管理部12は、ステップS3で生成した送信側ソケット管理部5にデータ送信要求を行なう(ステップS5)。送信側ソケット管理部5は、データ送信要求にしたがって、送信データ格納用バッファ10より送信データを読み出してデータ送信部16に転送する。データ送信部16は、送信データを各送信先アドレスに対応した受信側計算機2に送信する(ステップS6)。
【0031】
受信側計算機2のデータ受信部17は、送信側計算機1のデータ送信部16により送信されたデータを受信する(ステップS11)。この受信したデータは、一旦、受信データ格納用バッファ13に格納される(ステップS12)。この状態で、データ受信用アプリケーション8がデータ受信管理部15に対してデータ取得要求を実行した場合には、データ受信管理部15は、受信データ格納用バッファ13より受信済みデータを読み出して、これをデータ受信用アプリケーション8に転送する(ステップS13)。
【0032】
送信側計算機1において、セッションを終了する場合には、データ送信用アプリケーション7は、送信セッション管理部11にセッション終了要求を行なう。送信セッション管理部11は、セッション終了要求にしたがい、ステップS3において生成した送信側ソケット管理部5を破棄する(ステップS7)。
【0033】
一方、受信側計算機2において、セッションを終了する場合には、データ受信用アプリケーション8は、受信セッション管理部14に対してセッション終了要求を行なう。受信セッション管理部14は、セッション終了要求にしたがい、ステップS10において生成した受信側ソケット管理部6を破棄する(ステップS14)。
【0034】
このような構成とすれば、送信側計算機1は、セッション管理表91で複数の送信先に対する共通のセッション名、およびその他の通信設定情報を定義し、このセッション名に基づいて、該セッション名に対応する各送信先アドレスを有するそれぞれの受信側計算機2にデータを送信する。つまり、1つの送信要求コマンドに基づいて、複数の受信側計算機2に対してデータを送信することができる。これにより、データ送信用アプリケーション7では、複数の送信先にデータを送信する場合に、送信先アドレス毎に送信要求コマンドを生成する必要が無くなる。よって送信用アプリケーション7による処理を単純化して、データ通信の効率を改善することができる。
【0035】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
図6は、本発明の第2の実施形態にしたがったデータ通信システムの構成図である。同図において、図2に示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0036】
この第2の実施形態にしたがったデータ通信システムでは、送信データを所定のサイズ毎に分割して、この分割したデータを送信側計算機1から受信側計算機2に順次送信する。受信側計算機2は、受信した分割済みデータを分割前のデータに再構成する。以下、受信した分割済みデータを再構成する処理を、組立処理と称して説明する。
【0037】
図6に示したデータ通信システムでは、図2で示した構成に加え、送信側計算機1の送信側セッション管理部3に、データ格納部18、送信データ取得部19およびバッファ監視部20が設けられる。また、受信側計算機2の受信側セッション管理部4には、受信データ取得部21およびデータ組立部22が設けられる。
【0038】
ここで、送信側計算機1のデータ格納部18は、データ送信用アプリケーション7により送信要求されたデータ毎に連続したセッション同期番号を付与する。セッション同期番号とは、送信データの送信順を示す番号である。
【0039】
また、データ格納部18は、セッション同期番号を付与した送信データを、予め設定したサイズ毎のデータに分割して、これらを送信データ格納用バッファ10へ格納する。
【0040】
送信データ格納用バッファ10に格納されたデータが送信された後、このデータが受信側計算機2にて正常に受信されなかった場合には、同一のデータを送信データ格納用バッファ10から再び読み出して送信する必要がある。つまり、データ格納用バッファ10では、一度データ取得部19により読み出されたデータを残しておく必要がある。しかし、データの送信後、例えば、受信側計算機2による再送要求から所定の時間が経過しても当該データが再び読み出されない場合には、そのデータは受信側計算機2により正常に受信されたと判断できる。そこで、バッファ監視部20は、送信データ格納用バッファ10に格納されるデータが送信データ取得部19により読み出された時刻を監視し、この時刻からあらかじめ設定した時間が経過しても再送信の対象とならなかったデータを、不要なデータとみなして削除する。これにより、送信データ格納用バッファ10を有効に利用することができる。
【0041】
送信データ取得部19は、送信データ格納用バッファ10に格納されたデータを読み出す。データ組立部22は、分割されて送信されたデータがデータ受信部17により全て受信された場合には、これらのデータを組立てて、これを受信データ格納用バッファ13に格納する。
【0042】
受信データ取得部21は、受信データ格納用バッファ13に格納されているデータを、セッション同期番号順に取り出し、これをデータ受信管理部15に転送する。
【0043】
次に、前記第2の実施形態にしたがったデータ通信システムによる処理を説明する。図7は、本発明の第2の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。同図において、図5に示した処理と同一の処理には同一のステップ名を付している。
【0044】
まず、送信側計算機1において、図3に示すように、セッション管理表91において、複数の送信先アドレスに対する共通のセッション名、およびその他の通信設定情報を定義する(ステップS1)。そして、データ送信用アプリケーション7は、送信セッション管理部11に対してセッション開始要求を行なう。送信セッション管理部11は、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。
【0045】
一方、受信側計算機2では、セッション管理表メモリ9bのセッション管理表92において、通信設定情報を定義する(ステップS8)。すると、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9およびS10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成がなされる。
【0046】
そして、データ送信管理部12は、データ送信用アプリケーション7から転送された送信データをデータ格納部18に格納する。データ格納部18は、データ送信管理部12から転送されたデータにセッション同期番号を付与し、これをあらかじめ設定されたサイズに分割する(ステップS15)。データ格納部18は、この分割した送信データを送信データ格納用バッファ10に格納する(ステップS4)。そして、前述したステップS5と同様に送信側ソケット管理部5に対する送信要求を行なう。
【0047】
送信データ取得部19は、送信データ格納用バッファ10に格納された送信用分割データを順次取得して、これをデータ送信部16に転送する(ステップS16)。データ送信部16は、データ送信管理部12による送信要求にしたがい、分割済みデータを送信先アドレスに対応した受信側計算機2に順次送信する(ステップS6)。ここで、データ送信部16は、分割した全てのデータの送信が完了するまで、処理を継続する。
【0048】
受信側計算機2において、前述したステップS11によるデータ受信後、データ組立部22は、転送されたデータの組立処理を開始する(ステップS17)。同一のセッション同期番号が付与された分割済みデータが全て受信され、これら受信したデータの組立処理が完了した場合には、これを受信データ格納用バッファ13に格納する(ステップS18→S12)。
【0049】
データ受信管理部15は、前述したデータ受信要求に基づいて、受信データ取得部21により、受信データ格納用バッファ13から、受信済みデータをセッション同期番号順に取り出して転送させ、これらをデ一タ受信用アプリケーション8に順次転送する(ステップS19)。
【0050】
このような構成によれば、受信側計算機2は、送信側計算機1により送信されたデータを、当該送信側計算機1により送信された順に基づいて、デ一タ受信用アプリケーション8に転送することができる。これにより、送信側計算機1により送信されたデータの受信順が異なっていても、通信データの順序性を確保することができる。
【0051】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図8は、本発明の第3の実施形態にしたがったデータ通信システムの構成図である。同図において、図6までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。また、同図に示した送信側計算機1Aの構成要素のうち、図6までに示した送信側計算機1との構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
本実施形態にしたがったデータ通信システムは、例えば通常時に使用している送信側計算機1Aのメンテナンスのため、この送信側計算機1Aが送信しようとしたデータと同一のデータを、別途用意した送信側計算機1Bにより受信側計算機2に送信する場合を想定している。この場合、受信側計算機2では、送信元が切り替わるのにともない、メンテナンス中の送信側計算機1Aのメンテナンスが終了して、再び使用を開始した場合には、2台の送信側計算機1A,Bにより送信されたデータをそれぞれ受信して組立ててしまう。
【0052】
本実施形態では、受信側計算機2において、メンテナンス前の送信側計算機1Aから送信されたデータと、予備の送信側計算機1Bにより送信されたデータとの重複した組立処理を防ぐようにする。
【0053】
図8に示したデータ通信システムの送信側計算機1Aでは、第2の実施形態で示した送信側計算機1内の構成(図6参照)に加え、送信側セッション管理部3に、セッション番号格納用バッファ23aが設けられる。送信セッション管理部11は、前述した機能に加え、セッション番号を生成する。セッション番号とは、データ送信用アプリケーション7によるセッション開始要求時の時刻に対応して決定された識別番号である。また、受信側計算機2の受信側セッション管理部4には、セッション番号格納用バッファ23bが設けられる。セッション番号格納用バッファ23aは、送信セッション管理部11で生成されたセッション番号を格納する場合、および、データ送信管理部12に転送された送信データにセッション番号を付与する場合に参照される。送信セッション管理部11には、セッション開始時刻を計測するタイマ(図示せず)が設けられる。
【0054】
受信側計算機2において、セッション番号格納用バッファ23bは、受信セッション管理部14により生成された照合用セッション番号を格納する場合に参照される。照合用セッション番号は、受信側計算機2により受信したデータに付与されたセッション番号のうち最新のセッション番号である。また、セッション番号格納用バッファ23bは、データ組立部22により受信されたデータに付与されたセッション番号と照合用セッション番号とを比較する場合にも参照される。
【0055】
セッション番号格納用バッファ23bに格納される照合用セッション番号が受信したデータに付与されるセッション番号と比較して小さい場合には、照合用セッション番号は、このとき受信したデータに付与されたセッション番号に更新される。
【0056】
次に、前記第3の実施形態にしたがったデータ通信システムによる処理を説明する。図9は、本発明の第3の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。同図において、図7までに示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1Aでは、セッション管理表メモリ9aのセッション管理表91にセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後に、前述したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成がなされる。また、受信側計算機2では、セッション管理表92に対して通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後に、前述したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成がなされる。
【0057】
そして、送信側計算機1Aにおいて、送信セッション管理部11は、データ送信用アプリケーション7によるセッション開始要求に基づいて、現在時刻に基づいたセッション番号を生成する(ステップS20)。
【0058】
また、受信側計算機2において、データ受信用アプリケーション8は、受信セッション管理部14に対して、セッション開始要求とともに、セッション番号初期化要求を行なう。すると、受信セッション管理部14は、セッション番号格納用バッファ23bに記憶される照合用セッション番号“未設定”と設定する。(ステップS22)。
【0059】
データを送信する場合には、送信側計算機1Aのデータ送信管理部12は、セッション番号格納用バッファ23aに記憶されたセッション番号を取得する。そして、このセッション番号を、データ送信用アプリケーション7から転送された送信データに付与する(ステップS21)。
【0060】
以降は、前述したステップS15,S4,S5,S16およびS6と同様に、セッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理がなされる。
【0061】
受信側計算機2では、ステップS11により受信したデータをデータ組立部22に転送する。データ組立部22は、セッション番号格納用バッファ23bに記憶される照合用セッション番号を取得する(ステップS23)。データ組立部22は、取得した照合用セッション番号と、受信済みデータに付与されたセッション番号とを比較する(ステップS24)。この比較の結果、受信済みデータに付与されたセッション番号が、照合用セッション番号と比較して大きい場合、もしくはセッション番号格納用バッファ23bに“未設定”のデータが記憶されていた場合には、データ組立部22は、セッション番号格納用バッファ23bに記憶される照合用セッション番号を、受信したデータに付与されたセッション番号に更新する(ステップS25)。そして、前述したステップS17,S18,S12およびS19と同様にデータ組立、データ格納、およびデータ読出しが実行される。
【0062】
前述した、ステップS24による処理の結果、照合用セッション番号に対して、受信したデータに付与されたセッション番号が小さい場合には、データ組立部22は、受信したデータを破棄する(ステップS24→S26)。また、データ組立部22は、ステップS18の処理によりデータの組立が完了しなかった場合に、これを破棄する(ステップS18→S26)。
【0063】
このような構成によれば、送信側計算機1Aは、セッション開始時刻に基づいて生成したセッション番号を送信データに付与する。そして、受信側計算機2では、古いセッション開始時刻に対応したセッション番号が付与されたデータの組立を行なわずに、最新のセッション開始時刻に対応したセッション番号が付与されたデータの組立のみを行なうので、受信側計算機2では、組立処理を行なう際に、重複したデータに対する組立処理を行なわないので、組立処理に係る効率を改善することができる。例えば、送信側計算機1Aによる送信処理が中断して、この送信処理が再開された場合には、当該データに付与されたセッション番号に対応するセッション開始時刻が古いものとなるので、他の送信側計算機1Bから送信された新しいセッション番号のデータ組立が優先され、当該送信再開による古い受信データの組立を防止することができる。
【0064】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図10は、本発明の第4の実施形態にしたがったデータ通信システムの構成図である。図10においては、前記第2の実施形態にしたがった構成に加えて、送信側計算機1に複数の送信側ソケット管理部5を生成し、受信側計算機2に複数の受信側ソケット管理部6を生成する。
【0065】
送信セッション管理部11は、前記第1の実施形態にしたがった構成と異なり2つの送信側ソケット管理部5に対して送信要求を行なう。送信データ取得部19は、前記第3の実施形態にしたがった構成と異なり送信データ格納用バッファ10から取得したデータを並列にデータ送信部16に転送し、多重化する。
【0066】
受信セッション管理部14は、前記第3の実施形態にしたがった構成と異なり、多重化させるべき数に対応した受信側ソケット管理部6の生成および破棄を行なう。これらの受信側ソケット管理部6の数は、送信セッション管理部11により生成した送信側ソケット管理部5の数に対応している。
【0067】
データ組立部22は、前記第1の実施形態にしたがった構成と異なり、複数のデータ受信部17から受信したデータについて、先着か後着かの判別を行い、先着のデータを組立て、その他のデータを破棄する。
【0068】
次に、第4の実施形態の作用を、図11を参照して説明する。
図11は、第4の実施形態にしたがったデータ通信システムの処理を示すフローチャートである。同図において、図9までに示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。ただし、セッション開始要求には、データの重要度の情報が含まれる。また、生成される送信側ソケット管理部5の数は、送信データの多重化数に対応する。この多重化の数はデータの重要度に対応する。
【0069】
また、受信側計算機2では、セッション管理表92に通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。ただし、セッション開始要求には、データの重要度の情報が含まれる。また、受信セッション管理部14は、受信側計算機2で使用できる全てのI/Fアドレスに対応した受信側ソケット管理部6を生成する。このうち使用する受信側ソケット管理部6の数は、送信データの多重化数に対応する。
【0070】
そして、送信側計算機1において、前述したステップS15,S4,S5およびS16と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理がなされる。ただし、送信データには、重要度の情報が含まれる。送信データ取得部19は、送信データ格納用バッファ10から取得した送信データを、このデータに含まれた重要度情報に基づいて所定の数に多重化し、この多重化してデータの個々のデータを、多重化数に対応して生成された各データ送信部16にそれぞれ転送する(ステップS26)。そして、各データ送信部16は、送信データ取得部19から転送されたデータを受信側計算機2に送信する(ステップS6)。
【0071】
受信側計算機2において、複数生成された受信側ソケット管理部6のデータ受信部17は、データ送信部16により送信されたデータをそれぞれ受信して、これをデータ組立部22に転送する(ステップS11)。
【0072】
データ組立部22では、データ受信部17から転送されたデータが、多重化されたデータのうち、先着のデータであるか否かを判別する。この先着のデータであるか否かを判別する処理とは、このデータと同一のデータが既に受信されて、組立てられたデータであるか否かを判別する処理である。送信データは、データ格納部18により分割される際に、各分割データに組立番号が付与される。組立番号とは、各分割データの分割順を示す。データ組立部22では、受信したデータに付与されたセッション同期番号および組立番号を管理し、これらの番号と、逐次受信したデータに付与されるセッション同期番号と組立番号とを照合する。この結果、セッション同期番号および組立番号がともに同一であるデータを既に受信したと判別された場合には、多重化されたデータのうち後着のデータであると判断できる。
【0073】
この判別の結果、受信したデータが、多重化されたデータのうち最初に受信したデータ、つまり先着のデータである場合には、このデータは、データ組立部22による組立処理の対象となる(ステップS29→S17)。一方、受信したデータが、多重化されたデータのうち後着のデータである場合にはこれを破棄する(ステップS29→S28)。
【0074】
データの組立後は、前述したステップS18,S12およびS19と同様にデータ組立て、データ格納およびデータ読出しがなされる。そして、セッションの終了時は、前述したステップS7およびS14と同様に送信側ソケット管理部5および受信側ソケット管理部6の破棄がなされる。
【0075】
このような構成とすれば、送信データの多重化数を、このデータの重要度に応じて変更して送信するので、重要度が低いデータに関しては、多重化数を減らす、または多重化させずに送信することができる。したがって、データの無駄な多重化を未然に防ぐことができるようになるので、ネットワークを有効活用することができる。
【0076】
(第5の実施形態)
次に本発明の第5の実施形態について説明する。
図12は、本発明の第5の実施形態にしたがったデータ通信システムの構成図である。同図において、すでに図示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
受信側計算機2の受信データ取得部21は、受信データ格納用バッファ13に格納されたデータをセッション同期番号順にデータ受信用アプリケーション8に転送するが、例えば、ネットワークの混雑などにより特定のセッション同期番号が付与されたデータが受信データ格納用バッファ13に格納されない場合には、この番号以後のセッション同期番号が付与されたデータが既に受信されて受信データ格納用バッファ13に格納されている場合でも、データ受信用アプリケーション8に転送されない。
【0077】
受信データ格納用バッファ13に格納できるデータの数は限られるので、受信が遅延しているデータを受信次第、これを受信データ格納用バッファ13に迅速に格納し、データ受信用アプリケーション8に対するデータ転送を再開させる必要がある。しかし、前述した遅延データを受信した際に、データ組立部22により、別のセッション同期番号に対応したデータの組立処理を実行している場合、遅延データの組立処理が出来ない。これを改善するのが本実施形態の趣旨である。
【0078】
本実施形態にしたがったデータ通信システムは、データに付与されたセッション同期番号に基づいて、このデータを受信データ格納用バッファ13に格納するか否かを判別する機能を有している。
【0079】
図12に示したデータ通信システムでは、図6で示した構成要素に加えて、受信側計算機2の受信側セッション管理部4に、組立ウィンドウ枠バッファ24が設けられる。組立ウィンドウ枠バッファ24では、開始点25および終了点26が記憶される。また、受信側セッション管理部4には、ウィンドウ枠管理部27が設けられる。開始点25は、セッション同期番号の所定の範囲における先頭の値である。終了点26は、セッション同期番号の所定の範囲における末尾の値である。
【0080】
ここで、ウィンドウ枠管理部27は、データ受信部17により転送されたデータに付与されたセッション同期番号が、組立ウィンドウ枠バッファ24の開始点開始点25から終了点26までの値である場合には、受信済みデータをデータ組立部22に転送する。一方、ウィンドウ枠管理部27は、セッション同期番号が組立ウィンドウ枠バッファ24の開始点25と終了点26の範囲内に含まれていない場合には、データを破棄する。データ組立部22では、開始点25に対応したセッション同期番号が付与されたデータを組立てた場合には、この組立てたデータに付与されたセッション同期番号に合わせて、開始点25および終了点26にセットするセッション同期番号の値を順次更新する。
【0081】
次に、前記第5の実施形態にしたがったデータ通信システムによる動作について説明する。
図13は、第5の実施形態にしたがったデータ通信システムによる動作の内容を示すフローチャートである。同図において、図11までに示した処理と同一の処理には同一のステップ名を付している。
【0082】
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。また、受信側計算機2では、セッション管理表92により通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。
【0083】
送信側計算機1では、図5に示したステップS15,S4,S5,S16およびS6と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理を行なう。
【0084】
そして、受信側計算機2において、データ受信部17は、送信データを受信し、これをウィンドウ枠管理部27に転送する(ステップS11)。ウィンドウ枠管理部27は、組立ウィンドウ枠バッファ24から、開始点25と終了点26の値を読出し、受信済みデータに付与されたセッション同期番号が、開始点25から終了点26とまでの値であるか否かを判定する(ステップS30)。
【0085】
セッション同期番号が、開始点25と終了点26の範囲内に含まれていると判別された場合には、ウィンドウ枠管理部27は、判別を行ったセッション同期番号が付与されたデータをデータ組立部22に転送する。一方、セッション同期番号が開始点と終了点の範囲内に含まれていない場合には、このデータのデータ組立部22への転送を保留する(ステップS31)。
【0086】
そして、データ組立部22では、図5に示したステップS17と同様にデータの組立てを行い、特定のセッション同期番号に係るデータの組立処理が終了した場合には(ステップS18のYES)、この組立てたデータに付与されたセッション同期番号が、開始点25の値と同一であった場合には、開始点25および終了点26に記憶される値にそれぞれ1を加算する(ステップS32→S33)。これにより、セッション同期番号の範囲を更新する。
【0087】
そして、データ組立部22は、組立てたデータを受信データ格納用バッファ13に格納する。以後の、送信側計算機1および受信側計算機2における処理は、前述した第2の実施形態で説明した処理と同様である。
【0088】
このような構成とすれば、受信したデータに付与されたセッション同期番号が、予め設定された範囲内に含まれている場合のみに、組立処理がなされて、受信データ格納用バッファ13に格納されるので、データの組立に係る効率を上げることができ、この組立てたデータを受信用アプリケーション8に転送するまでの処理時間を短縮することができるようになる。
【0089】
(第6の実施形態)
次に本発明の第6の実施形態について説明する。
受信側計算機2によりデータを受信した場合、例えば分割されたデータの一部が、通信エラー等の原因により通信回線で欠損してしまい、受信されない場合がある。この対策として、一定のタイムアウト時間が経過しても、分割された全データの受信が確認できない場合には、データの欠損が発生したと判断し、データの再送を送信側計算機1に要求する。
【0090】
分割済みの送信データが全て揃うまでの時間は、分割データの数に比例して長くなるが、タイムアウト時間は、任意に設定した時間に固定されている。つまり、設定したタイムアウトが長い場合には、データの欠損の可能性が高い場合でも、前述したタイムアウト時間に達するまでデータの再送要求が実行されない。これを改善するのが本実施形態の趣旨である。本実施形態にしたがったデータ通信システムは、データの容量に応じてタイムアウト時間を決定する機能を有している。
【0091】
図14は、本発明の第6の実施形態を示すデータ通信システムの構成図である。同図において、図12までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0092】
図14に示したデータ通信システムでは、図12に示した構成に加えて、送信側計算機1の送信側ソケット管理部5にデータ再送部28と再送要求受信部29が設けられる。また、受信側計算機2の受信側セッション管理部4に組立監視部30が設けられ、受信側ソケット管理部6には、再送要求送信部31が設けられる。
【0093】
ここで、データ組立部22は、特定のセッション同期番号が付与された最初の分割データを受信してから、組立処理が完了して分割前のデータに変換されるまでの時間をカウントする。
【0094】
組立監視部30は、前述した分割済みデータの組立処理が所定の時間内に完了しなかった場合には、再送要求送信部31を経由して、データの再送要求を行なう。再送要求送信部31は、送信側計算機1への再送要求を示す制御信号を出力する。この制御信号には、組立てが完了しなかったデータに付与されたセッション同期番号が含まれる。送信側計算機1において、再送要求受信部29は、受信側計算機2の再送要求送信部31からの制御信号に基づいて、制御信号をデータ再送部28に出力する。データ再送部28は、送信データ格納用バッファ10に格納されているデータから、再送対象のデータを送信データ取得部19より取得させて再送する。
【0095】
次に、前記第6の実施形態にしたがったデータ通信システムによる動作を、図15を参照して説明する。同図において、図13までに示した処理と同一の処理には同一のステップ名を付している。
【0096】
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。また、受信側計算機2では、セッション管理表92により通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。
【0097】
送信側計算機1では、図5に示したステップS15,S4,S5,S16およびS6と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理処理を行なう。
【0098】
受信側計算機2では、図13に示したステップS11およびS30と同様にデータ受信および組立ウィンドウ枠バッファ24の参照を実行する。データ組立部22では、既に受信したデータに付与されたセッション同期番号を管理しており、データ組立部22は、分割済み送信データが転送された場合、前述した、管理中のセッション同期番号を読み出して、受信済みデータに付与されたセッション同期番号が、管理中のセッション同期番号と一致しない場合には、セッション同期番号に係る最初の分割データであると判断し、このセッション同期番号を管理対象に加えた上で、所定のタイムアウト時間のカウントを開始する(ステップS34→S35)。
【0099】
タイムアウト時間は、データのサイズに比例した時間である。送信側計算機1では、データを分割する際にデータ分割数の情報を、各分割データに付与する。つまり、受信側計算機2では、この分割データに付与された分割数に基づいて、この分割データの分割前のデータサイズを算出することができる。
【0100】
そして、設定したタイムアウト時間が経過しても、組立処理に必要なデータが全て揃わなかった場合には、組立監視部30は、再送要求送信部31に対して再送要求通知を行なう(ステップS37→S38)。再送要求送信部31は、組立監視部30からの再送要求通知にしたがって、送信側計算機1に制御信号を出力する(ステップS39,S40)。
【0101】
送信側計算機1の再送要求受信部29は、受信側計算機2の再送要求送信部31からの再送要求にしたがって、データ再送部28に対する再送依頼通知を行なう(ステップS41,S42)。
【0102】
データ再送部28は、再送依頼にしたがって、再送対象であるセッション同期番号が付与されたデータを、送信データ取得部19により送信データ格納用バッファ10から読み出させて、これを受信側計算機2に対して再送する(ステップS43,S44,45)。再送されたデータは、受信側計算機2のデータ受信部17において受信される(ステップS11)。
【0103】
このような構成とすれば、受信側計算機2によるデータの受信後、このデータのサイズに応じたタイムアウト時間が経過しても組立処理対象のデータが全て揃わない場合には、送信側計算機1に再送を要求する。これにより、データ毎に適した再送要求を実行することができるので、通信効率を改善することができる。
【0104】
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。
図16は、本発明の第7の実施形態にしたがったデータ通信システムの構成図である。同図において、図14までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0105】
図16に示したデータ通信システムでは、第1の実施形態での構成(図2参照)に加え、送信側計算機1の送信側セッション管理部3に、データ送信有無バッファ32が設けられる。また、受信側計算機2の受信側セッション管理部4には、データ受信有無バッファ33および通信状態バッファ34が設けられる。
【0106】
図17は、本実施形態で用いるセッション管理表91の一例である。このセッション管理表91は、図3に示したセッション管理表91と比較して、セッション監視用タイムアウト時間が新たに定義付けられる。これは、データ送信に係るタイムアウト時間である。
【0107】
図18は、本実施形態にしたがったセッション管理表メモリ9bに記憶されるセッション管理表92の一例である。このセッション管理表92において定義付けられる監視タイムアウト時間は、データ受信に係るタイムアウト時間である。
【0108】
送信側計算機1のデータ送信管理部12は、データ送信を行なうとデータ送信有無バッファ32に対して“データ送信あり”の情報を書き込む。送信セッション管理部11は、データ送信有無バッファ32を参照し、セッション管理表91で定義されるセッション監視用タイムアウト時間の間に、データ送信管理部12がデータ送信要求を行ったか否かを監視する。
【0109】
送信セッション管理部11は、監視用タイムアウト時間が経過しても、データ送信管理部12によるデータ送信要求がされないと判断した場合には、データ送信管理部12に対して通信確認データの送信要求を行なう。通信確認データとは、送信側計算機1と受信側計算機2との間で正常にデータ通信がなされているか否かを確認するために用いられるデータである。
【0110】
送信側計算機1から送信されたデータは、受信側セッション管理部4に設けられる受信データ判別部35により、その種別が識別される。データの種別とは、通常のデータまたは通信確認データである。
【0111】
データ受信管理部15は、受信したデータが通常のデータであると判別した場合には、データ受信有無バッファ33に“データ受信あり”の情報を書き込み、データをデータ受信用アプリケーション8に転送する。データ受信管理部15は、データが、通信確認データであると判別した場合には、データ受信有無バッファ33に“データ受信あり”の情報を書き込み、通信確認データを破棄する。
【0112】
受信セッション管理部14は、データ受信用アプリケーション8によるセッション開始要求にしたがって、セッション管理表92で定義されるセッション監視用タイムアウト時間を読出した後に、データ受信有無バッファ33を参照して、監視用タイムアウト時間内にデータ受信管理部15がデータを受信したかどうかを監視する。
【0113】
監視タイムアウト時間内にデータの受信がなされたと判別された場合には、通信状態バッファ34に“通信継続”の情報を書き込み、時間内にデータの受信がなさなかったと判別された場合には、通信状態バッファ34に“通信中断”の情報を書き込む。
【0114】
次に、前記第7の実施の形態にしたがったデータ通信システムによる動作を、図19を参照して説明する。同図において、図5に示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。ただし、送信セッション管理部11は、セッション開始要求にしたがって、セッション管理表91から、監視用タイムアウト時間を読み出して、カウントを開始する。
【0115】
また、受信側計算機2では、セッション管理表92を参照して通信ポート番号を決定し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。ただし、受信セッション管理部14は、セッション開始要求にしたがって、セッション管理表92から、監視用タイムアウト時間を読み出して、カウントを開始する。
【0116】
送信側計算機1では、前述したステップS4,S5と同様に送信データ格納および送信要求を実行し、データ送信管理部12は、データ送信を行なうと(ステップS6)、“データ送信あり”の情報を、データ送信有無バッファ32に書き込む(ステップS46)。送信セッション管理部11は、監視用タイムアウト時間のカウントと並行して、データ送信有無バッファ32を監視し、データ送信管理部12が、監視用タイムアウト時間内にデータ送信を行ったか否かを判別する。この判別は、データ送信有無バッファ32に、“データ送信あり”の情報が記憶されているか否かにより判別する。
【0117】
この判別の結果、監視用タイムアウト時間が経過してもデータが送信されていないと判別された場合には、送信セッション管理部11は、データ送信管理部12に対して、通信確認データの送信を要求する(ステップS47→S48)。データ送信管理部12は、この要求にしたがって、通信確認データを生成し、これを送信側ソケット管理部5に転送する。すると、データ送信管理部12は、“データ送信あり”の情報を、データ送信有無バッファ32に書き込む(ステップS49,S50)。
【0118】
データ受信部17によりデータが受信されると、このデータが受信データ判別部35に転送される。受信データ判別部35は、このデータのデータ種別を判別する。この結果、データが通常データであった場合には、これを受信データ格納用バッファ13に格納し、データ受信管理部15に制御信号を出力する(ステップS51のYES)。一方、データが通信確認データであった場合には、データを破棄し、データ受信管理部15に制御信号を出力する(ステップS51→S12)。
【0119】
データ受信管理部15は、受信データ判別部35による制御信号にしたがって、データ通信有無バッファ33に“データ受信有り”の情報を書き込む(ステップS53)。
【0120】
受信セッション管理部14は、データ受信有無バッファ33を参照し、この結果、“データ受信あり”の情報が書き込まれていた場合には、通信状態バッファ34に“通信継続”の情報を書き込む(ステップS56→S57)。一方、“データ受信あり”の情報が書き込まれていない場合には、受信セッション管理部14は、通信状態バッファ34に“通信中断”の情報を書き込む(ステップS56→S58)。
【0121】
データ受信管理部15は、通信状態バッファ34を参照し、この結果“通信継続”の情報が書き込まれている場合には、受信されたデータを受信格納用バッファ13より取り出して、これをデータ受信用アプリケーション8に転送する(ステップS54→S13)。一方、通信状態バッファ34を参照して、“通信中断”の情報が書き込まれている場合には、データ受信用アプリケーション8に“通信中断”の情報を転送する(ステップS54→S55)
このような構成によれば、送信側計算機1および受信側計算機2により、データの送信または受信が正常になされているか否かの判別を行なうことができるので、送受信状態の確認情報の送受信を行なわないコネクションレス型通信においても、データの受信状態を把握することができる。
【0122】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【0123】
【発明の効果】
以上説明したように、本発明によれば、データ送信用のアプリケーションは、複数の送信先に共通したセッション名に係る送信要求コマンドを生成し、このコマンドに基づいて複数の送信先に対するデータ送信が行なわれるようにしたので、一度の送信要求コマンド生成により、複数のコンピュータにデータを送信することができるので、アプリケーションの処理を簡略化して、高信頼なデータ配信を行なうことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にしたがったデータ通信システムの全体構成図。
【図2】図1に示した送信側計算機1および受信側計算機2の内部構成を示す図。
【図3】図1に示した送信側計算機1で用いられるセッション管理表91の一例を示す図。
【図4】図1に示した受信側計算機2で用いられるセッション管理表92の一例を示す図。
【図5】本発明の第1の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図6】本発明の第2の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図7】本発明の第2の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図8】本発明の第3の実施形態にしたがったデータ通信システムの送信側計算機1Aおよび受信側計算機2の内部構成を示す図。
【図9】本発明の第3の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図10】本発明の第4の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図11】本発明の第4の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図12】本発明の第5の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図13】本発明の第5の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図14】本発明の第6の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図15】本発明の第6の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図16】本発明の第7の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図17】図16に示した送信側計算機1で用いられるセッション管理表91の一例を示す図。
【図18】図16に示した受信側計算機2で用いられるセッション管理表92の一例を示す図。
【図19】本発明の第7の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【符号の説明】
1,1A,1B…送信側計算機、2…受信側計算機、3…送信側セッション管理部、4…受信側セッション管理部、5…送信側ソケット管理部、6…受信側ソケット管理部、7…データ送信用アプリケーション、8…データ受信用アプリケーション、9a,9b…セッション管理表メモリ、91,92…セッション管理表、10…送信データ格納用バッファ、11…送信セッション管理部、12…データ送信管理部、13…受信データ格納用バッファ、14…受信セッション管理部、15…データ受信管理部、16…データ送信部、17…データ受信部、18…データ格納部、19…送信データ取得部、20…バッファ監視部、21…受信データ取得部、22…データ組立部、23a,23b…セッション番号格納用バッファ、24…組立ウィンドウ枠バッファ、25…開始点、26…終了点、27…ウィンドウ枠管理部、28…データ再送部、29…再送要求受信部、30…組立監視部、31…再送要求送信部、32…データ送信有無バッファ、33…データ受信有無バッファ、34…通信状態バッファ、35…受信データ判別部。
【発明の属する技術分野】
本発明は、ネットワークで接続された複数のコンピュータ間のデータ配信方法、装置およびプログラムに関する。
【0002】
【従来の技術】
従来、送信側および受信側のコンピュータ間で、例えばコネクションレス型によるデータ通信を行なう場合には、送信側および受信側のコンピュータにおける通信設定の各項目は、データ種別および通信対象などに関係なく、共通の通信設定管理テーブルにより一律に管理される(例えば、特許文献1参照)。
【0003】
【特許文献1】
特許第3268875号公報
【0004】
【発明が解決しようとする課題】
前述したデータ通信において、例えば1台のコンピュータから、複数のユニキャストアドレスに対応したコンピュータに同一のデータを送信する場合、または、1台のコンピュ一タから、複数のユニキャストアドレスおよびマルチキャストアドレスに対応したコンピュータに同一のデータを送信する場合には、送信用アプリケーションにより、送信先アドレスの数と同じ回数のデータ送信を実行しなければならず、その都度、送信用の制御コマンドを生成する必要がある。これにより送信用アプリケーションによる処理が複雑化してしまう。
【0005】
また、重要度の異なる複数種別のデータを所定のコンピュータに送信する場合には、当該データの種別に応じて、例えば重要度の高いデータについては、これを多重化して再送回数を減らすことが望ましい。しかし、前述したデータ通信方法では、多重化等の設定をデータ毎に個別に行なうことができない。その結果、本来多重化する必要のない重要度の低いデータについても多重化させることになる。この結果、データの転送量が増加し、データ通信性能の低下およびネットワーク帯域の圧迫を引き起こす原因となっていた。
【0006】
このように、コンピュータ同士でデータ通信を行なう場合には、信頼性および通信効率を低下させる要因が存在していた。
【0007】
本発明は、前記のような従来技術の問題点を解決するために提案されたものであり、複数台のコンピュータに対するデータ通信における通信効率を向上させることが可能になるデータ通信方法、装置およびプログラムを提供するものである。
【0008】
【課題を解決するための手段】
すなわち、本発明に係るデータ通信方法は、ネットワーク上に配置された複数台のコンピュータにおいて、任意の送信側コンピュータと複数台の受信側コンピュータとの間でコネクションレス型のデータ通信を行なう方法であって、前記送信側コンピュータは、前記複数台の各受信側コンピュータの識別情報と、これら識別情報に共通する送信先共通情報とを対応付けて記憶する送信先情報記憶手段と、前記各受信側コンピュータに送信するデータを記憶する送信データ記憶手段とを備え、前記送信先情報記憶手段に記憶された送信先共通情報に基づいて、前記送信データ記憶手段に記憶されたデータを、前記送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに送信するデータ送信ステップを有することを特徴とする。
【0009】
このような構成とすれば、前記複数台の各受信側コンピュータの識別情報に共通して定められる送信先共通情報にしたがって、送信対象のデータを各受信側データに送信するので、複数の送信要求コマンドを生成する必要がなくなる。よって、データ送信に係る負担を低減させることができる。
【0010】
【発明の実施の形態】
以下、図面により本発明の実施の一形態について説明する。
【0011】
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態にしたがったデータ通信システムの全体構成図である。
図1に示すように、このデータ通信システムは、送信側計算機1に複数の受信側計算機2が接続される。送信側計算機1は、コネクションレス型通信により、複数のユニキャストアドレスおよびマルチキャストアドレスにそれぞれ対応した受信側計算機2に対して、データを送信する機能を有している。
【0012】
図2は、図1に示した送信側計算機1および受信側計算機2の内部構成を示す図である。
図2に示すように、送信側計算機1には、送信側セッション管理部3が設けられる。送信側計算機1にはデータ送信用アプリケーション7がインストールされる。データ送信用アプリケーション7には、データ送信用のシステムプログラムおよびデータが記憶される。また、送信側計算機1において、データを送信する際に送信側ソケット管理部5が生成される。この送信側ソケット管理部5は、送信データおよび送信先アドレスを管理する。送信先アドレスとは、前述したユニキャストアドレスおよびマルチキャストアドレスを意味している。
【0013】
送信側セッション管理部3には、送信セッション管理部11、データ送信管理部12、セッション管理表メモリ9aおよび送信データ格納用バッファ10が設けられる。セッション管理表メモリ9aには、送信用のセッション管理表91(図3参照)が記憶される。送信側ソケット管理部5では、データ送信部16によるデータ送信処理を管理する。
【0014】
受信側計算機2には、受信側セッション管理部4が設けられ、さらに、データ受信用アプリケーション8がインストールされる。また、受信側計算機2において、受信用アプリケーション8による受信要求に応じて受信側ソケット管理部6が生成される。受信側ソケット管理部6は、送信側計算機1により送信されたデータを受信し、これを管理する。データ受信用アプリケーション8には、データ受信用のシステムプログラムおよび受信済みデータが記憶される。
【0015】
受信側セッション管理部4には、受信セッション管理部14、データ受信管理部15、セッション管理表メモリ9bおよび受信データ格納用バッファ13が設けられる。セッション管理表メモリ9bには受信用のセッション管理表92(図4参照)が記憶される。
【0016】
ここで、セッション管理表91の構成の一例を図3に示す。
図3に示すように、セッション管理表91には、セッション名、送信先アドレス、ポート番号およびI/Fアドレスが定義づけられる。送信先アドレスとは、データの送信先である複数台の各受信側計算機2にそれぞれ対応した識別情報である。また、セッション名とは、複数の送信先アドレスに共通した識別情報として定義付けられた情報である。また、ポート番号とは、データ通信時に開放する通信ポート番号である。I/Fアドレスは、このセッション管理表91を有する送信側計算機1の通信用インタフェースの識別情報を示す。
【0017】
受信側のセッション管理表92の構成の一例を図4に示す。この受信側計算機2のセッション管理表92で定義付けられる通信設定情報は、受信側計算機2側の通信ポート番号およびI/Fアドレスである。
受信側ソケット管理部6では、データ受信部17によるデータ受信処理を管理する。
【0018】
送信側計算機1の送信セッション管理部11は、データ送信用アプリケーション7からの通信開始要求および通信終了要求にしたがって、送信側ソケット管理部5の生成および破棄を行なう。送信データ格納用バッファ10は、データ送信用アプリケーション7から、データ送信管理部12を経由して転送された送信データを格納する。
【0019】
データ送信管理部12は、データ送信用アプリケーション7から出力された送信データを受け取り、この送信データを送信データ格納用バッファ10に格納する。また、データ送信管理部12は、データ送信用アプリケーション7からの通信開始要求に応じて、送信側ソケット管理部5に対する送信要求を行なう。
【0020】
受信側計算機2の受信セッション管理部14は、データ受信用アプリケーション8からの通信開始要求及び終了要求にしたがって、受信側ソケット管理部6の生成及び破棄を行なう。受信データ格納用バッファ13は、データ受信部17により受信したデータを格納する。
【0021】
データ受信管理部15は、データ受信用アプリケーション8によるデータ取得要求にしたがって、受信データ格納用バッファ13に格納されたデータを、データ受信用アプリケーション8に転送する。
【0022】
送信側計算機1のデータ送信部16は、データ送信管理部12による送信要求にしたがって、送信データ格納用バッファ10に格納されたデータを、前述した複数の送信先アドレスにそれぞれ対応した受信側計算機2の受信側ソケット管理部6のデータ受信部17に送信する。受信側計算機2のデータ受信部17は、データ送信部16から送信されたデータを受信して、これを受信データ格納用バッファ13へ格納する。
【0023】
次に、本発明の第1の実施形態にしたがったデータ通信システムによる処理について説明する。図5は、本発明の第1の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。
なお、本発明において、送信側計算機1と受信側計算機2間の通信を開始することをセッションの開始と定義し、送信側計算機1と受信側計算機2間の通信を終了することをセッションの終了と定義する。
【0024】
まず、送信側計算機1のセッション管理表91において、複数の送信先アドレスに対する共通のセッション名、およびその他の通信設定情報を定義する(ステップS1)。
【0025】
そして、受信側計算機2とのセッション開始にあたり、データ送信用アプリケーション7は、送信セッション管理部11に対してセッション開始要求を行なう。また、データ送信用アプリケーション7は、データ送信管理部12にデータの送信要求を行い、送信データを転送する。
【0026】
セッション開始要求では、データ送信用アプリケーション7は、所定のセッション名に対応付けられた送信先アドレスを有する受信側計算機2への送信要求コマンドを生成する。例えば、送信セッション管理部11は、セッション名“session−s1”に対応付けられた送信先アドレス、つまり“224.224.224.224”および“224.200.200.200”を有する受信側計算機2へのデータの送信を要求する場合には、このセッション名“session−s1”への送信要求コマンド“send(session−s1)”を生成して、これを送信セッション管理部11に出力する。
【0027】
送信セッション管理部11は、データ送信用アプリケーション7からの送信要求コマンドにしたがい、セッション管理表メモリ9aにアクセスして、あらかじめ定義した複数の送信先アドレスを取得する(ステップS2)。具体的には、送信セッション管理部11は、前述したセッション名“session−s1”に対応する送信要求コマンドを認識すると、セッション管理表メモリ9aから、セッション名“session−s1”に対応付けられる送信先アドレス“224.224.224.224”および“224.200.200.200”を取得する。
【0028】
そして、送信セッション管理部11は、ステップS2で取得した複数の送信先アドレスに対応した、送信側ソケット管理部5を作成する(ステップS3)。 一方、受信側計算機2では、ポート番号などの通信設定情報をセッション管理表92にて定義する(ステップS8)。
【0029】
受信側計算機2においてデータを受信する際には、データ受信用アプリケーション8は、受信セッション管理部14に対してセッション開始要求を行なう。このセッション開始要求にしたがって、受信セッション管理部14は、セッション管理表メモリ9bのセッション管理表92に定義付けられる通信設定情報を参照し(ステップS9)、受信側ソケット管理部6を生成する(ステップS10)。
【0030】
また、送信側計算機1において、データを送信する際に、データ送信用アプリケーション7は、データ送信管理部12に対してデータ送信要求を行なう。すると、データ送信管理部12は、送信データを送信データ格納用バッファ10に格納する(ステップS4)。その後、データ送信管理部12は、ステップS3で生成した送信側ソケット管理部5にデータ送信要求を行なう(ステップS5)。送信側ソケット管理部5は、データ送信要求にしたがって、送信データ格納用バッファ10より送信データを読み出してデータ送信部16に転送する。データ送信部16は、送信データを各送信先アドレスに対応した受信側計算機2に送信する(ステップS6)。
【0031】
受信側計算機2のデータ受信部17は、送信側計算機1のデータ送信部16により送信されたデータを受信する(ステップS11)。この受信したデータは、一旦、受信データ格納用バッファ13に格納される(ステップS12)。この状態で、データ受信用アプリケーション8がデータ受信管理部15に対してデータ取得要求を実行した場合には、データ受信管理部15は、受信データ格納用バッファ13より受信済みデータを読み出して、これをデータ受信用アプリケーション8に転送する(ステップS13)。
【0032】
送信側計算機1において、セッションを終了する場合には、データ送信用アプリケーション7は、送信セッション管理部11にセッション終了要求を行なう。送信セッション管理部11は、セッション終了要求にしたがい、ステップS3において生成した送信側ソケット管理部5を破棄する(ステップS7)。
【0033】
一方、受信側計算機2において、セッションを終了する場合には、データ受信用アプリケーション8は、受信セッション管理部14に対してセッション終了要求を行なう。受信セッション管理部14は、セッション終了要求にしたがい、ステップS10において生成した受信側ソケット管理部6を破棄する(ステップS14)。
【0034】
このような構成とすれば、送信側計算機1は、セッション管理表91で複数の送信先に対する共通のセッション名、およびその他の通信設定情報を定義し、このセッション名に基づいて、該セッション名に対応する各送信先アドレスを有するそれぞれの受信側計算機2にデータを送信する。つまり、1つの送信要求コマンドに基づいて、複数の受信側計算機2に対してデータを送信することができる。これにより、データ送信用アプリケーション7では、複数の送信先にデータを送信する場合に、送信先アドレス毎に送信要求コマンドを生成する必要が無くなる。よって送信用アプリケーション7による処理を単純化して、データ通信の効率を改善することができる。
【0035】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
図6は、本発明の第2の実施形態にしたがったデータ通信システムの構成図である。同図において、図2に示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0036】
この第2の実施形態にしたがったデータ通信システムでは、送信データを所定のサイズ毎に分割して、この分割したデータを送信側計算機1から受信側計算機2に順次送信する。受信側計算機2は、受信した分割済みデータを分割前のデータに再構成する。以下、受信した分割済みデータを再構成する処理を、組立処理と称して説明する。
【0037】
図6に示したデータ通信システムでは、図2で示した構成に加え、送信側計算機1の送信側セッション管理部3に、データ格納部18、送信データ取得部19およびバッファ監視部20が設けられる。また、受信側計算機2の受信側セッション管理部4には、受信データ取得部21およびデータ組立部22が設けられる。
【0038】
ここで、送信側計算機1のデータ格納部18は、データ送信用アプリケーション7により送信要求されたデータ毎に連続したセッション同期番号を付与する。セッション同期番号とは、送信データの送信順を示す番号である。
【0039】
また、データ格納部18は、セッション同期番号を付与した送信データを、予め設定したサイズ毎のデータに分割して、これらを送信データ格納用バッファ10へ格納する。
【0040】
送信データ格納用バッファ10に格納されたデータが送信された後、このデータが受信側計算機2にて正常に受信されなかった場合には、同一のデータを送信データ格納用バッファ10から再び読み出して送信する必要がある。つまり、データ格納用バッファ10では、一度データ取得部19により読み出されたデータを残しておく必要がある。しかし、データの送信後、例えば、受信側計算機2による再送要求から所定の時間が経過しても当該データが再び読み出されない場合には、そのデータは受信側計算機2により正常に受信されたと判断できる。そこで、バッファ監視部20は、送信データ格納用バッファ10に格納されるデータが送信データ取得部19により読み出された時刻を監視し、この時刻からあらかじめ設定した時間が経過しても再送信の対象とならなかったデータを、不要なデータとみなして削除する。これにより、送信データ格納用バッファ10を有効に利用することができる。
【0041】
送信データ取得部19は、送信データ格納用バッファ10に格納されたデータを読み出す。データ組立部22は、分割されて送信されたデータがデータ受信部17により全て受信された場合には、これらのデータを組立てて、これを受信データ格納用バッファ13に格納する。
【0042】
受信データ取得部21は、受信データ格納用バッファ13に格納されているデータを、セッション同期番号順に取り出し、これをデータ受信管理部15に転送する。
【0043】
次に、前記第2の実施形態にしたがったデータ通信システムによる処理を説明する。図7は、本発明の第2の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。同図において、図5に示した処理と同一の処理には同一のステップ名を付している。
【0044】
まず、送信側計算機1において、図3に示すように、セッション管理表91において、複数の送信先アドレスに対する共通のセッション名、およびその他の通信設定情報を定義する(ステップS1)。そして、データ送信用アプリケーション7は、送信セッション管理部11に対してセッション開始要求を行なう。送信セッション管理部11は、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。
【0045】
一方、受信側計算機2では、セッション管理表メモリ9bのセッション管理表92において、通信設定情報を定義する(ステップS8)。すると、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9およびS10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成がなされる。
【0046】
そして、データ送信管理部12は、データ送信用アプリケーション7から転送された送信データをデータ格納部18に格納する。データ格納部18は、データ送信管理部12から転送されたデータにセッション同期番号を付与し、これをあらかじめ設定されたサイズに分割する(ステップS15)。データ格納部18は、この分割した送信データを送信データ格納用バッファ10に格納する(ステップS4)。そして、前述したステップS5と同様に送信側ソケット管理部5に対する送信要求を行なう。
【0047】
送信データ取得部19は、送信データ格納用バッファ10に格納された送信用分割データを順次取得して、これをデータ送信部16に転送する(ステップS16)。データ送信部16は、データ送信管理部12による送信要求にしたがい、分割済みデータを送信先アドレスに対応した受信側計算機2に順次送信する(ステップS6)。ここで、データ送信部16は、分割した全てのデータの送信が完了するまで、処理を継続する。
【0048】
受信側計算機2において、前述したステップS11によるデータ受信後、データ組立部22は、転送されたデータの組立処理を開始する(ステップS17)。同一のセッション同期番号が付与された分割済みデータが全て受信され、これら受信したデータの組立処理が完了した場合には、これを受信データ格納用バッファ13に格納する(ステップS18→S12)。
【0049】
データ受信管理部15は、前述したデータ受信要求に基づいて、受信データ取得部21により、受信データ格納用バッファ13から、受信済みデータをセッション同期番号順に取り出して転送させ、これらをデ一タ受信用アプリケーション8に順次転送する(ステップS19)。
【0050】
このような構成によれば、受信側計算機2は、送信側計算機1により送信されたデータを、当該送信側計算機1により送信された順に基づいて、デ一タ受信用アプリケーション8に転送することができる。これにより、送信側計算機1により送信されたデータの受信順が異なっていても、通信データの順序性を確保することができる。
【0051】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
図8は、本発明の第3の実施形態にしたがったデータ通信システムの構成図である。同図において、図6までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。また、同図に示した送信側計算機1Aの構成要素のうち、図6までに示した送信側計算機1との構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
本実施形態にしたがったデータ通信システムは、例えば通常時に使用している送信側計算機1Aのメンテナンスのため、この送信側計算機1Aが送信しようとしたデータと同一のデータを、別途用意した送信側計算機1Bにより受信側計算機2に送信する場合を想定している。この場合、受信側計算機2では、送信元が切り替わるのにともない、メンテナンス中の送信側計算機1Aのメンテナンスが終了して、再び使用を開始した場合には、2台の送信側計算機1A,Bにより送信されたデータをそれぞれ受信して組立ててしまう。
【0052】
本実施形態では、受信側計算機2において、メンテナンス前の送信側計算機1Aから送信されたデータと、予備の送信側計算機1Bにより送信されたデータとの重複した組立処理を防ぐようにする。
【0053】
図8に示したデータ通信システムの送信側計算機1Aでは、第2の実施形態で示した送信側計算機1内の構成(図6参照)に加え、送信側セッション管理部3に、セッション番号格納用バッファ23aが設けられる。送信セッション管理部11は、前述した機能に加え、セッション番号を生成する。セッション番号とは、データ送信用アプリケーション7によるセッション開始要求時の時刻に対応して決定された識別番号である。また、受信側計算機2の受信側セッション管理部4には、セッション番号格納用バッファ23bが設けられる。セッション番号格納用バッファ23aは、送信セッション管理部11で生成されたセッション番号を格納する場合、および、データ送信管理部12に転送された送信データにセッション番号を付与する場合に参照される。送信セッション管理部11には、セッション開始時刻を計測するタイマ(図示せず)が設けられる。
【0054】
受信側計算機2において、セッション番号格納用バッファ23bは、受信セッション管理部14により生成された照合用セッション番号を格納する場合に参照される。照合用セッション番号は、受信側計算機2により受信したデータに付与されたセッション番号のうち最新のセッション番号である。また、セッション番号格納用バッファ23bは、データ組立部22により受信されたデータに付与されたセッション番号と照合用セッション番号とを比較する場合にも参照される。
【0055】
セッション番号格納用バッファ23bに格納される照合用セッション番号が受信したデータに付与されるセッション番号と比較して小さい場合には、照合用セッション番号は、このとき受信したデータに付与されたセッション番号に更新される。
【0056】
次に、前記第3の実施形態にしたがったデータ通信システムによる処理を説明する。図9は、本発明の第3の実施形態にしたがったデータ通信システムの処理内容を示すフローチャートである。同図において、図7までに示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1Aでは、セッション管理表メモリ9aのセッション管理表91にセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後に、前述したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成がなされる。また、受信側計算機2では、セッション管理表92に対して通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後に、前述したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成がなされる。
【0057】
そして、送信側計算機1Aにおいて、送信セッション管理部11は、データ送信用アプリケーション7によるセッション開始要求に基づいて、現在時刻に基づいたセッション番号を生成する(ステップS20)。
【0058】
また、受信側計算機2において、データ受信用アプリケーション8は、受信セッション管理部14に対して、セッション開始要求とともに、セッション番号初期化要求を行なう。すると、受信セッション管理部14は、セッション番号格納用バッファ23bに記憶される照合用セッション番号“未設定”と設定する。(ステップS22)。
【0059】
データを送信する場合には、送信側計算機1Aのデータ送信管理部12は、セッション番号格納用バッファ23aに記憶されたセッション番号を取得する。そして、このセッション番号を、データ送信用アプリケーション7から転送された送信データに付与する(ステップS21)。
【0060】
以降は、前述したステップS15,S4,S5,S16およびS6と同様に、セッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理がなされる。
【0061】
受信側計算機2では、ステップS11により受信したデータをデータ組立部22に転送する。データ組立部22は、セッション番号格納用バッファ23bに記憶される照合用セッション番号を取得する(ステップS23)。データ組立部22は、取得した照合用セッション番号と、受信済みデータに付与されたセッション番号とを比較する(ステップS24)。この比較の結果、受信済みデータに付与されたセッション番号が、照合用セッション番号と比較して大きい場合、もしくはセッション番号格納用バッファ23bに“未設定”のデータが記憶されていた場合には、データ組立部22は、セッション番号格納用バッファ23bに記憶される照合用セッション番号を、受信したデータに付与されたセッション番号に更新する(ステップS25)。そして、前述したステップS17,S18,S12およびS19と同様にデータ組立、データ格納、およびデータ読出しが実行される。
【0062】
前述した、ステップS24による処理の結果、照合用セッション番号に対して、受信したデータに付与されたセッション番号が小さい場合には、データ組立部22は、受信したデータを破棄する(ステップS24→S26)。また、データ組立部22は、ステップS18の処理によりデータの組立が完了しなかった場合に、これを破棄する(ステップS18→S26)。
【0063】
このような構成によれば、送信側計算機1Aは、セッション開始時刻に基づいて生成したセッション番号を送信データに付与する。そして、受信側計算機2では、古いセッション開始時刻に対応したセッション番号が付与されたデータの組立を行なわずに、最新のセッション開始時刻に対応したセッション番号が付与されたデータの組立のみを行なうので、受信側計算機2では、組立処理を行なう際に、重複したデータに対する組立処理を行なわないので、組立処理に係る効率を改善することができる。例えば、送信側計算機1Aによる送信処理が中断して、この送信処理が再開された場合には、当該データに付与されたセッション番号に対応するセッション開始時刻が古いものとなるので、他の送信側計算機1Bから送信された新しいセッション番号のデータ組立が優先され、当該送信再開による古い受信データの組立を防止することができる。
【0064】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
図10は、本発明の第4の実施形態にしたがったデータ通信システムの構成図である。図10においては、前記第2の実施形態にしたがった構成に加えて、送信側計算機1に複数の送信側ソケット管理部5を生成し、受信側計算機2に複数の受信側ソケット管理部6を生成する。
【0065】
送信セッション管理部11は、前記第1の実施形態にしたがった構成と異なり2つの送信側ソケット管理部5に対して送信要求を行なう。送信データ取得部19は、前記第3の実施形態にしたがった構成と異なり送信データ格納用バッファ10から取得したデータを並列にデータ送信部16に転送し、多重化する。
【0066】
受信セッション管理部14は、前記第3の実施形態にしたがった構成と異なり、多重化させるべき数に対応した受信側ソケット管理部6の生成および破棄を行なう。これらの受信側ソケット管理部6の数は、送信セッション管理部11により生成した送信側ソケット管理部5の数に対応している。
【0067】
データ組立部22は、前記第1の実施形態にしたがった構成と異なり、複数のデータ受信部17から受信したデータについて、先着か後着かの判別を行い、先着のデータを組立て、その他のデータを破棄する。
【0068】
次に、第4の実施形態の作用を、図11を参照して説明する。
図11は、第4の実施形態にしたがったデータ通信システムの処理を示すフローチャートである。同図において、図9までに示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。ただし、セッション開始要求には、データの重要度の情報が含まれる。また、生成される送信側ソケット管理部5の数は、送信データの多重化数に対応する。この多重化の数はデータの重要度に対応する。
【0069】
また、受信側計算機2では、セッション管理表92に通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。ただし、セッション開始要求には、データの重要度の情報が含まれる。また、受信セッション管理部14は、受信側計算機2で使用できる全てのI/Fアドレスに対応した受信側ソケット管理部6を生成する。このうち使用する受信側ソケット管理部6の数は、送信データの多重化数に対応する。
【0070】
そして、送信側計算機1において、前述したステップS15,S4,S5およびS16と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理がなされる。ただし、送信データには、重要度の情報が含まれる。送信データ取得部19は、送信データ格納用バッファ10から取得した送信データを、このデータに含まれた重要度情報に基づいて所定の数に多重化し、この多重化してデータの個々のデータを、多重化数に対応して生成された各データ送信部16にそれぞれ転送する(ステップS26)。そして、各データ送信部16は、送信データ取得部19から転送されたデータを受信側計算機2に送信する(ステップS6)。
【0071】
受信側計算機2において、複数生成された受信側ソケット管理部6のデータ受信部17は、データ送信部16により送信されたデータをそれぞれ受信して、これをデータ組立部22に転送する(ステップS11)。
【0072】
データ組立部22では、データ受信部17から転送されたデータが、多重化されたデータのうち、先着のデータであるか否かを判別する。この先着のデータであるか否かを判別する処理とは、このデータと同一のデータが既に受信されて、組立てられたデータであるか否かを判別する処理である。送信データは、データ格納部18により分割される際に、各分割データに組立番号が付与される。組立番号とは、各分割データの分割順を示す。データ組立部22では、受信したデータに付与されたセッション同期番号および組立番号を管理し、これらの番号と、逐次受信したデータに付与されるセッション同期番号と組立番号とを照合する。この結果、セッション同期番号および組立番号がともに同一であるデータを既に受信したと判別された場合には、多重化されたデータのうち後着のデータであると判断できる。
【0073】
この判別の結果、受信したデータが、多重化されたデータのうち最初に受信したデータ、つまり先着のデータである場合には、このデータは、データ組立部22による組立処理の対象となる(ステップS29→S17)。一方、受信したデータが、多重化されたデータのうち後着のデータである場合にはこれを破棄する(ステップS29→S28)。
【0074】
データの組立後は、前述したステップS18,S12およびS19と同様にデータ組立て、データ格納およびデータ読出しがなされる。そして、セッションの終了時は、前述したステップS7およびS14と同様に送信側ソケット管理部5および受信側ソケット管理部6の破棄がなされる。
【0075】
このような構成とすれば、送信データの多重化数を、このデータの重要度に応じて変更して送信するので、重要度が低いデータに関しては、多重化数を減らす、または多重化させずに送信することができる。したがって、データの無駄な多重化を未然に防ぐことができるようになるので、ネットワークを有効活用することができる。
【0076】
(第5の実施形態)
次に本発明の第5の実施形態について説明する。
図12は、本発明の第5の実施形態にしたがったデータ通信システムの構成図である。同図において、すでに図示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
受信側計算機2の受信データ取得部21は、受信データ格納用バッファ13に格納されたデータをセッション同期番号順にデータ受信用アプリケーション8に転送するが、例えば、ネットワークの混雑などにより特定のセッション同期番号が付与されたデータが受信データ格納用バッファ13に格納されない場合には、この番号以後のセッション同期番号が付与されたデータが既に受信されて受信データ格納用バッファ13に格納されている場合でも、データ受信用アプリケーション8に転送されない。
【0077】
受信データ格納用バッファ13に格納できるデータの数は限られるので、受信が遅延しているデータを受信次第、これを受信データ格納用バッファ13に迅速に格納し、データ受信用アプリケーション8に対するデータ転送を再開させる必要がある。しかし、前述した遅延データを受信した際に、データ組立部22により、別のセッション同期番号に対応したデータの組立処理を実行している場合、遅延データの組立処理が出来ない。これを改善するのが本実施形態の趣旨である。
【0078】
本実施形態にしたがったデータ通信システムは、データに付与されたセッション同期番号に基づいて、このデータを受信データ格納用バッファ13に格納するか否かを判別する機能を有している。
【0079】
図12に示したデータ通信システムでは、図6で示した構成要素に加えて、受信側計算機2の受信側セッション管理部4に、組立ウィンドウ枠バッファ24が設けられる。組立ウィンドウ枠バッファ24では、開始点25および終了点26が記憶される。また、受信側セッション管理部4には、ウィンドウ枠管理部27が設けられる。開始点25は、セッション同期番号の所定の範囲における先頭の値である。終了点26は、セッション同期番号の所定の範囲における末尾の値である。
【0080】
ここで、ウィンドウ枠管理部27は、データ受信部17により転送されたデータに付与されたセッション同期番号が、組立ウィンドウ枠バッファ24の開始点開始点25から終了点26までの値である場合には、受信済みデータをデータ組立部22に転送する。一方、ウィンドウ枠管理部27は、セッション同期番号が組立ウィンドウ枠バッファ24の開始点25と終了点26の範囲内に含まれていない場合には、データを破棄する。データ組立部22では、開始点25に対応したセッション同期番号が付与されたデータを組立てた場合には、この組立てたデータに付与されたセッション同期番号に合わせて、開始点25および終了点26にセットするセッション同期番号の値を順次更新する。
【0081】
次に、前記第5の実施形態にしたがったデータ通信システムによる動作について説明する。
図13は、第5の実施形態にしたがったデータ通信システムによる動作の内容を示すフローチャートである。同図において、図11までに示した処理と同一の処理には同一のステップ名を付している。
【0082】
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。また、受信側計算機2では、セッション管理表92により通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。
【0083】
送信側計算機1では、図5に示したステップS15,S4,S5,S16およびS6と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理を行なう。
【0084】
そして、受信側計算機2において、データ受信部17は、送信データを受信し、これをウィンドウ枠管理部27に転送する(ステップS11)。ウィンドウ枠管理部27は、組立ウィンドウ枠バッファ24から、開始点25と終了点26の値を読出し、受信済みデータに付与されたセッション同期番号が、開始点25から終了点26とまでの値であるか否かを判定する(ステップS30)。
【0085】
セッション同期番号が、開始点25と終了点26の範囲内に含まれていると判別された場合には、ウィンドウ枠管理部27は、判別を行ったセッション同期番号が付与されたデータをデータ組立部22に転送する。一方、セッション同期番号が開始点と終了点の範囲内に含まれていない場合には、このデータのデータ組立部22への転送を保留する(ステップS31)。
【0086】
そして、データ組立部22では、図5に示したステップS17と同様にデータの組立てを行い、特定のセッション同期番号に係るデータの組立処理が終了した場合には(ステップS18のYES)、この組立てたデータに付与されたセッション同期番号が、開始点25の値と同一であった場合には、開始点25および終了点26に記憶される値にそれぞれ1を加算する(ステップS32→S33)。これにより、セッション同期番号の範囲を更新する。
【0087】
そして、データ組立部22は、組立てたデータを受信データ格納用バッファ13に格納する。以後の、送信側計算機1および受信側計算機2における処理は、前述した第2の実施形態で説明した処理と同様である。
【0088】
このような構成とすれば、受信したデータに付与されたセッション同期番号が、予め設定された範囲内に含まれている場合のみに、組立処理がなされて、受信データ格納用バッファ13に格納されるので、データの組立に係る効率を上げることができ、この組立てたデータを受信用アプリケーション8に転送するまでの処理時間を短縮することができるようになる。
【0089】
(第6の実施形態)
次に本発明の第6の実施形態について説明する。
受信側計算機2によりデータを受信した場合、例えば分割されたデータの一部が、通信エラー等の原因により通信回線で欠損してしまい、受信されない場合がある。この対策として、一定のタイムアウト時間が経過しても、分割された全データの受信が確認できない場合には、データの欠損が発生したと判断し、データの再送を送信側計算機1に要求する。
【0090】
分割済みの送信データが全て揃うまでの時間は、分割データの数に比例して長くなるが、タイムアウト時間は、任意に設定した時間に固定されている。つまり、設定したタイムアウトが長い場合には、データの欠損の可能性が高い場合でも、前述したタイムアウト時間に達するまでデータの再送要求が実行されない。これを改善するのが本実施形態の趣旨である。本実施形態にしたがったデータ通信システムは、データの容量に応じてタイムアウト時間を決定する機能を有している。
【0091】
図14は、本発明の第6の実施形態を示すデータ通信システムの構成図である。同図において、図12までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0092】
図14に示したデータ通信システムでは、図12に示した構成に加えて、送信側計算機1の送信側ソケット管理部5にデータ再送部28と再送要求受信部29が設けられる。また、受信側計算機2の受信側セッション管理部4に組立監視部30が設けられ、受信側ソケット管理部6には、再送要求送信部31が設けられる。
【0093】
ここで、データ組立部22は、特定のセッション同期番号が付与された最初の分割データを受信してから、組立処理が完了して分割前のデータに変換されるまでの時間をカウントする。
【0094】
組立監視部30は、前述した分割済みデータの組立処理が所定の時間内に完了しなかった場合には、再送要求送信部31を経由して、データの再送要求を行なう。再送要求送信部31は、送信側計算機1への再送要求を示す制御信号を出力する。この制御信号には、組立てが完了しなかったデータに付与されたセッション同期番号が含まれる。送信側計算機1において、再送要求受信部29は、受信側計算機2の再送要求送信部31からの制御信号に基づいて、制御信号をデータ再送部28に出力する。データ再送部28は、送信データ格納用バッファ10に格納されているデータから、再送対象のデータを送信データ取得部19より取得させて再送する。
【0095】
次に、前記第6の実施形態にしたがったデータ通信システムによる動作を、図15を参照して説明する。同図において、図13までに示した処理と同一の処理には同一のステップ名を付している。
【0096】
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。また、受信側計算機2では、セッション管理表92により通信設定情報を定義し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。
【0097】
送信側計算機1では、図5に示したステップS15,S4,S5,S16およびS6と同様にセッション同期番号付加、データ格納、送信要求、格納データ読出しおよび送信処理処理を行なう。
【0098】
受信側計算機2では、図13に示したステップS11およびS30と同様にデータ受信および組立ウィンドウ枠バッファ24の参照を実行する。データ組立部22では、既に受信したデータに付与されたセッション同期番号を管理しており、データ組立部22は、分割済み送信データが転送された場合、前述した、管理中のセッション同期番号を読み出して、受信済みデータに付与されたセッション同期番号が、管理中のセッション同期番号と一致しない場合には、セッション同期番号に係る最初の分割データであると判断し、このセッション同期番号を管理対象に加えた上で、所定のタイムアウト時間のカウントを開始する(ステップS34→S35)。
【0099】
タイムアウト時間は、データのサイズに比例した時間である。送信側計算機1では、データを分割する際にデータ分割数の情報を、各分割データに付与する。つまり、受信側計算機2では、この分割データに付与された分割数に基づいて、この分割データの分割前のデータサイズを算出することができる。
【0100】
そして、設定したタイムアウト時間が経過しても、組立処理に必要なデータが全て揃わなかった場合には、組立監視部30は、再送要求送信部31に対して再送要求通知を行なう(ステップS37→S38)。再送要求送信部31は、組立監視部30からの再送要求通知にしたがって、送信側計算機1に制御信号を出力する(ステップS39,S40)。
【0101】
送信側計算機1の再送要求受信部29は、受信側計算機2の再送要求送信部31からの再送要求にしたがって、データ再送部28に対する再送依頼通知を行なう(ステップS41,S42)。
【0102】
データ再送部28は、再送依頼にしたがって、再送対象であるセッション同期番号が付与されたデータを、送信データ取得部19により送信データ格納用バッファ10から読み出させて、これを受信側計算機2に対して再送する(ステップS43,S44,45)。再送されたデータは、受信側計算機2のデータ受信部17において受信される(ステップS11)。
【0103】
このような構成とすれば、受信側計算機2によるデータの受信後、このデータのサイズに応じたタイムアウト時間が経過しても組立処理対象のデータが全て揃わない場合には、送信側計算機1に再送を要求する。これにより、データ毎に適した再送要求を実行することができるので、通信効率を改善することができる。
【0104】
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。
図16は、本発明の第7の実施形態にしたがったデータ通信システムの構成図である。同図において、図14までに示した構成要素と同一の構成要素には同一の符号を付しており、ここではその説明を省略する。
【0105】
図16に示したデータ通信システムでは、第1の実施形態での構成(図2参照)に加え、送信側計算機1の送信側セッション管理部3に、データ送信有無バッファ32が設けられる。また、受信側計算機2の受信側セッション管理部4には、データ受信有無バッファ33および通信状態バッファ34が設けられる。
【0106】
図17は、本実施形態で用いるセッション管理表91の一例である。このセッション管理表91は、図3に示したセッション管理表91と比較して、セッション監視用タイムアウト時間が新たに定義付けられる。これは、データ送信に係るタイムアウト時間である。
【0107】
図18は、本実施形態にしたがったセッション管理表メモリ9bに記憶されるセッション管理表92の一例である。このセッション管理表92において定義付けられる監視タイムアウト時間は、データ受信に係るタイムアウト時間である。
【0108】
送信側計算機1のデータ送信管理部12は、データ送信を行なうとデータ送信有無バッファ32に対して“データ送信あり”の情報を書き込む。送信セッション管理部11は、データ送信有無バッファ32を参照し、セッション管理表91で定義されるセッション監視用タイムアウト時間の間に、データ送信管理部12がデータ送信要求を行ったか否かを監視する。
【0109】
送信セッション管理部11は、監視用タイムアウト時間が経過しても、データ送信管理部12によるデータ送信要求がされないと判断した場合には、データ送信管理部12に対して通信確認データの送信要求を行なう。通信確認データとは、送信側計算機1と受信側計算機2との間で正常にデータ通信がなされているか否かを確認するために用いられるデータである。
【0110】
送信側計算機1から送信されたデータは、受信側セッション管理部4に設けられる受信データ判別部35により、その種別が識別される。データの種別とは、通常のデータまたは通信確認データである。
【0111】
データ受信管理部15は、受信したデータが通常のデータであると判別した場合には、データ受信有無バッファ33に“データ受信あり”の情報を書き込み、データをデータ受信用アプリケーション8に転送する。データ受信管理部15は、データが、通信確認データであると判別した場合には、データ受信有無バッファ33に“データ受信あり”の情報を書き込み、通信確認データを破棄する。
【0112】
受信セッション管理部14は、データ受信用アプリケーション8によるセッション開始要求にしたがって、セッション管理表92で定義されるセッション監視用タイムアウト時間を読出した後に、データ受信有無バッファ33を参照して、監視用タイムアウト時間内にデータ受信管理部15がデータを受信したかどうかを監視する。
【0113】
監視タイムアウト時間内にデータの受信がなされたと判別された場合には、通信状態バッファ34に“通信継続”の情報を書き込み、時間内にデータの受信がなさなかったと判別された場合には、通信状態バッファ34に“通信中断”の情報を書き込む。
【0114】
次に、前記第7の実施の形態にしたがったデータ通信システムによる動作を、図19を参照して説明する。同図において、図5に示した処理と同一の処理には同一のステップ名を付している。
まず、前記第1の実施形態と同様に、送信側計算機1では、セッション管理表91によりセッション名、およびその他の通信設定情報を定義し、データ送信用アプリケーション7によるセッション開始要求後、図5に示したステップS2,S3と同様にセッション管理表91の参照および送信側ソケット管理部5の生成を行なう。ただし、送信セッション管理部11は、セッション開始要求にしたがって、セッション管理表91から、監視用タイムアウト時間を読み出して、カウントを開始する。
【0115】
また、受信側計算機2では、セッション管理表92を参照して通信ポート番号を決定し、データ受信用アプリケーション8によるセッション開始要求後、図5に示したステップS9,S10と同様にセッション管理表92の参照および受信側ソケット管理部6の生成を行なう。ただし、受信セッション管理部14は、セッション開始要求にしたがって、セッション管理表92から、監視用タイムアウト時間を読み出して、カウントを開始する。
【0116】
送信側計算機1では、前述したステップS4,S5と同様に送信データ格納および送信要求を実行し、データ送信管理部12は、データ送信を行なうと(ステップS6)、“データ送信あり”の情報を、データ送信有無バッファ32に書き込む(ステップS46)。送信セッション管理部11は、監視用タイムアウト時間のカウントと並行して、データ送信有無バッファ32を監視し、データ送信管理部12が、監視用タイムアウト時間内にデータ送信を行ったか否かを判別する。この判別は、データ送信有無バッファ32に、“データ送信あり”の情報が記憶されているか否かにより判別する。
【0117】
この判別の結果、監視用タイムアウト時間が経過してもデータが送信されていないと判別された場合には、送信セッション管理部11は、データ送信管理部12に対して、通信確認データの送信を要求する(ステップS47→S48)。データ送信管理部12は、この要求にしたがって、通信確認データを生成し、これを送信側ソケット管理部5に転送する。すると、データ送信管理部12は、“データ送信あり”の情報を、データ送信有無バッファ32に書き込む(ステップS49,S50)。
【0118】
データ受信部17によりデータが受信されると、このデータが受信データ判別部35に転送される。受信データ判別部35は、このデータのデータ種別を判別する。この結果、データが通常データであった場合には、これを受信データ格納用バッファ13に格納し、データ受信管理部15に制御信号を出力する(ステップS51のYES)。一方、データが通信確認データであった場合には、データを破棄し、データ受信管理部15に制御信号を出力する(ステップS51→S12)。
【0119】
データ受信管理部15は、受信データ判別部35による制御信号にしたがって、データ通信有無バッファ33に“データ受信有り”の情報を書き込む(ステップS53)。
【0120】
受信セッション管理部14は、データ受信有無バッファ33を参照し、この結果、“データ受信あり”の情報が書き込まれていた場合には、通信状態バッファ34に“通信継続”の情報を書き込む(ステップS56→S57)。一方、“データ受信あり”の情報が書き込まれていない場合には、受信セッション管理部14は、通信状態バッファ34に“通信中断”の情報を書き込む(ステップS56→S58)。
【0121】
データ受信管理部15は、通信状態バッファ34を参照し、この結果“通信継続”の情報が書き込まれている場合には、受信されたデータを受信格納用バッファ13より取り出して、これをデータ受信用アプリケーション8に転送する(ステップS54→S13)。一方、通信状態バッファ34を参照して、“通信中断”の情報が書き込まれている場合には、データ受信用アプリケーション8に“通信中断”の情報を転送する(ステップS54→S55)
このような構成によれば、送信側計算機1および受信側計算機2により、データの送信または受信が正常になされているか否かの判別を行なうことができるので、送受信状態の確認情報の送受信を行なわないコネクションレス型通信においても、データの受信状態を把握することができる。
【0122】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【0123】
【発明の効果】
以上説明したように、本発明によれば、データ送信用のアプリケーションは、複数の送信先に共通したセッション名に係る送信要求コマンドを生成し、このコマンドに基づいて複数の送信先に対するデータ送信が行なわれるようにしたので、一度の送信要求コマンド生成により、複数のコンピュータにデータを送信することができるので、アプリケーションの処理を簡略化して、高信頼なデータ配信を行なうことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態にしたがったデータ通信システムの全体構成図。
【図2】図1に示した送信側計算機1および受信側計算機2の内部構成を示す図。
【図3】図1に示した送信側計算機1で用いられるセッション管理表91の一例を示す図。
【図4】図1に示した受信側計算機2で用いられるセッション管理表92の一例を示す図。
【図5】本発明の第1の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図6】本発明の第2の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図7】本発明の第2の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図8】本発明の第3の実施形態にしたがったデータ通信システムの送信側計算機1Aおよび受信側計算機2の内部構成を示す図。
【図9】本発明の第3の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図10】本発明の第4の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図11】本発明の第4の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図12】本発明の第5の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図13】本発明の第5の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図14】本発明の第6の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図15】本発明の第6の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【図16】本発明の第7の実施形態にしたがったデータ通信システムの送信側計算機1および受信側計算機2の内部構成を示す図。
【図17】図16に示した送信側計算機1で用いられるセッション管理表91の一例を示す図。
【図18】図16に示した受信側計算機2で用いられるセッション管理表92の一例を示す図。
【図19】本発明の第7の実施形態にしたがったデータ通信システムの処理内容を示すフローチャート。
【符号の説明】
1,1A,1B…送信側計算機、2…受信側計算機、3…送信側セッション管理部、4…受信側セッション管理部、5…送信側ソケット管理部、6…受信側ソケット管理部、7…データ送信用アプリケーション、8…データ受信用アプリケーション、9a,9b…セッション管理表メモリ、91,92…セッション管理表、10…送信データ格納用バッファ、11…送信セッション管理部、12…データ送信管理部、13…受信データ格納用バッファ、14…受信セッション管理部、15…データ受信管理部、16…データ送信部、17…データ受信部、18…データ格納部、19…送信データ取得部、20…バッファ監視部、21…受信データ取得部、22…データ組立部、23a,23b…セッション番号格納用バッファ、24…組立ウィンドウ枠バッファ、25…開始点、26…終了点、27…ウィンドウ枠管理部、28…データ再送部、29…再送要求受信部、30…組立監視部、31…再送要求送信部、32…データ送信有無バッファ、33…データ受信有無バッファ、34…通信状態バッファ、35…受信データ判別部。
Claims (8)
- ネットワーク上に配置された複数台のコンピュータにおいて、任意の送信側コンピュータと複数台の受信側コンピュータとの間でコネクションレス型のデータ通信を行なう方法であって、
前記送信側コンピュータは、
前記複数台の各受信側コンピュータの識別情報と、これら識別情報に共通する送信先共通情報とを対応付けて記憶する送信先情報記憶手段と、
前記各受信側コンピュータに送信するデータを記憶する送信データ記憶手段とを備え、
前記送信先情報記憶手段に記憶された送信先共通情報に基づいて、前記送信データ記憶手段に記憶されたデータを、前記送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに送信するデータ送信ステップ
を有することを特徴とするデータ通信方法。 - 前記送信側コンピュータは、さらに、
前記送信側コンピュータの送信データ記憶手段に記憶されたデータに、当該データの通信開始時刻に対応する識別情報を付与する通信開始時刻識別情報付与ステップを有し、
前記データ送信ステップでは、前記通信開始時刻識別情報を付与したデータを送信し、
前記受信側コンピュータは、
前記データ送信ステップにより送信されたデータを受信するデータ受信ステップと、
前記データ受信ステップにより受信したデータに付与された通信開始時刻識別情報に対応する通信開始時刻のうち最新の通信開始時刻を管理する通信開始時刻管理ステップと、
前記データ受信ステップにより受信したデータに付与された通信開始時刻識別情報に対応した通信開始時刻が、前記通信開始時刻管理ステップにより管理された通信開始時刻以後の通信開始時刻であった場合に、前記受信したデータを記憶させる受信データ記憶ステップと
を有することを特徴とする請求項1に記載のデータ通信方法。 - 前記送信側コンピュータにおける前記データ送信ステップでは、前記送信側コンピュータの送信データ記憶手段に記憶されたデータを多重化して送信し、
前記送信側コンピュータは、さらに、
前記多重化されて送信されたデータをそれぞれ受信するデータ受信ステップと、
このデータ受信ステップにより受信した多重化データのうち、最初に受信したデータを記憶させる受信データ記憶ステップと
を有することを特徴とする請求項1に記載のデータ通信方法。 - 前記送信側コンピュータは、
前記送信データ記憶手段に記憶されたデータに、当該データの送信順を示す送信順識別情報を付与する送信順識別情報付与ステップを有し、
前記受信側コンピュータは、
前記送信順識別情報の所定の範囲を記憶する送信順範囲記憶手段を備え、
前記データ送信ステップにより送信されたデータを受信するデータ受信ステップと、
このデータ受信ステップにより受信したデータに付与された送信順識別情報が、前記送信順範囲記憶手段に記憶された送信順識別情報範囲に含まれる場合に、当該データを記憶させる受信データ記憶ステップと、
前記データ受信ステップにより受信したデータに付与された送信順識別情報が、前記送信順範囲記憶手段に記憶された送信順識別情報範囲の先頭に該当する場合に、前記送信順範囲記憶手段に記憶された送信順識別情報の範囲を更新するステップと
を有することを特徴とする請求項1に記載のデータ通信方法。 - 前記受信側コンピュータは、さらに、
前記データ送信ステップにより送信されたデータを受信するデータ受信ステップと、
このデータ受信ステップにより受信したデータの容量に対応した所定の時間を設定する時間設定ステップと、
前記データ送信ステップにより送信されたデータの受信が前記データ受信ステップにより開始された場合に、計時を開始する計時ステップと、
この計時ステップにて計時された時間が前記時間設定ステップにより設定された時間に到達した場合に、前記データ受信ステップにて受信されるデータの受信が完了しない場合は、このデータの再送信を前記送信側のコンピュータに要求する再送信要求ステップと
を有し、
前記送信側コンピュータは、さらに、
前記再送信要求ステップにより再送信が要求された場合に、前記送信先情報記憶手段に記憶された送信先共通情報に基づいて、前記送信データ記憶手段に記憶されたデータを、
前記送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに再送信する再送信ステップと
を有することを特徴とする請求項1に記載のデータ通信方法。 - 前記送信側コンピュータは、さらに、
前記送信データ記憶手段に記憶されたデータが、前記データ送信ステップにより前記受信側コンピュータに送信されたか否かを判別する送信可否判別ステップと、
この送信可否判別ステップにより、前記送信データ記憶手段に記憶されたデータが送信されなかったと判別された場合に、通信状態確認用データを生成して、前記受信側コンピュータに送信する通信状態確認ステップと
を有し、
前記受信側コンピュータは、さらに、
前記データ送信ステップまたは前記通信状態確認ステップにより送信されたデータを受信するデータ受信ステップと、
前記データ受信ステップによりデータが受信されたか否かを判別する受信可否判別ステップと、
この受信可否判別ステップによる判別結果を通知する通知ステップと
を有することを特徴とする請求項1に記載のデータ通信方法。 - ネットワーク上に配置された複数台のコンピュータにおいて、任意の送信側コンピュータと複数台の受信側コンピュータとの間でコネクションレス型のデータ通信を行なうデータ通信システムであって、
前記送信側コンピュータは、
前記複数台の各受信側コンピュータの識別情報と、これら識別情報に共通する送信先共通情報とを対応付けて記憶する送信先情報記憶手段と、
前記受信側コンピュータに送信するデータを記憶する送信データ記憶手段と、
前記送信先情報記憶手段に記憶された送信先共通情報に基づいて、前記送信データ記憶手段に記憶されたデータを、前記送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに送信するデータ送信手段と
を備えたことを特徴とするデータ通信システム。 - ネットワーク上に配置された複数台のコンピュータにおいて、任意の送信側コンピュータと複数台の受信側コンピュータとの間でコネクションレス型のデータ通信に用いるプログラムであって、
前記送信側コンピュータを、
前記複数台の各受信側コンピュータの識別情報と、これら識別情報に共通する送信先共通情報とを対応付けて管理する送信先情報管理手段と、
記憶媒体に記憶されたデータを、前記送信先情報管理手段により管理された送信先共通情報に基づいて、前記送信先管理手段により管理される送信先共通情報に含まれる各識別情報に対応する受信側コンピュータに送信するデータ送信手段と
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003096896A JP2004303041A (ja) | 2003-03-31 | 2003-03-31 | データ通信方法、データ通信システムおよびそのためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003096896A JP2004303041A (ja) | 2003-03-31 | 2003-03-31 | データ通信方法、データ通信システムおよびそのためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004303041A true JP2004303041A (ja) | 2004-10-28 |
Family
ID=33408819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003096896A Pending JP2004303041A (ja) | 2003-03-31 | 2003-03-31 | データ通信方法、データ通信システムおよびそのためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004303041A (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10285162A (ja) * | 1997-04-10 | 1998-10-23 | Nippon Telegr & Teleph Corp <Ntt> | グループ通信方法及びシステム |
JP2001168861A (ja) * | 1999-12-14 | 2001-06-22 | Fujitsu Ltd | マルチキャストシステム、マルチキャストグループ管理装置、マルチキャストグループ管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2001339434A (ja) * | 2000-05-29 | 2001-12-07 | Ishikawajima Harima Heavy Ind Co Ltd | データ通信方法 |
-
2003
- 2003-03-31 JP JP2003096896A patent/JP2004303041A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10285162A (ja) * | 1997-04-10 | 1998-10-23 | Nippon Telegr & Teleph Corp <Ntt> | グループ通信方法及びシステム |
JP2001168861A (ja) * | 1999-12-14 | 2001-06-22 | Fujitsu Ltd | マルチキャストシステム、マルチキャストグループ管理装置、マルチキャストグループ管理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2001339434A (ja) * | 2000-05-29 | 2001-12-07 | Ishikawajima Harima Heavy Ind Co Ltd | データ通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8675472B2 (en) | Method and apparatus for network management system | |
JP4515800B2 (ja) | メッセージ交換システムにおける可用性および拡張性をアプリケーションに透過的に向上させる方法 | |
US7627653B2 (en) | Method and apparatus for distributing computer files across a network | |
RU2363040C2 (ru) | Доставка сообщений между двумя конечными пунктами с конфигурируемыми гарантиями и признаками | |
US6098180A (en) | Robust delivery system | |
US7644230B1 (en) | Dynamic load management of network memory | |
CA2547829C (en) | Improved distributed kernel operating system | |
KR101365838B1 (ko) | 개선된 분산형 커널 운영 시스템 | |
CN102201977B (zh) | 批量数据传输 | |
US9424325B2 (en) | Recording medium, distribution controlling method, and information processing device | |
WO1991014230A1 (en) | Message communication processing system | |
EP2274898B1 (en) | Method for enabling faster recovery of client applications in the event of server failure | |
US7555558B1 (en) | Method and system for fault-tolerant transfer of files across a network | |
CN111147573A (zh) | 一种数据传输的方法和装置 | |
CN102136941A (zh) | 一种综合接入设备备份数据方法、设备以及系统 | |
US7817572B2 (en) | Communications apparatus and communication method | |
JP3415027B2 (ja) | データ通信装置及びデータ通信方法 | |
JP2003304273A (ja) | パケット中継装置、パケット中継プログラム、およびパケット中継方法 | |
JP2004303041A (ja) | データ通信方法、データ通信システムおよびそのためのプログラム | |
CN113612737A (zh) | 一种基于分组与重传机制的长报文可靠传输方法 | |
JP2000057075A (ja) | データ通信装置、データ通信方法及びそれらのプログラム記憶媒体 | |
CN116389457A (zh) | 跨域数据传输方法、系统及存储介质 | |
JP2000151700A (ja) | メッセージの転送方法 | |
JP2005033242A (ja) | メッセージ送受信装置の復旧システム及び方法 | |
JP2000115282A (ja) | データ再送制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050406 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080520 |