説明

プラガブルコンタクトレゾリューション

【課題】 プラガブルな拡張を実現する。
【課題を解決するための手段】 プリファードで、ユーザー指向型なアラートする関係を取り扱うためのユーザー集団のユニークなセットに、適用するための、方法、デバイス及びシステムを提供する。プラガブルな拡張は、ユーザーが、彼らから発せられた、または彼らの方に向けられたコールについてサーバで適用されるパーソナライズしたコンタクトレゾリューションアルゴリズムを持つことを、許容する。コンタクトレゾリューションアルゴリズムは、いずれのサーバにもプラガブルで、サーバ自身には内蔵する必要がない。更には、複数のユーザーが同一のプラガブルなコンタクトレゾリューションアルゴリズムを参照し、使用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には通信に関連し、より明確には、ポータブルでユーザー指向型(user−centric)のコンタクトレゾリューション(contact resolution)メカニズムに関連する。
【背景技術】
【0002】
セッションイニシエーションプロトコル(SIP)は、多数の種類のリアルタイムの通信セッションを確立するためのオープンシグナリングプロトコルである。SIPを使用して確立される通信セッションのタイプの例は、音声、画像、及び/または、インスタントメッセージングを含む。これらの通信セッションは、パーソナルコンピュータ、ラップトップコンピュータ、個人情報端末のような、いかなるタイプの通信デバイス上でも実行される。SIPの1つの重要な特徴は、全ての通信のために、単一の統合した公衆アドレスとして、エンドユーザーのアドレスオブレコード(AOR)を使用する能力である。このように、SIP機能強化通信の世界では、ユーザーのAORはそのユーザーに関連する全ての通信デバイスにユーザーをリンクする単一のアドレスとなる。このAORを使用して、発呼者は、各々の固有のデバイスアドレスや電話番号を知る必要はなく、ユーザーエージェント(UA)としても参照されて、ユーザーのいずれか1つの通信デバイスに到達することができる。
【0003】
SIPセッションの確立の間に遂行されるステップの1つは、与えられたユーザーに登録された、どのデバイスが、与えられたコールの際にアラート(alert)するかを決定する、コンタクトレゾリューションである。伝統的なシステムでは、ユーザーのためのコンタクトレゾリューションポリシー(どのデバイスをリングするか、どのようにリングするかなどに関してなされる決定)は、PBXの中に組み込まれており、設定済み(provisioned)の電話セットのためだけに機能した。このように、コンタクトレゾリューションポリシーに関するユーザーの選択は、PBXのリリースと電話デバイスに固有であった。SIPでは、このことは極めて望ましくない。なぜなら、隠されたIPネットワークが、ユーザーによって登録されたいくつものSIP通信デバイスのための、一般目的のアタッチメントメカニズムとなるからである。自分のデバイスのどれが登録されるか、接続されるか、稼働可能とされるか、また、これらのデバイスのそれぞれがどんな目的で使用されるか、を決定するのは、SIPユーザー自身である。SIPでは、コンタクトレゾリューションは、従来はロケーションサーバでなされていた。しかしながら、PBXのように、ロケーションサーバを、新たなコンタクトレゾリューションの動作を提供することができるように、再びデプロイ(deploy)することは、しばしば、望ましくないことである。それゆえ、ユーザーが、一般的に特別なPBXまたは通信フィーチャーサーバまたはネットワークのロケーションサーバの改変を必要とすることなしに、システム/ネットワークアドミニストレータによって彼らに代わって容易に提供される、コンタクトレゾリューションポリシーとアクセスを持つことが望ましい。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願12/241368号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明の実施の形態は、コンタクトレゾリューションポリシーまたはアルゴリズムを、ユーザー、特にSIPユーザーのために可能にするメカニズムを提供する。多くの企業が、SIPユーザーに、単純なq値(q−value)として、ロケーションサーバで、各々のデバイスまたはネットワークのための彼らのプリファレンス(preferance)を登録することを許している。SIPでは、ロケーションサーバの役割は、ユーザーのポリシーに従って、SIPリクエストを、各々の登録したコンタクトへ送信することを仲介することである。これは、従来、ユーザーポリシーを履行する静的なアルゴリズムの中のq値を評価することによってなされた。いくつかの共通に用いられるポリシーには、シーケンシャルフォーキング(各々のデバイスに順番コンタクトする)、パラレルフォーキング(全てのデバイスに同時にコンタクトし、最初に応答したデバイスをコンタクトの勝者と認める)、及びロードバランシング(load balancing)が含まれる。本発明の実施の形態は、ネットワークアドミニストレータが、ネットワークのユーザーに対して新たなアルゴリズムの選択を「ホットデプロイ(hot deploy)」することを許し、また、ユーザーが、企業のネットワークの中で使用しうる、どんなデプロイされたコンタクトレゾリューションポリシーまたはアルゴリズムをも選択し、任意にパーソナライズすることを許す。より明確には、本発明の実施の形態は、ユーザーが、プラガブル(pluggable)コンタクトレゾリューションアルゴリズム(シリアルフォーキング、パラレルフォーキング、スマートロードバランシング、発呼者識別に基づきリングを代えるなど)を見つけ出し、使用することを許すメカニズムを提供する。しばしばプラガブルコンタクトレゾリューションアルゴリズムは、アドミニストレータまたはアドミニストレータの許可を得た他のユーザーによってデプロイされる。しかし、本発明の実施の形態は、それに限定されず、アドミニストレータではないユーザーが、プラガブルコンタクトレゾリューションアルゴリズムを、個人の使用及び/または、他のユーザーの使用のために、開発し、デプロイすることも許容される。プラガブルコンタクトレゾリューションアルゴリズムをデプロイするように選ばれたどんなユーザーも、そのようなコンタクトレゾリューションアルゴリズムをリファインし、カスタマイズすることが、適用する際には許される。
【0006】
インバウンド(inbound)コンタクトを、ユーザーのために受信したときに、どのCRA(コンタクトレゾリューションアルゴリズム)を使用すべきか(すなわち、どの拡張モジュールが参照されるべきか)を示すテーブルエントリーと関連して、コンタクトレゾリューションアルゴリズムを含む拡張モジュールが使用される。
【0007】
拡張モジュールは、個々にデプロイし、またはデプロイしないようにできる、自給自足式(self−contained)のジャーファイル(jar file)である点で、SIPサーブレット(servlet)に似ている。SIPサーブレットは、SIP機能をサポートするためにその中に搭載されたインターフェースを強化する点で、他のタイプのサーブレットに似ている。別のタイプのサーブレットの例は、httpサーブレットであり、これは、ウェブサーバまたはアプリケーションサーバの中で動作し、典型的にはデータベースにアクセスする、またはe−コマース処理を実行するような、サーバ側の処理を提供する、Java(登録商標)アプリケーションである。それは、CGIスクリプト(CGI scripts)、アクティブサーバページ(Active Server Page、ASPs)及びC及びC++で書かれたプロプライアトリプラグイン(proprietryplug−ins)の、Javaベースの置き換えである。サーブレットはCGIコンセプトに類似するが、分離したプロセスを使う代わりに、メッセージはサーバ内部のバーチャルマシンの中で動作するクラスに伝達される。
【0008】
多数のサーブレットは、サーバとオペレーティングシステムの間で可搬性を許容するように、特定のプログラム言語(例えばJava)で書かれる。Javaは、サーブレットまたは拡張モジュールを創作するために使用されるプログラム言語の一例であるが、本発明の実施の形態はそれに限定されないことを、この技術分野の当業者は理解するであろう。より明確には、本発明の実施の形態は、拡張モジュールがサーバとオペレーティングシステムの間で可搬性を持つことを許容するような、いずれかのタイプのプログラム言語での、拡張モジュールの創作を意図している。本発明の実施の形態は、また、サーバ(例えば、企業サーバで、特にSIPサーバ)上のバーチャルマシンの内部で動作することができる拡張モジュールを意図している
【0009】
しかしながら、SIPサーブレットと違って、拡張モジュールは、ホットデプロイ可能である。拡張モジュールは、サービスの損失なく、稼働中のアップグレードが可能である。本発明の少なくともいくつかの実施の形態に応じて、拡張モジュールは、インカミング(incoming)コンタクトが受信されたときに、特定のユーザーが得るコンタクトレゾリューションの形式を改変するための、SIPダイアログアダプテーション(dialog adaptation)の中で使用される。より明確には、個々のダイアログアダプテーション論理は、各々のアダプターのために、サーブレットとしてよりも、拡張モジュールとして、履行されることができる。拡張モジュールのホットスワップ(hot swap)能力に加えて、拡張モジュールの使用は、より容易なマネジメント及び共通のダイアログアダプテーション論理がシェアされることを許容する。拡張モジュールと伝統的なSIPサーブレットの別の相違は、SIPサーブレットインタフェースのみを想定しているSIPサーブレットとは違って、拡張モジュールはサービスに供される多数のインタフェースを定義しうることである。
【0010】
更に、また、本発明の少なくともいくつかの実施の形態に応じて、拡張モジュールは、サーブレット、アプリケーションルータ、及び/または、他のSIPアプリケーションによってアクセスされ得るサービスに供されるために使用される。いくつかの実施の形態では、拡張モジュールは、デプロイの間に定義される(通常は、システムアドミニストレータによって定義される)ユニークな短いIDに結びつけられる。拡張モジュールは、そのサービスを供するインタフェースもまた、定義する。必要な場合には、拡張APIは、短いIDを用いて、拡張モジュールの検索を支援する。拡張モジュールは、デプロイ可能な自給自足式のジャーであるから、拡張モジュールのためのコンフィグレーション情報は、拡張モジュールを履行するクラスファイル(class file)と一緒に、ジャーファイルの中に含まれている。コンフィグレーション情報は、サーブレットと同じ方式で、デプロイ形XMLファイルの中に定義されている。
【0011】
オペレーションでは、各々の遠隔のパーティは、サービスホスト拡張モジュールとして履行されるインバウンド及びアウトバウンドのダイアログアダプテーションロジックと関連づけられる。(コンタクトレゾリューションのような)ダイアログアダプテーションを必要とするいずれかのサービスが、拡張モジュールの識別子(identifier)(すなわち、拡張モジュールにアサインされたユニークな短いID)を介して、アダプテーションモジュールを呼び出す(invoke)。
【0012】
コンタクトレゾリューションリクエストが受信されたときに、どのCRAが使用されるべきかを示すテーブルエントリーに加えて、この拡張モジュールが使用される。本発明の少なくともいくつかの実施の形態に応じて、テーブルは、ユーザーに関連する、設定済みの、または、ダイナミックなデータを含んでいる。テーブルの中に、ユーザーは、コンタクトが受信されたときはいつでも適用を望む、デプロイされたCRAとのパーソナルな関係を定義することができる。より明確には、特定のユーザーに関するテーブルは、特定のCRAに適用する、拡張モジュールの識別子を含むであろう。ユーザーオプションをセットするために、別のウェブインタフェースを通して、ユーザーによって、希望したように、コンフィギュア(configure)される、または、再びコンフィギュアされる、この拡張と関連づけられたユーザー指向のデータがある。より明確には、一旦、テーブル内に、ユーザーデータコンフィグレーション(configuration)または再コンフィグレーションが発生すると、アクティブなCRAの正当性チェックが、理解力のあるエンドポイントによる登録または再登録の間に、発生する。
【0013】
コンタクトレゾリューションの要求が受信されたときに、拡張モジュールが呼び出される。このように、コンタクトレゾリューションは、プラガブルで、SIPロケーションサーバ自身に組み込まれる必要がない。更に、複数のユーザーが同一の拡張モジュールを参照し、自身のパーソナライズしたユーザーセッティングで、同じまたは類似のCRAを適用することができる。
【課題を解決するための手段】
【0014】
上記の課題を解決するために、本発明の少なくともいくつかの実施の形態に応じて、一般的に、
−第1サーバで、第1ユーザーに宛てられたコンタクトレゾリューションリクエストを受信し、
−第1ユーザーのための、コンタクトレゾリューションプリファレンスを識別し、
−第1ユーザーのための、コンタクトレゾリューションプリファレンスが、コンタクトレゾリューションの一部として、拡張モジュールを使用することを決定し、
−第1サーバによって、そのリクエストに対する拡張モジュールに、ユーザープリファレンスオプションを適用する、拡張モジュールを呼び出す、
ことからなる、通信方法を提供する。
【図面の簡単な説明】
【0015】
【図1】本発明の少なくともいくつかの実施の形態による、コンタクトレゾリューションシステムを表すブロック図。
【図2】本発明の少なくともいくつかの実施の形態による、コンタクトレゾリューションシステムの要素を表すブロック図。
【図3】本発明の少なくともいくつかの実施の形態による、ユーザーが、コンタクトレゾリューションアルゴリズムを定義することを許可する方法を表すフロー図。
【図4】本発明の少なくともいくつかの実施の形態による、コンタクトレゾリューションの方法を表すフロー図。
【発明を実施するための形態】
【0016】
本発明は、典型的な通信システムと関連して、以下に例示される。例えばサーバまたは/及びデータベースを用いたシステムとともに用いられるのによく適合するが、本発明は、通信システムまたはシステム要素のコンフィギュレーションの、いかなる特定のタイプにも限定されない。この技術分野の当業者は理解するであろうが、開示された技術は、特にSIP環境において、ユーザーに、コンタクトレゾリューションアルゴリズムをパーソナライズさせることを必要とするいかなる通信アプリケーションにおいても使用することができる。
【0017】
本発明の典型的なシステムと手法は、分析ソフトウェア、モジュール、及び関連する分析ハードウェアに関連して記述される。しかしながら、本発明の不必要な不明瞭化を避けるため、この後の記述は、よく知られた構造、要素を省略し、また、ブロックダイアグラムフォームで示される装置は、よく知られたものであり、または、他の方法で要約されている。
【0018】
説明の目的で、本発明の完全な理解を提供するために、数多くの詳細が発表される。しかし、本発明は、ここに開示された特定の詳細を越えて、種々の方法で実施されうることを理解されるべきである。
【0019】
最初に図1を参照して、典型的な通信システム100を、本発明の少なくともいくつかの実施の形態に応じて、説明する。より明確には、通信システム100は、ユーザー登録サーバ112と1以上の通信デバイス108を相互接続するために設けられた通信ネットワーク104を含んでいる。
【0020】
通信ネットワーク104は、いかなるタイプの既知の通信手段またはそれらの集合であってもよく、エンドポイント間のメッセージの伝達のためのいかなるタイプのプロトコルも含んでもよい。通信ネットワーク104は、有線及び/または無線の通信技術を含む。インターネットは通信ネットワーク104の一例であり、それを構成する、世界中に置かれた多数のコンピュータやその他の通信デバイスからなるIPネットワークは多数の電話システムやその他の手段を介して接続されている。通信ネットワーク104の他の例は、標準の従来型単純電話システム(POTS)、サービス総合デジタル網(ISDN)、公衆交換電話網(PSTN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、セッションイニシエーションプロトコル(SIP)ネットワーク、いかなるタイプの企業ネットワーク、この技術分野で知られているいかなるその他のタイプのパケット交換またはサーキット交換ネットワークを含み、これに限定されない。更に、通信ネットワーク104は1つのネットワークタイプに限定されず、いくつかの異なるネットワーク及び/またはネットワークタイプから構成されてもよい。
【0021】
通信デバイス108は、パーソナルコンピュータ、ラップトップ、個人情報端末(PDA)、携帯電話、スマートフォン、電話、アナログフォン、DCPフォン、またはそれらの組み合わせのような、周知のどんなタイプの通信または処理デバイスであってもよい。1つの通信デバイス108は、単独のユーザーに制御され、または関連づけられていてもよいし、多数のユーザーの使用に供されてもよい。(すなわち、企業の通信デバイスが、企業のユーザーに、有効なユーザー名とパスワードの提示による使用を許可するような場合である。)
【0022】
通信デバイス108の各々は同一ユーザーと関連づけられてもよい。言い換えれば、通信デバイス108は単独のユーザーに属してもよく、また、異なるタイプの通信デバイスに対応してもよい。一例として、ユーザーが、それぞれが単一ユーザーの個人電話、業務電話、パソコン、Eメール検索デバイスに対応するような、4つの通信デバイス108を持ってもよい。代替として、通信デバイス108の各々が、異なるユーザーに所有され、操作され(すなわち関連づけられ)ていてもよい。
【0023】
一般的に、通信デバイス108は、他の通信デバイス108との、ビデオ、オーディオ、テキスト、及び/またはデータの通信をサポートするように適合されている。通信デバイス108によって他の通信デバイス108と通信するために使用される媒体のタイプは、通信デバイス108において利用できる通信アプリケーションに依存する。
【0024】
ユーザー登録サーバ112は、多数のユーザーが、1つ以上の通信デバイス108を操作するためのユーザープリファレンスを受け取り、記憶するようになっている。より明確には、ユーザーはユーザー登録サーバ112にログインし、そのユーザーが関与しているどんな通信セッションにも適用することができる、特定のプリファレンス(すなわちユーザープリファレンス)を定義することが許可される。これらのユーザープリファレンスはユーザーに対して全世界的に定義され得る。(すなわち、単一のセットのユーザープリファレンスが、どんなネットワークでも、そのユーザーに関連づけられたどんな通信デバイスにも一貫して適用されうる。)代替として、ユーザーは、異なるネットワークまたはユーザーケースのために、異なるユーザープリファレンスを定義することも許される。(すなわち、あるユーザーが異なる家庭用と業務用のプリファレンスを持ちうる)あるユーザーは、また、各々の通信デバイス108のために、異なるユーザープリファレンスを定義することも許される。一例として、ユーザーは第1セットのコンタクトレゾリューションプリファレンス(すなわち、第1CRA)をモバイル通信デバイス108に定義し、第2の異なるセットのコンタクトレゾリューションプリファレンス(すなわち第2CRA)を業務用通信デバイスに定義し、第3の異なるセットのコンタクトレゾリューションプリファレンス(すなわち第3CRA)を家庭用の通信デバイスに定義することができる。これらの異なるユーザープリファレンスは、ユーザー登録サーバ112上で、単一のセットのユーザープリファレンス116に結合されて記憶されうる。例えば、いくつかのデバイスのサブセットではパラレルフォーキング(forking)を使用して処理され、別のサブセットではシーケンシャルフォーキングを使用して処理されるというように、類似のCRAの階層構造に連鎖する、または階層構造を形成することは有効である。このような実施の形態では、CRAの間の連鎖を処理する高レベルのコーディネイターが存在し得る。また、デバイス毎のベースでは、デバイスに固有のコンタクトレゾリューションの振る舞いが変化するために、アルゴリズムは、一日の中の時間、週の中の曜日、デバイスの状態などの事象に敏感である。
【0025】
代替として、単一のコンタクトレゾリューションプリファレンス(すなわち、単一CRA)が、そのユーザーに関係づけられた全ての通信デバイス108の間で、コンタクトをレゾルブ(resolve)するために用いられる。言い換えれば、単一のCRAが、特定の通信デバイス108がアラートされるべきかどうか、いつアラートされるべきか、どのようにアラートされるべきかを決めるために用いられる。本発明の、少なくともいくつかの実施の形態に関連して用いられ得る、このようなCRAの例は、更に詳しく、米国特許出願番号12/241,368号(ブルンソン他)に記述されており、その全文は、参考としてここに組み込まれる。
【0026】
本発明の少なくともいくつかの実施の形態に応じて、ユーザーは通信デバイス108を経由してユーザー登録サーバ112で自らのユーザープリファレンス116を更新及び/または変更することが許される。言い換えれば、ユーザーは、通常はある種のウエブユーザーオプションインターフェースを介して、ユーザープリファレンス116を設定するために、ユーザー登録サーバ112に接続するであろう。本発明の少なくともいくつかの実施の形態に応じて、プラガブルCRAは、ユーザーがユーザープリファレンス116をセットするために、ウエブユーザーオプションインターフェースをサポートするようにする。これらのユーザーオプションは、企業データベースのようなローカルなデータ記憶装置に記憶され、及び/または、ユーザープリファレンス116としてユーザー登録サーバ112の中に記憶される。これらのプリファレンス116は、それから、コール処理のコンタクトレゾリューションフェーズの間に、ユーザープリファレンス116を呼び出す、1以上のネットワークデバイスに分配される。
【0027】
本発明の少なくともいくつかの実施の形態に応じて、ユーザープリファレンス116は、(1または複数の通信デバイス108のための)プリファードCRAを定義するパラメータを含む。ユーザーがユーザープリファレンス116を更新したときには、ユーザープリファレンスの変更が、そのようなプリファレンスが適用されるどんなデバイスにもネットワークを通じて分配される。典型的には、ネットワークには、ユーザーのCRA選択を知る必要のある、ごく少数の(例えば2または3の)デバイスが存在する。しかし、本発明の実施の形態は、そのようには制限されず、ユーザープリファレンス116の変更は、どんな数のネットワークデバイスにも分配されうる。これらのプリファレンスは、これから詳細が議論されるように、ユーザープロビジョンドテーブルに記憶される。
【0028】
本発明の実施の形態は、ネットワークが、その操作が有害に影響されることなく、稼働している間に、新たなCRAがネットワークにデプロイされるような状況を意図している。(すなわちアドミニストレータがホットプラガブルCRAを拡張モジュールの形でネットワークに追加することができる。)言い換えれば、ネットワークのアドミニストレータが新たなCRAを、1つのネットワークに、または、そのデバイスによって後に受信されたコンタクトに適用される1つのネットワークデバイスに、追加することを許容する。本発明の少なくともいくつかの実施の形態に応じて、そのようなCRAがネットワークに追加されたときに、ネットワークの1以上のユーザーがその更新を通告され得る。この通告に対応して、ユーザーは、新たに追加されたCRAを適用すべく、ユーザープリファレンス116を改変することを許される。(通告に対応して直接的に、または分離してユーザー登録サーバ112にアクセスして間接的に)再び、ユーザーは、いずれのタイプの、既知の、またはこれから開発されるウエブオプションインターフェースを介して、ユーザープリファレンス116にアクセスし、更新することが許される。このようなプロセスの詳細は、更に細かく、以下で検討される。
【0029】
ユーザーがユーザープリファレンス116を更新することを許可されることの、代替として、または追加として、ネットワークアドミニストレータもまた、ユーザープリファレンス116を更新することを許されことがある。従って、新たに加えられたCRAを呼び出すための、ユーザープリファレンス116の改変は、ユーザー及び/または、ネットワークアドミニストレータによって実行されうる。
【0030】
更に、ユーザープリファレンス116はパスワードまたは類似のタイプの真正証明(authentication credential)によって書き込み保証されうる。このように、一例として、ユーザー名として適切なパスワードの準備なしでは、ユーザーまたはアドミニストレータはユーザープリファレンスを改変しえない。ユーザープリファレンス116を更新する、ユーザー及び/または、アドミニストレータの能力を制限する他の代替案は予想され、ネットワークセキュリティの要求に応じて変化しうる。
【0031】
ここで、図2を参照し、本発明の少なくともいくつかの実施の形態に応じて、例としてSIP通信システム200を記述する。このシステム200は、コールルーティング(routing)メカニズム212を持つ、1以上のコーリングデバイス208(これはユーザー通信デバイス108と一致するかも、しないかもしれない)を接続する通信ネットワーク204を含んでいる。
【0032】
通信ネットワーク204は、通信ネットワーク104と同じであり得るし、または異なっていることもあり得る。例えば、両方のネットワーク104、204が企業ネットワークと通信しうる場合もあり、代替として、通信ネットワーク104がインターネットと通信するが、通信ネットワーク204は企業ネットワークまたはSIP可能なネットワークと通信するという場合もある。
【0033】
通信ネットワーク204のコンフィグレーションに関係なく、発呼者(caller)は着呼者(callee)へコーリングデバイスを介してコンタクトを開始することを許される。本発明の少なくともいくつかの実施の形態に応じて、受信者は複数のSIPデバイス232a−Nを有するSIPユーザーと通信しうる。この技術分野の当業者は理解するであろうが、1以上のSIPデバイス232a−Nは、図1に示すユーザー通信デバイス108の1つとも対応しうる。
【0034】
発呼者が着呼者に向けてコンタクトを開始したときに、コンタクトレゾリューション要求は、着呼者のコンタクトレゾリューションプリファレンスに基づいてコンタクトレゾリューションを実行するために用意されている、ロケーションサーバのようなコールルーティングメカニズム212に送られる。着呼者のプリファレンスは、ユーザープロビジョンドテーブル216で定義される。これは着呼者のユーザープリファレンス116と同じ場合もあり、または同じでない場合もある。従って、コールルーティングメカニズム212はユーザー登録サーバ112と同じ場合もあり、または同じでない場合もある。代替として、ユーザー登録サーバ112でのユーザープリファレンス116への更新は、コールルーティングメカニズム212へと送られて、そこでユーザープロビジョンドテーブル216に組み入れられる場合もある。本発明の少なくともいくつかの実施の形態に応じて、ユーザープロビジョンドテーブル216は、各々のユーザーのコンタクトレゾリューションプリファレンスにマップ(map)されたユーザーのAORのリストを含んでいる。これらのプリファレンスは、そのユーザーに宛てられたインカミングのコンタクトに適用される特別のCRAを識別するポインターを含んでいる。
【0035】
従って、コールルーティングメカニズム212は、ユーザープロビジョンドテーブル216に加えて、ダイナミックテーブル220、1以上の旧CRA224、1以上の拡張モジュール228(または新CRA)から構成される。旧CRA224は、コールルーティングメカニズム212の更新の前に(すなわち、コールルーティングメカニズム212上の拡張モジュール228のデプロイの前に)、コールルーティングメカニズム212に存在した、いかなるタイプも含むCRAから構成される。
【0036】
拡張モジュール228は、あるユーザーが、その拡張モジュールを指定し、呼び出すための、ユーザープロビジョンドテーブル216を更新するならば、どんなユーザーによっても適用できる、新CRAから構成される。より明確には、拡張モジュール228がデプロイされたときに、ユニークなIDが(拡張モジュールに)アサインされる。もし、あるユーザーが拡張モジュール228と関連したCRAを利用したいならば、拡張モジュールのユニークなIDを含むように、ユーザープロビジョンドテーブル216の中の自分の情報を更新する。それゆえ、コールルーティングメカニズム212において、ユーザーに宛てられたコンタクトのためのコンタクトレゾリューションリクエストが受信された場合は、コールルーティングメカニズム212は、ユーザープロビジョンドテーブル216を参照すること、及び、ユーザーが旧CRAよりも拡張モジュール228のCRAを呼び出すことを望むと決定することが可能であり、それから、受信したコンタクトレゾリューションリクエストを処理するため、拡張モジュール228を使用する。
【0037】
処理中に、拡張モジュール228のCRAは、どのSIPデバイス232が、それへとルートづけられたコンタクトを持つことが適切かを決定する必要がある。この決定はユーザーが特定のSIPデバイス232が、コールルーティングメカニズム212とともに登録してあるかどうかに基づく。言い換えれば、いくつかのコンタクトルーティングの決定は、SIPデバイス232がコールルーティングメカニズム212上にあり、コールルーティングメカニズム212とともに登録されているかどうかに基づく。SIPデバイス232の動作に関する、このダイナミックな登録情報は、ダイナミックテーブル220に記憶される。このように、処理の間に、拡張モジュール228のCRAは、コンタクトがどこにルートされるべきかを決定するためにダイナミックテーブル220を参照するようになっている。
【0038】
ダイナミックテーブル220内の情報は、SIPデバイス232がコールルーティングメカニズム212とともに登録されているかどうかに、(部分的にはそのような考慮に基づいてはいるが、)常に基づくわけではない。むしろ、ダイナミックテーブル220内の情報は、検出された特定のユーザーのプレゼンスアクティビティ(presence activity)、一日の中の時間、週の中の曜日、処理の負荷、及びいずれかのCRA(すなわち旧CRA224か新CRAか)によって考慮されるべきダイナミックなパラメータに基づいて改変しうる。本発明の少なくともいくつかの実施の形態に応じて、ダイナミックテーブル220内の情報は、SIPデバイス232の状態の変化に敏感である。(例えば、SIPデバイス232が現在SIPセッションに入っているかどうか、どんなタイプの通信媒体が現在SIPデバイスで使用されているかなど)これらの変化は、SIPデバイス232によって、周知のシグナリングまたはSIPメッセージを介して、コールルーティングメカニズム212へとレポートされる。一例として、SIPデバイス232は、NOTIFYまたはPUBLISHメッセージをコールルーティングメカニズム212へ送ることによって、コールルーティングメカニズム212におけるその状態情報を更新する。
【0039】
追加として、ダイナミックテーブル220は、別のユーザーまたは別のユーザーののデバイスのプレゼンスステート(presence state) のような他のパラメータにも敏感である。このように、特定のユーザーに対するCRAアルゴリズムは、他のユーザーのデバイスが、その特定のユーザーに対するINVITEリクエストのターゲットとして、CRAアルゴリズムに参加するデバイスのセットに含まれることを許す論理を含んでいる。言い換えれば、CRAアルゴリズムは、第1異なるユーザーに到達しようと試みるときに第2のユーザーのデバイスにアラートすることを決定する。一例として、第1ユーザーは、特定の日の特定の時間に、第2のユーザーのデバイスにアラートするようにCRAアルゴリズムを定義しうる。(例えば、私に到達するためには、金曜日の2時から3時の間、第2のユーザーの業務用フォンにアラートするよう試みよ。)第1ユーザーが第2のユーザーと特定の時間にミーティングすることを知っているならば、このことは、なされうる。更に、このような情報はカレンダアプリケーションや類似のものに記憶されているユーザーの電子スケジュールから自動的に検索されうる。
【0040】
図3を参照して、ユーザーのコンタクトレゾリューションプリファレンスを更新する例示の方法について、本発明の少なくともいくつかの実施の形態に合わせて説明する。その方法は、新たな拡張モジュール228が、コールルーティングメカニズム212のようなネットワークデバイスの上にデプロイされたときに開始する。(ステップ304)本発明の少なくともいくつかの実施の形態に応じて、拡張モジュール228はホットデプロイ可能である。すなわち、ネットワークデバイスが動作中で、かつ、ネットワークデバイスが他のネットワークデバイスと接続された状態で、拡張モジュール228のコードをネットワークデバイスに追加することができる。従って、ネットワークデバイス上に拡張モジュール228をデプロイするのに、デバイスの停止時間は必要ではない。このことは、巨大なネットワークの場合に、特に有効である。なぜなら、もし新CRAのデプロイがネットワーク停止時間を必要とするならば、全体のネットワークの動作が1つのネットワークデバイスの停止時間によって悪影響を与えられるか、または、全てのネットワークデバイスの更新に非常に長い時間を要することになり、それにより、ネットワーク停止時間が増大し、生産性のロスを増加することになる。本発明の実施の形態は、そのような否定的な影響を回避する。この技術分野の当業者は理解するであろうが、新CRAのデプロイは、通常は、ネットワークアドミニストレータによって実行されるが、アドミニストレータでないユーザにも実行しうる。
【0041】
その方法は、新たにデプロイされた拡張モジュール228を、1以上のユーザーに通告することにより、進められる。(ステップ308)この通告は、新たな拡張モジュール228がデプロイされたという事実によって自動的に発生する。代替として、新たな拡張モジュール228がデプロイされた後で、ネットワークアドミニストレータによって、この通告が開始されることもあり得る。更に、ユーザー通告の程度(すなわち、更新を通告されるユーザー数)は、ユーザーがこのような通告を受信することに同意していたかどうかなどの、ネットワークセキュリティの関心度により変化しうる。更に、その通告は電子的なフォーマット(例えば、Eメール、SMSメッセージ、インスタントメッセージ(IM)など)で来ることもあり、紙のフォーマットで来ることもある。
【0042】
新たな拡張モジュール228がデプロイされたとの通告を受けると、ユーザーは、新たにデプロイされた拡張モジュール228、特に、新たな拡張モジュール228のCRAの使用を含むように、プリファレンス116を更新する。(ステップ312)この更新は、通告に、直接に対応して開始されるか、または、分離してユーザーがウエブオプションインターフェースを介して、ユーザー登録サーバ112と通信して更新する。
【0043】
ユーザープリファレンス116の更新は、コールルーティングメカニズム212の中のユーザープロビジョンドテーブル216の更新もまた引き起こす。(ステップ316)より明確には、ユーザーがコンタクトレゾリューションプリファレンスを更新したときに、その特定のユーザーのためのユーザープロビジョンドテーブル216の記載事項(entry)もまた、新しいプリファレンスを反映して更新される。より更に明確には、ユーザープロビジョンドテーブルの記載事項は、新たに加えられた拡張モジュール228の識別子を含んでいる。この識別子はもしユーザープロビジョンドテーブルが通告に直接に応答した場合は、自動的にテーブル216に入力され、または、ユーザープリファレンス116をマニュアルで更新した場合は、ユーザーが、識別子を入力する必要がある。一旦、ユーザープロビジョンドテーブル216が更新されたら、後に受信する、そのユーザーに宛てられたコンタクトは、新たに追加された拡張モジュール228を呼び出す。
【0044】
この技術分野の当業者は理解するであろうが、ステップ312とステップ316は、単一のステップに結合しうる。もし、ユーザーがユーザープロビジョンドテーブル216を、中間のユーザー登録サーバ112を経由するよりも、直接に更新する場合には、特に、結合しうる。しかし、多数のコールルーティングメカニズム212を有する、より大きなネットワークでは、ユーザーの更新の単一の場所として、単一の登録サーバ112を持つことが望ましい。そのようなコンフィグレーションでは、単一の登録サーバ112は、(ユーザーの)プリファレンスに関して、ユーザーとのインターフェースとして機能し、その登録サーバ112は、ネットワーク中の他のコールルーティングメカニズム212に対して、ユーザープリファレンスへのどんな変更をも通告する。
【0045】
図4を参照し、本発明の少なくともいくつかの実施の形態に応じて、インカミングコンタクトレゾリューションリクエストを処理する方法の一例を説明する。その方法は、コンタクトレゾリューションリクエストが、コールルーティングメカニズム212で受信されることで開始する。(ステップ404) コンタクトレゾリューションリクエストは、着呼者の識別子を含んでいる。この情報は、コンタクトレゾリューションリクエストの、1以上のヘッダーの中に含まれている。特にコンタクトレゾリューションリクエストが、SIP INVITEメッセージと関連づけられている場合は、そのメッセージ及びそのコンタクトレゾリューションリクエストは、SIPヘッダーの中の、AORを介した着呼者の識別から構成される。しかしながら、理解できるように、インカミングコンタクトレゾリューションリクエストは、必ずしも、SIPメッセージの形式であることは必要ではない。むしろ、インカミングコンタクトレゾリューションリクエストは、ユーザーのAORによる特定のユーザーよりも、特定の通信デバイスを個別認識するような、アナログフォンまたは類似のものによって通話する、通常のインバウンドコールに相当する。コールルーティングメカニズム212は、代替的に、インバウンドコンタクトレゾリューションリクエストが、ユーザーの通信デバイスの1つがそのコンタクトによって識別され、その識別情報がコンタクトレゾリューションリクエストの中に含まれたという事実によって、特定のユーザーのためであることを決定することもある。
【0046】
着呼者を識別すると、その方法は、そのユーザーのためのコンタクトレゾリューションプリファレンスを識別するために、コールルーティングメカニズム212がユーザープロビジョンドテーブル216を参照することで、続行する。(ステップ408) より明確には、コールルーティングメカニズム212は、テーブル216の中のユーザーのAORを識別し、どのCRAがそのユーザーのために呼び出されるべきかを決定するようになっている。(ステップ412)そのCRAは、そのCRAと関連しているユニークなIDによって、識別される。本発明の少なくともいくつかの実施の形態に応じて、識別されたCRAは、拡張モジュール228を介してコールルーティングメカニズム212に新たに追加されたCRAに一致する。
【0047】
CRAの識別子(より明確には、拡張モジュール228のユニークなID)を獲得すると、コールルーティングメカニズム212は、識別されたCRAを呼び出し、コンタクトをそのCRAにパスする。(ステップ416) 一旦、CRAがコンタクトを受信したら、CRAは、どちらのSIPデバイス232が、それへとルートづけられたコンタクトを有するのが適切か、また、コンタクトのこのようなデバイスに、どのようにアラートするか、を決定するために、(必要なら)ダイナミックテーブル220を参照する。SIPデバイスの適格性は、呼び出されたCRAに定義されているルールに基づき、また、SIPデバイス232がコールルーティングメカニズム212とともに記録されているかどうかに基づく。CRAのルールは、1つのSIPデバイス232を最初にアラートし、もしユーザーがそのSIPデバイスでコンタクトに応答しないならば、別のSIPデバイス232にアラートする(シリアルフォーキング)よう、定義する。代替として、CRAのルールは、複数のSIPデバイスに同時にアラートし、アラートに最初に応答したデバイスがコンタクトに勝利する(パラレルフォーキング)よう、定義することもできる。他のタイプのCRAもまた、拡張モジュール228の中に含まれるが、本発明の実施の形態は、ここで議論したCRAの例に必ずしも限定されない。
【0048】
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、NVRAM、磁気ディスク又は光学ディスクである。揮発性媒体とは、DRAM、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、CD−ROM、パンチカード、ペーパーテープ等、更にRAM、PROM、EPROM、FLASH−EPROM、メモリカード、メモリチップ、或いはカートリッジ等がある。e−mail或いは他の自己保存型の情報アーカイブに付属したデジタルファイルは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
用語「モジュール」「エージェント」「ツール」とは、ハードウエア、ソフトウエア、ファームウエア、人工知能、ファジーロジック、それらの組み合わせを言う。
上記したイベント、事象の発生順は、本発明の動作/効果に影響を与えずに変更可能である。特に断りのない限り、実施例の順にはこだわらない。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ASIC、他の集積回路DSP、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばPLD、PLA、FPGA、PAL、特殊目的コンピュータ或いは他の手段で実現できる。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はVLSIデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、JAVA、CGIスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。 本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様(一実施例)と考えられる。
【0049】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「A又はB」は、「Aのみ」、「Bのみ」ならず、「AとBの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【0050】
104 通信ネットワーク
108 通信デバイス
112 ユーザー登録サーバ
116 ユーザープリファレンス
204 通信ネットワーク
212 コールルーティングメカニズム
216 ユーザープロビジョンドテーブル
220 ダイナミックテーブル
224 旧CRA
228 拡張モジュール
232 SIPデバイス
304 ネットワークが動作中に新しい拡張モジュールがネットワークに追加された
308 ユーザーに新しい拡張モジュールを通告する
312 ユーザーが新しい拡張モジュールの使用を含むようにプリファレンスを更新する316 プリファレンスのユーザープロビジョンドテーブルを新しい拡張モジュールに向ける
404 インカミングコンタクトを受信する
408 ユーザープロビジョンドテーブルをCRAプリファレンスと比較する
412 ユーザーの選択したCRAのために使用されるべき拡張モジュールを識別する
416 拡張モジュールを呼び出す

【特許請求の範囲】
【請求項1】
(A)第1サーバで、第1ユーザーのためのコンタクトレゾリューションリクエストを受信するステップと、
(B)前記第1ユーザーのためのコンタクトレゾリューションプレファランスを識別するステップと、
(C)前記第1ユーザーのための前記コンタクトレゾリューションプレファランスが、コンタクトレゾリューションの一部として、拡張モジュールを使用することを決定するステップと、
(D)前記第1サーバによって、前記リクエストに対する前記拡張モジュールに、前記ユーザープレファランスのオプションを適用する、前記拡張モジュールを呼び出すステップと
を有する
ことを特徴とする方法。
【請求項2】
(A)ユーザーコンタクトレゾリューションプレファランスを含むテーブルと、
(B)拡張モジュールと、
を有するサーバにおいて、
前記サーバが、第1ユーザーに宛てられたコンタクトと関連づけてコンタクトレゾリューションリクエストを受信し、前記第1ユーザーのコンタクトレゾリューションプレファランスについてのテーブルを参照し、その後、前記第1ユーザーのコンタクトレゾリューションプレファランスに基づいて、コンタクトレゾリューションリクエストに対して第1ユーザーのコンタクトレゾリューションプレファランスを適用するためにその拡張モジュールを呼び出す
からなる、サーバ。
【請求項3】
前記第1ユーザーのための前記コンタクトレゾリューションプレファランスが前記第1サーバに記憶されているユーザープロビジョンドテーブルの中で識別される
ことを特徴とする請求項1記載の方法。
【請求項4】
前記コンタクトレゾリューションテーブルが、ユーザーオプションインタフェースによって、コンフィグレーション及び再コンフィグレーションされる、ユーザー指向型であるデータから構成される
ことを特徴とする請求項3記載の方法。
【請求項5】
(E)第1SIPデバイスを前記第1サーバで登録するステップと、
前記第1SIPデバイスは、前記第1ユーザに関連づけられている
(F)第1SIPデバイスを前記第1サーバで登録したことを示すように、ダイナミックテーブルを更新するステップと、
(G)第2SIPデバイスを前記第1サーバで登録するステップと、
前記第2SIPデバイスは、前記第1ユーザに関連づけられている
(F)第2SIPデバイスを前記第1サーバで登録したことを示すように、ダイナミックテーブルを更新するステップと、
コンタクトレゾリューションの間、前記第1及び前記第2のSIPデバイスにアラートするかどうかを決定するためのコンタクトレゾリューションリクエストの処理の間に、前記拡張モジュールが、前記ダイナミックテーブルを参照する、
を更に有する
ことを特徴とする請求項3記載の方法。
【請求項6】
前記ユーザープロビジョンドテーブルが、前記第1ユーザーのためのアドレスオブレコードと前記第1ユーザーのコンタクトレゾリューションプレファランスとの間のマッピングを有する
ことを特徴とする請求項3記載の方法。
【請求項7】
前記拡張モジュールを呼び出すことが、前記拡張モジュールと関連づけて識別子を決定すること、及び前記拡張モジュールを前記決定された識別子と参照することからなる、
ことを特徴とする請求項1記載の方法。
【請求項8】
前記拡張モジュールは、前記第1サーバが動作中で通信ネットワークに接続されている状態で、前記第1サーバ上にデプロイされるような、ホットデプロイ可能なものであり、前記第1サーバは、デプロイの前には前記拡張モジュールを持たず、前記第1ユーザーは、前記拡張モジュールのデプロイを通告される
ことを特徴とする請求項1記載の方法。
【請求項9】
前記拡張モジュールは、以下の項目の1以上を決定する
(i) 前記第1ユーザーのSIPデバイスを鳴らすかどうか。
(ii) 前記第1ユーザーのSIPデバイスをいつ鳴らすか。
(iii)前記第1ユーザーのSIPデバイスをどのように鳴らすか。
(iv) 第2のユーザーのSIPデバイスを鳴らすかどうか。
(v) 前記第2のユーザーのSIPデバイスをいつ鳴らすか。
(vi) 前記第2のユーザーのSIPデバイスをどのように鳴らすか。
ことを特徴とする請求項1記載の方法。
【請求項10】
請求項1の方法を実施するように動作可能な、プロセッサーが実行可能なインストラクションをエンコードされた、コンピュータで読み取り可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−4386(P2011−4386A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【外国語出願】
【出願番号】特願2010−74120(P2010−74120)
【出願日】平成22年3月29日(2010.3.29)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(508214019)アバイア インク. (75)
【Fターム(参考)】