図面 (/)

技術 バックグラウンドにおけるネイティブアプリケーションの事前インスタンス化

出願人 グーグルエルエルシー
発明者 ジェヒョン・ヨムドン・ハ・リジョンホ・チェ
出願日 2016年11月15日 (2年1ヶ月経過) 出願番号 2018-517190
公開日 2018年11月22日 (1ヶ月経過) 公開番号 2018-534670
状態 特許登録済
技術分野 検索装置 ストアードプログラム
主要キーワード ポータブルストレージデバイス 物理コンポーネント ユーザ履歴データ モバイルオーディオ 順序位置 ロジックフロー 構造的均等物 コンピューティングモデル
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年11月22日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題・解決手段

検索結果から1つまたは複数のネイティブアプリケーションディープリンクを選択し、選択された各ネイティブアプリケーションディープリンクについて、ネイティブアプリケーションディープリンクが対応しているネイティブアプリケーションのバックグラウンドインスタンスインスタンス化し、バックグラウンドアンロードイベントの発生に応じて、ネイティブアプリケーションディープリンクからインスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスを決定し、インスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスの各々を終了するための方法、システム、および装置である。

概要

背景

インターネットは、多種多様な情報へのアクセスを提供している。例えば、デジタル画像ファイルビデオおよび/またはオーディオファイル、ならびに特定のテーマまたは特定のニュース記事に関するウェブページリソースが、インターネットを介してアクセス可能である。

さらに、タブレットコンピュータおよびスマートフォン出現に伴い、ウェブページリソースの使用によって支援される同一の機能の動作を支援するネイティブアプリケーションが、今日では数多く提供されている。加えて、ゲームおよび他のアプリケーションなどといった、そのような同期コンテンツを伴うウェブサイトを有していないネイティブアプリケーションも、タブレットコンピュータおよびスマートフォン上で非常に人気を博している。それゆえ、今日では検索システムも、これらのネイティブアプリケーションの検索を支援している。

そのプロセスによって検索システムがネイティブアプリケーションに関する情報を収集する1つのプロセスは、ネイティブアプリケーションのための「ディープリンク」にアクセスすることによるものである。ディープリンクは、ネイティブアプリケーションの特定の環境インスタンスを指定する命令であり、ユーザデバイスにおいて選択されると指定のネイティブアプリケーションの環境インスタンスをインスタンス化するようにネイティブアプリケーションにさせるように構成される。ネイティブアプリケーションは、ユーザデバイス上のネイティブアプリケーション内における表示のための環境インスタンスを生成する。

概要

検索結果から1つまたは複数のネイティブアプリケーションディープリンクを選択し、選択された各ネイティブアプリケーションディープリンクについて、ネイティブアプリケーションディープリンクが対応しているネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化し、バックグラウンドアンロードイベントの発生に応じて、ネイティブアプリケーションディープリンクからインスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスを決定し、インスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスの各々を終了するための方法、システム、および装置である。

目的

アプリケーションパブリッシャウェブサイト106は、1つまたは複数のウェブリソース105も含み得るし、ネイティブアプリケーション107も提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

データ処理装置によって行われるコンピュータ実施方法であって、前記方法は、検索結果のセットを受信するステップであって、前記セットは、各々がネイティブアプリケーションインスタンスインスタンス化するように構成されたネイティブアプリケーションディープリンクを含む1つまたは複数の検索結果を含み、ネイティブアプリケーションは、前記ネイティブアプリケーション内にユーザデバイス上での表示のための環境インスタンスを生成し、前記ネイティブアプリケーションは、前記ユーザデバイス上で動作するブラウザアプリケーションとは独立して動作する、ステップと、検索結果についてのユーザ選択に先立って、1つまたは複数の前記検索結果からネイティブアプリケーションディープリンクを選択するステップと、選択された各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化するステップと、バックグラウンドアンロードイベントの発生に応じて、前記ネイティブアプリケーションディープリンクからインスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立ってフォアグラウンドの状態にされなかった前記ネイティブアプリケーションのバックグラウンドインスタンスを決定するステップと、インスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立って前記フォアグラウンドの状態にされなかった前記ネイティブアプリケーションの前記バックグラウンドインスタンスの各々を終了するステップとを含む、コンピュータ実施方法。

請求項2

ネイティブアプリケーションディープリンクを有する検索結果についてのユーザ選択を受信するステップと、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションがバックグラウンドインスタンスにインスタンス化されていたと決定し、それに応じて、バックグラウンドインスタンスにインスタンス化された前記ネイティブアプリケーションをフォアグラウンドインスタンスに移行させるステップとをさらに含む、請求項1に記載のコンピュータ実施方法。

請求項3

各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションに対応する一意な識別子を生成するステップをさらに含み、選択された各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションの前記バックグラウンドインスタンスをインスタンス化するステップは、前記一意な識別子を使用して前記バックグラウンドインスタンスをインスタンス化するステップを含む、請求項1または2に記載のコンピュータ実施方法。

請求項4

前記ネイティブアプリケーションの複数のインスタンスをサポートする各ネイティブアプリケーションについて、一意な識別子の各々を前記ネイティブアプリケーションの対応する一意なインスタンスと関連付けするステップをさらに含む、請求項3に記載のコンピュータ実施方法。

請求項5

前記バックグラウンドインスタンスにインスタンス化された前記ネイティブアプリケーションをフォアグラウンドインスタンスに移行させるステップは、前記ネイティブアプリケーションの前記一意なインスタンスのみを前記フォアグラウンドインスタンスに移行させるステップを含む、請求項4に記載のコンピュータ実施方法。

請求項6

前記検索結果についてのユーザ選択に先立って、前記検索結果からネイティブアプリケーションディープリンクを選択するステップは、前記ネイティブアプリケーションの単一のインスタンスのみをサポートするネイティブアプリケーションに関する単一のネイティブアプリケーションディープリンクのみを選択するステップを含む、請求項1から5のいずれか一項に記載の方法。

請求項7

前記検索結果についてのユーザ選択に先立って、前記検索結果からネイティブアプリケーションディープリンクを選択するステップは、検索結果のうちの適切なサブセットからネイティブアプリケーションディープリンクのみを選択するステップであって、前記適切なサブセット内の各検索結果は、ランキング閾値を満たす、ステップを含む、請求項1から6のいずれか一項に記載の方法。

請求項8

前記ランキング閾値は、検索結果の最小の順序位置クエリに関する最小関連性スコア、および前記ネイティブアプリケーションに関するユーザプリファレンスのうちの少なくとも1つに基づく、請求項7に記載の方法。

請求項9

前記バックグラウンドアンロードイベントは、前記ネイティブアプリケーションの前記バックグラウンドインスタンスの前記インスタンス化から測定されたタイムアウト期間満了において発生する、または、前記バックグラウンドアンロードイベントは、前記検索結果のセットが表示されるページのアンロード時に発生する、請求項1から8のいずれか一項に記載の方法。

