JP6575973B2 - A context-sensitive framework that provides data from related applications - Google Patents

A context-sensitive framework that provides data from related applications Download PDF

Info

Publication number
JP6575973B2
JP6575973B2 JP2017543740A JP2017543740A JP6575973B2 JP 6575973 B2 JP6575973 B2 JP 6575973B2 JP 2017543740 A JP2017543740 A JP 2017543740A JP 2017543740 A JP2017543740 A JP 2017543740A JP 6575973 B2 JP6575973 B2 JP 6575973B2
Authority
JP
Japan
Prior art keywords
application
data
context
computing device
applications
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.)
Active
Application number
JP2017543740A
Other languages
Japanese (ja)
Other versions
JP2018509699A (en
Inventor
ゼイン エヴァンズ イーサン
ゼイン エヴァンズ イーサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US14/623,903 external-priority patent/US10684866B2/en
Priority claimed from US14/623,875 external-priority patent/US9740467B2/en
Priority claimed from US14/623,893 external-priority patent/US9489247B2/en
Priority claimed from US14/623,913 external-priority patent/US20160239578A1/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2018509699A publication Critical patent/JP2018509699A/en
Priority to JP2019149103A priority Critical patent/JP6961649B2/en
Application granted granted Critical
Publication of JP6575973B2 publication Critical patent/JP6575973B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Description

今日では、モバイルコンピューティング装置のユーザが利用できるソフトウェアアプリケーションが多数存在する。例えば、いくつかの電子マーケットは、100万個以上の異なるアプリケーションを含む。これらのアプリケーションの多くは、無料または従来のデスクトップソフトウェアアプリケーションに比べて低コストで利用できる。ユーザは、電子マーケットにワイヤレスで接続し、利用できるアプリケーションをブラウズし、選択したアプリケーションをダウンロードすることにより、アプリケーションを取得することができる。   There are many software applications available today for users of mobile computing devices. For example, some electronic markets include over a million different applications. Many of these applications are available at a lower cost compared to free or traditional desktop software applications. A user can obtain an application by connecting to the electronic market wirelessly, browsing for an available application, and downloading the selected application.

しかしながら、100万個もの利用可能なアプリケーションの中からアプリケーションを見つけようとするのは、ユーザにとって困難な場合がある。例えば、同一または同様の機能を提供する何百もの利用できるアプリケーションがあり得るため、ユーザが、ダウンロードする特定のアプリケーションを決めるのに難しい場合がある。ユーザは、どのようなアプリケーションを取得するかを決めるときの助けとして顧客評価を見るかもしれない。ユーザはまた、アプリケーションをダウンロードして試してみるかもしれない。例えば、自分のモバイルコンピューティング装置に何百ものアプリケーションをダウンロードするユーザもいる。しかしながら、モバイルコンピューティング装置上にアプリケーションをインストールしても、アプリケーションが使用可能であることをユーザが常に覚えているとは限らない。その上、アプリケーションをインストールした後は、ユーザはさらに、アプリケーションを使用したいとき、自分のデバイス上のアプリケーションを見つけて起動しなければならない場合がある。   However, it may be difficult for a user to try to find an application out of 1 million available applications. For example, there can be hundreds of available applications that provide the same or similar functionality, which can make it difficult for a user to determine the specific application to download. Users may see customer ratings as an aid in deciding what applications to get. The user may also download and try out the application. For example, some users download hundreds of applications to their mobile computing device. However, installing an application on a mobile computing device does not always remind the user that the application is usable. In addition, after installing the application, the user may also have to find and launch the application on his device when he wants to use the application.

これらおよびその他の考慮事項に関して、ここになされた本開示は提示される。   With respect to these and other considerations, the disclosure made herein is presented.

現在のコンテキストに関連するアプリケーションがユーザにデータを提供する例示的な動作環境を描写するブロック図である。FIG. 2 is a block diagram depicting an exemplary operating environment in which an application associated with a current context provides data to a user. 異なるアプリケーションから受信したアプリケーションデータを表示する例示的なグラフィカル・ユーザー・インタフェース(「GUI」)を示す画面図である。FIG. 6 is a screen diagram illustrating an example graphical user interface (“GUI”) that displays application data received from different applications. 通信のためコンテクスチュアル・サービスを使用するアプリケーションを図示する系統図である。FIG. 2 is a system diagram illustrating an application that uses a contextual service for communication. ユーザの現在のコンテキストに応じて機能を実行するためのアプリケーションを識別して利用することを示す系統図である。It is a systematic diagram which shows identifying and using the application for performing a function according to a user's present context. コンテキストセンシティブ・フレームワークの中での、1つ以上のアプリケーションの使用に関係する分析を表示する例示的なGUIを示す画面図である。FIG. 4 is a screen diagram illustrating an example GUI displaying an analysis related to the use of one or more applications within a context sensitive framework. アプリケーションを選択し、ユーザに関連付けられたコンテキストを用いて選択したアプリケーションから受信したデータを整理する本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 6 is a flow diagram illustrating a routine that illustrates aspects of the mechanisms disclosed herein for selecting an application and organizing data received from the selected application using a context associated with a user. アプリケーションをコンテクスチュアル・サービスに登録するための本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 6 is a flow diagram illustrating a routine that describes aspects of the mechanisms disclosed herein for registering an application with a contextual service. ユーザに関連付けられたコンピューティング装置上では現在利用できないアプリケーションにアクセスを提供するための本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 6 is a flow diagram illustrating a routine that describes aspects of the mechanisms disclosed herein for providing access to applications that are not currently available on a computing device associated with a user. ユーザに関連付けられたコンピューティング装置上では利用できないアプリケーションにアクセスを提供するための本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 7 is a flow diagram illustrating a routine that describes aspects of the mechanisms disclosed herein for providing access to applications that are not available on a computing device associated with a user. コンテクスチュアル・サービスを用いてアプリケーションが互いに通信するための本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 4 is a flow diagram illustrating a routine that describes aspects of the mechanisms disclosed herein for applications to communicate with each other using contextual services. ユーザに関連付けられたコンピューティング装置に提供するアプリケーションデータを選択するための本明細書に開示されたメカニズムの態様を説明するルーチンを示すフロー図である。FIG. 5 is a flow diagram illustrating a routine that describes aspects of the mechanisms disclosed herein for selecting application data to provide to a computing device associated with a user. 本明細書に開示されたサービス・プロバイダーネットワークを含む実施例のための1つの例示的な動作環境を示すシステムおよびネットワーク図である。1 is a system and network diagram illustrating one exemplary operating environment for an embodiment including a service provider network disclosed herein. FIG. 本明細書において開示された、現在のコンテキストに関連するアプリケーションがユーザにデータを提供する概念および技術の一部または全てを含む、サービス・プロバイダーネットワークの態様を実装するデータセンターのための1つの構成を説明するコンピューティング・システム図である。One configuration for a data center that implements aspects of a service provider network, including some or all of the concepts and techniques disclosed in this specification for applications relevant to the current context to provide data to users FIG. 本明細書において提示されたさまざまな実施例の態様を実施するために利用され得るコンピューティング装置を実装する1つの例示的なコンピュータハードウェアアーキテクチャを示すコンピュータアーキテクチャ図である。1 is a computer architecture diagram illustrating one exemplary computer hardware architecture that implements a computing device that may be utilized to implement aspects of the various examples presented herein. FIG.

以下の詳細な説明は、現在のコンテキストに対して、エンドユーザ向けプログラムまたはオペレーティング・システムソフトウェアなどの関連アプリケーションを識別し、関連アプリケーションから受信したデータを提供するコンテキストセンシティブ・フレームワークを使用する技術を対象とする。例えば、データはユーザに表示のため、および/または別のアプリケーションまたはコンピューティング装置に他の何らかの使用目的で提供され得る(例えば、現在のコンテキストを使用して機能を実行する)。本明細書に開示された技術の実装を介して、ユーザはアプリケーションを手動で見つけて起動する必要はなく、代わりに、関連アプリケーションデータは、ユーザの現在のコンテキストを識別するコンテキストデータの受信に応答して提供されて得る。本明細書において使用される場合、「コンテキスト」という用語は、特定の事象または状況の周りの背景、環境、フレームワーク、設定または状況を指し得る。一般的に言えば、「アプリケーション」という用語は、プログラム命令のいかなる組み合わせまたは何らかのタスクまたは動作を実行するためにプロセッサが読みこむデータを指し得る。いくつかの実施例では、アプリケーションは、システムソフトウェア(例えば、オペレーティング・システム)の一部でも良いし、またはアプリケーションソフトウェア(例えば、エンドユーザ向けプログラム)でも良い。コンテキストデータは、位置データ、移動データ、活動データ、ユーザデータ、時間データなどを含み得る。コンテキストデータのいくつかは、コンピューティング装置に関連付けられたセンサから決定され得る。例えば、コンピューティング装置のセンサは、コンピューティング装置の速度、コンピューティング装置の位置、気象条件、照明状態、ユーザの近くの音、ユーザ(またはだれか別の人)の顔表情などを決定するのに使用されて良い。コンテキストデータは、現在の活動に関連するデータを含み得る。例えば、現在の活動は、コンピューティング装置上で検索を実行しているユーザ、車を運転しているユーザ、特定のウェブサイトにアクセスしているユーザ、レストランに入っていくユーザ、などに関連し得る。   The following detailed description identifies a technique that uses a context-sensitive framework to identify and provide data received from related applications, such as end-user programs or operating system software, for the current context. set to target. For example, the data may be provided for display to the user and / or for some other usage purpose in another application or computing device (eg, performing a function using the current context). Through the implementation of the technology disclosed herein, the user does not need to manually find and launch the application; instead, the associated application data responds to receipt of context data that identifies the user's current context. And get offered. As used herein, the term “context” can refer to a background, environment, framework, setting or situation around a particular event or situation. Generally speaking, the term “application” may refer to data that a processor reads to perform any combination of program instructions or some task or operation. In some embodiments, the application may be part of system software (eg, an operating system) or application software (eg, an end user program). The context data may include location data, movement data, activity data, user data, time data, and the like. Some of the context data may be determined from sensors associated with the computing device. For example, computing device sensors determine computing device speed, computing device location, weather conditions, lighting conditions, sounds near the user, facial expression of the user (or someone else), etc. Can be used to. The context data may include data related to the current activity. For example, the current activity is related to a user performing a search on a computing device, a user driving a car, a user accessing a particular website, a user entering a restaurant, etc. obtain.

コンテクスチュアル・サービスは、コンテキストデータを使用してコンテキストに関連しているアプリケーションを識別する。本明細書において使用される場合、「関連した」という用語は、データおよび/または現在のコンテキストに適用できる機能を提供するアプリケーションを指し得る。アプリケーションは、登録データを使用して特定のコンテキストに関連していると決定され得る。いくつかの構成において、アプリケーションおよび/またはコンピューティング装置は、コンテクスチュアル・サービスに登録して、通知を受信する、またはコンテクスチュアル・サービスが指定されたコンテキストデータを受信したことに応答して起動する。いくつかの構成では、アプリケーションまたはコンピューティング装置は登録なしで、コンテキストデータを受信して良い。コンテキストデータの使用の一例として、フィットネスアプリケーションは、コンテキストデータが、ユーザが歩行中またはジョギング中であると示すときに起動されても良い。全地球測位システム(「GPS」)アプリケーションは、コンテキストデータが、ユーザが移動中(例えば、運転中)であると示すとき、または、ユーザがGPSを利用するかもしれない位置(例えば、ゴルフ場)にいるときに起動されても良い。同様に、レンタカーアプリケーションは、コンテキストデータが、ユーザが空港にいる、飛行機予約をしている、またはレンタカーの検索を実行していると示すとき、起動されても良い。他の実施例では、コンピューティング装置は、コンテキストデータの受信に応答して、起動されても良い、および/または何らかのアクションを実行するように構成されても良い。例えば、サーモスタットは、ユーザが帰宅途中であると示すコンテキストデータの受信に応答して温度設定を変更するように構成されても良い。他の非網羅的な実施例として、コンテキストデータは、以下についての任意の情報を含むことができる:位置(例えばGPS、Bluetooth(登録商標)、Bluetooth LE、 RF、または他のいかなる適用可能な位置センサなどから得られる位置)、時間、日付、どのようなアプリケーションをユーザは使用しているか、特定のアプリケーション上でユーザはどのような機能を使用しているか、物理的環境(例えば温度、高度、湿度、生体圧力など)、デバイスの方向、関連データを有する他の装置の近接度(例えばビーコンまたは適切な装置を有する友人など)、他のユーザとの近接度、生体データ(例えば脈拍、心拍変動、血液酸素化、体温、血糖値、睡眠、ユーザが何を見ているか)など。   Contextual services use context data to identify the application associated with the context. As used herein, the term “related” may refer to an application that provides data and / or functionality applicable to the current context. An application may be determined to be associated with a particular context using registration data. In some configurations, an application and / or computing device registers with a contextual service and receives a notification or wakes up in response to the contextual service receiving specified context data. . In some configurations, an application or computing device may receive context data without registration. As an example of the use of context data, a fitness application may be launched when the context data indicates that the user is walking or jogging. A Global Positioning System (“GPS”) application is used when context data indicates that the user is moving (eg, driving) or where the user may utilize GPS (eg, a golf course). It may be activated when you are in Similarly, the rental car application may be launched when the context data indicates that the user is at the airport, making a flight reservation, or performing a search for a rental car. In other examples, the computing device may be activated and / or configured to perform some action in response to receiving the context data. For example, the thermostat may be configured to change the temperature setting in response to receiving context data indicating that the user is on the way home. As another non-exhaustive example, the contextual data can include any information about: location (eg, GPS, Bluetooth®, Bluetooth LE, RF, or any other applicable location) Sensor location), time, date, what application the user is using, what function the user is using on a particular application, physical environment (eg temperature, altitude, Humidity, vital pressure, etc.), device orientation, proximity of other devices with relevant data (eg beacon or friends with appropriate equipment), proximity to other users, vital data (eg pulse, heart rate variability) Blood oxygenation, body temperature, blood sugar, sleep, what the user is looking at).

起動に応答して、起動したアプリケーションは、コンテキストに関連する提供すべきデータを決定する。言い換えれば、アプリケーションは、ユーザに関連付けられたコンテキストデータを使用して、現在のコンテキストについて個人化されたアプリケーションデータを決定して提供する。したがって、ユーザがどのアプリケーションを利用するかを決める必要がなく、コンテキストセンシティブ・フレームワークがユーザの現在のコンテキストを使用して、どのアプリケーションを利用するかを決定する。このように、ユーザは特にアプリケーションを見つけて起動する必要がない。いくつかの実施例では、コンテキストセンシティブ・フレームワークは、1つより多いアプリケーションからアプリケーションデータを受信し、アプリケーションデータを集約し、使用のためアプリケーションデータを提供する。例えば、選択したアプリケーションデータは、ユーザインタフェースにおいて提示されても良い。例えば、コンテキストセンシティブ・フレームワークは、異なるアプリケーションによって提供されるデータ用の共通のユーザインタフェースを提供して良い。このようにして、一貫した方法で異なるアプリケーションからのデータがユーザに提示される。加えて、この共通のユーザインタフェースは、オペレーティング・システムの一部として提供されても良い。これにより、オペレーティング・システムのインタフェースはコンテキストデータの変更に伴って変化することができる。   In response to the launch, the launched application determines the data to provide related to the context. In other words, the application uses the context data associated with the user to determine and provide personalized application data for the current context. Thus, there is no need to decide which application the user uses, and the context sensitive framework uses the user's current context to decide which application to use. In this way, the user does not need to find and start an application. In some embodiments, the context-sensitive framework receives application data from more than one application, aggregates application data, and provides application data for use. For example, the selected application data may be presented on the user interface. For example, a context sensitive framework may provide a common user interface for data provided by different applications. In this way, data from different applications is presented to the user in a consistent manner. In addition, this common user interface may be provided as part of the operating system. This allows the operating system interface to change as context data changes.

コンテクスチュアル・サービスもまた、異なるアプリケーションによって提供されるデータのどれを提供するかについて決定をして良い。例えば、コンテクスチュアル・サービスは、異なるアプリケーションによって提供される、重複する(例えば、同一である、または類似している)データを重複排除して良い。コンテクスチュアル・サービスもまた、ユーザの現在のコンテキストに基づいてデータを除外して良い。   Contextual services may also make decisions about which of the data provided by different applications. For example, a contextual service may deduplicate duplicate (eg, the same or similar) data provided by different applications. Contextual services may also exclude data based on the user's current context.

ユーザまたはコンピューティング装置のコンテキストもまた、更新されても良い。例えば、コンピューティング装置は、コンテキストデータをさらに提供する、またはコンテクスチュアル・サービスに対してコンテキストデータを更新するため、コンテクスチュアル・サービスに定期的に接続して良い。ユーザまたはコンピューティング装置のコンテキストの変更に伴い、前に関連していると判定されたアプリケーションは変化し得る。例えば、あるコンテストに関連していたアプリケーションは、更新されたコンテキストでは関連しない場合がある。したがって、コンテクスチュアル・サービスは、コンテキストにおける変更に応じて、関連していると判定されるアプリケーションを更新して良い。   The user or computing device context may also be updated. For example, a computing device may periodically connect to a contextual service to further provide context data or to update the context data for the contextual service. As the user or computing device context changes, the applications previously determined to be relevant may change. For example, an application that was associated with a contest may not be relevant in the updated context. Thus, the contextual service may update applications that are determined to be relevant in response to changes in context.

他の実施例では、コンテキストセンシティブ・フレームワークは、現在のコンテキストに関連する異なるアプリケーションの選択をユーザに提示して良い。例えば、コンテキストセンシティブ・フレームワークは、現在のコンテキストに応じて起動するように登録されたアプリケーションをユーザに提示して良い。ユーザからアプリケーションの選択を受信した後(例えば、共通UIを介して)、コンテキストセンシティブ・フレームワークは、そのユーザのためにアプリケーションを起動して良い。いくつかの実施例では、コンテキストに関連しているアプリケーションを選択するとき、コンテクスチュアル・サービスは時間的なデータも使用して良い。例えば、ユーザがつい先頃食事をしたと判断したときは、コンテクスチュアル・サービスは、ある一定期間はレストランに関するアプリケーションを利用しない場合がある。   In other embodiments, the context sensitive framework may present the user with a selection of different applications associated with the current context. For example, the context sensitive framework may present to the user an application registered to launch in response to the current context. After receiving an application selection from a user (eg, via a common UI), the context-sensitive framework may launch an application for that user. In some embodiments, the contextual service may also use temporal data when selecting an application associated with the context. For example, when it is determined that the user has recently eaten, the contextual service may not use the restaurant application for a certain period of time.

他の実施例では、ユーザによって利用されているコンピューティング装置上にアプリケーションがインストールされていないとき、コンテキストセンシティブ・フレームワークは、アプリケーションをコンピューティング装置上にインストールさせても良いし、または、例えばサービス・プロバイダーネットワークの中において、アプリケーションをリモートで実行して良い。いくつかの実施例では、ユーザのコンピューティング装置上にアプリケーションをインストールするかどうかの決定は、ユーザが頻繁にそのアプリケーションを使用するかどうかに基づいてなされて良い。いくつかの例では、アプリケーションはコンピューティング装置にダウンロードされ、コンピューティング装置上にインストールされ、次いで、いくらか時間が経過した後、自動的に削除されても良い。例えば、コンピューティング装置上にインストールされたアプリケーションは、コンテキストが変化したおよび/またはアプリケーションをダウンロードした目的の事象が終了した後に、自動的に削除されても良い。   In other embodiments, when no application is installed on the computing device being utilized by the user, the context-sensitive framework may cause the application to be installed on the computing device or, for example, a service -Applications may be executed remotely in a provider network. In some embodiments, the decision to install an application on the user's computing device may be based on whether the user frequently uses the application. In some examples, the application may be downloaded to the computing device, installed on the computing device, and then automatically deleted after some time. For example, an application installed on a computing device may be automatically deleted after the context changes and / or the intended event that downloaded the application ends.

簡潔に説明したように、コンテキストセンシティブ・フレームワークは、アプリケーションとコンテキストセンシティブ・フレームワークとの間で双方向通信を提供する。いくつかの構成によれば、コンテキストセンシティブ・フレームワークにより、2つ以上のアプリケーションが互いに通信することができる。例えば、アプリケーションは、その他のアプリケーションが受信のため登録し得るコンテクスチュアル・サービスのアプリケーションプログラミングインターフェース(「API」)を使用して、カスタムイベントを定義して良い。アプリケーションは、カスタムイベントを使用して、他の関心のあるアプリケーションへデータを送信して良い。例えば、旅行アプリケーションは、ユーザに旅行の詳細を提供するカスタムイベントを定義して良い。この情報は、アプリケーションによって提供されるデータが現在のコンテキストにより適用可能となるように、アプリケーションによって受信されたコンテキストデータを更新するのに使用されて良い。   As briefly described, the context sensitive framework provides bi-directional communication between the application and the context sensitive framework. According to some configurations, a context sensitive framework allows two or more applications to communicate with each other. For example, an application may define a custom event using a contextual service application programming interface (“API”) that other applications may register for receipt. An application may use custom events to send data to other interested applications. For example, a travel application may define a custom event that provides travel details to the user. This information may be used to update the context data received by the application so that the data provided by the application is applicable by the current context.

いくつかの実施例では、モバイルコンピューティング装置は、ユーザのコンテキストを監視し、コンテキストデータをコンテクスチュアル・サービスに提供するように構成される。場合によっては、モバイルコンピューティング装置およびコンテクスチュアル・サービスの一部であるリモートコンピューティング装置の間でネットワーク接続が確立されるとき、コンテキストデータは、コンテクスチュアル・サービスに提供される。定期的に、またはコンテキストにおける変更または他の何らかのトリガーに応答して、ユーザ用のコンテキストデータがコンテクスチュアル・サービスに提供される。コンテクスチュアル・サービスは、コンピューティング装置上で実装されても良い、および/またはあるコンピュータまたはリモート・コンピュータによって提供されるサービスの中で実装されても良い。いくつかの実施例では、コンテクスチュアル・サービスは、ネットワークベースのサービスにより提供される(例えば、サービス・プロバイダーネットワーク)。   In some embodiments, the mobile computing device is configured to monitor a user's context and provide context data to a contextual service. In some cases, context data is provided to a contextual service when a network connection is established between the mobile computing device and a remote computing device that is part of the contextual service. Periodically or in response to changes in context or some other trigger, context data for the user is provided to the contextual service. A contextual service may be implemented on a computing device and / or may be implemented in a service provided by a computer or a remote computer. In some embodiments, the contextual service is provided by a network-based service (eg, a service provider network).

ソフトウェア開発者は、アプリケーションをコンテクスチュアル・サービスに接続する機能を指定するAPIを含み得るソフトウェア開発者ツールキット(「SDK」)またはソフトウェア開発者がアプリケーションを開発するのに使用され得る他のツールを使用してアプリケーションを開発して良い。例えば、コンテクスチュアル・サービスAPIは、1つ以上のコンテキストに応じて起動または通知されるように登録するためにアプリケーションによって使用されて良い。アプリケーションもまた、APIを利用して、1つ以上のカスタムイベントを定義し、メッセージを別のアプリケーションに送信し、コンテキストデータをコンピューティング装置から受信するよう要求するなどして良い。SDKおよび/またはAPIは、オペレーティング・システムおよび/または他の何らかのアプリケーションの操作を変更するためにも利用されて良い。例えば、オペレーティング・システムの一部は、特定のコンテキストデータまたはアプリケーションデータを受信したことに応答して、APIを利用して、オペレーティング・システムの別の部分と通信し得る。   A software developer has a software developer toolkit (“SDK”) that can include an API that specifies the ability to connect the application to a contextual service or other tools that the software developer can use to develop the application. Use it to develop applications. For example, a contextual service API may be used by an application to register to be activated or notified in response to one or more contexts. An application may also utilize an API to define one or more custom events, send a message to another application, request to receive context data from a computing device, and so on. The SDK and / or API may also be used to change the operation of the operating system and / or some other application. For example, a portion of the operating system may utilize an API to communicate with another portion of the operating system in response to receiving specific context data or application data.

コンテクスチュアル・サービスによるアプリケーションの使用に関するアナリティクスもまた、アプリケーションのソフトウェア開発者などの認定ユーザに提供されても良い。例えば、アナリティクスは、グラフィカル・ユーザー・インタフェース(「GUI」)に表示されても良いし、使用状況データ(例えば、平均使用率)、利益データ(例えば、購入、使用コスト)、アプリケーション内で利用される機能などの情報を含んで良いがこれらに限らない。ユーザはアナリティクスを見て、コンテキストセンシティブ・フレームワークの中でどのようにアプリケーションが利用されているかを判定することができる。   Analytics regarding the use of applications by contextual services may also be provided to authorized users, such as application software developers. For example, the analytics may be displayed in a graphical user interface (“GUI”), usage data (eg, average usage), profit data (eg, purchases, usage costs), utilized within an application But may include information such as functions such as, but not limited to. Users can look at analytics to determine how applications are being used within the context-sensitive framework.

