JP2009212796A - 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム - Google Patents

送信装置、データ転送システム、データ転送方法およびデータ転送プログラム Download PDF

Info

Publication number
JP2009212796A
JP2009212796A JP2008053509A JP2008053509A JP2009212796A JP 2009212796 A JP2009212796 A JP 2009212796A JP 2008053509 A JP2008053509 A JP 2008053509A JP 2008053509 A JP2008053509 A JP 2008053509A JP 2009212796 A JP2009212796 A JP 2009212796A
Authority
JP
Japan
Prior art keywords
data
transmission
packet
transmission data
identification information
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
JP2008053509A
Other languages
English (en)
Inventor
Koji Osugi
孝司 大杉
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008053509A priority Critical patent/JP2009212796A/ja
Publication of JP2009212796A publication Critical patent/JP2009212796A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】データを迅速に宛先に送信することができ、しかも再送の必要なパケットが存在した場合にはこれについても迅速に対処可能な送信装置、データ転送システム、データ転送方法およびデータ転送プログラムを得ること。
【解決手段】UDP通信データ送信部124は、UDP通信でパケットデータを図示しないクライアント端末に送信し、その記録を送信済リスト格納部127に格納する。また、クライアント端末が受信した旨を記したデータをUDP通信データ受信部125で受信し、その記録を受信済リスト格納部128に格納する。データ整合部126はこれらのデータをチェックして、必要なパケットをUDP通信データ送信部124から再送する。
【選択図】図3

Description

