JP2016063485A - 通信装置、通信制御方法およびコンピュータプログラム - Google Patents

通信装置、通信制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2016063485A
JP2016063485A JP2014191687A JP2014191687A JP2016063485A JP 2016063485 A JP2016063485 A JP 2016063485A JP 2014191687 A JP2014191687 A JP 2014191687A JP 2014191687 A JP2014191687 A JP 2014191687A JP 2016063485 A JP2016063485 A JP 2016063485A
Authority
JP
Japan
Prior art keywords
communication
data
request
connection
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.)
Granted
Application number
JP2014191687A
Other languages
English (en)
Other versions
JP6290055B2 (ja
Inventor
丈士 石原
Takeshi Ishihara
丈士 石原
石山 政浩
Masahiro Ishiyama
政浩 石山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014191687A priority Critical patent/JP6290055B2/ja
Priority to US14/855,721 priority patent/US9999079B2/en
Publication of JP2016063485A publication Critical patent/JP2016063485A/ja
Application granted granted Critical
Publication of JP6290055B2 publication Critical patent/JP6290055B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/12Setup of transport tunnels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

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

Abstract

【課題】周辺の通信環境の変化に応じ、論理コネクションを利用した通信を、効率よく行う。
【解決手段】本発明の一実施形態に係る通信装置は、第1の接続制御部と、通信環境監視部と、第2の接続制御部とを備える。前記第1の接続制御部は、データ通信に関する通信要求に応じて、通信可能な第1の通信装置と無線接続を形成する。前記通信環境監視部は、周辺の通信環境の状態を測定することにより通信環境データを取得する。前記第2の接続制御部は、前記無線接続を介して、前記通信要求に係る第2の通信装置と、前記データ通信を行うための論理コネクションを確立し、前記通信環境データに応じて、前記第2の通信装置と前記データ通信を行うよう制御する。
【選択図】図2

Description

本発明の実施形態は、通信装置、通信制御方法およびコンピュータプログラムに関する。
一般的に、インターネット通信には、論理的な通信路を用いる通信方式(プロトコル)であるTCP(Transport Control Protocol)が利用されている。TCPは、信頼性があるデータ通信を行うために、いくつかの通信制御機能を有する。相手先を確認した後にデータの送信を開始する「3ウェイハンドシェイク」、物理的な通信路上で輻輳が発生しないようにする輻輳制御機能、パケット喪失が発生した際の再送機能がある。さらには、突如として大量のトラフィックがネットワーク上に流れることを防ぐ「スロースタート」と呼ばれる仕組みもある。しかし、通信速度が速くなり、かつ通信方式が多様化した現在においては、「3ウェイハンドシェイク」および「スロースタート」といった機能が、オーバヘッドとなる状況も存在し、この場合、高速通信が阻害される可能性がある。
一方、近年急速に普及が進む無線LAN(Local Area Network)においては、無線LANアクセスポイントの近接地点では通信速度が高速でも、遠隔地点では通信速度が低速となることが知られている。すなわち、1つのネットワーク内においても通信速度ないしは通信品質がその位置に応じて変わることが一般的になりつつある。このような同一のネットワーク内で通信速度ないしは通信品質が変化するような環境においても、TCPを利用した通信を効率的に行うことが望まれる。
特開2010-35033号公報
本発明の実施形態は、通信環境の変化に応じ、論理コネクションを利用した通信を、効率よく行うことを目的とする。
本発明の一実施形態に係る通信装置は、第1の接続制御部と、通信環境監視部と、第2の接続制御部とを備える。
前記第1の接続制御部は、データ通信に関する通信要求に応じて、通信可能な第1の通信装置と無線接続を形成する。
前記通信環境監視部は、周辺の通信環境の状態を測定することにより通信環境データを取得する。
前記第2の接続制御部は、前記無線接続を介して、前記通信要求に係る第2の通信装置と、前記データ通信を行うための論理コネクションを確立し、前記通信環境データに応じて、前記第2の通信装置と前記データ通信を行うよう制御する。
本発明の実施形態に係る通信装置の通信環境を示す図。 本発明の実施形態に係る通信装置のブロック図。 本発明の実施形態に係る通信開始処理を概略的に示すフローチャート。 本発明の実施形態に係る通信要求保留処理のフローチャート。 本発明の実施形態に係る、APへの接続処理のフローチャート。 本発明の実施形態に係る、コネクションの確立処理のフローチャート。 本発明の実施形態に係る通信制御処理のフローチャート。 通信環境判定のデータを示す図。 図7の通信制御処理で行われるデータ送信処理のフローチャート。 図9のデータ送信処理に、APの再接続処理を加えたフローチャート。 図7の通信制御処理で行われる中断処理のフローチャート。 図7の通信制御処理で行われる待機処理のフローチャート。 図7の通信制御処理で行われる終了処理のフローチャート。 スロースタートを表す、送信パケット数と輻輳ウィンドウの大きさの関係図。 輻輳が発生した場合における、送信パケット数と輻輳ウィンドウの大きさの関係図。 図3の通信開始処理に先行送信処理を追加したフローチャート。 先行送信処理のフローチャート。 本発明の第3の実施形態に係る通信装置のブロック図。 図16の通信開始処理に、情報制御部の送信処理を追加したフローチャート。 情報制御部による送信処理の詳細なフローチャート。 情報制御部の受信処理のフローチャート。 本発明の第3の実施形態に係る通信装置の他の例ブロック図。 本発明の第3の実施形態に係る通信装置のさらに他の例のブロック図。 本発明の実施形態に係る通信装置のハードウェアブロック図。
以下、図面を参照しながら、本発明の実施形態について説明する。
(第1の実施形態)
図1に、本発明の第1の実施形態に係る通信環境の例を示す。
本実施形態に係る通信装置を具備する通信端末101が示される。通信端末101が、通信先装置102にデータの送信を行う場合、通信端末101は、中継装置であるアクセスポイント(AP、Access Point)103に接続し、AP103が提供する通信ネットワーク104に所属する。ここでのAPとは、無線LANなどの通信ネットワークへ接続するサービスを提供している通信機器を意味する。AP103は、電波を送出して通信エリアを形成しており、その範囲に存在する通信装置に対して無線LANによるネットワーク接続性を提供している。ここではデータの送信先がAP103よりも遠隔の通信装置であるが、データの送信先がAP103自体であってもよい。
通信ネットワーク104は、中継ネットワーク105を介して、通信先装置102が所属する他の通信ネットワーク106と接続されている。物理的経路107と物理的経路108は、ルータなどのネットワーク機器を、有線および無線で物理的に結んだ経路であり、各ネットワーク間の通信を可能にする経路を表している。
通信端末101は、TCP(Transport Control Protocol)にて通信を行うため、通信開始時に、通信先装置102との間で、TCPコネクションと呼ばれる論理的通信路(論理コネクション)109を確立する。
通信ネットワーク104は、AP103の近傍では電波が強く、良好な通信環境であるが、AP103の遠隔では電波が弱く、劣悪な通信環境である。本発明の一実施形態は、このような通信環境が変化する状況下において、通信端末101の動作を制御する。
図2に、本発明の一実施形態に係る通信装置を示す。
本発明の一実施形態に係る通信装置200は、アプリケーション実行部201、通信要求保留部202、接続制御部203、記憶部204、通信環境監視部205、通信部206、アンテナ210を備える。接続制御部203は、無線接続制御部(第1の接続制御部)203Aと、TCP接続制御部(第2の接続制御部)203Bとを備える。通信部206は、TCP/IP通信部207、MAC通信部208、無線部209を備える。通信環境監視部205、MAC通信部208、および無線部209は、無線LANインタフェースを形成する。
アプリケーション実行部201は、本通信装置上で動作するアプリケーションを実行する部分である。アプリケーションはユーザからの指示に応じて動作してもよい。このアプリケーションは、通信先装置とデータ通信する必要が発生した場合に、通信要求を生成し、通信要求を通信要求保留部202に出力する。本実施形態では、通信要求には、例えば、通信先装置とTCPコネクションを確立する要求(コネクション確立要求)、データ(HTTPリクエストなど)を送信する要求(データ送信要求)がある。その他、通信先装置から届いたデータを受信するためのデータ受信要求などもある。これらの通信要求が別個に、アプリケーション実行部201によって生成される。データ送信を行う場合、1つのコネクション確立要求に引き続いて、1つのデータ送信要求が生成されてもよいし、1つのコネクション確立要求に引き続いて、複数のデータ送信要求が生成されてもよい。なお、通信要求の構成として、1つの通信要求が、例えばコネクションの確立の命令とデータ送信の命令とを含むものであってもよい。本実施形態では、論理コネクションとしてTCPコネクションを確立する場合を想定するが、これに限定されるものではない。なお、後述するように、アプリケーション実行部201は、コネクション確立要求とデータ送信要求のみを通信要求保留部202に出力し、それ以外は、直接、TCP/IP通信部207またはMAC通信部208に出力してもよいが、ここでは、アプリケーション実行部201が生成した通信要求はいったん、通信要求保留部202に出力し、通信要求保留部202が通信要求の内容を判断する場合を想定する。
通信要求保留部202は、アプリケーション実行部201により生成された通信要求が即時に実行されるのを防ぐために、この通信要求を一時的に保留する部分である。保留することによって、その間に、通信ネットワーク104への無線接続(具体的にはAP103への無線接続)、通信先とのTCPコネクションの確立、TCPコネクション確立後のデータ通信の待機などの処理を行うことができる。保留された通信要求は、接続制御部203からの指示などを契機に、TCP/IP通信部207に送られて、実行される。ここでは指示は接続制御部203から受けるとしたが、別の処理部から受けるようにすることも可能である。保留の対象となる通信要求は、コネクション確立要求およびデータ送信要求を想定する。
接続制御部203は、無線LANの接続および認証、およびTCP/IPのコネクションおよびデータ通信に関する制御を行う。より詳細には、接続制御部203は、無線接続制御部(第1の接続制御部)203Aと、TCP接続制御部(第2の接続制御部)203Bとを備える。無線接続制御部203 Aは、MAC通信部208が備えるAP接続機能を介して、AP103との接続(開始、終了、再接続)および認証に関する制御を行う。TCP接続制御部203Bは、TCP/IP通信部206に対して、TCPによる論理コネクションの開始または終了、データ送信/受信の開始または一時停止または終了に関する制御を行う。接続制御部203は、記憶部204および通信環境監視部205から制御に必要な情報を取得し、通信要求保留部202および通信部206に対し、制御に関する指示を発行する。
記憶部204は、接続制御部203が利用する情報のデータを格納する部分である。そのデータは、電波の強度など通信環境に関わる情報や、接続可能なAPの情報、アプリケーション実行部201が実行するアプリケーションの情報などが考えられるが、その他の情報でもよい。通信先装置へ送信するデ−タ、または通信先装置から受信したデータ(送信したデータに対して通信先装置から応答として返されるデータなど)を格納してもよい。記憶部204は、RAM(Random Access Memory)、NANDフラッシュ型メモリ、ディスク装置、NAS(Network attached storage)などの任意の記憶装置で構成されることができる。記憶部204は、揮発性メモリと不揮発性メモリとの両方を含んでいてもよい。
通信環境監視部205は、通信装置200周辺の電波状況などの通信環境を監視する部分である。例えば、AP103から受信する電波の強度や、周辺のノイズ等を監視する。通信環境監視部205は、検知したデータ(通信環境データ)を、接続制御部203に送る。また、このデータは記憶部204などに保存されてもよい。
通信部206は、APや通信先装置との通信を司る部分であり、TCP/IP通信部207、MAC通信部208、無線部209を備える。
TCP/IP通信部207は、TCP層およびIP層などのTCP/IPに関する各種通信処理を実行する。TCP/IP通信部207は、接続制御部203からの指示を受けて動作する。TCP/IP通信部207は、通信要求保留部202から出力された要求を実行して、パケットを生成する。生成したパケットはMAC 通信部208に送る。また、MAC通信部208からパケットを受取り、パケットの受信処理を行って、アプリケーション実行部201にパケット内のデータを引き渡す。
MAC通信部208は、MAC層における各種通信処理を実行する。MAC通信部208は、TCP/IP通信部207からのパケットを受取り、MACヘッダ等を付加してMACフレームを生成し、MACフレームを無線部209に出力する。また、無線部209からMACフレームを受取り、MACフレームの受信処理を行った後、パケットをTCP/IP通信部207に引き渡す。その他、MAC通信部208はMAC層に関する各種の管理および制御に関する処理を行ってもよい。一例として、APとの接続を行うための処理を行うAP接続機能(APの選択、認証)を有する。AP接続機能では、接続および認証のための各種フレームの生成および送信、フレーム受信および解析等も行う。ここでは、AP接続機能はMAC通信部208が有するが、AP接続機能は、ソフト動作でアプリケーション実行部により動作することも可能である。
無線部209は、MAC通信部208から入力されたフレーム(MACフレーム)に物理層の処理(物理ヘッダの付加、符号化、変調など)を行ってPHYパケットを生成する。無線部209は、PHYパケットに対し、DA変換を行い、変換後のアナログ信号に周波数変換(アップコンバート)、増幅等のアナログ処理を行った後、アンテナ210を介して空間に電波として信号を放射する。また、アンテナ210を介して信号を受信した場合は、増幅、周波数変換(ダウンコンバート)等のアナログ処理を行ってPHYパケットとする。PHYパケットに物理層の処理(復調、復号、物理ヘッダ解析等)を行ってMACフレームを取得し、MACフレームをMAC通信部208に出力する。また、無線部209は、アンテナ210を介して受信した電波の信号を、周辺の通信環境の測定のため通信環境監視部205に出力する。
図3に、本実施形態における通信開始処理の概略フローチャートを示す。以下、通信開始処理の流れについて簡潔に説明し、その後、各ステップの詳細を説明する。
アプリケーション実行部201は、実行中のアプリケーションにより通信の必要が発生した場合に、通信要求を生成する(S101)。この通信要求は、通信要求保留部202に送られる。例えば通信先装置とのデータ通信の必要が発生した場合に、通信要求を生成する。一例として、コネクション確立要求(例えばconnect())を生成し、その後に、データ送信要求(例えばsend())を1つまたは複数生成する。ネクション確立要求の処理が完了した後で、データ送信要求を生成してもよい。
通信要求保留部202は、その通信要求を受け取り、通信要求がコネクション確立を伴う要求、または確立したコネクションを利用したデータ送信要求(以下、これらをコネクション確立に関連する要求と総称することがある)であるかを判断し、コネクション確立に関連する要求である場合、その通信要求を保留する(S102)。接続制御部203に通信要求の保留通知を送る。
接続制御部203は、通信要求保留部202から通信要求の保留通知を受け付け、AP103への接続処理を行う(S103)。なお、本実施形態では、省電力等の観点から、通信ネットワークへの接続処理を、通信要求を受けた後に行うとしているが、事前に行っても、独立して行ってもよい。
接続制御部203は、AP103への接続が成功した後、TCP/IP通信部207を用いて、通信先装置に対しコネクション確立処理を行う(S104)。ここでコネクション確立とは、TCPにより、通信端末と通信先装置が論理的な通信路で接続されていることを意味する。コネクション確立時には、通信先装置との間で3ウェイハンドシェイクが行われる。3ウェイハンドシェイクは、通信を開始する前に相手先が応答するかを確認するための手続である。これはTCPの信頼性を保証する機能の一つである。
接続制御部203は、コネクション確立後、コネクションを介したデータ送信、データ送信に対する応答としてのデータ受信などを伴う、通信制御処理を行う(S105)。この通信制御処理では、通信環境監視部205からのデータ(通信環境データ)と、記憶部204に格納されたデータを判断基準として、データ送信、中断、待機、終了などの処理の制御を行う。通信の中断があるのは、接続制御部203は、通信開始後も通信環境を確認し、通信環境が悪化したと判断した場合は、通信を中断するためである。通信環境の悪化は、送信したパケットにデータ破損やロスが生ずる可能性が高まることに伴い、パケットの再送信が行われる可能性が高まる。再送信の影響は、AP103や、同じAP103を利用する他の通信装置にも及ぶため、周囲への影響を抑制するためにも、通信環境が悪化した場合は、通信を中断するほうがよい場合がある。
先に述べた図3の各処理について、詳しく説明する。
図3の通信要求保留処理(S102)について、図4に、通信要求保留処理のフローチャートを示す。ここでは、通信要求保留部202が、アプリケーション実行部201と通信部206を接続するソケットアプリケーションプログラミングインターフェイス(ソケットAPI、socket application programming interface)を利用して実現されたものとする。
ソケットは、アプリケーション実行部201から命令(プログラム関数)を受け取る(S201)。そのプログラム関数のうち、コネクション確立要求の関数であるconnect()、データ送信要求の関数であるsend()など、通信要求に関する関数を受けつけた場合(S202のYES)、通信要求保留部202は、その関数(通信要求)を実行せずに保留する(S203)。そして、通信要求を保留したことを、接続制御部203に通知する(S204)。それ以外の要求では(S202のNO)、保留は行わず、TCP/IP通信部207に直ちに出力するなどして、通信開始処理全体が終了となる。ここでは、通信要求保留部202が、入力された通信要求が、コネクション確立に関連する要求であるか否かを判断したが、アプリケーション実行部201がコネクション確立に関連する要求(コネクション確立要求およびデータ送信要求)のみを通信要求保留部202に入力するようにし、通信要求保留部202は、アプリケーション実行部201から入力される通信要求を常に保留してもよい。アプリケーション実行部201は、その他の通信要求(例えばPING要求、データ受信要求(recv())など)については、直接、TCP/IP通信部207に出力するようにしてもよい。
図3における、APへの接続処理(S103)について、図5に、この処理のフローチャートを示す。
接続制御部203は、まず初めに無線LANインタフェース(通信環境監視部205、MAC通信部208、無線部209)が無効化されている場合に、無線LANインタフェースを有効にする(S301)。無効化とは、省電力などの理由により、通信を行う必要があるまで、スリープ状態など、省電力な状態にすることをいい、有効化とは、スリープ状態などから稼働できる状態に遷移させることをいう。無線LANインタフェースを無効化は、無線LANインタフェース内の各部の全部または一部を省電力な状態にすることを意味する。なお、無線LANインタフェースが最初から有効である場合は、この処理は不要である。
接続制御部203は、通信ネットワークの接続サービスを提供しているAPを探索する(S302)。探索方法としては、MAC通信部208のAP接続機能を介して、探索要求フレームをブロードキャスト送信し、当該フレームを受信したAPからの応答フレームを受け取る方法、APが発するビーコンフレームをMAC通信部208のAP接続機能が検知する方法などが考えられるが、ここで述べた以外の方法で探索してもよい。
APを検出できなかった場合には(S303のNO)、一定時間待機して再びAPの探索に戻る(S304)。APが検出できた場合には(S303のYES)、接続制御部203またはAP接続機能は、当該APが接続可能なAPかを確認する(S305)。APが接続可能かを確認する方法は、APから受け取ったビーコンフレームなどの情報により、誰でも接続可能なAPであると判断する方法、当該APがこの通信装置に事前に登録されているかを確認する方法などが考えられるが、ここで述べた以外の方法で確認してもよい。
APに接続できないと判断した場合は(S306のNO)、一定時間待機して再びAPの探索に戻る(S304)。APに接続できると判断した場合は(S306のYES)、接続制御部203は、AP接続機能を用いて、APに対し接続および認証を行う(S307)。認証方法は、WPA-PSK、WPA-EAPなど、どんな方法でもよい。
次に、図3のコネクション確立処理(S104)について説明する。図6に、コネクション確立処理のフローチャートを示す。
接続制御部203は、通信要求保留部202に対し、保留中の通信要求のうち、コネクション確立要求のみを解放するように指示する(S401)。解放指示を受けた通信要求保留部202は、コネクション確立要求のみを実行する(S402)。例えば、通信要求保留部202が、通信先装置とのTCPコネクションの確立を指示するconnect()、データ送信を指示するsend()を保留していた場合、保留中のconnect()のみを実行し、send()は実行しない。通信部206のTCP/IP通信部207は、TCPにて標準実装された方法にて、通信先装置とTCPコネクションを確立する(S403)。なお、確立するコネクションは一つの場合も、複数の場合もあり得る。
次に、図3の通信制御処理(S105)について説明する。図7に、この処理のフローチャートを示す。
接続制御部203は、通信環境監視部205が検知した情報(通信環境データ)を基に、通信環境の状況を判定し(S501)、この判定によって処理を変更する。すなわち、通信環境が、通信条件を満たすか否かを判定し、通信条件を満たす場合は、通信環境は良好、満たさない場合は良好でないと判断する。なお、この判断は、予め定められた時間または間隔ごとに、もしくは情報の検知または指示の受付などの際に行うこととしてもよい。
判定の具体的な方法としては、基準となるデータとの比較でもよいし、過去の監視データ(過去に測定した通信環境データ)との比較でもよいし、その他の方法でもよい。過去の監視データとの比較では、例えば、過去の監視データの平均以下の値を取った場合を劣悪と判断することが考えられる。基準となるデータとの比較の場合、当該基準となるデータは、記憶部204などに格納されていてもよいし、入力装置などからユーザが入力するようにして、これを用いてもよい。
判定に用いる項目は、受信信号レート、受信信号強度(RSSI、Receive Signal Strength Indicator)、信号雑音比(SNR、Signal Noise Ratio)、受信信号電力対干渉および雑音電力比(SINR、Signal to Interference Plus Noise Rate)、パケット到達率(PDR、Packet Delivery Rate)、フレーム誤り率(FER、Frame Error Rate)、符号誤り率(BER、Bit Error Rate)、クリアチャネル評価(CCA、Clear Channel Assessment)、受信できなかったビーコンの数、など検出でき、優劣の判断をすることができる情報であれば何でもよい。また、使用する情報は一つでも、複数でもよく、総合的に判断してもよい。
図8に、基準となるデータの例として、記憶部204に格納された通信環境の判定基準値のデータを示す。図上段のテーブル(301)では、項目NO.1に、対象情報を「RSSI」、値を「-40dBm以上」とする基準値が示されている。対象情報は、通信環境の判定に必要となる情報の識別子であり、例えば名前である。
図下段のテーブル(302)では、個々のアプリケーションや通信等を特定する通信情報ごとに、対象情報と基準値が示されており、より細かに条件を設定することができる。通信の特定は、例えば通信方式(プロトコル)、通信先IPアドレスおよび使用するポート番号の組によって行われる。通信先IPアドレスが「Any」は、通信先のIPアドレスは何でもよいことを意味する。また、ポート番号とは、コンピュータがデータ通信を行う際に、相手側のプログラムを特定する番号である。図示の通信の例は、「通信プロトコルにTCPを使用し、任意の通信相手に対するTCP80番ポート宛の通信」を意味する。「通信情報」の列に設定する情報は、上記のアプリケーションや通信に限定されず、接続制御部203が識別できる情報であればよい。
図の「動画アプリ」は、実際にはアプリケーションを一意に特定できる識別子が設定されている。実行中のアプリケーションを特定するために、「動画アプリ」が、例えばプロセスが起動された時に「プロセスID」のような識別子に書き換えられても良い。図の上段と下段の両方のテーブルを格納してもよいし、一方のみ格納してもよい。両方格納する場合、例えば下段の「通信情報」のいずれのエントリにも合致しない場合に、上段のテーブルを利用するようにしてもよいし、どちらか一方のみを利用するようにしてもよい。図8で示した条件および保存形態は一例であり、他の形式で保存されてもよい。
説明を図7のフローチャートに戻す。通信環境が良好である場合は(S502のYES)、データが送信中かを確認する(S503)。データが送信中であることの確認は、データの送信終了後に通信要求保留部202などに対しデータ送信要求の完了の返値が返るようにして確認する方法、TCP/IP通信部206が受信するパケットを確認する方法、アプリケーションの状態を確認する方法などが考えられるが、ここで述べた以外の方法で確認してもよい。データ送信中ならば(S504のYES)、何も行わず、データ送信が続く。データ送信中でないならば(S504のNO)、保留している要求の存在を確認し(S505)、保留されている要求がないときは(S506のNO)、すべての要求の実行が完了したため、処理は終了する。終了時には、APとの接続を切断し、無線LANインタフェースを無効にしてもよい。また、保留されている要求はないが、アプリが実行中の場合もあるため、新たな通信要求が発生するまで、そのまま待機していてもよい。また、待機している間に、コネクションを維持するためのパケット(維持パケット)を送付してもよい。保留されている要求(データ送信要求)があるときは(S506のYES)、データ送信処理を行う(S507)。
図9に、データ送信処理(S507)のフローチャートを示す。データ送信処理では、まず、接続制御部203(例えば接続制御部203B)が、合計待機時間を初期化する(S601)。合計待機時間とは、データ送信要求について、そのデータ送信の待機を継続している時間(すなわち、データ送信要求が発生してからの経過時間)を計るためのものである。接続制御部203(例えば接続制御部203B)は、当該経過時間を管理する手段を備える。合計待機時間の値は、接続制御部203が保持していてもよいし、記憶部204などに格納しておいてもよい。データ送信処理を行うことは、合計待機時間が制限値(上限)に達しなかったことを意味するため、この処理で合計待機時間を初期化する。
次に、接続制御部203は、通信要求保留部202に保留中の要求の実行を指示し(S602)、通信要求保留部202が保留している要求(send()など)を実行することで(S603)、通信部206を介して、データが送信される。この場合、データ送信の前にコネクションが確立されているため、3ウェイハンドシェイクは行われない。したがって、データを高速に送信開始することができる。
また、データ送信の際には、APとの再接続を実施してもよい。通信環境が劣悪な状況でAPと接続した場合、接続時に選択した符号化変調方式(伝送レート)などにより、通信環境が改善しても、適切な通信速度が出ない場合がある。このような場合、APと再接続を行うと、通信環境が良好な状況で符号化変調方式(伝送レート)などを選択でき、通信速度が向上する場合がある。
ゆえに、図10に示すデータ送信処理の他の例のフローチャートのように、接続制御部203が、APとの再接続により、通信速度が向上するかを判断する(S701)。例えばAPからの受信信号の強度が、前回のAP接続時よりも大きいときは、通信速度の向上が見込まれると判断できる。または、信号強度の範囲ごとに事前に符号化変調方式などが分かっている場合は、今回の受信強度の値から、伝送レートが現在のものから向上するかを判断してもよい。通信速度の向上が見込まれるならば(S702のYES)、現在の無線接続を切断し、APと接続しなおす(S703)。なお、この際、現在のコネクションは維持されたままである。以降の処理は、図9に示したデータ送信処理と同じである。通信速度が速く、接続可能なAPが他にある場合は、通信端末のIPアドレスが変わらず、コネクションを切断せずに他のAPを利用できるのであれば、他のAPに接続しなおすことも考えられる。
説明を図7のフローチャートに戻す。通信環境が良好でない場合(S502のNO)では、データが送信中かを確認し(S508)、送信中ならば(S509のYES)、中断処理を行う(S510)。データ送信中でない場合は(S509のNO)、待機時間内であれば(S511のYES)、待機処理を行う(S512)。ただし、前述の合計待機時間が制限値を超えている場合には(S511のNO)、終了処理が行われる(S513)。
中断処理(S510)について、図11にこの処理のフローを示す。
接続制御部203が、通信要求保留部202に通信(送信)の中断を指示する(S801)。通信要求保留部202は、データ送信をいったん停止(保留)し、接続制御部203に保留を通知する(S802)。通知を受け取った接続制御部203は、AP接続およびコネクションの切断を通信部206に指示し、各切断が行われる(S803)。TCP接続の切断方法としては、AP接続確立後、一定時間の通信がないことによる切断でもよいし、特定の指示を含むパケットを送信して強制的に通信を終了する方法でもよい。強制的な終了方法としては、TCPパケットのヘッダ部にRSTフィールドがセットされた、通信の終了を一方的に相手方に通知するRSTパケットを送信する方法などが考えられるが、ここで述べた以外の方法でもよい。なお、中断の処理の変形例として、無線接続とTCPの接続を維持したまま、データ送信だけを行わないことも可能である。
切断後は、通信環境が改善されることを期待し、一定時間待機する(S804)。なお、他に接続できるAPがある場合は待機せず、他のAPとの接続を試みてもよい。一定時間待機後は、APへの接続処理およびコネクション確立を実施する。APへの接続処理は、通信開始処理におけるAP接続処理と同じ処理(S103)である。なお、APへの接続処理(S103)におけるAPの探索時(S302)に複数のAPを検出していた場合は、それらのAPを次の接続候補としてもよい。この際のコネクションの確立は、最初のコネクション確立時に実行したコネクション確立要求はすでに存在しない可能性があるため、事前にこのコネクション確立要求をバックアップしておき、データ送信再開時には、このコピーしたコネクション確立要求を利用してもよい。あるいは可能ならば、データ送信要求からコネクション確立要求を生成してもよい。また、データ送信再開時には、前回まで送信したデータの続きのデータを送るようにしてもよいし、最初からデータを送りなおすようにしてもよい。
図7の待機処理(S512)について、図12にこの処理のフローを示す。待機処理(S512)は、接続制御部203が、TCP/IP通信部207を介して、維持パケットを送信した上で(S901)、一定時間待機を行う(S902)。コネクションは一定時間内にパケットが来ない場合は、通信先装置によって切断されるため、切断される前にパケットを送信しておく必要がある。なお、接続維持の方法は、一定間隔でパケットを送信するだけでなく、不定期もしくは切断直前時に送信するといった方法などでもよい。また、パケット上のウィンドウサイズというデータを0に設定した維持パケットを送ると、通信先装置がパケットを送信しなくなる。接続制御部203は、今回待機した時間を合計待機時間に加え、更新する(S903)。
図7の終了処理(S513)について、図13にこの処理のフローを示す。終了処理(S513)は、接続制御部203が、通信部206に通信接続の切断を指示し(S1001)、通信部206がコネクションおよびAP接続を切断し(S1002)、切断後、無線LANインタフェースを無効化する(S1003)。本実施形態では、省電力等の観点から、通信を行う必要があるまで、使用しない各部をスリープ状態などといった状態に遷移させる無効化を行うようにしているが、行わなくともよい。
以上のように、本実施形態では、APへの接続時に、通信先装置とのコネクションを確立しておき、通信環境が、データ送信を行える良好な状態になるまでデータ送信を待機し、良好な状態になったときに、データ送信(必要に応じて、その応答の受信)を行う。この制御により、パケットの再送による当該通信装置にかかる負担、受信するAPの負担および同じAPを利用する他の通信装置への影響を抑え、実際にデータを送信している時間(実質送信時間)を短くすることができる。さらに、コネクションを事前に確立することで、3ウェイハンドシェイクの制限を受けずに、データ送信を開始することができ、さらに送信時間を短縮することができる。
なお、本実施形態では、APへの接続時に、通信環境の状態に拘わらず、通信先装置とのコネクションを確立したが、通信環境が通信条件を満たした場合にのみ、コネクション確立をするようにしてもよい。このときの通信条件は、データ送信の際の通信条件よりも緩くしておくことで(すなわちデータ送信の通信条件を、コネクション確立の通信条件よりも厳しくすることで)、これまで述べた本実施形態と同様の効果を得ることができる。例えば、データ送信の際の通信条件が「-40dBm以上」(図8参照)の場合に、コネクション確立の通信条件を「-80dBm以上」などと、要求する値を緩くすることが考えられる。または、データ送信の際の通信条件が、複数項目の条件を満たすことを要求している場合に、コネクション確立の通信条件が当該複数項目のうちの一部の条件を満たすようにすることが考えられる。データ通信の通信条件およびコネクションの通信条件は一例として、データ通信における情報の欠落、誤りもしくは輻輳が生じにくい状態を特徴づける条件であり、データ通信の通信条件は、コネクションの通信条件よりも当該状態がより生じにくいこと(より厳しい条件)を要求する。このように、コネクション確立にも、それを実行するための通信条件を設定することで、通信環境の改善が見込まれる場合にのみ、コネクション確立することが期待できる。
(第2の実施形態)
通信遅延等により画像が乱れる動画閲覧アプリケーションなど、できる限り短時間で大量のデータを送受信できることを要求するアプリケーションは多々ある。しかし、TCPの機能の一つであるスロースタートは、通信の信頼性の確保のため、通信開始直後のデータ送信を制限してしまう。そこで、スロースタートによる影響をできる限り回避するための処理を追加する。
スロースタートとは、TCPが実装する輻輳制御機能の一つである。ある機器が通信を開始した際に、大量のデータを送信した場合、突如としてネットワーク上のトラフィックが増加し、他の機器の通信に影響を与えてしまう。そのため、通信開始時は、通信先装置が一度に送信できるパケット数を制限し、徐々に送信できるパケット数を増やしていくという処理がされる。しかし、通信環境が良好であり、できる限り短時間で大量のデータを送信する必要がある場合、スロースタートは高速送信の妨げとなる。
図14に、スロースタートを表す、送信パケット数と輻輳ウィンドウの大きさの関係図を示す。縦軸の輻輳ウィンドウは、送信側が一度に送信できるパケット数を表す。横軸は、受信側との間でパケットが交換された送信回数である。通信を開始していない場合は、送信側が送信できるパケット数は1である。以後、送信側がパケットを送信し、受信側から受信通知パケット(ACK、Acknowledgeパケット)を受け付けるたびに、閾値を上回るまで、輻輳ウィンドウは2倍されていく。閾値を上回った場合は、最大値になるまで、輻輳ウィンドウは1ずつ増えるが、最大値を上回ることはない。ゆえに、通信が開始した直後は、大量のパケットを送信することができない。しかし、一度に大量のパケットを送信する必要のあるデータを送信する前に、輻輳ウィンドウを大きくしておくことができれば、データ送信開始直後から、パケット数を多く送信でき、短時間で、より多くのデータが送信できるようになる。
そこで、保留した通信要求(データ送信要求)のなかに、テキストメッセージのような容量の小さいデータの応答を促す通信要求がある場合には、通信環境が劣悪な場合でも、他のデータに先行して、容量の小さいデータを通信先装置に送信させるという先行送信処理を行い、輻輳ウィンドウをできる限り大きくする。そして通信環境が改善した後で、大量のデータを通信先装置が送信するよう制御する。
ただし、通信環境が非常に劣悪な場合、この先行送信処理は行わないほうがよい。通信環境が非常に劣悪な場合は、パケットロスが生じやすい。スロースタートでは、パケットロスが生じると、再度のパケットロスを防ぐために、大きくした輻輳ウィンドウを小さくしてしまうからである。そこで例えば、容量の小さいデータを送信するための通信条件を用意し、この通信条件が満たされた場合のみ、当該データの送信を行う。この通信条件は、通常のデータ送信の通信条件よりも緩い条件とする。例えば、通常のデータ送信の際の通信条件が「-40dBm以上」(図8参照)の場合に、容量が小さいデータ送信の通信条件を「-70dBm以上」などと、緩い値にすることが考えられる。または、通常のデータ送信の通信条件が、複数項目の条件を満たすことを要求している場合に、容量の小さいデータを送信するための通信条件が当該複数項目のうちの一部の条件を満たすようにすることが考えられる。通常のデータ通信の通信条件および容量が小さいデータ通信の通信条件は、一例として、データ通信における情報の欠落、誤りもしくは輻輳が生じにくい状態を特徴づける条件であり、通常のデータ通信の通信条件は、容量が小さいデータ通信の通信条件よりも当該状態がより生じにくいこと(より厳しい条件)を要求する。なお、容量が小さいデータ通信の通信条件は、前述したコネクション確立の通信条件よりは、当該状態がより生じにくいこと(より厳しい条件)を要求するものとする。このように、必要な通信条件が満たされた場合のみ容量の小さいデータ送信を行うことで、パケットロスが生じやすい、非常に劣悪な通信環境で先行送信処理が行われることを防止できる。
図15に、パケットロスが発生した場合における、送信回数と輻輳ウィンドウの大きさの関係図を示す。図15のように、パケットロスが発生する度に、輻輳ウィンドウが小さくなり、容量の大きいデータの通信時間短縮に寄与しなくなる。
図16に、第2の実施形態の通信開始処理のフローチャートを示す。本実施形態における通信開始処理のフローは、先ほどの第1の実施形態における通信開始処理のフローのコネクション確立処理(S104)の後に、先行送信処理(S1101)を挿入したものである。
図17に、先行送信処理(S1101)のフローチャートを示す。接続制御部203は、通信要求保留部202の保留中の最初の処理にかかる要求に対して通信先装置が応答として返すデータの種類を確認する(S1201)。確認方法は、通信要求保留部202の保留中の要求を解析してもよい。例えば、HTTPヘッダを含むHTTP Requestが要求に含まれていればそれを解析することで、要求する情報がテキスト(例えばHTMLファイル)であることを確認できる。あるいは、その要求を呼び出したアプリケーションを識別し、アプリケーションから、要求する情報の種類が特定可能な場合は、アプリケーションから、データの種類を確認してもよい。その他の方法で確認してもよい。なお、ここでは通信要求保留部202に保持されている最初の要求を対象としたが、通信要求保留部202が複数の要求を保持でき、かつ各要求の詳細を参照できる場合には、各要求を参照してそれらを個別に処理してもよい。
接続制御部203は、HTML(Hyper Text Markup Language)などのテキストファイルのようにデータ容量が小さいと予想されるデータの種類でない場合は(S1202のNO)、この処理は終了し、通信開始処理の通信制御処理(S105)に移る。そのようなデータ容量が小さいと予想されるデータ種類である場合には(S1202のYES)、接続制御部203が先行送信のメリットの有無を判断する(S1203)。なお、データの種類は、記憶部204に格納されていても、接続制御部203が保持していてもよい。ここでは、データの種類で先行送信の判断を行ったが、データのサイズを実際に取得し、サイズが閾値以下の場合は、応答のデータ容量が小さいとして同様にステップS1203に進んでもよい。データのサイズは例えば実際にサーバに問い合わせて取得することが考えられる。
メリットの有無の判断は、通信環境、および先ほど確認したリクエスト処理がTCPコネクションを使い回すことかできるか否かで行うことができる。HTTPのバージョンによっては、1つのTCPコネクションを利用して、複数のリクエストを送出できるものもあれば、1つのTCPコネクションに対して、1つのリクエストの送出のみ可能なものもある。前者の場合、1つのTCPコネクションを使い回すことができる場合に相当する。ただし、その他の方法で判断してもよい。また、常にメリットがあるとする判断を出すようにしたり、この判断の処理を省くことにしたりして、先行送信を必ず行うようにすることもできる。
通信環境が非常に劣悪な場合には、パケットロスが生じる可能性が高いため、先行送信は行わない。通信環境の判断は、先に説明した実施形態における処理と同じく、接続制御部203が、通信環境監視部205が検知したSNRやSINRなどの情報を基に行えばよい。
また、一つのコネクションを使いまわせない通信プロトコルの場合には、先に容量の小さいデータを送信していても、別のデータを送信する際に新たなコネクションを確立する必要があり、スロースタートを回避することができないため、先行送信処理を行う必要がない。
上記のように、接続制御部203は、通信環境および使用するプロトコルを確認し、先行送信にメリットがあるかを判断する(S1203)。メリットがないと判断した場合(S1204のNO)は、先行送信は行われない。メリットがあると判断した場合(S1204のYES)は、接続制御部203が通信要求保留部202に保留している要求(データ送信要求)の実行を指示する(S1205)。指示を受けた通信要求保留部202は、当該要求を実行する(S1206)。
以上の処理により、パケットロスの発生を防ぎながら、スロースタートによって狭められている輻輳ウィンドウを大きくした上で、データ送信(HTTPリクエストなど)を開始でき、できる限り短い実質送信時間で大量のデータを受信(動画像データなど)することができる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。図18に、本発明の第3の実施形態に係る通信装置を示す。本実施形態の通信装置は、アプリケーションが動作するホスト部404と、無線通信モジュール400とからなる。ホスト部404と、無線通信モジュール400ホストインタフェース部403は、例えば別々のチップ(集積回路)として構成される。I/Oインタフェース部402は、無線通信モジュール400のホストインタフェース部403と接続するためのI/Oインタフェース部である。これらのインタフェース部としては、例えばPCI Express(登録商標)、USB、SDIOなどの種々のI/Oインタフェースが想定される。また、ホスト部404は、独自の記憶部(RAMやディスク装置など)を具備していてもよい。ホストインタフェース部403とI/Oインタフェース部403との間で実行される手順や交換される情報については、個々のインタフェース仕様に従う。無線通信モジュール400は、通信カードまたはネットワークカードとして構成されてもよい。
また実施形態では、先述の実施形態に、情報取得部411を有する情報制御部401が追加されている。情報制御部401は無線通信モジュール400に搭載されている。先の実施形態では、アプリケーション実行部201からの要求は通信要求保留部202が受け付け、コネクション確立および送信が必要な通信要求かを判別し、コネクション確立および送信が必要な要求については、それらの要求を保留し、それ以外の要求はTCP/IP通信部207等に出力した。あるいは、アプリケーション実行部201は通信要求保留部202にコネクション確立および送信が必要な通信要求のみ出力し、それ以外はTCP/IP通信部207に出力した。コネクション確立の要求の実行はAPに接続後、送信の要求の実行は通信環境が改善してから行われた。
一方、本実施形態では、アプリケーション実行部201とのやりとりは、情報制御部401を介して行われる。情報取得部411は、アプリケーションからの送信要求を契機とする情報取得処理を行う部分である。アプリケーション実行部201からの要求を解析して、それが求めるデータが、記憶部204に格納されているかを検索し、求めるデータ(例えばHTTPリクエストにより通信先装置から取得しようとしているデータ)を検出すれば、通信先装置とは通信をせずに、記憶部204から要望のデータを返すことで、アプリケーションに対する返答時間を短くすることができる。求めているデータがない場合には、通信要求保留部202に通信要求を送る。情報制御部401は、コネクション確立要求およびデータ送信要求のみ通信要求保留部202に出力し、それ以外の要求はTCP/IP通信部207またはMAC通信部208に直接、出力するようにしてもよい。
また、情報取得部411は、通信先装置から送られてきたデータを受信する際に情報受信処理を行い、そのデータを記憶部204に保存する部分でもある。さらに、取得したデータに関連する情報(付随情報)を、アプリケーション実行部からの要求を受けることなく、自律的に取得(このことを先行取得と呼ぶ場合もある)して、記憶部204に保存することも行う。付随情報とは、取得したデータがURL等のデータ所在情報で参照しているデータなどが、考えられるが、データの内容を解析して、取得の必要な情報を特定し、それを付随情報として外部から取得するなど、情報取得部411が独自に判断し取得してもよい。また、付随情報の取得は、アプリケーション実行部からの要求の受信を契機とせずとも、定期的または不定期的に情報取得部411が記憶部204を利用して、独自に行ってもよい。
なお、記憶部204には、第1の実施形態で説明した通信環境の状況を判定するためのデータが保存されている部分とは別に、検索に適したデータベースなどを追加し、そのデータベースに、先行取得した情報を保存してもよい。
このように、情報制御部401が、アプリケーション実行部201と、要求またはデータ等の受け渡しを一括で行うことにより、通信装置は、アプリケーション実行部201を含むホスト部404と、これとは分離した一つの無線通信モジュール400との形で実現することができる。
図19に、本実施形態における通信開始処理のフローチャートを示す。
本実施形態の通信開始処理のフローは、先に説明した実施形態の通信開始処理のフローにおいて、アプリケーション実行部201が通信に関する要求を発行した(S101)後に、情報制御部401の情報送信処理が追加されたものである(S1301)。その他の処理は、先に説明した一実施形態と同じである。
図20に、情報制御部401のデータ送信処理のフローチャートを示す。
情報制御部401は、アプリケーション実行部201からの要求を受け付け、データ送信要求(例えばHTTPリクエスト)であるかを確認する(S1401)。データ送信要求の場合では(S1402のYES)、情報取得部411が、要求された情報(例えばHTTPリクエストで通信先装置からの応答として送信を希望する情報)について記憶部204を検索する(S1403)。要求された情報が検出できた場合は(S1404のYES)、検出したデータをアプリケーション実行部201に渡す(S1405)。これにより、情報処理部の送信処理のみならず、通信開始処理も終了する。要求された情報が検出できなかった場合は(S1404のNO)、要求保留部202に要求を渡し(S1406)、本処理は終了する。要求保留部202に要求が渡されることで、その後は、図19に示した通信開始処理のステップS102以降のフローに従い、通信先装置に情報を収集しに行くことになる。
アプリケーション実行部201からの要求が、データ送信要求でない場合(S1402のNO)も、情報制御部401は、要求保留部202に要求を渡し(S1406)、本処理は終了する。データ送信要求でない場合には、コネクション確立要求、あるいはその他の種類の要求があるが、図19に示した通信要求保留部202の処理(S102)によって、それぞれに対応した処理がなされる。なお、コネクション確立要求およびデータ送信要求のみ通信要求保留部202に出力し、それ以外の要求はTCP/IP通信部207またはMAC通信部208に直接、出力するようにしてもよい。
図21に、通信先装置からデータを受信した際に行う情報制御部401のデータ受信処理のフローチャートを示す。
情報制御部401の情報取得部411は、通信先装置からの応答データを受信し、そのデータを記憶部204に保存する(S1501)。そして、そのデータが解析可能なデータであり(S1502のYES)、かつ追加取得が必要な場合(S1503のYES)には、情報取得部411は、付随情報を取得するために、新しい通信要求(コネクション確立要求、データ送信要求)を生成し、要求保留部202に渡す(S1504)。解析可能なデータとは、HTMLやテキストファイルなどが考えられる。追加取得が必要な場合とは、HTMLファイルが画像データなどの付随情報をURL等で参照している場合などが考えられる。また、HTMLファイルからリンクされている次のHTMLファイルが付随情報であってもよい。
リンク先の情報を取得する場合は、辿るリンク数の限度を決める必要がある。この限度は、リンク先を取得するまでに想定される通信時間、通信装置の電源の種別(バッテリー、ACアダプタ(商用電源))、当該電源の充電状況、事前に定められた閾値などによって決めてよいし、その他の方法で決めてもよい。また、最初のデータ受信要求先のURLを、検索サーバや検索履歴評価サーバなどに送信し、取得する情報に関連した別の情報を特定してもらい、その情報に対するリストを付随情報に含めてもよい。
通信先装置からのデータが、解析可能なデータでない場合(S1502のNO)または追加取得が必要でない場合(S1503のNO)、情報取得部411は、アプリケーション実行部201が要求した情報を、アプリケーション実行部201に送る(S1505)。なお、要求された情報と、今まで取得した付随情報をアプリケーション実行部201に返すように構成してもよい。
ここでは、アプリケーション実行部201への応答は、付随情報をすべて取得してから行うと事としているが、アプリケーション実行部201から要求された情報を取得した時点でアプリケーション実行部201へ応答してもよい。すなわち、付随情報の取得よりも先にアプリケーション実行部201に応答データを渡すようにしてもよい。
以上のように、本実施形態では、通信環境の改善を待たずに、記憶部204に格納されたデータによって、応答することができる。また、通信環境の良好な際に、付随情報を取得していることにより、通信環境が悪化し通信が中断しても、アプリケーションが必要なデータを取得することができる場合がある。
また、本実施形態では、アプリケーション実行部201と接続されているのは情報制御部401だけであり、記憶部204に応答するデータが格納されていれば、情報制御部401と記憶部204のみが稼働し、通信部206、通信要求保留部202、接続制御部203、通信環境監視部205は稼働させる必要がない。ゆえに、情報制御部401と記憶部204以外は、通常、電源オフの状態か動作周波数を遅くするなどして低消費電力な状態にしておくことで、消費エネルギーを削減することができる。よって、電源制御機能を追加することで、さらなる省電力化を図ることができる。
情報制御部401はアプリケーション実行部201からの要求を受け付けるため、電源制御は行われないものとし、電源制御機能は、データ送信要求が通知された時に記憶部204を稼働状態に遷移させてもよい。そして、記憶部204にデータがない場合には、各部すべてを稼働状態に遷移させてもよい。このようにして、全体の省エネルギー化を実現する。
また、さらなる省電力を望む場合は、情報制御部401を、アプリケーション実行部201と信号を送受信する部位と、その他の部位に分け、その他の部位は、アプリケーション実行部からの指示を受け付けた後に、有効化するといったことをしてもよい。
本実施形態では、情報取得部411を備えた情報制御部401を、ホスト部と無線通信モジュールとからなる形態の通信装置に設けた例を示したが、図2に示したような、ホスト部と無線通信モジュールとに分かれていない、一体型の通信装置に対して設けることも可能である。この場合のブロック図を図22に示す。動作の説明は、本実施形態の説明から自明であるため省略する。
また、本実施形態では、ホスト部と無線通信モジュールとからなる形態の通信装置に情報取得部411を備えた情報制御部401を設けたが、情報取得部411を備えない情報制御部を設ける構成も可能である。すなわち、図2の通信装置と基本的に同様の機能を有しつつ、ホスト部と無線通信モジュールにハードを分割した構成も可能である。この場合の構成例を図23に示す。情報制御部421は、情報取得部411の機能が除かれた以外は、これまで述べた情報制御部401と同様にして動作する。なお、この構成の電源制御機能に関して、ホスト部404から要求を受信した時点で、無線LANインタフェース(通信環境監視部205、MAC通信部208、無線部209)が無効化されている場合は、無線LANインタフェースを有効にすればよい。
なお、上記に説明した実施形態における各処理は、ソフトウェア(プログラム)によって実現することが可能である。よって、上記に説明した実施形態における通信装置および無線通信モジュールは、例えば、汎用のコンピュータ装置を基本ハードウェアとして用い、コンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することが可能である。
図24に本発明の一実施形態に係る通信装置を備えたハードウェア構成例を示す。
通信端末は、プロセッサ501、主記憶装置502、補助記憶装置503、ネットワークインタフェース504、デバイスインタフェース505、入力装置506、出力装置507、電源制御装置511を備え、これらがバス508を介して接続された、コンピュータ装置として実現できる。電源制御装置511はここでは独立した装置として存在しているが、電源制御の機能は、プロセッサ501またはネットワークインタフェース504に搭載するようにしてもよい。図24の通信端末を通信装置と呼んでもよい。
プロセッサ501が、補助記憶装置503からプログラムを読み出して、主記憶装置502に展開して、実行することで、アプリケーション実行部201、通信要求保留部202、接続制御部203、TCP/IP通信部207、情報制御部401の機能を実現することができる。
本実施形態の通信装置または無線通信モジュールは、当該通信装置または無線通信モジュール上で実行されるプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、プログラムをCD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して配布して、コンピュータ装置に適宜インストールすることで実現してもよい。
ネットワークインタフェース504は、アンテナ509などを介して、ネットワークに接続するためのインタフェースである。MAC通信部208、無線部209および通信環境監視部205の機能は、このネットワークインタフェースにて実現できる。
また、デバイスインタフェース505は、外部記憶媒体510などの機器と接続するインタフェースである。また、通信装置の外部にアプリケーション実行装置がある場合は、アプリケーション実行装置にも接続されてもよい。
ユーザは、入力装置506から情報を入力してもよい。入力は、アプリケーションに対する指示でもよい。また出力装置507は、画像を表示する表示装置でもよいし、外部にデータを送信する通信装置(ネットワークインタフェース504とは別の通信インタフェース)でもよい。表示装置は、主記憶装置502または補助記憶装置503内のデータを画像表示してもよい。外部記憶媒体510は、HDD、CD-R, CD-RW, DVD-RAM, DVD-R 等の任意の記録媒体でよい。
主記憶装置502は、プロセッサ501が実行する命令、および各種データ等を一時的に記憶するメモリ装置であり、DRAM等の揮発性メモリでも、MRAM等の不揮発性メモリでもよい。補助記憶装置503は、プログラムやデータ等を永続的に記憶する記憶装置であり、例えば、HDDまたはSSD等がある。記憶部204の機能は、主記憶装置502、補助記憶装置503または外部記憶媒体510で実現できる。
上記に、本発明の一実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
101 通信端末
102 通信先装置
103 アクセスポイント(AP、Access Point)
104 通信ネットワーク
105 中継ネットワーク
106 通信ネットワーク
107 物理的通信路1
108 物理的通信路2
109 論理的通信路(TCPコネクション)
200 通信装置
201 アプリケーション実行部
202 通信要求保留部
203 接続制御部
203A 無線接続制御部
203B TCP/IP接続制御部
204 通信環境監視部
205 記憶部
206 通信部
207 アンテナ
301 テーブル1
302 テーブル2
400 無線通信モジュール
401、421 情報制御部
411 情報取得部
500 通信装置
501 プロセッサ
502 主記憶装置
503 補助記憶装置
504 インタフェース
505 入力装置
506 出力装置
507 アンテナ
508 バス
509 外部記憶媒体
510 電源制御装置

Claims (18)

  1. データ通信に関連する通信要求に応じて、通信可能な第1の通信装置と無線接続を形成する第1の接続制御部と、
    周辺の通信環境の状態を測定することにより通信環境データを取得する通信環境監視部と、
    前記無線接続を介して、前記通信要求に係る第2の通信装置と、前記データ通信を行うための論理コネクションを確立し、前記通信環境データに応じて、前記第2の通信装置と前記データ通信を行うよう制御する第2の接続制御部と
    を備えた通信装置。
  2. 前記第2の接続制御部は、前記通信環境データに基づいて、第1の通信条件が満たされるかを判断し、前記第1の通信条件が満たされるときは、前記データ通信を実行し、前記第1の通信条件が満たされないと判断したときは、前記データ通信の実行を待機する
    請求項1に記載の通信装置。
  3. 前記第2の接続制御部は、前記第1の通信装置と前記無線接続が形成されたとき、前記通信環境データの値に拘わらず、前記第2の通信装置と、前記論理コネクションを確立する
    請求項1または2に記載の通信装置。
  4. 前記第2の接続制御部は、前記通信環境データに基づき、第2の通信条件が満たされるか判断し、前記第2の通信条件が満たされる場合に、前記論理コネクションの確立を行い、前記第2の通信条件が満たされない場合に、前記論理コネクションの確立を待機し、
    前記第1および第2の通信条件は、データ通信における情報の欠落、誤りもしくは輻輳が生じにくい状態を特徴づける条件であり、
    前記第1の通信条件は、前記第2の通信条件よりも前記状態がより生じにくいことを要求する条件である
    請求項1または2に記載の通信装置。
  5. 前記通信要求が生成された後の経過時間を管理する手段を備え、
    前記第2の接続制御部は、前記データ通信の実行がまだ完了していないときは、計測した経過時間に応じて、前記論理コネクションの維持または切断を制御し、
    前記第1の接続制御部は、前記論理コネクションが切断された場合に、前記無線接続を切断する
    請求項1ないし4のいずれか一項に記載の通信装置。
  6. 前記第1の接続制御部は、前記無線接続での前記第1の通信装置との通信に基づき、前記無線接続の通信速度が前記第1の通信装置との再接続によって向上する可能性があるかを判断し、前記可能性がある場合は、前記無線接続を切断し、前記第1の通信装置と再接続する
    請求項1ないし5のいずれか一項に記載の通信装置。
  7. 前記第2の接続制御部は、同じ論理コネクションを利用する複数の通信要求が存在し、前記複数の通信要求の中に、閾値より小さいサイズのデータ、または予め定めた種類のデータの応答を要求する通信要求が存在するときは、当該データの通信要求を他のデータよりも先に実行する
    請求項1ないし6のいずれか一項に記載の通信装置。
  8. 前記第2の接続制御部は、前記通信環境データに基づいて、第1の通信条件が満たされるかを判断し、前記第1の通信条件が満たされるときは、前記データ通信を実行し、前記第1の通信条件が満たされないと判断したときは、前記データ通信の実行を待機し、
    前記第2の接続制御部は、第3の通信条件が満たされた場合に、前記閾値より小さいサイズのデータ、または前記予め定めた種類のデータの応答を要求する通信要求に基づくデータ通信を他のデータよりも先に実行し、
    前記第1および第3の通信条件は、データ通信における情報の欠落、誤りもしくは輻輳が生じにくい状態を特徴づける条件であり、
    前記第1の通信条件は、前記第3の通信条件よりも前記状態がより生じにくいことを要求する条件である
    請求項7に記載の通信装置。
  9. 前記アプリケーションにより生成される前記通信要求を受け取り、前記通信要求の処理応答を返すホストインタフェース部
    をさらに備えた請求項1ないし8のいずれか一項に記載の通信装置。
  10. 前記ホストインタフェース部で受け取った通信要求が、前記論理コネクションの確立要求、または前記論理コネクションを利用するデータの送信要求か否かを判断する判断部を備え、
    前記第1および第2接続制御部は、前記判断部により前記論理コネクションの確立要求または前記データの送信要求であると判断された通信要求を対象とする
    請求項9に記載の通信装置。
  11. 前記通信要求に応じて前記第2の通信装置から取得したデータを解析して、追加のデータを取得するための通信要求を生成する情報制御部をさらに備え、
    前記第1および第2接続制御部は、前記情報制御部により生成された通信要求を対象とする
    請求項1ないし10のいずれか一項に記載の通信装置。
  12. 前記情報制御部は、前記データから参照されているデータ所在情報を取得し、前記データ所在情報から前記追加のデータを取得するための通信要求を生成する
    請求項11に記載の通信装置。
  13. 前記情報制御部は、最初の通信要求から再帰的に生成される通信要求に応じてそれぞれデータの取得が完了したら、最初の通信要求に応じて取得されたデータをアプリケーションに対して応答する
    請求項11または12に記載の通信装置。
  14. 前記情報制御部によって生成された通信要求に応じて取得されたデータを格納する記憶部を備え、
    前記情報取得部は、前記アプリケーションからの前記通信要求で取得が要求されているデータが前記記憶部に存在するかを確認し、存在するときは、前記記憶部における前記データを読み出して、前記アプリケーションに対して応答し、前記第2接続制御部は、前記通信要求を対象としない
    請求項11ないし13のいずれか一項に記載の通信装置。
  15. ユーザ入力用の入力インタフェースと、
    前記入力インタフェースから入力された指示に応じて、前記アプリケーションを実行するアプリケーション実行部と、
    前記通信要求に応じて前記第2の通信装置から取得されたデータ、および前記通信要求に応じて前記第2の通信装置に送信するデータを記憶する記憶部と、
    前記記憶部内のデータを表示する表示装置と
    を備えた請求項1ないし14のいずれか一項に通信装置。
  16. 前記第1の通信装置は、中継装置であり、前記第2の通信装置は、前記中継装置または前記中継装置と異なる通信装置である
    請求項1ないし15のいずれか一項に記載の通信装置。
  17. データ通信に関する通信要求に応じて、通信可能な第1の通信装置と無線接続を形成する第1の接続制御ステップと、
    周辺の通信環境の状態を測定することにより通信環境データを取得する通信環境監視ステップと、
    前記無線接続を介して、前記通信要求に係る第2の通信装置と、前記データ通信を行うための論理コネクションを確立し、前記論理コネクションを介して、前記通信環境データに応じて、前記第2の通信装置と前記データ通信を行うよう制御する第2の接続制御ステップと
    を備えた通信制御方法。
  18. データ通信に関する通信要求に応じて、通信可能な第1の通信装置と無線接続を形成する第1の接続制御ステップと、
    周辺の通信環境の状態を測定することにより通信環境データを取得する通信環境監視ステップと、
    前記無線接続を介して、前記通信要求に係る第2の通信装置と、前記データ通信を行うための論理コネクションを確立し、前記通信環境データに応じて、前記第2の通信装置と前記データ通信を行うよう制御する第2の接続制御ステップと
    をコンピュータに実行させるためのコンピュータプログラム。
JP2014191687A 2014-09-19 2014-09-19 通信装置、通信制御方法およびコンピュータプログラム Active JP6290055B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014191687A JP6290055B2 (ja) 2014-09-19 2014-09-19 通信装置、通信制御方法およびコンピュータプログラム
US14/855,721 US9999079B2 (en) 2014-09-19 2015-09-16 Communication device, communication control method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014191687A JP6290055B2 (ja) 2014-09-19 2014-09-19 通信装置、通信制御方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016063485A true JP2016063485A (ja) 2016-04-25
JP6290055B2 JP6290055B2 (ja) 2018-03-07

Family

ID=55527111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014191687A Active JP6290055B2 (ja) 2014-09-19 2014-09-19 通信装置、通信制御方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US9999079B2 (ja)
JP (1) JP6290055B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022127168A (ja) * 2021-02-19 2022-08-31 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7391559B2 (ja) * 2019-07-29 2023-12-05 キヤノン株式会社 情報処理装置、制御方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331947A (ja) * 1998-05-18 1999-11-30 Nippon Telegr & Teleph Corp <Ntt> 無線局と無線データ通信方法とプログラムの記憶媒体
JP2004179762A (ja) * 2002-11-25 2004-06-24 Sharp Corp データ通信装置及びデータ通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2009105487A (ja) * 2007-10-19 2009-05-14 Toshiba Corp 通信装置及び通信方法
US20130033997A1 (en) * 2011-08-03 2013-02-07 Tsung-Yo Cheng Method of increasing data throughput of a wireless network system by dynamically adjusting window size of communication protocol
WO2014034002A1 (ja) * 2012-08-31 2014-03-06 パナソニック株式会社 ウェブページキャッシュ装置、ウェブページキャッシュ方法、プログラム、及び集積回路

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI113124B (fi) * 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
SE0400163D0 (sv) * 2004-01-28 2004-01-28 Ericsson Telefon Ab L M Method and systems of radio communications
US20080089272A1 (en) * 2006-10-12 2008-04-17 Tommi Ahokangas Connection establishment method
JP5014281B2 (ja) 2008-07-30 2012-08-29 パナソニック株式会社 Tcp送信制御装置及びtcp送信制御方法
US8750112B2 (en) * 2009-03-16 2014-06-10 Echostar Technologies L.L.C. Method and node for employing network connections over a connectionless transport layer protocol
US9288719B2 (en) * 2012-09-28 2016-03-15 Optis Cellular Technology, Llc Link adaptation for a multi-hop route in a wireless mesh network
US20140274115A1 (en) * 2013-03-15 2014-09-18 Grid-Roots, LLC Tracking device and remote monitoring system
US10154423B2 (en) * 2014-06-27 2018-12-11 Google Llc End-to-end network diagnostics
JP2016019101A (ja) 2014-07-07 2016-02-01 株式会社東芝 タイミング決定装置、タイミング決定方法およびコンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331947A (ja) * 1998-05-18 1999-11-30 Nippon Telegr & Teleph Corp <Ntt> 無線局と無線データ通信方法とプログラムの記憶媒体
JP2004179762A (ja) * 2002-11-25 2004-06-24 Sharp Corp データ通信装置及びデータ通信プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP2009105487A (ja) * 2007-10-19 2009-05-14 Toshiba Corp 通信装置及び通信方法
US20130033997A1 (en) * 2011-08-03 2013-02-07 Tsung-Yo Cheng Method of increasing data throughput of a wireless network system by dynamically adjusting window size of communication protocol
WO2014034002A1 (ja) * 2012-08-31 2014-03-06 パナソニック株式会社 ウェブページキャッシュ装置、ウェブページキャッシュ方法、プログラム、及び集積回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022127168A (ja) * 2021-02-19 2022-08-31 ヤフー株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
US9999079B2 (en) 2018-06-12
US20160088663A1 (en) 2016-03-24
JP6290055B2 (ja) 2018-03-07

Similar Documents

Publication Publication Date Title
US10743286B2 (en) Paging processing method and device
JP6505750B2 (ja) 仮想マルチポイントトランシーバのためのシステム及び方法
KR102411188B1 (ko) 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
US10560929B2 (en) Resource request method and system, device, and network side node
JP6222352B2 (ja) 通信装置及び通信方法
US9801220B2 (en) Method, device and system for device to device D2D data transmission
JP7261834B2 (ja) 無線通信システムにおけるモビリティ管理方法及び装置
KR20150120493A (ko) 무선 통신 시스템 및 무선 통신 시스템에서의 방법
KR101602458B1 (ko) 패킷 라우팅 장치 및 방법
KR101941848B1 (ko) 수신 노드의 에너지 소비 감소를 위한 전송 노드, 수신 노드 및 그 통신 방법
US20180109996A1 (en) Network accessing method
WO2019064542A1 (ja) 通信システム、基地局装置、端末装置、および通信方法
US9282476B2 (en) Communication control system, communication control device, and communication control method
WO2012149739A1 (zh) 一种传输数据的方法、设备与基站
US20130258945A1 (en) Apparatus and method for managing a session established using a wireless channel between a base station and a mobile device
JP6290055B2 (ja) 通信装置、通信制御方法およびコンピュータプログラム
JP2016541163A (ja) ワイヤレスデバイスのリレー動作を変更するためのシステム、方法およびデバイス
JP5744334B2 (ja) 負荷分散方法、基地局、ユーザ装置、負荷分散ノード、及びシステム
KR101675734B1 (ko) 무선 네트워크 시스템에서의 링크 품질 판단 방법
JP6217860B2 (ja) 情報交換装置、基地局及び通信システム
US10098178B2 (en) Communication between network nodes of a mobile communication network using a communication interface
US20160308600A1 (en) Base station apparatus, terminal apparatus, and wireless access system
JP2014099743A (ja) 通信装置、通信装置の制御方法、および、プログラム
JP2014236374A (ja) 中継器装置及び中継器のスリープ制御方法
JP5990148B2 (ja) 基地局装置、通信システム、通信制御方法、及び通信制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180207

R151 Written notification of patent or utility model registration

Ref document number: 6290055

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151