(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-09
(45)【発行日】2024-08-20
(54)【発明の名称】通信装置、制御方法、および、プログラム
(51)【国際特許分類】
H04L 69/325 20220101AFI20240813BHJP
H04L 69/00 20220101ALI20240813BHJP
【FI】
H04L69/325
H04L69/00
(21)【出願番号】P 2020152248
(22)【出願日】2020-09-10
【審査請求日】2023-09-05
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】鈴木 智也
【審査官】和平 悠希
(56)【参考文献】
【文献】米国特許出願公開第2016/0302197(US,A1)
【文献】特開2014-011636(JP,A)
【文献】国際公開第2019/244284(WO,A1)
【文献】米国特許出願公開第2008/0107031(US,A1)
【文献】特開2009-005193(JP,A)
【文献】特開2015-091042(JP,A)
【文献】特開平06-152650(JP,A)
【文献】特開2012-249002(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
通信装置であって、
他の通信装置との通信接続を介して、前記他の通信装置へ送信する送信パケットを格納する送信キューと、
前記他の通信装置へ送信する新たなデータが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定手段と、
前記判定手段により前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除手段と、
前記削除手段により前記未送信パケットを削除した場合に、前記新たなデータに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信手段と、
を有
し、
前記通信接続を介した通信の伝送レートが第1の閾値を下回った場合に、前記判定手段による判定が行われることを特徴とする通信装置。
【請求項2】
通信装置であって、
他の通信装置との通信接続を介して、前記他の通信装置へ送信する送信パケットを格納する送信キューと、
前記他の通信装置へ送信する新たなデータが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定手段と、
前記判定手段により前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除手段と、
前記削除手段により前記未送信パケットを削除した場合に、前記新たなデータに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信手段と、
を有し、
前記判定手段は、前記送信キューに格納されている前記未送信パケットの量が第2の閾値よりも多い場合に、前記未送信パケットを前記送信キューから削除すると判定することことを特徴とする通信装置。
【請求項3】
複数のアンテナを有する通信装置であって、
他の通信装置との通信接続を介して、前記他の通信装置へ送信する送信パケットを格納する送信キューと、
前記他の通信装置へ送信する新たなデータが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定手段と、
前記判定手段により前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除手段と、
前記削除手段により前記未送信パケットを削除した場合に、前記新たなデータに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信手段と、
を有し、
前記他の通信装置との通信に用いるアンテナを切り替えない場合には、前記削除手段は前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除し、
前記他の通信装置との通信に用いるアンテナを切り替える場合には、前記削除手段は前記通信接続を切断して、前記送信キューに格納された前記未送信パケットを削除することを特徴とする通信装置。
【請求項4】
通信装置であって、
他の通信装置との通信接続を介して、前記他の通信装置へ送信すべき送信パケットであって画像データを含む送信パケットを格納する送信キューと、
前記他の通信装置へ送信する新たな画像データが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定手段と、
前記判定手段により前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除手段と、
前記削除手段により前記未送信パケットを削除した場合に、前記新たな画像データに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信手段と、
を有することを特徴とする通信装置。
【請求項5】
前記判定手段により前記未送信パケットを削除すると判定されなかった場合、前記送信手段は、前記通信接続を介して前記未送信パケットを前記他の通信装置へ送信することを特徴とする請求項1
から4のいずれか1項に記載の通信装置。
【請求項6】
前記通信接続は、IEEE802.11シリーズ規格に準拠した通信を行うための接続であることを特徴とする請求項1から
5のいずれか1項に記載の通信装置。
【請求項7】
前記判定手段は、ユーザによる所定の指示を受信した場合に、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除することを特徴とする請求項1から
6のいずれか1項に記載の通信装置。
【請求項8】
他の通信装置との通信接続を介して、前記他の通信装置へ送信
すべき送信パケットであって画像データを含む送信パケットを格納する送信キューを有する通信装置の制御方法であって、
前記他の通信装置へ送信する新たな
画像データが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定工程と、
前記判定工程において前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除工程と、
前記削除工程において前記未送信パケットを削除した場合に、前記新たな
画像データに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信工程と、
を有することを特徴とする制御方法。
【請求項9】
コンピュータを請求項1から
7のいずれか1項に記載の通信装置として動作させるためのプログラム。
【請求項10】
通信装置であって、
他の通信装置へ送信する映像データに関する送信パケットを格納する送信キューと、
前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない映像データを含む未送信パケットを前記送信キューから削除するかどうかを判定する判定手段と、
前記判定手段により前記未送信パケットを削除すると判定された場合、前記他の通信装置との接続を維持したまま、前記送信キューに格納された前記未送信パケットを破棄し、前記送信キューに新たに生成した映像データに関する送信パケットを前記送信キューに格納し、当該送信キューに格納された前記新たに生成した映像データに関する送信パケットを前記他の通信装置へ送信する送信制御手段と、
を有することを特徴とする通信装置。
【請求項11】
前記判定手段は、前記送信キューに格納された前記映像データに関する送信パケットが所定の期間の間、前記他の通信装置に対して送信がなされなかった場合に、当該所定の期間の間、前記他の通信装置に対して送信がなされなかった送信パケットを前記送信キューから削除すると判断することを特徴とする請求項
10に記載の通信装置。
【請求項12】
前記未送信パケットを破棄することは、当該未送信パケットが格納されているメモリ領域について、他のデータを書き込み出来ない状態から、書き込み可能な状態にメモリのアクセス管理状態を変更することで未送信パケットを破棄することを特徴とする請求項
10又は
11に記載の通信装置。
【請求項13】
前記送信パケットは無線通信で前記他の通信装置に送信されることを特徴とする請求項
10から
12のいずれか1項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、送信キューを用いて送信パケットを管理する通信装置に関する。
【背景技術】
【0002】
送信パケットを送信キューで管理した上で、ネットワークへ送信する通信装置が提案されている。このような通信装置においては、送信キューに未送信パケットが滞留する可能性がある。そこで、送信キューの滞留を解消する手法として、相手装置との通信接続を維持したままデータ送信を一度停止して送信キューの滞留要因の解決を待ち、その後、データ送信を再開する方式が考えられている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の方法では、通信装置が新たな送信データを作成して送信する場合に、送信キューに滞留した未送信パケットの送信が完了しなければ、新たに作成されたデータの送信が開始できず、遅延が発生するという課題があった。
【0005】
上記課題を鑑み、未送信パケットが送信キューに存在する場合であっても、新たに作成されたデータに係るパケットを速やかに送信できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
本発明は、通信装置であって、他の通信装置との通信接続を介して、前記他の通信装置へ送信する送信パケットを格納する送信キューと、前記他の通信装置へ送信する新たなデータが生成された際に、前記送信キューに格納された前記送信パケットであって、前記他の通信装置へ送信されていない未送信パケットを前記送信キューから削除するかを判定する判定手段と、前記判定手段により前記未送信パケットを削除すると判定された場合、前記通信接続を維持したまま、前記送信キューに格納された前記未送信パケットを削除する削除手段と、前記削除手段により前記未送信パケットを削除した場合に、前記新たなデータに係る送信パケットを、前記通信接続を介して前記他の通信装置へ送信する送信手段と、を有し、前記通信接続を介した通信の伝送レートが第1の閾値を下回った場合に、前記判定手段による判定が行われることを特徴とする。
【発明の効果】
【0007】
本発明によれば、未送信パケットが送信キューに存在する場合であっても、新たに作成されたデータに係るパケットを速やかに送信できる。
【図面の簡単な説明】
【0008】
【
図3】実施形態1に係る通信装置10が実現するフローチャート。
【
図4】実施形態2に係る通信装置10が実現するフローチャート。
【
図5】実施形態3に係る通信装置10が実現するフローチャート。
【
図6】実施形態4に係る通信装置10が実現するフローチャート。
【発明を実施するための形態】
【0009】
(実施形態1)
図1に、通信装置10のハードウェア構成を示す。通信装置10は、RAM101、ROM102、CPU103、タイマ管理部104、メディアアクセス制御モジュール(MAC)105、物理レイヤモジュール(PHY)106、および、アンテナ107を備える。ここで、RAMはRandom Access Memoryの、ROMはRead Only Memoryの、CPUはCentral Processing Unitのそれぞれ略である。なお、通信装置10が上記のモジュールの一部のみを備える構成であってもよい。
【0010】
RAM101は、プログラムやデータを一時記憶する。また、RAM101の一部のメモリ領域は、送信キュー110として用いられる。ROM102は、変更を必要としないプログラムであって後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータなどの各種情報を格納する。CPU103は、通信装置10全体を制御する。CPU103は、メインメモリであるRAM101をワークメモリとして、ROM102や図示しないHDDなどプログラム格納部の記憶媒体に格納された各種プログラムを実行する。CPU103は1または複数のプロセッサもしくはコアを有する。
【0011】
タイマ管理部104は、プログラムの処理などの時間の経過を管理する。MAC105とPHY106は、アンテナ107での無線LAN(Local Area Network)などのネットワークを介した通信を行う通信部である。CPU103は、ネットワークドライバを実行し、MAC105を制御してデータの送受信を行う。
【0012】
通信装置10の具体例は、センサデバイス、デジタルカメラ、デジタルビデオカメラ、携帯電話、スマートフォン、PC、ノートPC、サーバ、などである。また、通信装置10は、IEEE802.11シリーズ規格に準拠した無線LAN(Local Area Network)を介して通信するが、これに限らず、他の無線通信機能を利用して通信しても良い。また、Ethernetなどの有線LAN通信機能、または無線LAN通信機能と有線LAN通信機能の組合せを利用しても良い。なお、IEEEとはInstitute of Electrical and Electronics Engineersの略である。
【0013】
図2に、通信装置10のCPU103がROM102に記憶されているプログラムを読み出すことで実現されるソフトウェア機能ブロックを示す。なお、
図2に示すソフトウェア機能ブロックの少なくとも一部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで各機能ブロックを実現するためのプログラムからFPGA上に専用回路を生成し、これを当該ソフトウェアモジュールの機能を有するハードウェアモジュールとして用いればよい。FPGAとは、Field Programmable Gate Arrayの略である。また、FPGAと同様にしてGate Array回路を形成し、ハードウェアとして実現するようにしてもよい。
【0014】
通信装置10は、制御部201、LAN通信制御部202、記憶制御部203、TCP/IP通信制御部204、データ送信制御部205、送信キューフラッシュ部206、および、送信キューフラッシュ判定部207を備える。なお、通信装置10が上記のモジュールの一部のみを備える構成であってもよい。
【0015】
制御部201は、通信装置10が備える個々の機能モジュールを制御する。アプリケーションは、制御部201を介して個々の機能モジュールを使用する。
【0016】
LAN通信制御部202は、MAC105を制御し、他の通信装置とのLAN通信の制御を行う。通信装置10が外部の無線アクセスポイント(不図示)を経由して他の通信装置と接続する場合は、LAN通信制御部202はMAC105を制御して無線アクセスポイントとの無線LAN通信の制御を行う。これに限らず、LAN通信制御部202は有線LAN通信機能などの他の通信方式を利用してもよい。
【0017】
記憶制御部203は、RAM101およびROM102を制御し、処理データや画像コンテンツ、映像コンテンツなどのデータを記憶または削除する。なお、本実施形態ではRAM101およびROM102を利用する例を示すが、これに限らず、補助記憶装置など他の記憶部を利用してもよい。
【0018】
TCP/IP通信制御部204は、LAN通信制御部202を用いて、他の通信装置との間でTCP/IP方式の通信プロトコル処理および通信制御を行う。なお、TCP/IP通信制御部204は、TCP/IP方式の通信に限らず、UDP通信など、送信キュー110を用いて送信パケットを管理する送信方式を行ってもよい。
【0019】
データ送信制御部205は、送信キュー110を用いて送信パケットを管理して、データの送信を制御する。データ送信制御部205は、通信接続の開始/維持/終了、送信キュー110で管理している送信パケットの送信開始/送信停止/送信再開/再送信/送信終了、作成しなおした新たなデータの送信などを制御する。作成しなおした新たなデータとは、送信中のデータと同一のデータではなく、送信中のデータは破棄することを意図して、新たに作成しなおしたデータを指す。また、送信キュー110では未送信パケットを管理するが、確認応答を待つ通信方式の場合、確認応答を受信していない送信済みパケットも管理してよい。データ送信制御部205は、LAN通信制御部202とTCP/IP通信制御部204のいずれか、もしくは両方から使用される。
【0020】
送信キューフラッシュ部206は、データ送信制御部205が送信キュー110で管理している送信パケットを削除する。ここで、送信キューフラッシュ部206は、送信キュー110において送信パケットが格納された部分のメモリ領域に所定の値を上書きすることで送信パケットを削除してもよい。また、送信キューフラッシュ部206は、削除フラグを立てることで送信キュー110において送信パケットが格納された部分に別の情報を書き込み可能とすることで削除してもよい。送信キューフラッシュ部206は、データ送信制御部205から使用される。
【0021】
送信キューフラッシュ判定部207は、データ送信制御部205が送信キュー110で管理している送信パケットを削除するか否かを判定する。送信キューフラッシュ判定部207は、データ送信制御部205から使用される。
【0022】
図3は、通信装置10が通信接続を維持したまま作成しなおした新たなデータを送信する際に、送信キュー110に滞留した未送信パケットを削除するか否かを判定する手順を示すデータ送信フローチャートである。なお、
図3に示すフローチャートは、通信装置10のCPU103がROM102に記憶されたプログラムを読み出して実行することで実現される。なお、
図3のフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。ここで、ASICとは、Application Specific Integrated Circuitの略である。
【0023】
なお、次のような場合に、送信キュー110に未送信パケットが滞留する可能性がある。第一に、外乱によりネットワークインタフェースの通信性能が劣化した場合、送信キュー110に未送信パケットが滞留する。第二に、相手装置における受信処理能力が低下した場合、送信側の通信装置10において、送信キュー110に未送信パケットが滞留する。第三に、通信装置10において、不図示のオフロード処理部を採用した場合、送信パケットの生成処理効率が向上することで送信キュー110に未送信パケットが滞留する。オフロード処理部は、送信処理でCPUに掛かる負荷を低減するため、CPUで実行する通信プロトコル処理の一部を代行する処理部である。
【0024】
まずS301において、通信装置10のTCP/IP通信制御部204は、データ送信制御部205を用いて、通信接続を開始する。そして、送信キュー110を用いて送信パケットを管理して、当該通信接続を介して相手装置へデータを送信する。また、通信装置10のTCP/IP通信制御部204から使用されるLAN通信制御部202においても、データ送信制御部205を用いて、送信キュー110を用いて送信パケットを管理してデータを送信してもよい。
【0025】
S302において、通信装置10のデータ送信制御部205は、通信接続を維持するか否か、および新たなデータを作成しなおして送信するか否かを判定する。通信接続を維持したまま新たなデータを作成しなおして送信する場合(S302のYES)、S303に進み、通信接続を維持しない、または新たなデータを作成しなおして送信しない場合(S302のNO)、S307に進む。通信接続を維持すること、新たなデータを作成しなおして送信することは、ユーザの操作またはアプリケーションからの指示で実行する。
【0026】
S303において、通信装置10のデータ送信制御部205は、データの送信状態を確認する。具体的には、データ送信制御部205で送信するデータの残量、LAN通信制御部202で制御している通信方式の伝送レートなどを確認する。
【0027】
S304において、通信装置10の送信キューフラッシュ判定部207は、データ送信制御部205で管理する送信キュー110に滞留している未送信パケットの送信が不要であるか否かを判定する。送信キュー110に滞留している未送信パケットの送信が不要である場合(S304のYES)、S305に進み、送信キュー110に滞留している未送信パケットの送信が必要である場合(S304のNO)、S306に進む。送信キュー110に滞留している未送信パケットの送信が不要であると判定する条件は、例えば、ユーザ操作やアプリケーションからの指示である。もしくは、S303で確認したデータ送信制御部205で送信するデータの残量が閾値以上であることである。もしくは、S303で確認したLAN通信制御部202で制御している通信方式の伝送レートが閾値未満、即ち、所定の閾値を下回った状態で所定時間経過したことである。もしくは、相手装置へデータ送信が所定時間(上記の所定時間とは異なる時間であってよい)為されなかったことである。もしくは、これらの組み合わせを条件として用いてもよい。
【0028】
S305において、通信装置10のデータ送信制御部205は、送信キューフラッシュ部206を用いて、送信キュー110に滞留している未送信パケットを削除する。
【0029】
S306において、通信装置10のTCP/IP通信制御部204は、データ送信制御部205を用いて、通信接続を維持したまま新たなデータを作成しなおして送信する。
【0030】
S307において、通信装置10のデータ送信制御部205は、送信キュー110内の送信パケットの送信を継続する。
【0031】
以上、説明したように、通信装置10のデータ送信制御部205は、通信接続を維持したまま新たなデータを作成しなおして送信する場合、送信キュー110に滞留している未送信パケットを削除する。その結果、作成しなおした新たなデータの送信を速やかに行うことができる。
【0032】
上述のようにして、アプリケーションが通信接続を維持したままで送信データを作成しなおして送信する場合でも、送信キュー110に滞留した未送信パケットを削除することで、作成しなおしたデータの送信を速やかに行うことができる。
【0033】
(実施形態2)
実施形態2では、通信装置10が通信接続を維持したまま送信を停止する際、送信キュー110のフラッシュを判定する場合について説明する。なお、実施形態2においても通信装置10のハードウェア構成、および、ソフトウェア構成は実施形態1と同様である。以下の説明においては、実施形態1と同様の部分については説明を省略する。
【0034】
図4は、通信装置10が通信接続を維持したまま送信を停止する際に、送信キュー110に滞留した未送信パケットを削除するか否かを判定する手順を示すデータ送信フローチャートである。なお、
図4に示すフローチャートは、通信装置10のCPU103がROM102に記憶されたプログラムを読み出して実行することで実現される。なお、
図4のフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
【0035】
S401は、S301と同様である。
【0036】
S402において、通信装置10のデータ送信制御部205は、通信接続を維持するか否か、およびデータ送信を停止するか否かを判定する。通信接続を維持したままデータ送信を停止する場合(S402のYES)、S403に進み、通信接続を維持しない、またはデータ送信を停止しない場合(S402のNO)、S406に進む。通信接続を維持すること、データ送信を停止することは、ユーザの操作またはアプリケーションからの指示で実行する。
【0037】
S403は、S303と同様である。
【0038】
S404において、通信装置10の送信キューフラッシュ判定部207は、データ送信制御部205で管理する送信キュー110に滞留している未送信パケットの送信が不要であるか否かを判定する。送信キュー110に滞留している未送信パケットの送信が不要である場合(S404のYES)、S405に進み、送信キュー110に滞留している未送信パケットの送信が必要である場合(S404のNO)、S406に進む。送信キュー110に滞留している未送信パケットの送信が必要であると判定する条件は、ユーザ操作やアプリケーションからの指示、S403で確認したデータ送信制御部205で送信するデータの残量が閾値未満であることなどである。S405は、S305と同様である。S406は、S307と同様である。
【0039】
このようにして、通信装置10のデータ送信制御部205は、通信接続を維持したままデータ送信を停止する場合、送信キューフラッシュ部206を使用して、データ送信制御部205で管理する送信キュー110に滞留している未送信パケットを削除する。その結果、次の送信処理を速やかに行うことができる。
【0040】
(実施形態3)
実施形態3では、通信装置10が新たなデータを作成せずに、送信キュー110に滞留した未送信パケットを送信する場合について説明する。
【0041】
以下、本発明に係る実施形態3の通信処理を説明する。なお、実施形態2においても通信装置10のハードウェア構成、および、ソフトウェア構成は実施形態1と同様である。
【0042】
図5は、通信装置10が通信接続を維持したまま新たなデータを作成しなおして送信する際に、送信キュー110に滞留している未送信パケットを送信した上で、新たなデータは送信しない手順を示すフローチャートである。なお、
図5に示すフローチャートは、通信装置10のCPU103がROM102に記憶されたプログラムを読み出して実行することで実現される。なお、
図5のフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
【0043】
S501~S505は、S301~S305と同様である。
【0044】
S506において、通信装置10のデータ送信制御部205は、新たなデータの送信を開始するか否かを判定する。新たなデータの送信を開始する場合(S506のYES)、S507に進み、新たなデータの送信を開始しない場合(S506のNO)、S508に進む。新たなデータの送信を開始しないことは、次の条件で判断する。S504で送信キュー110内のデータ送信が必要と判断し、かつデータ送信制御部205が送信する全データの内、未送信のデータ残量が閾値以下の場合、新たなデータを送りなおさずに送信キュー110内のデータ送信を継続すると判断する。また、S504で送信キュー110内のデータ送信が必要と判断し、かつS503で確認したデータの伝送レートが改善されない場合、新たなデータを送りなおさずに送信キュー110内のデータ送信を継続すると判断してもよい。
【0045】
S507、S508は、S306、S307と同様である。
【0046】
このように、データ送信制御部205は、通信接続を維持したまま新たなデータを作成しなおして送信する際、新たなデータを送りなおすよりも送信キュー110内のデータ送信を継続した方が全データの送信が早期に完了すると判断できる場合がある。その場合、データ送信制御部205は、送信キュー110に滞留している未送信パケットを送信した上で、新たなデータは送信しない。その結果、新たなデータを作成しなおして送信するよりも、全データの送信を早期に完了することができる。
【0047】
(実施形態4)
実施形態4では、通信装置10が送信キュー110をフラッシュし、通信接続を終了、即ち、通信接続を切断して新たな通信接続を開始した上で新たなデータを送りなおす場合について説明する。
【0048】
以下、本発明に係る実施形態3の通信処理を説明する。なお、実施形態2においても通信装置10のハードウェア構成、および、ソフトウェア構成は実施形態1と同様である。
【0049】
図6は、通信装置10が送信キュー110をフラッシュし、通信接続を維持せずに終了して、新たな通信接続を開始した上で、新たなデータを送りなおす手順を示すフローチャートである。なお、
図6に示すフローチャートは、通信装置10のCPU103がROM102に記憶されたプログラムを読み出して実行することで実現される。なお、
図6のフローチャートに示すステップの一部または全部を例えばASIC等のハードウェアで実現する構成としても良い。
【0050】
S601~S603は、S301~S303と同様である。
【0051】
S604において、通信装置10のデータ送信制御部205は、現在の通信接続を維持するか否かを判定する。通信接続を維持する場合(S604のYES)、S605に進み、通信接続を維持しない場合(S604のNO)、S609に進む。通信接続を維持しないことは、次の条件で判断する。通信装置10が、アンテナ107を複数搭載していることを前提とし、S603において現在使用しているアンテナの伝送レートよりも現在使用していないアンテナの伝送レートの方がよいことを確認した場合である。その場合、通信装置10のデータ送信制御部205は、通信接続を維持せずに終了して、アンテナを切り替え、新たな通信接続を開始した上で、新たなデータを送りなおす。また、通信装置10が無線通信接続をしていることを前提とし、S603において現在使用している帯域やチャネルの伝送レートよりも現在使用していない帯域やチャネルの伝送レートの方がよいことを確認した場合である。その場合も、通信装置10のデータ送信制御部205は、通信接続を維持せずに終了して、帯域やチャネルを切り替え、新たな通信接続を開始した上で、新たなデータを送りなおしてもよい。
【0052】
S605~S608は、S304~S307と同様である。
【0053】
S609において、通信装置10のデータ送信制御部205は、送信キューフラッシュ部206を用いて、送信キュー110に滞留している未送信パケットを削除する。そして、通信装置10のデータ送信制御部205は、通信接続を終了する。
【0054】
S610において、通信装置10のデータ送信制御部205は、新しい通信接続を開始する。
【0055】
このようにして、データ送信制御部205は、信接続を維持したまま新たなデータを送りなおすよりも、通信接続を終了して新たな通信接続を開始した上で新たなデータを送りなおす方が全データの送信が早期に完了すると判断できる場合がある。その場合、データ送信制御部205は、送信キュー110に滞留している未送信パケットをフラッシュした上で、通信接続を維持せずに終了して、新たな通信接続を開始する。その結果、通信接続を維持したまま新たなデータを作成しなおして送信するよりも、全データの送信を早期に完了することができる。
【0056】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0057】
10 通信装置
101 RAM
102 ROM
103 CPU
104 タイマ管理部
105 MAC
106 PHY
107 アンテナ