JP6263199B2 - アプリケーション間通信によるタスク完了 - Google Patents

アプリケーション間通信によるタスク完了 Download PDF

Info

Publication number
JP6263199B2
JP6263199B2 JP2015548021A JP2015548021A JP6263199B2 JP 6263199 B2 JP6263199 B2 JP 6263199B2 JP 2015548021 A JP2015548021 A JP 2015548021A JP 2015548021 A JP2015548021 A JP 2015548021A JP 6263199 B2 JP6263199 B2 JP 6263199B2
Authority
JP
Japan
Prior art keywords
action
entity
application
target application
context
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
JP2015548021A
Other languages
English (en)
Other versions
JP2016506568A5 (ja
JP2016506568A (ja
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2016506568A publication Critical patent/JP2016506568A/ja
Publication of JP2016506568A5 publication Critical patent/JP2016506568A5/ja
Application granted granted Critical
Publication of JP6263199B2 publication Critical patent/JP6263199B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Navigation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

[0001] 多くのユーザーは、移動体電話機、タブレット・デバイス、および/またはパーソナル・コンピューターというような計算デバイスを利用して、種々のタイプのアクションを実行する。一例では、ユーザーが「今日のニュースは何か」という音声コマンドを移動体電話機に入力することがあり得る。移動体電話機は、ユーザーに、ニュース・ウェブサイト検索結果のリストをウェブ・ブラウザーを通じて供給することができる。他の例では、ユーザーが「映画のチケットを手配する」という検索クエリーを、タブレット・デバイスを介してアクセスされる検索エンジンを通じて入力することもあり得る。検索エンジンは、映画のチケットに関係があるとしてタグ付けできるウェブサイトのリストを供給することができる。ユーザーは、手作業で、映画の評判(review)、映画の上映時刻(show time)、および/または映画チケット手配サービスというような、映画の情報を提供することができる映画ウェブサイトを調査することができる。チケット手配サービスを発見した後、ユーザーは、映画チケット手配アクションを完了するために、チケット手配サービスによって要求される情報を提供すればよい。生憎、映画チケット手配アクションを完了するためには、特定の映画チケット発券アプリまたはウェブサイトを突き止めること、広範な手作業の入力、検索、試行錯誤、および/または冗長な情報の入力が必要となる場合がある。
[0002] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な要素や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
[0003] 本明細書では、とりわけ、アプリケーション間通信を通じてタスク完了を容易にするための1つ以上のシステムおよび/または技法、および/またはコンテキスト・アウェア・タスク(contextually aware task)実行のためにターゲット・アプリケーションを登録するための1つ以上のシステムおよび/または技法を提供する。タスク完了を容易にする実施形態では、実行中のアプリケーション(current application)のコンテンツ内に含まれるエンティティを識別することができる。このエンティティは、人間のエンティティ、業務エンティティ、消費者製品エンティティ、時間エンティティ、場所エンティティ、物体エンティティ、および/または任意の他のタイプのエンティティを含むことができる。例えば、ソーシャル・ネットワーク・アプリケーションが、車エンティティを識別するために使用することができる、2013年型スポーツ・カー・モデル(X)について記述するコンテンツを含むソーシャル・ネットワーク・ポストを表示するのでもよい(例えば、ソーシャル・ネットワーク・ポストのコンテンツは、車エンティティを定めるために使用される1つ以上のエンティティ・パラメーターを含む車エンティティ定義と照合する、および/またはこの車エンティティに対して実行され得るアクションを記述するのでもよい)。このエンティティに対して実行することができる1つ以上のアクションを露出することができる。一例では、ソーシャル・ネットワーク・アプリケーションは、このソーシャル・ネットワーク・アプリケーションに埋め込まれた車評判確認アクション(view car reviews action)を有するのでもよい。他の例では、車エンティティに基づいて、車見積もり(quote)アクションを動的に識別することもできる(例えば、車エンティティ定義が、車エンティティに対して車積もりアクションを実行するために使用される情報に対応する1つ以上のアクション・パラメーターを含む車積もりアクション定義を参照することができる)。
[0004] アクションの選択に応答して、このエンティティに関連するエンティティ・コンテキストおよび/またはこのアクションに関連するアクション・コンテキストに基づいて、タスクを遂行するユーザーの意図を決定することができる。例えば、車見積もりアクションを実行するユーザーの意図は、車エンティティ(例えば、車エンティティ定義、および/またはモデル名および/またはモデル年式のような、ソーシャル・ネットワーク・アプリケーションによって提供される車エンティティについてのコンテキスト情報)、および/または車見積もりアクション(例えば、車見積もり定義、および/またはディーラーの場所、車組立オプション、車下取り情報等のような、ソーシャル・ネットワーク・アプリケーションによって提供される車見積もりアクションについてのコンテキスト情報)に基づいて決定することができる。このアクションをエンティティに対して実行することができる1つ以上のターゲット・アプリケーション(例えば、車取引アプリケーション)を提示することができる(例えば、シェア・チャーム(share charm)のような、オペレーティング・システムのユーザー・インターフェースを通じて)。
[0005] ターゲット・アプリケーションの選択に応答して、エンティティ・コンテキスト(例えば、モデル名および/またはモデル年式)および/またはアクション・コンテキスト(例えば、ディーラーの場所、車組立オプション、車下取り情報等)をターゲット・アプリケーションに渡して、タスクの完了を容易にするように、エンティティ・コンテキストおよび/またはアクション・コンテキストにしたがって、ターゲット・アプリケーションを起動する。一例では、車取引アプリケーションは、コンテキスト・アウェア状態で(例えば、車見積もり書式)で開かれてもよい。この状態は、エンティティ・コンテキストおよび/またはアクション・コンテキストから抽出された少なくとも何らかの情報を含むことができる(例えば、単に通常のホーム・スクリーンに開くのではなく)。このように、ユーザーは、例えば、比較的少ないユーザー入力、検索、試行錯誤、および/または冗長な情報の入力で、車取引アプリケーションによって、車見積もりアクションを効率的に実行することができる。
[0006] コンテキスト・アウェアなタスク実行のためにターゲット・アプリケーションを登録する実施形態では、ターゲット・アプリケーションとのデーター契約(data contract)を締結するための登録要求を受けることができる。この登録要求は、ターゲット・アプリケーションによってサポートされるエンティティおよび/またはアクションを含むことができる。たとえば、車マニア・アプリケーション(car enthusiast application)が、車エンティティ、車見積もりアクション、および/または他のエンティティおよび/またはアクアションをサポートすることに基づいて、この車マニア・アプリケーションと、オペレーティング・システムのユーザー・インターフェース(例えば、シェア・チャーム)のようなタスク実行コンポーネントとの間でデーター契約を締結することを、車マニア・アプリケーションが要求することもできる。このように、ターゲット・アプリケーションとのデーター契約を作成することができる。データー契約は、ターゲット・アプリケーションがエンティティに対してアクションを実行できることを明記することができる。
[0007] エンティティに対するエンティティ定義は、維持することができる。エンティティ定義は、そのエンティティを定める1つ以上のエンティティ・パラメーターを含むことができる。1つのエンティティ・パラメーターが、アクションをエンティティに対して実行できることを明記することができる。例えば、車エンティティ定義は、車モデル情報に対する第1エンティティ・パラメーター、モデル年式情報に対する第2エンティティ・パラメーター、車見積もりアクションをこの車エンティティに対して実行できることを明記する第3エンティティ・パラメーター、および/または他のエンティティ・パラメーターを含むことができる。アクションに対してアクション定義を維持することができる。アクション定義は、アクションを定める1つ以上のアクション・パラメーターを含むことができる。1つのアクション・パラメーターが、アクションを実行するために使用される情報を指定することができる。例えば、車見積もりアクション定義は、ディーラー場所情報に対する第1アクション・パラメーター、車組立オプション情報に対する第2アクション・パラメーター、および/または他のアクション・パラメーターを含むことができる。このように、車エンティティ定義および/または車見積もりアクション定義は、実行中のアプリケーションから抽出されたコンテキスト情報に基づいて、ターゲット・アプリケーションによるタスクの実行を容易にするために使用することができる。
[0008] 以上のおよび関係する目的の遂行のために、以下の説明および添付図面は、ある種の例示的な態様(aspect)および実施態様(implementation)を明示する。これらは、1つ以上の態様を採用することができる種々の方法の内僅かなものを示すに過ぎない。本開示の他の態様、利点、および新規な特徴は、以下の詳細な説明を添付図面と併せて検討することによって、明白になるであろう。
図1は、アプリケーション間通信によってタスク完了を容易にする方法例を示す流れ図である。 図2は、エンティティに対するエンティティ定義、アクションに対するアクション定義、および/またはターゲット・アプリケーションに関連するデーター契約を維持するシステム例を示すコンポーネント・ブロック図である。 図3Aは、アプリケーション間通信によってタスク完了を容易にするシステム例を示すコンポーネント・ブロック図である。 図3Bは、アプリケーション間通信によってタスク完了を容易にするシステム例を示すコンポーネント・ブロック図である。 図4Aは、アプリケーション間通信によってタスク完了を容易にするシステム例を示すコンポーネント・ブロック図である。 図4Bは、アプリケーション間通信によってタスク完了を容易にするシステム例を示すコンポーネント・ブロック図である。 図5は、コンテキスト・アウェア・タスク実行のためにターゲット・アプリケーションを登録する方法例を示す流れ図である。 図6は、本明細書において明示した発明(provision)の1つ以上を具体化するように構成されたコンピューター実行可能命令を構成することができる計算デバイス読み取り可能媒体例の図である。 図7は、本明細書において明示した発明の1つ以上を実現することができる計算環境例を示す。
[0018] これより、図面を参照しながら、特許請求する主題について説明する。図面では、同様の参照番号は全体的に同様のエレメントを一貫して指すために使用される。以下の説明では、説明の目的に限って、特許請求する主題の理解を得るために多数の具体的な詳細を明示する。しかしながら、特許請求する主題は、これらの具体的な詳細がなくても実施できることは明白なはずである。他方では、特許請求する主題を説明しやすくするために、構造およびデバイスをブロック図形態で示すこととする。
[0019] アプリケーション間通信によってタスク完了を容易にする一実施形態を、図1における方法例100によって例示する。102において、この方法が開始する。一例では、ユーザーが実行中のアプリケーションと対話処理していてもよい(例えば、ソーシャル・ネットワーク・アプリケーション、電子メール・アプリケーション、ウェブサイトを表示するウェブ・ブラウザー、地図表示アプリケーション(mapping application)、ビデオ・ゲーム、ローカルにインストールされたアプリケーション、クラウド・アプリケーション等)。実行中のアプリケーションは、1つ以上のエンティティを含むコンテンツを表示することができる。例えば、ソーシャル・ネットワーク・アプリケーションが、ユーザーが楽しんだMexican Cantinaのような特定のレストランをユーザーが参照することによって、ソーシャル・ネットワーク・ポストを表示するのでもよい。一例では、レストラン・エンティティは、コンテンツから動的に識別することができる(例えば、コンテンツを解析してエンティティ候補を識別してもよく、このエンティティ候補を、レストラン名、場所、価格範囲、ならびにテーブル予約アクション、メニュー確認アクション等のような、レストラン・エンティティに対して実行することができる1つ以上のアクションというような、エンティティを定める1つ以上のエンティティ・パラメーターを含むエンティティ定義と照合することができる)。他の例では、ソーシャル・ネットワーク・アプリケーションによってレストラン・エンティティが予め定められていてもよい。このように、104において、実行中のアプリケーションのコンテンツ内部に含まれるエンティティを識別することができる。
[0020] 106において、エンティティに対して実行することができる1つ以上のアクションを露出することができる。一例では、レストラン・エンティティ定義が、テーブル予約アクションというような、そのレストラン・エンティティに対して実行することができる1つ以上のアクションを指定することができる。テーブル予約アクション定義は、席の数、時間、レストラン名等というような、テーブル予約アクションを実行するために使用される情報を指定する1つ以上のアクション・パラメーターを含むことができる。このように、エンティティに基づいてアクションを動的に識別することができ、そして提示することができる。他の例では、アクションを実行中のアプリケーション内に埋め込むこともできる(例えば、実行中のアプリケーションの開発者が、ユーザーがエンティティを選択したことに応答してアクションを提示することができる機能を、実行中のアプリケーション内に埋め込むことができる)。
[0021] 108において、アクション(例えば、テーブル予約アクション)の選択に応答して、エンティティに関連するエンティティ・コンテキストおよび/またはアクションに関連するアクション・コンテキストに基づいて、タスク(例えば、Mexican Cantinaにおいてテーブルを予約する)を遂行するユーザーの意図を判定することができる。例えば、エンティティ・コンテキストは、レストラン名としてのMexican Cantinaおよび場所としての都心というような、レストラン・エンティティ定義内において指定された1つ以上のエンティティ・パラメーターの値を含むことができる。エンティティ・パラメーターの値は、実行中のアプリケーションのコンテンツから抽出することができ、および/またはエンティティ定義から抽出することもできる。アクション・コンテキストは、レストラン名としてのMexican Cantinaおよび時刻としての8:00というような、テーブル予約アクション定義内において指定された1つ以上のアクション・パラメーターの値を含むことができる。
[0022] エンティティに対してアクションを実行することができる1つ以上のターゲット・アプリケーションを識別することができる。例えば、食品専門アプリケーション(food expert application)が、タスク実行コンポーネントとのデーター契約を有することができる。データー契約は、食品専門アプリケーションがレストラン・エンティティおよび/またはテーブル予約アクションをサポートすることを指定することができる。このように、110において、エンティティに対してアクションを実行することができる1つ以上のターゲット・アプリケーションを提示することができる。一例では、ターゲット・アプリケーションが実行中のアプリケーションを通じて提示されてもよい。他の例では、ターゲット・アプリケーションが、オペレーティング・システムのユーザー・インターフェース(例えば、シェア・チャーム)を通じて提示されてもよく、実行中のアプリケーションに関係付けて(例えば、並べて、重ねて等)表示することもできる。
[0023] ターゲット・アプリケーション(例えば、食品専門アプリケーション)の選択に応答して、112において、タスクの完了を容易にするために、エンティティ・コンテキストおよび/またはアクション・コンテキストにしたがって、ターゲット・アプリケーションを起動することができるように、エンティティ・コンテキストおよび/またはアクション・コンテキストをターゲット・アプリケーションに渡すことができる。ターゲット・アプリケーションは、ウェブサイトを表示するウェブ・ブラウザー、ローカルにインストールされたアプリケーション、クラウド・アプリケーションまたはサービス、および/またはダウンロードおよび/またはインストールのために利用可能なマーケットプレース・アプリケーションを含むことができる(例えば、アプリケーション・マーケットプレースからマーケットプレース・アプリケーションを入手するようにユーザーを促してもよい)。例えば、食品専門アプリケーションは、ローカルにインストールすることができ、エンティティ・コンテキストおよび/またはアクション・コンテキストに関連する少なくとも何らかの情報を含み得る、コンテキスト的に関連のある状態に開くことができる(例えば、食品専門アプリケーションを、1つ以上のエンティティ・パラメーターおよび/または1つ以上のアクション・パラメーターからの値が埋められたテーブル予約書式に開くこともできる)。コンテキスト情報をターゲット・アプリケーションに渡す一例では、オペレーティング・システムの通信モデルを使用して、エンティティ・コンテキストおよび/またはアクション・コンテキストをターゲット・アプリケーションに渡すこともできる。一例では、ターゲット・アプリケーションは、没入表示状態(immersive view state)(例えば、実質的に最大画面状態)で起動することもできる。他の例では、ターゲット・アプリケーションは、実行中のアプリケーションと並べて起動することもできる。他の例では、実行中のアプリケーションと並べて表示することができるオーバーレイ・インターフェース(例えば、アプリケーションを表示するために使用される、チャームのような、オペレーティング・システムのユーザー・インターフェース)内で、ターゲット・アプリケーションを起動することもできる。このように、ユーザーは、適した機能を求めるための過度な検索、および/または冗長な情報の手作業による入力を行うことなく、効率的にタスクを完了することができる。一旦起動されたなら、バック・コマンドのような種々のコマンドを実行することができる。バック・コマンドは、ターゲット・アプリケーションの表示を実行中のアプリケーションに、および/またはタスク完了のために選択され得る1つ以上のターゲット・アプリケーションを含むタスク・インターフェースに移行する(transition)ことができる。
[0024] 一例では、エンティティ・アクション・ログを維持することができる(例えば、データーベース、ログ・ファイル、対話型ユーザー・インターフェース等)。エンティティ・アクション・ログは、アクションの使用パターン、アクションの関与パターン、アクションが起動された回数、アプリケーションが起動された回数等というような、タスク完了に関する情報を含む1つ以上のエントリーを含むことができる。このような情報、アクティビティ、アクション等を記録させるために、ユーザー・オプトインまたはオプトアウトに対する選択肢を設けることもできる。エントリーは、例えば、アクションがターゲット・アプリケーションによってエンティティに対して実行されたことを明記することができる。エンティティ・アクション・ログは、第三者アプリケーション(例えば旅行アプリケーションの開発者)に露出されてもよい。タスク完了コンポーネントと第三者アプリケーションとの間で、データー契約を作成することができる(例えば、開発者が、データー契約を作成する希望を示す登録要求を送ることができる)。データー契約は、第三者アプリケーションがエンティティに対するアクションの実行をサポートすることを指定することができる。このように、第三者アプリケーションは、コンテキスト・アウェアなタスク実行のためのターゲット・アプリケーションとして登録することができる。114において、本方法は終了する。
[0025] 図2は、エンティティに対するエンティティ定義、アクションに対するアクション定義、および/またはターゲット・アプリケーションに関連するデーター契約を維持するように構成されたシステム200の一例を示す。システム200は、定義コンポーネント202および/または契約コンポーネント208を含むことができる。定義コンポーネント202は、エンティティに対してエンティティ定義を生成するように構成することができる。例えば、定義コンポーネント202は、レストラン・エンティティに対するレストラン・エンティティ定義204を維持することができる。レストラン・エンティティ定義204は、エンティティを定義する、および/またはエンティティに対して実行することができるアクションを指定する1つ以上のエンティティ・パラメーターを含むことができる。例えば、レストラン名パラメーター、レストラン場所パラメーター、レストラン・タイプ・パラメーター、および/または他のエンティティ・パラメーターを、レストラン・エンティティ定義204内において指定することができる。一例では、レストラン・エンティティ定義にエンティティ・パラメーターの1つ以上の値(例えば、レストラン名としてのMexican Cantina、レストランの場所としての都心等)を入力することに基づいて、Mexican Cantinaエンティティのような、レストラン・エンティティのインスタンスを定めることもできる。テーブル予約アクション、評判検討アクション、メニュー確認アクション、および/またはレストラン・エンティティに対して実行することができる他のアクションというような、1つ以上のサポートされるアクションを、レストラン・エンティティ定義204内において明記することができる。レストラン・エンティティ定義204は、タスク完了を容易にするためにレストラン・エンティティに対してエンティティ・コンテキストを生成するために使用することもできる(例えば、エンティティ・コンテキストは、レストラン・エンティティ定義204内で指定された少なくとも何らかの情報を含むことができ、タスク完了のためにターゲット・アプリケーションをコンテキスト関連状態に起動することができるように、ターゲット・アプリケーションに渡すことができる)。
[0026] 定義コンポーネント202は、アクションに対してアクション定義を生成するように構成することができる。例えば、定義コンポーネント202は、テーブル予約アクションに対してテーブル予約アクション定義206を維持することができる。テーブル予約アクション定義206は、アクションを定義する、および/またはアクションを実行するために使用される情報を指定する1つ以上のアクション・パラメーターを含むことができる。例えば、テーブル予約アクション定義206は、レストラン名パラメーター、レストラン場所パラメーター、電話番号パラメーター、予約時刻パラメーター、パーティ規模パラメーター、および/またはテーブル予約アクションを実行するために使用される他のアクション・パラメーターを含むことができる。テーブル予約アクション定義206は、タスク完了を容易にするために、テーブル予約アクションに対してアクション・コンテキストを生成するために使用することもできる(例えば、アクション・コンテキストは、テーブル予約アクション定義206内において指定された少なくとも何らかの情報を含むことができ、タスク完了のためにターゲット・アプリケーションをコンテキスト関連状態に起動することができるように、アクション・コンテキストをターゲット・アプリケーションに渡すことができる)。
[0027] 契約コンポーネント208は、タスコ実行コンポーネント(例えば、アプリケーション間通信によってタスクの完了を容易にするように構成される)と1つ以上の第三者アプリケーションとの間において1つ以上のデーター契約を維持するように構成することができる。例えば、契約コンポーネント208は、旅行アプリケーションに対してデーター契約210を作成することができる。データー契約210は、旅行アプリケーションが1つ以上のエンティティ(例えば、レストラン・エンティティ、カー・レンタル・エンティティ、ホテル・エンティティ等)および/または1つ以上のアクション(例えば、テーブル予約アクション、車予約アクション、ホテル比較アクション等)をサポートすることを明記することができる。このように、タスク完了を容易にするために、エンティティに対してアクションを実行することができるターゲット・アプリケーションとして、旅行アプリケーション210を識別することができる。
[0028] 図3Aは、アプリケーション間通信によってタスク完了を容易にするように構成されたシステム300の一例を示す。システム300は、タスク実行コンポーネント308(例えば、プログラミング・モジュール、ウェブ・サービス、アプリケーション機能、および/または、例えば、シェア・チャームのような、オペレーティング・システムのユーザー・インターフェース)を含むことができる。タスク実行コンポーネント308は、地図表示アプリケーション302のような、実行中のアプリケーションに関連付けることができる。地図表示アプリケーション302は、コンテンツをユーザーに供給することができる(例えば、Mexican Cantina304を示す地域の地図、および都心にある書籍店)。タスク実行コンポーネント308は、地図表示アプリケーション302のコンテンツ内に含まれる、Mexican Cantinaエンティティのようなエンティティを識別するように構成することができる。例えば、タスク実行コンポーネント308は、Mexican Cantinaエンティティを定めるために使用することができるエンティティ定義レポジトリー312内においてレストラン・エンティティ定義を識別するために、地図表示アプリケーション302のコンテンツに関連するコンテキスト情報306を使用することができる。タスク実行コンポーネント308は、Mexican Cantinaエンティティに対して実行することができる1つ以上のアクションを露出することができる。例えば、タスク実行コンポーネント308は、メニュー確認アクション322および/またはテーブル予約アクション328をタスク・インターフェース320を通じて提示する(318)ことができる。一例では、地図表示アプリケーション302内にアクションを埋め込むこともできる(例えば、開発者によって予め定められる)。他の例では、アクション定義レポジトリー314内にあるアクション定義(例えば、メニュー確認アクション定義、テーブル予約アクション定義等)に基づいて、アクションを動的に識別することもできる。
[0029] タスク実行コンポーネント308は、アクションの選択を識別するように構成することができる。一例では、ユーザーがメニュー確認アクション322を選択するのでもよい。タスク実行コンポーネント308は、エンティティに関連するエンティティ・コンテキストおよび/またはアクションに関連するアクション・コンテキストに基づいて、タスクを遂行するユーザーの意図310を判定するように構成することができる。例えば、エンティティ・コンテキスト(例えば、Mexican Cantinaエンティティに関連するコンテキスト情報。これは、地図表示アプリケーション302のコンテンツに関連するコンテキスト情報306から得られたもの、および/またはエンティティ定義レポジトリー312からのレストラン・エンティティ定義から得られたものでもよい)および/またはアクション・コンテキスト(例えば、メニュー確認アクションに関連するコンテキスト情報。これは、地図表示アプリケーション302のコンテンツに関連するコンテキスト情報306から得られたもの、および/またはアクション定義レポジトリー314からのメニュー確認アクション定義から得られたものでもよい)に基づいて、ユーザーの意図310は、ユーザーがMexican Cantina304のメニューを確認したいということを示すことができる。メニューr usアプリケーション324および/または食品専門アプリケーション326というような、エンティティに対してアクションを実行することができる1つ以上のターゲット・アプリケーションを提示することができる(例えば、地図表示アプリケーション302内部のユーザー・インターフェースのようなタスク・インターフェース320、またはオペレーティング・システムのユーザー・インターフェースのような外部ユーザー・インターフェースを介して提示する318)。例えば、メニューr usアプリケーション324および/または食品専門アプリケーション326は、データー契約レポジトリー316内にデーター契約を有することができ、このようなアプリケーションがMexican Cantinaエンティティおよび/またはメニュー確認アクション324をサポートすることを指定することができる。テーブル予約アクション328が選択された他の例では、Mexican Cantinaエンティティおよびテーブル予約アクション328が旅行アプリケーション330によってサポートされることを示す、旅行アプリケーション330とタスク実行コンポーネント308との間におけるデーター契約に基づいて、タスク・インターフェース320を介して旅行アプリケーション330を提示することができる。このように、ユーザーはターゲット・アプリケーションを選択することができ、タスク完了のために、コンテキスト関連状態において起動することができる(例えば、図3Bに示す通り)。
[0030] 図3Bは、アプリケーション間通信によってタスク完了を容易にするように構成されたシステム340の一例を示す。尚、一例では、システム340は図3Aのシステム300に対応することが認められよう。例えば、システム340は、タスク実行コンポーネント370を含むことができる。タスク実行コンポーネント370を、地図表示アプリケーション(例えば、図3Aの302)のような、実行中のアプリケーションに関連付けることができる。地図表示アプリケーションのコンテンツ内に現れるMexican Cantinaエンティティのようなエンティティに基づいて、Mexican Cantinaエンティティに対して実行することができる1つ以上のアクションおよび/またはMexican Cantinaエンティティに対してアクションを実行することができる1つ以上のアプリケーションを含むタスク・インターフェース(例えば、図3Aの320)を提示することができる。
[0031] タスク実行コンポーネント370は、Mexican Cantinaエンティティに対するテーブル予約アクション(例えば、図3Aの328)に関連する旅行アプリケーション330のようなアプリケーションの選択342を受けるように構成することができる(例えば、ユーザーが、図3Aのタスク・インターフェース320内で旅行アプリケーション330を選択したとしてもよい)。タスク実行コンポーネント370は、地図表示アプリケーション(例えば、図3Aの302)からおよび/またはテーブル予約アクション(例えば、図3Aの328)を実行するために使用される情報に対応する1つ以上のアクション・パラメーターを含むテーブル予約アクション定義からのコンテキスト情報(例えば、図3Aの306)に基づいて、テーブル予約アクション・コンテキスト344を識別することができる。テーブル予約アクション・コンテンツ344は、レストラン名、レストランの場所、パーティの規模等のような、テーブル予約アクションを実行するために使用される情報を含むことができる。タスク実行コンポーネント370は、地図表示アプリケーション(例えば、図3Aの302)からおよび/またはMexican Cantinaエンティティを記述する情報に対応する1つ以上のエンティティ・パラメーターを含むレストラン・エンティティ定義からのコンテキスト情報(例えば、図3Aの306)に基づいて、Mexican Cantinaエンティティを定めるレストラン・エンティティ・コンテキスト346を識別することができる。
[0032] タスク実行コンポーネント370は、テーブル予約アクション・コンテキスト344および/またはレストラン・エンティティ・コンテキスト346にしたがって旅行アプリケーション330を起動することができるように、テーブル予約アクション・コンテキスト344および/またはレストラン・エンティティ・コンテキスト346を旅行アプリケーション330に受け渡す(348)ことができる(例えば、オペレーティング・システムの通信モデルを利用する)。例えば、旅行アプリケーション330をテーブル予約書式内に開くことができる。テーブル予約書式には、レストラン名352としてのMexican Cantina、レストランの場所354としての都心、および/または電話番号356としての555−555−5555のような、テーブル予約アクション・コンテキスト344および/またはレストラン・エンティティ・コンテキスト346からの少なくとも一部の情報が埋められてもよい。一例では、旅行アプリケーション330を没入表示状態(例えば、最大画面等)で起動することもできる。他の例では、旅行アプリケーション330は、実行中のアプリケーションと並んで表示されるオーバーレイ・インターフェース(例えば、シェア・チャームのような、オペレーティング・システムのユーザー・インターフェース)内で起動することもできる。このように、ユーザーは、例えば、適した機能を求めるための過度な検索および/または冗長な情報の手作業による入力を行うことなく、Mexican Cantinaにおいて効率的にテーブルを予約することができる。
[0033] 一例では、システム340は分析コンポーネント358を含むこともできる。分析コンポーネント358は、エンティティ・アクション・ログ360を維持するように構成することができる。分析コンポーネント358は、旅行アプリケーション330の起動に基づいて、エンティティ・アクション・ログ360内にエントリーを生成することができる。例えば、エントリーは、タスクを完了するために、ターゲット・アプリケーションによってエンティティに対してアクションが実行されたことを明記することができる(例えば、旅行アプリケーション330がテーブル予約アクションをMexican Cantinaエンティティに対して実行した)。エンティティ・アクション・ログ360は、アクションが選択された回数、アクションを実行するためにアプリケーションが起動された回数等といような、種々の情報および/またはメトリックを含むことができる。エンティティ・アクション・ログ360は、第三者アプリケーション(例えば、第三者アプリケーションの開発者)に露出されてもよく、第三者アプリケーションがコンテキスト・アウェアなタスク完了のためにターゲット・アプリケーションとして使用されることを許可することができるデーター契約を作成するために、第三者アプリケーションをタスク実行コンポーネント370に(register with)登録することができる。
[0034] 図4Aは、アプリケーション間通信によってタスク完了を容易にするように構成されたシステム400の一例を示す。システム400は、タスク実行コンポーネント408(例えば、プログラミング・モジュール、ウェブ・サービス、アプリケーション機能、および/またはシェア・チャームのようなオペレーティング・システムのユーザー・インターフェース)を含むことができる。タスク実行コンポーネント408は、ソーシャル・ネットワーク・アプリケーション402のような実行中のアプリケーションと関連付けることができる。ソーシャル・ネットワーク・アプリケーション402は、コンテンツをユーザーに提示することができる(例えば、2013年型スポーツ・カー・モデル(X)についてのユーザーによるソーシャル・ネットワーク・ポスト)。タスク実行コンポーネント408は、ソーシャル・ネットワーク・アプリケーション402のコンテンツ内に含まれる、スポーツ・カー・モデル(X)エンティティのようなエンティティを識別するように構成することができる。例えば、タスク実行コンポーネント408は、エンティティ定義レポジトリー412内において、スポーツ・カー・モデル(X)エンティティを定めるために使用することができる車エンティティ定義を識別するために、ソーシャル・ネットワーク・アプリケーション402のコンテンツに関連するコンテキスト情報406を使用することができる。タスク実行コンポーネント408は、スポーツ・カー・モデル(X)エンティティに対して実行することができる1つ以上のアクションを露出することができる。例えば、タスク実行コンポーネント408は、車見積もりアクション422および/または車組立アクション428をタスク・インターフェース420を通じて提示する(418)ことができる。一例では、ソーシャル・ネットワーク・アプリケーション402内にアクションを埋め込むこともできる(例えば、開発者によって予め定められる)。他の例では、アクション定義レポジトリー414内におけるアクション定義に基づいて、アクションを動的に識別することもできる(例えば、車見積もりアクション定義、車組立アクション定義等)。
[0035] タスク実行コンポーネント408は、アクションの選択を識別するように構成することができる。一例では、ユーザーが車見積もりアクション422を選択することができる。タスク実行コンポーネント408は、エンティティに関連するエンティティ・コンテキストおよび/またはアクションに関連するアクション・コンテキストに基づいて、タスクを遂行するユーザーの意図410を判定するように構成することができる。例えば、エンティティ・コンテキスト(例えば、スポーツ・カー・モデル(X)エンティティに関連するコンテキスト情報。これはソーシャル・ネットワーク・アプリケーション402のコンテンツに関連するコンテキスト情報406から、および/またはエンティティ定義レポジトリー412からの車エンティティ定義から引き出されたのでもよい)および/またはアクション・コンテキスト(例えば、車見積もりアクション422に関連するコンテキスト情報。これは、ソーシャル・ネットワーク・アプリケーション402のコンテンツに関連するコンテキスト情報406から引き出されたのでもよく、および/またはアクション定義レポジトリー414からの車見積もりアクション定義から引き出されたのでもよい)に基づいて、ユーザーの意図410は、ユーザーがスポーツ・カー・モデル(X)エンティティに対する車の見積もりを得たいということを示すことができる。車トレーダ・アプリケーション424および/またはオート・ディーラー・アプリケーション426のような、エンティティに対してアクションを実行することができる1つ以上のターゲット・アプリケーションを提示することができる(例えば、ソーシャル・ネットワーク・アプリケーション402内にあるユーザー・インターフェースまたは、オペレーティング・システムのユーザー・インターフェースのような外部ユーザー・インターフェースというような、タスク・インターフェース420を通じて提示される(418))。例えば、車トレーダ・アプリケーション424および/またはオート・ディーラー・アプリケーション426は、データー契約レポジトリー416内にデーター契約を有することができ、このようなアプリケーションがスポーツ・カー・モデル(X)エンティティおよび/または車見積もりアクション422をサポートすることを指定することができる。車組立アクション428が選択された他の例では、スポーツ・カー・モデル(X)エンティティおよび車組立アクション428が車製造アプリケーション430によってサポートされることを示す、車製造アプリケーション430とタスク実行コンポーネント408との間におけるデーター契約に基づいて、タスク・インターフェース420を通じて車製造アプリケーション430を提示することができる。このように、ユーザーは、ターゲット・アプリケーションを選択することができ、タスク完了のためにコンテキスト関連状態において起動することができる(例えば、図4Bに示す通り)。
[0036] 図4Bは、アプリケーション間通信によってタスク完了を容易にするように構成されたシステム440の一例を示す。尚、一例では、システム440は図4Aのシステム400に対応することは、認められよう。例えば、システム440は、タスク実行コンポーネント470を含むことができる。タスク実行コンポーネント470は、ソーシャル・ネットワーク・アプリケーション(例えば、図4Aの402)のような、実行中のアプリケーションと関連付けることができる。ソーシャル・ネットワーク・アプリケーション(例えば、図4Aの402)のコンテンツ内に現れる、スポーツ・カー・モデル(X)エンティティのようなエンティティに基づいて、スポーツ・カー・モデル(X)エンティティに対して実行することができる1つ以上のアクション、および/またはスポーツ・カー・モデル(X)エンティティに対してアクションを実行することができる1つ以上のアプリケーションを含むタスク・インターフェース(例えば、図4Aの420)を提示することができる。
[0037] タスク実行コンポーネント470は、スポーツ・カー・モデル(X)エンティティに対する車見積もりアクション(例えば、図4Aの422)に関連するオート・ディーラー・アプリケーション426のようなアプリケーションの選択442を受けるように構成することができる(例えば、ユーザーが図4Aのタスク・インターフェース420内においてオート・ディーラー・アプリケーション426を選択しているのでもよい)。タスク実行コンポーネント470は、ソーシャル・ネットワーク・アプリケーション(例えば、図4Aの402)から、および/または車見積もりアクション(例えば、図4Aの422)を実行するために使用される情報に対応する1つ以上のアクション・パラメーターを含む車見積もりアクション定義からのコンテキスト情報(例えば、図4Aの406)に基づいて、車見積もりアクション・コンテキスト444を識別することができる。車見積もりアクション・コンテキスト444は、車のモデル、モデルの年式、場所、下取り情報、車のオプション等というような、車見積もりアクションを実行するために使用される情報を含むことができる。タスク実行コンポーネント470は、ソーシャル・ネットワーク・アプリケーション(例えば、図4Aの402)から、および/またはスポーツ・カー・モデル(X)エンティティを記述する情報に対応する1つ以上のエンティティ・パラメーターを含む車エンティティ定義からのコンテキスト情報(例えば、図4Aの406)に基づいて、スポーツ・カー・モデル(X)エンティティを定める車エンティティ・コンテキスト446を識別することができる。
[0038] タスク実行コンポーネント470は、車見積もりアクション・コンテキスト444および/または車エンティティ・コンテキスト446にしたがってオート・ディーラー・アプリケーション426を起動できるように、車見積もりアクション・コンテキスト444および/または車エンティティ・コンテキスト446をオート・ディーラー・アプリケーション426に渡す(448)ことができる(例えば、オペレーティング・システムの通信モデルを利用する)。例えば、オート・ディーラー・アプリケーション426を車見積もり書式内に開くことができる。車見積もり書式には、車モデル452としてのスポーツ・カー・モデル(X)、モデル年式454としての2013、および/または場所456としての現在のユーザーの場所というような、車見積もりアクション・コンテキスト444および/または車エンティティ・コンテキスト446からの少なくとも一部の情報が埋められてもよい(例えば、ユーザー・デバイスの現在の(例えば、GPS)位置のような、オート・ディーラー・アプリケーションをホストするユーザー・デバイスに関連する補足データーを、車見積もり書式に埋める値として使用してもよい)。一例では、オート・ディーラー・アプリケーション426を没入表示状態(例えば、最大画面等)で起動することもできる。他の例では、オート・ディーラー・アプリケーション426を、実行中のアプリケーションと並んで表示されるオーバーレイ・インターフェース(例えば、シェア・チャームのようなオペレーティング・システムのユーザー・インターフェース)内部において起動することもできる。このように、ユーザーは、例えば、適した機能を求めるための過度な検索および/または冗長な情報の手作業による入力を行うことなく、スポーツ・カー・モデル(X)に対する車の見積もりを効率的に入手することができる。
[0039] 一例では、システム440は分析コンポーネント458を含むこともできる。分析コンポーネント458は、エンティティ・アクション・ログ460を維持するように構成することができる。分析コンポーネント458は、オート・ディーラー・アプリケーション426の起動に基づいて、エンティティ・アクション・ログ460内にエントリーを生成することができる。例えば、エントリーは、タスクを完了するためにターゲット・アプリケーションによってエンティティに対して実行されたアクションを明記することができる(例えば、オート・ディーラー・アプリケーション426がスポーツ・カー・モデル(X)エンティティに対して車見積もりアクションを実行した)。エンティティ・アクション・ログ460は、アクションが選択された回数、アクションを実行するためにアプリエーションが起動された回数等のような、種々の情報および/またはメトリックを含むことができる。エンティティ・アクション・ログ460は第三者アプリケーション(例えば、第三者アプリケーションの開発者)に露出されてもよく、第三者アプリケーションがコンテキスト・アウェアなタスク完了のためにターゲット・アプリケーションとして使用されることを許可することができるデーター契約を作成するために、第三者アプリケーションをタスク実行コンポーネント470に登録することができる。
[0040] コンテキスト・アウェアなタスク実行のためにターゲット・アプリケーションを登録する実施形態を、図5における方法例500によって示す。502において、この方法が開始する。504において、ターゲット・アプリケーションとのデーター契約を締結するための登録要求を受けることができる(例えば、ターゲット・アプリケーションと、タスク完了を容易にするためにコンテキスト関連状態にターゲット・アプリケーションを起動するように構成されたタスク実行コンポーネントとの間におけるデーター契約)。登録要求は、ターゲット・アプリケーションによってサポートされるエンティティおよび/またはアクション(例えば、ダイニング・アプリケーション(dining application)によってエンティティに対して実行することができるアクション)を含むことができる。506において、ターゲット・アプリケーションとのデーター契約を作成する。このデーター契約は、ターゲット・アプリケーションがアクションをエンティティに対して実行できることを明記することができる。
[0041] 508において、エンティティに対するエンティティ定義を維持することができる。エンティティ定義は、エンティティを定める1つ以上のエンティティ・パラメーターを含むことができる(例えば、レストラン・エンティティ定義は、レストラン名パラメーター、場所パラメーター、価格格付け(price rating)パラメーター等を含むことができる)。例えば、1つのエンティティ・パラメーターが、あるアクションをエンティティに対して実行できることを明記することができる(例えば、テーブル予約アクションをレストラン・エンティティに対して実行することができる)。510において、アクションに対するアクション定義を維持することができる。アクション定義は、アクションを定める1つ以上のアクション・パラメーターを含むことができる。例えば、1つのアクション・パラメーターが、アクションを実行するために使用される情報(例えば、テーブル予約アクションに対してレストランの場所)を指定することができる。このように、データー契約、エンティティ定義、および/またはアクション定義は、エンティティ、そのエンティティに対して実行できるアクション、および/またはそのエンティティに対してそのアクションを実行できるターゲット・アプリケーションを識別するために使用することができる。
[0042] 一例では、レストラン・エンティティのようなエンティティを、地図表示アプリケーションのような実行中のアプリケーションのコンテンツ内において識別することができる。エンティティ定義内における少なくとも1つのエンティティ・パラメーターの値は、エンティティ・コンテキストを生成するために実行中のアプリケーションから引き出されたエンティティのコンテキスト情報に基づいて指定することができる。例えば、レストラン・エンティティ定義内におけるレストラン名エンティティ・パラメーターの値として、Mexican Cantina(例えば、地図表示アプリケーションのコンテンツから抽出された)を指定することができる。テーブル予約アクションのような、このエンティティに対して実行できるアクションを露出することができる。アクションの選択に応答して、アクション定義内における少なくとも1つのアクション・パラメーターの値を、アクション・コンテキストを生成するために実行中のアプリケーションから引き出されたコンテキスト情報に基づいて指定することができる。例えば、テーブル予約アクション定義内における場所アクション・パラメーターの値として、都心(例えば、地図表示アプリケーション内に表示された現在地から引き出される)を指定することができる。ダイニング・アプリケーションのような、アクションをエンティティに対して実行できるターゲット・アプリケーションを提示することができる。ターゲット・アプリケーションの選択に応答して、タスクを完了するためにエンティティ・コンテキストおよび/またはアクション・コンテキストにしたがってターゲット・アプリケーションを起動できるように、エンティティ・コンテキストおよび/またはアクション・コンテキストをターゲット・アプリケーションに渡すことができる(例えば、コンテキスト関連予約書式内に、ダイニング・アプリケーションを起動することができる)。512において、本方法は終了する。尚、開示した主題に対する変形も考えられることは認められよう。例えば、508および/または510あるいは図5は、実施形態によっては任意選択肢であってもよい。
[0043] 更に他の実施形態は、本明細書において紹介した技法の内1つ以上を実現するように構成されたプロセッサー実行可能命令を含むコンピューター読み取り可能媒体を伴う。これらの方法で考案することができるコンピューター読み取り可能媒体例を図6に示す。ここで、実施態様600はコンピューター読み取り可能媒体616(例えば、CD−R、DVD−R、またはハード・ディスク・ドライブのプラッター)を含み、その上にコンピューター読み取り可能データー614がエンコードされる。一方、このコンピューター読み取り可能データー614は、本明細書において明示した原理の1つ以上にしたがって動作するように構成された1組のコンピューター命令612を含む。このような一実施形態600では、プロセッサー実行可能コンピューター命令612は、例えば、図1の方法例100の少なくとも一部、および/または図5の方法例500の少なくとも一部というような、方法610を実行するように構成することができる。このような他の実施形態では、プロセッサー実行可能命令612は、例えば、図2のシステム例200の少なくとも一部、図3Aのシステム例300の少なくとも一部、図3Bのシステム例340の少なくとも一部、図4Aのシステム例400の少なくとも一部、および/または図4Bのシステム例440の少なくとも一部というような、システムを実現するように構成することができる。 本明細書において紹介した技法にしたがって動作するように構成されるこのようなコンピューター読み取り可能媒体の多くは、当業者によって考案することができる。
[0044] 構造的特徴および/または方法論的アクト(methodological act)に特定的な文言で主題について説明したが、添付する特許請求の範囲において定められる主題は、必ずしも以上で説明した特定的な特徴やアクトに限定されないことは理解されてしかるべきである。逆に、以上で説明した特定的な特徴やアクトは、特許請求の範囲を実現する形態例として開示されたまでである。
[0045] 本願において使用する場合、「コンポーネント」、「モジュール」、「システム」、「インターフェース」等という用語は、一般に、ハードウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピューター関連エンティティを指すことを意図している。例えば、コンポーネントは、プロセッサー上で実行するプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであってもよいが、これらに限定されるのではない。一例として、コントローラー上で実行するアプリケーションおよびこのコントローラーの双方がコンポーネントであることができる。1つ以上のコンポーネントが1つのプロセスおよび/または実行のスレッド内に存在してもよく、更に1つのコンポーネントが1つのコンピューター上に局在されること、および/または2つ以上のコンピューター間で分散されることも可能である。
[0046] 更に、特許請求する主題は、コンピューターを制御して開示した主題を実現するためのソフトウェア、ファームウェア、ハードウェア、またはその任意の組み合わせを生成するための標準的なプログラミングおよび/または設計技法を使用して、方法、装置、または製品として実現することもできる。「製品」という用語は、本明細書において使用する場合、任意のコンピューター読み取り可能デバイス、担体、または媒体からアクセス可能なコンピューター・プログラムを包含することを意図している。勿論、特許請求する主題の範囲や主旨から逸脱することなく、この構成には多くの変更が行われてもよいことを当業者は認めよう。
[0047] 図7および以下の説明(discussion)は、本明細書において明示した発明(provision)の1つ以上の実施形態を実現するのに適した計算環境の端的で総合的な説明に供する。図7の動作環境は、適した動作環境の一例に過ぎず、動作環境の使用範囲や機能に関して限定を示唆する意図は全くない。計算デバイスの例には、パーソナル・コンピューター、サーバ・コンピューター、ハンドヘルドまたはラップトップ・デバイス、移動体デバイス(移動体電話機、パーソナル・ディジタル・アシスタント(PDA)、メディア・プレーヤー等)、マルチプロセッサー・システム、消費者用電子機器、ミニ・コンピューター、メインフレーム・コンピューター、以上のシステムまたはデバイスの内任意のものを含む分散型計算環境等が含まれるが、これらに限定されるのではない。
[0048] 必須ではないが、実施形態は、1つ以上の計算デバイスによって実行される「コンピューター読み取り可能命令」という一般的なコンテキストで説明される。コンピューター読み取り可能命令は、コンピューター読み取り可能媒体(以下で論ずる)によって流通させることができる。コンピューター読み取り可能命令は、関数、オブジェクト、アプリケーション・プログラミング・インターフェース(API)、データー構造等というような、プログラム・モジュールとして実現することができ、特定のタスクを実行するか、または特定の抽象データー型を実装する。通例、コンピューター読み取り可能命令の機能は、種々の環境において所望される通りに、組み合わせることまたは分散させることができる。
[0049] 図7は、本明細書において提供した1つ以上の実施形態を実現するように構成された計算デバイス712を含むシステム710の一例を示す。一構成では、計算デバイス712は少なくとも1つの処理ユニット716とメモリー718とを含む。計算デバイスの正確な構成およびタイプに依存して、メモリー718は、揮発性(例えば、RAMのような)、不揮発性(例えば、ROM、フラッシュ・メモリー等のような)、またはこれら2つの何らかの組み合わせであってもよい。この構成は、図7では破線714によって示される。
[0050] 他の実施形態では、デバイス712は追加の機構(feature)および/または機能を含むこともできる。例えば、デバイス712は、磁気ストレージ、光ストレージ等を含むがこれらに限定されない追加のストレージ(例えば、リムーバブルおよび/または非リムーバブル)も含むことができる。このような追加のストレージは、図7ではストレージ720によって示される。一実施形態では、本明細書において提供した1つ以上の実施形態を実現するコンピューター読み取り可能命令は、ストレージ720内にあってもよい。また、ストレージ720は、オペレーティング・システム、アプリケーション・プログラム等を実現するための他のコンピューター読み取り可能命令も格納することができる。コンピューター読み取り可能命令は、例えば、処理ユニット716による実行のために、メモリー718にロードすることができる。
[0051] 「コンピューター読み取り可能媒体」という用語は、本明細書において使用する場合、コンピューター記憶媒体を含む。コンピューター記憶媒体は、揮発性および不揮発性の、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令または他のデーターのような情報の格納のための任意の方法または技術で実現される。メモリー718およびストレージ720は、コンピューター記憶媒体の例である。コンピューター記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリーまたは他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができデバイス712によってアクセスすることができる任意の他の媒体を含むが、これらに限定されるのではない。このようなコンピューター記憶媒体はいずれも、デバイス712の一部であることができる。
[0052] また、デバイス712は、デバイス712が他のデバイスと通信することを可能にする通信接続(1つまたは複数)726も含むことができる。通信接続(1つまたは複数)726は、モデム、ネットワーク・インターフェース・カード(NIC)、統合ネットワーク・インターフェース、無線周波数送信機/受信機、赤外線ポート、USB接続、または計算デバイス712を他の計算デバイスに接続するための他のインターフェースを含むことができるが、これらに限定されるのではない。通信接続(1つまたは複数)726は、有線接続またはワイヤレス接続を含むことができる。通信接続(1つまたは複数)726は、通信媒体を送信および/または受信することができる。
[0053] 「コンピューター読み取り可能媒体」という用語は、通信媒体を含むことができる。通信媒体は、通例、搬送波のような「変調データー信号」または他の移送メカニズムにコンピューター読み取り可能命令または他のデーターを具体化し、あらゆる情報配信媒体を含む。「変調データー信号」という用語は、この信号に情報をエンコードするような仕方でその特性の1つ以上が設定または変化させられた信号を含むことができる。
[0054] デバイス712は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、赤外線カメラ、ビデオ入力デバイス、および/またはあらゆる他の入力デバイスというような、入力デバイス(1つまたは複数)724を含むことができる。また、1つ以上のディスプレイ、スピーカー、プリンター、および/またはあらゆる他の出力デバイスというような出力デバイス(1つまたは複数)722も、デバイ712に含むことができる。入力デバイス(1つまたは複数)724および出力デバイス(1つまたは複数)722は、有線接続、ワイヤレス接続、またはそのいずれかの組み合わせによって、デバイス712に接続することができる。一実施形態では、他の計算デバイスからの入力デバイスまたは出力デバイスを計算デバイス712の入力デバイス(1つまたは複数)724または出力デバイス(1つまたは複数)722として使用することもできる。
[0055] 計算デバイス712のコンポーネントは、バスのような種々の相互接続によって接続されてもよい。このような相互接続は、PCI Expressのような周辺コンポーネント相互接続(PCI)、ユニバーサル・シリアル・バス(USB)、firewire(IEEE 1394)、光バス構造等を含むことができる。他の実施形態では、計算デバイス712のコンポーネントは、ネットワークによって相互接続されてもよい。例えば、メモリー718は、ネットワークによって相互接続された異なる物理位置に配置された多数の物理メモリー・ユニットで構成されてもよい。
[0056] 当業者は、コンピューター読み取り可能命令を格納するために利用される記憶デバイスをネットワークにわたって分散させてもよいことを認めるであろう。例えば、ネットワーク728を介してアクセス可能な計算デバイス730が、本明細書において提要した1つ以上の実施形態を実現するためのコンピューター読み取り可能命令を格納することもできる。計算デバイス712は、計算デバイス730にアクセスし、実行のために、コンピューター読み取り可能命令の一部または全部をダウンロードすることができる。あるいは、計算デバイス712は、必要に応じて、コンピューター読み取り可能命令の複数の部分(pieces)をダウンロードすることもでき、即ち、一部の命令を計算デバイス712において実行し、一部を計算デバイス730において実行することもできる。
[0057] 実施形態の種々の動作が、本明細書において示された。一実施形態では、説明した動作の1つ以上が、1つ以上のコンピューター読み取り可能媒体上に格納されたコンピューター読み取り可能命令を構成することができ、計算デバイスによって実行されると、この計算デバイスに、説明した動作を実行させる。これらの動作の一部または全部を説明した順序は、これらの動作が必然的に順序に依存することを暗示するように解釈してはならない。この説明の恩恵を得た当業者には、代わりの順序付けも認められよう。更に、本明細書において示した各実施形態において、必ずしも全ての動作があるとは限らないことは理解されよう。
[0058] 更に、「一例の」という単語は、本明細書では例、実例、または例示として供することを意味するために使用されている。本明細書において「一例」として説明した態様または構造(design)はいずれも、他の態様または設計に対して必ずしも有利であるとは解釈されない。むしろ、一例のという単語の使用は、具体的に概念を紹介することを意図している。本願において使用する場合、「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味することを意図している。即ち、別段明示されない限り、または文脈から明らかでない限り、「XはAまたはBを採用する」とは、自然な包含的置換のいずれをも意味することを意図している。即ち、XがAを採用する、XがBを採用する、またはXがAおよびBの双方を採用する場合、以上の場合のいずれにおいても、「XはAまたはBを採用する」が満たされる。加えて、本願および添付する特許請求の範囲において使用する場合、単数形を対象にすることが別段明示されていない限り、または文脈から明らかでない限り、冠詞「a」および「an」は、一般に、「1つ以上」を意味すると解釈することができる。また、AおよびB等(and/or the like)の少なくとも1つは、通常、AまたはBあるいはAおよびB双方を意味する。
[0059] また、本開示は、1つ以上の実施態様に関して示し説明したが、本明細書および添付図面の読解(reading and understanding)に基づいて、同等の変形(alteration)および変更(modification)が当業者には想起されよう。本開示は、このような変更および変形を全て含み、以下の請求項の範囲によってのみ限定されるものとする。特に、以上で説明したコンポーネント(例えば、エレメント、リソース等)によって実行される種々の機能に関して、このようなコンポーネントを説明するために使用された用語は、別段指示されていなければ、説明されたコンポーネントの指定された機能を実行するあらゆるコンポーネント(例えば、機能的に同等なコンポーネント)に対応することを意図しており、本明細書において例示された本開示の実施態様例において当該機能を実行する、開示された構造と構造的に同等でなくてもよい。加えて、本開示の特定的な特徴について、様々な実施態様の内1つだけに関して開示したが、このような特徴は、あらゆる所与のまたは特定の用途に望まれるようにまたは有利になるように、他の実施態様の1つ以上の他の特徴と組み合わせることもできる。更に、「含む」(includes)、「有する」(having, has)、「と」(with)という用語またはこれらの変形が詳細な説明または特許請求の範囲において使用される限りにおいて、このような用語は、「備える」(comprising)という用語と同様に、包含的であることを意図している。

Claims (18)

  1. アプリケーション間通信によってタスク完了を容易にするシステムであって、
    タスク実行コンポーネントを含み、
    前記タスク実行コンポーネントが、
    第一のアプリケーションのコンテンツ内部に含まれるエンティティを識別するステップと、
    前記エンティティに対して実行することができるアクションを提示するステップと、
    前記アクションの選択を受け付けるステップと、
    データー契約レポジトリーから、選択されたアクションを前記エンティティに対して実行することができる少なくとも一つのターゲット・アプリケーションを識別するステップであって、前記データー契約レポジトリーは複数のアプリケーションについての契約を含み、前記アプリケーションについての契約は、前記アプリケーションが対応するエンティティと、前記アプリケーションが対応するエンティティに関連するアクションを含むステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションを提示するステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションの選択を受け付けるステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションの選択を受け付けたことに応答して、前記第一のアプリケーションから選択された前記ターゲット・アプリケーションに、前記エンティティに関連するエンティティ・コンテキストについての情報と、選択された前記アクションに関連するアクション・コンテキストについての情報を送るステップと、
    メトリックスについてのログを維持するステップであって、前記メトリックスについてのログは、アクションが選択された回数、アクションを実行するためにアプリケーションが起動された回数の少なくともいずれか一方についての分析データーを含むステップと、
    前記メトリックスについてのログを第三者アプリケーションに提示するステップと、
    を実行するように構成される、システム。
  2. 請求項1に記載のシステムにおいて、前記タスク実行コンポーネントがオペレーティング・システムのユーザー・インターフェースを含み、前記オペレーティング・システムのユーザー・インターフェースがシェア・チャームを含むシステム。
  3. 請求項1又は2に記載のシステムにおいて、前記タスク実行コンポーネントが、更に、前記エンティティに関連するエンティティ・コンテキストについての情報と、選択された前記アクションに関連するアクション・コンテキストについての情報に基づいて、タスクを遂行するユーザーの意図を判定するステップを、実行するように構成される、システム。
  4. 請求項1〜3のいずれか一項に記載のシステムにおいて、前記アクションが前記第一のアプリケーションに埋め込まれているシステム。
  5. 請求項1〜4のいずれか一項に記載のシステムにおいて、前記タスク実行コンポーネントが、更に、
    前記エンティティに基づいて前記アクションを動的に識別するステップと、
    前記アクションを提示するステップと、
    を実行するように構成される、システム。
  6. 請求項1〜5のいずれか一項に記載のシステムにおいて、前記第一のアプリケーションと選択された前記ターゲット・アプリケーションの少なくともいずれか一方が、ウェブ・ブラウザ、ダウンロード可能なマーケットプレース・アプリケーション、クラウド・アプリケーション、ローカルにインストールされたアプリケーションの少なくともいずれか一つを含む、システム。
  7. 請求項1〜6のいずれか一項に記載のシステムにおいて、前記識別された少なくとも一つのターゲット・アプリケーションを提示するステップは、
    選択された前記ターゲット・アプリケーションが前記エンティティに対して前記アクションを実行できることを明記する、前記タスク実行コンポーネントと選択された前記ターゲット・アプリケーションとの間のデーター契約に基づいて、選択された前記ターゲット・アプリケーションが前記エンティティに対して選択された前記アクションを実行できるか判断するステップを、
    含むシステム。
  8. 請求項1〜7のいずれか一項に記載のシステムにおいて、前記タスク実行コンポーネントが、更に、実行中のアプリケーションと並べて表示することができるオーバーレイ・インターフェース内で、選択された前記ターゲット・アプリケーションを起動するように構成される、システム。
  9. 請求項1〜8のいずれか一項に記載のシステムにおいて、前記タスク実行コンポーネントが、更に、オペレーティング・システムの通信モデルを利用し、選択された前記ターゲット・アプリケーションに、前記エンティティに関連するエンティティ・コンテキストについての情報と、選択された前記アクションに関連するアクション・コンテキストについての情報を送るように構成される、システム。
  10. 請求項1〜9のいずれか一項に記載のシステムにおいて、分析コンポーネントを更に含み、前記分析コンポーネントは、
    エンティティ・アクション・ログ内にエントリーを生成するステップであって、前記エントリーが、前記アクションが前記ターゲット・アプリケーションによって前記エンティティに対して実行されたことを明記する、ステップと、
    前記エンティティ・アクション・ログを第三者アプリケーションに提示するステップと、
    を実行するように構成される、システム。
  11. 請求項1〜10のいずれか一項に記載のシステムにおいて、契約コンポーネントを更に含み、前記契約コンポーネントは、第三者アプリケーションが前記エンティティに対して前記アクションを実行できることを明記する、前記タスク実行コンポーネントと第三者アプリケーションとの間のデーター契約を生成するステップを、実行するように構成される、システム。
  12. 請求項1〜11のいずれか一項に記載のシステムにおいて、前記タスク実行コンポーネントが、更に、
    選択された前記ターゲット・アプリケーションについてのバック・コマンドを受け取るステップと、
    選択された前記ターゲット・アプリケーションから、前記第一のアプリケーションと1つ以上のターゲット・アプリケーションを識別できるタスク・インターフェースの少なくともいずれか一方に移行するステップと、
    を実行するように構成される、システム。
  13. 請求項1〜12のいずれか一項に記載のシステムにおいて、前記識別された少なくとも一つのターゲット・アプリケーションを提示するステップは、前記エンティティと前記エンティティに関連するアクションに対応する前記識別された少なくとも一つのターゲット・アプリケーションの中から提示する、システム。
  14. 請求項1〜13のいずれか一項に記載のシステムにおいて、定義コンポーネントを更に含み、前記定義コンポーネントは、
    前記エンティティに関連するエンティティ・コンテキストについての情報を生成するために用いられる前記エンティティに対するエンティティ定義を生成し、前記エンティティ定義はエンティティを定義するための1つ以上のエンティティ・パラメータを含み、前記エンティティ・パラメータは前記エンティティに対して前記アクションを実行できることを明記するステップと、
    選択された前記アクションに関連するアクション・コンテキストについての情報を生成するために用いられる前記アクションに対するアクション定義を生成し、前記アクション定義はアクションを定義するための1つ以上のアクション・パラメータを含み、前記アクション・パラメータは前記アクションを実行するために用いられる情報を明記するステップと、
    を実行するように構成される、システム。
  15. アプリケーション間通信によってタスク完了を容易にする方法であって、
    第一のアプリケーションのコンテンツ内部に含まれるエンティティを識別するステップと、
    前記エンティティに対して実行することができるアクションを提示するステップと、
    前記アクションの選択を受け付けるステップと、
    データー契約レポジトリーから、選択されたアクションを前記エンティティに対して実行することができる少なくとも一つのターゲット・アプリケーションを識別するステップであって、前記データー契約レポジトリーは複数のアプリケーションについての契約を含み、前記アプリケーションについての契約は、前記アプリケーションが対応するエンティティと、前記アプリケーションが対応するエンティティに関連するアクションを含むステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションを提示するステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションの選択を受け付けるステップと、
    前記識別された少なくとも一つのターゲット・アプリケーションの選択を受け付けたことに応答して、前記第一のアプリケーションから選択された前記ターゲット・アプリケーションに、前記エンティティに関連するエンティティ・コンテキストについての情報と、選択された前記アクションに関連するアクション・コンテキストについての情報を送るステップと、
    メトリックスについてのログを維持するステップであって、前記メトリックスについてのログは、アクションが選択された回数、アクションを実行するためにアプリケーションが起動された回数の少なくともいずれか一方についての分析データーを含むステップと、
    前記メトリックスについてのログを第三者アプリケーションに提示するステップと、
    含む方法。
  16. 請求項15に記載の方法において、前記識別された少なくとも一つのターゲット・アプリケーションを提示するステップは、
    選択された前記ターゲット・アプリケーションが前記エンティティに対して前記アクションを実行できることを明記する、選択された前記ターゲット・アプリケーションとの間のデーター契約に基づいて、選択された前記ターゲット・アプリケーションが前記エンティティに対して選択された前記アクションを実行できるか判断するステップを、
    含む方法。
  17. 請求項15又は16に記載の方法を実行するためのプログラム。
  18. 請求項15又は16に記載の方法を実行するためのプログラムを記録した記録媒体。
JP2015548021A 2012-12-13 2013-12-13 アプリケーション間通信によるタスク完了 Active JP6263199B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/713,375 US10528385B2 (en) 2012-12-13 2012-12-13 Task completion through inter-application communication
US13/713,375 2012-12-13
PCT/US2013/075182 WO2014093929A1 (en) 2012-12-13 2013-12-13 Task completion through inter-application communication

Publications (3)

Publication Number Publication Date
JP2016506568A JP2016506568A (ja) 2016-03-03
JP2016506568A5 JP2016506568A5 (ja) 2017-01-26
JP6263199B2 true JP6263199B2 (ja) 2018-01-17

Family

ID=49956361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015548021A Active JP6263199B2 (ja) 2012-12-13 2013-12-13 アプリケーション間通信によるタスク完了

Country Status (7)

Country Link
US (3) US10528385B2 (ja)
EP (1) EP2932385A1 (ja)
JP (1) JP6263199B2 (ja)
KR (2) KR102251597B1 (ja)
CN (2) CN104919424B (ja)
HK (1) HK1215081A1 (ja)
WO (1) WO2014093929A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313162B2 (en) 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US10013496B2 (en) 2014-06-24 2018-07-03 Google Llc Indexing actions for resources
US10511501B2 (en) * 2014-11-06 2019-12-17 Shimadzu Corporation Analyzing device system and program for the system
US10192549B2 (en) 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
US10762143B2 (en) * 2015-02-13 2020-09-01 Microsoft Technology Licensing, Llc Extension of third party application functionality for intent determination
US10078482B2 (en) * 2015-11-25 2018-09-18 Samsung Electronics Co., Ltd. Managing display of information on multiple devices based on context for a user task
ITUB20159753A1 (it) * 2015-12-30 2017-06-30 Qayzen Srl Sistema per l?esecuzione integrata ed interoperativa di applicazioni diverse ed indipendenti
US20170289338A1 (en) * 2016-03-31 2017-10-05 Microsoft Technology Licensing, Llc Enabling stateful dynamic links in mobile applications
EP4324393A3 (en) * 2016-03-31 2024-05-15 DexCom, Inc. Systems and methods for inter-app communications
CN107291744A (zh) 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 确定及运用应用程序之间的关系关联的方法及装置
US10409876B2 (en) * 2016-05-26 2019-09-10 Microsoft Technology Licensing, Llc. Intelligent capture, storage, and retrieval of information for task completion
US10929782B2 (en) 2016-06-11 2021-02-23 Apple Inc. Integrating restaurant reservation services into a navigation application
US10503767B2 (en) * 2016-09-13 2019-12-10 Microsoft Technology Licensing, Llc Computerized natural language query intent dispatching
US10733553B2 (en) * 2016-09-15 2020-08-04 Microsoft Technology Licensing, Llc Action item extraction for work item creation
US10853747B2 (en) * 2016-10-03 2020-12-01 Google Llc Selection of computational agent for task performance
US10311856B2 (en) 2016-10-03 2019-06-04 Google Llc Synthesized voice selection for computational agents
US11663535B2 (en) 2016-10-03 2023-05-30 Google Llc Multi computational agent performance of tasks
US10839325B2 (en) 2016-11-06 2020-11-17 Microsoft Technology Licensing, Llc Efficiency enhancements in task management applications
US10565274B2 (en) * 2017-06-30 2020-02-18 Microsoft Technology Licensing, Llc Multi-application user interest memory management
US11410075B2 (en) * 2018-01-15 2022-08-09 Microsoft Technology Licensing, Llc Contextually-aware recommendations for assisting users with task completion
US20200203012A1 (en) 2018-12-19 2020-06-25 Dexcom, Inc. Intermittent monitoring

Family Cites Families (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL132968C (ja) 1963-02-21
US6951019B1 (en) 1992-09-30 2005-09-27 Apple Computer, Inc. Execution control for processor tasks
US5394549A (en) 1992-12-17 1995-02-28 International Business Machines Corporation Task spawning responsive to relational database conditions and operations
US5878258A (en) 1996-05-06 1999-03-02 Merrill Lynch, Pierce, Fenner & Smith Seamless application interface manager
EP0991453A1 (en) 1998-04-16 2000-04-12 Creator Ltd. Interactive toy
JP2000029945A (ja) 1998-07-08 2000-01-28 Nec Corp スケジュール管理システム及びそのスケジュール管理方法並びにその制御プログラムを記録した記録媒体
US8041604B1 (en) 1999-03-16 2011-10-18 Studebaker & Brackett PC Method of embedding advertisements in communication
US7035901B1 (en) 1999-12-06 2006-04-25 Global Media Online, Inc. SMTP server, POP server, mail server, mail processing system and web server
US6993559B2 (en) 2000-02-14 2006-01-31 Bigbow.Com, Inc. System, method, apparatus and computer program product for operating a web site by electronic mail
US6898622B1 (en) 2000-05-04 2005-05-24 Bellsouth Intellectual Property Corp. Method for composing packages of electronic mail attachments
AU2001278148A1 (en) 2000-08-01 2002-02-13 Hrl Laboratories, Llc Apparatus and method for context-sensitive dynamic information service
JP2003345764A (ja) 2002-05-27 2003-12-05 Hitachi Ltd 備忘録端末及び備忘録管理方法
US7016855B2 (en) 2002-05-31 2006-03-21 Motorola, Inc. Method and apparatus for managing a task list using location based filtering
US20040059712A1 (en) 2002-09-24 2004-03-25 Dean Jeffrey A. Serving advertisements using information associated with e-mail
US8311890B2 (en) 2002-11-01 2012-11-13 Google Inc. Method and system for dynamic textual ad distribution via email
US8561069B2 (en) 2002-12-19 2013-10-15 Fujitsu Limited Task computing
US7543237B2 (en) 2003-03-19 2009-06-02 Accenture Global Servicecs Gmbh Dynamic collaboration assistant
US9256753B2 (en) 2003-06-11 2016-02-09 Microsoft Technology Licensing, Llc Method and apparatus for protecting regions of an electronic document
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7245483B2 (en) 2003-07-18 2007-07-17 Satori Labs, Inc. Integrated personal information management system
US7730182B2 (en) * 2003-08-25 2010-06-01 Microsoft Corporation System and method for integrating management of components of a resource
GB0321213D0 (en) 2003-09-10 2003-10-08 British Telecomm Diary management method and system
US20050108074A1 (en) 2003-11-14 2005-05-19 Bloechl Peter E. Method and system for prioritization of task items
US20050132010A1 (en) 2003-12-12 2005-06-16 International Business Machines Corporation Scheduled electronic mail deletions
US7363294B2 (en) 2003-12-19 2008-04-22 Fuji Xerox Co., Ltd. Indexing for contextual revisitation and digest generation
US7349920B1 (en) 2004-02-13 2008-03-25 Microsoft Corporation Simultaneous display of multiple calendar systems
US7496500B2 (en) 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
CN101006425A (zh) * 2004-03-10 2007-07-25 汉德马克公司 数据访问架构
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US20050262449A1 (en) * 2004-05-03 2005-11-24 Microsoft Corporation Online service switching and customizations
US20050268306A1 (en) 2004-05-25 2005-12-01 Anspach Mark S Method and system for presenting actions associated with a managed object in a task context
US20050267770A1 (en) 2004-05-26 2005-12-01 International Business Machines Corporation Methods and apparatus for performing task management based on user context
US8640035B2 (en) 2004-06-24 2014-01-28 Oracle America, Inc. Identity based user interface
US7685414B1 (en) 2004-08-27 2010-03-23 Voltage Security, Inc. Subscription management service for secure messaging system
US8185427B2 (en) 2004-09-22 2012-05-22 Samsung Electronics Co., Ltd. Method and system for presenting user tasks for the control of electronic devices
US20060069599A1 (en) 2004-09-29 2006-03-30 Microsoft Corporation Workflow tasks in a collaborative application
US7603381B2 (en) * 2004-09-30 2009-10-13 Microsoft Corporation Contextual action publishing
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
US7788589B2 (en) 2004-09-30 2010-08-31 Microsoft Corporation Method and system for improved electronic task flagging and management
US20060149677A1 (en) 2005-01-06 2006-07-06 Microsoft Corporation Contextual ad processing on local machine
US8069422B2 (en) 2005-01-10 2011-11-29 Samsung Electronics, Co., Ltd. Contextual task recommendation system and method for determining user's context and suggesting tasks
US7233229B2 (en) 2005-03-01 2007-06-19 Microsoft Corporation Actionable communication reminders
EP1861778B1 (en) 2005-03-10 2017-06-21 Solarflare Communications Inc Data processing system
FI20055111A0 (fi) 2005-03-11 2005-03-11 Nokia Corp Informaation muodostaminen elektronisen laitteen kalanterisovellukselle
US7817796B1 (en) 2005-04-27 2010-10-19 Avaya Inc. Coordinating work assignments for contact center agents
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US20080086640A1 (en) 2005-07-28 2008-04-10 Jmj Software, Llc Systems, methods and apparatus of an email client
US20070027732A1 (en) 2005-07-28 2007-02-01 Accu-Spatial, Llc Context-sensitive, location-dependent information delivery at a construction site
US20070157105A1 (en) 2006-01-04 2007-07-05 Stephen Owens Network user database for a sidebar
US8185944B2 (en) 2006-02-28 2012-05-22 The Boeing Company High-assurance file-driven content filtering for secure network server
US8744885B2 (en) 2006-03-28 2014-06-03 Snowflake Itm, Inc. Task based organizational management system and method
US20080005108A1 (en) 2006-06-28 2008-01-03 Microsoft Corporation Message mining to enhance ranking of documents for retrieval
US20080005168A1 (en) 2006-06-30 2008-01-03 Microsoft Corporation Managing family information
US7548895B2 (en) 2006-06-30 2009-06-16 Microsoft Corporation Communication-prompted user assistance
US8219920B2 (en) 2006-08-04 2012-07-10 Apple Inc. Methods and systems for managing to do items or notes or electronic messages
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008062445A2 (en) 2006-09-14 2008-05-29 Bhavin Turakhia Method for tracking user behavior and to display advertisements
US8594702B2 (en) 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
WO2008084209A2 (en) 2007-01-09 2008-07-17 Spinvox Limited A mobile telephone programmed to allow a user to speak a message which is then remotely automatically converted to text
US20080256056A1 (en) 2007-04-10 2008-10-16 Yahoo! Inc. System for building a data structure representing a network of users and advertisers
US9292807B2 (en) 2007-05-10 2016-03-22 Microsoft Technology Licensing, Llc Recommending actions based on context
JP2009026138A (ja) 2007-07-20 2009-02-05 Toshiba Corp 情報通知装置、方法およびプログラム
US8645182B2 (en) 2007-10-02 2014-02-04 International Business Machines Corporation Integrated calendar and task scheduler
US8146104B2 (en) 2007-10-09 2012-03-27 International Business Machines Corporation System and method for programmatically generating to-do list and creating notification between calendar and other applications
US20090111425A1 (en) 2007-10-26 2009-04-30 Sony Eriscsson Mobile Communications Ab Device and method for category based collaboration and control for mobile communications devices
US20090239552A1 (en) 2008-03-24 2009-09-24 Yahoo! Inc. Location-based opportunistic recommendations
US20090254824A1 (en) * 2008-04-08 2009-10-08 Gurvinder Singh Distribution Of Context Aware Content And Interactable Advertisements
US8219115B1 (en) 2008-05-12 2012-07-10 Google Inc. Location based reminders
JP5549588B2 (ja) 2008-07-25 2014-07-16 日本電気株式会社 電子付箋システム
US20100031198A1 (en) * 2008-07-30 2010-02-04 Michael Zimmerman Data-Oriented User Interface for Mobile Device
US8201176B2 (en) 2008-08-06 2012-06-12 International Business Machines Corporation Detecting the starting and ending of a task when thread pooling is employed
US8504001B2 (en) 2008-08-12 2013-08-06 Apple Inc. Unified settings for multiple account types
US8560371B2 (en) 2008-09-26 2013-10-15 Microsoft Corporation Suggesting things to do during time slots in a schedule
JP4990258B2 (ja) 2008-11-14 2012-08-01 株式会社日立製作所 支援情報提示装置、支援情報提示方法及び支援情報提示プログラム
US8434053B2 (en) 2008-11-26 2013-04-30 Red Hat, Inc. Package review process workflow
US20100257015A1 (en) 2009-04-01 2010-10-07 National Information Solutions Cooperative, Inc. Graphical client interface resource and work management scheduler
US9008631B2 (en) 2009-05-01 2015-04-14 T-Mobile Usa, Inc. Providing context information during voice communications between mobile devices, such as providing visual media
US20100287320A1 (en) 2009-05-06 2010-11-11 Lsi Corporation Interprocessor Communication Architecture
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8626133B2 (en) 2009-08-19 2014-01-07 Cisco Technology, Inc. Matching a location of a contact with a task location
NZ581850A (en) 2009-08-27 2011-12-22 Eyemagnet Ltd Informational content scheduling system and method
US9460422B2 (en) 2009-11-20 2016-10-04 Sears Brands, L.L.C. Systems and methods for managing to-do list task items to automatically suggest and add purchasing items via a computer network
TWI588760B (zh) 2009-11-30 2017-06-21 萬國商業機器公司 關聯連絡資訊之工作管理系統及其方法
US20110145823A1 (en) 2009-12-10 2011-06-16 The Go Daddy Group, Inc. Task management engine
US8543527B2 (en) * 2010-01-08 2013-09-24 Oracle International Corporation Method and system for implementing definable actions
AU2011224641B2 (en) 2010-03-08 2014-10-09 VMware LLC Task-based access control in a virtualization environment
US9356790B2 (en) 2010-05-04 2016-05-31 Qwest Communications International Inc. Multi-user integrated task list
US8904274B2 (en) 2010-05-14 2014-12-02 Xerox Corporation In-situ mobile application suggestions and multi-application updates through context specific analytics
US20110313803A1 (en) 2010-06-22 2011-12-22 Microsoft Corporation Social Task Lists
US8381088B2 (en) 2010-06-22 2013-02-19 Microsoft Corporation Flagging, capturing and generating task list items
US8375320B2 (en) 2010-06-22 2013-02-12 Microsoft Corporation Context-based task generation
JP5655392B2 (ja) 2010-06-23 2015-01-21 富士ゼロックス株式会社 印刷画像処理装置及びプログラム
US8854318B2 (en) 2010-09-01 2014-10-07 Nokia Corporation Mode switching
US9189549B2 (en) * 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
US9251268B2 (en) 2010-12-01 2016-02-02 Microsoft Technology Licensing, Llc Automated target specific format conversion of context information from a user query
US9805022B2 (en) 2010-12-09 2017-10-31 Apple Inc. Generation of topic-based language models for an app search engine
US9015140B2 (en) * 2010-12-30 2015-04-21 Yahoo! Inc. System and method for providing contextual actions on a search results page
US9858092B2 (en) * 2011-01-06 2018-01-02 Mitel Networks Corporation Contextual application launch via search query
JP5799512B2 (ja) 2011-01-31 2015-10-28 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
AU2012220669A1 (en) * 2011-02-22 2013-05-02 Visa International Service Association Universal electronic payment apparatuses, methods and systems
US9026942B2 (en) * 2011-02-25 2015-05-05 Cbs Interactive Inc. Song lyric processing with user interaction
US20120221384A1 (en) * 2011-02-28 2012-08-30 Qualcomm Innovation Center, Inc. System, method, and apparatus for organizing and distributing apps
US9262057B2 (en) * 2011-03-11 2016-02-16 Microsoft Techology Licensing, Llc Providing item specific functionality via service-assisted applications
US8766793B2 (en) 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
US20120253916A1 (en) 2011-04-01 2012-10-04 Yahoo! Inc. Delivering ad-initiated emails to a user's visual email inbox to provide access to content
US20120278120A1 (en) 2011-04-29 2012-11-01 Siemens Product Lifecycle Management Software Inc. Cross-schedule dependencies using proxy tasks
US8949275B1 (en) 2011-04-29 2015-02-03 Google Inc. Inter-application to do list management
US8943514B2 (en) * 2011-04-30 2015-01-27 Samsung Electronics Co., Ltd. Middle partners
US8762360B2 (en) * 2011-05-06 2014-06-24 Microsoft Corporation Integrating applications within search results
US8818994B2 (en) * 2011-06-27 2014-08-26 Bmc Software, Inc. Mobile service context
US20130006689A1 (en) 2011-06-29 2013-01-03 Foliovision S.R.O. Methods, software, and systems for maintaining a single hierarchy of tasks across multiple projects and/or multiple task management tools
CN102253860A (zh) 2011-07-13 2011-11-23 深圳市万兴软件有限公司 一种异步操作方法及异步操作管理装置
US10192176B2 (en) 2011-10-11 2019-01-29 Microsoft Technology Licensing, Llc Motivation of task completion and personalization of tasks and lists
US8812416B2 (en) * 2011-11-08 2014-08-19 Nokia Corporation Predictive service for third party application developers
US8930473B2 (en) * 2012-02-20 2015-01-06 Powerinbox, Inc Application platform for electronic mail
US9811850B2 (en) 2012-04-08 2017-11-07 Microsoft Technology Licensing, Llc User task completion via open market of actions and/or providers
US20130275429A1 (en) 2012-04-12 2013-10-17 Graham York System and method for enabling contextual recommendations and collaboration within content
US8751493B2 (en) * 2012-04-23 2014-06-10 Google Inc. Associating a file type with an application in a network storage service
US9658872B1 (en) 2012-05-03 2017-05-23 Juniper Networks, Inc. Maintaining user identity associated with access to network resources using virtual machines
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US20130311285A1 (en) 2012-05-18 2013-11-21 Microsoft Corporation Apps in advertisements
US9111291B2 (en) 2012-06-19 2015-08-18 Yahoo! Inc. System and method for providing sponsored applications in email
US20130346981A1 (en) 2012-06-21 2013-12-26 Sony Network Entertainment International Llc Task management application for mobile devices
US20130346247A1 (en) * 2012-06-22 2013-12-26 Cullen E. Bash Recommending Options Based on Sustainability Metrics
US8990143B2 (en) 2012-06-29 2015-03-24 Intel Corporation Application-provided context for potential action prediction
US9626637B2 (en) 2012-09-18 2017-04-18 Salesforce.Com, Inc. Method and system for managing business deals
US20140082521A1 (en) 2012-09-20 2014-03-20 Handle, Inc. Email and task management services and user interface
US9477945B2 (en) 2012-09-27 2016-10-25 Oracle International Corporation Task-centered context management
US9313162B2 (en) 2012-12-13 2016-04-12 Microsoft Technology Licensing, Llc Task completion in email using third party app
US20140173602A1 (en) 2012-12-14 2014-06-19 Microsoft Corporation Matching Opportunity to Context
EP2973315A4 (en) 2013-03-15 2016-11-16 Adityo Prakash SYSTEMS AND METHODS FOR FACILITATING INTEGRATED BEHAVIORAL SUPPORT
US10535043B2 (en) 2013-06-10 2020-01-14 Microsoft Technology Licensing, Llc Navigating a calendar
US9483565B2 (en) 2013-06-27 2016-11-01 Google Inc. Associating a task with a user based on user selection of a query suggestion
US20150095268A1 (en) 2013-10-02 2015-04-02 Apple Inc. Intelligent multi-user task planning
US20150120577A1 (en) 2013-10-04 2015-04-30 Clique Intelligence Systems and methods for enterprise management using contextual graphs
US9706007B2 (en) 2013-10-17 2017-07-11 Blue Syntax Consulting LLC System and method for querying disparate data sources in real time
US20150118672A1 (en) 2013-10-24 2015-04-30 Google Inc. System and method for learning management
WO2015127404A1 (en) 2014-02-24 2015-08-27 Microsoft Technology Licensing, Llc Unified presentation of contextually connected information to improve user efficiency and interaction performance
US20150269508A1 (en) 2014-03-18 2015-09-24 Mckesson Financial Holdings Method And Apparatus For Configuring A Task List
US9911088B2 (en) 2014-05-01 2018-03-06 Microsoft Technology Licensing, Llc Optimizing task recommendations in context-aware mobile crowdsourcing
US20160086116A1 (en) 2014-07-27 2016-03-24 Supriya Rao Method and system of an automatically managed calendar and contextual task list
US20160071064A1 (en) 2014-09-06 2016-03-10 Sugarcrm Inc. Context driven task creation and management
US9832149B2 (en) 2014-09-30 2017-11-28 Microsoft Technology Licensing, Llc Treatment of cloud-based and local attachments in communication applications
US9811791B2 (en) 2014-12-23 2017-11-07 Sap Se Personalized work planning based on self-optimizing role-based crowd-sourced information
US10872111B2 (en) 2015-01-14 2020-12-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd User generated data based map search
US10824636B2 (en) 2015-05-27 2020-11-03 Kaseya International Limited Mechanisms for querying disparate data storage systems
US20160379175A1 (en) 2015-06-23 2016-12-29 Mayukh Bhattacharya System and Method for Automated Optimized Personal Task Scheduling and Targeted Advertising
US10607498B2 (en) 2015-12-31 2020-03-31 Dropbox, Inc. Releasing assignments to students
US10839325B2 (en) 2016-11-06 2020-11-17 Microsoft Technology Licensing, Llc Efficiency enhancements in task management applications

Also Published As

Publication number Publication date
KR102146592B1 (ko) 2020-08-20
CN104919424B (zh) 2019-01-11
CN110083458A (zh) 2019-08-02
US11347540B2 (en) 2022-05-31
CN110083458B (zh) 2023-11-28
US10528385B2 (en) 2020-01-07
JP2016506568A (ja) 2016-03-03
US20200065139A1 (en) 2020-02-27
US20220269529A1 (en) 2022-08-25
US20140173625A1 (en) 2014-06-19
HK1215081A1 (zh) 2016-08-12
KR102251597B1 (ko) 2021-05-12
KR20200099619A (ko) 2020-08-24
KR20150095672A (ko) 2015-08-21
EP2932385A1 (en) 2015-10-21
WO2014093929A1 (en) 2014-06-19
CN104919424A (zh) 2015-09-16

Similar Documents

Publication Publication Date Title
JP6263199B2 (ja) アプリケーション間通信によるタスク完了
US9807155B1 (en) Device capability filtering
US20150278370A1 (en) Task completion for natural language input
US20120124061A1 (en) Rich Search Over and Deep Integration with Applications
US20120124062A1 (en) Application Transfer Protocol
US20140172412A1 (en) Action broker
CN104350497B (zh) 通过开放的动作和/或提供者市场实现的用户任务完成
US20140358958A1 (en) Surfacing direct app actions
US20120166522A1 (en) Supporting intelligent user interface interactions
JP5985517B2 (ja) クロスプラットフォームサービス通知
US10878392B2 (en) Control and access of digital files for three dimensional model printing
CN106415499B (zh) 应用实现的上下文切换
US10223723B1 (en) Managing transaction state data
WO2018080944A1 (en) Systems and methods for app query driven results
US20150341463A1 (en) Client-side flight version acquisition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

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: 20171116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171215

R150 Certificate of patent or registration of utility model

Ref document number: 6263199

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250