説明

データの転送方法、装置、プログラム

【課題】複数の送信装置からの同一ネットワークへのデータ転送による輻輳と、それに起因するデータ・ロスを回避し、効率的にデータ転送するための方法、送信装置等を提供する。
【解決手段】複数の送信装置のうちの第1送信装置がネットワークにデータ・パケットを送信する方法であって、(1)複数の送信装置のうちの第2送信装置が送信した制御パケットを受信するステップと、(2)受信した制御パケットが、第1送信装置にデータ・パケットの送信を認めることを示しているか判断するステップであって、示している判断したことに応答してデータ・パケットを送信し、示していないと判断したことに応答して更なる制御パケットを受信するステップと、(3)送信が完了したことを条件に、複数の送信装置から所定の規則で選択した1つの送信装置を、次にデータ・パケットの送信を認める送信装置として示した、新たな制御パケットを送信するステップとを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークにおけるデータの転送方法に関するものである。 本発明は特に、複数の送信装置から同一のネットワーク回線を経由してデータを転送する際のデータの輻輳を抑えるための転送方法およびその装置に関するものである。
【背景技術】
【0002】
ネットワーク・プロトコル(即ち、OSI参照モデルのネットワーク層のプロトコル)としてIP(Internet Protocol)を用いたネットワークのことを一般にIPネットワークと呼んでおり、インターネットやLAN(Local Area Network)等もその一種であることは周知である。
【0003】
このIPネットワークを利用したデータ転送技術により、IPパケット(IPネットワークにおけるデータ転送の単位となるパケット)を使用した、IP電話やテレビ会議システム等の各種リアルタイム・アプリケーションが実現している。これらリアルタイム・アプリケーションは、音声や画像等のデータのストリーム形式でのリアルタイム配信技術により可能となるもので、これらリアルタイム配信技術としては、VoIP(Voice over IP)、Realストリーミング(商標)、QuickTimeストリーミング(商標)等が存在する。いずれのリアルタイム配信技術においても、同一ネットワーク当たりの転送ストリームの許容数をできる限り多くすることが求められている。
【0004】
これらのリアルタイム配信技術では、その転送プロトコル(即ち、OSI参照モデルのトランスポート層のプロトコル)として、TCP(Transmission Control Protocol)ではなく、より高い転送速度を期待できるUDP(User Datagram Protocol)を用いることが多い。
【0005】
UDPは、TCPと比べるとデータ転送速度は高いが、送達確認などを行わない無手順方式のプロトコルで、再送制御も定められていない。このため、転送中のパケット紛失やデータ誤り等の検出、およびそのための対応手段は、より上位層であるアプリケーション等で行うほかは無く、UDP自身によってはカバーされない。
このため、UDPは、転送の途中で多少のデータ・ロスがあっても問題が少ない音声や画像のストリーム形式での配信に主に用いられるのであるが、データ・ロスがあまりに多くなると無視し得なくなり転送の信頼性の低下を招く。よって、UDPを用いたデータ転送では、でき得る限りデータ・ロスを少なくすることが求められることになる。
【0006】
ところで、一般に通信ネットワークにおいては、1回で(即ち、1つのパケットで)転送できるデータの最大値が決められており、これをMTU(Maximum Transmission Unit)と呼んでいる。このMTUは、送信装置が各データ転送の接続ごとにその値を設定することができる。例えば送信装置が受信装置より大きなデータ転送許容値を持っていたとしても受信装置のデータ転送許容値で制限を受けるため、この送信装置から受信装置へのデータ転送の接続において設定できる最大のMTU値は受信装置のデータ転送許容値ということになる。
【0007】
リアルタイム・アプリケーションにおけるデータ転送の対象となるデータは、PCMサンプリング・データや動画画像のデータのような総計サイズの大きいものがほとんどで、このサイズは、その転送において設定され得るMTU値をはるかに超えるものである。よって、リアルタイム・アプリケーションにおいてUDPを用いてデータ転送をする場合、転送対象のデータを複数のUDPパケットに分割するだけでなく、各UDPパケットをその転送において設定されたMTUサイズの複数の小パケット(以後、フラグメント・パケットと呼ぶ)にさらに分割して、それらのフラグメント・パケットを順次転送しなければならない。
【0008】
通常この各UDPパケットからMTUサイズの複数のフラグメント・パケットへの分割は、送信装置上で、OS(オペレーティング・システム)、ネットワーク・カード・ドライバを経てネットワーク・カード上のインターフェース・ロジックによりハードウェア的に行われる。また、1つのUDPパケット分に相当する全てのフラグメント・パケットを集中して連続転送するいわゆるバースト転送が行われ、高効率にフラグメント・パケットの転送を行なうことを可能としている。
【0009】
フラグメント・パケットのバースト転送では、送信装置から連続して転送されるデータによって瞬間的にネットワーク回線が占有される。この場合、単一の送信装置と受信装置間での通信だけであれば問題は発生しない。しかし、送信装置と受信装置の複数のペアが同一のネットワーク回線を使用する場合、ある送信装置からのフラグメント・パケットの送出タイミングが他の送信装置からのタイミングと同調してネットワーク回線の占有期間が重複した場合に、回線の奪い合い状態が発生し、いわゆる輻輳(Convergence)を引き起こす。
【0010】
図1は、IPネットワークに接続された複数の送信装置のそれぞれからデータ・パケットのバースト転送が定期的に行われる環境を示したものである。送信装置A 102から受信装置A 112に転送されるデータと、送信装置B 104から受信装置B 114に転送されるデータとは、共に同一のいくつかの中継用のHUB 122、124等を経由して同一のIPネットワーク回線 132を使って転送される。
【0011】
また、図2は、図1に示したデータ転送環境において、送信装置A 102と送信装置B 104のそれぞれからバースト転送のために送信されるデータに係るデータ・レート(単位時間当たりのデータ量)が時間と共に変化する様子を示したものである。
【0012】
図2では、送信装置Aからのバースト転送と送信装置Bからのバースト転送との重複期間 202、204がある。この重複期間では、IPネットワーク回線 132に流入するフラグメント・パケットが一定期間に集中し、そのネットワーク回線の単位時間当たりの転送許容量(ネットワーク帯域とも言う)を超えることになるので、何れかの送信装置から流入して来た方のフラグメント・パケットは各HUB等において待ち行列(キュー、バッファ)に入れられて処理待ち状態となる。
【0013】
しかし、各中継ルーターにおける待ち行列には容量に限りがあるため、パケットが入りきらない場合は転送待ちパケットのいくつかは廃棄され、データ・ロスが発生する。一般にバースト転送においては、1つのフラグメント・パケットのロスが発生すると、そのバースト転送に係る全てのフラグメント・パケットをロスしたものとみなされるので、実際に廃棄されたフラグメント・パケット以上の大量のデータ・ロスを発生させる結果となる。
【0014】
図2に示す例の場合は、送信装置Aからと送信装置Bからの両データ転送の合算データ量の平均は、IPネットワーク回線 132の単位時間当たりの転送許容量以下であるのは明らかなのにも関わらず、互いのバースト転送の重複期間では、単一の送信装置から転送される場合と比較して大量のデータ・ロスが発生するという理不尽な結果を招く。
【0015】
このような輻輳によるデータ・ロスの問題を解決するためには、次に述べる2つの方法が考えられる。
先ず1つの方法は、1つのUDPパケットがフラグメント化されないように、各UDPパケットをその転送において設定されたMTUサイズ以下のサイズとするものである。
この方法を用いれば、各UDPパケットのサイズが細分化されることで、データ・ロス発生時に廃棄されるデータ量を最小限に抑制することができる。
【0016】
しかし、UDPパケットを複数のフラグメント・パケットに分割するのが通常はハードウェア的に高速に行われるのと異なり、転送対象のデータを分割してUDPパケットを生成するのはCPUによりソフトウェア的に行なわれるので、MTUサイズ以下の多数のUDPパケットを生成するにはCPUがより多くの時間を必要とする。同時に受信装置側でもUDPパケットの受信処理により多くの時間が必要となる。
また、この方法は、多数に分割したUDPパケットをバースト転送等で高効率に転送するものではないので、フラグメント・パケットをバースト転送する場合のような十分なパフォーマンスが得られない。
【0017】
今1つの方法は、その転送におけるMTUサイズを大きな値に設定して、1つのUDPパケットをフラグメント化しなくても良いようにするものである。例えば、通常1500バイトに設定されるMTUサイズを9000バイトに変更することで、フラグメント化を防ぐことが可能となり、大きなサイズのUDPパケットをそのまま転送することができる。
【0018】
しかしながら、この方法は、ネットワーク回線がギガビット・イーサーネットでサポートされているような高転送効率の物理的規格を持ったものである場合にのみ有効であり、また、中継用のHUB等の途中の経路機器の全てがこの大きなサイズのパケット転送に対応している必要があり、適用できる構成がかなり限定的となる。
【0019】
また、特開2005−268914号公報には、データを任意のタイミングで送出することで送信レートを確保することができるデータ生成装置において、そのデータ生成装置の上流に当たる転送装置からのフロー制御(データ送信可/不可の制御)がある場合に、そのフロー制御の状況に応じて、そのデータ生成装置内において、次に転送装置に送信するデータの送出タイミングを調整することで、一定のデータ送出レートを確保することができる手段等についての発明が記載されている。
【0020】
しかしこの発明は、各データ生成装置の上流に当たる転送装置からのフロー制御があることを前提としたもの、即ち、フロー制御がデータ生成装置の外部から行われた場合において、各データ生成装置の内部での今後のデータ送出タイミングの調整(即ち、スピードアップ)を行うことで問題解決を図る方法について言及したものである。
よってこの発明は、このようなフロー制御を行なってくれるスーパーバイザー的な転送装置が無く、複数の送信装置が直接IPネットワークに接続されているような図1に示すような環境下において、各送信装置からの転送データの輻輳が起こったことにより発生するデータ・ロス等の問題点を解決できるというものではない。
【特許文献1】特開2005−268914号公報
【発明の開示】
【発明が解決しようとする課題】
【0021】
そこで本発明は、データ転送のためのネットワークにおいて、複数の送信装置から同一のネットワーク回線を経由してデータを転送する際に、データの輻輳が起こって大量のデータ・ロスが発生することを回避し、そのネットワーク回線のネットワーク帯域の範囲内で効率的に各データを転送するための方法およびその送信装置を提供することをその目的とする。
【課題を解決するための手段】
【0022】
上記課題を解決するために、本発明の第1の側面においては、ネットワークに接続された複数の送信装置のうちの1つの送信装置が、対応する受信装置に対して、当該ネットワークを介して1群のデータ・パケットの送信を行なう方法であって、(1)当該送信装置が、前記複数の送信装置のうちの1つから前記ネットワークにブロードキャスト送信される制御パケットであって、前記複数の送信装置の何れか1つを示す識別子を格納した第1フィールドと、前記複数の送信装置の全てまたは一部の送信装置に係る識別子グループを格納した第2フィールドとを含む制御パケットを待って、それを受信するステップと、 (2)当該送信装置が、前記制御パケットを受信したことに応答して、前記制御パケットにおける前記第1フィールドに当該送信装置を示す識別子が格納されているか判断し、(a) 格納されていないと判断する場合は、更なる制御パケットを対象として、前記受信するステップに戻り、(b) 格納されていると判断する場合は、当該送信装置からの1群のデータ・パケットの送信が可能になるのを待って、前記対応する受信装置に向けて当該1群のデータ・パケットを送信するステップを実行する、ステップと、 (3)当該送信装置が、前記1群のデータ・パケットの送信が完了したことに応答して、前記第2フィールドに格納された前記識別子グループの中から1つの識別子を所定の基準に従って選択するステップと、 (4)当該送信装置が、前記選択したことに応答して、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記識別子グループを格納した、第1の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、 (5)当該送信装置が、前記第1の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップとを有する方法を提供する。
【0023】
また、本発明の第2の側面においては、第1の側面における方法において、(6)当該送信装置が、前記受信するステップの後、前記ブロードキャスト送信するステップの開始までの間に、更なる制御パケットを受信した場合に、前記第1の新たな制御パケットをブロードキャスト送信せず、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記更なる制御パケットにおける第2フィールドに格納された識別子グループを格納した、第2の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、 (7)当該送信装置が、前記第2の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップとをさらに有する方法を提供する。
【0024】
さらに、本発明の第3の側面においては、第2の側面における方法において、(8)当該送信装置が、前記制御パケットを受信したことに応答して、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前に、前記第2フィールドに格納された識別子グループに当該送信装置を示す識別子が含まれるか判断し、(a) 含まれると判断する場合は、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前記ステップを実行し、(b) 含まれないと判断する場合は、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記制御パケットにおける前記第1フィールドに格納された前記識別子を格納し、当該第2フィールドには前記識別子グループに当該送信装置の識別子を加えた更新識別子グループを格納した、第3の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップを実行する、ステップと、 (9)当該送信装置が、前記第3の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップとをさらに有する方法を提供する。
【0025】
以上、本発明の概要を、ネットワークに接続された送信装置がデータ・パケットの転送を行なう方法として説明したが、本発明はまた、これらの方法を実施することのできる装置(即ち、送信装置)としても捉えることができる。
さらに本発明は、当該送信装置の記憶装置等に格納され、当該送信装置にこれらの方法を実行させることができるプログラム(コンピュータ・プログラム、ソフトウェアと呼ぶこともある)としても捉えることができる。
【0026】
尚、上記発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた発明となり得ることに留意されたい。
【発明の効果】
【0027】
本発明によれば、ネットワークに接続された複数の送信装置からデータ転送を行う場合において、各送信装置におけるデータ送出のタイミングを調整することで、各送信装置からの転送データの重複による輻輳を回避し、各送信装置からの転送データのロスを防ぐことができる。
また、本発明によれば、データ送出のタイミングを調整するためのスーパバイザー的な特別な装置を必要とすることなく、各送信装置間での制御情報のやり取りのみによって、各送信装置が主体的判断でデータ送出のタイミングを調整することができる。
【発明を実施するための最良の形態】
【0028】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。 なお、実施形態の説明の全体を通じて同じ要素には同じ番号を付している。
【0029】
図3は、図1に示したIPネットワーク 132上で複数の送信装置のそれぞれから、対応する各受信装置に対してデータ・パケットのバースト転送が定期的に行われるシステム環境において本発明を実施するのに好適な送信装置 300の詳細なハードウェア構成の典型的な例を示した図である。
【0030】
送信装置 300の全体の制御は、プロセッサ 302(中央処理装置、CPU、メイン・プロセッサ等と呼ぶこともある。)によって司られる。その直近にメモリ・コントローラ・ブリッジ 304(メモリ・ブリッジ、第1のブリッジ、ノース・ブリッジ等と呼ぶこともある。)が接続され、当該メモリ・コントローラ・ブリッジ 304にはメイン・メモリ 306(メモリ、主記憶等と呼ぶこともある。)およびグラフィックス・コントローラ 308が直接接続され、グラフィックス・コントローラ 308の先にはディスプレイ 310(ディスプレイ装置、表示装置と呼ぶこともある。)が接続される。
メモリ・コントローラ・ブリッジ 304からはまた、PCIローカル・バス 312等のバスを介して、I/Oコントローラ・ブリッジ 314(I/Oブリッジ、第2のブリッジ、サウス・ブリッジ等と呼ぶこともある。)が接続される。
【0031】
当該I/Oコントローラ・ブリッジ 314にはストレージ・コントローラ 316(IDEコントローラ、SCSIコントローラ、等)を介してハードディスク・ドライブ 318(HDD、ハードディスク、ハードディスク・ストレージ、固定記憶装置等と呼ぶこともある。)、DVD 320等の大容量記憶装置が接続され、ここに本発明を実施させるのに必要なオペレーティング・システム 322、およびオペレーティング・システムと協働してプロセッサ等に命令を与えて本発明を実施させるための、アプリケーション・ソフトウェア 232等のコンピュータ・プログラムを記憶する事ができる。 これらコンピュータ・プログラムはメイン・メモリ 306にロードされることによって実行される。また、これらコンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【0032】
I/Oコントローラ・ブリッジ 314にはまた、キーボード/マウス・コントローラ 324が接続され、キーボード 326やマウス 328のような入力デバイスからの入力を受ける。
I/Oコントローラ・ブリッジ 314にはこの他に、各種の外部入出力インターフェース330、332が接続される。
【0033】
外部入出力インターフェース 332は、ネットワーク・アダプタであり、本発明に係るデータ・パケットを転送するIPネットワーク 340に接続され、転送すべきデータ・パケット(即ち、UDPパケット)を更にフラグメント・パケットに分割したり、分割されたフラグメント・パケットをIPネットワーク 340にバースト転送で送出する機能を持つ。
【0034】
外部入出力インターフェース 330は、外部ソース信号入力アダプタであり、本発明に係る方法に従ってIPネットワーク 340に転送されるべきデータのソースとなるビデオ信号等を、送信装置 300の外部の装置(例えば、ビデオカメラ、ビデオ録画再生機等)から受信して、送信装置 300の内部で処理できるディジタル信号に変換する等の機能を持つ。
【0035】
尚、大容量記憶装置に記憶され、その全体的な動作を司るオペレーティング・システム 322としては、マイクロソフト・コーポレーションが提供するWindows(登録商標)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッドが提供するMacOS(商標)、X Window Systemを備えるUNIX(登録商標)系システムといった、GUI(Graphical User Interface)をサポートするオペレーティング・システムを採用することができる。 UNIX(登録商標)系システムには、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するAIX(商標)あるいはLinux(商標)等がある。
【0036】
以上のように、本発明を実施するのに好適な送信装置 300は、サーバ・コンピュータやクライアント・コンピュータ等を構成するような一般的なPCアーキテクチャに基づいた装置によって実現することができる。ただし、図3に示した送信装置 300を構成する各コンポーネントは例示であり、その全てのコンポーネントが本発明の必須構成要素となるわけではない。
また、送信装置として本発明の実施をすることができる同等の機能を有するものであれば、必ずしも一般的なPCアーキテクチャに基づいたものでなくてもよく、専用のハードウェア装置で構成する等、種々の変更形態による実施が可能であることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。
【0037】
以上のシステム環境の下で、本発明の実施形態について以下に説明する。
先ず、本発明の第1の実施形態について説明する。
図4は、本発明の第1の実施形態に基づいて、IPネットワークに接続された複数の送信装置からデータ・パケットのバースト転送が行なわれる概念を表す図である。また、図5は、各送信装置における本発明の第1の実施形態に係る処理手順の流れを示す図である。
【0038】
各送信装置において転送すべきデータはまずUDPパケット単位に分けられ、各UDPパケットは更に、MTUサイズの複数のフラグメント・パケットに分割され、1つのUDPパケットに係る1群のフラグメント・パケットは、送信装置からバースト転送で連続して一度に送られる。各送信装置は、このバースト転送を、各UDPパケット分に相当する数の1群のフラグメント・パケット毎に繰り返し行なう。
【0039】
図4は、IPネットワーク 400に接続された送信装置A 402と送信装置B 404の2台だけが、実際にデータ・パケットをバースト転送する装置として稼動していることを表している。本発明は、これら送信装置A 402と送信装置B 404のそれぞれにおいて実施可能である。即ち、たとえ物理的にIPネットワーク 400に接続されている他の送信装置がある場合でも、その送信装置が実際にデータ・パケットをバースト転送する装置として稼動していない場合は、その送信装置においては本発明を実施しない。
【0040】
各送信装置を含む、IPネットワーク 400に接続された全ての装置には、そのネットワーク内で一意に定まるID(識別子とも呼ぶ)が割り振られる。 このIDとして典型的なものにIPアドレスがあるが、対象とするネットワーク内で一意に定まるIDであればどんな形態のIDでも適用可能である。以後の説明では、各IDは10進数の数字で表すものとする。図4の例では、送信装置A 402のIDは「1」、送信装置B 404のIDは「2」である。
【0041】
IPネットワーク 400には、送信装置A 402または送信装置B 404の何れかから、データ・パケットの各バースト転送の開始タイミングを調整するための制御パケット 420がブロードキャスト送信される。即ち、制御パケット 420は、IPネットワーク 400に接続された何れの装置も受信できるブロードキャスト・アドレスを宛先アドレスとしてIPネットワーク 400に送出される。
【0042】
図6は、IPネットワーク 400にブロードキャスト送信される制御パケット 420のフォーマットの例を示したものである。制御パケット 420は少なくとも第1フィールドと第2フィールドの2つの情報フィールドを備える。
第1フィールドには、IPネットワーク 400に接続されたいずれかの送信装置に割り振られた1つのIDが格納され、第2フィールドには、IPネットワーク 400に接続された1つまたは複数の送信装置のそれぞれに割り振られたIDからなるIDグループが格納される。
【0043】
以下、図5に示した処理手順に従って、本発明の第1の実施形態に基づいて送信装置A 402および送信装置B 404のそれぞれがデータ・パケットのバースト転送を行なう動作について説明する。
送信装置Aにおいて、先ず、IPネットワーク 400にブロードキャスト送信される制御パケットが受信可能になるまで待ち(ステップS500)、受信可能になったら当該制御パケットを受信する(ステップS502)。
【0044】
次に、受信した制御パケットについて、その第1フィールドをチェックして、第1フィールドが示す値が、送信装置A自身のID(即ち、「1」)であるかどうか判断する(ステップS504)。
この第1フィールドは、データ・パケットのバースト転送をこの次に行なわせたい送信装置を指し示すものとして意味付けられる。そうすると、第1フィールドが示す値が、送信装置A自身のIDでない場合は、送信装置Aは、受信した制御パケットによって、今回はデータ・パケットのバースト転送をすることができないと指示を受けたことになるので、そのまま何もしないで、更なる制御パケットが受信可能になるのを待つステップに戻る(ステップS500)。
【0045】
逆に、第1フィールドが示す値が、送信装置A自身のIDである場合は、送信装置Aは、受信した制御パケットによって、今回はデータ・パケットのバースト転送をすることができるとの指示を受けたことになる。よって次に、送信装置Aにおいて実際にデータ・パケットの1回分のバースト転送が可能になるのを待つ(ステップS506)。バースト転送をする準備が整って、転送が可能になったら、実際にその1回分のバースト転送を行なう(ステップS508)。
【0046】
1回分のバースト転送が完了したら、データ・パケットのバースト転送を次に行なわせたい送信装置を決めるために、受信した制御パケットの第2フィールドに格納されたIDグループの中から、送信装置AのIDの次に位置するIDを選択する。送信装置AのIDが当該IDグループの最後部に位置する場合は、ラウンドロビン的に最初に戻り、当該IDグループの最初に位置するIDを選択する(ステップS510)。IDの選択のしかたは、この他の方法を採ることもできる。このようにして選択されたIDに係る送信装置が、バースト転送を次に行なわせたい送信装置である。
【0047】
なお、何らかの理由で場合によっては、送信装置Aにおいて、1回分のバースト転送がなかなか可能にならないことがある。このような場合に、いつまでもバースト転送が可能になるのを待っていたのでは、処理がこのステップで滞ってしまい、IPネットワーク 400に接続された送信装置全体のデータ転送効率を下げることになって好ましくない。よって、このような事態を避けるため、バースト転送が可能になるのを待ち始めてから所定の時間が経過しても依然バースト転送が可能になら無い場合には、タイムアウト処理としてバースト転送をスキップして、バースト転送を次に行なわせたい送信装置を選択するステップに進めるようにすることができる(ステップS530)。
【0048】
前記選択をした後、送信装置Aは、自ら前記の制御パケットのフォーマットに則って作成した第1の新たな制御パケットをIPネットワーク 400にブロードキャスト送信する。この第1の新たな制御パケットの第1フィールドには、前記選択されたIDを格納し、第2フィールドには、前記受信した制御パケットの第2フィールドに示されたIDグループと同一の内容を格納する(ステップS512)。
【0049】
この第1の新たな制御パケットをブロードキャスト送信した後、送信装置Aは、更なる制御パケットが受信可能になるのを待つステップに戻る(ステップS500)。
送信装置Bについても、これと全く同様の処理手順が実行される。
【0050】
図7は、図4に示したデータ転送環境において、本発明の第1の実施形態に基づいて、送信装置Aおよび送信装置Bのそれぞれが図5に示した処理手順を実行した結果、各送信装置が連携して、それぞれのバースト転送がどのようなタイミングで行なわれるかを表したものである。
【0051】
送信装置Aによる1回分のバースト転送 702が終了すると、第1フィールドに送信装置BのIDである「2」を示して新たな制御パケット 722がIPネットワークにブロードキャスト送信される。
この制御パケット 722は、ブロードキャスト・アドレスを宛先として送信されるので送信装置Aと送信装置Bの何れも受信することができる。送信装置Aは、受信した制御パケット 722の第1フィールドが、自己のIDである「1」でないため、何もせずにすぐに別の制御パケットの受信を待つステップに戻る。
しかし、送信装置Bのほうは、受信した制御パケット 722の第1フィールドが、自己のIDである「2」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。
【0052】
送信装置Bによる1回分のバースト転送 712が終了すると、第2フィールドのIDグループ「1,2」の中から、ラウンドロビン的順序で、第1フィールドが示す「2」の次である「1」が選択され、この「1」を第1フィールドに示して新たな制御パケット 724がIPネットワークにブロードキャスト送信される。
今度は、この制御パケット 724を受信した送信装置Bは、その第1フィールドが、自己のIDである「2」でないため、何もせずにすぐに別の制御パケットの受信を待つステップに戻り、逆に、同じく制御パケット 724を受信した送信装置Aは、その第1フィールドが、自己のIDである「1」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。
【0053】
送信装置Aによる1回分のバースト転送 704が終了すると、第2フィールドのIDグループ「1,2」の中から、ラウンドロビン的順序で、第1フィールドが示す「1」の次である「2」が選択され、この「2」を第1フィールドに示して新たな制御パケット 726がIPネットワークにブロードキャスト送信される。
以下、同様の動作が繰り返される。
これにより、送信装置Aからのバースト転送と送信装置Bからのバースト転送は互いに重複することなく行うことができる。
【0054】
次に、本発明の第2の実施形態について説明する。
前記の第1の実施形態において、制御パケットを受信(ステップS502)してから、新たな制御パケットのブロードキャスト送信を開始するまでの間に、もし更なる制御パケットを受信していた場合は(ステップS522)、前記第1の新たな制御パケットをブロードキャスト送信することはせず、代わりに、この受信した更なる制御パケットの第2フィールドの内容を反映させた、第2の新たな制御パケットをブロードキャスト送信する。
即ち、この第2の新たな制御パケットの第1フィールドには、前記の選択されたIDを格納し、第2フィールドには、前記の受信した更なる制御パケットの第2フィールドに示されたIDグループと同一の内容を格納する(ステップS524)。
これは、受信した制御パケットについての一連の処理が完了しない間に、何れかの送信装置から別の制御パケットがブロードキャスト送信され、それを受信してしまう場合に対処した実施形態であり、後述の第3の実施形態を行なう上での前提となるものである。
【0055】
次に、本発明の第3の実施形態について説明する。
図8は、本発明の第3の実施形態に基づいて、IPネットワークに接続された複数の送信装置からのデータ・パケットのバースト転送が行なわれる概念を表す図である。また、図9は、各送信装置における本発明の第3の実施形態に係る処理手順の流れを示す図である。
【0056】
図8は、IPネットワーク 400に接続された送信装置A 402と送信装置B 412の2台だけが、実際にデータ・パケットをバースト転送する装置として稼動していたところへ、新たに送信装置C 802が受信装置C 812へデータ・パケットをバースト転送 820する装置として稼動を開始したことを表している。本発明の第3の実施形態は、このように新たに稼動を開始した送信装置C 802に対しても適用することができるものである。
図8において、送信装置C 812のIDは「3」であるものとする。
【0057】
以下、図9に示した処理手順に従って、本発明の第3の実施形態に基づいて送信装置C 812における動作について説明する。
先ず、第1の実施形態の場合と同様に、IPネットワーク 400にブロードキャスト送信される制御パケットが受信可能になるまで待ち(ステップS500)、受信可能になったら当該制御パケットを受信する(ステップS502)。
【0058】
次に、受信した制御パケットについて、その第1フィールドをチェックするより前に、第2フィールドをチェックして、第2フィールドが示すIDグループの中に、送信装置C自身のID(即ち、「3」)が含まれるかどうか判断する(ステップS902)。
この第2フィールドは、データ・パケットのバースト転送を行う送信装置として現在稼動しているものからなるグループを表すものとして意味付けられる。そうすると、第2フィールドが示すIDグループの中に、送信装置C自身のIDが含まれる場合は、制御パケットをブロードキャスト送信する他の送信装置から、送信装置Cもバースト転送を行う送信装置として現在稼動していると認識されていることを意味するので、その後の動作は、第1の実施形態の場合と同様になる。即ち、この場合は、次に第1フィールドをチェックして、第1フィールドが示す値が、送信装置C自身のIDであるかどうか判断する(ステップS504)。
【0059】
逆に、第2フィールドが示すIDグループの中に、送信装置C自身のIDが含まれない場合は、送信装置Cは、データ・パケットをバースト転送する装置として稼動を開始したばかりであるため、他の送信装置から、送信装置Cがバースト転送を行う送信装置として稼動していると未だ認識されていないことを意味する。よってこの場合、今後ブロードキャスト送信する制御パケットにおける第2フィールドで示される、バースト転送を行う送信装置として稼動する送信装置のグループの情報を更新しなければならない。即ち、第2フィールドが示すIDグループに、送信装置C自身のIDを加えて、当該IDグループを更新する(ステップS904)。
【0060】
次に送信装置Cは、この更新したIDグループに基づいて自ら作成した第3の新たな制御パケットをIPネットワーク 400にブロードキャスト送信する。この第3の新たな制御パケットの第1フィールドには、受信した制御パケットの第1フィールドに示されたIDと同一の内容を格納し、第2フィールドには、前記更新したIDグループを格納する(ステップS906)。
この第3の新たな制御パケットのブロードキャスト送信により、他の送信装置が当該制御パケットを受信したとき、その第2フィールドをチェックすることで、バースト転送を行う送信装置として稼動する送信装置のグループに送信装置Cも加わっていることを認識することができる。
【0061】
この第3の新たな制御パケットをブロードキャスト送信した後、送信装置Cは、更なる制御パケットが受信可能になるのを待つステップに戻る(ステップS500)。
なお、バースト転送を行う送信装置として既に稼動している送信装置AおよびBについては、図9に示した処理手順が実行される場合、第2フィールドが示すIDグループの中に、自身の送信装置のIDが必ず含まれるので、その後の動作は、第1の実施形態の場合と同様になる。
【0062】
図10は、図8に示した、バースト転送を行なう送信装置として送信装置Cが新たに稼動する状況下において、本発明の第3の実施形態に基づいて、送信装置A〜Cのそれぞれが図9に示した処理手順を実行した結果、各送信装置が連携して、それぞれのバースト転送がどのようなタイミングで行なわれるかを表したものである。
【0063】
送信装置Aから、第1フィールドに送信装置BのIDである「2」を示して新たな制御パケット 1002がIPネットワークにブロードキャスト送信される。制御パケット 1002を受信した送信装置Bは、その第1フィールドが、自己のIDである「2」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。
一方、送信装置Bからのバースト転送 1052が行なわれている最中である時刻 1070に、送信装置Cが、バースト転送を行なう送信装置として稼動を開始する。
【0064】
送信装置Bによる1回分のバースト転送 1052が終了すると、第1フィールドが示すIDを「1」に変更して新たな制御パケット 1004がIPネットワークにブロードキャスト送信される。
この制御パケット 1004は送信装置AおよびBによって受信されるが、同時に、新たに図9に示した動作手順の実行を開始した送信装置Cによっても受信される。
制御パケット 1004を受信した送信装置Cは、その第2フィールドに自身のIDである「3」が含まれていないと判断するので、第2フィールドに「3」を加えて更新し、新たな制御パケット 1006をIPネットワークにブロードキャスト送信する。
【0065】
制御パケット 1004を受信した送信装置Aは、その第1フィールドが、自己のIDである「1」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。通常であれば、バースト転送を終了した後、第1フィールドが示すIDを「2」に変更して新たな制御パケットをブロードキャスト送信することになる。しかし今回は、新たな制御パケットのブロードキャスト送信を行なう前に、送信装置Cによってブロードキャスト送信された制御パケット 1006を、更なる制御パケットとして受信している。よって、当該第3の実施形態に包含される前記の第2の実施形態の処理手順(即ち、ステップS524)に従って、受信した制御パケット 1006の第2フィールドが示す内容に基づいて、第2フィールドに示すIDグループを「1、2、3」と更新して、新たな制御パケット 1008をIPネットワークにブロードキャスト送信する。
【0066】
制御パケット 1008を受信した送信装置Bは、その第1フィールドが、自己のIDである「2」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。1回分のバースト転送 1056が終了すると、送信装置Cの稼動によって更新された第2フィールドのIDグループ「1、2、3」の中から、ラウンドロビン的順序で、第1フィールドが示す「2」の次である「3」が選択され、この「3」を第1フィールドに示して新たな制御パケット 1010がIPネットワークにブロードキャスト送信される。
【0067】
制御パケット 1010は送信装置A〜Cの何れもが受信するが、送信装置Cのみが、その第1フィールドが自己のIDである「3」を示すため、データ・パケットのバースト転送をするための一連の処理を実行する。
以後は、当該第3の実施形態が包含する前記の第1の実施形態と同様の処理手順に従って、送信装置A==>>送信装置B==>>送信装置C==>>送信装置A==>>・・・・の順でサイクリックにバースト転送が繰り返され、これにより、送信装置A、B、Cからのそれぞれのバースト転送を互いに重複することなく行うことができる。
即ち、当初は、送信装置A==>>送信装置B==>>送信装置A==>>・・・・の順でバースト転送が繰り返されていたところ、本発明の第3の実施形態に従えば、途中から新たに稼動を開始した送信装置Cがこれに割り込む形でサイクリック・ループがスムーズに更新される。
【0068】
以上、本発明の第3の実施形態は、1つの送信装置が、バースト転送を行なう送信装置として新たに稼動する場合について対処するものである。この第3の実施形態の拡張形態である第4の実施形態によって、これまでバースト転送を行なう送信装置として稼動していたある送信装置が、バースト転送の繰り返しを終了して稼動を停止する場合に対処することができる。
【0069】
第1の実施形態または第3の実施形態においては、実施対象の送信装置は、受信した制御パケットの第1フィールドをチェックして、第1フィールドが示す値が、当該送信装置自身のIDであるか判断する(ステップS504)。
第4の実施形態では、この第1フィールドが示す値が、当該送信装置自身のIDであると判断した場合に、バースト転送が可能になるのを待つ処理を開始する前に、当該送信装置が既に、当該送信装置で予定されていた全てのバースト転送を終了しているかどうか判断する(ステップS912)。
【0070】
この、全てのバースト転送を終了しているかどうかの判断は、例えば、当該送信装置が予め所定の回数分のバースト転送を行うようにプログラミングすることで容易に実施することができる。また、当該送信装置のユーザによるコマンドにより、あるいは外部装置からの入力により、データ・パケットのバースト転送を終了する旨の指示を与える(即ち、当該送信装置内のあるステータスまたはフラグの値が変わる)場合は、その指示を当該送信装置のプログラムが(正確には、そのプログラムによって実行させられるCPU等が)モニターすることで実施することができる。
【0071】
当該送信装置が、全てのバースト転送を終了していると判断した場合は、データ・パケットのバースト転送を次に行なわせたい送信装置を決めるために、受信した制御パケットの第2フィールドが示すIDグループの中から、ラウンドロビン的順序で当該送信装置自身のIDの次に位置するIDを選択する。(ステップS914)。
【0072】
当該送信装置が、全てのバースト転送を終了していると判断した場合は、その送信装置を、バースト転送をサイクリックに行わせるグループに加えておく必要性はなくなる。よって、受信した制御パケットの第2フィールドが示すIDグループから当該送信装置自身のIDを取り除いてIDグループを更新し、この更新したIDグループに基づいて自ら作成した第4の新たな制御パケットをIPネットワーク 400にブロードキャスト送信する。即ち、この第4の新たな制御パケットの第1フィールドには、前記選択されたIDを格納し、第2フィールドには、前記更新したIDグループを格納する(ステップS916)。
【0073】
この第4の新たな制御パケットのブロードキャスト送信により、他の送信装置が当該制御パケットを受信したとき、その第2フィールドをチェックすることで、バースト転送を行う送信装置として稼動する送信装置のグループから送信装置Cが外れたことを認識することができる。
この第4の新たな制御パケットをブロードキャスト送信した後、当該送信装置における、本発明の第4の実施形態に係る処理手順は終了する。
【0074】
最後に、本発明の第5の実施形態について説明する。
図11は、各送信装置における本発明の第5の実施形態に係る処理手順の流れを示す図である。
以上の第1ないし4の実施形態においては、制御パケットが定期的にブロードキャスト送信されている状況を仮定したものである。しかし、一番最初に1つの送信装置が、バースト転送を行なう送信装置として稼動を開始する場合は、それまでにこのIPネットワークに制御パケットをブロードキャスト送信するものがいない。よって、制御パケットを待ち始めてから所定の時間内に制御パケットを受信しない場合は、タイムアウト処理として、制御パケットを待つのをやめ、データ・パケットのバースト転送をするための一連の処理を実行する。即ち、当該送信装置からのバースト転送が可能になるのを待ち(ステップ1102)、バースト転送が可能になったら、実際にその1回分のバースト転送を行なう(ステップS1104)。
【0075】
バースト転送が終了した後、当該送信装置は、自ら作成した第5の新たな制御パケットを、最初に送信する制御パケットとしてIPネットワーク 400にブロードキャスト送信する。当該送信装置のみが、IPネットワーク 400にバースト転送を行う装置として稼動しているので、この第5の新たな制御パケットの第1フィールドには、当該送信装置自身のIDを格納し、第2フィールドには、自身のIDのみからなるIDグループ(要素が1つだけのグループ)を格納する(ステップS1108)。
この第5の新たな制御パケットをブロードキャスト送信した後、当該送信装置は、更なる制御パケットが受信可能になるのを待つステップに戻る(ステップS500)。
【0076】
ブロードキャスト送信されたこの第5の新たな制御パケットは、当該送信装置自身によって受信される。この場合、制御パケットの第1フィールドには自身のIDが示されているため、データ・パケットのバースト転送をするための一連の処理が実行される。
バースト転送が終了した後、第2フィールドが示すIDグループの中から1つのIDが選択される。しかし当該IDグループは自身のIDのみからなるものなので、結局再び、自身のIDが選択される(ステップS510)。よって、第1フィールドを自身のIDとし、第2フィールドを自身のIDのみからなるIDグループとして、再び新たな制御パケットがブロードキャスト送信される(ステップS512)。
【0077】
このようにして、当該送信装置は、自分自身が送信する制御パケットに従って、バースト転送を繰り返すことができる。ここに、新たな送信装置が、バースト転送を行う装置として稼動を始めた場合は、前記第4の実施形態に基づいて、バースト転送をサイクリックに行うグループにこの新たな送信装置を割り込ませることができ、以後はこれら2つの送信装置間でバースト転送を交互に繰り返すことができる。
【0078】
以上、本発明の第1ないし第5の実施形態に基づく処理手順について説明したが、これらの処理は、送信装置が備えるいくつかの機能ブロックの組み合わせによって実施することができる。よって、本発明の技術分野に係る当業者であれば、前記各処理手順を実行することができるいくつかの機能ブロックを備える装置(送信装置全体またはその一部)として本発明を捉えることができる。
【0079】
図12は、本発明の実施をすることができる、複数の機能ブロックからなる装置の一例を示したものである。装置 1200は、図3の送信装置 300の一部と捉えることもできるし、送信装置 300の全体と考えることもできる。典型的には、装置 1200は、送信装置 300の中の外部入出力インターフェース 332を構成するネットワーク・アダプタ等の装置とすることができる。
【0080】
装置 1200は、受信部 1202、第1判断部 1204、データ・パケット送信部 1206、選択部 1208、および制御パケット送信部 1210を少なくとも備えた装置として構成することができる。
受信部 1202は、IPネットワーク 400にブロードキャスト送信される制御パケットを待って、これを受信する機能を有する。前記のように、この制御パケットは、少なくとも第1フィールドと第2フィールドの2つの情報フィールドを備える。第1フィールドには、IPネットワーク 400に接続されたいずれかの送信装置に割り振られた1つのIDが格納され、第2フィールドには、IPネットワーク 400に接続された1つまたは複数の送信装置のそれぞれに割り振られたIDからなるIDグループが格納される。
【0081】
第1判断部 1204は、受信部 1202により受信された制御パケット 1230における第1フィールドの内容 1220と、送信装置 300を示すID 1224とを比較して、第1フィールドに送信装置 300を示すIDが格納されているか判断する。
データ・パケット送信部 1206は、第1フィールドに送信装置 300を示すIDが格納されているとの判断 1240に応答して、送信装置 300から、対応する受信装置に向けてデータ・パケット 1234をバースト転送する。
【0082】
選択部 1208は、データ・パケット送信部 1206において1回分のバースト転送が完了したこと 1242に応答して、受信部 1202により受信された制御パケット 1230における第2フィールドの内容 1222であるIDグループを参照して、そのグループの中から1つのIDを、ラウンドロビン等の所定の基準に従って選択する。
制御パケット送信部 1210は、第1フィールドおよび第2フィールドを少なくとも含む第1の新たな制御パケット 1232を生成し、IPネットワーク 400にブロードキャスト送信する。その第1フィールドには、選択部 1208が選択したID 1244を格納する。その第2フィールドには、受信部 1202が受信した制御パケットのうち最も直近に受信された制御パケットにおける第2フィールドの内容 1222であるIDグループを参照して、その同じIDグループを格納する。
【0083】
装置 1200はまた、第2判断部 1212をさらに備えた装置として構成することもできる。
この第2判断部 1212は、受信部 1202により受信された制御パケット 1230における第2フィールドの内容 1220であるIDグループと、送信装置 300を示すIDとを比較して、第2フィールドに格納されたIDグループに送信装置 300を示すIDが含まれるか判断する。
この場合、第1判断部 1204は、第2判断部 1212が、第2フィールドに格納されたIDグループに送信装置 300を示すIDが含まれると判断した場合 1246にのみ、第1フィールドに送信装置 300を示すIDが格納されているか判断する。
【0084】
また、制御パケット送信部 1210は、第2判断部 1212が、第2フィールドに格納されたIDグループに送信装置 300を示すIDが含まれないと判断した場合 1248は、前記の第1の新たな制御パケットはブロードキャスト送信せず、代わりに、第1フィールドおよび第2フィールドを少なくとも含む第2の新たな制御パケット 1232を生成し、IPネットワーク 400にブロードキャスト送信する。その第1フィールドには、受信部 1202が受信した制御パケット 1230の第1フィールドの内容 1220であるIDを参照して、その同じIDを格納し、その第2フィールドには、受信部 1202が受信した制御パケット 1230の第2フィールドの内容 1222であるIDグループに、送信装置 300のID 1224を加えて更新したIDグループを格納する。
【0085】
さらにまた、本発明の第1ないし第5の実施形態に基づく処理手順は、図3の送信装置 300のハード・ディスク・ドライブ 318等に記憶されたアプリケーション・ソフトウェア324またはオペレーティング・システム322等のコンピュータ・プログラムが、送信装置 300に含まれるプロセッサ302等の各種コンポーネントに実行させることができる。即ち、本発明を、これらの処理手順を送信装置 300に実行させるようなコンピュータ・プログラムとして捉えることが可能である。
【0086】
以上、本発明をいくつかの実施形態を用いて説明したが、本発明はさらに多くの異なる態様で実施することが可能であり、上記実施形態は特許請求の範囲にかかる発明を限定するものではない。 即ち、上記実施形態に多様な変更または改良を加えることが可能であることが当業者に明らかである。
またその様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
さらに、上記実施形態の中で説明されている特徴の組み合わせの全てが、発明の解決手段に必須とは限らないことにも留意されたい。
【図面の簡単な説明】
【0087】
【図1】同一ネットワーク上で複数の送信装置から複数の転送ストリームが定期的にバースト転送される環境を示す。
【図2】図1のデータ転送環境において、各送信装置から転送されるデータのデータ・レートの変化を示す。
【図3】本発明を実施するのに好適な送信装置の詳細なハードウェア構成の典型的な例を示す。
【図4】本発明の第1および第2の実施形態に基づいて、IPネットワークに接続された複数の送信装置からのデータ・パケットのバースト転送が行なわれる概念を表す。
【図5】各送信装置における本発明の第1および第2の実施形態に係る処理手順の流れを示す。
【図6】IPネットワークにブロードキャスト送信される制御パケットのフォーマットの例を示す。
【図7】本発明の第1の実施形態に基づいて、各送信装置が連携して、それぞれのバースト転送がどのようなタイミングで行なわれるかを表す。
【図8】本発明の第3および第4の実施形態に基づいて、IPネットワークに接続された複数の送信装置からのデータ・パケットのバースト転送が行なわれる概念を表す。
【図9】各送信装置における本発明の第3および第4の実施形態に係る処理手順の流れを示す。
【図10】本発明の第3の実施形態に基づいて、各送信装置が連携して、それぞれのバースト転送がどのようなタイミングで行なわれるかを表す。
【図11】各送信装置における本発明の第5の実施形態に係る処理手順の流れを示す。
【図12】本発明の実施をすることができる、複数の機能ブロックからなる装置の一例を示す。