本発明は、送信装置、データ転送システム、データ転送方法およびデータ転送プログラムに係わり、特に簡易にデータを送信し再送も可能にした送信装置、データ転送システム、データ転送方法およびデータ転送プログラムに関する。
インターネットの普及に伴って、インターネットのプロトコルを基盤としたデータ通信が盛んに行われている。このようなデータ通信の代表的なものが、TCP(Transmission Control Protocol)通信とUDP(User Datagram Protocol)通信の2種類である。
図21は、TCP通信の概要を表わしたものである。データの送信端末501は、データの受信端末502に対して、まず「接続しても良いですか?」と、接続の許可を求める(ステップS601)。すると、受信端末502は、接続可能な状態であれば、「良いですよ。こちらからも良いですか?」という応答と、双方向のデータ通信の許可を求める(ステップS602)。これに対して、送信端末501が「良いですよ。」と、双方向のデータ通信を許可すると(ステップS603)、送信端末501側からデータの送信が行われる(ステップS604)。受信端末502はデータの受け取りを確認して、「データ受け取りました。」という返信を送信端末501側に返すことになる(ステップS605)。
このようにTCP通信では、コネクションの確立のために3ハンドシェイク(3-way handshake)という手順が採られる(ステップS601〜ステップS603)。これにより、信頼性の高い通信が可能になる。
図22は、UDP通信の場合を示したものである。UDP通信では、送信端末501が受信端末502に対して次々とデータを送信するだけである(ステップS621、ステップS622、……)。
このため、TCP通信とUDP通信を比較すると、TCP通信では、実データの送信以外の通信回数が増加し、データ送信が低速化するという問題がある。これに対してUDP通信の場合には、図22に示すように受信端末502からのレスポンスが無い。したがって、たとえば受信端末502がデータの減衰を原因として、このデータ自体を破棄した場合でも、送信端末501はこのデータを再送信する仕組みを持たない。この結果、データ送信の信頼性が低下するという問題がある。
そこで、通信先とハンドシェイクを行うことなく、複数のパケットデータを一連のストリームとして通信先に送信し、受信側ではこのストリームの最後に送達確認情報を発信元に返送することが、本発明の第1の関連技術として提案されている(たとえば特許文献1参照)。この第1の関連技術では、ストリームごとに送信状況リストを作成する。このリストに示される受信状況には「未送信」、「送信済」、「再送要」の3種類がある。「未送信」は送信局が当該パケットデータをまだ送信していないことを示す。「送信済」は送信局が当該パケットデータを送信したが、再送が必要か否かが不明なことを示す。「再送要」は受信局が当該パケットデータの受信に失敗したため再送が必要なことを示す。
また、複数のデータ・パケットからマクロパケットを作成して、所定の再送プロトコルを含むUDPモードでこのマクロパケットの送信を行うことが本発明の第2の関連技術として提案されている(たとえば特許文献2参照)。この第2の関連技術では、送信用のバッファ内のデータが所定の量に達すると、マクロパケット送信器が、ネットワークに対して、UDPヘッダ、続いて所定のヘッダ、64キロバイトまでのデータ、およびデータグラム全体のチェックサムを出力する。マクロパケット送信器は、プロセッサからの要求に応答して、マクロパケットのシーケンス番号が付与された特定のマクロパケットを再送することができるようになっている。
更に、サーバが、大容量データを基本配送手順を複数回利用して分割配送し、個々の配送の成否を管理し、配送に失敗した配送について再送することが本発明の第3の関連技術として提案されている(たとえば特許文献3参照)。この第3の関連技術では、サーバがブロック単位の基本配送処理を行い、1回のブロック配送が終わるたびに、配送の成否を記録するためのブロック管理テーブルを設ける。また、端末側においても基本配送手順をブロック単位で実行し、ブロック受信完了ごとに、配送の成否を記録するためのブロック管理テーブルを設ける。サーバおよび端末は、各ブロックに配送の成否を記録して参照し、サーバから端末へに配送失敗のブロックを配送することになる。
再表03−028314号公報(第9ページ第26行目〜第29行目、表1) 特開2006−174446号公報(第0042段落〜第0044段落、第0047段落、図1) 特開平09−266494号公報(第0025段落、第0026段落、第0035段落、図4)
ところで、第1の関連技術では、複数のパケットデータを一連のストリームとして通信先に送信するので、再送を必要とするパケットがその途中に含まれていても、これに関わらずストリームの送信が継続される。したがって、受信側では一連のストリームを保持しておき、再送されたパケットを組み替えるまで、これら複数のパケットデータを受信データとして使用することができない。第2の関連技術では、複数のデータ・パケットからマクロパケットを作成して送信するので、同様の問題を有する。
また、第1の関連技術では、ストリームの最後に発信元に送達確認情報を返送する。したがって、この送達確認情報の返送に失敗すると、一連のストリームを構成する複数のパケットデータについての「未送信」、「送信済」、「再送要」の3種類の判定自体が不可能になる。
一方、第2の関連技術では、複数のデータ・パケットからマクロパケットを作成する処理が必要であるだけでなく、再送プロトコルでは、マクロパケットを受信して、CRC(Cyclic Redundancy Check)およびシーケンス番号を調べる。そして、この結果、マクロパケットが紛失していたり、あるいは誤りを含んでいる場合には、マクロパケットを単位としてその再送を要求する。このように第2の関連技術では、再送もマクロパケットを単位として行うことになり、効率的な再送処理を行うことができない。
第3の関連技術では、ブロックをパケットとして送信し、これらブロック単位で再送の要否を判別するようにしている。しかしながら、この第3の関連技術でも、最後のブロックの配送後、記録された配送結果を参照して、未配送のブロックがある場合には、当該ブロックの再送を行うようにしている。このため、迅速な再送処理を行うことができない。
そこで本発明の目的は、データを迅速に宛先に送信することができ、しかも再送の必要なパケットが存在した場合にはこれについても迅速に対処可能な送信装置、データ転送システム、データ転送方法およびデータ転送プログラムを提供することにある。
本発明では、(イ)通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、(ロ)このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録手段と、(ハ)前記したパケットデータ送信手段によって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録手段と、(ニ)前記した送信データ特定情報記録手段と前記した受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、(ホ)この不達送信データ抽出手段によって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信手段とを送信装置に具備させる。
また、本発明では、(イ)通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を前記した宛先とは異なる所定のサーバに送信する送信データ特定情報送信手段と、前記した所定のサーバから再送を必要とするパケットデータが通知されたときこれを前記した宛先に再送するパケットデータ再送手段とを備えた送信装置と、(ロ)前記した宛先として、前記した送信装置からパケットデータが送られてきたときこれを受信する受信手段と、この受信手段がパケットデータを受信するたびに受信したパケットデータを特定する受信データ特定情報を前記した所定のサーバに送信する受信データ特定情報送信手段とを備えたクライアント端末と、(ハ)前記した所定のサーバであって、前記した送信装置の送信データ特定情報送信手段から前記した送信データ特定情報が送られてきたときこれを受信する送信データ特定情報受信手段と、この送信データ特定情報受信手段の受信した送信データ特定情報を順次記録する送信データ特定情報記録手段と、前記したクライアント端末の受信データ特定情報送信手段から前記した受信データ特定情報が送られてきたときこれを受信する受信データ特定情報受信手段と、この受信データ特定情報受信手段の受信した受信データ特定情報を順次記録する受信データ特定情報記録手段と、前記した送信データ特定情報記録手段と前記した受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、この不達送信データ抽出手段によって抽出された送信データ特定情報を前記した所定のサーバから再送を必要とするパケットデータを特定する情報として前記した送信装置に送信する再送パケットデータ通知手段とを備えたデータベースサーバとをデータ転送システムに具備させる。
更に本発明では、(イ)通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信ステップと、(ロ)このパケットデータ送信ステップによって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録ステップと、(ハ)前記したパケットデータ送信ステップによって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録ステップと、(ニ)前記した送信データ特定情報記録ステップと前記した受信データ特定情報記録ステップの双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出ステップと、(ホ)この不達送信データ抽出ステップによって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信ステップとをデータ転送方法に具備させる。
また、本発明では、パケットデータの送信を行う送信装置のコンピュータに、データ転送プログラムとして、(イ)通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくパケットデータの送信を開始するパケットデータ送信処理と、(ロ)このパケットデータ送信処理によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録処理と、(ハ)前記したパケットデータ送信処理によって送信されたパケットデータの前記した宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録処理と、(ニ)前記した送信データ特定情報記録処理と前記した受信データ特定情報記録処理の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出処理と、(ホ)この不達送信データ抽出処理によって抽出された送信データ特定情報に対応する送信データを前記した所定の相手先に再送信するパケットデータ再送信処理とを実行させることを特徴としている。
以上説明したように本発明によれば、クライアント端末に通信するパケットデータごとに送受信内容を比較して再送の要否を判別することができる。したがって、再送の必要なパケットデータの存在を早期に判別し再送信することができるので、少ないバッファメモリを用いるだけで時間的に連続したデータを信頼性よく再現することができる。また、同一のサーバあるいは装置内で送受信内容を比較するので、比較処理だけでなく、処理済みのデータの消去処理を簡単に行うことができる。
次に本発明の実施の形態を説明する。
<第1の実施の形態>
図1は、本発明の第1の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム100では、クライアント端末101とサーバ102とが、ネットワーク103を介して接続されている。ここで、クライアント端末101は、携帯電話機、PHS(Personal Handyphone System)、通信機能を持ったPDA(Personal Digital Assistants)やパーソナルコンピュータ等の情報処理装置である。ネットワーク103は、インターネットが代表的であるが、UDP通信を行うことができれば、その種類を問わない。
図2は、本実施の形態におけるクライアント端末についてその要部の構成を表わしたものである。クライアント端末101は、CPU(Central Processing Unit)111および制御プログラムを格納したメモリ112を有する主制御部113を備えている。主制御部113は、UDP通信でパケットデータを送信するUDP通信データ送信部114と、UDP通信でパケットデータを受信するUDP通信データ受信部115の制御を行うようになっている。また、制御プログラムの構成によっては、UDP通信データ送信部114およびUDP通信データ受信部115をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
図3は、本実施の形態におけるサーバについてその要部の構成を表わしたものである。サーバ102は、CPU121および制御プログラムを格納したメモリ122を有する主制御部123を備えている。主制御部123は、サーバ102内の各部と接続され、これらの制御を行うようになっている。このうち、UDP通信データ送信部124は、UDP通信でパケットデータを送信するモジュールであり、UDP通信データ受信部125はUDP通信でパケットデータを受信するモジュールである。データ整合部126は、送信したUDP通信によるパケットデータと受信したUDP通信によるパケットデータを整合するモジュールである。送信済リスト格納部127はUDP通信で送信したデータを記録するリストであり、受信済リスト格納部128はUDP通信で受信したデータを記録するリストである。データ整合部126は、これらのリストに記録されたデータの整合を行う。なお、主制御部123のメモリ122に格納された制御プログラムの構成によっては、UDP通信データ送信部124、UDP通信データ受信部125およびデータ整合部126をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
図4は、以上のような構成のデータ転送システムでサーバがクライアント端末にUDP通信でパケットデータを送信する場合の処理の流れを表わしたものである。図3と共に説明する。
サーバ102の内部でパケットデータの送信要求が発生すると(ステップS201:Y)、UDP通信データ送信部124は主制御部123の指示に従って、送信先のクライアント端末101に対してUDP通信によって単位量のデータを送信する(ステップS202)。そして、送信済リスト格納部127に格納される送信済リストに、該当するデータが送信済みであると記録する(ステップS203)。このとき、送信するデータの量が多く、送信が複数回に分割して行われるような場合には、記録の際に送信済みのデータに連番を付したり、送信の行われた時刻データを付加するようにしておけば、再送の対象となるデータを把握することができる。
主制御部123は、現在送信を行ったクライアント端末101に対する全データの送信が終了したかを判別し(ステップS204)、終了していなければ(N)、ステップS202に戻ってUDP通信データ送信部124に対して残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップS204で全データの送信が終了したと判別されたとき(Y)、サーバ102による1つのクライアント端末101に対するUDP通信による送信処理が終了する
図5は、図4で説明したサーバの送信に対するクライアント端末の受信処理の流れを表わしたものである。図2と共に説明する。クライアント端末101のUDP通信データ受信部115がUDP通信によるパケットデータを受信すると(ステップS221:Y)、主制御部113はUDP通信データ送信部114に対してUDP通信による受信があったことを通知する(ステップS222)。UDP通信データ送信部114は、この通知があると、サーバ102に対してUDP通信で、受信したその受信情報を転送する(ステップS223)。
図6は、この受信情報が送られてきたときのサーバ側の処理の様子を表わしたものである。図3と共に説明する。サーバ102の主制御部123はUDP通信データ受信部125が前記した図5のステップS223に基づく受信情報を受信すると(ステップS241:Y)、受信済リスト格納部128に格納された受信済リストに対して、該当する受信情報を記録する(ステップS242)。
図7は、サーバによる送受信データの整合処理の様子を表わしたものである。図3と共に説明する。サーバ102の主制御部123は、予め管理者によって設定された一定時間が経過するたびに(ステップS261:Y)、送信済リスト格納部127と受信済リスト格納部128の双方のリストを読み出す(ステップS262)。そして、その中に対応関係がとれる情報が存在した場合には、これらの対を両リストから消去する(ステップS263)。これは、UDP通信でサーバ102から送信されたパケットがクライアント端末101で受信されたことが確認されたので、確認用として残しておく必要がないからである。
このようにして送受信の確認のとれた情報を消去した後、UDP通信でサーバ102から送信されたにも関わらず、所定の時間が経っても受信確認がとれていないものがあれば(ステップS264:Y)、主制御部123はUDP通信データ送信部124に対して該当するUDP通信によるパケットの再送信を要求する(ステップS265)。これを基にしてUDP通信データ送信部124はそのデータをUDP通信でクライアント端末101に対して再送信することになる。たとえば具体的には、あるデータが送信された時刻からクライアント端末101にこれが受信され、クライアント端末101がサーバ102に送信した場合の、このサーバ102に受信情報が到達するまでの遅延時間の予想最大値を超えても受信情報がサーバ102に到達しなかったとき、主制御部123はUDP通信データ送信部124に対してパケットの再送信を要求することになる。
以上のようなケースと異なり、ステップS264で未受信となっているものがなかった場合には(N)、サーバ102から送信されたパケットデータはすべてクライアント端末101に到達したことになる。この場合には、正常な結果なので、再送を要求することなくステップS261に処理が戻ることになる(リターン)。
以上説明した本実施の形態のデータ転送システム100によれば、クライアント端末101およびサーバ102で、UDP通信データ送信部114、124とUDP通信データ受信部115、125がそれぞれ同一装置内でモジュールとして独立している。したがって、TCP通信と比較して、接続時やデータの整合性を検証するための時間を削減することができる。また、本実施の形態のデータ転送システム100によれば、UDP通信を使用し、しかも再送処理を実現したので、TCP通信が使用不能な場合でも高信頼性の通信を実現することができる。更に、UDP通信はコネクションレス型の通信であるため、クライアント端末101とサーバ102の独立性を保持することができる。
<第2の実施の形態>
図8は、本発明の第2の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム100Aでは、クライアント端末101Aと、データベースサーバ104、データ送信用サーバ105およびデータ受信用サーバ106とが、ネットワーク103を介して接続されている。ここで、データベースサーバ104は、データの送受信に関する記録と整合処理を行うサーバである。また、データ送信用サーバ105はUDPによる送信に特化したサーバであり、データ受信用サーバ106はUDPによる受信に特化したサーバである。
また、クライアント端末101Aは、データ送信用サーバ105からデータが送られてきたときにこれをデータ受信用サーバ106に転送する点を除けば、第1の実施の形態におけるクライアント端末101と同一である。そこで、クライアント端末101Aの図示は省略する。
図9は、データベースサーバについてその要部の構成を表わしたものである。データベースサーバ104は、CPU131および制御プログラムを格納したメモリ132を有する主制御部133を備えている。主制御部133は、データベースサーバ104内の各部と接続され、これらの制御を行うようになっている。このうち、通信制御部134は、図8に示したネットワーク103を介して各種のサーバやクライアント端末と通信を行うモジュールであり、データ整合部135は、送信済リスト格納部136に格納されたリストおよび受信済リスト格納部137に格納されたリストの整合を行うようになっている。なお、主制御部133のメモリ132に格納された制御プログラムの構成によっては、通信制御部134およびデータ整合部135をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
図10は、データ送信用サーバについてその要部の構成を表わしたものである。データ送信用サーバ105は、CPU141および制御プログラムを格納したメモリ142を有する主制御部143を備えている。主制御部143は、UDP通信でパケットデータを送信するモジュールとしてのUDP通信データ送信部144および一般的な通信制御を行う通信制御部145の制御を行うようになっている。この主制御部143のメモリ142に格納された制御プログラムの構成によっては、UDP通信データ送信部144および通信制御部145をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
図11は、データ受信用サーバについてその要部の構成を表わしたものである。データ受信用サーバ106は、CPU151および制御プログラムを格納したメモリ152を有する主制御部153を備えている。主制御部153は、UDP通信でパケットデータを受信するモジュールとしてのUDP通信データ受信部154の制御を行うようになっている。この主制御部153のメモリ152に格納された制御プログラムの構成によっては、UDP通信データ受信部154をハードウェアで構成する必要はなく、これをソフトウェア的な機能部として構成してもよい。
図12は、以上のような構成のデータ転送システムでデータ送信用サーバがクライアント端末にUDP通信でパケットを送信する場合の処理の流れを表わしたものである。図8および図10と共に説明する。また、図12で図4と同一の処理が行われる部分には同一のステップ番号を付している。
データ送信用サーバ105の内部でパケットデータの送信要求が発生すると(ステップS201:Y)、UDP通信データ送信部144は主制御部143の指示に従って、送信先のクライアント端末101Aに対してUDP通信によって単位量のデータを送信する(ステップS202)。そして、データベースサーバ104に対してこの送信が終了した情報を記録用送信情報として送信する(ステップS281)。このとき、送信するデータの量が多く、送信が複数回に分割して行われるような場合には、単位量のデータの送信が行われるたびに連番を付し、記録用送信情報にも同一の連番を付したり、送信の行われた時刻データを付加するようにしておけば、再送の対象となるデータを把握することができる。
主制御部143は、現在送信を行ったクライアント端末101Aに対する全データの送信が終了したかを判別し(ステップS204)、終了していなければ(N)、ステップS202に戻ってUDP通信データ送信部124に対して残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップS204で全データの送信が終了したと判別されたとき(Y)、データ送信用サーバ105による1つのクライアント端末101Aに対するUDP通信による送信処理が終了する(リターン)。
図13は、データ送信用サーバの送信に対するクライアント端末の受信処理の流れを表わしたものである。図2と共に説明する。また、図13で図5と同一の処理が行われる部分には同一のステップ番号を付している。クライアント端末101AのUDP通信データ受信部115がUDP通信によるパケットデータを受信すると(ステップS221:Y)、主制御部113はこのパケットの内容を受信情報としてUDP通信データ送信部114に転送する(ステップS291)。UDP通信データ送信部114はこの受信情報を記録用受信情報として、データ受信用サーバ106に送信する(ステップS292)。
図14は、データ受信用サーバの処理の様子を表わしたものである。図11と共に説明する。データ受信用サーバ106は、クライアント端末101Aから送られてきた記録用受信情報を受信すると(ステップS301:Y)、これをデータベースサーバ104に対して送信する(ステップS302)。
図15は、データベースサーバの処理の様子を表わしたものである。図9と共に説明する。また、図15で図7と同一の処理が行われる部分には同一のステップ番号を付している。データベースサーバ104の主制御部133は、記録用送信情報が送られてくると(ステップS311:Y)、通信制御部134からこの通知を受けて、送信済リスト格納部136の送信済リストに、該当するデータが送信済みである旨の記録を行う(ステップS312)。また、記録用受信情報が送られてきた場合には(ステップS311:N、ステップS313:Y)、通信制御部134からこの通知を受けて、受信済リスト格納部137の受信済リストに、該当するデータが受信済みである旨の記録を行う(ステップS314)。このようにして、クライアント端末101AにおけるUDP通信の様子が送信済リストと受信済リストに記録されていく。
データベースサーバ104の主制御部133は、ある時刻から一定時間が順次経過するのを待機している(ステップS315)。そして、その一定時間が経過するたびに(Y)、送信済リスト格納部136と受信済リスト格納部137の双方のリストを読み出す(ステップS262)。そして、その中に対応関係がとれる情報が存在した場合には、これらの対を双方のリストから消去する(ステップS263)。これは、UDP通信でデータ送信用サーバ105から送信されたパケットデータがクライアント端末101で受信されたことが確認されたので、確認用として残しておく必要がないからである。
このようにして送受信の確認のとれた情報を消去した後、UDP通信でデータ送信用サーバ105から送信されたにも関わらず、所定の時間が経っても受信確認がとれていないものがあれば(ステップS264:Y)、主制御部133はデータ送信用サーバ105に該当するパケットデータの再送信を指示する(ステップS316)。これとは異なり、ステップS264で未受信となっているものがなかった場合には(N)、正常な結果なので、再送を要求することなくステップS311に処理が戻ることになる(リターン)。
図16は、データ送信用サーバによる再送処理の様子を表わしたものである。図10と共に説明する。また、図16で図12と同一処理を行う部分には同一のステップ番号を付している。通信制御部145がデータベースサーバ104から再送指示を受信すると(ステップS331:Y)、主制御部143はUDP通信データ送信部144に再送の指示のあったパケットデータの再送を行わせる(ステップS332)。その後は、この再送したパケットデータの管理を行うために、送信が終了した情報を記録用送信情報としてデータベースサーバ104に送信する(ステップS281)。主制御部143は、現在送信を行ったクライアント端末101Aに対する再送のための全データの送信が終了したかを判別し(ステップS204)、終了していなければ(N)、ステップS332に戻ってUDP通信データ送信部124に対して再送が必要な残りのデータを単位量だけ送信させる。以下、同様の処理が必要な回数だけ繰り返され、ステップS204で再送のための全データの送信が終了したと判別されたとき(Y)、データ送信用サーバ105による1つのクライアント端末101Aに対するUDP通信による送信処理が終了する(リターン)。
以上説明した第2の実施の形態によるデータ転送システム100Aによれば、第1の実施の形態で用意されるサーバが1種類だけだったのに対して、3種類のサーバを用意することにした。このようにサーバが機能ごとに分化しているので、それぞれのサーバは同一の処理に専念することができる。したがって、CPUやメモリといった物理リソースを効果的に使用することができる。また、同一のサーバに送信用モジュールと受信用モジュールを配置した場合には、第1の実施の形態と同様の効果を得ることができる。
<第3の実施の形態>
図17は、本発明の第3の実施の形態におけるデータ転送システムの構成の概要を表わしたものである。本実施の形態のデータ転送システム100Bでは、第1〜第mのクライアント端末1011〜101mと、配信サーバ107および比較再送サーバ108とが、ネットワーク103を介して接続されている。ここで、配信サーバ107は、たとえば動画をマルチキャスト配信で同時に多くの家庭に送信するサーバである。比較再送サーバ108は、UDP通信で配信サーバ107から送信された個々のパケットデータを第1〜第mのクライアント端末1011〜101mから得られる受信したパケットデータと比較して、再送の必要なパケットデータを該当するクライアント端末101に再送するサーバである。
図18は、この第3の実施の形態における配信サーバについてその要部の構成を表わしたものである。なお、第1〜第mのクライアント端末1011〜101m(図17)については図2に示したクライアント端末101と同様の構成となっているので、その図示および説明を省略する。
配信サーバ107は、CPU161および制御プログラムを格納したメモリ162を有する主制御部163を備えている。主制御部163は、UDP通信でパケットデータを送信するモジュールとしてのUDPマルチキャストデータ送信部164の制御を行うようになっている。この主制御部163のメモリ162に格納された制御プログラムの構成によっては、UDPマルチキャストデータ送信部164をハードウェアで構成する必要はなく、その一部または全部をソフトウェア的な機能部として構成してもよい。UDPマルチキャストデータ送信部164は、図17に示した第1〜第mのクライアント端末1011〜101mだけでなく、比較再送サーバ108に対してもマルチキャストデータを送信する。
図19は、この第3の実施の形態における比較再送サーバについてその要部の構成を表わしたものである。比較再送サーバ108は、CPU171および制御プログラムを格納したメモリ172を有する主制御部173を備えている。主制御部173は、UDPマルチキャストデータ送信部174、UDPマルチキャストデータ受信部175、データ整合部176、送信済リスト格納部177、受信済リスト格納部178およびパケットデータ格納部179の制御を行うようになっている。この主制御部173のメモリ172に格納された制御プログラムの構成によっては、UDPマルチキャストデータ送信部174、UDPマルチキャストデータ受信部175あるいはデータ整合部176をハードウェアで構成する必要はなく、これらの一部または全部をソフトウェア的な機能部として構成してもよい。
図20は、本実施の形態のデータ転送システムにおける各装置の通信の様子を表わしたものである。図18および図19と共に説明する。
配信サーバ107は、配信の対象となるパケットデータをUDP通信で矢印181で示すように、宛先としての第1〜第mのクライアント端末1011〜101mに一斉に送信する。このとき、矢印182で示すように比較再送サーバ108にも同一のパケットデータを順次送信する。比較再送サーバ108はこれを基にして、受信済リスト格納部178に送信データ特定情報をパケット単位で記録すると共に、パケットデータ格納部179にこれらのパケットを格納する。
一方、第1〜第mのクライアント端末1011〜101mは、図2に示したUDP通信データ送信部114がそれぞれ受信したパケットデータを特定するための受信データ特定情報を自身のクライアント端末1011〜101mを示すID(identifier)と共に比較再送サーバ108に送信する。比較再送サーバ108では、これを受信済リスト格納部178に格納する。
データ整合部176は、第1〜第mのクライアント端末1011〜101mごとに送信データ特定情報と受信データ特定情報をチェックして、対のものがあればそれぞれのリストから消去する。このとき、第1〜第mのクライアント端末1011〜101mのすべてについて送受信が完了したパケットデータは、パケットデータ格納部179から消去する。そして、消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する。これら不達送信データについては、UDPマルチキャストデータ送信部174がパケットデータ格納部179から取り出して、第1〜第mのクライアント端末1011〜101mのうちの該当する宛先にUDP通信で送信されることになる。
なお、第1〜第3の実施の形態では、各種の機能のサーバを示したが、本発明の原理を実現するその他のサーバも本発明の各種の変形として実現可能であることは当然である。また、一方のサーバあるいは装置に格納された送信済リストあるいは受信済リストを定期的にSG値(System Generation値)に従って、システムの定めた間隔で1か所のサーバに送り、ここで比較を行うようにしてもよい。
本発明の第1の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。 第1の実施の形態でクライアント端末の構成の要部を示すブロック図である。 第1の実施の形態でサーバの構成の要部を示すブロック図である。 第1の実施の形態でサーバがクライアント端末にUDP通信でパケットを送信する場合の処理を示す流れ図である。 第1の実施の形態でクライアント端末の受信処理を示す流れ図である。 第1の実施の形態で受信情報が送られてきたときのサーバ側の処理の様子を表わした流れ図である。 第1の実施の形態でサーバによる送受信データの整合処理の様子を表わした流れ図である。 本発明の第2の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。 第2の実施の形態によるデータベースサーバの要部の構成を表わしたブロック図である。 第2の実施の形態によるデータ送信用サーバについてその要部の構成を表わしたブロック図である。 第2の実施の形態によるデータ受信用サーバについてその要部の構成を表わしたブロック図である。 第2の実施の形態でデータ送信用サーバがクライアント端末にパケットを送信する場合の処理を表わした流れ図である。 第2の実施の形態でデータ送信用サーバの送信に対するクライアント端末の受信処理を表わした流れ図である。 第2の実施の形態でデータ受信用サーバの処理の様子を表わした流れ図である。 第2の実施の形態でデータベースサーバの処理の様子を表わした流れ図である。 第2の実施の形態でデータ送信用サーバによる再送処理の様子を表わした流れ図である。 本発明の第3の実施の形態におけるデータ転送システムの構成の概要を表わしたシステム構成図である。 第3の実施の形態における配信サーバについてその要部の構成を表わしたブロック図である。 第3の実施の形態における比較再送サーバについてその要部の構成を表わしたブロック図である。 第3の実施の形態のデータ転送システムにおける各装置の通信の様子を表わした説明図である。 TCP通信の概要を表わした説明図である。 UDP通信の概要を表わした説明図である。
符号の説明
100、100A、100B データ転送システム
101、101A クライアント端末
102 サーバ
103 ネットワーク
104 データベースサーバ
105 データ送信用サーバ
106 データ受信用サーバ
107 配信サーバ
108 比較再送サーバ
111、121、131、141、151、161、171 CPU
112、122、132、142、152、162、172 メモリ
113、123、133、143、153、163、173 主制御部
114、124、144 UDP通信データ送信部
115、125、145 UDP通信データ受信部
126、135、176 データ整合部
127、136、177 送信済リスト格納部
128、137、178 受信済リスト格納部
134、145 通信制御部
164 UDPマルチキャストデータ送信部
174 UDPマルチキャストデータ送信部
175 UDPマルチキャストデータ受信部
179 パケットデータ格納部

