(57)【特許請求の範囲】
【請求項１】
送信側クライアント・システムと受信側クライアント・システムとの間でインスタント・メッセージング・ホストを介したテキスト・インスタント・メッセージング通信セッションを確立する段階と、
前記セッション期間に前記送信側クライアント・システムに入力されたテキスト本文を有するテキスト・インスタント・メッセージを、前記インスタント・メッセージング・ホストが受信し、前記受信側クライアント・システムへ送信する段階と、
前記テキスト・インスタント・メッセージの受信時に、前記受信側クライアント・システムが、前記テキスト本文とボタンの表示を含む第１のテキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースを表示する段階と、
前記受信側クライアント・システムにおける前記ボタンの選択により、前記送信側クライアント・システムと前記受信側クライアント・システムとの間で前記インスタント・メッセージング・ホストを介して音声通信セッションを確立する段階と、
を含む通信方法。
【請求項２】
前記インスタント・メッセージング・ホストが、受信した前記テキスト・インスタント・メッセージを認証する段階をさらに含む、請求項１に記載の方法。
【請求項３】
前記テキスト・インスタント・メッセージを認証する段階が、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも一方に関連付けられたスクリーン・ネームを識別する段階を含む、請求項２に記載の方法。
【請求項４】
前記テキスト・インスタント・メッセージを認証する段階が、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも一方に関連付けられたＩＰアドレスを識別する段階を含む、請求項２に記載の方法。
【請求項５】
前記インスタント・メッセージング・ホストが前記受信側クライアント・システムの音声通信能力を決定する段階をさらに含む、請求項１に記載の方法。
【請求項６】
音声通信能力を決定する前記段階が、前記受信側クライアント・システムに関連付けられたハードウェアを識別する段階を含む、請求項５に記載の方法。
【請求項７】
音声通信能力を決定する前記段階が、前記受信側クライアント・システムに関連付けられたソフトウェアを識別する段階を含む、請求項５に記載の方法。
【請求項８】
前記受信側クライアント・システムの音声通信能力を前記送信側クライアント・システムに報告する段階をさらに含む、請求項５に記載の方法。
【請求項９】
前記受信側クライアント・システムの前記音声通信能力に従って変動する第２のテキスト・インスタント・メッセージング・インターフェースを前記送信側クライアント・システムに提示する段階をさらに含む、請求項８に記載の方法。
【請求項１０】
音声通信を確立するための要求を前記インスタント・メッセージング・ホストが受信する段階をさらに含む、請求項１に記載の方法。
【請求項１１】
前記要求が前記送信側クライアント・システムからのものである、請求項１０に記載の方法。
【請求項１２】
前記要求が前記受信側クライアント・システムからのものであり、前記受信側クライアント・システムでの前記ボタンの選択に応答して受信される、請求項１０に記載の方法。
【請求項１３】
前記要求を認証する段階をさらに含む、請求項１０に記載の方法。
【請求項１４】
前記要求を認証する段階が、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも一方に関連付けられたスクリーン・ネームを識別する段階を含む、請求項１３に記載の方法。
【請求項１５】
前記要求を認証する段階が、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも一方に関連付けられたＩＰアドレスを識別する段階を含む、請求項１３に記載の方法。
【請求項１６】
音声通信を開始する前記段階が、ジェネリック・シグナリング・インタフェース・チャネル、制御チャネル及びオーディオ・チャネルを前記送信側クライアント・システムと前記受信側クライアント・システムとの間で確立する段階を含む、請求項１に記載の方法。
【請求項１７】
前記オーディオ・チャネル上でモードＵＤＰテストを試みる段階をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記制御チャネルがＴＣＰ／ＩＰソケットを含む、請求項１６に記載の方法。
【請求項１９】
前記オーディオ・チャネルがＵＤＰチャネルを含む、請求項１６に記載の方法。
【請求項２０】
前記オーディオ・チャネルがＴＣＰチャネルを含む、請求項１６に記載の方法。
【請求項２１】
インスタント・メッセージング・ホストを備える通信装置であって、
前記インスタント・メッセージング・ホストが、
送信側クライアント・システムと受信側クライアント・システムとの間でインスタント・メッセージング・ホストを介したテキスト・インスタント・メッセージング通信セッションを確立し、
前記セッション期間に前記送信側クライアント・システムに入力されたテキスト本文を有するテキスト・インスタント・メッセージを受信し、
前記セッション期間に前記送信側クライアント・システムからの前記テキスト・インスタント・メッセージを前記受信側クライアント・システムへ送信することを可能にし、
前記テキスト・インスタント・メッセージの受信時に、前記テキスト本文とボタンの表示を含むテキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースを前記受信側クライアント・システムに表示することを可能にし、
前記受信側クライアント・システムが前記ボタンを選択して、前記送信側クライアント・システムと前記受信側クライアント・システムとの間で音声通信を開始するのを可能にする、
よう構成されてなる通信装置。
【請求項２２】
コンピュータ可読媒体に記憶されたコンピュータ・プログラムであって、
送信側クライアント・システムと受信側クライアント・システムとの間でインスタント・メッセージング・ホストを介したテキスト・インスタント・メッセージング通信セッションを確立し、
前記セッション期間に前記送信側クライアント・システムに入力されたテキスト本文を有するテキスト・インスタント・メッセージを前記インスタント・メッセージング・ホストが受信し、
前記セッション期間に前記送信側クライアント・システムが前記テキスト・インスタント・メッセージを前記受信側クライアント・システムへ送信し、
前記テキスト本文とボタンの表示を含むテキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースを前記受信側クライアント・システムが表示し、
前記テキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースの表示を、前記受信側クライアント・システムによる前記テキスト・インスタント・メッセージの受信時に前記テキスト・インスタント・メッセージに応答して生じ、
前記受信側クライアント・システムにおける前記ボタンの選択により、前記送信側クライアント・システムと前記受信側クライアント・システムとの間で前記インスタント・メッセージング・ホストを介して音声通信セッションを確立する、
命令を含む、コンピュータ可読媒体に記憶されたコンピュータ・プログラム。
【請求項２３】
前記コンピュータ可読媒体がディスクである、請求項２２に記載のコンピュータ・プログラム。
【請求項２４】
前記コンピュータ可読媒体がクライアント・デバイスである、請求項２２に記載のコンピュータ・プログラム。
【請求項２５】
前記コンピュータ可読媒体がホスト・デバイスである、請求項２２に記載のコンピュータ・プログラム。
【請求項２６】
インスタント・メッセージング通信セッション期間に送信側クライアント・システムに入力されたテキスト本文を含む、受信側クライアント・システムへ宛てたテキスト・インスタント・メッセージを前記インスタント・メッセージング・ホストが前記送信側クライアント・システムから受信する段階と、
前記テキスト・インスタント・メッセージの受信に応答して、前記インスタント・メッセージング・ホストが、音声通信を許容する受信側クライアント・システムの能力を決定する段階と、
前記セッション期間に前記送信側クライアント・システムが前記テキスト・インスタント・メッセージを前記受信側クライアント・システムへ送る段階と、
前記テキスト本文とボタンとの表示を含むテキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースを前記受信側クライアント・システムが表示する段階であって、前記テキスト・インスタント・メッセージング・グラフィカル・ユーザ・インターフェースの表示を、前記受信側クライアント・システムが音声通信を許容することができると決定されるかどうかに依存して、前記受信側クライアント・システムによる前記テキスト・インスタント・メッセージの受信時に前記テキスト・インスタント・メッセージに応答して生じる段階と、
前記受信側クライアント・システムにおける前記ボタンの選択により、前記受信側クライアント・システムと前記送信側クライアント・システムとの間で前記インスタント・メッセージング・ホストを介して音声通信セッションを確立する段階と、
を含む通信方法。
【請求項２７】
前記インスタント・メッセージング・ホストが前記受信したテキスト・インスタント・メッセージを認証するよう更に構成される、請求項２１に記載の装置。
【請求項２８】
前記インスタント・メッセージング・ホストが、前記送信側クライアント・システム及び前記受信側クライアント・システムのうちの少なくとも１つに関連付けられたスクリーン・ネームを識別することによって、前記テキスト・インスタント・メッセージを認証するよう構成される、請求項２７に記載の装置。
【請求項２９】
前記インスタント・メッセージング・ホストが、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも１つに関連付けられたＩＰアドレスを識別することによって、前記テキスト・インスタント・メッセージを認証するよう構成される、請求項２７に記載の装置。
【請求項３０】
前記インスタント・メッセージング・ホストが前記受信側クライアント・システムの音声通信能力を決定するよう更に構成される、請求項２１に記載の装置。
【請求項３１】
前記インスタント・メッセージング・ホストが、前記受信側クライアント・システムに関連付けられたハードウェアを識別することによって、音声通信能力を決定するよう構成される、請求項３０に記載の装置。
【請求項３２】
前記インスタント・メッセージング・ホストが、前記受信側クライアント・システムに関連付けられたソフトウェアを識別することによって、音声通信能力を決定するよう構成される、請求項３０に記載の装置。
【請求項３３】
前記インスタント・メッセージング・ホストが、前記受信側クライアント・システムの音声通信能力を前記送信側クライアント・システムへ報告するよう更に構成される、請求項３０に記載の装置。
【請求項３４】
前記インスタント・メッセージング・ホストが、前記受信側クライアント・システムの音声通信能力にしたがって変動する、前記送信側クライアント・システムに対する第２のテキスト・インスタント・メッセージング・インターフェースを提示できるよう更に構成される、請求項３３に記載の装置。
【請求項３５】
前記インスタント・メッセージング・ホストが音声通信を確立する要求を受信するよう更に構成される、請求項２１に記載の装置。
【請求項３６】
前記要求が前記送信側クライアント・システムからのものである、請求項３５に記載の装置。
【請求項３７】
前記要求が前記受信側クライアント・システムからのものであり、前記受信側クライアント・システムによる前記ボタンの選択に応答して受信される、請求項３５に記載の装置。
【請求項３８】
前記インスタント・メッセージング・ホストが、前記要求を認証するよう更に構成される、請求項３５に記載の装置。
【請求項３９】
前記インスタント・メッセージング・ホストが、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも１つと関連付けられたスクリーン・ネームを識別することによって、前記要求を認証するよう構成される、請求項３８に記載の装置。
【請求項４０】
前記インスタント・メッセージング・ホストが、前記送信側クライアント・システムと前記受信側クライアント・システムとのうちの少なくとも１つと関連付けられたＩＰアドレスを識別することによって、前記要求を認証するよう構成される、請求項３８に記載の装置。
【請求項４１】
前記インスタント・メッセージング・ホストでの前記ボタンの選択に応じて、前記送信側クライアント・システムと前記受信側クライアント・システムとの間に確立されるジェネリック・シグナリング・インタフェース、制御チャネル及びオーディオ・チャネルを動作可能にすることによって音声通信を開始する、請求項２１に記載の装置。
【請求項４２】
前記制御チャネルがＴＣＰ／ＩＰソケットを含む、請求項４１に記載の装置。
【請求項４３】
前記オーディオ・チャネルがＵＤＰチャネルを含む、請求項４１に記載の装置。
【請求項４４】
前記オーディオ・チャネルがＴＣＰチャネルを含む、請求項４１に記載の装置。
【発明の詳細な説明】
【０００１】
本出願は、２０００年３月１７日に出願された米国仮出願第６０／１８９９７４号及び２０００年１０月１３日に出願された米国仮出願第６０／２３９９１７号の利益を請求する。
【０００２】
技術分野
本発明は、一般に、通信システムの加入者間でのデータの転送に関するもので、より詳細には、インスタント・メッセージング・ホストの加入者間でオーディオ・データを転送することに関する。
【０００３】
背景
オンライン・サービス・プロバイダは、絶えず新しいサービスを提供し、既存のサービスをアップグレードして、その加入者のオンライン体験を向上させている。加入者は、ニュース、天気、金融、スポーツ、娯楽のサービスにオンデマンドでアクセスすることができ、また、電子メッセージの送信やオンライン・ディスカッション・グループへの参加が可能である。例えば、アメリカ・オンラインやコンピュサーブなどのオンライン・サービス・プロバイダの加入者は、世界中に位置するサーバから様々な話題に関する情報を閲覧し検索することができる。サーバは、オンライン・サービスを構成するコンピュータ群の世界的なネットワークを介して情報及びサービスを利用可能にするサービス・プロバイダ又は第三者プロバイダによって維持される。
【０００４】
アメリカ・オンラインは、インスタント・メッセージを送受信する能力を加入者に提供してきた。インスタント・メッセージは、インスタント・メッセージング・サービスに加入して必要なソフトウェアをインストールした２人以上の間での私的なオンラインの会話である。このようなオンラインの会話は本質的にリアルタイムで行われるので、インスタント・メッセージングは、所望の情報への即座のアクセスを提供することができる。インスタント・メッセージングは、オンライン加入者間の好ましい通信手段になりつつある。
【０００５】
概要
一般的な一つの態様においては、送信側と少なくとも１つの受信側との間でインスタント・メッセージング・ホストを介したインスタント・メッセージング通信を可能にすることにより、通信システムのユーザ間で電子データが転送される。さらに、送信側と受信側との間でインスタント・メッセージング・ホストを介した音声通信も可能になる。
【０００６】
実現形態は以下の特徴の１つ以上を含むことができる。例えば、実現形態は、送信側からのテキスト・インスタント・メッセージをインスタント・メッセージング・ホストで受信して認証すること、受信側の能力を決定すること、受信側の能力を報告すること、音声通信を確立するよう求める要求を送信側及び／又は受信側から受信すること、及び／又は、要求を認証することを含むことができる。認証は、送信側及び／又は受信側のスクリーン・ネーム及び／又はＩＰアドレスを識別することを含むことができる。受信側の能力の決定は、受信側に関連するハードウェア又はソフトウェアを識別することを含むことができる。受信側の能力に従って、ユーザ・インタフェースを表示することができる。
【０００７】
音声通信は、ジェネリック・シグナリング・インタフェース・チャネル、制御チャネル及びオーディオ・チャネルを送信側と受信側との間で確立することによって可能にされる。オーディオ・チャネル上でモードＵＤＰテストを試みることができる。制御チャネルはＴＣＰ／ＩＰソケットを含むことができる。オーディオ・チャネルはＵＤＰ又はＴＣＰチャネルを含むことができる。
【０００８】
これら及び他の一般的な態様は、装置によって、及び／又は、コンピュータ可読媒体に記憶されたコンピュータ・プログラムによって、実施することができる。コンピュータ可読媒体は、ディスク、クライアント・デバイス、ホスト・デバイス及び／又は伝搬される信号を含む。
【０００９】
その他の特徴及び利点は、図面を含む以下の説明から、及び特許請求の範囲から明らかになるであろう。
詳細な説明
例示の目的で、図１〜５は、電子データを転送する技法を実施するための通信システムについて説明している。簡潔にするために、以下に述べる図中の要素のいくつかは一体構造のものとして表される。しかし、当業者には理解されるように、これらの要素はそれぞれ、１組の特定の動作を実施するように設計された及び／又は特定の地域に専用の相互接続された多くのコンピュータ及びコンポーネントを含むことができる。
【００１０】
図１を参照すると、通信システム１００は、クライアント・システム１０５とホスト・システム１１０の間で通信リンク１１５を介してデータを伝達及び交換することができる。クライアント・システム１０５は、典型的には、１つ以上のクライアント・デバイス１２０及び／又はクライアント・コントローラ１２５を備える。例えば、クライアント・システム１０５は、１つ以上の汎用コンピュータ（例えばパーソナル・コンピュータ）、１つ以上の特定目的コンピュータ（例えば、相互に及び／又はホスト・システム１１０と通信するように特にプログラムされたデバイス）、或いは１つ以上の汎用コンピュータと１つ以上の特定目的コンピュータとの組合せを備えることができる。クライアント・システム１０５は、例えば１つ以上のＬＡＮ（「ローカル・エリア・ネットワーク」）及び／又は１つ以上のＷＡＮ（「ワイド・エリア・ネットワーク」）などの１つ以上の他のシステムの内部で或いはそのようなシステムと協調して動作するように構成され得る。
【００１１】
クライアント・デバイス１２０は、一般に、クライアント・コントローラ１２５のコマンドに従って命令を実行することができる。クライアント・デバイス１２０は、データを伝達することのできる有線又は無線のデータ経路１３０によってクライアント・コントローラ１２５に接続される。
【００１２】
クライアント・デバイス１２０及びクライアント・コントローラ１２５はそれぞれ、典型的には、１つ以上のハードウェア・コンポーネント及び／又はソフトウェア・コンポーネントを備える。クライアント・デバイス１２０の一例は、規定の方式で命令に応答して該命令を実行することのできる汎用コンピュータ（例えばパーソナル・コンピュータ）である。他の例には、命令に応答して該命令を実行することのできる特定目的コンピュータ、ワークステーション、サーバ、デバイス、コンポーネント、その他の装置、又は、これらの何らかの組合せが含まれる。クライアント・コントローラ１２５の一例は、クライアント・デバイス１２０によって可能にされる通信を命令及び指示するためにクライアント・デバイス１２０にロードされたソフトウェア・アプリケーションである。他の例には、本明細書に述べるように対話及び動作を行うように独立して又は集合的にクライアント・デバイス１２０に命令するためのプログラム、コード、命令、デバイス、コンピュータ、コンピュータ・システム、又はこれらの組合せが含まれる。クライアント・コントローラ１２５は、クライアント・デバイス１２０に命令を与えることのできる任意の形式のマシン、コンポーネント、装置、記憶媒体又は伝搬される信号において永久的に又は一時的に具体化され得る。
【００１３】
通信リンク１１５は、典型的には、クライアント・システム１０５とホスト・システム１１０との間で、物理的な分離に無関係に、直接的又は間接的な通信を形成する伝達ネットワーク１６０を含む。伝達ネットワーク１６０の例には、インターネット、ワールド・ワイド・ウェブ、ＷＡＮ、ＬＡＮ、アナログ又はディジタルの有線又は無線の電話網（例えばＰＳＴＮ、ＩＳＤＮ、ｘＤＳＬ）、ラジオ、テレビジョン、ケーブル、衛星、及び／又は、データを搬送するための他の任意の伝達機構が含まれる。通信リンク１１５は、前述の１つ以上の伝達ネットワーク１６０を介した通信を可能にする通信経路１５０、１５５を含み得る。各通信経路１５０、１５５は、例えば、有線又は無線の、ケーブル通信路又は衛星通信経路を含んでよい。
【００１４】
ホスト・システム１１０は、ホスト・コントローラ１４０のコマンド及び指示に従って命令を実行することのできるホスト・デバイス１３５を備える。ホスト・デバイス１３５は、データを搬送及び伝達することのできる有線又は無線のデータ経路１４５によってホスト・コントローラ１４０に接続される。
【００１５】
ホスト・システム１１０は、典型的には、１つ以上のホスト・デバイス１３５及び／又はホスト・コントローラ１４０を備える。例えば、ホスト・システム１１０は、１つ以上の汎用コンピュータ（例えばパーソナル・コンピュータ）、１つ以上の特定目的コンピュータ（例えば、相互に及び／又はクライアント・システム１０５と通信するように特にプログラムされたデバイス）、或いは、１つ以上の汎用コンピュータと１つ以上の専用コンピュータの組合せを備えることができる。ホスト・システム１１０は、例えば１つ以上のＬＡＮ（「ローカル・エリア・ネットワーク」）及び／或いは１つ以上のＷＡＮ（「ワイド・エリア・ネットワーク」）などの１つ以上の他のシステムの内部で、或いはそのようなシステムと協調して動作するように構成することができる。
【００１６】
ホスト・デバイス１３５及びホスト・コントローラ１４０はそれぞれ、典型的には、１つ以上のハードウェア・コンポーネント及び／又はソフトウェア・コンポーネントを備える。ホスト・デバイス１３５の一例は、規定の方式で命令に応答して該命令を実行することのできる汎用コンピュータ（例えばパーソナル・コンピュータ）である。他の例には、命令に応答して該命令を実行することのできる特定目的コンピュータ、ワークステーション、サーバ、デバイス、コンポーネント、その他の装置、又はこれらの何らかの組合せが含まれる。ホスト・コントローラ１４０の一例は、ホスト・デバイス１３５によって可能にされる通信を命令及び指示するためにホスト・デバイス１３５にロードされたソフトウェア・アプリケーションである。他の例には、本明細書に述べるように対話及び動作するように独立して又は集合的にホスト・デバイス１３５に命令するためのプログラム、コード、命令、デバイス、コンピュータ、コンピュータ・システム又はこれらの組合せが含まれる。ホスト・コントローラ１４０は、ホスト・デバイス１３５に命令を与えることのできる任意の形式のマシン、コンポーネント、装置、記憶媒体又は伝搬される信号において、永久的又は一時的に具体化され得る。
【００１７】
図２は、通信リンク２１５を介してホスト・システム２１０と通信するクライアント・システム２０５を含む通信システム２００を示している。クライアント・システム２０５は、典型的には、１つ以上のクライアント・デバイス２２０と、クライアント・デバイス２２０を制御するための１つ以上のクライアント・コントローラ２２５とを備える。ホスト・システム２１０は、典型的には、１つ以上のホスト・デバイス２３５と、ホスト・デバイス２３５を制御するための１つ以上のホスト・コントローラ２４０を備える。通信リンク２１５は、１つ以上の伝達ネットワーク２６０を介した通信を可能にする通信経路２５０、２５５を含み得る。
【００１８】
図２の通信システム内の各要素の例は、図１に関して概略的に上で記述されている。特に、ホスト・システム２１０及び通信リンク２１５は、典型的には、図１のホスト・システム１１０及び通信リンク１１５に関して述べた属性と同等の属性を有する。同様に、図２のクライアント・システム２０５は、典型的には、図１のクライアント・システム１０５と同等の属性を有しており、その可能な一つの実施形態を示している。
【００１９】
クライアント・デバイス２２０は、典型的には、オペレーティング・システム２７４（例えばＤＯＳ、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）９５、Ｗｉｎｄｏｗｓ（登録商標）９８、Ｗｉｎｄｏｗｓ（登録商標）２０００、Ｗｉｎｄｏｗｓ（登録商標）ＮＴ、ＯＳ／２、Ｌｉｎｕｘ）や１つ以上のアプリケーション・プログラムなどのプログラムやデータを記憶するための内部又は外部記憶装置２７２を有する汎用コンピュータ２７０を備える。アプリケーション・プログラムの例は、ドキュメントその他の電子コンテンツを生成することのできるオーサリング・アプリケーション２７６（例えば、ワード・プロセッシング、データベース・プログラム、表計算プログラム又はグラフィックス・プログラム）、他のコンピュータ・ユーザと通信し、様々なコンピュータ・リソースにアクセスし、電子コンテンツを閲覧、生成又は操作することのできるクライアント・アプリケーション２７８（例えばＡＯＬクライアント、コンピュサーブ・クライアント、ＡＩＭクライアント、ＡＯＬ  ＴＶクライアント、ＩＳＰクライアント）、及び、標準的なインターネット・コンテンツをレンダリングすることのできるブラウザ・アプリケーション２８０（例えばネットスケープ・ナビゲータやマイクロソフト社のインターネット・エクプローラ）を含む。
【００２０】
また、汎用コンピュータ２７０は、クライアント・コントローラ２２５からのコマンドに応答して命令を実行するための中央処理装置２８２（ＣＰＵ）を備える。一つの実現形態では、クライアント・コントローラ２２５は、汎用コンピュータ２７０の内部又は外部記憶装置２７２にインストールされた１つ以上のアプリケーション・プログラムを含む。別の実現形態では、クライアント・コントローラ２２５は、汎用コンピュータ２７０の外部にある１つ以上のデバイスに外部記憶され且つ当該デバイスによって実行されるアプリケーション・プログラムを含む。
【００２１】
汎用コンピュータは、典型的には、データを送受信するための通信デバイス２８４を備える。通信デバイス２８４の一例はモデムである。他の例には、送受信機、セットトップ・ボックス、通信カード、衛星放送受信アンテナ、アンテナ、又は、有線又は無線のデータ経路２５０及び通信リンク２１５を介してデータを送受信することのできるネットワーク・アダプタが含まれる。また、汎用コンピュータ２７０は、放送信号、衛星信号及び／又はケーブルＴＶ信号の形でテレビジョン番組を受信するためのＴＶ（「テレビジョン」）チューナ２８６を備えることができる。その結果、クライアント・デバイス２２０は、通信デバイス２８４で受信したネットワーク・コンテンツとＴＶチューナ２８６で受信したテレビジョン番組コンテンツとを選択的に及び／又は同時に表示することができる。
【００２２】
汎用コンピュータ２７０は、典型的には、様々な周辺装置２９０に有線又は無線で接続するための入出力インタフェース２８８を含む。周辺装置２９０の例は、マウス２９１、携帯電話機２９２、パーソナル・ディジタル・アシスタント２９３（ＰＤＡ）、キーボード２９４、タッチ・スクリーン入力の有る又は無い表示モニタ２９５、加入者から情報を受け取り且つ加入者に対して情報を与えるためのＴＶリモート・コントロール２９６及びビデオ入力装置２９８を含むが、これらに限定されるものではない。
【００２３】
図２は、携帯電話機２９２、ＰＤＡ２９３及びＴＶリモート・コントロール２９６などのデバイスを汎用コンピュータ２７０の周辺装置として示してあるが、別の実現形態では、このようなデバイスはそれ自体で汎用コンピュータ２７０の機能を備え、クライアント・デバイス２２０として動作することもできる。例えば、携帯電話機２９２又はＰＤＡ２９３はコンピューティング機能及びネットワーキング機能を有し、伝達ネットワーク２６０にアクセスしてホスト・システム２１０と通信することにより、クライアント・デバイス２２０として機能することができる。さらに、クライアント・システム２０５は、前述のコンポーネント及びデバイスのうちの１つ、若干又は全部を備えていてもよい。
【００２４】
図３を参照すると、通信システム３００は、クライアント・システム３０５とホスト・システム３１０との間で通信リンク３１５を介して情報を伝達及び交換することができる。クライアント・システム３０５は、典型的には、１つ以上のクライアント・デバイス３２０と、クライアント・デバイス３２０を制御するための１つ以上のクライアント・コントローラ３２５とを備える。ホスト・システム３１０は、典型的には、１つ以上のホスト・デバイス３３５と、ホスト・デバイス３３５を制御するための１つ以上のホスト・コントローラ３４０とを備える。通信リンク３１５は、１つ以上の伝達ネットワーク３６０を介した通信を可能にする通信経路３５０、３５５を備え得る。
【００２５】
図３の通信システム内の各要素の例は、図１及び２に関して上で概略的に述べられている。特に、クライアント・システム３０５及び通信リンク３１５は、典型的には、図１及び図２のクライアント・システム１０５、２０５と通信リンク１１５、２１５に関して述べた属性と同等の属性を有する。同様に、図３のホスト・システム３１０は、図１及び図２にそれぞれ示したホスト・システム１１０、２１０と同等の属性を有しており、これらの可能な一つの実施形態を示している。
【００２６】
ホスト・システム３１０は、ホスト・デバイス３３５及びホスト・コントローラ３４０を備える。ホスト・コントローラ３４０は、一般に、ホスト・デバイス３３５の任意の又は全ての要素に命令を送信することができる。例えば、一つの実現形態では、ホスト・コントローラ３４０は、ホスト・デバイス３３５にロードされた１つ以上のソフトウェア・アプリケーションを含む。しかし、前述のように、別の実現形態では、ホスト・コントローラ３４０は、ホスト・デバイス３３５を制御するように独立して又は集合的に動作する若干の他のプログラム、マシン及びデバイスのうちの任意のものを含んでよい。
【００２７】
ホスト・デバイス３３５は、加入者からのアクセスを可能にするとともにクライアント・システム３０５とホスト・デバイス３３５の他の要素との間で通信のルーティングを行うためのログイン・サーバ３７０を備える。また、ホスト・デバイス３３５は、図示のＯＳＰ（「オンライン・サービス・プロバイダ」）ホスト・コンプレックス３８０やＩＭ（「インスタント・メッセージング」）ホスト・コンプレックス３９０などの様々なホスト・コンプレックスも備える。これらのホスト・コンプレックスへの加入者からのアクセスを可能にするために、クライアント・システム３０５は、通信ソフトウェア、例えばＯＳＰクライアント・アプリケーションやＩＭクライアント・アプリケーションを備える。ＯＳＰ及びＩＭ通信ソフトウェア・アプリケーションは、加入者とそれぞれのサービスとの対話を容易にするように設計されており、特に、それぞれのホスト・コンプレックス内で利用可能な全部のサービスへのアクセスを提供する。
【００２８】
典型的には、ＯＳＰホスト・コンプレックス３８０は、電子メール、ディスカッション・グループ、チャット、ニュース・サービス、インターネット・アクセスなどの種々のサービスをサポートする。ＯＳＰホスト・コンプレックス３８０は、一般に、ＯＳＰホスト・コンプレックス３８０内のマシンが相互に通信することを可能にするアーキテクチャで設計され、データを転送するためにある種のプロトコル（すなわち規格、フォーマット、規定、規則及び構造）を採用する。ＯＳＰホスト・コンプレックス３８０は、通常は、選択されたクライアント・アプリケーションからのアクセスを可能にするよう、１つ以上のＯＳＰプロトコル及びカスタム・ダイヤリング・エンジンを採用する。ＯＳＰホスト・コンプレックス３８０は、基礎をなす共通の専有的プロトコルに基づいて、サービス毎に１つ以上の特定のプロトコルを規定し得る。
【００２９】
ＩＭホスト・コンプレックス３９０は、一般に、ＯＳＰホスト・コンプレックス３８０から独立しており、加入者のネットワーク又はインターネット・アクセスに無関係に、インスタント・メッセージング・サービスをサポートする。したがって、ＩＭホスト・コンプレックス３９０は、加入者が任意の特定のＩＳＰへのアクセスを有するか否かにかかわらず、インスタント・メッセージを送受信できるようにする。ＩＭホスト・コンプレックス３９０は、インスタント・メッセージングに関係する管理事項、広告、ディレクトリ・サービス、チャット、利益グループなど、関連するサービスをサポートし得る。ＩＭホスト・コンプレックス３９０は、ＩＭホスト・コンプレックス内のすべてのマシンが相互に通信することを可能にするアーキテクチャを有する。ＩＭホスト・コンプレックス３９０は、データを転送するために、１つ以上の標準的又は排他的ＩＭプロトコルを採用する。
【００３０】
ホスト・デバイス３３５は、ＯＳＰホスト・コンプレックス・ゲートウェイ３８５やＩＭホスト・コンプレックス・ゲートウェイ３９５など、コンプレックス同士を接続してそれによりコンプレックス同士をリンクする１つ以上のゲートウェイを備え得る。ＯＳＰホスト・コンプレックス・ゲートウェイ３８５及びＩＭホスト・コンプレックス・ゲートウェイ３９５は、有線又は無線の経路を介して、ＯＳＰホスト・コンプレックス３８０とＩＭホスト・コンプレックス３９０とを直接的又は間接的にリンクする。通常、ＯＳＰホスト・コンプレックス・ゲートウェイ３８５及びＩＭホスト・コンプレックス・ゲートウェイ３９５は、コンプレックス間のリンクを容易にするのに使用されるとき、宛先のコンプレックスによって期待されるプロトコル形式に関する情報を知っており、それにより、１つのコンプレックスから別のコンプレックスへのデータ転送に伴う任意の必要なプロトコル変換を行うことができる。例えば、一般に、ＯＳＰホスト・コンプレックス３８０とＩＭホスト・コンプレックス３９０は異なるプロトコルを使用するので、コンプレックス間のデータ転送には、ＯＳＰホスト・コンプレックス・ゲートウェイ３８５及び／又はＩＭホスト・コンプレックス・ゲートウェイ３９５による、或いはこれらからの要求でのプロトコル変換が必要である。
【００３１】
図４を参照すると、通信システム４００は、クライアント・システム４０５とホスト・システム４１０との間で通信リンク４１５を介して情報を伝達及び交換することができる。クライアント・システム４０５は、典型的には、１つ以上のクライアント・デバイス４２０と、クライアント・デバイス４２０を制御するための１つ以上のクライアント・コントローラ４２５とを備える。ホスト・システム４１０は、典型的には、１つ以上のホスト・デバイス４３５と、ホスト・デバイス４３５を制御するための１つ以上のホスト・コントローラ４４０とを備える。通信リンク４１５は、１つ以上の伝達ネットワーク４６０を介しての通信を可能にする通信経路４５０、４５５を含み得る。図示のように、クライアント・システム４０５は、ホスト・システム４１０を介してインターネット４６５にアクセスすることができる。
【００３２】
図４の通信システム内の各要素の例は、図１〜３に関して概略的に記述されている。特に、クライアント・システム４０５及び通信リンク４１５は、典型的には、図１〜３のクライアント・システム１０５、２０５、３０５及び通信リンク１１５、２１５、３１５に関して述べた属性と同等の属性を有する。同様に、図４のホスト・システム４１０は、図１〜３にそれぞれ示したホスト・システム１１０、２１０、３１０と同等の属性を有することができ、これらの可能な一つの実施形態を示している。ただし、図４は、ＯＳＰホスト・コンプレックス４８０の特定の一つの実現形態に主に焦点を合わせてホスト・システム４１０の態様を記述している。ＯＳＰホスト・コンプレックス４８０と通信する目的で、伝達ネットワーク４６０は一般に電話網である。
【００３３】
クライアント・システム４０５は、クライアント・デバイス４２０及びクライアント・コントローラ４２５を備える。クライアント・コントローラ４２５は、一般に、ＯＳＰホスト・コンプレックス４８０、ＩＭホスト・コンプレックス４９０及び／又はインターネッ４６５を含むホスト・システム４１０への接続を確立することができる。一つの実現形態においては、クライアント・コントローラ４２５は、排他的ＯＳＰプロトコルを使用してＯＳＰホスト・コンプレックス４８０内のサーバと通信するためのＯＳＰアプリケーションを備える。また、クライアント・コントローラ４２５は、ＩＭホスト・コンプレックス４９０及びインターネット４６５と通信するためのＩＭクライアント・アプリケーション及び／又はインターネット・ブラウザ・アプリケーションなどのアプリケーションを備え得る。
【００３４】
ホスト・システム４１０は、ホスト・デバイス４３５及びホスト・コントローラ４４０を備える。ホスト・コントローラ４４０は、一般に、ホスト・デバイス４３５の任意の又は全部の要素に命令を送信することができる。例えば、一つの実現形態においては、ホスト・コントローラ４４０は、ホスト・デバイス４３５の１つ以上の要素にロードされた１つ以上のソフトウェア・アプリケーションを含む。しかしながら、前述のように、他の実現形態では、ホスト・コントローラ４４０は、ホスト・デバイス４３５を制御するように独立して又は集合的に動作する若干の他のプログラム、マシン及びデバイスのうちの任意のものを含むことができる。
【００３５】
ホスト・システム４１０は、ＯＳＰホスト・コンプレックス４８０及びＩＭホスト・コンプレックス４９０を含むホスト・システム４１０の種々の要素との通信を可能にするとともにクライアント・システム４０５からこれらの要素へのアクセスを許可することのできるログイン・サーバ４７０を備える。ログイン・サーバ４７０は、ＯＳＰホスト・コンプレックス４８０とＩＭホスト・コンプレックス４９０への同時アクセスを可能にするための１つ以上の許可手順を実施し得る。ＯＳＰホスト・コンプレックス４８０とＩＭホスト・コンプレックス４９０は、１つ以上のＯＳＰホスト・コンプレックス・ゲートウェイ４８５及び１つ以上のＩＭホスト・コンプレック・ゲートウェイ４９５を介して接続される。ＯＳＰホスト・コンプレックス・ゲートウェイ４８５及びＩＭホスト・コンプレックス・ゲートウェイ４９５はそれぞれ、ＯＳＰホスト・コンプレックス４８０とＩＭホスト・コンプレックス４９０とインターネット４６５との間の通信を可能にするのに必要な任意のプロトコル変換を実施し得る。
【００３６】
ＯＳＰホスト・コンプレックス４８０は、ＯＳＰホスト・コンプレックス４８０の内部又は外部に位置する１つ以上のサーバからの１組のサービスをサポートする。ＯＳＰホスト・コンプレックス４８０の外部にあるサーバは、一般に、インターネット４６５上に存在するとみなすことができる。ＯＳＰコンプレックス４８０の内部にあるサーバは、１つ以上の構成で配置され得る。例えば、サーバは、ＯＳＰホスト・コンプレックス４８０内にサーバ及び加入者を分散させるように集中化又は局所化されたクラスタに配置される。
【００３７】
図４の実現形態においては、ＯＳＰホスト・コンプレックス４８０はルーティング・プロセッサ４８０２を備える。一般に、ルーティング・プロセッサ４８０２は、データ要求のアドレス・フィールドを検査し、マッピング・テーブルを使用してデータ要求に対する適切な宛先を決定し、データ要求を適切な宛先に向けて送る。パケット型の実現形態においては、クライアント・システム４０５は、情報要求を生成し、要求をデータ・パケットに変換し、データ・パケットを順に並べ、エラー・チェック及びその他のパケット交換技法を実行し、データ・パケットをルーティング・プロセッサ４８０２に送ることができる。ルーティング・プロセッサ４８０２は、クライアント・システム４０５からデータ・パケットを受け取ると、ＯＳＰホスト・コンプレックス４８０の内部又は外部にある指定の宛先に直接的又は間接的にデータ・パケットのルートを指定し得る。例えば、クライアント・システム４０５からのデータ要求を局所的に満たすことができる場合は、ルーティング・プロセッサ４８０２はデータ要求をローカル・サーバ４８０４に向けて送る。データ要求を局所的に満たすことができない場合は、ルーティング・プロセッサ４８０２は、ゲートウェイ４８５を介してデータ要求をインターネット４６５又はＩＭホスト・コンプレックス４９０に向けて送り出すことができる。
【００３８】
また、ＯＳＰホスト・コンプレックス４８０は、データ要求に指示を与えるための及び／又はクライアント・システム４０５とインターネット４６５との間の通信を容易にするためのプロキシ・サーバ４８０６を備える。プロキシ・サーバ４８０２は、データをＯＳＰプロトコルから標準的なインターネット・プロトコルに変換して該データをインターネット４６５に送信するためのＩＰ（「インターネット・プロトコル」）トンネルを備えてもよい。また、ＩＰトンネルは、クライアント・システム４０５に返送するために、インターネットから標準的なインターネット・プロトコルで受け取ったデータをＯＳＰプロトコルに変換し直し、変換したデータをルーティング・プロセッサ４８０２に送る。
【００３９】
プロキシ・サーバ４８０６は、クライアント・システム４０５がＯＳＰホスト・コンプレックス４８０及びインターネット４６５へのアクセスのためのフォーマットと標準的なインターネット・プロトコルとを使用することを可能にするものでもよい。例えば、加入者は、クライアント・システム４０５にインストールされた埋め込みブラウザ・アプリケーションを有するＯＳＰ  ＴＶクライアント・アプリケーションを使用して、ＨＴＴＰ（「ハイパーテキスト・トランスポート・プロトコル」）などの標準的なインターネット・プロトコルで要求を生成することができる。パケット型の実現形態では、データ・パケットは、例えばＵＤＰ（「ユーザ・データグラム・プロトコル」）などの標準的なインターネット・トンネリング・プロトコル内にカプセル化されてプロキシ・サーバ４８０６に送られる。プロキシ・サーバ４８０６は、クライアント・システム４０５とポイントツーポイント・プロトコル（ＰＰＰ）セッションを確立することのできるＬ２ＴＰ（「レイヤ２トンネリング・プロトコル」）トンネルを備え得る。
【００４０】
また、プロキシ・サーバ４８０６は、クライアント・システム４０５とインターネット４６５との間のバッファとして働き、コンテンツ・フィルタリング及び時間節約技法を実現することができる。例えば、プロキシ・サーバ４８０６は、クライアント・システム４０５のパレンタル制御設定をチェックし、パレンタル制御設定に従ってインターネット４６５にコンテンツを要求し、インターネット４６５からのコンテンツを送信することができる。さらに、プロキシ・サーバ４８０６は、頻繁にアクセスされる情報を記憶するための１つ以上のキャッシュを備えることもできる。要求されたデータがキャッシュに記憶されていると決定された場合、プロキシ・サーバ４８０６は、キャッシュからクライアント・システム４０５に情報を送信し、インターネット４６５にアクセスする必要性を回避する。
【００４１】
図５を参照すると、通信システム５００は、クライアント・システム５０５とホスト・システム５１０の間で通信リンク５１５を介して情報の伝達及び交換を行うことができる。クライアント・システム５０５は、典型的には、１つ以上のクライアント・デバイス５２０と、クライアント・デバイス５２０を制御するための１つ以上のクライアント・コントローラ５２５とを備える。ホスト・システム５１０は、典型的には、１つ以上のホスト・デバイス５３５と、ホスト・デバイス５３５を制御するための１つ以上のホスト・コントローラ５４０とを備える。通信リンク５１５は、１つ以上の伝達ネットワーク５６０を介した通信を可能にする通信経路５５０、５５５を含み得る。図示のように、クライアント・システム５０５は、ホスト・システム５１０を介してインターネット５６５にアクセスすることができる。
【００４２】
図５の通信システム内の要素の例は、図１〜４に関して上で概略的に記述されている。特に、クライアント・システム５０５及び通信リンク５１５は、典型的には、図１〜４のクライアント・システム１０５、２０５、３０５、４０５及び通信リンク１１５、２１５、３１５、４１５に関して述べた属性と同等の属性を有する。同様に、図５のホスト・システム５１０は、図１〜４にそれぞれ示したホスト・システム１１０、２１０、３１０、４１０と同等の属性を有することができ、これらの可能な一つの実施形態を示している。ただし、図５は、ＩＭホスト・コンプレックス５９０の特定の一実現形態に焦点を合わせてホスト・システム５１０の一態様を説明している。ＩＭホスト・コンプレックス５９０と通信する目的で、伝達ネットワーク５６０は一般に電話網である。
【００４３】
クライアント・システム５０５は、クライアント・デバイス５２０及びクライアント・コントローラ５２５を備える。クライアント・コントローラ５２５は、一般に、ＯＳＰホスト・コンプレックス５８０、ＩＭホスト・コンプレックス５９０及び／又はインターネット５６５を含むホスト・システム５１０への接続を確立することができる。一実現形態では、クライアント・コントローラ５２５は、排他的ＩＭプロトコルを利用してＩＭホスト・コンプレックス５９０中のサーバと通信するためのＩＭアプリケーションを備える。また、クライアント・コントローラ５２５は、ＯＳＰホスト・コンプレックス５８０及びインターネット５６５とそれぞれ通信するために、ＯＳＰクライアント・アプリケーション及び／又はインターネット・ブラウザ・アプリケーションなどのアプリケーションを備えることができる。
【００４４】
ホスト・システム５１０は、ホスト・デバイス５３５及びホスト・コントローラ５４０を備える。ホスト・コントローラ５４０は、一般に、ホスト・デバイス５３５の任意の又は全部の要素に命令を送ることができる。例えば、一実現形態においては、ホスト・コントローラ５４０は、ホスト・デバイス５３５の１つ以上の要素にロードされた１つ以上のソフトウェア・アプリケーションを含む。ただし、前述のように、他の実現形態では、ホスト・コントローラ５４０は、ホスト・デバイス５３５を制御するように独立して又は集合的に動作する若干の他のプログラム、マシン、及びデバイスを含んでよい。
【００４５】
ホスト・システム５１０は、ＯＳＰホスト・コンプレックス５８０及びＩＭホスト・コンプレックス５９０を含むホスト・システム５１０の種々の要素との通信を可能にするとともにクライアント・システム５０５からこれらの要素へのアクセスを許可することのできるログイン・サーバ５７０を備える。ログイン・サーバ５７０は、ＯＳＰホスト・コンプレックス５８０とＩＭホスト・コンプレックス５９０への同時アクセスを可能にするための１つ以上の許可手順を実施することができる。ＯＳＰホスト・コンプレックス５８０とＩＭホスト・コンプレックス５９０は、１つ以上のＯＳＰホスト・コンプレックス・ゲートウェイ５８５及び１つ以上のＩＭホスト・コンプレックス・ゲートウェイ５９５を介して接続される。ＯＳＰホスト・コンプレックス・ゲートウェイ５８５及びＩＭホスト・コンプレックス・ゲートウェイ５９５はそれぞれ、ＯＳＰホスト・コンプレックス５８０とＩＭホスト・コンプレックス５９０とインターネット５６５との間の通信を可能にするのに必要な任意のプロトコル変換を実行し得る。
【００４６】
ＩＭホスト・コンプレックス５９０にアクセスしてインスタント・メッセージング・セッションを開始するために、クライアント・システム５０５はログイン・サーバ５７０との接続を確立する。ログイン・サーバ５７０は、典型的には、加入者の識別及びパスワードを検証することにより、特定の加入者にＩＭホスト・コンプレックス５９０へのアクセスが許可されているかどうかを決定する。加入者にＩＭホスト・コンプレックス５９０へのアクセスが許可される場合、ログイン・サーバ５７０は、加入者のスクリーン・ネームに対してハッシング技法を採用し、加入者のセッション期間に使用するための特定のＩＭサーバ５９０２を識別する。ログイン・サーバ５７０は、特定のＩＭサーバ５９０２のＩＰアドレスをクライアント・システム５０５に提供し、暗号化された鍵（すなわちクッキー）をクライアント・システム５０５に与え、接続を断つ。次いで、クライアント・システム５０５は、ＩＰアドレスを使用して特定のＩＭサーバ５９０２との接続を通信リンク５１５を介して確立し、暗号化された鍵を使用して当該ＩＭサーバ５９０２へのアクセスを取得する。典型的には、クライアント・システム５０５には、クライアント・システム５０５がＩＭサーバ５９０２とのオープンＴＣＰ接続を確立させるＷｉｎｓｏｃｋ  ＡＰＩ（「アプリケーション・プログラミング・インタフェース」）が備えられる。
【００４７】
ＩＭサーバ５９０２との接続が確立されると、クライアント・システム５０５は、ＩＭサーバ５９０２及び１つ以上の関連するドメイン・サーバ５９０４に直接的又は間接的にデータを送信することができ、これらからのコンテンツにアクセスすることができる。ＩＭサーバ５９０２は基本的なインスタント・メッセージング・サービスをサポートし、ドメイン・サーバ５９０４は関連サービス、例えば、管理事項、ディレクトリ・サービス、チャット、利益グループなどをサポートすることができる。一般に、ドメイン・サーバ５９０４の目的は、ＩＭホスト・コンプレックス５９０内の若干のサービスに対して責任を負うことによってＩＭサーバ５９０２に課される負担を軽くすることである。ＩＭサーバ５９０２及び／又はドメイン・サーバ５９０４にアクセスすることにより、加入者はＩＭクライアント・アプリケーションを使用して、特定の加入者（「仲間」）がオンライン中かどうかを調べること、特定の加入者とインスタント・メッセージを交換すること、グループ・チャット・ルームに参加すること、画像、招待又はドキュメントなどのファイルを交換すること、類似の関心を持つ他の加入者を見つけること、カスタマイズされたニュース及び株式相場を得ること、ウェブを探索することを行うことができる。
【００４８】
図５の実現形態においては、ＩＭサーバ５９０２はルーティング・ゲートウェイ５９０６に直接的又は間接的に接続される。ルーティング・ゲートウェイ５９０６は、例えば、若干のＩＭサーバを若干の警報マルチプレクサと接続するようリンク最小化ツール又はハブとして働くことにより、ＩＭサーバ５９０２と１つ以上の警報マルチプレクサ５９０８との間の接続を容易にする。一般に、警報マルチプレクサ５９０８は、警報と警報を受信するように登録された加入者との記録を維持する。
【００４９】
クライアント・システム５０５が警報マルチプレクサ５９０８と接続されると、加入者は１つ以上のタイプの警報を登録し及び／又は受信することができる。クライアント・システム５０５と警報マルチプレクサ５９０８との間の接続経路の決定は、ＩＭサーバ５９０２で別のハッシング技法を採用して、加入者のセッションに使用すべき特定の警報マルチプレクサ５９０８を識別することにより行われる。特定のマルチプレクサ５９０８が識別されると、ＩＭサーバ５９０２は、特定の警報マルチプレクサ５９０８のＩＰアドレスをクライアント・システム５０５に提供し、暗号化された鍵（すなわちクッキー）をクライアント・システム５０５に与える。次いで、クライアント・システム５０５は、ＩＰアドレスを使用して、通信リンク５１５を介して特定の警報マルチプレクサ５９０８に接続し、暗号化された鍵を使用して警報マルチプレクサ５９０８へのアクセスを取得する。
【００５０】
警報マルチプレクサ５９０８は警報ゲート５９１０に接続されるが、警報ゲート５９１０は、ＩＭホスト・コンプレックス・ゲートウェイ５９５と同様、必要なプロトコル変換を実施してＯＳＰホスト・コンプレックス５８０へのブリッジを形成することができる。警報ゲート５９１０は、ＩＭホスト・コンプレックス５９０と、ＯＳＰホスト・コンプレックス５８０におけるサーバなどの状態変化が起こっている物理サーバとの間のインタフェースである。一般に、状態変化に関する情報はＩＭホスト・コンプレックス５９０によって収集され、使用される。しかしながら、警報マルチプレクサ５９０８は、ＩＭゲートウェイ５９５を介してＯＳＰホスト・コンプレックス５８０と通信して、例えば、警報ゲート５９１０から収集された若干の情報をＯＳＰホスト・コンプレックス５８０のサーバ及び加入者に提供することもできる。
【００５１】
警報ゲート５９１０は、特定のタイプの警報に対応する警報供給を検出することができる。警報ゲート５９１０は、状態変化が起こる物理サーバ上の別のコード（警報ブロードキャスト・コード）と対話することのできるコード（警報受領コード）を含むことができる。一般に、警報ゲート５９１０にインストールされた警報受領コードは、物理サーバにインストールされた警報ブロードキャスト・コードに、特定の状態変化の発生時に警報ゲート５９１０に警報供給を送るよう命令する。特定の状態変化が検出されると、警報ゲート５９１０は警報マルチプレクサ５９０８とコンタクトし、警報マルチプレクサ５９０８は検出された警報供給をクライアント・システム５０５に知らせる。
【００５２】
図５の実現形態においては、ＩＭホスト・コンプレックス５９０はまた、多量の加入者プロファイル・データを記憶するためのデータベース５９１４に接続された加入者プロファイル・サーバ５９１２を備える。加入者プロファイル・サーバ５９１２は、加入者プロファイル・データを入力、検索、編集、操作又は処理するために使用することができる。一実現形態では、加入者のプロファイル・データは、例えば、加入者の仲間リスト、警報優先、指定された株、識別された関心及び地理的位置を含む。加入者は、加入者プロファイル・サーバ５９１２と対話するためにクライアント・システム５０５にインストールされているＩＭクライアント・アプリケーションを使用して、プロファイル・データを入力、編集及び／又は削除することができる。
【００５３】
加入者のデータはＩＭホスト・コンプレックス５９０に記憶されるので、加入者は、新しい又は異なるクライアント・システム５０５を使用してＩＭホスト・コンプレックス５９０にアクセスする場合に、このような情報を再入力又は更新する必要がない。したがって、加入者がＩＭホスト・コンプレックス５９０にアクセスしたとき、ＩＭサーバ５９０２は、加入者のプロファイル・データをデータベース５９１４から検索するよう、及び、例えば加入者の仲間リストをＩＭサーバ５９０２に提供して加入者の警報優先を警報マルチプレクサ５９０８に提供するよう、加入者プロファイル・サーバ５９１２に命令することができる。また、加入者プロファイル・サーバ５９１２は、ＯＳＰホスト・コンプレックス５９０における他のサーバと通信して、加入者プロファイル・データを他のサービスと共用することもできる。代わりに、ユーザ・プロファイル・データはクライアント・デバイス５０５に局所的にセーブされ得る。
【００５４】
図６を参照すると、送信側６０２ａ、受信側６０２ｂ及びホスト６０４が手順６００に従って対話してオーディオ・データを転送する。手順６００は、任意の好適な形式のハードウェア、ソフトウェア、デバイス、コンピュータ、コンピュータ・システム、装置、コンポーネント、プログラム、アプリケーション、コード、記憶媒体又は伝搬される信号によって実施され得る。
【００５５】
図６の各要素の例は、図１〜５に関して上で概略的に記述されている。特に、送信側６０２ａ及び受信側６０２ｂは、典型的には、クライアント・デバイス１２０、２２０、３２０、４２０、５２０及び／又はクライアント・コントローラ１２５、２２５、３２５、４２５、５２５に関して述べた属性と同等の属性を有する。ホスト６０４は、典型的には、ホスト・デバイス１３５、２３５、３３５、４３５、５３５及び／又はホスト・コントローラ１４０、２４０、３４０、４４０、５４０に関して述べた属性と同等の属性を有する。送信側６０２ａ、受信側６０２ｂ及び／又はホスト６０４は、公知の又は記述された伝達ネットワークを介して直接的又は間接的に相互接続され得る。
送信側６０２ａ及び受信側６０２ｂは、それぞれ加入者に関連付けられる。ファイル転送を可能にするために、各加入者は、他の加入者との間でのファイル転送を許可するための或る優先を設定する。例えば、送信側及び受信側は、ファイルの送信又はファイルの検索が許可されている加入者のスクリーン・ネームを識別することができる。典型的には、各加入者には、様々な転送優先間の選択を許可するグラフィカル・ユーザ・インタフェースが提示される。加入者の転送優先は  、クライアントに局所的に又はホスト６０４にリモートに維持され得る。
【００５６】
一般に、送信側６０２ａと受信側６０２ｂは、ホスト６０４を介して確立されたオープンＴＣＰ接続などのオープンな接続を介して通信する。典型的には、送信側６０２ａ及び受信側６０２ｂはそれぞれ、ホスト６０４とのオープンＴＣＰ接続を確立するためのＷｉｎｓｏｃｋ  ＡＰＩと、ホスト６０４にアクセスするためのクライアント・アプリケーションとを備える。送信側６０２ａと受信側６０２ｂは接続を確立するためホスト６０４と接続する。
【００５７】
送信側６０２ａと受信側６０２ｂは、接続を用いてホスト６０４と及び相互と通信する。接続は、送信側６０２ａと受信側６０２ｂがホスト６０４にアクセスしている期間はオープンの状態を維持する。ホスト６０４にアクセスするために、送信側６０２ａ及び受信側６０２ｂはそれぞれ、別々の要求をホスト６０４に送信する。この要求は、固有のスクリーン・ネームを使用して、ホスト６０４及び他の加入者に対して関連付けられた加入者を識別する。ホスト６０４は、加入者の情報（例えば、スクリーン・ネームやパスワード）を、加入者データベースに記憶されているデータに対して検証する。加入者の情報が検証されると、ホスト６０４はアクセスを許可する。加入者の情報が検証されない場合には、ホスト６０４はアクセスを拒否してエラー・メッセージを送出する。
【００５８】
ホスト６０４にアクセスすると、「仲間リスト」が加入者に対して表示される。一般に、加入者の仲間リストは、加入者に対して識別された或るスクリーン・ネームすなわち「仲間」のオンライン・ステータス及び能力をリスティングするユーザ・インタフェースである。特に、ホスト６０４は、識別された仲間がオンラインかどうか、すなわち、ホスト６０４に現在アクセスしているかどうかを送信側に知らせる。ホスト６０４はまた、送信側を仲間として識別している任意の加入者に、送信側が現在オンラインであることを知らせる。また、仲間リストは加入者間のインスタント・メッセージング通信を容易にする。加入者は、仲間リスト上の仲間のスクリーン・ネームをクリックするだけで仲間に予め宛先指定されるインスタント・メッセージング・メッセージ・ユーザ・インタフェースを活動状態にすることができる。受信側が「仲間」でない場合、第１の加入者は空のインスタント・メッセージング・ユーザ・インタフェースを活動状態にし、次いで、目的の受信側のスクリーン・ネームに対してインスタント・メッセージを送らなければならない。必要なとき、加入者は、目的の受信側のｅメール・アドレスを使用して、目的の受信側のスクリーン・ネームを探すことができる。
【００５９】
オンラインの仲間とインスタント・メッセージを交換することに加えて、送信側は、グループ・チャット・ルームに参加すること、類似の関心を持つ他の加入者を突き止めること、カスタマイズされたニュース及び株式相場を得ること、ウェブを探索すること、及び他の加入者との間でファイルを転送することもできる。一実現形態においては、送信側６０２ａと受信６０２ｂとホスト６０４は手順６００に従って対話してオーディオ・データを転送する。
【００６０】
オーディオ・データの転送は、送信側６０２ａと受信側６０２ｂがオーディオにより、すなわちマイクロホン及びスピーカを介してピアツーピアで通信できるようにすることにより、インスタント・メッセージングの機能を拡張する。一実現形態では、送信側は、１つ以上の受信側がインスタント・メッセージ（例えばテキスト・メッセージ）を受信するように指定することによって、プロセス６００を開始する。目的の受信側が送信側６０２ａの「仲間」である場合、送信側６０２ａは、「仲間リスト」を見ることにより、ビデオ・メッセージを送信する前に各受信側のオンライン・ステータス及び能力を確認することができる。加入者がインスタント・メッセージを作成して送信ボタンをクリックした後に、インスタント・メッセージは送信側６０２ａからホストに対して送信される（ステップ６０５）。
【００６１】
ホスト７０４は、送信側６０２ａからインスタント・メッセージを受信した後、インスタント・メッセージを認証する（ステップ６１０）。インスタント・メッセージは、メッセージ・タイプと、送信側及び受信側のスクリーン・ネーム及び／又はＩＰアドレスと、ランダムに生成されたセキュリティ番号とを識別するヘッダ情報をテキスト本文に加えて含むことができる。インスタント・メッセージは、例えば、スクリーン・ネーム及び／又はＩＰアドレスを有効な加入者のそれと照合するための逆ルックアップ・テーブルを使用して認証され得る。送信側６０２ａ又は受信側６０２ｂが有効な加入者と関連付けられないならば、ホスト６０４はエラー・メッセージを報告する。
【００６２】
インスタント・メッセージが検証されると、ホスト６０４は受信側の能力を決定する（ステップ６１５）。例えば、ホスト６０４は、接続されている全加入者のオンライン・ステータス、クライアント・バージョン及びデバイス・タイプをリアルタイムで監視して更新することができる。オーディオ・データを受信する能力は、ハードウェア（例えばデバイス・タイプ）、ソフトウェア（例えばクライアント・バージョン）及び／又は転送優先（例えば、ブロックされたスクリーン・ネーム）に依存し得る。会話を可能にするためには、会話ソフトウェアとオーディオ装置とが利用可能でなければならない。次いで、ホスト６０４は受信側の能力を送信側に報告する（ステップ６２０）。
【００６３】
送信側６０２ａは、ホスト６０４から報告を受信すると、送信側及び／又は受信側７０２ｂの能力に従ってＵＩを表示する（ステップ６２５）。送信側６０２ａが会話可能でない場合には、標準的なインスタント・メッセージング・ユーザ・インタフェースが表示される。送信側６０２ａは会話可能であるが受信側６０２ｂが会話可能でない場合には、灰色の会話開始ボタンを有する会話開始ＵＩが表示される。送信側６０２ａと受信側６０２ｂが両方とも会話可能である場合は、機能する会話開始ボタンを有する会話開始ＵＩが表示される。
【００６４】
プロセス６００は、ホスト６０４が受信側６０２ｂにインスタント・メッセージを送信することで継続する（ステップ６３０）。受信側６０２ｂはホスト６０４から最初のテキスト・メッセージを受信し（ステップ６３５）、送信側６０２ａ及び／又は受信側６０２ｂの能力に従ってＵＩを表示する（ステップ６４０）。受信側６０２ｂが会話可能でない場合は、標準的なインスタント・メッセージングＵＩが表示される。受信側６０２ｂは会話可能だが送信側６０２ａが会話可能でない場合には、灰色の会話開始ボタンを有するインスタント・メッセージングＵＩが表示される。受信側６０２ｂと送信側６０２ａが両方とも会話可能であるならば、機能する会話開始ボタンを有するインスタント・メッセージングＵＩが表示される。
【００６５】
両方が会話可能である場合、送信側６０２ａと受信側６０２ｂとに会話開始ＵＩが表示される。会話開始ＵＩが表示されると、加入者は会話セッションを開始することができる。一実現形態においては、送信側６０２ａは、ホスト６０４に会話要求を送信することによって会話セッションを開始する（ステップ６４５）。会話要求は、メッセージ・タイプと、送信側及び受信側のスクリーン・ネーム及び／又はＩＰアドレスと、ランダムに生成されたセキュリティ番号とを含む情報を含むことができるが、これらの情報に限定されない。送信側６０２ａが会話開始ＵＩをクリックすると、会話開始ＵＩは会話終了ＵＩへ移行する。
【００６６】
ホスト６０４は、会話要求を受信すると、送信側６０２ａからの会話要求を認証する（ステップ６５０）。ホスト６０４は、例えば、スクリーン・ネーム及び／又はＩＰアドレスを有効な加入者のそれと照合するための逆ルックアップ・テーブルを使用して、会話要求を認証することができる。送信側６０２ａと受信側６０２ｂのいずれかが有効な加入者に関連付けられない場合には、ホスト６０４はエラー・メッセージを報告する。
【００６７】
会話要求を検証した後、ホスト６０４は会話要求を受信側６０２ｂに送信する（ステップ６５５）。会話要求が受信されると、受信側６２０ｂによって表示された会話開始ＵＩは接続ＵＩへ移行する（ステップ６６０）。接続ＵＩは、送信側６０２ａが会話セッションへの参加を希望することを受信側６０２ｂに知らせる。この時点で、受信側６０２ｂは、会話要求を無視することも、会話要求を受け入れることも、インスタント・メッセージ・セッションを終了することもできる。
【００６８】
受信側６０２ｂが接続ＵＩをクリックすることによって会話要求を受け入れると（ステップ６６５）、接続ＵＩは会話終了ＵＩへ移行し、ホスト６０４は会話セッションを確立する（ステップ６７０）。会話セッションが活動状態のとき、ユーザは相互に会話をすることができる。この時点では、送信側６０２ａと受信側６０２ｂとによって会話終了ＵＩが表示されている。会話セッション（ステップ６７５ａ〜ｂ）は、一方のユーザが会話終了ＵＩをクリックするまで活動状態を維持する。一方のユーザが会話終了ＵＩをクリックした後には、送信側６０２ａと受信側６０２ｂとは会話開始ＵＩを表示し、いずれの側も別の会話セッションを開始することができる。
【００６９】
受信側が接続する前に送信側６０２ａが会話セッションから外れた場合には、受信側６０２ｂにおける接続ＵＩは会話開始ＵＩに戻る。両方のユーザが会話開始ＵＩを同時にクリックした場合には、ホストは会話開始クリックの一方を無視するので、一方のユーザは会話終了ＵＩを表示し、他方のユーザは接続ＵＩを表示する。受信側６０２ｂが最初のテキスト・メッセージを受け入れる前に送信側が会話開始ＵＩをクリックした場合、受信側６０２ｂは会話開始ＵＩを表示せず、代わりに接続ＵＩを直ちに表示する。
【００７０】
一実現形態では、会話ツールが、３つの通信チャネル、すなわちジェネリック・シグナリング・インタフェース（ＧＳＩ）チャネル、制御チャネル及びオーディオ・チャネルを使用して、活動状態の会話セッションを確立する。会話ツールはＧＳＩチャネルを使用して最初の接続を確立する。この接続の期間に、ローカルＩＰアドレスが交換される。最初の接続段階が終了した後にはＧＳＩチャネルは使用されない。ＧＳＩチャネルを使用することにより、ローカルＩＰアドレスの交換は、両方のユーザがこのような交換を許可したときだけ、すなわち、接続ＵＩをクリックすることによってのみ行われる。これらの動作は、ユーザの同意なしにユーザのローカルＩＰアドレスが自動的に入手されることからユーザを保護する。
【００７１】
制御チャネルは、ＧＳＩチャネルを介してリモート側のＩＰアドレスとポート番号が取得されるＴＣＰ／ＩＰソケットである。制御チャネルは、セッションが活動状態である間に会話セッションの制御属性を送受信するのに使用される。例えば、ファイアウォールによっては、ファイアウォールの内側のソケットとの外部接続を許容しないものもあるので、会話ツールはセッションの両方の側から接続を試みる。この動作により、接続内に最大１つのファイアウォールがある場合に接続を行うことが可能になる。両方の側にファイアウォールがある場合は、接続を行い得る機会は無く、会話セッションは失敗することになる。２つのファイアウォールにわたって機能するためには、ユーザは、会話によって使用されるポート・レンジがファイアウォールを通過することを許可するため一方のファイアウォールを修正することができるように、ポート・レンジを取得しなければならない。
【００７２】
オーディオ・チャネルは、オーディオ・パケットを搬送するのに使用されるＴＣＰ／ＩＰソケットである。このチャネルはＵＤＰ又はＴＣＰであり得る。一般に、ＵＤＰが使用される。これは、ＵＤＰが待ち時間を最小限に抑えるからである。しかし、ファイアウォールによってはＵＤＰパケットを通さないものもあるので、オーディオ・チャネルはＴＣＰを使用しなければならない場合もある。会話ツールは、モード（すなわちＴＣＰ、ＵＤＰ）の指示を行ったり、或いは、会話ツールがＵＤＰテストを試みてＵＤＰが失敗したときはＴＣＰに頼る自動モードを採用したりする。
【００７３】
会話セッションは全二重又は半二重で機能することができる。同時に両方のユーザが話すことができるとき、全二重になる。半二重は、一度に一方のユーザだけが話すことができる場合である。例えば、ＣＰＵが遅すぎてオーディオの圧縮／圧縮解除を同時にできない場合、及び／又は、マイクロホンとスピーカを同時に開くことができない場合、クライアント・デバイスは全二重を処理することができないと決定される。クライアント・デバイスが半二重としてマークされると、このクライアント・デバイスによって用いられる会話セッションはどれも、別のデバイスが二重モードを処理できるかどうかに無関係に、半二重セッションとなる。一実現形態においては、会話終了ＵＩ上の会話／聞き取りボタンが半二重動作をサポートする。このボタンは２つの状態、すなわち聞き取りと会話を有する。会話セッションが全二重の場合には、このボタンは表示されない。このボタンが送信側７０２ａと受信側７０２ｂとで会話を表示する場合（初期半二重）、会話をクリックする第１のユーザが会話することができ、別のユーザは聞く側にされる。聞いている方のユーザは、灰色の会話ボタンを有し（半二重聞き取り）、話している方のユーザは聞き取りボタンを有する（半二重会話）。聞き取りボタンをクリックすると、話している方のユーザは、聞いている方のユーザの会話を許容する。
【００７４】
オーディオ転送（会話）機能を動作可能にする会話ツールは、クライアント・デバイスにロードされた任意のタイプのクライアント・コントローラ（例えばソフトウェア、アプリケーション、プログラム）であり得る。会話ツールは種々のＯＳＰ及びＩＭクライアントによる使用をサポートする。会話ツールは、ユーザ・インタフェースに応答して、ユーザ・コマンドをクライアント・デバイスによる適切な動作に変換することができる。例えば、会話ツールは、オーディオに必要なクライアント・デバイス上の物理コンポーネントを開き、読み取り、書き込み、閉じる。また、会話ツールは、ステータスの変化を示すよう実行されているコールバックによりオーディオ・チャネル及び制御チャネルを制御する。会話ツールがロードされると、会話ツールは、クライアント・デバイスが全二重を処理することができるかどうかを決定する。
【００７５】
また、会話ツールは、ユーザがスピーカ及びマイクロホンの音量を制御できるようにしてもよい。一実現形態においては、ユーザがマイクロホンに向かって話すと、オーディオ・データがメモリに記憶される。録音モードの期間には、平均レベルの話者音声が、会話ツールのユーザ・インタフェース上に表示されたレベル・メータ上に表示される。スライダ制御が入力レベルを最適値に調整するために使用される。話者が話すのを止めた後、記憶された話者の話がコンピュータの出力デバイスを通して再生される。話者レベル・スライダ制御を使用して、出力レベルを許容可能な音量に調整することができる。ユーザが再び話し始めると、会話ツールは録音モードに戻り、このサイクルが反復される。ユーザは、設定に満足したとき、後の会話セッションで使用するよう設定を保存してもよい。
【００７６】
会話ツールは、多重会議、保留、消音を含む追加の機能をサポートすることができるが、これらの機能に限定されるものではない。多重会議は、３人以上のユーザが会話セッションに参加することを許容する。保留は、別の会話セッションに接続するために、活動状態の会話セッションを一時停止することを許容する。消音は、マイクロホンをオフにして全二重モードの期間でのユーザのフィードバック／エコーを防止する。
【００７７】
また、会話ツールは、転送されるデータの完全性を保護するためのセキュリティ機能を備えることもできる。例えば、会話ツールは専有的アルゴリズムを使用してデータを圧縮することができ、或いは専有的プロトコルでデータを送信することができる。セキュリティをさらに高めるために、会話ツールはポート番号を広い範囲からランダムに選択することもできる。
【００７８】
一般に、インスタント・メッセージングの会話セッションは、同じ３つの状態、すなわち、切断（ハングアップ）、接続中（リンギング）及び接続済み（会話）を有する点で、電話セッションと類似する。前述のように、これらの状態とこれらの状態間で切り替える能力とは、対応するＵＩ、すなわち、会話開始ＵＩ（切断）、接続ＵＩ（リンギング）及び会話終了ＵＩ（接続済み）によってサポートされる。
【００７９】
図７は会話開始ＵＩの一例を示す。図７に示すように、開始ＵＩ７００は、会話セッションを要求するための会話開始ボタン７１０を有するインスタント・メッセージ・ボックス７０５を備える。
【００８０】
図８は接続ＵＩの一例を示す。図８に示すように、ＵＩ８００は、会話セッション開始要求を受け入れるための接続ボタン８１０を有するインスタント・メッセージ・ボックス８０５を備える。
【００８１】
図９は会話終了ＵＩの一例を示す。図９に示すように、ＵＩ９００は、会話セッションを終了するための会話終了ボタン９１０を有するインスタント・メッセージ・ボックス９０５を備える。
【００８２】
図１０は半二重ユーザ・インタフェースの一例を示す。図１０に示すように、ＵＩ１０００は、会話ボタン１０１０を有するインスタント・メッセージ・ボックス１００５を備える。他方の話者が話しているときは、ボタン１０１０は灰色表示され、さもなければ動作不能にされる。
【００８３】
その他の実施の形態も、特許請求の範囲内である。
【図面の簡単な説明】
【図１】  通信システムのブロック図である。
【図２】  図１のブロック図を拡大した図である。
【図３】  図１のブロック図を拡大した図である。
【図４】  図１のブロック図を拡大した図である。
【図５】  図１のブロック図を拡大した図である。
【図６】  図１〜５のシステムによって実現される通信方法のフローチャートである。
【図７】  図１〜５のシステムによって提供される異なるグラフィカル・ユーザ・インタフェースを示す図である。
【図８】  図１〜５のシステムによって提供される異なるグラフィカル・ユーザ・インタフェースを示す図である。
【図９】  図１〜５のシステムによって提供される異なるグラフィカル・ユーザ・インタフェースを示す図である。
【図１０】  図１〜５のシステムによって提供される異なるグラフィカル・ユーザ・インタフェースを示す図である。
【図１】
0004467220.tif 000002
【図２】
0004467220.tif 000003
【図３】
0004467220.tif 000004
【図４】
0004467220.tif 000005
【図５】
0004467220.tif 000006
【図６】
0004467220.tif 000007
【図７】
0004467220.tif 000008
【図８】
0004467220.tif 000009
【図９】
0004467220.tif 000010
【図１０】
0004467220.tif 000011