いくつかの構成によれば、コンテクスチュアル・サービスは、コンテクスチュアル・サービスによって提供される推奨事項および/またはデータを改善するのに使用され得るデータを収集し保存して良い。収集し保存され得るデータは、異なるユーザおよび/またはコンピューティング装置から受信するコンテキストデータ、さまざまなアプリケーションから受信したアプリケーションデータ、およびコンテクスチュアル・サービスのユーザに関連付けられた使用状況データを含んで良い。例えば、使用状況データは、ユーザはどのようなアプリケーションを選択したか、ユーザはどのようなアプリケーションを利用しているか、ならびに、ユーザは異なるコンテキストに対してアプリケーションの機能をどのように利用しているか、を含んで良い。いくつかの実施例では、コンテクスチュアル・サービスは、機械学習メカニズムを使用して、コンテクスチュアル・サービスによって提供される推奨事項を改善して良い。例えば、コンテクスチュアル・サービスがより多くのデータを受信して時間経過するにつれ、コンテクスチュアル・サービスによって提供されるデータは、受信したコンテクスチュアル・サービスのユーザに関連付けられた実際の使用状況データに基づいて変化して良い。機械学習メカニズムは追加データを受信したことに応答して精緻化されても良い。コンテキストに基づいてアプリケーションを選択し利用するために上述のさまざまな構成要素およびプロセスに関する追加詳細は、図1〜14に関して以下に提示される。   According to some configurations, the contextual service may collect and store data that may be used to improve the recommendations and / or data provided by the contextual service. Data that may be collected and stored may include context data received from different users and / or computing devices, application data received from various applications, and usage data associated with users of the contextual service. For example, usage data may indicate what application the user has selected, what application the user is using, and how the user is using the application's functionality for different contexts. , May be included. In some embodiments, the contextual service may use machine learning mechanisms to improve the recommendations provided by the contextual service. For example, as the contextual service receives more data and over time, the data provided by the contextual service is based on actual usage data associated with the received contextual service user. You can change. The machine learning mechanism may be refined in response to receiving additional data. Additional details regarding the various components and processes described above for selecting and utilizing an application based on context are presented below with respect to FIGS.

本明細書において提示される主題事項は、コンピュータ処理、コンピュータ制御の装置、コンピューティング・システム、またはコンピュータ可読記憶媒体などの製造品として実装されても良いことを理解すべきである。本明細書に記載される主題事項は、1つ以上のコンピューティング装置上で実行されるプログラムモジュールの一般的なコンテキストにおいて提示されるが、当業者は、他の実装では他の種類のプログラムモジュールと組み合わせて実行されても良いことを認めるであろう。概して、プログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、構成要素、データ構造および他の種類の構造を含む。   It should be understood that the subject matter presented herein may be implemented as an article of manufacture, such as a computer process, a computer controlled device, a computing system, or a computer readable storage medium. Although the subject matter described herein is presented in the general context of program modules executing on one or more computing devices, those skilled in the art will recognize other types of program modules in other implementations. Will admit that it may be performed in combination. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.

当業者は、本明細書に記載されている主題事項の態様は、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラム可能家電、ミニコンピュータ、メインフレーム・コンピュータ、ハンドヘルド・コンピュータ、携帯情報端末(PDA)、電子書籍リーダ、携帯電話装置、タブレットコンピューティング装置、特殊用途ハードウェア・デバイス、ネットワークアプライアンス等、を含む本明細書に記載されたものの域を越えて、他のコンピュータ・システム構成上またはこれに連動して実施されても良い。簡潔に上述したように、本明細書に記載された実施例は、通信網にリンクされているリモートコンピューティング装置によってタスクが実行され得る分散コンピューティング環境において実施されても良いことも理解するであろう。分散コンピューティング環境では、プログラムモジュールは、ローカルとリモートの両方のメモリ記憶装置に設置されても良い。   Those skilled in the art will appreciate that aspects of the subject matter described herein are multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, handheld computers, personal digital assistants (PDAs) , On or in other computer system configurations beyond what is described herein, including electronic book readers, mobile phone devices, tablet computing devices, special purpose hardware devices, network appliances, etc. It may be implemented in conjunction. As briefly described above, it should also be understood that the embodiments described herein may be practiced in distributed computing environments where tasks may be performed by remote computing devices that are linked to a communications network. I will. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

以下の詳細な説明では、本発明の一部を構成し、実例として具体的な実施例を示す添付の図面を参照する。図面は正確な縮尺率ではない。いつくかの図面(本明細書では「図」と称される場合がある)にわたって、同類の数字は同類の要素を表す。   In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments. The drawings are not to scale. Throughout some drawings (sometimes referred to herein as “figures”), like numerals represent like elements.

ここで図1を参照すると、本明細書において提示されるさまざまな実施例に従って現在のコンテキストに関連するアプリケーションがユーザにデータを提供する動作環境100が図示されている。図1に示す動作環境100は、コンピューティング装置102A〜102B、コンテクスチュアル・サービス104、アプリケーション・サービス106、およびアプリケーション実行サービス108を含む。   Referring now to FIG. 1, illustrated is an operating environment 100 in which an application associated with a current context provides data to a user in accordance with various embodiments presented herein. The operating environment 100 shown in FIG. 1 includes computing devices 102A-102B, a contextual service 104, an application service 106, and an application execution service 108.

いくつかの構成によれば、「コンピューティング装置102」と称されるコンピューティング装置102A〜102Bは各々、タブレットコンピューティング装置、スマートフォン、パーソナルコンピュータ(「PC」)、デスクトップ・コンピュータ、ラップトップコンピュータ、ノートパソコン、他のモバイルコンピューティング装置、ビデオゲームシステム、セットトップボックス、スマートテレビ等として構成されても良い。他の実施例によると、コンピューティング装置102の機能の少なくとも一部は、アプリケーション・サービス106、アプリケーション実行サービス108、またはサービス・プロバイダーネットワーク110によって提供される(図12に図示されるサービス・プロバイダーネットワーク110を参照)。   According to some configurations, computing devices 102A-102B, referred to as “computing devices 102”, are each a tablet computing device, a smartphone, a personal computer (“PC”), a desktop computer, a laptop computer, It may be configured as a notebook computer, another mobile computing device, a video game system, a set top box, a smart TV, or the like. According to other embodiments, at least some of the functionality of computing device 102 is provided by application service 106, application execution service 108, or service provider network 110 (the service provider network illustrated in FIG. 12). 110).

コンテクスチュアル・サービス104、アプリケーション・サービス106、アプリケーション実行サービス108またはサービス・プロバイダーネットワーク110は、異なるサービスの機能を提供するため、1つ以上のアプリケーションサーバ、Webサーバ、データストレージシステム、ネットワークアプライアンス、専用ハードウェア・デバイス、および/または他のサーバコンピュータまたはコンピューティング装置を含んで良い。これらの実施例では、コンピューティング装置102は、ネットワークを介してネットワークベースのコンピューティングプラットフォーム(図示せず)に接続するための最小限のハードウェアを含むことができる。コンピューティング装置102は、ネットワークを介して通信し、本明細書に記載されたさまざまなサービスまたはコンピューティングリソースにアクセスして良い。例えば、コンピューティング装置102は、コンテクスチュアル・サービス104、アプリケーション・サービス106および/またはアプリケーション実行サービス108にアクセスできる。コンテクスチュアル・サービス104、アプリケーション・サービス106、およびアプリケーション実行サービス108の操作に関するさらなる詳細が以下に提供される。   Contextual service 104, application service 106, application execution service 108 or service provider network 110 may provide one or more application servers, web servers, data storage systems, network appliances, dedicated to provide different service functions Hardware devices and / or other server computers or computing devices may be included. In these illustrative examples, computing device 102 may include minimal hardware for connecting to a network-based computing platform (not shown) via a network. The computing device 102 may communicate over a network and access various services or computing resources described herein. For example, computing device 102 can access contextual service 104, application service 106 and / or application execution service 108. Further details regarding the operation of the contextual service 104, application service 106, and application execution service 108 are provided below.

コンピューティング装置102Aは、オペレーティング・システム112、アプリケーション114、コンテクスチュアル・サービスAPI116、ならびに他のアプリケーションプログラムまたは構成要素を実行するように構成することができる。アプリケーション114は、ウェブブラウザ・アプリケーション、生産性アプリケーション(例えば、ワープロ、スプレッドシート、および/またはプレゼンテーションアプリケーション)、旅行アプリケーション、フィットネスアプリケーション、レストランアプリケーション、ソーシャルネットワークアプリケーション、または他のいかなるアプリケーションも含んで良い。いくつかの実施例では、1つ以上のアプリケーション114は、コンテクスチュアル・サービスAPI116を利用するように構成されても良い。いくつかの構成によれば、アプリケーションは、オペレーティング・システム112および/または何らかのその他のコンポーネントの一部でも良い。コンピューティング装置102Bは、コンピューティング装置102Aと同じようには詳細には図示されていないが、コンピューティング装置102Bならびに他のコンピューティング装置は、同一に構成されても良いし、コンピューティング装置102Aのために説明されているものより、より多くのまたはより少ないアプリケーションプログラムおよび/または構成要素を有しても良いと理解されるべきである。   Computing device 102A may be configured to execute operating system 112, application 114, contextual service API 116, and other application programs or components. Applications 114 may include web browser applications, productivity applications (eg, word processors, spreadsheets, and / or presentation applications), travel applications, fitness applications, restaurant applications, social network applications, or any other application. In some embodiments, one or more applications 114 may be configured to utilize a contextual service API 116. According to some configurations, the application may be part of the operating system 112 and / or some other component. Although computing device 102B is not shown in detail in the same manner as computing device 102A, computing device 102B as well as other computing devices may be configured identically or of computing device 102A. It should be understood that there may be more or fewer application programs and / or components than those described for this purpose.

アプリケーション・サービス106は、コンテクスチュアル・サービス104のためのサポートを提供するように構成されても良い。例えば、以下でより詳細に述べるように、コンテクスチュアル・サービス104は、アプリケーション・サービス106を利用して、ユーザ(例えば、ユーザ120Aまたは120B)に関連付けられた現在のコンテキストに関する1つ以上のアプリケーション114を取得して良い。   Application service 106 may be configured to provide support for contextual service 104. For example, as described in more detail below, contextual service 104 utilizes application service 106 to utilize one or more applications 114 for the current context associated with a user (eg, user 120A or 120B). Good to get.

アプリケーション114への入力は、コンピューティング装置102Aに接続されているか、そうでなければ、コンピューティング装置102Aと通信している1つ以上の入力装置を介して提供されても良い。アプリケーション114への入力は、例えばナビゲートメニューなどのアプリケーション114の外観を制御するために使用できる。コンピューティング装置102Aはまた、1つ以上のアプリケーション114によって提供されるビジュアルコンテンツを、コンピューティング装置102Aに内蔵されているか外付けされていてコンピューティング装置102Aと通信する、例えばディスプレイ122Aなどの1つ以上の表示装置に提示するように構成されても良い。   Input to application 114 may be connected to computing device 102A or otherwise provided via one or more input devices in communication with computing device 102A. Input to application 114 can be used to control the appearance of application 114, such as a navigation menu, for example. The computing device 102A is also one of the visual content provided by one or more applications 114, such as a display 122A, that is internal to or external to the computing device 102A and communicates with the computing device 102A. You may comprise so that it may show to the above display apparatuses.

ディスプレイ122Aは、視覚的な形式で情報を提示するように構成された出力装置である。具体的には、ディスプレイ122Aは、コンテクスチュアル・サービス104、クライアント・コンテキストマネージャ124B、アプリケーション114などによって提供されるビジュアルコンテンツを提示して良い。ビジュアルコンテンツは、GUIエレメント、テキスト、画像、ビデオ、通知、仮想ボタン、仮想キーボード、メッセージングデータ、インターネットのコンテンツ、デバイスのステータス、時間、日付、カレンダーデータ、環境設定、地図情報、位置情報、および、視覚的な形式で提示することができる他のいかなる情報をも含んで良い。いくつかの実施例では、ディスプレイ122Aは、いかなる能動的または受動的なマトリクス技術およびいかなるバックライト技術(使用されるのであれば)を利用する液晶表示(「LCD」)である。他の実施例では、ディスプレイ122Aは、有機発光ダイオード(「OLED」)ディスプレイでも良い。その他のディスプレイタイプは想定される。なお、ディスプレイ122Aは、例えばタッチスクリーンまたはマルチタッチ可能なタッチスクリーンなどの入力装置を含むことができる。   Display 122A is an output device configured to present information in a visual format. Specifically, display 122A may present visual content provided by contextual service 104, client context manager 124B, application 114, and the like. Visual content includes GUI elements, text, images, videos, notifications, virtual buttons, virtual keyboards, messaging data, Internet content, device status, time, date, calendar data, preferences, map information, location information, and Any other information that can be presented in a visual form may be included. In some embodiments, display 122A is a liquid crystal display (“LCD”) that utilizes any active or passive matrix technology and any backlight technology (if used). In other embodiments, display 122A may be an organic light emitting diode (“OLED”) display. Other display types are envisioned. Note that the display 122A can include an input device such as a touch screen or a multi-touch touch screen.

アプリケーション114の全てまたは一部においては、コンテクスチュアル・サービス104、アプリケーション・サービス106および/またはアプリケーション実行サービス108と対話するためのコンテクスチュアル・サービスAPI116を利用して良い。上述のように、アプリケーション114は、1つ以上の機能を提供するいかなる命令またはデータであって良い。アプリケーション114は、コンテクスチュアル・サービスAPI116によって公開された1つ以上のメソッドを呼び出して、コンテクスチュアル・サービス104にアクセスし、コンテクスチュアル・サービス104によって提供される1つ以上の機能を利用するように構成されても良い。アプリケーション114はまた、コンテクスチュアル・サービスAPI116によって公開された1つ以上のメソッドを呼び出して、アプリケーション・サービス106またはアプリケーション実行サービス108にアクセスするように構成することもできる。例えば、コンテクスチュアル・サービスAPI116は、通知を受信するため登録し、場合によってはユーザの現在のコンテキスト120Aに応じて起動するように、1つ以上のアプリケーション114によって使用されて良い。コンテクスチュアル・サービスAPI116はまた、別のアプリケーション114にデータを送信する、現在のコンテキストに関連するデータを要求する、などのために使用されて良い。   All or a portion of the application 114 may utilize a contextual service API 116 for interacting with the contextual service 104, the application service 106 and / or the application execution service 108. As described above, the application 114 can be any instruction or data that provides one or more functions. Application 114 invokes one or more methods exposed by the contextual service API 116 to access the contextual service 104 and utilize one or more functions provided by the contextual service 104. It may be configured. The application 114 can also be configured to call one or more methods exposed by the contextual service API 116 to access the application service 106 or the application execution service 108. For example, the contextual service API 116 may be used by one or more applications 114 to register to receive notifications and possibly launch in response to the user's current context 120A. The contextual service API 116 may also be used to send data to another application 114, request data related to the current context, and so forth.

ユーザ120Aは、コンピューティング装置102Aを使用して、コンテクスチュアル・サービス104と対話して良い。いくつかの実施例では、ディスプレイ122A上に表示されるUI130Aは、は、コンテクスチュアル・サービス104を見て対話するため使用されて良い。   User 120A may interact with contextual service 104 using computing device 102A. In some embodiments, the UI 130A displayed on the display 122A may be used to view and interact with the contextual service 104.

説明したように、コンテクスチュアル・サービス104は、1つ以上のセッションを管理するコンテキストマネージャ124Aを含む。セッション中に、コンピューティング装置102Aなどのコンピューティング装置は、コンテクスチュアル・サービス104と対話する。コンテクスチュアル・サービス104は、さまざまなコンピューティング装置102を利用している1人または複数のユーザが、コンテクスチュアル・サービス104、アプリケーション・サービス106、アプリケーション実行サービス108と、および場合によってはそれらが互いにデータを共有できるように、いかなる数のコンピューティング装置102への接続をサポートして良い。したがって、説明した実施例は例示的なものに過ぎず、いかなる形においても制限するものとして解釈されるべきではない。   As described, contextual service 104 includes a context manager 124A that manages one or more sessions. During a session, a computing device, such as computing device 102A, interacts with contextual service 104. Contextual service 104 allows one or more users utilizing various computing devices 102 to interact with contextual service 104, application service 106, application execution service 108, and possibly with each other. Connections to any number of computing devices 102 may be supported so that data can be shared. Accordingly, the described embodiments are illustrative only and should not be construed as limiting in any way.

図1に図示された現実施例において、コンテクスチュアル・サービス104を含むコンテキストセンシティブ・フレームワークは、ユーザ(例えば、ユーザ120Aまたは120B)の現在のコンテキストに関連するアプリケーション114を識別し、関連アプリケーション114から受信したアプリケーションデータ118をユーザに提供する。簡潔に上述のように、ユーザは、アプリケーション114を手動で見つけて起動する必要がなく、代わりに、ユーザの現在のコンテキストに対する関連アプリケーション114は、ユーザの現在のコンテキストに関するアプリケーションデータ118を提供することができる。   In the current embodiment illustrated in FIG. 1, the context sensitive framework that includes the contextual service 104 identifies the application 114 associated with the current context of the user (eg, user 120A or 120B) and the associated application 114. The application data 118 received from is provided to the user. Briefly as described above, the user does not need to manually find and launch the application 114; instead, the associated application 114 for the user's current context provides application data 118 for the user's current context. Can do.

ユーザの現在のコンテキストを決定するため、クライアント・コンテキストマネージャ124は、コンピューティング装置102Aの1つ以上のセンサ126を利用して良い。センサ126は、コンテキストデータ128Aの少なくとも一部を決定するように構成されても良い。例えば、センサ126は、位置データ、移動データ(例えば、速度または加速データ)、気象データ、生体データ、時間データ、照明データ、顔認識などを決定して良い。ユーザの現在のコンテキスト120Aに関連付けられたコンテキストデータ128Aのいくつかは、コンピューティング装置102Aの現在の動作から決定されても良い。例えば、現在の動作は、は、検索を実行しているユーザ、アプリケーションを起動しているユーザ、ウェブサイトにアクセスしているユーザなどに関連し得る。いくつかの実施例では、クライアント・コンテキストマネージャ124Bは、現在のコンテキストに関するさまざまなデータを集約し、コンテキストデータ128Aをコンテクスチュアル・サービス104に送信する。   To determine the user's current context, the client context manager 124 may utilize one or more sensors 126 of the computing device 102A. Sensor 126 may be configured to determine at least a portion of context data 128A. For example, the sensor 126 may determine position data, movement data (eg, speed or acceleration data), weather data, biological data, time data, lighting data, face recognition, and the like. Some of the context data 128A associated with the user's current context 120A may be determined from the current operation of the computing device 102A. For example, the current operation may relate to a user performing a search, a user launching an application, a user accessing a website, and the like. In some embodiments, the client context manager 124B aggregates various data regarding the current context and sends the context data 128A to the contextual service 104.

コンテクスチュアル・サービス104は、受信したコンテキストデータ128Aを使用し、ユーザの現在のコンテキスト120Aに関する1つ以上のアプリケーション114を識別する。簡潔に上述のように、アプリケーション114は、アプリケーション114が、コンテキストデータ128により示される現在のコンテキストに応じて起動するようにコンテクスチュアル・サービス104に登録されているかどうかの少なくとも部分的に基づいて、特定のコンテキストに関連していると判定されても良い。例えば、コンテクスチュアル・サービス104は、アプリケーション114A−114Fは、コンテキストデータ128Aによって指定されたコンテキストに関連していると判定して良い。関連していると判定されたアプリケーション114は、コンピューティング装置102A上にインストールされていても良いし、されていなくても良い。現実施例では、アプリケーション114A〜114Cは、コンピューティング装置102A上にインストールされており、アプリケーション114D〜114Fは、リモートで配置されている(例えば、アプリケーション・サービス106および/またはアプリケーション実行サービス108の中)。   The contextual service 104 uses the received context data 128A to identify one or more applications 114 for the user's current context 120A. As briefly described above, the application 114 is based at least in part on whether the application 114 is registered with the contextual service 104 to launch in response to the current context indicated by the context data 128. It may be determined that it is related to a specific context. For example, contextual service 104 may determine that applications 114A-114F are associated with the context specified by context data 128A. The application 114 determined to be related may or may not be installed on the computing device 102A. In the current embodiment, applications 114A-114C are installed on computing device 102A and applications 114D-114F are remotely located (eg, in application service 106 and / or application execution service 108). ).

いくつかの構成によれば、アプリケーション114は、テクスチュアル・サービス104が指定したコンテキストデータ128Aを受信することに応答して起動されるようにコンテクスチュアル・サービス104に登録される。例えば、フィットネスアプリケーションは、コンテキストデータ128Aが、ユーザが歩行中またはジョギング中であると示すときに起動されるように、コンテクスチュアル・サービス104に登録されて良い。他のアプリケーション114は、コンテキストデータ128Aが、ユーザが移動中であると示すときに起動されても良い。同様に、レンタカーアプリケーション114は、コンテキストデータ128Aが、ユーザ120Aが空港にいて飛行機予約をしていると示すとき、またはレンタカーの検索を実行していると示すときに起動されても良い。他の実施例では、コンテクスチュアル・サービス104は、アプリケーション114の起動を決定して良い。   According to some configurations, the application 114 is registered with the contextual service 104 to be launched in response to the textual service 104 receiving the specified context data 128A. For example, the fitness application may be registered with the contextual service 104 such that it is launched when the context data 128A indicates that the user is walking or jogging. Another application 114 may be activated when the context data 128A indicates that the user is moving. Similarly, the rental car application 114 may be launched when the context data 128A indicates that the user 120A is at the airport and is making a flight reservation or performing a car rental search. In other embodiments, contextual service 104 may decide to launch application 114.

起動に応答して、アプリケーション114A〜114Fなどの起動したアプリケーションは、コンテクスチュアル・サービス104および/またはコンテキストデータ128Aに関するクライアント・コンテキストマネージャ124Bまたはコンテキストマネージャ124Aに提供するアプリケーションデータ118A〜118Fを決定する。言い換えれば、コンテクスチュアル・サービス104および/またはクライアント・コンテキストマネージャ124Bによって起動される関連アプリケーションは、コンテキストデータ128Aを使用し、提供するアプリケーションデータ118Aを決定する。例えば、関連していると判定されたスポーツアプリケーション114は、フットボールの試合中のデータ(例えば、最新スコア、ゲームの最新統計)に比較してフットボールの試合前の異なるアプリケーションデータ118(例えば、試合前のデータ)を提供して良い。コンテクスチュアル・サービス104がアプリケーション114から指定されたアプリケーションデータ118を要求する代わりに、コンテクスチュアル・サービス104は、アプリケーション114を起動し、アプリケーション114にコンテキストデータ128Aを提供するように構成される。いくつかの実施例では、コンテクスチュアル・サービス104はまた、1つ以上の関連アプリケーション114A〜114Fから特定のデータを要求して良い。以下でより詳細に述べるように、アプリケーション114A〜114Fは、コンピューティング装置102A上および/またはアプリケーション実行サービス108内、または他の何らかのコンピューティング装置上で実行されても良い。   In response to the launch, the launched application, such as applications 114A-114F, determines application data 118A-118F to provide to client context manager 124B or context manager 124A for contextual service 104 and / or context data 128A. In other words, the related application launched by the contextual service 104 and / or the client context manager 124B uses the context data 128A to determine the application data 118A to provide. For example, a sports application 114 determined to be relevant may have different application data 118 (e.g., pre-game) prior to a football game compared to data during a football game (e.g. Data). Instead of contextual service 104 requesting specified application data 118 from application 114, contextual service 104 is configured to launch application 114 and provide context data 128A to application 114. In some embodiments, contextual service 104 may also request specific data from one or more associated applications 114A-114F. As described in more detail below, applications 114A-114F may be executed on computing device 102A and / or within application execution service 108, or on some other computing device.

説明したように、ユーザ120Aまたは120Bが、どのアプリケーション114を利用するかを決定する必要がなく、コンテクスチュアル・サービス104を含むコンテキストセンシティブ・フレームワークは、利用するアプリケーションの決定においてユーザの現在のコンテキストを使用する。このように、ユーザは、特にアプリケーション114を見つけて起動する必要がない。   As explained, there is no need for the user 120A or 120B to decide which application 114 to use, and the context sensitive framework, including the contextual service 104, determines the user's current context in determining which application to use. Is used. In this way, the user does not need to find and launch the application 114 in particular.

