説明

ネットワーク中継装置

【課題】ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能なネットワーク中継装置を提供する。
【解決手段】ネットワーク中継装置は、内部記憶装置と、前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、単位時間に受信したデータ量を示す受信速度と、単位時間に送信したデータ量を示す送信速度とを繰返し測定し、測定した受信速度と送信速度とを使用して、受信速度の平均値と、送信速度の平均値とを算出する速度算出部と、受信速度の平均値が送信速度の平均値よりも大きい場合は受信データを外部記憶装置に格納し、受信速度の平均値が送信速度の平均値以下である場合は受信データを内部記憶装置に格納する蓄積制御部と、外部記憶装置および内部記憶装置に格納されたデータの中継処理を実行する中継処理部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク中継装置に関する。
【背景技術】
【0002】
ICT(Information and Communication Technology)技術の進展に伴い、現在では、インターネット上で動画などのデジタルコンテンツの共有が行われている。このようにコンテンツを共有するためのサービスにおいて、利用者は、インターネット上のサーバから情報を取得(以降、「ダウンロード」とも呼ぶ。)する情報の利用者である一方、サーバへ情報を発信(以降、「アップロード」とも呼ぶ。)する情報の発信者ともなる。
【0003】
しかし、従来では、家庭用に普及している非対称なインターネット用回線(例えば、ADSL、VDSL等)では、アップロード時の回線速度(上り速度)が、ダウンロード時の回線速度(下り速度)に比べて低く設定されている。このため、利用者が、インターネット上のコンテンツ共有サービスへアップロードを行う際、回線速度が処理のボトルネックとなり、アップロードに多くの時間を要する。アップロードを行っている間、利用者が使用する外部装置(例えば、PC)は、アップロード処理にリソースを消費するため、例えば、外部装置の体感速度が低下する等、外部装置の可用性が低下してしまうという問題があった。この点、従来では、アップロードを中継するネットワーク中継装置が、検出したアップロードトラフィックを代理サーバに切り替え、この代理サーバを用いてインターネット上へのアップロードを行う技術が知られている(例えば、引用文献1)。
【0004】
しかし、従来の技術では、利用者が使用する外部装置に代わってアップロードを行う代理サーバの導入が必要となるという問題があった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−233548号公報
【特許文献2】特開2008−067192号公報
【特許文献3】特開2004−165791号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能なネットワーク中継装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
【0008】
[適用例1]
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が単位時間に受信したデータ量を示す受信速度と、前記ネットワーク中継装置が単位時間に送信したデータ量を示す送信速度とを繰返し測定し、測定した前記受信速度と前記送信速度とを使用して、前記受信速度の平均値と、前記送信速度の平均値とを算出する速度算出部と、
前記受信速度の平均値が前記送信速度の平均値よりも大きい場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記受信速度の平均値が前記送信速度の平均値以下である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
この構成によれば、速度算出部が求めた受信速度の平均値が送信速度の平均値よりも大きい場合、蓄積制御部は、ネットワーク中継装置が受信したデータを外部記憶装置に格納し、速度算出部が求めた受信速度の平均値が送信速度の平均値以下である場合、蓄積制御部は、ネットワーク中継装置が受信したデータを内部記憶装置に格納する。また、中継処理部は、外部記憶装置および内部記憶装置に格納されたデータの中継処理を実行する。すなわち、ネットワーク中継装置の受信速度の平均値が送信速度の平均値よりも大きく、ネットワーク中継装置を経由した後の回線がボトルネックになる場合、蓄積制御部は、受信したデータを記憶容量の大きな外部記憶装置に格納するため、ネットワーク中継装置に接続される外部装置は、回線ボトルネックによる処理待ちを回避しつつ、ネットワーク中継装置へのデータの送信を継続することができる。この結果、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【0009】
[適用例2]
適用例1記載のネットワーク中継装置であって、
前記速度算出部は、
所定の時間内に測定した複数の前記受信速度から、前後時間の値に対する変化が基準割合を超える特定の前記受信速度を除外した上で前記受信速度の平均値を算出し、
所定の時間内に測定した複数の前記送信速度から、前後時間の値に対する変化が基準割合を超える特定の前記送信速度を除外した上で前記送信速度の平均値を算出する、ネットワーク中継装置。
この構成によれば、速度算出部は、所定の時間内に測定した複数の受信速度から、前後時間の値に対する変化が基準割合を超える特定の受信速度を除外した上で受信速度の平均値を算出し、所定の時間内に測定した複数の送信速度から、前後時間の値に対する変化が基準割合を超える特定の送信速度を除外した上で送信速度の平均値を算出するため、例えば外乱等に起因する通信速度のゆらぎの発生に左右されない受信速度の平均値および送信速度の平均値を算出することができる。
【0010】
[適用例3]
適用例1または2記載のネットワーク中継装置であって、
前記中継処理部は、
前記外部記憶装置に格納されたデータの中継処理を実行することに代えて、
前記外部記憶装置に格納された複数のデータについて、各データの内容の整合性を保つように結合した結合データを生成し、前記結合データの中継処理を実行する、ネットワーク中継装置。
この構成によれば、中継処理部は、外部記憶装置に格納された複数のデータについて、各データの内容の整合性を保つように結合した結合データを生成し、結合データの中継処理を実行するため、ネットワーク中継装置を経由した後の回線における通信トラフィックを低減することができる。
【0011】
[適用例4]
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が受信したデータの宛先アドレスに含まれるネットワークアドレスが、前記ネットワーク中継装置が属する所属ネットワークアドレスと同一か否かを判定するアドレス判定部と、
前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと異なる場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと同一である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
この構成によれば、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと異なる場合、蓄積制御部は、ネットワーク中継装置が受信したデータを外部記憶装置に格納し、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと同一である場合、蓄積制御部は、ネットワーク中継装置が受信したデータを内部記憶装置に格納する。また、中継処理部は、外部記憶装置および内部記憶装置に格納されたデータの中継処理を実行する。すなわち、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと異なるために、ネットワーク中継装置を経由した後の回線がボトルネックになるおそれがある場合、蓄積制御部は、受信したデータを記憶容量の大きな外部記憶装置に格納するため、ネットワーク中継装置に接続される外部装置は、回線ボトルネックによる処理待ちを回避しつつ、ネットワーク中継装置へのデータの送信を継続することができる。この結果、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【0012】
なお、本発明は、種々の態様で実現することが可能である。例えば、本発明は、ネットワーク中継装置、ネットワーク中継装置の制御方法、ネットワーク中継装置を用いたネットワークシステム、および、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記憶した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施例としての無線LANシステムの概略構成を示す説明図である。
【図2】ルータの制御部において実行される処理の手順を示すフローチャートである。
【図3】受信速度および送信速度の測定方法についての説明図である。
【図4】受信速度の平均値および送信速度の平均値の算出方法についての説明図である。
【図5】図4をグラフ化した概略説明図である。
【図6】通常中継処理(図2:ステップS20)の手順を示すシーケンス図である。
【図7】蓄積中継処理(図2:ステップS22)の手順を示すシーケンス図である。
【図8】第2実施例における無線LANシステムの概略構成を示す説明図である。
【図9】第2実施例における蓄積中継処理(図2:ステップS22)の手順を示すシーケンス図である。
【図10】第3実施例における無線LANシステムの概略構成を示す説明図である。
【図11】第3実施例におけるルータの制御部において実行される処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0014】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
【0015】
A.第1実施例:
A1.システムの概略構成:
図1は、本発明の一実施例としての無線LANシステムの概略構成を示す説明図である。無線LANシステム1000は、ルータ10と、パーソナルコンピュータ(以降、「PC」とも呼ぶ。)20と、サーバ30とを備えている。ルータ10は、IEEE802.11規格に準拠したネットワーク中継装置である。ルータ10は、有線によりインターネットINTを介して、サーバ30と接続されると共に、無線によりPC20と接続されている。PC20は、ルータ10と同一の無線LANネットワーク識別子(ESSID:Extended Service Set Identifier)の設定、および、無線暗号設定がなされている。なお、本実施例のルータ10には、1台のPC20が接続されているが、ルータ10には、2以上のPCが接続されていてもよい。サーバ30は、所定のサービス(例えば、WEBサービス等のサービス)をPC10に対して提供するためのサーバコンピュータである。
【0016】
ルータ10は、CPU100と、内部記憶装置としてのRAM200と、ROM300と、外部記憶装置としてのハードディスクドライブ(以降、「HDD」とも呼ぶ。)400と、WANインタフェース(I/F)500と、無線通信インタフェース(I/F)600とを備え、それぞれがバスにより相互に接続されている。
【0017】
CPU100は、HDD400に格納されているコンピュータプログラムをRAM200に展開して実行することにより、ルータ10の各部を制御する。また、CPU100は、制御部110を含んでいる。制御部110は、速度算出部120、蓄積制御部130、中継処理部140としても機能する。速度算出部120は、ルータ10が単位時間に受信したデータ量を示す受信速度と、ルータ10が単位時間に送信したデータ量を示す送信速度とを測定する機能を有する。また、速度算出部120は、測定した受信速度と送信速度を使用して、これらの平均値を算出する機能を有する。蓄積制御部130は、ルータ10が受信したデータを、RAM200またはHDD400に格納する機能を有する。中継処理部140は、蓄積制御部130によって格納されたデータの中継処理を実行する機能を有する。これら各部の機能の詳細については後述する。
【0018】
WANインタフェース500は、インターネットINT側の回線用のインタフェースである。無線通信インタフェース600は、PC20と無線通信を行うためのインタフェースである。
【0019】
A2.制御部における処理:
図2は、ルータ10の制御部110において実行される処理の手順を示すフローチャートである。ルータ10の制御部110は、予め定められた時間間隔(例えば、1秒毎)で繰り返し図2の処理を実行する。制御部110の速度算出部120は、ルータ10が単位時間に受信したデータ量を示す受信速度と、ルータ10が単位時間に送信したデータ量を示す送信速度とを測定する(ステップS10、S12)。
【0020】
図3は、受信速度および送信速度の測定方法についての説明図である。図3は、ルータ10が受信したパケットについての、パケット番号と、パケット先頭アドレスと、パケットサイズとの一例を示している。パケット番号は、制御部110がパケットを受信した順番に対して一意に付与される識別子である。パケット先頭アドレスは、受信パケットのヘッダの先頭部分に含まれるアドレスである。パケットサイズは、受信パケットのサイズ(byte)である。
【0021】
速度算出部120は、単位時間に受信した受信パケットのパケットサイズの総計を受信速度(Mbps)とする。例えば、t0を速度測定の起点時間、t1を起点時間t0から単位時間経過後の時間とした場合、速度算出部120は、時間t0と時間t1との間に受信したパケット番号2および3のパケットサイズの総計を求める。具体的には、速度算出部120は、パケット番号2のパケットのパケットサイズ(327680byte)と、パケット番号3のパケットのパケットサイズ(280020byte)とを加算し、単位を変換することによって得られた値48(Mbps)を受信速度とする。なお、上記では単位時間を100ミリ秒(0.1秒)としたが、単位時間は任意に定めることができる。また、受信速度の測定方法を例にして説明したが、送信速度の測定方法についても同様である。
【0022】
図2のステップS13において速度算出部120は、受信速度および送信速度の測定を始めた起点時間t0から、所定の時間が経過したか否かを判定する。所定の時間は、任意に定めることができ、例えば、1秒とすることができる。所定の時間が経過していない場合、速度算出部120は処理をステップS10へ遷移させ、受信速度と送信速度の測定を継続する。一方、所定の時間が経過した場合、速度算出部120は、受信速度の平均値と送信速度の平均値とを算出する(ステップS14、S16)。
【0023】
図4は、受信速度の平均値および送信速度の平均値の算出方法についての説明図である。図4は、所定の時間(すなわち、1秒間)の間に、速度算出部120が図2のステップS10を繰り返すことにより測定した複数の受信速度(Mbps)の例が示されている。測定回数は、受信速度の測定(図2:ステップS10)が実行された回数を示している。速度は、受信速度の測定結果として得られた受信速度(Mbps)である。
【0024】
速度算出部120は、所定の時間内に測定した複数の受信速度から、前後時間の値に対する変化が基準割合を超える特定の受信速度を除外した上での平均値を、平均速度(Mbps)とする。例えば、基準割合を20%とした場合の具体例について説明する。速度算出部120は、測定回数1〜10までの全ての受信速度について、それぞれ、前後時間の値、すなわち、測定回数が±1の受信速度に対する変化が20%を超えるデータ(「除外対象データ」とも呼ぶ。)があるか否かを判定する。図4の例では、4回目に測定された受信速度(8Mbps)は、3回目の受信速度52Mbpsと、5回目の受信速度50Mbpsとの両方に対する変化が20%を超えているため、除外対象データとなる。
【0025】
所定の時間内に測定した全ての受信速度について上述の判定を行った後、速度算出部120は、除外対象データを除く全ての受信速度の平均値を求める。具体的には、速度算出部120は、除外対象データである測定回数4回目の受信速度を除いた、測定回数1〜3および5〜10の受信速度を加算し、加算した値を加算したデータの数で除算することによって得られた値を、受信速度の平均値(Mbps)とする。なお、上記では基準割合を20%であるものとしたが、基準割合は任意に定めることができる。さらに、受信速度の平均値の算出方法を例にして説明したが、送信速度の平均値の算出方法についても同様である。
【0026】
図5は、図4をグラフ化した概略説明図である。速度算出部120は、上述のように、受信速度(または送信速度)の平均値を算出する際、前後時間の値に対する変化が基準割合を超えるデータ(除外対象データ)を除外する。このようにすれば、ルータ10において、例えば外乱等に起因する通信速度のゆらぎSVが発生した場合であっても、ゆらぎSVのあるデータは除外されるため、速度算出部120は、ゆらぎの発生に左右されない正確な平均値を得ることができる。なお、図4、図5では、速度が下降する側のゆらぎが発生した場合について説明したが、速度が上昇する側のゆらぎが発生した場合であっても同様である。
【0027】
図2のステップS18において制御部110は、ステップS14で求めた受信速度の平均値と、ステップS16で求めた送信速度の平均値とを比較する。受信速度の平均値が送信速度の平均値以下である場合(ステップS18:YES)、制御部110は、通常中継処理(ステップS20)を実行する。一方、受信速度の平均値が送信速度の平均値よりも大きい場合(ステップS18:NO)、制御部110は、蓄積中継処理(ステップS22)を実行する。これら処理の詳細は後述する。
【0028】
A3.通常中継処理:
図6は、通常中継処理(図2:ステップS20)の手順を示すシーケンス図である。PC20は、ルータ10に対してデータのアップロードを開始する(ステップS110)。ルータ10は、PC20から送信されるアップロードデータ(パケット)を、無線通信インタフェース600を介して受信する。蓄積制御部130は、受信したパケットを、ヘッダ部分、ペイロード部分を含んだそのままの形でRAM200に格納する(ステップS112)。中継処理部140は、RAM200に格納されたパケットを読み出す(ステップS114)。中継処理部140は、読み出したパケットの中継処理(ルーティング、フィルタリング、キューイング等)を行う(ステップS116)。
【0029】
中継処理部140によって中継されたパケットを受信したサーバ30は、ルータ10に対して応答パケットを送信する(ステップS118)。サーバ30からの応答パケットを、WANインタフェース500を介して受信した中継処理部140は、PC20に対して応答パケットを送信する(ステップS120)。中継処理部140からの応答パケットを受信したPC20は、更なるアップロードデータ(パケット)をルータ10へ送信する(ステップS1101)。ルータ10は、受信したパケットを上述と同様の手順で中継する(ステップS1121〜S1161)。
【0030】
上述のように、無線LANシステム1000の通常中継処理では、ステップS110〜S120で説明したものと同様の処理(図ではステップS1101〜S1161で示す。)が繰り返されることで、PC20からサーバ30へのデータのアップロードが行われる。従って、通常中継処理におけるPC20のアップロード処理待ち時間NTは、データのアップロード開始(ステップS110)から、最後の送信パケットに対する応答パケットの受信(ステップS120n)までの時間となる。
【0031】
A4.蓄積中継処理:
図7は、蓄積中継処理(図2:ステップS22)の手順を示すシーケンス図である。PC20は、ルータ10に対してデータのアップロードを開始する(ステップS130)。ルータ10は、PC20から送信されるアップロードデータ(パケット)を、無線通信インタフェース600を介して受信する。蓄積制御部130は、受信したパケットを、ヘッダ部分、ペイロード部分を含んだそのままの形でHDD400に格納する(ステップS132)。
【0032】
蓄積中継処理では、ステップS130、S132と同様の処理(図ではステップS1301、S1321で示す。)が繰り返し実行される。すなわち、蓄積制御部130は、PC20からパケットを受信する度に、受信パケットをHDD400へ格納する。この処理は、PC20によるアップロードデータの送信終了まで継続して実行される。PC20からの全てのパケットをHDD400に格納した後、蓄積制御部130は、アップロードが終了した旨の応答をPC20へ送信する(ステップS142、S144)。従って、蓄積中継処理におけるPC20のアップロード処理待ち時間STは、データのアップロード開始(ステップS130)から、アップロードが終了した旨の応答を受信(ステップS144)するまでの時間となる。
【0033】
中継処理部140は、HDD400に格納されたパケットを1つ読み出し(ステップS134)、読み出したパケットの中継処理を行う(ステップS136)。中継処理部140によって中継されたパケットを受信したサーバ30は、ルータ10に対して応答パケットを送信する。サーバ30からの応答パケットを受信したルータ10の中継処理部140は、PC20に対して応答パケットを送信する。なお、図示の便宜上、この応答パケットの送信処理については図示を省略している。中継処理部140は、HDD400に格納されたパケットがなくなるまで、HDD400に格納されたパケットの読み出しと、中継処理とを繰り返す(ステップS1341、S1361)。
【0034】
以上のように、第1実施例のネットワーク中継装置(ルータ10)によれば、速度算出部120が求めた受信速度の平均値が送信速度の平均値よりも大きい場合(図2:ステップS18:NO)、蓄積制御部130は受信データを外部記憶装置としてのHDD400に格納し、中継処理部140はHDD400に格納されたデータの中継処理を実行する蓄積中継処理(図7)を行う。また、速度算出部120が求めた受信速度の平均値が送信速度の平均値以下である場合(図2:ステップS18:NO)、蓄積制御部130は受信データを内部記憶装置としてのRAM200に格納し、中継処理部140はRAM200に格納されたデータの中継処理を実行する通常中継処理(図6)を行う。
【0035】
蓄積中継処理(図7)では、中継処理部140による受信データの中継処理と並行して、外部装置(PC20)からの全ての受信データを、RAM200よりも処理速度は劣るが記憶容量の大きなHDD400に格納する処理が実行される。また、HDD400に格納されたデータは、順次、中継処理部140により中継される。このため、ルータ10の受信速度の平均値が送信速度の平均値よりも大きく、ルータ10を経由した後の回線がボトルネックとなるおそれがある場合であっても、ルータ10に接続されるPC20は、ルータ10を経由した後の回線速度には依拠せず(換言すれば、回線ボトルネックによる処理待ちを回避しつつ)、ルータ10に対するデータの送信を継続、完了することができる。
【0036】
この結果、ルータ10に接続されるPC20におけるデータ通信時間を短縮することができる。データ通信時間の短縮は、PC20の通信処理に対するリソース消費時間の短縮を意味する。従って、上記の第1実施例によれば、PC20におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【0037】
B.第2実施例:
本発明の第2実施例では、第1実施例で説明したネットワーク中継装置において、蓄積中継処理の処理内容が異なる構成について説明する。以下では、第1実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第1実施例と同様の構成部分については先に説明した第1実施例と同様の符号を付し、その詳細な説明を省略する。
【0038】
図8は、第2実施例における無線LANシステムの概略構成を示す説明図である。図1に示した第1実施例との違いは、ルータ10aが、ルータ10の中継処理部140に代えて、中継処理部140aを備える点のみであり、他の構成や動作は第1実施例と同じである。中継処理部140aは、蓄積制御部130によって格納されたデータの中継処理を実行する機能を有する。中継処理部140aが実行する中継処理のうち、通常中継処理については図6に示した第1実施例と同様である。
【0039】
図9は、第2実施例における蓄積中継処理(図2:ステップS22)の手順を示すシーケンス図である。PC20は、ルータ10に対してデータのアップロードを開始する(ステップS150)。アップロードデータとしてPC20からルータ10へ送信されるパケットは、図示のように、ヘッダ部分と、ペイロード部分を含んでいる(第1実施例では図示を省略した。)。ペイロード部分には、転送すべきデータ本体と、誤り検出用のFCS(Frame Check Sequence)とが含まれている。PC20から送信されるパケットを受信した蓄積制御部130は、受信したパケットをヘッダ部分、ペイロード部分を含んだそのままの形でHDD400に格納する(ステップS152)。
【0040】
第2実施例における蓄積中継処理では、ステップS150、S152で説明したものと同様の処理(ステップS1501、S1521、S1502、S1522)が繰り返し実行される。すなわち、蓄積制御部130は、PC20からパケットを受信する度に、受信パケットをHDD400へ格納する。この処理は、PC20によるアップロードデータの送信終了まで継続して実行される。PC20からの全てのパケットをHDD400に格納した後、蓄積制御部130は、アップロードが終了した旨の応答をPC20へ送信する(ステップS162、S164)。
【0041】
中継処理部140aは、HDD400に複数のパケットが格納されたことを検出すると、所定数のパケット(例えば3つ)をHDD400から読み出す(ステップS154)。なお、中継処理部140aが読み出すパケットの数は任意に設定することができる。中継処理部140aは、読み出した複数のパケットについて、各データの内容の整合性を保つように結合した結合パケット(「結合データ」とも呼ぶ。)を生成する(ステップS156)。例えば、中継処理部140aは、(i)任意のパケットのヘッダ部分と、(ii)全てのパケットのデータ本体を、ヘッダ部分に含まれるシーケンス番号をもとに、データ本体の連続性が保持されるように組み合わせたデータと、(iii)組み合わせたデータの内容から新たに生成したFCSと、から結合パケットを生成することができる。
【0042】
例えば、パケットNo1のパケットのシーケンス番号が1、パケットNo2のパケットのシーケンス番号が2、パケットNo3のパケットのシーケンス番号が3である場合、中継処理部140aは、パケットNo1のパケットのヘッダ部分、シーケンス番号が1であるパケットNo1のデータ(1)、シーケンス番号が2であるパケットNo2のデータ(2)、シーケンス番号が3であるパケットNo3のデータ(3)、データ(1)+(2)+(3)から新たに生成したFCS、の順に構成されるパケットを生成する。
【0043】
その後、中継処理部140aは、生成した結合パケットの中継処理を行う(ステップS158)。中継処理部140aによって中継されたパケットを受信したサーバ30は、ルータ10に対して応答パケットを送信する(ステップS168)。サーバ30からの応答パケットを受信したルータ10の中継処理部140aは、PC20に対して応答パケットを送信する(ステップS170)。なお、ステップS170において中継処理部140aが送信する応答パケットは、結合された複数のパケットのそれぞれについて、個別に送信することが好ましい。そうすれば、PC20は、ルータ10aでパケットの結合が行われたか否かを意識することなく処理を行うことができる。中継処理部140aは、HDD400に格納されたパケットがなくなるまで、HDD400に格納されたパケットの読み出し(ステップS154)と、結合パケットの生成(ステップS156)と、中継処理(ステップS158)とを繰り返す。
【0044】
以上のように、第2実施例のネットワーク中継装置(ルータ10a)によれば、中継処理部140aは、外部記憶装置としてのHDD400に格納された複数のデータ(パケット)について、各データの整合性を保つように結合した結合データ(結合パケット)を生成し、結合データの中継処理を実行するため、ネットワーク中継装置を経由した後の回線における通信トラフィックを低減することができる。
【0045】
C.第3実施例:
本発明の第3実施例では、第1実施例で説明したネットワーク中継装置において、制御部における処理内容が異なる構成について説明する。以下では、第1実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第1実施例と同様の構成部分については先に説明した第1実施例と同様の符号を付し、その詳細な説明を省略する。
【0046】
図10は、第3実施例における無線LANシステムの概略構成を示す説明図である。図1に示した第1実施例との違いは、ルータ10bが、ルータ10の速度算出部120に代えて、アドレス判定部150を備える点のみであり、他の構成や動作は第1実施例と同じである。アドレス判定部150は、受信データの宛先アドレスに含まれるネットワークアドレスが、ルータ10bが属するネットワークアドレスと同一か否かを判定する機能を有する。
【0047】
図11は、第3実施例におけるルータ10bの制御部110において実行される処理の手順を示すフローチャートである。ルータ10bの制御部110は、予め定められた時間間隔(例えば、1秒毎)で繰り返し図11の処理を実行する。図2で示した第1実施例との違いは、ステップS10〜S18に代えて、ステップS30、S32を備える点のみであり、他の構成や動作は第1実施例と同じである。
【0048】
制御部110のアドレス判定部150は、ルータ10bが受信したデータ(パケット)のヘッダ部分に含まれる宛先IPアドレスを参照し、宛先IPアドレスに含まれるネットワークアドレスを参照する(ステップS30)。そして、アドレス判定部150は、宛先IPアドレスに含まれるネットワークアドレスと、ルータ10bが属するネットワークのネットワークアドレスが一致するか否かを判定する(ステップS32)。宛先IPアドレスに含まれるネットワークアドレスと、ルータ10bが属するネットワークのネットワークアドレスとが一致する場合(ステップS32:YES)、制御部110は、通常中継処理(ステップS20)を実行する。通常中継処理の詳細は、図6で説明した第1実施例と同様である。一方、宛先IPアドレスに含まれるネットワークアドレスと、ルータ10bが属するネットワークのネットワークアドレスとが一致しない場合(ステップS32:NO)、制御部110は、蓄積中継処理(ステップS22)を実行する。蓄積中継処理の詳細は、図7で説明した第1実施例と同様である。
【0049】
以上のように、第3実施例のネットワーク中継装置(ルータ10b)によれば、ルータ10bが受信したデータ(パケット)が、ルータ10bが属するネットワーク内へのパケットである場合は通常中継処理を行い、ルータ10bが受信したパケットが、ルータ10bが属するネットワーク外のパケットである場合は蓄積中継処理を行う。これは、一般に、ルータ10bが属するネットワーク内部への中継処理と、ルータ10bが属さない、外部ネットワークへの中継処理との速度を比較した場合、後者の方が回線ボトルネック等により時間が掛かるためである。このように、第3実施例によれば、受信速度の平均値と、送信速度の平均値とを算出することなく、第1実施例と同様の効果を得ることができる。
【0050】
D.変形例:
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。そのほか、以下のような変形が可能である。
【0051】
D1.変形例1:
上記実施例では、無線LANシステムの構成について説明した。しかし、上記実施例における無線LANシステムの構成はあくまで一例であり、任意の態様を採用することができる。例えば、無線LANシステムの構成要素の一部を省略したり、無線LANシステムに更なる構成要素を付加したり、無線LANシステムの構成要素の一部を変更したりする変形が可能である。
【0052】
例えば、上記実施例におけるルータは、無線通信インタフェースを備え、IEEE802.11規格に準拠し、IPアドレスによるパケットの中継を行う、いわゆる無線ルータであるものとした。しかし、IPアドレスによるパケットの中継に加えて、MACアドレスによるフレームの中継を行うことも可能な、いわゆるレイヤ3スイッチであるものとしてもよい。
【0053】
例えば、上記実施例におけるルータの蓄積中継処理では、受信データ(パケット)は、HDDに格納されるものとしたが、他の記憶媒体、例えば、フラッシュROMに格納されているものとしても良い。
【0054】
上記実施例におけるルータでは、CPUは制御部を備え、制御部は、速度算出部と、蓄積制御部と、中継処理部と、アドレス判定部とを含むものとして説明した。また、各処理部において実行される機能について説明した。しかし、これら各処理部の配置および各処理部が果たす機能の内容についてはあくまで例示であり、ルータの構成に応じて任意に変更することが可能である。
【0055】
例えば、上記実施例において記載した中継処理部の機能は、WANインタフェースや無線通信インタフェースを構成する物理チップによって実現される機能であるものとし、中継処理部以外の他の処理部の機能は、CPUによって実現される機能であるとしてもよい。
【0056】
D2.変形例2:
上記実施例(図2)では、ルータの制御部において実行される処理の一例について説明した。しかし、ルータの制御部において実行される処理に関しては、種々の変形が可能である。
【0057】
例えば、図2で説明した制御部において実行される処理は、予め定められた時間間隔(例えば、1秒毎)で繰り返し実行されるものとした。しかし、この処理実行のタイミングは任意に設定することができる。例えば、ルータの初期設定時に一度だけ実行されるものとしてもよいし、利用者による手動(コマンド入力、メニューからの実行選択等)で実行されるものとしてもよい。
【0058】
例えば、図4で説明した受信速度の平均値および送信速度の平均値の算出方法において、所定の時間内に測定した受信速度(送信速度)から、前後時間の値に対する変化が基準割合を超える特定の速度を除外した上での平均値を求めるものとしたが、この処理を省略してもよい。
【0059】
例えば、図6で説明した通常中継処理、および、図7で説明した蓄積中継処理のシーケンスについて、各シーケンスの実行順序を変更する、一部のシーケンスを省略する、複数のシーケンスをまとめる、等の変形が可能である。
【0060】
D3.変形例3:
上記第2実施例(図9)では、中継処理部における結合パケット生成処理の一例を示した。しかし、結合パケット生成処理に関しては、種々の変形が可能である。
【0061】
例えば、中継処理部は、HDDに複数のパケットが格納されたことを検出した際に、パケットを読み出し結合パケットを生成するものとした。しかし、他の条件、例えば、所定時間の到来等をトリガとして結合パケットの生成を行ってもよい。また、所定時間の到来をトリガとして結合パケットの生成を行う場合は、結合対象とするパケットの数は不定数(例えば、パケットの読み出しを行った際にHDDに格納されていた全てのパケット)とすることも可能である。
【符号の説明】
【0062】
10…ルータ
10a…ルータ
10b…ルータ
20…PC
30…サーバ
100…CPU
110…制御部
120…速度算出部
130…蓄積制御部
140…中継処理部
140a…中継処理部
150…アドレス判定部
200…RAM
300…ROM
400…HDD
500…WANインタフェース
600…無線通信インタフェース

