(57)【要約】  サーチを伴うインスタント・メッセージングが記載されている。記載されている技術の中の１つ又は複数を用いて、インスタント・メッセージング・セッションの間にサーチを提供され、その結果は、インスタント・メッセージング・セッションへの参加者の間で共有される。
2008547113.tif 000002
【特許請求の範囲】
【請求項１】
インスタント・メッセージング・セッションに参加する複数のクライアントの中の少なくとも一人からサーチ・クエリを受け取るステップと、
前記インスタント・メッセージング・セッションの間に前記複数のクライアントのそれぞれによる出力のためにサーチ結果を提供するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、前記サーチ・クエリは、前記インスタント・メッセージング・セッションの間にインスタント・メッセージを表示するように構成されているユーザ・インターフェースを介して入力されることを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記提供するステップの結果である出力は、前記サーチ・クエリを提供した前記複数のクライアントの中の一人の指示を含み、前記サーチ結果はユーザ・インターフェースにおいて前記サーチ結果と共に同時に表示されることを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記提供するステップの結果である出力はスポンサ付きのリンクを含むことを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記サーチ結果は前記少なくとも一人のクライアントによってローカルに記憶された少なくとも１つのコンテンツ・アイテムを引用することを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記複数のクライアントが前記サーチ結果を受け取るように特定され、よって、前記インスタント・メッセージング・セッションに参加している別のクライアントが前記サーチ結果を受け取らないようにすることを特徴とする方法。
【請求項７】
請求項１記載の方法において、前記クライアントはピア・ツー・ピア・ネットワークを介して相互に通信可能な態様で結合されていることを特徴とする方法。
【請求項８】
請求項１記載の方法において、前記サーチ結果のスポンサーシップを提供するステップを更に含むことを特徴とする方法。
【請求項９】
コンピュータ実行可能な命令を含む１又は複数のコンピュータ可読媒体であって、前記命令は、実行されると、サーチ・クエリに基づいてサーチを開始させるように選択可能である指示を出力するようにコンピュータに命令し、前記サーチ・クエリの結果はインスタント・メッセージング・セッションに参加している複数のクライアントのそれぞれによって出力されることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１０】
請求項９記載の１又は複数のコンピュータ可読媒体において、前記指示はインスタント・メッセージを表示するように構成されているユーザ・インターフェースの中に表示可能であることを特徴とする１又は複数のコンピュータ可読な記憶媒体。
【請求項１１】
請求項９記載の１又は複数のコンピュータ可読媒体において、インスタント・メッセージの通信を生じさせるように選択可能である別の指示を更に含むことを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１２】
請求項９記載の１又は複数のコンピュータ可読媒体において、前記指示はサーチ・ボタン又はドロップダウン・メニュとして表示可能であることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１３】
請求項９記載の１又は複数のコンピュータ可読媒体において、前記インスタント・メッセージング・セッションに参加している別のクライアントは前記サーチ結果を出力するように特定されないことを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１４】
請求項９記載の１又は複数のコンピュータ可読媒体において、前記サーチはネットワークを介して遠隔的に利用可能なコンテンツに対するものであることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１５】
コンピュータ実行可能な命令を含む１又は複数のコンピュータ可読媒体であって、前記命令は、実行されると、インスタント・メッセージング・セッションに関係する複数のクライアントによるユーザ・インターフェースにおいて出力されるサーチ結果を提供するようにコンピュータに命令することを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１６】
請求項１５記載の１又は複数のコンピュータ可読媒体において、前記サーチ結果は前記クライアントの中の一人によって別のクライアントに転送されるように構成されていることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１７】
請求項１５記載の１又は複数のコンピュータ可読媒体において、前記サーチ結果はサービス・プロバイダによるネットワークを介して前記クライアントのそれぞれに出力されるように構成されていることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１８】
請求項１５記載の１又は複数のコンピュータ可読媒体において、前記サーチ結果はスポンサ付きのリンクを含むことを特徴とする１又は複数のコンピュータ可読媒体。
【請求項１９】
請求項１５記載の１又は複数のコンピュータ可読媒体において、前記ユーザ・インターフェースは前記複数のクライアントによって通信されるインスタント・メッセージを表示するように構成されていることを特徴とする１又は複数のコンピュータ可読媒体。
【請求項２０】
請求項１５記載の１又は複数のコンピュータ可読媒体において、前記サーチ結果は、前記クライアントの中のどのクライアントが前記サーチを開始したのかと前記サーチを実行するのに用いられたサーチ・クエリとに関する指示と共に同時に出力されるように構成されていることを特徴とする１又は複数のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にサーチに関し、更に詳しくはサーチを備えたインスタント・メッセージングに関する。
【背景技術】
【０００２】
インスタント・メッセージングは、インスタント・メッセージング・セッションの間にネットワークを介して二人以上のユーザがメッセージを交換することを可能にする人気のある通信ツールである。二人のユーザが同時にオンラインであれば、例えば、これら二人のユーザの間で、インスタント・メッセージがリアルタイムで交換可能である。したがって、インスタント・メッセージは、この二人のユーザが一般的な会話に参加している様子を模倣するような態様で、二人のユーザの間のテキストによる会話をサポートするのに用いられる。
【０００３】
さらに、ユーザは、ウェブ・ページ、歌、イメージなどの広範囲で様々なコンテンツへのアクセスを有する。特定のコンテンツを見つけるために、ユーザは、１又は複数のサーチ結果を提供するサーチ・エンジンと対話することができる。しかし、コンテンツのサーチは一般的には単一のユーザに限定されていて、サーチとサーチ結果とは、インスタント・メッセージング・セッションとは別個に提供される。例えば、ユーザは、ネットワーク上のサーチ・エンジンと対話して、サーチ結果を得る。しかし、これらのサーチ結果は、要求側のユーザに提供されるのが通常であり、インスタント・メッセージング・セッションの間には利用可能でない。したがって、ユーザは、他のユーザとの通信のために手動で結果をインスタント・メッセージングに入力することなしにはサーチ結果を共有することが一般的に不可能である。手動での入力は時間を要するし不便である。
【発明の概要】
【０００４】
サーチを備えたインスタント・メッセージングが説明されている。インスタント・メッセージング・セッションの間にサーチを提供するのには、１又は複数の技術を用いることができる。サーチの結果は、インスタント・メッセージング・セッションの参加者の間で共有可能である。
【０００５】
この概要は、概念を選択して簡潔な形態で提供するためのものであるが、その詳細は、以下の詳細で説明される。この概要では、特許請求されている主題の主な特徴と基本的な特徴とを識別することは意図していない。また、特許請求の範囲を決定するための援助としても意図されていない。
【発明を実施するための最良の形態】
【０００６】
概要：
サーチを備えたインスタント・メッセージングについて説明する。従来のインスタント・メッセージングとサーチとは、別々に提供され、それによって、ユーザがサーチ結果を共有することが困難になっていた。従って、テクニックは、インスタント・メッセージング・セッションの間にユーザ間で共有することができる結果を提供するため、インスタント・メッセージングがサーチを組み込む技術を説明する。
【０００７】
二人のユーザは、例えば、インスタント・メッセージング・セッションの間にインスタント・メッセージの使用を通じて通信することができる。セッションの間、ユーザの一方は、例えば特定のウェブサイトを介して提供されるオンライン・サーチ・エンジンであるオンライン・サーチ・プロバイダを使用して、サーチを行なうために利用されるインスタントメッセージング・ユーザ・インターフェースにサーチ・クエリを入力できる。すると、サーチ結果が、当該インスタント・メッセージング・セッションに参加しているそれぞれのクライアントによって出力として提供され、サーチ結果を「共有」することができる。出力されるときには、サーチ結果は、誰がサーチ・クエリを提供したのか（例えば、サーチを開始したユーザのインスタント・メッセージング・セッションでのユーザ名）、サーチ結果を生じさせたサーチ・クエリの指示などを含む。このようにして、インスタント・メッセージング・セッションの参加者は、それぞれが、１又は複数の参加者によって実行されたサーチに関して、容易に通知を受ける。
【０００８】
以下の説明では、インスタント・メッセージングとサーチとを提供するように動作可能な典型的な環境を最初に記述する。次には、それ以外の場合と同様に典型的な環境によっても提供される典型的な手順及びユーザ・インターフェースについて説明する。
例示的な環境：
図１は、サーチを備えたインスタント・メッセージングを実装するように動作可能な典型的なインプリメンテーション（実装例）での環境１００の図解である。環境１００は、複数のクライアント１０４（１）−１０４（Ｎ）によってネットワークを介してアクセス可能な複数のコンテンツ・プロバイダ１０２（ｍ）を含む（ここで「ｍ」は１からＭまでの任意の整数である）。クライアント１０４（１）−１０４（Ｎ）は、ネットワーク１０６に様々な態様でアクセス可能であるように構成されている。例えば、クライアント１０４（１）−１０４（Ｎ）の１又は複数は、デスクトップ・コンピュータ、モバイル・ステーション、エンターテイメント機器、ディスプレイ装置に通信でつながれたセットトップ・ボックス、無線電話、ゲーム・コンソールなどの計算機として形成されうる。このように、クライアント１０４（１）−１０４（Ｎ）は、実質的なメモリ及びプロセッサ・リソースを備えた十分なリソース・デバイス（例えば、パーソナル・コンピュータやゲーム・コンソール）から、制約付きのメモリ及び／又は処理リソースを備えた低リソースのデバイス（例えば、従来型のセットトップ・ボックス、ハンドヘルド型のゲーム・コンソール）まで様々である。クライアント１０４（１）−１０４（Ｎ）は、さらに、クライアントを操作する人及び／又は企業とも関係しうる。言いかえれば、クライアント１０４（１）−１０４（Ｎ）の１又は複数は、ユーザ、ソフトウェア及び／又はデバイスを含む論理クライアントを意味する。
【０００９】
さらに、ネットワーク１０６は、インターネットとして図解されているが、広い範囲の様々ななコンフィギュレーションを想定している。例えば、ネットワーク１０６は、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイヤレス・ネットワーク、公衆電話網、イントラネットなどを含む。さらに、ネットワーク１０６は、図面ではひとつだけが示されているが、複数のネットワークを含む構成も可能である。例えば、クライアント１０４（１）は、クライアント１０４（Ｎ）と、ピア・ツー・ピア（Ｐ２Ｐ）ネットワークを介して通信的に結合されうる。クライアント１０４（１）及び１０４（Ｎ）のそれぞれも、インターネットを介してコンテンツ・プロバイダ１０２（ｍ）と通信できる。それ以外の様々な例が考えられる。
【００１０】
複数のクライアント１０４（１）−１０４（Ｎ）は、それぞれが、複数のメッセージング・モジュール１０８（１）−１０８（Ｎ）の１つを含むように図解されている。メッセージング・モジュール１０８（１）−１０８（Ｎ）は、それぞれ、それぞれのクライアント１０４（１）−１０４（Ｎ）がクライアント１０４（１）−１０４（Ｎ）の別の１つとのインスタント・メッセージング・セッションに参加できるように、実行可能である。インスタント・メッセージングは、クライアント１０４（１）−１０４（Ｎ）のそれぞれがインスタント・メッセージング・セッションに参加しているときにはテキスト・メッセージを相互に送りあうことができるようにするメカニズムを提供する。インスタント・メッセージは、リアルタイムで通信されるのが通常である。ただし、クライアント１０４（１）−１０４（Ｎ）の中の１つがオフラインであるなど使用不能であるときにテキスト・メッセージのログを取る場合など、配送に遅延を含むこともある。このように、インスタント・メッセージングとは、インスタント・メッセージングがメッセージの交換をサポートし好方向のライブチャットを可能にするように設計されている点で、電子メールとインターネット・チャットとの組合せと考えることができる。したがって、インスタント・メッセージングは、同時的な（同期）通信に利用が可能である。例えば、音声通話のように、インスタント・メッセージング・セッションがリアルタイムで実行され、クライアント１０４（１）−１０４（Ｎ）はそれぞれがインスタント・メッセージが受信されると相互に応答可能である。
【００１１】
インプリメンテーションでは、メッセージング・モジュール１０８（１）−１０８（Ｎ）は、複数のサービス・プロバイダ１１０（ｓ）の中の１又は複数を用いることにより、相互に通信する。ただし、ここで、「ｓ」は、１からＳまで任意の整数である。サービス・プロバイダ１１０（ｓ）は、例えば、メッセージング・モジュール１０８（１）−１０８（Ｎ）の間のインスタント・メッセージのルーティングをするように実行可能なメッセージング・マネジャ・モジュール１１２を含む。例えば、クライアント１０４（１）は、メッセージング・モジュール１０８（１）にクライアント１０４（Ｎ）に通信するためのインスタント・メッセージを形成させることができる。メッセージング・モジュール１０８（１）は、サービス・プロバイダ１１０（ｓ）にインスタント・メッセージを伝えるように実行される。サービス・プロバイダは、その後、ネットワーク１０６を介してクライアント１０４（Ｎ）へのインスタント・メッセージをルーティングするようにマネージャ・モジュール１１２を実行する。クライアント１０４（Ｎ）は、インスタント・メッセージを受け取り、インスタント・メッセージを表示するようにメッセージング・モジュール１０８（Ｎ）を実行する。
【００１２】
別のインプリメンテーションでは、クライアント１０４（１）及び１０４（Ｎ）が通信するように直接に相互に（例えば、Ｐ２Ｐネットワークを介して）結合されると、インスタント・メッセージは、サービス・プロバイダ１１０（ｓ）を用いることなく伝達される。クライアント１０４（１）−１０４（Ｎ）によるＰ２Ｐネットワークの使用に関する更なる議論は、図２との関係で後述する。
【００１３】
複数のクライアント１０４（１）−１０４（Ｎ）は、それぞれが、図１の環境ＭＦＶ１００における広範囲で様々のコンテンツへのアクセスを有する。例えば、複数のコンテンツ・プロバイダ１０２（ｍ）は、それぞれが、複数のコンテンツ１１４（ｋ）を提供する。なお、「ｋ」は１からＫまでの任意の整数である。コンテンツ１１４（ｋ）は、ウェブ・ページ１１６、音楽１１８、イメージ１２０及びウェブ・ログ（ブログ）のような他のコンテンツ１２２のように、様々な方法で形成される。同様に、クライアント１０４（１）−１０４（Ｎ）は、それぞれが、複数のコンテンツ１２６（ｇ）、１２８（ｈ）のためのそれぞれのストレージ１２４（１）−１２４（Ｎ）を含む。ここで、「ｇ」及び「ｈ」は、１からＧ、１からＨ」までの任意の整数である。
【００１４】
興味のある特定のコンテンツを見つけるため、クライアント１０４（１）−１０４（Ｎ）は、それぞれが、様々な方法でコンテンツを見付けるため実行可能なそれぞれのサーチモジュール１３０（１）−１３０（Ｎ）を含む。例えば、サーチ・モジュール１３０（１）は、クライアント１０４（１）上にローカルに記憶された複数のコンテンツ１２６（ｇ）からの特定のコンテンツ・アイテムを見つけるために、クライアント１０４（１）によって実行される。別の例では、サーチモジュール１３０（１）は、サービス・プロバイダ１１０（ｓ）の１又は複数に含まれているサーチマネジャ・モジュール１３２と対話するように実行可能である。例えば、サービス・プロバイダ１１０（ｓ）は、サーチ・クエリに応答しサーチ結果を提供するなど、サーチ・エンジンの機能を提供するサーチマネジャ・モジュール１３２を実行する。
【００１５】
サーチマネジャ・モジュール１３２はサービス・プロバイダ１１０（ｓ）上のメッセージング・マネジャ・モジュール１１２の内に図解されているが、これらのモジュールは、異なるサービス・プロバイダ１１０（ｓ）において別々に提供されることもある。例えば、サービス・プロバイダ１１０（ｓ）の中の１つはインスタント・メッセージング・サービスを提供するメッセージング・マネジャ・モジュール１１２（ｓ）を含み、サービス・プロバイダ１１０（ｓ）の中の別の１つはサーチ・エンジンなどのサーチ機能を提供するサーチ機能を提供するサーチ・マネジャ・モジュール１３２を含む。様々な他の例も考察される。
【００１６】
サーチ・モジュール１３０（１）−１３０（Ｎ）は、例えば、メッセージング・モジュール１０８（１）−１０８（Ｎ）の中に図解され、メッセージング・モジュール１０８（１）−１０８（Ｎ）がインスタント・メッセージング・セッションの間にサーチ・モジュール１３０（１）−１３０（Ｎ）の機能を組込む可能性があることを示している。一緒に図解されてはいるが、サーチモジュール１３０（１）−１３０（Ｎ）とメッセージング・モジュール１０８（１）−１０８（Ｎ）とは別々に提供され、それぞれのアプリケーション・プログラム・インターフェイスを介して通信することもありうる。メッセージング・モジュール１０８（１）−１０８（Ｎ）に伴うサーチ・モジュール１３０（１）−１３０（Ｎ）の動作に関しては、、図３−１０とに関係する箇所で論じられる。
【００１７】
一般に、ここに説明する機能は、どれもが、ソフトウェア、ファームウェア（例えば、固定されたロジック回路）、手動の処理、あるいはこれらのインプリメンテーションの組合せを用いて実現できる。ここで用いている用語である「モジュール」、「機能」及び「ロジック」とは、ソフトウェア、ファームウェア又はソフトウェアとファームウェアとの組合せを表わす。ソフトウェア実行の場合には、モジュール、機能又はロジックとは、プロセッサ（例えば、１又は複数のＣＰＵ）上で実行されると、指定されたタスクを実行するプログラム・コードを表わす。プログラム・コードは、１又は複数のコンピューター読取り可能なメモリ・デバイスに記憶することができる。これに関する更なる詳細は、図２に関係する箇所にある。以下で説明するインスタント・メッセージング技術はプラットフォーム独立であり、つまり、インスタント・メッセージング技術は、様々なプロセッサを有する様々な商用の計算プラットフォーム上で実装できる。
【００１８】
図２は、図１の複数のサービス・プロバイダ１１０（ｓ）と複数のクライアント１０４（１）−１０４（Ｎ）とをより非常に詳しく示す典型的なインプリメンテーションでのシステム２００の図解である。複数のサービス・プロバイダ１１０が、複数のサーバー２０２（ｓ）によってインプリメント（実装）されるものとして図解されている。単一のサーバ２０２（ｓ）が各サービス・プロバイダ１１０（ｓ）に図解されているが、サービス・プロバイダ１１０（ｓ）は、１又は複数のサーバ（例えばサーバ・ファーム）によって実装可能である。例えば、図２の中の複数のクライアント１０４（１）−１０４（Ｎ）は、クライアントデバイスとして図解されている。例については、複数のサーバ及びクライアント１０４（１）−１０４（Ｎ）は、それぞれのプロセッサ２０４（ｓ）及び２０６（１）−２０６（Ｎ）とそれぞれのメモリ２０８（ｓ）及び２１０（１）−２１０（Ｎ）を含むものとして図解されている。
【００１９】
プロセッサは、形成されてい材料によっても、そこで用いられている処理機構によっては制限されていない。例えば、プロセッサは、半導体及び／又はトランジスタ（例えば、電子集積回路（ＩＣ））で構成される。そのようなコンテキストでは、プロセッサ実行可能命令は、電子的に実行可能な命令である。あるいは、プロセッサの又はプロセッサのための機構は、限定を意味しないが、量子計算、光計算、機械的計算（例えば、ナノテクノロジを用いた）などを含む。さらに、単一のメモリ２０８（ｓ）及び２１０（ｌ）−２１０（Ｎ）がそれぞれのサーバ２０２及びクライアントの１０４（１）−１０４（Ｎ）に示されているが、広範囲で様々なタイプ及び組合せのメモリを用いることができる。例えば、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクメモリ、リムーバブル媒体メモリなどである。
【００２０】
複数のクライアント１０４（１）−１０４（Ｎ）は、それぞれが、プロセッサ２０６（１）−２０６（Ｎ）の上で実行されることとして図解され、それぞれのメモリ２１０（ｌ）−２１０（Ｎ）において記憶可能である複数のメッセージング・モジュール１０８（１）−１０８（Ｎ）の１つを含んでいる。上述したように、メッセージング・モジュール１０８（１）−１０８（Ｎ）は、インスタント・メッセージング・セッションを提供するように実行可能であり、その際には、ネットワーク１０６を介してサービス・プロバイダ１１０（ｓ）の使用を通じた間接的な通信か、又は、Ｐ２Ｐネットワーク２１２を介して直接的になされる。後者の場合は、Ｐ２Ｐネットワーク２１２がネットワーク１０６とは別々に提供されることを指示する２つのヘッドを有する矢印によって図２で示される。
【００２１】
複数のメッセージング・モジュール１０８（１）−１０８（Ｎ）は、様々な方法で複数のクライアント１０４（１）−１０４（Ｎ）に提供される。あるインプリメンテーションでは、メッセージング・モジュール１０８（１）−１０８（Ｎ）は、インスタント・メッセージング・セッションを始めるリクエストに応じて、メッセージング・マネジャ・モジュール１１２（ｓ）の実行を特に通じて、サービス・プロバイダ１１０（ｓ）によって提供される。例えば、クライアント１０４（１）は、クライアント１０４（Ｎ）とのインスタント・メッセージング・セッションの開始をリクエストする。クライアント１０４（Ｎ）がインスタント・メッセージング・セッションの開始を受け入れる場合、メッセージング・マネジャ・モジュール１１２（ｓ）は、プロセッサ２０４（ｓ）で実行され、インスタント・メッセージング・セッションを提供するために、メッセージング・モジュールをネットワーク１０６を介して通信する。
【００２２】
上述したように、サーチ・モジュール１３０（１）−１３０（Ｎ）は、様々な態様で実行され、特定のコンテンツ・アイテムを求めるサーチを提供することができる。サーチの例としては、クライアント１０４（１）−１０４（Ｎ）におけるローカル・ストレージ１２４（１）−１２４（Ｎ）のサーチ、及び／又は、ネットワーク１０６を介して遠隔的にアクセス可能なコンテンツ・プロバイダ１０２（ｍ）からのコンテンツを求める場合などである。例えば、サーチ・モジュール１３０（１）−１３０（Ｎ）は、入力としてサーチ・クエリを受け取ることもある。その後、サーチ・モジュール１３０（１）−１３０（Ｎ）は、それぞれのサーチ・コンフィギュレーション・データ２１４（１）−２１４（Ｎ）を使用して、サーチ・クエリからサーチ・ユニフォーム・リソース・ロケーター（ＵＲＬ）を構築する。例えば、ユーザは、「なぜ鶏は道を横断したか」というテキスト入力を提供し、更に、「イメージ」を求めるサーチを特定する。したがって、サーチ・コンフィギュレーション・データ２１４（１）は、テキスト入力に対応するイメージを求めるサーチＵＲＬを特定するのに用いられる。次に、サーチＵＲＬは、サービス・プロバイダ１１０（ｓ）にアクセスし、サーバ２０２（ｓ）のメモリ２０８のストレージ２１８に記憶されるように図解されている複数のサーチ結果２１６（ａ）の１又は複数を見付ける（ここで、「ａ」は、１からＡまでの任意の整数）。様々なテクニックが、サーチを実行するのに用いられる。これに関する追加的な議論は、以下の手順との関係で後で行う。
典型的な手順：
以下の説明では、上述したシステム及びデバイスを利用して実行されるサーチを備えたインスタント・メッセージングについて記述する。手順のそれぞれの特徴は、ハードウェア、ファームウェア、ソフトウェア又はその組合せにおいてインプリメントされる。手順は、１又は複数のデバイスによって実行された動作を指定するブロックの集合として示されておるが、それぞれのブロックによる動作の実行として示されている順序には限定されない。以下の説明の一部では、図１の環境１００及び／又は図２のシステム２００を参照する。
【００２３】
図３は、サーチがインスタント・メッセージング・セッションの間に実行され、インスタント・メッセージング・セッションに参加する各クライアントにおいてその結果が出力される例示的なインプリメンテーションにおける手順３００を示す流れ図である。インスタント・メッセージング・セッションは、複数のクライアント（ブロック３０２）の間で始められる。例えば、クライアント１０４（１）は、メッセージング・モジュール１０８（１）を実行して、クライアント１０４（Ｎ）におけるメッセージング・モジュール１０８（Ｎ）とのインスタント・メッセージング・セッションを介して通信する。この通信は、様々な方法で実行され、例えば、ピアツーピア・ネットワーク２１２を介して直接的に、サービス・プロバイダ１１０（ｓ）のメッセージング・マネジャ・モジュール１１２を介して間接的に、などである。
【００２４】
インスタント・メッセージング・セッションの間、サーチ（ブロック３０４）を要求する入力が受け取られる。例えば、メッセージング・モジュール１０８（１）によるユーザ・インターフェース出力は、クライアント１０４（１）のユーザからのテキスト入力を受け取り、当該テキスト入力に基づくサーチの開始を受け入れる機能を含む。次に、サーチは、入力（ブロック３０６）に基づいて実行される。
例えば、サーチは、サーチモジュール１３０（１）の執行を通じてクライアント１０４（１）上にローカルに格納された内容１２６（ｇ）のために実行されるかもしれない。
別の例において、サーチマネージャー・モジュール１３２が検索エンジンとして作動するように構成される場合、サーチは、サーチマネージャー・モジュール１３２（ｓ）（例えば）とのインタラクションによるネットワーク１０６上にコンテンツ・プロバイダ１０２（ｍ）から利用可能な内容１１４（ｋ）のために実行される。様々な他の例も、考察できる。
【００２５】
サーチ結果は、クライアントのそれぞれによって得られ（ブロック３０８）、それぞれのクライアントによる表示のために出力される（ブロック３１０）。更に、サーチをリクエストしたクライアントの入力及び識別子（ＩＤ）もまた出力される（ブロック３１２）。このようにして、クライアントは、それぞれ、どのクライアントがサーチを開始したのか、サーチを実行するために使用されたサーチ・クエリ、サーチの結果を告知される。
【００２６】
様々な技術を用いて、サーチが実行され、結果が出力される。例えば、サーチが参加クライアントの一人によって実行され、その結果はインスタント・メッセージング・セッションの他の参加者（クライアント）に転送されるような技術を用いることができる。この技術を用いると、サーチ・クエリはクライアント１０４（１）によって入力され、それはサービス・プロバイダ１１０（ｓ）から１又は複数のサーチ結果に２１６（ａ）を得るために利用される。次に、サーチ結果２１６（ａ）は、クライアント１０４（１）により、インスタント・メッセージング・セッションに参加している他のクライアントのそれぞれに（例えばクライアント１０４）転送される。あるインプリメンテーションでは、サーチ結果２１６（ａ）は、サーチ結果の「トップ３」を送ることによって他のクライアント１０４（Ｎ）への転送される前に、クライアント１０４（１）によって「除去」される。別のインプリメンテーションでは、クライアント１０４（１）によって得られたサーチ結果（ａ）２１６の全体が、別のクライアント（例えばクライアント１０４（Ｎ））に転送される。
【００２７】
別のテクニックでは、サーチ・クエリは、参加者がそれぞれサーチを実行するように、セッションに参加するクライアントの各々に送られる。例えば、クライアント１０４（１）は、サーチ・クエリとして使用されるテキスト入力を受け取る。次に、サーチ・クエリは、多目的のインターネット・メール・エクステンション（ＭＩＭＥ）メッセージ転送の使用などにより、インスタント・メッセージング・セッションの各参加者へ移される。例えば、「テキスト／サーチ・クエリ」などのＭＩＭＥメッセージ・タイプは作成され、受信されたサーチ・クエリを使用して、サーチを実行するようにメッセージング・モジュール１０８（Ｎ）によって処理される。あるインプリメンテーションでは、サーチは、メッセージの受信に応答して自動的に、ユーザの介入なしに実行される。別のインプリメンテーションでは、クライアントは、サーチがリクエストされたという告知を出力して、クライアントのユーザがサーチの実行を受理するか断わることを可能にできる。
【００２８】
別個のサーチから得られたサーチ結果は、それぞれのクライアントに提供される。この技術を用いると、異なる市場を有する異なった地理的場所にクライアントが存在するときなどには、サーチ結果をクライアントごとに変更することができる。以上では、サーチを実行しサーチ結果を得るための２つのテクニックについて説明した、様々な他のテクニックも本発明の精神及び範囲から逸脱せずに考察可能である。
【００２９】
図４は、例示的な実装例でにおける手順４００を示す流れ図であり、クライアントがインスタント・メッセージング・セッションの間にサーチを実行するインスタント・メッセージング・ユーザ・インターフェースと対話している。図４を論じる際には、図５−９の図解に言及する。
【００３０】
第１のクライアントは、別のクライアントとのインスタント・メッセージング・セッションを始める（ブロック４０２）。次に、それぞれのクライアントは、インスタント・メッセージング・セッションの間、インスタント・メッセージを使用して通信するユーザ・インターフェースを出力する（ブロック４０４）。
【００３１】
図５は、典型的なインプリメンテーションでの図解５００であり、図２の複数のクライアント１０４（１）−１０４（Ｎ）の間で、図４の手順４００によって開始されたインスタント・メッセージング・セッションの間、インスタント・メッセージング・セッションに関して出力されるユーザ・インターフェースを示している。第１のクライアント１０４（１）（アダム）と別のクライアント１０４（Ｎ）（ボブ）とが、インスタント・メッセージング・セッションに参加している。インスタント・メッセージング・セッションに関連したテキストが、それぞれのクライアント１０４（１）及び１０４（Ｎ）によって出力されたそれぞれのユーザ・インターフェース５０２（１）及び５０２（Ｎ）に表示されている。
【００３２】
クライアント１０４（１）及び１０４（Ｎ）の間で交換され転送されるテキスト・メッセージは、例えば、図１のネットワーク１０６や図２のＰ２Ｐネットワーク接続２１２などのネットワーク接続５０４を介している。図５では２つのクライアント１０４（１）及び１０４（Ｎ）がインスタント・メッセージング・セッションに参加しているものとして図解され説明されているが、本発明は、３人以上がインスタント・メッセージング・セッションに参加しているような場合にも適用可能である。
【００３３】
次に図４を参照するが、ここでは、第１のクライアントは、インスタント・メッセージング・セッションの間にサーチ・クエリを受け取るように構成されたユーザ・インターフェースを出力する（ブロック４０６）。サーチ・クエリは、様々な入力方法がある。
【００３４】
図６は、図５のユーザ・インターフェース５０２（１）が特定のコンテンツ・アイテムを求めて精緻化するように構成されているサーチ・オプションのポップアップ・メニュを提供するように示されている典型的なインプリメンテーションの実例である。クライアント１０４（１）は、ユーザ・インターフェース５０２（１）を提供するメッセージング・モジュール１０８（１）を実行するように図解されている。
【００３５】
ユーザ・インターフェース５０２（１）は、サーチを開始するのに選択可能なサーチ・ボタンの表現を含む。これに関しては、図８を参照して後述する。図６の実施例６００では、サーチ・オプションのポップアップ・メニュー６０４が、表現６０２つまりサーチ・ボタンに隣接していて表示されている。例えば、キーの組合せを入力することにより、サーチ・ボタンの表現６０２を「右クリック」すると、メニュー６０４が表示される。
【００３６】
サーチ・オプションは、それぞれ、サーチの範囲を限定するのに用いることができる。図解されているオプションとしては、「ウェブ」、「あなたの近くの結果」、「ニュース」、「イメージ」、「デスクトップ」、「ブログ」、「オーディオ」、「ビデオの」、「本」などに宣言することを含む。例えば、ユーザは、「犬」というサーチ語を入力し、更に、そのサーチは「イメージ（画像）」を得るために実行されるものであることを指定できる。こうして、サーチ・モジュール１３０（１）は、犬に対応するイメージを得ることができる。
【００３７】
ポップアップ・メニュー６０４に表示されたサーチ・オプションは、更に、サブメニュ６０６によって、精緻化できる。例えば、サーチ・オプション「あなたの近くの結果を求めてウェブをサーチする」は、「受信者の近くでサーチ」「送り主の近くでサーチ」「受信者と送り主の間でサーチ」、「特別の場所の近くでサーチ」など、様々なサブオプションを有する。「受信者の近くのサーチ」というオプションは、サーチの発信者の近くでサーチし、サーチ結果がインスタント・メッセージング・セッションの参加者のそれぞれに共有されるようにするのに用いられる。同様に、「受信者と送り主の近くのサーチ」は、送り手の近くにあるサーチ結果を見付けるのに用いられ、他方で、「受け手及び送り手の近くでサーチ」という条件は、送り主及び受信者（例えば送り主と受信者の両方のためのサーチ結果）、送り主又は受信者（例えば送り主または受信者をアドレスするサーチ結果）を見つけるために利用されているかもしれない一方、「送り主の近くのサーチ」は送り主の近くでサーチ結果を見つけるために利用される。「特定の場所の近くのサーチ」というオプションは、１つの場所におけるサーチを共有し、送り主及び／又は受信者に関係の情報を用いるのに利用できる。種々様々の他の例も考察可能である。
【００３８】
以上の例はインスタント・メッセージング・セッションに参加する各クライアントとのサーチ結果の共有についてであったが、送信者は、さらに、サーチ結果が特別のクライアントに送られること、すなわち、クライアントの中の一部はサーチ結果を受け取らないように指定することができる。例えば、別のメニューは、サーチ結果を受け取るクライアントをクライアント１０４（１）が選択するように、インスタント・メッセージング・セッションに参加するそれぞれのクライアントの表現を有するように表示される。特定のクライアントの指定は、本発明の精神及び範囲から逸脱することなく、様々な他の方法で行なうことができる。
【００３９】
サーチモジュール１３０（１）は、ＵＲＬを決定するためにサーチ・コンフィギュレーション・データ２１４（１）を検討することがありうる。この場合、そのような選択に対応するサーチ結果が得られる。例として、「ニュースを求めてウェブをサーチする」またサーチコンフィギュレーション・データ２１４（１）からの「ｕｒｌ：／ｎｅｗｓ／」として指定されたＵＲＬなどがある。様々な他の一例も、考察することができる。その一部は、図面において示されている。
【００４０】
図７は、図５のユーザ・インターフェース５０２（１）が特定のコンテンツ・アイテムを求めてサーチを精緻化（リファイン）するように構成されたサーチ・オプションのドロップダウン・メニューを提供するように示されている、別の例示的な実装例（インプリメンテーション）の図解である。図解されているインスタント・メッセージング・セッションでは、第１及び第２のユーザ（アダムとボブ）が、ユーザ・インターフェース５０２（１）に表示されているテキスト・メッセージを交換したところである。サーチ・メニュを開始するため、第１のクライアント１０４（１）（アダム）は、サーチ・メニュ・アイテムを選択し、それにより、上述した利用可能なサーチ限定条件のドロップダウン・メニュー７０６を生じさせる。こうして、第１のクライアント１０４（１）は、サーチ限定条件の１又は複数を選択し、サーチの範囲をドロップダウン・メニュから限定する。
【００４１】
図４に示されるように、第１のクライアント（クライアント１０４（１））は、それぞれのユーザ・インターフェースにサーチ・クエリを入力する（ブロック４０８）。次に、第１のクライアントは、ユーザ・インターフェースのサーチ・ボタンを選択して、サーチ・クエリを使用するサーチを開始する（ブロック４１０）。
【００４２】
図８は、図５のユーザ・インターフェース５０２（１）を介してサーチ・クエリが入力される例示的なインプリメンテーション８００の図解であり、サーチ・ボタンの表現が選択され、サーチ・クエリを開始させる。ユーザ・インターフェース５０２（１）は、「こんにちは、ボブ、きょう、ランチに行かないか？」というテキストを含むインスタント・メッセージ８０２の出力を含む。ランチを食べる場所を見つけるため、「わたしの近所での食事」というテキストを含むサーチ・クエリ８０４が入力される。次に、サーチ・ボタンの表現６０２が選択され、サーチ・クエリを使用したサーチが開始される。
【００４３】
次に、図４を参照するが、サーチＵＲＬが、サーチ・クエリを使用して構築される（ブロック４１２）。次に、サーチ・クエリは、サービス・プロバイダと通信するために利用される（ブロック４１４）。例えば、サーチ・ボタン（例えば表現６０２）がユーザ・インターフェース５０２（１）において選択されると、サーチＵＲＬがサーチ・クエリから構築され、これが、対応するサーチ結果を得るためのサービス・プロバイダ１１０（ｓ）にアクセスするのに利用される。このインプリメンテーションでは、サービス・プロバイダは、第１のクライアントにサーチ結果を伝え（ブロック４１６）、その後、サーチ結果とサーチ・クエリとを第２のクライアントに伝える（ブロック４１８）。次に、クライアント（例えば１０４（１）及び１０４（Ｎ））は、サーチ結果と、サーチ・クエリと、それぞれのユーザ・インターフェース中にサーチ・クエリを提供したクライアント（アダム）の指示とを出力する（ブロック４２０）。その一例は、次の図に関して論じる。
【００４４】
図９は、典型的なインプリメンテーション９００での図解であり、インスタント・メッセージング・セッションの参加者によって共有されるサーチ結果を得るのに用いられるサーチ結果とサーチ・クエリとを出力するユーザ・インターフェース５０２（１）及び５０２（Ｎ）とが示されている。ユーザ・インターフェース５０２（１）及び５０２（Ｎ）は、それぞれが、クライアント１０４（１）及び１０４（Ｎ）の間で通信されるインスタント・メッセージングと、サーチで使用される図８の入力であるサーチ・クエリ８０４の出力とを含む。
【００４５】
ユーザ・インターフェース５０２（１）及び５０２（Ｎ）は、さらに、サーチを始めたクライアントの指示９０２を含む。これは、図面では、「アダム」である。複数のサーチ結果９０４（１）、９０４（２）、９０４（３）も、ユーザ・インターフェース５０２（１）及び５０２（Ｎ）に図解されている。このようにして、ボブ（つまりクライアント１０４（Ｎ））は、サーチが実行されたこと、サーチではどのサーチ・クエリが用いられたか、誰がサーチを実行したのか、そして、サーチ・ボタン６０２の選択を通じてサーチの結果が告げられる。
【００４６】
また、「より多くの結果」９０６という指示が、ユーザ・インターフェース５０２（１）及び５０２（Ｎ）のそれぞれに表示され、これが、追加のサーチ結果を得るために利用される。例えば、上述したように、クライアント１０４（Ｎ）（ボブ）にサーチ結果を伝える前に、ネットワーク帯域幅を節約しリソースを節約するために、結果を「除去」することもできる。したがって、これらの追加の結果を得るために、ボブは、「より多くの結果」９０６を選択し、アダム（つまりクライアント１０４（１））からの追加的な結果の通信を生じさせることができる。別の例では、サーチ結果の全体が、「除去」することなく通信され、したがって「より多くの結果」９０６という指示が用いられる。ただし、この指示は現在表示されていないが、クライアント１０４（Ｎ）において既に利用可能となっている。これ以外の様々な例も考察される。
【００４７】
ユーザ・インターフェース５０２（１）及び５０２（Ｎ）が、スポンサー付きのリンク９０８を含むように図解されている。スポンサー付きのリンクは、追加的な収入源を得るためにサービス・プロバイダによって広告業者に提供されるし、また、クライアント１０４（１）及び１０４（Ｎ）に追加のサーチ結果を供給するのにも用いられる。スポンサー付きリンクに関する更なる議論は、図１０との関係で論じる。
【００４８】
以上の複数のインプリメンテーションでは図４−９を参照してサーチ結果がインスタント・メッセージング・セッションに参加しているそれぞれのクライアントによって出力されるように述べたが、サーチを開始したクライアントは、サーチ結果の出力のために特定のクライアントを特定することも可能である。例えば、検索語を入力する際に、ユーザは、特定のクライアントを指定して、そのクライアントがサーチ語からのサーチ結果を出力するようにできる。これは、特定のクライアント・エイリアス、クライアントのネットワーク・アドレスなどを特定することによってなされる。従って、サーチ結果は、インスタント・メッセージング・セッションに参加しているクライアントの特別の集団によって出力される。例えば、インスタント・メッセージング・セッションに参加しているクライアントの一人又は複数は、サーチ結果のアウトプットから除外することができる。
【００４９】
図１０は、サーチ結果と共にサービス・プロバイダによってスポンサー付きリンクが提供される典型的なインプリメンテーションでの手順１０００を示す流れ図である。サービス・プロバイダは、サーチ結果のスポンサーシップを提示する（ブロック１００２）。例えば、サービス・プロバイダは、リンクのスポンサーシップが利用可能であるウェブサイトを介して広告を提供することができる。特定のリンクの場合、及び／又は、様々なリンクに対して一般的に利用できる場合がある。様々な他の例も可能である。
【００５０】
サーチ結果をスポンサー付きにするために、プロバイダからコミットメントが受け取られる（ブロック１００４）。例えば、プロバイダは、サービス・プロバイダとのコミットメントの中に、スポンサー付きリンクを用いてプロバイダのウェブサイトにアクセスするそれぞれのクライアントに対して支払いをするという条件を入力するコンテンツ・プロバイダでありうる。別の例では、プロバイダは、サーチ結果と共に広告が表示される時間に対して定額料金を払う広告主のこともある。様々な他の例も可能である。
【００５１】
サーチ・クエリに応答してプロバイダからのデータを含むサーチ結果が提供される（ブロック１００６）。このデータは、例えば、広告、及び／又は、サーチ結果２１６（ａ）と共にクライアント１０４（ｌ）−１０４（Ｎ）に提供されるスポンサー付きリンクを含む。
【００５２】
支払いは、コミットメントに従って得られる（ブロック１００８）。スポンサー付きリンクを有するサーチ結果が提供され、そのような時間に対して料金を請求するごとに、サーチ・マネジャ・モジュール１３２（ｓ）は、自動的に記録を付ける。例えば、図４−９に関して記述されたインプリメンテーションでは、サービス・プロバイダ１１０（ｓ）は、両方のクライアント１０４（１）、１０４（Ｎ）にサーチ結果を供給することに対する料金を、サーチ結果がクライアント１０４（１）に提供され、そのクライアント１０４（１）はメッセージング・モジュール１０８（１）を使用してクライアント１０４（Ｎ）にサーチ結果を転送したということを告知することによって、請求する。したがって、クライアントが結果を転送する場合さえ、サービス・プロバイダ１１０（ｓ）は、複数のクライアント１０４（ｌ）−１０４（Ｎ）へのサーチ結果の提供に関して課金することができる。
【００５３】
以上で本発明を構造的特徴及び／又は方法的な動作に特有の表現を用いて述べたのであるが、特許請求の範囲の記載によって定義される本発明は、特定の特徴や動作には限定されない。以上で述べた特定の特徴や動作は、特許請求された本発明を実現する例示的な形態に過ぎない。
【図面の簡単な説明】
【００５４】
同じ構造及び構成要素とに関して議論する場合には、同じ参照番号が用いられる。
【図１】サーチを伴うインスタント・メッセージングを実装するように動作可能な例示的な実装例における環境の図解である。
【図２】図１における複数のサービス・プロバイダと複数のクライアントとを示す例示的な実装例におけるシステムのより詳細な図解である。
【図３】インスタント・メッセージング・セッションの間にサーチが実行されサーチ結果がインスタント・メッセージング・セッションに参加しているそれぞれのクライアントにおいて出力される例示的な実装例における手順（プロシージャ）を示す流れ図である。
【図４】クライアントとインスタント・メッセージング・セッションの間にサーチを実行するインスタント・メッセージング・ユーザ・インターフェースとの間で対話がなされている例示的な実装例における手順を示す流れ図である。
【図５】図５の手順によって開始されたインスタント・メッセージング・セッションの間に図２の複数のクライアントの間でインスタント・メッセージング・セッションとの関係で出力されるユーザ・インターフェースを示す例示的な実装例の図解である。
【図６】特定のコンテンツ・アイテムを求めてサーチを精緻化するように構成されているサーチ・オプションのポップアップ・メニュを図５のユーザ・インターフェースが提供している様子を示している例示的な実装例の図解である。
【図７】特定のコンテンツ・アイテムを求めてサーチを精緻化するように構成されているサーチ・オプションのドロップダウン・メニュを図５のユーザ・インターフェースが提供している様子を示している別の例示的な実装例の図解である。
【図８】サーチ語が図５のユーザ・インターフェースを介して入力されサーチ・ボタンの表現がサーチ・クエリを開始させるように選択される例示的な実装例の図解である。
【図９】サーチ結果と、図４の手順からのインスタント・メッセージング・セッションに参加している参加者によって共有されるものとしてサーチ結果を得るために用いられるサーチ・クエリと出力するものとして、図５のユーザ・インターフェースを示す例示的な実装例の図解である。
【図１０】図９に図解されているサーチ結果との関係でスポンサ付きのリンクが図１のサービス・プロバイダによって提供される例示的な実装例における手順を示す流れ図である。
【図１】
2008547113.tif 000003
【図２】
2008547113.tif 000004
【図３】
2008547113.tif 000005
【図４】
2008547113.tif 000006
【図５】
2008547113.tif 000007
【図６】
2008547113.tif 000008
【図７】
2008547113.tif 000009
【図８】
2008547113.tif 000010
【図９】
2008547113.tif 000011
【図１０】
2008547113.tif 000012
【国際調査報告】
2008547113.tif 000013