JP5649840B2 - Sipサーブレットアプリケーションコホスティング - Google Patents

Sipサーブレットアプリケーションコホスティング Download PDF

Info

Publication number
JP5649840B2
JP5649840B2 JP2010074156A JP2010074156A JP5649840B2 JP 5649840 B2 JP5649840 B2 JP 5649840B2 JP 2010074156 A JP2010074156 A JP 2010074156A JP 2010074156 A JP2010074156 A JP 2010074156A JP 5649840 B2 JP5649840 B2 JP 5649840B2
Authority
JP
Japan
Prior art keywords
application
message
sub
router
sip
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.)
Active
Application number
JP2010074156A
Other languages
English (en)
Other versions
JP2011014125A (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 JP2011014125A publication Critical patent/JP2011014125A/ja
Application granted granted Critical
Publication of JP5649840B2 publication Critical patent/JP5649840B2/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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1063Application servers providing network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般的には通信に関連し、より明確には、SIPアプリケーションに関連する。
セッションイニシエーションプロトコル(SIP)は、多数の種類のリアルタイムの通信セッションを確立するためのオープンシグナリングプロトコルである。SIPを使用して確立される通信セッションのタイプの例は、音声、画像、又は、インスタントメッセージングを含む。これらの通信セッションは、パーソナルコンピュータ、ラップトップコンピュータ、個人情報端末(PDA)のような、いかなるタイプの通信デバイス上でも実行される。SIPの1つの重要な特徴は、全ての通信のために、単一の統合した公衆アドレスとして、エンドユーザーのアドレスオブレコード(AOR)を使用する能力である。このように、SIP機能強化通信の世界では、ユーザーのAORはそのユーザーに関連する全ての通信デバイスにユーザーをリンクする単一のアドレスとなる。このAORを使用して、発呼者は、各々の固有のデバイスアドレスや電話番号を知る必要はなく、ユーザーエージェント(UA)としても参照されて、ユーザーのいずれか1つの通信デバイスに到達することができる。
アプリケーションルータ(Aplication Router)という概念は、Java(登録商標)Specification Request(JSR)289仕様とともに導入された。アプリケーションルータは、アプリケーション構成(composition)に責任を持つ。この文章の中では、アプリケーション構成は、多数のアプリケーションをまとめて、論理的な順序に「連鎖させる(chaining)」プロセスである。多数のアプリケーションがまとめて連鎖させられたときに、1つのアプリケーションが与えられたSIPメッセージを処理し、必要とされる処理を完了したなら、そのアプリケーションは、そのSIPメッセージを次のアプリケーションに連鎖的に渡していく。
アプリケーション構成の中に含まれるSIPアプリケーションの例としては、プレゼンスアプリケーション(presence application)、コンタクトレゾリューションアプリケーション(contact resolution application)、コールセットアップアプリケーション(call setup application)、ブラックリストアプリケーション(blacklist application)、ボイスメールアプリケーション(voicemail application)、及びSIPアーキテクチャー内のある種のフィーチャー(feature)を備えるその他のアプリケーションを含む。アプリケーション構成の一例として、到着する(incoming)SIPメッセージは、通常のコールセットアップアプリケーションに渡される前に、まず、ブラックリストアプリケーションでフィルターされ、その後、N個のリングの後で、ボイスメールアプリケーションへと渡される。
JSR289は、アプリケーションルータの実行を提供することによって、アプリケーション構成を定義することは、デベロパー(developer)の役割であると述べている。この意味での1つのアプリケーションは、単一のSIP アーカイブ(Archive)(SAR)またはSARファイルを表し、ここで、SARファイルはサーブレット(servlet)を含んでいる。しかし、現実には、1つのアプリケーションが、しばしば、いくつかのSARファイルといくつかのサーブレットを有することがある。(このことは、これまでマルチSARアプリケーションとして知られていた。)各々のSARファイルは、そのアプリケーションのいくつかのフィーチャーのラッパー(wrapper)を表している。デベロパーはしばしばそれ自身のSARファイルをコーディネート(coordinate)することのみを可能にする、特別のアプリケーションルータの実行を含んでいる。サーブレットはまた、ウェブアーカイブ(Web Archive)(WAR)またはWARファイルにも含まれている。
JSR289は、SIPサーブレットコンテナ(container)が多数のアプリケーションルータをいかに管理すべきかについては定義していない。それゆえ、マルチSARを、同一のSIPサーブレットコンテナ上で、信頼度高くデプロイ(deploy)する、どんなメカニズムも今のところ存在しない。このことは、アプリケーションサーバは極端に限定されたアプリケーションをデプロイすることのみができるのだということを意味している。そしてそれは、非効率で、かつ、SIPアプリケーションサーバを使用するための主な理由への、反論である。この技術分野の当業者は理解するであろうが、このことは、サーバはしばしば、マルチSARをサポートするための十分な処理作業の又はメモリーのリソースを持っているから、極めて不便で、かつリソースの浪費である。事実、そのことは、同時に多数のウェブサイトやサービスのホスト(host)をしうるかわりに、1セットのページまたはアプリケーションにサーブするためだけに、WASやウェブロジック(Weblogic)のようなウェブサーバを使用することに類似している。
例えば、その各々が多数のSARからなり、SIPアプリケーションサーバへとデプロイされる、2つの複雑なアプリケーションを考える。第1のアプリケーションがPBX形式のアプリケーション、第2アプリケーションがコールルーティング(call routing)アプリケーションであったとする。コールルーティングアプリケーションの複雑さにより、各々のアプリケーションのためにカスタムのアプリケーションルータ(router)を書く必要がある。これらの論理的アプリケーション及び関連するアプリケーションルータは、これまで別々に開発されていた。しかし今やそれらを同じアプリケーションサーバ上で、ホストしたいとの要求がある。この問題に関する先行技術の解決策は、単一のカスタムのアプリケーションルータをデプロイできることだけに規制することであった。それゆえ、2つのアプリケーションルータを単一のアプリケーションルータに書き換え(rewrite)し、またはマージする(merge)ことが、必要となるであろう。それらのプロセスは、時間を消費し、かつ、困難でもある。
そのようなアーキテクチャは、図1に示す。ここで、通信システム100は、通信ネットワーク104を介してアプリケーションサーバ112につながる、いくつかの通信デバイス108を含んでいる。図1でわかるように、アプリケーションサーバ112は、到着するSIPメッセージをアプリケーションサーバ112が通信ネットワーク104から受け取ることを許可する、ネットワークインタフェース116を有する。
ネットワークインタフェース116で受け取られたメッセージは、SIPサーブレットコンテナ120に渡される。SIPサーブレットコンテナ120は、イニシャルメッセージリクエストを扱い、それらのリクエストをアプリケーションルータ124に渡すことの責務を負う。SIPサーブレットコンテナ120は、バックトゥバックユーザーエージェント(Back−to−Back User Agent)(B2BUA)またはプロキシ(proxy)としても機能する。一旦、メッセージがアプリケーションルータ124に渡されると、アプリケーションルータ124は、SIPリクエストを調べて、どのアプリケーション(すなわち、SARファイル128a−N)がリクエストの処理を完了するのに実行されるべきかを選択する。アプリケーションルータは一般的にはどんなリクエストも改変しないことに注意すべきである。従って、アプリケーションルータ124は、適切なSARファイル128を識別(identify)し、その決定をSIPサーブレットコンテナ120に伝える。SIPサーブレットコンテナ120は、それから、SARの中の(JSR289に述べられたメカニズムによって決定される)適切なサーブレットを呼び出し(invoke)、そのリクエストはそのサーブレットに従って処理される。一旦、あるリクエストが適正に処理されると、SIPサーブレットコンテナ120は、そのリクエストをネットワークインタフェース116へ返送し、そこではそれは、更なる処理のために通信ネットワーク100の別のデバイスへと転送されることができる。これは、そのリクエストを別のアプリケーションサーバへ渡すこと、または、そのリクエストをユーザの通信デバイス108に渡すことを含む。
JSR289に従って多数のアプリケーションをコホスト(co−host)するための2つの共通のアプローチがある。第1は、単純に、アプリケーションサーバ112の多数のインスタンス(instance)を動作させることである。ここでは、各々のサーバが単一のマルチSARアプリケーションをホストする。これは、単一の物理的マシンをパーティション(partition)するバーチャライゼーション(virtualization)テクノロジ−を含んでいる。第2アプローチは、デプロイヤ(deployer)がこれらのアプリケーションを同じサーバ上でコーディネートするためのカスタムのアプリケーションルータをインプリメント(implement)することである。
現在の商業的なやり方では、通常、前述のように、個々のマルチSARアプリケーションをホストするために、多数のサーバインスタンスをデプロイするが、サーバ当たり1つのアプリケーションというアプローチは、追加のハードウェア及びアドミニストレーションコストを課すことになる。第2アプローチは、デプロイヤに、ホストされるべき各々のアプリケーションのために、ルーティングの論理を、理解し、再びインプリメントすることを要求する。このプロセスは、エラーと開発及びデプロイの時間の増加を引き起こしがちである。更に、マシンの上に存在するアプリケーションの数とともに、マシンの複雑さが増していく。
それゆえに、個々のSARよりもその他のサブアプリケーションルータとコーディネートする、ルート(root)アプリケーションルータの概念を導入することが、本発明の1つの態様である。これらのサブアプリケーションルータは、それ自身の権利を持った完全に一人前のアプリケーションルータであるが、制御するルートアプリケーションルータのことを意識していない。
ここで用いられるように、1つのSARは、1つのアプリケーションの特定の機能またはフィーチャーを実行するためのアプリケーションであるが、1つのアプリケーションは、普通は、いくつかのSARを有している(例えば、マルチSARアプリケーション)。1つのSARファイル、WARファイル、EAR、または同様のものは、SIPメッセージまたはSIPリクエストについて、オペレーションを実行することと関連して使用される、1つのサーブレットを収容していることの責務を負う。そのSAR/WARファイルは、特定の機能を実行するための現実のビジネス/アプリケーション論理またはルーティング論理を収容しているアーカイブ(archive)である。
サブアプリケーションルータは、JSR289で定義されているアプリケーションルータインタフェースをインプリメントする。また、JSR289対応のそれ自身のコンテナ内で、デプロイされうる。しかしながら、本発明の少なくともいくつかの実施の形態によれば、これらのサブアプリケーションルータは、SIPサーブレットコンテナではなくてルートアプリケーションルータによって、ロード(load)され、管理される。
SIPサーブレットコンテナは、ルートアプリケーションルータを意識するようにのみ準備される。SIPサーブレットコンテナで受け取られた、到着するSIPメッセージは、ルートアプリケーションルータに渡される。その後、ルートアプリケーションルータは、到着したSIPメッセージを、(選択のアルゴリズムに従って)1つのサブアプリケーションルータのインスタンスへと委託(delegate)する。そのサブアプリケーションルータは、SIPメッセージの後続の処理をコーディネートする責務を負い、そのことによって、このソリューションを、JSR289に従った単一のアプリケーションルータとして見えるようにする。
本発明の少なくともいくつかの実施の形態によれば、アプリケーションルータのベースで定義されるルーティングの規則(すなわち、メッセージをサブアプリケーションルータへとルート(route)する、ルートアプリケーションルータによって使用される規則)は、サブアプリケーションルータにとって重要ではない。むしろ、このコンフィグレーション(configuration)は、システムデプロイヤの責任である。一例を以下に示す。
〈pattern〉
〈or〉
〈equal〉
〈var〉request.route.uri.user〈/var〉
〈value〉voicemail〈/value〉
〈/equal〉

〈equal〉
〈var〉request.uri.user〈/var〉
〈value〉voicemail〈/value〉
〈/equal〉

〈/or〉
〈/pattern〉
これは、次のように解釈される。もし、ルート(route)URIまたはリクエストURIのユーザー部分が、”voicemail”というテキストとマッチした場合には、メッセージをこのサブアプリケーションルータへ送れ。基本的には、このことが、メッセージのコンテンツを基礎とした、識別力のあるサブアプリケーションルータの選択を許容する。SIPメッセージの受信時に、ルートアプリケーションルータは規則のセットを順次評価する。評価の順序は重要で、デプロイヤ(通常、顧客のネットワークアドミニストレータ)が、このリストに関する完全なコントロールを有している。例えば、前面に置かれるワイルドカード規則は、その背後のアプリケーションが決してどんなSIPメッセージも見ないことを意味する。もし、サブアプリケーションルータが、どんなマッチングの規則も規定しないならば、それはワイルドカードであり、全てのメッセージを処理することを望むものとみなされる。
上記の課題を解決するために、本発明の少なくともいくつかの実施の形態によれば、一般的に、
−第1のアプリケーションサーバのネットワークインタフェースで、第1メッセージを受信するステップと、
−その第1メッセージを、その第1のアプリケーションサーバ内のルートアプリケーションルータへ渡すステップと、
−そのルートアプリケーションルータによって、その第1メッセージを受け取り、引き続いて分析するためのサブアプリケーションルータを決定するステップと、
−その第1メッセージを、その第1のアプリケーションサーバ内に存在する、そのサブアプリケーションルータへと渡すステップと
ことからなる方法(method)を提供する。
本発明の少なくともいくつかの実施の形態によれば、SIPサーブレットは、個々にデプロイされるまたはデプロイされないこともある、SARファイル、WARファイル、EARファイルなどのような、セルフコンテンド(self−contained)なジャーファイル(jar file)の中へパッケージされる。SIPサーブレットは、SIP機能をサポートするためにその中にロードされたインターフェースを強化する点で、他のタイプのサーブレットに似ている。別のタイプのサーブレットの例は、httpサーブレットであり、これは、ウェブサーバまたはアプリケーションサーバの中で動作し、典型的にはデータベースにアクセスする、またはe−コマース処理を実行するような、サーバサイド(server−side)の処理を提供する、Javaアプリケーションである。それは、CGIスクリプト(CGI scripts)、アクティブサーバページ(Active Server Page、ASPs)及びC及びC++で書かれたプロプライアトリプラグイン(proprietry plug−ins)の、Javaベースの置き換えである。サーブレットはCGIコンセプトに類似するが、分離したプロセスを使う代わりに、メッセージはサーバ内部のバーチャルマシンの中で動作するクラス(class)に伝達される。
多数のサーブレットは、サーバとオペレーティングシステムの間で可搬性を許容するように、特定のプログラム言語(例えばJava)で書かれる。Javaは、サーブレットまたは拡張モジュールを創作するために使用されるプログラム言語の一例であるが、本発明の実施の形態はそれに限定されないことを、この技術分野の当業者は理解するであろう。より明確には、本発明の実施の形態は、拡張モジュールがサーバとオペレーティングシステムの間で可搬性を持つことを許容するような、いずれかのタイプのプログラム言語での、拡張モジュールの創作を意図している。本発明の実施の形態は、また、サーバ(例えば、企業サーバで、特にSIPサーバ)上のバーチャルマシンの内部で動作することができる拡張モジュールを意図している
従来技術の実施の形態による通信システムを示したブロック図。 本発明の少なくともいくつかの実施の形態による通信システムを示したブロック図。 本発明の少なくともいくつかの実施の形態による、SIPメッセージを処理する方法を示したフロー図。
図2を参照すると、例示の通信システム200が、本発明の少なくともいくつかの実施の形態により、表現されている。より明確には、通信システム200は、通信デバイス108をアプリケーションサーバ204と接続するようになっている、通信ネットワーク104を含んでいる。
通信ネットワーク104は、いかなるタイプの既知の通信手段またはそれらの集合であってもよく、エンドポイント間のメッセージの伝達のためのいかなるタイプのプロトコルも含んでもよい。通信ネットワーク104は、有線又は無線の通信技術を含む。インターネットは通信ネットワーク104の一例であり、それを構成する、世界中に置かれた多数のコンピュータやその他の通信デバイスからなるIPネットワークは多数の電話システムやその他の手段を介して接続されている。通信ネットワーク104の他の例は、標準の従来型単純電話システム(POTS)、サービス総合デジタル網(ISDN)、公衆交換電話網(PSTN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セッションイニシエーションプロトコル(SIP)ネットワーク、いかなるタイプの企業ネットワーク、この技術分野で知られているいかなるその他のタイプのパケット交換またはサーキット交換ネットワークを含み、これに限定されない。更に、通信ネットワーク104は1つのネットワークタイプに限定されず、いくつかの異なるネットワーク又はネットワークタイプから構成されてもよい。
通信デバイス108は、パーソナルコンピュータ、ラップトップ、個人情報端末(PDA)、携帯電話、スマートフォン、電話、アナログフォン、DCPフォン、またはそれらの組み合わせのような、周知のどんなタイプの通信または処理デバイスであってもよい。1つの通信デバイス108は、単独のユーザーに制御され、または関連づけられていてもよいし、多数のユーザーの使用に供されてもよい。(すなわち、企業の通信デバイスが、企業のユーザーに、有効なユーザー名とパスワードの提示による使用を許可するような場合である。)
通信デバイス108の各々は同一ユーザーと関連づけられてもよい。言い換えれば、通信デバイス108は単独のユーザーに属してもよく、また、異なるタイプの通信デバイスに対応してもよい。一例として、ユーザーが、それぞれが単一ユーザーの個人電話、業務電話、パソコン、Eメール検索デバイスに対応するような、4つの通信デバイス108を持ってもよい。代替として、通信デバイス108の各々が、異なるユーザーに所有され、操作され(すなわち関連づけられ)ていてもよい。
一般的に、通信デバイス108は、他の通信デバイス108との、ビデオ、オーディオ、テキスト、又はデータの通信をサポートするように適合されている。通信デバイス108によって他の通信デバイス108と通信するために使用される媒体のタイプは、通信デバイス108において利用できる通信アプリケーションに依存する。
本発明の少なくともいくつかの実施の形態によれば、通信デバイス108が、アプリケーションサーバ204へ、SIPメッセージのようなメッセージを送信し、そのサーバのネットワークインタフェース208において、それが受信される。ネットワークインタフェース208は、通信ポート又はネットワークアダプタを含む。一例として、ネットワークインタフェース208が、イーサネット(登録商標)のポートとイーサネットカード/アダプタを持つ。別の例では、ネットワークインタフェース208が、アンテナと802.11またはブルートゥース(Bluetooth)アダプタを持つ。このように、この技術分野の当業者は理解するであろうが、ネットワークインタフェース208は、アプリケーションサーバ204と通信ネットワーク104の間の、有線又は無線の接続をサポートし、更に、多数の通信プロトコルもサポートする。
アプリケーションサーバ204は、更に、最初にこのアプリケーションサーバ204で受け取られたメッセージを取り扱うための、SIPサーブレットコンテナ212を有する。追加として、SIPサーブレットコンテナ212は、そのアプリケーション224の機能性に従ってリクエストが処理されうるアプリケーションサーバ204の上に記憶されている、アプリケーション224に、SIPリクエストを転送する責務を負う。
図2及び図3を参照すると、ネットワークインタフェース208からの、SIPサーブレットコンテナ212で受け取られたメッセージ(ステップ304)は、ルートアプリケーションルータ216に渡される(ステップ308)。ルートアプリケーションルータ216は、アプリケーションサーバ204の多数のサブアプリケーションルータ220の間で、SIPメッセージのディスバースメント(disbursement)をコーディネートする責務を負う。より明確には、ルートアプリケーションルータ216は、どのように特定のメッセージまたはリクエストがサブアプリケーションルータ220の間でルートされるべきか、を定義したビジネス規則または論理を有し、そのような規則を適用して(ステップ312)、ターゲットとなるサブアプリケーションルータ220を識別する(ステップ316)。更により明確には、ルートアプリケーションルータ216は、サブアプリケーションルータ220にとって、階層上のマスター、または、メッセージゲートキーパー(gate keeper)として機能する。このように、サブアプリケーションルータ220が受け取るいかなるメッセージも、ルートアプリケーションルータ216を介して受け取られる。
しかしながら、本発明の少なくともいくつかの実施の形態によれば、サブアプリケーションルータ220は、ルートアプリケーションルータ216及びルートアプリケーションルータ216で実行されるいかなるアルゴリズムも、意識しない。その代わりに、サブアプリケーションルータ220の見方によれば、メッセージはSIPサーブレットコンテナ212から受け取られ、サブアプリケーションルータ220で処理され、SIPサーブレットコンテナ212に返送され、そしてそれは、マルチSARアプリケーション224の中に、リクエストを世話すべき別のSAR228があるかどうかを判断するために、再びルートアプリケーションルータ216を呼び出すようになっている。1つのリクエストが、複数のサブアプリケーションルータ220a及び220bのための規則とマッチすることがありうることも注意すべきである。このような状況では、ルートアプリケーションルータ216が、リクエストはサブアプリケーションルータ220a及び220bにルートされるべきであると判断した場合、ルートアプリケーションルータ216は、第1のサブアプリケーションルータ220aにリクエストを渡すことができ、一旦、対応する第1のアプリケーション224aがメッセージの処理を終わったら、ルートアプリケーションルータ216が自動的にそのリクエストを次のサブアプリケーションルータ220bに渡すようにすることができる。
サブアプリケーションルータ220がメッセージを受け取ると(ステップ320)、サブアプリケーションルータ220は、メッセージを分析し、実際にどのアプリケーションがメッセージを処理するかを判断する(ステップ324)。従って、サブアプリケーションルータ220は、実際にはそれ自身ではメッセージを処理しない。どのアプリケーション224がメッセージを処理するのに使われるべきかを判断するために、メッセージの中の情報を分析するだけである。
このような判断を行うと、サブアプリケーションルータ220は、SIPサーブレットコンテナに、メッセージを処理するアプリケーション224の識別情報とともに、メッセージを返送する。SIPサーブレットコンテナ212は、メッセージを受け取り、アプリケーション識別情報を分析し、メッセージを適切なアプリケーション224へ転送する。図2でわかるように、アプリケーション224は、複数のSARファイルを有し、その各々が、SIPサーブレットのようなサーブレットを含んでいる。
メッセージが特定のアプリケーション224に指定されると、SIPサーブレットコンテナ212は、実際にメッセージを処理するために、そのアプリケーション224のSARファイル228内の適切なサーブレットを呼び出す(ステップ328)。この技術分野の当業者は理解するであろうが、アプリケーション224は、それぞれ、3及び2のSARファイル228a、228bを有するように示されているが、1つのアプリケーション224は、アプリケーション224の機能により、より多いまたは少ない数のSARファイル228を有してもよい。例えば、本発明の技術範囲から外れることなく、1つのアプリケーション224が、1、2、3、4またはそれより多いSARファイル228を有してもよい。複数のSARファイルを有するアプリケーション224を、ここでは、マルチSARアプリケーション224と呼ぶ。本発明の実施の形態は、特に、ルートアプリケーションルータ216を使用して、共通のサーバ204上で、多数のマルチSARアプリケーション224をコホストする能力を提供する。
本発明の少なくともいくつかの実施の形態によれば、アプリケーション224は、SIPメッセージに関する一般的な機能及びフィーチャーを提供する。アプリケーション224の中に含まれるSARファイル228は、アプリケーション224の機能を提供するために必要とされるステップを実行するプロセスであるサーブレットを含んでいる。一例として、あるアプリケーション224は、ボイスメール機能に対応している。ボイスメールアプリケーション224内のSARファイルは、次のようなプロセスを実行するサーブレットを含んでいる。すなわち、あるコールがボイスメールの範囲であると判断すること、適切なボイスメールサーバのロケーションを識別すること、コールをボイスメールサーバへ転送すること、IVR機能を発呼者に提供すること、発呼者からのメッセージを記録すること、及びボイスメールサーバ内のメッセージを記憶すること。もちろん、前記のボイスメール機能のいくつかは、別のアプリケーション224の分離したSARファイルとして実行されることもある。更に、ボイスメールはアプリケーション224によって提供される典型的な機能の、単に一例に過ぎない。アプリケーション224によって提供される、別のタイプの機能は、次のものを含むが、これに限定されない。コール転送機能、コールルーティング機能、カバレージ(coverage)機能、記録機能、コールセットアップ機能、ブラックリスト機能、ホワイトリスト機能、到着コール通知機能、コール終了機能、顧客請求(bill customer)機能。アプリケーション224を介して使用可能なその他の機能は、この技術分野の当業者には明白であり、それもまた、本発明の技術範囲と見なされる。
メッセージが、SARファイル228内のサーブレットで処理されているときに、そのサーブレットが、第2メッセージまたはSIPリクエストを生成することがある(例えば、前記のボイスメールアプリケーションの例では、コール転送メッセージ)。このように、ステップ332では、最初に受け取ったメッセージを処理することで、サーブレットによって、新たなリクエストまたはメッセージが生成されたか、否かが判断される。もし、この質問が肯定的な答えであれば、メッセージは、アプリケーションサーバ204の中にあるかどうかを問わないが、別のコンピュータ操作の要素(computational component)へと転送できるように、SIPサーブレットコンテナ212に返送される(ステップ336)。もし、そのようなメッセージがサーブレットで生成されていた場合には、第2SIPメッセージが、ルートアプリケーションルータ216によって評価されることなく、コンピュータ操作の要素に送られる。
一旦、アプリケーション224が、SARファイル228内の全てのサーブレットを呼び出し、メッセージがそれらのサーブレットで処理されたか、または、ステップ332の質問が否定的な答えであるならば、最初のメッセージが追加の処理を要求しているかどうかを判定することで、その方法が継続する(ステップ340)。もし、そのメッセージが、おそらく他のアプリケーション224での追加の処理を要求しているのであれば、その方法は、ステップ304に戻り、メッセージはSIPサーブレットコンテナ212に転送され、そしてSIPサーブレットコンテナ212が、引き続き、メッセージをルートアプリケーションルータ216へ戻すように準備する。もし、追加の処理が要求されなければ、その方法は終了する(ステップ344)。もちろん、メッセージ処理を完結させることの一部として、メッセージが、ネットワークインタフェース208を介してアプリケーションサーバ204から外へ転送されることもある。
この技術分野の当業者は理解するであろうが、図2に示すアプリケーションサーバ204は、2つのサブアプリケーションルータ220a、220bを含むが、本発明の実施の形態によれば、アプリケーションサーバ204は、より多い、またはより少ない数のサブアプリケーションルータ220を有してもよい。
同様に、アプリケーションサーバ204は、2つのアプリケーション224a、224bのみを持つように示されているが、本発明の実施の形態によれば、アプリケーションサーバ204は、より多い、またはより少ない数のアプリケーション224を有してもよい。更に、サブアプリケーションルータ220の数は、アプリケーションサーバ204内のアプリケーション224の数とは、通常、合致することはない。従って、単一のサブアプリケーションルータ220が、多数のアプリケーション228の間のメッセージのルーティングの決定を行うようになっていることもある。言い換えると、サブアプリケーションルータ220は、メッセージが、処理のために、第1の、第2、第3の、第4の、などのアプリケーション224に送られるべきかどうかを決定するようになっており、サブアプリケーションルータ220で受け取られた異なるメッセージに対して異なる決定をすることもある。更に、このような実施の形態は他の多くの考慮に依存するが、2つのサブアプリケーションルータ220は、共通のアプリケーション224へメッセージをルートするようになっていることもある(すなわち、複数のサブアプリケーションルータ220が1つのアプリケーション224をシェアする)。
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、NVRAM、磁気ディスク又は光学ディスクである。揮発性媒体とは、DRAM、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、CD−ROM、パンチカード、ペーパーテープ等、更にRAM、PROM、EPROM、FLASH−EPROM、メモリカード、メモリチップ、或いはカートリッジ等がある。e−mail或いは他の自己保存型の情報アーカイブに付属したデジタルファイルは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
用語「モジュール」「エージェント」「ツール」とは、ハードウエア、ソフトウエア、ファームウエア、人工知能、ファジーロジック、それらの組み合わせを言う。
上記したイベント、事象の発生順は、本発明の動作/効果に影響を与えずに変更可能である。特に断りのない限り、実施例の順にはこだわらない。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ASIC、他の集積回路DSP、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばPLD、PLA、FPGA、PAL、特殊目的コンピュータ或いは他の手段で実現できる。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はVLSIデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、JAVA、CGIスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。 本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様(一実施例)と考えられる。
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「A又はB」は、「Aのみ」、「Bのみ」ならず、「AとBの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
100 通信システム
104 通信ネットワーク
108 通信デバイス
112 アプリケーションサーバ
116 ネットワークインタフェース
120 SIPサーブレットコンテナ
124 アプリケーションルータ
128 SARファイル
200 通信システム
204 アプリケーションサーバ
208 ネットワークインタフェース
212 SIPサーブレットコンテナ
216 ルートアプリケーションルータ
220 サブアプリケーションルータ
224 アプリケーション
228 SARファイル
304 SIPメッセージをSIPサーブレットコンテナで受け取る
308 SIPメッセージをルートアプリケーションルータへ渡す
312 ルーティング規則セットを評価する
316 ターゲットのサブアプリケーションルータを識別する
320 ルートアプリケーションルータが識別されたサブアプリケーションルータへメッセージを委託する
324 サブアプリケーションルータがSIPメッセージを処理することを決定する
328 適切なSARファイルを呼び出す
332 サブアプリケーションルータから第2リクエストが出現するか?
336 第2リクエストをルートアプリケーションルータのあたりに送る
340 追加の処理は?
344 終了

Claims (7)

  1. ネットワークインタフェース(208)と、SIPサーブレットコンテナ(212)と、ルートアプリケーションルータ(216)と、複数のサブアプリケーションルータ(220)と、サーブレット(228)をそれぞれ有する複数のアプリケーション(224)と、を有する第1アプリケーションサーバ(204)において、
    (A)前記SIPサーブレットコンテナ(212)が、前記ネットワークインタフェース(208)を介して、SIPメッセージを含む第1メッセージを受け取るステップ(304)と、
    (B)前記SIPサーブレットコンテナ(212)が、前記第1メッセージを、前記ルートアプリケーションルータ(216)へ送るステップ(308)と、
    (C)前記ルートアプリケーションルータ(216)が、メッセージをルーティングする規則に従って、前記複数のサブアプリケーションルータ(220)の中で、前記第1メッセージを受領すべき第1サブアプリケーションルータ(220a)を決定するステップと、
    (D)前記ルートアプリケーションルータ(216)が、前記第1メッセージを、前記ステップ(C)で決定された第1サブアプリケーションルータ(220a)へ送信するステップ(320)と、
    (E)前記第1サブアプリケーションルータ(220a)が、前記メッセージをルーティングする規則に従って、前記複数のアプリケーション(224)の中でどのアプリケーションが前記第1メッセージを処理すべきかを決定するステップ(324)と、
    (F)前記ステップ(E)で第1メッセージを処理すべきと決定されたアプリケーション(224a)の識別情報を、前記SIPサーブレットコンテナ(212)へ送るステップと、
    (G)前記SIPサーブレットコンテナ(212)が、前記第1サブアプリケーションルータ(220a)から返送されてきた前記第1メッセージを、前記ステップ(E)で第1メッセージを処理すべきと決定されたアプリケーション(224a)へ転送するステップと、
    (L)前記SIPサーブレットコンテナ(212)が、前記ネットワークインタフェース(208)を介して、前記第1メッセージとは異なる第2メッセージを受け取るステップと、
    (M)前記SIPサーブレットコンテナ(212)が、前記第2メッセージを、前記ルートアプリケーションルータ(216)に渡すステップと、
    (N)前記ルートアプリケーションルータ(216)が、前記メッセージをルーティングする規則に従って、前記第2メッセージを受け取るべき第2サブアプリケーションルータ(220b)を決定するステップと、
    前記ステップ(N)において、前記第2メッセージを受け取ると決定された前記第2サブアプリケーションルータ(220b)は、前記第1メッセージを受け取ると決定された前記第1サブアプリケーションルータ(220a)でなく、
    (O)前記第2メッセージを、前記第2サブアプリケーションルータ(220b)へ渡すステップと、
    前記第2サブアプリケーションルータ(220b)もまた、前記第1アプリケーションサーバ(204)内に存在し、
    (P)前記第2サブアプリケーションルータ(220b)が、前記規則に従って、複数のアプリケーションの中でどのアプリケーションが前記第2メッセージを処理すべきかを決定するステップと、
    (Q)前記ステップ(P)で第2メッセージを処理すべきと決定されたアプリケーション(224a)の識別情報を、前記SIPサーブレットコンテナ(212)へ送るステップと、
    (R)前記SIPサーブレットコンテナ(212)が、前記第2サブアプリケーションルータ(220b)から返送されてきた前記第2メッセージを、複数のアプリケーションの中で前記ステップ(P)で第2メッセージを処理すべきと決定されたアプリケーションへ転送するステップと、
    を有する
    ことを特徴とする方法。
  2. (A)ルートアプリケーションルータ(216)と、
    前記ルートアプリケーションルータ(216)は、前記複数のサブアプリケーションルータ(220)にSIPメッセージを含むメッセージを分配し、
    (B)前記ルートアプリケーションルータ(216)と通信する複数のサブアプリケーションルータ(220)と、
    (C)サーブレット(228)を含む複数のアプリケーション(224)と、
    (D)SIPサーブレット・コンテナ(212)と
    を有するアプリケーションサーバ(204)において、
    前記各々のサブアプリケーションルータ(220)は、前記ルートアプリケーションルータ(216)からメッセージを受け取り、メッセージをルーティングする規則に従って、前記複数のアプリケーション(224)の中から前記メッセージを処理するために使用されるアプリケーション(224)を決定し、
    前記サブアプリケーションルータ(220)は、前記メッセージを処理すべきと決されたアプリケーション(224)の識別情報を、前記SIPサーブレット・コンテナ(212)に送り、
    前記SIPサーブレット・コンテナ(212)は、前記サブアプリケーションルータ(220)から返送されてきた前記メッセージを、前記メッセージを処理すべきと決定されたアプリケーションに転送し、
    前記各アプリケーション(224)は、前記サーブレット(228)で前記メッセージを処理し、前記アプリケーション(224)は、特定の機能を提供し、前記サーブレットは、決定されたアプリケーション(224)の特定の機能に従って、前記メッセージで操作を実行する
    ことを特徴とするアプリケーションサーバ。
  3. (H)前記ステップ(C)でメッセージを処理すべきと決定されたアプリケーションが前記第1メッセージを前記サーブレットで処理するステップを更に有し、
    前記ステップ(H)で、前記メッセージを処理すべきと決定されたアプリケーションが、特定の機能を提供し、前記サーブレットが、前記決定されたアプリケーションの前記特定の機能に従って、前記第1メッセージの操作を実行する、
    ことを特徴とする請求項1に記載の方法。
  4. 前記特定の機能が、ボイスメール機能、コール転送機能、コールルーティング機能、カバレージ機能、記録機能、コールセットアップ機能、ブラックリスト機能、ホワイトリスト機能、到着コール通知機能、コール終了機能、顧客請求書機能の内のいずれかを含む
    ことを特徴とする請求項3に記載の方法。
  5. (I)前記サーブレットが、第2応答SIPメッセージを生成するステップと、
    前記第2応答SIPメッセージは、前記第1メッセージの処理に応じて生成され、
    (J)前記サーブレットが、前記第2応答SIPメッセージを、前記SIPサーブレットコンテナ(212)へ送るステップと、
    (K)前記SIPサーブレットコンテナ(212)が、前記第2応答SIPメッセージを、コンピュータの要素へ転送するステップと、
    を更に有し、
    前記ステップ(K)は、前記メッセージを前記ルートアプリケーションルータ(216)に送ることなく行われる、
    ことを含む請求項3に記載の方法。
  6. 前記コンピュータの要素が、前記第1アプリケーションサーバ内に存在しない
    ことを特徴とする請求項5に記載の方法。
  7. ネットワークインタフェース(208)と、SIPサーブレットコンテナ(212)と、ルートアプリケーションルータ(216)と、複数のサブアプリケーションルータ(220)と、サーブレット(228)をそれぞれ有する複数のアプリケーション(224)と、を有する第1アプリケーションサーバ(204)に使用されるコンピュータで読み取り可能な記憶媒体において、
    (A)前記SIPサーブレットコンテナ(212)が、前記ネットワークインタフェース(208)を介して、SIPメッセージを含む第1メッセージを受け取るステップ(304)と、
    (B)前記SIPサーブレットコンテナ(212)が、前記第1メッセージを、前記ルートアプリケーションルータ(216)へ送るステップ(308)と、
    (C)前記ルートアプリケーションルータ(216)が、メッセージをルーティングする規則に従って、前記複数のサブアプリケーションルータ(220)の中で、前記第1メッセージを受領すべき第1サブアプリケーションルータ(220a)を決定するステップと、
    (D)前記ルートアプリケーションルータ(216)が、前記第1メッセージを、前記ステップ(C)で決定された第1サブアプリケーションルータ(220a)へ送信するステップ(320)と、
    (E)前記第1サブアプリケーションルータ(220a)が、前記メッセージをルーティングする規則に従って、前記複数のアプリケーション(224)の中でどのアプリケーションが前記第1メッセージを処理すべきかを決定するステップ(324)と、
    (F)前記ステップ(E)で第1メッセージを処理すべきと決定されたアプリケーション(224a)の識別情報を、前記SIPサーブレットコンテナ(212)へ送るステップと、
    (G)前記SIPサーブレットコンテナ(212)が、前記第1サブアプリケーションルータ(220a)から返送されてきた前記第1メッセージを、前記ステップ(E)で第1メッセージを処理すべきと決定されたアプリケーション(224a)へ転送するステップと、
    (L)前記SIPサーブレットコンテナ(212)が、前記ネットワークインタフェース(208)を介して、前記第1メッセージとは異なる第2メッセージを受け取るステップと、
    (M)前記SIPサーブレットコンテナ(212)が、前記第2メッセージを、前記ルートアプリケーションルータ(216)に渡すステップと、
    (N)前記ルートアプリケーションルータ(216)が、前記メッセージをルーティングする規則に従って、前記第2メッセージを受け取るべき第2サブアプリケーションルータ(220b)を決定するステップと、
    前記ステップ(N)において、前記第2メッセージを受け取ると決定された前記第2サブアプリケーションルータ(220b)は、前記第1メッセージを受け取ると決定された前記第1サブアプリケーションルータ(220a)でなく、
    (O)前記第2メッセージを、前記第2サブアプリケーションルータ(220b)へ渡すステップと、
    前記第2サブアプリケーションルータ(220b)もまた、前記第1アプリケーションサーバ(204)内に存在し、
    (P)前記第2サブアプリケーションルータ(220b)が、前記規則に従って、複数のアプリケーションの中でどのアプリケーションが前記第2メッセージを処理すべきかを決定するステップと、
    (Q)前記ステップ(P)で第2メッセージを処理すべきと決定されたアプリケーション(224a)の識別情報を、前記SIPサーブレットコンテナ(212)へ送るステップと、
    (R)前記SIPサーブレットコンテナ(212)が、前記第2サブアプリケーションルータ(220b)から返送されてきた前記第2メッセージを、複数のアプリケーションの中で前記ステップ(P)で第2メッセージを処理すべきと決定されたアプリケーションへ転送するステップと、
    上記のステップ(A)−(R)を実行する為に、プロセッサーが実行可能なインストラクションを含むことを特徴とするコンピュータで読み取り可能な記憶媒体
JP2010074156A 2009-06-30 2010-03-29 Sipサーブレットアプリケーションコホスティング Active JP5649840B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/495,372 US8179889B2 (en) 2009-06-30 2009-06-30 SIP servlet applications co-hosting
US12/495372 2009-06-30

Publications (2)

Publication Number Publication Date
JP2011014125A JP2011014125A (ja) 2011-01-20
JP5649840B2 true JP5649840B2 (ja) 2015-01-07

Family

ID=42153779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010074156A Active JP5649840B2 (ja) 2009-06-30 2010-03-29 Sipサーブレットアプリケーションコホスティング

Country Status (5)

Country Link
US (1) US8179889B2 (ja)
EP (1) EP2270659A1 (ja)
JP (1) JP5649840B2 (ja)
KR (1) KR101352694B1 (ja)
CN (1) CN101938510A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096045A (ja) * 2009-10-30 2011-05-12 Hitachi Ltd 計算機、計算機システム、及び、アプリケーション実行方法
US8488575B2 (en) * 2010-11-18 2013-07-16 At&T Intellectual Property, I, L.P. Methods, devices, and computer program products for providing a plurality of application services via a customized private network connection
US9367367B2 (en) 2013-06-06 2016-06-14 Avaya Inc. Application router
US9350594B2 (en) * 2013-06-26 2016-05-24 Avaya Inc. Shared back-to-back user agent
KR101516215B1 (ko) 2013-11-15 2015-05-04 한국지질자원연구원 장력계를 포함하는 시추시스템 및 이를 이용한 정확한 시추의 판단방법
CN106534140A (zh) * 2016-11-25 2017-03-22 西安烽火电子科技有限责任公司 一种sip消息的传递系统及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356803B2 (en) * 2001-07-02 2008-04-08 Bea Systems, Inc. Annotation based development platform for asynchronous web services
EP1274011B1 (en) * 2001-07-06 2017-05-03 Alcatel Lucent A method and system for routing and logging a request
US7028311B2 (en) * 2002-01-04 2006-04-11 Telefonaktiebolaget Lm Ericsson (Publ) Communications node architecture and method for providing control functions in a telecommunications network
US6798755B2 (en) * 2002-12-31 2004-09-28 Motorola, Inc. Apparatus and method for controlling and managing individual directed sessions in a communications system
US7707564B2 (en) 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
CN1577251B (zh) * 2003-07-28 2012-07-18 国际商业机器公司 小服务器程序的远程协作方法和系统
JP4593152B2 (ja) * 2004-03-31 2010-12-08 日本電気株式会社 サーバ装置およびその制御方法
US7664818B2 (en) 2004-04-21 2010-02-16 Sap (Ag) Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure
US20060239247A1 (en) * 2005-04-26 2006-10-26 Peter Postmus Method and session initiation protocol (SIP) server with end-point capabilities check
JP4735068B2 (ja) * 2005-06-15 2011-07-27 沖電気工業株式会社 通信システム、通信方法及び通信装置
JP4433309B2 (ja) * 2005-08-24 2010-03-17 日本電気株式会社 負荷分散装置
US7865607B2 (en) * 2006-04-04 2011-01-04 Movius Interactive Corporation Servlet model for media rich applications
US8001250B2 (en) * 2006-05-16 2011-08-16 Oracle International Corporation SIP and HTTP convergence in network computing environments
US7661027B2 (en) * 2006-10-10 2010-02-09 Bea Systems, Inc. SIP server architecture fault tolerance and failover
US20080158336A1 (en) * 2006-10-11 2008-07-03 Richard Benson Real time video streaming to video enabled communication device, with server based processing and optional control
US7895475B2 (en) * 2007-07-11 2011-02-22 Oracle International Corporation System and method for providing an instrumentation service using dye injection and filtering in a SIP application server environment
CN101483613B (zh) * 2008-01-09 2012-02-15 国际商业机器公司 为呈现服务器提供QoS控制能力的方法和设备及其系统
US9654515B2 (en) * 2008-01-23 2017-05-16 Oracle International Corporation Service oriented architecture-based SCIM platform
US8806512B2 (en) * 2008-05-30 2014-08-12 Red Hat, Inc. Collocation in a Java virtual machine of JSLEE, SIP servlets, and Java EE

Also Published As

Publication number Publication date
US20100329239A1 (en) 2010-12-30
KR101352694B1 (ko) 2014-02-17
JP2011014125A (ja) 2011-01-20
CN101938510A (zh) 2011-01-05
KR20110001863A (ko) 2011-01-06
EP2270659A1 (en) 2011-01-05
US8179889B2 (en) 2012-05-15

Similar Documents

Publication Publication Date Title
US9479400B2 (en) Servlet API and method for XMPP protocol
JP6348926B2 (ja) 電話通信アプリケーションサービス
JP4503225B2 (ja) 適応ディスパッチャを有する仮想ネットワーク
US9661035B2 (en) Method and apparatus for providing call flow information to terminal devices
US8744055B2 (en) Abstract application dispatcher
US8233411B2 (en) Enhanced system for controlling service interaction and for providing blending of services
KR101352647B1 (ko) 플러그가능 콘택트 결정
JP5649840B2 (ja) Sipサーブレットアプリケーションコホスティング
CN110730129A (zh) 用于灵活路由的系统和方法
Caprolu et al. Fortress: an efficient and distributed firewall for stateful data plane sdn
US10205788B2 (en) Run-time actionable information exchange system in a secure environment
US8498302B2 (en) System and method for exposing third party call functions of the intelligent network application part (INAP) as a web service interface
JP2019109891A (ja) クラスタ化されたアプリケーションの負荷分散のためのロング・ポーリング
US20060190539A1 (en) Provision of services over a common delivery platform such as a mobile telephony network
US8929209B2 (en) Quantum and promiscuous user agents
US11546405B2 (en) Methods for exposing mainframe data as a web service and devices thereof
Kocan et al. A novel software approach for service brokering in advanced service architectures
Chentouf et al. Mapping sip onto a feature interaction management language
US8924567B1 (en) SIP service wrap
KR20230141743A (ko) 합법적인 lim(lawful interception management) 통합을 인에이블하기 위한 시스템 및 방법
Femminella et al. Introduction of Media Gateway Control functions in Java Call Control

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140207

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140213

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140302

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140306

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140417

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141020

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141112

R150 Certificate of patent or registration of utility model

Ref document number: 5649840

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250