請求項10

ステムであって、データ処理装置と、前記データ処理装置によって実行可能であり、実行時に、前記データ処理装置に、検索結果のセットを受信するステップであって、前記セットは、各々がネイティブアプリケーションのインスタンスをインスタンス化するように構成されたネイティブアプリケーションディープリンクを含む1つまたは複数の検索結果を含み、ネイティブアプリケーションは、前記ネイティブアプリケーション内にユーザデバイス上での表示のための環境インスタンスを生成し、前記ネイティブアプリケーションは、前記ユーザデバイス上で動作するブラウザアプリケーションとは独立して動作する、ステップと、検索結果についてのユーザ選択に先立って、1つまたは複数の前記検索結果からネイティブアプリケーションディープリンクを選択するステップと、選択された各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化するステップと、バックグラウンドアンロードイベントの発生に応じて、前記ネイティブアプリケーションディープリンクからインスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立ってフォアグラウンドの状態にされなかった前記ネイティブアプリケーションのバックグラウンドインスタンスを決定するステップと、インスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立って前記フォアグラウンドの状態にされなかった前記ネイティブアプリケーションの前記バックグラウンドインスタンスの各々を終了するステップとを含む動作を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体に記憶されている、ソフトウェアとを含む、システム。

請求項11

前記動作は、ネイティブアプリケーションディープリンクを有する検索結果についてのユーザ選択を受信するステップと、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションがバックグラウンドインスタンスにインスタンス化されていたと決定し、それに応じて、バックグラウンドインスタンスにインスタンス化された前記ネイティブアプリケーションをフォアグラウンドインスタンスに移行させるステップとをさらに含む、請求項10に記載のシステム。

請求項12

前記動作は、各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションに対応する一意な識別子を生成するステップをさらに含み、選択された各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションの前記バックグラウンドインスタンスをインスタンス化するステップは、前記一意な識別子を使用して前記バックグラウンドインスタンスをインスタンス化するステップを含む、請求項10または11に記載のシステム。

請求項13

前記動作は、前記ネイティブアプリケーションの複数のインスタンスをサポートする各ネイティブアプリケーションについて、一意な識別子の各々を前記ネイティブアプリケーションの対応する一意なインスタンスと関連付けるステップをさらに含む、請求項12に記載のシステム。

請求項14

前記命令は、前記データ処理装置に、前記検索結果についてのユーザ選択に先立って、検索結果のうちの適切なサブセットからネイティブアプリケーションディープリンクのみを選択することによって前記検索結果からネイティブアプリケーションディープリンクを選択させ、前記適切なサブセット内の各検索結果は、ランキング閾値を満たす、請求項14に記載のシステム。

請求項15

前記ランキング閾値は、検索結果の最小の順序位置、クエリに関する最小関連性スコア、および前記ネイティブアプリケーションに関するユーザプリファレンスのうちの少なくとも1つに基づく、請求項14に記載のシステム。

請求項16

コンピュータプログラムで符号化されたコンピュータ記憶媒体であって、前記プログラムは、データ処理装置によって実行されると、前記データ処理装置に、検索結果のセットを受信するステップであって、前記セットは、各々がネイティブアプリケーションのインスタンスをインスタンス化するように構成されたネイティブアプリケーションディープリンクを含む1つまたは複数の検索結果を含み、ネイティブアプリケーションは、前記ネイティブアプリケーション内にユーザデバイス上での表示のための環境インスタンスを生成し、前記ネイティブアプリケーションは、前記ユーザデバイス上で動作するブラウザアプリケーションとは独立して動作する、ステップと、検索結果についてのユーザ選択に先立って、1つまたは複数の前記検索結果からネイティブアプリケーションディープリンクを選択するステップと、選択された各ネイティブアプリケーションディープリンクについて、前記ネイティブアプリケーションディープリンクが対応している前記ネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化するステップと、バックグラウンドアンロードイベントの発生に応じて、前記ネイティブアプリケーションディープリンクからインスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立ってフォアグラウンドの状態にされなかった前記ネイティブアプリケーションのバックグラウンドインスタンスを決定するステップと、インスタンス化され前記バックグラウンドアンロードイベントの前記発生に先立って前記フォアグラウンドの状態にされなかった前記ネイティブアプリケーションの前記バックグラウンドインスタンスの各々を終了するステップとを含む動作を行わせる命令を含む、コンピュータ記憶媒体。

技術分野

背景技術

0002

インターネットは、多種多様な情報へのアクセスを提供している。例えば、デジタル画像ファイルビデオおよび/またはオーディオファイル、ならびに特定のテーマまたは特定のニュース記事に関するウェブページリソースが、インターネットを介してアクセス可能である。

0003

さらに、タブレットコンピュータおよびスマートフォン出現に伴い、ウェブページリソースの使用によって支援される同一の機能の動作を支援するネイティブアプリケーションが、今日では数多く提供されている。加えて、ゲームおよび他のアプリケーションなどといった、そのような同期コンテンツを伴うウェブサイトを有していないネイティブアプリケーションも、タブレットコンピュータおよびスマートフォン上で非常に人気を博している。それゆえ、今日では検索システムも、これらのネイティブアプリケーションの検索を支援している。

0004

そのプロセスによって検索システムがネイティブアプリケーションに関する情報を収集する1つのプロセスは、ネイティブアプリケーションのための「ディープリンク」にアクセスすることによるものである。ディープリンクは、ネイティブアプリケーションの特定の環境インスタンスを指定する命令であり、ユーザデバイスにおいて選択されると指定のネイティブアプリケーションの環境インスタンスをインスタンス化するようにネイティブアプリケーションにさせるように構成される。ネイティブアプリケーションは、ユーザデバイス上のネイティブアプリケーション内における表示のための環境インスタンスを生成する。

課題を解決するための手段

0005

本明細書は、ネイティブアプリケーションを事前インスタンス化するディープリンクが検索結果のセットに提示される際に、バックグラウンドにネイティブアプリケーションを事前インスタンス化することに関連する技術を説明している。

0006

一般に、本明細書において説明した発明特定事項革新的な態様の1つは、結果のセット、例えば、検索結果のセットを受信することであって、セットは、各々がネイティブアプリケーションのインスタンスをインスタンス化するネイティブアプリケーションディープリンクを含む結果を含み、ネイティブアプリケーションは、ネイティブアプリケーション内にユーザデバイス上での表示のための環境インスタンスを生成し、ネイティブアプリケーションは、ユーザデバイス上で動作するブラウザアプリケーションとは独立して動作する、受信することをし、結果についてのユーザ選択に先立って、結果からネイティブアプリケーションディープリンクを選択し、ユーザ選択に先立った選択において選択されたネイティブアプリケーションディープリンクの各々に関して、ネイティブアプリケーションディープリンクが対応しているネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化し、バックグラウンドアンロードイベントの発生に応じて、ネイティブアプリケーションディープリンクからインスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスを決定し、インスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスの少なくとも一部好ましくは各々を終了するアクションを含む、方法において具現化され得る。本態様の他の実施形態は、対応するシステム、装置、および、コンピュータストレージデバイス上に符号化された方法のアクションを行うように構成されるコンピュータプログラムを含む。本態様の別の実施形態は、データ処理装置によって実行されるとデータ処理装置に発明の方法を含む動作を行うようにさせる命令を含む、コンピュータ可読記憶媒体を含む。

