JP3612105B2 - Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 - Google Patents
Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 Download PDFInfo
- Publication number
- JP3612105B2 JP3612105B2 JP07936395A JP7936395A JP3612105B2 JP 3612105 B2 JP3612105 B2 JP 3612105B2 JP 07936395 A JP07936395 A JP 07936395A JP 7936395 A JP7936395 A JP 7936395A JP 3612105 B2 JP3612105 B2 JP 3612105B2
- Authority
- JP
- Japan
- Prior art keywords
- atm
- connection
- message
- mid
- cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
- H04L2012/5604—Medium of transmission, e.g. fibre, cable, radio
- H04L2012/5607—Radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5614—User Network Interface
- H04L2012/5616—Terminal equipment, e.g. codecs, synch.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5619—Network Node Interface, e.g. tandem connections, transit switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/564—Connection-oriented
- H04L2012/5642—Multicast/broadcast/point-multipoint, e.g. VOD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Description
【産業上の利用分野】
本発明は、複数の端末を収容しそれらの端末間で通信を行うための通信システムに係り、特に非同期転送モード(ATM)にて通信を行うATM通信システムとATM通信システムにおけるプロセスマイグレーション方法に関する。
【0002】
【従来の技術】
従来より、伝送/交換技術の高速化を狙う技術として、ATM(非同期転送モード)が注目を集めている。ATMは、全ての情報をセルと呼ばれる固定長短パケットに担わせて転送する事により、パケット交換のハードウェア実装を狙い、高速な情報の伝送/交換を容易にする事を狙った技術である。
【0003】
ATMは、将来の広帯域サービス統合ディジタル網(B−ISDN)の“約束された解”と目されている。このことから、いわゆるキャリアが運用している公衆網はもとより、公衆網とのインタオペラビリティを高めるべく、例えばオフィスの一つのフロアといった限定された区域をサービス範囲とするネットワーク、即ちローカルエリアネットワーク(LAN)に、ATM技術を適用したいわゆるATM−LANや、限定された地域に対して通信サービスを提供するいわゆるCATV網にATM技術を適用する手法といった、ATM技術を種々の通信システムに適用する研究・開発が近年活発になされている。
【0004】
このATM技術を用いたATM通信システムでは、通信を行う前に、通信を行おうとする端末間にいわゆるコネクションを設定する。通信を行おうとする端末は、通信システムにセルを送出するとき、該セルのヘッダ部にコネクションの識別子を書き込む。通信システムは、該セルのヘッダ部を参照し、該セルの属するコネクションに沿って該セルを転送する事で、該セルを所望の端末へ転送する。ITU−T標準においては、ATMレイヤにおける該コネクションの識別子はVPI/VCIと呼ばれる。
【0005】
このように、ATM通信システムではコネクションを使用して通信を行う。この為、ATM通信システムを構成するATM交換機は、それぞれの入力ポート毎に、該入力ポート上に設定されているコネクションに属するセルをどの出力ポートに転送するかを示す情報と、該コネクションに属するセルの該ATM交換機から送出するときの新しいVPI/VCIの値とを保持するルーティングタグテーブルを持っている。ATMレイヤにおけるコネクション設定は、該コネクションが経由するATM交換機上のルーティングタグテーブルを所望の値に設定することによりなされる。
【0006】
このようにATM通信システムは、コネクションを予め設定して通信を行うため、コネクションに予め各物理リンクの帯域を割り当てる事で所望の通信品質を各端末に与える事ができるという利点がある一方、以下に述べるような問題点を持っている。
【0007】
一般に通信システムでは、例えばある端末が故障したとかいった理由により、その端末上で実行されているプロセスを別の端末に移動(マイグレート)したくなる事がある。このような端末から別の端末へのプロセスの移動は、一般的にプロセスマイグレーションと呼ばれる。従来技術によるATM通信システムでは、このプロセスマイグレーションを以下のような手順により行っている。
【0008】
図43に、従来技術によるATM通信システム上でのプロセスマイグレーションの手順の一例を示す。同図に示した例では、ATM通信システムにて互いに接続されている端末#1(X041),#2(X042),…,#n(X04n)が示されている。従来技術によるATM通信システムには、コネクションを設定するためのプロトコルであるQ.2931を終端するQ.2931終端部X01が存在しており、このQ.2931終端部X01と各端末X04iの間にシグナリングVC#i(X02i)が設定されている。シグナリングVC#i(X02i)を使用して、各端末はQ.2931終端部X01に対して通信を行いたい相手の端末を指定する。Q.2931終端部X01は、コネクション設定を要求した端末と、このコネクション設定要求により指定された端末との間にコネクションを設定し、端末間の通信に供する。なお、同図では煩雑化を避けるため、ATM通信システムを構成するATM交換機や物理リンクは省略されているが、これらのVCが設定されている所に物理リンク及びATM交換機が存在しているものとしている。
【0009】
図43に示した例では、端末#1(X041)上でプロセス#1(X051)が実行され、また端末#2(X042)上でプロセス#2(X052)が実行されている。プロセス#1(X051)とプロセス#2(X052)は、コネクションX03を介して通信を行っている。この状態で、端末#2(X042)上で動作しているプロセス#2(X052)を端末#n(X04n)にマイグレートする事を考える。
【0010】
図44に、マイグレート後の状態を示す。プロセス#1(X051)とプロセス#2(X052)との間の通信を行うため、端末#1(X041)と端末#n(X04n)の間に新しいコネクションY02が設定されている。マイグレート前にこれらのプロセス間で通信を行うために設定されていたコネクションX03は解放されている。また、プロセス#2(X052)を端末#2(X042)から端末#n(X04n)に移動させるために、端末#2(X042)と端末#n(X04n)の間にコネクションY01が設定され、マイグレート終了後はコネクションY01は解放されている。
【0011】
図45に、図43に示す状態から図44に示す状態に移行するために、従来技術によるATM通信システムで行われるマイグレーション手順の例を示す。
【0012】
端末#2(X042)は、自分の上で実行されているプロセス#2(X052)をマイグレートしようとする場合、まずQ.2931終端部X01に対してコネクションY01を設定するように要求する(ステップZ01)。Q.2931終端部X01は、このコネクション設定要求を受け取ると、ATM通信システム中のATM交換機のルーティングタグテーブルに適切な値を書き込むことでコネクションを設定し(ステップZ02)、コネクションが設定された旨を端末#n(X04n)に通知する(ステップZ03)。端末#n(X04n)は新しく設定されたコネクションを受け入れる事が可能であれば、コネクションを受け入れるための処理を行った後、その旨をQ.2931終端部X01に通知する(ステップZ04)。Q.2931終端部X01は、端末#n(X04n)からのコネクション受け入れ可の通知を受けると、端末#2(X042)にコネクションの設定完了を通知する(ステップZ05)。これにより端末#2と端末#nの間のコネクションY01が設定されたので、端末#2(X042)と#n(X04n)はコネクションY01を用いて通信を行い、プロセス#2(X052)を端末#2(X042)から端末#n(X04n)へと転送する(ステップZ06)。これと同時に、端末#2(X042)は自分の上で実行されていたプロセス#2(X052)が端末#n(X04n)に移動されたこと、つまりプロセスマイグレーションが行われた旨をコネクションX03を用いて端末#1(X041)に通知する(ステップZ07)。
【0013】
端末#1(X041)は、こうしてプロセスマイグレーションが通知されるとプロセス#1(X051)の実行を一旦停止させると同時に、マイグレート先の端末#n(X04n)との間のコネクション設定をQ.2931終端部X01に要求する(ステップZ08)。Q.2931終端部X01は、コネクション設定が要求されると、コネクションの経路上のATM交換機のルーティングタグテーブルを適切な値に書き換えることで、要求されたコネクションを設定する(ステップZ09)。コネクション設定が終了すると、Q.2931終端部X01は、端末#n(X04n)にコネクションが設定されたことを通知する(ステップZ10)。端末#n(X04n)は、コネクション設定が通知されると、コネクションを受け入れる為の予め定められた処理を行った後、コネクションの受け入れが終了した旨をQ.2931終端部X01に通知する(ステップZ11)。
【0014】
端末#n(X04n)によるコネクション受け入れが通知されると、Q.2931終端部X01は、コネクション設定要求を行った端末#1(X041)にコネクションの設定終了を通知する(ステップZ12)。
【0015】
以上で、端末#1(X041)と端末#n(X04n)の間のコネクションY02が設定されたので、端末#1(X041)はプロセス#1(X051)とプロセス#2(X052)の実行が再開可能となった事を端末#2(X042)と端末#n(X04n)にそれぞれコネクションX03とコネクションY02を用いてそれぞれ通知する(ステップZ13)。この通知をトリガとして、端末#1(X041)上でのプロセス#1(X051)の実行と、端末#n(X04n)上でのプロセス#2(X052)の実行が再開される。
【0016】
一方、ATM通信システム上には、プロセス#1(X051)とプロセス#2(X052)の通信に使用されなくなったコネクションX03と、マイグレート時にのみ使用されるコネクションY01がまだ設定されたままとなっている。これらのコネクションを解放するため、プロセス#1(X051)とプロセス#2(X052)の実行が再開された後で、端末#1(X041)はコネクションX02の解放を、また端末#2(X042)はコネクションY01の解放をそれぞれQ.2931終端部X01に要求する。
【0017】
コネクションX02の解放のシーケンスが図45にステップZ14,Z15,Z16,Z17,Z18で示され、コネクションY01の解放のシーケンスがステップZ19,Z20,Z21,Z22,Z23で示されている。いずれのシーケンスも、以下のシーケンスにてコネクション解放を行っている。まず、コネクション解放要求送出元の端末がコネクション開放要求をQ.2391終端部X01に送付する。Q.2931終端部X01は、コネクション解放要求を受け取ると、そのコネクションを使用して通信を行っているもう一方の端末にコネクション解放を通知する。コネクション解放を通知された端末は、コネクション解放時に実行される予め定められた処理を実行したのちに、コネクション解放を受け入れた事をQ.2931終端部X01に通知する。Q.2931終端部X01は、コネクション解放が受け入れられると、解放するコネクションの経路上のATM交換機のルーティングタグテーブルを適切な値に変更することでコネクションを解放する。これが終了すると、Q.2931終端部X01はコネクションの解放が終了した事をコネクション解放を要求した端末に通知する。
【0018】
以上の動作がプロセス#2(X052)を端末#2(X042)から端末#n(X04n)に移動させる場合に実行される処理である。
【0019】
以上の説明から分かるように、従来技術によるATM通信システム上でプロセスマイグレーションを実行しようとすると、数多くのコネクション設定/解放を行う必要が生じる。また、これら全てのコネクション設定/解放がQ.2931終端部X01にて実行されるため、迅速なプロセスマイグレーションを実行するためにはQ.2931終端部X01のスループットを大きくし、かつATM交換機のルーティングタグ書き換え時間を短くする必要があるが、これを実行するとATM通信システムがコスト高になってしまうという問題点がある。
【0020】
さらに、プロセス#1(X051)とプロセス#2(X052)がコネクションY02を識別するためのVPI/VCI、即ちこれらのプロセスがセルの送受信時に使用されるVPI/VCIの値は、必ずしもコネクションX03を使用していた時の値をそのまま使用できる訳ではない事に注意が必要である。従来技術のATM通信システムの場合、各物理リンク上でコネクションを識別するためのVPI/VCIはQ.2931終端部X01が管理しており、コネクションY02の端点でのVPI/VCIは、端末#nへはステップZ10のコネクション設定報告において、また端末#1へはステップZ12のコネクション設定終了報告において、それぞれQ.2931終端部X01から通知される。端末#1(X041),#n(X04n)は、通知されたVPI/VCIを用いてプロセス#1(X051),#2(X052)へのメッセージを識別し、必要なプロセスにルーティングする必要がある。この事実は、端末#nから見た場合、コネクションの設定が報告されるステップZ10において、設定されたコネクションがプロセスマイグレーションに係る新しいコネクション設定である事を認識する必要がある事を意味する。この認識は、例えばQ.2931メッセージの一つの情報要素であるユーザ−ユーザ間情報に、このコネクションはプロセスマイグレーションに係る新しいコネクション設定である旨を書き込んでおき、コネクションが設定された側の端末では、ユーザ−ユーザ間情報を参照して、通知されたVPI/VCIと、このVPI/VCIを使用するプロセスの対応付けを行うことによって実行可能である。
【0021】
しかしながら、マイグレート前後で使用するVPI/VCIが変化するということは、マイグレートが発生するときに、マイグレートされたプロセスのみならず、同じ端末上で実行が再開されるプロセスもQ.2931終端部X01から渡されるメッセージの情報要素を参照し、これらのプロセスが情報の入出力を行うためのコネクションの繋ぎ換えを行う必要がある事を意味する。即ち、Q.2931終端部X01から渡されるメッセージを参照して、マイグレートが発生したプロセスに関連するプロセス全てに何らかの処理を施す必要があるため、マイグレートに必要な時間はさらに増大してしまう。
【0022】
【発明が解決しようとする課題】
以上説明した如く、従来技術によるATM通信システムでは、プロセスマイグレーションを行う場合にQ.2931終端部に複雑なパタンでアクセスして数多くのコネクション設定/解放を行わなければならず、迅速なプロセスマイグレーションを行うためにはQ.2931終端部X01のスループットを大きくし、またATM交換機のルーティングタグ書き換え時間を短くする必要があるため、ATM通信システムがコスト高となる問題がある。さらに、マイグレート時に種々のプロセスに対して多くの処理を施す必要があることも、迅速なプロセスマイグレーションを実現する上で障害となっていた。
【0023】
従って、本発明はシステムコストを増大させることなく迅速なプロセスマイグレーションを行うことが可能なATM通信システムとATM通信システムにおけるプロセスマイグレーション方法を提供することを目的とする。
【0024】
【課題を解決するための手段】
上記課題を解決するため、第1の発明に係るATM通信システムは、複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子を同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を制御して設定するコネクション設定手段と、
前記n個の端末で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てるプロセス識別子割り当て手段と、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該n個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とする。
【0025】
一つの実施態様によれば、n個の端点を識別するためのコネクション識別子としてはセルヘッダのVPI(論理パス識別子)およびVCI(論理チャネル識別子)が用いられ、プロセス識別子としてはAAL(ATMアダプテーションレイヤ)3/4のMID(多重識別子)が用いられる。
【0026】
他の実施態様によれば、n個の端点を識別するためのコネクション識別子としてはセルヘッダのVPI(論理パス識別子)が用いられ、プロセス識別子としてはセルヘッダのVCI(論理チャネル識別子)が用いられる。
【0027】
第1の発明に係るプロセスマイグレーション方法は、複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子を同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を経由して設定し、
前記n個の端末で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てた後、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに割り当てられた前記プロセス識別子を保持したまま前記n個の端末のうちの他の端末へマイグレートすることを特徴とする。
【0028】
また、第1の発明における前記プロセスは、該プロセスが実行されている端末の識別子と該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを予め定められた時間間隔で前記双方向ATMコネクションに送出し、該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを受け取ると該メッセージの内容を保持し、前記双方向ATMコネクションに接続されたプロセスに割り当てられたプロセス識別子の表を作成して保持することを特徴とする。
【0029】
さらに、第1の発明における前記プロセスのうち資源を管理するプロセス群はそれぞれの資源を識別するためにグローバルユニークな資源識別子を有し、前記ATM通信システムの立ち上げ時に、前記プロセス群にそれぞれのプロセスが管理すべき資源を割り当てるマスタ資源プロセスが、前記プロセス識別子により前記立ち上げ時に割り当てた資源を管理しているプロセスを識別することを特徴とする。
【0030】
第2の発明に係るATM通信システムは、複数の固定端末と、移動端末を収容するための異なる無線ゾーンに配置された複数の移動端末収容装置とを複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の固定端末のうちのn個の端末を入力側端点とし、前記複数の移動端末収容装置のうちのm個の移動端末収容装置を出力側端点とするn:mの第1の単方向ATMコネクションと、前記m個の移動端末収容装置を入力側端点とし、前記n個の固定端末を出力側端点とするm:nの第2の単方向ATMコネクションとを前記複数のATM交換機を制御して設定するコネクション設定手段と、
前記第1の単方向ATMコネクションのm個の入力側端点の識別と前記第2の単方向ATMコネクションのm個の出力側端点の識別のために同一のコネクション識別子を割り当てるコネクション識別子割り当て手段とを備え、
前記移動端末は、前記コネクション識別子割り当て手段により割り当てられたコネクション識別子により前記固定端末との通信に使用するATMコネクションを指定することを特徴とする。
【0031】
また、第2の発明に係るハンドオーバ処理方法は、
複数の固定端末と、移動端末を収容するための異なる無線ゾーンに配置された複数の移動端末収容装置とを複数のATM交換機を介して接続してなるATM通信システムにおけるハンドオーバ処理方法において、
前記複数の固定端末のうちのn個の端末を入力側端点とし、前記複数の移動端末収容装置のうちのm個の移動端末収容装置を出力側端点とするn:mの第1の単方向ATMコネクションと、前記m個の移動端末収容装置を入力側端点とし、前記n個の固定端末を出力側端点とするm:nの第2の単方向ATMコネクションとを前記複数のATM交換機を制御して設定し、
前記第1の単方向ATMコネクションのm個の入力側端点の識別と前記第2の単方向ATMコネクションのm個の出力側端点の識別のために同一のコネクション識別子を割り当て、
前記移動端末が移動しつつ前記固定端末と通信する際、前記移動端末収容装置に設定された前記同一のコネクション識別子により前記固定端末との通信に使用するATMコネクションを指定することを特徴とする。
【0032】
【作用】
第1の発明においては、ある端末で実行されるプロセス(ATMコネクションにメッセージを転送する処理)を他の端末へマイグレートするプロセスマイグレーションを行う場合、プロセスマイグレーションを実行するためのATMコネクションをプロセスマイグレーションが実行される端末を含むn個の端末に対して予め設定しておくため、従来技術のようにQ.2931終端部によるコネクション設定/解放を行う必要がない。そして、プロセスマイグレーションを実行するためのATMコネクションとして、端点の識別子を同一としたn:nの双方向ATMコネクションを設定し、この双方向ATMコネクションにメッセージを転送するプロセスを実行する際に使用するプロセス識別子をマイグレーション対象のプロセスに割り当て、しかもマイグレーションの前後でプロセス識別子を変更しないので、マイグレーションに伴うプロセス間通信処理への影響が最小限に抑えられる。これらのことから、従来技術に比較して迅速なプロセスマイグレーションを実現することができる。しかも、Q.2931終端部を経由せずにプロセスマイグレーションを行うため、Q.2931終端部のスループットを大きくしたりATM交換機のルーティングタグ書き換え時間を短縮するといったことが不要となり、ATM通信システムのコスト的負担も軽減される。
【0033】
また、第1の発明において、n:nの双方向ATMコネクションにより通信を行うプロセスが、プロセス識別子とそのプロセスの実行されている端末の識別子を含む単一セルのメッセージをATMコネクションを介して送受することで、各々の使用しているプロセス識別子を通知し合うようにすると、各プロセスはn:nの双方向ATMコネクションにアクセス可能であれば、通知されたメッセージを受信するのみで、使用されていないプロセス識別子を知ることができるので、新しいプロセスを容易に追加することができる。
【0034】
さらに、第1の発明において、資源を管理するプロセス群に対して管理すべき資源を割り当てるプロセスにおいて、それぞれのプロセスを識別するためにプロセス識別子を用いることにより、資源を管理するプロセス群のうちの任意の一つのプロセスの実行される端末が別の端末に移動するようなプロセスマイグレーションが発生しても、他の資源を管理するプロセスに対してそのプロセスマイグレーションが発生した事を隠蔽でき、しかも資源を管理するプロセス群が持つ資源識別子をグローバルユニークなものとすることにより、資源を管理するプロセスをマイグレートしても、その資源を管理するプロセスが持つデータを書き換える必要がないために、より迅速なプロセスマイグレーションが可能になる。
【0035】
第2の発明においては、n:mの第1の単方向ATMコネクションのm個の出力側端点と、m:nの第2の単方向ATMコネクションのm個の入力側端点のコネクション識別子を同一としたことにより、これらの入出力端点に対してアクセスする移動端末がアクセス点つまり異なる無線ゾーンに移動する際でも、コネクション識別子を変更することなく固定端末との通信に使用するATMコネクションを設定して通信を継続することができ、単純なプロトコルにて移動端末のマイグレーション、すなわちハンドオーバ処理を実現することが可能となる。
【0036】
【実施例】
以下、図面を参照しながら本発明の実施例について詳細に説明する。
【0037】
(実施例1)
<システム構成について>
図1は、本発明の一実施例に係るATM通信システムの概略構成を示す図であり、4個の端末#1〜#4(1011〜1014)が3個のATM交換機#1〜#3(1021〜1023)を介して接続され、端末#1〜#4(1011〜1014)を端点とするn:nの双方向ATMコネクション103が設定されている状態を示している。勿論、この双方向ATMコネクション103が設定されているATM交換機間およびATM交換機−端末間には物理リンクが存在しているが、図1では煩雑となるのを避けるため省略している。また、この例ではn:nの双方向ATMコネクション103として4個の端末と3個のATM交換機により4:4の双方向ATMコネクションが設定されているが、n:nの双方向ATMコネクションからなるATM通信システムは、任意の個数の端末とATM交換機からなるATM通信システムに適用可能であることはいうまでもない。
【0038】
端末#1〜#4(1011〜1014)においては、相互作用を及ぼし合いながら処理を進める4個のプロセス#1〜#4(1061〜1064)がATMコネクション103を経由して通信を行う。ここで、本発明においてはプロセスマイグレーションを行う場合、すなわち端末#1〜#4(1011〜1014)の各々で実行されるプロセス#1〜#4(1061〜1064)を他の端末#i(101i)へ移動させる場合には、コネクション設定部104によってATM交換機#1〜#3(1021〜1023)の一部または全部を制御することにより、プロセス#iが実行される可能性のある端末#iに対して、このn:nの双方向ATMコネクション103を予め設定しておくことが一つの特徴である。さらに、本発明ではn:nのATMコネクション103は、端末#1〜#4(1011〜1014)において該コネクションを識別するためのコネクション識別子として同一の識別子(この例ではVPI/VCI)を用いることも特徴である。
【0039】
なお、本発明は特にプロセスの数を4個と限定するものではなく、これより少なくとも多くともよいが、ここでは一つの例としてプロセスの個数を4個として以下の説明を進める。また、プロセスの個数に等しい分岐数を持つn:nの双方向ATMコネクション103を使用して通信する必要もなく、プロセスの個数より大きな分岐数を持つn:nの双方向ATMコネクションを使用する事も可能である。
【0040】
プロセス#1〜#4(1061〜1064)が通信を行うために可変長のメッセージを使用する事にすると、良く知られている様にそれぞれのプロセスと双方向ATMコネクション103との間にアダプテーション処理が必要になる。アダプテーション処理は、可変長のメッセージを固定長のセルの形式に変形するセル化処理と、固定長のセルを複数個集め、それらから可変長のメッセージを再生する、メッセージ組立処理とからなる。そこで、端末#1〜#4(1011〜1014)には、プロセス#1〜#4(1061〜1064)と双方向ATMコネクション103の間に位置して、セル化部1071〜1074およびメッセージ組立部1081〜1084が配置されている。ここでのアダプテーション処理は、ITU−T標準のI.363で規定されているAAL3/4を適用することにする。AAL3/4のSARサブレイヤには、MIDと呼ばれる識別子があり、これを利用すると同一VPI/VCIにて同時に転送されてくる複数のメッセージを正常に組み立てる事ができる。
【0041】
なお、本発明に適用するアダプテーション処理は、特にここで述べるAAL3/4に限るものではなく、上述の様に、同一のVPI/VCIにて複数のメッセージを同時に転送しても受信側で正常に組み立てられるものであれば良い。この場合、AAL3/4のMIDの様な、同一メッセージ起源のセル群に同一の識別子が付加されるといった如く、同一のメッセージ起源である事を示す情報がアダプテーションレイヤのヘッダ部分に存在している。
【0042】
コネクション設定部104は、例えばATM通信システムの保守者がCMIC/CMIPといったATM交換機の備えたOAM界面から設定するものでもよく、またQ.2931といった呼設定プロトコルや、特願平5−120351に開示されている呼設定プロトコルで端末からの要求により設定するものでもよい。すなわち、コネクション設定部104による実行位置は、ATM通信システム内のATM交換機であっても端末であってもよく、実際、以降の具体的な実施例ではコネクション設定部104によるATMコネクションの実行位置がATM交換機の場合と端末の場合の両方がある。
【0043】
各端末#1〜#4(1011〜1014)上で実行されるプロセス#1〜#4(1061〜1064)がn:nの双方向ATMコネクション103にメッセージをセル化して送出する場合、端末#1〜#4(1011〜1014)はプロセス#1〜#4(1061〜1064)に付与されたプロセス識別子(以下、プロセスIDという)を用いてセル化部1071〜1074でメッセージをセル化する。ここで、本発明では端末#1〜#4(1011〜1014)上で実行されるプロセス#1〜#4(1061〜1064)を他の端末へマイグレーションする場合に、そのマイグレーションの前後で同一のプロセスIDを使用してメッセージを送出する際のセル化を行うことがもう一つの特徴である。
【0044】
このプロセスIDは、プロセスID割り当て部105によって、各プロセス#1〜#4(1061〜1064)の起動時もしくはn:nの双方向コネクション103の設定時に、各端末#1〜#4(1011〜1014)に通知される。プロセスID割り当て部105の機能は、プロセス#1〜#4(1061〜1064)そのものが持っていてもよいし、またATM交換機の持つ別の機能、あるいは端末の別のプロセスが持っていてもよい。プロセスID割り当て部105の機能をプロセス#1〜#4(1061〜1064)そのものが持つ場合は、例えばプロセスを実現するプログラム記述時に、ATM通信システムの保守者がそのプロセスIDを予め割り当てておく、いわゆる静的にプロセスIDを獲得する方法でもよいし、またそれぞれのプロセスが実行中に通信し合ってそれぞれが使用するプロセスIDを動的に獲得するようにしてもよい。実際、以降の具体的な実施例ではプロセスID割り当て部105はn:nの双方向ATMコネクション103を用いて相互作用を行うプロセスにより分散して実現される場合と、端末側の別のプロセスもしくはATM交換機側でプロセスIDの割り当てを行う場合の両方がある。
【0045】
<プロセスマイグレーションの手順について>
次に、本実施例におけるプロセスマイグレーションの概略的な手順を図2に示すフローチャートを用いて説明する。
【0046】
まず、プロセスマイグレーションの要求が予測されるサービスのATM通信システム上での開始時に、コネクション設定部104によってコネクション識別子を同一とするn:nの双方向ATMコネクション103をATM交換機#1〜#3(1021〜1023)を経由して設定する(ステップS11)。
【0047】
一方、n個の端末#1〜#4(1011〜1014)でそれぞれ実行される、双方向ATMコネクション103にメッセージを送出する複数のプロセス#1〜#4(1061〜1064)のそれぞれに対して、それらのプロセスを識別するためのプロセスIDをプロセスID割り当て部105が割り当てる(ステップS12)。
【0048】
そして、プロセスマイグレーション要求の発生時には、n個の端末#1〜#4(1011〜1014)のうちの任意の端末#i(101i)で実行されるプロセス#i(106i)を、このプロセスに割り当てられたプロセスIDを保持したまま、n個の端末#1〜#4(1011〜1014)のうちの他の端末#j(101j)へマイグレートする(ステップS13)。
【0049】
以上のような手順により、端末#i(101i)で実行されるプロセス#i(106i)を端末#j(101j)へマイグレートするプロセスマイグレーションが実行される。
【0050】
<実施例1の具体的動作例について>
次に、本実施例についてその動作さらに具体的に説明する。端末#1〜#4(1011〜1014)上で実行されるプロセス#1〜#4(1061〜1064)が4:4の双方向ATMコネクション103で接続されている。それぞれのプロセス#i(106i)には、双方向ATMコネクション103にメッセージを送出するときに使用するプロセス識別子としてMIDが割り当てられている。セル化部1071iでプロセス#i(106i)から受け取ったそれぞれのメッセージをセルに分割してゆくときに、それぞれの分割された小片に該MIDを付加する。メッセージ組立部108iでメッセージを組み立てる時は、同一のMIDを持つセルを集めて組み立てる。これによって、複数のメッセージ起源のセルが合流されてメッセージ組立部108iに与えられても、4:4双方向ATMコネクション103中で、同一プロセスから送出されたセルのそれぞれのプロセスでの到着順が送出時の順番を守っている限り、メッセージ組立部108iはそれぞれのメッセージを正常に再生する事ができる。
【0051】
このMIDは、同一の双方向ATMコネクションにて通信を行うプロセス間で一意となるように、即ち同一の番号を使用しないように、各プロセスに割り当てられている。この割り当て法については、後ほど詳細に説明する。
【0052】
それぞれのプロセス#i(106i)は、他のプロセスに何らかの情報を転送したい場合、その情報をメッセージ化してセル化部107iに渡す。それぞれのセル化部107iは、渡されたメッセージを分割し、セル化して双方向ATMコネクション103に渡す。
【0053】
双方向ATMコネクション103は、それぞれのセル化部107iが送出するセルを一旦合流し、一つ一つのセルをコピーして各メッセージ組立部108iに渡す。
【0054】
メッセージ組立部108iは、セルを受け取ると、受け取ったセルのMIDを参照して同一メッセージ起源のセルを集め、ITU−T標準のI.363にて規定されているMID以外の情報を参照しながらメッセージを組み立てる。この結果、ひとつのプロセスが送出したメッセージが、全てのメッセージ組立部108iにて再生される事になる。ここで、対応するセル化部107iにて使用されているMIDにて転送されてきたメッセージは、自分が組み立てたメッセージを渡すプロセス106iの作成したメッセージであるので、メッセージ組立部108iがこのようなメッセージを廃棄する事にしても良い。
【0055】
メッセージ組立部108iは、組上がったメッセージを順にプロセス#i(106i)に渡す。これにより、あるプロセス#i(106i)が送出したメッセージが、他のプロセス#j(106j)に渡された事になる。
【0056】
プロセスをマイグレーションする、ということは、例えば、図1において、図に示した状態から、プロセス#1(1061)とプロセス#2(1062)の位置を置き換える、事である。この時、それぞれのプロセス#1,2がMIDを持って移動すれば、即ちセル化部1071にて使用するMIDを2に、セル化部1072にて使用するMIDを1に、それぞれ変更すれば、移動しなかったプロセス#3、#4からは、プロセスが移動した事実を認識する事ができない。すなわち、プロセスの移動が、他のプロセスに何等影響を与えない。この観点から、MIDは、プロセスに付加された識別子の一種であると見なすことができる。ここで述べた原理に従ってメッセージの送受信が可能なプロセスの個数はMIDのビット長により決定される。ITU−T標準の.363に従えば、IDは10ビットであるので、最大1024個のプロセスが通信可能である。
【0057】
ここまでの説明で明らかな様に、これらのプロセス間で通信を行う為のメッセージ分割やメッセージ組立といった処理や、メッセージの宛先を示す為にVPI/VCIが使用されていない。このため、4:4の双方向ATMコネクション103の各プロセスとの入出力点におけるVPI/VCIは、どの様な値であってもかまわない。プロセスマイグレーションを実行するという観点からは、プロセスが移動した先でも同一のVPI/VCIにて通信が行えるよう、この4:4の双方向ATMコネクションのVPI/VCI値は全てのプロセスとの入出力点で同一である、即ちどの入出力点であっても同一のVPI/VCI値でメッセージをセル化して送出し、同一のVPI/VCI値で受信されるセルを用いてメッセージを組み立てる事が望ましい。
【0058】
なお、AAL5と呼ばれる、同一VPI/VCIにて同時に複数のメッセージを転送するとそれらのメッセージを正常に組み立てられないアダプテーション処理を適用したい場合は、例えば、MIDの代わりにVCIを用いてプロセスを識別し、n:n双方向ATMコネクションがVCスイッチングではなくVPスイッチングにて提供される様にしてもかまわない。この場合は、それぞれのプロセスとの入出力点でVPIのみ同一にするのが望ましい。この方法に従うと、同一のn:nコネクションに最大216(=65536)個のプロセスを接続できることになる。しかしながら、同一のn:n双方向ATMコネクションに接続されるプロセスの個数があまりにも大きくなると(1) 障害発生時に切り分けが困難、(2) VPI/VCI空間が圧迫されてしまう、即ちここで述べるようなn:nの双方向コネクションを最大で255(インタフェース点でのセルフォーマットがUNIの場合)しか設定できない、(3) MIDはn:nの双方向コネクション内で一意で良いので、該双方向コネクションの設定されている位置であれば変更する必要が無いのに対し、VPI/VCIは各インタフェース点毎に一意であるため、マイグレーション時に場合によってはVPI/VCIを変更しなければならない、といった問題点がある。この為、VCIを用いてプロセス識別を行うか、MIDを用いてプロセス識別を行うかの選択は、その適用されるアプリケーションによる。以降で、本発明の原理に従って提供可能なサービスをいくつか詳細に説明するが、これらのサービスでも、VCIを用いてプロセス識別を行うアプリケーションもあれば、MIDを用いてプロセス識別を行うアプリケーションもある。なお、AAL5の上にユーザプロトコルとしてMIDと同様の意味を持つ情報要素をセル毎に付加する様なプロトコルを定義することも考えられる。この様にユーザプロトコルを定義することで、AAL5でプロセス識別をVPI/VCIにて行わなければならない、といった問題点を解決する事ができる。さらに、この場合、AAL3/4を使用する場合に比べて、ユーザが任意の長さのMIDを設定できるので、ひとつのn:n双方向ATM上で通信を行うマイグレート対象のプロセスの個数を1024を越えるように設定する事も可能になる。
【0059】
次に、本実施例において重要な役割を果たす要素である、n:nの双方向コネクションのATM通信網における実現方法を説明する。
【0060】
<n:nの双方向コネクションの合流側の構成法について>
図3は、n:nの双方向コネクションの内、各プロセスが送出したメッセージ起源のセルを合流する部分の実現方法を示している。同図には、ATM通信網の内、本発明が適用される部分のみを切り出して示してある。端末#1〜#4(2011〜2014)がATM交換機#1〜#3(2021〜2023)と、VCリンク#1〜#7(2031〜2037)により接続されている。ATM通信網は、これらの端末、ATM交換機、VCリンクのみで構成される訳ではなく、その他の端末、ATM交換機、VCリンクを含んでも良い。また、同図中の本発明が適用される部分に含まれる端末、ATM交換機、VCリンクの個数及び接続形態は、特に図3に示したものに限る訳ではないことは言うまでもない。また、各ATM交換機および端末は、光ファイバやSTP(Sealed Twisted Pair cable) ,UTP(Unsealed Twisted Pair cable)にて全2重形式、即ち送信と受信が同時に可能な様に接続されているが、煩雑になるのを避けるため、これらは図3では示しておらず、少なくともVCリンク#i(203i)の設定されている位置にこれら物理リンクが敷設されているものとする。
【0061】
n:nの双方向コネクションを用いて通信を行うそれぞれのプロセス#iは、それぞれの端末#jの持つ計算能力によって実体化され、実行される。即ち、本発明が適用される端末群は、プロセス#iを実行するための一種の“場”と見なすことができる。プロセス#iが、予め定められた手順に従って選択された端末にマッピングされ、そこで実行される。言うまでもなく、プロセス#iが実行される端末#jは固定されているとは限らない。特に、プロセスマイグレーションが実行される時は、端末#a上で実行されていたプロセス#bが一旦中断され、その実行環境も含めて端末#cに移される事になる。また、設定されたn:nの双方向コネクションの端点(プロセス#iがメッセージの送受を行う位置)全てにプロセス#iが存在する必要もない。マイグレート先として考えられる全ての端末に対して端点を準備する様、n:nの双方向コネクションを設定する事にしても良い。
【0062】
図3では、端末#1〜#4(2011〜2014)からなるプロセス実行の“場”を構築する為に、ATM通信網内で設定されているVCリンクの内、メッセージを合流するためのVCリンク#1〜#7(2031〜2037)のみを示してある。メッセージを合流するためのVCコネクションは、これらVCリンク#1〜#7(2031〜2037)をATM交換機#1〜#3(2021〜2023)にて連結する事で構成される。ここで、VCリンクとは一つの物理リンク上にて同一のVPI及びVCIで転送されるセルの経路の事を意味する。また、VCリンクの連結とは一つのVCリンク上を転送されるセルを予め定められた所望の物理リンク上の別のVCリンクへと送出する事を意味し、ATM交換機#i(202i)にて実行される。
【0063】
なお、ATM交換機#i(202i)で実行されているVCリンクの連結は、特に図3に示されたもののみに限る訳ではなく、次に述べる合流トラフィックの分配に係るVCリンクの連結も同時に実行されているし、また、例えば端末#1(2011)と#2(2022)の間に通常のポイント−ポイントのATMコネクションが設定されているとすれば、ATM交換機#2(2022)は、そのATMコネクションを構成するためのVCリンクの連結も同時に実行している。
【0064】
各ATM交換機#i(202i)では、n:nの双方向コネクションの合流側に割り当てられたVCリンク#i(203i)からセルが入力されると、それらを予め定められたVCリンク#j(203j)へと転送する。例えば、ATM交換機#2(2022)では、VCリンク#1(2031)とVCリンク#2(2032)から入力されたセルをVCリンク#5(2035)へ転送する。具体的には、VCリンク#1(2031)から入力されたセル及びVCリンク#2(2032)から入力された全てのセルのVPIフィールド及びVCIフィールドをVCリンク#5(2035)に割り当てられたVPI/VCIへと書き換え、VCリンク#5の設定された物理リンクに向けて送出する。
【0065】
この為、各ATM交換機#i(202i)には、それぞれの物理リンク上から入力されたセルのヘッダ部分を書き換えるヘッダ変換機能と、それら入力されたセルを所望の物理リンクへと転送する機能が備えられる。これらの機能を実現できるATM交換機としては、例えば特開平4−100451に開示されたATM交換機が使用できるが、その実現手法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【0066】
図3に示すように、ATM交換機#i(202i)によってVCリンク群を木構造に連結することで、n:nの双方向ATMコネクションの合流側は構成される。木構造を持つVCコネクションにより、プロセス実行の“場”である端末#i(201i)から送出されたセルが最終的に木構造のルートまで転送され、一つのVCリンク#7(2037)に合流される。ここで、それぞれのATM交換機におけるVCリンクの連結時に、それぞれのVCリンク上でのセルの送出順序を保存しながら別のVCリンクへと入力すること、即ちセル順序を保存することがITU−T標準にて求められているため、最終的に作られる合流トラフィックでは、同一端末からのセル流は、送出時の順序を保持している事に注意が必要である。このことから、このセル流をATMレイヤにてコピーして作成したセル流を各端末に渡すと、各端末で該セル流に含まれるメッセージを正常に組み立てられる事になる。
【0067】
なお、端末間でのセル順序は合流トラフィックにおいては保証されていない。即ち、端末#1と端末#2がまったく同時に送出したセルは、ATM交換機#2の動作の内の非同期部分の動作タイミングにより、端末#1からのセルが先に送出される事もあれば、端末#2からのセルが先に送出される事もある。
【0068】
それぞれの端末から送出されたセルを合流してゆくと、木構造のルートに近いVCリンクには、複数端末から送出されるトラフィックが集まり、結果として該VCリンクに割り当てなければならない帯域が増大する。他の通信への悪影響を避けるため、複数のATM交換機で、UPC(使用量パラメータ制御)として知られる、それぞれのVCリンクで使用される帯域を制限する機能を実行しなければならない。
【0069】
各ATM交換機でのUPCは、例えば図3に示した例では以下の様に実行されても良い。
VCリンク#1のATM交換機#2の入力部:帯域T1によるポリシング
VCリンク#2のATM交換機#2の入力部:帯域T2によるポリシング
VCリンク#3のATM交換機#3の入力部:帯域T3によるポリシング
VCリンク#4のATM交換機#3の入力部:帯域T4によるポリシング
この様に、それぞれの端末が4:4双方向ATMコネクション103に対して送出する帯域を予め制限してしまうのがUPCの第1の方法である。この方法によると、UPCを行う点が端末を収容しているATM交換機の入力部に限定され、それ以外のVCリンクはそのVCリンクにUPCを実行する必要がなく、単にトラフィックを与える端末に許可された帯域の和によるCAC(コネクション受付け制御)のみで十分である。
【0070】
CACとは、良く知られている様に、それぞれの物理リンク上に設定されているVCリンクに与えられた帯域の和が該物理リンクの持つ情報伝送能力を超えないように制御する、ATM通信網特有の制御である。CACは単にコネクション設定機能による帯域の管理のみで実行できるが、UPCには、それを実行するために特別なハードウェアが一般的に必要になる。このため、この方法にはUPCに必要なハードウェアを削減できるという利点がある一方、それぞれの端末が合流トラフィックの根の部分のVCリンク(図3ではVCリンク#7)に許可された帯域T5(上で述べている例では、T5=T1+T2+T3+T4)までセルを送出する事ができず、それぞれの端末が送出できるセル流のピーク速度が限定されてしまうという欠点がある。
【0071】
各ATM交換機で実行されるUPCの第2の方法は、n:n双方向ATMコネクションの合流側を構成するそれぞれのVCリンクのATM交換機の入り口部分で、その根の部分に許可されている帯域T5によってポリシングを行うというものである。この場合、それぞれの端末がピークで帯域T5まで使用できる事になる。一方で、この様に端末にピークを割り当てると、複数の端末が同時にピーク帯域でセル流を与えると、ATM交換機#iの扱っている他のコネクションにセル廃棄率のが悪化等の悪影響を与えることになる。これを防ぐため、n:n双方向ATMコネクションの合流側を構成するそれぞれのVCリンクのATM交換機の入り口部分、もしくは、n:n双方向ATMコネクションの合流側を構成するそれぞれのVCリンクのATM交換機の出口部分でUPCを行う必要がある。この方法には、それぞれの端末が送出できるピーク帯域を大きく取る事が出来るという利点がある一方、ATM交換機−ATM交換機間の伝送路でもUPCを実行しなければならず、UPCを行うためのハード量が増大するという、第1の方法と逆の特性がある。
【0072】
なお、第1の方法および第2の方法それぞれにおいて、UPCの方法は特にポリシング(帯域を越えた場合、制限帯域になるまでセルを廃棄する)に限定される必要はなく、シェイピング(帯域を越えた場合、制限帯域になるまでセルの送出を待たせる)でも構わない。シェイピングを行った場合は、ポリシングを行った場合に比べて、各端末が送出するバーストがATM交換機上が衝突してもUPCによるセル廃棄を起こすことはないが、一方でセルの送出を一旦待たせるためにセルバッファが必要となり、必要となるハードウェア量が増大するという問題点がある。
【0073】
なお、ポリシング、シェイピングそれぞれについて、それらの構成方法は種々知られており、その一例は特開平4−100451に開示されているが、その構成方法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【0074】
以上にようにしてn:nの双方向ATMコネクションの合流側で合流されたセル流は、次にそれぞれが各端末に向けてコピーされながら転送される。この部分をn:nの双方向ATMコネクションのコピー側と呼ぶ。
【0075】
<n:nのATMコネクションのコピー側の構成法について>
図4には、n:nの双方向ATMコネクションのコピー側の第1の構成法が示されている。同図には、図3に示した端末#1〜#4(2011〜2014)にて構成されるプロセス実行の“場”を実現する場合のn:nの双方向コネクションのコピー側の構成を示している。端末およびATM交換機は図3中に示したものと同一であり、同一の符号を付与している。VCリンク群は、図3中に示したVCリンク群とは別であり、異なる符号を付与している。また、これらのVCリンク群が設定される物理リンクは、図3と同様に煩雑になるのを避けるため図示していない。
【0076】
図4に示した構成法は、ATM交換機#i(202i)がコピー機能として既知の機能を持つ場合に適用できる構成法である。コピー機能を持つATM交換機の構成は種々知られている。本発明者もそのうちのひとつを特願平6−140223にて開示しているが、その構成法は本発明の有効性に影響を与えないので、ここでは特に限定せずに説明を進める。
【0077】
n:nの双方向ATMコネクションの合流側と同様、VCリンク#8〜#14(3011〜3017)がATM交換機#i(202i)により木構造に連結されている。それぞれのATM交換機では、n:nの双方向ATMコネクションのコピー側を構成するVCリンクから入力されたセルについて予め定められた個数の複製を作成し、入力されたセルと複製のセルをを木構造に沿って各端末#i(201i)に転送できるよう予め定められたVCリンクに送出する。例えば、ATM交換機#2(2022)ではVCリンク#9(3012)から入力されたセルの複製を一つ作り、例えば入力されたセルをVCリンク#11(3014)へ、複製のセルをVCリンク#12(3015)へ、それぞれ送出する。この結果、n:nの双方向ATMコネクションの合流側にて合流されたセル流を構成するセルの一つ一つが、唯1回プロセス実行の“場”を実現する端末#i(201i)に転送される事になる。よって、図3に示した合流側と、図4に示したコピー側を接続する、即ちVCリンク#7(2037)とVCリンク#8(3011)を任意のATM交換機にて連結する事で、所望のn:nの双方向ATMコネクションが実現できる事になる。
【0078】
ここで、n:nの双方向ATMコネクションのコピー側を構成する各VCリンクではUPCを実行する必要が無いことに注意が必要である。それぞれの、合流トラフィックに割り当てられた帯域にてCACを行うだけで十分である。
【0079】
図5には、n:nの双方向ATMコネクションのコピー側の第2の構成法が示されている。同図は、図3中に示した端末#1〜#4(2011〜2014)にて構成されるプロセス実行の“場”を実現する場合の、n:nの双方向コネクションのコピー側の構成を示している。端末およびATM交換機は図3中に示したものと同一であり、同一の符号を付与している。VCリンク群は、図3に示したVCリンク群や図4に示したVCリンク群とは別であり、異なる符号を付与している。また、これらのVCリンク群が設定される物理リンクは、図3と同様に煩雑化を避けるため、図示していない。
【0080】
図5に示したコピー側の構成法は、ATM交換機#i(202i)がコピー機能を持たない場合に適用できる方法である。ATM交換機#i(202i)がコピー機能を持たないので、端末#i(203i)がコピー機能の代わりとなる機能を実現している。
【0081】
合流側で合流されたトラフィックは、ATM通信網中のどこかでVCリンク#15(4011)に入力され、ATM交換機#1(2021)に入力される。ATM交換機#1(2021)では、そのトラフィックをVCリンク#16(4012)へと入力する。以下、ATM交換機#2(2023)でもVCリンク#16(4012)からVCリンク#17(4013)へトラフィックを中継する。この結果、まず合流トラフィックは、端末#4(2014)に与えられる。端末#4(2014)は、該合流トラフィックを受信し、メッセージを再構成すると同時に、該合流トラフィックを折り返し、VCリンク#18(4014)へと入力する。以下、同様に、合流トラフィックをVCリンク#19〜#24(4015〜4020)を順次通過させることで、端末#3(2013)、端末#2(2012)、端末#1(2011)へと渡すことができる。
【0082】
この図5に示した構成法では、ATM交換機#i(202i)がコピー機能を持たない為、端末#i(201i)が合流トラフィックを折り返す事で、コピー機能の代替としている。この為、図5に示した構成法は、図4に示した構成法に比べて(1) n:nの双方向ATMコネクションの経路が長くなり、レイテンシが悪化する、(2) 端末#i(201i)に要求される計算能力が大きくなる、合流トラフィックに与えることのできる帯域幅が(端末#i(201i)にて折り返しているため、n:nの双方向ATMコネクションの合流側と同一物理リンクを使用し)第1のコピー側構成よりも小さくなる、(3) 端末#i(201i)に障害が起きるとn:nの双方向ATMコネクションが動作しなくなる、といった欠点はあるが、一方でATM交換機#i(203i)にコピー機能といったハード規模の大きくなる機能が不要で、ATM交換機#i(203i)が安価に構成できるという利点がある。
【0083】
また、図5に示した構成における各VCリンクでは、UPCを行う必要が無く、CACのみ行えば良いことは、図4に示した構成と同じである。
【0084】
勿論、n:nの双方向コネクションのコピー側は、図4、図5に示した方法のみでしか作れないものではない。特に、各ATM交換機がコピー機能は持っているが、その帯域幅が少ない場合、例えば、各ATM交換機が内蔵しているATMスイッチはポイント−ポイント接続のみ実現する種類のもので、該ATMスイッチの1端子に、ATMスイッチから入力されたセルを所望の数コピーしてATMスイッチに再度返す、コピー機能が接続された形式でコピーコネクションを作成する形式のATM交換機の場合、図6に示すように、例えば合流されたトラフィックを該コピー機能でいくつかの枝にし、その枝それぞれを図5に示した様なタンデム形式で各端末に分配してゆくといった図4に示した形式と図5に示した形式の組み合わせでもn:nの双方向コネクションのコピー側を作成する事ができる。図6では、ATM交換機中のATMスイッチをSと、コピー機能をCと表している。また、図6中のATM交換機には、コピー機能を含む物と含まないものがあることに注意が必要である。この時、タンデム形式の部分について、図6に示すように、別のATM交換機へと中継するセル流と、端末に与えるセル流を前記コピー機能で作成するようにすると、なお良い。
【0085】
ここまで述べてきたn:nの双方向ATMコネクションの設定形式では、ATM通信網を構築しているATM交換機の機能と、その物理的トポロジに大きく依存して、通信資源の有効利用が可能か否かが変化する。しかしながら、本発明を実施するという観点では、どの様な形式で設定されていても構わない。よって、ここでは、該ATM通信網の管理者が策定したポリシーにより該n:nの双方向ATMコネクションのコピー側の設定形式を決定することとして、どの設定形式で設定されるかは限定せずに説明を進める。
【0086】
以上で、n:nの双方向ATMコネクションを構成する方法についての説明を終える。なお、以降、図が煩雑になるのを防ぐため、n:nの双方向ATMコネクションを図7の様に略記する。双方向である事を明示するため、コネクション103の入り口部分に矢印を二つ、方向を逆にして記述する事にする。
【0087】
(実施例2)
本発明は、図1に示したような、全てのプロセスがそれぞれが送出したメッセージを受信できる事が求められるといった状況の他に、図8に示すようにメッセージを送出するプロセス群と受信するプロセス群がそれぞれ異なっている、といった状況においても実施する事ができる。図8には、メッセージを送出するプロセスが4個、受信するプロセスが2個それぞれ存在する、といった状況が示されている。この様な状況は、いわゆるサーバクライアントコンピューティングといった、それぞれのプロセスが異なった機能を専門的に実現するような場合に生じる。この様な状況が生じるその他の具体例は後ほど詳細に説明する。
【0088】
図8に示される実施例では、メッセージを送出する4個のプロセス(以下、送出プロセスという)#1〜#4(7011〜7014)が4:2の単方向ATMコネクション702の情報入力側に接続され、メッセージを受信する2個のプロセス(以下、受信プロセスという)#1(7031),#2(7032)が4:2の単方向ATMコネクション702の情報出力側に接続されている。図1の実施例と同様、図8に示される実施例も特にプロセスの数をここに示した値に限定するものではなく、より少ないプロセスの個数、及びより多いプロセスの個数であっても適用する事が可能である。さらに、特に送出プロセスの方が受信プロセスよりも多いという状況に限って適用できる訳ではなく、受信プロセスの方が送出プロセスより多くても同様に適用可能である。ここでは、一つの例として送出プロセスを4個、受信プロセスを2個として以下の説明を進める。また、プロセスの個数に等しい分岐数を持つm:nの単方向ATMコネクションを使用して通信する必要もなく、プロセスの個数より大きな分岐数を持つm:nの単方向ATMコネクションを使用する事も可能である事も、図1と同様である。
【0089】
さらに、送出プロセスがm:n単方向ATMコネクション702に送出するVPI/VCI値をそれぞれの送出プロセス間で同一とし、また受信プロセスがm:n単方向ATMコネクション702からセルを受け取るVPI/VCI値をそれぞれの受信プロセス間で同一にするのが、プロセスマイグレーションを実行するのに望ましいのも図1と同様である。なお、送出プロセス群が使用するVPI/VCI値と、受信プロセス群が使用するVPI/VCI値を同一にするか、異なった値にするかはアプリケーションの性質により決定されるべき事項である。
<第2の実施例の具体的動作>
送出プロセス#i(701i)が4:2の単方向ATMコネクション702に送出したメッセージは、該単方向ATMコネクション702を経由して、それぞれの受信プロセス#1(7031)、#2(7032)に渡される。図1の場合と同様、通信を行うために可変長のメッセージを使用する為に、それぞれの送信プロセスと4:2の単方向ATMコネクション702の間にアダプテーション処理の内のセル化機能1035〜1038が4:2の単方向ATMコネクション702と受信プロセスとの間にアダプテーション処理のメッセージ組立機能1045、1046が、それぞれ配備されている。これらのセル化機能、メッセージ組立機能が実現している機能は図1に示したものと同一である。よって、AAL3/4のMIDを、4:2の単方向ATMコネクション702にメッセージを送出する送出プロセス#i(701i)毎に割り当てれば、以下の様にして、それぞれの送出プロセス#i(701i)が送出したメッセージをそれぞれの受信プロセス#i(703i)が受信できる様になる。
【0090】
それぞれの送出プロセス#i(701i)が送出したメッセージは、セル化機能(103i)にてセル化され、4:2の単方向ATMコネクション702に渡される。4:2の単方向ATMコネクション702は渡されたセル流を一旦合流した後、それぞれのメッセージ組立機能104iへと渡す。メッセージ組立機能104iは、それぞれに付属したMIDを参照してメッセージを再生し、対応する受信プロセス#i(703i)に渡す。それぞれの送出プロセス#i(701i)にMIDを割り当てる方法は、後ほど詳細に説明される。なお、AAL5といったMIDを含まないアダプテーションプロトコルを使用する場合は、図1に示した場合と同様に、m:nの単方向ATMコネクションがVPスイッチングにて提供されることとして、MIDの代わりにVCIを使用するようにしても良いし、上で述べたようにユーザプロトコルとしてAAL5上にMIDを定義しても良い。
【0091】
これによって、送出プロセス群内での送出プロセスのマイグレーション、もしくは受信プロセス群内での受信プロセスのマイグレーションが発生しても、マイグレーションされなかったプロセスからそのマイグレーションが発生した事実を隠蔽することが可能になり、迅速なプロセスマイグレーションが安価に実現可能となる。
【0092】
<m:nの単方向ATMコネクションの設定法について>
m:nの単方向ATMコネクションのATM通信網内での設定方法は、図2に示したn:nの双方向ATMコネクションの合流側と、図4〜図6で説明したたn:nの双方向ATMコネクションのコピー側の設定方法から容易に類推可能である。例えば、送出プロセス#i(701i)と受信プロセス#j(703j)とを実行する“場”がそれぞれ異なる端末であるとすれば、以下のようにすれば良い。すなわち、合流側の入力を送出プロセス#i(701i)を実行する“場”である端末に接続し、コピー側の出力を受信プロセス#j(703j)を実行する“場”である端末に接続する。合流側で合流トラフィックの構成されるVCリンクをコピー側のルートに接続すれば、所望の動作を行うm:nの単方向ATMコネクションを得る事ができる。
【0093】
また、m:nの単方向ATMコネクションでのUPCは、送出プロセスの実行の“場”の端末の出力部分での、それぞれの端末に割り当てた帯域によるポリシングもしくはシェイピング、もしくは合流側のコネクションが設定された各物理リンクでの合流トラフィックに割り当てられた帯域によるポリシングもしくはシェイピングを行えば良いことも、n:nの双方向ATMコネクションの場合と同様である。
【0094】
なお、以降、図が煩雑になるのを防ぐため、m:nの単方向ATMコネクションを図9の様に略記する。単方向である事を明示するため、コネクション702の入り口部分にコネクション702に向かう方向の矢印を、出口部分にコネクション702から出る方向の矢印をそれぞれ記述する事にする。
【0095】
以上で、本発明の基本的な実施例についての説明を終わる。以降、本発明を実施することで通信網のユーザに提供可能なサービスを詳細に説明してゆく。これにより、本発明の精神がより明確に示されることになる。
【0096】
(実施例3)
まず、本発明を適用する第1のアプリケーションである、CATV網上での計算サービスについて、詳細に説明する。
【0097】
<第1のアプリケーションが実行されるCATV網の構成について>
図10に、本発明の第1のアプリケーションが実行されるCATV網の構成を示す。同図には、ATM交換機#1(9011),#2(9012)が相互に接続され、それにパッシブスター光分配器#1(9021),#2(9022)によって複数のセットトップボックス(STB)#1−1(90311),#1−2(90312),…,#1−m(9031m),#2−1(90321),#2−2(90322),…,#2−n(9032n)が収容されている形式のCATV網が示されている。すなわち、ATM交換機(901i)によってCATV網のバックボーン網が構成され、パッシブスター光分配器(902i)によって安価に加入者を収容する事が可能な構成である。
【0098】
パッシブスター光分配器(902i)は、いわゆるAPON(ATM Passive star optical network) を構成するために使用されており、予め定められたプロトコルにてATMセルをATM交換機(901i)からSTB(903ij)へ、またSTB(903ij)からATM交換機(901i)へそれぞれ転送している。このパッシブスター光分配器(902i)上でのATMセルの転送の為のプロトコルは、本発明の有効性に何等影響を与えるものではなく、ここでは、ATM交換機(901i)とSTB(903ij)の間でATMセルがやりとりされる、即ちATMコネクションが予め定められた方法でATM交換機(901i)とSTB(903ij)の間に設定可能であるものとして以降の説明を進める。このATMコネクションの設定法は、例えば本発明者が特願平6−140223にて開示したものであっても良い。なお、図10に示したCATV網において、ATM交換機(901i)、パッシブスター光分配器(902i)、STB(903ij)の間は光ファイバにて接続されているものとする。これは、いわゆるFTTH(Fiber To The Home )である。
【0099】
STB(903ij)は加入者宅に配置され、ATM交換機(901i)からパッシブスター光分配器(902i)を経由して転送される情報の内、該加入者が必要としている情報を取り出して該加入者に提示すると共に、該加入者がCATV網に対して送り出す情報を、予め定められた方法に従ってパッシブスター光分配器(902i)を経由してATM交換機(901i)へと渡す機能を持つ。STBの具体的構成は種々考えられるが、例えば、本発明者が特願平6−140223で示した構成であっても良い。
【0100】
これらの機能の実行の為、STB(903ij)は比較的大きな計算能力を持つ。この計算能力は、該加入者が該STB(903ij)を使用してCATV網から情報を受け取ったり、CATV網に情報を転送したりしていない間、即ち該加入者が該STB(903ij)を使用していない間は、使用されていない。
【0101】
そこで、CATV網の運用者が、使用されていないSTB(903ij)を用いて、例えば大規模行列の掛け算処理を含む計算処理を実行するサービスを行う事が考えられる。このような大規模行列の掛け算処理を含むような計算処理は、今までは例えばスーパコンピュータであるといった、非常に高価な計算機を用いて行われていたが、本発明を実施するの第1のアプリケーションによると、比較的大規模なCATV網を構築すれば、それがスーパーコンピュータの代わりとなり、CATV網の運用者が該計算サービスの実行から収入を得られるといった利点がある。勿論、この様な計算サービスをSTB(903ij)にて行う場合、後ほど述べるように、加入者から見ると、STB(903ij)の使用に若干の制限が発生する。この為、CATV網の運用者は、該計算サービスの為にSTB(903ij)を使用するか否かを加入者に加入時に質問しておき、該計算サービスからの収入に従って、計算サービスを行う事を許可した加入者のCATV網使用料金を安くするといった付加的サービスを行っても良い。
【0102】
CATV網の運用者は、この計算サービスの実行の為にジョブ制御部904をATM交換機#1に接続している。ジョブ制御部904は、具体的には例えば本発明者が特願平5−256310に開示したようなATMインタフェースを持つワークステーションであってよい。ジョブ制御部904の上で実行されるプロセスがジョブディスパッチャ905であり、一方、ジョブディスパッチャ905により起動される、計算サービスをSTB(903ij)上で実際に実行する主体が計算プロセス#i−j(906ij)である。
【0103】
<ATMコネクションについて>
以降、ジョブディスパッチャ905と計算プロセス#i−j(906ij)の間の相互作用についてより詳細に説明してゆく。これらのプロセスの相互作用について説明する前に、これらのプロセスが相互作用を行う為に必要になるATMコネクションについて説明する。
【0104】
図11に、計算サービスを行う為に、ジョブディスパッチャ905と、計算プロセス#i−j(906ij)を実行する“場”であるSTB#i−j(903ij)の間に設定されるATMコネクションを示す。各STB#i−j(903ij)間には、n:nの双方向ATMコネクションA01及びA03が、1:1の双方向ATMコネクションA02により接続されたn:nの双方向ATMコネクションが設定されている。さらに、ジョブディスパッチャ905と、STB#i−j(903ij)の間には、1:1の双方向ATMコネクションA04ijが設定されている。
【0105】
<n:nの双方向コネクションについて>
まず、図11に示されたコネクション群の内のn:nの双方向コネクションについて説明する。
【0106】
パッシブスター光分配器(902i)の、ATM交換機(901i)からSTB(903ij)に至る経路には、図12に示すようにATM交換機(901i)が送出した情報が1:nの単方向ATMコネクションとして該パッシブスター光分配器(902i)に接続された全てのSTB(903ij)に転送されるという性質がある。これは、パッシブスター光分配器(902i)の一つの入力ポートから入力された光信号のパワーを複数の出力ポートに等分して転送する、という物理的特性からくる性質である。この為、予め定められたアクセスプロトコルに従って各STB(903ij)から渡されたセル流を該パッシブスター光分配器(902i)に折り返すという比較的容易な原理で、パッシブスター光分配器(902i)上にn:nの双方向ATMコネクションを設定することができる。図11に示したn:nの双方向ATMコネクションA01,A03は、この原理に基づいて設定されている。互いに自分に乗ったトラフィックを相手に転送するため、1:1の双方向ATMコネクションA02がATM交換機#1(9011)とATM交換機#2(9012)の間に設定されている。n:nの双方向ATMコネクションA01,A03は、ATM交換機901iにおいて、パッシブスター光分配器902iから渡されたセル流と1:1の双方向ATMコネクションA02から渡されたセル流を合流し、それぞれに接続されたパッシブスター光分配器902iへと折り返す事で設定できる。より多くのパッシブスター光分配器により計算の“場”を構築する場合は、図11に示したパッシブスター光分配器の特性を考慮しながらこれらパッシブスター分配器上に設定されるコネクションを連結する様に、図3〜図6で説明した方法でn:nの双方向ATMコネクションを設定する事になるが、計算の“場”を構成するパッシブスター光分配器が二つである場合は、図11に示した簡易な方法でn:nの双方向ATMコネクションを設定できる。
【0107】
ここで、パッシブスター光分配器が各STB#i−j(903ij)の送出したセル流を合流するためには、各STBが予め定められたアクセスプロトコルを実行する必要がある。このアクセスプロトコルは種々知られており、本発明者も特願平6−140223にて開示しているが、このアクセスプロトコルは特に本発明の有効性には影響を与えないので、ここでは特にアクセスプロトコルについては限定せずに説明を進める。また、各STBとパッシブスター光分配器の間の距離が、それぞれのSTBの間でばらつく場合、パッシブスター光分配器とSTBの間で距離測定を行い、その結果によってSTBがセルを送出するタイミングを変更するといった事を行う必要があるが、これの実行手法は特に本発明の有効性には影響を与えないので、ここでは特に限定せずに説明を進める。例えば、本発明者が特願平6−140223にて開示している手法を用いても構わない。
【0108】
なお、パッシブスター光分配器で一旦集めたセル流を各STB#i−j(903ij)に分配する事から、各計算プロセスに向かう、n:nの双方向コネクションA01、A03の、計算プロセスへの出口におけるVPI/VCI値は同一のものとなることに注意が必要である。本発明では、プロセスマイグレーションを行うために、それぞれの端末の受信側で同一のVPI/VCI値を使用する事を特徴としているが、パッシブスター光分配器による通信網の場合、その物理的性質からこの性質が自然に満たされている。そこで、n:nの双方向コネクションA01,A03で、計算プロセスへの出口におけるVPI/VCIを一致させれば、複数のパッシブスター光分配器を用いた計算の“場”が実現できる事になる。
【0109】
<1:1の双方向コネクション群について>
次に、図11に示されたコネクション群のうちの1:1の双方向コネクション君A04ijについて説明する。
【0110】
ジョブディスパッチャ905と各STB#i−j(903ij)の間に設定されている1:1の双方向ATMコネクションA04ijは、ジョブディスパッチャ905が各STB#i−j(903ij)を制御し、これらのSTB#i−j(903ij)に対して計算プロセスをロードする為、等に使用される。このコネクションは、CATV網の運用者が、計算プロセスを自分のSTBにて実行して良いと許可をした加入者のSTBに対して、予め設定しておくものとする。
【0111】
これらの1:1の双方向ATMコネクションA04ijの、計算プロセス側の端点のVPI/VCIおよびジョブディスパッチャ側の端点のVPI/VCIはそれぞれ異なったものとして設定される。ジョブディスパッチャは、これらのVPI/VCIにより、メッセージを送出するSTBを識別する事になる。
【0112】
<計算処理の具体例について>
図11に示したATMコネクションを用いて、ジョブディスパッッチャ905と計算プロセス#i−j(906ij)は通信を行いながら相互作用し、最終的に与えられた計算処理を実行してゆく。以降、この相互作用の詳細を、大規模な行列の掛け算の計算処理を例にとってより詳細に説明する。
【0113】
CATV網の管理者は、顧客から計算サービスの実行依頼を受けると、まず依頼を受けた計算サービスの性質を解析し、なるべく計算プロセス間の通信が少なくなるように、また各計算プロセスにて実行する計算処理量を同一にするように、複数の計算プロセスに分割する。ここで例としている大規模な行列の掛け算の場合は、例えば以下の様に分割すればよい。行列の掛け算は、良く知られている様に、行ベクトルと列ベクトルの直積をとる演算である。よって、それぞれの計算プロセスに行ベクトルと列ベクトルを与え、それぞれが独立に直積を計算し、その計算結果を集めれば、計算プロセス間の通信が最小(0)となるように実行することができる。
【0114】
また、計算処理量を同一にするためには、それぞれの計算プロセスに割り当てる行ベクトルと列ベクトルの個数を同一にすれば良い。例えば、図13に示す如く、9×9の行列の演算を9個の計算プロセスにて実行する場合、それぞれの計算プロセスに行ベクトルと列ベクトルを3本づつ割り当て、計9個の直積を計算させる様に割り当てれば、上に述べた性質を持つプロセス分割を行う事ができる。
【0115】
次に、CATV網の管理者は、上のプロセス分割に従ってプログラミングを行う。この時、分割したそれぞれの計算プロセスに対して、一意なプロセス番号を割り当て、プログラム中に埋め込む。後で述べるように、このプログラム中に埋め込まれたプロセス番号にて、該計算プロセス間の通信におけるメッセージ転送の宛先を識別したり、ジョブディスパッチャが分割された計算処理の内のどの計算が終了したかを認識したりする。ここで説明している例の場合、それぞれの計算プロセスで実際に実行される処理が処理を加えるデータを除き同一であるので同じプログラムから複数の計算プロセスを起動する様にする事も可能である。
【0116】
次に、CATV網の管理者は、作成したプログラムをコンパイルし、それぞれの計算プロセスのオブジェクトを得る。ここで、CATV網のSTB903ijは、CATV網の運用会社から加入者に配られており、それらの構成や、内部で使用されているプロセッサに関する情報はCATV網の管理者が把握している事を仮定する。それらの構成やプロセッサに関する情報をCATV網の管理者が把握している事から、STB903ijで実行可能な計算プロセスのオブジェクトをCATV網の管理者がジョブ制御部904上で作成する事が可能になる。
【0117】
作成された計算プロセスのオブジェクトは、ジョブディスパッチャ905に与えられる。ジョブディスパッチャ905は、図14に示す手順を踏んで、与えられた計算プロセスのオブジェクトをSTB#i−j(906ij)へとマッピングし、計算プロセス#i−j(906ij)を起動する。
【0118】
まず、ジョブディスパッチャは、ステップD01に示される様に、与えられたオブジェクトを実行するSTBを、CATV網の内部から選択する。これは、予め、加入者が計算プロセスの実行を許可しているSTBの中から、加入者がその時CATV網を経由した通信を行っておらず、休止状態となっているSTBを探しだし、その休止状態となっているSTBの中から必要個数のSTBを選び出すことによって実現される。CATV網の場合、STBの運用状況は、常に網側が認識しているため、休止状態となっているSTBの探索は、特にSTBへの問い合わせを行うことなく、CATV網側で保持されている運用状況を示す情報をジョブディスパッチャ905が参照するだけで実行可能である。勿論、ジョブディスパッチャ905が、例えばSTBに電源が入っていることを確認する事も含め、STB#i−j(903ij)との間に設定されている1:1のATMコネクションA04ijを用いて何らかの通信を行って、休止状態となっているSTB#i−j(903ij)を探し出す様になっていてもかまわない。また、ジョブディスパッチャ905は、CATV網側で保持されている運用状況を示す情報から、休止状態であるSTBのリストを作成し、これら休止状態のSTBから、電源が入っているSTBを探すために何らかの通信を行うことにしてもよい。この通信は、STB#i−j(903ij)とジョブディスパッチャ905の間に設定された1:1の双方向ATMコネクションA04ijを用いて行うことが可能なことは言うまでもない。
【0119】
次に、ジョブディスパッチャ905は、計算プロセスを実行しようとするSTBに対して計算プロセスのダウンロードを行う(ステップD02)。このダウンロードにも、STB#i−j(903ij)とジョブディスパッチャ905の間に設定された1:1の双方向ATMコネクションA04ijが使用される。
【0120】
なお、全く同一のオブジェクトを複数のSTBにダウンロードする目的で、例えばパッシブスター光分配器の特性を生かして1:mの単方向ATMコネクションをSTB#i−j(903ij)とジョブディスパッチャ905の間に設定しておき、ジョブディスパッチャからの一回のオブジェクトの送出で複数のSTBへのダウンロードが実行可能な様にコネクションを設定しておく事も考えられるが、この方法にはいくつかのSTBへのダウンロードが失敗したときの再送制御が複雑になる、という問題点がある。この為、ここで述べているアプリケーションでは、ダウンロードには1:1の双方向ATMコネクションA04ijを使用する事にしている。
【0121】
次に、ジョブディスパッチャ905は、ステップD04でそれぞれの計算プロセスに必要な行ベクトルを、ステップD05でそれぞれの計算プロセスに必要な列ベクトルを、それぞれSTB#i−j(903ij)に転送する。これにも、STB#i−j(903ij)とジョブディスパッチャ905の間に設定された1:1の双方向ATMコネクションA04ijが使用される。
【0122】
以上で、各STB#i−j(903ij)に、計算プロセス#i−j(906ij)の実行に必要なプログラムコードとデータが揃ったことになる。各STB#i−j(903ij)は、与えられたプログラムコードとデータから、計算プロセス#i−j(906ij)を起動し、与えられた計算を実行する(ステップD06i)。
【0123】
計算プロセス#i−j(906ij)の実行が終了すると、各STB#i−j(903ij)は計算結果をジョブディスパッチャ905に転送する(ステップD07)。これにも、STB#i−j(903ij)とジョブディスパッチャ905の間に設定された1:1の双方向ATMコネクションA04ijが使用される。
【0124】
以上でCATV網の管理者が意図した計算サービスをSTBにて実行できたことになる。
【0125】
ステップD06iの実行中に、例えば計算プロセス#i−j(906ij)を実行しているSTB#i−j(903ij)が加入者により使用され始めるとか、停電が発生したとかの理由で、該計算プロセス#i−j(906ij)をマイグレートする必要が生じた場合は、図15に示す実行順序を踏んで、計算プロセス#i−j(906ij)を別のSTBに転送する。
【0126】
まず、停電が発生した(ステップD08)とか、加入者がSTBの使用を開始した(ステップD09)といった、計算プロセス#i−j(906ij)の実行をこれ以上続けられなくなる原因が生じた場合、STBは、まず該計算プロセスの実行を停止する(ステップD10)。
【0127】
次に、該停止した計算プロセスのコード、及び実行環境(ワークメモリの値、プロセッサの内部レジスタの値、等)をジョブディスパッチャ905にアップロードする(ステップD11)。なお、停電発生時にステップD10、D11を実行するため、計算サービスの実行を行うSTBはバッテリーバックアップされていることが望ましい。
【0128】
計算プロセスのアップロードを受け取ると、ジョブディスパッチャ905は、受け取った計算プロセスを引き続き実行できるSTBを決定し(ステップD12)、該STBに計算プロセスのコードと実行環境をダウンロードする(ステップD13)。
【0129】
計算プロセスのダウンロードを受けたSTBは、停止された位置から計算プロセスを引き続き実行する。これにより、途中まで計算が進んだ計算プロセスのマイグレーションが可能になる。
【0130】
ところで、何らかの異常が発生してステップD11の実行環境のアップロードが正常に行えなかった場合、ジョブディスパッチャ905を経由したプロセスマイグレーションを実行する事はできない。この場合、ある計算プロセスの計算結果をジョブディスパッチャ905が無限に待ってしまう不都合が発生することになる。この不都合を解消するため、ジョブディスパッチャ905に、各STBで計算プロセスを起動した時点から動作を開始するタイマを設る事としてもよい。該タイマがタイムアウトした場合に、ジョブディスパッチャ905が、何らかの異常が発生して計算結果を得られなかったと見なし、計算結果を得られなかった計算プロセスを再度別のSTBに割り当てる、といった処理を行えば、この不都合は解消できる。
【0131】
ここで説明した処理は、いわゆるSIMD(Single Instraction Multiple
Data stream )による並列処理で、しかもジョブディスパッチャ905が最初に与えたデータのみで各計算プロセス#i−j(906ij)が計算の実行を行うことができた。この場合、それぞれの計算プロセス#i−j(906ij)間での通信は行う必要がない。よって、図11に示した、双方向のATMコネクションA01〜A03によるn:nの双方向ATMコネクションを使用した通信は上述の計算処理では発生しなかった。しかしながら、SIMDでもそれぞれの計算プロセス#i−j(906ij)が計算の途中結果をお互いにやりとりしながら計算処理を実行する場合や、いわゆるMIMD(Multiple Instraction Multiple Data stream )による並列処理をCATV網上で実行するといった場合は、各計算プロセス間でデータをやりとりする事になる。この通信に、双方向のATMコネクションA01〜A03によるn:nの双方向ATMコネクションが使用される。前述した様に、この双方向ATMコネクションの、各計算プロセスとの端点におけるVPI/VCIは、本発明の原理に従って全ての端点で同一の予め定められた値を取っている事としている。この双方向ATMコネクションにメッセージを送出する際には、前記各プロセスに割り当てられたプロセス番号がMIDとして使用されている。このようにVPI/VCIを予め定められたものとし、プログラム時に割り当てられたプロセス番号をMIDとして使用してメッセージを送出する事にすれば、本発明の原理により、各計算プロセス#i−j(906ij)にて、他の計算プロセスが送出したメッセージを正常に組み立てられる事は明らかである。
【0132】
ここで考えている計算サービスの場合、それぞれの計算プロセス間の通信のパタンは、該計算プロセスをSTBにダウンロードするときに既に決定しているものとする。この仮定の下では、上述のプロセス番号を用いてそれぞれの計算プロセスを識別することにし、該メッセージ中の宛先アドレスとして該プロセス番号を指定する様予めこれらの計算プロセス#i−j(906ij)をプログラミングすれば、それぞれの計算プロセスの実行時に、自分宛のメッセージのみ取り込む事が可能になり、計算サービスをそれぞれの計算プロセスが協調して実行する事ができるようになる。ここで、上述した本発明の原理により、例えSTB#i−j(903ij)が停電等の要因により計算プロセスを実行できなくなったとしても、ジョブディスパッチャ905が上述の様に計算を進められるSTBを探してそこにマッピングし、その時、マイグレートされるプロセスのプロセス番号を引き継ぐだけで、他の計算プロセスに対してある計算プロセスがマイグレーションされた事実を隠蔽する事が可能である事に注意が必要である。
【0133】
第1のアプリケーションが効率よく計算を進める為には、計算サービスが要求する処理の性質として、ジョブディスパッチャ905からのダウンロード時に通信パタンが決定している事、や、計算プロセス#i−j(906ij)間での通信が比較的少ない、といった性質を持っている必要がある。このような計算処理の例としては、大規模行列上の演算を用いたものが上げられる。このような大規模行列上の演算を用いた計算処理としては、例えば、上位のATM通信網におけるVPのルーティングの最適解を発見するであるとか、企業網でのATM交換機配備問題であるとか言ったいわゆる線形計画法に従ったアプリケーションが挙げられる。さらに、大気の状態から天気を予測するといったいわゆる偏微分方程式の解を求めるアプリケーションも、上述の性質を持つアプリケーションである。これらの計算処理をSIMD/MIMDにて計算処理する手法に関しては、過去から多数の研究がなされ、非常に多くの手法が知られているが、CATV網の運用者が所望の計算手法によりプログラミングし、ジョブディスパッチャ905に与える事で、これら種々の手法を応用する事が可能である事は言うまでもない。
【0134】
ここで、それぞれのSTB#i−j(903ij)に、例えば雨量計、気圧計等の大気の状態を収集するセンサを配備し、ジョブディスパッチャ905が予め定められた時刻にこれらセンサから大気の状態を収集して偏微分方程式を解くといった事を行うと、CATV網が敷設されている地域に特化した天気予報をCATV加入者に提供できることに注意が必要である。このようなサービスは、CATV網の地域性を生かしたサービスであり、加入者から見て魅力的である。
【0135】
以上で、本発明を適用する第1のアプリケーションである、CATV網上での計算サービスに関する説明を終わる。
【0136】
<送信端末制御について>
なお、本発明は、パッシブスター光分配器902iの上りリンクにおける送信端末制御の手法によらず種々のシステムに適用する事が可能であることはいうまでもない。例えば、本発明者が特願平6−140223に開示した様な上りリンクでの送出端末制御の手法を採用したCATVにおいても、また、以下に説明する様な送信端末制御の手法を採用したCATVにおいても本発明は有効である。即ち、特願平6−140223に開示した上りリンクでの送出端末制御の手法が、送出許可テーブルと呼ばれる端末(即ちCATV網で言うところのSTB)毎の送出許可を保持するテーブルを設け、該テーブルを順次読み出し、順次STBに向けて例えば下りリンクのセル流のGFCフィールドで送出許可を与えるSTBの番号を通知するといった手法であるのに対し、ここで述べる手法は、以下に詳細に述べる様に、STB毎に送出許可を作成するカウンタ群を設け、該カウンタにて送出許可を作成して送出する手法である。テーブルに予め送出許可パタンを書き込んでおく手法と比べると、STBからの送出トラフィックのCDV(cell Delay Variation)制御性という観点では劣るが、マルチレートコネクションを設定する為のオーバーヘッドが削減でき、また、より広いコネクション毎の通信帯域に対応可能であり、ハードウェア量も削減できるという利点がある。
【0137】
図16に、ここで説明する送信端末制御手法の機能構成を示す。この構成は、Q.2931に規定される最大セルレート(PCR)を元に計算できる、I.371にて規定される到着間隔TからTATを計算し、該TAT毎に各STBに対して送出許可を与えるような構成になっている。
【0138】
ATM通信網における呼設定プロトコルの国際標準、Q.2931では、ATMコネクションの最大帯域はPCRと呼ばれる値にて規定されている。このPCRは、UNIに1秒間に到着する、あるコネクションに属するセルの個数として規定されている。
【0139】
一方、ATM通信網におけるトラフィック制御に関する国際標準、I.371では、ATMのポリシング、シェイピングを行う為にGCRAと呼ばれるアルゴリズムが規定されている。このアルゴリズムでは、あるコネクションのトラフィック量を規定するパラメータとして、到着間隔Tとゆらぎτが定義されている。基本的には、あるコネクションに属するセルが予め定められた到着間隔Tで到着するものとする。この到着間隔Tにて当該コネクションに属するセルが到着していれば、それらのセルはパラメータに違反していないものとする。ただし、この到着間隔Tより早めに到着したセルについてもゆらぎτの範囲内であればこのパラメータに違反していないとする。
【0140】
到着間隔Tにてセルが到着しているか否かを判断する為、I.371に従ってポリシングやシェイピングを行う機能は、TAT(論理到着時刻)と呼ばれる値を作成している。これは、当該コネクションに属するセルの最初の到着時には0であるが、以降、T,2T,3T,…と順次増加してゆく値である。ポリシングやシェイピングを行う機能は、コネクション設定中にこれらのTATの値を計算し、実際のセル到着時刻と比較する。TATよりも遅くセルが到着した場合は、そのセルはパラメータに違反していないものとする、なお、次のTATの計算の到着時間を起点が、そのセルの到着点となる。一方、TATよりも早くセルが到着した場合は、ゆらぎτの範囲内であるか否か判断し、範囲内であればそのセルはパラメータに違反していないものとし、範囲外であれば違反しているものとする。違反しているとした場合はTATを更新しないが、違反していないとした場合は次のTATを計算して次のセルの到着を待つ。
【0141】
この原理を利用して、例えば図10に示したATM通信システムで、ATM交換機901iの入出力ポートのうちパッシブスター光分配器902iが接続された入出力ポートにおいて、ATM交換機901iからパッシブスター光分配器902iを経由してSTB906ijに向かうセル流(下りリンクのセル流)を用いて、同一パッシブスター光分配器902iに接続されたどのSTB906ijからATM交換機901iに向かうセル(上りリンクのセル流)を送出するかを指定する為に必要となる機能構成を示したのが図16である。
【0142】
この機能を実現するための中心的な役割を果たすのは、各STB906ijに対応して設けられるTAT作成カウンタ5011〜501nである。TAT作成カウンタ501iには、ATM交換機901iの呼設定機能(図示せず)によって、それぞれのSTBに許可されている上りリンク上の通信帯域(PCRにて表示される)から計算できるセル到着間隔Tが設定される。本構成では、それぞれのSTBに設定されているコネクション毎にTATを作成する代わりに、それぞれのSTB毎に、それぞれのSTBに設定されているコネクションに割り当てられた通信帯域の総計からTATを作成する事にし、TAT作成カウンタのハードウェア量の総量を削減している。上りリンク上の通信帯域のSTB906ijからの要求及びATM交換機901iによる割当てには、例えばQ.2931にて規定されたプロトコルを使用する事ができる。このプロトコルを実行するために、特願平6−140223に開示した様に、各STB906ijに対して予め(例えば)64kbpsといった伝送帯域が与えられているものとしてもよい。
【0143】
TAT作成カウンタ501iは、呼設定機能から設定されたセル到着間隔Tを元に、以下に述べる方法を用いてTATを作成している。それと同時に、セルスロットをカウントしているカウンタを時刻として持っており、作成したTATと一致する場合、その事を送出許可収集機能502に通知する。
【0144】
送出許可収集機能502は、各セルスロット毎に、各TAT作成カウンタ501iから送出される、対応するSTB906ijに対して送出許可が与えられているか否かの情報を参照し、送出許可が与えられたSTB906ijの番号を作成してスロット割当FIFO503にエンキューする。ここで、一つのセルスロットにおいて複数のSTB906ijの番号が送出許可収集機能502により作成され、スロット割当FIFO503にエンキューされる可能性がある事に注意が必要である。TATを作成した結果として同一セルスロットに複数STBへの送出許可を作成してしまう可能性があるが、一方でパッシブスター光分配器902iの性質から同時に複数のSTBが上りリンクにセルを送出する事ができない。スロット割当FIFO503は、この同時に発生した送出許可をスケジューリングする、即ち、これらの送出許可を一旦保持し、順にSTBが上りリンクにアクセスできるよう1セルスロットに一つの送出許可を送出する、という重要な働きを担う。
【0145】
一方、GFC付加機能504は、セルスロット毎にスロット割当FIFO503を参照し、もしSTB906ijの番号が該FIFOに保持されているならば、該FIFOの先頭の番号をデキューする。その後、スロット割当FIFO503は、デキューした時点で物理レイヤ機能に渡されようとしている、下りリンクのセル流中のセルのGFCフィールドに、該FIFOからデキューした番号を書き込む。この時、スロット割当FIFO503が空であれば、その時点で送出許可の与えられているSTB906ijが存在しないということであるので、その旨を表示するためのGFCの値(例えば0)を物理レイヤに向かうセルのGFCフィールドに書き込む。この結果、特願平6−140223に開示した上りリンクでの送出端末制御の手法と同様、送出許可の与えられるSTB906ijの番号が下りリンクのセル流中に順次書き込まれ、ATM交換機901iから送出される事になる。
【0146】
この下りリンクのセル流を受けたSTB906ijの動きは、特願平6−140223に開示した上りリンクでの送出端末制御の手法と同様である。即ち、ATM交換機901iから送出された下りリンクのセル流は、パッシブスター光分配器902iの働きにより同一パッシブスター光分配器902iに接続された全てのSTB906ijに転送される。STB906ijは、自分に割り当てられた番号をGFCフィールドに含むセルが現れたならば、該セルの下りリンクのフレーム構造中の位置によって指定される上りリンクのセルスロットにて自分が送出したいセルを送出する。
【0147】
なお、上では、送出許可を与えるSTB906ijの番号を下りリンクのセルのGFCに含ませるものとして説明を進めたが、特願平6−140223に開示した上りリンクでの送出端末制御の手法と同様、ITU−Tにて標準化されているUNIセルの先頭にSTB番号を示すフィールドを新たに付加することとしてもよいのは言うまでもない。また、上では、スロット割り当てFIFO503に保持される情報はSTB906ijに付加された番号であるとしたが、特願平6−140223に開示した手法同様、スロット割り当てFIFO503のエンキュー/デキュー単位であるワード中の各ビットをSTB906ijに対応させたいわゆるビットマップ情報であってもよい。上で述べた方法では、特願平6−140223に開示した手法に比べて、スロット割り当てFIFO503に要求されるエンキュー時の動作速度は早くなるが、ワードの長さを削減できる利点があり、スロット割り当てFIFO503に要求される総記憶容量を削減できる。
【0148】
次に、TAT作成カウンタ501iの構成について詳細に説明する。
【0149】
上述のアルゴリズムを実装する場合、以下の問題点を解決する必要がある。
【0150】
ATMフォーラムでは、ピーク監視に係る到着間隔Tは、前述のPCRの逆数であるとしている。この為、到着間隔Tは実数になる。また、τの最小値は0.5としている。これにより、例えば3セルスロットに2セルといった、整数値で表すことのできない到着間隔を表現できる。
【0151】
ところが、ここに、単にディジタル化された実数にて到着間隔を定義すると、実数化した時の誤差の累積により、正確なピークレート作成が不可能という問題点がある。また、Q.2931ではPCRが24ビットのバイナリ整数として定義されているにも関わらず、I.432にて定義されている物理レイヤ構造上の1秒間のセルの個数は一般的に整数でなく(例えば155.52MbpsのSTM−1と呼ばれるフレーム8000個で転送可能なセルの個数は整数でない)、この観点からも正確なピークレート監視が不可能であるという問題点がある。
【0152】
そこで図17に示したTAT作成カウンタ501iの構成では、これら二つの問題点、即ち、PCRの定義と物理レイヤ構造とのミスマッチ、及び到着間隔Tを実数表現した場合の誤差の累積という問題点を解決している。この構成では、到着間隔Tを実数表現した場合の誤差の累積に関しては、実数が、整数のわり算の商とその残余として扱う事で整数領域で正確に表現できる事を利用して解決している。また、PCRの定義と物理レイヤ構造とのミスマッチに関しても、整数のわり算の商とその残余にて実数を正確に表現できることを利用して解決している。
【0153】
図17に示されたTAT作成カウンタ501iの構成中、PCRの定義と物理レイヤ構造のミスマッチの解決の為に、割り当て可能セル数レジスタ601、残余オクテット数設定レジスタ602、物理レイヤ時刻測定カウンタ605、第1の比較器606、残余オクテット数累積レジスタ607が使用される。また、到着間隔Tの誤差の累積の解決の為に、T整数部設定レジスタ603、T残余設定レジスタ604、ATMレイヤ時刻測定カウンタ608、第2の比較器609、T残余累積レジスタ610、τ設定レジスタ611、ΣPCR設定レジスタ612が使用される。
【0154】
まず、PCRの定義と物理レイヤ構造のミスマッチの解決手法について説明する。ここでは、STM−1と呼ばれる155.52Mbpsの伝送容量を持つ物理レイヤを例にとって使用する。以下説明する本発明を他の構造の物理レイヤについて適用する事は、以下の説明中のSTM−1のフレーム構造の各パラメータをそれぞれ適用したい物理レイヤのパラメータで置き換える事で容易に実行可能であることは言うまでもない。
【0155】
125μ秒の時間に転送される1フレーム中に、STM−1と呼ばれる形式のフレームでは、260ビット×9行のペイロードが存在する。即ち、STM−1の場合、1秒間に260ビット×9行×8000フレーム=18720000バイトの情報を転送できる。一方、このペイロードにマッピングされるATMセルは53バイトの長さである。よって、STM−1には1秒間に353207セルと29バイトを転送する能力がある。ところが、PCRは1秒間に転送可能なセル数を整数にて表現した値であり、上で述べた29バイト分の伝送容量はPCRでは表現できない伝送容量である。PCRの定義からは、この29バイトには有効セルをマッピングしてはならないことになる。一方、セル流は連続して(セルとセルの間にすきまなく)上記18720000バイトのペイロード部分にマッピングすることがITU−T標準によって求められており、ATMレイヤにおけるセルスロット(セル一つを転送可能な時間単位)は上記18720000バイトのペイロード部分に連続して定義される。つまり、ペイロード中のバイト数をセルの長さで割った剰余である29バイトもATMレイヤにおける有効セルの転送に使用されることになる。ATMレイヤにおけるセルスロットは、PCRの定義される伝送容量よりも1秒間に29バイト分だけ伝送容量が多い。この伝送容量をATMレイヤが使用しないようにしないと、PCRにて定義されるピークレートよりも若干早いピークレートが割り当てられる事になる。これは、同一の伝送路に設定されるコネクション数が少ない場合は大きな問題とはならないが、多数のコネクションが設定される場合に、CACをかけているにもかかわらずセル廃棄率が劣化する原因になる。なぜならば、ATMスイッチ(ATM交換機の中でセルを所望の出力端に転送する機能)のセル廃棄率は、ある負荷から急激に劣化するからである。劣化する寸前の負荷までCACにてコネクションが設定された場合、このPCRと伝送路の伝送容量のミスマッチによる誤差により、実際には伝送路にセル廃棄率が劣化する負荷がかけられてしまう可能性がある。
【0156】
図17に示したTAT作成カウンタは、この危険性を回避するために以下の様に動作する。
【0157】
ATMレイヤにおける時刻は、ATMレイヤにおけるセルスロットの先頭のタイミングを示すセルスロット先頭信号の立ち上がりにてインクリメントされるカウンタ、ATMレイヤ時刻測定カウンタ608によって定義される。このカウンタを用いて順次セルの送出許可を作成してゆくが、上述の1秒間に29バイトの伝送容量の残余分が1セル長になったなら、該ATMレイヤ時刻測定カウンタ608のインクリメントを停止する。これによって、物理レイヤには存在するが、PCRで定義されない伝送容量がセル単位で(有効セルが割り当てられずに)垂れ流される事になる。これによって、PCRで定義された伝送容量を正確に各STB906ijに与えられる。
【0158】
物理レイヤ時刻測定カウンタ605は、セルスロット先頭信号の立ち上がりによりインクリメントされている。割り当て可能セル数レジスタ601には、物理レイヤのフレーム構造のペイロード中に1秒間に含まれるオクテット数を、セルの長さで割った値の整数部分(これを割り当て可能セル数と呼ぶ。STM−1では353207セルである)から1を引いた値が設定されており、第1の比較器606が、物理レイヤ時刻測定カウンタ605と、割り当て可能セル数レジスタ601の値を比較している。前記カウンタと前記レジスタの値が一致したならば、次のセルスロット先頭信号の立ち上がりで、物理レイヤ時刻測定カウンタ605がクリアされると同時に、残余オクテット数設定レジスタ602の値が残余オクテット数累積レジスタ607に足し込まれる。残余オクテット数設定レジスタ607には、物理レイヤのフレーム構造のペイロード中に1秒間に含まれるオクテット数を、セル長で割った残余(STM−1では29バイト)が設定されている。くわえ込まれた結果、残余オクテット数累積レジスタ607に保持された値がセルの長さ(53バイト)を越えた場合、残余オクテット数累積レジスタ607に保持された値からセルの長さを引くと共に、次のセルスロット先頭信号の立ち上がりにおけるATMレイヤ時刻測定カウンタのインクリメントを抑制する。これにより、PCRで定義されない伝送容量をセル単位で垂れ流すことが実現できる。
【0159】
次に、実数として定義される到着間隔Tおよびτを整数演算により処理し、実数演算時における誤差の累積を防止する手法について説明する。
【0160】
ATMフォーラムにおいて到着間隔Tは、PCRの逆数と定義されている。パッシブスター光分配器を伝送される情報量を削減する観点からコネクション毎にTATを作成する代わりにSTB906ij毎にTATを作成することとしている本発明では、この事は対応するSTB906ijに設定されているコネクションに割り当てられたPCRの和、ΣPCRの逆数と到着間隔Tを定義することに相当する。しかしながら、この値ではセル送出間隔を実時間で測定する必要が生じ、ハード量が増加して望ましくない。そこで、到着時間間隔Tを、単にΣPCRの逆数とするのではなく、伝送路が1秒間に転送することのできるセル数、割り当て可能セル数を、ΣPCRで割ることで得られる値とする。これにより、実時間ではなく、セルスロット数にて到着間隔Tが定義されることになる。
【0161】
到着間隔Tを得る為にこのわり算を実行すると、一般的には到着間隔Tは小数部分を持つ実数となる。しかしながら、到着間隔Tを小数部分を持つ実数として扱うと、良く知られている様に、例えばΣPCR=3で、割り当て可能セル数が3の倍数でない場合等で丸め誤差が発生し、PCRにて定義されるピークレートよりも大きなレートにてSTB906ijに送出許可が与えられることになる。この誤差によりCACで意図した負荷よりも高い負荷がATMスイッチに与えられ、ひとつの伝送路に多数のコネクションを設定する場合、結果としてセル廃棄率が悪化する可能性がある。
【0162】
丸め誤差の発生を防ぎ、PCRにて定義されるピークレートにて正確にSTB906ijに送出許可を与えるため、図17に示した構成では、割り当て可能セル数をΣPCRで割った商の整数部と、その時の残余をそれぞれ整数で表現してセル送出許可を与えることとしている。
【0163】
T整数部設定レジスタ603には、割り当て可能セル数をΣPCRで割った商の整数部から1を引いた値が、T残余設定レジスタ604には、この時の残余が、それぞれ保持されている。また、ΣPCR設定レジスタ612には、対応するSTBに設定されたコネクションのPCRの和が設定されている。図17に示したTAT作成カウンタ501iでは、基本的にはT整数部設定レジスタ603に設定された間隔でセル送出許可をSTB906ijに与える。ただし、T残余設定レジスタ604に設定された値を用いて、この間隔を時々伸ばし、全体としてPCRにて定義されたピークレートにて正確にSTB906ijに送出許可を与えるようにしている。
【0164】
ATMレイヤ時刻測定カウンタ608は、残余オクテット数累積レジスタ607からの指示が無い限り、セルスロット先頭信号の立ち上がり毎にインクリメントされる。このカウンタの値は、第2の比較器609によって、T整数部設定レジスタ603に設定された値と比較され、このふたつの値が一致しており、かつ残余オクテット数累積レジスタ607からインクリメント抑制指示が出ていないならば、次のセルスロット先頭信号の立ち上がり時に、セル送出許可を送出許可収集機能502に向けて送出すると共にATMレイヤ時刻測定カウンタの値をクリアする。
【0165】
T残余累積レジスタ610には、セル送出許可が送出される毎に、T残余設定レジスタ604の値が足し込まれる。この値がΣPCR設定レジスタ612に設定された値を超えている場合に、1セルスロットセル送出許可を与えるタイミングを遅らせるならば、Tの小数部分を補正できたことになる。これを実現するため、T残余累積レジスタ610は、自分に保持された値とΣPCR設定レジスタ612を比較し、自分に保持された値がこのレジスタの値を超えているならば、第2の比較器609に、次にセル送出許可を与えるタイミングを1セルスロット遅らせる指示を出すと同時に、自分が保持された値からこのレジスタの値を引き去る。
【0166】
第2の比較器609は、T残余累積レジスタ610から、次にセル送出許可を与えるタイミングを1セルスロット遅らせる指示を受け取ったならば、T整数部設定レジスタ603とATMレイヤ時刻測定カウンタ608の比較において、T整数部設定レジスタ603に設定されたそのものの値を使用する代わりに、該レジスタに設定された値に1を加えた値とATMレイヤ時刻測定カウンタ608とを比較する。これにより、次にセル送出許可を与えるタイミングを1セルスロット遅らせる事ができる。
【0167】
なお、セル送出許可が同時に複数STBに対して与えられた場合、これらの送出許可がスロット割り当てFIFO503に保持されるが、ここでの許可待ち時間はGCRAにおけるTATよりも遅れたセル到着に相当するので、GCRAに従うならば次にセル送出許可を与えるタイミングを待つ時間分遅らせる必要がある。このため、各TAT作成カウンタの作成したセル送出許可をスロット割り当てFIFO503にエンキューするさい、該スロット割り当てFIFO503に既に保持されたセル送出許可の個数を送出許可収集機能502が参照し、この値(待ちスロット数)を対応するTAT作成カウンタ501iに通知し、TAT作成カウンタ501iでは通知された待ちスロット数をT整数部設定レジスタ603に設定された値に加えてATMレイヤ時刻測定カウンタ608との値の比較を行うこととしてもよい。
【0168】
さて、ここまで述べた方法によるセル送出許可の間隔は、セルスロット単位で測定したTATの小数部分が0でない場合に、その小数部分を切り捨ててセル送出許可を与えている事に相当する。即ち、GCRAで規定されている、CDV許容値τが1の場合である。CDV許容値τはATM通信網の運用ポリシーによって変化するが、CDV許容値τは一般的に1より大きい値に設定される。よって、本発明のATM通信網への適用には問題はない。
【0169】
ところで、上述の様に、TATを作成する起点とする時刻を待ちスロット数分遅らせると、ピーク帯域を守ってセルを送出する、というATM通信網側から見て都合の良い構成となるが、一方で、端末から見ると、待ちスロット数分のセルスロットに対して自分がセルを送出する機会が与えられず、ピーク帯域が常に割り当てられている訳ではない、という不都合が生じる事になる。この問題点は、上述のTAT作成方式において、TATを作成する起点とする時刻を待ちスロット数分遅らせる操作を行わず、スロット割り当てFIFO503にエンキューした時点を起点としてTATを計算する事にしてもよい。この場合、スロット割り当てFIFO503の長さ分、各STB毎のセル到着間隔Tが短くなる可能性があるが、これはATM通信網側でCDV許容値τを大きく設定し、かつスロット割り当てFIFO503に送出許可が数多く溜まらない様な十分軽い負荷でCATV網を使用する事で解決可能である。即ち、端末に対して常にピーク帯域を与えるか否かは、ATM通信網にかけうる負荷との間のトレードオフとなり、これらのいずれを選択するかは、ATM通信網の運用ポリシーによって選択すべき問題である。
【0170】
また、ここで述べた方式の場合、パッシブスター光分配器902i上でセル送出許可を転送するためのオーバーヘッドを最小にすべく、コネクション単位ではなくSTB906ij単位にセル送出許可を与える事にしているが、このようにすると、STB906ijが、自分に設定されたコネクションのうちのひとつのコネクションの使用帯域を減らして別のコネクションの使用帯域を増やすことが可能である。これをSTB906ijが行った場合、これらのコネクションがATM通信網内部で異なる経路を転送されるならば、使用帯域の増やされたコネクションが他のユーザのコネクションのQoSを劣化させてしまうことになる。これを防ぐため、パッシブスター光分配器902iからATM交換機901iへのセル入力時に、ATM交換機901iの入力端においてコネクション毎のポリシングを行い、コネクション毎に割り当てられた通信帯域を使用していることを保証することにしてもよい。
【0171】
(実施例4)
次に、本発明を適用する第2のアプリケーションである、CATV網上での簡易移動端末サービスについて、詳細に説明する。
【0172】
移動端末サービスとは、いわゆる自動車電話や携帯電話に代表される様に、加入者が移動しながら通信できるサービスである。加入者(移動端末)が移動しながら通信を行えるようにするために、移動端末が固定端末との通信に使用する無線ゾーンを移動端末の移動に伴って切り替える処理は、ハンドオーバ処理と一般的に呼ばれる。この場合の加入者ないしは移動端末を、移動しながら通信するというプロセスに見立てれば、このハンドオーバ処理も等価的にプロセスマイグレーションの一種であると見なすことができる。本発明によると、以下に説明する様に、ハンドオーバ処理を簡便に実現する事ができる。
【0173】
図18に、本発明の第2のアプリケーションが実行されるCATV網の構成を示す。同図には、ATM交換機#1(E011),#2(E012)が相互に接続され、それにパッシブスター光分配器#1(E021),#2(E022)によって、移動端末収容装置である複数の無線ゾーン作成部#1−1〜#1−m(E0311〜E031m),#2−1〜#2−n(E0321〜E032n)が収容されている形式のCATV網が示されている。
【0174】
図10に示したCATV網と同様、図18に示した構成のCATV網もATM交換機(E01i)によってバックボーン網が構成され、その上での情報伝送がATM化されたパッシブスター光分配器(E02i)によって、加入者を安価に収容することを目的とした構成であるが、図14に示したCATV網では、STBの代わりに無線ゾーン作成部#i−j(E03ij)が接続されている。ここで、図10に示したCATV網と、図18に示したCATV網との違いは、単にSTBを接続するか、無線ゾーン作成部を接続するかの違いのみであるので、例えば一つのパッシブスター光分配器にSTBと無線ゾーン作成部を混ぜて接続するような構成としても良い事に注意が必要である。このように、単一のパッシブスター光分配器を種々の用途に利用可能な点がATM化したCATV網の大きな利点の一つである。
【0175】
これらの無線ゾーン作成部#i−j(E03ij)は、それぞれが無線ゾーンを構成する。第2のアプリケーションを利用する移動端末(E041)は、これらの無線ゾーンのどれかに入ると、固定端末とみなすことのできる移動端末制御部E051を介して通信相手G0Cとの音声通信やデータ通信が可能になる。ここでの無線ゾーン中の無線チャネルは、本発明者が特願平5−349634にて開示したATM化された無線チャネルであってよい。ここでは、この無線チャネルにて通信がなされるものとして以降の説明を進める。無線チャネルをATM化することで、移動端末が64kbpsのみならず、例えば8kbps、128kbpsといったような種々の帯域を比較的自由に使用できるようになる。この結果として、移動端末(E041)に提供するサービスを音声通信のみではなく、例えば該移動端末(E041)を所持している加入者がCATVのサービスエリア中の何処に存在しているかを別の加入者に通知するといった、必要となるビットレートが比較的小さなデータ転送サービスも安価に提供可能になる。
【0176】
また、移動端末が通信中は一つの無線ゾーン中で停止しており、他の無線ゾーンに移動しない(即ちハンドオーバ処理を行わない)とするならば、例えば計算機のファイルのダウンロードといった、必要となるビットレートが大きくなるデータ転送サービスも提供可能である。ここで、ハンドオーバ処理を行わないのは広帯域の通信を行っている間のみでよい事に注意が必要である。例えば、移動端末の使用者が、歩きながら音声による通信を行っている最中に、少し大きなファイルにアクセスするときは立ち止まり、ファイルへのアクセスが終了したら再度歩き出す、といったサービスは容易に実現が可能である。
【0177】
移動端末収容装置である無線ゾーン作成部#i−j(E03ij)は、ATM交換機#i(E01i)からパッシブスター光分配器E02iを経由して渡されるセル流(下りリンクのセル流)を、自分の作成している無線ゾーンへと放送すると同時に、自分の作成している無線ゾーン中に存在する移動端末から送出されるセル(上りリンクのセル流)を、パッシブスター光分配器E02iを経由してATM交換機に渡す働きを持つ。本発明者が特願平5−349634にて開示した様に、下りリンクのセル流を運ぶ為のキャリア周波数と、上りリンクのセル流を運ぶためのキャリア周波数を異なるようにし、全2重通信を可能とする。無線ゾーン作成部#i−jの構成は種々考えられるが、例えば、本発明者が特願平5−349634にて開示した構成であっても良い。ただし、特願平5−349634中に示した無線ゾーン作成部は、ATM交換機に直接接続する形のものであり、パッシブスター光分配器経由でセルをATM交換機とやりとりするものではない。パッシブスター光分配器経由でセルをATM交換機とやりとりする場合、前述したように、無線ゾーン作成部とATM交換機の間の距離を測定し、セル流を送出するタイミングを変化させる機能と、他の無線ゾーン作成部と上りリンクを共用するためのアクセスプロトコルを実行する必要がある。ここで述べる無線ゾーン作成部は、これらの機能を含んでいるものとする。なお、パッシブスター光分配器の上りリンクでのアクセスプロトコルの方法は、本発明の有効性になんら影響を与えるものではないので、ここでは特に限定せずに説明を進める。例えば、本発明者が特願平6−140223にて開示した方式であってもよいし、上述したものであってもよい。
【0178】
移動端末E041は、通信を開始したい場合、ある無線ゾーンに存在している時に、無線ゾーンの制御情報チャネルを用いて網側にコネクション設定要求を出す。このコネクション設定要求に呼応して、通信網内部に必要なコネクションが設定される。移動端末E041は、こうして設定されたコネクションを使用して通信を行う。また、移動端末E041は通信が終わると、移動端末E041は無線ゾーンの制御情報チャネルを用いて網側にコネクション解放要求を出す。このコネクション開放要求に呼応して、今まで該移動端末E041が使用していたコネクションが解放される。この無線ゾーンの制御情報チャネルにおける通信方法については、後ほど詳しく説明する。
【0179】
ハンドオーバ処理を司るのが、ATM交換機#1(E011)に接続された移動端末制御部(E051)である。この移動端末制御部(E051)は、ハナドオーバ処理に際して、(a) 移動端末制御部(E051)を入力側端点とし、移動端末収容装置である無線ゾーン作成部#i−j(E03il)のうちのm個の無線ゾーン作成部を出力側端点とするn:mの単方向ATMコネクション(例えばG03)と、無線ゾーン作成部#i−j(E03il)のうちのm個を入力側端点とし、n個の固定端末である移動端末制御部(E051)を出力側端点とするm:nの単方向ATMコネクション(例えばG04)をATM交換機#1(E011),#2(E012)を制御して設定するコネクション機能、および(2) n:mの単方向ATMコネクションのm個の入力側端点の識別と、m:nの単方向ATMコネクションのm個の出力側端点の識別のための同一のコネクション識別子を割り当てるコネクション識別子割り当て機能を有する。但し、図20の例では移動端末制御部はE051の一つであり、n=1であるが、nが2以上の場合にも本発明は適用できる。これらのATMコネクションから見ると、移動端末制御部は一種の固定端末と見なすことも可能である。
【0180】
ATM交換機は、移動端末からのコネクション設定要求を受けると、後述するATMコネクションを移動端末制御部E051と各無線ゾーン作成部E03ijの間に設定する。移動端末による通信中にコネクションを張り替えなければならない状況が生じるが、この事は移動端末制御部E051が検出し、ATM交換機に向けてコネクションの張り替えの要求を送出する。
【0181】
<ハンドオーバ処理の実現方法について>
以下、本発明の第2のアプリケーションにおいて、移動端末制御部E051、ATM交換機E01iおよび無線ゾーン作成部E03ijがハンドオーバ処理を実現する方法について、より詳細に説明を進める。
【0182】
実際のこれら移動端末制御部E051、ATM交換機E01i、無線ゾーン作成部E03ijの間のインタラクションについて説明する前に、ハンドオーバ処理を実現するための無線ゾーンの設定法について説明する。
【0183】
図19に示す如く、CATV網業者はサービスを行っている市街地の道路に沿って、前記無線ゾーンをそれぞれが互いに一部重なりをもつように配備する。このとき、重なりを持つ無線ゾーン間では使用する電波の周波数を異なる様に設定する。なお、一つのパッシブスター光分配器に接続された無線ゾーン作成部群の作成する無線ゾーン群(これを無線クラスタと呼ぶ)は、図19に示すように道路に沿って連続するように配置しておく。これらの無線ゾーンの大きさは、無線ゾーン中での安価な高速データ伝送を意図し、例えば半径100mといった小さなものとする。
【0184】
一方、移動端末はCATV網内で下りリンクとして使われる周波数を常に監視しており、これらの周波数の中から、より受信強度の大きな周波数の受信電波を用いて情報を再生する様に動作する。下りリンクの情報を転送する電波を監視して無線ゾーンを自動的に選択するようにし、さらに以下に述べるようにコネクションを設定する事で、ハンドオーバ処理を安価に実現できる構成となっている。ここで、下りリンクの周波数と上りリンクの周波数の組は変えない、即ち、下りリンクの周波数がfd1である無線ゾーンでは上りリンクはfu1で、下りリンクの周波数がfd2である無線ゾーンでは上りリンクはfu2で、といった関係をCATV網内で固定しておくのが望ましいことに注意が必要である。これにより、移動端末が使用する下りリンクの周波数を決めれば、自動的に上りリンクの周波数を決める事ができ、無線ゾーンに情報を送出できるようになる。
【0185】
なお、これらの無線ゾーンは、特に市街地の道路に沿ってのみ配置される訳ではない。例えば、親が子供に無線端末を持たせ、子供が街の中を遊び回っている間に危ない場所に近づいた場合に、親に警報を発するといったサービスを行うためには、市街地中の危険個所(例えばため池)にも無線ゾーンを配備すれば良いし、また各加入者の家庭のリビング、ダイニングといった各部屋に無線ゾーンを配備するようにしても良い。CATV網管理者は、加入者からの依頼で加入者からここで述べているサービスを使用したいと要求のあった位置に、無線ゾーンを配備する事とする。
【0186】
図20に、移動端末サービスを実行する際に移動端末制御部E051と各無線ゾーン作成部E03ijの間に設定されるコネクションを示す。これらのコネクションは、移動端末からの発呼や移動端末への着呼時にATM通信網内部に設定される。なお、各移動端末から発呼する際や各移動端末に着呼する場合にも情報転送経路が必要になるが、これに関しては後ほど詳しく説明する。図が煩雑になるのを避けるため、同図にはこれらの経路は示されていない。また、移動端末が発呼を行う場合や、移動端末への着呼を受け付ける為には、該移動端末がどの無線ゾーンに存在するか、網側に通知する必要があるが、これについても後ほど詳しく説明する。
【0187】
移動端末E041からの発呼時や、移動端末E041への着呼時には、各パッシブスター光分配器E02i上に、1:mの単方向ATMコネクションG03,G0Aと、m:1の単方向ATMコネクションG04,G09が設定され、これらが1:1の単方向ATMコネクションG01,G02,G05,G06,G07,G08で移動端末制御部E041に接続されている。
【0188】
一方、移動端末の通信相手G0Cと移動端末制御部E051の間に、1:1の双方向ATMコネクションG0Bが設定される。ここでは、移動端末の通信相手G0Cは移動しないものとし、通常のATMコネクションにてシームレスに移動端末制御部E051と接続されている事とする。なお、移動端末の通信相手G0Cがまた移動端末であれば、図20と同様にその通信相手の移動端末に向かって1:mの単方向ATMコネクションと、m:1の単方向ATMコネクションが設定され、これらが1:1の単方向ATMコネクションで移動端末制御部E041に接続される事になる。
【0189】
1:mの単方向ATMコネクションG03と、m:1の単方向ATMコネクションG04は、同一のパッシブスター光分配器に接続された無線ゾーン作成部E031jの作成する無線ゾーン間、即ち無線クラスタ内の、移動端末E041の移動に対するハンドオーバ処理を実現する為に使用される。
【0190】
1:mの単方向ATMコネクションG04,G0Aは、図12に示したパッシブスター光分配器の性質により、パッシブスター光分配器にATMコネクションを設定すると自然に設定されるものである。これらの単方向コネクションの働きにより、同一のパッシブスター光分配器に接続された無線ゾーン作成部E031jが作成する無線ゾーンでは、同じ情報を担うセルが同一のVPI/VCIにて受信可能である。よって、前述のように移動端末E041が最も受信強度の強い受信電波から情報を再生するように動作することと、それぞれの無線ゾーンが地理的に重なり合いをもって配置されている事から、たとえ移動端末が無線ゾーン間を移動していたとしても、同一の無線クラスタ内では、無線ゾーンを移動して受信周波数を変化させた時に一時フレーム同期とセル同期が外れ、フレーム同期とセル同期の再確立の動作が発生するだけで、移動端末E041は通信を続けることが可能である。即ち、無線ゾーンを変更しても受信情報が途切れる時間が短くて済む。
【0191】
この時、取り出すセルのVPI/VCIを変更する必要が無いことに注意が必要である。音声情報のような少々の途切れは人間が補間できる種類の情報の場合に、受信情報の途切れる期間を人間が補間もしくは無視できる時間より短く抑えれば、コネクションを切断せずに通信を続ける事が可能になる。無線チャネルで受信情報が途切れる時間は、特願平5−349634にて開示したATM化された無線チャネルの場合、フレーム同期とセル同期が確立する為に必要な時間である。無線チャネルのフレームのオーバーヘッド間隔を短くする等、フレーム構造を適切に選択する事で、受信情報が途切れる時間を要求される範囲に抑えることができる。また、この場合において無線ゾーンを渡る際のフレーム同期、セル同期の再確立が許容できない様な通信を行うときは、ユーザが無線ゾーンを移動しない、即ち立ち止まって通信を行えば良いことは明らかである。無線ゾーンがATM化されていることから、例えば、最初音声で歩きながら通信しており、立ち止まってファイル転送を受け、再度歩き出して音声で通信する、といったサービスを行う場合は、ファイル転送を行うために必要な帯域を持つATMコネクションを移動端末に向かって新たに設定するという簡便な手法をとることができることに注意が必要である。
【0192】
移動端末が無線クラスタ内で情報を送出する場合は、単に割り当てられたVPI/VCIにてセルを送出すれば良い。送出されたセルは、m:1の単方向ATMコネクションG04の働きにより、自然に1:1の単方向ATMコネクションG02を経由して所望の通信相手の部分へと転送される。
【0193】
以上の処理を実現するだけで、無線クラスタ内のハンドオーバ処理、すなわち同一の無線クラスタ内で移動端末がある無線ゾーンから他の無線ゾーンに移動する際の無線ゾーンの切り替え処理を実現できる事になる。この場合、単一の無線クラスタ内のみのハンドオーバ処理であれば、移動端末制御部E051は不要であり、1:1の単方向ATMコネクションG01,G02を通信相手G0CへのATMコネクションG0Bに接続すれば良い。
【0194】
しかしながら、比較的高速な通信を安価に実現するためには、無線ゾーン作成部E03ijが作成する無線ゾーンを半径100mと比較的小さくする事が望ましいため、一つのパッシブスター光分配器が構成する無線クラスタのみでは、CATV網の加入者が必要とする地域全体に簡易移動端末サービスを提供することはできない。この為、複数の無線クラスタ間を渡るハンドオーバ処理を行う必要がある。移動端末制御部E051は、このような複数の無線クラスタ間を渡るハンドオーバ処理の為に設けられる。
【0195】
ある移動端末に着呼もしくはある移動端末から発呼があった場合、網は、その移動端末が存在する無線クラスタに図20に示したコネクションを設定すると同時に、その無線クラスタに隣接する無線クラスタにも同様のコネクションを設定する。図20では、ATMコネクションG03,G04が、現在移動端末が存在する無線クラスタに対応しており、一方、ATMコネクションG09,G0Aは該無線クラスタに隣接する無線クラスタに対応している。
【0196】
移動端末制御部E051は、移動端末が存在する無線クラスタ上に設定されたコネクションと通信相手へのコネクションとを連結すると同時に、該無線クラスタに隣接している無線クラスタ上に設定されたコネクションと通信相手へのコネクションとを連結する。即ち、図20に示した例では、コネクションG0Bにて移動端末制御部E051に渡されたセル流をコネクションG01,G05にコピーして渡すと同時に、コネクションG02,G06から渡されたセル流をコネクションG0Bに合流して渡す。これにより、通信相手G0Cの送出したセル流が現在移動端末E041の存在している無線クラスタおよびその隣接クラスタに渡されるので、移動端末E041が無線クラスタを渡ったとしても、移動端末が最も強度の強い電波から情報を再生することさえ行っていれば、同一無線クラスタ内の無線ゾーン移動時に受信情報を切り替えるのと同一の処理にて受信情報を切り替えることができる。また、移動端末E041の送出するセルは、現在存在する無線クラスタであっても、またそれに隣接する無線クラスタであっても、通信相手に渡される事になる。この結果として、無線クラスタ間のハンドオーバ処理も、無線クラスタ内の無線ゾーン間のハンドオーバ処理と同一の処理にて実行できる事になる。
【0197】
なお、無線クラスタを渡るハンドオーバ処理が発生した場合には、隣接無線クラスタが変化する。即ち、今まで隣接無線クラスタでなかった無線クラスタが隣接無線クラスタになるか、もしくは今まで隣接無線クラスタと考えていた無線クラスタが隣接でなくなるといった事が発生する。
【0198】
新たに隣接無線クラスタとなる無線クラスタには、新たなハンドオーバ処理に備え、図20に示した様なコネクションが設定される。新たな隣接無線クラスタ中の各無線ゾーンにおいては、他の無線クラスタにて使用されているものと同一のVPI/VCIを使用するのはいうまでもない。このコネクション設定は、移動端末制御部E051が通信網に要求する事になる。これを実現するためには、移動端末の位置を無線制御部E051に通知する必要がある。この為には、移動端末制御部E051と各無線ゾーン作成部E03ijの間に1:1の双方向コネクションを設定しておき、移動端末の位置を各無線ゾーン作成部が移動端末制御部E051に通知するようにしても良いし、後ほど詳しく述べる様に、各無線ゾーン作成部が自分の作成する無線ゾーンに対して自分に割り当てられた識別子を放送しており、該無線ゾーンに割り当てられた識別子を移動端末E041が受信し、それを移動端末制御部E051に通知するといった事を行っても良い。
【0199】
一方、今まで隣接無線クラスタであった無線クラスタ上に設定されていたコネクションに関しては、通信帯域の有効利用という観点からは解放された方が望ましく、一方、移動端末E041はそのうちに同一無線クラスタに戻ってくる確率が高いので、ハンドオーバ処理にかかる処理量を削減するという観点からは残しておいた方が良い。これらのコネクションを解放するか削減するかは、移動端末E041を持つ人間の行動パタンによって決定されるべき事項であるが、もし、これらのコネクションを解放するのであれば、移動端末制御部E051が網にそれらの解放を要求することになる。
【0200】
このように、ハンドオーバ処理に伴うコネクション設定/解放を移動端末が無線クラスタ間の移動を行った後に実行できることから、ここで述べている方法は安価な構成で迅速なハンドオーバ処理を実行できるという利点がある。
【0201】
なお、ここで述べている本発明によるCATV網の場合、移動端末サービスは通常のATMコネクションによる通信とは異なる、上述したような特殊なコネクションに係る処理を行わなければならないことから、移動端末サービスを一種のオプション、すなわち実施することもできれば実施しなくともよいサービスとして位置付けている。このような場合、図20に示すように既存技術によるATM通信システムと同様に、コネクション設定部G0Dを設け、移動端末制御部E051が移動端末に係るコネクション設定をコネクション設定部G0Dに要求にするようにしてもよい。
【0202】
コネクション設定部G0Dは、移動端末制御部E051からの要求や他の通常のATMコネクション設定の要求を受取り、ATM通信システム内部のATM交換機E011,E012を制御してATMコネクションを設定する役割を持つ。この観点からは、移動端末制御部E051はATM通信システムに付加され、特殊サービス(ここでは、移動端末サービス)を実現する一種のサービス機能実現のための固定端末として働いている。このように、特殊サービスを固定端末として実現することで、該固定端末をATM交換機に接続するだけで、所望のATM通信網で特殊サービスを実現できるという、コスト的に有利な実装法となる。
【0203】
<ハンドオーバ処理の概略的手順について>
次に、上述したハンドオーバ処理の概略的な手順を図21を用いて説明する。無線クラスタを渡る移動端末の移動が発生すると、次の無線クラスタを渡るハンドオーバ処理に備えるべく、移動端末制御部E051によってn:mの単方向ATMコネクションとm:nの単方向ATMコネクションの設定が要求される(ステップS21)。この時、ATM通信網のコネクション設定部(G0D)は、要求されたn:mの単方向ATMコネクションのm個の入力側端点の識別と、m:nの単方向ATMコネクションのm個の出力側端点の識別のために同一のコネクション識別子(この例ではVPI/VCI)を割り当てることとしながら、要求されたコネクションを設定する(ステップS22)。これにより、移動端末E041の次の無線クラスタを渡るハンドオーバに対する準備が終了する。そして、移動端末E041が無線クラスタを渡ってハンドオーバしても、今までと同一のVPI/VCIによって移動端末制御部E051との通信に使用するATMコネクションを指定できることにより、ハンドオーバ処理が実現される(ステップS23)。
【0204】
図22に、上述したハンドオーバ処理を実現するための移動端末制御部E051の構成を示す。この移動端末制御部E051は、物理レイヤ部H01、ペイロード暗号化部H02、ペイロード復号化部H03、加入者暗号キーテーブルH04、制御セル分岐/挿入部H05、VPI/VCI書き換え部H06、コピータグ付加部H08、コピーバッファH07、および制御プロセッサH09からなっている。
【0205】
移動端末制御部E051には、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結機能、無線クラスタを渡った場合のハンドオーバ処理を実現するための機能、及び移動端末サービスで常に問題になるセキュリティを向上するためのセルのペイロード部分の暗号化の機能を持っている。以降、これらの機能を順に説明してゆく。
【0206】
まず、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結機能について説明する。この機能は、移動端末の通信相手から渡されたセルを移動端末が存在する無線クラスタ及び隣接無線クラスタにコピーして送出する機能、及び移動端末から渡されたセルを通信相手に転送する機能からなる。
【0207】
本実施例の場合、移動端末制御部E051が1本の物理リンクにてATM交換機#1(E011)に接続されているので、移動端末サービスを実行する為に設定されるATMコネクションを移動端末制御部E051が識別できるようにする必要がある。即ち、移動端末制御部E051とATM交換機#1(E011)の間のインタフェース点で、それぞれ異なるVPI/VCIが付加される。移動端末制御部E051は、どのVPI/VCIにセルを送出するとどの無線クラスタにセルが送出されるか、識別できる事になる。また、移動端末制御部E051が同時に複数の移動端末に対して移動端末サービスを提供するためには、それぞれの移動端末に要求されるATMコネクションを移動端末制御部E051が識別できるようにする必要がある。即ち、移動端末制御部E051は、どのVPI/VCIにセルを送出すると、どの移動端末にセルが送出できるかを識別できることになる。この意味で、第2のアプリケーションでマイグレートするプロセスである移動端末を識別するのは、第1のアプリケーションで使用されたプロセス識別子たるMIDではなく、コネクション識別子たるVPI/VCIである。
【0208】
各無線クラスタに向けて設定されたコネクションと、通信相手に向けて設定されたコネクションを連結するには、以下の処理を行えば良い。
【0209】
最初に、移動端末の通信相手から受け取ったセルを移動端末が存在する無線クラスタ及び隣接無線クラスタにコピーして送出する機能について説明する。以下に説明する様に、この機能は同一のセル流を複数個作成する、いわゆるセルコピー機能により実現される。
【0210】
通信相手G0CからコネクションG0Bを経由して渡されるセル流は、ATM交換機を経由して物理レイヤ部H01の受信側に渡される。物理レイヤ部H01は、ATM交換機から渡されるビット列に対してフレーム同期およびセル同期処理を行い、セル流を再生する。このセル流は、ペイロード復号化部H03および制御セル分岐/挿入部H05を経由し、コピータグ付加部H08に渡される。コピータグ付加部H08は、渡されたセルのVPI/VCIを参照し、コピータグとここで呼ぶ情報を付加し、コピーバッファH07に渡す。コピータグ中には、そのセルがどのコネクションに属し、またいくつコピーされるべきかを示す情報が付加されている。前者をコピーコネクション識別、後者をコピー数と呼ぶ。例えば、図20に示したコネクション構成では、コネクションG0Bから入力されたセルをコネクションG01とコネクションG05に転送する事にしており、コピー数は2となる。また、コピーコネクション識別は、移動端末E041と通信相手G0Cの間の通信を識別するために、該移動端末制御部E051にて処理されているコネクション毎に一意に付加される。例えば、このコネクションを識別するためにコピーコネクション識別として値1を取ることにする。
【0211】
コピーバッファH07は、入力されたセルのコピー数を参照し、該コピー数に等しい数のコピーを作成してVPI/VCI書き換え部H06に渡す。ここで、コピーバッファH07は、コピー数の書かれていたフィールドに同一セルのコピーに対して送出順にシーケンス番号を書き込む。このシーケンス番号をコピー番号と呼ぶ。例えば、コピー数=4で入力されたセルはコピーバッファH07から4回出力される。その際、これら出力されるコピーセルのコピー番号は、0→1→2→3と出力順に変化させられる。このコピー番号は、次のVPI/VCI書き換え部H06で、コピーされたセルをどのコネクションに送出するかを選択するために使用される。なお、コピーコネクション識別のフィールドは、コピーバッファH07ではトランスペアレントに出力される。
【0212】
コピーバッファH07から出力されたセルは、VPI/VCI書き換え部H06に入力される。VPI/VCI書き換え部H06は、コピーコネクション識別とコピー番号を参照して、それぞれのセルが送出されるべきコネクションを識別し、該コネクションを識別するためのVPI/VCIの値に該セルのVPI/VCIフィールドを書き換えると共に、コピータグを削除し、制御セル分岐/挿入部H05、ペイロード暗号化部H02を経由して物理レイヤ部H01の送信側に渡す。同一セル起源の複数セルについて、それぞれ所望の無線クラスタに転送可能なVPI/VCIを付けてATM交換機に向けて送出することで、ATM交換機でのそれらのセルのルーティングが可能になり、それらのセルが所望の無線クラスタへと転送される事はいうまでもない。例えば、図20に示されたコネクション構成では、コピーコネクション識別が1である事によりG01もしくはG05に転送すべきセルであることが認識することができ、例えばコピー番号0のセルをG01にコピー番号1のセルをG05に送出するとすれば、コピーコネクション識別が1で、コピー番号が0であるセルのVPI/VCIをコネクションG01を識別するための値に、コピーコネクション識別が1で、コピー番号が1であるセルのVPI/VCIをコネクションG05を識別するための値にそれぞれ書き換える事になる。
【0213】
なお、これらのコネクションのもう一方の端点に付加されるVPI/VCI、即ち、それぞれの移動端末毎に割り付けられた、ハンドオーバ処理を単純にするために全ての無線ゾーンで使用される同一のVPI/VCIと、VPI/VCI書き換え部H06から送出する時のVPI/VCIとでは、その値が異なっている。これらのコネクションの無線ゾーン側での端点でのVPI/VCIは、ATM交換機からパッシブスター光分配器に送出される点か、もしくは無線ゾーン作成部によって書き換えられる。
【0214】
以上により、通信相手G0Cが送出したセルが所望の無線クラスタに転送され、所望のVPI/VCIをもって移動端末E041に渡されることになる。
【0215】
一方、移動端末が送出したセルは、上述した様に、m:1の単方向ATMコネクションを経由して移動端末制御部E051に渡される。この時、移動端末識別部E051の入力部では、どの移動端末が送出したセルかが、それぞれの移動端末が送出したセルのVPI/VCIにて識別できる様にコネクションが設定されている事に注意すると、以下の様に移動端末制御部E051が入力されたセルを扱うことで、各無線クラスタに設定されているコネクションから移動端末の通信相手に向けて設定されたコネクションに向けてセルを転送できることになる。
【0216】
コネクションG02もしくはコネクションG06から入力されたセルは、コネクションG0Bから入力されたセルと同様に、物理レイヤ部H01、ペイロード復号化部H03、制御セル分岐挿入部H05を経由してコピータグ付加部H08に入力される。コピータグ付加部では、コネクションG02もしくはコネクションG06に割り当てられたVPI/VCIを参照し、コピータグを付加してコピーバッファH07に転送する。ここで、コピータグ中のコピー数は1で良い。また、コピーコネクション識別は、コネクションG02とコネクションG06に同一の値を割り当てる。コネクションG02もしくはコネクションG06に属するセルのコピー数が1に設定されているので、コピーバッファH07では単にこれらのセルのコピー番号を0としたセル一つをVPI/VCI書き換え部H06に渡す。
【0217】
VPI/VCI書き換え部H06では、コピー識別及びコピー番号を参照し、入力されたセルがコネクションG02もしくはコネクションG06に属するセルであると認識すると、コネクションG0Bに割り当てられたVPI/VCIに該セルのVPI/VCI値を書き換え、制御セル分岐/挿入部H05、ペイロード暗号化部H02、物理レイヤ部H01を経由してATM交換機へと出力する。VPI/VCIの値がコネクションG0Bに割り当てられたものの場合、ATM通信網は該セルを通信相手G0Cへと転送する。以上により、どの無線クラスタに移動端末E041が存在しても、該移動端末が送出したセルは所望の通信相手に転送されることになる。
【0218】
以上述べた二つの動作、即ち通信相手からのセルを所望の無線クラスタ群に転送する動作と、所望の無線クラスタ群でのセルを所望の通信相手に転送する動作によって、各無線クラスタに向けて設定されたコネクションと、移動端末の通信相手に向けて設定されたコネクションの連結が実現できることになる。
【0219】
次に、移動端末制御部E051の持つ、無線クラスタを渡った場合のハンドオーバ処理を実現する機能について詳細に説明する。
【0220】
上述したように、移動端末の存在する無線クラスタと、該無線クラスタの隣接無線クラスタに予めコネクションを設定しておいてハンドオーバ処理に備えておき、ハンドオーバ処理の要求が発生した時、即ち移動端末が存在する無線クラスタが変わった時に、新たに隣接となった無線クラスタにコネクションを設定し、新たなハンドオーバ処理に備えるという、ここで述べている簡易なハンドオーバ手法を実現する為には、移動端末が存在する無線クラスタを把握し、適宜通信網に向けてコネクション設定の要求を行う必要がある。移動端末制御部E051の持つハンドオーバ処理の機能は、このために使用される。ハンドオーバ処理用計算能力は、制御セル分岐/挿入部H05と制御プロセッサH09によって提供される。
【0221】
図23に、ハンドオーバ処理等の移動端末の制御を行うために予め無線ゾーン作成部#i−j(E03ij)と移動端末制御部E051の間に設定されるコネクションを示す。この種のコネクションを移動制御コネクションと呼ぶ。図23には、一つの無線クラスタに属する無線ゾーン作成部#i−jに関する移動制御コネクションのみが記載されている。
【0222】
各々の無線クラスタ内の無線ゾーン作成部#i−j(E03ij)と、移動端末制御部E051の間には、移動制御コネクションとして、1:mの単方向ATMコネクションI01と、m:1の単方向ATMコネクションI02とが設けられている。無線ゾーン作成部#i−j(E03ij)から移動端末制御部E051へ情報を転送する時にはm:1の単方向ATMコネクションI02が、移動端末制御部E051から無線ゾーン作成部#i−j(E03ij)へ情報を転送する時には1:mの単方向ATMコネクションI01が、それぞれ使用される。
【0223】
移動端末制御部E051とATM交換機の間では、どの無線クラスタに関する移動制御コネクションかを識別することができるように、無線クラスタ毎にVPI/VCIが付加される。一つの無線クラスタに関する移動制御コネクションを構成する1:mの単方向ATMコネクションI01とm:1の単方向ATMコネクションには、同一のVPI/VCIが与えられる。即ち、入力されてきたセルの送出元の無線クラスタにセルを転送したい場合は、その入力されてきたセルのVPI/VCIと同一の値を送出するセルに与えれば良い。
【0224】
無線ゾーン作成部#i−j(E03ij)と移動端末制御部E051の間の通信では、可変長のメッセージとするべく、アダプテーションレイヤとしてAAL3が使用される。この為、後ほど詳細に説明する手法で、それぞれの無線ゾーン作成部E03ijに対してMIDが割り当てられる。
【0225】
それぞれの無線ゾーン作成部は、m:1の単方向ATMコネクションI02を用いて移動端末制御部E03ijに対してメッセージを転送するときは、該割り当てられたMIDを用いてメッセージをセルに分割する。その後、それらのセルのVPI/VCI値を無線ゾーン作成部とパッシブスター光分配器との間でコネクションI02に割り当てられたVPI/VCIとして送出する。その結果、コネクションI02の働きによって、これらのセルは移動端末制御部E051へと導かれる。移動端末制御部E051では、各無線クラスタから転送されてきたセル流をそれぞれ独立にMIDを参照しながらメッセージへと組み立てる。これにより、VPI/VCIを参照することで組み立てたメッセージを送出した無線クラスタを、MIDを参照することで組み立てたメッセージを送出した無線ゾーン作成部がそれぞれ識別できることになる。
【0226】
一方、移動端末制御部E051は、無線ゾーン作成部E03ijのうちのどれかにメッセージを送出するときは、該メッセージを送出したい無線ゾーン作成部E03ijに割り当てられたMIDにてセルに分割する。その後、これらのセルのVPI/VCI値を、移動端末制御部E051とATM交換機との間で、コネクションI01に割り当てられたVPI/VCIとして送出する。この結果、コネクションI01の働きによって、これらのセルは同一の無線クラスタ中の無線ゾーン作成部E03ijへと導かれる。無線ゾーン作成部E03ijでは、移動端末制御部E051から転送されてきたセル流から、自分に割り当てられたMIDと同じMIDを持つセルのみ取り出し、メッセージへと組み立てる。
【0227】
図1に示した実施例では、送出元に割り当てたMIDにてメッセージのセル化を行っていたが、このように、送信先に割り当てたMIDにて移動端末制御部E051がセル化したとしても、コネクションI01にメッセージを送出するプロセスが移動端末制御部のみであるので、異なるメッセージが同時に同一MIDにてセル化される事がなく、無線ゾーン作成部E03ijにて正常にメッセージ組立が可能であることに注意が必要である。このように実装すると、MIDを参照するだけで自分宛てであるか否かを判断でき、不要なメッセージの組み立てをせずに済むという利点がある。
【0228】
移動端末制御部E051の内部では、コネクションI02に属するセルは物理レイヤ部H01、ペイロード復号化部H03を経由して制御セル分岐/挿入部H05へと転送される。制御セル分岐/挿入部H05では、ある無線クラスタから移動端末を制御する情報として渡されたセルを制御プロセッサH09へと分岐する。制御セル分岐/挿入部H05での分岐条件は、以下の通りである。即ち、該制御セル分岐/挿入部H05は、物理レイヤ部H02側から入力されるセルのVPI/VCIを参照し、移動端末制御部E051とATM交換機との間に設定されているそれぞれの移動制御コネクションに割り当てられたVPI/VCIを持つセルを制御プロセッサH09に分岐すれば良い。
【0229】
一方、コネクションI01に属するセルは、移動端末制御部E051の内部において、以下の様に転送される。コネクションI01に属するセル等の、ある移動クラスタに対して送出する制御メッセージを制御プロセッサH09が作成し、該メッセージをその送出先である無線ゾーン作成部に割り当てられたMIDによってセルに分割し、さらに該分割されたセルのヘッダ部分にその送出先である無線クラスタに転送するためのVPI/VCIを書き込んで、制御セル分岐/挿入部H05に渡す。制御セル分岐/挿入部H05は、物理レイヤ部H01側に向かうセル流中の空セルを制御プロセッサH09から渡されたセルに置き換え、ペイロード暗号化部H02を経由して物理レイヤ部H01へと送出する。これにより、制御プロセッサH09が作成した制御メッセージから作成されたセルが、移動端末制御部から送出される事になる。
【0230】
なお、制御プロセッサH09が移動端末サービスを実現するためのATMコネクション設定要求を作成することになる。よって、上述の移動端末コネクションと同様、コネクション設定部G09Dとの間の通信に必要なセルに間しても、制御セル分岐/挿入部H05において分岐/挿入が行われる。
【0231】
図24は、移動端末E041、各無線ゾーン作成部E03ij、移動端末制御部E051の間でやりとりされるメッセージを時系列に並べたメッセージシーケンス図であり、移動端末E041が無線ゾーン作成部#1−2の無線ゾーンに存在する時にコネクション設定を行い、その後、無線ゾーン作成部#1−1の無線ゾーンへと移動した場合の例である。
【0232】
本発明者が特願平5−349634にて示した、ATM−LAN中にて使用される無線ゾーン作成部と同様、本実施例における無線ゾーン作成部E03ijも自分の無線ゾーンに自分の無線ゾーンに予め与えられた識別子を予め定められた時間間隔で放送している(ゾーン通知メッセージJ01,J02,J06,J09)。上述したように、無線ゾーン中の無線チャネル上では、ATMセルが転送されるため、このゾーン通知メッセージは本発明者が特願平5−349634にて示した様に、予め定めらたVPI/VCIを持つセルとして定義されるブロードキャストセルの一種類として転送されていても良い。また、無線ゾーン識別子は無線ゾーン作成部に付けられたノード番号であっても良い。移動端末制御部E051は、無線ゾーン識別子と、該無線ゾーンの実際の地図上の位置との対応関係を保持しておく表を持っている。この表は、それぞれの無線ゾーン作成部の設置時にCATV網の保守者によって維持更新されるものとする。
【0233】
移動端末E041は、電源が投入されるとまず無線ゾーンの下りリンクとして使用される周波数を順次スキャンし、それぞれの周波数の電界強度を測定する。その後、最も電波強度の大きな電波が受信可能な周波数に受信周波数を固定して該電波からビット列を再生し、その後、該ビット列に対してフレーム同期、セル同期をとって下りリンク上のセル流を再生する。その後、前記ゾーン通知メッセージが下りリンク上に現れるのを待つ。
【0234】
下りリンク上に現れたゾーン通知メッセージを受信すると、移動端末E041は自分が移動サービスを受けられる状態にあると見なす。移動端末E041のユーザが新たに移動端末を用いて通信を行う場合、移動端末E041はユーザからの指示を受けて、移動サービス要求メッセージ(J03)を送出する。移動端末は、まず自分が属している無線ゾーンの上りリンク周波数にてブロードキャストセルによる移動サービス要求メッセージを送出し(J03)、無線ゾーン作成部#1−2へと渡す。無線ゾーン作成部#1−2は、該移動サービス要求メッセージを自分に割り当てられたMIDを基にAAL3のペイロード部分に埋め込んで再度セル化し、コネクションI02を経由して移動端末制御部へと転送する(J03’)。移動端末制御部E051は、受け取った移動サービス要求メッセージを解釈し、コネクション設定の必要なポイントのレイヤ3アドレスを得た後、コネクション設定要求(J04)をコネクション設定部G0Dに送出してATM通信網にコネクション設定を行う。このとき設定を要求するコネクションは、上述のハンドオーバ処理の動作から明らかな様に、通信相手と移動端末制御部の間のコネクションと、移動端末制御部と該移動端末が存在する無線クラスタとの間のコネクションと、該移動端末が存在する無線クラスタの隣接無線クラスタと移動端末制御部との間のコネクションである。
【0235】
本発明に従って、該移動端末が存在する無線クラスタと、該無線クラスタの隣接無線クラスタで、それぞれ移動サービスの為に設定されるコネクションにおけるATM交換機とパッシブスター光分配器の間のVPI/VCIを統一するためには、コネクション設定部G0Dが例えば本発明者が特願平5−349436に示した様な、Q.2931プロトコルを越えるサービスを提供できる枠組みで動作している必要がある。このようなコネクション設定を実現するため、コネクション設定部G0EはプロセスID割り当て部G0Eを持つ。ここで言うプロセスIDとは、すなわち各無線ゾーンにて無線端末を識別するための識別子、VPI/VCIである。
【0236】
現在のQ.2931プロトコルでは、VPI/VCIを指定してコネクションを設定する事はできない。なお、将来VPI/VCIを指定してコネクションを設定できるようにQ.2931が改編されたならば、本発明に従った簡単なハンドオーバ処理を実現するコネクションがQ.2931にて設定可能となるので、移動端末制御部、各無線クラスタ及び通信相手にE.164アドレスが割り当てられていれば、コネクション設定部G0Dが上位のATM通信網のQ.2931にて設定したコネクションを移動サービスに使用することも可能になる。
【0237】
必要なコネクション設定が終了すると、コネクション設定部G0Dから返される、設定されたコネクションに関する情報を基にして、移動端末制御部E051はコピータグ付加部H08及びVPI/VCI書き換え部H06が内蔵しているテーブルを、設定されたコネクションを上述の様に連結すべく書き換える。その後、コネクション設定が終了した事を移動端末E041に通知するため、移動端末制御部E051はブロードキャストセルをAAL3の情報部に埋め込んで再度セル化した移動サービス応答メッセージ(J05)をコネクションI01を経由して無線ゾーン作成部#1−2に転送する。
【0238】
無線ゾーン作成部#1−2は、移動端末制御部E051から移動サービス応答メッセージを受け取ると、そのメッセージからブロードキャストセルを再生し、自分の作成している無線ゾーンに放送する(J05’)。
【0239】
なお、移動サービス要求メッセージ送出後、移動端末が無線ゾーンもしくは無線クラスタ間の移動を行った場合に備え、この移動端末応答メッセージを該移動端末が移動サービス要求メッセージを送出した時に存在した無線クラスタ、及び該無線クラスタの隣接無線クラスタの全ての無線ゾーン作成部に転送するように構成しても良い。この全ての無線ゾーン作成部への転送は、それぞれの無線ゾーンに割り当てられたMIDを順に用いて、同一の移動サービス応答メッセージを送出するように構成されていても良いし、1:mのATMコネクション上では全送出点同報の為のMIDが定義されている事としてもよい。各無線ゾーン作成部において、全送出点同報のMIDを持つセルはメッセージとして組み立てられ、該メッセージの意味に合わせた処理が行われる。例えば、移動サービス応答メッセージであれば、それに含まれるブロードキャストセルを自分が作成している無線チャネルに放送する。
【0240】
移動サービス応答メッセージ(J05’)を受け取ると、移動端末E041は設定されたコネクションを使用して通信相手との通信を開始する。通信相手との通信の間に、無線ゾーン作成部#1−2が送出したゾーン通知メッセージ(J06)を受け取ると、移動端末E041はそれに対応して生存通知メッセージ(J07)を返しても良い。これら2種類のメッセージもブロードキャストセルであってよい。
【0241】
移動端末が移動し、無線ゾーン作成部#1−2の作成する無線ゾーンから、無線ゾーン作成部#1−1の作成する無線ゾーンに移動した場合、以下の事が起きる。
【0242】
まず、無線ゾーン作成部#1−2が送出している電波の移動端末での電界強度が低下する。その結果、移動端末が常に行っている、下りの無線チャネルとして使用されている周波数の電界強度測定によって、無線ゾーン作成部#1−2の送出している周波数以外の周波数の強度の方が大きくなる。この状態になると、移動端末E041では受信周波数を変更し、該最も強く受信可能な周波数からビット列を再生するようにする。この結果として、一旦フレーム同期、セル同期が外れ、フレーム/セル同期の再確立を行う。上述したように、本発明の場合、隣接無線ゾーンもしくは隣接無線クラスタに、同一のVPI/VCIにて通信相手とのコネクションが予め設定されているため、セル同期の再確立後ただちに通信相手との通信を再開することが可能になる。
【0243】
なお、それぞれの受信周波数の受信強度測定のみではなく、それぞれの受信周波数におけるフレーム/セル同期を常にとっている動作を行うことで、ハンドオーバ処理にて通信が不可能である時間をより短縮することも可能であるが、この場合、複数の無線チャネルに対して、フレーム同期、セル同期を同時に実行する必要があり、移動端末のハード量が増えると同時に、移動端末の消費電力も大きくなるといった問題点がある。複数の受信周波数にて同時にフレーム同期、セル同期をとるかは、こういった問題点とハンドオーバ処理の迅速性との間のトレードオフとして、システムに要求される特性を斟酌して決定すべき事項である。
【0244】
その後、しばらく時間が経過すると、無線ゾーン作成部#1−1の送出したゾーン通知メッセージ(J09)を受信する事ができる。新しい無線ゾーンからのゾーン通知メッセージを受け取ると、移動端末E041は、移動端末制御部E051に向けて、移動通知メッセージ(J10)を送る。該移動通知メッセージは、移動端末E041から送出されるときはブロードキャストセルの形式であり、一旦無線ゾーン作成部#1−1にて受け取られ、AAL3のペイロード部分に該ブロードキャストセルが埋め込まれた形で再度セル化され、コネクションI02を経由して移動端末制御部E051へと転送される(J10’)。
【0245】
移動端末制御部E051は、移動通知メッセージを受け取ると、該移動通知メッセージによって、移動端末E041の存在する無線ゾーンを知り、(無線クラスタ間の移動が発生する等)必要があれば、コネクション設定要求(J11)をコネクション設定部G0Dに対して送出する。この時要求されるコネクションは、新たに隣接無線クラスタとなった無線クラスタと移動端末制御部を接続するためのコネクションである。また、この時同時に、隣接無線クラスタでなくなった無線クラスタへのコネクションを解放する事にしても良い。必要なコネクション設定が終了すると、移動端末制御部E051は自分が含んでいるコピータグ付加部H08及びVPI/VCI書き換え部H06が内蔵しているテーブルを、新たに設定したコネクションを上述したように連結するよう、書き換える。これによって、ハンドオーバ処理が終了した事になる。
【0246】
ハンドオーバ処理が終了すると、移動端末制御部E051はそのことを移動端末E041に通知すべく、移動通知応答メッセージ(J12)をブロードキャストセルで作成し、該メッセージをAAL3によりセル化して送出する。該メッセージは一旦無線ゾーン作成部#1−1で受け取られ、ブロードキャストセルの形式に組み立てられて、該無線ゾーン作成部の無線ゾーンに放送され、移動端末E041に渡される。
【0247】
なお、移動通知メッセージ(J10)を送出してから移動通知応答メッセージ(J12’)を受け取るまでの間の無線ゾーン/クラスタ間の移動に備えるために、この移動通知応答メッセージ(J12)は、上述の移動サービス応答メッセージ(J05)の場合と同様に、移動端末E041が存在する無線クラスタ及びその隣接クラスタ内の無線ゾーン作成部E03ijにコピーされて転送されても良い。
【0248】
移動端末がサービスの使用を終了するときは、移動端末がそのことをATM通信網に通知する。この通知を受けると、移動端末制御部E051は、該移動端末が今まで使用していたコネクション、及び無線クラスタ間の移動の為に予め設定されているコネクションを解放する事になる。ここで、これらのコネクションの解放を上で述べたプロトコルと同様のプロトコルで実現できることは、当業者には明らかである。
【0249】
以上で、本発明に係る移動サービスを実現するハンドオーバ処理を実現する機能に関する説明を終了する。
【0250】
<無線ゾーン作成部に割り当てられるMIDの設定方法>
なお、移動制御コネクション上での通信に使用される、無線ゾーン作成部#i−j(E03ij)に割り当てられるMIDの値は、移動制御コネクションが設定される前に予め保守者によって割り当てられているものとしても良いし、また以下のようにして移動制御コネクション設定時に各移動端末制御部E051が獲得するものとしても良い。
【0251】
本発明者が特願平5−349634にて示したATM−LANシステムを構成する機器と同様、本発明が適用される無線ゾーン作成部#i−jには、他のシステム構成機器と同一の番号空間でグローバルユニークなノード番号が製造時から付加されているものとする。また、移動制御コネクションに割り当てられる、無線ゾーン作成部とパッシブスター光分配器の間のVPI/VCIは、丁度ATMフォーラムのUNI標準におけるシグナリングVCIと同様に予め定められているものとする。
【0252】
MID=0をMID獲得等の操作の為に予約する。各無線ゾーン作成部E03ijは、電源が投入されると、移動制御コネクションI02に向けて、MID=0のMID獲得要求メッセージをコネクションI01に送出する。MID=0のメッセージは、単一のセルで転送できる長さに限定する事とする。これにより、MID=0のメッセージがたとえ複数の無線ゾーン作成部#i−j(E03ij)にて同時にコネクションI02に送出されたとしても、それぞれの無線ゾーン作成部の送出したメッセージを正常に移動端末制御部E051が受け取る事ができる。MID獲得要求メッセージは、該割り当て要求メッセージを送出した無線ゾーン作成部に割り当てられたノード番号を少なくとも含む。
【0253】
移動端末制御部E051は、MIDの割り当て状況を管理する表を持っている。コネクションI02からMID=0のMID獲得要求メッセージを受け取ると、移動端末制御部E051は、該MID割り当て表を参照して空いているMIDを見つける。該空いているMIDが該受け取ったMID獲得要求メッセージ中のノード番号を持つ無線ゾーン作成部に割り当られる事になる。その後、前記MID獲得要求メッセージを送出した無線ゾーン作成部のノード番号及び該割り当てたMIDを少なくとも含む、MID獲得応答メッセージを作成し、MID=0のメッセージとして1:mのコネクションI01に送出する。MID獲得応答メッセージも、単一セルによるメッセージであるとする。
【0254】
1:mのコネクションI01により、前記MID獲得応答メッセージは、それぞれの無線ゾーン作成部E03ijに転送される。各無線ゾーン作成部E03ijは、前記MID獲得応答メッセージを受け取ると、その中に含まれるノード番号を参照し、自分宛であるか否か、判断する。該メッセージ中に含まれるノード番号が自分に割り当てられたものであれば、該メッセージが自分宛だと考え、該メッセージを取り込み、該メッセージ中に含まれているMIDを用いて、以降の移動制御コネクション上での通信を行う。
【0255】
なお、MID獲得要求/応答メッセージが途中でビット誤り等で紛失してしまうと、移動端末制御部E051が管理しているMID割り当て表と、実際に無線ゾーン作成部E03ijが持っているMIDとが一致しないことが発生する。これを防ぐため、移動端末制御部E051が、MID確認要求メッセージを予め定められた時間間隔で送出し、該MID確認要求メッセージに、全ての移動端末制御部E051が応答する様なプロトコルを移動端末制御コネクション上に定義しても良い。これにも、MID獲得要求/応答メッセージ同様にMID=0の単一セルのメッセージを使用するのが望ましい。
【0256】
移動端末制御部E051は、予め定められた時間間隔で、もしくは何らかの障害の発生時に、MID確認要求メッセージをコネクションI01に向かって送出する。コネクションI01により、ひとつの無線クラスタに含まれる全ての無線ゾーン作成部E03ijが、該MID確認要求メッセージを受け取る事になる。各無線ゾーン作成部E03ijは、該MID確認要求メッセージを受け取ると、自分に割り当てられたノード番号と、自分に割り当てられたMIDを少なくとも含む、MID確認応答メッセージを作成し、コネクションI02に送出する。コネクションI02により、全ての無線ゾーン作成部E03ijが送出したMID確認応答メッセージが移動端末制御部E051に転送される。これによって、移動端末制御部E051は、一つの無線クラスタ中の全ての無線ゾーン作成部E03ijに割り当てたMIDを知ることができるので、自分の管理しているMID割り当て表と実際の割り当ての間に不整合が無いかを確認することができる。
【0257】
さらに、前記MID確認要求/応答メッセージでの結果として、管理している表との不整合があった場合、無線ゾーン作成部E03ijに対してMIDの更新を移動端末制御部E051が要求する必要がある。これを実行するために、MID更新要求/応答メッセージをやはりMID=0の単一セルのメッセージとして移動制御コネクション上に定義するのが望ましい。
【0258】
MID更新要求メッセージは、不整合の発見された無線ゾーン作成部E03ijのノード番号と、該無線ゾーン作成部E03ijに割り当てられた、正しいMIDを少なくとも含む。移動端末制御部E051は、不整合が発見されると、該MID更新要求メッセージを作成し、コネクションI01に送出する。コネクションI01の働きにより、該MID更新要求メッセージは、一つの無線クラスタに含まれる無線ゾーン作成部E03ij全てに転送される。各無線ゾーン作成部E03ijは、該MID更新要求メッセージを受け取ると、該メッセージ中のノード番号と自分のノード番号を比較し、一致したならば、該メッセージに含まれるMIDが割り当てられたものとして、それ以降のメッセージのセルへの分割及びメッセージの組立に使用するMIDを変更する。MIDの変更が終わると、該無線ゾーン作成部E03ijは、MID更新応答メッセージを作成し、コネクションI02を経由して移動端末制御部E051に渡す。
【0259】
<MID操作メッセージのフォーマットについて>
以上、MID=0でコネクションI01,I02上で定義されるプロトコルについて説明したが、図21に上述のプロトコルにて使用されるMID操作メッセージの詳細なフォーマットの一例を示す。これは、ITU−T標準で言うところのAAL3/4のSAR−PDUに、MID操作に必要な情報を埋め込んだ形式となっている。言うまでもなく、同図に示したフォーマット以外のフォーマットを考える事もできる。例えば、ITU−T標準で言うところのAAL3/4のCPCS−PDUに、MID操作に必要な情報を埋め込んだ形式としても良い。しかしながら、CPCSヘッダは複数のセルからなるメッセージを正しく組み立てるために必要な情報からなっており、一方、ここではMID操作をするために単一のセルからなるメッセージを考えているので、特にCPCS−PDUを使用する必然性はない。
【0260】
図21において、STフィールド(K01)、SNフィールド(K02)、MIDフィールド(K03)、LIフィールド(K04)、CRCフィールド(K05)は、ITU−T標準のI.363にて規定されているAAL3/4のSARレイヤプロトコルにて使用されるフィールドである。MID操作の為にMID=0が予約され、これらは単一のセルからなる単独セルであるので、セグメントタイプを示すSTフィールド(K01)は11、MIDフィールド(K03)は全て0である。シーケンス番号を含むSNフィールド(K02)、情報長を含むLIフィールド(K04)、巡回符号検査ビットを含むCRCフィールド(K05)は、それぞれ、ITU−T標準に従って使用される。
【0261】
SAR−PDUの情報部には、先頭から以下に示す3つのフィールドがとられる。
【0262】
第1のフィールドは、MID=0のMID操作メッセージのタイプを示すTYPEフィールド(K06)である。ここで示した例では6ビットの長さを持っている。TYPEフィールド(K06)の値によって、このメッセージが、MID獲得要求であるのか、MID獲得応答であるのか、MID確認要求であるのか、MID確認応答であるのか、MID更新要求であるのか、MID更新応答であるのか、が示される。
【0263】
第2のフィールドは、割り当てMIDフィールド(K07)である。このフィールドには、メッセージタイプによって、以下の様な情報が含まれる。
【0264】
MID獲得要求の場合:Don’t care
MID獲得応答の場合:移動端末制御部によって割り当てられたMID
MID確認要求の場合:Don’t care
MID確認応答の場合:無線ゾーン作成部が保持しているMID
MID更新要求の場合:移動端末制御部によって割り当てられたMID
MID更新応答の場合:無線ゾーン作成部に登録されたMID
第3のフィールドは、ノード番号フィールド(K08)である。このフィールドには、メッセージタイプによって、以下の様な情報が含まれる。
【0265】
MID獲得要求の場合: MIDを要求している無線ゾーン作成部のノード番号
MID獲得応答の場合: MID割り当て対象の無線ゾーン作成部のノード番号
MID確認要求の場合: MID確認を要求する無線ゾーン作成部のノード番号、もしくは本発明者による特願平5−349634の全端末同報アドレス。
【0266】
MID確認応答の場合: MIDフィールドに書かれたMIDを保持している無線ゾーン作成部のノード番号
MID更新要求の場合: MID更新を要求する無線ゾーン作成部のノード番号
MID更新応答の場合: MID更新が行われた無線ゾーン作成部のノード番号
本発明者による特願平5−349634に述べられたノード番号は、端末内でのプロセス識別子を含み、全部で12バイトある。割り当てMIDフィールドが10ビットであるので、SAR−PDUの情報部として30バイト余ることになる。この余りの部分で、特願平5−349634に示されたブロードキャストセルの持つその他の制御情報を転送する様にしてもよい。
【0267】
以上で、MID割り当てのプロトコルに関する説明を終わる。
【0268】
<移動端末制御部の暗号化機能について>
移動端末制御部E051の説明の最後に、再度、図22を参照しながら、移動端末制御部E051の持つ暗号化機能を詳細に説明する。
【0269】
今まで述べてきたように、本発明による移動サービス提供法では、移動端末が受け取る情報が該移動端末の存在する無線クラスタ、並びに隣接無線クラスタの全ての無線ゾーンに放送される事になる。この為、自分の通信の内容が他人に漏れない様に、即ち通信の秘匿性を守るために、暗号化の機能が必須になる。図22に示した移動端末制御部H051の構成のうち、ペイロード暗号化部H02、ペイロード復号化部H03および加入者暗号キーテーブルH04がその暗号化機能を実現する。
【0270】
物理レイヤ部H01がATM交換機とやりとりするセル流中には、ユーザ−ユーザ間でやりとりされるセルの他に、例えば図24で述べた移動サービス要求メッセージ等の制御メッセージが含まれる。通信の秘匿性という観点からは、ユーザ−ユーザ間でやりとりされるセルのペイロード部分に対して暗号化を行って無線ゾーンでの放送を行うのが望ましい。制御メッセージに関しては、ユーザ単位に暗号化を行うと、復号するときに復号に必要な暗号キーが分からないので、全ての制御メッセージに一つの暗号キーを用いて暗号化を行う事になる。しかしながら、全ての制御メッセージに同一の暗号キーで暗号化を行う事は、即ち、全ての端末でそれらの制御メッセージが復号可能ということで、暗号化する意味は薄い。
【0271】
また、ユーザ−ユーザ間でやりとりされるセルには、無線クラスタへ転送されて無線ゾーンで放送されるセルと、無線ゾーンで放送されない、有線通信にて相手端末まで導かれるセルが含まれている。有線通信にて相手端末まで導かれるセルは、勿論、暗号化を行っても構わないが、悪意のユーザに受信される事が無いと考えれば、この種のセルには暗号化を行う必要がない。
【0272】
今まで述べてきたように、移動端末制御部E051とATM交換機との間には、移動端末制御部E051と無線クラスタの間のコネクション、移動端末制御部E051と通信相手とのコネクション、さらに移動制御コネクションが設定され、それぞれは移動端末制御部E051とATM交換機との間におけるVPI/VCIにて識別される。即ち、暗号化がなされているか否か、もしくは暗号化を行うか否かは、それぞれのセルのVPI/VCIを参照すれば判断する事ができる。移動端末制御部E051に入力されるセルで暗号化されているものは、ペイロード復号化部H03で一旦復号化され、移動端末制御部E051内部での処理を受ける。移動端末制御部E051内部での処理を受けた後、物理レイヤ部H01に転送されるとき、ペイロード暗号化部で暗号化の必要なセルについて暗号化が行われる。このように、入力セル流に対してVPI/VCIにて復号化を行うか否かを制御し、また出力セル流に対してVPI/VCIにて暗号化を行うか否かを制御することで、暗号化の必要な端末から暗号化の不要な端末へ、もしくは暗号化の不要な端末から暗号化の必要な端末へ、もしくは暗号化の必要な端末から暗号化の必要な端末へ、のコネクションの連結を自由に行うことが可能になる。加入者暗号キーテーブルH04には、移動端末制御部E051にて扱われているコネクションそれぞれに対し、そのコネクションに属するセルのペイロード部分が暗号化されているか否か、もしくは、暗号化を行うか否か、を示す情報、並びに、暗号化されているか、もしくは、暗号化を行うならば、その復号化や暗号化に必要な暗号キーが保持されている。
【0273】
いわゆる慣用暗号として良く知られている様に、それぞれのセルのペイロード毎に独立に暗号化/復号化を行うことの可能な、暗号化と復号化で共通なキーを使用する暗号アルゴリズムが知られている。このアルゴリズムをペイロードに施す事によって、暗号化されたペイロードの長さが変化する事はない。このような暗号アルゴリズムがペイロード暗号化部H02、ペイロード復号化部H03での使用に好適である。
【0274】
移動端末サービスを提供するコネクションで、暗号化の必要なコネクションを設定する際、移動端末制御部E051の制御プロセッサH09は、コネクション設定を要求した加入者毎に予め該制御プロセッサH09に登録されている暗号キーを、加入者暗号キーテーブルH04の、該設定されたコネクションのVPI/VCIに対応するエントリに書き込む。
【0275】
制御セル分岐/挿入部H05から物理レイヤ部H01へは、ペイロード暗号化部H02を経由してセルが渡される。この時、ペイロード暗号化部H02は入力されたセルのVPI/VCIを用いて、加入者暗号キーテーブルH04を参照する。暗号化の必要なコネクションに属するセルであれば、加入者暗号キーテーブルH04に暗号キーが登録されており、該暗号キーを加入者暗号キーテーブルH04がペイロード暗号化部H02に出力する。ペイロード暗号化部H02は、得た暗号キーを用いて、該セルのペイロード部分を暗号化し、物理レイヤ部H01に渡す。
【0276】
一方、物理レイヤ部H01からセルを受け取ると、ペイロード復号化部H03は入力されたセルのVPI/VCIを用いて、加入者暗号キーテーブルH04を参照する。暗号化のなされているコネクションに属するセルであれば、加入者暗号キーテーブルH04に暗号キーが登録されており、該暗号キーを加入者暗号キーテーブルH04がペイロード復号化部H03に出力する。ペイロード復号化部H03は、得た暗号キーを用いて該セルのペイロード部分を暗号化し、制御セル分岐/挿入部H05に渡す。
【0277】
以上の動作により、必要なコネクションのみ選択したペイロード部分の暗号化が実現できることになる。移動端末制御部E051は、比較的多数のコネクションを扱う事になるため、この暗号化/復号化を実行には比較的大きな計算量が要求される。図22に示した移動端末制御部E051の構成は、このを考慮して暗号化/復号化をパイプライン化されたハードウェアにより実現することのできる構成となっている。
【0278】
それぞれのコネクションと暗号キーとの関係付けは、図24中に示した移動サービス要求メッセージ送出時に、該移動サービス要求メッセージ中に加入者に割り当てられた番号を含ませる事で行う事ができる。この加入者に割り当てられた番号と、加入者が移動サービスへの加入時に登録した暗号キーの対応表を移動端末制御部E051が保持しておき、コネクション設定の結果設定されたコネクションのVPI/VCIに対応する、加入者暗号キーテーブルに、該対応表から暗号キーを書き込む様にすれば良い。なお、移動端末E041を使用する加入者を唯一人と仮定する、もしくは、移動端末E041に対する課金が唯一人の加入者である、という仮定をおき、かつ、本発明者による特願平5−349634に開示した移動端末収容法に従って、移動端末E041にノード番号が与えられているならば、該ノード番号を加入者番号と見なすことも可能である。
【0279】
なお、移動端末E041の構成としては、例えば本発明者が特願平5−349634にて開示した移動端末の構成であっても良い。ただし、特願平5−349634にて開示された移動端末は企業網内部で使用されることを前提としているため、セルのペイロード部分に対する暗号化/復号化機能は持っていない。ここで述べている移動端末サービスに使用するためには、移動端末制御部E051にて実行される暗号化/復号化機能に対応する機能を該移動端末E041が持つ必要がある。しかしながら、移動端末側の暗号化/復号化機能は、自分の受け取るセルのみに対して実行すれば良いため、大きなスループットは特に要求されない。この為、特に専用のハードウェアを持つ必要はなく、例えば、特願平5−349634にて開示した移動端末のプロセッサ上で動作するソフトウェアとして実現してもかまわない。この暗号化/復号化に必要になる暗号キーは、CATV網にて移動端末サービスを受ける際に、例えば郵便等で加入者に通知される事にしても良いし、加入者がCATV事業者の事業所の窓口で端末に登録してもらうようにしてもよい。
【0280】
以上で、移動端末制御部E051に関する詳細な説明を終わる。
【0281】
<CATV網上での簡易移動端末サービスについての補足説明>
本発明による移動端末サービス提供法の場合、移動端末が移動するにつれて該移動端末に割り当てられたコネクションが同一のVPI/VCI値をもってATM通信網の内部を移動してゆくことになる。これは、複数のインタフェース点に渡って一つの端末に同一のVPI/VCIを割り当てていること、即ちATMレイヤでの端末識別子としてVPI/VCIを使用している事に等しい。移動端末を一つのマイグレート対象のプロセスであると見なした場合、第1のアプリケーションではマイグレート対象のプロセスが同一のVPI/VCIを使用して網にアクセスし、これらのプロセスの識別にMIDを使用していたのに対し、第2のアプリケーションの場合はマイグレート対象の一つのプロセスが一つのVPI/VCIを用いて網にアクセスしていることになる。
【0282】
移動先で、該移動端末に割り当てられたVPI/VCIが他の通信の為に既に使用されていた場合、その元々通信を行っていたコネクションのVPI/VCIを変更するか、もしくは端末の使用するVPI/VCIを変更する必要がある。これはどちらも、通信プロトコルを複雑にしてしまう。よって、本発明を適用するATM通信網では、移動端末サービスに対して予めVPI/VCIの領域を割り当てておき、該VPI/VCIの領域中から、使用されていないVPI/VCIを新しく移動端末サービスを受け始める端末に割り当てる様にするのが望ましい。これは、例えば、移動端末サービスに対して予めVPIのみ割り当てておき、そのVP中のVCIを順次割り当ててゆくといった事でより単純に実現が可能になる。このような処理が、図20に示したプロセスID割り当て部G0Eにおいて実行されることになる。
【0283】
また、本発明による簡易移動端末サービスの場合、各移動端末は無線ゾーンを移動する度に、無線ゾーン作成部の送出するゾーン通知メッセージに対応して移動通知メッセージを送出するので、それぞれの移動端末がどの無線ゾーンに位置するかをリアルタイムに知ることができる。この性質を使うと、例えばため池など、CATV網がサービスを行う地域中に存在する危険な場所に無線ゾーンを設置し、移動端末制御部に、無線ゾーンの番号と該無線ゾーンが危険であるか否かを示す情報の対応表を保持しておき、ある移動端末が、該対応表で危険であると指定された無線ゾーンに入った場合は、予め定められた移動端末もしくは固定端末にその事を通知する、といった事が可能になる。これにより、上述した様に、親が子供に移動端末を持たせ、該子供が前記危険個所に近づいた時に親の持っている移動端末もしくはリビングルームにある端末から警報を発するといった、加入者にとって非常に便利なサービスを実現することも可能である。
【0284】
前述したように、移動端末制御部E051はコネクション設定部G0Dの助けにより特殊サービスを実現する一種の固定端末である。このため、移動端末制御部E051とコネクション設定部G05Dの間にATMコネクションが設定されなければならないことは言うまでもない。このATMコネクションは、Q.2931等で定義されている、いわゆるシグナリングVCであってもよいし、また本発明者が特願平5−349634で示したブロードキャストチャネルであってもよい。
【0285】
以上で、本発明を適用する第2のアプリケーションである、CATV網上での簡易移動端末サービスに関する説明を終わる。
【0286】
(実施例5)
本実施例では、本発明を適用する第3のアプリケーションであるATM−LAN上でのCLSF(コネクションレスファンクション)サービスの負荷分散法について説明する。
【0287】
本発明者が特願平6−140223にて開示した様に、一つのATM−LAN上で複数のCLSFプロセスを持ち、それぞれの端末がコネクションレスサービスの提供を受けるCLSFプロセスを変化させるのは、コネクションレスサービスの負荷分散という観点から望ましい。この方式に本発明を適用すると、例えばCLSFプロセスの実行されている端末が何らかの原因で故障し、コネクションレスサービスの提供が不可能になったとしても、新たな端末上で新たなCLSFプロセスを網管理者の関与無しに自動的に起動し、コネクションレスサービスの継続した提供を行う事ができるようになる。
【0288】
図26に、一つのATM−LANの中で本発明を適用してCLSFの負荷分散を行う様子を示す。同図に示した例では、ユーザプロセス#1〜#5(L081〜L085)が二つのCLSFプロセス#1(L051),#2(L052)からCLSFサービスの提供を受けている状態が図示されている。煩雑化を避けるにため、同図にはCLSFプロセス(L05i)やその他のユーザプロセス(L08j)を実行する端末、及びこれらの端末を接続するための物理リンクやハブ(ATM−LANを構成する簡易版ATM交換機)は図示されていない。
【0289】
同図では、本発明者による特願平5−349634にて開示された、端末上のコネクション設定プロセスからATM−LANのハブ中のルーティングタグテーブルを設定する事でコネクション設定を行う形式のATM−LANに本発明を適用する場合が示されている。この為、コネクション設定プロセスL06が上位のATM通信網L01とシグナリングVC(L04)にて接続されている。
【0290】
ユーザプロセス#j(L08j)は、それぞれ本発明者が特願平6−140223にて開示した手法によって二つのCLSFプロセス#1(L051),#2(L052)のどちらかを選択してCLSFサービスの提供を受けている。CLSFサービスの提供を受けるために、それぞれのユーザープロセス#j(L08j)は、それぞれコネクションL07jによりCLSFプロセスL05iと接続されている。異なるCLSFプロセスに接続されている端末間でメッセージをやりとりするため、また、それぞれのCLSFプロセス間で必要な情報をやりとりするため、n:nの双方向ATMコネクションL09が設定されている。
【0291】
本ATM−LANでは、コネクションレスサービスの窓口として、E.164アドレスが割り当てられているものとする。上位のATM通信網L01を経由したコネクションレスサービスは、上位のATM通信網を経由する、他のATM−LANとのコネクションを設定し、それぞれのATM−LAN中のCLSFプロセスが該コネクションを経由して通信を行うことにより提供される。このE.164アドレスは、上位のATM通信網を経由したコネクションの設定をコネクション設定プロセスL06が要求するか、もしくは他のATM−LANからのコネクション設定にコネクション設定プロセスL06が対応する為に使用される。他のATM−LANのCLSFプロセスと通信を行う為に、m:nの単方向ATMコネクションL02と、n:mの単方向ATMコネクションL03が設定されている。
【0292】
図26に示した例で、本発明が適用されているのはCLSFプロセスL05i間のコネクションL09と、CLSFプロセスL05iと上位のATM通信網の間のコネクションL02,L03である。これらのコネクションは、CLSFプロセスを実行する“場”となる端末に対して、コネクション設定プロセスL06によってCLSFサービス提供開始時に設定されている。これらのコネクションの端点を識別するためのVPI/VCIは、CLSFプロセスの負荷分散の為に予め割り当てられた値とする。これらのコネクションの端点である所のCLSFプロセスを実行する“場”である端末は、ATM−LANの管理者が予めコネクション設定プロセスL06に設定することで指定されても良いし、また本発明者が特願平5−349634にて開示したコネクション設定プロセスからの構成認識時に、各端末が自分のOSのバージョンや、機器種別を示す情報をコネクション設定プロセスL06に通知し、該通知された情報を元にコネクション設定プロセスL06が選択するようにしても良い。コネクション設定プロセスによるCLSFプロセス実行の“場”である端末の選択は、例えば、前記通知された情報が予め定められた条件(例えばOSのバージョン番号が予め定められた値より大きい、等)を満たす端末を選択することで実行されても良い。また、各端末が外部に対して提供するサービスの表を持っており、その表中にCLSFサービス提供を許す設定がされている場合に、各端末がコネクション設定プロセスL06にその事を通知するようにして、CLSFサービスの“場”となる端末をコネクション設定プロセスL06に認識させる事も可能である。
【0293】
ATM−LAN内にCLSFサービスを提供するためのコネクションL09、およびATM−LAN間にCLSFサービスを提供するためのコネクションL02,L03のそれぞれの端末における端点のVPI/VCIは、それぞれ異なる値を持っているものとする。例えば、ATM−LAN内でCLSFサービスを提供する為に設定されるコネクションL09は、(VPI,VCI)=(0,256)にて端末とハブの間の物理リンクで識別され、ATM−LAN間のCLSFサービスの為に設定されるコネクションL02,L03は、(VPI,VCI)=(0,257)にて識別される、といった如くに予め定めておく。
【0294】
以下、図26に示した構成において、ATM−LAN内部のコネクションレスサービスの負荷分散法、及びATM−LAN間のコネクションレスサービス提供法、CLSFプロセスのマイグレーション法を順に説明してゆく。
【0295】
<ATM−LAN内部のCLSFの負荷分散法について>
まず、ATM−LAN内部のコネクションレスサービスの負荷分散法を説明する。ATM−LAN内部のコネクションレスサービスの負荷分散は、n:nの双方向ATMコネクションL09にて提供される。
【0296】
各CLSFプロセスL05iは、n:nの双方向ATMコネクションL09にメッセージを送出する時のMIDをそれぞれ固有に持っており、該MIDによって、メッセージ受信側で、該ATMコネクションL09にメッセージを送出するCLSFプロセスを識別し、メッセージの組立を行う。これと同時に、該MIDを用いて、それぞれのCLSFプロセスL05iがサービスを提供しているユーザプロセスL08jに割り当てられたレイヤ3アドレスをお互いに管理し、コネクションレスメッセージのルーティングを行う。このように各CLSFプロセスL05i間で通信を行いながらCLSFサービスを提供するためには、それぞれのCLSFプロセスにコネクションL09上で使用されるMIDを割り当てなければならない。実際にCLSFプロセスL05i間で行われる通信について詳細に説明する前に、まず、各CLSFプロセスL05iにMIDを割り当てる方法について説明する。
【0297】
各CLSFプロセスL05iに割り当てられるMIDは、起動時にATM−LANの管理者が割り当てる事にしても良い。この場合、確実に割り当ての一貫性を保証しながら各CLSFプロセスL05iへのMID割り当てを実行する事が可能であるが、ATM−LANの管理者がMID割り当てに関与する事になるので、自動的にCLSFプロセスL05iの起動やマイグレーションを行う事ができなくなる。一方で、現在のイーサネット上のコネクションレス通信はいわゆるベストエフォート、即ち網がその確実な転送を最大限確保するよう努力する、言い換えれば、少々のメッセージ廃棄は許容される、といったQoSにて実現されているので、イーサネット上のアプリケーションを最小限の変更で実現しようとするコネクションレスサービスにおいても、ベストエフォートが実現できれば良いと考えると、以下のようなCLSFプロセス間の通信によりMIDを順に割り当ててゆく手法が適用できる。
【0298】
第2のアプリケーションにおけるMID割り当てでは、移動端末制御機能というMIDを集中管理する機能が存在していたので、MIDを使用したいプロセス(第2のアプリケーションにおける無線ゾーン作成機能)は、該MIDを管理する機能に問い合わせを行えばMIDを得ることができたが、ここでは、このようなMID集中管理機能は存在しないものとしている。これは、前述した第2のアプリケーションにおける移動端末制御機能はCATV網側の機能であり、CATV網の運用者が管理するので比較的信頼性が高いと考えられるのに対し、ここで説明しているアプリケーションの場合は、コネクション設定プロセス、CLSFプロセス共、ユーザの管理している端末上にて実行されるため、いつ、どのプロセスの実行が停止するか分からない事を考慮した結果である。集中して資源を管理するプロセスを仮定すると、そのプロセスがシステム全体の信頼性を決める要因になるが、ここで説明しているアプリケーションの如くに、それぞれのプロセスの信頼性が同等であると考えられるアプリケーションにて使用すると、その集中して資源管理するプロセスが停止する可能性が他のプロセスと同等であり、システム全体が停止してしまう確率が上昇してしまう、といった好ましくない事態が生じる。ただし、この事態を許容するのであれば、例えばコネクション設定プロセスと、CLSFプロセス実行の“場”である端末との間に必要なコネクションを設定し、かつコネクション設定プロセスがMIDを管理することで、第2のアプリケーションで説明した如くに各CLSFプロセスにMIDを割り当ててゆくことも可能である。
【0299】
以下説明してゆくMID割り当てアルゴリズムでも、第2のアプリケーションにて説明したMID=0の単一セルによるMID操作メッセージを使用するが、ここで述べる方法は、上述した様にMIDの管理方法が異なるため、第2のアプリケーションにて使用した種別のメッセージの他に、新しい種別のメッセージが使用される事になる。すなわち、図20で示したMID操作メッセージのTYPEフィールドの値が新しい種別のメッセージに割り当てられる事になる。なお、このMID=0のMID操作メッセージは、第2のアプリケーションで説明したように、単一セルによるメッセージであるため、複数の端末が同時に同一MIDで送出しても、受信側で正常にメッセージとして認識可能である事に注意が必要である。
【0300】
各CLSFプロセスL05iは、MIDが割り当てられていない状態で起動される。ただし、CLSFサービスを実現するためのコネクションL09を識別するためのVPI/VCIの値は起動時から知っているものとする。この時、コネクションL09にて接続されているCLSFプロセスL05iに中には、既にMIDを獲得しているものと、まだMIDを獲得していないものがある。
【0301】
コネクションL09にメッセージを送出するCLSFプロセスL05iで、既にMIDを獲得しているプロセスは、MID=0のMID操作メッセージの一種として定義された使用MID通知メッセージを予め定められた時間間隔、例えば1秒間隔にてコネクションL09に送出している。使用MID通知メッセージは、その割り当てMIDフィールドK07に自分が使用しているMIDを、また、そのノード番号フィールドK08に自分が実行されている端末のノード番号を含んでいる。
【0302】
MIDを獲得していないCLSFプロセスは、起動されると、MIDが割り当てられたCLSFプロセスと同様、予め定められた時間間隔で使用MID通知メッセージを送出する。この時の使用MID通知メッセージのノード番号フィールドK08には、該メッセージを送出するCLSFプロセスが実行されている端末のノード番号が含まれるのは上と同様であるが、割り当てMIDフィールドK07については、割り当てを受けていない事を示す値が書き込まれる。MID=0がMID操作メッセージに割り当てられているので、MID=0にて割り当てを受けていないことを表示する事にすれば、MID空間を有効に利用できる。
【0303】
それぞれの使用MID通知メッセージは、コネクションL09の働きにより、それぞれのCLSFプロセスL05iに転送される。よって、それぞれのCLSFプロセスL05iは、使用MID通知メッセージの送出時間間隔の例えば3倍程度の時間、コネクションL09から渡される使用MID通知メッセージを受信していれば、その時に該コネクションL09上で使用されているMIDの表を得ることができる。さらに、MIDが割り当てられていないCLSFプロセスの存在している端末のノード番号を知る事ができる。
【0304】
MIDを持っていないCLSFプロセスは、自分が獲得した使用されているMIDの表を参照して、余っているMIDの中からの自分が使用するMIDを選択する。唯一のCLSFプロセスのみが新たにMIDを獲得する場合はこれでMIDの割り当てが終了することになるが、この場合は、ATM−LANの立ち上げ時にCLSFプロセスを順次立ち上げてゆく必要があり、ATM−LAN立ち上げに時間がかかる、また、障害発生時の復旧手順が複雑になる、等の問題点がある。これらの問題点を解決する為に、同時に複数のCLSFプロセスが新しいMIDを獲得する事を許すことにする。このように同時に複数のCLSFプロセスが新しいMIDを獲得する事を許すことにすると、複数のCLSFプロセス間で使用するMIDが衝突する可能性がある。
【0305】
複数のCLSFプロセス間でのMID衝突を検出し、この状態を解決するために、以降、以下のような手順が実行される。
【0306】
新たにMIDを獲得したCLSFプロセスは、該MIDでの通信を始める前に予め定められた時間待って、その間にコネクションL09への上述の使用MID通知メッセージの送信と該コネクションからの該メッセージの受信を再度行い、MID使用状況の表を更新する。この時、自分が送出する使用MID通知メッセージの割り当てMIDフィールドK07には、自分が新たに使用しようとするMIDを含ませる。
【0307】
予め定められた時間の後に更新されたMID使用状況の表を参照し、他のCLSFプロセスが自分が使用しようとするMIDを使用しようとしていないことが分かれば、該MIDを使用した通信を開始する。一方で、更新された表を参照した結果、少なくとも一つの他のCLSFプロセスが自分が使用しようとするMIDを使用しようとしている事が分かれば、次に該衝突しているCLSFプロセスが実行されている端末のノード番号と、自分を実行している端末のノード番号を比較する。もし、自分が実行されている端末のノード番号が同一のMIDを使用しようとしているCLSFプロセスが実行されている端末のノード番号中で最も小さければ、そのMIDを使用した通信を開始する。そうでなければ、再度使用されていないMIDを選択し、そのMIDが衝突を起こしていないか確認する手順を再度実行する。
【0308】
以上の手順により、MIDに関して衝突が発生している事を検出し、かつ、MIDが衝突したならば再度MID獲得する手順を実行できる事になる。この手順を全てのCLSFプロセスが実行することで、それぞれのCLSFプロセスに一意なMIDを割り当てる事ができることになる。この手順は、ノード番号が製造時に全ての端末に一意に割り当てられている事を利用した手順であることに注意が必要である。
【0309】
以上で、各CLSFプロセスL05iにMIDが割り当てられたので、各CLSFプロセスL05iが、コネクションL09を通じてメッセージの送受信をできるようになる。各CLSFプロセスL05iは、コネクションL09にメッセージを送出するときには該獲得したMIDを用いて該メッセージをセルに分割する。一方、それぞれのCLSFプロセスL05iは、それぞれのセルのMIDを参照してメッセージを組み立てる事になる。
【0310】
なお、ノード番号が製造時に各端末に一意に割り当てられている事を利用すると、新しいMIDを獲得する時に、何らかの関数でノード番号をMIDのビット長まで圧縮し、該圧縮された値に最も近い、空いているMIDを使用することにするといった、いわゆるハッシュ法をMID獲得に応用することも可能である。これにより、複数の端末で同時に同一のMIDを使用しようとする確率を低下させることができ、より効率的にMID割り当てが実行可能になる。ここで、何らかの関数とは、例えば、ノード番号12オクテットの内、上位10オクテットの、各オクテット毎の偶数もしくは奇数パリティを計算し、その計10ビットのパリティビットを出力するようなものであっても良いし、また、ノード番号12オクテットの内の予め定められた10ビットを単に切り出すようなものであっても良い。本発明者が特願平5−349634にて示したノード番号は、上位10オクテットが製造時に各機器に割り当てられた番号で、下位2オクテットが、端末内のブロードキャストセルのルーティングに使用される、端末内部で一意なプロセス番号であることに注意して、この関数を作成する必要があることに注意が必要である。
【0311】
また、もし一つの端末で複数のCLSFプロセスを実行するのであれば、その時には、ノード番号の他にプロセス番号まで含めて衝突発生時にどのプロセスが衝突の発生しているMIDを使用するか決定するための比較を行う事になる。
【0312】
以上で、各CLSFプロセスL05iがコネクションL09上で使用するMID割り当ての方法の説明を終わる。
【0313】
<CLSF間での通信について>
次に、コネクションレスサービスを提供するため、それぞれのCLSFプロセスL05i間で行われる通信について説明する。
【0314】
各CLSFプロセスL05iは、コネクションL09を通じて、ユーザプロセスL08jから受け取ったメッセージで他のCLSFプロセスが収容しているユーザプロセスに向かうメッセージを、お互いにやりとりする。この為、それぞれのCLSFプロセスL05iが収容しているユーザプロセスL08jに割り当てられたレイヤ3アドレス、IPアドレス、E.164アドレス等をコネクションL09を用いて互いに通知し合っている。上で述べたMID獲得手順により割り当てられたMIDは、それぞれのCLSFプロセスL05iで一意となるため、該MIDがコネクションL09上における、CLSFプロセスL05iの識別子として使用可能であることに注意が必要である。
【0315】
本発明者が特願平6−140223にて開示した、CLSFプロセスL05iへのユーザプロセスL08jの接続手法によると、ユーザプロセスL08jはその時負荷の最も小さなCLSFプロセスを選択して、該CLSFプロセスと自分との間のコネクション設定をコネクション設定プロセスL06に要求し、コネクション設定プロセスL06によりコネクションが設定された後、自分に割り当てられたレイヤ3アドレスを該設定されたコネクションを用いて通知する事としている。各CLSFプロセスL05iは、前記通知された情報を基に、自分がCLSFサービスを提供しているユーザプロセスL08jのレイヤ3アドレスのリストを維持している。それぞれのCLSFプロセスL05iは、予め定められた時間間隔(例えば、新たにユーザプロセスL08jからのレイヤ3アドレス登録が行われた時、かつ、1時間に一回)毎に、コネクションL09に対して、このレイヤ3アドレスのリストをレイヤ3アドレス通知メッセージとして放送する。このレイヤ3アドレス通知メッセージは一般的に1セルには収まらない長さとなる。このメッセージをセル化する為に、上で述べた手順に従って割り当てられたMIDを使用することはいうまでもない。
【0316】
一方、それぞれのCLSFプロセスL05iは、コネクションL09に対して他人が送出したレイヤ3アドレス通知メッセージを組み立て、自分以外のそれぞれのCLSFプロセスがサービスを提供しているユーザプロセスのレイヤ3アドレスも、自分がサービスを提供しているユーザプロセスのレイヤ3アドレス同様、保持しておく。どのCLSFプロセスがどのレイヤ3アドレスに対してサービスしているかは、組立時に使用したMIDにて識別することが可能である。即ち、コネクションL09に接続された全てのCLSFプロセスに関して、該CLSFプロセスが使用しているMIDと該CLSFプロセスがサービスを提供しているレイヤ3アドレスの対応関係を示す表を、それぞれのCLSFプロセスが保持しておくことになる。ここで、例えば、レイヤ3アドレスを入力するハッシュ関数によりこの表を参照可能な様に構成すると、受信したコネクションレスメッセージの処理が効率的になる。これにより、コネクションL09により接続されているそれぞれのCLSFプロセスL05iが、コネクションL09により到達できる範囲でサービスされているレイヤ3アドレスを互いに知ることができるようになる。
【0317】
この状態で、ユーザプロセスL08jがCLSFプロセスL05iに送出したコネクションレスのメッセージは、以下の様に処理される。ここでは、ユーザプロセス#5(L085)がユーザプロセス#2(L082)に向けてコネクションレスのメッセージを送出した場合について例示しながら説明を進める。
【0318】
ユーザプロセス#5(L085)は、何らかの方法により獲得したユーザプロセス#2(L082)のレイヤ3アドレスを宛先アドレスとして、コネクションレスのメッセージを作成する。ここで、宛先アドレスを獲得する方法は、例えばNIS(Network Information Service) に対して問い合わせを行う等の良く知られた手法が使用される。このコネクションレスのメッセージは、コネクションL05を経由してCLSFプロセス#2(L052)に転送される。
【0319】
CLSFプロセス#2(L052)は、各ユーザプロセスからコネクションレスのメッセージを受け取ると、該メッセージの宛先アドレスを参照して次の3ステップを実行することで、それぞれのコネクションレスのメッセージのルーティングを実行している。
【0320】
その第1のステップは、該宛先アドレスと一致するレイヤ3アドレスが割り当てられたユーザプロセスが自分に接続されていないか、検索を行うステップである。このステップにて、自分に接続されているユーザプロセスが受信したコネクションレスメッセージの宛先であることが分かると、該受信したコネクションレスメッセージを、対応するユーザプロセスに向けて送出する。自分に接続されたユーザプロセスが受信したコネクションレスメッセージの宛先でないことがわかると、次に第2のステップを実行する。ここで述べている例では、ユーザプロセス#5(L085)の送出するコネクションレスメッセージはユーザプロセス#2(L082)向けであり、このステップでは、該コネクションレスメッセージの宛先となるユーザプロセスが見つからず、第2のステップへと移行することになる。
【0321】
第2のステップでは、同一ATM−LAN中にそのコネクションレスメッセージの宛先であるユーザプロセスが存在するか、検索するステップである。コネクションL09上のレイヤ3アドレス通知メッセージのやりとりにより、各CLSFプロセスL05iは、コネクションL09にて到達可能なレイヤ3アドレスのリストを持っている。そこで、該受け取ったコネクションレスメッセージの宛先を該リスト中から検索する。もし、該リスト中にも宛先が存在していなければ、該コネクションレスメッセージをATM−LANの外部に転送する為の第3のステップを実行する事になるが、このステップについては、後ほど詳細に説明する。
【0322】
ここで考えている例の場合は、ユーザプロセス#2(L082)に向けたコネクションレスメッセージをCLSFプロセス#2(L052)が受信した場合であるので、CLSFプロセス#2(L052)の持っている前記リスト中に、該受信したコネクションレスメッセージの宛先が含まれる事になる。
【0323】
前記リスト中に、受信したコネクションレスメッセージの宛先が含まれている場合、CLSFプロセスは、受信したコネクションレスメッセージと、該コネクションレスメッセージの宛先のユーザプロセスの接続されたCLSFプロセスに割り当てられたMIDを組としたユーザデータ転送メッセージを作成し、コネクションL09へと送出する。該ユーザデータ転送メッセージは一般的に1セルには収まらない長さとなり、このメッセージをセル化する為に、CLSFプロセス#2に割り当てられたMIDを使用することはいうまでもない。また、上述したCLSFプロセス間のレイヤ3アドレス通知の方法により、それぞれのレイヤ3アドレス毎に、該レイヤ3アドレスに対してサービスを提供しているCLSFプロセスに割り当てられたMIDを、それぞれのCLSFプロセスが保持しているので、上の様なユーザデータ転送メッセージの作成が可能であることに注意すべきである。ここで述べている例の場合、CLSFプロセス#2(L052)がユーザプロセス#5の送出したコネクションレスメッセージと、CLSFプロセス#1(L051)に割り当てられたMIDとからユーザデータ転送メッセージを作成し、コネクションL09に送出する事になる。
【0324】
コネクションL09の働きにより、送出されたユーザデータ転送メッセージは、コネクションL09に接続されている全CLSFプロセスへと転送される。それぞれのCLSFプロセスは、ユーザデータ転送メッセージを受け取ると、該メッセージが含む、コネクションレスメッセージの宛先を収容しているCLSFプロセスのMIDを参照し、自分に割り当てられたMIDと一致しない場合は、該ユーザデータ転送メッセージを廃棄する。これにより、宛先のレイヤ3アドレスが割り当てられたユーザプロセスを収容していないCLSFプロセスでは、レイヤ3アドレスのリストを参照することなく該ユーザデータ転送メッセージを廃棄できる、即ち、不要のレイヤ3アドレスのリストへの参照を防ぐ事ができ、CLSFプロセスのスループットを向上できる、事に注意が必要である。
【0325】
ユーザデータ転送メッセージ中のMIDが、自分に割り当てられたMIDと一致する場合には、該ユーザデータ転送メッセージからコネクションレスメッセージを取り出す。その後、該メッセージの宛先を参照し、自分に接続されているユーザプロセスのレイヤ3アドレスを参照し、対応するユーザプロセスに対して該取り出したコネクションレスメッセージを転送する。ここで述べている例では、CLSFプロセス#1が送出したユーザデータ転送メッセージを、CLSFプロセス#2が受信し、ユーザプロセス#5の送出したコネクションレスメッセージを取り出して、その宛先を自分が収容しているユーザプロセスのレイヤ3アドレスの表を参照する事で知り、その後、取り出したコネクションレスメッセージをユーザプロセス#2に向けて転送する。
【0326】
以上の操作により、複数個のCLSFプロセスを同一のATM−LAN中に存在させる事でコネクションレスサービスの負荷分散を行った系において、任意のユーザプロセスが送出するコネクションレスメッセージをATM−LAN内の所望のユーザプロセスへと転送することが可能になる。
【0327】
なお、上で述べたCLSFプロセス間の通信の場合、コネクションL09には複数のCLSFプロセスが同時にメッセージを送出し、また同時にメッセージを受信する事に注意が必要である。第2のアプリケーションの場合と異なり、同一の端末に対して複数の端末が同時にメッセージを送出する事が有り得る。このため、AAL3/4のSARレイヤのMIDフィールドに送出先のプロセスに割り当てられたMIDを含めると、受信側で正常にメッセージを組み立てる事ができなくなる。よって、上で述べたCLSF間通信では、AAL3/4のSARレイヤのMIDフィールドに送出元のプロセスのMIDを含ませる事としていた。該メッセージの宛先はメッセージ中にMIDを含めて指定している。この場合、それぞれのCLSFプロセスは、コネクションL09を経由してくるセル全てを一旦組み立てないと該セルが自分宛であるか否か判断できない。このため、アダプテーション処理のみではメッセージが自分宛であるか判断できず、CLSFプロセスに対して、MIDを参照して不要なら廃棄という無駄な負荷をかける事になる。
【0328】
この問題点は、例えばAAL3/4のSARレイヤのMIDフィールドを半分に分割し、前半の5ビットで宛先のMIDを表示し、後半の5ビットで送出元のMIDを表示することで解決する事ができる。それぞれの端末が、自分に割り当てられたMIDと同じビットパタンをMIDフィールドの前半5ビットに持つセルのみ取り込み、後半の5ビットを使用して同一端末起源のセルを集めてメッセージを組み立てるようにすれば良い。この方式を採用すると、CLSFプロセスに余計な負荷をかけずに済むという利点があるが、一方で同一コネクションに接続できるCLSFプロセスの個数が少なくなってしまうという欠点もある。この欠点を解決するためには、前述した、AAL5上のユーザプロトコルとして各セルにMIDと同じ意味の情報要素を含ませる、といったプロトコルにてコネクションL09上でのメッセージの合流を行う必要がある。該情報要素の長さとして例えば20ビットとれば、一つのコネクションに1024個までのCLSFプロセスを接続することが可能である。
【0329】
以上で、ATM−LAN内部のコネクションレスサービスの負荷分散法の説明を終わる。
【0330】
<ATM−LAN間のコネクションレスサービス提供法>
コネクションレスサービスは、同一ATM−LAN内の通信のみに使用されるわけではなく、ATM−LANを渡った通信にも使用される。次に、ATM−LAN間のコネクションレスサービス提供法を説明する。
【0331】
図26には、ATM−LAN間の通信に使用されるコネクションも示されている。ATM−LAN間の通信には、m:nの単方向ATMコネクションL02及びn:mの単方向ATMコネクションL03が使用される。
【0332】
m:nの単方向ATMコネクションL02は、上位のATM通信網L01から渡されるコネクションレスメッセージをATM−LAN内のCLSFプロセス群に転送する役割を担う。また、n:mの単方向ATMコネクションL03は、ATM−LAN内のCLSFプロセス群から送出されるコネクションレスメッセージを上位のATM−LANL01に向けて転送する役割を担う。
【0333】
これらのコネクションを図27に示すように上位のATM通信網L01上に設定されるコネクションを用いて連結する事で、複数のATM−LANにまたがったコネクションレスメッセージのやりとりが実現できる。同図においては、三つのATM−LAN M011〜M013の間のコネクションレスメッセージの通信が、上位のATM通信網L01上に設定された1:1の単方向ATMコネクションM031〜M036にて提供されている場合を示している。ATM−LAN#1(M011)、ATM−LAN#2(M012)にはそれぞれ二つのCLSFプロセスが含まれ、ATM−LAN#3には三つのCLSFプロセスが含まれている。これらのCLSFプロセスはATM−LAN内部で、図26に示された方法と同様に、上位のATM通信網に向けてコネクションレスメッセージを送出する為のm:nの単方向ATMコネクションM041〜M043と、上位のATM通信網からコネクションレスメッセージを受信する為のn:mの単方向ATMコネクションM051〜M053にて接続されている。この図に示した構成では、上位のATM通信網が基本的に1:1の双方向ATMコネクションしか提供しないことを前提に、予め定められたATM−LAN間のコネクションレスメッセージの転送しか提供できないが、この予め定められたATM−LAN間のコネクションレスメッセージの転送のレイテンシは小さく抑えるための方法が示されている。
【0334】
ここで示されているコネクション設定の方法を一般的に記述すると、以下のようになる。コネクションレスメッセージ転送のレイテンシを小さく抑えるため、それぞれのATM−LANをメッシュに接続する事を考える。即ち、一つのATM−LANから残りのATM−LAN全てへのコネクションが上位のATM−LAN上に設定されている。例えば、ATM−LAN#1(M011)に関して言えば、以下の様になる。ATM−LAN#1のそれぞれのCLSFプロセスの送出するコネクションレスメッセージは、コネクションM041により一旦ATM−LAN#1内で集められた後、コネクションM032を経由してATM−LAN#3へと、コネクションM033を経由してATM−LAN#2へと、それぞれ転送される。コネクションM041は、これらの二つのATM−LANへとセル流を転送するためのコピー機能も実現している。一方、ATM−LAN#2からATM−LAN#1へと転送されるコネクションレスメッセージは、コネクションM034を経由して、また、ATM−LAN#3からATM−LAN#1へと転送されるコネクションレスメッセージはコネクションM031を経由して、それぞれコネクションM051に渡される。コネクションM051の働きにより、これらのコネクションレスメッセージ流は一旦合流され、それぞれのCLSFプロセス#1−1、#1−2にコピーされて渡される。同様のメッセージ転送を実現するコネクション設定がATM−LAN#2,ATM−LAN#3に関しても実行されている。
【0335】
図27に示したコネクション構成により、互いのATM−LAN間でコネクションレスサービスを提供するために、以下の手順が各CLSFプロセス#i−jにて実行される。
【0336】
例えばATM−LAN#1中のコネクションM051の様に、複数のCLSFプロセスから送出されたコネクションレスメッセージが一旦集められ、それがコネクションM051の働きによってコピーされて複数のCLSFプロセスM0211、M0212に渡される部分では、上で述べてきた通り、それぞれのメッセージを送出するCLSFプロセスに、該メッセージをセル化するときに使用するMIDを一意に割り当てることで、受信側で正常にメッセージの組み立てが行える様になる。即ち、上で述べた、ATM−LAN内のCLSFプロセス間通信と同様、ATM−LANを渡ったCLSFプロセス間通信の為にも、これらのCLSFプロセスに対してMIDを割り当てる必要がある。
【0337】
ATM−LANに渡ったCLSFプロセス間の通信について説明する前に、ATM−LANを渡ったMID割り当て手順について説明する。これには上述のATM−LAN内にて実行されるMID割り当て手順及び衝突回避手順と同様の手順が使用できるが、図27に示したコネクションでは、同一のATM−LAN内のCLSFプロセス間でメッセージのやりとりが出来ないことに注意してATM−LANを渡ったMID割り当て手順を作成する必要がある。同一のATM−LAN内のCLSFプロセス間の通信には、図26に示したコネクションL09を使用すれば良い。
【0338】
MID=0のMID操作メッセージに、LAN間使用MID通知メッセージを定義する。このLAN間使用MID通知メッセージも、他のMID操作メッセージと同様、その情報部にTYPEフィールドK06、割り当てMIDフィールドK07、ノード番号フィールドK08を含んでいる。LAN間使用MID通知メッセージのTYPEフィールドK06には、該メッセージ種別を示すための番号が含まれている。また、ノード番号フィールドK08には、そのメッセージを送出したCLSFプロセスが実行されている端末のノード番号が、割り当てMIDフィールドK07には、そのメッセージを送出したCLSFプロセスにMIDが割り当てられているならばそのMIDが、割り当てられていなければそのことを示す値(MID=0)が、それぞれ含まれている。
【0339】
各CLSFプロセスM02ijは、上位のATM通信網にメッセージを送出するコネクションM04iに対して、予め定められた時間間隔で、上述のLAN間使用MID通知メッセージを送出する。さらに、ATM−LAN内部のCLSF間コネクションL09に対しても、同じLAN間使用MID通知メッセージを送出する。これにより、それぞれのCLSFプロセスM02ijが、他人がLAN間通信の為に使用しているMID、及び、そのMIDを使用しているCLSFプロセスの実行されている端末のノード番号を知ることができる。よって、新たにMIDを獲得しようとするCLSFプロセスは、現在使用されていないMIDの中から、予め定められた方法により使用するMIDを選択し、再度LAN間使用MID通知メッセージを送出しかつ他CLSFプロセスからのLAN間使用MID通知メッセージを受信することでMIDの衝突を検出し、必要ならばノード番号の大小を利用した衝突検出を行うという、LAN内におけるMID獲得と同様の手順を実行することで、LAN間の通信に使用するMIDも獲得する事ができる。
【0340】
上で述べた様に、ATM−LAN内の通信に使用するMIDと、ATM−LAN間の通信に使用するMIDをそれぞれ独立にしておくと、例えば、他のATM−LANにおける構成変更に伴って、MIDが衝突を起こした場合でも他のATM−LAN内部ではコネクションレスサービスを使用し続ける事ができるといった如く、発生した障害(この場合はMIDの衝突)の波及範囲を限定できるという利点がある。
【0341】
以上で、図27に示したコネクションを用いたCLSFプロセス#i−j間の通信が行えるようになったので、各CLSFプロセス#i−jは、自分が受け取ったコネクションレスメッセージの内、一つのATM−LAN内に宛先が存在しないものを上位のATM通信網L01へとメッセージを送出するコネクションM04iへと送出する。この結果、それぞれのCLSFプロセス#i−jの送出したコネクションレスメッセージは、他のATM−LAN中のCLSFプロセスへと転送される。
【0342】
上位のATM通信網L01からコネクションレスメッセージを受け取ったCLSFプロセス#i−jは、自分に接続されているユーザプロセスに割り当てられたレイヤ3アドレスのリストから、受け取ったコネクションレスメッセージの宛先を検索する。もし見つかれば、受け取ったコネクションレスメッセージを対応するユーザプロセスへと転送する。もし見つからなければ、受け取ったコネクションレスメッセージを廃棄する。以上で、ATM−LAN間をわたったコネクションレスサービスが実現できた事になる。
【0343】
なお、図27で示したコネクションを使用して、ATM−LAN内で行われているのと同様に、それぞれのCLSFプロセスがサービスを提供しているユーザプロセスに割り当てられたレイヤ3アドレスのリストをやりとりすることにし、上位のATM−LANを通過してきたコネクションレスメッセージの内の不要なものを簡単に各CLSFプロセス(もしくはアダプテーションレイヤ機能)が廃棄出来るようにしても良いが、ATM−LANのレイヤ3アドレスといった、比較的秘密性の高い情報が他のATM−LANに放送される結果になるというセキュリティ保持上問題の多い事態が発生する事と、ATM−LANを渡るコネクションレスメッセージは、ATM−LAN内に比べて少ないと考えられる事から、ここでの説明ではATM−LAN間ではこれを実現しない事としている。他のATM−LANに接続されているユーザプロセスのレイヤ3アドレスが悪意のユーザに分かってしまうと、そのアドレスを用いて例えばウィルスを送りつけられてしまうといった不具合が発生する。
【0344】
図27に示した手法では、より大きなコネクションレス通信網を構築しようとした場合に、上位のATM通信網L01上に設定しなければならないコネクション数が爆発してしまうという問題がある。例えば、3個のATM−LANをお互いに接続するためには上位のATM通信網L01上に設定するコネクション数は計6本で良いが、4個のATM−LANの場合は12本となる。一般的に、N個のATM−LANをメッシュに接続するためには、ATM−LAN上に[(N−1)+(N−2)+……+1]*2本のコネクションを設定する必要があり、Nが少し大きくなっただけで非現実的な値となる。
【0345】
そこで、より大きなコネクションレス通信網を実現する為には、図28に示すように幾つかのATM−LANでクラスタを構築し、クラスタ間を渡るコネクションレスメッセージはクラスタ間CLSFプロセスN01にて処理するといった方法をとる事になる。この様な大規模なコネクションレス通信網の場合、CLSFプロセス間でやりとりされるルーティング情報を少なくするために、レイヤ3アドレスの階層化を行う事が望ましくなる。レイヤ3アドレスの階層化とは、例えば、クラスタ間CLSFプロセスN01が接続されているATM−LAN#1(M011)、ATM−LAN#2(M012)中で使用されるレイヤ3アドレスの上位何ビットかを予め定められた値とすることである。このようにすることで、クラスタ間CLSFプロセスN01は、クラスタ外部から受け取ったメッセージの宛先アドレスを参照するのみで、ATM−LAN#1(M011)、#2(M012)に送出すべきメッセージか否か判断する事が可能になる。この時、ATM−LAN#1、#2からそれぞれの中でコネクションレスサービスの提供を受けているプロセスに割り当てられたレイヤ3アドレスのリストを得る必要もない。
【0346】
なお、CLSFプロセスM0211〜M0222とクラスタ間CLSFプロセスN01との間の通信の為に必要なMIDは、上述の、MID=0のMID操作メッセージ中に定義されたLAN間使用MID通知メッセージを用いたMID獲得手法により、それぞれのプロセスに割り当てることが可能であることは言うまでもない。
【0347】
以上で、上位のATM−LANを経由したATM−LAN間のコネクションレスサービスの提供法についての説明を終わる。ここまでの説明で、ATM−LAN内、及びATM−LAN間でのCLSFプロセス間の情報通信によって、コネクションレスサービスを提供する為の手順が説明された事になる。
【0348】
<独立に運用されていたCLSFプロセス群を一つにまとめる手法>
ところで、コネクションレスサービスの運用中、それぞれ独立に運用されていたCLSFプロセス群を一つにまとめる必要が生じる場合がある。これは、例えばどこかの物理リンクに故障が発生し、一つのコネクションレスサービスの提供範囲が二つに分断された後、再度もとのコネクションレスサービス提供範囲にもどす、といった事を行う場合に発生する。以下、図29を参照しながら、独立に運用されていたCLSFプロセス群を一つにまとめる場合の手順について説明する。
【0349】
図29には、それぞれ独立に運用されていたコネクションレスサービス範囲、CLSFプロセス#1−1(O01),#1−2(O02)によりサービスが提供されていた部分、及び、CLSFプロセス#2−1(O03),#2−2(O04),#2−3(O05)によりサービスが提供されていた部分が一つにまとめられる場合を概念的に示してある。CLSFプロセス#1−1(O01),#1−2(O02)はコネクションO06により、またCLSFプロセス#2−1(O03),#2−2(O04),#2−3(O05)はコネクションO07により、それぞれ上で述べたMID獲得の為の手順、レイヤ3アドレス通知の為の手順、及びコネクションレスメッセージの交換の為の手順を実行し、それぞれが収容しているプロセスに対してコネクションレスサービスを提供している。
【0350】
それぞれが独立に運用されているCLSFプロセス#1−1(O01),#1−2(O02)、およびCLSFプロセス#2−1(O03),#2−2(O04),#2−3(O05)は、同一のATM−LAN内に存在する場合と、異なるATM−LANにて運用されている場合がある。まず、これらの独立して運用されているCLSF群が同一のATM−LAN内にある場合について、これらを一つにまとめる手順を説明する。
【0351】
これらのCLSF群を一つにまとめるためには、ATM−LAN内でコネクションO06とコネクションO07を接続するコネクションO08をコネクション設定プロセスL06が設定すれば良い。この時、計5個のCLSFプロセス#i−jが一つのn:nの双方向ATMコネクションにより接続されるよう、コネクションO08によるコネクションO06とコネクションO07の連結を行う必要がある。この連結の手法は、図3〜図6に示された、n:nの双方向ATMコネクションの設定法を参照すれば、容易に得ることができる。コネクションO07の合流側と、コネクションO06の合流側をさらに合流し、その合流トラフィックをコネクションO07の分流側と、コネクションO07の分流側にそれぞれコピーして送出する様なコネクションを設定すれば良い。
【0352】
このようにコネクションO06とコネクションO07が一つのn:nの双方向コネクションとして連結されると、今まで独立に運用されていたCLSFプロセス間も通信可能になる。この時、それぞれのCLSFプロセス群が独立に運用されていたため、コネクションO06上で使用されていたMIDと、コネクションO07上で使用されていたMIDが衝突してしまう可能性がある。この衝突は、上述したMID=0のMID操作メッセージの一つである使用MID通知メッセージの送出を各CLSFプロセスが予め定められた時間間隔で行っていれば、容易に検出することができる。同じMIDを異なるノード番号の端末上で実行されるCLSFプロセスが使用している事が、即ち、MIDが衝突している事を示している。このMID衝突は、上で述べたような、ノード番号の小さい方がそのMIDの使用を続け、ノード番号の大きい方が新しいMIDを獲得するといった手順を実行する事で解消可能である。この結果として、新しいMIDを獲得したCLSFプロセスがコネクションレスサービスを提供しているユーザプロセスのレイヤ3アドレスのリストも更新する必要が生じるのは言うまでもないが、これも、新しいMIDを使用したレイヤ3アドレス通知メッセージの送出を待ち、そのメッセージに従ってリストの変更を行えば、自動的に実行することができる。
【0353】
コネクションO06,O07の連結に伴って行われる上述の操作、MID衝突検出および新MID割り当て並びにレイヤ3アドレスの更新作業が終了するまでは、正常にコネクションレスサービスをこれらのCLSFプロセスが収容しているユーザプロセス群に提供する事ができなくなるが、現状のイーサネット上のコネクションレスサービスはいわゆるベストエフォートサービス、即ち、ネットワークは渡されたコネクションレスメッセージを所望の宛先に転送する最大限の努力をするというサービスであるので、このような制限は、現状のイーサネット上のサービスをATM−LAN上で提供するのが目的であるCLSFプロセスの実行形態として問題とはならない。
【0354】
次に、それぞれが独立に運用されているCLSFプロセス#1−1(O01)とCLSFプロセス#1−2(O02)の組、及び、CLSFプロセス#2−1(O03)とCLSFプロセス#2−2(O04)とCLSFプロセス#2−3(O05)の組が、異なるATM−LAN上で運用されているといった場合について、これらを一つにまとめる手順を説明する。この場合、コネクションO06,O07の連結は、上位のATM通信網上で、新たに必要になる1:1の単方向ATMコネクションを設定し、ATM−LAN内部で必要なコネクションに対してこの新たに設定されたATMコネクションをコピーコネクションの一つの枝として接続することにより実現される。以下、この時に実行される処理の手順を、再度図26を参照しながら説明する。
【0355】
上位のATM通信網を経由する、CLSFプロセス間のコネクションを設定する為に、それぞれのATM−LANではコネクションレスサービスの提供窓口であるE.164アドレスが予め定められている。他のATM−LANからの、該ATM−LANに対するコネクションレス通信の提供要求、即ち、他のATM−LANが該ATM−LANとコネクションレスメッセージのやりとりを行いたいという要求は、シグナリングVC(L04)を経由した、このE.164アドレスに対する着呼という形でコネクション設定プロセスL06に通知される。
【0356】
あるATM−LAN群で行われているコネクションレスサービスに、自分の管理しているATM−LAN上でのコネクションレスサービスを参加させたい意図を持ったATM−LANの管理者は、まず相手のATM−LANのコネクションレスサービスの提供窓口のE.164アドレスを何らかの手段を用いて得る。ここでの何らかの手段とは、相手の管理者に対して電話をかけるであるとか、電子メールを出すとかいったことである。ATM−LANの管理者は、相手のコネクションレスサービスの窓口のE.164アドレスを知ると、コネクション設定プロセスL06に、該E.164アドレスと、ここでコネクションレスサービスのために上位のATM通信網L01から提供を受けたい帯域とを少なくともその引数の一つとして含むコネクションレスサービス接続要求コマンドを発効する。
【0357】
こうしてコネクションレスサービス接続要求コマンドが発効されると、コネクション設定プロセスL06は、上位のATM通信網L01に対して、該通信網における呼設定プロトコル(多くはQ.2931と呼ばれるITU−T標準の呼設定プロトコル)に従って、該E.164アドレスと帯域にてコネクション設定を要求する。
【0358】
上位のATM通信網L01は、要求されたコネクションを設定すると、対向側のATM−LANのコネクション設定プロセスL06に、該E.164アドレスによる着呼が発生した事をシグナリングVC(L04)にて通知する。
【0359】
コネクションレスサービスの受け付け窓口であるE.164アドレスにて着呼が発生すると、コネクション設定プロセスL06は、通知されたVPI/VCIによりセルが受信可能な、かつ、該VPI/VCIによりセルを転送できる、上位のATM通信網L01上のコネクションを、図27に示したコネクション構成となるよう、コネクションL02,L03に連結する。具体的には、上位のATM通信網L01からセルを受け取る側のコネクションはn:mの単方向ATMコネクションL02の新たな情報入力口として該コネクションL02に連結し、また、上位のATM通信網L01へセルを送出する側のコネクションはm:nの単方向ATMコネクションL03の新たな情報送出口として該コネクションL03に連結する。
【0360】
以上の操作が終了するとコネクション設定プロセスL06は、受け取った着呼メッセージに対する応答メッセージを上位のATM通信網L01に返す。
【0361】
上位のATM通信網L01は、着呼メッセージの応答メッセージを受け取ると、発呼元のATM−LANのコネクション設定プロセスL06に、コネクション設定終了メッセージをシグナリングVC(L04)を経由して渡す。この時、該メッセージの一情報要素として設定されたコネクションのVPI/VCIが発呼元のATM−LANのコネクション設定プロセスに通知される。
【0362】
発呼元のATM−LANのコネクション設定プロセスL06は、コネクション設定終了メッセージを受け取ると、対向側のコネクション設定プロセスL06と同様、図27に示したコネクション構成となるように、上位のATM通信網上に設定されたコネクションと、コネクションL02,L03とを連結する。
【0363】
その後、該コネクション設定プロセスL06は、コネクション設定並びにCLSFプロセスの接続が終了したことを該ATM−LANの管理者に通知する。
【0364】
ATM−LANの管理者は、メッシュに接続するために必要な回数だけ、上述のATM−LANのコネクションレスサービスの窓口のE.164アドレスの調査と、コネクションレスサービス接続要求コマンドの発効を繰り返す。これにより、必要なATM−LAN間にメッシュのコネクションが設定され、新しくCLSFプロセスがコネクションレスサービスの提供に参加することになる。
【0365】
その後、MIDの衝突検出、および、衝突発生の場合は新規MIDの割り当てが、MID=0のMID操作メッセージ中に定義された、LAN間使用MID通知メッセージによる上述した手順により各CLSFプロセスにより自動的に実行され、正常に新しく作成されたコネクションレスサービスの提供範囲にてCLSFプロセス間の通信が可能になるのは、ATM−LAN内でCLSFプロセス群をまとめる場合と同様である。
【0366】
以上で、独立に運用されていたCLSFプロセス群を一つにまとめる場合の手順についての説明を終了する。
【0367】
<CLSFプロセスのマイグレーション法について>
本発明の第3のアプリケーションであるコネクションレスサービスの負荷分散法の説明の最後に、CLSFプロセスのマイグレーション法を説明する。
【0368】
例えば、CLSFプロセスを実行している端末のメモリを増強するといった場合、一旦そのCLSFプロセスを他の端末にマイグレートできると便利である。以下、再度図26を参照しながら、ATM−LAN内でのCLSFプロセスのマイグレートについて説明する。なお、ATM−LAN間を渡るCLSFプロセスのマイグレートは、ATM−LANが一つの管理単位となっている前提で発生しないと考えてよい。
【0369】
上述したように、CLSFプロセスL05iを実行する計算の“場”である端末には、ATM−LAN内のコネクションレスメッセージ転送の為のコネクションL09と、ATM−LAN間のコネクションレスメッセージ転送のためのコネクションL02,L03が予め定められたVPI/VCIにて設定されている。よって、本発明に従ってある端末から別の端末にCLSFプロセスをマイグレートしても、これらのコネクションを使用する通信は、これらのコネクションに該CLSFプロセスがメッセージを送出する時のMIDを変化させなければ、マイグレート前と同様に通信を行うことができる。CLSFプロセスのマイグレーションには、ATM−LAN内でコネクションレスサービスを提供するためのコネクションL09を使用することができる。例えば、CLSFプロセスのマイグレーション前に、該コネクションL09を使用して、最も負荷の軽い端末を検索し、該負荷の軽い端末に対して、該コネクションL09を使用してCLSFプロセスのコード、及び、該CLSFプロセスの使用しているMIDや該CLSFプロセスが収容しているユーザプロセスのレイヤ3アドレス等の実行環境を転送するといった事を実行すれば良い。ここで、それぞれのCLSFプロセスが持っている、他のCLSFプロセスにてサービスが提供されているレイヤ3アドレスに関する表は、それぞれのCLSFプロセスが獲得しているMIDを用いて作成されており、CLSFプロセスを移動しても大きく書き換える必要が無く、小さなオーバーヘッドでCLSFプロセスのマイグレーションが実現できることに注意が必要である。CLSFプロセスが実行されている端末のノード番号とレイヤ3アドレスの表を保持していることにすると、マイグレート発生時に、その事を他のCLSFプロセスに通知し、該通知を受けてそれぞれのCLSFプロセスが端末のノード番号を書き換えるというオーバーヘッドが生じる。
【0370】
しかしながら、端末とCLSFプロセス間のコネクションL07iに関しては、CLSFプロセスを移動させたことにより、再度設定し直さなければならない。これは、以下の手順を実行することで実現することができる。
【0371】
プロセスマイグレーションを行う前に、CLSFプロセスはコネクションL07iを用いて、ユーザプロセスに対してこれからマイグレーションが行われる為に一旦コネクションレスサービスの停止する事を通知した後、ユーザプロセスとの間のコネクションL07iの解放をコネクション設定プロセスL06に要求する。コネクション設定プロセスL06は、例えば本発明者が特願平5−120351にて開示したプロトコルにて、これらのコネクションL07iを解放する。次に、CLSFプロセスはマイグレートを受け、新しい端末での実行が再開される。この時、いままでサービスを提供していたユーザプロセスに対して、再度コネクションを設定する必要がある。
【0372】
本発明者が特願平5−120351にて開示した、コネクション設定プロセスL06によるコネクション設定のプロトコルに従うと、コネクション設定時に着呼側には発呼側のノード番号が通知されている事になっている。それぞれのCLSFプロセスは、新たにユーザプロセスからのコネクション設定がなされる度に、この発呼側のノード番号を保持するようにする。本発明者が特願平6−140223により開示したCLSFプロセスへのユーザプロセスの登録法によると、ユーザプロセスが発呼側となるので、該発呼側ノード番号が即ち、ユーザプロセスが実行されている端末及び該ユーザプロセスの該端末上でのプロセス番号を示していることになる。
【0373】
CLSFプロセスがマイグレートされ、今まで実行されていた端末と異なる端末上で実行され始めた時、サービスを提供するユーザプロセスとの間のコネクション設定の要求を、この発呼側ノード番号を使用して、コネクション設定プロセスL06に行う。
【0374】
コネクション設定プロセスL06は、要求されたコネクションを設定した後、ユーザプロセスにコネクション設定を通知する。ユーザプロセスは、コネクションレスメッセージの送受に使用するコネクションを新しく設定されたコネクションに切り替え、コネクションの受け入れをコネクション設定プロセスL09に通知する。これと共に、今まで使用していたコネクションの解放をコネクション設定プロセスL09に要求する。
【0375】
コネクション設定プロセスL06は、ユーザプロセスからコネクションの受け入れが通知されると、コネクション設定終了をマイグレートされたCLSFプロセスに通知する。これでマイグレートされたCLSFとユーザプロセスの間にコネクションが設定されたことになる。CLSFプロセスは、コネクションレスサービスの再開をユーザプロセスに該新たに設定されたコネクションを用いて通知する。以降、ユーザプロセスとCLSFプロセスの間のコネクションレスメッセージの転送は、該新しく設定されたコネクションを用いて行われる。
【0376】
さらに、コネクション設定プロセスL06は、それぞれの端末で今まで使用されていたコネクションの解放要求が到達すると、これらのコネクションの解放を行う。
【0377】
なお、コネクションレスサービスはベストエフォートサービスであるから、マイグレート発生時にCLSFプロセスが一時保持している、ルーティング待ちのメッセージは、マイグレート時に一旦廃棄しても良いし、マイグレート時に他の実行環境と一緒に新しい端末に向けて転送される事にしてもよい。このメッセージをマイグレート時に廃棄することにすると、CLSFのマイグレートにかかる時間を短縮する事ができる。
【0378】
以上で、本発明を適用する第3のアプリケーションである、ATM−LAN上でのコネクションレスサービスの負荷分散法に関する説明を終わる。
【0379】
(実施例6)
本実施例では、本発明を適用する第4のアプリケーションである、ATM−LAN上での資源管理手法について、詳細に説明する。このアプリケーションは、分散化されたマルチメディアアプリケーションの効率的実行を可能とするものである。
【0380】
図30に、第4のアプリケーションを説明するための例として取り上げるATM−LANの構成を示す。このATM−LANは、ハブ#1〜#5(P011〜P015)により、端末#1〜#5(P021〜P025)が接続されて構成されている。ハブおよび端末それぞれを接続するために、物理リンクの組P031〜P039が設けられている。光ファイバ、UTP等の物理リンクは単方向の情報転送を提供するものであり、全2重の通信を端末/ハブ間、ハブ/ハブ間に提供するために、2本ずつ組として使用されている。
【0381】
さらに、端末#1(P021)はファイル#1(P041)を、端末#2(P022)はファイル#2(P042)を、以下同様にして端末#5(P025)はファイル#5(P045)をそれぞれ持っている。
【0382】
従来のイーサネット等のLANでは、同軸ケーブル上の通信帯域がコネクション間で共有されているのに対して、ATM−LAN上ではその特有の機能であるCAC(Connection Admission Control)を通信開始前に行い、通信帯域がコネクション毎に排他的に割り当てられる。この為、従来のLANでは自分に割り当てられる通信帯域が他のプロセスの動作によって変化するのに対して、ATM−LANには、それぞれのコネクションに割り当てられた通信帯域が他のプロセスの動作によって変化しないため、例えばファイルから定速度でデータを読み出す等、QoSを保証した通信が可能である利点がある。その一方で、従来のLANでは該LANを使用しているプロセスは常にメッセージを送出可能であるが、反面、ATM−LANの場合、CACにより通信帯域が割り当てられないと、通信をまったく行うことができない。この為、通信帯域の他にファイル等の資源を使用するアプリケーションを実行することを考えると、ATM−LAN上で分散化されたアプリケーションを実行すると、以下のような問題点が生じる。
【0383】
図30に示したATM−LANで、この問題点を説明する。
【0384】
端末#1(P021)上で実行されるプロセスAがファイル#1(P041)を確保し、端末#3(P023)へと転送する。さらに、端末#2(P022)上で実行されるプロセスBがファイル#1の内容を参照する。これらのプロセスAとプロセスBが同時に実行されると、以下の事が起きることがある。
【0385】
プロセスAは、まずファイル#1(P041)をオープンする。一方、プロセスBは、物理リンクP036、P037上の通信帯域を全て確保する。
【0386】
この状態で、次にプロセスAは端末#3(P043)への経路、物理リンクP036,P033,P034,P038上の通信帯域を確保しようとするが、このとき既にプロセスBにより物理リンクP036の通信帯域が全て確保されているので、この通信帯域の確保にプロセスAは失敗する。一方、プロセスBは、次にファイル#1(P041)を確保しようとするが、既にプロセスAによりオープンされているので、このファイルオープンにプロセスBも失敗する。プロセスAとプロセスBがこの状態でスリープすれば、デッドロックになる。
【0387】
この種のデッドロックは、ファイル#1(P041)と、物理リンクP036上での通信帯域との、プロセスAとプロセスBの使用要求の競合によって発生する。即ち、この種のデッドロックは、CACを実行して通信帯域をあるプロセスに排他的に与えることにより発生するものであり、ここではCACデッドロックと呼ぶ。Q.2931プロトコルにより通信帯域の割り当てを受けていると、デッドロック発生の原因の一端が物理リンクP036上での通信帯域の競合にある事をそれぞれのプロセスが認識することができず、CACデッドロックを解消する事ができない。
【0388】
本発明の第4のアプリケーションはこの問題を解決し、分散化されたマルチメディアアプリケーションの効率的実行を可能とする手法である。以下、本発明の第4のアプリケーションにおけるユーザプロセスのスケジューリング手法を開示した後、該スケジューリング手法を実現するために本発明が果たす役割について説明する。
【0389】
<ユーザプロセスのスケジューリング法について>
まず、ユーザプロセスのスケジューリング法について詳細に説明する。上で述べたCACデッドロックを解消し、ユーザプロセスの実行を進める為には、ユーザプロセス#iに一旦割り当てられた資源を該ユーザプロセス#iの実行終了を待たずに、一回他のユーザプロセスに横取りさせ、該資源を横取りしたユーザプロセスの動作の完了、もしくは横取りさせた資源の解放を待って、再度横取りされたユーザプロセスに資源を割り当てる必要がある。例えば、上で述べたCACデッドロック発生例では、プロセスAが確保しているファイル#1を横取りし、プロセスBに割り当てるか、もしくは、プロセスBが確保している物理リンクP036上の通信帯域を横取りし、プロセスAに割り当てれば、どちらかのプロセスの実行が進み、実行終了時に解放された資源を使用してもう一方のプロセスの実行も行う事ができる。これにより、CACデッドロックの解消ができたことになる。
【0390】
即ち、CACデッドロックの解消を実現するためには、通常のOSがユーザプロセス群に対して割り当てる管理を行う、ファイル、メモリ、プロセッサといった資源の他に、ATM通信網で特有の資源であるところの通信帯域も統一して管理し、それぞれのユーザプロセスに秩序だって割り当ててゆくと同時に、デッドロックを生じた場合はあるユーザプロセスから資源を横取りして別のユーザプロセスに先に割り当てる処理を実現する必要がある。
【0391】
資源の横取りを実現するときは、該資源の横取りを行うためのオーバーヘッドが小さくなる様な処理とするのが望ましい。オーバーヘッドを小さくするためには、各資源の性質を勘案して横取り処理を構築する必要がある。この勘案すべき資源の性質には、以下の二つの種別がある。
【0392】
その第1の種別は、ファイルに代表される、サイドイフェクトのある資源である。サイドイフェクトとは、あるプロセスが該資源を確保して該資源に対して何らかの処理を行った結果が他のプロセスの実行に影響を及ぼすことである。例えば、あるファイルに複数のプロセスが何らかのデータを書き込む事を考える。初期値“0”を持つファイルAに対して、プロセスAは、”A”というデータを書き込み、プロセスBは“B”というデータを書き込むとする。最初にプロセスAが実行されて次にプロセスBが実行される場合、プロセスBがファイルAをアクセスした結果読み取れる情報は“A”であるが、先にプロセスBが実行される場合、ファイルAから読みとれる情報は“0”となる。即ち、プロセスAの実行がプロセスBの実行に影響を及ぼしている。
【0393】
サイドイフェクトのある資源に対するアクセス順序は、このようにそれぞれのプロセスの実行に大きな影響を及ぼす。
【0394】
一方、もう一つの資源の種別は、例えばプロセッサに代表される、サイドイフェクトの無い資源である。プロセッサの場合、あるプロセスから別のプロセスに割り当てが変更される時は、プロセッサ内部のレジスタの値が一旦どこかに、一般的にはメモリ上のスタックと呼ばれる領域に退避され、新たに実行されるプロセスの持っていたレジスタの値がプロセッサ内部にロードされた後に、該新しいプロセスの実行が開始される。このようにプロセッサのプロセスへの割り当てが行われている限り、あるプロセスの実行が他のプロセスの実行に影響を与えることは無い。即ち、サイドイフェクトはない。
【0395】
サイドイフェクトのある資源を横取りする場合、あるプロセスがその資源に対して行った操作を一旦元にもどして、別の資源に割り当てる必要がある。例えば、上で述べてきた、プロセスAとプロセスBがファイル#1(P041)と物理リンクP036の取り合いを行った結果として発生するデッドロックを解決する場合に、プロセスAが確保しているファイル#1を横取りする為には、プロセスAがスリープするまでにファイル#1に行った処理、例えばデータの書き込みであるとか、データの削除であるとか、を一旦元に戻す必要がある。さもなければ、プロセスAの処理途中という中途半端な状態のファイル#1にプロセスBがアクセスすることになる。ファイルの内容を元に戻すのはオーバーヘッドの大きな処理である。よって、横取りする資源としては、サイドイフェクトのない資源を優先して横取りするのが望ましい。
【0396】
上で述べたプロセッサなどの他に、ATM通信網特有の資源である通信帯域もサイドイフェクトのない資源と考えることができる。即ち、通信帯域は横取りを行うに適した資源である。通信帯域が横取りされて、ユーザプロセスの処理を行うことができなくなった時は、該ユーザプロセスは、その時の状態でスリープさせられる。再度通信帯域が割り当てられて、ユーザプロセスの処理が再開されたとしても、スリープされた時のユーザプロセスの状態から処理が進み、メッセージ送出が行われるだけであるので、スリープされた事を意識しないで処理を進める事ができる。スリープ直前にATM通信網に投入されたメッセージで、スリープ後にユーザプロセスに到着したメッセージは、該ユーザプロセスが受け取れない事もあるが、この場合はメッセージがビット誤り等で廃棄された時と同じように再送等の処理を実行することで正常な処理を行うことができる。
【0397】
プロトコル処理上、何らかの要求を送出した後、予め定められた時間その応答が帰ってこない場合、異常が発生した(例えば要求メッセージが廃棄されてしまった等)としてタイムアウト処理を起動する事が良く行われるが、このタイムアウトを処理するためのタイマを、ユーザプロセスがスリープしている間停止させておけば、ユーザプロセスがスリープしている間にタイムアウトが起こらず、より望ましい。
【0398】
一方、通信帯域が割り当てられたユーザプロセスがスリープしている間は、該ユーザプロセスはメッセージを送出する事がない、即ちスリープしているユーザプロセスは通信帯域を使用しないので、該ユーザプロセスに割り当てられた通信帯域を他のユーザプロセスに横取りさせ、該通信帯域にて別のユーザプロセスが通信を行うことにすると、物理リンク上の通信帯域を有効利用でき、ユーザプロセス群の総実行時間を短縮できるという利点がある。
【0399】
以下、サイドイフェクトのない資源である通信帯域とサイドイフェクトのある資源であるファイルを統合して管理する手法について、より詳細に説明する。
【0400】
上述した本発明の第4のアプリケーションであるユーザプロセスのスケジューリング法の場合、各物理リンクP03iの通信帯域への各ユーザプロセスからの要求をスケジューリングするため、図31に示すように、各ユーザプロセスからの通信帯域への要求を物理リンク毎に一旦保持する通信帯域管理プロセスQ011〜Q019を設けている。通信帯域管理プロセスQ011は物理リンクP031上の通信帯域、通信帯域管理プロセスQ012は物理リンクP032上の通信帯域、以下同様に通信帯域管理プロセスQ019は物理リンクP039の通信帯域をそれぞれ管理している。各通信帯域管理プロセスQ01iは、各ユーザプロセスからの通信帯域要求をキューイングするためのプロセスキューQ03iを含んでいる。さらに、通信帯域に関しては横取りを許すため、各通信帯域管理プロセスQ01iは、あるユーザプロセスに割り当てられた通信帯域を別のプロセスに横取りさせた時に、横取りされたプロセスを保持しておく被横取りプロセスレジスタQ04iも含んでいる。
【0401】
一方、各ファイルP04iへの各ユーザプロセスからの要求をスケジューリングするため、各ユーザプロセスからの要求をファイル毎に一旦保持する、ファイル管理プロセスQ021〜Q025がさらに設けられている。ファイル管理プロセスQ021はファイル#1(P041)を、ファイル管理プロセスQ022はファイル#2(P042)を、以下同様にファイル管理プロセスQ025はファイル#5(P045)を、それぞれ管理している。各ファイル管理プロセスQ02iは、各ユーザプロセスからのファイル使用要求をキューイングするためのプロセスキューQ05iを含んでいる。ここで説明するスケジューリング法では、サイドイフェクトのあるファイルに関しては横取りを許さない事とする。この為、横取りに係るオーバーヘッドは小さくなるが、一方で、ファイルに関してデッドロックが発生することがある。これに関しては、例えばGeorge F. Coulouris とJean Dollimoreによる“分散システム コンセプトとデザイン”(監訳 水野忠則、電気書院)に開示されている、先行並列トランザクション等、共有ファイルシステムに対する並行性制御の為の良く知られたプロトコルを適用すればデッドロックの発生確率を低下させることができる。こういったプロトコルをファイルに関して適用するか否かは本発明の有効性に何等影響を与えない。
【0402】
ここでは、説明を簡単にするため、ファイルに関してはこのような並行性制御プロトコルが適用されていないものとして以降の説明を進める。勿論、ここで説明している通信帯域の横取りと、ファイルに関する並行性制御プロトコルを同時に実行すると、よりデッドロック発生確率は低下するが、この場合、横取りに係るオーバーヘッドが大きくなるというペナルティも生じる。
【0403】
これらの通信資源管理プロセスQ01iとファイル管理プロセスQ02iは、図32に示すようにプロセススケジューラR21と通信を行えるように構成される。プロセススケジューラR21は、各ユーザプロセスからの資源要求を勘案しながらユーザプロセス#i(R1i)の動作を制御する。各ユーザプロセス#iは、プロセススケジューラR21に向けてプロセッサ資源以外の資源への使用要求を出す。プロセススケジューラR21は、資源を管理するプロセス群Q01i,Q02iと通信を行い、それぞれの要求に資源を割り当てるか、否かを決定する。資源が割り当てられた時はユーザプロセス#iの実行は継続され、資源が割り当てられなかった時はその資源が割り当てられるまで、該ユーザプロセスはスリープさせられる。
【0404】
なお、それぞれのユーザプロセス#iは、通信帯域の確保されたATMコネクションを通じて通信する複数のサブプロセスR131、R132からなっているものとしても良い。この場合、これら複数のサブプロセスは、全て同時にスリープ/再起動されるものとする。また、これらの複数のサブプロセスがそれぞれ要求する資源は、同一のプロセスから要求されているものとしてプロセススケジューラR21が処理することとしてもよい。
【0405】
次に、図33を参照してプロセススケジューラR21が実行するプロセスキュー群を用いたCACデッドロックの検出法及び回避法の原理を示す。同図には、上述したCACデッドロックの発生する例、ファイル#1(P041)と物理リンクP036に関して競合する二つのプロセスA、Bの動作について、競合の発生する部分についてのみ示してある。
【0406】
ここで述べている例において、関係するプロセスキューは、物理リンクP036の帯域を管理するプロセスキューQ036と、ファイル#1を管理するプロセスキューQ051である。これらのプロセスキューには、対応する資源に対して要求を出したプロセスの識別子が保持される。これらのプロセスキューの先頭に保持された識別子に対応するプロセスに対応する資源が割り当てられ、それ以降の識別子に対応するプロセスがこの資源の割り当てを待っている。
【0407】
図33において、状態1と名付けられた破線に囲まれた箱(S01)の内部には、プロセスAに物理リンクP039の通信帯域が、またプロセスBにファイル#1がそれぞれ割り当てられ、さらにプロセスBがファイル#1の割り当てを待っている状態が示されている。プロセスBは、ファイル#1の割り当てがなされるまでスリープしている。
【0408】
この状態でプロセススケジューラR21がプロセスAに物理リンクP039の通信帯域の割り当てを行う場合、該プロセススケジューラR21はプロセスAの識別子をプロセスキューQ036にエンキューしようとし、状態2と名付けられ破線の箱(S02)中の状態に遷移する。
【0409】
プロセスAの識別子をプロセスキューQ036にエンキューするとき、プロセスキューQ036には既にプロセスBの識別子がエンキューされており(即ちプロセスBに既に物理リンクP039の帯域が割り当てられており)、プロセスAは物理リンクP039の帯域を待つ事になる。プロセススケジューラR21は、プロセスの識別子をプロセスキューにエンキューするとき、該エンキューする識別子に対応するプロセスに、該プロセスキューに対応する資源が直ちに割り当てられず待ちに入る場合、デッドロックを回避するため、以下のことを行う。
【0410】
まず、新たにエンキューされようとしている識別子に対応するプロセス(ここでの例ではプロセスA)に、既に割り当てられている資源(ここでの例ではファイル#1)をリストアップする(ステップ1)。次に、該割り当てられている資源を待っているプロセス(ここでの例ではファイル#1をプロセスBが待っている)をリストアップする(ステップ2)。ステップ2でリストアップしたプロセスが、現在待ちに入ろうとしている資源を確保しているか否かを確認する(ステップ3)。もし、ステップ2でリストアップしたプロセスが、現在待ちに入ろうとしている資源を既に確保しているならば(ここでの例ではプロセスBが既に物理リンクP039の通信帯域を確保している)、そのままその資源を待つとデッドロックとなり、そま資源割り当ては望ましくない。ここまででプロセススケジューラR21により、デッドロックが検出された事になる。
【0411】
デッドロックが検出されると、プロセススケジューラR21はデッドロックを回避するために、サイドイフェクトのない資源(ここでの例では物理リンクP039の通信帯域)を既に確保しているプロセスから横取りし(ステップ4)、該横取りした資源を新たに要求を起こしたプロセスに割り当てる(ステップ5)。ここでの例では物理リンクP039の通信帯域をプロセスBから横取りし、プロセスAに割り当てる。この状態を図33に示したプロセスキュー群で表現するため、プロセススケジューラR21は、物理リンクP039の通信帯域に対応するプロセスキューQ036からプロセスBの識別子をデキューし、被横取りプロセスレジスタQ046にプロセスBの識別子を保持させた後、プロセスAの識別子を該プロセスキューQ036にエンキューする。これにより、プロセスAの実行に必要な資源が全て割り当てられたことになり、プロセススケジューラR21によりプロセスAの実行が継続される。即ちCACデッドロックが解消された事になる。
【0412】
次に、プロセススケジューラR21が実行するプロセス実行制御の方法を、より複雑な例を用いて説明する。
【0413】
まず、図34を参照しながら、ここでプロセス実行制御を説明する為の例を説明する。ここで説明する例は、ユーザプロセス#1(T01),#2(T02),#3(T03)の三つのユーザプロセスを同時に実行する場合である。
【0414】
ユーザプロセス#1(T01)は、コネクションT013を用いてATM−LANを通じて互いに通信を行う、端末P021上で実行されるサブプロセスT011と端末P025上で実行されるサブプロセスT012とからなっている。サブプロセスT011はファイル#1(P041)を、サブプロセスT012はファイル#5(P045)を、それぞれ参照する。
【0415】
また、ユーザプロセス#2は、コネクションT023を用いてATM−LANを通じて互いに通信を行う、端末P021上で実行されるサブプロセスT021と端末P024上で実行されるサブプロセスT022とからなっている。サブプロセスT021はファイル#1(P041)を、サブプロセスT022はファイル#4(P044)を、それぞれ参照する。
【0416】
さらに、ユーザプロセス#3は、コネクションT033を用いてATM−LANを通じて互いに通信を行う、端末P022上で実行されるサブプロセスT031と端末P023上で実行されるサブプロセスT032とからなっている。サブプロセスT031はファイル#2(P042)を、サブプロセスT032はファイル#3(P043)を、それぞれ参照する。
【0417】
それぞれのユーザプロセスは、図35に示す順番でATM−LAN中の物理リンクの通信帯域を確保して自分に必要なコネクションを設定し、自分に必要なファイルを確保する。
【0418】
ユーザプロセス#1(T01)は、まずコネクションT013を設定すべく、コネクションT013の設定される物理リンクの帯域を順に要求し、次にふたつのファイルを要求する。具体的には、まず、コネクションT013を設定するため、物理リンクP036の帯域を管理している通信帯域管理プロセスQ016に対して要求を行い、次に物理リンクP033に対応する通信帯域管理プロセスQ013に対して要求を行い、次に物理リンクP031に対応する通信帯域管理プロセスQ011に対して要求を行い、次に物理リンクP032に対応する通信帯域管理プロセスQ013に対して要求を行い、次に物理リンクP035に対応する通信帯域管理プロセスQ015に対して要求を行う。その後、ファイル#1を使用するためファイル管理プロセスQ021に対して要求を行い、ファイル#5を使用するためにファイル管理プロセスQ025に対して要求を行う。
【0419】
また、ユーザプロセス#2(T02)は、まずふたつのファイルを要求し、次にコネクションT023を設定すべく、コネクションT023の設定される物理リンクの帯域を順に要求する。具体的には、まず、ファイル#1を使用するためファイル管理プロセスQ021に対して要求を行い、ファイル#4を使用するためにファイル管理プロセスQ024に対して要求を行う。その後、コネクションT023を設定するため、物理リンクP039の帯域を管理している通信帯域管理プロセスQ019に対して要求を行い、次に物理リンクP034に対応する通信帯域管理プロセスQ014に対して要求を行い、次に物理リンクP033に対応する通信帯域管理プロセスQ013に対して要求を行い、次に物理リンクP037に対応する通信帯域管理プロセスQ017に対して要求を行う。
【0420】
一方、ユーザプロセス#3(T03)は、まずファイル#2を要求し、次にコネクションT033を設定すべく、コネクションT033の設定される物理リンクの帯域を順に要求する。その後、ファイル#3を要求する。具体的には、まず、ファイル#2を使用するためファイル管理プロセスQ022に対して要求を行う。次に、コネクションT033を設定するため、物理リンクP037の帯域を管理している通信帯域管理プロセスQ017に対して要求を行い、次に物理リンクP033に対応する通信帯域管理プロセスQ013に対して要求を行い、次に物理リンクP034に対応する通信帯域管理プロセスQ014に対して要求を行い、次に物理リンクP038に対応する通信帯域管理プロセスQ018に対して要求を行う。最後に、ファイル#3を使用するためにファイル管理プロセスQ023に対して要求を行う。
【0421】
これらのユーザプロセスは、並列に実行されるため、それぞれのユーザプロセスが発効する資源に対する要求がプロセススケジューラR21によって扱われる実際の順番は、それぞれの端末の負荷等によって大きく変化するが、ここでは、説明の都合上、図30の各資源を管理するプロセスに対する要求の横に付けられた丸数字で示した順番でプロセススケジューラR21によって処理されるものとしている。
【0422】
以降、図36〜図40を参照しながら、プロセススケジューラR21がそれぞれの資源管理プロセスを参照しながら実行する資源管理とプロセス実行制御を順をおって説明する。なお、図36〜図40ではそれぞれの資源管理プロセスの持つプロセスキューと被横取りプロセスレジスタの状態を示し、さらに、それぞれのユーザプロセス毎にプロセススケジューラR21が準備する、各ユーザプロセスが待っている資源のリストU01,U02,U03の状態も示している。
【0423】
丸数字1から丸数字8までの資源要求は、他のプロセスがまだ確保していない資源に対する要求であり、それぞれ要求したプロセスに割り当てられる。図36では、それぞれの資源に対応するプロセスキューの先頭に、割り当てられたユーザプロセスの識別子が現れることで、この状態が表現されている。
【0424】
なお、物理リンクの帯域が割り当てられると同時に、各物理リンクで、設定しようとしているコネクションを識別するVPI/VCIも同時に割り当てられている。このVPI/VCI割り当ては、物理リンク毎に独立して行うことが可能であり、容易に実現する事ができる。例えば、各通信帯域管理プロセスが該プロセスの管理している物理リンク上に設定可能なVPI/VCIの値の範囲と、割り当て済みVPI/VCIのリストを保持し、VPI/VCIの値の設定が可能な範囲と、割り当て済みVPI/VCIのリストから、設定可能でまだ割り当てていないVPI/VCIを検索して割り当てる事にしても良い。このVPI/VCI割り当ての結果を、本発明者が特願平5−120351にて開示した、各ハブへのルーティングタグ設定プロトコルにて、必要なハブに通知しておく様にしてもよい。VPI/VCIが通知されたハブは、通知されたVPI/VCIを必要なルーティングタグテーブルに予め設定しておく。このとき同時に、次に帯域の確保される物理リンクのポート番号も指定する様にしておく。これにより、ハブ内部でのセルのルーティングに供されるルーティングタグを、ハブ自身が計算可能となる。計算されたルーティングタグが、通知されたVPI/VCIと共に、ルーティングタグテーブルに書き込まれる事になる。
【0425】
丸数字9の資源要求は、既に丸数字4でユーザプロセス#1が確保している物理リンクP033への資源要求である。この時、まだどの資源でも資源待ちが発生しておらず、資源割り当てに関するデッドロックは発生しないので、ユーザプロセス#3をスリープさせても問題ない。ユーザプロセス#3がスリープさせられると同時に、ユーザプロセス#3の待ちが物理リンクP033の通信帯域に関するプロセスキューQ033に登録され(図36)、またユーザプロセス#3が待っている資源のリストU03に、物理リンクP033の割り当てを管理している通信帯域管理プロセスのプロセス番号をエンキューする。この、通信帯域管理プロセスのプロセス番号を、プロセススケジューラR21は各資源の識別子として使用する。
【0426】
なお、物理リンクP033に対応するプロセスキューQ033にユーザプロセス#3の識別子をエンキューする前に、前述の、直ちに通信帯域が割り当てられる場合と同様、待ちに入る場合でも、物理リンクP033上でユーザプロセス#3が使用するVPI/VCIを予め決定しておき、この結果を、本発明者が特願平5−120351にて開示したルーティングタグ設定プロトコルにて、必要なハブに通知しておく様にしてもよい。通知されたハブは、予めユーザプロセス#3が使用するVPI/VCIをルーティングタグテーブルに設定しておく。この時、同時にルーティングタグをハブが計算して同時に設定しておくのも、直ちに帯域が割り当てられる場合と同様である。
【0427】
丸数字10から丸数字12までは、対応する資源を既に確保しているプロセスが無いため、ユーザプロセス#1(T01)、ユーザプロセス#2(T02)が要求した資源が割り当てられる。
【0428】
丸数字13では、ユーザプロセス#2が、物理リンクP033に対して要求を出す。物理リンクP033は既にユーザプロセス#1に割り当てられ、さらにユーザプロセス#3が待ちに入っている。ユーザプロセス#2が、物理リンクP033を待ってスリープしてもデッドロックが起きないか、上で述べた様にチェックが行われる。ここでは、物理リンクP033以外の資源ではまだ待ちが発生していないので、ユーザプロセス#2の待ちが物理リンクP033の通信帯域に関するプロセスキューQ033に登録され、ユーザプロセス#2がスリープさせられる(図36)。この時、ユーザプロセス#2が待っている資源のリストU02に、物理リンクP033の割り当てを管理している通信帯域管理プロセスのプロセス番号をエンキューする。
【0429】
ここまでで、スリープさせられていないユーザプロセスはユーザプロセス#1のみとなっている。ユーザプロセス#1は、次に丸数字14の要求、ファイル#1(P041)への要求をプロセススケジューラR21に出す。
【0430】
ファイル#1(P041)は、既に丸数字2の要求によってユーザプロセス#2に割り当てられている。ユーザプロセス#1の待ちをファイル#1(P041)に関するプロセスキューQ051に登録する前に、プロセススケジューラR21は、この待ちがデッドロックを生じないか、確認する(図36)。
【0431】
まず、プロセススケジューラR21は、ユーザプロセス#1が既に確保している資源を待っているユーザプロセスのリストを得ることを行う。この段階で、ユーザプロセス#1に割り当てられている資源は、以下の通りである。即ち、物理リンクP031の帯域(丸数字7の要求による)、物理リンクP032の帯域(丸数字10の要求による)、物理リンクP033の帯域(丸数字4の要求による)、物理リンクP035の帯域(丸数字12の要求による)である。これらの資源を待っているプロセスは、物理リンクP033の帯域を管理しているプロセスキューQ033に保持されているプロセスの識別子から知ることができ、それはユーザプロセス#3とユーザプロセス#2である。
【0432】
ユーザプロセス#1が既に確保している資源を待っているユーザプロセスのリストを得ることができたので、次に、プロセススケジューラR21は、そのユーザプロセスのリスト中に、ユーザプロセス#1が確保しようとしている資源、即ちファイル#2を既に確保しているユーザプロセスが無いか確認することで、デッドロック検出を行う。図36に示した状態で、ファイル#2を確保しているプロセスはユーザプロセス#2であり、先に作ったプロセスリスト中に存在するので、ファイル#2に対してユーザプロセス#1が待ちに入るとデッドロックが発生してしまう。
【0433】
デッドロックが検出されたので、次にプロセススケジューラR21は、既に割り当てのされている資源の横取りを行いデッドロックの回避を行う(図37)。ユーザプロセス#1が待ちに入ると、ユーザプロセス#1とユーザプロセス#2がデッドロックに入る事が、先に作ったプロセスリストとプロセスキューQ051の状態から分かる。この時、ユーザプロセス#1が資源獲得に失敗した資源はファイルというサイドイフェクトのある資源である一方、ユーザプロセス#2が待っている資源は通信帯域というサイドイフェクトの無い資源である。よって、資源の横取りのオーバーヘッドの小さいのは、ユーザプロセス#1をスリープさせる代わりにユーザプロセス#2を再起動することである。
【0434】
ユーザプロセス#2を再起動する時には物理リンクP033の通信帯域をユーザプロセス#1から横取りする。これを表現するため、物理リンクP033の被横取りプロセスレジスタQ043にユーザプロセス#1の識別子を登録し、またファイル#1(P041)の割り当てを管理するプロセスキューQ051にユーザプロセス#1の識別子を登録し、ユーザプロセス#1をスリープさせる。この時、ユーザプロセス#2が待っている資源のリストU02から、物理リンクP033の割り当てを管理している通信帯域管理プロセスのプロセス番号をデキューすると同時に、ユーザプロセス#1が待っている資源のリストU01に、物理リンクP033の割り当てを管理している通信帯域管理プロセスのプロセス番号と、ファイル#1(P041)の割り当てを管理しているファイル管理プロセスのプロセス番号をエンキューする(図37)。
【0435】
なお、ユーザプロセス#1に関して、物理リンクP033上の帯域は横取りされたが、VPI/VCIやルーティングタグは横取りされる必要がない、事に注意が必要である。即ち、ユーザプロセス#1が物理リンクP033上で使用するVPI/VCIと、ユーザプロセス#2が該物理リンクP033上で使用するVPI/VCIとは、異なるように選択され、それぞれ独立に必要なハブのルーティングタグテーブルのエントリに設定されている。ユーザプロセス#2に、ユーザプロセス#1の確保していた帯域を横取りさせたからと言って、ユーザプロセス#1の使用するVPI/VCIのルーティングタグテーブル上の設定を解放する必要はない。ユーザプロセス#1に再度帯域が割り当てられ、再起動させられた時、ルーティングタグテーブルの設定が残っているため、迅速に通信を再開可能である事に注意が必要である。
【0436】
再起動されたユーザプロセス#2は、次に丸数字15の、物理リンクP037への要求をプロセススケジューラR21に出す。物理リンクP037は、既に丸数字6の要求によってユーザプロセス#3に割り当てられているが、この時ユーザプロセス#3はスリープさせられているので、物理リンクP037の帯域を横取りし、ユーザプロセス#2に対して割り当てる(図38)。これでユーザプロセス#2の実行に必要な資源が全てユーザプロセス#2に割り当てられた事になり、これらの資源を解放するまでユーザプロセス#2は実行が継続される。各帯域のプロセスキューにプロセスの識別子をエンキューする時、それぞれの物理リンク上でのVPI/VCIやルーティングタグの設定を順次行ってゆくので、この時、ユーザプロセス#2が使用するコネクションT023を構成するVP/VCリンク設定に必要な、該コネクションT023の経路上のハブのルーティングタグテーブル設定は既に終了しており、ユーザプロセス#2のサブプロセス間で通信が可能となる事に注意が必要である。
【0437】
ユーザプロセス#2の実行が進み、該プロセスが確保していた資源を解放すると、その事を表現するため、資源を管理している各プロセスキューからユーザプロセス#2の識別子がデキューされる。具体的には、物理リンクP033へのユーザプロセスの割り当てを管理しているプロセスキューQ033、物理リンクP034に対応するプロセスキューQ034、物理リンクP037に対応するプロセスキューQ037、物理リンクP039に対応するプロセスキューQ039、ファイル#1(P041)に対応するプロセスキューQ051、およびファイル#4(P044)に対応するプロセスキューQ054からそれぞれユーザプロセス#2の識別子がデキューされる。その結果、ファイル#1(P041)に関するプロセスキューの先頭にユーザプロセス#1の識別子が現れ、ファイル#1(P041)がユーザプロセス#1に割り当てられる(図39)。
【0438】
さらに、物理リンクP033に関しては、被横取りプロセスレジスタQ043にユーザプロセス#1の識別子が書かれているので、これをプロセスキューQ033の先頭に挿入し、物理リンクP033の帯域が再度ユーザプロセス#1に割り当てられる。これらの資源の識別子がユーザプロセス#1が待っている資源のリストU01からデキューされ、該リストが空になるので、ユーザプロセス#1の実行が再開される。
【0439】
なお、あるユーザプロセスが解放した物理リンク上で使用されたVPI/VCIやルーティングタグに関するルーティングタグテーブル上の設定は、例えば本発明者が特願平5−120351にて開示した様な、ルーティングタグテーブル設定の解放プロトコルにて、コネクションT023が設定されていたハブ上も解放されることが望ましい。
【0440】
ユーザプロセス#1は、次に丸数字16の要求によりファイル#5(P045)を獲得する。これによってユーザプロセス#1の実行に必要な資源が全て割り当てられた事になり、これらの資源を解放するまでユーザプロセス#1は実行が継続される。
【0441】
一方、物理リンクP037の帯域に関しては、該物理リンクの被横取りプロセスレジスタQ047に保持されているユーザプロセス#3の識別子がプロセスキューQ037の先頭に挿入され、該物理リンクの帯域は再度ユーザプロセス#3に割り当てられる。割り当てられた物理リンクの識別子がユーザプロセス#3が待っている資源のリストU03から削除されるが、この時、まだ該リストが空にならないので、ユーザプロセス#3はまだスリープさせられたままである。
【0442】
ユーザプロセス#1の実行が進み、該プロセスが確保していた資源を解放すると、その事を表現するため、資源を管理している各プロセスキューからユーザプロセス#1の識別子がデキューされる。具体的には、物理リンクP031へのユーザプロセスの割り当てを管理しているプロセスキューQ031、物理リンクP032に対応するプロセスキューQ032、物理リンクP033に対応するプロセスキューQ033、物理リンクP035に対応するプロセスキューQ035、物理リンクP036に対応するプロセスキューQ036、ファイル#1(P041)に対応するプロセスキューQ051、ファイル#5(P045)に対応するプロセスキューQ055からそれぞれユーザプロセス#1の識別子がデキューされる。その結果、物理リンクP033に関するプロセスキューQ033の先頭にユーザプロセス#3の識別子が現れ、該物理リンクの帯域がユーザプロセス#3に割り当てられる。この資源の識別子がユーザプロセス#3の待っている資源のリストU03からデキューされ、該リストが空になるので、ユーザプロセス#3の実行が再開される(図40)。
【0443】
ユーザプロセス#3は、次に丸数字17の要求即ち物理リンクP034の帯域に対する要求、丸数字18の要求即ち物理リンクP038の帯域に対する要求、さらに丸数字19の要求、即ちファイル#3(P043)へのアクセス要求を順に出す。他に資源を要求するプロセスが既に存在しないので、これらの要求は全て満たされ、ユーザプロセス#3の実行に必要な資源が全てユーザプロセス#3に割り当てられ、ユーザプロセス#3の実行が継続される。
【0444】
ここまでで述べてきたように、資源に対する要求を出した時、該資源が別のプロセスによって確保されている場合は、要求を出したプロセスをスリープさせる事で、資源に対するアクセスの順番が制御されることになる。
【0445】
以上で、プロセススケジューラR21にて実行される資源管理とプロセス実行制御に関する説明を終わる。
【0446】
ここで、各資源を管理するプロセス、通信帯域管理プロセスQ01i、ファイル管理プロセスQ02iはプロセススケジューラR21から独立したプロセスとして説明したが、明らかに、プロセススケジューラR21がこれらのプロセスの持つプロセスキューと被横取りプロセスレジスタを内蔵する事としてもよい。独立したプロセスとすれば、特に物理リンクの増設等、網構成の変更に柔軟に対応できるという利点があるが、一方でプロセス間通信が増えるのでオーバーヘッドが増加する、という欠点も発生する。どのようなプロセス構成にするか、はプロセススケジューラR21に要求されるデッドロック検出/回避にかかる時間によって決定されるべき事項である。
【0447】
また、ここで述べた例では、横取りされる資源に、被横取りプロセスレジスタを設け、横取りが発生した時に該レジスタに横取りされたプロセスの識別子を保持する事としたが、これは、プロセスキューの先頭のプロセス識別子の次に、横取りしたプロセスの識別子を割り込ませるようにしても実現する事が可能であることは言うまでもない。
【0448】
さらに、ここで述べた例では、一つの物理リンクの帯域を全て一つのプロセスに割り当てるものとして説明を進めてきたが、もちろん、一つの物理リンクの帯域を分割して複数のプロセスに割り当てる事としてもよい。
【0449】
一つの物理リンクの帯域を分割して複数のプロセスに割り当てる事は、例えば、以下の様に実現することができる。通信帯域管理プロセスQ01iは、図41に示すような、プロセス識別子と要求帯域、さらに割り当てフラグを組にしたワードを保持できるプロセスキューV01と、該通信帯域管理プロセスQ01iが管理している物理リンクに、ユーザプロセスに割り当てられずに残っている残余帯域レジスタV02を含むように構成されても良い。図41に示したプロセスキューV01は、150Mbpsの帯域幅を持つ物理リンクを管理しているものとしている。図41には、プロセス#1からの30Mbpsの帯域の要求と、プロセス#2からの50Mbpsの帯域の要求と、プロセス#3からの20Mbpsの帯域の要求と、プロセス#4からの80Mbpsの帯域の要求とがプロセスキューV01によって管理される状況が示されている。
【0450】
状態1は、プロセス#1,#2,#3,#4がこの順番に物理リンクの帯域を要求した後の状態である。プロセス#1,#2,#3にはそれぞれ要求通りの帯域が割り当てられている。この事がこれらのプロセス識別子に対応した割り当てフラグが”1”である事で示されている。プロセス#1,#2,#3の要求している帯域は総計で100Mbpsであり、該プロセスキューに対応する物理リンク上に残っている帯域は50Mbpsである。残余帯域レジスタV02には、この残っている帯域50Mbpsが記録されている。プロセス#4は80Mbpsの帯域を要求しており、現在物理リンク上に残っている帯域を越えた帯域を要求しているため、帯域割り当ては行われていない。これがプロセス#4に対応する割り当てフラグが“0”であることで示されている。
【0451】
状態2は、状態1からプロセス#1が帯域を解放し、プロセス#4に帯域が割り当てられた状態を示している。
【0452】
状態1で、プロセス#1が該物理リンクに確保している30Mbpsの帯域を解放すると、プロセス#1に関する要求がプロセスキューV01からデキューされると同時に、残余帯域レジスタV02に解放された30Mbpsが加算される。その結果、残余帯域レジスタV02にプロセス#1が帯域を解放した結果物理リンク上に残っている80Mbpsが記録される事になる。プロセス#1が帯域を解放した結果として、プロセス#4が要求している帯域を物理リンク上にとることができるようになり、プロセス#4に帯域を割り当てる事ができる。
【0453】
プロセス#4に帯域が80Mbps割り当てられると、プロセス#4の識別子に対応する割り当てフラグが“1”になると同時に、残余帯域レジスタV02から割り当てられた帯域80Mbpsが引き去られる。この結果、残余帯域レジスタV02には”0Mbps”と記録されることになる。
【0454】
状態2で、デッドロックを回避するため、例えばプロセス#4に割り当てられた80Mbpsの帯域を横取りして他のプロセスに割り当てる事を行ってもかまわない。この場合、上で述べた、物理リンクの帯域全てをひとつのプロセスに割り当てる場合と同様、プロセス#4がスリープさせられるので、該80Mbpsの帯域をプロセス#4が使用することが無く、ハブで輻輳を発生することがないことは言うまでもない。また、横取りが起こった場合に、プロセス#4に割り当てられたVPI/VCIやルーティングタグの設定をハブにて解放する必要がない事も、上で述べた物理リンクの帯域全てを一つのプロセスに割り当てる場合と同様である。
【0455】
以上で、本発明の第4のアプリケーションである分散実行されるユーザプロセスのスケジューリング手法に関する説明を終わる。
【0456】
<本発明に基づく第4のアプリケーションにおけるユーザプロセスのスケジューリング法の実現方法について>
以上述べたユーザプロセスのスケジューリング手法は、例えばATM−LANの呼設定プロセス、特に本発明者が特願平5−120351で開示したコネクション設定プロセスで実行することも可能である。しかしながら、このようにATM通信システム中の一つのプロセスでユーザプロセスのスケジューリングを行うと、そのプロセスのスループットでATM通信システム上のマルチメディアアプリケーションのスループットが制限され、望ましくない。このスケジューリング手法は、各端末で分散して実行されるのが望ましいが、本発明によるとこれが実現可能である。
【0457】
次に、ここで述べた手法を本発明を用いて実現する手法について、詳細に説明する。
【0458】
図42に、上で述べたユーザプロセスのスケジューリング法を本発明によって実現する為の各端末のプロセス構成の一例を示す。それぞれの端末には、プロセススケジューラW02i、通信帯域管理プロセスW03i、資源割り当て通信プロセスW04i、および自資源管理プロセスW05iが設けられる。
【0459】
各端末のプロセススケジューラW02iは、それぞれの端末上のユーザプロセス#iの発効するそれぞれの資源の要求を受け取り、それぞれの資源を管理しているプロセスと通信して割り当てを行い、またユーザプロセスの実行制御を行う。自資源管理プロセスW05iは、それぞれの端末が持つ、即ちATM−LANを経由しなくてもアクセスが可能な、ファイルシステムやその他の資源を管理する。この為に、図31に示したファイル管理のためのプロセスキューと同等のプロセスキューを、自分が管理する資源毎に持っている。
【0460】
一方、通信帯域管理プロセスW03iはATM−LAN中の物理リンクの中の、予め定められた物理リンクの帯域管理を行うため、図31もしくは図41に示した通信帯域を管理するためのプロセスキューを自分が管理する物理リンク毎に持っている。資源割り当て通信プロセスW04iは、それぞれの端末が自分の上で実行しているユーザプロセスW01iが要求する資源で、自分が管理していない資源の他の端末に対する要求の送出、もしくは他の端末からの、自分が管理している資源への要求の受信をn:nの双方向ATMコネクションW06を使用して実行する。このプロセスが、n:nの双方向ATMコネクションW06上で割り当てられたMIDによるセル分割等のアダプテーション処理を行う。
【0461】
それぞれの端末上の通信帯域管理プロセスW03iは、ATM−LAN内部の割り当てられた物理リンクの帯域管理を行う。このため、通信帯域管理プロセスW03iに対して、立ち上げ時に物理リンクの割り当てを行う必要がある。まず、この立ち上げ時の物理リンクの割り当て法、及び各端末への通知法について説明する。
【0462】
ATM−LANに接続されている端末に電源が投入されると、各端末は、まず独立に自分の実行するプロセス群のスケジューリングを行うためにプロセススケジューラW02iを起動し、マルチプロセス環境を立ち上げる。プロセススケジューラW02iは、端末内でユーザプロセスW01i等の実行制御を行うと同時に、各プロセス間の通信を行うための機能も提供している。端末上でプロセスが通信を行う場合は、必ずプロセススケジューラW02iを経由してメッセージのやりとりが行われる。
【0463】
マルチプロセス環境が立ち上がると、次に、各端末は自分の保持するファイルシステム等の資源を管理する自資源管理プロセスW05iを立ち上げる。該自資源管理プロセスW05iは、それぞれの端末が持つ資源の割り当てを行うプロセスキューを含む。既に市場に存在しているワークステーションで実施されているように、各端末は自分が持つ資源のリストを電源投入後直ちに作成できる様構成されるので、この自分の持つ資源のリストを用いて必要なプロセスキュー群を生成することが可能である。その後、各端末は、他の端末と通信を行って資源の融通を行うため、資源割り当て通信プロセスW04iを立ち上げる。該資源割り当て通信プロセスW04iは、外界とn:nの双方向ATMコネクションW06を用いて他の端末と通信を行う。該n:nの双方向ATMコネクションW06を端末とハブの間の物理リンクで識別するためのVPI/VCI、即ち、該プロセスがセルを送出するときのVPI/VCI、及び該プロセスが受信するセルのVPI/VCIは、分散アプリケーション実行の制御用に予め定められているものとする。
【0464】
各端末でプロセススケジューラW02i、資源割り当て通信プロセスW04iおよび自資源管理プロセスW05iが立ち上がると、該ATM−LANの管理者は、ひとつの端末を選択して、該端末が立ち上げの種となるよう指示する。立ち上げの種となることが指示された端末は、まず、例えば、本発明者が特願平5−120351にて開示した手法等を用いて、網構成認識を行い、ATM−LANに含まれるハブ、端末、物理リンクを認識する。
【0465】
次に、立ち上げの種となる端末は、構成認識の結果を用いて、分散アプリケーションを実行する“場”を構成する端末をn:nの双方向ATMコネクションW06を設定する。この為、端末は例えば本発明者が特願平5−120351にて開示した手法等を用いて、必要なハブのルーティングタグテーブルを書き換え、n:nの双方向ATMコネクションW06を設定する。該コネクションを識別するためのVPI/VCIは、上で述べた、各端末がn:nの双方向ATMコネクションW06に情報を送出するか、もしくは各端末が該ATMコネクションW06から情報を受け取る為のVPI/VCIとする。
【0466】
n:nの双方向ATMコネクションW06が設定されると、それぞれの端末の資源割り当て通信プロセスW04i間でATMセルを用いた通信が可能になる。資源割り当て通信プロセスW04iは、この状態になったならば、第3のアプリケーションにて説明したMID=0の単一セルメッセージによるMID獲得手順を実行し、それぞれの端末がn:nの双方向ATMコネクションW06を用いた可変長メッセージによる通信を行うためのMIDを獲得する。ここで、立ち上げの種の端末は、MID=1を、それ以外の端末はMID=1を除くMIDを獲得するようにMID獲得プロトコルを実行する。MID=1は、立ち上げの種となった端末用に予め予約されているものとする。
【0467】
一方、立ち上げの種となった端末は、n:nの双方向ATMコネクションW06を設定すると、次に、網構成認識の結果を用いて、通信帯域管理プロセスW03iを実行することの出来る端末のリストを作成する。通信帯域管理プロセスW03iを実行できる端末であるか否かは、例えば、構成認識の結果得られる、端末のオペレーティングシステムのバージョン番号が予め定められた値を超えている等により判断されることになる。
【0468】
通信帯域管理プロセスW03iを実行する端末のリストを作成すると、次に、立ち上げの種となった端末は、網構成認識の結果を受けて、上で作成したリスト中の端末に、例えば、ほぼ同じ本数の物理リンクが割り当てられるようにといった、予め定められた方法で、ATM−LAN内の物理リンクを割り当てる。
【0469】
ここまでの処理が終わると、立ち上げの種となった端末は、自分の資源割り当て通信プロセスW04iを経由して、MID=1でセル化されるメッセージを用いて、先ほど作成したリストに含まれる端末に、順に、構成認識の結果得たATM−LANの構成情報と割り当てた物理リンクを通知する。メッセージのセル化を行うのは資源割り当て通信プロセスW04iである。このメッセージの宛先としては、本発明者が特願平5−120351にて開示したノード番号を用いる事としても良い。一方、それぞれの端末の資源割り当て通信プロセスW04iは、セルのMIDを手がかりにn:nの双方向ATMコネクションW06を経由して転送されるメッセージを組み立て、そのメッセージの宛先を参照して、自分宛のメッセージであれば取り込む。n:nの双方向ATMコネクションW06を経由して、ATM−LANの構成情報と割り当てられた物理リンクの通知を受けた端末は、該割り当てられた物理リンクの帯域管理を行う為のプロセスキュー等を作成した後、ATM−LANの構成情報及び該作成したプロセスキュー等を含む通信帯域管理プロセスW03iを立ち上げる。立ち上げの種となった端末でも、自分に割り当てた物理リンクの帯域管理を行う為のプロセスキュー等を作成した後、該プロセスキュー及びATM−LANの構成情報を含む通信帯域管理プロセスW03iを立ち上げる。
【0470】
以上の処理を行うことで、各端末にて通信帯域管理プロセスW03iが立ち上げられ、該通信帯域管理プロセスW03iに対する物理リンクの割り当てができたことになる。以降、各端末上のユーザプロセスW01iの実行の管理は、各端末のプロセススケジューラW02iが、該通信帯域管理プロセスW03iのプロセスキュー等を参照しながら、以下に述べるように協調して動作することで行われる。
【0471】
ユーザプロセスW01iは、ある端末との通信を行う場合の通信帯域を確保したい場合、本発明者が特願平5−120351にて開示したブロードキャストチャネル上の通信を用いた方法、もしくはn:nの双方向ATMコネクションW06を用いて例えばARPとして良く知られたプロトコルを実行して、通信したい相手のノード番号を得る。次に、ユーザプロセスW01iは、得たノード番号を用いて、通信帯域管理プロセスW03iに問い合わせを行う。通信帯域管理プロセスW03iは、自分が保持しているATM−LANの構成情報を参照し、通知されたノード番号の端末に至るまでの物理リンクのリストを作成し、該物理リンクのリストを問い合わせを行ったユーザプロセスW01iに返す。
【0472】
物理リンクのリストを受け取ると、ユーザプロセスW01iは、プロセススケジューラW02iを経由して、リスト中の物理リンクそれぞれに対して順に通信帯域獲得要求を出す。プロセススケジューラW02iは、この通信帯域獲得要求を受け取ると、まず、自端末内の通信帯域管理プロセスW03iに問い合わせを行い、自端末内で管理されている物理リンクに対する通信帯域獲得要求であるか否かを調べる。自端末内で管理されている物理リンクに対する通信帯域獲得要求であれば、自端末内の通信帯域管理プロセスW03i中の対応するプロセスキューを参照し、要求通りの帯域を割り当てられるか否か判断する。要求通りの帯域を割り当てられるならば、プロセススケジューラW02iは、対応するプロセスキューに該資源を要求したユーザプロセスの識別子をエンキューし、該要求を発効したユーザプロセスの実行を継続する。要求通りの帯域を割り当てられなかった場合は、以下に述べるデッドロック検出手順をプロセススケジューラW02iが実行する。
【0473】
一方、自端末で管理されていない物理リンクに対する通信帯域獲得要求で有れば、該通信帯域獲得要求をn:nのATMコネクションW06を経由して、自分以外の端末に対してブロードキャストする。それぞれの端末では、n:nのATMコネクションW06を経由してやってくる通信帯域獲得要求を監視しており、自分が管理している物理リンクに対する通信帯域獲得要求であればとりこみ、要求通りの帯域を割り当てられるか否か判断する。該資源を割り当てるのであれば、対応するプロセスキューに該資源を要求したプロセスの識別子をエンキューする。この判断結果は、該判断結果を含む応答メッセージにより、n:nの双方向ATMコネクションW06を経由して要求元の端末に通知される。要求元の端末のプロセススケジューラW02iは、帯域割り当てに成功した旨の応答メッセージを受け取ると、帯域を要求したユーザプロセスの実行を継続する。一方、帯域割り当てに失敗した旨の応答メッセージを受け取ると、以下に述べるデッドロック検出手順を実行する。なお、帯域割り当てに失敗した旨の応答メッセージ中には、該資源を割り当てられているプロセスの識別子が含まれているものとする。これは次に実行されるデッドロック検出に使用される。
【0474】
自端末もしくは他端末での帯域の確保に失敗した場合、失敗した帯域割り当て要求を発効したユーザプロセス(以降、資源未獲得プロセス)をスリープさせる前に、図33もしくは図36〜図40に示したデッドロック検出手順、及び必要なら資源の横取りを行う必要がある。これは、図42に示したプロセス構成では以下の様に行われる。
【0475】
ここで開示される方法は、資源未獲得プロセスの実行を制御しているプロセススケジューラW02iが主体となって、他のプロセススケジューラW02jに問い合わせや指示を行いながらデッドロック検出及び回避処理を行うものである。以降、デッドロック検出及び回避処理の主体となるプロセススケジューラW02iをマスタプロセススケジューラ、マスタプロセススケジューラが問い合わせや指示を行うプロセススケジューラW02jをスレーブプロセススケジューラと呼ぶ。マスタプロセススケジューラは唯一であるのに対し、スレーブプロセススケジューラはマスタプロセススケジューラ以外の、ATM−LANに含まれる全てのプロセススケジューラの事を意味する事に注意が必要である。また、どのプロセススケジューラもマスタスケジューラとなったり、スレーブプロセススケジューラとなったりする事に注意が必要である。
【0476】
マスタプロセススケジューラは、n:nの双方向ATMコネクションW06を経由して、各スレーブプロセススケジューラに、資源未獲得プロセスの識別子を通知する。資源未獲得プロセスの識別子を通知された各スレーブプロセススケジューラW02jは、自端末の通信帯域管理プロセスW03j、自資源管理プロセスW05jを参照し、該通知された識別子を持つユーザプロセスに既に割り当てられている資源のリスト(リストA)、及びそれらの資源毎の、それらの資源を待っているプロセスのリスト(リストB)を作成し、n:nの双方向ATMコネクションW06を経由して、マスタプロセススケジューラW02iにリストA,リストBを返す。
【0477】
各スレーブプロセススケジューラから、資源未獲得プロセスの獲得している資源のリストであるところのリストA、及びそれらの資源を待っているプロセスのリストであるところのリストBを受け取ると、マスタプロセススケジューラW02iは、自分が実行されている端末上の通信帯域管理プロセスW03i、自資源管理プロセスW05iが含んでいるプロセスキューを参照し、自端末が管理している資源で、資源未獲得プロセスの獲得している資源をリストAに追加し、さらに、自端末が管理している資源で、資源未獲得プロセスの獲得している資源を待っているプロセスの識別子をリストBに追加し、ATM−LAN内全ての資源に関するリストA,リストBを完成させる。
【0478】
次に、マスタプロセススケジューラW02iは、失敗した旨が通知された応答メッセージ中に含まれている、該ユーザプロセスが獲得に失敗した資源を割り当てられているプロセス(以降、拒絶理由プロセス)の識別子が、前記完成させたリストB中に含まれているか否か調べる。拒絶理由プロセスの識別子が、リストB中に含まれていなければデッドロックは発生しないので、資源未獲得プロセスをスリープさせる。これと同時に、獲得に失敗した資源が自端末で管理している資源であれば、マスタプロセススケジューラW02iは、該獲得に失敗した資源プロセスキューに、該資源未獲得プロセスの識別子をエンキューする。マスタプロセススケジューラW02iが実行されている端末以外の端末が管理している資源の場合は、プロセスキューへの該資源未獲得プロセスの識別子の登録を、n:nの双方向ATMコネクションW06を用いて、該獲得に失敗した資源を管理している端末上のスレーブプロセススケジューラに要求する。n:nの双方向ATMコネクションW06を通じて資源未獲得プロセスの識別子のプロセスキューへのエンキューを依頼されたスレーブプロセススケジューラは、依頼された動作を行った後、その動作の完了をn:nの双方向ATMコネクションW06を通じてマスタプロセススケジューラW02iに通知する。
【0479】
一方、前記拒否理由プロセスの識別子が、前記完成させたリストB中に含まれている場合はデッドロックが発生するので、資源の横取りを行ってデッドロックを回避する必要がある。この為に、マスタプロセススケジューラW02iは以下の処理を行う。
【0480】
まず、マスタプロセススケジューラW02iは、前記完成させたリストAを参照して、拒絶理由プロセスが待っている資源で、資源未獲得プロセスが既に獲得している資源の種別を知る。さらに、拒絶理由プロセスが既に獲得していた結果、資源未獲得プロセスが獲得に失敗した資源の種別も知る。
【0481】
拒絶理由プロセスが獲得している資源を横取りして資源未獲得プロセスに割り当てるか、資源未獲得プロセスが獲得している資源を横取りして拒絶理由プロセスが獲得している資源を横取りするかは、これらの資源の種別による。
【0482】
拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源の両方共、サイドイフェクトの無い資源であれば(図32に示した丸数字15の様な場合)、拒絶理由プロセスは、既に資源未獲得プロセスの獲得している資源を待ってスリープ状態となっているので、先に資源未獲得プロセスを実行すべく、拒絶理由プロセスが獲得している資源を横取りして資源未獲得プロセスに割り当てる。
【0483】
また、拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源のどちらかが、サイドイフェクトのある資源であれば(図32に示した丸数字14の様な場合)、サイドイフェクトの無い資源を横取りするのが、横取りに関わるオーバーヘッドを削減する観点から望ましい。
【0484】
一方、拒絶理由プロセスが獲得している、資源未獲得プロセスが獲得しようとしている資源と、資源未獲得プロセスの要求している、拒絶理由プロセスが獲得しようとしている資源の両方が、サイドイフェクトのある資源であれば、分散アプリケーション自身がデッドロックする性質を持っているものと見なし、デッドロック発生とATM−LANの管理者に警告を発生するようにしてもよい。デッドロック発生が通知されると、ATM−LANの管理者は、デッドロックを発生しているプロセスを、コマンド投入によりKILLする等してデッドロックを解消する事ができる。
【0485】
横取りする資源と、横取りされるプロセス、及び横取りした資源を新たに割り当てるプロセスを決定すると、マスタプロセススケジューラは、横取りする資源の識別子、横取りされるプロセスの識別子、横取りした資源を割り当てるプロセスの識別子を含む、資源横取りメッセージを作成し、n:nのATMコネクションW06を経由して全てのスレーブプロセススケジューラに該資源横取りメッセージを送付する。
【0486】
資源横取りメッセージを受け取ったスレーブプロセススケジューラは、該メッセージの内容に従い、自分が実行されている端末が管理している資源のプロセスキューを更新し、また、その結果、自分が実行管理しているプロセスを再起動するなら該プロセスを再起動する。同様の動作を、資源横取りメッセージを送出したマスタプロセススケジューラも実行する。
【0487】
以上の動作により、上で述べたデッドロック回避を図42に示した分散環境で実行できることになる。ここで、上の動作では、各プロセスの識別子やファイルの識別子を互いの端末間でやりとりすることになる事に注意が必要である。このため、これらの識別子はATM−LAN全体で一意とする必要があるが、この条件は、それぞれの端末で独立に付加されるプロセス番号やファイル番号に、本発明者が特願平5−120351で開示したATM−LANに特有のノード番号を付加したものをプロセス番号やノード番号としてn:nの双方向ATMコネクションW06上で転送する事にすれば満足できる。
【0488】
以上の動作を、使用したい資源を持つ端末までの経路上の全ての物理リンクにて行い、全ての物理リンクで通信帯域が獲得されたならば、ユーザプロセスが設定しようとしたコネクションがATM−LAN上に設定された事になる。
【0489】
なお、ファイルや通信帯域以外の資源に対する要求も、上で述べた通信帯域に対する要求と同様の枠組みで処理可能であることは当業者には明らかである。
【0490】
ところで、上述のデッドロック検出から回避までを行う手順の実行時に、各スレーブプロセススケジューラが、他のユーザプロセスに対して資源を割り当てたり、他のユーザプロセスを資源待ちの状態にしたりすると、デッドロックの検出の為に作成したリストA,リストBの内容と、回避実行中の資源割り当て状況の間の一貫性が損なわれてしまい、正しくデッドロック検出ができなくなる恐れがある。これを回避するためには、資源未獲得プロセスの識別子がブロードキャストされてから、該資源未獲得プロセスのプロセスキューへのエンキュー指令もしくは他のプロセスへの資源横取り指令がブロードキャストされるまでの間、それぞれのプロセススケジューラは、ユーザプロセスへの資源の割り当てを一旦停止すれば良い。この一旦停止は、資源を要求したユーザプロセスに対してプロセッサを割り当てない事で容易に実現可能である。
【0491】
次に、網構成が変更になった場合の動作について説明する。ATM−LANの場合、物理リンクや端末の増減設が比較的頻繁に発生する。この為、網構成が変更されたことに、ここで述べている管理の枠組みが自動的に追従可能である事が望ましい。
【0492】
上で述べた、MID=1にてn:nの双方向ATMコネクションW06にメッセージを送出する、ATM−LANの立ち上げの種となった端末の通信帯域管理プロセスW03iは、予め定められた一定周期で、本発明者が特願平5−120351にて開示した手法にてATM−LAN全体の構成認識を行い、自分が確保している構成情報の更新を行っている。
【0493】
もし、新しい物理リンクが設置されたならば、該通信帯域管理プロセスW03iは、新しい物理リンクの管理を行う通信帯域管理プロセスW03jを決定し、該通信帯域管理プロセスW03jに向かってn:nの双方向ATMコネクションW06を経由して、管理する物理リンクの追加を要求する。管理する物理リンクの追加を要求された通信帯域管理プロセスW03jは、追加分のプロセスキューを作成して通信帯域管理の準備を行い、準備が終了したならそのことをn:nの双方向ATMコネクションW06を用いて要求元に通知する。
【0494】
一方、MID=1の端末の通信帯域管理プロセスW03iは、物理リンクが削除されたならば、該物理リンクの帯域を管理している通信帯域管理プロセスW03jに対して削除要求をコネクションW06を通じて転送する。物理リンクの削除が要求されると、通信帯域管理プロセスW03jは、該物理リンクに対応するプロセスキューを自分から削除し、削除が完了したならばその事を要求元に通知する。
【0495】
接続状態が変更されたならば、MID=1の端末の通信帯域管理プロセスW03iは、新しい構成情報を含むメッセージを作成し、その他の通信帯域管理プロセスW03jに対して、コネクションW06を通じて該メッセージを送出する。接続状態が変更された事を通知するメッセージを受け取ると、各通信帯域管理プロセスW03jは、自分が確保している構成情報を更新する。
【0496】
以上の動作を行うため、MID=1の端末上の通信帯域管理プロセスは、ATM−LANの構成情報と、自分が管理している物理リンクのプロセスキュー等の管理用情報の他に、どの通信帯域管理プロセスがどの物理リンクを管理しているかの情報も持つ。
【0497】
<プロセスマイグレーションについて>
次に、図42に示すプロセス構成でプロセスマイグレーションを行う場合について説明する。ここでは、例えばある端末を保守の為に一旦停止する時にもコネクション設定を可能とする事を目的とした、通信帯域プロセスのマイグレーションを行う方法を開示する。
【0498】
今まで述べてきた通信帯域管理プロセスによる物理リンク割り当てを実行するためには、該通信帯域管理プロセスがそれぞれの物理リンクを認識する必要がある。このためには、それぞれの物理リンクに識別子を割り当てる必要があるが、これについては、本発明者によって特願平5−120351にて開示されているノード番号と、それぞれのハブ毎に割り当てられるポート番号を組にして、これを物理リンクの識別子とすることにすれば、ノード番号がグローバルユニークに定義されている事から、この物理リンクの識別子もグローバルユニークとなる。即ち、ある物理リンクの管理をどの端末上で行うことにしても、同じ物理リンクの識別子を使用する事が可能になる。この事より、小さなオーバーヘッドで物理リンクの帯域管理を行う通信帯域管理プロセスW03iのマイグレーションを実現する事ができる。
【0499】
通信帯域管理プロセスW03iが実行されている端末を落とす時に、物理リンクの割り当てを引き続き行う為に、通信帯域管理プロセスW03iのマイグレーションを行う場合は、例えば、以下の様に処理が進行する。まず、ATM−LANの保守者からマイグレーションの指示を受けると、通信帯域管理プロセスW03iは、自分を新たに実行する端末を検索する。この検索は、例えば双方向のATMコネクションW06上で、最も負荷の軽い端末を探す等により行われる。
【0500】
次に、通信帯域管理プロセスW03iは、自分を新たに実行する端末に対して、マイグレート先の端末を指定して、該端末に自分を転送するよう、プロセススケジューラW02iに要求する。プロセススケジューラW02iは、自分が実行管理をしている通信帯域管理プロセスW03iからマイグレーションの要求を受け取ると、該通信帯域管理プロセスW03iをスリープさせ、指定された端末のプロセススケジューラW02jに対して、例えば、n:nの双方向ATMコネクションW06を経由し、該通信帯域管理プロセスW03iを転送する。
【0501】
通信帯域管理プロセスW03iの送付を受けると、プロセススケジューラW02jは、該受け取った通信帯域プロセスW03iを自分が実行管理するプロセスとして再起動する。
【0502】
マイグレートを受けた通信帯域管理プロセスW03iは、新しい端末上で再実行されると、再度ユーザプロセスW01i等からの資源割り当て要求に対応する事が可能になる。これは、各通信帯域管理プロセスW03iが、グローバルユニークな、言い換えると、ATM−LAN上の全ての端末上で有為である識別子にて物理リンクを識別し、また、ユーザプロセスの識別も行っていることから可能になる。
【0503】
ところで、上で述べた様に、立ち上げの種となった端末上で起動された通信帯域管理プロセスは、以降の構成変更に備え、どの通信帯域管理プロセスに対してどの物理リンクを割り当てたかに関する情報を保持している。この為、それぞれの通信帯域管理プロセスを識別する必要がある。本発明に従い、マイグレートされるプロセスの識別をMIDにて行い、マイグレート時に該MIDを引き継ぐ事にすると、この通信帯域プロセスと物理リンクの対応に関する情報を書き換える事無くマイグレーションを実行する事ができ、マイグレーションに係るオーバーヘッドを削減できる。この為、各通信帯域管理プロセスW03iにMIDを割り当てる事にする。このようにすることで、上で述べた、構成変更による各通信帯域管理プロセスでの構成情報の変更も、特に何も通信帯域管理プロセスの保持している情報を書き換えることなく、マイグレーション後も実行可能になる。
【0504】
一方、プロセススケジューラW02iは、通信帯域管理プロセスW03iの要求を受けて該通信帯域管理プロセスW03iのマイグレーションを実行する。この時、n:nの双方向ATMコネクション上で該通信帯域管理プロセスW03iのコード及び該プロセスが保持していた環境(プロセスキュー等)を転送する必要がある。この転送のためのメッセージのセル化に使用するMIDとして、該転送している通信帯域管理プロセスW03iが元々使用していたMIDを使用する事にしても良いが、この場合、通信帯域管理プロセスW03iがマイグレートされてしまうと、それ以降プロセススケジューラがn:nの双方向ATMコネクションにメッセージを送出するときのMIDが無くなってしまうという問題点がある。これを解決するため、プロセススケジューラにもMIDを与える事とする。即ち、通信帯域管理プロセスのマイグレートを実行するためには、通信帯域管理プロセスの実行されている端末には、n:nの双方向ATMコネクション上にメッセージを送出するためのMIDを2種類割り当てることが望ましい。これは、第3のアプリケーションの説明の時に述べた、MID割り当てプロトコルにおいて、一つの端末が二つのMIDを獲得する様に動作する、即ち、自分が使用しようとしているMIDを他の端末に通知するメッセージを二つ送出することで容易に実行可能である。獲得したMIDの一方は通信帯域管理プロセスの識別に、もう一方はプロセススケジューラの識別に使用されることになる。
【0505】
このように、通信帯域管理プロセスの識別をノード番号ではなくMIDで行うことにすると、ある端末上で実行されている通信帯域管理プロセスを、該端末が保守等の為に一旦停止させられる時等に、別の端末に簡単にマイグレートできるのが、本発明を適用した第4のアプリケーションの利点である。なお、プロセススケジューラW02i、自資源管理プロセスW05iは、それぞれの端末特有のプロセスであり、ある端末が停止した場合、これらのプロセスも停止させて構わない。即ち、これらのプロセスはマイグレート対象とはならない。マイグレート対象とならないプロセスに割り当てられたMIDは、該プロセスを識別する識別子であると同時に、該プロセスが実行される端末の識別子として使用することも可能である。
【0506】
ところで、ユーザプロセスのマイグレーションを行う場合は、マイグレーション時のオーバーヘッド削減の為、プロセスキュー上のプロセス識別子をグローバルユニークとする必要があることは自明である。前述の「プロセスが実行されている端末のノード番号と該端末上でのプロセス番号の組」というプロセスの識別子は一つのグローバルユニークな識別子であり、マイグレート時にも書き換えずに引き継ぐ事が可能である。この場合、ノード番号が、“プロセスが実行されている端末”ではなく、“プロセスが起動された端末”のノード番号であると考える必要がある。ここで、各端末で発行されるプロセス番号を再利用するため、マイグレートされた後のプロセスの実行が終了したとき、前記“プロセスが起動された端末”を意味しているノード番号を使用して、終了したプロセスのプロセス番号を該ノード番号を持つ端末に通知するのが望ましい。
【0507】
また、このようにマイグレートされるユーザプロセス間の通信もまた、ここで述べてきた原理に従って実現できることも自明である。この場合、n:nのATMコネクションW06の他にも、本発明の原理に従ったATMコネクション群が設定されることになるのは言うまでもない。
【0508】
以上で、本発明を適用する第4のアプリケーションである、分散実行されるユーザプロセスのスケジューリング手法及び、該スケジューリング手法の本発明を用いた実現手法についての説明を終わる。
【0509】
なお、本発明を実施するためにATMレイヤにて設定されたn:nの双方向ATMレイヤコネクションや、m:nの単方向ATMレイヤコネクションは、1:1の通常のATMコネクションによるメッシュ構造、もしくは、江崎、津田、夏堀らにより、電子情報通信学会技術報告、交換システム(SSE)92−188、“ATM−LANにおけるデータ転送実現法”にて開示されている様な、複数のm:1の単方向ATMレイヤコネクション、等によって模擬できる事は言うまでもない。しかしながら、これらの手法を本発明に適用した場合、それぞれの端末が送信相手の端末に接続されるコネクションのVPI/VCIを認識してセルを送出する必要が生じ、プロセスマイグレーションの結果、プロセスを実行する端末が変化した場合にそのことをメッセージを送出するプロセスが認識する必要があり、好ましくない。
【0510】
【発明の効果】
以上説明したように、本発明によればn:nの双方向ATMコネクション、もしくはm:nの単方向ATMコネクションとn:mの単方向ATMコネクションを経由して、マイグレーション対象のプロセス間通信、あるいはハンドオーバ処理を行うこととし、またプロセス間通信の為のメッセージをセル化する際のMIDのようなプロセス識別子をそれぞれのプロセスに割り当てるか、もしくはハンドオーバ処理対象の移動端末にVPI/VCIのようなコネクション識別子を割り当てることとしたので、割り当てられたプロセス識別子やコネクション識別子をマイグレート後あるいはハンドオーバ処理後も使用して通信を継続でき、マイグレート時やハンドオーバ処理時のオーバーヘッドを削減することができる。この結果、Q.2931終端部を経由しない、またマイグレート時にユーザプロセスに対して行う操作あるいはハンドオーバ処理時に必要な操作が最小で済む。このことから、安価な構成で迅速なプロセスマイグレーションや移動通信でのハンドオーバ処理を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施例1に係るATM通信システムの構成図
【図2】同実施例におけるプロセスマイグレーションの概略的な手順を示すフローチャート
【図3】同実施例におけるn:nの双方向ATMコネクションの合流側の設定法を説明するための図
【図4】同実施例におけるn:nの双方向ATMコネクションのコピー側の第1の設定法を説明するための図
【図5】同実施例におけるn:nの双方向ATMコネクションのコピー側の第2の設定法を説明するための図
【図6】同実施例におけるn:nの双方向ATMコネクションのコピー側の第3の設定法を説明するための図
【図7】n:nの双方向ATMコネクションの略記法を示す図
【図8】本発明の実施例2に係るATM通信システムの概略構成図
【図9】同実施例におけるm:nの単方向ATMコネクションの略記法を示す図
【図10】本発明の実施例3に係る本発明の第1のアプリケーションが実行されるシステムの構成を示す図
【図11】第1のアプリケーションを実行するために設定されるATMコネクションを示す図
【図12】パッシブスター光分配器上の1:mの単方向ATMコネクションを示す図
【図13】第1のアプリケーションで実行される計算サービスの一例を説明するための図
【図14】第1のアプリケーションの実行手順を説明するためのフローチャートの一部を示す図
【図15】第1のアプリケーションの実行手順を説明するためのフローチャートの他の一部を示す図
【図16】第1のアプリケーションが実行されるシステムにおけるもう一つの上りリンク上での送出端末制御の手法を実現する機能構成を示す図
【図17】図15中のTATカウンタの具体的な構成図
【図18】本発明の実施例4に係る本発明の第2のアプリケーションが実行されるシステムの構成を示す図
【図19】同実施例における無線ゾーンおよび無線クラスタの物理的配備の一例を示す図
【図20】第2のアプリケーションを実行するために設定されるATMコネクションを示す図
【図21】同実施例におけるハンドオーバ処理の概略的な手順を示すフローチャート
【図22】同実施例における移動端末制御部の構成を示す図
【図23】同実施例における移動制御コネクションの設定法を示す図
【図24】同実施例における移動端末と通信網の間でやりとりされるメッセージシーケンスを示す図
【図25】同実施例におけるMID操作メッセージのフォーマットを示す図
【図26】本発明の実施例5に係る本発明の第3のアプリケーションの実行されるシステム構成を説明するための図
【図27】同実施例における上位のATM通信網を経由した第1のCLSFプロセス接続法を示す図
【図28】同実施例における上位のATM通信網を経由した第2のCLSFプロセス接続法を示す図
【図29】同実施例における独立に管理されていたCLSFプロセス群が連結される様子を示す図
【図30】本発明の実施例6に係る本発明の第4のアプリケーションの実行されるシステム構成を示す図
【図31】同実施例における物理資源と資源管理プロセスの対応を説明するための図
【図32】同実施例における資源管理用プロセスとユーザプロセスとプロセススケジューラの対応を示す図
【図33】第4のアプリケーションにおけるCACデッドロック検出の原理を示す図
【図34】第4のアプリケーションのより詳細な動作を説明するためのプロセス群を説明する図
【図35】第4のアプリケーションのより詳細な動作を説明するためのプロセス群の各プロセスの資源要求を説明する図
【図36】第4のアプリケーションによりプロセススケジューリングを説明するための第1の図
【図37】第4のアプリケーションによりプロセススケジューリングを説明するための第2の図
【図38】本発明の第4のアプリケーションによりプロセススケジューリングを説明するための第3の図
【図39】第4のアプリケーションによりプロセススケジューリングを説明するための第4の図
【図40】第4のアプリケーションによりプロセススケジューリングを説明するための第5の図
【図41】同実施例における一つの物理リンクの帯域を複数のプロセスに割り当てる場合のプロセスキューの構成を示す図
【図42】第4のアプリケーションに本発明を適用する場合のプロセス構成を示す図
【図43】従来技術によるATM通信システムの構成を示す図
【図44】従来技術によるATM通信システムにおけるプロセスマイグレーションを説明するための図
【図45】従来技術によるATM通信システムにおけるプロセスマイグレーションの実行手順を示す図
【符号の説明】
1011〜1014…端末
1021〜1023…ATM交換機
103…n:nの双方向ATMコネクション
104…コネクション設定部
105…プロセスID割り当て部
1061〜1064…プロセス
1071〜1074…セル化部
1081〜1084…メッセージ組立部
E011,E012…ATM交換機
E0311〜E031m,E0321〜E0322…無線ゾーン作成部(移動端末収容装置)
E041…移動端末
E051…移動端末制御部(コネクション設定およびコネクション識別子割り当て要求手段)
G01〜G02,G05〜G08…1:1の単方向ATMコネクション
G03〜G04…n:mの単方向ATMコネクション
G09,G0A…m:mの単方向ATMコネクション
Claims (6)
- 複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子を同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を制御して設定するコネクション設定手段と、
前記n個の端末で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てるプロセス識別子割り当て手段と、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該n個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするATM通信システム。 - 複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子であるセルヘッダのVPIおよびVCIを同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を制御して設定するコネクション設定手段と、
前記n個の端末上で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子としてAAL3/4の多重識別子を割り当てるプロセス識別子割り当て手段と、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該n個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするATM通信システム。 - 複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおいて、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子であるセルヘッダのVPIを同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を制御して設定するコネクション設定手段と、
前記n個の端末上で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子としてセルヘッダのVCIを割り当てるプロセス識別子割り当て手段と、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに前記プロセス識別子割り当て手段により割り当てられた前記プロセス識別子を保持したまま該n個の端末のうちの他の端末へマイグレートするマイグレート手段とを備えたことを特徴とするATM通信システム。 - 前記プロセスは、該プロセスが実行されている端末の識別子と該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを予め定められた時間間隔で前記双方向ATMコネクションに送出し、該プロセスに割り当てられたプロセス識別子を含む単一セルからなるメッセージを受け取ると該メッセージの内容を保持し、前記双方向ATMコネクションに接続されたプロセスに割り当てられたプロセス識別子の表を作成して保持することを特徴とする請求項1乃至3のいずれか1項記載のATM通信システム。
- 前記プロセスのうち資源を管理するプロセス群はそれぞれの資源を識別するためにグローバルユニークな資源識別子を有し、前記ATM通信システムの立ち上げ時に、前記プロセス群にそれぞれのプロセスが管理すべき資源を割り当てるマスタ資源プロセスが、前記プロセス識別子により前記立ち上げ時に割り当てた資源を管理しているプロセスを識別することを特徴とする請求項1乃至3のいずれか1項記載のATM通信システム。
- 複数の端末を複数のATM交換機を介して接続してなるATM通信システムにおけるプロセスマイグレーション方法において、
前記複数の端末のうちのn個の端末を端点とし、かつ該n個の端点を識別するためのコネクション識別子を同一とするn:nの双方向ATMコネクションを前記複数のATM交換機を経由して設定し、
前記n個の端末で実行される、前記双方向ATMコネクションにメッセージを送出する複数のプロセスのそれぞれに対して、該プロセスを識別するためのプロセス識別子を割り当てた後、
前記n個の端末のうちの任意の端末で実行される前記プロセスを該プロセスに割り当てられた前記プロセス識別子を保持したまま前記n個の端末のうちの他の端末へマイグレートすることを特徴とするATM通信システムにおけるプロセスマイグレーション方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07936395A JP3612105B2 (ja) | 1995-03-13 | 1995-03-13 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
US08/615,074 US5872786A (en) | 1995-03-13 | 1996-03-12 | ATM communication system, process migration method in the ATM communication system, and handover processing method |
US09/198,454 US6553014B1 (en) | 1995-03-13 | 1998-11-24 | ATM communication system, process migration method in the ATM communication system, and handover processing method |
US10/253,413 US7272143B2 (en) | 1995-03-13 | 2002-09-25 | ATM communication system, process migration method in the ATM communication system, and handover processing method |
US10/253,530 US6925084B2 (en) | 1995-03-13 | 2002-09-25 | ATM communication system, process migration method in the ATM communication system, and handover processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07936395A JP3612105B2 (ja) | 1995-03-13 | 1995-03-13 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004236679A Division JP3772180B2 (ja) | 2004-08-16 | 2004-08-16 | Atm通信システム及びatm通信システムにおける帯域割り当て方法 |
JP2004236678A Division JP2005033816A (ja) | 2004-08-16 | 2004-08-16 | 通信システム及び通信システムにおけるハンドオーバ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08251199A JPH08251199A (ja) | 1996-09-27 |
JP3612105B2 true JP3612105B2 (ja) | 2005-01-19 |
Family
ID=13687807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07936395A Expired - Fee Related JP3612105B2 (ja) | 1995-03-13 | 1995-03-13 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (4) | US5872786A (ja) |
JP (1) | JP3612105B2 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3612105B2 (ja) * | 1995-03-13 | 2005-01-19 | 株式会社東芝 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
DE19715799C2 (de) * | 1997-04-16 | 1999-04-08 | Philips Patentverwaltung | Lokales Netzwerk mit Umsetzmitteln |
US6151332A (en) | 1997-06-20 | 2000-11-21 | Tantivy Communications, Inc. | Protocol conversion and bandwidth reduction technique providing multiple nB+D ISDN basic rate interface links over a wireless code division multiple access communication system |
US6081536A (en) * | 1997-06-20 | 2000-06-27 | Tantivy Communications, Inc. | Dynamic bandwidth allocation to transmit a wireless protocol across a code division multiple access (CDMA) radio link |
US6542481B2 (en) | 1998-06-01 | 2003-04-01 | Tantivy Communications, Inc. | Dynamic bandwidth allocation for multiple access communication using session queues |
US6233248B1 (en) * | 1997-10-14 | 2001-05-15 | Itt Manufacturing Enterprises, Inc. | User data protocol for internet data communications |
EP0923265A1 (en) * | 1997-12-08 | 1999-06-16 | Alcatel | Signalling between ATM and local area networks |
US20040160910A1 (en) * | 1997-12-17 | 2004-08-19 | Tantivy Communications, Inc. | Dynamic bandwidth allocation to transmit a wireless protocol across a code division multiple access (CDMA) radio link |
US7079523B2 (en) * | 2000-02-07 | 2006-07-18 | Ipr Licensing, Inc. | Maintenance link using active/standby request channels |
US7496072B2 (en) * | 1997-12-17 | 2009-02-24 | Interdigital Technology Corporation | System and method for controlling signal strength over a reverse link of a CDMA wireless communication system |
US9525923B2 (en) | 1997-12-17 | 2016-12-20 | Intel Corporation | Multi-detection of heartbeat to reduce error probability |
US6222832B1 (en) * | 1998-06-01 | 2001-04-24 | Tantivy Communications, Inc. | Fast Acquisition of traffic channels for a highly variable data rate reverse link of a CDMA wireless communication system |
US7936728B2 (en) * | 1997-12-17 | 2011-05-03 | Tantivy Communications, Inc. | System and method for maintaining timing of synchronization messages over a reverse link of a CDMA wireless communication system |
US7394791B2 (en) * | 1997-12-17 | 2008-07-01 | Interdigital Technology Corporation | Multi-detection of heartbeat to reduce error probability |
US8134980B2 (en) * | 1998-06-01 | 2012-03-13 | Ipr Licensing, Inc. | Transmittal of heartbeat signal at a lower level than heartbeat request |
US7773566B2 (en) * | 1998-06-01 | 2010-08-10 | Tantivy Communications, Inc. | System and method for maintaining timing of synchronization messages over a reverse link of a CDMA wireless communication system |
GB9815422D0 (en) * | 1998-07-16 | 1998-09-16 | Northern Telecom Ltd | Integrated signalling for ATM-like networks |
US6493342B1 (en) * | 1998-09-11 | 2002-12-10 | Teledesic Llc | Method of data transmission in a data communication network |
JP3221414B2 (ja) * | 1998-10-19 | 2001-10-22 | 日本電気株式会社 | ワイヤレス非同期通信モード通信システム及び同報通信制御方法 |
US6850965B2 (en) * | 1998-11-17 | 2005-02-01 | Arthur Douglas Allen | Method for connection acceptance and rapid determination of optimal multi-media content delivery over network |
JP3202720B2 (ja) * | 1999-02-25 | 2001-08-27 | 日本電気株式会社 | 複数ユーザ・デバイスへのvpi値割付方法およびネットワークシステム |
US6526034B1 (en) | 1999-09-21 | 2003-02-25 | Tantivy Communications, Inc. | Dual mode subscriber unit for short range, high rate and long range, lower rate data communications |
US7065080B1 (en) * | 1999-10-21 | 2006-06-20 | International Business Machines Corporation | System and method for enabling remote surveillance of ATM network switching node ports |
AU3673001A (en) | 2000-02-07 | 2001-08-14 | Tantivy Communications, Inc. | Minimal maintenance link to support synchronization |
SG92686A1 (en) * | 2000-03-09 | 2002-11-19 | Kent Ridge Digital Labs | An atm handoff process |
CN1202643C (zh) * | 2000-10-07 | 2005-05-18 | Lg电子株式会社 | 具有无线电链路控制层的无线电通信系统和数据处理方法 |
KR100847187B1 (ko) * | 2000-11-16 | 2008-07-17 | 소니 가부시끼 가이샤 | 정보 처리 장치 및 통신 장치 |
US8155096B1 (en) | 2000-12-01 | 2012-04-10 | Ipr Licensing Inc. | Antenna control system and method |
US6954448B2 (en) | 2001-02-01 | 2005-10-11 | Ipr Licensing, Inc. | Alternate channel for carrying selected message types |
US7551663B1 (en) | 2001-02-01 | 2009-06-23 | Ipr Licensing, Inc. | Use of correlation combination to achieve channel detection |
US20020110094A1 (en) * | 2001-02-13 | 2002-08-15 | Reddy Naveen S. | Spot beam hopping packet scheduler system |
US6915309B1 (en) * | 2001-03-20 | 2005-07-05 | Cisco Technology, Inc. | Automatically generating replication topology information for use by a directory service |
EP2479904B1 (en) | 2001-06-13 | 2017-02-15 | Intel Corporation | Apparatuses for transmittal of heartbeat signal at a lower level than heartbeat request |
US7092356B2 (en) * | 2001-10-05 | 2006-08-15 | Nortel Networks Limited | Resource management in heterogenous QoS-based packet Networks |
US7065549B2 (en) * | 2002-03-29 | 2006-06-20 | Illinois Institute Of Technology | Communication and process migration protocols for distributed heterogeneous computing |
US7602717B1 (en) * | 2002-12-05 | 2009-10-13 | Cisco Technology, Inc. | Efficient use of multiple port interfaces available on a network device supporting ATM |
US7586920B2 (en) * | 2003-05-30 | 2009-09-08 | Calix Networks, Inc. | Merging multiple data flows in a passive optical network |
CN1277375C (zh) * | 2003-07-31 | 2006-09-27 | 华为技术有限公司 | 一种光网络中永久连接和交换连接之间的转换方法 |
JP4244026B2 (ja) * | 2004-07-28 | 2009-03-25 | アイシン精機株式会社 | 端末制御システム |
US7836212B2 (en) * | 2006-07-20 | 2010-11-16 | Oracle America, Inc. | Reflecting bandwidth and priority in network attached storage I/O |
US8225988B1 (en) | 2008-10-08 | 2012-07-24 | Bank Of America Corporation | Load balancing for cash handling devices |
US20100235515A1 (en) * | 2009-03-16 | 2010-09-16 | Posco Ict Company Ltd. | Method and apparatus for managing connection |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901231A (en) * | 1986-12-22 | 1990-02-13 | American Telephone And Telegraph Company | Extended process for a multiprocessor system |
CA2038646C (en) | 1990-03-20 | 1995-02-07 | Katsumi Oomuro | Atm communication system with optimal traffic control by changing the allocated bandwidth |
US5453981A (en) | 1990-10-16 | 1995-09-26 | Kabushiki Kaisha Toshiba | Method of controlling communication network incorporating virtual channels exchange nodes and virtual paths exchange nodes |
US5506987A (en) * | 1991-02-01 | 1996-04-09 | Digital Equipment Corporation | Affinity scheduling of processes on symmetric multiprocessing systems |
US5164938A (en) | 1991-03-28 | 1992-11-17 | Sprint International Communications Corp. | Bandwidth seizing in integrated services networks |
JP3278865B2 (ja) | 1991-06-28 | 2002-04-30 | 日本電気株式会社 | トラヒック制御方法 |
US5317738A (en) * | 1992-02-18 | 1994-05-31 | Ncr Corporation | Process affinity scheduling method and apparatus |
GB2268359B (en) | 1992-06-24 | 1996-04-10 | Roke Manor Research | Mobile radio systems |
JP3392436B2 (ja) * | 1992-08-28 | 2003-03-31 | 株式会社東芝 | 通信システム及び通信方法 |
US5371852A (en) * | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
US5500847A (en) * | 1992-12-31 | 1996-03-19 | Daewoo Electronics Co., Ltd. | Pickup carriage feeding apparatus of a disc player |
JPH0744542B2 (ja) | 1993-01-11 | 1995-05-15 | 日本電気株式会社 | 非同期転送モードにおける仮想パスの帯域割当方式 |
US5450406A (en) | 1993-04-20 | 1995-09-12 | Kabushiki Kaisha Toshiba | ATM communication system with high speed connection-less service function |
US5506847A (en) | 1993-04-26 | 1996-04-09 | Kabushiki Kaisha Toshiba | ATM-lan system using broadcast channel for transferring link setting and chaining requests |
US5487065A (en) | 1993-05-26 | 1996-01-23 | The Trustees Of Columbia University In The City Of New York | Method and apparatus for supporting mobile communications in asynchronous transfer mode based networks |
JP2522152B2 (ja) | 1993-05-31 | 1996-08-07 | 日本電気株式会社 | バ―ストサ―バ―蓄積交換方法 |
JPH0746248A (ja) * | 1993-07-30 | 1995-02-14 | Toshiba Corp | 無線通信システム |
US5455826A (en) | 1994-06-28 | 1995-10-03 | Oezveren; Cueneyt M. | Method and apparatus for rate based flow control |
US5633868A (en) * | 1994-10-17 | 1997-05-27 | Lucent Technologies Inc. | Virtual circuit management in cellular telecommunications |
US5802590A (en) * | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
US5892910A (en) * | 1995-02-28 | 1999-04-06 | General Instrument Corporation | CATV communication system for changing first protocol syntax processor which processes data of first format to second protocol syntax processor processes data of second format |
JP3612105B2 (ja) * | 1995-03-13 | 2005-01-19 | 株式会社東芝 | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 |
DE19518266A1 (de) * | 1995-05-18 | 1996-11-21 | Philips Patentverwaltung | Kommunikationssystem mit Mitteln zum Austausch von Software |
CA2179337C (en) * | 1995-08-22 | 2000-11-14 | Thomas F. Laporta | Network-based migrating user agents for personal communication services |
JP3734334B2 (ja) * | 1997-05-07 | 2006-01-11 | 富士通株式会社 | データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法 |
US6167430A (en) * | 1998-05-12 | 2000-12-26 | Unisys Corporation | Multicomputer with distributed directory and operating system |
-
1995
- 1995-03-13 JP JP07936395A patent/JP3612105B2/ja not_active Expired - Fee Related
-
1996
- 1996-03-12 US US08/615,074 patent/US5872786A/en not_active Expired - Fee Related
-
1998
- 1998-11-24 US US09/198,454 patent/US6553014B1/en not_active Expired - Fee Related
-
2002
- 2002-09-25 US US10/253,413 patent/US7272143B2/en not_active Expired - Fee Related
- 2002-09-25 US US10/253,530 patent/US6925084B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20030035391A1 (en) | 2003-02-20 |
US20030021279A1 (en) | 2003-01-30 |
JPH08251199A (ja) | 1996-09-27 |
US7272143B2 (en) | 2007-09-18 |
US5872786A (en) | 1999-02-16 |
US6553014B1 (en) | 2003-04-22 |
US6925084B2 (en) | 2005-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3612105B2 (ja) | Atm通信システムとatm通信システムにおけるプロセスマイグレーション方法 | |
JP3575225B2 (ja) | パケット交換機、パケット交換網及びパケット交換方法 | |
EP0471379B1 (en) | Packet switching method and system with self-routing switch | |
US6810031B1 (en) | Method and device for distributing bandwidth | |
US5640389A (en) | Traffic shaper and packet communication apparatus | |
US20030103450A1 (en) | Method and apparatus for simple ip-layer bandwidth allocation using ingress control of egress bandwidth | |
US20020191588A1 (en) | Integrated circuit and packet switching system | |
JPH10242999A (ja) | トラフィック成形装置 | |
JPH09186701A (ja) | 最適帯域幅割当て方法及び装置 | |
JP2004200905A (ja) | ルータ装置とその出力ポート回路及びその制御方法 | |
CN109040865B (zh) | 一种卫星光突发交换冲突消解调度实现系统及方法 | |
US20010040896A1 (en) | Method and device for communicating between a first and a second network | |
JPH10285185A (ja) | Atmネットワークにおいてデータ・セル伝送をスケジューリングする方法 | |
US6393001B1 (en) | Satellite communication system, routing method for the system and storage device with program of the routing | |
US20020150047A1 (en) | System and method for scheduling transmission of asynchronous transfer mode cells | |
JP3772180B2 (ja) | Atm通信システム及びatm通信システムにおける帯域割り当て方法 | |
JP3597049B2 (ja) | 統合ネットワーク内における経路選択型通信装置 | |
JP2005033816A (ja) | 通信システム及び通信システムにおけるハンドオーバ処理方法 | |
JP3252831B2 (ja) | Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置 | |
JP3621475B2 (ja) | Atm通信システム及びatm交換機およびノード装置 | |
Song et al. | Priority-based grant-aware scheduling for low-latency switching | |
JPH06311185A (ja) | Atm通信システム | |
KR100343774B1 (ko) | 에이티엠 통신망에서의 가상경로 브렌칭 노드를 이용한 지연에민감한 서비스용 멀티캐스트 경로의 할당방법 | |
JP2865049B2 (ja) | Atmネットワーク通信システム | |
JP2003333087A (ja) | 帯域制御方法およびその帯域制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040615 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040816 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041022 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |