(57)【要約】      （修正有）【課題】サーバの特徴的機能のすべてではなく一部をクライアント端点に再割振りすることによって集中サーバのスケーラビリティの改善を可能にする。【解決手段】システム内の各論理ユーザは、端点エンティティの彼自身のプライベート・ドメインによって表され、そのプライベート・ドメインから、端点が、集中サーバに対してユーザを表すスーパー・ピアとして働くために選択される。さらに、指定された端点が、やはりデバイスのプライベート・ドメインから、そうでなければサーバが処理するはずの遠隔通信フィーチャの一部を処理するために選択される。プライベート・ドメイン内の各端点は、スーパー・ピアを介する間接アクセスに加えて、これと対照的に、通常はフィーチャの登録およびサブスクライブのための、サーバへの制限された直接アクセスを有することを許容される。【選択図】図２
2008104173.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムで、ユーザ・ドメインのメンバである第１クライアント端点から第１メッセージを受信する処理であって、前記第１クライアント端点は、前記第１メッセージを介して第１遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
（ｉ）前記ユーザ・ドメインのメンバである指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第１遠隔通信フィーチャを処理するかを判定する処理と、
前記第１遠隔通信フィーチャが前記指定されたクライアント端点によって処理されるときに、前記ユーザ・ドメイン内の少なくとも１つのメンバ・クライアント端点に第２メッセージを送信することであって、前記第２メッセージは、前記第１メッセージを受信した後に送信される、送信する処理と
を含み、前記ユーザ・ドメイン内の前記クライアント端点のすべてが、第１ユーザに関連する方法。
【請求項２】
前記第１クライアント端点は、前記少なくとも１つのメンバ・クライアント端点のうちの１つである、請求項１に記載の方法。
【請求項３】
前記指定されたクライアント端点は、前記少なくとも１つのメンバ・クライアント端点のうちの１つであり、前記第２メッセージは、前記ユーザ・ドメイン内の前記指定されたクライアント端点以外の端点が前記第１遠隔通信フィーチャをサブスクライブしようとしていることを示す、請求項１に記載の方法。
【請求項４】
前記指定されたクライアント端点に前記第１遠隔通信フィーチャを処理するように指示する、前記指定されたクライアント端点へのセッションを開始する処理をさらに含む、請求項３に記載の方法。
【請求項５】
前記第２メッセージは、特に前記第１クライアント端点が前記第１遠隔通信フィーチャをサブスクライブしようとしていることを示す、請求項３に記載の方法。
【請求項６】
前記第１遠隔通信フィーチャは、デバイス・プレゼンスの監視に関係付けられる、請求項３に記載の方法。
【請求項７】
前記データ処理システムで、やはり前記ユーザ・ドメインのメンバである第２クライアント端点から第３メッセージを受信する処理であって、前記第２クライアント端点は、前記第３メッセージを介して第２遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
（ｉ）前記ユーザ・ドメインのメンバである前記指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第２遠隔通信フィーチャを処理するかを判定する処理と、
前記第２遠隔通信フィーチャが前記データ処理システムによって処理されるときに、前記第１クライアント端点が前記第１遠隔通信フィーチャをサブスクライブ済みであることを示す第４メッセージを前記第１クライアント端点に送信する処理と
をさらに含む、請求項１に記載の方法。
【請求項８】
前記第１遠隔通信フィーチャがどこで処理されるかの前記判定は、前記第１クライアント端点の第１機能に基づく、請求項１に記載の方法。
【請求項９】
データ処理システムで、第１属性によって定義されるプライベート・ドメインのメンバである第１クライアント端点から第１メッセージを受信する処理であって、前記第１クライアント端点は、前記第１メッセージを介して第１遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
前記第１属性に関係付けられる少なくとも１つのルールに基づいて、（ｉ）前記プライベート・ドメインのメンバである指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第１遠隔通信フィーチャを処理するかを判定する処理と、
前記第１遠隔通信フィーチャが前記指定されたクライアント端点によって処理されるときに、前記プライベート・ドメイン内の少なくとも１つのメンバ・クライアント端点に第２メッセージを送信する処理であって、前記第２メッセージは、前記第１メッセージを受信した後に送信される、送信する処理と
を含む方法。
【請求項１０】
前記第１属性は、複数のクライアント端点のお互いへの物理的近接である、請求項９に記載の方法。
【請求項１１】
前記少なくとも１つのルールは、通信チャネル内の帯域幅割振りに関係付けられるルールを含む、請求項１０に記載の方法。
【請求項１２】
前記少なくとも１つのルールは、前記第１クライアント端点の位置に関係付けられるルールを含む、請求項１０に記載の方法。
【請求項１３】
前記第１クライアント端点は、前記少なくとも１つのメンバ・クライアント端点のうちの１つである、請求項９に記載の方法。
【請求項１４】
前記指定されたクライアント端点は、前記少なくとも１つのメンバ・クライアント端点のうちの１つであり、前記第２メッセージは、前記プライベート・ドメイン内の前記指定されたクライアント端点以外の端点が前記第１遠隔通信フィーチャをサブスクライブしようとしていることを示す、請求項９に記載の方法。
【請求項１５】
前記指定されたクライアント端点に前記第１遠隔通信フィーチャを処理するように指示する、前記指定されたクライアント端点へのセッションを開始する処理をさらに含む、請求項１４に記載の方法。
【請求項１６】
前記第２メッセージは、特に前記第１クライアント端点が前記第１遠隔通信フィーチャをサブスクライブしようとしていることを示す、請求項１４に記載の方法。
【請求項１７】
前記データ処理システムで、やはり前記プライベート・ドメインのメンバである第２クライアント端点から第３メッセージを受信する処理であって、前記第２クライアント端点は、前記第３メッセージを介して第２遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
前記第１属性に関係付けられる少なくとも１つのルールに基づいて、（ｉ）前記プライベート・ドメインのメンバである前記指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第２遠隔通信フィーチャを処理するかを判定する処理と、
前記第２遠隔通信フィーチャが前記データ処理システムによって処理されるときに、前記第１クライアント端点が前記第１遠隔通信フィーチャをサブスクライブ済みであることを示す第４メッセージを前記第１クライアント端点に送信する処理と
をさらに含む、請求項９に記載の方法。
【請求項１８】
前記第１遠隔通信フィーチャがどこで処理されるかの前記判定は、前記第１クライアント端点の第１機能に基づく、請求項９に記載の方法。
【請求項１９】
データ処理システムで、プライベート・ドメインのメンバである第１クライアント端点から第１メッセージを受信する処理であって、前記第１クライアント端点は、前記第１メッセージを介して第１遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
（ｉ）前記プライベート・ドメインのメンバである指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第１遠隔通信フィーチャを処理するかを判定する処理と、
前記第１遠隔通信フィーチャが前記指定されたクライアント端点によって処理されるときに、前記第１遠隔通信フィーチャを処理するように前記指定されたクライアント端点に指示する、前記指定されたクライアント端点への呼を開始する処理と
を含む方法。
【請求項２０】
前記第１遠隔通信フィーチャが前記指定されたクライアント端点によって処理されるときに、前記プライベート・ドメイン内の少なくとも１つのメンバ・クライアント端点に第２メッセージを送信する処理をさらに含み、前記第２メッセージは、前記第１メッセージを受信した後に送信される、請求項１９に記載の方法。
【請求項２１】
前記プライベート・ドメイン内の前記クライアント端点のすべてが、第１ユーザに関連する、請求項２０に記載の方法。
【請求項２２】
前記第１クライアント端点は、前記少なくとも１つのメンバ・クライアント端点のうちの１つである、請求項２０に記載の方法。
【請求項２３】
前記データ処理システムで、やはり前記プライベート・ドメインのメンバである第２クライアント端点から第３メッセージを受信する処理であって、前記第２クライアント端点は、前記第３メッセージを介して第２遠隔通信フィーチャをサブスクライブすることを試みる、受信する処理と、
前記第１属性に関係付けられる少なくとも１つのルールに基づいて、（ｉ）前記プライベート・ドメインのメンバである前記指定されたクライアント端点および（ｉｉ）前記データ処理システムのうちのいずれが前記第２遠隔通信フィーチャを処理するかを判定する処理と、
前記第２遠隔通信フィーチャが前記データ処理システムによって処理されるときに、前記第１クライアント端点が前記第１遠隔通信フィーチャをサブスクライブ済みであることを示す第４メッセージを前記第１クライアント端点に送信する処理と
をさらに含む、請求項２０に記載の方法。
【請求項２４】
前記第１遠隔通信フィーチャがどこで処理されるかの前記判定も、前記プライベート・ドメインの属性に関係付けられる少なくとも１つのルールに基づく、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的には遠隔通信に関し、より具体的には、遠隔通信フィーチャがどこで処理されるかを判定する処理およびその結果について１つまたは複数のクライアント端点に通知する処理に関する。
【背景技術】
【０００２】
図１に、従来技術の遠隔通信システム１００を示す。システム１００は、遠隔通信ネットワーク１０１、クライアント端点１０２−１から１０２−Ｈ（Ｈは正の整数である）、およびサーバ１０３−１から１０３−Ｌ（Ｌは正の整数である）を含む。システム１００の要素は、図示のように相互接続される。システム１００は、端点１０２−１から１０２−Ｈとサーバ１０３−１から１０３−Ｌとの間のネットワーク１０１を介する呼を可能にする。ネットワーク１０１は、インターネット、公衆交換電話網（ＰＳＴＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）などのうちの１つまたは複数を含む。
【０００３】
クライアント端点１０２−１から１０２−Ｈは、インターネット・プロトコル電話機、ノートブック・コンピュータ、携帯情報端末（ＰＤＡ）、タブレット・コンピュータなどの遠隔通信デバイスである。各端点は、周知の形で発呼を発し、着呼を受信することができる。さらに、各端点は、音声、ビデオ、データ、電子メール、およびインスタント・メッセージングを含むがこれらに限定されない１つまたは複数の通信モードが可能である。
【０００４】
サーバ１０３−１から１０３−Ｌは、端点がサブスクライブできる遠隔通信フィーチャを処理するデータ処理システムである。サーバは、音声起呼、ビデオ・ストリーミング、データ検索、電子メール、インスタント・メッセージング、アベイラビリティおよびプレゼンス監視などのフィーチャを処理することができる。
【０００５】
遠隔通信システム１００は、セッション・イニシエーション・プロトコル（ＳＩＰ）すなわち、テレフォニ、プレゼンス・ベースのシステム、インスタント・メッセージング、および他の遠隔通信アプリケーションに関する通信を開始し、維持するための標準化された通信ルールの組に従って動作する。ＳＩＰベースのシステムの使用の増加は、遠隔通信における根本的なシフトを表し、このシフトにおいては、ユーザを、１つまたは複数のデバイスを所有できる論理エンティティとしてアドレッシングすることができ、各デバイスは、ユーザの使用パターンに基づいてサービスに出入りする。
【０００６】
新しい遠隔通信フィーチャがＳＩＰインフラストラクチャに作り込まれる際に、遠隔通信システム１００全体および、特にサーバ１０３−１から１０３−Ｌの性能に影響する問題が生じる。そのような問題の１つが、ネットワーク・トラフィックの増加である。たとえば、クライアント端点の監視に関連するフィーチャが、呼処理をも処理する集中サーバで導入されるときに、そのサーバが処理しなければならないＳＩＰ関連イベントの個数も増え、その結果、そのサーバの呼を処理する容量が、激しく劣化する。
【０００７】
従来技術のいくつかの技法では、集中サーバ・アーキテクチャで生じるスケーラビリティ問題が、クライアント端点ユーザを複数のサーバにまたがって区分することによって部分的に軽減される。しかし、それを行うことは、しばしば、呼処理関連リソース利用度を分散させるという効果を有するが、必ずしもＳＩＰイベント関連利用度を分散させない。その結果、集中サーバ・アーキテクチャに関する長期的な少なくとも３つの問題がある。第１に、ユーザが、メディアを通信できるかプレゼンスを報告できるＳＩＰ対応端点をますます多く獲得するにつれて、単なる区分を介するスケーラビリティの可能性がより少なくなる。これは、呼処理関連リソース利用度が、総利用度のうちのますます小さい分数になるからである。第２に、端点タイプのバラエティが増加し、エンド・ユーザによる使い易さの要求が高まるにつれて、集中サーバの複雑さが指数関数的に高まる。第３に、サーバの複雑さが高まるにつれて、新しいフィーチャの開発に必要な労力も増える。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
必要なものは、従来技術の短所の一部を伴わずにサーバ・スケーラビリティ問題を軽減する形である。
【課題を解決するための手段】
【０００９】
本発明は、サーバの特徴的機能のすべてではなく一部をクライアント端点に再割振りすることによって、集中サーバのスケーラビリティの改善を可能にする。本発明の例示的実施形態によれば、ハイブリッド・ピア・ツー・ピア・システムの場合と同様に、システム内の各論理ユーザは、端点エンティティのプライベート・ドメインによって表され、このプライベート・ドメインから、端点が、集中サーバに対してユーザを表すスーパー・ピアとして働くために選択される。これらの端点エンティティは、物理デバイス、共有されるソフトウェア・システムとアプリケーションとサービスとにおけるユーザの機能の論理インスタンス、またはこの２つの組み合わせとすることができる。さらに、指定された端点が、そうでなければサーバが処理したはずの遠隔通信フィーチャの一部を処理するために、やはり端点のプライベート・ドメインから選択される。スーパー・ピア端点および指定された端点は、同一の端点または異なる端点とすることができる。有利なことに、プライベート・ドメイン内の各端点は、スーパー・ピアを介する間接アクセスに加えて、これと対照的に、通常はフィーチャの登録およびサブスクライブのための、サーバへの制限された直接アクセスを有することを許容される。サブスクライブ・プロセス中に、サーバは、サブスクライブする端点を、フィーチャを処理している指定された端点にリダイレクトする。
【００１０】
例示的実施形態の集中サーバは、本明細書で説明するように、クライアント端点の一部への１つまたは複数の遠隔通信フィーチャの再割振りを可能にする。サーバは、１つまたは複数の特定の遠隔通信フィーチャをサブスクライブすることを試みているクライアント端点からサブスクライブ・メッセージを受信する。次に、サーバは、サブスクライブされるフィーチャが、そのサーバ自体またはサブスクライブする端点のプライベート・ドメインに属する指定されたクライアント端点のどちらによって処理されるかを判定する。この判定は、次を含むがこれらに限定はされない１つまたは複数の考慮事項に基づく。
ｉ．      フィーチャ自体と、
ｉｉ．    何がプライベート・ドメインを定義するかに基づくルールなど、ある問題に関して構成される１つまたは複数のルールと、
ｉｉｉ．  端点のお互いへの物理的近接など、プライベート・ドメインを定義する属性と、
ｉｖ．    サブスクライブを試みている端点のアイデンティティと、
ｖ．      端点の１つまたは複数の機能など、端点の他の属性と、
ｖｉ．    サーバの現在のリソース利用度など、サーバ自体の属性。
サーバが、サブスクライブされる遠隔通信フィーチャがプライベート・ドメイン内の指定されたクライアント端点によって処理されると判定する場合に、サーバは、プライベート・ドメイン内のクライアント端点のうちの少なくとも１つ（たとえば、サブスクライブする端点、指定されたクライアント端点、スーパー・ピア端点など）にメッセージを送信し、このメッセージは、サブスクライブする端点を指定された端点にリダイレクトする。いくつかの実施形態で、サーバは、まず、指定された端点に、その端点が、サブスクライブされるフィーチャを処理するために指定されたことを示すメッセージを送信する（たとえば、呼初期化の一部としてなど）。
【００１１】
本発明の例示的実施形態は、関連するメッセージングの量をオーダー（ｎ＊ｋ＊ｍ）からおおむねオーダー（ｎ）に減らす（ｎは、システム内のユーザ数、ｋは、ユーザあたりの端点の個数、ｍは、端点あたりのメッセージの個数である）ことに関して、サーバ・スケーラビリティ問題の軽減を可能にするという点で、従来技術のいくつかの技法より有利である。さらに、各端点は、集中サーバに直接にアクセスすることを制限付きで許容されるので、ユーザとユーザの端点とサーバとの間の先在する関係が、それでも維持される。これは、たとえば、従来技術の純ピア・ツー・ピア・システムより特に有利である。というのは、サーバでいくつかのフィーチャ、特に、一部の端点が提供できる場合があるレベルより高いレベルの信頼性を必要とするフィーチャを保持することが、しばしば重要であるからである。
【００１２】
本発明の例示的実施形態は、データ処理システムで、ユーザ・ドメインのメンバである第１クライアント端点から第１メッセージを受信することであって、第１クライアント端点は、第１メッセージを介して第１遠隔通信フィーチャをサブスクライブすることを試みる、受信することと、（ｉ）ユーザ・ドメインのメンバである指定されたクライアント端点および（ｉｉ）データ処理システムのうちのいずれが第１遠隔通信フィーチャを処理するかを判定することと、第１遠隔通信フィーチャが指定されたクライアント端点によって処理されるときに、ユーザ・ドメイン内の少なくとも１つのメンバ・クライアント端点に第２メッセージを送信することであって、第２メッセージは、第１メッセージを受信した後に送信される、送信することとを含み、ユーザ・ドメインは、第１ユーザに関連するクライアント端点を含む。
【発明を実施するための最良の形態】
【００１３】
次の用語が、添付の特許請求の範囲を含む本明細書での使用について定義される。
・用語「呼」およびその語形変化形は、複数の遠隔通信端点の間でのユーザ情報の通信と定義される。呼の例が、音声電話呼（対話型音声応答［ＩＶＲ］セッションを含む）、電子メール送信、テキスト・ベースのインスタント・メッセージ［ＩＭ］セッション、ビデオ会議などである。セッション・イニシエーション・プロトコル（または「ＳＩＰ」）コンテキストでは、呼は、セッションの１タイプである。
・用語「プライベート・ドメイン」およびその語形変化形は、同一ユーザに関連すること、互いに物理的に近接していることなど、少なくとも１つの特定の属性を共有するネットワーク化された遠隔通信端点（物理デバイスまたは論理インスタンスのいずれかあるいはその両方）のグループと定義される。
・用語「ユーザ・ドメイン」およびその語形変化形は、位置にかかわりなく、ドメイン内の端点のすべてが同一ユーザに関連し、ユーザが現在登録されている端点のすべてを含むプライベート・ドメインと定義される。たとえば、特定のユーザ・ドメイン内の各端点のコンタクト・アドレス（ｃｏｎｔａｃｔ  ａｄｄｒｅｓｓ）は、当技術分野で既知のように、特定のユーザのパブリック・アドレスに写像される。
・用語「メンバ端点」およびその語形変化形は、ユーザ・ドメインまたは端点近接に基づくドメインなどのプライベート・ドメインに属する（すなわち、そのメンバである）遠隔通信端点と定義される。
・用語「指定された端点」およびその語形変化形は、プライベート・ドメイン内の１つまたは複数の端点のためにそのドメイン内で遠隔通信フィーチャを処理するように指定された（すなわち、それを提供する責任を有する）遠隔通信端点と定義される。１つのプライベート・ドメイン内に複数の指定された端点が存在することができる。
【００１４】
図２に、遠隔通信システム２００すなわち当技術分野で既知のハイブリッド・ピア・ツー・ピア・システムを示すが、遠隔通信システム２００は、遠隔通信ネットワーク２０１、クライアント端点２０２−１から２０２−Ｍ（Ｍは正の整数である）、およびサーバ２０３−１から２０３−Ｎ（Ｎは正の整数である）を含む。Ｍは、３と等しいものとして示されているが、当業者が了解するであろう通り、端点の個数は、示されたものと異なるものにすることができる。システム２００内に示された要素は、図示のように相互接続される。システム２００は、例示的実施形態に従って、セッション・イニシエーション・プロトコル・ベース（ＳＩＰベース）のシグナリングを介して端点の間で呼を処理することができる。それでも、当技術分野で既知の、Ｈ．３２３などの他のタイプの呼制御シグナリングを使用するいくつかの代替実施形態に本発明をどのように適用すべきかは、当業者に明白であろう。図示の通り、システム２００は、例示的実施形態では端点２０２−１から２０２−Ｍおよびサーバ２０３−１から２０３−Ｎを含むが、レガシ端点またはレガシ・サーバあるいはその両方をさらに含み、これらのレガシ端点およびレガシ・サーバが下で図８および９に関して説明されるタスクを実施しない、いくつかの代替実施形態に本発明をどのように適用すべきかも、当業者に明白であろう。
【００１５】
遠隔通信ネットワーク２０１は、インターネット、公衆交換電話網（ＰＳＴＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）などのうちの１つまたは複数を含むネットワークである。ネットワーク２０１は、パケットを１つまたは複数のソースからその正しい宛先に向けるのに使用される、ゲートウェイ、ルータ、またはスイッチなどの１つまたは複数の伝送関連ノードを含むか、これに接続される。ネットワーク２０１は、複数のＳＩＰ対応処理システムの間で伝送されるＳＩＰベースのメッセージを周知の形で処理することができる。
【００１６】
各クライアント端点２０２−ｍ（ｍ＝１からＭ）は、インターネット・プロトコル電話機、ノートブック・コンピュータ、携帯情報端末（ＰＤＡ）、タブレット・コンピュータなどの遠隔通信デバイスである。端点２０２−ｍの主要な構成要素を、下で図６に関して説明する。端点２０２−ｍは、周知の形で発呼を発し、着呼を受信することができる。さらに、端点２０２−ｍは、音声、ビデオ、データ、電子メール、およびインスタント・メッセージングを含むがこれらに限定されない１つまたは複数の通信モードが可能である。例示的実施形態によれば、端点２０２−ｍは、ＳＩＰ対応であるが、当業者が了解するであろう通り、いくつかの代替実施形態では、端点２０２−ｍは、異なるタイプの呼制御プロトコルに従って動作することができる。
【００１７】
端点２０２−ｍは、そのユーザに遠隔通信フィーチャへのアクセスを提供することができる。クライアント・デバイスとして、端点２０２−ｍは、そのユーザにサーバ・ベースの遠隔通信フィーチャを提供するために、１つまたは複数のサーバ２０３−１から２０３−Ｎにアクセスすることができる。端点２０２−ｍは、端点ベースの遠隔通信フィーチャをサブスクライブするために他の端点と通信することもでき、端点２０２−１から２０２−Ｍのうちの１つまたは複数は、サブスクライブする端点の代わりにこれらの遠隔通信フィーチャを処理することができる。さらに、端点２０２−ｍは、例示的実施形態の分散特徴的機能をサポートして、下で図８に関して説明するタスクを実行する。
【００１８】
各端点２０２−ｍは、当技術分野で既知の通り、一意コンタクト・アドレスによって識別される。端点２０２−１から２０２−Ｍのコンタクト・アドレスは、特定のユーザのパブリック・アドレスに関連する。パブリック・アドレスは、当技術分野で既知の通り、ユーザを公に表すのに使用される識別子である。パブリック・アドレスは、たとえば、ユーザの名刺に示すことができるアドレスである。起呼当事者がユーザのパブリック・アドレスを指定する場合に、そのアドレスを、ユーザが所有する可能性があるいくつかの端点デバイスのうちの１つまたは複数に解決することは、ＳＩＰネットワークに委ねられる。端点２０２−１から２０２−Ｍのそれぞれは、そのコンタクト・アドレスと、その端点が特定のユーザの連絡先になる点である特定のパブリック・アドレスとのコンタクト・アドレスの関連とを登録する。
【００１９】
たとえば、Ｃａｒｏｌ  Ｑ．  Ｊｏｎｅｓという名前のユーザが、ｃｊｏｎｅｓ＠ｃｏｍｐａｎｙ．ｃｏｍというパブリック・アドレスと、次のコンタクト・アドレスによって識別される４つの端点とを有する場合がある。
ｉ．      ｓｉｐ：ｃｊｏｎｅｓ＠１１１．１１１．１１１．１１１：５０６１；ｔｒａｎｓｐｏｒｔ＝ｔｌｓと、
ｉｉ．    ｓｉｐ：ｃｑｊ＠１１１．１１１．１１１．２２２：５０６１；ｔｒａｎｓｐｏｒｔ＝ｔｌｓと、
ｉｉｉ．  ｓｉｐ：１９７３５５５１２１２＠ｃｏｍｐａｎｙ．ｃｏｍと、
ｉｖ．    ｓｉｐ：ｃｊｏｎｅｓ＠ｒｅｓｅａｒｃｈ．ｃｏｍｐａｎｙ．ｃｏｍ。
【００２０】
この例では、Ｃａｒｏｌの４つの端点のそれぞれは、Ｃａｒｏｌに到達するための連絡先と考えられる。Ｃａｒｏｌが別の当事者によって呼び出されるときに、宛先を指定するのに使用されるパブリック・アドレスは、ｃｊｏｎｅｓ＠ｃｏｍｐａｎｙ．ｃｏｍである。システム２００は、ｃｊｏｎｅｓ＠ｃｏｍｐａｎｙ．ｃｏｍに向けられた着呼を端点２０２−１から２０２−Ｍのうちの１つまたは複数にルーティングする。
【００２１】
端点２０２−１から２０２−Ｍは、例示的実施形態では、すべてが無線デバイスとして示されている。当業者が了解するであろう通り、本発明のいくつかの代替実施形態は、すべてが有線である端点を含むことができ、あるいは、無線端点および有線端点の混合を含むことができる。さらに、当業者が了解するであろう通り、無線通信プロトコルは、セルラ・ベース、ＷｉＦｉベース、Ｂｌｕｅｔｏｏｔｈベース、またはさらに異なるルールの組に基づくものとすることができる。
【００２２】
端点２０２−１から２０２−Ｍは、例示的実施形態では、すべてが物理デバイスであるものとして示されてもいる。しかし、当業者が了解するであろう通り、本発明のいくつかの代替実施形態は、その代わりに共有されるソフトウェア・システム、アプリケーション、およびサービスにおけるユーザの能力の論理インスタンスである端点エンティティを含むことができる。論理インスタンスが、ユーザが異なるデバイスを使用することによって遠隔通信システム２００にログ・インした結果として作成された場合であっても、論理インスタンスは、共有されるコンピューティング・システムなどの１つのデバイスに常駐することができる。言い換えると、セッション・イニシエーション・プロトコルは、ユーザが、第１デバイスを介してログ・インし、必ずしも第１デバイスに常駐しない第１アプリケーション（たとえば、会議など）内など、システム２００全体を通じて事実上どこにでもあるアドレス可能端点エンティティによって表されることを可能にする。その後、同一のユーザが、第２デバイスを介してシステム２００にログ・インすることができ（第１アプリケーションからログ・アウトしてまたはそれを行わずに）、異なるアプリケーション（たとえば、スクリーン・ポップおよびインスタント・メッセージング・インターフェースを有するアプリケーションなど）内など、別の場所のアドレス可能端点エンティティによって表されることができる。
【００２３】
例示的実施形態では、端点２０２−１から２０２−Ｍは、特定の人間のユーザに関連する。しかし、当業者が了解するであろう通り、端点２０２−１から２０２−Ｍを、それ自体はＡＣＤ（ａｕｔｏｍａｔｅｄ  ｃａｌｌ  ｄｉｓｔｒｉｂｕｔｏｒ）などの遠隔通信デバイスであるユーザに関連付けることができる。この場合に、着呼は、その宛先アドレスとしてＡＣＤシステムのアドレスを有し、個々のコンタクト・アドレスは、当技術分野で既知の通り、そのＡＣＤシステム内のさまざまな端点に対応する。
【００２４】
どの場合でも、本明細書を読んだ後に、端点２０２−１から２０２−Ｍをどのように作り、使用すべきかは、当業者に明白であろう。
サーバ２０３−ｎ（ｎ＝１からＮ）は、エンドポイントがサブスクライブできる１つまたは複数のサーバ・ベースの遠隔通信フィーチャを処理し、セッション・イニシエーション・プロトコルに従って動作するデータ処理システムである。サーバ２０３−ｎの主要な構成要素を、下で図７に関して説明する。サーバ２０３−ｎが処理するサーバ・ベースのフィーチャには、ＳＩＰイベント・パッケージ（たとえば、ＳＩＰイベント・サーバとしてなど）、呼処理（たとえば、ＳＩＰプロキシとしてなど）、音声起呼、ビデオ・ストリーミング、電子メール、音声メール、インスタント・メッセージング、ウェブ・アクセス、他のデータ検索、およびプレゼンス・ベースのサービス（たとえば、アベイラビリティおよびプレゼンス監視など）を含めることができるが、これらに限定はされない。サーバ２０３−ｎが処理できるフィーチャの一部を、「サービス」とも称することに留意されたい。各サーバ２０３−ｎは、サーバ・ベースの遠隔通信フィーチャのそれ自体の組を処理することができる。さらに、サーバ２０３−ｎは、例示的実施形態の分散特徴的機能をサポートして、下で図９に関して説明するタスクを実行する。
【００２５】
サーバ・データ処理システム２０３−ｎは、例示的実施形態のタスクを実行するが、当業者が了解するであろう通り、いくつかの代替実施形態では、別のデータ処理システムを使用して、これらのタスクを実行することができる。さらに、例示的実施形態によれば、サーバ２０３−ｎは、ＳＩＰ対応であるが、当業者が了解するであろう通り、いくつかの代替実施形態では、サーバ２０３−ｎは、異なるタイプの呼制御プロトコルに従って動作することができる。どの場合でも、本明細書を読んだ後に、サーバ２０３−ｎをどのように作り、使用すべきかは、当業者に明白であろう。
【００２６】
プライベート・ドメイン２２０は、クライアント端点２０２−１から２０２−Ｍを含み、これらのクライアント端点のそれぞれは、ドメイン２２０に属すると言われる。例示的実施形態によれば、プライベート・ドメイン２２０は、ユーザ・ドメインである。しかし、当業者が了解するであろう通り、いくつかの代替実施形態では、プライベート・ドメイン２２０を、同一のユーザに関連する端点とは異なる属性に基づいて定義することができる。たとえば、ドメイン２２０を、互いに物理的に非常に近接する端点または互いからの直接通信範囲内にある端点を含むものとして定義することができる。
【００２７】
ドメイン２２０内で、クライアント端点２０２−１から２０２−Ｍは、イコール・ピア（ｅｑｕａｌ  ｐｅｅｒ）またはスーパー・ピアのいずれかとして機能することができる。「イコール・ピア」は、周知の形で同一プライベート・ドメイン内の他の端点とピア・ツー・ピアで通信することができる。「スーパー・ピア」は、他の端点とピア・ツー・ピアで通信できることに加えて、それ自体およびそのピアのエージェントとしてサーバ２０３−１から２０３−Ｎと通信する。図２に示されているように、たとえば、端点２０２−２は、スーパー・ピアであり、図示された他の端点は、そうではない。したがって、２０２−２以外の端点は、スーパー・ピア端点および通信経路２１４を介してサーバ２０３−１から２０３−Ｎと通信する。ピア状況にかかわりなく、端点２０２−１から２０２−Ｍのそれぞれは、オンボード・ソフトウェア・エージェントを実行し、このエージェントは、ピア・ツー・ピア・ルーティングおよびピア・ツー・ピア通信ならびにおそらくは後で説明する他の遠隔通信フィーチャの責任を負う。
【００２８】
通信経路２１１、２１２、および２１３は、端点２０２−１から２０２−Ｍの間のピア・ツー・ピア通信交換を可能にする。図２に示されているように、いくつかの状況で、２つの端点の間の伝送は、直接に発生する。たとえば、端点２０２−１は、端点２０２−２の直接通信範囲内にある場合があり、その結果、周知の形で他の端点からの支援を全く伴わずに経路２１１（すなわち無線媒体）を介して端点２０２−２に直接に信号を送信する。
【００２９】
いくつかの状況で、２つの端点の間の伝送は、有線ネットワークなどの１つまたは複数のネットワークを介して間接的に発生する。たとえば、端点２０２−１から２０２−Ｍが、基地局および交換局などの１つまたは複数の中間システムを介して互いと通信する場合がある。これは、端点が互いの直接通信範囲外の遠く離れた地理的領域にまたがって散乱しているので、または端点が異なるサービス・プロバイダ（たとえば、ＷｉＦｉについてはＢｏｉｎｇｏ、セルラについてはＶｅｒｉｚｏｎなど）を介してサービスを受信し、互いに直接に通信できないのでのいずれかである可能性がある。
【００３０】
図３に示されているように、端点と遠隔通信システム２００の残りとの間の関係は、図２に関して説明した関係と異なるものとすることができる。図３に、プライベート・ドメイン３２０を示すが、プライベート・ドメイン３２０は、スーパー・ピア端点２０２−２以外のピア端点のうちの１つまたは複数が、遠隔通信ネットワーク２０１に直接にアクセスできると同時にそうすることを許可される（すなわち、介在するスーパー・ピア端点を必要としない）ことを除いて、プライベート・ドメイン２２０に類似する。図３に示されているように、たとえば、クライアント端点２０２−２は、スーパー・ピアであり、それでも、クライアント端点２０２−１は、端点２０２−２を通らなければならないのではなく、通信経路３１５を介してネットワーク２０１に直接にアクセスすることを許可される。
【００３１】
図４に示されているように、各プライベート・ドメインは、特定のユーザに属する端点のすべてを含むこと以外の属性によって定義することができる。たとえば、図４には、第１区域内の物理的に非常に近接する端点のすべて（すなわち、端点２０２−２および２０２−３）を含むものとして定義されるプライベート・ドメイン４２０と、第２区域内の物理的に非常に近接する端点のすべて（すなわち、端点２０２−１のみ）を含むものとして定義されるプライベート・ドメイン４３０とが示されている。クライアント端点２０２−２は、プライベート・ドメイン４２０内のスーパー・ピア端点である。クライアント端点２０２−１は、プライベート・ドメイン４３０内のスーパー・ピア端点であると同時に、別の端点がやって来るまでは、ドメイン４３０内の唯一の端点である。
【００３２】
図５に、プライベート・ドメイン５２０内の複数の端点を示す。この例では、図示の端点のすべてが、特定のユーザに関連する。複数の端点は、スーパー・ピア端点２０２−２ならびにドメイン５２０のメンバである他のクライアント端点を含む。スーパー・ピアとして、端点２０２−２は、複数の端点のうちの１つまたは複数の他の端点のエージェントとして１つまたは複数のサーバ２０３−ｎと通信する。例示的実施形態によれば、端点２０２−１および２０２−４など、端点のうちの少なくともいくつかは、１つまたは複数のサーバ２０３−ｎを介して遠隔通信フィーチャをサブスクライブすることができる。さらに、端点２０２−３および２０２−５など、端点のうちの少なくともいくつかは、１つまたは複数の遠隔通信フィーチャを処理することができるが、これらのフィーチャは、必ずしもいくつかの端点がサーバを介してサブスクライブすることを試みるものではない。いくつかの実施形態で、クライアント端点のうちのいくつかは、スーパー・ピア端点２０２−２を通る必要なしにネットワーク２０１にアクセスすることを許容される。
【００３３】
ドメイン５２０（ならびに、これに関して他の図示のドメインのいくつか）内の端点の少なくとも一部は、端点の間に存在する１つまたは複数の機能に関して問い合わせることができる。たとえば、端点２０２−１は、所定のサービス品質レベル（たとえば、帯域幅、エラー・レート、待ち時間など）以上で通信する能力について他の端点に問い合わせることができる。この問合せの結果として、端点２０２−１は、端点２０２−１、２０２−２、および２０２−３が、音声サービスをサポートすることができる（たとえば、指定されたサービス品質レベルを超えて通信できることによって）が、端点２０２−４および２０２−５が、音声サービスをサポートすることはできないが、それでも、端点２０２−２と共にインスタント・メッセージング・サービスをサポートできることを見出すことができる。その結果、端点２０２−１、２０２−２、および２０２−３は、互いに直接にまたは少なくともネットワーク２０１を用いることなく、経路５１１、５１２、および５１３を介して音声パケットを転送することができ、それと同時に、端点２０２−２、２０２−４、および２０２−５は、経路５１５、５１６、および５１７を介して互いに直接にインスタント・メッセージング・パケットを転送することができる。
【００３４】
通信関連機能に加えて、ドメイン５２０内の１つまたは複数の端点に存在する可能性がある他のタイプの機能を、ストレージ機能、処理機能、およびユーザ・プレゼンテーション（たとえば、表示）機能ならびに１つまたは複数の指定された遠隔通信フィーチャを提供する能力に関係付けることができる。たとえば、そのような機能の１つを、メッセージのＨＴＭＬベースのコンテンツを表示する端点の機能とすることができる。実際に、特定の遠隔通信フィーチャに、メディア・コンテンツをユーザに提示するために端点を選択する能力を含めることができる。当業者が了解するであろう通り、ドメイン５２０に関連する複数の端点の各所与の端点は、既に述べたもの以外の機能について問い合わせ、これについて報告し、またはこれを処理することができる。
【００３５】
図６に、本発明の例示的実施形態によるクライアント端点２０２−ｍの主要な構成要素を示す。端点２０２−ｍは、図示のように相互接続された、レシーバ６０１、プロセッサ６０２、メモリ６０３、およびトランスミッタ６０４を含む。
【００３６】
レシーバ６０１は、ネットワーク・インターフェースのうちで、同一プライベート・ドメイン内の他のクライアント端点からの信号ならびにネットワーク２０１を介するサーバ・データ処理システム２０３−１から２０３−Ｎのうちの１つまたは複数からの信号を受信できる部分であり、周知の形で、これらの信号内にエンコードされた情報をプロセッサ６０２に転送する。本明細書を読んだ後に、レシーバ６０１をどのように作り、使用すべきかは、当業者に明白であろう。
【００３７】
プロセッサ６０２は、レシーバ６０１から情報を受け取り、メモリ６０３に格納された命令を実行し、メモリ６０３からデータを読み取り、メモリ６０３にデータを書き込み、下で図８に関して説明するタスクを実行し、トランスミッタ６０４に情報を送ることができる汎用プロセッサである。本発明のいくつかの代替実施形態では、プロセッサ６０２は、特殊目的プロセッサとすることができる。どちらの場合でも、本明細書を読んだ後に、プロセッサ６０２をどのように作り、使用すべきかは、当業者に明白であろう。
【００３８】
メモリ６０３は、プロセッサ６０２によって使用される命令およびデータを格納する。メモリ６０３は、ダイナミック・ランダム・アクセス・メモリ（ＲＡＭ）、フラッシュ・メモリ、ディスク・ドライブ・メモリなどの任意の組み合わせとすることができる。本明細書を読んだ後に、メモリ６０３をどのように作り、使用すべきかは、当業者に明白であろう。
【００３９】
トランスミッタ６０４は、ネットワーク・インターフェースのうちで、プロセッサ６０２から情報を受け取り、周知の形で、この情報をエンコードする信号を同一プライベート・ドメイン内の他のクライアント端点に送ることができ、ネットワーク２０１を介してサーバ・データ処理システム２０３−１から２０３−Ｎのうちの１つまたは複数に信号を送ることができる部分である。本明細書を読んだ後に、トランスミッタ６０４をどのように作り、使用すべきかは、当業者に明白であろう。
どちらも周知の形で、キーパッド６０５は、ユーザからの入力信号を受け入れ、ディスプレイ６０６は、表示可能な信号をユーザに提示する。
【００４０】
図７に、本発明の例示的実施形態によるサーバ・データ処理システム２０３−ｎの主要な構成要素を示す。サーバ２０３−ｎは、図示のように相互接続された、レシーバ７０１、プロセッサ７０２、メモリ７０３、およびトランスミッタ７０４を含む。
レシーバ７０１は、ネットワーク・インターフェースのうちで、周知の形で、ネットワーク２０１を介してクライアント端点（たとえば、端点２０２−ｍなど）から信号を受信し、その信号にエンコードされた情報をプロセッサ７０２に転送する部分である。本明細書を読んだ後に、レシーバ７０１をどのように作り、使用すべきかは、当業者に明白であろう。
【００４１】
プロセッサ７０２は、レシーバ７０１から情報を受け取り、メモリ７０３に格納された命令を実行し、メモリ７０３からデータを読み取り、メモリ７０３にデータを書き込み、下で図９に関して説明するタスクを実行し、トランスミッタ７０４に情報を送ることができる汎用プロセッサである。本発明のいくつかの代替実施形態では、プロセッサ７０２は、特殊目的プロセッサとすることができる。どちらの場合でも、本明細書を読んだ後に、プロセッサ７０２をどのように作り、使用すべきかは、当業者に明白であろう。
【００４２】
メモリ７０３は、プロセッサ７０２によって使用される命令およびデータを格納する。メモリ７０３は、ダイナミック・ランダム・アクセス・メモリ（ＲＡＭ）、フラッシュ・メモリ、ディスク・ドライブ・メモリなどの任意の組み合わせとすることができる。本明細書を読んだ後に、メモリ７０３をどのように作り、使用すべきかは、当業者に明白であろう。
【００４３】
トランスミッタ７０４は、ネットワーク・インターフェースのうちで、プロセッサ７０２から情報を受け取り、周知の形で、この情報をエンコードする信号をネットワーク２０１を介してクライアント端点（たとえば、端点２０２−ｍなど）に送信することができる部分である。本明細書を読んだ後に、トランスミッタ７０４をどのように作り、使用すべきかは、当業者に明白であろう。
【００４４】
図８および９に、フィーチャがどこで処理されているか（たとえば、もう１つのクライアント端点２０２−ｍで、サーバ２０３−ｎでなど）に関して、遠隔通信フィーチャをサブスクライブしているクライアント端点に知らせることに関与する主要なタスクの流れ図を示す。具体的に言うと、図８のタスクは、第１技法を構成し、この第１技法では、サブスクライブする端点は、まず、フィーチャを提供する能力など、１つまたは複数の機能について同一プライベート・ドメイン内の他の端点に問い合わせ、次に、これらの機能を見出すことができるところに関する報告を受信する。図９のタスクは、第２技法を構成し、この第２技法では、サーバ２０３−ｎが、フィーチャを見出すことができるところについて、サブスクライブする端点に知らせる。当業者が了解するであろう通り、図８または９に示されたタスクの一部を、並列にまたは図示されたものと異なる順序で実行することができる。さらに、当業者は、本発明のいくつかの実施形態で、図８のタスクだけが実行され、いくつかの他の実施形態で、図９のタスクだけが実行され、いくつかのさらに他の実施形態で、図８と９との両方のタスクの一部またはすべてが実行されることを了解するであろう。
【００４５】
図８に、本発明の例示的実施形態による、クライアント端点２０２−ｍによって実行される主要なタスクの流れ図を示す。図示のタスクは、第１クライアント端点がサブスクライブする可能性があるフィーチャを含む、１つまたは複数の機能が処理されているところに関して第１クライアント端点に知らせることに関与する。このタスクは、１つまたは複数のクライアント端点２０２−１から２０２−Ｍの間の通信および任意選択としてサーバ２０３−ｎとの通信に関連する。教育学的目的のために、図８に関連するタスクを、下で端点２０２−１によって実行されるものとして説明する。
【００４６】
タスク８０１で、端点２０２−１は、レジストラ・サーバに登録メッセージを送信し、このレジストラ・サーバは、教育学的目的のためにサーバ２０３−２である。図５を参照すると、端点２０２−１は、端点２０２−２を介してこのメッセージを送信し、端点２０２−２は、端点２０２−１のエージェントとして、サーバ２０３−２との通信の少なくとも一部を処理する。いくつかの代替実施形態では、端点２０２−１は、他の端点の支援なしで、少なくとも登録メッセージをサーバ２０３−２に送信することができる。
【００４７】
タスク８０２で、登録メッセージを送信し終えたことに応答して、端点２０２−１は、プライベート・ドメイン５２０のユーザに関連する端点の複数のコンタクト・アドレスを（たとえばリスト内などで）受信する。複数のコンタクト・アドレスは、本質的に、端点２０２−１に対してドメイン５２０のメンバ端点を識別する。
【００４８】
タスク８０３で、端点２０２−１は、複数のコンタクト・アドレスのうちの第１コンタクト・アドレスによって識別された第２端点に基づいて、第２端点（たとえば、端点２０２−２、端点２０２−３など）に第１メッセージを送信する。この第１メッセージは、複数の端点に存在する可能性がある１つまた複数の機能について問い合わせるものである。１つまたは複数の端点に存在する可能性がある機能には、次が含まれるが、これらに限定はされない。
ｉ．      特定の形で（たとえば、特定のサービスのレベルで、特定のプロトコルを介して、特定のフォーマットでなど）通信する能力と、
ｉｉ．    特定の形で情報を処理し、または格納する能力と、
ｉｉｉ．  特定の形で端点ユーザに情報を提示する能力と、
ｉｖ．    別の１つまたは複数の端点に特定の遠隔通信フィーチャを提供する能力。
この問合せは、特定の機能に言及することができ、あるいは、この問合せは、どの機能がサポートされるかに関して報告を返すことの一般的要求とすることもできる。いくつかの代替実施形態では、端点２０２−１は、複数のコンタクト・アドレスによって識別される１つまたは複数の追加の端点にも機能問合せメッセージを送信する。
【００４９】
タスク８０４で、端点２０２−１は、複数の端点のメンバのうちの１つから第２メッセージを受信し、ここで、第２メッセージは、タスク８０３で問い合わされた１つまたは複数の機能に関する報告を含む。いくつかの実施形態で、機能を報告するメンバ端点は、問合せが送信された端点と同一とすることができるが、いくつかの他の実施形態では、機能を報告するメンバ端点を、問い合わされた端点と異なるものとすることができる。さらに、報告メッセージを、複数の端点から受信することができる。たとえば、端点２０２−３は、それが音声処理機能を有することを示すことができ、端点２０２−５は、それがインスタント・メッセージング機能を有することを示すことができる。もう１つの例として、端点２０２−２（すなわち、スーパー・ピア）は、端点２０２−３が音声処理機能を有し、端点２０２−５がインスタント・メッセージング機能を有することを示すことができる。使用可能な機能に基づいて、問い合わせる端点は、問い合わせる端点の代わりに特定のフィーチャを処理するのに最適の端点または端点のサブセットを判定することができる。
【００５０】
例示的実施形態によれば、各問い合わされた端点は、どの機能を使用可能として端点２０２−１にアドバタイズするかを決定する。いくつかの代替実施形態では、端点２０２−１が、その代わりに、報告された機能のうちでそれが使用できる機能を判定し、いくつかの他の代替実施形態では、もう１つの端点（たとえば、スーパー・ピア端点２０２−２など）が、端点２０２−１がどの機能を使用できるかを判定する。この判定は、次を含むがこれらに限定はされない１つまたは複数の考慮事項に基づく。
ｉ．      お互いへの端点の物理的近接、または通信に使用可能なサービス品質レベルなど、プライベート・ドメイン内の属性と、
ｉｉ．    問い合わせる端点のアイデンティティと、
ｉｉｉ．  問い合わせる端点の１つまたは複数の機能など、問い合わせる端点の他の属性と、
ｉｖ．    他の端点の属性と、
ｖ．      複数の端点の関係と、
ｖｉ．    問い合わせる端点によってサブスクライブされる遠隔通信フィーチャ。
【００５１】
タスク８０５で、端点２０２−１は、端点２０２−１がタスク８０４で他の端点から受信した１つまたは複数の機能報告に基づいて、特定の遠隔通信フィーチャがドメイン５２０内の端点またはサーバのどちらで使用可能であるかを検査する。関心を持たれているフィーチャが、ある端点によって処理される場合には、タスク実行はタスク８０６に進む。そうではなく、関心を持たれているフィーチャが、サーバによって処理される場合には、タスク実行はタスク８０７に進む。
【００５２】
タスク８０６では、端点２０２−１は、サブスクライブされるフィーチャを処理しているクライアント端点（すなわち、指定された端点）にサブスクライブ・メッセージを送信し、このメッセージは、フィーチャを示す。いくつかの他の実施形態では、端点２０２−１は、このメッセージを、フィーチャを処理する端点とは異なる、ドメイン５２０内のメンバ・クライアント端点に送信し、このメンバ・クライアント端点が、サブスクライブ・メッセージを処理する。その後、タスク実行が終了する。
【００５３】
タスク８０７では、端点２０２−１は、サブスクライブ・メッセージをサーバ２０３−ｎに送信し、このメッセージは、サブスクライブされようとしているフィーチャを示す。その後、サブスクライブ・プロセスが、周知の形で継続する。その後、タスク実行が終了する。
【００５４】
図９に、本発明の例示的実施形態による、サーバ・データ処理システム２０３−ｎによって実行される主要なタスクの流れ図を示す。図示のタスクは、第１クライアント端点がサブスクライブしようとしている特定のフィーチャが処理されているところに関してサーバ２０３−ｎが第１クライアント端点に知らせることに関与する。タスクは、１つまたは複数のクライアント端点２０２−ｍとサーバ２０３−ｎとの間の通信に関連する。教育学的目的のために、図９に関連するタスクを、下でサーバ２０３−１によって実行されるものとして説明するが、サーバ２０３−１は、端点２０２−１からメッセージを受信する。
【００５５】
タスク９０１で、サーバ２０３−１は、特定の遠隔通信フィーチャをサブスクライブすることを試みているクライアント端点２０２−１からサブスクライブ・メッセージを受信する。このサブスクライブ・メッセージは、端点２０２−１がサブスクライブを試みている１つまたは複数のフィーチャを示す。いくつかの代替実施形態では、サーバ２０３−１は、その代わりに端点２０２−１のプライベート・ドメインの異なるメンバ・クライアント端点からサブスクライブ・メッセージを受信し、このメッセージは、端点２０２−１が指定された１つまたは複数のフィーチャをサブスクライブすることを試みていることを示す。たとえば、スーパー・ピア端点がプライベート・ドメインとサーバ２０３−１との間のサブスクライブ関連通信を処理しているときに、こうなる可能性がある。
【００５６】
タスク９０２で、サーバ２０３−１は、サブスクライブされるフィーチャが、そのサーバ自体（もしくはサーバ２０３−２などの別のサーバ）または端点２０２−１と同一のプライベート・ドメインに属する指定されたクライアント端点のどちらによって処理されるかを判定する。この判定は、次を含むがこれらに限定はされない１つまたは複数の考慮事項に基づく。
ｖｉｉ．    フィーチャ自体と、
ｖｉｉｉ．  何がプライベート・ドメインを定義するかに基づくルールなど、ある問題に関して構成された１つまたは複数のルールと、
ｉｘ．      お互いに対する端点の物理的近接など、プライベート・ドメインを定義する属性と、
ｘ．        サブスクライブを試みている端点のアイデンティティと、
ｘｉ．      端点の１つまたは複数の機能など、端点の他の属性と、
ｘｉｉ．    サーバの現在のリソース利用度など、サーバ自体の属性。
たとえば、いくつかのフィーチャは、必ずサーバによって処理されなければならないが、他のフィーチャは、プライベート・ドメイン内の端点によって処理される。第２の例として、判定が、通信チャネルの帯域幅割振りを伴うルールに基づく場合に、ドメイン内の他の端点と効率的に通信できるサブスクライブする端点を、そのフィーチャに関してドメイン内の別の端点にリダイレクトすることができ、他の端点と効率的に通信できないサブスクライブする端点を、サーバに向けることができる。第３の例として、サブスクライブする端点が、別の端点のフィーチャにアクセスできない場合には、そのサブスクライブする端点を、サーバに向けることができる。第４の例として、サーバは、そのサーバでの現在のリソース利用度が所定のレベルを超えて上昇するときに限って、サブスクライブする端点をそれ自体のプライベート・ドメインにリダイレクトすることを選択することができる。
【００５７】
さまざまな遠隔通信フィーチャを、サーバによって処理するのではなく、プライベート・ドメイン内の他の端点のエージェントとしての指定されたクライアント端点によって処理することができる。そのようなフィーチャの１つの例が、当技術分野で既知の、会議などのＳＩＰイベント・パッケージである。そのようなフィーチャのもう１つの例が、集中サーバ・アーキテクチャで多すぎるメッセージ・トラフィックがサーバに供給されることをもたらす可能性がある、デバイス・プレゼンスの監視である。デバイス・プレゼンスは、デバイスがオンまたはオフのどちらであるかなど、個々のクライアント・デバイスの低水準状態である。例示的実施形態によれば、指定されたクライアント端点は、各デバイスのプレゼンスを追跡し、その後、プレゼンス情報を集約して、ユーザ・アベイラビリティの総合的表示をサーバ２０３−１に提示することができる。再割振りされるフィーチャのもう１つの例として、指定された端点は、音声メッセージング、インスタント・メッセージングなど、メディアを処理することができる。メディア処理のより特定の例が、呼の録音であり、この呼の録音では、ユーザは、新しい呼を録音することを望む。集中サーバでミキシング・リソースを使用するのではなく、プライベート・ドメイン内の１つまたは複数の端点が、メディアを録音し、記憶する責任を橋渡しし、共有する。当業者が了解するであろう通り、これらの例で述べたもの以外の遠隔通信フィーチャを、サーバによって処理するのではなく指定されたクライアント端点によって処理することができる。
【００５８】
指定されたクライアント端点は、教育学的目的から端点２０２−２であるが、サブスクライブされる遠隔通信フィーチャを処理する端点としてさまざまな形のいずれかで指定され得る。プライベート・ドメイン内の端点が、端点２０２−２を選ぶことができ、あるいは、サーバ２０３−１が、特定のフィーチャを処理する端点２０２−２を選択することができる。さらに、例示的実施形態のスーパー・ピア端点は、そのドメインに関するフィーチャを処理する指定された端点でもあるが、当業者が了解するであろう通り、いくつかの代替実施形態で、非スーパー・ピア端点が、フィーチャを、あるいは少なくともサーバとの通信を必要としないフィーチャを処理することができる。最後に、プライベート・ドメインに再割振りされる複数のフィーチャがある場合に、第１の指定された端点が、第１のフィーチャを処理することができ、第２の指定された端点が、第２のフィーチャを処理することができ、以下同様である。
【００５９】
タスク９０３で、サーバ２０３−１は、サブスクライブされる遠隔通信フィーチャが、指定されたクライアント端点によって処理されるかどうかを検査する。フィーチャが指定されたクライアント端点によって処理される場合には、タスク実行はタスク９０４に進む。そうでない場合には、タスク実行はタスク９０６に進む。
【００６０】
タスク９０４では、サーバ２０３−１は、任意選択で、指定されたクライアント端点（すなわち、端点２０２−２）への呼を開始し、指定された端点に、サブスクライブされる遠隔通信フィーチャの処理を引き受けるように指示する。これは、指定されたクライアント端点が、まだそのフィーチャを処理する準備ができている状態ではないときに行われる。
【００６１】
タスク９０５で、サーバ２０３−１は、サブスクライブされるフィーチャが端点２０２−１のプライベート・ドメイン内の端点によって処理されていることを示すリダイレクトするメッセージを端点２０２−１に送信する。例示的実施形態では、このメッセージは、フィーチャを処理している特定の端点（すなわち、端点２０２−２）を示す。いくつかの代替実施形態では、このメッセージは、単に、フィーチャがプライベート・ドメイン内で処理されていることを示し、その場合に、フィーチャを処理している特定の端点を判定することは、端点２０２−１に委ねられる。
【００６２】
例示的実施形態では、サーバ２０３−１が、サブスクライブする端点にこのメッセージを送信するが、いくつかの代替実施形態では、サーバ２０３−１は、このメッセージをプライベート・ドメイン内の１つまたは複数の異なる端点（たとえば、指定された端点２０２−２など）に送信する。この場合に、サブスクライブする端点に知らせることは、そのメッセージを受信する端点に委ねられ、サブスクライブする端点を、そのメッセージ内で示すことができ、あるいは、そのメッセージを受信するエンドポイントによって判定される必要があるものとすることができる。
サーバ２０３−１がタスク９０５を実行した後に、タスク実行はタスク９０１に戻って進む。
【００６３】
タスク９０６では、サーバ２０３−１は、端点がフィーチャをサブスクライブしたことの応答を端点２０２−１に送信し、このフィーチャは、そのサーバ自体によって処理されている。その後、タスク実行はタスク９０１に戻って進む。
上で説明した実施形態が、単に本発明の例示であることと、上で説明した実施形態の多数の変形形態を、本発明の範囲から逸脱せずに当業者が考案できることを理解されたい。たとえば、本明細書では、本発明の例示的実施形態の完全な説明および理解を提供するために、多数の具体的な詳細を示した。しかし、当業者は、これらの詳細のうちの１つまたは複数なしで、または他の方法、材料、構成要素などを用いて、本発明を実践できることを認めるであろう。
【００６４】
さらに、いくつかの場合に、周知の構造、材料、または動作は、例示的実施形態の諸態様を曖昧にしないようにするために、詳細には図示されず、説明されていない。図面に示されたさまざまな実施形態が、例示的であり、必ずしも原寸通りに描かれていないことを理解されたい。本明細書全体を通じて、「一実施形態」または「実施形態」または「いくつかの実施形態」への言及は、その実施形態に関連して説明される特定のフィーチャ、構造、材料、または特性が、必ずしもすべての実施形態ではなく、本発明の少なくとも１つの実施形態に含まれることを意味する。その結果、本明細書全体を通じてさまざまな場所での句「一実施形態で」、「実施形態で」、または「いくつかの実施形態で」の出現は、必ずしもすべてが同一の実施形態を指してはいない。さらに、特定のフィーチャ、構造、材料、または特性を、１つまたは複数の実施形態で任意の適切な形で組み合わせることができる。したがって、そのような変形形態が添付の特許請求の範囲およびその同等物の範囲に含まれることが意図されている。
【図面の簡単な説明】
【００６５】
【図１】従来技術の遠隔通信システム１００を示す図である。
【図２】プライベート・ドメイン２２０を含む遠隔通信システム２００を示す第１の図である。
【図３】本発明の例示的実施形態による、プライベート・ドメイン３２０を含む遠隔通信システム２００を示す第２の図である。
【図４】本発明の例示的実施形態による、プライベート・ドメイン４２０および４３０を含む遠隔通信システム２００を示す第３の図である。
【図５】本発明の例示的実施形態による、プライベート・ドメイン５２０を含む遠隔通信システム２００を示す第４の図である。
【図６】システム２００内のクライアント端点２０２−ｍの主要な構成要素を示すブロック図である。
【図７】システム２００内のサーバ・データ処理システム２０３−ｎの主要な構成要素を示すブロック図である。
【図８】本発明の例示的実施形態による、クライアント端点２０２−ｍによって実行される主要なタスクを示す流れ図である。
【図９】本発明の例示的実施形態による、サーバ・データ処理システム２０３−ｎによって実行される主要なタスクを示す流れ図である。
【図１】
2008104173.tif 000003
【図２】
2008104173.tif 000004
【図３】
2008104173.tif 000005
【図４】
2008104173.tif 000006
【図５】
2008104173.tif 000007
【図６】
2008104173.tif 000008
【図７】
2008104173.tif 000009
【図８】
2008104173.tif 000010
【図９】
2008104173.tif 000011