0007

本明細書において説明した発明特定事項の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するために実施され得る。本システムは、ネイティブアプリケーションのバックグラウンド事前インスタンス化を有効にする。バックグラウンド事前インスタンス化は、ユーザデバイスを使用するユーザのアビリティを邪魔または阻害することなく行われる。ネイティブアプリケーションの事前インスタンス化は、ユーザが特定のネイティブアプリケーションに対応するディープリンクを選択する際のユーザにとっての遅延時間を低減する。さらに、ネイティブアプリケーションの検索結果に関して事前インスタンス化され選択されなかったネイティブアプリケーションの自動終了は、ユーザが介入することなく、ユーザデバイスのリソースを自動的に開放している。そのため、アプリケーションが事前インスタンス化されるようにするためのネイティブアプリケーションの検索結果をユーザが選択する際に生じる遅延の低減は、ユーザが検索環境から離脱する操作をした後にバックグラウンドにインスタンス化された多数のネイティブアプリケーションがそのままになってしまうことに付随するコストをもたらすことはない。

0008

本明細書において説明した発明特定事項の1つまたは複数の実施形態の詳細を以下の添付の図面および説明において記載している。他の特徴、態様、および発明特定事項の利点は、説明、図面、および特許請求の範囲から明らかとなろう。

図面の簡単な説明

0009

ネイティブアプリケーションが、バックグラウンドにインスタンス化され、フォアグラウンドの状態にされる、例示的な環境のブロック図である。
ネイティブアプリケーション検索結果からネイティブアプリケーションを事前インスタンス化するように構成されるユーザデバイスのブロック図である。
ネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化するためのプロセスを説明しているフロー図である。

実施例

0010

様々な図面における類似の参照番号および符号は、類似の要素を示す。

0011

システムは、検索クエリに対応する検索結果のセットを受信する。検索結果のセット内には、ディープリンクがある。システムは、ディープリンクの存在を認識し、ユーザデバイスのバックグラウンドに、検索結果内の各ディープリンクに対応しているネイティブアプリケーションを事前インスタンス化する。本明細書で使用しているように、ネイティブアプリケーションは、ネイティブアプリケーションの環境内にユーザデバイス上での表示のための環境インスタンスを生成し、ユーザデバイス上でブラウザアプリケーションとは独立して動作する。ネイティブアプリケーションは、特定のユーザデバイスオペレーティングシステムおよびマシンファームウェア上で動作するように特に意図されているアプリケーションである。そのため、ネイティブアプリケーションは、ブラウザベースのアプリケーションおよびブラウザレンダリングされるリソースとは異なる。後者については、それらがインスタンス化またはレンダリングされるたびに、ウェブサーバからダウンロードされる要素または命令のすべてまたは少なくとも一部を必要とする。さらに、ブラウザベースのアプリケーションおよびブラウザでレンダリングされるリソースは、ブラウザ内ウェブ対応モバイルデバイスによって処理され得るため、オペレーティングシステム固有のものではない。

0012

ディープリンクは、ネイティブアプリケーションの特定の環境インスタンスを指定する命令であり、ユーザデバイスにおいて選択されると指定のネイティブアプリケーションの環境インスタンスをインスタンス化するようにネイティブアプリケーションにさせるように構成される。ネイティブアプリケーションは、ユーザデバイス上でのネイティブアプリケーション内における表示のための環境インスタンスを生成する。例えば、ディープリンクは、ゲーム環境のための選択メニュー、または、新規イトフォーラムなどといったウェブサイトからのコンテンツ、または、料理アプリケーションのための特定のレシピなどを指定し得る。

0013

本明細書におけるシステムおよび方法は、ネイティブアプリケーションをオープンすることを望んでいるユーザのための遅延時間を低減するために、ネイティブアプリケーションの環境インスタンスの事前インスタンス化を行っている。ある実施形態においては、システムは、1つまたは複数のディープリンクを含む検索結果のセットを受信したことに応じて、検索結果内に提示されている1つまたは複数のディープリンクを識別し、1つまたは複数のディープリンクに対応するネイティブアプリケーションのための環境インスタンスを事前起動または事前インスタンス化する。ネイティブアプリケーションが事前インスタンス化される際には、ユーザが事前インスタンス化に気づくことがないように、ユーザデバイスのバックグラウンドに起動される。

0014

いくつかの実施形態においては、ユーザがディープリンクを検索結果から選択すると、ネイティブアプリケーションの事前インスタンス化された環境インスタンスはフォアグラウンドの状態にされ、それ以外の事前インスタンス化された環境インスタンスは終了される。他の実施形態においては、システムがアンロードイベントを開始すると、ネイティブアプリケーションのすべての事前インスタンス化された環境インスタンスは終了される。

0015

これらの特徴および追加の特徴を以下に詳細に説明する。

0016

図1Aは、ネイティブアプリケーションが、バックグラウンドにインスタンス化され、フォアグラウンドの状態にされる、例示的な環境100のブロック図である。インターネットなどのコンピュータネットワーク102は、リソースパブリッシャウェブサイト104、アプリケーションパブリッシャ106、ユーザデバイス108、および検索システム110を接続している。

0017

リソースパブリッシャウェブサイト104は、ドメインに関連付けられた1つまたは複数のウェブリソース105を含み、1つまたは複数のロケーションにある1つまたは複数のサーバによってホストされている。一般的に、リソースパブリッシャウェブサイトは、テキスト、画像、マルチメディアコンテンツ、およびプログラミング要素を含み得る、ハイパーテキストマークアップ言語(HTML)で構成されているウェブページのコレクションである。各ウェブサイト104は、ウェブサイト104を制御、管理、および/または所有しているエンティティであるコンテンツパブリッシャによって維持される。

0018

ウェブページリソースは、ネットワーク102を介してパブリッシャウェブサイト104によって提供され得るとともに、リソースアドレス、例えば、ユニフォームリソースロケータ(URL)を有する任意のデータである。ウェブリソースは、数例挙げるとすれば、HTMLページ画像ファイルビデオファイル、オーディオファイル、およびフィードソースであり得る。リソースは、例えば、メタ情報およびハイパーリンクといった、埋め込み情報、および/または、例えば、クライアントサイドスクリプトといった、埋め込み命令を含み得る。

