(57)【特許請求の範囲】
【請求項１】
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が受信したデータの宛先アドレスに含まれるネットワークアドレスが、前記ネットワーク中継装置が属する所属ネットワークアドレスと同一か否かを判定するアドレス判定部と、
前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと異なる場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと同一である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置に関する。
【背景技術】
【０００２】
ＩＣＴ（Information and Communication Technology）技術の進展に伴い、現在では、インターネット上で動画などのデジタルコンテンツの共有が行われている。このようにコンテンツを共有するためのサービスにおいて、利用者は、インターネット上のサーバから情報を取得（以降、「ダウンロード」とも呼ぶ。）する情報の利用者である一方、サーバへ情報を発信（以降、「アップロード」とも呼ぶ。）する情報の発信者ともなる。
【０００３】
しかし、従来では、家庭用に普及している非対称なインターネット用回線（例えば、ＡＤＳＬ、ＶＤＳＬ等）では、アップロード時の回線速度（上り速度）が、ダウンロード時の回線速度（下り速度）に比べて低く設定されている。このため、利用者が、インターネット上のコンテンツ共有サービスへアップロードを行う際、回線速度が処理のボトルネックとなり、アップロードに多くの時間を要する。アップロードを行っている間、利用者が使用する外部装置（例えば、ＰＣ）は、アップロード処理にリソースを消費するため、例えば、外部装置の体感速度が低下する等、外部装置の可用性が低下してしまうという問題があった。この点、従来では、アップロードを中継するネットワーク中継装置が、検出したアップロードトラフィックを代理サーバに切り替え、この代理サーバを用いてインターネット上へのアップロードを行う技術が知られている（例えば、引用文献１）。
【０００４】
しかし、従来の技術では、利用者が使用する外部装置に代わってアップロードを行う代理サーバの導入が必要となるという問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２３３５４８号公報
【特許文献２】特開２００８−０６７１９２号公報
【特許文献３】特開２００４−１６５７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能なネットワーク中継装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、例えば、以下の形態として実現可能である。ネットワーク中継装置であって、内部記憶装置と、前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、前記ネットワーク中継装置が受信したデータの宛先アドレスに含まれるネットワークアドレスが、前記ネットワーク中継装置が属する所属ネットワークアドレスと同一か否かを判定するアドレス判定部と、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと異なる場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと同一である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部とを備える。そのほか、以下の形態又は適用例として実現することが可能である。
【０００８】
［適用例１］
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が単位時間に受信したデータ量を示す受信速度と、前記ネットワーク中継装置が単位時間に送信したデータ量を示す送信速度とを繰返し測定し、測定した前記受信速度と前記送信速度とを使用して、前記受信速度の平均値と、前記送信速度の平均値とを算出する速度算出部と、
前記受信速度の平均値が前記送信速度の平均値よりも大きい場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記受信速度の平均値が前記送信速度の平均値以下である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
この構成によれば、速度算出部が求めた受信速度の平均値が送信速度の平均値よりも大きい場合、蓄積制御部は、ネットワーク中継装置が受信したデータを外部記憶装置に格納し、速度算出部が求めた受信速度の平均値が送信速度の平均値以下である場合、蓄積制御部は、ネットワーク中継装置が受信したデータを内部記憶装置に格納する。また、中継処理部は、外部記憶装置および内部記憶装置に格納されたデータの中継処理を実行する。すなわち、ネットワーク中継装置の受信速度の平均値が送信速度の平均値よりも大きく、ネットワーク中継装置を経由した後の回線がボトルネックになる場合、蓄積制御部は、受信したデータを記憶容量の大きな外部記憶装置に格納するため、ネットワーク中継装置に接続される外部装置は、回線ボトルネックによる処理待ちを回避しつつ、ネットワーク中継装置へのデータの送信を継続することができる。この結果、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【０００９】
［適用例２］
適用例１記載のネットワーク中継装置であって、
前記速度算出部は、
所定の時間内に測定した複数の前記受信速度から、前後時間の値に対する変化が基準割合を超える特定の前記受信速度を除外した上で前記受信速度の平均値を算出し、
所定の時間内に測定した複数の前記送信速度から、前後時間の値に対する変化が基準割合を超える特定の前記送信速度を除外した上で前記送信速度の平均値を算出する、ネットワーク中継装置。
この構成によれば、速度算出部は、所定の時間内に測定した複数の受信速度から、前後時間の値に対する変化が基準割合を超える特定の受信速度を除外した上で受信速度の平均値を算出し、所定の時間内に測定した複数の送信速度から、前後時間の値に対する変化が基準割合を超える特定の送信速度を除外した上で送信速度の平均値を算出するため、例えば外乱等に起因する通信速度のゆらぎの発生に左右されない受信速度の平均値および送信速度の平均値を算出することができる。
【００１０】
［適用例３］
適用例１または２記載のネットワーク中継装置であって、
前記中継処理部は、
前記外部記憶装置に格納されたデータの中継処理を実行することに代えて、
前記外部記憶装置に格納された複数のデータについて、各データの内容の整合性を保つように結合した結合データを生成し、前記結合データの中継処理を実行する、ネットワーク中継装置。
この構成によれば、中継処理部は、外部記憶装置に格納された複数のデータについて、各データの内容の整合性を保つように結合した結合データを生成し、結合データの中継処理を実行するため、ネットワーク中継装置を経由した後の回線における通信トラフィックを低減することができる。
【００１１】
［適用例４］
ネットワーク中継装置であって、
内部記憶装置と、
前記内部記憶装置よりも記憶容量の大きな外部記憶装置と、
前記ネットワーク中継装置が受信したデータの宛先アドレスに含まれるネットワークアドレスが、前記ネットワーク中継装置が属する所属ネットワークアドレスと同一か否かを判定するアドレス判定部と、
前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと異なる場合は、前記ネットワーク中継装置が受信したデータを前記外部記憶装置に格納し、前記宛先アドレスに含まれるネットワークアドレスが前記所属ネットワークアドレスと同一である場合は、前記ネットワーク中継装置が受信したデータを前記内部記憶装置に格納する蓄積制御部と、
前記外部記憶装置および前記内部記憶装置に格納されたデータの中継処理を実行する中継処理部と、
を備える、ネットワーク中継装置。
この構成によれば、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと異なる場合、蓄積制御部は、ネットワーク中継装置が受信したデータを外部記憶装置に格納し、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと同一である場合、蓄積制御部は、ネットワーク中継装置が受信したデータを内部記憶装置に格納する。また、中継処理部は、外部記憶装置および内部記憶装置に格納されたデータの中継処理を実行する。すなわち、宛先アドレスに含まれるネットワークアドレスが所属ネットワークアドレスと異なるために、ネットワーク中継装置を経由した後の回線がボトルネックになるおそれがある場合、蓄積制御部は、受信したデータを記憶容量の大きな外部記憶装置に格納するため、ネットワーク中継装置に接続される外部装置は、回線ボトルネックによる処理待ちを回避しつつ、ネットワーク中継装置へのデータの送信を継続することができる。この結果、ネットワーク中継装置に接続される外部装置におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【００１２】
なお、本発明は、種々の態様で実現することが可能である。例えば、本発明は、ネットワーク中継装置、ネットワーク中継装置の制御方法、ネットワーク中継装置を用いたネットワークシステム、および、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記憶した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施例としての無線ＬＡＮシステムの概略構成を示す説明図である。
【図２】ルータの制御部において実行される処理の手順を示すフローチャートである。
【図３】受信速度および送信速度の測定方法についての説明図である。
【図４】受信速度の平均値および送信速度の平均値の算出方法についての説明図である。
【図５】図４をグラフ化した概略説明図である。
【図６】通常中継処理（図２：ステップＳ２０）の手順を示すシーケンス図である。
【図７】蓄積中継処理（図２：ステップＳ２２）の手順を示すシーケンス図である。
【図８】第２実施例における無線ＬＡＮシステムの概略構成を示す説明図である。
【図９】第２実施例における蓄積中継処理（図２：ステップＳ２２）の手順を示すシーケンス図である。
【図１０】第３実施例における無線ＬＡＮシステムの概略構成を示す説明図である。
【図１１】第３実施例におけるルータの制御部において実行される処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
【００１５】
Ａ．第１実施例：
Ａ１．システムの概略構成：
図１は、本発明の一実施例としての無線ＬＡＮシステムの概略構成を示す説明図である。無線ＬＡＮシステム１０００は、ルータ１０と、パーソナルコンピュータ（以降、「ＰＣ」とも呼ぶ。）２０と、サーバ３０とを備えている。ルータ１０は、ＩＥＥＥ８０２．１１規格に準拠したネットワーク中継装置である。ルータ１０は、有線によりインターネットＩＮＴを介して、サーバ３０と接続されると共に、無線によりＰＣ２０と接続されている。ＰＣ２０は、ルータ１０と同一の無線ＬＡＮネットワーク識別子（ＥＳＳＩＤ：Extended Service Set Identifier）の設定、および、無線暗号設定がなされている。なお、本実施例のルータ１０には、１台のＰＣ２０が接続されているが、ルータ１０には、２以上のＰＣが接続されていてもよい。サーバ３０は、所定のサービス（例えば、ＷＥＢサービス等のサービス）をＰＣ１０に対して提供するためのサーバコンピュータである。
【００１６】
ルータ１０は、ＣＰＵ１００と、内部記憶装置としてのＲＡＭ２００と、ＲＯＭ３００と、外部記憶装置としてのハードディスクドライブ（以降、「ＨＤＤ」とも呼ぶ。）４００と、ＷＡＮインタフェース（Ｉ／Ｆ）５００と、無線通信インタフェース（Ｉ／Ｆ）６００とを備え、それぞれがバスにより相互に接続されている。
【００１７】
ＣＰＵ１００は、ＨＤＤ４００に格納されているコンピュータプログラムをＲＡＭ２００に展開して実行することにより、ルータ１０の各部を制御する。また、ＣＰＵ１００は、制御部１１０を含んでいる。制御部１１０は、速度算出部１２０、蓄積制御部１３０、中継処理部１４０としても機能する。速度算出部１２０は、ルータ１０が単位時間に受信したデータ量を示す受信速度と、ルータ１０が単位時間に送信したデータ量を示す送信速度とを測定する機能を有する。また、速度算出部１２０は、測定した受信速度と送信速度を使用して、これらの平均値を算出する機能を有する。蓄積制御部１３０は、ルータ１０が受信したデータを、ＲＡＭ２００またはＨＤＤ４００に格納する機能を有する。中継処理部１４０は、蓄積制御部１３０によって格納されたデータの中継処理を実行する機能を有する。これら各部の機能の詳細については後述する。
【００１８】
ＷＡＮインタフェース５００は、インターネットＩＮＴ側の回線用のインタフェースである。無線通信インタフェース６００は、ＰＣ２０と無線通信を行うためのインタフェースである。
【００１９】
Ａ２．制御部における処理：
図２は、ルータ１０の制御部１１０において実行される処理の手順を示すフローチャートである。ルータ１０の制御部１１０は、予め定められた時間間隔（例えば、１秒毎）で繰り返し図２の処理を実行する。制御部１１０の速度算出部１２０は、ルータ１０が単位時間に受信したデータ量を示す受信速度と、ルータ１０が単位時間に送信したデータ量を示す送信速度とを測定する（ステップＳ１０、Ｓ１２）。
【００２０】
図３は、受信速度および送信速度の測定方法についての説明図である。図３は、ルータ１０が受信したパケットについての、パケット番号と、パケット先頭アドレスと、パケットサイズとの一例を示している。パケット番号は、制御部１１０がパケットを受信した順番に対して一意に付与される識別子である。パケット先頭アドレスは、受信パケットのヘッダの先頭部分に含まれるアドレスである。パケットサイズは、受信パケットのサイズ（ｂｙｔｅ）である。
【００２１】
速度算出部１２０は、単位時間に受信した受信パケットのパケットサイズの総計を受信速度（Ｍｂｐｓ）とする。例えば、ｔ０を速度測定の起点時間、ｔ１を起点時間ｔ０から単位時間経過後の時間とした場合、速度算出部１２０は、時間ｔ０と時間ｔ１との間に受信したパケット番号２および３のパケットサイズの総計を求める。具体的には、速度算出部１２０は、パケット番号２のパケットのパケットサイズ（３２７６８０ｂｙｔｅ）と、パケット番号３のパケットのパケットサイズ（２８００２０ｂｙｔｅ）とを加算し、単位を変換することによって得られた値４８（Ｍｂｐｓ）を受信速度とする。なお、上記では単位時間を１００ミリ秒（０．１秒）としたが、単位時間は任意に定めることができる。また、受信速度の測定方法を例にして説明したが、送信速度の測定方法についても同様である。
【００２２】
図２のステップＳ１３において速度算出部１２０は、受信速度および送信速度の測定を始めた起点時間ｔ０から、所定の時間が経過したか否かを判定する。所定の時間は、任意に定めることができ、例えば、１秒とすることができる。所定の時間が経過していない場合、速度算出部１２０は処理をステップＳ１０へ遷移させ、受信速度と送信速度の測定を継続する。一方、所定の時間が経過した場合、速度算出部１２０は、受信速度の平均値と送信速度の平均値とを算出する（ステップＳ１４、Ｓ１６）。
【００２３】
図４は、受信速度の平均値および送信速度の平均値の算出方法についての説明図である。図４は、所定の時間（すなわち、１秒間）の間に、速度算出部１２０が図２のステップＳ１０を繰り返すことにより測定した複数の受信速度（Ｍｂｐｓ）の例が示されている。測定回数は、受信速度の測定（図２：ステップＳ１０）が実行された回数を示している。速度は、受信速度の測定結果として得られた受信速度（Ｍｂｐｓ）である。
【００２４】
速度算出部１２０は、所定の時間内に測定した複数の受信速度から、前後時間の値に対する変化が基準割合を超える特定の受信速度を除外した上での平均値を、平均速度（Ｍｂｐｓ）とする。例えば、基準割合を２０％とした場合の具体例について説明する。速度算出部１２０は、測定回数１〜１０までの全ての受信速度について、それぞれ、前後時間の値、すなわち、測定回数が±１の受信速度に対する変化が２０％を超えるデータ（「除外対象データ」とも呼ぶ。）があるか否かを判定する。図４の例では、４回目に測定された受信速度（８Ｍｂｐｓ）は、３回目の受信速度５２Ｍｂｐｓと、５回目の受信速度５０Ｍｂｐｓとの両方に対する変化が２０％を超えているため、除外対象データとなる。
【００２５】
所定の時間内に測定した全ての受信速度について上述の判定を行った後、速度算出部１２０は、除外対象データを除く全ての受信速度の平均値を求める。具体的には、速度算出部１２０は、除外対象データである測定回数４回目の受信速度を除いた、測定回数１〜３および５〜１０の受信速度を加算し、加算した値を加算したデータの数で除算することによって得られた値を、受信速度の平均値（Ｍｂｐｓ）とする。なお、上記では基準割合を２０％であるものとしたが、基準割合は任意に定めることができる。さらに、受信速度の平均値の算出方法を例にして説明したが、送信速度の平均値の算出方法についても同様である。
【００２６】
図５は、図４をグラフ化した概略説明図である。速度算出部１２０は、上述のように、受信速度（または送信速度）の平均値を算出する際、前後時間の値に対する変化が基準割合を超えるデータ（除外対象データ）を除外する。このようにすれば、ルータ１０において、例えば外乱等に起因する通信速度のゆらぎＳＶが発生した場合であっても、ゆらぎＳＶのあるデータは除外されるため、速度算出部１２０は、ゆらぎの発生に左右されない正確な平均値を得ることができる。なお、図４、図５では、速度が下降する側のゆらぎが発生した場合について説明したが、速度が上昇する側のゆらぎが発生した場合であっても同様である。
【００２７】
図２のステップＳ１８において制御部１１０は、ステップＳ１４で求めた受信速度の平均値と、ステップＳ１６で求めた送信速度の平均値とを比較する。受信速度の平均値が送信速度の平均値以下である場合（ステップＳ１８：ＹＥＳ）、制御部１１０は、通常中継処理（ステップＳ２０）を実行する。一方、受信速度の平均値が送信速度の平均値よりも大きい場合（ステップＳ１８：ＮＯ）、制御部１１０は、蓄積中継処理（ステップＳ２２）を実行する。これら処理の詳細は後述する。
【００２８】
Ａ３．通常中継処理：
図６は、通常中継処理（図２：ステップＳ２０）の手順を示すシーケンス図である。ＰＣ２０は、ルータ１０に対してデータのアップロードを開始する（ステップＳ１１０）。ルータ１０は、ＰＣ２０から送信されるアップロードデータ（パケット）を、無線通信インタフェース６００を介して受信する。蓄積制御部１３０は、受信したパケットを、ヘッダ部分、ペイロード部分を含んだそのままの形でＲＡＭ２００に格納する（ステップＳ１１２）。中継処理部１４０は、ＲＡＭ２００に格納されたパケットを読み出す（ステップＳ１１４）。中継処理部１４０は、読み出したパケットの中継処理（ルーティング、フィルタリング、キューイング等）を行う（ステップＳ１１６）。
【００２９】
中継処理部１４０によって中継されたパケットを受信したサーバ３０は、ルータ１０に対して応答パケットを送信する（ステップＳ１１８）。サーバ３０からの応答パケットを、ＷＡＮインタフェース５００を介して受信した中継処理部１４０は、ＰＣ２０に対して応答パケットを送信する（ステップＳ１２０）。中継処理部１４０からの応答パケットを受信したＰＣ２０は、更なるアップロードデータ（パケット）をルータ１０へ送信する（ステップＳ１１０１）。ルータ１０は、受信したパケットを上述と同様の手順で中継する（ステップＳ１１２１〜Ｓ１１６１）。
【００３０】
上述のように、無線ＬＡＮシステム１０００の通常中継処理では、ステップＳ１１０〜Ｓ１２０で説明したものと同様の処理（図ではステップＳ１１０１〜Ｓ１１６１で示す。）が繰り返されることで、ＰＣ２０からサーバ３０へのデータのアップロードが行われる。従って、通常中継処理におけるＰＣ２０のアップロード処理待ち時間ＮＴは、データのアップロード開始（ステップＳ１１０）から、最後の送信パケットに対する応答パケットの受信（ステップＳ１２０ｎ）までの時間となる。
【００３１】
Ａ４．蓄積中継処理：
図７は、蓄積中継処理（図２：ステップＳ２２）の手順を示すシーケンス図である。ＰＣ２０は、ルータ１０に対してデータのアップロードを開始する（ステップＳ１３０）。ルータ１０は、ＰＣ２０から送信されるアップロードデータ（パケット）を、無線通信インタフェース６００を介して受信する。蓄積制御部１３０は、受信したパケットを、ヘッダ部分、ペイロード部分を含んだそのままの形でＨＤＤ４００に格納する（ステップＳ１３２）。
【００３２】
蓄積中継処理では、ステップＳ１３０、Ｓ１３２と同様の処理（図ではステップＳ１３０１、Ｓ１３２１で示す。）が繰り返し実行される。すなわち、蓄積制御部１３０は、ＰＣ２０からパケットを受信する度に、受信パケットをＨＤＤ４００へ格納する。この処理は、ＰＣ２０によるアップロードデータの送信終了まで継続して実行される。ＰＣ２０からの全てのパケットをＨＤＤ４００に格納した後、蓄積制御部１３０は、アップロードが終了した旨の応答をＰＣ２０へ送信する（ステップＳ１４２、Ｓ１４４）。従って、蓄積中継処理におけるＰＣ２０のアップロード処理待ち時間ＳＴは、データのアップロード開始（ステップＳ１３０）から、アップロードが終了した旨の応答を受信（ステップＳ１４４）するまでの時間となる。
【００３３】
中継処理部１４０は、ＨＤＤ４００に格納されたパケットを１つ読み出し（ステップＳ１３４）、読み出したパケットの中継処理を行う（ステップＳ１３６）。中継処理部１４０によって中継されたパケットを受信したサーバ３０は、ルータ１０に対して応答パケットを送信する。サーバ３０からの応答パケットを受信したルータ１０の中継処理部１４０は、ＰＣ２０に対して応答パケットを送信する。なお、図示の便宜上、この応答パケットの送信処理については図示を省略している。中継処理部１４０は、ＨＤＤ４００に格納されたパケットがなくなるまで、ＨＤＤ４００に格納されたパケットの読み出しと、中継処理とを繰り返す（ステップＳ１３４１、Ｓ１３６１）。
【００３４】
以上のように、第１実施例のネットワーク中継装置（ルータ１０）によれば、速度算出部１２０が求めた受信速度の平均値が送信速度の平均値よりも大きい場合（図２：ステップＳ１８：ＮＯ）、蓄積制御部１３０は受信データを外部記憶装置としてのＨＤＤ４００に格納し、中継処理部１４０はＨＤＤ４００に格納されたデータの中継処理を実行する蓄積中継処理（図７）を行う。また、速度算出部１２０が求めた受信速度の平均値が送信速度の平均値以下である場合（図２：ステップＳ１８：ＮＯ）、蓄積制御部１３０は受信データを内部記憶装置としてのＲＡＭ２００に格納し、中継処理部１４０はＲＡＭ２００に格納されたデータの中継処理を実行する通常中継処理（図６）を行う。
【００３５】
蓄積中継処理（図７）では、中継処理部１４０による受信データの中継処理と並行して、外部装置（ＰＣ２０）からの全ての受信データを、ＲＡＭ２００よりも処理速度は劣るが記憶容量の大きなＨＤＤ４００に格納する処理が実行される。また、ＨＤＤ４００に格納されたデータは、順次、中継処理部１４０により中継される。このため、ルータ１０の受信速度の平均値が送信速度の平均値よりも大きく、ルータ１０を経由した後の回線がボトルネックとなるおそれがある場合であっても、ルータ１０に接続されるＰＣ２０は、ルータ１０を経由した後の回線速度には依拠せず（換言すれば、回線ボトルネックによる処理待ちを回避しつつ）、ルータ１０に対するデータの送信を継続、完了することができる。
【００３６】
この結果、ルータ１０に接続されるＰＣ２０におけるデータ通信時間を短縮することができる。データ通信時間の短縮は、ＰＣ２０の通信処理に対するリソース消費時間の短縮を意味する。従って、上記の第１実施例によれば、ＰＣ２０におけるデータ通信時の可用性の低下を、追加の装置を必要とせずに抑制することが可能となる。
【００３７】
Ｂ．第２実施例：
本発明の第２実施例では、第１実施例で説明したネットワーク中継装置において、蓄積中継処理の処理内容が異なる構成について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００３８】
図８は、第２実施例における無線ＬＡＮシステムの概略構成を示す説明図である。図１に示した第１実施例との違いは、ルータ１０ａが、ルータ１０の中継処理部１４０に代えて、中継処理部１４０ａを備える点のみであり、他の構成や動作は第１実施例と同じである。中継処理部１４０ａは、蓄積制御部１３０によって格納されたデータの中継処理を実行する機能を有する。中継処理部１４０ａが実行する中継処理のうち、通常中継処理については図６に示した第１実施例と同様である。
【００３９】
図９は、第２実施例における蓄積中継処理（図２：ステップＳ２２）の手順を示すシーケンス図である。ＰＣ２０は、ルータ１０に対してデータのアップロードを開始する（ステップＳ１５０）。アップロードデータとしてＰＣ２０からルータ１０へ送信されるパケットは、図示のように、ヘッダ部分と、ペイロード部分を含んでいる（第１実施例では図示を省略した。）。ペイロード部分には、転送すべきデータ本体と、誤り検出用のＦＣＳ（Frame Check Sequence）とが含まれている。ＰＣ２０から送信されるパケットを受信した蓄積制御部１３０は、受信したパケットをヘッダ部分、ペイロード部分を含んだそのままの形でＨＤＤ４００に格納する（ステップＳ１５２）。
【００４０】
第２実施例における蓄積中継処理では、ステップＳ１５０、Ｓ１５２で説明したものと同様の処理（ステップＳ１５０１、Ｓ１５２１、Ｓ１５０２、Ｓ１５２２）が繰り返し実行される。すなわち、蓄積制御部１３０は、ＰＣ２０からパケットを受信する度に、受信パケットをＨＤＤ４００へ格納する。この処理は、ＰＣ２０によるアップロードデータの送信終了まで継続して実行される。ＰＣ２０からの全てのパケットをＨＤＤ４００に格納した後、蓄積制御部１３０は、アップロードが終了した旨の応答をＰＣ２０へ送信する（ステップＳ１６２、Ｓ１６４）。
【００４１】
中継処理部１４０ａは、ＨＤＤ４００に複数のパケットが格納されたことを検出すると、所定数のパケット（例えば３つ）をＨＤＤ４００から読み出す（ステップＳ１５４）。なお、中継処理部１４０ａが読み出すパケットの数は任意に設定することができる。中継処理部１４０ａは、読み出した複数のパケットについて、各データの内容の整合性を保つように結合した結合パケット（「結合データ」とも呼ぶ。）を生成する（ステップＳ１５６）。例えば、中継処理部１４０ａは、（ｉ）任意のパケットのヘッダ部分と、（ｉｉ）全てのパケットのデータ本体を、ヘッダ部分に含まれるシーケンス番号をもとに、データ本体の連続性が保持されるように組み合わせたデータと、（ｉｉｉ）組み合わせたデータの内容から新たに生成したＦＣＳと、から結合パケットを生成することができる。
【００４２】
例えば、パケットＮｏ１のパケットのシーケンス番号が１、パケットＮｏ２のパケットのシーケンス番号が２、パケットＮｏ３のパケットのシーケンス番号が３である場合、中継処理部１４０ａは、パケットＮｏ１のパケットのヘッダ部分、シーケンス番号が１であるパケットＮｏ１のデータ（１）、シーケンス番号が２であるパケットＮｏ２のデータ（２）、シーケンス番号が３であるパケットＮｏ３のデータ（３）、データ（１）＋（２）＋（３）から新たに生成したＦＣＳ、の順に構成されるパケットを生成する。
【００４３】
その後、中継処理部１４０ａは、生成した結合パケットの中継処理を行う（ステップＳ１５８）。中継処理部１４０ａによって中継されたパケットを受信したサーバ３０は、ルータ１０に対して応答パケットを送信する（ステップＳ１６８）。サーバ３０からの応答パケットを受信したルータ１０の中継処理部１４０ａは、ＰＣ２０に対して応答パケットを送信する（ステップＳ１７０）。なお、ステップＳ１７０において中継処理部１４０ａが送信する応答パケットは、結合された複数のパケットのそれぞれについて、個別に送信することが好ましい。そうすれば、ＰＣ２０は、ルータ１０ａでパケットの結合が行われたか否かを意識することなく処理を行うことができる。中継処理部１４０ａは、ＨＤＤ４００に格納されたパケットがなくなるまで、ＨＤＤ４００に格納されたパケットの読み出し（ステップＳ１５４）と、結合パケットの生成（ステップＳ１５６）と、中継処理（ステップＳ１５８）とを繰り返す。
【００４４】
以上のように、第２実施例のネットワーク中継装置（ルータ１０ａ）によれば、中継処理部１４０ａは、外部記憶装置としてのＨＤＤ４００に格納された複数のデータ（パケット）について、各データの整合性を保つように結合した結合データ（結合パケット）を生成し、結合データの中継処理を実行するため、ネットワーク中継装置を経由した後の回線における通信トラフィックを低減することができる。
【００４５】
Ｃ．第３実施例：
本発明の第３実施例では、第１実施例で説明したネットワーク中継装置において、制御部における処理内容が異なる構成について説明する。以下では、第１実施例と異なる構成および動作を有する部分についてのみ説明する。なお、図中において第１実施例と同様の構成部分については先に説明した第１実施例と同様の符号を付し、その詳細な説明を省略する。
【００４６】
図１０は、第３実施例における無線ＬＡＮシステムの概略構成を示す説明図である。図１に示した第１実施例との違いは、ルータ１０ｂが、ルータ１０の速度算出部１２０に代えて、アドレス判定部１５０を備える点のみであり、他の構成や動作は第１実施例と同じである。アドレス判定部１５０は、受信データの宛先アドレスに含まれるネットワークアドレスが、ルータ１０ｂが属するネットワークアドレスと同一か否かを判定する機能を有する。
【００４７】
図１１は、第３実施例におけるルータ１０ｂの制御部１１０において実行される処理の手順を示すフローチャートである。ルータ１０ｂの制御部１１０は、予め定められた時間間隔（例えば、１秒毎）で繰り返し図１１の処理を実行する。図２で示した第１実施例との違いは、ステップＳ１０〜Ｓ１８に代えて、ステップＳ３０、Ｓ３２を備える点のみであり、他の構成や動作は第１実施例と同じである。
【００４８】
制御部１１０のアドレス判定部１５０は、ルータ１０ｂが受信したデータ（パケット）のヘッダ部分に含まれる宛先ＩＰアドレスを参照し、宛先ＩＰアドレスに含まれるネットワークアドレスを参照する（ステップＳ３０）。そして、アドレス判定部１５０は、宛先ＩＰアドレスに含まれるネットワークアドレスと、ルータ１０ｂが属するネットワークのネットワークアドレスが一致するか否かを判定する（ステップＳ３２）。宛先ＩＰアドレスに含まれるネットワークアドレスと、ルータ１０ｂが属するネットワークのネットワークアドレスとが一致する場合（ステップＳ３２：ＹＥＳ）、制御部１１０は、通常中継処理（ステップＳ２０）を実行する。通常中継処理の詳細は、図６で説明した第１実施例と同様である。一方、宛先ＩＰアドレスに含まれるネットワークアドレスと、ルータ１０ｂが属するネットワークのネットワークアドレスとが一致しない場合（ステップＳ３２：ＮＯ）、制御部１１０は、蓄積中継処理（ステップＳ２２）を実行する。蓄積中継処理の詳細は、図７で説明した第１実施例と同様である。
【００４９】
以上のように、第３実施例のネットワーク中継装置（ルータ１０ｂ）によれば、ルータ１０ｂが受信したデータ（パケット）が、ルータ１０ｂが属するネットワーク内へのパケットである場合は通常中継処理を行い、ルータ１０ｂが受信したパケットが、ルータ１０ｂが属するネットワーク外のパケットである場合は蓄積中継処理を行う。これは、一般に、ルータ１０ｂが属するネットワーク内部への中継処理と、ルータ１０ｂが属さない、外部ネットワークへの中継処理との速度を比較した場合、後者の方が回線ボトルネック等により時間が掛かるためである。このように、第３実施例によれば、受信速度の平均値と、送信速度の平均値とを算出することなく、第１実施例と同様の効果を得ることができる。
【００５０】
Ｄ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲で種々の構成を採ることができる。例えば、ソフトウェアによって実現した機能は、ハードウェアによって実現するものとしてもよい。そのほか、以下のような変形が可能である。
【００５１】
Ｄ１．変形例１：
上記実施例では、無線ＬＡＮシステムの構成について説明した。しかし、上記実施例における無線ＬＡＮシステムの構成はあくまで一例であり、任意の態様を採用することができる。例えば、無線ＬＡＮシステムの構成要素の一部を省略したり、無線ＬＡＮシステムに更なる構成要素を付加したり、無線ＬＡＮシステムの構成要素の一部を変更したりする変形が可能である。
【００５２】
例えば、上記実施例におけるルータは、無線通信インタフェースを備え、ＩＥＥＥ８０２．１１規格に準拠し、ＩＰアドレスによるパケットの中継を行う、いわゆる無線ルータであるものとした。しかし、ＩＰアドレスによるパケットの中継に加えて、ＭＡＣアドレスによるフレームの中継を行うことも可能な、いわゆるレイヤ３スイッチであるものとしてもよい。
【００５３】
例えば、上記実施例におけるルータの蓄積中継処理では、受信データ（パケット）は、ＨＤＤに格納されるものとしたが、他の記憶媒体、例えば、フラッシュＲＯＭに格納されているものとしても良い。
【００５４】
上記実施例におけるルータでは、ＣＰＵは制御部を備え、制御部は、速度算出部と、蓄積制御部と、中継処理部と、アドレス判定部とを含むものとして説明した。また、各処理部において実行される機能について説明した。しかし、これら各処理部の配置および各処理部が果たす機能の内容についてはあくまで例示であり、ルータの構成に応じて任意に変更することが可能である。
【００５５】
例えば、上記実施例において記載した中継処理部の機能は、ＷＡＮインタフェースや無線通信インタフェースを構成する物理チップによって実現される機能であるものとし、中継処理部以外の他の処理部の機能は、ＣＰＵによって実現される機能であるとしてもよい。
【００５６】
Ｄ２．変形例２：
上記実施例（図２）では、ルータの制御部において実行される処理の一例について説明した。しかし、ルータの制御部において実行される処理に関しては、種々の変形が可能である。
【００５７】
例えば、図２で説明した制御部において実行される処理は、予め定められた時間間隔（例えば、１秒毎）で繰り返し実行されるものとした。しかし、この処理実行のタイミングは任意に設定することができる。例えば、ルータの初期設定時に一度だけ実行されるものとしてもよいし、利用者による手動（コマンド入力、メニューからの実行選択等）で実行されるものとしてもよい。
【００５８】
例えば、図４で説明した受信速度の平均値および送信速度の平均値の算出方法において、所定の時間内に測定した受信速度（送信速度）から、前後時間の値に対する変化が基準割合を超える特定の速度を除外した上での平均値を求めるものとしたが、この処理を省略してもよい。
【００５９】
例えば、図６で説明した通常中継処理、および、図７で説明した蓄積中継処理のシーケンスについて、各シーケンスの実行順序を変更する、一部のシーケンスを省略する、複数のシーケンスをまとめる、等の変形が可能である。
【００６０】
Ｄ３．変形例３：
上記第２実施例（図９）では、中継処理部における結合パケット生成処理の一例を示した。しかし、結合パケット生成処理に関しては、種々の変形が可能である。
【００６１】
例えば、中継処理部は、ＨＤＤに複数のパケットが格納されたことを検出した際に、パケットを読み出し結合パケットを生成するものとした。しかし、他の条件、例えば、所定時間の到来等をトリガとして結合パケットの生成を行ってもよい。また、所定時間の到来をトリガとして結合パケットの生成を行う場合は、結合対象とするパケットの数は不定数（例えば、パケットの読み出しを行った際にＨＤＤに格納されていた全てのパケット）とすることも可能である。
【符号の説明】
【００６２】
１０…ルータ
１０ａ…ルータ
１０ｂ…ルータ
２０…ＰＣ
３０…サーバ
１００…ＣＰＵ
１１０…制御部
１２０…速度算出部
１３０…蓄積制御部
１４０…中継処理部
１４０ａ…中継処理部
１５０…アドレス判定部
２００…ＲＡＭ
３００…ＲＯＭ
４００…ＨＤＤ
５００…ＷＡＮインタフェース
６００…無線通信インタフェース
【図１】
0005135416.tif 000002
【図２】
0005135416.tif 000003
【図３】
0005135416.tif 000004
【図４】
0005135416.tif 000005
【図５】
0005135416.tif 000006
【図６】
0005135416.tif 000007
【図７】
0005135416.tif 000008
【図８】
0005135416.tif 000009
【図９】
0005135416.tif 000010
【図１０】
0005135416.tif 000011
【図１１】
0005135416.tif 000012