(57)【要約】【課題】  複数のノードを有し、且つ該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおける、予測的スケジューリング技術を提供する。【解決手段】  本発明に係る予測的スケジューリング方法は、第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを、第２のノードで受信することを有する。制御メッセージ内の情報が導き出され、且つ第１のノードに対する第２のノードの位置が導き出される。制御メッセージ内の情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムが実行される。【選択図】図７
2008136206.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを有し、該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおいて、予測的スケジューリング技術を実行する方法であって：
第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを、第２のノードで受信する段階；
前記制御メッセージ内の前記情報を導出する段階；
第１のノードに対する第２のノードの位置を導出する段階；及び
前記制御メッセージ内の前記情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムを実行する段階；
を有する方法。
【請求項２】
予測されたトークン到着時刻を用いて第２のノードにおける計画表を更新する段階を更に有する請求項１記載の方法。
【請求項３】
前記計画表内の予測されたトークン到着時刻に従って第２のノードからのデータバースト送信を準備する段階を更に有する請求項２記載の方法。
【請求項４】
第１のノードに対する第２のノードの位置を導出する段階は、第１のノードと第２のノードとが隣接し合っていることを導出することを有し、且つ予測アルゴリズムを実行する段階は第１のノードと第２のノードとが隣接位置にあることを考慮した予測アルゴリズムを実行することを有する、請求項１記載の方法。
【請求項５】
第１のノードに対する第２のノードの位置を導出する段階は、第１のノードと第２のノードとの間の１つ以上の介在ノードを導出することを有する、請求項１記載の方法。
【請求項６】
各介在ノードの種類を導出する段階を更に有し、該種類はエンプティバッファのノード及び非エンプティバッファのノードを有する、請求項５記載の方法。
【請求項７】
各介在ノードの種類を導出する段階は各介在ノードがエンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階はエンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、請求項６記載の方法。
【請求項８】
各介在ノードの種類を導出する段階は各介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階は非エンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、請求項６記載の方法。
【請求項９】
各介在ノードの種類を導出する段階は、少なくとも１つの介在ノードがエンプティバッファのノードであること及び少なくとも１つの介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階は、１つ以上の非エンプティバッファのノードと１つ以上のエンプティバッファのノードとの組み合わせを考慮した予測アルゴリズムを実行することを有する、請求項６記載の方法。
【請求項１０】
複数のノードを有し、該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおいて、予測的スケジューリング技術を実行するための、コンピュータ可読媒体に記録されたプログラムであって：
第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを、第２のノードで受信し；
前記制御メッセージ内の前記情報を導出し；
第１のノードに対する第２のノードの位置を導出し；且つ
前記制御メッセージ内の前記情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムを実行する；
ように作用するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して通信ネットワーク分野に関し、より具体的にはデータパス制御の予測的スケジューリングに関する。
【背景技術】
【０００２】
光ネットワークは、光ファイバ上を搬送される光信号の形態でデータを伝送する。ネットワークの帯域幅を最大限に利用するため、光ネットワークは例えば波長分割多重（ＷＤＭ）等の技術を採用している。例えば、ＷＤＭのリング型光ネットワークは、該ネットワーク上の相異なる地点間でデータトラフィックを輸送する。従来技術に係るデータ伝送は、トークンを認証するためのトークンを受信すること、及びトークンの受信後に送信用のデータを編成することを含んでいる。送信用データはトークンが受信された後に編成されるので、データを送信することよりもむしろ、データを編成することに時間が費やされている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、送信用データを編成する従来技術に伴う欠点及び問題が抑制あるいは除去された、データパス制御の予測的スケジューリング方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の一実施形態に従った、複数のノードを有し且つ該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおける予測的スケジューリング技術は、第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを第２のノードで受信することを有する。制御メッセージ内の上記情報が導出され、且つ第１のノードに対する第２のノードの位置が導出される。制御メッセージ内の上記情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムが実行される。
【発明の効果】
【０００５】
本発明の実施形態は、１つ又は複数の効果をもたらし得る。一実施形態における技術的効果の１つは、データパス制御の予測的スケジューリング技術を実現することである。予測的スケジューリング技術は、データ伝送を許可するトークンを光ノードが実際に受け取る前に、光ノードが該トークンを受け取る時点を導出することを可能にする。故に、光ノードはトークンの受信前に送信用のデータを編成することができ、それにより、データを編成するために費やされる時間が短縮される。
【０００６】
本発明の一部の実施形態は、上記の効果の一部又は全てを含んでいてもよく、また上記の効果を含んでいないこともあり得る。その他の技術的効果が、以下の説明、添付の図面及び特許請求の範囲により当業者に明らかになる。
【発明を実施するための最良の形態】
【０００７】
本発明並びにその特徴及び効果のより完全な理解のため、以下では、添付の図面に関連付けながら本発明を説明する。本発明の実施形態及び効果は図１乃至８Ｂを参照することにより最もよく理解される。様々な図の似通った部分及び対応する部分には似通った参照符号が使用される。
【０００８】
図１は、本発明の様々な実施形態に従って動作するネットワークノード12を含む通信ネットワーク10を例示している。一般に、ネットワーク10はノード12間のデータ伝送に対応している。より具体的には、ノード12はネットワーク10のより効率的な通信を実現する電気光学スイッチを含んでいる。
【０００９】
特定の実施形態によれば、ネットワーク10は光通信リングを形成しており、ノード12は光通信ノードである。以下の説明は、主として、光学機器としてのネットワーク10及びノード12の実施形態に焦点を当てている。しかしながら、開示される技術は如何なる好適種類のネットワークに用いられてもよいことは理解されるべきである。
【００１０】
図示されるように、ネットワーク10は光通信リングであり、ノード12は光通信ノードである。ネットワーク10は、波長でチャネルを変調することによって共有パス上に多数の光チャネルが携えられるＷＤＭを用いている。チャネルは、例えばＷＤＭにおける波長など、利用可能な帯域幅を好ましく分離したものを意味する。しかしながら、ネットワーク10は如何なる好適な多重化処理を用いていてもよいことは理解されるべきである。また、ネットワーク10はリング型ネットワークとして図示されているが、ネットワーク10は、網型ネットワーク又はポイントツーポイント型ネットワークを含め、如何なる好適種類のネットワークであってもよい。ネットワーク10がリング型ネットワークである実施形態においては、ネットワーク10は時計回り及び／又は反時計回りに動作してもよい。例えば、ネットワーク10は２つの反対方向のリング（又は、好適な数のリングをもたらすその他の好適な数のファイバ）を含んでいてもよい。
【００１１】
各ノード12は、その他のネットワーク機器に接続しデータ通信を行うことが可能な、適当な制御ソフトウェア及び／又はロジックを含むハードウェアを意味する。このソフトウェア及び／又はロジックはコンピュータ可読媒体に具現化されてもよい。データは、例えば映像、音声、マルチメディア、制御、信号伝達、その他の情報、又はこれらの任意の組み合わせ等の、何らかの好適な情報のことである。特定の実施形態においては、ノード12は光バースト伝送のために使用される。光バースト伝送は、非常に短い伝送時間を有する非常に高いデータ信号伝達速度でデータを光学的に伝送することを可能にする。データは不連続なユニットであるバーストで伝送される。ネットワーク10のリング構成により、何れのノード12も、ネットワーク10内のその他の何れのノード12に対してもデータを伝達することが可能である。ノード12は自身がデータを伝えるときソースノード12として機能する。ノード12は自身がソースノード12からデータを受け取るとき受信ノード12として機能する。ソースノード12と受信ノード12との間に存在するノード12は介在ノード12として認識される。介在ノード12はソースノード12からのデータを処理することなく、意図された受信ノード12に転送する。例えば、隣接し合うノード12に関しては、データは直接的に伝達され得る。隣接し合わないノード12に関しては、データは１つ又は複数の介在ノード12を経由して伝達される。例えばノード12aは、隣接するノード12b及び12eには直接的にデータを伝達し得るが、隣接しないノード12dには介在ノード12b及び12cを経由して、あるいは介在ノード12eを経由してデータを伝達する。ノード12はソースノード、受信ノード、介在ノード、又はこれらの組み合わせとして動作し得る。
【００１２】
ノード12は、例えばポイントツーポイント（一対一）伝送、又はポイントツーマルチポイント（一対多）伝送などの如何なる好適な輸送技術でデータを伝達してもよい。例えば、ポイントツーポイント伝送は、ネットワーク10内の１つのノード12からネットワーク10内の別の１つのノード12にデータを伝達することを含む。他の一例として、ポイントツーマルチポイント伝送（すなわち、マルチキャスト伝送）は、ネットワーク10内の１つのノード12からネットワーク10内の複数のノード12にデータを伝達することを含む。例えば、ノード12aはポイントツーマルチポイント伝送を用いてノード12b、12c及び12eにデータを送信してもよい。この例では、ノード12aはルートノードとして機能し、ノード12b、12c及び12eはブランチノードとして機能する。ルートノードはマルチキャスト伝送の発信元であり、複数のブランチノードはマルチキャスト伝送の受け手である。
【００１３】
ノード12は如何なる好適な波長を用いてデータを伝達するように構成されていてもよい。単なる一例として、ノード12aは波長λ1及びλ2を用いてデータを伝達し、ノード12bは波長λ3を用いてデータを伝達し、ノード12cは波長λ4及びλ5を用いてデータを伝達してもよい。さらに、ノード12はその他のノード12からのトラフィックを、トラフィックを送信するために使用するのと同一の波長で受け取ってもよいし、それとは異なる波長で受け取ってもよい。ノード12はまた、例えばノード12が故障したり、ファイバ16が切断されたり等の伝送障害が発生した場合の耐障害性を提供してもよい。ノード12は伝送障害中に取って代わる予備部品を有し、通常動作が続けられることを可能にしていてもよい。
【００１４】
ノード12はデータ源14に結合され得る。データ源14はネットワーク10にデータを提供し、あるいはネットワーク10からデータを受け取る。データ源14はローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、又はデータの送信又は受信を行い得るその他の種類の装置若しくはネットワークであってもよい。
【００１５】
ノード12は１本以上の光ファイバ16によって互いに結合されている。ファイバ16はノード12間で光信号を伝送する。ファイバ16は単一の単方向ファイバ、単一の双方向ファイバ、又は複数の単方向ファイバ若しくは双方向ファイバであり得る。図示されるように、ネットワーク10は２本の単方向ファイバ16a及び16bを含んでいる。ネットワーク10上で反時計回りに伝送されるデータはファイバ16a上で伝えられ、ネットワーク10上で時計回りに伝送されるデータはファイバ16b上で伝えられる。ファイバ16は、複数の波長を有する光信号を伝送可能な材料から成っている。
【００１６】
ノード12はまた、制御用チャネル18によって互いに結合されていてもよい。制御用チャネル18は光チャネルとしてもよいし、あるいは隣接し合うノード12間で制御メッセージを伝達することに適した何らかの他の種類のチャネルとしてもよい。例えば、制御用チャネル18は、ネットワーク10がＷＤＭを使用するときにファイバ16a及び16b上で伝達される別波長の、光監視チャネル（optical  supervisory  channel；ＯＳＣ）と呼ばれるチャネルとしてもよい。特定の実施形態において、制御用チャネル18はジェネラライズド・マルチプロトコル・ラベル・スイッチング（ＧＭＰＬＳ）ベースのチャネルとしてもよい。ＧＭＰＬＳ制御用チャネルの信号伝達によってラベル・スイッチド・パス（ＬＳＰ）が構築され、光バーストが流れる仮想トンネルが作り出される。
【００１７】
制御メッセージは、ネットワーク10上でのデータ伝送処理を制御し、ネットワーク10内のノード12間での効率的な資源利用を実現する。特定の実施形態によれば、制御メッセージは全てのノード12で処理される一方で、データ伝送信号は電子的な処理を用いずに介在ノード12を通過してもよい。
【００１８】
以下にて更に詳述されるように、ノード12は制御メッセージからの情報を使用して、データ制御用チャネル18の予測的スケジューリング技術を実現してもよい。例えば、ノード12bは制御メッセージを使用して、データの伝送を認証するためのトークンを受信する時刻を導出してもよい。ノード12はトークンを受信するのを待ってからネットワーク10上にデータを送信する。トークンはネットワーク10上での競合を回避するようにノード12間の調整を提供する。トークンは、ノード12によって受信され、そのノード12にネットワーク10上にデータを送信する権限を付与する如何なる好適な通信をも含む。特定の実施形態において、ノード12はトークンを受け取る時刻を予測し得る。トークンの到着順序の予測可能性は制御用チャネル18及び実際のデータの動きを最適化することに有用である。図６及び７にて述べられるように、ネットワーク10上を循環する全ての既存のトークンに予測的スケジューリング技術を適用することにより、各ノード12は、予期されたトークンが自身に到着した時に素早くデータを送信し得るように、自身のデータ送信処理を十分な精度でスケジューリングすることができる。
【００１９】
特定の実施形態において、ネットワーク10はまたポリシーサーバ20を含んでいる。ポリシーサーバ20は、制御用チャネル18における分散型パラレル・トークン・ダイナミクスに対応することに適した記憶要素を意味する。このような実施形態においては、トークンの動きは、中央制御器によって指示されるのではなく、ポリシーサーバ20により提供される一組のポリシーによって各ノード12にて制御される。ポリシーサーバ20は、例えばライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ）又はコモン・オープン・ポリシー・サービス（ＣＯＰＳ）プロトコル等の好適なプロトコルを用いて、個々のノード12にトークン制御ポリシーを規定・配備する。制御用チャネル18は、例えばトークンの出発時刻をポリシーに従って調整するなど、トークンが通るノード12に対してポリシーを実行する。ポリシーサーバ20はポリシーを用いてネットワーク10上のデータ伝送の特性を調整してもよい。
【００２０】
図６を参照して更に詳細に説明されるように、ポリシーサーバ20はトークンの動きを容易にする如何なる好適なポリシーを用いてもよい。ポリシーはノード12間での効率的且つ公正な伝送を実現するように相互に作用し合う。ポリシーによって矛盾するトークン処理が導き出される場合、解法を提供するためにポリシーとともに解決メカニズムが使用されてもよい。
【００２１】
ネットワーク10には変更、付加又は省略が為され得る。ソフトウェアを有する好適なロジック、ハードウェア、その他のロジック、又はこれらの好適な組み合わせが、システム10内の構成要素の機能を果たす。
【００２２】
図２は、ネットワーク10内のネットワークノード12の機能要素を例示するブロック図である。ノード12は光学部品30、電気部品32及び制御器34を含んでいる。光学部品30はファイバ16に結合されており、電気部品32は光学部品30に結合されている。制御器34は電気部品32、光学部品30及び制御用チャネル18に結合されている。
【００２３】
光学部品30はデータに関連付けられた光信号を光ネットワーク10上で受信し、通し、且つ送信する。電気部品32は光学部品30及びデータ源14からデータを受信したり、それらにデータを送信したりする。例えば、光学部品30は、ネットワーク10との間でトラフィックの送信及び受信を行うアド・ドロップ多重化機能を果たし、電気部品32は、光学部品を介するトラフィックのバースト伝送のためのデータ集約及び待ち行列管理を提供する。制御器34は光学部品30及び電気部品32を制御し、また、制御用チャネル18を用いてトークン及び制御メッセージを伝達してもよい。特定の実施形態において、制御用チャネル18は、制御器34が光学部品30を介してメッセージの送信及び受信を行うことを実現する光波長である。
【００２４】
特定の実施形態において、ノード12は少なくとも３つの動作モード、すなわち、送信モード、通過モード、及び受信モードを提供する。送信モードにおいて、ノード12はネットワーク10上にデータを送信するよう動作し得る。通過モードにおいて、ノード12はデータがノード12を電気的処理を為されずに通過することを可能にするよう動作する。受信モードにおいては、ノード12はネットワーク10からデータを受信するように動作する。何れの特定のノード12も、何れかの時点で何れかのモード又は複数のモードで動作し得る。
【００２５】
送信モードにおいて、ノード12は、或る波長を用いたデータ送信を許可するトークンを受信するまで待機する。トークンを受信すると、制御器34はデータが送信可能であるかを判定する。データが送信可能である場合、制御器34は、例えばデータの宛先、データチャネル、データ伝送サイズ及び／又はデータ伝送のタイミングの内の１つ以上であるような、何らかの好ましい情報を指し示す制御メッセージを準備し、それを隣接する次のノードに伝達する。制御メッセージの伝達後、制御器34は光学部品30及び電気部品32を制御して、制御メッセージによって指定されたパラメータに従ってネットワーク10上にデータを送信させる。
【００２６】
通過モードにおいて、ノード12は、トークンを含むか、制御メッセージが関連付けられたデータの宛先が該ノード12であることを指し示すかの何れでもない制御メッセージを受信する。制御器34はこの制御メッセージを隣接する次のノード12に転送し、データが電気的処理を為されることなく上記のノード12を通過することを可能にする。言い換えれば、光学部品30は単に、電気部品32による電気的処理なしでデータを隣接する次のノード12に渡すだけである。
【００２７】
受信モードにおいて、ノード12は制御メッセージが関連付けられたデータの宛先が該ノード12であることを指し示す制御メッセージを受信する。この状況において、制御器34は光学部品30及び電気部品32を制御し、この制御メッセージにて指定されたパラメータに従ってネットワーク10上のデータを受信させる。
【００２８】
光学部品30、及びこれらのモードにおける光学部品30の動作については図３Ａに関連させて説明し、電気部品32、及びこれらのモードにおける電気部品32の動作については図５Ａ及び５Ｂに関連させて説明する。
【００２９】
図３Ａは、ネットワークノード12の光学部品30を例示するブロック図である。特定の実施形態に従って、光学部品30はネットワーク10上で光信号の受信及び／又は送信を行うように動作する。図示された実施形態においては、光学部品30はファイバ16aを用いて光信号の受信及び／又は送信を行う。より具体的には、光学部品30はノード12に向かうデータバーストを受信すること、及びノード12からデータバーストを送信することを実現する。図示された実施形態においては、ノード12は、例えば送信器40、デマルチプレクサ（ＤＥＭＵＸ）44、スイッチングマトリックス46、マルチプレクサ（ＭＵＸ）48及び受信器52を含んでいる。
【００３０】
送信器40は光信号を送信するように機能する如何なる好適なデバイスをも意味する。例えば、送信器40は電気部品32から電気信号を受け取り、対応する光信号を生成・伝達する。図示された実施形態において、光信号は或る特定の波長にあり、送信器40はこの光信号を直接的にスイッチングマトリックス46に伝達する。図示された実施形態においては、光ノード12は相異なる波長の光信号を処理するように幾つかの送信器40を有している。
【００３１】
受信器52は光信号を受信するように機能する如何なる好適なデバイスをも意味する。例えば、受信器52は光信号を受信し、受信した光信号を対応する電気信号に変換し、これら電気信号を電気部品32へと伝える。図示された実施形態において、受信器52は或る特定の波長の光信号をスイッチングマトリックス46から直接的に受信する。図示された実施形態においては、光ノード12は相異なる波長の光信号を処理するように幾つかの受信器52を有している。
【００３２】
他の実施形態においては、送信器40及び受信器52は１つ又は複数の光バースト中継器へと結合されてもよい。中継器は光信号を送信し、且つ受信するように機能する如何なる好適なデバイスをも意味する。この中継器は複数の波長を有する波長帯に応答してもよい。
【００３３】
デマルチプレクサ44は単一の信号を２つ以上の信号に分離するように機能する如何なる好適なデバイスをも意味する。単なる一例として、デマルチプレクサ44はアレイ導波路回折格子（ＡＷＧ）を使用して信号を分離してもよい。デマルチプレクサ44は如何なる好適な入力ポートと如何なる好適な数の出力ポートとを含んでいてもよい。図示された実施形態において、デマルチプレクサ44はファイバ16aから入力ＷＤＭ信号を受信する入力ポートを含んでいる。この例において、デマルチプレクサ44はＷＤＭ信号を、このＷＤＭ信号の様々な構成波長の信号群へと分離する。ノード12はＷＤＭ信号の更なる入力を処理するように如何なる好適な数のデマルチプレクサを含んでいてもよい。
【００３４】
マルチプレクサ48は、単一の信号として送信するように２つ以上の信号を結合させるように機能する如何なる好適なデバイスをも意味する。マルチプレクサ48はＡＷＧを使用して相異なる波長の信号を単一のＷＤＭ信号に多重化してもよい。マルチプレクサ48は如何なる好適な数の入力ポートと如何なる好適な出力ポートとを含んでいてもよい。図示された実施形態において、マルチプレクサ48はファイバ16aに結合された出力ポートを含んでいる。例えば、マルチプレクサ48はスイッチ46から受け取った信号を、出力ポートからファイバ16a上に送信する単一の信号へと結合させる。ノード12はＷＤＭ信号の更なる出力を処理するように如何なる好適な数のマルチプレクサを含んでいてもよい。
【００３５】
スイッチングマトリックス46は、信号を切り替えるように機能する如何なる好適なデバイスをも意味する。例えば、スイッチングマトリックス46はデマルチプレクサ44の出力とマルチプレクサ48の入力との間で信号を切り替える。特定の実施形態において、スイッチングマトリックス46は数ナノ秒のスイッチング速度を達成する１つ以上の電気光学スイッチ（ＥＯスイッチ）47を含んでいる。各ＥＯスイッチ47は個々に或る波長を、ファイバ16a上に出力されるように、あるいは受信器52に落とされるようにオン又はオフに切り替える。例えば、各ＥＯスイッチ47はデマルチプレクサ44又は送信器40からの出力信号を受け取り、この信号をマルチプレクサ48又は受信器52へと切り替える。各ＥＯスイッチ47は如何なる好適な数の入力と如何なる好適な数の出力とを有していてもよい。例えば、ＥＯスイッチ47は１×２スイッチ、２×２スイッチ、又は４×４スイッチであり得る。ＥＯスイッチ47は、例えばAlacerSwitch0202Qを販売しているのぞみフォトニクス社など、好適な製造供給元から入手可能な既製品であってもよい。ＥＯスイッチ47の各々の入力及び出力は或る特定の波長を処理する。ＥＯスイッチ47の電気的なゲートが信号の出力方向を制御してもよい。一実施形態において、ＥＯスイッチ47が４×４スイッチであるとき、複数の波長が受信され、ドロップされ、アドされ、あるいは通過させられ得る。例えば、各４×４スイッチは２つの波長を受信し、２つの波長をアドし、２つの波長を通過させ、そして２つの波長をドロップさせてもよい。他の一例として、各４×４スイッチは該４×４スイッチがアド及びドロップする波長より多くの波長を受信及び通過させてもよい。
【００３６】
スイッチングマトリックス46は信号を受信器52にドロップするか、信号をネットワーク10に通過させるかの何れかを行う。信号は通信リング全体を横断する必要はなく、宛先ノード12でドロップされるので、リングの重なり合わない部分で同時データ伝送がもたらされ得る。この空間的な再利用はマルチトークン動作によって対応される。
【００３７】
マルチトークン動作は通信リングの空間的な再利用を支援する。マルチトークン動作は同時伝送をサポートするようにリングを仮想的に分割する。故に、複数の二次的な短距離データ伝送が、これら伝送が相互に重なり合わず且つ一次的な伝送と重ならない場合に可能にされる。
【００３８】
光学部品30は如何なる好適な技術を用いて製造されてもよい。例えば、デマルチプレクサ44、スイッチングマトリックス46及びマルチプレクサ48は単一基板上に製造されてもよい。基板の導波路へのＥＯスイッチ47チップのパッシブアライメントによりウェハレベルで集積デバイスが製造されてもよい。シリコン基板上に受動導波路を形成することが可能であり、それにより、ロジック、導波路及びスイッチを単一モジュールにコンパクトに一体化することが可能である。他の一例として、デマルチプレクサ44、スイッチングマトリックス46及びマルチプレクサ48は別個に製造され、光学部品30に組み立てられてもよい。別個の部品群の製造に続く組立てはアクティブアライメントを伴う。
【００３９】
光学部品30には変更、付加又は省略が為され得る。例えば、部品群の好適な組み合わせが光学部品30の機能を果たしてもよい。波長選択スイッチ（ＷＳＳ）がデマルチプレクサ44aを置き換え、ファイバ16aから主入力を受け取り、スイッチングマトリックス46への入力を提供してもよい。コンピュータがマルチプレクサ48aを置き換え、スイッチングマトリックス46からの出力を受け取り、ファイバ16aへの主出力を提供してもよい。他の一例として、単一の波長がアド又はドロップされる場合、デマルチプレクサ44b及びマルチプレクサ48bはそれぞれ不要であり、アド又はドロップされる波長はスイッチングマトリックス46に直接的に入力され得る。更に他の一例として、ノード12は耐障害性をもたらすように第２の組の光学部品30を含んでいてもよい。第２の組の光学部品30は送信障害が生じた場合に障害迂回（フェイルオーバ）を提供する。ソフトウェアを有する好適なロジック、ハードウェア、その他のロジック、又はこれらの好適な組み合わせが、光学部品30の何らかの構成要素の機能を果たしてもよい。また、図３Ａはファイバ16aを用いる伝送に対応する構成要素を例示しているが、類似の光学部品又は異なる光学部品がファイバ16b又は何らかの好適なファイバ上での伝送とともに用いられてもよい。
【００４０】
図３Ｂは、ドロップ・アンド・コンティニュー技術を実装したネットワークノード12の光学部品30の構成を例示するブロック図である。ノード12において１つ以上の波長のトラフィックがスイッチングマトリックス46によってドロップされ且つリングから完全に除去されるので、ドロップされた波長の１つ以上はマルチキャスト伝送に対応するようにリングに再びアドされてもよい。この再送信は光学部品30又は電気部品32を用いて実現され得る。再送信が光学部品30にて行われるとき（“ドロップ・アンド・コンティニュー”）、ドロップされた信号はスイッチングマトリックス46を介して再送信された後、データをファイバ16bに供給するマルチプレクサ48aへと切り替えられる。例えば、信号はスイッチングマトリックス46からカップラ50へとドロップされる。カップラ50は１つの光信号を類似あるいは異なるパワーレベルを有する２つ以上の複製物に分割し得る何らかの好適な素子である。図示された実施形態において、カップラ50はドロップされた信号を分割し、該信号の１つの複製物を受信器52へ伝達するとともに、該信号の残りの複製物を、もし存在するのであれば送信器40からのアドトラフィックに結合させるように別のカップラ50又はその他の好適なデバイスへと伝達する。そして、信号はスイッチングマトリックス46へと伝えられ、それによりマルチプレクサ48aへと切り替えられ、そしてノード12からファイバ16aへと出力される。この再送信は完全に光学部品30内で行われ、光学部品30内でマルチキャストデータ伝送信号を再送信する際、光−電気−光変換は含まれない。
【００４１】
図３Ｃは、ドロップ・アンド・リジェネレイト技術を実装したネットワークノード12の光学部品30の構成を例示するブロック図である。再送信が電気部品32にて行われるとき（“ドロップ・アンド・リジェネレイト”）、ドロップされた信号は電気信号に変換され且つ複製される。複製された信号は送信器40に伝達され、送信器40はこの複製された電気信号を光信号へと変換し、該光信号をスイッチングマトリックス46に伝える。スイッチングマトリックス46は該光信号をマルチプレクサ48aへと切り替え、該光信号はノード12からファイバ16aに出力される。信号を複製し且つ再送信することは完全に信号を再生成し、より良好な品質の信号を作り出す。複製された信号はまた、仮想出力待ち行列60内にバッファリングされてから送信器40に転送されてもよい。これは、後述のように、ポイントツーマルチポイント通信において行われてもよい。さらに、再送信される信号は、それが受信されたときの波長と異なる波長で送信されてもよい。
【００４２】
図４は、ネットワークノード12を用いてデータを伝達する方法を例示するフローチャートである。このフローチャートは通信リングの周りで行われるデータ伝送を意図するものである。より具体的には、このフローチャートは通信中における光学部品30の動作を示すものである。
【００４３】
段階400にて、ノード12はネットワーク10内の送信ノード12からの信号を受信する。信号はファイバ16上でノード12に到着する。段階402にて、ネットワーク10から受信された信号は別々の波長に分離される。例えば、デマルチプレクサ44aがネットワーク10から受信された信号を分離する。
【００４４】
上述のように、スイッチングマトリックス46は、入力信号の各構成波長をノードの出力（通過）又はノードの電気部品32（ドロップ）の何れかへ切り替えるように設定されている。段階404は各波長に対する分離設定を指し示している（ノード12はこの段階では如何なる決定をも行う必要はない）。各波長に対し、ノード12がその波長を受け取るように設定されている場合、当該方法は段階406から継続し、ノード12がその波長を受け取るように設定されていない場合、当該方法は段階412から継続する。
【００４５】
段階406の経路に従い、光学部品30はこの波長をノード12にドロップするように切り替える。例えば、スイッチングマトリックス46はこの波長の信号をマルチプレクサ48bへと切り替える。段階408にて、マルチプレクサ48bはノード12でドロップされるべき信号を結合させる。段階410にて、マルチプレクサ48bは結合された信号を電気部品32へドロップする。
【００４６】
ノード12がこの波長を受け取るように設定されていない場合、段階412にて、スイッチングマトリックス46はこの波長を、ノード12を通過するように切り替える。例えば、スイッチングマトリックス46はこの波長の信号をマルチプレクサ48aへ切り替える。段階414にて判定されるように、光学部品30によって信号（すなわち、電気部品32を介してデータ源14から受け取った信号）がリングにアドされる場合、段階416にて、光学部品30はアド信号を別々の波長に分離する。例えば、光学部品30はアド信号を分離するデマルチプレクサ44bを含んでいる。段階418にて、マルチプレクサ48aはこの通過波長を、ノード12を通過すべきその他の波長及びノード12にてアドされる波長と結合させる。段階420にて、マルチプレクサ48は結合信号をノード12からファイバ16上に出力する。
【００４７】
信号はノード12で絶え間なく受信されるので、この方法は継続的に実行される。
【００４８】
図４のフローチャートには変更、付加又は省略が為され得る。例えば、単一の波長又は複数の波長が光学部品30によって受信され、アドされ、ドロップされ、あるいは通過させられることが可能である。図４のフローチャートは、より多い、より少ない、あるいはその他の段階を含んでいてもよい。また、段階群は如何なる好適な順序で実行されてもよく、また如何なる好適な部品によって実行されてもよい。
【００４９】
図５Ａは、ネットワークノード12の電気部品32を例示するブロック図である。電気部品32は、仮想待ち行列60、ポート62、スイッチ64、メモリ66及びプロセッサ68を含んでいる。動作時、電気部品32は出ているローカルデータを集合化し、入ってくるネットワークデータを非集合化し、また後の送信のためにデータを保存する。スイッチ64は仮想待ち行列60、ポート62、メモリ66及びプロセッサ68を選択的に接続する。
【００５０】
仮想待ち行列60は、データ源14への送信のための、光学部品30から受信されたネットワークデータの非集合化及び一時的なバッファリングと、ネットワーク10上への送信のための、データ源14からのデータの集合化及び一時的なバッファリングとを提供する。仮想待ち行列60については図５Ｂに関連して更に後述する。ポート62は、データ源14との通信を可能にする１つ又は複数の接続である。ポート62は、データ源14から受信されるローカルデータ、又はデータ源14に送信されるネットワークデータが該ポート62を通って流れるように、電気部品32をデータ源14に結合させる機能を果たし得る。
【００５１】
メモリ66は、プロセッサ68による処理のためのデータ及びその他の情報を永続的に、あるいは一時的に格納する。メモリ66は、その他のノード12へ送信されるデータ、その他のノード12から受信されたデータ、プロセッサ68により使用されるルーティング、又はその他の好適な情報を格納してもよい。メモリ66はまた障害管理を提供する。例えば、データ伝送路に沿った介在ノード12は、データ伝送信号が該介在ノード12を通過するときに、データ伝送信号の複製を格納し得る。斯くして、伝送信号が意図された宛先ノード12に到着しないとき、データは再現され得る。メモリ66は、情報を記憶するのに適した揮発性又は不揮発性のローカルデバイス又は遠隔デバイスの何れか１つ又は組み合わせを意味する。例えば、メモリ66はランダム・アクセス・メモリ（ＲＡＭ）デバイス、読み出し専用メモリ（ＲＯＭ）デバイス、磁気記憶デバイス、光記憶デバイス若しくはその他の何らかの好適な情報記憶デバイス、又はこれらデバイスの組み合わせとし得る。また、メモリ66は、ノード12が多量のデータを格納及び送信することを可能にする大きい記憶容量を有していてもよい。
【００５２】
図示された実施形態において、メモリ66は、ノード12におけるトークンの予想されるトークン到着時刻を追跡する計画表67を含んでいる。予測的スケジューリング技術を用いるとき、後述のように、計画表67は今後のトークン到着時刻に関する情報を含んでいる。例えば、計画表67はネットワーク10内の各トークン、及び各トークンに関連するマイクロ秒単位での予想到着時刻を含んでいる。最新状態についての新たな情報が得られたとき、ト−クンに関する各入力項目は更新される。計画表67は、記憶情報の更新を提供する如何なる好適な記憶機構をも意味する。
【００５３】
プロセッサ68はスイッチ64及びその他の電気部品32の動作及び管理を制御する。故に、動作時、プロセッサ68は仮想待ち行列60、ポート62及びメモリ66への及びそれらからのデータを方向付けるようにスイッチ64を制御する。例えば、プロセッサ68は、光学部品30から受け取ったネットワークデータが仮想待ち行列60を介してメモリ66に格納されるように方向付け、またポート62を介して受け取ったローカルデータが仮想待ち行列60から光学部品30への伝達のために集合化されるように方向付ける。プロセッサ68は情報の制御及び処理を行うように機能する何らかのハードウェアを含んでいる。例えば、プロセッサ68はマイクロコントローラ、マイクロプロセッサ、プログラム可能ロジックデバイス、及び／又はその他の如何なる好適な処理デバイスであってもよい。特定の実施形態において、プロセッサ68及び制御器34は同一のハードウェアを共有していてもよく、あるいは同一のハードウェアであってもよい。
【００５４】
電気部品32には変更、付加又は省略が為され得る。他の一例として、如何なる好適な部品が別の部品の機能を果たしてもよい。ソフトウェアを有する好適なロジック、ハードウェア、その他のロジック、又はこれらの好適な組み合わせが、電気部品32の何らかの部品の機能を果たしてもよい。
【００５５】
図５Ｂは、仮想待ち行列60を更に詳細に例示するブロック図である。仮想待ち行列60はノード12におけるデータの集合化及び送信を容易にするものである。仮想待ち行列60は、例えばメモリ66内の構造又はメモリ66から分離されたメモリ構造など、如何なる好適な構造を含んでいてもよい。データバーストはネットワーク10上で伝送されるデータの集合である。大きいバーストほど、ネットワーク10の性能を向上させ得る。何故なら、各データ伝送信号は、全てのノード12で処理される制御メッセージに結合され、そしてデータ伝送信号は宛先ノード12でクロックを同期させるためのヘッダを含むからである。処理制御メッセージ及びヘッダはオーバヘッドを作り出すが、これはデータの集合化を用いてバーストのサイズを増大させることによって削減されることが可能である。例えば、複数のデータパケットが１つのバーストに結合されてもよく、それにより、ネットワーク10上で伝達される制御メッセージ及びヘッダの数が削減される。
【００５６】
仮想待ち行列60は入力待ち行列70及び複数の出力待ち行列72を含んでいる。入力待ち行列70はノード12が受信したデータをバッファリングする。出力待ち行列72はノード12による送信を待つデータをバッファリングする。入力待ち行列70及び出力待ち行列72は如何なる好適な技術、又は技術の組み合わせを用いてデータを編成してもよい。例えば、入力待ち行列70及び出力待ち行列72は宛先によってデータを編成する。この例において、出力待ち行列72は各々、特定の宛先に関連付けられる。
【００５７】
出力待ち行列72はまた特定の波長に関連付けられてもよい。特定の波長に関連付けられた出力待ち行列72は更に、宛先に従って別々に編成されてもよい。図示された実施形態においては、出力待ち行列72は特定の波長でデータを送信し、且つ宛先に従って分離されている。この実施形態において、ノード12は特定の波長での送信を開始することを許可するトークンを受信する。ノード12は、故に、この特定の波長でデータを送信する出力待ち行列72からデータを送信する。その他の実施形態においては、仮想待ち行列60は複数のその他の波長でデータを送信するための更なる出力待ち行列72を含んでいる。
【００５８】
送信を許可するトークンに含まれる送信割当てにより、ノード12が特定の波長（データチャネル）でデータを伝達し得る期間が与えられる。この期間が終了すると、ノード12はこの波長での送信を中止する。例えば、出力待ち行列72aが波長λ1で送信されるトラフィックに関連付けられている場合、λ1での送信を許可するトークンがノード12に到着すると、出力待ち行列72aから該出力待ち行列72aに関連付けられた宛先へとデータがバーストの形態で伝送され得る。しかし、バーストはこの特定波長への送信割当てによって制限された期間にのみ送信され得る。送信割当ては波長ごとに異なっていてもよい。
【００５９】
宛先割当ては、データバーストを特定の宛先に送信するために使用され得る全送信割当ての割合を意味する。例えば、送信を許可するルートノード12にトークンが到着すると、宛先割当てに従って出力待ち行列72からバーストが送信される。この割合は、宛先間での公正な配分又は保証された帯域幅を可能にするように予め定められてもよい。宛先割当てによって次のような割合が指定されてもよい：送信割当ての１／３を宛先マルチキャストグループ（Ｂ，Ｃ，Ｅ）へ；１／３を宛先マルチキャストグループ（Ｂ，Ｃ）へ；１／６を宛先Ｂへ；且つ１／６を宛先Ｅへ。例えば、割合を決定するために、図８Ａ及び８Ｂに関連して更に詳述する均等化キューイング（Weighted  Fair  Queuing；ＷＦＱ）が出力待ち行列72によって適用されてもよい。なお、様々な割合の如何なる組み合わせが使用されてもよい。さらに、宛先割当ては各データチャネルに対して同一であってもよいし、異なっていてもよい。
【００６０】
複数のデータチャネルを横断する宛先割当てを計算するために、トポロジー情報が用いられてもよい。トポロジー情報はネットワーク10の接続形態に関する情報を含んでいる。例えば、トポロジー情報は、ネットワーク10のノード12の数、ネットワーク10のセグメントにわたってデータ及び制御メッセージを伝送するのにかかる時間、ノード12が制御メッセージ及びトークンを処理するのにかかる時間、及びその他の好適な情報を含み得る。
【００６１】
入力待ち行列70は、ノード12がデータ源14又はネットワーク10内のその他のノード12から受け取るローカルデータを編成する。斯くして、入力待ち行列70は一時的な待ち行列として機能する。
【００６２】
図示された実施形態において、出力待ち行列72は宛先によって編成されるとともに、伝送形式に従って編成されている。例えば、出力待ち行列72a及び72bはポイントツーマルチポイント型のデータ伝送を容易にするものであり、出力待ち行列72c及び72dはポイントツーポイント伝送を容易にするものである。例えば、出力待ち行列72aはノード12aからノード12b、12c及び12eへのデータ伝送を容易にする。出力待ち行列72aは、ノード12aがマルチキャスト伝送におけるルートノード12として機能するとき、データを一時的に保持する。出力待ち行列72aのヘッダｖＡ（Ｂ，Ｃ，Ｅ）は、マルチキャスト伝送を受信するブランチノード12は何れであるかを表している。
【００６３】
出力待ち行列72bはノード12aからノード12b及び12cへのデータ伝送を容易にする。図示された実施形態において、出力待ち行列72bは、ノード12aがマルチキャスト伝送におけるブランチノード12として機能するとき、データを一時的に保持する。この例において、ノード12aはルートノード12からデータを受信しており、そのデータをマルチキャスト伝送におけるその他のブランチノード12へと伝達する。出力待ち行列72bのヘッダｖＡ（Ｂ，Ｃ）ｓｕｂは、このマルチキャスト伝送を受信する更なるブランチノード12は何れであるかを表している。
【００６４】
図示された実施形態において、出力待ち行列72cはノード12bを宛先とするデータを含んでおり、出力待ち行列72dはノード12eを宛先とするデータを含んでいる。この例において、出力待ち行列72c及び72dのヘッダは、この伝送がポイントツーポイント型であることを表している。出力待ち行列72cのヘッダは受信ノードとしてノード12bを含んでおり、出力待ち行列72ｄのヘッダは受信ノードとしてノード12eを含んでいる。一実施形態において、出力待ち行列72はデータが入力待ち行列70から送信可能であるときに作り出される。
【００６５】
特定の実施形態において、ノード12は出力待ち行列72からの送信を容易にするために予測的スケジューリング・アルゴリズムを利用し得る。予測的スケジューリング・アルゴリズムにより、ノード12は、自身がデータ送信を開始することを許可するトークンを受信する時刻を予測することができる。出力待ち行列72を構築することは、ノード12が予測的スケジューリング・アルゴリズムを効率的に使用することを実現する。伝送を許可するトークンが到着するまで、データは特定の波長での配送のために出力待ち行列72内に並べられる。
【００６６】
予測的スケジューリング・アルゴリズムは、各ノード12がデータを送信するためにネットワーク10にアクセスする待ち時間の最大量を低減し得る。これにより、ネットワーク10は、例えば実時間トラフィック等の時間依存トラフィックに対して最低限の品質のサービスレベルを支援し且つ確保することが可能である。さらに、このアルゴリズムは、ネットワーク10へのアクセスがノード12間で適切に割り当てられることを確実にし得る。例えば、ノード群12は、頻繁に使用されるノード12を支援するように異なる重み付けを有していてもよく、また、トラフィック要求を動的に変更することに対応していてもよい。このアルゴリズムはまた、宛先ノード12における競合を減少させ得る。
【００６７】
仮想待ち行列60には変更、付加又は省略が為され得る。例えば、仮想待ち行列60はノード12の初期設定の段階で、取り得る宛先ノード12ごとに、そしてマルチポイント伝送に関して取り得る宛先ノード12の組み合わせごとに、出力待ち行列72を含んでいてもよい。他の一例として、出力待ち行列72は如何なる好適な期間にわたって存在していてもよい。マルチキャスト動作において、出力待ち行列72はポイントツーマルチポイント型ラベル・スイッチド・パスを解体し、マルチキャスト伝送路の予約を除去することにより、使用後に削除されてもよい。
【００６８】
図６は、データチャネル制御の予測的スケジューリングを例示する図である。この図は、ノード12aからノード12b、12c及び12dにデータを伝送するために使用される特定のデータチャネル上で行われるデータ伝送を示している。同様の動作が各データチャネル上で行われる。縦軸は時間を表しており、横軸はファイバ16に沿ったネットワーク10周りの距離を表している。この図は、故に、予測的スケジューリングを用いたノード12間でのデータ伝送を経時的に示している。
【００６９】
制御メッセージＸ、Ｙ及びＺは、トークンの現在位置に関する情報及びトークンのノード12aからの予想出発時刻（時刻618）を含んでいる。図１を参照して説明されたように、トークンに関する情報をトークン・ダイナミクスを指示するポリシールールを用いて解釈することにより、ノード12b、12c及び12dにある制御器34はノード12bへのトークンの到着時刻（時刻622）を予測することができる。同様に、トークンを有する各ノード12に対し、次のノード12がトークンを受け取る時刻を導出するためにこの処理が繰り返され得る。
【００７０】
ポリシールールは、例えば速度ポリシー、距離ポリシー又はタイミングポリシー等の、何らかの好適なポリシーを含んでいる。速度ポリシーを用いると、プライマリトークンの数は伝送に使用される波長の数と同じである。距離ポリシーは、同一波長帯グループにおける２つの隣接し合うトークン間の距離を保つことを提供する。タイミングポリシーは、トークンがノード12に留まってもよい最長時間を提供する。トークンは同一のノード12に無限の期間にわたって留まることはできない。
【００７１】
これらのポリシーは相互に作用し、２つのポリシーが矛盾するトークン動作を導く場合には解決メカニズムが講じられる。例えば、トークンが或るノード12で待機しているとき、タイミングポリシーが実行されると、トークンは時間制限内に立ち去らなければならない。しかしながら、該トークンによって開始されたバースト伝送が不成功であった場合、該トークンは該ノード12を立ち去るべきか、あるいは伝送が成功するまで該ノード12に留まるべきかを決定することが必要になる。他の一例として、距離ポリシーでは、その目的は２つのトークンが同期して或るノード12を同時に出発することを防止することである。一実施形態において、距離ポリシーは、同期化が解消されてトークンへの規則正しいアクセスが達成されるように、トークンの出発時刻に小さいランダム性を付加してもよい。
【００７２】
ノード12aは時刻600にてトークンを受け取る。時刻600と602との間に、ノード12aは該ノード12aが送信可能なデータを有するかを判定し、来たるデータ伝送を反映する制御メッセージを作成する。図１にて説明されたように、制御メッセージは、ノード12がトークンを受信してデータを送信することを許可される時刻を予測するために使用可能な情報を含んでいる。図示された実施形態において、ノード12aは時刻602に制御メッセージＸをノード12dに伝達する。その他の実施形態においては、何れのノード12が送信ノードして機能し、何れのノード12が受信ノードとして機能してもよい。次に、ノード12aはデータを送信するように自身を設定する。ノード12aはノード12dがデータを受信するように自身を設定することが可能な期間にわたって待機してもよい。時刻604にて、ノード12aはノード12dへのデータ送信を開始する。このデータ送信は時刻610まで続く。ガード時間606は、ノード12dが制御メッセージＸを受信する時刻とデータバースト転送を受信する時刻との間の時間を表している。
【００７３】
ノード12aはノード12dにデータを送信しながら、来たるデータ伝送を反映する制御メッセージＹを作成し、それをノード12cに送信する。ノード12aはノード12dがデータを受信するように自身を設定することが可能な期間にわたって待機する。時刻612にて、ノード12aはノード12cへのデータ送信を開始する。このデータ送信は時刻616まで続く。ガード時間613は、ノード12cが制御メッセージＹを受信する時刻とデータバースト転送を受信する時刻との間の時間を表している。
【００７４】
ノード12aはノード12cにデータを送信しながら、時刻614にて、来たるデータ伝送と来たるトークン伝送とを反映する制御メッセージＺを作成し、それをノード12bに送信する。この情報を受け取ることにより、ノード12bはデータをより素早く送信する準備をするように自身の出力待ち行列72を設定することができる。ノード12aはノード12bがデータを受信するように自身を設定することが可能な期間にわたって待機する。時刻618にて、ノード12aはノード12bに、ノード12bがデータ送信を開始することを許可するトークンを送信する。時刻620にて、ノード12aはノード12bへのデータ送信を開始する。ノード12bはトークンを時刻622に受信し、且つ最初のデータ伝送信号を時刻624に受信する。ガード時間625は、ノード12bが制御メッセージＺを受信する時刻とデータバースト転送を受信する時刻との間の時間を表している。ノード12aは時刻626までデータ送信を続ける。
【００７５】
このノード12間での情報の流れは、トークンの到着時刻の計算を可能にする。制御メッセージはノード12aからのトークンの出発に関してかなり正確な予測を含んでいるので、ノード12bへのトークンの到着時刻は、ノード12aと12bとの間のトークンの予想移動時間を加算することによって得られ得る。各ノード12においてトークン到着予測アルゴリズムを適切に用いると、光バースト輸送データパス制御ユニットは、何れのバースト中継器が点弧すべきかということ及び点弧のタイミングを知ることができる。故に、電気部品32のデータパス操作は、トークンがノード12に到着するときにそれぞれのバーストの組立が完了するようにスケジューリングされ且つ最適化される。
【００７６】
図６には変更、付加又は省略が為され得る。例えば、ネットワーク10には如何なる好適な数のノード12が存在していてもよく、また如何なる好適なノード12が受信器又は送信器として機能してもよい。他の一例として、ノード12間で複数のデータバースト伝送ではなく単一のデータバースト伝送が行われてもよい。
【００７７】
図７は、データチャネル制御の予測的スケジューリングを実行する方法を例示するフローチャートである。如何なる好適なノード・アーキテクチャの電気部品32も、ノード12が受信する波長の各々で例示された方法を実行することによって、予測的スケジューリング技術を促進し得る。例えば、従来からのノード12が予測的スケジューリングを実行する。
【００７８】
トークンは各データチャネルへのアクセスを制御する。特定の実施形態において、ノード12は、１つ又は複数の宛先へのデータ送信のためにデータチャネルにアクセスするためにトークンを保持していなければならない。実際のデータ送信は、宛先を特定する制御メッセージによって先行される。トークンは送信割当てより長い時間にわたってはノード12によって保持されていなくてもよい。データの送信後、トークンは解放される。トークンの使用によってネットワークのアクセス競合が排除される。何故なら、如何なる時も、或る１つのデータチャネルには多くても１つのノード12だけがアクセスできるからである。
【００７９】
トークンの到着を予測することにより、データ転送の処理及び送信のためにデータを組み立てるためのデータ処理に際してノード12が被る遅延が除去される。従来、ノード12はトークンを受け取るまで仮想待ち行列60からのデータ転送を開始することができなかった。故に、ノード12がトークンの到着を予測可能な場合、転送のために出力待ち行列72内でデータを組み立てることはトークンが到着する前に行われることができ、それにより、ノード12がトークンを受け取ったとき、少ない遅延で、あるいは遅延なしでデータが出力待ち行列72から送信されることが可能になる。
【００８０】
ここで、図７に例示された予測的スケジューリングの流れを参照するに、段階700にて、受信ノード12はソースノード12から制御メッセージを受信する。ソースノード12は、受信ノード12へのデータ送信を許可するトークンを保持する。特定の実施形態において、ソースノード12は複数の受信ノード12にデータを送信してもよい。制御メッセージは制御用チャネル18上で受信されてもよい。後述のように、制御メッセージ内の情報を観察することにより、ソースノード12はトークンをどれくらいの長さにわたって保持するかに関して予測を行うことが可能である。段階702にて、データバースト転送信号のサイズが制御メッセージから取得され、段階704にて、ソースノード12からの制御メッセージの移動時間が測定される。例えば、ソースノード12は制御メッセージ内にタイムスタンプを含んでいてもよく、受信ノード12は移動時間を計算するために該タイムスタンプに対する現在時刻を確認してもよい。必要に応じて、その他の如何なる好適な情報が制御メッセージから取得されてもよい。
【００８１】
トークンの到着時刻を予測することは、制御メッセージ内に含まれる情報が必要な予測情報を提供しない場合であっても行われる。例えば、介在ノード12が送信すべきデータを含んでいない場合、受信ノード12は介在ノード12からの制御メッセージを観察せず、トークンの到着時刻を予測することができない。故に、受信ノード12は、介在ノード12が出力待ち行列72から送信されるべきデータを含んでいるかを判定するか、あるいは介在ノード12が空（エンプティ）の出力待ち行列72を有しているかを判定するかする。
【００８２】
段階706にて、ソースノード12と受信ノード12との間の何れかの介在ノード12がエンプティバッファを有しているかが判定される。バッファは、例えば出力待ち行列72等の一時的なデータ記憶領域である。波長ごとに別個の組の出力待ち行列72が使用されるとき、それぞれの波長に基づいて、このエンプティバッファの判定が為されて当該方法が実行されてもよい。エンプティバッファのノード12がソースノード12と受信ノード12との間に存在しない場合、当該方法は段階718へと続き、ソースノード12と受信ノード12とが隣接し合っているかが判定される。これらのノードが隣接し合っている場合、段階720にて、ソースノード12と受信ノード12とが隣接位置にあることを把握した上での予測アルゴリズムが実行される。特定の一実施形態において、予測アルゴリズムはｔA＝ｔD＋ｔS-Aである。故に、予測到着時刻は、ソースノード12からのトークンの出発時刻に、ソースノード12と受信ノード12との間のトークンの移動時間を加算したものである。このアルゴリズムにおいて、ｔD＝ｔ0＋ＧＴ＋ΣＢi／Ｖであり、ｔS-Aはソースノード12と受信ノード12との間のリンク上でのトークンの移動時間である。より具体的には、ｔAは受信ノード12におけるトークンの到着時刻、ｔDはソースノード12からのトークンの出発時刻、ｔ0はソースノード12においてトークンのタイマーが開始する時刻、ＧＴは光バースト受信器のガード時間、Ｖは光バーストの伝送速度（ビット／秒単位）、そしてＢiは受信ノード12に伝わる光バーストのデータサイズである。上述のパラメータの各々は、システムが起動される時に予め定められる、あるいはパラメータ情報が必要とされる時にノード12に知られている、システム全体の制御パラメータである。例えば、ＧＴ及びＶはシステム全体で予め定められたパラメータである。Ｂiはソースノード12の出力待ち行列72内のコンテンツのサイズから測定される。受信ノード12は制御メッセージからこのサイズを知ることができる。ソースノード12からのトークンの出発時刻を決定するため、以下の時間が足し合わされる：ソースノード12においてトークンのタイマーが開始する時刻、受信ノードがデータバースト転送信号を受信し始めるのにかかる時間、及びデータバーストをソースノードから送信する時間。
【００８３】
ソースノード12と受信ノード12とが隣接し合っていない場合、段階712にて、非エンプティバッファのノードとエンプティバッファのノードとを把握した上での予測アルゴリズムが実行される。特定の実施形態において、この予測アルゴリズムはｔA＝ｔD＋ｔS-Aである。このアルゴリズムにおいて、ｔD＝ｔ0＋Ｔhであり、ｔS-A＝（Ｔh・ＮA-B）＋（Ｔp・Ｎ’A-B）＋（ソースノード12と受信ノード12との間のリンク上でのトークンの移動時間）である。この等式において、Ｔhは（測定値の統計を用いて決定される）非エンプティバッファのノードの平均トークン保持時間、ＮA-Bはソースノード12と受信ノード12との間の非エンプティバッファのノードの数、Ｔpはエンプティバッファのノードにおけるトークン処理時間、そしてＮ’A-Bはソースノード12と受信ノード12との間のエンプティバッファのノードの数である。Ｔh及びＴpはシステム全体の制御パラメータであり、管理−制御インターフェース上で各ノード12に伝達される。ＮA-B及びＮ’A-Bは、後述のように、制御用ヘッダ内の情報から決定されるパラメータである。
【００８４】
ソースノード12と受信ノード12との間にエンプティバッファのノードが存在する場合、段階708にて、受信ノード12はこの１つ又は複数のエンプティバッファのノード12の（制御メッセージを介して取得された）情報を評価する。ソースノード12と受信ノード12との間にエンプティバッファのノード12を有することは、トークンの到着予測を歪ませてしまう。従って、予測技術はエンプティバッファのノード12を把握すべきである。エンプティバッファのノード12を把握するために如何なる好適な技術が使用されてもよい。例えば、エンプティバッファのノード12のバッファ状態情報が制御メッセージのヘッダに含められてもよい。このような実施形態においては、制御メッセージが介在ノード12によって処理されるとき、介在ノード12は自身の仮想待ち行列60がエンプティであるかを判定し、仮想待ち行列60がエンプティである場合、制御用メッセージのヘッダ内の最初の利用可能フィールドに自身の番号を挿入する。介在ノード12は制御メッセージを処理してもよいが、光バーストのコンテンツは処理しない。
【００８５】
段階710にて、ソースノード12と受信ノード12との間にはエンプティバッファのノード12のみが存在するかが判定される。ソースノード12と受信ノード12との間にエンプティバッファのノードと非エンプティバッファのノードとが存在する場合、段階712にて、エンプティバッファのノード及び非エンプティバッファのノードを把握した予測アルゴリズムが実行される。その他の場合、段階714にて、エンプティバッファのノードのみを把握した予測アルゴリズムが実行される。この予測アルゴリズムはｔA＝ｔD＋ｔS-Aである。このアルゴリズムにおいて、ｔD＝ｔ0＋ＧＴ＋ΣＢi／Ｖであり、ｔS-Aは、ソースノード12と受信ノード12との間のリンク上でのトークンの移動時間にソースノード12と受信ノード12との間の介在ノードにおけるトークン処理時間を加算したものである。制御メッセージのヘッダ内に含められた上記の情報が、エンプティバッファのノード12を考慮に入れたこの予測アルゴリズムにて使用される。
【００８６】
予測アルゴリズムの各々の実行に続き、段階716にて、図５Ａにて説明されたような計画表67が更新される。上述の予測アルゴリズムにおいて、ｔAは計画表内で更新されるべき値である。計画表67内の時刻を使用し、ノード12は自身がトークンを受け取る時刻を予測する。故に、制御器34はこの予測に基づいてデータチャネルの制御をスケジューリングし且つ最適化する。例えば、ノード12が波長λ1で送信されるべきデータを含んでおり、且つλ1での送信を許可するトークンがノード12に２４０μｓで到着する場合、ノード12はトークンを受けた際の送信に備え、λ1でデータを送信するための出力待ち行列72内にデータを組み立てる。故に、出力待ち行列72内のデータはトークンが到着する前に組み立てられることができ、それにより、データを送信する際の遅延が短縮されるか、あるいは排除される。
【００８７】
図７のフローチャートには変更、付加又は省略が為され得る。例えば、制御メッセージはまた、到来するデータ伝送信号を処理する方法を決定するためにノード12が使用するパラメータを含んでいてもよい。このフローチャートは、より多くの、より少ない、あるいはその他の段階を含んでいてもよい。さらに、段階群は如何なる好適な順序で実行されてもよく、また如何なる好適な部品によって実行されてもよい。
【００８８】
図８Ａは、ルートネットワークノード12からのポイントツーマルチポイント伝送においてデータを伝達する方法を例示するフローチャートである。段階800にて、ルートノード12はデータ送信を許可するプライマリトークンを受信する。ルートノード12は、このプライマリトークンを用いて送信する必要がある相異なる宛先への複数のデータ送信を有していてもよいが、例示された方法はルートノード12が後述のように特定のポイントツーマルチポイント送信信号を決定し、該送信信号をこのプライマリトークンのデータ送信許可を用いて送信すると仮定している。ルートノード12は第１のブランチノード12への送信期間中、このプライマリトークンを保持する。段階802にて、このトークンによって許可された送信ウィンドウ内でデータが送信される宛先として該ノードが決定したマルチキャストの宛先に関して、それらに関連付けられた出力待ち行列72が存在するかが判定される。例えば、ルートノード12aからブランチノード12b、12c及び12eへのマルチキャスト通信が行われる場合、ノード12b、12c及び12eを有するマルチキャストグループに関連付けられた出力待ち行列72をノード12aが含んでいるかが判定される。この出力待ち行列72は、ルートノード12がデータ源14から、１つ以上のその他のブランチノード12（及びその他の関連データ源14）に送信されるべきデータを受け取った時に作り出されてもよい。ルートノード12に適当な出力待ち行列72が存在しない場合、段階804にて、この出力待ち行列72が作り出される。特定の実施形態において、ヘッダが、マルチキャストグループに含まれる各ブランチノード12を指し示す待ち行列に関連付けられてもよい。例えば、ヘッダはブランチノード12がマルチキャスト伝送信号を受信する特定の順序でブランチノード12をリストアップしてもよい。他の一例として、ネットワーク10がリング型ネットワークである場合、ヘッダはまた、各ブランチノード12への最短の伝送方向を含んでいてもよい。
【００８９】
出力待ち行列72が存在すると判定された後、あるいは出力待ち行列72が作り出された後、段階806にて、送信されるべきデータが出力待ち行列72内に配置される。ルートノード12は、段階808にて、各ブランチノード12に制御メッセージを送信する。制御メッセージは、例えば、ブランチノード12がデータの受信及び／又は送信を行うように自身を設定するために使用するマルチキャスト送信に関して、マルチキャスト送信における更なるブランチノード12等の情報を含んでいる。特定の実施形態において、制御メッセージ内の情報は、予測的スケジューリング技術を実現するために使用される情報を含んでいてもよい。
【００９０】
ルートノード12は、段階810にて、出力待ち行列72のヘッダ内にリストアップされた第１のブランチノード12にデータを送信する。例えば、ノード12bがリストアップされた第１のブランチノード12である場合、ルートノード12aはブランチノード12bにデータを送信する。ルートノード12aは複数の出力待ち行列72を含んでいるので、マルチキャスト送信用の出力待ち行列72は、その他の出力待ち行列72がそれらの送信をトークンによって許可された送信ウィンドウの中で完了させるのを待つ。出力待ち行列72を使用可能にする順序を決定するために、ルートノード12においてＷＦＱ技術が適用される。
【００９１】
ルートノード12aは、ブランチノード12がデータを受信するのを待ち、そして段階812にて、第１のブランチノード12bからの受信通知を受け取ったかを判定する。受信通知が受け取られていない場合、ルートノード12aは受信通知を待ち続ける（図示されていないが、ルートノード12aは、或る一定の時間枠内に受信通知を受け取れない場合に、データを再送信するタイムアウト又はその他の機構を実行してもよい）。ルートノード12aが受信通知を受け取ると、段階814にて、送信されたデータが出力待ち行列72から削除される。
【００９２】
段階816にて出力待ち行列72が解放され、段階818にてルートノード12aは第１のブランチノード12bにサブトークンを送信する。サブトークンはブランチノード12からの送信を許可するものであり、プライマリトークンに従属する。例えば、サブトークンの許可送信時間はプライマリトークンの許可送信時間全体から決定される。サブトークンは、故に、プライマリトークンによって許可されたウィンドウから、ルートノード及び先行するブランチノードにより使用された実際の送信時間を減じたものに等しい時間ウィンドウでの送信を許可し得るのみである。出力待ち行列72を解放することは使用されていたメモリを解放することになり、出力待ち行列72は送信用の更なるデータを受け取り得る。他の一実施形態においては、出力待ち行列72を解放することは、仮想待ち行列60から出力待ち行列72を消去してもよい。この実施形態において、ルートノード12aは該ノード12が関与する各マルチキャスト送信に関する新たな出力待ち行列72を作り出す。伝送されたサブトークンは、ブランチノード12bが図８Ｂにて説明されるようにマルチキャスト伝送を継続することを許可する。
【００９３】
図８Ａのフローチャートには変更、付加又は省略が為され得る。例えば、ルートノード12aは、トークンを受信した後にマルチキャストグループの出力待ち行列72を作り出すのではなく、初期設定の段階で、マルチキャストの宛先の組み合わせごとに作り出された出力待ち行列72を有していてもよい。他の一例として、ルートノード12aは以前に作り出された出力待ち行列72の大きさを、マルチキャスト伝送信号を収容するように増大させてもよい。更に他の一例として、マルチキャスト伝送は双方向であってもよく、ルートノード12aからの２つの伝送に分割されてもよい。１つの伝送は通信リングを（例えば、ノード12b及び12cへと）時計回りに進む一方で、もう１つの伝送は通信リングを（例えば、ノード12eへと）反時計回りに進んでもよい。この例において、出力待ち行列72は、時計回りの向きの１つと反時計回りの向きの１つというように各向きに対して設けられてもよいし、あるいは双方の向きに対応するように単一の出力待ち行列72が設けられてもよい。複数の出力待ち行列72が用いられる場合、待ち行列72はデータが全ての宛先まで双方の向きで送達されることを確保するように調整されるべきである。単一の出力待ち行列72が用いられる場合には、ルートノード12aは送信が成功したと考えられる前に相反する向きにある２つのブランチノード12b及び12eから受信通知を受け取る。さらに、単一の出力待ち行列72は、各向きに対して一度ずつの二度にわたって使用可能にされる。
【００９４】
優先度に関連し、一方の向きに伝送されるデータはＷＦＱ（均等化キューイング）スキームに基づいていてもよく、他方の向きに伝送されるデータは優先度キューイングに基づいていてもよい。ＷＦＱはデータを別個の出力待ち行列72に入れ、利用可能な全帯域幅の少なくとも一部を各待ち行列に保証する。他方、優先度キューイングでは、各出力待ち行列72は固有の優先度レベルを有する。高めの優先度を有する出力待ち行列72は、低めの優先度を有する出力待ち行列72の前に処理される。これが行われる理由は、バーストがルートノード12において最大メディア・アクセス遅延（ＭＭＡＤ）を待つと、該バーストはブランチノード12において更なる遅延を被らないためである。例えば、ルートノード12aからマルチキャスト伝送信号を送信する出力待ち行列72はＷＦＱを用いて処理される一方で、ブランチノード12bの出力待ち行列72は優先度キューイングを用いて処理され、それにより、同一のマルチキャスト伝送が各ブランチノード12への伝送中に遅延を被ることが防止される。故に、ブランチノード12の出力待ち行列72は、ブランチノード12がサブトークンを受信した時にいつでも使用可能にされる。ブランチノード12からのマルチキャスト送信は、ブランチノード12のプライマリトークンではなくルートノード12のプライマリトークンのサブトークンによって許可されるので、同様に不利な立場には置かれない。他の一例として、ルートノード12aの出力待ち行列72が２つの向きで使用可能にされる場合、一方の向きにおける優先度はＷＦＱに基づく一方で、反対向きにおける優先度は優先度キューイングに基づいてもよい。
【００９５】
このフローチャートは、より多くの、より少ない、あるいはその他の段階を含んでいてもよい。さらに、段階群は如何なる好適な順序で実行されてもよく、また如何なる好適な部品によって実行されてもよい。
【００９６】
図８Ｂは、ブランチネットワークノードからポイントツーマルチポイント型データ伝送信号を伝達する方法を例示するフローチャートである。段階850にて、ブランチノード12はポイントツーマルチポイント伝送用の制御メッセージを受信する。段階852にて、マルチキャストグループに含まれる残りのブランチノード12を含む出力待ち行列72が存在するかが判定される。例えば、ルートノード12aがブランチノード12b、12c及び12eにマルチポイント伝送信号を送信する場合、ブランチノード12bは、ブランチノード12c及び12eに関連付けられた出力待ち行列72が該ブランチノード12bに存在するかを判定する。存在しない場合、段階854にて、残りのブランチノード12に関連付けられた出力待ち行列72が作り出される。
【００９７】
出力待ち行列72が存在すると判定された後、あるいは出力待ち行列72が作り出された後、ブランチノード12は段階856にて、制御メッセージにて指し示された送信ノード12からデータを受け取ったかを判定する。図示された実施形態において、送信ノード12はブランチノード12にデータを送信する何れのノード12をも意味する。例えば、送信ノード12はルートノード12であり得るし、あるいはマルチキャストグループ内の別のブランチノードでもあり得る。データを受信していない場合、ブランチノード12はデータを受信するのを待ち続ける。データを受信すると、段階858にて、ブランチノード12は適当な出力待ち行列72内にデータを配置する。
【００９８】
ブランチノード12は、段階860にて、データが受信されたことを指し示す受信通知を送信ノード12に送信する。段階862にて、マルチキャスト伝送路内に別のブランチノード12が存在するかが判定される。ブランチノード12及びマルチキャストグループはジェネラライズド・マルチプロトコル・ラベル・スイッチング（ＧＭＰＬＳ）ベースのポイントツーマルチポイント制御プレーン信号伝達によって構築且つ決定されてもよい。マルチキャスト伝送が現在のブランチノード12で終了する場合、当該方法はこれに続いて終了する。
【００９９】
他方、１つ以上の更なるブランチノード12が伝送路内に存在する場合、段階864にて、ブランチノード12は送信ノード12からサブトークンを受け取る。サブトークンを受け取ると、段階866にて、ブランチノード12は出力待ち行列72内のデータを次のブランチノード12に送信する。マルチポイント伝送に関連付けられたブランチノード12内の出力待ち行列72は、図８Ａにて説明されたように、優先度キューイングを用いて処理される。
【０１００】
特定の実施形態において、ブランチノード12は、図３Ａを参照して説明されたように、データを別のブランチノード12に送信するとき、ドロップ・アンド・リジェネレイト技術を実行する。マルチキャストの宛先の各々でデータを電気信号に変換し、その後、それを再生成することにより、その他のノード12への伝送の公平性が保証される。
【０１０１】
データが送信された後、段階868にて、次のブランチノード12から受信通知を受け取ったかが判定される。受信通知が受け取られていない場合、ブランチノード12は受信通知を待ち続ける（図示されていないが、ブランチノード12は、受信通知を受け取っていない場合に、データを再送信するタイムアウト又はその他の機構を実行してもよい）。受信通知が受け取られると、段階870にて、データが出力待ち行列72から削除される。段階872にて出力待ち行列72が解放される。出力待ち行列72を解放することは使用されていたメモリを解放することになる。ブランチノード12内の出力待ち行列72の解放はまた、出力待ち行列72の優先度キューイングからＷＦＱへの格下げをもたらす。待ち行列へのデータの入れ方は別のデータ伝送により再び変わり得る。段階874にて、ブランチノード12は次のブランチノード12に先とは異なる別のサブトークンを送信する。伝送されたこのサブトークンにより、次のブランチノード12がマルチキャスト伝送を続けることが許可される。
【０１０２】
図８Ｂのフローチャートには変更、付加又は省略が為され得る。例えば、ブランチノード12は出力待ち行列72を作り出す前に、マルチキャスト伝送内に別のブランチノード12が存在するかを判定してもよい。他の一例として、マルチキャストグループはノード12を追加されたり、あるいは該マルチキャストグループからノード12を削除されたりしてもよい。一実施形態において、追加あるいは削除されたノード12は、トラフィックの損失を防止するためにマルチキャストグループへ、あるいはマルチキャストグループから移植されてもよい。例えば、損失なくノード12を挿入するため、配置ツリー内でノード12と先行するノード12との間にサブツリーが付加されてもよい。先行ノード12の転送テーブルは変更されない。そして、配置ツリー内でノード12と後続ノード12との間にサブツリーが付加される。ノード12の転送テーブルは後続ノード12を指し示す。そして、先行ノード12と後続ノード12との間のサブツリーが削除され、先行ノード12の転送テーブルは後続ノード12に代わってノード12を指し示すように変更される。ノード12の無損失の削除は、上述の例を逆の順番で用いる。このフローチャートは、より多くの、より少ない、あるいはその他の段階を含んでいてもよい。さらに、段階群は如何なる好適な順序で実行されてもよく、また如何なる好適な部品によって実行されてもよい。
【０１０３】
本発明について幾つかの実施形態にて説明してきた。しかしながら、無数の改変、変更、代替、変形及び修正が当業者に示唆され、本発明は、添付の特許請求の範囲に入るそのような改変、変更、代替、変形及び修正を包含するものである。
【０１０４】
（付記１）複数のノードを有し、該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおいて、予測的スケジューリング技術を実行する方法であって：
第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを、第２のノードで受信する段階；
前記制御メッセージ内の前記情報を導出する段階；
第１のノードに対する第２のノードの位置を導出する段階；及び
前記制御メッセージ内の前記情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムを実行する段階；
を有する方法。
【０１０５】
（付記２）予測されたトークン到着時刻を用いて第２のノードにおける計画表を更新する段階を更に有する付記１記載の方法。
【０１０６】
（付記３）前記計画表内の予測されたトークン到着時刻に従って第２のノードからのデータバースト送信を準備する段階を更に有する付記２記載の方法。
【０１０７】
（付記４）前記制御メッセージ内の前記情報を導出する段階は、データバースト伝送のサイズを取得することを有する、付記１記載の方法。
【０１０８】
（付記５）前記制御メッセージ内の前記情報を導出する段階は、前記制御メッセージの第１のノードから第２のノードへの移動時間を導出することを有する、付記１記載の方法。
【０１０９】
（付記６）前記制御メッセージ内の前記情報を導出する段階は、第１のノードと第２のノードとの間に位置する１つ以上の介在ノードにおけるトークンの平均処理時間を導出することを有する、付記１記載の方法。
【０１１０】
（付記７）前記処理時間は前記１つ以上の介在ノードの各々の待ち行列による遅延を有する、付記６記載の方法。
【０１１１】
（付記８）第１のノードに対する第２のノードの位置を導出する段階は、第１のノードと第２のノードとが隣接し合っていることを導出することを有し、且つ予測アルゴリズムを実行する段階は第１のノードと第２のノードとが隣接位置にあることを考慮した予測アルゴリズムを実行することを有する、付記１記載の方法。
【０１１２】
（付記９）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、第２のノードのガード時間と、第２のノードを伝わる光バーストのデータサイズの合計を光バーストの伝送速度で割った値との和である、付記８記載の方法。
【０１１３】
（付記１０）第１のノードに対する第２のノードの位置を導出する段階は、第１のノードと第２のノードとの間の１つ以上の介在ノードを導出することを有する、付記１記載の方法。
【０１１４】
（付記１１）各介在ノードの種類を導出する段階を更に有し、該種類はエンプティバッファのノード及び非エンプティバッファのノードを有する、付記１０記載の方法。
【０１１５】
（付記１２）各介在ノードの種類を導出する段階は、制御メッセージの１つ以上のフィールド内の情報を評価することを有し、該１つ以上のフィールドはエンプティバッファの介在ノード各々の識別表示を有する、付記１１記載の方法。
【０１１６】
（付記１３）各介在ノードの種類を導出する段階は各介在ノードがエンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階はエンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、付記１１記載の方法。
【０１１７】
（付記１４）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と、第１及び第２のノード間の介在ノードにおけるトークン処理時間を有する第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、第２のノードのガード時間と、第２のノードを伝わる光バーストのデータサイズの合計を光バーストの伝送速度で割った値との和である、付記１３記載の方法。
【０１１８】
（付記１５）各介在ノードの種類を導出する段階は各介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階は非エンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、付記１１記載の方法。
【０１１９】
（付記１６）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、非エンプティバッファのノードの平均トークン保持時間との和であり、第１及び第２のノード間のトークンの移動時間は、第１及び第２のノード間のエンプティバッファのノードの数にエンプティバッファのノードにおけるトークン処理時間を掛け合わせた値と、第１及び第２のノード間の非エンプティバッファのノードの数に非エンプティバッファのノードの平均トークン保持時間を掛け合わせた値との和である、付記１５記載の方法。
【０１２０】
（付記１７）各介在ノードの種類を導出する段階は、少なくとも１つの介在ノードがエンプティバッファのノードであること及び少なくとも１つの介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行する段階は、１つ以上の非エンプティバッファのノードと１つ以上のエンプティバッファのノードとの組み合わせを考慮した予測アルゴリズムを実行することを有する、付記１１記載の方法。
【０１２１】
（付記１８）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、非エンプティバッファのノードの平均トークン保持時間との和であり、第１及び第２のノード間のトークンの移動時間は、第１及び第２のノード間のエンプティバッファのノードの数にエンプティバッファのノードにおけるトークン処理時間を掛け合わせた値と、第１及び第２のノード間の非エンプティバッファのノードの数に非エンプティバッファのノードの平均トークン保持時間を掛け合わせた値との和である、付記１７記載の方法。
【０１２２】
（付記１９）複数のノードを有し、該複数のノード間でのデータバースト伝送を許可するトークンを使用する通信ネットワークにおいて、予測的スケジューリング技術を実行するための、コンピュータ可読媒体に記録されたプログラムであって：
第１のノードから第２のノードへのデータバースト伝送に関する情報を有する第１のノードからの制御メッセージを、第２のノードで受信し；
前記制御メッセージ内の前記情報を導出し；
第１のノードに対する第２のノードの位置を導出し；且つ
前記制御メッセージ内の前記情報と、第１のノードに対する第２のノードの位置とを用いて、第１のノードからのトークンの第２のノードへの到着時刻を予測する予測アルゴリズムを実行する；
ように作用するプログラム。
【０１２３】
（付記２０）予測されたトークン到着時刻を用いて第２のノードにおける計画表を更新するように更に作用する付記１９記載のプログラム。
【０１２４】
（付記２１）前記計画表内の予測されたトークン到着時刻に従って第２のノードからのデータバースト送信を準備するように更に作用する付記２０記載のプログラム。
【０１２５】
（付記２２）前記制御メッセージ内の前記情報を導出することは、データバースト伝送のサイズを取得することを有する、付記１９記載のプログラム。
【０１２６】
（付記２３）前記制御メッセージ内の前記情報を導出することは、前記制御メッセージの第１のノードから第２のノードへの移動時間を導出することを有する、付記１９記載のプログラム。
【０１２７】
（付記２４）前記制御メッセージ内の前記情報を導出することは、第１のノードと第２のノードとの間に位置する１つ以上の介在ノードにおけるトークンの平均処理時間を導出することを有する、付記１９記載のプログラム。
【０１２８】
（付記２５）前記処理時間は前記１つ以上の介在ノードの各々の待ち行列による遅延を有する、付記２４記載のプログラム。
【０１２９】
（付記２６）第１のノードに対する第２のノードの位置を導出することは、第１のノードと第２のノードとが隣接し合っていることを導出することを有し、且つ予測アルゴリズムを実行することは第１のノードと第２のノードとが隣接位置にあることを考慮した予測アルゴリズムを実行することを有する、付記１９記載のプログラム。
【０１３０】
（付記２７）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、第２のノードのガード時間と、第２のノードを伝わる光バーストのデータサイズの合計を光バーストの伝送速度で割った値との和である、付記２６記載のプログラム。
【０１３１】
（付記２８）第１のノードに対する第２のノードの位置を導出する段階は、第１のノードと第２のノードとの間の１つ以上の介在ノードを導出する段階を有する、付記１９記載のプログラム。
【０１３２】
（付記２９）各介在ノードの種類を導出するように更に作用し、該種類はエンプティバッファのノード及び非エンプティバッファのノードを有する、付記２８記載のプログラム。
【０１３３】
（付記３０）各介在ノードの種類を導出することは、制御メッセージの１つ以上のフィールド内の情報を評価することを有し、該１つ以上のフィールドはエンプティバッファの介在ノード各々の識別表示を有する、付記２８記載のプログラム。
【０１３４】
（付記３１）各介在ノードの種類を導出することは各介在ノードがエンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行することはエンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、付記２８記載のプログラム。
【０１３５】
（付記３２）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と、第１及び第２のノード間の介在ノードにおけるトークン処理時間を有する第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、第２のノードのガード時間と、第２のノードを伝わる光バーストのデータサイズの合計を光バーストの伝送速度で割った値との和である、付記３１記載のプログラム。
【０１３６】
（付記３３）各介在ノードの種類を導出することは各介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行することは非エンプティバッファの介在ノードを考慮した予測アルゴリズムを実行することを有する、付記２８記載のプログラム。
【０１３７】
（付記３４）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、非エンプティバッファのノードの平均トークン保持時間との和であり、第１及び第２のノード間のトークンの移動時間は、第１及び第２のノード間のエンプティバッファのノードの数にエンプティバッファのノードにおけるトークン処理時間を掛け合わせた値と、第１及び第２のノード間の非エンプティバッファのノードの数に非エンプティバッファのノードの平均トークン保持時間を掛け合わせた値との和である、付記３３記載のプログラム。
【０１３８】
（付記３５）各介在ノードの種類を導出することは、少なくとも１つの介在ノードがエンプティバッファのノードであること及び少なくとも１つの介在ノードが非エンプティバッファのノードであることを導出することを有し、且つ予測アルゴリズムを実行することは、１つ以上の非エンプティバッファのノードと１つ以上のエンプティバッファのノードとの組み合わせを考慮した予測アルゴリズムを実行することを有する、付記２８記載のプログラム。
【０１３９】
（付記３６）前記予測アルゴリズムはトークンの到着時刻を、トークンの出発時刻と第１及び第２のノード間のトークンの移動時間との和として導出するものであり、ここで、トークンの出発時刻は、トークンタイマーによって指し示されるトークンが第１のノードを出発する開始時刻と、非エンプティバッファのノードの平均トークン保持時間との和であり、第１及び第２のノード間のトークンの移動時間は、第１及び第２のノード間のエンプティバッファのノードの数にエンプティバッファのノードにおけるトークン処理時間を掛け合わせた値と、第１及び第２のノード間の非エンプティバッファのノードの数に非エンプティバッファのノードの平均トークン保持時間を掛け合わせた値との和である、付記３５記載のプログラム。
【図面の簡単な説明】
【０１４０】
【図１】ネットワークノードを含む通信ネットワークを例示するブロック図である。
【図２】ネットワークからのネットワークノードの機能要素を例示するブロック図である。
【図３Ａ】ネットワークノードの光学部品を例示するブロック図である。
【図３Ｂ】ドロップ・アンド・コンティニュー技術を実装したネットワークノードの光学部品の構成を例示するブロック図である。
【図３Ｃ】ドロップ・アンド・リジェネレイト技術を実装したネットワークノードの光学部品の構成を例示するブロック図である。
【図４】ネットワークノードを用いてデータを伝達する方法を例示するフローチャートである。
【図５Ａ】ネットワークノードの電気部品を例示するブロック図である。
【図５Ｂ】ネットワークノードの仮想待ち行列を例示するブロック図である。
【図６】データチャネル制御の予測的スケジューリングを例示する図である。
【図７】データチャネル制御の予測的スケジューリングを実行する方法を例示するフローチャートである。
【図８Ａ】ルートネットワークノードからのポイントツーマルチポイント伝送においてデータを伝達する方法を例示するフローチャートである。
【図８Ｂ】ブランチネットワークノードからポイントツーマルチポイント型データ伝送信号を伝達する方法を例示するフローチャートである。
【符号の説明】
【０１４１】
10  …  通信ネットワーク
12  …  ノード
14  …  データ源
16  …  光ファイバ
18  …  制御用チャネル
20  …  ポリシーサーバ
30  …  光学部品
32  …  電気部品
34  …  制御器
60  …  仮想待ち行列
62  …  ポート
64  …  スイッチ
66  …  メモリ
67  …  計画表
68  …  プロセッサ
70  …  入力待ち行列
72  …  出力待ち行列
606、613、625  …  ガード時間
【図１】
2008136206.tif 000003
【図２】
2008136206.tif 000004
【図３Ａ】
2008136206.tif 000005
【図３Ｂ】
2008136206.tif 000006
【図３Ｃ】
2008136206.tif 000007
【図４】
2008136206.tif 000008
【図５Ａ】
2008136206.tif 000009
【図５Ｂ】
2008136206.tif 000010
【図６】
2008136206.tif 000011
【図７】
2008136206.tif 000012
【図８Ａ】
2008136206.tif 000013
【図８Ｂ】
2008136206.tif 000014