JP4229037B2 - 通信中継装置および通信中継プログラム - Google Patents

通信中継装置および通信中継プログラム Download PDF

Info

Publication number
JP4229037B2
JP4229037B2 JP2004286395A JP2004286395A JP4229037B2 JP 4229037 B2 JP4229037 B2 JP 4229037B2 JP 2004286395 A JP2004286395 A JP 2004286395A JP 2004286395 A JP2004286395 A JP 2004286395A JP 4229037 B2 JP4229037 B2 JP 4229037B2
Authority
JP
Japan
Prior art keywords
communication
data
wireless
communication device
server
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
JP2004286395A
Other languages
English (en)
Other versions
JP2006101315A (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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2004286395A priority Critical patent/JP4229037B2/ja
Priority to US11/232,336 priority patent/US20060116074A1/en
Publication of JP2006101315A publication Critical patent/JP2006101315A/ja
Application granted granted Critical
Publication of JP4229037B2 publication Critical patent/JP4229037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • H04B7/26Radio transmission systems, i.e. using radiation field for communication between two or more posts at least one of which is mobile
    • H04B7/2603Arrangements for wireless physical layer control
    • H04B7/2606Arrangements for base station coverage control, e.g. by using relays in tunnels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Description

本発明は、一部に無線通信区間を有する通信経路を介して通信装置間で行われるデータ通信の中継を行う技術に関する。
従来、パーソナルコンピュータ同士による無線LAN回線を介したデータ交換、車載通信端末によるインターネット上のWebサーバからの音楽データダウンロードといった、無線通信区間を介した通信装置間のデータ通信が広く行われている。
このようなデータ通信においては、無線通信環境の悪化によってこの無線通信区間が通信不能状態に陥り、通信装置間でデータの授受が一定時間以上行われなくなると、各通信装置は、そのデータ通信のために実行するアプリケーション(例えばhttpサーバ、ダウンローダ)の処理において、このデータ通信のためのコネクションを切断して、データの授受が完了しないままで、そのデータ通信の処理を中断してしまうことがある。
このようにしてデータ通信の処理が中断してしまえば、通信環境が回復して再び通信装置間の通信が可能となっても、そのデータの授受は途中からではなく、最初から行わねばならない場合がある。例えばデータのダウンロードの処理が通信環境の悪化に伴って途中で終了してしまえば、通信環境が回復したときに、コネクションを再確立するところから始めなければならない。また、データの送信側や受信側がレジューム機能等の特別な機能を有していない限り、そのダウンロードを最初から始めなければならない。
本発明は上記点に鑑み、無線通信区間を介した通信装置間のデータ通信において、無線通信環境が悪化して、その無線通信区間が通信不能となった場合でも、コネクションが切断しないようにすることと、データ授受の処理が中断しないようにすることを目的とする。
上記の目的を達成するための本発明の特徴は、通信回路を用いて第1の通信装置と第2の通信装置との間のデータ通信を中継する通信中継装置が、そのデータ通信の中継における第2の通信装置と自身との間の無線通信区間において通信が不能となっているとき、上記通信回路を用いて、「第1の通信装置と前記第2の通信装置との間のデータ通信が継続していると第1の通信装置に判定させるための偽装データ」を、第1の通信装置に繰り返し送信することである。
このようになっていることで、第2の通信装置と自身との間の無線通信区間が通信不能となっているときでも、自身から第1の通信装置に繰り返し偽装データが送信される。したがって、通信不能となっている間でも、第1の通信装置は、第1の通信装置と前記第2の通信装置との間のデータ通信が継続していると判定し、そのデータ通信のための処理を中断しない。より具体的には、第1の通信装置が、上記の偽装データの送信の繰り返し間隔より長い基準時間以上第2の通信装置からのデータがない場合に、その第2の通信装置とのデータ通信のための処理を中断するようになっている場合では、このような偽装データが繰り返し送られてくることにより、そのデータ通信処理を維持するようになる。
このように、本発明により、無線通信区間を介した通信装置間のデータ通信において、無線通信環境が悪化して、その無線通信区間が通信不能となった場合でも、データ授受の処理が中断しないようになる。
なお、本発明における通信中継装置は、中継するデータを加工してもよい。例えば、第1の通信装置から送信されたデータを通信中継装置が受信し、その受信したデータの一部を変更して、あるいは受信したデータに基づいて新たなデータを生成して、第2の通信装置に送信するようになっていてもよい。その場合でも、第2の通信装置に届くデータは、第1の通信装置から送信されたデータに起因したデータであるという意味で、通信中継装置から送信されたデータであると共に第2の通信装置から送信されたデータでもある。
また、通信中継装置が繰り返し送信する偽装データは、第1の通信装置が送信したデータに対する応答データであってもよい。このようになっていることで、応答データを受信していれば、第2の通信装置との通信が継続していると判断するような第1の通信装置に対応することができる。
また、通信中継装置は、第2の通信装置から前記第1の通信装置へのコンテンツデータのデータ通信を中継するようになっており、かつ、繰り返し送信する偽装データは、そのコンテンツデータであるようになっていてもよい。このようになっていることで、コンテンツデータを受信していれば、第2の通信装置との通信が継続していると判断するような第1の通信装置に対応することができる。
なお、ここでいうコンテンツデータとは、データ通信におけるデータ配送経路制御、データ配送タイミング制御等の通信制御データ以外のデータをいう。コンテンツデータとしては、例えば音楽データ、動画データ、ソフトウェアデータ等がある。
また、通信中継装置は、中継のために第1の通信装置から受信したデータを、第2の通信装置がそのデータを受信するまでバッファリングデータとして蓄積する記憶媒体を備え、かつ、繰り返し送信する偽装データは、当該記憶媒体におけるバッファリングデータの蓄積状態を含んでいてもよい。
このようになっていることで、第1の通信装置は、通信中継装置の記憶媒体におけるバッファリングデータの蓄積状態の情報を取得することができる。そして、例えば第1の通信装置は、この取得した通信中継装置の蓄積状態に基づいて、新たにデータを送信するか否かを切り替えるようになっていてもよい。
この場合、通信中継装置はさらに、無線通信区間が通信不能な状態から通信可能な状態に変化したとき、その無線通信区間において通信が不能となっているときの偽装データの送信繰り返し間隔よりも短い繰り返し間隔で、第1の通信装置に前記偽装データを送信するようになっていてもよい。このようになっていることで、通信中継装置は、無線通信区間が通信不能な状態から通信可能な状態に変化したときの、記憶媒体中のバッファリングデータの蓄積状態の急な変化をより速やかに第1の通信装置に送信することができる。
また、上記のような発明は、通信回路を用いて第1の通信装置と第2の通信装置との間のデータ通信を中継する機能、および、データ通信の中継における第2の通信装置と当該中継位置との間の無線通信区間において通信が不能となっているとき、上記通信回路を用いて、第1の通信装置と第2の通信装置との間のデータ通信が継続していると第1の通信装置に判定させるための制御データを、第1の通信装置に繰り返し送信する機能を、コンピュータに実現させる通信中継プログラムとしても実現可能である。
また、本発明の第2の特徴は、サーバ装置から送信されたクライアント装置宛のコンテンツデータを受信し、この受信したコンテンツデータを、無線通信区間を介して、下流側通信装置に送信する上流側通信中継装置と、上流側通信中継装置から無線通信区間を介して送信されたコンテンツデータを受信し、この受信したコンテンツデータをクライアント装置に送信する下流側通信中継装置と、を有する通信中継システムにおいて、さらに上流側通信中継装置は、上記の無線通信区間において通信が不能となっているとき、サーバ装置からクライアント装置までのコンテンツデータの送信が継続しているとサーバ装置に判定させるための偽装データを、サーバ装置に繰り返し送信し、さらに下流側中継装置は、上記の無線通信区間において通信が不能となっているとき、サーバ装置から前記クライアント装置までのコンテンツデータの送信が継続しているとクライアント装置に判定させるための偽装データを、クライアント装置に繰り返し送信するようになっていることである。
このようになっていることで、上流通信中継装置と下流通信中継装置との間の無線通信区間が通信不能となっているときでも、上流通信中継装置からサーバ装置に、下流通信中継装置からクライアント装置に、それぞれ偽装データが繰り返し送信される。したがって、この無線通信区間が通信不能となっている間でも、サーバ装置およびクライアント装置は、それらの間のコンテンツデータの送信が継続していると判定し、そのコンテンツデータの通信のための処理を中断しない。
このように、本発明により、無線通信区間を介したサーバ装置−クライアント装置間のコンテンツデータ通信において、無線通信環境が悪化して、その無線通信区間が通信不能となった場合でも、データ授受の処理が中断しないようになる。
以下、本発明の一実施形態について説明する。図1に、本発明に係る通信中継システムの全体構成図を示す。この通信中継システムは、サーバ1、有線ネットワーク2、無線基地局3、無線移動局4、有線ネットワーク5、端末6を有している。サーバ1と無線基地局3とは、インターネット等の広域ネットワークまたはLANである有線ネットワーク2を介してデータ通信可能となっている。また無線移動局4と端末6とはインターネット等の広域ネットワークまたはLANである有線ネットワーク5を介してデータ通信可能となっている。また、無線基地局3と無線移動局4は、互いに無線接続し、その接続によって確立した無線通信区間7を介してデータ通信可能となる。これらのデータ通信において本実施形態で用いられる通信プロトコルは、TCP/IPプロトコルである。
本実施形態においては、有線ネットワーク2、無線基地局3、無線通信区間7、無線移動局4、および有線ネットワーク5を介したデータ通信により、サーバ1と端末6とがコネクションを確立し、そのコネクションを用いて、サーバ1から端末6に、画像データ、動画データ、音楽データ、プログラム等のコンテンツデータが送信されるようになっている。サーバ1としては、例えばhttpサーバアプリケーションを実行するパーソナルコンピュータが考えられる。また、端末6としては、例えばコンテンツデータのダウンロードを行うWebブラウザアプリケーションを実行するパーソナルコンピュータ、車両用ナビゲーション装置等が考えられる。
このとき、無線基地局3および無線移動局4は、そのコンテンツデータの送信の中継を行う。さらに本実施形態においては、無線基地局3および無線移動局4は、無線通信区間7が通信不能となっているとき、サーバ1と端末6との間のデータ通信のコネクションが継続しているとサーバ1および端末6に判定させるための偽装データを、サーバ1および端末6に定期的に送信するようになっている。
このようなサーバ1、無線基地局3、無線移動局4、端末6のハードウェア構成を図2〜図5にブロック図で示す。
図2は、サーバ1のブロック図である。サーバ1は、RAM11、ROM12、HDD(ハードディスクドライブ)13、ネットワークインターフェース(図中ではネットワークI/Fと記す)14、およびCPU17を有している。
ネットワークインターフェース14は、無線基地局3から有線ネットワーク2に送出されたサーバ1宛のデータを受信し、それをCPU17が認識できる形式に変換してCPU17に出力する。また、ネットワークインターフェース14は、CPU17から受けた最終目的地を端末6とし、経由地を無線基地局3とするデータを、TCP/IP通信プロトコルに適合するように加工し、この加工したデータを有線ネットワーク2に送出する。
CPU17は、ROM12およびHDD13から読み出したサーバ1の動作のためのプログラムを実行し、その実行の際には必要に応じてRAM11、ROM12、HDD13から情報を読み出し、RAM11、HDD13に対して情報の書き込みを行い、ネットワークインターフェース14と通信データの授受を行う。
本実施形態におけるCPU17がプログラムを実行することで行う作動は、以下の通りである。すなわち、CPU17は、端末6に送信すべきコンテンツデータをHDD13から読み出し、そのコンテンツデータを、端末6を最終目的地とし、経由地を無線基地局3とする情報を有する複数のパケット(より具体的にはIPデータグラム)に分割し、そのパケットをネットワークインターフェース14に出力する。
また、CPU17は、コンテンツデータをパケットに分けてネットワークインターフェース14に出力する際、そのパケットが、当該コンテンツデータのどの位置(具体的には何バイト目)からのデータを有しているかを示すためのシーケンス番号を、そのパケットに含める。
ただし、送信すべきコンテンツデータのうち、CPU17がネットワークインターフェース14に出力するデータは、無線基地局3からのACK(応答データに相当する)データによって制限される。具体的には、CPU17は、ネットワークインターフェース14が受信した無線基地局3からのACKデータを受けると、そのACKに含まれるACK番号に、同じくそのACKに含まれる許容バッファサイズ(より具体的にはウィンドウサイズ)を加算し、送信すべきコンテンツデータの当該ACK番号に該当する位置の次のデータから、その加算した結果の値(単位は例えばバイト)までのデータを、ネットワークインターフェース14に出力する。そしてそれ以降のデータについては、新たに無線基地局3からのACKデータを受けるまでその送信を待つ。
また、CPU17は、所定の時間(例えば10分)、無線基地局3からACKデータを受けないままであると、端末6とのコネクションが途絶えたと判定し、送信すべきコンテンツデータの送信処理を終了する。
以上のようなCPU17の作動は、通常のTCPプロトコルに従うものである。
図3は、無線基地局3のブロック図である。無線基地局3は、RAM31、ROM32、HDD33、ネットワークインターフェース(図中ではネットワークI/Fと記す)34、無線インターフェース(図中では無線I/Fと記す)35、アンテナ36、およびCPU37(コンピュータに相当する)を有している。
ネットワークインターフェース34は、サーバ1から有線ネットワーク2に送出された無線基地局3を経由地とする旨のデータを受信し、それをCPU37が認識できる形式に変換してCPU37に出力する。また、ネットワークインターフェース34は、CPU37から受けた宛先をサーバ1とするデータを、TCP/IP通信プロトコルに適合するように加工し、この加工したデータを有線ネットワーク2に送出する。
無線インターフェース35は、アンテナ36から受けた信号に対して所定の無線通信プロトコルおよびTCP/IPプロトコルに従った周波数変換、復調、増幅、A/D変換等を行い、その結果のデータをCPU37に出力し、またCPU37から受けたデータに対して所定の無線通信プロトコルおよびTCP/IPプロトコルに従ったD/A変換、増幅、変調、周波数変換等を行い、その結果の信号を、無線移動局4に届くよう、アンテナ36に出力する。また無線インターフェース35は、無線移動局4からの信号の受信電力レベルを特定し、その受信電力レベルを示す受信レベル信号をCPU37に出力する。
CPU37は、ROM32およびHDD33から読み出した無線基地局3の動作のためのプログラムを実行し、その実行の際には必要に応じてRAM31、ROM32、HDD33から情報を読み出し、RAM31、HDD33に対して情報の書き込みを行い、ネットワークインターフェース34および無線インターフェース35と通信データの授受を行う。CPU37の具体的な作動については後述する。
図4は、無線移動局4のブロック図である。無線移動局4は、RAM41、ROM42、HDD43、ネットワークインターフェース(図中ではネットワークI/Fと記す)44、無線インターフェース(図中では無線I/Fと記す)45、アンテナ46、およびCPU47(コンピュータに相当する)を有している。
ネットワークインターフェース44は、端末6から有線ネットワーク5に送出された無線移動局4を経由地とする旨のデータを受信し、それをCPU47が認識できる形式に変換してCPU47に出力する。また、ネットワークインターフェース44は、CPU47から受けた宛先を端末6とするデータを、TCP/IP通信プロトコルに適合するように加工し、この加工したデータを有線ネットワーク5に送出する。
無線インターフェース45は、アンテナ46から受けた信号に対して所定の無線通信プロトコルおよびTCP/IPプロトコルに従った周波数変換、復調、増幅、A/D変換等を行い、その結果のデータをCPU47に出力し、またCPU47から受けたデータに対して所定の無線通信プロトコルおよびTCP/IPプロトコルに従ったD/A変換、増幅、変調、周波数変換等を行い、その結果の信号を、無線基地局3に届くよう、アンテナ46に出力する。また無線インターフェース45は、無線基地局3からの信号の受信電力レベルを特定し、その受信電力レベルを示す受信レベル信号をCPU47に出力する。
CPU47は、ROM42およびHDD43から読み出した無線移動局4の動作のためのプログラムを実行し、その実行の際には必要に応じてRAM41、ROM42、HDD43から情報を読み出し、RAM41、HDD43に対して情報の書き込みを行い、ネットワークインターフェース44および無線インターフェース45と通信データの授受を行う。CPU47の具体的な作動については後述する。
図5は、端末6のブロック図である。端末6は、RAM61、ROM62、HDD63、ネットワークインターフェース(図中ではネットワークI/Fと記す)64、およびCPU67を有している。
ネットワークインターフェース64は、無線基地局4から有線ネットワーク5に送出された端末6宛のデータを受信し、それをCPU67が認識できる形式に変換してCPU67に出力する。また、ネットワークインターフェース64は、CPU67から受けた最終目的地をサーバ1とし、経由地を無線移動局4とするデータを、TCP/IP通信プロトコルに適合するように加工し、この加工したデータを有線ネットワーク5に送出する。
CPU67は、ROM62およびHDD63から読み出した端末6の動作のためのプログラムを実行し、その実行の際には必要に応じてRAM61、ROM62、HDD63から情報を読み出し、RAM61、HDD63に対して情報の書き込みを行い、ネットワークインターフェース64と通信データの授受を行う。
本実施形態におけるCPU67がプログラムを実行することで行う作動は、以下の通りである。すなわち、CPU67は、サーバ1が発信元となり、無線移動局4が端末6宛に送信し、ネットワークインターフェース64が受信したコンテンツデータを受けると、そのコンテンツデータをRAM61またはHDD13に蓄積する。また、CPU67は、現在受信しているサーバ1発のコンテンツデータのパケットを所定期間(例えば10分)以上受けることがなかった場合、サーバ1とのコネクションが途絶えたと判定し、そのコンテンツデータの受信処理を終了する。
次に、無線基地局3および無線移動局4による、サーバ1から端末6へ送信されるコンテンツデータの中継のための処理について説明する。図6〜図12は、その処理のために無線基地局3のCPU37、または無線移動局4のCPU47が実行するプログラムのフローチャートである。
CPU37は、端末6とのコネクションが継続している間は、常時図6の下り受信用プログラム100、図7の上り送信用プログラム200、図8の下り送信用プログラム300、および図10の上り受信用プログラム500を並列的に実行する。
CPU47は、サーバ1とのコネクションが継続している間は、常時図6の下り受信用プログラム100、図9の上り送信用プログラム400、図10の上り受信用プログラム500、および図12の下り送信用プログラム600を並列的に実行する。
これらのプログラム100〜600を実行することによるCPUC37、CPU47の作動は、大きく分けて、無線通信区間7が通信可能である場合の作動、および、通信不能である場合の作動の、2つの作動形態を有している。CPU37およびCPU47は、無線通信区間7が通信可能であるか否かを、それぞれ無線インターフェース35および無線インターフェース45からの受信電力レベル信号が示す受信電力レベルが、所定の基準電力レベルより高いか否かによって特定する。
以下、まず無線通信区間7が通信可能である場合の、CPU37およびCPU47の中継のための作動について説明する。
まず、無線基地局3のCPU37は、サーバ1からのデータ受信のための下り受信用プログラム100の実行において、ステップ110で、サーバ1からのデータをネットワークインターフェース34を介して受信するまで待つ。
そして、サーバ1からデータを受信すると、続いてステップ120で、受信したデータが通常データ、すなわちコンテンツデータであるか否かを判定する。コンテンツデータでないデータとは、コネクションの開始、終了、配送制御等の制御データをいう。制御データとしては、より具体的には、例えばSYN、SYN−ACK、FIN、FIN−ACKデータがある。
制御データを受信した場合、続いてステップ130で、その制御データに基づいて、TCP/IPの規定に沿った通常の処理を行い、続いてステップ140で、現在のサーバ1から端末6へのコンテンツデータの中継のための、サーバ1との通信コネクションを開放するか否かを、受信した制御データがFINデータまたはFIN−ACKであるか否かによって判定する。そして、サーバ1との通信コネクションを開放する場合、実際にコネクションを開放して下り受信用プログラム100の実行を終了する。また、コネクションを開放しない場合、再びステップ110でサーバ1からのデータ受信を待つ。
ステップ120で通常データを受信した場合、続いてステップ150で、受信したデータ中の(具体的にはTCPセグメント中の)シーケンス番号を読み出し、このシーケンス番号の値を、送信ACK番号を示す変数に代入する。なお、既述の通り、サーバ1からのコンテンツデータのパケットには、そのパケットが、当該コンテンツデータのどの位置からのデータを有しているかを示すためのシーケンス番号が含まれている。したがって、この送信ACK番号を示す変数は、無線基地局3が中継のためにそれまでに受信したコンテンツデータの総サイズを示す値であるといえる。
続いてステップ160では、許容バッファサイズを示す変数を更新する。この許容バッファサイズを示す変数は、後に(図7のステップ215参照)サーバ1にACKデータを送信するときに用いる変数である。この許容バッファサイズを示す変数は、後述するように、無線基地局3のRAM31またはHDD33に割り当てられた、コンテンツデータのバッファ用の領域の空き容量を示す変数である。このステップ160の処理の詳細は後述する。ステップ160に続いては、再びステップ110でサーバ1からのデータの受信を待つ。
以上のような下り受信用プログラム100をCPU37が実行することで、無線基地局3は、サーバ1からコンテンツデータを受信すると、その受信したデータ中のシーケンス番号に基づいて、自身が有するコンテンツデータ用のバッファ領域の現在の空き容量である許容バッファサイズを更新する。また、サーバ1から制御データを受信すると、その制御データに応じた処理を行う。
また、CPU37は、図7の上り送信用プログラム200の実行において、ステップ205で、上述のように無線通信区間7が通信可能であると判定し、続いてステップ210で、前回のこのステップ210の実行以降、上述の下り受信用プログラム100のステップ150で送信ACK番号を示す変数が更新されたか否かを判定し、更新されるまで、ステップ205、210の処理を繰り返す。更新されている場合、新たにサーバ1からコンテンツデータを受信していることになるので、続いてステップ215で、サーバ1を宛先とするACKデータをネットワークインターフェース34に出力する。ここで、その出力するACKデータ中に含める送信ACK番号は、現在の送信ACK番号を示す変数の値とし、また、その出力するACKデータ中に含める許容バッファサイズ(具体的にはウィンドウサイズ)は、現在の許容バッファサイズを示す変数の値とする。
これによって、無線基地局3からサーバ1にACKデータが渡され、サーバ1は、この受信したACKデータ中の送信ACK番号および許容バッファサイズに基づいて、送信すべきコンテンツデータの、(送信ACK番号+1)番目の位置(具体的にはバイト単位)から、(送信ACK番号+許容バッファサイズ)番目の位置までのデータを、端末6を最終目的地として無線基地局3に送信するようになる。
なお、以降では、コンテンツデータのうち、あるACKデータに含まれる送信ACK番号に該当する位置の次のデータから、そのACKデータに含まれる(送信ACK番号+許容バッファサイズ)に該当する位置のデータまでを、「コンテンツデータのうち、そのACKデータによって送信要求されたデータ」と呼ぶ。
続いてステップ220で、下り受信用プログラム100において、サーバ1との通信コネクションが開放されたか否かを判定し、開放されていれば上り送信用プログラム200の実行を終了し、開放されていなければ再びステップ205の判定に戻る。
このように、上り送信用プログラム200をCPU37が実行することで、無線基地局3は、サーバ1からのコンテンツデータを受ける度に(ステップ210参照)、それに対応する、自身のバッファの空き容量状況(すなわち蓄積状態)と、現在までに受信したコンテンツデータのサイズ(送信ACK番号に該当する)を含むACKデータを、サーバ1宛に送信する(ステップ215参照)。
また、CPU37は、中継のため、受信したコンテンツデータを無線移動局4に転送するための、図8に示す下り送信用プログラム300の実行において、ステップ310で、上述のように無線通信区間7が通信可能であると判定し、続いてステップ320で、無線移動局4に送信すべきコンテンツデータがあると判定するまで、ステップ310および320を繰り返す。
送信すべきコンテンツデータがあるか否かは、サーバ1から受信したコンテンツデータのうち、後述する図10の上り受信用プログラム500の実行によって無線移動局4から受信した最新のACKデータによって送信要求されたデータがあるか否かによって判定する。送信すべきデータがあると、続いてステップ330でその送信すべきデータをパケットに分け、端末6を最終目的地とし、経由地を無線移動局4として送信するため、無線インターフェース35に出力する。なお、このコンテンツデータ送信の際には、そのパケットが、当該コンテンツデータのどの位置(具体的には何バイト目)からのデータを有しているかを示すためのシーケンス番号を、そのパケットに含める。
ステップ330に続いては、ステップ340で、コンテンツデータをバッファリングする。バッファリングとは、上述したバッファリング用の領域に、データを格納させることをいう。バッファリングの対象となるコンテンツデータは、サーバ1から受信したコンテンツデータのうち、後述する上り受信用プログラム500のステップ550の実行において受信ACK番号を示す変数に代入される、無線移動局4からのACKデータに含まれるACK番号に該当する位置の次の位置以降のコンテンツデータである。ただし、既にバッファリングされているデータについては再度バッファリングは行わない。
このようにデータをバッファリングするのは、無線移動局4から受信確認がないデータは、一度送信した後から再送要求を受ける可能性があるからである。
ステップ340に続いてステップ350では、後述する上り受信用プログラム500の実行時に、無線移動局4との通信コネクションが開放されているかを判定し、開放されていれば下り送信用プログラム300の実行を終了し、開放されていなければステップ310、320の実行に戻る。
以上のような下り送信用プログラム300をCPU37が実行することで、無線基地局3は、サーバ1から受信したコンテンツデータのうち、必要なものを、TCPプロトコルに従って、無線移動局4に送信する。
このコンテンツデータを受ける側の無線移動局4のCPU47は、コンテンツデータ受信のためのプログラムとして、上述の図6に示した下り受信用プログラム100を実行する。この下り受信用プログラム100をCPU47が実行することで、無線移動局4は、無線基地局3からコンテンツデータを受信すると、その受信したデータ中のシーケンス番号に基づいて、そのシーケンス番号を送信ACK番号を示すとして記憶させ、自身が有するコンテンツデータ用のバッファ領域の現在の空き容量である許容バッファサイズを更新する。また、無線移動局4から制御データを受信すると、その制御データに応じた処理を行う。
また、CPU47は、無線基地局3に制御データを送信するための図9に示す上り送信用プログラム400の実行において、ステップ405〜420に示すような処理を行う。ここで、ステップ405、410、415、420は、それぞれ、CPU37が実行する上り送信用プログラム200のステップ205、210、215、220の処理と同等である。ただし、ステップ415におけるACKデータの送信先は、無線基地局3である。
このように、上り送信用プログラム400をCPU47が実行することで、無線移動局4は、無線基地局3からのコンテンツデータを受ける度に(ステップ410参照)、それに対応する、自身のバッファの空き容量状況と、現在までに受信したコンテンツデータのサイズ(送信ACK番号に該当する)を含むACKデータを、無線基地局3宛に送信する(ステップ415参照)。
また、このようなACKデータを受信する側の無線基地局3のCPU37は、無線移動局4からの制御データ受信のための、図10に示す上り受信用プログラム500の実行において、まずステップ510で、無線移動局4からの制御データを無線インターフェース35を介して受信するまで待ち、受信すると、続いてステップ520で、その制御データが、無線基地局3がコンテンツデータを送信したことに基づくACKデータであるか、あるいはSYN、SYN−ACK、FIN、FIN−ACK等の、それ以外の制御データであるかを判定する。
コンテンツデータに対するACKでない場合は、続いてステップ530で、下り受信用プログラム100のステップ130と同様のパケット処理を行い、続いてステップ540で、受信した制御データがFINまたはFIN−ACKであれば、無線移動局4との通信コネクションを開放して上り受信用プログラム500の実行を終了し、FINでもFIN−ACKでもなければ、続いてステップ510を再度実行する。
ステップ520でコンテンツデータに対するACKであると判定した場合、続いてステップ550で、受信したACKデータに含まれるACK番号の値を、受信ACK番号を示す変数に代入する。この受信したACKデータに含まれるACK番号の値は、前述の通り、無線移動局4が現時点で受信したコンテンツデータの量を示している。
続いてステップ555では、バッファの一部を削除する。削除する一部は、具体的には、現在の受信ACK番号を示す変数の値より以前の位置のコンテンツデータである。このように削除するのは、無線移動局4が受信したことが確認できたデータはもはやバッファリングしておく必要がないからである。
続いてステップ160で、下り受信用プログラム100のステップ160と同様、許容バッファサイズの更新を行う。この許容バッファサイズを示す変数の更新処理の詳細のフローチャートを、図11に示す。
この図に示すように、許容バッファサイズを示す変数の更新処理においては、まず現在の送信ACK番号を示す変数から現在の受信ACK番号を示す変数を減算し、その減算結果があるデータサイズMより小さいか否かを判定する(ステップ162)。そして、当該減算結果があるデータサイズMより小さい場合は、そのサイズMから当該減算結果を減算した値を、許容バッファサイズを示す変数に代入する(ステップ164)。そして、当該減算結果があるデータサイズMと同じかあるいは大きい場合は、許容バッファサイズを示す変数にゼロを代入する(ステップ166)。
ここで、データサイズMは、無線基地局3のRAM31またはHDD33に割り当てられた、コンテンツデータのバッファ用の領域の最大容量である。したがって、許容バッファサイズを示す変数は、コンテンツデータのバッファ用の領域の空き容量を示す値となる。
このように、許容バッファサイズを示す変数の値は、サーバ1からコンテンツデータを受信したときに、下り受信用プログラム100のステップ160の実行によって減少し、無線基地局3からACKデータを受信したときに上り受信用プログラム500のステップ160の実行によって増加する。
また、無線移動局4は、中継のため、無線基地局3から受信したコンテンツデータを端末6に送信するための、図12の下り送信用プログラム600の実行において、ステップ610で、上述の通り無線通信区間7が通信可能であると判定し、以降ステップ620,〜650を実行する。ここで、ステップ620、630、640、650の処理は、それぞれ、図8に示した下り送信用プログラム300のステップ320、330、340、および350の処理と同等である。ただし、下り送信用プログラム300においては、送受信の対象が無線移動局4であったのに対し、下り送信用プログラム600においては、送受信の対象が端末6であることが異なる。
以上のような下り送信用プログラム600をCPU47が実行することで、無線移動局4は、無線基地局3から受信したサーバ1発のコンテンツデータのうち、必要なものを、TCPプロトコルに従って、端末6に送信する。
以上説明した通り、無線通信区間7が通信可能な状態においては、サーバ1と無線基地局3との間において、サーバ1が無線基地局3にコンテンツデータを送信し、無線基地局3がそのコンテンツデータの受信に基づいてACKデータをサーバ1に送信することで、コンテンツデータの受け渡しが進行する。また、無線基地局3と無線移動局4との間において、無線基地局3が無線移動局4にコンテンツデータを送信し、無線移動局4がそのコンテンツデータの受信に基づいてACKデータを無線基地局3に送信することで、コンテンツデータの受け渡しが進行する。また、無線移動局4と端末6との間において、無線移動局4が端末6にコンテンツデータを送信し、端末6がそのコンテンツデータの受信に基づいてACKデータを無線移動局4に送信することで、コンテンツデータの受け渡しが進行する。このように、サーバ1と無線基地局3、無線基地局3と無線移動局4、および無線移動局4と端末6が、それぞれ他とは独立したTCPコネクションを確立して、データ受け渡しを行いながら、サーバ1から無線基地局3、無線移動局4、端末6へと、コンテンツデータが中継されていく。そして、サーバ1は無線基地局3からACKデータを受けることで、端末6とのコネクションが継続していると判定し続ける。また、端末6は無線移動局4からコンテンツデータを受けることで、サーバ1とのコネクションが継続していると判定し続ける。
次に、無線通信区間7の通信が不能となった場合の通信中継システムの作動について説明する。この場合、無線基地局3および無線移動局4はそれぞれ、サーバ1と端末6との間のデータ通信のコネクションが継続しているとサーバ1および端末6に判定させるための偽装データを、サーバ1および端末6に定期的に送信するようになっている。以下、このときの作動について具体的に説明する。
この場合においては、無線基地局3のCPU37は、下り受信用プログラム100については、無線通信区間7が通信可能な場合と同じように実行し、下り送信用プログラム300については、ステップ310で、通信不能であると判定し続ける。また、上り受信用プログラム500については、無線通信区間7が通信不能であるので、ステップ510でデータ受信しないと判定し続ける。
また、上り送信用プログラム200の実行においては、ステップ205で無線通信区間7が通信不能であると判定し、続いてステップ225で、時間経過を計測するタイマを0からスタートさせる。
続いてステップ230で、無線通信区間7が通信可能でないと判定し、続いてステップ235で上述のタイマが満了したか否かを判定する。タイマが満了したとは、タイマの計測による時間が所定の満了時間(例えば1分)を経過したことをいう。所定の満了時間としては、ACKの送信量の増大によって有線ネットワーク2に対して輻輳等の大きな影響を与えない程度の長い時間であり、かつ、サーバ1がACKデータをタイムアウト時間以上受信しないことで、サーバ1と端末6とのコネクションが途絶したと判断することがない程度に短い時間である。この所定値は、固定値であってもよいし、例えば無線基地局3がサーバ1に対してタイムアウト時間のデータを要求し、サーバ1がそれに応じてタイムアウト時間のデータを無線基地局3に送信することで、無線基地局3が満了時間をそのタイムアウト時間に設定するようになっていてもよい。タイマが満了していると、続いてステップ240を実行し、満了していないと、続いてステップ230、235を実行する。
タイマが満了した後のステップ240では、サーバ1への送信のため、ACKデータをネットワークインターフェース34に出力する。ここで送信するACKデータに含めるACK番号、および許容バッファサイズは、ステップ215と同様、現在の送信ACK番号を示す変数の値、および現在の許容バッファサイズを示す変数の値である。
ステップ240に続いては、ステップ255で、タイマを終了させ、ステップ220で、上述した通り通信コネクションの開放があったか否かを判定し、開放しない場合は、続いてステップ205、225を実行し、開放した場合は、上り送信用プログラム200の実行を終了する。
このようなCPU37の作動により、無線基地局3は、無線通信区間7が通信不能であると判定した場合、満了時間が経過する度に、サーバ1に対してACKデータの送信を繰り返す。上述した通り、サーバ1は、タイムアウト間隔より短い間隔で無線基地局3からACKデータを受け続けている限り、端末6との通信コネクションが継続していると判定するので、サーバ1がコンテンツデータの送信のための処理を終了しなくなる。その意味で、無線通信区間7が通信不能のときに無線基地局3がサーバ1に送信する制御データとしてのACKデータは、サーバ1と端末6との間のデータ通信が継続しているとサーバ1に判定させるための偽装データである。なお、無線基地局3は、長期間(例えば1時間)無線通信区間7が通信不能のままであれば、サーバ1に偽装データを送信することを止めるようになっていてもよい。
なお、上述の通り、送信ACK番号を示す変数の値は、サーバ1からコンテンツデータを受信したときに下り受信用プログラム100のステップ150の実行によって増大する。また、許容バッファサイズを示す変数の値は、サーバ1からコンテンツデータを受信したとき減少し、無線移動局4からACKデータを受信したときに減少する。したがって、無線通信区間7が通信不能の場合、無線移動局4からはACKデータを受信することがないので、サーバ1からコンテンツデータを受信する度に、送信ACK番号を示す変数の値は増大し続け、許容バッファサイズを示す変数の値は減少し続ける。
そして、許容バッファサイズを示す変数の値がゼロとなって以降は、サーバ1に対して許容バッファサイズがゼロのACKデータが、満了時間の経過の度に送信されるので、サーバ1は、送信処理の終了はしない。また、コンテンツデータの送信について待機状態に入る。すると、無線基地局3側では、送信ACK番号を示す変数の値が変化しなくなる。したがって、許容バッファサイズの変数の値がゼロとなって以降は、無線通信区間7が通信不能である限り、送信されるACK中の許容バッファサイズおよびACK番号は、変化しない。
また、無線通信区間7が通信不能の場合、無線移動局4は、下り受信用プログラム100については、ステップ110で無線基地局3からデータ受信しないと判定し続ける。また、上り送信用プログラム400については、ステップ405で無線通信区間7が通信不能であると判定し続ける。また、上り受信用プログラム500については、無線通信区間7が通信可能な場合と同様の処理を行う。
また、下り送信用プログラム600の実行においては、まずステップ610で、無線通信区間7が通信不能であると判定し、続いてステップ655で、バッファリング用の領域にバッファリングしているコンテンツデータがあるか否かを判定し、あれば上述したステップ630〜650によって、そのデータの送信およびバッファリングを行い、コネクションの開放があるまでは再びステップ610、655を実行する。
また、バッファリングしているコンテンツデータが無い場合、続いてステップ660で、時間経過を計測するタイマを0からスタートさせ、続いてステップ665で無線通信区間7が通信不能であると判定し、続いてステップ670でタイマ満了か否かを判定し、満了していなければ続いてステップ665、670を再度実行する。なお、タイマ満了か否かの判定については、上り送信用プログラム200のステップ235と同様である。
タイマが満了していれば、続いてステップ675で、タイマを終了し、ステップ680で、端末6に送信するために、偽装データをネットワークインターフェース44に出力する。偽装データとしては、端末6とサーバ1との間のデータ通信が継続していると端末6に判定させることができるデータであれば、どのようなものでもよい。例えば、最後に端末6に送信したコンテンツデータパケットと、送信ACK番号および内容(ペイロード)が全く同じパケットであってもよいし、内容がでたらめで、端末6の受信において受信データの整合性チェック(例えばチェックサムチェック)に失敗するようなコンテンツデータであってもよい。これら例示したデータは、本来届くはずのないデータであるので、誤りデータであるということができる。
ステップ680に続いては、ステップ650で、上述した通り通信コネクションの開放があったか否かを判定し、開放しない場合は、続いてステップ610、655を実行し、開放した場合は、下り送信用プログラム600の実行を終了する。
このようになっているので、無線移動局4は、無線通信区間7が通信不能の場合、バッファリングしているコンテンツデータがあれば、それを端末6に送信し、バッファリングデータが無くなれば、タイマ満了時間が経過する度に、繰り返し偽装データを端末6に送信する。このようになっているので、端末6でのタイムアウト間隔より短い間隔で偽装データを受信し続けている限り、端末6は、サーバ1とのデータ通信が継続していると判定するので、受信のための処理を終了することがない。なお、無線移動局4は、長期間(例えば1時間)無線通信区間7が通信不能のままであれば、端末6に偽装データを送信することを止めるようになっていてもよい。
次に、無線通信区間7が通信不能状態から通信可能状態となった場合について説明する。このとき、無線基地局3のCPU37は、上り送信用プログラム200の実行において、ステップ230で通信可能であると判定し、続いてステップ245で、ステップ215と同様に、サーバ1に送信するためにACKデータをネットワークインターフェース34に出力する。続いてステップ250で、ステップ210と同様に、送信ACK番号を示す変数が更新されたかを判定する。そして、更新されていれば続いてステップ255でタイマを終了し、通信コネクション開放が行われない限り、ステップ220、205、210が続いて実行され、通常の無線通信区間7が通信可能な状態の作動に戻る。また、送信ACK番号を示す変数が更新されていなければ、ステップ230、245を再度実行する。
このようになっているので、無線通信区間7が通信可能な状態に戻ると、CPU37は、タイマの満了を待たずに、繰り返しACKデータをサーバ1に送信するので、ACKデータの送信周期が、無線通信区間7が通信不能であったときに比べ、短くなる。
このようになることで、無線通信区間7の回復によって無線基地局3から無線移動局4へのコンテンツデータの送信が再開し(下り送信用プログラム300のステップ330)、無線基地局3における許容バッファサイズの値がゼロから増える(上り受信用プログラム500のステップ160)ことを、いち早くサーバ1に伝えることができ、それにより、サーバ1はいち早くコンテンツデータの送信を再開することができる。
また、無線通信区間7が回復したときにサーバ1が最初に送信の要求を受けるデータが再送データである場合、すなわち、サーバ1が一度送信したコンテンツデータに対応するACK番号を含むACKデータを、CPU37がサーバ1に送信する場合、通常のTCPの規格によれば、サーバ1はその再送要求のデータを3度以上受けて初めて、実際にそのコンテンツデータの再送信を行うようになっている。このような場合においても、上記のようにCPU37が短周期でACKを繰り返し送信すれば、サーバ1からのコンテンツデータの再送がいち早く始まることになる。
また、無線通信区間7が通信不能状態から通信可能状態となったとき、無線移動局4のCPU47は、下り送信用プログラム600の実行において、ステップ665で無線通信区間7が通信可能となったと判定し、続いてステップ675でタイマを終了し、ステップ680で偽装データを送信し、通信コネクション開放が行われない限り、ステップ650、610、620が続いて実行され、通常の無線通信区間7が通信可能な状態の作動に戻る。
なお、無線通信区間7が通信不能状態となった後に無線通信区間7が通信可能状態に復帰する場合、サーバ1と端末6とが同一のIPアドレスを有することが望ましいが、これを実現する方法として、無線通信区間7において通信不能となる前後において、端末6が接続する基地局の属するセグメントに変更がなければ、サーバ1、端末6が固定IPアドレスを有するようになっていてもよい。また、端末6側に無線通信区間7における無線接続のために動的IPアドレスが割り当てられる場合は、そのアドレスを割り当てる装置が、端末6の識別情報および使用IPアドレスを記憶しており、無線通信区間7が再度無線通信区間7において無線接続したときに、その記憶している情報に基づいて、無線切断前と同じIPアドレスを付与するようになっていてもよい。
また、IPv6のモバイルIPの技術を用いれば、無線通信区間7において通信不能となる前後において、端末6のIPアドレスに変更があっても、サーバ1と端末6との間の通信は継続する。
ここで、本実施形態の構成要素と特許請求の範囲における構成要素との対応関係についてまとめる。上記の実施形態において、無線基地局3および無線移動局4が、それぞれ独立に通信中継装置に相当する。また、無線基地局3が通信中継装置であるとした場合、サーバ1が第1の通信装置に相当し、無線移動局4または端末6が第2の通信装置に相当する。また、無線移動局4が通信中継装置であるとした場合、端末6が第1の通信装置に相当し、サーバ1または無線基地局3が第2の通信装置に相当する。
また、無線基地局3のネットワークインターフェース34および無線インターフェース35、無線移動局4のネットワークインターフェース44および無線インターフェース45が、通信回路に相当する。
また、無線基地局3のCPU37が、下り受信用プログラム100、上り送信用プログラム200のステップ205、210、215、220、下り送信用プログラム300、上り受信用プログラム500を実行することで、中継手段および上流側中継手段として機能する。
また、無線移動局4のCPU47が、下り受信用プログラム100、上り送信用プログラム400、上り受信用プログラム500、下り送信用プログラム600のステップ610、620、630、640、650を実行することで、中継手段および下流側中継手段として機能する。
また、無線基地局3のCPU37が、上り送信用プログラム200のステップ225、230、235、240、245、250、255を実行することで、送信制御手段および上流側送信制御手段として機能する。
また、無線移動局4のCPU47が、下り送信用プログラム600の655、660、665、670、675、680を実行することで、送信制御手段および下流側送信制御手段として機能する。
また、無線基地局3が、上流側通信中継装置に相当し、ネットワークインターフェース34および無線インターフェース35が、上流側通信回路に相当する。
また、無線移動局4が、下流側通信中継装置に相当し、ネットワークインターフェース44および無線インターフェース45が、下流側通信回路に相当する。
また、サーバ1がサーバ装置に相当し、端末6がクライアント装置に相当する。
なお、上記実施形態においては、無線基地局3および無線移動局4が、それぞれサーバ1および端末6に偽装データを送信しているが、無線基地局3がサーバ1のみに偽装データを送信するだけであっても、無線移動局4が端末6に偽装データを送信するだけであってもよい。この場合は、それぞれ、サーバ1がサーバ1と端末6の間のデータ通信が持続していると判定するようになるか、あるいは、端末6がサーバ1と端末6の間のデータ通信が持続していると判定するようになるかのいずれかであるが、それでも一定の効果がもたらされる。
また、上記の実施形態においては、通信中継システムにおける通信プロトコルとしてTCP/IPを例示したが、これはあくまでも一例であって、TCPプロトコルに従う必要も、IPプロトコルに従う必要もない。
また、上記の実施形態においては、無線通信区間7が通信可能か否かを、受信電力レベル信号が、所定の基準電力レベルより高いか否かで特定していたが、ビットエラーレート、パケットエラーレートで特定することもできる。
また、無線移動局4と端末6は1つの機器(例えば車両用ナビゲーション装置や携帯電話)としてまとまっており、その機器内の信号線を介してデータをやりとりしていてもよい。
また、上記の実施形態においては、無線基地局3および無線移動局4のCPU37、47は、無線通信区間7が通信不能であることを判定し、通信不能である場合にのみ、偽装データを送信しているが、無線基地局3および無線移動局4は、必ずしも無線通信区間7が通信不能であることを判定する機能を有さなくともよい。例えば、無線基地局3および無線移動局4は、無線通信区間7が通信不能であるとないとに関わらず、常に偽装データを繰り返し所定の間隔で送信するようになっていてもよい。
また、無線基地局3からサーバ1に送信される偽装データは、ACKデータとなっているが、必ずしもこのようになっておらずともよい。偽装データは、サーバ1と端末6との間のデータ通信が継続しているとサーバ1に判定させるためのものであれば、どのようなものであってもよい。
また、通信中継装置、上流側通信中継装置は、必ずしも上記の実施形態のように無線基地局3として実現するようになっていなくともよく、有線ネットワーク2に接続された無線基地局3以外の通信機器が、通信中継装置、上流側通信中継装置の機能を実現するようになっていてもよい。
例えば、サーバ1がインターネット等の広域ネットワークに接続されている場合、無線基地局3を含めた複数の無線基地局が接続する基地局ネットワークと、インターネット等の広域ネットワークとの間の通信を中継するルータが、通信中継装置、上流側通信中継装置としての機能を実現してもよい。このためには、当該ルータのCPUが、下り受信用プログラム100、上り送信用プログラム200、下り送信用プログラム300、および上り受信用プログラム500を実行するようになっていればよい。
その際、当該CPUによる各プログラムの実行において、無線通信区間が通信可能であるか否かの判定は、当該基地局ネットワーク内の各無線基地局から当該ルータに送信される、それぞれの無線基地局についての無線通信区間が通信可能であるか否かの情報に基づいて行えばよい。より詳しくは、当該CPUは、当該基地局ネットワーク内の各無線基地局のすべてについての無線通信区間が通信不能であれば、上記判定において通信不能であると判定し、当該基地局ネットワーク内の各無線基地局の1つでも、その無線通信区間が通信可能となっていれば、上記判定において通信可能であると判定するようになっていればよい。
また同様に、通信中継装置、下流側通信中継装置は、必ずしも上記の実施形態のように無線移動局4として実現するようになっていなくともよく、有線ネットワーク5に接続された無線移動局4以外の他の通信機器が、下り受信用プログラム100、上り送信用プログラム400、上り受信用プログラム500、および下り送信用プログラム600の実行により、通信中継装置、下流側通信中継装置の機能を実現するようになっていてもよい。なおその際、無線通信区間が通信可能であるか否かの判定は、無線移動局4から当該他の通信機器に送信される、無線移動局4についての無線通信区間が通信可能であるか否かの情報に基づいて行えばよい。
本発明の実施形態に係る通信中継システムの構成図である。 サーバ1のハードウェア構成を示すブロック図である。 無線基地局3のハードウェア構成を示すブロック図である。 無線移動局4のハードウェア構成を示すブロック図である。 端末6のハードウェア構成を示すブロック図である。 下り受信用プログラム100のフローチャートである。 上り送信用プログラム200のフローチャートである。 下り送信用プログラム300のフローチャートである。 上り送信用プログラム400のフローチャートである。 上り受信用プログラム500のフローチャートである。 下り受信用プログラム100および上り受信用プログラム500におけるステップ160の詳細なフローチャートである。 下り送信用プログラム600のフローチャートである。
符号の説明
1…サーバ、2、5…有線ネットワーク、3…無線基地局、4…無線移動局、
6…端末、7…無線通信区間、11、31、41、61…RAM、
12、32、42、62…ROM、13、33、43、63…HDD、
14、34、44、64…ネットワークインターフェース、
17、37、47、67…CPU、35、45…無線インターフェース、
36、46…アンテナ、100…下り受信用プログラム、
200、400…上り送信用プログラム、300、600…下り送信用プログラム、
500…上り受信用プログラム。

Claims (4)

  1. 通信回路と、
    前記通信回路を用いて、第1の通信装置と第2の通信装置との間のデータ通信を中継する中継手段と、
    前記データ通信の中継における前記第2の通信装置と自らが属する通信中継装置との間の無線通信区間において通信が不能となっているとき、前記通信回路を用いて、前記第1の通信装置と前記第2の通信装置との間のデータ通信が継続していると前記第1の通信装置に判定させるための偽装データを、前記第1の通信装置に繰り返し送信する送信制御手段と、
    前記中継のために前記第1の通信装置から受信したデータを、前記第2の通信装置がそのデータを受信するまでバッファリングデータとして蓄積する記憶媒体と、を備え、
    前記送信制御手段が繰り返し送信する前記偽装データは、当該記憶媒体における前記バッファリングデータの蓄積状態を含むことを特徴とする通信中継装置。
  2. 前記送信制御手段は、前記無線通信区間が通信不能な状態から通信可能な状態に変化したとき、前記無線通信区間において通信が不能となっているときの前記偽装データの送信繰り返し間隔よりも短い繰り返し間隔で、前記第1の通信装置に前記偽装データを送信することを特徴とする請求項に記載の通信中継装置。
  3. 通信回路を用いて第1の通信装置と第2の通信装置との間のデータ通信を中継する中継手段、
    前記データ通信の中継における前記第2の通信装置と前記中継手段との間の無線通信区間において通信が不能となっているとき、前記通信回路を用いて、前記第1の通信装置と前記第2の通信装置との間のデータ通信が継続していると前記第1の通信装置に判定させるための制御データを、前記第1の通信装置に繰り返し送信する送信制御手段、および
    前記中継のために前記第1の通信装置から受信したデータを、前記第2の通信装置がそのデータを受信するまでバッファリングデータとして記憶媒体に蓄積する手段として、コンピュータを機能させる通信中継プログラムであって、
    前記送信制御手段が繰り返し送信する前記偽装データは、当該記憶媒体における前記バッファリングデータの蓄積状態を含むことを特徴とする通信中継プログラム。
  4. 前記送信制御手段は、前記無線通信区間が通信不能な状態から通信可能な状態に変化したとき、前記無線通信区間において通信が不能となっているときの前記偽装データの送信繰り返し間隔よりも短い繰り返し間隔で、前記第1の通信装置に前記偽装データを送信することを特徴とする請求項に記載の通信中継プログラム
JP2004286395A 2004-09-30 2004-09-30 通信中継装置および通信中継プログラム Expired - Fee Related JP4229037B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004286395A JP4229037B2 (ja) 2004-09-30 2004-09-30 通信中継装置および通信中継プログラム
US11/232,336 US20060116074A1 (en) 2004-09-30 2005-09-21 Communication repeater, communication repeater program, and communication repeater system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004286395A JP4229037B2 (ja) 2004-09-30 2004-09-30 通信中継装置および通信中継プログラム

Publications (2)

Publication Number Publication Date
JP2006101315A JP2006101315A (ja) 2006-04-13
JP4229037B2 true JP4229037B2 (ja) 2009-02-25

Family

ID=36240686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004286395A Expired - Fee Related JP4229037B2 (ja) 2004-09-30 2004-09-30 通信中継装置および通信中継プログラム

Country Status (2)

Country Link
US (1) US20060116074A1 (ja)
JP (1) JP4229037B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2063552A4 (en) 2006-10-25 2014-05-28 Fujitsu Ltd RADIO BASE STATION, RELAY STATION, RADIO COMMUNICATION SYSTEM, AND RADIO COMMUNICATION METHOD
JP5017295B2 (ja) * 2009-02-20 2012-09-05 株式会社日立産機システム デバイス接続システム、ならびに、そのデバイス接続システムに用いられるマスタ側ブリッジ、スレーブ側ブリッジ、および、通信用ブリッジ
JP5828684B2 (ja) * 2011-06-15 2015-12-09 キヤノン株式会社 通信装置、制御方法、及びプログラム
JP5995320B2 (ja) * 2013-02-19 2016-09-21 Kddi株式会社 通信品質劣化地域の周辺地域でデータパケットの受信バッファを制御する携帯端末、プログラム及び方法
JP6539545B2 (ja) * 2015-08-28 2019-07-03 富士フイルム株式会社 検査装置及びその作動方法
JP7014961B2 (ja) 2018-03-02 2022-02-02 富士通株式会社 中継装置、中継プログラム、中継方法、及びライブ映像配信システム
CN108966236B (zh) * 2018-07-02 2021-09-07 奇酷互联网络科技(深圳)有限公司 伪基站识别开关控制方法、装置、移动终端及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4422171A (en) * 1980-12-29 1983-12-20 Allied Corporation, Law Department Method and system for data communication
JP2003087320A (ja) * 2001-09-06 2003-03-20 Kddi Corp パケット中継装置、及びその方法
CN1993904B (zh) * 2004-05-13 2011-09-07 高通股份有限公司 具有用于上行链路及下行链路同步之下行链路检测的非变频中继器

Also Published As

Publication number Publication date
JP2006101315A (ja) 2006-04-13
US20060116074A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
KR102156687B1 (ko) 다중 경로 연결을 확립하기 위한 방법 및 멀티 홈 장비
US20060224753A1 (en) Session relay apparatus, session relay method and program
CN110677221B (zh) 重传控制方法、通信接口和电子设备
JPH11163947A (ja) ゲートウェイ装置、無線端末装置、ルータ装置および通信ネットワークのゲートウェイ制御方法
JP2006222960A (ja) マルチtcp確認応答を用いたtcp輻輳制御システム及びその方法
WO2010108144A1 (en) Systems and methods for improved wireless interface aggregation
JP2012175561A (ja) 伝送制御方法
WO2008032750A1 (fr) dispositif de communication
US8468225B2 (en) Roaming TCP connections between changing physical networks
JP2013535131A (ja) 複数の異なるネットワークを介したデータの伝送
US20060116074A1 (en) Communication repeater, communication repeater program, and communication repeater system
JP4328794B2 (ja) 通信システム、通信装置、及び送信制御方法
EP1278348A1 (en) Long-lived TCP connection using ICMP messages in wireless mobile communications
JP4227621B2 (ja) データパケットの伝送方法および送信機
JP3929452B2 (ja) モバイルアドホックネットワークにおけるトランスポート層を用いた効率的なデータの送受信方法及びその方法を用いたネットワーク装置
JP2004194104A (ja) 通信システム、ゲートウェイ装置、プログラムおよび記録媒体
JP7541494B2 (ja) 通信端末装置、通信方法及びコンピュータプログラム
Raitahila Congestion Control Algorithms for the Constrained Application Protocol (CoAP)
JP5112249B2 (ja) 不安定な通信品質の通信リンクを介して移動端末と接続されるプロキシサーバ、プログラム及び代理接続方法
JP5339537B2 (ja) 不安定な無線リンクにおける切断耐性を高める無線端末、プロキシサーバ及びプログラム
EP2177064B1 (en) Control of data flow
JP4220530B2 (ja) ゲートウェイ装置および無線端末装置
JP2011217199A (ja) 不安定な無線リンクにおける再送信の再開を早める無線端末、システム及びプログラム
WO2011014145A1 (en) Maintaining persistent connection with user level transmission control protocol
JP5986528B2 (ja) 端末におけるスリープモードへの移行を防止する制御装置、プログラム及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081111

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: 20081124

R150 Certificate of patent or registration of utility model

Ref document number: 4229037

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

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

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