(57)【要約】      （修正有）【課題】ピアツーピアネットワーク通信において、セキュリティリスクを回避のために、通信試行中の複数のクライアントをサーバが十分にサポートできない問題点を解決する。【解決手段】認証プロセス中に第１のエンドポイントによりアクセスサーバーからプロファイルおよびルーティングテーブルを読み出す工程を含む。前記プロファイルは、前記第１のエンドポイントが通信許可を有するエンドポイントとして、少なくとも第２のエンドポイントを識別する。前記ルーティングテーブルは、前記第１のエンドポイントが直接前記第２のエンドポイントと通信するために必要なアドレス情報を含む。前記第１のエンドポイントは、前記アドレス情報を使って、直接前記第２のエンドポイントに通知メッセージを送信し、当該前記第１のエンドポイントがオンラインであることを前記第２のエンドポイントに通知する。【選択図】図４
2011103121.tif 000002
【特許請求の範囲】
【請求項１】
第１のエンドポイントと第２のエンドポイントとの間の関係を確立および維持するための、コンピュータで実行される方法であって、
前記第１のエンドポイントからアクセスサーバーへ、前記第２のエンドポイントの連絡先情報を要求する要求メッセージを送信する工程と、
前記アクセスサーバーにより前記第２のエンドポイントがオンラインであるか、あるいはオフラインであるかを決定する工程と、
前記第２のエンドポイントがオンラインである場合、前記アクセスサーバーから前記第１のエンドポイントにより前記連絡先情報を受信する工程と、
前記第１のエンドポイントから直接前記第２のエンドポイントへ、前記第２のエンドポイントに関連付けられたバディリスト（ｂｕｄｄｙ  ｌｉｓｔ）に前記第１のエンドポイントを追加するよう要求する要求メッセージを送信する工程と、
前記要求を承認または拒否する応答メッセージを、前記第１のエンドポイントにより直接前記第２のエンドポイントから受信する工程と、
前記第２のエンドポイントから前記アクセスサーバーへ、前記要求が承認または拒否されたことを当該アクセスサーバーに通知するメッセージを送信する工程と
を有する方法。
【請求項２】
請求項１記載の方法において、この方法は、さらに、
前記要求が承認された場合、前記第１のエンドポイントおよび第２のエンドポイントのそれぞれに関連付けられたプロファイル情報を更新して、前記関係を反映させる工程を有するものである。
【請求項３】
請求項１記載の方法において、この方法は、さらに、
前記第２のエンドポイントがオフラインである場合、前記第１のエンドポイントから前記アクセスサーバーへ送信された前記要求メッセージを格納する工程と、
前記第２のエンドポイントの認証プロセス中に前記アクセスサーバーから前記第２のエンドポイントへ前記要求メッセージを送信する工程であって、前記認証プロセスは前記第２のエンドポイントがオンライン処理中であることを示すものである、前記送信する工程と、
前記第２のエンドポイントから直接前記第１のエンドポイントへ、前記要求を承認または拒否する応答メッセージを送信する工程と、
前記第２のエンドポイントから前記アクセスサーバーへメッセージを送信して、結果が承認または拒否であったことを当該アクセスサーバーに通知する工程と
を有するものである。
【請求項４】
請求項１記載の方法において、この方法は、さらに、
前記第２のエンドポイントがオフラインである場合、前記第１のエンドポイントから前記アクセスサーバーへ送信された前記要求メッセージを格納する工程と、
前記第２のエンドポイントがオンラインになった時点で、前記第１のエンドポイントがオフラインであることを、前記アクセスサーバーにより決定する工程と、
前記第２のエンドポイントの認証プロセス中に前記アクセスサーバーから前記第２のエンドポイントへ前記要求メッセージを送信する工程と、
前記第２のエンドポイントから前記アクセスサーバーへ、前記要求を承認または拒否する応答メッセージを送信する工程と
を有するものである。
【請求項５】
ピアツーピア通信のためのシステムであって、
パケットベースの通信ネットワークに接続されたアクセスサーバーと、
前記通信ネットワーク経由で前記アクセスサーバーに接続された第１のエンドポイントと、
前記通信ネットワーク経由で前記アクセスサーバーおよび前記第１のエンドポイントに接続され、前記アクセスサーバーから以前に取得したルーティング情報を使って前記第１のエンドポイントと直接通信チャネルを確立するよう構成されたソフトスイッチ（Ｓｏｆｔｓｗｉｔｃｈ）を有する第２のエンドポイントであって、前記第１のエンドポイントと前記第２のエンドポイントとの間のシグナリング通信およびメディアトラフィック通信は、非プロプライエタリプロトコルを使用し、前記アクセスサーバーを通過しないものである、第２のエンドポイントと
を有するシステム。
【請求項６】
請求項５記載のシステムにおいて、前記第１のエンドポイントと前記第２のエンドポイントとの間のシグナリング通信ではセッションイニシエーションプロトコル（ｓｅｓｓｉｏｎ  ｉｎｉｔｉａｔｉｏｎ  ｐｒｏｔｏｃｏｌ：ＳＩＰ）が利用され、前記メディアトラフィック通信ではリアルタイム転送プロトコル（ｒｅａｌ−ｔｉｍｅ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ：ＲＴＰ）が利用されるものである。
【請求項７】
請求項５または６記載のシステムにおいて、前記アクセスサーバーは、
前記第１のエンドポイントおよび前記第２のエンドポイントにウェブサービスを提供するよう構成されたウェブサービスレイヤーと、
前記ウェブサービスレイヤーをサポートするよう構成されたウェブサーバーレイヤーと、
データベースレイヤーであって、
前記第１のエンドポイントおよび前記第２のエンドポイントがオンラインかどうかを識別する、少なくとも１つのセッションテーブルと、
前記第１のエンドポイントおよび前記第２のエンドポイントそれぞれのための第１のプロファイルおよび第２のプロファイルであって、各プロファイルは、当該プロファイルに関連付けられたエンドポイントが通信許可を有する他のエンドポイントを識別するものである、第１のプロファイルおよび第２のプロファイルと、
前記第１のエンドポイントおよび前記第２のエンドポイントそれぞれのための第１のルーティングテーブルおよび第２のルーティングテーブルであって、各ルーティングテーブルは、当該ルーティングテーブルに関連付けられた前記エンドポイントが当該エンドポイントのプロファイルに含まれる他のエンドポイントと直接通信するために必要なアドレス情報を含むものである、第１のルーティングテーブルおよび第２のルーティングテーブルと
を格納および管理するよう構成されたデータベースレイヤーと
を有するものである。
【請求項８】
請求項５、６、または７記載のシステムにおいて、前記第２のエンドポイントは、エンドポイントエンジンをさらに含み、当該エンドポイントエンジンは、
前記ソフトスイッチと、
前記ソフトスイッチからアクセス可能で、前記第２のエンドポイントが提供する複数サービスを管理するよう構成された管理レイヤーと、
前記管理レイヤーおよび前記ソフトスイッチからアクセス可能で、前記管理レイヤーが管理する前記サービスの提供に必要な機能性をサポートするよう構成されたフィーチャーレイヤーと、
前記フィーチャーレイヤーが提供する前記機能性と、前記第１のエンドポイントとの通信とをサポートするために複数のプロトコルを提供するよう構成されたプロトコルレイヤーと
を有するものである。
【請求項９】
請求項５、６、７、または８記載のシステムにおいて、前記アクセスサーバー、前記第１のエンドポイント、および前記第２のエンドポイントはホームネットワークを形成し、当該システムは、さらに、前記ホームネットワークの外部装置を少なくとも１つ有する。
【請求項１０】
請求項９記載のシステムにおいて、前記外部装置は、前記第１のエンドポイントまたは前記第２のエンドポイントとの通信を開始する前に、前記アクセスサーバーに登録される必要があるものである。
【請求項１１】
請求項９記載のシステムにおいて、前記第２のエンドポイントは、前記ソフトスイッチを使って前記外部装置と直接接続するよう構成されており、前記接続の確立中に前記外部装置が要求するクレデンシャルを提供する必要があるものである。
【請求項１２】
２つのエンドポイント間で直接通信するためのシステムであって、
第１の通信ネットワークに接続された第１のエンドポイントと、
第２の通信ネットワークに接続されたアクセスサーバーと、
前記第１の通信ネットワークおよび前記第２の通信ネットワーク経由でそれぞれ前記第１のエンドポイントおよび前記アクセスサーバーに接続された第２のエンドポイントであって、当該第２のエンドポイントは、前記アクセスサーバーから以前に取得したルーティング情報を使って前記第１のエンドポイントと直接通信チャネルを確立するよう構成されたソフトスイッチを有し、前記第１のエンドポイントと前記第２のエンドポイントとの間のシグナリング通信およびメディアトラフィック通信は非プロプライエタリプロトコルを使用し、前記アクセスサーバーを通過しないものである、第２のエンドポイントと
を有するシステム。
【請求項１３】
請求項１２記載のシステムにおいて、前記第１の通信ネットワークは公衆交換電話網（ｐｕｂｌｉｃ  ｓｗｉｔｃｈｅｄ  ｔｅｌｅｐｈｏｎｅ  ｎｅｔｗｏｒｋ：ＰＳＴＮ）である。
【請求項１４】
請求項１２記載のシステムにおいて、前記第１の通信ネットワークはセルラーネットワークである。
【請求項１５】
請求項１２、１３、または１４記載のシステムにおいて、前記ルーティング情報は、前記第２のエンドポイントが前記アクセスサーバーに認証された時点で、ルーティングテーブルの形態で前記アクセスサーバーから取得される。
【請求項１６】
請求項１２、１３、１４、または１５記載のシステムにおいて、このシステムは、さらに、
リダイレクトサーバーを有し、当該リダイレクトサーバーは、前記第１のエンドポイントから前記第２のエンドポイントに宛てられた要求を受信し、且つ前記第１のエンドポイントに前記第２のエンドポイントのアドレス情報を提供するよう構成されており、前記第１のエンドポイントは、前記アクセスサーバーの関与を介さずに、前記第２のエンドポイントと通信できるものである。
【請求項１７】
請求項１６記載のシステムにおいて、前記リダイレクトサーバーは、前記第１のエンドポイントに前記第２のエンドポイントのアドレス情報を提供する前に、前記第１のエンドポイントの認証を実行するよう構成されているものである。
【発明の詳細な説明】
【背景技術】
【０００１】
現在のパケットベースの通信ネットワークは、一般にピアツーピアネットワークおよびクライアント／サーバーネットワークに分けることができる。従来のピアツーピアネットワークは、中間装置（ホストやサーバーなど）を使用することなく、種々のエンドポイント間の直接的な通信をサポートする。各エンドポイントは、各エンドポイントに格納されたクレデンシャルおよびアドレスの情報を使って、直接他のエンドポイントへ要求を発信し、他のエンドポイントからの要求に応答する。しかしながら、従来のピアツーピアネットワークでは、ネットワーク全体にわたり、安全性に欠ける種々のエンドポイントにおいて（アドレスおよびクレデンシャルなどの）エンドポイント情報が分散および格納されているため、このようなネットワークでは本質的にセキュリティリスクが増加する。クライアント／サーバーモデルでは、クレデンシャルおよびアドレスの情報格納をサーバーに局在化させてピアツーピアモデル固有のセキュリティ問題に対処しているが、クライアント／サーバーネットワークの欠点は、通信試行中の複数クライアントをサーバーが十分にサポートできないことにある。（２つのクライアント間の場合でも）通信はすべてサーバーを通過しなければならないため、サーバーは容易にシステムのボトルネックになる可能性がある。
【０００２】
このため、これらの問題に対処するシステムおよび方法が必要とされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００２／０１５０１１０号明細書
【特許文献２】米国特許出願公開第２００３／０００９５６５号明細書
【特許文献３】米国特許出願公開第２００３／０１３５５６９号明細書
【特許文献４】米国特許出願公開第２００４／０１３９２２８号明細書
【特許文献５】米国特許出願公開第２００３／００９５６５号明細書
【特許文献６】国際公開第０３／０７９６３５号パンフレット
【特許文献７】国際公開第０５／００９０１９号パンフレット
【非特許文献】
【０００４】
【非特許文献１】チャトハプラム（Ｃｈａｔｈａｐｕｒａｍ），「ピアツーピアのネットワークにおけるセキュリティー（Ｓｅｃｕｒｉｔｙ  ｉｎ  Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｎｅｔｗｏｒｋｓ）」、２００１年、８月、ＸＰ００２２５１８１３
【非特許文献２】国際特許出願第ＰＣＴ／ＩＢ２００５／０００８２１号に関する国際調査機関からの国際調査報告及び国際調査見解書，２００５年８月５日
【非特許文献３】ローゼンバーグ（Ｒｏｓｅｎｂｅｒｇ），「ＳＴＵＮ−Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  ＵＤＰ  Ｔｈｒｏｕｇｈ  ＮＡＴ）」，２００２年９月，ＸＰ０１５００５０５８
【非特許文献４】クンダン  シン（Ｋｕｎｄａｎ  Ｓｉｎｇｈ）及び  ヘニング  シュルズリン（Ｈｅｎｎｉｎｇ  Ｓｃｈｕｌｚｒｉｎｎｅ），「ＳＩＰを利用したピアツーピアのインターネットテクノロジー（Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ  Ｉｎｔｅｒｎｅｔ  Ｔｅｌｅｐｈｏｎｙ  Ｕｓｉｎｇ  ＳＩＰ）」，コロンビア大学コンピューターサイエンス学部，２００４年１０月３１日、ＸＰ−００２３３６４０８
【非特許文献５】ローリー  ブランド（Ｒｏｒｙ  Ｂｌａｎｄ）ら，「ピアツーピアにおけるルーティング（Ｐ２Ｐ  Ｒｏｕｔｉｎｇ）」
【非特許文献６】ジェフ  タイソン（Ｊｅｆｆ  Ｔｙｓｏｎ），「インスタントメッセージの仕組み（Ｈｏｗ  Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  Ｗｏｒｋｓ）」，［ｏｎｌｉｎｅ］，２００５年３月９日，インターネット<ｗｗｗ．ｖｅｒｉｚｏｎ．ｃｏｍ／ｌｅａｒｎｉｎｇｃｅｎｔｅｒ>
【非特許文献７】サルマンら（Ｓａｌｍａｎ  ｅｔ  ａｌ．），「スカイプにおけるピアツーピアインターネットテレフォニープロトコルの分析（Ａｎ  Ａｎａｌｙｓｉｓ  ｏｆ  ｔｈｅ  Ｓｋｙｐｅ  Ｐｅｅｒ−Ｔｏ−Ｐｅｅｒ  Ｉｎｔｅｒｎｅｔ  Ｔｅｌｅｐｈｏｎｙ  Ｐｒｏｔｏｃｏｌ）」，コロンビア大学コンピューターサイエンス学部，アメリカ合衆国ニューヨーク州ニューヨーク，２００４年９月１５日
【図面の簡単な説明】
【０００５】
【図１】図１は、ハイブリッドピアツーピアシステムの一実施形態のネットワークの略図である。
【図２ａ】図２ａは、図１のシステム内で使用可能なアクセスサーバーアーキテクチャの一実施形態を例示したものである。
【図２ｂ】図２ｂは、図１のシステム内で使用可能なエンドポイントアーキテクチャの一実施形態を例示したものである。
【図２ｃ】図２ｃは、セルラーネットワーク接続のために使用可能な、図２ｂのエンドポイントアーキテクチャ内の構成要素の一実施形態を例示したものである。
【図２ｄ】図２ｄは、２つのエンドポイントを伴う従来のソフトスイッチ構成を例示したものである。
【図２ｅ】図２ｅは、３つのエンドポイントおよびメディアブリッジを伴う従来のソフトスイッチ構成を例示したものである。
【図２ｆ】図２ｆは、２つのエンドポイントを伴う本開示の一実施形態を例示したものであり、各エンドポイントはソフトスイッチを含むものである。
【図２ｇ】図２ｇは、３つのエンドポイントを伴る本開示の一実施形態を例示したものであり、各エンドポイントはソフトスイッチを含むものである。
【図３ａ】図３ａは、図２ｂの種々の構成要素について発呼時におけるインタラクションを例示したシーケンス図である。
【図３ｂ】図３ｂは、図２ｂの種々の構成要素について着呼時におけるインタラクションを例示したシーケンス図である。
【図４】図４は、図１のエンドポイントを認証し、当該エンドポイントが別のエンドポイントと通信することを可能にする例示的な工程を示したシーケンス図である。
【図５】図５は、図１のエンドポイントが別のエンドポイントのステータスを決定する場合の例示的な工程を示したシーケンス図である。
【図６】図６は、図１のアクセスサーバーが１つのエンドポイントを支援して別のエンドポイントとの通信を確立できるようにする場合の例示的な工程を示したシーケンス図である。
【図７】図７は、図１のエンドポイントが、現在オンラインである別のエンドポイントのバディリストに当該図１のエンドポイントを追加するよう要求する場合の例示的な工程を示したシーケンス図である。
【図８】図８は、図１のエンドポイントが、現在オフラインである別のエンドポイントのバディリストに当該図１のエンドポイントを追加するよう要求する場合の例示的な工程を示したシーケンス図である。
【図９】図９は、図１のエンドポイントが、オフラインになる前に、現在オフラインである別のエンドポイントのバディリストに当該図１のエンドポイントを追加するよう要求する場合の例示的な工程を示したシーケンス図である。
【図１０】図１０は、図１のエンドポイントが、オンラインである別のエンドポイントにボイスメールを送信する場合の例示的な工程を示したシーケンス図である。
【図１１】図１１は、図１のエンドポイントが、オフラインである別のエンドポイントにボイスメールを送信する場合の例示的な工程を示したシーケンス図である。
【図１２】図１２は、外部の送信先に接続されたピアツーピアシステムの別の実施形態の略図である。
【図１３】図１３は、図１２のエンドポイントが前記ピアツーピアシステム外部の送信先と直接通信する場合の例示的な工程を示したシーケンス図である。
【図１４】図１４は、エンドポイントがルーティングテーブルをダウンロードして利用することが可能な方法の一実施形態のフローチャートである。
【図１５】図１５は、外部装置が図１２の前記ピアツーピアシステム内のエンドポイントと通信を確立する場合の例示的な工程を示したシーケンス図である。
【図１６】図１６は、エンドポイントが音声自動応答機能を提供する方法の一実施形態のフローチャートである。
【図１７】図１７は、エンドポイントで通信傍受機能を提供する方法の一実施形態のフローチャートである。
【図１８】図１８は、エンドポイントが１若しくはそれ以上の他のエンドポイントへデータをストリームする場合の例示的な工程を示したシーケンス図である。
【図１９】図１９は、エンドポイントが１若しくはそれ以上のバディエンドポイントとプライベートトランザクションを実施する場合の例示的な工程を示したシーケンス図である。
【図２０】図２０は、エンドポイントが１若しくはそれ以上の他のバディエンドポイントとパブリックトランザクションを実施する場合の例示的な工程を示したシーケンス図である。
【図２１】図２１は、エンドポイントが他のエンドポイントと会議通話を確立する場合の例示的な工程を示したシーケンス図である。
【発明を実施するための形態】
【０００６】
本開示は、ピアツーピアハイブリッド通信用のシステムおよび方法を対象にしたものである。以下の開示内容では、異なる実施形態または例を多数提供していると理解される。本開示を簡略化するため、構成要素および配置について特定の例を説明している。当然のことながら、これらは単なる例に過ぎず、限定を意図したものではない。また、本開示では種々の例で繰り返し参照符号を使用する場合がある。この反復は簡潔性および明瞭化を目的とするものであり、それ自体が種々の実施形態および／または開示する構成の関係を決定するものではない。
【０００７】
図１を参照すると、ピアツーピアハイブリッドシステム１００の一実施形態が例示されている。このシステム１００は、パケットネットワーク１０８経由でエンドポイント１０４および１０６に接続されたアクセスサーバー１０２を含む。前記アクセスサーバー１０２と、エンドポイント１０４と、エンドポイント１０６と間の通信は、事前定義され公共利用が可能な（すなわち、非プロプライエタリな）通信規格または通信プロトコル（インターネット・エンジニアリング・タスクフォース（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ：ＩＥＴＦ）や国際電気通信連合電気通信標準化部門（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｔａｎｄａｒｄ  Ｓｅｃｔｏｒ：ＩＴＵ−Ｔ）により定義されたものなど）を使って達成される。例えば、シグナリング通信（セッションのセットアップ、管理、ティアダウンなど）では、セッション・イニシエーション・プロトコル（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ：ＳＩＰ）などのプロトコルを使用することが可能だが、実際のデータトラフィックは、リアルタイム転送プロトコル（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ：ＲＴＰ）などのプロトコルで通信可能である。以下の例でわかるように、通信用の標準プロトコルを使用すると、前記エンドポイント１０４および１０６は同じ規格を使用するいかなる装置とも通信できるようになる。この通信には、音声通話、インスタントメッセージ、音声およびビデオ、電子メール、および他の任意タイプのリソース（任意のデジタルデータ）転送が含まれる可能性がある（これに限定されるものではない）。以下の説明において、メディアトラフィックは一般にユーザーデータグラムプロトコル（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ：ＵＤＰ）に基づいているが、認証は伝送制御プロトコル／インターネットプロトコル（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：ＴＣＰ／ＩＰ）に基づいている。ただし、これらは例示目的で使用するものであり、ＵＤＰおよびＴＣＰ／ＩＰに追加して、またはそれらに代えて他のプロトコルも使用可能であると理解される。
【０００８】
前記アクセスサーバー１０２と、前記エンドポイント１０４と、前記エンドポイント１０６との間の接続は、有線（ワイヤーライン）および／または無線（ワイヤレス）の通信チャネルを含む場合がある。以下の説明において、用語「直接」は、前記エンドポイント１０４と１０６との間の通信チャネル、またはいずれかのエンドポイントと前記アクセスサーバーとの間の通信チャネルにエンドポイントもアクセスサーバーも介在しないことを意味すると理解される。このため、前記アクセスサーバー１０２と、前記エンドポイント１０４と、前記エンドポイント１０６との間に（ルータ、ファイアウォール、および他のネットワーク構成要素などの）他の装置が配置されている場合でも、これらは直接接続されている。また、エンドポイント、位置、またはサービスへの接続はサブスクリプションベースの可能性があり、その場合、エンドポイントは現行のサブスクリプションを有する場合のみアクセスが可能になる。さらに、以下の説明では用語「利用者」および「エンドポイント」を同義的に使用する場合があるが、利用者は複数のエンドポイントのいずれを使用していてもよいと理解される。そのため、エンドポイントがネットワークにログインした場合は、利用者がエンドポイント経由でログインしていると理解され、また前記エンドポイントが前記利用者の本人性を使ってネットワーク上の利用者を表していると理解される。
【０００９】
前記アクセスサーバー１０２は、利用者に関するプロファイル情報と、どの利用者が現在オンラインであるか追跡するためのセッションテーブルと、エンドポイントのアドレスを各オンライン利用者と合致させるルーティングテーブルとを格納する。前記プロファイル情報には各利用者の「バディリスト(ｂｕｄｄｙ  ｌｉｓｔ)」が含まれており、このバディリストでは、当該利用者と通信することを以前合意した他の利用者（「バディ（ｂｕｄｄｉｅｓ）」）が識別されている。利用者がログインすると、その利用者のバディリストに含まれるオンライン利用者が表示され、その後ログインするバディは、（図４を参照して説明するように）オンラインになったことを前記利用者に直接通知する。前記アクセスサーバー１０２は、前記エンドポイント１０４および１０６のそれぞれに、該当するプロファイル情報およびルーティングテーブルを提供し、これらのエンドポイントが互いに直接通信できるようにする。このため、本実施形態においては、前記アクセスサーバー１０２の機能の１つは、エンドポイントが他のエンドポイントとの通信に必要とする情報の格納位置として機能することであり、また以下で詳しく説明するように要求やボイスメールなどの一時的な格納位置として機能することである。
【００１０】
さらに図２ａを参照すると、図１のアクセスサーバー１０２用のアーキテクチャ２００の一実施形態が例示されている。このアーキテクチャ２００は、ハードウェアおよび／またはソフトウェアにより提供することが可能な機能性を含んでおり、この機能性は単一のハードウェアプラットフォームに統合するか、または複数のハードウェアプラットフォームに分散することが可能である。例示のため、以下の例におけるアクセスサーバーは単一装置として説明するが、この用語は、前記アクセスサーバーによる機能性の少なくとも一部が存在する（分散環境を含む）いかなるタイプの環境にも同等に適用されると理解される。
【００１１】
この例において前記アーキテクチャは、ルーティングテーブル２０８と、プロファイル２１０と、１若しくはそれ以上のセッションテーブル２１２とを格納し読み出すため、ウェブサービス２０２（ＸＭＬ、ＳＯＡＰ、ＮＥＴ、ＭＯＮＯの提供する機能に基づくものなど）と、ウェブサーバー２０４（ＡｐａｃｈｅやＩＩＳを使ったものなど）と、データベース２０６（ｍｙＳＱＬやＳＱＬＳｅｒｖｅｒを使ったものなど）とを含む。このアーキテクチャ２００には、ＳＴＵＮ（Ｓｉｍｐｌｅ  Ｔｒａｖｅｒｓａｌ  ｏｆ  ＵＤＰ  ｔｈｒｏｕｇｈ  ＮＡＴｓ  （Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ：ネットワークアドレス変換））サーバー２１４の機能もある。公知のように、ＳＴＵＮは、ＮＡＴファイアウォールまたはそのパケットルーティングを行うルータの後方にある装置を支援するプロトコルである。また、このアーキテクチャ２００は、前記システム１００の外部から発信される要求を処理するリダイレクトサーバー２１６も含む場合がある。前記ＳＴＵＮサーバー２１４および前記リダイレクトサーバー２１６のどちらか一方または双方は、前記アクセスサーバー１０２に組み込むか、またはスタンドアロン装置としてもよい。本実施の形態においては、前記サーバー２０４も前記リダイレクトサーバー２１６も前記データベース２０６に接続される。
【００１２】
図２ｂを参照すると、図１の前記エンドポイント１０４（前記エンドポイント１０６と同様または同一でありうる）用のアーキテクチャ２５０の一実施形態が例示されている。用語「エンドポイント」は、コンピュータ、ＶｏＩＰ電話、携帯情報端末、携帯電話、または必要なプロトコルが動作するＩＰスタックを有する他の任意装置など、説明する機能性の一部または全部を有する異なる多数の装置を指す可能性があると理解される。前記アーキテクチャ２５０は、グラフィカルユーザインターフェース（ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ：ＧＵＩ）２５４とオペレーティングシステム２５６との間に配置されたエンドポイントエンジン２５２を含む。当業者に公知のとおり、前記ＧＵＩ  ２５４は利用者に前記エンドポイントエンジン２５２へのアクセスを提供し、前記オペレーティングシステム２５６はより下層の機能性を提供する。
【００１３】
前記エンドポイントエンジン２５２は、前記エンドポイント１０４の操作を実行する上で必要な機能性をサポートする複数の構成要素およびレイヤーを含みうる。例えば、このエンドポイントエンジン２５２は、ソフトスイッチ２５８と、管理レイヤー２６０と、暗号化／復号化モジュール２６２と、フィーチャーレイヤー２６４と、プロトコルレイヤー２６６と、音声テキスト変換エンジン２６８と、テキスト音声変換エンジン２７０と、言語変換エンジン２７２と、ネットワーク外接続性モジュール２７４と、他ネットワークからの接続モジュール２７６と、ｐコマースエージェントおよびｐコマースブローカーを含むｐコマース（ピアコマースなど）エンジン２７８と、セルラー・ネットワーク・インターフェース・モジュール２８０とを含む。
【００１４】
これらの構成要素／レイヤーは、それぞれさらに複数のモジュールに分割される。例えば、前記ソフトスイッチ２５８は、通話制御モジュールと、インスタントメッセージング（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ：ＩＭ）制御モジュールと、リソース制御モジュールと、ＣＡＬＥＡ（Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ａｓｓｉｓｔａｎｃｅ  ｔｏ  Ｌａｗ  Ｅｎｆｏｒｃｅｍｅｎｔ  Ａｃｔ：法執行のための通信支援法）エージェントと、メディア制御モジュールと、ピア制御モジュールと、シグナリングエージェントと、ファックス制御モジュールと、ルーティングモジュールとを含む。
【００１５】
前記管理レイヤー２６０は、存在（ネットワークでの存在）の有無と、ピア管理（ピアを検出し、オンラインであることをピアに通知）と、ファイアウォール管理（ナビゲーションおよび管理）と、メディア管理と、リソース管理と、プロファイル管理と、認証と、ローミングと、ファックス管理と、メディア再生／録音管理とに関するモジュールを含む。
【００１６】
前記暗号化／複号化モジュール２６２では、発信パケットの暗号化と、着信パケットの複号化とを提供する。この例では、この暗号化／複号化モジュール２６２は、ネットワークよりむしろ送信元においてアプリケーションレベルの暗号化を提供する。ただし、一部の実施形態ではネットワークでこの暗号化／複号化モジュール２６２が暗号化を提供すると理解される。
【００１７】
前記フィーチャーレイヤー２６４は、音声、ビデオ、ＩＭ、データ、ボイスメール、ファイル転送、ファイル共有、クラス５機能、ショートメッセージサービス（ｓｈｏｒｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ：ＳＭＳ）、音声自動応答（ｉｎｔｅｒａｃｔｉｖｅ  ｖｏｉｃｅ  ｒｅｓｐｏｎｓｅ：ＩＶＲ）、ファックス、および他のリソースなど種々の機能をサポートする。前記プロトコルレイヤー２６６は、ＳＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、ＳＴＵＮ、ＲＴＰ、ＳＲＴＰ、およびＩＣＭＰなど、前記エンドポイントによりサポートされるプロトコルを含む。これらは単なる例であり、これより多い、または少いプロトコルもサポート可能であると理解される。
【００１８】
前記音声テキスト変換エンジン２６８は、前記エンドポイントにより（マイクロホンまたはネットワーク経由などで）受信された音声をテキストに変換し、前記テキスト音声変換エンジン２７０は、前記エンドポイントにより受信されたテキストを（スピーカーでの出力用などに）音声に変換し、前記言語変換エンジン２７２は、インバウンド情報またはアウトバウンド情報（テキストまたは音声）を１つの言語から別の言語に変換するよう構成することができる。前記ネットワーク外接続性モジュール２７４は、（図１２を参照して説明するとおり）前記エンドポイントと外部装置間の接続を処理する場合に使用可能であり、前記他ネットワークからの接続モジュール２７６は、外部装置からの着信接続試行を処理する。前記セルラー・ネットワーク・インターフェース・モジュール２８０は、無線ネットワークとのインタラクションに使用することができる。
【００１９】
また図２ｃをさらに参照すると、このセルラー・ネットワーク・インターフェース・モジュール２８０がより詳しく例示されている。図２ｂには示していないが、前記エンドポイントアーキテクチャ２５０の前記ソフトスイッチ２５８は、前記セルラー・ネットワーク・インターフェース・モジュール２８０との通信用にセルラー・ネットワーク・インターフェースを含む。また、前記セルラー・ネットワーク・インターフェース・モジュール２８０は、通話制御モジュール、シグナリングエージェント、メディアマネージャ、プロトコルスタック、装置インターフェースなど、種々の構成要素を含む。これらの構成要素は、一部の実施形態において、前記エンドポイントアーキテクチャ２５０内のレイヤーに対応し、また前記エンドポイントアーキテクチャに直接組み込むことが可能であることに注目されたい。
【００２０】
図２ｄを参照すると、２つのエンドポイント２８２および２８４を伴った従来のソフトスイッチアーキテクチャが例示されており、どちらのエンドポイントにもソフトスイッチは含まれていない。この例では、外部のソフトスイッチ２８６が前記エンドポイント２８２と第１のシグナリングレッグ（点線）を維持し、前記エンドポイント２８４と第２のシグナリングレッグ（点線）維持している。前記ソフトスイッチ２８６によって、これら２本のレッグがリンクされ、前記エンドポイント２８２と２８４との間にシグナリング情報が転送される。メディアトラフィック（実線）は、メディアゲートウェイ２８７を介し、前記エンドポイント２８２と２８４との間で転送される。
【００２１】
さらに図２ｅを参照すると、図２ｄの従来のソフトスイッチアーキテクチャがやはりソフトスイッチを含まない第３のエンドポイント２８８を伴って例示されている。この場合、前記外部ソフトスイッチ２８６は、前記エンドポイント２８８と第３のシグナリングレッグ（点線）を維持している。この例では、会議通話が進行している。但し、いずれのエンドポイントにもソフトスイッチは含まれておらず、メディアトラフィックのためには各エンドポイントに接続されたメディアブリッジ２９０が必要となる。このため、各エンドポイントは、最高２つの同時接続（一方は前記ソフトスイッチとのシグナリングのための接続、他方は前記メディアブリッジとのメディアトラフィック用の接続）を有する。
【００２２】
図２ｆを参照すると、一実施形態では図２ｄおよび２ｅの従来アーキテクチャと異なり、２つのエンドポイント（図１のエンドポイント１０４および１０６など）がそれぞれソフトスイッチ（図２ｂのソフトスイッチ２５８など）を含んでいる。各エンドポイントは、シグナリングおよびメディアトラフィック双方の接続（どちらも仮想レッグおよび物理的レッグ）を他のエンドポイントと確立および維持できる。このモデルでは、前記エンドポイント間で直接通信を処理する際に分散ソフトスイッチ方法を使用するため、外部のソフトスイッチは不要となる。
【００２３】
また図２ｇを参照すると、前記エンドポイント１０４および１０６が、ソフトスイッチを含んだ別のエンドポイント２９２とともに例示されている。この例では、前記エンドポイント１０４がホストとして機能する会議通話が進行中である。これを達成するため、前記エンドポイント１０４に含まれるソフトスイッチは、前記エンドポイント１０４が前記エンドポイント２９２との直接的なシグナリング接続およびメディアトラフィック接続をサポートできるようにする。これにより、前記エンドポイント１０４は、前記エンドポイント１０６と前記エンドポイント２９２との間でメディアトラフィックを双方向に転送できるようになり、図２ｆのように、外部のソフトスイッチを必要とすることなく複数のエンドポイントへの複数の接続をサポートできるようになる。
【００２４】
再び図２ｂを参照すると、動作時、前記ソフトスイッチ２５８は、より下位のレイヤーから提供される機能性を使って他のエンドポイントおよび前記アクセスサーバー１０２との接続を処理し、前記エンドポイント１０４が必要とするサービスを処理する。例えば以下で図３ａおよび図３ｂを参照してより詳しく説明するように、着信呼および発信呼には、前記エンドポイントアーキテクチャ２５０内の複数の構成要素を利用することが可能である。
【００２５】
図３aを参照すると、前記エンドポイント１０４が前記アーキテクチャ２５０の種々の構成要素を使って前記エンドポイント１０６への通話を開始する例示的な工程が、シーケンス図３００に示されている。工程３０２の前に、利用者（図示せず）は前記ＧＵＩ  ２５４経由で通話を開始する。工程３０２において、このＧＵＩ  ２５４は発呼するために（前記ソフトスイッチ２５８の）前記通話制御モジュールにメッセージを転送する。前記通話制御モジュールが工程３０４で前記ピア制御モジュール（ソフトスイッチ２５８）に通信すると、このピア制御モジュールは前記ピアを検出し（既に検出していなかった場合）、前記ルーティングテーブル（ソフトスイッチ２５８）から前記ルーティング情報を検索し、同様な操作を実行する。言うまでもなく、すべてのインタラクションを例示しているわけではない。例えば、前記ピア制御モジュールは、ピアを検出するために（前記管理レイヤー２６０の）前記ピア管理モジュールを利用する場合もある。次に、前記通話制御モジュールが、工程３０６でその通話用のルートを識別し、工程３０８で（前記プロトコルレイヤー２６６の）前記ＳＩＰプロトコルレイヤーにメッセージを送信して発呼する。工程３１０では、アウトバウンドメッセージが（前記暗号化／複号化モジュール２６２を使って）暗号化され、工程３１２では、このメッセージが前記ＯＳ（オペレーティングシステム）２５６経由で前記ネットワークへ送信される。
【００２６】
前記メッセージの送信後かつ応答の受信前、前記通話制御モジュールは、工程３１４で、必要な近端メディアを確立するよう前記メディア制御モジュール（ソフトスイッチ２５８）に命令する。工程３１６で前記メディア制御モジュールが前記命令を（前記管理レイヤー２６０の）前記メディアマネージャに転送すると、このメディアマネージャは前記近端メディアの確立を処理する。
【００２７】
付加的に図３ｂを参照すると、工程３１２で前記エンドポイント１０４が送信したメッセージ（図３ａ）は、前記エンドポイント１０６で受信され、工程３５２で前記ＯＳから前記ＳＩＰプロトコルレイヤーへ転送される。このメッセージは、工程３５４で複号化され、工程３５６で前記通話制御モジュールに通話がオファーされる。工程３５８で、この通話制御モジュールが着信呼のあることを前記ＧＵＩに通知すると、ＧＵＩは、工程３６０でその着信呼が（利用者などにより）承認されたか拒否されたかを識別する入力を受信する。この例では前記着信呼（通話）が承認されて、前記ＧＵＩは工程３６２で当該承認を前記通話制御モジュールに転送する。前記通話制御モジュールが工程３６４で前記ピア制御モジュールに通信すると、当該ピア制御モジュールは、工程３６６で発呼側エンドポイントへのルートを識別してそのルートを前記通話制御モジュールに返す。工程３６８および３７０では、前記着信呼（通話）が承認されたことを前記通話制御モジュールが前記ＳＩＰプロトコルレイヤーに通知し、そのメッセージが前記暗号化／複号化モジュールにより暗号化される。次に、承認メッセージは、工程３７２で前記ＯＳ経由で前記ネットワークへ送信される。
【００２８】
この例では、前記通話制御モジュールが前記承認メッセージを前記ＳＩＰプロトコルレイヤーに転送したのち、前記エンドポイント１０６を前記通話のために準備するよう他の工程が発生する可能性がある。例えば、前記通話制御モジュールは、工程３７４で近端メディアを確立するよう前記メディア制御モジュールに命令し、このメディア制御モジュールは、工程３７６で着信メディアへのリスニングを開始するよう前記メディアマネージャに命令する。また前記通話制御モジュールは、遠端メディアを確立するよう前記メディア制御モジュールに命令し（工程３７８）、このメディア制御モジュールは、工程３８０で音声の送信を開始するよう前記メディアマネージャに命令する。
【００２９】
図３ａに戻ると、前記エンドポイント１０６が送信したメッセージ（工程３７２）は、工程３１８で前記ＯＳにより受信されて前記ＳＩＰプロトコルレイヤーに転送され、工程３２０で複号化される。この（通話が承認されたことを示す）メッセージは、工程３２２で前記通話制御モジュールへ転送され、次に、工程３２４で前記ＧＵＩへ転送される。次に工程３２６で、前記通話制御モジュールは、前記メディア制御モジュールに遠端メディアを確立するよう命令し、このメディア制御モジュールは、工程３２８で、音声の送信を開始するよう前記メディアマネージャに命令する。
【００３０】
以下の図は、前記アクセスサーバー１０２、前記エンドポイント１０４、および１０６が通信に利用する、種々の例示的な機能および操作を示したシーケンス図である。これらの図ではすべてを網羅しているわけではなく、説明する態様を明瞭化するため種々の工程を除外している可能性があると理解される。
【００３１】
（前記エンドポイント１０４を例にとり）図４を参照すると、シーケンス図４００では、前記エンドポイント１０４が前記アクセスサーバー１０２で前記エンドポイント１０６を認証したのちこのエンドポイント１０６と通信する例示的な工程が示されている。以下に説明するように、認証後、前記エンドポイント１０４と１０６との間のすべての通信（シグナリングおよびメディアトラフィックの双方）は、前記アクセスサーバー１０２からのいかなる介入もなく直接発生する。この例では、このシーケンスの開始時どちらのエンドポイントもオンラインではなく、かつ前記エンドポイント１０４および１０６は「バディ」同士であると理解される。上述したように、これらのバディは相互通信することを両者間で以前に合意したエンドポイントである。
【００３２】
工程４０２で、前記エンドポイント１０４は、登録および／または認証要求メッセージを前記アクセスサーバー１０２に送信する。このエンドポイント１０４が前記アクセスサーバー１０２で未登録の場合、このアクセスサーバーは、前記登録要求（利用者ＩＤ、パスワード、電子メールアドレスなど）を受信し、当該エンドポイントのプロファイルを作成する（図示せず）。これらの利用者ＩＤおよびパスワードは、後日前記エンドポイント１０４のログイン中にこのエンドポイントの認証に使用される。これらの利用者ＩＤおよびパスワードによって、利用者は前記エンドポイント１０４からのみでなく、任意のエンドポイントからも認証できるようになることが理解される。
【００３３】
認証時、前記アクセスサーバー１０２は現在前記エンドポイント１０４に関連付けられている利用者ＩＤがオンラインであることを示すよう、当該サーバーに常駐するセッションテーブルを更新する。また、このアクセスサーバー１０２は、現在前記エンドポイント１０４で使用されている利用者ＩＤに関連付けられたバディリストを読み出し、前記セッションテーブルを使って、どのバディがオンラインであるか識別する。前記エンドポイント１０６は現在オフラインであるため、前記バディリストはそのステータスを反映する。次に、前記アクセスサーバー１０２は、工程４０４で前記プロファイル情報（前記バディリストなど）およびルーティングテーブルを前記エンドポイント１０４に送信する。このルーティングテーブルには、バディリストのオンラインメンバーに関するアドレス情報が含まれている。工程４０２および４０４は、前記エンドポイント１０４が前記プロファイル情報およびルーティングテーブルを受信した後に切断される接続の確立および切断を表していると理解される。
【００３４】
工程４０６および４０８において、前記エンドポイント１０６および前記アクセスサーバー１０２は、前記エンドポイント１０４について説明したように、工程４０２および４０４を繰り返す。ただし、前記エンドポイント１０６が認証される時点で前記エンドポイント１０４はオンラインであるため、前記エンドポイント１０６へ送信される前記プロファイル情報は前記エンドポイント１０４のオンラインステータスを反映しており、前記ルーティングテーブルは前記エンドポイント１０４に直接通信する方法を識別する。このため、工程４１０において前記エンドポイント１０６は前記エンドポイント１０４に直接メッセージを送信して、前記エンドポイント１０６がオンラインになったことを前記エンドポイント１０４に通知する。またこの通知により、前記エンドポイント１０６と直接通信するために必要なアドレス情報が前記エンドポイント１０４に提供される。工程４１２では、前記エンドポイント１０４と１０６との間で１若しくはそれ以上の通信セッションを直接確立することが可能である。
【００３５】
図５を参照すると、シーケンス図５００では、エンドポイント（前記エンドポイント１０４など）の認証を行う例示的な工程を示している。また、認証後、前記エンドポイント１０４は前記エンドポイント１０６と通信できるかどうか決定する。この例では、シーケンスの開始時に前記エンドポイント１０６はオンラインである。
【００３６】
工程５０２では、前記エンドポイント１０４が図２の前記ＳＴＵＮサーバー２１４に要求を送信する。公知のように、このＳＴＵＮサーバーは、アウトバウンドＩＰアドレス（前記エンドポイント１０４の後方にある装置（ファイアウォールやルータ）の外部アドレスなど）、外部ポート、および前記装置で使用されるＮＡＴタイプを決定する。このＮＡＴタイプは、例えばｆｕｌｌ  ｃｏｎｅ、ｒｅｓｔｒｉｃｔｅｄ  ｃｏｎｅ、ｐｏｒｔ  ｒｅｓｔｒｉｃｔｅｄ  ｃｏｎｅ、またはｓｙｍｍｅｔｒｉｃである。これらは当該技術分野で知られているため、本明細書では詳しく説明しない。前記ＳＴＵＮサーバー２１４は、工程５０４で前記エンドポイント１０４について得られた情報とともにＳＴＵＮ応答を当該エンドポイント１０４に戻す。
【００３７】
工程５０６では、前記エンドポイント１０４が認証要求を前記アクセスサーバー１０２に送信する。この要求には、前記ＳＴＵＮサーバー２１４から受信したエンドポイント１０４に関する情報が含まれている。工程５０８では、前記アクセスサーバー１０２は前記要求に応答して、関連プロファイルおよびルーティングテーブルを前記エンドポイント１０４に送信する。前記プロファイルには、オンラインである各バディに関する前記外部ＩＰアドレスと、ポートと、ＮＡＴタイプとが含まれる。
【００３８】
工程５１０で、前記エンドポイント１０４は、当該エンドポイント１０４のオンラインステータスを前記エンドポイント１０６に通知するメッセージを送信し（前記エンドポイント１０６はすでにオンラインであるため）、さらに工程５１２で応答を待機する。前記エンドポイント１０６からの応答待ちがタイムアウトすると、前記エンドポイント１０４は、前記エンドポイント１０６のステータスを（ダウンロードされたプロファイル情報で示された）「オンライン」から「到達不能」に変更する。バディのステータスは、各バディに関連付けられたアイコンの色によりバディリスト画像に示される。例えばログイン時、オンラインバディは青いアイコンで、またオフラインバディは赤いアイコンで示される。特定のバディについて通知メッセージへの応答が受信されると、そのバディのアイコンは、そのバディのオンラインステータスを示すよう青から緑に変更される。応答が受信されない場合、当該アイコンは青のままとなり当該バディが到達不能であることを示す。図示していないが、工程５１４の後に前記エンドポイント１０６から送信されて前記エンドポイント１０４で受信されるメッセージは前記エンドポイント１０６が現在到達可能であることを示し、これにより前記エンドポイント１０４は前記エンドポイント１０６のステータスをオンラインに変更する。同様に、その後前記エンドポイント１０４が前記エンドポイント１０６にメッセージを送信して応答を受信した場合も、前記エンドポイント１０４は前記エンドポイント１０６のステータスをオンラインに変更する。
【００３９】
他の実施形態には別のＮＡＴ越え技術を導入することが可能であることが理解される。例えば、ＴＣＰ／ＩＰパケットを使ってＵＤＰに制約されたファイアウォールまたはルータを越える単一のペイロード技術を使用することもできる。別の例としては、ＵＤＰパケットがＴＣＰ／ＩＰパケットに挿入される二重ペイロードを使用する場合もある。さらに、ＳＴＵＮ以外のプロトコルも使用可能であると理解される。例えば、インターネット接続性確立（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｎｅｃｔｉｖｉｔｙ  Ｅｓｔａｂｌｉｓｈｍｅｎｔ：ＩＣＥ）やＴｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙ  ＮＡＴ（ＴＵＲＮ）などのプロトコルも使用できる。
【００４０】
図６を参照すると、シーケンス図６００では、（前記エンドポイント１０４のバディである）前記エンドポイント１０６との通信を確立する際に、前記アクセスサーバー１０２が前記エンドポイント１０４を支援する例示的な工程を示している。支援の提供後、前記アクセスサーバー１０２は通信に関与しなくなり、双方のエンドポイントは直接通信し合えるようになる。この例では、前記エンドポイント１０６は、当該エンドポイント１０６がメッセージを発信した場合のみ（当該エンドポイント１０６宛てに）メッセージを受け入れるＮＡＴ装置の後方にある。この工程を迂回しない限り、前記エンドポイント１０４は前記エンドポイント１０６に接続できない。例えば前記エンドポイント１０４は、それ自体がオンラインになったことを前記エンドポイント１０６に通知できない。
【００４１】
工程６０２では、前記エンドポイント１０６が図２の前記ＳＴＵＮサーバー２１４に要求を送信する。上述したように、前記ＳＴＵＮサーバーは、アウトバウンドＩＰアドレス、外部ポート、および前記エンドポイント１０６用のＮＡＴタイプを決定する。工程６０４で、前記ＳＴＵＮサーバー２１４は前記エンドポイント１０６について収集された情報とともにＳＴＵＮ応答を前記エンドポイント１０６に戻す。工程６０６では、前記エンドポイント１０６が認証要求メッセージを前記アクセスサーバー１０２に送信する。この要求には、前記ＳＴＵＮサーバー２１４から受信した、エンドポイント１０６に関する情報が含まれている。工程６０８では、前記アクセスサーバー１０２が前記要求に応答して、関連プロファイルおよびルーティングテーブルを前記エンドポイント１０６に送信する。この例において、前記アクセスサーバー１０２は、前記エンドポイント１０６に関連付けられたＮＡＴタイプを、インバウンドパケットの着信が許可される前にアウトバウンドパケットの送信を必要とするタイプとして識別している。このため、前記アクセスサーバー１０２は、前記エンドポイント１０６に当該アクセスサーバー１０２へ定期的にメッセージを送信し、ＮＡＴ装置を越えるためのピンホールを確立および維持するよう命令する。例えば、前記エンドポイント１０６は前記ＮＡＴ装置のタイムアウト前にメッセージを送信して、タイムアウト時間をリセットする。このようして、前記ピンホールは無期限に開いたままとなる。
【００４２】
工程６１２および６１４では、前記エンドポイント１０４がＳＴＵＮ要求を前記ＳＴＵＮサーバー２１４に送信し、このＳＴＵＮサーバーが前述のように応答する。工程６１６では、前記エンドポイント１０４が認証要求を前記アクセスサーバー１０２に送信する。前記アクセスサーバー１０２は、前記エンドポイント１０４のバディリストを読み出し、前記エンドポイント１０６が前記エンドポイント１０４からの通信をブロックするＮＡＴタイプに関連付けられていると識別する。このため、工程６１８で、前記アクセスサーバー１０２が前記エンドポイント１０６に支援メッセージを送信する。この支援メッセージによって、前記エンドポイント１０６は前記エンドポイント１０４にメッセージを送信するよう命令を受け、これにより前記ＮＡＴ装置に前記エンドポイント１０４のためのピンホールが開く。セキュリティ上、前記アクセスサーバー１０２は前記エンドポイント１０４に関するＳＴＵＮ情報を有するため、前記エンドポイント１０６により開けられた前記ピンホールは、特に当該ＳＴＵＮ情報に関連付けられた前記エンドポイントにのみ限定される。さらに、前記アクセスサーバー１０２は、前記エンドポイント１０６のバディリストに含まれないエンドポイント用にはこのようなピンホールを要求しない可能性がある。
【００４３】
前記アクセスサーバー１０４は、工程６２０で前記エンドポイント１０４に前記プロファイルおよび前記ルーティングテーブルを送信する。工程６２２では、前記エンドポイント１０６が前記エンドポイント１０４にメッセージ（ｐｉｎｇパケットなど）を送信する。次に、前記エンドポイント１０４はそのメッセージに応答し、それ自体がオンラインになったことを前記エンドポイント１０６に通知する。前記エンドポイント１０６は、所定の時間内に前記エンドポイント１０４から返信を受信しない場合、前記ピンホールを閉じる可能性がある（これは、単に別のメッセージを送信せずに前記ピンホールをタイムアウトさせることによって起こる）。従って、前記ＮＡＴ装置に起因する問題は前記支援メッセージを使って克服でき、その後は前記アクセスサーバー１０２の介入がなくても前記２つのエンドポイントは通信し合うことができる。
【００４４】
図７を参照すると、シーケンス図７００では、前記エンドポイント１０６が前記エンドポイント１０４のバディリストに追加されるよう要求する例示的な工程が示されている。この例において前記エンドポイント１０４および１０６は、どちらも工程全体にわたりオンラインのままである。
【００４５】
上記のとおり、工程７０２において、前記エンドポイント１０４は登録および／または認証要求メッセージを前記アクセスサーバー１０２に送信する。認証時、前記アクセスサーバー１０２は現在前記エンドポイント１０４に関連付けられている利用者ＩＤがオンラインであることを示すよう、当該サーバーに常駐するセッションテーブルを更新する。また、このアクセスサーバー１０２は、現在前記エンドポイント１０４で使用されている利用者ＩＤに関連付けられたバディリストを読み出し、前記セッションテーブルを使って、（バディが存在する場合）どのバディがオンラインであるか識別する。前記エンドポイント１０６は現在前記バディリストに含まれていないため、リストでは不在である。次に工程７０４で、前記アクセスサーバー１０２はプロファイル情報およびルーティングテーブルを前記エンドポイント１０４に送信する。
【００４６】
工程７０６および７０８において、前記エンドポイント１０６および前記アクセスサーバー１０２は、前記エンドポイント１０４について説明したように、工程７０２および７０４を繰り返す。前記アクセスサーバー１０２から前記エンドポイント１０６に送信されたプロファイル情報は、これら２つのエンドポイントがまだバディ同士でないため、前記エンドポイント１０４を含まない。
【００４７】
工程７１０では、前記エンドポイント１０６は、前記エンドポイント１０４を当該バディリストに追加するよう要求するメッセージを前記アクセスサーバー１０２に送信する。工程７１２において、前記アクセスサーバー１０２は、（例えば前記セッションテーブルを使って）前記エンドポイント１０４がオンラインであることを決定し、工程７１４で前記エンドポイント１０４のアドレスを前記エンドポイント１０６に送信する。工程７１６では、前記エンドポイント１０６は、当該エンドポイント１０６を前記エンドポイント１０４のバディリストに追加するよう要求するメッセージを直接前記エンドポイント１０４に送信する。工程７１８で、前記エンドポイント１０４は許可または拒否をもって前記エンドポイント１０６に応答し、工程７２０ではその応答内容で前記アクセスサーバー１０２を更新する。例えば、前記応答が許可を与えるものである場合、前記エンドポイント１０４は前記アクセスサーバー１０２に通知して、当該アクセスサーバー１０２が双方のエンドポイントのプロファイルを修正して新しい関係を反映できるようにする。当然のことながら、他の種々のアクションも実行可能である。例えば、前記エンドポイント１０４が前記要求を拒否した場合、前記アクセスサーバー１０２は、以降前記エンドポイント１０６から（前記エンドポイント１０４に関する）要求があっても一定の時間が経過するまで応答しない場合もある。
【００４８】
バディリストについては、多くの異なる操作が実行可能であると理解される。例えば、バディについては削除やブロック／ブロック解除、バディステータスについては更新、バディプロファイルについては更新などを行うことが可能である。ブロック／ブロック解除、およびステータスとプロファイルの更新の場合は、当該アクションを要求しているエンドポイント（前記エンドポイント１０４など）により、まずメッセージが前記アクセスサーバー１０２に送信される。前記アクセスサーバー１０２側で更新が行われると、前記エンドポイント１０４は、前記アクションで影響を受けるピア（前記エンドポイント１０６など）にメッセージを送信する。
【００４９】
バディの削除は以下のように処理される。前記エンドポイント１０４の利用者が、前記オンラインのエンドポイント１０６に現在関連付けられている連絡先をバディリストから削除したい場合、前記エンドポイント１０４は、まずそのバディを削除することを前記アクセスサーバー１０２に通知する。次に前記アクセスサーバー１０２は、双方の利用者のプロファイルを更新し、どちらのバディリストからも他方の利用者がバディとして表示されないようにする。なお、この場合は、一方の利用者による片側からのアクションだけで他方の利用者のプロファイルも変更される。次に、前記エンドポイント１０４は直接前記エンドポイント１０６にメッセージを送信し、（前記エンドポイント１０４の利用者である）バディをエンドポイント１０６の利用者のバディリストからリアルタイムで削除する。これにより、前記エンドポイント１０６で利用者がオンラインであっても、前記エンドポイント１０４の利用者は前記エンドポイント１０６のバディリストから削除される。
【００５０】
図８を参照すると、シーケンス図８００では、前記エンドポイント１０６が前記エンドポイント１０４のバディリストに追加されるよう要求する例示的な工程が示されている。この例において、前記エンドポイント１０４は、前記エンドポイント１０６が要求を行うまでオンラインにならない。
【００５１】
前述のように、工程８０２において、前記エンドポイント１０６は登録および／または認証要求メッセージを前記アクセスサーバー１０２に送信する。認証時、前記アクセスサーバー１０２は現在前記エンドポイント１０６に関連付けられている利用者ＩＤがオンラインであることを示すよう、当該サーバーに常駐するセッションテーブルを更新する。また、このアクセスサーバー１０２は、現在前記エンドポイント１０６で使用されている利用者ＩＤに関連付けられたバディリストを読み出し、前記セッションテーブルを使って、（バディが存在する場合）どのバディがオンラインであるか識別する。次に、前記アクセスサーバー１０２は、工程８０４でプロファイル情報およびルーティングテーブルを前記エンドポイント１０６に送信する。
【００５２】
工程８０６では、前記エンドポイント１０６は、前記エンドポイント１０４を当該バディリストに追加するよう要求するメッセージを前記アクセスサーバー１０２に送信する。前記アクセスサーバー１０２は、工程８０８で前記エンドポイント１０４がオフラインであることを決定し、工程８１０で前記要求メッセージを一時的に格納する。工程８１２および８１４において、前記エンドポイント１０４および前記アクセスサーバー１０２は、前記エンドポイント１０６について説明したように、工程８０２および８０４を繰り返す。ただし、前記アクセスサーバー１０２は、前記エンドポイント１０４に前記プロファイル情報およびルーティングテーブルを送信する際、前記エンドポイント１０６による（前記エンドポイント１０６のアドレス情報を含む）要求も送信する。
【００５３】
工程８１６で、前記エンドポイント１０４は、許可または拒否をもって前記エンドポイント１０６に直接応答する。次に、工程８１８で、前記エンドポイント１０４は、前記応答の結果で前記アクセスサーバー１０２を更新し、また一時的に格納されていた前記要求を削除するよう前記アクセスサーバーに命令する。
【００５４】
図９を参照すると、シーケンス図９００では、前記エンドポイント１０６が前記エンドポイント１０４のバディリストに追加されるよう要求する例示的な工程が示されている。この例では、前記エンドポイント１０４は前記エンドポイント１０６が要求を行うまでオンラインにはならない。さらに、前記エンドポイント１０６はオンラインではなく、前記エンドポイント１０４による応答を受信しない。
【００５５】
前述のように、工程９０２において、前記エンドポイント１０６は登録および／または認証要求メッセージを前記アクセスサーバー１０２に送信する。認証時、前記アクセスサーバー１０２は現在前記エンドポイント１０６に関連付けられている利用者ＩＤがオンラインであることを示すよう、当該サーバーに常駐するセッションテーブルを更新する。また、前記アクセスサーバー１０２は、現在前記エンドポイント１０６で使用されている利用者ＩＤに関連付けられたバディリストを読み出し、前記セッションテーブルを使って、（バディが存在する場合）どのバディがオンラインであるか識別する。次に、前記アクセスサーバー１０２は、工程９０４でプロファイル情報およびルーティングテーブルを前記エンドポイント１０６に送信する。
【００５６】
工程９０６では、前記エンドポイント１０６は、前記エンドポイント１０４を当該バディリストに追加するよう要求するメッセージを前記アクセスサーバー１０２に送信する。前記アクセスサーバー１０２は、工程９０８で前記エンドポイント１０４がオフラインであることを決定し、工程９１０で前記要求メッセージを一時的に格納する。工程９１２では、前記エンドポイント１０６はこれからオフラインになることを前記アクセスサーバー１０２に通知する。
【００５７】
工程９１４および９１６において、前記エンドポイント１０４および前記アクセスサーバー１０２は、前記エンドポイント１０６について説明したように、工程９０２および９０４を繰り返す。ただし、前記アクセスサーバー１０２は、前記エンドポイント１０４に前記プロファイル情報およびルーティングテーブルを送信する際、前記エンドポイント１０６による要求も送信する。工程９１８でエンドポイント１０４は前記要求に対する応答を前記アクセスサーバー１０２に送信し、また一時的に格納されていた前記要求を削除するよう前記アクセスサーバーに命令する。（前記エンドポイント１０４が許可を与えたと仮定すると）前記エンドポイント１０６の次回の認証プロセスからは、そのプロファイル情報にエンドポイント１０４がバディとして含まれるようになる。
【００５８】
図１０を参照すると、シーケンス図１０００では、前記エンドポイント１０６が前記エンドポイント１０４へのボイスメールを格納する例示的な工程が示されている。この例では、前記エンドポイント１０６はオンラインだが、通話には対応できない状態である。
【００５９】
工程１００２では、前記エンドポイント１０４は前記エンドポイント１０６に通話要求メッセージを送信し、これら２つのエンドポイント間で通話が確立されるよう要求する。工程１００４では、その要求に前記エンドポイント１０６がメッセージで応答し、ビジー状態で通話に対応できないことを示す。ボイスメール（図示せず）の録音後、工程１００６で前記エンドポイント１０４がそのボイスメールを前記アクセスサーバー１０２に送信すると、工程１００８で前記アクセスサーバー１０２がそれを一時的に格納する。次に工程１０１０で、前記エンドポイント１０４は、メッセージ（メッセージ待機インジケータ（ｍｅｓｓａｇｅ  ｗａｉｔｉｎｇ  ｉｎｄｉｃａｔｏｒ：ＭＷＩ）など）を前記エンドポイント１０６へ送信したのち、工程１０１２で前記エンドポイント１０６に前記ボイスメールを送信する。前記エンドポイント１０６は、（例えばそれまでの通話を終了してから）工程１０１４でそのボイスメールを受信し、工程１０１６で、一時的に格納されていた前記ボイスメールを削除するよう前記アクセスサーバー１０２に命令する。前記エンドポイント１０６は、前記ボイスメールに対し、保存、転送、応答など異なる多数のアクションを実行可能であると理解される。
【００６０】
図１１を参照すると、シーケンス図１１００では、前記エンドポイント１０６が前記エンドポイント１０４からのボイスメールを受信する例示的な工程が示されている。この例では、前記ボイスメールが録音および送信される時点で、前記エンドポイント１０６はオフラインである。工程１１０２において、前記エンドポイント１０４は前記エンドポイント１０６がオフラインであることを決定する。前述のように、このような決定は、前記エンドポイント１０４が認証された時点で前記エンドポイント１０６がオンラインでなかった（前記アクセスサーバー１０２からの前記プロファイル情報で示される）という事実と、前記エンドポイント１０６が前記エンドポイント１０４の認証以来ログインしていない（ログインした場合は図４を参照して説明したとおり前記エンドポイント１０４に通知される）という事実とに基づいて行われる。前記エンドポイント１０６がオフラインであるため、工程１１０４で前記エンドポイント１０４が録音済みボイスメールを前記アクセスサーバー１０２に送信すると、工程１１０６で前記アクセスサーバー１０２はそのボイスメールを一時的に格納する。工程１１０８で、前述のとおり前記エンドポイント１０６が前記アクセスサーバー１０２で認証されると、前記アクセスサーバーは、工程１１１０で前記エンドポイント１０６へ関連するプロファイル情報およびルーティングテーブルを送信する。認証後に通常前記エンドポイント１０６へ送信される情報に加え、前記アクセスサーバー１０２はメッセージ待機インジケータなどのメッセージを送信し、格納されているボイスメールがあることを前記エンドポイント１０６に通知する。工程１１１２および１１１４では、前記エンドポイント１０６が録音された前記ボイスメールを読み出し、このボイスメールを前記サーバーから削除するよう当該アクセスポイント１０２に命令する。
【００６１】
図１２の別の実施形態では、図１のシステム１００がより大きなシステム１２００の一部を形成する「ホームシステム（ｈｏｍｅ  ｓｙｓｔｅｍ）」として例示されている。このホームシステムには、前記アクセスサーバー１０２に登録済みのエンドポイントがすべて含まれている。このホームシステム１００のほかに（当該ホームシステム１００に対する）外部装置がいくつか例示されており、この外部装置としては、外部エンドポイント１２０２（例えばＳＩＰ電話、コンピュータ、携帯情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ：ＰＤＡ）、家庭用電化製品、ビジネスまたは家庭用自動制御システムなど、ＳＩＰ対応のもの）が含まれている。他の外部装置としては、ゲートウェイ１２０４やＩＰＰＢＸ  １２０６などがあり、どちらもＰＳＴＮ  １２０８に接続されている。また、前記ゲートウェイ１２０４はセルラーネットワーク１２１０にも接続されており、このセルラーネットワーク１２１０は、無線アクセスネットワーク、コアネットワーク、および他のセルラーネットワーク構成要素を含んでいる（図示せず）。この例では、前記ゲートウェイ１２０４も前記ＩＰＰＢＸ  １２０６も、ＳＩＰベースの前記エンドポイント１０４および１０６と直接通信することを可能にする非プロプライエタリインターフェース（ＳＩＰインターフェースなど）を含む。前記システム１２００の種々の部分は、有線および／または無線のインターフェースおよび構成要素を含んでいる場合があることが理解される。
【００６２】
前記ホームシステム１００内の前記エンドポイント１０４および１０６は、（前述のとおり）利用者が供給するクレデンシャルを使って前記アクセスサーバー１０２により認証される。前記エンドポイント１０４、１０６と、前記ホームシステム１００の外部にある装置との間の通信は、以下のとおり直接行われる。前記アクセスサーバー１０２は、ルーティングテーブルリポジトリとして機能する。前述のとおり、ルーティングテーブルは、前記ホームネットワーク１００内でバディと接続するため前記エンドポイント１０４、１０６が必要とする情報を含む。この例において、前記ルーティングテーブル（または別のルーティングテーブル）は、前記エンドポイント１０４、１０６が前記外部装置に接続するために必要とする情報も含む。外部の装置、位置、またはサービスへの接続はサブスクリプションベースであり、特定のエンドポイントのルーティングテーブルのみが当該エンドポイントが現行のサブスクリプションを有する外部装置のアドレス情報を有する。例えば前記エンドポイント１０４に関連付けられたプロファイルは、当該エンドポイントがＰＳＴＮ通話プランなどのサービスをサブスクライブしているかを表すフラグを有する場合がある。
【００６３】
図１３を参照すると、シーケンス図１３００では、前記エンドポイント１０４が図１２の前記システム１２００内の前記外部エンドポイント１２０２に直接通信する例示的な工程が示されている。前記エンドポイント１２０２はオンラインであり、前記エンドポイント１０４には、このエンドポイント１２０２と通信する権限（サブスクリプションなど）がある。この例ではシグナリングのためにＳＩＰを使用し、メディアトラフィックのためにＲＴＰを使用しているが、他のプロトコルも使用可能であると理解される。
【００６４】
工程１３０２では、前述のとおり、前記エンドポイント１０４が認証要求メッセージを前記アクセスサーバー１０２に送信する。認証後、工程１３０４で、前記アクセスサーバー１０２は、プロファイル情報およびルーティングテーブルを前記エンドポイント１０４に送信する。前記エンドポイント１０４が認証されると、このエンドポイントの利用者は、前記エンドポイント１２０２に対し（ＶｏＩＰ通話などを）発呼する。工程１３０６では、前記エンドポイント１０４が利用者が入力した番号に対し、ディジット収集およびディジット分析を行う。エンドポイント１０４は、ルーティングテーブルおよびソフトスイッチの双方を具備しているため、前記エンドポイント１２０２を識別し、直接発呼することができる。
【００６５】
工程１３０８では、前記エンドポイント１０４および１０６が通話を設定する。例えば、前記エンドポイント１０４は、ＳＩＰ  ＩＮＶＩＴＥメッセージを直接前記エンドポイント１２０２に送信する。前記エンドポイント１０４は、前記エンドポイント１２０２が必要とするクレデンシャルをすべて提供しなければならない。前記エンドポイント１２０２は２００  ＯＫメッセージで応答し、前記エンドポイント１０４はＡＣＫメッセージで応答する。次に前記エンドポイント１０４および１２０２は、ＶｏＩＰ通話にＲＴＰセッションを使用する（工程１３１０）。前記ＲＴＰセッションが完了すると、工程１３１２で通話がティアダウンされる。以上、前記ホームシステム１００におけるエンドポイント間の例で説明したとおり、前記エンドポイント１０４は、認証中に前記プロファイルおよびルーティングテーブルをダウンロードした後は、前記アクセスサーバー１０２が介入することなく、前記エンドポイント１２０２（またはゲートウェイ１２０４かＩＰＰＢＸ  １２０６）と直接通信する。
【００６６】
別の外部エンドポイント１２１２も前記エンドポイント１２０２の場合と同じ態様で通信可能であるが、この通信は、前記ゲートウェイ１２０４およびセルラーネットワーク１２１０経由でルーティングする必要が出てくる。前記エンドポイント１２０２と同様、前記エンドポイント１０４は、前記アクセスサーバー１０２からの介入を受けずに前記エンドポイント１２１２と直接通信可能である。
【００６７】
図１４を参照すると、方法１４００では、外部通信用に前記アクセスサーバー１０２の前記ルーティングテーブルを利用する上で考えられる一連のイベントが例示されている。この方法は、エンドポイント（前記エンドポイント１０４など）が前記アクセスサーバー１０２に認証される工程１４０２で開始する。工程１４０４において、前記エンドポイント１０４は、該当するサービスのサブスクリプションがあるかどうか（前記エンドポイント１０４に前記ホームネットワーク外部との通話が許可されているか）といった要因に応じて、１若しくはそれ以上のルーティングテーブルをダウンロードする。これらのルーティングテーブルは生データ形式でダウンロードされ、前記エンドポイント１０４は、工程１４０６で当該生データを処理し、工程１４０８で最適なルーティング規則を生成する。この時点で、前記エンドポイント１０４は前記ルーティング規則を使って他のエンドポイントと通信可能である。
【００６８】
前記ルーティングテーブルは、前記アクセスサーバー１０２において変化する可能性がある。例えば、新しいサービス領域や新しいサブスクリプションオプションがアクセス可能になる可能性がある。しかし、前記エンドポイント１０４は、ログオフして再びログオンするまでこういった変化を認識しない。このため前記アクセスサーバー１０２は、工程１４１０で、前記ルーティングテーブルに変更があった旨の通知を送信する。工程１４１２では、前記エンドポイント１０４が当該エンドポイントの前記ルーティングテーブルに関し変更があったかどうかを決定する。例えば、前記エンドポイント１０４がログオン直後である場合、前記ルーティングテーブルは更新されている可能性がある。代替的に、または追加的に、前記通知では、どのルーティングテーブルが変更されたのかが示されていない可能性があるため、前記エンドポイントは使用するルーティングテーブルのうち変更されたものがあるかどうかを決定する必要がある。
【００６９】
前記ルーティングテーブルが変更されている場合、前記エンドポイント１０４は、工程１４１４で、その変更が比較的大きなものか小さなものかを決定する。その変更が大きかった場合、前記方法は工程１４０４に戻り、前記ルーティングテーブルがダウンロードされる。前記変更が小さかった場合、前記方法は工程１４１６へ進み、前記エンドポイント１０４は前記ルーティングテーブルを更新する（例えば、前記エンドポイント１０４は変更された情報のみをダウンロードする）。既存のルーティング規則に新しい情報を追加するには、その準備に何らかの処理が必要となると理解される。
【００７０】
外部装置に発呼する場合（工程１４１８）、前記エンドポイント１０４は、工程１４２０で自らのルーティング規則内に該当するものがあるかを決定する。該当規則があった場合、前記エンドポイント１０４は、工程１４２２で、そのルーティング規則を使用して適切なゲートウェイまたはエンドポイントへ通話をルーティングする。該当する規則がなかった場合、前記エンドポイント１０４は通話のルーティングに十分な情報がないと決定し（工程１４２４）、その通話工程を終了する。
【００７１】
図１５を参照すると、シーケンス図１５００では、前記エンドポイント１２０２が、ＳＩＰメッセージングを使って、図１２の前記システム１２００内の前記エンドポイント１０４との通信の確立を試行する例示的な工程が示されている。工程１５０２では、前記エンドポイント１２０２がＳＩＰ  ＩＮＶＩＴＥメッセージをリダイレクトサーバー（図２ａの前記リダイレクトサーバー２１６など）に送信する。このリダイレクトサーバー２１６は、工程１５０４でデータベース（図２ａの前記データベース２０６など）にアクセスし、前記エンドポイント１０４の連絡先情報を取得する。また、この情報は前記エンドポイント１０４が必要とするクレデンシャル（利用者名やパスワードなど）も含む場合がある。クレデンシャルが必要な場合、前記リダイレクトサーバー２１６は、工程１５０６で、当該クレデンシャルを要求するメッセージを前記エンドポイント１２０２に送信する。前記エンドポイント１２０２は、工程１５０８でそのクレデンシャル要求に応答して、クレデンシャルを含むＳＩＰ  ＩＮＶＩＴＥを前記リダイレクトサーバー２１６へ送信する。次に、前記リダイレクトサーバー２１６は、工程１５１０で、前記エンドポイント１０４のアドレス情報と伴にリダイレクトメッセージを前記エンドポイント１２０２に送信する。次に、工程１５１２では、前記エンドポイント１２０２がＳＩＰ  ＩＮＶＩＴＥメッセージで前記エンドポイント１０４に直接通信する。前記エンドポイント１０４が応答しない場合（オフラインの場合など）、前記リダイレクトサーバー２１６は、前記エンドポイント１０４が応答しない旨のメッセージを前記エンドポイント１２０２に送信する。
【００７２】
再び図１２を参照すると、この例では前記ホームシステム１００がリソースサーバー１２１４を含んでいる。このリソースサーバー１２１４は前記アクセスサーバー１０２の一部でありうるが、例示のため別個のサーバーとして分離されている。前記アクセスサーバー１０２および前記リソースサーバー１２１４は、アクセス権限および同様な事柄を識別するため、互いに通信自在（図示せず）である。前記リソースサーバー１２１４は、前記エンドポイント１０４および１０６用に種々のリソースを格納および分散する。前述したように、リソースとは任意タイプのデジタルデータを表す。動作時、エンドポイント（前記エンドポイント１０４など）は、前記エンドポイント１０６から後日読み出せるよう、リソースを前記リソースサーバー１２１４に格納するか、あるいは当該リソースを直接前記エンドポイント１０６に転送することが可能である。さらに、前記リソースサーバー１２１４は、前記エンドポイント１０６だけでなく他のエンドポイントにもリソースを分散する場合もある。このように、前記リソースサーバー１２１４は、一時的または永久的なストレージとして機能する。一部の実施形態では、前記リソースサーバー１２１４は、前記エンドポイント１０４および１０６から提供されるクレデンシャルに基づきアクセスを制限する。例えば前記エンドポイント１０４が特定のリソース用のクレデンシャルのみを有する場合、前記リソースサーバーは、前記エンドポイントのアクセスをそれらのリソースのみに限定する。エンドポイントと前記リソースサーバー間の通信は、２つのエンドポイントに関して前述したように直接行われる。
【００７３】
上記のエンドポイントおよび／またはアクセスサーバーを使って異なる多数の方法を実施可能であることが理解される。以下、種々の方法を例として説明するが、他の多くの方法または方法の変形形態が可能であることは言うまでもない。
【００７４】
一実施形態ではポート循環法が実施され、これにより、通信のリスニングに使用するポートを変更／循環が可能になり、セキュリティが向上する。前記循環は、前記エンドポイント動作のアイドル時間中に行われる。例えば、アイドル時間が検出されると、使用されていないポートがランダムに選択される。次に、前記エンドポイントは前記アクセスサーバーに新しいルート情報を通知し、すべてのオンラインバディにピアツーピア通知を行いポート／ルート情報の変更を知らせる。
【００７５】
別の実施形態では、エンドポイント経由で無線通話を行う。例えば、（図２ｂの前記セルラー・ネットワーク・インターフェース２８０を使うなどにより）３Ｇ（第三世代）または任意類似の無線ネットワークとの直接的なインターフェースを、直接ピアツーピアハイブリッドシステム内の前記エンドポイントから可能にする方法を実施する。前記エンドポイントが起動されると、無線モジュールがその存在を前記無線ネットワークに通知する。この時点で、前記無線ネットワークに対する発呼および着呼が可能になる。前記エンドポイントは、ネットワークの無線側からＩＰ側へ通話をブリッジすることもできる。例えば、前記エンドポイントにおいて無線電話から前記無線インターフェース経由で通話を受信した場合、当該エンドポイントの利用者は、当該ネットワークのＩＰ側にある任意のバディエンドポイントへ通話をルーティングするよう選択できる。このブリッジング機能は、前記エンドポイントの別の能力である。同様に、前記ＩＰ側での着呼を前記無線側へブリッジすることもできる。
【００７６】
図１６を参照すると、別の実施形態では、音声自動応答（ＩＶＲ）（図２ｂの前記フィーチャーレイヤー２６４が提供するＩＶＲサポートなど）ともに方法１６００を使用して、自動応答がオンの場合に通話を自動的に処理することができる。この自動応答では、利用者がビジー状態または不在で着呼や他形態の通信に対応できない場合、通信への対応以外のタスクを実行を可能にする機能性が提供される。前記方法１６００では利用者に代わって通話が自動的に終了され、当該利用者により定義された他のタスクが実行される（メッセージを残す、別の送信先にルーティングするなど）。
【００７７】
この例では、前記方法１６００は、エンドポイント（前記エンドポイント１０４など）が通話を受信する工程１６０２から開始する。工程１６０４では、前記自動応答が有効にされているかどうかが決定される（ＩＶＲ機能がオンになっているかなど）。有効でない場合、前記方法は工程１６０６へ進み、前記通話が通常通り処理される。有効である場合、工程１６０８で前記通話は承認され前記ＩＶＲ機能が起動される。工程１６１０では、前記通話が接続される。
【００７８】
図１７を参照すると、さらに別の実施形態では、方法１７００を使ってエンドポイント（前記エンドポイント１０４など）において通信傍受機能を提供する。このような機能は、例えば図２ｂの前記ソフトスイッチ２５８の前記ＣＡＬＥＡエージェントにより提供可能である。前記方法は、前記エンドポイント１０４が発呼または着呼する工程１７０２で始まる。工程１７０４で決定されるように、前記エンドポイントが通信傍受されている場合、前記方法は工程１７０６へ進み、通話の開始がログされる。次に、前記方法１７００は工程１７０８へ進み、通話が確立される。前記エンドポイントが通信傍受されていない場合、前記方法は工程１７０６を省略し、直接工程１７０８へ進む。工程１７１０では、前記通話に関連付けられたメディアをキャプチャすべきか決定される。キャプチャすべきと決定された場合、前記メディアは、工程１７１２でキャプチャされて指定された法執行機関へ安全にストリームされる。次に、前記方法は工程１７１４へ進み、通話終了後、前記通話がティアダウンされる。キャプチャすべきメディアがない場合、前記方法は工程１７１０から工程１７１４へ直接進む。工程１７１８では、（工程１７１６で決定されたように通信傍受が有効である場合）通話の終了がログされ、工程１７２０で前記エンドポイント１０４がアイドル状態に戻る。現在の例では、このログ情報もキャプチャされた時点で前記法執行機関へ安全にストリームされる。
【００７９】
別の実施形態では、Ｆｉｎｄ  Ｍｅ  Ｆｏｌｌｏｗ  Ｍｅ（ローミング）方法を使って、前記ピアツーピアハイブリッド環境において前記エンドポイントに同時に複数のセッションを提供する。前記エンドポイントは、複数の場所でサインインして、オファーされたサービスにアクセスし、バディである他のエンドポイントとピアツーピア態様で直接通信することができる。この方法では、１つのエンドポイントがバディ宛てに通信を試行する際にバディが複数の場所でサインオンしている場合、発信元バディが当該バディがサインインしている全ての場所へメッセージを送信する。前記エンドポイントが、サインインしている前記複数の場所のいずれか１つから応答した時点で、他のエンドポイントへの要求は取り下げられ、通信要求を承認した前記エンドポイントと通信が継続される。
【００８０】
図１８を参照すると、さらに別の実施形態でシーケンス図１８００は例示的な工程を示しており、この工程により、前記エンドポイント１０４は、１若しくはそれ以上の他のバディエンドポイント１０６および２９２（図２ｇ）に対し、一度に１つずつ、または双方同時にリアルタイムでデータをストリームする。工程１８０２および１８０４では、発信元エンドポイント（前記エンドポイント１０４など）が、それぞれ前記エンドポイント１０６および２９２にデータをストリームする旨の要求を送信する。この要求を受信した前記エンドポイントは、当該要求を承認または拒否するメッセージで応答する（工程１８０６および１８０８）。（工程１８１０で示すとおり）前記要求が承認されると、データストリームに対する前記要求を承認した全バディへデータストリームが送信される（工程１８１２および１８１４）。終端エンドポイント１０６および２９２では、前記データストリームの処理を扱えるアプリケーションを利用者が選択し、当該データを利用する。一部のアプリケーションは、認識または事前定義されたデータ型に応じ、前記エンドポイントにより自動的に選択可能であることが理解される。次に、前記ストリームは、当該エンドポイントにより処理される（工程１８１６および１８１８）。工程１８２０および１８２２では、前記エンドポイント１０４が、それぞれ前記エンドポイント１０６および２９２に前記ストリームを終了する旨の要求を送信する。前記エンドポイント１０６および２９２は、工程１８２４および１８２６でそれぞれ処理を中止する。
【００８１】
さらに別の実施形態では、Ｓｍａｒｔ  ＩＭ（商標）（開発元Ｄａｍａｋａ，Ｉｎｃ．、米国テキサス州Ｒｉｃｈａｒｄｓｏｎ）またはＥｎｈａｎｃｅｄ  ＩＭ（強化ＩＭ）用の方法を使って、前記エンドポイントにより送受信されたテキストデータを、テキスト音声変換システムによりリアルタイムで音声に変換することが可能である。テキストデータは、前記ネットワークから、またはローカルに受信して、音声信号に変換し再生することができる。このような機能性は、例えば図２ｂの前記テキスト音声変換エンジン２７０により提供可能である。
【００８２】
さらに別の実施形態では、前記エンドポイントにより送受信された音声データを、音声テキスト変換システムによりリアルタイムでテキスト形態に変換する方法が提供される。音声データは、前記ネットワークから、またはローカルに受信して、利用者が処理できるようテキスト信号に変換することができる。このような機能性は、例えば図２ｂの前記音声テキスト変換エンジン２６８により提供可能である。
【００８３】
一実施形態では、前記エンドポイントにより送受信されるテキストデータに対する修正サービス（スペルチェックなど）を提供する方法を使用する。さらに別の実施形態では、一方法により、前記エンドポイントで送受信中のテキストデータに関連する付加的な情報を得るため、利用者が検索エンジンによりワールドワイドウェブすなわちインターネットで検索を行えるようにする機能性を提供可能である。さらに別の実施形態では、一方法により、１若しくはそれ以上の言語変換エンジン（図２ｂの前記言語変換エンジン２７２など）を使って、前記エンドポイントで送受信中のテキストデータに対し言語変換を実行するための機能性を提供可能である。
【００８４】
さらに別の実施形態では、一方法により、前記エンドポイントで受信されたテキストデータを、後日読み出せるよう当該エンドポイントでアーカイブできるようにする機能性を提供する。例えば、データベース（ＳＱＬ）エンジンを使用して、前記エンドポイントによりバディから受信されたデータを格納およびインデックスし、より高速に読み出すことが可能である。さらに、標準的なクエリインターフェースを使って、データを格納、または利用者への提示用に読み出すことができる。
【００８５】
さらに別の実施形態では、ＳＭＳ機能性を提供する一方法を使用する。このような機能性は、例えば図２ｂの前記フィーチャーレイヤー２６４の前記ＳＭＳ機能により提供可能である。例えばＳＭＳテーブルは、エンドポイントが前記ネットワークにログオンする際に前記ルーティングテーブルとともにダウンロードすることが可能である。前記エンドポイントがモバイル設定を有する場合、前記エンドポイントは、このＳＭＳ機能で直接通信できる。
【００８６】
図１９を参照すると、さらに別の実施形態でシーケンス図１９００は例示的な工程を示しており、この工程により、前記エンドポイント１０４は、エンドポイント１０６および２９２で表されるバディに対し、プライベートトランザクションを開始する（商品オファーを送信する、オークション工程を開始するなど）。工程１９０２および１９０４では、前記エンドポイント１０４が、１若しくはそれ以上の商品を販売するオファーを含むメッセージを、それぞれ前記エンドポイント１０６および２９２に送信する。工程１９０６および１９０８では、前記エンドポイント１０６および２９２のそれぞれが、前記オファーを承認または拒否するメッセージ、またはカウンターオファーのメッセージを返す。前記エンドポイント１０４の利用者は、受信したメッセージを検討し、工程１９１０で一方を承認する、双方を拒否する、一方または双方にカウンターオファーを返信するなど行うことが可能である。この工程（オファー、応答、検討）は、オファーが最終的に承認されるか拒否されるまで継続する。この例ではバディ間でインタラクションが起こるため、実際の金融取引が電子的に行われない場合もある。
【００８７】
図２０を参照すると、さらに別の実施形態でシーケンス図２０００は例示的な工程を示しており、この工程により、前記エンドポイント１０４はパブリックトランザクションを開始する（オファーする、オークション工程を開始するなど）。工程２００２では、前記エンドポイント１０４が商品を掲示するためのメッセージを前記アクセスサーバー１０２に送信する。このメッセージには、商品の説明、開始価格、オークションの開始日／終了日などの情報が含まれる。工程２００４では、（この例ではバディでない）前記エンドポイント１０６がこの商品の情報を前記サーバーから取得する。得られた情報には前記エンドポイント１０４の「代理ＩＤ」とそれに関連付けられたアドレス情報とが含まれている。前記代理ＩＤは前記商品の販売のためだけに前記エンドポイント１０４に割り当てるもので、これにより、前記エンドポイント１０６は、前記エンドポイント１０４の利用者の実際のＩＤを取得することなく前記エンドポイント１０４に直接通信することができる。このため、この商品の販売が終了した時点で、前記エンドポイント１０６は前記エンドポイント１０４と連絡を取ることができなくなる。
【００８８】
工程２００６では、前記エンドポイント１０６は前記エンドポイント１０４に入札メッセージを直接送信する。工程２００８では、前記エンドポイント１０４は、入札および入札者の情報により前記アクセスサーバーの情報を更新する。図示していないが、バディエンドポイントも掲示商品に対し入札することが可能である。工程２０１０では、前記エンドポイント１０４の利用者が入札内容を検討し、（存在すれば）落札者を選択してその落札者に直接通知を行う（工程２０１２）。工程２０１４では売買取引が行われる。この例では、前記取引は互いにバディでない者の間で起こりうるため、第三者のクリアリングハウスにより実施される。ただしバディが落札した場合、関係者はプライベートトランザクションを行う可能性がある。また、いかなる関係者も（バディかどうかにかかわらず）希望に応じて当該トランザクション（取引）を取り決めることが可能であると理解される。一部の実施形態では、この工程は、保留中の入札について関係者に直接または間接に通知する工程や、承認／拒否された入札価格について関係者に通知する工程などを含む場合がある。また販売者は、（最高の入札価格だけでなく）望ましい任意の入札価格を承認し、随時競売を終了することができる。競売が行われる時点でエンドポイントがオフラインの場合（工程２００６のメッセージ送信時に前記エンドポイント１０４がオフラインである場合や、工程２０１２のメッセージ送信時に前記エンドポイント１０６がオフラインである場合など）、前記メッセージは、前記エンドポイントが前述のとおりログインする際、認証中にダウンロードされる。
【００８９】
図２１を参照すると、さらに別の実施形態でシーケンス図２１００は例示的な工程を示しており、この工程により、前記エンドポイント１０４は、他のエンドポイント（前記エンドポイント１０６および１２０２など。この例では双方とも前記エンドポイント１０４のバディである）と会議通話を開始する。ただし、前記エンドポイント１０６および１２０２は、互いにバディであってもなくてもよいことに注目されたい。工程２１０２および２１０４では、前記エンドポイント１０４が、それぞれ前記エンドポイント１０６および１２０２に会議通話への参加を求める要求を送信する。前記エンドポイント１０６および１２０２は、それぞれ工程２１０６および２１０８で承認または拒否をもって応答する。この例では、（工程２１１０で示されるように）エンドポイント１０６および１２０２は双方とも前記要求を承認する。
【００９０】
次に、前記エンドポイント１０４は、工程２１１２および２１１４で（テキスト情報または音声情報などの）メディアをそれぞれ前記エンドポイント１０６および１２０２に送信する。（前記エンドポイント１０６などからの）着信メディアは、工程２１１６で前記エンドポイント１０４に受信され、工程２１１８で当該エンドポイント１０４から前記エンドポイント１２０２へ送信される。この例において、前記エンドポイント１０４は、情報をマルチキャストするのでなく、むしろ各エンドポイントとの個別ピアツーピア接続を使ってこの会議通話をホストしている。前記エンドポイント１０６および１２０２は、前記エンドポイント１０４を介して会議通話で接続されており、直接通信し合っているわけではないため、互いにバディ同士である必要はない。このため、この例の前記エンドポイント１０４は、前記会議通話に関連付けられたルーティングエントリを２つ有する。その一方はエンドポイント１０６用のルーティングエントリで、他方はエンドポイント１２０２用のルーティングエントリである。他の実施形態では、前記エンドポイント１０４から前記エンドポイント１０６および１２０２へのデータ送信にマルチキャストを使用する場合もある。
【００９１】
図２１を参照して説明した工程は、他のシナリオにも適用できると理解される。例えば、前記エンドポイント１０４は多人数参加型ゲームのホストとして機能してもよい。その場合、着信データは、前記エンドポイントにより、ホストされているゲームに関連付けられた他のエンドポイントへ分散される。
【００９２】
上記では１若しくはそれ以上の実施形態を示し説明してきたが、当業者であれば、本発明の要旨を変更しない範囲で、種々の変形形態が可能なことが理解されるであろう。例えば、特定のシーケンス図で例示した種々の工程を組み合わせてもよいし、またはさらに分割してもよい。また、１つの図で説明した工程を別の図に組み込むことも可能である。例えば、図５の前記ＳＴＵＮ要求／応答工程をこの工程を示していない図にも組み込むことが可能である。さらに、説明した機能性はハードウェアおよび／またはソフトウェアで提供可能であり、これらは分散させるか、もしくは単一のプラットフォームに混在させることができる。さらに、特定の例で説明した機能性は例示と異なる態様でも達成しうるが、それらも本開示に包含されるものである。したがって、添付した特許請求の範囲は本開示と一貫して広義に解釈されるべきである。
【図１】
2011103121.tif 000003
【図２ａ】
2011103121.tif 000004
【図２ｂ】
2011103121.tif 000005
【図２ｃ】
2011103121.tif 000006
【図２ｄ】
2011103121.tif 000007
【図２ｅ】
2011103121.tif 000008
【図２ｆ】
2011103121.tif 000009
【図２ｇ】
2011103121.tif 000010
【図３ａ】
2011103121.tif 000011
【図３ｂ】
2011103121.tif 000012
【図４】
2011103121.tif 000013
【図５】
2011103121.tif 000014
【図６】
2011103121.tif 000015
【図７】
2011103121.tif 000016
【図８】
2011103121.tif 000017
【図９】
2011103121.tif 000018
【図１０】
2011103121.tif 000019
【図１１】
2011103121.tif 000020
【図１２】
2011103121.tif 000021
【図１３】
2011103121.tif 000022
【図１４】
2011103121.tif 000023
【図１５】
2011103121.tif 000024
【図１６】
2011103121.tif 000025
【図１７】
2011103121.tif 000026
【図１８】
2011103121.tif 000027
【図１９】
2011103121.tif 000028
【図２０】
2011103121.tif 000029
【図２１】
2011103121.tif 000030
【外国語明細書】
2011103121000001.pdf
2011103121000002.pdf
2011103121000003.pdf
2011103121000004.pdf