いくつかの実施例では、コンテキストセンシティブ・フレームワークは、1つより多いアプリケーションからアプリケーションデータ118を受信し、アプリケーションデータ118を集約し、選択したアプリケーションデータ118をユーザインタフェース130Aまたは130Bなどのユーザインタフェース130において提示する。例えば、コンテキストセンシティブ・フレームワークは、オペレーティング・システムソフトウェアの一部であり得る共通のユーザインタフェースを提供し、異なるアプリケーション114A〜114Fによって提供されるアプリケーションデータ118A〜118Fを提示して良い。このようにして、一貫した方法で、異なるアプリケーションからユーザにデータが提示される。   In some embodiments, the context sensitive framework receives application data 118 from more than one application, aggregates application data 118, and selects selected application data 118 as a user interface 130, such as user interface 130A or 130B. Present in For example, the context sensitive framework may provide a common user interface that may be part of the operating system software and present application data 118A-118F provided by different applications 114A-114F. In this way, data is presented to the user from different applications in a consistent manner.

コンテクスチュアル・サービス104はまた、異なるアプリケーション114A〜114Fから受信したアプリケーションデータ118のどれをユーザに提供するかについて決定をして良い。例えば、コンテクスチュアル・サービス104は、アプリケーションデータ118A〜118Fから重複データ(または類似データ)を削除して良い。コンテクスチュアル・サービス104および/またはクライアント・コンテキストマネージャ124Bもまた、ユーザの現在のコンテキストに基づいてデータを除外して良い。   Contextual service 104 may also determine which of application data 118 received from different applications 114A-114F is provided to the user. For example, the contextual service 104 may delete duplicate data (or similar data) from the application data 118A-118F. Contextual service 104 and / or client context manager 124B may also exclude data based on the user's current context.

他の実施例では、コンテクスチュアル・サービス104は、どの他のコンピューティング装置102および/またはその他のアプリケーションがアプリケーションデータ118を受信するかを決定して良い。例えば、コンテクスチュアル・サービス104は、ユーザが在宅しているかまたは帰宅中であり一定の時間内に到着すると決定したことに応答して、アプリケーションデータ118をユーザの自宅内にある他のコンピューティング装置に提供して良い。別の実施例として、コンテクスチュアル・サービス104は、ユーザが車に乗ろうとしていると決定したことに応答して、アプリケーションデータ118を例えば車を始動するために車内にある他のコンピューティング装置に提供して良い。この装置もまた、ユーザの適当な目的地とともにロードマップまたは道順ソフトウェア、ならびに交通関連情報を含み得る。   In other examples, contextual service 104 may determine which other computing devices 102 and / or other applications receive application data 118. For example, the contextual service 104 may send the application data 118 to other computing devices in the user's home in response to the user being at home or returning home and deciding to arrive within a certain amount of time. Good to offer to. As another example, the contextual service 104 may respond to the user's determination that he is about to ride the application data 118, for example to other computing devices in the car to start the car. Good to offer. This device may also include roadmap or directions software as well as traffic related information along with the user's appropriate destination.

ユーザ120Aに関連付けられたコンテキストデータ128は、コンテクスチュアル・サービス104を以て更新もされ得る。例えば、コンピューティング装置102Aはコンテクスチュアル・サービス104と接続し、コンテキストデータ128Aをさらに提供する、または更新されたコンテキストデータ128Aをコンテクスチュアル・サービス104に提供して良い。ユーザの現在のコンテキストに関連付けられたコンテキストデータ128Aが変更されると(例えば、ユーザの場所が変わると)、事前に関連していると判定されたアプリケーション114A〜114Fは、関連しているともはや判定されない場合がある。例えば、あるコンテストに関連していたアプリケーションは、更新されたコンテキストに関連しない場合がある。したがって、コンテクスチュアル・サービス104は、コンテキストにおける変更に応じて関連アプリケーションを更新して良い。   The context data 128 associated with the user 120A may also be updated with the contextual service 104. For example, the computing device 102A may connect with the contextual service 104 to further provide context data 128A or provide updated context data 128A to the contextual service 104. When the context data 128A associated with the user's current context is changed (e.g., when the user's location changes), the applications 114A-114F that were previously determined to be associated are no longer relevant. It may not be judged. For example, an application that was associated with a contest may not be associated with the updated context. Thus, the contextual service 104 may update related applications in response to changes in context.

他の実施例では、コンテキストセンシティブ・フレームワークは、現在のコンテキストに関連する異なるアプリケーションの選択をユーザに提示して良い。例えば、コンテクスチュアル・サービス104は、現在のコンテキストに応じて起動するように登録されたアプリケーション114の選択をユーザ120Bに提示して良い。例えばUI130Bなどを介して、ユーザからアプリケーションの選択を受信した後、コンテクスチュアル・サービス104は選択されたアプリケーション114Gを起動させても良い。いくつかの構成では、選択されたアプリケーション114Gは、アプリケーション実行サービス108内で起動されても良い。他の構成では、選択されたアプリケーション114Gは、コンピューティング装置102B上で起動されても良い。   In other embodiments, the context sensitive framework may present the user with a selection of different applications associated with the current context. For example, the contextual service 104 may present the user 120B with a selection of registered applications 114 to launch in response to the current context. For example, after receiving the application selection from the user via the UI 130B, the context service 104 may activate the selected application 114G. In some configurations, the selected application 114G may be launched within the application execution service 108. In other configurations, the selected application 114G may be launched on the computing device 102B.

選択されたアプリケーション114Gが、ユーザが利用しているコンピューティング装置102B上にインストールされていないとき、コンテクスチュアル・サービス104は、アプリケーション114Gをコンピューティング装置102B上にインストールさせても良い。いくつかの実施例では、アプリケーション114Gをコンピューティング装置102B上にインストールするかどうかの決定は、どのくらいの頻度でユーザ120Bがアプリケーション114Gを使用する可能性があるかの予測に基づいてなされて良い。例えば、選択されたアプリケーション114Gはたった一度しか利用されない場合もある(例えば、特定のイベントのためのアプリケーション)。ある例では、クライアント・コンテキストマネージャ124Cは、電子マーケット132に接続し、アプリケーション114Gをコンピューティング装置102Bへダウンロードし、アプリケーション114Gをコンピューティング装置102B上にインストールさせても良い。アプリケーション114Gのインストール後、クライアント・コンテキストマネージャ124Cは、アプリケーション114Gを起動した後、場合によっては、その後のある時点で、アプリケーション114Gをコンピューティング装置102Bから自動的に削除して良い。例えば、アプリケーション114Gは、イベントアプリケーション114Gが完了した後で削除されても良い(例えば、数時間後、数日後、など)。例えば、ユーザがフットボールの試合に行く状況だとすると、アプリケーション114Gは自動的にダウンロードされ、その後、ユーザがフットボールの試合を去った時点で削除されても良い。   When the selected application 114G is not installed on the computing device 102B that the user is utilizing, the contextual service 104 may cause the application 114G to be installed on the computing device 102B. In some embodiments, the determination of whether to install application 114G on computing device 102B may be made based on an estimate of how often user 120B may use application 114G. For example, the selected application 114G may be used only once (eg, an application for a specific event). In one example, the client context manager 124C may connect to the electronic market 132, download the application 114G to the computing device 102B, and cause the application 114G to be installed on the computing device 102B. After the application 114G is installed, the client context manager 124C may automatically delete the application 114G from the computing device 102B at some point after launching the application 114G in some cases. For example, the application 114G may be deleted after the event application 114G is completed (eg, hours later, days later, etc.). For example, if the user is going to a football game, the application 114G may be automatically downloaded and then deleted when the user leaves the football game.

アプリケーション実行サービス108が選択されたアプリケーション114G(または他の何らかのリモートコンピューティング装置)を実行するとき、コンテクスチュアル・サービス104のコンテキストマネージャ124Aは、アプリケーション114Gによって生成されたアプリケーションデータ118Gをクライアント・コンテキストマネージャ124Cへ提供して良い。アプリケーションデータ118Gは、コンテキストデータ128Bに関連するアプリケーションデータ118Gでも良いし、またはアプリケーション114Gによって生成されたデータの他のいくつかのデータまたは全てでも良い。   When the application execution service 108 executes the selected application 114G (or some other remote computing device), the context manager 124A of the contextual service 104 uses the application data 118G generated by the application 114G as a client context manager. It may be provided to 124C. Application data 118G may be application data 118G associated with context data 128B, or some or all other data generated by application 114G.

簡潔に上述のように、コンテキストセンシティブ・フレームワークは、アプリケーション114とコンテクスチュアル・サービス104との間で双方向通信を提供する。いくつかの構成によれば、コンテキストセンシティブ・フレームワークにより、2つ以上のアプリケーション114が互いに通信することができる。コンテキストセンシティブ・フレームワークを使用して通信する2つ以上のアプリケーション114のさらなる詳細は、図2に関して以下に提供される。   As briefly described above, the context sensitive framework provides two-way communication between the application 114 and the contextual service 104. According to some configurations, a context sensitive framework allows two or more applications 114 to communicate with each other. Further details of two or more applications 114 communicating using a context sensitive framework are provided below with respect to FIG.

いくつかの実施例では、クライアント・コンテキストマネージャ124Bまたは124Cは、ユーザのコンテキストを監視し、コンテキストデータ128Aまたは128Bをコンテクスチュアル・サービス104に提供するように構成される。場合によっては、コンピューティング装置102およびコンテクスチュアル・サービスの一部であるリモートコンピューティング装置104の間でネットワーク接続が確立されるとき、コンテキストデータ128は、コンテクスチュアル・サービス104に提供される。   In some embodiments, the client context manager 124B or 124C is configured to monitor the user's context and provide context data 128A or 128B to the contextual service 104. In some cases, context data 128 is provided to the contextual service 104 when a network connection is established between the computing device 102 and the remote computing device 104 that is part of the contextual service.

いくつかの実施例では、ソフトウェア開発者は、アプリケーション114をコンテクスチュアル・サービス104に接続する機能を指定するコンテクスチュアル・サービスAPI116などのアプリケーションプログラミングインターフェース(「API」)を含み得るソフトウェア開発者ツールキット(「SDK」)またはソフトウェア開発者がアプリケーションを開発するのに使用され得る他のツールを使用してアプリケーション114を開発して良い。例えば、コンテクスチュアル・サービスAPI116は、1つ以上のコンテキストに応じて起動または通知されるように登録するためにアプリケーションによって使用されて良い。アプリケーション114はまた、コンテクスチュアル・サービスAPI116を利用して、別のアプリケーション114および/またはコンテクスチュアル・サービス104にデータを伝達するために使用される1つ以上のカスタムイベントを定義して良い。   In some embodiments, the software developer may include an application programming interface (“API”) such as a contextual service API 116 that specifies the ability to connect the application 114 to the contextual service 104. ("SDK") or other tools that a software developer may use to develop the application may be used to develop the application 114. For example, the contextual service API 116 may be used by an application to register to be activated or notified in response to one or more contexts. An application 114 may also define one or more custom events that are used to communicate data to another application 114 and / or contextual service 104 utilizing the contextual service API 116.

簡潔に上述のように、コンテクスチュアル・サービス104は、データを収集し、例えばデータストア134Aなどに保存して良い。データは、コンテクスチュアル・サービスによって提供される、データの識別136および/またはアプリケーションデータ118A〜118Fなどの、推奨事項を改善するのに使用され得る。収集し保存され得るデータbyコンテクスチュアル・サービス104は、異なるユーザおよび/またはコンピューティング装置から受信するコンテキストデータ128、さまざまなアプリケーションから受信するアプリケーションデータ118、およびコンテクスチュアル・サービスのユーザに関連付けられた使用状況データを含んで良い。例えば、使用状況データは、ユーザはどのようなアプリケーションを選択したか、ユーザはどのようなアプリケーションを利用しているか、ならびにユーザは異なるコンテキストに対してアプリケーションの機能をどのように利用しているか、を含んで良い。   As described briefly above, the contextual service 104 may collect data and store it in, for example, the data store 134A. The data may be used to improve recommendations such as data identification 136 and / or application data 118A-118F provided by the contextual service. Data by which the contextual service 104 that can be collected and stored is associated with context data 128 received from different users and / or computing devices, application data 118 received from various applications, and users of the contextual service Usage data may be included. For example, usage data may indicate what application the user has selected, what application the user is using, and how the user is using the application's functionality for different contexts, May be included.

いくつかの構成では、コンテクスチュアル・サービス104は、機械学習メカニズムを使用して、コンテクスチュアル・サービスによって提供される推奨事項を改善して良い。「機械学習」という用語は、受信するデータから学習する1つ以上のプログラムを指し得る。例えば、機械学習メカニズムは、モデルを作成、修正し、そうでなければ、入力例から作成されるモデルを利用して予測または決定をして良い。現実施例では、機械学習メカニズムは、コンテクスチュアル・サービスによって提供されるデータ104である識別アプリケーション114を改善するために使用されて良い。モデルは、教師あり学習および/または教師なし学習を使用して教育されても良い。例えば、コンテクスチュアル・サービスがより多くのデータを受信する時間が経つにつれて、コンテクスチュアル・サービスによって提供されるデータは、受信したコンテクスチュアル・サービスのユーザに関連付けられた実際の使用状況データに基づいて変化して良い。コンテクスチュアル・サービス104によって利用される機械学習メカニズムは、追加データを受信したことに応答して精緻化されても良い。   In some configurations, the contextual service 104 may use machine learning mechanisms to improve the recommendations provided by the contextual service. The term “machine learning” may refer to one or more programs that learn from received data. For example, the machine learning mechanism may create and modify a model, otherwise it may make predictions or decisions using a model created from input examples. In the current embodiment, the machine learning mechanism may be used to improve the identification application 114, which is the data 104 provided by the contextual service. The model may be educated using supervised learning and / or unsupervised learning. For example, as time passes for the contextual service to receive more data, the data provided by the contextual service may be based on actual usage data associated with the received user of the contextual service. It can change. The machine learning mechanism utilized by the contextual service 104 may be refined in response to receiving additional data.

コンテキストセンシティブ・フレームワークを利用する1人または複数のユーザによるアプリケーション114の使用に関するアナリティクスもまた、ソフトウェア・プロバイダまたは他の認定ユーザに提供されて良い。例えば、アナリティクスは、GUIに表示されて良いし、使用状況データ(例えば、平均使用率)、利益データ(例えば、購入、使用コスト)、アプリケーション内で利用される機能などの情報を含んで良いがこれらに限らない。ソフトウェア・プロバイダはアナリティクスを見て、コンテキストセンシティブ・フレームワークの中でどのようにアプリケーションが利用されているかを判定して良い。図5は、アナリティクスを提供するのに使用される例示的なGUI500を示す。   Analytics regarding the use of application 114 by one or more users utilizing the context sensitive framework may also be provided to software providers or other authorized users. For example, the analytic may be displayed on the GUI, and may include information such as usage data (eg, average usage rate), profit data (eg, purchase, usage cost), functions utilized within the application, etc. It is not restricted to these. Software providers may look at analytics to determine how applications are being used within a context-sensitive framework. FIG. 5 shows an exemplary GUI 500 used to provide analytics.

いくつかの実施例では、アプリケーション・サービス106は、電子マーケット132を提供する。電子マーケット132を介してユーザは、例えばアプリケーション114、アプリケーションのアドオン、アプリケーション内のアイテム、音楽、電子書籍、映画などなどのコンテンツを購入することができる。動作環境100のさまざまな実装は、複数ネットワーク、コンテクスチュアル・サービス104、アプリケーション・サービス106、アプリケーション実行サービス108、アプリケーション114およびコンテクスチュアル・サービスAPI116を含むと理解されるべきである。したがって、説明された動作環境100は、例示的であるものとして理解されるべきであって、いかなる形においても制限するものとして解釈されるべきではない。   In some embodiments, application service 106 provides electronic market 132. Through the electronic market 132, a user can purchase content such as an application 114, an application add-on, an item in the application, music, an electronic book, a movie, and the like. It should be understood that various implementations of operating environment 100 include multiple networks, contextual service 104, application service 106, application execution service 108, application 114, and contextual service API 116. Accordingly, the described operating environment 100 should be understood as exemplary and should not be construed as limiting in any way.

図2は、異なるアプリケーション114から受信されたアプリケーションデータ118を表示する例示的なGUI200を示す画面図である。GUI200は、コンピューティング装置のエンドユーザ向けプログラムまたはオペレーティング・システムの一部、またはそれらの組み合わせになり得る。説明したように、GUI200は、例えばユーザ120Aまたは120Bなどのユーザの現在のコンテキストに関する異なるアプリケーションからのデータを示す。コンテクスチュアル・サービス104と通信するコンピューティング装置102Aは、GUI200を表示して良い。説明のためであって、限定することは目的とせず、GUI200がSEATTLE SEAHAWKSのフットボールの試合を今見に来ているユーザによって使用されていると仮定する。例えば、コンテキストデータ128は、ユーザはSeattle Seahawksがプレーする競技場にいると示して良い。   FIG. 2 is a screen diagram illustrating an exemplary GUI 200 displaying application data 118 received from different applications 114. The GUI 200 can be part of a computing device end-user program or operating system, or a combination thereof. As described, the GUI 200 shows data from different applications regarding the user's current context, eg, user 120A or 120B. A computing device 102A that communicates with the contextual service 104 may display the GUI 200. For purposes of illustration and not limitation, assume that the GUI 200 is being used by a user who is currently watching a SEATTLE SEAHAWKS football game. For example, the context data 128 may indicate that the user is in a stadium where Seattle Seahowks plays.

上述のように、1つ以上のアプリケーション114は、起動に応答して、アプリケーションデータ118をコンテクスチュアル・サービス104に提供して良い。フットボールの試合にいるユーザに関連付けられたコンテキストデータ128を受信したことに応答して、コンテクスチュアル・サービス104は、コンテキストデータ128に関するSeahawksアプリケーション114H、スタジアムアプリケーション114I、一般的なスポーツアプリケーション114J、天気アプリケーション114K、および食べ物アプリケーション114Lを識別した。ユーザは、アプリケーション選択UI要素206内でユーザインタフェース要素を選択することによって、利用するアプリケーション114を選択または非選択状態にする。上述のように、ユーザはコンテキストデータ128に関連していると判定されたアプリケーションの全てからデータを受信することは選ばない場合がある。本実施例では、食べ物アプリケーション114Lを囲む破線で示されるように、ユーザは、食べ物アプリケーション114Lの使用を含めないことに決めた。いくつかの実施例では、ユーザから受信する選択は、コンテクスチュアル・サービス104に提供され、機械学習メカニズムによって利用されるモデルを更新するのに使用されて良い。このようにして、特定のコンテキストに関連していると識別されたアプリケーションは、コンテクスチュアル・サービスのユーザによってなされた選択に応答して時間とともに変化して良い。   As described above, one or more applications 114 may provide application data 118 to contextual service 104 in response to activation. In response to receiving contextual data 128 associated with a user in a football game, contextual service 104 performs a Seaawks application 114H, a stadium application 114I, a general sports application 114J, a weather application for contextual data 128. 114K and food application 114L were identified. The user selects or deselects the application 114 to be used by selecting a user interface element in the application selection UI element 206. As described above, the user may not choose to receive data from all of the applications that have been determined to be associated with the context data 128. In this example, as indicated by the dashed line surrounding the food application 114L, the user has decided not to include the use of the food application 114L. In some embodiments, the selection received from the user may be provided to the contextual service 104 and used to update the model utilized by the machine learning mechanism. In this way, applications identified as being associated with a particular context may change over time in response to a selection made by a user of the contextual service.

現実施例では、GUI200は、現在のコンテキストに関連していると識別されたアプリケーション114H〜114Lの一部からアプリケーションデータ118H〜118Kを示す。GUI200は選択したアプリケーションデータUI要素202内のアプリケーションデータを示す。GUI200はまた、ユーザインタフェース要素部204のうちの選択されたアプリケーション114〜114Lに関連付けられたユーザインタフェース要素を示す。ユーザインタフェース要素部204は、SeahawksアプリケーションUI204A、スタジアムアプリケーションUI204B、一般的なスポーツアプリケーションUI204C、および天気アプリケーションUI204Dのためのユーザインタフェース要素を示す。以上のように、アプリケーションUI204A〜204Dはそれぞれ、オプション1〜Nを含む。いくつかの実施例では、異なるアプリケーション114H〜114K用のユーザインタフェース要素204は、組み合わされても良いし、そうでなければ、異なる方法で表示されても良い。   In the current embodiment, GUI 200 shows application data 118H-118K from a portion of applications 114H-114L that have been identified as being associated with the current context. The GUI 200 indicates application data in the selected application data UI element 202. The GUI 200 also shows user interface elements associated with the selected application 114-114 L of the user interface element portion 204. The user interface element unit 204 shows user interface elements for the Seaawks application UI 204A, the stadium application UI 204B, the general sports application UI 204C, and the weather application UI 204D. As described above, the application UIs 204A to 204D include options 1 to N, respectively. In some embodiments, user interface elements 204 for different applications 114H-114K may be combined or otherwise displayed in different ways.

上述のように、GUI200内に表示されるアプリケーションデータ118は、アプリケーションデータ118をコンテクスチュアル・サービス104に提供するアプリケーションによって少なくとも一部において選択されても良い。言い換えれば、アプリケーションから特定の情報を要求する代わりに、コンテクスチュアル・サービス104は、コンテキストデータ128に関連しているとアプリケーションが判定したアプリケーションからアプリケーションデータ118を受信する。例えば、Seahawksアプリケーション114Hは、試合が開始される前の試合前、試合進行中の試合のスコアおよび統計、および試合終了後の分析および試合後のレビューを含んで良い。コンテキストデータ128が変更されるとともに(例えば、試合中に時間が変化する)、アプリケーション114H〜114Kの各々は、コンテクスチュアル・サービス104に提供されるアプリケーションデータ118H〜118Kを更新して良い。上述のように、コンテクスチュアル・サービス104は、どのアプリケーションデータを提供するかを決定する際、機械学習メカニズムを使用して良い。   As described above, the application data 118 displayed in the GUI 200 may be selected at least in part by an application that provides the application data 118 to the contextual service 104. In other words, instead of requesting specific information from an application, contextual service 104 receives application data 118 from an application that the application has determined to be associated with context data 128. For example, the Seaawks application 114H may include pre-game matches, game scores and statistics before the match is started, and post-match analysis and post-match reviews. As the context data 128 changes (eg, time changes during a match), each of the applications 114H-114K may update the application data 118H-118K provided to the contextual service 104. As described above, the contextual service 104 may use a machine learning mechanism in determining what application data to provide.

いくつかの実施例では、ユーザは個々のアプリケーションをGUI200内で起動する場合がある。例えば、ユーザは、特定のアプリケーション用に示されたUI要素内でオプション(図示せず)を選択して良い。他の実施例では、ユーザもまた、GUI200をカスタマイズできる場合がある。例えば、カスタマイズUI要素(図示せず)を選択したことに応答して、ユーザは次に、GUI200のディスプレイの中に含みたい異なる情報の選択するよう促される。例えば、ユーザは表示したいアプリケーションデータ118をリスト(または他の何らかのUI要素または入力方法)から選択し、ならびに、どのようにデータが表示されるかを選択して良い。   In some embodiments, the user may launch individual applications within the GUI 200. For example, the user may select an option (not shown) within the UI element shown for a particular application. In other embodiments, the user may also be able to customize the GUI 200. For example, in response to selecting a customized UI element (not shown), the user is then prompted to select different information that they want to include in the GUI 200 display. For example, the user may select application data 118 that he wants to display from a list (or some other UI element or input method), as well as how the data will be displayed.

図3は、通信のためコンテクスチュアル・サービス104を使用するアプリケーション114を図示する系統図300である。系統図300は、アプリケーション実行サービス108と通信するコンテクスチュアル・サービス104を含む。コンテクスチュアル・サービス104は、コンテキストマネージャ124A、データストア134A、およびレポート作成コンポーネント302を含んで良い。アプリケーション実行サービス108は、アプリケーション114A〜114Nを実行する1つ以上のコンピューティング装置を含んで良い。他の実施例では、アプリケーション114A〜114Nの全てまたは一部は、コンピューティング装置102A上で、または他の何らかのコンピューティング装置上で実行されて良い。   FIG. 3 is a system diagram 300 illustrating an application 114 that uses the contextual service 104 for communication. The system diagram 300 includes a contextual service 104 that communicates with the application execution service 108. Contextual service 104 may include a context manager 124A, a data store 134A, and a reporting component 302. Application execution service 108 may include one or more computing devices that execute applications 114A-114N. In other examples, all or a portion of applications 114A-114N may be executed on computing device 102A or on some other computing device.

