図1は、実施例1に係る中継装置100の構成を示すブロック図である。インフラストラクチャモードの無線LAN環境においては、無線端末等の通信装置間の信号やデータのやりとりは、必ず中継装置を介して行われる。本実施例に係る中継装置100は、無線通信用の中継装置である。
中継装置100は、通信I/F101、受信処理部102、送信処理部103、フレーム記憶部104、判断部105、接続管理部106、記憶部107、報知信号生成部108、起動信号生成部109を備える。
通信I/F101は、中継装置100が管理する外部のネットワーク(以降、特に断らない限りにおいて、中継装置100によって管理されるネットワークを意味する。)に接続するためのインターフェイスである。より詳細には、通信I/F101は、ネットワークを経由し、無線信号で受信した制御フレームや管理フレーム、データフレーム等をデジタル信号へと変換して、受信処理部102へと渡す機能を備える。また、通信I/F101は、送信処理部103から渡された新たなフレームをデジタル信号から無線信号へと変換して、ネットワークに送信する機能を備える。送信処理部103から渡された新たなフレームとは、例えば、起動信号フレーム、報知信号フレームである。起動信号フレーム、報知信号フレームについては後述する。
図1では通信I/F101を1つしか示していないが、複数の通信I/Fを具備しても良い。通信I/F101が接続するネットワークの種類としては、例えば、IEEE802.11及びそれに付随する無線LAN規格に準拠したネットワークが好適である。実施例1では、中継装置、ネットワーク等は、IEEE802.11無線LAN規格に準拠したものとなっている。
尚、ネットワークの種類は、無線LAN規格用に限ることはなく、例えば、Bluetooth(登録商標)や赤外線といった無線LAN以外の無線通信規格、IEEE802.3及びそれに付随する有線LAN規格、又はPLC(Power Line Communication)といったその他の有線通信規格であってもよい。
受信処理部102は、通信I/F101で受信したフレームを処理する。フレームに対する処理とは、例えば、受信したフレームの先頭にあるIEEE802.11のヘッダと末尾にあるフレームチェックシーケンスをチェックし、IEEE802.11規格に準拠した正常なフレームであることを確認する処理である。
正常なフレームであることを確認されたフレームは、フレーム記憶部104に保存される。さらに、受信処理部102は、判断部105に対して処理後のフレームの扱いを判断するように指示を出す。
判断部105への指示は、フレーム記憶部104へフレームを保存した際に行い、判断部105に対して新たなフレームの到着を示すものである。判断部105への指示は、新たなフレームの保存場所を特定する情報(例えば、メモリのアドレスやキューの識別子)を含んでも良い。
送信処理部103は、判断部105の指示に基づき、フレーム記憶部104に保存されたフレームを、通信I/F101を介してネットワークに送信できる形に処理する。例えば、送信するデータフレームにIEEE802.11で規定されるヘッダとフレームチェックシーケンスを付加する処理である。判断部105の指示とは、送信すべきフレームが保存されていた場所を特定する情報(例えばメモリのアドレスやキュ−の識別子)を含んでも良い。
通信I/F101の処理と受信処理部102の一部の処理ならびに送信処理部103の一部の処理は密接に関連がある。IEEE802.11の通信インターフェイスを利用する場合には、受信処理部102と送信処理部103の処理はIEEE802.11に対応する必要がある。また、複数種のネットワークに接続する場合には、必要に応じて受信処理部102と送信処理部103が、それらのネットワークに対応するように変更される。
フレーム記憶部104は、受信処理後のフレームと、送信前のフレームと、定期的にネットワークに送信する報知信号と、ある通信装置に対して遠隔起動を指示する為の起動信号フレームとを記憶するメモリである。
判断部105は、フレーム記憶部104に保存された受信処理後のフレームに基づいて、当該フレームに必要な処理を決定し、中継装置100を構成する各構成要素に対して指示を出す。判断部105が決定する処理には、以下の処理がある。
処理1:フレーム記憶部104に保存されたフレームに対して送信処理部103で一定の処理を施し、通信I/F101を介してネットワークに転送する。
処理2:ネットワークに接続した通信装置の情報に関し、フレーム記憶部104に保存されたフレームによって通知を受け、当該情報に基づいて、当該通信装置の接続管理情報を更新する。
処理3:ネットワークに接続した特定の通信装置を起動するための、起動信号フレームを生成する。
当該処理1は、ネットワークに接続する複数の通信装置と通信装置との間のフレームを中継する場合に実行される。当該処理1の指示先は、送信処理部103である。
当該処理2は、ネットワークに接続する通信装置の状態が変わった場合に実行する処理である。状態が変わる場合とは、例えば、ネットワークに新たな通信装置が接続し、当該通信装置から接続要求を受けた場合、ネットワークに接続中の通信装置が離脱する場合、ネットワークに接続中の通信装置の動作状態が変わった場合である。当該処理2の指示先は、接続管理部106である。尚、処理2の詳細については後述する。
当該処理3は、処理1において通信装置間でフレームの通信を中継する場合において、フレーム受信側の通信装置が、新たなフレームを受信できる状態ではないと判断された場合に実行される。尚、通信装置が、新たなフレームを受信できる状態であるか否かは、処理2によって更新される接続管理情報に基づいて判断する。処理3の指示先は、送信処理部103、報知信号生成部108及び起動信号生成部109である。尚、処理3の詳細については後述する。
また、判断部105は、タイマーを内蔵し、タイマー管理している。そこで、起動処理用の報知信号フレーム、起動信号フレームを通信装置に送信する時刻についてスケジュールを作成することができる。判断部105は、スケジュールにしたがって、報知信号フレームの定期的な送信、起動信号フレームの所定タイミングでの送信を実行する。
接続管理部106は、判断部105の指示に基づいて、フレーム記憶部104に保存されたフレームを参照して、ネットワークに接続する通信装置の接続状況を管理する。尚、接続管理部106が管理する情報と当該情報の利用方法については後述する。
記憶部107は、接続管理部106が通信装置の接続状況の管理に必要な情報を保存するメモリである。尚、記憶部107に保存する情報の詳細は後述する。
報知信号生成部108は、起動信号フレームを送信するための起動処理用の報知信号フレームを生成する。起動処理用の報知信号フレームの生成は、判断部105からの指示により行う。報知信号生成部108、また通信I/F101が接続するネットワークに対して、定期的に、中継装置100の情報とネットワークの情報を報知するための信号を生成する。また、報知信号生成部108が生成した信号(以降、報知信号フレームという。)は、フレーム記憶部104に保存される。
起動信号生成部109は、判断部105からの指示を受けると、ネットワークに接続した通信装置を遠隔から起動するための起動信号フレームを生成する。生成した起動信号(以降、起動信号フレームという。)は、フレーム記憶部104に保存される。判断部105からの指示としては、起動信号フレームを生成するために必要な情報を含む。例えば、起動対象である通信装置を識別するための識別子(ex.MAC(Media Access Control)アドレスなど))を含む。
(起動処理の概要)
次に、中継装置及び通信装置間における起動処理信号の授受の概要について説明する。図2では、中継装置100、起動対象の通信装置201、その他の通信装置202における動作を時系列に示している。
中継装置100は、IEEE802.11規格に準拠した通常のビーコンを定期的に発射する。この通常のビーコンは、後述するQUIETエレメントを含んでいない管理フレームである。
ほどなくして、通信装置202が通信装置201に向けたデータフレームを生成し、中継装置100に送信する(ステップS101)。当該データフレームを受信した中継装置100は、通信装置の管理情報によって、通信装置201の動作状態が動作中でないことを認識する。そこで、中継装置100は、起動処理用の報知信号フレーム、起動信号フレームの生成を行う(ステップS102)。
中継装置100は、起動処理開始を報知する報知信号フレームを送信し(ステップS103)、当該報知信号フレームにより設定された無通信区間に合わせて、起動信号フレームを送信する(ステップS104)。
通信装置201を起動させると、中継装置100は、バッファしていた通信装置201宛てのデータフレームを通信装置201に対して転送する(ステップS105)。中継装置100はタイマー管理しているので、起動処理用の報知信号フレーム、起動信号フレームを通信装置201に送信する時刻についてスケジュールを作成することも好適である。スケジュール管理を利用すれば、複数の通信装置を起動処理する際に、優先処理も実現しやすい。
(起動処理用報知信号)
図3は、実施例1に係る中継装置100が送信する起動処理用報知信号として使用するフレームの一例を示す図である。起動処理用報知信号として、二つの報知信号を用いる場合について説明する。ここでは、IEEE802.11で規定されるビーコンを起動処理用の報知信号フレームとして利用する場合を例にとって説明する。ビーコンはIEEE802.11無線LAN規格における管理フレームの一つであり、ヘッダ300とボディ307とフレームチェックシーケンス(FCS)308を備える。ヘッダ300及びにFCS308については、IEEE802.11の仕様に従うものとする。
ビーコンは、ボディ307にて、当該ビーコンを送信するアクセスポイント(中継装置)がネットワークを運用する際に必要となる情報を伝達する。例えば、Time stamp element310やビーコンの送信間隔を格納するBeacon interval エレメント311、ネットワークの識別情報を格納するSSIDエレメント313等がある。
ネットワークに運用する際に必要となる情報の一つとして、ボディ307にQUIETエレメント314が規定されている。QUIETエレメント314は、通信装置に対して通信を抑制するように指示するものである。
中継装置100では、QUIETエレメント314を含むビーコンを生成して、通信装置に向けて送信する。すると、動作中の通信装置が中継装置100と通信しない状況、すなわち、無通信区間を作り上げる。無通信区間とは、更に詳細には、動作中の通信装置がフレームを一定時間送信しない区間である。この無通信区間中に、起動信号フレームを送信する。起動信号フレームの送信宛の通信装置は、他の通信装置の影響を受けないので、確実な遠隔起動を実現することができる。
QUIETエレメント314は、図3の要素320〜要素325に示した6つの要素で構成される。各構成要素の役割はIEEE802.11の仕様に従うが、参考として簡単に説明する。
Element ID320は、QUIETエレメント314を識別するためのIDが格納される要素である。Lenghth321は、(IDとLengthを除く)QUIETエレメント314の長さを格納する要素であり、値6を格納する。Quiet Count322は、次の無通信区間がいくつ先のビーコンインターバルから開始されるかを指定する値を格納する要素である。例えば、“1”を格納した場合には、QUIETエレメント314を含むビーコンの次のビーコンによって始まるビーコンインターバルにおいて、無通信区間が設定される。Quiet period323は、本QUIETエレメント314によって規定される定期的な無通信区間の間に含まれるビーコンインターバルの数を格納する要素である。“0”の時は、定期的な無通信区間は設定されない。Quiet Duration324は、無通信区間の長さを格納する要素である。Quiet Offset325は、Quiet Count322で指定したビーコンを受信してから無通信区間を開始するまでのオフセット値である。
図4は、起動処理用報知信号フレームによって生成される無通信区間の一例を示す図である。ここでは、起動処理用報知信号フレームとして、QUIETエレメント314を含むビーコン401を使用する場合を示している。QUIETエレメント314の要素320〜要素325に関する一連の値は、図4に示すような関係になっている。図4の例では、QUIETエレメントを含むビーコン401において、Quiet Count322=1、Quiet Period323=2、Quiet Duration324=β、Quiet Offset325=αと設定している。無通信区間を開始するように指定されたビーコンを受信したので、ビーコン受信からα時間経過した後に無通信区間は開始し、その無通信区間の長さはβである。無通信区間は、2個のビーコンインターバルを繰り返すように、設定されていることがわかる。
ここで、無通信区間の長さβは、起動信号フレームの送信に必要な時間そのものでなく、若干のマージンを加えた時間を設定することが好ましい。例えば、起動対象となる通信装置の通信方式等を考慮して決定するのが好適である。
これまで、遠隔起動処理を開始させる報知信号フレームとそれに基づく処理について述べた。一方、開始だけでなく、遠隔起動処理終了用の報知信号フレームも同様にQUIETエレメントを含むビーコンを用いる形で構成することができる。ただし、Quiet Durationをゼロに設定する。これにより過去に設定された無通信区間が破棄され、通常の状態に戻る。
遠隔起動処理開始用の報知信号フレームだけを用い、終了用フレームを用いない場合には、Quiet Periodをゼロに設定すればよい。これによって、一度だけ無通信区間が設定され、その後は通常の動作に戻る。
以上の説明では、遠隔起動処理に伴う報知信号として、IEEE802.11のQUIETエレメントを含むビーコンを利用する例を説明した。上記したQUIETエレメントの働きをする要素を含む報知信号を利用する通信方法であれば、その他の方法を用いても良い。
(管理情報)
中継装置100がある通信装置から受信したフレームが、新規接続要求や接続情報の更新を要求するフレームである場合、判断部105は接続管理部106に当該フレームを処理するように指示を出す。この指示を受けた接続管理部106は通信方式に合わせた接続処理を行い、記憶部107に当該通信装置の情報を格納する。
中継装置100が管理する通信装置の情報としては、“通信装置識別用ID”、“IEEE802.11関連情報”、“通信装置の動作状態”、“通信装置の遠隔起動方法”が好適である。図5は、記憶部107に作られる通信装置の情報のエントリの一例を表にしたものである。
“通信装置識別用ID”は中継装置100が接続するネットワークに接続している各通信装置を識別する識別子である。IDとして、例えばMACアドレスを用いる。“IEEE802.11関連情報”は、同規定によって通信装置を管理する為の情報である。“通信装置の動作状態”は、通信装置の状態である。中継装置100が通信装置と通信ができる場合には「動作中」と示す。通信装置と通信ができない場合としては、外部からの信号で短時間に復帰できる状態である「休止中」、外部からの信号では復帰するが休止中からの復帰よりも長い時間を要する状態である「停止中」がある。中継装置100によって遠隔起動処理が実行されている場合には、「起動処理中」と設定する。通信装置の動作状態は、中継装置100との間での通信成否や、各通信装置から状態変更通知を受けた場合に更新する。ある通信装置からネットワークから離脱する旨を示す情報を受信した場合、中継装置100は当該情報を送信した通信装置のエントリを記憶部107から削除する。
“通信装置の遠隔起動方法”は、通信装置がサポートしている遠隔起動方法の情報である。遠隔起動方法の情報には、遠隔起動に必要な情報も合わせて保存してもよい。さらに、動作状態と遠隔起動方法との対応関係が存在する場合、それらを満たすように複数のエントリを構成しても良い。尚、通信装置が遠隔起動をサポートしていない場合には空欄とする。
例えば、図5のエントリの行511の通信装置は、起動処理中であり、「方法1」で指定された方法で遠隔起動できる通信装置である。行512の通信装置は、休止中であり「方法2」で遠隔起動できる通信装置である。また、行513は動作中であり、遠隔起動をサポートしていない通信装置である。行514と行515の通信装置は、同一通信装置に対するエントリであるが、状態に応じて起動方法が異なる通信装置の格納例である。
通信装置の情報として、“起動信号の送信時間”を管理することもできる。起動処理用の報知信号フレーム、起動信号フレームを通信装置201に送信する時刻についてスケジュールを作成する場合には、必要な管理情報となる。図6は、“起動信号の送信時間”についてもエントリした情報の一例を示す表である。
(動作フロー)
次に、以上のように構成された中継装置100の動作について説明する。以下の説明では、中継装置100の動作として、二つの動作フローを説明する。第1のフローは、ある通信装置からフレームを受信したことを起点とする動作フローである。第1のフローは、例えば、通信装置間の通常のフレーム中継操作に利用するフローである。また、データフレームを受信した場合であって、かつ当該データフレームの送信宛の通信装置が動作中でない場合、起動処理用報知信号フレームを生成と起動信号フレームを生成する。また、当該起動処理用報知信号フレームと起動信号フレームを送信するスケジュールを立てて、送信する。第2のフローは、中継装置100のタイマー管理に関連する動作フローである。第2のフローは、例えば、中継装置100から通信装置に向けて、定期的に報知信号フレームの送信を行う動作フローである。また、前述した第1のフローで決める起動処理用報知信号フレームと起動信号フレームを送信するスケジュールをタイマー管理して、当該タイマー管理のもと起動処理用報知信号フレームと起動信号フレームを送信する。
まず、図8A〜図8Cを用いて第1のフローを説明する、図8A〜図8Cは、中継装置100のフレームの受信を起点とする動作の流れを示すフローチャートである。
まず、通信I/F101がフレームを受信すると、受信処理部102にてフレームに対して受信処理を施す(ステップS201)。フレーム記憶部104に、当該受信処理したフレームを保存する(ステップS202)。
次に、判断部105は、当該保存したフレームがデータフレームであるか否かを判断する(ステップS203)。データフレームとは、例えば、IPパケットなどのデータを伝送するフレームであり、接続要求フレームや到達確認フレーム等のコントロールフレームと区別される。尚、制御情報を交換せず、データ交換のみからなるプロトコルにおいては、データフレームであるか否かの判断は、データフレームの内部を解析しなければならない場合がある。例えば、TCP(Transmission Control Protocol)やUDP(User Datagram Protocol)の上で制御情報を交換するプロトコルが使われた場合、それらプロトコルを格納しているフレームを検出する処理が当てはまる。尚、以下の説明においては、上位プロトコルを使って制御情報を交換する例には言及していないが、本実施例は同じように適用可能である。
ステップS203において、フレームがデータフレームと判断した場合(ステップS203−YES)、判断部205は、宛先通信装置の状態を確認する(ステップS204)。判断部205は、当該フレームの受信先として指定された通信装置が動作中であるか否かを判断する(ステップS205)。この判断処理は、記憶部107に保存された情報に基づいて行う。たとえば、図5の動作状態503を見て、通信装置が動作中か否かを判断する。
ステップS205において、判断部205が、フレームの受信先の通信装置が動作中であると判断した場合(ステップS205−YES)、中継装置100は、フレームを受信先の通信装置に転送する。具体的には、まず、判断部105が送信処理部103に送信指示を出す。送信指示を受けると、送信処理部103がフレーム記憶部104から当該フレームを読み出す(ステップS206)。送信処理部103は、読み出したフレームに送信処理を施し(ステップS207)、当該フレームを通信I/F101を介してネットワークへと送信する。
一方、ステップS205において、判断部205が、フレームの受信先の通信装置が動作していないと判断した場合(ステップS205−NO)、判断部205は、フレームの受信先の通信装置に対して、遠隔起動処理を実行中であるか否かを判断する(S208)。遠隔起動処理を実行中であると判断した場合(ステップS208−YES)、中継装置100は処理を終了する。このとき、受信したフレームはすでにフレーム記憶部104に保存されているので、遠隔起動処理完了後に送信する。
一方、遠隔起動処理を実行中でない場合(ステップS208−NO)、判断部105は、対象となる通信装置の情報を記憶部107から読み出し、当該通信装置の記憶部107のエントリを「起動処理中」に変更する(ステップS209)。
「起動処理中」に変更することにより、通信装置は、対象となる通信装置宛に送信されたフレームを受信すると、当該フレーム全てをフレーム記憶部104にバッファする。尚、全てのフレームをバッファする必要は必ずしもなく、実装形態に応じて様々な対応を採ることができる。
フレーム記憶部104は、起動処理中の通信装置宛に送信されたデータフレームは、起動処理中以外の通信装置に送信されたデータフレームと比べてバッファ滞留時間を長くしてもよい。バッファ長を通常より長くしたり、記憶したフレームを通信装置宛に再送する場合、再送を試みるまでの時間を長くしたり、再送を試みる回数を増やす等の処理を行っても良い。これにより、フレームロスを更に防ぐことができる。
尚、バッファ滞留時間を長くすること、フレームの再送を試みるまでの時間を延ばすこと、フレームの再送回数を増やすこと等について、予め閾値を通信装置毎に定めて記憶し、当該閾値に基づいて動作させても良い。通信装置から通知された閾値にしたがって、中継装置100が動作しても良い。通信装置が、閾値を中継装置100に通知する通知手段としては、例えば、通信装置の新規接続要求を行うフレームを用いると良い。
無線中継装置100の接続管理部106は、通信装置から受け取った新規接続要求のフレームに当該閾値が記載されたパラメータを見つけた場合、記憶部107に、当該通信装置と対応付けて保存すればよい。
図10は、中継装置100が記憶部107に記憶して管理する情報として、起動処理に関するパラメータを合わせて保存する一例を示す表である。図10の“起動処理中の対応”という列2000に、バッファ滞留時間、フレームの再送を試みる時間、フレームの再送回数の閾値等、起動処理中の通信装置に対する対応について記憶する。
次に、ステップS209の処理を行った後、中継装置100がフレーム受信先の通信装置を起動する為の処理の説明を行う。判断部105は、フレーム受信先の通信装置に対応するエントリに保存されている情報と共に、起動信号生成部109に起動信号フレームを生成するように指示を出す。起動信号生成部109は起動信号フレームを生成(ステップS210)し、フレーム記憶部104へ保存する。
次に、判断部105は、報知信号生成部108に対して、起動処理用報知信号フレームを生成するように指示を出す。起動信号フレームを安定的に送信するのに適した通信状態を作りだすためである。報知信号生成部108は、起動処理用の報知信号フレームを生成(ステップS211)し、フレーム記憶部104に保存する。尚、通信方式が、起動信号フレームを送信する区間の開始と終了とを異なる起動処理用報知信号で示すことができる通信方式である場合、報知信号生成部108は、起動処理開始用の報知信号と起動処理終了用の報知信号との2つの起動処理用報知信号を生成する。通信方式が、起動信号フレームを送信する区間の終了が自明である通信方式である場合、報知信号生成部108は、起動処理開始用の報知信号だけを生成すれば良い。
次に、判断部105は起動処理用報知信号フレームと起動信号フレームを適切なタイミングで送信するためのスケジュールを立てて(ステップS212、ステップS213)、処理を終了する。例えば、通信方式が、起動処理開始用の報知信号フレームだけを生成すればよい場合は、まず、起動処理開始用報知信号の送信スケジュールを立てて(ステップS212)、次に、起動信号フレームの送信スケジュールをたてる(ステップS213)。
判断部105のスケジュールにもとづき、報知信号フレームと起動信号のフレームの送信が完了すると、記憶部107の当該フレームが送信された通信装置に対応するエントリが更新される。なお、起動処理用報知信号フレームと起動信号フレームは、後述するタイマー管理に基づいて、送信する。
すなわち、図5のエントリのうち動作状態が“起動処理中”から“動作中”に変更される。その結果、フレーム記憶部104にバッファされているフレームのフレーム受信先の通信装置への転送が再開される。また、通信装置の起動処理中に、フレームのバッファ滞留時間を長くする、バッファ長を長くするといった処理を行っていた場合は、通信装置の動作状態に行う通常のフレームのバッファ滞留時間、バッファ長へと戻す。
前述したステップS203において、フレームがデータフレームではなかった場合(ステップS203−NO)、判断部205は、当該フレームが接続要求(または更新要求)か否かを判断する(ステップS214)。接続要求ではなかった場合(ステップS214−NO)、中継装置100は、各制御フレームに対して規定された処理を行い(ステップS220)、処理を終了する。
一方、ステップS214で、受信フレームが接続要求(または更新要求)である場合(ステップS214−YES)、判断部205は、接続要求が新規であるか否かを判断する(ステップS215)。判断部205は、フレームに、新規であるか否かの情報が格納されている場合には、その情報を参照して判断する。フレームに、新規であるか否かの情報が格納されていない場合には、記憶部107に受信フレームの対象となる通信装置の情報が格納されているか否かで判断する。新規接続要求である場合(ステップS215−YES)、記憶部107に対象となる通信装置の情報を格納するためのエントリを作成する(ステップS216)。新規接続要求ではなかった場合(ステップS215−NO)、新たなエントリは作成しない。
次に、中継装置100は、接続要求を送信した通信装置に対する接続処理を行う(ステップS217)。次いで、判断部105は、接続要求に遠隔起動に関する情報が含まれているか否かを判断する(ステップS218)。接続要求に遠隔起動に関する情報が含まれている場合(ステップS218−YES)には、当該遠隔起動に関する情報を用いてエントリを更新する(ステップS219)。一方、遠隔起動に関する情報が含まれていない場合(ステップS218−NO)には、処理を終了する。
次に、中継装置100のタイマー管理に関連する第2の動作フローについて説明する。第2のフローは、例えば、中継装置100から通信装置に向けて、定期的に報知信号フレームの送信を行う動作フローである。また、前述した第1のフローで決める起動処理用報知信号フレームと起動信号フレームを送信するスケジュールをタイマー管理して、当該タイマー管理のもと起動処理用報知信号フレームと起動信号フレームを送信する。
図9A〜図9Cは、中継装置100のタイマーに起因する動作の流れを示すフローチャートである。
まず、本動作が開始してから、タイマーがタイムアウトするまで待機する(ステップS301〜ステップS302)。判断部105は、タイマーがタイムアウトしたら、タイムアウトしたタイミングが、報知信号フレームを送信するタイミングであるか否かを判断する(ステップS303)。ステップS303で、報知信号フレームを送信するタイミングである場合(ステップS303−YES)、判断部105は、通常用の報知信号フレームを送信するか、起動処理用報知信号フレームを送信するかを判断する(ステップS304)。通常用の報知信号フレームを送信すると判断した場合(ステップS304−YES)、中継装置100は、フレーム記憶部302に事前に作成・保存された報知信号を読み出し、送信処理を施した後ネットワークに送信する(ステップS305〜ステップS306)。
次に、中継装置100が生成する起動処理用の報知信号について説明する。起動処理用の報知信号は、起動処理の開始を知らせる報知信号と起動処理の終了を知らせる報知信号の二つを用いる場合と、起動処理の開始を知らせる報知信号のみを用いて、所定の時間が経過した後、中継装置100が通常の動作に戻る場合がある。
起動処理を示す報知信号フレームを送信すると判断した場合(ステップS304−NO)、判断部105は、起動処理の開始を示す報知信号フレームを送信するか起動処理の終了を示す報知信号クレームを送信するか否かを判断する(ステップS307)。判断部105が、起動処理の開始を示す報知信号フレームを送信すると判断した場合(ステップS307−YES)には、中継装置100は、フレーム記憶部104から起動処理開始用報知信号フレームを読み出して送信する(ステップS308〜ステップS310)。判断部105が、起動処理の開始終了を示す信号を送信すると判断した場合(ステップS307−NO)には、中継装置100は、フレーム記憶部104から起動処理終了用報知信号フレームを読み出し送信する(ステップS311〜ステップS313)。
一方、ステップS303で、判断部105が、報知信号フレームを送信するタイミングではないと判断した場合(ステップS303−NO)、中継装置100は、起動信号フレームをフレーム記憶部104より読み出し、送信する(ステップS314〜ステップS315)。その後、判断部100は、起動処理が終了した事を示す報知信号フレームの送信をスケジュールし(ステップS316)、送信した起動信号フレームをフレーム記憶部104から削除する(S317)。次に、当該起動信号フレームの送信先の通信装置の動作状態を「起動処理中」から「動作中」に変更し(ステップS318)、中継装置100は、当該通信装置に向けてバッファしているフレームを送信する(ステップS319)。
尚、バッファしているフレームの送信を再開する処理(ステップS318〜ステップS319)の実行は、起動信号フレームを送信した直後である必要は無い。フレームロスが発生しないように、起動信号フレームを送信後、ある程度の時間をおいて実行する方が良い。
以上の動作フローにおいて、ステップS317では、送信が完了した起動信号フレームを記憶部104から削除すると説明したが、削除しなくても良い。
例えば、図7に示すように、記憶部107で管理している通信装置ごとのエントリに“起動信号フレーム”を関連づけて記憶するようにして、今後の送信に備えてもよい。図7の例では、列700として起動信号フレームを保存する欄を設けて保存するようにしている。行701に格納されているID1の通信装置では、F1という起動信号フレームで起動できる事がわかる。また、行702に格納されているID2の通信装置は休止状態にあり、まだ起動信号フレームを生成していないので空欄となっている。
実施例1の中継装置100によれば、無通信区間で起動信号フレームを通信装置に対して送信するため、通信装置に起動信号フレームを確実に伝達することが可能となる。その結果、通信装置を確実に遠隔起動させることができる。
尚、中継装置100は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、通信I/F101、受信処理部102、送信処理部103、フレーム記憶部104、判断部105、接続管理部106、記憶部107、報知信号生成部108、起動信号生成部109は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、中継装置100は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、フレーム記憶部104、記憶部107は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
次に、実施例2に係る中継装置1100について説明する。中継装置1100は、実施例1の中継装置100が、通信装置を無通信区間にて起動させることに加えて、起動対象となる通信装置の起動確認を行う。
図11は、実施例2に係る中継装置1100の構成を示すブロック図である。
中継装置1100の構成要素のうち、実施例1に係る中継装置100から変更された構成要素は、判断部1101と起動確認信号生成部1102である。
起動確認信号生成部1102は、判断部1101の指示に基づき、フレーム記憶部104に格納されたフレームに含まれる情報から、通信装置が適切に起動したかどうかを確認をするための起動確認用フレームを生成し、生成した起動確認用フレームをフレーム記憶部104に格納する機能を持つ。
判断部1101は、実施例1の中継装置100の判断部105が持つ機能に加えて次の機能を持つ。第一に、起動確認用フレームを生成するように起動確認信号生成部1102に指示を出し、生成された起動確認用フレームを用いて起動対象の通信装置が起動したか否かを確認する機能である。第二に、起動対象の通信装置が起動した場合、フレーム記憶部104にバッファされたフレームの送信を再開する機能、起動中にフレームのバッファ滞留時間を長くしていたなど通常の状態と異なる状態であった場合は、通常の状態に戻す機能を備える。
次に、以上のように構成した中継装置1100の動作について説明する。図12は、中継装置1100のフレームの受信を起点とする動作の流れを示すフローチャートである。図12のフローチャートでは、図8A〜図8Cと同一の動作を行うステップについては説明を省略し、実施例2特有の動作フローについて示している。
図12のフローチャートのうち、図2のフローチャートと異なる点は、報知信号フレームの生成処理(ステップS211)と報知信号フレームの送信をスケジュールする処理(ステップS212)との間に、通信装置の起動を確認するための起動確認信号フレームを生成する処理(ステップS1201)が追加される点である。起動確認信号フレームの種類とその確認方法については後述する。
図13A〜図13Cは、中継装置1100のタイマーに起因する動作の流れを示すフローチャートである。図9Aと同一の動作を行うステップについては、説明を省略している。図13A〜図13Bのフローチャートでは、起動信号フレームを送信する部分のフローが変更されている。
報知信号フレームを送信するタイミングではなかった場合(ステップS303−NO)、フレームの送信宛の通信装置が「起動処理中」であるかどうかを判断する(ステップS1301)。「起動処理中」である場合(ステップS1301−YES)、起動信号フレームをフレーム記憶部104から読み出して送信する(ステップS314〜S315)。次に、記憶部107で管理しているフレームの送信宛の通信装置の動作状態を「起動確認中」に変更し(ステップS1302)、起動確認用フレームの送信をスケジュールする(ステップS1303)。
一方、ステップS1301において、通信装置の動作状態が「起動処理中」ではなかった場合(ステップS1301−NO)、対象通信装置の動作状態は「起動確認中」である。この場合、中継装置1100は、起動確認処理を行う。具体的には、起動確認用フレームをフレーム記憶部104から読み出し(ステップS1304)、ネットワークへ送信する(ステップS1305)。次に、中継装置1100は、対象通信装置からの当該起動確認用フレームに対する対象通信装置からの応答信号を待つため、一定時間待機する(ステップS1306)。次に、応答信号を受信したかどうかを判断する(ステップS1307)。対象通信装置からの起動確認用フレームに対する応答信号があった場合(ステップS1308−YES)、対象通信装置が起動したと判断する。起動処理終了用報知信号の送信をスケジュールするとともに(ステップS316)、起動信号フレームをフレーム記憶部104から削除する(ステップS317)。その後、記憶部107にて管理している当該通信装置の状態を「動作中」に変更し(ステップS318)、フレーム記憶部104にてバッファしているデータフレームの転送を開始する(ステップS319)。
一方、ステップS1308において、対象通信装置からの応答信号が無かった場合(ステップS1307−NO)、起動確認処理の試行回数が規定回数に到達しているかどうかを確認する(ステップS1308)。この規定回数は判断部105が固有値として備えていてもよいし、記憶部107に保存して判断部105が適宜参照するようにしてもよい。ステップS1308において、起動確認処理が規定回数に達している場合(ステップS1308−YES)、引き続き、起動処理の試行回数が規定回数に到達しているかどうかを確認する(ステップS1309)。この規定回数も先の確認処理に関する規定回数と同様に、判断部105が固有値として備えていても良いし、記憶部107に保存して判断部105が適宜参照するようにしてもよい。
起動処理の試行回数が規定回数に達している場合(ステップS1309−YES)、当該通信端末は遠隔起動ができないと判断して、起動処理を取りやめる。具体的には、フレーム記憶部104から起動信号フレームを削除し(ステップS1310)、記憶部107にある当該通信装置のエントリを削除する(ステップS1311)。このとき、判断部1101がIP層の処理を実施できるのであれば、ICMPを用いたエラー応答(例えば、ICMP Host Unreachable)を、フレーム送信元の通信装置に対して送信しても良い。
一方、ステップS1309において、起動処理の試行回数が規定回数に達していない場合(ステップS1309−NO)、再度起動処理を試みる。記憶部107の対象通信装置のエントリに含まれる状態を「起動処理中」に変更し(ステップS1312)、起動信号フレームの送信をスケジュールする(ステップS1313)。
また、ステップS1308において、起動確認処理が規定関数に達していない場合(S1308−NO)、再度起動確認処理を行うため、ステップS1304に戻る。
起動対象となる通信装置が、起動試行の回数、起動確認の試行回数、起動信号フレームを送信してから起動確認を行うまでの時間などの閾値を事前に中継装置1100に通知しておき、中継装置1100はその閾値に従った動作をするようにしても良い。例えば、通信装置は、各閾値を、新規接続要求を行うフレームにより通知する。中継装置1100は、各閾値を受け取ると、接続管理部106が、対応する閾値を記憶部107の対応するエントリに保存する。中継装置が、各閾値を記憶した場合のエントリを図14に示す。
図14は、図5の管理情報に対して、“起動試行回数”、“確認試行回数”、“起動確認までの時間”のエントリが追加されている。例えば、ID1の通信装置を表す行(1406)については全てのパラメータが格納されている。ID2の通信装置を表す行(1407)については、一部のパラメータだけが格納されている。このように通信装置が対応しないパラメータについては空欄にしておけば良い。
次に、実施例2に係る中継装置1100が使用する起動確認フレームとそれを用いた起動確認処理について説明する。
起動確認フレームは、中継装置1100が中継するフレームに含まれる情報に基づいて生成する。フレームに含まれる情報としては、例えば、MACアドレスやIPアドレスを使って生成する。フレームに含まれる情報のうち利用する情報によって通信装置の起動確認の方法が異なる。
フレームに含まれる情報のうちMACアドレスだけを用いた場合には、通信装置について、IEEE802.11などのデータリンク層レベルでの起動確認ができる。MACアドレスだけを使う方法の場合、データリンク層レベルで応答が得られるプロトコルを用いる。例えば、IEEE802.11を用いる。その場合、起動確認フレームとしては、例えばIEEE802.11で規定されたNULLフレームを用いる。NULLフレームは、受信先アドレスを起動確認対象の通信装置のMACアドレスとし、送信元アドレスを中継装置のMACアドレスとする。NULLフレームに対する応答としてACKを受信したことが確認できれば、対象通信装置が起動したと判断する。
フレームに含まれる情報のうち、MACアドレスと更にIPアドレスを用いた場合には、通信装置について、IP層レベルでの起動確認ができる。この場合、起動確認フレームとしては、例えば、ARPパケットやICMP Echo Requestパケット、ICMPv6 Echo Requstパケットなどを用いる。これらを起動確認フレームとして用いた場合、各々のパケットに対して、それぞれARP Reply、ICMP Echo Reply、ICMPv6 Echo Replyを受信したことが確認できれば、対象通信装置が起動したと判断することができる。MACアドレスとIPアドレスを用いて起動確認フレームを生成した場合には、ネットワークインターフェイスは動作しているが、ネットワークインターフェイスより上位層はトラブル等により起動していない場合、そのことを把握でき、より詳細に通信装置の起動状態を確認することができる。特に、通信装置が、遠隔起動のためにデータリンク層の接続を切断しないような動作を行っている場合、IP層での起動確認を行うことが有効である。
例えば、起動確認フレームとして、ARPパケットを生成する場合、パケットのフィールドは、以下のように埋めれば良い。
1)データリンク層レベルのヘッダ
受信先MACアドレス: ブロードキャストアドレス
送信元MACアドレス: 中継装置1100のMACアドレス
2)ARPパケット
送信元MACアドレス: 中継装置1100のMACアドレス
送信元IPアドレス: 中継装置1100のIPアドレス(ただし、中継装置がIPアドレスを持たない場合には、遠隔起動のきっかけとなったフレームに含まれる送信元IPアドレス)
ターゲットMACアドレス: 全てゼロ
ターゲットIPアドレス: 遠隔起動のきっかけとなったフレームに含まれる受信先IPアドレス
また、起動確認フレームとして、ICMP Echo RequestパケットとICMPv6 Echo Requsetパケットを生成する場合、パケットのフィールドは、以下のように埋めれば良い。
1)データリンク層レベルのヘッダ
受信先MACアドレス: 遠隔起動のきっかけとなったフレームに含まれる受信先MACアドレス
送信元MACアドレス: 中継装置1100のMACアドレス
2)IPヘッダ/IPv6ヘッダ
送信元IPアドレス/送信元IPv6アドレス: 中継装置1100のIPアドレス/IPv6アドレス(ただし、中継装置1100がIPアドレス/IPv6アドレスを持たない場合、遠隔起動のきっかけとなったフレームに含まれる送信元IPアドレス/IPv6アドレス)
受信先IPアドレス/IPv6アドレス: 遠隔起動のきっかけとなったフレームに含まれる受信先IPアドレス/IPv6アドレス
実施例2の中継装置1100は、無通信区間で起動信号フレームを通信装置に対して送信する。更に、通信装置が起動したか否かを確認する起動確認用フレームを通信装置に対して送信し、通信装置が起動したか否かを確認する。通信装置が起動したことを確認した場合に、データフレームを通信装置に対して送信する。起動確認後、データフレームの送信を行うため、通信装置が起動していないため(たとえば、起動信号フレームが適切に送信できていない場合や、通信装置の起動処理が想定以上の時間を要しているなどの理由により)、通信装置がフレームを正しく受け取れないといったことを防ぐことができる。すなわち、通信装置の起動を確実に確認でき、通信装置へのデータフレームの送信を確実に行うことができる。また、起動確認後、データフレームの送信を行うため、(たとえば、起動処理が想定以上の時間を要していることを想定して)必要以上にデータフレームの送信再開までの時間を長くすることを防ぐことができる。
次に、本発明の実施例3に係る中継装置1500について説明する。図15は、実施例3に係る中継装置の構成を示すブロック図である。
図1に示した中継装置100の構成とは、判断部1505、記憶部1507、起動信号生成部1509の機能及び動作が異なっている。
記憶部1507は、これまでに保存していた情報に加えて、中継装置1500が中継するフレームのうち優先的に処理するフレームを識別する為の情報を保存する。この情報はフレームを構成する様々な識別子から構築される。例えば、送信元MACアドレス、受信先MACアドレスである。
判断部1505に上位層まで解析する能力を持たせるのであれば、送信元IPアドレスや受信先IPアドレス、トランスポートプロトコル、TCPもしくはUDPの送信元ポート番号、受信先ポート番号なども使用できる。優先度に関する情報は、通信装置の接続情報と独立に保存しておいても良いし、統合した形で保存しておいても良い。
図16は、独立して優先度情報を記憶部1507で保存する場合の一例を示している。図16に示す例では、3つの通信に対する通信識別情報と優先度情報が格納されている。これらの通信は、先に述べた各識別子によって識別されている。行1611の通信と行1613の通信は対応する一つの通信であり、方向が異なっている。
図17は、通信装置の接続管理情報と併せて優先度情報を記憶部で保存する場合の一例を示している。図17の例では、3つの通信装置に対する接続管理情報(列1701〜列1704)と、各通信装置に対応する優先度情報(列1705)が格納されている。優先度情報は「高」「中」「低」のように設定しているが、その粒度については限定しない。通信方式によって実現可能な優先制御の粒度を利用すればよい。中継装置1500が粒度や優先制御の方法が異なる二つのネットワークを接続する場合、中継装置1500の判断部1505が適切に変換する。
判断部1505は、これまでの機能に加えて、記憶部1507に保存されている優先すべき通信の条件を用いて、受信したデータフレームを優先的に送信するかどうかを判断する機能を具備する。判断結果に基づいて、起動信号生成部1509や報知信号生成部108に対して出す指示の内容を変更する。
優先処理すべき(優先度が高い)と判断したデータフレームにおいて、受信先の通信装置を遠隔起動する必要が発生した場合には、後述するNAV(Network Allocation Vector)を使った起動信号を生成し、送信するように指示を出す。そうでない場合には、これまでに述べた起動処理用報知信号フレームによる無通信区間を設定した上で起動信号フレームを送信するように指示を出す。
起動信号生成部1509は、これまでに述べた起動信号フレームに加え、起動信号フレームの伝播に必要な時間を考慮したNAVを設定する信号と、そのNAVを更新しながら起動信号フレームの役割も果たす信号フレーム(請求項4で第2の起動信号フレームに対応)とを生成する機能を具備する。ここで、NAVは、ネットワークに接続する通信装置に対して一定期間フレームを送信しないように指示する無通信区間を設定するフレームである。
図18は、NAV化された起動信号フレームの一例を時系列で模式した図である。図18(a)は、複数の信号の集合を起動信号フレームとみなす例であり、図18(b)は、単一の信号で起動信号フレームを作る例である。
いずれの場合も、起動信号フレーム全体をカバーする形でNAVが設定される。両方式において、起動信号フレームを送信する前に、起動信号フレームの長さに合わせたNAVを設定することを目的としたフレーム(例えば、フレーム1806とフレーム1807が相当する)を別途送信しても良い。
また、起動信号フレームの送信にNAVを設定できる時間よりも長い時間を要する場合、上段のように複数のフレームに分けて、複数のNAVを設定する形で起動信号フレームを生成しても良い。
実施例3において、優先度の高い通信がなされている状態で、優先度が低い通信をきっかけとする起動信号を送信する場合を考える。図19は、高優先度通信信号が送信される場合において、無通信区間が設定される様子を示す模式図である。
図19のフレーム1906は、休止中の通信装置に向かう低優先度のフレームであり、一連の遠隔起動のきっかけとなるフレームである。フレーム1900と1901は、起動開始用報知信号である。フレーム1902は起動終了用報知信号であり、フレーム1903は高優先度通信に対応するフレームである。区間1904はフレーム1900の起動開始用報知信号によって生成される無通信区間である。フレーム1905は、無通信区間1904で送信された低優先度通信に対応する起動信号フレームである。また、フレーム1907は休止中の通信装置に向かう高い優先度の通信に対応するフレームである。フレーム1908は、高い優先度の通信を行う通信装置を起動させるための起動信号フレームである。
このような構成に係る中継装置1500の動作フローを図20A〜Cに示す。図20A〜Cは、実施例3に係る中継装置1500におけるフレームの受信を起点とする動作の流れを示すフローチャートである。
図20A〜Cに示すように、フレームを転送する際に優先度に基づくスケジューリングを行う処理(ステップS2001)と、起動信号の生成ならびに送信処理(ステップS2002〜ステップS2009)が変更されている。優先度が高いフレームの受信をきっかけとした起動信号の生成から送信までの処理は、連続的に実行されるようになっている。
動作中ではない通信装置に向かうフレームを受信し、その通信装置が起動処理中ではない場合(ステップS205−NO、ステップS208−NO)、記憶部1507に保存されている当該通信装置に対するエントリの状態を「起動処理中」に変更する(ステップS209)。その後、受信したフレームが優先的に処理すべきものか、通常通り対応するものかを確認する(ステップS2002)。
受信したフレームが通常通り処理すべきフレームだった場合(ステップS2002−YES)、図8Bと同じように処理をする。例えば、図16の行1612に該当するフレームを受信したことによって一連の動作フローが実行されていたと仮定する。この場合、行1612は優先度が低い通信に分類されている為、図8Bと同じように報知信号による無通信区間を設定した上での遠隔起動処理を行う。
ただし、本実施形態における報知信号生成部1508は、単純に図8Bと同じ動作をするだけではなく、起動処理開始用の報知信号によって生成される無通信区間が、他の優先的な通信を妨害しないように適切な位置に配置するようにスケジュールしても良い。これを実現するためは、記憶部1507に優先的な通信に対する時間的な情報(例えば、通信速度、許容する最大遅延、フレーム間隔など)の情報を保存しておき、判断部1505がそれを参照して判断を行った上、報知信号生成部1508に指示する際に適切な値を指定すればよい。ここで、フレーム間隔とは、高優先度通信の信号の送信間隔である。図では、高優先度通信の信号1903の信号の送信間隔である。また、最大遅延とは、所定のフレーム間隔1903より長い間隔を空けて、信号1903を送信する場合のフレーム間隔からの最大延長期間である。尚、記憶部1507に保存する時間的な情報は、図16や図17の優先度情報と共に保存すればよい。事前に把握している高優先度の通信を避ける形で遠隔起動信号を送信することができるため、高い優先度の通信に対する影響を抑えながら、より安定した形での遠隔起動が実現できる。例えば、図19においては、報知信号により設定される無通信区間1904を、高優先度の信号1903を送信する区間以外の区間に設定している。例えば、報知信号生成部1508は、時間的な情報としてフレーム間隔を用いて、無通信区間1904を設定する。図19に示すように、中継装置1500が、高優先度の信号1903を一定の間隔で送信している場合、当該間隔を記憶部1507に記憶している。報知信号生成部1508は、記憶部1507に記憶された当該間隔を参照して、高優先度の信号1903と衝突しない部分に、無通信区間1904を設定する。また、報知信号生成部1508は、時間的な情報としてフレーム間隔と許容する最大遅延を用いて、報知信号により設定される無通信区間1904を設定する。報知信号生成部1508は、フレーム間隔と最大遅延との和の区間に、無通信区間1904を設定する。
一方、優先的に処理すべきフレームだった場合(ステップS2002−NO)、先のNAVを伴った起動信号を生成・送信する処理を行う。また、起動信号自身にも同様の優先度を与える。例えば、図16の行1611や行1613に該当するフレームを受信した事によって一連の動作フローが実行されていたと仮定する。この場合、高い優先度に分類されているのでNAVを伴う起動信号を使う方式を選択すると共に、生成した起動信号にも高い優先度を与える。
はじめにNAVを伴った起動信号を生成し、フレーム記憶部104に保存する(ステップS2003)。判断部1505は、他のフレームと同じように(ただし、本処理のきっかけとなったフレームと同じ優先度で)起動信号フレームを送信するように、送信処理部103に指示する。送信処理部103は当該起動信号フレームを読み出し(ステップS2004)、優先度を考慮した適切なタイミングでネットワークへと送信する(ステップS2005)。その後、フレーム記憶部104から起動信号フレームを削除する(ステップS2006)。
起動信号フレームの送信が終わると、記憶部107で管理している当該通信装置の状態を「動作中」に変更する(ステップS2007)。その後、フレームロスが発生しないようにある程度の時間を置いてから、フレーム記憶部104にバッファしておいたフレームの送信を開始する(ステップS2008)。
図19の例では、フレーム1907が休止中の通信装置に向かう高い優先度の通信であり、フレーム1908が対応する起動信号フレームである。NAVを使用することで、報知信号による無通信区間を設定されるまで待機する必要が無いため、高速に起動信号を送信できる。
一連の動作において、受信したフレームがこのような優先度情報の管理データに該当しない場合には、優先度情報が設定されていないものとして扱えば良い。
本実施例3において追加された起動信号の生成・送信方法は、実施例1の形態に比べて高速に起動信号フレームを送信できるという利点がある。
尚、無線通信におけるQoSの確保方法については、中継装置1500が接続するネットワークの方式に従う。例えばIEEE802.11を使用した無線LANであれば、送信間隔やバックオフ時間を変更するなどによって実現できる。すなわち、優先度が高い通信ほど短い送信間隔やバックオフ時間で送信権を得るようにすれば良い。
また、実施例1のおけるタイマーをきっかけとする動作(図9A〜図9C)については、中継装置1500でも同じように具備している。
以上、本実例の中継装置1400によれば、受信したフレームを優先的に処理する場合に、NAVを用いて起動させることにより、高速にかつ確実に通信装置に対して起動信号を送信することが可能となる。また、優先度の低いフレームについて無通信区間を設定する場合に、優先度の高いフレームの通信を妨害しないような期間を設定するため、優先度の高いフレームの送信先の通信装置に対して、優先度の高いフレームを迅速に通信装置に送信することができる。その結果、システム全体としての優先制御ポリシーを守ることができる。