JP2009239892A - Sip生残り可能なネットワーク構成における同時アクティブ登録 - Google Patents

Sip生残り可能なネットワーク構成における同時アクティブ登録 Download PDF

Info

Publication number
JP2009239892A
JP2009239892A JP2008326773A JP2008326773A JP2009239892A JP 2009239892 A JP2009239892 A JP 2009239892A JP 2008326773 A JP2008326773 A JP 2008326773A JP 2008326773 A JP2008326773 A JP 2008326773A JP 2009239892 A JP2009239892 A JP 2009239892A
Authority
JP
Japan
Prior art keywords
controller
sip
endpoint
controllers
discovery module
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.)
Granted
Application number
JP2008326773A
Other languages
English (en)
Other versions
JP2009239892A5 (ja
JP5008647B2 (ja
Inventor
Al Baker
ベイカー アル
Mehmet C Balasaygun
シー.バラセイガン メフメト
Frank J Boyle
ジェイ.ボイル フランク
Gordon Brunson
ブランソン ゴードン
Benjamin Jenkins
ジェンキンス ベンジャミン
Pamela J Lauber
ジェイ.ローバー パメラ
A Petsche Thomas
エー.ペッシュ トーマス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avaya Inc
Original Assignee
Avaya Inc
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 Avaya Inc filed Critical Avaya Inc
Publication of JP2009239892A publication Critical patent/JP2009239892A/ja
Publication of JP2009239892A5 publication Critical patent/JP2009239892A5/ja
Application granted granted Critical
Publication of JP5008647B2 publication Critical patent/JP5008647B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated 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/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session 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/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • 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)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】SIP生残り可能なネットワークを維持するための方法、デバイスおよびシステムを提供すること。
【解決手段】本発明は、SIP終点すなわちユーザ・エージェントが、SIP終点が登録することになる1つまたは複数のコントローラを発見および選択することを可能にするように適合される。1つまたは複数のコントローラの選択は、コントローラの相対的な属性およびSIP終点の要求に基づくことが可能である。
【選択図】図1

Description

本発明は、一般に通信ネットワークに関し、より詳細には、生残り可能な(survivable)セッション開始プロトコル(SIP)の生残り可能なネットワークに関する。
セッション開始プロトコル(SIP)は、多くの種類のリアルタイム通信セッションを確立するための開放型シグナリング・プロトコル(open signaling protocol)である。SIPを使用して確立され得る通信セッションのタイプの例は、音声、ビデオ、ゲーム、適用業務、および/またはインスタント・メッセージングを含む。これらの通信セッションは、パーソナル・コンピュータ、ラップトップ・コンピュータ、携帯情報端末(PDA)、セルラ電話、IMクライアント、IP電話、伝統的な電話、サーバ適用業務、適用業務の集約、デスクトップ適用業務など、任意のタイプの通信デバイス上で実行され得る。
SIPの1つの重要な特徴は、最終利用者、適用業務、およびサービス・プロバイダ・ネットワークに対するすべての通信に関する単一の統一公用アドレスとしてアドレス・オブ・レコード(Address of Record)(AOR)を使用するその能力である。これにより、SIP拡張された通信の世界では、ユーザのAORは、ユーザをユーザに関連する通信デバイスのすべてと連結するユーザの単一のアドレスになる。このAORを使用して、発呼側は、独自のデバイスアドレスまたは独自の電話番号のそれぞれを知る必要なく、ユーザ・エージェント(UA)とも呼ばれる、ユーザの通信デバイスのうちのいずれかに連絡することが可能である。
多くのSIPアプリケーションサーバは、SIP環境において通信適用業務を可能にする目的で、かつUAにとっての発信プロキシとして機能し、それによりそれらのデバイスがネットワークに接続するために使用するプロキシを通じてその複雑さを隠すと同時に、複雑なネットワークが構築されることを可能するために存在する。かかる通信適用業務のための主な領域のうちの1つは、SIP UAの呼制御である。生残り可能なSIPネットワーク構成を提供する問題の解決策は現在ほとんど存在しない。過去に生残り可能性が提供された1つの方法は、SIPシグナリングに対する応答が存在しない場合に用いられるSIPプロキシの使用を介してであった。プロキシは、ネットワーク内の1つまたは複数の代替経路を経由してシグナリングを経路指定するために使用されることが可能である。生残り可能性を提供するために呼コントローラすなわちゲートウェイ以外の追加のネットワーク要素が要求されるため、別々のプロキシの使用は高額になる可能性がある。
その他のネットワークサーバ製品は、ゲートウェイがネットワークサーバの高い利用可能性に起因するネットワークサーバ障害に遭遇する可能性が低いように、地理的冗長性構成を提供する。プロキシの使用と同様に、利用可能性の高いサーバを購入してネットワークの全体にわたって分散する必要があるため、この特定の解決策は比較的高額である。知られている現在の解決策のさらなる欠点は、主なSIPシグナリング経路が利用可能でない場合、ネットワーク要素(例えば、ゲートウェイ)は代替の経路を使用することが許可されない;かかる解決策は、サーバの全域でのデータの複写を用いたホットスタンバイ構成を要求する;かかる解決策は一次呼コントローラおよび二次呼コントローラがまさしく同じSIPバージョンを使用して、SIP終点にSIP特徴のまさしく同じセットを提供することを要求するという事実を含む。
これらの欠点に加えて、ネットワーク障害がいつ発生したかを決定するための論理は、伝統的に様々なネットワーク要素が適切に動作しているかどうかを決定するためにネットワークのIP層を検査する能力を有するルータ内に配置されている。この障害/フェイルバック検出論理は、ネットワーク構成要素の残りの部分への処理負担を取り除くためにルータ内に配置されている。この特定の構成の1つの主な欠点は、ルータはSIPアプリケーションレベルでサーバまたはその他のネットワーク要素が動作可能であるかどうかを検出することが不可能であるという点である。サーバはIP層レベルで動作可能であるが、SIPコントローラが動作可能でない多くの事例が存在し得る。先行技術のルータおよびその他のネットワーク要素は、これまでかかる障害状態を識別することが不可能であり、かかるサーバを動作可能と登録することになる。
これらの必要性およびその他の必要性は、本発明の様々な実施形態および構成によって対処される。本発明は、一般に、通信ネットワークまたは通信システムの一部またはすべての利用可能性を解析するためのシステム、デバイス、および方法に関する。一実施形態では、方法は、
セッション開始プロトコル(SIP)対応通信終点で、第1のコントローラに関係するコントローラ情報を受信することと、
通信終点で、第2のコントローラに関係するコントローラ情報を受信することと、
第1および第2のコントローラの両方に関係するコントローラ情報を解析することと、
解析するステップに基づいて、通信終点がそのコントローラとして第1および第2のコントローラのうちの少なくとも1つを選択することとを備える。
コントローラは、終点に、SIP関連の機能を提供すること、ならびに、終点に対する着信/発信SIP呼出しを円滑にすることが可能である。本発明の少なくともいくつかの実施形態によれば、コントローラは、異なる属性および特徴を含むことが可能であり、したがって、終点に異なるSIP特徴を提供することが可能であり得る。終点に通信システム内の障害(例えば、その一次コントローラまたは一次コントローラを終点に接続するいくつかの構成要素の障害)に生き残るための能力を提供する目的で、終点は、第1および第2のコントローラの両方とのその登録を同時に維持するように適合され得る。少なくともいくつかの実施形態では、終点は、2つ以上のコントローラと同時に登録するように適合され得る。
本発明の少なくともいくつかの実施形態によれば、終点はその一次コントローラとして第1および第2のコントローラの両方を選択することが可能である。この生残り可能なアクティブ・アクティブ構成では、終点は両方のコントローラとの通信を可能にし得る。本発明のその他の実施形態では、終点は、その一次コントローラとして第1のコントローラを選択して、その二次コントローラとして第2のコントローラを選択することが可能である。このアクティブ・スタンバイ構成では、終点が一次動作/構成モードで動作しているかまたはフェイルオーバ動作/構成モードで動作しているかに応じて、終点は1つのコントローラまたはその他のコントローラから受信されたメッセージを判別することが可能である。
終点は、コントローラの相対的な属性に基づいてそのコントローラを選択することが可能である。本発明の少なくともいくつかの実施形態によれば、終点は、コントローラ属性情報を要求および発見し、次いで、それらの相対的な属性情報に基づいて順序付けされたコントローラのリストを生成するように適合され得る。順序付けされたコントローラのリストを用いて、終点は終点が(1つまたは複数の)コントローラのどちらに登録すべきかを裁定するように適合されることが可能である。終点に、終点が登録することになるコントローラを選択するために論理を提供し、(例えば、優先順位を無効にすることなどによって)終点のためのコントローラを選択する能力を有する(1つまたは複数の)サーバも同様に提供することによって、終点もサーバもどのコントローラが使用されるべきかを終点またはサーバに伝えるために任意の単一のネットワーク構成要素に依存しないため、終点およびサーバの組合せは、障害状態を処理するためにより良好に装備されることになる。さらに、終点は、定期的にコントローラ情報を要求して、コントローラを備える構成要素に関する最新状態情報を取得することによって、順序付けされたコントローラのリストを動的に更新することが可能にされることになる。本明細書でさらに説明されるように、終点およびそのコントローラは、フェイルオーバの前に主なアーキテクチャ上の構成に対応する一次構成内で動作することが可能である。フェイルオーバ動作または構成モードは、障害状態の場合に使用される構成要素のバックアップ・アーキテクチャ構成に対応し得る。このフェイルオーバ構成は、障害状態に生き残る能力を終点に提供する。フェイルオーバ構成は、適用可能な場合、終点が対称性についてよく知ることができるように、一次構成とバックアップ構成の間で対称であってもよく、または非対称であってもよい。用語「SIPアプリケーション」は、SIPに従った使用に関して互換性があり、SIPメッセージの伝送を介して円滑にされ得る任意の適用業務または動作を含むと理解されるべきである。本明細書で使用される「基本的なSIP特徴」は、シグナリングまたはそのシグナリング内に含まれたデータに対する拡張された拡張機能を含まないSIPシグナリングに関する任意のインターネット・エンジニアリング・タスク・フォース(IETF)コメント要求(RFC)標準を含む。これは、プレゼンスを表示するSIP通知メッセージで使用されるXMLコンテンツを説明するためのプレゼンス標準など、SIPに関して使用され得る追加の関連する標準を含む。
本明細書で使用される場合「監視すること」は、監視されている要素もしくは要素のグループの動作または状態に影響がない手段を用いて観察すること、記録すること、または検出することに関係する任意のタイプの機能を含む。
本明細書で使用される場合、「少なくとも1つ」、「1つまたは複数」、ならびに「および/または」は、動作において接続的および離接的の両方である自由な表現である。例えば、各表現「A、BおよびCのうちの少なくとも1つ」、「A、BまたはCのうちの少なくとも1つ」、「A、BおよびCのうちの1つまたは複数」、「A、BまたはCのうちの1つまたは複数」、「A、B、および/またはC」は、Aだけ、Bだけ、Cだけ、AおよびBが共に、AおよびCが共に、BおよびCが共に、またはA、BおよびCが共にを意味する。
用語「1つの(a)」または「1つの(an)」の実体は、その実体の1つまたは複数を指す。したがって、用語「1つの(a)」(または「1つの(an)」)、「1つまたは複数」および「少なくとも1つ」は、本明細書で交換可能に使用され得る。用語「備える」、「含む」、および「有する」は交換可能に使用され得る点にも留意されたい。
本明細書で使用される場合、用語「自動的」およびその改変形態は、プロセスまたは動作が実行される場合、物質的な人間の入力なしに行われる任意のプロセスまたは動作を指す。しかし、プロセスまたは動作の実行が、プロセスまたは動作の実行の前に受信された、物質的であれ非物質的であれ、人間の入力を使用する場合でさえ、プロセスまたは動作は自動的であり得る。人間の入力がプロセスまたは動作がどのように実行されることになるかに影響を与える場合、かかる入力は物質的と見なされる。プロセスまたは動作の実行を承認する人間の入力は「物質的」と見なされない。
本明細書で使用される場合、用語「コンピュータ可読媒体」は、実行のためにプロセッサに命令を提供する際に関与する任意の有形記憶装置および/または伝送媒体を指す。コンピュータ可読媒体は、IPネットワーク(例えば、SOAP)上のネットワーク伝送内で符号化された命令の直列化されたセットであり得る。かかる媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定されない、多くの形態を取ることが可能である。不揮発性媒体は、例えば、NVRAM、または磁気ディスクもしくは光ディスクを含む。揮発性媒体は、主記憶装置などのダイナミック・メモリ(例えば、RAM)を含む。コンピュータ可読媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意のその他の磁気媒体、光磁気媒体、CD−ROM、任意のその他の光媒体、パンチカード、ペーパーテープ、正孔のパターンを有する任意のその他の物理媒体、RAM、PROM、EPROM、フラッシュEPROM、メモリカードなどの固体媒体、任意のその他のメモリチップもしくはカートリッジ、以下で説明されるような搬送波、あるいはそこからコンピュータが読み取ることが可能な任意のその他の媒体を含む。電子メールへのデジタル添付ファイルまたはその他の内蔵型の情報アーカイブもしくはアーカイブのセットは、有形記憶媒体と同等の配布媒体と考えられる。コンピュータ可読媒体がデータベースとして構成される場合、データベースは、関係のあるデータベース、階層的なデータベース、オブジェクト指向のデータベース、および/または類似のデータベースなど、任意のタイプのデータベースであり得ると理解されたい。したがって、本発明は有形記憶媒体または配布媒体ならびに先行技術で認識された均等物および本発明のソフトウェア実装が記憶される後続の媒体を含むと考えられる。
本明細書で使用される場合、用語「決定する」、「計算する」および「演算する」ならびにそれらの改変形態は交換可能に使用され、任意のタイプの方法論、プロセス、数学的演算または数学的技術を含む。より詳細には、かかる用語はBPELなどの解釈されたルールまたは論理はハードコードされ(hard coded)ないが、読み込まれ、解釈され、編集され、実行されることが可能なルールファイル内に表現されるルール言語を含み得る。
本明細書で使用される場合、用語「モジュール」または「ツール」は、任意の知られているもしくは後で開発されるハードウェア、ソフトウェア、ファームウェア、人工知能、ファジー理論、またはその要素に関連する機能性を実行することが可能なハードウェアおよびソフトウェアの組合せを指す。また、本発明は例示的な実施形態の点から説明されるものの、本発明の個々の態様は別々に特許請求され得る点を理解されたい。
前記は、本発明のいくつかの態様の理解をもたらすための本発明の簡素化された概要である。この問題を解決するための手段は、本発明およびその様々な実施形態の広範囲な概要ではなく、または網羅的な概要でもない。この問題を解決するための手段は、本発明の主な要素もしくは重要な要素を識別することまたは本発明の範囲を描写することが意図されず、下で提示されるより詳細に説明される説明の手引きとして本発明の選択された概念を簡素化された形態で提示することが意図される。理解されるように、上に記載された特徴または下で説明される特徴のうちの1つまたは複数を単独でまたは組み合わせて利用する、本発明のその他の実施形態が可能である。
本発明は、例示的な通信システムに関して下で説明される。例えば、(1つまたは複数の)サーバおよび/(1つまたは複数の)データベースを使用するシステムを用いた使用に大変適しているものの、本発明は任意の特定のタイプの通信システムまたはシステム要素の構成を用いた使用に限定されない。さらに、本明細書で使用される場合、用語「データベース」は関係データベース・システムだけでなく、ハードウェアと、RAM内のソフトウェアまたはハードディスク上のソフトウェアの両方で利用可能な任意のコンピュータ記憶機構を含み得る。当業者は、開示された技術は、SIP生残り可能なネットワークを維持することが望まれる任意の通信適用業務において使用され得る点を理解されよう。
本発明の例示的なシステムおよび方法は、解析ソフトウェア、モジュール、および関連する解析ハードウェアに関しても説明される。しかし、本発明を不必要にあいまいにすることを避けるために、以下の説明は、ブロック図の形態で示される場合がある、よく知られている、またはそうでない場合は要約されるよく知られている構造、構成要素およびデバイスを省略する。かかるよく知られている構造の例は、IPインフラストラクチャ、レイヤ2スイッチ、レイヤIPルータ、IPレベルのファイアウォール、ネットワーク・アドレス変換(NAT)デバイス、SIPセッション・ボーダー・コントローラ(SIP Session Border Controller)(SBC)を制限なく含む。
説明の目的で、様々な詳細は本発明の完全な理解をもたらすために記載される。しかし、本発明は、本明細書に記載された特定の詳細を超える様々な方法で実施され得る点を理解されたい。
初めに図1を参照すると、本発明の少なくともいくつかの実施形態による例示的な通信システム100のアーキテクチャが説明される。通信システム100は、SIPユーザ・エージェント(UA)108などの終点をいくつかのその他の通信デバイスに接続する第1のネットワーク104を備える。UA108は、やはり第1のネットワーク104に接続された終点ならびに第1のネットワーク104に対して外側にあるその他の終点と通信するように適合され得る。例えば、UA108は、第2のネットワーク152に接続された外部の終点156と通信するように適合され得る。
第1のネットワーク104および第2のネットワーク152は、任意のタイプの知られている通信ネットワークまたは通信機器の収集物に対応し得る。第1のネットワーク104は、ローカエル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、またはOSIモデルによって定義されるような任意のその他のタイプのレイヤ3ネットワークおよびレイヤ4ネットワークを備え得る。
第2のネットワーク152は、任意のタイプの情報トランスポーテーション媒体(information transportation medium)を備えることが可能であり、終点間でメッセージをトランスポートするために任意のタイプのプロトコルを使用することが可能である。インターネットは、多くのコンピュータと、多くの電話システムおよびその他の手段を介して接続された、世界中に配置されたその他の通信デバイスとからなるIPネットワークを構成する通信ネットワーク104の例である。第2のネットワーク152のその他の例は、標準の一般電話システム(Plain Old Telephone System)(POTS)、統合サービス・デジタル・ネットワーク(ISDN)、公衆交換電話網(PSTN)、LAN、WAN、セルラ通信ネットワーク、および当技術分野で知られている任意のその他のタイプのパケット交換ネットワークまたは回線交換ネットワークを制限なく含む。両方の通信ネットワーク104、152は、有線通信技術および/または無線通信技術を含み得る。
UA108のSIP機能は、やはり第1のネットワーク104に接続される1つまたは複数のサーバ136によって提供され得る。UA108は、第1のネットワーク104の外部のその他のサーバまたは通信デバイスによって制御されることも可能である。例えば、第1のネットワーク104を第2のネットワーク152と接続するゲートウェイ148は、UA108にSIP制御能力を提供するように適合されることも可能である。
SIP機能を提供することに加えて、サーバ136は、音声呼出しソフトウェア(例えば、VoIPソフトウェア)、ビデオ呼出しソフトウェア、IMソフトウェア、音声メッセージング・ソフトウェア(例えば、音声メッセージングおよびビデオ・メッセージング、IMメッセージングなどのマルチメディア・メッセージング)、記録ソフトウェア、IP音声サーバ、ファックスサーバ、ウェブサーバ、電子メールサーバ、(1つまたは複数の)コールセンター適用業務などを含み得る。
本発明の実施形態によれば、サーバ136は、軽量ディレクトリ・アクセス・プロトコル(Lightweight Directory Access Protorol)(LDAP)、H.248、H.323、簡易メール転送プロトコル(Simple Mail Transfer Protocol)(SMTP)、インターネット・メッセージ・アクセス・プロトコル4(IMAP4)、統合サービス・デジタル・ネットワーク(ISDN)、E1/T1、HTTP、SOAP、XCAP、STUN、およびアナログ回線またはアナログ・トランクなど、様々なその他のプロトコルに関するインターフェースを含み得る。
サーバ136は、PBX、自動呼出し分配(Automatic Call Distribution)(ACD)、企業スイッチ(enterprise switch)、またはその他のタイプの通信システム・スイッチ(例えば、ダイヤルされた電話番号に従って、それぞれが加入者電話に接続されている2つ以上の回路を一緒に接続することによって機能する中央交換内の複合機械(または、一連の複合機械)など、1つの電話からもう1つの電話に呼出しを経路指定することが可能な任意のデバイス)もしくはサーバ、ならびにメディア・サーバ、コンピュータ、付属物など、その他のタイプのプロセッサ・ベースの通信制御デバイスを含んでもよい。
ゲートウェイ148は、PSTN;次世代ネットワーク;2G、2.5Gおよび3Gの無線アクセス・ネットワーク;またはPBXなど、異なる電気通信ネットワークの間で変換ユニットとして機能するために提供される。ゲートウェイ148の機能のうちの1つは、様々なネットワークのために異なる伝送技術および符号化技術を変換することである。エコー除去、DTMF、およびトーン送信機などのメディア・ストリーミング機能もゲートウェイ148によってサポートされ得る。ゲートウェイ148は、信号/メッセージを1つのネットワーク動作可能なパラダイム(例えば、伝送プロトコル)からもう1つのネットワーク動作可能なパラダイムにさらに変換する。
UA108にSIP機能性を提供するために、サーバ136および/またはゲートウェイ148は、1つまたは複数のコントローラ140a−Nを備え得る。UA108は、一度に1つまたは複数のコントローラ140a−Nに登録するように適合され得る。本明細書で使用される場合、用語「登録する」および「登録」は、SIPレジスタ・メッセージの送信および肯定応答を含むがこれに限定されない、SIP登録およびネットワーク接続方法ならびにプロセスを指し、加入のための加入メッセージ、オプション・メッセージを使用したクエリ、ならびにSTUNプロトコル、HTTPクエリなどを使用したファイアウォール検出およびNAT検出などのその他の非SIP機構など、その他の機構を含み得る。
コントローラ140a−Nは、サーバ136上に常駐している適用業務またはファームウェアに対応することが可能であり、コントローラ140a−Nは、制御されたUA108に向けられたSIPメッセージおよび制御されたUA108から受信されたSIPメッセージを処理するために使用され得る。コントローラ140a−Nによって処理されるSIPメッセージは、もう1つの終点156に向けられたUA108によって発生する発信SIPメッセージまたはもう1つの終点156によって発生し、UA108に向けられた着信SIPメッセージに対応し得る。コントローラ140a−Nは、通信システム100のアプリケーション層で動作することが可能である。
本発明の少なくとも1つの実施形態によれば、UA108は2つ以上のコントローラ140a−Nに同時に登録することが可能であり得る。UA108が同時に登録されたコントローラ140のそれぞれは、異なる属性を備えることが可能であり、したがって、UA108に異なるSIP機能を提供することが可能であり得る。例えば、UA108は、拡張された拡張機能(すなわち、最新特徴セット)を使用する第1のコントローラ140aと、RFC3261を含むがこれに限定されない、SIPプロトコル上の1つまたは複数のIETF RFCに従った呼出し処理に関する標準のインターネット・エンジニアリング・タスク・フォース(IETF)に準拠するSIP拡張機能を使用する第2のコントローラ140bとに同時に登録することが可能である。
同時登録構成では、UA108は、アクティブ・アクティブ登録またはアクティブ・スタンバイ登録のいずれかが可能であり得る。アクティブ・アクティブ登録では、UA108は、メッセージが一次コントローラ140から送信されているかまたは一次コントローラ140から着信しているかを決定せずに、いずれかのコントローラ140からSIPメッセージを受け取り、SIPメッセージをいずれかのコントローラ140に送信することが可能である。しかし、アクティブ・スタンバイ登録構成では、アクティブなコントローラ140が動作不能にならない限り、UA108はSIPシグナリングの目的でアクティブなコントローラ140だけを使用することが可能である。かかる構成では、メッセージがスタンバイ・コントローラ140から受信され、UA108が一次コントローラ140は動作可能であると確信する場合、UA108は一次コントローラ140を介して再度経路指定のためにSIPメッセージをスタンバイ・コントローラ140に送信し戻すことが可能である。
本発明の別の実施形態によれば、UA108はコントローラ140a−Nとの優先順位登録を実行することが可能であり、それにより、UA108が第1のコントローラ140aが休止中であること、またはそうでない場合、SIP機能を提供するために利用不可能である(その場合、UA108は第2のコントローラ140bに登録することが可能である)ことを決定しない限り、UA108は第1のコントローラ140aに登録される。
本発明のさらに別の実施形態によれば、同位層間(Peer−to−Peer)SIPネットワーク構成が用いられることが可能であり、その場合、UA108はもう1つの終点上または複数の終点上でコントローラ140に登録することが可能である。
UA108は、メモリ112と、メモリ112内に記憶されたルーチンを実行するためならびに着信/発信SIPメッセージおよび媒体を処理するためのプロセッサ124とを備え得る。メモリ112は、発見モジュール116とコントローラのリスト120とを含み得る。発見モジュール116は、UA108を制御することが可能なコントローラ140を備える、システム100内のデバイスを発見するために用いられることが可能である。本発明の少なくともいくつかの実施形態によれば、発見モジュール116は、任意の利用可能なコントローラ140が応答し得る発見要求を送信するように適合され得る。コントローラ140から受信された(1つまたは複数の)応答(またはその欠如)に基づいて、発見モジュール116は、いくつかのコントローラ140を用いてリスト120を生成することが可能である。発見モジュール116は、次いで、それらのそれぞれの属性132に基づいて、コントローラ140の優先順位リストを備える順序付けされたリスト128を作成することが可能であり得る。UA108は、次いで、順序付けされたリスト128内のコントローラ140の順序に基づいて、どの(1つまたは複数の)コントローラ140に登録するかを決定することができる。
コントローラ140の間で発見および裁定するための能力を提供することに加えて、発見モジュール116は、何らかの現在のネットワーク104の障害、サーバ136の障害、ゲートウェイ148の障害、またはUA108とその(1つまたは複数の)コントローラ140の間の関係に影響を与える可能性のある任意のその他のタイプの障害が存在するかどうかを決定するために、通信システム100の状態を監視するようにさらに適合され得る。本明細書でさらに詳細に議論されるように、発見モジュール116は、システム100およびその構成要素の状態を積極的にかつ反応的に管理するように適合され得る。システム100の状態を積極的に監視すると同時に、発見モジュール116は、システム100の状態を決定するよう、所定の論理と共に非対話型(non−dialog)SIPメッセージを用いることが可能である。UA108は、システム100の状態を反応的に監視し始めるために、もう1つのシステム100の構成要素(例えば、ゲートウェイ148)によってさらにプロンプト表示される(prompted)ことが可能である。UA108にシステム100の状態を監視するための能力を提供することは、処理負担をルータなど、もう1つの構成要素に委ねるのではなく、UA108の論理が使用される先行技術のネットワーク監視技術からの逸脱である。これは、各UA108がシステム100の状態を独立して管理することを可能にする驚くべき利点を提供し、システム100のより多くの観察(view)を提供し、各UA108がそのコントローラ140に関してその個人記録を維持することを可能にする。すなわち、UA108およびシステム100内のその他の構成要素(例えば、ゲートウェイ148および/またはサーバ136)からの情報の組合せを使用することによって、システム100の状態のより正確かつ最新の状況が取得され得る。UA108が、(例えば、システム100の全域でIPパケットを送信することによって)ネットワーク層の動作可能性を、(例えば、システム100の全域でSIPメッセージを送信することによって)SIPアプリケーション層の動作可能性を、そしてそれら2つの集約の動作可能性を点検することを可能にすることは、システムの健全さの状況の精度をさらに増大し得る。
サーバ136およびゲートウェイ148は、システム100の状態を評価するために発見モジュール144も備え得る。より詳細には、各発見モジュール144は、様々な同位構成要素(例えば、発見モジュール144を備えるデバイスに隣接するシステム100の構成要素)ならびに遠端構成要素(例えば、発見モジュール144を備えるデバイスに隣接しないシステム100の構成要素)の状態を独立して監視するために使用されることが可能である。各発見モジュール144は、システム100およびその中の構成要素の状態を独立して評価するために使用され得る。
本発明の少なくともいくつかの実施形態によれば、発見モジュール144は、クラスタ化された方法で(すなわち、複数のサーバ136が「どのコントローラを使用するか」を問う終点からの質問に回答することが可能であり得る)またはシングルトン(singleton)として、ユーザ・エージェント108またはその他の終点156によってアクセスされていることが可能なソフトウェア・モジュールを備え得る。発見モジュール144は、多数のプロトコルを使用して実施されることが可能であり、一度に複数のプロトコルをさらにサポートすることが可能である。より詳細には、各発見モジュール144は、SOAP/HTTP、SXAP(SOAPのようなHTTP標準に関するもう1つのXML)のうちの1つまたは複数および(例えば、SIPメッセージの本体内にコントローラ140のリストを提供することによって)SIPさえサポートするように適合され得る。
発見モジュール144は、ルール処理により、所与のユーザ・エージェント108に関する(発見モジュール144が要求に応じてユーザ・エージェント108に最終的に提供することが可能な)コントローラの独自のリストを決定するように適合され得る。ルール処理は、ハードコードされること(例えば、Java(登録商標)コード)が可能であり、またはXMLなどのスクリプトを取るルールエンジンを備えることが可能であり、それを解析して、コントローラのリストを要求しているユーザ・エージェント108にとってどれが最も適切なコントローラ140であるかを決定することを望む場合、それを実行するルールエンジンを備えることが可能である。アルゴリズム内に含まれ得るルールのタイプは、以下を含むが、これらに限定されない。
(1)ユーザ・エージェント108にとって最も適切なコントローラ140を決定するために(例えば、ネットワークを介して送信されたIPパケットを解析することによって)未処理のネットワーク・トポロジーを解析するネットワーク・ローカリティ(network locality)検査。かかるルールセットは、発見モジュール144が要求しているユーザ・エージェント108のIPを検査し、次いで、最良の利用可能な帯域幅を列挙する帯域幅記憶装置に対してルックアップを行い、次いで、ユーザ・エージェント108にとって最良の整合コントローラ140を選択する帯域幅管理機能を含み得る。この場合、最良の整合帯域幅は、ユーザ・エージェント108に対する近接性において最も近く、利用可能な帯域幅を有するコントローラ140を備えるサーバ136に対応する可能性があろう。
(2)ユーザ・エージェント108がセキュリティ目的で特定のサーバ136/コントローラ140に接続すべき一定の事例が存在し得るため、セキュリティ検査アルゴリズム。例えば、CEOの電話は、絶えず監視されて、数秒内にパッチされる、最高に保護されたサーバだけに接続することを望む可能性がある。他方で、技術サポートの電話は、セキュリティ・パッチが24時間以内に処理される、サーバ・ファームを形成するサーバ136のセットのうちの任意の1つに接続することが可能にされ得る。
(3)発見モジュール144が、特定のユーザにサービスを提供することができる(1つまたは複数の)サーバ136のマッピングを検査することが可能なユーザ割当てアルゴリズム。地理的冗長性構成においてなど、複数のサーバが存在する場合、複数のコントローラ140が応答の際に戻されることが可能である。
(4)発見モジュール144がスクリプト内に、すべての販売員が1つのサーバ136を使用し、すべての技術サポート員がもう1つのサーバを使用することを示す、カスタマ提供されたフックを有し得る事業規則アルゴリズム。
(5)要求しているユーザ・エージェント108が、コントローラ140を探すときにそのモード(例えば、音声、インスタント・メッセージング(IM)、ビデオなど)を示した場合に開始され得るデバイス・モーダリティ・アルゴリズム。このアルゴリズムを用いる場合、発見モジュール144はユーザにほとんどのタイプのモードを提供する最良のコントローラ140を選択するために内部能力割当てを調べることが可能である。例えば、音声およびIMを行うことができるユーザ・エージェント108は、音声サーバだけでなく、これらの機能の両方をサポートすることが可能なサーバ136を好むであろう。
(6)要求しているユーザ・エージェント108が、そのユーザ・エージェント108が特定のプロトコル・セットをサポートすることを識別する場合に開始され得るプロトコル互換性アルゴルズム。SIPは多数のプロトコル拡張機能であるため、これは特にSIPにおいて有用である。要求しているユーザ・エージェント108がコントローラ140を要求する場合、そのユーザ・エージェント108は自らがサポートするプロトコル特徴(例えば、プレゼンス加入または一般的な加入)を示すことが可能であり、サーバはそのタイプのユーザ・エージェント108に関する最良の整合を発見することが可能である。
次に図2を参照すると、本発明の少なくともいくつかの実施形態によるSIPコントローラ140の発見および登録方法が説明される。方法は、通信システム100内のUA108などの終点によって実行され得る。通信システム内の各UA108は、異なるコントローラ140を発見して、それらに登録するように適合され得る。方法は、終点が発見メッセージを送信する(ステップ204)場合、開始される。本発明の少なくとも一実施形態によれば、発見メッセージは、システム100内の1つまたは複数のその他の構成要素のSIP機能性を試験する/問い合わせるために、システム内の1つまたは複数のその他の構成要素に送信され得るSIPメッセージ(例えば、オプション・メッセージ、通知メッセージ、または加入メッセージ)を含む任意の知られているタイプの発見メッセージを備える。
発見メッセージが、コントローラ140を備えるシステム100内のその他の構成要素(例えば、サーバ136および/またはゲートウェイ148)によって受信された場合、構成要素は応答メッセージを用いて発見メッセージに応答する。あるいは、発見メッセージに応答するために、現在、構成要素が利用可能でない場合、開始している終点に応答メッセージは送信されない。(1つまたは複数の)コントローラ140の応答メッセージは、次いで、開始している終点で受信される(ステップ208)。終点がこれらの応答を受信すると、または発見メッセージに向けられた応答がない場合、終点はコントローラのリスト120を生成するためにその発見モジュール116を用いることになる。
応答メッセージは、それぞれの応答しているコントローラ140の属性132も含み得る。応答メッセージ内に含まれた属性情報の例は、対応するサーバ136またはゲートウェイ148の処理能力、コントローラ140によって提供されるSIP拡張機能(すなわち、SIP機能)、コントローラ140に現在登録されているUAの数、終点に対するコントローラ140の近接性(すなわち、終点と対応するデバイスの間のホップ数)などを制限なく含む。終点の発見モジュール116は、順序付けされたリスト128内のコントローラ140の順序を裁定するために属性情報を利用することが可能である(ステップ212)。発見モジュール116は、コントローラ140の順序を決定するために任意のタイプの知られている裁定アルゴリズムを用いることが可能である。例えば、発見モジュール116はすべてのコントローラ140に関して列挙された属性のすべての最適化を試みることが可能である。あるいは、発見モジュール116は、終点のニーズに最も適している選択された属性を有するコントローラ140を順序付けされたリスト128内の最高に配置することができる。
終点の発見モジュール116がコントローラの順序付けされたリスト128を生成した後で、発見モジュール116は、終点が登録することになる1つまたは複数のコントローラ140を選択する(ステップ216)。コントローラ140は、コントローラの順序付けされたリスト128内のそれぞれの順序に基づいて選択され得る。本発明の少なくとも一実施形態によれば、発見モジュール116は、同時に登録するために、サーバ136からコントローラ140を選択して、ゲートウェイ148からコントローラ140を選択することが可能である。アクティブ・スタンバイ構成では、終点は、一次コントローラとしてサーバ136のコントローラ140を選択して、二次コントローラすなわちバックアップ・コントローラとしてゲートウェイ148のコントローラ140を選択することが可能である。
(1つまたは複数の)コントローラ140の選択に続いて、終点は選択された(1つまたは複数の)コントローラ140に登録することが可能にされる(ステップ220)。本発明の少なくともいくつかの実施形態によれば、終点は異なる能力と異なるSIP特徴とを有するコントローラ140に登録するように適合され得る。例えば、終点は、拡張されたSIP拡張機能を使用して第1のコントローラ140と、かつ標準のSIP拡張を使用して第2のコントローラ140と同時に登録することが可能にされ得る。拡張されたSIP拡張機能は、第2のコントローラ140を介して達成可能でない追加の特徴を提供するために第1のコントローラ140によって使用されることが可能である。
SIPレジスタ・メッセージ、加入メッセージ、もしくはオプション・メッセージ、またはその他のSIPシグナリングは、一次コントローラ140が依然としてオンラインであり、SIPメッセージングを円滑にするために利用可能であるかどうかを検出するために送信されることが可能である。例えば、SIPレジスタ・メッセージは、登録プロセスを開始するために、終点によって、選択された(1つまたは複数の)コントローラ140に送信され得る。終点にその(1つまたは複数の)コントローラ140と登録する能力を提供することに加えて、SIPレジスタ・メッセージは、コントローラ140に関するハートビートとして使用されることも可能である。SIPレジスタ・メッセージの伝送の頻度は、システム要求に基づいてユーザ構成可能であり得る。すなわち、終点は終点が登録された任意のコントローラ140にリフレッシュ登録を送信することができる。
アクティブ・スタンバイ構成およびアクティブ・アクティブ構成の両方で、終点は、その選択されたコントローラ140のすべてに同時に登録することが可能である。その動作の間、終点は(後続のSIPレジスタ・メッセージの定期的な伝送を介して)コントローラ140との同時アクティブ登録の維持を試みることが可能である。アクティブ・アクティブ構成では、終点は終点が登録されたコントローラ140のうちのいずれかにSIPメッセージを送信することおよび/または終点が登録されたコントローラ140のうちのいずれかからSIPメッセージを受信することが可能にされ得る。かかる構成では、終点は2つ以上のコントローラ140と同時に登録されることになる。この二重登録は、終点が登録されたコントローラ140のうちの任意の1つ(例えば、第1のコントローラ140a、第2のコントローラ140b、第3のコントローラ140cなど)からの着信SIP要求(例えば、SIP要請メッセージ)を可能にすることになる。終点がアクティブ・アクティブ・コントローラ・モデルを使用する方針を用いて構成される場合、終点は予め失敗したコントローラ140からの着信呼出しを、それがサービス中のコントローラ140から来たものであるかのように見なす可能性がある。これが発生する場合、終点は、失敗したサーバがサービスに戻ったかどうかを検出するためにアルゴリズムを再度試みることができる。終点は、任意のコントロール140からのかかるSIPメッセージの受信を可能にするように構成されることになる。本発明の少なくともいくつかの実施形態によれば、終点は複数の登録を独立した登録として扱い、それぞれを本明細書で議論される登録論理を用いて維持することになる。より詳細には、終点は同じAORを各コントローラに登録することが可能にされることになるが、終点の実装は異なるAORに対応するためにフレキシブルであり得る。これはまたアクティブ・スタンバイ構成に関しても当てはまる。
他方で、アクティブ・スタンバイ構成では、終点は、発信呼出しを経路指定して、その一次コントローラ140から着信呼出しを受信することだけが可能にされ得る。動作可能である間、この一次コントローラ140は、アクティブな呼出しコントローラ140と呼ばれる場合もある。終点が登録されたその他の(1つまたは複数の)コントローラ140は、非アクティブなコントローラまたはスタンバイ・コントローラと呼ばれる場合がある。
アクティブ・スタンバイ構成では、終点がその一次モードにある(すなわち、終点が一次コントローラ140はアクティブであると確信する)間に終点が二次コントローラ140すなわちスタンバイ・コントローラ140から着信呼出しを受信する場合、終点は、
(1)試みメッセージを用いて二次コントローラ140に応答する、
(2)一次コントローラが依然としてオンラインであり、SIPメッセージを円滑にするために利用可能であるかどうかを判断するために、一次コントローラ140に登録リフレッシュを送信する、
(3)一次コントローラ140が依然としてオンラインである場合、終点は305リダイレクト応答(すなわち、使用プロキシ)を二次コントローラ140に送信することになる。305リダイレクト応答は、二次呼出しコントローラを介して呼出しを拒否して、一次コントローラ140を介して二次コントローラ140がシグナリングを再経路指定することを要求することになる。そして
(4)一次コントローラがもはやオンランでない場合、終点は受信された呼出しに標準の呼出し処理を提供することになる。このプロセスの一環として、終点は一次コントローラ140から二次コントローラ140にフェイルオーバして、二次コントローラ140とのその登録をリフレッシュすることになる。
アクティブ・スタンバイ構成では、終点がフェイルオーバ・モードで動作している間に(すなわち、その一次コントローラ140の状態が休止中であり、アクティブなコントローラとして二次コントローラ140を使用しているという仮定の下で)終点がその一次コントローラ140から着信呼出しを受信した場合、呼出しは拒否され得る。
障害状態の間または終点がシステム100の構成要素は休止中であると確信する任意のその他の時点で、終点は一次コントローラ140とのリアルタイムの通信セッションの確立を試みないことになる。加えて、終点はコントローラの順序付けされたリスト128上の二次コントローラ140すなわち次のコントローラ140にフェイルオーバすることになる。生残り可能な(すなわち、二次、三次、またはバックアップ)コントローラ140を介して経路指定された呼出しシグナリングは、障害の期間中、終点のユーザが新しい呼出しを行い、その呼出しを受信することを可能にすることになる。
下でさらに詳細に説明されるフェイルオーバ/フェイルバック・プロセスの一環として、終点はアクティブなコントローラ140に関するアドレスを識別して、コントローラ140によってサポートされる属性および関連する特徴をさらに導き出すことになる。すなわち、終点は終点が登録されたコントローラ140が、例えば、「拡張されたSIP/専有権のあるSIP」として指定されるかまたは「基本的なSIP」として指定されるかを指定するように適合され得る。終点の発見モジュール116は、以下の論理を使用して、コントローラが拡張されたSIPを使用するかまたは基本的なSIPを使用するかを発見するように適合され得る。
(1)フェイルオーバ時またはフェイルバック時に、終点は各コントローラ140とのその登録をリフレッシュまたは更新することになる、
(2)そのプロセスの一環として、終点は二次コントローラ140を用いてすべての一次コントローラ140の特徴パッケージへの再加入を試みることになる、
(3)終点が加入要求を二次コントローラ140に送信する場合、二次コントローラが基本的なSIP動作だけをサポートするならば、二次コントローラは特徴加入要求を認識しないことになる、
(4)簡易二次コントローラ140は、「クライアント誤り405方法は可能にされない」を用いて応答することになる。
終点は標準のIETF SIPに準拠するコントローラ140として二次コントローラ140を識別するためにこの情報を使用することが可能である。終点は、次いで、フェイルオーバ・モードで動作する間、そのユーザ・インターフェース(UI)上に基本的なSIP特徴だけを表示することになる。(例えば、アクティブなコントローラ140が加入要求に適切に応答したため)アクティブなコントローラ140が「拡張されたSIP」と指定される場合、終点は、呼出しおよび特徴処理のために拡張された拡張機能を有するSIPを使用して、互換性のあるUIを表示することになる。
アクティブ・スタンバイ構成で提供され得る追加の特徴は、制限なく以下を含む。
(1)終点は非アクティブなコントローラ140に発信呼出しを決して経路指定しないことになる、
(2)終点がアクティブなコントローラ140からスタンバイ・コントローラ140にフェイルオーバする場合、予めアクティブなコントローラ140は非アクティブと指定されることになり、予め非アクティブなコントローラはアクティブと指定されることになる、
(3)終点は、指定されたコントローラ140にフェイルオーバする前にすべてのアクティブな呼出しが完了するまで待つことになる。すなわち、(1つまたは複数の)アクティブな呼出しが完了するまで(すなわち、終点が(1つまたは複数の)アクティブな呼出しに関してネットワーク104からバイ(BYE)メッセージを受信するまで、または発呼側が呼出しを中止するまで)、新しい着信呼出しは、新しく指定されたアクティブなコントローラ140から終点によって受け入れられないことになる。同様に、フェイルオーバが完了するまで、新しい送信呼出しは可能にされないことになる。そして、
(4)終点が二次コントローラ140を使用している間、終点が休止中の一次コントローラ140から任意のシグナリング・メッセージを受信する場合、休止中と印された一次コントローラ140からのシグナリング・メッセージは無視されることになる。しかし、このルールには1つの例外が存在し得る。すなわち、終点が終点に再登録するように伝える通知メッセージをその一次コントローラ140から受信した場合、終点はその登録のリフレッシュを開始することになるか、またはリフレッシュを試みることになる。この場合、終点は、上で説明された標準のSIP処理を使用して通知に応答することになる。
終点がそのそれぞれの(1つまたは複数の)コントローラ140に登録した後、方法は終了する(ステップ224)。
次に図3を参照すると、本発明の少なくともいくつかの実施形態による通信システム100の状態決定方法が説明される。生残り可能な構成では、ゲートウェイ148が一次シグナリング経路または二次シグナリング経路を介していつ呼出しシグナリングを経路指定するかを検出するように備えられることが重要であり得る。方法は、ゲートウェイ148が通信システム100内のもう1つの構成要素にSIPオプション・メッセージを送信する(ステップ304)場合、開始される。かかる構成要素は、SIP対応構成要素に対応し得る。構成要素は同位構成要素(すなわち、ゲートウェイ148に隣接する構成要素)および/または遠端構成要素(すなわち、構成要素とゲートウェイ148の間に少なくとも1つの中間構成要素を有する構成要素)にさらに対応し得る。本発明の少なくともいくつかの実施形態によれば、SIP遠端構成要素の積極的な監視は、通常、システム100の管理者が、中間構成要素が中間構成要素の同位を監視することができないことを知る場合だけ、慎重に実行されるべきである。本発明の実施形態によれば、ゲートウェイ148は、「最大−転送=0」設定を用いてSIPオプション・メッセージを送信することが可能であり、それにより、オプション・メッセージが単一のホップを超えるホップを横断し(traverse)ない(すなわち、オプション・メッセージは同位構成要素を対象とする)ことを確実にする。
当業者に理解され得るように、SIPオプション・メッセージを用いる監視技術が本明細書で説明されるが、通信システム100およびその中の構成要素の状態を監視するために任意のその他のタイプの非対話型SIPトランザクションが使用され得る。より詳細には、一般的なSIPメッセージ(例えば、情報方法、メッセージ方法、または無効SIPメッセージすら)は、任意タイプのSIPベースの応答を起動するために送信されることが可能である。ゲートウェイ148によって送信されたSIPメッセージは、メッセージ受信者によって実行されることになる命令を含んでもよい。例えば、SIPメッセージは、ゲートウェイ148および、同位構成要素など、ゲートウェイ148によって監視される任意のその他の構成要素の健全さ、ならびにゲートウェイ148の報告された健全さに基づいて受信者によって講じられることになる処置を報告する拡張可能マークアップ言語(XML)メッセージを備えて生成され得る。
ゲートウェイ148がSIPオプション・メッセージを送信した後で、ゲートウェイ148は、応答の受信を待つ(ステップ308および312)。ゲートウェイ148が応答の受信を待つ期間は、システム100の特性に応じて異なってよい。本発明の少なくとも一実施形態によれば、ゲートウェイ148が待つ時間の長さは、要求が送信された後でSIP応答が所定の秒数内に受信されない場合、(SIP要請メッセージなど)SIPシグナリング・トランザクションを取り消すSIPタイマBまたはSIPタイマF(SIPタイマBおよびFは、そのコンテンツ全体がこの参照により本明細書に組み込まれているRFC3261で定義される標準のSIPタイマである)などのSIPタイマ機能を実施することによって決定され得る。任意のSIP応答(100試みすら)が受信された場合、タイマBまたはタイマFは取り消されるか、または短絡される。しかし、タイマBが始動した場合、ゲートウェイ148は有害な(offending)SIPトランザクションを取り消して、代替の経路を使用して要求の経路指定を試みることを要求される可能性がある。本発明の少なくともいくつかの実施形態によれば、ゲートウェイ148によって知られているすべての経路指定アドレスが使い果たされている場合、SIPゲートウェイ148は、408要求タイムアウトを用いて、元のSIPシグナリング・トランザクションに応答することができる。
(例えば、実際の応答としてまたは応答は所定の期間内に受信されなかったという決定として)応答が受信されると、方法は、ゲートウェイ148が応答は障害状態に対応するかどうかを決定する(ステップ316)ために発見モジュール144を用いることにより継続する。応答は、以下の条件のうちのいずれかが満たされる場合、ネットワーク104またはシステム100の構成要素が失敗したことを表示することが可能である。
(1)オプション監視要求はタイムアウトにより失敗する、
(2)トランザクション・タイムアウトおよび/または(要請トランザクションに関する)SIPタイマBタイムアウトにより所定の数の(例えば、5つの)連続SIP要求トランザクション障害が発生する、または
(3)監視が終端間(すなわち、最大−転送>1)ではなくホップ・バイ・ホップ(すなわち、最大−転送=1)で実行されており、加えて、アドレスが少なくとも「後で再度試みる」ヘッダ内で特定された期間に対して「過負荷」と印されている場合およびその場合に限り、オプション監視要求に対して「後で再度試みる(Retry−After)」ヘッダを用いて任意の400クラス応答または500クラス応答が受信される。
条件(3)に関して、アドレスのIPアドレスを含む既存の対話は、障害が発生するまでそのアドレスを引き続き使用すべきであるが、終点はそのアドレスが回復されるまで、新しい対話に関してそのアドレスを使用すべきではない。既存の対話がIPアドレスの代わりにホスト名を使用している場合、各トランザクションに関するそのホスト名の分解(resoltion)が行われることになり、戻されたアドレスは利用可能な最高の優先順位のアドレスになる。ホスト名が単一のIPアドレスだけに分解し、そのアドレスが「過負荷」と印される場合、要求が送信されるべきである。条件(3)の最終的な影響は、ゲートウェイ148の発見モジュール144は3つの状態、すなわち、利用可能、休止中、および過負荷を認識すべきであるというものである。過負荷と印されたアドレスは、引き続き対話内で後続の要求を受信するが、新しい対話要求は受信しない。
オプション・メッセージに対する応答に基づいて、ゲートウェイ148の発見モジュール144が、障害状態は存在せず、システム100は通常の動作状態にあることを決定する場合、発見モジュール144は、命令が応答内に含まれるかどうかを決定すること(ステップ320)によって継続することになる。発見モジュール144は、応答内に含まれたまたは応答に添付された(すなわち、メッセージのヘッダ内もしくはフッタ内の)実行可能命令に対する応答を解析することが可能である。命令が応答内に含まれる場合、命令は実行される(ステップ324)。その後、または応答が命令を含まなかった場合、発見モジュール144は、サーバ136など、応答している構成要素の動作を反映するために、システム100の状態に関してその記録を更新すること(ステップ328)によって継続する。ネットワークの状態が更新されると、方法は発見モジュール144が新しいメッセージを送信する時間かどうかを決定すること(ステップ332)により継続する。より詳細には、ゲートウェイ148は、その他のSIPサーバ136がアクティブであるか否かを決定するためのハートビート機構として、その他のSIPサーバ136に対してSIPオプション・メッセージの定期的な伝送を使用することができる。オプション・メッセージは、所定の間隔でシステム100のその他の構成要素に送信され得る。所定の間隔の長さは、SIPタイマBまたはその改変形態を実施することによって決定され得る。より詳細には、オプションの監視は、ゲートウェイ148が障害状態を検出するか否かに応じて、異なる間隔で実行されてよい。
本発明の少なくともいくつかの実施形態によれば、SIPオプション・メッセージに関する積極的な監視間隔は、約60秒から約100,000秒の範囲内で構成可能であり得、後続の監視の試みの間で構成された値の75%から125%の均一のランダム時間を使用すべきである。例えば、積極的な監視間隔が60秒に設定される場合、オプション・メッセージの伝送間の実際の間隔は、45秒から75秒の間で均一に分散され得る。積極的な監視プロセスにおけるこの意図的なジッタの導入は、要求が依然として非同期化されることを可能にし、それにより監視される構成要素(すなわち、サーバ136)上の負荷を経時的に一様に拡散させる。一実施形態では、積極的な監視間隔は、約900秒または15分に構成されることが可能である。
本発明の少なくともいくつかの実施形態によれば、SIPオプション・メッセージに関する反応的な監視間隔は、約10秒から約3,600秒の範囲内で構成可能であり得、後続の監視の試みの間で構成された値の75%から125%の均一のランダム時間を有することも可能である。(積極的な監視と対照的に)反応的な監視に対する個別のタイマの提供は、ゲートウェイ148が、監視されている現在休止中の構成要素がいつ再度利用可能になるかをより迅速に検出することを可能にする。一実施形態では、反応的な監視間隔は約120秒に構成され得る。
本発明の例示的な実施形態はSIPタイマBの使用に関して説明されているものの、任意の範囲の値は、その値の均一のランダム時間変更の有無にかかわらず、本発明の原理から逸脱せずに実施され得る。加えて、監視間隔は、外部の事業論理フックに基づいて変更され得る。例えば、監視機構が帯域幅管理システムにフックされる(hooked)場合、監視システムは、ネットワーク内の利用可能な帯域幅を表すいくつかの係数によって監視間隔をさらに調整することが可能である。
ステップ316を再び参照すると、発見モジュール144が応答は障害状態に対応することを決定する場合、発見モジュール144は障害を反映するために、システム100の状態のその記録を更新することになる(ステップ336)。この構成要素の障害を検出する結果として、特に、失敗した構成要素が一次通信経路内に常駐する場合、ゲートウェイ148はフェイルオーバして、フェイルオーバ状態で動作を開始することになる。
ゲートウェイ148の発見モジュール144のフェイルオーバの間、発見モジュール144は、休止中として識別された構成要素にオプション・メッセージを引き続き送信することによって、システム100内の構成要素を反応的に監視し始めることになる(ステップ340)。この反応的な監視は、ゲートウェイ148の発見モジュール144が、構成要素がいつオンラインに戻るかを検出することを可能にする。反応的な監視が始まると、ゲートウェイ148は構成要素を積極的に監視することを中断して、反応的な監視ルールを適用し始めることになる。より詳細には、反応的な監視の間、ゲートウェイ148の発見モジュール144は、監視された構成要素が利用可能であるかまたは休止中であるかを決定するために保守試験を開始することが可能である(ステップ344)。保守試験は、積極的な監視アルゴリズムに類似した監視アルゴリズムを用いてよい。ゲートウェイ148の発見モジュール144は、フェイルバックまで(すなわち、構成要素の状態が休止中から利用可能に変更するまで)(ステップ348)この保守試験を引き続き適用することになる。保守試験の間、ゲートウェイ148は、現在、休止中と印された構成要素に任意のタイプのSIP要求(例えば、要請、加入、通知など)を送信することが可能である。以下の状態のうちの1つまたは複数が適用される場合、ゲートウェイ148の発見モジュール144は、その構成要素を引き続き休止中と印すことになる。
(1)要請メッセージが送信された後にSIPタイマBが始動する、
(2)ゲートウェイ148が408要求タイムアウト応答を受信する、
(3)SIP要求トランザクションがタイムアウトになる、または
(4)要求の送信を試みる間、ネットワーク104またはトランスポート層の誤りが発生する。
保守試験の間に、上記の状態のうちのいずれも適用されない場合、ゲートウェイ148の発見モジュール144は、フェイルバックが発生したと決定することになり、方法はステップ328に進むことになる。本発明の少なくともいくつかの実施形態によれば、反応的な監視および保守試験は、監視されている構成要素が、503「サービス利用不可能」を除く任意のSIP応答を用いて2つの連続するオプション要求の試みに応答するまで、引き続き適用されることになる。これらの状態が満たされると、ゲートウェイ148は、構成要素がサービス中に戻ったと見なすことができ、積極的な監視アルゴリズムに戻ることが可能であり、適切な簡易ネットワーク管理プロトコル(SNMP)事象を生成して、適用可能である場合、現在アクティブな構成要素を利用し始めることが可能である。
当業者によって理解され得るように、ゲートウェイ148は、経路の再割当て情報を維持することが可能な唯一のシステム100の構成要素ではない。むしろ、いかなるSIPネットワーク要素も経路の再割当て情報などを含むように適合され得る。例えば、UA108などの終点は、いくつかの構成要素が休止中として識別される場合に使用され得る通信経路を列挙する経路の再割当て表を維持することも可能である。
次に図4を参照すると、本発明の少なくともいくつかの実施形態による反応的な監視方法が説明される。方法は、ゲートウェイ148がサーバ136または類似のシステム100の構成要素から要求を受信する(ステップ404)場合に開始する。ゲートウェイ148は、受信された要求を通常の形で処理する(ステップ408)。より詳細には、ゲートウェイ148は、送信している構成要素が実際にサービス中であるかどうかをまず決定せずに、その構成要素がサービス中であるかのように要求を処理することが可能である。
その後、ゲートウェイ148は、その当初維持された状態表に基づいて、送信している構成要素が実際に休止中と印されているかどうかを決定する(ステップ412)。構成要素が休止と印されていない場合、方法は終了する(ステップ424)。そうでない場合、ゲートウェイ148は、構成要素にSIPオプション・メッセージを送信することによって、その保守試験を開始することになる(ステップ416)。ゲートウェイ148は、次いで、構成要素の状態のその記録を更新することが可能である(ステップ420)。この保守試験プロセスおよび状態の更新プロセスは、その時点で方法が終了する(ステップ424)、構成要素がサービス中に戻ったと決定されるまで繰り返される。
図5を参照すると、本発明の少なくともいくつかの実施形態による、フェイルオーバ状態およびフェイルバック状態の間のゲートウェイ148の動作が説明される。この特定の方法では、ゲートウェイ148に関連するコントローラ140は、生残り可能な終点に関する二次コントローラ140すなわちバックアップ・コントローラ140に対応し得る。方法は、ゲートウェイ148が生残り可能な終点に関する着信呼出しを受信する(ステップ504)場合に開始される。ゲートウェイ148は、次いで、一次シグナリング経路が使用のために利用可能であるかどうかを決定する(ステップ508)。本発明の少なくともいくつかの実施形態によれば、ゲートウェイ148は、このステップの間、その内部構成要素状態表を参照することが可能である。
一次シグナリング経路が動作可能であると決定された場合、ゲートウェイ148は、一次経路を介して目標終点に受信された信号を経路指定し(ステップ512)、その後、方法は終了する(ステップ536)。しかし、ゲートウェイ148が、一次シグナリング経路が何らかの理由で利用不可能である(例えば、ネットワーク104、サーバ136、または一次シグナリング経路上のその他の構成要素が休止中である)ことを決定した場合、方法は、ゲートウェイ148が二次シグナリング経路を介して目標終点に信号を送信することにより継続する(ステップ516)。この特定のステップは、二次シグナリング経路も利用不可能でないという仮定に基づいて実行される。ゲートウェイが二次シグナリング経路も利用不可能であることを決定する場合、失敗した(1つまたは複数の)構成要素を迂回するもう1つのバックアップ・シグナリング経路が選択されて、終点に信号を送信するために使用される。
呼出し信号が二次シグナリング経路を介して目標終点に送信された後、ゲートウェイ148は、305リダイレクト応答(使用プロキシ)メッセージが終点から受信されたかどうかを決定するのを待つ(ステップ520)。アクティブ・スタンバイ構成では、終点が一次シグナリング経路は動作可能であると確信する場合、二次経路を介して呼出し信号を受信している終点は、305リダイレクト応答を送信することが可能である。この確信は、ゲートウェイ148ではなく、終点で実行される状態監視動作に基づくことになる。これにより、システム100の異なる見通しに基づいて、終点はシステム100内の1つまたは複数の構成要素に関して印された異なる状態を有することが可能である。したがって、305リダイレクト応答が、呼出し信号のそのリダイレクトに基づいて、二次経路を介してゲートウェイ148によって受信された場合、ゲートウェイ148は一次シグナリング経路を介して呼出し信号にリダイレクトを試みることになる(ステップ524)。呼出し信号の成功裏の伝送により一次シグナリング経路が利用可能であると決定される場合(ステップ528)、方法はステップ536で終了する。呼出しが一次シグナリング経路の利用不可能性により拒否された場合、呼出しは拒否されるかまたは二次シグナリング経路を介して送信し戻されることが可能である(ステップ532)。加えて、ゲートウェイ148は、一次シグナリング経路の状態のその観察を再検査するよう目標終点に命令する通知メッセージを目標終点に送信することが可能である。その後、またはリダイレクト応答メッセージが終点から受信されない場合、方法は終了する(ステップ536)。
次に図6を参照すると、本発明の少なくともいくつかの実施形態による、システム100の状態決定の終点方法が説明される。当初、終点(例えば、生残り可能なUA108)は通常の状態で動作する(ステップ604)。終点は、次いで、ネットワーク障害が検出されたかどうかを決定するためにその発見モジュール116の論理を用いる(ステップ608)。生残り可能な構成では、終点がいつフェイルオーバまたはフェイルバックするかを検出することが可能であることが有用である。本発明の少なくともいくつかの実施形態によれば、終点によって使用される発見モジュール116の論理は、以下の事象のうちの1つまたは複数が発生する場合、ネットワーク障害が発生したことを決定することになる。
(1)終点は、終点が登録しようと試みているすべてのコントローラ140(例えば、その一次コントローラおよび二次コントローラ140)からのハートビートとしてSIPレジスタ・メッセージに対する応答を受信しない、
(2)終点はSIP要請メッセージに対する応答を受信せず、SIP要請メッセージは、発信呼出しを設定することを試みる通常のプロセスにおいて送信されている可能性がある、
(3)終点は、新しいSIP対話変更または中間対話変更の通常の作成のために送信された任意のSIPシグナリング・メッセージに対する応答を受信しない、
(4)終点は、その(1つまたは複数の)構成サーバからの(TCP/IP、HTTP、XML、もしくはSOAPなど、異なるタイプのプロトコルによって運ばれ得る)重要な要求、または障害に関係するデータを取り出すために使用されるデータ・サービスなど、任意のその他の帯域外の非通信サービスに対する成功裏の応答を受信しない。
終点が自ら障害を検出しない場合、方法は、終点が障害を通知されたかどうかを決定することにより継続する(ステップ612)。通知は、終点で、ゲートウェイ148、サーバ136、またはシステム100の状態を監視することが可能なシステム100のいくつかのその他の構成要素から送信されたSIP通知メッセージの形で受信され得る。SIP通知メッセージは、終点がそのコントローラ140のすべてとのその登録をフェイルオーバ、再ブート、またはリフレッシュ/更新すべきであることを表示することが可能である(それにより、終点の論理を回避する)。通知が受信されない場合、方法はステップ604に戻る。
しかし、(例えば、SIP通知メッセージの受信によって)終点がシステム100内の障害を通知された場合、終点は、障害通知が正確かどうかを決定する(ステップ616)。より詳細には、終点は、コントローラ140のうちのいずれかが非アクティブ、またはそうでない場合は、休止中と印されているかどうかを決定するために、その内部に維持されたコントローラのリスト120、128を検査することが可能である。ほとんどの場合、終点は単に通知メッセージの指示に準拠することになる。しかし、一定の環境下で、終点は、そのシステム100の観察が正確な観察であることを決定することが可能であり、リダイレクト応答メッセージを用いて通知メッセージに応答することが可能である(ステップ620)。このリダイレクト応答は、通知メッセージの開始している構成要素にシステム100のその観察の検査をさせることが可能である。方法は、次いで、ステップ604に戻る。
終点が障害通知は正確であると決定する場合または通知メッセージの指令に準拠することを決定する場合、終点は、通知メッセージが命令を含んだかどうかを決定する(ステップ624)。命令は、すべてのコントローラ140との再登録を試みるなど、比較的に一般的な命令であってよい。あるいは、命令は、終点が特定のコントローラ140を試して、再登録することを要求する命令セットを備えてよい。終点は、長期的または短期的な間隔のいずれかでコントローラ140をリフレッシュするようまたはコントローラ140に登録するよう試みることが可能である。リフレッシュ/登録の間隔の長さは、命令セット内の命令またはその他の要因に応じて異なってよい。命令は、通知メッセージを送信した構成要素によって認識されたように、システム100全体に関する健全さ情報を含んでもよい。メッセージが命令を含まない場合、終点は命令を実行することになる(ステップ628)。
命令が終点によって実行された後で、またはメッセージが命令を含まない場合、方法は、終点がバックアップ状態で動作し始める(ステップ632)ように、終点がフェイルオーバを実行することにより継続する。このステップはまた、終点が自らシステム100の障害を検出した場合にも実行される。フェイルオーバ・モードでの動作の間、終点は、そのバックアップ・コントローラ140を利用しかつ/または二次シグナリング経路を利用することになる。フェイルオーバ・モードで動作することに加えて、終点はシステム100のフェイルバックに関して監視することが可能である(ステップ636)。発見モジュール116が、アクティブなコントローラとしてその役割を再開するためにその一次コントローラ140が利用可能であることを検出した場合、終点はフェイルバックが発生したことを決定することになる。この内部終点論理は、コントローラ140が任意の所与の時点でアクティブであるか否かに関係なく、終点が登録されたすべてのコントローラ140に定期的に送信されるハートビート/SIPレジスタ・メッセージによって支配され得る。
終点がそれ自体でフェイルバックを検出しない場合、方法は、(例えば、ゲートウェイ148、サーバ136などから通知メッセージを受信することによって)終点がもう1つの構成要素によってフェイルバックを通知されているかどうかを決定することにより(ステップ640)継続する。終点がフェイルバックを通知されない場合、方法はステップ632に戻る。しかし、終点がフェイルバックを表示する通知メッセージを受信した場合、方法は、通知メッセージが終点による実行のための命令を含んだかどうかを決定すること(ステップ644)によって継続する。命令が通知メッセージ内に含まれる場合、命令は終点によって実行される(ステップ648)。命令の実行後、命令が存在しなかった場合、またはフェイルバックが終点自体によって検出された場合、方法はステップ604に戻る。
本発明の少なくともいくつかの実施形態によれば、発見モジュール116は、一次コントローラまたは二次コントローラ140からのフェイルオーバまたはフェイルバックが自動化された終点検出によってトリガされたか、または(すなわち、SIP通知メッセージの受信によって)単に手動でトリガされたかを支配する構成可能なパラメータを備え得る。発見モジュール116によって用いられるハートビート監視機構は、終点が障害状態を検出するか否かに応じて、異なる間隔で実行され得る。
次に図7を参照すると、本発明の少なくともいくつかの実施形態による状態通知方法が説明される。方法は、システム100の構成要素(例えば、サーバ136、ゲートウェイ148、または発見モジュール144を備える任意のその他のデバイス)が、UA108などの終点にシステム100に関して通知すべきかどうかを決定すること(ステップ704)から開始する。典型的には、構成要素は、通知メッセージを終点に送信し、システム100状態のうちのいくつかの側面が変更したことを終点に知らせることになる。例えば、通知メッセージは、システム内の構成要素が休止中として登録されていることを終点に知らせることが可能である。あるいは、通知メッセージは、送信している構成要素の健全さを終点に知らせることが可能である。
通知メッセージが終点に送信されるべきであることが決定されるまで、方法はステップ704にとどまる。かかる決定を行った後で、方法は、構成要素がメッセージ(例えば、通知メッセージ)を生成すること(ステップ708)により継続する。しかし、理解され得るように、終点に通知するために、任意のその他のタイプのSIPメッセージまたは非SIPメッセージが構成要素によって用いられてよい。通知は、構成要素が、終点がシステム100の障害状態または回復状態においてフェイルオーバまたはフェイルバックするようにトリガすることを可能にし得る。終点はコントローラの順序付けされたリスト128を維持することが可能であり、終点はこれらのコントローラのすべてとのアクティブ登録を維持する能力を有するため、システム100の構成要素は、終点がシステム100の障害状態を検出した場合、終点が処置を講じるようにトリガすることが可能である。処置は、例えば、標準の通知メッセージ(例えば、標準のSIP IETFに準拠する通知メッセージ)または特定の命令セットを含む拡張されたメッセージのいずれかを送信することによってトリガされ得る。したがって、方法は、構成要素が通知メッセージはその中に命令を含むかどうかを決定することにより継続する(ステップ712)。
特定の命令が必要であると決定された場合、構成要素は、コントローラの順序付けされたリスト128内のコントローラ140のすべてと再登録するよう終点に伝え、終点に一般的な通知メッセージを送信することが可能である(ステップ720)。これにより、かかる通知を受信するいかなる終点もそのリスト上のすべてのコントローラ140との再登録を試みることになる。この試みられた再登録の成功に基づいて、終点はどのコントローラ140が(例えば、着信SIP呼出しおよび発信SIP呼出しをサポートする)SIPトランザクションを処理するために利用可能であるかを導き出すことが可能になる。終点は、次いで、その一次コントローラとして、コントローラの順序付けされたリスト128上の最高優先順位のコントローラ140を使用して、この自己決定情報に従って動作することが可能である。この特定の機構は、標準のSIP IETFに準拠する通知メッセージを使用することが可能である。メッセージは、通知パラメータ「event」=「probation」を有する通知メッセージに関するSIP標準に従ってよい。かかる通知メッセージの例は下で提供される。
Figure 2009239892
しかし、構成要素が、特定の命令が通知メッセージ内に含まれるべきであることを決定する場合、メッセージを終点に送信する(ステップ720)のに先立って、構成要素は1つまたは複数の命令セットをメッセージに加えることが可能である(ステップ716)。通知メッセージ内に命令を組み込むことによって、構成要素は、終点のコントローラ120上の特定のコントローラ140を使用して開始するよう終点に伝えることができる。かかるシナリオでは、終点は、どのコントローラ140が使用されるべきであるかを伝えるために、その独自の情報に依存するのではなく、構成要素に依存する。この特定の機構は、拡張された拡張機能を有する標準のSIP通知メッセージを使用することが可能である。通知メッセージは、通常、通知メッセージに関するSIP標準に従うことになる。加えて、終点がフェイルオーバまたはフェイルバックすべきである場合、通知メッセージは、<eventName>changeServer</eventName>などの事象名を有する例示的なプロファイル事象パッケージ・フォーマットを使用することが可能である。メッセージは、タイムスタンプおよび、終点がフェイルオーバまたはフェイルバックすべき特定のコントローラ140を含むサーバ136のアドレスも含み得る。かかる拡張されたSIP通知メッセージの例は、XML命令セットを用いて下で提供される。
Figure 2009239892
当業者によって理解され得るように、命令はXML命令セット以外の多くの異なる形式を取り得る。例えば、命令は終点のメモリ112内にすでに記憶されたアルゴリズムまたは適用業務に対応し、かつそのアルゴリズムまたは適用業務を実行させる所定のトリガを備え得る。加えて、上の例示的な通知メッセージは、メッセージの本体内にその命令セットを含んだが、命令セットは、通知メッセージのヘッダ内または終端部(trailer)内に配置されることも可能である。これは、用いられる通知メッセージのタイプに応じて異なってよい。命令は、送信している構成要素に関する健全さ情報ならびにシステム100の残りの部分に関するその状態情報を伝えると同様に特定のタスクを実行する目的で終点をトリガするなど、いくつかの異なる動作を達成するために使用されることが可能である。
上述の流れ図は特定の一連の事象に関して議論されているものの、このシーケンスの変更は、本発明の動作に実質的に影響を与えずに行うことが可能である点を理解されたい。加えて、事象の正確なシーケンスは、例示的な実施形態に記載されるように行われなくてよい。本明細書に示された例示的な技術は、具体的に例示された実施形態に限定されず、その他の例示的な実施形態を用いて利用されることも可能であり、説明されたそれぞれの特徴は個々にかつ別々に特許請求可能である。
本発明のシステム、方法およびプロトコルは、説明された通信機器、またはプログラムされたマイクロプロセッサもしくはマイクロコントローラおよび(1つまたは複数の)周辺集積回路要素、ASICもしくはその他の集積回路、デジタル信号プロセッサ、配線(hard−wired)電子回路もしくは離散的なエレメント回路などの論理回路、PLD、PLA、FPGA、PALなどのプログラム可能な論理素子、サーバなどの通信デバイス、パーソナル・コンピュータ、任意の比較可能な手段などに加えてまたはそれらの代わりに専用コンピュータ上で実施されることが可能である。一般に、本明細書で例示される方法論を実施することができる状態機械を実施することが可能な任意のデバイスは、本発明による様々な通信方法、プロトコルおよび技術を実施するために使用され得る。
さらに、開示された方法は、様々なコンピュータ・プラットフォーム上またはワークステーション・プラットフォーム上で使用され得る携帯ソース・コードを提供する手続き的なソフトウェア開発環境またはオブジェクト指向のソフトウェア開発環境を使用してソフトウェア内で容易に実施され得る。あるいは、開示されたシステムは、標準の論理回路またはVLSI設計を使用してハードウェア内で部分的にまたは完全に実施されることが可能である。本発明に従ってシステムを実施するためにソフトウェアが使用されるかまたはハードウェアが使用されるかは、システムの速度および/または効率性要件、特定の機能、ならびに利用されている特定のソフトウェア・システムもしくはハードウェア・システムまたはマイクロプロセッサ・システムもしくはマイクロコンピュータ・システムに依存する。本明細書で例示される解析システム、解析方法および解析プロトコルは、本明細書で提供される機能的な説明から、かつ通信技術の一般的な基本的知識を用いて、当業者によって任意の知られているまたは当業者によって後で開発されるシステムもしくは構造、デバイスおよび/またはソフトウェアを使用して、ハードウェアおよび/またはソフトウェア内で容易に実施され得る。
さらに、開示された方法は、記憶媒体上に記憶され、コントローラおよびメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサなどの上で実行されることが可能なソフトウェア内で容易に実施され得る。これらの場合、本発明のシステムおよび方法は、アプレット、JAVA(登録商標)またはCGIスクリプトなどのパーソナル・コンピュータに組み込まれたプログラムとして、サーバ上またはコンピュータ・ワークステーション上に常駐するリソースとして、専用の通信システム内または専用のシステム構成要素内に組み込まれたルーチンなどとして実施され得る。システムはまた、システムおよび/または方法を、通信デバイスまたは通信システムのハードウェア・システムおよびソフトウェア・システムなどのソフトウェア・システムおよび/またはハードウェア・システム内に物理的に組み込むことによって実施されることも可能である。
したがって、本発明により、SIP生残り可能なネットワークおよびネットワーク構成要素を維持するためのシステム、装置および方法が提供されていることは明らかである。本発明はいくつかの実施形態に関して説明されているものの、多くの代替形態、変更形態および改変形態は当業者に明らかになるであろうこと、またはこれらが当業者に明らかなことは明白である。したがって、本発明の精神および範囲内のすべてのかかる代替形態、変更形態、均等物および改変形態を包括することが意図される。
本発明の少なくともいくつかの実施形態による通信システムを示すブロック図である。 本発明の少なくともいくつかの実施形態によるSIPコントローラ発見および登録方法を示す流れ図である。 本発明の少なくともいくつかの実施形態による状態決定方法を示す流れ図である。 本発明の少なくともいくつかの実施形態による反応的な状態決定方法を示す流れ図である。 本発明の少なくともいくつかの実施形態によるゲートウェイ動作方法を示す流れ図である。 本発明の少なくともいくつかの実施形態による終点に関する状態決定方法を示す流れ図である。 本発明の少なくともいくつかの実施形態による状態通知方法を示す流れ図である。

Claims (10)

  1. セッション開始プロトコル(SIP)対応通信終点で、第1のコントローラに関係するコントローラ情報を受信することと、
    前記通信終点で、第2のコントローラに関係するコントローラ情報を受信することと、
    前記第1および第2のコントローラの両方に関係する前記コントローラ情報を解析することと、
    前記解析するステップに基づいて、前記通信終点がそのコントローラとして前記第1および第2のコントローラのうちの少なくとも1つを選択するために発見モジュールを利用することと
    を備える方法。
  2. 第1および第2のコントローラに関係するコントローラ情報を要求および受信して、デバイス情報の前記受信されたコントローラに基づいて、コントローラとして前記第1および第2のコントローラのうちの少なくとも1つを選択するために動作可能な発見モジュール
    を備える、セッション開始プロトコル(SIP)対応通信デバイス。
  3. 前記第1および第2のコントローラに関係する前記コントローラ情報が、それぞれ前記第1および第2のコントローラの属性を備え、前記発見モジュールが、前記第1のコントローラの属性を前記第2のコントローラの属性と比較して、前記第1のコントローラの前記属性が前記第2のコントローラの前記属性よりも前記通信デバイスを制御するためにより適していることを決定し、前記デバイスの一次コントローラとして前記第1のコントローラを選択して、前記デバイスの二次コントローラとして前記第2のコントローラを選択するためにさらに動作可能である、請求項1または2のいずれか1項に記載の発明。
  4. 前記デバイスが前記第2のコントローラに(i)登録している、および(ii)登録されたのうちの1つであると同時に、前記発見モジュールが、前記デバイスを前記第1のコントローラに登録するためにさらに動作可能である、請求項1乃至3のいずれか1項に記載の発明。
  5. 前記発見モジュールが、前記第1および第2のコントローラに同時に登録するためにさらに動作可能である、請求項4に記載の発明。
  6. 前記第1のコントローラの前記属性が前記第2のコントローラの前記属性と異なる、請求項5に記載の発明。
  7. 前記第1のコントローラが、前記通信デバイスに拡張されたSIP拡張機能を提供し、前記第2のコントローラが前記通信デバイスに標準のSIP拡張機能を提供する、請求項6に記載の発明。
  8. 前記通信デバイスが、アクティブ・アクティブ構成およびアクティブ・スタンバイ構成のうちの1つにおいて、前記第1および第2のコントローラに登録され、前記アクティブ・アクティブ構成では、前記デバイスが着信呼出しおよび発信呼出しを処理するために前記第1および第2のコントローラの両方を使用し、前記アクティブ・スタンバイ構成では、前記デバイスが前記着信呼出しおよび前記発信呼出しを処理するために一次コントローラとして選択されたコントローラを使用して、前記二次コントローラから受信された前記着信呼出しが前記一次コントローラを介してリダイレクトされることを要求する、請求項5に記載の発明。
  9. 前記発見モジュールが、少なくとも前記第1および第2のコントローラを備えるコントローラのリストを生成し、前記第1のコントローラに関するコントローラ情報を前記第2のコントローラに関するコントローラ情報と比較して、前記コントローラ情報の前記比較に基づいて前記コントローラのリストを順序付けするためにさらに動作可能である、請求項1乃至8のいずれか1項に記載の発明。
  10. 実行された場合、請求項1に記載の方法を実行するために動作可能なプロセッサ実行可能命令を備えたコンピュータ可読媒体。
JP2008326773A 2008-03-26 2008-12-24 Sip生残り可能なネットワーク構成における同時アクティブ登録 Active JP5008647B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/056246 2008-03-26
US12/056,246 US8107361B2 (en) 2008-03-26 2008-03-26 Simultaneous active registration in a SIP survivable network configuration

Publications (3)

Publication Number Publication Date
JP2009239892A true JP2009239892A (ja) 2009-10-15
JP2009239892A5 JP2009239892A5 (ja) 2010-05-13
JP5008647B2 JP5008647B2 (ja) 2012-08-22

Family

ID=41037642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008326773A Active JP5008647B2 (ja) 2008-03-26 2008-12-24 Sip生残り可能なネットワーク構成における同時アクティブ登録

Country Status (7)

Country Link
US (1) US8107361B2 (ja)
EP (1) EP2111015B1 (ja)
JP (1) JP5008647B2 (ja)
KR (1) KR101387287B1 (ja)
CN (1) CN101557393B (ja)
BR (1) BRPI0903066B1 (ja)
MX (1) MX2008015826A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011046222A1 (en) 2009-10-16 2011-04-21 Ricoh Company, Ltd. Electrochromic compound, electrochromic composition, and display element

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527656B2 (en) * 2008-03-26 2013-09-03 Avaya Inc. Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network
WO2010017659A1 (zh) * 2008-08-15 2010-02-18 上海贝尔股份有限公司 一种在通信网络中实现心跳机制的方法和装置
US8281039B2 (en) * 2008-09-04 2012-10-02 University Of Ottawa Reconfigurable multimedia collaboration system
JP4920052B2 (ja) * 2009-03-11 2012-04-18 株式会社日立製作所 通信システム及びサーバ
US8838907B2 (en) 2009-10-07 2014-09-16 Hewlett-Packard Development Company, L.P. Notification protocol based endpoint caching of host memory
US8306055B2 (en) 2009-12-24 2012-11-06 Intel Corporation Method and system to support wireless multicast transmission
US20110302247A1 (en) * 2010-06-02 2011-12-08 Microsoft Corporation Contextual information dependent modality selection
US8315165B2 (en) 2010-06-07 2012-11-20 Microsoft Corporation Survivable and resilient real time communication architecture
US9806965B2 (en) * 2010-09-29 2017-10-31 Avaya Inc. Automatic user redundancy determination
US9154529B2 (en) * 2011-09-29 2015-10-06 Genesys Telecommunications Laboratories, Inc. System to deploy a disaster-proof geographically-distributed call center
US9026836B2 (en) 2012-05-21 2015-05-05 Avaya Inc. Call restoration in response to application failure
CN103825868B (zh) * 2012-11-19 2017-12-22 华为技术有限公司 一种本地语音逃生的方法、本地网关及系统
CA2838359C (en) * 2012-12-31 2015-09-15 Aastra Technologies Limited Automatic configuration of an endpoint
US9426833B2 (en) 2013-03-01 2016-08-23 T-Mobile Usa, Inc. Systems and methods for emergency call route failover
WO2014161602A1 (en) * 2013-04-05 2014-10-09 Telefonaktiebolaget L M Ericsson (Publ) Handling of timers
US9954905B2 (en) 2014-01-14 2018-04-24 Avaya Inc. Intelligent/selective coverage mechanism
CN103812728B (zh) * 2014-02-13 2018-06-19 普联技术有限公司 一种网络诊断方法、系统及路由器
US10277778B2 (en) 2014-06-24 2019-04-30 Ec Data Systems Inc. Audit logging for a secure, scalable and flexible internet fax architecture
US10305945B2 (en) 2014-11-10 2019-05-28 The Mitre Corporation Providing survivable calling and conferencing
US10419310B1 (en) * 2015-12-17 2019-09-17 8×8, Inc. Monitor device for use with endpoint devices
US10146525B2 (en) * 2016-06-02 2018-12-04 Cisco Technology, Inc. Supporting hitless upgrade of call processing nodes in cloud-hosted telephony system
CN112940825B (zh) * 2021-02-06 2022-05-13 中国科学院兰州化学物理研究所 磷化硅量子点作为润滑油添加剂的应用、一种润滑油及其制备方法和应用
US11575572B2 (en) * 2021-04-13 2023-02-07 Juniper Networks, Inc. Network controller horizontal scaling for network device configuration sessions management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156691A (ja) * 1998-11-20 2000-06-06 Pfu Ltd サーバ決定装置および記録媒体
JP2005057462A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> 着信転送ネットワークサービスシステムと着信経路情報設定システムおよびプログラム
US20060182255A1 (en) * 2005-02-11 2006-08-17 Cisco Technology, Inc. Resilient regisration with a call manager
JP2006237950A (ja) * 2005-02-24 2006-09-07 Saxa Inc Ip電話端末およびプログラム
US20070143449A1 (en) * 2005-10-14 2007-06-21 Julian Wray West Discovering network services
JP2007243825A (ja) * 2006-03-10 2007-09-20 Yaskawa Electric Corp プログラマブルコントローラを適用した制御装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6987756B1 (en) * 1999-10-07 2006-01-17 Nortel Networks Limited Multi-mode endpoint in a communication network system and methods thereof
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
AU2002344786A1 (en) * 2001-06-18 2003-01-02 Jeffrey L. Crandell Apparatus, systems and methods for managing incoming and outgoing communication
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system
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
KR100840365B1 (ko) * 2004-07-30 2008-06-20 삼성전자주식회사 다중 피.오.씨 세션의 세션 결합 방법 및 그 시스템
WO2006020823A1 (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
US20060235981A1 (en) * 2005-04-19 2006-10-19 Nokia Corporation Providing a second service to a group of users using a first service
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
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
CN1992711B (zh) * 2005-12-27 2011-05-11 中兴通讯股份有限公司 一种sip终端对服务器进行链路检测的方法
CN100508539C (zh) * 2006-01-09 2009-07-01 华为技术有限公司 会话边界控制器双归属的实现方法及系统
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
US7995466B2 (en) * 2008-03-26 2011-08-09 Avaya Inc. Failover/failback trigger using SIP messages in a SIP survivable configuration
US7836185B2 (en) * 2008-06-27 2010-11-16 International Business Machines Corporation Common resource management in a server cluster

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000156691A (ja) * 1998-11-20 2000-06-06 Pfu Ltd サーバ決定装置および記録媒体
JP2005057462A (ja) * 2003-08-04 2005-03-03 Nippon Telegr & Teleph Corp <Ntt> 着信転送ネットワークサービスシステムと着信経路情報設定システムおよびプログラム
US20060182255A1 (en) * 2005-02-11 2006-08-17 Cisco Technology, Inc. Resilient regisration with a call manager
JP2006237950A (ja) * 2005-02-24 2006-09-07 Saxa Inc Ip電話端末およびプログラム
US20070143449A1 (en) * 2005-10-14 2007-06-21 Julian Wray West Discovering network services
JP2007243825A (ja) * 2006-03-10 2007-09-20 Yaskawa Electric Corp プログラマブルコントローラを適用した制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011046222A1 (en) 2009-10-16 2011-04-21 Ricoh Company, Ltd. Electrochromic compound, electrochromic composition, and display element

Also Published As

Publication number Publication date
EP2111015A1 (en) 2009-10-21
US8107361B2 (en) 2012-01-31
KR101387287B1 (ko) 2014-04-28
BRPI0903066B1 (pt) 2020-10-06
KR20090102621A (ko) 2009-09-30
CN101557393B (zh) 2014-03-12
EP2111015B1 (en) 2012-06-20
BRPI0903066A2 (pt) 2010-07-13
MX2008015826A (es) 2009-09-25
CN101557393A (zh) 2009-10-14
US20090245183A1 (en) 2009-10-01
JP5008647B2 (ja) 2012-08-22

Similar Documents

Publication Publication Date Title
JP5008647B2 (ja) Sip生残り可能なネットワーク構成における同時アクティブ登録
JP5399059B2 (ja) Sipネットワーク構成におけるsipシグナリングを使用した生残り可能な電話動作
JP5523012B2 (ja) エンドポイントを生き残ったネットワークのコントローラのリスト内にコントローラのスライディング・ウインドウで登録する方法
JP2009239891A (ja) Sip生残り可能な構成においてsipメッセージを使用したフェイルオーバ・トリガ/フェイルバック・トリガ
JP2007013970A (ja) 遠距離通信のエンドポイントのための効率的な負荷分散およびハートビート機構
JP2009296138A (ja) 通信システム
WO2014049316A1 (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
US20140298083A1 (en) Method for sip proxy failover
US8054955B2 (en) Telephone system, associated exchange, and transmission control method
JP2011082868A (ja) 呼救済システム、呼救済サーバ、呼救済サーバの呼救済プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120405

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120416

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120529

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5008647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

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

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