(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
ネットワークに位置するコンテンツのインデックスを発生するステップであって、前記インデックスが、ワイヤレス・デバイスから受けた前検索要求の検索語に相関するコンテンツを含む、ステップと、
前記ネットワークに接続された前記ワイヤレス・デバイスからの検索要求を受けるステップであって、前記検索要求が少なくとも１つの新たな検索語を含む、ステップと、
前記検索要求を、前記ワイヤレス・デバイスから受けた前記前検索要求と組み合わせるステップであって、前記検索要求が、前記前検索要求のうちの少なくとも１つとは異なったトークンを含む、ステップと、
ユーザ・デバイスから新たなコンテンツを受けるステップであって、前記新たなコンテンツが、前記ユーザ・デバイスにおいて、前記ワイヤレス・デバイスから受けた前記新たな検索語に対応する記述的メタデータにより分類されている、ステップと、
前記検索要求と前記前検索要求の組み合わせに基づいて前記コンテンツのインデックス部分集合を生成するステップであって、前記インデックス部分集合が、前記検索要求と前記前検索要求の前記組み合わせにおけるトークンと関連のあるページを含み、前記インデックス部分集合が、前記検索要求と前記前検索要求の前記組み合わせにおいて同じトークンが使用される頻度の増加に基づいて該同じトークンと関連のあるページをより多く含む、ステップと、
前記コンテンツの前記インデックス部分集合を、該インデックス部分集合を検索処理のためにローカルで利用するように構成された前記ワイヤレス・デバイスに送信するステップと、
を含む、コンピュータにより実行される方法。
【請求項２】
請求項１記載の方法において、前記ページは、ウェブ・ページを含む、方法。
【請求項３】
請求項１または２に記載の方法において、前記ページは、他のワイヤレス・デバイスのユーザによって提供される共有コンテンツを含む、方法。
【請求項４】
請求項１から３のいずれかに記載の方法において、前記ページは、ダウンロード可能コンテンツを含む、方法。
【請求項５】
請求項１から４のいずれかに記載の方法において、インデックスを発生するステップは、複数のトークンを含む逆インデックスを発生するステップを含み、各トークンには１つ以上のページが関連付けられた、方法。
【請求項６】
請求項１から５のいずれかに記載の方法において、前記ネットワークは、インターネット、および１つ以上の私的ネットワークを含む、方法。
【請求項７】
請求項１から６のいずれかに記載の方法において、前記コンテンツの前記インデックス部分集合は、要求されたコンテンツを含み、該要求されたコンテンツは、指定された日数の時間期間にわたって複数のユーザにより検索されたものである、方法。
【請求項８】
システムであって、
インデックス・ロジックを実施するように構成された少なくともメモリとプロセッサであって、前記インデックス・ロジックが、
ネットワークに位置するコンテンツのインデックスを発生し、前記インデックスが、ワイヤレス・デバイスから受けた前検索要求の検索語に相関するコンテンツを含み、
前記ネットワークに接続された前記ワイヤレス・デバイスから送信された検索要求を受け、前記検索要求が少なくとも１つの新たな検索語を含み、
前記検索要求を、前記ワイヤレス・デバイスから受けた前記前検索要求と組み合わせ、前記検索要求が、前記前検索要求のうちの少なくとも１つとは異なったトークンを含み、
ユーザ・デバイスから新たなコンテンツを受け、前記新たなコンテンツが、前記ユーザ・デバイスにおいて、前記ワイヤレス・デバイスから受けた前記新たな検索語に対応する記述的メタデータにより分類されており、
前記検索要求と前記前検索要求のうちの少なくとも１つとの組み合わせから前記コンテンツのインデックス断片を生成し、前記インデックス断片が、前記検索要求と前記前検索要求のうちの少なくとも１つとの前記組み合わせにおけるトークンと関連のあるページを含み、前記インデックス部分集合が、前記検索要求と前記前検索要求のうちの少なくとも１つとの前記組み合わせにおいて同じトークンが使用される頻度の増加に基づいて該同じトークンと関連のあるページをより多くを含む、
ように構成された、少なくともメモリとプロセッサと、
前記コンテンツの前記インデックス断片を、該インデックス断片を検索処理のためにローカルで利用するように構成された前記ワイヤレス・デバイスに送信するように構成されたサービスと、
を含む、システム。
【請求項９】
請求項８記載のシステムにおいて、前記ページは、ウェブ・ページを含む、システム。
【請求項１０】
請求項８または９に記載のシステムにおいて、前記ページは、他のワイヤレス・デバイスのユーザによって提供される共有コンテンツを含む、システム。
【請求項１１】
請求項８から１０のいずれかに記載のシステムにおいて、前記ページは、ダウンロード可能コンテンツを含む、システム。
【請求項１２】
請求項８から１１のいずれかに記載のシステムにおいて、インデックスを発生することは、複数のトークンを含む逆インデックスを発生することを含み、各トークンには１つ以上のページが関連付けられた、システム。
【請求項１３】
請求項８から１２のいずれかに記載のシステムにおいて、前記ネットワークは、インターネットおよび１つ以上の私的ネットワークを含む、システム。
【請求項１４】
請求項８から１３のいずれかに記載のシステムにおいて、前記コンテンツの前記インデックス断片は、要求されたコンテンツを含み、該要求されたコンテンツは、指定された日数の時間期間にわたって複数のユーザにより検索されたものである、システム。
【請求項１５】
プログラム・コードが格納されたコンピュータ読み取り可能記憶媒体であって、前記プログラム・コードがコンピュータによって実行されると、該コンピュータに、
ネットワークに位置するコンテンツのインデックスを自動的に発生し、前記インデックスが、ワイヤレス・デバイスから受けた前検索要求の検索語に相関するコンテンツを含み、
前記ネットワークに接続された前記ワイヤレス・デバイスから検索要求を受け、前記検索要求が少なくとも１つの新たな検索語を含み、
前記検索要求を、前記ワイヤレス・デバイスから受けた前記前検索要求と組み合わせ、前記検索要求が、前記前検索要求のうちの少なくとも１つとは異なったトークンを含み、
ユーザ・デバイスから新たなコンテンツを受け、前記新たなコンテンツが、前記ユーザ・デバイスにおいて、前記ワイヤレス・デバイスから受けた前記新たな検索語に対応する記述的メタデータにより分類され、
前記検索要求と前記前検索要求のうちの少なくとも１つとの組み合わせに基づいて前記コンテンツのインデックス部分集合を生成するステップであって、前記インデックス部分集合が、前記検索要求と前記前検索要求のうちの少なくとも１つとの前記組み合わせにおけるトークンと関連のあるページを含み、前記インデックス部分集合が、前記検索要求と前記前検索要求のうちの少なくとも１つとの前記組み合わせにおいて同じトークンが使用される頻度の増加に基づいて該同じトークンと関連のあるページをより多く含み、
前記コンテンツの前記インデックス部分集合を、該インデックス部分集合を検索処理のためにローカルで利用するように構成された前記ワイヤレス・デバイスに送信する、
ようにさせる、コンピュータ読み取り可能記憶媒体。
【請求項１６】
請求項１５記載のコンピュータ読み取り可能記憶媒体において、前記ページは、ウェブ・ページを含む、コンピュータ読み取り可能記憶媒体。
【請求項１７】
請求項１５または１６に記載のコンピュータ読み取り可能記憶媒体において、前記ページは、他のワイヤレス・デバイスのユーザによって提供される共有コンテンツを含む、コンピュータ読み取り可能記憶媒体。
【請求項１８】
請求項１５から１７のいずれかに記載のコンピュータ読み取り可能記憶媒体において、前記ページは、ダウンロード可能コンテンツを含む、コンピュータ読み取り可能記憶媒体。
【請求項１９】
請求項１５から１８のいずれかに記載のコンピュータ読み取り可能記憶媒体において、インデックスを発生する動作は、複数のトークンを含む逆インデックスを発生する動作を含み、各トークンには１つ以上のページが関連付けられた、コンピュータ読み取り可能記憶媒体。
【請求項２０】
請求項１５から１９のいずれかに記載のコンピュータ読み取り可能記憶媒体において、前記ネットワークは、インターネット、および１つ以上の私的ネットワークを含む、コンピュータ読み取り可能記憶媒体。
【請求項２１】
請求項１５から２０のいずれかに記載のコンピュータ読み取り可能記憶媒体において、前記コンテンツの前記インデックス部分集合は、要求されたコンテンツを含み、該要求されたコンテンツは、指定された日数の時間期間にわたって複数のユーザにより検索されたものである、コンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、データ処理システムの分野に関する。更に特定すれば、本発明は、検索インデックスを発生しワイヤレス通信ネットワークを通じて配信するための改良アーキテクチャに関する。
【背景技術】
【０００２】
「検索エンジン」は、コンピュータ・システム、またはワールド・ワイド・ウェブのようなコンピュータ・システムのネットワークに格納されているデータを突き止め易くするように設計されている。検索エンジンは、具体的な判断基準を満たすコンテンツを要求することをユーザに可能にし、これらの判断基準と一致する項目のリストを発生する。このリストは、多くの場合、検索結果の関連性の何らかの尺度に関してソートされている。
【０００３】
図１に示すように、検索エンジン１３０は素早くしかも効率的に動作するために検索「インデックス」１２０を用いる。動作において、インデックス発生ロジック１１０は、ウェブ・サーバ１００〜１０２（または他のタイプのサーバ）から収集した情報を用いて、インデックス１２０を継続的に更新する。インデックス発生ロジック１１０の周知の形態の１つに「ウェブ・クローラー」(Web crawler)（「ウェブ・スパイダ」または「ウェブ・ロボット」としても知られている）がある。これは、ワールド・ワイド・ウェブを、組織的且つ自動的に閲覧し、ウェブ・ページからテキストおよびメタデータを抽出してインデックス１２０を発生するプログラムまたは自動スクリプトである。
【０００４】
「逆インデックス」とは、Yahoo（登録商標）やGoogle（登録商標）のような多くの人気のある検索エンジンによって今日用いられているインデックス１２０の特定的な形態である。図２に示すように、逆インデックスは、ウェブ・ページから抽出された情報のテキスト・ストリングおよびその他の形態（例えば、ＸＭＬタグ、マルチメディア・コンテンツ）を表す「トークン」２００によって構築されている。逆インデックスの中にある各トークン・エントリは、そのトークンが現れるウェブ・ページのリストを含む。例えば、図２において、ウェブ・ページ１、４および６はトークン「ハワイ」を含み、ウェブ・ページ１、１１および１４はトークン「休日」を含み、そしてウェブ・ページ２２、２９、３２および４０はトークン「ＭＰ３」を含む。これらのウェブ・ページ・エントリは、ウェブ・ページの関連性に基づいて、各トークンの下で順序付けられている（例えば、関連性が最も高いものから最も低いものへ）。
【０００５】
逆インデックスは、検索エンジン１３０が検索を実行する速度を劇的に向上させる。例えば、個々のウェブ・ページ各々を検索して、クライアント１４０、１４１によって提出された、指定テキスト・ストリングまたはストリングの集合体を求める代わりに、検索エンジン１３０は単に検索に関連のあるトークンを特定し、これらのトークンと関連付けられているウェブ・ページを提示する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
インターネットに接続されるコンピュータおよび携帯用データ処理デバイスの数が引き続き増大しつつあることから、現行の検索エンジンは膨大な量の計算パワーが必要となる。したがって、インデックスを用いて検索を行うための一層効率的な方策が求められている。
【課題を解決するための手段】
【０００７】
ワイヤレス・データ処理デバイスから送られた以前の検索要求に関係するインデックスの部分を特定し、このインデックスの部分を、ローカル検索に用いるために、ワイヤレス・データ処理デバイスに送信するシステムおよび方法について記載する。具体的には、本発明の一実施形態による方法は、ネットワークに位置する複数のコンテンツに関する情報を収集するステップと、複数のコンテンツに対するインデックスを自動的に発生し新たなコンテンツを特定する毎に継続的に更新するステップと、ワイヤレス・データ処理デバイスから送信される検索要求を分析するステップと、分析に基づいて、検索要求に関連のあるインデックスの部分を特定するステップと、このインデックスの部分をワイヤレス・データ処理デバイスに送信するステップと、ワイヤレス・データ処理デバイスに格納されているインデックスの部分を用いて、後続の検索要求を実行するステップとを備えている。
【図面の簡単な説明】
【０００８】
以下の図面と合わせた以下の詳細な説明から、本発明の一層深い理解を得ることができる。
【図１】図１は、従来技術の検索エンジンおよびインデックスのアーキテクチャを示す。
【図２】図２は、逆インデックス例でトークンを配列する方法を示す。
【図３】図３は、本発明の一実施形態において用いられるサービスを示す。
【図４】図４は、インデックス断片をデータ処理デバイスに配信するシステム・アーキテクチャの一実施形態を示す。
【図５】図５は、本発明の一実施形態によるデータ処理デバイス例に配信するインデックス断片を示す。
【図６】図６は、異なるタイプのデータ毎にインデックス断片を発生する本発明の一実施形態を示す。
【発明を実施するための形態】
【０００９】
本記載全体において、説明の目的上、本発明の完全な理解が得られるようにするために、多数の具体的な詳細を明記する。しかしながら、本発明はこれらの具体的な詳細の一部がなくても実用化できることは当業者には明白であろう。他方、周知の構造およびデバイスは、ブロック図形態で示すことにより、本発明の基礎的な原理が曖昧になるのを回避する。
データ処理サービスの実施形態
【００１０】
本発明の実施形態は、概略的に図３に示すようなデータ処理サービス３００と通信するワイヤレス・デバイス３１０において実現することができる。サービス３００およびデータ処理デバイス３１０の実施形態については、例えば、SYSTEM AND METHOD FOR INTEGRATING PERSONAL INFORMATION MANAGEMENT AND MESSAGING APPLICATIONS（個人情報管理およびメッセージング・アプリケーションを統合するシステムおよび方法）と題する、２００２年９月３０日に出願された同時継続中の特許出願第１０／２６２，２９８号に記載されており、更にデータ処理デバイス３１０において存在および接触情報を動的に管理する実施形態は、SYSTEM AND METHOD FOR DYNAMICALLY MANAGING PRESENCE AND CONTACT INFORMATION（）と題する２００３年６月３０日に出願された同時係属中の特許出願第１０／６１１，０１９号に記載されている（以下、「同時係属出願」）。これらは、本願の譲受人に譲渡されており、ここで引用したことによりその内容が本願にも含まれるものとする。
【００１１】
サービス３００のある種の特徴についてここで説明し、続いて、標的を設定した検索インデックスをワイヤレス・ネットワークを通じて配信するシステムおよび方法の詳細な説明を行う。しかしながら、同時係属特許に記載されている具体的なデータ処理デバイスおよびシステム・アーキテクチャは、本発明の基礎的な原理を実現するためには必要でないことは、記してしかるべきであろう。
【００１２】
一実施形態において、サービス３００は標準的なアプリケーションおよびデータを、各ワイヤレス通信デバイス３１０が適正に解釈することができるフォーマットに変換する。つまり、図３に示すように、サービス３００の一実施形態は、ワイヤレス通信デバイス３１０からのインターネット・コンテンツ３４０の要求を処理するコンテンツ変換ロジック３２０を含む。更に特定すれば、サービス３００は、データ処理デバイス３１０のプロキシとして機能し、インターネット要求３４０、３４１を然るべきインターネット・サイト３３０に、ワイヤレス通信デバイス３１０の代わりに転送し、標準的なフォーマットでインターネット・サイト３３０からの応答を受信し、これらの応答３２４を、ワイヤレス通信デバイス３１０が処理することができるフォーマット（例えば、バイトコード）に変換する。
【００１３】
例えば、変換ロジック３２０は、レンダリング・モジュール（図示せず）を含むことができる。レンダリング・モジュールは、ＨＴＭＬコードを解釈し、そのコードを、ワイヤレス通信デバイス３１０で処理／レンダリングすることができるフォーマットに変換する。前述した先行出願に記載されているように、一実施形態では、デバイス特定フォーマットは、バイトコード／アプレットを備えており、一実施形態では、これらはＪａｖａバイトコード／アプレットの形態である。しかしながら、変換ロジック３２０は、用いられるワイヤレス通信デバイス３１０の個々の形式（例えば、解釈モジュールを有するデバイス、または解釈モジュールを有さないデバイス）に応じて、種々のその他のタイプの解釈コード(interpreted code)および／または非解釈コード(non-interpreted code)を発生することもできる。
【００１４】
サービス３００の一実施形態は各データ処理デバイスの能力／構成について詳細な知識（例えば、画面サイズ、グラフィック／オーディオ能力、利用可能なメモリ、処理パワー、ユーザの好み、．．．等）を維持しているので、要求されたデータを精度高く再現することができ、同時にデバイス３１０にコンテンツを送信するために必要な帯域幅を最小限に抑えることができる。例えば、変換ロジック３２０は、要求されたコンテンツに対して、事前の倍率調整や色の深み調節を実行し、データ処理デバイス３１０のディスプレイの中に適正にレンダリングされるようにすることができる。これらの計算を行う際、変換は、データ処理デバイス３１０で利用可能なメモリおよび処理パワーを要因に含める。加えて、変換ロジック３２０は、種々の圧縮技法を用いて、要求されたコンテンツを圧縮し、これによってネットワーク帯域幅を保存することもできる。
標的を設定した検索インデックスをワイヤレス・ネットワークを通じて配信するシステムおよび方法の新たな実施形態
【００１５】
サービス１００の一実施形態は、各データ処理デバイスから提出された検索を監視し、応答して、従来の検索の主題に基づいて、完全な検索インデックスの部分集合（ここでは「インデックス断片」と呼ぶ）を発生する。次いで、このサービスはインデックス断片をデータ処理デバイスの各々に送信し、これらのデバイスにおいてローカルに検索を実行するためにインデックス断片が用いられ、これによってネットワーク帯域幅、およびサービス１００にあるデータ処理資源を保存する。
【００１６】
図４に示すように、本発明の一実施形態では、サービス３００は、従来の検索システムにおけるように、インデックス４２０を用いて検索を実行する検索エンジン４１０を含む。加えて、従来のシステムにおけるように、このサービスは、インターネット（またはその他のネットワーク）におけるウェブ・サーバ１００〜１０２（または他のサーバ形式）から特定した新たなコンテンツを用いて、インデックス４２０を継続的に更新するインデックス発生ロジック４１１も含む。一実施形態では、インデックス発生ロジック４１１は、ウェブ・クローラー(Web Crawler)または同様のプログラムである。しかしながら、本発明の基礎的な原理は、インデックス発生ロジック４１１のいずれの特定的なタイプにも限定されないことは、記してしかるべきであろう。
【００１７】
しかしながら、従来のシステムとは異なり、本発明の一実施形態では、サービス３００は検索分析ロジック４３０およびインデックス断片発生ロジック４３１も含む。これらは、データ処理デバイス４４０、４４２からそれぞれ受信した検索要求４４０、４４２を分析した後に、これらのデータ処理デバイスの各々に標的を設定した検索インデックス断片４４１、４４３を供給するように動作する。具体的には、一実施形態では、検索分析ロジック４３０は、新たな検索要求４４０、４４２を監視して、この情報を、各データ処理デバイス４０１、４０２から受信した以前の検索要求４３２と組み合わせる。検索要求の内容に基づいて、検索分析ロジック４３０は、インデックス４２０全体の中で、各データ処理デバイスに合わせて一意に作成したインデックス断片を特定する。一旦インデックス断片が検索分析ロジック４３０によって特定されたなら、インデックス断片発生ロジック４１１は、応答して、インデックス４２０全体からこれらのインデックス断片を抽出し、インデックス断片をデータ処理デバイス４０１〜４０２の各々に配信する。次いで、データ処理デバイスの各々において、インデックス断片４４１、４４３を用いて、後続の検索をローカルに実行する。
【００１８】
一例として、図５に示すように、データ処理デバイス４０１のユーザが「休日」および「ハワイ」の検索を頻繁に実行する場合、インデックス断片発生ロジック４３１は、トークン「休日」および「ハワイ」を収容するインデックス断片５０１を、このインデックスと関連のあるウェブ・ページの識別（または実際のウェブ・ページ）と共に抽出する。この文書の残りの部分では、「ページ」という用語は、ウェブ・ページあるいは他のタイプのネットワーク・コンテンツの識別子（例えば、ユニフォーム・リソース・ロケータ）、または実際のウェブ・ページまたはその他のタイプのネットワーク・コンテンツを指すこととする。同様に、ワイヤレス・デバイス４０２のユーザが「ＭＰ３」ファイルの検索を頻繁に実行する場合、インデックス断片発生ロジック４１１は、トークン「ＭＰ３」を収容するインデックス断片５０３を抽出する。 
【００１９】
図５において示すように、一実施形態では、各トークンと関連のあるページのうち最も関連が深いページをデータ処理デバイスに送信する。例えば、トークン「ハワイ」と関連のあるページ１、ならびにトークン「休日」と関連のあるページ１および１１がワイヤレス・デバイス４０１に送信され、トークンＭＰ３と関連のあるページ２２、２９および３２のみがワイヤレス・デバイス４０２に送信される。
【００２０】
一実施形態では、相対的に検索において含まれる頻度が高いトークン程、相対的により多くのページを送信することができる。例えば、ワイヤレス・デバイス４０１のユーザが毎日多くの回数「ハワイ」および「休日」を検索する場合、インデックス断片５０１の一部として含まれるページが相対的に増加する可能性がある。逆に、ワイヤレス・デバイス４０２のユーザが数日の間に数回だけ「ＭＰ３」の検索を実行したに過ぎない場合、インデックス断片５０３の中で送られるページは、相対的に少なくなる可能性がある。
【００２１】
インデックス断片に中に個々のトークンを含めるべきか否か判断するため、および／または各トークン毎に含まれるページ数を決定するために、検索要求分析ロジック４３０は、様々なアルゴリズムを用いることができる。例えば、一実施形態では、指定された時間期間（例えば、１日）に１回よりも多く検索が実行される場合、トークンを、対応するページの部分集合と共に、自動的にインデックス断片に含ませる。このトークンが特定される検索が多い程、そのトークンと関連のあるページが増加しインデックス断片の一部として含まれる。
【００２２】
一実施形態では、検索要求分析ロジック４３０は、指定された時間枠（例えば、先月そのトークンを検索した他のユーザの数、および検索の結果）において全てのユーザからそのトークンが検索された回数に基づいて、トークンをインデックス断片の中に含ませるべきか判断し、および／またはトークン毎に含ませるページ数を決定する。
【００２３】
一実施形態では、検索要求分析ロジック４３０によってユーザ・フィードバックを収集して、個々のトークンをインデックス断片の中に含ませるべきか否か判断し、および／またはトークン毎に含ませるページ数を決定する。例えば、検索に続いて、各ユーザに、検索結果は役に立ったか否か尋ねることができる。指定された数のユーザが、検索は役に立たなかったことを示す場合、検索要求分析ロジック４３０は、そのトークンを、データ処理デバイスに送るインデックス断片から除外することができる。一実施形態では、検索要求分析ロジック４３０は、ユーザがブックマーク登録した検索を指定することを可能にする。例えば、ユーザはある種のトークンが常にユーザのインデックス断片に含まれるように指定することができる（例えば、「ハリー・ポッターの映画」、「ハワイの休日」等）。検索要求分析ロジック４３０は、これらのトークンについて最後に収集した結果を用いて、ユーザのインデックス断片を自動的に更新する。
【００２４】
また、検索要求分析ロジック４３０は、更に複雑な種々のアルゴリズムも用いることができる。例えば、一実施形態では、検索要求分析ロジック４３０は、現在のスパム・フィルタにおいてベイズ技法が用いられているのと同様に、ベイズ分類をトークンに用いる。例えば、ある種のトークンが種々の時間期間内において検出される頻度に基づいて、これらのトークンに重みを指定することができる。次いで、この重みを用いて、個々のトークンをインデックス断片に含ませるか否か判断することができる（例えば、相対的に大きな重みを有するトークンは、相対的に小さい重みを有するトークンよりも、インデックス断片に含まれる可能性が高くなる）。
【００２５】
一旦発生したなら、インデックス断片５０１、５０３を各データ処理デバイス４０１、４０２にローカルに格納する。続いて、新たな検索がユーザによって入力されると、ローカル検索エンジン５００、５０２は最初に、ローカルに格納したインデックス断片５０１、５０３をそれぞれ用いて、検索を実行しようとする。検索語に対するトークンがローカル・インデックス断片５０１、５０３の中で特定された場合、サービス３００の検索エンジン４１０に照会する必要なく、検索の結果を素早くユーザに提示する。サービス３００は数十万人（または、潜在的には数百万人）のユーザをサポートすることができるので、検索処理を個々のデータ処理デバイスの各々に肩代わりさせることができると、サービスの主検索エンジン４１０上の負荷が著しく減少する。
【００２６】
一実施形態では、検索語の１つ以上が、データ処理デバイス４０１、４０２のインデックス断片５０１、５０３の中でローカルに発見されなかった場合、検索要求はサービス３００の主検索エンジン４１０に送られる。検索要求分析ロジック４３０は、この検索要求を以前の検索要求４３２と組み合わせて分析して、今後の検索に利用可能にするために、トークンおよびページをデータ処理デバイス４０１、４０２に送るべきか否か判断する。
【００２７】
一実施形態では、検索要求分析ロジック４３０およびインデックス断片発生ロジック４３１は、各データ処理デバイス４０１、４０２から受信した新たな各検索要求に応答して、動的にインデックス断片を発生する。あるいは、または加えて、検索要求分析ロジック４２０およびインデックス断片発生ロジック４３１は、最後にインデックス断片を発生して以来受信した検索要求、および／または以前の格納されている検索要求４３２に基づいて、インデックス断片を周期的に（例えば、６時間毎に１回）発生しアップロードする。
【００２８】
前述のインデックス断片を発生する技法は、一般的なインターネット検索以外にも種々の用途に用いることができる。例えば、図６に示すように、本発明の一実施形態では、インデックス発生ロジック６１１は共有ユーザ・データ６２２および／またはプレミアム・ダウンロード可能コンテンツ(premium downloadable content)６２３に関係するインデックス６２０の中にエントリを発生する。具体的には、前者に関して、サービス３００の一実施形態は、ユーザにデータを共有することを可能にする。例えば、一実施形態では、データ処理デバイスに格納されている任意のデータが自動的にサービス３００にアップロードされる。つまり、ユーザがデータ処理デバイスを用いて写真を撮ると、この写真が自動的にアップロードされる。ユーザが、この写真のデータを他のユーザと共有すべきことを示す（またはユーザのグループを指定する）場合、インデックス発生ロジック６１１は、写真のエントリを含ませるように、インデックス６２０を更新する。写真がインデックス発生ロジック６１１によって適正に分類されるように（例えば、「ニュージーランドへの旅」）、ユーザには、写真の説明またはその他のメタデータを提供するように頼むことができる。次いで、インデックス断片発生ロジック４３１は、前述のように検索要求分析ロジック４３０が行った検索要求の分析に基づいて、主インデックス６２０のこの部分から、インデックス断片を発生する。次いで、別のユーザがインデックス６２０および／またはユーザのデータ処理デバイスにあるローカル・インデックス断片を検索して、前述の写真またはその他のタイプの共有データを突き止めてダウンロードすることができる。このように、種々のタイプのユーザ・データをサービスにアップロードして共有することができ、ユーザ・データには、カレンダ・データ、オーディオ・ファイル、ビデオ・ファイル、およびアドレス帳／連絡先リストが含まれるが、これらに限定されるのではない。このように、サービス３００のユーザは、他のユーザにとってコンテンツ供給者となり、本明細書に記載するインデックス配信技法を用いて、コンテンツを検索可能にする。
【００２９】
一実施形態では、ユーザは、ある種のデータを秘密のままにしておく（即ち、他のユーザと共有しない）ことを明示的に要求することができる。更に、一実施形態におけるユーザ・データに対するデフォルト設定は「秘密」である。したがって、ユーザは、彼らのデータを他の指定ユーザと供給することを許可する選択を行うことができる。この実施形態では、インデックス断片発生ロジック４３１は、他のユーザに送られたインデックス断片の中で、他のユーザと共有するデータとして明示的に特定されているトークンのみを含む。
【００３０】
本明細書において用いる場合、「プレミアム・ダウンロード可能コンテンツ」は、呼び出し音、アプリケーション、壁紙、テーマ、および購入のためにサービス３００によってユーザに提供される任意のその他のコンテンツを含む。プレミアム・ダウンロード可能コンテンツ６２３に関して、現行のデータ・サービスは、購入可能なコンテンツのカタログをデータ処理デバイスにプッシュする。次いで、ユーザはこのカタログを閲覧して、呼び出し音や実行可能なアプリケーションのようなコンテンツを特定して購入することができる。場合によっては、新たなカタログを毎日データ処理デバイスに押し出す(push out)ことによって、大量のネットワーク帯域幅を消費する。
【００３１】
図６に示すように、本発明の一実施形態では、ダウンロード可能コンテンツ６３２に関係する情報は、インデックス発生ロジック６１１によって、インデックス６２０の中に組み込まれる。加えて、前述の実施形態におけるように、インデックス断片発生ロジック４３１は、以前の購入および／または検索要求分析ロジック４３０によって行われる検索の分析に基づいて、主インデックス６２０のこの部分からインデックス断片を発生する。例えば、ユーザが呼び出し音を頻繁に購入および／または検索する場合、インデックス断片発生ロジック４３１は、ユーザのワイヤレス・デバイスに送られるインデックス断片の中に多数の呼び出し音トークンを含ませることができる。同様に、ユーザが特定の種類のアプリケーション（例えば、新たなインスタント・メッセージング・アプリケーション）を頻繁に購入および／または検索する場合、インデックス断片発生ロジック４３１は、インデックス断片の中にこれらの種類のアプリケーションのトークンを含ませることができる。このように、本発明の基礎的な原理に従いつつ、種々のその他の／追加の種類のコンテンツにインデックスを付けることができる。
【００３２】
以上の技術の特筆すべき利点の１つは、一意に個別作成した情報のカタログを提供し、このカタログからユーザがローカルに検索することができ、これによってサービス上における処理資源を保存し、購入可能なコンテンツのカタログが、ユーザにとって関心のあるコンテンツを収容する可能性を高めることである。したがって、このカタログ全体を周期的に（例えば、毎日）データ処理デバイスにダウンロードする必要がなく、これによってネットワーク資源を保存する。
【００３３】
一実施形態では、図３から図６に示したロジックは、データ処理デバイス４０１、４０２およびサービス３００で実行されるソフトウェアにおいて具体化されている。しかしながら、本発明の基礎的な原理はソフトウェアの実現例に限定されるのではない。例えば、ロジックは、ハードウェア、ファームウェア、ソフトウェア、またはその任意の組み合わせでも具体化することができる。
【００３４】
本明細書において用いる場合、「ネットワーク」とは公衆インターネット、ならびにデータ・サービス３００内において用いられているネットワークおよびその他のリモート・データ・サービスのような私的ネットワークを指す。
【００３５】
本発明の実施形態は、先に明記したような種々のステップを含むことができる。これらのステップは、機械実行可能命令において具体化することができ、機械実行可能命令は、汎用または特殊目的プロセッサにある種のステップを実行させる。あるいは、これらのステップは、当該ステップを実行するためのハードワイヤ・ロジックを内蔵した特定的なハードウェア・コンポーネントによって、またはプログラミングされたコンピュータ・コンポーネントおよびカスタム・ハードウェア・コンポーネントの任意の組み合わせによって実行することもできる。
【００３６】
また、本発明のエレメントは、機械実行可能命令を格納する機械読み取り可能媒体として提供することもできる。機械読み取り可能媒体は、フロッピ・ディスク、光ディスク、ＣＤ−ＲＯＭ、および光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気または光カード、伝搬媒体、あるいは電子命令を格納するのに適したその他の種類の媒体／機械読み取り可能媒体を含むことができるが、これらに限定されるのではない。例えば、本発明は、コンピュータ・プログラムとしてダウンロードすることができ、このコンピュータ・プログラムをリモート・コンピュータ（例えば、サーバ）から要求元コンピュータ（例えば、クライアント）に、搬送波またはその他の伝搬媒体に具体化されたデータ信号によって、通信リンク（例えば、モデムまたはネットワーク接続）を経由して転送することができる。
【００３７】
以上の記載全体を通じて、説明の目的上、本発明の完全な理解を得るために、多数の具体的な詳細を明記した。しかしながら、本発明はこれらの具体的な詳細の一部がなくても実用化できることは、当業者には明白であろう。したがって、本発明の範囲および主旨は、以下に続く特許請求の範囲に関して判断すべきこととする。
【図１】
0005537428.tif 000002
【図２】
0005537428.tif 000003
【図３】
0005537428.tif 000004
【図４】
0005537428.tif 000005
【図５】
0005537428.tif 000006
【図６】
0005537428.tif 000007