(57)【特許請求の範囲】
【請求項１】
複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子を同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を制御して設定するコネクション設定手段と、
前記ｎ個の端末で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てるプロセス識別子割り当て手段と、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該ｎ個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするＡＴＭ通信システム。
【請求項２】
複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子であるセルヘッダのＶＰＩおよびＶＣＩを同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を制御して設定するコネクション設定手段と、
前記ｎ個の端末上で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子としてＡＡＬ３／４の多重識別子を割り当てるプロセス識別子割り当て手段と、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該ｎ個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするＡＴＭ通信システム。
【請求項３】
複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子であるセルヘッダのＶＰＩを同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を制御して設定するコネクション設定手段と、
前記ｎ個の端末上で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子としてセルヘッダのＶＣＩを割り当てるプロセス識別子割り当て手段と、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該ｎ個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするＡＴＭ通信システム。
【請求項４】
前記プロセスは、該プロセスが実行されている端末の識別子と該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを予め定められた時間間隔で前記双方向ＡＴＭコネクションに送出し、該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを受け取ると該メッセージの内容を保持し、前記双方向ＡＴＭコネクションに接続されたプロセスに割り当てられたプロセス識別子の表を作成して保持することを特徴とする請求項１乃至３のいずれか１項記載のＡＴＭ通信システム。
【請求項５】
前記プロセスのうち資源を管理するプロセス群はそれぞれの資源を識別するためにグローバルユニークな資源識別子を有し、前記ＡＴＭ通信システムの立ち上げ時に、前記プロセス群にそれぞれのプロセスが管理すべき資源を割り当てるマスタ資源プロセスが、前記プロセス識別子により前記立ち上げ時に割り当てた資源を管理しているプロセスを識別することを特徴とする請求項１乃至３のいずれか１項記載のＡＴＭ通信システム。
【請求項６】
複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおけるプロセスマイグレーション方法において、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子を同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を経由して設定し、
前記ｎ個の端末で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てた後、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに割り当てられた前記プロセス識別子を保持したまま前記ｎ個の端末のうちの他の端末へマイグレートすることを特徴とするＡＴＭ通信システムにおけるプロセスマイグレーション方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数の端末を収容しそれらの端末間で通信を行うための通信システムに係り、特に非同期転送モード（ＡＴＭ）にて通信を行うＡＴＭ通信システムとＡＴＭ通信システムにおけるプロセスマイグレーション方法に関する。
【０００２】
【従来の技術】
従来より、伝送／交換技術の高速化を狙う技術として、ＡＴＭ（非同期転送モード）が注目を集めている。ＡＴＭは、全ての情報をセルと呼ばれる固定長短パケットに担わせて転送する事により、パケット交換のハードウェア実装を狙い、高速な情報の伝送／交換を容易にする事を狙った技術である。
【０００３】
ＡＴＭは、将来の広帯域サービス統合ディジタル網（Ｂ−ＩＳＤＮ）の“約束された解”と目されている。このことから、いわゆるキャリアが運用している公衆網はもとより、公衆網とのインタオペラビリティを高めるべく、例えばオフィスの一つのフロアといった限定された区域をサービス範囲とするネットワーク、即ちローカルエリアネットワーク（ＬＡＮ）に、ＡＴＭ技術を適用したいわゆるＡＴＭ−ＬＡＮや、限定された地域に対して通信サービスを提供するいわゆるＣＡＴＶ網にＡＴＭ技術を適用する手法といった、ＡＴＭ技術を種々の通信システムに適用する研究・開発が近年活発になされている。
【０００４】
このＡＴＭ技術を用いたＡＴＭ通信システムでは、通信を行う前に、通信を行おうとする端末間にいわゆるコネクションを設定する。通信を行おうとする端末は、通信システムにセルを送出するとき、該セルのヘッダ部にコネクションの識別子を書き込む。通信システムは、該セルのヘッダ部を参照し、該セルの属するコネクションに沿って該セルを転送する事で、該セルを所望の端末へ転送する。ＩＴＵ−Ｔ標準においては、ＡＴＭレイヤにおける該コネクションの識別子はＶＰＩ／ＶＣＩと呼ばれる。
【０００５】
このように、ＡＴＭ通信システムではコネクションを使用して通信を行う。この為、ＡＴＭ通信システムを構成するＡＴＭ交換機は、それぞれの入力ポート毎に、該入力ポート上に設定されているコネクションに属するセルをどの出力ポートに転送するかを示す情報と、該コネクションに属するセルの該ＡＴＭ交換機から送出するときの新しいＶＰＩ／ＶＣＩの値とを保持するルーティングタグテーブルを持っている。ＡＴＭレイヤにおけるコネクション設定は、該コネクションが経由するＡＴＭ交換機上のルーティングタグテーブルを所望の値に設定することによりなされる。
【０００６】
このようにＡＴＭ通信システムは、コネクションを予め設定して通信を行うため、コネクションに予め各物理リンクの帯域を割り当てる事で所望の通信品質を各端末に与える事ができるという利点がある一方、以下に述べるような問題点を持っている。
【０００７】
一般に通信システムでは、例えばある端末が故障したとかいった理由により、その端末上で実行されているプロセスを別の端末に移動（マイグレート）したくなる事がある。このような端末から別の端末へのプロセスの移動は、一般的にプロセスマイグレーションと呼ばれる。従来技術によるＡＴＭ通信システムでは、このプロセスマイグレーションを以下のような手順により行っている。
【０００８】
図４３に、従来技術によるＡＴＭ通信システム上でのプロセスマイグレーションの手順の一例を示す。同図に示した例では、ＡＴＭ通信システムにて互いに接続されている端末＃１（Ｘ０４１），＃２（Ｘ０４２），…，＃ｎ（Ｘ０４ｎ）が示されている。従来技術によるＡＴＭ通信システムには、コネクションを設定するためのプロトコルであるＱ．２９３１を終端するＱ．２９３１終端部Ｘ０１が存在しており、このＱ．２９３１終端部Ｘ０１と各端末Ｘ０４ｉの間にシグナリングＶＣ＃ｉ（Ｘ０２ｉ）が設定されている。シグナリングＶＣ＃ｉ（Ｘ０２ｉ）を使用して、各端末はＱ．２９３１終端部Ｘ０１に対して通信を行いたい相手の端末を指定する。Ｑ．２９３１終端部Ｘ０１は、コネクション設定を要求した端末と、このコネクション設定要求により指定された端末との間にコネクションを設定し、端末間の通信に供する。なお、同図では煩雑化を避けるため、ＡＴＭ通信システムを構成するＡＴＭ交換機や物理リンクは省略されているが、これらのＶＣが設定されている所に物理リンク及びＡＴＭ交換機が存在しているものとしている。
【０００９】
図４３に示した例では、端末＃１（Ｘ０４１）上でプロセス＃１（Ｘ０５１）が実行され、また端末＃２（Ｘ０４２）上でプロセス＃２（Ｘ０５２）が実行されている。プロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）は、コネクションＸ０３を介して通信を行っている。この状態で、端末＃２（Ｘ０４２）上で動作しているプロセス＃２（Ｘ０５２）を端末＃ｎ（Ｘ０４ｎ）にマイグレートする事を考える。
【００１０】
図４４に、マイグレート後の状態を示す。プロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）との間の通信を行うため、端末＃１（Ｘ０４１）と端末＃ｎ（Ｘ０４ｎ）の間に新しいコネクションＹ０２が設定されている。マイグレート前にこれらのプロセス間で通信を行うために設定されていたコネクションＸ０３は解放されている。また、プロセス＃２（Ｘ０５２）を端末＃２（Ｘ０４２）から端末＃ｎ（Ｘ０４ｎ）に移動させるために、端末＃２（Ｘ０４２）と端末＃ｎ（Ｘ０４ｎ）の間にコネクションＹ０１が設定され、マイグレート終了後はコネクションＹ０１は解放されている。
【００１１】
図４５に、図４３に示す状態から図４４に示す状態に移行するために、従来技術によるＡＴＭ通信システムで行われるマイグレーション手順の例を示す。
【００１２】
端末＃２（Ｘ０４２）は、自分の上で実行されているプロセス＃２（Ｘ０５２）をマイグレートしようとする場合、まずＱ．２９３１終端部Ｘ０１に対してコネクションＹ０１を設定するように要求する（ステップＺ０１）。Ｑ．２９３１終端部Ｘ０１は、このコネクション設定要求を受け取ると、ＡＴＭ通信システム中のＡＴＭ交換機のルーティングタグテーブルに適切な値を書き込むことでコネクションを設定し（ステップＺ０２）、コネクションが設定された旨を端末＃ｎ（Ｘ０４ｎ）に通知する（ステップＺ０３）。端末＃ｎ（Ｘ０４ｎ）は新しく設定されたコネクションを受け入れる事が可能であれば、コネクションを受け入れるための処理を行った後、その旨をＱ．２９３１終端部Ｘ０１に通知する（ステップＺ０４）。Ｑ．２９３１終端部Ｘ０１は、端末＃ｎ（Ｘ０４ｎ）からのコネクション受け入れ可の通知を受けると、端末＃２（Ｘ０４２）にコネクションの設定完了を通知する（ステップＺ０５）。これにより端末＃２と端末＃ｎの間のコネクションＹ０１が設定されたので、端末＃２（Ｘ０４２）と＃ｎ（Ｘ０４ｎ）はコネクションＹ０１を用いて通信を行い、プロセス＃２（Ｘ０５２）を端末＃２（Ｘ０４２）から端末＃ｎ（Ｘ０４ｎ）へと転送する（ステップＺ０６）。これと同時に、端末＃２（Ｘ０４２）は自分の上で実行されていたプロセス＃２（Ｘ０５２）が端末＃ｎ（Ｘ０４ｎ）に移動されたこと、つまりプロセスマイグレーションが行われた旨をコネクションＸ０３を用いて端末＃１（Ｘ０４１）に通知する（ステップＺ０７）。
【００１３】
端末＃１（Ｘ０４１）は、こうしてプロセスマイグレーションが通知されるとプロセス＃１（Ｘ０５１）の実行を一旦停止させると同時に、マイグレート先の端末＃ｎ（Ｘ０４ｎ）との間のコネクション設定をＱ．２９３１終端部Ｘ０１に要求する（ステップＺ０８）。Ｑ．２９３１終端部Ｘ０１は、コネクション設定が要求されると、コネクションの経路上のＡＴＭ交換機のルーティングタグテーブルを適切な値に書き換えることで、要求されたコネクションを設定する（ステップＺ０９）。コネクション設定が終了すると、Ｑ．２９３１終端部Ｘ０１は、端末＃ｎ（Ｘ０４ｎ）にコネクションが設定されたことを通知する（ステップＺ１０）。端末＃ｎ（Ｘ０４ｎ）は、コネクション設定が通知されると、コネクションを受け入れる為の予め定められた処理を行った後、コネクションの受け入れが終了した旨をＱ．２９３１終端部Ｘ０１に通知する（ステップＺ１１）。
【００１４】
端末＃ｎ（Ｘ０４ｎ）によるコネクション受け入れが通知されると、Ｑ．２９３１終端部Ｘ０１は、コネクション設定要求を行った端末＃１（Ｘ０４１）にコネクションの設定終了を通知する（ステップＺ１２）。
【００１５】
以上で、端末＃１（Ｘ０４１）と端末＃ｎ（Ｘ０４ｎ）の間のコネクションＹ０２が設定されたので、端末＃１（Ｘ０４１）はプロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）の実行が再開可能となった事を端末＃２（Ｘ０４２）と端末＃ｎ（Ｘ０４ｎ）にそれぞれコネクションＸ０３とコネクションＹ０２を用いてそれぞれ通知する（ステップＺ１３）。この通知をトリガとして、端末＃１（Ｘ０４１）上でのプロセス＃１（Ｘ０５１）の実行と、端末＃ｎ（Ｘ０４ｎ）上でのプロセス＃２（Ｘ０５２）の実行が再開される。
【００１６】
一方、ＡＴＭ通信システム上には、プロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）の通信に使用されなくなったコネクションＸ０３と、マイグレート時にのみ使用されるコネクションＹ０１がまだ設定されたままとなっている。これらのコネクションを解放するため、プロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）の実行が再開された後で、端末＃１（Ｘ０４１）はコネクションＸ０２の解放を、また端末＃２（Ｘ０４２）はコネクションＹ０１の解放をそれぞれＱ．２９３１終端部Ｘ０１に要求する。
【００１７】
コネクションＸ０２の解放のシーケンスが図４５にステップＺ１４，Ｚ１５，Ｚ１６，Ｚ１７，Ｚ１８で示され、コネクションＹ０１の解放のシーケンスがステップＺ１９，Ｚ２０，Ｚ２１，Ｚ２２，Ｚ２３で示されている。いずれのシーケンスも、以下のシーケンスにてコネクション解放を行っている。まず、コネクション解放要求送出元の端末がコネクション開放要求をＱ．２３９１終端部Ｘ０１に送付する。Ｑ．２９３１終端部Ｘ０１は、コネクション解放要求を受け取ると、そのコネクションを使用して通信を行っているもう一方の端末にコネクション解放を通知する。コネクション解放を通知された端末は、コネクション解放時に実行される予め定められた処理を実行したのちに、コネクション解放を受け入れた事をＱ．２９３１終端部Ｘ０１に通知する。Ｑ．２９３１終端部Ｘ０１は、コネクション解放が受け入れられると、解放するコネクションの経路上のＡＴＭ交換機のルーティングタグテーブルを適切な値に変更することでコネクションを解放する。これが終了すると、Ｑ．２９３１終端部Ｘ０１はコネクションの解放が終了した事をコネクション解放を要求した端末に通知する。
【００１８】
以上の動作がプロセス＃２（Ｘ０５２）を端末＃２（Ｘ０４２）から端末＃ｎ（Ｘ０４ｎ）に移動させる場合に実行される処理である。
【００１９】
以上の説明から分かるように、従来技術によるＡＴＭ通信システム上でプロセスマイグレーションを実行しようとすると、数多くのコネクション設定／解放を行う必要が生じる。また、これら全てのコネクション設定／解放がＱ．２９３１終端部Ｘ０１にて実行されるため、迅速なプロセスマイグレーションを実行するためにはＱ．２９３１終端部Ｘ０１のスループットを大きくし、かつＡＴＭ交換機のルーティングタグ書き換え時間を短くする必要があるが、これを実行するとＡＴＭ通信システムがコスト高になってしまうという問題点がある。
【００２０】
さらに、プロセス＃１（Ｘ０５１）とプロセス＃２（Ｘ０５２）がコネクションＹ０２を識別するためのＶＰＩ／ＶＣＩ、即ちこれらのプロセスがセルの送受信時に使用されるＶＰＩ／ＶＣＩの値は、必ずしもコネクションＸ０３を使用していた時の値をそのまま使用できる訳ではない事に注意が必要である。従来技術のＡＴＭ通信システムの場合、各物理リンク上でコネクションを識別するためのＶＰＩ／ＶＣＩはＱ．２９３１終端部Ｘ０１が管理しており、コネクションＹ０２の端点でのＶＰＩ／ＶＣＩは、端末＃ｎへはステップＺ１０のコネクション設定報告において、また端末＃１へはステップＺ１２のコネクション設定終了報告において、それぞれＱ．２９３１終端部Ｘ０１から通知される。端末＃１（Ｘ０４１），＃ｎ（Ｘ０４ｎ）は、通知されたＶＰＩ／ＶＣＩを用いてプロセス＃１（Ｘ０５１），＃２（Ｘ０５２）へのメッセージを識別し、必要なプロセスにルーティングする必要がある。この事実は、端末＃ｎから見た場合、コネクションの設定が報告されるステップＺ１０において、設定されたコネクションがプロセスマイグレーションに係る新しいコネクション設定である事を認識する必要がある事を意味する。この認識は、例えばＱ．２９３１メッセージの一つの情報要素であるユーザ−ユーザ間情報に、このコネクションはプロセスマイグレーションに係る新しいコネクション設定である旨を書き込んでおき、コネクションが設定された側の端末では、ユーザ−ユーザ間情報を参照して、通知されたＶＰＩ／ＶＣＩと、このＶＰＩ／ＶＣＩを使用するプロセスの対応付けを行うことによって実行可能である。
【００２１】
しかしながら、マイグレート前後で使用するＶＰＩ／ＶＣＩが変化するということは、マイグレートが発生するときに、マイグレートされたプロセスのみならず、同じ端末上で実行が再開されるプロセスもＱ．２９３１終端部Ｘ０１から渡されるメッセージの情報要素を参照し、これらのプロセスが情報の入出力を行うためのコネクションの繋ぎ換えを行う必要がある事を意味する。即ち、Ｑ．２９３１終端部Ｘ０１から渡されるメッセージを参照して、マイグレートが発生したプロセスに関連するプロセス全てに何らかの処理を施す必要があるため、マイグレートに必要な時間はさらに増大してしまう。
【００２２】
【発明が解決しようとする課題】
以上説明した如く、従来技術によるＡＴＭ通信システムでは、プロセスマイグレーションを行う場合にＱ．２９３１終端部に複雑なパタンでアクセスして数多くのコネクション設定／解放を行わなければならず、迅速なプロセスマイグレーションを行うためにはＱ．２９３１終端部Ｘ０１のスループットを大きくし、またＡＴＭ交換機のルーティングタグ書き換え時間を短くする必要があるため、ＡＴＭ通信システムがコスト高となる問題がある。さらに、マイグレート時に種々のプロセスに対して多くの処理を施す必要があることも、迅速なプロセスマイグレーションを実現する上で障害となっていた。
【００２３】
従って、本発明はシステムコストを増大させることなく迅速なプロセスマイグレーションを行うことが可能なＡＴＭ通信システムとＡＴＭ通信システムにおけるプロセスマイグレーション方法を提供することを目的とする。
【００２４】
【課題を解決するための手段】
上記課題を解決するため、第１の発明に係るＡＴＭ通信システムは、複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子を同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を制御して設定するコネクション設定手段と、
前記ｎ個の端末で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てるプロセス識別子割り当て手段と、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該ｎ個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とする。
【００２５】
一つの実施態様によれば、ｎ個の端点を識別するためのコネクション識別子としてはセルヘッダのＶＰＩ（論理パス識別子）およびＶＣＩ（論理チャネル識別子）が用いられ、プロセス識別子としてはＡＡＬ（ＡＴＭアダプテーションレイヤ）３／４のＭＩＤ（多重識別子）が用いられる。
【００２６】
他の実施態様によれば、ｎ個の端点を識別するためのコネクション識別子としてはセルヘッダのＶＰＩ（論理パス識別子）が用いられ、プロセス識別子としてはセルヘッダのＶＣＩ（論理チャネル識別子）が用いられる。
【００２７】
第１の発明に係るプロセスマイグレーション方法は、複数の端末を複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の端末のうちのｎ個の端末を端点とし、かつ該ｎ個の端点を識別するためのコネクション識別子を同一とするｎ：ｎの双方向ＡＴＭコネクションを前記複数のＡＴＭ交換機を経由して設定し、
前記ｎ個の端末で実行される、前記双方向ＡＴＭコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てた後、
前記ｎ個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに割り当てられた前記プロセス識別子を保持したまま前記ｎ個の端末のうちの他の端末へマイグレートすることを特徴とする。
【００２８】
また、第１の発明における前記プロセスは、該プロセスが実行されている端末の識別子と該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを予め定められた時間間隔で前記双方向ＡＴＭコネクションに送出し、該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを受け取ると該メッセージの内容を保持し、前記双方向ＡＴＭコネクションに接続されたプロセスに割り当てられたプロセス識別子の表を作成して保持することを特徴とする。
【００２９】
さらに、第１の発明における前記プロセスのうち資源を管理するプロセス群はそれぞれの資源を識別するためにグローバルユニークな資源識別子を有し、前記ＡＴＭ通信システムの立ち上げ時に、前記プロセス群にそれぞれのプロセスが管理すべき資源を割り当てるマスタ資源プロセスが、前記プロセス識別子により前記立ち上げ時に割り当てた資源を管理しているプロセスを識別することを特徴とする。
【００３０】
第２の発明に係るＡＴＭ通信システムは、複数の固定端末と、移動端末を収容するための異なる無線ゾーンに配置された複数の移動端末収容装置とを複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおいて、
前記複数の固定端末のうちのｎ個の端末を入力側端点とし、前記複数の移動端末収容装置のうちのｍ個の移動端末収容装置を出力側端点とするｎ：ｍの第１の単方向ＡＴＭコネクションと、前記ｍ個の移動端末収容装置を入力側端点とし、前記ｎ個の固定端末を出力側端点とするｍ：ｎの第２の単方向ＡＴＭコネクションとを前記複数のＡＴＭ交換機を制御して設定するコネクション設定手段と、
前記第１の単方向ＡＴＭコネクションのｍ個の入力側端点の識別と前記第２の単方向ＡＴＭコネクションのｍ個の出力側端点の識別のために同一のコネクション識別子を割り当てるコネクション識別子割り当て手段とを備え、
前記移動端末は、前記コネクション識別子割り当て手段により割り当てられたコネクション識別子により前記固定端末との通信に使用するＡＴＭコネクションを指定することを特徴とする。
【００３１】
また、第２の発明に係るハンドオーバ処理方法は、
複数の固定端末と、移動端末を収容するための異なる無線ゾーンに配置された複数の移動端末収容装置とを複数のＡＴＭ交換機を介して接続してなるＡＴＭ通信システムにおけるハンドオーバ処理方法において、
前記複数の固定端末のうちのｎ個の端末を入力側端点とし、前記複数の移動端末収容装置のうちのｍ個の移動端末収容装置を出力側端点とするｎ：ｍの第１の単方向ＡＴＭコネクションと、前記ｍ個の移動端末収容装置を入力側端点とし、前記ｎ個の固定端末を出力側端点とするｍ：ｎの第２の単方向ＡＴＭコネクションとを前記複数のＡＴＭ交換機を制御して設定し、
前記第１の単方向ＡＴＭコネクションのｍ個の入力側端点の識別と前記第２の単方向ＡＴＭコネクションのｍ個の出力側端点の識別のために同一のコネクション識別子を割り当て、
前記移動端末が移動しつつ前記固定端末と通信する際、前記移動端末収容装置に設定された前記同一のコネクション識別子により前記固定端末との通信に使用するＡＴＭコネクションを指定することを特徴とする。
【００３２】
【作用】
第１の発明においては、ある端末で実行されるプロセス（ＡＴＭコネクションにメッセージを転送する処理）を他の端末へマイグレートするプロセスマイグレーションを行う場合、プロセスマイグレーションを実行するためのＡＴＭコネクションをプロセスマイグレーションが実行される端末を含むｎ個の端末に対して予め設定しておくため、従来技術のようにＱ．２９３１終端部によるコネクション設定／解放を行う必要がない。そして、プロセスマイグレーションを実行するためのＡＴＭコネクションとして、端点の識別子を同一としたｎ：ｎの双方向ＡＴＭコネクションを設定し、この双方向ＡＴＭコネクションにメッセージを転送するプロセスを実行する際に使用するプロセス識別子をマイグレーション対象のプロセスに割り当て、しかもマイグレーションの前後でプロセス識別子を変更しないので、マイグレーションに伴うプロセス間通信処理への影響が最小限に抑えられる。これらのことから、従来技術に比較して迅速なプロセスマイグレーションを実現することができる。しかも、Ｑ．２９３１終端部を経由せずにプロセスマイグレーションを行うため、Ｑ．２９３１終端部のスループットを大きくしたりＡＴＭ交換機のルーティングタグ書き換え時間を短縮するといったことが不要となり、ＡＴＭ通信システムのコスト的負担も軽減される。
【００３３】
また、第１の発明において、ｎ：ｎの双方向ＡＴＭコネクションにより通信を行うプロセスが、プロセス識別子とそのプロセスの実行されている端末の識別子を含む単一セルのメッセージをＡＴＭコネクションを介して送受することで、各々の使用しているプロセス識別子を通知し合うようにすると、各プロセスはｎ：ｎの双方向ＡＴＭコネクションにアクセス可能であれば、通知されたメッセージを受信するのみで、使用されていないプロセス識別子を知ることができるので、新しいプロセスを容易に追加することができる。
【００３４】
さらに、第１の発明において、資源を管理するプロセス群に対して管理すべき資源を割り当てるプロセスにおいて、それぞれのプロセスを識別するためにプロセス識別子を用いることにより、資源を管理するプロセス群のうちの任意の一つのプロセスの実行される端末が別の端末に移動するようなプロセスマイグレーションが発生しても、他の資源を管理するプロセスに対してそのプロセスマイグレーションが発生した事を隠蔽でき、しかも資源を管理するプロセス群が持つ資源識別子をグローバルユニークなものとすることにより、資源を管理するプロセスをマイグレートしても、その資源を管理するプロセスが持つデータを書き換える必要がないために、より迅速なプロセスマイグレーションが可能になる。
【００３５】
第２の発明においては、ｎ：ｍの第１の単方向ＡＴＭコネクションのｍ個の出力側端点と、ｍ：ｎの第２の単方向ＡＴＭコネクションのｍ個の入力側端点のコネクション識別子を同一としたことにより、これらの入出力端点に対してアクセスする移動端末がアクセス点つまり異なる無線ゾーンに移動する際でも、コネクション識別子を変更することなく固定端末との通信に使用するＡＴＭコネクションを設定して通信を継続することができ、単純なプロトコルにて移動端末のマイグレーション、すなわちハンドオーバ処理を実現することが可能となる。
【００３６】
【実施例】
以下、図面を参照しながら本発明の実施例について詳細に説明する。
【００３７】
（実施例１）
＜システム構成について＞
図１は、本発明の一実施例に係るＡＴＭ通信システムの概略構成を示す図であり、４個の端末＃１〜＃４（１０１１〜１０１４）が３個のＡＴＭ交換機＃１〜＃３（１０２１〜１０２３）を介して接続され、端末＃１〜＃４（１０１１〜１０１４）を端点とするｎ：ｎの双方向ＡＴＭコネクション１０３が設定されている状態を示している。勿論、この双方向ＡＴＭコネクション１０３が設定されているＡＴＭ交換機間およびＡＴＭ交換機−端末間には物理リンクが存在しているが、図１では煩雑となるのを避けるため省略している。また、この例ではｎ：ｎの双方向ＡＴＭコネクション１０３として４個の端末と３個のＡＴＭ交換機により４：４の双方向ＡＴＭコネクションが設定されているが、ｎ：ｎの双方向ＡＴＭコネクションからなるＡＴＭ通信システムは、任意の個数の端末とＡＴＭ交換機からなるＡＴＭ通信システムに適用可能であることはいうまでもない。
【００３８】
端末＃１〜＃４（１０１１〜１０１４）においては、相互作用を及ぼし合いながら処理を進める４個のプロセス＃１〜＃４（１０６１〜１０６４）がＡＴＭコネクション１０３を経由して通信を行う。ここで、本発明においてはプロセスマイグレーションを行う場合、すなわち端末＃１〜＃４（１０１１〜１０１４）の各々で実行されるプロセス＃１〜＃４（１０６１〜１０６４）を他の端末＃ｉ（１０１ｉ）へ移動させる場合には、コネクション設定部１０４によってＡＴＭ交換機＃１〜＃３（１０２１〜１０２３）の一部または全部を制御することにより、プロセス＃ｉが実行される可能性のある端末＃ｉに対して、このｎ：ｎの双方向ＡＴＭコネクション１０３を予め設定しておくことが一つの特徴である。さらに、本発明ではｎ：ｎのＡＴＭコネクション１０３は、端末＃１〜＃４（１０１１〜１０１４）において該コネクションを識別するためのコネクション識別子として同一の識別子（この例ではＶＰＩ／ＶＣＩ）を用いることも特徴である。
【００３９】
なお、本発明は特にプロセスの数を４個と限定するものではなく、これより少なくとも多くともよいが、ここでは一つの例としてプロセスの個数を４個として以下の説明を進める。また、プロセスの個数に等しい分岐数を持つｎ：ｎの双方向ＡＴＭコネクション１０３を使用して通信する必要もなく、プロセスの個数より大きな分岐数を持つｎ：ｎの双方向ＡＴＭコネクションを使用する事も可能である。
【００４０】
プロセス＃１〜＃４（１０６１〜１０６４）が通信を行うために可変長のメッセージを使用する事にすると、良く知られている様にそれぞれのプロセスと双方向ＡＴＭコネクション１０３との間にアダプテーション処理が必要になる。アダプテーション処理は、可変長のメッセージを固定長のセルの形式に変形するセル化処理と、固定長のセルを複数個集め、それらから可変長のメッセージを再生する、メッセージ組立処理とからなる。そこで、端末＃１〜＃４（１０１１〜１０１４）には、プロセス＃１〜＃４（１０６１〜１０６４）と双方向ＡＴＭコネクション１０３の間に位置して、セル化部１０７１〜１０７４およびメッセージ組立部１０８１〜１０８４が配置されている。ここでのアダプテーション処理は、ＩＴＵ−Ｔ標準のＩ．３６３で規定されているＡＡＬ３／４を適用することにする。ＡＡＬ３／４のＳＡＲサブレイヤには、ＭＩＤと呼ばれる識別子があり、これを利用すると同一ＶＰＩ／ＶＣＩにて同時に転送されてくる複数のメッセージを正常に組み立てる事ができる。
【００４１】
なお、本発明に適用するアダプテーション処理は、特にここで述べるＡＡＬ３／４に限るものではなく、上述の様に、同一のＶＰＩ／ＶＣＩにて複数のメッセージを同時に転送しても受信側で正常に組み立てられるものであれば良い。この場合、ＡＡＬ３／４のＭＩＤの様な、同一メッセージ起源のセル群に同一の識別子が付加されるといった如く、同一のメッセージ起源である事を示す情報がアダプテーションレイヤのヘッダ部分に存在している。
【００４２】
コネクション設定部１０４は、例えばＡＴＭ通信システムの保守者がＣＭＩＣ／ＣＭＩＰといったＡＴＭ交換機の備えたＯＡＭ界面から設定するものでもよく、またＱ．２９３１といった呼設定プロトコルや、特願平５−１２０３５１に開示されている呼設定プロトコルで端末からの要求により設定するものでもよい。すなわち、コネクション設定部１０４による実行位置は、ＡＴＭ通信システム内のＡＴＭ交換機であっても端末であってもよく、実際、以降の具体的な実施例ではコネクション設定部１０４によるＡＴＭコネクションの実行位置がＡＴＭ交換機の場合と端末の場合の両方がある。
【００４３】
各端末＃１〜＃４（１０１１〜１０１４）上で実行されるプロセス＃１〜＃４（１０６１〜１０６４）がｎ：ｎの双方向ＡＴＭコネクション１０３にメッセージをセル化して送出する場合、端末＃１〜＃４（１０１１〜１０１４）はプロセス＃１〜＃４（１０６１〜１０６４）に付与されたプロセス識別子（以下、プロセスＩＤという）を用いてセル化部１０７１〜１０７４でメッセージをセル化する。ここで、本発明では端末＃１〜＃４（１０１１〜１０１４）上で実行されるプロセス＃１〜＃４（１０６１〜１０６４）を他の端末へマイグレーションする場合に、そのマイグレーションの前後で同一のプロセスＩＤを使用してメッセージを送出する際のセル化を行うことがもう一つの特徴である。
【００４４】
このプロセスＩＤは、プロセスＩＤ割り当て部１０５によって、各プロセス＃１〜＃４（１０６１〜１０６４）の起動時もしくはｎ：ｎの双方向コネクション１０３の設定時に、各端末＃１〜＃４（１０１１〜１０１４）に通知される。プロセスＩＤ割り当て部１０５の機能は、プロセス＃１〜＃４（１０６１〜１０６４）そのものが持っていてもよいし、またＡＴＭ交換機の持つ別の機能、あるいは端末の別のプロセスが持っていてもよい。プロセスＩＤ割り当て部１０５の機能をプロセス＃１〜＃４（１０６１〜１０６４）そのものが持つ場合は、例えばプロセスを実現するプログラム記述時に、ＡＴＭ通信システムの保守者がそのプロセスＩＤを予め割り当てておく、いわゆる静的にプロセスＩＤを獲得する方法でもよいし、またそれぞれのプロセスが実行中に通信し合ってそれぞれが使用するプロセスＩＤを動的に獲得するようにしてもよい。実際、以降の具体的な実施例ではプロセスＩＤ割り当て部１０５はｎ：ｎの双方向ＡＴＭコネクション１０３を用いて相互作用を行うプロセスにより分散して実現される場合と、端末側の別のプロセスもしくはＡＴＭ交換機側でプロセスＩＤの割り当てを行う場合の両方がある。
【００４５】
＜プロセスマイグレーションの手順について＞
次に、本実施例におけるプロセスマイグレーションの概略的な手順を図２に示すフローチャートを用いて説明する。
【００４６】
まず、プロセスマイグレーションの要求が予測されるサービスのＡＴＭ通信システム上での開始時に、コネクション設定部１０４によってコネクション識別子を同一とするｎ：ｎの双方向ＡＴＭコネクション１０３をＡＴＭ交換機＃１〜＃３（１０２１〜１０２３）を経由して設定する（ステップＳ１１）。
【００４７】
一方、ｎ個の端末＃１〜＃４（１０１１〜１０１４）でそれぞれ実行される、双方向ＡＴＭコネクション１０３にメッセージを送出する複数のプロセス＃１〜＃４（１０６１〜１０６４）のそれぞれに対して、それらのプロセスを識別するためのプロセスＩＤをプロセスＩＤ割り当て部１０５が割り当てる（ステップＳ１２）。
【００４８】
そして、プロセスマイグレーション要求の発生時には、ｎ個の端末＃１〜＃４（１０１１〜１０１４）のうちの任意の端末＃ｉ（１０１ｉ）で実行されるプロセス＃ｉ（１０６ｉ）を、このプロセスに割り当てられたプロセスＩＤを保持したまま、ｎ個の端末＃１〜＃４（１０１１〜１０１４）のうちの他の端末＃ｊ（１０１ｊ）へマイグレートする（ステップＳ１３）。
【００４９】
以上のような手順により、端末＃ｉ（１０１ｉ）で実行されるプロセス＃ｉ（１０６ｉ）を端末＃ｊ（１０１ｊ）へマイグレートするプロセスマイグレーションが実行される。
【００５０】
＜実施例１の具体的動作例について＞
次に、本実施例についてその動作さらに具体的に説明する。端末＃１〜＃４（１０１１〜１０１４）上で実行されるプロセス＃１〜＃４（１０６１〜１０６４）が４：４の双方向ＡＴＭコネクション１０３で接続されている。それぞれのプロセス＃ｉ（１０６ｉ）には、双方向ＡＴＭコネクション１０３にメッセージを送出するときに使用するプロセス識別子としてＭＩＤが割り当てられている。セル化部１０７１ｉでプロセス＃ｉ（１０６ｉ）から受け取ったそれぞれのメッセージをセルに分割してゆくときに、それぞれの分割された小片に該ＭＩＤを付加する。メッセージ組立部１０８ｉでメッセージを組み立てる時は、同一のＭＩＤを持つセルを集めて組み立てる。これによって、複数のメッセージ起源のセルが合流されてメッセージ組立部１０８ｉに与えられても、４：４双方向ＡＴＭコネクション１０３中で、同一プロセスから送出されたセルのそれぞれのプロセスでの到着順が送出時の順番を守っている限り、メッセージ組立部１０８ｉはそれぞれのメッセージを正常に再生する事ができる。
【００５１】
このＭＩＤは、同一の双方向ＡＴＭコネクションにて通信を行うプロセス間で一意となるように、即ち同一の番号を使用しないように、各プロセスに割り当てられている。この割り当て法については、後ほど詳細に説明する。
【００５２】
それぞれのプロセス＃ｉ（１０６ｉ）は、他のプロセスに何らかの情報を転送したい場合、その情報をメッセージ化してセル化部１０７ｉに渡す。それぞれのセル化部１０７ｉは、渡されたメッセージを分割し、セル化して双方向ＡＴＭコネクション１０３に渡す。
【００５３】
双方向ＡＴＭコネクション１０３は、それぞれのセル化部１０７ｉが送出するセルを一旦合流し、一つ一つのセルをコピーして各メッセージ組立部１０８ｉに渡す。
【００５４】
メッセージ組立部１０８ｉは、セルを受け取ると、受け取ったセルのＭＩＤを参照して同一メッセージ起源のセルを集め、ＩＴＵ−Ｔ標準のＩ．３６３にて規定されているＭＩＤ以外の情報を参照しながらメッセージを組み立てる。この結果、ひとつのプロセスが送出したメッセージが、全てのメッセージ組立部１０８ｉにて再生される事になる。ここで、対応するセル化部１０７ｉにて使用されているＭＩＤにて転送されてきたメッセージは、自分が組み立てたメッセージを渡すプロセス１０６ｉの作成したメッセージであるので、メッセージ組立部１０８ｉがこのようなメッセージを廃棄する事にしても良い。
【００５５】
メッセージ組立部１０８ｉは、組上がったメッセージを順にプロセス＃ｉ（１０６ｉ）に渡す。これにより、あるプロセス＃ｉ（１０６ｉ）が送出したメッセージが、他のプロセス＃ｊ（１０６ｊ）に渡された事になる。
【００５６】
プロセスをマイグレーションする、ということは、例えば、図１において、図に示した状態から、プロセス＃１（１０６１）とプロセス＃２（１０６２）の位置を置き換える、事である。この時、それぞれのプロセス＃１，２がＭＩＤを持って移動すれば、即ちセル化部１０７１にて使用するＭＩＤを２に、セル化部１０７２にて使用するＭＩＤを１に、それぞれ変更すれば、移動しなかったプロセス＃３、＃４からは、プロセスが移動した事実を認識する事ができない。すなわち、プロセスの移動が、他のプロセスに何等影響を与えない。この観点から、ＭＩＤは、プロセスに付加された識別子の一種であると見なすことができる。ここで述べた原理に従ってメッセージの送受信が可能なプロセスの個数はＭＩＤのビット長により決定される。ＩＴＵ−Ｔ標準の．３６３に従えば、ＩＤは１０ビットであるので、最大１０２４個のプロセスが通信可能である。
【００５７】
ここまでの説明で明らかな様に、これらのプロセス間で通信を行う為のメッセージ分割やメッセージ組立といった処理や、メッセージの宛先を示す為にＶＰＩ／ＶＣＩが使用されていない。このため、４：４の双方向ＡＴＭコネクション１０３の各プロセスとの入出力点におけるＶＰＩ／ＶＣＩは、どの様な値であってもかまわない。プロセスマイグレーションを実行するという観点からは、プロセスが移動した先でも同一のＶＰＩ／ＶＣＩにて通信が行えるよう、この４：４の双方向ＡＴＭコネクションのＶＰＩ／ＶＣＩ値は全てのプロセスとの入出力点で同一である、即ちどの入出力点であっても同一のＶＰＩ／ＶＣＩ値でメッセージをセル化して送出し、同一のＶＰＩ／ＶＣＩ値で受信されるセルを用いてメッセージを組み立てる事が望ましい。
【００５８】
なお、ＡＡＬ５と呼ばれる、同一ＶＰＩ／ＶＣＩにて同時に複数のメッセージを転送するとそれらのメッセージを正常に組み立てられないアダプテーション処理を適用したい場合は、例えば、ＭＩＤの代わりにＶＣＩを用いてプロセスを識別し、ｎ：ｎ双方向ＡＴＭコネクションがＶＣスイッチングではなくＶＰスイッチングにて提供される様にしてもかまわない。この場合は、それぞれのプロセスとの入出力点でＶＰＩのみ同一にするのが望ましい。この方法に従うと、同一のｎ：ｎコネクションに最大２１６（＝６５５３６）個のプロセスを接続できることになる。しかしながら、同一のｎ：ｎ双方向ＡＴＭコネクションに接続されるプロセスの個数があまりにも大きくなると（１）  障害発生時に切り分けが困難、（２）  ＶＰＩ／ＶＣＩ空間が圧迫されてしまう、即ちここで述べるようなｎ：ｎの双方向コネクションを最大で２５５（インタフェース点でのセルフォーマットがＵＮＩの場合）しか設定できない、（３）  ＭＩＤはｎ：ｎの双方向コネクション内で一意で良いので、該双方向コネクションの設定されている位置であれば変更する必要が無いのに対し、ＶＰＩ／ＶＣＩは各インタフェース点毎に一意であるため、マイグレーション時に場合によってはＶＰＩ／ＶＣＩを変更しなければならない、といった問題点がある。この為、ＶＣＩを用いてプロセス識別を行うか、ＭＩＤを用いてプロセス識別を行うかの選択は、その適用されるアプリケーションによる。以降で、本発明の原理に従って提供可能なサービスをいくつか詳細に説明するが、これらのサービスでも、ＶＣＩを用いてプロセス識別を行うアプリケーションもあれば、ＭＩＤを用いてプロセス識別を行うアプリケーションもある。なお、ＡＡＬ５の上にユーザプロトコルとしてＭＩＤと同様の意味を持つ情報要素をセル毎に付加する様なプロトコルを定義することも考えられる。この様にユーザプロトコルを定義することで、ＡＡＬ５でプロセス識別をＶＰＩ／ＶＣＩにて行わなければならない、といった問題点を解決する事ができる。さらに、この場合、ＡＡＬ３／４を使用する場合に比べて、ユーザが任意の長さのＭＩＤを設定できるので、ひとつのｎ：ｎ双方向ＡＴＭ上で通信を行うマイグレート対象のプロセスの個数を１０２４を越えるように設定する事も可能になる。
【００５９】
次に、本実施例において重要な役割を果たす要素である、ｎ：ｎの双方向コネクションのＡＴＭ通信網における実現方法を説明する。
【００６０】
＜ｎ：ｎの双方向コネクションの合流側の構成法について＞
図３は、ｎ：ｎの双方向コネクションの内、各プロセスが送出したメッセージ起源のセルを合流する部分の実現方法を示している。同図には、ＡＴＭ通信網の内、本発明が適用される部分のみを切り出して示してある。端末＃１〜＃４（２０１１〜２０１４）がＡＴＭ交換機＃１〜＃３（２０２１〜２０２３）と、ＶＣリンク＃１〜＃７（２０３１〜２０３７）により接続されている。ＡＴＭ通信網は、これらの端末、ＡＴＭ交換機、ＶＣリンクのみで構成される訳ではなく、その他の端末、ＡＴＭ交換機、ＶＣリンクを含んでも良い。また、同図中の本発明が適用される部分に含まれる端末、ＡＴＭ交換機、ＶＣリンクの個数及び接続形態は、特に図３に示したものに限る訳ではないことは言うまでもない。また、各ＡＴＭ交換機および端末は、光ファイバやＳＴＰ（Ｓｅａｌｅｄ  Ｔｗｉｓｔｅｄ  Ｐａｉｒ  ｃａｂｌｅ）  ，ＵＴＰ（Ｕｎｓｅａｌｅｄ  Ｔｗｉｓｔｅｄ  Ｐａｉｒ  ｃａｂｌｅ）にて全２重形式、即ち送信と受信が同時に可能な様に接続されているが、煩雑になるのを避けるため、これらは図３では示しておらず、少なくともＶＣリンク＃ｉ（２０３ｉ）の設定されている位置にこれら物理リンクが敷設されているものとする。
【００６１】
ｎ：ｎの双方向コネクションを用いて通信を行うそれぞれのプロセス＃ｉは、それぞれの端末＃ｊの持つ計算能力によって実体化され、実行される。即ち、本発明が適用される端末群は、プロセス＃ｉを実行するための一種の“場”と見なすことができる。プロセス＃ｉが、予め定められた手順に従って選択された端末にマッピングされ、そこで実行される。言うまでもなく、プロセス＃ｉが実行される端末＃ｊは固定されているとは限らない。特に、プロセスマイグレーションが実行される時は、端末＃ａ上で実行されていたプロセス＃ｂが一旦中断され、その実行環境も含めて端末＃ｃに移される事になる。また、設定されたｎ：ｎの双方向コネクションの端点（プロセス＃ｉがメッセージの送受を行う位置）全てにプロセス＃ｉが存在する必要もない。マイグレート先として考えられる全ての端末に対して端点を準備する様、ｎ：ｎの双方向コネクションを設定する事にしても良い。
【００６２】
図３では、端末＃１〜＃４（２０１１〜２０１４）からなるプロセス実行の“場”を構築する為に、ＡＴＭ通信網内で設定されているＶＣリンクの内、メッセージを合流するためのＶＣリンク＃１〜＃７（２０３１〜２０３７）のみを示してある。メッセージを合流するためのＶＣコネクションは、これらＶＣリンク＃１〜＃７（２０３１〜２０３７）をＡＴＭ交換機＃１〜＃３（２０２１〜２０２３）にて連結する事で構成される。ここで、ＶＣリンクとは一つの物理リンク上にて同一のＶＰＩ及びＶＣＩで転送されるセルの経路の事を意味する。また、ＶＣリンクの連結とは一つのＶＣリンク上を転送されるセルを予め定められた所望の物理リンク上の別のＶＣリンクへと送出する事を意味し、ＡＴＭ交換機＃ｉ（２０２ｉ）にて実行される。
【００６３】
なお、ＡＴＭ交換機＃ｉ（２０２ｉ）で実行されているＶＣリンクの連結は、特に図３に示されたもののみに限る訳ではなく、次に述べる合流トラフィックの分配に係るＶＣリンクの連結も同時に実行されているし、また、例えば端末＃１（２０１１）と＃２（２０２２）の間に通常のポイント−ポイントのＡＴＭコネクションが設定されているとすれば、ＡＴＭ交換機＃２（２０２２）は、そのＡＴＭコネクションを構成するためのＶＣリンクの連結も同時に実行している。
【００６４】
各ＡＴＭ交換機＃ｉ（２０２ｉ）では、ｎ：ｎの双方向コネクションの合流側に割り当てられたＶＣリンク＃ｉ（２０３ｉ）からセルが入力されると、それらを予め定められたＶＣリンク＃ｊ（２０３ｊ）へと転送する。例えば、ＡＴＭ交換機＃２（２０２２）では、ＶＣリンク＃１（２０３１）とＶＣリンク＃２（２０３２）から入力されたセルをＶＣリンク＃５（２０３５）へ転送する。具体的には、ＶＣリンク＃１（２０３１）から入力されたセル及びＶＣリンク＃２（２０３２）から入力された全てのセルのＶＰＩフィールド及びＶＣＩフィールドをＶＣリンク＃５（２０３５）に割り当てられたＶＰＩ／ＶＣＩへと書き換え、ＶＣリンク＃５の設定された物理リンクに向けて送出する。
【００６５】
この為、各ＡＴＭ交換機＃ｉ（２０２ｉ）には、それぞれの物理リンク上から入力されたセルのヘッダ部分を書き換えるヘッダ変換機能と、それら入力されたセルを所望の物理リンクへと転送する機能が備えられる。これらの機能を実現できるＡＴＭ交換機としては、例えば特開平４−１００４５１に開示されたＡＴＭ交換機が使用できるが、その実現手法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【００６６】
図３に示すように、ＡＴＭ交換機＃ｉ（２０２ｉ）によってＶＣリンク群を木構造に連結することで、ｎ：ｎの双方向ＡＴＭコネクションの合流側は構成される。木構造を持つＶＣコネクションにより、プロセス実行の“場”である端末＃ｉ（２０１ｉ）から送出されたセルが最終的に木構造のルートまで転送され、一つのＶＣリンク＃７（２０３７）に合流される。ここで、それぞれのＡＴＭ交換機におけるＶＣリンクの連結時に、それぞれのＶＣリンク上でのセルの送出順序を保存しながら別のＶＣリンクへと入力すること、即ちセル順序を保存することがＩＴＵ−Ｔ標準にて求められているため、最終的に作られる合流トラフィックでは、同一端末からのセル流は、送出時の順序を保持している事に注意が必要である。このことから、このセル流をＡＴＭレイヤにてコピーして作成したセル流を各端末に渡すと、各端末で該セル流に含まれるメッセージを正常に組み立てられる事になる。
【００６７】
なお、端末間でのセル順序は合流トラフィックにおいては保証されていない。即ち、端末＃１と端末＃２がまったく同時に送出したセルは、ＡＴＭ交換機＃２の動作の内の非同期部分の動作タイミングにより、端末＃１からのセルが先に送出される事もあれば、端末＃２からのセルが先に送出される事もある。
【００６８】
それぞれの端末から送出されたセルを合流してゆくと、木構造のルートに近いＶＣリンクには、複数端末から送出されるトラフィックが集まり、結果として該ＶＣリンクに割り当てなければならない帯域が増大する。他の通信への悪影響を避けるため、複数のＡＴＭ交換機で、ＵＰＣ（使用量パラメータ制御）として知られる、それぞれのＶＣリンクで使用される帯域を制限する機能を実行しなければならない。
【００６９】
各ＡＴＭ交換機でのＵＰＣは、例えば図３に示した例では以下の様に実行されても良い。
ＶＣリンク＃１のＡＴＭ交換機＃２の入力部：帯域Ｔ１によるポリシング
ＶＣリンク＃２のＡＴＭ交換機＃２の入力部：帯域Ｔ２によるポリシング
ＶＣリンク＃３のＡＴＭ交換機＃３の入力部：帯域Ｔ３によるポリシング
ＶＣリンク＃４のＡＴＭ交換機＃３の入力部：帯域Ｔ４によるポリシング
この様に、それぞれの端末が４：４双方向ＡＴＭコネクション１０３に対して送出する帯域を予め制限してしまうのがＵＰＣの第１の方法である。この方法によると、ＵＰＣを行う点が端末を収容しているＡＴＭ交換機の入力部に限定され、それ以外のＶＣリンクはそのＶＣリンクにＵＰＣを実行する必要がなく、単にトラフィックを与える端末に許可された帯域の和によるＣＡＣ（コネクション受付け制御）のみで十分である。
【００７０】
ＣＡＣとは、良く知られている様に、それぞれの物理リンク上に設定されているＶＣリンクに与えられた帯域の和が該物理リンクの持つ情報伝送能力を超えないように制御する、ＡＴＭ通信網特有の制御である。ＣＡＣは単にコネクション設定機能による帯域の管理のみで実行できるが、ＵＰＣには、それを実行するために特別なハードウェアが一般的に必要になる。このため、この方法にはＵＰＣに必要なハードウェアを削減できるという利点がある一方、それぞれの端末が合流トラフィックの根の部分のＶＣリンク（図３ではＶＣリンク＃７）に許可された帯域Ｔ５（上で述べている例では、Ｔ５＝Ｔ１＋Ｔ２＋Ｔ３＋Ｔ４）までセルを送出する事ができず、それぞれの端末が送出できるセル流のピーク速度が限定されてしまうという欠点がある。
【００７１】
各ＡＴＭ交換機で実行されるＵＰＣの第２の方法は、ｎ：ｎ双方向ＡＴＭコネクションの合流側を構成するそれぞれのＶＣリンクのＡＴＭ交換機の入り口部分で、その根の部分に許可されている帯域Ｔ５によってポリシングを行うというものである。この場合、それぞれの端末がピークで帯域Ｔ５まで使用できる事になる。一方で、この様に端末にピークを割り当てると、複数の端末が同時にピーク帯域でセル流を与えると、ＡＴＭ交換機＃ｉの扱っている他のコネクションにセル廃棄率のが悪化等の悪影響を与えることになる。これを防ぐため、ｎ：ｎ双方向ＡＴＭコネクションの合流側を構成するそれぞれのＶＣリンクのＡＴＭ交換機の入り口部分、もしくは、ｎ：ｎ双方向ＡＴＭコネクションの合流側を構成するそれぞれのＶＣリンクのＡＴＭ交換機の出口部分でＵＰＣを行う必要がある。この方法には、それぞれの端末が送出できるピーク帯域を大きく取る事が出来るという利点がある一方、ＡＴＭ交換機−ＡＴＭ交換機間の伝送路でもＵＰＣを実行しなければならず、ＵＰＣを行うためのハード量が増大するという、第１の方法と逆の特性がある。
【００７２】
なお、第１の方法および第２の方法それぞれにおいて、ＵＰＣの方法は特にポリシング（帯域を越えた場合、制限帯域になるまでセルを廃棄する）に限定される必要はなく、シェイピング（帯域を越えた場合、制限帯域になるまでセルの送出を待たせる）でも構わない。シェイピングを行った場合は、ポリシングを行った場合に比べて、各端末が送出するバーストがＡＴＭ交換機上が衝突してもＵＰＣによるセル廃棄を起こすことはないが、一方でセルの送出を一旦待たせるためにセルバッファが必要となり、必要となるハードウェア量が増大するという問題点がある。
【００７３】
なお、ポリシング、シェイピングそれぞれについて、それらの構成方法は種々知られており、その一例は特開平４−１００４５１に開示されているが、その構成方法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【００７４】
以上にようにしてｎ：ｎの双方向ＡＴＭコネクションの合流側で合流されたセル流は、次にそれぞれが各端末に向けてコピーされながら転送される。この部分をｎ：ｎの双方向ＡＴＭコネクションのコピー側と呼ぶ。
【００７５】
＜ｎ：ｎのＡＴＭコネクションのコピー側の構成法について＞
図４には、ｎ：ｎの双方向ＡＴＭコネクションのコピー側の第１の構成法が示されている。同図には、図３に示した端末＃１〜＃４（２０１１〜２０１４）にて構成されるプロセス実行の“場”を実現する場合のｎ：ｎの双方向コネクションのコピー側の構成を示している。端末およびＡＴＭ交換機は図３中に示したものと同一であり、同一の符号を付与している。ＶＣリンク群は、図３中に示したＶＣリンク群とは別であり、異なる符号を付与している。また、これらのＶＣリンク群が設定される物理リンクは、図３と同様に煩雑になるのを避けるため図示していない。
【００７６】
図４に示した構成法は、ＡＴＭ交換機＃ｉ（２０２ｉ）がコピー機能として既知の機能を持つ場合に適用できる構成法である。コピー機能を持つＡＴＭ交換機の構成は種々知られている。本発明者もそのうちのひとつを特願平６−１４０２２３にて開示しているが、その構成法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【００７７】
ｎ：ｎの双方向ＡＴＭコネクションの合流側と同様、ＶＣリンク＃８〜＃１４（３０１１〜３０１７）がＡＴＭ交換機＃ｉ（２０２ｉ）により木構造に連結されている。それぞれのＡＴＭ交換機では、ｎ：ｎの双方向ＡＴＭコネクションのコピー側を構成するＶＣリンクから入力されたセルについて予め定められた個数の複製を作成し、入力されたセルと複製のセルをを木構造に沿って各端末＃ｉ（２０１ｉ）に転送できるよう予め定められたＶＣリンクに送出する。例えば、ＡＴＭ交換機＃２（２０２２）ではＶＣリンク＃９（３０１２）から入力されたセルの複製を一つ作り、例えば入力されたセルをＶＣリンク＃１１（３０１４）へ、複製のセルをＶＣリンク＃１２（３０１５）へ、それぞれ送出する。この結果、ｎ：ｎの双方向ＡＴＭコネクションの合流側にて合流されたセル流を構成するセルの一つ一つが、唯１回プロセス実行の“場”を実現する端末＃ｉ（２０１ｉ）に転送される事になる。よって、図３に示した合流側と、図４に示したコピー側を接続する、即ちＶＣリンク＃７（２０３７）とＶＣリンク＃８（３０１１）を任意のＡＴＭ交換機にて連結する事で、所望のｎ：ｎの双方向ＡＴＭコネクションが実現できる事になる。
【００７８】
ここで、ｎ：ｎの双方向ＡＴＭコネクションのコピー側を構成する各ＶＣリンクではＵＰＣを実行する必要が無いことに注意が必要である。それぞれの、合流トラフィックに割り当てられた帯域にてＣＡＣを行うだけで十分である。
【００７９】
図５には、ｎ：ｎの双方向ＡＴＭコネクションのコピー側の第２の構成法が示されている。同図は、図３中に示した端末＃１〜＃４（２０１１〜２０１４）にて構成されるプロセス実行の“場”を実現する場合の、ｎ：ｎの双方向コネクションのコピー側の構成を示している。端末およびＡＴＭ交換機は図３中に示したものと同一であり、同一の符号を付与している。ＶＣリンク群は、図３に示したＶＣリンク群や図４に示したＶＣリンク群とは別であり、異なる符号を付与している。また、これらのＶＣリンク群が設定される物理リンクは、図３と同様に煩雑化を避けるため、図示していない。
【００８０】
図５に示したコピー側の構成法は、ＡＴＭ交換機＃ｉ（２０２ｉ）がコピー機能を持たない場合に適用できる方法である。ＡＴＭ交換機＃ｉ（２０２ｉ）がコピー機能を持たないので、端末＃ｉ（２０３ｉ）がコピー機能の代わりとなる機能を実現している。
【００８１】
合流側で合流されたトラフィックは、ＡＴＭ通信網中のどこかでＶＣリンク＃１５（４０１１）に入力され、ＡＴＭ交換機＃１（２０２１）に入力される。ＡＴＭ交換機＃１（２０２１）では、そのトラフィックをＶＣリンク＃１６（４０１２）へと入力する。以下、ＡＴＭ交換機＃２（２０２３）でもＶＣリンク＃１６（４０１２）からＶＣリンク＃１７（４０１３）へトラフィックを中継する。この結果、まず合流トラフィックは、端末＃４（２０１４）に与えられる。端末＃４（２０１４）は、該合流トラフィックを受信し、メッセージを再構成すると同時に、該合流トラフィックを折り返し、ＶＣリンク＃１８（４０１４）へと入力する。以下、同様に、合流トラフィックをＶＣリンク＃１９〜＃２４（４０１５〜４０２０）を順次通過させることで、端末＃３（２０１３）、端末＃２（２０１２）、端末＃１（２０１１）へと渡すことができる。
【００８２】
この図５に示した構成法では、ＡＴＭ交換機＃ｉ（２０２ｉ）がコピー機能を持たない為、端末＃ｉ（２０１ｉ）が合流トラフィックを折り返す事で、コピー機能の代替としている。この為、図５に示した構成法は、図４に示した構成法に比べて（１）  ｎ：ｎの双方向ＡＴＭコネクションの経路が長くなり、レイテンシが悪化する、（２）  端末＃ｉ（２０１ｉ）に要求される計算能力が大きくなる、合流トラフィックに与えることのできる帯域幅が（端末＃ｉ（２０１ｉ）にて折り返しているため、ｎ：ｎの双方向ＡＴＭコネクションの合流側と同一物理リンクを使用し）第１のコピー側構成よりも小さくなる、（３）  端末＃ｉ（２０１ｉ）に障害が起きるとｎ：ｎの双方向ＡＴＭコネクションが動作しなくなる、といった欠点はあるが、一方でＡＴＭ交換機＃ｉ（２０３ｉ）にコピー機能といったハード規模の大きくなる機能が不要で、ＡＴＭ交換機＃ｉ（２０３ｉ）が安価に構成できるという利点がある。
【００８３】
また、図５に示した構成における各ＶＣリンクでは、ＵＰＣを行う必要が無く、ＣＡＣのみ行えば良いことは、図４に示した構成と同じである。
【００８４】
勿論、ｎ：ｎの双方向コネクションのコピー側は、図４、図５に示した方法のみでしか作れないものではない。特に、各ＡＴＭ交換機がコピー機能は持っているが、その帯域幅が少ない場合、例えば、各ＡＴＭ交換機が内蔵しているＡＴＭスイッチはポイント−ポイント接続のみ実現する種類のもので、該ＡＴＭスイッチの１端子に、ＡＴＭスイッチから入力されたセルを所望の数コピーしてＡＴＭスイッチに再度返す、コピー機能が接続された形式でコピーコネクションを作成する形式のＡＴＭ交換機の場合、図６に示すように、例えば合流されたトラフィックを該コピー機能でいくつかの枝にし、その枝それぞれを図５に示した様なタンデム形式で各端末に分配してゆくといった図４に示した形式と図５に示した形式の組み合わせでもｎ：ｎの双方向コネクションのコピー側を作成する事ができる。図６では、ＡＴＭ交換機中のＡＴＭスイッチをＳと、コピー機能をＣと表している。また、図６中のＡＴＭ交換機には、コピー機能を含む物と含まないものがあることに注意が必要である。この時、タンデム形式の部分について、図６に示すように、別のＡＴＭ交換機へと中継するセル流と、端末に与えるセル流を前記コピー機能で作成するようにすると、なお良い。
【００８５】
ここまで述べてきたｎ：ｎの双方向ＡＴＭコネクションの設定形式では、ＡＴＭ通信網を構築しているＡＴＭ交換機の機能と、その物理的トポロジに大きく依存して、通信資源の有効利用が可能か否かが変化する。しかしながら、本発明を実施するという観点では、どの様な形式で設定されていても構わない。よって、ここでは、該ＡＴＭ通信網の管理者が策定したポリシーにより該ｎ：ｎの双方向ＡＴＭコネクションのコピー側の設定形式を決定することとして、どの設定形式で設定されるかは限定せずに説明を進める。
【００８６】
以上で、ｎ：ｎの双方向ＡＴＭコネクションを構成する方法についての説明を終える。なお、以降、図が煩雑になるのを防ぐため、ｎ：ｎの双方向ＡＴＭコネクションを図７の様に略記する。双方向である事を明示するため、コネクション１０３の入り口部分に矢印を二つ、方向を逆にして記述する事にする。
【００８７】
（実施例２）
本発明は、図１に示したような、全てのプロセスがそれぞれが送出したメッセージを受信できる事が求められるといった状況の他に、図８に示すようにメッセージを送出するプロセス群と受信するプロセス群がそれぞれ異なっている、といった状況においても実施する事ができる。図８には、メッセージを送出するプロセスが４個、受信するプロセスが２個それぞれ存在する、といった状況が示されている。この様な状況は、いわゆるサーバクライアントコンピューティングといった、それぞれのプロセスが異なった機能を専門的に実現するような場合に生じる。この様な状況が生じるその他の具体例は後ほど詳細に説明する。
【００８８】
図８に示される実施例では、メッセージを送出する４個のプロセス（以下、送出プロセスという）＃１〜＃４（７０１１〜７０１４）が４：２の単方向ＡＴＭコネクション７０２の情報入力側に接続され、メッセージを受信する２個のプロセス（以下、受信プロセスという）＃１（７０３１），＃２（７０３２）が４：２の単方向ＡＴＭコネクション７０２の情報出力側に接続されている。図１の実施例と同様、図８に示される実施例も特にプロセスの数をここに示した値に限定するものではなく、より少ないプロセスの個数、及びより多いプロセスの個数であっても適用する事が可能である。さらに、特に送出プロセスの方が受信プロセスよりも多いという状況に限って適用できる訳ではなく、受信プロセスの方が送出プロセスより多くても同様に適用可能である。ここでは、一つの例として送出プロセスを４個、受信プロセスを２個として以下の説明を進める。また、プロセスの個数に等しい分岐数を持つｍ：ｎの単方向ＡＴＭコネクションを使用して通信する必要もなく、プロセスの個数より大きな分岐数を持つｍ：ｎの単方向ＡＴＭコネクションを使用する事も可能である事も、図１と同様である。
【００８９】
さらに、送出プロセスがｍ：ｎ単方向ＡＴＭコネクション７０２に送出するＶＰＩ／ＶＣＩ値をそれぞれの送出プロセス間で同一とし、また受信プロセスがｍ：ｎ単方向ＡＴＭコネクション７０２からセルを受け取るＶＰＩ／ＶＣＩ値をそれぞれの受信プロセス間で同一にするのが、プロセスマイグレーションを実行するのに望ましいのも図１と同様である。なお、送出プロセス群が使用するＶＰＩ／ＶＣＩ値と、受信プロセス群が使用するＶＰＩ／ＶＣＩ値を同一にするか、異なった値にするかはアプリケーションの性質により決定されるべき事項である。
＜第２の実施例の具体的動作＞
送出プロセス＃ｉ（７０１ｉ）が４：２の単方向ＡＴＭコネクション７０２に送出したメッセージは、該単方向ＡＴＭコネクション７０２を経由して、それぞれの受信プロセス＃１（７０３１）、＃２（７０３２）に渡される。図１の場合と同様、通信を行うために可変長のメッセージを使用する為に、それぞれの送信プロセスと４：２の単方向ＡＴＭコネクション７０２の間にアダプテーション処理の内のセル化機能１０３５〜１０３８が４：２の単方向ＡＴＭコネクション７０２と受信プロセスとの間にアダプテーション処理のメッセージ組立機能１０４５、１０４６が、それぞれ配備されている。これらのセル化機能、メッセージ組立機能が実現している機能は図１に示したものと同一である。よって、ＡＡＬ３／４のＭＩＤを、４：２の単方向ＡＴＭコネクション７０２にメッセージを送出する送出プロセス＃ｉ（７０１ｉ）毎に割り当てれば、以下の様にして、それぞれの送出プロセス＃ｉ（７０１ｉ）が送出したメッセージをそれぞれの受信プロセス＃ｉ（７０３ｉ）が受信できる様になる。
【００９０】
それぞれの送出プロセス＃ｉ（７０１ｉ）が送出したメッセージは、セル化機能（１０３ｉ）にてセル化され、４：２の単方向ＡＴＭコネクション７０２に渡される。４：２の単方向ＡＴＭコネクション７０２は渡されたセル流を一旦合流した後、それぞれのメッセージ組立機能１０４ｉへと渡す。メッセージ組立機能１０４ｉは、それぞれに付属したＭＩＤを参照してメッセージを再生し、対応する受信プロセス＃ｉ（７０３ｉ）に渡す。それぞれの送出プロセス＃ｉ（７０１ｉ）にＭＩＤを割り当てる方法は、後ほど詳細に説明される。なお、ＡＡＬ５といったＭＩＤを含まないアダプテーションプロトコルを使用する場合は、図１に示した場合と同様に、ｍ：ｎの単方向ＡＴＭコネクションがＶＰスイッチングにて提供されることとして、ＭＩＤの代わりにＶＣＩを使用するようにしても良いし、上で述べたようにユーザプロトコルとしてＡＡＬ５上にＭＩＤを定義しても良い。
【００９１】
これによって、送出プロセス群内での送出プロセスのマイグレーション、もしくは受信プロセス群内での受信プロセスのマイグレーションが発生しても、マイグレーションされなかったプロセスからそのマイグレーションが発生した事実を隠蔽することが可能になり、迅速なプロセスマイグレーションが安価に実現可能となる。
【００９２】
＜ｍ：ｎの単方向ＡＴＭコネクションの設定法について＞
ｍ：ｎの単方向ＡＴＭコネクションのＡＴＭ通信網内での設定方法は、図２に示したｎ：ｎの双方向ＡＴＭコネクションの合流側と、図４〜図６で説明したたｎ：ｎの双方向ＡＴＭコネクションのコピー側の設定方法から容易に類推可能である。例えば、送出プロセス＃ｉ（７０１ｉ）と受信プロセス＃ｊ（７０３ｊ）とを実行する“場”がそれぞれ異なる端末であるとすれば、以下のようにすれば良い。すなわち、合流側の入力を送出プロセス＃ｉ（７０１ｉ）を実行する“場”である端末に接続し、コピー側の出力を受信プロセス＃ｊ（７０３ｊ）を実行する“場”である端末に接続する。合流側で合流トラフィックの構成されるＶＣリンクをコピー側のルートに接続すれば、所望の動作を行うｍ：ｎの単方向ＡＴＭコネクションを得る事ができる。
【００９３】
また、ｍ：ｎの単方向ＡＴＭコネクションでのＵＰＣは、送出プロセスの実行の“場”の端末の出力部分での、それぞれの端末に割り当てた帯域によるポリシングもしくはシェイピング、もしくは合流側のコネクションが設定された各物理リンクでの合流トラフィックに割り当てられた帯域によるポリシングもしくはシェイピングを行えば良いことも、ｎ：ｎの双方向ＡＴＭコネクションの場合と同様である。
【００９４】
なお、以降、図が煩雑になるのを防ぐため、ｍ：ｎの単方向ＡＴＭコネクションを図９の様に略記する。単方向である事を明示するため、コネクション７０２の入り口部分にコネクション７０２に向かう方向の矢印を、出口部分にコネクション７０２から出る方向の矢印をそれぞれ記述する事にする。
【００９５】
以上で、本発明の基本的な実施例についての説明を終わる。以降、本発明を実施することで通信網のユーザに提供可能なサービスを詳細に説明してゆく。これにより、本発明の精神がより明確に示されることになる。
【００９６】
（実施例３）
まず、本発明を適用する第１のアプリケーションである、ＣＡＴＶ網上での計算サービスについて、詳細に説明する。
【００９７】
＜第１のアプリケーションが実行されるＣＡＴＶ網の構成について＞
図１０に、本発明の第１のアプリケーションが実行されるＣＡＴＶ網の構成を示す。同図には、ＡＴＭ交換機＃１（９０１１），＃２（９０１２）が相互に接続され、それにパッシブスター光分配器＃１（９０２１），＃２（９０２２）によって複数のセットトップボックス（ＳＴＢ）＃１−１（９０３１１），＃１−２（９０３１２），…，＃１−ｍ（９０３１ｍ），＃２−１（９０３２１），＃２−２（９０３２２），…，＃２−ｎ（９０３２ｎ）が収容されている形式のＣＡＴＶ網が示されている。すなわち、ＡＴＭ交換機（９０１ｉ）によってＣＡＴＶ網のバックボーン網が構成され、パッシブスター光分配器（９０２ｉ）によって安価に加入者を収容する事が可能な構成である。
【００９８】
パッシブスター光分配器（９０２ｉ）は、いわゆるＡＰＯＮ（ＡＴＭ  Ｐａｓｓｉｖｅ  ｓｔａｒ  ｏｐｔｉｃａｌ  ｎｅｔｗｏｒｋ）  を構成するために使用されており、予め定められたプロトコルにてＡＴＭセルをＡＴＭ交換機（９０１ｉ）からＳＴＢ（９０３ｉｊ）へ、またＳＴＢ（９０３ｉｊ）からＡＴＭ交換機（９０１ｉ）へそれぞれ転送している。このパッシブスター光分配器（９０２ｉ）上でのＡＴＭセルの転送の為のプロトコルは、本発明の有効性に何等影響を与えるものではなく、ここでは、ＡＴＭ交換機（９０１ｉ）とＳＴＢ（９０３ｉｊ）の間でＡＴＭセルがやりとりされる、即ちＡＴＭコネクションが予め定められた方法でＡＴＭ交換機（９０１ｉ）とＳＴＢ（９０３ｉｊ）の間に設定可能であるものとして以降の説明を進める。このＡＴＭコネクションの設定法は、例えば本発明者が特願平６−１４０２２３にて開示したものであっても良い。なお、図１０に示したＣＡＴＶ網において、ＡＴＭ交換機（９０１ｉ）、パッシブスター光分配器（９０２ｉ）、ＳＴＢ（９０３ｉｊ）の間は光ファイバにて接続されているものとする。これは、いわゆるＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ  ）である。
【００９９】
ＳＴＢ（９０３ｉｊ）は加入者宅に配置され、ＡＴＭ交換機（９０１ｉ）からパッシブスター光分配器（９０２ｉ）を経由して転送される情報の内、該加入者が必要としている情報を取り出して該加入者に提示すると共に、該加入者がＣＡＴＶ網に対して送り出す情報を、予め定められた方法に従ってパッシブスター光分配器（９０２ｉ）を経由してＡＴＭ交換機（９０１ｉ）へと渡す機能を持つ。ＳＴＢの具体的構成は種々考えられるが、例えば、本発明者が特願平６−１４０２２３で示した構成であっても良い。
【０１００】
これらの機能の実行の為、ＳＴＢ（９０３ｉｊ）は比較的大きな計算能力を持つ。この計算能力は、該加入者が該ＳＴＢ（９０３ｉｊ）を使用してＣＡＴＶ網から情報を受け取ったり、ＣＡＴＶ網に情報を転送したりしていない間、即ち該加入者が該ＳＴＢ（９０３ｉｊ）を使用していない間は、使用されていない。
【０１０１】
そこで、ＣＡＴＶ網の運用者が、使用されていないＳＴＢ（９０３ｉｊ）を用いて、例えば大規模行列の掛け算処理を含む計算処理を実行するサービスを行う事が考えられる。このような大規模行列の掛け算処理を含むような計算処理は、今までは例えばスーパコンピュータであるといった、非常に高価な計算機を用いて行われていたが、本発明を実施するの第１のアプリケーションによると、比較的大規模なＣＡＴＶ網を構築すれば、それがスーパーコンピュータの代わりとなり、ＣＡＴＶ網の運用者が該計算サービスの実行から収入を得られるといった利点がある。勿論、この様な計算サービスをＳＴＢ（９０３ｉｊ）にて行う場合、後ほど述べるように、加入者から見ると、ＳＴＢ（９０３ｉｊ）の使用に若干の制限が発生する。この為、ＣＡＴＶ網の運用者は、該計算サービスの為にＳＴＢ（９０３ｉｊ）を使用するか否かを加入者に加入時に質問しておき、該計算サービスからの収入に従って、計算サービスを行う事を許可した加入者のＣＡＴＶ網使用料金を安くするといった付加的サービスを行っても良い。
【０１０２】
ＣＡＴＶ網の運用者は、この計算サービスの実行の為にジョブ制御部９０４をＡＴＭ交換機＃１に接続している。ジョブ制御部９０４は、具体的には例えば本発明者が特願平５−２５６３１０に開示したようなＡＴＭインタフェースを持つワークステーションであってよい。ジョブ制御部９０４の上で実行されるプロセスがジョブディスパッチャ９０５であり、一方、ジョブディスパッチャ９０５により起動される、計算サービスをＳＴＢ（９０３ｉｊ）上で実際に実行する主体が計算プロセス＃ｉ−ｊ（９０６ｉｊ）である。
【０１０３】
＜ＡＴＭコネクションについて＞
以降、ジョブディスパッチャ９０５と計算プロセス＃ｉ−ｊ（９０６ｉｊ）の間の相互作用についてより詳細に説明してゆく。これらのプロセスの相互作用について説明する前に、これらのプロセスが相互作用を行う為に必要になるＡＴＭコネクションについて説明する。
【０１０４】
図１１に、計算サービスを行う為に、ジョブディスパッチャ９０５と、計算プロセス＃ｉ−ｊ（９０６ｉｊ）を実行する“場”であるＳＴＢ＃ｉ−ｊ（９０３ｉｊ）の間に設定されるＡＴＭコネクションを示す。各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）間には、ｎ：ｎの双方向ＡＴＭコネクションＡ０１及びＡ０３が、１：１の双方向ＡＴＭコネクションＡ０２により接続されたｎ：ｎの双方向ＡＴＭコネクションが設定されている。さらに、ジョブディスパッチャ９０５と、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）の間には、１：１の双方向ＡＴＭコネクションＡ０４ｉｊが設定されている。
【０１０５】
＜ｎ：ｎの双方向コネクションについて＞
まず、図１１に示されたコネクション群の内のｎ：ｎの双方向コネクションについて説明する。
【０１０６】
パッシブスター光分配器（９０２ｉ）の、ＡＴＭ交換機（９０１ｉ）からＳＴＢ（９０３ｉｊ）に至る経路には、図１２に示すようにＡＴＭ交換機（９０１ｉ）が送出した情報が１：ｎの単方向ＡＴＭコネクションとして該パッシブスター光分配器（９０２ｉ）に接続された全てのＳＴＢ（９０３ｉｊ）に転送されるという性質がある。これは、パッシブスター光分配器（９０２ｉ）の一つの入力ポートから入力された光信号のパワーを複数の出力ポートに等分して転送する、という物理的特性からくる性質である。この為、予め定められたアクセスプロトコルに従って各ＳＴＢ（９０３ｉｊ）から渡されたセル流を該パッシブスター光分配器（９０２ｉ）に折り返すという比較的容易な原理で、パッシブスター光分配器（９０２ｉ）上にｎ：ｎの双方向ＡＴＭコネクションを設定することができる。図１１に示したｎ：ｎの双方向ＡＴＭコネクションＡ０１，Ａ０３は、この原理に基づいて設定されている。互いに自分に乗ったトラフィックを相手に転送するため、１：１の双方向ＡＴＭコネクションＡ０２がＡＴＭ交換機＃１（９０１１）とＡＴＭ交換機＃２（９０１２）の間に設定されている。ｎ：ｎの双方向ＡＴＭコネクションＡ０１，Ａ０３は、ＡＴＭ交換機９０１ｉにおいて、パッシブスター光分配器９０２ｉから渡されたセル流と１：１の双方向ＡＴＭコネクションＡ０２から渡されたセル流を合流し、それぞれに接続されたパッシブスター光分配器９０２ｉへと折り返す事で設定できる。より多くのパッシブスター光分配器により計算の“場”を構築する場合は、図１１に示したパッシブスター光分配器の特性を考慮しながらこれらパッシブスター分配器上に設定されるコネクションを連結する様に、図３〜図６で説明した方法でｎ：ｎの双方向ＡＴＭコネクションを設定する事になるが、計算の“場”を構成するパッシブスター光分配器が二つである場合は、図１１に示した簡易な方法でｎ：ｎの双方向ＡＴＭコネクションを設定できる。
【０１０７】
ここで、パッシブスター光分配器が各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）の送出したセル流を合流するためには、各ＳＴＢが予め定められたアクセスプロトコルを実行する必要がある。このアクセスプロトコルは種々知られており、本発明者も特願平６−１４０２２３にて開示しているが、このアクセスプロトコルは特に本発明の有効性には影響を与えないので、ここでは特にアクセスプロトコルについては限定せずに説明を進める。また、各ＳＴＢとパッシブスター光分配器の間の距離が、それぞれのＳＴＢの間でばらつく場合、パッシブスター光分配器とＳＴＢの間で距離測定を行い、その結果によってＳＴＢがセルを送出するタイミングを変更するといった事を行う必要があるが、これの実行手法は特に本発明の有効性には影響を与えないので、ここでは特に限定せずに説明を進める。例えば、本発明者が特願平６−１４０２２３にて開示している手法を用いても構わない。
【０１０８】
なお、パッシブスター光分配器で一旦集めたセル流を各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）に分配する事から、各計算プロセスに向かう、ｎ：ｎの双方向コネクションＡ０１、Ａ０３の、計算プロセスへの出口におけるＶＰＩ／ＶＣＩ値は同一のものとなることに注意が必要である。本発明では、プロセスマイグレーションを行うために、それぞれの端末の受信側で同一のＶＰＩ／ＶＣＩ値を使用する事を特徴としているが、パッシブスター光分配器による通信網の場合、その物理的性質からこの性質が自然に満たされている。そこで、ｎ：ｎの双方向コネクションＡ０１，Ａ０３で、計算プロセスへの出口におけるＶＰＩ／ＶＣＩを一致させれば、複数のパッシブスター光分配器を用いた計算の“場”が実現できる事になる。
【０１０９】
＜１：１の双方向コネクション群について＞
次に、図１１に示されたコネクション群のうちの１：１の双方向コネクション君Ａ０４ｉｊについて説明する。
【０１１０】
ジョブディスパッチャ９０５と各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）の間に設定されている１：１の双方向ＡＴＭコネクションＡ０４ｉｊは、ジョブディスパッチャ９０５が各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）を制御し、これらのＳＴＢ＃ｉ−ｊ（９０３ｉｊ）に対して計算プロセスをロードする為、等に使用される。このコネクションは、ＣＡＴＶ網の運用者が、計算プロセスを自分のＳＴＢにて実行して良いと許可をした加入者のＳＴＢに対して、予め設定しておくものとする。
【０１１１】
これらの１：１の双方向ＡＴＭコネクションＡ０４ｉｊの、計算プロセス側の端点のＶＰＩ／ＶＣＩおよびジョブディスパッチャ側の端点のＶＰＩ／ＶＣＩはそれぞれ異なったものとして設定される。ジョブディスパッチャは、これらのＶＰＩ／ＶＣＩにより、メッセージを送出するＳＴＢを識別する事になる。
【０１１２】
＜計算処理の具体例について＞
図１１に示したＡＴＭコネクションを用いて、ジョブディスパッッチャ９０５と計算プロセス＃ｉ−ｊ（９０６ｉｊ）は通信を行いながら相互作用し、最終的に与えられた計算処理を実行してゆく。以降、この相互作用の詳細を、大規模な行列の掛け算の計算処理を例にとってより詳細に説明する。
【０１１３】
ＣＡＴＶ網の管理者は、顧客から計算サービスの実行依頼を受けると、まず依頼を受けた計算サービスの性質を解析し、なるべく計算プロセス間の通信が少なくなるように、また各計算プロセスにて実行する計算処理量を同一にするように、複数の計算プロセスに分割する。ここで例としている大規模な行列の掛け算の場合は、例えば以下の様に分割すればよい。行列の掛け算は、良く知られている様に、行ベクトルと列ベクトルの直積をとる演算である。よって、それぞれの計算プロセスに行ベクトルと列ベクトルを与え、それぞれが独立に直積を計算し、その計算結果を集めれば、計算プロセス間の通信が最小（０）となるように実行することができる。
【０１１４】
また、計算処理量を同一にするためには、それぞれの計算プロセスに割り当てる行ベクトルと列ベクトルの個数を同一にすれば良い。例えば、図１３に示す如く、９×９の行列の演算を９個の計算プロセスにて実行する場合、それぞれの計算プロセスに行ベクトルと列ベクトルを３本づつ割り当て、計９個の直積を計算させる様に割り当てれば、上に述べた性質を持つプロセス分割を行う事ができる。
【０１１５】
次に、ＣＡＴＶ網の管理者は、上のプロセス分割に従ってプログラミングを行う。この時、分割したそれぞれの計算プロセスに対して、一意なプロセス番号を割り当て、プログラム中に埋め込む。後で述べるように、このプログラム中に埋め込まれたプロセス番号にて、該計算プロセス間の通信におけるメッセージ転送の宛先を識別したり、ジョブディスパッチャが分割された計算処理の内のどの計算が終了したかを認識したりする。ここで説明している例の場合、それぞれの計算プロセスで実際に実行される処理が処理を加えるデータを除き同一であるので同じプログラムから複数の計算プロセスを起動する様にする事も可能である。
【０１１６】
次に、ＣＡＴＶ網の管理者は、作成したプログラムをコンパイルし、それぞれの計算プロセスのオブジェクトを得る。ここで、ＣＡＴＶ網のＳＴＢ９０３ｉｊは、ＣＡＴＶ網の運用会社から加入者に配られており、それらの構成や、内部で使用されているプロセッサに関する情報はＣＡＴＶ網の管理者が把握している事を仮定する。それらの構成やプロセッサに関する情報をＣＡＴＶ網の管理者が把握している事から、ＳＴＢ９０３ｉｊで実行可能な計算プロセスのオブジェクトをＣＡＴＶ網の管理者がジョブ制御部９０４上で作成する事が可能になる。
【０１１７】
作成された計算プロセスのオブジェクトは、ジョブディスパッチャ９０５に与えられる。ジョブディスパッチャ９０５は、図１４に示す手順を踏んで、与えられた計算プロセスのオブジェクトをＳＴＢ＃ｉ−ｊ（９０６ｉｊ）へとマッピングし、計算プロセス＃ｉ−ｊ（９０６ｉｊ）を起動する。
【０１１８】
まず、ジョブディスパッチャは、ステップＤ０１に示される様に、与えられたオブジェクトを実行するＳＴＢを、ＣＡＴＶ網の内部から選択する。これは、予め、加入者が計算プロセスの実行を許可しているＳＴＢの中から、加入者がその時ＣＡＴＶ網を経由した通信を行っておらず、休止状態となっているＳＴＢを探しだし、その休止状態となっているＳＴＢの中から必要個数のＳＴＢを選び出すことによって実現される。ＣＡＴＶ網の場合、ＳＴＢの運用状況は、常に網側が認識しているため、休止状態となっているＳＴＢの探索は、特にＳＴＢへの問い合わせを行うことなく、ＣＡＴＶ網側で保持されている運用状況を示す情報をジョブディスパッチャ９０５が参照するだけで実行可能である。勿論、ジョブディスパッチャ９０５が、例えばＳＴＢに電源が入っていることを確認する事も含め、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）との間に設定されている１：１のＡＴＭコネクションＡ０４ｉｊを用いて何らかの通信を行って、休止状態となっているＳＴＢ＃ｉ−ｊ（９０３ｉｊ）を探し出す様になっていてもかまわない。また、ジョブディスパッチャ９０５は、ＣＡＴＶ網側で保持されている運用状況を示す情報から、休止状態であるＳＴＢのリストを作成し、これら休止状態のＳＴＢから、電源が入っているＳＴＢを探すために何らかの通信を行うことにしてもよい。この通信は、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）とジョブディスパッチャ９０５の間に設定された１：１の双方向ＡＴＭコネクションＡ０４ｉｊを用いて行うことが可能なことは言うまでもない。
【０１１９】
次に、ジョブディスパッチャ９０５は、計算プロセスを実行しようとするＳＴＢに対して計算プロセスのダウンロードを行う（ステップＤ０２）。このダウンロードにも、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）とジョブディスパッチャ９０５の間に設定された１：１の双方向ＡＴＭコネクションＡ０４ｉｊが使用される。
【０１２０】
なお、全く同一のオブジェクトを複数のＳＴＢにダウンロードする目的で、例えばパッシブスター光分配器の特性を生かして１：ｍの単方向ＡＴＭコネクションをＳＴＢ＃ｉ−ｊ（９０３ｉｊ）とジョブディスパッチャ９０５の間に設定しておき、ジョブディスパッチャからの一回のオブジェクトの送出で複数のＳＴＢへのダウンロードが実行可能な様にコネクションを設定しておく事も考えられるが、この方法にはいくつかのＳＴＢへのダウンロードが失敗したときの再送制御が複雑になる、という問題点がある。この為、ここで述べているアプリケーションでは、ダウンロードには１：１の双方向ＡＴＭコネクションＡ０４ｉｊを使用する事にしている。
【０１２１】
次に、ジョブディスパッチャ９０５は、ステップＤ０４でそれぞれの計算プロセスに必要な行ベクトルを、ステップＤ０５でそれぞれの計算プロセスに必要な列ベクトルを、それぞれＳＴＢ＃ｉ−ｊ（９０３ｉｊ）に転送する。これにも、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）とジョブディスパッチャ９０５の間に設定された１：１の双方向ＡＴＭコネクションＡ０４ｉｊが使用される。
【０１２２】
以上で、各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）に、計算プロセス＃ｉ−ｊ（９０６ｉｊ）の実行に必要なプログラムコードとデータが揃ったことになる。各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）は、与えられたプログラムコードとデータから、計算プロセス＃ｉ−ｊ（９０６ｉｊ）を起動し、与えられた計算を実行する（ステップＤ０６ｉ）。
【０１２３】
計算プロセス＃ｉ−ｊ（９０６ｉｊ）の実行が終了すると、各ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）は計算結果をジョブディスパッチャ９０５に転送する（ステップＤ０７）。これにも、ＳＴＢ＃ｉ−ｊ（９０３ｉｊ）とジョブディスパッチャ９０５の間に設定された１：１の双方向ＡＴＭコネクションＡ０４ｉｊが使用される。
【０１２４】
以上でＣＡＴＶ網の管理者が意図した計算サービスをＳＴＢにて実行できたことになる。
【０１２５】
ステップＤ０６ｉの実行中に、例えば計算プロセス＃ｉ−ｊ（９０６ｉｊ）を実行しているＳＴＢ＃ｉ−ｊ（９０３ｉｊ）が加入者により使用され始めるとか、停電が発生したとかの理由で、該計算プロセス＃ｉ−ｊ（９０６ｉｊ）をマイグレートする必要が生じた場合は、図１５に示す実行順序を踏んで、計算プロセス＃ｉ−ｊ（９０６ｉｊ）を別のＳＴＢに転送する。
【０１２６】
まず、停電が発生した（ステップＤ０８）とか、加入者がＳＴＢの使用を開始した（ステップＤ０９）といった、計算プロセス＃ｉ−ｊ（９０６ｉｊ）の実行をこれ以上続けられなくなる原因が生じた場合、ＳＴＢは、まず該計算プロセスの実行を停止する（ステップＤ１０）。
【０１２７】
次に、該停止した計算プロセスのコード、及び実行環境（ワークメモリの値、プロセッサの内部レジスタの値、等）をジョブディスパッチャ９０５にアップロードする（ステップＤ１１）。なお、停電発生時にステップＤ１０、Ｄ１１を実行するため、計算サービスの実行を行うＳＴＢはバッテリーバックアップされていることが望ましい。
【０１２８】
計算プロセスのアップロードを受け取ると、ジョブディスパッチャ９０５は、受け取った計算プロセスを引き続き実行できるＳＴＢを決定し（ステップＤ１２）、該ＳＴＢに計算プロセスのコードと実行環境をダウンロードする（ステップＤ１３）。
【０１２９】
計算プロセスのダウンロードを受けたＳＴＢは、停止された位置から計算プロセスを引き続き実行する。これにより、途中まで計算が進んだ計算プロセスのマイグレーションが可能になる。
【０１３０】
ところで、何らかの異常が発生してステップＤ１１の実行環境のアップロードが正常に行えなかった場合、ジョブディスパッチャ９０５を経由したプロセスマイグレーションを実行する事はできない。この場合、ある計算プロセスの計算結果をジョブディスパッチャ９０５が無限に待ってしまう不都合が発生することになる。この不都合を解消するため、ジョブディスパッチャ９０５に、各ＳＴＢで計算プロセスを起動した時点から動作を開始するタイマを設る事としてもよい。該タイマがタイムアウトした場合に、ジョブディスパッチャ９０５が、何らかの異常が発生して計算結果を得られなかったと見なし、計算結果を得られなかった計算プロセスを再度別のＳＴＢに割り当てる、といった処理を行えば、この不都合は解消できる。
【０１３１】
ここで説明した処理は、いわゆるＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒａｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ
Ｄａｔａ  ｓｔｒｅａｍ  ）による並列処理で、しかもジョブディスパッチャ９０５が最初に与えたデータのみで各計算プロセス＃ｉ−ｊ（９０６ｉｊ）が計算の実行を行うことができた。この場合、それぞれの計算プロセス＃ｉ−ｊ（９０６ｉｊ）間での通信は行う必要がない。よって、図１１に示した、双方向のＡＴＭコネクションＡ０１〜Ａ０３によるｎ：ｎの双方向ＡＴＭコネクションを使用した通信は上述の計算処理では発生しなかった。しかしながら、ＳＩＭＤでもそれぞれの計算プロセス＃ｉ−ｊ（９０６ｉｊ）が計算の途中結果をお互いにやりとりしながら計算処理を実行する場合や、いわゆるＭＩＭＤ（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔｒａｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ  ）による並列処理をＣＡＴＶ網上で実行するといった場合は、各計算プロセス間でデータをやりとりする事になる。この通信に、双方向のＡＴＭコネクションＡ０１〜Ａ０３によるｎ：ｎの双方向ＡＴＭコネクションが使用される。前述した様に、この双方向ＡＴＭコネクションの、各計算プロセスとの端点におけるＶＰＩ／ＶＣＩは、本発明の原理に従って全ての端点で同一の予め定められた値を取っている事としている。この双方向ＡＴＭコネクションにメッセージを送出する際には、前記各プロセスに割り当てられたプロセス番号がＭＩＤとして使用されている。このようにＶＰＩ／ＶＣＩを予め定められたものとし、プログラム時に割り当てられたプロセス番号をＭＩＤとして使用してメッセージを送出する事にすれば、本発明の原理により、各計算プロセス＃ｉ−ｊ（９０６ｉｊ）にて、他の計算プロセスが送出したメッセージを正常に組み立てられる事は明らかである。
【０１３２】
ここで考えている計算サービスの場合、それぞれの計算プロセス間の通信のパタンは、該計算プロセスをＳＴＢにダウンロードするときに既に決定しているものとする。この仮定の下では、上述のプロセス番号を用いてそれぞれの計算プロセスを識別することにし、該メッセージ中の宛先アドレスとして該プロセス番号を指定する様予めこれらの計算プロセス＃ｉ−ｊ（９０６ｉｊ）をプログラミングすれば、それぞれの計算プロセスの実行時に、自分宛のメッセージのみ取り込む事が可能になり、計算サービスをそれぞれの計算プロセスが協調して実行する事ができるようになる。ここで、上述した本発明の原理により、例えＳＴＢ＃ｉ−ｊ（９０３ｉｊ）が停電等の要因により計算プロセスを実行できなくなったとしても、ジョブディスパッチャ９０５が上述の様に計算を進められるＳＴＢを探してそこにマッピングし、その時、マイグレートされるプロセスのプロセス番号を引き継ぐだけで、他の計算プロセスに対してある計算プロセスがマイグレーションされた事実を隠蔽する事が可能である事に注意が必要である。
【０１３３】
第１のアプリケーションが効率よく計算を進める為には、計算サービスが要求する処理の性質として、ジョブディスパッチャ９０５からのダウンロード時に通信パタンが決定している事、や、計算プロセス＃ｉ−ｊ（９０６ｉｊ）間での通信が比較的少ない、といった性質を持っている必要がある。このような計算処理の例としては、大規模行列上の演算を用いたものが上げられる。このような大規模行列上の演算を用いた計算処理としては、例えば、上位のＡＴＭ通信網におけるＶＰのルーティングの最適解を発見するであるとか、企業網でのＡＴＭ交換機配備問題であるとか言ったいわゆる線形計画法に従ったアプリケーションが挙げられる。さらに、大気の状態から天気を予測するといったいわゆる偏微分方程式の解を求めるアプリケーションも、上述の性質を持つアプリケーションである。これらの計算処理をＳＩＭＤ／ＭＩＭＤにて計算処理する手法に関しては、過去から多数の研究がなされ、非常に多くの手法が知られているが、ＣＡＴＶ網の運用者が所望の計算手法によりプログラミングし、ジョブディスパッチャ９０５に与える事で、これら種々の手法を応用する事が可能である事は言うまでもない。
【０１３４】
ここで、それぞれのＳＴＢ＃ｉ−ｊ（９０３ｉｊ）に、例えば雨量計、気圧計等の大気の状態を収集するセンサを配備し、ジョブディスパッチャ９０５が予め定められた時刻にこれらセンサから大気の状態を収集して偏微分方程式を解くといった事を行うと、ＣＡＴＶ網が敷設されている地域に特化した天気予報をＣＡＴＶ加入者に提供できることに注意が必要である。このようなサービスは、ＣＡＴＶ網の地域性を生かしたサービスであり、加入者から見て魅力的である。
【０１３５】
以上で、本発明を適用する第１のアプリケーションである、ＣＡＴＶ網上での計算サービスに関する説明を終わる。
【０１３６】
＜送信端末制御について＞
なお、本発明は、パッシブスター光分配器９０２ｉの上りリンクにおける送信端末制御の手法によらず種々のシステムに適用する事が可能であることはいうまでもない。例えば、本発明者が特願平６−１４０２２３に開示した様な上りリンクでの送出端末制御の手法を採用したＣＡＴＶにおいても、また、以下に説明する様な送信端末制御の手法を採用したＣＡＴＶにおいても本発明は有効である。即ち、特願平６−１４０２２３に開示した上りリンクでの送出端末制御の手法が、送出許可テーブルと呼ばれる端末（即ちＣＡＴＶ網で言うところのＳＴＢ）毎の送出許可を保持するテーブルを設け、該テーブルを順次読み出し、順次ＳＴＢに向けて例えば下りリンクのセル流のＧＦＣフィールドで送出許可を与えるＳＴＢの番号を通知するといった手法であるのに対し、ここで述べる手法は、以下に詳細に述べる様に、ＳＴＢ毎に送出許可を作成するカウンタ群を設け、該カウンタにて送出許可を作成して送出する手法である。テーブルに予め送出許可パタンを書き込んでおく手法と比べると、ＳＴＢからの送出トラフィックのＣＤＶ（ｃｅｌｌ  Ｄｅｌａｙ  Ｖａｒｉａｔｉｏｎ）制御性という観点では劣るが、マルチレートコネクションを設定する為のオーバーヘッドが削減でき、また、より広いコネクション毎の通信帯域に対応可能であり、ハードウェア量も削減できるという利点がある。
【０１３７】
図１６に、ここで説明する送信端末制御手法の機能構成を示す。この構成は、Ｑ．２９３１に規定される最大セルレート（ＰＣＲ）を元に計算できる、Ｉ．３７１にて規定される到着間隔ＴからＴＡＴを計算し、該ＴＡＴ毎に各ＳＴＢに対して送出許可を与えるような構成になっている。
【０１３８】
ＡＴＭ通信網における呼設定プロトコルの国際標準、Ｑ．２９３１では、ＡＴＭコネクションの最大帯域はＰＣＲと呼ばれる値にて規定されている。このＰＣＲは、ＵＮＩに１秒間に到着する、あるコネクションに属するセルの個数として規定されている。
【０１３９】
一方、ＡＴＭ通信網におけるトラフィック制御に関する国際標準、Ｉ．３７１では、ＡＴＭのポリシング、シェイピングを行う為にＧＣＲＡと呼ばれるアルゴリズムが規定されている。このアルゴリズムでは、あるコネクションのトラフィック量を規定するパラメータとして、到着間隔Ｔとゆらぎτが定義されている。基本的には、あるコネクションに属するセルが予め定められた到着間隔Ｔで到着するものとする。この到着間隔Ｔにて当該コネクションに属するセルが到着していれば、それらのセルはパラメータに違反していないものとする。ただし、この到着間隔Ｔより早めに到着したセルについてもゆらぎτの範囲内であればこのパラメータに違反していないとする。
【０１４０】
到着間隔Ｔにてセルが到着しているか否かを判断する為、Ｉ．３７１に従ってポリシングやシェイピングを行う機能は、ＴＡＴ（論理到着時刻）と呼ばれる値を作成している。これは、当該コネクションに属するセルの最初の到着時には０であるが、以降、Ｔ，２Ｔ，３Ｔ，…と順次増加してゆく値である。ポリシングやシェイピングを行う機能は、コネクション設定中にこれらのＴＡＴの値を計算し、実際のセル到着時刻と比較する。ＴＡＴよりも遅くセルが到着した場合は、そのセルはパラメータに違反していないものとする、なお、次のＴＡＴの計算の到着時間を起点が、そのセルの到着点となる。一方、ＴＡＴよりも早くセルが到着した場合は、ゆらぎτの範囲内であるか否か判断し、範囲内であればそのセルはパラメータに違反していないものとし、範囲外であれば違反しているものとする。違反しているとした場合はＴＡＴを更新しないが、違反していないとした場合は次のＴＡＴを計算して次のセルの到着を待つ。
【０１４１】
この原理を利用して、例えば図１０に示したＡＴＭ通信システムで、ＡＴＭ交換機９０１ｉの入出力ポートのうちパッシブスター光分配器９０２ｉが接続された入出力ポートにおいて、ＡＴＭ交換機９０１ｉからパッシブスター光分配器９０２ｉを経由してＳＴＢ９０６ｉｊに向かうセル流（下りリンクのセル流）を用いて、同一パッシブスター光分配器９０２ｉに接続されたどのＳＴＢ９０６ｉｊからＡＴＭ交換機９０１ｉに向かうセル（上りリンクのセル流）を送出するかを指定する為に必要となる機能構成を示したのが図１６である。
【０１４２】
この機能を実現するための中心的な役割を果たすのは、各ＳＴＢ９０６ｉｊに対応して設けられるＴＡＴ作成カウンタ５０１１〜５０１ｎである。ＴＡＴ作成カウンタ５０１ｉには、ＡＴＭ交換機９０１ｉの呼設定機能（図示せず）によって、それぞれのＳＴＢに許可されている上りリンク上の通信帯域（ＰＣＲにて表示される）から計算できるセル到着間隔Ｔが設定される。本構成では、それぞれのＳＴＢに設定されているコネクション毎にＴＡＴを作成する代わりに、それぞれのＳＴＢ毎に、それぞれのＳＴＢに設定されているコネクションに割り当てられた通信帯域の総計からＴＡＴを作成する事にし、ＴＡＴ作成カウンタのハードウェア量の総量を削減している。上りリンク上の通信帯域のＳＴＢ９０６ｉｊからの要求及びＡＴＭ交換機９０１ｉによる割当てには、例えばＱ．２９３１にて規定されたプロトコルを使用する事ができる。このプロトコルを実行するために、特願平６−１４０２２３に開示した様に、各ＳＴＢ９０６ｉｊに対して予め（例えば）６４ｋｂｐｓといった伝送帯域が与えられているものとしてもよい。
【０１４３】
ＴＡＴ作成カウンタ５０１ｉは、呼設定機能から設定されたセル到着間隔Ｔを元に、以下に述べる方法を用いてＴＡＴを作成している。それと同時に、セルスロットをカウントしているカウンタを時刻として持っており、作成したＴＡＴと一致する場合、その事を送出許可収集機能５０２に通知する。
【０１４４】
送出許可収集機能５０２は、各セルスロット毎に、各ＴＡＴ作成カウンタ５０１ｉから送出される、対応するＳＴＢ９０６ｉｊに対して送出許可が与えられているか否かの情報を参照し、送出許可が与えられたＳＴＢ９０６ｉｊの番号を作成してスロット割当ＦＩＦＯ５０３にエンキューする。ここで、一つのセルスロットにおいて複数のＳＴＢ９０６ｉｊの番号が送出許可収集機能５０２により作成され、スロット割当ＦＩＦＯ５０３にエンキューされる可能性がある事に注意が必要である。ＴＡＴを作成した結果として同一セルスロットに複数ＳＴＢへの送出許可を作成してしまう可能性があるが、一方でパッシブスター光分配器９０２ｉの性質から同時に複数のＳＴＢが上りリンクにセルを送出する事ができない。スロット割当ＦＩＦＯ５０３は、この同時に発生した送出許可をスケジューリングする、即ち、これらの送出許可を一旦保持し、順にＳＴＢが上りリンクにアクセスできるよう１セルスロットに一つの送出許可を送出する、という重要な働きを担う。
【０１４５】
一方、ＧＦＣ付加機能５０４は、セルスロット毎にスロット割当ＦＩＦＯ５０３を参照し、もしＳＴＢ９０６ｉｊの番号が該ＦＩＦＯに保持されているならば、該ＦＩＦＯの先頭の番号をデキューする。その後、スロット割当ＦＩＦＯ５０３は、デキューした時点で物理レイヤ機能に渡されようとしている、下りリンクのセル流中のセルのＧＦＣフィールドに、該ＦＩＦＯからデキューした番号を書き込む。この時、スロット割当ＦＩＦＯ５０３が空であれば、その時点で送出許可の与えられているＳＴＢ９０６ｉｊが存在しないということであるので、その旨を表示するためのＧＦＣの値（例えば０）を物理レイヤに向かうセルのＧＦＣフィールドに書き込む。この結果、特願平６−１４０２２３に開示した上りリンクでの送出端末制御の手法と同様、送出許可の与えられるＳＴＢ９０６ｉｊの番号が下りリンクのセル流中に順次書き込まれ、ＡＴＭ交換機９０１ｉから送出される事になる。
【０１４６】
この下りリンクのセル流を受けたＳＴＢ９０６ｉｊの動きは、特願平６−１４０２２３に開示した上りリンクでの送出端末制御の手法と同様である。即ち、ＡＴＭ交換機９０１ｉから送出された下りリンクのセル流は、パッシブスター光分配器９０２ｉの働きにより同一パッシブスター光分配器９０２ｉに接続された全てのＳＴＢ９０６ｉｊに転送される。ＳＴＢ９０６ｉｊは、自分に割り当てられた番号をＧＦＣフィールドに含むセルが現れたならば、該セルの下りリンクのフレーム構造中の位置によって指定される上りリンクのセルスロットにて自分が送出したいセルを送出する。
【０１４７】
なお、上では、送出許可を与えるＳＴＢ９０６ｉｊの番号を下りリンクのセルのＧＦＣに含ませるものとして説明を進めたが、特願平６−１４０２２３に開示した上りリンクでの送出端末制御の手法と同様、ＩＴＵ−Ｔにて標準化されているＵＮＩセルの先頭にＳＴＢ番号を示すフィールドを新たに付加することとしてもよいのは言うまでもない。また、上では、スロット割り当てＦＩＦＯ５０３に保持される情報はＳＴＢ９０６ｉｊに付加された番号であるとしたが、特願平６−１４０２２３に開示した手法同様、スロット割り当てＦＩＦＯ５０３のエンキュー／デキュー単位であるワード中の各ビットをＳＴＢ９０６ｉｊに対応させたいわゆるビットマップ情報であってもよい。上で述べた方法では、特願平６−１４０２２３に開示した手法に比べて、スロット割り当てＦＩＦＯ５０３に要求されるエンキュー時の動作速度は早くなるが、ワードの長さを削減できる利点があり、スロット割り当てＦＩＦＯ５０３に要求される総記憶容量を削減できる。
【０１４８】
次に、ＴＡＴ作成カウンタ５０１ｉの構成について詳細に説明する。
【０１４９】
上述のアルゴリズムを実装する場合、以下の問題点を解決する必要がある。
【０１５０】
ＡＴＭフォーラムでは、ピーク監視に係る到着間隔Ｔは、前述のＰＣＲの逆数であるとしている。この為、到着間隔Ｔは実数になる。また、τの最小値は０．５としている。これにより、例えば３セルスロットに２セルといった、整数値で表すことのできない到着間隔を表現できる。
【０１５１】
ところが、ここに、単にディジタル化された実数にて到着間隔を定義すると、実数化した時の誤差の累積により、正確なピークレート作成が不可能という問題点がある。また、Ｑ．２９３１ではＰＣＲが２４ビットのバイナリ整数として定義されているにも関わらず、Ｉ．４３２にて定義されている物理レイヤ構造上の１秒間のセルの個数は一般的に整数でなく（例えば１５５．５２ＭｂｐｓのＳＴＭ−１と呼ばれるフレーム８０００個で転送可能なセルの個数は整数でない）、この観点からも正確なピークレート監視が不可能であるという問題点がある。
【０１５２】
そこで図１７に示したＴＡＴ作成カウンタ５０１ｉの構成では、これら二つの問題点、即ち、ＰＣＲの定義と物理レイヤ構造とのミスマッチ、及び到着間隔Ｔを実数表現した場合の誤差の累積という問題点を解決している。この構成では、到着間隔Ｔを実数表現した場合の誤差の累積に関しては、実数が、整数のわり算の商とその残余として扱う事で整数領域で正確に表現できる事を利用して解決している。また、ＰＣＲの定義と物理レイヤ構造とのミスマッチに関しても、整数のわり算の商とその残余にて実数を正確に表現できることを利用して解決している。
【０１５３】
図１７に示されたＴＡＴ作成カウンタ５０１ｉの構成中、ＰＣＲの定義と物理レイヤ構造のミスマッチの解決の為に、割り当て可能セル数レジスタ６０１、残余オクテット数設定レジスタ６０２、物理レイヤ時刻測定カウンタ６０５、第１の比較器６０６、残余オクテット数累積レジスタ６０７が使用される。また、到着間隔Ｔの誤差の累積の解決の為に、Ｔ整数部設定レジスタ６０３、Ｔ残余設定レジスタ６０４、ＡＴＭレイヤ時刻測定カウンタ６０８、第２の比較器６０９、Ｔ残余累積レジスタ６１０、τ設定レジスタ６１１、ΣＰＣＲ設定レジスタ６１２が使用される。
【０１５４】
まず、ＰＣＲの定義と物理レイヤ構造のミスマッチの解決手法について説明する。ここでは、ＳＴＭ−１と呼ばれる１５５．５２Ｍｂｐｓの伝送容量を持つ物理レイヤを例にとって使用する。以下説明する本発明を他の構造の物理レイヤについて適用する事は、以下の説明中のＳＴＭ−１のフレーム構造の各パラメータをそれぞれ適用したい物理レイヤのパラメータで置き換える事で容易に実行可能であることは言うまでもない。
【０１５５】
１２５μ秒の時間に転送される１フレーム中に、ＳＴＭ−１と呼ばれる形式のフレームでは、２６０ビット×９行のペイロードが存在する。即ち、ＳＴＭ−１の場合、１秒間に２６０ビット×９行×８０００フレーム＝１８７２００００バイトの情報を転送できる。一方、このペイロードにマッピングされるＡＴＭセルは５３バイトの長さである。よって、ＳＴＭ−１には１秒間に３５３２０７セルと２９バイトを転送する能力がある。ところが、ＰＣＲは１秒間に転送可能なセル数を整数にて表現した値であり、上で述べた２９バイト分の伝送容量はＰＣＲでは表現できない伝送容量である。ＰＣＲの定義からは、この２９バイトには有効セルをマッピングしてはならないことになる。一方、セル流は連続して（セルとセルの間にすきまなく）上記１８７２００００バイトのペイロード部分にマッピングすることがＩＴＵ−Ｔ標準によって求められており、ＡＴＭレイヤにおけるセルスロット（セル一つを転送可能な時間単位）は上記１８７２００００バイトのペイロード部分に連続して定義される。つまり、ペイロード中のバイト数をセルの長さで割った剰余である２９バイトもＡＴＭレイヤにおける有効セルの転送に使用されることになる。ＡＴＭレイヤにおけるセルスロットは、ＰＣＲの定義される伝送容量よりも１秒間に２９バイト分だけ伝送容量が多い。この伝送容量をＡＴＭレイヤが使用しないようにしないと、ＰＣＲにて定義されるピークレートよりも若干早いピークレートが割り当てられる事になる。これは、同一の伝送路に設定されるコネクション数が少ない場合は大きな問題とはならないが、多数のコネクションが設定される場合に、ＣＡＣをかけているにもかかわらずセル廃棄率が劣化する原因になる。なぜならば、ＡＴＭスイッチ（ＡＴＭ交換機の中でセルを所望の出力端に転送する機能）のセル廃棄率は、ある負荷から急激に劣化するからである。劣化する寸前の負荷までＣＡＣにてコネクションが設定された場合、このＰＣＲと伝送路の伝送容量のミスマッチによる誤差により、実際には伝送路にセル廃棄率が劣化する負荷がかけられてしまう可能性がある。
【０１５６】
図１７に示したＴＡＴ作成カウンタは、この危険性を回避するために以下の様に動作する。
【０１５７】
ＡＴＭレイヤにおける時刻は、ＡＴＭレイヤにおけるセルスロットの先頭のタイミングを示すセルスロット先頭信号の立ち上がりにてインクリメントされるカウンタ、ＡＴＭレイヤ時刻測定カウンタ６０８によって定義される。このカウンタを用いて順次セルの送出許可を作成してゆくが、上述の１秒間に２９バイトの伝送容量の残余分が１セル長になったなら、該ＡＴＭレイヤ時刻測定カウンタ６０８のインクリメントを停止する。これによって、物理レイヤには存在するが、ＰＣＲで定義されない伝送容量がセル単位で（有効セルが割り当てられずに）垂れ流される事になる。これによって、ＰＣＲで定義された伝送容量を正確に各ＳＴＢ９０６ｉｊに与えられる。
【０１５８】
物理レイヤ時刻測定カウンタ６０５は、セルスロット先頭信号の立ち上がりによりインクリメントされている。割り当て可能セル数レジスタ６０１には、物理レイヤのフレーム構造のペイロード中に１秒間に含まれるオクテット数を、セルの長さで割った値の整数部分（これを割り当て可能セル数と呼ぶ。ＳＴＭ−１では３５３２０７セルである）から１を引いた値が設定されており、第１の比較器６０６が、物理レイヤ時刻測定カウンタ６０５と、割り当て可能セル数レジスタ６０１の値を比較している。前記カウンタと前記レジスタの値が一致したならば、次のセルスロット先頭信号の立ち上がりで、物理レイヤ時刻測定カウンタ６０５がクリアされると同時に、残余オクテット数設定レジスタ６０２の値が残余オクテット数累積レジスタ６０７に足し込まれる。残余オクテット数設定レジスタ６０７には、物理レイヤのフレーム構造のペイロード中に１秒間に含まれるオクテット数を、セル長で割った残余（ＳＴＭ−１では２９バイト）が設定されている。くわえ込まれた結果、残余オクテット数累積レジスタ６０７に保持された値がセルの長さ（５３バイト）を越えた場合、残余オクテット数累積レジスタ６０７に保持された値からセルの長さを引くと共に、次のセルスロット先頭信号の立ち上がりにおけるＡＴＭレイヤ時刻測定カウンタのインクリメントを抑制する。これにより、ＰＣＲで定義されない伝送容量をセル単位で垂れ流すことが実現できる。
【０１５９】
次に、実数として定義される到着間隔Ｔおよびτを整数演算により処理し、実数演算時における誤差の累積を防止する手法について説明する。
【０１６０】
ＡＴＭフォーラムにおいて到着間隔Ｔは、ＰＣＲの逆数と定義されている。パッシブスター光分配器を伝送される情報量を削減する観点からコネクション毎にＴＡＴを作成する代わりにＳＴＢ９０６ｉｊ毎にＴＡＴを作成することとしている本発明では、この事は対応するＳＴＢ９０６ｉｊに設定されているコネクションに割り当てられたＰＣＲの和、ΣＰＣＲの逆数と到着間隔Ｔを定義することに相当する。しかしながら、この値ではセル送出間隔を実時間で測定する必要が生じ、ハード量が増加して望ましくない。そこで、到着時間間隔Ｔを、単にΣＰＣＲの逆数とするのではなく、伝送路が１秒間に転送することのできるセル数、割り当て可能セル数を、ΣＰＣＲで割ることで得られる値とする。これにより、実時間ではなく、セルスロット数にて到着間隔Ｔが定義されることになる。
【０１６１】
到着間隔Ｔを得る為にこのわり算を実行すると、一般的には到着間隔Ｔは小数部分を持つ実数となる。しかしながら、到着間隔Ｔを小数部分を持つ実数として扱うと、良く知られている様に、例えばΣＰＣＲ＝３で、割り当て可能セル数が３の倍数でない場合等で丸め誤差が発生し、ＰＣＲにて定義されるピークレートよりも大きなレートにてＳＴＢ９０６ｉｊに送出許可が与えられることになる。この誤差によりＣＡＣで意図した負荷よりも高い負荷がＡＴＭスイッチに与えられ、ひとつの伝送路に多数のコネクションを設定する場合、結果としてセル廃棄率が悪化する可能性がある。
【０１６２】
丸め誤差の発生を防ぎ、ＰＣＲにて定義されるピークレートにて正確にＳＴＢ９０６ｉｊに送出許可を与えるため、図１７に示した構成では、割り当て可能セル数をΣＰＣＲで割った商の整数部と、その時の残余をそれぞれ整数で表現してセル送出許可を与えることとしている。
【０１６３】
Ｔ整数部設定レジスタ６０３には、割り当て可能セル数をΣＰＣＲで割った商の整数部から１を引いた値が、Ｔ残余設定レジスタ６０４には、この時の残余が、それぞれ保持されている。また、ΣＰＣＲ設定レジスタ６１２には、対応するＳＴＢに設定されたコネクションのＰＣＲの和が設定されている。図１７に示したＴＡＴ作成カウンタ５０１ｉでは、基本的にはＴ整数部設定レジスタ６０３に設定された間隔でセル送出許可をＳＴＢ９０６ｉｊに与える。ただし、Ｔ残余設定レジスタ６０４に設定された値を用いて、この間隔を時々伸ばし、全体としてＰＣＲにて定義されたピークレートにて正確にＳＴＢ９０６ｉｊに送出許可を与えるようにしている。
【０１６４】
ＡＴＭレイヤ時刻測定カウンタ６０８は、残余オクテット数累積レジスタ６０７からの指示が無い限り、セルスロット先頭信号の立ち上がり毎にインクリメントされる。このカウンタの値は、第２の比較器６０９によって、Ｔ整数部設定レジスタ６０３に設定された値と比較され、このふたつの値が一致しており、かつ残余オクテット数累積レジスタ６０７からインクリメント抑制指示が出ていないならば、次のセルスロット先頭信号の立ち上がり時に、セル送出許可を送出許可収集機能５０２に向けて送出すると共にＡＴＭレイヤ時刻測定カウンタの値をクリアする。
【０１６５】
Ｔ残余累積レジスタ６１０には、セル送出許可が送出される毎に、Ｔ残余設定レジスタ６０４の値が足し込まれる。この値がΣＰＣＲ設定レジスタ６１２に設定された値を超えている場合に、１セルスロットセル送出許可を与えるタイミングを遅らせるならば、Ｔの小数部分を補正できたことになる。これを実現するため、Ｔ残余累積レジスタ６１０は、自分に保持された値とΣＰＣＲ設定レジスタ６１２を比較し、自分に保持された値がこのレジスタの値を超えているならば、第２の比較器６０９に、次にセル送出許可を与えるタイミングを１セルスロット遅らせる指示を出すと同時に、自分が保持された値からこのレジスタの値を引き去る。
【０１６６】
第２の比較器６０９は、Ｔ残余累積レジスタ６１０から、次にセル送出許可を与えるタイミングを１セルスロット遅らせる指示を受け取ったならば、Ｔ整数部設定レジスタ６０３とＡＴＭレイヤ時刻測定カウンタ６０８の比較において、Ｔ整数部設定レジスタ６０３に設定されたそのものの値を使用する代わりに、該レジスタに設定された値に１を加えた値とＡＴＭレイヤ時刻測定カウンタ６０８とを比較する。これにより、次にセル送出許可を与えるタイミングを１セルスロット遅らせる事ができる。
【０１６７】
なお、セル送出許可が同時に複数ＳＴＢに対して与えられた場合、これらの送出許可がスロット割り当てＦＩＦＯ５０３に保持されるが、ここでの許可待ち時間はＧＣＲＡにおけるＴＡＴよりも遅れたセル到着に相当するので、ＧＣＲＡに従うならば次にセル送出許可を与えるタイミングを待つ時間分遅らせる必要がある。このため、各ＴＡＴ作成カウンタの作成したセル送出許可をスロット割り当てＦＩＦＯ５０３にエンキューするさい、該スロット割り当てＦＩＦＯ５０３に既に保持されたセル送出許可の個数を送出許可収集機能５０２が参照し、この値（待ちスロット数）を対応するＴＡＴ作成カウンタ５０１ｉに通知し、ＴＡＴ作成カウンタ５０１ｉでは通知された待ちスロット数をＴ整数部設定レジスタ６０３に設定された値に加えてＡＴＭレイヤ時刻測定カウンタ６０８との値の比較を行うこととしてもよい。
【０１６８】
さて、ここまで述べた方法によるセル送出許可の間隔は、セルスロット単位で測定したＴＡＴの小数部分が０でない場合に、その小数部分を切り捨ててセル送出許可を与えている事に相当する。即ち、ＧＣＲＡで規定されている、ＣＤＶ許容値τが１の場合である。ＣＤＶ許容値τはＡＴＭ通信網の運用ポリシーによって変化するが、ＣＤＶ許容値τは一般的に１より大きい値に設定される。よって、本発明のＡＴＭ通信網への適用には問題はない。
【０１６９】
ところで、上述の様に、ＴＡＴを作成する起点とする時刻を待ちスロット数分遅らせると、ピーク帯域を守ってセルを送出する、というＡＴＭ通信網側から見て都合の良い構成となるが、一方で、端末から見ると、待ちスロット数分のセルスロットに対して自分がセルを送出する機会が与えられず、ピーク帯域が常に割り当てられている訳ではない、という不都合が生じる事になる。この問題点は、上述のＴＡＴ作成方式において、ＴＡＴを作成する起点とする時刻を待ちスロット数分遅らせる操作を行わず、スロット割り当てＦＩＦＯ５０３にエンキューした時点を起点としてＴＡＴを計算する事にしてもよい。この場合、スロット割り当てＦＩＦＯ５０３の長さ分、各ＳＴＢ毎のセル到着間隔Ｔが短くなる可能性があるが、これはＡＴＭ通信網側でＣＤＶ許容値τを大きく設定し、かつスロット割り当てＦＩＦＯ５０３に送出許可が数多く溜まらない様な十分軽い負荷でＣＡＴＶ網を使用する事で解決可能である。即ち、端末に対して常にピーク帯域を与えるか否かは、ＡＴＭ通信網にかけうる負荷との間のトレードオフとなり、これらのいずれを選択するかは、ＡＴＭ通信網の運用ポリシーによって選択すべき問題である。
【０１７０】
また、ここで述べた方式の場合、パッシブスター光分配器９０２ｉ上でセル送出許可を転送するためのオーバーヘッドを最小にすべく、コネクション単位ではなくＳＴＢ９０６ｉｊ単位にセル送出許可を与える事にしているが、このようにすると、ＳＴＢ９０６ｉｊが、自分に設定されたコネクションのうちのひとつのコネクションの使用帯域を減らして別のコネクションの使用帯域を増やすことが可能である。これをＳＴＢ９０６ｉｊが行った場合、これらのコネクションがＡＴＭ通信網内部で異なる経路を転送されるならば、使用帯域の増やされたコネクションが他のユーザのコネクションのＱｏＳを劣化させてしまうことになる。これを防ぐため、パッシブスター光分配器９０２ｉからＡＴＭ交換機９０１ｉへのセル入力時に、ＡＴＭ交換機９０１ｉの入力端においてコネクション毎のポリシングを行い、コネクション毎に割り当てられた通信帯域を使用していることを保証することにしてもよい。
【０１７１】
（実施例４）
次に、本発明を適用する第２のアプリケーションである、ＣＡＴＶ網上での簡易移動端末サービスについて、詳細に説明する。
【０１７２】
移動端末サービスとは、いわゆる自動車電話や携帯電話に代表される様に、加入者が移動しながら通信できるサービスである。加入者（移動端末）が移動しながら通信を行えるようにするために、移動端末が固定端末との通信に使用する無線ゾーンを移動端末の移動に伴って切り替える処理は、ハンドオーバ処理と一般的に呼ばれる。この場合の加入者ないしは移動端末を、移動しながら通信するというプロセスに見立てれば、このハンドオーバ処理も等価的にプロセスマイグレーションの一種であると見なすことができる。本発明によると、以下に説明する様に、ハンドオーバ処理を簡便に実現する事ができる。
【０１７３】
図１８に、本発明の第２のアプリケーションが実行されるＣＡＴＶ網の構成を示す。同図には、ＡＴＭ交換機＃１（Ｅ０１１），＃２（Ｅ０１２）が相互に接続され、それにパッシブスター光分配器＃１（Ｅ０２１），＃２（Ｅ０２２）によって、移動端末収容装置である複数の無線ゾーン作成部＃１−１〜＃１−ｍ（Ｅ０３１１〜Ｅ０３１ｍ），＃２−１〜＃２−ｎ（Ｅ０３２１〜Ｅ０３２ｎ）が収容されている形式のＣＡＴＶ網が示されている。
【０１７４】
図１０に示したＣＡＴＶ網と同様、図１８に示した構成のＣＡＴＶ網もＡＴＭ交換機（Ｅ０１ｉ）によってバックボーン網が構成され、その上での情報伝送がＡＴＭ化されたパッシブスター光分配器（Ｅ０２ｉ）によって、加入者を安価に収容することを目的とした構成であるが、図１４に示したＣＡＴＶ網では、ＳＴＢの代わりに無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）が接続されている。ここで、図１０に示したＣＡＴＶ網と、図１８に示したＣＡＴＶ網との違いは、単にＳＴＢを接続するか、無線ゾーン作成部を接続するかの違いのみであるので、例えば一つのパッシブスター光分配器にＳＴＢと無線ゾーン作成部を混ぜて接続するような構成としても良い事に注意が必要である。このように、単一のパッシブスター光分配器を種々の用途に利用可能な点がＡＴＭ化したＣＡＴＶ網の大きな利点の一つである。
【０１７５】
これらの無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）は、それぞれが無線ゾーンを構成する。第２のアプリケーションを利用する移動端末（Ｅ０４１）は、これらの無線ゾーンのどれかに入ると、固定端末とみなすことのできる移動端末制御部Ｅ０５１を介して通信相手Ｇ０Ｃとの音声通信やデータ通信が可能になる。ここでの無線ゾーン中の無線チャネルは、本発明者が特願平５−３４９６３４にて開示したＡＴＭ化された無線チャネルであってよい。ここでは、この無線チャネルにて通信がなされるものとして以降の説明を進める。無線チャネルをＡＴＭ化することで、移動端末が６４ｋｂｐｓのみならず、例えば８ｋｂｐｓ、１２８ｋｂｐｓといったような種々の帯域を比較的自由に使用できるようになる。この結果として、移動端末（Ｅ０４１）に提供するサービスを音声通信のみではなく、例えば該移動端末（Ｅ０４１）を所持している加入者がＣＡＴＶのサービスエリア中の何処に存在しているかを別の加入者に通知するといった、必要となるビットレートが比較的小さなデータ転送サービスも安価に提供可能になる。
【０１７６】
また、移動端末が通信中は一つの無線ゾーン中で停止しており、他の無線ゾーンに移動しない（即ちハンドオーバ処理を行わない）とするならば、例えば計算機のファイルのダウンロードといった、必要となるビットレートが大きくなるデータ転送サービスも提供可能である。ここで、ハンドオーバ処理を行わないのは広帯域の通信を行っている間のみでよい事に注意が必要である。例えば、移動端末の使用者が、歩きながら音声による通信を行っている最中に、少し大きなファイルにアクセスするときは立ち止まり、ファイルへのアクセスが終了したら再度歩き出す、といったサービスは容易に実現が可能である。
【０１７７】
移動端末収容装置である無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）は、ＡＴＭ交換機＃ｉ（Ｅ０１ｉ）からパッシブスター光分配器Ｅ０２ｉを経由して渡されるセル流（下りリンクのセル流）を、自分の作成している無線ゾーンへと放送すると同時に、自分の作成している無線ゾーン中に存在する移動端末から送出されるセル（上りリンクのセル流）を、パッシブスター光分配器Ｅ０２ｉを経由してＡＴＭ交換機に渡す働きを持つ。本発明者が特願平５−３４９６３４にて開示した様に、下りリンクのセル流を運ぶ為のキャリア周波数と、上りリンクのセル流を運ぶためのキャリア周波数を異なるようにし、全２重通信を可能とする。無線ゾーン作成部＃ｉ−ｊの構成は種々考えられるが、例えば、本発明者が特願平５−３４９６３４にて開示した構成であっても良い。ただし、特願平５−３４９６３４中に示した無線ゾーン作成部は、ＡＴＭ交換機に直接接続する形のものであり、パッシブスター光分配器経由でセルをＡＴＭ交換機とやりとりするものではない。パッシブスター光分配器経由でセルをＡＴＭ交換機とやりとりする場合、前述したように、無線ゾーン作成部とＡＴＭ交換機の間の距離を測定し、セル流を送出するタイミングを変化させる機能と、他の無線ゾーン作成部と上りリンクを共用するためのアクセスプロトコルを実行する必要がある。ここで述べる無線ゾーン作成部は、これらの機能を含んでいるものとする。なお、パッシブスター光分配器の上りリンクでのアクセスプロトコルの方法は、本発明の有効性になんら影響を与えるものではないので、ここでは特に限定せずに説明を進める。例えば、本発明者が特願平６−１４０２２３にて開示した方式であってもよいし、上述したものであってもよい。
【０１７８】
移動端末Ｅ０４１は、通信を開始したい場合、ある無線ゾーンに存在している時に、無線ゾーンの制御情報チャネルを用いて網側にコネクション設定要求を出す。このコネクション設定要求に呼応して、通信網内部に必要なコネクションが設定される。移動端末Ｅ０４１は、こうして設定されたコネクションを使用して通信を行う。また、移動端末Ｅ０４１は通信が終わると、移動端末Ｅ０４１は無線ゾーンの制御情報チャネルを用いて網側にコネクション解放要求を出す。このコネクション開放要求に呼応して、今まで該移動端末Ｅ０４１が使用していたコネクションが解放される。この無線ゾーンの制御情報チャネルにおける通信方法については、後ほど詳しく説明する。
【０１７９】
ハンドオーバ処理を司るのが、ＡＴＭ交換機＃１（Ｅ０１１）に接続された移動端末制御部（Ｅ０５１）である。この移動端末制御部（Ｅ０５１）は、ハナドオーバ処理に際して、（ａ）  移動端末制御部（Ｅ０５１）を入力側端点とし、移動端末収容装置である無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｌ）のうちのｍ個の無線ゾーン作成部を出力側端点とするｎ：ｍの単方向ＡＴＭコネクション（例えばＧ０３）と、無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｌ）のうちのｍ個を入力側端点とし、ｎ個の固定端末である移動端末制御部（Ｅ０５１）を出力側端点とするｍ：ｎの単方向ＡＴＭコネクション（例えばＧ０４）をＡＴＭ交換機＃１（Ｅ０１１），＃２（Ｅ０１２）を制御して設定するコネクション機能、および（２）  ｎ：ｍの単方向ＡＴＭコネクションのｍ個の入力側端点の識別と、ｍ：ｎの単方向ＡＴＭコネクションのｍ個の出力側端点の識別のための同一のコネクション識別子を割り当てるコネクション識別子割り当て機能を有する。但し、図２０の例では移動端末制御部はＥ０５１の一つであり、ｎ＝１であるが、ｎが２以上の場合にも本発明は適用できる。これらのＡＴＭコネクションから見ると、移動端末制御部は一種の固定端末と見なすことも可能である。
【０１８０】
ＡＴＭ交換機は、移動端末からのコネクション設定要求を受けると、後述するＡＴＭコネクションを移動端末制御部Ｅ０５１と各無線ゾーン作成部Ｅ０３ｉｊの間に設定する。移動端末による通信中にコネクションを張り替えなければならない状況が生じるが、この事は移動端末制御部Ｅ０５１が検出し、ＡＴＭ交換機に向けてコネクションの張り替えの要求を送出する。
【０１８１】
＜ハンドオーバ処理の実現方法について＞
以下、本発明の第２のアプリケーションにおいて、移動端末制御部Ｅ０５１、ＡＴＭ交換機Ｅ０１ｉおよび無線ゾーン作成部Ｅ０３ｉｊがハンドオーバ処理を実現する方法について、より詳細に説明を進める。
【０１８２】
実際のこれら移動端末制御部Ｅ０５１、ＡＴＭ交換機Ｅ０１ｉ、無線ゾーン作成部Ｅ０３ｉｊの間のインタラクションについて説明する前に、ハンドオーバ処理を実現するための無線ゾーンの設定法について説明する。
【０１８３】
図１９に示す如く、ＣＡＴＶ網業者はサービスを行っている市街地の道路に沿って、前記無線ゾーンをそれぞれが互いに一部重なりをもつように配備する。このとき、重なりを持つ無線ゾーン間では使用する電波の周波数を異なる様に設定する。なお、一つのパッシブスター光分配器に接続された無線ゾーン作成部群の作成する無線ゾーン群（これを無線クラスタと呼ぶ）は、図１９に示すように道路に沿って連続するように配置しておく。これらの無線ゾーンの大きさは、無線ゾーン中での安価な高速データ伝送を意図し、例えば半径１００ｍといった小さなものとする。
【０１８４】
一方、移動端末はＣＡＴＶ網内で下りリンクとして使われる周波数を常に監視しており、これらの周波数の中から、より受信強度の大きな周波数の受信電波を用いて情報を再生する様に動作する。下りリンクの情報を転送する電波を監視して無線ゾーンを自動的に選択するようにし、さらに以下に述べるようにコネクションを設定する事で、ハンドオーバ処理を安価に実現できる構成となっている。ここで、下りリンクの周波数と上りリンクの周波数の組は変えない、即ち、下りリンクの周波数がｆｄ１である無線ゾーンでは上りリンクはｆｕ１で、下りリンクの周波数がｆｄ２である無線ゾーンでは上りリンクはｆｕ２で、といった関係をＣＡＴＶ網内で固定しておくのが望ましいことに注意が必要である。これにより、移動端末が使用する下りリンクの周波数を決めれば、自動的に上りリンクの周波数を決める事ができ、無線ゾーンに情報を送出できるようになる。
【０１８５】
なお、これらの無線ゾーンは、特に市街地の道路に沿ってのみ配置される訳ではない。例えば、親が子供に無線端末を持たせ、子供が街の中を遊び回っている間に危ない場所に近づいた場合に、親に警報を発するといったサービスを行うためには、市街地中の危険個所（例えばため池）にも無線ゾーンを配備すれば良いし、また各加入者の家庭のリビング、ダイニングといった各部屋に無線ゾーンを配備するようにしても良い。ＣＡＴＶ網管理者は、加入者からの依頼で加入者からここで述べているサービスを使用したいと要求のあった位置に、無線ゾーンを配備する事とする。
【０１８６】
図２０に、移動端末サービスを実行する際に移動端末制御部Ｅ０５１と各無線ゾーン作成部Ｅ０３ｉｊの間に設定されるコネクションを示す。これらのコネクションは、移動端末からの発呼や移動端末への着呼時にＡＴＭ通信網内部に設定される。なお、各移動端末から発呼する際や各移動端末に着呼する場合にも情報転送経路が必要になるが、これに関しては後ほど詳しく説明する。図が煩雑になるのを避けるため、同図にはこれらの経路は示されていない。また、移動端末が発呼を行う場合や、移動端末への着呼を受け付ける為には、該移動端末がどの無線ゾーンに存在するか、網側に通知する必要があるが、これについても後ほど詳しく説明する。
【０１８７】
移動端末Ｅ０４１からの発呼時や、移動端末Ｅ０４１への着呼時には、各パッシブスター光分配器Ｅ０２ｉ上に、１：ｍの単方向ＡＴＭコネクションＧ０３，Ｇ０Ａと、ｍ：１の単方向ＡＴＭコネクションＧ０４，Ｇ０９が設定され、これらが１：１の単方向ＡＴＭコネクションＧ０１，Ｇ０２，Ｇ０５，Ｇ０６，Ｇ０７，Ｇ０８で移動端末制御部Ｅ０４１に接続されている。
【０１８８】
一方、移動端末の通信相手Ｇ０Ｃと移動端末制御部Ｅ０５１の間に、１：１の双方向ＡＴＭコネクションＧ０Ｂが設定される。ここでは、移動端末の通信相手Ｇ０Ｃは移動しないものとし、通常のＡＴＭコネクションにてシームレスに移動端末制御部Ｅ０５１と接続されている事とする。なお、移動端末の通信相手Ｇ０Ｃがまた移動端末であれば、図２０と同様にその通信相手の移動端末に向かって１：ｍの単方向ＡＴＭコネクションと、ｍ：１の単方向ＡＴＭコネクションが設定され、これらが１：１の単方向ＡＴＭコネクションで移動端末制御部Ｅ０４１に接続される事になる。
【０１８９】
１：ｍの単方向ＡＴＭコネクションＧ０３と、ｍ：１の単方向ＡＴＭコネクションＧ０４は、同一のパッシブスター光分配器に接続された無線ゾーン作成部Ｅ０３１ｊの作成する無線ゾーン間、即ち無線クラスタ内の、移動端末Ｅ０４１の移動に対するハンドオーバ処理を実現する為に使用される。
【０１９０】
１：ｍの単方向ＡＴＭコネクションＧ０４，Ｇ０Ａは、図１２に示したパッシブスター光分配器の性質により、パッシブスター光分配器にＡＴＭコネクションを設定すると自然に設定されるものである。これらの単方向コネクションの働きにより、同一のパッシブスター光分配器に接続された無線ゾーン作成部Ｅ０３１ｊが作成する無線ゾーンでは、同じ情報を担うセルが同一のＶＰＩ／ＶＣＩにて受信可能である。よって、前述のように移動端末Ｅ０４１が最も受信強度の強い受信電波から情報を再生するように動作することと、それぞれの無線ゾーンが地理的に重なり合いをもって配置されている事から、たとえ移動端末が無線ゾーン間を移動していたとしても、同一の無線クラスタ内では、無線ゾーンを移動して受信周波数を変化させた時に一時フレーム同期とセル同期が外れ、フレーム同期とセル同期の再確立の動作が発生するだけで、移動端末Ｅ０４１は通信を続けることが可能である。即ち、無線ゾーンを変更しても受信情報が途切れる時間が短くて済む。
【０１９１】
この時、取り出すセルのＶＰＩ／ＶＣＩを変更する必要が無いことに注意が必要である。音声情報のような少々の途切れは人間が補間できる種類の情報の場合に、受信情報の途切れる期間を人間が補間もしくは無視できる時間より短く抑えれば、コネクションを切断せずに通信を続ける事が可能になる。無線チャネルで受信情報が途切れる時間は、特願平５−３４９６３４にて開示したＡＴＭ化された無線チャネルの場合、フレーム同期とセル同期が確立する為に必要な時間である。無線チャネルのフレームのオーバーヘッド間隔を短くする等、フレーム構造を適切に選択する事で、受信情報が途切れる時間を要求される範囲に抑えることができる。また、この場合において無線ゾーンを渡る際のフレーム同期、セル同期の再確立が許容できない様な通信を行うときは、ユーザが無線ゾーンを移動しない、即ち立ち止まって通信を行えば良いことは明らかである。無線ゾーンがＡＴＭ化されていることから、例えば、最初音声で歩きながら通信しており、立ち止まってファイル転送を受け、再度歩き出して音声で通信する、といったサービスを行う場合は、ファイル転送を行うために必要な帯域を持つＡＴＭコネクションを移動端末に向かって新たに設定するという簡便な手法をとることができることに注意が必要である。
【０１９２】
移動端末が無線クラスタ内で情報を送出する場合は、単に割り当てられたＶＰＩ／ＶＣＩにてセルを送出すれば良い。送出されたセルは、ｍ：１の単方向ＡＴＭコネクションＧ０４の働きにより、自然に１：１の単方向ＡＴＭコネクションＧ０２を経由して所望の通信相手の部分へと転送される。
【０１９３】
以上の処理を実現するだけで、無線クラスタ内のハンドオーバ処理、すなわち同一の無線クラスタ内で移動端末がある無線ゾーンから他の無線ゾーンに移動する際の無線ゾーンの切り替え処理を実現できる事になる。この場合、単一の無線クラスタ内のみのハンドオーバ処理であれば、移動端末制御部Ｅ０５１は不要であり、１：１の単方向ＡＴＭコネクションＧ０１，Ｇ０２を通信相手Ｇ０ＣへのＡＴＭコネクションＧ０Ｂに接続すれば良い。
【０１９４】
しかしながら、比較的高速な通信を安価に実現するためには、無線ゾーン作成部Ｅ０３ｉｊが作成する無線ゾーンを半径１００ｍと比較的小さくする事が望ましいため、一つのパッシブスター光分配器が構成する無線クラスタのみでは、ＣＡＴＶ網の加入者が必要とする地域全体に簡易移動端末サービスを提供することはできない。この為、複数の無線クラスタ間を渡るハンドオーバ処理を行う必要がある。移動端末制御部Ｅ０５１は、このような複数の無線クラスタ間を渡るハンドオーバ処理の為に設けられる。
【０１９５】
ある移動端末に着呼もしくはある移動端末から発呼があった場合、網は、その移動端末が存在する無線クラスタに図２０に示したコネクションを設定すると同時に、その無線クラスタに隣接する無線クラスタにも同様のコネクションを設定する。図２０では、ＡＴＭコネクションＧ０３，Ｇ０４が、現在移動端末が存在する無線クラスタに対応しており、一方、ＡＴＭコネクションＧ０９，Ｇ０Ａは該無線クラスタに隣接する無線クラスタに対応している。
【０１９６】
移動端末制御部Ｅ０５１は、移動端末が存在する無線クラスタ上に設定されたコネクションと通信相手へのコネクションとを連結すると同時に、該無線クラスタに隣接している無線クラスタ上に設定されたコネクションと通信相手へのコネクションとを連結する。即ち、図２０に示した例では、コネクションＧ０Ｂにて移動端末制御部Ｅ０５１に渡されたセル流をコネクションＧ０１，Ｇ０５にコピーして渡すと同時に、コネクションＧ０２，Ｇ０６から渡されたセル流をコネクションＧ０Ｂに合流して渡す。これにより、通信相手Ｇ０Ｃの送出したセル流が現在移動端末Ｅ０４１の存在している無線クラスタおよびその隣接クラスタに渡されるので、移動端末Ｅ０４１が無線クラスタを渡ったとしても、移動端末が最も強度の強い電波から情報を再生することさえ行っていれば、同一無線クラスタ内の無線ゾーン移動時に受信情報を切り替えるのと同一の処理にて受信情報を切り替えることができる。また、移動端末Ｅ０４１の送出するセルは、現在存在する無線クラスタであっても、またそれに隣接する無線クラスタであっても、通信相手に渡される事になる。この結果として、無線クラスタ間のハンドオーバ処理も、無線クラスタ内の無線ゾーン間のハンドオーバ処理と同一の処理にて実行できる事になる。
【０１９７】
なお、無線クラスタを渡るハンドオーバ処理が発生した場合には、隣接無線クラスタが変化する。即ち、今まで隣接無線クラスタでなかった無線クラスタが隣接無線クラスタになるか、もしくは今まで隣接無線クラスタと考えていた無線クラスタが隣接でなくなるといった事が発生する。
【０１９８】
新たに隣接無線クラスタとなる無線クラスタには、新たなハンドオーバ処理に備え、図２０に示した様なコネクションが設定される。新たな隣接無線クラスタ中の各無線ゾーンにおいては、他の無線クラスタにて使用されているものと同一のＶＰＩ／ＶＣＩを使用するのはいうまでもない。このコネクション設定は、移動端末制御部Ｅ０５１が通信網に要求する事になる。これを実現するためには、移動端末の位置を無線制御部Ｅ０５１に通知する必要がある。この為には、移動端末制御部Ｅ０５１と各無線ゾーン作成部Ｅ０３ｉｊの間に１：１の双方向コネクションを設定しておき、移動端末の位置を各無線ゾーン作成部が移動端末制御部Ｅ０５１に通知するようにしても良いし、後ほど詳しく述べる様に、各無線ゾーン作成部が自分の作成する無線ゾーンに対して自分に割り当てられた識別子を放送しており、該無線ゾーンに割り当てられた識別子を移動端末Ｅ０４１が受信し、それを移動端末制御部Ｅ０５１に通知するといった事を行っても良い。
【０１９９】
一方、今まで隣接無線クラスタであった無線クラスタ上に設定されていたコネクションに関しては、通信帯域の有効利用という観点からは解放された方が望ましく、一方、移動端末Ｅ０４１はそのうちに同一無線クラスタに戻ってくる確率が高いので、ハンドオーバ処理にかかる処理量を削減するという観点からは残しておいた方が良い。これらのコネクションを解放するか削減するかは、移動端末Ｅ０４１を持つ人間の行動パタンによって決定されるべき事項であるが、もし、これらのコネクションを解放するのであれば、移動端末制御部Ｅ０５１が網にそれらの解放を要求することになる。
【０２００】
このように、ハンドオーバ処理に伴うコネクション設定／解放を移動端末が無線クラスタ間の移動を行った後に実行できることから、ここで述べている方法は安価な構成で迅速なハンドオーバ処理を実行できるという利点がある。
【０２０１】
なお、ここで述べている本発明によるＣＡＴＶ網の場合、移動端末サービスは通常のＡＴＭコネクションによる通信とは異なる、上述したような特殊なコネクションに係る処理を行わなければならないことから、移動端末サービスを一種のオプション、すなわち実施することもできれば実施しなくともよいサービスとして位置付けている。このような場合、図２０に示すように既存技術によるＡＴＭ通信システムと同様に、コネクション設定部Ｇ０Ｄを設け、移動端末制御部Ｅ０５１が移動端末に係るコネクション設定をコネクション設定部Ｇ０Ｄに要求にするようにしてもよい。
【０２０２】
コネクション設定部Ｇ０Ｄは、移動端末制御部Ｅ０５１からの要求や他の通常のＡＴＭコネクション設定の要求を受取り、ＡＴＭ通信システム内部のＡＴＭ交換機Ｅ０１１，Ｅ０１２を制御してＡＴＭコネクションを設定する役割を持つ。この観点からは、移動端末制御部Ｅ０５１はＡＴＭ通信システムに付加され、特殊サービス（ここでは、移動端末サービス）を実現する一種のサービス機能実現のための固定端末として働いている。このように、特殊サービスを固定端末として実現することで、該固定端末をＡＴＭ交換機に接続するだけで、所望のＡＴＭ通信網で特殊サービスを実現できるという、コスト的に有利な実装法となる。
【０２０３】
＜ハンドオーバ処理の概略的手順について＞
次に、上述したハンドオーバ処理の概略的な手順を図２１を用いて説明する。無線クラスタを渡る移動端末の移動が発生すると、次の無線クラスタを渡るハンドオーバ処理に備えるべく、移動端末制御部Ｅ０５１によってｎ：ｍの単方向ＡＴＭコネクションとｍ：ｎの単方向ＡＴＭコネクションの設定が要求される（ステップＳ２１）。この時、ＡＴＭ通信網のコネクション設定部（Ｇ０Ｄ）は、要求されたｎ：ｍの単方向ＡＴＭコネクションのｍ個の入力側端点の識別と、ｍ：ｎの単方向ＡＴＭコネクションのｍ個の出力側端点の識別のために同一のコネクション識別子（この例ではＶＰＩ／ＶＣＩ）を割り当てることとしながら、要求されたコネクションを設定する（ステップＳ２２）。これにより、移動端末Ｅ０４１の次の無線クラスタを渡るハンドオーバに対する準備が終了する。そして、移動端末Ｅ０４１が無線クラスタを渡ってハンドオーバしても、今までと同一のＶＰＩ／ＶＣＩによって移動端末制御部Ｅ０５１との通信に使用するＡＴＭコネクションを指定できることにより、ハンドオーバ処理が実現される（ステップＳ２３）。
【０２０４】
図２２に、上述したハンドオーバ処理を実現するための移動端末制御部Ｅ０５１の構成を示す。この移動端末制御部Ｅ０５１は、物理レイヤ部Ｈ０１、ペイロード暗号化部Ｈ０２、ペイロード復号化部Ｈ０３、加入者暗号キーテーブルＨ０４、制御セル分岐／挿入部Ｈ０５、ＶＰＩ／ＶＣＩ書き換え部Ｈ０６、コピータグ付加部Ｈ０８、コピーバッファＨ０７、および制御プロセッサＨ０９からなっている。
【０２０５】
移動端末制御部Ｅ０５１には、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結機能、無線クラスタを渡った場合のハンドオーバ処理を実現するための機能、及び移動端末サービスで常に問題になるセキュリティを向上するためのセルのペイロード部分の暗号化の機能を持っている。以降、これらの機能を順に説明してゆく。
【０２０６】
まず、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結機能について説明する。この機能は、移動端末の通信相手から渡されたセルを移動端末が存在する無線クラスタ及び隣接無線クラスタにコピーして送出する機能、及び移動端末から渡されたセルを通信相手に転送する機能からなる。
【０２０７】
本実施例の場合、移動端末制御部Ｅ０５１が１本の物理リンクにてＡＴＭ交換機＃１（Ｅ０１１）に接続されているので、移動端末サービスを実行する為に設定されるＡＴＭコネクションを移動端末制御部Ｅ０５１が識別できるようにする必要がある。即ち、移動端末制御部Ｅ０５１とＡＴＭ交換機＃１（Ｅ０１１）の間のインタフェース点で、それぞれ異なるＶＰＩ／ＶＣＩが付加される。移動端末制御部Ｅ０５１は、どのＶＰＩ／ＶＣＩにセルを送出するとどの無線クラスタにセルが送出されるか、識別できる事になる。また、移動端末制御部Ｅ０５１が同時に複数の移動端末に対して移動端末サービスを提供するためには、それぞれの移動端末に要求されるＡＴＭコネクションを移動端末制御部Ｅ０５１が識別できるようにする必要がある。即ち、移動端末制御部Ｅ０５１は、どのＶＰＩ／ＶＣＩにセルを送出すると、どの移動端末にセルが送出できるかを識別できることになる。この意味で、第２のアプリケーションでマイグレートするプロセスである移動端末を識別するのは、第１のアプリケーションで使用されたプロセス識別子たるＭＩＤではなく、コネクション識別子たるＶＰＩ／ＶＣＩである。
【０２０８】
各無線クラスタに向けて設定されたコネクションと、通信相手に向けて設定されたコネクションを連結するには、以下の処理を行えば良い。
【０２０９】
最初に、移動端末の通信相手から受け取ったセルを移動端末が存在する無線クラスタ及び隣接無線クラスタにコピーして送出する機能について説明する。以下に説明する様に、この機能は同一のセル流を複数個作成する、いわゆるセルコピー機能により実現される。
【０２１０】
通信相手Ｇ０ＣからコネクションＧ０Ｂを経由して渡されるセル流は、ＡＴＭ交換機を経由して物理レイヤ部Ｈ０１の受信側に渡される。物理レイヤ部Ｈ０１は、ＡＴＭ交換機から渡されるビット列に対してフレーム同期およびセル同期処理を行い、セル流を再生する。このセル流は、ペイロード復号化部Ｈ０３および制御セル分岐／挿入部Ｈ０５を経由し、コピータグ付加部Ｈ０８に渡される。コピータグ付加部Ｈ０８は、渡されたセルのＶＰＩ／ＶＣＩを参照し、コピータグとここで呼ぶ情報を付加し、コピーバッファＨ０７に渡す。コピータグ中には、そのセルがどのコネクションに属し、またいくつコピーされるべきかを示す情報が付加されている。前者をコピーコネクション識別、後者をコピー数と呼ぶ。例えば、図２０に示したコネクション構成では、コネクションＧ０Ｂから入力されたセルをコネクションＧ０１とコネクションＧ０５に転送する事にしており、コピー数は２となる。また、コピーコネクション識別は、移動端末Ｅ０４１と通信相手Ｇ０Ｃの間の通信を識別するために、該移動端末制御部Ｅ０５１にて処理されているコネクション毎に一意に付加される。例えば、このコネクションを識別するためにコピーコネクション識別として値１を取ることにする。
【０２１１】
コピーバッファＨ０７は、入力されたセルのコピー数を参照し、該コピー数に等しい数のコピーを作成してＶＰＩ／ＶＣＩ書き換え部Ｈ０６に渡す。ここで、コピーバッファＨ０７は、コピー数の書かれていたフィールドに同一セルのコピーに対して送出順にシーケンス番号を書き込む。このシーケンス番号をコピー番号と呼ぶ。例えば、コピー数＝４で入力されたセルはコピーバッファＨ０７から４回出力される。その際、これら出力されるコピーセルのコピー番号は、０→１→２→３と出力順に変化させられる。このコピー番号は、次のＶＰＩ／ＶＣＩ書き換え部Ｈ０６で、コピーされたセルをどのコネクションに送出するかを選択するために使用される。なお、コピーコネクション識別のフィールドは、コピーバッファＨ０７ではトランスペアレントに出力される。
【０２１２】
コピーバッファＨ０７から出力されたセルは、ＶＰＩ／ＶＣＩ書き換え部Ｈ０６に入力される。ＶＰＩ／ＶＣＩ書き換え部Ｈ０６は、コピーコネクション識別とコピー番号を参照して、それぞれのセルが送出されるべきコネクションを識別し、該コネクションを識別するためのＶＰＩ／ＶＣＩの値に該セルのＶＰＩ／ＶＣＩフィールドを書き換えると共に、コピータグを削除し、制御セル分岐／挿入部Ｈ０５、ペイロード暗号化部Ｈ０２を経由して物理レイヤ部Ｈ０１の送信側に渡す。同一セル起源の複数セルについて、それぞれ所望の無線クラスタに転送可能なＶＰＩ／ＶＣＩを付けてＡＴＭ交換機に向けて送出することで、ＡＴＭ交換機でのそれらのセルのルーティングが可能になり、それらのセルが所望の無線クラスタへと転送される事はいうまでもない。例えば、図２０に示されたコネクション構成では、コピーコネクション識別が１である事によりＧ０１もしくはＧ０５に転送すべきセルであることが認識することができ、例えばコピー番号０のセルをＧ０１にコピー番号１のセルをＧ０５に送出するとすれば、コピーコネクション識別が１で、コピー番号が０であるセルのＶＰＩ／ＶＣＩをコネクションＧ０１を識別するための値に、コピーコネクション識別が１で、コピー番号が１であるセルのＶＰＩ／ＶＣＩをコネクションＧ０５を識別するための値にそれぞれ書き換える事になる。
【０２１３】
なお、これらのコネクションのもう一方の端点に付加されるＶＰＩ／ＶＣＩ、即ち、それぞれの移動端末毎に割り付けられた、ハンドオーバ処理を単純にするために全ての無線ゾーンで使用される同一のＶＰＩ／ＶＣＩと、ＶＰＩ／ＶＣＩ書き換え部Ｈ０６から送出する時のＶＰＩ／ＶＣＩとでは、その値が異なっている。これらのコネクションの無線ゾーン側での端点でのＶＰＩ／ＶＣＩは、ＡＴＭ交換機からパッシブスター光分配器に送出される点か、もしくは無線ゾーン作成部によって書き換えられる。
【０２１４】
以上により、通信相手Ｇ０Ｃが送出したセルが所望の無線クラスタに転送され、所望のＶＰＩ／ＶＣＩをもって移動端末Ｅ０４１に渡されることになる。
【０２１５】
一方、移動端末が送出したセルは、上述した様に、ｍ：１の単方向ＡＴＭコネクションを経由して移動端末制御部Ｅ０５１に渡される。この時、移動端末識別部Ｅ０５１の入力部では、どの移動端末が送出したセルかが、それぞれの移動端末が送出したセルのＶＰＩ／ＶＣＩにて識別できる様にコネクションが設定されている事に注意すると、以下の様に移動端末制御部Ｅ０５１が入力されたセルを扱うことで、各無線クラスタに設定されているコネクションから移動端末の通信相手に向けて設定されたコネクションに向けてセルを転送できることになる。
【０２１６】
コネクションＧ０２もしくはコネクションＧ０６から入力されたセルは、コネクションＧ０Ｂから入力されたセルと同様に、物理レイヤ部Ｈ０１、ペイロード復号化部Ｈ０３、制御セル分岐挿入部Ｈ０５を経由してコピータグ付加部Ｈ０８に入力される。コピータグ付加部では、コネクションＧ０２もしくはコネクションＧ０６に割り当てられたＶＰＩ／ＶＣＩを参照し、コピータグを付加してコピーバッファＨ０７に転送する。ここで、コピータグ中のコピー数は１で良い。また、コピーコネクション識別は、コネクションＧ０２とコネクションＧ０６に同一の値を割り当てる。コネクションＧ０２もしくはコネクションＧ０６に属するセルのコピー数が１に設定されているので、コピーバッファＨ０７では単にこれらのセルのコピー番号を０としたセル一つをＶＰＩ／ＶＣＩ書き換え部Ｈ０６に渡す。
【０２１７】
ＶＰＩ／ＶＣＩ書き換え部Ｈ０６では、コピー識別及びコピー番号を参照し、入力されたセルがコネクションＧ０２もしくはコネクションＧ０６に属するセルであると認識すると、コネクションＧ０Ｂに割り当てられたＶＰＩ／ＶＣＩに該セルのＶＰＩ／ＶＣＩ値を書き換え、制御セル分岐／挿入部Ｈ０５、ペイロード暗号化部Ｈ０２、物理レイヤ部Ｈ０１を経由してＡＴＭ交換機へと出力する。ＶＰＩ／ＶＣＩの値がコネクションＧ０Ｂに割り当てられたものの場合、ＡＴＭ通信網は該セルを通信相手Ｇ０Ｃへと転送する。以上により、どの無線クラスタに移動端末Ｅ０４１が存在しても、該移動端末が送出したセルは所望の通信相手に転送されることになる。
【０２１８】
以上述べた二つの動作、即ち通信相手からのセルを所望の無線クラスタ群に転送する動作と、所望の無線クラスタ群でのセルを所望の通信相手に転送する動作によって、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結が実現できることになる。
【０２１９】
次に、移動端末制御部Ｅ０５１の持つ、無線クラスタを渡った場合のハンドオーバ処理を実現する機能について詳細に説明する。
【０２２０】
上述したように、移動端末の存在する無線クラスタと、該無線クラスタの隣接無線クラスタに予めコネクションを設定しておいてハンドオーバ処理に備えておき、ハンドオーバ処理の要求が発生した時、即ち移動端末が存在する無線クラスタが変わった時に、新たに隣接となった無線クラスタにコネクションを設定し、新たなハンドオーバ処理に備えるという、ここで述べている簡易なハンドオーバ手法を実現する為には、移動端末が存在する無線クラスタを把握し、適宜通信網に向けてコネクション設定の要求を行う必要がある。移動端末制御部Ｅ０５１の持つハンドオーバ処理の機能は、このために使用される。ハンドオーバ処理用計算能力は、制御セル分岐／挿入部Ｈ０５と制御プロセッサＨ０９によって提供される。
【０２２１】
図２３に、ハンドオーバ処理等の移動端末の制御を行うために予め無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）と移動端末制御部Ｅ０５１の間に設定されるコネクションを示す。この種のコネクションを移動制御コネクションと呼ぶ。図２３には、一つの無線クラスタに属する無線ゾーン作成部＃ｉ−ｊに関する移動制御コネクションのみが記載されている。
【０２２２】
各々の無線クラスタ内の無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）と、移動端末制御部Ｅ０５１の間には、移動制御コネクションとして、１：ｍの単方向ＡＴＭコネクションＩ０１と、ｍ：１の単方向ＡＴＭコネクションＩ０２とが設けられている。無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）から移動端末制御部Ｅ０５１へ情報を転送する時にはｍ：１の単方向ＡＴＭコネクションＩ０２が、移動端末制御部Ｅ０５１から無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）へ情報を転送する時には１：ｍの単方向ＡＴＭコネクションＩ０１が、それぞれ使用される。
【０２２３】
移動端末制御部Ｅ０５１とＡＴＭ交換機の間では、どの無線クラスタに関する移動制御コネクションかを識別することができるように、無線クラスタ毎にＶＰＩ／ＶＣＩが付加される。一つの無線クラスタに関する移動制御コネクションを構成する１：ｍの単方向ＡＴＭコネクションＩ０１とｍ：１の単方向ＡＴＭコネクションには、同一のＶＰＩ／ＶＣＩが与えられる。即ち、入力されてきたセルの送出元の無線クラスタにセルを転送したい場合は、その入力されてきたセルのＶＰＩ／ＶＣＩと同一の値を送出するセルに与えれば良い。
【０２２４】
無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）と移動端末制御部Ｅ０５１の間の通信では、可変長のメッセージとするべく、アダプテーションレイヤとしてＡＡＬ３が使用される。この為、後ほど詳細に説明する手法で、それぞれの無線ゾーン作成部Ｅ０３ｉｊに対してＭＩＤが割り当てられる。
【０２２５】
それぞれの無線ゾーン作成部は、ｍ：１の単方向ＡＴＭコネクションＩ０２を用いて移動端末制御部Ｅ０３ｉｊに対してメッセージを転送するときは、該割り当てられたＭＩＤを用いてメッセージをセルに分割する。その後、それらのセルのＶＰＩ／ＶＣＩ値を無線ゾーン作成部とパッシブスター光分配器との間でコネクションＩ０２に割り当てられたＶＰＩ／ＶＣＩとして送出する。その結果、コネクションＩ０２の働きによって、これらのセルは移動端末制御部Ｅ０５１へと導かれる。移動端末制御部Ｅ０５１では、各無線クラスタから転送されてきたセル流をそれぞれ独立にＭＩＤを参照しながらメッセージへと組み立てる。これにより、ＶＰＩ／ＶＣＩを参照することで組み立てたメッセージを送出した無線クラスタを、ＭＩＤを参照することで組み立てたメッセージを送出した無線ゾーン作成部がそれぞれ識別できることになる。
【０２２６】
一方、移動端末制御部Ｅ０５１は、無線ゾーン作成部Ｅ０３ｉｊのうちのどれかにメッセージを送出するときは、該メッセージを送出したい無線ゾーン作成部Ｅ０３ｉｊに割り当てられたＭＩＤにてセルに分割する。その後、これらのセルのＶＰＩ／ＶＣＩ値を、移動端末制御部Ｅ０５１とＡＴＭ交換機との間で、コネクションＩ０１に割り当てられたＶＰＩ／ＶＣＩとして送出する。この結果、コネクションＩ０１の働きによって、これらのセルは同一の無線クラスタ中の無線ゾーン作成部Ｅ０３ｉｊへと導かれる。無線ゾーン作成部Ｅ０３ｉｊでは、移動端末制御部Ｅ０５１から転送されてきたセル流から、自分に割り当てられたＭＩＤと同じＭＩＤを持つセルのみ取り出し、メッセージへと組み立てる。
【０２２７】
図１に示した実施例では、送出元に割り当てたＭＩＤにてメッセージのセル化を行っていたが、このように、送信先に割り当てたＭＩＤにて移動端末制御部Ｅ０５１がセル化したとしても、コネクションＩ０１にメッセージを送出するプロセスが移動端末制御部のみであるので、異なるメッセージが同時に同一ＭＩＤにてセル化される事がなく、無線ゾーン作成部Ｅ０３ｉｊにて正常にメッセージ組立が可能であることに注意が必要である。このように実装すると、ＭＩＤを参照するだけで自分宛てであるか否かを判断でき、不要なメッセージの組み立てをせずに済むという利点がある。
【０２２８】
移動端末制御部Ｅ０５１の内部では、コネクションＩ０２に属するセルは物理レイヤ部Ｈ０１、ペイロード復号化部Ｈ０３を経由して制御セル分岐／挿入部Ｈ０５へと転送される。制御セル分岐／挿入部Ｈ０５では、ある無線クラスタから移動端末を制御する情報として渡されたセルを制御プロセッサＨ０９へと分岐する。制御セル分岐／挿入部Ｈ０５での分岐条件は、以下の通りである。即ち、該制御セル分岐／挿入部Ｈ０５は、物理レイヤ部Ｈ０２側から入力されるセルのＶＰＩ／ＶＣＩを参照し、移動端末制御部Ｅ０５１とＡＴＭ交換機との間に設定されているそれぞれの移動制御コネクションに割り当てられたＶＰＩ／ＶＣＩを持つセルを制御プロセッサＨ０９に分岐すれば良い。
【０２２９】
一方、コネクションＩ０１に属するセルは、移動端末制御部Ｅ０５１の内部において、以下の様に転送される。コネクションＩ０１に属するセル等の、ある移動クラスタに対して送出する制御メッセージを制御プロセッサＨ０９が作成し、該メッセージをその送出先である無線ゾーン作成部に割り当てられたＭＩＤによってセルに分割し、さらに該分割されたセルのヘッダ部分にその送出先である無線クラスタに転送するためのＶＰＩ／ＶＣＩを書き込んで、制御セル分岐／挿入部Ｈ０５に渡す。制御セル分岐／挿入部Ｈ０５は、物理レイヤ部Ｈ０１側に向かうセル流中の空セルを制御プロセッサＨ０９から渡されたセルに置き換え、ペイロード暗号化部Ｈ０２を経由して物理レイヤ部Ｈ０１へと送出する。これにより、制御プロセッサＨ０９が作成した制御メッセージから作成されたセルが、移動端末制御部から送出される事になる。
【０２３０】
なお、制御プロセッサＨ０９が移動端末サービスを実現するためのＡＴＭコネクション設定要求を作成することになる。よって、上述の移動端末コネクションと同様、コネクション設定部Ｇ０９Ｄとの間の通信に必要なセルに間しても、制御セル分岐／挿入部Ｈ０５において分岐／挿入が行われる。
【０２３１】
図２４は、移動端末Ｅ０４１、各無線ゾーン作成部Ｅ０３ｉｊ、移動端末制御部Ｅ０５１の間でやりとりされるメッセージを時系列に並べたメッセージシーケンス図であり、移動端末Ｅ０４１が無線ゾーン作成部＃１−２の無線ゾーンに存在する時にコネクション設定を行い、その後、無線ゾーン作成部＃１−１の無線ゾーンへと移動した場合の例である。
【０２３２】
本発明者が特願平５−３４９６３４にて示した、ＡＴＭ−ＬＡＮ中にて使用される無線ゾーン作成部と同様、本実施例における無線ゾーン作成部Ｅ０３ｉｊも自分の無線ゾーンに自分の無線ゾーンに予め与えられた識別子を予め定められた時間間隔で放送している（ゾーン通知メッセージＪ０１，Ｊ０２，Ｊ０６，Ｊ０９）。上述したように、無線ゾーン中の無線チャネル上では、ＡＴＭセルが転送されるため、このゾーン通知メッセージは本発明者が特願平５−３４９６３４にて示した様に、予め定めらたＶＰＩ／ＶＣＩを持つセルとして定義されるブロードキャストセルの一種類として転送されていても良い。また、無線ゾーン識別子は無線ゾーン作成部に付けられたノード番号であっても良い。移動端末制御部Ｅ０５１は、無線ゾーン識別子と、該無線ゾーンの実際の地図上の位置との対応関係を保持しておく表を持っている。この表は、それぞれの無線ゾーン作成部の設置時にＣＡＴＶ網の保守者によって維持更新されるものとする。
【０２３３】
移動端末Ｅ０４１は、電源が投入されるとまず無線ゾーンの下りリンクとして使用される周波数を順次スキャンし、それぞれの周波数の電界強度を測定する。その後、最も電波強度の大きな電波が受信可能な周波数に受信周波数を固定して該電波からビット列を再生し、その後、該ビット列に対してフレーム同期、セル同期をとって下りリンク上のセル流を再生する。その後、前記ゾーン通知メッセージが下りリンク上に現れるのを待つ。
【０２３４】
下りリンク上に現れたゾーン通知メッセージを受信すると、移動端末Ｅ０４１は自分が移動サービスを受けられる状態にあると見なす。移動端末Ｅ０４１のユーザが新たに移動端末を用いて通信を行う場合、移動端末Ｅ０４１はユーザからの指示を受けて、移動サービス要求メッセージ（Ｊ０３）を送出する。移動端末は、まず自分が属している無線ゾーンの上りリンク周波数にてブロードキャストセルによる移動サービス要求メッセージを送出し（Ｊ０３）、無線ゾーン作成部＃１−２へと渡す。無線ゾーン作成部＃１−２は、該移動サービス要求メッセージを自分に割り当てられたＭＩＤを基にＡＡＬ３のペイロード部分に埋め込んで再度セル化し、コネクションＩ０２を経由して移動端末制御部へと転送する（Ｊ０３’）。移動端末制御部Ｅ０５１は、受け取った移動サービス要求メッセージを解釈し、コネクション設定の必要なポイントのレイヤ３アドレスを得た後、コネクション設定要求（Ｊ０４）をコネクション設定部Ｇ０Ｄに送出してＡＴＭ通信網にコネクション設定を行う。このとき設定を要求するコネクションは、上述のハンドオーバ処理の動作から明らかな様に、通信相手と移動端末制御部の間のコネクションと、移動端末制御部と該移動端末が存在する無線クラスタとの間のコネクションと、該移動端末が存在する無線クラスタの隣接無線クラスタと移動端末制御部との間のコネクションである。
【０２３５】
本発明に従って、該移動端末が存在する無線クラスタと、該無線クラスタの隣接無線クラスタで、それぞれ移動サービスの為に設定されるコネクションにおけるＡＴＭ交換機とパッシブスター光分配器の間のＶＰＩ／ＶＣＩを統一するためには、コネクション設定部Ｇ０Ｄが例えば本発明者が特願平５−３４９４３６に示した様な、Ｑ．２９３１プロトコルを越えるサービスを提供できる枠組みで動作している必要がある。このようなコネクション設定を実現するため、コネクション設定部Ｇ０ＥはプロセスＩＤ割り当て部Ｇ０Ｅを持つ。ここで言うプロセスＩＤとは、すなわち各無線ゾーンにて無線端末を識別するための識別子、ＶＰＩ／ＶＣＩである。
【０２３６】
現在のＱ．２９３１プロトコルでは、ＶＰＩ／ＶＣＩを指定してコネクションを設定する事はできない。なお、将来ＶＰＩ／ＶＣＩを指定してコネクションを設定できるようにＱ．２９３１が改編されたならば、本発明に従った簡単なハンドオーバ処理を実現するコネクションがＱ．２９３１にて設定可能となるので、移動端末制御部、各無線クラスタ及び通信相手にＥ．１６４アドレスが割り当てられていれば、コネクション設定部Ｇ０Ｄが上位のＡＴＭ通信網のＱ．２９３１にて設定したコネクションを移動サービスに使用することも可能になる。
【０２３７】
必要なコネクション設定が終了すると、コネクション設定部Ｇ０Ｄから返される、設定されたコネクションに関する情報を基にして、移動端末制御部Ｅ０５１はコピータグ付加部Ｈ０８及びＶＰＩ／ＶＣＩ書き換え部Ｈ０６が内蔵しているテーブルを、設定されたコネクションを上述の様に連結すべく書き換える。その後、コネクション設定が終了した事を移動端末Ｅ０４１に通知するため、移動端末制御部Ｅ０５１はブロードキャストセルをＡＡＬ３の情報部に埋め込んで再度セル化した移動サービス応答メッセージ（Ｊ０５）をコネクションＩ０１を経由して無線ゾーン作成部＃１−２に転送する。
【０２３８】
無線ゾーン作成部＃１−２は、移動端末制御部Ｅ０５１から移動サービス応答メッセージを受け取ると、そのメッセージからブロードキャストセルを再生し、自分の作成している無線ゾーンに放送する（Ｊ０５’）。
【０２３９】
なお、移動サービス要求メッセージ送出後、移動端末が無線ゾーンもしくは無線クラスタ間の移動を行った場合に備え、この移動端末応答メッセージを該移動端末が移動サービス要求メッセージを送出した時に存在した無線クラスタ、及び該無線クラスタの隣接無線クラスタの全ての無線ゾーン作成部に転送するように構成しても良い。この全ての無線ゾーン作成部への転送は、それぞれの無線ゾーンに割り当てられたＭＩＤを順に用いて、同一の移動サービス応答メッセージを送出するように構成されていても良いし、１：ｍのＡＴＭコネクション上では全送出点同報の為のＭＩＤが定義されている事としてもよい。各無線ゾーン作成部において、全送出点同報のＭＩＤを持つセルはメッセージとして組み立てられ、該メッセージの意味に合わせた処理が行われる。例えば、移動サービス応答メッセージであれば、それに含まれるブロードキャストセルを自分が作成している無線チャネルに放送する。
【０２４０】
移動サービス応答メッセージ（Ｊ０５’）を受け取ると、移動端末Ｅ０４１は設定されたコネクションを使用して通信相手との通信を開始する。通信相手との通信の間に、無線ゾーン作成部＃１−２が送出したゾーン通知メッセージ（Ｊ０６）を受け取ると、移動端末Ｅ０４１はそれに対応して生存通知メッセージ（Ｊ０７）を返しても良い。これら２種類のメッセージもブロードキャストセルであってよい。
【０２４１】
移動端末が移動し、無線ゾーン作成部＃１−２の作成する無線ゾーンから、無線ゾーン作成部＃１−１の作成する無線ゾーンに移動した場合、以下の事が起きる。
【０２４２】
まず、無線ゾーン作成部＃１−２が送出している電波の移動端末での電界強度が低下する。その結果、移動端末が常に行っている、下りの無線チャネルとして使用されている周波数の電界強度測定によって、無線ゾーン作成部＃１−２の送出している周波数以外の周波数の強度の方が大きくなる。この状態になると、移動端末Ｅ０４１では受信周波数を変更し、該最も強く受信可能な周波数からビット列を再生するようにする。この結果として、一旦フレーム同期、セル同期が外れ、フレーム／セル同期の再確立を行う。上述したように、本発明の場合、隣接無線ゾーンもしくは隣接無線クラスタに、同一のＶＰＩ／ＶＣＩにて通信相手とのコネクションが予め設定されているため、セル同期の再確立後ただちに通信相手との通信を再開することが可能になる。
【０２４３】
なお、それぞれの受信周波数の受信強度測定のみではなく、それぞれの受信周波数におけるフレーム／セル同期を常にとっている動作を行うことで、ハンドオーバ処理にて通信が不可能である時間をより短縮することも可能であるが、この場合、複数の無線チャネルに対して、フレーム同期、セル同期を同時に実行する必要があり、移動端末のハード量が増えると同時に、移動端末の消費電力も大きくなるといった問題点がある。複数の受信周波数にて同時にフレーム同期、セル同期をとるかは、こういった問題点とハンドオーバ処理の迅速性との間のトレードオフとして、システムに要求される特性を斟酌して決定すべき事項である。
【０２４４】
その後、しばらく時間が経過すると、無線ゾーン作成部＃１−１の送出したゾーン通知メッセージ（Ｊ０９）を受信する事ができる。新しい無線ゾーンからのゾーン通知メッセージを受け取ると、移動端末Ｅ０４１は、移動端末制御部Ｅ０５１に向けて、移動通知メッセージ（Ｊ１０）を送る。該移動通知メッセージは、移動端末Ｅ０４１から送出されるときはブロードキャストセルの形式であり、一旦無線ゾーン作成部＃１−１にて受け取られ、ＡＡＬ３のペイロード部分に該ブロードキャストセルが埋め込まれた形で再度セル化され、コネクションＩ０２を経由して移動端末制御部Ｅ０５１へと転送される（Ｊ１０’）。
【０２４５】
移動端末制御部Ｅ０５１は、移動通知メッセージを受け取ると、該移動通知メッセージによって、移動端末Ｅ０４１の存在する無線ゾーンを知り、（無線クラスタ間の移動が発生する等）必要があれば、コネクション設定要求（Ｊ１１）をコネクション設定部Ｇ０Ｄに対して送出する。この時要求されるコネクションは、新たに隣接無線クラスタとなった無線クラスタと移動端末制御部を接続するためのコネクションである。また、この時同時に、隣接無線クラスタでなくなった無線クラスタへのコネクションを解放する事にしても良い。必要なコネクション設定が終了すると、移動端末制御部Ｅ０５１は自分が含んでいるコピータグ付加部Ｈ０８及びＶＰＩ／ＶＣＩ書き換え部Ｈ０６が内蔵しているテーブルを、新たに設定したコネクションを上述したように連結するよう、書き換える。これによって、ハンドオーバ処理が終了した事になる。
【０２４６】
ハンドオーバ処理が終了すると、移動端末制御部Ｅ０５１はそのことを移動端末Ｅ０４１に通知すべく、移動通知応答メッセージ（Ｊ１２）をブロードキャストセルで作成し、該メッセージをＡＡＬ３によりセル化して送出する。該メッセージは一旦無線ゾーン作成部＃１−１で受け取られ、ブロードキャストセルの形式に組み立てられて、該無線ゾーン作成部の無線ゾーンに放送され、移動端末Ｅ０４１に渡される。
【０２４７】
なお、移動通知メッセージ（Ｊ１０）を送出してから移動通知応答メッセージ（Ｊ１２’）を受け取るまでの間の無線ゾーン／クラスタ間の移動に備えるために、この移動通知応答メッセージ（Ｊ１２）は、上述の移動サービス応答メッセージ（Ｊ０５）の場合と同様に、移動端末Ｅ０４１が存在する無線クラスタ及びその隣接クラスタ内の無線ゾーン作成部Ｅ０３ｉｊにコピーされて転送されても良い。
【０２４８】
移動端末がサービスの使用を終了するときは、移動端末がそのことをＡＴＭ通信網に通知する。この通知を受けると、移動端末制御部Ｅ０５１は、該移動端末が今まで使用していたコネクション、及び無線クラスタ間の移動の為に予め設定されているコネクションを解放する事になる。ここで、これらのコネクションの解放を上で述べたプロトコルと同様のプロトコルで実現できることは、当業者には明らかである。
【０２４９】
以上で、本発明に係る移動サービスを実現するハンドオーバ処理を実現する機能に関する説明を終了する。
【０２５０】
＜無線ゾーン作成部に割り当てられるＭＩＤの設定方法＞
なお、移動制御コネクション上での通信に使用される、無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）に割り当てられるＭＩＤの値は、移動制御コネクションが設定される前に予め保守者によって割り当てられているものとしても良いし、また以下のようにして移動制御コネクション設定時に各移動端末制御部Ｅ０５１が獲得するものとしても良い。
【０２５１】
本発明者が特願平５−３４９６３４にて示したＡＴＭ−ＬＡＮシステムを構成する機器と同様、本発明が適用される無線ゾーン作成部＃ｉ−ｊには、他のシステム構成機器と同一の番号空間でグローバルユニークなノード番号が製造時から付加されているものとする。また、移動制御コネクションに割り当てられる、無線ゾーン作成部とパッシブスター光分配器の間のＶＰＩ／ＶＣＩは、丁度ＡＴＭフォーラムのＵＮＩ標準におけるシグナリングＶＣＩと同様に予め定められているものとする。
【０２５２】
ＭＩＤ＝０をＭＩＤ獲得等の操作の為に予約する。各無線ゾーン作成部Ｅ０３ｉｊは、電源が投入されると、移動制御コネクションＩ０２に向けて、ＭＩＤ＝０のＭＩＤ獲得要求メッセージをコネクションＩ０１に送出する。ＭＩＤ＝０のメッセージは、単一のセルで転送できる長さに限定する事とする。これにより、ＭＩＤ＝０のメッセージがたとえ複数の無線ゾーン作成部＃ｉ−ｊ（Ｅ０３ｉｊ）にて同時にコネクションＩ０２に送出されたとしても、それぞれの無線ゾーン作成部の送出したメッセージを正常に移動端末制御部Ｅ０５１が受け取る事ができる。ＭＩＤ獲得要求メッセージは、該割り当て要求メッセージを送出した無線ゾーン作成部に割り当てられたノード番号を少なくとも含む。
【０２５３】
移動端末制御部Ｅ０５１は、ＭＩＤの割り当て状況を管理する表を持っている。コネクションＩ０２からＭＩＤ＝０のＭＩＤ獲得要求メッセージを受け取ると、移動端末制御部Ｅ０５１は、該ＭＩＤ割り当て表を参照して空いているＭＩＤを見つける。該空いているＭＩＤが該受け取ったＭＩＤ獲得要求メッセージ中のノード番号を持つ無線ゾーン作成部に割り当られる事になる。その後、前記ＭＩＤ獲得要求メッセージを送出した無線ゾーン作成部のノード番号及び該割り当てたＭＩＤを少なくとも含む、ＭＩＤ獲得応答メッセージを作成し、ＭＩＤ＝０のメッセージとして１：ｍのコネクションＩ０１に送出する。ＭＩＤ獲得応答メッセージも、単一セルによるメッセージであるとする。
【０２５４】
１：ｍのコネクションＩ０１により、前記ＭＩＤ獲得応答メッセージは、それぞれの無線ゾーン作成部Ｅ０３ｉｊに転送される。各無線ゾーン作成部Ｅ０３ｉｊは、前記ＭＩＤ獲得応答メッセージを受け取ると、その中に含まれるノード番号を参照し、自分宛であるか否か、判断する。該メッセージ中に含まれるノード番号が自分に割り当てられたものであれば、該メッセージが自分宛だと考え、該メッセージを取り込み、該メッセージ中に含まれているＭＩＤを用いて、以降の移動制御コネクション上での通信を行う。
【０２５５】
なお、ＭＩＤ獲得要求／応答メッセージが途中でビット誤り等で紛失してしまうと、移動端末制御部Ｅ０５１が管理しているＭＩＤ割り当て表と、実際に無線ゾーン作成部Ｅ０３ｉｊが持っているＭＩＤとが一致しないことが発生する。これを防ぐため、移動端末制御部Ｅ０５１が、ＭＩＤ確認要求メッセージを予め定められた時間間隔で送出し、該ＭＩＤ確認要求メッセージに、全ての移動端末制御部Ｅ０５１が応答する様なプロトコルを移動端末制御コネクション上に定義しても良い。これにも、ＭＩＤ獲得要求／応答メッセージ同様にＭＩＤ＝０の単一セルのメッセージを使用するのが望ましい。
【０２５６】
移動端末制御部Ｅ０５１は、予め定められた時間間隔で、もしくは何らかの障害の発生時に、ＭＩＤ確認要求メッセージをコネクションＩ０１に向かって送出する。コネクションＩ０１により、ひとつの無線クラスタに含まれる全ての無線ゾーン作成部Ｅ０３ｉｊが、該ＭＩＤ確認要求メッセージを受け取る事になる。各無線ゾーン作成部Ｅ０３ｉｊは、該ＭＩＤ確認要求メッセージを受け取ると、自分に割り当てられたノード番号と、自分に割り当てられたＭＩＤを少なくとも含む、ＭＩＤ確認応答メッセージを作成し、コネクションＩ０２に送出する。コネクションＩ０２により、全ての無線ゾーン作成部Ｅ０３ｉｊが送出したＭＩＤ確認応答メッセージが移動端末制御部Ｅ０５１に転送される。これによって、移動端末制御部Ｅ０５１は、一つの無線クラスタ中の全ての無線ゾーン作成部Ｅ０３ｉｊに割り当てたＭＩＤを知ることができるので、自分の管理しているＭＩＤ割り当て表と実際の割り当ての間に不整合が無いかを確認することができる。
【０２５７】
さらに、前記ＭＩＤ確認要求／応答メッセージでの結果として、管理している表との不整合があった場合、無線ゾーン作成部Ｅ０３ｉｊに対してＭＩＤの更新を移動端末制御部Ｅ０５１が要求する必要がある。これを実行するために、ＭＩＤ更新要求／応答メッセージをやはりＭＩＤ＝０の単一セルのメッセージとして移動制御コネクション上に定義するのが望ましい。
【０２５８】
ＭＩＤ更新要求メッセージは、不整合の発見された無線ゾーン作成部Ｅ０３ｉｊのノード番号と、該無線ゾーン作成部Ｅ０３ｉｊに割り当てられた、正しいＭＩＤを少なくとも含む。移動端末制御部Ｅ０５１は、不整合が発見されると、該ＭＩＤ更新要求メッセージを作成し、コネクションＩ０１に送出する。コネクションＩ０１の働きにより、該ＭＩＤ更新要求メッセージは、一つの無線クラスタに含まれる無線ゾーン作成部Ｅ０３ｉｊ全てに転送される。各無線ゾーン作成部Ｅ０３ｉｊは、該ＭＩＤ更新要求メッセージを受け取ると、該メッセージ中のノード番号と自分のノード番号を比較し、一致したならば、該メッセージに含まれるＭＩＤが割り当てられたものとして、それ以降のメッセージのセルへの分割及びメッセージの組立に使用するＭＩＤを変更する。ＭＩＤの変更が終わると、該無線ゾーン作成部Ｅ０３ｉｊは、ＭＩＤ更新応答メッセージを作成し、コネクションＩ０２を経由して移動端末制御部Ｅ０５１に渡す。
【０２５９】
＜ＭＩＤ操作メッセージのフォーマットについて＞
以上、ＭＩＤ＝０でコネクションＩ０１，Ｉ０２上で定義されるプロトコルについて説明したが、図２１に上述のプロトコルにて使用されるＭＩＤ操作メッセージの詳細なフォーマットの一例を示す。これは、ＩＴＵ−Ｔ標準で言うところのＡＡＬ３／４のＳＡＲ−ＰＤＵに、ＭＩＤ操作に必要な情報を埋め込んだ形式となっている。言うまでもなく、同図に示したフォーマット以外のフォーマットを考える事もできる。例えば、ＩＴＵ−Ｔ標準で言うところのＡＡＬ３／４のＣＰＣＳ−ＰＤＵに、ＭＩＤ操作に必要な情報を埋め込んだ形式としても良い。しかしながら、ＣＰＣＳヘッダは複数のセルからなるメッセージを正しく組み立てるために必要な情報からなっており、一方、ここではＭＩＤ操作をするために単一のセルからなるメッセージを考えているので、特にＣＰＣＳ−ＰＤＵを使用する必然性はない。
【０２６０】
図２１において、ＳＴフィールド（Ｋ０１）、ＳＮフィールド（Ｋ０２）、ＭＩＤフィールド（Ｋ０３）、ＬＩフィールド（Ｋ０４）、ＣＲＣフィールド（Ｋ０５）は、ＩＴＵ−Ｔ標準のＩ．３６３にて規定されているＡＡＬ３／４のＳＡＲレイヤプロトコルにて使用されるフィールドである。ＭＩＤ操作の為にＭＩＤ＝０が予約され、これらは単一のセルからなる単独セルであるので、セグメントタイプを示すＳＴフィールド（Ｋ０１）は１１、ＭＩＤフィールド（Ｋ０３）は全て０である。シーケンス番号を含むＳＮフィールド（Ｋ０２）、情報長を含むＬＩフィールド（Ｋ０４）、巡回符号検査ビットを含むＣＲＣフィールド（Ｋ０５）は、それぞれ、ＩＴＵ−Ｔ標準に従って使用される。
【０２６１】
ＳＡＲ−ＰＤＵの情報部には、先頭から以下に示す３つのフィールドがとられる。
【０２６２】
第１のフィールドは、ＭＩＤ＝０のＭＩＤ操作メッセージのタイプを示すＴＹＰＥフィールド（Ｋ０６）である。ここで示した例では６ビットの長さを持っている。ＴＹＰＥフィールド（Ｋ０６）の値によって、このメッセージが、ＭＩＤ獲得要求であるのか、ＭＩＤ獲得応答であるのか、ＭＩＤ確認要求であるのか、ＭＩＤ確認応答であるのか、ＭＩＤ更新要求であるのか、ＭＩＤ更新応答であるのか、が示される。
【０２６３】
第２のフィールドは、割り当てＭＩＤフィールド（Ｋ０７）である。このフィールドには、メッセージタイプによって、以下の様な情報が含まれる。
【０２６４】
ＭＩＤ獲得要求の場合：Ｄｏｎ’ｔ  ｃａｒｅ
ＭＩＤ獲得応答の場合：移動端末制御部によって割り当てられたＭＩＤ
ＭＩＤ確認要求の場合：Ｄｏｎ’ｔ  ｃａｒｅ
ＭＩＤ確認応答の場合：無線ゾーン作成部が保持しているＭＩＤ
ＭＩＤ更新要求の場合：移動端末制御部によって割り当てられたＭＩＤ
ＭＩＤ更新応答の場合：無線ゾーン作成部に登録されたＭＩＤ
第３のフィールドは、ノード番号フィールド（Ｋ０８）である。このフィールドには、メッセージタイプによって、以下の様な情報が含まれる。
【０２６５】
ＭＩＤ獲得要求の場合：  ＭＩＤを要求している無線ゾーン作成部のノード番号
ＭＩＤ獲得応答の場合：  ＭＩＤ割り当て対象の無線ゾーン作成部のノード番号
ＭＩＤ確認要求の場合：  ＭＩＤ確認を要求する無線ゾーン作成部のノード番号、もしくは本発明者による特願平５−３４９６３４の全端末同報アドレス。
【０２６６】
ＭＩＤ確認応答の場合：  ＭＩＤフィールドに書かれたＭＩＤを保持している無線ゾーン作成部のノード番号
ＭＩＤ更新要求の場合：  ＭＩＤ更新を要求する無線ゾーン作成部のノード番号
ＭＩＤ更新応答の場合：  ＭＩＤ更新が行われた無線ゾーン作成部のノード番号
本発明者による特願平５−３４９６３４に述べられたノード番号は、端末内でのプロセス識別子を含み、全部で１２バイトある。割り当てＭＩＤフィールドが１０ビットであるので、ＳＡＲ−ＰＤＵの情報部として３０バイト余ることになる。この余りの部分で、特願平５−３４９６３４に示されたブロードキャストセルの持つその他の制御情報を転送する様にしてもよい。
【０２６７】
以上で、ＭＩＤ割り当てのプロトコルに関する説明を終わる。
【０２６８】
＜移動端末制御部の暗号化機能について＞
移動端末制御部Ｅ０５１の説明の最後に、再度、図２２を参照しながら、移動端末制御部Ｅ０５１の持つ暗号化機能を詳細に説明する。
【０２６９】
今まで述べてきたように、本発明による移動サービス提供法では、移動端末が受け取る情報が該移動端末の存在する無線クラスタ、並びに隣接無線クラスタの全ての無線ゾーンに放送される事になる。この為、自分の通信の内容が他人に漏れない様に、即ち通信の秘匿性を守るために、暗号化の機能が必須になる。図２２に示した移動端末制御部Ｈ０５１の構成のうち、ペイロード暗号化部Ｈ０２、ペイロード復号化部Ｈ０３および加入者暗号キーテーブルＨ０４がその暗号化機能を実現する。
【０２７０】
物理レイヤ部Ｈ０１がＡＴＭ交換機とやりとりするセル流中には、ユーザ−ユーザ間でやりとりされるセルの他に、例えば図２４で述べた移動サービス要求メッセージ等の制御メッセージが含まれる。通信の秘匿性という観点からは、ユーザ−ユーザ間でやりとりされるセルのペイロード部分に対して暗号化を行って無線ゾーンでの放送を行うのが望ましい。制御メッセージに関しては、ユーザ単位に暗号化を行うと、復号するときに復号に必要な暗号キーが分からないので、全ての制御メッセージに一つの暗号キーを用いて暗号化を行う事になる。しかしながら、全ての制御メッセージに同一の暗号キーで暗号化を行う事は、即ち、全ての端末でそれらの制御メッセージが復号可能ということで、暗号化する意味は薄い。
【０２７１】
また、ユーザ−ユーザ間でやりとりされるセルには、無線クラスタへ転送されて無線ゾーンで放送されるセルと、無線ゾーンで放送されない、有線通信にて相手端末まで導かれるセルが含まれている。有線通信にて相手端末まで導かれるセルは、勿論、暗号化を行っても構わないが、悪意のユーザに受信される事が無いと考えれば、この種のセルには暗号化を行う必要がない。
【０２７２】
今まで述べてきたように、移動端末制御部Ｅ０５１とＡＴＭ交換機との間には、移動端末制御部Ｅ０５１と無線クラスタの間のコネクション、移動端末制御部Ｅ０５１と通信相手とのコネクション、さらに移動制御コネクションが設定され、それぞれは移動端末制御部Ｅ０５１とＡＴＭ交換機との間におけるＶＰＩ／ＶＣＩにて識別される。即ち、暗号化がなされているか否か、もしくは暗号化を行うか否かは、それぞれのセルのＶＰＩ／ＶＣＩを参照すれば判断する事ができる。移動端末制御部Ｅ０５１に入力されるセルで暗号化されているものは、ペイロード復号化部Ｈ０３で一旦復号化され、移動端末制御部Ｅ０５１内部での処理を受ける。移動端末制御部Ｅ０５１内部での処理を受けた後、物理レイヤ部Ｈ０１に転送されるとき、ペイロード暗号化部で暗号化の必要なセルについて暗号化が行われる。このように、入力セル流に対してＶＰＩ／ＶＣＩにて復号化を行うか否かを制御し、また出力セル流に対してＶＰＩ／ＶＣＩにて暗号化を行うか否かを制御することで、暗号化の必要な端末から暗号化の不要な端末へ、もしくは暗号化の不要な端末から暗号化の必要な端末へ、もしくは暗号化の必要な端末から暗号化の必要な端末へ、のコネクションの連結を自由に行うことが可能になる。加入者暗号キーテーブルＨ０４には、移動端末制御部Ｅ０５１にて扱われているコネクションそれぞれに対し、そのコネクションに属するセルのペイロード部分が暗号化されているか否か、もしくは、暗号化を行うか否か、を示す情報、並びに、暗号化されているか、もしくは、暗号化を行うならば、その復号化や暗号化に必要な暗号キーが保持されている。
【０２７３】
いわゆる慣用暗号として良く知られている様に、それぞれのセルのペイロード毎に独立に暗号化／復号化を行うことの可能な、暗号化と復号化で共通なキーを使用する暗号アルゴリズムが知られている。このアルゴリズムをペイロードに施す事によって、暗号化されたペイロードの長さが変化する事はない。このような暗号アルゴリズムがペイロード暗号化部Ｈ０２、ペイロード復号化部Ｈ０３での使用に好適である。
【０２７４】
移動端末サービスを提供するコネクションで、暗号化の必要なコネクションを設定する際、移動端末制御部Ｅ０５１の制御プロセッサＨ０９は、コネクション設定を要求した加入者毎に予め該制御プロセッサＨ０９に登録されている暗号キーを、加入者暗号キーテーブルＨ０４の、該設定されたコネクションのＶＰＩ／ＶＣＩに対応するエントリに書き込む。
【０２７５】
制御セル分岐／挿入部Ｈ０５から物理レイヤ部Ｈ０１へは、ペイロード暗号化部Ｈ０２を経由してセルが渡される。この時、ペイロード暗号化部Ｈ０２は入力されたセルのＶＰＩ／ＶＣＩを用いて、加入者暗号キーテーブルＨ０４を参照する。暗号化の必要なコネクションに属するセルであれば、加入者暗号キーテーブルＨ０４に暗号キーが登録されており、該暗号キーを加入者暗号キーテーブルＨ０４がペイロード暗号化部Ｈ０２に出力する。ペイロード暗号化部Ｈ０２は、得た暗号キーを用いて、該セルのペイロード部分を暗号化し、物理レイヤ部Ｈ０１に渡す。
【０２７６】
一方、物理レイヤ部Ｈ０１からセルを受け取ると、ペイロード復号化部Ｈ０３は入力されたセルのＶＰＩ／ＶＣＩを用いて、加入者暗号キーテーブルＨ０４を参照する。暗号化のなされているコネクションに属するセルであれば、加入者暗号キーテーブルＨ０４に暗号キーが登録されており、該暗号キーを加入者暗号キーテーブルＨ０４がペイロード復号化部Ｈ０３に出力する。ペイロード復号化部Ｈ０３は、得た暗号キーを用いて該セルのペイロード部分を暗号化し、制御セル分岐／挿入部Ｈ０５に渡す。
【０２７７】
以上の動作により、必要なコネクションのみ選択したペイロード部分の暗号化が実現できることになる。移動端末制御部Ｅ０５１は、比較的多数のコネクションを扱う事になるため、この暗号化／復号化を実行には比較的大きな計算量が要求される。図２２に示した移動端末制御部Ｅ０５１の構成は、このを考慮して暗号化／復号化をパイプライン化されたハードウェアにより実現することのできる構成となっている。
【０２７８】
それぞれのコネクションと暗号キーとの関係付けは、図２４中に示した移動サービス要求メッセージ送出時に、該移動サービス要求メッセージ中に加入者に割り当てられた番号を含ませる事で行う事ができる。この加入者に割り当てられた番号と、加入者が移動サービスへの加入時に登録した暗号キーの対応表を移動端末制御部Ｅ０５１が保持しておき、コネクション設定の結果設定されたコネクションのＶＰＩ／ＶＣＩに対応する、加入者暗号キーテーブルに、該対応表から暗号キーを書き込む様にすれば良い。なお、移動端末Ｅ０４１を使用する加入者を唯一人と仮定する、もしくは、移動端末Ｅ０４１に対する課金が唯一人の加入者である、という仮定をおき、かつ、本発明者による特願平５−３４９６３４に開示した移動端末収容法に従って、移動端末Ｅ０４１にノード番号が与えられているならば、該ノード番号を加入者番号と見なすことも可能である。
【０２７９】
なお、移動端末Ｅ０４１の構成としては、例えば本発明者が特願平５−３４９６３４にて開示した移動端末の構成であっても良い。ただし、特願平５−３４９６３４にて開示された移動端末は企業網内部で使用されることを前提としているため、セルのペイロード部分に対する暗号化／復号化機能は持っていない。ここで述べている移動端末サービスに使用するためには、移動端末制御部Ｅ０５１にて実行される暗号化／復号化機能に対応する機能を該移動端末Ｅ０４１が持つ必要がある。しかしながら、移動端末側の暗号化／復号化機能は、自分の受け取るセルのみに対して実行すれば良いため、大きなスループットは特に要求されない。この為、特に専用のハードウェアを持つ必要はなく、例えば、特願平５−３４９６３４にて開示した移動端末のプロセッサ上で動作するソフトウェアとして実現してもかまわない。この暗号化／復号化に必要になる暗号キーは、ＣＡＴＶ網にて移動端末サービスを受ける際に、例えば郵便等で加入者に通知される事にしても良いし、加入者がＣＡＴＶ事業者の事業所の窓口で端末に登録してもらうようにしてもよい。
【０２８０】
以上で、移動端末制御部Ｅ０５１に関する詳細な説明を終わる。
【０２８１】
＜ＣＡＴＶ網上での簡易移動端末サービスについての補足説明＞
本発明による移動端末サービス提供法の場合、移動端末が移動するにつれて該移動端末に割り当てられたコネクションが同一のＶＰＩ／ＶＣＩ値をもってＡＴＭ通信網の内部を移動してゆくことになる。これは、複数のインタフェース点に渡って一つの端末に同一のＶＰＩ／ＶＣＩを割り当てていること、即ちＡＴＭレイヤでの端末識別子としてＶＰＩ／ＶＣＩを使用している事に等しい。移動端末を一つのマイグレート対象のプロセスであると見なした場合、第１のアプリケーションではマイグレート対象のプロセスが同一のＶＰＩ／ＶＣＩを使用して網にアクセスし、これらのプロセスの識別にＭＩＤを使用していたのに対し、第２のアプリケーションの場合はマイグレート対象の一つのプロセスが一つのＶＰＩ／ＶＣＩを用いて網にアクセスしていることになる。
【０２８２】
移動先で、該移動端末に割り当てられたＶＰＩ／ＶＣＩが他の通信の為に既に使用されていた場合、その元々通信を行っていたコネクションのＶＰＩ／ＶＣＩを変更するか、もしくは端末の使用するＶＰＩ／ＶＣＩを変更する必要がある。これはどちらも、通信プロトコルを複雑にしてしまう。よって、本発明を適用するＡＴＭ通信網では、移動端末サービスに対して予めＶＰＩ／ＶＣＩの領域を割り当てておき、該ＶＰＩ／ＶＣＩの領域中から、使用されていないＶＰＩ／ＶＣＩを新しく移動端末サービスを受け始める端末に割り当てる様にするのが望ましい。これは、例えば、移動端末サービスに対して予めＶＰＩのみ割り当てておき、そのＶＰ中のＶＣＩを順次割り当ててゆくといった事でより単純に実現が可能になる。このような処理が、図２０に示したプロセスＩＤ割り当て部Ｇ０Ｅにおいて実行されることになる。
【０２８３】
また、本発明による簡易移動端末サービスの場合、各移動端末は無線ゾーンを移動する度に、無線ゾーン作成部の送出するゾーン通知メッセージに対応して移動通知メッセージを送出するので、それぞれの移動端末がどの無線ゾーンに位置するかをリアルタイムに知ることができる。この性質を使うと、例えばため池など、ＣＡＴＶ網がサービスを行う地域中に存在する危険な場所に無線ゾーンを設置し、移動端末制御部に、無線ゾーンの番号と該無線ゾーンが危険であるか否かを示す情報の対応表を保持しておき、ある移動端末が、該対応表で危険であると指定された無線ゾーンに入った場合は、予め定められた移動端末もしくは固定端末にその事を通知する、といった事が可能になる。これにより、上述した様に、親が子供に移動端末を持たせ、該子供が前記危険個所に近づいた時に親の持っている移動端末もしくはリビングルームにある端末から警報を発するといった、加入者にとって非常に便利なサービスを実現することも可能である。
【０２８４】
前述したように、移動端末制御部Ｅ０５１はコネクション設定部Ｇ０Ｄの助けにより特殊サービスを実現する一種の固定端末である。このため、移動端末制御部Ｅ０５１とコネクション設定部Ｇ０５Ｄの間にＡＴＭコネクションが設定されなければならないことは言うまでもない。このＡＴＭコネクションは、Ｑ．２９３１等で定義されている、いわゆるシグナリングＶＣであってもよいし、また本発明者が特願平５−３４９６３４で示したブロードキャストチャネルであってもよい。
【０２８５】
以上で、本発明を適用する第２のアプリケーションである、ＣＡＴＶ網上での簡易移動端末サービスに関する説明を終わる。
【０２８６】
（実施例５）
本実施例では、本発明を適用する第３のアプリケーションであるＡＴＭ−ＬＡＮ上でのＣＬＳＦ（コネクションレスファンクション）サービスの負荷分散法について説明する。
【０２８７】
本発明者が特願平６−１４０２２３にて開示した様に、一つのＡＴＭ−ＬＡＮ上で複数のＣＬＳＦプロセスを持ち、それぞれの端末がコネクションレスサービスの提供を受けるＣＬＳＦプロセスを変化させるのは、コネクションレスサービスの負荷分散という観点から望ましい。この方式に本発明を適用すると、例えばＣＬＳＦプロセスの実行されている端末が何らかの原因で故障し、コネクションレスサービスの提供が不可能になったとしても、新たな端末上で新たなＣＬＳＦプロセスを網管理者の関与無しに自動的に起動し、コネクションレスサービスの継続した提供を行う事ができるようになる。
【０２８８】
図２６に、一つのＡＴＭ−ＬＡＮの中で本発明を適用してＣＬＳＦの負荷分散を行う様子を示す。同図に示した例では、ユーザプロセス＃１〜＃５（Ｌ０８１〜Ｌ０８５）が二つのＣＬＳＦプロセス＃１（Ｌ０５１），＃２（Ｌ０５２）からＣＬＳＦサービスの提供を受けている状態が図示されている。煩雑化を避けるにため、同図にはＣＬＳＦプロセス（Ｌ０５ｉ）やその他のユーザプロセス（Ｌ０８ｊ）を実行する端末、及びこれらの端末を接続するための物理リンクやハブ（ＡＴＭ−ＬＡＮを構成する簡易版ＡＴＭ交換機）は図示されていない。
【０２８９】
同図では、本発明者による特願平５−３４９６３４にて開示された、端末上のコネクション設定プロセスからＡＴＭ−ＬＡＮのハブ中のルーティングタグテーブルを設定する事でコネクション設定を行う形式のＡＴＭ−ＬＡＮに本発明を適用する場合が示されている。この為、コネクション設定プロセスＬ０６が上位のＡＴＭ通信網Ｌ０１とシグナリングＶＣ（Ｌ０４）にて接続されている。
【０２９０】
ユーザプロセス＃ｊ（Ｌ０８ｊ）は、それぞれ本発明者が特願平６−１４０２２３にて開示した手法によって二つのＣＬＳＦプロセス＃１（Ｌ０５１），＃２（Ｌ０５２）のどちらかを選択してＣＬＳＦサービスの提供を受けている。ＣＬＳＦサービスの提供を受けるために、それぞれのユーザープロセス＃ｊ（Ｌ０８ｊ）は、それぞれコネクションＬ０７ｊによりＣＬＳＦプロセスＬ０５ｉと接続されている。異なるＣＬＳＦプロセスに接続されている端末間でメッセージをやりとりするため、また、それぞれのＣＬＳＦプロセス間で必要な情報をやりとりするため、ｎ：ｎの双方向ＡＴＭコネクションＬ０９が設定されている。
【０２９１】
本ＡＴＭ−ＬＡＮでは、コネクションレスサービスの窓口として、Ｅ．１６４アドレスが割り当てられているものとする。上位のＡＴＭ通信網Ｌ０１を経由したコネクションレスサービスは、上位のＡＴＭ通信網を経由する、他のＡＴＭ−ＬＡＮとのコネクションを設定し、それぞれのＡＴＭ−ＬＡＮ中のＣＬＳＦプロセスが該コネクションを経由して通信を行うことにより提供される。このＥ．１６４アドレスは、上位のＡＴＭ通信網を経由したコネクションの設定をコネクション設定プロセスＬ０６が要求するか、もしくは他のＡＴＭ−ＬＡＮからのコネクション設定にコネクション設定プロセスＬ０６が対応する為に使用される。他のＡＴＭ−ＬＡＮのＣＬＳＦプロセスと通信を行う為に、ｍ：ｎの単方向ＡＴＭコネクションＬ０２と、ｎ：ｍの単方向ＡＴＭコネクションＬ０３が設定されている。
【０２９２】
図２６に示した例で、本発明が適用されているのはＣＬＳＦプロセスＬ０５ｉ間のコネクションＬ０９と、ＣＬＳＦプロセスＬ０５ｉと上位のＡＴＭ通信網の間のコネクションＬ０２，Ｌ０３である。これらのコネクションは、ＣＬＳＦプロセスを実行する“場”となる端末に対して、コネクション設定プロセスＬ０６によってＣＬＳＦサービス提供開始時に設定されている。これらのコネクションの端点を識別するためのＶＰＩ／ＶＣＩは、ＣＬＳＦプロセスの負荷分散の為に予め割り当てられた値とする。これらのコネクションの端点である所のＣＬＳＦプロセスを実行する“場”である端末は、ＡＴＭ−ＬＡＮの管理者が予めコネクション設定プロセスＬ０６に設定することで指定されても良いし、また本発明者が特願平５−３４９６３４にて開示したコネクション設定プロセスからの構成認識時に、各端末が自分のＯＳのバージョンや、機器種別を示す情報をコネクション設定プロセスＬ０６に通知し、該通知された情報を元にコネクション設定プロセスＬ０６が選択するようにしても良い。コネクション設定プロセスによるＣＬＳＦプロセス実行の“場”である端末の選択は、例えば、前記通知された情報が予め定められた条件（例えばＯＳのバージョン番号が予め定められた値より大きい、等）を満たす端末を選択することで実行されても良い。また、各端末が外部に対して提供するサービスの表を持っており、その表中にＣＬＳＦサービス提供を許す設定がされている場合に、各端末がコネクション設定プロセスＬ０６にその事を通知するようにして、ＣＬＳＦサービスの“場”となる端末をコネクション設定プロセスＬ０６に認識させる事も可能である。
【０２９３】
ＡＴＭ−ＬＡＮ内にＣＬＳＦサービスを提供するためのコネクションＬ０９、およびＡＴＭ−ＬＡＮ間にＣＬＳＦサービスを提供するためのコネクションＬ０２，Ｌ０３のそれぞれの端末における端点のＶＰＩ／ＶＣＩは、それぞれ異なる値を持っているものとする。例えば、ＡＴＭ−ＬＡＮ内でＣＬＳＦサービスを提供する為に設定されるコネクションＬ０９は、（ＶＰＩ，ＶＣＩ）＝（０，２５６）にて端末とハブの間の物理リンクで識別され、ＡＴＭ−ＬＡＮ間のＣＬＳＦサービスの為に設定されるコネクションＬ０２，Ｌ０３は、（ＶＰＩ，ＶＣＩ）＝（０，２５７）にて識別される、といった如くに予め定めておく。
【０２９４】
以下、図２６に示した構成において、ＡＴＭ−ＬＡＮ内部のコネクションレスサービスの負荷分散法、及びＡＴＭ−ＬＡＮ間のコネクションレスサービス提供法、ＣＬＳＦプロセスのマイグレーション法を順に説明してゆく。
【０２９５】
＜ＡＴＭ−ＬＡＮ内部のＣＬＳＦの負荷分散法について＞
まず、ＡＴＭ−ＬＡＮ内部のコネクションレスサービスの負荷分散法を説明する。ＡＴＭ−ＬＡＮ内部のコネクションレスサービスの負荷分散は、ｎ：ｎの双方向ＡＴＭコネクションＬ０９にて提供される。
【０２９６】
各ＣＬＳＦプロセスＬ０５ｉは、ｎ：ｎの双方向ＡＴＭコネクションＬ０９にメッセージを送出する時のＭＩＤをそれぞれ固有に持っており、該ＭＩＤによって、メッセージ受信側で、該ＡＴＭコネクションＬ０９にメッセージを送出するＣＬＳＦプロセスを識別し、メッセージの組立を行う。これと同時に、該ＭＩＤを用いて、それぞれのＣＬＳＦプロセスＬ０５ｉがサービスを提供しているユーザプロセスＬ０８ｊに割り当てられたレイヤ３アドレスをお互いに管理し、コネクションレスメッセージのルーティングを行う。このように各ＣＬＳＦプロセスＬ０５ｉ間で通信を行いながらＣＬＳＦサービスを提供するためには、それぞれのＣＬＳＦプロセスにコネクションＬ０９上で使用されるＭＩＤを割り当てなければならない。実際にＣＬＳＦプロセスＬ０５ｉ間で行われる通信について詳細に説明する前に、まず、各ＣＬＳＦプロセスＬ０５ｉにＭＩＤを割り当てる方法について説明する。
【０２９７】
各ＣＬＳＦプロセスＬ０５ｉに割り当てられるＭＩＤは、起動時にＡＴＭ−ＬＡＮの管理者が割り当てる事にしても良い。この場合、確実に割り当ての一貫性を保証しながら各ＣＬＳＦプロセスＬ０５ｉへのＭＩＤ割り当てを実行する事が可能であるが、ＡＴＭ−ＬＡＮの管理者がＭＩＤ割り当てに関与する事になるので、自動的にＣＬＳＦプロセスＬ０５ｉの起動やマイグレーションを行う事ができなくなる。一方で、現在のイーサネット上のコネクションレス通信はいわゆるベストエフォート、即ち網がその確実な転送を最大限確保するよう努力する、言い換えれば、少々のメッセージ廃棄は許容される、といったＱｏＳにて実現されているので、イーサネット上のアプリケーションを最小限の変更で実現しようとするコネクションレスサービスにおいても、ベストエフォートが実現できれば良いと考えると、以下のようなＣＬＳＦプロセス間の通信によりＭＩＤを順に割り当ててゆく手法が適用できる。
【０２９８】
第２のアプリケーションにおけるＭＩＤ割り当てでは、移動端末制御機能というＭＩＤを集中管理する機能が存在していたので、ＭＩＤを使用したいプロセス（第２のアプリケーションにおける無線ゾーン作成機能）は、該ＭＩＤを管理する機能に問い合わせを行えばＭＩＤを得ることができたが、ここでは、このようなＭＩＤ集中管理機能は存在しないものとしている。これは、前述した第２のアプリケーションにおける移動端末制御機能はＣＡＴＶ網側の機能であり、ＣＡＴＶ網の運用者が管理するので比較的信頼性が高いと考えられるのに対し、ここで説明しているアプリケーションの場合は、コネクション設定プロセス、ＣＬＳＦプロセス共、ユーザの管理している端末上にて実行されるため、いつ、どのプロセスの実行が停止するか分からない事を考慮した結果である。集中して資源を管理するプロセスを仮定すると、そのプロセスがシステム全体の信頼性を決める要因になるが、ここで説明しているアプリケーションの如くに、それぞれのプロセスの信頼性が同等であると考えられるアプリケーションにて使用すると、その集中して資源管理するプロセスが停止する可能性が他のプロセスと同等であり、システム全体が停止してしまう確率が上昇してしまう、といった好ましくない事態が生じる。ただし、この事態を許容するのであれば、例えばコネクション設定プロセスと、ＣＬＳＦプロセス実行の“場”である端末との間に必要なコネクションを設定し、かつコネクション設定プロセスがＭＩＤを管理することで、第２のアプリケーションで説明した如くに各ＣＬＳＦプロセスにＭＩＤを割り当ててゆくことも可能である。
【０２９９】
以下説明してゆくＭＩＤ割り当てアルゴリズムでも、第２のアプリケーションにて説明したＭＩＤ＝０の単一セルによるＭＩＤ操作メッセージを使用するが、ここで述べる方法は、上述した様にＭＩＤの管理方法が異なるため、第２のアプリケーションにて使用した種別のメッセージの他に、新しい種別のメッセージが使用される事になる。すなわち、図２０で示したＭＩＤ操作メッセージのＴＹＰＥフィールドの値が新しい種別のメッセージに割り当てられる事になる。なお、このＭＩＤ＝０のＭＩＤ操作メッセージは、第２のアプリケーションで説明したように、単一セルによるメッセージであるため、複数の端末が同時に同一ＭＩＤで送出しても、受信側で正常にメッセージとして認識可能である事に注意が必要である。
【０３００】
各ＣＬＳＦプロセスＬ０５ｉは、ＭＩＤが割り当てられていない状態で起動される。ただし、ＣＬＳＦサービスを実現するためのコネクションＬ０９を識別するためのＶＰＩ／ＶＣＩの値は起動時から知っているものとする。この時、コネクションＬ０９にて接続されているＣＬＳＦプロセスＬ０５ｉに中には、既にＭＩＤを獲得しているものと、まだＭＩＤを獲得していないものがある。
【０３０１】
コネクションＬ０９にメッセージを送出するＣＬＳＦプロセスＬ０５ｉで、既にＭＩＤを獲得しているプロセスは、ＭＩＤ＝０のＭＩＤ操作メッセージの一種として定義された使用ＭＩＤ通知メッセージを予め定められた時間間隔、例えば１秒間隔にてコネクションＬ０９に送出している。使用ＭＩＤ通知メッセージは、その割り当てＭＩＤフィールドＫ０７に自分が使用しているＭＩＤを、また、そのノード番号フィールドＫ０８に自分が実行されている端末のノード番号を含んでいる。
【０３０２】
ＭＩＤを獲得していないＣＬＳＦプロセスは、起動されると、ＭＩＤが割り当てられたＣＬＳＦプロセスと同様、予め定められた時間間隔で使用ＭＩＤ通知メッセージを送出する。この時の使用ＭＩＤ通知メッセージのノード番号フィールドＫ０８には、該メッセージを送出するＣＬＳＦプロセスが実行されている端末のノード番号が含まれるのは上と同様であるが、割り当てＭＩＤフィールドＫ０７については、割り当てを受けていない事を示す値が書き込まれる。ＭＩＤ＝０がＭＩＤ操作メッセージに割り当てられているので、ＭＩＤ＝０にて割り当てを受けていないことを表示する事にすれば、ＭＩＤ空間を有効に利用できる。
【０３０３】
それぞれの使用ＭＩＤ通知メッセージは、コネクションＬ０９の働きにより、それぞれのＣＬＳＦプロセスＬ０５ｉに転送される。よって、それぞれのＣＬＳＦプロセスＬ０５ｉは、使用ＭＩＤ通知メッセージの送出時間間隔の例えば３倍程度の時間、コネクションＬ０９から渡される使用ＭＩＤ通知メッセージを受信していれば、その時に該コネクションＬ０９上で使用されているＭＩＤの表を得ることができる。さらに、ＭＩＤが割り当てられていないＣＬＳＦプロセスの存在している端末のノード番号を知る事ができる。
【０３０４】
ＭＩＤを持っていないＣＬＳＦプロセスは、自分が獲得した使用されているＭＩＤの表を参照して、余っているＭＩＤの中からの自分が使用するＭＩＤを選択する。唯一のＣＬＳＦプロセスのみが新たにＭＩＤを獲得する場合はこれでＭＩＤの割り当てが終了することになるが、この場合は、ＡＴＭ−ＬＡＮの立ち上げ時にＣＬＳＦプロセスを順次立ち上げてゆく必要があり、ＡＴＭ−ＬＡＮ立ち上げに時間がかかる、また、障害発生時の復旧手順が複雑になる、等の問題点がある。これらの問題点を解決する為に、同時に複数のＣＬＳＦプロセスが新しいＭＩＤを獲得する事を許すことにする。このように同時に複数のＣＬＳＦプロセスが新しいＭＩＤを獲得する事を許すことにすると、複数のＣＬＳＦプロセス間で使用するＭＩＤが衝突する可能性がある。
【０３０５】
複数のＣＬＳＦプロセス間でのＭＩＤ衝突を検出し、この状態を解決するために、以降、以下のような手順が実行される。
【０３０６】
新たにＭＩＤを獲得したＣＬＳＦプロセスは、該ＭＩＤでの通信を始める前に予め定められた時間待って、その間にコネクションＬ０９への上述の使用ＭＩＤ通知メッセージの送信と該コネクションからの該メッセージの受信を再度行い、ＭＩＤ使用状況の表を更新する。この時、自分が送出する使用ＭＩＤ通知メッセージの割り当てＭＩＤフィールドＫ０７には、自分が新たに使用しようとするＭＩＤを含ませる。
【０３０７】
予め定められた時間の後に更新されたＭＩＤ使用状況の表を参照し、他のＣＬＳＦプロセスが自分が使用しようとするＭＩＤを使用しようとしていないことが分かれば、該ＭＩＤを使用した通信を開始する。一方で、更新された表を参照した結果、少なくとも一つの他のＣＬＳＦプロセスが自分が使用しようとするＭＩＤを使用しようとしている事が分かれば、次に該衝突しているＣＬＳＦプロセスが実行されている端末のノード番号と、自分を実行している端末のノード番号を比較する。もし、自分が実行されている端末のノード番号が同一のＭＩＤを使用しようとしているＣＬＳＦプロセスが実行されている端末のノード番号中で最も小さければ、そのＭＩＤを使用した通信を開始する。そうでなければ、再度使用されていないＭＩＤを選択し、そのＭＩＤが衝突を起こしていないか確認する手順を再度実行する。
【０３０８】
以上の手順により、ＭＩＤに関して衝突が発生している事を検出し、かつ、ＭＩＤが衝突したならば再度ＭＩＤ獲得する手順を実行できる事になる。この手順を全てのＣＬＳＦプロセスが実行することで、それぞれのＣＬＳＦプロセスに一意なＭＩＤを割り当てる事ができることになる。この手順は、ノード番号が製造時に全ての端末に一意に割り当てられている事を利用した手順であることに注意が必要である。
【０３０９】
以上で、各ＣＬＳＦプロセスＬ０５ｉにＭＩＤが割り当てられたので、各ＣＬＳＦプロセスＬ０５ｉが、コネクションＬ０９を通じてメッセージの送受信をできるようになる。各ＣＬＳＦプロセスＬ０５ｉは、コネクションＬ０９にメッセージを送出するときには該獲得したＭＩＤを用いて該メッセージをセルに分割する。一方、それぞれのＣＬＳＦプロセスＬ０５ｉは、それぞれのセルのＭＩＤを参照してメッセージを組み立てる事になる。
【０３１０】
なお、ノード番号が製造時に各端末に一意に割り当てられている事を利用すると、新しいＭＩＤを獲得する時に、何らかの関数でノード番号をＭＩＤのビット長まで圧縮し、該圧縮された値に最も近い、空いているＭＩＤを使用することにするといった、いわゆるハッシュ法をＭＩＤ獲得に応用することも可能である。これにより、複数の端末で同時に同一のＭＩＤを使用しようとする確率を低下させることができ、より効率的にＭＩＤ割り当てが実行可能になる。ここで、何らかの関数とは、例えば、ノード番号１２オクテットの内、上位１０オクテットの、各オクテット毎の偶数もしくは奇数パリティを計算し、その計１０ビットのパリティビットを出力するようなものであっても良いし、また、ノード番号１２オクテットの内の予め定められた１０ビットを単に切り出すようなものであっても良い。本発明者が特願平５−３４９６３４にて示したノード番号は、上位１０オクテットが製造時に各機器に割り当てられた番号で、下位２オクテットが、端末内のブロードキャストセルのルーティングに使用される、端末内部で一意なプロセス番号であることに注意して、この関数を作成する必要があることに注意が必要である。
【０３１１】
また、もし一つの端末で複数のＣＬＳＦプロセスを実行するのであれば、その時には、ノード番号の他にプロセス番号まで含めて衝突発生時にどのプロセスが衝突の発生しているＭＩＤを使用するか決定するための比較を行う事になる。
【０３１２】
以上で、各ＣＬＳＦプロセスＬ０５ｉがコネクションＬ０９上で使用するＭＩＤ割り当ての方法の説明を終わる。
【０３１３】
＜ＣＬＳＦ間での通信について＞
次に、コネクションレスサービスを提供するため、それぞれのＣＬＳＦプロセスＬ０５ｉ間で行われる通信について説明する。
【０３１４】
各ＣＬＳＦプロセスＬ０５ｉは、コネクションＬ０９を通じて、ユーザプロセスＬ０８ｊから受け取ったメッセージで他のＣＬＳＦプロセスが収容しているユーザプロセスに向かうメッセージを、お互いにやりとりする。この為、それぞれのＣＬＳＦプロセスＬ０５ｉが収容しているユーザプロセスＬ０８ｊに割り当てられたレイヤ３アドレス、ＩＰアドレス、Ｅ．１６４アドレス等をコネクションＬ０９を用いて互いに通知し合っている。上で述べたＭＩＤ獲得手順により割り当てられたＭＩＤは、それぞれのＣＬＳＦプロセスＬ０５ｉで一意となるため、該ＭＩＤがコネクションＬ０９上における、ＣＬＳＦプロセスＬ０５ｉの識別子として使用可能であることに注意が必要である。
【０３１５】
本発明者が特願平６−１４０２２３にて開示した、ＣＬＳＦプロセスＬ０５ｉへのユーザプロセスＬ０８ｊの接続手法によると、ユーザプロセスＬ０８ｊはその時負荷の最も小さなＣＬＳＦプロセスを選択して、該ＣＬＳＦプロセスと自分との間のコネクション設定をコネクション設定プロセスＬ０６に要求し、コネクション設定プロセスＬ０６によりコネクションが設定された後、自分に割り当てられたレイヤ３アドレスを該設定されたコネクションを用いて通知する事としている。各ＣＬＳＦプロセスＬ０５ｉは、前記通知された情報を基に、自分がＣＬＳＦサービスを提供しているユーザプロセスＬ０８ｊのレイヤ３アドレスのリストを維持している。それぞれのＣＬＳＦプロセスＬ０５ｉは、予め定められた時間間隔（例えば、新たにユーザプロセスＬ０８ｊからのレイヤ３アドレス登録が行われた時、かつ、１時間に一回）毎に、コネクションＬ０９に対して、このレイヤ３アドレスのリストをレイヤ３アドレス通知メッセージとして放送する。このレイヤ３アドレス通知メッセージは一般的に１セルには収まらない長さとなる。このメッセージをセル化する為に、上で述べた手順に従って割り当てられたＭＩＤを使用することはいうまでもない。
【０３１６】
一方、それぞれのＣＬＳＦプロセスＬ０５ｉは、コネクションＬ０９に対して他人が送出したレイヤ３アドレス通知メッセージを組み立て、自分以外のそれぞれのＣＬＳＦプロセスがサービスを提供しているユーザプロセスのレイヤ３アドレスも、自分がサービスを提供しているユーザプロセスのレイヤ３アドレス同様、保持しておく。どのＣＬＳＦプロセスがどのレイヤ３アドレスに対してサービスしているかは、組立時に使用したＭＩＤにて識別することが可能である。即ち、コネクションＬ０９に接続された全てのＣＬＳＦプロセスに関して、該ＣＬＳＦプロセスが使用しているＭＩＤと該ＣＬＳＦプロセスがサービスを提供しているレイヤ３アドレスの対応関係を示す表を、それぞれのＣＬＳＦプロセスが保持しておくことになる。ここで、例えば、レイヤ３アドレスを入力するハッシュ関数によりこの表を参照可能な様に構成すると、受信したコネクションレスメッセージの処理が効率的になる。これにより、コネクションＬ０９により接続されているそれぞれのＣＬＳＦプロセスＬ０５ｉが、コネクションＬ０９により到達できる範囲でサービスされているレイヤ３アドレスを互いに知ることができるようになる。
【０３１７】
この状態で、ユーザプロセスＬ０８ｊがＣＬＳＦプロセスＬ０５ｉに送出したコネクションレスのメッセージは、以下の様に処理される。ここでは、ユーザプロセス＃５（Ｌ０８５）がユーザプロセス＃２（Ｌ０８２）に向けてコネクションレスのメッセージを送出した場合について例示しながら説明を進める。
【０３１８】
ユーザプロセス＃５（Ｌ０８５）は、何らかの方法により獲得したユーザプロセス＃２（Ｌ０８２）のレイヤ３アドレスを宛先アドレスとして、コネクションレスのメッセージを作成する。ここで、宛先アドレスを獲得する方法は、例えばＮＩＳ（Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｉｃｅ）  に対して問い合わせを行う等の良く知られた手法が使用される。このコネクションレスのメッセージは、コネクションＬ０５を経由してＣＬＳＦプロセス＃２（Ｌ０５２）に転送される。
【０３１９】
ＣＬＳＦプロセス＃２（Ｌ０５２）は、各ユーザプロセスからコネクションレスのメッセージを受け取ると、該メッセージの宛先アドレスを参照して次の３ステップを実行することで、それぞれのコネクションレスのメッセージのルーティングを実行している。
【０３２０】
その第１のステップは、該宛先アドレスと一致するレイヤ３アドレスが割り当てられたユーザプロセスが自分に接続されていないか、検索を行うステップである。このステップにて、自分に接続されているユーザプロセスが受信したコネクションレスメッセージの宛先であることが分かると、該受信したコネクションレスメッセージを、対応するユーザプロセスに向けて送出する。自分に接続されたユーザプロセスが受信したコネクションレスメッセージの宛先でないことがわかると、次に第２のステップを実行する。ここで述べている例では、ユーザプロセス＃５（Ｌ０８５）の送出するコネクションレスメッセージはユーザプロセス＃２（Ｌ０８２）向けであり、このステップでは、該コネクションレスメッセージの宛先となるユーザプロセスが見つからず、第２のステップへと移行することになる。
【０３２１】
第２のステップでは、同一ＡＴＭ−ＬＡＮ中にそのコネクションレスメッセージの宛先であるユーザプロセスが存在するか、検索するステップである。コネクションＬ０９上のレイヤ３アドレス通知メッセージのやりとりにより、各ＣＬＳＦプロセスＬ０５ｉは、コネクションＬ０９にて到達可能なレイヤ３アドレスのリストを持っている。そこで、該受け取ったコネクションレスメッセージの宛先を該リスト中から検索する。もし、該リスト中にも宛先が存在していなければ、該コネクションレスメッセージをＡＴＭ−ＬＡＮの外部に転送する為の第３のステップを実行する事になるが、このステップについては、後ほど詳細に説明する。
【０３２２】
ここで考えている例の場合は、ユーザプロセス＃２（Ｌ０８２）に向けたコネクションレスメッセージをＣＬＳＦプロセス＃２（Ｌ０５２）が受信した場合であるので、ＣＬＳＦプロセス＃２（Ｌ０５２）の持っている前記リスト中に、該受信したコネクションレスメッセージの宛先が含まれる事になる。
【０３２３】
前記リスト中に、受信したコネクションレスメッセージの宛先が含まれている場合、ＣＬＳＦプロセスは、受信したコネクションレスメッセージと、該コネクションレスメッセージの宛先のユーザプロセスの接続されたＣＬＳＦプロセスに割り当てられたＭＩＤを組としたユーザデータ転送メッセージを作成し、コネクションＬ０９へと送出する。該ユーザデータ転送メッセージは一般的に１セルには収まらない長さとなり、このメッセージをセル化する為に、ＣＬＳＦプロセス＃２に割り当てられたＭＩＤを使用することはいうまでもない。また、上述したＣＬＳＦプロセス間のレイヤ３アドレス通知の方法により、それぞれのレイヤ３アドレス毎に、該レイヤ３アドレスに対してサービスを提供しているＣＬＳＦプロセスに割り当てられたＭＩＤを、それぞれのＣＬＳＦプロセスが保持しているので、上の様なユーザデータ転送メッセージの作成が可能であることに注意すべきである。ここで述べている例の場合、ＣＬＳＦプロセス＃２（Ｌ０５２）がユーザプロセス＃５の送出したコネクションレスメッセージと、ＣＬＳＦプロセス＃１（Ｌ０５１）に割り当てられたＭＩＤとからユーザデータ転送メッセージを作成し、コネクションＬ０９に送出する事になる。
【０３２４】
コネクションＬ０９の働きにより、送出されたユーザデータ転送メッセージは、コネクションＬ０９に接続されている全ＣＬＳＦプロセスへと転送される。それぞれのＣＬＳＦプロセスは、ユーザデータ転送メッセージを受け取ると、該メッセージが含む、コネクションレスメッセージの宛先を収容しているＣＬＳＦプロセスのＭＩＤを参照し、自分に割り当てられたＭＩＤと一致しない場合は、該ユーザデータ転送メッセージを廃棄する。これにより、宛先のレイヤ３アドレスが割り当てられたユーザプロセスを収容していないＣＬＳＦプロセスでは、レイヤ３アドレスのリストを参照することなく該ユーザデータ転送メッセージを廃棄できる、即ち、不要のレイヤ３アドレスのリストへの参照を防ぐ事ができ、ＣＬＳＦプロセスのスループットを向上できる、事に注意が必要である。
【０３２５】
ユーザデータ転送メッセージ中のＭＩＤが、自分に割り当てられたＭＩＤと一致する場合には、該ユーザデータ転送メッセージからコネクションレスメッセージを取り出す。その後、該メッセージの宛先を参照し、自分に接続されているユーザプロセスのレイヤ３アドレスを参照し、対応するユーザプロセスに対して該取り出したコネクションレスメッセージを転送する。ここで述べている例では、ＣＬＳＦプロセス＃１が送出したユーザデータ転送メッセージを、ＣＬＳＦプロセス＃２が受信し、ユーザプロセス＃５の送出したコネクションレスメッセージを取り出して、その宛先を自分が収容しているユーザプロセスのレイヤ３アドレスの表を参照する事で知り、その後、取り出したコネクションレスメッセージをユーザプロセス＃２に向けて転送する。
【０３２６】
以上の操作により、複数個のＣＬＳＦプロセスを同一のＡＴＭ−ＬＡＮ中に存在させる事でコネクションレスサービスの負荷分散を行った系において、任意のユーザプロセスが送出するコネクションレスメッセージをＡＴＭ−ＬＡＮ内の所望のユーザプロセスへと転送することが可能になる。
【０３２７】
なお、上で述べたＣＬＳＦプロセス間の通信の場合、コネクションＬ０９には複数のＣＬＳＦプロセスが同時にメッセージを送出し、また同時にメッセージを受信する事に注意が必要である。第２のアプリケーションの場合と異なり、同一の端末に対して複数の端末が同時にメッセージを送出する事が有り得る。このため、ＡＡＬ３／４のＳＡＲレイヤのＭＩＤフィールドに送出先のプロセスに割り当てられたＭＩＤを含めると、受信側で正常にメッセージを組み立てる事ができなくなる。よって、上で述べたＣＬＳＦ間通信では、ＡＡＬ３／４のＳＡＲレイヤのＭＩＤフィールドに送出元のプロセスのＭＩＤを含ませる事としていた。該メッセージの宛先はメッセージ中にＭＩＤを含めて指定している。この場合、それぞれのＣＬＳＦプロセスは、コネクションＬ０９を経由してくるセル全てを一旦組み立てないと該セルが自分宛であるか否か判断できない。このため、アダプテーション処理のみではメッセージが自分宛であるか判断できず、ＣＬＳＦプロセスに対して、ＭＩＤを参照して不要なら廃棄という無駄な負荷をかける事になる。
【０３２８】
この問題点は、例えばＡＡＬ３／４のＳＡＲレイヤのＭＩＤフィールドを半分に分割し、前半の５ビットで宛先のＭＩＤを表示し、後半の５ビットで送出元のＭＩＤを表示することで解決する事ができる。それぞれの端末が、自分に割り当てられたＭＩＤと同じビットパタンをＭＩＤフィールドの前半５ビットに持つセルのみ取り込み、後半の５ビットを使用して同一端末起源のセルを集めてメッセージを組み立てるようにすれば良い。この方式を採用すると、ＣＬＳＦプロセスに余計な負荷をかけずに済むという利点があるが、一方で同一コネクションに接続できるＣＬＳＦプロセスの個数が少なくなってしまうという欠点もある。この欠点を解決するためには、前述した、ＡＡＬ５上のユーザプロトコルとして各セルにＭＩＤと同じ意味の情報要素を含ませる、といったプロトコルにてコネクションＬ０９上でのメッセージの合流を行う必要がある。該情報要素の長さとして例えば２０ビットとれば、一つのコネクションに１０２４個までのＣＬＳＦプロセスを接続することが可能である。
【０３２９】
以上で、ＡＴＭ−ＬＡＮ内部のコネクションレスサービスの負荷分散法の説明を終わる。
【０３３０】
＜ＡＴＭ−ＬＡＮ間のコネクションレスサービス提供法＞
コネクションレスサービスは、同一ＡＴＭ−ＬＡＮ内の通信のみに使用されるわけではなく、ＡＴＭ−ＬＡＮを渡った通信にも使用される。次に、ＡＴＭ−ＬＡＮ間のコネクションレスサービス提供法を説明する。
【０３３１】
図２６には、ＡＴＭ−ＬＡＮ間の通信に使用されるコネクションも示されている。ＡＴＭ−ＬＡＮ間の通信には、ｍ：ｎの単方向ＡＴＭコネクションＬ０２及びｎ：ｍの単方向ＡＴＭコネクションＬ０３が使用される。
【０３３２】
ｍ：ｎの単方向ＡＴＭコネクションＬ０２は、上位のＡＴＭ通信網Ｌ０１から渡されるコネクションレスメッセージをＡＴＭ−ＬＡＮ内のＣＬＳＦプロセス群に転送する役割を担う。また、ｎ：ｍの単方向ＡＴＭコネクションＬ０３は、ＡＴＭ−ＬＡＮ内のＣＬＳＦプロセス群から送出されるコネクションレスメッセージを上位のＡＴＭ−ＬＡＮＬ０１に向けて転送する役割を担う。
【０３３３】
これらのコネクションを図２７に示すように上位のＡＴＭ通信網Ｌ０１上に設定されるコネクションを用いて連結する事で、複数のＡＴＭ−ＬＡＮにまたがったコネクションレスメッセージのやりとりが実現できる。同図においては、三つのＡＴＭ−ＬＡＮ  Ｍ０１１〜Ｍ０１３の間のコネクションレスメッセージの通信が、上位のＡＴＭ通信網Ｌ０１上に設定された１：１の単方向ＡＴＭコネクションＭ０３１〜Ｍ０３６にて提供されている場合を示している。ＡＴＭ−ＬＡＮ＃１（Ｍ０１１）、ＡＴＭ−ＬＡＮ＃２（Ｍ０１２）にはそれぞれ二つのＣＬＳＦプロセスが含まれ、ＡＴＭ−ＬＡＮ＃３には三つのＣＬＳＦプロセスが含まれている。これらのＣＬＳＦプロセスはＡＴＭ−ＬＡＮ内部で、図２６に示された方法と同様に、上位のＡＴＭ通信網に向けてコネクションレスメッセージを送出する為のｍ：ｎの単方向ＡＴＭコネクションＭ０４１〜Ｍ０４３と、上位のＡＴＭ通信網からコネクションレスメッセージを受信する為のｎ：ｍの単方向ＡＴＭコネクションＭ０５１〜Ｍ０５３にて接続されている。この図に示した構成では、上位のＡＴＭ通信網が基本的に１：１の双方向ＡＴＭコネクションしか提供しないことを前提に、予め定められたＡＴＭ−ＬＡＮ間のコネクションレスメッセージの転送しか提供できないが、この予め定められたＡＴＭ−ＬＡＮ間のコネクションレスメッセージの転送のレイテンシは小さく抑えるための方法が示されている。
【０３３４】
ここで示されているコネクション設定の方法を一般的に記述すると、以下のようになる。コネクションレスメッセージ転送のレイテンシを小さく抑えるため、それぞれのＡＴＭ−ＬＡＮをメッシュに接続する事を考える。即ち、一つのＡＴＭ−ＬＡＮから残りのＡＴＭ−ＬＡＮ全てへのコネクションが上位のＡＴＭ−ＬＡＮ上に設定されている。例えば、ＡＴＭ−ＬＡＮ＃１（Ｍ０１１）に関して言えば、以下の様になる。ＡＴＭ−ＬＡＮ＃１のそれぞれのＣＬＳＦプロセスの送出するコネクションレスメッセージは、コネクションＭ０４１により一旦ＡＴＭ−ＬＡＮ＃１内で集められた後、コネクションＭ０３２を経由してＡＴＭ−ＬＡＮ＃３へと、コネクションＭ０３３を経由してＡＴＭ−ＬＡＮ＃２へと、それぞれ転送される。コネクションＭ０４１は、これらの二つのＡＴＭ−ＬＡＮへとセル流を転送するためのコピー機能も実現している。一方、ＡＴＭ−ＬＡＮ＃２からＡＴＭ−ＬＡＮ＃１へと転送されるコネクションレスメッセージは、コネクションＭ０３４を経由して、また、ＡＴＭ−ＬＡＮ＃３からＡＴＭ−ＬＡＮ＃１へと転送されるコネクションレスメッセージはコネクションＭ０３１を経由して、それぞれコネクションＭ０５１に渡される。コネクションＭ０５１の働きにより、これらのコネクションレスメッセージ流は一旦合流され、それぞれのＣＬＳＦプロセス＃１−１、＃１−２にコピーされて渡される。同様のメッセージ転送を実現するコネクション設定がＡＴＭ−ＬＡＮ＃２，ＡＴＭ−ＬＡＮ＃３に関しても実行されている。
【０３３５】
図２７に示したコネクション構成により、互いのＡＴＭ−ＬＡＮ間でコネクションレスサービスを提供するために、以下の手順が各ＣＬＳＦプロセス＃ｉ−ｊにて実行される。
【０３３６】
例えばＡＴＭ−ＬＡＮ＃１中のコネクションＭ０５１の様に、複数のＣＬＳＦプロセスから送出されたコネクションレスメッセージが一旦集められ、それがコネクションＭ０５１の働きによってコピーされて複数のＣＬＳＦプロセスＭ０２１１、Ｍ０２１２に渡される部分では、上で述べてきた通り、それぞれのメッセージを送出するＣＬＳＦプロセスに、該メッセージをセル化するときに使用するＭＩＤを一意に割り当てることで、受信側で正常にメッセージの組み立てが行える様になる。即ち、上で述べた、ＡＴＭ−ＬＡＮ内のＣＬＳＦプロセス間通信と同様、ＡＴＭ−ＬＡＮを渡ったＣＬＳＦプロセス間通信の為にも、これらのＣＬＳＦプロセスに対してＭＩＤを割り当てる必要がある。
【０３３７】
ＡＴＭ−ＬＡＮに渡ったＣＬＳＦプロセス間の通信について説明する前に、ＡＴＭ−ＬＡＮを渡ったＭＩＤ割り当て手順について説明する。これには上述のＡＴＭ−ＬＡＮ内にて実行されるＭＩＤ割り当て手順及び衝突回避手順と同様の手順が使用できるが、図２７に示したコネクションでは、同一のＡＴＭ−ＬＡＮ内のＣＬＳＦプロセス間でメッセージのやりとりが出来ないことに注意してＡＴＭ−ＬＡＮを渡ったＭＩＤ割り当て手順を作成する必要がある。同一のＡＴＭ−ＬＡＮ内のＣＬＳＦプロセス間の通信には、図２６に示したコネクションＬ０９を使用すれば良い。
【０３３８】
ＭＩＤ＝０のＭＩＤ操作メッセージに、ＬＡＮ間使用ＭＩＤ通知メッセージを定義する。このＬＡＮ間使用ＭＩＤ通知メッセージも、他のＭＩＤ操作メッセージと同様、その情報部にＴＹＰＥフィールドＫ０６、割り当てＭＩＤフィールドＫ０７、ノード番号フィールドＫ０８を含んでいる。ＬＡＮ間使用ＭＩＤ通知メッセージのＴＹＰＥフィールドＫ０６には、該メッセージ種別を示すための番号が含まれている。また、ノード番号フィールドＫ０８には、そのメッセージを送出したＣＬＳＦプロセスが実行されている端末のノード番号が、割り当てＭＩＤフィールドＫ０７には、そのメッセージを送出したＣＬＳＦプロセスにＭＩＤが割り当てられているならばそのＭＩＤが、割り当てられていなければそのことを示す値（ＭＩＤ＝０）が、それぞれ含まれている。
【０３３９】
各ＣＬＳＦプロセスＭ０２ｉｊは、上位のＡＴＭ通信網にメッセージを送出するコネクションＭ０４ｉに対して、予め定められた時間間隔で、上述のＬＡＮ間使用ＭＩＤ通知メッセージを送出する。さらに、ＡＴＭ−ＬＡＮ内部のＣＬＳＦ間コネクションＬ０９に対しても、同じＬＡＮ間使用ＭＩＤ通知メッセージを送出する。これにより、それぞれのＣＬＳＦプロセスＭ０２ｉｊが、他人がＬＡＮ間通信の為に使用しているＭＩＤ、及び、そのＭＩＤを使用しているＣＬＳＦプロセスの実行されている端末のノード番号を知ることができる。よって、新たにＭＩＤを獲得しようとするＣＬＳＦプロセスは、現在使用されていないＭＩＤの中から、予め定められた方法により使用するＭＩＤを選択し、再度ＬＡＮ間使用ＭＩＤ通知メッセージを送出しかつ他ＣＬＳＦプロセスからのＬＡＮ間使用ＭＩＤ通知メッセージを受信することでＭＩＤの衝突を検出し、必要ならばノード番号の大小を利用した衝突検出を行うという、ＬＡＮ内におけるＭＩＤ獲得と同様の手順を実行することで、ＬＡＮ間の通信に使用するＭＩＤも獲得する事ができる。
【０３４０】
上で述べた様に、ＡＴＭ−ＬＡＮ内の通信に使用するＭＩＤと、ＡＴＭ−ＬＡＮ間の通信に使用するＭＩＤをそれぞれ独立にしておくと、例えば、他のＡＴＭ−ＬＡＮにおける構成変更に伴って、ＭＩＤが衝突を起こした場合でも他のＡＴＭ−ＬＡＮ内部ではコネクションレスサービスを使用し続ける事ができるといった如く、発生した障害（この場合はＭＩＤの衝突）の波及範囲を限定できるという利点がある。
【０３４１】
以上で、図２７に示したコネクションを用いたＣＬＳＦプロセス＃ｉ−ｊ間の通信が行えるようになったので、各ＣＬＳＦプロセス＃ｉ−ｊは、自分が受け取ったコネクションレスメッセージの内、一つのＡＴＭ−ＬＡＮ内に宛先が存在しないものを上位のＡＴＭ通信網Ｌ０１へとメッセージを送出するコネクションＭ０４ｉへと送出する。この結果、それぞれのＣＬＳＦプロセス＃ｉ−ｊの送出したコネクションレスメッセージは、他のＡＴＭ−ＬＡＮ中のＣＬＳＦプロセスへと転送される。
【０３４２】
上位のＡＴＭ通信網Ｌ０１からコネクションレスメッセージを受け取ったＣＬＳＦプロセス＃ｉ−ｊは、自分に接続されているユーザプロセスに割り当てられたレイヤ３アドレスのリストから、受け取ったコネクションレスメッセージの宛先を検索する。もし見つかれば、受け取ったコネクションレスメッセージを対応するユーザプロセスへと転送する。もし見つからなければ、受け取ったコネクションレスメッセージを廃棄する。以上で、ＡＴＭ−ＬＡＮ間をわたったコネクションレスサービスが実現できた事になる。
【０３４３】
なお、図２７で示したコネクションを使用して、ＡＴＭ−ＬＡＮ内で行われているのと同様に、それぞれのＣＬＳＦプロセスがサービスを提供しているユーザプロセスに割り当てられたレイヤ３アドレスのリストをやりとりすることにし、上位のＡＴＭ−ＬＡＮを通過してきたコネクションレスメッセージの内の不要なものを簡単に各ＣＬＳＦプロセス（もしくはアダプテーションレイヤ機能）が廃棄出来るようにしても良いが、ＡＴＭ−ＬＡＮのレイヤ３アドレスといった、比較的秘密性の高い情報が他のＡＴＭ−ＬＡＮに放送される結果になるというセキュリティ保持上問題の多い事態が発生する事と、ＡＴＭ−ＬＡＮを渡るコネクションレスメッセージは、ＡＴＭ−ＬＡＮ内に比べて少ないと考えられる事から、ここでの説明ではＡＴＭ−ＬＡＮ間ではこれを実現しない事としている。他のＡＴＭ−ＬＡＮに接続されているユーザプロセスのレイヤ３アドレスが悪意のユーザに分かってしまうと、そのアドレスを用いて例えばウィルスを送りつけられてしまうといった不具合が発生する。
【０３４４】
図２７に示した手法では、より大きなコネクションレス通信網を構築しようとした場合に、上位のＡＴＭ通信網Ｌ０１上に設定しなければならないコネクション数が爆発してしまうという問題がある。例えば、３個のＡＴＭ−ＬＡＮをお互いに接続するためには上位のＡＴＭ通信網Ｌ０１上に設定するコネクション数は計６本で良いが、４個のＡＴＭ−ＬＡＮの場合は１２本となる。一般的に、Ｎ個のＡＴＭ−ＬＡＮをメッシュに接続するためには、ＡＴＭ−ＬＡＮ上に［（Ｎ−１）＋（Ｎ−２）＋……＋１］＊２本のコネクションを設定する必要があり、Ｎが少し大きくなっただけで非現実的な値となる。
【０３４５】
そこで、より大きなコネクションレス通信網を実現する為には、図２８に示すように幾つかのＡＴＭ−ＬＡＮでクラスタを構築し、クラスタ間を渡るコネクションレスメッセージはクラスタ間ＣＬＳＦプロセスＮ０１にて処理するといった方法をとる事になる。この様な大規模なコネクションレス通信網の場合、ＣＬＳＦプロセス間でやりとりされるルーティング情報を少なくするために、レイヤ３アドレスの階層化を行う事が望ましくなる。レイヤ３アドレスの階層化とは、例えば、クラスタ間ＣＬＳＦプロセスＮ０１が接続されているＡＴＭ−ＬＡＮ＃１（Ｍ０１１）、ＡＴＭ−ＬＡＮ＃２（Ｍ０１２）中で使用されるレイヤ３アドレスの上位何ビットかを予め定められた値とすることである。このようにすることで、クラスタ間ＣＬＳＦプロセスＮ０１は、クラスタ外部から受け取ったメッセージの宛先アドレスを参照するのみで、ＡＴＭ−ＬＡＮ＃１（Ｍ０１１）、＃２（Ｍ０１２）に送出すべきメッセージか否か判断する事が可能になる。この時、ＡＴＭ−ＬＡＮ＃１、＃２からそれぞれの中でコネクションレスサービスの提供を受けているプロセスに割り当てられたレイヤ３アドレスのリストを得る必要もない。
【０３４６】
なお、ＣＬＳＦプロセスＭ０２１１〜Ｍ０２２２とクラスタ間ＣＬＳＦプロセスＮ０１との間の通信の為に必要なＭＩＤは、上述の、ＭＩＤ＝０のＭＩＤ操作メッセージ中に定義されたＬＡＮ間使用ＭＩＤ通知メッセージを用いたＭＩＤ獲得手法により、それぞれのプロセスに割り当てることが可能であることは言うまでもない。
【０３４７】
以上で、上位のＡＴＭ−ＬＡＮを経由したＡＴＭ−ＬＡＮ間のコネクションレスサービスの提供法についての説明を終わる。ここまでの説明で、ＡＴＭ−ＬＡＮ内、及びＡＴＭ−ＬＡＮ間でのＣＬＳＦプロセス間の情報通信によって、コネクションレスサービスを提供する為の手順が説明された事になる。
【０３４８】
＜独立に運用されていたＣＬＳＦプロセス群を一つにまとめる手法＞
ところで、コネクションレスサービスの運用中、それぞれ独立に運用されていたＣＬＳＦプロセス群を一つにまとめる必要が生じる場合がある。これは、例えばどこかの物理リンクに故障が発生し、一つのコネクションレスサービスの提供範囲が二つに分断された後、再度もとのコネクションレスサービス提供範囲にもどす、といった事を行う場合に発生する。以下、図２９を参照しながら、独立に運用されていたＣＬＳＦプロセス群を一つにまとめる場合の手順について説明する。
【０３４９】
図２９には、それぞれ独立に運用されていたコネクションレスサービス範囲、ＣＬＳＦプロセス＃１−１（Ｏ０１），＃１−２（Ｏ０２）によりサービスが提供されていた部分、及び、ＣＬＳＦプロセス＃２−１（Ｏ０３），＃２−２（Ｏ０４），＃２−３（Ｏ０５）によりサービスが提供されていた部分が一つにまとめられる場合を概念的に示してある。ＣＬＳＦプロセス＃１−１（Ｏ０１），＃１−２（Ｏ０２）はコネクションＯ０６により、またＣＬＳＦプロセス＃２−１（Ｏ０３），＃２−２（Ｏ０４），＃２−３（Ｏ０５）はコネクションＯ０７により、それぞれ上で述べたＭＩＤ獲得の為の手順、レイヤ３アドレス通知の為の手順、及びコネクションレスメッセージの交換の為の手順を実行し、それぞれが収容しているプロセスに対してコネクションレスサービスを提供している。
【０３５０】
それぞれが独立に運用されているＣＬＳＦプロセス＃１−１（Ｏ０１），＃１−２（Ｏ０２）、およびＣＬＳＦプロセス＃２−１（Ｏ０３），＃２−２（Ｏ０４），＃２−３（Ｏ０５）は、同一のＡＴＭ−ＬＡＮ内に存在する場合と、異なるＡＴＭ−ＬＡＮにて運用されている場合がある。まず、これらの独立して運用されているＣＬＳＦ群が同一のＡＴＭ−ＬＡＮ内にある場合について、これらを一つにまとめる手順を説明する。
【０３５１】
これらのＣＬＳＦ群を一つにまとめるためには、ＡＴＭ−ＬＡＮ内でコネクションＯ０６とコネクションＯ０７を接続するコネクションＯ０８をコネクション設定プロセスＬ０６が設定すれば良い。この時、計５個のＣＬＳＦプロセス＃ｉ−ｊが一つのｎ：ｎの双方向ＡＴＭコネクションにより接続されるよう、コネクションＯ０８によるコネクションＯ０６とコネクションＯ０７の連結を行う必要がある。この連結の手法は、図３〜図６に示された、ｎ：ｎの双方向ＡＴＭコネクションの設定法を参照すれば、容易に得ることができる。コネクションＯ０７の合流側と、コネクションＯ０６の合流側をさらに合流し、その合流トラフィックをコネクションＯ０７の分流側と、コネクションＯ０７の分流側にそれぞれコピーして送出する様なコネクションを設定すれば良い。
【０３５２】
このようにコネクションＯ０６とコネクションＯ０７が一つのｎ：ｎの双方向コネクションとして連結されると、今まで独立に運用されていたＣＬＳＦプロセス間も通信可能になる。この時、それぞれのＣＬＳＦプロセス群が独立に運用されていたため、コネクションＯ０６上で使用されていたＭＩＤと、コネクションＯ０７上で使用されていたＭＩＤが衝突してしまう可能性がある。この衝突は、上述したＭＩＤ＝０のＭＩＤ操作メッセージの一つである使用ＭＩＤ通知メッセージの送出を各ＣＬＳＦプロセスが予め定められた時間間隔で行っていれば、容易に検出することができる。同じＭＩＤを異なるノード番号の端末上で実行されるＣＬＳＦプロセスが使用している事が、即ち、ＭＩＤが衝突している事を示している。このＭＩＤ衝突は、上で述べたような、ノード番号の小さい方がそのＭＩＤの使用を続け、ノード番号の大きい方が新しいＭＩＤを獲得するといった手順を実行する事で解消可能である。この結果として、新しいＭＩＤを獲得したＣＬＳＦプロセスがコネクションレスサービスを提供しているユーザプロセスのレイヤ３アドレスのリストも更新する必要が生じるのは言うまでもないが、これも、新しいＭＩＤを使用したレイヤ３アドレス通知メッセージの送出を待ち、そのメッセージに従ってリストの変更を行えば、自動的に実行することができる。
【０３５３】
コネクションＯ０６，Ｏ０７の連結に伴って行われる上述の操作、ＭＩＤ衝突検出および新ＭＩＤ割り当て並びにレイヤ３アドレスの更新作業が終了するまでは、正常にコネクションレスサービスをこれらのＣＬＳＦプロセスが収容しているユーザプロセス群に提供する事ができなくなるが、現状のイーサネット上のコネクションレスサービスはいわゆるベストエフォートサービス、即ち、ネットワークは渡されたコネクションレスメッセージを所望の宛先に転送する最大限の努力をするというサービスであるので、このような制限は、現状のイーサネット上のサービスをＡＴＭ−ＬＡＮ上で提供するのが目的であるＣＬＳＦプロセスの実行形態として問題とはならない。
【０３５４】
次に、それぞれが独立に運用されているＣＬＳＦプロセス＃１−１（Ｏ０１）とＣＬＳＦプロセス＃１−２（Ｏ０２）の組、及び、ＣＬＳＦプロセス＃２−１（Ｏ０３）とＣＬＳＦプロセス＃２−２（Ｏ０４）とＣＬＳＦプロセス＃２−３（Ｏ０５）の組が、異なるＡＴＭ−ＬＡＮ上で運用されているといった場合について、これらを一つにまとめる手順を説明する。この場合、コネクションＯ０６，Ｏ０７の連結は、上位のＡＴＭ通信網上で、新たに必要になる１：１の単方向ＡＴＭコネクションを設定し、ＡＴＭ−ＬＡＮ内部で必要なコネクションに対してこの新たに設定されたＡＴＭコネクションをコピーコネクションの一つの枝として接続することにより実現される。以下、この時に実行される処理の手順を、再度図２６を参照しながら説明する。
【０３５５】
上位のＡＴＭ通信網を経由する、ＣＬＳＦプロセス間のコネクションを設定する為に、それぞれのＡＴＭ−ＬＡＮではコネクションレスサービスの提供窓口であるＥ．１６４アドレスが予め定められている。他のＡＴＭ−ＬＡＮからの、該ＡＴＭ−ＬＡＮに対するコネクションレス通信の提供要求、即ち、他のＡＴＭ−ＬＡＮが該ＡＴＭ−ＬＡＮとコネクションレスメッセージのやりとりを行いたいという要求は、シグナリングＶＣ（Ｌ０４）を経由した、このＥ．１６４アドレスに対する着呼という形でコネクション設定プロセスＬ０６に通知される。
【０３５６】
あるＡＴＭ−ＬＡＮ群で行われているコネクションレスサービスに、自分の管理しているＡＴＭ−ＬＡＮ上でのコネクションレスサービスを参加させたい意図を持ったＡＴＭ−ＬＡＮの管理者は、まず相手のＡＴＭ−ＬＡＮのコネクションレスサービスの提供窓口のＥ．１６４アドレスを何らかの手段を用いて得る。ここでの何らかの手段とは、相手の管理者に対して電話をかけるであるとか、電子メールを出すとかいったことである。ＡＴＭ−ＬＡＮの管理者は、相手のコネクションレスサービスの窓口のＥ．１６４アドレスを知ると、コネクション設定プロセスＬ０６に、該Ｅ．１６４アドレスと、ここでコネクションレスサービスのために上位のＡＴＭ通信網Ｌ０１から提供を受けたい帯域とを少なくともその引数の一つとして含むコネクションレスサービス接続要求コマンドを発効する。
【０３５７】
こうしてコネクションレスサービス接続要求コマンドが発効されると、コネクション設定プロセスＬ０６は、上位のＡＴＭ通信網Ｌ０１に対して、該通信網における呼設定プロトコル（多くはＱ．２９３１と呼ばれるＩＴＵ−Ｔ標準の呼設定プロトコル）に従って、該Ｅ．１６４アドレスと帯域にてコネクション設定を要求する。
【０３５８】
上位のＡＴＭ通信網Ｌ０１は、要求されたコネクションを設定すると、対向側のＡＴＭ−ＬＡＮのコネクション設定プロセスＬ０６に、該Ｅ．１６４アドレスによる着呼が発生した事をシグナリングＶＣ（Ｌ０４）にて通知する。
【０３５９】
コネクションレスサービスの受け付け窓口であるＥ．１６４アドレスにて着呼が発生すると、コネクション設定プロセスＬ０６は、通知されたＶＰＩ／ＶＣＩによりセルが受信可能な、かつ、該ＶＰＩ／ＶＣＩによりセルを転送できる、上位のＡＴＭ通信網Ｌ０１上のコネクションを、図２７に示したコネクション構成となるよう、コネクションＬ０２，Ｌ０３に連結する。具体的には、上位のＡＴＭ通信網Ｌ０１からセルを受け取る側のコネクションはｎ：ｍの単方向ＡＴＭコネクションＬ０２の新たな情報入力口として該コネクションＬ０２に連結し、また、上位のＡＴＭ通信網Ｌ０１へセルを送出する側のコネクションはｍ：ｎの単方向ＡＴＭコネクションＬ０３の新たな情報送出口として該コネクションＬ０３に連結する。
【０３６０】
以上の操作が終了するとコネクション設定プロセスＬ０６は、受け取った着呼メッセージに対する応答メッセージを上位のＡＴＭ通信網Ｌ０１に返す。
【０３６１】
上位のＡＴＭ通信網Ｌ０１は、着呼メッセージの応答メッセージを受け取ると、発呼元のＡＴＭ−ＬＡＮのコネクション設定プロセスＬ０６に、コネクション設定終了メッセージをシグナリングＶＣ（Ｌ０４）を経由して渡す。この時、該メッセージの一情報要素として設定されたコネクションのＶＰＩ／ＶＣＩが発呼元のＡＴＭ−ＬＡＮのコネクション設定プロセスに通知される。
【０３６２】
発呼元のＡＴＭ−ＬＡＮのコネクション設定プロセスＬ０６は、コネクション設定終了メッセージを受け取ると、対向側のコネクション設定プロセスＬ０６と同様、図２７に示したコネクション構成となるように、上位のＡＴＭ通信網上に設定されたコネクションと、コネクションＬ０２，Ｌ０３とを連結する。
【０３６３】
その後、該コネクション設定プロセスＬ０６は、コネクション設定並びにＣＬＳＦプロセスの接続が終了したことを該ＡＴＭ−ＬＡＮの管理者に通知する。
【０３６４】
ＡＴＭ−ＬＡＮの管理者は、メッシュに接続するために必要な回数だけ、上述のＡＴＭ−ＬＡＮのコネクションレスサービスの窓口のＥ．１６４アドレスの調査と、コネクションレスサービス接続要求コマンドの発効を繰り返す。これにより、必要なＡＴＭ−ＬＡＮ間にメッシュのコネクションが設定され、新しくＣＬＳＦプロセスがコネクションレスサービスの提供に参加することになる。
【０３６５】
その後、ＭＩＤの衝突検出、および、衝突発生の場合は新規ＭＩＤの割り当てが、ＭＩＤ＝０のＭＩＤ操作メッセージ中に定義された、ＬＡＮ間使用ＭＩＤ通知メッセージによる上述した手順により各ＣＬＳＦプロセスにより自動的に実行され、正常に新しく作成されたコネクションレスサービスの提供範囲にてＣＬＳＦプロセス間の通信が可能になるのは、ＡＴＭ−ＬＡＮ内でＣＬＳＦプロセス群をまとめる場合と同様である。
【０３６６】
以上で、独立に運用されていたＣＬＳＦプロセス群を一つにまとめる場合の手順についての説明を終了する。
【０３６７】
＜ＣＬＳＦプロセスのマイグレーション法について＞
本発明の第３のアプリケーションであるコネクションレスサービスの負荷分散法の説明の最後に、ＣＬＳＦプロセスのマイグレーション法を説明する。
【０３６８】
例えば、ＣＬＳＦプロセスを実行している端末のメモリを増強するといった場合、一旦そのＣＬＳＦプロセスを他の端末にマイグレートできると便利である。以下、再度図２６を参照しながら、ＡＴＭ−ＬＡＮ内でのＣＬＳＦプロセスのマイグレートについて説明する。なお、ＡＴＭ−ＬＡＮ間を渡るＣＬＳＦプロセスのマイグレートは、ＡＴＭ−ＬＡＮが一つの管理単位となっている前提で発生しないと考えてよい。
【０３６９】
上述したように、ＣＬＳＦプロセスＬ０５ｉを実行する計算の“場”である端末には、ＡＴＭ−ＬＡＮ内のコネクションレスメッセージ転送の為のコネクションＬ０９と、ＡＴＭ−ＬＡＮ間のコネクションレスメッセージ転送のためのコネクションＬ０２，Ｌ０３が予め定められたＶＰＩ／ＶＣＩにて設定されている。よって、本発明に従ってある端末から別の端末にＣＬＳＦプロセスをマイグレートしても、これらのコネクションを使用する通信は、これらのコネクションに該ＣＬＳＦプロセスがメッセージを送出する時のＭＩＤを変化させなければ、マイグレート前と同様に通信を行うことができる。ＣＬＳＦプロセスのマイグレーションには、ＡＴＭ−ＬＡＮ内でコネクションレスサービスを提供するためのコネクションＬ０９を使用することができる。例えば、ＣＬＳＦプロセスのマイグレーション前に、該コネクションＬ０９を使用して、最も負荷の軽い端末を検索し、該負荷の軽い端末に対して、該コネクションＬ０９を使用してＣＬＳＦプロセスのコード、及び、該ＣＬＳＦプロセスの使用しているＭＩＤや該ＣＬＳＦプロセスが収容しているユーザプロセスのレイヤ３アドレス等の実行環境を転送するといった事を実行すれば良い。ここで、それぞれのＣＬＳＦプロセスが持っている、他のＣＬＳＦプロセスにてサービスが提供されているレイヤ３アドレスに関する表は、それぞれのＣＬＳＦプロセスが獲得しているＭＩＤを用いて作成されており、ＣＬＳＦプロセスを移動しても大きく書き換える必要が無く、小さなオーバーヘッドでＣＬＳＦプロセスのマイグレーションが実現できることに注意が必要である。ＣＬＳＦプロセスが実行されている端末のノード番号とレイヤ３アドレスの表を保持していることにすると、マイグレート発生時に、その事を他のＣＬＳＦプロセスに通知し、該通知を受けてそれぞれのＣＬＳＦプロセスが端末のノード番号を書き換えるというオーバーヘッドが生じる。
【０３７０】
しかしながら、端末とＣＬＳＦプロセス間のコネクションＬ０７ｉに関しては、ＣＬＳＦプロセスを移動させたことにより、再度設定し直さなければならない。これは、以下の手順を実行することで実現することができる。
【０３７１】
プロセスマイグレーションを行う前に、ＣＬＳＦプロセスはコネクションＬ０７ｉを用いて、ユーザプロセスに対してこれからマイグレーションが行われる為に一旦コネクションレスサービスの停止する事を通知した後、ユーザプロセスとの間のコネクションＬ０７ｉの解放をコネクション設定プロセスＬ０６に要求する。コネクション設定プロセスＬ０６は、例えば本発明者が特願平５−１２０３５１にて開示したプロトコルにて、これらのコネクションＬ０７ｉを解放する。次に、ＣＬＳＦプロセスはマイグレートを受け、新しい端末での実行が再開される。この時、いままでサービスを提供していたユーザプロセスに対して、再度コネクションを設定する必要がある。
【０３７２】
本発明者が特願平５−１２０３５１にて開示した、コネクション設定プロセスＬ０６によるコネクション設定のプロトコルに従うと、コネクション設定時に着呼側には発呼側のノード番号が通知されている事になっている。それぞれのＣＬＳＦプロセスは、新たにユーザプロセスからのコネクション設定がなされる度に、この発呼側のノード番号を保持するようにする。本発明者が特願平６−１４０２２３により開示したＣＬＳＦプロセスへのユーザプロセスの登録法によると、ユーザプロセスが発呼側となるので、該発呼側ノード番号が即ち、ユーザプロセスが実行されている端末及び該ユーザプロセスの該端末上でのプロセス番号を示していることになる。
【０３７３】
ＣＬＳＦプロセスがマイグレートされ、今まで実行されていた端末と異なる端末上で実行され始めた時、サービスを提供するユーザプロセスとの間のコネクション設定の要求を、この発呼側ノード番号を使用して、コネクション設定プロセスＬ０６に行う。
【０３７４】
コネクション設定プロセスＬ０６は、要求されたコネクションを設定した後、ユーザプロセスにコネクション設定を通知する。ユーザプロセスは、コネクションレスメッセージの送受に使用するコネクションを新しく設定されたコネクションに切り替え、コネクションの受け入れをコネクション設定プロセスＬ０９に通知する。これと共に、今まで使用していたコネクションの解放をコネクション設定プロセスＬ０９に要求する。
【０３７５】
コネクション設定プロセスＬ０６は、ユーザプロセスからコネクションの受け入れが通知されると、コネクション設定終了をマイグレートされたＣＬＳＦプロセスに通知する。これでマイグレートされたＣＬＳＦとユーザプロセスの間にコネクションが設定されたことになる。ＣＬＳＦプロセスは、コネクションレスサービスの再開をユーザプロセスに該新たに設定されたコネクションを用いて通知する。以降、ユーザプロセスとＣＬＳＦプロセスの間のコネクションレスメッセージの転送は、該新しく設定されたコネクションを用いて行われる。
【０３７６】
さらに、コネクション設定プロセスＬ０６は、それぞれの端末で今まで使用されていたコネクションの解放要求が到達すると、これらのコネクションの解放を行う。
【０３７７】
なお、コネクションレスサービスはベストエフォートサービスであるから、マイグレート発生時にＣＬＳＦプロセスが一時保持している、ルーティング待ちのメッセージは、マイグレート時に一旦廃棄しても良いし、マイグレート時に他の実行環境と一緒に新しい端末に向けて転送される事にしてもよい。このメッセージをマイグレート時に廃棄することにすると、ＣＬＳＦのマイグレートにかかる時間を短縮する事ができる。
【０３７８】
以上で、本発明を適用する第３のアプリケーションである、ＡＴＭ−ＬＡＮ上でのコネクションレスサービスの負荷分散法に関する説明を終わる。
【０３７９】
（実施例６）
本実施例では、本発明を適用する第４のアプリケーションである、ＡＴＭ−ＬＡＮ上での資源管理手法について、詳細に説明する。このアプリケーションは、分散化されたマルチメディアアプリケーションの効率的実行を可能とするものである。
【０３８０】
図３０に、第４のアプリケーションを説明するための例として取り上げるＡＴＭ−ＬＡＮの構成を示す。このＡＴＭ−ＬＡＮは、ハブ＃１〜＃５（Ｐ０１１〜Ｐ０１５）により、端末＃１〜＃５（Ｐ０２１〜Ｐ０２５）が接続されて構成されている。ハブおよび端末それぞれを接続するために、物理リンクの組Ｐ０３１〜Ｐ０３９が設けられている。光ファイバ、ＵＴＰ等の物理リンクは単方向の情報転送を提供するものであり、全２重の通信を端末／ハブ間、ハブ／ハブ間に提供するために、２本ずつ組として使用されている。
【０３８１】
さらに、端末＃１（Ｐ０２１）はファイル＃１（Ｐ０４１）を、端末＃２（Ｐ０２２）はファイル＃２（Ｐ０４２）を、以下同様にして端末＃５（Ｐ０２５）はファイル＃５（Ｐ０４５）をそれぞれ持っている。
【０３８２】
従来のイーサネット等のＬＡＮでは、同軸ケーブル上の通信帯域がコネクション間で共有されているのに対して、ＡＴＭ−ＬＡＮ上ではその特有の機能であるＣＡＣ（Ｃｏｎｎｅｃｔｉｏｎ  Ａｄｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ）を通信開始前に行い、通信帯域がコネクション毎に排他的に割り当てられる。この為、従来のＬＡＮでは自分に割り当てられる通信帯域が他のプロセスの動作によって変化するのに対して、ＡＴＭ−ＬＡＮには、それぞれのコネクションに割り当てられた通信帯域が他のプロセスの動作によって変化しないため、例えばファイルから定速度でデータを読み出す等、ＱｏＳを保証した通信が可能である利点がある。その一方で、従来のＬＡＮでは該ＬＡＮを使用しているプロセスは常にメッセージを送出可能であるが、反面、ＡＴＭ−ＬＡＮの場合、ＣＡＣにより通信帯域が割り当てられないと、通信をまったく行うことができない。この為、通信帯域の他にファイル等の資源を使用するアプリケーションを実行することを考えると、ＡＴＭ−ＬＡＮ上で分散化されたアプリケーションを実行すると、以下のような問題点が生じる。
【０３８３】
図３０に示したＡＴＭ−ＬＡＮで、この問題点を説明する。
【０３８４】
端末＃１（Ｐ０２１）上で実行されるプロセスＡがファイル＃１（Ｐ０４１）を確保し、端末＃３（Ｐ０２３）へと転送する。さらに、端末＃２（Ｐ０２２）上で実行されるプロセスＢがファイル＃１の内容を参照する。これらのプロセスＡとプロセスＢが同時に実行されると、以下の事が起きることがある。
【０３８５】
プロセスＡは、まずファイル＃１（Ｐ０４１）をオープンする。一方、プロセスＢは、物理リンクＰ０３６、Ｐ０３７上の通信帯域を全て確保する。
【０３８６】
この状態で、次にプロセスＡは端末＃３（Ｐ０４３）への経路、物理リンクＰ０３６，Ｐ０３３，Ｐ０３４，Ｐ０３８上の通信帯域を確保しようとするが、このとき既にプロセスＢにより物理リンクＰ０３６の通信帯域が全て確保されているので、この通信帯域の確保にプロセスＡは失敗する。一方、プロセスＢは、次にファイル＃１（Ｐ０４１）を確保しようとするが、既にプロセスＡによりオープンされているので、このファイルオープンにプロセスＢも失敗する。プロセスＡとプロセスＢがこの状態でスリープすれば、デッドロックになる。
【０３８７】
この種のデッドロックは、ファイル＃１（Ｐ０４１）と、物理リンクＰ０３６上での通信帯域との、プロセスＡとプロセスＢの使用要求の競合によって発生する。即ち、この種のデッドロックは、ＣＡＣを実行して通信帯域をあるプロセスに排他的に与えることにより発生するものであり、ここではＣＡＣデッドロックと呼ぶ。Ｑ．２９３１プロトコルにより通信帯域の割り当てを受けていると、デッドロック発生の原因の一端が物理リンクＰ０３６上での通信帯域の競合にある事をそれぞれのプロセスが認識することができず、ＣＡＣデッドロックを解消する事ができない。
【０３８８】
本発明の第４のアプリケーションはこの問題を解決し、分散化されたマルチメディアアプリケーションの効率的実行を可能とする手法である。以下、本発明の第４のアプリケーションにおけるユーザプロセスのスケジューリング手法を開示した後、該スケジューリング手法を実現するために本発明が果たす役割について説明する。
【０３８９】
＜ユーザプロセスのスケジューリング法について＞
まず、ユーザプロセスのスケジューリング法について詳細に説明する。上で述べたＣＡＣデッドロックを解消し、ユーザプロセスの実行を進める為には、ユーザプロセス＃ｉに一旦割り当てられた資源を該ユーザプロセス＃ｉの実行終了を待たずに、一回他のユーザプロセスに横取りさせ、該資源を横取りしたユーザプロセスの動作の完了、もしくは横取りさせた資源の解放を待って、再度横取りされたユーザプロセスに資源を割り当てる必要がある。例えば、上で述べたＣＡＣデッドロック発生例では、プロセスＡが確保しているファイル＃１を横取りし、プロセスＢに割り当てるか、もしくは、プロセスＢが確保している物理リンクＰ０３６上の通信帯域を横取りし、プロセスＡに割り当てれば、どちらかのプロセスの実行が進み、実行終了時に解放された資源を使用してもう一方のプロセスの実行も行う事ができる。これにより、ＣＡＣデッドロックの解消ができたことになる。
【０３９０】
即ち、ＣＡＣデッドロックの解消を実現するためには、通常のＯＳがユーザプロセス群に対して割り当てる管理を行う、ファイル、メモリ、プロセッサといった資源の他に、ＡＴＭ通信網で特有の資源であるところの通信帯域も統一して管理し、それぞれのユーザプロセスに秩序だって割り当ててゆくと同時に、デッドロックを生じた場合はあるユーザプロセスから資源を横取りして別のユーザプロセスに先に割り当てる処理を実現する必要がある。
【０３９１】
資源の横取りを実現するときは、該資源の横取りを行うためのオーバーヘッドが小さくなる様な処理とするのが望ましい。オーバーヘッドを小さくするためには、各資源の性質を勘案して横取り処理を構築する必要がある。この勘案すべき資源の性質には、以下の二つの種別がある。
【０３９２】
その第１の種別は、ファイルに代表される、サイドイフェクトのある資源である。サイドイフェクトとは、あるプロセスが該資源を確保して該資源に対して何らかの処理を行った結果が他のプロセスの実行に影響を及ぼすことである。例えば、あるファイルに複数のプロセスが何らかのデータを書き込む事を考える。初期値“０”を持つファイルＡに対して、プロセスＡは、”Ａ”というデータを書き込み、プロセスＢは“Ｂ”というデータを書き込むとする。最初にプロセスＡが実行されて次にプロセスＢが実行される場合、プロセスＢがファイルＡをアクセスした結果読み取れる情報は“Ａ”であるが、先にプロセスＢが実行される場合、ファイルＡから読みとれる情報は“０”となる。即ち、プロセスＡの実行がプロセスＢの実行に影響を及ぼしている。
【０３９３】
サイドイフェクトのある資源に対するアクセス順序は、このようにそれぞれのプロセスの実行に大きな影響を及ぼす。
【０３９４】
一方、もう一つの資源の種別は、例えばプロセッサに代表される、サイドイフェクトの無い資源である。プロセッサの場合、あるプロセスから別のプロセスに割り当てが変更される時は、プロセッサ内部のレジスタの値が一旦どこかに、一般的にはメモリ上のスタックと呼ばれる領域に退避され、新たに実行されるプロセスの持っていたレジスタの値がプロセッサ内部にロードされた後に、該新しいプロセスの実行が開始される。このようにプロセッサのプロセスへの割り当てが行われている限り、あるプロセスの実行が他のプロセスの実行に影響を与えることは無い。即ち、サイドイフェクトはない。
【０３９５】
サイドイフェクトのある資源を横取りする場合、あるプロセスがその資源に対して行った操作を一旦元にもどして、別の資源に割り当てる必要がある。例えば、上で述べてきた、プロセスＡとプロセスＢがファイル＃１（Ｐ０４１）と物理リンクＰ０３６の取り合いを行った結果として発生するデッドロックを解決する場合に、プロセスＡが確保しているファイル＃１を横取りする為には、プロセスＡがスリープするまでにファイル＃１に行った処理、例えばデータの書き込みであるとか、データの削除であるとか、を一旦元に戻す必要がある。さもなければ、プロセスＡの処理途中という中途半端な状態のファイル＃１にプロセスＢがアクセスすることになる。ファイルの内容を元に戻すのはオーバーヘッドの大きな処理である。よって、横取りする資源としては、サイドイフェクトのない資源を優先して横取りするのが望ましい。
【０３９６】
上で述べたプロセッサなどの他に、ＡＴＭ通信網特有の資源である通信帯域もサイドイフェクトのない資源と考えることができる。即ち、通信帯域は横取りを行うに適した資源である。通信帯域が横取りされて、ユーザプロセスの処理を行うことができなくなった時は、該ユーザプロセスは、その時の状態でスリープさせられる。再度通信帯域が割り当てられて、ユーザプロセスの処理が再開されたとしても、スリープされた時のユーザプロセスの状態から処理が進み、メッセージ送出が行われるだけであるので、スリープされた事を意識しないで処理を進める事ができる。スリープ直前にＡＴＭ通信網に投入されたメッセージで、スリープ後にユーザプロセスに到着したメッセージは、該ユーザプロセスが受け取れない事もあるが、この場合はメッセージがビット誤り等で廃棄された時と同じように再送等の処理を実行することで正常な処理を行うことができる。
【０３９７】
プロトコル処理上、何らかの要求を送出した後、予め定められた時間その応答が帰ってこない場合、異常が発生した（例えば要求メッセージが廃棄されてしまった等）としてタイムアウト処理を起動する事が良く行われるが、このタイムアウトを処理するためのタイマを、ユーザプロセスがスリープしている間停止させておけば、ユーザプロセスがスリープしている間にタイムアウトが起こらず、より望ましい。
【０３９８】
一方、通信帯域が割り当てられたユーザプロセスがスリープしている間は、該ユーザプロセスはメッセージを送出する事がない、即ちスリープしているユーザプロセスは通信帯域を使用しないので、該ユーザプロセスに割り当てられた通信帯域を他のユーザプロセスに横取りさせ、該通信帯域にて別のユーザプロセスが通信を行うことにすると、物理リンク上の通信帯域を有効利用でき、ユーザプロセス群の総実行時間を短縮できるという利点がある。
【０３９９】
以下、サイドイフェクトのない資源である通信帯域とサイドイフェクトのある資源であるファイルを統合して管理する手法について、より詳細に説明する。
【０４００】
上述した本発明の第４のアプリケーションであるユーザプロセスのスケジューリング法の場合、各物理リンクＰ０３ｉの通信帯域への各ユーザプロセスからの要求をスケジューリングするため、図３１に示すように、各ユーザプロセスからの通信帯域への要求を物理リンク毎に一旦保持する通信帯域管理プロセスＱ０１１〜Ｑ０１９を設けている。通信帯域管理プロセスＱ０１１は物理リンクＰ０３１上の通信帯域、通信帯域管理プロセスＱ０１２は物理リンクＰ０３２上の通信帯域、以下同様に通信帯域管理プロセスＱ０１９は物理リンクＰ０３９の通信帯域をそれぞれ管理している。各通信帯域管理プロセスＱ０１ｉは、各ユーザプロセスからの通信帯域要求をキューイングするためのプロセスキューＱ０３ｉを含んでいる。さらに、通信帯域に関しては横取りを許すため、各通信帯域管理プロセスＱ０１ｉは、あるユーザプロセスに割り当てられた通信帯域を別のプロセスに横取りさせた時に、横取りされたプロセスを保持しておく被横取りプロセスレジスタＱ０４ｉも含んでいる。
【０４０１】
一方、各ファイルＰ０４ｉへの各ユーザプロセスからの要求をスケジューリングするため、各ユーザプロセスからの要求をファイル毎に一旦保持する、ファイル管理プロセスＱ０２１〜Ｑ０２５がさらに設けられている。ファイル管理プロセスＱ０２１はファイル＃１（Ｐ０４１）を、ファイル管理プロセスＱ０２２はファイル＃２（Ｐ０４２）を、以下同様にファイル管理プロセスＱ０２５はファイル＃５（Ｐ０４５）を、それぞれ管理している。各ファイル管理プロセスＱ０２ｉは、各ユーザプロセスからのファイル使用要求をキューイングするためのプロセスキューＱ０５ｉを含んでいる。ここで説明するスケジューリング法では、サイドイフェクトのあるファイルに関しては横取りを許さない事とする。この為、横取りに係るオーバーヘッドは小さくなるが、一方で、ファイルに関してデッドロックが発生することがある。これに関しては、例えばＧｅｏｒｇｅ  Ｆ．  Ｃｏｕｌｏｕｒｉｓ  とＪｅａｎ  Ｄｏｌｌｉｍｏｒｅによる“分散システム  コンセプトとデザイン”（監訳  水野忠則、電気書院）に開示されている、先行並列トランザクション等、共有ファイルシステムに対する並行性制御の為の良く知られたプロトコルを適用すればデッドロックの発生確率を低下させることができる。こういったプロトコルをファイルに関して適用するか否かは本発明の有効性に何等影響を与えない。
【０４０２】
ここでは、説明を簡単にするため、ファイルに関してはこのような並行性制御プロトコルが適用されていないものとして以降の説明を進める。勿論、ここで説明している通信帯域の横取りと、ファイルに関する並行性制御プロトコルを同時に実行すると、よりデッドロック発生確率は低下するが、この場合、横取りに係るオーバーヘッドが大きくなるというペナルティも生じる。
【０４０３】
これらの通信資源管理プロセスＱ０１ｉとファイル管理プロセスＱ０２ｉは、図３２に示すようにプロセススケジューラＲ２１と通信を行えるように構成される。プロセススケジューラＲ２１は、各ユーザプロセスからの資源要求を勘案しながらユーザプロセス＃ｉ（Ｒ１ｉ）の動作を制御する。各ユーザプロセス＃ｉは、プロセススケジューラＲ２１に向けてプロセッサ資源以外の資源への使用要求を出す。プロセススケジューラＲ２１は、資源を管理するプロセス群Ｑ０１ｉ，Ｑ０２ｉと通信を行い、それぞれの要求に資源を割り当てるか、否かを決定する。資源が割り当てられた時はユーザプロセス＃ｉの実行は継続され、資源が割り当てられなかった時はその資源が割り当てられるまで、該ユーザプロセスはスリープさせられる。
【０４０４】
なお、それぞれのユーザプロセス＃ｉは、通信帯域の確保されたＡＴＭコネクションを通じて通信する複数のサブプロセスＲ１３１、Ｒ１３２からなっているものとしても良い。この場合、これら複数のサブプロセスは、全て同時にスリープ／再起動されるものとする。また、これらの複数のサブプロセスがそれぞれ要求する資源は、同一のプロセスから要求されているものとしてプロセススケジューラＲ２１が処理することとしてもよい。
【０４０５】
次に、図３３を参照してプロセススケジューラＲ２１が実行するプロセスキュー群を用いたＣＡＣデッドロックの検出法及び回避法の原理を示す。同図には、上述したＣＡＣデッドロックの発生する例、ファイル＃１（Ｐ０４１）と物理リンクＰ０３６に関して競合する二つのプロセスＡ、Ｂの動作について、競合の発生する部分についてのみ示してある。
【０４０６】
ここで述べている例において、関係するプロセスキューは、物理リンクＰ０３６の帯域を管理するプロセスキューＱ０３６と、ファイル＃１を管理するプロセスキューＱ０５１である。これらのプロセスキューには、対応する資源に対して要求を出したプロセスの識別子が保持される。これらのプロセスキューの先頭に保持された識別子に対応するプロセスに対応する資源が割り当てられ、それ以降の識別子に対応するプロセスがこの資源の割り当てを待っている。
【０４０７】
図３３において、状態１と名付けられた破線に囲まれた箱（Ｓ０１）の内部には、プロセスＡに物理リンクＰ０３９の通信帯域が、またプロセスＢにファイル＃１がそれぞれ割り当てられ、さらにプロセスＢがファイル＃１の割り当てを待っている状態が示されている。プロセスＢは、ファイル＃１の割り当てがなされるまでスリープしている。
【０４０８】
この状態でプロセススケジューラＲ２１がプロセスＡに物理リンクＰ０３９の通信帯域の割り当てを行う場合、該プロセススケジューラＲ２１はプロセスＡの識別子をプロセスキューＱ０３６にエンキューしようとし、状態２と名付けられ破線の箱（Ｓ０２）中の状態に遷移する。
【０４０９】
プロセスＡの識別子をプロセスキューＱ０３６にエンキューするとき、プロセスキューＱ０３６には既にプロセスＢの識別子がエンキューされており（即ちプロセスＢに既に物理リンクＰ０３９の帯域が割り当てられており）、プロセスＡは物理リンクＰ０３９の帯域を待つ事になる。プロセススケジューラＲ２１は、プロセスの識別子をプロセスキューにエンキューするとき、該エンキューする識別子に対応するプロセスに、該プロセスキューに対応する資源が直ちに割り当てられず待ちに入る場合、デッドロックを回避するため、以下のことを行う。
【０４１０】
まず、新たにエンキューされようとしている識別子に対応するプロセス（ここでの例ではプロセスＡ）に、既に割り当てられている資源（ここでの例ではファイル＃１）をリストアップする（ステップ１）。次に、該割り当てられている資源を待っているプロセス（ここでの例ではファイル＃１をプロセスＢが待っている）をリストアップする（ステップ２）。ステップ２でリストアップしたプロセスが、現在待ちに入ろうとしている資源を確保しているか否かを確認する（ステップ３）。もし、ステップ２でリストアップしたプロセスが、現在待ちに入ろうとしている資源を既に確保しているならば（ここでの例ではプロセスＢが既に物理リンクＰ０３９の通信帯域を確保している）、そのままその資源を待つとデッドロックとなり、そま資源割り当ては望ましくない。ここまででプロセススケジューラＲ２１により、デッドロックが検出された事になる。
【０４１１】
デッドロックが検出されると、プロセススケジューラＲ２１はデッドロックを回避するために、サイドイフェクトのない資源（ここでの例では物理リンクＰ０３９の通信帯域）を既に確保しているプロセスから横取りし（ステップ４）、該横取りした資源を新たに要求を起こしたプロセスに割り当てる（ステップ５）。ここでの例では物理リンクＰ０３９の通信帯域をプロセスＢから横取りし、プロセスＡに割り当てる。この状態を図３３に示したプロセスキュー群で表現するため、プロセススケジューラＲ２１は、物理リンクＰ０３９の通信帯域に対応するプロセスキューＱ０３６からプロセスＢの識別子をデキューし、被横取りプロセスレジスタＱ０４６にプロセスＢの識別子を保持させた後、プロセスＡの識別子を該プロセスキューＱ０３６にエンキューする。これにより、プロセスＡの実行に必要な資源が全て割り当てられたことになり、プロセススケジューラＲ２１によりプロセスＡの実行が継続される。即ちＣＡＣデッドロックが解消された事になる。
【０４１２】
次に、プロセススケジューラＲ２１が実行するプロセス実行制御の方法を、より複雑な例を用いて説明する。
【０４１３】
まず、図３４を参照しながら、ここでプロセス実行制御を説明する為の例を説明する。ここで説明する例は、ユーザプロセス＃１（Ｔ０１），＃２（Ｔ０２），＃３（Ｔ０３）の三つのユーザプロセスを同時に実行する場合である。
【０４１４】
ユーザプロセス＃１（Ｔ０１）は、コネクションＴ０１３を用いてＡＴＭ−ＬＡＮを通じて互いに通信を行う、端末Ｐ０２１上で実行されるサブプロセスＴ０１１と端末Ｐ０２５上で実行されるサブプロセスＴ０１２とからなっている。サブプロセスＴ０１１はファイル＃１（Ｐ０４１）を、サブプロセスＴ０１２はファイル＃５（Ｐ０４５）を、それぞれ参照する。
【０４１５】
また、ユーザプロセス＃２は、コネクションＴ０２３を用いてＡＴＭ−ＬＡＮを通じて互いに通信を行う、端末Ｐ０２１上で実行されるサブプロセスＴ０２１と端末Ｐ０２４上で実行されるサブプロセスＴ０２２とからなっている。サブプロセスＴ０２１はファイル＃１（Ｐ０４１）を、サブプロセスＴ０２２はファイル＃４（Ｐ０４４）を、それぞれ参照する。
【０４１６】
さらに、ユーザプロセス＃３は、コネクションＴ０３３を用いてＡＴＭ−ＬＡＮを通じて互いに通信を行う、端末Ｐ０２２上で実行されるサブプロセスＴ０３１と端末Ｐ０２３上で実行されるサブプロセスＴ０３２とからなっている。サブプロセスＴ０３１はファイル＃２（Ｐ０４２）を、サブプロセスＴ０３２はファイル＃３（Ｐ０４３）を、それぞれ参照する。
【０４１７】
それぞれのユーザプロセスは、図３５に示す順番でＡＴＭ−ＬＡＮ中の物理リンクの通信帯域を確保して自分に必要なコネクションを設定し、自分に必要なファイルを確保する。
【０４１８】
ユーザプロセス＃１（Ｔ０１）は、まずコネクションＴ０１３を設定すべく、コネクションＴ０１３の設定される物理リンクの帯域を順に要求し、次にふたつのファイルを要求する。具体的には、まず、コネクションＴ０１３を設定するため、物理リンクＰ０３６の帯域を管理している通信帯域管理プロセスＱ０１６に対して要求を行い、次に物理リンクＰ０３３に対応する通信帯域管理プロセスＱ０１３に対して要求を行い、次に物理リンクＰ０３１に対応する通信帯域管理プロセスＱ０１１に対して要求を行い、次に物理リンクＰ０３２に対応する通信帯域管理プロセスＱ０１３に対して要求を行い、次に物理リンクＰ０３５に対応する通信帯域管理プロセスＱ０１５に対して要求を行う。その後、ファイル＃１を使用するためファイル管理プロセスＱ０２１に対して要求を行い、ファイル＃５を使用するためにファイル管理プロセスＱ０２５に対して要求を行う。
【０４１９】
また、ユーザプロセス＃２（Ｔ０２）は、まずふたつのファイルを要求し、次にコネクションＴ０２３を設定すべく、コネクションＴ０２３の設定される物理リンクの帯域を順に要求する。具体的には、まず、ファイル＃１を使用するためファイル管理プロセスＱ０２１に対して要求を行い、ファイル＃４を使用するためにファイル管理プロセスＱ０２４に対して要求を行う。その後、コネクションＴ０２３を設定するため、物理リンクＰ０３９の帯域を管理している通信帯域管理プロセスＱ０１９に対して要求を行い、次に物理リンクＰ０３４に対応する通信帯域管理プロセスＱ０１４に対して要求を行い、次に物理リンクＰ０３３に対応する通信帯域管理プロセスＱ０１３に対して要求を行い、次に物理リンクＰ０３７に対応する通信帯域管理プロセスＱ０１７に対して要求を行う。
【０４２０】
一方、ユーザプロセス＃３（Ｔ０３）は、まずファイル＃２を要求し、次にコネクションＴ０３３を設定すべく、コネクションＴ０３３の設定される物理リンクの帯域を順に要求する。その後、ファイル＃３を要求する。具体的には、まず、ファイル＃２を使用するためファイル管理プロセスＱ０２２に対して要求を行う。次に、コネクションＴ０３３を設定するため、物理リンクＰ０３７の帯域を管理している通信帯域管理プロセスＱ０１７に対して要求を行い、次に物理リンクＰ０３３に対応する通信帯域管理プロセスＱ０１３に対して要求を行い、次に物理リンクＰ０３４に対応する通信帯域管理プロセスＱ０１４に対して要求を行い、次に物理リンクＰ０３８に対応する通信帯域管理プロセスＱ０１８に対して要求を行う。最後に、ファイル＃３を使用するためにファイル管理プロセスＱ０２３に対して要求を行う。
【０４２１】
これらのユーザプロセスは、並列に実行されるため、それぞれのユーザプロセスが発効する資源に対する要求がプロセススケジューラＲ２１によって扱われる実際の順番は、それぞれの端末の負荷等によって大きく変化するが、ここでは、説明の都合上、図３０の各資源を管理するプロセスに対する要求の横に付けられた丸数字で示した順番でプロセススケジューラＲ２１によって処理されるものとしている。
【０４２２】
以降、図３６〜図４０を参照しながら、プロセススケジューラＲ２１がそれぞれの資源管理プロセスを参照しながら実行する資源管理とプロセス実行制御を順をおって説明する。なお、図３６〜図４０ではそれぞれの資源管理プロセスの持つプロセスキューと被横取りプロセスレジスタの状態を示し、さらに、それぞれのユーザプロセス毎にプロセススケジューラＲ２１が準備する、各ユーザプロセスが待っている資源のリストＵ０１，Ｕ０２，Ｕ０３の状態も示している。
【０４２３】
丸数字１から丸数字８までの資源要求は、他のプロセスがまだ確保していない資源に対する要求であり、それぞれ要求したプロセスに割り当てられる。図３６では、それぞれの資源に対応するプロセスキューの先頭に、割り当てられたユーザプロセスの識別子が現れることで、この状態が表現されている。
【０４２４】
なお、物理リンクの帯域が割り当てられると同時に、各物理リンクで、設定しようとしているコネクションを識別するＶＰＩ／ＶＣＩも同時に割り当てられている。このＶＰＩ／ＶＣＩ割り当ては、物理リンク毎に独立して行うことが可能であり、容易に実現する事ができる。例えば、各通信帯域管理プロセスが該プロセスの管理している物理リンク上に設定可能なＶＰＩ／ＶＣＩの値の範囲と、割り当て済みＶＰＩ／ＶＣＩのリストを保持し、ＶＰＩ／ＶＣＩの値の設定が可能な範囲と、割り当て済みＶＰＩ／ＶＣＩのリストから、設定可能でまだ割り当てていないＶＰＩ／ＶＣＩを検索して割り当てる事にしても良い。このＶＰＩ／ＶＣＩ割り当ての結果を、本発明者が特願平５−１２０３５１にて開示した、各ハブへのルーティングタグ設定プロトコルにて、必要なハブに通知しておく様にしてもよい。ＶＰＩ／ＶＣＩが通知されたハブは、通知されたＶＰＩ／ＶＣＩを必要なルーティングタグテーブルに予め設定しておく。このとき同時に、次に帯域の確保される物理リンクのポート番号も指定する様にしておく。これにより、ハブ内部でのセルのルーティングに供されるルーティングタグを、ハブ自身が計算可能となる。計算されたルーティングタグが、通知されたＶＰＩ／ＶＣＩと共に、ルーティングタグテーブルに書き込まれる事になる。
【０４２５】
丸数字９の資源要求は、既に丸数字４でユーザプロセス＃１が確保している物理リンクＰ０３３への資源要求である。この時、まだどの資源でも資源待ちが発生しておらず、資源割り当てに関するデッドロックは発生しないので、ユーザプロセス＃３をスリープさせても問題ない。ユーザプロセス＃３がスリープさせられると同時に、ユーザプロセス＃３の待ちが物理リンクＰ０３３の通信帯域に関するプロセスキューＱ０３３に登録され（図３６）、またユーザプロセス＃３が待っている資源のリストＵ０３に、物理リンクＰ０３３の割り当てを管理している通信帯域管理プロセスのプロセス番号をエンキューする。この、通信帯域管理プロセスのプロセス番号を、プロセススケジューラＲ２１は各資源の識別子として使用する。
【０４２６】
なお、物理リンクＰ０３３に対応するプロセスキューＱ０３３にユーザプロセス＃３の識別子をエンキューする前に、前述の、直ちに通信帯域が割り当てられる場合と同様、待ちに入る場合でも、物理リンクＰ０３３上でユーザプロセス＃３が使用するＶＰＩ／ＶＣＩを予め決定しておき、この結果を、本発明者が特願平５−１２０３５１にて開示したルーティングタグ設定プロトコルにて、必要なハブに通知しておく様にしてもよい。通知されたハブは、予めユーザプロセス＃３が使用するＶＰＩ／ＶＣＩをルーティングタグテーブルに設定しておく。この時、同時にルーティングタグをハブが計算して同時に設定しておくのも、直ちに帯域が割り当てられる場合と同様である。
【０４２７】
丸数字１０から丸数字１２までは、対応する資源を既に確保しているプロセスが無いため、ユーザプロセス＃１（Ｔ０１）、ユーザプロセス＃２（Ｔ０２）が要求した資源が割り当てられる。
【０４２８】
丸数字１３では、ユーザプロセス＃２が、物理リンクＰ０３３に対して要求を出す。物理リンクＰ０３３は既にユーザプロセス＃１に割り当てられ、さらにユーザプロセス＃３が待ちに入っている。ユーザプロセス＃２が、物理リンクＰ０３３を待ってスリープしてもデッドロックが起きないか、上で述べた様にチェックが行われる。ここでは、物理リンクＰ０３３以外の資源ではまだ待ちが発生していないので、ユーザプロセス＃２の待ちが物理リンクＰ０３３の通信帯域に関するプロセスキューＱ０３３に登録され、ユーザプロセス＃２がスリープさせられる（図３６）。この時、ユーザプロセス＃２が待っている資源のリストＵ０２に、物理リンクＰ０３３の割り当てを管理している通信帯域管理プロセスのプロセス番号をエンキューする。
【０４２９】
ここまでで、スリープさせられていないユーザプロセスはユーザプロセス＃１のみとなっている。ユーザプロセス＃１は、次に丸数字１４の要求、ファイル＃１（Ｐ０４１）への要求をプロセススケジューラＲ２１に出す。
【０４３０】
ファイル＃１（Ｐ０４１）は、既に丸数字２の要求によってユーザプロセス＃２に割り当てられている。ユーザプロセス＃１の待ちをファイル＃１（Ｐ０４１）に関するプロセスキューＱ０５１に登録する前に、プロセススケジューラＲ２１は、この待ちがデッドロックを生じないか、確認する（図３６）。
【０４３１】
まず、プロセススケジューラＲ２１は、ユーザプロセス＃１が既に確保している資源を待っているユーザプロセスのリストを得ることを行う。この段階で、ユーザプロセス＃１に割り当てられている資源は、以下の通りである。即ち、物理リンクＰ０３１の帯域（丸数字７の要求による）、物理リンクＰ０３２の帯域（丸数字１０の要求による）、物理リンクＰ０３３の帯域（丸数字４の要求による）、物理リンクＰ０３５の帯域（丸数字１２の要求による）である。これらの資源を待っているプロセスは、物理リンクＰ０３３の帯域を管理しているプロセスキューＱ０３３に保持されているプロセスの識別子から知ることができ、それはユーザプロセス＃３とユーザプロセス＃２である。
【０４３２】
ユーザプロセス＃１が既に確保している資源を待っているユーザプロセスのリストを得ることができたので、次に、プロセススケジューラＲ２１は、そのユーザプロセスのリスト中に、ユーザプロセス＃１が確保しようとしている資源、即ちファイル＃２を既に確保しているユーザプロセスが無いか確認することで、デッドロック検出を行う。図３６に示した状態で、ファイル＃２を確保しているプロセスはユーザプロセス＃２であり、先に作ったプロセスリスト中に存在するので、ファイル＃２に対してユーザプロセス＃１が待ちに入るとデッドロックが発生してしまう。
【０４３３】
デッドロックが検出されたので、次にプロセススケジューラＲ２１は、既に割り当てのされている資源の横取りを行いデッドロックの回避を行う（図３７）。ユーザプロセス＃１が待ちに入ると、ユーザプロセス＃１とユーザプロセス＃２がデッドロックに入る事が、先に作ったプロセスリストとプロセスキューＱ０５１の状態から分かる。この時、ユーザプロセス＃１が資源獲得に失敗した資源はファイルというサイドイフェクトのある資源である一方、ユーザプロセス＃２が待っている資源は通信帯域というサイドイフェクトの無い資源である。よって、資源の横取りのオーバーヘッドの小さいのは、ユーザプロセス＃１をスリープさせる代わりにユーザプロセス＃２を再起動することである。
【０４３４】
ユーザプロセス＃２を再起動する時には物理リンクＰ０３３の通信帯域をユーザプロセス＃１から横取りする。これを表現するため、物理リンクＰ０３３の被横取りプロセスレジスタＱ０４３にユーザプロセス＃１の識別子を登録し、またファイル＃１（Ｐ０４１）の割り当てを管理するプロセスキューＱ０５１にユーザプロセス＃１の識別子を登録し、ユーザプロセス＃１をスリープさせる。この時、ユーザプロセス＃２が待っている資源のリストＵ０２から、物理リンクＰ０３３の割り当てを管理している通信帯域管理プロセスのプロセス番号をデキューすると同時に、ユーザプロセス＃１が待っている資源のリストＵ０１に、物理リンクＰ０３３の割り当てを管理している通信帯域管理プロセスのプロセス番号と、ファイル＃１（Ｐ０４１）の割り当てを管理しているファイル管理プロセスのプロセス番号をエンキューする（図３７）。
【０４３５】
なお、ユーザプロセス＃１に関して、物理リンクＰ０３３上の帯域は横取りされたが、ＶＰＩ／ＶＣＩやルーティングタグは横取りされる必要がない、事に注意が必要である。即ち、ユーザプロセス＃１が物理リンクＰ０３３上で使用するＶＰＩ／ＶＣＩと、ユーザプロセス＃２が該物理リンクＰ０３３上で使用するＶＰＩ／ＶＣＩとは、異なるように選択され、それぞれ独立に必要なハブのルーティングタグテーブルのエントリに設定されている。ユーザプロセス＃２に、ユーザプロセス＃１の確保していた帯域を横取りさせたからと言って、ユーザプロセス＃１の使用するＶＰＩ／ＶＣＩのルーティングタグテーブル上の設定を解放する必要はない。ユーザプロセス＃１に再度帯域が割り当てられ、再起動させられた時、ルーティングタグテーブルの設定が残っているため、迅速に通信を再開可能である事に注意が必要である。
【０４３６】
再起動されたユーザプロセス＃２は、次に丸数字１５の、物理リンクＰ０３７への要求をプロセススケジューラＲ２１に出す。物理リンクＰ０３７は、既に丸数字６の要求によってユーザプロセス＃３に割り当てられているが、この時ユーザプロセス＃３はスリープさせられているので、物理リンクＰ０３７の帯域を横取りし、ユーザプロセス＃２に対して割り当てる（図３８）。これでユーザプロセス＃２の実行に必要な資源が全てユーザプロセス＃２に割り当てられた事になり、これらの資源を解放するまでユーザプロセス＃２は実行が継続される。各帯域のプロセスキューにプロセスの識別子をエンキューする時、それぞれの物理リンク上でのＶＰＩ／ＶＣＩやルーティングタグの設定を順次行ってゆくので、この時、ユーザプロセス＃２が使用するコネクションＴ０２３を構成するＶＰ／ＶＣリンク設定に必要な、該コネクションＴ０２３の経路上のハブのルーティングタグテーブル設定は既に終了しており、ユーザプロセス＃２のサブプロセス間で通信が可能となる事に注意が必要である。
【０４３７】
ユーザプロセス＃２の実行が進み、該プロセスが確保していた資源を解放すると、その事を表現するため、資源を管理している各プロセスキューからユーザプロセス＃２の識別子がデキューされる。具体的には、物理リンクＰ０３３へのユーザプロセスの割り当てを管理しているプロセスキューＱ０３３、物理リンクＰ０３４に対応するプロセスキューＱ０３４、物理リンクＰ０３７に対応するプロセスキューＱ０３７、物理リンクＰ０３９に対応するプロセスキューＱ０３９、ファイル＃１（Ｐ０４１）に対応するプロセスキューＱ０５１、およびファイル＃４（Ｐ０４４）に対応するプロセスキューＱ０５４からそれぞれユーザプロセス＃２の識別子がデキューされる。その結果、ファイル＃１（Ｐ０４１）に関するプロセスキューの先頭にユーザプロセス＃１の識別子が現れ、ファイル＃１（Ｐ０４１）がユーザプロセス＃１に割り当てられる（図３９）。
【０４３８】
さらに、物理リンクＰ０３３に関しては、被横取りプロセスレジスタＱ０４３にユーザプロセス＃１の識別子が書かれているので、これをプロセスキューＱ０３３の先頭に挿入し、物理リンクＰ０３３の帯域が再度ユーザプロセス＃１に割り当てられる。これらの資源の識別子がユーザプロセス＃１が待っている資源のリストＵ０１からデキューされ、該リストが空になるので、ユーザプロセス＃１の実行が再開される。
【０４３９】
なお、あるユーザプロセスが解放した物理リンク上で使用されたＶＰＩ／ＶＣＩやルーティングタグに関するルーティングタグテーブル上の設定は、例えば本発明者が特願平５−１２０３５１にて開示した様な、ルーティングタグテーブル設定の解放プロトコルにて、コネクションＴ０２３が設定されていたハブ上も解放されることが望ましい。
【０４４０】
ユーザプロセス＃１は、次に丸数字１６の要求によりファイル＃５（Ｐ０４５）を獲得する。これによってユーザプロセス＃１の実行に必要な資源が全て割り当てられた事になり、これらの資源を解放するまでユーザプロセス＃１は実行が継続される。
【０４４１】
一方、物理リンクＰ０３７の帯域に関しては、該物理リンクの被横取りプロセスレジスタＱ０４７に保持されているユーザプロセス＃３の識別子がプロセスキューＱ０３７の先頭に挿入され、該物理リンクの帯域は再度ユーザプロセス＃３に割り当てられる。割り当てられた物理リンクの識別子がユーザプロセス＃３が待っている資源のリストＵ０３から削除されるが、この時、まだ該リストが空にならないので、ユーザプロセス＃３はまだスリープさせられたままである。
【０４４２】
ユーザプロセス＃１の実行が進み、該プロセスが確保していた資源を解放すると、その事を表現するため、資源を管理している各プロセスキューからユーザプロセス＃１の識別子がデキューされる。具体的には、物理リンクＰ０３１へのユーザプロセスの割り当てを管理しているプロセスキューＱ０３１、物理リンクＰ０３２に対応するプロセスキューＱ０３２、物理リンクＰ０３３に対応するプロセスキューＱ０３３、物理リンクＰ０３５に対応するプロセスキューＱ０３５、物理リンクＰ０３６に対応するプロセスキューＱ０３６、ファイル＃１（Ｐ０４１）に対応するプロセスキューＱ０５１、ファイル＃５（Ｐ０４５）に対応するプロセスキューＱ０５５からそれぞれユーザプロセス＃１の識別子がデキューされる。その結果、物理リンクＰ０３３に関するプロセスキューＱ０３３の先頭にユーザプロセス＃３の識別子が現れ、該物理リンクの帯域がユーザプロセス＃３に割り当てられる。この資源の識別子がユーザプロセス＃３の待っている資源のリストＵ０３からデキューされ、該リストが空になるので、ユーザプロセス＃３の実行が再開される（図４０）。
【０４４３】
ユーザプロセス＃３は、次に丸数字１７の要求即ち物理リンクＰ０３４の帯域に対する要求、丸数字１８の要求即ち物理リンクＰ０３８の帯域に対する要求、さらに丸数字１９の要求、即ちファイル＃３（Ｐ０４３）へのアクセス要求を順に出す。他に資源を要求するプロセスが既に存在しないので、これらの要求は全て満たされ、ユーザプロセス＃３の実行に必要な資源が全てユーザプロセス＃３に割り当てられ、ユーザプロセス＃３の実行が継続される。
【０４４４】
ここまでで述べてきたように、資源に対する要求を出した時、該資源が別のプロセスによって確保されている場合は、要求を出したプロセスをスリープさせる事で、資源に対するアクセスの順番が制御されることになる。
【０４４５】
以上で、プロセススケジューラＲ２１にて実行される資源管理とプロセス実行制御に関する説明を終わる。
【０４４６】
ここで、各資源を管理するプロセス、通信帯域管理プロセスＱ０１ｉ、ファイル管理プロセスＱ０２ｉはプロセススケジューラＲ２１から独立したプロセスとして説明したが、明らかに、プロセススケジューラＲ２１がこれらのプロセスの持つプロセスキューと被横取りプロセスレジスタを内蔵する事としてもよい。独立したプロセスとすれば、特に物理リンクの増設等、網構成の変更に柔軟に対応できるという利点があるが、一方でプロセス間通信が増えるのでオーバーヘッドが増加する、という欠点も発生する。どのようなプロセス構成にするか、はプロセススケジューラＲ２１に要求されるデッドロック検出／回避にかかる時間によって決定されるべき事項である。
【０４４７】
また、ここで述べた例では、横取りされる資源に、被横取りプロセスレジスタを設け、横取りが発生した時に該レジスタに横取りされたプロセスの識別子を保持する事としたが、これは、プロセスキューの先頭のプロセス識別子の次に、横取りしたプロセスの識別子を割り込ませるようにしても実現する事が可能であることは言うまでもない。
【０４４８】
さらに、ここで述べた例では、一つの物理リンクの帯域を全て一つのプロセスに割り当てるものとして説明を進めてきたが、もちろん、一つの物理リンクの帯域を分割して複数のプロセスに割り当てる事としてもよい。
【０４４９】
一つの物理リンクの帯域を分割して複数のプロセスに割り当てる事は、例えば、以下の様に実現することができる。通信帯域管理プロセスＱ０１ｉは、図４１に示すような、プロセス識別子と要求帯域、さらに割り当てフラグを組にしたワードを保持できるプロセスキューＶ０１と、該通信帯域管理プロセスＱ０１ｉが管理している物理リンクに、ユーザプロセスに割り当てられずに残っている残余帯域レジスタＶ０２を含むように構成されても良い。図４１に示したプロセスキューＶ０１は、１５０Ｍｂｐｓの帯域幅を持つ物理リンクを管理しているものとしている。図４１には、プロセス＃１からの３０Ｍｂｐｓの帯域の要求と、プロセス＃２からの５０Ｍｂｐｓの帯域の要求と、プロセス＃３からの２０Ｍｂｐｓの帯域の要求と、プロセス＃４からの８０Ｍｂｐｓの帯域の要求とがプロセスキューＶ０１によって管理される状況が示されている。
【０４５０】
状態１は、プロセス＃１，＃２，＃３，＃４がこの順番に物理リンクの帯域を要求した後の状態である。プロセス＃１，＃２，＃３にはそれぞれ要求通りの帯域が割り当てられている。この事がこれらのプロセス識別子に対応した割り当てフラグが”１”である事で示されている。プロセス＃１，＃２，＃３の要求している帯域は総計で１００Ｍｂｐｓであり、該プロセスキューに対応する物理リンク上に残っている帯域は５０Ｍｂｐｓである。残余帯域レジスタＶ０２には、この残っている帯域５０Ｍｂｐｓが記録されている。プロセス＃４は８０Ｍｂｐｓの帯域を要求しており、現在物理リンク上に残っている帯域を越えた帯域を要求しているため、帯域割り当ては行われていない。これがプロセス＃４に対応する割り当てフラグが“０”であることで示されている。
【０４５１】
状態２は、状態１からプロセス＃１が帯域を解放し、プロセス＃４に帯域が割り当てられた状態を示している。
【０４５２】
状態１で、プロセス＃１が該物理リンクに確保している３０Ｍｂｐｓの帯域を解放すると、プロセス＃１に関する要求がプロセスキューＶ０１からデキューされると同時に、残余帯域レジスタＶ０２に解放された３０Ｍｂｐｓが加算される。その結果、残余帯域レジスタＶ０２にプロセス＃１が帯域を解放した結果物理リンク上に残っている８０Ｍｂｐｓが記録される事になる。プロセス＃１が帯域を解放した結果として、プロセス＃４が要求している帯域を物理リンク上にとることができるようになり、プロセス＃４に帯域を割り当てる事ができる。
【０４５３】
プロセス＃４に帯域が８０Ｍｂｐｓ割り当てられると、プロセス＃４の識別子に対応する割り当てフラグが“１”になると同時に、残余帯域レジスタＶ０２から割り当てられた帯域８０Ｍｂｐｓが引き去られる。この結果、残余帯域レジスタＶ０２には”０Ｍｂｐｓ”と記録されることになる。
【０４５４】
状態２で、デッドロックを回避するため、例えばプロセス＃４に割り当てられた８０Ｍｂｐｓの帯域を横取りして他のプロセスに割り当てる事を行ってもかまわない。この場合、上で述べた、物理リンクの帯域全てをひとつのプロセスに割り当てる場合と同様、プロセス＃４がスリープさせられるので、該８０Ｍｂｐｓの帯域をプロセス＃４が使用することが無く、ハブで輻輳を発生することがないことは言うまでもない。また、横取りが起こった場合に、プロセス＃４に割り当てられたＶＰＩ／ＶＣＩやルーティングタグの設定をハブにて解放する必要がない事も、上で述べた物理リンクの帯域全てを一つのプロセスに割り当てる場合と同様である。
【０４５５】
以上で、本発明の第４のアプリケーションである分散実行されるユーザプロセスのスケジューリング手法に関する説明を終わる。
【０４５６】
＜本発明に基づく第４のアプリケーションにおけるユーザプロセスのスケジューリング法の実現方法について＞
以上述べたユーザプロセスのスケジューリング手法は、例えばＡＴＭ−ＬＡＮの呼設定プロセス、特に本発明者が特願平５−１２０３５１で開示したコネクション設定プロセスで実行することも可能である。しかしながら、このようにＡＴＭ通信システム中の一つのプロセスでユーザプロセスのスケジューリングを行うと、そのプロセスのスループットでＡＴＭ通信システム上のマルチメディアアプリケーションのスループットが制限され、望ましくない。このスケジューリング手法は、各端末で分散して実行されるのが望ましいが、本発明によるとこれが実現可能である。
【０４５７】
次に、ここで述べた手法を本発明を用いて実現する手法について、詳細に説明する。
【０４５８】
図４２に、上で述べたユーザプロセスのスケジューリング法を本発明によって実現する為の各端末のプロセス構成の一例を示す。それぞれの端末には、プロセススケジューラＷ０２ｉ、通信帯域管理プロセスＷ０３ｉ、資源割り当て通信プロセスＷ０４ｉ、および自資源管理プロセスＷ０５ｉが設けられる。
【０４５９】
各端末のプロセススケジューラＷ０２ｉは、それぞれの端末上のユーザプロセス＃ｉの発効するそれぞれの資源の要求を受け取り、それぞれの資源を管理しているプロセスと通信して割り当てを行い、またユーザプロセスの実行制御を行う。自資源管理プロセスＷ０５ｉは、それぞれの端末が持つ、即ちＡＴＭ−ＬＡＮを経由しなくてもアクセスが可能な、ファイルシステムやその他の資源を管理する。この為に、図３１に示したファイル管理のためのプロセスキューと同等のプロセスキューを、自分が管理する資源毎に持っている。
【０４６０】
一方、通信帯域管理プロセスＷ０３ｉはＡＴＭ−ＬＡＮ中の物理リンクの中の、予め定められた物理リンクの帯域管理を行うため、図３１もしくは図４１に示した通信帯域を管理するためのプロセスキューを自分が管理する物理リンク毎に持っている。資源割り当て通信プロセスＷ０４ｉは、それぞれの端末が自分の上で実行しているユーザプロセスＷ０１ｉが要求する資源で、自分が管理していない資源の他の端末に対する要求の送出、もしくは他の端末からの、自分が管理している資源への要求の受信をｎ：ｎの双方向ＡＴＭコネクションＷ０６を使用して実行する。このプロセスが、ｎ：ｎの双方向ＡＴＭコネクションＷ０６上で割り当てられたＭＩＤによるセル分割等のアダプテーション処理を行う。
【０４６１】
それぞれの端末上の通信帯域管理プロセスＷ０３ｉは、ＡＴＭ−ＬＡＮ内部の割り当てられた物理リンクの帯域管理を行う。このため、通信帯域管理プロセスＷ０３ｉに対して、立ち上げ時に物理リンクの割り当てを行う必要がある。まず、この立ち上げ時の物理リンクの割り当て法、及び各端末への通知法について説明する。
【０４６２】
ＡＴＭ−ＬＡＮに接続されている端末に電源が投入されると、各端末は、まず独立に自分の実行するプロセス群のスケジューリングを行うためにプロセススケジューラＷ０２ｉを起動し、マルチプロセス環境を立ち上げる。プロセススケジューラＷ０２ｉは、端末内でユーザプロセスＷ０１ｉ等の実行制御を行うと同時に、各プロセス間の通信を行うための機能も提供している。端末上でプロセスが通信を行う場合は、必ずプロセススケジューラＷ０２ｉを経由してメッセージのやりとりが行われる。
【０４６３】
マルチプロセス環境が立ち上がると、次に、各端末は自分の保持するファイルシステム等の資源を管理する自資源管理プロセスＷ０５ｉを立ち上げる。該自資源管理プロセスＷ０５ｉは、それぞれの端末が持つ資源の割り当てを行うプロセスキューを含む。既に市場に存在しているワークステーションで実施されているように、各端末は自分が持つ資源のリストを電源投入後直ちに作成できる様構成されるので、この自分の持つ資源のリストを用いて必要なプロセスキュー群を生成することが可能である。その後、各端末は、他の端末と通信を行って資源の融通を行うため、資源割り当て通信プロセスＷ０４ｉを立ち上げる。該資源割り当て通信プロセスＷ０４ｉは、外界とｎ：ｎの双方向ＡＴＭコネクションＷ０６を用いて他の端末と通信を行う。該ｎ：ｎの双方向ＡＴＭコネクションＷ０６を端末とハブの間の物理リンクで識別するためのＶＰＩ／ＶＣＩ、即ち、該プロセスがセルを送出するときのＶＰＩ／ＶＣＩ、及び該プロセスが受信するセルのＶＰＩ／ＶＣＩは、分散アプリケーション実行の制御用に予め定められているものとする。
【０４６４】
各端末でプロセススケジューラＷ０２ｉ、資源割り当て通信プロセスＷ０４ｉおよび自資源管理プロセスＷ０５ｉが立ち上がると、該ＡＴＭ−ＬＡＮの管理者は、ひとつの端末を選択して、該端末が立ち上げの種となるよう指示する。立ち上げの種となることが指示された端末は、まず、例えば、本発明者が特願平５−１２０３５１にて開示した手法等を用いて、網構成認識を行い、ＡＴＭ−ＬＡＮに含まれるハブ、端末、物理リンクを認識する。
【０４６５】
次に、立ち上げの種となる端末は、構成認識の結果を用いて、分散アプリケーションを実行する“場”を構成する端末をｎ：ｎの双方向ＡＴＭコネクションＷ０６を設定する。この為、端末は例えば本発明者が特願平５−１２０３５１にて開示した手法等を用いて、必要なハブのルーティングタグテーブルを書き換え、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を設定する。該コネクションを識別するためのＶＰＩ／ＶＣＩは、上で述べた、各端末がｎ：ｎの双方向ＡＴＭコネクションＷ０６に情報を送出するか、もしくは各端末が該ＡＴＭコネクションＷ０６から情報を受け取る為のＶＰＩ／ＶＣＩとする。
【０４６６】
ｎ：ｎの双方向ＡＴＭコネクションＷ０６が設定されると、それぞれの端末の資源割り当て通信プロセスＷ０４ｉ間でＡＴＭセルを用いた通信が可能になる。資源割り当て通信プロセスＷ０４ｉは、この状態になったならば、第３のアプリケーションにて説明したＭＩＤ＝０の単一セルメッセージによるＭＩＤ獲得手順を実行し、それぞれの端末がｎ：ｎの双方向ＡＴＭコネクションＷ０６を用いた可変長メッセージによる通信を行うためのＭＩＤを獲得する。ここで、立ち上げの種の端末は、ＭＩＤ＝１を、それ以外の端末はＭＩＤ＝１を除くＭＩＤを獲得するようにＭＩＤ獲得プロトコルを実行する。ＭＩＤ＝１は、立ち上げの種となった端末用に予め予約されているものとする。
【０４６７】
一方、立ち上げの種となった端末は、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を設定すると、次に、網構成認識の結果を用いて、通信帯域管理プロセスＷ０３ｉを実行することの出来る端末のリストを作成する。通信帯域管理プロセスＷ０３ｉを実行できる端末であるか否かは、例えば、構成認識の結果得られる、端末のオペレーティングシステムのバージョン番号が予め定められた値を超えている等により判断されることになる。
【０４６８】
通信帯域管理プロセスＷ０３ｉを実行する端末のリストを作成すると、次に、立ち上げの種となった端末は、網構成認識の結果を受けて、上で作成したリスト中の端末に、例えば、ほぼ同じ本数の物理リンクが割り当てられるようにといった、予め定められた方法で、ＡＴＭ−ＬＡＮ内の物理リンクを割り当てる。
【０４６９】
ここまでの処理が終わると、立ち上げの種となった端末は、自分の資源割り当て通信プロセスＷ０４ｉを経由して、ＭＩＤ＝１でセル化されるメッセージを用いて、先ほど作成したリストに含まれる端末に、順に、構成認識の結果得たＡＴＭ−ＬＡＮの構成情報と割り当てた物理リンクを通知する。メッセージのセル化を行うのは資源割り当て通信プロセスＷ０４ｉである。このメッセージの宛先としては、本発明者が特願平５−１２０３５１にて開示したノード番号を用いる事としても良い。一方、それぞれの端末の資源割り当て通信プロセスＷ０４ｉは、セルのＭＩＤを手がかりにｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して転送されるメッセージを組み立て、そのメッセージの宛先を参照して、自分宛のメッセージであれば取り込む。ｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して、ＡＴＭ−ＬＡＮの構成情報と割り当てられた物理リンクの通知を受けた端末は、該割り当てられた物理リンクの帯域管理を行う為のプロセスキュー等を作成した後、ＡＴＭ−ＬＡＮの構成情報及び該作成したプロセスキュー等を含む通信帯域管理プロセスＷ０３ｉを立ち上げる。立ち上げの種となった端末でも、自分に割り当てた物理リンクの帯域管理を行う為のプロセスキュー等を作成した後、該プロセスキュー及びＡＴＭ−ＬＡＮの構成情報を含む通信帯域管理プロセスＷ０３ｉを立ち上げる。
【０４７０】
以上の処理を行うことで、各端末にて通信帯域管理プロセスＷ０３ｉが立ち上げられ、該通信帯域管理プロセスＷ０３ｉに対する物理リンクの割り当てができたことになる。以降、各端末上のユーザプロセスＷ０１ｉの実行の管理は、各端末のプロセススケジューラＷ０２ｉが、該通信帯域管理プロセスＷ０３ｉのプロセスキュー等を参照しながら、以下に述べるように協調して動作することで行われる。
【０４７１】
ユーザプロセスＷ０１ｉは、ある端末との通信を行う場合の通信帯域を確保したい場合、本発明者が特願平５−１２０３５１にて開示したブロードキャストチャネル上の通信を用いた方法、もしくはｎ：ｎの双方向ＡＴＭコネクションＷ０６を用いて例えばＡＲＰとして良く知られたプロトコルを実行して、通信したい相手のノード番号を得る。次に、ユーザプロセスＷ０１ｉは、得たノード番号を用いて、通信帯域管理プロセスＷ０３ｉに問い合わせを行う。通信帯域管理プロセスＷ０３ｉは、自分が保持しているＡＴＭ−ＬＡＮの構成情報を参照し、通知されたノード番号の端末に至るまでの物理リンクのリストを作成し、該物理リンクのリストを問い合わせを行ったユーザプロセスＷ０１ｉに返す。
【０４７２】
物理リンクのリストを受け取ると、ユーザプロセスＷ０１ｉは、プロセススケジューラＷ０２ｉを経由して、リスト中の物理リンクそれぞれに対して順に通信帯域獲得要求を出す。プロセススケジューラＷ０２ｉは、この通信帯域獲得要求を受け取ると、まず、自端末内の通信帯域管理プロセスＷ０３ｉに問い合わせを行い、自端末内で管理されている物理リンクに対する通信帯域獲得要求であるか否かを調べる。自端末内で管理されている物理リンクに対する通信帯域獲得要求であれば、自端末内の通信帯域管理プロセスＷ０３ｉ中の対応するプロセスキューを参照し、要求通りの帯域を割り当てられるか否か判断する。要求通りの帯域を割り当てられるならば、プロセススケジューラＷ０２ｉは、対応するプロセスキューに該資源を要求したユーザプロセスの識別子をエンキューし、該要求を発効したユーザプロセスの実行を継続する。要求通りの帯域を割り当てられなかった場合は、以下に述べるデッドロック検出手順をプロセススケジューラＷ０２ｉが実行する。
【０４７３】
一方、自端末で管理されていない物理リンクに対する通信帯域獲得要求で有れば、該通信帯域獲得要求をｎ：ｎのＡＴＭコネクションＷ０６を経由して、自分以外の端末に対してブロードキャストする。それぞれの端末では、ｎ：ｎのＡＴＭコネクションＷ０６を経由してやってくる通信帯域獲得要求を監視しており、自分が管理している物理リンクに対する通信帯域獲得要求であればとりこみ、要求通りの帯域を割り当てられるか否か判断する。該資源を割り当てるのであれば、対応するプロセスキューに該資源を要求したプロセスの識別子をエンキューする。この判断結果は、該判断結果を含む応答メッセージにより、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して要求元の端末に通知される。要求元の端末のプロセススケジューラＷ０２ｉは、帯域割り当てに成功した旨の応答メッセージを受け取ると、帯域を要求したユーザプロセスの実行を継続する。一方、帯域割り当てに失敗した旨の応答メッセージを受け取ると、以下に述べるデッドロック検出手順を実行する。なお、帯域割り当てに失敗した旨の応答メッセージ中には、該資源を割り当てられているプロセスの識別子が含まれているものとする。これは次に実行されるデッドロック検出に使用される。
【０４７４】
自端末もしくは他端末での帯域の確保に失敗した場合、失敗した帯域割り当て要求を発効したユーザプロセス（以降、資源未獲得プロセス）をスリープさせる前に、図３３もしくは図３６〜図４０に示したデッドロック検出手順、及び必要なら資源の横取りを行う必要がある。これは、図４２に示したプロセス構成では以下の様に行われる。
【０４７５】
ここで開示される方法は、資源未獲得プロセスの実行を制御しているプロセススケジューラＷ０２ｉが主体となって、他のプロセススケジューラＷ０２ｊに問い合わせや指示を行いながらデッドロック検出及び回避処理を行うものである。以降、デッドロック検出及び回避処理の主体となるプロセススケジューラＷ０２ｉをマスタプロセススケジューラ、マスタプロセススケジューラが問い合わせや指示を行うプロセススケジューラＷ０２ｊをスレーブプロセススケジューラと呼ぶ。マスタプロセススケジューラは唯一であるのに対し、スレーブプロセススケジューラはマスタプロセススケジューラ以外の、ＡＴＭ−ＬＡＮに含まれる全てのプロセススケジューラの事を意味する事に注意が必要である。また、どのプロセススケジューラもマスタスケジューラとなったり、スレーブプロセススケジューラとなったりする事に注意が必要である。
【０４７６】
マスタプロセススケジューラは、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して、各スレーブプロセススケジューラに、資源未獲得プロセスの識別子を通知する。資源未獲得プロセスの識別子を通知された各スレーブプロセススケジューラＷ０２ｊは、自端末の通信帯域管理プロセスＷ０３ｊ、自資源管理プロセスＷ０５ｊを参照し、該通知された識別子を持つユーザプロセスに既に割り当てられている資源のリスト（リストＡ）、及びそれらの資源毎の、それらの資源を待っているプロセスのリスト（リストＢ）を作成し、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して、マスタプロセススケジューラＷ０２ｉにリストＡ，リストＢを返す。
【０４７７】
各スレーブプロセススケジューラから、資源未獲得プロセスの獲得している資源のリストであるところのリストＡ、及びそれらの資源を待っているプロセスのリストであるところのリストＢを受け取ると、マスタプロセススケジューラＷ０２ｉは、自分が実行されている端末上の通信帯域管理プロセスＷ０３ｉ、自資源管理プロセスＷ０５ｉが含んでいるプロセスキューを参照し、自端末が管理している資源で、資源未獲得プロセスの獲得している資源をリストＡに追加し、さらに、自端末が管理している資源で、資源未獲得プロセスの獲得している資源を待っているプロセスの識別子をリストＢに追加し、ＡＴＭ−ＬＡＮ内全ての資源に関するリストＡ，リストＢを完成させる。
【０４７８】
次に、マスタプロセススケジューラＷ０２ｉは、失敗した旨が通知された応答メッセージ中に含まれている、該ユーザプロセスが獲得に失敗した資源を割り当てられているプロセス（以降、拒絶理由プロセス）の識別子が、前記完成させたリストＢ中に含まれているか否か調べる。拒絶理由プロセスの識別子が、リストＢ中に含まれていなければデッドロックは発生しないので、資源未獲得プロセスをスリープさせる。これと同時に、獲得に失敗した資源が自端末で管理している資源であれば、マスタプロセススケジューラＷ０２ｉは、該獲得に失敗した資源プロセスキューに、該資源未獲得プロセスの識別子をエンキューする。マスタプロセススケジューラＷ０２ｉが実行されている端末以外の端末が管理している資源の場合は、プロセスキューへの該資源未獲得プロセスの識別子の登録を、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を用いて、該獲得に失敗した資源を管理している端末上のスレーブプロセススケジューラに要求する。ｎ：ｎの双方向ＡＴＭコネクションＷ０６を通じて資源未獲得プロセスの識別子のプロセスキューへのエンキューを依頼されたスレーブプロセススケジューラは、依頼された動作を行った後、その動作の完了をｎ：ｎの双方向ＡＴＭコネクションＷ０６を通じてマスタプロセススケジューラＷ０２ｉに通知する。
【０４７９】
一方、前記拒否理由プロセスの識別子が、前記完成させたリストＢ中に含まれている場合はデッドロックが発生するので、資源の横取りを行ってデッドロックを回避する必要がある。この為に、マスタプロセススケジューラＷ０２ｉは以下の処理を行う。
【０４８０】
まず、マスタプロセススケジューラＷ０２ｉは、前記完成させたリストＡを参照して、拒絶理由プロセスが待っている資源で、資源未獲得プロセスが既に獲得している資源の種別を知る。さらに、拒絶理由プロセスが既に獲得していた結果、資源未獲得プロセスが獲得に失敗した資源の種別も知る。
【０４８１】
拒絶理由プロセスが獲得している資源を横取りして資源未獲得プロセスに割り当てるか、資源未獲得プロセスが獲得している資源を横取りして拒絶理由プロセスが獲得している資源を横取りするかは、これらの資源の種別による。
【０４８２】
拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源の両方共、サイドイフェクトの無い資源であれば（図３２に示した丸数字１５の様な場合）、拒絶理由プロセスは、既に資源未獲得プロセスの獲得している資源を待ってスリープ状態となっているので、先に資源未獲得プロセスを実行すべく、拒絶理由プロセスが獲得している資源を横取りして資源未獲得プロセスに割り当てる。
【０４８３】
また、拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源のどちらかが、サイドイフェクトのある資源であれば（図３２に示した丸数字１４の様な場合）、サイドイフェクトの無い資源を横取りするのが、横取りに関わるオーバーヘッドを削減する観点から望ましい。
【０４８４】
一方、拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源の両方が、サイドイフェクトのある資源であれば、分散アプリケーション自身がデッドロックする性質を持っているものと見なし、デッドロック発生とＡＴＭ−ＬＡＮの管理者に警告を発生するようにしてもよい。デッドロック発生が通知されると、ＡＴＭ−ＬＡＮの管理者は、デッドロックを発生しているプロセスを、コマンド投入によりＫＩＬＬする等してデッドロックを解消する事ができる。
【０４８５】
横取りする資源と、横取りされるプロセス、及び横取りした資源を新たに割り当てるプロセスを決定すると、マスタプロセススケジューラは、横取りする資源の識別子、横取りされるプロセスの識別子、横取りした資源を割り当てるプロセスの識別子を含む、資源横取りメッセージを作成し、ｎ：ｎのＡＴＭコネクションＷ０６を経由して全てのスレーブプロセススケジューラに該資源横取りメッセージを送付する。
【０４８６】
資源横取りメッセージを受け取ったスレーブプロセススケジューラは、該メッセージの内容に従い、自分が実行されている端末が管理している資源のプロセスキューを更新し、また、その結果、自分が実行管理しているプロセスを再起動するなら該プロセスを再起動する。同様の動作を、資源横取りメッセージを送出したマスタプロセススケジューラも実行する。
【０４８７】
以上の動作により、上で述べたデッドロック回避を図４２に示した分散環境で実行できることになる。ここで、上の動作では、各プロセスの識別子やファイルの識別子を互いの端末間でやりとりすることになる事に注意が必要である。このため、これらの識別子はＡＴＭ−ＬＡＮ全体で一意とする必要があるが、この条件は、それぞれの端末で独立に付加されるプロセス番号やファイル番号に、本発明者が特願平５−１２０３５１で開示したＡＴＭ−ＬＡＮに特有のノード番号を付加したものをプロセス番号やノード番号としてｎ：ｎの双方向ＡＴＭコネクションＷ０６上で転送する事にすれば満足できる。
【０４８８】
以上の動作を、使用したい資源を持つ端末までの経路上の全ての物理リンクにて行い、全ての物理リンクで通信帯域が獲得されたならば、ユーザプロセスが設定しようとしたコネクションがＡＴＭ−ＬＡＮ上に設定された事になる。
【０４８９】
なお、ファイルや通信帯域以外の資源に対する要求も、上で述べた通信帯域に対する要求と同様の枠組みで処理可能であることは当業者には明らかである。
【０４９０】
ところで、上述のデッドロック検出から回避までを行う手順の実行時に、各スレーブプロセススケジューラが、他のユーザプロセスに対して資源を割り当てたり、他のユーザプロセスを資源待ちの状態にしたりすると、デッドロックの検出の為に作成したリストＡ，リストＢの内容と、回避実行中の資源割り当て状況の間の一貫性が損なわれてしまい、正しくデッドロック検出ができなくなる恐れがある。これを回避するためには、資源未獲得プロセスの識別子がブロードキャストされてから、該資源未獲得プロセスのプロセスキューへのエンキュー指令もしくは他のプロセスへの資源横取り指令がブロードキャストされるまでの間、それぞれのプロセススケジューラは、ユーザプロセスへの資源の割り当てを一旦停止すれば良い。この一旦停止は、資源を要求したユーザプロセスに対してプロセッサを割り当てない事で容易に実現可能である。
【０４９１】
次に、網構成が変更になった場合の動作について説明する。ＡＴＭ−ＬＡＮの場合、物理リンクや端末の増減設が比較的頻繁に発生する。この為、網構成が変更されたことに、ここで述べている管理の枠組みが自動的に追従可能である事が望ましい。
【０４９２】
上で述べた、ＭＩＤ＝１にてｎ：ｎの双方向ＡＴＭコネクションＷ０６にメッセージを送出する、ＡＴＭ−ＬＡＮの立ち上げの種となった端末の通信帯域管理プロセスＷ０３ｉは、予め定められた一定周期で、本発明者が特願平５−１２０３５１にて開示した手法にてＡＴＭ−ＬＡＮ全体の構成認識を行い、自分が確保している構成情報の更新を行っている。
【０４９３】
もし、新しい物理リンクが設置されたならば、該通信帯域管理プロセスＷ０３ｉは、新しい物理リンクの管理を行う通信帯域管理プロセスＷ０３ｊを決定し、該通信帯域管理プロセスＷ０３ｊに向かってｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由して、管理する物理リンクの追加を要求する。管理する物理リンクの追加を要求された通信帯域管理プロセスＷ０３ｊは、追加分のプロセスキューを作成して通信帯域管理の準備を行い、準備が終了したならそのことをｎ：ｎの双方向ＡＴＭコネクションＷ０６を用いて要求元に通知する。
【０４９４】
一方、ＭＩＤ＝１の端末の通信帯域管理プロセスＷ０３ｉは、物理リンクが削除されたならば、該物理リンクの帯域を管理している通信帯域管理プロセスＷ０３ｊに対して削除要求をコネクションＷ０６を通じて転送する。物理リンクの削除が要求されると、通信帯域管理プロセスＷ０３ｊは、該物理リンクに対応するプロセスキューを自分から削除し、削除が完了したならばその事を要求元に通知する。
【０４９５】
接続状態が変更されたならば、ＭＩＤ＝１の端末の通信帯域管理プロセスＷ０３ｉは、新しい構成情報を含むメッセージを作成し、その他の通信帯域管理プロセスＷ０３ｊに対して、コネクションＷ０６を通じて該メッセージを送出する。接続状態が変更された事を通知するメッセージを受け取ると、各通信帯域管理プロセスＷ０３ｊは、自分が確保している構成情報を更新する。
【０４９６】
以上の動作を行うため、ＭＩＤ＝１の端末上の通信帯域管理プロセスは、ＡＴＭ−ＬＡＮの構成情報と、自分が管理している物理リンクのプロセスキュー等の管理用情報の他に、どの通信帯域管理プロセスがどの物理リンクを管理しているかの情報も持つ。
【０４９７】
＜プロセスマイグレーションについて＞
次に、図４２に示すプロセス構成でプロセスマイグレーションを行う場合について説明する。ここでは、例えばある端末を保守の為に一旦停止する時にもコネクション設定を可能とする事を目的とした、通信帯域プロセスのマイグレーションを行う方法を開示する。
【０４９８】
今まで述べてきた通信帯域管理プロセスによる物理リンク割り当てを実行するためには、該通信帯域管理プロセスがそれぞれの物理リンクを認識する必要がある。このためには、それぞれの物理リンクに識別子を割り当てる必要があるが、これについては、本発明者によって特願平５−１２０３５１にて開示されているノード番号と、それぞれのハブ毎に割り当てられるポート番号を組にして、これを物理リンクの識別子とすることにすれば、ノード番号がグローバルユニークに定義されている事から、この物理リンクの識別子もグローバルユニークとなる。即ち、ある物理リンクの管理をどの端末上で行うことにしても、同じ物理リンクの識別子を使用する事が可能になる。この事より、小さなオーバーヘッドで物理リンクの帯域管理を行う通信帯域管理プロセスＷ０３ｉのマイグレーションを実現する事ができる。
【０４９９】
通信帯域管理プロセスＷ０３ｉが実行されている端末を落とす時に、物理リンクの割り当てを引き続き行う為に、通信帯域管理プロセスＷ０３ｉのマイグレーションを行う場合は、例えば、以下の様に処理が進行する。まず、ＡＴＭ−ＬＡＮの保守者からマイグレーションの指示を受けると、通信帯域管理プロセスＷ０３ｉは、自分を新たに実行する端末を検索する。この検索は、例えば双方向のＡＴＭコネクションＷ０６上で、最も負荷の軽い端末を探す等により行われる。
【０５００】
次に、通信帯域管理プロセスＷ０３ｉは、自分を新たに実行する端末に対して、マイグレート先の端末を指定して、該端末に自分を転送するよう、プロセススケジューラＷ０２ｉに要求する。プロセススケジューラＷ０２ｉは、自分が実行管理をしている通信帯域管理プロセスＷ０３ｉからマイグレーションの要求を受け取ると、該通信帯域管理プロセスＷ０３ｉをスリープさせ、指定された端末のプロセススケジューラＷ０２ｊに対して、例えば、ｎ：ｎの双方向ＡＴＭコネクションＷ０６を経由し、該通信帯域管理プロセスＷ０３ｉを転送する。
【０５０１】
通信帯域管理プロセスＷ０３ｉの送付を受けると、プロセススケジューラＷ０２ｊは、該受け取った通信帯域プロセスＷ０３ｉを自分が実行管理するプロセスとして再起動する。
【０５０２】
マイグレートを受けた通信帯域管理プロセスＷ０３ｉは、新しい端末上で再実行されると、再度ユーザプロセスＷ０１ｉ等からの資源割り当て要求に対応する事が可能になる。これは、各通信帯域管理プロセスＷ０３ｉが、グローバルユニークな、言い換えると、ＡＴＭ−ＬＡＮ上の全ての端末上で有為である識別子にて物理リンクを識別し、また、ユーザプロセスの識別も行っていることから可能になる。
【０５０３】
ところで、上で述べた様に、立ち上げの種となった端末上で起動された通信帯域管理プロセスは、以降の構成変更に備え、どの通信帯域管理プロセスに対してどの物理リンクを割り当てたかに関する情報を保持している。この為、それぞれの通信帯域管理プロセスを識別する必要がある。本発明に従い、マイグレートされるプロセスの識別をＭＩＤにて行い、マイグレート時に該ＭＩＤを引き継ぐ事にすると、この通信帯域プロセスと物理リンクの対応に関する情報を書き換える事無くマイグレーションを実行する事ができ、マイグレーションに係るオーバーヘッドを削減できる。この為、各通信帯域管理プロセスＷ０３ｉにＭＩＤを割り当てる事にする。このようにすることで、上で述べた、構成変更による各通信帯域管理プロセスでの構成情報の変更も、特に何も通信帯域管理プロセスの保持している情報を書き換えることなく、マイグレーション後も実行可能になる。
【０５０４】
一方、プロセススケジューラＷ０２ｉは、通信帯域管理プロセスＷ０３ｉの要求を受けて該通信帯域管理プロセスＷ０３ｉのマイグレーションを実行する。この時、ｎ：ｎの双方向ＡＴＭコネクション上で該通信帯域管理プロセスＷ０３ｉのコード及び該プロセスが保持していた環境（プロセスキュー等）を転送する必要がある。この転送のためのメッセージのセル化に使用するＭＩＤとして、該転送している通信帯域管理プロセスＷ０３ｉが元々使用していたＭＩＤを使用する事にしても良いが、この場合、通信帯域管理プロセスＷ０３ｉがマイグレートされてしまうと、それ以降プロセススケジューラがｎ：ｎの双方向ＡＴＭコネクションにメッセージを送出するときのＭＩＤが無くなってしまうという問題点がある。これを解決するため、プロセススケジューラにもＭＩＤを与える事とする。即ち、通信帯域管理プロセスのマイグレートを実行するためには、通信帯域管理プロセスの実行されている端末には、ｎ：ｎの双方向ＡＴＭコネクション上にメッセージを送出するためのＭＩＤを２種類割り当てることが望ましい。これは、第３のアプリケーションの説明の時に述べた、ＭＩＤ割り当てプロトコルにおいて、一つの端末が二つのＭＩＤを獲得する様に動作する、即ち、自分が使用しようとしているＭＩＤを他の端末に通知するメッセージを二つ送出することで容易に実行可能である。獲得したＭＩＤの一方は通信帯域管理プロセスの識別に、もう一方はプロセススケジューラの識別に使用されることになる。
【０５０５】
このように、通信帯域管理プロセスの識別をノード番号ではなくＭＩＤで行うことにすると、ある端末上で実行されている通信帯域管理プロセスを、該端末が保守等の為に一旦停止させられる時等に、別の端末に簡単にマイグレートできるのが、本発明を適用した第４のアプリケーションの利点である。なお、プロセススケジューラＷ０２ｉ、自資源管理プロセスＷ０５ｉは、それぞれの端末特有のプロセスであり、ある端末が停止した場合、これらのプロセスも停止させて構わない。即ち、これらのプロセスはマイグレート対象とはならない。マイグレート対象とならないプロセスに割り当てられたＭＩＤは、該プロセスを識別する識別子であると同時に、該プロセスが実行される端末の識別子として使用することも可能である。
【０５０６】
ところで、ユーザプロセスのマイグレーションを行う場合は、マイグレーション時のオーバーヘッド削減の為、プロセスキュー上のプロセス識別子をグローバルユニークとする必要があることは自明である。前述の「プロセスが実行されている端末のノード番号と該端末上でのプロセス番号の組」というプロセスの識別子は一つのグローバルユニークな識別子であり、マイグレート時にも書き換えずに引き継ぐ事が可能である。この場合、ノード番号が、“プロセスが実行されている端末”ではなく、“プロセスが起動された端末”のノード番号であると考える必要がある。ここで、各端末で発行されるプロセス番号を再利用するため、マイグレートされた後のプロセスの実行が終了したとき、前記“プロセスが起動された端末”を意味しているノード番号を使用して、終了したプロセスのプロセス番号を該ノード番号を持つ端末に通知するのが望ましい。
【０５０７】
また、このようにマイグレートされるユーザプロセス間の通信もまた、ここで述べてきた原理に従って実現できることも自明である。この場合、ｎ：ｎのＡＴＭコネクションＷ０６の他にも、本発明の原理に従ったＡＴＭコネクション群が設定されることになるのは言うまでもない。
【０５０８】
以上で、本発明を適用する第４のアプリケーションである、分散実行されるユーザプロセスのスケジューリング手法及び、該スケジューリング手法の本発明を用いた実現手法についての説明を終わる。
【０５０９】
なお、本発明を実施するためにＡＴＭレイヤにて設定されたｎ：ｎの双方向ＡＴＭレイヤコネクションや、ｍ：ｎの単方向ＡＴＭレイヤコネクションは、１：１の通常のＡＴＭコネクションによるメッシュ構造、もしくは、江崎、津田、夏堀らにより、電子情報通信学会技術報告、交換システム（ＳＳＥ）９２−１８８、“ＡＴＭ−ＬＡＮにおけるデータ転送実現法”にて開示されている様な、複数のｍ：１の単方向ＡＴＭレイヤコネクション、等によって模擬できる事は言うまでもない。しかしながら、これらの手法を本発明に適用した場合、それぞれの端末が送信相手の端末に接続されるコネクションのＶＰＩ／ＶＣＩを認識してセルを送出する必要が生じ、プロセスマイグレーションの結果、プロセスを実行する端末が変化した場合にそのことをメッセージを送出するプロセスが認識する必要があり、好ましくない。
【０５１０】
【発明の効果】
以上説明したように、本発明によればｎ：ｎの双方向ＡＴＭコネクション、もしくはｍ：ｎの単方向ＡＴＭコネクションとｎ：ｍの単方向ＡＴＭコネクションを経由して、マイグレーション対象のプロセス間通信、あるいはハンドオーバ処理を行うこととし、またプロセス間通信の為のメッセージをセル化する際のＭＩＤのようなプロセス識別子をそれぞれのプロセスに割り当てるか、もしくはハンドオーバ処理対象の移動端末にＶＰＩ／ＶＣＩのようなコネクション識別子を割り当てることとしたので、割り当てられたプロセス識別子やコネクション識別子をマイグレート後あるいはハンドオーバ処理後も使用して通信を継続でき、マイグレート時やハンドオーバ処理時のオーバーヘッドを削減することができる。この結果、Ｑ．２９３１終端部を経由しない、またマイグレート時にユーザプロセスに対して行う操作あるいはハンドオーバ処理時に必要な操作が最小で済む。このことから、安価な構成で迅速なプロセスマイグレーションや移動通信でのハンドオーバ処理を実現することができる。
【図面の簡単な説明】
【図１】本発明の実施例１に係るＡＴＭ通信システムの構成図
【図２】同実施例におけるプロセスマイグレーションの概略的な手順を示すフローチャート
【図３】同実施例におけるｎ：ｎの双方向ＡＴＭコネクションの合流側の設定法を説明するための図
【図４】同実施例におけるｎ：ｎの双方向ＡＴＭコネクションのコピー側の第１の設定法を説明するための図
【図５】同実施例におけるｎ：ｎの双方向ＡＴＭコネクションのコピー側の第２の設定法を説明するための図
【図６】同実施例におけるｎ：ｎの双方向ＡＴＭコネクションのコピー側の第３の設定法を説明するための図
【図７】ｎ：ｎの双方向ＡＴＭコネクションの略記法を示す図
【図８】本発明の実施例２に係るＡＴＭ通信システムの概略構成図
【図９】同実施例におけるｍ：ｎの単方向ＡＴＭコネクションの略記法を示す図
【図１０】本発明の実施例３に係る本発明の第１のアプリケーションが実行されるシステムの構成を示す図
【図１１】第１のアプリケーションを実行するために設定されるＡＴＭコネクションを示す図
【図１２】パッシブスター光分配器上の１：ｍの単方向ＡＴＭコネクションを示す図
【図１３】第１のアプリケーションで実行される計算サービスの一例を説明するための図
【図１４】第１のアプリケーションの実行手順を説明するためのフローチャートの一部を示す図
【図１５】第１のアプリケーションの実行手順を説明するためのフローチャートの他の一部を示す図
【図１６】第１のアプリケーションが実行されるシステムにおけるもう一つの上りリンク上での送出端末制御の手法を実現する機能構成を示す図
【図１７】図１５中のＴＡＴカウンタの具体的な構成図
【図１８】本発明の実施例４に係る本発明の第２のアプリケーションが実行されるシステムの構成を示す図
【図１９】同実施例における無線ゾーンおよび無線クラスタの物理的配備の一例を示す図
【図２０】第２のアプリケーションを実行するために設定されるＡＴＭコネクションを示す図
【図２１】同実施例におけるハンドオーバ処理の概略的な手順を示すフローチャート
【図２２】同実施例における移動端末制御部の構成を示す図
【図２３】同実施例における移動制御コネクションの設定法を示す図
【図２４】同実施例における移動端末と通信網の間でやりとりされるメッセージシーケンスを示す図
【図２５】同実施例におけるＭＩＤ操作メッセージのフォーマットを示す図
【図２６】本発明の実施例５に係る本発明の第３のアプリケーションの実行されるシステム構成を説明するための図
【図２７】同実施例における上位のＡＴＭ通信網を経由した第１のＣＬＳＦプロセス接続法を示す図
【図２８】同実施例における上位のＡＴＭ通信網を経由した第２のＣＬＳＦプロセス接続法を示す図
【図２９】同実施例における独立に管理されていたＣＬＳＦプロセス群が連結される様子を示す図
【図３０】本発明の実施例６に係る本発明の第４のアプリケーションの実行されるシステム構成を示す図
【図３１】同実施例における物理資源と資源管理プロセスの対応を説明するための図
【図３２】同実施例における資源管理用プロセスとユーザプロセスとプロセススケジューラの対応を示す図
【図３３】第４のアプリケーションにおけるＣＡＣデッドロック検出の原理を示す図
【図３４】第４のアプリケーションのより詳細な動作を説明するためのプロセス群を説明する図
【図３５】第４のアプリケーションのより詳細な動作を説明するためのプロセス群の各プロセスの資源要求を説明する図
【図３６】第４のアプリケーションによりプロセススケジューリングを説明するための第１の図
【図３７】第４のアプリケーションによりプロセススケジューリングを説明するための第２の図
【図３８】本発明の第４のアプリケーションによりプロセススケジューリングを説明するための第３の図
【図３９】第４のアプリケーションによりプロセススケジューリングを説明するための第４の図
【図４０】第４のアプリケーションによりプロセススケジューリングを説明するための第５の図
【図４１】同実施例における一つの物理リンクの帯域を複数のプロセスに割り当てる場合のプロセスキューの構成を示す図
【図４２】第４のアプリケーションに本発明を適用する場合のプロセス構成を示す図
【図４３】従来技術によるＡＴＭ通信システムの構成を示す図
【図４４】従来技術によるＡＴＭ通信システムにおけるプロセスマイグレーションを説明するための図
【図４５】従来技術によるＡＴＭ通信システムにおけるプロセスマイグレーションの実行手順を示す図
【符号の説明】
１０１１〜１０１４…端末
１０２１〜１０２３…ＡＴＭ交換機
１０３…ｎ：ｎの双方向ＡＴＭコネクション
１０４…コネクション設定部
１０５…プロセスＩＤ割り当て部
１０６１〜１０６４…プロセス
１０７１〜１０７４…セル化部
１０８１〜１０８４…メッセージ組立部
Ｅ０１１，Ｅ０１２…ＡＴＭ交換機
Ｅ０３１１〜Ｅ０３１ｍ，Ｅ０３２１〜Ｅ０３２２…無線ゾーン作成部（移動端末収容装置）
Ｅ０４１…移動端末
Ｅ０５１…移動端末制御部（コネクション設定およびコネクション識別子割り当て要求手段）
Ｇ０１〜Ｇ０２，Ｇ０５〜Ｇ０８…１：１の単方向ＡＴＭコネクション
Ｇ０３〜Ｇ０４…ｎ：ｍの単方向ＡＴＭコネクション
Ｇ０９，Ｇ０Ａ…ｍ：ｍの単方向ＡＴＭコネクション
【図１】
0003612105.tif 000002
【図２】
0003612105.tif 000003
【図３】
0003612105.tif 000004
【図４】
0003612105.tif 000005
【図５】
0003612105.tif 000006
【図６】
0003612105.tif 000007
【図７】
0003612105.tif 000008
【図８】
0003612105.tif 000009
【図９】
0003612105.tif 000010
【図１０】
0003612105.tif 000011
【図１１】
0003612105.tif 000012
【図１２】
0003612105.tif 000013
【図１３】
0003612105.tif 000014
【図１４】
0003612105.tif 000015
【図１５】
0003612105.tif 000016
【図１６】
0003612105.tif 000017
【図１７】
0003612105.tif 000018
【図１８】
0003612105.tif 000019
【図１９】
0003612105.tif 000020
【図２０】
0003612105.tif 000021
【図２１】
0003612105.tif 000022
【図２２】
0003612105.tif 000023
【図２３】
0003612105.tif 000024
【図２４】
0003612105.tif 000025
【図２５】
0003612105.tif 000026
【図２６】
0003612105.tif 000027
【図２７】
0003612105.tif 000028
【図２８】
0003612105.tif 000029
【図２９】
0003612105.tif 000030
【図３０】
0003612105.tif 000031
【図３１】
0003612105.tif 000032
【図３２】
0003612105.tif 000033
【図３３】
0003612105.tif 000034
【図３４】
0003612105.tif 000035
【図３５】
0003612105.tif 000036
【図３６】
0003612105.tif 000037
【図３７】
0003612105.tif 000038
【図３８】
0003612105.tif 000039
【図３９】
0003612105.tif 000040
【図４０】
0003612105.tif 000041
【図４１】
0003612105.tif 000042
【図４２】
0003612105.tif 000043
【図４３】
0003612105.tif 000044
【図４４】
0003612105.tif 000045
【図４５】
0003612105.tif 000046