(57)【要約】【課題】複数のノードがネットワークの帯域を共有して通信を行なうネットワークにおいて、ノード間でのパケット送信の競合による送信の遅延による、パケット送信周期への影響を回避するリアルタイム通信保証方式を提供する。【解決手段】パケット送信処理において、ネットワークの通信を監視することで予測した時刻Ｐｍａｘ、Ｐｍｉｎに基づいて、パケットの送信が一定周期で送信が行なわれているパケットの送信発生までに完了することを判定する処理ステップ（１２０３、１２０５）を追加し、周期的に送信されるパケットとの送信の競合を回避する。【選択図】  図９
2005039312.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してデータを送信する方法であって、
前記ネットワークに接続される装置が、前記ネットワークで送信される他の装置のパケットを取得し、
前記取得されたパケットの周期性を計算し、
前記計算された周期性にしたがって、前記装置が前記他の装置が送信するパケットと競合しないようにデータを前記ネットワークに送信することを特徴とするデータ送信方法。
【請求項２】
前記他の装置は複数存在し、前記装置で、前記複数の他の装置のうち、所定の数の他の装置が送信するパケットの周期性を計算することを特徴とする請求項１記載のデータ送信方法。
【請求項３】
前記装置は、前記ネットワークと任意の通信端末とを接続する通信アダプタであることを特徴とする請求項１記載のデータ通信方法。
【請求項４】
前記装置は、前記ネットワークと第二のネットワークとを接続するゲートウエーであることを特徴とする請求項１記載のデータ通信方法。
【請求項５】
前記装置は、前記ネットワークと接続され、任意の通信端末と無線通信を行うアクセスポイントであることを特徴とする請求項１記載のデータ通信方法。
【請求項６】
前記装置は複数あり、第一の前記装置は、前記ネットワークと任意の通信端末とを接続する通信アダプタであり、第二の前記装置は、前記ネットワークと前記任意の通信端末とを無線を介して接続するアクセスポイントであることを特徴とする請求項１記載のデータ通信方法。
【請求項７】
観測の対象とする前記パケットを、前記パケット内の特定のフィールドがあらかじめ設定してある値と一致するパケットだけに限定することを特徴とする請求項１記載のデータ通信方法。
【請求項８】
前記装置は、前記他の装置と前記ネットワークを介して接続されるハブ装置であることを特徴とする請求項１記載のデータ通信方法。
【請求項９】
帯域を複数のノードで共有するネットワークにおいて１または複数の該ノードがパケットを一定の周期に基づいて送信する場合に、一定の周期に基づいた送信を行なわないノードはネットワークを監視することで一定の周期に基づいて送信を行なう該ノードごとのパケットの送信周期を検出し、一定の周期に基づいて送信を行なっている該ノードの次のパケット送信時刻を予測し、ネットワークへパケットを送信する際に予測した送信の発生時刻までに送信が完了できないパケット長である場合に、パケットの送信を予測した送信発生時刻後まで延期することを特徴とするリアルタイム通信保証方法。
【請求項１０】
ネットワークに接続される装置であって、
前記ネットワークに接続される接続部と、
周期検出処理部とを有し、
前記接続部は、前記ネットワークで送信される他の装置のパケットを取得し、
前記検出処理部は、前記取得されたパケットの周期性を計算し、
前記接続部は、前記計算された周期性にしたがって、前記他の装置が送信するパケットと競合しないようにデータを前記ネットワークに送信することを特徴とする装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信ネットワークに関し、特に一定周期でパケットを送信する通信の通信品質を保証する技術に関する。
【０００２】
【従来の技術】
家庭内で使用される通信ネットワーク（以下「ネットワーク」）には、ネットワークの構築や管理が容易で低コストなネットワークが求められる。そのようなネットワークの例としては電灯線や特定小電力無線を用いたＣＳＭＡ方式（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）のネットワーク、あるいはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で広く使われているＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ  ｗｉｔｈ  Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ）方式のネットワークがある。
【０００３】
ＣＳＭＡ方式に代表される簡易なネットワークでは、複数のノードがネットワークの帯域を共有して通信を行なうため、あるノードがネットワークを用いて通信している間は他のノードは通信を待たなければならない。したがって、あるノードがデータ長が長いパケットを送信すると他のノードの通信までの待ち時間が長くなる。音声通信のように一定間隔でパケットを送信することが要求される場合においては、他ノードの通信で生じる待ち時間による悪影響が問題となる。
【０００４】
この問題の解決方法として、ネットワーク利用率に応じてパケット長を短くする方式（例えば、特許文献１等参照）、あるいは送信データ量自体を減らす方式（例えば、特許文献２等参照）が提案されている。
【０００５】
【特許文献１】
特開平９−１１６５７２号公報
【特許文献２】
特開平３−２７０４３０号公報
【０００６】
【発明が解決しようとする課題】
上記従来技術では、パケット長を短くする、あるいはデータ量を減らすことにより複数のノードによる通信の競合する確率を低くしているが、ノード間の競合を確実に回避することはできない。    また、音声通信のように、通信されるデータ量は少ないが一定周期でパケットを送信することが要求される場合のような、ネットワーク利用率が低い状況で複数のノードによる通信の競合による待ち時間を解消することは、上記従来技術において考慮されていなかった。
【０００７】
本発明の目的は、ネットワークでの通信データ量が少ない場合でも、一定周期で送信するデータと他の通信とがネットワーク上で競合することを回避し、周期が乱れることを防ぐ手段を提供することにある。
【０００８】
本発明の他の目的は、一定周期でデータを送信するノードがある場合に、一定周期で通信するノードと他のノードが競合しないようなネットワーク装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために、本発明は、帯域を複数のノードで共有するネットワークにおいて、パケットが一定の時間間隔で送信されている場合に、ネットワークを監視することでノードごとのパケットの送信周期を検出し、ネットワークへパケットを送信する際に、次のパケット送信の発生時刻を予測し、送信しようとしているパケットが次のパケット送信発生の予測時刻までに送信完了できるパケット長を超える場合に、パケットの送信を次のパケット送信の予測時刻後まで延期する構成とする。
【００１０】
また、本発明の他の実施形態として、ネットワークハブ装置に一または複数の周期を登録した周期テーブルを設け、接続された各ノードの送信を監視して得られる送信の発生した時間間隔を周期テーブルに登録された周期と比較し、あるノードの送信間隔と周期とが一致した場合にそのノードが一定周期で送信を行なっていると判断し、周期から予測した次の送信発生時刻に、他のノードからの送信を抑止し、一定周期で送信を行なっていると判断したノードの送信との競合を回避する構成も考えられる。
【００１１】
更に、別の実施形態として、ネットワークの監視により一定周期の通信を検出し、ネットワーク端末からのパケットをネットワークに送信する場合に、一定周期の通信との競合を避けるアルゴリズムを通信アダプタに実装しても良い。
【００１２】
又、別の実施形態として、一定周期の通信を行なう端末と、一定周期の通信を検出し送信が競合することを防ぐ機能を持つ端末とでネットワークを構成する構成も考えられる。
【００１３】
【発明の実施の形態】
図１は、本発明を適用したネットワークシステムの第１の実施形態を示した図である。
本実施形態のネットワークシステムは、家庭内ネットワーク１０１に多種の機器が接続された構成を有している。家庭内ネットワーク１０１は、ＣＳＭＡ／ＣＤ方式が使用される通信ネットワークである。ここで、家庭内ネットワーク１０１に接続された全ての端末は、家庭内ネットワーク１０１の通信帯域を共有している。家庭内ネットワーク１０１に接続される機器とは、具体的には、ゲートウェー１０３、ノード管理端末１０４、データ通信端末１０５、複数のノード１０６、無線アクセスポイント１１１、複数のＶｏＩＰ電話１１２、及び玄関監視カメラ１１３等である。
【００１４】
ゲートウェー１０３は、家庭内ネットワーク１０１とインターネット１０２とを接続するパケット中継装置である。データ通信端末１０５は、インターネット１０２とデータ通信を行なう端末である。尚、本実施形態では、データ通信端末１０５は、インターネット１０２とゲートウエー１０３を介して長いデータ長のパケットの遣り取りを行うものと仮定する。
【００１５】
データ通信端末１０５は、通信アダプタ１１０を介して家庭内ネットワーク１０１と接続されている。通信アダプタ１１０は、データ通信端末１０５から受け取ったデータを家庭内ネットワーク１０１へ送信し、家庭内ネットワーク１０１から受信したデータをデータ通信端末１０５に送信する。尚、本実施形態ではデータ通信端末１０５と通信アダプタ１１０を別装置として説明しているが、同一筐体に含まれる一つの装置であっても構わない。
【００１６】
無線アクセスポイント１１１は、複数の無線ノード１０７と無線通信で接続される。無線アクセスポイント１１１は、無線ノード１０７と家庭内ネットワーク１０１との間でパケットを中継するブリッジの役割を果たす。
【００１７】
ＶｏＩＰ電話１１２は、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）による音声通信用の端末である。以下、ＶｏＩＰ電話１１２は、複数の音声通信を同時に行なうことはできず、音声通信の間は基本的に他の目的の通信を行なわないと仮定する。又、例外として、アドレス解決など制御目的の通信が発生することはあるが、その頻度は、音声通信におけるパケットの送信周期の連続する５周期の間に、最大でも１パケットと仮定する。尚、「パケット」とは、通信で送受信されるデータの単位を指し、格納されるデータ量によって可変な長さとなる。
【００１８】
又、音声通信で使用されるパケットの送信周期は、ネットワークの利用率やＶｏＩＰ電話１１２の処理負荷とは独立に定められた一定値とする。ＶｏＩＰ電話１１２は、自身が有する処理負荷の影響を受けないタイマ等により、上述した一定値である送信周期を管理する。尚、実際のパケットの送信時刻は、送信の競合やＶｏＩＰ電話１１２の処理負荷のために実際の周期より遅れることはあるが、実際の周期より早い時刻となることはない。更に、音声通信のトラフィック量は一般的に毎秒６４ｋビット以下であり、家庭内ネットワーク１０１の帯域に比べて充分低いものとする。
【００１９】
通信アダプタ１１０は、家庭内ネットワーク１０１上の通信を観測することで、各種端末の送信したパケットが送信された時刻を記録する。通信アダプタ１１０は、その記録から、音声通信のような周期的なパケットの送受信を検出する。
【００２０】
図１０は、通信アダプタ１１０の構成を示す図である。通信アダプタ１１０は、インターフェース３０１、受信処理部３０２、受信バッファ３０３、送信処理部３０４、送信バッファ３０５、バスインターフェース３０６、周期検出処理部３１２、タイマ３１３及びメモリ３１４を有する。尚、受信処理部３０２や送信処理部３０４等は、別々のハードウエアでも、一つのＬＳＩに集積化されていても良い。
【００２１】
通信アダプタ１１０は、インターフェース３０１を介して家庭内ネットワーク１０１に接続され、バスインターフェース３０６を介してデータ通信端末１０５と接続されている。インターフェース３０１は、家庭内ネットワーク１０１上で送受信されるパケットを全て受信し、受信処理部３０２及び周期検出処理部３１２にそのパケットを送る。
【００２２】
受信処理部３０２は、パケットに含まれる宛先アドレスがデータ通信端末１０５を示すアドレスである場合にのみパケットを受信バッファ３０３に格納する。周期検出処理部３１２は、ネットワーク上で送受信されるパケットの周期の検出を行なう。周期検出処理部３１２は、汎用のプロセッサでも専用の論理回路でもどちらでも実現される。汎用のプロセッサの場合には、周期検出のためのプログラムがプロセッサで実行される。
【００２３】
周期検出処理部３１２は、観測したネットワーク上のパケットについての情報を管理するために、トラフィックテーブルを用いる。トラフィックテーブルはメモリ３１４に格納されている。トラフィックテーブルは複数のエントリを有する。一つのエントリは、エントリ番号、送信元アドレス、宛先アドレス、サンプル数、サンプル時刻１、サンプル時刻２、サンプル時刻３、サンプル時刻４、差分値１、差分値２、差分値３、最大差分値、最小差分値、周期フラグ、無効カウントの各フィールドを有する。エントリは、パケットの送信元アドレスと宛先アドレスの組ごとに個別に作られる。
【００２４】
エントリ番号は、各エントリに固有な番号で、エントリの識別に用いられる。送信元アドレス及び宛先アドレスは、エントリが記録の対象としているパケットに含まれる送信元アドレスと宛先アドレスを表す。サンプル数は、そのエントリに記録されたサンプル時刻の数を表し、そのフィールドには１から４の値が登録される。
【００２５】
サンプル時刻１からサンプル時刻４に対応するフィールドには、該当するパケットがネットワーク上に送信された時刻が記録される。時刻のフィールドにはタイマ３１３から取得した値が登録される。１つのエントリには最新の時刻から最大４つの時刻がサンプル時刻として保持され、サンプル時刻１が最新のものでサンプル時刻４が最も古いものになるよう管理される。
【００２６】
差分値１から差分値３のフィールドには、サンプル時刻の差分が格納される。差分値ｎはサンプル時刻ｎからサンプル時刻ｎ＋１を引いた値である。最大差分値及び最小差分値のフィールドには、そのエントリに記録された差分値の最大値と最小値が格納され、新たな差分値が計算されるたびに必要に応じて格納された値が更新される。
【００２７】
周期フラグのフィールドには、該当するパケットが周期的に送信されていると判断した場合に１、そうでない場合に０が格納される。無効カウントのフィールドには、エントリのサンプル時刻として記録しなかったパケット観測の回数を示す情報が記録され、周期性の判定の際に用いられる。
【００２８】
図３は、通信アダプタ１１０がネットワーク上のパケットを観測し、周期的に送信されるトラフィックを検出する手順を示す図である。
【００２９】
インターフェース３０１は、家庭内ネットワーク１０１上のパケットを取得して周期検出処理部３１２へ送る。周期検出処理部３１２は、トラフィックテーブルを検索して、そのパケットに含まれる宛先アドレス及び送信元アドレスと一致するエントリの有無を確認する（処理７０１）。
【００３０】
該当するエントリが無い場合、周期検出処理部３１２は、トラフィックテーブルに新規にエントリを作成し、処理を終了する。新規に作成されるエントリの各フィールドには、エントリ番号には他のエントリと重複しない番号が、送信元アドレス及び宛先アドレスには、インターフェース３０１から受信したパケットに含まれる送信元アドレス及び宛先アドレスが、周期フラグ、無効カウントにはそれぞれ０が設定され、サンプル数が１、現在時刻がサンプル時刻１として登録される（処理７０２）。
【００３１】
処理７０１で該当するエントリが存在する場合、周期検出処理部３１２は、現在の時刻（具体的には、パケットがインターフェース３０１でサンプリングされた時点の時刻）からエントリのサンプル時刻１のフィールドに登録された値を引いた値Ｔｄを求める（処理７０３）。そして、周期検出処理部３１２は、家庭内ネットワーク１０１が許す最大長のパケットを送信するために必要な時間ＴｍｔｕとＴｄとの大小を比較する（処理７０４）。
【００３２】
ＴｄがＴｍｔｕより小さい場合、パケットの送信周期の１周期の時間がＴｍｔｕより短い可能性がある。この場合周期的な通信と競合することなく最大長のパケットを送信することは不可能であるため、本発明では処理の対象としない。したがって、周期検出処理部３１２は、図８の説明で後述する（Ａ）の処理を行い、周期検出処理を終了する。
【００３３】
ＴｄがＴｍｔｕより大きい場合、トラフィックテーブルのエントリのサンプル数のフィールドに登録された値が１であれば、周期検出処理部３１２は、現在の時刻、具体的には、パケットをインターフェースがサンプルした時刻をサンプル時刻としてトラフィックテーブルに登録する。本処理において、サンプル数のフィールドの値は１加算され２となり、現在の時刻はサンプル時刻１となり、サンプル時刻１のフィールドに記録されていた時刻はサンプル時刻２のフィールドに登録される。更に周期検出処理部３１２は、差分値１のフィールドにＴｄを記録して、処理を終了する（処理７０６）。
【００３４】
処理７０５においてエントリのサンプル数が１より大きい場合、周期検出処理部３１２は、エントリの更新処理を行ない（処理７０７）、その後処理を終了する。
【００３５】
図４は、処理７０７で実行されるエントリの更新処理の手順を示す図である。
周期検出処理部３１２は、まず処理７０３で計算したＴｄを、エントリの最大差分値、最小差分値のフィールドに登録された値と比較する（処理８０１、８０４）。Ｔｄが最大差分値と最小差分値の間であれば、抽出したパケットが周期的な通信に関わっている可能性が高いので、周期検出処理部３１２は、次の処理へと進む。Ｔｄが最大差分値より大きいあるいは最小差分値より小さい場合、周期検出処理部３１２は、最大差分値または最小差分値を更新する（処理８０３、８０６）。
【００３６】
尚、このとき周期検出処理部３１２は、更新後の最大差分値と最小差分値との差がＴｍｔｕ未満であるか否かを検査する（処理８０２、８０５）。最大差分値と最小差分値の差がＴｍｔｕ以上である場合、周期の許容誤差が送信競合による周期の乱れよりも大きくなるので、周期検出処理部３１２は、この通信を保証の対象とする必要はないと判断する。Ｔｄが最大差分値を超えかつ最大差分値と最小差分値の差がＴｍｔｕ以上である場合、周期検出処理部３１２は、処理８０２で周期的な通信が終了したと判断し、図７で説明する（Ｂ）の処理でエントリを初期化して処理を終了する。Ｔｄが最小差分値よりも小さくかつ最大差分値と最小差分値の差がＴｍｔｕ以上である場合、周期検出処理部３１２は、（Ａ）の処理を行なって処理を終了する。
【００３７】
Ｔｄが最大差分値と最小差分値の間にある場合、周期検出処理部３１２は、対象となるパケットに対応するエントリに登録されたサンプル時刻の数を確認する（処理８０７）。サンプル時刻の数が３の場合、更に周期検出処理部３１２は、エントリの無効カウントのフィールドに登録された値が２以上であるかどうかを判定する（処理８１０）。無効カウントの値が２以上である場合、周期検出処理部３１２は、そのエントリに対応するパケットが周期的に送信されているとはみなさず、（Ｂ）の処理を行なって処理を終了する。これは、ＶｏＩＰ電話１１２において音声通信以外のパケットは音声通信の連続する５周期の間に最大でも１パケットという前提から導かれた条件である。したがって、前提が異なれば、無効カウントの閾値が変化することは言うまでもない。
【００３８】
サンプル時刻の数が３以外の場合、周期検出処理部３１２は、現在時刻（パケットがサンプリングされた時刻）をエントリへ登録する。サンプル時刻の数が既に４である場合、周期検出処理部３１２は、最も古いサンプル時刻４のフィールドに登録された値を廃棄し、サンプル時刻１からサンプル時刻３のフィールドに登録された値を新たにサンプル時刻２からサンプル時刻４とし、現在時刻（パケットがサンプリングされた時刻）をサンプル時刻１として登録する。サンプル数が４未満の場合、サンプル数に１加算する以外は同様に処理される（ただし、サンプル時刻４の廃棄は無い）。差分値に関しても同様に処理される（処理８０８）。
【００３９】
以上の処理の結果、エントリのサンプル数が４であるならば、周期検出処理部３１２は、パケットが周期的に送信されているとみなして（処理８０９）、その通信を保証の対象に追加する処理（Ｃ）を行う。
【００４０】
図５は、処理（Ｃ）の手順を示すフロー図である。
周期検出処理部３１２は、エントリの無効カウントのフィールドの値をクリアし、以後は１周期の間の無効パケット数を表すために使用する（処理１１０１）。
【００４１】
家庭内ネットワーク１０１で複数のＶｏＩＰ電話１１２が同時に周期的な通信を行なっている場合、本実施形態ではリアルタイム性を保証する通信、すなわちネットワーク使用のための待ち時間が無い通信を同時に３つまでと制限する。これにより、パケット送信処理の負荷、具体的には、送信制御部３０４の負荷を小さくすることができる。リアルタイム性保証の対象となる通信を管理するため、通信アダプタ１１０は、対象となる通信の数を表す周期性トラフィック数及び対象となる通信に対応するエントリのエントリ番号を格納する対象エントリ配列をメモリ３１４内に有する。
【００４２】
周期フラグが０であったエントリを新たに周期的な通信であると判断した場合（処理１１０２）、周期性トラフィック数が既に３ならば、周期検出処理部３１２は、そのエントリをリアルタイム性保証の対象には加えない（処理１１０３）。３未満の場合、周期検出処理部３１２は、周期性トラフィック数に１加算し、リアルタイム性保証の対象となる通信のエントリ番号を対象エントリ配列に追加する。更に、周期検出処理部３１２は、周期フラグのフィールドの値０を１に変更する（処理１１０４）。
【００４３】
処理１１０２で周期フラグが１である場合及び処理１１０４が終了した場合、周期検出処理部３１２は、対象エントリ配列の要素をエントリの最小差分値の小さい順にソートする。以下、最小差分値の小さい順に対象エントリ１、対象エントリ２、対象エントリ３と記述する（処理１１０５）。
【００４４】
複数の周期的な通信をリアルタイム性保証の対象にする場合、一つの周期的な通信の１周期の間に他の周期的な通信の送信が発生するため、リアルタイム性を保証する通信のパケットとパケットの間隔が実質的に短くなる。複数の周期的な通信を複合した場合のパケット間の時間が、最大長のパケットを送信する時間Ｔｍｔｕよりも短くなると、全ての周期的な通信と全く競合せずに最大長のパケットを送信することはできない。
【００４５】
このため、周期検出処理部３１２は、エントリの最小差分値を周期性トラフィック数で割った値Ｘを計算（処理１１０６）し、それがＴｍｔｕよりも小さい場合、リアルタイム性保証は不可能と判断し最小差分値が最も小さいエントリ（対象エントリ１）を保証の対象から外す（処理１１０７〜処理１１０９）。ＸがＴｍｔｕ以上になるまでこの処理を繰り返すことで、周期検出処理部３１２は、リアルタイム性保証の対象となるエントリを決定する。以上がパケット観測による周期の検出処理である。
【００４６】
次に、音声通信等の周期的な通信が終了したことを検出して、周期フラグが１であるエントリ、即ちリアルタイム性保証の対象であるエントリを削除する処理について説明する。周期的な通信の終了を検出して該当するエントリを保証の対象から外さないと、存在しない通信との競合を回避するためにデータ通信端末１０５の送信が不必要に延期されてしまう。そのため周期的な通信の終了を検出して保証の対象から外す本処理が必要となる。
【００４７】
周期的な通信の終了を検出するために、通信アダプタ１１０がネットワーク上のパケットを観測して検出すべき状況として次の三通りがある。
第一の状況は、該当するＶｏＩＰ電話１１２が音声通信の宛先アドレスと全く通信を行なわなくなる場合である。この場合、パケットの観測に基づく該当エントリの更新処理（処理７０７）が全く発生しないため、周期性の判断が行なわれずエントリが残ってしまう。本状況においてエントリの削除を行なうために、周期検出処理部３１２が一定時間ごとにトラフィックテーブルの全エントリを検査し、現在時刻（具体的には、周期検出処理部３１２が全エントリの検査を開始した時刻）とサンプル時刻１との差が最小差分値＋Ｔｍｔｕを超えているエントリを削除する。
【００４８】
第二の状況は、サンプル時刻１から最小差分値＋Ｔｍｔｕ以上経過してからパケットを観測した場合である。この時は処理７０７が発生し、処理８０１、処理８０２を経由して（Ｂ）の処理が行なわれる。
【００４９】
図７は、（Ｂ）の処理、即ちエントリを初期化する手順を示す図である。
周期検出処理部３１２は、まずエントリのサンプル数のフィールドの値を１に、サンプル時刻１のフィールドの値を現在の時刻に初期化する（処理９０１）。次に周期フラグのフィールドの値が１であるならば、周期検出処理部３１２は、エントリ配列から該当するエントリ番号を削除し、周期性トラフィック数を１減算する（処理９０２）。その後、周期検出処理部３１２は、エントリの周期フラグのフィールドの値を０にする（処理９０３）。
【００５０】
尚、エントリ初期化時に観測されたパケットは、新たな音声通信の開始パケットである可能性があるので、周期検出処理部３１２は、第一の状況と異なり、そのエントリは削除せず現在時刻をサンプル時刻１として記録し、そのエントリを残す。
【００５１】
第三の状況は、通信アダプタ１１０が、予測している周期と比べて短い時間間隔でパケットを観測した場合である。この場合、Ｔｍｔｕよりも短い時間間隔でパケットを観測した場合は処理７０４を通じて、時間間隔がＴｍｔｕよりも長い場合は処理８０４及び処理８０５を通じて、通信アダプタ１１０は、（Ａ）の処理を開始する。
【００５２】
尚、この状況では、周期の途中で音声通信とは関係の無いパケットが送信されたが音声通信自体は継続している場合と、音声通信は終了して音声通信以外の通信が開始された場合の二つの可能性がある。通信アダプタ１１０は、両者を識別するためエントリの無効カウントに登録された値を用いる。
【００５３】
図８は、（Ａ）の処理、すなわち通信アダプタ１１０がエントリの無効カウントを確認する処理の手順を示す図である。
周期検出処理部３１２は、まずエントリの無効カウントのフィールドに登録された値に１加算する（処理１００１）。上述したように、エントリの周期フラグが１であるとき、無効カウントは１周期の間に観測した周期的とはみなさないパケットの数を表す。本実施形態では、ＶｏＩＰ電話１１２において音声通信以外のパケット数は音声通信の連続する５周期の間に最大でも１パケットであると仮定しているので、無効カウントが１以下ならば許容範囲である。  したがって、周期検出処理部３１２は、周期フラグの値が１かどうかを判断（処理１００２）し、１の場合は更に無効カウントが２以上かどうかを判断する（処理１００２）。無効カウントの値が２以上である場合、周期検出処理部３１２は、音声通信が終了したものとみなして（Ｂ）の処理を行い、エントリを初期化する。
以上が、家庭内ネットワーク１０１の通信を通信アダプタ１１０が観測することによる周期の検出処理である。
【００５４】
次に、データ通信端末１０５からパケットの送信要求があった場合に、通信アダプタ１１０において周期的な通信と競合しないようにパケット送信を制御する方法について説明する。
【００５５】
図９は、通信アダプタにおいてパケット送信を制御する手順を示す図である。データ通信端末１０５が送信するパケットは、バスインターフェース３０６を介して送信バッファ３０５に書き込まれる。送信制御部３０４では、送信するパケットの長さから、そのパケットをネットワークで送信するために必要な時間ＴＬを計算する。ＴＬはパケット長をネットワークの通信速度で割ることで計算される（処理１２０１）。
【００５６】
次に送信制御部３０４は、対象エントリ配列に登録された各エントリ番号のエントリに関して以下の処理１２０２から処理１２０５までを繰り返す。
【００５７】
送信制御部３０４は、対象エントリ配列に登録されたエントリ（最初はエントリ１。その後エントリ２、３が対象になる）のパケットが次に送信される時刻を予測する。ここでは、最新のサンプル時刻であるサンプル時刻１に、最大差分値又は最小差分値を加えた値（それぞれＰｍａｘ、Ｐｍｉｎ）を予測値とする（処理１２０２）。
【００５８】
その後、送信制御部３０４は、この時点でタイマ３１３から取得した時刻をＰｃｕｒとし、時刻Ｐｍｉｎまでにパケットが送信可能かどうか判定する（処理１２０３）。送信可能な場合、送信制御部３０４はＰｍｉｎまでにパケットの送信が完了する限界時刻Ｐｌｉｍｉｔを計算（処理１２０４）し、次のエントリの処理へ進む。
【００５９】
処理１２０３で時刻Ｐｍｉｎまでに送信不可能と判定された場合、その判定時点で既に時刻Ｐｃｕｒが時刻Ｐｍａｘを過ぎている可能性がある。そこで、送信制御部３０４は時刻Ｐｍａｘと時刻Ｐｃｕｒの大小を判定する（処理１２０５）。時刻Ｐｃｕｒが時刻Ｐｍａｘより大きい場合には送信を延期する必要はないので、送信制御部３０４は、次のエントリの処理へ進む。
【００６０】
処理１２０３及び１２０５の条件を満たさない場合、送信制御部３０４は、現時点でパケットを送信すると周期的な通信と競合すると予測し、送信を延期する。送信を延期した場合、送信制御部３０４は処理１２０３及び１２０５の条件を満たさなかったエントリのＰｍａｘまで送信を延期し、再び対象エントリ配列に対する処理を繰り返す（処理１２１０）。
【００６１】
対象エントリ配列に登録された全てのエントリに対して以上の処理を行い、リアルタイム性を保証する通信と競合せずに送信可能であるという予測が成り立つと、送信制御部３０４は、ＣＳＭＡ方式の規格どおりにネットワークが使用に可能になるまで待つ（処理１２０６）。ただし、送信を待つ間に限界時刻Ｐｌｉｍｉｔを過ぎてしまった場合（処理１２０７）、送信制御部３０４は、再度繰り返し処理を行い新たな送信時刻を決定する必要がある。限界時刻Ｐｌｉｍｉｔを過ぎていなければ、通常の送信を行なう（処理１２０８）。
【００６２】
以上の処理により、通信アダプタ１１０は、自身が接続されたデータ通信端末１０５の通信とＶｏＩＰ電話１１２の音声通信との競合を回避する。ここで、ＶｏＩＰ電話１１２の送信周期をｔとし、実際のパケットの送信時刻が送信周期により決まる時刻に対して最大でも０．５Ｔｍｔｕしか遅れないとする。すると、本実施形態での周期検出アルゴリズムにより求められるＰｍａｘ、Ｐｍｉｎはそれぞれｔ＋０．５Ｔｍｔｕ、ｔ−０．５Ｔｍｔｕとなり、ＰｍａｘとＰｍｉｎの差はＴｍｔｕであるから周期として認識される。この場合、実際のパケットの送信時刻はサンプル時刻１からＰｍａｘとＰｍｉｎの間になり、送信時刻の予測は正しく行なわれる。したがって時刻ＰｍａｘとＰｍｉｎの間での送信を延期することで競合は回避できる。
【００６３】
以上のように、本実施形態によるネットワークシステムを用いることで、音声通信のように通信データ量が少ないが一定周期での送信が要求される通信と、通信データ量が多く長いパケットを用いる通信とが同一ネットワークで行なわれていても、ネットワーク上での競合により音声通信に悪影響を及ぼさないデータ通信が可能になる。
【００６４】
特に、本実施形態は、家庭内ネットワーク１０１において、ＶｏＩＰ電話などの音声通信専用機器の通信とファームウェアアップデートや動作状況ログの回収などのファイル転送通信とを共存させる場合に有効である。また本実施形態は、ネットワーク上の通信の監視により周期を予測するため、上位層プロトコルによらず適用可能で、周期の変更や、ノード台数の変化があっても対応できる。
【００６５】
更に、通信アダプタ１１０を用いることにより、データ通信端末１０５自体には機能の追加が不要である。なお、上述したリアルタイム通信保証の方法は必ずしも通信アダプタ１１０で実行されなくてもよい。例えば玄関監視カメラ１１３のように、画像データをバースト的に送信することが目的の端末自体で上述した方法を実現することで、玄関監視カメラ１１３が送信するデータによりＶｏＩＰ電話１１２の音声通信が妨害されることを防ぐこともできる。
【００６６】
したがって、本実施形態では、家庭内ネットワーク１０１に接続されるバースト的な通信を行なう端末それぞれに上述のリアルタイム通信保証の方法を実装したネットワークシステムを構成することで、そのネットワークシステム上での音声通信の周期を保証することも可能である。
【００６７】
続いて、ネットワークシステムの第２の実施形態を説明する。第２の実施形態の構成は、図１と同様である。しかし、本実施形態では、第１の実施形態におけるパケット観測、送信時刻予測、パケット送信制御のアルゴリズムがゲートウェー１０３に実装され、そのパケット観測の対象がノード管理端末１０４と各ノードとの間の通信のパケットになる。
【００６８】
ノード管理端末１０４は、家庭内ネットワーク１０１の複数のノード１０６を制御するための端末である。ノード管理端末１０４は、複数のノード１０６の動作状況を把握するために、一定周期Ｔでポーリングを行う。
【００６９】
図２は、ノード管理端末１０４と各ノード１０６との間のポーリングの通信シーケンスを示す図である。ノード管理端末１０４は、一定周期Ｔごとにそれぞれ異なるノード１０６に対して順番にポーリングパケット２０１を送信する。全てのノード１０６に対して一通りポーリングを実行したら、ノード管理端末１０４は、最初にポーリングパケット２０１を送信したノード１０６から始めて２回目のポーリングを全ノード１０６に対して行い、以下同様にポーリングを継続して行う。
【００７０】
ポーリングパケット２０１を受信したノード１０６は、ノード管理端末１０４に対して応答パケット２０２を送信する。ポーリングパケット２０１及び応答パケット２０２は、ともにパケット長が短いものとし、周期Ｔと応答時間ｔの関係はＴ＞ｔとする。
【００７１】
本実施形態では、この家庭内ネットワーク１０１において、インターネット１０２からゲートウェー１０３経由でデータ通信端末１０５に大量のデータが送られる場合に、ゲートウェー１０３が第一の実施形態で説明されたリアルタイム通信保証方法を用い、ノード管理端末１０４と各ノード１０６との間の通信との競合を回避する。
【００７２】
本実施形態においては、ノード管理端末１０４のアドレスを予めゲートウェー１０３に設定しておき、パケットの観測では送信元アドレスがノード管理端末１０４のアドレスに一致するパケットだけが抽出される。本実施形態では、図３の処理７０１が、送信元アドレスがノード管理端末１０４のアドレスと一致するかどうかの判断に変更され、一致しないパケットは全て無視される。  したがって、本実施形態で使用されるトラフィックテーブルのエントリには宛先アドレスのフィールドが含まれず、結果として送信元アドレスがノード管理端末１０４のアドレスと一致するエントリ一つだけが管理される。
【００７３】
又、第１の実施形態をそのまま適用してノード管理端末１０４と複数のノード１０６との間の通信をゲートウェー１０３が観測する場合、ゲートウェー１０３は、周期がＴ×ノード数であるエントリをノード数と等しい数だけ管理することになる。従って、本実施形態では送信元アドレスだけで通信を識別するため、トラフィックテーブルにおいて周期Ｔのエントリを一つ管理すればよく、管理の負荷やトラフィックテーブルの規模が軽減される。パケットの観測と送信制御のアルゴリズムは第１の実施形態と同じであり、結果として得られる効果も同様である。
【００７４】
以上のように、本実施形態によるリアルタイム通信保証方法を用いることで、機器管理のためのポーリングのように通信データ量が少なく周期的な送信が要求される通信と、通信データ量が多く長いパケットを用いる通信とが同一ネットワークで行なわれていても、ネットワーク上での競合により周期的な通信に悪影響を及ぼさないデータ通信が可能になる。
【００７５】
また本実施形態では第１の実施形態に比べ、特定の端末が複数のノードに対して定期的に通信を行なう場合の周期の予測を効率化してあるため、家庭内ネットワークにおける家電の動作状況モニタリングの通信のリアルタイム性を保証する場合に有効である。  更に、ゲートウェー１０３がデータ送信のタイミングを管理することで、インターネット１０２からの通信全てに対してリアルタイム性保証を行うことが出来る。つまり、複数のデータ通信端末１０５が同時にＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）閲覧を行なう場合でも、ゲートウェー１０３のみに機能を実装すればよいという特徴がある。
【００７６】
次に第３の実施形態のネットワークシステムを説明する。
図６は、第３の実施形態のネットワークシステムの構成を示した図である。本実施形態のネットワーク構成は、複数のノード１０６がハブ６０１に接続されたスター型のＣＳＭＡ／ＣＤネットワークである。
【００７７】
ハブ６０１は、複数のポート６０２、ＪＡＭ信号送信部６０３、バス６０４、周期管理部６０６、タイマ３１３、メモリ３１４、周期検出処理部３１２及び周期テーブル６０７を有する。ハブ６０１の各ポート６０２には、ケーブルを介してノード１０６が接続される。ノード１０６が送信したパケットはバス６０４により全てのポート６０２に電気的に中継され、又周期検出処理部３１２でパケットが観測される。
【００７８】
周期検出処理部３１２は、第１の実施形態と同様のパケット観測、周期予測のアルゴリズムを実行する。ただし、トラフィックテーブルに登録されるエントリは特定の送信元アドレスと宛先アドレスの組と対応するのではなく、１つのポート６０２に対応する。即ち、そのポート６０２に接続されたノード１０６から送信される全てのパケットがそのエントリの観測対象となる。タイマ３１３及びメモリ３１４は第１の実施形態と同じなので、説明を省略する。
【００７９】
周期テーブル６０７には、音声、動画などのリアルタイム通信で一般的に用いられる送信周期の情報が登録されている。周期検出処理部３１２は、あるエントリの通信が周期的であると判定した場合、処理１１０１と処理１１０２の間で、そのエントリの周期が周期テーブル６０７に登録されている周期のどれに該当するかを判定する。
【００８０】
その判定は、具体的には、エントリの最小差分値と最大差分値の範囲に周期テーブル６０７に登録された値が入っているかいないかで行われる。該当する周期が周期テーブル６０７に無い場合、そのエントリの通信は周期的で無いと判断し、周期検出処理部３１２は、（Ｂ）の処理を行なう。
【００８１】
周期管理部６０６は、メモリ３１４に格納されたトラフィックテーブルに基づいてあるノード１０６が送信を行なうと予測した時刻になると、そのエントリに対応するポート６０２以外の全てのポート６０２に対して、ＪＡＭ信号送信部６０３によりＪＡＭ信号を送信する。ジャム信号の送信の期間は時刻ＰｍｉｎからＰｍａｘの間である。
【００８２】
ＣＳＭＡ／ＣＤ方式のネットワークでは、ＪＡＭ信号を検出したノード１０６はパケットの送信を実行しないため、送信があると予測されるポート６０２のノード１０６の送信は、他のノード１０６の送信と競合することが無くなる。
【００８３】
以上のように本実施形態によるリアルタイム通信保証方法を用いることで、一定周期で送信を行なう通信と通信データ量が多く長いパケットを用いる通信とがスター型接続のネットワークで行なわれていても、一定周期の送信を遅らせることなくデータ通信を行うことが可能になる。
【００８４】
尚、本実施形態を、家庭内ネットワークにおいて、音声通信のような一定周期の通信と、端末のファームウェアアップデートや動作ログの回収といったバースト的な通信とが同時に行なわれる場合に適用することで、送信の競合による音声通信の遅延の揺らぎが少なくなり、音声の品質が向上する効果が期待できる。
【００８５】
また、ハブ６０１が通信をモニタリングすることで周期を予測するため、ノード１０６が事前に帯域を確保する、あるいはハブ６０１に対して通知を行なう必要が無く、通常の端末をそのまま使えるという特徴がある。また、一定周期で送信する音声や画像の典型的な送信周期をあらかじめ周期テーブル６０７に登録しておくことで、保証対象をノード１０６からの送信が音声や画像の通信である場合に限定することが可能になり、周期的でない通信まで保証対象に加えてしまうことを防げるという特徴がある。
【００８６】
次に第４の実施形態について説明する。本実施形態のネットワークの構成は図１と同様である。本実施形態においては、通信アダプタ１１０のインターフェース３０１と周期検出処理部３１２の間にパケットフィルタを設ける。そして、パケットフィルタに、音声通信を行なう複数のＶｏＩＰ電話１１２のアドレスをあらかじめ登録する。
【００８７】
パケットフィルタは、パケットの送信元アドレスまたは宛先アドレスが、登録されているＶｏＩＰ電話１１２のアドレスと一致するかどうか検査する。パケットの送信元アドレス、宛先アドレスがともに登録されているＶｏＩＰ電話１１２のアドレスと一致しない場合、パケットフィルタは、そのパケットを廃棄する。
【００８８】
その結果、本実施形態では、音声通信ではない通信のパケットを周期検出処理部３１２での周期の検出処理の対象から外すことができ、結果として、検出処理の負荷とトラフィックテーブルのエントリ数を削減することができる。
【００８９】
以上のように本実施形態では、観測するパケットのアドレスをあらかじめ登録してある音声通信を行なうＶｏＩＰ電話１１２のアドレスに限定することで、トラフィックテーブルの規模を小さくし、かつ音声通信ではない通信を誤って周期的な通信であると認識することを防ぐ。
【００９０】
本実施形態は特に、家庭内ネットワークのように、音声通信専用機器の台数やアドレスが変化することが少ない環境への適用に効果的である。また、パケットフィルタに登録する情報を、ＶｏＩＰ電話１１２のアドレスではなく、パケット内の優先度やトラフィックの性質に関する情報、例えばＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダにおけるＤＳ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ）フィールドの値としても良い。  次に第５の実施形態について説明する。本実施形態のネットワーク構成は図１と同様である。本実施形態では無線アクセスポイント１１１が上述したリアルタイム通信保証方法を実行する。
【００９１】
無線アクセスポイント１１１は、家庭内ネットワーク１０１での通信を観測し、第１の実施形態と同様の方法で周期的な通信とその周期を検出する。無線アクセスポイント１１１は、無線ノード１０７が送信したパケットを無線により受信して家庭内ネットワーク１０１に中継する時に第１の実施形態と同様にパケットの送信を周期的な通信と競合しないように制御する。
【００９２】
したがって、本実施形態では、無線ノード１０７がバースト的な通信を行なった場合に家庭内ネットワーク１０１での周期的な通信の周期を乱すことを防ぐことができる。
【００９３】
以上のように、本実施形態では、無線アクセスポイント１１１が本発明によるリアルタイム通信保証方法を実行することで、有線ネットワークと無線ネットワークが混在した環境においても、周期的な通信とバースト的な通信が同時に発生した場合に競合を回避し、周期的な通信の周期を乱さないことが可能である。また、無線アクセスポイント１１１に機能を実装することで、全ての無線ノード１０７の通信に対して本発明によるリアルタイム通信保証を適用できる。
【００９４】
尚、各実施形態を組み合わせた構成も可能である。さらに、家庭内ネットワークに限らず、他のネットワークにおいても実現することができる。
【００９５】
【発明の効果】
本発明によれば、周期的な通信とパケット送信が競合する可能性が高い場合に送信の競合が起きることを回避し、一定周期での送信が要求される通信に悪影響を及ぼさないでデータ通信ができるという効果がある。また、ネットワークでの通信量が少ない状態でも通信の競合を回避できるという効果がある。
【図面の簡単な説明】
【図１】本発明のネットワークの構成を示す図である。
【図２】ノード管理端末１０４とノード１０６の通信シーケンスを示す図である。
【図３】パケット観測処理の手順を示す図である。
【図４】エントリ更新処理の手順を示す図である。
【図５】エントリを周期的な通信と判断した場合の処理手順を示す図である。
【図６】ネットワークハブ装置のブロック図である。
【図７】エントリを周期的な通信ではないと判断した場合の処理手順を示す図である。
【図８】周期より短い時間間隔でパケットを観測した場合の処理手順を示す図である。
【図９】送信処理の手順を示す図である。
【図１０】通信アダプタ１１０のブロック図である。
【符号の説明】
１０１…家庭内ネットワーク、１０３…ゲートウェー、１０４…ノード管理端末、１０５…データ通信端末、１０６…ノード、１０７…無線ノード、１１０…通信アダプタ、１１１…無線アクセスポイント、１１２…ＶｏＩＰ電話。
【図１】
2005039312.tif 000003
【図２】
2005039312.tif 000004
【図３】
2005039312.tif 000005
【図４】
2005039312.tif 000006
【図５】
2005039312.tif 000007
【図６】
2005039312.tif 000008
【図７】
2005039312.tif 000009
【図８】
2005039312.tif 000010
【図９】
2005039312.tif 000011
【図１０】
2005039312.tif 000012