Claims (8)

  1. 通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、
    このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録手段と、
    前記パケットデータ送信手段によって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録手段と、
    前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、
    この不達送信データ抽出手段によって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信手段
    とを具備することを特徴とする送信装置。
  2. 前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報をこれら送信データ特定情報記録手段および受信データ特定情報記録手段から消去する消去手段を具備し、前記不達送信データ抽出手段は、この消去手段によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項1記載の送信装置。
  3. 通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信手段と、このパケットデータ送信手段によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を前記宛先とは異なる所定のサーバに送信する送信データ特定情報送信手段と、前記所定のサーバから再送を必要とするパケットデータが通知されたときこれを前記宛先に再送するパケットデータ再送手段とを備えた送信装置と、
    前記宛先として、前記送信装置からパケットデータが送られてきたときこれを受信する受信手段と、この受信手段がパケットデータを受信するたびに受信したパケットデータを特定する受信データ特定情報を前記所定のサーバに送信する受信データ特定情報送信手段とを備えたクライアント端末と、
    前記所定のサーバであって、前記送信装置の送信データ特定情報送信手段から前記送信データ特定情報が送られてきたときこれを受信する送信データ特定情報受信手段と、この送信データ特定情報受信手段の受信した送信データ特定情報を順次記録する送信データ特定情報記録手段と、前記クライアント端末の受信データ特定情報送信手段から前記受信データ特定情報が送られてきたときこれを受信する受信データ特定情報受信手段と、この受信データ特定情報受信手段の受信した受信データ特定情報を順次記録する受信データ特定情報記録手段と、前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出手段と、この不達送信データ抽出手段によって抽出された送信データ特定情報を前記所定のサーバから再送を必要とするパケットデータを特定する情報として前記送信装置に送信する再送パケットデータ通知手段とを備えたデータベースサーバ
    とを具備することを特徴とするデータ転送システム。
  4. 前記データベースサーバは、前記送信データ特定情報記録手段と前記受信データ特定情報記録手段の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報をこれら送信データ特定情報記録手段および受信データ特定情報記録手段から消去する消去手段を具備し、前記不達送信データ抽出手段は、この消去手段によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項3記載のデータ転送システム。
  5. 通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくこの宛先にパケットデータの送信を開始するパケットデータ送信ステップと、
    このパケットデータ送信ステップによって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録ステップと、
    前記パケットデータ送信ステップによって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録ステップと、
    前記送信データ特定情報記録ステップと前記受信データ特定情報記録ステップの双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出ステップと、
    この不達送信データ抽出ステップによって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信ステップ
    とを具備することを特徴とするデータ転送方法。
  6. 前記送信データ特定情報記録ステップと前記受信データ特定情報記録ステップの双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報を消去する消去ステップを具備し、前記不達送信データ抽出ステップでは、この消去ステップによって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項5記載のデータ転送方法。
  7. パケットデータの送信を行う送信装置のコンピュータに、
    通信の宛先にコネクションの確立のためのハンドシェイクを行うことなくパケットデータの送信を開始するパケットデータ送信処理と、
    このパケットデータ送信処理によって個々のパケットデータの送信が行われるたびに送信したそれぞれのパケットデータを特定する送信データ特定情報を順次記録する送信データ特定情報記録処理と、
    前記パケットデータ送信処理によって送信されたパケットデータの前記宛先からこのパケットデータが受信されたことを確認させるためのパケットデータを同様にコネクションの確立のためのハンドシェイクを行うことなく送信してきたときこれを特定する受信データ特定情報を順次記録する受信データ特定情報記録処理と、
    前記送信データ特定情報記録処理と前記受信データ特定情報記録処理の双方によって記録された情報を対比して対とならなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出する不達送信データ抽出処理と、
    この不達送信データ抽出処理によって抽出された送信データ特定情報に対応する送信データを前記所定の相手先に再送信するパケットデータ再送信処理
    とを実行させることを特徴とするデータ転送プログラム。
  8. 前記送信データ特定情報記録処理と前記受信データ特定情報記録処理の双方によって記録された情報を対比して対となる前記送信データ特定情報と前記受信データ特定情報を消去する消去処理を更に実行させ、前記不達送信データ抽出処理では、この消去処理によって消去されなかった送信データ特定情報のうち受信データ特定情報の到来するまでの遅延時間の最大値を超えて存在するものを不達送信データとして抽出することを特徴とする請求項7記載のデータ転送プログラム。
