(57)【要約】【課題】モバイル装置上のアプリケーション間でコンテキストデータを交換する方法及び装置を提供すること。【解決手段】一実施形態では、この方法は、少なくとも二つのアプリケーション内のアプリケーション概念と、モバイル装置上でグローバルに認識されるグローバル概念との間のマッピングを実行するステップと、マッピングに基づいて、モバイル装置上の少なくとも二つのアプリケーション間でアプリケーションコンテキストデータを交換するステップとを含む。【選択図】図１４
2011100446.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも二つのアプリケーション内のアプリケーション概念と、モバイル装置上でグローバルに認識されるグローバル概念との間のマッピングを実行するステップと、
前記マッピングに基づいて、前記モバイル装置上の前記少なくとも二つのアプリケーション間でアプリケーションコンテキストデータを交換するステップと
を含む方法。
【請求項２】
前記少なくとも二つのアプリケーションのうちの一つに関する前記アプリケーションコンテキストデータが、ユーザと前記一つのアプリケーションとの間の対話に関連すると考えられる、前記ユーザが取り囲まれる状況、対象、又は条件についての情報を含む、請求項１に記載の方法。
【請求項３】
第１アプリケーションのコンテキスト空間からの一又は複数の概念を第２アプリケーションのコンテキスト空間内の一又は複数の同等の概念に変換することによってコンテキスト交換を実行するステップをさらに含む請求項１に記載の方法。
【請求項４】
前記コンテキスト交換を実行する前記ステップが、
第１アプリケーションの第１ローカルコンテキスト空間からグローバルコンテキスト空間にコンテキストを変換するサブステップと、
前記グローバルコンテキスト空間から第２アプリケーションの第２ローカルコンテキスト空間に前記コンテキストを変換するサブステップと
を含む、請求項３に記載の方法。
【請求項５】
コンテキストが、名前を特定するデータと値を指定するデータとを含む対の集合によって定義される、請求項１に記載の方法。
【請求項６】
前記対の集合の中の各対が概念に対応する、請求項５に記載の方法。
【請求項７】
前記概念が前記アプリケーション又は前記モバイル装置によって識別される、請求項６に記載の方法。
【請求項８】
前記概念がカテゴリタグに属する、請求項５に記載の方法。
【請求項９】
アプリケーションのコンテキスト空間内の概念が、前記アプリケーションによって定義され、テキストを解析するプログラムによって認識されるか、又はユーザにより開始されたアプリケーション間のデータ転送を監視することによりシステムによって認識される、請求項５に記載の方法。
【請求項１０】
交差するグローバルカテゴリタグに基づいてコンテキストデータを交換することのできるアクティブな複数のアプリケーションを識別するステップであって、該アクティブな複数のアプリケーションが前記モバイル装置上で時間のウィンドウ内で使用される、該ステップと、
マッピング情報を用いて、ソースアプリケーションコンテキスト空間からシンクアプリケーションコンテキスト空間へのコンテキスト変換を実行するステップと
をさらに含む請求項１に記載の方法。
【請求項１１】
交差するグローバルカテゴリタグに基づいてコンテキストデータを交換することのできる前記アクティブな複数のアプリケーションを識別する前記ステップが、
複数のアプリケーションからカテゴリタグセットを受け取るサブステップと、
前記複数のアプリケーションから受け取った前記カテゴリタグセットを用いて、アプリケーションペアリングを実行するサブステップと
を含む、請求項１０に記載の方法。
【請求項１２】
前記複数のアプリケーションから受け取った前記カテゴリタグセットを用いてアプリケーションペアリングを実行するステップが、前記複数のアプリケーションのうちのどのアプリケーションが共通のカテゴリタグを有するかを判定するサブステップを含む、請求項１１に記載の方法。
【請求項１３】
前記マッピング情報を用いて、前記ソースアプリケーションコンテキスト空間から前記シンクアプリケーションコンテキスト空間への前記コンテキスト変換を実行する前記ステップが、
抽出サービスを用いて、アクティブなペアリング済みアプリケーションの集合からコンテキスト情報を探索するサブステップと、
推定されるコンテキストをコンテキスト決定サービスから受け取るサブステップと
を含む、請求項１０に記載の方法。
【請求項１４】
アプリケーション間でアプリケーションコンテキストデータを交換するためにコンテキストクリップボードを用いるステップをさらに含み、
前記コンテキストクリップボードが、シンクアプリケーションに貼り付けるためにソースアプリケーションから自動的にコピーされたコンテキストデータを格納する、請求項１０に記載の方法。
【請求項１５】
コンテキスト情報を発見するために、ユーザと複数の前記アプリケーションのうちの一つとの間の対話を監視することでコンテキストデータの自動定義及び抽出を実行するステップをさらに含む請求項１０に記載の方法。
【請求項１６】
複数のアプリケーションからコンテキスト情報を得るために構造化コンテキストデータに直接的に問い合わせるステップ、又は複数のアプリケーションからコンテキスト情報を得るために非構造化テキストからのコンテキスト認識を実行するステップをさらに含む請求項１０に記載の方法。
【請求項１７】
命令が格納された一又は複数の非一時的コンピュータ可読記憶媒体を有する製品であって、前記命令が、装置によって実行されたときに、
少なくとも二つのアプリケーション内のアプリケーション概念と、モバイル装置上でグローバルに認識されるグローバル概念との間のマッピングを実行するステップと、
前記マッピングに基づいて、前記モバイル装置上の前記少なくとも二つのアプリケーション間でアプリケーションコンテキストデータを交換するステップと
を含む方法を前記装置に実施させる、製品。
【請求項１８】
前記方法が、ミドルウェアソフトウェアを実行するステップをさらに含み、
前記ミドルウェアソフトウェアが、
交差するグローバルカテゴリタグに基づいてコンテキストデータを交換することのできるアクティブな複数のアプリケーションを識別するアプリケーションペアリングサービスと、
マッピング情報を用いて、ソースアプリケーションコンテキスト空間からシンクアプリケーションコンテキスト空間へのコンテキスト変換を実行するコンテキストブローカサービスとを含む、請求項１７に記載の製品。
【請求項１９】
前記アプリケーションペアリングサービスが、複数のアプリケーションから受け取ったカテゴリタグセットを用いてアプリケーションペアリングを実行し、前記複数のアプリケーションのうちのどのアプリケーションが共通のカテゴリタグを有するかを判定する、請求項１８に記載の製品。
【請求項２０】
前記ミドルウェアソフトウェアが、コンテキスト情報を発見するために、ユーザと複数の前記アプリケーションのうちの一つとの間の対話を監視することでコンテキストデータの自動定義及び抽出を実行するコンテキスト決定サービスをさらに含む、請求項１８に記載の製品。
【請求項２１】
前記ミドルウェアソフトウェアが、構造化コンテキストデータに直接的に問い合わせて複数のアプリケーションからコンテキスト情報を取得し、且つ非構造化テキストからのコンテキスト認識を実行することで複数のアプリケーションからコンテキスト情報を取得するコンテキスト生成サービスをさらに含む、請求項１８に記載の製品。
【請求項２２】
前記ミドルウェアソフトウェアが、シンクアプリケーションに貼り付けるための、ソースアプリケーションから自動的にコピーされたコンテキストデータを受け取るコンテキストクリップボードをさらに含む、請求項１８に記載の製品。
【発明の詳細な説明】
【優先権】
【０００１】
[001]本特許出願は、２００９年１０月９日出願の「Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｅｘｃｈａｎｇｉｎｇ  Ｃｏｎｔｅｘｕａｌ  Ｄａｔａ  ｂｅｔｗｅｅｎ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｎ  ａ  Ｍｏｂｉｌｅ  Ｄｅｖｉｃｅ」という名称の対応特許仮出願第６１／２５０３８２号の優先権を主張し、参照により組み込む。
【発明の分野】
【０００２】
[002]本発明の実施形態は、モバイル装置上の任意の二つ（又はそれ以上）のアプリケーション間でデータを交換する人間の労力を低減するミドルウェアサービス及びツールの分野に関し、より具体的には、本発明の実施形態は、アプリケーション間でコンテキスト情報を転送することを必要とするアプリケーションを跨がる作業に関する。
【発明の背景】
【０００３】
[003]記憶容量及びメモリ容量が向上し、したがってモバイル装置上でより良好な処理能力を可能にする多数のモバイル装置が現在入手可能である。こうした装置は、電子メール、連絡先、カレンダ、ウェブブラウザなどの利用可能な多数のネイティブアプリケーションを有し、ネイティブアプリケーションにより、ユーザは、移動中であっても有意義な作業を進めることが可能となる。ユーザが自身のモバイル装置を常に持ち運ぶとすると、こうした装置は関連作業を完了するための主な機構を形成する可能性を有する。カリフォルニア州マウンテンビューのＧｏｏｇｌｅ，Ｉｎｃ．のアンドロイド（Ａｎｄｒｏｉｄ）、カリフォルニア州キューパティーノのＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒのアイフォーン（ｉＰｈｏｎｅ）などの新しいモバイルコンピューティングプラットフォーム上で利用可能な多数のアプリケーション、及びこうしたプラットフォームのオープンな性質は、モバイル装置の魅力をさらに高める。
【０００４】
[004]こうしたモバイル技術の進歩にも関わらず、モバイル装置の小さいフォームファクタがモバイル装置のユーザビリティの大きな妨げとなっている。小さいサイズの画面は画面の閲覧を難しくし、窮屈なキーパッドはユーザ入力を難しくする。ユーザが、アプリケーション間の切換えを必要とする二つ以上のアプリケーションが関係するような、アプリケーションを跨ぐ作業を実施する必要があるときに、問題は特に重大となる。アプリケーションを跨がる作業は通常、あるアプリケーションから別のアプリケーションへの情報の転送を含む。残念ながら、モバイル装置上でユーザがあるアプリケーション内に含まれる情報を別のアプリケーションに手動で転送することは一般的に面倒なことである。ここで、以下の例を考慮する。
【０００５】
[005]例１：ユーザがウェブサービスを介して金融ニュースを受信するために加入する（例えば、日本のＮＴＴドコモによって提供されるアイチャネル（ｉＣｈａｎｎｅｌ）サービス）。ニュースフィードは、ユーザが株価表示アプリケーションを用いて追跡された株価のリストに基づいてユーザ用にカスタマイズされる。
【０００６】
[006]例２：ユーザが、自身の電話帳アプリケーションの名簿中に載っていない連絡先を求めて、電話番号を含む連絡先情報を含む電子メールを読む。次にユーザが電話帳アプリケーションを開始するときに、アプリケーションは、電子メールから抽出された情報を用いて、連絡先をユーザの電話帳に追加するように当該ユーザに促す。
【０００７】
[007]例３：ユーザが、Ａｐｐｌｅというキーワードについて自身のウェブブラウザ上で検索を開始する。ユーザがソフトウェア会社に関する文書に対して同時に作業中であるとすると、文書アプリケーションからのコンテキスト情報を用いてウェブ検索が実行される。その結果、最上位の検索結果がＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒに関係付けられる。
【０００８】
[008]既存のコンピューティングプラットフォームは、本質的にコンテキストコンピューティングをサポートすることができない。第１に、プラットフォームとアプリケーションとの間にギャップが存在する。これはアプリケーションがプラットフォームにとって不透明であるからであり、そのことは、プラットフォームが基本的にはＣＰＵやメモリのようなコンピューティングリソースを供給し、アプリケーションの追加の知識なしにアプリケーションを介してのデータフローを可能にすることを示唆する。第２に、アプリケーションは、大部分は、ファイルシステム及びデータベース内に格納されたデータのような低レベル機構を介して、又はリモート・プロシージャ・コール及び共有メモリを介してデータを共有する。これらは、プラットフォームに対してよりオープンとなるアプリケーションの現在の傾向である。例えば、ＷｅｂＯＳプラットフォームは、ウェブベースのアプリケーションをサポートし、アンドロイドプラットフォーム用のアプリケーションは、アプリケーションが開始される前にロードされるマニフェストファイルを有し、したがって様々なアプリケーション構成要素の完全な知識をプラットフォームに与える。
【０００９】
[009]モバイル領域でコンテキストを処理するためにいくつかのミドルウェアアーキテクチャが提案されている。しかし、現在のミドルウェアの実装は、コンテキストに関する環境定義だけに焦点を当てている。ユビキタスコンピューティング環境は、協同して物理空間をスマートで対話型の環境に変換する多数の自律的エージェントからなる。このような状況では、「コンテキスト」とは、ユーザとユビキタスコンピューティング環境との間の対話に関連すると考えられる、ユーザが取り囲まれる状況、対象、又は条件についての任意の情報である。
【００１０】
[0010]コンテキスト認識モバイルサービスの構築に利用可能であるミドルウェアがあり、コンテキスト認識モバイルサービスではコンテキストがＯＷＬで書かれた述語として表される。そのようなミドルウェアは、様々なソースからコンテキストを取得することや、コンテキストを解釈すること、コンテキストの配布を実行することなどの、コンテキストを扱うことに関係する作業の大部分に対するサポートを提供する。アーキテクチャはコンテキスト推論をサポートする。コンテキスト推論により、低レベルの明示的コンテキストから高レベルの暗黙的コンテキストを導出することができ、コンテキストに作用する前に、様々なコンテキストの信頼度という概念をアプリケーションに与えることができる。
【００１１】
[0011]アプリケーションを跨がる作業（クロスアプリケーションタスク）に対するユーザ対話監視に関するいくつかの研究がある。そのような研究では、マルチアプリケーションタスクを介する情報の流れが自動的に追跡される。この研究は、アプリケーションを跨がる動作を捕捉するマルチアプリケーションクライアントセッションのリッチ監視のための軽量フレームワークを提案する。このシステムは、システムレベルイベントを抽出することにより、目障りでない方式での自動データ収集を可能にする。別の研究は、どのようにユーザの現作業を識別し、複数の同時に使用されるアプリケーションにわたってユーザインターフェースを再構成するかに焦点を当てている。ＣｒｏＣｏは、アプリケーションを跨がるコンテキストの収集、モデリング、及び供給を可能にするオントロジベースのコンテキスト管理サービスである。このサービスは、Ｊｅｎａフレームワークを用いてＳｅｍａｎｔｉｃ  Ｗｅｂ推論を実行する。現在のモバイル技術及びデスクトップ技術は、複数のアプリケーションにわたって利用可能な機能を統合することによって様々なクロスアプリケーションタスクを処理するためのいくつかの有用なプラグインを提供する。
【００１２】
[0012]カリフォルニア州サニーベールのＰａｌｍ  Ｉｎｃ．のパームプレシナジー（Ｐａｌｍ  Ｐｒｅ  Ｓｙｎｅｒｇｙ）は、ユーザが様々なオンラインアカウントからの連絡先を一つのサービスで同期することを可能にする。シナジーサービスは、ユーザのジーメール（Ｇｍａｉｌ）アカウント、フェイスブック（Ｆａｃｅ−ｂｏｏｋ）プロファイル、ＡＩＭ識別、及びエクスチェンジ（Ｅｘｃｈａｎｇｅ）データから情報を収集し、モバイル装置上でデータをすべて一緒にマージし、重複するエントリを除去し、重なり合うソースを結合する。同様に、マイクロソフト・アウトルック（Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ）は、電子メール情報の検索を単純化し、連絡先情報を発見し、電子メール分析を実施するＸｏｂｎｉプラグインを有する。ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎのマイクロソフト・オフィス（Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ）ＸＰでのスマートタグ（Ｓｍａｒｔ  Ｔａｇ）は、ユーザが最も一般的な作業の一部を完了するのを容易にする。例えば、スマートタグアクション（Ｓｍａｒｔ  Ｔａｇ  Ａｃｔｉｏｎ）ボタンが、ワード（Ｗｏｒｄ）でタイプされた名前又は住所、又はエクセル（Ｅｘｃｅｌ）での株価表示シンボルを認識し、ユーザがそのエントリと情報及びアクションとを関連付けることを可能にする。
【００１３】
[0013]オントロジマッピングとスキーママッピングとは関連分野である。明示的セマンティクスは通常、データベーススキーマの一部ではなく、設計時に指定されるだけである。一方、オントロジはそれ自体がセマンティクスを組み込む論理システムである。大まかに定義すると、オントロジは知識ベースに関するスキーマである。スキーマ及びオントロジマッチングシステムは、構文的及び意味的なマッチングシステムと見ることができる。
【発明の概要】
【００１４】
[0014]モバイル装置上のアプリケーション間でコンテキストデータを交換する方法及び装置を本明細書で開示する。一実施形態では、この方法は、少なくとも二つのアプリケーション内のアプリケーション概念と、モバイル装置上でグローバルに認識されるグローバル概念との間のマッピングを実施するステップと、マッピングに基づいて、モバイル装置上の少なくとも二つのアプリケーション間でアプリケーションコンテキストデータを交換するステップとを含む。
【００１５】
[0015]以下に示す詳細な説明と、本発明の様々な実施形態の添付図面とから、本発明をより完全に理解することができる。しかし、説明及び図面は、本発明を特定の実施形態に限定するように受け取られるものではなく、説明及び理解のためのものに過ぎない。
【図面の簡単な説明】
【００１６】
【図１】ミドルウェアソフトウェアに関連する基本概念の一例を示す図である。
【図２】モバイル対話コンテキストサービス（ＭＩＣＳ）ミドルウェアの一実施形態の構成要素を示す図である。
【図３】電子メールアプリケーションがＭＩＣＳミドルウェアに関連付けられていることを示すアンドロイド「トースト」を示す図である。
【図４】「第９地区（ｄｉｓｔｒｉｃｔ  ９）」及び「今夜（ｔｏｎｉｇｈｔ）」という語句を含む電子メールの本文例を示す図である。
【図５】ブラウザウィンドウの下端にポップアウトして、電子メールアプリケーションからのコンテキストデータを使用することをユーザに思い起こさせる通知の一実施形態を示す図である。
【図６】図４の電子メールに返信中の、ユーザによるコンテキストクリップボードの一実施形態の起動を示す図である。
【図７】コンテキストクリップボード内の複数のコンテキストデータ項目からのユーザによる選択を示す図である。
【図８】ユーザによって選択されたコンテキストデータ項目が電子メール本文に貼り付けられることを示す図である。
【図９】一実施形態において「アラームを追加（Ａｄｄ  Ａｌａｒｍ）」通知をチェックすることによってユーザが応答できることを示す図である。
【図１０】アラームクロック項目のフィールドが自動的に埋められた、アラーム追加の動作に関連するビューを示す図である。
【図１１】「映画  第９地区（Ｍｏｖｉｅ  ｄｉｓｔｒｉｃｔ  ９）」に関する検索結果への新しいリンクを有する、ブラウザ・ウィザードの「問合せ」ページの一例を示す図である。
【図１２】選択された映画館までの地図への新しく作成されたリンクを有する、ブラウザ・ウィザードの「地図（Ｍａｐｓ）」ページの一例を示す図である。
【図１３】コンテキストクリップボードの別の実施形態を示す図である。
【図１４】コンテキストデータ交換プロセスの一実施形態の流れ図である。
【図１５】モバイル装置のブロック図である。
【発明の詳細な説明】
【００１７】
[0016]本発明の実施形態は、ミドルウェアであるモバイル対話コンテキストサービス（ＭＩＣＳ）に関する。一実施形態では、ＭＩＣＳは、モバイル上のアプリケーションを跨がる作業を容易にする、計算的に軽量であり、一般的で安全なフレームワークを提供する。一実施形態では、ＭＩＣＳは、１）そのような作業に関するユーザの労力を低減し、２）そのような作業の生産性を向上させるという二つの目標を念頭に置いた、モバイル装置上のアプリケーション間のコンテキストデータ交換用の軽量プラットフォームである。
【００１８】
[0017]本発明の実施形態は、ローカルアプリケーションコンテキスト空間及びグローバルコンテキスト空間の使用に関し、ここで、コンテキストはあるアプリケーションのローカルコンテキスト空間からグローバルコンテキスト空間に変換され、次いで、グローバルコンテキスト空間から第２アプリケーションのローカルコンテキスト空間に変換される。このコンテキストブローカリング機能はこのようにして実行され、必要とされる処理及びデータストレージに関して交換のコスト効率が良いという点で、二つのアプリケーション間の軽量なコンテキスト交換が可能となる。一実施形態では、ローカル空間及びグローバル空間内のコンテキストが、所定のカテゴリタグの集合と、各カテゴリタグに関連する概念の集合とによって定義される。アプリケーションのローカルコンテキスト空間内の各概念は、アプリケーション自体によって定義され、テキストを解析するプログラムによって認識されるか、又はアプリケーション間のユーザ開始データ転送を監視することによりシステムによって認識される。
【００１９】
[0018]本発明の実施形態は、ソースアプリケーションから、シンクアプリケーションに貼り付けるためのボードに関連コンテキストデータが自動的にコピーされるコンテキストクリップボード機能を含む。本発明の実施形態は、ユーザにとって関心のあるコンテキストデータを収集及びクラスタ化し、将来起こり得るユーザのアクションを予期して、収集したコンテキストデータに関する所定のアクションを実行するブラウザ・ウィザード機能も含む。
【００２０】
[0019]以下では、本発明をより深く説明するために多数の詳細事項を述べる。しかし、こうした特別な詳細説明なしに本発明を実施できることは当業者には明らかであろう。別の例では、本発明をあいまいにすることを避けるために、周知の構造及び装置を詳細にではなくブロック図形式で示す。
【００２１】
[0020]以下の詳細な説明の一部が、コンピュータメモリ内のデータビットに対する演算のアルゴリズム及び記号表現によって提示される。こうしたアルゴリズムの記述及び表現は、データ処理技術の技術者によって、その研究の主旨を他の当業者に最も効果的に伝えるために使用される手段である。ここでは、且つ一般に、アルゴリズムとは、所望の結果を導く首尾一貫した一続きのステップと表現される。ステップとは、物理量の物理的操作を必要とするものである。必須ではないが、通常はこのような量は、格納、転送、組合せ、比較、或いは操作することのできる電気信号又は磁気信号の形を取る。主に一般的な用法のために、時には、こうした信号をビット、値、要素、シンボル、文字、項、数字などと呼ぶことが好都合であることが判明している。
【００２２】
[0021]しかし、こうした用語及び類似の用語のすべては、適切な物理量に関連付けられるべきであり、こうした量に適用された好都合なラベルに過ぎないことを念頭に置くべきである。以下の議論から明らかなように、別段の記述がない限り、この説明全体を通して、「処理」「演算」「計算」「決定」「表示」などの用語を用いる議論は、コンピュータシステムのレジスタ及びメモリ内の物理（電子）量として表現されるデータを操作し、コンピュータシステムメモリ又はレジスタ、或いは他のそのような情報記憶装置、情報伝送装置、又は情報表示装置内の物理量として同様に表現される別のデータに変換するコンピュータシステム又は類似の電子計算装置の動作又は作用を指すことを理解されたい。
【００２３】
[0022]本発明は、本明細書に記載の操作を実行する装置にも関する。この装置は、必要とされる目的のために特別に構築することができ、或いはコンピュータ内に格納されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、限定はしないが、フロッピィディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読取専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード又は光学式カードを含む任意のタイプのディスク、或いは電子命令を格納するのに適しており、コンピュータシステムバスにそれぞれ結合された任意のタイプの媒体などのコンピュータ可読記憶媒体内に格納することができる。
【００２４】
[0023]本明細書で提示されるアルゴリズム及び表示は、何らかの特定のコンピュータ又は他の装置に固有に関係するものではない。様々な汎用システムを本明細書で示すプログラムと共に使用することができるし、必要な方法ステップを実行するためにより特殊な装置を構築することが好都合であると判明することもある。こうした様々なシステムに関する必要な構造を以下の説明で明らかにする。さらに、何らかの特定のプログラミング言語を参照して本発明を説明することはしない。当然のことながら、本明細書に記載の本発明の教示を実装するのに様々なプログラミング言語を使用することができる。
【００２５】
[0024]機械可読媒体は、機械（例えばコンピュータ）で読取り可能な形式で情報を格納又は伝送する任意の機構を含む。例えば、機械可読媒体は、読取り専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ装置などを含む。
【００２６】
［概要］
[0025]軽量コンテキスト変換を可能にするために、ＭＩＣＳは、コンテキストを、ミドルウェアプラットフォームによって認識される登録された各アプリケーションに関するアプリケーション特有の概念の集合まで削減する。以下の説明では、ＭＩＣＳミドルウェアの一実施形態の機能を理解する際に使用されるコンテキストの使用及び定義の基本を述べる。この説明では、ミドルウェアサービスに登録されたＮ個のアプリケーションの集合をＡと表す。図１は、ＭＩＣＳミドルウェアアーキテクチャによって定義される概念定義及び使用モデルの例示を与える。図１では、電子メールアプリケーション１０１用の電子メールコンテキスト空間、グローバルコンテキスト空間１０２、及び電話帳アプリケーション１０３用の電話帳コンテキスト空間が示されている。
【００２７】
[0026]カテゴリタグセット（ＣＴ）：一実施形態では、各アプリケーションが、アプリケーションに関する情報ドメインを識別するキーワードの集合によって表されるカテゴリタグセットＣＴと関連付けられる。例えば、図１に示されるアプリケーションの集合では、電子メールアプリケーション１０１が二つの情報ドメインキーワード、すなわちＣｏｎｔａｃｔ及びＣａｌｅｎｄａｒに関連付けられる。したがって、電子メールアプリケーション１０１に関するカテゴリタグセットは、Ｅｍａｉｌ×ＣＴ＝｛Ｃｏｎｔａｃｔ，Ｃａｌｅｎｄａｒ｝と表される。一実施形態では、各カテゴリタグは、ミドルウェアによって認識される、識別された概念Ｃの集合を有する。図１の電子メールアプリケーション１０１に関するカテゴリタグＣｏｎｔａｃｔは「ｆｒｏｍ」及び「ｐｈｏｎｅ  ｎｕｍｂｅｒ」によって表される二つの概念に関連付けられる。
【００２８】
[0027]グローバルタグセット（ＧＴ）：一実施形態では、グローバルタグセットが、ＭＩＣＳミドルウェアフレームワークに関与するアプリケーションの集合にわたって定義される。
【数１】
2011100446.tif 000003
図１では、グローバルタグセットＧＴ＝｛Ｃｏｎｔａｃｔ，Ｃａｌｅｎｄａｒ｝である。
【００２９】
[0028]グローバルコンテキスト空間：一実施形態では、グローバルコンテキストＧＣが概念の集合として定義され、各概念がカテゴリタグＣＴεＧＴに関連付けられる。
【数２】
2011100446.tif 000004
グローバルコンテキスト空間は、システムにとって既知の概念の集合に関するミドルウェアの表示を表す。アプリケーションは、自身のコンテキスト空間内の同じ概念を異なる仕方で参照することができる。グローバルコンテキスト空間内の概念は、そのカテゴリカテゴリタグ及び概念名で表される。例えば、図１の例に関するグローバルコンテキスト空間は、ＧＣ＝｛Ｃｏｎｔａｃｔ．ｎａｍｅ，Ｃｏｎｔａｃｔ．ｐｈｏｎｅ，Ｃａｌｅｎｄａｒ．ｄａｔｅ  ｔｉｍｅ，Ｃａｌｅｎｄａｒ．ｌｏｃａｔｉｏｎ，Ｃａｌｅｎｄａｒ．ｅｖｅｎｔ｝である。
【００３０】
[0029]アプリケーションコンテキスト空間：一実施形態では、アプリケーションコンテキストＡＣがアプリケーションに特有な概念の集合として定義され、各概念がアプリケーション識別子及びカテゴリタグＣＴεＣＴによって表される。
【数３】
2011100446.tif 000005
一実施形態では、アプリケーションコンテキスト空間内の概念がそのアプリケーション識別子、カテゴリタグ、及び概念名によって表される。例えば、電話帳アプリケーション１０３のアプリケーションコンテキスト空間は以下のように表される。
ＡＣ（Ｐｈｏｎｅｂｏｏｋ）＝｛Ｐｈｏｎｅｂｏｏｋ，Ｃｏｎｔａｃｔ．ｃｏｎｔａｃｔ  ｎａｍｅ，Ｐｈｏｎｅｂｏｏｋ．Ｃｏｎｔａｃｔ．ｍｏｂｉｌｅ｝
【００３１】
[0030]一実施形態では、アプリケーションコンテキスト空間内のあらゆる概念は、グローバルコンテキスト空間内の単一の概念に対するマッピングを有する。しかし、グローバルコンテキスト空間内のあらゆる概念が各アプリケーションのコンテキスト空間内の同等の概念を有するわけではない。例えば、電話帳アプリケーション１０３のコンテキスト空間及び電子メールアプリケーション１０１のコンテキスト空間内のあらゆる概念はグローバルコンテキスト空間内の同等の概念を有するが、グローバルコンテキスト空間内のＣａｌｅｎｄａｒタグに対応する概念は電話帳アプリケーション１０３のコンテキスト空間内の同等の概念を有さない。一実施形態では、ＡＣ⇔ＧＣマッピングは、アプリケーションプロバイダで定義されてもよいし、及び／又は様々なアプリケーションにわたるユーザの対話コンテキストを介してコンテキスト決定サービスで学習されてもよい。
【００３２】
[0031]コンテキスト交換：コンテキスト交換は、アプリケーションＡ１のコンテキスト空間からの概念をアプリケーションＡ２のコンテキスト空間内の同等の概念に変換する処理である。電子メールアプリケーション１０１のコンテキスト空間内の概念Ｅｍａｉｌ．Ｃｏｎｔａｃｔ．ｆｒｏｍは、電話帳アプリケーション１０３のコンテキスト空間内の概念Ｐｈｏｎｅｂｏｏｋ．Ｃｏｎｔａｃｔ．ｃｏｎｔａｃｔ  ｎａｍｅと同等である。これは以下のように表される。
Ｅｍａｉｌ．Ｃｏｎｔａｃｔ．ｆｒｏｍ⇔Ｐｈｏｎｅｂｏｏｋ．Ｃｏｎｔａｃｔ．ｃｏｎｔａｃｔ＿ｎａｍｅ
この変換は、ミドルウェアにより、Ａ１のアプリケーションコンテキスト空間内の概念をグローバルコンテキスト空間に変換し、その後にグローバルコンテキスト空間内の概念をＡ２のアプリケーションコンテキスト空間に変換することによって実行される。
【００３３】
［ミドルウェアサービスの一実施形態］
[0032]図２は、ＭＩＣＳミドルウェアに関するアーキテクチャの一実施形態のブロック図である。図２に示すように、ＭＩＣＳミドルウェア２００は、アプリケーションペアリングサービス（ＡＰＳ）２０１、ユーザインターフェーシング用のコンテキストクリップボード２０３と結合されたコンテキストブローカサービス（ＣＢＳ）２０２、コンテキスト抽出サービス（ＣＥＳ）２０６、及びコンテキスト決定サービス（ＣＤＳ）２０５というサービスのセットを含んでいる。各サービスは、ハードウェア（回路、専用ロジックなど）、ソフトウェア（汎用コンピュータシステム又は専用マシン上で動作するものなど）、又はそれらの組合せを備える処理ロジックで実行される。
【００３４】
[0033]図２のアプリケーション１〜Ｎなどの各アプリケーションはインストール時にＭＩＣＳミドルウェア２００に登録し、アプリケーションのカテゴリタグセットをサービスに対して発行する。アプリケーションペアリングサービス２０１は、アクティブなアプリケーションのセットを監視し、そのカテゴリタグセットに基づいてコンテキスト情報を交換することのできるアプリケーションのセットを求める。一実施形態では、各アプリケーションは、同時に使用される場合に「アクティブ」である。別の実施形態では、各アプリケーションは、時間のウィンドウ内で使用された場合に「アクティブ」である。ある例では、ウィンドウのサイズは、時間の絶対量（「過去２４時間」など）で定義される。別の例では、ウィンドウのサイズが、使用される別個のアプリケーションの個数で定義される（「最後の５個の別個のアプリケーションを伴う最小の時間ウィンドウ」など）。
【００３５】
[0034]一実施形態では、コンテキストブローカサービス２０２は（ｉ）アクティブなペアリング済みアプリケーションの集合からのコンテキスト情報を探索するようにコンテキスト抽出サービス２０６に命令する機能、（ｉｉ）アプリケーション間のコンテキスト交換を実行する機能、（ｉｉｉ）推定されるコンテキストをコンテキスト決定サービス２０５から受け取ってコンテキストマッピング情報を維持する機能、及び（ｉｖ）ユーザがコンテキストクリップボード２０３を介してＭＩＣＳミドルウェア２００と対話できるようにする機能を実行する。コンテキスト抽出サービス２０６は、直接的な問合せ方法又は注釈付きコンテキスト抽出の一方又は両方を介して、アプリケーションからのコンテキスト情報を探索する。コンテキスト決定サービス２０５は、例えば、限定はしないが、一又は複数のアプリケーションとのユーザの対話のコンテキストに関係するデータフィールドなどの、関心を引くコンテキスト情報を発見するために、アプリケーションとのユーザ対話を監視する。様々なサービス間の情報の流れは図２に示される通りである。
【００３６】
[0035]こうしたサービスのそれぞれを以下でより詳細に説明する。
【００３７】
＜アプリケーションペアリングサービスの一実施形態＞
[0036]アプリケーションペアリングサービス２０１は、システムからアプリケーションインスタンス化イベントを受け取り、コンテキスト情報を交換することのできるアプリケーションのセットを求める。各アプリケーションＡはインスタンス化時にＭＩＣＳミドルウェア２００に登録し、アプリケーションのカテゴリタグセットＣＴをミドルウェアサービスに供給する。このことを、アプリケーションインスタンス化メッセージＲＥＧＩＳＴＥＲ（Ａ，ＣＴ）と表す。アプリケーションペアリングサービス２０１は各アプリケーションに関連するカテゴリタグセット情報を用いてアプリケーションペアリングを実行する。
【数４】
2011100446.tif 000006
上式で、Ａ１←→Ａ２はアプリケーション間のペアリングを表す。このことは、共通カテゴリタグを有する複数のアプリケーションが、共有カテゴリタグに関連する概念に関するコンテキスト情報を交換できる可能性があることを示唆している。そのようなタグの以下のような複数のソースがあることが想定されることに留意されたい。１）定義済みの標準タグのセット、２）サードパーティはこの標準タグのセットを拡張することが可能、３）システムはアプリケーション間の合致に関する一時タグを定義することができ（そのような合致する概念は標準タグセット内に包含済みなわけではない）、任意にそのような一時タグを用いて必要に応じて標準タグセットを拡張することが可能。
【００３８】
[0037]一実施形態では、アプリケーションペアリングサービス２０１は、小さいメインメモリグラフＧ＝（Ｖ，Ｅ）の形で情報を維持する。ここで、頂点Ｖの集合はアクティブなアプリケーションを表し、辺の集合Ｅはアクティブなアプリケーション間のペアリングを表す。各辺は、対応するペアリング済みアプリケーション間で共有されるカテゴリタグに関連付けられる。この情報はコンテキストブローカサービス２０２で使用され、アプリケーションを跨ぐコンテキスト交換を容易にする。
【００３９】
＜コンテキストブローカサービスの一実施形態＞
[0038]コンテキストブローカサービス２０２は、ＭＩＣＳミドルウェア２００の基盤を形成し、他のすべてのサービス構成要素と対話する。具体的には、コンテキストブローカサービス２０２は、アプリケーションペアリングサービスで生成されたメインメモリグラフを入力として受け取る。アプリケーションペアリング情報がコンテキストブローカサービス２０２にとって利用可能となると、コンテキストブローカサービス２０２は、ペアリング済みアプリケーションからコンテキスト情報を探索するようにコンテキスト抽出サービス２０６に命令する。コンテキストブローカサービス２０２は、メッセージＲＥＣＥＩＶＥ（Ａ×ＡＣ，Ｖ）の形で、コンテキスト抽出サービス２０６から興味深いコンテキスト情報を受け取る。ここで、すべてのｃεＡ×ＡＣについてｖεＶが存在する。集合Ｖは、ソースアプリケーションコンテキスト空間Ａ×ＡＣ内の概念に関連する値の集合を表す。
【００４０】
[0039]コンテキストブローカサービス２０２は、マッピング情報を用いて、ソースアプリケーションコンテキスト空間からシンクアプリケーションコンテキスト空間へのコンテキスト変換を実行する。一実施形態ではこのことは二つのステップで実行される。まず、ソースアプリケーションコンテキスト空間からグローバルコンテキスト空間への変換が実行される。続いて、グローバルコンテキスト空間からシンクアプリケーションコンテキスト空間への第２変換が実行される。アプリケーションコンテキスト空間からグローバルコンテキスト空間へのマッピングをＭ：Ａ×ＡＣ→ＧＣと表す。次いで、以下の操作のセットによりコンテキスト変換が実行される。
【数５】
2011100446.tif 000007
【００４１】
[0040]次に、コンテキストブローカサービス２０２は、シンクアプリケーションが変換済コンテキストの利用を可能にする機構を用いて、コンテキスト交換を完了する。一実施形態では、このことは、ウェブアプリケーションに関するＤＯＭツリーの修正、又はＪａｖａアプリケーションに関する基礎となるデータファイルに対する修正を含み、元の入力インターフェースをアプリケーションに迂回することを必要とする。これを補償するために、アプリケーションに対する変更を行うことができ、及び／又はこれをミドルウェアで処理することもできる。例えば、シンクアプリケーションは、フォームを自動的に埋め、データを強調表示し、又は他の何らかの所定の動作の集合を実行することによって、情報を利用することができる。ミドルウェアサービスは、ＭＩＣＳミドルウェアによって提供されるコンテキストクリップボードツールにより、コンテキストクリップボード２０３を介して所望のアクションを選択するオプションをユーザに提供する。コンテキストクリップボード２０３は、変換済コンテキストを用いて実行することのできる動作を選択することによってユーザがＭＩＣＳミドルウェアサービスと対話することを可能にするユーザインターフェース（ＵＩ）を提供する。或いは、ＭＩＣＳミドルウェア２００によって実行されたコンテキスト交換に関するユーザからの確認を求める機構としてコンテキストクリップボード２０３を見ることもできる。
【００４２】
[0041]一実施形態では、コンテキストブローカサービス２０２によって実施される別の機能は、新しく発見された興味深いコンテキスト情報をコンテキスト決定サービス２０５から受け取ることである。一実施形態では、コンテキストブローカサービス２０２は、ＭＩＣＳミドルウェア２００が現在理解していない二つのアプリケーションＡ１とＡ２の間の概念のマッピングを示す、Ａ１×ＡＣ×ｃ１＝Ｍ−１［Ｍ［Ａ２×ＡＣ×ｃ２］］の形のメッセージを受け取る。例えば、ユーザは、アプリケーションＡ１内の既知の概念ｃ１に関連するフィールドからのデータを、アプリケーションＡ２内の未知の概念ｃ２に関連するフィールドに貼り付けることができる。この場合、コンテキストブローカサービス２０２は、グローバルコンテキスト空間内に現存する概念に概念ｃ２をマッピングしようと試みる。コンテキストブローカサービス２０２は、基礎となるマッピングを修正する前に、ユーザからの確認を求めてもよい。どちらの概念も未知の概念である場合には、コンテキストブローカサービス２０２は、こうした概念を現存する概念にマッピングすることを試みてもよいし、対応する新しい概念をグローバルコンテキスト空間内のどこで宣言するかを決定してもよい。
【００４３】
＜コンテキスト抽出サービスの一実施形態＞
[0042]コンテキスト抽出サービス２０６はコンテキストブローカサービス２０２から命令を受け取り、一のアプリケーションとペアリングすることのできる他のアプリケーションで使用することのできる関連カテゴリタグに関連するコンテキスト情報を送達するように当該一のアプリケーションに要求する。一実施形態では、コンテキスト抽出サービス２０６はアプリケーションと連動し、直接的な問合せ方法及び注釈付きコンテキスト抽出という二つの方法でコンテキスト情報を抽出することができる。別の実施形態では、コンテキスト抽出サービス２０６は、それら二つの方法のうちの一方でコンテキスト情報を抽出する。コンテキスト抽出は、アプリケーションが探索なしにすべての（又は選択した）関連コンテキスト情報をコンテキスト抽出サービス２０６に送達するプッシュベースのものでもよいし、あるいはコンテキスト抽出サービス２０６が積極的にアプリケーションを探索し、他のアクティブなアプリケーションに応答してコンテキスト情報を要求するプルベースのものでもよい。
【００４４】
[0043]一実施形態では、直接的な問合せ方法は、アプリケーションが当該アプリケーションのＡＰＩを介して利用可能なコンテキスト情報を送達することを必要とする。例えば、Ｇｏｏｇｌｅのアンドロイドフレームワーク内のＣｏｎｔｅｎｔＰｒｏｖｉｄｅｒ構成要素は、データを格納及び検索し、データを他のすべてのアプリケーションからアクセス可能にする。実際にはすべてのアンドロイドパッケージがアクセスすることのできる共通記憶域がないので、コンテンツプロバイダは、アンドロイドフレームワーク内のアプリケーションを跨いでデータを共有する唯一の方法である。一実施形態では、コンテキスト抽出サービス２０６は、ブローカサービス２０２から受け取った命令に応答して、すべての関連コンテキスト情報を送達するようにアプリケーションに命令する。ブローカサービス２０２は、アプリケーションのペアリングについての何らかの情報を受け取るとすぐに、そのような命令を転送する。代替実施形態では、ブローカサービス２０２は、ユーザの対話コンテキストに基づいてそのような命令を発行する。例えば、二つのアプリケーションを跨ぐ第１カットアンドペースト操作は、ユーザがこの操作に続いて、その二つのアプリケーション間で別のカットアンドペースト操作を行うことを示唆することがある。そのようなユーザ対話ステップに応答して問合せを生成することができる。一実施形態では、直接的な問合せ方法は、概念−値の識別された対を示す、すべてのＣＴεＡＣについてＡ×ＣＴ×ｃ→ｖという形式のコンテキスト情報を提供する。
【００４５】
[0044]コンテキスト抽出のための使用可能な別の方法は、アプリケーションで送達されるテキスト情報内の関連概念を認識するものである。このシナリオでは、コンテキスト抽出サービス２０６は、コンテキスト情報を生成するために概念認識エンジン２０６Ａで操作する必要のある非構造化テキストを送達するようにアプリケーションに命令する。一実施形態では、概念認識エンジンがグローバルコンテキスト空間内の各カテゴリタグに関連付けられ、シンクアプリケーションの消費のためにカテゴリタグに関連する概念−値の対を取り出す。この方法は、グローバルコンテキスト空間内の識別されたコンテキスト情報を示す、ＧＣ×ｃ→ｖという形式のコンテキスト情報を生成する。例えば、一つのソフトウェアが、非構造化テキスト中の電話番号を識別するために正規表現の集合を使用してもよい。これを用いて、電子メールアプリケーション１０１の本文フィールド内の電話番号を識別することができ、図１の電話帳アプリケーション１０３の対応する概念Ｐｈｏｎｅｂｏｏｋ．Ｃｏｎｔａｃｔ．ｍｏｂｉｌｅに電話番号を転送することができる。
【００４６】
＜コンテキスト決定サービスの一実施形態＞
[0045]コンテキスト決定サービス２０５は、各アプリケーションにわたるユーザ対話を監視することにより、各アプリケーションにわたる興味深いコンテキスト情報を求める。アプリケーションプロバイダが識別に失敗した可能性のあるアプリケーション内の有用な概念を求めるために、ユーザ対話コンテキストが使用される。ユーザが電子メールアプリケーション１０１を使って作業中であり、電話帳アプリケーション１０３などの新しい電話帳アプリケーションに、ミドルウェア２００に登録するように命令することによってこのアプリケーションをＭＩＣＳミドルウェアフレームワーク２００に追加する例を考える。しかし、ユーザは、電話帳アプリケーション１０３に関する対応アプリケーションコンテキスト空間情報を全くアップロードしない。ここで、ユーザが頻繁に二つのアプリケーションに対して並行して対話し、しばしば電子メールアプリケーション１０１から電話帳アプリケーション１０３へのコピーアンドペースト操作を行うことを考える。ＭＩＣＳミドルウェア２００はそのような対話に関する統計情報を保持し、Ｅｍａｉｌ．Ｃｏｎｔａｃｔ．ｆｒｏｍ概念が電話帳アプリケーション１０３のフィールドｃｏｎｔａｃｔ  ｎａｍｅへの入力にマッピングされることを発見する。サービスは、電話帳アプリケーション１０３に関する新しい概念Ｐｈｏｎｅｂｏｏｋ．Ｃｏｎｔａｃｔ．ｃｏｎｔａｃｔ  ｎａｍｅを識別することができ、電子メールアプリケーション１０１内の概念と電話帳アプリケーション１０３内の概念との間のマッピング情報を、さらなる動作のためにコンテキストブローカサービス２０２に渡すことができる。
【００４７】
＜ミドルウェアによって提供されるツールの例＞
[0046]上述のサービスに加えて、一実施形態では、ＭＩＣＳミドルウェア２００は、アプリケーション間のコンテキストデータの交換をより容易にし、ユーザがそのようなデータと対話することをより便利にするためのツールをさらに提供する。
【００４８】
［コンテキストクリップボード］
[0047]コンテキストクリップボード２０３は、コンテキストデータのソースアプリケーションとシンクアプリケーションとの間のセキュアバッファを提供する。一実施形態では、ソースアプリケーションからシンクアプリケーションにデータを直接転送する代わりに、データがまずコンテキストクリップボード２０３上に格納される。ユーザがシンクアプリケーションへの入力を行う必要があるとき、ユーザは、コンテキストクリップボード２０３から（おそらくはコンテキストクリップボード２０３上の利用可能な複数のコンテキストデータ項目から）コンテキストデータ項目を選択することができる。
【００４９】
[0048]コンテキストクリップボード２０３は、ユーザからの「コピー」動作を必要とすることなくコンテキストデータが自動的にボード上に置かれる点で、通常のコピー／ペーストクリップボードとは異なることに留意されたい。一実施形態では、コンテキストクリップボード２０３上のコンテキストデータは、明示的なユーザ対話なしにはシンクアプリケーションに転送されない。
【００５０】
[0049]一実施形態では、コンテキストクリップボード２０３はユーザインターフェースの複雑さの程度が様々である複数の動作モードを有する。その最も単純な形態では、コンテキストクリップボード２０３は、ユーザ確認時に、シンクアプリケーションで指定される動作を実行する通知である。別の形態では、コンテキストクリップボード２０３は、シンクアプリケーションのフォーカスされたテキスト入力フィールドにペーストされるコンテキストデータ項目のうちの一つをユーザが選ぶための単純なＵＩを提供する。図７は、ユーザの選択候補となる複数のコンテキストデータ項目をコンテキストクリップボード２０３上に提示する一例を示す図である。図７に示すように、複数のコンテキストデータ項目は、ウィンドウの部分７０１内に表示される場所、タイトル、時刻を含む。最後に、その最も複雑な形態では、コンテキストクリップボード２０３は、ユーザが候補アプリケーションのリストからソースアプリケーション及びシンクアプリケーションを選び、そのような複数のコンテキストデータ項目から一項目を選び、選択した項目をシンクアプリケーションに入力することの効果を視覚化することを可能にする。図１３に、コンテキストクリップボード２０３のより複雑な形態を示す。図１３に示すように、コンテキストクリップボードは、どのアプリケーションが合致するコンテキストを与えるかを示すエリア１３０１を含む。エリア１３０２は、テキスト本文の抜粋を示し、シンクアプリケーションで使用されるコンテキストテキストを強調表示する。パネル１３０３は、ユーザが、コンテキストデータを作成される大凡の時間を選択することを可能にする。この場合、矢印はタイムライン上のスライダである。エリア１３０４はシンクアプリケーションである。ユーザが「ｏｋ」ボタンをクリックするまではフィールドが実際には埋められないことを示すために、エリア１３０４の寸法が縮小され、マスクで覆われることに留意されたい。
【００５１】
［ブラウザ・ウィザード］
[0050]ブラウザ・ウィザードは、モバイル装置上に常駐する特別なアプリケーションであり、ウェブベースのユーザインターフェースを有する。ブラウザ・ウィザードは、ユーザが明示的に対話するすべてのコンテキストデータ項目（電子メールの本文へのペースト等）を聴取し、カテゴリタグの標準の集合についての所定の知識を用いて、そのようなデータ項目内に含まれる概念を少なくとも以下のカテゴリに分類する。
・無視：時刻などの既知の概念について
・地図：住所関連の概念について
・お気に入り及び履歴：ＵＲＬ関連の概念について
・問合せ：他のすべての概念について
【００５２】
[0051]具体的には、住所関連の概念について、ブラウザ・ウィザードは住所の地図案内へのリンクを生成する。問合せカテゴリ内の概念について、ブラウザ・ウィザードは、（場合によっては、各概念が属するカテゴリタグ名と組み合わされた）そのような概念の検索結果ページへのリンクを作成し、場合によってはそのような検索結果ページを事前にロードしキャッシュする。
【００５３】
[0052]一実施形態では、ブラウザ・ウィザードのユーザインターフェースは、ブックマークされた（ローカル）ページ、ブラウザのメインＵＩ上のボタンなどの特別なＵＩウィジェット、特別なハードウェアボタンやキー、若しくはキーの組合せ、又は通知に対する確認を介してアクセスされる。さらに、ブラウザ・ウィザードのＵＩが最後の訪問以降に修正されている場合に、ブラウザホームサイトを上書きするようにブラウザ・ウィザードのＵＩを構成してもよい。
【００５４】
＜アンドロイドプラットフォーム上の一実施形態＞
[0053]一実施形態では、ＭＩＣＳミドルウェアサービス２００は、例えば、ユーザの労力の低減及び時間の節約に関してＭＩＣＳフレームワークによって達成される利点を示すためにアンドロイドフレームワーク上で実装することができる。ミドルウェアの一実装はアプリケーションレベルで実施され、したがってミドルウェアサービスはアプリケーションとして動作して、他の登録済アプリケーションがコンテキスト情報を交換することを可能にする。
【００５５】
[0054]アンドロイドフレームワーク内の各アプリケーションは、動作（ａｃｔｉｖｉｔｉｅｓ）、サービス、ブロードキャスト受信機、及びコンテンツプロバイダという４つの構成要素だけからなる。あらゆる動作が、ユーザがアプリケーションと対話することを可能にするＶｉｅｗに関連付けられる。動作は、長期間の作業を扱うためにバックグラウンドで動作するサービスを開始することができる。ブロードキャスト受信機は、当技術分野で周知の方式で、アプリケーションが他のアプリケーションにメッセージを送信し、又はシステムレベルコンテキストメッセージを受信することを可能にする。一方、コンテンツプロバイダは、アプリケーションのデータを他のアプリケーションから利用可能にし、一実施形態では、ＳＱＬｉｔｅデータベース又はファイルシステム内にデータを格納することができる。
【００５６】
[0055]実装をより良く説明するために、以下で使用のシナリオを説明する。
【００５７】
[0056]ＭＩＣＳミドルウェアサービスが装置上で開始される。ここで、装置は、連続して動作する必要のあるアプリケーションペアリングサービス（Ａｐｐｌｉｃａｔｉｏｎ  Ｐａｒｉｎｇ  Ｓｅｒｖｉｃｅ）、コンテキストブローカサービス（Ｃｏｎｔｅｘｔ  Ｂｒｏｋｅｒ  Ｓｅｒｖｉｃｅ）、コンテキスト抽出サービス（Ｃｏｎｔｅｘｔ  Ｅｘｔｒａｃｔｉｏｎ  Ｓｅｒｖｉｃｅ）、及びコンテキスト決定サービス（Ｃｏｎｔｅｘｔ  Ｄｅｔｅｒｍｉｎａｔｉｏｎ  Ｓｅｒｖｉｃｅ）という様々なサービスをバックグラウンドでを開始する。第１ステップとして、図３に示されるように、電子メールアプリケーションがＭＩＣＳミドルウェアサービスに登録される。ユーザは、本文が「第９地区は悪くないと聞いた。今夜見に行きたい？（"heard district 9 is not bad. want to go watch tonight?"）」である友人からの電子メールを読む。図４は、「第９地区（ｄｉｓｔｒｉｃｔ  ９）」及び「今夜（ｔｏｎｉｇｈｔ）」を含む電子メール本文を示す図である。システムは、「第９地区」が映画（Ｃｉｎｅｍａ）カテゴリタグの「タイトル」概念に関連する概念であり、「今夜」という語が時間（Ｔｉｍｅ）カテゴリタグに関連する概念であることを検出する。次にユーザは、映画ウェブサイトｗｗｗ．ｆａｎｄａｎｇｏ．ｃｏｍ上で検索を実施し、システムは、電子メールアプリケーションから抽出されたコンテキスト情報を渡し、コンテキストキーワード「第９地区」及び「今夜」を用いた検索を改善するためにユーザ許可を求める。一実施形態では、このことが図５に示されるような通知によって行われ、この通知はブラウザウィンドウの下端でポップアウトされて、電子メールアプリケーションからのコンテキストデータを使用することをユーザに思い起こさせる。
【００５８】
[0057]ユーザは提案を受け、映画館の場所、タイトル、及び上映時刻にそれぞれ伴ういくつかのオプションを見つける。ミドルウェアサービスは、場所、タイトル、及び時刻に関連する関連概念をウェブページから抽出する。ユーザは電子メールアプリケーションに戻り、ユーザの友人の電子メールに返信する。ユーザは、「これはどうですか：（"How about this:"）」とタイプし、次いでクリップボードを起動し、一つ又は二つのキーを用いていくつかのオプションを検討し、最後に一つに決定する。
【００５９】
[0058]それに伴って、オプションの場所、上映時刻、及び価格情報がユーザの電子メールの本文に貼り付けられる。図６は、ユーザが電子メールに返信するときにＭＩＣＳコンテキストクリップボードを起動でき、それによってユーザが返信をキー入力する代わりに返信を迅速に構成することが可能となることを示す図である。図７及び８に示すように、ユーザは、ウェブページから抽出された映画館の場所のいずれかを選択して、それを電子メール返信に挿入することができる。アプリケーションは、ブロードキャスト受信機を用いて、ＭＩＣＳミドルウェアサービスとメッセージを交換することができる。
【００６０】
[0059]特定のコンテキストデータ項目とのユーザの明示的な対話により、そのコンテキストデータ項目のアラームクロック（Ａｌａｒｍ  Ｃｌｏｃｋ）アプリケーションへの伝播も始動する。ウィンドウの上端のステータスバー上に示されるように、「アラームを追加（Ａｄｄ  Ａｌａｒｍ）」に関する通知が現れる。ユーザが、例えば図９に示されるような通知ウィンドウを開き、「アラームを追加（Ａｄｄ  Ａｌａｒｍ）」通知をクリックするとき、アラーム作成動作に関するビューが、アラームクロック項目の適切なフィールドが既に適切に埋められた状態で現れる。このことは図１０に示されている。
【００６１】
[0060]図１１はブラウザ・ウィザードの「問合せ（Ｑｕｅｒｉｅｓ）」ページの一実施形態を示す。ページは、問合せ「映画  第９地区（Ｍｏｖｉｅ  ｄｉｓｔｒｉｃｔ  ９）」に関する検索結果について新しく作成された項目（例えばリンク）を有する。検索結果ページは装置上にも事前ロード及びキャッシュされるので、ユーザがリンクをクリックしたとき、装置の現在の接続状態に関わらずページが迅速に表示される。ブラウザ・ウィザードは、映画館までの地図案内へのリンクを含む「地図（Ｍａｐｓ）」ページも有し、ユーザは「地図」ページからユーザの現在位置、自宅、オフィス、又は所定の場所を選択する。
【００６２】
[0061]図１２に「地図（Ｍａｐｓ）」ページの一例を示す。
【００６３】
[0062]図１４はコンテキスト交換プロセスの一実施形態の流れ図である。
【００６４】
［モバイル装置の一例］
[0063]図１５は、送信機及び／又は受信機を含み、上述の機能を実行する構成要素を含む携帯電話の一実施形態のブロック図である。
【００６５】
[0064]図１５に示すように、携帯電話１５１０は、アンテナ１５１１、無線周波数トランシーバ（ＲＦユニット）１５１２、モデム１５１３、信号処理ユニット１５１４、制御ユニット１５１５、外部インターフェースユニット（外部Ｉ／Ｆ）１５１６、スピーカ（ＳＰ）１５１７、マイクロフォン（ＭＩＣ）１５１８、ディスプレイユニット１５１９、操作ユニット１５２０、及びメモリ１５２１を含む。
【００６６】
[0065]一実施形態では、外部端末１５１６は、外部インターフェース（外部Ｉ／Ｆ）、ＣＰＵ（中央演算処理装置）、ディスプレイユニット、キーボード、メモリ、ハードディスク、及びＣＤ−ＲＯＭドライブを含む。
【００６７】
[0066]ＣＰＵは、携帯電話１５１０のメモリ（例えばメモリ１５２１や、外部Ｉ／Ｆ１５１６のメモリ及びハードディスク）と協働して、上述の動作を実行する。
【００６８】
[0067]送信機及び／又は受信機を他のワイヤレス装置装置（例えばワイヤレスＬＡＮ）内に含めることができることに留意されたい。
【００６９】
[0068]ノートブック、ラップトップ、デスクトップ、又は他のコンピュータに外部Ｉ／Ｆを接続することができる。このことにより、携帯電話がコンピュータ用のワイヤレスモデムとして動作することが可能となる。携帯電話は、インターネット、ＷｉＦｉ及びＷｉＭＡＸ、ローカルエリアネットワーク、広域ネットワーク、パーソナルエリアネットワーク、Ｂｌｕｅｔｏｏｔｈに対するコンピュータ接続であってもよい。
【００７０】
[0069]上記の説明を読んだ後に、おそらくは本発明の多数の変更及び修正が当業者には明らかとなるであろうが、例として図示及び説明したいずれの特定のどんな実施形態も決して限定とみなすためのものではないことを理解されたい。したがって、様々な実施形態の詳細に対する参照は、本発明に不可欠であるとみなされる特徴だけを列挙する特許請求の範囲を限定しないものとする。
【符号の説明】
【００７１】
１０１…電子メールアプリケーション、１０２…グローバルコンテキスト空間、１０３…電話帳アプリケーション、２００…ＭＩＣＳミドルウェア、２０１…アプリケーションペアリングサービス（ＡＰＳ）、２０２…コンテキストブローカサービス（ＣＢＳ）、２０３…コンテキストクリップボード、２０５…コンテキスト決定サービス（ＣＤＳ）、２０６…コンテキスト抽出サービス（ＣＥＳ）、２０６Ａ…概念認識エンジン、１５１０…携帯電話、１５１１…アンテナ、１５１２…無線周波数トランシーバ（ＲＦユニット）、１５１３…モデム、１５１４…信号処理ユニット、１５１５…制御ユニット、１５１６…外部インターフェースユニット（外部Ｉ／Ｆ）、１５１７…スピーカ（ＳＰ）、１５１８…マイクロフォン（ＭＩＣ）、１５１９…ディスプレイユニット、１５２０…操作ユニット、１５２１…メモリ。
【図１】
2011100446.tif 000008
【図２】
2011100446.tif 000009
【図３】
2011100446.tif 000010
【図４】
2011100446.tif 000011
【図５】
2011100446.tif 000012
【図６】
2011100446.tif 000013
【図７】
2011100446.tif 000014
【図８】
2011100446.tif 000015
【図９】
2011100446.tif 000016
【図１０】
2011100446.tif 000017
【図１１】
2011100446.tif 000018
【図１２】
2011100446.tif 000019
【図１３】
2011100446.tif 000020
【図１４】
2011100446.tif 000021
【図１５】
2011100446.tif 000022
【外国語明細書】
2011100446000001.pdf