0019

アプリケーションパブリッシャウェブサイト106は、1つまたは複数のウェブリソース105も含み得るし、ネイティブアプリケーション107も提供する。上述したように、ネイティブアプリケーション107は、特定のユーザデバイスオペレーティングシステムおよびマシンファームウェア上で動作するように特に意図されているアプリケーションである。本明細書において使用しているように、「環境インスタンス」とは、テキスト、画像などといったコンテンツが表示される、ネイティブアプリケーション内の表示環境のことである。環境インスタンスは、特定のネイティブアプリケーションに固有のものであり、ネイティブアプリケーションは、ユーザデバイス108aの特定のオペレーティングシステムに固有のものである。環境インスタンスがネイティブアプリケーション内に生成されるとともにネイティブアプリケーションに固有のものである一方で、ウェブリソースがウェブページリソースと互換性のある任意のブラウザ内にレンダリングされ得る点で、環境インスタンスは、レンダリングされるウェブリソースとは異なり、ユーザデバイスのオペレーティングシステムとは独立している。

0020

ユーザデバイス108aは、ユーザの制御下にある電子デバイスである。ユーザデバイス108aは、ネットワーク102を介してウェブページリソース105およびネイティブアプリケーション107を要求および受信することが一般的に可能である。例示的なユーザデバイス108aは、パーソナルコンピュータモバイル通信デバイス、およびタブレットコンピュータを含む。

0021

ウェブリソース105およびネイティブアプリケーション107を検索するために、検索システム110は、ウェブインデックス112およびアプリケーションインデックス114にアクセスする。ウェブインデックス112は、例えば、パブリッシャウェブサイト104をクローリングすることで構築された、ウェブリソース105のインデックスである。アプリケーションインデックス114は、ネイティブアプリケーション107のための環境インスタンスのインデックスであり、ネイティブアプリケーションのアプリケーションインスタンス122からクローリングされたデータを受信するインデクサ116を使用して構築される。別個のインデックスとして示しているが、ウェブインデックス112およびアプリケーションインデックス114を単一のインデックスに結合することは可能である。

0022

ユーザデバイス108aは、検索クエリを検索システム110に送信する。各クエリに応じて、検索システム110は、ウェブインデックス112およびアプリケーションインデックス114にアクセスして、クエリに関連しているリソースおよびアプリケーションをそれぞれ識別している。検索システム110は、それぞれ、ウェブリソース検索結果およびネイティブアプリケーション検索結果の形式で、例えば、リソースおよびアプリケーションを識別し得る。生成されると、検索結果は、クエリを受信したユーザデバイス108aに提供される。

0023

ウェブリソース検索結果は、ウェブリソースを識別し特定の検索クエリを満足する情報を提供する検索システム110によって生成されたデータである。リソースに関するウェブリソース検索結果は、ウェブページのタイトル、リソースから抽出されたテキストのスニペット、およびリソースのためのリソースロケータ、例えば、ウェブページのURLを含み得る。ネイティブアプリケーション検索結果は、ネイティブアプリケーションを指定するとともに、環境インスタンスのアプリケーションインデックス114の検索に応じて生成される。ネイティブアプリケーション検索結果は、ネイティブアプリケーションの特定の環境インスタンスを指定し、ネイティブアプリケーションに指定された環境インスタンスを開始させるように構成される、「ディープリンク」を含む。例えば、ネイティブアプリケーション検索結果の選択は、ネイティブアプリケーションが(ユーザデバイス108にインストールされている場合には)起動するようにさせ、スクリーンショットの形式でアプリケーション検索結果内で参照されている環境インスタンスを生成し得る。

0024

上述したように、ネイティブアプリケーション107を提供しているパブリッシャ106はまた、ディープリンクを検索システム110に提供している。さらに、サードパーティも、ネイティブアプリケーションのためのディープリンクを提供し得る。加えて、検索システム110は、アプリマップ、ウェブページアノーテーションなどといった、他の複数のソースからディープリンクを発見し得るし、そのため、ディープリンクのセットも常に変化し得る。例えば、アプリケーションパブリッシャは、ユニフォームリソースアイデンティファイア(URI)(または、パブリッシャによって発行されるネイティブアプリケーションに固有のものである他の命令タイプ)の形式でディープリンク109のリストを提供し得る。これらのディープリンクは、クローリングされアプリケーションインデックス114にインデックス化されることパブリッシャ106が望んでいるディープリンクである。

0025

ディープリンクは、ネイティブアプリケーションの名称を指定し得るし、オプションパラメータ、例えば、://を含み得る。これらのオプションパラメータは、ネイティブアプリケーション内の特定のスクリーンメニュー、または環境などといったなんらかの状態で、ネイティブアプリケーションがインスタンス化するようにさせ得る。例えば、ネイティブアプリケーション「Example_App」については、ネイティブアプリケーションを単に起動するためのディープリンクは、以下の様な、パラメータを有していないアプリケーション名称であり得る。
Example_App://

0026

しかしながら、ネイティブアプリケーション検索結果は、ネイティブアプリケーションに対してある情報または特定の状態を指定すべきである場合には、ある情報または特定の状態がパラメータによって指定され得る。例えば、アプリケーションが一意なIDであるNews12345を有しているあるニュース記事に関してインスタンス化することについては、ディープリンクは、以下の通りであり得る。
Example_App://News12345

0027

ユーザは、ウェブリソース検索結果118a、118c、および118n、ならびにネイティブアプリケーション検索結果118b、118d、および118eを含む検索結果ページ117が返信されることになる、検索クエリをユーザデバイス108a上で送信し得る。システムは、検索結果ページ117上で提示されているネイティブアプリケーション検索結果118b、118d、および118e内のディープリンクを検出し、ユーザデバイス108aのバックグラウンドにネイティブアプリケーション検索結果118b、118d、および118eに対応するネイティブアプリケーション120を事前インスタンス化することを開始する。いくつかの実施形態においては、バックグラウンドに事前インスタンス化されたネイティブアプリケーションインスタンス120は、ユーザが閲覧または関与するアクティブな表示領域を有していない。そのため、ネイティブアプリケーション107が起動および動作している間、ネイティブアプリケーションが動作していることにユーザが気づくことがない方法でインスタンス化される。

0028

