(57)【要約】【課題】通信サービスを確立するための改善されたプラットホーム。【解決手段】マルチレイヤー・スタック・プラットホームが、クラウド・コミュニケーションのために提供される。システムは、３つ以上の層を含み、相互接続コンポーネントがアプリケーション・コンポーネントとピアリング・コンポーネントの間での通信に対して用意される。コンポーネントは、選ばれたアプリケーションの機能にしたがって、通信サービスを提供するために動作し、ディレクトリ・コンポーネントにより維持・処理される。アプリケーション・コンポーネントは、通信セッション要求を受信し、セッションを実行するためアプリケーション・スクリプトにアクセスする。ピアリング・コンポーネントは、規則と選好に基づいて、デバイス間の接続を確立する。【選択図】図１
2012090250.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のネットワークを通して互いに接続しているデバイス間の通信接続を提供するためのシステムであって、
（ｉ）データ・ソースにユーザ情報とルーティング情報を含む情報を格納することであって、特定のユーザに関連した情報は、ディレクトリ・エントリを含む、ことと、
（ｉｉ）前記ユーザに関連したユーザ情報とルーティング情報に基づいて、発信元ユーザと宛先ユーザとの間の通信セッションのためにルーティング・ポリシーを決定することであって、ルーティング・ポリシーを決定することは、宛先デバイスを選ぶことを含み、該ルーティング・ポリシーは、発信元デバイス、前記選ばれた宛先デバイス、及び、該発信元デバイと該選ばれた宛先デバイスとの間のルートに関連した情報を含む、ことと、
を実行するように構成されるディレクトリ・コンポーネントと、
（ｉ）宛て先による通信セッションのために、発信元デバイスから通信セッション要求を受信することと、
（ｉｉ）アプリケーション・スクリプトにアクセスすること及び、通信セッションのためにアプリケーション・スクリプトを選ぶことによって、前記要求された通信セッションに関連した情報を含む通信メッセージをつくることと、
を実行するように構成されるアプリケーション・コンポーネントと、
（ｉ）前記通信メッセージと前記決定されたルーティング・ポリシーを受信することと、
（ｉｉ）前記発信元デバイスと前記宛先デバイスを接続することによって、通信セッションを実行することであって、前記接続は、前記ルーティング・ポリシーと前記選ばれたアプリケーション・スクリプトに固守する、ことと、
を実行するように構成されるピアリング・コンポーネントと、
を備えるシステム。
【請求項２】
前記ユーザに関連した前記ユーザ情報と前記ルーティング情報が、前記デバイス間の１つ以上のルートを規定し、前記１つ以上のルートがランク付けされる、請求項１に記載のシステム。
【請求項３】
前記接続のために利用されるルートは、
（ｉ）利用可能な最高ランクのルート、あるいは、
（ｉｉ）前記デバイス間の接続を最初に完了するルートを含む、
請求項２に記載のシステム。
【請求項４】
前記１つ以上のルートのランキングは、伝送コスト、送信時間、及び、品質の１つ以上に基づいて決定される、請求項２に記載のシステム。
【請求項５】
前記通信メッセージと前記ルーティング・ポリシーの１つ以上を受信し、前記受信情報を前記ピアリング・コンポーネントへ転送するように構成される相互接続コンポーネントを更に備える請求項１に記載のシステム。
【請求項６】
相互接続コンポーネントは、ピアリング・コンポーネントに統合され、ディレクトリ・コンポーネントに、または遠隔コンポーネントに統合される、請求項５に記載のシステム。
【請求項７】
前記ルーティング情報は、
（ｉ）宛先デバイスに対して確立された品質水準、
（ｉｉ）宛先デバイスに対して確立された費用制約、
（ｉｉｉ）宛先デバイスに対して確立された時間制約、
（ｉｖ）ダイレクトコール接続のための宛先デバイスの登録、又は、
（ｉｖ）それらの組合せ、
に基づいたルーティング・オプションを含む、
請求項１に記載のシステム。
【請求項８】
前記ユーザ情報は、
（ｉ）望ましくないトラフィック・タイプの識別、
（ｉｉ）日時設定、
（ｉｉｉ）宛先デバイスの可用性、又は、
（ｉｖ）それらの組合せ、を含む、
請求項１に記載のシステム。
【請求項９】
前記ピアリング・コンポーネントは、前記発信元デバイスの信号プロトコルが前記宛先デバイスの信号プロトコルと異なる場合には、前記宛先デバイスと互換性を持つ信号プロトコルに、デバイス間の通信を変換するようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
前記ピアリング・コンポーネントは、マルチプル・ネットワークに接続し、前記デバイスを接続するためにキャリヤを交換するように構成される、請求項１に記載のシステム。
【請求項１１】
前記ピアリング・コンポーネントは、前記宛先デバイスに、あるいは、宛先デバイスへの通信をルーティングするために、宛先デバイスのサービス提供業者に直接接続するように、構成される、請求項１に記載のシステム。
【請求項１２】
１つ以上のネットワークを通して、互いに接続しているデバイス間の通信接続を提供する方法であって、
データ・ソースのユーザ情報とルーティング情報を含む情報を維持するステップであって、特定のユーザに関連した情報は、ディレクトリ・エントリを含む、ステップと、
発信元デバイスと宛て先との間の通信セッションを実行する要求を受信するステップであって、前記要求は、アプリケーション・コンポーネントにおいて、発信元デバイスを通してアプリケーションにアクセスしている発信元ユーザによって受信される、ステップと、
アプリケーション・コンポーネントによって、アプリケーション・スクリプトにアクセスして、通信セッションのためにアプリケーション・スクリプトを選ぶことで、前記要求された通信セッションに関連した情報を含む通信メッセージをつくるステップと、
前記ユーザに関連したユーザ情報と、ルーティング情報に基づいて、発信元ユーザと宛先ユーザの間の通信セッションのためにルーティング・ポリシーを決定するステップであって、ルーティング・ポリシーを決定することは、宛先デバイスを選ぶことを含み、そのルーティング・ポリシーは、発信元デバイス、前記選ばれた宛先デバイス、および、その間ルートに関連した情報を含む、ステップと、
アプリケーション・プログラミング・インタフェースを介して、ピアリング・コンポーネントに通信メッセージとルーティング・ポリシーを送信するステップと、
発信元デバイスと宛先デバイスを接続するピアリング・コンポーネントによって通信セッションを実行するステップであって、前記接続は、ルーティング・ポリシーと選ばれたアプリケーション・スクリプトを固守する、ステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、一般にクラウド・コミュニケーション接続に関するものである。より詳しくは、この開示は、種々のデバイスやネットワークの間のクラウド・コミュニケーション接続をインプリメントするマルチレイヤー・スタック・プラットホームに関するものである。
【背景技術】
【０００２】
通信キャリヤまたはサービス提供業者は、顧客に、例えば音声、ビデオ、データ通信などの通信アクセスを提供する。顧客は、顧客によって所有・運営される１つ以上の通信デバイスに対して、通信ネットワーク・アクセスを得るためにサービスを通信キャリヤまたは通信サービス提供業者から購入する。通信デバイスは、音声、ビデオ、および／またはデータを送受信することができるデバイスであればどのようなものでも含むことができる。それは、電話、スマートフォン、携帯電話、パーソナル携帯情報機器（ＰＤＡ）、コンピュータ、ＦＡＸマシン、インターネット接続可能デバイス、メディア・プレーヤー、セットトップ・ボックス、電子メール・デバイス、テレビ電話、その他を含むが、これらに限られるものではない。
【０００３】
デバイス間のクラウド・コミュニケーション接続を確立するプロセスの間に、典型的には、複数のネットワーク・コンポーネントが、利用される。そのようなネットワーク・コンポーネントは、通信ネットワークと装置の種々の形態を含むことができる。それは、スイッチ、ルーター、ハブ、リピータ、ブリッジ、サーバ、その他を含むが、これらに限られるものではない。これらのネットワーク・コンポーネントは、異種の要素であって、コンポーネント間の通信とメッセージ送信が合理化されておらず、能率が悪いものである。
【０００４】
したがって、例えば、デバイス間の通信セッションなど、通信サービスを確立するための改善されたプラットホームが必要であり、要望されている。
【発明の概要】
【０００５】
実施形態にしたがって、ディレクトリ・コンポーネント、アプリケーション・コンポーネント、および、ピアリング・コンポーネントを含む１つ以上のネットワークを通して互いに接続されるデバイス間のクラウド・コミュニケーション接続を提供するためのシステムディレクトリ・コンポーネントは、データ・ソースにおいて、ユーザ情報とルーティング情報を含む情報を格納する。ディレクトリ・コンポーネントは、ユーザとルーティング情報に基づく発信元ユーザと宛先ユーザの間の通信セッションのためにさらにルーティング・ポリシーを決定する。ルーティング・ポリシーの決定は、宛先デバイスを選ぶことを含み、ルーティング・ポリシーは発信元デバイス、選ばれた宛先デバイス、および、その間のルートに関連した情報を含む。アプリケーション・コンポーネントは宛て先との通信セッションのために発信元デバイスからの通信セッション要求を受信するように構成される。アプリケーション・コンポーネントは、アプリケーション・スクリプトにアクセスして、アプリケーション・スクリプトを選ぶことによって、要求された通信セッションに関連した情報を含む通信メッセージをつくるようにさらに構成される。ピアリング・コンポーネントは、行われるべき通信セッションのために提供するデバイスの間の接続を確立する役割を果たす。ピアリング・コンポーネントは、通信メッセージとルーティング・ポリシーを受信し、発信元デバイスと宛先デバイスを接続することによって通信セッションを実行するように構成される。その接続は、ルーティング・ポリシーと選ばれたアプリケーション・スクリプトを固守する。
【０００６】
デバイス間の通信接続を提供する方法は、ユーザ情報とルーティング情報をディレクトリ・コンポーネントに維持することを含む。この方法は、発信元デバイスと宛て先との間の通信セッションを実行する要求を受信することを更に含み、その要求は、アプリケーション・コンポーネントで発信元デバイスを通してアプリケーションにアクセスしているユーザによって、受信される。そのアプリケーション・コンポーネントは、実行されるべき要求された通信セッションを識別し、アプリケーション・スクリプトにアクセスすることによって、要求された通信セッションに関する情報を有する通信メッセージをつくる。ディレクトリ・コンポーネントは、宛先デバイスを選ぶことを含む、ユーザとルーティング情報に基づいて、通信セッションのためにルーティング・ポリシーを決定する。その通信メッセージは、ルーティング・ポリシーと同様に、ピアリング・コンポーネントに送られる。ピアリング・コンポーネントは、発信元デバイスと宛先デバイスを接続し、ルーティング・ポリシーと選ばれたアプリケーション・スクリプトに固守することによって、通信セッションを実行する。
【図面の簡単な説明】
【０００７】
前述の概要と後述の詳しい説明は、添付の図面とともに読まれるときに、よりよく理解される。典型的な実施形態が、図面に示される。しかしながら、実施形態は、ここに表される特定の方法と手段に限られていないことが理解される。
【図１】実施形態にしたがって、通信接続を提供するためのシステムのブロック図を図示する。
【図２】実施形態にしたがって、ディレクトリ・コンポーネントのブロック図を図示する。
【図３】実施形態にしたがって、アプリケーション・コンポーネントのブロック図を図示する。
【図４】実施形態にしたがって、ピアリング・コンポーネントのブロック図を図示する。
【図５】別の実施形態にしたがって、クラウド・コミュニケーション接続を提供するためのシステムのブロック図を示す。
【図６】実施形態にしたがって、クラウド・コミュニケーション接続を提供する方法のフローチャートを図示する。
【図７ａ】種々の実施形態にしたがって、クラウド・コミュニケーション接続を提供するシステムの実施例を図示する。
【図７ｂ】種々の実施形態にしたがって、クラウド・コミュニケーション接続を提供するシステムの実施例を図示する。
【発明を実施するための形態】
【０００８】
図１に関して、ブロック図は、実施形態にしたがって、１つ以上のネットワークを通してお互いに接続されるデバイスの間のクラウド・コミュニケーション接続とサービスを提供する典型的なシステムを図示する。システムは、１つ以上の層を含むことができ、図１の中で、ディレクトリ層（またはディレクトリ・コンポーネント１１０）、アプリケーション層（またはアプリケーション・コンポーネント１２０）、及び、ピアリング層（またはピアリング・コンポーネント１３０）の３つの層を含む実施形態が図示される。後で更に詳しく記述されるその３つのコンポーネント１１０、１２０及び１３０は、例えば、後で更に詳しく記述されるようにアプリケーション・プログラミング・インタフェース（ＡＰＩ）とセッション開始プロトコル（ＳＩＰ）メッセージ送信を通して、互いに通信することができる。３つのコンポーネントは、一緒に、デバイスユーザ、そして、ルーティング・ルールと選好に固守することによる選ばれたアプリケーションの機能にしたがって、例えば、通信セッションなどのクラウド通信サービスを提供するように動作する。
【０００９】
ディレクトリ・コンポーネント１１０は、一般に、終端点（すなわちデバイス）、ネットワーク、及び、ルーティング・ポリシーに関する情報を管理して、維持することに責任がある。ディレクトリ・コンポーネント１１０は、ルーティング情報と同様に、ユーザ情報を含むディレクトリ（またはレジストリ）エントリを格納して、維持し、また、通信セッションのためにルーティング・ポリシーを決定するために、ユーザ情報とルーティング情報との両方を利用するポリシー・ベースのルーティング・エンジンである。
【００１０】
ディレクトリ・エントリは、対応するデバイスと関連し、装置識別子、ユーザ選好、及び、ルーティング属性の１つ以上を含むことができる。代替的に、ディレクトリ・エントリは、複数のデバイスを持つ特定のユーザと関連し、特定のユーザのためのディレクトリ・エントリは、例えば、対応するユーザのデバイスごとの装置識別子とユーザ選好など、複数のデバイスの情報を含むことができる。
【００１１】
ルーティング情報は、例えば、
デバイスに対して確立された品質水準、
デバイスに対して確立された費用制約条件、
デバイスに対して確立された時間制約、及び、
ダイレクトコール接続のためのデバイスの登録、
に基づく１つ以上のルーティング・オプションを含むことができる。ユーザ情報は、例えば、好ましくないトラフィック・タイプの識別、日時設定、および／またはデバイスの可用性などのユーザ選好を含むことができる。
【００１２】
ユーザ情報を含むディレクトリ・エントリは、ユーザや種々のプロバイダーによって提供することができる。例えば、ユーザは、ブラウザまたは他の適当なインタフェースを通してディレクトリ・エントリをつくることができる。ユーザは、特定の時刻において特定のデバイスとどのように通信するかなどの特定の通信セッションのために、彼らの選好に関して情報を入力するか、又は、提供することができる。ユーザ情報の種々の部分は、特定のデバイスがサービス提供業者で登録されるときに、ディレクトリ・コンポーネント１１０によって自動的に得ることができる。例えば、サービス提供業者は、対応するディレクトリ・エントリの編入のためにユーザのデバイスの装置識別子を自動的に提供することができる。
【００１３】
図２を参照する。ディレクトリ・コンポーネント１１０が、実施形態にしたがって、図示される。ディレクトリ・コンポーネント１１０は、種々のユーザ記録または仕様（すなわちユーザ・ディレクトリ・エントリ）に関してデバイスとネットワーク・コンポーネントと通信するために第１のアプリケーション・プログラム・インタフェース（ＡＰＩ）２１０を含む。ディレクトリ・コンポーネント１１０は、ユーザ選好に関する情報、ユーザ・グループ、種々のサービスへのユーザ登録、その他が格納される種々のデータを含むデータ部分２２０を含む。データ部分２２０は、また、ルーティング情報を含んでいる種々のデータ・ソースを含む。
【００１４】
例えば、図２で示すように、ディレクトリ・コンポーネント１１０のデータ部分２２０は、例えば、ルーティング、ピアリング管理、トラフィックの挙動とモニタリング、サービス品質などのルーティング情報を含むルーティング・データ・ソースを含む。データ・ソースの例は、以下を含む。ＰＳＴＮを通して通信するデバイスに対して最適経路指定選好を示す「ＬＥＲＧ／ＰＳＴＮ（ローカル交換ルーティング・ガイド／公衆電話交換回線網）」データ・ソース、デバイスのために価格設定上の問題を示す「価格設定」データ・ソース、デバイスの間で種々のルートを利用するために、コストに関連した情報を含む「ルート・コスト」データ・ソース、Ｅ．１６４番号の現在のポートされた状態を規定する情報を参照する「ＬＮＰ（市内番号ポータビリティ）」データ・ソース、デバイス間でベストマッチの特徴に基づいて、通信ルーティングが生起することを指示する「特徴」データ・ソース、特定のユーザ装置がダイレクトコール接続または同様のサービスに対して登録されるかどうかを示す「直接的ピア」データ・ソース、特定の種類の通信に対するパーティのグループまたはフェデレーションを規定する「フェデレーション／ユーザ・グループ」データ・ソース、好ましくない通信のタイプと数に関する情報を含む「ルート・ウェイ／ブロッキング」データ・ソース、および、通信の望ましい品質レベルを特定することを可能にする「ルート品質」データ・ソースなどである。
【００１５】
図２を更に参照する。ディレクトリ・コンポーネント１１０のデータ部分２２０は、例えば、選好、プレゼンス、および、能力などのユーザ情報を含むユーザ・データ・ソースを含む。そのユーザ・データ・ソースの例は、以下を含む。例えば、時刻、曜日、通話スクリーニングのようなユーザ基準を示す「ユーザの選好」データ・ソース、通話、または、通信セッションが、利用可能は端点に基づいて起こるか否かの選好を規定する「プレゼンス」データ・ソース、および、例えば音声、テキスト・メッセージ、そして、ビデオ能力など、種々の特定のデバイス能力を規定することができる「能力」データ・ソースなどである。
【００１６】
データ部分２２０に含まれるデータ・ソースは、もっと少なくても、もっと多くても良い。さらに、特定のデバイスのディレクトリ・エントリは、各々のカテゴリーの記録を示す必要はない。そのうえ、データ部分２２０の情報は、特定のユーザのための複数のユーザ装置に対する情報を含むことができる。
【００１７】
種々のデータ・ソース２２０に含まれるルーティング情報とユーザ情報は、このようにデバイスの間で１つ以上のルートを規定することができ、特定の通信セッションのルーティング・ポリシーとなることができる。１つ以上のルートをランクを付けすることができ、そのランキングは、例えば、伝送コスト、送信時間、および／または品質などの１つ以上の種々の基準に基づくことができる。実施形態にしたがって、デバイス間の通信セッションのために利用されるルートは、利用できる最高ランクのルートであることができる。付加的な実施形態にしたがって、利用されたルートは、デバイスの間で最初に接続を完了するルートであり得る。したがって、この実施形態にしたがって、接続が確保されるまで、いくつかのルートの上の接続を試みることができ、その後、他の試みられた接続は取り下げられる。
【００１８】
ディレクトリ・コンポーネント１１０は、このような機能を、複数の宛先デバイスから宛先デバイスの選択を含むルーティング・ポリシーを確立するために提供する。ディレクトリ・コンポーネント１１０は、関連したルーティングとユーザ情報を得て、ルーティング・ポリシーを決定するプロセッサであるポリシー・エンジン２３０を含む。
【００１９】
例として、発信元デバイスのユーザは、特定のエンドユーザとの通信を望むかもしれない。通信のタイプ（すなわち、音声、テキスト、ビデオ）や宛先デバイスは発信元ユーザの関心事ではない。ポリシー・エンジン２３０は、最も適当な宛先デバイス、および発信元デバイスのユーザと一緒の通信のためのルートを決定するために、データ・ソース２２０に含まれるルーティング情報とユーザ情報を利用する。宛先デバイスの決定は、望ましい通信が、例えばデバイスとルートなど、種々の詳細が、発信元ユーザに不明のままである宛先ユーザに対して確立されるように、準備をする。
【００２０】
ディレクトリ・コンポーネント１１０は、また、例えば、ピアリング・コンポーネント１３０など、ポリシー・エンジン２３０によって確立されるルーティング・ポリシーで内外のネットワークとコンポーネントに提供するために、種々のＡＰＩ２４０を含む。ＡＰＩは、ＳＩＰ・ＡＰＩ２４０ａ、ＥＮＵＭ（例えば電話番号マッピング）ＡＰＩ２４０ｂ、および、ルーティングＡＰＩ２４０ｃなどを含むことができる、
【００２１】
次に、図３を参照する。アプリケーション・コンポーネント１２０が図示される。アプリケーション・コンポーネント１２０は、通常、種々のアプリケーション要求を認識して、開始することに責任がある。アプリケーションがユーザ装置を介してユーザによってアクセスされるときに、対応する通信セッションを実行し、アプリケーション・コンポーネント１２０は、通信セッション要求を受信して、それを識別する。アプリケーション・コンポーネント１２０は、要求された通信セッションに関する情報を含む通信メッセージをつくるようにさらに構成される。
【００２２】
図３を参照する。アプリケーション・コンポーネント１２０は、種々のデバイスやネットワーク・コンポーネントと通信するために、ＡＰＩ３１０を含む。アプリケーション・コンポーネント１２０は、また、複数のアプリケーション・スクリプト３２０を含む。代替的に、または、追加的に、遠隔スクリプト・サーバ（図示せず）は、アプリケーション・コンポーネント１２０によるアクセスのために１つ以上のアプリケーション・スクリプトを含むことができる。アプリケーション・スクリプトは、実行されると、例えば、スクリプトに含まれる情報にしたがって，２つ以上のデバイスの間で通信セッションを確立することなど特有の動作を引き起こす指示のセットである。アプリケーション・コンポーネント１２０は、１つ以上のアプリケーション・スクリプト３２０にアクセスすることによって、また、通信セッションのためにアプリケーション・スクリプトを選ぶことによって、要求された通信セッションに関係する通信メッセージをつくる。
【００２３】
対応するアプリケーション・スクリプト３２０によって定義されるように、アプリケーションの例は、端点間での音声接続を提供する通話ボタンのクリック、端点の間でメッセージ送信能力を提供するショート・メッセージ・サービス（ＳＭＳ）のメッセージ送信、送信メッセージの大量の送達を提供するブラストＳＭＳ、媒体を１つ以上の端点に届けるブラスト音声、電話会議ブリッジングのためのスケジューリング・オートダイヤルのためのオート会議、終端点へマッピングする市内番号のためのダイヤルされた番号の翻訳、番号を賃借するのを可能とする貸し番号、ＡＰＩ生成通話の使用とパフォーマンス・レポーティングのためのレポーティング、通話の進展を種々のアプリケーションに報告することを可能とするリアルタイム通話イベント、記録を届けるレコーディング、ユーザが音声通話に適用されるＩＶＲを規定するのを可能とするスクリプトされた対話型音声応答（ＩＶＲ）、会話を筆記して届けるためのトランスクリプト、媒体が変換されて、通話セッションに含まれるのを可能とする媒体管理、そして、ビデオ・セッションを確立して伝導するのを可能にするビデオ・メッセージ送信、を含む。しかし、それらに限られるものではない。
【００２４】
図４を参照する。ピアリング・コンポーネント１３０が、実施形態にしたがって、図示される。ピアリング・コンポーネント１３０は、通常、ネットワーク間で物理コネクションと能力を管理することに責任がある。それによって、デバイスまたは端点の間で実際の接続を提供する。ピアリング・コンポーネント１３０は、ルーティングとユーザ情報に基づくポリシー・エンジン２３０で決定されたルーティング・ポリシーを固守することによって、デバイスの間で接続を実行する。ピアリング・コンポーネント１３０は、ルーティング・ポリシーと同様に、要求された通信セッションを識別する通信メッセージを受けるように構成される。そして、ルーティング・ポリシーとアプリケーション・スクリプトに固守して、発信と宛先デバイスを接続することによって、通信セッションを実行する。
【００２５】
ピアリング・コンポーネントは、２つ以上のデバイスを接続するために、通信セッションを送るルーティング・ネットワーク４１０を含む。通信セッションを送る際に、ピアリング・コンポーネント１３０は、先に述べたように、ディレクトリ・コンポーネント１１０に関するユーザとルーティング情報を利用する。すなわち、例えば、ピアリング・コンポーネント１３０は、好ましいか最適ルートと定義されるルート上に通信セッションを接続することができる。あるいは、通話タイプが好ましくないと規定されるならば、通話を取り下げることができる。あるいは、特定の時刻に補助装置にセッションを送ることができる（すなわち、ルーティング・ポリシーに固守する）。
【００２６】
ピアリング・コンポーネント１３０は、例えば、エンタープライズ、フェデレーション・パートナー、アプリケーション・サービス・プロバイダー／インターネット・サービス提供業者（ＡＳＰ／ＩＳＰ）、そして、ピアリング・パートナーなどさまざまなキャリヤまたはプロバイダー４２０を利用することができる。ネットワークと交換キャリヤ４３０と同様に、例えば、競合電話局（ＣＬＥＣ）、ローカル電話局（ＬＥＣ）、そして、ＰＳＴＮなども含む。したがって、実施形態にしたがって、ピアリング・コンポーネント１３０は、マルチプル・ネットワークに接続するように構成され、通信セッションを確立して、デバイスを接続するためにキャリヤを交換する。そのうえ、ピアリング・コンポーネント１３０は、種々の宛先デバイスに、あるいは、宛先デバイスへの通信をルーティングするために、宛先デバイスのサービス提供業者に直接接続することができる。
【００２７】
追加的に、ピアリング・コンポーネント１３０は、種々の技術と通話タイプをサポートする。例えば、音声、ビデオ、インスタントメッセージング、および、ＳＭＳメッセージ送信などである。しかし、それらに限定されるものではない。ピアリング・コンポーネント１３０は、信号プロトコル変換を実行することができる。端点またはデバイスは、アプリケーションやデバイスの操作の助けになる異なる信号プロトコルを使用することができる。通話または通信セッションが２つのデバイスの間に送信されている場合には、その通話を、宛先デバイスと互換性を持つフォーマットへコード変換またはコンバートする必要はない。したがって、ピアリング・コンポーネント１３０は、各々の端点の信号プロトコルを決定することができ、そして、その信号プロトコルが発信元端点のそれと異なる場合には、宛先端点の信号プロトコルと互換性を持つフォーマットに、通話を変換することができる。信号プロトコルの例は、ＩＰ、時分割マルチプレキシング（ＴＤＭ）、および、ＳＳ７を含むことができる。しかし、それらに制限されるものではない。
【００２８】
付加実施形態にしたがって、図５に示されるブロック図で図示されるように、クラウド・デバイス間の通信接続を提供するためのシステムは、付加層、または、相互接続コンポーネント５１０を含む。相互接続コンポーネント５１０は、アプリケーション・コンポーネント１２０とピアリング・コンポーネント１３０の間での中継点の働きをすることができる。例えば、アプリケーション・コンポーネント１２０は、ピアリング・コンポーネント１３０への次の送信のために、相互接続コンポーネント５１０に要求された通信セッションに基づいて，生成された通信メッセージを送信することができる。追加的に、アプリケーション・コンポーネント１２０がディレクトリ・コンポーネント１１０からルーティング・ポリシーを得る場合には、この情報は、また、ピアリング・コンポーネント１３０への次の送信のために、相互接続コンポーネント５１０に提供することができる。相互接続コンポーネント５１０は、そのような通信と送信を取り扱うために、ＡＰＩを含む。相互接続コンポーネント５１０は、別々の、遠隔コンポーネントとして図５に示されるが、例えば、ピアリング・コンポーネント１３０またはディレクトリ・コンポーネント１１０など、１つ以上の他のコンポーネントに、付加的実施形態にしたがって、統合することができる。
【００２９】
コンポーネント１１０、１２０、１３０、および５１０の各々は、種々の実施形態にしたがって、プロセッサとして具体化される演算処理装置、コプロセッサ、コントローラ、または集積回路を含む種々の他の処理手段またはデバイスを含むことができる。コンポーネント１１０、１２０、１３０、および５１０は、他のデバイスとコンポーネントで通信のために通信インタフェース要素を含むことができる。通信インタフェース要素は、ハードウェア、ソフトウェア、または、コンポーネント１１０の間でデータを送受信するように構成される組合せ１２０、１３０、および５１０、そして、複数のネットワークにおける他のデバイスとコンポーネントに具体化されるデバイスまたは手段であり得る。各々のコンポーネント１１０、１２０、１３０、および、５１０は、また、対応するコンポーネント１１０、１２０、１３０および５１０に種々の機能を実行することを可能にする情報、指示などを格納するために、揮発性または不揮発性メモリーを含む１つ以上の記憶素子も含むことができる。代替的に、または、追加的に、コンポーネント１１０、１２０、１３０および５１０は、サーバまたはその種の他のものの上に格納された遠隔記憶素子と通信することができる。
【００３０】
図６を参照する。実施形態にしたがって、クラウド・コミュニケーション接続を提供する方法のフローチャートが図示される。
【００３１】
６１０において、データ・ソースの情報は、ディレクトリ・コンポーネント１１０によって維持される。その情報は、ユーザ情報とルーティング情報を含み、特定のユーザに関連した情報は、ディレクトリ・エントリを含む。
【００３２】
６２０において、通信セッションの要求は、アプリケーション・コンポーネント１２０によって受信される。アプリケーションがユーザ装置によって発信元ユーザによってアクセスされるとき、対応する通信セッションを実行するために、通信セッション要求は、ユーザのデバイスによって生成される。
【００３３】
６３０において、アプリケーション・コンポーネント１２０は、要求された通信セッションに関連した情報を含む通信メッセージをつくる。その通信メッセージは、アプリケーション・コンポーネント１２０に、または、遠隔サーバに格納された１つ以上の関連したアプリケーション・スクリプト３２０にアクセスすることによって、また、通信セッションのためにアプリケーション・スクリプトを選ぶことによって、つくられる。アプリケーション・スクリプト３２０は、例えば、テキスト・メッセージまたは電話会議など、要求された通信セッションの機能を規定する。
【００３４】
６４０において、そのユーザに関連したユーザ情報と、ルーティング情報に基づいて、発信元ユーザと宛先ユーザの間の通信セッションのためのルーティング・ポリシーが、決定される。その決定は、宛先デバイスを選ぶことを含む。そのルーティング・ポリシーは、発信元デバイス、選ばれた宛先デバイス、および、その間ルートに関連した情報を含む。
【００３５】
６５０において、通信メッセージ、および、ルーティング・ポリシーは、例えば、ＡＰＩ２４０などのアプリケーション・プログラミング・インタフェースを介して、ピアリング・コンポーネント１３０に送信される。アプリケーション・コンポーネント１２０は、直接ピアリング・コンポーネント１３０に提供できる。あるいは、相互接続コンポーネント５１０を通して提供できる関連ルーティング・ポリシーを得ることができる。同様に、アプリケーション・コンポーネント１２０は、通信メッセージを、ピアリング・コンポーネント１３０への送信のために、相互接続コンポーネント５１０に提供することができる。あるいは、通信メッセージをピアリング・コンポーネント１３０に直接提供することができる。ピアリング・コンポーネント１３０は、通信セッションのためにルーティング・ポリシーを得るために、例えば、ＳＩＰメッセージを通してディレクトリ・コンポーネント１１０についてクエリすることができる。
【００３６】
６６０において、ピアリング・コンポーネント１３０は、発信と宛先デバイスを接続することによって、また、決定されたルーティング・ポリシーと選ばれたアプリケーション・スクリプトを固守することによって、要求された通信セッションを実行する。
【００３７】
図７ａと７ｂは、システムの機能の例を提供する、例えば、種々の実施形態にしたがって、図５に図示されるシステムである。相互接続コンポーネント５１０は、図５に関して上で記述されるように、実現例で利用されるものであるが、相互接続コンポーネント５１０は、要求されず、利用されないかもしれない。
【００３８】
図７ａを参照する。端点７１０と７２０が、典型的なシステムにおいて図示される。端点７１０と７２０は、標準的な電話、携帯電話または他の無線装置、コンピュータ、ＰＤＡ、インターネットプロトコル（ＶｏＩＰ）電話の上の音声、ソフト・フォン、テレビ電話、その他いろいろな通信デバイスの１つ以上であることができる。しかし、それらに限定されるものではない。このように、１つの端点７１０または７２０は、種々のデバイスを含むことができる、各々は、特定のユーザと結びついている。
【００３９】
クライアント・アプリケーション７１５は、端点７１０と７２０に存在し、端点７１０と７２０とのユーザが他の端点との通信セッションを開始し、参加することを可能とする。クライアント・アプリケーション７１５は、そのユーザが通信セッションを要求して参加するのを可能とするユーザ端点７１０、７２０において、ユーザ・インタフェースをユーザに提供することができる。例えば、ユーザ・インタフェースは、電話番号にダイヤルするために、仮想ダイヤル・パッドを含むことができる。例えば、ユーザ・インタフェースは、ブラウザ・ウインドウまたは他のアプリケーション・ウィンドウであることができる。
【００４０】
動作中において、クライアント・アプリケーション７１５は、例えば、ユーザ・インタフェースなどの、ユーザによって要求される通信セッションを開始し参加するためのＡＰＩまたはフレームワークを使うことができる（ステップ１）。通信要求は、アプリケーション・コンポーネント１２０によって受信される。アプリケーション・コンポーネント１２０は、実行すべき要求された通信セッションを識別するために、通信要求を解析する。
【００４１】
アプリケーション・コンポーネント１２０は、端点７１０と７２０のための要求された通信セッションと関連したルーティング・ポリシーを得るために、ディレクトリ・コンポーネント１１０に要求を送信する。また、要求されたルーティング・ポリシーは、ディレクトリ・コンポーネント１１０により決定され、ディレクトリ・コンポーネント１１０からアプリケーション・コンポーネント１２０に提供される（ステップ２）。
【００４２】
アプリケーション・コンポーネント１２０は、１つ以上のスクリプト３２０にアクセスし、要求された通信セッションを実行するために、スクリプト３２０を選ぶ。スクリプトの選択は、ルーティング・ポリシーに基づくことができる。例えば、ルーティング・ポリシーが、ビデオ通信セッションがデバイスの間で起こることを示す場合には、ビデオ・スクリプトが選ばれることができる。
【００４３】
１つ以上のスクリプト３２０とルーティング・ポリシーを含む通話情報が、相互接続コンポーネント５１０に送信される（ステップ３）。相互接続コンポーネント５１０は、通話情報の受信に際して、ＳＩＰを介して、ピアリング・コンポーネント１３０に、通話情報を送信する（ステップ４）。
【００４４】
ピアリング・コンポーネント１３０が、ルーティング情報（すなわちルーティング・ポリシー）の要求を、端点７１０と７２０の間で利用するために、ディレクトリ・コンポーネント１１０に送信する（ステップ５）。この情報により、ピアリング・コンポーネント１３０は、上記記載のように、例えばインターネットなどのネットワークの上に端点７１０と７２０の間の通話接続を、端点７１０と７２０にコンタクトし、通話をブリッジし、必要ないかなるプロトコル変換でもインプリメントし、そして、端点７１０と７２０の間での交換を管理することによって、確立して、管理する。
【００４５】
図７ｂを参照する。例えば、図５のシステムのような、システムのインプリメンテーションの第２の例が図示される。このプロセスは、例えば、端点７１０のユーザによって要求されるように、要求された通信セッションを開始し参加するためのＡＰＩまたはフレームワークを利用しているクライアント・アプリケーション７１５で始められる（ステップ１）。
【００４６】
アプリケーション・コンポーネント１２０は、要求された通信セッションを実行するために、スクリプト・サーバ３１０から１つ以上のスクリプトにアクセスする。１つ以上のスクリプトを含む通話情報が、相互接続コンポーネント５１０に送信される（ステップ２）。相互接続コンポーネント５１０は、通話情報の受信に際して、ＳＩＰを介して、ピアリング・コンポーネント１３０に、通話情報を送信する（ステップ３）。
【００４７】
ピアリング・コンポーネント１３０は、ルーティング・ポリシーの要求をディレクトリ・コンポーネント１１０に送信する（ステップ４）。この情報により、ピアリング・コンポーネント１３０は、ネットワークの上に端点７１０と７２０の間の通話接続を確立して、管理する。
【００４８】
２つの例から分かるように、図７ａと７ｂで提供される実現例は、ピアリング・コンポーネント１３０は、ルーティング・ポリシーを入手し、それを相互接続コンポーネント５１０（図７ａに示されるインプリメンテーション）への通話情報メッセージに含む特別なアプリケーション・コンポーネント１２０のステップではなく、むしろ、ディレクトリ・コンポーネント１１０（図７ｂに示されるインプリメンテーション）から、ルーティング・ポリシーを直接得ることができる。
【００４９】
前述の例は、説明の目的のみで単に提供されるものであり、決して制限するものとして解釈すべきものではない。種々の実施形態への参照が示されるが、ここに使用される言葉は、記載と説明の言葉であって、制限を加えるようなものではない。さらに、特定の手段、材料、実施形態への言及が示されるが、ここに開示される詳細に対する制限はない。むしろ、実施形態は、添付の特許請求の範囲内にあるすべての機能的に等価な構造、方法、用途に及ぶ。
【図１】
2012090250.tif 000003
【図２】
2012090250.tif 000004
【図３】
2012090250.tif 000005
【図４】
2012090250.tif 000006
【図５】
2012090250.tif 000007
【図６】
2012090250.tif 000008
【図７ａ】
2012090250.tif 000009
【図７ｂ】
2012090250.tif 000010
【外国語明細書】
2012090250000001.pdf