アプリケーション114A〜114Nは、データをコンテクスチュアル・サービス104へ/から送受信するように構成されても良い。アプリケーション114A〜114Nはまた、互いに通信するためコンテクスチュアル・サービス104およびコンテクスチュアル・サービスAPI116を利用して良い。例えば、アプリケーション114Aなどのアプリケーションは、コンテキストデータ128Aを受信したことに応答してアプリケーションデータ118Aを生成して良い。いくつかの実施例では、アプリケーションデータ118Aの全てまたは一部は、コンテクスチュアル・サービス104によって、例えばアプリケーション114Bなどの1つ以上の他のアプリケーションに提供される。アプリケーションデータ118Aは、破線により示されるように、アプリケーション114Bに直接提供されるか、またはコンテキストマネージャ124Aを介してアプリケーション114Bに間接的に提供されて良い。   Applications 114A-114N may be configured to send and receive data to / from contextual service 104. Applications 114A-114N may also utilize contextual service 104 and contextual service API 116 to communicate with each other. For example, an application such as application 114A may generate application data 118A in response to receiving context data 128A. In some embodiments, all or a portion of application data 118A is provided by contextual service 104 to one or more other applications, such as application 114B. Application data 118A may be provided directly to application 114B, as indicated by the dashed line, or indirectly to application 114B via context manager 124A.

上述のように、例えばアプリケーション114Aなどのアプリケーション114は、コンテクスチュアル・サービスAPI116を使用するコンテクスチュアル・サービス104によって利用される1つ以上のカスタムイベントを指定して良い。例えば、カスタムイベントは、他のアプリケーションが受信することに関心を持ち得るアプリケーション114Aにより提供されるアプリケーションデータに関連しても良い。例えば、図2に図示されるSeahawksアプリケーション114Hは、他のアプリケーションでは通常入手できないSEATTLE SEAHAWKSについてのデータを提供するカスタムイベントを指定して良い。アプリケーション114Aによって指定されたカスタムイベントに関連付けられたアプリケーションデータ118Aを受信するため、アプリケーション114Bは、アプリケーション114によって指定された1つ以上のカスタムイベントに関する通知を受信するため登録して良い。他の実施例では、例えばアプリケーション114Aなどのアプリケーションは、コンテクスチュアル・サービスAPI116によって提供される機能を利用して、直接データ304を例えばアプリケーション114Bなどの別のアプリケーションに直接送信して良い。   As described above, an application 114, such as application 114A, for example, may specify one or more custom events that are utilized by the contextual service 104 using the contextual service API 116. For example, custom events may relate to application data provided by application 114A that other applications may be interested in receiving. For example, the Seaawks application 114H illustrated in FIG. 2 may specify a custom event that provides data about SEATTLE SEAHAWKS that is not normally available to other applications. In order to receive application data 118A associated with a custom event specified by application 114A, application 114B may register to receive notifications regarding one or more custom events specified by application 114. In other embodiments, an application, such as application 114A, may directly send data 304 to another application, such as application 114B, utilizing the functionality provided by contextual service API 116.

いくつかの実施例では、アプリケーション114Aから直接データ304および/またはアプリケーションデータ118Aを受信するアプリケーション114Bは、コンテクスチュアル・サービス104の一部であるコンテキストマネージャ124Aに提供されるアプリケーションデータ118Bを生成するデータを使用して良い。他の構成では、コンテキストマネージャ124Aは、受信したアプリケーションデータ118Aを使用して、コンテキストデータ128Aを更新して良い。例えば、場合によっては、アプリケーションデータ118Aは、コンピューティング装置102Aのユーザに関連付けられたコンテキストを更新するため使用され得る付加的なコンテキストデータ128を含んで良い。コンテキストマネージャ124Aは、更新されたコンテキストデータ128Cをアプリケーション114A〜114Nの全てまたは一部に提供して良い。現実施例では、コンテキストマネージャ124Aは、更新されたコンテキストデータ128Cをアプリケーション114Nに提供した。アプリケーション114Nは、更新されたコンテキストデータ128Cを使用してアプリケーションデータ118Nを生成する。   In some embodiments, application 114B that receives data 304 and / or application data 118A directly from application 114A is data that generates application data 118B that is provided to context manager 124A that is part of contextual service 104. May be used. In other configurations, the context manager 124A may update the context data 128A using the received application data 118A. For example, in some cases, application data 118A may include additional context data 128 that may be used to update the context associated with the user of computing device 102A. The context manager 124A may provide updated context data 128C to all or part of the applications 114A-114N. In the current example, context manager 124A provided updated context data 128C to application 114N. The application 114N generates application data 118N using the updated context data 128C.

レポート作成コンポーネント302は、アナリティクスを提供するように構成されても良い。例えば、コンテクスチュアル・サービス104に含まれる分析レポート作成コンポーネント302は、1つ以上のアプリケーション114A〜114Nのユーザに関するアナリティクスを表示する図5に図示されるGUI500を提供するように構成されても良い。アナリティクスは、ソフトウェア・プロバイダまたは他の認定ユーザによって利用され得るコンピューティング装置102Aに関連付けられたUI130A上に表示されて良い。レポート作成コンポーネント302は、1つ以上のアプリケーション114A−114Nに関する情報(例えば、設定情報)を含むレポートを作成するよう構成されて良い。   The reporting component 302 may be configured to provide analytics. For example, the analytical reporting component 302 included in the contextual service 104 may be configured to provide the GUI 500 illustrated in FIG. 5 that displays analytics for users of one or more applications 114A-114N. The analytics may be displayed on UI 130A associated with computing device 102A that may be utilized by a software provider or other authorized user. The report creation component 302 may be configured to create a report that includes information (eg, configuration information) regarding one or more applications 114A-114N.

図4は、ユーザの現在のコンテキストに応じて機能を実行するためのアプリケーション114を識別して利用することを図示する系統図400である。系統図400は、コンテクスチュアル・サービス104、アプリケーション・サービス106、およびコンピューティング装置102Bを含む。上述のように、場合によっては、現在のコンテキストに関連していると識別されたアプリケーション114Gは、コンピューティング装置102Bにダウンロードされて良い。   FIG. 4 is a system diagram 400 illustrating identifying and utilizing an application 114 for performing a function depending on a user's current context. System diagram 400 includes contextual service 104, application service 106, and computing device 102B. As described above, in some cases, application 114G identified as being associated with the current context may be downloaded to computing device 102B.

いくつかの構成によれば、コンテクスチュアル・サービス104は、ユーザ120Bに関連付けられたコンテキストデータ128Bを受信し、コンテキストマネージャ124Aは、コンテキストに関するアプリケーション114を決定する。コンテキストマネージャ124Aは、コンテクスチュアル・サービス104に登録されている登録済みアプリケーション402から関連アプリケーション114を決定して良い。コンテキストマネージャ124Aはまた、コンテクスチュアル・サービス104には登録されていないアプリケーション114から関連アプリケーション114を決定して良い。例えば、コンテキストマネージャ124Aは、電子マーケット132から入手できるアプリケーションから関連アプリケーション114を決定して良い。いくつかの場合、コンテキストマネージャ124は、電子マーケット132から入手できるデータ、または他の何らかのソースを使用して、アプリケーションの機能および/または人気度を決定する。   According to some configurations, contextual service 104 receives context data 128B associated with user 120B, and context manager 124A determines application 114 for the context. The context manager 124A may determine the associated application 114 from the registered applications 402 registered with the contextual service 104. Context manager 124A may also determine related applications 114 from applications 114 that are not registered with contextual service 104. For example, the context manager 124A may determine the related application 114 from applications available from the electronic market 132. In some cases, the context manager 124 uses data available from the electronic market 132, or some other source, to determine the functionality and / or popularity of the application.

現実施例では、コンテキストマネージャ124Aは、コンテキストデータ128Bに関連する関連アプリケーション404を識別する。例えば、関連アプリケーション404は、コンテキストデータ128Bに応じて起動するように登録されたアプリケーション114でも良い。いくつかの構成では、コンテキストマネージャ124Aは、コンテキストデータ128Bに応じて、コンピューティング装置102Bに提供する関連アプリケーション404の1つを選択して良い。他の実施例では、コンテキストマネージャ124Aは、現在のコンテキストに関連する異なるアプリケーションの選択をユーザに提示して良い。例えば、コンテクスチュアル・サービス104は、ユーザインタフェース130Bに提示する関連アプリケーションデータ406を提供して良い。現実施例では、ユーザ120Bは、利用するアプリケーション114Gを選択する。ユーザ120Bからアプリケーション114Gの選択を受信した後、コンテクスチュアル・サービス104は、コンピューティング装置102Bに、選択されたアプリケーション114Gをダウンロードさせて良い。   In the current example, context manager 124A identifies an associated application 404 associated with context data 128B. For example, the related application 404 may be the application 114 registered to start in accordance with the context data 128B. In some configurations, the context manager 124A may select one of the related applications 404 to provide to the computing device 102B in response to the context data 128B. In other examples, context manager 124A may present the user with a selection of different applications associated with the current context. For example, the contextual service 104 may provide relevant application data 406 for presentation on the user interface 130B. In the present embodiment, the user 120B selects the application 114G to be used. After receiving the selection of application 114G from user 120B, contextual service 104 may cause computing device 102B to download selected application 114G.

上述のように、アプリケーション114Gをコンピューティング装置102B上にインストールするかどうかの決定は、どのくらいの頻度でユーザ120Bがアプリケーション114Gを使用する可能性があるかの予測に基づいてなされて良い。例えば、選択されたアプリケーション114Gはたった一度しか利用されない場合もある(例えば、特定のイベントのためのアプリケーション)。いくつかの場合、クライアント・コンテキストマネージャ124Cは、電子マーケット132に接続し、アプリケーション114Gをコンピューティング装置102Bへダウンロードし、アプリケーション114Gをコンピューティング装置102B上にインストールさせて良い。アプリケーション114Gのインストール後、クライアント・コンテキストマネージャ124Cは、アプリケーション114Gを起動した後、場合によっては、その後のある時点で、アプリケーション114Gをコンピューティング装置102Bから自動的に削除して良い。例えば、アプリケーション114Gは、イベントアプリケーション114Gが完了した後で削除されて良い(例えば、数時間後、数日後、など)。   As described above, the determination of whether to install application 114G on computing device 102B may be made based on an estimate of how often user 120B may use application 114G. For example, the selected application 114G may be used only once (eg, an application for a specific event). In some cases, the client context manager 124C may connect to the electronic market 132, download the application 114G to the computing device 102B, and cause the application 114G to be installed on the computing device 102B. After the application 114G is installed, the client context manager 124C may automatically delete the application 114G from the computing device 102B at some point after launching the application 114G in some cases. For example, the application 114G may be deleted after the event application 114G is completed (eg, hours later, days later, etc.).

図5は、図2記載のコンテキストセンシティブ・フレームワーク内の1つ以上のアプリケーションの使用に関係する分析を表示する例示的なGUI500を示す画面図である。アプリケーション部504に図示されるように、GUI500は、図2で説明されるアプリケーション114H〜114Kに関するアナリティクスを示す。GUI500に提示されたデータは、コンテクスチュアル・サービス104に関連付けられたコンピューティング装置、アプリケーション・サービス106、または他の何らかのコンピューティング装置によって決定されて良い。GUI500は、例えばコンピューティング装置102Bなどのコンピューティング装置上に提示されて良い。   FIG. 5 is a screen diagram illustrating an example GUI 500 displaying an analysis related to the use of one or more applications within the context sensitive framework of FIG. As illustrated in the application unit 504, the GUI 500 shows analytics related to the applications 114H to 114K described in FIG. Data presented in GUI 500 may be determined by a computing device associated with contextual service 104, application service 106, or some other computing device. The GUI 500 may be presented on a computing device, such as computing device 102B, for example.

説明のためであって、限定することは目的とせず、GUI500が、特定の時間帯に利用されるまたは特定のコンテキストを伴って利用される1つ以上のアプリケーション114の使用に関するアナリティクスを見るために、コンテクスチュアル・サービス104の開発者によって利用されていると仮定する。GUI500は、さまざまな異なるアナリティクスおよびUI要素を表示して良い。現実施例では、GUI500は、構成UI要素502A、使用のタイプUI要素502B、平均使用率UI要素502C、利益UI要素502D、および換算レート502Eを示す。現実施例では、現在選択されているアプリケーションは、スタジアムアプリケーションUI要素の周りに表示された太い破線によって示されるスタジアムアプリケーション114Iである。   For purposes of illustration and not limitation, in order for the GUI 500 to look at analytics regarding the use of one or more applications 114 that are utilized at a particular time or with a particular context Assume that it is used by the developer of contextual service 104. The GUI 500 may display a variety of different analytics and UI elements. In the current embodiment, the GUI 500 shows a configuration UI element 502A, a usage type UI element 502B, an average usage UI element 502C, a profit UI element 502D, and a conversion rate 502E. In the current embodiment, the currently selected application is the stadium application 114I indicated by the thick dashed line displayed around the stadium application UI element.

構成UI要素502Aは、スタジアムアプリケーション114Iに関する設定情報を表示して良い。使用のタイプUI要素502Bは、どのようにアプリケーションが使用されているかを示すデータを表示して良い。現実施例では、使用のタイプUI要素502Bは、スタジアムアプリケーション114Iのスコア機能は、22%の時間使用され、スタジアムアプリケーション114Iの統計機能は、58%の時間されたことを示す。いくつかの構成では(図示せず)、ユーザは、1人または複数のユーザに関連付けられたデータを表示のため指定する1つ以上のオプションを選択して良い。例えば、単一ユーザまたはユーザグループによって、フットボールの試合のコンテキストにおいてアプリケーションがどのように使用されているかについてのアナリティクスを見ることを指定して良い。他の実施例では、スポーツイベントに参加していないユーザによってプリケーションがどのように使用されているかについてのアナリティクスを見ることを指定して良い。平均使用率UI要素502Cはスタジアムアプリケーション114Iがある時間帯(例えば、日毎、週毎、月毎)に使用されている平均時間を表示して良い。現実施例では、平均使用率UI要素502Cは、顧客による週毎の平均使用率の時間を表示するように構成されている。他の実施例では、平均使用率UI要素502Cは、他のコンテキストにおいてアプリケーションがどのくらい使用されているかを表示するように構成されて良い。利益UI要素502Dは、特定した期間中に生み出された平均利益を表示してよい。現実施例では、利益UI要素502Dは、1週間のうちに生み出された利益量を示す。換算UI要素502Eは、使用のためユーザに提示され得るアプリケーションの平均換算レートを表示して良い。   The configuration UI element 502A may display setting information regarding the stadium application 114I. The usage type UI element 502B may display data indicating how the application is being used. In the current example, the usage type UI element 502B indicates that the score function of the stadium application 114I has been used for 22% of the time and the statistic function of the stadium application 114I has been used for 58% of the time. In some configurations (not shown), the user may select one or more options that specify data associated with one or more users for display. For example, a single user or group of users may specify to view an analytic on how an application is used in the context of a football game. In other embodiments, it may be specified to view analytics on how the application is being used by users who are not participating in sporting events. The average usage rate UI element 502C may display an average time used in a certain time zone (for example, every day, every week, every month) of the stadium application 114I. In the current embodiment, the average usage UI element 502C is configured to display the weekly average usage time by the customer. In other embodiments, the average utilization UI element 502C may be configured to display how much the application is being used in other contexts. Profit UI element 502D may display the average profit generated during the specified time period. In the current example, the profit UI element 502D indicates the amount of profit generated in a week. The conversion UI element 502E may display an average conversion rate of the application that may be presented to the user for use.

いくつかの実施例では、異なるUI要素の全てまたは一部は、追加情報を取得するため、または異なるオプションを設定するため選択されて良い。ユーザは、アプリケーション部504に表示されたUI要素の1つを選択して、現在選択されているアプリケーションを変更して良い。   In some embodiments, all or some of the different UI elements may be selected to obtain additional information or set different options. The user may select one of the UI elements displayed on the application unit 504 and change the currently selected application.

ユーザはまた、カスタマイズUI要素502Fを選択することによって、GUI500をカスタマイズでき得る。カスタマイズUI要素502Fを選択したことに応答して、ユーザは次に、GUI500のディスプレイの中に含みたい異なる情報を選択するよう促される。例えば、ユーザは、表示したいアナリティクスをリストから選択しても良い(または他の何らかのUI要素または入力方法)。別の実施例では、ユーザは、プラン・アナリティクスがどのように表示されるかを選択して良い。例えば、ユーザは、プラン・アナリティクスが生データでグラフィック表示(例えば、表、チャート、グラフ)として、または他の何らかのフォーマットで表示させるように要求して良い。ユーザはまた、履歴情報をGUI500に表示させるように要求して良い。例えば、ユーザは、アプリケーションの使用の時系列ディスプレイまたは他の何らかのデータを見ることを要求して良い。   The user may also be able to customize the GUI 500 by selecting a customization UI element 502F. In response to selecting the customized UI element 502F, the user is then prompted to select different information that they want to include in the GUI 500 display. For example, the user may select an analytic that he wants to display from a list (or some other UI element or input method). In another example, the user may select how the plan analytics are displayed. For example, the user may request that the plan analytics be displayed as raw data in a graphical display (eg, a table, chart, graph) or in some other format. The user may also request that history information be displayed on the GUI 500. For example, the user may request to see a time series display of application usage or some other data.

GUI500に提示された情報はまた、後で使用するためにダウンローされても良い。説明したように、ユーザは、ダウンロードUI要素502Gを選択して、ローカルデータストア、ネットワークデータストアまたは別の場所に情報をダウンロードして良い。アナリティクスは、1つ以上のフォーマットでダウンロードされても良い。例えば、ユーザは、テキストファイル、スプレッドシートファイル、ワープロファイル、または他の何らかのファイルとして顧客サポート情報の全てまたは一部をダウンロードして良い。   Information presented in GUI 500 may also be downloaded for later use. As described, the user may select the download UI element 502G to download information to a local data store, a network data store, or another location. Analytics may be downloaded in one or more formats. For example, the user may download all or part of the customer support information as a text file, spreadsheet file, word profile, or some other file.

図6〜11は、本明細書に開示された実施例に従って、現在のコンテキストに対して関連アプリケーションを識別し、関連アプリケーションから受信したデータをユーザに提供するコンテキストセンシティブ・フレームワークを使用する態様を説明するルーチンを示すフロー図である。図6〜11および他の図に関して本明細書に記載された論理動作は、(1)一連のコンピュータ実行型の動作またはコンピューティング・システム上で実行されるプログラムモジュールおよび/または(2)コンピューティング・システム内の相互接続したマシンの論理回路または回路モジュールとして実装されて良いことを理解すべきである。   FIGS. 6-11 illustrate aspects of using a context-sensitive framework that identifies related applications for the current context and provides data received from the related applications to a user in accordance with the embodiments disclosed herein. It is a flowchart which shows the routine demonstrated. The logical operations described herein with respect to FIGS. 6-11 and other figures include: (1) a series of computer-implemented operations or program modules executed on a computing system and / or (2) computing It should be understood that it may be implemented as a logic circuit or circuit module of interconnected machines in the system.

本明細書に記載されたさまざまな構成要素の実装は、コンピューティング・システムの性能および他の要件によって決まるものであって選択できるものである。したがって、本明細書に記載された論理動作は、さまざまに、動作、構造デバイス、行動またはモジュールのことである。これらの動作、構造デバイス、行動、およびモジュールは、ソフトウェア、ファームウェア、特殊用途デジタル論理およびそれらのいかなる組み合わせにおいて実装されて良い。また、図面に示されたまたは本明細書に記載されたものより、より多くのまたはより少ない動作が実行されて良いことを理解すべきである。これらの動作は、並列に実行されて良いし、または、本明細書に記載されたものとは異なる順序で実行されて良い。   The implementation of the various components described herein depends on the performance and other requirements of the computing system and can be selected. Accordingly, the logical operations described herein can refer variously to operations, structural devices, actions or modules. These operations, structural devices, actions, and modules may be implemented in software, firmware, special purpose digital logic, and any combination thereof. It should also be understood that more or fewer operations may be performed than those illustrated in the drawings or described herein. These operations may be performed in parallel, or may be performed in a different order than that described herein.

図6は、アプリケーションを選択し、ユーザに関連付けられたコンテキストを用いて選択したアプリケーションから受信したデータを整理する本明細書に開示されたメカニズムの態様を説明するルーチン600を示すフロー図である。ルーチン600は、ユーザに関連付けられたコンテキストデータ128が取得される602で始まって良い。上述のように、コンテキストデータ128は、ユーザに関連付けられたコンピューティング装置102上で動作するクライアント・コンテキストマネージャ124によって取得されて良い。コンテキストデータ128は、例えば現在の時刻、ユーザの現在の場所、気象データ、コンピューティング装置102上でどんな行動が行われているかなどのさまざまなコンテキストデータを含んで良いが、これに限るものではない。   FIG. 6 is a flow diagram illustrating a routine 600 that illustrates aspects of the mechanisms disclosed herein for selecting an application and organizing data received from the selected application using a context associated with the user. The routine 600 may begin at 602 where context data 128 associated with a user is obtained. As described above, the context data 128 may be obtained by the client context manager 124 operating on the computing device 102 associated with the user. The context data 128 may include, but is not limited to, various context data such as, for example, the current time, the user's current location, weather data, and what actions are being performed on the computing device 102. .

604で、コンテキストデータ128は、コンテクスチュアル・サービスに提供される。上述のように、コンテキストデータ128は、コンピューティング装置102上で動作するクライアント・コンテキストマネージャ124によって、または他の何らかのメカニズムを使用して、コンテクスチュアル・サービス104に提供されて良い。いくつかの実施例では、コンテキストデータ128は、コンテクスチュアル・サービス104に提供され、定期的にまたは何らかの事象または条件に応答して更新されても良い。他の実施例では、コンテキストデータ128は、ネットワーク接続が確立されたとき、および/または周期的にコンテクスチュアル・サービス104に提供されて良い。   At 604, the context data 128 is provided to the contextual service. As described above, the context data 128 may be provided to the contextual service 104 by the client context manager 124 operating on the computing device 102 or using some other mechanism. In some embodiments, the context data 128 may be provided to the contextual service 104 and updated periodically or in response to some event or condition. In other embodiments, the context data 128 may be provided to the contextual service 104 when a network connection is established and / or periodically.

606で、利用する関連アプリケーションを識別するデータが受信される。上述のように、受信されるデータは、関連アプリケーション114を識別するデータの識別136を含んで良い。他の実施例では、データは、アプリケーション自体を含んで良いし、またはデータは、1つ以上のアプリケーション114によって提供されるアプリケーションデータ118を含んで良い。   At 606, data identifying a related application to use is received. As described above, the received data may include a data identification 136 that identifies the associated application 114. In other examples, the data may include the application itself, or the data may include application data 118 provided by one or more applications 114.

608で、コンテキストデータ128が、関連していると識別されたアプリケーション114に提供される。上述のように、コンテキストデータ128は、関連していると識別されたアプリケーション114の全てまたは一部に提供されて良い。いくつかの実施例では、コンテクスチュアル・サービス104内で動作するコンテキストマネージャ124は、最も関連があるアプリケーション114を識別し、コンピューティング装置102から受信するコンテキストデータ128をアプリケーション114に提供する。   At 608, context data 128 is provided to the application 114 identified as relevant. As described above, context data 128 may be provided to all or a portion of applications 114 identified as being relevant. In some embodiments, the context manager 124 operating within the contextual service 104 identifies the most relevant application 114 and provides the application 114 with context data 128 received from the computing device 102.

610で、アプリケーションデータ118がアプリケーション114から受信される。上述のように、受信されるアプリケーションデータ118は、アプリケーション114そのものによって選択されて良い。コンテキストマネージャ124がアプリケーション114から特定のタイプのデータを要求する代わりに、コンテクスチュアル・サービス104により、アプリケーション114は、コンピューティング装置102によって提供されるコンテキストデータ128に基づいて、提供するアプリケーションデータ118を選択することができる。   At 610, application data 118 is received from application 114. As described above, the received application data 118 may be selected by the application 114 itself. Instead of the context manager 124 requesting a particular type of data from the application 114, the contextual service 104 allows the application 114 to provide application data 118 that is provided based on the context data 128 provided by the computing device 102. You can choose.

612で、提供するアプリケーションデータ118が選択される。上述のように、関連アプリケーション114から受信したアプリケーションデータ118は、重複データならびに現在のコンテキストに関連してない可能性のある他のデータを含んで良い。いくつかの実施例では、コンテキストマネージャ124は、アプリケーションデータ118からの重複データを削除し、アプリケーションデータ118の一部に優先順位をつけ、提供されるアプリケーションデータ118をフォーマットする。いくつかの実施例では、アプリケーションデータ118は、ユーザに提供されるようにフォーマットされる。他の実施例では、アプリケーションデータ118は、別のアプリケーションおよび/またはコンピューティング装置102に提供されるようにフォーマットされる。   At 612, application data 118 to provide is selected. As described above, application data 118 received from related applications 114 may include duplicate data as well as other data that may not be related to the current context. In some embodiments, the context manager 124 removes duplicate data from the application data 118, prioritizes a portion of the application data 118, and formats the provided application data 118. In some embodiments, application data 118 is formatted to be provided to the user. In other embodiments, application data 118 is formatted to be provided to another application and / or computing device 102.

