(57)【要約】【課題】遠距離通信ネットワークに関して、複数のエンドポイントがサービスを効率的に受ける方法を提供すること。【解決手段】本発明は、遠距離通信ネットワークでの負荷分散およびハートビート動作に関して、特にコール信号チャネルを確立時に負荷分散すること、コール信号チャネルの状態によって可変の周波数のキープ・アライブ機構を使用すること、および資源が利用可能な場合か、または必要な場合にコール信号チャネルを確立することに関する。【選択図】図２
2007013970.tif 000002
【特許請求の範囲】
【請求項１】
（Ｉ）（ａ）第１の時間に、ゲートキーパおよびサーバのうちの少なくとも１つがエンドポイントを登録する工程、
（ｂ）
（ｉ）前記エンドポイントが前記エンドポイント上の加入者の動作に信号を送るイベント、
（ｉｉ）前記ゲートキーパおよびサーバのうちの少なくとも１つが前記エンドポイントに向けられた着信を受信するイベント、および
（ｉｉｉ）前記ゲートキーパおよびサーバのうちの少なくとも１つが、前記エンドポイント上でメンテナンスが実行されることを判定するイベント
のうちの少なくとも１つが発生すると、その後の第２の時間に、エンドポイントとゲートキーパとの間のコール信号チャネルを設定する工程、
（ｃ）前記第２の時間の後で、ゲートキーパおよびサーバのうちの少なくとも１つが前記コール信号チャネルのためのゲートキーパを選択する工程、および
（ｄ）前記第２の時間の後で、前記エンドポイントに選択されたゲートキーパを通知する工程
からなる工程セットと、
（ＩＩ）（ａ）ゲートキーパおよびサーバのうちの前記少なくとも１つがエンドポイントを登録する工程、
（ｂ）登録の工程に応じて、資源の利用可能性に基づき、前記ゲートキーパおよびサーバのうちの少なくとも１つとエンドポイントとの間にコール信号チャネルを設定するかどうかを判定する工程、
（ｃ）占有レベルが選択された閾値よりも小さい場合、前記コール信号チャネルを確立する工程、および
（ｄ）占有レベルが前記選択された閾値よりも大きい場合、前記コール信号チャネルの確立を延期する工程
からなる工程セットと、
（ＩＩＩ）（ａ）第１のコンピュータ操作の部品が、第１のコンピュータ操作の部品と第２のコンピュータ操作の部品との間で第１チャネルが確立されたかどうかを判定する工程、
（ｂ）前記第１のコンピュータ操作の部品が前記第１チャネルは確立されたと判定する場合、第２のコンピュータ操作の部品に第１周波数でキープ・アライブ信号を送信する工程、および
（ｃ）前記第１のコンピュータ操作の部品が前記第１チャネルは確立されていないと判定する場合、第２のコンピュータ操作の部品に第２周波数でキープ・アライブ信号を送信する工程であって、前記第１周波数は前記第２周波数よりも低い工程
からなる工程セットと
のうち少なくとも１つを含む方法。
【請求項２】
前記セット（Ｉ）、（ＩＩ）、（ＩＩＩ）のうちの前記少なくとも１つがセット（Ｉ）であって、前記イベント（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つがイベント（ｉ）である場合、前記加入者の動作はコールを発し、前記エンドポイントは複数のゲートキーパに同時に前記加入者の動作を通知し、前記イベント（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つがイベント（ｉｉ）である場合、前記コールは前記コール信号チャネルが設定される前に前記エンドポイントで終了され、終了メッセージは前記コール信号チャネルが確立された後に前記エンドポイントに再送信され、前記イベント（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つがイベント（ｉｉｉ）である場合、工程（Ｉ）（ｂ）および（Ｉ）（ｃ）の実行は工程（Ｉ）（ａ）に応じず、ゲートキーパおよびサーバのうちの少なくとも１つは工程（Ｉ）（ｂ）を実行し、選択されたゲートキーパは現時点で最も負荷の少ないゲートキーパである請求項１に記載の方法。
【請求項３】
前記セット（Ｉ）、（ＩＩ）、（ＩＩＩ）のうちの前記少なくとも１つがセット（ＩＩ）であって、前記資源は中央処理装置の占有レベルであり、前記占有レベルは前記コール信号チャネルではなく信号チャネルの過負荷の限界に基づく請求項１に記載の方法。
【請求項４】
前記セット（Ｉ）、（ＩＩ）、（ＩＩＩ）のうちの前記少なくとも１つがセット（ＩＩＩ）であって、前記第１のコンピュータ操作の部品がエンドポイントであり、前記第２のコンピュータ操作の部品がゲートキーパおよびサーバのうちの少なくとも１つであって、前記キープ・アライブ信号は前記第１チャネルとは異なる、前記第１のコンピュータ操作の部品と前記第２のコンピュータ操作の部品との間の第２のチャネル上で送信される請求項１に記載の方法。
【請求項５】
前記第１のコンピュータ操作の部品は前記第１チャネルが確立されていないことを判定しており、
（ｄ）前記エンドポイントが、現時点でプライマリ・サーバか、または代替サーバによってサービスを受けているのかどうかを判定する工程と、
（ｅ）前記エンドポイントが現時点でプライマリ・サーバによってサービスを受けている場合、前記エンドポイントはプライマリ・サーチ・タイマ（ＰＳＴ）を開始する工程と、
（ｆ）前記エンドポイントが現時点で代替サーバによってサービスを受けている場合、前記エンドポイントはプライマリ移行タイマ（ＰＭＴ）を開始する工程とをさらに含む請求項４に記載の方法。
【請求項６】
前記エンドポイントは現時点でプライマリ・サーバによってサービスを受けており、
（ｇ）代替ゲートキーパ・リスト（ＡＧＬ）上の第１ゲートキーパへ第１登録要求を送信する工程と、
（ｈ）定められた時間内に応答が受信されない場合、前記ＡＧＬからさらなるゲートキーパを選択する工程と、
（ｉ）さらなるゲートキーパへさらなる登録要求を送信する工程と、
（ｊ）前記ＰＳＴが終了する、および／または前記定められた時間内で応答が受信されるまで、工程（ｈ）および（ｉ）を繰り返す工程と、
（ｋ）前記定められた時間内に応答が受信されず、前記ＰＳＴが終了する場合、代替サーバへ登録要求を送信する工程と、
（ｌ）定められた時間内でかつ前記ＰＳＴが終了する前に応答が受信される場合、応答が前記第２のコンピュータ操作の部品および／または第３のコンピュータ操作の部品から受信されたのかどうかを判定する工程と、
（ｍ）応答が前記第２のコンピュータ操作の部品および／または前記第３のコンピュータ操作の部品から受信された場合、短時間のキープ・アライブ・タイマを開始する工程と、
（ｎ）前記第１チャネルが確立されたかどうかを判定する工程と、
（ｏ）前記第１チャネルが確立された場合、回復手続きを開始する工程と、
（ｐ）前記第１チャネルが確立されていない場合、前記第２および第３のコンピュータ操作の部品のうちの少なくとも１つに関連する現時点で登録されているアドレスに登録要求を送信する工程とをさらに含む請求項５に記載の方法。
【請求項７】
前記エンドポイントは現時点でプライマリ・サーバによってサービスを受けており、
（ｇ）代替サーバへ登録要求を送信する工程と、
（ｈ）定められた時間内に応答が受信されたかどうかを判定する工程と、
（ｉ）定められた時間内に応答が受信されない場合、前記ＰＭＴが終了するか、または応答が受信されるまで、工程（ｇ）および（ｈ）を繰り返す工程と、
（ｊ）前記定められた時間内に応答が受信されず、前記ＰＭＴが終了する場合、プライマリ・サーバへ登録要求を送信する工程と、
（ｋ）定められた時間内に応答が受信される場合、前記ＰＭＴをキャンセルし、短時間のキープ・アライブ・タイマを開始する工程と、
（ｌ）前記第１チャネルが確立されたかどうかを判定する工程と、
（ｍ）前記第１チャネルが確立された場合、代替サーバへ移行する工程と、
（ｎ）前記第１チャネルが確立されていない場合、前記第２および第３のコンピュータ操作の部品のうちの少なくとも１つに関連する現時点で登録されているアドレスに登録要求を送信する工程とをさらに含む請求項５に記載の方法。
【請求項８】
請求項１の工程のセットのうちの１つを実行するために、プロセッサによる実行が可能な命令を含むコンピュータ可読媒体。
【請求項９】
複数のゲートキーパと、
サーバと、
エンドポイントと、
（ｉ）第１の時間に前記エンドポイントを登録し、その後の第２の時間に、前記エンドポイントが前記エンドポイント上の加入者の動作に信号を送る工程の少なくとも１回、第１ゲートキーパおよびサーバのうちの少なくとも１つが前記エンドポイントに向けられた着信を受信する工程の少なくとも１回、および前記第１ゲートキーパおよびサーバのうちの少なくとも１つが、前記エンドポイント上でメンテナンスが実行されることを判定する工程の少なくとも１回が発生すると、前記エンドポイントと前記第１ゲートキーパとの間のコール信号チャネルを設定する行為であって、負荷分散のための手段が第２の時間の後で、前記コール信号チャネルのための複数のゲートキーパの中から第２ゲートキーパを選択し、前記エンドポイントに前記第２ゲートキーパを通知するためにさらに使用可能な行為、
（ｉｉ）資源の利用可能性に基づき、一方の前記第１ゲートキーパおよびサーバのうちの少なくとも１つと、他方の前記エンドポイントとの間にコール信号チャネルを設定するかどうかを判定し、占有レベルが選択された閾値よりも少ない場合、前記コール信号チャネルを確立し、占有レベルが前記選択された閾値よりも大きい場合、前記コール信号チャネルの確立を延期する行為、および
（ｉｉｉ）前記第１ゲートキーパと前記エンドポイントとの間で第１チャネルが確立されたかどうかを判定し、前記第１チャネルが確立されたと判定される場合、前記第１ゲートキーパおよびサーバのうちの前記少なくとも１つに第１周波数でキープ・アライブ信号を送信し、前記第１チャネルが確立されていないと判定される場合、前記第１ゲートキーパおよびサーバのうちの前記少なくとも１つに第２周波数でキープ・アライブ信号を送信する行為であって、前記第１周波数は前記第２周波数よりも低い行為
のうちの少なくとも１つを実行するために使用可能な負荷分散のための前記手段と
を含むシステム。
【請求項１０】
前記行為（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つが行為（ｉ）であって、前記エンドポイントが前記エンドポイント上の加入者の動作に信号を送る場合、前記加入者の動作はコールを発し、前記エンドポイントは複数のゲートキーパに同時に前記加入者の動作を通知し、前記第１ゲートキーパおよびサーバのうちの前記少なくとも１つが前記エンドポイントに向けられた着信を受信する場合、前記コールは前記コール信号チャネルが設定される前に前記エンドポイントで終了され、終了メッセージは前記コール信号チャネルが確立された後に前記エンドポイントに再送信され、前記エンドポイントが前記エンドポイント上でメンテナンスが実行されることを判定する場合、前記コール信号チャネルの設定およびゲートキーパの選択はエンドポイントの登録に応じて実行されることはなく、選択されたゲートキーパは現時点で最も負荷の少ないゲートキーパである請求項９に記載のシステム。
【請求項１１】
前記行為（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つが行為（ｉｉ）であって、前記資源の利用可能性とは中央処理装置の占有レベルであり、前記占有レベルは前記コール信号チャネルではなく信号チャネルの過負荷の限界に基づく請求項９に記載のシステム。
【請求項１２】
前記行為（ｉ）、（ｉｉ）、（ｉｉｉ）のうちの前記少なくとも１つが行為（ｉｉｉ）であって、前記キープ・アライブ信号は前記第１チャネルとは異なる、前記エンドポイントと、ゲートキーパおよびサーバのうちの前記少なくとも１つとの間の第２チャネル上で送信される請求項９に記載のシステム。
【請求項１３】
前記第１チャネルが確立されていない場合、負荷分散のための前記手段は前記エンドポイントが現時点でプライマリ・サーバか、または代替サーバによってサービスを受けているかどうかを判定するためにさらに使用可能であって、前記エンドポイントが現時点でプライマリ・サーバによってサービスを受けている場合、前記エンドポイントはプライマリ・サーチ・タイマ（ＰＳＴ）を開始し、前記エンドポイントが現時点で代替サーバによりサービスを受けている場合、前記エンドポイントはプライマリ移行タイマ（ＰＭＴ）を開始し、前記エンドポイントが現時点でプライマリ・サーバによってサービスを受け、負荷分散のための前記手段は、代替ゲートキーパ・リスト（ＡＧＬ）上の第１ゲートキーパに第１登録要求を送信し、定められた時間内に応答が受信されない場合、前記ＡＧＬからさらなるゲートキーパを選択し、前記さらなるゲートキーパへさらなる登録要求を送信し、前記定められた時間内に応答が受信されず、前記ＰＳＴが終了する場合、代替サーバに登録要求を送信するようにさらに使用可能である請求項１２に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に遠距離通信体系に関し、より詳細にはいくつかのエンドポイントにサービスを提供する複数のゲートキーパを含む遠距離通信体系に関する。
【背景技術】
【０００２】
図１は例示的な企業の遠距離通信システムを示す。システム１００はコール制御機能を行うプライマリ・サーバ１０４、ネットワーク管理を行うためのプライマリ・サーバ１０４に接続された第１、第２、．．．第ｎのゲートキーパ１０８ａ〜ｎ、および各々のゲートキーパに接続されたいくつかのエンドポイント１１２ａ〜ｎを含む。本明細書で使用する際、「ゲートキーパ」とは端末およびゲートウェイの登録、アドレス解決、帯域幅制御、承認制御等の様々な機能を実行することによって通話フローを管理するコンピュータ操作の部品のことである。全てのエンドポイントは、特定のネットワーク・カードに割り当てられた固定的なものか、または動的ホスト構成プロトコル（ＤＨＣＰ）などの機構を経由してネットワークのログイン時間で割り当てられる一時的なもののいずれかであるＩＰアドレスを有している。サーバ１０４は、ゲートキーパがステート情報を共用できるようにするための共通のデータベースを含んでもよい。エンタープライズ・サバイバブル・スペア・プロセッサ（ＥＳＳ）（Ｅｎｔｅｒｐｒｉｓｅ  Ｓｕｒｖｉｖａｂｌｅ  Ｓｐａｒｅ  ｐｒｏｃｅｓｓｏｒ）またはローカル・サバイバブル・プロセッサ（ＬＳＰ）（Ｌｏｃａｌ  Ｓｕｒｖｉｖａｂｌｅ  Ｐｒｏｃｅｓｓｏｒ）などの代替サーバ１１６は、プライマリ・サーバ１０４で接続性が失われた場合、エンドポイントのために冗長化を行う。ゲートキーパの機能はサーバの中で単にフロント・エンドのみを提供するゲートキーパと両立されてもよく、またはサーバがいかなるゲートキーパの機能も伴わずに共用のデータベースを提供してもよいことが理解されよう。
【０００３】
エンドポイントがサービスを受けられるようにするために、エンドポイントはゲートキーパ（ＧＫ）に発見／登録されなければならない。登録はユニフォーム・データグラム・プロトコル（Ｕｎｉｆｏｒｍ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）か、またはＵＤＰベースの登録、承認、およびステータスまたはＲＡＳチャネルを介して行われる。登録の一部として、エンドポイントは認証され、現ゲートキーパに障害が起きた場合にフェールオーバするためにゲートキーパのアドレスを伴う代替ゲートキーパ・リストまたはＡＧＬを受信し、その中でエンドポイントが登録の更新を行わなければならないタイム・トゥ・リブ（ｔｉｍｅ−ｔｏ−ｌｉｖｅ）・パラメータを受信する。図４は、Ｈ．３２３プロトコルによって定義される登録プロセスを示す。最初にゲートキーパの要求は、エンドポイントにサービスするようにゲートキーパに要求するプライマリ・サーバ／ゲートキーパへエンドポイントによって送信される。次いでゲートキーパは、ゲートキーパ確認（図示）または拒否（不図示）メッセージで応答する。エンドポイントがゲートキーパ確認メッセージを受信する場合、エンドポイントは、特に（Ｈ．３２３アプリケーションのエンドポイントでユーザによって提供される）エンドポイントのＩＰアドレス、拡張子またはエイリアスを含む登録要求で応答する。登録が成功した場合、ゲートキーパは登録確認メッセージで応答する。
【０００４】
エンドポイントがサービスを受けるために、エンドポイントとゲートキーパ／プライマリ・サーバとの間にコール信号チャネルが確立されなければならない。エンドポイントとそのゲートキーパとの間に確立された（ＲＡＳチャネルとは異なる）伝送制御プロトコルまたはＴＣＰに基づくコール信号（ＣＳ）チャネルは、コールの設定、コールの終了、機能の交換等に関するものを含めて、様々なコール信号メッセージの交換に通常使用される。必要に応じてエンドポイントまたはゲートキーパによって開始されるこのチャネルは、登録時またはコール時に確立されてもよい。コール時に確立された場合、チャネルは通常コール期間中だけ存続する。１つの構成で、チャネルはコールの終了した後、持続する。チャネルはゲートキーパ経路のコール信号で、エンドポイントとそのゲートキーパの間で確立されてもよく、または直接のエンドポイントのコール信号で、コールを行うエンドポイント間で確立されてもよい。ＲＡＳおよびＣＳチャネル上で使用されるメッセージおよびプロシージャはＩＴＵ−ＴＨ．２２５．０で定義される。一旦登録されると、エンドポイントは、再登録またはＣＳチャネルの確立を要求せずにサービス中とみなされてもよい。
【０００５】
図１の構造の重要な態様は、エンドポイントのＣＳチャネルを負荷分散してゲートキーパの中でチャネルを均等に分配することである。ゲートキーパによって開始されるＣＳチャネル接続は、ゲートキーパが各ゲートキーパの現負荷に関する情報を有しているため負荷分散が簡単である。しかしながら、このことはエンドポイントから開始される接続については当てはまらない。そのようなＣＳチャネルでは分散が難しい。ゲートキーパのＣＳチャネルの数はコールが行われるにつれて、ネットワークおよびその他の障害のため絶えず変化する。このような動的な環境で、エンドポイントは特定のゲートキーパの負荷に関する現在の情報を概して有していない。
【０００６】
ゲートキーパの中でのチャネルの分配に対処するために、いくつかのの技術が用いられてきた。第１に、一部の製品では負荷分散を試みることさえしなかった。このことは、ゲートキーパの中であるものには過剰な負荷がかけられ、一方であるものには僅かしか負荷がかけられていないといった不均等な負荷の原因となることがしばしばある。第２に、登録時に、ゲートキーパの負荷情報がエンドポイントに明示的に送信されるか、または負荷の順位（ｏｒｄｅｒ）が増えてゆく中でゲートキーパのアドレスが特定されるものがある。しかしながら、エンドポイントがＣＳチャネルの確立を必要とするときには負荷情報は新しいものではなくなっているかもしれない。第３に、登録時にゲートキーパのアドレスを無作為の順序でエンドポイントに送信することができるというものがある。この方法はゲートキーパの数が多く、障害が無い場合には機能するであろう。障害が周期的に発生する現実の設定ではうまく機能することはない。ゲートキーパの障害によって、エンドポイントは他のゲートキーパへと移行する。障害のあったゲートキーパが回復すると、エンドポイントは不均等に分配される。しかしながら、エンドポイントは、あたかもゲートキーパが均等なエンドポイント分配を有しているかのように、やはり無作為にゲートキーパに接続する。最後に、エンドポイントがゲートキーパとＣＳチャネルを確立しようとする場合に、ゲートキーパがエンドポイントを切り換えて負荷の最も小さいゲートキーパに接続するという技術がある。この解決方法はある種のアプリケーションでは機能するかもしれないが、効率は良くない。
【０００７】
図１の構造の他の重要な態様は、ゲートキーパが障害を起こすか、または到達不可能になる場合を判定して、エンドポイントが代替のゲートキーパからサービスを受信できるようにするハートビート機構の使用である。代替のゲートキーパへのこのフェールオーバは、ユーザに対してサービスの継続性が保たれるように迅速に実行されることが望ましい。ＣＳチャネルが確立されないときにそのような障害が起きた場合、エンドポイントが障害を検出するのに長い時間がかかることがある。コールを発するか、または届けようとしたときに、障害が検出されるということは大いにあり得る。したがって、コールがユーザを待っているときか、またはユーザが数字をダイヤルしているときに、障害の回復が実行されなければならない。一部のケースでは、適時の回復が可能であるかもしれないが、コールが中断する、コールが到達可能範囲の経路に向かう、またはユーザがコールを行えなくなることの原因になることがよくある。したがって、障害が迅速かつ効率的な方法で検出され、修正されることが重要である。
【０００８】
ネットワークの障害に対処するために、いくつかの技術が用いられてきた。第１の技術として、一部の製品はハートビート機能を実行することがない。障害がいつ起こるかに関係なく、必要なとき（例えばユーザがコールを行いたいとき）にＣＳチャネルを回復することができる。しかしながら一部のケースでは、エンドポイントが適時に別のゲートキーパを見つけられず、したがって短期の停止期間を生じさせることがある。第２の技術として、スタートアップ時にＣＳチャネルを直ちに確立し、常時維持することができるというものがある。この方法は、登録後直ちに全てのエンドポイントのためにＣＳチャネルを確立することができる場合は機能するであろう。しかしながら、スタートアップ時（または重大な障害の後）に、（特にエンドポイントの数が多い場合に）全てのエンドポイントのためにＣＳチャネルを確立することは、ゲートキーパで過負荷の状態を生じさせることがあるため、計測可能ではない。エンドポイントの数によっては、全てのエンドポイントのためにＣＳチャネルを確立するために数十分から数時間かかることもある。したがって、ＣＳチャネルの使用を実際に必要とするエンドポイント（すなわちコールを発受信するエンドポイント）は、この間サービスを受けることができない。
【特許文献１】米国特許第６１９２１２２号
【特許文献２】米国特許第６１７３０５３号
【特許文献３】米国特許第６１６３６０７号
【特許文献４】米国特許第５９８２８７３号
【特許文献５】米国特許第５９０５７９３号
【特許文献６】米国特許第５８２８７４７号
【特許文献７】米国特許第５２０６９０３号
【発明の開示】
【発明が解決しようとする課題】
【０００９】
これらの問題点を鑑み、遠距離通信ネットワークに関して、複数のエンドポイントがサービスを効率的に受ける方法を提供することにある。
【課題を解決するための手段】
【００１０】
これらの問題点およびその他の問題点は、本発明の様々な実施形態および構成によって対処される。本発明は一般に、遠距離通信ネットワークでの負荷分散およびハートビート動作に関する。
第１の実施形態で、本発明は、
（ａ）第１の時間に、ゲートキーパおよび／またはサーバがエンドポイントを登録する工程と、
（ｂ）
（ｉ）エンドポイントがエンドポイント上の加入者の動作に信号を送るイベント、
（ｉｉ）ゲートキーパおよび／またはサーバがエンドポイントに向けられた着信を受信するイベント、および
（ｉｉｉ）ゲートキーパおよび／またはサーバが、エンドポイント上でメンテナンスが実行されることを判定するイベント
のうちの１つまたは複数が発生すると、その後の第２の時間に、エンドポイントとゲートキーパとの間のコール信号チャネルを設定する工程と、
（ｃ）第２の時間の後で、ゲートキーパおよび／またはサーバがコール信号チャネルのためのゲートキーパを選択する工程と、
（ｄ）第２の時間の後で、エンドポイントに選択されたゲートキーパを通知する工程と
を含む方法に関する。
【００１１】
１つの構成で、ＲＡＳメッセージはエンドポイントとゲートキーパとの間のコール信号チャネルの確立を開始するために使用される。
コール信号チャネルが確立されるときに負荷分散を行い、ゲートキーパ／サーバにコール信号チャネルの設定を開始するように要求することは、負荷をゲートキーパの中で実質的に均等に分配する簡単で効果的な方法となりうる。ゲートキーパは、各々別のゲートキーパ上の現負荷に関する情報へのアクセスを有する。したがって、ゲートキーパはコール信号チャネルが確立されるときに負荷の最も少ないゲートキーパを正確に選び出すことができる。このことは、新しくないか、または無効になった情報に基づいて負荷分散の決定が行われることを防止する。さらに、エンドポイントにではなく、ゲートキーパ／サーバにコール信号チャネルの確立を開始するよう要求することで、エンドポイントがチャネルそのものを確立するよりもチャネルの確立をよりスピーディにし、より効率的にすることができる。
【００１２】
第２の実施形態で、本発明は、
（ａ）ゲートキーパおよび／またはサーバがエンドポイントを登録する工程と、
（ｂ）登録の工程に応じて、資源の利用可能性に基づき、ゲートキーパおよび／またはサーバとエンドポイントとの間にコール信号チャネルを設定するかどうかを判定する工程と、
（ｃ）占有レベルが選択された閾値よりも少ない場合、コール信号チャネルを確立する工程と、
（ｄ）占有レベルが選択された閾値よりも大きい場合、コール信号チャネルの確立を延期する工程と
を含む方法に関する。
この実施形態により、エンドポイントは一部の従来の製品で使用される予測不可能な命令ではなく、登録／再登録後にオンデマンドの方法でコールを発受することができる。
【００１３】
第３の実施形態で、本発明は、
（ａ）第１のコンピュータ操作の部品（例えばエンドポイント）が、第１のコンピュータ操作の部品と第２のコンピュータ操作の部品（例えばゲートキーパおよび／またはサーバ）との間で第１チャネル（例えばコール信号チャネル）が確立されたかどうかを判定する工程と、
（ｂ）第１のコンピュータ操作の部品が第１チャネルは確立されたと判定する場合、第２のコンピュータ操作の部品に第１周波数でキープ・アライブ信号を送信する工程と
（ｃ）第１のコンピュータ操作の部品が第１チャネルは確立されていないと判定する場合、第２のコンピュータ操作の部品に第２周波数でキープ・アライブ信号を送信する工程であって、第１周波数は第２周波数よりも低い工程と
を含む方法に関する。
【００１４】
この実施形態は、コールがエンドポイントに届けられず、ユーザがコールを発信できない可能性を減らす効率的な、標準規格ベースのハートビート機構を提供することができる。１つの構成で、このシステムは（伝送レベルで動作する）ＴＣＰキープ・アライブ機構ではなく、（アプリケーション・レベルで動作する）ＲＡＳキープ・アライブ機構を使用する。ＲＡＳチャネルの使用によって、コール信号チャネルがうまく確立される可能性が高まる。さらに、高周波の軽量の登録要求はコール信号チャネルが存在しない場合に使用されるだけなので、効率が良い。
これらの利点およびその他の利点は、本明細書に含まれる本発明の開示より明らかとなろう。
【００１５】
上述の実施形態および構成は完全なものではなく、また網羅的なものでもない。上述の特徴または以下で詳細に述べる特徴のうちの１つまたは複数を単独か、または組み合わせて利用する本発明のその他の実施形態が可能であることを理解されたい。
【００１６】
本明細書で使用する際、「少なくとも１つ」、「１つまたは複数」および「および／または」といった表現は、動作の中で接続的でもあり離接的でもある制限を設けない表現である。例えば、「Ａ、Ｂ、およびＣのうちの少なくとも１つ」、「Ａ、Ｂ、またはＣのうちの少なくとも１つ」、「Ａ、Ｂ、およびＣのうちの１つまたは複数」、「Ａ、Ｂ、またはＣのうちの１つまたは複数」、「Ａ、Ｂ、および／またはＣ」といった表現は、Ａのみ、Ｂのみ、Ｃのみ、ＡとＢを合わせて、ＡとＣを合わせて、ＢとＣを合わせて、またはＡ、ＢおよびＣを合わせてということを意味する。
【発明を実施するための最良の形態】
【００１７】
遠距離通信システム
図２は本発明の一実施形態による遠距離通信システム２００を示す。システム２００はプライマリ・サーバ２０４、ゲートウェイ２０８、および各々が複数の加入者エンドポイント２１６ａ〜ｍにサービスを提供する第１、第２、．．．第ｎのゲートキーパ２１２ａ〜ｎを含んだ企業ネットワーク２０２を含む。パケット交換ネットワーク２２４は、企業ネットワーク２０２と遠隔（非加入者）のエンドポイント２２０との間の通信を行う。
【００１８】
プライマリ・サーバは、回線交換および／またはパケット交換のカスタマのコンタクトを１つまたは複数の通信デバイスに向かわせるための任意の集中型の構造であってよい。例えば、「プライマリ・サーバ」は、構内交換機またはＰＢＸ、企業の交換機、企業サーバ、またはその他の種類の遠距離通信システムの交換機またはサーバ、ならびにコンピュータ、付属物（ａｄｊｕｎｃｔｓ）等のようなその他の種類のプロセッサ・ベースの通信制御デバイスであってよい。典型的に、サーバは外部の通信リンクへのインタフェース、通信交換組織、（例えばトーン検出器および発振器等の）サービス回線、制御プログラムおよびデータを格納するメモリ、ならびにインタフェースおよび組織を制御し、自動交信分配機能を提供するための格納された制御プログラムを実行するプロセッサ（すなわちコンピュータ）を従来どおりに含む、格納されたプログラムによって制御されるシステムである。典型的に、メディア・サーバによって提供される機能は電話通信機能および高機能の交信経路選択だけではなく、局所化、協同、可動性、メッセージ通信、システム管理、案内機能、ネットワーク化およびアプリケーション・プログラム・インタフェースも含む。サーバは典型的に、サービスを受ける遠距離通信デバイスにサービスを提供するためのネットワーク・インタフェース・カード（不図示）を含む。例としてメディア・サーバは、これらの全てを参照により本明細書に組み込む米国特許第６１９２１２２号、第６１７３０５３号、第６１６３６０７号、第５９８２８７３号、第５９０５７９３号、第５８２８７４７号および第５２０６９０３号、Ａｖａｙａ社のＤｅｆｉｎｉｔｙ（商標）構内交換機（ＰＢＸ）ベースＡＣＤシステム、Ａｖａｙａ社のＩＰ６００（商標）ＬＡＮベースＡＣＤシステム、またはコール処理能力および交信センタ機能を備えたＡｖａｙａ社のＣｏｍｍｕｎｉｃａｔｉｏｎ  Ｍａｎａｇｅｒ（商標）またはＭｕｌｔｉＶａｎｔａｇｅ（商標）音声アプリケーション・ソフトウェアの変更版を実行するＳ８１００（商標）、Ｓ８３００（商標）、Ｓ８５００（商標）、Ｓ８７００（商標）あるいはＳ８７１０（商標）メディア・サーバで開示されている加入者の構内機器の変更形態であってもよい。既知の交換機およびサーバのその他の種類は当技術分野ではよく知られているため、本明細書で詳細に説明することはしない。
【００１９】
エンドポイントのデバイスの各々は、１つまたは複数のパケット交換および／または回線交換通信デバイスであってよい。例えば、デバイスはＡｖａｙａ社の４６００Ｓｅｒｉｅｓ  ＩＰ  Ｐｈｏｎｅｓ（商標）、Ａｖａｙａ社のＩＰ  Ｓｏｆｔｐｈｏｎｅ（商標）などのＩＰソフトフォン、携帯情報端末またはＰＤＡ、パーソナル・コンピュータまたはＰＣ、ラップトップ、Ｈ．３２０規格のビデオ・フォン、ならびにカンファレンス・ユニット、音声メッセージ通信および応答ユニット、従来型のコンピュータ電話通信の付属品、ならびに有線および無線回線交換の電話であってよい。
【００２０】
ゲートウェイは任意の適切なデバイスであってよい。本明細書で使用する際、「ゲートウェイ」とは、２つのコンピュータネットワークをＩＰネットワークおよび回線交換ネットワークなどの異なるネットワーク構造に相互接続する機能ユニットのことを指す。ゲートウェイは電話交換サービス、（デジタル制御プロセッサまたはＤＣＰフォン、アナログ・フォンおよびＩＰ電話などの）各種電話の接続のサポート、および（アナログ・トランク、ＩＳＤＮ回線、Ｅ１／Ｔ１音声トランク、およびＷＡＮ経路選択ＩＰトランクなどの）外部のパケット交換および／または回線交換の電話回線を提供する電子信号リピータおよびプロトコル・コンバータである。電話回線は、異なる種類の電話および回線のためのアクセス・ポートを提供する異なるメディア・モジュールとともに、シャシ上のポートおよびメディア・モジュールを経由してゲートウェイに接続される。パケット交換と回線交換プロトコルとの間の音声および信号データは、音声経路をゲートウェイ内部のＴＤＭバスに変換するメディア・モジュールによってもたらされる。ボイス・オーバＩＰまたはＶｏＩＰエンジンなどのエンジンは、典型的にはイーサネット（登録商標）接続上で、ＴＤＭバスからの音声経路を圧縮されているか、または圧縮されていないＶｏＩＰ、およびパケット化されたＶｏＩＰに変換する。通常、各ゲートウェイは（ＤＴＭＦ）トーンの検出、トーンの発振、（音楽および／または音声）オーディオ・アナウンスの再生、トラフィック・シェーピング（ｔｒａｆｆｉｃ  ｓｈａｐｉｎｇ）、コール承認制御、メディア・プロセッサ、および１つまたは複数のＩＰサーバ・インタフェースなどの選択された遠距離通信機能を実行するためのいくつかのポートおよびトランク回線の集まりを含む。ゲートウェイの例はＡｖａｙａ社のＳＣＣ１（商標）、ＭＣＣ１（商標）、ＣＭＣ（商標）、Ｇ３５０（商標）、Ｇ６００（商標）、Ｇ６５０（商標）およびＧ７００（商標）を含む。
【００２１】
ゲートキーパは端末およびゲートウェイの登録、アドレス解決、帯域幅制御、承認制御等のようなネットワーク管理機能を実行するための任意のデバイスであってよい。接続するために、エンドポイントはローカル・エリア・ネットワーク上であるのかゲートウェイのその他のエンドであるのかには関係なく、コールを行っている遠隔のエンドポイントの電子（ＩＰ）アドレスを参照しなければならない。ゲートキーパは制御下の全てのエンドポイントのための電子アドレスを解決する。これは、例えば電子メール・アドレス、または電話の拡張子（ｅｘｔｅｎｔｉｏｎ）などのエイリアスの文字列もしくは拡張子が挙げられる。
【００２２】
企業ネットワーク２０２は、一般にワイド・エリア・ネットワークまたはＷＡＮなどの分散処理ネットワークであるパケット交換ネットワーク２２４に接続される。ネットワーク２２４は一般にはインターネットである。
【００２３】
遠隔のエンドポイント２２０は、企業ネットワーク２０２のどの内線にも対応していない外部の端末を表す。エンドポイント２２０は、端末エンドポイントとして企業ネットワーク２０２によって直接支持されないという点で、「外部」または「遠隔」と呼ばれる。エンドポイント２１６のように、エンドポイント２２０は有線または無線の卓上用のセット、携帯電話、パーソナル・コンピュータ、ＰＤＡ等であってよい。エンドポイント２２０は、本明細書で「外部エンドポイント」としてより広く言及されるデバイスの一例である。
【００２４】
システム２００は、エンドポイント２１６を登録された後直ちにサービス中であるとみなす。プライマリ・サーバとエンドポイントとの間には２つの信号通信チャネル、すなわち通常はＴＣＰベースのＨ．２２５．０／Ｑ．９３１チャネル（例えばＴＣＰソケット）であるＵＤＰベースのＨ．２２５．０／ＲＡＳチャネルとＣＳチャネルとがある。ＣＳチャネルは登録後すぐに確立される必要はない。プライマリ・サーバおよび／またはゲートキーパの（ＲＡＳの過負荷の限界を評価することによって決定される）ＣＰＵの占有レベルが選択された閾値よりも低い場合、エンドポイントの登録後直ちにエンドポイントと対応するゲートキーパとの間でＣＳチャネルが確立されるが、ＣＰＵの占有レベルが選択された閾値よりも高い場合には確立されない。後の方のケースでは、ＣＳチャネルは必要な場合に確立される。必要性は、プライマリ・サーバか、またはエンドポイントのいずれかからの共通チャネルのメッセージのセットを送信するよう求める要求として定義される。
【００２５】
登録は持続性を有する。エンドポイントが登録を行う場合、登録は比較的長いタイム・トゥ・リブ（ＴＴＬ）を与えられる。ＣＳチャネルの障害、ネットワークの停止期間、またはエンドポイントの再起動にさえも関係なく、登録はこの期間持続する。これはＣＳチャネルがアクティブであることの利点を伴わずに、コールがエンドポイントで終了するということを意味する。ＣＳチャネルを確立できる場合、終了メッセージはエンドポイントへ送り返される。つまり、ＣＳチャネルがダウンしている場合にコールがエンドポイントに置かれると、プライマリ・サーバはコールを確立しようとし、あたかもエンドポイントが完全に機能しているかのように先に進む（すなわち、発信者はリングバックを聞き、コールのために接続の資源は残される）。ＣＳチャネルが確立される場合、プライマリ・サーバはディスプレイ、ランプおよびベルの情報についてエンドポイントを正しく更新できるように終了を送り返す。ＣＳチャネルを確立することができない場合、コールは応答されることはない。プライマリ・サーバは障害のために特別な行為をとることはない。コールはエンドポイントの加入者が応答しないときと同様に取り扱われる。ＲＡＳタイム・トゥ・リブは登録を有効にしておくために使用される。
【００２６】
ＣＳチャネルの接続の失敗を回復する機能（Ｒｅｓｉｌｉｅｎｃｙ）が提供される。接続に失敗した場合、システム２００は直ちに通信を再確立することはなく、そのようにするのは、定期的なメンテナンス（例えばランプおよびボタンの更新、初期化、エンドポイントの登録ステータスの検証、エンドポイントの信号経路の検証、スイッチ・フック・クエリの実行、ＩＤ要求の実行、ベルの更新の実行、タッチ・トーンの更新の実行、およびソフト・キーのダウンロードの更新を行う必要があるかどうかのチェックといった行為）の間に十分なＣＰＵがあるときか、またはエンドポイントへのコールもしくはエンドポイントからのコールがあるときのいずれかの場合である。接続がダウンしている間にエンドポイント上にユーザが信号を出す動作がある場合、エンドポイントはゲートキーパに承認要求を送信し、ゲートキーパはプライマリ・サーバによる信号の接続確立を強制する。
【００２７】
プライマリ・サーバ２０４に含まれるのは、負荷分散エージェント２２８である。負荷分散エージェント２２８はＣＳチャネル確立のイベントが発生すると負荷分散を達成する。前述のとおり、エンドポイントとのＣＳチャネルの開始を促すイベント（以下「チャネル確立イベント」のことを指す）はプライマリ・サーバの低いＣＰＵ占有レベル、対応する加入者による行為に応答したエンドポイントからの承認要求の受信、内部または外部のエンドポイントから来るエンドポイントへの着信設定要求の受信、およびエンドポイントが関わる定期メンテナンスを含む。ＣＳチャネルの確立は、ゲートキーパがその他全てのゲートキーパ上の現負荷に関する情報へのアクセスを有していることから、エンドポイントによってではなく、プライマリ・サーバ／ゲートキーパによって開始される。プライマリ・サーバによってＣＳチャネルの確立を開始するために、エンドポイントはチャネルそのものを直接確立する代わりに、ユーザがコールを発するか、またはボタンを押すといった行為を開始するときに承認要求メッセージを複数のゲートキーパに送信する。複数のゲートキーパに承認要求メッセージを送信することによって、接続が失敗した場合にメッセージが少なくとも１つのゲートキーパに届く可能性が高まる。承認要求を受信すると、ゲートキーパは現負荷の分配に基づいて、チャネルを開設するために現時点で最も負荷の少ないゲートキーパを選択する。
【００２８】
図５および６は、ＣＳチャネルを設定するためにプライマリ・サーバ／ゲートキーパとエンドポイントとの間で交換されるメッセージを示す。どちらの図とも、エンドポイントが既にゲートキーパで登録されているということを仮定している。図５は加入者がフックをあげるか、またはボタンを押すなどのその他の種類の行為を行った場合にＣＳチャネルを設定するために使用される。図６はプライマリ・サーバ／ゲートキーパの負荷が軽い場合、定期メンテナンスが実行される場合、および／またはコールがエンドポイントに届けられることを必要とする場合にＣＳチャネルを設定するために使用される。
【００２９】
図５を参照すると、承認要求メッセージはエンドポイントによって、ＡＧＬリストの中の現プライマリ・サーバに属する上位３つのアドレスへ送信される。承認要求を受信すると、プライマリ・サーバ／ゲートキーパはエンドポイントとＣＳチャネルを確立するためにゲートキーパのうちの１つを選択する。承認要求を受信したゲートキーパは、承認確認（図示）または拒否（不図示）メッセージで応答する。確認メッセージが送信される場合、それはどのゲートキーパが選択されたのかについての情報を含む。返信されたメッセージが承認確認メッセージである場合、選択されたゲートキーパはＴＣＰ同期化またはＳＹＮをエンドポイントへ送信する。エンドポイントはＴＣＰ同期化肯定応答（ａｃｋｎｏｗｌｅｄｇｍｅｎｔ）またはＳＹＮ／ＡＣＫメッセージで応答する。選択されたゲートキーパはＴＣＰ  ＳＹＮ／ＡＣＫメッセージにＴＣＰ肯定応答またはＡＣＫメッセージで応答する。ここで、ＣＳチャネルは確立される。エンドポイントは次いで（Ｑ．９３１（Ｈ．３２３プロトコル）または招待（セッション開始プロトコルまたはＳＩＰ）メッセージなどの）コール設定メッセージをプライマリ・サーバ／ゲートキーパに送信する。プライマリ・サーバ／ゲートキーパは（Ｑ．９３１コール続行（Ｈ．３２３プロトコル）または許可（ＳＩＰ）メッセージなどの）コール続行メッセージで応答する。最後に、ある特定の構成で、プライマリ・サーバ／ゲートキーパは（Ｑ．９３１接続（Ｈ．３２３プロトコル）メッセージなどの）接続チャネル確認メッセージをエンドポイントへ送信する。エンドポイントへ接続するために、他のトランスポート層プロトコルがゲートウェイによって使用されてもよいことは理解されよう。例として、単純コンピュータ電話通信プロトコルまたはＳＣＴＰが挙げられる。
【００３０】
図６は交換される承認要求および承認確認／拒否メッセージが無いということを除き、図５と同じものである。これは、エンドポイントではなくプライマリ・サーバが、ＣＳチャネルが確立されることを最初に判定するためである。
エンドポイント２１６の各々の中に含まれるのは、サービス・モニタ２３２である。加入者へのサービス中に中断が無いように、障害を迅速に検出することが重要である。エンドポイントでコールが無く、そのためＣＳチャネルが無い場合、エンドポイントがゲートキーパまたはネットワークの障害を検出するのに長い時間がかかることがある。そのような場合、ＣＳチャネルが確立されるのを必要とする場合にのみ回復機構が開始されるのであれば適時の回復は不可能であるかもしれない。ＣＳチャネルを必要なときに確立できる高い可能性があるということを確実にするために、サービス・モニタはＣＳチャネル以外に、プライマリ・サーバ／ゲートキーパとエンドポイントとの間のチャネル上でキープ・アライブ方式を使用することによってこの問題に対処する。一般に、その他のチャネルとはＲＡＳチャネルであり、キープ・アライブ方式とは（キープ・アライブ登録要求とも呼ばれる）軽量の登録要求である。ＣＳチャネルが存在しない場合、各エンドポイントのサービス・モニタは、登録の間にゲートキーパによって送信される実際のタイム・トゥ・リブまたはＴＴＬ値に関係なく、より速い障害の検出のために高周波数（例えば毎秒６０）で軽量の登録要求を送信する。ＣＳチャネルが確立される場合、各エンドポイントは（典型的に、登録の間にゲートキーパによってエンドポイントに送信されるＴＴＬ値に基づいて）もっと広い間隔で軽量の登録を送信する。説明を簡単にするために、エンドポイントは双方のチャネルについて同じゲートキーパを用いる。
負荷分散エージェントの動作
【００３１】
ここで図３および４を参照して、負荷分散エージェント２２８の動作を論ずる。
エージェント２２８は、ＣＳチャネル確立イベントが生じたのかどうかを決定ダイヤモンド３００で判定する。ＣＳチャネル確立イベントが生じていない場合、エージェント２２８は定められた時間間隔の後で決定ダイヤモンド３００を繰り返す。ＣＳチャネル確立イベントが生じている場合、エージェント２２８は工程３０４へ進む。
【００３２】
工程３０４で、エージェント２２８はエンドポイントとＣＳチャネルを確立するために１つのゲートキーパを選択する。最初にゲートキーパを選択するために使用されるアルゴリズムは、ゲートキーパが存在し、かつ利用可能であることを条件として、エンドポイントのネットワーク領域内で最も負荷の少ないゲートキーパを選択する。そうでない場合、エージェントは全て直接に接続されたネットワーク領域の中で最も負荷の少ないゲートキーパを選択する。その後ＣＳチャネルが選択された時間間隔内で確立されない場合、承認要求を受信すると、エージェントはゲートキーパが存在することを条件として、エンドポイントのネットワーク領域内で２番目に負荷の少ないゲートキーパを選択する。そのようなゲートキーパが存在しない場合、エージェントは全て直接に接続されたネットワーク領域の中で２番目に負荷の少ないゲートキーパを選択する。その後ＣＳチャネルが選択された時間間隔内で確立されない場合、ゲートキーパが利用可能であり、かつ最初の２回の試みで以前に選択されていないことを条件として、エージェントは承認要求が受信されたゲートキーパを選択する。ゲートキーパが利用可能でない場合、エージェントはエンドポイントのネットワーク領域から、ゲートキーパが存在することを条件として３番目に負荷の少ないゲートキーパを選択する。そのようなゲートキーパが存在しないか、または利用可能ではない場合、エージェントは全て直接に接続されたネットワーク領域の中で３番目に負荷の少ないゲートキーパを選択する。プライマリ・サーバがコール設定メッセージをエンドポイントに送信する必要がある場合、登録の結果としてコールを置く必要がある場合か、またはＣＳチャネルの確立を求める場合、エージェントはエンドポイントへのＣＳチャネル接続メッセージ（例えばＴＣＰ  ＳＹＮメッセージ）を開始する。先のアルゴリズムとの唯一の違いは、エージェントによって選択された第３のゲートキーパは、エンドポイントが現時点で登録されているゲートキーパでなくてはならないということである。これは、エンドポイントとメッセージが前回うまく交換されたゲートウェイである。このアルゴリズムは、エンドポイントへのＣＳチャネルを開始することを常にプライマリ・サーバ／ゲートキーパに求める。１つの構成で、エンドポイントはアルゴリズムを機能させるために、登録要求の中のコール信号アドレスを求める、ポート上のリッスン・ソケットを保持しなければならない。
【００３３】
決定ダイヤモンド３０８で、エージェントはゲートキーパがうまく選択されたかどうかを判定する。うまく選択されていない場合、エージェントは次のチャネル確立イベントが生じるのを待つために、決定ダイヤモンド３００に戻る。３つの選択されたゲートキーパの全てが失敗であった場合（または、全ての可能なゲートキーパを使用することができる全て直接に接続されたネットワーク領域の中に３つのゲートキーパが実在しない場合）、エージェントは次のＣＳチャネル確立イベントが生じるまで、エンドポイントに接続しようとする試みを中止する。ゲートキーパがうまく選択された場合、工程３１２でエージェントは、選択されたゲートキーパとエンドポイントとの間のＣＳチャネルの確立を続行する。
【００３４】
サービス・モニタの動作
ここで、サービス・モニタ２３２の動作を図２および図７Ａ、Ｂを参照して論ずる。図７ＡおよびＢは、プライマリ・サーバ／ゲートキーパでエンドポイントがうまく登録されたことを仮定している。
【００３５】
決定ダイヤモンド８００で、サービス・モニタはＣＳチャネルがアップしているのかダウンしているのかを判定する。判定はキープ・アライブ・メッセージの失敗、ＣＳチャネルが閉じられていることを示す（ＴＣＰ完了もしくはＴＣＰ  ＦＩＮメッセージ、またはＴＣＰ同期化もしくはＴＣＰ  ＲＳＴなどの）メッセージの受信、および（ネットワークの停止による）再送信の失敗によって行われる。
【００３６】
チャネルがアップしている場合、モニタは決定ダイヤモンド８０４へ進み、選択された時間間隔が終了したのかどうかを判定する。終了していなければ、モニタは時間間隔が終了するまで決定ダイヤモンド８０４を繰り返す。終了していれば、モニタは、一般には軽量のキープ・アライブ登録要求であるキープ・アライブ・メッセージをプライマリ・サーバ／ゲートキーパに送信し、決定ダイヤモンド８００に戻る。
【００３７】
チャネルがダウンしている場合、モニタは決定ダイヤモンド８０８に進み、エンドポイントがＬＳＰなどの代替サーバに現時点で接続されているのかどうかを判定する。エンドポイントが代替サーバに接続されていない場合（プライマリ・サーバに接続されていることを意味する）、モニタは工程８１２へ進み、プライマリ・サーチ・タイマまたはＰＳＴを開始する。ＰＳＴは、エンドポイントがプライマリ・サーバへの信号接続を失った場合に、プライマリ・サーバまたはＥＳＳに接続し直すのにエンドポイントが費やさなければならない時間の量を特定する。このことによって、メディア・ゲートウェイが代替サーバに移る前に、エンドポイントが代替サーバへ移行することを防ぐことができる。エンドポイントは、メディア・ゲートウェイが代替サーバに接続されるまで、代替サーバからサービスを得ることができない。
【００３８】
工程８１６で、モニタはキープ・アライブ登録要求をＡＧＬリスト上の第１のプライマリ／ゲートキーパ・アドレスに送信する。このアドレスはＣＳチャネル接続が失敗したアドレスであり、サーバはおそらくまだこのアドレスを経由して到達可能ではないので、要求は現在のプライマリ・サーバ／ゲートキーパのアドレスに送信されることはない。
【００３９】
決定ダイヤモンド８２０で、モニタは定められた期間内に（例えばキープ・アライブ登録確認）応答がエンドポイントによって受信されたかどうかを判定する。応答が適時に受信されていない場合、モニタは工程８２４でＡＧＬリスト上の次のアドレスを選択する。決定ダイヤモンド８２８で、モニタはＰＳＴが終了しているかどうかを判定する。終了していない場合、モニタは工程８１６に戻り、次のアドレスにキープ・アライブ登録要求を送信する。終了している場合、モニタは決定ダイヤモンド８３２へ進み、エンドポイントが現時点でコール中であるかどうかを判定する。コール中の場合、決定ダイヤモンド８３２はコールが終わるまで繰り返される。コール中でない場合、モニタは工程８３６へ進み、代替サーバで登録する。
【００４０】
応答が適時に受信された場合、モニタは決定ダイヤモンド８２０へ戻って決定ダイヤモンド８４０へ進み、応答が適切なサーバから受信されたかどうかを判定する。これは典型的には、キープ・アライブ登録確認メッセージに含まれるモジュール識別子に対してプライマリ・サーバのモジュール識別子を比較することによって判定される。識別子が一致しない場合、応答は適切なサーバから受信されていない。一致しない場合、工程８２４へ戻り工程を繰り返す。一致する場合、モニタは工程８４４へ進み、工程８４２でＰＳＴをキャンセルする。
工程８４４で、モニタは短時間のキープ・アライブ・タイマを開始し、決定ダイヤモンド８４８へ進む。
【００４１】
決定ダイヤモンド８４８で、モニタはＣＳチャネルが依然としてアップしているかどうかを判定する。ＣＳチャネルがアップしている場合、サービス・モニタは工程８５２で短時間のキープ・アライブ・タイマをキャンセルし、工程８５６で回復手続きを開始する。ＣＳチャネルがアップしていない場合、決定ダイヤモンド８６０でサービス・モニタは短時間のキープ・アライブ・タイマが終了したかどうかを判定する。終了していない場合、サービス・モニタは決定ダイヤモンド８４８へ戻る。終了している場合、サービス・モニタは工程８６４へ進み、エンドポイントが現時点で登録されているゲートキーパへキープ・アライブ登録要求を送信する。
【００４２】
決定ダイヤモンド８６８で、サービス・モニタは選択された時間間隔内で応答（例えばキープ・アライブ登録確認または拒否メッセージ）が受信されたのかどうかを判定する。応答が適時に受信されていない場合、モニタは工程８７２でＰＳＴタイマを開始し、決定ダイヤモンド８７６でＣＳチャネルがアップしているかどうかを再度判定する。ＣＳチャネルがアップしている場合、モニタは工程８８０でＰＳＴをキャンセルし、工程８５６へ進む。ＣＳチャネルがまだアップしていない場合、決定ダイヤモンド８８４でモニタはＰＳＴが終了しているかどうかを判定する。終了していなければ、モニタは工程８２４へ戻り工程を繰り返す。終了していれば、モニタは工程８１６へ戻り工程を繰り返す。
【００４３】
応答が受信された場合、モニタは決定ダイヤモンド８６８へ戻って決定ダイヤモンド８８８で応答が適切なサーバから来ているかどうかを判定する。応答が適切なサーバから来ている場合、モニタは工程８９２で短時間のキープ・アライブ・タイマを再開始し、決定ダイヤモンド８４８へ戻る。応答が適切なサーバから来ていない場合、モニタは工程８９６でＰＳＴを開始し、現アドレスへ未登録要求を送信し、工程９００でＡＧＬリスト上の第１のアドレスで登録を開始する。次いでモニタは工程８１６へ戻る。
【００４４】
エンドポイントが代替サーバに接続される場合（プライマリ・サーバへ接続されていないことを意味する）、モニタは決定ダイヤモンド８０８へ戻って工程９０４へ進み、プライマリ移行タイマまたはＰＭＴを開始する。ＰＭＴはＰＳＴのように、エンドポイントの移行行動をメディア・ゲートウェイの移行行動に一致させる。つまり、ＰＭＴによって、代替サーバに接続されたメディア・ゲートウェイがプライマリ・サーバへ戻る前に、エンドポイントがプライマリ・サーバに戻ることを防ぐことができる。ＰＭＴは、代替サーバへの信号の接続を失うと、エンドポイントによって実行される。ＰＭＴが実行されている間、エンドポイントは代替サーバのアドレスを試し続け、プライマリ・サーバのアドレスで登録を試みることはしない。
【００４５】
工程９０８で、キープ・アライブ登録要求は代替サーバのアドレスへ送信される。
決定ダイヤモンド９１２で、モニタは定められた期間内に応答が受信されたかどうかを判定する。応答が受信されていない場合、モニタは決定ダイヤモンド９１６でＰＭＴが終了したかどうかを判定する。ＰＭＴが終了していない場合、モニタは工程９０８へ戻り、代替サーバの次のアドレスで工程を繰り返す。ＰＭＴが終了している場合、モニタは決定ダイヤモンド９２０で、エンドポイントが現在コール中であるかどうかを判定する。エンドポイントがコール中である場合、決定ダイヤモンド９２０はコールが終わるまで繰り返される。エンドポイントが現在コール中でない場合、モニタは工程９２４へ進み、プライマリ・サーバのＡＧＬリスト上のアドレスへの登録の試みを開始する。
【００４６】
応答が受信されている場合、モニタは再び決定ダイヤモンド９１２へ戻り、工程９２８でＰＭＴをキャンセルし、工程９３２で短時間のキープ・アライブ・タイマを開始する。
決定ダイヤモンド９３６で、モニタはＣＳチャネルが依然としてアップしているかどうかを判定する。ＣＳチャネルがアップしている場合、モニタは工程９４０で短時間のキープ・アライブ・タイマをキャンセルし、工程９４４で代替サーバへ戻る。ＣＳチャネルが依然としてアップしていない場合、モニタは決定ダイヤモンド９４８で、短時間のキープ・アライブ・タイマが終了しているかどうかを判定する。終了していない場合、モニタは決定ダイヤモンド９３６へ戻り、それを繰り返す。終了している場合、モニタは工程９５２へ進む。
工程９５２で、モニタはエンドポイントが現時点で登録されているアドレスへキープ・アライブ登録要求を送信する。
【００４７】
次にモニタは決定ダイヤモンド９５６で、応答が受信されたかどうかを判定する。受信されている場合、モニタは工程９６０で短時間のキープ・アライブ・タイマを再開始し、決定ダイヤモンド９３６へ戻る。応答が適時に受信されていない場合、モニタは工程９４６でＰＭＴを開始し、次いで工程９０８へ戻って代替サーバへ登録要求を送信する。次いでモニタは決定ダイヤモンド９１２へ戻る。
【００４８】
４８上述のフローチャートの中で、キープ・アライブ登録要求を送信する周波数は異なっている。ループ９７２でキープ・アライブ登録要求を送信する周波数は、工程８１６、８６４、８９６、９０８および９５２でそのような要求を送信する周波数よりもかなり低い。ＲＡＳチャネル上のこのハートビート機構は、ＣＳチャネルがうまく確立されるチャンスを高めることができる。高周波の軽量のキープ・アライブ登録要求は、ＣＳチャネルが存在しない場合に使用されるだけなので、さらに効率的でもある。
さらに、ＰＳＴ、ＰＭＴおよび短時間のキープ・アライブ・タイマの期間は、アプリケーションによって同じであるか、または異なっていてもよい。
【００４９】
本発明のいくつかの変形形態および変更形態を使用することができる。本発明の一部の特徴を、他の特徴を提供することなく提供することが可能である。
例えば１つの代替の実施形態の中で、本発明の様々な実施形態は、セッション開始プロトコルなどのＨ．３２３以外のプロトコルで機能する。
【００５０】
その他の代替の実施形態でサーバ、ゲートキーパ、および／またはエンドポイントは処理装置（ＣＰＵ）、マイクロプロセッサ、またはソフトウェアを実行するその他の種類のデジタル・データ・プロセッサもしくは特定用途向け集積回路（ＡＳＩＣ）、ならびに、それらの要素の様々な部分または組合せを含むソフトウェアによって制御されるシステムであってよい。
【００５１】
別の実施形態で本発明の論理は、ソフトウェア、（論理回路などの）ハードウェアまたはそれらの組合せとして実装される。
その他の実施形態でＰＳＴ、ＰＭＴおよび／または短時間のキープ・アライブ・タイマとは同じタイマのことを指す。
【００５２】
本発明は様々な実施形態の中で、本明細書で描写および説明するような部品、方法、プロセス、システムおよび／または装置を、様々な実施形態、部分的組合せおよびそれらの部分集合を含め、実質的に含む。本開示を理解した後、当業者には本発明の作成および使用方法が理解されよう。本発明は様々な実施形態で、先行のデバイスまたはプロセスで使用されてきた可能性のある品目を欠く場合を含めて、本明細書で描写および／または説明していない品目を欠く中で、またはここでの様々な実施形態の中で、例えば性能の改良、容易な実装の実現および／または実装コストの軽減のためのデバイスおよびプロセスを提供することを含む。
【００５３】
前述の本発明の考察は、例示および説明の目的で示されたものである。前述のものは、本明細書で開示する１つの形態または複数の形態に本発明を限定することを意図するものではない。例えば前述の詳細な説明では、本開示を合理化する目的のために本発明の様々な特徴が１つまたは複数の実施形態の中にまとめられている。この開示方法は、特許請求される発明が、各特許請求項の中で明示的に述べられているもの以上の特徴を要するという意図を表すものとして解釈されるわけではない。むしろ、冒頭の特許請求の範囲が表すように、発明の態様は前述の開示された単一の実施形態の全ての特徴よりも少ないもののうちに存在する。したがって、冒頭の特許請求の範囲は、各請求項が本発明の個別の好ましい実施形態として独立しながら、本明細書でこの詳細な説明の中に組み込まれる。
【００５４】
さらに、本発明の説明は１つまたは複数の実施形態、ならびに特定の変形形態および変更形態の説明を含むが、その他の変形形態および変更形態は、例えば本開示を理解した後に当技術分野の技術および知識に含まれてもよいように、本発明の範囲に含まれる。特許請求されるものについての代替の、交換可能な、および／または同等の構造、機能、範囲または工程を含め、そのような代替の、交換可能な、および／または同等の構造、機能、範囲または工程が本明細書で開示されているかどうかに関わらず、かつ特許が与えられる対象のいかなるものも公に呈することを意図せずに、可能な限り代替の実施形態を含む権利を得ることを意図する。
【図面の簡単な説明】
【００５５】
【図１】先行技術による遠距離通信システムを示す構成図である。
【図２】本発明の一実施形態による遠距離通信システムを示す構成図である。
【図３】本発明の一実施形態による負荷分散エージェントの動作を示すフローチャートである。
【図４】先行技術による登録プロセスを示す信号のフロー図である。
【図５】本発明の一実施形態によるチャネル生成プロセスを示す信号のフロー図である。
【図６】本発明の別の実施形態によるチャネル生成プロセスを示す信号のフロー図である。
【図７Ａ】本発明の一実施形態によるサービス・モニタの動作を示すフローチャートである。
【図７Ｂ】本発明の一実施形態によるサービス・モニタの動作を示すフローチャートである。
【図１】
2007013970.tif 000003
【図２】
2007013970.tif 000004
【図３】
2007013970.tif 000005
【図４】
2007013970.tif 000006
【図５】
2007013970.tif 000007
【図６】
2007013970.tif 000008
【図７Ａ】
2007013970.tif 000009
【図７Ｂ】
2007013970.tif 000010