【特許請求の範囲】
【請求項1】
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が単位時間に受信したデータ量を示す受信速度と、前記ネットワーク中継装置が単位時間に送信したデータ量を示す送信速度とを繰返し測定し、測定した前記受信速度と前記送信速度とを使用して、前記受信速度の平均値と、前記送信速度の平均値とを算出する速度算出部と、
前記受信速度の平均値が前記送信速度の平均値よりも大きい場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記受信速度の平均値が前記送信速度の平均値以下である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
【請求項2】
請求項1記載のネットワーク中継装置であって、
前記速度算出部は、
所定の時間内に測定した複数の前記受信速度から、前後時間の値に対する変化が基準割合を超える特定の前記受信速度を除外した上で前記受信速度の平均値を算出し、
所定の時間内に測定した複数の前記送信速度から、前後時間の値に対する変化が基準割合を超える特定の前記送信速度を除外した上で前記送信速度の平均値を算出する、ネットワーク中継装置。
【請求項3】
請求項1または2記載のネットワーク中継装置であって、
前記中継処理部は、
前記外部記憶装置に格納されたデータの中継処理を実行することに代えて、
前記外部記憶装置に格納された複数のデータについて、各データの内容の整合性を保つように結合した結合データを生成し、前記結合データの中継処理を実行する、ネットワーク中継装置。
【請求項4】
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が受信したデータの宛先アドレスに含まれるネットワークアドレスが、前記ネットワーク中継装置が属する所属ネットワークアドレスと同一か否かを判定するアドレス判定部と、
前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと異なる場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと同一である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
【請求項5】
内部記憶装置と、前記内部記憶装置よりも記憶容量の大きな外部記憶装置とを備えるネットワーク中継装置の制御方法であって、
(a)前記ネットワーク中継装置が単位時間に受信したデータ量を示す受信速度と、前記ネットワーク中継装置が単位時間に送信したデータ量を示す送信速度とを繰り返し測定し、測定した前記受信速度と前記送信速度とを使用して、前記受信速度の平均値と、前記送信速度の平均値とを算出する工程と、
(b)前記受信速度の平均値が前記送信速度の平均値よりも大きい場合は、前記ネットワーク中継装置が受信したデータを前記外部装置に格納し、前記受信速度の平均値が前記送信速度の平均値以下である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する工程と、
(c)前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する工程と、
を含む、ネットワーク中継装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−100088(P2012−100088A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−246219(P2010−246219)
【出願日】平成22年11月2日(2010.11.2)
【出願人】(390040187)株式会社バッファロー (378)
【Fターム(参考)】