614で、選択されたデータが提供される。上述のように、選択されたデータは、コンテクスチュアル・サービス104にどのアプリケーションが利用されているかに関係なく共通UIを提供するユーザインタフェース130において提供されて良い。他の実施例では、ユーザインタフェース130は、アプリケーション114またはコンテキストデータ128に関するアプリケーション114によって提供されるネイティブインタフェースでも良い。他の実施例では、選択されたデータは、コンピューティング装置102によって使用できるフォーマットで提供される。   At 614, the selected data is provided. As described above, the selected data may be provided in the user interface 130 that provides a common UI regardless of which application is being used for the contextual service 104. In other embodiments, user interface 130 may be a native interface provided by application 114 or application 114 for context data 128. In other embodiments, the selected data is provided in a format that can be used by computing device 102.

図7は、アプリケーション114をコンテクスチュアル・サービス104に登録するための本明細書に開示されたメカニズムの態様を説明するルーチン700を示すフロー図である。702で、アプリケーション114は、コンテクスチュアル・サービスAPI116を利用するように構成されて良い。上述のように、アプリケーション114は、コンテクスチュアル・サービス104に登録する機能を提供するコンテクスチュアル・サービスAPI116を利用して良い。例えば、アプリケーション114は、コンテキストデータ128によって指定されたさまざまなコンテキストのために起動するように登録されて良い。アプリケーション114はまた、カスタムイベントを定義する、その他のアプリケーション114と通信するなどコンテクスチュアル・サービスAPI116の他の機能を利用するように構成されても良い。上述のように、アプリケーション114は、例えばサーモスタット、照明システム、警報システム、車、食器洗い機、洗濯機、乾燥機、冷蔵庫、オーブン、他の何らかのホームオートメーションシステムなどのコンピューティング装置に関連付けられても良いが、これらに限らない。例えば、照明機器は、コンテクスチュアル・サービス104と通信するためのAPIを利用して良い。いくつかの構成では、アプリケーション114は、システムオンチップ(「SOC」)として実装されて良く、APIによって提供される機能を利用して良い。   FIG. 7 is a flow diagram illustrating a routine 700 that illustrates aspects of the mechanisms disclosed herein for registering an application 114 with the contextual service 104. At 702, the application 114 may be configured to utilize the contextual service API 116. As described above, the application 114 may utilize a contextual service API 116 that provides functionality to register with the contextual service 104. For example, application 114 may be registered to launch for various contexts specified by context data 128. Application 114 may also be configured to take advantage of other features of contextual service API 116 such as defining custom events and communicating with other applications 114. As described above, the application 114 may be associated with a computing device such as a thermostat, lighting system, alarm system, car, dishwasher, washing machine, dryer, refrigerator, oven, or some other home automation system. However, it is not limited to these. For example, the lighting device may utilize an API for communicating with the contextual service 104. In some configurations, application 114 may be implemented as a system on chip (“SOC”) and may utilize functionality provided by the API.

704で、アプリケーション114は、コンテクスチュアル・サービス104に登録される。上述のように、異なるアプリケーション114が、ユーザに関連付けら得る異なるコンテキストに応答して起動されるようにコンテクスチュアル・サービス104に登録されて良い。いくつかのアプリケーション114は、1つ以上の異なる条件(例えば、指定した時間における指定された場所)に応答して起動されるように登録されて良い。上述のように、いくつかの構成では、コンテクスチュアル・サービス104は、データを未登録アプリケーションに提供して良い。   At 704, application 114 is registered with contextual service 104. As described above, different applications 114 may be registered with the contextual service 104 to be launched in response to different contexts that may be associated with the user. Some applications 114 may be registered to be activated in response to one or more different conditions (eg, a specified location at a specified time). As described above, in some configurations, contextual service 104 may provide data to unregistered applications.

706で、コンテクスチュアル・サービスはアプリケーションを登録する。上述のように、登録要求を受信した後、コンテクスチュアル・サービス104は、登録済みアプリケーションが指定された条件に応答して起動されるように、アプリケーションを登録する。   At 706, the contextual service registers the application. As described above, after receiving the registration request, the contextual service 104 registers the application so that the registered application is activated in response to the specified condition.

図8は、ユーザに関連付けられたコンピューティング装置上では現在利用できないアプリケーションにアクセスを提供するための本明細書に開示されたメカニズムの態様を説明するルーチン800を示すフロー図である。ルーチン800は、コンテキストデータ128が受信される802で始まって良い。上述のように、コンテキストデータ128は、コンテクスチュアル・サービス104内で動作するコンテキストマネージャ124Aによって受信されて良い。   FIG. 8 is a flow diagram illustrating a routine 800 that describes aspects of the mechanisms disclosed herein for providing access to applications that are not currently available on a computing device associated with a user. The routine 800 may begin at 802 where context data 128 is received. As described above, the context data 128 may be received by the context manager 124A operating within the contextual service 104.

804で、利用するアプリケーションが決定される。上述のように、コンテクスチュアル・サービス104が、コンテキストデータ128に関連付けられたユーザによって利用され得る1つ以上のアプリケーション114を決定するため使用されて良い。いくつかの構成では、コンテクスチュアル・サービス104は、ユーザに、コンテキストデータ128用に登録されたアプリケーション114とともにUI130を提示する。UI130は次いで、利用するアプリケーション114うち少なくとも1つの選択を受信する。他の実施例では、UI130は、アプリケーション114の選択を受信するために提示されない場合もある。例えば、コンテクスチュアル・サービス104は、コンテキストマネージャ124Aを使用して1つ以上のアプリケーション114を選択して良い。上述のように、コンテキストマネージャ124Aは、機械学習メカニズムまたは他の何らかのメカニズムを使用して、ユーザによってアプリケーションが利用される可能性が高いかどうかを予測して良い。806で、アプリケーション114は、決定されると、コンピューティング装置102上にインストールされる。上述のように、アプリケーション114は、選択されたアプリケーションがコンピューティング装置上では現在利用できない場合、コンピューティング装置102上にインストールされて良い。   At 804, an application to be used is determined. As described above, the contextual service 104 may be used to determine one or more applications 114 that can be utilized by a user associated with the context data 128. In some configurations, the contextual service 104 presents the UI 130 with the application 114 registered for the context data 128 to the user. The UI 130 then receives a selection of at least one of the applications 114 to use. In other embodiments, UI 130 may not be presented to receive the selection of application 114. For example, contextual service 104 may select one or more applications 114 using context manager 124A. As described above, the context manager 124A may use a machine learning mechanism or some other mechanism to predict whether an application is likely to be utilized by a user. At 806, the application 114 is installed on the computing device 102 when determined. As described above, the application 114 may be installed on the computing device 102 if the selected application is not currently available on the computing device.

808で、アプリケーション114が起動される。上述のように、クライアント・コンテキストマネージャ124は、アプリケーション114をコンピューティング装置102上で起動させて良い。いくつかの実施例では、アプリケーション114は、ユーザによって使用のためコンピューティング装置102上で起動されて良い。他の実施例では、アプリケーション114は、アプリケーションデータがユーザ装置にストリーミングされて、サービス・プロバイダーネットワークにおけるリモートコンピューティング装置上で起動され実行されて良い。   At 808, the application 114 is activated. As described above, the client context manager 124 may launch the application 114 on the computing device 102. In some embodiments, application 114 may be launched on computing device 102 for use by a user. In other embodiments, application 114 may be launched and executed on a remote computing device in a service provider network with application data streamed to the user device.

810で、アプリケーション114は、決定されると、コンピューティング装置102から削除されて良い。上述のように、アプリケーション114は将来ユーザ120によって利用されそうにないと、コンテクスチュアル・サービス104が決定すると、アプリケーション114は削除されて良い。場合によっては、いくらか時間が経過した後、または他の何らかの条件に応じて(例えば、コンテキストが変化した後)、アプリケーションは削除される。   At 810, the application 114 may be deleted from the computing device 102 once determined. As described above, the application 114 may be deleted once the contextual service 104 determines that the application 114 is not likely to be used by the user 120 in the future. In some cases, the application is deleted after some time has passed, or in response to some other condition (eg, after a context change).

図9は、ユーザに関連付けられたコンピューティング装置上では利用できないアプリケーションにアクセスを提供するための本明細書に開示されたメカニズムの態様を説明するルーチン900を示すフロー図である。ルーチン900は、コンテキストデータ128が受信される902で始まって良い。上述のように、コンテキストデータ128は、コンテクスチュアル・サービス104内で動作するコンテキストマネージャ124Aによって受信されて良い。   FIG. 9 is a flow diagram illustrating a routine 900 that illustrates aspects of the mechanisms disclosed herein for providing access to applications that are not available on a computing device associated with a user. The routine 900 may begin at 902 where context data 128 is received. As described above, the context data 128 may be received by the context manager 124A operating within the contextual service 104.

904で、利用するアプリケーションが決定される。上述のように、コンテクスチュアル・サービス104は、コンテキストデータ128に関連付けられたユーザによって利用され得る1つ以上のアプリケーション114を決定するため使用されて良い。いくつかの構成では、コンテクスチュアル・サービス104は、ユーザに、コンテキストデータ128用に登録されたアプリケーション114とともにUI130を提示する。他の実施例では、コンテクスチュアル・サービス104は、コンテキストデータ128を使用し、電子マーケット132から入手できる関連アプリケーション114を決定する。UI130は次いで、利用するアプリケーション114うち少なくとも1つの選択を受信する。   At 904, an application to be used is determined. As described above, the contextual service 104 may be used to determine one or more applications 114 that may be utilized by a user associated with the context data 128. In some configurations, the contextual service 104 presents the UI 130 with the application 114 registered for the context data 128 to the user. In other embodiments, contextual service 104 uses context data 128 to determine related applications 114 available from electronic market 132. The UI 130 then receives a selection of at least one of the applications 114 to use.

906で、アプリケーション114が起動される。上述のように、アプリケーション114は、アプリケーション実行サービス108内、または他の何らかのコンピューティング装置上で実行されて良い。   At 906, application 114 is activated. As described above, the application 114 may be executed within the application execution service 108 or on some other computing device.

908で、アプリケーションデータ118が提供される。上述のように、コンテキストマネージャ124Aは、アプリケーション実行サービス108から受信されるアプリケーションデータ118をコンピューティング装置102上で動作するクライアント・コンテキストマネージャ124に提供して良い。アプリケーションデータ118は、ユーザに提供されるか、または他の何らかのアプリケーション、または、例えばスマートサーモスタット、照明システム、警報システム、車、食器洗い乾燥機、洗濯機、乾燥機、冷蔵庫、オーブン、他の何らかのホームオートメーションシステムなどのコンピューティング装置102によって使用されて良い。   At 908, application data 118 is provided. As described above, the context manager 124 A may provide application data 118 received from the application execution service 108 to the client context manager 124 operating on the computing device 102. Application data 118 may be provided to the user or some other application or, for example, a smart thermostat, lighting system, alarm system, car, dishwasher, washing machine, dryer, refrigerator, oven, some other home It may be used by a computing device 102 such as an automation system.

図10は、コンテクスチュアル・サービスを用いてアプリケーションが互いに通信するための本明細書に開示されたメカニズムの態様を説明するルーチン1000を示すフロー図である。ルーチン1000は、第1アプリケーションからアプリケーションデータ118が受信される1002で始まってよい。上述のように、アプリケーション114は、コンテクスチュアル・サービス104にカスタムイベントを登録するためのコンテクスチュアル・サービスAPI116を利用して良い。他のアプリケーション114は、第1アプリケーションによって定義されたカスタムイベントの発生に関連付けられた通知を受信するため登録されて良い。   FIG. 10 is a flow diagram illustrating a routine 1000 that describes aspects of the mechanisms disclosed herein for applications to communicate with each other using contextual services. The routine 1000 may begin at 1002 where application data 118 is received from a first application. As described above, the application 114 may utilize the contextual service API 116 for registering custom events with the contextual service 104. Other applications 114 may be registered to receive notifications associated with the occurrence of custom events defined by the first application.

1004で、受信されたアプリケーションデータ118は、コンテキストデータ128を更新するため使用されて良い。上述のように、第1アプリケーション114から受信されるアプリケーションデータ118は、現在のコンテキストに関する付加的なコンテクスチュアル情報を提供して良い。いくつかの実施例では、第1アプリケーションから受信されるアプリケーションデータ118は、現在のコンテキストに関連しない場合がある。この場合、コンテクスチュアル・サービス104は、コンテキストデータ128を更新しない。   At 1004, the received application data 118 may be used to update the context data 128. As described above, the application data 118 received from the first application 114 may provide additional contextual information regarding the current context. In some embodiments, application data 118 received from the first application may not be relevant to the current context. In this case, contextual service 104 does not update context data 128.

1006で、第1アプリケーションから受信されるアプリケーションデータ118および/または更新されたコンテキストデータが、1つ以上の他のアプリケーション114に提供される。上述のように、コンテクスチュアル・サービス104は、カスタムイベントと関連しているアプリケーションデータ118の少なくとも一部をカスタムイベントの通知を受信するため登録されているアプリケーション114に提供して良い。いくつかの構成では、コンテクスチュアル・サービス104は、更新されたコンテキストデータ128を現在のコンテキストに関連する他のアプリケーション114の各々に提供する。また述べたように、アプリケーションデータ118は、他のコンピューティング装置に提供され、その装置の動作を制御するために使用されて良い。例えば、アプリケーションデータ118がサーモスタットに提供され、温度設定を変更するためにサーモスタットによって利用されるアプリケーション114によって使用される。   At 1006, application data 118 and / or updated context data received from the first application is provided to one or more other applications 114. As described above, contextual service 104 may provide at least a portion of application data 118 associated with a custom event to registered applications 114 for receiving notifications of the custom event. In some configurations, contextual service 104 provides updated context data 128 to each of the other applications 114 associated with the current context. As also mentioned, application data 118 may be provided to other computing devices and used to control the operation of that device. For example, application data 118 is provided to the thermostat and used by the application 114 utilized by the thermostat to change temperature settings.

1008で、更新されたアプリケーションデータ118が他のアプリケーションから受信される。上述のように、アプリケーションは、コンテクスチュアル・サービス104にどのようなデータを提供するかを決定する。したがって、コンテクスチュアル・サービス104によって提供される更新されたコンテキストデータ128は、アプリケーション114に異なるアプリケーションデータ118を提供させて良い。いくつかの実施例では、更新されたコンテキストデータ128は、サーモスタット、照明システム、警報システム、車、食器洗い機、洗濯機、乾燥機、冷蔵庫、オーブン、他の何らかのホームオートメーションシステムなどの他のコンピューティング装置から受信されて良い。   At 1008, updated application data 118 is received from another application. As described above, the application determines what data is provided to the contextual service 104. Accordingly, the updated context data 128 provided by the contextual service 104 may cause the application 114 to provide different application data 118. In some embodiments, updated context data 128 may be used for other computing such as thermostats, lighting systems, alarm systems, cars, dishwashers, washing machines, dryers, refrigerators, ovens, or some other home automation system. May be received from the device.

図11は、ユーザに関連付けられたコンピューティング装置に提供するアプリケーションデータを選択するための本明細書に開示されたメカニズムの態様を説明するルーチン1100を示すフロー図である。ルーチン1100は、アプリケーションデータ118がアプリケーション114から受信される1102で始まって良い。上述のように、異なるアプリケーションから受信されるアプリケーションデータ118は、データを提供するアプリケーション114によって選択され選ばれる。これは、単にアプリケーションから特定のデータを要求することと対照的である。   FIG. 11 is a flow diagram illustrating a routine 1100 that illustrates aspects of the mechanisms disclosed herein for selecting application data to provide to a computing device associated with a user. The routine 1100 may begin at 1102 where application data 118 is received from the application 114. As described above, application data 118 received from different applications is selected and selected by the application 114 that provides the data. This is in contrast to simply requesting specific data from the application.

1104で、ユーザに提供するアプリケーションデータ118は、顧客の選好を使用して選択されて良い。上述のように、顧客の選好は、1つ以上の顧客プロファイルにおいて指定された環境設定されても良いし、またはユーザに関連付けられた履歴データから決定され得る。例えば、ユーザは、他のアプリケーションデータ118または他のアプリケーション114に優先して、特定のアプリケーションデータ118または別のアプリケーション114を事前に選択していたと決定され得る。顧客の選好はまた、顧客プロファイルまたは他の何らかのメモリ内に設置され得る明示的な設定から決定されて良い。   At 1104, application data 118 to provide to the user may be selected using customer preferences. As described above, customer preferences may be configured as specified in one or more customer profiles, or may be determined from historical data associated with the user. For example, it may be determined that the user has pre-selected specific application data 118 or another application 114 over other application data 118 or other application 114. Customer preferences may also be determined from explicit settings that may be placed in the customer profile or some other memory.

1106で、選択したアプリケーションデータ118からの重複データが削除される。上述のように、異なるアプリケーションから受信されるアプリケーションデータ118は、重複したまたは互いに同様のものであるデータを含み得る。   At 1106, duplicate data from the selected application data 118 is deleted. As described above, application data 118 received from different applications may include data that is duplicated or similar to each other.

1108で、アプリケーションデータは、ユーザインタフェースのディスプレイ用にフォーマットされる。上述のように、コンテキストマネージャは、異なるアプリケーションの各々に関連付けられた異なるユーザインタフェースの使用によってユーザの注意がそらされないように、共通のユーザインタフェース130内で提供されるデータをフォーマットして良い。   At 1108, the application data is formatted for display on the user interface. As described above, the context manager may format the data provided in the common user interface 130 so that the user's attention is not diverted through the use of different user interfaces associated with each of the different applications.

図12および以下の説明は、本明細書に記載された実施例が実装され得る適切なコンピューティング環境の簡潔な一般的な説明を提供することを目的としている。具体的には、図12は、サービス・プロバイダーネットワーク110を含む例示的な動作環境を示すシステムおよびネットワーク図である。上述のように、サービス・プロバイダーネットワーク110は、仮想マシンインスタンスおよびコンピューティングリソースを永続的にまたは必要に応じて提供できる。   FIG. 12 and the following description are intended to provide a brief general description of a suitable computing environment in which the embodiments described herein may be implemented. Specifically, FIG. 12 is a system and network diagram illustrating an exemplary operating environment that includes a service provider network 110. As described above, the service provider network 110 can provide virtual machine instances and computing resources permanently or as needed.

サービス・プロバイダーネットワーク110によって提供されるコンピューティングリソースは、例えばデータ処理リソース、データ記憶リソース、ネットワークリソース、データ通信リソースなどの各種リソースを含んで良い。コンピューティングリソースの各種は、汎用的であって良いし、または、複数の特定の構成において利用可能であって良い。例えば、以下により詳細に説明されるように、データ処理リソースは、複数の異なる構成において仮想マシンインスタンスとして利用できて良い。仮想マシンインスタンスは、ウエブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバおよび他の種類のアプリケーションを含むアプリケーションを実行するように構成されて良い。データ記憶リソースは、ファイル記憶装置、ブロック記憶装置などを含んで良い。コンピューティングリソースの仮想マシンインスタンスの構成のそれぞれのタイプは、例えば多数のプロセッサ、大容量メモリ、および/または大きな記憶容量で構成される大きなリソース、および、より少ない数のプロセッサ、小容量メモリおよび/またはより小さい記憶容量で構成される小さなリソースなど、異なるサイズで利用されて良い。   Computing resources provided by the service provider network 110 may include various resources such as data processing resources, data storage resources, network resources, data communication resources, and the like. Various types of computing resources may be general purpose or may be available in multiple specific configurations. For example, as described in more detail below, a data processing resource may be used as a virtual machine instance in a number of different configurations. A virtual machine instance may be configured to execute applications including web servers, application servers, media servers, database servers, and other types of applications. Data storage resources may include file storage devices, block storage devices, and the like. Each type of configuration of a virtual machine instance of computing resources includes, for example, a large resource composed of a large number of processors, large memory, and / or large storage capacity, and a smaller number of processors, small memory, and / or Or it can be used in different sizes, such as a small resource with a smaller storage capacity.

