JP4785338B2 - データ転送方法、通信システム、および通信装置 - Google Patents

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

Info

Publication number
JP4785338B2
JP4785338B2 JP2003325950A JP2003325950A JP4785338B2 JP 4785338 B2 JP4785338 B2 JP 4785338B2 JP 2003325950 A JP2003325950 A JP 2003325950A JP 2003325950 A JP2003325950 A JP 2003325950A JP 4785338 B2 JP4785338 B2 JP 4785338B2
Authority
JP
Japan
Prior art keywords
session
data
communication
communication device
storage unit
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.)
Expired - Fee Related
Application number
JP2003325950A
Other languages
English (en)
Other versions
JP2005092582A (ja
Inventor
修二 舘野
正也 寺岡
哲司 玉川
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2003325950A priority Critical patent/JP4785338B2/ja
Priority to PCT/JP2004/013530 priority patent/WO2005029338A1/ja
Publication of JP2005092582A publication Critical patent/JP2005092582A/ja
Application granted granted Critical
Publication of JP4785338B2 publication Critical patent/JP4785338B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、データ転送をするための技術に関し、特に、通信途中で一方の通信装置のIPアドレスが変更になってもデータ転送を継続するための技術に関する。
IP(Internet Protocol)を使用したネットワーク通信において、互いに通信し合う通信装置をネットワーク上で識別するための通信アドレスとしてはIPアドレスを用いる。IP通信技術として最も普及しているTCP(Transmission Control Protocol)では、2つの通信装置間でデータ転送を開始する前に、それぞれ自装置のIPアドレスおよびポート番号を互いに通知するTCP接続フェーズがある。そして、このTCP接続フェーズで取得したIPアドレスおよびポート番号を用いて、それぞれの通信装置はそれ以降の通信を行う。
TCP: RFC793 ( http://www.faqs.org/rfcs/rfc2001.html )
ここで、TCPでは通信を行っている途中で、通信装置のIPアドレスは変更されないことを前提にプロトコルが規定されている。
しかし、実際の利用状況に鑑みると、通信途中でIPアドレスが変更されてしまうことがしばしば起きる。例えば、データ通信サービスを提供するサーバは、比較的ネットワーク環境の良い場所に設置されているが、サーバにアクセスするクライアントは、低品質の電話回線や無線網を介して接続されることがある。このような場合、ネットワーク上の信号の減衰などによりIPの下位レイアが通信中に切断されてしまい、再接続したときにIPアドレスが変更される可能性がある。
通信中にIPアドレスが変更されてしまうと、TCPは通信を継続することができず、最初の「TCP接続フェーズ」からやり直さなくてはならない。
本発明の目的は、通信を行っている途中で、一方の通信装置の通信アドレスが変更されたときでも、通信を継続するための技術を提供することである。
本発明の一つの実施態様に従う通信システムは、第1の通信装置と第2の通信装置とを備える。第1の通信装置は、第2の通信装置とセッションを確立し、第2の通信装置へデータ送信をリクエストする手段と、前記リクエストに対して第2の通信装置から送信されたデータを受信する手段と、前記確立されたセッションを識別するセッション識別情報と自装置の通信アドレスとを、第2の通信装置へ繰り返し送信する手段と、を備える。そして、第2の通信装置は、第1の通信装置との間で確立されたセッションを識別するためのセッション識別情報と、第1の通信装置の通信アドレスとを対応付けて記憶するための記憶部と、第1の通信装置から送信された前記セッション識別情報および前記通信アドレスを受信する手段と、前記受信手段が受信した前記セッション識別情報および前記通信アドレスに基づいて、前記記憶部を更新する手段と、前記セッションで第1の通信装置へデータを送信するとき、前記記憶部から当該セッションのセッション識別情報と対応付けられている通信アドレスを取得し、取得した通信アドレス宛に前記データを送信するための送信データを生成して、送信する手段と、を備える。
本発明の一つの実施態様に従う通信装置は、他の通信装置との間で確立されたセッションを識別するためのセッション識別情報と、前記他の通信装置の通信アドレスとを対応付けて記憶するための記憶部と、前記他の通信装置から前記セッション識別情報および前記通信アドレスを受信する手段と、前記受信手段が受信した前記セッション識別情報および前記通信アドレスに基づいて、前記記憶部を更新する手段と、前記セッションで前記他の通信装置へデータを送信するとき、前記記憶部から当該セッションのセッション識別情報と対応付けられている通信アドレスを取得し、取得した通信アドレス宛に前記データを送信するための送信データを生成し、出力する手段と、を備える。
好適な実施形態では、前記記憶部に、前記受信手段が受信したセッション識別情報と同一のセッション識別情報に対応付けて記憶されている通信アドレスが、前記受信手段が受信した通信アドレスと同一でないとき、前記更新手段は、前記記憶部の通信アドレスを上書きして更新することができる。
好適な実施形態では、前記通信アドレスは、前記他の通信装置のIPアドレスと前記他の通信装置におけるポート番号としてもよい。
好適な実施形態では、前記送信データを出力する手段は、前記データを複数に分割し、分割されたデータに基づいてそれぞれ送信データを生成して出力するものであり、前記受信手段が、最後に前記セッション識別情報および通信アドレスを受信した時刻から所定時間以上経過すると、前記送信データを出力する手段は、それ以降、前記送信データの出力を行わないようにしてもよい。
好適な実施形態では、前記送信データを出力する手段が前記送信データの出力を停止した後、前記受信手段が前記セッション識別情報および通信アドレスを受信すると、
前記送信データを出力する手段は、前記送信データの出力を再開するようにしてもよい。
本発明の一つの実施態様に従う通信装置は、他の通信装置とセッションを確立し、前記他の通信装置へデータ送信をリクエストする手段と、前記リクエストに対して他の通信装置から送信されたデータを受信する手段と、前記確立されたセッションを識別するセッション識別情報と自装置の通信アドレスとを、前記他の通信装置へ繰り返し送信する手段と、を備える。
好適な実施形態では、前記受信手段は、送信をリクエストしたデータが複数に分割されて送信されてくるとき、これらを順次受信し、リクエストした全データを前記受信手段が受信するまでの間、前記送信手段は前記セッション識別情報および前記自装置の通信アドレスを繰り返し送信するようにしてもよい。
好適な実施形態では、前記送信手段は、前記セッション識別情報および前記自装置の通信アドレスを、所定の時間間隔で繰り返し送信するか、または、前記受信手段が所定数の分割されたデータを受信するごとに送信することができる。
本発明の一つの実施態様に従う通信システムは、第1の通信装置と第2の通信装置とを備える。そして、第1の通信装置は、第2の通信装置とセッションを確立する手段と、前記確立されたセッションを識別するセッション識別情報と自装置の通信アドレスと送信データとを、第2の通信装置へ繰り返し送信する手段と、を備える。第2の通信装置は、第1の通信装置との間で確立されたセッションを識別するためのセッション識別情報と、第1の通信装置の通信アドレスとを対応付けて記憶するための記憶部と、第1の通信装置から送信された前記セッション識別情報、前記通信アドレスおよび送信データを受信する手段と、前記受信手段が受信した情報に基づいて、前記記憶部を更新する手段と、を備える。
以下、本発明の一実施形態に係るデータ転送システムついて、図面を用いて説明する。
図1は、本発明の第1の実施形態に係るデータ転送システムである。本システムは、データの送受信機能を備えたサーバ1およびクライアント2が、互いにインターネットなどのネットワーク9を介して接続されている。ここではサーバ1とクライアント2とが1対1であるが、本発明は一つのサーバ1に対して複数のクライアント2が接続する場合にも適用可能である。
本実施形態では、クライアント2がサーバ1からデータをダウンロードする。つまり、クライアント2からのリクエストに応じてサーバ1がデータを提供する。従って、サーバ1がデータの送信装置であり、クライアント2がデータの受信装置である。サーバ1とクライアント2とは、プロトコルにUDP(User Datagram Protocol)/IPを用いて通信を行う。ここで、クライアント2は、無線によってサーバ1と通信を行う端末であってもよい。例えば、携帯電話機、PDA(Personal Data Assistant)、無線通信機能を備えたパーソナルコンピュータなどでもよい。
サーバ1およびクライアント2は、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明するサーバ1およびクライアント2内の個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
クライアント2は、図1に示すように、通信制御部21と、リクエストID生成部22と、セッション要求部23と、ハートビート送信部24と、データ受信部25と、アプリケーション(AP)26とを備える。
通信制御部21は、データの送受信制御を行う。例えば、パケットを生成してネットワーク9に対して出力したり、ネットワーク9からパケットを取り込んだりする。本実施形態では、通信プロトコルにUDP/IPを用いるので、通信制御部21がUDPに関する制御およびIPに関する制御を行う。従って、通信制御部21からネットワーク9へ出力される全パケットのIPヘッダには、クライアント2のIPアドレスが含まれ、UDPヘッダにはリクエストを識別するためのポート番号が含まれている。このIPアドレスとポート番号により、パケットの発信元が特定される。従って、以下に説明するデータ転送のリクエスト元を特定するための通信アドレスには、IPアドレスとポート番号とが用いられる。
ここで、IPアドレスは、クライアント2に固定的に割り当てられていてもよいし、動的に割り当てられるようにしてもよい。動的に割り当てられる場合は、クライアント2がデータ受信をしている途中でIPアドレスが変更になることもある。このとき、通信制御部21は、今現在、割り当てられているIPアドレスに基づいてパケットの送受信を行う。
アプリケーション(AP)26は、所定の処理を行うプログラムである。AP26は、例えば、Webブラウザなどでもよい。そして、AP26がサーバからデータをダウンロードしたいときは、リクエストID生成部23へデータの識別情報、例えばファイル名などを通知して、データ取得要求をする。
リクエストID生成部22は、サーバ1に対してデータ転送をリクエストするときに、リクエストIDを生成する。リクエストIDは、そのリクエストをクライアント2内で一意に識別するための識別情報である。従って、同一クライアントが同時に複数のリクエストを行うときでも、リクエストIDにより、それぞれのリクエストを識別することができる。リクエストID生成部22は、例えば、AP26からデータを取得するよう指示を受けると、リクエストIDを生成する。そして、生成したリクエストIDと、リクエストするデータの識別情報とを併せて、セッション要求部23へ通知する。
セッション要求部23は、サーバ1に対してセッションの確立を要求する。セッション要求部23は、例えば、セッション要求をするための要求メッセージを、通信制御部21を介してサーバ1へ送信する。この要求メッセージには、リクエストIDと、データ転送して欲しいデータの属性(ここではファイル名)などが含まれている。
このセッション要求に対してサーバ1が応じることを示す応諾メッセージを、セッション要求部23が受信するとセッションが確立する。この応諾メッセージにはリクエストIDおよび後述するセッションIDが含まれている。そして、このセッションIDは、ハートビート送信部24へ通知される。
ハートビート送信部24は、セッションIDをサーバ1に対して送信する。このセッションIDの送信は、リクエストしたデータの受信が完了するまでの間繰り返し行われる。従って、このセッションIDの送信をここではハートビートと呼ぶ。ハートビート送信部24は、一定の条件(以下、ハートビート送信条件という)が満たされるとハートビートを送信する。ハートビート送信条件としては、例えば、個々のハートビートの送信間隔が、あらかじめ定められた時間間隔となるようにしてもよいし、データ受信部25が所定数のデータパケットを受信するごとにハートビートを送信するとしてもよい。ハートビートとして、実際に通信制御部21がネットワーク9へ出力するパケットをハートビートパケットという。
データ受信部25は、サーバ1から送られてくるデータを受信する。例えば、サーバ1に対してリクエストしたデータは、1パケットで送信可能なデータサイズよりも大きいときは複数のパケットに分割されて送信されてくるので、データ受信部25は分割されたデータを順次受信する。そして、全データの受信が完了すると、ハートビート送信部25へ受信完了を通知する。また、データ受信部25が受信したデータは、AP26へ渡される。
サーバ1は、図1に示すように、通信制御部11と、セッション受付部12と、セッションID生成部13と、ハートビート受信部14と、セッション情報記憶部15と、データ送信部16と、データ記憶部17とを備える。
通信制御部11は、通信制御部21と同様の機能を有する。つまり、例えば、パケットを生成してネットワーク9に対して出力したり、ネットワーク9からパケットを取り込んだりする。本実施形態では、通信プロトコルにUDP/IPを用いるので、通信制御部11がUDPに関する制御およびIPに関する制御を行う。
セッション情報記憶部15は、クライアント2との間でデータ通信を行うセッションに関する情報を格納するための記憶部である。セッション情報記憶部15には、例えば、図2に示すような情報が格納される。すなわち、セッション情報記憶部15は、データ項目として、セッションID151と、クライアント識別情報152と、データ属性153と、タイムスタンプ154とを有する。セッション情報記憶部15には、1セッションにつき1つのレコードが生成されて、格納される。
クライアント識別情報152には、例えば、リクエストID155と、IPアドレス156と、ポート番号157とが含まれる。
データ属性153は、クライアントに対してデータをダウンロードする場合は、ダウンロードするデータのファイル名、クライアントからデータのアップロードを受ける場合は、アップロードするファイルのサイズなどが格納される。
タイムスタンプ154は、各レコードが更新された時刻を示す。
再び図1を参照すると、セッション受付部12は、クライアント2から送信されてくるセッション要求のメッセージを受信する。そして、セッション受付部12は、このセッション要求を受け入れて、クライアント2とセッションを確立する場合は、セッションID生成部13に対してセッションIDの生成を依頼する。
セッションID生成部13は、セッションIDの生成依頼を受けると、セッションを一意に識別するためのセッションIDを生成する。
セッションIDが生成されると、セッション受付部12は、セッション情報記憶部15にこのセッションに関する情報を格納する。例えば、セッションID151にはここで生成されたセッションIDがセットされる。リクエストID155には、セッション要求メッセージに含まれているリクエストIDがセットされる。IPアドレス156には、セッション要求メッセージパケットのIPヘッダの発信元IPアドレスがセットされる。ポート番号157には、セッション要求メッセージパケットのUDPヘッダの発信元ポート番号がセットされる。
さらに、セッション受付部12は、セッション要求の受け入れを示す応諾メッセージを、通信制御部11を介してクライアント2へ返信する。この応諾メッセージには、セッションIDおよびリクエストIDが含まれている。
ハートビート受信部14は、クライアント2から送られてくるハートビートを受信する。例えば、ハートビート受信部14は、通信制御部11が受信したハートビートパケットに基づいて、それに含まれているセッションIDおよびデータ属性の他、IPヘッダおよびUDPヘッダに含まれている発信元のIPアドレスおよびポート番号の通知を受ける。そして、ここで通知を受けた情報に基づいて、セッション情報記憶部15を更新する。例えば、受信したハートビートパケットに含まれているセッションIDをキーにして、これと対応付けて記憶されているクライアント2のIPアドレス156およびポート番号157を上書き更新する。ハートビート受信部14は、セッション情報記憶部15に格納されているIPアドレス156およびポート番号157と、受信したハートビートパケットに含まれていたIPアドレスおよびポート番号が異なる場合のみ、上書き更新してもよい。いずれの場合でも、セッション情報が更新されたときは、タイムスタンプ154もその時の時刻に更新する。
データ送信部16は、クライアント2からリクエストされたデータをデータ記憶部17から取得し、クライアント2に対して送信する。このとき、送信対象のデータのファイル名は、セッションIDをキーにしてデータ属性153から取得する。送信先のIPアドレスおよびポート番号は、セッションIDをキーにしてセッション情報記憶部15から取得する。
送信対象のデータが1パケットで送信可能なデータサイズよりも大きい場合は、データ送信部16は、送信対象データを複数に分割して送信する。
ここで、データ送信部16は、データ送信を行うときに動的に生成され、データ送信が終了すると消滅するようにしてもよい。このとき、一つのデータ送信部16が一つのスレッドで実現される。この場合、図3に示すような手順でハートビート受信部14がデータ送信部16の生成、消滅等を管理する。以下、図3について説明する。
通信制御部11がハートビートパケットを受信する(S11)と、受信したハートビートパケットに基づいて、ハートビート受信部14が上述の要領でセッション情報記憶部15を更新する(S12)。
このとき、ハートビート受信部14は、受信したハートビートパケットに含まれているセッションIDに対応するデータ送受信部16が生成されているかを確認する(S13)。このデータ送受信部16が未生成であるときは(S13:No)、ハートビート受信部14が、このセッションIDに対応するデータ送受信部16を生成する(S14)。ステップS14でデータ送受信部16生成した後、またはすでに生成済みであるときは(S13:Yes)、送信すべき全データが送信済みであるかを判定する(S15)。そして、全データの送信が完了しているときは(S15:Yes)、ハートビート受信部14の処理が終了する。未送信データが残っている場合には(S15:No)、ステップS11へ戻り、上記処理を繰り返す。
次に、データ送信部16の処理手順について、図4を用いて説明する。
まず、データ送信部16は、どのセッションのデータ送信を行うかがあらかじめ定められている。そこで、データ送信部16は、セッション情報記憶部15から、担当するセッションのセッションIDと対応付けられているセッション情報を取得する(S21)。ここで、タイムスタンプ154を参照し、取得したセッション情報が更新されてから所定時間(以下、送信継続判定時間という)以上経過しているかどうかを判定する(S22)。タイムスタンプ154が示す時刻から、送信継続判定時間以上が経過している場合(S22:Yes)、つまり、送信継続判定時間以上セッション情報が更新されていない場合は、データ送信を終了し、データ送信部16は消滅する。
一方、タイムスタンプ154が示す時刻から、送信継続判定時間以上が経過していない場合(S22:No)、つまり、送信継続判定時間内にセッション情報が更新されている場合は、データ送信部16は、上述の要領で、取得したセッション情報に基づいてデータ送信を行う(S23)。そして、送信すべき全データの送信が完了するまで上記処理を繰り返し、送信が完了すれば、データ送信部16は消滅する(S24)。
つぎに、図5および図6のシーケンスチャートを用いて、本実施形態に係るデータ転送システムでのデータ転送の様子を示す。
まず、クライアント2がサーバ1に対して、データ転送のリクエストRを送信することにより本システムでの処理が開始される。
サーバ1は、このリクエストを受けて、セッションIDをクライアント2へ通知する。この時点でサーバ1とクライアント2間にセッションが確立する。
次に、クライアント2からハートビートパケットH1が送信される。サーバ1では、このハートビートパケットH1を受信すると、上述の処理を行った後、データ送信部16がデータ転送を開始する。転送されるデータは、複数のパケットに分割し、順次送信される(D1〜)。
クライアント2では、送信されてくるデータパケットを順次受信すると共に、ハートビート送信条件に基づいてサーバ1へハートビートパケットH2を送信する。
ここで、ハートビートパケットH2を送信した後、データパケットD5まで受信したところで、クライアント2のIPアドレスが変更になった場合を考える。IPアドレスが変更になると、変更前のIPアドレスに対して送信されてきたデータを受信することはできない。従って、クライアント2は、データパケットD6以降が受信できないことになり、いわゆるパケットロスが生じる。
クライアント2がこの状態にあるとき、再びハートビート送信条件が満たされると、ハートビートパケットH3が生成されて、サーバ1へ送信される。このハートビートパケットH3に含まれているIPアドレスは、変更後のIPアドレスである。
ハートビートパケットH3がサーバ1に到達すると、セッション情報記憶部15のIPアドレス156が更新される。従って、この更新後にサーバ1から送り出されるデータパケット(この場合D11以降)は、変更後のIPアドレスへ宛てて送信されることになり、クライアント2はこれらのデータパケットの受信が可能となる。
本実施形態によれば、通信途中でクライアントのIPアドレスが変更になったとき、一定のパケットロスは生じるものの、速やかにそれに対応して、データ転送を継続することができるようになる。
つぎに、図6について説明する。同図の場合、何らかの理由でハートビートパケットの出力間隔(H1とH2との出力間隔)が長くなったとき、サーバ1では、ハートビートパケットH1受信後に、送信継続判定時間が経過してもハートビートパケットH2を受信してないことになる。こうなると、サーバ1では、すでに述べたように、このセッションのデータ送信を担当するデータ送信部16が消滅し、データ送信が行われない状態(中断)になっている。
しかし、このような場合でも、クライアント2からハートビートパケットH2が送られ、ハートビートが再開すれば、再びデータ送信部16が生成され、それに応じてデータ転送も再開する。
なお、ハートビートパケットがクライアントから出力されなかった場合の他、クライアント2から出力されたハートビートパケットが、何らかの理由でサーバ1へ到達しなかった場合も、上記と同様である。
次に、本発明の第2の実施形態に係るデータ転送システムの構成を図7に示す。本実施形態では、クライアント4からサーバ3へデータをアップロードする。従って、本実施形態では、クライアント4が送信装置であり、サーバ3が受信装置である。サーバ3およびクライアント4が備える構成については、第1の実施形態と相違する点を中心に説明する。従って、第1の実施形態と同様の機能ないし構成については、同一の符号を付して説明を省略する場合がある。
また、サーバ3およびクライアント4は、第1の実施形態と同様に、いずれも例えば汎用的なコンピュータシステムにより構成され、以下に説明する個々の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
クライアント4は、図7に示すように、通信制御部21と、リクエストID生成部22と、セッション要求部23と、データ送信部41と、アプリケーション(AP)26とを備える。
サーバ3は、図7に示すように、通信制御部11と、セッション受付部12と、セッションID生成部13と、セッション情報記憶部15と、データ記憶部17と、データ受信部31とを備える。
AP26は、データをサーバ1へ送信するために、リクエストID生成部22へ、データ送信要求をする。リクエストID生成部22とセッション要求部23が行う処理は、データのダウンロードとアップロードとが相違する以外、セッションを確立するまでの処理は第1の実施形態と同じである。ただし、リクエスト要求メッセージに含まれるデータの属性は、アップロードするファイルのサイズである。
また、セッションを確立するまでにサーバ3が行う処理についても、データのダウンロードとアップロードとが相違する以外、第1の実施形態と同じである。従って、セッション受付部12およびセッションID生成部13は、第1の実施形態と同様の処理を行う。セッション情報記憶部15にも、第1の実施形態と同様のセッション情報が格納される。
セッションが確立した後、AP26からアップロード対象のファイルを取得すると、データ送信部41はそのファイルをサーバ1へ送信する。ここでも、アップロード対象ファイルが1パケットのデータサイズを超えるときは、分割して送信する。このとき、それぞれの分割されたデータに、セッション要求部23から通知されたセッションIDを付加して送信する。
通信制御部21が生成してサーバ3に対して送り出されるデータパケットには、IPヘッダの発信元IPアドレスにクライアント4のIPアドレスが含まれ、UDPヘッダに発信元ポート番号にリクエストを示すポート番号が含まれる。さらに、このデータパケットのデータフィールドには、アップロードされるデータとセッションIDとが含まれている。
サーバ3では、通信制御部11がこのデータパケットを受信すると、データフィールドの内容をデータ受信部31へ渡すと共に、クライアント4のIPアドレスおよびポート番号を通知する。
データ受信部31は、ここで取得した情報に基づいて、セッション情報記憶部15を更新する。例えば、受信したハートビートパケットに含まれているセッションIDをキーにして、これと対応付けて記憶されているクライアント4のIPアドレス156およびポート番号157を上書き更新する。このとき、セッション情報記憶部15に格納されているIPアドレス156およびポート番号157と、受信したデータパケットに含まれていたIPアドレスおよびポート番号とが異なる場合のみ、上書き更新してもよい。いずれの場合でも、セッション情報が更新されたときは、タイムスタンプ154もその時の時刻に更新する。
また、データ受信部31は、アップロードファイルのサイズが格納されているセッション情報記憶部15のデータ属性153を参照し、受信済みデータのデータ量と比較して、ファイルの全データの受信が完了したか確認する。全データの受信が完了すると、データ受信部31は、データ記憶部32に格納する。
次に、本実施形態におけるデータ転送は、図8に示すようなシーケンスチャートとなる。つまり、第1の実施形態と同様にリクエストR1に対するセッションIDの通知により、セッションが確立する。セッション確立後は、クライアント4から順次データパケットがサーバ3へ送信される。
このとき、途中でIPアドレスが変更された場合には、データパケットのIPヘッダ内の発信元IPアドレスが自動的に切り替わり、サーバ3には常にクライアント4のその時点のIPアドレスが通知されることになる。
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
本発明の第1の実施形態に係るデータ転送システムの構成図である。 セッション情報記憶部15のデータ構造の一例を示す図である。 ハートビート受信部14の処理手順を示すフローチャートである。 データ送信部16の処理手順を示すフローチャートである。 第1の実施形態のシーケンスチャートである。 第1の実施形態のシーケンスチャートである。 本発明の第2の実施形態に係るデータ転送システムの構成図である。 第2の実施形態のシーケンスチャートである。
符号の説明
1、3…サーバ、2、4…クライアント、9…ネットワーク、11、21…通信制御部、12…セッション受付部、13…セッションID生成部、14…ハートビート受信部、15…セッション情報記憶部、16…データ送信部、17…データ記憶部、22…リクエストID生成部、23…セッション要求部、24…ハートビート送信部、25…データ受信部。

Claims (7)

  1. 第1の通信装置と第2の通信装置との間で通信を行うためのセッションを確立し、
    第1の通信装置は、前記セッションを識別するためのセッション識別情報と第1の通信装置の通信アドレスとを第2の通信装置へ送信し、
    第2の通信装置は、前記第1の通信装置から送信された前記セッション識別情報と前記通信アドレスとを受信し、
    すでに受信済みの前記セッション識別情報と前記通信アドレスとを含むセッション情報が記憶されている記憶部を、前記受信した前記セッション識別情報および通信アドレスに基づいて更新するとともに、前記記憶部に記憶されている前記セッション情報の更新時刻を更新し、
    第2の通信装置が前記セッションで前記第1の通信装置からのリクエストに応じたデータを送信するとき、前記記憶部に記憶されている更新時刻から所定時間以上経過していないときは、前記記憶部から前記セッションに対応する通信アドレスを取得し、前記取得した通信アドレスに対して前記データを送信し、前記記憶部に記憶されている更新時刻から所定時間以上経過した後は、前記記憶部に記憶されている通信アドレスに対して前記データを送信しないデータ転送方法。
  2. 第1の通信装置と第2の通信装置とを備えた通信システムであって、
    第1の通信装置は、
    第2の通信装置とセッションを確立し、第2の通信装置へデータ送信をリクエストする手段と、
    前記リクエストに対して第2の通信装置から送信されたデータを受信する手段と、
    前記確立されたセッションを識別するセッション識別情報と自装置の通信アドレスとを、第2の通信装置へ繰り返し送信する手段と、を備え、
    第2の通信装置は、
    第1の通信装置との間で確立されたセッションを識別するためのセッション識別情報と、第1の通信装置の通信アドレスとを含むセッション情報と、前記セッション情報の更新時刻とを記憶する記憶部と、
    第1の通信装置から送信された前記セッション識別情報および前記通信アドレスを受信する手段と、
    前記受信手段が受信した前記セッション識別情報および前記通信アドレスに基づいて、前記記憶部のセッション情報及び更新時刻を更新する手段と、
    前記セッションで第1の通信装置へ前記リクエストに応じたデータを送信するとき、前記記憶部に記憶されている更新時刻から所定時間以上経過していないときは、前記記憶部から当該セッションのセッション識別情報と対応付けられている通信アドレスを取得し、取得した通信アドレス宛に前記データを送信するための送信データを生成して送信し、前記記憶部に記憶されている更新時刻から所定時間以上経過した後は、前記記憶部に記憶されている通信アドレスに対して送信データを送信しない送信手段と、を備える通信システム。
  3. 他の通信装置との間で確立されたセッションを識別するためのセッション識別情報と、前記他の通信装置の通信アドレスとを含むセッション情報と、前記セッション情報の更新時刻とを記憶する記憶部と、
    前記他の通信装置から前記セッション識別情報および前記通信アドレスを受信する手段と、
    前記受信手段が受信した前記セッション識別情報および前記通信アドレスに基づいて、前記記憶部のセッション情報及び更新時刻を更新する手段と、
    前記セッションで前記他の通信装置へ前記他の通信装置からのリクエストに応じたデータを送信するとき、前記記憶部に記憶されている更新時刻から所定時間以上経過していないときは、前記記憶部から当該セッションのセッション識別情報と対応付けられている通信アドレスを取得し、取得した通信アドレス宛に前記データを送信するための送信データを生成して出力し、前記記憶部に記憶されている更新時刻から所定時間以上経過した後は、前記記憶部に記憶されている通信アドレスに対して送信データの出力を行わない出力手段と、を備える通信装置。
  4. 前記出力手段が前記送信データの出力を停止した後、前記受信手段が前記セッション識別情報および通信アドレスを受信すると、
    前記出力手段は、前記送信データの出力を再開する請求項3記載の通信装置。
  5. 前記通信アドレスは、前記他の通信装置のIPアドレスと前記他の通信装置におけるポート番号である請求項3または4のいずれかに記載の通信装置。
  6. 他の通信装置からのセッション確立要求に基づいてセッションを確立し、
    前記他の通信装置から送信された前記セッション識別情報と前記通信アドレスとを受信し、
    すでに受信済みの前記セッション識別情報と前記通信アドレスとを含むセッション情報が記憶されている記憶部を、前記受信した前記セッション識別情報および通信アドレスに基づいて更新するとともに、前記記憶部に記憶されている前記セッション情報の更新時刻を更新し、
    前記セッションで前記他の通信装置からのリクエストに応じたデータを送信するとき、前記記憶部に記憶されている更新時刻から所定時間以上経過していないときは、前記記憶部から前記セッションに対応する通信アドレスを取得し、前記取得した通信アドレスに対して前記データを送信し、前記記憶部に記憶されている更新時刻から所定時間以上経過した後は、前記記憶部に記憶されている通信アドレスに対して前記データを送信しないデータ送信方法。
  7. コンピュータに実行されると、
    他の通信装置からのセッション確立要求に基づいてセッションを確立し、
    前記他の通信装置から送信された前記セッション識別情報と前記通信アドレスとを受信し、
    すでに受信済みの前記セッション識別情報と前記通信アドレスとを含むセッション情報が記憶されている記憶部を、前記受信した前記セッション識別情報および通信アドレスに基づいて更新するとともに、前記記憶部に記憶されている前記セッション情報の更新時刻を更新し、
    前記セッションで前記他の通信装置からのリクエストに応じたデータを送信するとき、前記記憶部に記憶されている更新時刻から所定時間以上経過していないときは、前記記憶部から前記セッションに対応する通信アドレスを取得し、前記取得した通信アドレスに対して前記データを送信し、前記記憶部に記憶されている更新時刻から所定時間以上経過した後は、前記記憶部に記憶されている通信アドレスに対して前記データを送信しないデータ送信のためのコンピュータプログラム。

JP2003325950A 2003-09-18 2003-09-18 データ転送方法、通信システム、および通信装置 Expired - Fee Related JP4785338B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003325950A JP4785338B2 (ja) 2003-09-18 2003-09-18 データ転送方法、通信システム、および通信装置
PCT/JP2004/013530 WO2005029338A1 (ja) 2003-09-18 2004-09-16 データ転送方法、通信システム、および通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003325950A JP4785338B2 (ja) 2003-09-18 2003-09-18 データ転送方法、通信システム、および通信装置

Publications (2)

Publication Number Publication Date
JP2005092582A JP2005092582A (ja) 2005-04-07
JP4785338B2 true JP4785338B2 (ja) 2011-10-05

Family

ID=34372813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003325950A Expired - Fee Related JP4785338B2 (ja) 2003-09-18 2003-09-18 データ転送方法、通信システム、および通信装置

Country Status (2)

Country Link
JP (1) JP4785338B2 (ja)
WO (1) WO2005029338A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005065B2 (en) * 2007-09-11 2011-08-23 Qualcomm Incorporated Keep-alive for wireless networks
WO2011117959A1 (ja) * 2010-03-23 2011-09-29 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US10623244B2 (en) * 2014-12-19 2020-04-14 Emerson Process Management Lllp Data transfer on an industrial process network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116257A (ja) * 1996-10-15 1998-05-06 Nec Corp 分散メディア処理サーバおよび該分散メディア処理サーバを用いた通信ネットワーク
JPH10177548A (ja) * 1996-12-18 1998-06-30 Casio Comput Co Ltd セッション管理システム
JP3608905B2 (ja) * 1997-05-29 2005-01-12 三菱電機株式会社 データ通信システム及びデータ通信方法
JP3709319B2 (ja) * 2000-02-24 2005-10-26 中部日本電気ソフトウェア株式会社 端末からホストコンピュータへの再接続方法
JP2002199004A (ja) * 2000-12-26 2002-07-12 Matsushita Electric Ind Co Ltd Ipネットワークを介した移動通信方法
JP2003158521A (ja) * 2001-11-20 2003-05-30 Fujitsu General Ltd 監視システム

Also Published As

Publication number Publication date
JP2005092582A (ja) 2005-04-07
WO2005029338A1 (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
EP1635256B1 (en) Communication system and method for upgrade of user terminal software and user terminal upgraded by same
US9094380B2 (en) Portable terminal apparatus, method for controlling portable terminal apparatus, communication system, communication apparatus, and method for controlling communication apparatus
JP5640649B2 (ja) データ通信方法及び情報処理装置
JP2004129042A5 (ja)
JP2012502578A (ja) 単一化されたデバイス管理方法及びシステム
CN109818905B (zh) 一种传输层协议适配的方法、网元设备及系统
JP2006235838A (ja) ソフトウェア更新システム、サーバ、方法およびプログラム
JP2018014568A (ja) 中継装置及び中継方法
US20060116074A1 (en) Communication repeater, communication repeater program, and communication repeater system
JP4785338B2 (ja) データ転送方法、通信システム、および通信装置
US8566458B2 (en) Communication device and response method thereof
JP4642674B2 (ja) 端末管理システム
JP4245986B2 (ja) ネットワークシステム、該ネットワークシステムにおける端末切替時のデータ・ダウンロード継続方法及びそのプログラム
JP5134983B2 (ja) 無線通信装置及びソフトウェア無線制御方法
EP1793558B1 (en) Distributed server network
JP4445302B2 (ja) 無線端末装置、サービス検索方法
JP2008521297A (ja) マルチアプリケーション・プロトコルにおいて、サービスプラットフォームがユーザー端末情報を獲得することを保証する方法
KR101561315B1 (ko) 스트리밍된 미디어 세션을 설정하기 위한 방법 및 장치
JP4077417B2 (ja) ゲートウェイ装置、ゲートウェイ装置を用いたメディア送受信方法、メディア送受信プログラム、および記録媒体
JP2014021914A (ja) 端末装置、管理装置、通信システム、データファイル更新方法およびデータファイル更新プログラム
JP5769267B2 (ja) 無線通信端末、通信システム、通信システムの制御方法、およびプログラム
JP2003189379A (ja) リモートコントロールシステム
JP2015154227A (ja) データ転送方式
JP2023069763A5 (ja)
JP6389142B2 (ja) 呼接続システム及び加入者情報送信方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080924

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20091204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100604

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4785338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees