(57)【特許請求の範囲】
【請求項１】
送信先装置に対する複数のコネクションを維持する管理手段と、
前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対してデータを送信する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、
前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、
前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更手段と、
を備える通信制御装置。
【請求項２】
前記データ送信手段は、前記データに当該データの送信時刻を関連付けて送信し、
前記判定手段は、前記一時断の発生前に最後に送信された前記データに関連付けられている送信時刻を、前記一時断通知に関連付けて送信する
請求項１に記載の通信制御装置。
【請求項３】
前記判定手段は、前記送信先装置が前記データ送信手段から最後にデータを受信してから経過した時間に基づき、前記一時断を検出する
請求項１又は２に記載の通信制御装置。
【請求項４】
前記データ送信手段は、所定間隔で前記データを送信し、
前記判定手段は、前記データを受信する間隔の前記所定間隔に対するずれの大きさが所定閾値を超える場合、前記一時断の発生を判定する
請求項１乃至３のいずれか１項に記載の通信制御装置。
【請求項５】
前記所定期間の開始時刻は、前記一時断通知に基づく時刻である基準時刻、当該基準時刻よりも第１の所定時間前の時刻、又は前記一時断の発生前における前記データの最後の送信時刻であり、前記所定期間の終了時刻は、前記基準時刻よりも第２の所定時間後の時刻、又は前記切替通知の受信時刻である
請求項１乃至４のいずれか１項に記載の通信制御装置。
【請求項６】
前記データ送信手段を含む送信装置と、
前記データを受信するのに応じて、前記データの受信を前記判定手段に通知するデータ受信手段を含む前記送信先装置と、
請求項１乃至５のいずれか１項に記載の通信制御装置と、
を含む通信システム。
【請求項７】
前記送信装置は、前記切替検知手段と、前記通信制御装置とを更に含み、
前記送信先装置は、前記判定手段を更に含む、
請求項６に記載の通信システム。
【請求項８】
前記送信先装置は、前記データ受信手段が前記データを受信したことを表す送達確認を送信する確認送信手段と、前記切替検知手段とを更に含み、
前記送信装置は、前記送達確認を受信するのに応じて、当該送達確認の受信時刻を、前記データの受信時刻として、前記判定手段に通知する確認受信手段と、前記判定手段とを更に含む、
請求項６に記載の通信システム。
【請求項９】
送信先装置に対する複数のコネクションを維持し、
前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、
前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、
前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する
通信制御方法。
【請求項１０】
コンピュータに、
送信先装置に対する複数のコネクションを維持する管理処理と、
前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加
えて、
前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、
前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更処理と、
を実行させる通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、通信を制御する技術に関する。
【背景技術】
【０００２】  インターネットの通信において一般的に用いられているパケット交換方式による通信では、経路上でパケットロスや経路変更が発生する。そのため、パケット交換方式による通信では、送信したデータを、送信した順番で受信側の端末に届けるために、再送制御や順序制御が必要である。【０００３】  再送制御では、例えば、送信側が受信側にデータが送達されたことを示す送達確認応答（ＡＣＫ；Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を一定期間受信しない場合、そのデータの再送が開始される。あるいは、再送制御では、例えば、送信側が受信側にデータが送達されていないことを示す非送達確認応答（ＮＡＣＫ；Ｎｅｇａｔｉｖｅ  Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）を受信した場合、そのデータの再送が開始される。あるいは、再送制御では、例えば、受信側において順序が入れ替わって受信されたデータ数が一定以上貯まった場合、順序が入れ替わったデータの再送が開始される。【０００４】  例えばＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）では、送信側がセグメント送信後に一定期間ＡＣＫを受信しない場合にそのセグメントの再送が行われる。セグメントは、ＴＣＰにおける通信単位である。さらに、ＴＣＰでは、順序が入れ替わって受信されたセグメントの個数が閾値以上であることが重複ＡＣＫにより判明した場合にも、そのセグメントが生成されたデータの再送が行われる。その閾値の具体的な個数はＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や設定により異なる。【０００５】  順序制御では、受信側で送信順序と異なる順番でデータが受信された場合、受信されたデータが送信順に整列される。【０００６】  例えば、ＴＣＰでは、送信されたセグメントが受信側に到着したときに、そのセグメントより先に送信されたセグメントが受信側に到着していない場合、到着していない先に送信されたセグメントの受信側への到着が待機される。そして、セグメントは、送信順に並べ替えられてから、上位のプロトコルやアプリケーションに渡される。【０００７】  通信路においてデータの損失（すなわち、ロス）が発生した場合、再送制御と再送待ちの順序制御とが行われる。再送制御と再送待ちの順序制御とによって、通信に大きな遅延が発生する。パケット交換方式による通信には、そのような遅延が発生するという問題がある。この順序制御を回避するデータ通信方法の一例が、特許文献１に記載されている。【０００８】  特許文献１には、複数のコネクション毎に異なるデータを順番に送信することによって、順序制御を回避する巡回送信方式が記載されている。上述のように、特許文献１に記載されている巡回送信方式では、順序制御を回避することによって、低遅延な通信を実現する。この方式では、送信側の装置は、確立しておいた複数のコネクション毎に異なるデータを順番に送信する。受信側の装置は、実行中のアプリケーションプログラムにおいて、到着したデータを随時利用できる。特許文献１に記載の送信側の装置は、いずれかのコネクションを介して送信中である各セグメントに、送信の順番に従って付与された番号のうち、最大の番号と最小の番号との差を特定する。特定された差が所定値以上である場合、送信側の装置は、最��早く送信されたセグメントを、他のコネクションを介して再送する。従って、セグメントの送信中に偶発的なロスが発生したとしても、再送待ちの順序制御を回避することができる。【０００９】  特許文献２には、現用通信路と予備通信路とによって接続されている中継ノード及び着ノードが記載されている。現用通信路の通信リンクにおいて障害が発生した場合、中継ノードは、使用する通信路を予備通信路に切り替える。そして、中継ノードは、障害の発生から通信路の切替が完了するまでの間に送信されたデータを再送する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−０５６９９０号公報
【特許文献２】特開平１１−３０８２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】  例えば、モバイル網におけるハンドオーバなどの通信路の切替えによって、断続的に送信されるデータの送信間隔よりも十分長い期間にわたって、各通信路に送信されたデータが全てロスする状況が生じることがある。その場合、特許文献１に記載されているような、巡回送信方式に従ったデータの送信では、その期間において確立されている全てのコネクションにおいて再送制御が行われる。従って、上述の場合、特許文献１に記載されているような、巡回送信方式に従ったデータの通信では、順序制御を回避できない。従って、特許文献１の技術では、断続的に送信されるデータの送信間隔より十分長い期間、通信路の切り替えによって送信されたデータが全てロスする場合、通信の遅延を短縮することはできない。【００１２】  特許文献２に記載されている中継ノードは、２つの通信路のうち現用通信路に障害が発生した場合、使用する通信路を、他方の通信路である予備通信路に切り替える。従って、断続的に送信されるデータの送信間隔より十分長い期間内に送信されたデータが全てロスする状況が生じた場合、現用通信路を介する通信リンクだけでなく、予備通信路を介する通信リンクにおいても障害が発生する。従って、その場合、全ての通信において障害が発生するので、全ての通信路を介する通信リンクにおいて再送制御が行われる。このように、特許文献２の技術では、断続的に送信されるデータの送信間隔より十分長い期間、通信路の切り替えによって送信されたデータが全てロスする場合、通信の遅延を短縮することはできない。【００１３】  本発明の目的の一つは、断続的に送信されるデータの送信間隔より十分長い期間、通信路の切り替えによって送信されたデータが全てロスする場合でも、通信の遅延を短縮することができる通信制御装置等を提供することにある。
【課題を解決するための手段】
【００１４】  本発明の一態様に係る通信制御装置は、送信先装置に対する複数のコネクションを維持する管理手段と、前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更手段と、を備える。【００１５】  本発明の一態様に係る通信制御方法は、送信先装置に対する複数のコネクションを維持し、前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する。【００１６】
本発明の一態様に係る通信制御プログラムは、コンピュータを、送信先装置に対する複数のコネクションを維持する管理手段と、前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更手段と、して動作させる。
【発明の効果】
【００１７】  断続的に送信されるデータの送信間隔より十分長い期間、通信路の切り替えによって送信されたデータが全てロスする場合でも、通信の遅延を短縮することができるという効果がある。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の第１、第２の実施形態の通信システム１０の構成の例を表す図である。
【図２】図２は、第１、第２の実施形態の第２の通信装置２の、一時断の発生を検出する動作の例を表すフローチャートである。
【図３】図３は、第１、第２の実施形態の通信制御装置３の、一時断通知を受信した場合の動作の例を表すフローチャートである。
【図４】図４は、本発明の第３の実施形態の通信システム１０Ｂの構成の例を表すブロック図である。
【図５】図５は、第３の実施形態の第２の通信装置２Ｂの動作の例を表すブロック図である。
【図６】図６は、第３の実施形態の通信制御装置３Ｂの動作の例を表すフローチャートである。
【図７】図７は、第１の実施形態の変形例に係る通信システム１０Ａの構成の例を表すブロック図である。
【図８】図８は、本発明の第４の本実施形態の通信制御装置３Ｃの構成の例を表す図である。
【図９】図９は、本発明に係る通信制御装置及び通信装置を実現することができる、コンピュータ１０００の構成の一例を表す図である。
【発明を実施するための形態】
【００１９】  次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２０】  ＜第１の実施形態＞  図１は、本実施形態の通信システム１０の構成の例を表す図である。図１を参照すると、通信システム１０は、第１の通信装置１と第２の通信装置２とを含む。第１の通信装置１及び第２の通信装置２は、通信可能に接続されている。第１の通信装置１及び第２の通信装置２を接続する通信路は、例えば不定期に切り替えられる。例えば、第１の通信装置１及び第２の通信装置２が、基地局を介した無線通信によって接続されている。そして、第１の通信装置１又は第２の通信装置２の移動によってハンドオーバが行われた場合に、第１の通信装置１及び第２の通信装置２を接続する通信路の切り替えが行われる。第１の通信装置１及び第２の通信装置２は、仮想的な専用通信路であるコネクションが確立された状態で行われる通信である、コネクション型通信を行う。第１の通信装置１及び第２の通信装置２の間で行われるコネクション型通信の一例として、ＴＣＰによる通信がある。第１の通信装置１及び第２の通信装置２の間で行われる通信は、ＴＣＰによる通信でなくてもよい。本実施形態及び本発明の他の実施形態において、第１の通信装置１は、送信装置とも表記される。さらに、第２の通信装置２は、送信先装置とも表記される。
【００２１】  第１の通信装置１は、データ送信部１０１と、通信制御装置３とを含む。通信制御装置３は、管理部１０２と、変更部１０３と、通知受信部１０４と、切替検知部１０５とを含む。管理部１０２と、変更部１０３と、通知受信部１０４と、切替検知部１０５とは、第１の通信装置１の構成要素であってもよい。そして、管理部１０２と、変更部１０３と、通知受信部１０４と、切替検知部１０５とは、通信制御装置３として動作してもよい。
【００２２】  第２の通信装置２は、データ受信部２０１と、判定部２０２と、通知送信部２０３とを含む。
【００２３】  データ送信部１０１は、あらかじめ決められたタイミングでデータを送信する。データ送信部１０１は、例えば、あらかじめ決められた一定の間隔で、データを送信してもよい。
【００２４】  管理部１０２は、第１の通信装置１において確立されている複数のコネクションを管理する。管理部１０２は、データ送信に使用しているコネクションを含めて、複数のコネクションを管理する。コネクションの管理は、例えば、そのコネクションが切断されないように、確立状態を維持する処理を行うことである。
【００２５】  データ受信部２０１は、第１の通信装置１のデータ送信部１０１が送信するデータを受信する。
【００２６】  判定部２０２は、データ受信部２０１がデータを受信した時刻の間隔が、所定の閾値を超えた場合に、通信路が一時的に切断された状態である、「通信路一時断」が発生したと判定する。本実施形態及び他の実施形態の説明において、通信路一時断は、「一時断」とも表記される。
【００２７】  通知送信部２０３は、判定部２０２が、通信路一時断が発生したと判定した場合、通信路一時断が発生したと判定されたことを表す通知である、「通信路一時断通知」を、第１の通信装置１に送信する。本実施形態及び他の実施形態の説明において、通信路一時断通知を、「一時断通知」とも表記する。
【００２８】  通知受信部１０４は第２の通信装置２の通知送信部２０３から、通信路一時断通知を受信する。
【００２９】  切替検知部１０５は、通信路の切り替えを監視する。切替検知部１０５は、例えば常時、通信路の切り替えを監視してもよい。そして、切替検知部１０５は、通信路の切り替えの完了を検知する。
【００３０】  変更部１０３は、通知受信部１０４が一時断通知を受信し、切替検知部１０５が通信路の切り替えの完了を検知した場合、管理部１０２が管理する複数のコネクションから、データの送信に使用されていないコネクションを選択する。本実施形態の説明において、選択されたコネクションを、選択コネクションとも表記する。変更部１０３は、選択したコネクションを、データの送信に使用するコネクションに指定する。変更部１０３は、例えば、選択したコネクションの識別子をデータ送信部１０１に送信することによって、選択したコネクションを、データの送信に使用するコネクションに指定すればよい。その場合、データ送信部１０１は、例えば、コネクションの識別子を受信した場合、データの送信に使用するコネクションを、受信した識別子によって特定されるコネクションに変更するように設計されていればよい。以下の説明において、データ送信部１０１が、データの送信に使用するコネクションを、送信コネクションとも表記する。
【００３１】  次に、本実施形態の第１の通信装置１及び第２の通信装置２の動作について、図面を参照して詳細に説明する。
【００３２】  図２は、本実施形態の第２の通信装置２の、一時断の発生を検出する動作の例を表すフローチャートである。図２に示す動作の開始時において、第１の通信装置１のデータ送信部１０１が、データを送信する。データ送信部１０１がデータを送信する方法は、例えば、ＴＣＰに基づく送信方法であればよい。データ送信部１０１は、例えば、あらかじめ定められた一定の時間間隔で、データを送信する。
【００３３】  データがデータ受信部２０１に送信された場合（ステップＳ１０１においてＹｅｓ）、まず、データ受信部２０１は、データ送信部１０１が送信したデータを受信する（ステップＳ１０２）。データ受信部２０１がデータを受信する方法は、データ送信部１０１が送信するデータを受信可能な方法であればよい。例えば、データ送信部１０１がＴＣＰに基づいてデータを送信する場合、データ受信部２０１は、同様にＴＣＰに基づいて、送信されたデータを受信すればよい。データ受信部２０１は、データを受信した時刻を、判定部２０２に送信してもよい。データ受信部２０１は、データを受信した場合、例えば、データを受信したことを表す通知を判定部２０２に送信してもよい。その場合、判定部２０２は、データを受信したことを表す通知を受信した時刻を、データ受信部２０１がデータを受信した時刻と見なせばよい。データが送信されない場合（ステップＳ１０１においてＮｏ）、通信制御装置３はステップＳ１０３の動作を行う。
【００３４】  判定部２０２は、データ受信部２０１がデータを受信した時刻の間隔である、データの受信間隔が、閾値を超えているか否かを判定する（ステップＳ１０３）。判定部２０２は、データ受信部２０１が最後にデータを受信した時刻を記憶していればよい。そして、判定部２０２は、データ受信部２０１が最後にデータを受信した時刻から経過した時間を特定すればよい。データ受信部２０１が最後にデータを受信した時刻から経過した時間が閾値を越えている場合、判定部２０２は、データの受信間隔が閾値を越えていると判定すればよい。上述のように、データの受信間隔が閾値を越えていると判定した場合、判定部２０２は、一時断が発生したと判定する。データ受信部２０１が最後にデータを受信した時刻から経過した時間が閾値を越えていない場合、判定部２０２は、データの受信間隔が閾値を越えていないと判定すればよい。データの受信間隔が閾値を越えていないと判定した場合、判定部２０２は、一時断が発生していないと判定する。判定部２０２は、記憶している時刻と、データ受信部２０１が新たにデータを受信した時刻とに基づき、データの受信間隔が所定の閾値を超えているか否かを判定してもよい。上述の閾値は、あらかじめ与えられていてもよい。あるいは、例えば、判定部２０２が、所定期間内において、データ受信部２０１がデータを受信した間隔に基づき、上述の閾値を決定してもよい。
【００３５】  データの受信間隔が所定の閾値を超えていない場合（ステップＳ１０３においてＮｏ）、第２の通信装置２は、次に、ステップＳ１０１の動作を行う。データ受信部２０１は、第１の通信装置１から送信される次のデータを待つ。
【００３６】  データの受信間隔が所定の閾値を超えている場合（ステップＳ１０３においてＹｅｓ）、通知送信部２０３は、一時断通知を、通知受信部１０４に送信する（ステップＳ１０４）。そして、第２の通信装置２は、図２に示す動作を終了する。ステップＳ１０４の動作の後、第２の通信装置２の動作は、ステップＳ１０２に戻ってもよい。
【００３７】  次に、通信制御装置３の、一時断通知を受信した場合の動作について説明する。
【００３８】  図３は、本実施形態の通信制御装置３の、一時断通知を受信した場合の動作の例を表すフローチャートである。第２の通信装置２の通知送信部２０３が一時断通知を送信した場合に、通信制御装置３は、図３に示す動作を行う。また、通信制御装置３の切替検知部１０５は、第１の通信装置１と第２の通信装置２との間の通信において使用される通信路を監視している。そして、第１の通信装置１と第２の通信装置２との間の通信において使用される通信路の切り替えが発生した場合、切替検知部１０５は、その切り替えの完了を検知する。
【００３９】  通知送信部２０３が一時断通知を送信した場合、通知受信部１０４は、一時断通知を受信する（ステップＳ１１１）。通知受信部１０４は、受信した一時断通知を、変更部１０３に送信すればよい。
【００４０】  一時断通知を受信した変更部１０３は、一時断通知に基づく時刻を特定し、特定した時刻を基準時刻にする。一時断通知に基づく時刻は、例えば、変更部１０３が一時断通知を受信した時刻であってもよい。一時断通知に基づく時刻は、例えば、通知受信部１０４が一時断通知を受信した時刻であってもよい。一時断通知に基づく時刻は、その一時断通知が送信された時刻であってもよい。その場合、通知送信部２０３は、一時断通知に加えて、その一時断通知の送信時刻を通知受信部１０４に送信すればよい。一時断通知に基づく時刻は、判定部２０２が一時断が生じたことを判定した時刻であってもよい。その場合、判定部２０２は一時断が生じたことを判定した時刻を表すデータ値を通知送信部２０３に送信すればよい。そして、通知送信部２０３は、一時断通知に加えて、一時断が生じたことが判定された時刻を表すデータ値を、通知受信部１０４に送信すればよい。
【００４１】  さらに、変更部１０３は、基準時刻に基づき、検出期間を設定する。そして、変更部１０３は、検出期間内に、通信路の切り替えが検出されたか否かを判定する（ステップＳ１１２）。
【００４２】  検出期間は、例えば、基準時刻に基づいて定まる期間である。検出期間の長さは、あらかじめ定められた長さの期間であっていてもよい。その場合、変更部１０３は、例えば、基準時刻、又は、基準時刻よりも、あらかじめ定められた時間前の時刻を、検出期間の開始時刻として設定すればよい。そして、変更部１０３は、例えば、基準時刻、又は、基準時刻よりも、あらかじめ定められた時間後の時刻を、検出期間の終了時刻として設定すればよい。検出期間の長さは、定まっていなくてもよい。その場合、変更部１０３は、例えば、基準時刻、又は、基準時刻よりも、あらかじめ定められた時間前の時刻を、検出期間の開始時刻として設定すればよい。そして、変更部１０３は、時刻として設定可能な最大値を、検出期間の終了時刻にしてもよい。変更部１０３は、検出期間の終了時刻を定めなくてもよい。基準時刻は一時断通知に基づく時刻であるので、検出期間は一時断通知に基づいて定まる期間であると見なすことができる。
【００４３】  例えば、第１の通信装置１が無線によって第２の通信装置２と通信を行っている場合、通信路の切り替えは、例えば、無線による通信を中継する無線基地局が切り替わることによっても生じる。一般に、無線によって通信する装置は、通信を中継する無線基地局を特定する情報を有する。切替検知部１０５は、例えば、第１の通信装置１が行う無線による通信を中継する無線基地局の変更を検知することによって、通信路の切り替えを検知すればよい。切替検知部１０５は、第１の通信装置１が接続されている通信回線の種類に応じた方法によって、通信路の切り替えを検知すればよい。
【００４４】  検出期間内に通信路の切り替えが検出されなかった場合（ステップＳ１１２においてＮｏ）、通信制御装置３は、次に、ステップＳ１１１の動作を行う。すなわち、通知受信部１０４は、次に送信される一時断通知を待つ。
【００４５】  一時断通知の受信に応じた検出期間に終了時刻が定められており、その検出期間内に通信路の切り替えが検知されなかった場合、通信制御装置３は、その一時断通知に基づく処理を行わない。すなわち、一時断通知の受信に応じた検出期間内に通信路の切り替えが検知されなかった場合、通信制御装置３は、その一時断通知を無視する。
【００４６】  検出期間内に通信路の切り替えが検出された場合（ステップＳ１１２においてＹｅｓ）、変更部１０３は、データ送信部１０１が第２の通信装置２へのデータの送信に使用するコネクションである、送信コネクションを変更する（ステップＳ１１３）。そして、通信制御装置３は、図３に示す動作を終了する。ステップＳ１１３の後、通信制御装置３の動作は、ステップＳ１１１に戻ってもよい。
【００４７】  上述のように、検出期間の終了時刻が定められていない場合、変更部１０３は、切替検知部１０５による通信路の切り替えの検知を待つ。その場合、変更部１０３は、一時断通知の受信後であればいつでも、通信路の切り替えが検出された場合に、通信路の切り替えを行う。
【００４８】  本実施形態には、断続的に送信されるデータの送信間隔より十分長い期間、通信路の切り替えによってデータが全てロスする場合でも、通信の遅延を短縮することができるという効果がある。
【００４９】  その理由は、通信路一時断の発生が判定されたことが通知された場合、変更部１０３が、切替検知部１０５によって通信路の切り替えの完了が検知された後、送信コネクションを変更するからである。
【００５０】  通信路の切り替えが行われている場合、通信路の切り替えが完了する前にデータが送信されたコネクションでは、送信されたデータがロスするので、順序制御が実施される。通信路の切り替えが完了する前に送信コネクションが切り替えられた場合、切り替え後の送信コネクションを介してデータが送信され、送信されたデータは全てロスする。そのため、切り替え後の送信コネクションにおいても順序制御が実施される。通信路の切り替えが完了する前に、複数のコネクションのそれぞれが、順次送信コネクションに切り替えられた場合、それらの複数のコネクションの全てにおいて、順序制御が実施される。従って、通信路の切り替えが完了しても、複数のコネクションの全てにおいて順序制御が実施されているので、通信にさらに遅延が生じる。
【００５１】  一方、本実施形態では、通信路の切り替えの完了が検知された後、送信コネクションが変更されるので、通信路の切り替えが行われた時送信コネクションとして設定されていたコネクション以外で、順序制御は実施されない。従って、通信路の切り替えの完了が検知された後に、変更された送信コネクションでは順序制御は実施されない。そのため、順序制御が実施されるために生じる通信の遅延は生じない。従って、本実施形態では、通信の遅延を短縮することができる。
【００５２】  ＜第２の実施形態＞  次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【００５３】  図１は、本実施形態の通信システム１０の構成を表す図である。本実施形態の通信システム１０の構成は、第１の実施形態の通信システム１０の構成と同じである。以下では、本実施形態と第１の実施形態との相違点を中心に説明を行う。
【００５４】  本実施形態では、データ送信部１０１は、送信されるデータに加えて、そのデータが送信された時刻である送信時刻を送信する。データ送信部１０１は、送信されるデータである送信データに、そのデータの送信時刻を表すデータである送信時刻データを付加すればよい。そして、データ送信部１０１は、送信時刻データが付加された送信データを、第２の通信装置２に送信すればよい。
【００５５】  第２の通信装置２のデータ受信部２０１は、受信した送信データに付加されている送信時刻データを、判定部２０２に送信する。
【００５６】  判定部２０２は、データ受信部２０１が最後に受信した送信データに付加されていた送信時刻データを記憶する。判定部２０２は、データ受信部２０１が新しく送信データを受信した場合、第１の実施形態の判定部２０２と同様に、データの受信間隔が閾値を超えているか否かを判断する。データの受信間隔が閾値を超えていない場合、判定部２０２は、新しく受信した送信データに加えて送信された送信時刻データを、最後に受信した送信データとして記憶する。データの受信間隔が閾値を超えている場合、判定部２０２は、記憶している、最後に受信した送信データに付加されていた送信時刻データを、通知送信部２０３に送信する。
【００５７】  通知送信部２０３は、データの受信間隔が閾値を超えている場合、一時断通知に加えて、判定部２０２が記憶している送信時刻データを送信する。その場合、通知送信部２０３は、一時断通知に送信時刻データを付加すればよい。そして、通知送信部２０３は、送信時刻データが付加された一時断通知を送信すればよい。
【００５８】  通知受信部１０４は、一時断通知に加えて、送信時刻データを、通知送信部２０３から受信する。通知受信部１０４は、上述のように送信時刻データが付加された、一時断通知を受信すればよい。
【００５９】  変更部１０３は、通知受信部１０４が受信した送信時刻データが表す時刻を、検出期間の開始時刻に設定する。
【００６０】  なお、送信時刻データは、送信時刻を表すデータ値であってもよい。送信時刻データは、例えば、送信されたデータのそれぞれに付与された、送信の順番を特定することができる、シーケンス番号あるいはＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）であってもよい。送信時刻データは、例えば、データ受信部２０１がデータを受信した時刻である、データ受信時刻であってもよい。
【００６１】  送信時刻データがシーケンス番号である場合、変更部１０３は、例えば、送信時刻が特定されているデータの送信時刻及びシーケンス番号と、送信間隔とを、あらかじめ保持していればよい。以下の説明において、変更部１０３が保持する、送信時刻が特定されているデータの送信時刻を、基準送信時刻と表記する。さらに、変更部１０３が保持する、送信時刻が特定されているデータのシーケンス番号を、基準シーケンス番号と表記する。基準シーケンス番号は、シーケンス番号の初期値であってもよい。その場合、基準送信時刻は、初期値であるシーケンス番号が付与されたデータが送信された時刻であればよい。変更部１０３は、例えば、シーケンス番号の初期値と、初期値であるシーケンス番号が付与されたデータの送信時刻と、送信間隔とを、あらかじめデータ送信部１０１から取得しておけばよい。変更部１０３は、通知受信部１０４が受信したシーケンス番号と、基準シーケンス番号との差によって、基準時刻以降にデータが送信された回数を特定すればよい。変更部１０３は、基準時刻以降にデータが更新された回数と、データが送信される送信間隔とに基づき、基準時刻から、通知受信部１０４が受信したシーケンス番号が付与されたデータが送信された時刻までに経過した時間を推定すればよい。このように、変更部１０３は、通知受信部１０４が送信時刻データとして受信したシーケンス番号と、基準送信時刻及び基準シーケンス番号と、送信間隔とに基づき、通知受信部１０４が受信したシーケンス番号が付与されたデータが送信された時刻を推定する。
【００６２】  通知送信部２０３が、送信時刻データとして、データ受信部２０１がデータを受信した時刻である受信時刻を表すデータ値を送信する場合、変更部１０３は、受信した送信時刻データが表す時刻よりも、遅延時間前の時刻を、送信時刻として推定すればよい。その遅延時間は、第１の通信装置１から第２の通信装置２へのデータの送信に要する時間の代表値であればよい。代表値は、例えば、実験的に導出された、平均値、中間値、あるいは他の統計値であればよい。
【００６３】  次に、本実施形態の第１の通信装置１及び第２の通信装置２の動作について、図面を参照して詳細に説明する。以下では、データ送信部１０１が、データ送信時刻を表す送信時刻データが付加されたデータを送信する場合の説明を行う。
【００６４】  図２は、本実施形態の第２の通信装置２の、一時断の発生を検出する動作の例を表すフローチャートである。
【００６５】  データ受信部２０１にデータが送信された場合（ステップＳ１０１においてＹｅｓ）、データ受信部２０１は、送信時刻データが付加されたデータを受信する（ステップＳ１０２）。データ受信部２０１にデータが送信されない場合（ステップＳ１０１においてＮｏ）、通信制御装置３は、次に、ステップＳ１０３の動作を行う。
【００６６】  ステップＳ１０３における判定部２０２の動作は、第１の実施形態の判定部２０２のステップＳ１０３における動作と同じである。前述のように、判定部２０２は、データ受信部２０１が最後にデータを受信した時刻を記憶していればよい。そして、ステップＳ１０３において、判定部２０２は、データ受信部２０１が最後にデータを受信した時刻から経過した時間と閾値とを比較することによって、データの受信間隔が閾値を越えているか否かを判定すればよい。判定部２０２は、記憶している時刻から、新たにデータ受信部２０１がデータを受信した時刻までに経過した時間と、閾値とを比較することによって、データの受信間隔が閾値を越えているか否かを判定してもよい。
【００６７】  データの受信間隔が所定の閾値を超えていない場合（ステップＳ１０３においてＮｏ）、通信制御装置３は、次に、ステップＳ１０１の動作を行う。そしてデータ受信部２０１は、データの受信を継続する。
【００６８】  判定部２０２による判定の結果、データの受信間隔が所定の閾値を超えている場合（ステップＳ１０３においてＹｅｓ）、通知送信部２０３は、一時断通知に加えて、送信時刻データを送信する（ステップＳ１０４）。
【００６９】  図３は、本実施形態の通信制御装置３の、一時断通知を受信した場合の動作の例を表すフローチャートである。
【００７０】  まず、通知受信部１０４は、例えば、一時断通知と、その一時断通知に付加された送信時刻データを受信する。（ステップＳ１１１）。
【００７１】  通知受信部１０４が、一時断通知と、その一時断通知に付加された送信時刻データを受信した場合、切替検知部１０５は、検出期間を決定する。切替検知部１０５は、まず、通知受信部１０４が受信した送信時刻データが表す時刻を特定する。切替検知部１０５は、特定した時刻を、検出期間の開始時刻に設定する。切替検知部１０５は、検出期間の終了時刻を、あらかじめ定められた決定方法に従って、決定する。切替検知部１０５は、例えば、第１の実施形態における検出期間の終了時刻の決定方法のいずれかによって、検出期間の終了時刻を決定すればよい。
【００７２】  切替検知部１０５が検出期間内に通信路の切り替えを検出した場合（ステップＳ１１２においてＹｅｓ）、変更部１０３は、第１の実施形態の変更部１０３と同様に、送信コネクションを変更する（ステップＳ１１３）。切替検知部１０５が検出期間内に通信路の切り替えを検出した場合（ステップＳ１１２においてＮｏ）、通信制御装置３は、次に、例えばステップＳ１１１の動作を行う。
【００７３】  本実施形態には、第１の実施形態と同じ効果がある。その理由は、第１の実施形態の効果が生じる理由と同じである。
【００７４】  本実施形態には、さらに通信の遅延を短縮することができるという第２の効果がある。
【００７５】  その理由は、最後に送信されたデータの送信時刻又はその送信時刻の推定時刻が開始時刻である検知期間において、通信路の切り替えが検出された場合に、変更部１０３が送信コネクションを変更するからである。従って、送信されたデータが全てロスする期間の変動が大きい場合においても、その期間を更に正確に特定することができる。従って、さらに確実に順序制御を回避することができるので、通信の遅延を短縮することができる。また、ロスしたデータを正確に把握することができるので、ロスしたデータだけを変更後の送信コネクションを介して送信することができる。そのため、さらに通信の遅延を短縮することができる。
【００７６】  ＜第３の実施形態＞  次に、本発明の第３の実施形態について、図面を参照して詳細に説明する。
【００７７】  図４は、本実施形態の通信システム１０Ｂの構成の例を表すブロック図である。
【００７８】  図４を参照すると、通信システム１０Ｂは、第１の通信装置１Ｂと、第２の通信装置２Ｂとを含む。第１の通信装置１Ｂと、第２の通信装置２Ｂは、互いに通信することができる。
【００７９】  第１の通信装置１Ｂは、データ送信部１０１と、通信制御装置３Ｂとを含む。
【００８０】  通信制御装置３Ｂは、管理部１０２と、変更部１０３と、送達確認受信部１０６と、判定部１０７と、切替受信部１０８とを含む。
【００８１】  第２の通信装置２Ｂは、データ受信部２０１と、送達確認送信部２０４と、切替検知部２０５と、切替送信部２０６とを含む。
【００８２】  データ送信部１０１及びデータ受信部２０１は、それぞれ、第１の実施形態のデータ送信部１０１及びデータ受信部２０１と同様に動作する。
【００８３】  管理部１０２は、第１の実施形態の管理部１０２と同様に、第１の通信装置１Ｂと第２の通信装置２Ｂとの間に確立されている複数のコネクションを管理する。
【００８４】  送達確認送信部２０４は、データ受信部２０１がデータを受信すると、そのデータに関する送達確認を第１の通信装置１Ｂに送信する。送達確認は、例えば、あらかじめ定められたデータ値又は信号であればよい。
【００８５】  送達確認受信部１０６は、第２の通信装置２Ｂの送達確認送信部２０４から、送達確認を受信する。送達確認を受信した場合、送達確認受信部１０６は、例えば、送達確認を受信した時刻を、判定部１０７に送信する。
【００８６】  判定部１０７は、送達確認受信部１０６が送達確認を最後に受信した時刻を記憶している。判定部１０７は、送達確認受信部１０６から、新たに送達確認を受信した時刻を受信した場合、記憶している時刻と新たに受信した時刻とに基づき、送達確認受信部１０６が送達確認を受信する間隔を導出する。判定部１０７は、送達確認受信部１０６が送達確認を受信する間隔が、所定の閾値を超えているか否かを判定する。判定部１０７は、送達確認受信部１０６が送達確認を受信する間隔が所定の閾値を超えている場合、通信路一時断が発生したと判定する。そして、判定部１０７は、送達確認受信部１０６が送達確認を受信する間隔が所定の閾値を超えている場合、一時断通知を変更部１０３に送信する。
【００８７】  切替検知部２０５は、第１の実施形態の切替検知部１０５と同様に、第１の通信装置１Ｂと第２の通信装置２Ｂとの間においてデータの送信に使用される通信路の切り替えを監視する。そして、切替検知部２０５は、通信路の切り替えの完了を検知する。
【００８８】  切替送信部２０６は、切替検知部２０５が通信路の切り替えの完了を検知した場合、切替通知を第１の通信装置１Ｂに送信する。切替通知は、例えば、あらかじめ定められたデータ値又は信号であればよい。
【００８９】  切替受信部１０８は、第２の通信装置２Ｂから、切替通知を受信する。
【００９０】  変更部１０３は、判定部１０７から一時断通知を受信する。変更部１０３は、例えば、一時断通知を受信した時刻を基準時刻にする。変更部１０３は、判定部１０７が、通信路一時断が発生したと判定した時刻を、基準時刻にしてもよい。その場合、変更部１０３は、判定部１０７が、通信路一時断が発生したと判定した時刻を、判定部１０７から受信すればよい。そして、変更部１０３は、第１の実施形態の変更部１０３と同様に、基準時刻に基づき検出期間を設定する。変更部１０３は、設定した検出期間内に切替受信部１０８が切替通知を受信した場合、第１の実施形態の変更部１０３と同様に、送信コネクションを変更する。
【００９１】  次に、本実施形態の第２の通信装置２Ｂの動作について、図面を参照して詳細に説明する。
【００９２】  図５は、本実施形態の第２の通信装置２Ｂの動作の例を表すブロック図である。図５に示す動作の開始時において、第１の通信装置１Ｂのデータ送信部１０１が第２の通信装置２Ｂにデータを送信する。
【００９３】  データ受信部２０１はデータを受信する（ステップＳ２０１）。
【００９４】  データ受信部２０１がデータを受信するのに応じて、送達確認送信部２０４が第１の通信装置１Ｂに対して送達確認を送信する（ステップＳ２０２）。
【００９５】  前述のように、切替検知部２０５は、第１の通信装置１Ｂと第２の通信装置２Ｂとの間の通信路の切り替えを監視する。そして、切替検知部２０５は、通信路の切り替えの完了を検出する。切替検知部２０５によって通信路の切り替えが検出されない場合（ステップＳ２０３においてＮｏ）、第２の通信装置２Ｂは、次に、例えばステップＳ２０１の動作を行う。そして、データ受信部２０１は、次のデータが送られるまで待機する。切替検知部２０５によって通信路の切り替えが検出された場合（ステップＳ２０３においてＹｅｓ）、切替検知部２０５は、第１の通信装置１Ｂに切替通知を送信する（ステップＳ２０４）。
【００９６】  次に、本実施形態の通信制御装置３Ｂの動作について、図面を参照して詳細に説明する。
【００９７】  図６は、本実施形態の通信制御装置３Ｂの動作の例を表すフローチャートである。図６に示す動作の開始時において、データ送信部１０１が第２の通信装置２Ｂにデータを送信する。そして、データを受信した第２の通信装置２Ｂは、受信したデータの送達確認を、第１の通信装置１Ｂに返信する。
【００９８】  データの送達確認が送達確認受信部１０６に送信された場合（ステップＳ２１１においてＹｅｓ）、送達確認受信部１０６は、第２の通信装置２Ｂから送達確認を受信する（ステップＳ２１２）。送達確認受信部１０６は、送達確認を受信した時刻を判定部１０７に送信する。データの送達確認が送達確認受信部１０６に送信されない場合（ステップＳ２１１においてＮｏ）、通信制御装置３Ｂは、次に、ステップＳ２１３の動作を行う。
【００９９】  前述のように、判定部１０７は、送達確認受信部１０６が最後に送達確認を受信した時刻を記憶している。判定部１０７は、例えば、送達確認受信部１０６が最後に送達確認を受信した時刻から経過した時間を特定すればよい。そして、判定部１０７は、送達確認受信部１０６が最後に送達確認を受信した時刻から経過した時間と、所定の閾値とを比較すればよい。送達確認受信部１０６が最後に送達確認を受信した時刻から経過した時間がその閾値を越えている場合、判定部１０７は、送達確認の受信の間隔が閾値を超えていると判定すればよい。送達確認受信部１０６が最後に送達確認を受信した時刻から経過した時間がその閾値を越えていない場合、判定部１０７は、送達確認の受信の間隔が閾値を超えていないと判定すればよい。判定部１０７は、新しく送達確認受信部１０６から受信した送達確認を受信した場合、その送達確認を受信した時刻と、記憶している、送達確認を受信した時刻と差である、送達確認の受信の間隔を導出してもよい。判定部１０７は、導出された送達確認の受信の間隔が、所定の閾値を越えているか否かを判定してもよい。
【０１００】  送達確認の受信の間隔が、所定の閾値を超えていない場合（ステップＳ２１３においてＮｏ）、通信制御装置３Ｂは、次に、ステップＳ２１１の動作を行う。送達確認受信部１０６は、次の送達確認が送信されるまで待機する。
【０１０１】  送達確認の受信の間隔が、所定の閾値を超えている場合（ステップＳ２１３においてＹｅｓ）、判定部１０７は、通信路一時断が発生したと判定する（ステップＳ２１４）。
【０１０２】  通信路一時断が発生したと判定された場合、変更部１０３は、上述のように、検出期間を設定する。そして、変更部１０３は、検出期間内に通信路の切り替えが検知されたか否かを判定する（ステップＳ２１５）。変更部１０３は、例えば、検出期間内に切替受信部１０８が切替通知を受信した場合、検出期間内に通信路の切り替えが検知されたと判定すればよい。変更部１０３は、例えば、検出期間内に切替受信部１０８が切替通知を受信しなかった場合、検出期間内に通信路の切り替えが検知されなかったと判定すればよい。
【０１０３】  検出期間内に通信路の切り替えが検知されなかった場合（ステップＳ２１５においてＮｏ）、通信制御装置３Ｂは、次に、例えばステップＳ２１１の動作を行う。
【０１０４】  検出期間内に通信路の切り替えが検知された場合（ステップＳ２１５においてＹｅｓ）、変更部１０３は、第１の実施形態と同様に、送信コネクションを変更する（ステップＳ２１６）。
【０１０５】  本実施形態には、データを受信する第２の通信装置２Ｂが、通信一時断の判定を行えない場合であっても、第１の実施形態と同じ効果がある。
【０１０６】  その理由は、データ受信部２０１によるデータの受信に応じて、送達確認送信部２０４が送達確認を第１の通信装置１Ｂに送信するからである。そして、変更部１０３が、送達確認送信部２０４が送信する送達確認の受信の間隔に基づいて、通信一時断が発生したか否かを判定するからである。
【０１０７】  本実施形態には、さらに、データを送信する第１の通信装置１Ｂが通信路の切り替えの完了を検知できない場合であっても、第１の実施形態と同じ効果がある。
【０１０８】  その理由は、データを受信する第２の通信装置２Ｂが含む切替検知部２０５によって通信路の切り替えの完了が検知された場合、切替送信部２０６が切替通知を第１の通信装置１Ｂに送信するからである。そして、変更部１０３は、検出期間内に切替受信部１０８が切替通知を受信した場合、検出期間内に通信路の切り替えが行われたと判定するからである。
【０１０９】  ＜変形例＞  第１〜第３の実施形態において、切替検知部２０５は、図１及び図４において図示されない、切替検知装置に含まれていてもよい。第１及び第２の実施形態では、切替検知装置の切替検知部２０５は、第１の通信装置１に切替通知を送信すればよい。その場合、通信制御装置３は、さらに、第３の実施形態の通信制御装置３Ｂと同様に、切替受信部１０８を含んでいればよい。第３の実施形態では、切替検知装置の切替検知部２０５は、第１の通信装置１Ｂに切替通知を送信すればよい。
【０１１０】  第１及び第２の実施形態において、通信制御装置３は第１の通信装置１に含まれている。しかし、通信制御装置３は、第２の通信装置２に含まれていてもよい。あるいは、通信制御装置３の構成要素の一部が第１の通信装置１に含まれていてもよい。そして、第１の通信装置１に含まれる構成要素を除く、通信制御装置３の構成要素が、第２の通信装置２に含まれていてもよい。
【０１１１】  第３の実施形態においても同様に、通信制御装置３Ｂは、第１の通信装置１Ｂに含まれている。しかし、通信制御装置３Ｂは、第２の通信装置２Ｂに含まれていてもよい。あるいは、通信制御装置３Ｂの構成要素の一部が第１の通信装置１Ｂに含まれていてもよい。そして、第１の通信装置１Ｂに含まれる構成要素を除く、通信制御装置３Ｂの構成要素が、第２の通信装置２Ｂに含まれていてもよい。
【０１１２】  第１の実施形態において、例えば、第１の通信装置１ではなく、第２の通信装置２が、管理部１０２と変更部１０３とを含んでいてもよい。その場合、通知送信部２０３と通知受信部１０４は必要ない。そして、第１の通信装置１は、後述の切替送信部１０９を含んでいればよい。そして、第２の通信装置２は、後述の切替受信部２０７を含んでいればよい。切替検知部１０５が通信路の切替の完了を検知した場合、切替送信部１０９は、通信路の切替が完了したことを表す切替通知を送信する。切替受信部２０７は、切替送信部１０９が送信した切替通知を受信する。第２の通信装置２に含まれる変更部１０３は、第１の実施形態の変更部１０３と同様に設定された検出期間内に、切替送信部１０９が切替通知を受信した場合、新しく送信コネクションとして使用するコネクションを決定する。第２の通信装置２は、さらに、決定された送信コネクションを送信に使用する指示を第１の通信装置１に送信する変更指示部２０８を含んでいればよい。データ送信部１０１は、変更指示部２０８から受信した指示に従って送信コネクションを変更すればよい。
【０１１３】  図７は、第１の実施形態の変形例に係る通信システム１０Ａの構成の例を表すブロック図である。図７に示す例では、第１の通信装置１Ａではなく、第２の通信装置２Ａが、通信制御装置３Ａを含む。
【０１１４】  本変形例では、第１の通信装置１Ａは、データ送信部１０１と、切替検知部１０５と、切替送信部１０９とを含む。第２の通信装置２Ａは、データ受信部２０１と、通信制御装置３Ａとを含む。通信制御装置３Ａは、管理部１０２と、変更部１０３と、判定部２０２と、切替受信部２０７と、変更指示部２０８とを含む。
【０１１５】  また、第１及び第２の実施形態では、通知送信部２０３は、一時断通知を、１回ではなく、所定の送信期間内に複数回送信してもよい。送信期間は、あらかじめ決められている固定的な期間であってもよい。送信期間は、判定部２０２が通信路一時断が発生したと判定した後、データ受信部２０１がデータを受信するまでの期間であってもよい。送信期間は、あらかじめ計測された、第１の通信装置１と第２の通信装置２との間の往復の遅延時間や、過去に計測されたその往復の遅延時間から導出された統計量であってもよい。統計量は、例えば、平均値、中間値、あるいは中央値などである。通知送信部２０３が、一時断通知を複数回送信する場合、通知送信部２０３は、一時断通知に、その一時断通知が基づく通信路一時断の発生の判定を特定する識別子を含めてもよい。
【０１１６】  第３の実施形態において、例えば、通信に使用される通信プロトコルのうち、下層の通信プロトコルにおいて送達確認がなされている場合、送達確認受信部１０６は、その下層の通信プロトコルに基づき送達確認を検出してもよい。あるいは、第１の通信装置１Ｂは送達確認受信部１０６を含んでいなくてもよい。そして、第２の通信装置２は、送達確認送信部２０４を含んでいなくてもよい。そして、第１の通信装置１は、送達確認が行われる下層の通信プロトコルにおける送達確認を検出する送達確認部を含んでいてもよい。ＴＣＰは、上述のような、送達確認がなされる通信プロトコルの例である。
【０１１７】  ＜第１の実装例＞  次に、第１の実施形態に基づく実装例である、第１の実装例について説明する。
【０１１８】  本実装例では、第１の通信装置１及び第２の通信装置２は、中央演算装置、メモリ、記憶装置、及びネットワーク接続機能を持つ通信端末である。
【０１１９】  第１の通信装置１は、例えば、インターネットと通信可能に接続されているモバイル網に、基地局を介して接続されている、可搬な通信端末装置である。第１の通信装置１は、第１の通信装置１を保持するユーザの移動によって、移動する。第１の通信装置１が移動することによって、第１の通信装置１が接続している基地局が切り替えられる。切替検知部１０５は、モバイル網において第１の通信装置１が接続している基地局の切り替えを、通信路の切り替えとして検知する。
【０１２０】  第２の通信装置２は、例えば、インターネットに配置されたサーバである。第２の通信装置２は、移動しない。第２の通信装置２は、通信網の切り替えを検知しない。
【０１２１】  第１の通信装置１及び第２の通信装置２は、互いを通信可能に接続する２つのＴＣＰコネクションを維持している。第１の通信装置１と第２の通信装置２との間において、データの転送はＴＣＰコネクションを使用して直接行われる。本変形例の以下の説明において、それらの２つのＴＣＰコネクションのうちの一つを、ＴＣＰコネクションＡと表記する。さらに、それらの２つのＴＣＰコネクションのうちの他の一つを、ＴＣＰコネクションＢと表記する。
【０１２２】  第１の通信装置１は、例えば１００ミリ秒間隔で、ＴＣＰコネクションＡを用いて、第２の通信装置２に対してデータを送信し続けている。第１の通信装置１は、データの送信に使用していないＴＣＰコネクションＢが確立されている状態を維持するために、コネクション管理処理を行う。第１の通信装置１は、コネクション管理処理として、例えば、３００ミリ秒毎に、ＴＣＰコネクションを使用してキープアライブメッセージを送信する。キープアライブメッセージは、通信装置間においてデータを交換することを目的とするデータではなく、コネクションが確立された状態を維持することを目的とするデータである。
【０１２３】  第２の通信装置２は、例えば、データの受信する間隔が５秒を越えた場合、通信路が一時的に断絶した状態である通信一時断が発生したと判定するように設定されている。例えば、第２の通信装置２がｎ番目のデータであるデータｎを受信した後、５秒経過しても、（ｎ＋１）番目のデータであるデータ（ｎ＋１）が第２の通信装置２に到着しなかった場合、第２の通信装置２は、通信路一時断が発生したと判定する。第２の通信装置２は、通信路一時断が発生したと判定した場合、一時断通知として、例えば、“Ｉｃｈｉｊｉｄａｎ”というテキストデータを第１の通信装置１に送信する。一時断通知は、前述のテキストデータに限られない。一時断通知は、あらかじめ定められているデータであればよい。
【０１２４】  第１の通信装置１は、例えば、一時断通知を受信した時刻と通信路の切り替えの完了が検知された時刻との差が１秒以内である場合、送信コネクションを変更するように設定されている。例えば、第１の通信装置１は、通信路の切り替えの完了を検知し、その検知の１００ミリ秒後に一時断通知を受信した場合、送信コネクションとして、ＴＣＰコネクションＡの代わりにＴＣＰコネクションＢを使用するよう決定する。
【０１２５】  ＜第２の実装例＞  次に、第３の実施形態に基づく実装例である、第２の実装例について説明する。
【０１２６】  本実装例では、第１の実装例と同様に、第１の通信装置１Ｂ及び第２の通信装置２Ｂは、中央演算装置、メモリ、記憶装置、及びネットワーク接続機能を持つ通信端末である。
【０１２７】  本実装例では、第１の通信装置１Ｂは、インターネット上に配置されたサーバである。第１の通信装置１Ｂは、移動しない。そして、第１の通信装置１Ｂは、通信路の切り替えを検知することができない。
【０１２８】  第２の通信装置２Ｂは、インターネットと通信可能に接続されているモバイル網に、基地局を介して接続されている可搬な通信端末装置である。第２の通信装置２Ｂの移動に応じて、第２の通信装置２Ｂが接続される、モバイル網の基地局は切り替わる。第２の通信装置２Ｂは、モバイル網の基地局の切り替えを、通信路の切り替えとして検知する。
【０１２９】  第１の通信装置１Ｂ及び第２の通信装置２Ｂの間において、例えば２つのＴＣＰコネクションが維持されている。第１の通信装置１Ｂと第２の通信装置２Ｂとの間におけるデータの転送は、ＴＣＰコネクションを介して、直接行われる。本実装例でも、それらの２つのＴＣＰコネクションのうち、一方を、ＴＣＰコネクションＡと表記する。また、それらの２つのＴＣＰコネクションのうち、他方を、ＴＣＰコネクションＢと表記する。
【０１３０】  第１の通信装置１Ｂは、あらかじめ決められた間隔で、ＴＣＰコネクションＡを用いて、第２の通信装置２Ｂにデータを送信し続けている。本実装例では、そのあらかじめ決められた間隔は１００ミリ秒である。第２の通信装置２Ｂは、第１の通信装置１Ｂから、例えば１番目のデータであるデータ１を受信した場合、データ１が送達されたことを表す送達確認１を、第１の通信装置１Ｂに返信する。第１の通信装置１Ｂは、返信された送達確認１を受信する。第１の通信装置１Ｂ及び第２の通信装置２Ｂの間において、２番目のデータを表すデータ２以降のデータに対しても同様に、データの送信と送達確認の返信が行われる。
【０１３１】  第１の通信装置１Ｂは、データの送信に使用されていないＴＣＰコネクションＢが確立されている状態を維持するために、コネクション管理処理を行う。第１の通信装置１Ｂは、コネクション管理処理として、例えば、３００ミリ秒毎にＴＣＰコネクションＢを使用してキープアライブメッセージを第２の通信装置２Ｂに送信する。
【０１３２】  第１の通信装置１Ｂは、送信されているｎ番目のデータであるデータｎの送達確認ｎを受信してから所定時間内に、同様に送信されている（ｎ＋１）番目のデータであるデータ（ｎ＋１）の送達確認（ｎ＋１）が到着しない場合、通信路一時断が発生したと判定する。その所定時間は、例えば５秒である。その場合、第１の通信装置１Ｂは、データｎの送達確認ｎを受信してから５秒が経過しても、データ（ｎ＋１）の送達確認（ｎ＋１）が到着しない場合、通信路一時断が発生したと判定する。
【０１３３】  第２の通信装置２Ｂは、通信路の切り替えの完了を検知した場合、切替通知を、第１の通信装置１Ｂに送信する。切替通知は、例えば、“Ｔｓｕｓｈｉｎｒｏｋｉｒｉｋａｅ”等のテキストデータであってもよい。切替通知は、あらかじめ定められているデータであればよい。
【０１３４】  第１の通信装置１Ｂは、例えば、通信路一時断が発生したと判定した時刻と切替通知を受信した時刻との差が所定時間以内である場合、送信コネクションを変更する。その所定時間は、例えば１秒である。その場合、例えば、第１の通信装置１Ｂが通信路一時断が発生したと判定してから１００ミリ秒後に切替通知を受信した場合、第１の通信装置１Ｂは、送信コネクションを変更する。第１の通信装置１Ｂは、２つのＴＣＰコネクションのうち、送信コネクションではないＴＣＰコネクションＢを、新しい送信コネクションに決定する。すなわち第１の通信装置１Ｂは、データを送信するために、ＴＣＰコネクションＢを使用するよう決定する。
【０１３５】  ＜第４の実施形態＞  次に、本発明の第４の実施形態について、図面を参照して詳細に説明する。
【０１３６】  図８は、本実施形態の通信制御装置３Ｃの構成の例を表す図である。
【０１３７】  図８を参照すると、本実施形態の通信制御装置３Ｃは、管理部１０２と、変更部１０３と、を備える。管理部１０２は、送信先装置に対する複数のコネクションを維持する。変更部１０３は、判定部２０２から、一時断通知を受信するのに加えて、切替検知部１０５から、前記一時断通知に基づく所定期間内に切替通知を受信した場合、選択コネクション以外の複数のコネクションから新たな選択コネクションを選択する。そして、変更部１０３は、選択した選択コネクションの識別子をデータ送信部１０１に送信する。判定部２０２は、複数のコネクションから選択された選択コネクションを介してデータ送信部１０１が行う送信先装置に対する通信が中断された状態である一時断を検出し、その一時断を検出するのに応じて一時断通知を送信する。切替検知部１０５は、データ送信部１０１と送信先装置との間の通信路の切り替えを検出し、その切り替えの完了が検出された場合に切替通知を送信する。
【０１３８】  本実施形態には、第１の実施形態と同じ効果がある。その理由は、第１の実施形態の効果が生じる理由と同じである。
【０１３９】  本発明の実施形態に係る通信装置は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。本発明の実施形態に係る通信装置は、第１の通信装置１、第１の通信装置１Ａ、第１の通信装置１Ｂ、第２の通信装置２、第２の通信装置２Ａ、第２の通信装置２Ｂ、通信制御装置３、通信制御装置３Ａ、通信制御装置３Ｂ、及び通信制御装置３Ｃである。
【０１４０】  図９は、本発明の実施形態に係る通信装置を実現することができる、コンピュータ１０００の構成の一例を表す図である。図９を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、他の装置にアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、本発明の実施形態に係る通信装置のいずれかとして動作させるプログラムが格納されている。
【０１４１】  プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、本発明の実施形態に係る通信装置のいずれかとして動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、本発明の実施形態に係る通信装置のいずれかとして動作する。
【０１４２】  下記の第１のグループに含まれる部は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。下記の第２のグループに含まれる部は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。第１のグループは、データ送信部１０１、管理部１０２、変更部１０３、通知受信部１０４、切替検知部１０５、送達確認受信部１０６、判定部１０７、切替受信部１０８、及び、切替送信部１０９である。第２のグループは、データ受信部２０１、判定部２０２、通知送信部２０３、送達確認送信部２０４、切替検知部２０５、切替送信部２０６、切替受信部２０７、及び、変更指示部２０８である。
【０１４３】  あるいは、第１のグループに含まれる部及び第２のグループに含まれる部の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【０１４４】  以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１４５】  また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１４６】  （付記１）  送信先装置に対する複数のコネクションを維持する管理手段と、  前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、  前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、  前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更手段と、  を備える通信制御装置。
【０１４７】  （付記２）  前記データ送信手段は、前記データに当該データの送信時刻を関連付けて送信し、  前記判定手段は、前記一時断の発生前に最後に送信された前記データに関連付けられている送信時刻を、前記一時断通知に関連付けて送信し、  前記変更手段は、前記一時断通知に関連付けられている送信時刻を、前記所定期間の開始時刻に設定する  付記１に記載の通信制御装置。
【０１４８】  （付記３）  前記判定手段は、前記送信先装置が前記データ送信手段から最後にデータを受信してから経過した時間に基づき、前記一時断を検出する  付記１又は２に記載の通信制御装置。
【０１４９】  （付記４）  前記データ送信手段は、所定間隔で前記データを送信し、  前記判定手段は、前記データを受信する間隔の前記所定間隔に対するずれの大きさが所定閾値を超える場合、前記一時断の発生を判定する  付記１乃至３のいずれかに記載の通信制御装置。
【０１５０】  （付記５）  前記所定期間の開始時刻は、前記一時断通知に基づく時刻である確定時刻より第１の所定時間前の時刻、又は前記一時断の発生前における前記データの最後の送信時刻であり、前記所定期間の終了時刻は、前記一時断通知に基づく時刻である確定時刻より第２の所定時間後の時刻、又は前記切替通知の受信時刻である  付記１乃至４のいずれかに記載の通信制御装置。
【０１５１】  （付記６）  前記データ送信手段を含む送信装置と、  前記データを受信するのに応じて、前記データの受信を前記判定手段に通知するデータ受信手段を含む前記送信先装置と、  付記１乃至５のいずれかに記載の通信制御装置と、  を含む通信システム。
【０１５２】  （付記７）  前記送信装置は、前記切替検知手段と、前記通信制御装置とを更に含み、  前記送信先装置は、前記判定手段を更に含む、  付記６に記載の通信システム。
【０１５３】  （付記８）  前記送信先装置は、前記データ受信手段が前記データを受信したことを表す送達確認を送信する確認送信手段と、前記切替検知手段とを更に含み、  前記送信装置は、前記送達確認を受信するのに応じて、当該送達確認の受信時刻を、前記データの受信時刻として、前記判定手段に通知する確認受信手段と、前記判定手段とを更に含む、  付記６に記載の通信システム。
【０１５４】  （付記９）  送信先装置に対する複数のコネクションを維持し、  前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、  前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、  前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する  通信制御方法。
【０１５５】  （付記１０）  前記データに当該データの送信時刻を関連付けて送信し、  前記一時断の発生前に最後に送信された前記データに関連付けられている送信時刻を、前記一時断通知に関連付けて送信し、  前記一時断通知に関連付けられている送信時刻を、前記所定期間の開始時刻に設定する  付記９に記載の通信制御方法。
【０１５６】  （付記１１）  前記送信先装置が前記データ送信手段から最後にデータを受信してから経過した時間に基づき、前記一時断を検出する  付記９又は１０に記載の通信制御方法。
【０１５７】  （付記１２）  所定間隔で前記データを送信し、  前記データを受信する間隔の前記所定間隔に対するずれの大きさが所定閾値を超える場合、前記一時断の発生を判定する  付記９乃至１１のいずれかに記載の通信制御方法。
【０１５８】  （付記１３）  前記所定期間の開始時刻は、前記一時断通知に基づく時刻である確定時刻より第１の所定時間前の時刻、又は前記一時断の発生前における前記データの最後の送信時刻であり、前記所定期間の終了時刻は、前記一時断通知に基づく時刻である確定時刻より第２の所定時間後の時刻、又は前記切替通知の受信時刻である  付記９乃至１２のいずれかに記載の通信制御方法。
【０１５９】  （付記１４）  コンピュータを、  送信先装置に対する複数のコネクションを維持する管理手段と、  前記複数のコネクションから選択された選択コネクションを介してデータ送信手段が行う前記送信先装置に対する通信が中断された状態である一時断を検出し、当該一時断を検出するのに応じて一時断通知を送信する判定手段から、前記一時断通知を受信するのに加えて、  前記データ送信手段と前記送信先装置との間の通信路の切り替えを検出し、当該切り替えの完了が検出された場合に切替通知を送信する切替検知手段から、前記一時断通知に基づく所定期間内に前記切替通知を受信した場合、  前記選択コネクション以外の前記複数のコネクションから新たな前記選択コネクションを選択し、選択した前記選択コネクションの識別子を前記データ送信手段に送信する変更手段と、  して動作させる通信制御プログラム。
【０１６０】  （付記１５）  コンピュータを、  前記データに当該データの送信時刻を関連付けて送信する前記データ送信手段と、  前記一時断の発生前に最後に送信された前記データに関連付けられている送信時刻を、前記一時断通知に関連付けて送信する前記判定手段と、  前記一時断通知に関連付けられている送信時刻を、前記所定期間の開始時刻に設定する前記変更手段と、  して動作させる付記１４に記載の通信制御プログラム。
【０１６１】  （付記１６）  コンピュータを、  前記送信先装置が前記データ送信手段から最後にデータを受信してから経過した時間に基づき、前記一時断を検出する前記判定手段と、  して動作させる付記１４又は１５に記載の通信制御プログラム。
【０１６２】  （付記１７）  コンピュータを、  所定間隔で前記データを送信する前記データ送信手段と、  前記データを受信する間隔の前記所定間隔に対するずれの大きさが所定閾値を超える場合、前記一時断の発生を判定する前記判定手段と、  して動作させる付記１４乃至１６のいずれかに記載の通信制御プログラム。
【０１６３】  （付記１８）  前記所定期間の開始時刻は、前記一時断通知に基づく時刻である確定時刻より第１の所定時間前の時刻、又は前記一時断の発生前における前記データの最後の送信時刻であり、前記所定期間の終了時刻は、前記一時断通知に基づく時刻である確定時刻より第２の所定時間後の時刻、又は前記切替通知の受信時刻である  付記１４乃至１７のいずれかに記載の通信制御プログラム。
【０１６４】  この出願は、２０１４年４月１０日に出願された日本出願特願２０１４−００８１１１４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１６５】  本発明は、音声やインタラクティブなサービスなどの、通信遅延に厳しいシステムに適用できる。
【符号の説明】
【０１６６】  １    第１の通信装置  １Ａ    第１の通信装置  １Ｂ    第１の通信装置  ２    第２の通信装置  ２Ａ    第２の通信装置  ２Ｂ    第２の通信装置  ３    通信制御装置  ３Ａ    通信制御装置  ３Ｂ    通信制御装置  ３Ｃ    通信制御装置  １０    通信システム  １０Ａ    通信システム  １０Ｂ    通信システム  １０１    データ送信部  １０２    管理部  １０３    変更部  １０４    通知受信部  １０５    切替検知部  １０６    送達確認受信部  １０７    判定部  １０８    切替受信部  １０９    切替送信部  ２０１    データ受信部  ２０２    判定部  ２０３    通知送信部  ２０４    送達確認送信部  ２０５    切替検知部  ２０６    切替送信部  ２０７    切替受信部  ２０８    変更指示部  １０００    コンピュータ  １００１    プロセッサ  １００２    メモリ  １００３    記憶装置  １００４    Ｉ／Ｏインタフェース  １００５    記録媒体
【図１】
0006528768.tif 000002
【図２】
0006528768.tif 000003
【図３】
0006528768.tif 000004
【図４】
0006528768.tif 000005
【図５】
0006528768.tif 000006
【図６】
0006528768.tif 000007
【図７】
0006528768.tif 000008
【図８】
0006528768.tif 000009
【図９】
0006528768.tif 000010