(57)【要約】  ブラウザを使用して、ユーザ側でインスタントメッセージングソフトウェアをインストールする要件を排除するインスタントメッセージングのための方法およびシステムが説明される。ソースユーザ（２４５）がターゲットユーザ（２２５）にインスタントメッセージを送信すると、ソースサーバ（ソースユーザがログインしたサーバ、２２０）は、インスタントメッセージングステータスサーバ（２１０）の助けを借りてターゲットサーバ（該ターゲットユーザが現在ログインしているサーバ、２３０）の情報を検索し、検索結果に応じて、該インスタントメッセージをターゲットサーバ（２３０）に送信する。次に、ターゲットサーバ（２３０）が、インスタントメッセージをターゲットユーザ（２５５）に中継する。ターゲットサーバ（２３０）は、返信メッセージを、ソースサーバ（２２０）に送信することもでき、次いで、ソースサーバは、返信メッセージをソースユーザ（２４５）に伝送する。ユーザ（２４５，２５５）のうち少なくとも１人はブラウザを使用し、インスタントメッセージングクライアントソフトウェアを使用しないことが好ましい。
2010506244.tif 000002
【特許請求の範囲】
【請求項１】
ブラウザを使用するインスタントメッセージングの方法であって、
ソースサーバ（２２０）で、ソースユーザ（２４５）からターゲットユーザ（２２５）に送信されたインスタントメッセージを受信するステップであって、前記ソースユーザ（２４５）および前記ターゲットユーザ（２５５）のうちの少なくとも１人はインスタントメッセージングを実行するためにブラウザを使用しているブラウザユーザである、ステップと、
ステータスサーバ（２１０）を介して前記ソースサーバ（２２０）によって、前記ターゲットユーザ（２５５）がログインしているターゲットサーバ（２３０）の情報を問い合わせるステップと、
前記インスタントメッセージを前記ターゲットサーバ（２３０）に送信するステップと、
前記ターゲットサーバ（２３０）によって前記インスタントメッセージを前記ターゲットユーザ（２５５）に伝送するステップと
を含む方法。
【請求項２】
前記ターゲットサーバによって返信インスタントメッセージを前記ソースサーバに送信するステップと、
前記ソースサーバによって前記返信インスタントメッセージを前記ソースユーザに伝送するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ソースユーザはインスタントメッセージングを実行するためにブラウザを使用し、前記ソースサーバはウェブチャットサーバを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記ソースユーザはインスタントメッセージングを実行するためにブラウザを使用し、前記方法は、
前記ソースユーザがインスタントメッセージングを実行する前に、前記ソースユーザからログオン情報を受信するステップと、
前記ソースユーザを、前記ソースサーバとして機能するウェブチャットサーバにリディレクトするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ソースユーザはインスタントメッセージングを実行するためにブラウザを使用し、前記方法は、
前記ソースユーザがインスタントメッセージングを実行する前に、前記ソースユーザからログオン情報を受信するステップと、
前記ソースユーザを、前記ソースサーバとして機能するウェブチャットサーバにリディレクトするステップと、
前記ウェブチャットサーバによって、前記ソースユーザから受信した前記ログオン情報を認証するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ターゲットユーザはインスタントメッセージングを実行するためにブラウザを使用し、前記ターゲットサーバはウェブチャットサーバを備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記ターゲットユーザはインスタントメッセージングを実行するためにブラウザを使用し、
前記ターゲットユーザがインスタントメッセージングを実行する前に、前記ターゲットユーザからログオン情報を受信するステップと、
前記ターゲットユーザを、前記ターゲットサーバとして機能するウェブチャットサーバにリディレクトするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ターゲットユーザはインスタントメッセージングを実行するためにブラウザを使用し、
前記ターゲットユーザがインスタントメッセージングを実行する前に、前記ターゲットユーザからログオン情報を受信するステップと、
前記ターゲットユーザを、前記ターゲットサーバとして機能するウェブチャットサーバにリディレクトするステップと、
前記ウェブチャットサーバによって、前記ターゲットユーザから受信した前記ログオン情報を認証するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記ブラウザユーザからログオン情報を含むログオン要求を受信するステップと、
前記ログイン要求の前記ログオン情報に従って、ディスパッチサーバによって、ウェブチャットサーバを前記ブラウザユーザに割り当てるステップと、
前記ログイン要求を前記ウェブチャットサーバにリディレクトするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記ブラウザユーザのウェブチャットサーバへのログオンを許可するステップと、
インスタントメッセージングのセッション中、前記ブラウザユーザと前記ウェブチャットサーバとの間で、インスタントメッセージングのための通信接続を維持するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記ブラウザユーザから、インスタントメッセージのフェッチコマンドを定期的に受信するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記インスタントメッセージのフェッチコマンドは、前記フェッチコマンドがインスタントメッセージを取得する場合には増加する可変頻度で受信されることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記インスタントメッセージのフェッチコマンドは、前記ソースユーザと前記ターゲットユーザのうちの少なくとも１人がインスタントメッセージを送信する場合には増加する可変頻度で受信されることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記インスタントメッセージのフェッチコマンドは、前記フェッチコマンドが規定の時間間隔内にインスタントメッセージを取得しない場合には減少する可変頻度で受信されることを特徴とする請求項１１に記載の方法。
【請求項１５】
前記ソースユーザまたはターゲットユーザの対応するログオンステータスが変化すると、前記ソースサーバと前記ターゲットサーバのうちの１つから前記ステータスサーバへ現在のステータスメッセージを送信するステップと、
前記ステータスサーバから前記現在のステータスメッセージを前記ソースサーバと前記ターゲットサーバのうちの他方へ送信するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１６】
インスタントメッセージングシステムであって、
インスタントメッセージングステータスサーバ（２１０）と、
ソースユーザサーバ（２２０）と、
ターゲットユーザサーバ（２３０）と
を備え、前記ソースユーザサーバ（２２０）と前記ターゲットユーザサーバ（２３０）のうちの少なくとも１つは、インスタントメッセージを送信または受信するために、ブラウザからブラウザユーザ（２４５または２５５）によるログオンを受諾するウェブチャットサーバであり、前記インスタントメッセージングステータスサーバ（２１０）は、前記ソースユーザサーバ（２２０）および前記ターゲットユーザサーバ（２３０）の情報と、ユーザログオンステータス情報とを記録するために使用されることを特徴とするシステム。
【請求項１７】
前記インスタントメッセージングステータスサーバ、前記ソースユーザサーバおよび前記ターゲットユーザサーバは、ネットワークを介して接続されることを特徴とする請求項１６に記載のインスタントメッセージングシステム。
【請求項１８】
前記ソースユーザサーバは、前記インスタントメッセージングステータスサーバから、前記ターゲットユーザサーバにログオンしたターゲットユーザのログオンステータス情報を受信するように構成されることを特徴とする請求項１６に記載のインスタントメッセージングシステム。
【請求項１９】
前記ウェブチャットサーバは、前記ウェブチャットサーバにログオンているユーザから、インスタントメッセージングをフェッチするために周期的にコマンドを受信するように構成されることを特徴とする請求項１６に記載のインスタントメッセージングシステム。
【請求項２０】
記憶された複数の命令を有する１つ以上のコンピュータ読取可能媒体であって、前記複数の命令がプロセッサによって実行されると、前記プロセッサに、
ソースサーバ（２２０）で、ソースユーザ（２４５）からターゲットユーザ（２２５）に送信されたインスタントメッセージを受信するステップであって、前記ソースユーザ（２４５）および前記ターゲットユーザ（２５５）のうちの少なくとも１人はインスタントメッセージングを実行するためにブラウザを使用している、ステップと、
前記ソースサーバ（２４５）によって、ステータスサーバ（２１０）を介して、前記ターゲットユーザ（２５５）がログインしているターゲットサーバ（２３０）の情報を問い合わせるステップと、
前記インスタントメッセージを前記ターゲットサーバ（２３０）に送信するステップと、
前記ターゲットサーバ（２３０）によって前記インスタントメッセージを前記ターゲットユーザ（２５５）に伝送するステップと
を実行させることを特徴とするコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２００６年６月２日付の中国特許出願第２００６１００８３３５０．４号「Ａ  ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＩＮＳＴＡＮＴ  ＭＥＳＳＡＧＩＮＧ  ＵＳＩＮＧ  Ａ  ＢＲＯＷＳＥＲ」の先の出願の優先権を主張する。
【０００２】
本開示は、インスタントメッセージング技術、特に、ブラウザを介してインスタントメッセージングを実現する方法およびシステムに関する。
【背景技術】
【０００３】
インスタントメッセージング（ＩＭ）とは、他のオンラインユーザを特定してメッセージを交換することができる技術である。ＩＭによって、ユーザは別のユーザとの独立したチャットセッションを位置づけ、および確立できるようになる。接続されると、ユーザは、リアルタイムでコメントを交換、およびファイルを共有することが可能である。
【０００４】
図１は、一般的なインスタントメッセージシステムを示す。インスタントメッセージングは、インスタントメッセージングサーバ１１０とインスタントメッセージングユーザ端末１２０および１３０との間の通信によって実現される。インスタントメッセージングユーザ端末１２０および１３０には、通常は、インスタントメッセージングのために設計されたクライアントソフトウェアがインストールされる。このようなインスタントメッセージングソフトウェアは、典型的に、受信モジュール（例えば１２２および１３２）および送信モジュール（例えば１２４および１３４）を有する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えばＴｒａｄｅＭａｎａｇｅｒ、ＱＱおよびＭＳＮ等の現在のインスタントメッセージングソフトウェアは、すべて、ユーザエンド（例えば、インスタントメッセージングユーザ端末１２０および１３０）でソフトウェアをインストールすることが必要である。これは、必ずしも便利ではない。例えば、インターネットバーでオンラインチャットをする必要がある場合、適切なインスタントメッセージングソフトウェアがまず公共のコンピュータまたは端末にインストールされていることが必要であり、プロセスを困難にし、プライバシーを欠く。さらに、コンピュータにファイアウォールの設定があれば、オンラインチャットをすることができない場合がある。
【０００６】
さらに、現在のインスタントメッセージングスキームは、デスクトップシステム（Ｗｉｎｄｏｗｓ（登録商標）のようなグラフィカルオペレーティングシステム）に基づいている。ソフトウェアのダウンロードは、ファイルサイズや接続速度によって通常は遅い。ダウンロード後でも、ソフトウェアのインストールは、多数のユーザにとってはまだ問題が残る場合がある。その上に、現在のソフトウェアは、頻繁なソフトウェア更新が必要であるが、実行は容易ではない場合がある。通常は、ユーザがソフトウェアを手動で更新、またはバックグラウンドの自動更新を設定することが必要になる。ユーザがソフトウェアを更新しないと、ユーザのインスタントメッセージングクライアントソフトウェアは旧バージョンのままになり、機能が少ない、安全性に劣る、または機能すらしない、という可能性がある。
【課題を解決するための手段】
【０００７】
開示されるインスタントメッセージングシステムおよび方法は、ブラウザユーザの（ウェブチャットサーバのような）ユーザサーバを使用して、インスタントメッセージングユーザ間でインスタントメッセージを伝送する。インスタントメッセージングユーザは、ブラウザユーザ、またはインスタントメッセージングクライアントソフトウェアユーザにすることができる。該システムおよび方法は、インスタントメッセージングソフトウェアをインストールすることなく、ブラウザユーザとインスタントメッセージングクライアントソフトウェアユーザ間のインスタントメッセージング、および、２人のブラウザユーザ間のインスタントメッセージングを可能にする。
【０００８】
ブラウザを使用して、インスタントメッセージングを実現することによって、少なくともブラウザユーザ側で、既存の技術における、インスタントメッセージングのための特定のインスタントメッセージングソフトウェアの要件が排除される。
【０００９】
開示の一態様は、以下の手順により、ブラウザを使用して、インスタントメッセージングを実現する方法である。
【００１０】
（１）ソースユーザがインスタントメッセージをターゲットユーザに送信する。ソースユーザとターゲットユーザのうちの少なくとも１人は、ブラウザを使用するブラウザユーザである。
【００１１】
（２）ソースサーバ（ソースユーザのサーバ）は、ターゲットサーバ（ターゲットユーザのサーバ）の情報を検索して、検索結果に応じて、ターゲットユーザが現在ログインしているターゲットサーバにインスタントメッセージを送信する。
【００１２】
（３）次にターゲットサーバは、インスタントメッセージをターゲットユーザに伝送する。ターゲットユーザが返信する場合は、ターゲットサーバは、返信メッセージを、ソースサーバに送信し、該ソースサーバは、該メッセージをターゲットユーザに対して転送する。
【００１３】
ブラウザユーザがインスタントメッセージングを開始する前に、ブラウザユーザは、ウェブチャットサーバにログインすることが必要になる場合がある。ブラウザユーザのウェブチャットサーバへのログオンは、以下に説明する典型的な手順に従うことができる。
【００１４】
（１）ブラウザユーザはログイン要求をディスパッチサーバに送信する。
【００１５】
（２）ディスパッチサーバは、ログイン要求の情報に基づいて、ブラウザユーザにウェブチャットサーバを割り当て、この要求を割り当てられたウェブチャットサーバにリディレクトする。
【００１６】
（３）ウェブチャットサーバは、ブラウザユーザの身元を検証して、検証の成功後にブラウザユーザのログインを許可する。ディスパッチサーバがウェブチャットサーバをブラウザユーザに割り当てた後、そのブラウザユーザは、メッセージングのプロセス全体にわたってウェブチャットサーバとの通信接続を維持することができる。
【００１７】
一実施形態では、インスタントメッセージングユーザのステータスが変化すると、ユーザがログインしているユーザサーバは、現在のステータスメッセージをインスタントメッセージングステータスサーバに送信する。インスタントメッセージングステータスサーバは、次に、このステータスメッセージを別のユーザのユーザサーバに伝送する。
【００１８】
本開示の一態様は、インスタントメッセージングシステムが、インスタントメッセージングステータスサーバ、ユーザサーバおよびユーザ機器を含むことである。インスタントメッセージングステータスサーバは、ユーザがログインしているユーザサーバの情報およびユーザステータスメッセージを記録するために使用される。個別にインスタントメッセージングステータスサーバおよびそれぞれのユーザ機器に接続する、複数のユーザサーバは、ユーザサーバの情報とインスタントメッセージングステータスサーバに記録されたユーザステータスメッセージに応じて、ユーザ間でインスタントメッセージを伝送するために使用される。ユーザサーバは、ウェブチャットサーバを含むことができる。ユーザサーバに接続する複数のセットのユーザ機器は、インスタントメッセージを送信および受信するために使用される。
【００１９】
また、システムはディスパッチサーバも含むことができる。ディスパッチサーバは、ウェブチャットサーバに接続するためにログイン要求を送信したユーザ機器に対して（ウェブチャットサーバのような）ユーザサーバを割り当て、ログイン要求をウェブチャットサーバにリディレクトする。
【００２０】
一実施形態では、ウェブチャットサーバに接続するユーザ機器は、時間を置いて（または周期的に）メッセージフェッチコマンドを送信して、ウェブチャットサーバを介して相手側ユーザ機器から送信されたインスタントメッセージを取得する。効率を最適化するために、ブラウザユーザがウェブチャットサーバからインスタントメッセージを受信、またはブラウザユーザがインスタントメッセージをウェブチャットサーバに送信後、システムは、インスタントメッセージのフェッチ頻度を増加することができる。反対に、ブラウザユーザが規定時間内にウェブチャットサーバからインスタントメッセージを一切受信しない場合、システムは、インスタントメッセージのフェッチ頻度を減少することができる。
【００２１】
以上の本発明の開示は、以下の詳細説明でさらに説明される一連の概念を簡素化した形式で紹介するために提供される。以上の本発明の開示は、請求対象事項の主要機能または重要な機能を特定することを意図したものではなく、また、請求対象事項の範囲を決定する一助として使用されることを意図したものではない。開示の方法およびシステムの他の
特徴および利点は、以下の詳細説明および図面からさらに容易に理解されるようになる。
【００２２】
詳細説明は、添付の図面を参照しながら説明される。図中、参照番号の先頭の数字は、その参照番号が最初に現れる図面を特定する。異なる図面で同じ参照番号を使用している場合は、類似または同一項目を示す。
【図面の簡単な説明】
【００２３】
【図１】一般的なインスタントメッセージングシステムを示す。
【図２】本開示に従って、ブラウザを使用する典型的なインスタントメッセージングシステムの模式図である。
【図３】ブラウザユーザとインスタントメッセージングユーザとの間の典型的なインスタントメッセージングの模式図である。
【図４】２人のブラウザユーザの間の典型的なインスタントメッセージングの模式図である。
【図５】インスタントメッセージングを実行するために、ブラウザユーザのウェブチャットサーバへのログイン方法を示す典型的なプロセスの流れ図である。
【図６】ブラウザユーザがインスタントメッセージングユーザへのインスタントメッセージの送信を開始する方法と、これらのユーザ間のインスタントメッセージの通信方法を示す典型的なプロセスの流れ図である。
【図７】インスタントメッセージングユーザがブラウザユーザへのインスタントメッセージを開始する方法と、これらのユーザ間のインスタントメッセージの通信方法を示す典型的なプロセスの流れ図である。
【図８】２人のブラウザユーザがどのようにインスタントメッセージを互いに送信するかを示す典型的なプロセスの流れ図である。
【図９】ユーザのステータスが変化する典型的なインスタントメッセージングプロセスの流れ図である。
【図１０】開示に応じて、インスタントメッセージングシステムを実現するための典型的な環境を示す。
【発明を実施するための最良の形態】
【００２４】
本詳細では、以下の用語は、最も広義の意味で使用され、以下の説明に従って解釈されるべきである。
【００２５】
インスタントメッセージングユーザ（ソースユーザおよびターゲットユーザ）は、インスタントメッセージングでの情報交換に参加する、個人、人の集合、または、この代表者であり得る。
【００２６】
インスタントメッセージングのためのユーザ端末は、コンピュータまたはコンピュータシステムにデータを入力するため、およびコンピュータまたはコンピュータシステムからのデータを表示するために使用される電子または電気機械ハードウェアデバイスである。インスタントメッセージングのためのユーザ端末は、典型的に、通信ライン（有線または無線のいずれか）上のテキスト端末インターフェースを有するが、オーディオやビデオ等の他の種類のインターフェースは、テキストインターフェースの代わりまたはテキストインターフェースに追加して使用することができる。ユーザ端末は、パーソナルコンピュータ（ＰＣ）、公共の場所の固定コンピュータ端末、移動型コンピュータ、電子手帳（ＰＤＡ）または移動型携帯電話等のコンピュータデバイスの一部に接続、またはそれの一部を構成することができる。
【００２７】
ブラウザまたはウェブブラウザは、ユーザが、典型的にはワールドワイドウェブまたはローカルエリアネットワーク上のウェブサイトでのウェブページ上に存在するテキスト、画像およびその他の情報を表示および相互作用できるようにするソフトウェアアプリケーションである。
【００２８】
ディスパッチサーバは、クライアントＩＰアドレスを使用して、クライアントに割り当てるサーバの決定を助ける。ディスパッチサーバによって、システムは、アクセスを制御、サーバがダウンしている場合に冗長性を提供、および負荷場ランシングを実行することができる。
【００２９】
開示されるインスタントメッセージングシステムおよび方法は、ブラウザユーザのユーザサーバ（ウェブチャットサーバ等）を使用して、インスタントメッセージングユーザ間でインスタントメッセージを伝送する。インスタントメッセージングユーザは、ブラウザユーザまたはインスタントメッセージングクライアントソフトウェアユーザにすることができる。該システムおよび方法によって、インスタントメッセージングソフトウェアをインストールすることなく、ブラウザユーザとインスタントメッセージングクライアントソフトウェアユーザ間のインスタントメッセージング、および、２人のブラウザユーザ間のインスタントメッセージングが可能になる。
【００３０】
ブラウザを使用してインスタントメッセージングを実現することにより、既存の技術におけるインスタントメッセージングのための特定のインスタントメッセージングソフトウェアの要件が排除される。
【００３１】
図２は、本開示に従って、ブラウザを使用する典型的なインスタントメッセージングシステムの模式図である。該システムは、インスタントメッセージングステータスサーバ２１０、およびインスタントメッセージングステータスサーバ２１０に接続するユーザサーバ２２０および２３０を含む。ユーザサーバ２２０はユーザ機器２４０に接続して、同様にユーザサーバ２３０はユーザ機器２５０に接続する。ユーザ機器２４０および２５０は、インスタントメッセージングのためのユーザ端末として、任意の適切なコンピュータデバイスにすることができる。インスタントメッセージングユーザ２４５および２５５は、それぞれのユーザ機器２４０および２５０を経由して互いに通信する。
【００３２】
インスタントメッセージングステータスサーバ２１０は、ユーザがログインするユーザサーバ（例えば２２０または２３０）の情報およびユーザのユーザステータス情報（例えば、ユーザステータスメッセージ）を記録するために使用される。ユーザサーバ２２０および２３０は、ユーザ（例えば２４５および２５５）のネットワークアクセスを制御するため、およびユーザ間のインスタントメッセージを伝送するために使用される。各ユーザサーバ２２０および２３０は、複数のユーザをサポートするために、複数のセットのユーザ機器と接続することができる（各ユーザサーバ２２０および２３０に対して１人のユーザと１つのセットの使用機器だけが示されている）。ユーザサーバ２２０および２３０は、インスタントメッセージングステータスサーバ２１０から、別のユーザがログインしている別のユーザサーバの情報およびそのユーザのステータスを取得することができる。
【００３３】
一実施形態では、ユーザサーバ２２０および２３０のうちの少なくとも１つは、ブラウザユーザに接続するウェブチャットサーバである。別の実施形態では、ユーザサーバ２２０および２３０のうちの少なくとも１つは、インスタントメッセージングクライアントソフトウェアユーザと接続するインスタントメッセージングサーバである。
【００３４】
図３は、ブラウザユーザとインスタントメッセージングユーザとの間の典型的なインスタントメッセージングの模式図である。該システムは、インスタントメッセージングステータスサーバ３１０、ならびにどちらもインスタントメッセージングステータスサーバ３１０に接続されるウェブチャットサーバ３２０およびインスタントメッセージおよびインスタントメッセージングサーバ３３０を含む。図３では、ウェブチャットサーバ３２０およびインスタントメッセージングサーバ３３０を除く他の任意のユーザサーバは、省略されている。ウェブチャットサーバ３２０は、ブラウザユーザ３４５によって操作されるブラウザユーザ機器３４０に接続していて、同様に、インスタントメッセージングサーバ３３０は、ユーザ３５５によって操作されるインスタントメッセージングユーザ機器３５０に接続している。ユーザ３５５は、インスタントメッセージングユーザ機器３５０上にインストールされたクライアントソフトウェアを使用して、インスタントメッセージングを実行する従来のインスタントメッセージングユーザにすることができる。
【００３５】
ブラウザユーザ機器３４０およびインスタントメッセージングユーザ機器３５０は、インスタントメッセージングのためのユーザ端末として、任意の適切なコンピュータデバイスにすることができる。典型的に、ブラウザ使用機器３４０は、ウェブブラウザを稼動するコンピュータデバイスを含むことができる。
【００３６】
ブラウザユーザ３４５が、ユーザ３５５にインスタントメッセージを送信することによって、インスタントメッセージングを開始すると、ウェブチャットサーバ３２０は、まず、インスタントメッセージングステータスサーバ３１０を介して、インスタントメッセージングサーバ３３０の情報を問い合わせてから、インスタントメッセージングをインスタントメッセージングサーバ３３０に送信する。インスタントメッセージングサーバ３３０は、次に、インスタントメッセージをユーザ３５５に伝送する。ユーザ３３５が、機器３５０を使用してインスタントメッセージングを介して返信する場合、インスタントメッセージングサーバ３３０は、ユーザ３５５の返信メッセージを、ウェブチャットサーバ３２０に送信し、該ウェブチャットサーバは、該メッセージをブラウザユーザ３４５に伝送する。
【００３７】
ユーザ３５５が、ブラウザユーザ３４５に対するインスタントメッセージ送信を開始すると、インスタントメッセージングサーバ３３０は、まず、インスタントメッセージングステータスサーバ３１０を介してウェブチャットサーバ３２０の情報を検索してから、インスタントメッセージをウェブチャットサーバ３２０に送信する。ウェブチャットサーバ３２０は、次に、該インスタントメッセージをブラウザユーザ３４５に伝送する。ブラウザユーザ３４５が返信する場合は、ウェブチャットサーバ３２０は、ブラウザユーザ３４５の返信メッセージを、インスタントメッセージングサーバ３３０に返信し、該インスタントメッセージングサーバは、該返信メッセージをユーザ３５５に伝送する。
【００３８】
インスタントメッセージングの前に、ブラウザユーザ３４５は、ユーザサーバ３２０にログインすることが必要な場合がある。これを行なうため、ユーザサーバが、ディスパッチサーバ（図示せず）によって、ブラウザユーザ３４５に割り当てられ、ユーザがログインするために、ユーザ３４５とウェブチャットサーバ３２０との接続を確立する。ディスパッチされるユーザサーバは、個別のユーザサーバ（図示せず）またはウェブチャットサーバ自体のいずれかであってよい。
【００３９】
匿名ログインと非匿名ログインの２種類のログインがある。ログインの種類は、ブラウザユーザ３４５がターゲットユーザ３５５と通信する方式を表す。例えば、ブラウザユーザ３４５は、匿名ログインを使用してユーザ３５５と匿名のインスタントメッセージングを確立することができる。あるいは、非匿名ログインを使用してユーザ３５５と明示的に指名されたインスタントメッセージングを確立することができる。
【００４０】
匿名ログインの場合には、ブラウザユーザ３４５は、ターゲットユーザ３５５のオンラインアイコンを匿名でクリックする。ディスパッチサーバ（図示せず）は、次に、ブラウザユーザ３４５を、ブラウザユーザ３４５がログインしているウェブチャットサーバ３２０に割り当てる。
【００４１】
非匿名ログインは、手動ログインと自動ログインを含み、手動ログインとは、ブラウザユーザ３４５が、ユーザ名とパスワードを入力してログインし、ブラウザユーザ３４５に割り当てられたウェブチャットサーバ３２０がブラウザユーザ３４５を検証して、検証が成功後にブラウザユーザ３４５がウェブチャットサーバ３２０にログインできるようにする状況を言う。
【００４２】
自動ログインとは、ブラウザユーザ３４５がウェブサイト（図示せず）にログイン済みで、ウェブチャットサーバ３２０が、このウェブサイトに配備されて、相互信頼を確立している状況を言う。この場合、ウェブチャットサーバ３２０がブラウザユーザ３４５が有する、対応するウェブサイトのクッキーの情報を検証できるため、ブラウザユーザ３４５はユーザ名とパスワードの再入力が不要な場合がある。検証が成功すると、ブラウザユーザ３４５は、ウェブチャットサーバ３２０に自動的にログインする。
【００４３】
ディスパッチサーバ（図示せず）がブラウザユーザ３４５をウェブチャットサーバ３２０に割り当てた後、ブラウザユーザ３４５とその他のサーバとの間のいかなる通信も、インスタントメッセージングの全セッション中、ウェブチャットサーバ３２０を介して維持されることが好ましい。これによって、ブラウザユーザ３４５が、ブラウザユーザ３４５に関する関連情報を全く持っていない別のサーバにログインすることを回避するので、不必要なサーバの作業量やログインの繰り返しが防止される。インスタントメッセージセッションは、ブラウザユーザ３４５がログインしたままになっている間続けることができる。または、規定のレベルのインスタントメッセージング活動が実行される一定の活動期間として定義することもできる。
【００４４】
上記を実現する１つの方法は、ブラウザ使用機器３４０とウェブチャットサーバ３２０との間のＴＣＰ（通信制御プロトコル）様の仮想リンクを維持することである。ブラウザとサーバとの間の従来の通信は、通常、短時間のリンクであるＨＴＴＰ（ハイパーテキスト転送プロトコル）を介しているので、サーバは、一般的に、一定時間後にブラウザとのＴＣＰリンクを切断することがある。この場合、割り当てられたユーザサーバ（例えばウェブチャットサーバ３２０）は、ブラウザがサーバと再び通信するときにＴＣＰ接続を再確立することができる。どの場合においても、ブラウザ使用機器３４０とウェブチャットサーバ３２０との間の非交換型通信リンクを維持することが好ましい。
【００４５】
図４は、２人のブラウザユーザ間の典型的なインスタントメッセージングの模式図である。該システムは、インスタントメッセージングステータスサーバ４１０、ならびにどちらもインスタントメッセージングステータスサーバ４１０に接続されるウェブチャットサーバ４２０および４３０を含む。ウェブチャットサーバＡ４２０は、ブラウザユーザＡ４４５によって操作されるブラウザユーザ機器Ａ４４０に接続し、同様に、ウェブチャットサーバＢ４３０は、ブラウザユーザＢ４５５によって操作されるブラウザユーザ機器Ｂ４５０に接続する。ブラウザユーザ機器Ａ４４０およびブラウザユーザ機器Ｂ４５０は、インスタントメッセージングのためのユーザ端末として、任意の適切なコンピュータデバイスにすることができる。
【００４６】
ブラウザユーザＡ４４５が、インスタントメッセージをブラウザユーザＢ４５５に送信すると、ウェブチャットサーバＡ４２０は、まず、インスタントメッセージングステータスサーバ４１０を介して、ウェブチャットサーバＢ４３０の情報を問い合わせてから、該インスタントメッセージをウェブチャットサーバＢ４３０に送信する。ウェブチャットサーバＢ４３０は、次に、インスタントメッセージをブラウザユーザＢ４５５に転送し、ブラウザユーザＢ４５５の返信インスタントメッセージをウェブチャットサーバＡ４２０に送信し、ウェブチャットサーバＡ４２０は、次に、該メッセージをブラウザユーザＡ４４５に伝送する。ブラウザユーザＢ４４５からブラウザユーザ４４５へのインスタントメッセージングは同じ手順に従うが、反対方向になる。
【００４７】
ここで説明されるシステムおよび方法は、ブラウザユーザのユーザサーバと相手側ユーザのユーザサーバとの間のインスタントメッセージの直接伝送に限定されるものではないことが理解される。むしろ、他のサーバを介するメッセージの間接的伝送が適用され得る。例えば、２つのユーザサーバ（例えば、２２０と２３０、３２０と３３０または４２０と４３０）が同じローカルエリアネットワーク（ＬＡＮ）にない場合、互いに直接通信することができない場合があるが、通信のためにゲートウェイサーバや他のサービスを経由することが必要な場合がある。
【００４８】
ブラウザユーザＡ４４５とブラウザユーザＢ４５５のログオンプロセスは、図３で説明されたブラウザユーザ３４５のログオンプロセスに類似する。そのログオンプロセスの詳細を以下に説明する。
【００４９】
図５は、インスタントメッセージングを実行するために、ブラウザユーザのウェブチャットサーバへのログイン方法を示す典型的なプロセスの流れ図である。プロセスは、ブロック単位で説明される。プロセスは、図３のブラウザユーザ３４５を参照して説明するが、ブラウザユーザ４４５および４５５にも適用される。
【００５０】
図５およびプロセスを図説する本明細書における他の図面において、方法が説明される順序は、制限として解釈されることを意図するものではなく、説明されている方法のブロックのいずれも、任意の順序で組み合わせられ、本方法または代替方法を実現することができる。
【００５１】
ブロック５００で、ブラウザユーザ３４５は、ウェブページからディスパッチサーバ（図示せず）にログイン要求を送信する。あるいは、ブラウザユーザ３４５は、ログイン要求を送信するために標準のＨＴＴＰコマンドを使用することができる。このようなログオン要求の例は、ｈｔｔｐ：／／ｄｎｓ．ｗｅｂｃｈａｔ．ａｌｉｂａｂａ．ｃｏｍ／ｌｏｇｉｎ＿ｒｅｑｕｓｔにおけるＧＥＴコマンドである。
【００５２】
ブロック５０１で、ディスパッチサーバは、ブラウザユーザ３４５をユーザサーバ（例えば、ウェブチャットサーバ３２０）に割り当てて、ブラウザユーザ３４５のログイン要求をウェブチャットサーバ３２０にリディレクトする。ディスパッチサーバは、この割り当てを決定するために多様の戦略を使用することができる。  例えば、割り当ては、ウェブチャットサーバにログインしている現在のユーザ数に基づいて、サーバの中から、要求しているブラウザユーザ３４５に対して、ユーザ数の最も少ないサーバが選ばれる。あるいは、ウェブチャットサーバは、周期的割り当てに従って選ぶことができるが、ウェブチャットサーバ３２０のログイン要求のリディレクトは、３ｘｘコマンド（ＨＴＴＰ標準プロトコルに見られるＲＦＣ２６１６の定義内のリディレクトコマンド）、または、ＭＥＴＡ−ＨＴＴＰ−ＥＱＵＩＶ＝“Ｒｅｆｒｅｓｈ“ＣＯＮＴＥＮＴ＝”０；ＵＲＬ＝ｈｔｔｐ：／／（あて先ホストのＤＮＳ名）”のいずれかのコマンドによって、実現することが可能である。
【００５３】
ブロック５０２で、ディスパッチサーバは、次に、ブラウザユーザ３４５に認証メッセージを返信する。認証メッセージは、一連の非反復文字列を含むメッセージで、ウェブチャットサーバ３２０が、ログイン要求はディスパッチサーバから転送されたものであるかどうかを検証するときに使用される。
【００５４】
ブロック５０３で、ブラウザユーザ３４５はウェブチャットサーバ３２０にログオンする。
【００５５】
ブロック５０４で、ウェブチャットサーバ３２０は、ディスパッチサーバからブラウザユーザ３４５に送信された認証メッセージが正しいかどうかを検証する。正しい場合は、プロセスはブロック５０５に進む。正しくない場合は、プロセスはブロック５０７に戻り、ブラウザにユーザログオンが失敗したことを示す。
【００５６】
ブロック５０５で、ウェブチャットサーバ３２０は、ブラウザユーザ３４５のユーザ名とパスワードまたはブラウザユーザ３４５のログオンメッセージが有するクッキー情報を検証する。検証に成功すると、プロセスはブロック５０６に進む。失敗した場合は、プロセスはブロック５０７に戻る。
【００５７】
ブロック５０６で、ブラウザユーザ３４５は、ログインに成功している。
【００５８】
ブロック５０７で、このプロセスは、ブラウザユーザ３４５はログインに失敗したことを示す。ログインの失敗理由を、ブラウザユーザ３４５に提供することができる。
【００５９】
ブラウザユーザ３４５による匿名ログインのプロセスでは、ブロック５０５は、省かれ、直接ブロック５０６に進む。
【００６０】
ブラウザユーザ３４５がウェブチャットサーバ３２０にログイン成功後、ブラウザユーザ３４５は、クライアントソフトウェアを使用する従来のインスタントメッセージングユーザ３５５または別のブラウザユーザ（例えば４５５）等、別のユーザとのインスタントメッセージングを行うことができる。インスタントメッセージングクライアントソフトウェアユーザ３５５とのインスタントメッセージングの場合、ブラウザユーザ３４５またはユーザ３５５のいずれも、インスタントメッセージング要求を送信することによって、インスタントメッセージングを開始することができる。インスタントメッセージングのプロセスでは、インスタントメッセージングサーバ３２０は、インスタントメッセージをインスタントメッセージングクライアントソフトウェアユーザ３５５に直接伝送することができる。
【００６１】
図４の設定で示されるような、ターゲットユーザもブラウザユーザである場合、ウェブチャットサーバ（例えば４２０）は、インスタントメッセージをターゲットブラウザユーザ４５５に直接送信することができない場合がある。この場合、ターゲットブラウザユーザ４５５は、ウェブチャットサーバ４２０まで積極的にアクセスし、ブラウザユーザ４４５等、他方の当事者によって送信された任意のインスタントメッセージをフェッチすることが必要な場合がある。
【００６２】
ブラウザおよびブラウザユーザ機器（３４０、４４０または４５０）は、インスタントメッセージを送信、または、インスタントメッセージをフェッチするためのコマンドを送信するために、任意の適切な方法を使用することができる。典型的な一方法は、Ａｊａｘ（非同期ＸＭＬＨＴＴＰ）を使用して、それぞれのウェブチャットサーバ（３２０、４２０または４３０）と通信することである。
【００６３】
ウェブチャットサーバ（３２０、４２０または４３０）が、インスタントメッセージをターゲットユーザサーバ（例えば、３３０、４３０または４２０）に直接送信しない場合は、まず、メッセージをキャッシュメモリに入れて、意図されたテーゲットユーザ（例えばブラウザユーザ４５５）がそれを取得するのを待つことができる。ウェブチャットサーバは、インスタントメッセージングステータスサーバ（３１０または４１０）から受信したステータス変更メッセージ等、すべての情報に関して同様に実行することができる。
【００６４】
一実施形態では、ブラウザユーザは、周期的または時間間隔で、メッセージフェッチコマンドをそれぞれのウェブチャットサーバに送信する。時間間隔は、ウェブチャットサーバまたはブラウザユーザのいずれかによって設定することができる。２つの連続したインスタントメッセージフェッチコマンドの間の最初の時間間隔は、規定またはソースサーバとターゲットサーバのうちの少なくとも１つによって設定することができる。最初の時間間隔がウェブチャットサーバによって設定される場合、ブラウザユーザがウェブチャットサーバにログイン成功後に設定することができる。あるいは、最初の時間間隔は、ブラウザユーザのようなユーザによってローカルで設定することができる。
【００６５】
ブラウザユーザが相手側ユーザからインスタントメッセージを取得、または、インスタントメッセージを相手側ユーザに送信すると、ブラウザユーザは、「チャット」モードと呼ぶことができる時相に入る。チャットモードでは、ブラウザユーザが対応するウェブチャットサーバからメッセージをフェッチする頻度は、効率を向上するために変更することができる。
【００６６】
例えば、図４を参照して、時間間隔がブラウザユーザ側でローカルに（例えば、ブラウザユーザＡ４４５によって手動で、または、ブラウザ使用機器Ａ４４０によって自動でのいずれかで）設定されると想定する。ブラウザユーザ４４５によるウェブチャットサーバ４２０からのインスタントメッセージの取得発生後、または、ブラウザユーザ４４５によるウェブチャットサーバ４２０へのインスタントメッセージ送信発生後、予想外の高い活動時間を伴う「チャット」モードに対応するために、インスタントメッセージをフェッチする頻度を増加することができる。ブラウザユーザ４４５がフェッチコマンドの送信後にウェブチャットサーバ４２０からインスタントメッセージを全く取得しない場合、予想される低い活動時間を反映するように、インスタントメッセージをフェッチする頻度を減少することができる。
【００６７】
例えば、ブラウザユーザ４４５は、最初、３０秒で時間間隔を設定すると仮定する。つまり、ブラウザユーザ４４５は、３０秒毎にメッセージフェッチコマンドをウェブチャットサーバに送信する。頻度は、インスタントメッセージが取得または送信されるかに基づいて変化する。ブラウザユーザ４４５がインスタントメッセージを取得すると、時間間隔は、３０秒から、例えば、２秒に変更され得る。その後、ブラウザユーザ４４５によってメッセージが取得されない場合は、時間間隔は、２秒から４秒に増加され得る。次のフェッチ（または数回のフェッチ）でまだインスタントメッセージがない場合は、時間間隔は６秒に、次に８秒に、そして最終的には３０秒に戻される。ブラウザユーザ４４５は、その後、ウェブチャットサーバ４２０からインスタントメッセージを取得または送信すると、システムは、再び、「チャット」モードに入って、時間間隔はそれに応じて変化する。
【００６８】
規定の時間間隔（例えば、１０回のフェッチ間隔、すなわち１０×３０秒＝６分）が経過して、ブラウザユーザ４４５が全くインスタントメッセージを取得していない場合、ブラウザユーザは、ログオフしたと見なすことができ、ウェブチャットサーバは、そのブラウザユーザのために使用されたキャッシュのメモリを消去して、相手側ユーザにブラウザユーザがログオフしたことを通知する。
【００６９】
図６は、ブラウザユーザがインスタントメッセージングユーザへのインスタントメッセージの送信を開始する方法と、これらのユーザ間のインスタントメッセージの通信方法を示す典型的なプロセスの流れ図である。図６のプロセスは、図３を参照して説明するが、他の設定にも適用することができる。
【００７０】
ブロック６００で、ブラウザユーザ３４５は、インスタントメッセージを、ブラウザユーザ３４５がログインしているウェブチャットサーバ３２０に送信する。
【００７１】
ブロック６０１で、ウェブチャットサーバ３２０は、インスタントメッセージングステータスサーバ３１０を介して、インスタントメッセージユーザ３５５がログインしているインスタントメッセージングサーバ３３０の情報を問い合わせる。
【００７２】
ブロック６０２で、ウェブチャットサーバ３２０は、ブラウザユーザ３４５のインスタントメッセージをインスタントメッセージングサーバ３３０に送信する。
【００７３】
ブロック６０３で、インスタントメッセージングサーバ３３０は、該インスタントメッセージをインスタントメッセージングユーザ３３５に伝送する。
【００７４】
ブロック６０４で、インスタントメッセージングユーザ３５５は、返信インスタントメッセージをブラウザユーザ３４５に送信する。該返信インスタントメッセージは、インスタントメッセージングサーバ３３０に送信される。
【００７５】
ブロック６０５で、インスタントメッセージングサーバ３３０がインスタントメッセージングユーザ３５５からの返信インスタントメッセージを受信後、該返信インスタントメッセージは、ウェブチャットサーバ３２０に伝送される。
【００７６】
ブロック６０６で、ウェブチャットサーバ３２０は、該返信インスタントメッセージを受信後、該返信インスタントメッセージをキャッシュに入れる。
【００７７】
ブロック６０７で、ブラウザユーザ３４５は、ウェブチャットサーバ３２０から該返信インスタントメッセージを取得する。
【００７８】
図７は、インスタントメッセージングユーザがブラウザユーザへのインスタントメッセージを開始する方法と、これらのユーザ間のインスタントメッセージの通信方法を示す典型的なプロセスの流れ図である。図７のプロセスは、図３を参照して説明するが、他の設定にも適用することができる。
【００７９】
ブロック７００で、インスタントメッセージングユーザ３５５は、インスタントメッセージを、ログインしているインスタントメッセージングサーバ３３０に送信する。
【００８０】
ブロック７０１で、インスタントメッセージングサーバ３３０は、インスタントメッセージングステータスサーバ３１０を介して、ブラウザユーザ３４５がログインしているウェブチャットサーバ３２０の情報を問い合わせる。
【００８１】
ブロック７０２で、インスタントメッセージングサーバ３３０は、インスタントメッセージングユーザ３５５のインスタントメッセージをウェブチャットサーバ３２０に送信する。
【００８２】
ブロック７０３で、ウェブチャットサーバ３２０は、インスタントメッセージングユーザ３５５のインスタントメッセージを受信後、該メッセージをキャッシュに入れる。
【００８３】
ブロック７０４で、ブラウザユーザ３４５は、ウェブチャットサーバ３２０からインスタントメッセージングユーザ３５５のインスタントメッセージを取得する。
【００８４】
ブロック７０５で、ブラウザユーザ３４５は、返信インスタントメッセージをインスタントメッセージングユーザ３５５に送信する。このメッセージは、ブラウザユーザ３４５がログインしているウェブチャットサーバ３２０に伝送される。
【００８５】
ブロック７０６で、ウェブチャットサーバ３２０は、ブラウザユーザ３４５のインスタントメッセージをインスタントメッセージングサーバ３３０に送信する。
【００８６】
ブロック７０７で、インスタントメッセージングサーバ３３０は、ブラウザユーザ３４５のインスタントメッセージをインスタントメッセージングユーザ３３５に伝送する。
【００８７】
図８は、２人のブラウザユーザがどのようにインスタントメッセージを互いに送信するかを示す典型的なプロセスの流れ図である。図８のプロセスは、図４を参照して説明するが、他の設定にも適用することができる。
【００８８】
ブロック８００で、ブラウザユーザＡ４４５は、インスタントメッセージをウェブチャットサーバＡ４２０に送信する。
【００８９】
ブロック８０１で、ウェブチャットサーバＡ４２０は、インスタントメッセージングステータスサーバ４１０を介して、ブラウザユーザＢがログインしているサーバ（ウェブチャットサーバＢ４３０）の情報を問い合わせる。
【００９０】
ブロック８０２で、ウェブチャットサーバＡ４２０は、ブラウザユーザＡ４４５のインスタントメッセージをウェブチャットサーバＢ４３０に送信する。
【００９１】
ブロック８０３で、ウェブチャットサーバＢ４３０は、ブラウザユーザＡ４４５のインスタントメッセージを受信して、キャッシュに入れる。
【００９２】
ブロック８０４で、ブラウザユーザＢ４５５は、ウェブチャットサーバＢ４３０からブラウザユーザＡ４４５のインスタントメッセージを取得する。
【００９３】
ブロック８０５で、ブラウザユーザＢ４４５は、ウェブチャットサーバＢ４３０に返信インスタントメッセージを送信することによって、ブラウザユーザＡ４４５に返信する。
【００９４】
ブロック８０６で、ウェブチャットサーバＢ４３０は、ブラウザユーザＢ４５５のインスタントメッセージをウェブチャットサーバＡ４２０に送信する。
【００９５】
ブロック８０７で、ウェブチャットサーバＡ４２０は、ブラウザユーザＢ４５５のインスタントメッセージを受信して、キャッシュに入れる。
【００９６】
ブロック８０８で、ブラウザユーザＡ４４５は、ウェブチャットサーバＡ４２０からブラウザユーザＢ４５５の返信インスタントメッセージを取得する。
【００９７】
ブラウザユーザＢ４５５がブラウザユーザＡ４４５へのインスタントメッセージの送信を開始すると、プロセスは、「Ａ」と「Ｂ」の間を交換して反対方向に進むことを除いて、上記と同じプロセスが実行される。
【００９８】
インスタントメッセージングのプロセス中、ユーザのステータスは、オンラインからオフラインに変化する場合がある。例えば、インスタントメッセージング中のユーザは、ネットワーク切断、コンピュータ停止、またはブラウザ停止のために、オフラインになる可能性がある。インスタントメッセージングシステムは、ユーザのステータス変更等を相手側当事者に通信するように構成されることが好ましい。
【００９９】
図９は、ユーザのステータスが変化する典型的なインスタントメッセージングプロセスの流れ図である。図９のプロセスは、図４を参照して説明するが、その他の設定にも適用することができる。以下の説明では、ブラウザユーザＡ４４５は、メッセージの発信元であるソースユーザで、ブラウザユーザＢ４４５は、ソースユーザからのメッセージを受信するターゲットユーザであると想定する。同様な説明は、ブラウザユーザＡ４４５とブラウザユーザＢ４５５の役割を交換しても適用される。
【０１００】
ブロック９００で、ソースユーザ（ブラウザユーザＡ４４５）とターゲットユーザ（ブラウザユーザＢ４５５）がインスタントメッセージングを開始する。
【０１０１】
ブロック９０１で、ターゲットユーザ（ブラウザユーザＢ４５５）のオンラインステータスが変化する。ターゲットユーザサーバ（ウェブチャットサーバＢ４３０）は、現在の（新しい）ステータスメッセージをインスタントメッセージングステータスサーバ４１０に送信する。
【０１０２】
ブロック９０２で、インスタントメッセージングステータスサーバは、このステータス変更メッセージを受信して、それをソースユーザサーバ（ウェブチャットサーバＡ４２０）に伝送する。
【０１０３】
ブロック９０３で、ソースユーザサーバ（ウェブチャットサーバＡ４２０）は、次に、ソースユーザ４４５のインスタントメッセージを取り消す。あるいは、または追加で、ソースユーザサーバ（ウェブチャットサーバＡ４２０）は、ターゲットユーザ（ブラウザユーザＢ４５５）のオフラインメッセージをソースユーザ（ブラウザユーザＡ４４５）に送信することができる。
【０１０４】
同様に、ソースユーザ（ブラウザユーザＡ４４５）のステータスが変化すると、ソースユーザサーバ（ウェブチャットサーバＡ４２０）は、現在のステータスメッセージをインスタントメッセージングステータスサーバに送信し、インスタントメッセージングステータスサーバは、該ステータスメッセージをターゲットユーザサーバ（ウェブチャットサーバＢ４３０）に伝送する。ターゲットユーザサーバは、次に、ターゲットユーザの返信インスタントメッセージを（それが存在する場合）取り消す、または、ソースユーザのオフラインメッセージをターゲットユーザに送信する。
【０１０５】
上記で説明した技術およびプロセスは、多様な環境で実現することができる。特に、上記で説明した技術およびプロセスは、パーソナルコンピュータ（ＰＣ）のようなコンピュータデバイスの助けを借りて実現することができる。
【０１０６】
図１０は、インスタントメッセージングシステムを実現するための典型的な環境を示す。システム１０００は、図２〜４に示されたシステムのコンピュータおよびサーバベースの実現形態である。システム１０００は、ディスパッチサーバ１００２、インスタントメッセージングステータスサーバ１０１０、ユーザサーバ１０２０および１０３０、およびそれぞれインスタントメッセージングユーザ１０４５および１０５５によって操作されるユーザコンピュータ１０４０および１０５０を含み、すべて、ネットワーク１００２を介して接続される。操作では、ユーザ１０４５がログインを要求すると、ディスパッチサーバ１００２が、ユーザサーバ１０２０をユーザ１０４５に割り当てる。ユーザ１０５５がログインを要求すると、ディスパッチサーバ１００２は、ユーザサーバ１０３０をユーザ１０４５に割り当てる。これらの割り当ては動的にすることができる。つまり、ユーザがログオンする都度、ユーザを異なるユーザサーバに割り当てることができる。あるいは、ユーザのうちの少なくとも一部は固定サーバに接続することができる。
【０１０７】
説明されたプロセスのうちの少なくとも一部は、ユーザサーバ１０２０および１０３０を含むサーバで実現することができる。図１０に示されているように、ユーザサーバ１０２０は、（一つあるいは複数の）プロセッサ１０２１、Ｉ／Ｏデバイス１０２２、およびメモリ１０２３を含む。メモリ１０２３は、任意の適切なコンピュータ読取可能媒体にすることができる。ユーザサーバ１０３０、ディスパッチサーバ１０２０およびインスタントメッセージングステータスサーバ１０１０等の他のサーバは、同様な構成を有することができる。ユーザコンピュータ１０４０および１０５０も、同様なコンピュータ構成を有することができるが、通常は、ユーザインターフェースのためにディスプレイも有する。
【０１０８】
アプリケーションプログラム１０２５は、ユーザサーバ１０２０に実装されて、メモリ１０２３に記憶される。同様なアプリケーションプログラムは、ユーザサーバ１０３０、ディスパッチサーバ１００２およびインスタントメッセージングステータスサーバ１０１０等の他のサーバでも実装することができる。インスタントメッセージングクライアントソフトウェアやブラウザ等アプリケーションプログラムの一部は、ユーザコンピュータ１０４０および１０５０にも実装することができる。しかしながら、好ましい一実施形態では、ユーザコンピュータ１０４０と１０５０のうちの少なくとも１つは、インスタントメッセージングクライアントソフトウェアを実装する必要がない。
【０１０９】
アプリケーションプログラム１０２５、およびサーバ上に実装される他のプログラムは、コンピュータプロセッサによって実行されると、インスタントメッセージングのための本書で説明されるプロセス（例えば、図５〜９のプロセス）の動作をプロセッサに実行させる命令を含む。
【０１１０】
コンピュータ読取可能媒体は、コンピュータデータを記憶するための任意の適切なメモリデバイスであってもよいことが理解される。このようなメモリデバイスは、ハードディスク、フラッシュメモリデバイス、光学データ記憶装置およびフロッピー（登録商標）ディスクを含むがこれらに限定されない。さらに、コンピュータ実行可能命令を含むコンピュータ読取可能媒体は、ローカルシステムのコンポーネントまたは複数のリモートシステムのネットワーク上に分散されたコンポーネントを含むことができる。コンピュータ実行完了命令のデータは、物理的メモリデバイスに送達、または電子的に伝送することができる。
【０１１１】
また、コンピュータデバイスは、プロセッサ、Ｉ／Ｏデバイスおよびメモリ（内部メモリまたは外部メモリのいずれか）を有する任意のデバイスにすることができて、ＰＣに限定されないことも理解する。例えば、コンピュータデバイスは、セットトップボックス、演算ユニットを有するテレビ、演算ユニットを有するディスプレイ、プリンタまたはデジタルカメラにすることができるが、これらに限定されない。
【０１１２】
本開示は、ブラウザとユーザサーバとの間の通信に基づき、ユーザ側でのインスタントメッセージングソフトウェアのダウンロードやインストールの必要性を排除する。ユーザは、その他のユーザとチャットするためにウェブページを使用して、その他方のユーザのオンラインステータスを見ることができるので、ファイアウォールがオンラインチャットを許可しないという状況が回避される。さらに、サーバがソフトウェアのバージョンを更新するたびに、ユーザは最新のソフトウェアバージョンを使用することになるので、ユーザによる更新の手間が省ける。ブラウザを使用して、ブラウザユーザは、インスタントメッセージングユーザとの、または別のブラウザユーザとのインスタントメッセージングを実現することができる。
【０１１３】
本明細書および図面を含む上記説明は、説明を目的とするものであって、制限を目的とするものではない。本開示を確認することによって、当業者には本発明の多数の変形が明らかになるであろう。上記に説明した開示の多様な特徴や態様は、個別にまたは合同で使用され得る。さらに、本開示は、本明細書の広義の精神および範囲を逸脱することなく、本明細書に説明されるもの以上のいかなる環境およびアプリケーションにおいても利用され得る。従って、本発明の範囲は、上記の説明を参照して決定されるべきではなく、むしろ添付の特許請求の範囲およびそれらの全範囲の同等物を参照して決定されるべきである。
【図１】
2010506244.tif 000003
【図２】
2010506244.tif 000004
【図３】
2010506244.tif 000005
【図４】
2010506244.tif 000006
【図５】
2010506244.tif 000007
【図６】
2010506244.tif 000008
【図７】
2010506244.tif 000009
【図８】
2010506244.tif 000010
【図９】
2010506244.tif 000011
【図１０】
2010506244.tif 000012
【国際調査報告】
2010506244.tif 000013