JP2008053509A 2008-03-04 2008-03-04 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム Pending JP2009212796A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008053509A JP2009212796A (ja) 2008-03-04 2008-03-04 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008053509A JP2009212796A (ja) 2008-03-04 2008-03-04 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム

Publications (1)

Publication Number Publication Date
JP2009212796A true JP2009212796A (ja) 2009-09-17

Family

ID=41185526

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008053509A Pending JP2009212796A (ja) 2008-03-04 2008-03-04 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム

Country Status (1)

Country Link
JP (1) JP2009212796A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011109263A (ja) * 2009-11-13 2011-06-02 Nippon Telegraph & Telephone West Corp 情報通信システム、情報通信方法
JP2012088955A (ja) * 2010-10-20 2012-05-10 Nec Corp データ複製システム、データ複製サーバ、データ複製方法、及び、データ複製プログラム
JP2013179502A (ja) * 2012-02-28 2013-09-09 Fujitsu Ltd 通信制御装置、通信制御方法および通信制御プログラム
WO2017051665A1 (ja) * 2015-09-24 2017-03-30 日本電気株式会社 通信処理システム、グループメッセージ処理方法、通信処理装置およびその制御方法と制御プログラム
JP2018125611A (ja) * 2017-01-30 2018-08-09 キヤノン株式会社 通信装置、通信方法、及びプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011109263A (ja) * 2009-11-13 2011-06-02 Nippon Telegraph & Telephone West Corp 情報通信システム、情報通信方法
JP2012088955A (ja) * 2010-10-20 2012-05-10 Nec Corp データ複製システム、データ複製サーバ、データ複製方法、及び、データ複製プログラム
JP2013179502A (ja) * 2012-02-28 2013-09-09 Fujitsu Ltd 通信制御装置、通信制御方法および通信制御プログラム
WO2017051665A1 (ja) * 2015-09-24 2017-03-30 日本電気株式会社 通信処理システム、グループメッセージ処理方法、通信処理装置およびその制御方法と制御プログラム
JPWO2017051665A1 (ja) * 2015-09-24 2018-04-19 日本電気株式会社 通信処理システム、グループメッセージ処理方法、通信処理装置およびその制御方法と制御プログラム
US10455371B2 (en) 2015-09-24 2019-10-22 Nec Corporation Communication processing system, group message processing method, communication processing apparatus, and control method and control program of communication processing apparatus
JP2018125611A (ja) * 2017-01-30 2018-08-09 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10652424B2 (en) 2017-01-30 2020-05-12 Canon Kabushiki Kaisha Communication apparatus, communication method, and nontransitory computer readable storage medium that resends data when no response is received and records the result
JP7022508B2 (ja) 2017-01-30 2022-02-18 キヤノン株式会社 通信装置、通信方法、及びプログラム