サービス・プロバイダーネットワーク110によって提供されるコンピューティングリソースは、1つ以上のデータセンター1204A〜1204N(本明細書では、単独では「データセンター1204」と称され、または集合的に「データセンター1204」と称され得る)による1つの実装によって使用可能となる。データセンター1204は、コンピュータ・システムおよび関連した構成要素を格納し稼働させるために利用される施設である。データセンター1204は、典型的には、冗長化電源、非常用電源、通信、冷却およびセキュリティのシステムを含む。データセンター1204はまた、地理的に分散した場所にあってよい。本明細書に開示された概念および技術の一部または全てを実装するデータセンター1204の一つの例示的な構成が、図13に関して以下に説明する。   The computing resources provided by the service provider network 110 may be one or more data centers 1204A-1204N (referred to herein as “data centers 1204” alone or collectively as “data centers 1204”. Can be used by one implementation. Data center 1204 is a facility used to store and operate computer systems and related components. The data center 1204 typically includes redundant power supplies, emergency power supplies, communications, cooling and security systems. Data center 1204 may also be in geographically dispersed locations. One exemplary configuration of a data center 1204 that implements some or all of the concepts and techniques disclosed herein is described below with respect to FIG.

サービス・プロバイダーネットワーク110のユーザおよび顧客は、ネットワーク1230で示されるように広域ネットワーク(「WAN」)などの適切なデータ通信網上で、データセンター1204によって提供されるコンピューティングリソースにアクセスして良い。広域ネットワークは使用されても良いが、データセンター1204をコンピューティング装置102に接続する、ローカルエリアネットワーク(「LAN」)、インターネット、または従来周知の他のいかなるネットワーク・トポロジが利用されて良いことを理解すべきである。また、そのようなネットワークの組み合わせもまた利用されて良いことを理解すべきである。   Users and customers of service provider network 110 may access computing resources provided by data center 1204 over a suitable data communications network, such as a wide area network (“WAN”) as shown by network 1230. . A wide area network may be used, but a local area network (“LAN”), the Internet, or any other network topology known in the art that connects the data center 1204 to the computing device 102 may be utilized. Should be understood. It should also be understood that combinations of such networks may also be utilized.

図13は、本明細書において開示された、コンテキストセンシティブ・フレームワークが、現在のコンテキストに対する関連アプリケーションを識別し、関連アプリケーションから受信したデータをユーザに提供するのに使用される概念および技術の一部または全てを含む、サービス・プロバイダーネットワーク110の態様を実装するデータセンター1204のための1つの構成を説明するコンピューティング・システム図である。図13に示すデータセンター1204の例は、コンピューティングリソースを提供するいくつかのサーバコンピュータ1302A〜1302F(本明細書では、単独では「サーバコンピュータ1302」と称され、または複数形で「サーバコンピュータ1302」と称され得る)を含む。サーバコンピュータ1302は、本明細書に記載されるコンピューティングリソースを提供するために適切に構成された標準のタワー型またはラックマウント型サーバコンピュータであって良い。実施例によれば、サーバコンピュータ1302は、上記のように、ソフトウェア製品を実行するように構成される。   FIG. 13 illustrates one of the concepts and techniques used by the context sensitive framework disclosed herein to identify relevant applications for the current context and provide data received from the relevant applications to the user. FIG. 2 is a computing system diagram illustrating one configuration for a data center 1204 that implements aspects of a service provider network 110, including some or all. The example of the data center 1204 shown in FIG. 13 includes a number of server computers 1302A-1302F that provide computing resources (referred to herein as “server computers 1302” alone or in plural form “server computers 1302”. ”). Server computer 1302 may be a standard tower or rack mount server computer suitably configured to provide the computing resources described herein. According to an embodiment, server computer 1302 is configured to execute a software product as described above.

一実施例では、一部のコンピューティングリソース1304は、仮想マシンインスタンスである。従来周知であるように、仮想マシンインスタンスは、物理マシンのようにプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実行のインスタンスである。サーバコンピュータ1302の各々は、コンピューティングリソースをインスタンス化し、コンピューティングリソースとコンピューティングリソースのインスタンスとを管理することができるインスタンスマネージャ(図示せず)を実行するように構成されて良い。仮想マシンインスタンスの場合、例えば、インスタンスマネージャは、例えば単一のサーバコンピュータ1302上で複数の仮想マシンインスタンスの実行を可能にするように構成されるハイパーバイザまたは別のタイプのプログラムであって良い。   In one embodiment, some computing resources 1304 are virtual machine instances. As is well known in the art, a virtual machine instance is a software execution instance of a machine (for example, a computer) that executes a program, such as a physical machine. Each of the server computers 1302 may be configured to execute an instance manager (not shown) that can instantiate computing resources and manage computing resources and instances of computing resources. In the case of virtual machine instances, for example, the instance manager may be a hypervisor or another type of program configured to allow execution of multiple virtual machine instances on a single server computer 1302, for example.

本明細書に開示された実施例は、主に仮想マシンインスタンスとの関連において説明されたものであるが、他のタイプのコンピューティングリソースを、本明細書において開示された概念および技術で利用することができることを理解すべきである。例えば、本明細書において開示された技術は、ハードウェアリソース、データ記憶リソース、データ通信リソース、ネットワークリソース、データベースリソースおよび他の種類のコンピューティングリソースで利用されて良い。   Although the embodiments disclosed herein are described primarily in the context of virtual machine instances, other types of computing resources are utilized with the concepts and techniques disclosed herein. It should be understood that it can. For example, the techniques disclosed herein may be utilized with hardware resources, data storage resources, data communication resources, network resources, database resources, and other types of computing resources.

図13に示すデータセンター1204はまた、サービス・プロバイダーネットワーク110内にあるデータセンター1204の操作を管理するソフトウェア・コンポーネント、サーバコンピュータ1302、仮想マシンインスタンス、および他のリソースを実行するために確保されているサーバコンピュータ1302Fを含む。サーバコンピュータ1302Fはまた、コンテキストマネージャ124Aを実行して良いし、データストア134Aを含んで良い。これら構成要素の各々の操作に関する詳細は上に提供されている。この点について、これら構成要素は、サービス・プロバイダーネットワーク110内において実行されるものとして説明されているが、サービス・プロバイダーネットワーク110の外部にあるコンピューティング・システムもこれら構成要素の一部または全てを実行するために利用されて良いことを理解すべきである。他の構成もまた利用されて良い。   The data center 1204 shown in FIG. 13 is also reserved for running software components, server computers 1302, virtual machine instances, and other resources that manage the operation of the data center 1204 within the service provider network 110. Server computer 1302F. Server computer 1302F may also execute context manager 124A and may include data store 134A. Details regarding the operation of each of these components are provided above. In this regard, although these components are described as being executed within the service provider network 110, computing systems external to the service provider network 110 may also include some or all of these components. It should be understood that it can be used to execute. Other configurations may also be utilized.

図13に示すデータセンター1204の例において、適切なローカルエリアネットワーク(「LAN」)1305を利用してサーバコンピュータ1302A〜1302Eおよびサーバコンピュータ1302Fが相互接続される。LAN1305はまた、図12に説明されるネットワーク1230に接続される。図12および図13に図示される構成およびネットワーク・トポロジは、大いに簡素化されており、さらに多くのコンピューティング・システム、ネットワーク、およびネットワーク機器が、本明細書に開示されたさまざまなコンピューティング・システムを相互接続するために利用されて良いことを理解すべきである。適切な負荷分散デバイスまたはソフトウェアモジュールもまた、データセンター1204A〜1204Nの各々の間、各データセンター1204におけるサーバコンピュータ1302A〜1302Fの各々の間、および、仮想マシンインスタンスとサービス・プロバイダーネットワーク110によって提供される他の種類のコンピューティングリソースとの間で負荷を分散させるために利用されて良い。   In the example of data center 1204 shown in FIG. 13, server computers 1302A-1302E and server computer 1302F are interconnected using an appropriate local area network (“LAN”) 1305. The LAN 1305 is also connected to the network 1230 described in FIG. The configurations and network topologies illustrated in FIGS. 12 and 13 have been greatly simplified, and more computing systems, networks, and network equipment can be used with the various computing systems disclosed herein. It should be understood that it can be used to interconnect systems. Appropriate load balancing devices or software modules are also provided between each of the data centers 1204A-1204N, between each of the server computers 1302A-1302F at each data center 1204, and by the virtual machine instance and service provider network 110. It can be used to distribute the load among other types of computing resources.

図13に記載されるデータセンター1204は、例示的なものに過ぎず、他の実装もまた利用されて良いことを理解すべきである。さらに、これら構成要素によって提供される機能は、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組み合わせによって実装されて良いことを理解すべきである。その他の実装は当業者に自明であろう。   It should be understood that the data center 1204 described in FIG. 13 is exemplary only and other implementations may also be utilized. Further, it should be understood that the functionality provided by these components may be implemented by software, hardware, or a combination of software and hardware. Other implementations will be apparent to those skilled in the art.

図14は、上述のようにアプリケーションデータをユーザに提供するコンテキストセンシティブ・フレームワークを使用するためのプログラム構成要素を実行できるコンピュータ1400用のコンピュータアーキテクチャの例を示す。図14に示すコンピュータアーキテクチャは、従来のサーバコンピュータ、ワークステーション、デスクトップ・コンピュータ、ラップトップ、タブレット、ネットワークアプライアンス、携帯情報端末(「PDA」)、電子書籍リーダ、デジタル携帯電話、または他のコンピューティング装置を例示し、本明細書において提示されたソフトウェア・コンポーネントのいずれかを実行するために利用されて良い。例えば、図14に示すコンピュータアーキテクチャは、上記のように操作を実行するソフトウェア・コンポーネントを実行するために利用されて良い。図14に示すコンピュータアーキテクチャはまた、コンピューティング装置102、コンテクスチュアル・サービス104において利用されるコンピューティング装置、アプリケーション・サービス106またはアプリケーション実行サービス108または本明細書に記載された他のいかなるコンピューティング・システムを実装するためにも利用されて良い。   FIG. 14 illustrates an example computer architecture for a computer 1400 that can execute program components for using a context-sensitive framework for providing application data to a user as described above. The computer architecture shown in FIG. 14 is a conventional server computer, workstation, desktop computer, laptop, tablet, network appliance, personal digital assistant (“PDA”), e-book reader, digital cell phone, or other computing The apparatus is illustrated and may be utilized to execute any of the software components presented herein. For example, the computer architecture shown in FIG. 14 may be utilized to execute software components that perform operations as described above. The computer architecture shown in FIG. 14 may also be used in computing device 102, computing device utilized in contextual service 104, application service 106 or application execution service 108, or any other computing platform described herein. It can also be used to implement a system.

コンピュータ1400は、数多くの構成要素またはデバイスがシステム・バスまたは電気通信パスを経由して接続され得るプリント基板であるベースボード1402、または「マザーボード」を含む。一説明例では、1つ以上の中央処理装置(「CPU(複数可)」)1404が、チップセット1406と連動して動作する。CPU(複数可)1404は、コンピュータ1400の動作に必要な算術演算および論理演算を実行する標準プログラム可能プロセッサであって良い。   The computer 1400 includes a base board 1402, or “motherboard”, which is a printed circuit board to which many components or devices can be connected via a system bus or telecommunications path. In one illustrative example, one or more central processing units (“CPU (s)”) 1404 operate in conjunction with the chipset 1406. CPU (s) 1404 may be a standard programmable processor that performs the arithmetic and logical operations necessary for the operation of computer 1400.

CPU(複数可)1404は、これらの状態間で差異を生じこれらの状態を変化させるスイッチング素子の動作を通して、1つの離散物理的状態から次の状態へ遷移することにより動作を実行する。スイッチング素子は通常論理ゲートなど1つ以上の他のスイッチング素子の状態の論理結合に基づいて出力状態を提供する、例えばフリップフロップおよび電子回路などの2つのバイナリ状態のうちの1つを維持する電子回路を含んで良い。これらの基本的なスイッチング素子は、レジスタ、加算器減算器、算術論理ユニット、浮動小数点ユニットなどを含むより複雑な論理回路を作成するため組み合わされて良い。   The CPU (s) 1404 performs operations by transitioning from one discrete physical state to the next through the operation of switching elements that produce differences between these states and change these states. A switching element typically provides an output state based on a logical combination of the states of one or more other switching elements, such as logic gates, an electron that maintains one of two binary states, such as flip-flops and electronic circuits. A circuit may be included. These basic switching elements may be combined to create more complex logic circuits including registers, adder-subtracters, arithmetic logic units, floating point units, and the like.

チップセット1406は、CPU(複数可)1404とベースボード1402上の構成要素およびデバイスの残りの部分との間のインタフェースを提供する。チップセット1406は、コンピュータ1400内のメインメモリとして使用されるRAM1408へのインタフェースを提供して良い。チップセット1406は、例えばコンピュータ1400の起動を助けてさまざまな構成要素およびデバイス間で情報を転送する基本的なルーチンを記憶する読出専用メモリ(「ROM」)1410または不揮発性RAM(「NVRAM」)などコンピュータ可読記憶媒体へのインタフェースをさらに提供して良い。ROM1410またはNVRAMはまた、本明細書に記載された実施例に従って、コンピュータ1400の動作に必要な他のソフトウェア・コンポーネントを記憶して良い。   Chipset 1406 provides an interface between CPU (s) 1404 and the rest of the components and devices on baseboard 1402. Chipset 1406 may provide an interface to RAM 1408 used as the main memory in computer 1400. Chipset 1406 may be, for example, a read only memory (“ROM”) 1410 or non-volatile RAM (“NVRAM”) that stores basic routines that help boot computer 1400 and transfer information between various components and devices. An interface to a computer readable storage medium may be further provided. The ROM 1410 or NVRAM may also store other software components necessary for the operation of the computer 1400 in accordance with the embodiments described herein.

コンピュータ1400は、ローカルエリアネットワーク1420などのネットワークを介してリモートコンピューティング装置およびコンピュータ・システムに対する論理接続を使用するネットワーク環境において動作して良い。チップセット1406は、例えばギガビットイーサネットアダプタなどのネットワークインタフェースコントローラ(「NIC」)1412を介してネットワークの接続性を提供する機能を含んで良い。NIC1412は、ローカルエリアネットワーク1420上でコンピュータ1400を他のコンピューティング装置に接続できる。複数のNIC1412がコンピュータ1400内に存在し、コンピュータを他の種類のネットワークおよびリモートコンピュータ・システムに接続することを理解すべきである。   Computer 1400 may operate in a network environment using logical connections to remote computing devices and computer systems via a network, such as local area network 1420. Chipset 1406 may include functionality for providing network connectivity via a network interface controller (“NIC”) 1412 such as, for example, a Gigabit Ethernet adapter. The NIC 1412 can connect the computer 1400 to other computing devices over the local area network 1420. It should be understood that multiple NICs 1412 exist within computer 1400 and connect the computer to other types of networks and remote computer systems.

コンピュータ1400は、コンピュータ用の不揮発性記憶装置を提供する例えばデータストア134などのデータストアに接続されて良い。データストア134は、本明細書においてより詳細に説明されるシステムプログラム、アプリケーションプログラム、他のプログラムモジュールおよびデータを格納して良い。データストア134は、チップセット1406に接続された記憶制御装置1414を経由してコンピュータ1400に接続されて良い。データストア134は1つ以上の物理記憶ユニットで構成されて良い。記憶制御装置1414は、コンピュータおよび物理記憶ユニット間で物理的に接続しデータを転送するシリアル接続SCSI(「SAS」)インタフェース、シリアル・アドバンスド・テクノロジー・アタッチメント(「SATA」)インタフェース、ファイバチャネル(「FC」)インタフェースまたは他のタイプのインタフェースを介して、物理記憶ユニットとインタフェースをとって良い。   The computer 1400 may be connected to a data store such as the data store 134 that provides non-volatile storage for the computer. The data store 134 may store system programs, application programs, other program modules and data described in more detail herein. Data store 134 may be connected to computer 1400 via storage controller 1414 connected to chipset 1406. The data store 134 may be composed of one or more physical storage units. The storage controller 1414 includes a serial connection SCSI (“SAS”) interface, a serial advanced technology attachment (“SATA”) interface, a fiber channel (“ FC ") interface or other type of interface may interface with the physical storage unit.

コンピュータ1400は、記憶される情報を反映するため物理記憶ユニットの物理的状態を変換することにより、データストア134に関するデータを記憶して良い。具体的な物理的状態の変換は、本明細書の異なる実装におけるさまざまな要因に依存し得る。そのような要因の例は、物理記憶ユニットを実装するために使用される技術、データストア134が一次記憶装置または二次記憶装置として特徴づけられるかどうか、などが挙げられるがこれに限定されるものではない。   The computer 1400 may store data regarding the data store 134 by converting the physical state of the physical storage unit to reflect the stored information. The specific physical state transformation may depend on various factors in different implementations of the present specification. Examples of such factors include, but are not limited to, the technology used to implement the physical storage unit, whether the data store 134 is characterized as a primary storage device or a secondary storage device, etc. It is not a thing.

例えば、コンピュータ1400は、記憶制御装置1414を経由して命令を発行することにより情報をデータストア134に記憶して、磁気ディスク・ドライブユニット内の特定の位置の磁気特性、光記憶ユニット内の特定の位置の反射特性または屈折特性、または、特定のコンデンサ、トランジスタ、または固体記憶ユニット内の他の別個の構成要素の電気特性を変更することができる。物理メディアの他の変換は、本明細書の範囲および精神を逸脱しない範囲で実現可能であり、上述の実施例は説明を容易にするためのみに提供される。コンピュータ1400は、物理記憶ユニット内の1つ以上の特定の位置の物理的状態または特性を検出することにより、データストア134からの情報をさらに読み取ることができる。   For example, the computer 1400 stores information in the data store 134 by issuing instructions via the storage controller 1414, the magnetic characteristics at a specific location in the magnetic disk drive unit, and a specific information in the optical storage unit. The reflective or refractive properties of the position, or the electrical properties of a particular capacitor, transistor, or other separate component within the solid state storage unit can be altered. Other transformations of physical media can be implemented without departing from the scope and spirit of the specification, and the above-described embodiments are provided only for ease of explanation. The computer 1400 can further read information from the data store 134 by detecting the physical state or characteristics of one or more specific locations within the physical storage unit.

上述のデータストア134の他に、コンピュータ1400は、例えばプログラムモジュール、データ構造、または他のデータなどの情報を記憶するおよび読み出すための他のコンピュータ可読記憶媒体にアクセスして良い。コンピュータ可読記憶媒体は、データの非一時的記憶装置のために備えられ、コンピュータ1400によってアクセスされ得る任意の入手可能な媒体であることを、当業者が理解するべきである。   In addition to the data store 134 described above, the computer 1400 may access other computer readable storage media for storing and retrieving information such as program modules, data structures, or other data. Those of skill in the art should understand that a computer-readable storage medium is any available medium that is provided for non-transitory storage of data and can be accessed by computer 1400.

制約条件としてではなく例として、コンピュータ可読記憶媒体は、任意の方法または技術において実装される揮発性および不揮発性の、リムーバブルおよび非リムーバブルメディアを含んで良い。コンピュータ可読記憶媒体は、RAM、ROM、消去可能プログラム可能ROM(「EPROM」)、電気的消去可能型プログラム可能ROM(「EEPROM」)、フラッシュメモリまたは他の固体メモリ技術、コンパクトディスクROM(「CD−ROM」)、デジタル多用途ディスク(「DVD」)、高解像度DVD(「HD−DVD」)、ブルーレイ、または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または非一時的な方法で所望の情報を記憶するために使用できる他の任意の媒体を含むが、これらに限らない。   By way of example, and not as a limitation, computer-readable storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technique. Computer readable storage media include RAM, ROM, erasable programmable ROM (“EPROM”), electrically erasable programmable ROM (“EEPROM”), flash memory or other solid state memory technology, compact disk ROM (“CD -ROM "), digital versatile disc (" DVD "), high resolution DVD (" HD-DVD "), Blu-ray or other optical storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage Including, but not limited to, an apparatus or any other medium that can be used to store desired information in a non-transitory manner.

データストア134は、コンピュータ1400の操作を制御するのに利用されるオペレーティング・システム1430を格納して良い。一実施例によれば、オペレーティング・システムは、LINUXオペレーティング・システムを含む。別の実施例によれば、オペレーティング・システムは、マイクロソフト社からのWINDOWS(登録商標)SERVERオペレーティング・システムを含む。さらなる実施例によれば、オペレーティング・システムは、UNIXオペレーティング・システムまたはANDROIDオペレーティング・システムを含み得る。他のオペレーティング・システムもまた利用されて良いことを理解すべきである。データストア134は、コンテキストマネージャ124、アプリケーション114および/または他のいかなるソフトウェア・コンポーネントおよび上述のデータを含む構成要素などの、他のシステムまたはアプリケーションプログラムおよびコンピュータ1400によって利用されるデータを格納して良い。データストア134はまた、本明細書では具体的に特定されていない他のプログラムおよびデータを格納して良い。   Data store 134 may store an operating system 1430 that is used to control the operation of computer 1400. According to one embodiment, the operating system includes a LINUX operating system. According to another embodiment, the operating system includes the WINDOWS® SERVER operating system from Microsoft Corporation. According to further embodiments, the operating system may include a UNIX operating system or an ANDROID operating system. It should be understood that other operating systems may also be utilized. Data store 134 may store data utilized by computer 1400 and other system or application programs, such as context manager 124, application 114 and / or any other software component and components including the data described above. . Data store 134 may also store other programs and data not specifically specified herein.

一実施例では、データストア134または他のコンピュータ可読記憶媒体は、コンピュータ1400にロードされるとコンピュータを汎用コンピューティング・システムから本明細書に記載された実施例を実施できる専用コンピュータに変換するコンピュータ実行可能な命令でエンコードされる。これらのコンピュータ実行可能命令は、上記のように、状態間でどのようにCPU(複数可)1404が遷移するかを指定することにより、コンピュータ1400を変換する。一実施例によれば、コンピュータ1400は、コンピュータ1400に実行されると図6−11に関して上述のさまざまなルーチンを実行するコンピュータ実行可能な命令を記憶するコンピュータ可読記憶媒体へのアクセスを有する。コンピュータ1400は、本明細書に記載された他のコンピュータ実行型操作のいずれかを実行するコンピュータ可読記憶媒体を含み得る。   In one embodiment, data store 134 or other computer readable storage medium, when loaded into computer 1400, converts the computer from a general purpose computing system to a special purpose computer that can implement the embodiments described herein. Encoded with executable instructions. These computer-executable instructions transform computer 1400 by specifying how CPU (s) 1404 transition between states as described above. According to one embodiment, computer 1400 has access to a computer-readable storage medium that stores computer-executable instructions that, when executed on computer 1400, perform the various routines described above with respect to FIGS. 6-11. Computer 1400 may include a computer readable storage medium that performs any of the other computer-implemented operations described herein.

コンピュータ1400はまた、キーボード、マウス、タッチパッド、タッチスクリーン、電子スタイラス、または他のタイプの入力装置などの多数の入力装置から入力を受信して処理する1つ以上の入出力制御装置1416を含んで良い。同様に、入出力制御装置1416は、コンピュータモニタ、フラットパネルディスプレイ、デジタルプロジェクタ、プリンタ、プロッタ、または他のタイプの出力装置などのディスプレイに出力を提供して良い。コンピュータ1400は、図14に示す構成要素の全ては含まない場合があり、図14に明示的に示されていないその他のコンポーネントを含んで良く、または、図14に示すものとは完全に異なるアーキテクチャを使用して良いことが理解されるだろう。   The computer 1400 also includes one or more input / output controllers 1416 that receive and process input from a number of input devices, such as a keyboard, mouse, touch pad, touch screen, electronic stylus, or other type of input device. Good. Similarly, input / output controller 1416 may provide output to a display, such as a computer monitor, flat panel display, digital projector, printer, plotter, or other type of output device. The computer 1400 may not include all of the components shown in FIG. 14 and may include other components not explicitly shown in FIG. 14 or an entirely different architecture than that shown in FIG. It will be understood that it is good to use.

上述の事項を踏まえると、現在のコンテキストに対する関連アプリケーションを識別し、関連アプリケーションから受信したデータをユーザに提供する、コンテキストセンシティブ・フレームワークを使用する技術が本明細書において提示されたことを理解すべきである。さらに、本明細書において提示された主題事項はコンピュータの構造的特徴、方法論的動作およびコンピュータ可読媒体に特有の言語において説明されたが、請求項で規定される本発明は、本明細書に記載された特定の機能、動作、または媒体に必ずしも限定されないことを理解すべきである。むしろ、特定の機能、動作、および媒体は、請求項を実施する形態の例として開示されている。   In light of the foregoing, it will be appreciated that techniques have been presented herein that use a context-sensitive framework to identify relevant applications for the current context and provide users with data received from the relevant applications. Should. Further, while the subject matter presented herein has been described in language specific to computer structural features, methodological operations, and computer readable media, the invention as defined in the claims is described herein. It should be understood that the invention is not necessarily limited to the specific functions, operations, or media described. Rather, the specific functions, acts, and media are disclosed as example forms of implementing the claims.

上述の主題事項は、例として提供されており、制限するものと解釈すべきでない。さらに、クレームされた主題事項は、本開示の任意の一部に記された一部のあるいは全ての不都合を解決する実装に限定されない。図示され説明された実施例およびアプリケーションの例にしたがうことなく、また、以下の請求の範囲において記載された本発明の真の精神および範囲から逸脱しない範囲において、本明細書に記載された主題事項に対してさまざまな修正および変更がなされて良い。   The subject matter described above is provided by way of illustration and should not be construed as limiting. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure. The subject matter described herein is not in accordance with the examples and examples of applications illustrated and described, and without departing from the true spirit and scope of the invention as set forth in the following claims. Various modifications and changes may be made to.

主題事項は、構造的特徴および/または方法論的動作に特有の言語において説明されたが、添付の請求の範囲で定義された主題事項は、記載された特定の機能または動作に必ずしも限定されないことを理解すべきである。上述の事項は、以下の条項を考慮しても理解され得る。   Although the subject matter has been described in a language specific to structural features and / or methodological operations, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific functions or operations described. Should be understood. The above matters can also be understood in view of the following provisions.

1.コンピュータ実行可能命令をその上に記憶して有する非一時的コンピュータ可読記憶媒体であって、コンピュータによって実行されるとき、前記コンピュータに対して、
コンテキストデータであって、前記コンピュータのユーザの使用に関連付けられた前記コンテキストデータを取得させ、
前記コンテキストデータを含む第1データをネットワークベースのコンテクスチュアル・サービスに送信させ、
前記ネットワークベースのコンテクスチュアル・サービスから、第2データであって、前記現在のコンテキストに関連している前記コンテクスチュアル・サービスによって決定されるアプリケーションを識別する前記第2データを受信させ、
前記アプリケーションを起動させ、
前記アプリケーションから第3データを取得させ、
前記第3データの少なくとも一部をユーザインタフェース内で提供させる、
前記非一時的コンピュータ可読記憶媒体。
1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon when executed by the computer,
Context data, wherein the context data associated with use of a user of the computer is obtained;
Sending first data including the context data to a network-based contextual service;
Receiving second data from the network-based contextual service, the second data identifying an application determined by the contextual service associated with the current context;
Launch the application,
Get third data from the application,
Providing at least a portion of the third data within a user interface;
The non-transitory computer readable storage medium.

2.前記命令はコンピュータに対してさらに、1つ以上の前記アプリケーションを電子マーケットから取得し、前記1つ以上の前記アプリケーションを前記コンピュータ上にインストールさせる、条項1に記載の非一時的コンピュータ可読記憶媒体。 2. The non-transitory computer readable storage medium of clause 1, wherein the instructions further cause a computer to obtain one or more of the applications from an electronic market and install the one or more of the applications on the computer.

3.前記アプリケーションを起動させることは、サービス・プロバイダーネットワークにおける1つ以上の前記アプリケーションを実行することを含む、条項1に記載の非一時的コンピュータ可読記憶媒体。 3. The non-transitory computer readable storage medium of clause 1, wherein activating the application includes executing one or more of the applications in a service provider network.

4.前記コンテキストデータは、前記コンピュータの場所、時間、または前記コンピュータによって実行される現在の動作のうちの1つ以上を含む、条項1に記載の非一時的コンピュータ可読記憶媒体。 4). The non-transitory computer readable storage medium of clause 1, wherein the context data includes one or more of the location, time of the computer, or a current operation performed by the computer.

5.前記命令は前記コンピュータに対してさらに、前記コンテキストデータを更新させ、前記更新されたコンテキストデータを前記ネットワークベースのコンテクスチュアル・サービスに送信させる、条項1に記載の非一時的コンピュータ可読記憶媒体。 5. The non-transitory computer-readable storage medium of clause 1, wherein the instructions further cause the computer to update the context data and send the updated context data to the network-based contextual service.

6.システムであって、
コンピューティング装置からコンテキストデータを受信することと、
前記コンテキストに関連しているアプリケーションを識別することであって、
関連している前記アプリケーションの識別は、前記コンテキストデータに少なくとも部分的に基づく、前記アプリケーションを識別することと、
前記コンテキストデータの少なくとも一部を前記コンテキストに関連していると識別された前記アプリケーションに送信することと、
アプリケーションデータを前記アプリケーションの少なくとも一部から受信することであって、
前記コンテキストデータの前記少なくとも前記一部に少なくとも部分的に基づいて、前記アプリケーションが、提供する前記アプリケーションデータを少なくとも一部において選択する、前記アプリケーションの少なくとも一部から受信することと、
前記コンピューティング装置に提供される前記アプリケーションデータの前記少なくとも一部を選択することと、
前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供することと、
をするように動作する、1つ以上のコンピューティング装置を含む、前記システム。
6). A system,
Receiving context data from a computing device;
Identifying an application associated with the context, comprising:
Identifying the associated application is identifying the application based at least in part on the context data;
Sending at least a portion of the context data to the application identified as being associated with the context;
Receiving application data from at least a portion of the application, comprising:
Receiving from at least a portion of the application, based at least in part on the at least the portion of the context data, the application selecting at least in part the application data to provide;
Selecting the at least part of the application data provided to the computing device;
Providing the computing device with the at least part of the application data;
The system comprising one or more computing devices that operate to:

7.前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供することは、異なるアプリケーションからのデータを表示するために使用されるユーザインタフェース内でディスプレイするために前記アプリケーションデータの前記少なくとも前記一部をフォーマットすることを含む、条項6に記載のシステム。 7). Providing the at least the portion of the application data to the computing device includes the at least the portion of the application data for display within a user interface used to display data from a different application. 7. The system of clause 6, comprising formatting.

