(57)【要約】【課題】データを迅速に宛先に送信することができ、しかも再送の必要なパケットが存在した場合にはこれについても迅速に対処可能な送信装置、データ転送システム、データ転送方法およびデータ転送プログラムを得ること。【解決手段】ＵＤＰ通信データ送信部１２４は、ＵＤＰ通信でパケットデータを図示しないクライアント端末に送信し、その記録を送信済リスト格納部１２７に格納する。また、クライアント端末が受信した旨を記したデータをＵＤＰ通信データ受信部１２５で受信し、その記録を受信済リスト格納部１２８に格納する。データ整合部１２６はこれらのデータをチェックして、必要なパケットをＵＤＰ通信データ送信部１２４から再送する。【選択図】図３
2009212796.tif 000002
【特許請求の範囲】
【請求項１】
通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、
このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録手段と、
前記パケットデータ送信手段によって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録手段と、
前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、
この不達送信データ抽出手段によって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信手段
とを具備することを特徴とする送信装置。
【請求項２】
前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報をこれら送信データ特定情報記録手段および受信データ特定情報記録手段から消去する消去手段を具備し、前記不達送信データ抽出手段は、この消去手段によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項１記載の送信装置。
【請求項３】
通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を前記宛先とは異なる所定のサーバに送信する送信データ特定情報送信手段と、前記所定のサーバから再送を必要とするパケットデータが通知されたときこれを前記宛先に再送するパケットデータ再送手段とを備えた送信装置と、
前記宛先として、前記送信装置からパケットデータが送られてきたときこれを受信する受信手段と、この受信手段がパケットデータを受信するたびに受信したパケットデータを特定する受信データ特定情報を前記所定のサーバに送信する受信データ特定情報送信手段とを備えたクライアント端末と、
前記所定のサーバであって、前記送信装置の送信データ特定情報送信手段から前記送信データ特定情報が送られてきたときこれを受信する送信データ特定情報受信手段と、この送信データ特定情報受信手段の受信した送信データ特定情報を順次記録する送信データ特定情報記録手段と、前記クライアント端末の受信データ特定情報送信手段から前記受信データ特定情報が送られてきたときこれを受信する受信データ特定情報受信手段と、この受信データ特定情報受信手段の受信した受信データ特定情報を順次記録する受信データ特定情報記録手段と、前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、この不達送信データ抽出手段によって抽出された送信データ特定情報を前記所定のサーバから再送を必要とするパケットデータを特定する情報として前記送信装置に送信する再送パケットデータ通知手段とを備えたデータベースサーバ
とを具備することを特徴とするデータ転送システム。
【請求項４】
前記データベースサーバは、前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報をこれら送信データ特定情報記録手段および受信データ特定情報記録手段から消去する消去手段を具備し、前記不達送信データ抽出手段は、この消去手段によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項３記載のデータ転送システム。
【請求項５】
通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信ステップと、
このパケットデータ送信ステップによって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録ステップと、
前記パケットデータ送信ステップによって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録ステップと、
前記送信データ特定情報記録ステップと前記受信データ特定情報記録ステップの双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出ステップと、
この不達送信データ抽出ステップによって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信ステップ
とを具備することを特徴とするデータ転送方法。
【請求項６】
前記送信データ特定情報記録ステップと前記受信データ特定情報記録ステップの双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報を消去する消去ステップを具備し、前記不達送信データ抽出ステップでは、この消去ステップによって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項５記載のデータ転送方法。
【請求項７】
パケットデータの送信を行う送信装置のコンピュータに、
通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくパケットデータの送信を開始するパケットデータ送信処理と、
このパケットデータ送信処理によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録処理と、
前記パケットデータ送信処理によって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録処理と、
前記送信データ特定情報記録処理と前記受信データ特定情報記録処理の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出処理と、
この不達送信データ抽出処理によって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信処理
とを実行させることを特徴とするデータ転送プログラム。
【請求項８】
前記送信データ特定情報記録処理と前記受信データ特定情報記録処理の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報を消去する消去処理を更に実行させ、前記不達送信データ抽出処理では、この消去処理によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項７記載のデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、データ転送システム、データ転送方法およびデータ転送プログラムに係わり、特に簡易にデータを送信し再送も可能にした送信装置、データ転送システム、データ転送方法およびデータ転送プログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴って、インターネットのプロトコルを基盤としたデータ通信が盛んに行われている。このようなデータ通信の代表的なものが、ＴＣＰ（Transmission Control Protocol）通信とＵＤＰ（User Datagram Protocol）通信の２種類である。
【０００３】
図２１は、ＴＣＰ通信の概要を表わしたものである。データの送信端末５０１は、データの受信端末５０２に対して、まず「接続しても良いですか？」と、接続の許可を求める（ステップＳ６０１）。すると、受信端末５０２は、接続可能な状態であれば、「良いですよ。こちらからも良いですか？」という応答と、双方向のデータ通信の許可を求める（ステップＳ６０２）。これに対して、送信端末５０１が「良いですよ。」と、双方向のデータ通信を許可すると（ステップＳ６０３）、送信端末５０１側からデータの送信が行われる（ステップＳ６０４）。受信端末５０２はデータの受け取りを確認して、「データ受け取りました。」という返信を送信端末５０１側に返すことになる（ステップＳ６０５）。
【０００４】
このようにＴＣＰ通信では、コネクションの確立のために３ハンドシェイク（3-way handshake）という手順が採られる（ステップＳ６０１〜ステップＳ６０３）。これにより、信頼性の高い通信が可能になる。
【０００５】
図２２は、ＵＤＰ通信の場合を示したものである。ＵＤＰ通信では、送信端末５０１が受信端末５０２に対して次々とデータを送信するだけである（ステップＳ６２１、ステップＳ６２２、……）。
【０００６】
このため、ＴＣＰ通信とＵＤＰ通信を比較すると、ＴＣＰ通信では、実データの送信以外の通信回数が増加し、データ送信が低速化するという問題がある。これに対してＵＤＰ通信の場合には、図２２に示すように受信端末５０２からのレスポンスが無い。したがって、たとえば受信端末５０２がデータの減衰を原因として、このデータ自体を破棄した場合でも、送信端末５０１はこのデータを再送信する仕組みを持たない。この結果、データ送信の信頼性が低下するという問題がある。
【０００７】
そこで、通信先とハンドシェイクを行うことなく、複数のパケットデータを一連のストリームとして通信先に送信し、受信側ではこのストリームの最後に送達確認情報を発信元に返送することが、本発明の第１の関連技術として提案されている（たとえば特許文献１参照）。この第１の関連技術では、ストリームごとに送信状況リストを作成する。このリストに示される受信状況には「未送信」、「送信済」、「再送要」の３種類がある。「未送信」は送信局が当該パケットデータをまだ送信していないことを示す。「送信済」は送信局が当該パケットデータを送信したが、再送が必要か否かが不明なことを示す。「再送要」は受信局が当該パケットデータの受信に失敗したため再送が必要なことを示す。
【０００８】
また、複数のデータ・パケットからマクロパケットを作成して、所定の再送プロトコルを含むＵＤＰモードでこのマクロパケットの送信を行うことが本発明の第２の関連技術として提案されている（たとえば特許文献２参照）。この第２の関連技術では、送信用のバッファ内のデータが所定の量に達すると、マクロパケット送信器が、ネットワークに対して、ＵＤＰヘッダ、続いて所定のヘッダ、６４キロバイトまでのデータ、およびデータグラム全体のチェックサムを出力する。マクロパケット送信器は、プロセッサからの要求に応答して、マクロパケットのシーケンス番号が付与された特定のマクロパケットを再送することができるようになっている。
【０００９】
更に、サーバが、大容量データを基本配送手順を複数回利用して分割配送し、個々の配送の成否を管理し、配送に失敗した配送について再送することが本発明の第３の関連技術として提案されている（たとえば特許文献３参照）。この第３の関連技術では、サーバがブロック単位の基本配送処理を行い、１回のブロック配送が終わるたびに、配送の成否を記録するためのブロック管理テーブルを設ける。また、端末側においても基本配送手順をブロック単位で実行し、ブロック受信完了ごとに、配送の成否を記録するためのブロック管理テーブルを設ける。サーバおよび端末は、各ブロックに配送の成否を記録して参照し、サーバから端末へに配送失敗のブロックを配送することになる。
【特許文献１】再表０３−０２８３１４号公報（第９ページ第２６行目〜第２９行目、表１）
【特許文献２】特開２００６−１７４４４６号公報（第００４２段落〜第００４４段落、第００４７段落、図１）
【特許文献３】特開平０９−２６６４９４号公報（第００２５段落、第００２６段落、第００３５段落、図４）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、第１の関連技術では、複数のパケットデータを一連のストリームとして通信先に送信するので、再送を必要とするパケットがその途中に含まれていても、これに関わらずストリームの送信が継続される。したがって、受信側では一連のストリームを保持しておき、再送されたパケットを組み替えるまで、これら複数のパケットデータを受信データとして使用することができない。第２の関連技術では、複数のデータ・パケットからマクロパケットを作成して送信するので、同様の問題を有する。
【００１１】
また、第１の関連技術では、ストリームの最後に発信元に送達確認情報を返送する。したがって、この送達確認情報の返送に失敗すると、一連のストリームを構成する複数のパケットデータについての「未送信」、「送信済」、「再送要」の３種類の判定自体が不可能になる。
【００１２】
一方、第２の関連技術では、複数のデータ・パケットからマクロパケットを作成する処理が必要であるだけでなく、再送プロトコルでは、マクロパケットを受信して、ＣＲＣ（Cyclic Redundancy Check）およびシーケンス番号を調べる。そして、この結果、マクロパケットが紛失していたり、あるいは誤りを含んでいる場合には、マクロパケットを単位としてその再送を要求する。このように第２の関連技術では、再送もマクロパケットを単位として行うことになり、効率的な再送処理を行うことができない。
【００１３】
第３の関連技術では、ブロックをパケットとして送信し、これらブロック単位で再送の要否を判別するようにしている。しかしながら、この第３の関連技術でも、最後のブロックの配送後、記録された配送結果を参照して、未配送のブロックがある場合には、当該ブロックの再送を行うようにしている。このため、迅速な再送処理を行うことができない。
【００１４】
そこで本発明の目的は、データを迅速に宛先に送信することができ、しかも再送の必要なパケットが存在した場合にはこれについても迅速に対処可能な送信装置、データ転送システム、データ転送方法およびデータ転送プログラムを提供することにある。
【課題を解決するための手段】
【００１５】
本発明では、（イ）通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、（ロ）このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録手段と、（ハ）前記したパケットデータ送信手段によって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録手段と、（ニ）前記した送信データ特定情報記録手段と前記した受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、（ホ）この不達送信データ抽出手段によって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信手段とを送信装置に具備させる。
【００１６】
また、本発明では、（イ）通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を前記した宛先とは異なる所定のサーバに送信する送信データ特定情報送信手段と、前記した所定のサーバから再送を必要とするパケットデータが通知されたときこれを前記した宛先に再送するパケットデータ再送手段とを備えた送信装置と、（ロ）前記した宛先として、前記した送信装置からパケットデータが送られてきたときこれを受信する受信手段と、この受信手段がパケットデータを受信するたびに受信したパケットデータを特定する受信データ特定情報を前記した所定のサーバに送信する受信データ特定情報送信手段とを備えたクライアント端末と、（ハ）前記した所定のサーバであって、前記した送信装置の送信データ特定情報送信手段から前記した送信データ特定情報が送られてきたときこれを受信する送信データ特定情報受信手段と、この送信データ特定情報受信手段の受信した送信データ特定情報を順次記録する送信データ特定情報記録手段と、前記したクライアント端末の受信データ特定情報送信手段から前記した受信データ特定情報が送られてきたときこれを受信する受信データ特定情報受信手段と、この受信データ特定情報受信手段の受信した受信データ特定情報を順次記録する受信データ特定情報記録手段と、前記した送信データ特定情報記録手段と前記した受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、この不達送信データ抽出手段によって抽出された送信データ特定情報を前記した所定のサーバから再送を必要とするパケットデータを特定する情報として前記した送信装置に送信する再送パケットデータ通知手段とを備えたデータベースサーバとをデータ転送システムに具備させる。
【００１７】
更に本発明では、（イ）通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信ステップと、（ロ）このパケットデータ送信ステップによって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録ステップと、（ハ）前記したパケットデータ送信ステップによって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録ステップと、（ニ）前記した送信データ特定情報記録ステップと前記した受信データ特定情報記録ステップの双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出ステップと、（ホ）この不達送信データ抽出ステップによって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信ステップとをデータ転送方法に具備させる。
【００１８】
また、本発明では、パケットデータの送信を行う送信装置のコンピュータに、データ転送プログラムとして、（イ）通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくパケットデータの送信を開始するパケットデータ送信処理と、（ロ）このパケットデータ送信処理によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録処理と、（ハ）前記したパケットデータ送信処理によって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録処理と、（ニ）前記した送信データ特定情報記録処理と前記した受信データ特定情報記録処理の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出処理と、（ホ）この不達送信データ抽出処理によって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信処理とを実行させることを特徴としている。
【発明の効果】
【００１９】
以上説明したように本発明によれば、クライアント端末に通信するパケットデータごとに送受信内容を比較して再送の要否を判別することができる。したがって、再送の必要なパケットデータの存在を早期に判別し再送信することができるので、少ないバッファメモリを用いるだけで時間的に連続したデータを信頼性よく再現することができる。また、同一のサーバあるいは装置内で送受信内容を比較するので、比較処理だけでなく、処理済みのデータの消去処理を簡単に行うことができる。
【発明を実施するための最良の形態】
【００２０】
次に本発明の実施の形態を説明する。
【００２１】
＜第１の実施の形態＞
【００２２】
図１は、本発明の第１の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム１００では、クライアント端末１０１とサーバ１０２とが、ネットワーク１０３を介して接続されている。ここで、クライアント端末１０１は、携帯電話機、ＰＨＳ（Personal Handyphone System）、通信機能を持ったＰＤＡ（Personal Digital Assistants）やパーソナルコンピュータ等の情報処理装置である。ネットワーク１０３は、インターネットが代表的であるが、ＵＤＰ通信を行うことができれば、その種類を問わない。
【００２３】
図２は、本実施の形態におけるクライアント端末についてその要部の構成を表わしたものである。クライアント端末１０１は、ＣＰＵ（Central Processing Unit）１１１および制御プログラムを格納したメモリ１１２を有する主制御部１１３を備えている。主制御部１１３は、ＵＤＰ通信でパケットデータを送信するＵＤＰ通信データ送信部１１４と、ＵＤＰ通信でパケットデータを受信するＵＤＰ通信データ受信部１１５の制御を行うようになっている。また、制御プログラムの構成によっては、ＵＤＰ通信データ送信部１１４およびＵＤＰ通信データ受信部１１５をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
【００２４】
図３は、本実施の形態におけるサーバについてその要部の構成を表わしたものである。サーバ１０２は、ＣＰＵ１２１および制御プログラムを格納したメモリ１２２を有する主制御部１２３を備えている。主制御部１２３は、サーバ１０２内の各部と接続され、これらの制御を行うようになっている。このうち、ＵＤＰ通信データ送信部１２４は、ＵＤＰ通信でパケットデータを送信するモジュールであり、ＵＤＰ通信データ受信部１２５はＵＤＰ通信でパケットデータを受信するモジュールである。データ整合部１２６は、送信したＵＤＰ通信によるパケットデータと受信したＵＤＰ通信によるパケットデータを整合するモジュールである。送信済リスト格納部１２７はＵＤＰ通信で送信したデータを記録するリストであり、受信済リスト格納部１２８はＵＤＰ通信で受信したデータを記録するリストである。データ整合部１２６は、これらのリストに記録されたデータの整合を行う。なお、主制御部１２３のメモリ１２２に格納された制御プログラムの構成によっては、ＵＤＰ通信データ送信部１２４、ＵＤＰ通信データ受信部１２５およびデータ整合部１２６をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
【００２５】
図４は、以上のような構成のデータ転送システムでサーバがクライアント端末にＵＤＰ通信でパケットデータを送信する場合の処理の流れを表わしたものである。図３と共に説明する。
【００２６】
サーバ１０２の内部でパケットデータの送信要求が発生すると（ステップＳ２０１：Ｙ）、ＵＤＰ通信データ送信部１２４は主制御部１２３の指示に従って、送信先のクライアント端末１０１に対してＵＤＰ通信によって単位量のデータを送信する（ステップＳ２０２）。そして、送信済リスト格納部１２７に格納される送信済リストに、該当するデータが送信済みであると記録する（ステップＳ２０３）。このとき、送信するデータの量が多く、送信が複数回に分割して行われるような場合には、記録の際に送信済みのデータに連番を付したり、送信の行われた時刻データを付加するようにしておけば、再送の対象となるデータを把握することができる。
【００２７】
主制御部１２３は、現在送信を行ったクライアント端末１０１に対する全データの送信が終了したかを判別し（ステップＳ２０４）、終了していなければ（Ｎ）、ステップＳ２０２に戻ってＵＤＰ通信データ送信部１２４に対して残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップＳ２０４で全データの送信が終了したと判別されたとき（Ｙ）、サーバ１０２による１つのクライアント端末１０１に対するＵＤＰ通信による送信処理が終了する
【００２８】
図５は、図４で説明したサーバの送信に対するクライアント端末の受信処理の流れを表わしたものである。図２と共に説明する。クライアント端末１０１のＵＤＰ通信データ受信部１１５がＵＤＰ通信によるパケットデータを受信すると（ステップＳ２２１：Ｙ）、主制御部１１３はＵＤＰ通信データ送信部１１４に対してＵＤＰ通信による受信があったことを通知する（ステップＳ２２２）。ＵＤＰ通信データ送信部１１４は、この通知があると、サーバ１０２に対してＵＤＰ通信で、受信したその受信情報を転送する（ステップＳ２２３）。
【００２９】
図６は、この受信情報が送られてきたときのサーバ側の処理の様子を表わしたものである。図３と共に説明する。サーバ１０２の主制御部１２３はＵＤＰ通信データ受信部１２５が前記した図５のステップＳ２２３に基づく受信情報を受信すると（ステップＳ２４１：Ｙ）、受信済リスト格納部１２８に格納された受信済リストに対して、該当する受信情報を記録する（ステップＳ２４２）。
【００３０】
図７は、サーバによる送受信データの整合処理の様子を表わしたものである。図３と共に説明する。サーバ１０２の主制御部１２３は、予め管理者によって設定された一定時間が経過するたびに（ステップＳ２６１：Ｙ）、送信済リスト格納部１２７と受信済リスト格納部１２８の双方のリストを読み出す（ステップＳ２６２）。そして、その中に対応関係がとれる情報が存在した場合には、これらの対を両リストから消去する（ステップＳ２６３）。これは、ＵＤＰ通信でサーバ１０２から送信されたパケットがクライアント端末１０１で受信されたことが確認されたので、確認用として残しておく必要がないからである。
【００３１】
このようにして送受信の確認のとれた情報を消去した後、ＵＤＰ通信でサーバ１０２から送信されたにも関わらず、所定の時間が経っても受信確認がとれていないものがあれば（ステップＳ２６４：Ｙ）、主制御部１２３はＵＤＰ通信データ送信部１２４に対して該当するＵＤＰ通信によるパケットの再送信を要求する（ステップＳ２６５）。これを基にしてＵＤＰ通信データ送信部１２４はそのデータをＵＤＰ通信でクライアント端末１０１に対して再送信することになる。たとえば具体的には、あるデータが送信された時刻からクライアント端末１０１にこれが受信され、クライアント端末１０１がサーバ１０２に送信した場合の、このサーバ１０２に受信情報が到達するまでの遅延時間の予想最大値を超えても受信情報がサーバ１０２に到達しなかったとき、主制御部１２３はＵＤＰ通信データ送信部１２４に対してパケットの再送信を要求することになる。
【００３２】
以上のようなケースと異なり、ステップＳ２６４で未受信となっているものがなかった場合には（Ｎ）、サーバ１０２から送信されたパケットデータはすべてクライアント端末１０１に到達したことになる。この場合には、正常な結果なので、再送を要求することなくステップＳ２６１に処理が戻ることになる（リターン）。
【００３３】
以上説明した本実施の形態のデータ転送システム１００によれば、クライアント端末１０１およびサーバ１０２で、ＵＤＰ通信データ送信部１１４、１２４とＵＤＰ通信データ受信部１１５、１２５がそれぞれ同一装置内でモジュールとして独立している。したがって、ＴＣＰ通信と比較して、接続時やデータの整合性を検証するための時間を削減することができる。また、本実施の形態のデータ転送システム１００によれば、ＵＤＰ通信を使用し、しかも再送処理を実現したので、ＴＣＰ通信が使用不能な場合でも高信頼性の通信を実現することができる。更に、ＵＤＰ通信はコネクションレス型の通信であるため、クライアント端末１０１とサーバ１０２の独立性を保持することができる。
【００３４】
＜第２の実施の形態＞
【００３５】
図８は、本発明の第２の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム１００Ａでは、クライアント端末１０１Ａと、データベースサーバ１０４、データ送信用サーバ１０５およびデータ受信用サーバ１０６とが、ネットワーク１０３を介して接続されている。ここで、データベースサーバ１０４は、データの送受信に関する記録と整合処理を行うサーバである。また、データ送信用サーバ１０５はＵＤＰによる送信に特化したサーバであり、データ受信用サーバ１０６はＵＤＰによる受信に特化したサーバである。
【００３６】
また、クライアント端末１０１Ａは、データ送信用サーバ１０５からデータが送られてきたときにこれをデータ受信用サーバ１０６に転送する点を除けば、第１の実施の形態におけるクライアント端末１０１と同一である。そこで、クライアント端末１０１Ａの図示は省略する。
【００３７】
図９は、データベースサーバについてその要部の構成を表わしたものである。データベースサーバ１０４は、ＣＰＵ１３１および制御プログラムを格納したメモリ１３２を有する主制御部１３３を備えている。主制御部１３３は、データベースサーバ１０４内の各部と接続され、これらの制御を行うようになっている。このうち、通信制御部１３４は、図８に示したネットワーク１０３を介して各種のサーバやクライアント端末と通信を行うモジュールであり、データ整合部１３５は、送信済リスト格納部１３６に格納されたリストおよび受信済リスト格納部１３７に格納されたリストの整合を行うようになっている。なお、主制御部１３３のメモリ１３２に格納された制御プログラムの構成によっては、通信制御部１３４およびデータ整合部１３５をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
【００３８】
図１０は、データ送信用サーバについてその要部の構成を表わしたものである。データ送信用サーバ１０５は、ＣＰＵ１４１および制御プログラムを格納したメモリ１４２を有する主制御部１４３を備えている。主制御部１４３は、ＵＤＰ通信でパケットデータを送信するモジュールとしてのＵＤＰ通信データ送信部１４４および一般的な通信制御を行う通信制御部１４５の制御を行うようになっている。この主制御部１４３のメモリ１４２に格納された制御プログラムの構成によっては、ＵＤＰ通信データ送信部１４４および通信制御部１４５をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
【００３９】
図１１は、データ受信用サーバについてその要部の構成を表わしたものである。データ受信用サーバ１０６は、ＣＰＵ１５１および制御プログラムを格納したメモリ１５２を有する主制御部１５３を備えている。主制御部１５３は、ＵＤＰ通信でパケットデータを受信するモジュールとしてのＵＤＰ通信データ受信部１５４の制御を行うようになっている。この主制御部１５３のメモリ１５２に格納された制御プログラムの構成によっては、ＵＤＰ通信データ受信部１５４をハードウェアで構成する必要はなく、これをソフトウェア的な機能部として構成してもよい。
【００４０】
図１２は、以上のような構成のデータ転送システムでデータ送信用サーバがクライアント端末にＵＤＰ通信でパケットを送信する場合の処理の流れを表わしたものである。図８および図１０と共に説明する。また、図１２で図４と同一の処理が行われる部分には同一のステップ番号を付している。
【００４１】
データ送信用サーバ１０５の内部でパケットデータの送信要求が発生すると（ステップＳ２０１：Ｙ）、ＵＤＰ通信データ送信部１４４は主制御部１４３の指示に従って、送信先のクライアント端末１０１Ａに対してＵＤＰ通信によって単位量のデータを送信する（ステップＳ２０２）。そして、データベースサーバ１０４に対してこの送信が終了した情報を記録用送信情報として送信する（ステップＳ２８１）。このとき、送信するデータの量が多く、送信が複数回に分割して行われるような場合には、単位量のデータの送信が行われるたびに連番を付し、記録用送信情報にも同一の連番を付したり、送信の行われた時刻データを付加するようにしておけば、再送の対象となるデータを把握することができる。
【００４２】
主制御部１４３は、現在送信を行ったクライアント端末１０１Ａに対する全データの送信が終了したかを判別し（ステップＳ２０４）、終了していなければ（Ｎ）、ステップＳ２０２に戻ってＵＤＰ通信データ送信部１２４に対して残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップＳ２０４で全データの送信が終了したと判別されたとき（Ｙ）、データ送信用サーバ１０５による１つのクライアント端末１０１Ａに対するＵＤＰ通信による送信処理が終了する（リターン）。
【００４３】
図１３は、データ送信用サーバの送信に対するクライアント端末の受信処理の流れを表わしたものである。図２と共に説明する。また、図１３で図５と同一の処理が行われる部分には同一のステップ番号を付している。クライアント端末１０１ＡのＵＤＰ通信データ受信部１１５がＵＤＰ通信によるパケットデータを受信すると（ステップＳ２２１：Ｙ）、主制御部１１３はこのパケットの内容を受信情報としてＵＤＰ通信データ送信部１１４に転送する（ステップＳ２９１）。ＵＤＰ通信データ送信部１１４はこの受信情報を記録用受信情報として、データ受信用サーバ１０６に送信する（ステップＳ２９２）。
【００４４】
図１４は、データ受信用サーバの処理の様子を表わしたものである。図１１と共に説明する。データ受信用サーバ１０６は、クライアント端末１０１Ａから送られてきた記録用受信情報を受信すると（ステップＳ３０１：Ｙ）、これをデータベースサーバ１０４に対して送信する（ステップＳ３０２）。
【００４５】
図１５は、データベースサーバの処理の様子を表わしたものである。図９と共に説明する。また、図１５で図７と同一の処理が行われる部分には同一のステップ番号を付している。データベースサーバ１０４の主制御部１３３は、記録用送信情報が送られてくると（ステップＳ３１１：Ｙ）、通信制御部１３４からこの通知を受けて、送信済リスト格納部１３６の送信済リストに、該当するデータが送信済みである旨の記録を行う（ステップＳ３１２）。また、記録用受信情報が送られてきた場合には（ステップＳ３１１：Ｎ、ステップＳ３１３：Ｙ）、通信制御部１３４からこの通知を受けて、受信済リスト格納部１３７の受信済リストに、該当するデータが受信済みである旨の記録を行う（ステップＳ３１４）。このようにして、クライアント端末１０１ＡにおけるＵＤＰ通信の様子が送信済リストと受信済リストに記録されていく。
【００４６】
データベースサーバ１０４の主制御部１３３は、ある時刻から一定時間が順次経過するのを待機している（ステップＳ３１５）。そして、その一定時間が経過するたびに（Ｙ）、送信済リスト格納部１３６と受信済リスト格納部１３７の双方のリストを読み出す（ステップＳ２６２）。そして、その中に対応関係がとれる情報が存在した場合には、これらの対を双方のリストから消去する（ステップＳ２６３）。これは、ＵＤＰ通信でデータ送信用サーバ１０５から送信されたパケットデータがクライアント端末１０１で受信されたことが確認されたので、確認用として残しておく必要がないからである。
【００４７】
このようにして送受信の確認のとれた情報を消去した後、ＵＤＰ通信でデータ送信用サーバ１０５から送信されたにも関わらず、所定の時間が経っても受信確認がとれていないものがあれば（ステップＳ２６４：Ｙ）、主制御部１３３はデータ送信用サーバ１０５に該当するパケットデータの再送信を指示する（ステップＳ３１６）。これとは異なり、ステップＳ２６４で未受信となっているものがなかった場合には（Ｎ）、正常な結果なので、再送を要求することなくステップＳ３１１に処理が戻ることになる（リターン）。
【００４８】
図１６は、データ送信用サーバによる再送処理の様子を表わしたものである。図１０と共に説明する。また、図１６で図１２と同一処理を行う部分には同一のステップ番号を付している。通信制御部１４５がデータベースサーバ１０４から再送指示を受信すると（ステップＳ３３１：Ｙ）、主制御部１４３はＵＤＰ通信データ送信部１４４に再送の指示のあったパケットデータの再送を行わせる（ステップＳ３３２）。その後は、この再送したパケットデータの管理を行うために、送信が終了した情報を記録用送信情報としてデータベースサーバ１０４に送信する（ステップＳ２８１）。主制御部１４３は、現在送信を行ったクライアント端末１０１Ａに対する再送のための全データの送信が終了したかを判別し（ステップＳ２０４）、終了していなければ（Ｎ）、ステップＳ３３２に戻ってＵＤＰ通信データ送信部１２４に対して再送が必要な残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップＳ２０４で再送のための全データの送信が終了したと判別されたとき（Ｙ）、データ送信用サーバ１０５による１つのクライアント端末１０１Ａに対するＵＤＰ通信による送信処理が終了する（リターン）。
【００４９】
以上説明した第２の実施の形態によるデータ転送システム１００Ａによれば、第１の実施の形態で用意されるサーバが１種類だけだったのに対して、３種類のサーバを用意することにした。このようにサーバが機能ごとに分化しているので、それぞれのサーバは同一の処理に専念することができる。したがって、ＣＰＵやメモリといった物理リソースを効果的に使用することができる。また、同一のサーバに送信用モジュールと受信用モジュールを配置した場合には、第１の実施の形態と同様の効果を得ることができる。
【００５０】
＜第３の実施の形態＞
【００５１】
図１７は、本発明の第３の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム１００Ｂでは、第１〜第ｍのクライアント端末１０１1〜１０１mと、配信サーバ１０７および比較再送サーバ１０８とが、ネットワーク１０３を介して接続されている。ここで、配信サーバ１０７は、たとえば動画をマルチキャスト配信で同時に多くの家庭に送信するサーバである。比較再送サーバ１０８は、ＵＤＰ通信で配信サーバ１０７から送信された個々のパケットデータを第１〜第ｍのクライアント端末１０１1〜１０１mから得られる受信したパケットデータと比較して、再送の必要なパケットデータを該当するクライアント端末１０１に再送するサーバである。
【００５２】
図１８は、この第３の実施の形態における配信サーバについてその要部の構成を表わしたものである。なお、第１〜第ｍのクライアント端末１０１1〜１０１m（図１７）については図２に示したクライアント端末１０１と同様の構成となっているので、その図示および説明を省略する。
【００５３】
配信サーバ１０７は、ＣＰＵ１６１および制御プログラムを格納したメモリ１６２を有する主制御部１６３を備えている。主制御部１６３は、ＵＤＰ通信でパケットデータを送信するモジュールとしてのＵＤＰマルチキャストデータ送信部１６４の制御を行うようになっている。この主制御部１６３のメモリ１６２に格納された制御プログラムの構成によっては、ＵＤＰマルチキャストデータ送信部１６４をハードウェアで構成する必要はなく、その一部または全部をソフトウェア的な機能部として構成してもよい。ＵＤＰマルチキャストデータ送信部１６４は、図１７に示した第１〜第ｍのクライアント端末１０１1〜１０１mだけでなく、比較再送サーバ１０８に対してもマルチキャストデータを送信する。
【００５４】
図１９は、この第３の実施の形態における比較再送サーバについてその要部の構成を表わしたものである。比較再送サーバ１０８は、ＣＰＵ１７１および制御プログラムを格納したメモリ１７２を有する主制御部１７３を備えている。主制御部１７３は、ＵＤＰマルチキャストデータ送信部１７４、ＵＤＰマルチキャストデータ受信部１７５、データ整合部１７６、送信済リスト格納部１７７、受信済リスト格納部１７８およびパケットデータ格納部１７９の制御を行うようになっている。この主制御部１７３のメモリ１７２に格納された制御プログラムの構成によっては、ＵＤＰマルチキャストデータ送信部１７４、ＵＤＰマルチキャストデータ受信部１７５あるいはデータ整合部１７６をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
【００５５】
図２０は、本実施の形態のデータ転送システムにおける各装置の通信の様子を表わしたものである。図１８および図１９と共に説明する。
【００５６】
配信サーバ１０７は、配信の対象となるパケットデータをＵＤＰ通信で矢印１８１で示すように、宛先としての第１〜第ｍのクライアント端末１０１1〜１０１mに一斉に送信する。このとき、矢印１８２で示すように比較再送サーバ１０８にも同一のパケットデータを順次送信する。比較再送サーバ１０８はこれを基にして、受信済リスト格納部１７８に送信データ特定情報をパケット単位で記録すると共に、パケットデータ格納部１７９にこれらのパケットを格納する。
【００５７】
一方、第１〜第ｍのクライアント端末１０１1〜１０１mは、図２に示したＵＤＰ通信データ送信部１１４がそれぞれ受信したパケットデータを特定するための受信データ特定情報を自身のクライアント端末１０１1〜１０１mを示すＩＤ（identifier）と共に比較再送サーバ１０８に送信する。比較再送サーバ１０８では、これを受信済リスト格納部１７８に格納する。
【００５８】
データ整合部１７６は、第１〜第ｍのクライアント端末１０１1〜１０１mごとに送信データ特定情報と受信データ特定情報をチェックして、対のものがあればそれぞれのリストから消去する。このとき、第１〜第ｍのクライアント端末１０１1〜１０１mのすべてについて送受信が完了したパケットデータは、パケットデータ格納部１７９から消去する。そして、消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する。これら不達送信データについては、ＵＤＰマルチキャストデータ送信部１７４がパケットデータ格納部１７９から取り出して、第１〜第ｍのクライアント端末１０１1〜１０１mのうちの該当する宛先にＵＤＰ通信で送信されることになる。
【００５９】
なお、第１〜第３の実施の形態では、各種の機能のサーバを示したが、本発明の原理を実現するその他のサーバも本発明の各種の変形として実現可能であることは当然である。また、一方のサーバあるいは装置に格納された送信済リストあるいは受信済リストを定期的にＳＧ値（System Generation値）に従って、システムの定めた間隔で１か所のサーバに送り、ここで比較を行うようにしてもよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の第１の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。
【図２】第１の実施の形態でクライアント端末の構成の要部を示すブロック図である。
【図３】第１の実施の形態でサーバの構成の要部を示すブロック図である。
【図４】第１の実施の形態でサーバがクライアント端末にＵＤＰ通信でパケットを送信する場合の処理を示す流れ図である。
【図５】第１の実施の形態でクライアント端末の受信処理を示す流れ図である。
【図６】第１の実施の形態で受信情報が送られてきたときのサーバ側の処理の様子を表わした流れ図である。
【図７】第１の実施の形態でサーバによる送受信データの整合処理の様子を表わした流れ図である。
【図８】本発明の第２の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。
【図９】第２の実施の形態によるデータベースサーバの要部の構成を表わしたブロック図である。
【図１０】第２の実施の形態によるデータ送信用サーバについてその要部の構成を表わしたブロック図である。
【図１１】第２の実施の形態によるデータ受信用サーバについてその要部の構成を表わしたブロック図である。
【図１２】第２の実施の形態でデータ送信用サーバがクライアント端末にパケットを送信する場合の処理を表わした流れ図である。
【図１３】第２の実施の形態でデータ送信用サーバの送信に対するクライアント端末の受信処理を表わした流れ図である。
【図１４】第２の実施の形態でデータ受信用サーバの処理の様子を表わした流れ図である。
【図１５】第２の実施の形態でデータベースサーバの処理の様子を表わした流れ図である。
【図１６】第２の実施の形態でデータ送信用サーバによる再送処理の様子を表わした流れ図である。
【図１７】本発明の第３の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。
【図１８】第３の実施の形態における配信サーバについてその要部の構成を表わしたブロック図である。
【図１９】第３の実施の形態における比較再送サーバについてその要部の構成を表わしたブロック図である。
【図２０】第３の実施の形態のデータ転送システムにおける各装置の通信の様子を表わした説明図である。
【図２１】ＴＣＰ通信の概要を表わした説明図である。
【図２２】ＵＤＰ通信の概要を表わした説明図である。
【符号の説明】
【００６１】
１００、１００Ａ、１００Ｂ  データ転送システム
１０１、１０１Ａ  クライアント端末
１０２  サーバ
１０３  ネットワーク
１０４  データベースサーバ
１０５  データ送信用サーバ
１０６  データ受信用サーバ
１０７  配信サーバ
１０８  比較再送サーバ
１１１、１２１、１３１、１４１、１５１、１６１、１７１  ＣＰＵ
１１２、１２２、１３２、１４２、１５２、１６２、１７２  メモリ
１１３、１２３、１３３、１４３、１５３、１６３、１７３  主制御部
１１４、１２４、１４４  ＵＤＰ通信データ送信部
１１５、１２５、１４５  ＵＤＰ通信データ受信部
１２６、１３５、１７６  データ整合部
１２７、１３６、１７７  送信済リスト格納部
１２８、１３７、１７８  受信済リスト格納部
１３４、１４５  通信制御部
１６４  ＵＤＰマルチキャストデータ送信部
１７４  ＵＤＰマルチキャストデータ送信部
１７５  ＵＤＰマルチキャストデータ受信部
１７９  パケットデータ格納部
【図１】
2009212796.tif 000003
【図２】
2009212796.tif 000004
【図３】
2009212796.tif 000005
【図４】
2009212796.tif 000006
【図５】
2009212796.tif 000007
【図６】
2009212796.tif 000008
【図７】
2009212796.tif 000009
【図８】
2009212796.tif 000010
【図９】
2009212796.tif 000011
【図１０】
2009212796.tif 000012
【図１１】
2009212796.tif 000013
【図１２】
2009212796.tif 000014
【図１３】
2009212796.tif 000015
【図１４】
2009212796.tif 000016
【図１５】
2009212796.tif 000017
【図１６】
2009212796.tif 000018
【図１７】
2009212796.tif 000019
【図１８】
2009212796.tif 000020
【図１９】
2009212796.tif 000021
【図２０】
2009212796.tif 000022
【図２１】
2009212796.tif 000023
【図２２】
2009212796.tif 000024