Similar Documents

Publication Publication Date Title
TWI259674B (en) Method and apparatus for reducing transmission errors in a third generation cellular system
EP1747644B1 (en) Method and apparatus for group communication with end-to-end reliability
US8976814B2 (en) Method of transporting data from sending node to destination node
KR101610715B1 (ko) 단방향 데이터 송수신 시스템 및 방법
TW200401533A (en) System and method for prioritization of retransmission of protocol data units to assist radio-link-control retransmission
KR100683813B1 (ko) 멀티캐스트 데이터 전송
JP2002124992A (ja) マルチキャストによるデータファイル配信方法
CN101304302A (zh) 视频数据的传输方法及其系统
CN102368700A (zh) 一种分布式系统中消息的传递方法
JP5072261B2 (ja) 撮像装置、通信装置、システム、通信方法及びプログラム
WO2011046056A1 (ja) パケット通信の伝送制御方法及びパケット通信システム
JP2009212796A (ja) 送信装置、データ転送システム、データ転送方法およびデータ転送プログラム
KR100240645B1 (ko) 멀티캐스트 통신의 패킷 오류 제어기 및 이를 이용한패킷 오류제어 방법
CN109120385B (zh) 一种基于数据传输系统的数据传输方法、装置及系统
JP2010213150A (ja) 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
JP2006191368A (ja) ネットワーク伝送装置
JP2001237883A (ja) マルチキャスト通信システム及び方法、並びに、データ通信装置及びデータ通信方法
JP2010074595A (ja) マルチキャスト通信におけるパケット再送制御方法及び装置
US20040148422A1 (en) Communication control method, communication system, and communication apparatus that can improve throughput
US9591058B2 (en) Rapid recovery method for incomplete file transfer from sender to recipient
KR20090043724A (ko) 대용량 데이터의 직렬 송수신 방법
JP3148733B2 (ja) 信号処理装置及び信号処理システム
KR101405533B1 (ko) 고가용성 멀티캐스트 전송 기반의 메시지 전송 시스템
KR102160818B1 (ko) 신뢰성 확보를 위한 다중 멀티케스트 네트워크 시스템 및 그 방법
JP4277411B2 (ja) マルチキャスト通信システム及びマルチキャスト通信方法、データ通信装置及びデータ通信方法、並びに、マルチキャスト通信システムにおける待ちフレーム数の自動設定方法