(57)【特許請求の範囲】
【請求項１】
データ通信において、1つまたは複数のコンピュータを含むデータ処理装置によって実行されるコンピュータ実施方法であって、
ネイティブアプリケーションに関するアプリケーションパッケージファイルにアクセスするステップと、各ネイティブアプリケーションに対して、
前記アプリケーションパッケージファイルから、前記ネイティブアプリケーションのアプリケーション名を決定するステップであって、
前記ネイティブアプリケーションに関するアプリケーションアイコンを決定するステップと、
前記アプリケーション名として前記アプリケーションアイコンに関するアプリケーション表示名を定めるテキスト文字列を選択するステップと
を含む、ステップと、
前記データ処理装置において、前記ネイティブアプリケーションのアプリケーションページにアクセスするステップであって、前記アプリケーションページのそれぞれに対して、前記アプリケーションページのコンテンツを記述するアプリケーションページデータ、前記アプリケーションページのアプリケーションページ名、ユーザデバイスが前記アプリケーションページを表示するとき前記ユーザデバイスが前記アプリケーションページ上に表示するテキストを含む前記アプリケーションページデータによって記述されるコンテンツ、を生成する、ステップと、
前記ネイティブアプリケーションに関する前記アプリケーションページデータおよび前記アプリケーション名に、検索エンジンによって検索可能なインデックスでインデックス付けを行うステップと
を含む、コンピュータ実施方法。
【請求項２】
クエリに応答するものとして、ネイティブアプリケーションのアプリケーションページを識別するデータを受信するステップであって、これに対し、
前記インデックスから前記アプリケーション名を選択し、前記アプリケーション名を第1のテキスト記述子としてネイティブアプリケーション検索結果に含め、
前記インデックスから前記ネイティブアプリケーションに関する前記アプリケーションアイコンを選択し、前記アプリケーションアイコンを第1の画像記述子として前記ネイティブアプリケーション検索結果に含め、
前記インデックスから前記ネイティブアプリケーションに関するアプリケーションページのユニフォームリソースアイデンティファイア(URI)を選択し、前記URIを前記ネイティブアプリケーション検索結果に含め、
前記URIによって参照される前記アプリケーションページ名のアプリケーションペー
ジ名を、前記ネイティブアプリケーション検索結果における第2のテキスト記述子として選択する、ステップと、
前記クエリに応答して、前記ネイティブアプリケーション検索結果をユーザデバイスに提供するステップと
をさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項３】
前記インデックスから前記アプリケーション名を選択し、前記アプリケーション名を第1のテキスト記述子としてネイティブアプリケーション検索結果に含めることが、
前記クエリに対応する複数の言語のうちの1つを決定することと、
前記ネイティブアプリケーションに関するそれぞれ異なる言語の複数のアプリケーション名から、前記クエリに対応する前記言語に対応する前記アプリケーション名を選択することと
を含む、請求項2に記載のコンピュータ実施方法。
【請求項４】
前記ネイティブアプリケーションの発行者から、前記ネイティブアプリケーションに関してインデックス付けされるアプリケーションページを指定するデータを受信するステップと、
前記ネイティブアプリケーションのアプリケーションページにアクセスするステップであって、前記ネイティブアプリケーションに関してインデックス付けされるように指定される前記アプリケーションページのみにアクセスすることを含む、ステップと
をさらに含む、請求項2に記載のコンピュータ実施方法。
【請求項５】
第1の表示形式にて前記第1のテキスト記述子を整形するステップと、
前記第1の表示形式と異なる第2の表示形式にて前記第2のテキスト記述子を整形するステップと
をさらに含む、請求項2に記載のコンピュータ実施方法。
【請求項６】
前記インデックスから、前記アプリケーションページが表示されるとき、前記アプリケーションページデータ上に表示されるコンテンツのコンテンツデータを選択するステップ
と、
前記コンテンツデータを第3のテキスト記述子として前記ネイティブアプリケーション検索結果に含めるステップと
をさらに含む、請求項2に記載のコンピュータ実施方法。
【請求項７】
データ処理装置と、
前記データ処理装置によって実行可能な命令を記憶する、非一時的なコンピュータ可読記憶媒体に記憶されたソフトウェアと
を備え、前記命令が実行されると前記データ処理装置に、
ネイティブアプリケーションに関するアプリケーションパッケージファイルにアクセスするステップと、各ネイティブアプリケーションに対して、
前記アプリケーションパッケージファイルから、前記ネイティブアプリケーションのアプリケーション名を決定するステップであって、
前記ネイティブアプリケーションに関するアプリケーションアイコンを決定するステップと、
前記アプリケーション名として前記アプリケーションアイコンに関するアプリケーション表示名を定めるテキスト文字列を選択するステップと
を含む、ステップと、
前記データ処理装置において、前記ネイティブアプリケーションのアプリケーションページにアクセスするステップであって、前記アプリケーションページのそれぞれに対して、前記アプリケーションページのコンテンツを記述するアプリケーションページデータ、前記アプリケーションページのアプリケーションページ名、ユーザデバイスが前記アプリケーションページを表示するとき前記ユーザデバイスが前記アプリケーションページ上に表示するテキストを含む前記アプリケーションページデータによって記述されるコンテンツ、を生成する、ステップと、
前記ネイティブアプリケーションに関する前記アプリケーションページデータおよび前記アプリケーション名に、検索エンジンによって検索可能なインデックスでインデックス付けを行うステップと
を含む動作を実行させる、システム。
【請求項８】
前記動作が、
クエリに応答して、ネイティブアプリケーションのアプリケーションページを識別するデータを受信するステップであって、これに対し、
前記インデックスから前記アプリケーション名を選択し、前記アプリケーション名を第1のテキスト記述子としてネイティブアプリケーション検索結果に含め、
前記インデックスから前記ネイティブアプリケーションに関する前記アプリケーションアイコンを選択し、前記アプリケーションアイコンを第1の画像記述子として前記ネイティブアプリケーション検索結果に含め、
前記インデックスから前記ネイティブアプリケーションに関するアプリケーションページのユニフォームリソースアイデンティファイア(URI)を選択し、前記URIを前記ネイティブアプリケーション検索結果に含め、
前記URIによって参照される前記アプリケーションページ名のアプリケーションページ名を、前記ネイティブアプリケーション検索結果における第2のテキスト記述子として選択する、ステップと、
前記クエリに応答して、前記ネイティブアプリケーション検索結果をユーザデバイスに提供するステップと
をさらに含む、請求項7に記載のシステム。
【請求項９】
前記インデックスから前記アプリケーション名を選択し、前記アプリケーション名を第1のテキスト記述子としてネイティブアプリケーション検索結果に含めることが、
前記クエリに対応する複数の言語のうちの1つを決定することと、
前記ネイティブアプリケーションに関するそれぞれ異なる言語の複数のアプリケーション名から、前記クエリに対応する前記言語に対応する前記アプリケーション名を選択することと
を含む、請求項8に記載のシステム。
【請求項１０】
前記動作が、
前記ネイティブアプリケーションの発行者から、前記ネイティブアプリケーションに関してインデックス付けされるアプリケーションページを指定するデータを受信するステップと、
前記ネイティブアプリケーションのアプリケーションページにアクセスするステップであって、前記ネイティブアプリケーションに関してインデックス付けされるように指定される前記アプリケーションページのみにアクセスすることを含む、ステップと
をさらに含む、請求項8に記載のシステム。
【請求項１１】
前記動作が、
第1の表示形式にて前記第1のテキスト記述子を整形するステップと、
前記第1の表示形式と異なる第2の表示形式にて前記第2のテキスト記述子を整形するステップと
をさらに含む、請求項8に記載のシステム。
【請求項１２】
前記動作が、
前記インデックスから、前記アプリケーションページが表示されるとき、前記アプリケーションページデータ上に表示されるコンテンツのコンテンツデータを選択するステップと、
前記コンテンツデータを第3のテキスト記述子として前記ネイティブアプリケーション検索結果に含めるステップと
をさらに含む、請求項8に記載のシステム。
【請求項１３】
データ処理装置によって実行可能な命令を記憶する、非一時的なコンピュータ可読記憶媒体であって、前記命令が実行されると前記データ処理装置に、
ネイティブアプリケーションに関するアプリケーションパッケージファイルにアクセスするステップと、各ネイティブアプリケーションに対して、
前記アプリケーションパッケージファイルから、前記ネイティブアプリケーションのアプリケーション名を決定するステップであって、
前記ネイティブアプリケーションに関するアプリケーションアイコンを決定するステップと、
前記アプリケーション名として前記アプリケーションアイコンに関するアプリケーション表示名を定めるテキスト文字列を選択するステップと
を含む、ステップと、
前記データ処理装置において、前記ネイティブアプリケーションのアプリケーションページにアクセスするステップであって、前記アプリケーションページのそれぞれに対して、前記アプリケーションページのコンテンツを記述するアプリケーションページデータ、前記アプリケーションページのアプリケーションページ名、ユーザデバイスが前記アプリケーションページを表示するとき前記ユーザデバイスが前記アプリケーションページ上に表示するテキストを含む前記アプリケーションページデータによって記述されるコンテンツ、を生成する、ステップと、
前記ネイティブアプリケーションに関する前記アプリケーションページデータおよび前記アプリケーション名に、検索エンジンによって検索可能なインデックスでインデックス付けを行うステップと
を含む動作を実行させる、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、2012年6月24日出願の米国特許出願第62/016,645号に対する米国特許法第119条(e)の優先権を主張し、その内容全体を参照により本明細書に組み込む。
【０００２】
本開示は、アプリのディープリンキングに関し、より詳細には、簡潔で正確なディープリンク識別文字列を自動的に生成し、提供するディープリンク処理のためのシステムおよび方法に関する。
【背景技術】
【０００３】
インターネットにより、多種多様な情報へのアクセスが可能となる。たとえば、デジタルイメージファイル、ビデオおよび/またはオーディオファイル、ならびに、特定の主題または特定のニュース記事に対するウェブページリソースが、インターネットを介してアクセス可能である。ウェブページリソースに関して、これらのリソースの多くは、銀行業務、ホテル予約業務、ショッピングなど特定の機能の実行を容易にする、または、オンライン百科事典、映画データベースなど構造化情報を提供するように設計されている。
【０００４】
様々な検索エンジンが、インターネットを介してアクセス可能な特定のリソースを識別するために利用可能である。これらの検索エンジンは、様々なウェブページリソースをクローリングし、インデックス付けを行う。次いで、検索エンジンは、そのインデックスを使用して、どのリソースが検索クエリに対して最も敏感か判定して、クエリに応答してリソースにリンクする検索結果を提供する。
【０００５】
タブレットコンピュータおよびスマートフォンの出現とともに、ウェブページリソースの使用によって容易になった同一の機能の性能を促進するネイティブアプリケーションが、現在、大量に提供されつつある。しかし、検索エンジンは、ネイティブアプリケーション環境内からの情報にクローリング、またはインデックス付けを行うことはしない。代わりに、そのネイティブアプリケーションに関するメタデータがインデックス付けされ、次いで、検索クエリを処理するときにアクセスされる。
【発明の概要】
【課題を解決するための手段】
【０００６】
一般に、本明細書に記載の本主題の革新的な一態様は、ネイティブアプリケーションに関するアプリケーションパッケージファイルにアクセスするアクションと、各ネイティブアプリケーションに対して、アプリケーションパッケージファイルから、ネイティブアプリケーションのアプリケーション名を決定するアクションと、データ処理装置においてネイティブアプリケーションのアプリケーションページにアクセスし、かつ、各アプリケーションページに対して、アプリケーションページのコンテンツを記述するアプリケーションページデータ、アプリケーションページのアプリケーションページ名、ユーザデバイスがアプリケーションページを表示するときユーザデバイスがアプリケーションページ上に表示するテキストを含むアプリケーションページデータによって記述されるコンテンツを生成するアクションと、ネイティブアプリケーションに関するアプリケーションページデータおよびアプリケーションアイコンに検索エンジンによって検索可能なインデックスでインデックス付けを行うアクションと、を含む方法において具体化することができる。この態様の他の実施形態は、コンピュータの記憶デバイスに符号化された方法のアクションを実行するように構成された、対応するシステム、装置およびコンピュータプログラムを含む。
【０００７】
本明細書に記載の本主題の特別な実施形態は、以下の利点のうちの1つまたは複数を実現するように実装され得る。ネイティブアプリケーションページのアプリケーションページインデックス中に記憶された情報は、実際のアプリケーションページデータおよびアプリケーションパッケージから取り出され、これにより、ネイティブアプリケーションを記述するものの、他の点ではネイティブアプリケーションパッケージの部分ではない他のデータによって提供されるものよりも、より包括的なアプリケーションコンテンツの記述を提供することが可能となる。
【０００８】
本明細書に記載の本主題の1つまたは複数の実施形態の詳細は、添付の図面および以下の説明に述べる。本主題の他の機能、態様および利点は、記述、図面および特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【０００９】
【図１】ネイティブアプリケーションに関するアプリケーションページが、ネイティブアプリケーション検索結果によって、インデックス付けされ、検索され、かつ、識別される環境の一例のブロック図である。
【図２】ネイティブアプリケーションのアプリケーションページデータにインデックス付けを行うためのプロセスの一例の流れ図である。
【図３】ネイティブアプリケーション検索結果を生成するためのプロセスの一例の流れ図である。
【図４】ネイティブアプリケーション検索結果の図である。
【発明を実施するための形態】
【００１０】
いくつかの図面において同様の参照番号および名称は同様の要素を示す。
【００１１】
インターネット検索エンジンは、インターネット上に存在するインデックス付きのウェブページの一群を検索する機能を提供する。典型的な検索エンジンは、クエリに応答して、しばしばユーザが対象の結果に迅速にナビゲートすることが可能なハイパーリンクを有する、クエリに関連する結果リストを提供する。ユーザはリンク付けられた結果を選択することができ、それによりタレント、製品、ビジネス等についてのコンテンツを含むウェブページを提供される。リンクはサイトの「ホームページ」(たとえば、レシピなどクッキング情報を集約したサイトに対するウエルカムおよび検索ページ)に対するもの、または、サイトのホームページからナビゲートしたときユーザがアクセスすることができる「コンテンツページ」(たとえば、クッキング情報サイトにおける特定のレシピ)とすることができる。コンテンツページへのリンクは、ホームページへのリンクに対する対語として、「ディープリンク」と呼ばれる(これらのコンテンツページをクローリングし、インデックス付けし、サービスするプロセスは同様に「ディープリンキング」と呼ばれる)。
【００１２】
ページへナビゲートする機能、ならびに、そのページが提供するコンテンツのアクセス可能性および機能性は、公開されたページの性質によって部分的に規定される。たとえば、あるページは、クローリングおよび検索が困難または不可能な動的コンテンツ(たとえば、非同期ジャバスクリプトおよびXML(AJAX)、Adobe Flash等)を含むことができる。その結果、これらのページは、検索しても利用することはできないことがあり、ユーザはブックマークなどでページを保存することができないことがあり、また、ブラウザ制御によるページナビゲーション(たとえば、履歴を進むおよび戻る)は意図通りには動作しないことがある。
【００１３】
ある実例において、文書の検索は、「アプリの範囲内において」またはアプリ(すなわち、ネイティブアプリケーション)に特有のコンテンツに対して現在実行することが可能である。たとえば、ユニフォームリソースアイデンティファイア(URI)を処理するように適切に構成されているとき、ブラウザは、ネイティブアプリケーションを立ち上げ、ネイティブアプリケーション内において、ユーザに特定のコンテンツページを提供することができる。
【００１４】
典型的な検索エンジンは、ユーザが個々の検索結果の妥当性を判断する際の助けとなる識別テキストの文字列を構築することができる。これはユーザに、コンテンツにリンクされたものは何についてのものかを示すために、太字体、下線付き、および、しばしば強調表示色で提供されることが多いテキストである。これはアンカーテキストに似ているが、アンカーテキストという用語はしばしば、ユーザがリンクに割り当てたテキストに関連付けられる一方、検索結果テキストは、ターゲットページのコンテンツに対して何らかの指標を提供するために、検索エンジンによって識別され、収集されたテキストである。ある実装形態において、検索エンジンは、文書タイトル、検索文字列を含むフレーズ、および、検索結果文書からの他の手掛かりを使用して、検索結果に対する識別文字列を生成することができる。
【００１５】
ネイティブアプリケーションディープリンキングについての1つの問題は、リンクのターゲットは、ブラウザがリンクに対する識別文字列を生成するのをできるようにするテキストまたは他のリソースを含まないことがあるということである。別の問題は、識別文字列が、それ自体、そこからリンクを得る(かつ、リンクを開くために必要な)ネイティブアプリケーションに関する手掛かりを提供しないことがあるということである。その結果、ネイティブアプリケーションディープリンキング検索結果に対する、有益な検索結果ページを構築することが可能ではなくなってきた。
【００１６】
検索結果に対する識別文字列を作成しようとするいくつかの試みは、アプリケーションマーケットからのメタデータを使用してきた。しかし、こうした方法で得られた文字列は、長すぎることが多く、繰り返し、および/または、無関係の細部を含み、十分には明快ではなく、本来なら使用できない。
【００１７】
システムはネイティブアプリケーション検索結果を提供する。本明細書で使用される場合、ネイティブアプリケーションは、ユーザデバイス上のブラウザアプリケーションとは独立して動作する。ネイティブアプリケーションは、ブラウザ内ではなく、特別なユーザデバイスのオペレーティングシステムおよびマシンのファームウェア上で実行するように特別に設計されたアプリケーションである。したがって、ネイティブアプリケーションは、ブラウザ、ブラウザベースのアプリケーション、およびブラウザのレンダリングリソースとは異なる。後者は、インスタンス生成またはレンダリングされるたびごとに、ウェブサーバからダウンロードされたすべてまたは少なくとも一部の要素または命令が必要である。さらに、ブラウザベースのアプリケーションおよびブラウザのレンダリングリソースは、ブラウザ内のすべてのウェブ対応の携帯デバイスによって処理することができ、したがって、ネイティブアプリケーションのようにオペレーティングシステム固有のものではない。さらに、本明細書で使用される場合、ネイティブアプリケーション検索結果は、特定のネイティブアプリケーションに対応する検索結果であり、したがって、選択されるとき、特定のネイティブアプリケーションを呼び出す。
【００１８】
ネイティブアプリケーションに関するデータにインデックス付けを行うために、いくつかの実装形態において、システムは、ユーザデバイス上で動作するオペレーティングシステムをエミュレートするバーチャルマシンをインスタンス生成する。バーチャルマシン内で、システムは、そのオペレーティングシステムに特有のネイティブアプリケーションをインスタンス生成する。ネイティブアプリケーションは、ネイティブアプリケーション内でユーザデバイス上に表示するためのアプリケーションページを生成し、ユーザデバイス上でブラウザアプリケーションとは無関係に動作する。
【００１９】
システムは、バーチャルマシン内で、ネイティブアプリケーションのアプリケーションページにアクセスする。システムは、各アプリケーションページおよび後続の各アプリケーションページに関する様々なメニューおよび選択オプションを探索する、自動的なプロセスによってページにアクセスすることができる。あるいは、システムは、ネイティブアプリケーションの発行者によって指定されたページにアクセスすることができる。
【００２０】
各アプリケーションページに対して、システムは、アプリケーションページのコンテンツおよびアプリケーションページのタイトルを記述するアプリケーションページデータを生成する。アプリケーションページデータによって記述されるコンテンツは、たとえば、ユーザデバイスがアプリケーションページを表示するとき、ユーザデバイスがアプリケーションページ上に表示する、タイトルテキストを含むテキスト、ネイティブアプリケーション内にレンダリングされるであろうアプリケーションページの画像を定める画像データ、アプリケーションページの様々なリストおよびメニューを記述するリスティング/メニューデータ、および、アプリケーションページの他の機能を記述する他のデータを含むことができる。
【００２１】
システムはまた、ネイティブアプリケーションに関するアプリケーションパッケージにアクセスする。いくつかの実装形態において、アプリケーションパッケージは、ネイティブアプリケーションのソフトウェアおよびミドルウェアをデバイスに配布し、インストールするのに使用されるファイルの集合体である。システムは、アプリケーションパッケージファイルを解凍および解釈し、ネイティブアプリケーションに関するアプリケーションアイコンを識別し、各アプリケーションアイコンに対して、アプリケーションがインストールされたとき、アプリケーションアイコンの下に現れるテキスト文字列を識別する。一部のアプリケーションでは、ロケール(国および言語)に基づくなど多くの文字列が存在し、各文字列は、対応する荷物(luggage)にインデックス付けされ、かつ、関連付けられ得る。テキスト文字列によって定義される名前を、本明細書では「アプリケーション表示名」と呼ぶ。アプリケーションアイコン、テキスト文字列、および、アプリケーションパッケージから収集された他のデータも、アプリケーションページデータの一部としてインデックス付けされる。
【００２２】
ネイティブアプリケーション検索結果の生成は、「ページタイトル」と「アプリケーション表示名」の結合された文字列としての結果タイトルの作成を含むことができる。アプリケーションアイコンはまた、ネイティブアプリケーション検索結果のためのタイトルに付加することができる。順序およびコンテンツの変更例も使用することができる。たとえば、
アイコン + [ページタイトル] + " - " + [アプリ表示名];または、
2行サイズのアイコン + [ページタイトル] + " : " + [アプリ表示名]、検索日、動的コンテンツのキャプチャ日;
などである。
【００２３】
要するに、本開示は、各検索結果が、タイトル(アプリ識別子)、テキストの抜粋(ページタイトル)、およびコンテンツへのリンクを含む識別文字列によって簡潔かつ正確に表示される、ネイティブアプリケーションディープリンク検索に対する検索結果を入手するための方法を提供する。関連するアプリに対するアイコンなどさらなる詳細も提供され得る。
【００２４】
アプリケーションページデータにインデックス付けを行うシステムの動作、および、アプリケーションページに対する検索結果の処理を、以下でより詳細に説明する。
【００２５】
図1は、ネイティブアプリケーションに関するアプリケーションページが、インデックス付けされ、検索される環境100の一例のブロック図である。インターネットなどのコンピュータネットワーク102が、リソース発行者ウェブサイト104、アプリケーション発行者106、ユーザデバイス108および検索エンジン110を接続している。
【００２６】
リソース発行者ウェブサイト104は、ドメインに関連付けられ、1つまたは複数の場所の1つまたは複数のサーバによってホスティングされた1つまたは複数のウェブリソース105を含む。一般に、リソース発行者ウェブサイトは、テキスト、画像、マルチメディアコンテンツおよびプログラミングエレメントを含むことができる、ハイパーテキストマークアップ言語(HTML)によってフォーマットされたウェブページの集合体である。各ウェブサイト104は、ウェブサイト104を制御し、管理し、かつ/または所有するエンティティであるコンテンツ発行者によって保守される。
【００２７】
ウェブページリソースは、発行者ウェブサイト104によってネットワーク102を介して提供され得る任意のデータであり、リソースのアドレス、たとえばユニフォームリソースロケータ(URL)を有する。ウェブリソースには2〜3例を挙げると、HTMLページ、画像ファイル、ビデオファイル、音声ファイルおよびフィードソースなどがあり得る。リソースは、埋め込み情報、たとえばメタ情報およびハイパーリンク、および/または埋め込み命令、たとえばクライアントサイドスクリプトを含むことができる。
【００２８】
アプリケーション発行者ウェブサイト106はまた、1つまたは複数のウェブリソース105を含み、またネイティブアプリケーション107を提供することができる。上述のように、ネイティブアプリケーション107は、特定のユーザデバイスのオペレーティングシステムおよびマシンのファームウェア上で実行するように特に設計されたアプリケーションである。
【００２９】
本明細書で使用される場合、「アプリケーションページ」は、ネイティブアプリケーション内の特別の表示環境であり、その中にテキスト、画像などのコンテンツが表示される。アプリケーションページは、特定のネイティブアプリケーションに特有であり、ネイティブアプリケーションは、ユーザデバイス108の特別なオペレーティングシステムに特有である。アプリケーションページは、ネイティブアプリケーション内で生成されかつそれに特有であるという点で、レンダリングされたウェブリソースと異なり、一方、ウェブリソースは、ウェブページリソースが互換性のある任意のブラウザ内にレンダリングすることが可能であり、ユーザデバイスのオペレーティングシステムから独立している。
【００３０】
ユーザデバイス108は、通常、ネットワーク102を介してウェブページリソース105およびネイティブアプリケーション107を要求し、受信することができる。例示のユーザデバイス108は、パーソナルコンピュータ、携帯通信デバイスおよびタブレットコンピュータを含む。
【００３１】
ウェブリソース105およびネイティブアプリケーション107を検索するために、検索エンジン110は、ウェブインデックス112およびアプリケーションインデックス114にアクセスする。ウェブインデックス112は、ウェブリソース105のインデックスであり、これは、たとえば、発行者ウェブサイト104をクローリングすることから作成されたものである。アプリケーションインデックス114は、ネイティブアプリケーション107に関するアプリケーションページのインデックスであり、バーチャルマシン120および以下でより詳細に説明するインデックス付けプロセスを使用して作成される。別個のインデックスとして示されているが、ウェブインデックス112およびアプリケーションインデックス114は、1つのインデックスに結合され得る。
【００３２】
ユーザデバイス108は、検索クエリを検索エンジン110に提出する。各クエリに応答して、検索エンジン110は、ウェブインデックス112およびアプリケーションインデックス114にアクセスして、クエリに関連するコンテンツを識別する。検索エンジン110は、たとえば、検索結果ジェネレータ116を使用することによって、ウェブリソース検索結果およびネイティブアプリケーション検索結果の形式で、それぞれリソースおよびアプリケーションを識別することができる。一度生成されると、検索結果はクエリが受信されたユーザデバイス108に提供される。
【００３３】
ウェブリソース検索結果は、ウェブリソースを識別する検索エンジン110によって生成されたデータであり、特定の検索クエリを満足する情報を提供する。リソースに対するウェブリソース検索結果は、ウェブページのタイトル、リソースから抽出されたテキストの抜粋、およびリソースに対するリソースロケータ、たとえば、ウェブページのURLを含むことができる。
【００３４】
ネイティブアプリケーション検索結果は、ネイティブアプリケーションを指定し、以下でより詳細に説明するように、アプリケーションインデックス114およびウェブインデックス112の検索に応答して生成される。ユーザデバイスにおいて選択されると、ネイティブアプリケーション検索結果によって、ユーザデバイス上にインストールされたネイティブアプリケーションが同期されたコンテンツを要求する。ネイティブアプリケーションは、一度要求されたコンテンツを受信すると、そのコンテンツをネイティブアプリケーションのユーザインタフェース内に表示する。こうした機能は、アプリケーション検索結果内の「ディープリンキング」と呼ばれる。
【００３５】
アプリケーションインデックスに関する、アプリケーションページデータおよびアプリケーションパッケージデータの集合体を、図1、さらに、ネイティブアプリケーションのアプリケーションページデータにインデックス付けを行うためのプロセス200の一例の流れ図である、図2を参照しながら説明する。プロセス200は、データ通信における1つまたは複数のコンピュータのデータ処理装置に実装され得る。このプロセスは、いくつかのアプリケーションページデータを収集するために、バーチャルマシンを使用するものとして記述されているが、プロセスおよびデバイスも使用され得る。
【００３６】
プロセス200は、ユーザデバイス用のオペレーティングシステムをエミュレートするバーチャルマシン120をインスタンス生成する(202)。バーチャルマシン120は、いくつかの実装形態において、オペレーティングシステムの変更バージョンとすることができ、以下でより詳細に説明するように、アプリケーションページからデータを抽出するエクストラクタを含む。
【００３７】
プロセス200は、ユーザデバイス上で表示するためのアプリケーションページをネイティブアプリケーション107内で生成するネイティブアプリケーション107をバーチャルマシン120内でインスタンス生成する。たとえば、バーチャルマシン120は、処理対象の1組のネイティブアプリケーション107の各アプリケーションに対して、ネイティブアプリケーション107のインスタンスを立ち上げることができる。
【００３８】
プロセス200は、ネイティブアプリケーションのアプリケーションページに、バーチャルマシン120内でアクセスする(206)。いくつかの実装形態において、バーチャルマシンは、各アプリケーションページおよび後続の各アプリケーションページに関する様々なメニューおよび選択オプションを探索する、自動的なプロセスによってページにアクセスする。こうした自動的なプロセスは、ネイティブアプリケーション107によって提供される各アプリケーションページを選択することになる決定論的ルーチンに従って、メニューオプションおよびリンクを順次選択することによって達成することができる。あるいは、バーチャルマシン120は、ネイティブアプリケーションの発行者によって指定されたアプリケーションページにアクセスすることができる。たとえば、アプリケーション発行者は、発行者がクローリングされ、アプリケーションインデックス114でインデックス付けされたいと希望するユニフォームリソースアイデンティファイア(URI)の形式で、アプリケーションページ識別子108のリストを提供することができ、特定のネイティブアプリケーション107に関するURIによって参照されるアプリケーションページのみが、アクセスされ、インデックス付けされる。
【００３９】
各アプリケーションページに対して、プロセス200は、アプリケーションページのコンテンツを説明するアプリケーションページデータを生成する(208)。ページのコンテンツは、たとえば、アプリケーションページ上に表示されたテキスト、アプリケーションページ上に表示された画像、他のアプリケーションページまたは他のウェブリソースへのアプリケーションページ上のリンク、およびインデックス付けに適切な他のコンテンツを含むことができる。
【００４０】
いくつかの実装形態において、バーチャルマシン120は、インデックス付けのためのコンテンツデータを抽出するエクストラクタを含む。抽出されたコンテンツデータは、たとえば、ネイティブアプリケーションのレンダリングプロセスに提供されるデータである。レンダリングプロセスでは、ユーザデバイス上に表示するためのデータに基づいて、コンテンツをレンダリングする。エクストラクタを使用することにより、アプリケーションページの様々なコンテンツをより正確に識別することが可能となる。たとえば、テキストエクストラクタ122は、ネイティブアプリケーションのレンダリングプロセスに提供されたテキストデータを抽出する。テキストデータは、アプリケーションページにおいてレンダリングされるテキストを指定する。テキストは、初期化されるか、ラベル付けされるか、または別の方法で、タイトルテキスト、ヘッダテキスト、記事のコンテンツなどとして識別可能である。したがってバーチャルマシン120は、アプリケーションページの画像を処理する、または、ディスプレイのバイナリデータを処理するのではなく、ネイティブアプリケーション107の環境においてレンダリングされる実際のテキストを受信する。
【００４１】
画像エクストラクタ124およびリストエクストラクタ126など、他のエクストラクタも同様に使用することができる。画像エクストラクタ124は、ネイティブアプリケーション107の環境においてレンダリングされる画像の画像データを提供し、リストエクストラクタ126は、ネイティブアプリケーション107の環境においてレンダリングされる、スクロール可能な項目のリストのリストデータを提供する。別のアプリケーションページにリンクする、アプリケーションページ内のリンクを記述するアプリケーションページリンクデータ、ユニフォームリソースロケータによって参照されるウェブリソースにリンクし、選択されるとき、ネイティブアプリケーションとは分離したブラウザ環境において、リソースをレンダリングするブラウザアプリケーションをインスタンス生成する、アプリケーションページ内のリンクを記述するウェブページリンクデータなど、他のデータもまた抽出することができる。
【００４２】
エクストラクタ122、124および126、ならびに他の適切なデータエクストラクタは、特定のオペレーティングシステムのための適切なデータハンドラを使用して、実装することができる。たとえば、Android(登録商標)オペレーティングシステムの場合、エクストラクタ122、124および126は、TextViewオブジェクト、ImageViewオブジェクト、およびListViewオブジェクトをそれぞれ使用することにより実装することができる。バーチャルマシン120はオブジェクトを処理して、たとえば、バーチャルマシンに、レンダリングするために提供された対応するデータにインデックス付けするために記憶させる命令を含むことによって、対応するデータを抽出する。
【００４３】
プロセス200は、アプリケーションパッケージファイルを処理する(210)。たとえば、アプリケーションパッケージを解凍し、分析するように構成されたコンピュータデバイスなどのパッケージプロセッサ130が、アプリケーションパッケージを処理することができる。あるいは、バーチャルマシン120がアプリケーションパッケージを処理することができる。様々なネイティブアプリケーション関連データが、アプリケーションパッケージファイルから収集され、インデックス付けされ得る。たとえば、アプリケーションがインストールされたとき表示されるアイコンなど、アプリケーションアイコンが識別される。アイコンの下に現れるテキスト文字列が識別され、アプリケーション表示名が、このテキスト文字列にセットされる。アプリケーション表示名は、実際のアプリケーション名と異なっていてもよい。
【００４４】
多数のテキスト文字列が存在し、それぞれが特定の言語(またはロケール)に関連するとき、その言語またはロケールはテキスト文字列に関連付けられる。クエリに対するネイティブアプリケーション検索結果を生成するとき、言語またはロケールを使用して、クエリに関連した言語またはロケールに基づいて、テキスト文字列を選択することができる。
【００４５】
アプリケーションパッケージファイルからの他の情報は、探知され、インデックス中に記憶され得る。たとえば、アプリケーションパッケージ中のファイルのリストが生成され、ファイルサイズ、バージョンレベル、および他の記述データも探知され得る。
【００４６】
プロセス200は、ネイティブアプリケーションに関するアプリケーションページデータに、検索エンジンによって検索可能なインデックスでインデックス付けを行う(212)。たとえば、インデクサ140は、各アプリケーションページのURIおよびネイティブアプリケーション107の識別子について、アプリケーションページのコンテンツを記述するアプリケーションページデータにインデックス付けを行う。インデックス付けされたデータは、アプリケーションインデックス114に記憶される。様々な適切なインデックス付けのプロセスが、データにインデックス付けを行うために使用され得る。たとえば、アプリケーションインデックス114は、各ネイティブアプリケーション107およびURIのペアに関して、アプリケーションページデータを記述するデータ行を含むことができる。特定のデータベースおよび使用されるインデックス付けスキームは、たとえば、検索エンジン内で使用される検索エンジンアルゴリズムによって左右されることがある。
【００４７】
いくつかの状況において、特定のネイティブアプリケーションページは、異なるコンテンツに対応する異なるURIを有することができる。たとえば、株式相場アプリケーションは、すべての株式相場に共通のURIの第1の部分、および、アプリケーションページ上に表示されることになる特定の1つまたは複数の相場に対する名前と値の組(name-value pair)を含む、クエリパラメータなどの、URIの第2の部分を有することができる。いくつかの実装形態において、一意のURIのそれぞれの特定のインスタンスは、アプリケーションインデックス114におけるエントリを構成する。
【００４８】
アプリケーションインデックス114の生成後に、検索エンジン110はアプリケーションインデックス114にアクセスして、クエリに応答可能なネイティブアプリケーションを識別することができる。いくつかの実装形態において、アプリケーションは、ネイティブアプリケーション検索結果によって識別することができる。図3は、ネイティブアプリケーション検索結果を生成するためのプロセス300の一例の流れ図であり、検索エンジン110の検索結果ジェネレータ116中に実装される。
【００４９】
プロセス300は、クエリに応答するものとして、ネイティブアプリケーションのアプリケーションページを識別するデータを受信する(302)。たとえば、検索エンジン110は、クエリに応答するように特定のネイティブアプリケーションに関する特定のアプリケーションページを定め、かつ、そのアプリケーションページに関するネイティブアプリケーション検索結果が生成されることを示すデータを提供することができる。データは、ネイティブアプリケーションページに関するデータを含む、インデックス114中の行またはエントリを参照することができる。
【００５０】
プロセス300は、インデックスから、アプリケーション名、アプリケーションアイコン、アプリケーションページタイトル、および、アプリケーションページのコンテンツを選択する(304)。たとえば、検索結果ジェネレータは、検索エンジンからのデータを使用して、インデックス付けされたアプリケーション名、アプリケーションアイコン、アプリケーションページタイトル、および、アプリケーションページのコンテンツにアクセスする。選択されるデータは、検索クエリ、および、検索エンジン110によって指定することができる特定のデータによって決まってもよい。
【００５１】
プロセス300は、選択されたデータを使用して、ネイティブアプリケーション検索結果を生成する(306)。たとえば、図4は、プロセス300によって生成された、ネイティブアプリケーション検索結果400の図である。図4から明らかなように、検索結果ジェネレータは、ネイティブアプリケーション検索結果400中に第1の画像記述子として、ネイティブアプリケーションに関するアプリケーションアイコン402を含めた。たとえば、スクリーンショットのサムネイルなど、他の画像も選択され得る。検索結果は、たとえば、アプリケーションページのURI403を含む。URIは目で見ることができてもよく、または、検索結果400に埋め込まれてもよい。
【００５２】
また、ネイティブアプリケーション検索結果400中に、第1のテキスト記述子として、アプリケーション表示名404が含まれている。アプリケーション表示名は、たとえば、アプリケーションがユーザデバイス上にインストールされるとき、アイコン402とともに表示される名前とすることができる。
【００５３】
いくつかの実装形態において、ネイティブアプリケーション検索結果における第2のテキスト記述子として、URI403によって参照されるアプリケーションページ名のアプリケーションページ名406。アプリケーションページ名406は、図4に示すように、アプリケーション表示名404と連結、または結合され得る。任意選択として、第1のテキスト記述子および第2のテキスト記述子を整形する表示は、異なる記述子タイプを強調するために異なるものとすることができる。
【００５４】
アプリケーションページデータ上に表示され、次いで、アプリケーションページが表示されるコンテンツ408など他のデータも、第3のテキスト記述子として含まれ得る。
【００５５】
プロセス300は、ユーザデバイスにネイティブアプリケーション検索結果を提供する(308)。ユーザデバイスにおいて受信すると、ユーザデバイスは、ユーザにネイティブアプリケーション検索結果400を表示する。いくつかの実装形態において、検索結果400を選択することにより、ネイティブアプリケーションが、検索クエリに関連するコンテンツを含むアプリケーションページのインスタンスを立ち上げ、生成する。たとえば、ネイティブアプリケーションExample App Titleがユーザデバイス上にインストールされたとすると、検索結果400を選択することにより、ネイティブアプリケーションが、ページタイトル406およびコンテンツ408に対応するアプリケーションページを立ち上げ、生成する。
【００５６】
例示のネイティブアプリケーション検索結果400は、アイコン402、アプリケーション表示名404、およびページタイトル406を含んではいるものの、これらの要素のすべてが、ネイティブアプリケーション検索結果に含まれる必要があるというわけではない。
【００５７】
主題に関する実施形態および本明細書に記載の動作は、デジタル電子回路、または、本明細書で開示した構造体およびその構造的同等物を含む、コンピュータソフトウェア、ファームウェアもしくはハードウェア、またはそれらのうちの1つまたは複数の組合せによって実装され得る。本明細書に記載の主題に関する実施形態は、データ処理装置によって実行されるかまたはそれらの動作を制御する、コンピュータ記憶媒体上に符号化された1つまたは複数のコンピュータプログラム、すなわちコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。別法として、またはこれに加えて、プログラム命令は、データ処理装置によって実行するために、適切な受信装置に送信する情報を符号化するために生成される人工的に生成された伝搬信号、たとえば、機械生成された電気的、光学的または電磁的信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶回路基板、ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、またはそれらのうちの1つもしくは複数の組合せとすることができ、またはそれらに含まれてもよい。さらに、コンピュータ記憶媒体は伝搬信号ではないのに対して、コンピュータ記憶媒体は、人工的に生成された伝搬信号中に符号化されたコンピュータプログラム命令の発信元または宛先とすることができる。コンピュータ記憶媒体もまた、1つまたは複数の別個の物理的コンポーネントまたは媒体(たとえば、複数枚のCD、ディスク、または他の記憶デバイス)とすることができるか、またはそれらに含まれていてもよい。
【００５８】
本明細書に記載の動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたまたは他のソースから受信されたデータに対して、データ処理装置によって実行された動作として実装され得る。
【００５９】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システムオンチップ、またはこれらの複数もしくは組合せを含む、あらゆる種類のデータ処理用の装置、デバイスおよびマシンを包含する。装置はまた、ハードウェアに加えて、当該のコンピュータプログラム用の実行環境を作成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、バーチャルマシン、またはそれらのうちの1つもしくは複数の組合せ、を構成するコードを含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティング、およびグリッドコンピューティングインフラストラクチャなど様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。
【００６０】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)は、コンパイル型またはインタープリタ型言語、宣言型または手続き型言語を含む任意のプログラミング言語形式で書くことができ、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチン、オブジェクト、もしくはコンピューティング環境で使用するのに適切な他のユニットとしての形式を含む、任意の形式において展開することができる。コンピュータプログラムは、ファイルシステム中のファイルに対応してもよいが、対応する必要はない。プログラムは、当該プログラムに割り当てられた単一ファイル、または複数の協調ファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)中の他のプログラムまたはデータ(たとえば、マークアップ言語文書中に記憶された1つまたは複数のスクリプト)を保持するファイルの一部に記憶され得る。コンピュータプログラムは、1つのサイトに配置された、または、複数のサイトにわたって分散され通信ネットワークによって相互に接続された、1つのコンピュータまたは複数のコンピュータ上で実行するために展開することができる。
【００６１】
本明細書に記載のプロセスフローおよび論理フローは、1つまたは複数のプログラマブルプロセッサが、1つまたは複数のコンピュータプログラムを実行して、入力データに作用し出力を生成することによってアクションを行うことにより実施され得る。コンピュータプログラムを実行するのに適切なプロセッサとしては、一例として、汎用マイクロプロセッサおよび特殊用途のマイクロプロセッサの両者、ならびに、任意の種類のデジタルコンピュータのうちのいずれか1つまたは複数のプロセッサが挙げられる。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリまたは両者から、命令およびデータを受け取る。コンピュータの重要な要素は、命令に従ってアクションを実行するためのプロセッサ、ならびに、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば、磁気ディスク、光磁気ディスク、または光ディスクなどデータを記憶するための1つまたは複数の大量記憶デバイスを含むか、または、それとの間でデータを受け取り、送信し、またはその両方を行うために、動作可能なようにそれに結合される。しかし、コンピュータはこうしたデバイスを有する必要はない。さらに、コンピュータは、ほんの少し名前を挙げるだけでも、たとえば、携帯電話、携帯情報端末(PDA)、携帯オーディオプレーヤもしくは携帯ビデオプレーヤ、ゲーム機、全地球測位システム(GPS)受信機、または携帯記憶デバイス(たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブ)など、別のデバイスに埋め込むことができる。コンピュータプログラム命令およびデータを記憶するのに適切なデバイスとしては、一例として、たとえば、EPROM、EEPROMなど半導体メモリデバイス、ならびにフラッシュメモリデバイス、たとえば、内蔵ハードディスクまたはリムーバブルディスクなど磁気ディスク、光磁気ディスク、ならびに、CD-ROMおよびDVD-ROMディスクを含む、あらゆる形式の不揮発性メモリ、メディアおよびメモリデバイスが挙げられる。プロセッサおよびメモリは、特殊目的の論理回路によって追加され、またはその中に組み込むことができる。
【００６２】
ユーザとの対話操作を提供するために、本明細書に記載の本主題の実施形態は、情報をユーザに表示するための、たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタなど表示デバイス、ならびに、ユーザがそれによって入力をコンピュータに提供することができる、キーボードおよびたとえばマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。同様に、ユーザとの対話操作を提供するために、他の種類のデバイスも使用することができる。たとえば、ユーザに提供されるフィードバックは、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形式の感覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形式で受け取ることができる。さらに、コンピュータは、たとえば、ウェブブラウザから受信した要求に応答して、ウェブページをユーザのユーザデバイス上のウェブブラウザに送信するなど、ユーザによって使用されるデバイスに文書を送信し、そこから文書を受信することによってユーザと対話することができる。
【００６３】
本明細書に記載の本主題の実施形態は、たとえば、データサーバとしてのバックエンドコンポーネント、または、たとえばアプリケーションサーバなどミドルウェアコンポーネント、または、たとえば、それを通してユーザが本明細書に記載の本主題の実装形態と対話することができるグラフィカルユーザインタフェースもしくはウェブブラウザを有するユーザコンピュータなどフロントエンドコンポーネント、または、1つまたは複数のこれらのバックエンド、ミドルウェア、もしくはフロントエンドコンポーネントのうちの任意の組合せを含む、コンピューティングシステムに実装され得る。システムのコンポーネントは、たとえば、通信ネットワークなどデジタルデータ通信の任意の形式または媒体によって、相互に接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、および、ピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)が挙げられる。
【００６４】
コンピューティングシステムは、ユーザおよびサーバを含むことができる。ユーザおよびサーバは、一般的には相互に離れており、通常は通信ネットワークを介して対話する。ユーザとサーバの関係は、それぞれのコンピュータ上で実行し、相互にユーザ/サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態において、サーバはデータ(たとえば、HTMLページ)をユーザデバイスに送信する(たとえば、ユーザデバイスと対話するユーザにデータを表示する、および、ユーザデバイスと対話するユーザからユーザ入力を受け取る目的で)。ユーザデバイスにおいて生成されるデータ(たとえば、ユーザ対話の結果)は、サーバにおいてユーザデバイスから受信され得る。
【００６５】
本明細書は、多くの特定の実装形態の詳細を含んでいるが、これらは、任意の発明の範囲、または特許請求の範囲を制限するものと解釈されるべきではなく、特定の発明の特定の実施形態に固有の特徴を説明したものと解釈されるべきである。本明細書において、別個の実施形態との関連で説明されたある特徴も、1つの実施形態において組み合わせて実装され得る。反対に、1つの実施形態との関連で説明された様々な特徴も、別個の複数の実施形態、または任意の適切な副結合において実装され得る。さらに、特徴が上にてある組合せにおいて動作すると説明され、そのように最初は特許請求され得るとしても、特許請求された組合せからの1つまたは複数の特徴は、いくつかの場合には組合せから実行され、その特許請求された組合せは、副結合または副結合の変形を対象とすることができる。
【００６６】
同様に、動作は図面において特定の順序で記載されているが、望ましい結果を達成するために、こうした動作が示された特定の順序または順番通りに実行される、または示されたすべての動作が実行されることが必要であると考えるべきではない。ある状況においては、マルチタスキングおよび並列処理が有利なことがある。さらに、上述の実施形態において、様々なシステムコンポーネントの区別は、すべての実施形態においてこうした区別が必要であると理解すべきではなく、説明されたプログラムコンポーネントおよびシステムは、一般に、1つのソフトウェア製品に共に統合され、または複数のソフトウェア製品にパッケージ化され得ると理解されたい。
【００６７】
上述のとおり、本主題の特定の実施形態を説明してきた。他の実施形態は、以下の特許請求の範囲内にある。いくつかの場合において、特許請求の範囲で述べられるアクションは、異なる順序で実行することができ、なお望ましい結果を達成することができる。さらに、添付の図面に記載したプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序または順番を必要とはしない。ある実装形態においては、マルチタスキングおよび並列処理が有利なことがある。
【符号の説明】
【００６８】
100  例示の環境、環境
102  コンピュータネットワーク
104  発行者ウェブサイト
105  ウェブリソース
106  アプリケーション発行者
107  ネイティブアプリケーション
108  ユーザデバイス、アプリケーションページ識別子
110  検索エンジン
112  ウェブインデックス
114  アプリケーションインデックス
116  ウェブインデックス、検索結果ジェネレータ
120  バーチャルマシン
122  画像テキストエクストラクタ
124  画像エクストラクタ
126  リストエクストラクタ
130  パッケージプロセッサ
140  インデクサ
200  プロセス
300  プロセス
400  ネイティブアプリケーション検索結果
402  アプリケーションアイコン
403  URI
404  アプリケーション表示名
406  アプリケーションページ名、ページタイトル
408  コンテンツ
【図１】
0006363738.tif 000002
【図２】
0006363738.tif 000003
【図３】
0006363738.tif 000004
【図４】
0006363738.tif 000005