(57)【要約】      （修正有）【課題】サービスにアクセスするため開始技法を提供する。【解決手段】１つの実施形態では、コンピューティング装置は、アプリケーションによりユーザーインターフェース中に表示されたテキストの選択を受け取る。ユーザーインターフェース中に表示された複数のサービスのうちの１つの選択が検出される。その検出に応じて、ユーザーがさらに介入することなく、テキストの選択が、選択されたサービスに提供される。【選択図】図１
2014112420.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング装置により実施される(implemented)方法であって、
アプリケーションによりユーザーインターフェース中に表示されたテキストの選択(sel
ection)を受け取るステップ（１７００）と、
前記ユーザーインターフェース中に表示された複数のサービスのうちの１つの選択を検
出(detecting)するステップ（１７０４）と、
前記検出するステップに応じて、ユーザーがさらに介入(intervention)することなく、
テキストの前記選択を用いて前記選択されたサービスのオペレーションを開始(initiate)
するために、前記選択されたサービスにテキストの前記選択を提供(providing)するステ
ップ（１７０６）と
を含む方法。
【請求項２】
前記複数のサービスのうちの前記１つの前記選択が、カーソル制御装置を用いて行われ
る、請求項１に記載の方法。
【請求項３】
前記テキストの前記選択の前記受け取るステップに応じて(responsive to)、ユーザー
が介入(intervention)することなく、前記複数のサービスのそれぞれの表現(representat
ions)を出力するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記テキストが、カーソル制御装置を用いて前記ユーザーインターフェース中で選択さ
れ、それによって(such that)、前記ユーザーインターフェース中の他のテキストは、選
択されることなく前記決定されたサービスに提供されない、請求項１に記載の方法。
【請求項５】
前記複数のサービスのそれぞれの表現(representation)を含むユーザーインターフェー
スを出力するステップをさらに含む、請求項１に記載の方法。
【請求項６】
少なくとも１つの前記表現が、音声入力(speech input)を行うことにより、対応する(c
orresponding)前記サービスの選択が実施可能(performable)であることを示す(indicates
)識別子(identifier)を含む、請求項５に記載の方法。
【請求項７】
前記提供されたテキストを用いて、前記決定されたサービスにより行われる処理(proce
ssing)の結果であるプレビューを出力するステップをさらに含む、請求項１に記載の方法
。
【請求項８】
前記プレビューが、ブラウザーを開くことなく行われる、請求項７に記載の方法。
【請求項９】
前記プレビューが、音声を用いて開始される(initiated)、請求項７に記載の方法。
【請求項１０】
前記音声入力が、前記決定されたサービスの名前に相当する(corresponds)、請求項９
に記載の方法。
【請求項１１】
前記音声入力が、ユーザーにより前記決定されたサービスに与えられた、前に記憶され
、カスタマイズされた名前に相当する、請求項９に記載の方法。
【請求項１２】
後続する(subsequent)音声入力の変換(translation)は、一旦、前記音声入力を用いて
前記サービスの前記決定を行うことができた(may be performed)なら停止する(ceases)、
請求項９に記載の方法。
【請求項１３】
少なくとも１つの前記サービスが、命令を実行するコンピューティング装置にとってロ
ーカル(local)なものである、請求項１に記載の方法。
【請求項１４】
少なくとも１つの前記サービスが、命令を実行するコンピューティング装置にとって遠
隔(remote)のものである、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施例は、例えば、サービス開始技法に関する。
【背景技術】
【０００２】
[0001]サービスは、ユーザーが関心を持つ可能性のある広範囲な機能を提供するように
構成することができる。例えば、サービスは、所望のレストランへの指示を提供する、特
定の用語に対する定義を見出す、好みの休暇スポットに関する天気予報を特定するなどの
ために使用されうる。しかし、これらのサービスにアクセスするために利用されていた従
来の技法は面倒であることが多く、ユーザーが対話するのを妨げることがあった。したが
って、ユーザーは、しばしば、サービスとの対話を見送ることを選ぶが、それはまた、サ
ービスのプロバイダーに対して不都合な金銭的問題を有していた。
【発明の概要】
【課題を解決するための手段】
【０００３】
[0002]サービスを開始する技法が述べられる。少なくとも一実施形態では、コンピュー
ティング装置は、アプリケーションによりユーザーインターフェース中に表示されたテキ
ストの選択を受け取る。ユーザーインターフェース中に表示された複数のサービスのうち
の１つの選択が検出される。その検出に応じて、ユーザーがさらに介入をすることなく、
テキストの選択を用いて選択されたサービスのオペレーションを開始するために、選択さ
れたサービスにテキストの選択が提供される。
【０００４】
[0003]実施形態では、１つまたは複数のコンピューター可読媒体は、複数のサービスの
うちどのサービスが、音声入力に基づいてアプリケーションによりユーザーインターフェ
ース中に表示されたテキストを受け取るべきかを決定するために実行可能な命令を含む。
命令はまた、ユーザーが介入することなく、決定されたサービスに対してテキストを提供
することが実行可能である。
【０００５】
[0004]この要約は、以下の詳細な説明でさらに述べられる概念の選択を簡単化した形で
紹介するために提供される。この要約は、特許請求される主題の重要な特徴または本質的
な特徴を特定することは意図されておらず、あるいは特許請求される主題の範囲を限定す
るために使用されることも意図されていない。
【０００６】
[0005]同様の機能を参照するために、同じ番号が諸図を通して使用される。
【図面の簡単な説明】
【０００７】
【図１】[0006]本明細書で述べられる様々な原理が、１つまたは複数の実施形態に従って使用されうるシステムを示す図である。
【図２】[0007]１つまたは複数の実施形態による多層化されたサービスプラットフォームを有するシステムを示す図である。
【図３】[0008]１つまたは複数の実施形態による多層化されたサービスプラットフォームを有する例示的なシステムを示す図である。
【図４】[0009]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図５】[0010]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図６】[0011]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図７】[0012]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図８】[0013]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図９】[0014]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１０】[0015]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１１】[0016]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１２】[0017]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１３】[0018]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１４】[0019]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１５】[0020]１つまたは複数の実施形態によるユーザーインターフェースを示す図である。
【図１６】[0021]１つまたは複数の実施形態による方法のステップを記述する流れ図である。
【図１７】[0022]１つまたは複数の実施形態による方法のステップを記述する流れ図である。
【図１８】[0023]１つまたは複数の実施形態による方法のステップを記述する流れ図である。
【図１９】[0024]１つまたは複数の実施形態を実施するために使用されうる例示的なシステムを示す図である。
【発明を実施するための形態】
【０００８】
[0025]概要
前に述べたように、広範囲な機能を提供するためにサービスが使用されうるが、サービ
スとの対話を開始するために使用される従来の技法は面倒なものであった。例えば、ユー
ザーは、電子メールで受信し、電子メールアプリケーションを用いて閲覧したレストラン
の住所など、アプリケーションからのテキスト出力を見ることができる。ユーザーが、レ
ストランへの指示を望む場合、ユーザーは、地図作成サービスと対話することができる。
しかし、これらの指示を得るためには、ユーザーは、住所を含む電子メール中のテキスト
を選択し、マウスを右クリックしてコピーコマンドを有するメニューを表示させること、
または「ｃｔｒｌ−ｃ」キーの組合せを用いることなどにより、そのテキストをコピーす
る。
【０００９】
[0026]コピーした後、ユーザーは、通常、ブラウザーを開き、地図作成機能を有する、
例えば、どこで曲がるかの指示を提供するウェブサービスを提供するウェブサイトへとナ
ビゲートする。ウェブサイト「に（ａｔ）」入ると、ユーザーは、次いで、そのテキスト
をペーストし（または他の例では、テキストを再度タイプする）、次いで、「ｅｎｔｅｒ
」を押して所望の指示を受け取ることができる。したがって、この例で示されるように、
ユーザーは従来、コンテキストを手動で（例えば、電子メールアプリケーションからブラ
ウザーアプリケーションへと）切り替えるが、それは破壊的になる可能性があり、またサ
ービスと対話するために冗長であり、しばしば面倒なプロセスに従事するようになる可能
性がある。
【００１０】
[0027]サービスを開始する技法が述べられる。実施形態では、テキストを用いてサービ
スのオペレーションを開始するために、サービスの選択を使用してテキストがサービスに
提供される。前の例を続けると、ユーザーは、レストランの住所を含む電子メール中のテ
キストを選択することができる。次いで、ユーザーは、ホットキーを押して話をすること
や、この例では、地図作成サービスの名前である所望のサービスの表現をクリックもしく
はタッチすることができる。選択されたテキストは、次いで、サービスに送られて、ユー
ザーがさらに対話することなく指示が生成される。したがって、ユーザーは、サービスの
オペレーションを開始するために「選択し問い合わせる」ことができる。実施形態では、
テキストを用いたサービスのオペレーションの結果が、コンテキストを切り替えることな
く表示されるようにプレビュー機能を使用することもできるが、そのさらなる論議は、以
下のセクションに関連して見出すことができる。
【００１１】
[0028]次の論議では、「動作環境」と題するセクションが提供され、１つまたは複数の
実施形態が使用されうる１つの環境を述べる。これに続いて、「例示的な多層化されたサ
ービスプラットフォーム」と題するセクションが提供され、１つまたは複数の実施形態に
よる多層化されたプラットフォームを述べる。多層化された構造は、少なくともいくつか
の実施形態では、レガシーアプリケーションとサービスとを統合するように設計された大
域統合レイヤー、ならびに共通のコントロール統合レイヤー、およびカスタムの統合レイ
ヤーを含む。共通のコントロール統合レイヤーは、アプリケーションが対応しているサー
ビスだけではなく、アプリケーションが未対応のサービスを統合するために、アプリケー
ションを横断して使用できる共通のコントロールを提供するために使用することができる
。カスタムの統合レイヤーは、様々な提供されたサービスを統合するように設計されたユ
ーザーインターフェースをカスタマイズするために様々なアプリケーションにより使用す
ることができる。
【００１２】
[0029]次に、「実施形態の例」と題するセクションは、多層化されたサービスプラット
フォームの例示的な実施形態を述べる。これに続いて、「大域統合レイヤー／ユーザーイ
ンターフェースの例」、「共通のコントロール統合レイヤー／ユーザーインターフェース
の例」、および「カスタムの統合レイヤー／ユーザーインターフェースの例」と題するセ
クションはそれぞれ、１つまたは複数の実施形態によるユーザーインターフェースの例を
提供する。次に、「例示的な手順」と題するセクションは、１つまたは複数の実施形態に
よる例示的な手順を述べる。最後に、「例示的なシステム」と題するセクションは、１つ
または複数の実施形態を実施するために使用されうる例示的なシステムを述べる。
【００１３】
[0030]動作環境
図１は、１つまたは複数の実施形態による動作環境を全体的に１００で示す。環境１０
０は、１つまたは複数のプロセッサー１０４と、１つまたは複数のコンピューター可読媒
体１０６と、コンピューター可読媒体上に常駐し、かつプロセッサー（複数可）により実
行可能な１つまたは複数のアプリケーション１０８とを有するコンピューティング装置１
０２含む。アプリケーション１０８は、例示のためでありこれだけに限らないが、ブラウ
ザーアプリケーション、リーダーアプリケーション、電子メールアプリケーション、イン
スタントメッセージング・アプリケーション、および様々な他のアプリケーションなど、
任意の適切なタイプのアプリケーションを含むことができる。コンピューター可読媒体は
、例示のためでありこれだけに限らないが、様々な形態の揮発性および不揮発性メモリー
、および／または、通常、コンピューティング装置と関連付けられた記憶媒体を含むこと
ができる。このような媒体は、ＲＯＭ、ＲＡＭ、フラッシュメモリー、ハードディスク、
取外し可能媒体などを含むことができる。コンピューティング装置の１つの具体的な例が
、図１９で示され、以下で述べられる。
【００１４】
[0031]さらに、コンピューティング装置１０２は、サービスプラットフォーム１１０を
含む。実施形態では、サービスプラットフォームは、上記で述べたもの、および他のもの
など、様々なアプリケーションにわたるウェブサービス（例えば、１つまたは複数のウェ
ブサイト１１４からネットワーク１１２を介してアクセス可能なサービス）、および／ま
たはローカルなサービスなどのサービスを統合することができる。少なくともいくつかの
実施形態では、サービスは、このようなサービスに「未対応の（ｕｎａｗａｒｅ）」レガ
シーアプリケーションを有するものと、このようなサービスに対応したアプリケーション
を有するものとを統合することが可能であり、それは以下で明らかとなろう。図で示され
るように、サービスプラットフォーム１１０は、コンピューター可読媒体１０６上に常駐
するコンピューター可読命令、またはコードの形式で存在する。
【００１５】
[0032]サービスプラットフォーム１１０は、様々な方法で構成することができる。例え
ば、図１で示すように、サービスプラットフォーム１１０は、サービスのオペレーション
を開始する機能を表すサービス開始モジュール１１６を含むものとして示されている。例
えば、サービス開始モジュール１１６は、コピー機能、例えば、ホットキーの組合せ「Ｃ
ＴＲＬ  Ｃ」によりアクセス可能な「クリップボード」を含むオペレーティングシステム
の一部として組み込まれうる。この機能を用いると、サービス開始モジュール１１６は、
１つまたは複数のアプリケーション１０８により出力されたテキストを受け取ることがで
きる。「ドラッグ・アンド・ドロップ」など、テキスト選択の様々な他の例もまた企図さ
れる。さらに、この例は、テキストをコピーするために、オペレーティングシステム内に
組み込まれた機能を使用することを述べているが、「スタンドアロン」モジュールとして
のサービス開始モジュール１１６の構成、１つまたは複数のアプリケーション１０８内へ
の組込み、および以下同様のものなどによる他の例もまた企図される。
【００１６】
[0033]サービス開始モジュール１１６はまた、選択されたテキストを用いて、オペレー
ションを実施する特定のサービスを選択する機能を表す。サービス選択は、様々な方法で
実施することができる。例えば、サービス開始モジュール１１６は、音声認識技法を利用
し、したがって、音声入力を受け入れることができる。音声認識技法は、サービス開始モ
ジュール１１６内に、コンピューティング装置１０２上で実行されるオペレーティングシ
ステム内に、スタンドアロンのモジュールとしてなど、以下同様のものに組み込むことが
できる。サービス開始モジュール１１６はまた、特定のサービスを選択するために、タッ
チ入力、従来のマウス／キーボード入力などを受け入れることができる。
【００１７】
[0034]サービス開始モジュール１１６はさらに、選択されたテキストを用いて、選択さ
れたサービスのオペレーションを開始するための技法を表す。例えば、特定のサービスが
選択された後、サービス開始モジュール１１６は、ユーザーがさらに対話することなく、
例えば、サービスを選択した後、ユーザーにテキストをサービスへと手動で「ペースト」
させることなく、選択されたテキストを（例えば、「クリップボード」から）特定のサー
ビスへと提供することができる。したがって、サービス開始モジュール１１６は、サービ
スに対して効率的なアクセスを行うことができるが、そのさらなる論議は、以下のセクシ
ョンに関連して見出されるはずである。
【００１８】
[0035]コンピューティング装置１０２は、例示のためでありこれだけに限らないが、デ
スクトップコンピューター、可搬型コンピューター、ＰＤＡ（携帯情報端末）などのハン
ドヘルドコンピューター、携帯電話など、任意の適切なコンピューティング装置として実
施することができる。
【００１９】
[0036]概して、本明細書で述べる機能のいずれも、ソフトウェア、ファームウェア（例
えば固定論理回路）、手動処理、またはこれらの実施形態の組合せを用いて実施すること
ができる。本明細書で使用される場合、用語「モジュール」、「機能」、および「論理」
は、概して、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアの組
合せを表す。ソフトウェア実施形態の場合、モジュール、機能、または論理は、プロセッ
サー（例えば、１つまたは複数のＣＰＵ）上で実行されたとき、特定のタスクを実施する
プログラムコードを表す。プログラムコードは、１つまたは複数のコンピューター可読メ
モリー装置、例えば、コンピューター可読媒体１０６に記憶されうる。以下で述べるサー
ビス開始技法の特徴は、プラットフォームに依存しないこと、すなわち、本技法が、様々
なプロセッサーを有する様々な市販のコンピューティングプラットフォーム上で実施でき
ることを意味する。
【００２０】
[0037]例示的な多層化されたサービスプラットフォーム
図２は、１つまたは複数の実施形態による多層化されたサービスプラットフォームを有
するシステムを全体的に２００で示す。この例では、システム２００は、複数の様々なア
プリケーション２０２、２０４、２０６、２０８、および２１０を含む。アプリケーショ
ンは、上記で、また以下でその例が提供される様々なアプリケーションを含むことができ
る。さらに、システム２００は、この例では、アプリケーション２０２〜２１０などの様
々なアプリケーションにわたってウェブサービスおよび／またはローカルなサービスの両
方で、サービスを統合するように設計された複数の異なるプラットフォームレイヤーを含
む。この特定の例では、複数の異なるレイヤーは、大域統合レイヤー２１２、共通のコン
トロール統合レイヤー２１４、およびカスタムの統合レイヤー２１６を含む。
【００２１】
[0038]例示され述べられた実施形態では、大域統合レイヤー２１２は、「サービス対応
（ａｗａｒｅ）」していないアプリケーションを、それにもかかわらず、ユーザーがアプ
リケーション内からこのようなサービスにアクセスし、かつ使用できるようにすることを
可能にするように設計される。この目的のために、少なくともいくつかの実施形態では、
大域統合レイヤーは、アプリケーション内から利用可能であり、かつ呼び出すことのでき
る１つまたは複数のサービスを表示する包括的なユーザーインターフェースを提供する。
この実施形態では、大域統合レイヤーの機能は、ローカルなクライアント装置上で動作す
るオペレーティングシステムによりサポートされる。
【００２２】
[0039]ユーザーが、サービス対応していないアプリケーション内からどのサービスを利
用できるかを確認したい場合、ユーザーは、（例えば、ホットキーの組合せを打ち込むな
ど）オペレーティングシステムにより検出されるオペレーティングシステムのデスクトッ
プ上のショートカットを用いるなど、特定のアクションを行うことができる。ユーザーア
クションを検出したことに応じて、オペレーティングシステムは、利用可能なサービスの
一覧表示を受け取るために、ローカルなサービスストアに対してＡＰＩ呼出しを行うこと
ができる。オペレーティングシステムは、次いで、ユーザーが利用可能なサービスを一覧
表示した包括的なユーザーインターフェースを提示することができる。
【００２３】
[0040]１つまたは複数の実施形態では、包括的なユーザーインターフェースがユーザー
に提示された後、ユーザーは、いくつかの異なるアクションを取ることができる。例えば
、いくつかの実施形態では、ユーザーは、そのカーソルを、特定のサービス記述またはア
イコン上に重ねて、そのサービスのプレビューを受け取ることができる。代替的に、また
はさらに、ユーザーは、特定のサービス記述またはアイコン上をクリックすることができ
、次いで、そのサービスの機能へとナビゲートされうる。さらに、ユーザーは、複数のサ
ービスから特定のサービスを選択するのに適切な名前もしくは他の識別子を話すことによ
り音声入力を行うことができる。特定のサービス機能へのナビゲーションは、ローカルな
ナビゲーション、またはウェブベースのナビゲーションを含むことができる。１つまたは
複数の実施形態では、ナビゲーションは、サービスによるオペレーションのために、ユー
ザーにより選択されたものなどのデータをサービスに対して送信することを含むことがで
きる。
【００２４】
[0041]したがって、この実施形態では、オペレーティングシステムにより提供される包
括的なユーザーインターフェースは、利用可能なサービスを提示し、かつユーザーが１つ
または複数のサービスを選択できるようにするために使用される特定のＡＰＩ呼出しにつ
いて十分理解力がある。この方法では、「サービス対応」ではないアプリケーションを、
ユーザーがサービスにアクセスするための出発点として、なお使用することができる。
【００２５】
[0042]例示され述べられた実施形態では、共通のコントロール統合レイヤー２１４は、
１つまたは複数のアプリケーションによりホストされうるコントロールを提供する。その
コントロールは、アプリケーションが、本来サポートするサービスを取り込むこと、なら
びにアプリケーションにより本来はサポートされないサービスが、それにもかかわらず、
ユーザーに提供できるようになる手段を提供することを可能にすることができる。
【００２６】
[0043]ユーザーが、アプリケーション内からどのサービスが利用可能であるかを確認し
たい場合、ユーザーは、テキスト選択もしくはファイル選択などの特定の選択を行うなど
特定のアクションを取ることができる。ユーザーアクションの検出に応じて、ホストされ
たコントロールは、ローカルなサービスストアに対してＡＰＩ呼出しを行って、利用可能
なサービスの一覧表示を受け取ることができる。コントロールは次いで、ユーザーに対し
て利用可能なサービスを一覧表示するユーザーインターフェースを提示することができる
。これらのサービスは、アプリケーションにより本来提供されるサービス、ならびにロー
カルに、または遠隔的に他のサービスプロバイダーにより提供されるサービスを含むこと
ができる。
【００２７】
[0044]１つまたは複数の実施形態では、ユーザーインターフェースがユーザーに提示さ
れた後、ユーザーは、いくつかの異なるアクションを取ることができる。例えば、ユーザ
ーは、サービスを選択するために、サービスのうちの特定の１つの識別子（例えば、地図
作成サービスの場合、「その地図を作成する」など、サービスにより行われる名前および
／またはアクション）を話すこと、ユーザーを選択するためにユーザーにより以前に入力
されカスタマイズされた識別子を話すことなど、以下同様に行うことなどにより、音声を
用いてサービスの１つを選択することができる。
【００２８】
[0045]いくつかの実施形態では、ユーザーは、例えば、音声入力（例えば、「地図をプ
レビューする」など）を介して、特定のサービスの「プレビュー」を要求すること、特定
のサービス記述もしくはアイコン上にカーソルを「重ねる」ことなど、以下同様に行うこ
とができる。代替的に、またはさらに、ユーザーは、次いで、特定のサービス記述もしく
はアイコンを選択する（例えば、その上をクリックする）ことができ、次いで、そのサー
ビスの機能へとナビゲートされうる。特定のサービスの機能へのナビゲーションは、ロー
カルなナビゲーション、またはウェブベースのナビゲーションを含むことができる。
【００２９】
[0046]したがって、この実施形態では、コントロールは、利用可能なサービスを提示す
るために、かつユーザーに１つまたは複数のサービスを選択できるようにするために使用
される特定のＡＰＩ呼出しについて十分理解力がある。この方法では、アプリケーション
は、サービスをその固有のものとして提供するために、かつ他のサービスプロバイダーに
より提供されるサービスを提供するために、コントロールを使用することができる。さら
に、コントロールは、多くの様々なアプリケーションによりホストされうるので、様々な
アプリケーションにわたって共通のユーザー体験を提供することができる。
【００３０】
[0047]１つまたは複数の実施形態では、カスタムの統合レイヤー２１６は、ＡＰＩに対
応するアプリケーションにより使用されうる１組のＡＰＩを提供して、提供されるサービ
スのリストを受け取り、次いで、それ自体のユーザーインターフェースと、提供されたサ
ービスをそれを介してユーザーが消費できるユーザー体験とを生成する。
【００３１】
[0048]多層化されたサービスプラットフォームの全体的な概念を述べてきたが、次に、
多層化されたサービスプラットフォームの１つの特有の例を述べる実施形態の例を検討す
る。以下の記述は、一例を提供するに過ぎず、特許請求される主題のアプリケーションを
、特有の実施形態に限定するために使用されるべきではないことを認識され理解されたい
。したがって、他の実施形態を、特許請求される主題の趣旨および範囲を逸脱することな
く使用することができる。
【００３２】
[0049]実施形態の例
図３は、１つまたは複数の実施形態による多層化されたサービスプラットフォームを有
する例示的なシステムを全体的に３００で示す。この例では、システム３００は、ウェブ
ブラウザー３０２、リーダーアプリケーション３０４、電子メールアプリケーション３０
６、インスタントメッセージング・アプリケーション３０８、および１つまたは複数のい
わゆるレガシーアプリケーション３１０の形のアプリケーションを含む。この文書のコン
テキストでは、レガシーアプリケーションとは、そのアプリケーションの使用中に、ユー
ザーがアクセスできる少なくともいくつかのサービスに未対応のアプリケーションと見な
すことができる。示されたアプリケーションは、例示のために提供されており、特許請求
される主題のアプリケーションを限定することは意図されていない。したがって、他のア
プリケーションを、特許請求される主題の趣旨および範囲から逸脱することなく使用する
こともできる。
【００３３】
[0050]この特定の例では、大域統合レイヤーは、システムサービスメニュー３１２、お
よびサービス管理コンポーネント３１４を含み、また共通のコントロール統合レイヤーは
、共通のコンテキストメニュー３１６を含む。さらに、１つまたは複数の実施形態では、
カスタムの統合レイヤーは、データ認識コンポーネント３１８、アプリケーション・プロ
グラム・インターフェースすなわちＡＰＩ３２０、サービスストア３２２、プレビューコ
ンポーネント３２４、および実行コンポーネント３２６を含む。
【００３４】
[0051]１つまたは複数の実施形態では、大域統合レイヤーのシステムサービスメニュー
３１２は、１つまたは複数のアプリケーションを使用している間にユーザーにより呼び出
すことができ、コンテキストがアプリケーション（複数可）により提供される。実際に、
「サービス対応」ではないアプリケーションを使用して、システムサービスメニューを呼
び出すことができる。１つまたは複数の実施形態では、システムサービスメニューは、ク
ライアント装置のオペレーティングシステムによりサポートされ、様々な方法で呼び出す
ことができる。例えば、アプリケーションにより表示されるテキストの選択は、選択され
たテキストの隣にポップアップメニューとして、システムサービスメニュー３１２を出力
させることができる。
【００３５】
[0052]他の例では、少なくともいくつかの実施形態において、ユーザーは、システムサ
ービスメニューに、特定のホットキーの組合せでキー入力することによりアクセスするこ
とができる。オペレーティングシステムにより検出された後、ホットキーの組合せは、ア
プリケーション・プログラム・インターフェース３２０へのＡＰＩ呼出しを行って、利用
可能なサービスのリストを受け取る。利用可能なサービスは、ローカルに提供されるサー
ビス、および／または遠隔のサービスプロバイダーにより提供されるサービスとすること
ができる。システムサービスメニュー３１２は、次いで、ユーザーによりアクセスされう
る利用可能なサービスを一覧表示するユーザーインターフェースを提示する。１つまたは
複数の実施形態では、システムサービスメニュー３１２により提示されたユーザーインタ
ーフェースは、様々なアプリケーションにわたり包括的であり、したがって、統合され、
統一されたユーザー体験を提供することになる。
【００３６】
[0053]サービスが、システムサービスメニュー３１２により提示されたユーザーインタ
ーフェースを介してユーザーに一覧表示された後、ユーザーは、例えば、サービスの識別
子（例えば、メニュー中に表示された名前、以前に記憶されたカスタムの識別子など）を
話すこと、サービスを選択するためにカーソル制御装置を使用することなどにより、特定
のサービスを選択することができる。１つまたは複数の実施形態では、ユーザーは、プレ
ビューコンポーネント３２４を介して、表示されたサービスに関する何らかのアクション
を取ることにより、サービスのプレビューを受け取ることができる。
【００３７】
[0054]例えば、ユーザーは、テキストを用いて特定のサービスのプレビューを開始する
ために音声入力を提供すること（例えば、サービスにより選択されたテキストの定義に対
して「定義をプレビューする」など）、そのサービスに関連付けられた特定の記述または
アイコンの上、もしくはその近傍にカーソルを置いて、そのサービスのプレビューを受け
取ることなど、以下同様に行うことができる。１つまたは複数の実施形態では、ユーザー
がアプリケーションのコンテキストから離れさせることなくプレビューをユーザーに提供
することができる。例えば、カーソルがこのように置かれるとき、オペレーティングシス
テムは、プレビューコンポーネント３２４に対してＡＰＩ呼出しを行って、プレビューの
一部として提示される情報またはデータを受け取ることができる。代替的に、またはさら
に、特定のサービス記述もしくはアイコン上をクリックすることにより、ユーザーは、サ
ービスを実行させることができる。これが生じたとき、オペレーティングシステムは、実
行コンポーネント３２６に対してＡＰＩ呼出しを行うことができ、それは、次いで、サー
ビスを実行させることができる。サービスの実行は、例示のためでありこれだけに限らな
いが、ローカルナビゲーションと遠隔ナビゲーションのいずれか、もしくは両方とするこ
とのできるナビゲーション活動を含むことができる。これをどのようにして行うことがで
きるかの例は、以下で提供される。
【００３８】
[0055]１つまたは複数の実施形態では、サービス管理コンポーネント３１４は、サービ
スと関連する様々な管理機能を提供する。例えば、１つまたは複数の実施形態では、サー
ビス管理コンポーネント３１４は、ユーザーが特定のサービスを追加し、削除し、かつ／
または更新することを可能にする機能を提供することができる。さらに、１つまたは複数
の実施形態では、サービス管理コンポーネントは、容易にアクセスできるように、特定の
サービスをデフォルトサービスとしてユーザーが設定できるようにする。さらに他の実施
形態では、サービス管理コンポーネント３１４は、ユーザーが、例えば、サービスを開始
するためにユーザーにより話すことのできる、サービスに対するカスタムの識別子を使用
するために、テキストおよび／またはサービスを選択する方法をカスタマイズできるよう
にすることが可能である。
【００３９】
[0056]１つまたは複数の実施形態では、共通のコントロール統合レイヤーの共通のコン
テキストメニュー３１６は、様々なアプリケーションにわたる共通のコンテキストメニュ
ーを提供する。１つまたは複数の実施形態では、共通のコンテキストメニューは、様々な
アプリケーションによりホストすることのできるコントロールである。少なくともいくつ
かの実施形態では、サービスまたは関連する活動がどのように働くかを、これらのアプリ
ケーションがその固有のものとして理解する必要はない。それにもかかわらず、コントロ
ールをホストすることによって、アプリケーションは、アプリケーション体験の一部とし
て、なおサービスを提供することができる。
【００４０】
[0057]アプリケーションが、共通のコンテキストメニューをホストする場合、アプリケ
ーションは、それが提供するサービス、ならびに他のサービスプロバイダーにより提供さ
れる他のサービスと共にメニューを取り込むことができる。したがって、アプリケーショ
ンは、固有のサービス、ならびにその固有のものではないサービスを共に提供することが
できる。さらに、これらのサービスは、コンピューティング装置１０２にローカルなもの
（例えば、デスクトップ検索）、かつ／またはウェブサービスおよび他のネットワークサ
ービスなどのネットワーク１１２を介してアクセス可能なものとすることができる。１つ
または複数の実施形態では、共通のコンテキストメニューは、アプリケーション・プログ
ラム・インターフェース３２０に対して十分理解力があり、また適切なＡＰＩ呼出しを行
って、サービスストア３２２中で提供されかつ記述されるサービスに関する情報を受け取
ることができる。具体的には、１つまたは複数の実施形態では、共通のコンテキストメニ
ューは、特定のサービスＡＰＩに対応している。
【００４１】
[0058]１つまたは複数の実施形態では、データ認識装置３１８は、サービスの一覧表示
がその中で要求される特定のＡＰＩ呼出しと関連するデータを認識するように構成される
。したがって、データ認識装置３１８は、次いで、サービスの適切な組が発呼者に返され
ることを保証することができる。例えば、ユーザーが、住所などのテキストの特定部分を
選択する場合、サービスの特定のサブセットが、送り返すには不適切である場合がある。
この場合、データ認識装置３１８は、サービスの正しい一覧表示が返されるように注意を
払うことができる。
【００４２】
[0059]１つまたは複数の実施形態では、アプリケーション・プログラム・インターフェ
ース３２０は、ユーザーに提示されうるサービスを追加し、削除し、またはその他の形で
管理するために使用できる１組のＡＰＩを提供する。ＡＰＩは、サービスの一覧表示を受
け取るために使用されるものを含むことができる。「例示的なＡＰＩ」と題するセクショ
ンで、ＡＰＩの組を一例だけ以下で提供する。
【００４３】
[0060]１つまたは複数の実施形態では、サービスストア３２２は、提供されうる様々な
サービスと関連する情報および／またはデータを維持するために使用される。サービスは
、サービスストアから柔軟に追加され、かつ削除されうる。これは、様々な方法で行うこ
とができる。１つまたは複数の実施形態では、これは、提供されるサービスを記述するた
めにサービスプロバイダーが使用する宣言的モデルを使用することにより行うことができ
る。アプリケーション・プログラム・インターフェース３２０により呼出しが受信された
とき、その呼出しに関連する情報が、サービスストア３２２から取得され、かつそれに従
って、提示することができる。
【００４４】
[0061]１つまたは複数の実施形態では、プレビューコンポーネント３２４は、１つまた
は複数の提供されるサービスのプレビューを提供するために使用されうる。これをどのよ
うにして行うことができるかの例が以下で示される。
【００４５】
[0062]１つまたは複数の実施形態では、実行コンポーネント３２６は、提供される１つ
または複数のサービスを実行するために使用されうる。これをどのようにして行うことが
できるかの例が以下で示される。
【００４６】
[0063]大域統合レイヤー／ユーザーインターフェースの例
図４は、リーダーアプリケーションのためのユーザーインターフェースを全体的に４０
０で示す。この例では、ユーザーは、そのデスクトップ上のリーダーアプリケーションを
開き、リーダーアプリケーションを用いて文書４０２を開いている。この例では、リーダ
ーアプリケーションは、ユーザーに提供される１つまたは複数のサービスを本来はサポー
トしていない。
【００４７】
[0064]図５を参照すると、ユーザーは、５００で破線のボックスにより示された、その
カーソルでテキスト「ブロギング（Ｂｌｏｇｇｉｎｇ）」を選択している。このユーザー
アクションに応じて、オペレーティングシステムは、アプリケーション・プログラム・イ
ンターフェース３２０（図３）に対してＡＰＩ呼出しを行い、それに応じて、いくつかの
利用可能なサービスを一覧表示するシステムサービスメニュー５０２を提示する。図示の
ように、サービスは、例示のためであり、これだけに限らないが、検索サービス、定義サ
ービス、調査サービス、地図サービス、ニュースサービス、画像サービス、および翻訳サ
ービスを含む。例示され述べられた実施形態では、一覧表示されたサービスのいずれも、
リーダーアプリケーション４００により本来はサポートされない。
【００４８】
[0065]図６を参照すると、プレビュー６００が、ユーザーに対して提示される。例えば
、ユーザーは、プレビューを開始する音声入力を提供すること（例えば、「定義をプレビ
ューする」）、定義サービスの一覧表示上または近傍にカーソルを重ねることなど、以下
同様に行うことができる。この特定の例では、プレビューは、ユーザーにより選択された
用語を簡単に定義する。この例では、プレビュー６００の提示は、例えば、「ブロギング
」などの選択されたテキストを含むユーザーによる介入なしに、プレビューコンポーネン
ト３２４と協調して、アプリケーション・プログラム・インターフェース３２０（図３）
に対してオペレーティングシステムにより行われたＡＰＩ呼出しの結果である。この特定
の例では、提示されたプレビューは、遠隔サービスプロバイダーへのナビゲーションを行
わせて、それにより、テキストを用いて遠隔サービスプロバイダーにより行われたオペレ
ーションの結果であるプレビュー中で表示される情報が提供される。
【００４９】
[0066]この時点で、ユーザーは、サービスをさらに実行するよう選択することも、選択
しないことも可能である。ユーザーが、例えば、プレビュー６００上をクリックすること
、サービスの話された識別子を提供することなど、以下同様に行うことにより、サービス
を実行することを選択した場合、定義サイトへの完全なナビゲーションが行われうる。例
えば、図７は、定義サイトへのナビゲーションとして提供されたユーザーインターフェー
ス７００を示す。この例では、ユーザーにより選択された用語の完全な定義、ならびに定
義サイトで提供される他の情報を提供することができる。
【００５０】
[0067]この方法では、特定のサービスを本来はサポートしないアプリケーションが、そ
れにもかかわらず、オペレーティングシステムのサポートを介して、いくつかのサービス
へのアクセスを提供することができる。さらにこのアクセスは、アプリケーションにより
表示される選択されたテキストをサービスに提供するために使用されうる話し言葉もしく
は他の入力により効率的な方法で行うことができる。
【００５１】
[0068]他の例として、図８を検討する。そこでは、リーダーアプリケーション４００お
よび文書４０２が示されている。この例では、ユーザーは、カーソルを用いて、８００で
破線のボックスにより示された住所を選択している。
【００５２】
[0069]図９を参照すると、地図ユーザーインターフェース９００の形のプレビューがユ
ーザーに提示されている。プレビュー上をクリックすることにより、ユーザーは、例えば
、特定の住所への運転指示、ならびに地図サイトで一般に提供される他の機能を受け取る
ための選択肢をユーザーに提供できる地図サイトへとナビゲートされうる。
【００５３】
[0070]さらにこの例では、地図作成サービスを本来はサポートしないリーダーアプリケ
ーションが、それにもかかわらず、オペレーティングシステムのサポートにより、地図作
成サービスへのアクセスを提供することができる。
【００５４】
[0071]共通のコントロール統合レイヤー／ユーザーインターフェースの例
１つまたは複数の実施形態では、共通のコントロール統合レイヤーは、アプリケーショ
ンによりアクセスされうるサービスを示すためにアプリケーションにより使用できる共通
のコントロールを提供することができる。１つまたは複数の実施形態では、共通のコント
ロールは、システムサービスメニュー３１２（図３）により提供されるものなど、システ
ムサービスメニューの形を取る。例として、電子メールアプリケーションにより提供され
るユーザーインターフェースを全体的に１０００で示す図１０を検討する。この例では、
ユーザーは、カーソル制御装置を使用するなどにより、１００２で示された住所を選択し
ている。
【００５５】
[0072]ユーザーの選択に応じて、共通のコントロールを提示することができるが、それ
は、アプリケーションにより提供されるサービスだけではなく、他のサービスプロバイダ
ーにより提供されるサービスもユーザーに対して表示することができる。例として、図１
１を検討すると、それは、アプリケーションにより提供されるサービス、ならびに他のサ
ービスプロバイダーにより提供されるサービスを一覧表示する共通のコントロール１１０
０を示す。具体的にこの例では、アプリケーションにより提供されるサービスは、「コピ
ー」サービス、および「すべてを選択する」サービスを含む。
【００５６】
[0073]さらに、アプリケーションにより本来は提供されない他のサービスも同様に表示
することができる。具体的にこの例では、このようなサービスは、「Ｗｉｎｄｏｗｓ(登
録商標)  Ｌｉｖｅ（ウィンドウズ(登録商標)ライブ）上で地図を作成する」サービス、
「Ｇｍａｉｌへ送信する」サービス、および「ＢａｂｅｌＦｉｓｈ（バベルフィッシュ）
で翻訳する」サービスを含む。この例では、共通のコントロール１１００内で提示される
サービスは、そのコントロールにより行われたＡＰＩ呼出しの結果である。
【００５７】
[0074]共通のコントロール１１００はまた、各オペレーションを実施する、例えば、「
Ｗｉｎｄｏｗｓ(登録商標)  Ｌｉｖｅ上で地図を作成する」ために、サービスに提供され
るテキスト（例えば、１００２で示された住所）のコピーを有する部分を含めて示されて
いる。この方法では、共通のコントロール１１００は、どのテキストがサービスに送られ
るかを確認することができる。さらに共通のコントロール１１００はまた、サービスの各
表現の隣に配置された指示の例１１０４、１１０６を含むものとして示され、示されたサ
ービスが、音声入力を用いて選択可能であることを示している。
【００５８】
[0075]図１２を参照すると、ユーザーは、地図作成サービスの上またはその近傍にカー
ソルを置いており、それに応じて、サービスのプレビューを提供する地図プレビュー１２
００が提示されている。次に、プレビュー１２００上をクリックすることにより、ユーザ
ーは、上記で述べたように他の地図作成機能を提供する関連する地図作成サイトへとナビ
ゲートされうる。前に述べた他の選択技法も利用することができる。
【００５９】
[0076]この方法では、共通のコントロールを、様々なアプリケーションにわたって使用
することができ、アプリケーションにより本来サポートされるサービス、ならびにアプリ
ケーションにより本来はサポートされないサービスを、ユーザーに提示できるようにする
。様々なアプリケーションにわたって共通のコントロールを使用することは、統一され、
統合されたユーザー体験を提供する。
【００６０】
[0077]カスタムの統合レイヤー／ユーザーインターフェースの例
１つまたは複数の実施形態では、カスタムの統合レイヤーは、提供されるサービスのリ
ストを受け取り、次いで、それ自体のユーザーインターフェースと、ユーザーが提供され
たサービスを消費することのできるユーザー体験とを作成するために、ＡＰＩに対応して
いるアプリケーションにより使用できる１組のＡＰＩを提供する。例として、ユーザーイ
ンターフェース１３００を有するインスタントメッセージング・アプリケーションの形の
アプリケーションを示す図１３を検討する。この例では、ユーザーは、他の人物との対話
に参加している。対話は、参加者が食事をしたい場所に関する。参加者の１人が、特定の
カフェについて述べている。
【００６１】
[0078]図１４を参照するとユーザーは、破線のボックス１４００により示されるように
テキスト「カフェ  プレス（ｐｒｅｓｓｅ）」を選択している。このテキスト選択の検出
に応じて、この例では、プラットフォームのＡＰＩに対応しているインスタントメッセー
ジング・アプリケーションが、提供されるサービスのリストの返信を受け取るためにＡＰ
Ｉ呼出しを行った。この例では、ユーザーは、コマンドを話し（例えば、「その地図を作
成する」）、対応する地図作成サービスが提供され、１４０２で示されるアイコンと関連
付けられる。この実施形態では、コマンドを話した後、ユーザーによってさらに対話を行
うことなく、地図作成サービスが提供される。
【００６２】
[0079]前のものと同様に、地図作成サービスは、現在のユーザーインターフェースから
離れてユーザーをナビゲートすることなく、テキストを用いて、サービスにより行われる
オペレーションの「プレビュー」を提供することができる。例として、図１５を検討する
。そこでは、地図ユーザーインターフェース１５００の形でプレビューがユーザーに対し
て提供される。プレビューは、ユーザーを地図のプレビューに関連付けられたさらなる機
能へとナビゲートできるように、選択可能に構成することができる。例えば、ユーザーは
、例えば、ユーザーの特定の選択と関連する運転指示を提供する可能性のある地図サイト
へとナビゲートされうる。サービス選択のさらなる論議は、以下の手順に関して見出すこ
とができる。
【００６３】
[0080]例示的な手順
以下の論議は、前に述べたシステムおよび装置を用いて実施されうる技法を述べる。各
手順の諸態様は、ハードウェア、ファームウェア、もしくはソフトウェア、またはそれら
の組合せで実施することができる。手順は、１つまたは複数の装置により実施されるオペ
レーションを指定する１組のブロックとして示されており、また各ブロックによりオペレ
ーションを実施するために示された順序に必ずしも限定されない。以下の論議の部分では
、前に述べた環境および／またはユーザーインターフェースへの参照を行うことになる。
【００６４】
[0081]図１６は、１つまたは複数の実施形態による大域統合手順における諸ステップを
記述する流れ図である。手順は、任意の適切なハードウェア、ソフトウェア、ファームウ
ェア、またはそれらの組合せと共に実施することができる。少なくともいくつかの実施形
態では、手順の諸態様は、上記で示され、述べられたものなど、サービスプラットフォー
ムにより実施することができる。
【００６５】
[0082]オペレーティングシステムが、ユーザーアクションを検出する（ブロック１６０
０）。上記の例では、ユーザーは、提供されることが望ましいサービスを必ずしもサポー
トしないレガシーアプリケーションなどのアプリケーション内で作業をしている。ここで
、ユーザーアクションは、ユーザーが、そのアプリケーションにより提供されない１つま
たは複数のサービスについて知りたいと望むこと、かつおそらくそれを消費したいと望む
ことを示すものであるはずである。したがって、ホットキーの組合せ、音声入力などの任
意のタイプのアクションを構成しうるユーザーのアクションを介して、ユーザーは、提供
されるサービスについて知りたいと望むことを示すことができる。例えば、ユーザーは、
テキストを選択し、音声機能を開始し（例えば、ボタンを押す）、かつサービスの特定の
ものを識別するために使用されうる１つまたは複数の単語を話すことができる。
【００６６】
[0083]ユーザーのアクションは、オペレーティングシステムにより検出され、それに応
じて、アプリケーションにより本来はサポートされないサービスのリストが取得される（
ブロック１６０２）。サービスのリストは、様々な方法で取得することができる。上記の
例では、リストは、プラットフォームでサポートされるＡＰＩに対するオペレーティング
システム呼出しを介して取得される。
【００６７】
[0084]ユーザーのためのサービスのリスト（ブロック１６０４）。このステップは、様
々なユーザーインターフェースを用いて様々な方法で行うことができる。１つまたは複数
のサービスのプレビューが提供される（ブロック１６０６）。このステップもまた様々な
方法で行うことができる。上記の例では、プレビューは、ユーザーが、サービスと関連付
けられたアイコンまたはサービス記述の上もしくはその近傍に、自分のカーソルを重ねる
こと、サービスの特定の１つのプレビューを開始するのに適した音声入力を行うこと（例
えば、「定義をプレビューする」）、および以下同様のものなど、何らかのアクションを
取ることに応じて提供される。この例では、サービス機能が提供される遠隔のウェブサイ
トにユーザーをナビゲートすることを含むことのできるサービスの機能へのアクセスが提
供される（ブロック１６０８）。代替的に、またはさらに、サービスの機能は、ローカル
にも提供されうる。プレビューは任意選択のものであり、特定のサービスを識別した後、
省略してもよいことは容易に明らかとなるはずであり、その例を以下で述べる。
【００６８】
[0085]図１７は、１つまたは複数の実施形態によるサービス選択手順における諸ステッ
プを記述する流れ図である。手順は、任意の適切なハードウェア、ソフトウェア、ファー
ムウェア、またはそれらの組合せと共に実施することができる。少なくともいくつかの実
施形態では、手順の諸態様は、上記で示され、かつ述べられたものなど、サービスプラッ
トフォームにより実施することができる。
【００６９】
[0086]アプリケーションによりユーザーインターフェース中に表示されたテキストの選
択が受け取られる（ブロック１７００）。例えば、図１のサービス開始モジュール１１６
が、アプリケーション１０８により表示されたテキストを受け取ることができる。テキス
トは、カーソル制御装置、キーボード、タッチスクリーン、音声入力、および以下同様の
ものを用いることなどにより、様々な方法で選択することができる。
【００７０】
[0087]テキストの選択の受取りに応じて、ユーザーが介入することなく、複数のサービ
スの表現が出力される（ブロック１７０２）。例えば、サービス開始モジュール１１６は
、テキストが選択されたとき、アプリケーション１０８により本来はサポートされないサ
ービスを含むことのできるサービスの表現を自動的に出力することができる。他の実施形
態では、その表現は、例えば、ホットキーの組合せ、音声入力、および以下同様のものな
ど、コマンドに応じて出力される。
【００７１】
[0088]ユーザーインターフェース中に表示された複数のサービスのうちの１つの選択が
検出される（ブロック１７０４）。例えば、ユーザーは、音声入力を提供する、メニュー
中の表現を「クリックする」、または「タッチする」（例えば、タッチスクリーンを介し
て）ことができる。音声入力の例では、表現を提供するために使用される単語が話され（
例えば、サービスの名前）、サービスにより行われるオペレーションの名前が話され（例
えば、「その地図を作成する」）、コンピューティング装置のユーザーにより以前に記憶
されカスタマイズされた名前が話されるなど、以下同様に行うことができる。したがって
、サービスは、様々な異なる音声入力を用いて選択することができる。
【００７２】
[0089]検出に応じて、テキストの選択を用いて選択されたサービスのオペレーションを
開始するために、ユーザーがさらに介入を行うことなく、選択されたサービスに対して、
テキストの選択が提供される（ブロック１７０６）。例えば、サービス開始モジュール１
１６は、（例えば、ネットワーク１１２を介して、またはコンピューティング装置１０２
に対してローカルに）選択されたサービスへとナビゲートし、かつ選択されたクリップボ
ードのコンテンツ（例えば、テキスト）をペーストすることができる。テキストのこのナ
ビゲーションおよびペーストは、ユーザー側で対話を行うことなく実施することが可能で
あり、したがって、サービスを選択した後、自動的に提供されうる。様々な他の例もまた
企図される。
【００７３】
[0090]図１８は、１つまたは複数の実施形態によるサービス選択手順の諸ステップを記
述する流れ図である。その手順は、任意の適切なハードウェア、ソフトウェア、ファーム
ウェア、またはそれらの組合せと共に実施することができる。少なくともいくつかの実施
形態では、手順の諸態様は、上記で示され、かつ述べられたものなど、サービスプラット
フォームにより実施することができる。
【００７４】
[0091]アプリケーションにより出力されたテキストの選択が、オペレーティングシステ
ムの一部として構成されうるサービス開始モジュール１１６などにより検出される（ブロ
ック１８００）。
【００７５】
[0092]複数のサービスの表現が出力される（ブロック１８０２）。例えば、ホットキー
の組合せ、音声入力などが、選択されたテキストに隣接して表示されるポップアップメニ
ューなど、複数のサービスの表現を有するメニューの出力を開始するために使用されうる
。
【００７６】
[0093]音声入力に基づいて、複数のサービスのうちのどのサービスが、アプリケーショ
ンによりユーザーインターフェース中に表示されたテキストを受け取るべきかに関する決
定が行われる（ブロック１８０４）。例えば、ユーザーは、メニュー中に表示された表現
の名前（例えば、図６の「地図」）を話すことができ、サービスにより行われるオペレー
ションを表現する（例えば、「住所の地図を作成する」）ことができ、ユーザーによりサ
ービスのために以前に記憶されたカスタマイズした名前を使用することができるなど、以
下同様に行うことができる。実施形態では、カスタマイズされた音声入力は、特定のサー
ビスに対する「音声ショートカット」を提供することができる。
【００７７】
[0094]テキストは、次いで、その決定に応じて、ユーザーが介入することなく、決定さ
れたサービスに提供されうる（ブロック１８０６）。前の例で続けると、特定のサービス
が選択される決定が行われた後、テキストは、ユーザー側でさらにコンピューティング装
置１０２と対話を行うことなく、サービスに提供することができる。
【００７８】
[0095]実施形態では、音声入力を用いてサービスの決定を行うことができた後、その後
に続く音声入力の変換を停止することができる（ブロック１８０８）。例えば、音声開始
モジュール１１６は、モジュールのオペレーションをさらに複雑化することのないように
、音声入力のその内在する意味を決定する（例えば、「何が話されたか」を決定する）こ
とに使用されるマイクロフォンを「遮断する」ことができ、それにより、コンピューティ
ング装置１０２の資源を保存することができる。
【００７９】
[0096]例示的なシステム
図１９は、上記で述べた様々な実施形態を実施できる例示的なコンピューティング装置
１９００を示す。コンピューティング装置１９００は、例えば、図１のコンピューティン
グ装置１０２、または任意の他の適切なコンピューティング装置とすることができる。
【００８０】
[0097]コンピューティング装置１９００は、１つまたは複数のプロセッサーもしくは処
理装置１９０２、１つまたは複数のメモリーおよび／またはストレージコンポーネント１
９０４、１つまたは複数の入力／出力（Ｉ／Ｏ）装置１９０６、ならびに様々なコンポー
ネントおよび装置が互いに通信できるようにするバス１９０８を含む。バス１９０８は、
メモリーバスもしくはメモリーコントローラ、周辺バス、ＡＧＰ（ａｃｃｅｌｅｒａｔｅ
ｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、およびプロセッサーバスもしくは任意の様々なバス
アーキテクチャを用いるローカルバスを含む、任意のいくつかのタイプのバス構造のうち
の１つまたは複数のものを表す。バス１９０８は、有線バスおよび／または無線バスを含
むことができる。
【００８１】
[0098]メモリー／ストレージコンポーネント１９０４は、１つまたは複数のコンピュー
ター記憶媒体を表す。コンポーネント１９０４は、揮発性媒体（ランダムアクセスメモリ
ー（ＲＡＭ）など）および／または不揮発性媒体（読取り専用メモリー（ＲＯＭ）、フラ
ッシュメモリー、光ディスク、磁気ディスクなど）を含むことができる。コンポーネント
１９０４は、固定された媒体（例えば、ＲＡＭ、ＲＯＭ、固定されたハードドライブなど
）、ならびに取外し可能媒体（例えば、フラッシュメモリードライブ、取外し可能なハー
ドドライブ、光ディスクなど）を含むことができる。
【００８２】
[0099]１つまたは複数の入力／出力装置１９０６は、ユーザーがコンピューティング装
置１９００にコマンドおよび情報を入力できるようにし、さらにユーザーおよび／または
他のコンポーネントもしくは装置に対して情報を提示できるようにする。入力装置の例は
、キーボード、カーソル制御装置（例えば、マウス）、マイクロフォン、スキャナなどを
含む。出力装置の例は、表示装置（例えば、モニターまたはプロジェクター）、スピーカ
ー、プリンター、ネットワークカードなどを含む。
【００８３】
[0100]様々な技法は、本明細書においてソフトウェアまたはプログラムモジュールの一
般的なコンテキストで述べることができる。一般に、ソフトウェアは、特定のタスクを行
う、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポ
ーネント、データ構造などを含む。これらのモジュールおよび技法の実施形態は、コンピ
ューター可読媒体の何らかの形態上に記憶され、またはそれを介して送信されうる。コン
ピューター可読媒体は、コンピューティング装置によりアクセスされうる任意の利用可能
な１つまたは複数の媒体とすることができる。例示のためであり、これだけに限らないが
、コンピューター可読媒体は、「コンピューター記憶媒体」を含むことができる。
【００８４】
[0101]「コンピューター記憶媒体」は、コンピューター可読命令、データ構造、プログ
ラムモジュール、または他のデータなどの情報を記憶するための任意の方法もしくは技術
で実装される揮発性および不揮発性、取外し可能および取外し不能媒体を含む。コンピュ
ーター記憶媒体は、これだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ
メモリー、もしくは他の記憶技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａ
ｔｉｌｅ  ｄｉｓｋ）、もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気デ
ィスクストレージ、もしくは他の磁気記憶装置、あるいは所望の情報を記憶するために使
用することができ、かつコンピューターによりアクセス可能な任意の他の媒体を含む。
【００８５】
[0102]本主題は、構造的特徴および／または方法論的行為に特有の言語で述べられてい
るが、添付の特許請求の範囲で定義される主題は、必ずしも、上記で述べた特有の機能ま
たは行為に限定されないことを理解されたい。そうではなくて、上記で述べた特有の機能
および行為は、特許請求の範囲を実施する例示的な形態として開示されている。
【図１】
2014112420.tif 000003
【図２】
2014112420.tif 000004
【図３】
2014112420.tif 000005
【図４】
2014112420.tif 000006
【図５】
2014112420.tif 000007
【図６】
2014112420.tif 000008
【図７】
2014112420.tif 000009
【図８】
2014112420.tif 000010
【図９】
2014112420.tif 000011
【図１０】
2014112420.tif 000012
【図１１】
2014112420.tif 000013
【図１２】
2014112420.tif 000014
【図１３】
2014112420.tif 000015
【図１４】
2014112420.tif 000016
【図１５】
2014112420.tif 000017
【図１６】
2014112420.tif 000018
【図１７】
2014112420.tif 000019
【図１８】
2014112420.tif 000020
【図１９】
2014112420.tif 000021
【手続補正書】
【提出日】平成26年3月14日(2014.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティング装置により実施される(implemented)方法であって、
前記コンピューティング装置のブラウザアプリケーションにおいて、ウェブサイトからウェブページを受信するステップと、
前記ウェブサイトに従って構成されたものとして、前記ブラウザアプリケーションのユーザインターフェースにおいて、前記ウェブページのテキストを表示するステップであって、前記ウェブページのサービスがブラウザアプリケーションによってサポートされていないものと、
前記ブラウザアプリケーションにより前記ウェブサイトによって指定されたものとして前記ユーザインターフェースに表示された前記テキストの部分の選択を示す第１の入力を受信するステップと、
前記第１の入力を受信することに応じて、プラットフォームでサポートされたＡＰＩへのオペレーティング・システム・コールに基づいて複数のサービスの表現（representation）を表示するステップと、
第２の入力の受信に応じて、前記表現の表示の間に、前記テキストの前記選択された部分のプレビューを開始するために、
前記複数のサービスのうちのどれがプレビューを提供するかを決定するサブステップと、
前記テキストの前記選択された部分を、前記決定されたサービスに提供するサブステップと、
前記決定されたサービスから受信されたデータを用いて、前記ウェブページのコンテキストにおいて前記プレビューを表示するサブステップと、
前記プレビューの表示の間の第３の入力の受信に応じて、前記テキストの選択を用いて、決定されたサービスの動作を開始するために、更なるユーザの介在無しに、前記テキストの選択を決定されたサービスに提供するサブステップと、
を含む方法。
【請求項２】
前記プレビューを開始するための、前記第２の入力が、前記決定されたサービスの前記表現に関連させてカーソルを配置することを含み、
前記第３の入力が、前記表示されたプレビューの選択を伴う、
請求項１に記載の方法。
【請求項３】
前記第１、第２、及び、第３の入力が、音声入力である、請求項１に記載の方法。
【請求項４】
前記第１、第２、及び、第３の入力の少なくとも１つが、タッチ入力である、請求項１に記載の方法。
【請求項５】
前記第１、第２、及び、第３の入力の少なくとも１つが、音声入力である、請求項１に記載の方法。