図1Bは、ネイティブアプリケーション検索結果からネイティブアプリケーションを事前インスタンス化するように構成されるユーザデバイス108aのブロック図である。ユーザデバイス117のオペレーティングシステムは、いくつかの実施形態においては、バックグラウンドに起動されるようにする方式で、ディープリンク内に検出されたネイティブアプリケーションを起動するように構成される。例えば、ディープリンクバックグラウンドランチャー140を定義する命令は、オペレーティングシステムにおいて起動され得る。あるいは、ディープリンクバックグラウンドランチャー140に対する命令は、以下に説明するようなプロセスネイティブアプリケーション検索結果を処理するためにユーザが起動する別のネイティブアプリケーションによって実現され得る。さらに他の実施形態においては、ディープリンクバックグラウンドランチャー140に対する命令は、任意の検索結果ページまたはネイティブアプリケーションディープリンクを含むリソースとともに含まれ得る。さらに他の実施形態においては、ランチャー140は、検索システム110内に実現され得るし、ディープリンクを処理する際にユーザデバイス108aがネイティブアプリケーションを事前インスタンス化するようにさせる必要がある場合には、ディープリンクを修正するように構成される。

0029

以下で説明しているように、ディープリンクバックグラウンドランチャー140は、ネイティブアプリケーションをいつ事前インスタンス化するか、ネイティブアプリケーションを事前インスタンス化するためにどのディープリンクを処理するか、事前インスタンス化されていたネイティブアプリケーションをいつ終了するかを決定するように構成される。

0030

いくつかの実施形態においては、バックグラウンド起動は、例えば、以下の様に、ディープリンクにコマンドラインパラメータを付け加えてディープリンクを処理することによって行われ得る。
Example_App://News12345&-bg

0031

ここで、「-bg」は、ネイティブアプリケーションがバックグラウンドに起動するようにさせるコマンドラインパラメータである。バックグラウンドにネイティブアプリケーションを起動するための他の処理も使用され得る。

0032

いくつかの実施形態においては、事前インスタンス化されるネイティブアプリケーション107の数は、制約に基づいて決定される。例えば、事前インスタンス化されるネイティブアプリケーションインスタンス120の数は、ユーザデバイスのリソース(例えば、RAM、ドライブ領域処理能力など)を過剰に使用することがないようにするために、利用可能なシステムリソースの量によって決まり得る。

0033

加えて、ディープリンクバックグラウンドランチャー140は、ランキング閾値に基づいてアクティブ状態で事前インスタンス化されるネイティブアプリケーションインスタンスの数を制限し得る。例えば、ランキング閾値は、検索結果内のディープリンクの最小の順序位置に基づき得る。図示するに当たって、ランキング閾値が5の順序位置であると仮定している。そのため、順序位置1〜5にある任意のネイティブアプリケーション検索結果が、事前インスタンス化のために選択されることになるであろうし、5以上の順序位置にあるものはいずれも選択されないであろう。ディープリンクバックグラウンドランチャー140は、検索結果についてのユーザ選択に先立って、順序位置がそれぞれ2、4、および5となっているネイティブアプリケーション検索結果118b、118d、および118eからネイティブアプリケーションディープリンクを選択する。そのため、ランキング閾値を満たす検索結果117の最も高くランク付けされた適切なサブセットのうちの任意のネイティブアプリケーション検索結果が、事前インスタンス化のために選択されることになる。

0034

いくつかの実施形態においては、加えてまたはあるいは、ランキング閾値は、ネイティブアプリケーションのためのユーザ行動シグナルに基づき得る。例えば、ユーザ行動シグナルは、時間帯曜日、および他の予測変数に基づいて、どのくらいの可能性でユーザがディープリンクをクリックし得るかを指定し得る。そのため、システムは、事前インスタンス化されるネイティブアプリケーションインスタンス120の数を、ユーザが最も選択する可能性が高いであろうディープリンクを有するもののみに制限するように選択し得る。検索システム110は、ユーザ履歴データにアクセスして、各ディープリンクのための確率を決定し、その確率をディープリンクバックグラウンドランチャーに提供し得る。

0035

加えてまたはあるいは、他の実施形態においては、ランキング閾値は、検索クエリに関する最小関連性スコアに基づく。検索システムは、ディープリンクが検索クエリにどれくらい関連しているかに基づいてディープリンクに関する関連性スコアを生成し得る。関連性スコアは、類似の検索クエリに応答してディープリンクがクリックされる回数、ネイティブアプリケーションに対する用語の関連性の程度、または任意の他の関連性スコア決定機構によって決定され得る。関連性スコアは、ディープリンクバックグラウンドランチャー140が決定をするために、ランチャー140に提供され得る。

0036

ランチャー140は、検索結果ページ117内の選択された対応するディープリンクに基づいてどのネイティブアプリケーション107を事前インスタンス化するかを選択する。いくつかの実施形態においては、ランチャー140は、ユーザデバイス動作システム一意な識別子および満了時間とともに「開始」イベントを送信して、バックグラウンドにネイティブアプリケーションインスタンスを事前インスタンス化する。満了時間は、事前インスタンス化されるネイティブアプリケーション120に適用され、事前インスタンス化されたネイティブアプリケーションインスタンス120の終了処理122より前の事前インスタンス化されたネイティブアプリケーション120がユーザインタラクションがない状態で動作する時間量を定義している、所定の時間である。満了時間および事前インスタンス化されたネイティブアプリケーションインスタンスの終了処理122に関するさらなる詳細を以下に提供している。

0037

いくつかの実施形態においては、ランチャー140によって選択および事前インスタンス化される各ディープリンクについては、ネイティブアプリケーション107の特定のインスタンスおよびそれに対応するディープリンクに対応する一意な識別子が生成される。いくつかの実施形態においては、一意な識別子は、ハッシュ関数をディープリンクに適用することによって生成される。例えば、ハッシュ関数は、ネイティブアプリケーションの識別子およびユニフォームリソースインディケータに適用され得る。ランチャーは、アクティブなインスタンス化の各々を識別するための一意な識別子を使用して、ネイティブアプリケーションのバックグラウンドインスタンスを事前インスタンス化する。ディープリンクを有するネイティブアプリケーション検索結果についてのユーザ選択時に、ランチャー140は、その選択を受信し、ネイティブアプリケーションディープリンクが対応するネイティブアプリケーション107が事前インスタンス化されていたかどうかを、つまり、バックグラウンドネイティブアプリケーションインスタンス120内にインスタンス化されていたかを決定する。ネイティブアプリケーション107がバックグラウンドにインスタンス化されていた場合には、ディープリンクのユーザ選択は、バックグラウンドインスタンスにインスタンス化されたネイティブアプリケーション120をユーザデバイス108b上のフォアグラウンドインスタンスに移行させる。ネイティブアプリケーション107のフォアグラウンドインスタンスは、ユーザが閲覧可能かつ容易にインタラクションを行うことができるアクティブな表示領域を有する。ネイティブアプリケーションは事前インスタンス化されていたため、フォアグラウンドへの移行は、ネイティブアプリケーションがユーザ選択の後に起動される場合と比べて、はるかに短い遅延で行われる。(ユーザによって選択されたネイティブアプリケーション107がバックグラウンドに事前インスタンス化されていなかった場合には、ネイティブアプリケーションは、従来の方式でネイティブアプリケーションを起動することによってオープンされる。)