8.前記コンテキストに関連しているアプリケーションを識別することは、登録データにアクセスすること、および、前記登録データを使用して前記コンテキストデータに応答して起動されるように登録されたアプリケーションを識別することを含む、条項6に記載のシステム。 8). Identifying an application associated with the context is to access registration data and to identify an application registered to be launched in response to the context data using the registration data The system of clause 6 comprising:

9.前記1つ以上のコンピューティング装置はさらに、前記アプリケーションデータから重複データを削除し、前記アプリケーションデータを編成するように動作し、前記アプリケーションデータの前記編成は、ユーザ選好に少なくとも部分的に基づいている、条項6に記載のシステム。 9. The one or more computing devices are further operative to remove duplicate data from the application data and organize the application data, the organization of the application data being based at least in part on user preferences. The system according to clause 6.

10.前記1つ以上のコンピューティング装置はさらに、前記アプリケーションの少なくとも1つから、更新されたコンテキストデータを作成するために前記1つ以上のコンピューティング装置によって使用されるデータを受信するように動作する、条項6に記載のシステム。 10. The one or more computing devices are further operative to receive data used by the one or more computing devices to create updated context data from at least one of the applications. The system according to clause 6.

11.前記1つ以上のコンピューティング装置はさらに、アナリティクスを提供するように動作し、前記アナリティクスは、使用状況データおよび利益データを含む、条項6に記載のシステム。 11. The system of clause 6, wherein the one or more computing devices are further operative to provide analytics, the analytics including usage data and profit data.

12.前記アプリケーションデータの前記少なくとも前記一部を提供することは、前記コンピューティング装置に機能を実行させることを含む、条項6に記載のシステム。 12 The system of clause 6, wherein providing the at least the portion of the application data comprises causing the computing device to perform a function.

13.前記アプリケーションデータを受信することは、前記アプリケーションデータの少なくとも一部をオペレーティング・システムの一部であるアプリケーションから受信することを含む、条項6に記載のシステム。 13. 7. The system of clause 6, wherein receiving the application data includes receiving at least a portion of the application data from an application that is part of an operating system.

14.前記1つ以上のコンピューティング装置はさらに、前記アプリケーションの個々が、前記コンピューティング装置上にインストールされていないと決定するように動作し、個々の1つ以上の前記アプリケーションを前記コンピューティング装置上にインストールする、条項6に記載のシステム。 14 The one or more computing devices are further operative to determine that each of the applications is not installed on the computing device, and the individual one or more of the applications on the computing device. The system according to clause 6 to be installed.

15.前記1つ以上のコンピューティング装置はさらに、前記コンピューティング装置とは別個であるサービスから前記アプリケーションの少なくとも一部を実行するように動作する、条項6に記載のシステム。 15. The system of clause 6, wherein the one or more computing devices are further operative to execute at least a portion of the application from a service that is separate from the computing device.

16.
コンピューティング装置からコンテキストデータを受信すること、
前記コンテキストに関連しているアプリケーションを識別することであって、
関連している前記アプリケーションの識別は、前記コンテキストデータに少なくとも部分的に基づく、前記アプリケーションを識別することと、
前記コンテキストデータの少なくとも一部を前記コンテキストに関連していると識別された前記アプリケーションに送信することと、
前記アプリケーションからアプリケーションデータを受信することであって、
前記コンテキストデータの前記少なくとも一部に少なくとも部分的に基づいて、前記アプリケーションが、提供する前記アプリケーションデータを少なくとも一部において選択する、前記アプリケーションデータを受信することと、
前記コンピューティング装置に提供される前記アプリケーションデータの少なくとも一部を選択することと、
前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供すること、
を含む、コンピュータ実装方法。
16.
Receiving context data from a computing device;
Identifying an application associated with the context, comprising:
Identifying the associated application is identifying the application based at least in part on the context data;
Sending at least a portion of the context data to the application identified as being associated with the context;
Receiving application data from the application, comprising:
Receiving the application data, based at least in part on the at least part of the context data, the application selecting at least in part the application data to provide;
Selecting at least a portion of the application data provided to the computing device;
Providing the computing device with the at least part of the application data;
A computer-implemented method comprising:

17.前記アプリケーションのうちの1つ以上を前記コンピューティング装置上にインストールさせ、前記コンピューティング装置上で起動させることをさらに含む、条項16に記載のコンピュータ実装方法。 17. The computer-implemented method of clause 16, further comprising installing one or more of the applications on the computing device and launching on the computing device.

18.前記アプリケーションのうちの1つ以上を前記コンピューティング装置とは別個のサービスから実行させることをさらに含む、条項16に記載のコンピュータ実装方法。 18. The computer-implemented method of clause 16, further comprising causing one or more of the applications to run from a service separate from the computing device.

19.前記コンテキストに関連しているアプリケーションを識別することは、登録データにアクセスし、前記登録データを使用して、前記コンテキストデータに応答して起動されるように登録された1つ以上のアプリケーションを識別することを含む、条項16に記載のコンピュータ実装方法。 19. Identifying an application associated with the context accesses registration data and uses the registration data to identify one or more applications registered to be launched in response to the context data The computer-implemented method of clause 16, comprising:

20.前記アプリケーションデータの前記少なくとも前記一部を表示のため前記コンピューティング装置に提供することは、顧客の選好に少なくとも部分的に基づいて前記アプリケーションデータを編成することを含む、条項16に記載のコンピュータ実装方法。 20. The computer-implemented clause of clause 16, wherein providing the at least the portion of the application data to the computing device for display includes organizing the application data based at least in part on customer preferences. Method.

21.コンピュータ実行可能命令をその上に記憶して有する非一時的コンピュータ可読記憶媒体であって、コンピュータによって実行されるとき、
コンテキストデータを受信することであって、
前記コンテキストデータは、ユーザのコンピューティング装置の使用に関連付けられる、前記コンテキストデータを受信することと、
前記コンテキストに関連する第1アプリケーションを識別することと、
前記コンテキストデータを記第1アプリケーションに送信することと、
第1アプリケーションデータを前記第1アプリケーションから受信することであって、
前記第1アプリケーションは、前記第1アプリケーションデータを、前記コンテキストデータに少なくとも部分的に基づいて提供する、前記第1アプリケーションから受信することと、
前記第1アプリケーションデータの少なくとも一部および前記コンテキストデータを第2アプリケーションに送信することと、
第2アプリケーションデータを前記第2アプリケーションから受信することであって、
前記第2アプリケーションは、前記第1アプリケーションデータおよび前記コンテキストデータに少なくとも部分的に基づく、前記第2アプリケーションから受信することと、
前記第1アプリケーションデータおよび前記第2アプリケーションデータのうち1つ以上の少なくとも一部を前記ユーザのコンピューティング装置に提供することと、を前記コンピュータにさせる、前記非一時的コンピュータ可読記憶媒体。
21. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon when executed by a computer,
Receiving context data,
Receiving the context data associated with use of a user's computing device;
Identifying a first application associated with the context;
Sending the context data to the first application;
Receiving first application data from the first application, comprising:
The first application receives the first application data from the first application that provides the first application data based at least in part on the context data;
Transmitting at least a portion of the first application data and the context data to a second application;
Receiving second application data from the second application,
Receiving from the second application, based at least in part on the first application data and the context data;
The non-transitory computer readable storage medium causing the computer to provide at least a portion of one or more of the first application data and the second application data to the user computing device.

22.前記命令は、前記コンピュータに対してさらに、前記第1アプリケーションからのデータを受信するために前記第2アプリケーションはコンテクスチュアル・サービスに登録されていることを判定させる、条項21に記載の前記非一時的コンピュータ可読記憶媒体。 22. The non-temporary clause of clause 21, wherein the instructions further cause the computer to determine that the second application is registered with a contextual service to receive data from the first application. Computer-readable storage medium.

23.前記第1アプリケーションおよび前記第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用してコンテクスチュアル・サービスに登録し、前記第1アプリケーションまたは前記第2アプリケーションのうちの1つ以上は、イベントを前記コンテクスチュアル・サービスに登録する、条項21に記載の前記非一時的コンピュータ可読記憶媒体。 23. The first application and the second application register with a contextual service using an application programming interface (API), and one or more of the first application or the second application sends an event to the context. 24. The non-transitory computer readable storage medium of clause 21, registering with a charter service.

24.前記APIは、前記第1アプリケーションが前記第2アプリケーションと通信し、前記第2アプリケーションが前記第1アプリケーションと通信するための機能を提供する、条項23に記載の前記非一時的コンピュータ可読記憶媒体。 24. 24. The non-transitory computer readable storage medium of clause 23, wherein the API provides functionality for the first application to communicate with the second application and the second application to communicate with the first application.

25.前記コンテキストデータは、前記ユーザのコンピューティング装置の場所および前記ユーザのコンピューティング装置の現在の動作を識別する、条項21に記載の前記非一時的コンピュータ可読記憶媒体。 25. 22. The non-transitory computer readable storage medium of clause 21, wherein the context data identifies a location of the user computing device and a current operation of the user computing device.

26.
コンテキストデータを受信することと、
前記コンテキストに関連する第1アプリケーションを識別することと、
前記コンテキストデータを前記第1アプリケーションに送信することと、
第1アプリケーションデータを前記第1アプリケーションから受信することであって、
前記第1アプリケーションデータは前記コンテキストデータに少なくとも部分的に基づいており、前記第1アプリケーションデータの少なくとも一部は第2アプリケーションを対象とする、前記第1アプリケーションから受信することと、
前記少なくとも前記一部の前記第1アプリケーションデータを前記第2アプリケーションに提供することであって、
前記第1アプリケーションデータは前記第2アプリケーションによって使用される、前記少なくとも前記一部の前記第1アプリケーションデータを前記第2アプリケーションに提供することと、
をするように動作する1つ以上のコンピューティング装置を含む、システム。
26.
Receiving context data;
Identifying a first application associated with the context;
Sending the context data to the first application;
Receiving first application data from the first application, comprising:
Receiving from the first application, wherein the first application data is based at least in part on the context data, and at least a portion of the first application data is directed to a second application;
Providing the at least part of the first application data to the second application,
Providing the at least part of the first application data to the second application, wherein the first application data is used by the second application;
A system that includes one or more computing devices that operate to:

27.前記1つ以上のコンピューティング装置はさらに、前記第1アプリケーションデータおよび前記コンテキストデータを使用して、更新されたコンテキストデータを作成するため前記コンテキストデータを更新するように動作する、条項26に記載のシステム。 27. 27. The clause 26, wherein the one or more computing devices are further operative to update the context data to create updated context data using the first application data and the context data. system.

28.前記1つ以上のコンピューティング装置はさらに、前記更新されたコンテキストデータを前記第2アプリケーションに提供するように動作する、条項27に記載のシステム。 28. 28. The system of clause 27, wherein the one or more computing devices are further operative to provide the updated context data to the second application.

29.前記第2アプリケーションは、前記更新されたコンテキストデータに少なくとも部分的に基づいて、第2アプリケーションデータを生成する、条項28に記載のシステム。 29. 29. The system of clause 28, wherein the second application generates second application data based at least in part on the updated context data.

30.前記コンテキストデータと前記第1アプリケーションおよび前記第2アプリケーションによって指定された登録データとが一致するという通知を受信するために、前記第1アプリケーションおよび前記第2アプリケーションは、前記1つ以上のコンピューティング装置に登録する、条項26に記載のシステム。 30. In order to receive notification that the context data matches registration data specified by the first application and the second application, the first application and the second application may include the one or more computing devices. The system according to clause 26, which registers with

31.前記第1アプリケーションおよび前記第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して通信し、前記APIは、前記第1アプリケーションが前記第2アプリケーションと通信するための機能を提供する、条項26に記載のシステム。 31. According to clause 26, the first application and the second application communicate using an application programming interface (API), and the API provides a function for the first application to communicate with the second application. The system described.

32.前記第1アプリケーションまたは前記第2アプリケーションのうちの1つ以上はアプリケーションプログラミングインターフェース(API)を利用してイベントを記述し、前記イベントを検出したことに応答して、前記1つ以上のコンピューティング装置はさらに、前記イベントの発生の通知を受信するため登録していた別のアプリケーションを決定するように動作する、条項26に記載のシステム。 32. One or more of the first application or the second application describes an event using an application programming interface (API), and in response to detecting the event, the one or more computing devices 27. The system of clause 26, further operable to determine another application that has registered to receive notification of the occurrence of the event.

33.前記1つ以上のコンピューティング装置はさらに、前記第1アプリケーションまたは前記第2アプリケーションのうちの1つ以上をリモートコンピューティング装置上で起動するように動作する、条項26に記載のシステム。 33. 27. The system of clause 26, wherein the one or more computing devices are further operative to launch one or more of the first application or the second application on a remote computing device.

34.前記1つ以上のコンピューティング装置はさらに、前記第1アプリケーションまたは前記第2アプリケーションのうちの1つ以上に対して、サービス・プロバイダーネットワーク内で起動させるように動作する、条項26に記載のシステム。 34. 27. The system of clause 26, wherein the one or more computing devices are further operative to launch in a service provider network for one or more of the first application or the second application.

35.
コンテキストデータを受信することと、
前記コンテキストに関連しているアプリケーションを識別することであって、
前記アプリケーションは、第1アプリケーションおよび第2アプリケーションを含む、前記アプリケーションを識別することと、
前記コンテキストデータを前記アプリケーションに送信することと、
前記第1アプリケーションから第1アプリケーションデータを受信することであって、
前記第1アプリケーションデータは前記コンテキストデータも少なくとも部分的に基づいており、前記第1アプリケーションデータの少なくとも一部は第2アプリケーションを対象とする、前記第1アプリケーションデータを受信することと、
前記第1アプリケーションデータの前記少なくとも前記一部を前記第2アプリケーションに提供することと、
を含む、コンピュータ実装方法。
35.
Receiving context data;
Identifying an application associated with the context, comprising:
The application identifies the application including a first application and a second application;
Sending the context data to the application;
Receiving first application data from the first application, comprising:
Receiving the first application data, wherein the first application data is based at least in part on the context data, and at least a portion of the first application data is directed to a second application;
Providing the at least part of the first application data to the second application;
A computer-implemented method comprising:

36.前記第1アプリケーションによって提供される前記第1アプリケーションデータを使用して、更新されたコンテキストデータを作成するため前記コンテキストデータを更新することをさらに含む、条項35に記載のコンピュータ実装方法。 36. 36. The computer-implemented method of clause 35, further comprising updating the context data to create updated context data using the first application data provided by the first application.

37.前記更新されたコンテキストデータを前記アプリケーションの少なくとも一部に提供することであって、
前記アプリケーションの前記少なくとも前記一部は、前記更新されたコンテキストデータに少なくとも部分的に基づいて、アプリケーションデータを生成する、前記アプリケーションの少なくとも一部に提供すること、
をさらに含む、条項36に記載のコンピュータ実装方法。
37. Providing the updated context data to at least a portion of the application, comprising:
Providing the at least part of the application to at least a part of the application that generates application data based at least in part on the updated context data;
The computer-implemented method of clause 36, further comprising:

38.前記第1アプリケーションまたは前記第2アプリケーションのうちの1つ以上は、アプリケーションプログラミングインターフェース(API)を利用してイベントを記述し、前記イベントを検出したことに応答して、前記イベント発生の通知を受信するため登録していた別のアプリケーションを決定する、条項35に記載のコンピュータ実装方法。 38. One or more of the first application or the second application describe an event using an application programming interface (API), and receive notification of the event occurrence in response to detecting the event. 36. A computer-implemented method according to clause 35, wherein another application that has been registered to do so is determined.

39.前記第1アプリケーションおよび前記第2アプリケーションは、前記コンテキストデータが登録データに一致するという通知を受信するために、ネットワークベースのコンテクスチュアル・サービスに登録する、条項35に記載のコンピュータ実装方法。 39. 36. The computer-implemented method of clause 35, wherein the first application and the second application register with a network-based contextual service to receive notification that the context data matches registration data.

40.前記第1アプリケーションおよび前記第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して通信し、前記APIは、コンテクスチュアル・サービスと通信するために、前記第1アプリケーションおよび前記第2アプリケーションによって使用される、条項35に記載のコンピュータ実装方法。 40. The first application and the second application communicate using an application programming interface (API), and the API is used by the first application and the second application to communicate with a contextual service. 36. The computer-implemented method according to clause 35.

41.システムであって、
位置データ、移動データ、動作データ、生体データ、または気象データのうちの1つ以上を含むセンサデータを提供するように動作する1つ以上のセンサと、
1つ以上のコンピューティング装置であって、
前記センサから前記センサデータを要求することと、
前記センサデータに少なくとも部分的に基づいて、コンテキストデータを作成することと、
前記コンテキストデータをネットワークベースのコンテクスチュアル・サービスに送信することと、
前記コンテクスチュアル・サービスから、前記コンテキストに関連していると前記コンテクスチュアル・サービスに判定されたアプリケーションの識別を受信することと、
前記アプリケーションのうちの1つ以上を起動させることと、
前記1つ以上のアプリケーションからアプリケーションデータを取得することであって、
前記アプリケーションデータは、前記コンテキストデータに少なくとも部分的に基づいて、前記1つ以上のアプリケーションよって提供される、前記アプリケーションデータを取得することと、
行動を実行するため前記アプリケーションデータの少なくとも一部を提供することと、
をするように動作する前記1つ以上のコンピューティング装置と、
を含む、前記システム。
41. A system,
One or more sensors that operate to provide sensor data including one or more of position data, movement data, operational data, biometric data, or weather data;
One or more computing devices,
Requesting the sensor data from the sensor;
Creating context data based at least in part on the sensor data;
Sending the context data to a network-based contextual service;
Receiving, from the contextual service, an identification of an application determined by the contextual service to be associated with the context;
Activating one or more of the applications;
Obtaining application data from the one or more applications,
Obtaining the application data provided by the one or more applications based at least in part on the context data;
Providing at least a portion of the application data to perform an action;
The one or more computing devices that operate to:
Including the system.

42.前記1つ以上の前記アプリケーションを起動させることは、サービス・プロバイダーネットワーク内で前記1つ以上のアプリケーションを実行させることを含む、条項41に記載のシステム。 42. 42. The system of clause 41, wherein activating the one or more applications includes causing the one or more applications to execute in a service provider network.

43.前記行動を実行することは、前記アプリケーションデータの前記少なくとも前記一部をディスプレイ上に提示すること、または前記アプリケーションデータの前記少なくとも前記一部を使用してコンピューティング装置の操作を変更することのうちの1つ以上を含む、条項41に記載のシステム。 43. Performing the action includes presenting the at least part of the application data on a display or changing operation of a computing device using the at least part of the application data. 42. The system of clause 41, comprising one or more of:

44.前記1つ以上のコンピューティング装置はさらに、
前記センサデータにおける変化に応答して更新されたコンテキストデータを作成するために前記コンテキストデータを更新することと、
前記更新されたコンテキストデータを前記コンテクスチュアル・サービスに送信することと、
をするように動作する、条項41に記載のシステム。
44. The one or more computing devices further include:
Updating the context data to create updated context data in response to changes in the sensor data;
Sending the updated context data to the contextual service;
42. The system of clause 41, wherein the system operates to:

45.前記アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して、前記コンテクスチュアル・サービスと通信する、条項41に記載のシステム。 45. 42. The system of clause 41, wherein the application communicates with the contextual service using an application programming interface (API).

46.システムであって、
コンテクスチュアル・サービスを提供するように動作する1つ以上の第1コンピューティング装置であって、
前記1つ以上の第1コンピューティング装置は、
コンテキストデータを受信するここと、
前記コンテキストデータに少なくとも部分的に基づいて、前記コンテキストに関連しているアプリケーションを識別することと、
前記コンテキストデータを前記コンテキストに関連していると識別された前記アプリケーションに送信することと、
前記アプリケーションからアプリケーションデータを受信することであって、前記アプリケーションは、前記コンテキストデータに少なくとも部分的に基づいて、提供するアプリケーションデータを選択する、前記アプリケーションデータを受信することと、
提供する前記アプリケーションデータの少なくとも一部を選択することと、
行動を実行するために前記アプリケーションデータの前記少なくとも前記一部を提供することと、
をするように動作する前記1つ以上の第1コンピューティング装置を含む、前記システム。
46. A system,
One or more first computing devices that operate to provide a contextual service comprising:
The one or more first computing devices are:
Receiving context data,
Identifying an application associated with the context based at least in part on the context data;
Sending the context data to the application identified as being associated with the context;
Receiving application data from the application, the application selecting application data to provide based at least in part on the context data; receiving the application data;
Selecting at least part of the application data to be provided;
Providing the at least part of the application data to perform an action;
The system including the one or more first computing devices that operate to:

47.前記動作は、前記アプリケーションデータの前記少なくとも前記一部をユーザインタフェース内に表示することを含む、条項46に記載のシステム。 47. 49. The system of clause 46, wherein the operation includes displaying the at least the portion of the application data in a user interface.

48.前記動作は、前記アプリケーションデータの前記少なくとも前記一部に少なくとも部分的に基づいて、1つ以上の第2コンピューティング装置の動作を変更することを含む、条項46に記載のシステム。 48. 49. The system of clause 46, wherein the operation includes modifying an operation of one or more second computing devices based at least in part on the at least the portion of the application data.

49.前記コンテクスチュアル・サービスによる要求に応答して1つ以上の前記アプリケーションを実行するように動作する1つ以上の第2コンピューティング装置をさらに含む、条項46に記載のシステム。 49. 49. The system of clause 46, further comprising one or more second computing devices that are operative to execute one or more of the applications in response to a request by the contextual service.

50.前記1つ以上の第1コンピューティング装置はさらに、リモートコンピューティング装置上に前記アプリケーションのうちの1つ以上をインストールさせるように動作する、条項46に記載のシステム。 50. 49. The system of clause 46, wherein the one or more first computing devices are further operative to cause one or more of the applications to be installed on a remote computing device.

51.前記1つ以上の第1コンピューティング装置はさらに、前記リモートコンピューティング装置上で前記アプリケーションのうちの前記1つ以を起動させるように動作する、条項50に記載のシステム。 51. 51. The system of clause 50, wherein the one or more first computing devices are further operative to launch the one or more of the applications on the remote computing device.

52.前記1つ以上の第1コンピューティング装置はさらに、前記リモートコンピューティング装置上で起動された前記アプリケーションのうちの前記1つ以上によって提供される前記アプリケーションデータを受信するように動作する、条項50に記載のシステム。 52. In clause 50, the one or more first computing devices are further operative to receive the application data provided by the one or more of the applications launched on the remote computing device. The system described.

53.前記1つ以上のコンピューティング装置はさらに、使用状況データおよび利益データを含むアナリティクスを提供するように動作する、条項46に記載のシステム。 53. 49. The system of clause 46, wherein the one or more computing devices are further operative to provide analytics including usage data and profit data.

54.前記アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して、前記コンテクスチュアル・サービスと通信する、条項46に記載のシステム。 54. 49. The system of clause 46, wherein the application communicates with the contextual service using an application programming interface (API).

55.前記アプリケーションは、互いに通信するため前記APIを利用する条項54に記載のシステム。 55. 55. A system according to clause 54, wherein the applications use the API to communicate with each other.

56.
コンテクスチュアル・サービスでコンテキストデータを受信することと、
前記コンテキストに関連しているアプリケーションを識別することであって、
前記アプリケーションの前記識別は、前記コンテキストデータに少なくとも部分的に基づく、前記アプリケーションを識別することと、
前記コンテキストに関連している前記アプリケーションを起動することと、
前記コンテキストデータを前記アプリケーションに送信することと、
前記アプリケーションからアプリケーションデータを受信することであって、 前記アプリケーションは、前記コンテキストデータに少なくとも部分的に基づいて、提供する前記アプリケーションデータを選択する、前記アプリケーションデータを受信することと、
提供する前記アプリケーションデータの少なくとも一部を選択することと、
前記アプリケーションデータの前記少なくとも前記一部を提供することと、
を含む、コンピュータ実装方法。
56.
Receiving contextual data with a contextual service;
Identifying an application associated with the context, comprising:
The identification of the application is identifying the application based at least in part on the context data;
Launching the application associated with the context;
Sending the context data to the application;
Receiving application data from the application, the application selecting the application data to provide based at least in part on the context data; receiving the application data;
Selecting at least part of the application data to be provided;
Providing the at least part of the application data;
A computer-implemented method comprising:

