JP2015015055A - 第三者アプリケーションへのサーチ拡張性 - Google Patents
第三者アプリケーションへのサーチ拡張性 Download PDFInfo
- Publication number
- JP2015015055A JP2015015055A JP2014208055A JP2014208055A JP2015015055A JP 2015015055 A JP2015015055 A JP 2015015055A JP 2014208055 A JP2014208055 A JP 2014208055A JP 2014208055 A JP2014208055 A JP 2014208055A JP 2015015055 A JP2015015055 A JP 2015015055A
- Authority
- JP
- Japan
- Prior art keywords
- search
- application
- party application
- record
- party
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】マルチファンクション装置のユーザがマルチファンクション装置においてコンテンツを編成し及び管理するのを容易に且つ便利にする。【解決手段】本発明の少なくともある実施形態は、サーチ能力を、装置にインストールされた第三者アプリケーションへと拡張する方法を含む。一実施形態において、第三者アプリケーションに関連したレコードが、その第三者アプリケーションに特有のサーチプラグインを使用して、装置にインストールされた他の第三者アプリケーションから分離されたプロセスにおいてインデックスされる。更に、そのインデックスされたレコードは、第三者アプリケーションを呼び出すことなく、ユーザサーチ問合せに応答してサーチすることができる。【選択図】図3
Description
本発明は、コンピューティング装置の第三者アプリケーションへサーチ能力を拡張することに関する。
関連出願:本願は、2010年4月7日に出願された米国仮特許出願第61/321,764号の利益を主張するもので、この出願は、参考としてここにそのまま援用される。
本願に開示され主張される発明は、アップルのiPhone4の原型が2010年3月25日にアップルのエンジニアから盗まれたとされるときに、アップル社の許可なく早期に公衆に開示された。本願の基礎となる米国優先権出願は、その聞くところの盗難の前には出願されていない。
今日、メディアプレーヤ、パーソナルデジタルアシスタント(PDA)、等を含むセルラー電話のようなマルチファンクション装置で実行するための多数のアプリケーションが開発されている。これらのアプリケーションの多くは、マルチファンクション装置の売主以外の供給元によって提供され、従って、それらは、一般的に、第三者アプリケーションと称されている。これらのアプリケーションは、娯楽、ソーシャルネットワーキング、等を提供するような広範囲の様々なファンクションを遂行することができる。これらのファンクションを遂行する際に、マルチファンクション装置は、マルチファンクション装置に記憶されたコンテンツにネットワーク(例えば、インターネット)を経てアクセスすることができる。
マルチファンクション装置のユーザがマルチファンクション装置においてコンテンツを編成し及び管理するのを容易に且つ便利にするために、マルチファンクション装置にインストールされるオペレーティングシステムは、典型的に、サーチ能力を与える。マルチファンクション装置にインストールされたアプリケーションの多くは、第三者アプリケーションであるから、マルチファンクション装置にインストールされた従来のオペレーティングシステムは、それらのサーチ能力をそれらの第三者アプリケーションへ拡張することができない。
ある実施形態は、発呼プログラムコードが1つ以上のインターフェイスを通してコールされる他のプログラムコードと対話する環境において1つ以上のアプリケーションプログラムングインターフェイス(API)を含む。種々のファンクションコール、メッセージ又は他の形式の呼び出しであって、種々の種類のパラメータを更に含むものは、発呼プログラムと、被呼コードとの間でAPIを経て転送される。更に、APIは、発呼プログラムコードに、APIで定義され且つ被呼プログラムコードで具現化されるデータ形式又はクラスを使用する能力を与えることができる。
少なくともある実施形態は、発呼ソフトウェアコンポーネントがAPIを通して被呼ソフトウェアコンポーネントと対話する環境を含む。この環境においてAPIを通して動作する方法は、APIを経て1つ以上のファンクションコール、メッセージ、他の形式の呼び出し又はパラメータを転送することを含む。
本開示の少なくともある実施形態は、マルチファンクション装置における1つ以上の第三者アプリケーションへと拡張されたサーチ能力を伴う環境において1つ以上のAPIを含む。マルチファンクション装置のオペレーティングシステムと第三者アプリケーションとの間でAPIを経て種々のファンクションコール又はメッセージが転送される。規範的なAPIは、第三者アプリケーションに関連したコンテンツのインデックス及びサーチを具現化するためのファンクションコールを転送する。
本開示のある実施形態は、マルチファンクション装置にインストールされた第三者アプリケーションへサーチ能力を拡張する方法を含む。一実施形態において、第三者アプリケーションに関連したレコードは、マルチファンクション装置にインストールされた他の第三者アプリケーション、システムアプリケーション及びサーチバンドルから分離されたプロセスにおいて、その第三者アプリケーションに特有のサーチプラグインを使用してインデックスされる。インデックス動作は、第三者アプリケーションを呼び出すことなく遂行される。更に、インデックスされたレコードは、第三者アプリケーションを呼び出す(例えば、起動又は実行)することなくユーザサーチ問合せに応答してサーチすることができる。
本開示のある実施形態によれば、マルチファンクション装置にインストールされた第三者アプリケーションは、その第三者アプリケーションに特有のサーチプラグインを与えることができる。サーチプラグインは、第三者アプリケーションに関連したレコードを、マルチファンクション装置の個別プロセスで実行されるサーチデーモンへ送るために起動される。レコードの識別子(ID)は、ユーザサーチ問合せに応答して発生されたサーチ結果にレコードが表示されたときにレコードがどのように見えるか指定する。各IDは、更に、ローカルIDを含み、これは、各レコードに関連したドキュメント内の異なる形式のコンテンツに対応するサブIDを有する。
前記方法の1つ以上を遂行する種々の装置、並びに処理システムにより実行されたときに処理システムがこれらの方法を遂行するようにさせるマシン読み取り可能な媒体についても説明する。
他の方法、装置及びマシン読み取り可能な媒体についても説明する。
本発明は、添付図面を参照して一例として説明する。
本発明の種々の実施形態及び態様は、種々の実施形態を例示する添付図面を参照して以下に詳細に述べる。以下の説明及び添付図面は、本発明を例示するもので、限定するためのものではない。本発明の種々の実施形態を完全に理解するために多数の特定の細部について述べる。しかしながら、ある場合には、本発明の実施形態を簡略に説明するために、良く知られた又は従来の細部は説明しない。
以下の詳細な説明のある部分は、コンピュータメモリ内に記憶されたデータに対するオペレーションを含むアルゴリズムに関して表現される。アルゴリズムとは、一般的に、望ましい結果を導く自己矛盾のないオペレーションシーケンスである。オペレーションは、典型的に、物理量の物理的操作を要求し又は含むものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気的又は磁気的信号の形態をとる。主として、共通使用の理由で、これらの信号は、ビット、値、エレメント、記号、キャラクタ、期間、数、等として参照するのが時々は便利であると分かっている。
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、そしてそれらの量に適用される便宜的表示に過ぎないことを銘記されたい。特に指示のない限り、以上の説明から明らかなように、この説明全体を通して、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」、等の用語を使用する説明は、システムのレジスタ及びメモリ内で物理的(電子的)量として表されたデータを操作し、そしてシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するデータ処理システム又は同様の電子装置のアクション及び処理を参照するものである。
本開示は、ここに示すオペレーションの1つ以上を遂行するための装置にも係る。この装置は、要求される目的のために特に構成されてもよいし、又は記憶されたコンピュータプログラムにより選択的にアクチベートされ又は再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、これに限定されないが、フロッピー(登録商標)ディスク、光学的ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルROM(EPROM)、電子的に消去可能なプログラマブルROM(EEPROM)、フラッシュメモリ、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適したもので各々バスに結合された任意の形式の媒体のようなマシン(例えば、コンピュータ)読み取り可能な記憶媒体に記憶される。
マシン読み取り可能な媒体は、マシン(例えば、コンピュータ)により読み取りできる形態で情報を記憶又は送信するためのメカニズムを備えている。例えば、マシンは、マシン読み取り可能な媒体、例えば、マシン読み取り可能な記憶媒体(例えば、磁気ディスク、光学ディスク、ランダムアクセスメモリ、リードオンリメモリ、フラッシュメモリ装置、相変化メモリ)、及びマシン読み取り可能な通信媒体(例えば、電気的、光学的、音響的又は他の形態の伝播信号、例えば、搬送波、赤外線信号、デジタル信号、等)を使用して、コード及びデータを記憶しそして通信する(内部で及びネットワークを経て他の装置と)。
本発明の少なくともある実施形態は、ソフトウェアアプリケーションと対話するサーチソフトウェアを伴う環境において1つ以上のアプリケーションプログラミングインターフェイスを含む。種々のファンクションコール又はメッセージは、サーチソフトウェアとソフトウェアアプリケーションとの間でアプリケーションプログラミングインターフェイスを経て転送される。ファンクションコール又はメッセージを転送することは、ファンクションコール又はメッセージを発行し、開始し、呼び出し又は受け取ることを含む。規範的なアプリケーションプログラミングインターフェイスは、ディスプレイ領域を有する装置に対する種々のオペレーション(例えば、サーチ、ネットワーキング、サービス発見、等)を具現化するためにファンクションコールを転送する。APIは、パラメータ、変数又はポインタを有するファンクションも具現化する。APIは、ここに開示するパラメータ又はパラメータの他の組み合わせを受け取る。ここに開示するAPIに加えて、他のAPIは、ここに開示するAPIと同様の機能を個々に又は組み合わせて遂行することができる。
ディスプレイ領域は、ウインドウの形態である。ウインドウは、境界があったりなかったりするディスプレイ領域で、ディスプレイの全表示領域又はエリアである。ある実施形態では、ディスプレイ領域は、少なくとも1つのウインドウ及び/又は少なくとも1つのビュー(例えば、ウェブ、テキスト又は画像コンテンツ)を有する。ここに開示する方法、システム及び装置は、ディスプレイ領域、ウインドウ及び/又はビューと共に具現化することができる。
本発明の少なくともある実施形態は、メディアを提出するためのメディア処理システム、メディアを記憶するための記憶装置を備え、そして更に、アンテナシステム及びメディア処理システムに結合された高周波(RF)トランシーバ(例えば、セルラー電話のためのRFトランシーバ)も備えたデジタルメディアプレーヤ(例えば、ポータブル音楽及び/又はビデオメディアプレーヤ)のようなポータブル電子装置の一部分である。ある実施形態では、リモート記憶装置に記憶されたデータは、REトランシーバを通してポータブル電子装置へ送信される。データは、例えば、音楽又は他のオーディオ、静止画又は動画、等の1つ以上である。
ポータブルメディアプレーヤは、カリフォルニア州クパチーノのアップルコンピュータ社から入手できるiPodTM又はiPod NanoTMメディアプレーヤのクリックホイール入力装置、タッチスクリーン入力装置、プッシュボタン装置、可動ポインティング入力装置又は他の入力装置のようなメディア選択装置を含む。このメディア選択装置は、記憶装置及び/又はリモート記憶装置に記憶されたメディアを選択するのに使用される。ポータブルメディアプレーヤは、少なくともある実施形態では、入力装置を通して選択されそして提示されるメディアのタイトル又は他の指示子を、スピーカ又はイヤホンを通して、又はディスプレイ装置に、或いはディスプレイ装置及びスピーカ又はイヤホンの両方に表示するためにメディア処理装置に結合されたディスプレイ装置を含む。ある実施形態では、ディスプレイ装置及び入力装置が一体化されるが、他の実施形態では、ディスプレイ装置及び入力装置が個別の装置である。
ここに述べる本発明の実施形態は、例えば、娯楽システム又はパーソナルデジタルアシスタント(PDA)、或いは汎用コンピュータシステム又は特殊目的コンピュータシステム、或いは別の装置内に埋め込まれた装置、或いはメディアプレーヤを含まないセルラー電話、或いはマルチファンクションタッチタブレット装置、或いは他のマルチファンクションタッチ装置、或いはそれら装置の態様又はファンクションを結合する装置(例えば、1つの装置、iPhoneTMにおいてPDA、娯楽システム及びセルラー電話と結合されたiPodTMポータブルメディアプレーヤ、等のメディアプレーヤ)のような他の形式のデータ処理システムの一部分である。これらの装置は、一般的に、複数のファンクションを有するので、以下「マルチファンクション装置」とも称される。本開示において、電子装置及び消費者向け装置は、それら装置の形式である。
ある実施形態では、プラットホームは、種々のサーチ、サービス発見、及びネットワーキングオペレーションを与える。プラットホームは、ハードウェアコンポーネント及びオペレーティングシステムを含む。ハードウェアコンポーネントは、入力パネルに結合された処理ユニット、及びプロセッサに結合されたメモリを含む。オペレーティングシステムは、メモリに記憶されて処理ユニットにより実行されるように構成された1つ以上のプログラムを含む。1つ以上のプログラムは、種々のサーチ、サービス発見、及びネットワーキングオペレーションを遂行するためにアプリケーションプログラミングインターフェイス(API)を通してファンクションコール又はメッセージを転送するための種々のインストラクションを含む。
ある実施形態では、1つ以上のAPIが使用される。APIは、プログラムコードコンポーネント又はハードウェアコンポーネント(以下、「API実施コンポーネント」)により実施されるインターフェイスであり、これは、異なるプログラムコードコンポーネント又はハードウェアコンポーネント(以下、「API発呼コンポーネント」)が、API実施コンポーネントにより与えられる1つ以上のファンクション、方法、手順、データ構造、クラス、及び/又は他のサービスにアクセスしてそれを使用できるようにする。APIは、API発呼コンポーネントとAPI実施コンポーネントとの間に通される1つ以上のパラメータを定義することができる。
APIは、API発呼コンポーネントのデベロッパー(第三者デベロッパーである)がAPI実施コンポーネントにより与えられる指定の特徴をレバレッジすることができるようにする。1つのAPI発呼コンポーネントがあってもよいし、或いはそのようなコンポーネントが2つ以上あってもよい。APIは、アプリケーションからのサービス要求をサポートするためにコンピュータシステム又はプログラムライブラリが与えるソースコードインターフェイスである。オペレーティングシステム(OS)は、複数のAPIを有し、OSで実行されるアプリケーションがそれらAPIの1つ以上にコールできるようにし、そしてサービス(プログラムライブラリのような)は、複数のAPIを有し、サービスを利用するアプリケーションがそれらAPIの1つ以上にコールできるようにする。APIは、アプリケーションが構築されるときに解釈又はコンパイルされるプログラミング言語に関して指定される。
ある実施形態において、API実施コンポーネントは、2つ以上のAPIを与え、その各々は、API実施コンポーネントにより実施されるファンクションの異なる態様にアクセスする異なる態様の、又はそれを伴う、異なるビューを与える。例えば、API実施コンポーネントの1つのAPIは、第1セットのファンクションを与え、且つ第三者デベロッパーに露出され、そしてAPI実施コンポーネントの別のAPIは、隠され(露出されず)、且つ第1セットのファンクションのサブセットを与えると共に、別のセットのファンクション、例えば、第1セットのファンクションにはないテスト又はデバッグファンクションも与える。他の実施形態では、API実施コンポーネントは、基礎となるAPIを経て1つ以上の他のコンポーネントにそれ自身コールし、従って、API発呼コンポーネント及びAPI実施コンポーネントの両方である。
APIは、API実施コンポーネントの指定の特徴にアクセスしてそれを使用するときにAPI発呼コンポーネントが使用する言語及びパラメータを定義する。例えば、API発呼コンポーネントは、APIにより露出された1つ以上のAPIコール又は呼び出し(例えば、ファンクション又は方法コールにより実施される)を経てAPI実施コンポーネントの指定の特徴にアクセスし、そしてAPIコール又は呼び出しを経てパラメータを使用してデータ及びコントロール情報を通す。API実施コンポーネントは、API発呼コンポーネントからのAPIコールに応答してAPIを通して値を返送する。APIは、シンタックス及びAPIコールの結果(例えば、APIコールをどのように呼び出すか及びAPIコールが何を行うか)を定義するが、APIは、APIコールがAPIコールにより指定されたファンクションをどのように遂行するか明らかにしない。種々のAPIコールは、発呼(API発呼コンポーネント)とAPI実施コンポーネントとの間の1つ以上のアプリケーションプログラミングインターフェイスを経て転送される。APIコールを転送することは、ファンクションコール又はメッセージを発行し、開始し、呼び出し、コールし、受け取り、返送し、又はそれに応答することを含み、換言すれば、転送は、API発呼コンポーネント又はAPI実施コンポーネントのいずれかによるアクションを記述することができる。APIのファンクションコール又は他の呼び出しは、パラメータリスト又は他の構造を経て1つ以上のパラメータを送信又は受信することができる。パラメータは、定数、キー、データ構造、オブジェクト、オブジェクトクラス、変数、データ形式、ポインタ、アレイ、リスト、或いはAPIを経て通されるデータ又は他のアイテムを参照するファンクション又は方法又は別の仕方を指すポインタである。
更に、データ形式又はクラスは、APIによって与えられ、そしてAPI実施コンポーネントによって実施される。従って、API発呼コンポーネントは、APIで行われた定義を使用することにより、変数を宣言し、ポインタを使用し、そのような形式又はクラスの定数値を使用し又はインスタンス生成する。
一般的に、APIは、API実施コンポーネントにより与えられるサービス又はデータにアクセスするか、又はAPI実施コンポーネントにより与えられるオペレーション又は計算の遂行を開始するのに使用される。例えば、API実施コンポーネント及びAPI発呼コンポーネントは、各々、オペレーティングシステム、ライブラリ、装置ドライバ、API、アプリケーションプログラム、又は他のモジュールのいずれかである(API実施コンポーネント及びAPI発呼コンポーネントは、互いに同じ形式のモジュールでも異なる形式のモジュールでもよいことを理解されたい)。API実施コンポーネントは、あるケースでは、少なくとも一部分は、ファームウェア、マイクロコード又は他のハードウェアロジックで実施される。ある実施形態では、APIは、クライアントプログラムが、ソフトウェアデベロープメントキット(SDK)ライブラリによって提供されるサービスを利用できるようにする。他の実施形態では、アプリケーション又は他のクライアントプログラムは、アプリケーションフレームワークにより与えられるAPIを使用する。これらの実施形態では、アプリケーション又はクライアントプログラムは、SDKにより与えられ且つAPIにより与えられるファンクション又は方法にコールを合併するか、又はSDKで定義され且つAPIにより与えられるデータ形式又はオブジェクトを使用することができる。アプリケーションフレームワークは、これらの実施形態では、フレームワークにより定義される種々のイベントに応答するプログラムのメインイベントループを与える。
APIは、アプリケーションが、アプリケーションフレームワークを使用して、イベント及びイベントに対する応答を指定できるようにする。ある具現化では、APIコールは、態様に関連したもの、例えば、入力能力及び状態、出力能力及び状態、処理能力、電力状態、記憶能力及び状態、通信能力、等を含めて、ハードウェア装置の能力又は状態をアプリケーションにレポートし、そしてAPIは、ファームウェア、マイクロコード、或いはハードウェアコンポーネントで一部分実行される他の低レベルロジックにより一部分具現化される。
APIは、アプリケーションが、アプリケーションフレームワークを使用して、イベント及びイベントに対する応答を指定できるようにする。ある具現化では、APIコールは、態様に関連したもの、例えば、入力能力及び状態、出力能力及び状態、処理能力、電力状態、記憶能力及び状態、通信能力、等を含めて、ハードウェア装置の能力又は状態をアプリケーションにレポートし、そしてAPIは、ファームウェア、マイクロコード、或いはハードウェアコンポーネントで一部分実行される他の低レベルロジックにより一部分具現化される。
API発呼コンポーネントは、ローカルコンポーネント(即ち、API実施コンポーネントと同じデータ処理システム上にある)であるか、又はネットワークを経てAPIを通してAPI実施コンポーネントと通信するリモートコンポーネント(即ち、API実施コンポーネントとは異なるデータ処理システム上にある)である。API実施コンポーネントは、API発呼コンポーネント(即ち、異なるAPI実施コンポーネントにより露出されたAPIへAPIコールを発する)として動作してもよく、そしてAPI発呼コンポーネントは、異なるAPI発呼コンポーネントに露出されたAPIを実施することでAPI実施コンポーネントとして動作してもよい。
APIは、異なるプログラミング言語で書かれた複数のAPI発呼コンポーネントがAPI実施コンポーネントと通信を行えるようにする(従って、APIは、API実施コンポーネントとAPI発呼コンポーネントとの間でコールを転送しそして返送する特徴を含む)が、APIは、特定のプログラムング言語に関して実施されてもよい。API発呼コンポーネントは、一実施形態では、OSプロバイダーからのAPIのセット、及びプラグインプロバイダーからのAPIの別のセット、並びに別のプロバイダー(例えば、ソフトウェアライブラリのプロバイダー)又はAPIの別のセットのクリエータからのAPIの別のセットのように、異なるプロバイダーからAPIをコールすることができる。
図1は、本発明のある実施形態に使用できる規範的なAPIアーキテクチャーを例示するブロック図である。図1に示すように、APIアーキテクチャー100は、API120を実施するAPI実施コンポーネント110(例えば、オペレーティングシステム、ライブラリ、装置ドライバ、API、アプリケーションプログラム、ソフトウェア、又は他のモジュール)を備えている。API120は、API発呼コンポーネント130により使用されるAPI実施コンポーネントの1つ以上のファンクション、方法、クラス、オブジェクト、プロトコル、データ構造、フォーマット及び/又は他の特徴を指定する。API120は、API実施コンポーネントのファンクションがAPI発呼コンポーネントからどのようにしてパラメータを受け取るか、及びそのファンクションがAPI発呼コンポーネントへどのようにして結果を返送するか指定する少なくとも1つの発呼規定を指定することができる。API発呼コンポーネント130(例えば、オペレーティングシステム、ライブラリ、装置ドライバ、API、アプリケーションプログラム、ソフトウェア、又は他のモジュール)は、API120により指定されたAPI実施コンポーネント110の特徴にアクセスして使用するためにAPI120を通してAPIコールを実行する。API実施コンポーネント110は、APIコールに応答してAPI120を通してAPI発呼コンポーネント130へ値を返送する。
API実施コンポーネント110は、API120を通して指定されず且つAPI発呼コンポーネント130に利用できない付加的なファンクション、方法、クラス、データ構造、及び/又は他の特徴を含むことが明らかである。又、API発呼コンポーネント130は、API実施コンポーネント110と同じシステム上にあってもよいし、又はリモート配置されてネットワークを経てAPI120を使用してAPI実施コンポーネント110にアクセスしてもよいことを理解されたい。図1は、単一のAPI発呼コンポーネント130がAPI120と対話するところを示しているが、API発呼コンポーネント130とは異なる言語(又は同じ言語)で書かれた他のAPI発呼コンポーネントがAPI120を使用してもよいことを理解されたい。
API実施コンポーネント110、API120及びAPI発呼コンポーネント130は、マシン(例えば、コンピュータ又は他のデータ処理システム)で読み取りできる形態で情報を記憶するためのメカニズムを含むマシン読み取り可能な媒体に記憶される。例えば、マシン読み取り可能な媒体は、磁気ディスク、光学ディスク、ランダムアクセスメモリ、リードオンリメモリ、フラッシュメモリ装置、等を含む。
図2(ソフトウェアスタック)の規範的実施形態において、アプリケーションは、多数のサービスAPIを使用してサービス1又は2へ、そして多数のOS APIを使用してオペレーティングシステム(OS)へコールを発することができる。サービスA及びBは、多数のOS APIを使用してOSへコールを発することができる。
サービス2は、2つのAPIを有し、その一方(サービス2 API1)は、アプリケーション1からコールを受け取りそしてそこへ値を返送し、又、その他方(サービス2 API2)は、アプリケーション2からコールを受け取りそしてそこへ値を返送することに注意されたい。サービス1(例えば、ソフトウェアライブラリ)は、OS API1へコールを発しそしてそこから返送値を受け取り、又、サービス2(例えば、ソフトウェアライブラリ)は、OS API1及びOS API2の両方へコールを発しそしてそこから返送値を受け取る。アプリケーション2は、OS API2へコールを発しそしてそこから返送値を受け取る。
図3は、本発明の一実施形態により、サーチデーモン320と、マルチファンクション装置で実行される第三者アプリケーション310との間の対話を示す図である。ここで使用する第三者アプリケーションは、マルチファンクション装置の製造者以外のエンティティにより提供されるソフトウェアアプリケーションを広く指すものである。典型的に、マルチファンクション装置のユーザは、タスク又はファンクションの特定セットを遂行するためにマルチファンクション装置で実行可能な1つ以上の第三者アプリケーションをインストールする。第三者アプリケーションの幾つかの例として、電子ブックビューア、ソーシャルネットワークマネージャー、等が含まれる。
一般的に、マルチファンクション装置は、マルチファンクション装置のサーチデータベース380においてサーチデーモン320によりインデックスされる第三者アプリケーション310に関連したアプリケーションデータを記憶する。一実施形態において、この装置は、ここに述べるように各々機能するアプリケーション310のような複数の第三者アプリケーション、サーチデーモン320、又はインスタンスを使用する対応第三者アプリケーションに対して生成されたサーチデーモン320のインスタンスを有する。ある実施形態において、サーチデーモン320は、アプリケーションデータをインデックスするためにアプリケーションインデクサ330を起動する。より詳細には、アプリケーションインデクサ330は、アプリケーションデータのレコードをインデックス動作のために検索するように第三者アプリケーション310により与えられるアプリケーションサーチバンドル340のインスタンスを起動する。アプリケーションサーチバンドル340は、セキュリティの理由で他の第三者アプリケーション、システムアプリケーション及びサーチバンドルから分離された個別のプロセスにおいて起動されることに注意されたい。更に、アプリケーションサーチバンドル340が起動される個別のプロセスは、アプリケーションサーチバンドル340に関連した第三者アプリケーション310と同じ特権(例えば、メモリスペースの選択された部分を読み取り及びそこに書き込むことに関する特権であるが、メモリの他の部分への書き込み又は読み取りは制限される)を有してもよい。従って、アプリケーションサーチバンドル340は、第三者アプリケーション310がアクセスすることが許されるコンテンツへのアクセスは許可され、第三者アプリケーション310がアクセスすることが許されないコンテンツへのアクセスは禁止される。ある実施形態では、アプリケーションインデクサ330のようなサーチデーモン320の部分にも、第三者アプリケーション310と同じ特権(例えば、メモリスペース制限)が与えられる。ある実施形態において、サーチデーモン320は、第三者アプリケーション310を起動せずにユーザ問合せに応答してサーチデータベース380においてインデックスされたアプリケーションデータをサーチする。以上のコンセプトを更に例示するため、アプリケーションデータをインデックスしそしてサーチするためのサーチデーモン320と第三者アプリケーション310との間の対話のある実施形態を以下に詳細に説明する。
一実施形態において、第三者アプリケーション310は、マルチファンクション装置において実行されるべく起動される。実行中に、第三者アプリケーション310は、アプリケーションデータ315への変更を行う。例えば、第三者アプリケーション310は、マルチファンクション装置に記憶された既存のレコードを変更し、新たなレコードをマルチファンクション装置へダウンロードし、及び/又はマルチファンクション装置に記憶された既存のレコードを除去(又は削除)する。第三者アプリケーション310がアプリケーションデータ315を変更するとき、第三者アプリケーション310は、更に、アプリケーションデータ315において変更されたレコードの識別子(ID)をサーチデーモン320へ送信する。サーチデーモン320は、変更されたレコードのIDを更新リスト325に一時的に記憶する。
その後、サーチデーモン320は、インデックスされたデータを構成する必要があるときに、アプリケーションインデクサ330を実行するための個別のプロセスを起動する。
サーチデーモン320は、インデックスされたデータを、周期的に、又はサーチが要求されたときに、又は他の時間又は時間インターバルで、構成する。或いは又、サーチデーモン320は、それが更新リスト325における新たな情報を発見したときに、インデックスされたデータを構成する。これは、第三者アプリケーション310がサーチデーモン320に更新識別子を通知するときに行うことができる。又、例えば、アプリケーション更新、システム回復、システム更新、等のインデックス動作をスタートさせるトリガーがアプリケーション310の外部にある。ある実施形態では、アプリケーションサーチバンドル340は、第三者アプリケーション310に特有のサーチ関連プラグインである。第三者アプリケーション310は、第三者アプリケーション310をマルチファンクション装置にインストールするときにアプリケーションサーチバンドル340を与える。アプリケーションインデクサ330は、変更されたレコードのIDを更新リスト325からアプリケーションサーチバンドル340に与える。それに応答して、アプリケーションサーチバンドル340は、変更されたレコードを、インデックスされるべきアプリケーションインデクサ330に与える。或いは又、アプリケーションインデクサ330は、アプリケーションサーチバンドル340から第三者アプリケーション310に関連した全てのレコードを要求する。一実施形態において、第三者アプリケーション310に対するアプリケーションインデクサ330のインスタンスは、それ自身のプロセスにおいて第三者アプリケーション310として特権(メモリコントロール、メモリスペース、メモリ割り当て、ファイルシステムコントロール、及びネットワークコントロールに関して)を伴って実行される。
サーチデーモン320は、インデックスされたデータを、周期的に、又はサーチが要求されたときに、又は他の時間又は時間インターバルで、構成する。或いは又、サーチデーモン320は、それが更新リスト325における新たな情報を発見したときに、インデックスされたデータを構成する。これは、第三者アプリケーション310がサーチデーモン320に更新識別子を通知するときに行うことができる。又、例えば、アプリケーション更新、システム回復、システム更新、等のインデックス動作をスタートさせるトリガーがアプリケーション310の外部にある。ある実施形態では、アプリケーションサーチバンドル340は、第三者アプリケーション310に特有のサーチ関連プラグインである。第三者アプリケーション310は、第三者アプリケーション310をマルチファンクション装置にインストールするときにアプリケーションサーチバンドル340を与える。アプリケーションインデクサ330は、変更されたレコードのIDを更新リスト325からアプリケーションサーチバンドル340に与える。それに応答して、アプリケーションサーチバンドル340は、変更されたレコードを、インデックスされるべきアプリケーションインデクサ330に与える。或いは又、アプリケーションインデクサ330は、アプリケーションサーチバンドル340から第三者アプリケーション310に関連した全てのレコードを要求する。一実施形態において、第三者アプリケーション310に対するアプリケーションインデクサ330のインスタンスは、それ自身のプロセスにおいて第三者アプリケーション310として特権(メモリコントロール、メモリスペース、メモリ割り当て、ファイルシステムコントロール、及びネットワークコントロールに関して)を伴って実行される。
ある実施形態では、各レコードは、ユーザサーチ問合せと一致がとられるイベントにおいてサーチ結果に各レコードをどのように表示すべきか指令する属性のセットを含む。例えば、規範的なレコードは、ID、コンテンツのタイトル、コンテンツのサブタイトル、及びアプリケーション特有のID(ローカルIDとも称される)を含む。レコードがユーザサーチ問合せに一致するときは、レコードのタイトル及びサブタイトルがユーザサーチ問合せのサーチ結果に提示される。
アプリケーションサーチバンドル340からのレコードを使用して、アプリケーションインデクサ330は、サーチデータベース380にレコードを構築又は追加し、これは、レコードに関連したコンテンツのメタデータを含む。ある実施形態では、サーチデータベース380は、互いに同期された複数のデータベースを含む。例えば、サーチデータベース380は、インデックスされたコンテンツを記憶するための第1のデータベースと、インデックスされたコンテンツのレコードを記憶するための第2のデータベースとを含む。
サーチデータベースの一実施形態を以下に詳細に述べる。
サーチデータベースの一実施形態を以下に詳細に述べる。
ユーザがユーザサーチ問合せを提出すると、サーチデーモン320は、サーチデータベース380にアクセスして、そのユーザサーチ問合せに一致するレコードを見出す。サーチデーモン320は、第三者アプリケーション310を起動せずに、第三者アプリケーション310のアプリケーションデータに関連したレコードをサーチする。サーチデーモン320は、ユーザサーチ問合せに一致するレコードの部分を、例えば、ウインドウ内のサーチ結果領域に、その一致するレコードのタイトル及びサブタイトルを表示することにより、提示する。ある実施形態では、ユーザは、その一致するレコードからレコードを選択する。ユーザの選択に応答して、サーチデーモン320は、マルチファンクション装置の第三者アプリケーション310を起動して、その選択されたレコードに関連したコンテンツを提示する。例えば、コンテンツがビデオデータを含み、そして第三者アプリケーション310がビデオを再生するように起動されるか、又はコンテンツが電子ブックを含み、そして第三者アプリケーション310が電子ブックを表示するように起動される。
図4は、マルチファンクション装置の第三者アプリケーションに対してサーチ及びインデックス能力を設定するための方法の一実施形態のフローチャートである。この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ある実施形態では、ブロック410において、マルチファンクション装置上で第三者アプリケーションのインストールを開始する。ブロック420において、マルチファンクション装置の所定の位置に第三者アプリケーションと共に第三者アプリケーション特有のアプリケーションサーチバンドルを記憶する。広く述べると、アプリケーションサーチバンドルは、第三者アプリケーションにより与えられるプラグインである。アプリケーションサーチバンドルは、第三者アプリケーションに関連したコンテンツのレコードを転送するためにロードされる。ブロック430において、第三者アプリケーションのメタデータをチェックして、第三者アプリケーションが、第三者アプリケーションに関連したコンテンツをインデックスしたいかどうか決定する。第三者アプリケーションがコンテンツをインデックスしたい場合には、ブロック445において第三者アプリケーションを登録する。
例えば、マルチファンクション装置で実行されるサーチデーモンは、中央位置において登録されたアプリケーションのリストを追跡し、そしてサーチデーモンは、以下に述べるように、第三者アプリケーションに関連したコンテンツをインデックスする。
例えば、マルチファンクション装置で実行されるサーチデーモンは、中央位置において登録されたアプリケーションのリストを追跡し、そしてサーチデーモンは、以下に述べるように、第三者アプリケーションに関連したコンテンツをインデックスする。
図5は、マルチファンクション装置の第三者アプリケーションがアプリケーションデータの変更を処理するための方法の一実施形態を示すフローチャートである。この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ある実施形態では、ブロック510において、マルチファンクション装置で第三者アプリケーションを実行する。ブロック520において、第三者アプリケーションは、第三者アプリケーションに関連したアプリケーションデータのレコードを変更する。ブロック530において、第三者アプリケーションは、変更されたレコードの識別子(ID)を、マルチファンクション装置で実行されるサーチデーモンへ送信する。
図6は、マルチファンクション装置のサーチデーモンが第三者アプリケーションに関連したアプリケーションデータの変更を処理するための方法の一実施形態を示すフローチャートである。この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ブロック610において、マルチファンクション装置で実行されるサーチデーモンは、第三者アプリケーションに関連したアプリケーションデータの変更されたレコードのIDを受け取る。ブロック620において、サーチデーモンは、受け取ったIDを更新リストに入れる。サーチデーモンは、以下に述べるように、更新リストをその後に使用して、レコードをインデックスすべきかどうか決定する。
図7は、マルチファンクション装置のサーチデーモンがアプリケーションデータをインデックスするための方法の一実施形態を示すフローチャートである。この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ブロック710において、サーチデーモンは、更新リストをチェックして、変更されたレコードがあるかどうか決定する。ある実施形態では、サーチデーモンは、更新リストを周期的にチェックする。変更されたレコードがある場合には、サーチデーモンは、変更されたレコードをインデックスしなければならない。サーチデーモンは、ブロック720において、変更されたレコードをインデックスするために個別のプロセスにおいてアプリケーションインデクサを起動する。
図8は、マルチファンクション装置のアプリケーションインデクサがアプリケーションデータをインデックスするための方法の一実施形態を示すフローチャートである。この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ブロック810において、マルチファンクション装置で実行されるアプリケーションインデクサは、他の第三者アプリケーション、システムアプリケーション及びサーチバンドルから分離された個別のプロセスにおいてアプリケーションサーチバンドルのインスタンスをインスタンス生成する。アプリケーションサーチバンドルは、マルチファンクション装置にインストールされた第三者アプリケーションに特有のプラグインである。ブロック820において、アプリケーションインデクサは、アプリケーションサーチバンドルから変更されたレコードを要求するために変更されたレコードのIDをアプリケーションサーチバンドルへ通す。或いは又、アプリケーションインデクサは、第三者アプリケーションに関連した全てのレコードをインデックスするように決定し、従って、アプリケーションサーチバンドルから、第三者アプリケーションに関連した全てのレコードを要求してもよい。
ブロック830において、アプリケーションインデクサは、アプリケーションサーチバンドルから要求されたレコードを受け取る。各レコードは、コンテンツのタイトル、コンテンツのサブタイトル、及び第三者アプリケーションにより使用されるコンテンツのローカル識別子のような、レコードに関連したコンテンツの属性のセットを含む。ブロック840において、アプリケーションインデクサは、受け取ったレコードをインデックスし、そしてそのインデックスされたレコードをマルチファンクション装置内のサーチデータベースに記憶する。
図9は、サーチデーモンが第三者アプリケーションに関連したインデックスされたアプリケーションデータをサーチするための方法の一実施形態を示すフローチャートである。
この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
この方法は、ハードウェア、ソフトウェア、ファームウェア、又はそのいずれかの組み合わせによって遂行される。
ブロック910において、サーチデーモンは、ユーザサーチ問合せを受け取る。例えば、ユーザは、特定のテキストストリングを有するタイトル(例えば、“spring”)でレコードを探すためにユーザサーチ問合せを提出する。ブロック920において、サーチデーモンは、ユーザサーチ問合せに一致するレコードに対して、インデックスされたレコードを含むサーチデータベースをサーチする。
ブロック930において、サーチデーモンは、ユーザに提示されるべきサーチ結果においてユーザサーチ問合せに一致する各レコードの識別子を返送する。ある実施形態において、識別子は、タイトル、サブタイトル、関連第三者アプリケーションへの参照、ローカル識別子(第三者アプリケーションに特有な)、及びカテゴリを含む。
ある実施形態では、ユーザサーチ問合せが入力されるサーチボックスの所有者は、問合せ時間にサーチデーモンからサーチ結果を受け取る。ユーザは、サーチ結果からレコードを選択する。所有者は、サーチアプリケーション又は第三者アプリケーションである。所有者が、グローバルサーチを遂行するサーチアプリケーションである場合には、サーチアプリケーションは、第三者アプリケーションを起動し、そしてサーチデーモンからローカル識別子及びカテゴリを通す。所有者が第三者アプリケーションである場合には、選択されたレコードに関連したコンテンツを単に提示できるだけである。所有者が第三者アプリケーションであるときには、第三者アプリケーションに関連したサーチ結果の記録しか示されないことに注意されたい。
図10は、マルチファンクション装置のサーチデータベース1000の一実施形態を示す。サーチデータベース1000は、第1のデータベース1010及び第2のデータベース1020を含む。他の実施形態では、サーチデータベース1000は、3つ以上のデータベースを含んでもよい。
ある実施形態では、第1のデータベース1010は、ある第三者アプリケーション及びそれらの各IDに関連したコンテンツ(例えば、ドキュメント、ウェブページ、電子ブック、ビデオ、等)を記憶する。第2のデータベース1020は、コンテンツのレコードを記憶する。ここに取り上げる例では、各レコードは、コンテンツのID、コンテンツのタイトル、コンテンツのサブタイトル、及びコンテンツのローカルIDを含む。ローカルIDは、コンテンツにアクセスして処理する際に第三者アプリケーションによって使用される。従って、ローカルIDは、アプリケーションIDとも称される。ローカルIDの一実施形態が図11に詳細に示されている。サーチデータベース1000のコンテンツは、レコードをインデックスすることにより編成される。マルチファンクション装置で実行されるサーチデーモンは、上述したように、ユーザサーチ問合せに応答してレコードをインデックスしそしてサーチデータベース1000をサーチする。
ある実施形態では、サーチデータベース1000は、全てのカテゴリのコンテンツ(例えば、音楽、ビデオ、電子ブック、ポッドキャスト、等)をマルチファンクション装置に記憶する。サーチデータベース1000で遂行されるサーチは高速であるが、サーチデータベース1000は、バックアップするには大き過ぎるものである。従って、サーチデータベース1000は、必要に応じて、スクラッチから再構築しなければならない。
或いは又、マルチファンクション装置においてコンテンツのカテゴリごとに1つのサーチデータベースがある。例えば、第1のサーチデータベースは、音楽のために確立され、第2のサーチデータベースは、ポッドキャストのために確立され、第3のサーチデータベースは、電子ブックのために確立され、第4のサーチデータベースは、第1の第三者アプリケーションのためであり、第4のサーチデータベースは、第2の第三者アプリケーションのためであり、等々となる。異なるカテゴリのコンテンツを異なるサーチデータベースへ分離することにより、サーチデータベースは、各サーチデータベースのコンテンツがどれほど安定であるかに基づいて異なる頻度でバックアップされる。コンテンツが安定であるほど、それに対応するサーチデータベースをバックアップしなければならない頻度が少なくなる。しかしながら、サーチデータベースにおけるコンテンツのサーチは、サーチデータベースが複数あるために、低速化される。性能への影響を軽減するために、頻繁にアクセスされるコンテンツのレコードを記憶するようにマルチファンクション装置にキャッシュが具現化される。従って、サーチが高速となる。
図11は、規範的なドキュメントのIDの一実施形態を示す。ID1100は、規範的なドキュメントのタイトル1110、規範的なドキュメントのサブタイトル1120、規範的なドキュメントに関連した第三者アプリケーション1130、規範的なドキュメントのカテゴリ識別子1140、及び規範的なドキュメントのアプリケーション特有のID1150を含む。
ある実施形態では、ID1100は、第三者アプリケーション内の特定のカテゴリに対してのみ独特である。カテゴリは、コンテンツの形式、例えば、スライド、ビデオ、ドキュメント、ポッドキャスト、等である。従って、アプリケーション特有のID1150は、カテゴリごとに独特で、各カテゴリは、第三者アプリケーション内で独特である。
ある実施形態では、第三者アプリケーションは、ビデオ及びポッドキャストが埋め込まれたドキュメントに関連付けされる。第三者アプリケーションは、サーチデーモンに関する限り、そのようなドキュメントを単一のカテゴリ(例えば、「ドキュメント」)の下に入れる。第三者アプリケーションが、より微細粒度の結果、例えば、ドキュメントのポッドキャスト部分のみを返送できることを望む場合には、直接的にポッドキャストを指し、そしてそれを「ポッドキャスト」カテゴリにおいてインデックスするIDを与えることができる。第三者アプリケーションは、それらのいずれか又は両方をインデックスのために提出するよう選択することができる。サーチデーモンは、サブピースでの結果と、単一のアトミック結果との間を区別しない。
ある実施形態では、本発明の方法、システム及び装置は、電子装置、消費者向け装置、データ処理装置、デスクトップコンピュータ、ポータブルコンピュータ、ワイヤレス装置、セルラー装置、タブレット装置、ハンドヘルド装置、マルチタッチ装置、マルチタッチデータ処理装置、それら装置の組み合わせ、或いは他の同様の装置を含む種々の装置において具現化することができる。図12−14は、幾つかのこれら装置の例を示す。
図12は、本発明の一実施形態による装置2950を示す。この装置2950は、ハウジング2952、ディスプレイ/入力装置2954、スピーカ2956、マイクロホン2958、及び任意のアンテナ2960(ハウジングの外部から見えてもよいし又はハウジング内に隠れてもよい)を備えている。又、装置2950は、接近センサ2962及び加速度計2964も備えている。装置2950は、一体型PDAであるセルラー電話又は装置、一体型メディアプレーヤであるセルラー電話又は装置、娯楽システム(例えば、ゲームをプレイする)及びセルラー電話の両方であるセルラー電話又は装置でもよいし、或いは装置2950は、ここに述べる他の形式の装置でもよい。1つの特定の実施形態において、装置2950は、セルラー電話、メディアプレーヤ、及びPDAを含み、それらは全てハウジング2952内に収容される。装置2950は、普通の大人の手の中に入るに充分なほど小さく、且つ大人が片手で持ち歩くに充分なほど軽量であるというフォームファクタを有する。「ポータブル」という語は、大人のユーザの手(片方又は両方)で装置を容易に保持できることを意味し、例えば、ラップトップコンピュータ、iPhone(登録商標)及びiPod(登録商標)は、ポータブル装置であることが明らかである。
本発明のある実施形態では、装置2950は、ここに開示する方法の少なくとも幾つかを具現化するのに使用できる。
図13は、ワイヤレス通信能力を含むワイヤレス装置の一実施形態を示す。ワイヤレス装置3100は、アンテナシステム3101を備えている。又、ワイヤレス装置3100は、アンテナシステム3101を通して音声、デジタルデータ及び/又はメディア信号を送信及び/又は受信するために、アンテナシステム3101に結合されたデジタル及び/又はアナログ高周波(RF)トランシーバ3102も備えている。
又、ワイヤレス装置3100は、デジタルRFトランシーバをコントロールすると共に、音声、デジタルデータ及び/又はメディアデータを管理するためのデジタル処理システム3103も備えている。このデジタル処理システム3103は、例えば、マイクロプロセッサやコントローラのような汎用処理装置である。デジタル処理システム3103は、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)又はDSP(デジタル信号プロセッサ)のような特殊目的の処理装置でもよい。又、デジタル処理システム3103は、ワイヤレス装置3100の他のコンポーネントとインターフェイスするための、この分野で知られた他の装置を含んでもよい。例えば、デジタル処理システム3103は、ワイヤレス装置3100の他のコンポーネントとインターフェイスするためのアナログ/デジタル及びデジタル/アナログコンバータを含んでもよい。
デジタル処理システム3103は、オーディオデータのファイルのようなメディアを管理するための汎用又は特殊目的処理装置も含むメディア処理システム3109を含んでもよい。
デジタル処理システム3103は、オーディオデータのファイルのようなメディアを管理するための汎用又は特殊目的処理装置も含むメディア処理システム3109を含んでもよい。
又、ワイヤレス装置3100は、ワイヤレス装置3100のデータ及び/又はオペレーティングプログラムを記憶するためにデジタル処理システムに結合された記憶装置3104も含む。この記憶装置3104は、例えば、任意の形式のソリッドステート又は磁気メモリ装置でもよい。又、記憶装置3104は、マシン読み取り可能な媒体でもよいし又はそれを含んでもよい。
又、ワイヤレス装置3100は、ユーザ入力(例えば、電話番号、名前、アドレス、メディア選択、等)を受け容れるためデジタル処理システム3103に結合された1つ以上の入力装置3105も含む。入力装置3105は、例えば、キーパッド、タッチパッド、タッチスクリーン、ディスプレイ装置と組み合わせされるポインティング装置、又は同様の入力装置の1つ以上である。
又、ワイヤレス装置3100は、メッセージ、電話コール情報、連絡先情報、ピクチャー、映画及び/又はタイトル、或いは入力装置3105を経て選択されるメディアの他の指示子のような情報を表示するためにデジタル処理システム3103に結合された少なくとも1つのディスプレイ装置3106も含む。ディスプレイ装置3106は、例えば、LCDディスプレイ装置である。一実施形態において、ディスプレイ装置3106及び入力装置3105は、同じ装置に一緒に一体化されてもよい(例えば、LCDディスプレイ装置のようなディスプレイ装置に一体化されるマルチタッチ入力パネルのようなタッチスクリーンLCD)。ディスプレイ装置3106は、ある環境の下でディスプレイ装置3106を照明するためのバックライト3106Aを含む。ワイヤレス装置3100は、複数のディスプレイを含んでもよいことが明らかであろう。
又、ワイヤレス装置3100は、デジタルRFトランシーバ3102、デジタル処理システム3103、記憶装置3104、入力装置3105、マイクロホン3105A、オーディオトランスジューサ3108、メディア処理システム3109、センサ3110及びディスプレイ装置3106を含むシステムのコンポーネントに動作電力を供給ためのバッテリ3107も含む。バッテリ3107は、例えば、充電式又は非充電式のリチウム又はニッケル金属水素化物バッテリである。又、ワイヤレス装置3100は、1つ以上のスピーカを含むオーディオトランスジューサ3108、及び少なくとも1つのマイクロホン3105Aも含む。本発明のある実施形態において、ワイヤレス装置3100は、本開示に述べる方法の少なくとも幾つかを具現化するのに使用できる。
図14は、本発明の実施形態による装置の別の例を示す。この装置3200は、マイクロプロセッサ3202のようなプロセッサ、及びメモリ3204を備え、これらは、バス3206を通して互いに結合される。装置3200は、任意であるが、マイクロプロセッサ3202に結合されたキャッシュ3208を含んでもよい。又、装置は、任意であるが、例えば、任意の形式のソリッドステート又は磁気メモリ装置である記憶装置3240を含んでもよい。記憶装置3240は、マシン読み取り可能な媒体でもよいし、又はそれを含んでもよい。
又、この装置は、任意であるが、バス3206を通して他のコンポーネントに結合されるディスプレイコントローラ・ディスプレイ装置3210を含んでもよい。入力/出力装置3214のインターフェイスをなすと共に、ユーザアクティビティを感知する1つ以上のセンサ3216のインターフェイスもなすために、1つ以上の入力/出力コントローラ3212もバス3206に結合される。バス3206は、この分野で良く知られた種々のブリッジ、コントローラ、及び/又はアダプタを通して互いに接続された1つ以上のバスを含む。入力/出力装置3214は、キーパット又はキーボード、或いはカーソルコントロール装置、例えば、タッチ入力パネルを含む。更に、入力/出力装置3214は、ワイヤードネットワーク又はワイヤレスネットワーク(例えば、RFトランシーバ)のためのネットワークインターフェイスを含む。センサ3216は、例えば、接近センサ又は周囲光センサを含む、ここに述べるセンサの1つである。装置3200の少なくとも幾つかの具現化において、マイクロプロセッサ3202は、1つ以上のセンサ3216からデータを受け取り、そしてここに述べたようにそのデータの分析を行うことができる。
本発明のある実施形態において、装置3200は、本開示で述べた方法の少なくとも幾つかを具現化するのに使用することができる。
以上、特定の規範的な実施形態を参照して本発明を説明した。特許請求の範囲に述べる本発明の広い精神及び範囲から逸脱せずに、種々の変更がなされ得ることが明らかであろう。従って、明細書及び図面は、本発明を例示するものに過ぎず、何ら限定するものではない。
100:APIアーキテクチャー
110:API実施コンポーネント
120:API
130:API発呼コンポーネント
2950:装置
2952:ハウジング
2954:ディスプレイ/入力装置
2956:スピーカ
2958:マイクロホン
2960:アンテナ
2962:接近センサ
2964:加速度計
3100:ワイヤレス装置
3101:アンテナシステム
3102:デジタル及び/又はアナログRFトランシーバ
3103:デジタル処理システム
3104:記憶装置
3105:入力装置
3105A:マイクロホン
3106:ディスプレイ装置
3106A:バックライト
3107:バッテリ
3108:オーディオトランスジューサ
3109:メディア処理システム
3110:センサ
3200:装置
3202:マイクロプロセッサ
3204:メモリ
3206:バス
3208:キャッシュ
3210:ディスプレイコントローラ・ディスプレイ装置
3212:I/Oコントローラ
3214:I/O装置
3216:ユーザアクティビティのためのセンサ
3240:記憶装置
110:API実施コンポーネント
120:API
130:API発呼コンポーネント
2950:装置
2952:ハウジング
2954:ディスプレイ/入力装置
2956:スピーカ
2958:マイクロホン
2960:アンテナ
2962:接近センサ
2964:加速度計
3100:ワイヤレス装置
3101:アンテナシステム
3102:デジタル及び/又はアナログRFトランシーバ
3103:デジタル処理システム
3104:記憶装置
3105:入力装置
3105A:マイクロホン
3106:ディスプレイ装置
3106A:バックライト
3107:バッテリ
3108:オーディオトランスジューサ
3109:メディア処理システム
3110:センサ
3200:装置
3202:マイクロプロセッサ
3204:メモリ
3206:バス
3208:キャッシュ
3210:ディスプレイコントローラ・ディスプレイ装置
3212:I/Oコントローラ
3214:I/O装置
3216:ユーザアクティビティのためのセンサ
3240:記憶装置
Claims (20)
- プロセッサにより実行された場合に、プロセッサがアプリケーションプログラミングインターフェイス(API)を発生するようにさせるインストラクションを与えるマシン読み取り可能な記憶媒体において、前記APIは、API実施コンポーネントが、
前記プロセッサで実行可能な第三者アプリケーションの特権と同等の特権を有するプロセスにおいて実行するようにアプリケーションインデクサを起動し、前記プロセスは、前記プロセッサで実行可能な他の第三者アプリケーションを伴う他のプロセスとは個別のものであり、
前記第三者アプリケーションに特有のアプリケーションサーチバンドルのインスタンスを前記アプリケーションインデクサによりインスタンス生成し、
前記アプリケーションインデクサは、前記アプリケーションサーチバンドルのインスタンスからレコードをインデックスして、そのインデックスされたレコードをサーチデータベースに記憶する、
ことを含むオペレーションを遂行するのを許す、マシン読み取り可能な記憶媒体。 - 前記アプリケーションサーチバンドルは、レコードをインデックスするのに使用されるべきレコードの属性のセットを指定し、前記他のプロセスは、前記他の第三者アプリケーションのサーチ及びインデックスプロセスを含み、そして前記第三者アプリケーションに特有のアプリケーションサーチバンドルのインスタンスは、前記第三者アプリケーションと同じメモリ特権に制限される、請求項1に記載のマシン読み取り可能な記憶媒体。
- 前記オペレーションは、更に、
前記アプリケーションインデクサが、更新リストにおけるレコードに関連した識別を前記アプリケーションサーチバンドルへ通してレコードを要求し、前記識別は、前記第三者アプリケーションがレコードを変更するときに前記更新リストへ追加される、請求項1に記載のマシン読み取り可能な記憶媒体。 - 装置にインストールされた第三者アプリケーションに関連したレコードを、その第三者アプリケーションに特有のサーチプラグインを使用してインデックスし、このレコードをインデックスするプロセスは、装置にインストールされた他の第三者アプリケーションから分離され、
前記インデックスされたレコードを使用してユーザサーチ問合せに応答してコンテンツをサーチする、
ことを含むコンピュータ実施方法。 - 前記ユーザサーチ問合せに一致するレコードを、グラフィックユーザインターフェイスを経て提示し、
ユーザが前記グラフィックユーザインターフェイスを経て前記ユーザサーチ問合せに一致するレコードからレコードを選択するのを許し、前記サーチプラグは、前記第三者アプリケーションと同じメモリ特権に制限される、請求項4に記載の方法。 - ユーザがレコードを選択するのに応答して、レコードを提示するために第三者アプリケーションを起動する、請求項5に記載の方法。
- 前記ユーザサーチ問合せに一致するレコードを提示することは、レコードの属性のセットを前記グラフィックユーザインターフェイスに表示することを含み、前記属性のセットは、前記第三者アプリケーションに特有のサーチプラグインにより指定される、請求項5に記載の方法。
- コンピューティング装置に第三者アプリケーションをインストールし、
前記第三者アプリケーションのメタデータをチェックして、前記第三者アプリケーションがその第三者アプリケーションに関連したコンテンツをインデックスしたいかどうか決定し、
前記第三者アプリケーションがその第三者アプリケーションに関連したコンテンツをインデックスしたい場合には、その第三者アプリケーションを登録する、
ことを含むコンピュータ実施方法。 - ユーザ要求に応答して前記第三者アプリケーションを起動することを更に含み、前記第三者アプリケーションは、レコードを変更し、そしてその変更されたレコードの識別を、更新リストに記憶するべくコンピューティング装置で実行されるサーチデーモンへ送信し、その更新リストは、その変更されたレコードをインデックスするためにサーチデーモンにより使用可能なものである、請求項8に記載の方法。
- 前記変更されたレコードの属性のセットを、インデックスされるべきサーチデーモンへ通すために個別のプロセスにおいて前記第三者アプリケーションに特有のサーチプラグインを呼び出すことを更に含む、請求項9に記載の方法。
- 前記サーチプラグインは、前記第三者アプリケーションが終了した後に呼び出される、請求項10に記載の方法。
- 前記第三者アプリケーションにより与えられる特権と同等の個別のプロセス特権を与えることを更に含む、請求項10に記載の方法。
- データ処理装置で実行可能な第三者アプリケーションは、提示されるべきレコードの属性のセットを、そのレコードが、ユーザサーチ問合せに応答してサーチデーモンにより遂行されるサーチのサーチ結果の一部分になったときに指定し、
前記第三者アプリケーションは、その第三者アプリケーションを起動せずにインデックスされるべきサーチデーモンによりインスタンス生成されるサーチインデクサにレコードを通すためにその第三者アプリケーションに特有のアプリケーションサーチバンドルを与える、
ことを含むコンピュータ実施方法。 - 前記第三者アプリケーションは、その第三者アプリケーションに関連したコンテンツのレコードを変更し、
前記変更されたレコードの識別子を、前記サーチインデクサによりアクセスできるリストに記憶する、
ことを更に含む請求項13に記載の方法。 - 前記サーチインデクサは、前記第三者アプリケーションが終了した後に前記リストから識別子を検索し、そしてその識別子を使用して、前記変更されたレコードを前記アプリケーションサーチバンドルから得る、請求項14に記載の方法。
- データ処理装置で実行することができ、そのデータ処理装置で実行可能な第三者アプリケーションの特権と同等の特権を有するプロセスにおいて実行するためのアプリケーションインデクサであって、前記プロセスは、前記データ処理装置で実行可能な他の第三者アプリケーションを伴う他のプロセスとは個別のものであるようなアプリケーションインデクサと、
前記データ処理装置に結合されたデータ記憶装置に記憶されるサーチデータベースと、を備え、前記アプリケーションインデクサは、前記第三者アプリケーションに特有のアプリケーションサーチバンドルのインスタンスをインスタンス生成し、そしてそのアプリケーションサーチバンドルのインスタンスからレコードをインデックスして、そのインデックスされたレコードをサーチデータベースに記憶するように動作できる、装置。 - 前記アプリケーションサーチバンドルは、レコードをインデックスするのに使用されるべきレコードの属性のセットを指定し、そしてデータ処理システムで実行可能な別の第三者アプリケーションの特権と同等の特権を有する別のプロセスにおいて別のアプリケーションインデクサをデータ処理システムで実行することができる、請求項12に記載の装置。
- 前記アプリケーションインデクサは、レコードを要求するために更新リスト内のレコードに関連した識別を前記アプリケーションサーチバンドルへ通すように動作し、その識別は、前記第三者アプリケーションがレコードを変更するときに更新リストに追加される、請求項13に記載の装置。
- ユーザからサーチ問合せを受け取るためにグラフィックユーザインターフェイスを表示するディスプレイ装置と、
データ処理装置で実行することができ、第三者アプリケーションを呼び出すことなく、サーチ問合せに一致するレコードについてサーチデータベースにおいてインデックスされたレコードをサーチするサーチデーモンと、
を更に備えた請求項12に記載の装置。 - 前記グラフィックユーザインターフェイスは、サーチ問合せに一致するレコードを提示し、そしてユーザがそのサーチ問合せに一致するレコードからレコードを選択できるようにし、更に、ユーザがレコードを選択するのに応答して、前記データ処理装置は、ユーザにより選択されたレコードを提示するために前記第三者アプリケーションを起動するように動作する、請求項15に記載の装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US32176410P | 2010-04-07 | 2010-04-07 | |
US61/321,764 | 2010-04-07 | ||
US12/829,209 US9098363B2 (en) | 2010-04-07 | 2010-07-01 | Search extensibility to third party applications |
US12/829,209 | 2010-07-01 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503730A Division JP5730985B2 (ja) | 2010-04-07 | 2010-09-23 | 第三者アプリケーションへのサーチ拡張性 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015015055A true JP2015015055A (ja) | 2015-01-22 |
Family
ID=44761677
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503730A Active JP5730985B2 (ja) | 2010-04-07 | 2010-09-23 | 第三者アプリケーションへのサーチ拡張性 |
JP2014208055A Abandoned JP2015015055A (ja) | 2010-04-07 | 2014-10-09 | 第三者アプリケーションへのサーチ拡張性 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013503730A Active JP5730985B2 (ja) | 2010-04-07 | 2010-09-23 | 第三者アプリケーションへのサーチ拡張性 |
Country Status (12)
Country | Link |
---|---|
US (1) | US9098363B2 (ja) |
EP (1) | EP2556431B1 (ja) |
JP (2) | JP5730985B2 (ja) |
KR (1) | KR101517659B1 (ja) |
AU (1) | AU2010350748B2 (ja) |
BR (1) | BR112012025578B1 (ja) |
CA (1) | CA2794715C (ja) |
DE (1) | DE112010005475T5 (ja) |
HK (1) | HK1163286A1 (ja) |
MX (1) | MX2012011616A (ja) |
TW (1) | TW201140436A (ja) |
WO (1) | WO2011126510A1 (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2410441A1 (en) * | 2010-07-16 | 2012-01-25 | Research In Motion Limited | Registration of applications and unified media search |
US8751493B2 (en) * | 2012-04-23 | 2014-06-10 | Google Inc. | Associating a file type with an application in a network storage service |
US9195840B2 (en) * | 2012-04-23 | 2015-11-24 | Google Inc. | Application-specific file type generation and use |
US9176720B1 (en) | 2012-04-23 | 2015-11-03 | Google Inc. | Installation of third-party web applications into a container |
US9262420B1 (en) | 2012-04-23 | 2016-02-16 | Google Inc. | Third-party indexable text |
US9148429B2 (en) | 2012-04-23 | 2015-09-29 | Google Inc. | Controlling access by web applications to resources on servers |
US8990183B2 (en) | 2012-06-06 | 2015-03-24 | Microsoft Technology Licensing, Llc | Deep application crawling |
US9317709B2 (en) | 2012-06-26 | 2016-04-19 | Google Inc. | System and method for detecting and integrating with native applications enabled for web-based storage |
CN103546358B (zh) * | 2012-07-09 | 2016-05-04 | 腾讯科技(深圳)有限公司 | 面向第三方应用的即时通讯方法及系统 |
DE102012019063A1 (de) * | 2012-09-28 | 2014-04-03 | Audi Ag | Verfahren und System zum Bereitstellen von Daten in einem Kraftwagen |
US9135049B2 (en) * | 2012-10-16 | 2015-09-15 | Red Hat Israel, Ltd. | Performing thin-provisioning operations on virtual disk images using native features of the storage domain |
US9529785B2 (en) | 2012-11-27 | 2016-12-27 | Google Inc. | Detecting relationships between edits and acting on a subset of edits |
US9223870B2 (en) | 2012-11-30 | 2015-12-29 | Microsoft Technology Licensing, Llc | Decoration of search results by third-party content providers |
US9104787B2 (en) * | 2012-12-14 | 2015-08-11 | Microsoft Technology Licensing, Llc | Augmenting search results with relevant third-party application content |
US20140189136A1 (en) | 2012-12-31 | 2014-07-03 | Oracle International Corporation | Enforcing web service policies attached to clients operating in restricted footprint platforms |
US9002821B2 (en) | 2013-01-16 | 2015-04-07 | Google Inc. | Indexing application pages of native applications |
US9146972B2 (en) | 2013-03-15 | 2015-09-29 | Google Inc. | Ranking of presentation modes for particular content |
US8996520B2 (en) | 2013-03-15 | 2015-03-31 | Google Inc. | Ranking of native application content |
US9430578B2 (en) | 2013-03-15 | 2016-08-30 | Google Inc. | System and method for anchoring third party metadata in a document |
US9727577B2 (en) | 2013-03-28 | 2017-08-08 | Google Inc. | System and method to store third-party metadata in a cloud storage system |
US9461870B2 (en) | 2013-05-14 | 2016-10-04 | Google Inc. | Systems and methods for providing third-party application specific storage in a cloud-based storage system |
US9135346B2 (en) | 2013-06-07 | 2015-09-15 | Google Inc. | Index data for native applications |
US9971752B2 (en) | 2013-08-19 | 2018-05-15 | Google Llc | Systems and methods for resolving privileged edits within suggested edits |
US9311407B2 (en) | 2013-09-05 | 2016-04-12 | Google Inc. | Native application search results |
US9348803B2 (en) | 2013-10-22 | 2016-05-24 | Google Inc. | Systems and methods for providing just-in-time preview of suggestion resolutions |
US9720672B2 (en) * | 2014-01-06 | 2017-08-01 | Quixey, Inc. | Searching and accessing application functionality |
US9608870B1 (en) | 2014-02-28 | 2017-03-28 | Google Inc. | Deep link verification for native applications |
US9251224B2 (en) | 2014-03-04 | 2016-02-02 | Google Inc. | Triggering and ranking of native applications |
US9652508B1 (en) | 2014-03-05 | 2017-05-16 | Google Inc. | Device specific adjustment based on resource utilities |
US10061796B2 (en) | 2014-03-11 | 2018-08-28 | Google Llc | Native application content verification |
US9645980B1 (en) | 2014-03-19 | 2017-05-09 | Google Inc. | Verification of native applications for indexing |
US9524347B1 (en) | 2014-04-01 | 2016-12-20 | Google Inc. | Automatically implementing an application in response to a search query |
US9513961B1 (en) | 2014-04-02 | 2016-12-06 | Google Inc. | Monitoring application loading |
US9767159B2 (en) | 2014-06-13 | 2017-09-19 | Google Inc. | Ranking search results |
US10013496B2 (en) | 2014-06-24 | 2018-07-03 | Google Llc | Indexing actions for resources |
RU2710293C2 (ru) | 2014-06-24 | 2019-12-25 | Гугл Инк. | Поисковые результаты для нативных приложений |
US10210263B1 (en) | 2014-06-24 | 2019-02-19 | Google Llc | Native application search results |
US10073911B2 (en) | 2014-06-25 | 2018-09-11 | Google Llc | Deep links for native applications |
US9892190B1 (en) | 2014-06-25 | 2018-02-13 | Google Inc. | Search suggestions based on native application history |
US10049367B2 (en) * | 2014-09-26 | 2018-08-14 | General Electric Company | Product compliance fulfillment portal system and method |
US10769184B2 (en) | 2015-06-05 | 2020-09-08 | Apple Inc. | Systems and methods for providing improved search functionality on a client device |
US11423023B2 (en) | 2015-06-05 | 2022-08-23 | Apple Inc. | Systems and methods for providing improved search functionality on a client device |
US9348671B1 (en) | 2015-07-23 | 2016-05-24 | Google Inc. | Monitoring application loading |
CN107045510A (zh) * | 2016-02-05 | 2017-08-15 | 优信拍(北京)信息科技有限公司 | 一种数据搜索方法及装置 |
US10862968B2 (en) | 2016-04-01 | 2020-12-08 | Intel IP Corporation | Sensor data search platform |
US10931679B2 (en) | 2016-06-07 | 2021-02-23 | Microsoft Technology Licensing, Llc | Service actions for digital assistants |
KR102490426B1 (ko) | 2018-01-31 | 2023-01-19 | 삼성전자주식회사 | 추천 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법 |
US11822699B1 (en) * | 2021-10-21 | 2023-11-21 | Secure Computing, Llc | Preventing surreptitious access to file data by malware |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279154B1 (en) | 1998-10-13 | 2001-08-21 | Hewlett-Packard Company | Apparatus and method for an install system for third party applications |
US6338056B1 (en) | 1998-12-14 | 2002-01-08 | International Business Machines Corporation | Relational database extender that supports user-defined index types and user-defined search |
JP2000322418A (ja) * | 1999-05-07 | 2000-11-24 | Fujitsu Ltd | データベース装置 |
US7448042B1 (en) * | 2003-05-06 | 2008-11-04 | Apple Inc. | Method and apparatus for providing inter-application accessibility |
US20050091658A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Operating system resource protection |
EP1574970A1 (en) * | 2004-03-09 | 2005-09-14 | Exalead | Computer program for accessing information records of different applications |
US20060085401A1 (en) | 2004-10-20 | 2006-04-20 | Microsoft Corporation | Analyzing operational and other data from search system or the like |
US8677274B2 (en) * | 2004-11-10 | 2014-03-18 | Apple Inc. | Highlighting items for search results |
US10769215B2 (en) * | 2005-07-14 | 2020-09-08 | Conversant Wireless Licensing S.A R.L. | Method, apparatus and computer program product providing an application integrated mobile device search solution using context information |
US9569556B2 (en) * | 2005-08-19 | 2017-02-14 | Google Inc. | Software architecture for displaying information content from plug-in modules in a user interface |
US7657585B2 (en) | 2005-10-25 | 2010-02-02 | Innternational Business Machines Corporation | Automated process for identifying and delivering domain specific unstructured content for advanced business analysis |
US8019632B2 (en) | 2006-10-16 | 2011-09-13 | Accenture Global Services Limited | System and method of integrating enterprise applications |
US7877368B2 (en) | 2007-11-02 | 2011-01-25 | Paglo Labs, Inc. | Hosted searching of private local area network information with support for add-on applications |
US8244658B2 (en) | 2008-05-01 | 2012-08-14 | Salesforce.Com, Inc. | System, method and computer program product for generating a set of instructions to an on-demand database service |
-
2010
- 2010-07-01 US US12/829,209 patent/US9098363B2/en active Active
- 2010-09-23 MX MX2012011616A patent/MX2012011616A/es active IP Right Grant
- 2010-09-23 CA CA2794715A patent/CA2794715C/en active Active
- 2010-09-23 KR KR1020127028487A patent/KR101517659B1/ko active IP Right Grant
- 2010-09-23 DE DE112010005475T patent/DE112010005475T5/de not_active Ceased
- 2010-09-23 EP EP10760868.9A patent/EP2556431B1/en active Active
- 2010-09-23 BR BR112012025578-9A patent/BR112012025578B1/pt active IP Right Grant
- 2010-09-23 JP JP2013503730A patent/JP5730985B2/ja active Active
- 2010-09-23 AU AU2010350748A patent/AU2010350748B2/en active Active
- 2010-09-23 WO PCT/US2010/050075 patent/WO2011126510A1/en active Application Filing
- 2010-09-24 TW TW099132448A patent/TW201140436A/zh unknown
-
2012
- 2012-04-11 HK HK12103524.5A patent/HK1163286A1/zh not_active IP Right Cessation
-
2014
- 2014-10-09 JP JP2014208055A patent/JP2015015055A/ja not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CA2794715C (en) | 2016-04-12 |
JP2013527521A (ja) | 2013-06-27 |
AU2010350748B2 (en) | 2014-03-20 |
TW201140436A (en) | 2011-11-16 |
US20110252038A1 (en) | 2011-10-13 |
MX2012011616A (es) | 2012-11-30 |
EP2556431B1 (en) | 2024-01-24 |
EP2556431A1 (en) | 2013-02-13 |
US9098363B2 (en) | 2015-08-04 |
WO2011126510A1 (en) | 2011-10-13 |
AU2010350748A1 (en) | 2012-11-01 |
KR101517659B1 (ko) | 2015-05-04 |
BR112012025578A2 (pt) | 2017-11-28 |
KR20130008058A (ko) | 2013-01-21 |
BR112012025578B1 (pt) | 2021-01-12 |
JP5730985B2 (ja) | 2015-06-10 |
HK1163286A1 (zh) | 2012-09-07 |
CA2794715A1 (en) | 2011-10-13 |
DE112010005475T5 (de) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5730985B2 (ja) | 第三者アプリケーションへのサーチ拡張性 | |
US8498981B2 (en) | Search capability implementation for a device | |
US8694981B2 (en) | Shared resource dependencies | |
JP4404781B2 (ja) | 管理サーバにより更新されるオンデバイスアプリケーションカタログ | |
TWI473019B (zh) | 用於可部署物件階層內之應用程式管理的方法及系統 | |
KR101633366B1 (ko) | 앱스토어 서비스 제공 방법 및 시스템 | |
CN102393844B (zh) | 应用注册和统一媒体搜索 | |
US20130263053A1 (en) | Media widget to interface with multiple underlying applications | |
CN102930227A (zh) | 用于使用外部存储服务来保存文档的用户界面 | |
US8195860B2 (en) | Computing device with handheld and extended computing devices | |
CN102938039A (zh) | 针对应用的选择性文件访问 | |
CN104106054A (zh) | 节能应用通知系统 | |
BRPI0915601B1 (pt) | método para interface de usuário para gerenciamento de aplicativo para um dispositivo móvel | |
CN102214093B (zh) | 向第三方应用的搜索扩展能力 | |
WO2011117465A1 (en) | Method and apparatus for portable index on a removable storage medium | |
CN105677148A (zh) | 一种终端应用的查找方法及装置 | |
EP2888661B1 (en) | Re-use of binaries for multiple user accounts | |
CN108140039B (zh) | 流式传输来自并行批次的数据库访问的记录 | |
US8352468B2 (en) | Top search hits based on learned user preferences | |
KR20130050705A (ko) | 키워드 검색 방법 및 장치 | |
AU2011326237A1 (en) | Application file system access | |
CN103984884A (zh) | 软件许可方法和系统 | |
CN106230958A (zh) | 媒体资源下载方法及装置 | |
KR20110038338A (ko) | 원격자원 제공 방법 및 원격자원 액세스 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141110 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141110 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20150626 |