0038

一意な識別子を生成する実施形態においては、ディープリンクのユーザ選択時に、システムは、一意な識別子とともに「オープン」イベントを送信して、ネイティブアプリケーションがフォアグラウンドインスタンスに移行するようにさせる。同一の一意な識別子を有するネイティブアプリケーションがバックグラウンドに事前インスタンス化されていない場合には、ネイティブアプリケーションは、ネイティブアプリケーションを起動する処理によってオープンされる。

0039

いくつかの実施形態においては、バックグラウンドアンロードイベントは、ネイティブアプリケーションバックグラウンドインスタンス120のインスタンス化から計測したタイムアウト期間の満了時に発生し得る。例えば、フォアグラウンドの状態にされることがなかった、事前インスタンス化されたネイティブアプリケーションインスタンス120は、アクティブな事前インスタンス化されたインスタンス120を有するネイティブアプリケーション107に対応する一意な識別子を伴う「アンロード」イベントをランチャー140が生成および送信した際に、終了される122。システムに「アンロード」イベントをネイティブアプリケーション107に送信させ得る様々な実施形態が存在する。例えば、特定の事前インスタンス化されたネイティブアプリケーションインスタンス120に対する「開始」イベントで送信されていた満了時間内にディープリンクとのインタラクションをユーザが行わなかった場合には、事前インスタンス化されたネイティブアプリケーションインスタンス120のためのタイマが満了し、ランチャー140はバックグラウンドアンロードイベント142を生成する。このことが、ネイティブアプリケーション107の終了処理122を行わせる。

0040

他の実施形態においては、バックグラウンド「アンロード」イベントは、検索結果117のセットを表示しているページのアンロード時に発生する。ページは、例えば、ある検索のための検索結果の新規セットが要求されたり、特定のディープリンクが選択されたり、またはページがクローズされると、「アンロード」され得る。例えば、特定のディープリンクのユーザ選択時に、特定のネイティブアプリケーションのための「オープン」イベントが、ランチャー140によって生成され、「アンロード」イベントが、ユーザによって選択された特定のディープリンクに関連していない、それ以外のアクティブな事前インスタンス化されたネイティブアプリケーションインスタンス120のためにランチャー140に送信される。そのため、ネイティブアプリケーションがフォアグラウンドの状態にされると、他のアクティブな事前インスタンス化されたネイティブアプリケーション120は終了される122。

0041

同様に、ユーザが検索結果ページから離脱する操作をした場合には、「アンロード」イベントが、すべてのアクティブな事前インスタンス化されたネイティブアプリケーションインスタンス120のためにランチャー140によって生成され、インスタンスの終了処理122が行われる。

0042

いくつかの実施形態においては、特定のネイティブアプリケーションが、複数のネイティブアプリケーションインスタンス120を事前インスタンス化することをサポートし得るし、ランチャー140が、特定のネイティブアプリケーション107のために複数のネイティブアプリケーションインスタンス120を事前インスタンス化し得る。各インスタンスは、インスタンスを起動するために使用される一意なディープリンクに基づいて、ネイティブアプリケーション107の異なる部分に起動し得る。例えば、特定のネイティブアプリケーションのための異なるパラメータを有する3つの異なるディープリンクについては、1つのネイティブアプリケーションインスタンス120は、メインメニューに起動し得るし、ネイティブアプリケーションの別のインスタンス120は、サブメニューに起動し得るし、別のインスタンス120は、ネイティブアプリケーション内の編集環境に起動し得る。

0043

ネイティブアプリケーション107のインスタンスのための一意な識別子はまた、どのインスタンスを終了するかを決定するために使用され得る。ネイティブアプリケーションが事前インスタンス化されると、その対応する一意な識別子は、オペレーティングシステムによってメモリに記憶される。その後、事前インスタンス化されていたネイティブアプリケーションがフォアグラウンドの状態にされると、その対応する一意な識別子はメモリから除去される。バックグラウンドアンロードシグナルが生成されると、事前インスタンス化されメモリに記憶されている一意な識別子をまだ有しているネイティブアプリケーションの任意のインスタンスは終了される。

0044

ネイティブアプリケーション107が複数のネイティブアプリケーションインスタンス120をサポートしている例においては、ランチャー140は、各インスタンス120に対して一意な識別子を関連付けている。そのため、ネイティブアプリケーションの複数のインスタンスをサポートする各ネイティブアプリケーションについて、ランチャー140は、作成された一意な識別子の各々をネイティブアプリケーションの対応する一意なインスタンスと関連付けている。このことは、ユーザが特定のディープリンクを選択すると、ランチャー140が正しいネイティブアプリケーションインスタンス120がフォアグラウンド状態にすることを可能にしている。したがって、バックグラウンドインスタンスにインスタンス化されたネイティブアプリケーションをフォアグラウンドインスタンスに移行させることは、「オープン」イベントとともにそのような一意なインスタンスの特定の一意な識別子を使用して、ネイティブアプリケーションの一意なインスタンスのみをフォアグラウンドインスタンスに移行させることを必要とする。このことはまた、システムが、バックグラウンドアンロードイベントが発生する前にどの事前インスタンス化されたネイティブアプリケーションインスタンスがフォアグラウンドの状態にされなかったかを決定し、そのような事前インスタンス化されたネイティブアプリケーションを終了することを可能にしている。加えてまたはあるいは、各インスタンス化に関する一意な識別子の使用は、検索動作に先立ってバックグラウンドにロードされていたネイティブアプリケーションの任意のインスタンスをシステムが無視することを可能にする。例えば、検索に先立ってユーザによって最小化されたネイティブアプリケーションインスタンスは、ネイティブアプリケーションの別のインスタンスが、ネイティブアプリケーションディープリンクが検索処理に応じて提供されたことに応じて事前インスタンス化されたが、バックグラウンドアンロードイベントが発生する前にフォアグラウンドの状態にされなかった場合には、終了されないことになる。

0045

特定のネイティブアプリケーションがユーザデバイス上でネイティブアプリケーションの単一のインスタンスをサポートするだけであるとともに、特定のネイティブアプリケーションのための複数のディープリンクが検索結果内にある場合には、ランチャー140は、そのネイティブアプリケーションに関する単一のネイティブアプリケーションディープリンクのみを選択する。例えば、図1Bを参照して、ネイティブアプリケーション検索結果118bおよび118dの双方がチェスプログラムに対するディープリンクを有していると仮定する。検索結果118bのための第1のディープリンクは、ネイティブアプリケーション内の序盤の定石(opening book)環境にリンクしており、検索結果118dのための第2のディープリンクは、ネイティブアプリケーション内のゲーム選択メニューにリンクしている。検索結果118bが検索結果118dの上位にランク付けされているため、ネイティブアプリケーションは、序盤の定石環境に事前インスタンス化され、検索結果118dのためのディープリンクは処理されない。

