[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5523012B2 - エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法 - Google Patents

エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法 Download PDF

Info

Publication number
JP5523012B2
JP5523012B2 JP2009188159A JP2009188159A JP5523012B2 JP 5523012 B2 JP5523012 B2 JP 5523012B2 JP 2009188159 A JP2009188159 A JP 2009188159A JP 2009188159 A JP2009188159 A JP 2009188159A JP 5523012 B2 JP5523012 B2 JP 5523012B2
Authority
JP
Japan
Prior art keywords
server
controller
endpoint
sip
servers
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
Application number
JP2009188159A
Other languages
English (en)
Other versions
JP2010074824A (ja
Inventor
アル ベーカー
エリック コーパー
Original Assignee
アバイア インク.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by アバイア インク. filed Critical アバイア インク.
Publication of JP2010074824A publication Critical patent/JP2010074824A/ja
Application granted granted Critical
Publication of JP5523012B2 publication Critical patent/JP5523012B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1073Registration or de-registration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1093In-session procedures by adding participants; by removing participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信ネットワークに関し、特にサバイバルネットワークに関する。
クライアント・サーバ・システムのアーキテクチュアにおいて、クライアントは、サービスをサーバから受け取る。例えば電話機は、電話の接続とフューチャーサービスを電話会社から受ける。信頼性を高めるためにサーバは、複製され、サーバの1つのコピーが故障すると別のコピーがそれに取って代わり、同一サービスを故障の影響を受けたクライアントに提供し続ける。これは、それぞれ、リダンダンシー(redundancy)とフェール・オーバ(fail-over)と称する。
現代の通信システムは、リダンダントな(冗長な)サーバに対するフェール・オーバを、クライアントが実行するよう要求しているが、これはサーバが、クライアントの為にフェール・オーバを実行するのとは対照的である。クライアントは、自分自身をサーバに接続し通信して、サービスをそのサーバから受取らなければならない。このことは、故障したサーバから予備のサーバにフェール・オーバするために、クライアントは、故障したサーバに代えて予備のサーバに登録(代替登録)するか、或いは両方のサーバに同時に登録して(同時登録)おかなければならない。
代替登録においては、クライアントは、自分が使用できるサーバのリストを用意し、これ等のサーバの1つのサーバに登録し、そのサーバからサービスを受ける。サービスを受けているサーバが故障した時には、クライアントは、別の第2のサーバに登録し直し、同じサービスを別のサーバから受ける。更に第2のサーバが故障すると、クライアントは、第3のサーバに登録し、この第3のサーバからサービスを受ける。以下順に同様のことを繰り返す。登録には時間を要するために、別の登録を行うのには、クライアントが、別のサーバにフェール・オーバする毎に、サービスをクライアントが得るのが遅れる。
米国特許出願12/056246号明細書 米国特許出願12/056248号明細書 米国特許出願12/056250号明細書 米国特許出願12/056253号明細書
同時登録においては、クライアントは、自分が使用できるサーバのリストを具備し、クライアントは、これ等全てのサーバに一度に登録する。クライアントは、サービスを何時でもこれ等のサーバの内の1つから受け取り、そのサーバが故障した場合には、クライアントは、他のサーバ1つからサービスを直ち受領する為に、調整する。この為には、クライアントは、一時に全てのサーバとの接続を生成し維持することが必要である。この方法は、通信ネットワークの資源の無駄遣いとなる。その理由は、これ等のサーバの接続の1つのみが使われるだけだからである。
これ等の問題が発生する1つの環境は、Session Initiate Protocol(SIP)サバイバルネットワークである。SIPは、オープンシグナリングプロトコルで、あらゆる種類のリアルタイムの通信セッションを確立する。SIPを使用して確立される通信セッションのタイプの一例は、音声、画像、ゲーム、アプリケーション、インスタントメッセージ等である。これ等の通信セッションは、あらゆる通信装置上で実行可能である。例えばパソコン、ラップトップコンピュータ、Personal Digital Assistance(PDA)、携帯電話、IMクライアント、IPホーン、通常の電話、サーバアプリケーション、アプリケーション群、デスクトップアプリケーション等である。
SIPの特徴は、Address of Record(AOR)を、エンドユーザ、アプリケーション、サービス・プロバイダ・ネットワークへの全ての通信用に、1個の統一したパブリック・アドレスとして使用することである。かくして、SIP強化通信の世界においては、ユーザのAORは、ユーザをそのユーザに関連する全ての通信機器にリンクさせる単一のアドレスとなる。このAORを用いると、発呼者は、ユーザの通信機器の何れか1つに到達することができる。これはUser Agent(UA)と称するが、これは、唯一の装置アドレス或いは電話番号を知ることなく、行うことができる。
多くのSIPアプリケーションサーバの存在目的は、SIP環境で通信アプリケーションを可能にし、UA用のアウトバンド・プロキシ(outboud proxy)として、サービスすることである。これにより、複雑なネットワークを構築しながら、ネットワーク内に接続させる為に、装置が使用するプロキシを介するという複雑さを解消することである。このような通信アプリケーションの原理の1つは、SIP・UAの呼びの制御(call contoller)である。サバイバルSIPネットワークの構築を提供する際に発生する問題点に対する解決方法は、SIPシグナリングに対し応答がない時に採用されるSIPプロキシを使用することである。このSIPプロキシは、シグナリングをネットワーク内の1つ或いは複数の別のルートを介して、ルーティングするために用いることができる。個別のプロキシを使用することは、高価になる。その理由は、コールコントローラ或いはゲートウエイ以外の付加的なネットワーク要素が、サバイバルさせるために、必要となるからである。
他のネットワークサーバ製品は、地理的にリダンダントな(geo-redundant)構造を提供する。その結果、例えばゲートウエイは、ネットワークサーバの高い利用性(high availability of network server)に起因して、ネットワークサーバの故障に遭遇する可能性は低い。プロキシを使用する特定の解決方法は高価となる。その理由は、利用性の高いサーバを購入しなければならず、又それをネットワーク全体に分散配置しなければならないからである。現在分かっている解決方法の更なる欠点は、ネットワーク要素(例;ゲートウエイ)は、プライマリーなSIPシグナリングパスが利用できなくなった時には、別のパスを使用することが許されないからである。この解決方法は、サーバ間でデータを複製するホットスタンバイ構築を必要とする。この解決方法は、同一バージョンのSIPを確実に利用するプライマリ(第1)と第2のコールコントローラを必要とし、更にSIP特徴の同一のセットをSIPのエンドポイントに確実に提供しなければならない。
ネットワークの故障が発生した時点を決定するロジックは、従来はルーター内に配置されていた。そしてこのルーターが、ネットワークのIPレイヤーをチェックする機能を有し、様々なネットワーク要素が適正に動作しているか否かを決定する。この故障/フェールバック検出ロジックは、ルーター内に配置されて、残りのネットワーク要素にかかる処理負荷を軽減している。この構造の主な欠点は、ルーターは、SIPアプリケーションレベルで、サーバ或いは他のネットワーク要素が動作可能か否かを検出できない点である。サーバはIPレイヤーレベルでは動作可能であるが、SIPコノトローラは動作可能ではないような事例は沢山ある。従来のルーターと他のネットワーク要素は、これ等の状況において、このような故障条件を特定できず、このようなサーバを動作可能と登録してしまう。その結果、故障決定ロジックを、SIPが可能な通信エンドポイントに配置することが提案され、更にSIPエンドポイントが、代替登録或いは同時登録を、SIPコントローラで行うことが提案されている。
本発明の一態様によれば、クライアント(例;SIP・UA)は、クライアントがアクセスできるサーバのサブセット(例;SIPコントローラ)に、同時に登録され、このサブセット内のサーバの少なくとも1個のサーバからサービスを受ける。このサーバのサブセットは、利用可能な全てのサーバではないが、複数個のサーバを含む。サブセット内のサーバの1つが故障した場合には、クライアントは、このサブセット外にある(含まれない)サーバの1つを追加登録し、そのサーバをサブセット内に組み入れる。この技術は、代替登録と同時登録との間の中間にある。例えばサブセットのサイズ(数)は、全てのクライアントに対し同じであってもよい。別の構成としては、サブセットのサイズは、ロケーション或いは誰がそのユーザであるかによって、クライアント毎に変わってもよい。
本発明の他の態様によれば、利用可能なサーバは、順番に並んでいる。好ましくはサーバは、サービスを得る為にクライアントが使用すべき優先順位で並んでいる。最初にサーバのサブセットは、その順番の最初のN個のサーバを含む。このサブセット内のサーバの1つが故障すると、クライアントは、その順番の(N+1)番目のサーバを登録する。このサーバは、シーケンス内のサブセットの直後のサーバであり、かくして、新たなサーバをサブセット内に入れる。この手順を、サブセット内のサーバの全ての故障に対し繰り返す。好ましくは、サブセット内の故障したサーバの1つが、サービス可能状態に復帰すると、クライアントは、サブセット内の最後に入れたサーバの登録を抹消し、必要に応じて回復したサーバを再登録する。かくして、このサブセットが、利用可能なサーバのシーケンス上で、スライドするウインドウを構成する。
本明細書で使用される「監視」は、要素の動作あるいは状態に何の影響も及ぼさない機器で観測したり、記録したり、検出したりするあらゆる種類の機能を含む。
本明細書で使用される「少なくとも1つ或いは複数」、「と/又は」は、それらの内の1つに限定されない。例えば「A,B,Cの内の少なくとも1つ」は「A」、「B」、「C」単独のみならず「A,B或いはB,C更には又A,B,C」のように複数のものを含んでもよい。「A,B,Cの内の少なくとも1つ」は、A,B,C単独のみならずA,Bの組合せA,B,Cの組合せでもよい。「A,Bと/又はC」は、A,B,C単独のみならず、A,Bの2つ、或いはA,B,Cの全部を含んでもよい。
本明細書において単数、複数は、特に指定のない限り、その何れか或いはその両方を含む。更に本明細書において「Aを含む」「Aを有する」は、A以外のものを含んでもよい。
「自動的」とは、人間が関与せず行われるプロセス或いは動作を指す。しかし、プロセス或いは動作の実行に、プロセス或いは動作の実行前に、サービスを受領する人間による入力を必要とする場合でも、「自動的」と称する。これは、能動的或いは非能動的でもよい。人間の入力は、このような人間の入力が、プロセス或いは動作が如何に行われるかに影響を及ぼす点では能動的である。プロセス或いは動作の実行に同意を示す人間の入力は能動的とは見なされない。
「コンピュータで読み込み可能な媒体」とは、プロセスを実行するプロセッサに指示を与える記憶装置、伝送媒体を含む。「コンピュータで読み込み可能な指示」は、ネットワーク伝送でIPネットワーク(例;SOAP)を介して符号化された一連の指示である。このような媒体は如何なるものでもよく、例えばこれに限定されるわけではないが、非揮発的媒体、揮発的媒体、伝送媒体である。非揮発的媒体は、NVRAM又は磁気ディスク、光学ディスクを含む。揮発的媒体は、RAM例えばメインメモリを含む。「コンピュータで読み込み可能な媒体」は。例えばフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ或いはあらゆる種類の磁気媒体、或いは磁気−光学媒体、CD−ROM或いは他の光学媒体、パンチカード、ペーパーテープ、或いは一定の穴があいた物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、メモリカードのような固体状態媒体或いは他のメモリチップ、カートリッジ、搬送波或いはコンピュータが読み込むことができるあらゆる媒体を含む。e−メールに添付したデジタルファイル或いは自己保有情報のアーカイブも、記憶媒体と等価な分散媒体として認識できる。「コンピュータで読み込み可能な指示」は、データベースを構築する。データベースは、あらゆる種類のデータベース、例えば、関連データベース、階層的データベース、オブジェクト指向のデータベース等である。従って本発明は、記憶媒体、分散型の媒体或いは従来の認識可能な等価物とサクセッサー媒体を含む。これ等の媒体中に本発明のソフトウエアが記憶される。
用語「決定」、「計算」は、あらゆる種類の措置、処理、数学的な操作を含み、これ等は互換性をもって使用される。より具体的には、これ等の用語は、BPEL或いはルールランゲィッジ等の解釈されたルールも含む。このルールには、ロジックが記憶しづらいが読み込まれたり、解釈されたり、コンパイルされたり、実行されたりするようなルールファイルの中に表される。
「モジュール」又は「ツール」は、現在公知或いはこれから開発されるあらゆるハードウエア、ソフトウエア、ファームウエア、人工知能、ファジーロジック、これ等の要素に関連する機能を実行するハードウエアとソフトウエアの組合せも含む。
本発明の一実施例の通信システムのブロック図。 SIPコントローラの発見と登録方法を表すフローチャート図。 状態決定方法を表すフローチャート図。 リアクティブ状態決定方法を表すブロック図。 ゲートウエイ操作の方法を表すフローチャート図。 エンドポイントの状態決定方法を表すフローチャート図。 状態通知方法を表すフローチャート図。
本発明を通信システムを例に以下説明する。本発明は、サーバ又はデータベースを用いたシステムに摘要可能であるが、本発明は、特定の種類の通信システム或いはシステムの要素の構築に限定されない。更に本明細書において、用語「データベース」は、関連するデータベースシステムのみならず、コンピュータの記憶機構でハードウエアとソフトウエアの両方に利用可能なものも含み、例えばRAMとハードディスクを含む。ここに開示された技術は、SIPサバイバルネットワークを維持するのに好ましい通信アプリケーションに使用できる。
本発明のシステムと方法は、解析ソフトウエアとモジュールと関連する解析ハードウエアを例に説明する。しかし以下の説明では、公知の構造、構成要素、装置は、ブロック図で示し、説明は回避或いは一般的に留めている。このような公知の構造の一例は、IPインフラストラクチュウア、レイヤー2スイッチ、レイヤーIPルータ、IPレベルファイヤーウオール、Network Address Translation(NAT)装置、SIPセッションボーダーコントローラSBC等である。
本発明の詳細な説明は、本発明を理解するためのものであるが、本発明はここに開示した特定の実施例以外に様々な方法で実行可能である。
図1に通信システム100を示す。通信システム100は、第1ネットワーク104を有する。この第1ネットワーク104は、エンドポイント(SIPユーザエージェントUA)108を複数の他の通信システムに接続する。ユーザ・エージェント(UA)108は、第1ネットワーク104に接続された他のエンドポイントと通信可能である、或いは第1ネットワーク104の外部にある他のエンドポイントと通信可能である。例えばユーザ・エージェント(UA)108は、第2ネットワーク152に接続されたエンドポイント156と通信可能である。
第1ネットワーク104と第2ネットワーク152は、あらゆるタイプの公知の通信ネットワーク又は通信要素の集合体に対応する。第1ネットワーク104は、ローカルネットワーク(LAN)、ワイドエリアネットワーク(WAN)、或いはレイヤー3レイヤー4、他のタイプのネットワーク(OSIモデル)で定義されるものを含む。
第2ネットワーク152は、あらゆるタイプの情報伝送媒体を含み、エンドポイント間でメッセージを送信するあらゆるタイプのプロトコールを用いることができる。インターネットは、第1ネットワーク104の一例である。インターネットは、世界中にある複数のコンピュータと他の通信装置から構成されるIPネットワークを構成する。これ等は、多くの電話システム或いは他の手段で接続される。第2ネットワーク152の他の一例は、従来の電話システム(POTS)、ISDN、公衆交換電話ネットワーク(PATN)、LAN1、携帯電話ネットワーク、他の種類のパケット交換、又は回線交換ネットワークである。第1ネットワーク104と第2ネットワーク152は、有線又は無線の通信技術を含む。
ユーザ・エージェント(UA)108のSIP機能は、1つ或いは複数のサーバ136を具備する。このサーバ136は、第1ネットワーク104にも接続される。ユーザ・エージェント(UA)108は、第1ネットワーク104外の他のサーバ或いは通信装置により制御される。例えばゲートウエイ148は、第1ネットワーク104と第2ネットワーク152を接続するが、ユーザ・エージェント(UA)108用にSIP制御機能を提供する。
SIP機能を提供することに加えて、サーバ136は以下のものを含む。ボイスコールソフトウエア(例;VoIPソフトウエア)、ビデオコールソフトウエア、IMソフトウエア、ボイスメッセージングソフトウエア(例;マルチメディアメッセージング、例えばオーディオビデオメッセージング、IMメッセージング等)、記録用ソフトウエア、IPボイスサーバ、ファックスサーバ、ウエブサーバ、eメールサーバ、コールセンターアプリケーション。
本発明の一実施例によれば、サーバ136は、他の様々なプロトコール用のインターフェイスを含む。例えばLightweight Directory Access Protocol(LDAP),H.248,H.323,Simple Mail Transfer Protocol(SMTP),Internet Message Access Protocol 4(IMAP4),Integrated Services Digital Network(ISDN),E1/T1,HTTP,SOAP,XCAP,STUNとアナログライン又はトランクである。
サーバ136は以下のものを含む。PBX、オートマチックコールディストリビュータ(ACD)、企業用の交換機、他の種類の通信システムの交換機(例;ある電話から他の電話への呼びをルーチングできる装置、例えばコンプレックスマシン或いはその中央の交換器内に配置されるコンプレックスマシン、或いは一連のマシンで、これ等は複数の回線を接続し、各回線はダイヤルされた電話番号に従って加入者電話に接続される)、サーバ、他の種類のプロセッサベースの通信制御装置(例、メディアサーバ、コンピュータ、アジャンクト等)。
ゲートウエイ148は、通信ネットワーク間の変換ユニット(トランスレーションユニット)として機能する。例えばPSTN、次世代ネットワーク、2G、2.5G、3Gの無線アクセスネットワーク、PBXとして機能する。ゲートウエイ148の機能の1つは、様々なネットワーク用に、異なる伝送符号化技術を変換することである。メディアストリーミング機能、例えばエコーキャンセラー、DTMF、トーンセンダー等は、ゲートウエイ148によりサポートされている。ゲートウエイ148は、更に1つのネットワークオペレーションパラダイム(例;伝送プロトコール)から他のネットワークオペレーションパラダイムへ信号/メッセージを変換する。
SIP機能をユーザ・エージェント(UA)108に具備させるために、サーバ136又はゲートウエイ148は、1つ或いは複数(N個)のコントローラ140a−Nを有する。ユーザ・エージェント(UA)108は、一時に複数のコントローラ140a−Nの内の1つ或いは複数に登録される。用語「登録する」と「登録」は、SIP登録とネットワークアタッチメント方法とプロセスを表し、これ等は、SIP REGISTERネットワークの送信と受領確認に限定されず、他のメカニズム、例えばSUSBSCRIBEメッセージ、加入用のOPTIONメッセージを用いた問い合わせ、或いは他の非SIP機構例えばファイアウオールとNAT検出(STUNプロトコール、HTTPクワイアリを用いた)である。
コントローラ140a−Nは、サーバ136上にあるアプリケーション又はファームウエアに対応する。コントローラ140a−Nを用いて、ユーザ・エージェント(UA)108に向けたSIPメッセージと、ユーザ・エージェント(UA)108からのSIPメッセージを取り扱う。コントローラ140a−Nにより取り扱われるSIPメッセージは、アウトバウンド(出発)SIPメッセージと、インバウンド(来入)SIPメッセージに対応する。アウトバウンド(出発)SIPメッセージは、ユーザ・エージェント(UA)108により生成され、エンドポイント156に向けられたものである。インバウンド(来入)SIPメッセージは、エンドポイント156により生成され、ユーザ・エージェント(UA)108に向けられたものである。コントローラ140a−Nは、通信システム100のアプリケーション・レイヤーで動作する。
本発明の一実施例によれば、ユーザ・エージェント(UA)108は、全部ではないが複数のコントローラ140に同時に登録できる。ユーザ・エージェント(UA)108が同時に登録されている各コントローラ140は、異なる属性を有し、それ故にユーザ・エージェント(UA)108に異なるSIP機能を与えることができる。例えば、ユーザ・エージェント(UA)108は、第1コントローラ140aと第2コントローラ140bに同時登録できる。第1コントローラ140aは、延長した(即ち高級フューチャーセット:advanced feature sets)エクステンションを使用する。第2コントローラ140bは、標準のInternet Engineering Task Force(IETF)に適合するSIPエクステンションを使用する。これは、RFC3261を含むSIPプロトコール上の1つ或いは複数のIETFRFCに従って、呼びを処理するものである。
同時登録構成においては、ユーザ・エージェント(UA)108は、アクティブ−アクティブ登録、又はアクティブ−スタンバイ登録のいずれかが可能である。
アクティブ−アクティブ登録においては、ユーザ・エージェント(UA)108は、自身が登録されているあらゆるコントローラ140からSIPメッセージを受領し、SIPメッセ−ジを自身が登録されているあらゆるコントローラ140に送ることができる。これは、メッセージがプライマリ・コントローラ140に送られたか、或いはプライマリ・コントローラ140から送られて来たかを決定せずに行う。
アクティブ−スタンバイ登録構成においては、ユーザ・エージェント(UA)108は、SIPシグナリングの為に、アクティブなコントローラ140のみを使用するが、但し、これはアクティブなコントローラ140が動作不可能でない場合に限られる。
このような構成においては、メッセージをスタンバイのコントローラ140から受領した場合においては、ユーザ・エージェント(UA)108は、対応するプライマリ・コントローラ140は動作可能であるとして、SIPメッセージをスタンバイのコントローラ140に戻し、プライマリー・コントローラ140を介して、メッセージを再配送する。
本発明の更なる実施例によれば、ユーザ・エージェント(UA)108は、コントローラ140a−Nに優先登録を実行する。これにより、ユーザ・エージェント(UA)108は、第1のコントローラ140aに登録されるが、これは、ユーザ・エージェント(UA)108が、第1のコントローラ140aがアウトオブサービス状態か、或いはSIP機能を提供することができないと決定しない場合に限られる。この場合、ユーザ・エージェント(UA)108は、第2のコントローラ140bに登録される。
本発明の更なる実施例によれば、ピアツーピア(peer-to-peer)のSIPネットワーク構築を採用することもできる。このネットワークの場合には、ユーザ・エージェント(UA)108は、別のエンドポイント或いは複数のエンドポイント上にあるコントローラ140に登録する。
ユーザ・エージェント(UA)108は、メモリ112とプロセッサ124を有する。プロセッサ124は、メモリ112内に記録されたルーチンを実行し、来入/出発SIPメッセージとメディアを処理する。メモリ112は、ディスカバリ・モジュール116とコントローラのリスト120とを有する。ディスカバリ・モジュール116は、通信システム100内でユーザ・エージェント(UA)108を制御できるコントローラ140を含む装置を発見する機能を有する。本発明の一実施例によれば、ディスカバリ・モジュール116は、利用可能なコントローラ140が応答できるディスカバリー・リクエストを送信する。コントローラ140から受信した応答(又は応答の欠如)に基づいて、ディスカバリ・モジュール116は、コントローラのリスト120に複数のコントローラ140を入れる(登録する)。ディスカバリ・モジュール116は、順番リストを作る。この順番リストは、その属性132に基づいたコントローラ140の優先リストを含む。ユーザ・エージェント(UA)108は、どのコントローラ140を登録するかを、コントローラ・リスト128内のコントローラ140の順番に基づいて、決定する。
ディスカバリ・モジュール116は、コントローラ140を発見し、コントローラ140の間の仲裁を行う機能を提供するに加えて、更に通信システム100の状態を監視して、現在のネットワーク104の故障、サーバ136の故障、ゲートウエイ148の故障、或いは他の種類の故障(例、ユーザ・エージェント(UA)108、そのコントローラ140との間の関連に影響を及ぼすような故障)があるか否かを決定する。以下に詳述するように、ディスカバリ・モジュール116は、通信システム100とその構成要素の状態をプロアクティブにかつリアクティブに監視する。
通信システム100の状態をプロアクティブに監視している間、ディスカバリ・モジュール116は、ノン・ダイアログのSIPメッセージを所定のロジックと共に採用して、通信システム100の状態を決定する。ユーザ・エージェント(UA)108は、更に別の通信システム100の構成要素(例;ゲートウエイ148)により、通信システム100の状態をリアクティブに監視するよう、促される。ユーザ・エージェント(UA)108に通信システム100の状態を監視する機能を提供することにより、他の構成要素(例えばルーター)から処理負荷を取り除く。これにより、ユーザ・エージェント(UA)108は、通信システム100の状態を独立して監視することができる。これにより通信システム100をより良く監視することができ、且つユーザ・エージェント(UA)108は、コントローラ140のための個人的な記録を保持する。言い換えると、ユーザ・エージェント(UA)108からのインテリジェンスと通信システム100内の他の構成要素(例、ゲートウエイ148またはサーバ136)との組合せを用いて、システム100の状態をより正確でかつ最新の状態のピクチャを得ることができる。ユーザ・エージェント(UA)108が、ネットワークレイヤーの操作性(例;通信システム100を通してIPパケットを送信することにより)と、SIPアプリケーションレイヤー(例;通信システム100を通してSIPメッセージを送信することにより)と、この二つの組合せを検査することができることにより、システムの健全性のピクチュアの正確性を更に増すことができる。
サーバ136とゲートウエイ148は、ディスカバリ・モジュール144を有し、通信システム100の状態を評価する。より具体的には、各ディスカバリ・モジュール144を用いて、独立に様々なピア構成要素(例;ディスカバリ・モジュール144を含む装置に隣接する通信システム100の構成要素)と遠端の構成要素(ディスカバリ・モジュール144を含む装置に隣接しない通信システム100の構成要素)の状態を監視する。各ディスカバリ・モジュール144を用いて、通信システム100とその構成要素の状態を独立に評価する。
ディスカバリ・モジュール144は、ソフトウエア・モジュールを有する。このソフトウエア・モジュールには、通信システム100又は他のエンドポイント156が、集団として(slustered way:即ち、複数のサーバ136が、エンドポイントからの問い合わせ「どのコントローラを私(エンドポイント)は使うべきか」の質問に答える形で)、又は単独で、アクセスできる。ディスカバリ・モジュール144は、複数のプロトコールを用いて実現でき、更に同時に複数のプロトコールをサポートできる。より具体的には、各ディスカバリ・モジュール144は、SOAP/HTTPと、SXAP(SOAPのようなHTTP標準を介した別のXML)と、更には又SIP(例;SIPメッセージの本体内にコントローラ140のリストを提供することにより)の中の1つ或いは複数のプロトコルをサポートする。
ディスカバリ・モジュール144は、あるユーザ・エージェント(UA)108に対し、自分自身のコントローラのリスト(どのコントローラが、リクエストによりユーザ・エージェント(UA)108に最終的に提供されるかを決めるリスト)を、ルールプロセッシングを介して、決定する。このルールプロセッシングは、ハード・コーディッド(hard coded)( JAVA(登録商標) code)されるか、ルールエンジンを有する。このルールエンジンは、スクリプト(例、XML)を取り出し、それを解析して、それを所定の時に実行する。所定の時とは、スクリプトが、コントローラのリストを要求しているユーザ・エージェント(UA)108に対し、どれが最も適切なコントローラ140であるかを決定することを望んだ時である。アルゴリズムに含まれるルールの種類は、以下のものが含まれる。
(1) ネットワークの局地性検査
このネットワーク局地性検査は、現実のネットワークトポロジーを解析し(ネットワークを介して送信されたIPパケットを解析することにより)、ユーザ・エージェント(UA)108に対し最も適切なコントローラ140を決定する。このルール・セットは、バンド幅管理機能を有する。このバンド幅管理機能により、ディスカバリ・モジュール144は、ユーザ・エージェント(UA)108を要求したIPを検査し、その後最も利用可能なバンド幅をリストアップしているバンド幅の記憶リストをルックアップし、その後ユーザ・エージェント(UA)108にベスト・マッチするコントローラ140を選択する。この場合、ベスト・マッチするものは、ユーザ・エージェント(UA)108に最も近く利用可能なバンド幅を有するコントローラ140を含むサーバ136である。
(2)セキュリティ検査アルゴリズム
このアルゴリズムがルールの含まれる理由は、ユーザ・エージェント(UA)108が、セキュリティのために、特定のサーバ136/コントローラ140に接続すべき場合が存在するからである。例えばCEOの電話は、セキュリティの最も高いサーバにのみ接続される。この最も高いセキュリティは、常に監視され数秒で接続チされる。他方技術サポート部門の電話は、サーバ群を構成するサーバ136の組のどれにでも接続することが許される。このサーバ群では、セキュリティ監視が24時間以内に行われる。
(3)ユーザ割り当てアルゴリズム
ユーザ割り当てアルゴリズムにより、ディスカバリ・モジュール144は、どのサーバ136が特定のユーザにサービスを提供するかを決めるマッピングを検査する。複数のサーバがある場合(例、georedundancyの構築がある場合)には、複数のコントローラ140が応答して戻される。
(4)ビジネスルールアルゴリズム
ビジネスルールアルゴリズムにより、ディスカバリ・モジュール144は、スクリプト内で、顧客にフック(Hook)を具備させる。このスクリプトでは、全てのセールスマンはあるサーバ136を使い。全ての技術サポート部隊は別のサーバを使うと規定する。
(5)装置のモード・アルゴリズム(device modality algorithum)
これは、ユーザ・エージェント(UA)108が、コントローラ140に対し要求しているモード(例;音声、インスタントメッセージ(IM)、画像等)を表す時に、開始する。このアルゴリズムを採用すると、ディスカバリ・モジュール144は、内部の資格アサイメント(internal capabiltiy assignment)をルックアップし、ユーザに最適のタイプのモードを提供するのにベストなコントローラ140を選択する。音声とインスタントメッセージを提供できるユーザ・エージェント(UA)108は、ボイス用のサーバだけよりもこれらの機能の両方をサポートできるサーバ136を好む。
(6)プロトコール適合性アルゴリズム
プロトコール適合性アルゴリズムは、要求しているユーザ・エージェント(UA)108が、それが特定のプロトコールのセットをサポートしていることを認識した時に、開始する。これは特にSIPの場合に有用である。その理由は、SIPは、複数のプロトコール・エクステンションだからである。要求しているユーザ・エージェント(UA)108が、コントローラ140に問い合わせると、コントローラ140は、それがサポートするプロトコール特徴(例、presence subscription又はsubscription全般)を表し、サーバは、そのユーザ・エージェント(UA)108に対しベストマッチを見出すことができる。
図2を参照すると、SIPコントローラ140の発見方法と登録方法を、本発明の一実施例で説明する。この方法は、システム100内のエンドポイント(例、ユーザ・エージェント(UA)108)で実行される。システム100内のユーザ・エージェント(UA)108は、様々なコントローラ140を発見し登録する。この方法が開始されるのは、エンドポイントが、ディスカバリ・メッセージを送信した時(ステップ204)である。ディスカバリ・メッセージは、本発明の一実施例によれば、SIPメッセージ(例、OPTIONメッセージ、NOTIFYメッセージ、SUBSCRIBEメッセージ)を含む公知のディスカバリ・メッセージを含む。このディスカバリ・メッセージは、システム100内の1つ或いは複数の構成要素に送信され、その構成要素のSIP機能をテスト或いは問い合わせをする。
ディスカバリメッセージを、コントローラ140を含む通信システム100の他の構成要素(例;サーバ136又はゲートウエイ148)が受領すると、この他の構成要素は、ディスカバリメッセージに対し応答メッセージで応答する。別の構成として、どの構成要素もディスカバリメッセージに対し応答ができない時には、応答メッセージは、開始したエンドポイントには戻されない。コントローラ140の応答メッセージは、その後開始したエンドポイントが、受領する(ステップ208)。エンドポイントが、ディスカバリメッセージに対する応答を受領すると、或いは応答が無いことが判ると、エンドポイントは、そのディスカバリ・モジュール116を採用して、コントローラのリスト120に入れる。
応答メッセージは、応答したコントローラ140の属性132を含む。応答メッセージに含まれる属性情報の一例は、サーバ136又はゲートウエイ148の処理能力と、コントローラ140により提供されるSIPエクステンション(即ち、SIP機能)と、コントローラ140に現在登録してあるUAの数と、コントローラ140とエンドポイントとの間の距離(即ちエンドポイントと対応する装置との間のホップ数)等である。エンドポイントのディスカバリ・モジュール116は、この属性情報を用いて、コントローラのリスト128内のコントローラ140の順番を調整して、順番の付いたコントローラのリスト128を構成する(ステップ212)。ディスカバリ・モジュール116は、あらゆる種類の公知の属性アルゴリズムを用いて、コントローラ140の順番を決定することができる。例えばディスカバリ・モジュール116は、コントローラ140のリストアップされた属性の全てを最適化しようとする。別の構成として、ディスカバリ・モジュール116は、エンドポイントのニーズに最も適した選択された属性を有するコントローラ140を、順番リスト128の最高位に、置く。
エンドポイントの160がコントローラ・リスト(順番リスト)128を生成した後、ディスカバリ・モジュール116は、エンドポイントが登録されるコントローラ140の数Nをを決定する(ステップ214)。即ち、ディスカバリ・モジュール116は、コントローラ・リスト128内の「ウインドウ」のサイズを選択する。本発明によれば、数Nは管理しながら予め決定される。本発明によれば、数Nは、ディスカバリ・モジュール116が採用するルール・セットに従って、決定される。この決定は、コントローラ・リスト128内のコントローラ140の属性132のような基準を考慮に入れて行われる。その後ディスカバリ・モジュール116は、登録されたN個のコントローラを選択する(ステップ216)。数Nは、2以上の整数であるが、コントローラ・リスト128内のコントローラ140の全数未満である。コントローラ140は、コントローラ・リスト128内のそれぞれの順番に基づいて、選択される。本発明の一実施例によれば、ディスカバリ・モジュール116は、サーバ136からコントローラ140を、ゲートウエイ148からコントローラ140を選択して、同時に登録する。アクティブ−スタンバイ構成においては、エンドポイントは、1個のサーバ136のコントローラ140を、プラマリ・コントローラとして選択し、他のサーバ136又はゲートウエイ148のコントローラ140を第2の即ちバックアップ・コントローラとして選択する。
コントローラ140の選択の後、エンドポイントは、選択されたコントローラ140に登録できる(ステップ220)。本発明の一実施例によれば、エンドポイントは、異なる様々な機能/仕様あるいは様々なSIP特徴を有するコントローラ140に登録される。例えばエンドポイントは、拡張したSIPエクステンション(extended SIP extension)を用いて第1のコントローラ140に、標準のSIPエクステンション(standard SIO extension)を用いて第2のコントローラ140に同時に登録することができる。拡張したSIPエクステンションは、第1のコントローラ140が用いるが、第2のコントローラ140では得られない追加的な特徴を提供する。
SIP REGISTER,SUBSCRIBE,OPTIONメッセージ或いは他のSIPシグナリングは、プライマリ・コントローラ140が依然としてオンライン中であり、SIPメッセージを促進するか否かを決定するために、送信される。例えばSIP REGISTERメッセージは、エンドポイントが選択したコントローラ140に送られて、登録プロセスを開始する。SIP REGISTERメッセージは、エンドポイントにそのコントローラ140の登録する機能を与えることに加えて、コントローラ140に対するheartbeat(同期信号)として用いられる。SIP REGISTERメッセージの伝送周期は、システムの要求に基づいて、ユーザにより構築可能である。言い換えると、エンドポイントは、リフレッシュ登録信号を登録されているコントローラ140に送る。
アクティブ−スタンバイ構成とアクティブ−アクティブ構成の両方において、エンドポイントは、選択されたコントローラ140の全てに同時に登録する(登録される)。この操作の間、エンドポイントは、コントローラ140と同時のアクティブ登録を維持しようとする(例、付属のSIP REGISTERメッセージの周期的伝送を介して)。アクティブ−アクティブ構成において、エンドポイントは、それが登録されたどのコントローラ140との間でもSIPメッセージの送受信が許される。この構成において、エンドポイントは、複数のコントローラ140に同時に登録できる。この二重登録により、インバウンド(来入)SIPリクエスト(例;SIP INVITEメッセージ)を、エンドポイントが登録されたコントローラ140のいずれか1つ(例、第1のコントローラ140aと第2のコントローラ140bと第3のコントローラ140c等)から受信できる。エンドポイントが、アクティブ−アクティブ・コントローラモデルを用いるポリシーで構築された場合には、エンドポイントは、前に故障したコントローラ140からの来入呼びを、サービス中のコントローラ140から入ってきたものと見なす。これが起きると、エンドポイントは、アルゴリズムに再度トライして、故障したサーバがサービスに戻ったか否かを検出する。エンドポイントは、あらゆるコントローラ140からこのSIPメッセージが受信できるよう構成される。本発明の一実施例においては、エンドポイントは、登録を独立登録として取り扱い、ここで述べた登録ロジックで、それ等のおのおのを維持する。より具体的には、エンドポイントは、同一のAORを各コントローラに登録することが許されるが、エンドポイントの実行は、別のAORを収納することもできる。このことは、アクティブ−スタンバイ構成についても当てはまる。
他方、アクティブ−スタンバイ構成においては、エンドポイントは、アウトバンウドコール(発呼)をルーティングし、そのプライマリ・コントローラ140からのインバウンドコール(来入呼び)を受領する。操作中において、このプライマリ・コントローラ140は、アクティブなコール・コントローラ140と称する。エンドポイントが登録した他のコントローラ140は、インアクティブ即ちスタンバイのコントローラと称する。
アクティブ−スタンバイ構成において、エンドポイントは、プライマリ・モードにある(即ち、エンドポイントは、プライマリ・コントローラ140は活性状態にあると考えている)間、エンドポイントが、第2の即ちスタンバイのコントローラ140からインバウンドコールを受信すると、エンドポイントは、次のことを行う。
(1)第2のコントローラ140に対し、100Tryingメッセージで応答する。
(2)REGISTRATIONrefreshを、プライマリ・コントローラ140に送り、プライマリ・コントローラ140が、依然としてオンラインにあり、SIPメッセージングを促進できるか否かを見る。
(3)プライマリ・コントローラ140が依然としてオンラインにある場合には、エンドポイントは、305リダイレクト応答(305 redirect resonse)(即ち、Use Proxy)を第2のコントローラ140に送る。この305リダイレクト応答は、呼びを第2の呼びコントローラを介して拒否し、第2のコントローラ140が、シグナリングをプライマリ・コントローラ140を介して再ルートすることを、要求する。
(4)プライマリ・コントローラがオンラインにない場合には、エンドポイントは受信した呼びに対し標準の呼び処理を提供する。このプロセスの一部として、エンドポイントは、第2のコントローラ140にプライマリ・コントローラ140からフェール・オーバし、その第2のコントローラ140での登録をリフレッシュする。
アクティブ−スタンバイ構成において、エンドポイントは、フェール・オーバモードで動作している(即ち、プライマリ・コントローラ140は、アウトオフサービスの状態であり、第2のコントローラ140を活性状態のあるコントローラとして用いると仮定する)間、エンドポイントは、プライマリ・コントローラ140からインバウンドコールを受領するが、その間呼びは拒絶される。
故障状態の間、或いはエンドポイントが、通信システム100の構成要素がアウトオフサービスの状態にいる見なしている間は、エンドポイントは、プライマリ・コントローラ140とのリアルタイムの通信セッションを確立しようとはしない。さらにエンドポイントは、コントローラ・リスト128上の第2の即ち次のコントローラ140に、フェール・オーバする。生き残った(即ち、第2の、第3の或いはバックアップの)コントローラ140を介してルーティングされたコールシグナリングにより、エンドポイントのユーザは、故障の間、新たな呼びを発信しまた受領することができる。
フェール・オーバ/フェールバック・プロセスの一部として、エンドポイントは、活性状態にあるコントローラ140のアドレスを特定し、更にコントローラ140によりサポートされている属性と関連する特徴を引き出す。言い換えると、エンドポイントは、エンドポイントが登録されているコントローラ140が「拡張された/所有の」として又は「ベーシックなSIP」として指定されているか否かに関わらず、引き出す。エンドポイントのディスカバリ・モジュール116は、コントローラが、拡張したSIP、或いはベーシックなSIPを使用しているかを、以下のロジックを用いて発見する。
(1)フェール・オーバ又はフェールバックすると、エンドポイントは、各コントローラ140に対し登録をリフレッシュ或いは更新する。
(2)このプロセスの一部として、エンドポイントは、第2のコントローラ140で、全てのプライマリ・コントローラ140の特徴のパッケージに再度登録しようと試みる。
(3)エンドポイントが、SUBSCRIBEリクエストを第2のコントローラ140に送ると、第2のコントローラ140は、それがベーシックなSIPオペレーションだけをサポートしている場合には、特徴加入リクエストを認識しない。
(4)単一の第2のコントローラ140は、Client Error 405 Method Not Allowedで応答する。
エンドポイントは、この情報を用いて、第2のコントローラ140は、標準のIETF SIP適合するコントローラ140であると認定する。その後エンドポイントは、フェール・オーバモードで動作している間、そのユーザインターフェイス(UI)上にベーシックSIPフューチャのみを表示する。活性状態にあるコントローラ140が、「エクステンドした」(例、それが、適切にSUBSCRIBEリクエストに応答しているので)と指定されると、エンドポイントは、呼びと特徴処理用の拡張エクステンションのSIPを使用し、適合したUIを表示する。
アクティブ−スタンバイ構成で提供される更なる特徴は、次のものを含む。
(1)エンドポイントは、アウトバウンドコールを非活性状態のコントローラ140には送らない。
(2)エンドポイントが、活性状態のコントローラ140からスタンバイのコントローラ140にフェール・オーバした時には、前に活性状態にあったコントローラ140は、非活性状態として指定され、前に非活性状態にあったコントローラは、活性状態として指定される。
(3)エンドポイントは、指定されたコントローラ140にフェール・オーバする前に、全ての活性状態にある呼びが完了するまで待機する。言い換えると、新たに指定された活性状態にあるコントローラ140からの新たなインバウンドの呼びは、アクティブな呼びが完了する(即ち、エンドポイントがアクティブな呼びに対するネットワーク104からのBYEメッセージを受領するか或いは発呼者が電話を切るかの何れか)までは、エンドポイントは受領しない。同様に新たなアウトバウンドの呼びは、フェール・オーバが完了するまで、許されない。
(4)エンドポイントが、プライマリの(しかしアウトオブサービスの)コントローラ140からシグナリングメッセージを受領すると、その間エンドポイントは、第2のコントローラ140を用いているが、第1のコントローラ140からのアウトオブサービスとしてマークされたシグナリングメッセージは、無視される。このルールに対しては1つの例外がある。即ち、エンドポイントが、プライマリ・コントローラ140からNOTIFYメッセージ(再レジスタを通知する)を受領すると、エンドポイントは、その登録をリフレッシュする為にリフレッシュするか、それを試みることを開始する。この場合、エンドポイントは、NOTIFYメッセージに標準のSIPプロセッシングを用いて応答する。
エンドポイントが、それぞれのコントローラ140で登録した後は、本発明の方法は終了する(ステップ224)。
図3を参照して、本発明の一実施例による通信システム100の状態決定方法を次に説明する。サバイバル構成において、ゲートウエイ148を搭載して、コールシグナリングを、プライマリのシグナリングパス又は第2のシグナリングパスを介して、ルーティングする時を決定することが重要である。この方法は、ゲートウエイ148が、SIP OPTIONメッセージを、通信システム100内の別の構成要素に送る時に開始する(ステップ304)。このような構成要素は、SIPがイネーブルある構成要素に対応する。この構成要素は、ピア構成要素(即ち、ゲートウエイ148に隣接する構成要素)と/又は遠端構成要素(即ち、構成要素とゲートウエイ148との間の少なくとも一個の中間構成要素を有する構成要素)に対応する。SIPの遠端構成要素のプロアクティブなモニタリングは、予備的に(sparingly)実行しなければならない。通常これは、通信システム100のアドミニストレータが中間構成要素がそれ等のピアを監視することができないと決定した場合である。ゲートウエイ148は、SIP OPTIONメッセージをMax−Forwards=0に設定して送る。これにより、OPTIONメッセージが、複数のホップを横切らないようにする(即ち、ピア構成要素の方向を目標とする)。
当業者に明らかなように、SIP OPTIONメッセージを採用するモニタリング技術をここでは説明するが、非ダイアログ型のSIPトランザクションの他の種類の技術を用いて、通信システム100とその中の構成要素の状態をモニタすることもできる。より具体的には、一般的なSIPメッセージ(例;INFO METHODメッセージ,MESSAGEMETHODメッセージ、更にはボイドSIPメッセージ)を送信して、あらゆるタイプのSIPベースの応答を引き起こすこともできる。ゲートウエイ148により送信されたSIPメッセージは、メッセージ受領者が実行する指示を含む。例えばSIPメッセージは、eXtensible Markup Language(XML)を含むよう生成してもよい。このXMLメッセージは、ゲートウエイ148の正常状態と、ゲートウエイ148により監視される他の構成要素(例えばピア構成要素)と、更にはゲートウエイ148の報告された健全状態に基づいて受領者により執られるアクションを報告する。
ゲートウエイ148が、SIP OPTIONメッセージを送りだした後、ゲートウエイ148は、その応答を待つ(ステップ308と312)。ゲートウエイ148が応答を待つ時間は、通信システム100の特性により変わる。本発明の一実施例によれば、ゲートウエイ148が待つ時間の長さは、SIPタイマー機能を実行することにより決定される。例えば、SIPタイマーB又はSIPタイマーF(SIPタイマーBとFは、RFC3261で定義される標準のSIPタイマーである)である。このタイマーは、リクエスト送信した後所定の秒数内にSIP応答を受領しない場合には、SIPシグナリングトランザクション(例;SIP INVITEメッセージ)をキャンセルする。タイマーB又はタイマーFは、、SIP応答(更には100回のトライでも)を受領した場合には、キャンセルされる或いは短絡される。しかし、タイマーBが起動すると、ゲートウエイ148は、攻撃的なSIPトランザクションをキャンセルすることが要求され、別のルートを用いてリクエストをルーティングするよう試みる。ゲートウエイ148が知っている全てのルーティングアドレスを使い尽くすと、SIPのゲートウエイ148は、元のSIPシグナリングトランザクションに、408リクエスト タイムアウトで応答する。
応答(例、実際の応答、又は応答を所定の時間内に受領しなかったという決定)を受領すると、本発明の方法は、ディスカバリ・モジュール144を採用するゲートウエイ148で継続し、応答が故障状態に対応するか否かを決定する(ステップ316)。応答は、第1ネットワーク104又は通信システム100の構成要素が、以下の状態の何れかになった時には、故障しているとする。
(1)OPTIONモニタリング・リクエストがタイムアウトにより失効する時。
(2)SIPリクエストトランザクションの連続して失敗する回数が。トランザクションタイムアウトと/又はSIPタイマーBのタイムアウト(INVITEトランザクション)に起因して発生した時。
(3)OPTIONモニタリングリクエストに対する400又は500クラスの応答をRetry−After headerで受領した時。但し、これは、モニタリングがホップ・バイ・ホップ(即ち、Max−Forward=1)を実行し、エンド・トゥ・エンド(即ち、Max−Forward>1)ではなく、更には又アドレスが、Retry−After headerに指定された少なくともその期間の間「過負荷」としてマークされた時にのみ起こる。
条件(3)に関しては、アドレスのIPアドレスを含む既存のダイアログは、故障が起きない限り、そのアドレスを使用し続けなければならない。しかし、エンドポイントは、それが復活するまで、新たなダイアログに対するそのアドレスの使用してはならない。既存のダイアログが、IPアドレスの代わりにホストネームを使用している場合には、各トランザクションのホストメールのリゾリューションが発生し、戻されたアドレスが利用可能な最高優先度のアドレスとなる。ホストネームのみが単一のIPアドレスにresolveする時には、そのアドレスはオーバロード(過負荷)としてマークされ、リクエストを送らなければならない。条件(3)の実際の効果は、ゲートウエイ148のディスカバリ・モジュール144は、3つの状態(即ち利用可能、オウトオブサービス、過負荷)を知らなければならない。過負荷としてマークされたアドレスは、ダイアログ内でその後のリクエストを受領し続けるが、新たなダイアログリクエストは受領しない。
OPTIONメッセージの応答に基づいて、ゲートウエイ148のディスカバリ・モジュール144は、故障状態が存在しないと、通信システム100が通常の動作状態にあると決定すると、ディスカバリ・モジュール144は、インストラクションが応答中に含まれているか否かを決定することにより、継続する(ステップ320)。ディスカバリ・モジュール144は、応答に付属した又は応答内(即ち、メッセージのヘッダー又はフッター)に含まれる実行可能なインストラクションに対する応答を解析する。インストラクションが応答中に含まれると、インストラクションが実行される(ステップ324)。その後又は応答がインストラクションを含まない場合には、ディスカバリ・モジュール144は、通信システム100の状態に対するその記録の更新を継続し、応答中の構成要素(例、サーバ136)の動作を反映する(ステップ328)。ネットワークの状態が更新されると、本発明の方法は、ディスカバリ・モジュール144で継続し、新たなメッセージを送信する時間か否かを決定する(ステップ332)。より特殊な場合には、ゲートウエイ148は、SIP OPTIONメッセージの他のSIPサーバ136への周期的な送信を、ハートビートメカニズム(同期メカニズム)として使用し、SIPサーバ136が活性状態か否かを決定する。OPTIONメッセージは、所定のインターバルで、通信システム100の構成要素に送られる。所定のインターバルの長さは、SIPタイマーB又はその変形例を実現することにより決定される。より具体的には、OPTIONの監視は、ゲートウエイ148が故障状態を検出するか否かに応じて、様々なインターバルで実行することができる。
例として、SIP OPTIONメッセージに対するプロアクティブなモニタリング・インターバルは、60秒から10万秒の間で構築可能であり、後続のモニタリングの試みの間の値の75%と125%の間の均一なランダムな時間を用いるべきである。例えば、プロアクティブなモニタリングインターバルを60秒に設定すると、OPTIONメッセージの送信の間の実際のインターバルは、45秒と75秒の間で均一に分布する。プロアクティブなモニタリングプロセスにジターを意図的に導入することにより、リクエストを同期しないように維持し、これにより、モニタされた構成要素(即ち、サーバ136)に時間的に負荷を拡散することさえできる。本発明の一実施例においては、プロアクティブなモニタリングインターバルは、900秒即ち15分である。
例として、SIP OPTIONメッセージに対するリアクティブなモニタリング・インターバルは、10秒から3600秒の間で構築可能であり、後続のモニタリングの試みの間の値の75%と125%の間の均一なランダムな時間を用いてもよい。リアクティブなモニタリング(プロアクティブなモニタリングとは対照的に)に対する個別にタイマーを設けることにより、ゲートウエイ148は、現在アウトオブサービスにあるモニタ中の構成要素が再び利用可能となる時間をより早く検出できる。本発明の一実施例においては、リアクティブなモニタリング・インターバルは120秒に設定される。
上記の説明は、SIPタイマーBの使用に関連するが、如何なる範囲の値も、その値が均一でランダムな時間の有無に関わらず、本発明の原理から離れることなく実現できる。更にモニタリングインターバルは、外部ビジネスロジックフックに基づいて、修正可能である。例えば、モニタリング機構が、バンド幅のマネジメントシステム内にフックしている時には、モニタリングシステムは、更にモニタリングインターバルを調整できるが、これは、ネットワーク内の利用可能なバンド幅を表すある係数を用いて行う。
ステップ360に戻って、ディスカバリ・モジュール144が、応答が故障状態に対応すると決定すると、ディスカバリ・モジュール144は、通信システム100の状態の記録を更新して故障を反映する(ステップ336)。この構成要素の故障を検出した結果、ゲートウエイ148は、フェール・オーバし、フェール・オーバ状態で動作を開始する。特に故障した構成要素が主通信パス上にある場合にはそうである。
フェール・オーバの間、ゲートウエイ148のディスカバリ・モジュール144は通信システム100内の構成要素のリアクティブなモニタリングを開始する。これは、OPTIONメッセージをアウトオブサービスとして認定された構成要素に送り続けることにより、行われる(ステップ340)。このリアクティブなモニタリングにより、ゲートウエイ148のディスカバリ・モジュール144は、構成要素がオンラインにいつ戻ったかを決定できる。リアクティブなモニタリングが開始すると、ゲートウエイ148は、構成要素をプロアクティブにモニタリングすることを中止し、リアクティブなモニタリングルールを適用する。より具体的には、リアクティブなモニタリングの間、ゲートウエイ148のディスカバリ・モジュール144は、メンテナンステストを開始して、モニタされた構成要素が、利用可能か或いはアウトオブサービスかを決定する(ステップ344)。メンテナンス・テストは、プロアクティブなモニタリングアルゴリズムに類似するモニタリングアルゴリズムを採用してもよい。ゲートウエイ148のディスカバリ・モジュール144は、このメンテナンステストを、フェールバックする(即ち、構成要素の状態がアウトオブサービスから利用可能になる)まで適用し続ける(ステップ348)。メンテナンステストの間、ゲートウエイ148は、あらゆる種類のSIPリクエスト(例;INVITE、SUBSCRIBE、NOTIFY等)を、現在アウトオブサービスとしてマークされている構成要素に送る。以下の条件の1つ或いは複数が適用されると、ゲートウエイ148のディスカバリ・モジュール144は、構成要素をアウトオブサービスとしてマークし続ける。
(1)INVITEメッセージが送信された後、SIPタイマーBが開始する。
(2)ゲートウエイ148が、408リクエストタイムアウト応答を受領する。
(3)SIPリクエスト・トランザクションがタイムアウトとなる。
(4)リクエストを送信しようとした時に、ネットワーク104或いはトランスポートレイヤーのエラーが発生する。
メインテナンス・テストの間、上記の条件が適合されない場合は、ゲートウエイ148のディスカバリ・モジュール144は、フェールバックが発生したと決定し、本発明の方法はステップ328に進む。本発明の一実施例においては、リアクティブなモニタリングとメインテナンス・テストは、モニタされている構成要素が、2つの連続するOPTIONリクエストの試みに対するあらゆるSIP応答(503Servei Unavailableを除いて)で返事をするまで、適用され続ける。これらの条件が適合すると、ゲートウエイ148は、構成要素はサービスに戻り、プロアクティブなモニタリングアルゴリズムに戻り、適宜のSimple Network Mangement Protocol (SNMP)事象を生成し、適用可能ならば、現在活性中の構成要素の利用を開始する。
当業者には明らかなように、ゲートウエイ148は、パスの再割り当て情報を有する通信システム100の構成要素の唯一のものではない。SIPネットワーク要素は、パス再割り当て情報を含むよう調整される。例えばエンドポイント(ユーザ・エージェント(UA)108)は、パス再割り当てテーブルを有する。このパス再割り当てテーブルは、ある構成要素はアウトオブサービスとして指定された時に、使用することができる通信パスをリストアップする。
図4を参照してリアクティブモニタリング方法を説明する。この方法は、ゲートウエイ148がサーバ136又は通信システム100の類似する構成要素からリクエストを受領した時に開始する(ステップ404)。ゲートウエイ148は、受領したリクエストを通常の方法で処理する(ステップ408)。具体的には、ゲートウエイ148は、送信中の構成要素はサービス中であるかのようにリクエストを処理するが、これは構成要素が実際にサービスしているかどうかを最初に決定することなく行う。
その後、ゲートウエイ148は、送信中の構成要素が実際にアウトオブサービスとしてマークされているかを、最初に維持した状態テーブルに基づいて、決定する(ステップ412)。この構成要素がアウトオブサービスとしてマークされていない場合には、本発明の方法は終了する(ステップ424)。それ以外は、ゲートウエイ148は、メンテナンス・テストを開始するが、これは、SIP OPTIONメッセージを構成要素に送ることにより行う(ステップ416)。その後、ゲートウエイ148は、構成要素の状態お記録を更新する(ステップ420)。このメンテナンステストと状態更新プロセスは、構成要素がサービスに戻るまで、繰り返し行われ、その時点で、本発明の方法は終了する(ステップ424)。
図5を参照して、フェールオーバ状態の間とフェールバック状態の間のゲートウエイ148の動作について説明する。以下の方法においては、ゲートウエイ148に関連するコントローラ140は、サバイバルエンドポイント用の第2の即ちバックアップ用のコントローラ140に対応する。この方法は、ゲートウエイ148がサバイバル可能なエンドポイントの来入の呼びを受領することにより、開始する(ステップ504)。その後ゲートウエイ148は、プライマリなシグナリングパスが利用可能かを決定する(ステップ508)。本発明の一実施例によれば、ゲートウエイ148は、このステップの間、内部構成要素の状態テーブルを参照する。
プライマリ・シグナリングパスが動作可能であると決定すると、ゲートウエイ148は、受信した信号を目標のエンドポイントに、プライマリ・シグナリングパスを介してルーティングする(ステップ512)。その後この方法は終了する(ステップ536)。ゲートウエイ148が、プライマリ・シグナリングパスが何らかの理由で利用不可能な場合(プライマリ・シグナリングパス上のネットワーク104,サーバ136又は他の構成要素がアウトオブサービスの場合)、本発明の方法は、ゲートウエイ148で継続し、この信号を目標のエンドポイントに第2のシグナリングパスを介して送信する(ステップ516)。このステップは、第2のシグナリングパスは利用不可能ではないという前提の元に行われる。ゲートウエイが、第2のシグナリングパスも利用不可能であると決定すると、故障した構成要素をバイパスする他のバックアップ用シグナリングパスが選択され、それを用いて、信号をエンドポイントに送る。
コールシグナルが目標のエンドポイントに第2のシグナリングパスを介して送信された後、ゲートウエイ148は、305リダイレクト応答(プロキシを用いた)メッセ−ジを、エンドポイントから受領したか否かを決定する(ステップ520)。アクティブ−スタンバイ構成においては、呼び信号を第2パスを介して受信したエンドポイントは、305リダイレクト応答を送信する。これは、エンドポイントが第1信号パスが動作可能であると確信した場合である。この確信は、ゲートウエイ148ではなくエンドポイントで行われた状態モニタリング動作に基づいて、行われる。かくして、通信システム100の様々な特徴に基づいて、エンドポイントは、通信システム100内の構成要素に対しマークされた様々な状態を有する。従って、305リダイレクト応答をゲートウエイ148が、呼び信号を第2パスを介して再度方向付けることに基づいて受信すると、ゲートウエイ148は、呼び信号を、プライマリなシグナリングパスを介して、再度方向付けようとする(ステップ524)。プライマリなシグナリングパスが、呼び信号の成功裏の伝送に起因して利用可能であると決定される(ステップ528)と、本発明の方法は、ステップ536で終了する。呼びが、プライマリなシグナリングパスが利用不可能であることを理由に、拒絶されると、呼びは、リジェクトされるか第2のシグナリングパスを介して送り返される(ステップ532)。更に、ゲートウエイ148は、NOTIFYメッセージを目標エンドポイントに送り、エンドポイントに対し、プライマリなシグナリングパスの状態を再度チェックするよう、指示する。その後再度方向付けられた応答メッセージをエンドポイントから受領しない場合には、本発明の方法は終了する(ステップ536)。
図6を参照して、通信システム100の状態決定のエンドポイントの方法を、本発明の第1実施例を参照して説明する。最初に、エンドポイント(生き残ったユーザ・エージェント(UA)108)は、通常の状態で動作する(ステップ604)。その後、エンドポイントは、そのディスカバリ・モジュール116のロジックを採用して、ネットワークの故障が検知されたか否かを決定する(ステップ608)。このサバイバル構成においては、エンドポイントはフェ−ルオーバ又はフェ−ルバックが起きた時を検出できる。エンドポイントにより使用されるディスカバリ・モジュール116のロジックは、ネットワークの故障は、以下の事象の1つ或いは複数発生した時に、発生したと決定する。
(1)エンドポイントが、SIP Registerメッセージへの応答を全てのコントローラ140からのハートビートとして受領しない。これにより登録を試みようとする(例;プライマリと第2のコントローラ140)。
(2)エンドポイントは、SIP INVITEメッセージに対する応答を受領しない。ここで、SIP INVITEメッセージは、アウトバウンドコールを設定しようとする通常のプロセスで送信される。
(3)エンドポイントは、如何なるSIPシグナリングメッセージへの応答も受領しない。このメッセージは、新たなSIPダイアログ変化又は中間ダイアログ変化の通常の創設用に送信される。
(4)エンドポイントは、クリティカルなリクエストに対する成功裏の応答を受領しない。このクリティカルなリクエストは、TCP/IP,HTTP,XML,又はSOAPのような様々な種類のプロトコールにより搬送され、コンフィギュレーションサーバから或いは他のアウトオブバンドの非通信サービス(例、故障に関連したデータを取り出すのに用いられるデータサービス)から送られる。
エンドポイントが故障そのものを検出しない場合には、本発明の方法は、エンドポイントが、故障が通知されたか否かを決定する(ステップ612)。この通知は、SIP NOTIFYメッセージの形態で、エンドポイントが受領する。このメッセージは、ゲートウエイ148,サーバ136,通信システム100の状態を監視できる通信システム100の他の構成要素から送信される。このSIP NOTIFYメッセージは、エンドポイントはフェールオーバすべきか、rebootすべきか、或いは全てのコントローラ140の登録をリフレッシュ或いはリニューアルすべきかを示す。これによりエンドポイントのロジックを迂回する。通知を受領しない場合、本発明の方法はステップ604に戻る。
エンドポイントに通信システム100内の故障が通知(例;SIP NOTIFYメッセージの受領を介して)されると、エンドポイントは故障通知が正しいか否かを決定する(ステップ616)。より具体的には、エンドポイントは、コントローラのリスト120,128をチェックして、何れかのコントローラ140が、インアクティブ或いはアウトオブサービスとしてマークされているか否かを決定する。大部分の時間、エンドポイントは、NOTIFYメッセージの方向に単に適合しているだけである。このような状況下において、エンドポイントは、通信システム100のそのビューは正しいビューであり、NOTIFYメッセージに再度方向付けられた応答メッセージで応答する(ステップ620)。この再度方向付けられたメッセージにより、NOTIFYメッセージの開始構成要素は通信システム100のビューをチェックする。本発明の方法はステップ604に戻る。
エンドポイントが、故障通知が正しいと決定する又はNOTIFYメッセージの方向に合っていると決定すると、エンドポイントは、NOTIFYメッセージがインストラクションを含むか否かを決定する(ステップ624)。このインストラクションは、比較的一般的なインストラクションであり、例えば全てのコントローラ140に再度登録することのような試みである。別の構成として、インストラクションは、特定のコントローラ140にトライしたり再度登録することをエンドポイントに要求するようなインストラクションの組である。このエンドポイントは、長期インターバル又は短期インターバルのいずれかで、コントローラ140にリフレッシュ或いは登録しようとする。リフレッシュ/登録インターバルの間隔は、前記のインストラクションの組内に含まれるインストラクション或いは他ののファクターに依存して、変わる。インストラクションは、通信システム100全体の正常状態情報を含むが、これは、NOTIFYメッセージを送信した構成要素により検知される。メッセージがインストラクションを含まない場合には、エンドポイントがインストラクションを実行する(ステップ628)。
エンドポイントそのものが故障を検出した場合(ステップ608)、或いはインストラクションが、エンドポイントにより実行された後(ステップ628)、或いはメッセージがインストラクションを含まない場合(ステップ624)、エンドポイントは、コントローラ・リスト128内にある次のコントローラ140に登録され、登録された動作可能なコントローラ140の数Nを保持する。登録は、図2のステップ220で記載したのと同様な方法で行われる。その後この方法は、フェールオーバを実行するエンドポイントで継続され、その結果、エンドポイントは、バックアップ状態で動作を開始する(ステップ632)。フェールオーバモードにおける動作の間、エンドポイントは、バックアップのコントローラ140を利用するか、第2のシグナリングパスを利用する。フェールオーバモードで動作することに加えて、エンドポイントは、通信システム100のフェールバックを監視する(ステップ636)。エンドポイントは、ディスカバリ・モジュール116が、プライマリなコントローラ140が利用可能で、活性コントローラとして再開したことを検出した時に、フェールバックが行われたと決定する。この内部エンドポイントロジックは、ハートビート/SIP REGISTERメッセージで支配される。このメッセージは、全てのコントローラ140に周期的に送信され、このコントローラ140にエンドポイントが登録される。これは、コントローラ140がある時点で活性状態にあるか否かに無関係に、行われる。
エンドポイントが、それ自身のフェールバックを検出しない場合(ステップ636)、この方法は、それが別の構成要素により、フェールバックが通知されたか否かを決定するエンドポイントで継続する(例、NOTIFYメッセージを、ゲートウエイ148,サーバ136等から受信することにより)(ステップ640)。エンドポイントにフェールバックが通知されない場合には、この方法はステップ632に戻る。エンドポイントがフェールバックを示すNOTIFYメッセージを受領した場合には、この方法は、NOTIFYメッセージがエンドポイントの実行用の指示を含むか否かを決定する事により、継続する(ステップ644)。インストラクションがNOTIFYメッセージに含まれる場合には、インストラクションはエンドポイントで実行される(ステップ648)。インストラクションを実行した後(ステップ648)、インストラクションが無い場合(ステップ644)、或いはフェールバックがエンドポイント自体自身により検出された場合(ステップ636)、エンドポイントは、ステップ634で最後に登録されたコントローラ140の登録を外される。これにより、動作可能なコントローラ140の数Nを保持する(ステップ650)。登録を外す動作により、SIP un−registerとネットワークの取り外しアルゴリズムの両方を起動する。このアルゴリズムは、SIP イベントパッケージと可能ならば他のノン−SIP(アウトオブバンドの)データインターラクションの加入外しを含む。その後この方法は、ステップ604に戻る。
ディスカバリ・モジュール116は、構築可能なパラメータを含む。このパラメータは、プライマリ・コントローラ140から第2のコントローラ140へのフェールオーバ又はフェールバックが、自動化されたエンドポイント検出によりトリガされるか、或いは手動(即ち、SIP NOTIFYメッセージを受領することにより)でトリガーされるかを支配する。ディスカバリ・モジュール116のより採用されるハートビート(同期)モニタリングメカニズムは、様々なインターバルで実行されるが、このインターバルは、エンドポイントが故障状態を検出するか否かに依存する。
図7を参照して状態通知方法を説明する。この方法は、通信システム100のコンポーネント(サーバ136、ゲートウエイ148,ディスカバリ・モジュール144を含む他のデバイス)が、エンドポイント(例、US108)に通信システム100に関して通知をするか否かを決定することで、開始する。通常構成要素は、NOTIFYメッセージをエンドポイントに送り、エンドポイントに通信システム100の状態のある態様が変化したことを通知する。例えばNOTIFYメッセージは、エンドポイントに対し、システム内の構成要素はアウトオブサービスとして登録されたことを通知する。別の構成として、NOTIFYメッセージは、エンドポイントに対し送信中の構成要素の健全状態を通知する。
この方法は、ステップ704に、それが通知メッセージがエンドポイントに送信されなければならないと決定されるまで、留まる。このような決定がなされた後、本発明の方法は、メッセージ(NOTIFYメッセージ)を生成する構成要素で継続する(ステップ708)。当業者に明らかなように、あらゆる種類のSIP又は非SIPのメッセージは、エンドポイントに通知するために、構成要素により採用される。この通知により、構成要素は、エンドバックに対し、通信システム100の故障又は再生状態に、フェールオーバ又はフェールバックさせるよう起動する。エンドポイントは、コントローラ・リスト128を保持しているので、またエンドポイントは、これ等のコントローラの全てで活性状態、活性登録を保持することができるので、通信システム100の構成要素は、エンドポイントに対し、それが通信システム100の故障状態を検出した時、動作を執るよう指示する。このアクションは、標準の通知メッセージ(例;標準のSIP IETF適合のNOTIFYメッセージ)又は特定のインストラクションセットを含む拡張メッセージを通知する事により、開始する。それに応じて、本発明の方法は、通知メッセージがその中にインストラクションを含むか否かを決定する構成要素で継続する(ステップ712)。
特定のインストラクションが必要であると決定されない時には、構成要素は、エンドポイントに対しコントローラ・リスト128内のN個のコントローラ140に再登録するよう伝え、一般的な通知メッセージをエンドポイントに送る(ステップ720)。かくして、このような通知を受け取ったどのエンドポイントも、リスト上のN個のコントローラ140に再登録しようとする。この再登録の成功に基づいて、エンドポイントは、どのコントローラ140がSIPトランザクション(例;インバウンドとアウトバウンドのSIPの呼びをサポートする)を処理できるかを抽出(決定)する。その後、エンドポイントは、この事故決定情報に従って、コントローラのリスト120内の最も高い優先度のコントローラ140をそのプライマリのコントローラとして用いて、行動する。この特定のアルゴリズムは、標準のSIP IEFTに適合したNOTIFYメッセージを利用する。このメッセージは、NOTIFYパラメータ「event」=「probation」でNOTIFYメッセージ用のSIP標準に従う。このようなNOTIFYメッセージの一例を次に示す。

<registration aor="sip:joe@example.com"id="a7"state="active">
<contact id="76"state="active"event="probation"
expirs="0"
q="0.8"retry=after="0">
構成要素が、特定のインストラクションは通知メッセージに含まれるべきであると決定した場合には、構成要素は、1つ或いは複数のインストラクションセットをメッセ−ジに追加し(ステップ716)、その後、メッセージをエンドポイントに送信する(ステップ720)。インストラクションを通知メッセージ内に組み込むことにより、構成要素は、エンドポイントに対し、コントローラ140のコントローラのリスト120上の特定のコントローラ140を用いて、開始するよう告げる。このようなシナリオにおいては、エンドポイントは、どのコントローラ140を使用すべきかを、それに告げる構成要素に依存するが、それ自身のインテリジェンス(情報)には依存しない。この特定のメカニズムは拡張されたエクステンションの標準のSIP NOTIFYメッセージを用いる。NOTIFYメッセージは、NOTIFYメッセージ用のSIP標準に従う。更に事象名目(例、<eventName>changeServer</eventname>)の代表的なプロファイル・イベント・パッケージフォーマットを使用する。これは、エンドポイントがフェールオーバ或いはフェールバックする場合である。このメッセージは、特定のコントローラ140を含むサーバ136のタイムスタンプとアドレスを含む。この特定のコントローラ140にエンドポイントはフェールオーバ又はフェールバックをする。このような拡張したSIP NOTIFYメッセージの一例は、以下のXMLインストラクションセットで、次に示す。

NOTIFY sip:1111@10.0.75.2 SIP/2.0
Call-ID:cid-1@10.0.75.2
CSeq:2NOTIFY
From:<sip:1111@atler.com.;tag=random2
To:<sip:1111@atler.com.;tag=random1
Via:SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bK-random- the primary call
controller
SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cm1
Content-Length:22
Content-Type:application/profile+xml
Contact:<sip1111@10.0.0.200;transport=tls/
Max-Forwards:69
User-Agent:Communication Manager v1.0
Event:ccs-profile
Subscription-State:active;expires=3600
Record-Route:<sip:10.0.0.100:5060;lr;transport=UDP>

<?xml version="1.0">
<event>
<eventName.changeServer</eventName>
<eventTime>{time stamp}</eventTime>
<eventData>{ip adress}</eventData>
</event>
当業者にも明らかなように、インストラクションは、XMLインストラクションセット以外の様々な形態をとりうる。例えば、インストラクションは、所定のトリガーを含む。このトリガーは、エンドポイントのメモリ112内に既に記憶されたアルゴリズム又はアプリケーションに対応する或いは実行する。さらにNOTIFYメッセージは、メッセージ本体内にインストラクションセットを含む。このインストラクションセットは、通知メッセージのヘッダー或いはトレイラーに配置される。これは採用される通知メッセージの種類に依存する。このインストラクションを用いて様々な動作を実行する。例えば送信側の構成要素の健全状態と通信システム100の残りの構成要素の状態情報及び特定のタスクを実行するために実行するようエンドポイントにエンドポイントを介させるものである。
上記のフローチャートは特定の事象のシーケンスについて理論したものであるが、このシーケンスに対する変更は本発明の動作に影響を及ぼすことなく可能である。更に事象の正確なシーケンスはこの実施例の中には必ずしも述べていない。ここに開示した代表的な技術は特定の実施例のみに関わるものではなく、他の実施例でも用いることができ、ここに開示した特徴はクレイムに記載されている。
本発明のシステムと方法とプロトコールは特殊目的の特殊なコンピュータ上、更には上記の通信装置、プログラムを内蔵したマイクロプロセッサー、マイクロコントローラ、周辺集積回路、ASIC或いは他の集積回路、DSP、有線電子機器、ロジック回路、ディスクリート回路、プログラム可能な論理回路、例えばPLD、PLA、FPGA、PAL、通信装置、例えばサーバ、パソコン、或いは他のそれの交換手段等で実現される。一般的に状態機械を実現できるあらゆるデバイスを用いて本発明の様々な通信方法、プロトコール、技術を実現できる。
更にここに開示された方法は、サブルーチンソフトウエア或いはオブジェクト指向のソフトウエア環境を用いたソフトウエアで実現できる。これは様々なコンピュータ或いはワークステーションプラットホームで使用されるポータブルなソースコードを提供する。別の構成としてここに開示されたシステムは、一部或いは全部を、標準の論理回路VLSI設計を用いたハードウエアで実現できる。本発明のシステムを実行するのにソフトウエアを用いるかハードウエアを用いるかは、システムの速度と効率の要件、特定の機能、特定のソフトウエア又はハードウエアシステム、マイクロプロセッサー、マイクロコンピュータ等に依存する。解析システムと工法とプロトコールは、ハードウエア又はソフトウエアで実現できる。当業者
更にここに開示された方法は、記憶媒体に記憶され汎用コンピュータ上で実行されるソフトウエアで実現できる。但しコントローラとメモリー或いは、特殊目的のコンピュータ、マイクロプロセッサーを使用してもよい。この実施例においては、本発明のシステムと方法は、アプレット、JAVA(登録商標)R、、CGIスクリプトのようなパソコン上に記憶されたプログラムとして、或いはサーバ、コンピュータワークステーション上にあるリソースとして、或いは専用の通信システム、システム構成要素に記憶ルーチンで実現できる。本発明のシステムは、システムと方法をソフトウエア又はハードウエアシステムに組み込むことにより実現できる。
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。
100 通信システム
104 第1ネットワーク
108 ユーザ・エージェント(UA)
112 メモリ
116 ディスカバリ・モジュール
120 コントローラのリスト
124 プロセッサ
128 コントローラ
132 属性
136 サーバ
140 コントローラ
140a 第1コントローラ
140b 第2コントローラ
144 ディスカバリ・モジュール
148 ゲートウエイ
152 第2ネットワーク
156 エンドポイント
図2
ステップ
204 エンドポイントがディスカバリーメッセージを送る
208 ディスカバリメッセージに対する応答を受領する
212 コントローラの属性に基づいてコントローラの順番を調整する
214 登録すべきコントローラの数Nを選択する
216 登録すべきN個のコントローラを選択する
220 選択されたコントローラを登録する
224 終了
図3
304 ゲートウエイがSIP OPTIONメッセージを送信する
308 応答を待つ
312 応答を受領したか?
316 応答は故障条件/状態に対応しているか?
320 応答内にインストラクションがあるか?
324 インストラクションを実行する
328 ネットワークの状態を更新してサーバの動作を反映する
332 新たなメッセージを送信する時間か?
336 ネットワークの状態を更新して故障を反映する
340 ネットワークの反応性監視を開始する
344 メンテナンス・テストを開始する
348 ネットワークの状態は変わったか?
図4
404 ゲートウエイがリクエストをサーバから受領する
408 リクエストを通常の方法で処理する
412 サーバを「アウトオブサービス」としてマークされたか?
416 メンテナンステストを開始する
420 ネットワークの状態を更新する
424 終了
図5
504 ゲートウエイがサバイバルしたエンドポイント用の来入呼びを受領する
508 第1のシグナリングパスは利用可能か?
512 信号を第1パスを介して送信する
516 信号を第2パスを介して送る
520 エンドポイントから受領した応答を再度方向付けるか?
524 信号を第1パスを介して送信する
528 第1のシグナリングパスは利用可能か?
532 呼びをリジェクトする
536 終了
図6
604 エンドポイントを通常の状態で動作させる
608 ネットワークの故障を検出したか?
612 ネットワークの故障を通知したか?
616 故障通知は正しいか?
620 再度方向付けたメッセージで応答する
624 通知はインストラクションを含むか?
628 インストラクションを実行する
630 リスト内の次のコントローラを登録する
632 エンドポイントをバックアップ状態で動作させる
636 ネットワークのフェールバックを検出したか?
640 ネットワークのフェールバックを通知したか?
644 通知はインストラクションを含むか?
648 インストラクションを実行する
650 リスト上の最後に登録されたコントローラの登録を外す
図7
704 NOTIFYメッセージをエンドポイントに送信したか?
708 NOTIFYメッセージを生成する
712 NOTIFYメッセージ内にインストラクションが含まれるか?
716 インストラクションをメッセージに追加する
720 メッセージをエンドポイントに送信する

Claims (9)

  1. (X)クライアントが、複数のサーバのリストを創設するステップと、
    (Y)前記クライアントが、前記複数のサーバの全サーバ数より少ない数の登録すべき複数のサーバからなる小サーバグループを決定するステップと、
    (A)前記クライアントが、自身を前記小サーバグループ内の複数のサーバに登録するステップと、
    (B)クライアントが、前記小サーバグループ内の少なくとも1つのサーバからサービスを得るステップと、
    (C1)前記小サーバグループ内の第1サーバがクライアントにとって利用不可能になったことに応答して、前記クライアントが、登録すべきサーバからなる第2小サーバグループを決定するステップと、
    (C2)前記クライアントが、第1サーバがクライアントにとって利用不可能になったことに応答して、自身を前記第2小サーバグループのサーバに追加登録するステップと、
    を有し、
    少なくとも前記第2小サーバグループの一部の第2サーバは前記小サーバグループに含まれており、
    これにより、前記第2サーバは前記小サーバグループのサーバに追加される
    ことを特徴とする方法。
  2. 前記の利用不可能であった第1サーバが、前記クライアントにとって再び利用可能となったことに応答して、
    (D)前記クライアントは、自身を前記第2サーバの登録から抹消するステップ
    これにより、前記第2サーバを前記第2小サーバグループから外す
    を更に有する
    ことを特徴とする請求項1記載の方法。
  3. 前記の利用不可能であった第1サーバが、前記クライアントにとって再び利用可能となったことに応答して、
    (E)前記クライアントは、自身を前記第1サーバに再登録するステップを更に有し、
    これにより、前記第1サーバを前記第2小サーバグループに追加する
    ことを特徴とする請求項2記載の方法。
  4. 前記複数のサーバの内のサーバは、順番に並んでおり、
    前記(A)ステップは、
    (A1)前記クライアントが、前記クライアントに利用可能な順番の最初のN(整数)個のサーバに登録するステップ
    を含み、
    前記(C1)ステップは、
    (C11)前記クライアントが、前記クライアントに利用可能な順番の(N+1)番目のサーバに登録するステップ
    を含む
    ことを特徴とする請求項1記載の方法
  5. 前記サーバへの登録は、アクティブーアクティブの構成、又はアクティブースタンバイの構成のいずれかを有すことを特徴とする請求項1記載の方法。
  6. (A)複数のサーバと、
    前記複数のサーバの各サーバは、コントローラを有し、少なくとも1つのサーバは、プロセッサとメモリとを有し、
    (B)前記複数のサーバの全サーバ数より少ない数の登録すべき全てのサーバからなる小サーバグループサーバに登録されるクライアントと、
    を有し、
    前記小サーバグループのサーバの内の少なくとも1つのサーバからサービスを得る為に、前記クライアントは、
    前記小サーバグループのサーバの内の少なくとも1つのサーバが利用不可能であると決定し、
    前記小サーバグループのサーバの内の少なくとも1つのサーバがクライアントにとって利用不可能になったことに応答して、登録すべきサーバからなる第2小サーバグループを決定し、
    少なくとも前記第2小サーバグループの一部の第2サーバは前記小サーバグループに含まれており、
    自身を、第1サーバがクライアントにとって利用不可能になったことに応答して、前記第2小サーバグループの複数のサーバに追加登録する
    ことを特徴とする装置。
  7. 前記の利用不可能であった第2サーバが、クライアントにとって再び利用可能となったことに応答して、
    前記クライアントは、前記第1サーバの登録を抹消し、前記第1サーバを前記第2小サーバグループから外す
    ことを特徴とする請求項6記載の装置。
  8. 前記サーバへの登録は、アクティブーアクティブの構成、又はアクティブースタンバイの構成のいずれかを有すことを特徴とする請求項6記載の装置。
  9. 前記複数のサーバの内のサーバは、順番に並んでおり、
    前記小サーバグループのサーバが、前記クライアントに利用可能な順番の最初のN(整数)個のサーバを有し、
    前記第1サーバは、前記クライアントに利用可能な順番の(N+1)番目のサーバとなる
    ことを特徴とする請求項6記載の装置。
JP2009188159A 2008-09-16 2009-08-15 エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法 Expired - Fee Related JP5523012B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/211,284 2008-09-16
US12/211,284 US8527656B2 (en) 2008-03-26 2008-09-16 Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network

Publications (2)

Publication Number Publication Date
JP2010074824A JP2010074824A (ja) 2010-04-02
JP5523012B2 true JP5523012B2 (ja) 2014-06-18

Family

ID=40941066

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009188159A Expired - Fee Related JP5523012B2 (ja) 2008-09-16 2009-08-15 エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法

Country Status (6)

Country Link
US (1) US8527656B2 (ja)
JP (1) JP5523012B2 (ja)
CN (1) CN101677320B (ja)
BR (1) BRPI0903431B1 (ja)
DE (1) DE102009041127A1 (ja)
GB (1) GB2463342B (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8792482B2 (en) * 2008-12-09 2014-07-29 At&T Intellectual Property I, L.P. Method and apparatus for correlation of data sources in a Voice over Internet Protocol network
EP2209283A1 (en) * 2009-01-20 2010-07-21 Vodafone Group PLC Node failure detection system and method for SIP sessions in communication networks.
US8661077B2 (en) * 2010-01-06 2014-02-25 Tekelec, Inc. Methods, systems and computer readable media for providing a failover measure using watcher information (WINFO) architecture
US8341254B2 (en) * 2010-02-09 2012-12-25 International Business Machines Corporation Middleware-driven server discovery
US20110302247A1 (en) * 2010-06-02 2011-12-08 Microsoft Corporation Contextual information dependent modality selection
US9806965B2 (en) * 2010-09-29 2017-10-31 Avaya Inc. Automatic user redundancy determination
US8345840B2 (en) 2010-11-23 2013-01-01 Mitel Networks Corporation Fast detection and reliable recovery on link and server failures in a dual link telephony server architecture
CA2745823C (en) * 2010-11-23 2014-06-17 Mitel Networks Corporation Fast detection and reliable recovery on link and server failures in a dual link telephony server architecture
US8451828B2 (en) * 2010-11-23 2013-05-28 Mitel Network Corporation Registering an internet protocol phone in a dual-link architecture
CN102959928B (zh) * 2011-02-28 2016-09-07 西门子企业通讯有限责任两合公司 向移动设备动态分配生存性服务的装置和机制
WO2012133635A1 (ja) * 2011-03-30 2012-10-04 日本電気株式会社 中継装置、中継方法、および中継処理プログラム
JP5895642B2 (ja) * 2012-03-22 2016-03-30 日本電気株式会社 SIP(SessionInitiationProtocol)システム、SIPサーバ、加入者端末及びプログラム
CN103548315B (zh) * 2012-05-15 2017-03-08 西门子企业通讯有限责任两合公司 用于高性能低等待时间实时通知递送的方法和装置
BR112013009996A2 (pt) * 2012-07-10 2017-03-21 Siemens Entpr Communications Gmbh & Co Kg método, dispositivo, e sistema para fornecer um serviço de acesso
GB2505196B (en) * 2012-08-21 2018-01-24 Metaswitch Networks Ltd Acknowledgement message monitoring
US8930553B2 (en) 2012-10-09 2015-01-06 International Business Machines Corporation Managing mid-dialog session initiation protocol (SIP) messages
JP2014099705A (ja) * 2012-11-13 2014-05-29 Canon Inc 通信装置及びその制御方法、並びにプログラム
US9088588B2 (en) * 2012-11-28 2015-07-21 At&T Intellectual Property I, Lp Method and apparatus for registering communication devices in a communication system
US9948782B2 (en) 2013-03-15 2018-04-17 Genesys Telecommunications Laboratories, Inc. Hybrid cloud architecture with optimized local delivery
US9591137B2 (en) 2013-03-15 2017-03-07 Genesys Telecommunications Laboratories, Inc. System and method for providing contact center services in a hybrid operations environment
US10277741B2 (en) 2013-03-15 2019-04-30 Genesys Telecommunications Laboratories, Inc. System and method for transmitting signaling and media from a hybrid contact center operations environment
US9559939B2 (en) * 2013-03-15 2017-01-31 Genesys Telecommunications Laboratories, Inc. System and method for handling resource failure in a hybrid contact center operations environment
US10154143B2 (en) 2013-03-15 2018-12-11 Genesys Telecommunications Laboratories, Inc. System and method for dynamically selecting a dial plan
US9419879B2 (en) 2013-06-20 2016-08-16 International Business Machines Corporation Selectively refreshing address registration information
US20150100826A1 (en) * 2013-10-03 2015-04-09 Microsoft Corporation Fault domains on modern hardware
GB201320770D0 (en) 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320774D0 (en) 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320776D0 (en) 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320777D0 (en) * 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
GB201320778D0 (en) 2013-11-25 2014-01-08 Microsoft Corp Communication system architecture
EP3135015A1 (en) * 2014-04-25 2017-03-01 Telefonaktiebolaget LM Ericsson (publ) Apparatus and method for managing client devices
US9591049B2 (en) 2014-09-16 2017-03-07 Inemsoft, Inc. Systems and methods of managing communication endpoints
CN104618265B (zh) * 2014-12-30 2018-03-13 华为技术有限公司 一种报文转发方法和装置
US10225095B2 (en) * 2015-04-27 2019-03-05 Dell Products L.P. Systems and methods for one-to-many wireless access to management controllers
US9935857B1 (en) * 2015-12-17 2018-04-03 8X8, Inc. Analysis of system conditions from endpoint status information
US10264077B2 (en) * 2016-04-04 2019-04-16 Netsapiens System and methods for employing non-related communication architecture for signaling in another communication architecture
US10291659B2 (en) * 2016-10-18 2019-05-14 T-Mobile Usa, Inc. Timer management for session initiation protocol
US10826883B2 (en) 2017-04-11 2020-11-03 Dell Products L.P. Systems and methods for host system management of an information handling system via a mobile information handling system
US11140533B2 (en) * 2017-05-12 2021-10-05 Convida Wireless, Llc Enable reliable and distributed M2M/IoT services
US11038929B1 (en) * 2017-05-24 2021-06-15 First Orion Corp. Efficient SIP message modification
US10564218B2 (en) 2017-11-03 2020-02-18 Dell Products L.P. Systems and methods for debugging access

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63285053A (ja) 1987-05-18 1988-11-22 Nec Corp 網管理装置の障害処理方式
US6490610B1 (en) 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US6145089A (en) 1997-11-10 2000-11-07 Legato Systems, Inc. Server fail-over system
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US6992974B1 (en) 2000-10-10 2006-01-31 3Com Corporation System and method for providing fault tolerance in a network telephony system
US6961567B1 (en) 2000-12-07 2005-11-01 Palm, Inc. Generic activation and registration framework for wireless devices
US7333505B2 (en) 2000-12-18 2008-02-19 Nortel Networks Limited Transaction management for interworking between disparate networks
WO2002103486A2 (en) 2001-06-18 2002-12-27 Crandell Jeffrey L Apparatus, systems and methods for managing incoming and outgoing communication
US20030174648A1 (en) 2001-10-17 2003-09-18 Mea Wang Content delivery network by-pass system
JP2003198603A (ja) 2001-12-27 2003-07-11 Oki Electric Ind Co Ltd 通信装置および通信システム
JP3883452B2 (ja) * 2002-03-04 2007-02-21 富士通株式会社 通信システム
US6944788B2 (en) * 2002-03-12 2005-09-13 Sun Microsystems, Inc. System and method for enabling failover for an application server cluster
US7298708B2 (en) 2002-08-28 2007-11-20 Mitel Knowledge Corporation IP device registration
GB0230301D0 (en) 2002-12-30 2003-02-05 Nokia Corp Streaming media
EP1509018A1 (de) 2003-08-18 2005-02-23 Siemens Aktiengesellschaft Verfahren, Software-Produkt und Vorrichtungen zur Signalisierung der Modifikation von Bearerverbindungen mittels SIP Protokoll
US20050060411A1 (en) 2003-09-16 2005-03-17 Stephane Coulombe System and method for adaptation of peer-to-peer multimedia sessions
JP4719415B2 (ja) * 2003-12-26 2011-07-06 株式会社日立製作所 情報処理システム及びコード生成方法
JP4524686B2 (ja) 2004-04-15 2010-08-18 日本電気株式会社 クラスタシステム及びクラスタメンバ並びにプログラム
KR100840365B1 (ko) 2004-07-30 2008-06-20 삼성전자주식회사 다중 피.오.씨 세션의 세션 결합 방법 및 그 시스템
CA2576569A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US8055778B2 (en) 2004-09-30 2011-11-08 Siemens Enterprise Communications, Inc. SIP user agent with simultaneous multiple registrations
KR100623482B1 (ko) 2004-12-14 2006-09-14 한국전자통신연구원 세션 이동 방법
US8194640B2 (en) 2004-12-31 2012-06-05 Genband Us Llc Voice over IP (VoIP) network infrastructure components and method
US8223926B2 (en) 2005-02-11 2012-07-17 Cisco Technology, Inc. Resilient registration with a call manager
JP2006237950A (ja) * 2005-02-24 2006-09-07 Saxa Inc Ip電話端末およびプログラム
US20060235981A1 (en) 2005-04-19 2006-10-19 Nokia Corporation Providing a second service to a group of users using a first service
JP2007004361A (ja) 2005-06-22 2007-01-11 Mitsubishi Electric Corp 負荷分散装置
US7760708B2 (en) 2005-07-08 2010-07-20 Tekelec Methods, systems, and computer program products for triggering SIP nodes to include SS7 routing information in response messages including information requested by SS7 nodes
US20070041327A1 (en) 2005-08-16 2007-02-22 Cisco Technology, Inc. Multicast heartbeat signaling
US8125888B2 (en) 2005-08-23 2012-02-28 Multi-Tech Systems, Inc. Session initiation protocol survivable server
US8156564B2 (en) * 2005-10-14 2012-04-10 Whaleback Systems Corporation Discovering network services
US8565070B2 (en) 2005-11-23 2013-10-22 Cisco Technology, Inc. System and method for active geographic redundancy
US20070266162A1 (en) 2005-12-07 2007-11-15 Microsoft Corporation Session initiation protocol redirection for process recycling
US8233384B2 (en) 2005-12-21 2012-07-31 Rockstar Bidco, LP Geographic redundancy in communication networks
CN100508539C (zh) 2006-01-09 2009-07-01 华为技术有限公司 会话边界控制器双归属的实现方法及系统
JP2007200103A (ja) 2006-01-27 2007-08-09 Nec Corp クライアントサーバシステムおよびリソース制御方法
US7702093B2 (en) 2006-02-08 2010-04-20 Nvoq Incorporated Systems and methods to redirect audio between callers and voice applications
US20080031226A1 (en) 2006-08-01 2008-02-07 Boro Networks Inc. Scalable, high-availability network
US9137287B2 (en) 2006-08-28 2015-09-15 Avaya Inc. High availability for voice enabled applications
US8064342B2 (en) 2006-10-27 2011-11-22 Verizon Patent And Licensing Inc. Load balancing session initiation protocol (SIP) servers
US8406123B2 (en) 2006-12-11 2013-03-26 International Business Machines Corporation Sip presence server failover
US7844851B2 (en) 2006-12-13 2010-11-30 Oracle International Corporation System and method for protecting against failure through geo-redundancy in a SIP server
US8576833B2 (en) * 2006-12-15 2013-11-05 At&T Intellectual Property I, L.P. Fault tolerant voice over Internet protocol (VoIP) systems and methods to operate the same
US9083722B2 (en) 2007-10-05 2015-07-14 Qualcomm Incorporated Session initiation protocol registration with ping
US20090150562A1 (en) 2007-12-07 2009-06-11 Research In Motion Limited Apparatus and method for directing a communication session to a communication device of a group of devices having a common registration identity
US8606901B2 (en) 2008-01-30 2013-12-10 At&T Intellectual Property I, L. P. Facilitating deployment of new application services in a next generation network
US8107361B2 (en) * 2008-03-26 2012-01-31 Avaya Inc. Simultaneous active registration in a SIP survivable network configuration
US7995466B2 (en) * 2008-03-26 2011-08-09 Avaya Inc. Failover/failback trigger using SIP messages in a SIP survivable configuration
US8018848B2 (en) * 2008-03-26 2011-09-13 Avaya Inc. Survivable phone behavior using SIP signaling in a SIP network configuration
US7836185B2 (en) 2008-06-27 2010-11-16 International Business Machines Corporation Common resource management in a server cluster

Also Published As

Publication number Publication date
DE102009041127A1 (de) 2010-04-15
CN101677320B (zh) 2014-10-01
JP2010074824A (ja) 2010-04-02
GB2463342B (en) 2012-08-08
BRPI0903431B1 (pt) 2019-11-12
GB2463342A (en) 2010-03-17
BRPI0903431A2 (pt) 2010-06-01
US20100070563A1 (en) 2010-03-18
US8527656B2 (en) 2013-09-03
CN101677320A (zh) 2010-03-24
GB0910567D0 (en) 2009-07-29

Similar Documents

Publication Publication Date Title
JP5523012B2 (ja) エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法
EP2111015B1 (en) Simultaneous active registration in a SIP survivable network configuration
EP2106065B1 (en) A failover/failback trigger using a SIP notify message in a SIP survivable network configuration
KR101383923B1 (ko) Sip 존속가능 사용자 에이전트 유지 방법, 통신 엔드포인트, 통신 시스템 및 컴퓨터 판독가능 저장 매체
EP1847110B1 (en) Resilient registration with a call manager
EP2901651A1 (en) Application layer session routing
US9948726B2 (en) Reconstruction of states on controller failover
US8930768B2 (en) System and method of failover for an initiated SIP session
US20190081886A1 (en) Method and system for surviving outages in hosted sip service networks
US8630163B1 (en) Server driven endpoint re-homing
GB2433376A (en) Communications system with peer-to-peer backup network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130611

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130710

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130810

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131128

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: 20140324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140408

R150 Certificate of patent or registration of utility model

Ref document number: 5523012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees