説明

集約した装置利用データを用いたユーザ・エクスペリエンスの向上

集約した装置利用データを用いてユーザ・エクスペリエンスを向上させることは、コンピューティング装置および/または周辺装置などの装置についての集約した利用データを受け取ることを含む。装置に対する現在のユーザ・コンテクストが特定され、集約した利用データと現在のユーザ・コンテクストとに基づいて、向上したユーザ・インタフェースが生成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、集約した装置利用データを用いてユーザ・エクスペリエンスを向上させる方法およびシステムに関する。
【背景技術】
【0002】
コンピュータは実質的に我々の生活のあらゆる領域で当たり前のものになっている。多種多様なコンピュータが存在し、それらを様々な方法によりアプリケーション、周辺装置等で構成し使用することができる。しばしば、コンピュータの動作中に、コンピュータが様々に応答しうることが発生する。例えば、アプリケーションを実行したとき、周辺装置をコンピュータに接続したとき等にコンピュータは様々な動作を実行することができる。これらの様々な動作はしばしば、実行すべき動作をユーザが選択可能な選択肢のリストとしてユーザに提示される。しかし、コンピュータのユーザは、その選択肢を理解できなかったり、自分の希望をコンピュータへどう伝えるのか分からない、といった理由で、実行すべき動作を選択する際、困難に直面する場合がある。従って、係る選択肢をユーザに提示する仕方を改善する方法があれば有益であるはずである。
【発明の概要】
【0003】
本要約を、選択した概念を簡潔な形で紹介するために提示する。これらの概念は以下の「発明を実施するための形態」でさらに詳細に説明する。本要約により特許請求の範囲に記載した主題の主要な機能または本質的な機能を特定することは意図しておらず、本要約を特許請求の範囲に記載した主題の範囲を限定するために使用することも意図していない。
【0004】
集約した装置利用データを用いてユーザ・エクスペリエンスを向上させる特定の態様に従って、装置に対する集約した利用データを受け取って現在のユーザ・コンテクストを特定する。その集約した利用データと現在のユーザ・コンテクストに基づいて、改善されたユーザ・エクスペリエンスが生まれる。
【図面の簡単な説明】
【0005】
全図面を通じて、同じ番号を用いて類似機能を参照する。
【図1】集約した装置利用データを用いたユーザ・エクスペリエンスの向上を使用できるシステムの例を示す図である。
【図2】周辺装置の例を示すブロック図である。
【図3】コンピューティング装置の例を示すブロック図である。
【図4】集約サーバの例を示すブロック図である。
【図5】可能動作リストに基づく動作の自動選択を使用するシステムの例を示す図である。
【図6】集約した装置利用データを用いてユーザ・エクスペリエンスを向上させるプロセスの例を示す図である。
【図7】本明細書で論ずる集約した装置利用データを用いたユーザ・エクスペリエンスの向上を実装するために使用できる、一般的なコンピューティング装置の例を示す図である。
【発明を実施するための形態】
【0006】
本明細書では集約した装置利用データを用いたユーザ・エクスペリエンスの向上を論ずる。コンピューティング装置および周辺装置などの複数の装置に対する装置利用データを当該コンピューティング装置により収集する。コンピューティング装置は利用データを1つ又は複数のサーバに伝送し、当該サーバは当該利用データを集約し、集約した利用データをコンピューティング装置に送信する。コンピューティング装置の現在のコンテクストが与えられると、集約した利用データを現在のコンテクストとともに使用して1つ又は複数の装置のユーザ・エクスペリエンスを向上させる。ユーザに対する可能動作リストから選択すること、ユーザ・インタフェース(UI)要素を整列すること、カラー・タギング(color tagging)を追加すること、および埋め込んだハイパーリンクを修正すること等の様々な方法でユーザ・エクスペリエンスを向上させることができる。
【0007】
図1は、集約した装置利用データを用いたユーザ・エクスペリエンスの向上を使用できるシステム100の例を示す図である。一般に、周辺装置102は、ユーザが周辺装置102を使用する際の利用データを収集する。周辺装置には、コンピューティング装置104に(例えば、有線接続または無線接続により)直接または(フラッシュ・メモリ・カードまたはポータブル・ハード・ディスクの転送により)間接的に接続できる幾つかの様々な装置が含まれる。周辺装置102を図1においてデジタル・カメラとして例示してあるが、当然のことながら装置102は、カムコーダ、記憶装置、ポータブル音楽プレイヤおよび/またはポータブル・ビデオ・プレイヤ、プリンタ、スキャナ、多機能マシン等のような他種の周辺装置であってもよいことは理解されよう。
【0008】
収集した利用データは周辺装置102からコンピューティング装置104に転送される。コンピューティング装置104は、デスクトップ・コンピュータ、ハンドヘルド・コンピュータ、ラップトップ・コンピュータ、サーバ・コンピュータ、ゲーム・コンソール、娯楽システム等のような、種々のコンピューティング装置の何れかとすることができる。周辺装置102から収集した利用データに加えて、それぞれのコンピューティング装置104は、ユーザがコンピューティング装置104を使用する際のコンピューティング装置104自体に対する利用データも収集することができる。これは例えば、ユーザによる選択、実行したプログラム、ユーザとコンピューティング装置との間の(例えば、キーボード、マウス、リモート制御、音声コマンド、等による)相互作用、等を含むことができる。
【0009】
コンピューティング装置104はこの利用データを1つ又は複数のサーバ106に転送する。サーバ106は種々のコンピューティング装置の何れかであり、コンピューティング装置104から受け取った利用データを集約するよう機能する。さらに、装置102(3)のような幾つかの周辺装置102は、随意にコンピューティング装置104を通さずに利用データを直接サーバ106にアップロードしてもよい。
【0010】
様々な種類の周辺装置を様々なコンピューティング装置104に接続することができ、様々な種類の周辺装置を同一のコンピューティング装置104に接続することができる。さらに、様々な種類のコンピューティング装置(例えば、ラップトップ・コンピュータ、デスクトップ・コンピュータ、等)が存在することができる。様々な種類の周辺装置およびコンピューティング装置に対する利用データをサーバ106により分離し、当該様々な種類の周辺装置およびコンピューティング装置に対する利用データを装置タイプ別に一緒に集約することができる。ある特定の実施形態では、サーバ106はデータを装置のタイプ、ベンダ、またはモデル別に一緒に集約する。例えば、デジタル・カメラは一種の周辺装置であり、ベンダにより、およびそのベンダが用いる型番により一緒に集約することができる。他の実施形態では、サーバ106はデータを、装置のモデルとは無関係に、タイプにより一緒に集約する。例えば、デジタル・カメラに対する利用データを、デジタル・カメラのベンダまたはモデルとは無関係に、一緒に集約することができ、またはノートブック・コンピュータに対する利用データを、当該ノートブック・コンピュータのベンダまたはモデルとは無関係に、一緒に集約することができる。
【0011】
さらに、抽象装置記述(abstract device description)をコンピューティング装置104および/またはサーバ106により使用して、特定の種類の装置に対する利用データを記憶することができる。この抽象装置記述は、特定の種類の装置に対する利用データを標準的な表現により記憶する(例えば、抽象装置記述はスキーマであることができる)。様々な抽象装置記述が通常は様々な種類の装置に使用される。例えば、デジタル・カメラ・タイプの装置に対して、抽象装置記述は、シャッター・ボタンが押下される度にカメラの設定を記憶するための「シャッター・ボタン」要素、カメラのメニューにアクセスする度に(もしあれば)選択されたメニュー項目を記述するデータを記憶するための「メニュー」要素、カメラのフラッシュの設定(例えば、オン、オフ、赤目軽減、等)を記述するデータを記憶するための「フラッシュ」要素、どのプリセット露出設定または撮影モードがユーザにより選択されているかを記述するデータを記憶するための「プリセット」要素などを含むことができる。
【0012】
1つ又は複数の集約サーバ106は集約した利用データをコンピューティング装置104にも返す。集約データをコンピューティング装置104に戻すことにより、コンピューティング装置104は、利用データがコンピューティング装置の全てにより受け取られるという利益を得る。標準化されたモデルで記述される共通的な因子に沿って集約することにより、集約データは利用データの多様な個別データ・ポイントから生成される。同じ抽象的な因子を共有するデータを様々な種類の装置に渡って集約することもできる。所与のユーザに対し、様々な使用セッションに渡って、およびユーザに関係する様々な装置に渡って、集約を行うことができる。さらに、複数のユーザに共通なデータ・ポイントに来るサンプリングされたユーザ群に渡って、データを集約することができる。最後のデータ・ポイントの分析処理および抽出を、1つ又は複数の装置102および1つ又は複数のサーバ106の間で分散させることができる。これにより、以下でより詳細に論ずるように、コンピューティング装置104が使用する、より広範囲のデータが与えられる。
【0013】
コンピューティング装置104は利用データを、周辺装置102および/またはコンピューティング装置104を使用する際のユーザ・エクスペリエンスを自動的に向上させるための基礎として使用する。ユーザに対する可能動作リストからの自動選択、UI要素の自動整列、カラー・タギングの自動追加、埋め込まれたハイパーリンクの自動修正、ユーザ選択肢の自動再優先化、等のような様々な方法でユーザ・エクスペリエンスを向上させることができる。例えば、ユーザが周辺装置102をコンピューティング装置104に接続すると、コンピューティング装置104は実施すべき動作を自動的に選択することができ、コンピューティング装置104は、ユーザが望む可能性が高い動作がより目だって(例えば、リストのより上位に、より大きいフォントもしくは別のフォントで、あるいは別の色で)表示されるように、実施できる可能動作リスト内で動作を自動的に再整列することができる、等である。この自動的な選択を行うために特定のコンピューティング装置104が使用する利用データは、単にその特定のコンピューティング装置104が(自身またはそれに接続した周辺装置102の何れかの利用から)収集した利用データであることができ、あるいは(例えば、集約サーバ106からコンピューティング装置104に返された)集約した利用データであることができる。
【0014】
図2は、周辺装置200の一例を示すブロック図である。周辺装置200は図1の周辺装置102の何れかとすることができる。周辺装置200は、コントローラ202、ファームウェアまたはソフトウェア204、およびメモリ206を含む。メモリ206は、動作中に周辺装置200が使用するデータ(例えば、撮影した画像データ、印刷または記憶するため受け取ったデータ、等)である装置データ208を含む。メモリ206は、(フラッシュ・メモリ・カード、ポータブル・ハード・ドライブ、等のような周辺装置200から容易に取り外せるように設計した)取外し可能メモリおよび/または(周辺装置200内部に残るように設計した)取外し不能メモリを含むことができる。
【0015】
ファームウェアまたはソフトウェア204は、周辺装置200の機能を遂行するためにコントローラ202により実行される命令セットである。別個なものとして示してあるが、ファームウェアまたはソフトウェア204は場合によってはメモリ206の一部として含めることができる。具体的な機能は、周辺装置の特定タイプとその装置のベンダの希望とに基づいて様々であろう。ファームウェアまたはソフトウェア204の一部は利用データ・マネージャ210である。利用データ・マネージャ210は周辺装置200の利用を監視し、その利用状況を利用データ212として記述するデータを記憶する。様々なデータの何れかを、周辺装置のタイプとその装置のベンダの希望とに応じて利用データ212として記憶することができる。例えば、周辺装置200がデジタル・カメラである場合、利用データ212はそれぞれの撮影画像を記述するデータ(例えば、その時のフラッシュの設定、その時のシャッター速度、ユーザがデフォルト設定を上書きしたかどうか、ユーザがどのメニューにアクセスしたか、これらのメニューへアクセスしたときにユーザが何らかの設定を変更したかどうか、等)を含むことができる。
【0016】
収集した利用データは、共通なスキーマ、および/または特定のベンダおよび/もしくはモデルに特有な利用データに従って収集した、汎用的なデータを含む。例えば、フラッシュの設定のような汎用的な利用データを、全てのデジタル・カメラに対する共通のスキーマに従って収集することができる。別の例として、デジタル・カメラの特定のベンダおよび/またはモデルに対する特定のメニュー設定を収集することもできる。集約した利用データとしてコンピューティング装置104に返される特定のベンダおよび/またはモデルに特有な任意の利用データは、その特定のベンダおよび/またはモデルではない装置に対するユーザ・エクスペリエンスを向上するときは、コンピューティング装置104により単純に無視される。
【0017】
図3は、コンピューティング装置300の一例を示すブロック図である。コンピューティング装置300は図1のコンピューティング装置104の何れかとすることができる。コンピューティング装置300は利用データ制御モジュール302、適応化モジュール304、匿名化モジュール306、および集約した利用データ308を含む。モジュール302〜306は一般に、プロセッサ(図3では不図示)により実行されるソフトウェアまたはファームウェアの命令を用いて実装される。
【0018】
利用データ制御モジュール302は、コンピューティング装置300に接続した周辺装置102から利用データを受け取り、その受け取った利用データを集約サーバ(例えば、図1のサーバ106)にアップロードする。利用データの受け取り方は、周辺装置のコンピューティング装置300への接続のされ方に応じて様々である。周辺装置を例えば無線接続、IEEE1394ケーブル接続、USBケーブル接続、等によって、直接コンピューティング装置300に接続することができる。周辺装置を、例えばデータが記憶されるフラッシュ・メモリ・カードを周辺装置から取り外し、直接コンピューティング装置300に接続させることによって、間接的にコンピューティング装置300に接続することもできる。周辺装置をどのようにコンピューティング装置300に接続するかに関わらず、周辺装置からの利用データを利用データ制御モジュール302に利用可能とする。
【0019】
さらに、ある特定の実施形態では、利用データ制御モジュール302は、汎用的な利用データをベンダおよび/またはモデルに特有の利用データから分離する。汎用的な利用データ(同一もしくは異なるタイプの装置、および異なるベンダの装置、および/または異なるモデルの装置に共通な利用データ)は、任意の装置(またはそのタイプの任意の装置)を使用するときに、ユーザ・エクスペリエンスを変更するために使用する。ベンダおよび/またはモデルに特有な利用データを使用して、その特定のベンダおよび/またはモデルの装置のみのユーザ・エクスペリエンスを変更する。
【0020】
ある特定の実施形態では、周辺装置は自身の識別子を記憶する。この識別子は、利用データ制御モジュール302が、受け取った利用データを正しいタイプの装置と関連付けることができるように、(例えば、シリアル番号またはプロビジョニング証明書により)周辺装置自身を一意に識別するか、または(例えば、製造者番号および型番により)周辺装置自身を概して特定するかの何れかである。これを、汎用的な利用データをベンダおよび/またはモデルに特有な利用データから分離することをサポートするための基礎として使用することができる。あるいは、周辺装置がコンピューティング装置300に直接接続されていれば、当該周辺装置は自身をコンピューティング装置300に対して特定することができる。周辺装置が自身をシリアル番号により特定する場合は、利用データ制御モジュール302は、データベース、またはそのシリアル番号を周辺装置のタイプにマッピングする他のレコードにアクセスすることができる。あるいは、このマッピングをコンピューティング装置300ではなく図1の集約サーバ106により実施してもよい。さらに、マッピングを、装置のベンダまたはファームウェア・プロバイダによりファームウェア記述子(firmware descriptor)に入れた「インスタンス」データにより実施することができる。
【0021】
受け取った利用データを、少なくとも一時的に、集約サーバへのアップロード前に記憶することもできる。利用データ制御モジュール302は、周辺装置102から利用データを受け取る際に、利用データ308を集約サーバにアップロードすることができるか、または複数の周辺装置102から利用データを(または同一の周辺装置から複数セットの利用データを)、1つ又は複数の周辺装置102から収集した利用データをアップロードする前に、収集することができる。ある特定の実施形態では、利用データは様々な装置に分散して、利用データを組み合わせたサンプルを提供することができる。例えば、別々のスキャナおよびプリンタの「コピー」利用の測定値を利用データ制御モジュール302により提供することができる。このタイプの利用データの集約は、複数の異なる周辺装置に及ぶが、特定のコンピューティング装置に特有である。
【0022】
利用データ制御モジュール302は、コンピューティング装置300および/または周辺装置102の利用に関する利用データも収集することができる。例えば、利用データ制御モジュール302は、周辺装置102をコンピューティング装置300に接続しているときのユーザの動作(例えば、画像を即座に印刷した、ファイルをハード・ディスクに転送した、ファイルを光記憶媒体(例えば、CDまたはDVD)に焼いた、等)に関する利用データを収集することができる。さらに、ユーザのコンピューティング装置300との相互作用に関する利用データを、周辺装置が関わるかどうかに関係なく収集することができる。例えば、利用データ制御モジュール302は特定のプログラムを実行するときのユーザの動作、コンピューティング装置を起動または再起動したときにユーザが選択した実行プログラム、デフォルトの装置としてユーザが選択した特定の周辺装置(例えば、プリンタ)、等に関する利用データを収集することができる。この利用データの全ては、コンピューティング装置によって収集したか周辺装置によって収集したかに関わらず、利用データ制御モジュール302により集約サーバにアップロードされる。
【0023】
集約サーバにアップロードされた利用データはコンピューティング装置300および/または周辺装置102のユーザに対する個人データを含む場合もあれば含まない場合もある。係る個人データは、例えば、周辺装置102またはコンピューティング装置300のシリアル番号、ユーザの名前、ユーザの電子メール・アドレス、ユーザの他の一意な識別子、等を含むことができる。アップロードされた利用データに個人データが含まれる場合、どの個人データが含まれるかは、周辺装置102またはコンピューティング装置300のユーザからの入力に基づいて決定される。ユーザは、個人データがある場合、プライバシー・レベルを選択することによって、どの程度個人データを公開したいか選択することができる。プライバシー・レベルのレコードをコンピューティング装置300および/または周辺装置102側で保持することができる。他の実施形態では、装置およびデータ・ポイントの汎用的な識別子を利用して、集中管理されたポリシーに基づいて利用データの集約をフィルタまたは制限するようにコンピューティング装置300を構成する。
【0024】
匿名化モジュール306が場合によってはコンピューティング装置300に含まれる。匿名化モジュール306は、ユーザの選択したプライバシー・レベルに基づいて、任意の個人データを周辺装置102から受け取った利用データから削除する。例えば、プライバシー・レベルが周辺装置102のシリアル番号とユーザの名前をベンダにアップロードできることを示す場合、匿名化モジュール306により当該シリアル番号とユーザの名前を利用データ内に残すことができる。別の例として、プライバシー・レベルがベンダに送信される個人データはないことを示す場合、匿名化モジュール306は全ての個人データを利用データから削除する。あるいは、個人データを匿名化モジュール306ではなく集約サーバにより削除してもよい。
【0025】
コンピューティング装置300は、集約した利用データ308も記憶する。集約サーバは、複数の周辺装置102に対して複数のコンピューティング装置300から受け取った利用データを(例えば、抽象的なスキーマに従って)集約し、その集約した利用データを、集約した利用データ308として当該データを記憶するコンピューティング装置300に返す。このように、集約した利用データ308は、複数の異なるユーザが使用している複数の周辺装置から集約される。あるいは、コンピューティング装置300は集約した利用データ308を、コンピューティング装置300に接続した周辺装置102から受け取った唯一の利用データとして、コンピューティング装置300によってコンピューティング装置300のユーザから収集した唯一の利用データとして、コンピューティング装置300によってコンピューティング装置300の特定ユーザから収集した唯一の利用データとして、特定のユーザによってのみ使用される、周辺装置102から受け取った利用データとして、保持してもよい。このデータ集約は、多くの異なる周辺装置および/またはユーザに広がるものではないが、集約サーバに関して後述するのと同様な方法で実施されよう。
【0026】
集約した利用データ308は一般に、様々な装置タイプに関連する様々な部分を含む。集約した利用データ308を様々な装置モデルに対する様々な部分に分離することで、当該様々な部分が使用可能な様々な装置に関連付けられるので、以下で詳述するように、適応化モジュール304によって装置のユーザ・エクスペリエンスをさらに向上させることができる。
【0027】
適応化モジュール304は集約した利用データ308を、図1のコンピューティング装置300および/または周辺装置102のユーザ・エクスペリエンスを向上させるための基礎として使用する。この向上には、例えば、コンピューティング装置300のユーザおよび/または周辺装置102のユーザに対する可能動作リストから動作を自動的に選択することを含めることができる。例えば、ユーザが周辺装置102をコンピューティング装置300に接続すると、適応化モジュール304は実施すべき動作を自動的に選択する。この向上プロセスを以下でより詳細に論ずる。
【0028】
図4は、集約サーバ400の一例を示すブロック図である。集約サーバ400は、例えば図1の集約サーバ106とすることができる。集約サーバ400は、利用データ制御モジュール402、匿名化モジュール404、集約モジュール406、および利用データ・データベース408を含む。モジュール402〜406は一般に、プロセッサ(図4には不図示)により実行されるソフトウェアまたはファームウェアの命令を用いて実装される。
【0029】
利用データ制御モジュール402は利用データを図1のコンピューティング装置104から受け取る。受け取った利用データからユーザの個人データが削除されていない場合、匿名化モジュール404はユーザが選択したプライバシー・レベルに従って個人データを削除する。このプライバシー・レベルは一般に、コンピューティング装置104により集約サーバ400に送信される。
【0030】
集約モジュール406は利用データ制御モジュール402により受け取った利用データを集約し、その集約データを利用データ・データベース408に格納する。集約モジュール406は利用データを装置タイプで(一般には製造者およびモデルで)集約する。データを汎用的な装置クラスで集約することもできる。利用データが関連付けられる特定の装置タイプは一般に、集約サーバ400により利用データとともに受け取られる。特定の装置タイプに対して利用データを集約することは、利用データが集約サーバ400により収集される全てのユーザに渡って、そのタイプの装置の使用方式を維持することに関係する。この集約した利用データは、例えば、どのメニュー・オプションにアクセスされ、画像の撮影にどの設定が行われたか、何らかの露出プリセットが選択されたか、周辺装置をコンピューティング装置に接続したときにコンピューティング装置へのデータ転送に関して何を行ったか(例えば、画像を即座に印刷した、ファイルをハード・ディスクに転送した、ファイルを光記憶媒体(例えば、CDまたはDVD)に焼いた、等)を含むことができる。このように、集約サーバが受け取った利用データの全ては、それぞれの装置タイプに対する単一の利用データ集合体に統合される。
【0031】
利用データ制御モジュール402は、特定の装置タイプに対する集約した利用データもデータベース408から図1のコンピューティング装置102に返す。どの集約した利用データがコンピューティング装置に返されるかは様々でありうる。ある特定の実施形態では、集約サーバ400は集約した利用データを、サーバ400がそこから利用データを受け取った特定装置タイプに対する特定のコンピューティング装置102に返す。あるいは、集約サーバ400は、自身がそれぞれのコンピューティング装置102に送信する、集約した利用データのデフォルトの集合体を有してもよい。あるいは、コンピューティング装置102は、受け取りたい特定の利用データを要求することができる(例えば、コンピューティング装置102は、コンピューティング装置に新規の周辺装置が接続されたことを検出し、その新規の周辺装置の装置タイプに対する集約した利用データを集約サーバ400に要求することができる)。
【0032】
図5は、可能動作リストに基づく動作の自動選択を使用するシステム500の一例を示す図である。システム500は、図3のコンピューティング装置300のようなコンピューティング装置に実装される。例えば、システムを図3の適応化モジュール304として実装することができる。
【0033】
システム500を様々な方法で起動することができる。ある特定の実施形態では、オペレーティング・システムまたは別のアプリケーションがシステム500を起動する。代替的な実施形態では、システム500をユーザの要求で起動することができる。さらに、システム500を、コンテクストの変更がある度に起動することができる。コンテクストとは、システム500を実装するコンピューティング装置上で現在発生していることを指す。例えば、どの周辺装置がコンピューティング装置に接続されているか、いずれかの周辺装置が直近にコンピューティング装置に接続されたかどうか、どのアプリケーションがコンピューティング装置上で実行されているか、どのアプリケーションが直近にコンピューティング装置上で実行され始めたか、どのアプリケーションがコンピューティング装置上でまさに実行を停止したところか、等である。ある特定の実施形態では、コンテクストの変更がある度(例えば、アプリケーションが実行を開始する度、周辺装置をコンピューティング装置に接続する度、等)にシステム500が起動される。
【0034】
集約した利用データ502およびコンテクスト504はリスト生成モジュール506に入力され、リスト生成モジュール506は可能動作リスト508を生成する。集約した利用データ502は、例えば、図3のコンピューティング装置300に記憶した集約した利用データ308である。コンテクスト504は、システム500を実装するコンピューティング装置上で現在発生していることを指す。コンテクスト504は一般に、オペレーティング・システムまたは、システム500を実装するコンピューティング装置のコンテクストを監視する別のアプリケーションにより与えられる。
【0035】
リスト生成モジュール506は、集約した利用データ502とコンテクスト504に基づいて、可能動作リスト508を決定する。モジュール506は様々な方法のうち何れかにより可能動作リスト508を生成することができる。集約した利用データ502は、上記で論じたように、ユーザが装置を利用する方法を特定する。例えば、集約した利用データ502は、デジタル・カメラがコンピューティング装置に接続されたとき、ユーザがカラー・プリンタに直接画像を印刷したこと、画像をローカル・ハード・ドライブにコピーしたこと、画像をリモート記憶装置に保存したこと、または画像をオンラインの画像印刷サービスに転送したこと、の何れかを示すことができる。この利用データが与えられると、コンテクスト504が、システム500を実装するコンピューティング装置にデジタル・カメラがちょうど接続されたことである場合、リスト生成モジュール506は、可能動作リスト508として、画像をコンピューティング装置に接続されたカラー・プリンタに直接印刷する動作、画像をコンピューティング装置のローカル・ハード・ディスクにコピーする動作、画像をコンピューティング装置に接続されたリモート記憶装置に保存する動作、および画像をオンラインの画像印刷サービスに転送する動作を生成することができる。
【0036】
動作選択モジュール510は可能動作リスト508を受け取り、可能動作リスト508に基づいて、選択した動作512を出力する。動作選択モジュール510は、様々な方法で動作して、可能動作リストからどの動作が選択された動作512であるべきかを決定することができる。さらに、ある特定の実施形態では、リスト508のうちの複数の動作が、選択された動作512になりうる(例えば、上のデジタル・カメラの例に従うと、選択された動作は、画像をリモート記憶装置に保存すること、および画像をコンピューティング装置に接続されたカラー・プリンタに直接印刷することの両方になりうる)。
【0037】
ある特定の実施形態では、動作選択モジュール510は選択された動作512に対して人工知能プロセスを使用する。人工知能プロセスは、例えば、集約した利用データ502から学習することができる。人工知能プロセスは集約した利用データ502を受け取り、集約した利用データ502に反映される他のユーザの動作から学習することができる。エキスパート・システム、ベイジアン・ネットワーク、ニューラル・ネットワーク、等のような様々な人工知能プロセスのうち何れかを使用することができる。
【0038】
このように、システム500は実施すべき動作を、システム500を実装する装置のコンテクストと集約した利用データとに基づいて、自動的に選択する。集約した利用デ一夕を用いることで、システムは利用データが複数の異なるユーザから収集されるという利益を得る。さらに、一般に新規の装置には学習時間は必要ではない。当該装置は、新規のユーザについて特定のコンテクストに最初に遭遇したときも、集約した利用データに基づいて動作を自動的に選択することができる。
【0039】
図6は、集約した装置利用データを用いてユーザ・エクスペリエンスを向上させるためのプロセス600の一例を示す図である。プロセス600を、例えば、図3の適応化モジュール304により実行することができ、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せで実装することができる。
【0040】
先ず、集約した利用データを受け取る(動作602)。上記で論じたように、この集約した利用データを複数のコンピューティング装置の複数のユーザから、または単一のコンピューティング装置の1又は複数のユーザから集約することができる。集約した利用データは、装置が様々なコンテクストでどのように利用されたかを反映する。集約した利用データはコンピューティング装置だけでなく1つまたは複数の周辺装置に対する利用データも含むことができる。
【0041】
現在のユーザ・コンテクストも特定される(動作604)。現在のユーザ・コンテクストは、上記で論じたように、プロセス600を実装する装置上で現在発生していることを指す。次に、向上したユーザ・エクスペリエンスを、集約した利用データと現在のユーザ・コンテクストに基づいて生成する(動作606)。
【0042】
向上したユーザ・エクスペリエンスは様々な形態を取ることができる。ある特定の実施形態では、図5に関して上記で論じたように、可能動作リストが生成され、その可能動作リストから、最も望ましいであろう動作が選択されて実施される。上記で論じたように、動作リストを様々な方法で生成することができる。最も望ましいであろう動作は、プロセス600を実装するシステムが、集約した利用データと現在のユーザ・コンテクストに基づいて、システムのユーザが最も実施を望むと思われる動作だと判定する動作である。これは、例えば、図5の選択された動作512である。
【0043】
さらに、ある特定の実施形態では、生成された可能動作リストの識別子ならびに/または動作606で選択および実施された望ましい動作の識別子を集約サーバ(例えば、図1のサーバ106)に送信する。これは、集約サーバに送信でき、集約した利用データへ集約サーバが取り込むことができる追加の利用データである。
【0044】
向上したユーザ・エクスペリエンスは他の形を取ることもできる。例えば、可能動作リストの動作の1つを自動的に選択および実施するのではなく、可能動作リストをユーザへの提示向けに再整列することができる。この再整列により、例えば、集約した利用データと現在のユーザ・コンテクストに基づいて、最もユーザが望むと思われると決定された動作が、ユーザがあまり望まないであろうと決定されたものよりも、リスト内で上位に(またはリスト内でより目立って)置かれることになるはずである。
【0045】
別の例として、ユーザ・インタフェースのある特定の態様の色を変更することで、ユーザ・エクスペリエンスを向上することができる。例えば、集約した利用データと現在のユーザ・コンテクストに基づいて、様々な背景またはテキストの色を使用することができ、様々な色を用いて動作リスト内の様々な動作を表示することができ、様々な強調色を選択することができる、等である。
【0046】
さらに別の例として、埋め込まれたハイパーリンクを変更することでユーザ・エクスペリエンスを向上することができる。例えば、集約した利用データと現在のユーザ・コンテクストに基づいて、(特定のヘルプまたは情報源のような)最も望ましいであろうデータ・ソースを特定するようにリンクを変更し、最もユーザが望むと思われると決定されたリンクが、ユーザがあまり望まないであろうと決定されたものよりも、上位に(またはより目立って)配置されるように、リンクを再配置することができる。
【0047】
図7は、本明細書で論じた、集約した装置利用データを用いたユーザ・エクスペリエンスの向上を実装するために使用できる、一般的なコンピューティング装置700の一例を示す図である。コンピューティング装置700は図1の装置104もしくはサーバ106、または図1の周辺装置102とすることができる。コンピューティング装置700はコンピューティング装置の一例に過ぎず、コンピューティング装置およびネットワーク・アーキテクチャの使用範囲または機能に関する限定を示唆することは意図していない。また、コンピューティング装置700が、コンピューティング装置700の例に示した任意の構成要素または構成要素の結合または組合せを含める(または排除する)ことに関するどのような要件を有するとも解釈すべきではない。
【0048】
コンピューティング装置700は、汎用コンピューティング装置であり、1つまたは複数のプロセッサまたは処理ユニット704、システム・メモリ706、およびプロセッサ704を含む様々なシステムの構成要素をシステム・メモリ706に接続するバス702を含むことができるがこれらに限らない。
【0049】
バス702は、メモリ・バスまたはメモリ・コントローラ、周辺バス、加速グラフィックス・ポート、および様々なバス・アーキテクチャの何れかを用いたプロセッサまたはローカル・バスを含む、数種のバス構造の何れかのうち1つまたは複数を表す。例として、係るアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、エンハンストISA(EISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびメザニン・バスとしても知られるPCI(Peripheral Component Interconnects)バスを含むことができる。
【0050】
システム・メモリ706は、RAM(random access memory)のような揮発性メモリ、および/またはROM(read only memory)のような不揮発性メモリの形のコンピュータ読取可能媒体を含む。
【0051】
コンピューティング装置700は、他の取外し可能/取外し不能、揮発性/不揮発性のコンピュータ記憶装置708を含むこともできる。例として、記憶装置708は、取外し不能で不揮発性の磁気媒体を読み書きするための1つまたは複数のハード・ディスク・ドライブ、取外し可能で不揮発性の磁気ディスク(例えば、「フロッピー(登録商標)・ディスク」)を読み書きするための磁気ディスク・ドライブ、CD、DVD、または他の光媒体のような取外し可能で不揮発性の光ディスクを読み書きするための光ディスク・ドライブ、およびフラッシュ・メモリ装置、等であることができる。これらの1つ又は複数の記憶装置および関連するコンピュータ読取可能媒体は、コンピュータ読取可能な命令、データ構造、プログラム・モジュール、および/または他のデータのストレージをコンピューティング装置700に提供する。
【0052】
ユーザ・コマンドおよび他の情報を、キーボード、ポインティング・デバイス(例えば、マウス)、マイクロフォン、ジョイスティック、ゲーム・パッド、パラボラアンテナ、シリアル・ポート、USB(universal serial bus)、IEEE 1394バス、スキャナ、ネットワーク・インタフェースまたはアダプタ、モデム、等のような、1つまたは複数の入出力(I/O)装置710を介してコンピューティング装置700に入力することができる。情報およびデータを、モニタ、プリンタ、ネットワーク・インタフェースまたはアダプタ、モデム、スピーカ、等のような1つまたは複数のI/O装置710を介してコンピューティング装置700により出力することもできる。
【0053】
本明細書で説明した、リソースに結び付く諸用語の実装を、1つまたは複数のコンピューティング装置により実行されるプログラム・モジュールのような、プロセッサ実行可能な命令またはコンピュータ実行可能な命令の一般的なコンテクストで説明することができる。一般に、プログラム・モジュールには、特定のタスクを実施するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等が含まれる。一般に、プログラム・モジュールの機能を様々な実施形態で望ましいように組み合わせることができ、または分散させることができる。
【0054】
本明細書で説明した、リソースに結び付く諸用語の実装を、何らかの形態のコンピュータ読取可能媒体に記憶するか、それらの媒体に渡って送信することができる。コンピュータ読取可能媒体またはプロセッサ読取可能媒体は、コンピュータがアクセス可能な任意の利用可能媒体とすることができる。限定ではなく例として、コンピュータ読取可能媒体またはプロセッサ読取可能媒体は、「コンピュータ記憶媒体」および「通信媒体」を含むことができる。
【0055】
「コンピュータ記憶媒体」には、コンピュータ読取可能命令、データ構造、プログラム・モジュール、または他のデータのような情報を記憶するための任意の方法または技術で実装した揮発性および不揮発性、取外し可能および取外し不能媒体が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリまたは他のメモリ技術、CD、DVD(digital versatile disk)もしくは他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または所望の情報の記憶に使用可能でコンピュータによりアクセス可能な任意の他の媒体が含まれるがこれらに限らない。
【0056】
「通信媒体」は一般にコンピュータ読取可能命令、データ構造、プログラム・モジュール、他のデータを、搬送波または他の伝送機構のような被変調データ信号で具現化する。通信媒体は任意の情報送達媒体も含む。「被変調データ信号」という用語は、1つまたは複数のその特性集合を有するか、情報をその信号内でエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体は有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、RF、赤外線および他の無線媒体のような無線媒体を含む。上記の何れかから成る組合せもコンピュータ読取可能媒体の範囲に含まれる。
【0057】
あるいは、これらのモジュールおよび技法の全てまたは一部をハードウェアまたはハードウェア、ソフトウェア、および/もしくはファームウェアの組合せで実装してもよい。例えば、1つまたは複数のASIC(application specific integrated circuit)またはPLD(programmable logic device)を設計またはプログラムして、フレームワークの1つまたは複数の部分を実装することができる。
【0058】
本発明を構造的特長および/または方法論的動作に固有な言葉で説明したが、添付の「特許請求の範囲」で定義した本発明は必ずしも上述の特定の特徴または動作に限定されないことは理解されるべきである。むしろ、上述の特定の特徴および動作は「特許請求の範囲」を実装する形態の例として開示されている。

【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサにより実行されるとき、前記1つまたは複数のプロセッサに、
装置に対する集約した利用データを受け取るステップと、
現在のユーザ・コンテクストを特定するステップと、
前記集約した利用データと前記現在のユーザ・コンテクストとに基づいて、向上したユーザ・エクスペリエンスを生成するステップと
を実施させる複数の命令を記憶した1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項2】
前記向上したユーザ・エクスペリエンスを生成するステップは、
前記集約した利用データと前記現在のユーザ・コンテクストとに基づいて、可能動作リストを生成し、
前記可能動作リストから、最も望ましいであろう動作を選択する
ことであることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項3】
前記複数の命令はさらに、前記1つまたは複数のプロセッサに、前記可能動作リストの識別子を前記集約した利用データのソースに送信させて、前記集約した利用データに含めることを特徴とする請求項2に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項4】
前記複数の命令はさらに、前記1つまたは複数のプロセッサに、前記選択した最も望ましいであろう動作の識別子を前記集約した利用データのソースに送信させて、前記集約した利用データに含めることを特徴とする請求項2に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項5】
前記向上したユーザ・エクスペリエンスを生成するステップは、
前記集約した利用データと前記現在のユーザ・コンテクストとに基づいて、可能動作リストを生成し、
ユーザが最も望むであろうと決定された動作が、前記ユーザがあまり望まないであろうと決定された動作より目立って提示されるように、前記可能動作リストを再整列する
ことであることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項6】
前記向上したユーザ・エクスペリエンスを生成するステップは、ユーザ・インタフェース内で使用される1つまたは複数の色を変更することであることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項7】
前記向上したユーザ・エクスペリエンスを生成するステップは、ユーザ・インタフェースに埋め込まれたハイパーリンクを変更することであることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体
【請求項8】
前記集約した利用データは、複数の装置の複数のユーザからの利用データを含むことを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項9】
装置に対する前記集約した利用データを受け取ることは、前記集約した利用データを集約サーバから受け取ることであることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項10】
前記装置はコンピューティング装置を含むことを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項11】
前記装置は周辺装置を含むことを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項12】
前記命令はさらに前記1つまたは複数のプロセッサに、
前記装置に接続された周辺装置から、前記周辺装置の通常動作中に取得した前記周辺装置に対する利用情報を表すデータを受け取るステップと、
前記利用情報をサーバに転送して、前記装置に対する前記集約した利用データに含めるステップと
を実施させることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項13】
前記装置は周辺装置であり、
前記複数の命令はコンピューティング装置の1つまたは複数のプロセッサにより実行され、
前記複数の命令は前記1つまたは複数のプロセッサに、前記周辺装置が前記コンピューティング装置に最初に接続されたとき識別、生成、および選択を実施させることを特徴とする請求項1に記載の1つまたは複数のコンピュータ読み取り可能な記憶媒体。
【請求項14】
集約した利用データと現在のコンテクストとを受け取り、前記集約した利用データと前記現在のコンテクストとに少なくとも部分的に基づいて可能動作リストを生成するよう構成したリスト生成モジュールと、
前記可能動作リストを受け取り、前記可能動作リストから1つまたは複数の動作を選択するよう構成した動作選択モジュールと
を備えることを特徴とするシステム。
【請求項15】
前記集約した利用データは、複数の装置の複数のユーザからの利用データを含むことを特徴とする請求項14に記載のシステム。
【請求項16】
前記複数の装置は、コンピューティング装置と周辺装置の両方を含むことを特徴とする請求項15に記載のシステム。
【請求項17】
前記システムに接続された周辺装置から、前記周辺装置の通常動作中に取得した前記周辺装置に対する利用情報を表すデータを受け取るように構成され、さらに、前記利用情報をサーバに転送して前記集約した利用データに含めるよう構成した利用データ制御モジュールをさらに備えることを特徴とする請求項14に記載のシステム。
【請求項18】
前記システムはコンピューティング装置に実装され、
前記リスト生成モジュールは前記周辺装置が前記コンピューティング装置に最初に接続されたとき前記可能動作リストを生成するようさらに構成され、
前記動作選択モジュールは前記周辺装置が前記コンピューティング装置に最初に接続されたとき前記1つまたは複数の動作を選択するようさらに構成されることを特徴とする請求項14に記載のシステム。
【請求項19】
複数の異なるユーザによる同じ装置タイプの複数の異なる装置の使用に関する集約した利用データを受け取るステップと、
前記装置タイプの装置に対する現在のコンテクストを特定するステップと、
前記受け取った集約した利用データと前記現在のコンテクストとに少なくとも部分的に基づいて向上したユーザ・インタフェースを自動的に生成するステップと
を備えることを特徴とする方法。
【請求項20】
前記向上したユーザ・インタフェースを自動的に生成するステップは、前記受け取った集約した利用データと前記現在のコンテクストとに少なくとも部分的に基づいて1つまたは複数の動作を自動的に選択および実施するステップをさらに含むことを特徴とする請求項19に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2010−514013(P2010−514013A)
【公表日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2009−541638(P2009−541638)
【出願日】平成19年12月17日(2007.12.17)
【国際出願番号】PCT/US2007/087828
【国際公開番号】WO2008/076997
【国際公開日】平成20年6月26日(2008.6.26)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】