(57)【要約】ここでは、プログラム・アプリケーション内のフィーチャーを強化するシステム、方法、およびソフトウェアを提供する。実装では、生産性アプリケーションと関連するユーザーが識別され、そのユーザーと関連するサービス・アプリケーションが識別される。サービスに対応するサービス・フィーチャーが、生産性アプリケーション内でイネーブルにされる。サービス・フィーチャーは、ユーザーが、生産性アプリケーションを用いて生成されたコンテンツに対して、サービスと関連する機能を行うことを、可能にする。
2014533862.tif 000002
【特許請求の範囲】
【請求項１】
プログラム命令を格納したコンピューター読取可能媒体であって、前記プログラム命令は、第１アイデンティティにより生産性アプリケーションに対して識別されるユーザーにより動作させられるクライアント・デバイスにより実行されたときに、前記クライアント・デバイスに対して、
ユーザー・インターフェースを通じて、前記生産性アプリケーションにおける、複数の生産性フィーチャーに対応する生産性フィーチャー・メニューを呈示するように命令し、
前記生産性フィーチャー・メニューからの、前記複数の生産性フィーチャーのうちの１つの生産性フィーチャーに対応する選択に応じて、前記ユーザー・インターフェースを通じて、前記生産性アプリケーションにおける、イネーブルにされる少なくとも１つのサービス・フィーチャーを含む複数のサービス・フィーチャーに対応するサービス・フィーチャー・メニューを、前記ユーザーと、前記１つのサービス・フィーチャーに対応するオンライン・サービスとの間でのアソシエーションに基づいて、呈示するように命令し、ここでは、前記ユーザーは、前記オンライン・サービスに対して、前記第１アイデンティティとは別の第２アイデンティティにより識別され、
前記１つのサービス・フィーチャーの選択に応じて、前記オンライン・サービスと関連するコンテンツを用いて、前記生産性アプリケーションを用いて生成されたコンテンツに対して機能を開始するように命令する、
コンピューター読取可能媒体。
【請求項２】
請求項１に記載のコンピューター読取可能媒体であって、前記１つのサービス・フィーチャーは、挿入フィーチャーを含み、前記機能は、前記オンライン・サービスと関連する前記コンテンツを、前記生産性アプリケーションを用いて生成された前記コンテンツへ挿入する挿入機能を含む、コンピューター読取可能媒体。
【請求項３】
請求項１に記載のコンピューター読取可能媒体であって、前記１つのサービス・フィーチャーは、サーチ・フィーチャーを含み、前記機能は、前記オンライン・サービスと関連するコンテンツをサーチするサーチ機能を含む、コンピューター読取可能媒体。
【請求項４】
請求項１に記載のコンピューター読取可能媒体であって、前記サービス・フィーチャー・メニューは、前記複数のサービス・フィーチャーのグラフィカル表現を含み、前記複数のサービス・フィーチャーのグラフィカル表現のうちの前記１つのサービス・フィーチャーに対応する１つのグラフィカル表現は、前記オンライン・サービスと関連するコンテンツのグラフィカル表現を含む、コンピューター読取可能媒体。
【請求項５】
請求項１に記載のコンピューター読取可能媒体であって、前記オンライン・サービスはソーシャル・ネットワーキング・ウェブサイトを含む、コンピューター読取可能媒体。
【請求項６】
請求項１に記載のコンピューター読取可能媒体であって、前記オンライン・サービスと関連する前記コンテンツは、前記オンライン・サービスと関連する前記ユーザーのプロフィール内へ前記オンライン・サービスにより格納されたイメージまたはビデオを含む、コンピューター読取可能媒体。
【請求項７】
生産性アプリケーションを、第１アイデンティティにより前記生産性アプリケーションに対して識別されるユーザーにより動作させられるクライアント・デバイスで、呈示する方法であって、
ユーザー・インターフェースを通じて、前記生産性アプリケーションにおける、複数の生産性フィーチャーに対応する生産性フィーチャー・メニューを呈示するステップと、
前記生産性フィーチャー・メニューからの、前記複数の生産性フィーチャーのうちの１つの生産性フィーチャーに対応する選択に応じて、前記ユーザー・インターフェースを通じて、前記生産性アプリケーションにおける、イネーブルにされる少なくとも１つのサービス・フィーチャーを含む複数のサービス・フィーチャーに対応するサービス・フィーチャー・メニューを、前記ユーザーと、前記１つのサービス・フィーチャーに対応するオンライン・サービスとの間でのアソシエーションに基づいて、呈示するステップであって、前記ユーザーは、前記オンライン・サービスに対して、前記第１アイデンティティとは別の第２アイデンティティにより識別される、ステップと、
前記１つのサービス・フィーチャーの選択に応じて、前記オンライン・サービスと関連するコンテンツを用いて、前記生産性アプリケーションを用いて生成されたコンテンツに対して機能を開始するステップと、
を含む方法。
【請求項８】
請求項７に記載の方法であって、前記１つのサービス・フィーチャーは、挿入フィーチャーを含み、前記機能は、前記オンライン・サービスと関連する前記コンテンツを、前記生産性アプリケーションを用いて生成された前記コンテンツへ挿入する挿入機能を含む、方法。
【請求項９】
請求項７に記載の方法であって、前記サービス・フィーチャー・メニューは、前記複数のサービス・フィーチャーのグラフィカル表現を含み、前記複数のサービス・フィーチャーのグラフィカル表現のうちの前記１つのサービス・フィーチャーに対応する１つのグラフィカル表現は、前記オンライン・サービスと関連するコンテンツのグラフィカル表現を含む、方法。
【請求項１０】
請求項７に記載の方法であって、前記オンライン・サービスは、ソーシャル・ネットワーキング・ウェブサイトを含み、前記オンライン・サービスと関連する前記コンテンツは、前記ユーザーのプロフィール内へ前記ソーシャル・ネットワーキング・ウェブサイトにより格納されたイメージまたはビデオを含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  本開示の態様は、コンピューター・ソフトウェア・アプリケーションに関し、より特定的には、生産性アプリケーションとオンライン・サービスとの強化された統合に関する。
【０００２】
[0002]  コンピューターのハードウェアおよびソフトウェアの分野では、生産性アプリケーション（productivity application）は、一般に、コンテンツを作成するために、及びコンテンツに関しての機能を実行するために用いられるソフトウェア・プログラムまたはアプリケーションとして理解されている。生産性アプリケーションの一般的な例は、オフィス生産性スイート、会計ソフトウェア、グラフィックス・アプリケーション、および他の知られたプログラムを含み、コンテンツの一般的な例は、ワード・プロセッシング・ドキュメント、スプレッドシート、データベース、およびフォトを含む。
【０００３】
[0003]  多くの生産性アプリケーションは、機能をユーザーが呼び出すことを可能にするフィーチャー・メニュー(feature menu)を提供する。２つのタイプのフィーチャーは、生産性フィーチャーとサービス・フィーチャーである。一般に、生産性フィーチャーは、ユーザーがコンテンツに対して機能を行うこと、例えば、コンテンツのプリントやセーブや共有を行うことなどを可能にするフィーチャーである。サービス・フィーチャーは、オンライン・サービスに対応する特定のタイプの生産性フィーチャーとして理解することができる。例として、ユーザーがドキュメントを宛先へ送ることを可能とするものであり幾つかのドキュメント・エディターで見つけることができる送信または共有フィーチャーは、生産性フィーチャーと考えることができる。特定のオンライン・コラボレーション・サービスなどのような、送信フィーチャー内で詳しく述べられる特定の宛先は、サービス・フィーチャーと考えることができる。
【０００４】
[0004]  ユーザーがオンライン・サービスと関わることが増加してきており、同時に、オンライン・サービスの種類や有用性も増加し続けている。従って、生産性アプリケーションにおいて見つけることができる様々なサービス・フィーチャーは、拡張する傾向にある。
【発明の概要】
【０００５】
[0005]  ここでは、ユーザーと関連し得るサービスに対応するサービス・フィーチャーを動的にイネーブルにすることにより、生産性アプリケーションとサービスとの統合を改善するシステム、デバイス、方法、およびソフトウェアを提供する。幾つかの実装では、これは、ユーザーと関連するサービスを識別し、生産性アプリケーションにおいて、関連するサービスと対応するサービス・フィーチャーをイネーブルにすることにより、行われる。このようにして、生産性アプリケーションとのユーザー・エクスペリエンスが改善される。
【０００６】
[0006]  別の実装では、生産性フィーチャーに対応する生産性アプリケーションにおける生産性フィーチャー・メニューを呈示するユーザー・インターフェースが、提供される。生産性フィーチャーの１つに対応する生産性フィーチャー・メニューからの選択に応じて、幾つかのサービス・フィーチャーを含むサービス・フィーチャー・メニューが呈示される。サービス・フィーチャーのうちの少なくとも１つのものは、ユーザーと、サービス・フィーチャーに対応するオンライン・サービスとの間のアソシエーションに基づいてイネーブルにすることができる。
【０００７】
[0007]  この概観は、以下の技術の開示で更に説明する概念のうちの選択したものを、簡素化した形で紹介するために提供される。この概観は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定するために用いることを意図していない。
【０００８】
[0008]  本開示の多くの態様は、図面を参照すると、より良く理解することができる。幾つかの実装を、それらの図面と関連して説明するが、本開示は、ここで開示する実装には限定されない。それとは反対に、全ての代替物、変更物、および等価物を包含することを意図している。
【図面の簡単な説明】
【０００９】
【図１】図１は、実装におけるプロセスを示す。
【図２】図２は、実装における強化されたフィーチャー環境を示す。
【図３】図３は、実装におけるフィーチャー・イネーブル化システムを示す。
【図４】図４は、実装における強化されたフィーチャー環境を示す。
【図５】図５は、実装における動作フロー図を示す。
【図６】図６は、実装における動作フロー図を示す。
【図７】図７は、実装における強化されたフィーチャー環境を示す。
【図８】図８は、実装における強化されたフィーチャー環境を示す。
【図９】図９は、実装におけるユーザー・インターフェースのスクリーン・ショットを示す。
【図１０】図１０は、実装におけるユーザー・インターフェースのスクリーン・ショットを示す。
【発明を実施するための形態】
【００１０】
[0019]  ここで説明する実装は、ユーザーが何れのオンライン・サービスまたは他のサービスと関連し得るかということに基づいた、生産性アプリケーションにおける強化されたフィーチャーの提供をユーザーが経験することを、可能にする。特に、サービス・フィーチャーは、生産性アプリケーションに関与するユーザーのアイデンティティに応じて動的にイネーブルにされ、それにより、ユーザーと関連するサービス・フィーチャーがイネーブルにされる。ユーザーは、次に、生産性アプリケーションと共に作業を行って生成されたコンテンツに対して様々な機能やオペレーションを行うために、それらのサービス・フィーチャーを呼び出すことができる。ユーザーが関連し得る広範囲の多種のサービスの観点からは、ユーザー毎のベースでサービス・フィーチャーを動的にイネーブルおよびディスエーブルにすることにより、ユーザー・エクスペリエンスは、混乱無く使用し易い状態を維持する。
【００１１】
[0020]  限定ではない１つの例では、ユーザーは、ソーシャル・ネットワーク・ウェブサイトと関連することができる。ドキュメント編集プログラムにおいてドキュメントに対して作業を行うとき、そのプログラムのメニュー内の、ソーシャル・ネットワークの例と関連するサービス・フィーチャーはイネーブルにされる。それに対して、ユーザーと関係しない他のソーシャル・ネットワークまたはサービスと関連するサービス・フィーチャーは、ディスエーブルにされ、おそらくは全く表示されないであろう。
【００１２】
[0021]  図１は、サービス・フィーチャーを動的にイネーブルにするためのプロセス１００を示す。図１の以下の説明は、ユーザーとサービス・アプリケーションとのアソシエーション（association）を説明するため、従って、このアソシエーションにより、どのようにして生産性アプリケーション２０１および２２１内の対応するサービス・フィーチャーが動的にイネーブルにされるかを説明するために、図２を参照して行う。図３は、プロセス１００をインプリメントすることができる適切な計算システムの短い一般的な説明を提供することを意図している。
【００１３】
[0022]  ここで図１を参照すると、ステップ１０１で開始して、生産性アプリケーションと関連するユーザーが識別される。図２において、強化されたフィーチャー環境２００は、２つの例示の生産性アプリケーション２０１および２２１を含み、それぞれ、異なるユーザーＡおよびＢにより使用される。即ち、ユーザーＡは生産性アプリケーション２０１と関連し、ユーザーＢは生産性アプリケーション２２１と関連する。
【００１４】
[0023]  生産性アプリケーション２０１および２２１は、同じアプリケーション、同じアプリケーションの異なるバージョン、または完全に異なるアプリケーションで有り得ることを、理解すべきである。生産性アプリケーションの例は、オフィス生産性スイート（office productivity suite）、会計ソフトウェア、グラフィックス・アプリケーション、ゲーム・アプリケーション、データベース・プログラム、および任意の数の他のタイプのアプリケーションを含む。前述のように、ユーザーがインタラクションするアプリケーション・データの例は、ワード・プロセッシング・ドキュメント、スプレッドシート、データベース、フォト、ゲーム環境などを含む。
【００１５】
[0024]  ステップ１０３において、ユーザーと関連するサービス・アプリケーションが識別される。ここで示される例では、強化されたフィーチャー環境２００は、サービス・アプリケーション２１５、サービス・アプリケーション２１７、およびサービス・アプリケーション２１９を含む。また、示されている例では、サービス・アプリケーション２１５が３つの異なるユーザーであるユーザーＡ、ユーザーＭ、およびユーザーＮと関連することが示されている。サービス・アプリケーション２１７は、３つの異なるユーザーであるユーザーＡ、ユーザーＢ、およびユーザーＮと関連することが示されている。また、サービス・アプリケーション２１９は、３つの異なるユーザーであるユーザーＭ、ユーザーＢ、およびユーザーＮと関連することが示されている。従って、ユーザーＡは、アプリケーション２１５および２１７と関連し、ユーザーＢは、サービス・アプリケーション２１７および２１９と関連する。サービスという用語は、サービス・アプリケーションと交換可能に用いられ得ることを、理解すべきである。例えば、ソーシャル・ネットワークは、サービスと考えることができ、ユーザーがソーシャル・ネットワークへアクセスする際に介するウェブ・サーバーは、そのサービスを提供する１又は複数のアプリケーションを実行することができる。
【００１６】
[0025]  最後に、ステップ１０５において、識別されたサービス・アプリケーションに対応するサービス・フィーチャーが、イネーブルにされる。生産性アプリケーション２０１および２２１内には、それぞれ、生産性フィーチャー２０３および２２３が示されている。生産性フィーチャー２０３は、サービス・アプリケーション２１５に対応するサービス・フィーチャー２０５と、サービス・アプリケーション２１７に対応するサービス・フィーチャー２０７とを含む。生産性フィーチャー２２３は、サービス・アプリケーション２１５に対応すると想定されるサービス・フィーチャー２２５を含む。生産性フィーチャー２２３はまた、サービス・アプリケーション２１７に対応するサービス・フィーチャー２２７を含む。
【００１７】
[0026]  サービス・フィーチャー２０９は、サービス・アプリケーション２１９に対応すると想定され、生産性アプリケーション２０１のフィーチャーとして示されているが、生産性フィーチャー２０３のサブフィーチャーとしては示されていない。サービス・フィーチャー２２９は、サービス・アプリケーション２１９に対応すると想定されているが、生産性アプリケーション２２１のフィーチャーとして示されおり、生産性フィーチャー２２３のサブフィーチャーとしては示されていない。これは、幾つかのサービス・フィーチャーは生産性フィーチャーのサブフィーチャーであり得るが、他のものは生産性フィーチャーのサブフィーチャーではない個別のフィーチャーで有り得ることを説明することを、意図している。実際において、幾つかのサービス・フィーチャー自体を生産性フィーチャーと考えられ得ることを、理解すべきである。
【００１８】
[0027]  ここで、サービス・フィーチャー２０５およびサービス・フィーチャー２０７は、ユーザーＡに対してイネーブルにされているところが示され、サービス・フィーチャー２０９は、ディスエーブルにされていることを、網掛けにより表している。同様に、サービス・フィーチャー２２７およびサービス・フィーチャー２２９は、イネーブルにされているところが示され、サービス・フィーチャー２２５は、ディスエーブルにされていることを、網掛けにより表している。生産性フィーチャーのサブフィーチャーであるか否かにかかわらず、任意のサービス・フィーチャーを動的にイネーブルにできることを、理解すべきである。
【００１９】
[0028]  ここで図３を参照すると、フィーチャー・イネーブル化システム３００と、関連する説明とは、プロセス１００をインプリメントできる適切な計算環境の簡単な一般的な説明を提供することを、意図している。計算デバイスおよびソフトウェア計算システムの多くの他の構成を用いて、サービス・フィーチャーを動的にイネーブルにするシステムをインプリメントすることもできる。
【００２０】
[0029]  フィーチャー・イネーブル化システム３００は、生産性アプリケーション内のサービス・フィーチャーを動的にイネーブルにすることができる任意のタイプの計算システムとすることができ、例えば、サーバー・コンピューター、クライアント・コンピューター、インターネット・アプライアンス、またはこれらの任意の組み合わせや変形物などとすることができる。後に詳細に説明する図４は、計算システムの例を提供する。実際、フィーチャー・イネーブル化システム３００は、１つの計算システムとしてインプリメントすることができるが、複数の計算システムにわたる分散様式でインプリメントすることもできる。例えば、フィーチャー・イネーブル化システム３００は、サーバー・システム（示さず）を表すものであり得、サービス・フィーチャーをイネーブルにするために、生産性アプリケーション２０１および２２１を実行するコンピューター・システム（示さず）は、そのサーバー・システムと通信を行う。しかし、フィーチャー・イネーブル化システム３００はまた、生産性アプリケーション２０１および２２１を実行するコンピューター・システムを表すものであり得る。実際、フィーチャー・イネーブル化システム３００は、プロセス１００をインプリメントする場合にはサービス・フィーチャーを動的にイネーブルにできる専門化されたシステムとなる汎用計算システムの例として、提供されている。
【００２１】
[0030]  フィーチャー・イネーブル化システム３００は、処理システム３０１、ストレージ・システム３０３、およびフィーチャー・イネーブル化ソフトウェア３０５を含む。処理システム３０１は、ストレージ・システム３０３と通信できるように結合される。ストレージ・システム３０３はフィーチャー・イネーブル化ソフトウェア３０５を格納し、フィーチャー・イネーブル化ソフトウェア３０５は、処理システム３０１により実行されたときに、プロセス１００および強化されたフィーチャー環境２００に関して説明したように、フィーチャー・イネーブル化システム３００に対して、動作するように命令する。
【００２２】
[0031]  継続して図３を参照すると、処理システム３０１は、ストレージ・システム３０３からフィーチャー・イネーブル化ソフトウェア３０５を取り出して実行するマイクロプロセッサーおよび他の回路を含むことができる。処理システム３０１は、１つの処理デバイス内でインプリメントすることができるが、プログラム命令の実行の際に共になって働く複数の処理デバイスまたはサブシステムにわたって分散させることもできる。処理システム３０１の例は、汎用型の中央処理装置、特定用途向けプロセッサー、およびグラフィックス・プロセッサー、そして任意の他のタイプの処理装置を含む。
【００２３】
[0032]  ストレージ・システム３０３は、処理システム３０１により読取可能であり且つフィーチャー・イネーブル化ソフトウェア３０５を格納可能である任意のストレージ媒体を、含むことができる。ストレージ・システム３０３は、揮発性および不揮発性、および取り外し可能および取り外し不可能である媒体を含むことができ、その媒体は、コンピューター読取可能命令、データ構造、プログラム・モジュール、または他のデータなどのような情報を格納するための任意の方法または技術により実現される。ストレージ・システム３０３は、１つのストレージ・デバイスとしてインプリメントすることができるが、複数のストレージ・デバイスまたはサブシステムにわたってインプリメントすることもできる。ストレージ・システム３０３は、コントローラーなどのような、処理システム３０１と通信可能な追加のエレメントを含むことができる。
【００２４】
[0033]  ストレージ媒体の例は、ランダム・アクセス・メモリ、リード・オンリー・メモリ、磁気ディスク、光ディスク、およびフラッシュ・メモリ、そしてそれらの任意の組み合わせや変形物、または任意の他のタイプのストレージ媒体を含む。幾つかの実装では、ストレージ媒体は非一時的ストレージ媒体とすることができる。幾つかの実装では、ストレージ媒体の少なくとも一部を一時的なものとすることができる。ストレージ媒体は伝播される信号ではないことを、理解すべきである。
【００２５】
[0034]  フィーチャー・イネーブル化ソフトウェア３０５は、プロセス１００が埋め込まれたコンピューター・プログラム命令、ファームウェア、または何らかの他の形態の機械読取可能処理命令を含む。フィーチャー・イネーブル化ソフトウェア３０５は、１つのアプリケーションとしてインプリメントできるが、複数のアプリケーションとすることもできる。フィーチャー・イネーブル化ソフトウェア３０５は、スタンドアローンのアプリケーションとすることができるが、複数のデバイスへ分散された他のアプリケーション内にインプリメントすることもでき、生産性アプリケーション・ソフトウェアおよびオペレーティング・システム・ソフトウェアを含むが、これらには限定されない。
【００２６】
[0035]  一般に、フィーチャー・イネーブル化ソフトウェア３０５は、処理システム３０１へロードされて実行されると、処理システム３０１およびフィーチャー・イネーブル化システム３００全体を、汎用計算システムから特定用途向け計算システムへと変換するが、その変換は、プロセス１００および関連する説明により説明した生産性アプリケーション内のサービス・フィーチャーを動的にイネーブルにするようにカスタム化するものである。
【００２７】
[0036]  また、フィーチャー・イネーブル化ソフトウェア３０５をエンコーディングすることは、ストレージ・システム３０３の物理的構造を変換する。物理的構造の特定の変換は、この説明の異なる実装における様々なファクターに応じたものとなり得る。そのようなファクターの例は、ストレージ・システム３０３のストレージ媒体をインプリメントするために用いられる技術や、コンピューター・ストレージ媒体が一次ストレージとして特徴付けられるか二次ストレージとして特徴付けされるかなどを含むことができるが、これらには限定されない。
【００２８】
[0037]  例えば、コンピューター・ストレージ媒体が半導体ベースのメモリとしてインプリメントされる場合、フィーチャー・イネーブル化ソフトウェア３０５は、半導体メモリ内でソフトウェアがエンコードされるときに、半導体メモリの物理的状態を変換することができる。例えば、フィーチャー・イネーブル化ソフトウェア３０５は、半導体メモリを構成するトランジスター、キャパシター、または他の個別の回路エレメントの状態を変換することができる。
【００２９】
[0038]  磁気媒体や光媒体に関しても同様の変換が生じ得る。この説明の範囲から離れずに、物理的媒体の他の変換も可能であり、前記の例は単に説明を容易にするために提供されている。
【００３０】
[0039]  再び図１〜図３を参照すると、フィーチャー・イネーブル化ソフトウェア３０５を用いるフィーチャー・イネーブル化システム３００の動作を通じて、生産性アプリケーション２０１および２２１に対して変換が行われる。例として、生産性アプリケーション２０１または２２１は、その中での様々なサービス・フィーチャーのイネーブル化により、１つの状態から別の状態へと変換されたと考えることができる。
【００３１】
[0040]  フィーチャー・イネーブル化システム３００は、追加のデバイス、フィーチャー、または機能を有することができる。フィーチャー・イネーブル化システム３００は、オプションとして、例えば、キーボード、マウス、音声入力デバイス、タッチ入力デバイス、およびそれらと同等の入力デバイスなどのような、入力デバイスを有することができる。ディスプレイ、スピーカー、プリンター、および他のタイプの出力デバイスなどのような出力デバイスを含むこともできる。また、フィーチャー・イネーブル化システム３００は、例えば、分散型の計算および通信の環境において有線またはワイヤレスのネットワークを介してフィーチャー・イネーブル化システム３００が他のデバイスと通信することを可能にする通信接続および通信デバイスを、含むことができる。これらのデバイスは、この分野では良く知られており、ここでの長い説明は不要である。
【００３２】
[0041]  図４〜図８は実装に関し、それらの実装により、クライアント・デバイスはサーバー・システムとインターフェースして、クライアント・デバイスのオペレーターにより用いられる生産性アプリケーション内のサービス・フィーチャーをイネーブルにする。簡単に述べると、図４は、強化されたフィーチャー環境を示し、図５および図６は、強化されたフィーチャー環境内での様々なデバイスとシステムとの間でのデータの演算フローを示す。図７および図８は、強化されたフィーチャー環境のエレメントとそれらのインタラクションとの更に詳細な図を示す。
【００３３】
[0042]  ここで図４を参照すると、実装における強化されたフィーチャー環境４００が示されている。強化されたフィーチャー環境４００内での３つの異なるシナリオが示され、各シナリオ内で少なくともホストされた及びホストされていない実装がある。クライアント・デバイス４２１および４３１と関連する第１シナリオは、個人アイデンティティにより識別されたユーザーに向けられており、そこから、関連するサービスが識別され、関連するサービス・フィーチャーがイネーブルにされる。クライアント・デバイス４４１および４５１と関連する第２シナリオは、生産性アイデンティティに基づいてユーザーを識別することに向けられており、クライアント・デバイス４６１および４７１と関連する第３シナリオは、エンタープライズ・アイデンティティに基づいてユーザーを識別することに向けられている。
【００３４】
[0043]  強化されたフィーチャー環境４００は、開放型通信ネットワーク(open communication network)４０１を含み、その少なくとも一部はインターネットとして一般に知られているものと考えることができ、また、強化されたフィーチャー環境４００は、私設通信ネットワーク４１１を含み、これはイントラネットと呼ばれ得る。クライアント・デバイス４２１、４３１、４４１、および４５１は、開放型通信ネットワーク４０１を介して、サービス管理システム４０３と通信し、幾つかの場合には、ホストされたアプリケーション・サーバー４３９と通信する。
【００３５】
[0044]  また、クライアント・デバイス４２１、４３１、４４１、および４５１は、開放型通信ネットワーク４０１を介してクラウド・サービス４９１、４９３、および４９５と通信することができる。クラウド・サービスは、インターネットを介して提供されるサービスである。クラウド・サービス４９１、４９３、および４９５の例は、クラウド・ドライブ、フォト共有ウェブサイト、およびソーシャル・ネットワーク・ウェブサイトを含み、そして、インターネットを介しての一般的な能力からクラウド・サービスと考えられ得る様々なサービスのうちの任意のものを含む。クライアント・デバイス４２１、４３１、４４１、および４５１の例は、デスクトップ型およびラップトップ型のコンピューター、タブレット・コンピューター、モバイル通信デバイス、および他のタイプの計算デバイスやアプライアンスを含む。クライアント・デバイス４２１、４３１、４４１、および４５１は、簡潔にするためにここでは示していない任意の数の良く知られたアクセス技術を用いて、開放型通信ネットワーク４０１へアクセスする。一般に家庭や会社で見られる、またはネットワーク・サービス・プロバイダーにより提供される有線またはワイヤレスのアクセス・ネットワークは、アクセス技術の例である。
【００３６】
[0045]  図４に関して継続すると、クライアント・デバイス４６１および４７１は、私設通信ネットワーク４１１を介して、サービス管理システム４１３と通信し、幾つかの場合にはホストされたアプリケーション・サーバー４７９と通信する。また、クライアント・デバイス４６１および４７１は、クラウド・４９１、４９３、および４９５と通信することができる。ここでは、私設通信ネットワーク４１１は、開放型通信ネットワーク４０１と通信するものとして示されている。しかし、これはオプションとすることができ、実際、クライアント・デバイス４６１および４７１は、何らかの他の通信チャンネルやネットワークによりクラウド・サービス４９１、４９３、および４９５と通信できることを、理解すべきである。また、クライアント・デバイス４６１および４７１はローカル・サービス４９７と通信することができ、ローカル・サービスとは、クラウド・サービスとは逆の、インターネットを介さないイントラネット内での一般的な能力によるものである。ローカル・サービス４９７の例は、クラウド・ドライブ、エンタープライズ・ソーシャル・ネットワーク、ブログ・サイトなどを含む。クライアント・デバイス４６１および４７１の例は、デスクトップおよびラップトップのコンピューター、タブレット・コンピューター、モバイル通信デバイス、および他のタイプの計算デバイスやアプライアンスを含む。クライアント・デバイス４６１および４７１は、簡潔にするためにここでは示していない任意の数の良く知られた有線またはワイヤレスのアクセス技術を用いて、私設通信ネットワーク４１１へアクセスする。
【００３７】
[0046]  ここで第１シナリオを参照すると、示される例では、クライアント・デバイス４２１は、フィーチャー・イネーブル化クライアント４２７、生産性アプリケーション４２５、および個人識別し４２３を含む。生産性アプリケーション４２５は、クライアント・デバイス４２１へインストールされて実行されることができる任意の生産性アプリケーションとすることができる。生産性アプリケーションは、コンテンツを生成するため、作成するため、またはコンテンツとのインタラクションのために用いられるソフトウェア・プログラムである。生産性アプリケーション４２５の例は、マイクロソフト（登録商標）のＷｏｒｄ（登録商標）ドキュメント・エディター、マイクロソフト（登録商標）のＥｘｃｅｌ（登録商標）スプレッドシート・プログラム、マイクロソフト（登録商標）のＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーション・プログラム、およびマイクロソフト（登録商標）のＯｕｔｌｏｏｋ（登録商標）Ｅメールおよびカレンダー・プログラムを含む。他の例は、ＩＢＭ（登録商標）のＬｏｔｕｓ  Ｓｍａｒｔ  Ｓｕｉｔｅ（登録商標）、Ｃｏｅｒｌ（登録商標）のＷｏｒｄＰｅｒｆｅｃｔ（登録商標）、および任意のベンダーから提供される任意の他のタイプの生産性アプリケーション、例えば、会計ソフトウェアやデータベース・ソフトウェアなどを含む。コンテンツの例は、ワード・プロセッシング・ドキュメント、スプレッドシート、データベース、およびフォトを含む。
【００３８】
[0047]  フィーチャー・イネーブル化クライアント４２７は、生産性アプリケーション４２５内のサービス・フィーチャーを動的にイネーブルにするために、サービス管理システム４０３で実行されるフィーチャー・イネーブル化サーバー(feature enablement server)４０７と通信することができる任意のアプリケーション・プログラムとすることができ、これについては以下で更に詳細に説明する。フィーチャー・イネーブル化クライアント４２７は、スタンドアローンのクライアント・アプリケーションとすることができるが、生産性アプリケーション４２５内に統合することも、オペレーティング・システム・ソフトウェアと統合することもできる。
【００３９】
[0048]  個人識別子４２３はログイン・アイデンティティを表し、これは、ユーザーを識別し且つユーザーと個人的に対応する。個人識別子４２３の例は、マイクロソフト（登録商標）からのＷｉｎｄｏｗｓ  Ｌｉｖｅ（登録商標）として知られるサービスのスイートへアクセスするために用いられるＷｉｎｄｏｗｓ  Ｌｉｖｅ（登録商標）ＩＤ、マイクロソフト（登録商標）からのＨｏｔｍａｉｌ（登録商標）Ｅメール・システムへアクセスするために用いられるＨｏｔｍａｉｌ（登録商標）識別子、およびグーグル（登録商標）により提供されるＥメール・サービスおよび他のサービスへアクセスするためのＧｍａｉｌ（登録商標）識別子を含むが、これらには限定されない。任意の数の様々な個人識別子を使用可能であり、それらはここでの開示の範囲内にあると考えられている。ユーザーは、個人識別子４２３を用いて、クライアント・デバイス４２１で実行される生産性アプリケーション４２５へ、またおそらくは他のアプリケーションまたはオペレーティング・システムへ、ログインする。
【００４０】
[0049]  動作において、クライアント・デバイス４２１を操作するユーザーは、個人識別子４２３を用いて生産性アプリケーション４２５へログインする。これは、生産性アプリケーション４２５により提供されるユーザー・インターフェースを用いて行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。生産性アプリケーション４２５により呼び出されるであろうフィーチャー・イネーブル化クライアント４２７は、生産性アプリケーション４２５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４０７との通信を開始する。個人識別子４２３を用いて、フィーチャー・イネーブル化サーバー４０７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４２７へ返す。フィーチャー・イネーブル化クライアント４２７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、生産性アプリケーション４２５へ通信する。
【００４１】
[0050]  サービス・フィーチャーのイネーブル化は、多数の方法で生じさせることができる。例えば、生産性アプリケーション４２５は、サービス・フィーチャーのグラフィック表現をレンダリングするために、サービス・フィーチャーに対応するグラフィックス・オブジェクトを呼び出すことができる。レンダリングは、グラフィック表現をアクティブにすること又はユーザーに見えるようにすることにより、行うことができる。幾つかの場合、ディスエーブルにされたサービス・フィーチャーをグレーアウトし、イネーブルにされたサービス・フィーチャーをグレーではない色で呈示することができる。サービス・フィーチャーのグラフィック表現自体は、ユーザーがそのグラフィック表現を選択したときに実行され得るコードへリンクすること、またはそのコードを含むことができる。そのようなグラフィック表現の一般的な例は、ボタン、ハイパーリンク、およびドロップダウン・メニューのアイテムである。別の例では、生産性アプリケーション４２５は、サービス・フィーチャーに対応するグラフィックス・オブジェクト内の値や設定を、イネーブルにされたサービス・フィーチャーのグラフィック表現の視覚的特性を変えるために、変更することができる。他の多くの実装も可能であることを理解すべきである。
【００４２】
[0051]  サービス・フィーチャーがイネーブルにされると、生産性アプリケーション４２５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、クラウド・サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにする。例えば、クラウド・サービス４９１が、クラウド・ドライブであり、ユーザーと関連すると仮定すると、ユーザーは、クラウド・ドライブへドキュメントをセーブすることを可能とされる。同様に、ユーザーは、特定の例では、クラウド・サービス４９１、４９３、および４９５へフォトをアップロードすることや、それらのクラウド・サービスとコンテンツを共有することを可能とされ、また、それらのサービスからコンテンツをダウンロードすることを可能とされる。別の例では、クラウド・サービス４９１がソーシャル・ネットワーク・ウェブサイトであると仮定すると、ユーザーは、フォトやワード・プロセッシング・ドキュメントなどのようなコンテンツを、そのソーシャル・ネットワーク・ウェブサイトへアップロードすることを可能とされる。
【００４３】
[0052]  更に図４に示されるように、クライアント・デバイス４３１は、ホストされたアプリケーション４３５と個人識別子４３３とを含む。クライアント・デバイス４２１と同様に、個人識別子４３３は、ユーザーと関連する個人的サービス、例えば、ウェブメールやメッセージングなどへアクセスするためにユーザーにより用いられるログイン・アイデンティティを表す。ホストされたアプリケーション４３５は、ホストされたアプリケーション・サーバー４３９によりホストされ且つそのサーバー４３９からサービスされる、クライアント・デバイス４３１上、例えば、ウェブ・ブラウザー・アプリケーション内などで、クライアント・インスタンスとして実行する生産性アプリケーションである。ホストされたアプリケーション４３５の例は、限定ではないが、Ｗｏｒｄ（トレードマーク）ドキュメント・エディター、Ｅｘｃｅｌ（登録商標）スプレッドシート・プログラム、ＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーション・プログラム、およびＯｕｔｌｏｏｋ（登録商標）Ｅメールおよびカレンダー・プログラムのホストされたバージョンを含み、これらの全てはマイクロソフト（登録商標）のＯｆｆｉｃｅ（トレードマーク）生産性アプリケーション・スイートのホストされたバージョン内で提供される。他の例は、グーグル（登録商標）からのグーグル（登録商標）Ｄｏｃｓ（登録商標）のアプリケーション・スイート、およびＺｏｈｏ（登録商標）からのＺｏｈｏ（登録商標）オフィス・スイートを含む。更に別の例は、任意のベンダーにより提供される任意の他のタイプのホストされた生産性アプリケーション、例えば、オンラインで提供される会計およびデータベース・ソフトウェア、ゲーム・アプリケーション、および通信アプリケーションなどを含む。ホストされたモードで実行できるが、ホストされないモード、例えば、ローカル・キャッシュ・モードなどでも実行できるハイブリッドのアプリケーションも、範囲内にあると考えられている。
【００４４】
[0053]  動作において、クライアント・デバイス４３１を操作するユーザーは、個人識別子４３３を用いて、ホストされた生産性アプリケーション４３５へログインする。これは、ユーザーがホストされた生産性アプリケーション４３５へアクセスする際に介するウェブ・ブラウザーにより提供されるユーザー・インターフェースまたは他のクライアント・インターフェースを用いて、行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。ホストされたアプリケーション・サーバー４３９において実行されるフィーチャー・イネーブル化クライアント４３７は、ホストされた生産性アプリケーション４３５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４０７との通信を開始する。個人識別子４３３を用いて、フィーチャー・イネーブル化サーバー４０７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４３７へ返す。フィーチャー・イネーブル化クライアント４３７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、ホストされた生産性アプリケーション４３５へ通信する。生産性アプリケーション４２５に関して先に述べたように、イネーブルにされると、ホストされた生産性アプリケーション４３５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、クラウド・サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにする。
【００４５】
[0054]  ここで、上記の第２シナリオを参照すると、クライアント・デバイス４４１は、生産性アプリケーション４４５と生産性識別子４４３とを含む。生産性アプリケーション４４５の例は、上記のマイクロソフト（登録商標）、ＩＢＭ（登録商標）、およびＣｏｒｅｌ（登録商標）により提供されるオフィス・スイートと、任意の他のタイプの生産性アプリケーションとを含む。フィーチャー・イネーブル化クライアント４４７は、生産性アプリケーション４４５内のサービス・フィーチャーを動的にイネーブルにするために、フィーチャー・イネーブル化サーバー４０７と通信でき、サービス管理システム４０３で実行できる任意のアプリケーション・プログラムとすることができ、これについては以下で更に詳細に説明する。
【００４６】
[0055]  生産性識別子４４３は、例えば会社や学校などのようなユーザーの属する組織を識別し且つその組織と関連するログイン・アイデンティティを表し、生産性アプリケーション４４５のプロバイダーが生産性アプリケーション４４５の供給を管理および処理することを可能にする。例えば、組織は、Ｏｆｆｉｃｅ３６５（トレードマーク）生産性スイートのプロバイダーであるマイクロソフト（登録商標）に対して、その組織のアクティブ・ディレクトリーのフェデレーションを行う(federate)ことができる。Ｏｆｆｉｃｅ３６５（トレードマーク）はインターネット・ベースのアプリケーションのセットであるので、ここでは、ユーザーは、それらの生産性アプリケーションのローカルにインストールされたバージョンも使用できると考えられており、なおもそれはユーザーのＯｆｆｉｃｅ３６５（トレードマーク）アイデンティティにより識別される。即ち、生産性識別子４４３は、生産性アプリケーション４２５と直接に関連するものである。１つの例示の識別子は、ＪｏｈｎＳｍｉｔｈ＠Ｏ３６５．ｃｏｍである。任意の数の様々な生産性識別子を使用可能であり、それらはこの説明の範囲内にあると考えられている。ユーザーは、生産性識別子４４３を用いて、クライアント・デバイス４４１で実行される生産性アプリケーション４４５へ、またおそらくは他のアプリケーションまたはオペレーティング・システムへ、ログインする。
【００４７】
[0056]  動作において、クライアント・デバイス４４１を操作するユーザーは、生産性識別子４４３を用いて生産性アプリケーション４４５へログインする。これは、生産性アプリケーション４４５により提供されるユーザー・インターフェースを用いて行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。生産性アプリケーション４４５により呼び出されるであろうフィーチャー・イネーブル化クライアント４４７は、生産性アプリケーション４４５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４０７との通信を開始する。個人識別子４４３を用いて、フィーチャー・イネーブル化サーバー４０７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４４７へ返す。フィーチャー・イネーブル化クライアント４４７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、生産性アプリケーション４４５へ通信する。
【００４８】
[0057]  サービス・フィーチャーがイネーブルにされると、生産性アプリケーション４４５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、クラウド・サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにし、例えば、ファイルやフォトや他のそのようなコンテンツをサービスの任意のものへアップロードできるように、また、コンテンツをサービスからダウンロードできるようにする。上記のように、サービス・フィーチャーのイネーブル化は、多数の方法で生じさせることができる。多くの可能性の中で、幾つかの例は、サービス・フィーチャーのグラフィック表現をレンダリングするために、サービス・フィーチャーに対応するグラフィックス・オブジェクトを呼び出すこと、およびサービス・フィーチャーに対応するグラフィックス・オブジェクト内の値や設定を、イネーブルにされたサービス・フィーチャーのグラフィック表現の視覚的特性を変えるために変更することを含む。
【００４９】
[0058]  更に図４に示すように、クライアント・デバイス４５１は、ホストされたアプリケーション４５５と生産性識別子４５３とを含む。クライアント・デバイス４４１と同様に、生産性識別子は、ユーザーと組織とを結びつけるログイン・アイデンティティを表し、製品プロバイダーがホストされた生産性アプリケーション４５５の供給を管理および処理することを可能にする。ＪｏｈｎＳｍｉｔｈ＠Ｏ３６５．ｃｏｍなどのようなＯｆｆｉｃｅ３６５（トレードマーク）アイデンティティは一例である。ホストされた生産性アプリケーション４５５は、ホストされたアプリケーション・サーバー４３９によりホストされ且つそのサーバー４３９からサービスされる、クライアント・デバイス４５１上、例えば、ウェブ・ブラウザー・アプリケーション内などで、クライアント・インスタンスとして実行れる生産性アプリケーションである。ホストされたアプリケーション４５５の例は、Ｗｏｒｄ（トレードマーク）ドキュメント・エディター、Ｅｘｃｅｌ（登録商標）スプレッドシート・プログラム、ＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーション・プログラム、およびＯｕｔｌｏｏｋ（登録商標）Ｅメールおよびカレンダー・プログラムのホストされたバージョンを含み、これらの全てはマイクロソフト（登録商標）のＯｆｆｉｃｅ３６５（トレードマーク）生産性アプリケーション・スイート内で提供される。他の例は、グーグル（登録商標）からのグーグル（登録商標）Ｄｏｃｓ（登録商標）のアプリケーション・スイート、およびＺｏｈｏ（登録商標）からのＺｏｈｏ（登録商標）オフィス・スイートを含む。
【００５０】
[0059]  動作において、クライアント・デバイス４５１を操作するユーザーは、生産性識別子４５３を用いて、ホストされた生産性アプリケーション４５５へログインする。これは、ユーザーが生産性アプリケーション４５５へアクセスする際に介するウェブ・ブラウザーにより提供されるユーザー・インターフェースまたは他のクライアント・インターフェースを用いて、行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。ホストされたアプリケーション・サーバー４３９において実行されるフィーチャー・イネーブル化クライアント４３７は、ホストされた生産性アプリケーション４５５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４０７との通信を開始する。生産性識別子４５３を用いて、フィーチャー・イネーブル化サーバー４０７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４３７へ返す。フィーチャー・イネーブル化クライアント４３７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、ホストされた生産性アプリケーション４５５へ通信する。生産性アプリケーション４４５に関して先に説明したように、サービス・フィーチャーがイネーブルにされると、生産性アプリケーション４５５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにする。
【００５１】
[0060]  ここで、上記の第３シナリオを参照すると、クライアント・デバイス４６１は、生産性アプリケーション４６５とエンタープライズ識別子４６３とを含む。生産性アプリケーション４６５は、クライアント・デバイス４６１へインストールされ且つクライアント・デバイス４６１で実行できる任意の生産性アプリケーションとすることができる。生産性アプリケーション４６５の例は、上記のマイクロソフト（登録商標）、ＩＢＭ（登録商標）、およびＣｏｒｅｌ（登録商標）により提供されるものを含む。フィーチャー・イネーブル化クライアント４６７は、生産性アプリケーション４６５内のサービス・フィーチャーを動的にイネーブルにするために、フィーチャー・イネーブル化サーバー４１７と通信でき、サービス管理システム４１３で実行できる任意のアプリケーション・プログラムとすることができ、これについては以下で更に詳細に説明する。
【００５２】
[0061]  エンタープライズ識別子４６３は、例えば会社や学校などのようなユーザーを含む組織を識別し且つその組織と関連するログイン・アイデンティティを表し、生産性アプリケーション４６５の供給を管理および処理する。生産性アプリケーションの例は、マイクロソフト（登録商標）からのＷｏｒｄ（トレードマーク）、Ｅｘｃｅｌ（登録商標）、ＰｏｗｅｒＰｏｉｎｔ（登録商標）、およびＯｕｔｌｏｏｋ（登録商標）のアプリケーションを含む。即ち、エンタープライズ識別子４６３は、ａｃｍｅ＼ＪｏｈｎＳｍｉｔｈなどのような、組織と関連するものである。任意の数の様々なエンタープライズ識別子を使用可能であり、それらはこの説明の範囲内にあると考えられている。ユーザーは、エンタープライズ識別子４６３を用いて、クライアント・デバイス４６１で実行される生産性アプリケーション４６５へ、またおそらくは他のアプリケーションまたはオペレーティング・システムへ、ログインする。
【００５３】
[0062]  動作において、クライアント・デバイス４６１を操作するユーザーは、エンタープライズ識別子４６３を用いて生産性アプリケーション４６５へログインする。これは、生産性アプリケーション４６５により提供されるユーザー・インターフェースを用いて行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。生産性アプリケーション４６５により呼び出されるであろうフィーチャー・イネーブル化クライアント４６７は、生産性アプリケーション４６５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４１７との通信を開始する。エンタープライズ識別子４６３を用いて、フィーチャー・イネーブル化サーバー４１７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４６７へ返す。フィーチャー・イネーブル化クライアント４６７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、生産性アプリケーション４６５へ通信する。
【００５４】
[0063]  サービス・フィーチャーがイネーブルにされると、生産性アプリケーション４６５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、クラウド・サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにし、例えば、コンテンツをサービスへアップロードできるように、また、コンテンツをサービスからダウンロードできるようにする。サービス４９７に対応するサービス・フィーチャーまたはフィーチャーもイネーブルにすることができる。上記のように、サービス・フィーチャーのイネーブル化は、多数の方法で生じさせることができる。多くの可能性の中で、幾つかの例は、サービス・フィーチャーのグラフィック表現をレンダリングするために、サービス・フィーチャーに対応するグラフィックス・オブジェクトを呼び出すこと、およびサービス・フィーチャーに対応するグラフィックス・オブジェクト内の値や設定を、イネーブルにされたサービス・フィーチャーのグラフィック表現の視覚的特性を変えるために変更することを含む。
【００５５】
[0064]  更に図４に示すように、クライアント・デバイス４７１は、ホストされたアプリケーション４７５とエンタープライズ識別子４７３とを含む。クライアント・デバイス４６１と同様に、エンタープライズ識別子は、ユーザーと組織とを結びつけるログイン・アイデンティティを表し、ホストされた生産性アプリケーション４７５の供給を管理および処理する。ホストされた生産性アプリケーション４７５は、ホストされたアプリケーション・サーバー４７９によりホストされ且つそのサーバー４７９からサービスされる、クライアント・デバイス４７１上、例えば、ウェブ・ブラウザー・アプリケーション内などで、クライアント・インスタンスとして実行れる生産性アプリケーションである。ホストされたアプリケーション４７５の例は、Ｗｏｒｄ（トレードマーク）ドキュメント・エディター、Ｅｘｃｅｌ（登録商標）スプレッドシート・プログラム、ＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーション・プログラム、およびＯｕｔｌｏｏｋ（登録商標）Ｅメールおよびカレンダー・プログラムのホストされたバージョンを含み、これらの全てはマイクロソフト（登録商標）からのものである。他の例は、グーグル（登録商標）からのグーグル（登録商標）Ｄｏｃｓ（登録商標）のアプリケーション・スイートを含み、これもローカルにホストすることができる。
【００５６】
[0065]  動作において、クライアント・デバイス４７１を操作するユーザーは、エンタープライズ識別子４７３を用いて、ホストされた生産性アプリケーション４７５へログインする。これは、ユーザーが生産性アプリケーション４７５へアクセスする際に介するウェブ・ブラウザーにより提供されるユーザー・インターフェースまたは他のクライアント・インターフェースを用いて、行うことができるが、また、オペレーティング・システムのインターフェースまたは何らかの他のタイプのログイン機構を通じて達成することもできる。ホストされたアプリケーション・サーバー４７９において実行されるフィーチャー・イネーブル化クライアント４７７は、ホストされた生産性アプリケーション４７５内の何れのサービス・フィーチャーをイネーブルにするかを決定するために、フィーチャー・イネーブル化サーバー４１７との通信を開始する。エンタープライズ識別子４７３を用いて、フィーチャー・イネーブル化サーバー４１７は、ユーザーと関連する適切なサービスを識別し、それのインジケーションをフィーチャー・イネーブル化クライアント４７７へ返す。フィーチャー・イネーブル化クライアント４７７は、フィーチャーと関連するサービスとの間での対応に基づいて、何れのサービス・フィーチャーをイネーブルにするかを、ホストされた生産性アプリケーション４７５へ通信する。生産性アプリケーション４６５に関して先に説明したように、サービス・フィーチャーがイネーブルにされると、生産性アプリケーション４７５は、それらのサービス・フィーチャーをユーザーが使用できるようにし、サービス４９１、４９３、および４９５の任意のものとインタラクションできるようにする。
【００５７】
[0066]  図５は、クライアント・デバイス４２１とサービス管理システム４０３とサービス４９１との間での一つの例示のデータ交換を説明する動作フロー図であり、強化されたフィーチャー環境４００の幾つかの動作を示すためのものである。このシナリオでは、ユーザーは、クライアント・デバイス４２１で生産性アプリケーションを始動させる。クライアント・デバイス４２１は、サービス管理システム４０３へユーザー・アイデンティティを提供する。ユーザー・アイデンティティは、生産性アプリケーションに対するログイン動作の間に、またはオペレーティング・システムに対するログイン動作の間に、ユーザーにより提供されていることもある。
【００５８】
[0067]  １つの実装では、証明書利用者スイート（Relying Party Suite）（ＲＰＳ）交換を用いて、サービス管理システム４０３に対してユーザーの認証および識別を行う。ＲＰＳによる実装では、クライアント・デバイス４２１は、ユーザーの認証を行うためにログイン・サーバー（示さず）と通信する。ユーザーが認証されると仮定すると、ログイン・サーバーは、クライアント・デバイスへ、サービス管理システム４０３に対してのユーザーの認証に使用されたチケットまたはトークンを提供することができる。クライアント・デバイス４２１はチケットをサービス管理システム４０３に呈示し、次に、サービス管理システム４０３は、ログイン・サーバーと通信して、ユーザーの信頼性を確認する。ユーザーを識別するために広範囲の種類の他の技術を用いることができることを、理解すべきである。
【００５９】
[0068]  何れにせよ、サービス管理システム４０３は、何れのサービスがユーザーと関連するかを識別することへ進み、選択されたサービスのインジケーションをクライアント・デバイス４２１へ返す。サービス管理システム４０３がどのようにして関連するサービスを識別するかについての更に詳細な説明は、後に図７およびサービス・テーブル７１７と関連して提供する。
【００６０】
[0069]  次に、クライアント・デバイス４２１は、選択されたサービスに対応する生産性アプリケーション内のサービス・フィーチャーをイネーブルにする。幾つかの実装では、クライアント・デバイス４２１は、何れのサービス・フィーチャーが選択されたサービスに対応するかを判定することもできる。例えば、クライアント・デバイス４２１で実行されるフィーチャー・イネーブル化クライアント４２７は、様々なサービスと関連して様々なサービス・フィーチャーのアイデンティティを格納するフィーチャー・テーブルにアクセスすることができる。サービス管理システム４０３から、何れのサービスがユーザーと関連するかについてのインジケーションを受け取ると、次に、フィーチャー・イネーブル化クライアント４２７は、フィーチャー・テーブルへアクセスして、特に、何れのサービス・フィーチャーをイネーブルにするかを決定することができる。
【００６１】
[0070]  代替的には、フィーチャー・テーブルを、クライアント・デバイス４２１から離れた別のシステム（示さず）により維持することができる。フィーチャー・イネーブル化クライアント４２７は、何れのサービス・フィーチャーをイネーブルにするかに関連する情報をシステムが得るために、クエリを行うことができる。別の代替では、サービス管理システム４０３自体が、フィーチャー・テーブルを格納し、フィーチャー・イネーブル化クライアント４２７へ、何れのサービス・フィーチャーをイネーブルにするかを示す情報を提供することができる。
【００６２】
[0071]  更に別の例では、生産性アプリケーション４２５内の各サービス・フィーチャーは、自己でイネーブルにする（self-enabled）ことができる。これは、各サービス・フィーチャーが、クライアント・デバイス４２１に格納された、または代替的には、クライアント・デバイス４２１から離れて格納されたサービス・テーブルにクエリを行い、何れのサービスがユーザーと関連するとサービス管理システム４０３により識別されたかを判定することにより、生じさせることができる。次に、識別されたサービスの何れもが、各サービス・フィーチャーにより維持される基準と整合する場合、各サービス・フィーチャーは自己でイネーブルにすることができる。
【００６３】
[0072]  サービス管理システム４０３は、生産性アプリケーションがサービス４９１と通信できるようにするサービス情報を、クライアント・デバイス４２１へ返せることにも、留意されたい。サービス情報の一例は、ユーザーにより使用されるサービスのインスタンスを識別するサービス識別子である。別の例は、サービスに対してイネーブルにされる能力のリストである。更に別の例は、サービスにおいてユーザーにより用いられるユーザー識別子、例えば、ピア・ツー・ピア・ハンドラーやソーシャル・ネットワーク・ユーザーネームなどである。特定のサービスに関するユーザー・プロフィールへリンクするユーザー・プロフィール・ユニフォーム・リソース・ロケーター（ＵＲＬ）は、サービス情報の更に別の例である。接続固有（connection-specific）ＵＲＬを、既に選択されているサービスに対して提供することができ、また、接続固有トークンを、最近のセッションが進行中であるか又は最近停止されたサービスに対して提供することができる。接続状態の情報および最終の変更がなされた日付の情報は、サービス情報の別の例である。
【００６４】
[0073]  図５において、サービス・アプリケーション４９１がサービス情報をサービス管理システム４０３へ提供したことが、更に示されている。サービス４９１がこのようにサービス情報を直接に提供する必要はないことを、理解すべきである。むしろ、サービス４９１は、幾らかの情報を発行することができ、それは、次に、サービス管理システム４０３の維持およびプログラミングと関連する人員または自動ツールにより獲得される。サービス管理システム４０３はまた、幾つかのシナリオでは、クライアント・デバイス４２１からのサービス情報を得ることができる。サービス管理システム４０３へサービス情報を提供するための様々な実装が可能である。
【００６５】
[0074]  サービス４９１は、例えば、サービスに対応するイネーブルにされたサービス・フィーチャーの選択により、呼び出されることができる。クライアント・デバイス４２１は、次に、サービス４９１へのサービス・コールを生成して、イネーブルにされたサービス・フィーチャーによりサービスされる機能を達成する。例えば、サービス・フィーチャーは、呼び出されたときに、コンテンツをクライアント・デバイス４２１からソーシャル・ネットワーク・ウェブサイトへ送ることを可能にする送信生産性フィーチャーのサブフィーチャーであり得る。別の例では、サービス・フィーチャーは、呼び出されたときに、クライアント・デバイス４２１で生成されたコンテンツをクラウド・ストレージ・サービスへセーブすることを可能にするセーブ生産性フィーチャーのサブフィーチャーであり得る。生産性フィーチャーおよびサービス・フィーチャーは、コンテンツの送信や共有やセーブなどのような、それらと関連する機能を呼び出すコマンドまたは他のタイプの制御と考えられ得ることを、理解すべきである。
【００６６】
[0075]  図６は、ホストされたアプリケーションを含む別の可能なシナリオを説明する動作フロー図６００を示す。このシナリオでは、クライアント・デバイス４３１は、ユーザーに対応するユーザー・アイデンティティを、ホストされたアプリケーション・サーバー４３９へ提供する。ユーザー・アイデンティティは、生産性アプリケーションに対するログイン動作の間に、またはオペレーティング・システムに対するログイン動作の間に、ユーザーにより提供されていることもある。
【００６７】
[0076]  何れにせよ、アプリケーション・サーバー４３９は、ユーザーを認証し、例えば、開放型通信ネットワーク４０１を介してサービス管理システム４０３へ配信のリクエストを送ることにより、ユーザー・アイデンティティをサービス管理システム４０３へ送る。サービス管理システム４０３は、何れのサービスがユーザーと関連するかを識別し、開放型通信ネットワーク４０１を介して送られる応答により、選択されたサービスのインジケーションをアプリケーション・サーバー４３９へ返す。サービス管理システム４０３はまた、サービス４９１と通信するために生産性アプリケーションが用いるサービス情報を、アプリケーション・サーバー４３９へ返すことができる。上記のように、サービス情報の幾つかの例は、サービス識別子、サービスに対してイネーブルにされる能力サービスに対するユーザーネーム、ユーザー・プロフィールＵＲＬ、接続固有ＵＲＬ、トークンなどを含む。
【００６８】
[0077]  図６では、サービス・アプリケーション４９１がサービス情報をサービス管理システム４０３へ提供し得ることが、示されている。これは直接の形で行う必要はなく、むしろ、人員が、発行されたリソースからサービス情報を得て、サービス管理システム４０３を手動で維持およびプログラミングすること、または自動ツールを用いることを含み得ることを、理解すべきである。更に別の実装では、サービス管理システム４０３は、クライアント・デバイスからサービス情報を得る。サービス管理システム４０３へサービス情報を提供するための様々な方法が可能であることを、理解すべきである。
【００６９】
[0078]  アプリケーション・サーバー４３９は、次に、選択されたサービスに対応する生産性アプリケーション内のサービス・フィーチャーをイネーブルにする。幾つかの実装では、アプリケーション・サーバー４３９はまた、何れのサービス・フィーチャーが何れの選択されたサービスに対応するかを、判定することができる。図５と関連して上記で説明したように、この対応を判定するために、アプリケーション・サーバー４３９または他の場所で維持されるフィーチャー・テーブルや、自己イネーブル化サービス・フィーチャーを用いることなどのような、様々な機構を用いることができる。イネーブルにされたサービス・フィーチャーは、ウェブ・ブラウザーなどのようなクライアント・アプリケーションにより、クライアント・デバイス４３１を操作するユーザーへ提供されるが、そのクライアント・アプリケーションは、アプリケーション・サーバー４３９とインタラクションして、生産性アプリケーションを、全ての関連するイネーブルにされたサービス・フィーチャーと共に、ユーザーに呈示する。
【００７０】
[0079]  サービス４９１は、例えば、サービスに対応するイネーブルにされたサービス・フィーチャーの選択により、呼び出されることができる。クライアント・デバイス４３１は、次に、サービス４９１へのサービス・コールのインジケーションを生成して、イネーブルにされたサービス・フィーチャーの機能を達成する。ホストされたアプリケーション・サーバー４３９は、そのインジケーションを受け取り、対応するサービス・コールをサービス４９１へ送る。例えば、サービス・フィーチャーは、呼び出されたときに、コンテンツをサービス４９１へ送ることを可能にする送信生産性フィーチャーのサブフィーチャーであり得る。
【００７１】
[0080]  図７および図８は、それぞれ、強化されたフィーチャー環境７００Ａおよび７００Ｂを示し、図４のクライアント・デバイスおよびサービス管理システムのコンポーネントと、サービス・フィーチャーの動的なイネーブル化を達成するコンポーネント間の動作とを、更に詳細に示す。特に、図７は、コンテンツをサービスへアップロードするために、ユーザーが生産性アプリケーションのサービス・フィーチャーとインタラクションする例を示す。図８は、別のサービスからイメージをダウンロードするために、ユーザーが生産性アプリケーションの別のサービス・フィーチャーとインタラクションする例を示す。
【００７２】
[0081]  クライアント・デバイス４２１のコンテキストで説明するが、図７および図８に記載されている動作は、図４の強化されたフィーチャー環境４００の他のデバイスに対して広く適用可能であることを、理解すべきである。同様に、図７および図８に示すデバイスの構造エレメントも、幾つかの変形は存在し得るが、図４に示すデバイスおよびシステムに対して一般に適用可能である。
【００７３】
[0082]  図７では、強化されたフィーチャー環境７００Ａは、サービス管理システム４０３、クライアント・デバイス４２１、およびサービス４９１を含む。サービス管理システム４０３は、クライアント・デバイス４２１およびサービス４９１と通信する。同様に、クライアント・デバイス４２１は、サービス管理システム４０３およびサービス４９１と通信する。
【００７４】
[0083]  サービス管理システム４０３は、処理システム７０５、通信インターフェース７０９、およびメモリ７０７を含む。処理システム７０５は、通信インターフェース７０９およびメモリ７０７と処理可能にリンクされ、メモリ７０７に格納されたソフトウェアを実行することができる。ソフトウェアを実行する際、処理システム７０５は、一般に、通信インターフェース７０９を含むサービス管理システム４０３を駆動させて、ここで説明するように動作を行う。処理システム７０５の例は、汎用の中央処理装置、特定用途向けプロセッサー、およびグラフィックス・プロセッサーを含むが、これらには限定されない。メモリ７０７の例は、ランダム・アクセス・メモリ、リード・オンリー・メモリ、磁気ディスク、光ディスク、およびフラッシュ・メモリ、そしてこれらの任意の組み合わせや変形物、または任意の他のタイプのストレージ媒体を含む。通信インターフェース７０９は、サービス管理システム４０３が、例えば、分散型の計算および通信の環境において有線またはワイヤレスのネットワークなどを介して、他のデバイスと通信することを可能にする通信接続およびデバイスを含むことができる。
【００７５】
[0084]  前述のように、処理システム７０５は、メモリ７０７に格納されたソフトウェアを実行する。図７は、メモリ７０７に含まれるソフトウェアの分解図を提供し、ソフトウェアはフィーチャー・イネーブル化サーバー４０７およびオペレーティング・システム７１９を含む。フィーチャー・イネーブル化サーバー４０７は、カタログ・モジュール７１２、接続モジュール７１３、サービス付加モジュール７１５、およびサービス除去モジュール７１６を含む。
【００７６】
[0085]  カタログ・モジュール７１２は、ユーザーがアクセスし得る可能なサービスのカタログを提供する。接続モジュール７１３は、何れのサービスへユーザーが現在接続しているかを監視し、可用性モジュール７１４は、何れのサービスとユーザーが関連しているか、および何れのサービスへユーザーが接続したいのであろうかを、追跡する。これらの双方については後に更に詳細に説明する。サービス付加モジュール７１５は、接続モジュール７１３および可用性モジュール７１４を用いて新たなサービスをユーザーが付加できる機構を提供する。同様に、サービス除去モジュール７１６は、ユーザーがサービスを除去できる機構を提供する。
【００７７】
[0086]  また、サービス・テーブル７１７が提供され、これは、様々なユーザーと、ユーザーと様々なサービスとのアソシエーションとについての情報を維持する。サービス・テーブル７１７は、何れのサービスが何れのユーザーと関連しているかを、可用性モジュール７１４がどのようにして判定し得るかを示すために、比較的簡単に示されている。この簡単な例では、ユーザーＡはサービス４９１および４９３と関連し、ユーザーＢは、サービス４９３および４９５と関連し、ユーザーＭは、サービス４９１および４９５と関連し、ユーザーＮは、３つの全てのサービス４９１、４９３、および４９５と関連している。クライアント・デバイスから、ユーザーと関連する適切なサービスを識別するリクエストを受け取ると、可用性モジュール７１４は、おそらくは単独で又は接続モジュール７１３との組み合わせで、サービス・テーブル７１７へアクセスして、そのユーザーと関連するサービスを識別する。この情報を追跡するための更に複雑な方法も、テーブルよりも複雑なデータ構造も、可能である。他のモジュールも、サービス・テーブル７１７に対して動作することやアクセスすることができる。
【００７８】
[0087]  サービス・テーブル７１７は、幾つもの方法で維持することができる。１つの実装では、サービス・テーブル７１７は、何れのサービスとユーザーが関連するかを判定するリクエストが行われたときに、ユーザー毎ベースで設定する(populate)ことができる。この実装では、サービス管理システム４０３は、リクエストを行ったユーザーがサービスのそれぞれと関連するかを判定するためにクラウド・サービス４９１、４９３、および４９５と通信し、それに応じてサービス・テーブル７１７を設定する。別の実装では、サービス管理システム４０３は、クラウド・サービス４９１、４９３、および４９５へ周期的にクエリを行って、何れのサービスが何れのユーザーと関連するかを判定することができる。何れの場合も、サービス管理システム４０３は、クラウド・サービスの少なくとも幾つかに対してクエリを行うことができ、このクエリは、ユーザーがそれらのクラウド・サービスへのアクセスに用いるアイデンティティと、生産性アプリケーション４２５を用いるためにユーザーにより提供されるログイン・アイデンティティとが同じである場合には、そのログイン・アイデンティティを用いて行うことができる。しかし、サービス管理システム４０３は、サービス固有アイデンティティなどのような、ユーザーに対しての別のアイデンティティを用いて、クラウド・サービスに対してクエリを行うことができる。サービス固有アイデンティティは、サービス・カタログ７３６を通じて、ユーザーが関連させられるサービスを選択するときに、ユーザーにより提供されることができる。
【００７９】
[0088]  更に別の実装では、サービス・テーブル７１７は、クライアント・デバイスにより提供される情報に基づいて設定することができる。例えば、サービス・カタログ７３６におけるサービスの少なくともサブセットのユーザー選択に基づいて、フィーチャー・イネーブル化クライアント４２７は、それらの選択をサービス・テーブル７１７へ格納するためにサービス管理システム４０３へ通信することができる。この例では、選択されたサービスのサブセットはサービス４９１および４９３を含む。
【００８０】
[0089]  これらの実装の組み合わせおよび変形も可能である。例えば、サービス・テーブル７１７は、最初はクライアント・デバイスにより提供される情報に基づいて設定されるようにし、後には周期的に又はリクエスト毎に更新されるようにすることができる。
【００８１】
[0090]  処理システム７２３は、メモリ７２５、通信インターフェース７２７、およびユーザー・インターフェース７２９と処理可能にリンクされ、メモリ７２５に格納されたソフトウェアを実行することができる。ソフトウェアを実行する際、処理システム７２３は、一般に、ユーザー・インターフェース７２９および通信インターフェース７２７を含むクライアント・デバイス４２１を駆動させて、ここで説明するように動作を行う。処理システム７２３の例は、汎用の中央処理装置、特定用途向けプロセッサー、およびグラフィックス・プロセッサー、そして任意の他のタイプの処理デバイスを含む。メモリ７０５の例は、ランダム・アクセス・メモリ、リード・オンリー・メモリ、磁気ディスク、光ディスク、およびフラッシュ・メモリ、そしてこれらの任意の組み合わせや変形物、または任意の他のタイプのストレージ媒体を含む。通信インターフェース７２７は、クライアント・デバイス４２１が、例えば、分散型の計算および通信の環境において有線またはワイヤレスのネットワークなどを介して、他のデバイスと通信することを可能にする通信接続およびデバイスを含むことができる。ユーザー・インターフェース７２９は、キーボード、マウス、音声入力デバイス、またはタッチ入力デバイス、およびそれらと同等の入力デバイスなどのような入力デバイスを、有することができる。ディスプレイ、スピーカー、プリンター、および他のタイプの出力デバイスなどのような出力デバイスを含むこともできる。
【００８２】
[0091]  上述のように、処理システム７２３は、メモリ７２５に格納されたソフトウェアを実行する。図７は、メモリ７２５に含まれるソフトウェアの分解図を提供し、それは、生産性アプリケーション４２５、フィーチャー・イネーブル化クライアント４２７、およびオペレーティング・システム７３２を含む。
【００８３】
[0092]  生産性アプリケーション４２５は、生産性フィーチャー７３３、生産性フィーチャー７３４、およびサービス・フィーチャー７３５を含む。図７は、更に、生産性フィーチャー７３３内に含まれるサービス・フィーチャーを示し、これはサービス・フィーチャー７９１およびサービス・フィーチャー７９３を含む。サービス・フィーチャー７９１は、図４に示すサービス４９１と対応することが意図されている。同様に、サービス・フィーチャー７９３は、図４のサービス４９３と対応することを意図されている。共に、生産性フィーチャー７３３内のサービス・フィーチャー７９１および７９３の表示は、生産性アプリケーション４２５へログインしたユーザーＡとサービス４９１および４９３とのアソシエーションに基づいた、双方のフィーチャーのイネーブル化を説明することを意図している。実際、サービス管理システム４０３のサービス・テーブル７１７もまた、これらの関係を説明している。
【００８４】
[0093]  理解できるように、生産性アプリケーション４２５はまた、サービス・カタログ７３６を含む。サービス・カタログ７３６は、サービス４９１、サービス４９３、およびサービス４９５のグラフィカル表現を含み、これらは図４に示す同じサービスに対応する。この例では、サービス４９１は選択されたものとてして示され、サービス４９３もそのように示されている。この選択は、通信インターフェース７２７を用いてクライアント・デバイス４２１からサービス管理システム４０３へ通信され、最終的にサービス・テーブル７１７へ格納される。
【００８５】
[0094]  サービス・カタログ７３６は、様々な時にユーザーへ呈示することができる。例えば、ユーザーに対して、生産性アプリケーションを起動したときに、サービス・カタログ７３６を呈示することができる。これは、毎回生じさせることができるが、周期的に、または新たなサービスが使用可能なときに、生じさせることもできる。また、サービス・カタログ７３６は、ユーザーによる選択がなされたとき、例えば、サービス・カタログ７３６を起動させるためにフィーチャー・メニューにおいて選択を行うことにより、呈示することができる。また、サービス・カタログ７３６は、生産性フィーチャーが選択されたときにユーザーへ呈示することができる。例えば、ユーザーは、セーブ生産性フィーチャーを選択することができ、選択されると、サービス・カタログ７３６をユーザーに呈示することができる。
【００８６】
[0095]  サービス・カタログ７３６は、個別のカタログまたはスタンドアローンのエレメントとして呈示する必要がないことを、理解すべきである。むしろ、サービス４９１、４９３、および４９５のグラフィカル表現の呈示は、フィーチャー７３３、７３４、および７３５などのような生産性フィーチャー内で生じさせることができる。サービス・カタログ７３６はまた、オペレーティング・システム７３２と統合して、その一部として呈示することができる。サービス・カタログ７３６の他の実装および表示も考えられており、ここで説明したものに限定すべきではない。サービス・カタログ７３６は、カタログ・モジュール７１２と通信して、カタログを設定する情報を得ることができる。
【００８７】
[0096]  生産性アプリケーション４２５の様々なエレメントと、それ自体のアプリケーションとは、ユーザー・インターフェース７２９によりユーザーに呈示できることを、理解すべきである。生産性アプリケーション４２５とそのエレメントとは、ソフトウェアとしてメモリ７２５内に在るが、処理システム７２３によるソフトウェアの実行はユーザー・インターフェース７２９を駆動して、例えば、ディスプレイ・システムにイメージを表示させることにより、オペレーティング・システム７３２および生産性アプリケーション４２５の様々な態様をユーザーに対して表示させる。同様に、ユーザー・インターフェース７２９は、マウスを用いてクリックすることや、何らかの他の入力デバイスを用いて図７に示す生産性フィーチャー、サービス・フィーチャー、またはカタログ・エレメントのうちの任意のものの選択を示すことなどにより、ユーザーが生産性アプリケーション４２５とインタラクションすることを可能にする他の入力コンポーネントを、含むことができる。
【００８８】
[0097]  以下では、１つの実装における強化されたフィーチャー環境７００Ａの動作を説明する。この実装では、クライアント・デバイス４２１とサービス管理システム４０３との間でのインタラクションを通じて、サービス４９１に対応してサービス・フィーチャーがイネーブルにされ、呼び出される。これは、図４に示す他のエレメントのうちの任意のものへ適用できる例示であり、幾らかの変形はあり得るが、明瞭にするために、クライアント・デバイス４２１とサービス管理システム４０３との間でのインタラクションに限定している。
【００８９】
[0098]  動作において、ユーザーＡは生産性アプリケーション４２５ヘログインする。ユーザーＡは、代替的には、又は同時に、オペレーティング・システム７３２へログインすることができ、また、ユーザーのアイデンティティを生産性アプリケーション４２５へ通信できる何らかの他のアプリケーションへログインすることができる。この例では、図４と関連して説明したように、ユーザーＡは個人アイデンティティのもとでログインしている。動作において、ユーザーは、生産性アプリケーション４２５を用いて作業を行って、この例ではワード・プロセッシング・ドキュメントであるアプリケーション・コンテンツ７３７を生成する。生産性フィーチャー７３３および７３４とサービス・フィーチャー７３５とは、ユーザー・インターフェース７２９上でユーザーに対して表示されるグラフィカル・ユーザー・インターフェースを用いて、生産性アプリケーション４２５内でユーザーにより使用可能である。
【００９０】
[0099]  フィーチャー・イネーブル化クライアント４２７は、生産性アプリケーション４２５内の何れのサービス・フィーチャーをイネーブルにするかを判定する。フィーチャー・イネーブル化クライアント４２７は、クライアント・デバイス４２１とサービス管理システム４０３との間での通信により、フィーチャー・イネーブル化サーバー４０７に対してクエリを行う。上述のように、サービス管理システム４０３はサービス・テーブル７１７を維持し、サービス・テーブル７１７はユーザー・アイデンティティを様々なサービスと関連させて格納する。テーブル７１７では、ユーザーＡはサービス４９１および４９３と関連付けされている。ユーザーＢは、サービス４９３および４９５と関連付けされている。ユーザーＭは、サービス４９１および４９５と関連付けされている。ユーザーＮは、３つの全てのサービス４９１、４９３、および４９５と関連付けされている。これらのアソシエーションは、ユーザーがサービス管理システム４０３へそれらのアソシエーションを提供した結果として行われるか、または何らかの他の手段により行われる。上述のように、ユーザーは、それらのアソシエーションを、例えば、サービス・カタログ７３６を通じて提供することができる。
【００９１】
[00100]  所与のユーザーと関連する所与の生産性アプリケーションに関して何れのフィーチャーをイネーブルにするかを判定するために、可用性モジュール７１４は、何れのサービスがそのユーザーと関連するかを識別するためにテーブル７１７に対しての参照又問い合わせを行う。生産性アプリケーション４２５はユーザーＡと関連するので、サービス４９１に対応するサービス・フィーチャー７９１がイネーブルにされ、ユーザーにより使用できるようにされる。同様に、サービス４９３に対応するサービス・フィーチャー７９３もイネーブルにされる。しかし、生産性アプリケーション４２５の表示に無いことから明らかなように、サービス４９５に対応するサービス・フィーチャーはイネーブルにされない。
【００９２】
[00101]  強化されたフィーチャー環境７００Ａはまた、サービス・フィーチャーが生産性フィーチャーのサブフィーチャーであり得ることを示すことを、意図している。例えば、サービス・フィーチャー７９１およびサービス・フィーチャー７９３は、生産性フィーチャー７３３のサブフィーチャーとして示されている。図７は、分解図で生産性フィーチャーを示すが、これは単に、その中のサービス・フィーチャーのイネーブル化を説明するためであることを理解すべきであり、また、生産性フィーチャー７３４自体およびサービス・フィーチャー７３５自体が、イネーブルにされ得る他のサブフィーチャーやサービス・フィーチャーを含むことができると考えられていることを、理解すべきである。
【００９３】
[00102]  生産性フィーチャー７３３と共にイネーブルにされるサービス・フィーチャーは、任意の数の機能を提供することができる。この場合、例示を目的として、生産性フィーチャー７３３は送信フィーチャーであると仮定し、サービス・フィーチャー７９１は、矢印７８７で示すように生産性フィーチャー７３３がコンテンツ７３７をサービス４９１へ送ることを可能にすると仮定する。即ち、サービス４９１は、コンテンツ７３７が生産性アプリケーション４２５により生成され送られると、コンテンツ７３７をホストすることができる。
【００９４】
[00103]  上述のように、サービス・フィーチャーのイネーブル化は、多くの方法で生じさせることができる。多くの可能性の中で、幾つかの例は、サービス・フィーチャーのグラフィカル表現をレンダリングするために、サービス・フィーチャーに対応するグラフィックス・オブジェクトを呼び出すこと、およびイネーブル化されたサービス・フィーチャーのグラフィカル表現の視覚的特性を変更するために、サービス・フィーチャーに対応するグラフィックス・オブジェクト内の値または設定を変更することを含む。グラフィックス・オブジェクトは、それらと関連する実行可能コードを有することができ、コンテンツへ適用することをユーザーにより望まれる動作機能を提供する。例えば、セーブ・フィーチャーは、コンテンツをセーブするようにクライアント・デバイス４２１を駆動するであろう。同様に、送信フィーチャーは、コンテンツを宛先へ送るようにクライアント・デバイス４２１を駆動するコードを含むであろう。
【００９５】
[00104]  ここで図８を参照すると、強化されたフィーチャー環境７００Ｂは、サービス管理システム４０３、クライアント・デバイス４２１、およびサービス４９３を含む。サービス管理システム４０３は、クライアント・デバイス４２１およびサービス４９３と通信する。同様に、クライアント・デバイス４２１は、サービス管理システム４０３およびサービス４９３と通信する。
【００９６】
[00105]  下記では、実装における強化されたフィーチャー環境７００Ｂの動作を説明する。この実装では、クライアント・デバイス４２１とサービス管理システム４０３との間でのインタラクションを通じて、サービス４９３に対応するサービス・フィーチャーがイネーブルにされ呼び出される。これは、図４に示す他のエレメントのうちの任意のものへ適用できる例示であり、幾らかの変形はあり得るが、明瞭にするために、クライアント・デバイス４２１とサービス管理システム４０３との間でのインタラクションに限定している。
【００９７】
[00106]  図７に関して説明したように、ユーザーＡは生産性アプリケーション４２５ヘログインするが、代替的に又は同時に、オペレーティング・システム７３２へログインすることができる。この例では、図４と関連して説明したように、ユーザーＡは個人アイデンティティのもとでログインしている。動作において、ユーザーは、生産性アプリケーション４２５を用いて作業を行って、この例ではワード・プロセッシング・ドキュメントであるアプリケーション・コンテンツ７３７を生成する。生産性フィーチャー７３３および７３４とサービス・フィーチャー７３５とは、ユーザー・インターフェース７２９上でユーザーに対して表示されるグラフィカル・ユーザー・インターフェースを用いて、生産性アプリケーション４２５内でユーザーにより使用可能である。
【００９８】
[00107]  フィーチャー・イネーブル化クライアント４２７は、生産性アプリケーション４２５内の何れのサービス・フィーチャーをイネーブルにするかを判定する。フィーチャー・イネーブル化クライアント４２７は、クライアント・デバイス４２１とサービス管理システム４０３との間での通信により、フィーチャー・イネーブル化サーバー４０７に対してクエリを行う。生産性アプリケーション４２５はユーザーＡと関連付けされているので、ユーザーＡと関連するサービスに対応するサービス・フィーチャーがイネーブルにされる。サービス・テーブル７１７は、ユーザーＡがサービス４９１および４９３と関連付けされていることを示す。従って、サービス４９１および４９３と関連するサービス・フィーチャーがイネーブルにされる。例示を目的として、ここでは、サービス・フィーチャー８９３がサービス(serviced)４９３と関連し、従って、それがイネーブルにされてユーザーに対して使用可能とされると仮定する。
【００９９】
[00108]  この場合、例示を目的として、生産性フィーチャー７３４は、ユーザーがイメージをアプリケーション・コンテンツ７３７へ挿入することを可能にするイメージ挿入フィーチャーであると仮定する。サービス・フィーチャー８９１は、サーチ・エンジン（示さず）に対応する特定挿入フィーチャーとして提供され、ユーザーがアプリケーション・コンテンツ７３７へ挿入するためのイメージまたは他のコンテンツをサーチすることを可能にする。サービス・フィーチャー８９３は、サービス４９３に対応する特定挿入フィーチャーとして提供され、ユーザーがサービス４９３のイメージ・ソース７５７からイメージを挿入することを可能にする。例示を目的として、ユーザーがサービス・フィーチャー８９３を選択して、矢印７７７で示すように、イメージ・ソース７５７からイメージをダウンロードしてアプリケーション・コンテンツ７３７へ挿入することを選んだと仮定する。そのイメージは、サービス４９３から送られて、アプリケーション・コンテンツ７３７へ埋め込まれる。
【０１００】
[00109]  サービス・フィーチャー８９１および８９３内で、グラフィックスを表面に出すことができ、これは、アプリケーション・コンテンツ７３７へ挿入されることができるものと関連することに、留意されたい。サービス・フィーチャー８９１の場合、サーチ・ボックスをユーザーに対して表示することができ、その中へユーザーはサーチ用語を入力することができる。サービス・フィーチャー８９３に関しては、イメージ・ソース７５７に格納されたイメージの表現を、ユーザーに対して表示することができ、ユーザーが望む１または複数のイメージをアプリケーション・コンテンツ７３７へ挿入するために選択することを可能にする。ユーザーはまた、サービス付加フィーチャー８９５を用いてサービス・フィーチャーを付加することができる。サービス付加フィーチャー８９５内で、関連するサービスとして接続および付加することをユーザーが望み得るフォト・サービスおよびドライブ・サービスという２つの可能なサービスのグラフィカル表現が、表示される。サービス付加フィーチャー８９５は、生産性フィーチャー７３４のサブフィーチャーとして示されているが、同様の付加フィーチャーを、スタンドアローンのフィーチャーまたは他の生産性フィーチャーのサブフィーチャーとして提供でき得ることを、理解すべきである。
【０１０１】
[00110]  図８において、サービス・フィーチャー８９１は、サービス・フィーチャー８９３と共に提供されており、これは、ユーザーと関連するサービスと対応する幾つかのサービス・フィーチャーが動的にイネーブルにされたであろうときに、たとえそのユーザーと対応するサービスとのアソシエーションが存在するとしても、他のサービス・フィーチャーが、イネーブルにされるであろうこと、またはユーザーに対して表面に出されるであろうことを、説明するためである。この例では、サービス・フィーチャー８９１はサーチ・エンジン・サービスに対応し、サービス・フィーチャー８９３はサービス４９３に対応する。これは、ユーザーと関連するサービス以外のサービスと関連するサービス・フィーチャーを、生産性アプリケーション４２５内で表面に出すことができることを説明することを、意図している。
【０１０２】
[00111]  上述のように、サービス・フィーチャーのイネーブル化は、多くの方法で生じさせることができる。多くの可能性の中で、幾つかの例は、サービス・フィーチャーのグラフィカル表現をレンダリングするために、サービス・フィーチャーに対応するグラフィックス・オブジェクトを呼び出すこと、およびイネーブル化されたサービス・フィーチャーのグラフィカル表現の視覚的特性を変更するために、サービス・フィーチャーに対応するグラフィックス・オブジェクト内の値または設定を変更することを含む。グラフィックス・オブジェクトは、それらと関連する実行可能コードを有することができ、コンテンツへ適用することをユーザーにより望まれる動作機能を提供する。例えば、セーブ・フィーチャーは、コンテンツをセーブするようにクライアント・デバイス４２１を駆動するであろう。同様に、送信フィーチャーは、コンテンツを宛先へ送るようにクライアント・デバイス４２１を駆動するコードを含むであろう。
【０１０３】
[00112]  下記の説明は、マイクロソフト（登録商標）Ｏｆｆｉｃｅ（トレードマーク）のアプリケーションを含む様々な実装に関する。更に、図９および図１０は、ユーザーが遭遇するユーザー・インターフェースを示すスクリーン・ショットを含み、そのユーザー・インターフェースへは、マイクロソフト（登録商標）および他の第３者プロバイダーにより提供されるサービスが、Ｏｆｆｉｃｅ（トレードマーク）のアプリケーションと接続および統合されたときに、遭遇する。ユーザーがそれらのサービスを選択および使用すると、Ｏｆｆｉｃｅ（トレードマーク）を実行するクライアントと、そのクライアントと通信するサービス・マネージャーとの何れか又は双方は、ユーザーがデバイスからデバイスへとローミング(roam)し得るときも、それらのサービスを維持する。任意のＯｆｆｉｃｅ（トレードマーク）クライアントは、それがウェブ、モバイル、またはラップトップのプラットフォーム、または任意の他の種類のプラットフォームで実行されるかにかかわらず、これを達成するためにサービス・マネージャーとインタラクションすることができる。
【０１０４】
[00113]  サービス・マネージャー自体はホストされるサービスであり、ユーザーの認証を行い、ユーザーが既に接続してるサービスまたはユーザーが接続可能なサービスについての情報を返す。サービス・マネージャーは、それらの様々なサービスと通信して、対応するサービス・フィーチャーをイネーブルにするために必要な情報を得る。この情報は時間の経過とともに変化し得るので、これは、サービスが変化するときや新たなサービスが使用可能となるときに、生産性アプリケーションが時代遅れにならないことを可能にする。これは、サービス・マネージャーが、サービスとのインターフェースを行い、次に、生産性アプリケーションとのインターフェースを行ってサービス・フィーチャーをイネーブルにすることにより、達成することができる。
【０１０５】
[00114]  この例では、ユーザーは、Ｗｉｎｄｏｗｓ（登録商標）Ｌｉｖｅ（登録商標）識別子およびＯｆｆｉｃｅ３６５（トレードマーク）識別子を用いることを含む幾つかの方法で識別され得る。また、ユーザーは第３者識別子により識別され得ることも、理解すべきである。ユーザーに適切なサービスが識別され、関連するサービス・フィーチャーがイネーブルにされると、ユーザーは、サービスへＯｆｆｉｃｅ（トレードマーク）アプリケーション内からコンテンツのアップロードすることや、Ｏｆｆｉｃｅ（トレードマーク）アプリケーションを用いて作成されたドキュメントへサービスから直接にコンテンツを挿入することのようなアクションを行うために、サービス・フィーチャーを介してサービスと直接にインタラクションすることができる。更に、Ｏｆｆｉｃｅ（トレードマーク）アプリケーション内から、ユーザーと関連するクラウド・ストレージ・サービスにより格納されたファイルを開くことも、可能にされる。同様に、Ｏｆｆｉｃｅ（トレードマーク）アプリケーションから、ユーザーと関連するクラウド・ストレージ・サービスへファイルをセーブすることが、可能とされる。更に別の例では、Ｏｆｆｉｃｅ（トレードマーク）アプリケーション内で、ユーザーと関連するソーシャル・ネットワーキング・ウェブサイトからの連絡先を使用可能にすることができる。
【０１０６】
[00115]  ここで図９を参照すると、ユーザー・インターフェース９００のスクリーン・ショットが示されており、これには、動的にイネーブルにされるサービス・フィーチャーを有する生産性アプリケーションを用いて作業を行うときに、遭遇し得る。特に、ユーザー・インターフェース９００は、マイクロソフト（登録商標）Ｗｏｒｄ（登録商標）ドキュメント・エディターにおけるサンプル・ビューを提供し、サンプルの著者であるＪｅｒｅｍｙにより作成されたサンプル・レジュメを示す。
【０１０７】
[00116]  ユーザー・インターフェース９００は、生産性アプリケーション９０１を実行する先の図で示したものなどのようなクライアント・デバイスによりレンダリングしてユーザーに対して表示することができる。ユーザーは、生産性アプリケーション９０１とインタラクションして、ドキュメントなどのようなコンテンツ９０３を作成することができる。生産性アプリケーション９０１は生産性フィーチャー・メニュー９０５を含み、その中で表示される様々な生産性フィーチャーのサブセットに対応するグラフィカル表現を有する。例えば、フィーチャー・メニュー９０５は、ファイル、ホーム、挿入、ページ・レイアウト、参照、メーリング、レビュー、ビューの生産性フィーチャー・カテゴリーに対するボタンを有する。この例では、挿入カテゴリーが選択され、その結果として、挿入カテゴリー内の生産性フィーチャーに対応するグラフィカル・アイコンが見えている。
【０１０８】
[00117]  示されているように、挿入カテゴリー９０７は多くの生産性フィーチャーを含み、それらは、ユーザーがローカル・イメージ、オンライン・イメージ、ビデオ、形状、スマート・アート、チャート、およびスクリーン・ショットを挿入することを可能にするものを含む。実際、挿入カテゴリー９０７は幾つかの他の生産性フィーチャーを含み、それらは、表紙、空白ページ、ページ区切り、表、ハイパーリンク、ブックマーク、相互参照、ヘッダー、フッター、およびページ番号の生産性フィーチャーを含む。これらの生産性フィーチャーは、ユーザーがコンテンツに関して機能を行うこと、即ち、各生産性フィーチャーに対してのグラフィカル・アイコンにより表されるアイテムを挿入することを、可能にする。例えば、ローカル・イメージとラベル付けされたグラフィカル・アイコン上でクリックを行うことにより、ローカル・イメージに対する生産性フィーチャーは、ユーザーがローカルで格納されたフォトまたは他のタイプのイメージを挿入することを、可能にする。同様に、ビデオ挿入の生産性フィーチャーは、ユーザーがビデオをコンテンツ９０３へ挿入することを、可能にするであろう。
【０１０９】
[00118]  更に図９を参照すると、ユーザー・インターフェース９００はまた、上記の実装で説明したサービス・フィーチャーのビューを提供する。オンライン・イメージ挿入の生産性フィーチャー９１１を選択すると、オンライン・イメージ挿入メニュー９１３がユーザーに対して表示される。オンライン・イメージ挿入メニューは、ユーザーが使用可能な幾つかのサービス・フィーチャーを含み、それらは、ユーザーがオンライン・サービスと関連するコンテンツ９０３に対しての機能を行うことを可能にする。この場合、サービス・フィーチャー９１５、サービス・フィーチャー９１７、およびサービス・フィーチャー９１９の３個のサービス・フィーチャーが表示されている。
【０１１０】
[00119]  サービス・フィーチャー９１５は、オンライン・サービスであるマイクロソフト（登録商標）Ｂｉｎｇ（トレードマーク）に対応する。サービス・フィーチャー９１５は、サーチ・サービスを用いてユーザーがコンテンツ９０３へ挿入するためのイメージをサーチすることを、可能にする。特に、ユーザーは、生産性アプリケーション９０１から離れてナビゲーションする必要無しに、オンライン・イメージ挿入メニュー９１３内でサーチ・ストリングをサーチ・ボックス９２５へ入力することができる。幾つかの実装では、サービス・フィーチャー９１５は、他のサービス内に埋め込まれた又は含まれたものを含めての他のオンライン・サーチ・サービスに、対応することができる。例えば、サービス・フィーチャー９１５は、ソーシャル・ネットワーキング・サービス内に格納されたコンテンツをユーザーがサーチすることを可能にするサーチ・ツールに対応することができる。
【０１１１】
[00120]  サービス・フィーチャー９１７は、マイクロソフト（登録商標）Ｏｆｆｉｃｅ（トレードマーク）サービスにより提供されるオンライン・クリップ・アート・ストアに対応する。サービス・フィーチャー９１７は、ユーザーがコンテンツ９０３へ挿入するためのイメージをｏｆｆｉｃｅ．ｃｏｍにおけるフォトおよびイラストレーションのリポジトリからサーチすることを、可能にする。ユーザーは、生産性アプリケーション９０１から離れてナビゲーションする必要無しに、サーチ・ストリングをサーチ・ボックス９２７へ入力することができる。
【０１１２】
[00121]  サービス・フィーチャー９１９は、Ｆａｃｅｂｏｏｋ（登録商標）ソーシャル・ネットワーキング・オンライン・サービスに対応する。サービス・フィーチャー９１９は、ユーザーがイメージ９２９をユーザーのＦａｃｅｂｏｏｋ（登録商標）アカウントからコンテンツ９０３へ挿入することを、可能にする。また、ユーザーは、挿入する追加のイメージに関して、ユーザーのＦａｃｅｂｏｏｋ（登録商標）アカウントをサーチすることができる。
【０１１３】
[00122]  また、オンライン・イメージ挿入メニュー９１３は、イネーブルにされたサービス・フィーチャー９１５、９１７、および９１９の登録簿へ付加され得る可能性のある追加のソース・メニュー９３１を提供する。例えば、ユーザーは、プロフェッショナル・ネットワーキング、ウェブ・ポータル、またはメッセージング・サービスのため、および他のタイプのオンライン・サービスのために、ソーシャル・ネットワークと関連するサービス・フィーチャーをイネーブルにすることを望み得る。ユーザーは、追加のソース・メニュー９３１内のこれら他のサービスのグラフィカル表現上でクリックを行い、それらのサービスへ接続して、関連するサービス・フィーチャーをイネーブルにするプロセスを開始する。
【０１１４】
[00123]  上記の実装に関して述べたように、サービス・フィーチャー９１５、９１７、および９１９は、ユーザーと、対応するオンライン・サービスとのアソシエーションに応じて、動的にイネーブルにすることができる。例えば、ユーザー・インターフェース９００において、サービス・フィーチャー９１９は、生産性アプリケーション９０１のユーザーであるＪｅｒｅｍｙがＦａｃｅｂｏｏｋ（登録商標）メンバーであるので、イネーブルにされる。しかし、幾つかのサービス・フィーチャーは、ユーザーが対応するオンライン・サービスと関連付けされているか否かにかかわりなく、常にイネーブルにすることができる。例えば、オンライン・サービスに対応するサービス・フィーチャー９１５は、連続してイネーブルにすることができる。
【０１１５】
[00124]  ここで図１０を参照すると、マイクロソフト（登録商標）Ｗｏｒｄ（登録商標）ドキュメント・エディターからのユーザー・インターフェース１０００のスクリーン・ショットを示し、アカウント管理ビュー１００１を示しており、これは、サンプル・ユーザーであるＫａｉｔｌｉｎが、接続されたサービスの彼女のプロフィールを管理することを可能にする。このように、ユーザーは、何れのオンライン・サービスとユーザーが関連付けされているかを識別することができ、それにより、生産性フィーチャー内の対応するサービス・フィーチャーがイネーブルにされ得る。
【０１１６】
[00125]  ユーザー・インターフェース１０００から分かるように、アカウント管理ビュー１００１はユーザーのアイデンティティのインジケーションを含む。この場合、Ｋａｉｔｌｉｎは、オンライン・Ｅメール・サービスと関連するＨｏｔｍａｉｌ（登録商標）識別子により識別される。アカウント管理ビュー１００１はまた、接続されたサービス１００５のリストをユーザーに対して表示する。この例では、Ｋａｉｔｌｉｎは、オンライン・ストレージ・ドライブ、オンライン生産性スイート、ソーシャル・ネットワーキング・オンライン・サービス、およびオンライン・フォト・サービスと関連付けされている。また、ユーザーには、接続されたサービス１００５のリストに対してユーザーが任意のサービスを付加または除去することを可能にするサービス付加機能１００７が、提供される。ユーザーは、メニュー１００９内の他の標準の機能のフィーチャー、例えば、ｎｅｗ（新）、ｏｐｅｎ（開く）、ｓａｖｅ  ａｓ（…としてセーブ）、およびｐｒｉｎｔ（プリント）の機能およびフィーチャーなども、使用可能である。
【０１１７】
[00126]  含まれている説明および図面は、最適モードの作成および使用を当業者に対して教示するために、特定の実装を示す。発明の原理を教示する目的のために、幾つかの従来の構成は簡素化または省略されている。当業者は、これらの実装から、本発明の範囲内にある様々な変形を理解するであろう。また、当業者は、先に説明したフィーチャーを様々な方法で組み合わせて多数の実装を形成できることを、理解するであろう。結果として、本発明は、上記の特定の実装に限定されず、特許請求の範囲およびその等価物のみにより限定される。
【図１】
2014533862.tif 000003
【図２】
2014533862.tif 000004
【図３】
2014533862.tif 000005
【図４】
2014533862.tif 000006
【図５】
2014533862.tif 000007
【図６】
2014533862.tif 000008
【図７】
2014533862.tif 000009
【図８】
2014533862.tif 000010
【図９】
2014533862.tif 000011
【図１０】
2014533862.tif 000012
【国際調査報告】
2014533862.tif 000013
2014533862.tif 000014