(57)【要約】  モバイルコンピューティングデバイスのユーザ体験においてアプリケーションと関連付けられた、個々の必要性に応じたアクション可能なアイテムを表面化させるためのシステム及び方法が開示される。方法は、アプリケーションと関連付けられたイベントを決定することと、複数のアクション可能なアイテムを含むアクションライブラリを決定することと、アクションライブラリから、イベントに基づいて、１つ以上のアプリケーションと関連付けられた１つ以上のアクション可能なアイテムを識別することと、１つ以上のアクション可能なアイテムに基づいて、アクションメニューを生成することであって、アクションメニューが、１つ以上のアクション可能なアイテムを実施するためのディープリンクを含む、生成することと、イベントに応答して、アプリケーションと関連するアクションメニューを提示することと、を含む。
2020526833.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
１つ以上のプロセッサを使用して、第１のアプリケーションと関連付けられたイベントを決定することと、
前記１つ以上のプロセッサを使用して、複数のアクション可能なアイテムを含むアクションライブラリを決定することと、
前記１つ以上のプロセッサを使用して、前記アクションライブラリから、前記イベントに基づいて、前記第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを識別することと、
前記１つ以上のプロセッサを使用して、前記第１のアクション可能なアイテムに基づいて、第１のアクションメニューを生成することであって、前記第１のアクションメニューが、前記第１のアクション可能なアイテムを実施するための第１のディープリンクを含む、生成することと、
前記１つ以上のプロセッサを使用して、前記イベントに応答して、前記第１のアプリケーションと関連する前記第１のアクションメニューを提示することと、を含む、コンピュータ実装方法。
【請求項２】
前記アクションライブラリを決定することが、
アプリケーション及び前記アプリケーションと関連付けられたパラメータを識別することと、
前記アプリケーションと関連付けられたアプリケーションプログラミングインターフェースと接続することと、
前記アプリケーションプログラミングインターフェースを介してアクセス可能な前記アプリケーションの機能を決定することと、
前記機能を実施することと関連付けられたアプリケーションプログラミングインターフェース呼び出しを決定することと、
前記アプリケーションプログラミングインターフェース呼び出し及び前記パラメータを使用して、前記アプリケーションのためのアクション可能なアイテムを生成することと、
前記アクション可能なアイテムのカテゴリを分類することと、
前記アクション可能なアイテム及び前記アクション可能なアイテムの前記カテゴリを前記アクションライブラリ内に記憶することと、を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記第１のアプリケーションと関連付けられた前記イベントが、アプリケーションランチャー内の前記第１のアプリケーションの長時間の選択であり、前記第１のアクションメニューを生成することが、
前記第１のアプリケーションのカテゴリを決定することと、
前記アクションライブラリから、第２のアクション可能なアイテムのアクションカテゴリに一致する前記第１のアプリケーションの前記カテゴリに基づいて、第２のアプリケーションと関連付けられた前記第２のアクション可能なアイテムを識別することと、
前記第１のアクションメニューに前記第２のアクション可能なアイテムを追加することであって、前記第１のアクションメニューが、前記第２のアクション可能なアイテムを実施するための第２のディープリンクを含む、追加することと、
前記長時間の選択に応答して、前記第１のアプリケーションと関連する前記第１のアクションメニューを提示することと、を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記第１のアプリケーションと関連付けられた着信通知を検出することと、
前記着信通知のコンテキストを決定することと、
前記アクションライブラリから、前記コンテキストに基づいて、第２のアプリケーションと関連付けられた第２のアクション可能なアイテムを識別することと、
前記第２のアクション可能なアイテムに基づいて、第２のアクションメニューを生成することであって、前記第２のアクションメニューが、前記第２のアクション可能なアイテムを実施するためのディープリンクを含む、生成することと、
前記着信通知と関連する前記第２のアクションメニューを提示することと、を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
モバイルコンピューティングデバイスから信号ストリームを受信することと、
前記信号ストリームを処理することと、
前記処理された信号ストリームに基づいて、ユーザ活動及び前記ユーザ活動のコンテキストを検出することと、
前記アクションライブラリから、前記コンテキストに基づいて、第３のアプリケーションと関連付けられた第３のアクション可能なアイテムを識別することと、
前記第３のアクション可能なアイテムに基づいて、第３のアクションメニューを生成することであって、前記第３のアクションメニューが、前記第３のアクション可能なアイテムを実施するための第３のリンクを含む、生成することと、を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記検出されたユーザ活動の持続時間が所定の閾値を満たすか否かを決定することと、
前記検出されたユーザ活動の前記持続時間が前記所定の閾値を満たすと決定することに応答して、前記第３のアクションメニューを表面化させる通知を生成し、前記検出されたユーザ活動と関連する前記通知を提示することと、を更に含む、請求項５に記載のコンピュータ実装方法。
【請求項７】
前記第３のアクションメニューを生成することが、
前記第３のアプリケーションが前記モバイルコンピューティングデバイス上にロードされているか否かを決定することと、
前記第３のアプリケーションが前記モバイルコンピューティングデバイス上にロードされていないと決定することに応答して、前記モバイルコンピューティングデバイス上に前記第３のアプリケーションをロードするための第４のリンクを含むように前記第３のアクションメニューを生成することと、を更に含む、請求項５に記載のコンピュータ実装方法。
【請求項８】
前記第１のアクションメニュー内の前記第１のアクション可能なアイテムのユーザ選択を受信することと、
二次アクション画面を生成することと、
前記ユーザ選択に応答して、前記二次アクション画面を提示することと、
前記第１のアクション可能なアイテムのアクションを遂行するためのユーザ入力を受信することと、
前記第１のアクション可能なアイテムの前記アクションを実施することと、を更に含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
前記第１のアクション可能なアイテムの前記アクションが、前記第１のアプリケーションを起動せずに実施される、請求項８に記載のコンピュータ実装方法。
【請求項１０】
システムであって、
１つ以上のプロセッサと、
メモリと、を備え、前記メモリが命令を記憶し、前記命令は、実行されると、前記１つ以上のプロセッサに、
第１のアプリケーションと関連付けられたイベントを決定することと、
複数のアクション可能なアイテムを含むアクションライブラリを決定することと、
前記アクションライブラリから、前記イベントに基づいて、前記第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを識別することと、
前記第１のアクション可能なアイテムに基づいて、第１のアクションメニューを生成することであって、前記第１のアクションメニューが、前記第１のアクション可能なアイテムを実施するための第１のディープリンクを含む、生成することと、
前記イベントに応答して、前記第１のアプリケーションと関連する前記第１のアクションメニューを提示することと、を行わせる、システム。
【請求項１１】
前記アクションライブラリを決定するために、前記命令は、前記１つ以上のプロセッサに、
アプリケーション及び前記アプリケーションと関連付けられたパラメータを識別することと、
前記アプリケーションと関連付けられたアプリケーションプログラミングインターフェースと接続することと、
前記アプリケーションプログラミングインターフェースを介してアクセス可能な前記アプリケーションの機能を決定することと、
前記機能を実施することと関連付けられたアプリケーションプログラミングインターフェース呼び出しを決定することと、
前記アプリケーションプログラミングインターフェース呼び出し及び前記パラメータを使用して、前記アプリケーションのためのアクション可能なアイテムを生成することと、
前記アクション可能なアイテムのカテゴリを分類することと、
前記アクション可能なアイテム及び前記アクション可能なアイテムの前記カテゴリを前記アクションライブラリ内に記憶することと、を更に行わせる、請求項１０に記載のシステム。
【請求項１２】
前記第１のアクションメニューを生成するために、前記命令は、前記１つ以上のプロセッサに、
前記第１のアプリケーションのカテゴリを決定することと、
前記アクションライブラリから、第２のアクション可能なアイテムのアクションカテゴリに一致する前記第１のアプリケーションの前記カテゴリに基づいて、第２のアプリケーションと関連付けられた前記第２のアクション可能なアイテムを識別することと、
前記第１のアクションメニューに前記第２のアクション可能なアイテムを追加することであって、前記第１のアクションメニューが、前記第２のアクション可能なアイテムを実施するための第２のディープリンクを含む、追加することと、
イベントに応答して、前記第１のアプリケーションと関連する前記第１のアクションメニューを提示することであって、前記イベントが、アプリケーションランチャー内の前記第１のアプリケーションの長時間の選択である、提示することと、を更に行わせる、請求項１０に記載のシステム。
【請求項１３】
前記命令は、前記１つ以上のプロセッサに、
前記第１のアプリケーションと関連付けられた着信通知を検出することと、
前記着信通知のコンテキストを決定することと、
前記アクションライブラリから、前記コンテキストに基づいて、第２のアプリケーションと関連付けられた第２のアクション可能なアイテムを識別することと、
前記第２のアクション可能なアイテムに基づいて、第２のアクションメニューを生成することであって、前記第２のアクションメニューが、前記第２のアクション可能なアイテムを実施するためのディープリンクを含む、生成することと、
前記着信通知と関連する前記第２のアクションメニューを提示することと、を更に行わせる、請求項１０に記載のシステム。
【請求項１４】
前記命令が、前記１つ以上のプロセッサに、
モバイルコンピューティングデバイスから信号ストリームを受信することと、
前記信号ストリームを処理することと、
前記処理された信号ストリームに基づいて、ユーザ活動及び前記ユーザ活動のコンテキストを検出することと、
前記アクションライブラリから、前記コンテキストに基づいて、第３のアプリケーションと関連付けられた第３のアクション可能なアイテムを識別することと、
前記第３のアクション可能なアイテムに基づいて、第３のアクションメニューを生成することであって、前記第３のアクションメニューが、前記第３のアクション可能なアイテムを実施するための第３のリンクを含む、生成することと、を更に行わせる、請求項１０に記載のシステム。
【請求項１５】
前記命令が、前記１つ以上のプロセッサに、
前記検出されたユーザ活動の持続時間が所定の閾値を満たすか否かを決定することと、
前記検出されたユーザ活動の前記持続時間が前記所定の閾値を満たすと決定することに応答して、前記第３のアクションメニューを表面化させる通知を生成し、前記検出されたユーザ活動と関連する前記通知を提示することと、を更に行わせる、請求項１４に記載のシステム。
【請求項１６】
前記第３のアクションメニューを生成するために、前記命令が、前記１つ以上のプロセッサに、
前記第３のアプリケーションが前記モバイルコンピューティングデバイス上にロードされているか否かを決定することと、
前記第３のアプリケーションが前記モバイルコンピューティングデバイス上にロードされていないと決定することに応答して、前記モバイルコンピューティングデバイス上に前記第３のアプリケーションをロードするための第４のリンクを含むように前記第３のアクションメニューを生成することと、を更に行わせる、請求項１４に記載のシステム。
【請求項１７】
前記命令が、前記１つ以上のプロセッサに、
前記第１のアクションメニュー内の前記第１のアクション可能なアイテムのユーザ選択を受信することと、
二次アクション画面を生成することと、
前記ユーザ選択に応答して、前記二次アクション画面を提示することと、
前記第１のアクション可能なアイテムのアクションを遂行するためのユーザ入力を受信することと、
前記第１のアクション可能なアイテムの前記アクションを実施することと、を更に行わせる、請求項１０に記載のシステム。
【請求項１８】
前記第１のアクション可能なアイテムの前記アクションが、前記第１のアプリケーションを起動せずに実施される、請求項１７に記載のシステム。
【請求項１９】
コンピュータ実装方法であって、
１つ以上のプロセッサを使用して、モバイルコンピューティングデバイスから信号ストリームを受信することと、
前記１つ以上のプロセッサを使用して、前記信号ストリームを処理することと、
前記１つ以上のプロセッサを使用して、前記処理された信号ストリームに基づいて、活動及び前記活動のコンテキストを検出することと、
前記１つ以上のプロセッサを使用して、１つ以上のアプリケーションと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定することと、
前記１つ以上のプロセッサを使用して、前記アクションライブラリから前記活動及び前記活動の前記コンテキストに関するアクション可能なアイテムを決定することと、
前記１つ以上のプロセッサを使用して、前記アクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成することと、
前記１つ以上のプロセッサを使用して、前記検出された活動と関連する前記アクションメニューを提示することと、を含む、コンピュータ実装方法。
【請求項２０】
コンピュータ実装方法であって、
１つ以上のプロセッサを使用して、アプリケーションランチャーと関連する第１のアプリケーションの長時間の選択を受信することと、
前記１つ以上のプロセッサを使用して、前記第１のアプリケーションのカテゴリを決定することと、
前記１つ以上のプロセッサを使用して、前記カテゴリと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定することと、
前記１つ以上のプロセッサを使用して、前記アクションライブラリから前記第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを決定することと、
前記１つ以上のプロセッサを使用して、前記第１のアプリケーションの前記カテゴリに一致する第２のアクション可能なアイテムのアクションカテゴリに基づいて、前記アクションライブラリから第２のアプリケーションと関連付けられた前記第２のアクション可能なアイテムを決定することと、
前記１つ以上のプロセッサを使用して、前記第１のアクション可能なアイテム及び前記第２のアクション可能なアイテムに基づいて、アクションメニューを生成することであって、前記アクションメニューが、前記第１のアクション可能なアイテムを実施するための第１のディープリンク、及び前記第２のアクション可能なアイテムを実施するための第２のディープリンクを含む、生成することと、
前記１つ以上のプロセッサを使用して、前記第１のアプリケーションの前記長時間の選択に応答して、前記第１のアプリケーションと関連する前記アクションメニューを提示することと、を含む、コンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２０１７年７月５日出願の米国仮特許出願第６２／５２８，８０２号、発明の名称「Ｕｌｔｒａ  Ｐｏｒｔａｂｌｅ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｄｅｖｉｃｅ（Ｃｏｍｐａｎｉｏｎ  Ｄｅｖｉｃｅ）ａｎｄ  Ａｓｓｏｃｉａｔｅｄ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅｓ」の３５Ｕ．Ｓ．Ｃ．§１１９に基づく優先権を主張し、参照によりその全体が本明細書に組み込まれる。
【０００２】
（発明の分野）
本明細書は、概して、１つ以上のアプリケーションと関連付けられた、個々の必要性に応じたアクションをモバイルコンピューティングデバイスに表面化させることに関する。具体的には、本明細書は、コンテキストに基づいて、モバイルコンピューティングデバイスのユーザインターフェースに、個々の必要性に応じたアクションを自動的に表面化させることによって、モバイルコンピューティングデバイスのユーザ体験を改善するためのシステム及び方法に関する。
【背景技術】
【０００３】
モバイルコンピューティングデバイスのアプリケーションエコシステムは、複雑になってきている。あらゆる事のためのアプリケーションが存在すると思われる。更に、追加の機能が、アプリケーションによって提供されるアプリケーション及び機能とのユーザ対話を増加させるために各アプリケーションに絶えず追加されている。典型的には、モバイルコンピューティングデバイス内のオペレーティングシステムは、アプリケーションのページ内深くの機能又はデータにアクセスするために、メニュー又はウェブページのいくつかの層の横断を必要とする。結果として、ユーザ体験は、多くの場合、煩雑かつ非効率的である。例えば、アプリケーション内の所望の機能又はデータにアクセスするためには、ユーザは、アプリケーションを起動し、様々な選択を行うことによってアプリケーションをナビゲートする必要がある。これは、ユーザが、アプリケーションを起動し、メニュー及びウェブページを介してより長く横断してアプリケーションにアクセスすることに多くの貴重な時間を費やすため、ユーザの生産性を低下させる。加えて、スモールフォームファクタのモバイルコンピューティングデバイス内で適時に所望の機能にアクセスし、それを開始するために、アプリケーションをナビゲートすることは、困難である。モバイルコンピューティングデバイス内のアプリケーションと関連付けられたアクションを開始するアクセシビリティ及び容易さを改善することが重要である。
【０００４】
本明細書で提供される背景技術は、本開示のコンテキストを概略的に提示する目的のためのものである。この背景技術の節に説明される範囲内での本発明者らの研究、及びその他の点で出願時に先行技術と見なされない場合がある説明の態様は、本開示に対する先行技術として明示的にも暗示的にも認められない。
【発明の概要】
【０００５】
本明細書に紹介される技術は、モバイルコンピューティングデバイスのユーザ体験においてアプリケーションと関連付けられた、個々の必要性に応じたアクション可能なアイテムを表面化させるためのシステム及び方法を用いて、既存の解決策の欠点及び制限を少なくとも部分的に克服する。
【０００６】
本開示に説明される主題の革新的な一態様によると、コンピュータ実装方法は、第１のアプリケーションと関連付けられたイベントを決定することと、複数のアクション可能なアイテムを含むアクションライブラリを決定することと、アクションライブラリから、イベントに基づいて、第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを識別することと、第１のアクション可能なアイテムに基づいて、第１のアクションメニューを生成することであって、第１のアクションメニューが、第１のアクション可能なアイテムを実施するための第１のディープリンクを含む、生成することと、イベントに応答して、第１のアプリケーションと関連する第１のアクションメニューを提示することと、を含む。
【０００７】
概して、本開示に説明される主題の別の革新的態様は、システムであって、１つ以上のプロセッサと、命令を記憶するメモリと、を備え、命令は、実行されると、１つ以上のプロセッサに、第１のアプリケーションと関連付けられたイベントを決定することと、複数のアクション可能なアイテムを含むアクションライブラリを決定することと、アクションライブラリから、イベントに基づいて、第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを識別することと、第１のアクション可能なアイテムに基づいて、第１のアクションメニューを生成することであって、第１のアクションメニューが、第１のアクション可能なアイテムを実施するための第１のディープリンクを含む、生成することと、イベントに応答して、第１のアプリケーションと関連する第１のアクションメニューを提示することと、を行わせる、システムで具現化され得る。
【０００８】
概して、本開示に説明される主題の別の革新的態様は、コンピュータ実装方法であって、モバイルコンピューティングデバイスから信号ストリームを受信することと、信号ストリームを処理することと、処理された信号ストリームに基づいて、活動及び活動のコンテキストを検出することと、１つ以上のアプリケーションと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定することと、アクションライブラリから活動及び活動のコンテキストに関するアクション可能なアイテムを決定することと、アクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成することと、検出された活動と関連するアクションメニューを提示することと、を含む、コンピュータ実装方法で具現化され得る。
【０００９】
概して、本開示に説明される主題の別の革新的態様は、コンピュータ実装方法であって、アプリケーションランチャーと関連する第１のアプリケーションの長時間の選択を受信することと、第１のアプリケーションのカテゴリを決定することと、カテゴリと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定することと、アクションライブラリから第１のアプリケーションと関連付けられた第１のアクション可能なアイテムを決定することと、第１のアプリケーションのカテゴリに一致する第２のアクション可能なアイテムのアクションカテゴリに基づいて、アクションライブラリから第２のアプリケーションと関連付けられた第２のアクション可能なアイテムを決定することと、第１のアクション可能なアイテム及び第２のアクション可能なアイテムに基づいて、アクションメニューを生成することであって、アクションメニューが、第１のアクション可能なアイテムを実施するための第１のディープリンク、及び第２のアクション可能なアイテムを実施するための第２のディープリンクを含む、生成することと、第１のアプリケーションの長時間の選択に応答して、第１のアプリケーションと関連するアクションメニューを提示することと、を含む、コンピュータ実装方法で具現化され得る。
【００１０】
他の態様は、これら及び他の革新的な態様のための、対応する方法、システム、装置、及びコンピュータプログラム製品を含む。
【００１１】
本明細書に説明される特徴及び利点は、包括的ではなく、多くの追加の特徴及び利点が、図面及び説明を考慮することで明らかとなるであろう。更に、本明細書に使用される言語は、専ら読み易さ及び指導的目的のために選択され、説明される技術の範囲を限定するものではないことに留意されたい。
【００１２】
本明細書に導入される技術は、例として例示されており、添付図面の図に限定されるものではなく、同様の参照番号は、同様の要素を指すように使用される。
【図面の簡単な説明】
【００１３】
【図１】モバイルコンピューティングデバイスのユーザ体験においてアプリケーションと関連付けられた、個々の必要性に応じたアクション可能なアイテムを表面化させるためのシステムの一実施形態を例示するハイレベルブロック図である。
【図２Ａ】アクションプラットフォームアプリケーションを含むコンピューティングデバイスの一実施形態を例示するブロック図である。
【図２Ｂ】アクションレコメンダの例示的実施形態を例示するブロック図である。
【図３】アクションプラットフォームアプリケーションの別の例示的実施形態を例示するブロック図である。
【図４】アプリケーションランチャー内のアプリケーションに関するアクション可能なアイテムを表面化させるためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図５】アプリケーションに関するアクションメニューを図示するためのユーザインターフェースの実施形態を例示する例示的グラフィカル表現を示す。
【図６】アクションメニュー内のアクションを編集するためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図７】第１のアプリケーションのアクションメニュー内に第２のアプリケーションに関するアクション可能なアイテムを表面化させるためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図８】ユーザインターフェース内のアプリケーションの通知に関するアクション可能なアイテムを表面化させるためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図９】ジェスチャ入力に応答してアクション可能なアイテムを表面化させるためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図１０】コンテキスト活動に応答してアクション可能なアイテムを表面化させるためのユーザインターフェースを例示する例示的グラフィカル表現を示す。
【図１１Ａ】モバイルコンピューティングデバイス上の設定をカスタマイズするためのユーザインターフェースの実施形態の例示的グラフィカル表現を示す。
【図１１Ｂ】モバイルコンピューティングデバイス上の設定をカスタマイズするためのユーザインターフェースの実施形態の例示的グラフィカル表現を示す。
【図１２】アクションライブラリを作成するための例示的方法の一実施形態を例示するフロー図である。
【図１３】アプリケーションに関するアクションメニューを生成するための例示的方法の一実施形態を例示するフロー図である。
【図１４】第１のアプリケーションのアクションメニュー内の第２のアプリケーションに関するアクション可能なアイテムを表面化させるための例示的方法の一実施形態を例示するフロー図である。
【図１５】アクションメニュー内のアプリケーションの通知に関するアクション可能なアイテムを表面化させるための例示的方法の一実施形態を例示するフロー図である。
【図１６】検出された活動及び関連付けられたコンテキストに関するアクション可能なアイテムを表面化させるための例示的方法の一実施形態を例示するフロー図である。
【発明を実施するための形態】
【００１４】
図１は、モバイルコンピューティングデバイス１１５のユーザ体験においてアプリケーションと関連付けられた、個々の必要性に応じたアクション可能なアイテムを表面化させるためのシステム１００の一実施形態を例示するハイレベルブロック図である。例示されたシステム１００は、ユーザによってアクセスされ得る１つ以上のモバイルコンピューティングデバイス１１５ａ〜１１５ｎ、アクションプラットフォームサーバ１１０、及び複数のウェブサーバ１０１を有し得る。図１及び残りの図では、参照番号の後ろの文字、例えば、１１５ａは、その特定の参照番号を有する要素に対する参照を表す。後続する文字なしのテキストにおける参照番号、例えば、「１１５」は、その参照番号を有する要素の実例に対する一般参照を表す。例示される実施形態では、システム１００のこれらの実体は、ネットワーク１０５を介して通信可能に結合される。
【００１５】
ネットワーク１０５は、従来のタイプ、有線又は無線であってもよく、スター構成、トークンリング構成、又は他の構成を含む多数の異なる構成を有してもよい。更に、ネットワーク１０５は、ローカルエリアネットワーク（local area network、ＬＡＮ）、広域ネットワーク（wide area network、ＷＡＮ）（例えば、インターネット）、及び／又は複数のデバイスが通信し得る他の相互接続されたデータ経路を含み得る。いくつかの実施形態では、ネットワーク１０５は、ピアツーピアネットワークであってもよい。ネットワーク１０５はまた、様々な異なる通信プロトコルでデータを送信するための電気通信ネットワークに結合されてもよく、又はその部分を含んでもよい。いくつかの実施形態では、ネットワーク１０５は、ショートメッセージングサービス（short messaging service、ＳＭＳ）、マルチメディアメッセージングサービス（multimedia messaging service、ＭＭＳ）、ハイパーテキスト転送プロトコル（hypertext transfer protocol、ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メールなどを介することを含む、データを送受信するためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク又はセルラー通信ネットワークを含み得る。図１は、モバイルコンピューティングデバイス１１５、アクションプラットフォームサーバ１１０及びウェブサーバ１０１に結合された１つのネットワーク１０５を例示しているが、実際には、１つ以上のネットワーク１０５が、これらの実体に接続され得る。
【００１６】
いくつかの実施形態では、システム１００は、複数のモバイルコンピューティングデバイス１１５及びアクションプラットフォームサーバ１１０などの、システム１００の他の構成要素と通信するためにネットワーク１０５に結合された複数のウェブサーバ１０１を含む。ウェブサーバ１０１は、プロセッサ、メモリ、アプリケーション、データベース、及びネットワーク通信能力を含むコンピューティングデバイスであってもよく、又はそれらによって実装されてもよい。ウェブサーバ１０１は、コンテンツ要求を処理及び満たす、並びに／又はネットワーク１０５に結合されている１つ以上のモバイルコンピューティングデバイス１１５からコンテンツを受信するための構造及び／又は機能を有する、ハイパーテキスト転送プロトコル（ＨＴＴＰ）サーバ、リプレゼンテーショナルステート転送（Representational State Transfer、ＲＥＳＴ）サービス、又は他のサーバタイプであり得る。いくつかの実施形態では、ウェブサーバ１０１は、１つ以上のモバイルコンピューティングデバイス１１５上のウェブ、モバイル及び／又はクラウドアプリケーションを介してウェブサーバ１０１によってホストされる様々なサービス及び情報リソースへのアクセスを提供することに対する専用のオンラインサービス１１１を含む。
【００１７】
オンラインサービス１１１は、ユーザデータ、コンテンツアイテム（例えば、ビデオ、テキスト、画像など）、及びコンテンツアイテムとのユーザの対話を反映する対話データを取得及び記憶し得る。ユーザデータは、本明細書に説明されるように、ユーザプロファイル情報（例えば、ユーザｉｄ、ユーザ選好、ユーザ履歴など）、ログイン情報（例えば、クリックストリーム、ＩＰアドレス、ユーザデバイス固有情報、履歴アクションなど）、及び他のユーザ固有情報のうちの１つ以上を含み得る。いくつかの実施形態では、オンラインサービス１１１は、ユーザが、他のユーザ（例えば、友人、連絡先、公衆、類似のユーザなど）とのコンテンツの共有、アイテム（例えば、書籍、映画、ビデオ、音楽、ゲーム、商品、フライト、ホテルなど）の購入及び／又は閲覧、並びに他の同様のアクションを行うことを可能にする。例えば、オンラインサービス１１１は、音楽ストリーミングサービス、ウェブマッピングサービス、マルチメディアメッセージングサービス、電子メールサービス、ニュースサービス、ニュースアグリゲータサービス、ソーシャルネットワーク、写真及びビデオ共有ソーシャルネットワーキングサービス、ライドシェアリングサービス、オンラインバンキングサービス、クラウドストレージサービス、オンライン情報データベースサービス、旅行サービス、オンライン電子商取引市場、レーティング及びレビューサービス、レストラン予約サービス、食品配達サービス、検索サービス、健康及びフィットネスサービス、ホームオートメーション及びセキュリティ、モノのインターネット（Internet of Things、ＩＯＴ）などであり得る。上記のオンラインサービス１１１について例として提供されるアイテムのリストは、網羅的ではなく、他のアイテムも、本明細書に説明される技術で考慮されることに留意されたい。
【００１８】
いくつかの実施形態では、ウェブサーバ１０１は、ネットワーク１０５を介してシステム１００の他の実体にデータを送信する、及びそこからデータを受信する。図１の例では、ウェブサーバ１０１の構成要素は、アプリケーションプログラミングインターフェース（ＡＰＩ）１０９を実装するように構成されている。例えば、ＡＰＩ１０９は、ウェブサーバ１０１によってＨＴＴＰプロトコルを介して公開されるソフトウェアインターフェースであり得る。ＡＰＩ１０９は、図１の構成要素間の情報の移動を統制及び容易にする、一式の要件を含む。例えば、ＡＰＩ１０９は、ウェブサーバ１０１によってホストされるオンラインサービス１１１の内部データ及び機能を、モバイルコンピューティングデバイス１１５上に実装されたアクションプラットフォームアプリケーション１０３ｂから発信されるＡＰＩ要求に公開する。ＡＰＩ１０９を介して、アクションプラットフォームアプリケーション１０３ｂは、オンラインサービス１１１の内部機能にサービス提供する必要があるパラメータセットと共に情報を渡し、次いで、関連付けられた結果を伴うオブジェクト（例えば、ＸＭＬ又はＪＳＯＮ）をモバイルコンピューティングデバイス１１５に返す。ウェブサーバ１０１は、データベース１９９を含み得る。データベース１９９は、非構造化又は部分的に構造化されたデータ用のリレーショナルデータベース及びファイルシステム（例えば、ＨＤＦＳ、ＮＦＳなど）内に構造化されたデータを記憶するために、ネットワーク１０５を介してウェブサーバ１０１に結合された別個の実体であってもよい。いくつかの実施形態では、ウェブサーバ１０１は、アクションプラットフォームアプリケーション１０３ｃを実装するように構成され得る。ウェブサーバ１０１及びアプリケーションプログラミングインターフェース１０９は、１つのオンラインサービスプロバイダを表し得、ネットワーク１０５に結合された複数のオンラインサービスプロバイダが、各々それ自体のサーバ又はサーバクラスタ、アプリケーション、アプリケーションプログラミングインターフェース、及びデータベース１９９を有して存在し得ることを理解されたい。
【００１９】
アクションプラットフォームサーバ１１０は、図２Ａ、図２Ｂ、及び図３を参照して以下に詳細に説明されるアクションプラットフォームアプリケーション１０３ａを実装するように構成され得る。いくつかの実施形態では、アクションプラットフォームサーバ１１０は、複数のモバイルコンピューティングデバイス１１５から情報及び分析を受信及び処理するバックエンドハードウェア又はソフトウェアサーバである。単一のアクションプラットフォームサーバ１１０のみが図１に示されているが、負荷分散され得る任意の数のアクションプラットフォームサーバ１１０又はサーバクラスタが存在し得ることを理解されたい。
【００２０】
いくつかの実施形態では、サーバ１０１及び１１０は、各々、ハードウェアサーバ、ソフトウェアサーバ、又はソフトウェア及びハードウェアの組み合わせであってもよい。いくつかの実装態様では、サーバ１０１及び１１０は、各々、データ処理能力（例えば、少なくとも１つのプロセッサ）、記憶能力（例えば、共有メモリ又は非共有メモリのプール）、及び通信能力を有する１つ以上のコンピューティングデバイスであってもよい。例えば、サーバ１０１及び１１０は、１つ以上のハードウェアサーバ、サーバアレイ、記憶デバイス、及び／又はシステムなどを含み得る。また、サーバ１０１及び１１０は、各々、サーバ１０１及び１１０と、モバイルコンピューティングデバイス１１５上にインストール又は別様に実装されたアプリケーションとの間の命令、データ、結果、及び他の情報の送信のためのそれら自体のＡＰＩを実装し得る。いくつかの実装態様では、サーバ１０１及び１１０は、ホストサーバ環境内で動作し、抽象化層（例えば、仮想マシンマネージャ）を介して、例えば、プロセッサ、メモリ、記憶装置、ネットワークインターフェースなどを含むホストサーバの物理ハードウェアにアクセスする、１つ以上の仮想サーバを含み得る。
【００２１】
いくつかの実施形態では、モバイルコンピューティングデバイス１１５は、データ処理及び通信能力を有するスモールフォームファクタを有するウルトラポータブルコンピューティングデバイスであり得る。モバイルコンピューティングデバイス１１５は、メモリ、プロセッサ、カメラ、ネットワーク１０５にアクセスすることができる通信ユニット、電源、かつ／あるいは他のソフトウェア並びに／又はディスプレイ（ＡＰＩ１０９を介してウェブサーバ１０１によって提供される情報を閲覧するための）、グラフィックスプロセッサユニット（汎用グラフィックス及びマルチメディア処理を取り扱うための）、センサ（複数可）、センサハブ、ファームウェア、オペレーティングシステム、ドライバ、加入者識別モジュール（subscriber identification module、ＳＩＭ）若しくはセルラー通信をサポートする他の集積回路、及び様々な物理接続インターフェース（例えば、ＵＳＢ、ＵＳＢ−Ｃ、ＵＳＢ  Ｍｉｃｒｏなど）などのハードウェア構成要素を含み得る。いくつかの実施形態では、モバイルコンピューティングデバイス１１５は、他の一次コンピューティングデバイス（図示せず）、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、携帯情報端末（personal digital assistant、ＰＤＡ）、モバイル電子メールデバイス、ポータブルゲームプレーヤ、ポータブル音楽プレーヤ、１つ以上のプロセッサが中に埋め込まれているか、若しくは結合されている１つ以上のプロセッサを有するテレビ、ウェブカム、ユーザウェアラブルコンピューティングデバイス、又はネットワーク１０５にアクセスすることができる任意の他の電子デバイスなどに対する、コンパニオンデバイスであり得る。
【００２２】
いくつかの実施形態では、モバイルコンピューティングデバイス１１５は、ネットワーク１０５を介して、そのデータ（例えば、電子メール、テキストメッセージ、カレンダー、文書、アドレス帳、ファイルなど）を、他の一次コンピューティングデバイスと同期させ得、これに対するコンパニオンデバイスである。いくつかの実施形態では、モバイルコンピューティングデバイス１１５は、同じ又は異なるタイプのコンパニオンデバイスに対する一次コンピューティングデバイスであり得る。モバイルコンピューティングデバイス１１５は、モバイルコンピューティングデバイス１１５が、ウェブサーバ１０１によってホストされたオンラインサービス１１１と対話するブラウザアプリケーション、モバイルコンピューティングデバイス１１５が、ウェブサーバ１０１によってホスティングされたオンラインサービス１１１と結合及び対話することを可能にする、インストールされたアプリケーション（例えば、ＨＴＭＬ５ベースモバイルアプリケーション）を含み得るか、又はいくつかの他の手段でウェブサーバ１０１と結合し得る。いくつかの実施形態では、単一のユーザは、アクションプラットフォームサーバ１１０が追跡し、それに応じて本明細書に説明される機能を提供し得る、２つ以上のモバイルコンピューティングデバイス１１５を使用し得る。例えば、アクションプラットフォームサーバ１１０は、複数のモバイルコンピューティングデバイス１１５にわたるユーザの動作を追跡し得る。図１は、２つのモバイルコンピューティングデバイス１１５ａ及び１１５ｎを例示しているが、本開示は、１つ以上のモバイルコンピューティングデバイス１１５を有するシステムアーキテクチャに適用される。加えて、モバイルコンピューティングデバイス１１５ａ及び１１５ｎは、同じ又は異なるタイプのモバイルコンピューティングデバイスであってもよい。
【００２３】
アクションプラットフォームアプリケーション１０３は、コンテキストに基づいて、モバイルコンピューティングデバイス１１５のユーザ体験において１つ以上のアプリケーションに関する、個々の必要性に応じたアクション可能なアイテムを表面化させるための機能を提供するためのソフトウェア及び／又は論理を含み得る。いくつかの実施形態では、アクションプラットフォームアプリケーション１０３は、フィールドプログラマブルゲートアレイ（field-programmable gate array、ＦＰＧＡ）又は特定用途向け集積回路（application-specific integrated circuit、ＡＳＩＣ）などのプログラム可能又は専用のハードウェアを使用して実装され得る。いくつかの実施形態では、アクションプラットフォームアプリケーション１０３は、ハードウェア及びソフトウェアの組み合わせを使用して実装され得る。他の実施形態では、アクションプラットフォームアプリケーション１０３は、モバイルコンピューティングデバイス１１５とアクションプラットフォームサーバ１１０との組み合わせ、又はモバイルコンピューティングデバイス１１５若しくはアクションプラットフォームサーバ１１０のいずれか一方によって、記憶及び実行されてもよい。
【００２４】
図１に図示されるように、アクションプラットフォームアプリケーション１０３ａ及び１０３ｂは、本明細書に説明されるアクションプラットフォームアプリケーション１０３ａ及び１０３ｂによって実施される動作が、モバイルコンピューティングデバイス１１５、アクションプラットフォームサーバ１１０、又はこれらの構成要素の任意の組み合わせで実施され得ることを示すように破線で示されている。いくつかの実施形態では、各実例１０３ａ及び１０３ｂは、図２Ａ及び図２Ｂに図示されるアクションプラットフォームアプリケーション１０３の１つ以上の構成要素を備え得、その実例が存在する場所に応じて、本明細書に説明される機能を完全に又は部分的に実施するように構成され得る。アクションプラットフォームアプリケーション１０３の追加の構造、作用、及び／又は機能が、少なくとも図２Ａ、図２Ｂ、及び図３に関して以下に更に詳細に説明される。アクションプラットフォームアプリケーション１０３は、スタンドアローンアクションプラットフォームアプリケーションとして以下に説明されるが、いくつかの実施形態では、アクションプラットフォームアプリケーション１０３は、モバイルコンピューティングデバイス１１５及びアクションプラットフォームサーバ１１０上で動作中の他のアプリケーションの一部であってもよい。
【００２５】
いくつかの実施形態では、アクションプラットフォームアプリケーション１０３ｂは、モバイルコンピューティングデバイス１１５上で実行されるいくつかの機能と、アクションプラットフォームアプリケーション１０３ａによってアクションプラットフォームサーバ１１０上で実行される追加の機能とを有するシンクライアントアプリケーションであってもよい。例えば、モバイルコンピューティングデバイス１１５上のアクションプラットフォームアプリケーション１０３ｂは、例えば、毎日、モバイルコンピューティングデバイス１１５上にロードされた１つ以上のアプリケーションとのユーザ対話の履歴をアーカイブすることと、１つ以上のアプリケーションと関連付けられたアクション可能なアイテム、例えば、よくアクセスされる機能を決定することと、１つ以上のアプリケーションの複数のアクション可能なアイテムを含むアクションライブラリを構築することと、アクション可能なアイテムを調整することと、コンテキストに基づいて、モバイルコンピューティングデバイス１１５のユーザ体験において個々の必要性に応じたアクション可能なアイテムを表面化させることと、のためのソフトウェア及び／又は論理を含み得る。別の例では、ウェブサーバ１０１上のアクションプラットフォームアプリケーション１０３ａは、学習データを準備することと、学習データを使用して１つ以上のアクションモデルを訓練することと、のためのソフトウェア及び／又は論理を含み得る。アクションプラットフォームアプリケーション１０３及び上記に列挙された機能の動作は、図２〜図１６を参照して以下でより詳細に説明される。
【００２６】
図２Ａは、アクションプラットフォームアプリケーション１０３を含むコンピューティングデバイス２００の一実施形態を例示するブロック図である。コンピューティングデバイス２００はまた、いくつかの例によると、プロセッサ２３５、メモリ２３７、通信ユニット２４１、データ記憶装置２４３、任意選択のキャプチャデバイス２４５、入力／出力デバイス（複数可）２４７、及びセンサ（複数可）２４９を含み得る。メモリ２３７は、オペレーティングシステム１０７及びアクションプラットフォームアプリケーション１０３のうちの１つ以上を含み得る。コンピューティングデバイス２００の構成要素は、バス２２０によって通信可能に結合される。いくつかの実施形態では、コンピューティングデバイス２００は、モバイルコンピューティングデバイス１１５、アクションプラットフォームサーバ１１０、ウェブサーバ１０１、又はモバイルコンピューティングデバイス１１５、ウェブサーバ１０１及びアクションプラットフォームサーバ１１０の組み合わせを表し得る。コンピューティングデバイス２００がモバイルコンピューティングデバイス１１５、ウェブサーバ１０１又はアクションプラットフォームサーバ１１０を表す、そのような実施形態では、モバイルコンピューティングデバイス１１５、ウェブサーバ１０１及びアクションプラットフォームサーバ１１０は、上記に説明されたが図２Ａに示されていない他の構成要素を含んでもよいことを理解されたい。
【００２７】
プロセッサ２３５は、様々な入力／出力、論理演算、及び／又は数学的演算を実施することによってソフトウェア命令を実行し得る。プロセッサ２３５は、例えば、複雑命令セットコンピュータ（complex instruction set computer、ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（reduced instruction set computer、ＲＩＳＣ）アーキテクチャ、及び／又は命令セットの組み合わせを実装するアーキテクチャを含む、データ信号を処理するための様々なコンピューティングアーキテクチャを有し得る。プロセッサ２３５は、物理的及び／又は仮想的であってもよく、単一の処理ユニット又は複数の処理ユニット及び／若しくはコアを含んでもよい。いくつかの実施態様では、プロセッサ２３５は、ディスプレイデバイスに電子表示信号を生成及び提供することと、画像の表示をサポートすることと、画像をキャプチャ及び送信することと、様々なタイプの特徴抽出及びサンプリングなどを含む複雑なタスクを実施することと、を行うことが可能であってよい。いくつかの実施態様では、プロセッサ２３５は、バス２２０を介してメモリ２３７に結合されて、そこからデータ及び命令にアクセスし、その中にデータを記憶し得る。バス２２０は、例えば、メモリ２３７、通信ユニット２４１、アクションプラットフォームアプリケーション１０３、及びデータ記憶装置２４３を含むコンピューティングデバイス２００の他の構成要素にプロセッサ２３５を結合し得る。いくつかの実施態様では、プロセッサ２３５は、同じ集積回路上又は別個の集積回路上に含められる低電力二次プロセッサ（例えば、センサハブ）に結合されてもよい。この二次プロセッサは、低電力で低レベル演算を実施することに対して専用化されてもよい。例えば、二次プロセッサは、アクションプラットフォームアプリケーション１０３から受信された命令に従って、ステップカウント、センサ融合、センサバッチングなどを実施し得る。
【００２８】
メモリ２３７は、コンピューティングデバイス２００の他の構成要素に関するデータへのアクセスを記憶及び提供し得る。メモリ２３７は、単一のコンピューティングデバイス内に含められてもよく、又は本明細書の他の箇所で論じられるように、複数のコンピューティングデバイス間に分散されてもよい。いくつかの実施態様では、メモリ２３７は、プロセッサ２３５によって実行され得る命令及び／又はデータを記憶し得る。命令及び／又はデータは、本明細書に説明される技術を実施するためのコードを含み得る。メモリ２３７はまた、例えば、オペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベースなどを含む、他の命令及びデータを記憶することもできる。メモリ２３７は、プロセッサ２３５、通信ユニット２４１、データ記憶装置２４３及び／又はコンピューティングデバイス２００の他の構成要素と通信するためにバス２２０に結合され得る。
【００２９】
メモリ２３７は、１つ以上の非一時的コンピュータ使用可能（例えば、可読、書き込み可能）媒体を含み得、これは、プロセッサ２３５による又はそれと関連する処理のための、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチンなどを含有、記憶、通信、伝播又は転送し得る、任意の有形の非一時的装置又はデバイスであり得る。いくつかの実装態様では、メモリ２３７は、揮発性メモリ及び不揮発性メモリのうちの１つ以上を含み得る。例えば、メモリ２３７は、スタティックランダムアクセスメモリ（static random access memory、ＳＲＡＭ）デバイス、ダイナミックランダムアクセスメモリ（dynamic random access memory、ＤＲＡＭ）デバイス、埋め込みメモリデバイス、ディスクリートメモリデバイス（例えば、ＰＲＯＭ、ＦＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）など）のうちの１つ以上を含み得るが、これらに限定されない。メモリ２３７は、単一のデバイスであってもよく、又は複数のタイプのデバイス及び構成を含んでもよいことを理解されたい。
【００３０】
バス２２０は、業界標準アーキテクチャ（industry standard architecture、ＩＳＡ）バス、周辺構成要素相互接続（peripheral component interconnect、ＰＣＩ）バス、ユニバーサルシリアルバス（universal serial bus、ＵＳＢ）、又は同様の機能を提供するいくつかの他のバスを含む、１つ以上のバスを表し得る。バス２２０は、コンピューティングデバイス２００の構成要素間、又はネットワーク１０５又はその一部、プロセッサメッシュ、それらの組み合わせなどを介したコンピューティングデバイス２００とシステムの他の構成要素との間のデータ転送のための通信バスを含み得る。いくつかの実装態様では、アクションプラットフォームアプリケーション１０３及びオペレーティングシステム１０７は、バス２２０と関連して実装されるソフトウェア通信機構を介して協働及び通信し得る。ソフトウェア通信機構は、例えば、プロセス間通信、ローカル機能又はプロシージャ呼び出し、遠隔プロシージャ呼び出し、ネットワークベース通信、セキュア通信などを含み得る、及び／又は容易にし得る。
【００３１】
通信ユニット２４１は、プロセッサ２３５をネットワーク１０５及び他の処理システムにリンクさせることによって、データを送受信するためのハードウェアである。通信ユニット２４１は、モバイルコンピューティングデバイス１１５からの要求などのデータを受信し、要求をウェブサーバ１０１に送信する。通信ユニット２４１はまた、例えば、要求の処理に応答して、モバイルコンピューティングデバイス１１５に表示用の情報を送信する。通信ユニット２４１は、バス２２０に結合される。通信ユニット２４１は、ネットワーク１０５、並びに、例えば、ウェブサーバ１０１、モバイルコンピューティングデバイス１１５、及びアクションプラットフォームサーバ１１０を含むシステム１００の他の実体及び／又は構成要素との有線及び無線接続性のための１つ以上のインターフェースデバイスを含み得る。例えば、通信ユニット２４１は、ケーブルインターフェース（例えば、ＣＡＴ−５）、Ｗｉ−Ｆｉ（商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、近距離無線通信（Near-field communication、ＮＦＣ）、セルラー通信などを使用してデータを送受信するための無線送受信機、ユニバーサルシリアルバス（ＵＳＢ）インターフェース、これらの様々な組み合わせなどを含み得るが、これらに限定されない。通信ユニット２４１は、信号線１０４を介してネットワーク１０５に結合されてもよい。
【００３２】
別の実施形態では、通信ユニット２４１は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、又は別の好適なタイプの電子通信などを介して、セルラー通信ネットワーク上でデータを送受信するためのセルラー通信送受信機を含み得る。通信ユニット２４１はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、及びＳＭＴＰ、又はこれらの任意の組み合わせなどの標準ネットワークプロトコルを使用して、ファイル及び／又は媒体オブジェクトの配信のために、ネットワーク１０５に他の従来の接続を提供し得る。
【００３３】
データ記憶装置２４３は、本明細書に説明される機能を提供するためのデータを記憶する非一時的メモリである。データ記憶装置２４３は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、又はいくつかの他のメモリデバイスであり得る。いくつかの実施形態では、データ記憶装置２４３はまた、不揮発性メモリ又は同様の永久記憶デバイス、及びハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、又は情報をより恒久的基盤に記憶するためのいくつかの他の大容量記憶デバイスを含む媒体を含み得る。
【００３４】
データ記憶装置２４３は、バス２２０に通信可能に結合される。いくつかの実施形態では、データ記憶装置２４３は、データへのアクセスを受信及び提供するために、バス２１４を介してコンピューティングデバイス２００の構成要素２３５、２３７、２４１、２４５又は２４９に結合され得る。いくつかの実施形態では、データ記憶装置２４３は、システム１００の他の実体１０１、１１０又は１１５から受信されたデータを記憶し、これらの実体へのデータアクセスを提供し得る。いくつかの実施形態では、データ記憶装置２４３は、メモリ２３７に組み込まれてもよく、又はそこから別個であってもよい。いくつかの実装態様では、データ記憶装置２４３は、データベース管理システム（database management system、ＤＢＭＳ）を含み得る。例えば、ＤＢＭＳは、構造化照会言語（structured query language、ＳＱＬ）ＤＢＭＳ、ＮｏＳＱＬ  ＤＭＢＳ、これらの様々な組み合わせなどを含み得る。いくつかの例では、ＤＢＭＳは、行及び列からなる多次元テーブル内にデータを記憶し、プログラム動作を使用してデータの行を操作、例えば、挿入、照会、更新及び／又は削除し得る。データ記憶装置２４３内に記憶されたデータは、以下でより詳細に説明される。
【００３５】
キャプチャデバイス２４５は、関心のあるオブジェクトの画像又はデータをデジタルにキャプチャするように動作可能であり得る。例えば、キャプチャデバイス２４５は、高精細度（high definition、ＨＤ）カメラ、標準的な２Ｄカメラ、マルチスペクトルカメラ、構造化光３Ｄカメラ、飛行時間３Ｄカメラ、ステレオカメラ、標準スマートフォンカメラ、ウェアラブルコンピューティングデバイス、バーコードリーダなどであり得る。キャプチャデバイス２４５は、プロセッサ２３５、メモリ２３７、又はデータ記憶装置２４３に画像及び他の処理されたメタデータを提供するためにバスに結合される。キャプチャデバイス２４５は、それが任意選択であることを示すように図２Ａに破線で示されていることに留意されたい。例えば、コンピューティングデバイス２００がアクションプラットフォームサーバ１１０である場合、キャプチャデバイス２４５は、システムの一部でなくてもよく、コンピューティングデバイス２００がモバイルコンピューティングデバイス１１５である場合、キャプチャデバイス２４５は、以下に説明される画像及び他のメタデータ情報を提供するために含められ使用される。
【００３６】
入出力（Ｉ／Ｏ）デバイス（複数可）２４７は、情報を入力又は出力するための任意の標準デバイスを含んでもよく、直接又は介在Ｉ／Ｏコントローラを介して、コンピューティングデバイス２００に結合され得る。非限定的な例示的Ｉ／Ｏデバイス２４７は、タッチ画面、又は本明細書に説明されるユーザインターフェース、電子画像、及びデータを表示するために設けられた任意の他の同様に設けられたディスプレイデバイス、タッチパッド、スキャナ、スタイラス、発光ダイオード（light emitting diode、ＬＥＤ）インジケータ、音声再生デバイス（例えば、スピーカ）、マイクロフォン、バーコードリーダ、視線追跡装置、息操作デバイス、並びにユーザとの通信及び／又は対話を容易にするための任意の他のＩ／Ｏ構成要素を含む。異なる実施形態では、ディスプレイは、バイナリ（２つの異なる画素値のみ）、モノクロ（１つの色の複数の濃淡）、又は複数の色及び陰影であり得る。
【００３７】
センサ（複数可）２４９は、コンピューティングデバイス２００に好適な任意のタイプのセンサを含む。センサ（複数可）２４９は、バス２２０に通信可能に結合される。モバイルコンピューティングデバイス１１５のコンテキストでは、センサ（複数可）２４９は、モバイルコンピューティングデバイス１１５並びに／又はその内部及び外部の環境の特性を決定するために好適な任意のタイプの信号データを収集するように構成され得る。センサ（複数可）２４９の非限定的な例は、様々な光学センサ（ＣＣＤ、ＣＭＯＳ、２Ｄ、３Ｄ、光検知測距（light detection and ranging、ＬＩＤＡＲ）、カメラなど）、音声センサ、動き検出センサ、磁力計、気圧計、アルタイメータ、熱電対、湿度センサ、赤外線（infrared、ＩＲ）センサ、レーダセンサ、他の光センサ、ジャイロスコープ、加速度計、ジオロケーションセンサ、配向センサ、無線送受信機（例えば、セルラー、ＷｉＦｉ（商標）、近距離など）、ソナーセンサ、超音波センサ、タッチセンサ、近接センサ、距離センサ、マイクロフォンなどを含む。いくつかの実施形態では、１つ以上のセンサ２４９は、モバイルコンピューティングデバイス１１５を取り囲む状況的コンテキストをキャプチャするために、モバイルコンピューティングデバイス１１５の前側、後側、右側、及び／又は左側に設けられた外部に面するセンサを含み得る。いくつかの実施形態では、センサ（複数可）２４９は、ビデオ画像及び静止画像を含む画像を記録するように構成された１つ以上の画像センサ（例えば、光学センサ）を含み得、任意の適用可能なフレームレートを使用してビデオストリームのフレームを記録し得、任意の適用可能な方法を使用してキャプチャされたビデオ及び静止画像をエンコード及び／又は処理し得る。いくつかの実施形態では、画像センサ（複数可）２４９は、センサ範囲内の周囲環境の画像をキャプチャし得る。例えば、モバイルコンピューティングデバイス１１５のコンテキストでは、画像センサ２４９は、人々、周囲光（例えば、日中又は夜中）などを含むモバイルコンピューティングデバイス１１５の周囲の環境をキャプチャし得る。
【００３８】
他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、及び物理的構成が可能であることを理解されたい。
【００３９】
図２Ａに図示されるように、メモリ２３７は、オペレーティングシステム１０７、及びアクションプラットフォームアプリケーション１０３を含み得る。
【００４０】
メモリ２３７上に記憶され、プロセッサ２３５によって実行されるように構成されたオペレーティングシステム１０７は、コンピューティングデバイス２００内のハードウェア及びソフトウェアリソースを管理するシステムソフトウェアの構成要素である。オペレーティングシステム１０７は、アクションプラットフォームアプリケーション１０３からの入力／出力要求を管理することによって、アクションプラットフォームアプリケーション１０３の実行を制御するカーネルを含む。アクションプラットフォームアプリケーション１０３は、システム呼び出しを介して、オペレーティングシステム１０７のカーネルからサービスを要求する。加えて、オペレーティングシステム１０７は、スケジューリング、データ管理、メモリ管理、通信制御、及び他の関連サービスを提供し得る。例えば、オペレーティングシステム１０７は、タッチ画面からの入力を認識することと、ディスプレイ画面に出力を送信すること、データ記憶装置２４３上のファイルを追跡することと、周辺デバイス（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ヘッドホン、イヤーバッドなど）を制御することと、の役割を果たす。一実施形態では、オペレーティングシステム１０７は、汎用オペレーティングシステムである。例えば、オペレーティングシステム１０７は、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、Ｍａｃ  ＯＳ（登録商標）又はＵＮＩＸ（登録商標）ベースのオペレーティングシステムであり得る。又はオペレーティングシステム１０７は、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）、又はＴｉｚｅｎ（商標）などのモバイルオペレーティングシステムであってもよい。別の実施形態では、オペレーティングシステム１０７は、専用オペレーティングシステムであってもよい。オペレーティングシステム１０７は、コンピューティングデバイス  ２００を構成及び維持するための他のユーティリティソフトウェア又はシステムソフトウェアを含み得る。
【００４１】
アクションプラットフォームアプリケーション１０３は、アーカイバ２０２、アクションライブラリキュレータ２０４、処理エンジン２０６、コンテキスト決定部２０８、アクションレコメンダ２１０、及びユーザインターフェース２１２を含む。アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２は、互いに、並びにバス２２０によってコンピューティングデバイス２００の他の構成要素２３５、２４１、２４３、２４５、２４７及び２４９と通信するために結合される。アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２はまた、システム１００の他の実体１０１、１１０及び１１５と通信するために、通信ユニット２４１を介してネットワーク１０５に結合される。
【００４２】
いくつかの実施形態では、アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２は、各々、それらのそれぞれの機能を提供するためにソフトウェア及び／又は論理を含み得る。いくつかの実施形態では、アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２は、各々、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向け集積回路（ＡＳＩＣ）を含むプログラム可能又は専用のハードウェアを使用して実装され得る。いくつかの実施形態では、アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２は、各々、プロセッサ２３５によって実行可能なハードウェア及びソフトウェアの組み合わせを使用して実装され得る。いくつかの実施形態では、アクションプラットフォームアプリケーション１０３の構成要素２０２、２０４、２０６、２０８、２１０及び２１２は、各々、それらのそれぞれの作用及び／又は機能を提供するために、メモリ２３７内に記憶され、プロセッサ２３５によってアクセス可能かつ実行可能であり得る。これらの実施形態のいずれかでは、アクションプラットフォームアプリケーション１０３の構成要素は、各々、バス２２０を介して、プロセッサ２３５、メモリ２３７、及びコンピューティングデバイス２００の他の構成要素と協働及び通信するように適合され得る。
【００４３】
アーカイバ２０２は、モバイルコンピューティングデバイス１１５上の１つ以上のアプリケーションとのユーザの対話を決定及びアーカイブするための機能を提供するためのソフトウェア及び／又は論理を含み得る。いくつかの実施形態では、アーカイバ２０２は、モバイルコンピューティングデバイス１１５のアプリケーションランチャー内の１つ以上のアプリケーションにアクセスするユーザの頻度を決定する。例えば、アーカイバ２０２は、ユーザがメッセージングアプリケーションを１日、１週間、ひと月などで起動した回数を決定する。アーカイバ２０２は、ユーザが１つ以上のアプリケーションにアクセスする時間を決定する。例えば、アーカイバ２０２は、ユーザが８ＡＭ〜１０ＡＭの朝に電子メールアプリケーションを開くと決定する。アーカイバ２０２は、ユーザが１つ以上のアプリケーションにアクセスする場所を決定する。例えば、アーカイバ２０２は、ユーザが自宅でＷｉ−Ｆｉスポットに接続するときに、ユーザがＷｉ−Ｆｉホームオートメーションアプリケーションを起動すると決定する。別の例では、アーカイバ２０２は、ユーザがオフィス内にいるときに、ユーザがカレンダーアプリケーションを起動すると決定する。更に別の例では、アーカイバ２０２は、ユーザが通勤しているときに、ユーザがウェブマッピングサービスを起動すると決定する。アーカイバ２０２は、ユーザによる１つ以上のアプリケーション内でアクセスされるデータ及び／又は機能のパラメータセットを決定する。例えば、アーカイバ２０２は、ユーザが音楽ストリーミングアプリケーションを起動し、「トップ１００ビルボード」プレイリストをよく再生すると決定する。別の例では、アーカイバ２０２は、ユーザがメッセージングアプリケーションを起動し、テキストを親によく送信すると決定する。更に別の例では、アーカイバ２０２は、ユーザが電話アプリケーションを開き、配偶者とよく通話すると決定する。アーカイバ２０２は、アプリケーションランチャー内のアプリケーションとのユーザの対話を決定する。例えば、アーカイバ２０２は、アプリケーションアイコンの選択、アプリケーションランチャー内のアプリケーションアイコンの並べ替え、アプリケーションからの通知の破棄、アプリケーションランチャーからのアプリケーションアイコンの除去、フォルダ内のアプリケーションアイコンのグループ化などを決定する。アーカイバ２０２は、１つ以上のアプリケーション上のユーザのユーザプロファイルアカウントを決定する。例えば、アーカイバ２０２は、ウェブサーバ１０１内のオンラインサービス１１１によって維持されたユーザプロファイルにアクセスすることに基づいて、ユーザ選好及び設定を決定する。アーカイバ２０２は、上記の決定のうちの１つ以上を組み合わせて、新たな対話データセットをアーカイブする。例えば、アーカイバ２０２は、ユーザがオフィスから自宅に通勤しているときに、ユーザが電話アプリケーションを使用して配偶者と通話すると決定する。１つ以上のアプリケーションとのユーザ対話からアーカイバ２０２によってアーカイブされたデータの例示的パラメータは、限定されるものではないが、頻繁にアクセスされる電話連絡先、頻繁にアクセスされるソーシャルネットワークフレンド、頻繁にアクセスされる電子メール受信者、頻繁にアクセスされるテキストメッセージ受信者、お気に入りのプレイリスト、最近アクセスされたプレイリスト、職場住所、自宅住所、毎日の運動ルーチン、最もよく使用される支払い方法など、又は１つ以上のアプリケーションでのこれらの任意の組み合わせを含む。１つ以上のアプリケーションとのユーザ対話からアーカイバ２０２によってアーカイブされた機能の例示的パラメータは、限定されるものではないが、プレイリストのストリーミング、交通条件の確認、地図方向の取得、ライドシェアサービスの要求、レストランテーブルの予約、通話を行うこと、テキストメッセージを送信すること、写真を共有すること、ステータスを投稿することと、物理的位置にソーシャルチェックインを実行することと、運動ログを記録すること、報酬カードを用いて支払うこと、自動車鍵にアクセスすること、又は１つ以上のアプリケーション内のこれらの任意の組み合わせを含む。いくつかの実施形態では、アーカイバ２０２は、データ記憶装置２４３のアーカイブデータ２２２内の１つ以上のアプリケーションと共にユーザの対話データを記憶する。
【００４４】
アクションライブラリキュレータ２０４は、データストレージ２４３内のアクションライブラリ２２４を作成及び管理するための機能を提供するソフトウェア及び／又は論理を含み得る。アクションライブラリ２２４は、モバイルコンピューティングデバイス１１５上の１つ以上のアプリケーションと関連付けられた複数のアクション可能なアイテムを含む。アクションライブラリキュレータ２０４は、モバイルコンピューティングデバイス１１５上の１つ以上のアプリケーションに対してＡＰＩ１０９が利用可能であるか否かを決定する。例えば、アクションライブラリキュレータ２０４は、ウェブサーバ１０１によってホストされたオンラインサービス１１１にｐｉｎｇを送り、ＡＰＩ１０９を使用して、アクセス可能なアプリケーション機能及び／又はデータを識別する。ＡＰＩ１０９は、ウェブサーバ１０１によってホストされるオンラインサービス１１１の構成に応じて、内部又は外部のＡＰＩであり得る。アクションライブラリキュレータ２０４は、ＡＰＩ１０９を介してアクセス可能なアプリケーションの機能を決定する。アクションライブラリキュレータ２０４は、オンラインサービス１１１のＡＰＩ１０９へのアクセスを取得するためにＡＰＩ鍵を使用する。例えば、ＡＰＩ鍵は、オンラインサービス１１１とのサブスクリプション又はパートナーシップに基づいて利用可能であり得、ＡＰＩ１０９の構成に応じて、ＡＰＩ１０９への読み取りアクセス、書き込みアクセス、又はその両方を有するアクションライブラリキュレータ２０４を提供する。アクションライブラリキュレータ２０４は、ＡＰＩ１０９を使用して、アプリケーションを解析し、ＡＰＩ１０９を介して利用可能なアプリケーションと関連付けられた１つ以上の構成機能、タスク、又は活動を決定する。例えば、電子メールオンラインサービス１１１と関連付けられたＡＰＩ１０９は、新たな電子メールを下書きする機能を公開する。別の例では、ソーシャルネットワーキングサービス１１１と関連付けられたＡＰＩ１０９は、ユーザのソーシャルメディアステータスを更新する機能を公開する。アクションライブラリキュレータ２０４は、ＡＰＩ１０９を介してアプリケーションの機能を実施又は開始するＡＰＩ呼び出しを決定する。ＡＰＩ呼び出しは、ＡＰＩ１０９への要求を実行依頼して、アプリケーションの機能を実施するために使用され得る。要求は、機能を実施することと関連付けられたパラメータ又はデータを含む。ＡＰＩ１０９は、ＡＰＩ呼び出しの要求をサービス提供し、応答を返す。アクションライブラリキュレータ２０４は、ＡＰＩ呼び出し及びアプリケーションと関連付けられた１つ以上のパラメータを使用してアクション可能なアイテムを生成する。アプリケーションのアクション可能なアイテムは、アプリケーションと関連付けられた機能、タスク、又は活動を実施するために、オンラインサービス１１１のＡＰＩ１０９に要求を自動的に送信するようにＡＰＩ呼び出しに直接リンクするユーザインターフェース要素であり得る。アクション可能なアイテムは、モバイルコンピューティングデバイス１１５上の関連付けられたアプリケーションの起動を必要とせずに、アプリケーションの機能を実施する。いくつかの実施形態では、アクション可能なアイテムは、アプリケーション内の特定の機能へのショートカットであり得る。アクションライブラリキュレータ２０４は、アプリケーションの機能の統一資源識別子（uniform resource identifier、ＵＲＩ）を使用してアクション可能なアイテムを生成する。アクション可能なアイテムは、ＵＲＩを使用して、アプリケーションの機能と関連付けられた特定の場所又はページにリンクするディープリンクを提供し、任意のプロンプト、インタースティシャルページ、又はログインなしで機能を開始する。例えば、アクションライブラリキュレータ２０４は、アプリケーションランチャー内で関連付けられた電子メールアプリケーションを起動することと、連絡先リスト内のＲｏｂという名前の連絡先を検索することと、その連絡先を選択することと、電子メールを下書きする選択肢を選択することと、を含む一連のステップを実施することを必要とせずに、Ｒｏｂという名前の連絡先に送信するために電子メールメッセージを開始するために呼び出され得るアクション可能なアイテム「Ｒｏｂに電子メール」を作成する。別の例では、アクションライブラリキュレータ２０４は、関連付けられた音楽ストリーミングアプリケーションを起動することと、スタートページ内のライブラリを選択することと、第２のページ内のプレイリスト選択肢を選択することと、リスト化されたプレイリストを閲覧して、第３のページ内の「ロックプレイリスト」を選択することと、音楽ストリーミングアプリケーションの第４のページ内の「プレイ」選択肢を選択することと、を含む一連のステップを実施することを必要とせずに、「ロック」ジャンルの歌のプレイリストを開くために呼び出され得るアクション可能なアイテム「ロックプレイリスト」を作成する。いくつかの実施形態では、アクションライブラリキュレータ２０４は、アプリケーションのシステム（例えば、システムアクション）に関するアクション可能なアイテムを生成する。システムアクションは、アプリケーション情報を閲覧すること、アプリケーションアイコンコマンドを移動させること、アンインストールコマンドなどを含む。アクションライブラリキュレータ２０４は、アクション可能なアイテムのカテゴリを分類する。例えば、アクションライブラリキュレータ２０４は、１つ以上のソーシャルネットワーキングアプリケーションのアクション可能なアイテムを識別し、識別されたアクション可能なアイテムを「ソーシャル」カテゴリの下にグループ化する。いくつかの実施形態では、アクションライブラリキュレータ２０４は、データ記憶装置２２２内のアーカイブデータ２２２を解析し、対話データと関連付けられた１つ以上のアプリケーション及びパラメータを識別し、上記のようにアーカイブデータ２２２内の対話データに基づいてアクションライブラリ２２４を構築する。
【００４５】
処理エンジン２０６は、センサ（複数可）２４９と関連付けられたセンサデータ、及びアーカイバ２０２からのアプリケーションとのユーザの対話データのうちの１つ以上を含む情報を処理する機能を提供するためのソフトウェア及び／又は論理を含み得る。コンピューティングデバイス２００と関連付けられたセンサ（複数可）２４９は、センサデータを生成する。いくつかの実施形態では、処理エンジン２０６は、センサ（複数可）２４９からセンサデータを受信し、センサデータを処理する。例示的な処理されたデータは、限定されるものではないが、いくつかのステップを記述するデータ、地理的場所（例えば、場所の緯度、経度、及び高度）及びＧＰＳセンサからの速度を記述するデータ、モバイルコンピューティングデバイス１１５に近接した他のデバイスの存在を記述するデータ、加速度計からの運動及び運動方向を記述するデータ、光検出器からの環境内の輝度を記述するデータ、マイクロフォンからの周囲音の検出を記述するデータ、無線送受信機からの無線アクセスポイントの検出を記述するデータなどを含む。他の例示的な処理されたデータも考えられる。いくつかの実施形態では、処理エンジン２０６は、限定されるものではないが、モバイルコンピューティングデバイス１１５上のインストールされたアプリケーション、アプリケーションとのユーザ対話データ（例えば、音楽の再生、電子メールメッセージの作成、ソーシャルネットワークへの写真の投稿など）、アプリケーション使用履歴データ、アプリケーション通知データ、通信及び通話履歴データなどを含むユーザ対話データをアーカイバ２０２から受信する。他の例示的ユーザ対話データも考えられる。処理エンジン２０６は、センサデータ及びユーザからの許可を含むユーザ対話データを受信する。いくつかの実施形態では、処理エンジン２０６は、センサデータ及びユーザ対話データを、結合処理のための１つの信号ストリームに組み合わせる。処理エンジン２０６は、センサデータ及び／又はユーザ対話データ（例えば、信号ストリーム）をフィルタ処理して、イベントを決定する。イベントは、モバイルコンピューティングデバイス１１５のユーザインターフェース上のアプリケーションに関するアクション又は出来事であり得る。例えば、処理エンジン２０６は、グラフィカルユーザインターフェース（ＧＵＩ）イベントを決定し得る。ＧＵＩイベントのソースは、ユーザを含み、ユーザは、例えば、ボタン押圧、スワイプ、アプリケーションアイコンの長時間の選択（例えば、長押し）、アプリケーションに関する通知の選択、ジェスチャなどによって、アプリケーションランチャー内のアプリケーションと対話し得る。イベントはまた、モバイルコンピューティングデバイス１１５の環境内の変化であり得る。例えば、処理ユニット２０６は、場所の座標及び時間の変化を決定し、モバイルコンピューティングデバイス１１５のジオロケーションを含むフィルタ処理された信号データを出力し得る。
【００４６】
コンテキスト決定部２０８は、処理エンジン２０６から処理されたデータを受信し、処理されたデータ内のコンテキストを決定するための機能を提供するためのソフトウェア及び／又は論理を含み得る。コンテキスト決定部２０８は、処理されたデータを分析し、処理されたデータと関連付けられたコンテキストを決定する。いくつかの実施形態では、コンテキスト決定部２０８は、処理されたデータを活動認識アルゴリズムへの入力として使用して、コンテキストユーザ活動を決定する。例えば、コンテキスト決定部２０８は、処理されたデータの分析に基づいて、ランニング、ウォーキング、通勤などのユーザ活動を決定する。いくつかの実施形態では、コンテキスト決定部２０８は、コンテキストが進行中であり、閾値期間にわたって持続しているか否かを決定する。コンテキストが持続すると決定された場合、コンテキスト決定部２０８は、アクションレコメンダ２１０にコンテキストの指示を送信する。例えば、モバイルコンピューティングデバイス１１５のユーザのコンテキストが、ユーザがランニングを開始していることであると、コンテキスト決定部２０８が決定し、ランニング活動が３０秒の閾値期間継続していることをコンテキスト検出部２０８が検出した場合、コンテキスト決定部２０８は、ランニングのコンテキストの指示をアクションレコメンダ２１０に送信する。コンテキスト決定部２０８は、処理されたデータ内の異なるタイプのデータを組み合わせて、人間の理解可能なアクションの観点からコンテキストを決定する。例えば、コンテキスト決定部２０８は、以下のデータのうちの１つ以上を組み合わせる。（１）ＧＰＳセンサからのジオロケーションデータの変化、（２）自動車の存在を示す近接検出データ（例えば、Ｂｌｕｅｔｏｏｔｈで可能）、及び（３）ユーザが自動車で業務会議に通勤していると決定するためのカレンダーアプリケーション内のスケジュールされた業務イベント。別の例では、コンテキスト決定部２０８は、以下のデータのうちの１つ以上を組み合わせる。（１）時間、（２）ＧＰＳセンサからのジオロケーションデータ、及び（３）ユーザがコーヒーハウス内にいると決定するための開放Ｗｉ−Ｆｉアクセスポイントの検出。第３の例では、コンテキスト決定部２０８は、以下のデータのうちの１つ以上を組み合わせる。（１）加速度計からの動きデータ、（２）光センサからの周囲照明データ、（３）ジオロケーションデータ、及び（４）ユーザがランニングしていると決定するためのモバイルコンピューティングデバイス１１５上の電力検出器からのエネルギー使用データ。コンテキスト決定部２０８は、決定されたコンテキストを含む情報をアクションレコメンダ２１０に送信する。
【００４７】
アクションレコメンダ２１０は、コンテキスト決定部２０８からコンテキストを受信し、コンテキストに基づいてアクションライブラリ２２４から１つ以上のアクション可能なアイテムを表面化させるための機能を提供するためのソフトウェア及び／又は論理を含み得る。例えば、アクション可能なアイテムは、モバイルコンピューティングデバイス１１５のユーザ体験に表面化される。
【００４８】
図２Ｂは、アクションレコメンダ２１０の例示的実施形態を例示するブロック図である。図示されるように、アクションレコメンダ２１０は、アクションモデル生成器３０２、ランチャーアクション生成器３０４、通知アクション生成器３０６、コンテキストアクション生成器３０８、及びアクションレゾルバ３１０を含み得る。
【００４９】
アクションモデル生成器３０２は、機械学習モデルを訓練するために好適な分類されラベル付けされた特徴を含む訓練データセットを受信する。訓練データセットは、モバイルコンピューティングデバイス１１５のユーザが属する特定の人口統計グループに対応し得る。訓練データセットは、特徴としてのコンテキスト信号、及びラベルとしてのアクション可能なアイテムを含む。アクションモデル生成器３０２は、訓練データセットに基づいて、１つ以上のアクションモデルを生成する。アクションモデル生成器３０２は、データ記憶装置２４３内にアクションモデル（複数可）２２６を記憶する。アクションモデル生成器３０２は、１つ以上のアクションモデルを訓練するための機械学習論理を含み得る。いくつかの実施形態では、アクションモデル生成器３０２は、１つ以上の機械学習モデルを使用して、訓練データ上に１つ以上のアクションモデルを作成及び訓練し得る。実施形態に応じて、使用される１つ以上の機械学習モデルは、教師あり機械学習モデルのみ、教師なし機械学習モデルのみ、又は教師あり及び教師なし機械学習モデルの両方を含み得る。例示的機械学習モデルは、限定されるものではないが、分類モデル、回帰モデル、ランク付けモデル、半教師ありモデル、密度推定モデル、クラスタリングモデル、次元削減モデル、多次元照会モデル、アンサンブルモデル、畳み込みニューラルネットワークなどを含む。アクションモデル生成器３０２は、ランチャーアクション生成器３０４、通知アクション生成器３０６、及びコンテキストアクション生成器３０８に訓練されたアクションモデルを提供する。構成要素３０４、３０６及び３０８に提供される訓練されたアクションモデルは、同じ又は異なるモデルであってもよい。いくつかの実施形態では、構成要素３０４、３０６及び３０８は、１つ以上のアクションモデルを使用して、アクションライブラリ２２４からのアクション可能なアイテムを表面化させる。アクションモデルは、モバイルコンピューティングデバイス１１５のコンテキスト状態を入力として受信し、本明細書に説明されるようにアクション可能なアイテムのリストを生成し得る。アクションモデル生成器３０２は、アーカイブデータ２２２からユーザの対話データを取得し、訓練データセットを更新する。アクションモデル生成器３０２は、更新された訓練データセットを使用して、データ記憶装置２４３内のアクションモデル（複数可）２２６を再訓練する。様々なタイプの教師あり学習アルゴリズム及び／又は教師なし学習アルゴリズムを用いて機械学習論理を実装するための他のシステムアーキテクチャもまた、可能であり、企図される。
【００５０】
ランチャーアクション生成器３０４は、コンテキストがモバイルコンピューティングデバイス１１５のアプリケーションランチャーと関連付けられていることを決定し、コンテキストに応答して、アクションライブラリ２２４から１つ以上のアクション可能なアイテムを表面化させる。例えば、ランチャーアクション生成器３０４は、アプリケーションランチャー内の選択アプリケーションを長押しすることによって、コンテキストが、選択アプリケーションと関連付けられたアクションにアクセスすることのうちの１つであると決定する。ランチャーアクション生成器３０４は、アプリケーションに関する１つ以上のアクション可能なアイテムを含むアクションメニューを生成する。１つ以上のアプリケーションに関するアクション可能なアイテムは、個々の必要性に応じたアクション可能なアイテムとして定義され得る。例えば、アプリケーションに関する個々の必要性に応じたアクション可能なアイテムは、アプリケーションの最もよくアクセスされたデータ及び／又は機能をユーザにとってアクセス可能にする、迅速にアクション可能なアイテムである。ランチャーアクション生成器３０４は、アプリケーションのアクション可能なアイテムを含むアクションメニューを事前設定し、ランク付けスキームに基づいて、アクションメニュー内のアクション可能なアイテムをランク付けする。例えば、アクションメニュー内のアプリケーションに関するアクション可能なアイテムは、アプリケーションの最もよくアクセスされるデータ及び／又は機能がアクションメニューの最上部にあるように、ランク付けされ得る。いくつかの実施形態では、ランチャーアクション生成器３０４は、アクションメニューを別のアプリケーションのアクション可能なアイテムとクロスポリネイトする。例えば、ランチャーアクション生成器３０４は、アクションメニューが生成されている第１のアプリケーションのカテゴリを決定する。ランチャーアクション生成器３０４は、そのカテゴリを使用して、アクション可能なアイテムのためのアクションライブラリ２２４を検索する。ランチャーアクション生成器３０４は、第１のアプリケーションと同じカテゴリに属する第２のアプリケーションのアクション可能なアイテムを識別する。ランチャーアクション生成器３０４は、第１及び第２のアプリケーションのアクション可能なアイテムを含むアクションメニューを生成する。
【００５１】
通知アクション生成器３０６は、コンテキストがアプリケーションの通知と関連付けられていることを決定し、コンテキストに応答して、アクションライブラリ２２４から１つ以上のアクション可能なアイテムを表面化させる。例えば、通知アクション生成器３０６は、コンテキストが、詳細ビューに関する通知バー内の通知をスワイプすることによって、アプリケーションの通知を開いていることを決定する。通知アクション生成器３０６は、通知のコンテキストに関するアプリケーションのアクション可能なアイテムを含むアクションメニューを生成する。例えば、音楽ストリーミングアプリケーションからの通知は、アーティストによる新しいアルバムが購入に関して現在入手可能であることを示し得る。通知アクション生成器３０６は、音楽ストリーミングアプリケーション上のプレイリストにトラックを追加するための第１のアクション可能なアイテム、オンラインデジタルメディアストアアプリケーション上のアルバムを購入するための第２のアクション可能なアイテム、及びオンラインチケット交換サービスアプリケーション上のアーティストのコンサートに対するチケットを見つけるための第３のアクション可能なアイテムを含むアクションメニューを生成する。第１、第２及び第３のアクション可能なアイテムは、新しいアルバムに関する通知に関連するアクションをユーザがとることを容易にするためにアクションメニュー内に表面化された、個々の必要性に応じたアクション可能なアイテムである。
【００５２】
コンテキストアクション生成器３０８は、コンテキストがモバイルコンピューティングデバイス１１５の周囲環境条件と関連付けられていることを決定し、コンテキストに応答して、アクションライブラリ２２４から１つ以上のアクション可能なアイテムを表面化させる。例えば、コンテキストアクション生成器３０８は、コンテキストがフィットネス活動と関連付けられていると決定し、アクションライブラリ２２４から表面化されたフィットネスに関する１つ以上のアクション可能なアイテムを含むアクションメニュー又はコンテキスト体験メニューを生成する。例示的なアクション可能なアイテムは、ユーザにフィットネスアプリケーションでフィットネス活動を記録するように促し、音楽ストリーミングアプリケーション上のトレーニングプレイリストの再生などを開始し得る。このように、アクション可能なアイテムは、それらがフィットネス活動のコンテキストに一致するため、調整される。別の例では、コンテキストアクション生成器３０８は、自宅のＷｉ−Ｆｉネットワークに接続されることになるモバイルコンピューティングデバイス１１５のコンテキストが、ユーザが家に入っていると示すことを決定する。コンテキストアクション生成器３０８は、アクション可能なアイテムが、照明をオンにし、スマートスピーカ上で音楽を再生し、サーモスタットを調節することなどをユーザに促す、自宅コンテキストに関する１つ以上のアクション可能なアイテムを含むアクションメニューを生成する。いくつかの実施形態では、コンテキストアクション生成器３０８は、ユーザからのジェスチャ入力を受信し、ジェスチャ入力を満たすように、アクションライブラリからの１つ以上のアクション可能なアイテムを含むコンテキストアクションを表面化させる。例えば、ジェスチャ入力は、モバイルコンピューティングデバイス１１５のジェスチャパッド上での文字の運筆であり得る。コンテキストアクション生成器３０８は、アクションライブラリからの文字に関するアクション可能なアイテムを検索し、アクション可能なアイテムを含むアクションメニューを事前設定する。ジェスチャ入力の例は、限定されるものではないが、文字、数字、顔文字、落書きなどを含む。
【００５３】
アクションレゾルバ３１０は、アクションメニュー内のアクション可能なアイテムのユーザ選択を受信し、ウェブサーバ１０１によってホストされたオンラインサービス１１１のＡＰＩ１０９を使用して、モバイルコンピューティングデバイス１１５上でアプリケーションを起動せずにアクション可能なアイテムと関連付けられたアプリケーションのアクションを実施する。アクションレゾルバ３１０は、アクション可能なアイテムがユーザインターフェース内で選択されたときに、アクション可能なアイテムと関連付けられたＡＰＩ呼び出しを呼び出す。ＡＰＩ呼び出しは、アクション可能なアイテムのパラメータをＡＰＩ１０９に渡して、アプリケーションの機能を実行する。いくつかの実施形態では、アクションレゾルバ３１０は、アクション可能なアイテムのユーザ選択の受信に応答して、二次アクション画面を生成する。アクション可能なアイテムは、マルチステップアクションを必要とし得る。二次アクション画面は、追加のユーザ入力を受信して、アクション可能なアイテムと関連付けられたアプリケーションのアクションを完了するために、ＨＴＭＬ５クライアントとして生成される。例えば、Ａｌｉｃｅにテキストメッセージを送信するアクション可能なアイテムは、アクションを完了するために２つのユーザ入力を必要とし、１つ目が、アクションメニュー内のアクション可能なアイテムを選択することであり、２つ目が、二次アクション画面内にメッセージを入力することである。アクションレゾルバ３１０は、ＡＰＩ呼び出しを使用して、テキストメッセージアプリケーションのＡＰＩ１０９に、二次アクション画面内に入力されたテキストメッセージを送信し、テキストメッセージは、ユーザがテキストメッセージアプリケーションを起動することを必要とせずに、Ａｌｉｃｅに送信される。
【００５４】
図２Ａを再び参照すると、ユーザインターフェースエンジン２１２は、モバイルコンピューティングデバイス１１５のディスプレイにユーザインターフェースを生成及び送信するための機能を提供するためのソフトウェア及び／又は論理を含み得る。いくつかの実施形態では、ユーザインターフェースエンジン２１２は、アクションレコメンダ２１０から命令を受信して、１つ以上のアクション可能なアイテムを含むアクションメニューを提示するユーザインターフェースを生成する。ユーザインターフェースエンジン２１２は、通信ユニット２４１を介して、グラフィカルユーザインターフェースデータを含む命令をモバイルコンピューティングデバイス１１５に送信し、モバイルコンピューティングデバイス１１５にグラフィカルユーザインターフェースとしてデータを表示させる。
【００５５】
ここで図３を参照すると、アクションプラットフォームアプリケーション１０３の別の例示的実装態様が示されている。図３は、モバイルコンピューティングデバイス１１５のユーザ体験において１つ以上のアプリケーションのアクション可能なアイテムを表面化させるためのアクションプラットフォームアプリケーション１０３を通る概略のデータフローを示す。図３は、アクションプラットフォームアプリケーション１０３の構成要素がどのように互いに、及びウェブサーバ１０１と通信するかを例示する。具体的には、アクションライブラリキュレータ２０４及びアクションレコメンダ２１０は、それぞれ信号線３５１及び３５３を介して、複数のウェブサーバ１０１によってホストされたオンラインサービス１１１のＡＰＩ１０９と協働する。ＡＰＩ１０９は、アクションライブラリ２２４を作成するアクションライブラリキュレータ２０４のための、及び呼び出されたアクション可能なアイテムのパラメータをＡＰＩ１０９に渡して、関連付けられたアプリケーションの機能を実施するアクションレコメンダ２１０のための、アクションプラットフォームアプリケーション１０３に対するオンラインサービス１１１の機能及びデータを公開する。アクションレコメンダ２１０は、モバイルコンピューティングデバイス１１５上のアプリケーションを起動せずに、アプリケーションのアクションを開始するためのアクションライブラリ２２４からのアクションを表面化させる。
【００５６】
アーカイバ２０２は、モバイルコンピューティングデバイス１１５のユーザが、モバイルコンピューティングデバイス１１５上でアクセス可能なアプリケーションとどのように対話するかをアーカイブし、対話データに基づいて、ユーザのプロファイルを作成する。アーカイバ２０２は、モバイルコンピューティングデバイス１１５から対話データを受信するために、信号線３６９を介してモバイルコンピューティングデバイス１１５に結合され得る。アーカイバ２０２は、１つ以上のカテゴリの下でモバイルコンピューティングデバイス１１５と関連付けられたアプリケーションを識別及びグループ化する。例えば、アーカイバ２０２は、テキストメッセージ、電子メールアプリケーション、チャットアプリケーションなどのアプリケーションを、「通信」カテゴリの下でグループ化する。アーカイバ２０２は、１つのアプリケーションのデータ又は結果が、ユーザによって別のアプリケーションと対話するためにどのように使用されるかをアーカイブする。例えば、カレンダーアプリケーションからの通知が、３０分後にスケジュールされたイベントに関するリマインダを含む場合、カレンダーアプリケーションは、多くの場合、ユーザから任意の更なるアクションを受信しない。しかしながら、リマインダは、ユーザに、ウェブマッピングアプリケーションを起動させて、イベント場所への道順又は交通条件を決定し、ライドシェアアプリケーションを介して自動車を予約するか、又はイベントホストへの通話を開始する。いくつかの実施形態では、一旦、このような対話データが決定されると、アーカイバ２０２は、アーカイブデータ２２２内に記憶するためのデータ記憶装置２４３にデータを送信する。アーカイバ２０２は、信号線３５７を介してデータ記憶装置２４３に結合され得る。アーカイバ２０２はまた、アクションライブラリキュレータ２０４に対話データを送信する。アーカイバ２０２は、信号線３７１を介してアクションライブラリキュレータ２０４に結合され得る。
【００５７】
次に、アクションライブラリキュレータ２０４を参照すると、アクションライブラリキュレータ２０４は、アーカイバ２０２から対話データを受信する。アクションライブラリキュレータ２０４は、対話データを解析し、アクション可能なアイテムのライブラリを生成し、上記のように信号線３７３を介してアクションレコメンダ２１０にそれを提供する。アクションライブラリキュレータ２０４はまた、データ記憶装置２４３のアクションライブラリ２２４内に記憶するためのライブラリを送信する。アクションライブラリキュレータ２０４は、信号線３５９を介してデータ記憶装置２４３に結合され得る。アクションライブラリカテゴリの例は、限定されるものではないが、音楽アクションライブラリ（例えば、「ワークアウトミックス」の再生、「ラジオＸシティ」の起動、「バックグラウンドノイズ」のストリームなど）、自動アクションライブラリ（例えば、エンジンの始動、トランクの開放、自動車のロック解除など）、生産性アクションライブラリ（例えば、イベントの作成、リマインダの設定、アラームの設定など）、フィットネスアクションライブラリ（例えば、ランニングの記録、ジムルーチンの記録など）、モノのインターネット（ＩＯＴ）アクションライブラリ（例えば、照明の切替、サーモスタットの設定、ドアのロックなど）、ソーシャルアクションライブラリ（例えば、ステータスの投稿、写真の共有など）、通信アクションライブラリ（例えば、Ｍｏｍにテキスト送信、Ｂｏｂに電子メールなど）、及び決済アクションライブラリ（例えば、カードによる支払い、報酬の償還など）を含む。
【００５８】
処理エンジン２０６は、信号線３６５を介してモバイルコンピューティングデバイス１１５からセンサと関連付けられたセンサデータを受信し、センサデータを処理し、センサデータをフィルタ処理し、信号線３７７を介してコンテキスト決定部２０８にフィルタ処理されたデータを送信する。コンテキスト決定部２０８は、処理エンジン２０６からフィルタ処理されたデータを受信し、フィルタ処理されたデータ内の異なるタイプのデータを組み合わせ、１つ以上の活動認識アルゴリズムを使用してコンテキストを決定し、信号線３７５を介してアクションレコメンダ２１０にコンテキスト決定を送信する。コンテキスト決定部２０８は、信号線３６３を介してデータ記憶装置２４３に結合される。
【００５９】
次に、アクションレコメンダ２１０を参照すると、アクションレコメンダ２１０は、アクションライブラリキュレータ２０４からのアクションライブラリ、及びコンテキスト決定部２０８からのコンテキストを含む情報を受信する。いくつかの実施形態では、アクションレコメンダ２１０は、アクションライブラリ２２４からアクション可能なアイテムを表面化させるために使用され得る予測を変転させるためのアクションモデルを作成する。アクションレコメンダ２１０は、データ記憶装置２４３内にアクションモデルを記憶する。アクションレコメンダ２１０は、信号線３６１を介してデータ記憶装置２４３に結合され得る。アクションレコメンダ２１０は、ユーザインターフェースエンジン２１２に命令を送信して、信号線３５５を介してモバイルコンピューティングデバイス１１５のユーザインターフェース内にアクション可能なアイテムを表示する。ユーザインターフェースエンジン２１２は、信号線３６７を介してモバイルコンピューティングデバイス１１５からアクション可能なアイテムのユーザ選択を受信し、その選択をアクションレコメンダ２１０に送信する。アクションレコメンダ２１０は、ＡＰＩ１０９と協働して、アクション可能なアイテムと関連付けられた機能を実施する。
【００６０】
図４の実施例に示されるように、グラフィカル表現は、アプリケーションランチャー内のアプリケーションに関するアクション可能なアイテムを表面化させるためのユーザインターフェース４００ａ〜４００ｃを例示する。モバイルコンピューティングデバイス４０１のユーザインターフェース４００ａは、システムバー４０３及びアプリケーションランチャー４０５の２つの構成要素を含む。システムバー４０３は、ディスプレイ上で持続するクロック、セルサービス、バッテリー電力、アンテナ信号に関するアイコン及び／又はグラフィックスを図示する。アプリケーションランチャー４０５は、垂直に積層されたアプリケーションのアイコンセットを図示する。ユーザは、アプリケーションランチャー４０５を上下にスクロールして、より多くのアイコンを見ることができる。ユーザインターフェース４００ｂは、アプリケーションランチャー４０５内の音楽アプリケーションアイコン４０７の長時間のユーザ選択を図示する。例えば、長時間のユーザ選択は、指を滑らせずに、アイコン４０７がユーザによって数秒間タッチ及び押される、長時間の押圧ジェスチャであり得る。黒い中実円４１３は、アイコン４０７に対する長時間のユーザ選択のジェスチャを表す。ユーザインターフェース４００ｃは、アクションメニュー４０９を図示する。長時間の押圧ジェスチャの受信に応答して、アクションレコメンダ２１０は、音楽アプリケーション４０７に関するアクションメニュー４０９を生成する。アクションメニュー４０９は、データ記憶装置２４３内のアクションライブラリ２２４から取得された音楽アプリケーション４０７と関連付けられたアクション可能なアイテムのリスト４１１を含む。アクション可能なアイテムのリスト４１１は、音楽アプリケーション４０７のアクションメニュー内の最もよくアクセスされるコンテンツアイテム及び／又は最近アクセスされたコンテンツアイテムを表面化させるように調整される。音楽アプリケーション４０７のコンテキストでは、アクションメニュー４０９は、音楽アプリケーション４０７を起動せずに開始され得る機能の制限されたリスト４１１へのディープリンクを提供する。いくつかの実施形態では、アクションメニュー４０９は、背景内のアプリケーションアイコンをぼかして、アプリケーションランチャー４０５上の半透明オーバーレイとして生成され得る。いくつかの実施形態では、アクションレコメンダ２１０は、アプリケーションの長時間の押圧ジェスチャが受信される間のコンテキスト状態を含む情報を受信する。アクションレコメンダ２１０は、コンテキスト状態を使用して、アプリケーションのアクションメニュー内の個々の必要性に応じたアクション可能なアイテムを表面化させる。例えば、アクションレコメンダ２１０は、ユーザが自宅にいることを示すユーザのコンテキストを決定する。ユーザが音楽アプリケーション４０７上に長時間の押圧ジェスチャの適用を使用したことに応答して、アクションレコメンダ２１０は、フィットネス活動のための高エネルギープレイリスト選択とは対照的にリラックスさせるプレイリスト選択を含む、アクション可能なアイテムの個々の必要性に応じたリストを決定する。
【００６１】
図５は、アプリケーションに関するアクションメニューを図示するユーザインターフェース５００ａ〜５００ｃの実施形態を例示する例示的グラフィカル表現を示す。ユーザインターフェース５００ａは、音楽アプリケーション４０７に関するシステムアクションのリスト５１３を含むアクションメニュー４０９の第１の実施形態を図示する。アプリケーションに利用可能なアクション可能なアイテムが存在しない場合、いくつかの実施形態では、アクションレコメンダ２１０は、デフォルト状態で拡張された音楽アプリケーション４０７のシステムアクションのリスト５１３を有するアクションメニュー４０９を生成する。システムアクションのリスト５１３は、アプリケーション情報、アイコンを移動させるコマンド、及びアンインストールコマンドを含む。システムアクションはまた、関連付けられた機能を実施するために呼び出され得るアクション可能なアイテムの形態である。ユーザインターフェース５００ｂは、音楽アプリケーション４０７に関するリスト４１１及び５１３の組み合わせを含むアクションメニュー４０９の第２の実施形態を図示する。ユーザインターフェース５００ｃは、アクション可能なアイテムのリスト４１１に加えて、音楽アプリケーション４０７に関する未読通知のリスト５１５を含むアクションメニュー４０９の第３の実施形態を図示する。いくつかの実施形態では、アクションレコメンダ２１０は、重要なアクションセットとして未読通知を識別し、アクションメニュー４０９の最上部に未読通知を配置する。未読通知のリスト５１５は、未読通知のカウントを視覚的に示す。未読通知は、音楽アプリケーション４０７を起動することを必要とせずに、フルビューのために拡張され得る。リスト５１５内の通知がアクションメニュー４０９から破棄されると、通知バーからも破棄され、逆もまた同様である。
【００６２】
図６は、アクションメニュー内のアクションを編集するためのユーザインターフェース６００ａ〜６００ｄを例示する例示的グラフィカル表現を示す。ユーザインターフェース６００ａは、音楽アプリケーション４０７に関するアクション可能なアイテムを追加又は除去するための編集ボタン６１７を含むアクションメニュー４０９を図示する。ユーザインターフェース６００ｂは、ユーザインターフェース６００ａ内の編集ボタン６１７のユーザ選択に応答して更新されるアクションメニュー６１１を図示する。アクションメニュー６１１は、各アクション可能なアイテムのための除去ボタン６２３と、アクション可能なアイテムを追加するための追加ボタン６１９とを含む。ユーザインターフェース６００ｃは、ユーザインターフェース６００ｂ内の追加ボタン６１９のユーザ選択に応答して更新されるアクションメニュー６１３を図示する。アクションメニュー６１３は、アクション可能なアイテムセットを含み、ユーザは、各アクション可能なアイテムの隣の追加ボタン６２１を選択することによってアクション可能なアイテムを追加することができる。ユーザインターフェース６００ｄは、アクションメニューに対する変更を確認するための画面を図示する。ユーザは、変更を保存するために保存ボタン６２５を選択することができる。
【００６３】
いくつかの実施形態では、アクションレコメンダ２１０は、第１のアプリケーションのアクションメニュー内の第２のアプリケーションに関するアクション可能なアイテムを表面化させる。図７の例に示されるように、例示的グラフィカル表現は、第１のアプリケーションのアクションメニュー内の第２のアプリケーションに関するアクション可能なアイテムを表面化させるためのユーザインターフェース７００ａ〜７００ｄを例示する。ユーザインターフェース７００ａは、アプリケーションアイコンセットを含むアプリケーションランチャー７０１を図示する。ユーザインターフェース７００ｂは、メッセージングアプリケーションアイコン７０３の長時間のユーザ選択を図示する。黒い中実円７１１は、アイコン７０３に対する長時間のユーザ選択のジェスチャを表す。ユーザインターフェース７００ｃは、メッセージングアプリケーション７０３に関するアクションメニュー７０９を図示する。ジェスチャの受信に応答して、アクションレコメンダ２１０は、メッセージングアプリケーション７０３に関するアクションメニュー７０９を生成する。アクションメニュー７０９は、メッセージングアプリケーション７０３からのアクション可能なアイテムに加えて、他のアプリケーションからのアクション可能なアイテムのクロスポリネイトされたリスト７０５を含む。例えば、アクション可能なアイテム７１３及び７１５は、通信カテゴリ内の他のアプリケーションに属する。各アクション可能なアイテムのユーザインターフェース要素は、関連付けられたアプリケーションアイコンを含む。ユーザインターフェース７００ｄは、ユーザインターフェース７００ｃ内で選択されたアクションを完了するための二次アクション画面７０７を図示する。ユーザがユーザインターフェース７００ｃ内のアクション可能なアイテム７１７を選択したことに応答して、アクションレコメンダ２１０は、メッセージングアプリケーション７０３を起動せずに、選択された連絡先に送信するためにユーザがメッセージを入力し得る二次アクション画面７０７を生成する。
【００６４】
いくつかの実施形態では、アクションレコメンダ２１０は、アプリケーションの通知に関するアクションライブラリ２２４からアクション可能なアイテムを表面化させる。図８の例に示されるように、グラフィカル表現は、ユーザインターフェース内のアプリケーションの通知に関するアクション可能なアイテムを表面化させるためのユーザインターフェース８００ａ〜８００ｃを例示する。ユーザインターフェース８００ａは、アプリケーションランチャー８０３内のカレンダーアプリケーションからの着信通知８０１を図示する。ユーザインターフェース８００ｂは、通知８０１に関するアクションメニュー８０５を図示する。アクションメニュー８０５は、アクション可能なアイテムのリスト８０７を含む。ユーザがユーザインターフェース８００ａ内の通知８０１を選択したことに応答して、アクションレコメンダ２１０は、カレンダーアプリケーションの通知８０１に関するアクションメニュー８０５を生成し、アプリケーションランチャー８０３の最上部にドロップダウンオーバーレイとしてアクションメニュー８０５を提示する。ユーザインターフェース８００ｃは、ユーザインターフェース８００ｂ内で選択されたアクションを完了するための二次アクション画面８１１を図示する。ユーザインターフェース８００ｂ内のアクションメニュー８０５内のアクション可能なアイテム８０９をユーザが選択したことに応答して、アクションレコメンダ２１０は、ユーザが、ライドシェアアプリケーションを起動せずに、ライドシェア自動車サービスを要求し得る二次アクション画面８１１を生成する。
【００６５】
いくつかの実施形態では、アクションレコメンダ２１０は、ジェスチャ入力に応答して、アクションライブラリ２２４からアクション可能なアイテムを表面化させる。図９の例に示されるように、グラフィカル表現は、ジェスチャ入力に応答してアクション可能なアイテムを表面化させるためのユーザインターフェース９００ａ〜９００ｄを例示する。ユーザインターフェース９００ａは、アプリケーションアイコンセットを含むアプリケーションランチャー９０１を図示する。ユーザインターフェース９００ｂは、ユーザがユーザインターフェース９００ａの最下部からディスプレイをスワイプすることに応答して、見えるようになるジェスチャパッド９０３を図示する。いくつかの実施形態では、ジェスチャパッド９０３は、ロック画面から見えるようになってもよい。ジェスチャパッド９０３は、４つのアプリケーションアイコン９０９、９１１、９１３及び９１５を含む。これらの４つのアプリケーションに関するアクションメニューは、必要に応じて、ユーザによって、ジェスチャパッド９０３から表面化され得る。ユーザインターフェース９００ｃは、ユーザによるジェスチャパッド９０３上の文字「Ｓ」の運筆入力９０５を図示する。アクションレコメンダ２１０は、運筆入力９０５に対してコンテキスト的にアクション可能なアイテムを表面化させる。例えば、ユーザインターフェース９００ｄに示されるように、アクションレコメンダ２１０は、文字「Ｓ」に関するアクション可能なアイテムのリスト９０７を生成する。アクション可能なアイテムは、文字「Ｓ」から始まるアプリケーションへのショートカットを含み得る。
【００６６】
いくつかの実施形態では、アクションレコメンダ２１０は、コンテキスト決定部２０８によって検出された活動のコンテキストトリガに応答して、アクションライブラリ２２４からアクション可能なアイテムを表面化させる。図１０の例に示されるように、グラフィカル表現は、コンテキスト活動に応答して、アクション可能なアイテムを表面化させるためのユーザインターフェース１０００ａ〜１０００ｄを例示する。ユーザインターフェース１０００ａは、ユーザの自動車がモバイルコンピューティングデバイス１１５に近接して検出される第１の実施形態を図示する。ユーザインターフェース１０００ａは、近くで検出された自動車の通知１００１を図示する。通知１０００ａは、アプリケーションランチャーウィンドウの上のオーバーレイである。ユーザインターフェース１０００ａは、コンテキスト上、近接して検出された自動車に関する、アクション可能なアイテムのリスト１００３を含む。例えば、ユーザは、リスト１００３内のアクション可能なアイテムを選択して、自動車をロック解除し、エンジンを始動させ、及び／又はトランクを開くことができる。これらのアクション可能なアイテムは、モバイルコンピューティングデバイス１１５が自動車を遠隔制御することを可能にする車両アプリケーションと関連付けられ得る。リスト１００３内に含められた遠隔制御機能は、ユーザが車両アプリケーションを起動することを必要とせずに実施される。ユーザは、キャンセルボタン１００５を選択することによって通知を除去することができる。ユーザインターフェース１０００ｂは、コーヒーハウス内のユーザの場所が検出される第２の実施形態を図示する。ユーザインターフェース１０００ｂは、ユーザがコーヒーハウス内にいるかどうかを照会する通知１００７を図示し、コンテキスト上、コーヒーハウス内で検出されたユーザに関する、アクション可能なアイテムのリスト１００９を含む。例えば、ユーザは、リスト１００９内のアクション可能なアイテムを選択して、カードでコーヒーを支払う、ソーシャルネットワーク上でチェックインする、及び／又はロイヤリティポイントを使用して報酬を償還することができる。ユーザインターフェース１０００ｃは、フィットネス活動を行っているユーザが検出される第３の実施形態を図示する。ユーザインターフェース１０００ｃは、ユーザが運動を開始しているかどうかを照会する通知１０１３を図示し、フィットネス活動のコンテキストに関するアクション可能なアイテムのリスト１０１５を含む。例えば、ユーザは、リスト１０１５内のアクション可能なアイテムを選択して、サイクリング活動の記録を開始するか、ランニングの記録を開始するか、又は歩行の記録を開始することができる。ユーザインターフェース１０００ｄは、ユーザが通勤していることが検出される第４の実施形態を図示する。ユーザインターフェース１０００ｄは、ユーザが通勤しているかどうかを照会する通知１０１９を図示し、通勤のコンテキストに関するアクション可能なアイテムのリスト１０１７を含む。例えば、ユーザは、リスト１０１７内のアクション可能なアイテムを選択して、目的地への道順を取得し、通勤中のプレイリストをストリームし、及び／又は交通条件を閲覧することができる。
【００６７】
図１１Ａ及び図１１Ｂは、モバイルコンピューティングデバイス１１５上の設定をカスタマイズするためのユーザインターフェースの実施形態の例示的グラフィカル表現である。図１１Ａでは、グラフィカル表現は、機内モードの改善された形態をトグルするためのユーザインターフェース１１００の実施形態を例示する。ユーザインターフェース１１００は、モバイルコンピューティングデバイス１１５がスリープモード又はスタンバイモードに切り替えられるときに、限定されるものではないが、電話通信、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、ＧＰＳなどを含む無線周波数信号伝送を一時停止する機内プラスモード１１０１を含む。例えば、モバイルコンピューティングデバイス１１５は、モバイルコンピューティングデバイス１１５のディスプレイをオン及びオフにするスリープ／ウェーク物理ボタンが押されると、スリープ状態に置かれる。無線周波数信号伝送は、モバイルコンピューティングデバイス１１５がウェークアップされると、有効化される。機内プラスモード１１０１は、モバイルコンピューティングデバイス１１５上で現在動いているアプリケーションの例外を含む。例えば、モバイルコンピューティングデバイス１１５が通話に入って数分後にスタンバイモードに移行するとき、進行中の通話は中断されない。同様に、ウェブマッピングアプリケーションを介したナビゲーションは、同様の例では中断されない。機内プラスモード１１０１は、ボタン１１０３を使用してトグルされる。図１１Ｂでは、グラフィカル表現は、応答不可モードの改善された形態をトグルするためのユーザインターフェース１１１０の実施形態を例示する。ユーザインターフェース１１１０は、バックグラウンドアプリケーションからの中断及びモバイルコンピューティングデバイス１１５上の通知を制限する、ライフモード１１０７を含む。ユーザインターフェース１１１０は、どのアプリケーション１１０５がライフモード１１０７中にユーザに通知することができるかをユーザが選択することができる、例外を選択するためのセクションを含む。
【００６８】
図１２は、アクションライブラリを作成するための例示的方法１２００の一実施形態を例示するフロー図である。１２０２では、アーカイバ２０２は、アプリケーション、及びアプリケーションと関連付けられたパラメータを識別する。アーカイバ２０２は、モバイルコンピューティングデバイス１１５上のアプリケーションとのユーザ対話をアーカイブする。例えば、アーカイバ２０２は、ユーザが電子メールアプリケーションを起動し、アドレスリスト内の「Ｂｏｂ」という名前の連絡先を選択し、その連絡先に電子メールメッセージを送信したことを識別する。１２０４では、アクションライブラリキュレータ２０４は、アプリケーションと関連付けられたアプリケーションプログラミングインターフェース（ＡＰＩ）を介してアクセス可能なアプリケーションの機能を決定する。アクションライブラリキュレータ２０４は、図１に示されるように、アプリケーションと関連付けられたオンラインサービス１１１のＡＰＩ１０９にアクセスするためにＡＰＩ鍵を使用する。ＡＰＩ１０９がＡＰＩ鍵を有効として受け取る場合、アクションライブラリキュレータ２０４は、ＡＰＩを使用して、アプリケーションを解析し、その構成機能、タスク、又は活動を決定する。例えば、アクションライブラリキュレータ２０４は、電子メールアプリケーションの構成機能が、新たな電子メールメッセージの作成、予約の設定、カレンダー招待の作成などを含むと決定する。１２０６では、アクションライブラリキュレータ２０４は、機能を実施することと関連付けられたアプリケーションプログラミングインターフェース（ＡＰＩ）呼び出しを決定する。ＡＰＩ呼び出しは、アプリケーションの機能を実施するようにＡＰＩ１０９に対する要求を実行依頼するために使用され得る。ＡＰＩ１０９は、ＡＰＩ呼び出しの要求をサービス提供する。要求は、機能を実施することと関連付けられたパラメータ又はデータを含む。１２０８では、アクションライブラリキュレータ２０４は、ＡＰＩ呼び出し及びパラメータに基づいて、アクション可能なアイテムを生成する。アプリケーションのアクション可能なアイテムは、アプリケーションと関連付けられた機能、タスク、又は活動を実施するために、オンラインサービス１１１のＡＰＩ１０９に要求を自動的に送信するようにＡＰＩ呼び出しに直接リンクするユーザインターフェース要素であり得る。１２１０では、アクションライブラリキュレータ２０４は、アクション可能なアイテムのカテゴリを分類する。例えば、アクションライブラリキュレータ２０４は、１つ以上のフィットネスアプリケーションのアクション可能なアイテムを識別し、識別されたアクション可能なアイテムを「フィットネス」カテゴリの下にグループ化する。１２１２では、アクションライブラリキュレータ２０４は、アクションライブラリ内にアクション可能なアイテム及びカテゴリを記憶する。
【００６９】
図１３は、アプリケーションに関するアクションメニューを生成するための例示的方法１３００の一実施形態を例示するフロー図である。１３０２では、処理エンジン２０６は、アプリケーションランチャーに関連するアプリケーションの長時間の選択を受信する。１３０４では、コンテキスト決定部２０８は、アプリケーションの長時間の選択と関連付けられたコンテキストを決定する。１３０６では、アクションレコメンダ２１０は、アプリケーションと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定する。１３０８では、アクションレコメンダ２１０は、コンテキストに基づいて、アクションライブラリからアプリケーションと関連付けられたアクション可能なアイテムを決定する。１３１０では、アクションレコメンダ２１０は、アクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成する。例えば、アクション可能なアイテムの機能は、対応するアプリケーションを起動せずに実施され得る。１３１２では、ユーザインターフェースエンジン２１２は、長時間の選択に応答して、アプリケーションと関連付けられたアクションメニューを提示する。
【００７０】
図１４は、第１のアプリケーションのアクションメニュー内の第２のアプリケーションに関するアクション可能なアイテムを表面化させるための例示的方法１４００の一実施形態を例示するフロー図である（アクションのクロスポリネイション）。１４０２では、処理エンジン２０６は、アプリケーションランチャーと関連する第１のアプリケーションの長時間の選択を受信する。１４０４では、アクションレコメンダ２１０は、第１のアプリケーションのカテゴリを決定する。１４０６では、アクションレコメンダ２１０は、カテゴリと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定する。１４０８では、アクションレコメンダ２１０は、アクションライブラリから第２のアプリケーションと関連付けられたアクション可能なアイテムを決定する。１４１０では、アクションレコメンダ２１０は、第２のアプリケーションと関連付けられたアクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成する。１４１２では、ユーザインターフェースエンジン２１２は、長時間の選択に応答して、第１のアプリケーションと関連するアクションメニューを提示する。
【００７１】
図１５は、アクションメニュー内のアプリケーションの通知に関するアクション可能なアイテムを表面化させるための例示的方法１５００の一実施形態を例示するフロー図である。１５０２では、処理エンジン２０６は、第１のアプリケーションと関連付けられた通知を受信する。１５０４では、コンテキスト決定部２０８は、通知と関連付けられたコンテキストを決定する。１５０６では、アクションレコメンダ２１０は、複数のアクション可能なアイテムを含むアクションライブラリを決定する。１５０８では、アクションレコメンダ２１０は、コンテキストに基づいて、アクションライブラリから第２のアプリケーションと関連付けられたアクション可能なアイテムを決定する。１５１０では、アクションレコメンダ２１０は、アクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成する。１５１２では、ユーザインターフェースエンジン２１２は、通知と関連するアクションメニューを提示する。
【００７２】
図１６は、検出された活動及び関連付けられたコンテキストに関するアクション可能なアイテムを表面化させるための例示的方法１６００の一実施形態を例示するフロー図である。１６０２では、処理エンジン２０６は、モバイルコンピューティングデバイスから信号ストリームを受信する。１６０４では、処理エンジン２０６は、信号ストリームを処理する。１６０６では、コンテキスト決定部２０８は、処理された信号ストリームに基づいて、活動及び活動のコンテキストを検出する。１６０８では、アクションレコメンダ２１０は、１つ以上のアプリケーションと関連付けられた複数のアクション可能なアイテムを含むアクションライブラリを決定する。１６１０では、アクションレコメンダ２１０は、アクションライブラリから活動及び活動のコンテキストに関するアクション可能なアイテムを決定する。１６１２では、アクションレコメンダ２１０は、アクション可能なアイテムを実施するための直接リンクを含むアクションメニューを生成する。１６１４では、ユーザインターフェースエンジン２１２は、検出された活動に関連するアクションメニューを提示する。
【００７３】
モバイルコンピューティングデバイスのユーザ体験においてアプリケーションと関連付けられた、個々の必要性に応じたアクション可能なアイテムを表面化させるためのシステム及び方法が説明されてきた。上記の説明では、説明を目的として、上記に紹介された技術の完全な理解を提供するために、多数の具体的な詳細が明らかにされている。しかしながら、これらの具体的な詳細を伴わずに本技術が実践され得ることは、当業者には明らかであろう。他の例では、構造及びデバイスは、説明を不明瞭にすることを回避し、理解を容易にするために、ブロック図の形態で示されている。例えば、本技術は、主にソフトウェア及び特定のハードウェアを参照して上記の一実施形態に説明されている。しかしながら、本発明は、データ及びコマンドを受信し、サービスを提供する任意の周辺デバイスの一部として情報を提示し得る任意のタイプのコンピューティングシステムに適用される。
【００７４】
本明細書の「一実施形態」又は「実施形態」に対する参照は、実施形態に関連して説明されている具体的な特徴、構造、又は特性が、少なくとも１つの実施形態に含められることを意味する。本明細書の様々な場所での「一実施形態では」という語句の出現は、必ずしも全てが同じ実施形態を指すものではない。
【００７５】
上記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の動作のアルゴリズム及び記号表現に関して提示される。これらのアルゴリズムの説明及び表現は、いくつかの状況では、データ処理技術分野の当業者によって、それらの作業の要旨を他の当業者に伝えるために使用される。アルゴリズムは、本明細書では、及び一般に、所望される結果につながるステップのセルフコンシステントシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、組み合わせ、比較、及び別様に操作することができる電気又は磁気の信号の形態をとる。主に一般的な使用の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字などとして称することが、ときには好都合であることが分かっている。
【００７６】
しかしながら、これら及び同様の用語の全てが、適切な物理量と関連付けられることになり、これらの量に適用される簡便なラベルに過ぎないことを念頭に置くべきである。具体的に明記しない限り、以下の議論から明らかであるように、説明全体を通して、「処理」、「算出」、「計算」、「決定」、「表示」などの用語を利用する議論は、コンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表されるデータを、コンピュータシステムメモリ若しくはレジスタ、又は他のそのような情報記憶デバイス、伝送デバイス又はディスプレイデバイス内の物理量として同様に表される他のデータに操作及び変換する、コンピュータシステム又は同様の電子コンピューティングデバイスのアクション及びプロセスを指すことが理解される。
【００７７】
本技術はまた、本明細書における動作を実施するための装置に関する。この装置は、必要とされる目的のために専用に構築されてもよく、又はコンピュータ内に記憶されたコンピュータプログラムによって選択的に有効化又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、限定されるものではないが、各々コンピュータシステムバスに結合されている、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、及び磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、不揮発性メモリを有するＵＳＢ鍵を含むフラッシュメモリ、又は電子命令を記憶するために好適な任意のタイプの媒体などの、非一時的コンピュータ可読記憶媒体内に記憶され得る。
【００７８】
いくつかの実施形態は、完全なハードウェア実施形態、完全なソフトウェア実施形態、又はハードウェア及びソフトウェア要素の両方を含有する実施形態の形態をとることができる。一実施形態は、限定されるものではないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、ソフトウェア内に実装される。
【００７９】
更に、いくつかの実施形態は、コンピュータ又は任意の命令実行システムによって、又はそれらと併せて使用するためのプログラムコードを提供する、コンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明の目的のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって、又はそれらと併せて使用するためのプログラムを、含有、記憶、通信、伝播、又は転送し得る任意の装置であり得る。
【００８０】
プログラムコードを記憶及び／又は実行するために好適なデータ処理システムは、システムバスを介してメモリ素子に直接的又は間接的に結合された少なくとも１つのプロセッサを含み得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及びキャッシュメモリを含み得、キャッシュメモリは、実行中に大容量記憶装置から取得されなければならないコードの回数を減少させるために、少なくともいくつかのプログラムコードの一時記憶を提供する。
【００８１】
入力／出力又はＩ／Ｏデバイス（限定されるものではないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む）は、直接又は介在Ｉ／Ｏコントローラを介してシステムに結合され得る。
【００８２】
ネットワークアダプタはまた、データ処理システムが、介在するプライベート又はパブリックネットワークを介して他のデータ処理システム又は遠隔プリンタ若しくは記憶デバイスに結合されるようになることを可能にするために、システムに結合され得る。モデム、ケーブルモデム、及びイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタのうちのほんのいくつかである。
【００８３】
最後に、本明細書に提示されるアルゴリズム及びディスプレイは、いかなる特定のコンピュータ又は他の装置にも本質的に関連しない。様々な汎用システムが、本明細書の教示に従ってプログラムと共に使用されてもよく、又は必要な方法ステップを実施するために、より専用化された装置を構築することが好都合であることが判明する場合がある。様々なこれらのシステムの必要とされる構造は、上記の説明から明らかになるであろう。加えて、本技術は、任意の特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語が、本明細書に説明される様々な実施形態の教示を実装するために使用され得ることが理解されるであろう。
【００８４】
実施形態の上記の説明は、例示及び説明の目的のために提示されてきた。網羅的であること、又は開示される正確な形態に仕様を限定することを意図するものではない。上記の教示に照らして、多くの修正及び変形が可能である。実施形態の範囲は、この発明の詳細な説明によって限定されるものではなく、むしろ本出願の特許請求の範囲によって制限されることが意図される。例は、その概念又は本質的な特性から逸脱せずに、他の特定の形態で具現化されてもよいことが、当業者によって理解されるであろう。同様に、モジュール、ルーチン、特徴、属性、方法、及び他の態様の特定の名称及び分割は、必須又は重要ではなく、説明又はその特徴を実装する機構は、異なる名称、分割及び／又は形式を有してもよい。更に、関連技術分野の当業者には明らかであるように、モジュール、ルーチン、特徴、属性、方法、及び本明細書の他の態様は、ソフトウェア、ハードウェア、ファームウェア、又はその３つの任意の組み合わせとして実装されてもよい。また、一例がモジュールである本明細書の構成要素がソフトウェアとして実装される場合、構成要素は、スタンドアローンプログラムとして、より大きいプログラムの一部として、複数の別個のプログラムとして、静的又は動的にリンクされたライブラリとして、カーネルロード可能なモジュールとして、デバイスドライバとして、及び／又はコンピュータプログラミングの当業者に現在若しくは将来的に知られる何もかもの他の手段において、実装される。加えて、本明細書は、任意の特定のプログラミング言語、又は任意の特定のオペレーティングシステム若しくは環境の実施形態に決して限定されるものではない。したがって、本開示は、以下の特許請求の範囲に明らかにされる明細書の範囲の例示であることを意図し、限定を意図するものではない。
【符号の説明】
【００８５】
１００  システム
１０１  ウェブサーバ
１０３ａ，１０３ｂ，１０３ｃ  アクションプラットフォームアプリケーション
１０５  ネットワーク
１０９  アプリケーションプログラミングインターフェース
１１０  アクションプラットフォームサーバ
１１１  オンラインサービス
１１５ａ，１１５ｂ・・・１１５ｎ  モバイルコンピューティングデバイス
１９９  データベース
【図１】
2020526833.tif 000003
【図２Ａ】
2020526833.tif 000004
【図２Ｂ】
2020526833.tif 000005
【図３】
2020526833.tif 000006
【図４】
2020526833.tif 000007
【図５】
2020526833.tif 000008
【図６】
2020526833.tif 000009
【図７】
2020526833.tif 000010
【図８】
2020526833.tif 000011
【図９】
2020526833.tif 000012
【図１０】
2020526833.tif 000013
【図１１Ａ】
2020526833.tif 000014
【図１１Ｂ】
2020526833.tif 000015
【図１２】
2020526833.tif 000016
【図１３】
2020526833.tif 000017
【図１４】
2020526833.tif 000018
【図１５】
2020526833.tif 000019
【図１６】
2020526833.tif 000020
【国際調査報告】
2020526833.tif 000021