57.前記アプリケーションを起動することは、1つ以上のコンピューティング装置に前記アプリケーションを実行させることを含む、条項56に記載のコンピュータ実装方法。 57. 57. The computer-implemented method of clause 56, wherein launching the application includes causing one or more computing devices to execute the application.

58.前記アプリケーションを起動することは、サービス・プロバイダーネットワークの一部である1つ以上のコンピューティング装置に前記アプリケーションのうちの1つ以上を実行させることを含む、条項56に記載のコンピュータ実装方法。 58. 57. The computer-implemented method of clause 56, wherein launching the application includes causing one or more computing devices that are part of a service provider network to execute one or more of the applications.

59.リモートコンピューティング装置上に前記アプリケーションのうちの1つ以上をインストールさせることをさらに含む、条項56に記載のコンピュータ実装方法。 59. 58. The computer-implemented method of clause 56, further comprising causing one or more of the applications to be installed on a remote computing device.

60.前記アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して、前記コンテクスチュアル・サービスと通信する、条項56に記載のコンピュータ実装方法。 60. 57. The computer-implemented method of clause 56, wherein the application communicates with the contextual service using an application programming interface (API).

61.コンピュータ実行可能命令をその上に記憶して有する非一時的コンピュータ可読記憶媒体であって、コンピュータによって実行されるとき、
コンテキストデータを取得することであって、
前記コンテキストデータは、前記コンピュータのユーザの使用を表す、前記コンテキストデータを取得することと、
前記コンテキストデータをネットワークベースのコンテクスチュアル・サービスに送信することと、
前記ネットワークベースのコンテクスチュアル・サービスから、識別データを受信することであって、
前記識別データは、前記コンテキストに対する関連アプリケーションを識別し、前記関連アプリケーションは、前記関連アプリケーションによって受信されるデータに少なくとも部分的に基づいて識別される、前記識別データを受信することと、
前記関連アプリケーションからアプリケーションを識別することと、
前記識別に応答して前記アプリケーションを起動することと、
を前記コンピュータにさせる、前記非一時的コンピュータ可読記憶媒体。
61. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon when executed by a computer,
To get context data,
Obtaining the context data representing the use of a user of the computer;
Sending the context data to a network-based contextual service;
Receiving identification data from the network-based contextual service, comprising:
Receiving the identification data, wherein the identification data identifies an associated application for the context, the associated application being identified based at least in part on data received by the associated application;
Identifying an application from the associated application;
Launching the application in response to the identification;
The non-transitory computer-readable storage medium that causes the computer to

62.前記アプリケーションを起動させることは、前記アプリケーションを前記コンピュータにダウンロードすること、前記コンピュータ上に前記アプリケーションをインストールすること、および、前記コンピュータ上に前記アプリケーションを起動することを含む、条項61に記載の非一時的コンピュータ可読記憶媒体。 62. 64. The non-description of clause 61, wherein starting the application includes downloading the application to the computer, installing the application on the computer, and starting the application on the computer. A temporary computer readable storage medium.

63.前記命令はコンピュータに対してさらに、前記コンテキストにおける変更に応答して、前記コンピュータから前記アプリケーションを削除させる、条項62に記載の非一時的コンピュータ可読記憶媒体。 63. 63. The non-transitory computer readable storage medium of clause 62, wherein the instructions further cause a computer to delete the application from the computer in response to a change in the context.

64.前記コンテキストに関連付けられた前記コンテキストデータは、前記コンピュータの場所および前記コンピュータの現在の動作を識別する、条項61に記載の非一時的コンピュータ可読記憶媒体。 64. 62. A non-transitory computer readable storage medium according to clause 61, wherein the context data associated with the context identifies a location of the computer and a current operation of the computer.

65.前記アプリケーションを起動させることは、前記コンピュータとは別個のサービス・プロバイダーネットワーク内に前記アプリケーションを起動させることを含む、条項61に記載の非一時的コンピュータ可読記憶媒体。 65. 62. The non-transitory computer readable storage medium of clause 61, wherein launching the application includes launching the application in a service provider network separate from the computer.

66.システムであって、
1つ以上の第1コンピューティング装置であって、
第2コンピューティング装置に関連付けられたコンテキストデータを受信することと、
前記コンテキストに関連している1つ以上のアプリケーションを識別することであって、
前記1つ以上のアプリケーションのうち少なくとも1つの識別は、前記1つ以上のアプリケーションから受信したアプリケーションデータに少なくとも部分的に基づく、前記1つ以上のアプリケーションのうち少なくとも1つを識別することと、
識別データを前記第2コンピューティング装置に送信することであって、
前記識別データは、前記コンテキストに関連している前記1つ以上のアプリケーションを示し、前記識別データは、前記1つ以上のアプリケーションのうち少なくとも1つを起動するため前記第2コンピューティング装置によって使用される、前記識別データを前記第2コンピューティング装置に送信することと、
をするように動作する前記1つ以上の第1コンピューティング装置を含む、前記システム。
66. A system,
One or more first computing devices comprising:
Receiving context data associated with a second computing device;
Identifying one or more applications associated with the context, comprising:
Identifying at least one of the one or more applications, wherein identifying at least one of the one or more applications is based at least in part on application data received from the one or more applications;
Transmitting identification data to the second computing device, comprising:
The identification data indicates the one or more applications associated with the context, and the identification data is used by the second computing device to launch at least one of the one or more applications. Transmitting the identification data to the second computing device;
The system including the one or more first computing devices that operate to:

67.前記1つ以上のアプリケーションのうち前記少なくとも1つを前記起動することは、前記1つ以上のアプリケーションを前記第2コンピューティング装置上にインストールすることを含む、条項66に記載のシステム。 67. The system of clause 66, wherein the invoking the at least one of the one or more applications includes installing the one or more applications on the second computing device.

68.前記コンテキストにおける変更に応答して、前記第2コンピューティング装置から前記1つ以上のアプリケーションを削除することをさらに含む、条項67に記載のシステム。 68. 68. The system of clause 67, further comprising deleting the one or more applications from the second computing device in response to a change in the context.

69.前記コンテキストデータは、前記第2コンピューティング装置の場所または前記第2コンピューティング装置に関連付けられた現在の動作のうちの1つ以上を示す、条項66に記載のシステム。 69. The system of clause 66, wherein the context data indicates one or more of a location of the second computing device or a current operation associated with the second computing device.

70.前記1つ以上のアプリケーションを起動することは、前記第2コンピューティング装置による使用のために、ネットワーク・サービスにおいて前記1つ以上のアプリケーションを実行することを含む、条項66に記載のシステム。 70. 70. The system of clause 66, wherein launching the one or more applications includes executing the one or more applications in a network service for use by the second computing device.

71.前記コンテキストに関連している前記1つ以上のアプリケーションを識別することは、前記コンテキストデータに対応する通知を受信するためコンテクスチュアル・サービスに登録されている前記1つ以上のアプリケーションを識別すること、または、前記アプリケーションの選択を受信することのうちの1つ以上を含む、条項66に記載のシステム。 71. Identifying the one or more applications associated with the context identifies the one or more applications registered with a contextual service to receive notifications corresponding to the context data; Or the system of clause 66, comprising one or more of receiving a selection of the application.

72.前記コンテキストに関連している前記1つ以上のアプリケーションを識別することは、前記第2コンピューティング装置に関連付けられたユーザのユーザ選好に少なくとも部分的に基づいて、前記1つ以上のアプリケーションをフィルタリングすることを含む、条項66に記載のシステム。 72. Identifying the one or more applications associated with the context filters the one or more applications based at least in part on a user preference of a user associated with the second computing device. The system of clause 66, comprising:

73.前記1つ以上の第1コンピューティング装置はさらに、前記アプリケーションのうちの一つの選択を受信し、前記選択されたアプリケーションをコンテクスチュアル・サービスに関連付けられているリモートサービス上で起動させるように動作する、条項66に記載のシステム。 73. The one or more first computing devices are further operative to receive a selection of one of the applications and launch the selected application on a remote service associated with a contextual service. The system of clause 66.

74.前記1つ以上のアプリケーションのうち前記少なくとも1つは、前記1つ以上のアプリケーションのうち前記少なくとも1つの予測される将来使用に応じて前記第2コンピューティング装置上にインストールされる、条項66に記載のシステム。 74. 69. The clause 66, wherein the at least one of the one or more applications is installed on the second computing device in response to the at least one predicted future use of the one or more applications. System.

75.
コンテキストに関連付けられたコンテキストデータをコンピューティング装置から受信することと、
前記コンテキストに関連するアプリケーションを識別することであって、
前記アプリケーションの識別は、前記アプリケーションに関連付けられたアプリケーションデータに少なくとも部分的に基づく、前記アプリケーションを識別することと、
識別データを前記コンピューティング装置に送信することであって、
前記識別データは、前記コンテキストに関連する前記アプリケーションを示し、前記アプリケーションを起動するため前記コンピューティング装置によって使用される、前記識別データを前記コンピューティング装置に送信することと、
を含む、コンピュータ実装方法。
75.
Receiving context data associated with the context from the computing device;
Identifying an application associated with the context,
Identifying the application is based at least in part on application data associated with the application; and
Transmitting identification data to the computing device, comprising:
Sending the identification data to the computing device, the identification data indicating the application associated with the context and used by the computing device to launch the application;
A computer-implemented method comprising:

76.前記アプリケーションの予測される将来使用に少なくとも部分的に基づいて、前記アプリケーションを前記コンピューティング装置上にインストールすること、をさらに含む、条項75に記載のコンピュータ実装方法。 76. 76. The computer-implemented method of clause 75, further comprising installing the application on the computing device based at least in part on a predicted future use of the application.

77.前記コンテキストにおける変更を受信したことに応答してアプリケーションを変更することをさらに含む、条項75に記載のコンピュータ実装方法。 77. 76. The computer-implemented method of clause 75, further comprising changing an application in response to receiving a change in the context.

78.前記アプリケーションをネットワーク・サービスにおいて起動させることをさらに含む、条項75に記載のコンピュータ実装方法。 78. 76. The computer-implemented method of clause 75, further comprising launching the application in a network service.

79.前記コンテキストに関連する前記アプリケーションを識別することは、前記アプリケーションは、前記コンテキストデータに対応する通知を受信するためコンテクスチュアル・サービスに登録されていることを判定することを含む、条項75に記載のコンピュータ実装方法。 79. 76. The clause 75, wherein identifying the application associated with the context includes determining that the application is registered with a contextual service to receive notifications corresponding to the context data. Computer mounting method.

80.前記コンテキストに関連する前記アプリケーションを識別することは、グラフィカル・ユーザー・インタフェースを前記コンピューティング装置に表示させ、前記グラフィカル・ユーザー・インタフェースを介して前記アプリケーションの選択を受信することを含む、条項75に記載のコンピュータ実装方法。 80. According to clause 75, identifying the application associated with the context includes causing a graphical user interface to be displayed on the computing device and receiving a selection of the application via the graphical user interface. The computer-implemented method described.

Claims (15)

コンピュータにより実装される方法であって、
コンピューティング装置からコンテキストデータを受信するステップと、
コンテキストに関連しているアプリケーションを、前記コンテキストデータに少なくとも部分的に基づいて識別するステップと、
前記コンテキストデータの少なくとも一部を前記コンテキストに関連していると識別された前記アプリケーションに送信するステップと、
前記アプリケーションからアプリケーションデータを受信するステップであって、前記アプリケーションが、前記コンテキストデータの前記少なくとも一部に少なくとも部分的に基づいて、提供する前記アプリケーションデータを選択するステップと、
前記コンピューティング装置に提供される前記アプリケーションデータの少なくとも一部を選択するステップと、
前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供するステップと、
を含むコンピュータ実装方法。
A computer-implemented method comprising:
Receiving context data from a computing device;
Identifying an application associated with a context based at least in part on the context data;
Sending at least a portion of the context data to the application identified as being associated with the context;
Receiving application data from the application, wherein the application selects the application data to provide based at least in part on the at least a portion of the context data;
Selecting at least a portion of the application data provided to the computing device;
Providing the at least part of the application data to the computing device;
A computer-implemented method comprising:
前記アプリケーションデータの少なくとも一部は、第アプリケーションを対象としていると決定することに少なくとも部分的に基づいて、前記アプリケーションデータの前記少なくとも前記一部を前記第アプリケーションに提供するステップをさらに含む、
請求項1に記載のコンピュータ実装方法。
At least a portion of the application data, based at least in part on determining that directed to a first application, further comprising providing the at least the portion of the application data to the first application,
The computer-implemented method of claim 1.
前記第1アプリケーションおよび第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して通信し、
前記APIは、前記第1アプリケーションが前記第2アプリケーションと通信するための機能を提供する、
請求項2に記載のコンピュータ実装方法。
The first application and the second application is to communicate using an application programming interface (API),
The API provides a function for the first application to communicate with the second application.
The computer-implemented method according to claim 2.
前記アプリケーションのうちの1つ以上を前記コンピューティング装置上にインストールさせ、起動させるステップをさらに含む、
請求項1に記載のコンピュータ実装方法。
Further comprising installing and launching one or more of the applications on the computing device;
The computer-implemented method of claim 1.
1つ以上の前記アプリケーションを前記コンピューティング装置とは別個のサービスから実行させるステップをさらに含む、
請求項1に記載のコンピュータ実装方法。
Further comprising executing one or more of the applications from a service separate from the computing device;
The computer-implemented method of claim 1.
命令が格納された1つまたは複数の非一時的コンピュータ可読の記憶媒体であって、前記命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに、One or more non-transitory computer readable storage media having instructions stored thereon, wherein when the instructions are executed by a computer system, the computer system includes:
コンピューティング装置からコンテキストデータを受信するステップと、Receiving context data from a computing device;
コンテキストに関連しているアプリケーションを、前記コンテキストデータに少なくとも部分的に基づいて識別するステップと、Identifying an application associated with a context based at least in part on the context data;
前記コンテキストデータの少なくとも一部を前記コンテキストに関連していると識別された前記アプリケーションに送信するステップと、Sending at least a portion of the context data to the application identified as being associated with the context;
前記アプリケーションからアプリケーションデータを受信するステップであって、前記アプリケーションが、前記コンテキストデータの前記少なくとも一部に少なくとも部分的に基づいて、提供する前記アプリケーションデータを選択するステップと、Receiving application data from the application, wherein the application selects the application data to provide based at least in part on the at least a portion of the context data;
前記コンピューティング装置に提供される前記アプリケーションデータの少なくとも一部を選択するステップと、Selecting at least a portion of the application data provided to the computing device;
前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供するステップと、Providing the at least part of the application data to the computing device;
を含む動作を実行させる、To perform actions including
1つまたは複数の非一時的コンピュータ可読の記憶媒体。One or more non-transitory computer readable storage media.
前記アプリケーションデータの少なくとも一部は、第1アプリケーションを対象としていると決定することに少なくとも部分的に基づいて、前記アプリケーションデータの前記少なくとも前記一部を前記第1アプリケーションに提供するステップを前記動作がさらに含む、Providing the at least part of the application data to the first application based at least in part on determining that the at least part of the application data is intended for a first application. In addition,
請求項6に記載の1つまたは複数の非一時的コンピュータ可読の記憶媒体。One or more non-transitory computer readable storage media according to claim 6.
前記第1アプリケーションおよび第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して通信し、The first application and the second application communicate using an application programming interface (API),
前記APIは、前記第1アプリケーションが前記第2アプリケーションと通信するための機能を提供する、The API provides a function for the first application to communicate with the second application.
請求項7に記載の1つまたは複数の非一時的コンピュータ可読の記憶媒体。8. One or more non-transitory computer readable storage media according to claim 7.
前記アプリケーションのうちの1つ以上を前記コンピューティング装置上にインストールさせ、起動させるステップを前記動作がさらに含む、The operation further comprises installing and launching one or more of the applications on the computing device;
請求項6に記載の1つまたは複数の非一時的コンピュータ可読の記憶媒体。One or more non-transitory computer readable storage media according to claim 6.
1つ以上の前記アプリケーションを前記コンピューティング装置とは別個のサービスから実行させるステップを前記動作がさらに含む、The operation further includes causing one or more of the applications to be executed from a service separate from the computing device;
請求項6に記載の1つまたは複数の非一時的コンピュータ可読の記憶媒体。One or more non-transitory computer readable storage media according to claim 6.
1つまたは複数のプロセッサと、One or more processors;
命令が格納された1つまたは複数のメモリと、One or more memories in which instructions are stored;
を備えるコンピュータシステムであって、A computer system comprising:
前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピュータシステムに、When the instructions are executed by the one or more processors, the computer system
コンピューティング装置からコンテキストデータを受信するステップと、Receiving context data from a computing device;
コンテキストに関連しているアプリケーションを、前記コンテキストデータに少なくとも部分的に基づいて識別するステップと、Identifying an application associated with a context based at least in part on the context data;
前記コンテキストデータの少なくとも一部を前記コンテキストに関連していると識別された前記アプリケーションに送信するステップと、Sending at least a portion of the context data to the application identified as being associated with the context;
前記アプリケーションからアプリケーションデータを受信するステップであって、前記アプリケーションが、前記コンテキストデータの前記少なくとも一部に少なくとも部分的に基づいて、提供する前記アプリケーションデータを選択するステップと、Receiving application data from the application, wherein the application selects the application data to provide based at least in part on the at least a portion of the context data;
前記コンピューティング装置に提供される前記アプリケーションデータの少なくとも一部を選択するステップと、Selecting at least a portion of the application data provided to the computing device;
前記アプリケーションデータの前記少なくとも前記一部を前記コンピューティング装置に提供するステップと、Providing the at least part of the application data to the computing device;
を含む動作を実行させる、To perform actions including
コンピュータシステム。Computer system.
前記アプリケーションデータの少なくとも一部は、第1アプリケーションを対象としていると決定することに少なくとも部分的に基づいて、前記アプリケーションデータの前記少なくとも前記一部を前記第1アプリケーションに提供するステップを前記動作がさらに含む、Providing the at least part of the application data to the first application based at least in part on determining that the at least part of the application data is intended for a first application. In addition,
請求項11に記載のコンピュータシステム。The computer system according to claim 11.
前記第1アプリケーションおよび第2アプリケーションは、アプリケーションプログラミングインターフェース(API)を利用して通信し、The first application and the second application communicate using an application programming interface (API),
前記APIは、前記第1アプリケーションが前記第2アプリケーションと通信するための機能を提供する、The API provides a function for the first application to communicate with the second application.
請求項12に記載のコンピュータシステム。The computer system according to claim 12.
前記アプリケーションのうちの1つ以上を前記コンピューティング装置上にインストールさせ、起動させるステップを前記動作がさらに含む、The operation further comprises installing and launching one or more of the applications on the computing device;
請求項11に記載のコンピュータシステム。The computer system according to claim 11.
1つ以上の前記アプリケーションを前記コンピューティング装置とは別個のサービスから実行させるステップを前記動作がさらに含む、The operation further includes causing one or more of the applications to be executed from a service separate from the computing device;
請求項11に記載のコンピュータシステム。The computer system according to claim 11.
JP2017543740A 2015-02-17 2016-02-17 A context-sensitive framework that provides data from related applications Active JP6575973B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019149103A JP6961649B2 (en) 2015-02-17 2019-08-15 A context-sensitive framework that provides data from related applications

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US14/623,875 2015-02-17
US14/623,893 2015-02-17
US14/623,903 2015-02-17
US14/623,903 US10684866B2 (en) 2015-02-17 2015-02-17 Context sensitive framework for providing data from relevant applications
US14/623,913 2015-02-17
US14/623,875 US9740467B2 (en) 2015-02-17 2015-02-17 Context sensitive framework for providing data from relevant applications
US14/623,893 US9489247B2 (en) 2015-02-17 2015-02-17 Context sensitive framework for providing data from relevant applications
US14/623,913 US20160239578A1 (en) 2015-02-17 2015-02-17 Context Sensitive Framework for Providing Data From Relevant Applications
PCT/US2016/018249 WO2016134007A1 (en) 2015-02-17 2016-02-17 Context sensitive framework for providing data from relevant applications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019149103A Division JP6961649B2 (en) 2015-02-17 2019-08-15 A context-sensitive framework that provides data from related applications

Publications (2)

Publication Number Publication Date
JP2018509699A JP2018509699A (en) 2018-04-05
JP6575973B2 true JP6575973B2 (en) 2019-09-18

Family

ID=55640853

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017543740A Active JP6575973B2 (en) 2015-02-17 2016-02-17 A context-sensitive framework that provides data from related applications
JP2019149103A Active JP6961649B2 (en) 2015-02-17 2019-08-15 A context-sensitive framework that provides data from related applications

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019149103A Active JP6961649B2 (en) 2015-02-17 2019-08-15 A context-sensitive framework that provides data from related applications

Country Status (6)

Country Link
EP (1) EP3259663A1 (en)
JP (2) JP6575973B2 (en)
CN (1) CN107257971B (en)
CA (1) CA2976777C (en)
SG (1) SG11201706611RA (en)
WO (1) WO2016134007A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6819387B2 (en) * 2017-03-17 2021-01-27 株式会社リコー Image processing equipment, information processing systems, information processing methods, and programs
CN109977305B (en) * 2019-03-14 2024-04-23 努比亚技术有限公司 Information processing method, mobile terminal and computer readable storage medium
US11488163B2 (en) 2019-07-17 2022-11-01 Visa International Service Association Dynamic application selection based on contextual data
US11126446B2 (en) 2019-10-15 2021-09-21 Microsoft Technology Licensing, Llc Contextual extensible skills framework across surfaces

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714778B2 (en) * 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
US8566732B2 (en) * 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
CN101753598B (en) * 2008-12-16 2013-06-05 国际商业机器公司 Method for integrating a plurality of web applications and web application integrator
US9936333B2 (en) * 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
CN103221948A (en) * 2010-08-16 2013-07-24 诺基亚公司 Method and apparatus for executing device actions based on context awareness
EP2451141B1 (en) * 2010-11-09 2018-11-07 BlackBerry Limited Methods and apparatus to display mobile device contents
US20140019427A1 (en) * 2011-03-31 2014-01-16 C.T. Consultants Inc. Framework for context-aware systems and methods
US20130024873A1 (en) * 2011-07-19 2013-01-24 Mitel Networks Corporation Context-aware applications and methods
KR101812657B1 (en) * 2011-11-22 2018-01-31 삼성전자주식회사 A method and apparatus for recommending applications based on context information
US9380404B2 (en) * 2013-06-25 2016-06-28 Qualcomm Incorporated Method and apparatus for use in providing context-aware identification of mobile device applications

Also Published As

Publication number Publication date
JP2019207734A (en) 2019-12-05
SG11201706611RA (en) 2017-09-28
EP3259663A1 (en) 2017-12-27
JP2018509699A (en) 2018-04-05
CA2976777C (en) 2021-04-06
JP6961649B2 (en) 2021-11-05
CN107257971A (en) 2017-10-17
CN107257971B (en) 2021-01-05
WO2016134007A1 (en) 2016-08-25
CA2976777A1 (en) 2016-08-25

Similar Documents

Publication Publication Date Title
US9489247B2 (en) Context sensitive framework for providing data from relevant applications
JP6961649B2 (en) A context-sensitive framework that provides data from related applications
US10496385B2 (en) Context sensitive framework for providing data from relevant applications
US10936340B2 (en) Apparatus and method for performing selective application preloading in electronic device
US10684866B2 (en) Context sensitive framework for providing data from relevant applications
US10691299B2 (en) Display of hierarchical datasets using high-water mark scrolling
US11604844B2 (en) System and method for cross-domain recommendations
US20200135339A1 (en) Systems and methods for executing pathways for healthcare
US20160062732A1 (en) Method for providing additional functions based on information
US10803237B2 (en) Systems and methods for data entry into a region of a display
US20190391711A1 (en) Selective generation and display of interfaces of a website or program
US20160239578A1 (en) Context Sensitive Framework for Providing Data From Relevant Applications
US20200160852A1 (en) Using Audio Input and Output to Interact with Text-Based Interactive Content
US11875231B2 (en) System and method for complex task machine learning
US9342606B2 (en) Intelligent software installation
US20160381204A1 (en) Mobile management framework
US20190012219A1 (en) Method for providing content to user according to user's preference and electronic device therefor
US20230086465A1 (en) Method and system for rule-based composition of user interfaces
KR20180013304A (en) Method for managing notifications of applications and an electronic device thereof
KR20170011128A (en) Electronic device and method for obtaining user information in electronic device
US11023262B2 (en) System and method for content-backed user interface snippets
US20240103925A1 (en) Framework for effective stress testing and application parameter prediction
US20220351268A1 (en) System and method for providing a restaurant guide for healthy eating
WO2024039684A1 (en) Dynamic generation and customization of user interfaces
US20190164190A1 (en) Using a social network to enhance targeted digital content presentation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181001

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190716

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190815

R150 Certificate of patent or registration of utility model

Ref document number: 6575973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250