【特許請求の範囲】
【請求項1】
ネットワークに接続された複数の送信装置のうちの1つの送信装置が、対応する受信装置に対して、当該ネットワークを介して1群のデータ・パケットの送信を行なう方法であって、
当該送信装置が、前記複数の送信装置のうちの1つから前記ネットワークにブロードキャスト送信される制御パケットであって、前記複数の送信装置の何れか1つを示す識別子を格納した第1フィールドと、前記複数の送信装置の全てまたは一部の送信装置に係る識別子グループを格納した第2フィールドとを含む制御パケットを待って、それを受信するステップと、
当該送信装置が、前記制御パケットを受信したことに応答して、前記制御パケットにおける前記第1フィールドに当該送信装置を示す識別子が格納されているか判断し、
(a) 格納されていないと判断する場合は、更なる制御パケットを対象として、前記受信するステップに戻り、
(b) 格納されていると判断する場合は、当該送信装置からの1群のデータ・パケットの送信が可能になるのを待って、前記対応する受信装置に向けて当該1群のデータ・パケットを送信するステップを実行する、
ステップと、
当該送信装置が、前記1群のデータ・パケットの送信が完了したことに応答して、前記第2フィールドに格納された前記識別子グループの中から1つの識別子を所定の基準に従って選択するステップと、
当該送信装置が、前記選択したことに応答して、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記識別子グループを格納した、第1の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、
当該送信装置が、前記第1の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
を有する方法。
【請求項2】
当該送信装置が、前記受信するステップの後、前記ブロードキャスト送信するステップの開始までの間に、更なる制御パケットを受信した場合に、前記第1の新たな制御パケットをブロードキャスト送信せず、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記更なる制御パケットにおける第2フィールドに格納された識別子グループを格納した、第2の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、
当該送信装置が、前記第2の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
をさらに有する、請求項1に記載の方法。
【請求項3】
当該送信装置が、前記制御パケットを受信したことに応答して、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前に、前記第2フィールドに格納された識別子グループに当該送信装置を示す識別子が含まれるか判断し、
(a) 含まれると判断する場合は、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前記ステップを実行し、
(b) 含まれないと判断する場合は、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記制御パケットにおける前記第1フィールドに格納された前記識別子を格納し、当該第2フィールドには前記識別子グループに当該送信装置の識別子を加えた更新識別子グループを格納した、第3の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップを実行する、
ステップと、
当該送信装置が、前記第3の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
をさらに有する、請求項2に記載の方法。
【請求項4】
1群のデータ・パケットを送信する前記ステップは、送信が可能になるのを待ち始めてから所定の時間内に送信が可能にならない場合に、前記選択するステップを実行する、
請求項1または3に記載の方法。
【請求項5】
受信した前記制御パケットにおける前記第1フィールドに当該送信装置を示す識別子が格納されていると判断する場合に、前記1群のデータ・パケットの送信が可能になるのを待つ前に、当該送信装置からいかなる1群のデータ・パケットをも以後送信しないかどうかを当該送信装置が判断し、
(a) 以後送信すると判断する場合は、1群のデータ・パケットの送信が可能になるのを待って、当該送信装置に対応する受信装置に向けて当該1群のデータ・パケットを送信する前記ステップを実行し、
(b) 以後送信しないと判断する場合は、前記第2フィールドに格納された前記識別子グループの中から1つの識別子を所定の基準に従って選択するステップを実行する、
ステップと、
当該送信装置が、前記選択したことに応答して、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記識別子グループから当該送信装置の識別子を除いた更新識別子グループを格納した、第4の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと
をさらに有する、請求項3に記載の方法。
【請求項6】
前記受信するステップは、制御パケットを待ち始めてから所定の時間内に制御パケットを受信しない場合に、当該送信装置からの1群のデータ・パケットの送信が可能になるのを待って、前記対応する受信装置に向けて当該1群のデータ・パケットを送信するステップを含み、
当該送信装置が、前記送信が完了したことに応答して、第1フィールドおよび第2フィールドを含み、当該第1フィールドには当該送信装置の識別子を格納し、当該第2フィールドには当該送信装置の識別子のみからなる識別子グループを格納した、第5の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、
当該送信装置が、前記第5の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
をさらに有する、請求項1または3に記載の方法。
【請求項7】
1つの送信装置を所定の基準に従って選択する前記ステップは、
当該送信装置に係る識別子が前記識別子グループの最後部に位置しない場合は、前記識別子グループの中で次に位置する識別子を選択し、
当該送信装置に係る識別子が前記識別子グループの最後部に位置する場合は、前記識別子グループの最初に位置する識別子を選択する、
請求項1または3に記載の方法。
【請求項8】
前記識別子のそれぞれは、前記ネットワークにおいて前記複数の送信装置の間で一意に割り当てられる、請求項1または3に記載の方法。
【請求項9】
前記ネットワークはIPネットワークであり、
前記1群のデータ・パケットの送信は、当該1群のデータ・パケットのバースト転送を含み、
前記識別子は、前記IPネットワークに接続された各送信装置に割り当てられたIPアドレスを含む、
請求項8に記載の方法。
【請求項10】
ネットワークに接続された複数の送信装置のうちの第1送信装置が、当該ネットワークにおいてデータ・パケットを送信する方法であって、
前記複数の送信装置のうちの第2送信装置が送信した制御パケットを受信するステップと、
受信した前記制御パケットが、前記第1送信装置にデータ・パケットの送信を認めることを示しているか判断し、
(a) 示していると判断したことに応答して、データ・パケットを送信し、
(b) 示していないと判断したことに応答して、更なる制御パケットを受信する、
ステップと、
前記データ・パケットの送信が完了したことを条件に、前記複数の送信装置から所定の規則で選択した1つの送信装置を、次にデータ・パケットの送信を認める送信装置として示した、新たな制御パケットを送信するステップと
を有する方法。
【請求項11】
ネットワークに接続された複数の送信装置のうちの1つであり、対応する受信装置に対して当該ネットワークを介して1群のデータ・パケットの送信を行なう送信装置であって、
前記ネットワークにブロードキャスト送信される制御パケットであって、前記複数の送信装置の何れか1つを示す識別子を格納した第1フィールドと、前記複数の送信装置の全てまたは一部の送信装置に係る識別子グループを格納した第2フィールドとを含む制御パケットを待って、それを受信する、受信部と、
前記受信部により受信された前記制御パケットにおける前記第1フィールドと、当該送信装置を示す識別子とを比較して、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する、第1判断部と、
前記第1フィールドに当該送信装置を示す識別子が格納されているとの判断に応答して、当該送信装置から、前記対応する受信装置に向けて1群のデータ・パケットを送信する、データ・パケット送信部と、
前記1群のデータ・パケットの送信が完了したことに応答して、前記制御パケットにおける前記第2フィールドに格納された前記識別子グループの中から1つの識別子を所定の基準に従って選択する、選択部と、
第1フィールドおよび第2フィールドを含み、当該第1フィールドには、前記選択部により選択された識別子を格納し、当該第2フィールドには、前記受信部により最も直近に受信された制御パケットにおける第2フィールドに格納された識別子グループを格納した、第1の新たな制御パケットを、前記ネットワークにブロードキャスト送信する、制御パケット送信部と
を備える送信装置。
【請求項12】
前記受信部により受信された前記制御パケットにおける前記第2フィールドと、当該送信装置を示す識別子とを比較して、前記第2フィールドに格納された前記識別子グループに当該送信装置を示す識別子が含まれるか判断する、第2判断部をさらに備え、
前記第1判断部は、前記第2判断部が、前記第2フィールドに格納された前記識別子グループに当該送信装置を示す識別子が含まれると判断した場合にのみ、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断し、
前記制御パケット送信部は、前記第2判断部が、前記第2フィールドに格納された前記識別子グループに当該送信装置を示す識別子が含まれないと判断した場合は、前記第1の新たな制御パケットをブロードキャスト送信せず、第1フィールドおよび第2フィールドを含み、当該第1フィールドには、前記受信部により受信された前記制御パケットにおける前記第1フィールドに格納された前記識別子を格納し、当該第2フィールドには、前記受信部により受信された前記制御パケットにおける前記第2フィールドに格納された前記識別子グループに当該送信装置の識別子を加えた更新識別子グループを格納した、第2の新たな制御パケットを、前記ネットワークにブロードキャスト送信する、
請求項11に記載の送信装置。
【請求項13】
ネットワークに接続された複数の送信装置のうちの1つの送信装置が、対応する受信装置に対して、当該ネットワークを介して1群のデータ・パケットの送信を行なうための、当該送信装置に記憶されたプログラムであって、
前記複数の送信装置のうちの1つから前記ネットワークにブロードキャスト送信される制御パケットであって、前記複数の送信装置の何れか1つを示す識別子を格納した第1フィールドと、前記複数の送信装置の全てまたは一部の送信装置に係る識別子グループを格納した第2フィールドとを含む、制御パケットを待って、それを受信するステップと、
前記制御パケットを受信したことに応答して、前記制御パケットにおける前記第1フィールドに当該送信装置を示す識別子が格納されているか判断し、
(a) 格納されていないと判断する場合は、更なる制御パケットを対象として、前記受信するステップに戻り、
(b) 格納されていると判断する場合は、当該送信装置からの1群のデータ・パケットの送信が可能になるのを待って、前記対応する受信装置に向けて当該1群のデータ・パケットを送信するステップを実行する、
ステップと、
前記1群のデータ・パケットの送信が完了したことに応答して、前記制御パケットにおける前記第2フィールドに格納された前記識別子グループの中から1つの識別子を所定の基準に従って選択するステップと、
前記選択したことに応答して、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記識別子グループを格納した、第1の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、
前記第1の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
を当該送信装置に実行させるためのプログラム。
【請求項14】
前記受信するステップの後、前記ブロードキャスト送信するステップの開始までの間に、更なる制御パケットを受信した場合に、前記第1の新たな制御パケットをブロードキャスト送信せず、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記選択された識別子を格納し、当該第2フィールドには前記更なる制御パケットにおける第2フィールドに格納された識別子グループを格納した、第2の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップと、
前記第2の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
を当該送信装置にさらに実行させるための、請求項13に記載のプログラム。
【請求項15】
前記制御パケットを受信したことに応答して、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前に、前記第2フィールドに格納された識別子グループに当該送信装置を示す識別子が含まれるか判断し、
(a) 含まれると判断する場合は、前記第1フィールドに当該送信装置を示す識別子が格納されているか判断する前記ステップを実行し、
(b) 含まれないと判断する場合は、第1フィールドおよび第2フィールドを含み、当該第1フィールドには前記制御パケットにおける前記第1フィールドに格納された前記識別子を格納し、当該第2フィールドには前記識別子グループに当該送信装置の識別子を加えた更新識別子グループを格納した、第3の新たな制御パケットを、前記ネットワークにブロードキャスト送信するステップを実行する、
ステップと、
前記第3の新たな制御パケットのブロードキャスト送信が完了した後、前記受信するステップに戻るステップと
を当該送信装置にさらに実行させるための、請求項14に記載のプログラム。


【図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

【図12】
image rotate


【公開番号】特開2009−71411(P2009−71411A)
【公開日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2007−235237(P2007−235237)
【出願日】平成19年9月11日(2007.9.11)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】