0046

ディープリンクバックグラウンドランチャー140は、どのネイティブアプリケーションが複数のインスタンスをサポートし、どれが単一のインスタンスのみをサポートしているかを記述しているデータとともに、提供され得る。例えば、サーチエンジン110は、複数のインスタンスをサポートしているというネイティブアプリケーションの機能を記述したファイルを提供し得る。本情報を使用して、その後、ランチャー140は、上述したようにディープリンクを処理し得る。

0047

検索クエリおよび検索クエリに対応する検索結果に関してネイティブアプリケーションインスタンスの事前インスタンス化を説明してきたが、ネイティブアプリケーションインスタンスの事前インスタンス化は、アプリケーションディープリンク109を含む任意のリソースにおいて生じ得る。ランチャー140は、任意のネイティブアプリケーションディープリンク109を検出すると、ネイティブアプリケーションインスタンスを事前インスタンス化し得る。例えば、映画レビューアプリケーション内には、映画鑑賞映画館ロケーション、および/または映画トレーラのディープリンクが存在し得る。ランチャー140は、映画レビューアプリケーション内に存在するディープリンク109に対応するネイティブアプリケーションのうちの1つまたはすべてを事前インスタンス化し得る。

0048

図2は、ネイティブアプリケーションのバックグラウンドインスタンスをインスタンス化するためのプロセス200を説明しているフロー図である。プロセス200は、ユーザデバイス108上に実装され得る。

0049

プロセス200は、検索クエリに対応する検索結果のセットを受信する(202)。検索結果のセットは、関与している場合には、ネイティブアプリケーション107のインスタンスをインスタンス化するネイティブアプリケーションディープリンク109を各々が含む検索結果を含む。加えて、ネイティブアプリケーション107は、ネイティブアプリケーション内にユーザデバイス上での表示のための環境インスタンスを生成し、ネイティブアプリケーション107は、ユーザデバイス上で動作するブラウザアプリケーションとは独立して動作する。

0050

プロセス200は、検索結果についてのユーザ選択に先立って、検索結果からネイティブアプリケーションディープリンク109を選択する(204)。前述したように、ランチャー140は、検索結果のセット内に提示されているネイティブアプリケーションディープリンク109を検出し、様々な制約に基づいてディープリンクを選択する。ディープリンクの選択時に、ランチャー140は、選択された各ネイティブアプリケーションディープリンクについて、ネイティブアプリケーションディープリンク109に対応するネイティブアプリケーションのバックグラウンドインスタンス120をインスタンス化する(206)。

0051

プロセス200は、バックグラウンドアンロードイベントの発生に応じて、ネイティブアプリケーションディープリンクからインスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスを決定する(208)。例えば、事前インスタンス化されたネイティブアプリケーションインスタンスが「オープン」イベントを受信した場合には、そのようなネイティブアプリケーションインスタンスは、ユーザによってアクセス可能な表示領域内のフォアグラウンドに移動する。他のアクティブな事前インスタンス化されたネイティブアプリケーションインスタンスについては、プロセス200は、インスタンス化されバックグラウンドアンロードイベントの発生に先立ってフォアグラウンドの状態にされなかったネイティブアプリケーションのバックグラウンドインスタンスの各々をアンロードする(210)。

0052

追加の実施形態の詳細
本明細書に記載のシステムが、ユーザに関する個人情報を収集する、または、個人情報を使用し得る場合には、ユーザは、プログラムまたは機能がユーザ情報(例えば、ユーザのソーシャルネットワークに関する情報、ソーシャルアクションまたはアクティビティ職業、ユーザのプリファレンス、またはユーザの現在のロケーション)を収集するかどうかを制御する、または、ユーザにより関連し得るコンテンツサーバからのコンテンツを受信するかどうかおよび/もしくはどのように受信するかを制御する機会が提供され得る。加えて、あるデータは、個人識別可能な情報を除去するように、記憶または使用される前に1つまたは複数の方法で処理され得る。例えば、個人を識別可能な情報がユーザを決定することができないように、ユーザの識別子を処理してもよいし、ユーザの具体的な位置を決定することができないように、ユーザの地理的ロケーションロケーション情報を取得できる程度に(市、ZIPコード、または州レベルなどに)汎化してもよい。そのため、ユーザは、どのようにして情報をユーザに関して収集してコンテンツサーバによって使用するかの制御を有し得る。

0053

本明細書において説明した発明特定事項の実施形態および動作は、デジタル電子回路を使用して、または、本明細書において開示した構造およびそれらの構造的均等物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェア内で、または、1つまたは複数のそれらの組合せで、実施され得る。本明細書において説明した発明特定事項の実施形態は、1つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置による実行のためのコンピュータ記憶媒体上に符号化された、または、データ処理装置の動作を制御する、コンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。

0054

コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶回路基板ランダムもしくはシリアルアクセスメモリアレイもしくはデバイス、または1つまたは複数のそれらの組合せであり得る、または含まれ得る。さらに、コンピュータ記憶媒体は、伝搬信号ではない一方で、コンピュータ記憶媒体は、人工的に生成された伝搬信号に符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の物理コンポーネントまたは媒体(例えば、複数のCD、ディスク、または他のストレージデバイス)であり得るまたは含まれ得る。

0055

本明細書において説明した動作は、1つまたは複数のコンピュータ可読ストレージデバイス上に記憶された、または、他のソースから受信した、データに対して、データ処理装置によって行われる動作として実施され得る。

0056

「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、システム・オンチップ、または、それら複数、または、前述の組合せを含む、処理データのためのすべての種類の装置、デバイス、および機械を含む。装置は、特殊用途ロジック回路、例えば、FPGA(分野プログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含み得る。装置はまた、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタックデータベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境仮想マシン、またはそれらの組合せのうちの1つまたは複数を構成するコードを含み得る。装置および実行環境は、ウェブサービス分散コンピューティングおよびグリッドコンピューティングインフラなどといった様々な異なるコンピューティングモデルインフラを実現し得る。

0057

コンピュータプログラム(プログラム、ソフトウェアソフトウェアアプリケーションスクリプト、またはコードとしても知られる)は、コンパイル型またはインタプリタ型言語、宣言型または手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、スタンドアロンプログラムとして、または、モジュール、コンポーネントサブルーチンオブジェクト、またはコンピューティング環境における使用に適した他のユニットとしてといったことを含む、任意の形式でデプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよい必ずしも対応する必要はない。プログラムは、他のプログラムまたはデータ(例えば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部に、当該のプログラム専用の単一のファイルに、または、複数の協調ファイル(例えば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に、記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1箇所に位置するもしくは複数のサイトにわたって分散され通信ネットワークによって相互通信する複数のコンピュータ上で、実行されるようにデプロイされ得る。

0058

本明細書において説明したプロセスおよびロジックフローは、入力データを処理するとともに出力を生成することによってアクションを行うために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。プロセスおよびロジックフローはまた、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)といった特殊用途論理回路によって行われ得るし、装置はまた、そういった特殊用途論理回路として実装され得る。

0059

コンピュータプログラムの実行に適したプロセッサは、例として、一般および特殊の両方の用途のマイクロプロセッサ、および任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般的に、プロセッサは、リードオンリーメモリまたはランダムアクセスメモリまたはその両方から命令およびデータを受信することになる。コンピュータの必須要素は、命令に従ってアクションを行うためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、例えば、磁気光磁気ディスク、または光ディスクといったデータを記憶するための1つまたは複数のマスストレージデバイスを含み得る、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うように動作可能に接続され得る。しかしながら、コンピュータは、必ずしもそのようなデバイスを有する必要はない。さらに、コンピュータは、数例挙げるとすれば、例えば、モバイル電話携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤゲームコンソールグローバルポジショニング・システム(GPS)受信機、またはポータブルストレージデバイス(例えば、ユニバーサルシリアルバス(USB)フラッシュドライブ)といった別のデバイスに組み込まれ得る。コンピュータプログラム命令およびデータを記憶することに適したデバイスは、例として、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスといった半導体メモリデバイス、例えば、内部ハードディスクまたはリムーバブルディスクといった磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含む、すべての形式の不揮発性メモリメディア、およびメモリデバイスを含む。プロセッサおよびメモリは、特殊用途論理回路によって補完され得る、または、特殊用途論理回路に組み込まれ得る。

0060

ユーザとのインタラクションを提供するために、本明細書において説明した発明特定事項の実施形態は、ユーザに情報を表示するために、例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタといった、表示デバイスと、ユーザがそれによって入力をコンピュータに提供することができる、例えば、マウスまたはトラックボールといった、キーボードおよびポインティングデバイスとを有するコンピュータに実装され得る。他の種類のデバイスもユーザとのインタラクションを提供するために使用され得る。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック聴覚フィードバック、または触覚フィードバックなどといった、任意の形式の感覚フィードバックであり得るし、ユーザからの入力は、音響、音声、または触覚入力を含む、任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信するとともにユーザによって使用されるデバイスからドキュメントを受信することによって、例えば、ウェブブラウザから受信した要求に応じてウェブページをユーザのユーザデバイス上のウェブブラウザに送信することによって、ユーザとのインタラクションを行い得る。

0061

本明細書において説明した発明特定事項の実施形態は、例えば、データサーバとして、バックエンドコンポーネントを含む、または、例えば、アプリケーションサーバといった、ミドルウェアコンポーネントを含む、例えば、ユーザがそれを介して本明細書において説明した発明特定事項の実施形態とインタラクションを行い得る、グラフィックユーザインターフェースもしくはウェブブラウザを有するユーザコンピュータといった、フロントエンドコンポーネントを含む、コンピューティングシステムにおいて実装され得る、または、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントのうちの1つまたは複数の任意の組合せで実装され得る。システムのコンポーネントは、任意の形式または媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(例えば、インターネット)、ならびにピア・ツー・ピアネットワーク(例えば、アドホックピア・ツー・ピアネットワーク)を含む。

0062

コンピューティングシステムは、ユーザおよびサーバを含み得る。ユーザとサーバとは、一般的に互いにリモートに存在しており、通信ネットワークを介して通常はインタラクションを行う。ユーザとサーバとの関係は、それぞれのコンピュータ上で動作するとともに互いにユーザ-サーバ関係を有するコンピュータプログラムによって生じる。いくつかの実施形態においては、サーバは、データ(例えば、HTMLページ)を、(例えば、データをクライアントデバイスに表示するとともに、ユーザデバイスとインタラクションを行うユーザインターフェースからユーザ入力を受信するために、)ユーザデバイスに送信する。ユーザデバイスにおいて生成されたデータ(例えば、ユーザインタラクションの結果)を、サーバにおいてユーザデバイスから受信し得る。

0063

本明細書は多くの具体的な実施の詳細を含んでいるが、これらは、任意の発明または特許請求の範囲の範囲を限定するものとして解釈すべきではなく、特定の発明の特定の実施形態に特有の特徴についての説明として解釈すべきである。別個の実施形態に関連する本明細書において説明したある特徴はまた、組合せでまたは単一の実施形態で実施され得る。反対に、単一の実施形態に関連して説明した様々な特徴はまた、複数の実施形態で別々にまたは任意の適切なサブコンビネーションで実行され得る。さらに、特徴をある組合せで動作するように上述しているとしても、たとえそのようにはじめは主張していたとしても、いくつかのケースでは、主張した組合せのうちの1つまたは複数の特徴を組合せから削除し得るし、主張した組合せをサブコンビネーションまたはサブコンビネーションのバリエーションを対象とし得る。

0064

同様に、処理を特定の順序で図面に図示しているが、このことを、望ましい結果を実現するためには、図示した特定の順序でもしくはシーケンシャルな順序でそのような処理を行う必要がある、または、図示した処理をすべて行う必要がある、と理解すべきではない。ある環境においては、マルチタスク処理およびパラレル処理が有利となる場合もある。さらに、上述した実施形態における様々なシステムコンポーネントの分離がすべての実施形態におけるそのような分離が必要であると理解すべきではないし、説明したプログラムコンポーネントおよびシステムを単一のソフトウェア製品一緒統合することまたは複数のソフトウェア製品にパッケージすることが一般的にできることを理解されたい。

0065

上に述べたように、発明特定事項の特定の実施形態を説明してきた。他の実施形態も以下の特許請求の範囲の範囲内にある。いくつかのケースにおいては、特許請求の範囲に記載のアクションは、異なる順序で行われ、望ましい結果をさらに達成し得る。加えて、添付の図面に示したプロセスは、望ましい結果を得るために、図示した特定の順序またはシーケンシャルな順序を必ずしも必要としているわけでない。ある実施形態においては、マルチタスク処理およびパラレル処理が有利となる場合もある。

0066

100 環境
102ネットワーク
104リソースパブリッシャ
105 リソース
106アプリケーションパブリッシャ
107ネイティブアプリケーション
108aユーザデバイス
108b ユーザデバイス
109 アプリケーションディープリンク
110検索システム
112ウェブインデックス
114 アプリケーションインデックス
116インデクサ
118aウェブリソース検索結果
118b ネイティブアプリケーション検索結果
118c ウェブリソース検索結果
118d ネイティブアプリケーション検索結果
118e ネイティブアプリケーション検索結果
118n ウェブリソース検索結果
120アプリケーションインスタンス
122終了処理
140 ディープリンクバックグラウンドランチャー
142 バックグラウンドアンロードイベント

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

新着 最近 公開された関連が強い 技術

この 技術と関連性が強い 技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する挑戦したい社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