"コンピュータデバイスから、前記コンピュータデバイスで動作するソフトウェアの操作性を示すソフトウェア操作性シグニチャと、関連するコンテクストデータとを受信するステップと、前記ソフトウェア操作性シグニチャを前記ソフトウェアのベースライン操作性シグニチャと比較して、前記ソフトウェアが前記ベースライン操作性シグニチャと整合して又は前記ベースライン操作性シグニチャと不整合に動作しているかどうかを決定するステップとを有するコンピュータ実施の方法。更なるコンピュータデバイスから受信される更なるソフトウェア操作性シグニチャをグループ化するステップであって、前記更なるソフトウェア操作性シグニチャの夫々は、前記更なるコンピュータデバイスで動作する前記ソフトウェアの操作性を示し、前記ソフトウェア操作性シグニチャに関連する前記コンテクストデータと同じ又は類似するコンテクストデータに関連付けられる、前記グループ化するステップと、前記更なるソフトウェア操作性シグニチャから、通常のソフトウェア動作を示す前記ベースライン操作性シグニチャを生成するステップとを更に有する請求項1に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャ及び前記更なるソフトウェア操作性シグニチャは、前記ソフトウェアの同じ又は類似するアクティビティをモニタすることから生成される、請求項2に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャに基づき、前記ソフトウェアが前記ベースライン操作性シグニチャと不整合に動作していると決定するステップと、前記ベースライン操作性シグニチャと不整合に動作している前記ソフトウェアが通常のソフトウェア動作に対応すると決定するステップと、前記ソフトウェアのために受信された前記ソフトウェア操作性シグニチャに基づき、前記ソフトウェアの新たなベースライン操作性シグニチャを生成するステップとを更に有する請求項1に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャに基づき、前記ソフトウェアが前記ベースライン操作性シグニチャのコンテクストと不整合に動作していると決定するステップと、前記ソフトウェアの動作不具合を決定するよう前記ソフトウェア操作性シグニチャを解析するステップとを更に有する請求項1に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャと前記ベースライン操作性シグニチャのコンテクストとの比較から、前記ソフトウェアの前記動作不具合の原因を決定するステップと、前記ソフトウェアの前記動作不具合を抑制するソリューションを起動するステップとを更に有する請求項5に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャに基づき、前記ソフトウェアが前記ベースライン操作性シグニチャのコンテクストと不整合に動作していると決定するステップと、前記ソフトウェアの動作退行を決定するよう前記ソフトウェア操作性シグニチャを解析するステップとを更に有する請求項1に記載のコンピュータ実施の方法。前記ソフトウェア操作性シグニチャと前記ベースライン操作性シグニチャのコンテクストとの比較から、前記ソフトウェアの前記動作退行の原因を決定するステップと、前記ソフトウェアの前記動作退行を抑制するソリューションを起動するステップとを更に有する請求項7に記載のコンピュータ実施の方法。コンピュータデバイスから、前記コンピュータデバイスで動作するソフトウェアの操作性を示すソフトウェア操作性シグニチャと、関連するコンテクストデータとを受信するよう構成されるデータ通信インタフェースと、前記ソフトウェア操作性シグニチャを前記ソフトウェアのベースライン操作性シグニチャと比較して、前記ソフトウェアが前記ベースライン操作性シグニチャに整合して又は前記ベースライン操作性シグニチャと不整合に動作しているかどうかを決定するよう構成されるソフトウェア操作性サービスを実施する少なくともメモリ及びプロセッサとを有するネットワークサービス。前記ソフトウェア操作性サービスは更に、更なるコンピュータデバイスから受信される更なるソフトウェア操作性シグニチャをグループ化し、前記更なるソフトウェア操作性シグニチャの夫々は、前記更なるコンピュータデバイスで動作する前記ソフトウェアの操作性を示し、前記ソフトウェア操作性シグニチャに関連する前記コンテクストデータと同じ又は類似するコンテクストデータに関連付けられ、前記更なるソフトウェア操作性シグニチャから、通常のソフトウェア動作を示す前記ベースライン操作性シグニチャを生成するよう構成される、請求項9に記載のネットワークサービス。この要約は、ソフトウェア操作性サービスの簡易的な概念を導入するために設けられており、当該概念は更に、詳細な説明において以下で記載され、且つ/あるいは、図面において示される。この要約は、請求される対象の必須の特徴を記載すると見なされるべきでも、請求される対象の適用範囲を決定又は制限するために使用されるべきでもない。ソフトウェア操作性サービスが記載される。実施形態において、ソフトウェアのアクティビティは、ソフトウェアアクティビティデータを収集するためにモニタされ得る。次いで、ソフトウェアのためのソフトウェア操作性シグニチャがソフトウェアアクティビティデータから生成され得る。ソフトウェア操作性シグニチャはソフトウェアの操作性を示す。次いで、ソフトウェア操作性シグニチャ及び関連するコンテクストデータが、ソフトウェア操作性シグニチャを解析するネットワークサービスへ送信され得る。他の実施形態では、ネットワークサービスは、コンピュータデバイスからソフトウェア操作性シグニチャ及び関連するコンテクストデータを受信することができる。ソフトウェア操作性シグニチャは、コンピュータデバイスで動作するソフトウェアの操作性を示す。更なるコンピュータデバイスから受信される更なるソフトウェア操作性シグニチャはグループにまとめられ得る。更なるソフトウェア操作性シグニチャの夫々は、更なるコンピュータデバイスで動作するソフトウェアの操作性を示し、ソフトウェアに関連するコンテクストデータと同じ又は類似するコンテクストデータに関連付けられる。次いで、ベースライン操作性シグニチャが更なるソフトウェア操作性シグニチャから生成され、ベースライン操作性シグニチャは通常のソフトウェア動作を示す。次いで、ソフトウェア操作性シグニチャは、ソフトウェアがベースライン操作性シグニチャと整合して又はベースライン操作性シグニチャと不整合に動作しているかどうかを決定するよう、ソフトウェアのベースライン操作性シグニチャと比較され得る。実施形態において、通常のソフトウェア動作を示すベースライン操作性シグニチャは、ソフトウェア操作性シグニチャが生成されるコンテクストの関数であってよい。他の実施形態では、ソフトウェア操作性シグニチャに基づき、ソフトウェアがベースライン操作性シグニチャと不整合に動作していると決定される。次いで、ネットワークサービスは、ベースライン操作性シグニチャと不整合な動作が通常のソフトウェア動作に対応すると決定することができる。然るに、次いで、ソフトウェアの新たなベースライン操作性シグニチャは、ソフトウェア操作性シグニチャに基づき生成され得る。代替的に、ネットワークサービスは、ソフトウェア操作性シグニチャに基づきソフトウェアがベースライン操作性シグニチャと不整合に動作していると決定される場合にソフトウェアの動作不具合又は動作退行を決定するよう、ソフトウェア操作性シグニチャを解析することができる。また、ネットワークサービスは、動作不具合又は退行の原因を決定し、ソフトウェアの動作不具合又は退行を抑制するソリューションを起動することができる。ソフトウェア操作性サービスの実施形態は、添付の図面を参照して記載される。図面において、同じ参照符号は、同じ特徴及び構成要素を参照するために使用される。ソフトウェア操作性サービスが記載される。実施形態において、ソフトウェア操作性モジュールは、例えばあらゆるタイプのソフトウェア、アプリケーション、デバイスドライバ、ファームウェア例えば、デバイスファームウェア若しくはシステムファームウェア、マイクロコード、ハードウェア部品、又はそれらの何らかの組み合わせからソフトウェアアクティビティデータを収集するために、ソフトウェアのアクティビティをモニタするよう実施され得る。次いで、ソフトウェア操作性モジュールは、ソフトウェアアクティビティデータから、ソフトウェアのためのソフトウェア操作性シグニチャを生成することができる。ソフトウェア操作性シグニチャは、ソフトウェアの操作性、すなわち、一般的に、ソフトウェア、アプリケーション、デバイスドライバ、ファームウェア、ハードウェア等の調子を示す。次いで、ソフトウェア操作性モジュールは、ソフトウェア操作性シグニチャと、動作コンテクストを示す関連するコンテクストデータとを、ソフトウェア操作性シグニチャを解析するネットワークサービスへ送信することができる。他の実施形態では、ネットワークサービスは、コンピュータデバイスからソフトウェア操作性シグニチャ及び関連するコンテクストデータを受信することができる。ソフトウェア操作性シグニチャは、コンピュータデバイスで動作するソフトウェアの操作性を示す。実施形態において、ネットワークサービスは、更なるソフトウェア操作性シグニチャからベースライン操作性シグニチャを生成することができる。ネットワークサービスは、更なるコンピュータデバイスから受信される更なるソフトウェア操作性シグニチャをグループ化することができる。更なるソフトウェア操作性シグニチャの夫々は、更なるコンピュータデバイスで動作するソフトウェアの操作性を示し、ソフトウェアに関連するコンテクストデータと同じ又は類似するコンテクストデータと関連付けられる。次いで、ネットワークサービスは、更なるソフトウェア操作性シグニチャからベースライン操作性シグニチャを生成することができ、ベースライン操作性シグニチャは通常のソフトウェア動作を示す。次いで、ネットワークサービスは、ソフトウェア操作性シグニチャをソフトウェアのベースライン操作性シグニチャと比較して、ソフトウェアがベースライン操作性シグニチャと整合して又はベースライン操作性シグニチャと不整合に動作しているかどうかを決定することができる。実施形態において、通常のソフトウェア動作を示すベースライン操作性シグニチャは、ソフトウェア操作性シグニチャが生成されるコンテクストの関数であってよい。例えば、ベースライン操作性シグニチャは、コンピュータデバイスのアーキテクチャ例えば、X64又はARM、性能例えば、高性能又は低性能、解析下の市場区分例えば、OEMに基づく、PCモデル、ロケール、CPU速度、等、等を含みうるコンテクストに基づき生成され得る。デバイスドライバ及びオペレーティングシステム開発バージョンの2つの変数のみに基づき生成されるベースライン操作性シグニチャは、ドライバごとオペレーティングシステムごとのベースラインコンテクストを有する。更に、更なる特質がベースラインコンテクストに加えられてよい。例えば、ベースラインコンテクストの特質は、特定のロケールで1GB未満のメモリを備えるタブレット型コンピュータにおいて実行される場合に、電力管理機能のためのドライバのベースライン操作性シグニチャを特定するよう加えられてよい。他の実施形態では、ソフトウェア操作性シグニチャに基づき、ソフトウェアがベースライン操作性シグニチャと不整合に動作していると決定されてよい。次いで、ネットワークサービスは、ベースライン操作性シグニチャと不整合な動作が通常のソフトウェア動作に対応すると決定することができる。然るに、次いで、ソフトウェアの新たなベースライン操作性シグニチャは、ソフトウェア操作性シグニチャに基づき生成され得る。代替的に、ネットワークサービスは、ソフトウェア操作性シグニチャに基づきソフトウェアがベースライン操作性シグニチャと不整合に動作していると決定される場合にソフトウェアの動作不具合又は動作退行を決定するよう、ソフトウェア操作性シグニチャを解析することができる。また、ネットワークサービスは、動作不具合又は退行の原因を決定し、ソフトウェアの動作不具合又は退行を抑制するソリューションを起動することができる。例えば、プリンタと、コンピュータデバイスにおける対応するプリンタドライバとを考える。サービスパックの更新がコンピュータデバイスに適用された後、プリンタは、例えば、より長い時間をかけて印刷ジョブを完了することによって、異なるふうに動作しうる。通常、プリンタドライバが異なるふうに動作していると決定することは困難であり、また、サービスパックの更新がプリンタの速度を減速させたと決定することも困難である。やがて、プリンタのユーザは、プリンタが印刷ジョブを完了するのに時間がかかるようになったと気付くかもしれないが、何が性能の低下を引き起こしたのかをユーザが指摘することは困難であろう。更に、多くのユーザは、プリンタドライバが完全に動作不能にならない場合には、プリンタの性能の低下に気付きさえしないかもしれない。しかし、様々な実施形態に従って、ソフトウェア操作性モジュールは、プリンタドライバのアクティビティデータを収集するために、プリンタドライバをモニタするよう実施され得る。次いで、プリンタドライバのためのソフトウェア操作性シグニチャが生成され、ネットワークサービスへ送信され得る。次いで、ネットワークサービスは、プリンタドライバのためのソフトウェア操作性シグニチャをプリンタドライバのベースライン操作性シグニチャと比較して、プリンタドライバがベースライン操作性シグニチャと整合して又は不整合に動作しているかどうかを決定することができる。この場合に、ネットワークサービスは、プリンタドライバがサービスパックの更新後に適切に動作していないので、プリンタドライバがベースライン操作性シグニチャと不整合に動作していると決定することができる。プリンタドライバがベースライン操作性シグニチャと不整合に動作しているとの決定に応答して、ネットワークサービスは、プリンタドライバの動作不具合又は動作退行を決定するよう、プリンタドライバのためのソフトウェア操作性シグニチャを解析することができる。次いで、プリンタドライバの動作不具合又は動作退行を抑制するソリューションが起動され得る。例えば、ネットワークサービスは、プリンタドライバをサービスパックの更新に伴って適切に動作させるソフトウェア更新を生成し及び/又はコンピュータデバイスへ送信することができる。ソフトウェア操作性サービスの特徴及び概念はあらゆる数の異なったデバイス、システム、環境、ネットワーク及び/又は構成において実施され得るが、ソフトウェア操作性サービスの実施形態は、以下の例となるデバイス、システム、及び方法との関連で記載される。図1は、ソフトウェア操作性サービスの様々な実施形態が実施され得るシステム100の例を表す。例となるシステム100は、如何なるタイプのコンピュータデバイス104としても実施されてよいコンピュータデバイス102を有する。様々なコンピュータデバイス104のいずれも、コンピュータデバイス102として構成され得、図6に示されるデバイスの例を参照して更に記載されるようにあらゆる数及び組み合わせの異なる構成要素を有して実施されてよい。コンピュータデバイス104は、テレビジョン装置106、コンピュータ108、ゲームシステム110、電気器具、電子機器、及び/又は何らかの他のタイプの装置の中のいずれか1つ又は組み合わせとして実施され得る。様々なコンピュータデバイスは、無線データを受信及び/又は通信するよう実施される無線デバイス、例えば、携帯電話112セルラー、VoIP、WiFi、等、携帯型コンピュータデバイス114、メディアプレーヤ116、及び/又は何らかの他の無線デバイスを更に有することができる。クライアントシステムは、各自のコンピュータデバイス及びディスプレイデバイス118を有することができる。コンピュータデバイス102は、コンピュータデバイスの動作を制御するよう様々なコンピュータ実行可能命令を処理する1又はそれ以上のプロセッサ120例えば、マイクロプロセッサ、コントローラ、等のいずれかを有することができる。コンピュータデバイス102は、データ記憶を可能にするメモリ122例えば、1又はそれ以上のコンピュータ可読記憶媒体デバイスを更に有する。メモリは、如何なるタイプのメモリ、記憶媒体、及び/又は適切な電子データ記憶としても実施され得る。メモリ122は、メモリによりソフトウェアアプリケーションとして保持されてプロセッサ120によって実行され得るオペレーティングシステム124を更に有する。オペレーティングシステム124は、ソフトウェア操作性モジュール126及びオペレーティングシステムカーネル128を有する。ソフトウェア操作性モジュール126は、コンピュータ実行可能命令、例えば、ソフトウェアアプリケーションとして実施され、ここで記載される実施形態を実施するよう様々なコンピュータデバイス104のいずれかにおけるプロセッサによって実行され得る。ソフトウェア操作性モジュール126は、ソフトウェアアクティビティデータ132を収集するために、ソフトウェア130のアクティビティをモニタするよう実施される。ここで記載されるように、ソフトウェア130は、如何なるタイプのソフトウェアアプリケーションも、例えば、2~3例を挙げると、ワード処理アプリケーション、ウェブ検索アプリケーション、又はデバイスドライバを有することができる。ソフトウェア130は、ファームウェア例えば、デバイスファームウェア又はシステムファームウェア、マイクロコード、ハードウェア部品、又はそれらの何らかの組み合わせを更に有することができる。ソフトウェアアクティビティデータ132は、通常のソフトウェアアクティビティ、ソフトウェア動作変化、及びソフトウェア不具合を含む、ソフトウェア130のアクティビティ及び/又は動作に関連する何らかのデータを有することができる。実施形態において、ソフトウェア操作性モジュール126は、ソフトウェア130の特定のアクティビティをモニタするために、ネットワークサービス200以下でより詳細に記載される。からリクエストを受信するよう実施される。例えば、リクエストは、ソフトウェア130の電力管理動作に関連する特定のアクティビティをモニタし、全ての他のアクティビティを無視するよう、受信され得る。代替的に、ソフトウェア操作性モジュール126は、ソフトウェア130の全てのアクティビティをモニタするよう実施され得る。実施形態において、ソフトウェア操作性モジュール126は、1又はそれ以上の基準に基づきモニタするソフトウェアを選択するよう実施される。1又はそれ以上の基準は、ソフトウェア操作性モジュール126自体によって生成され得、あるいは、基準は、ネットワークサービス200から受信され得る。例えば、ソフトウェア操作性モジュール126は、ランダムに、又は一連のエラーイベントのような何らかの顕著な動作を発見することによって、モニタするソフトウェアを選択するよう実施され得る。他の例として、ネットワークサービス200は、様々なコンピュータデバイスの操作性についての幅広い概観をコンパイルするために、多種多様なソフトウェアがモニタされることを確かにするようサンプリングロジックを用いてよい。次いで、ソフトウェア操作性モジュール126は、ソフトウェアアクティビティデータ132からソフトウェアのためのソフトウェア操作性シグニチャ134を生成するよう実施される。ソフトウェア操作性シグニチャ134はソフトウェアの操作性を示し、ソフトウェアアクティビティデータ132のサマリを含んでよい。例えば、ソフトウェア操作性シグニチャ134は、ソフトウェアがクラッシュして、アプリケーションタスクを終了しなかった、又はアプリケーション操作を実行することができなかったとのインジケータを含むことができる。従って、当然に、ソフトウェア操作性シグニチャ134は、ソフトウェアがモニタされる時間中に、ソフトウェアの操作性のスナップショットを提供する。実施形態において、ソフトウェア操作性モジュール126は、トリガイベントに応答して、ソフトウェアアクティビティデータ132を収集し、そしてソフトウェア操作性シグニチャ134を生成するよう実施される。トリガイベントは、ソフトウェア操作性シグニチャ134を生成するために使用されるソフトウェアアクティビティデータ132が一致することを確かにする。トリガイベントは、コンピュータデバイスの再起動のような特定のイベント、又は特定の時間若しくは時間期間であってよい。例えば、ソフトウェア操作性シグニチャ134は、コンピュータデバイスが再起動するたびに、毎日午前8時に、又は12時間ごとに、生成され得る。トリガイベントは、ソフトウェア操作性モジュール126によって決定されてよく、あるいは、トリガイベントは、ネットワークサービス200から受信されるコマンドに基づき選択されてよい。ソフトウェア操作性モジュール126は、次いで、ソフトウェア操作性シグニチャ134及び関連するコンテクストデータ136を、ソフトウェア操作性シグニチャ134を解析するネットワークサービス200へ送信するよう実施される。実施形態において、コンテクストデータ136は、他のシステム又はエンティティによって収集及び/又は通信されてよく、その場合に、ソフトウェア操作性シグニチャ134は、コンテクストデータ136に対するポインタ又は参照とともに送信されてよい。コンテクストデータ136は、ソフトウェアアクティビティデータ132が収集され、且つ、ソフトウェア操作性シグニチャ134が生成される動作環境を特定する。コンテクストデータ136は、ソフトウェアの動作に対して影響を有しうるコンピュータデバイスの設定又は動作環境に関連する如何なる情報も含んでよい。例えば、コンテクストデータ136は、ハードウェア、ファームウェア、若しくはBIOSタイプ情報、コンピュータデバイスに関連するデバイスのタイプ例えば、埋め込み型、内蔵型、及び外部デバイス、コンピュータデバイスのドライバのタイプ、及び/又はオペレーティングシステムのタイプを含んでよい。コンテクストデータ136はまた、ソフトウェアアクティビティデータ132が収集された時間に対応する時間データ、又はソフトウェアアクティビティデータ132が収集された時点におけるコンピュータデバイスの環境例えば、オペレーティングシステムのステータスに対応する環境データを含んでよい。当然に、ソフトウェアの動作は、ソフトウェアのコンテクスト又は動作環境によって大いに影響を及ぼされ得る。従って、収集されるコンテクストデータ136の質及び量は、ネットワークサービス200によるソフトウェア操作性シグニチャ134の解析に影響を与えうる。例えば、ソフトウェア又はデバイスは、ARMシステムにおける場合とは対照的に、32ビットシステムにおいて異なったように動作することがある。同様に、デバイスは、同じコンピュータデバイスで動作する同じデバイスの2又はそれ以上が存在する場合に、異なったように動作することがある。然るに、コンテクストは、ソフトウェア操作性シグニチャ134に影響を与えうる。従って、夫々のシグニチャに関連付けられ得る更なるコンテクストデータはより良く、これは、ネットワークサービス200によるシグニチャのバックエンド解析を助ける。ソフトウェア操作性モジュール126は、通信ネットワーク138を介してネットワークサービス200と通信することができる。通信ネットワーク138は、ソフトウェア操作性シグニチャ134の通信及び分配を助ける有線及び/又は無線ネットワークを有するよう実施され得る。通信ネットワーク138はまた、如何なるタイプのネットワークトポロジ及び/又は通信プロトコルを用いても実施され得、2又はそれ以上のネットワークの組み合わせとして表され又は別なふうに実施され得る。通信ネットワーク138はまた、通信サービスプロバイダ、携帯電話プロバイダ、及び/又はインターネットサービスプロバイダのようなモバイルオペレータによって管理されるモバイルオペレータネットワークを有してよい。モバイルオペレータは、如何なるタイプの無線デバイス又は携帯電話のためのモバイルデータ及び/又はボイス通信例えば、セルラー、VoIP、WiFi、等も促進することができる。様々な実施形態において、ソフトウェア130は、オペレーティングシステムカーネル128との通信を介して対応するデバイス142を制御するよう実施されるデバイスドライバ140を有する。デバイス142の例として、キーボード、スピーカ、プリンタ、ユニバーサルシリアルバスUSB記憶装置、ウェブカメラ、及びコンピュータデバイス102とインタフェース接続することができるあらゆる他のタイプのハードウェアデバイスがある。実施形態において、ソフトウェア操作性モジュール126は、ソフトウェアアクティビティデータ132を収集するようデバイスドライバとオペレーティングシステムカーネル128との間の通信を受動的にモニタするモニタリングモジュール144を用いてデバイスドライバ140をモニタするよう実施される。モニタリングモジュール144は、デバイスドライバ140に対応するソフトウェアアクティビティデータ132を収集するようデバイスドライバ140とオペレーティングシステムカーネル128との間の通信を受動的にモニタするシムshimとして構成されてよい。ここで記載されるように、受動的にモニタするとは、デバイスドライバ140とオペレーティングシステムカーネル128との間の通信に干渉することなくモニタすることをいう。ソフトウェア操作性モジュール126は、次いで、デバイスドライバ140に対応するソフトウェアアクティビティデータ132からソフトウェア操作性シグニチャ134を生成するよう実施される。例えば、ソフトウェア操作性シグニチャ134は、デバイスドライバがクラッシュし、終了しなかったか又は機能しなくなったとのインジケータを含むことができる。デバイスドライバの動作不具合は、例えば、デバイスドライバが、要求された電力状態に入ることができず、コンピュータデバイスの最適なバッテリ寿命に満たないことをもたらすことで、オペレーティングシステムカーネル128からのコマンドに適切に応答することができなかった事例を含むことができる。ソフトウェア操作性シグニチャ134は、デバイスドライバがモニタされる時間中に、デバイスドライバの操作性のスナップショットを提供する。次いで、ソフトウェア操作性モジュール126は、上述されたように、ソフトウェア操作性シグニチャ134を解析するネットワークサービス200へ、デバイスドライバに対応するソフトウェア操作性シグニチャ134を送信する。図2は、ここで記載される実施形態に従うネットワークサービス200の例を表す。ネットワークサービスはデータ通信インタフェース202を有する。データ通信インタフェース202を介して、ソフトウェア操作性シグニチャ204及び関連するコンテクストデータ206は、図1を参照して記載されたようにコンピュータデバイス102から受信される。ネットワークサービス200はまた、ネットワークサービスの動作を制御するよう様々なコンピュータ実行可能命令を処理する1又はそれ以上のプロセッサ例えば、マイクロプロセッサ、コントローラ、等のいずれかを有することができる。ネットワークサービス200はまた、データ記憶を可能にするメモリ210例えば、1又はそれ以上のコンピュータ可読記憶媒体デバイスを有する。メモリ210は、如何なるタイプのメモリ、記憶媒体、及び/又は適切な電子データ記憶としても実施され得る。ネットワークサービス200はまた、図6に示されるデバイスの例を参照して更に記載されるように、如何なる数及び組み合わせの異なる構成要素によっても実施され得る。ネットワークサービス200はまた、ソフトウェアアプリケーションのようなコンピュータ実行可能命令として実施され、ここで記載される様々な実施形態を実施するよう1又はそれ以上のプロセッサ208によって実行され得るソフトウェア操作性サービス212を有する。ソフトウェア操作性サービス212は、コンピュータデバイス102からソフトウェア操作性シグニチャ204及び関連するコンテクストデータ206を受信するよう実施される。図1を参照して記載されたように、ソフトウェア操作性シグニチャ204は、コンピュータデバイス102で動作するソフトウェア130の操作性を示す。実施形態において、ソフトウェア操作性サービス212は、通常のソフトウェア動作を示すベースライン操作性シグニチャ214を決定するよう実施される。ベースライン操作性シグニチャ214を生成するよう、ソフトウェア操作性サービス212は、更なるコンピュータデバイス102から受信される更なるソフトウェア操作性シグニチャ204をグループ化することができる。更なるソフトウェア操作性シグニチャ204の夫々は、更なるコンピュータデバイスで動作するソフトウェア130の操作性を示す。次いで、ソフトウェア操作性サービス212は、更なるソフトウェア操作性シグニチャ204からベースライン操作性シグニチャ214を生成することができ、ベースライン操作性シグニチャ214は通常のソフトウェア動作を示す。ベースライン操作性シグニチャ214は、更なるソフトウェア操作性シグニチャ204が生成されるコンテクストの関数であってよい。例えば、ベースライン操作性シグニチャ214は、コンピュータデバイス102のアーキテクチャ、デバイスの性能、及び/又は解析のために選択されるデバイスの特性を含みうるコンテクストに基づき生成され得る。実施形態において、ベースライン操作性シグニチャ214は、ソフトウェア130が同じ又は類似する動作環境において動作している場合に、及び/又は同じ又は類似するソフトウェアアクティビティがモニタされる場合に、通常のソフトウェア動作を示す。例えば、ベースライン操作性シグニチャ214は、ソフトウェア操作性シグニチャに関連するコンテクストデータと同じ又は類似するコンテクストデータに関連付けられる更なるソフトウェア操作性シグニチャをグループ化することによって、動的に生成されてよい。これは、コンピュータデバイス102のコンテクスト又は動作環境がソフトウェア操作性シグニチャ204とベースライン操作性シグニチャ214との比較に影響を及ぼさないことを提供する。例えば、最低限のBIOSバージョンを必要とするディスプレイドライバは、より古いBIOSバージョンを備えたコンピュータデバイスで不十分に動作するが、新しいBIOSバージョンを備えたシステムにおいて適切に動作することができる。従って、ソフトウェア操作性シグニチャが新しいBIOSを有するコンピュータデバイスから生成され、ベースライン操作性シグニチャがより古いBIOSバージョンを有するコンピュータデバイスに関する更なるソフトウェア操作性シグニチャから生成される場合は、比較は的確ではない。然るに、ディスプレイドライバについてソフトウェア操作性シグニチャとベースライン操作性シグニチャとを比較する場合に、ソフトウェア操作性シグニチャ及びベースライン操作性シグニチャは両方とも、新しいBIOSバージョンを有するコンピュータデバイスから生成される。代替的に、あるいは、同じ又は類似するコンテクストデータに関連付けられることに加えて、ソフトウェア操作性シグニチャ及び更なるソフトウェア操作性シグニチャは、ソフトウェアの同じ又は類似するアクティビティをモニタすることから生成されてよい。例えば、ソフトウェア操作性シグニチャが電力管理動作に関するアクティビティをモニタすることによって生成される場合は、ベースライン操作性シグニチャを生成するために使用される更なるソフトウェア操作性シグニチャは、電力管理動作に関するアクティビティをモニタすることによって更に生成されることに基づき、グループ化され得る。然るに、ベースライン操作性シグニチャを生成するために使用される更なるソフトウェア操作性シグニチャは、正確なベースライン操作性シグニチャを生成するために同じ又は類似するコンテクストデータを有するか又は同じ若しくは類似するアクティビティをモニタすることから生成される1又はそれ以上に基づき、グループ化され得る。ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204をソフトウェアのベースライン操作性シグニチャ214と比較して、ソフトウェアがベースライン操作性シグニチャ214と整合して又はベースライン操作性シグニチャ214と不整合に動作しているかどうかを決定するよう実施される。ベースライン操作性シグニチャ214は通常のソフトウェア動作を示す。然るに、ソフトウェア操作性シグニチャ204をベースライン操作性シグニチャ214と比較することによって、ネットワークサービス200は、ソフトウェアが通常のソフトウェア動作又は挙動と整合して又は不整合に動作しているかどうかを決定することができる。例えば、ソフトウェア操作性サービス212は、データチャートにおいてベースライン操作性シグニチャ214とともにソフトウェア操作性シグニチャ204をグラフにし、それらのシグニチャを統計的に解析して、ソフトウェアがベースライン操作性シグニチャ214と整合して又は不整合に動作しているかどうかを決定することができる。例えば、ソフトウェア操作性シグニチャ204がベースライン操作性シグニチャ214にマッピングする場合は、ソフトウェア操作性サービス204は、ソフトウェアがベースライン操作性シグニチャ214と整合して動作していると決定する。代わりに、ソフトウェア操作性シグニチャ204がベースライン操作性シグニチャ214にマッピングしない場合は、ソフトウェア操作性サービス204は、ソフトウェアがベースライン操作性シグニチャ214と不整合に動作していると決定することができる。実施形態において、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204に基づき、ソフトウェア130がベースライン操作性シグニチャ214と不整合に動作していると決定し、次いで、ベースライン操作性シグニチャ214と不整合に動作しているソフトウェア130が通常のソフトウェア動作に対応すると決定することができる。例えば、コンピュータデバイスの更新は、ソフトウェアを異なるふうに動作させることがあり、これは、ソフトウェア操作性シグニチャを変化させうる。しかし、幾つかの場合に、ソフトウェアの異なる動作は、ソフトウェアの許容できる又はより良い動作に対応することがある。そのような場合に、従って、異なるソフトウェア操作性シグニチャは通常のソフトウェア動作に対応してよい。然るに、ソフトウェア操作性サービス212は、次いで、ソフトウェアについて受信されたソフトウェア操作性シグニチャに基づきソフトウェアの新たなベースライン操作性シグニチャ214を生成するよう実施される。他の実施形態において、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204に基づき、ソフトウェア130がベースライン操作性シグニチャ214と不整合に動作していると決定し、次いで、ソフトウェア操作性シグニチャ204を解析してソフトウェアの動作不具合を決定することができる。ソフトウェアの動作不具合は、適切に動作するソフトウェアの不具合に対応することができる。ソフトウェアの動作不具合を決定するよう、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204がソフトウェアの不具合を示すかどうかを決定するよう、不整合動作に対応するソフトウェア操作性シグニチャ204を解析する。例えば、ソフトウェア操作性シグニチャ204は、ソフトウェアがクラッシュしたか又は特定のコマンドの実行を終了しなかったことを示してよい。他の例として、ソフトウェア操作性シグニチャ204は、オペレーティングシステムカーネル128によって電力状態を変更するよう要求される場合にデバイスドライバが電力状態を変更することができなかったことを示してよい。他の実施形態では、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204に基づき、ソフトウェア130がベースライン操作性シグニチャ214と不整合に動作していると決定し、次いで、ソフトウェア操作性シグニチャ204を解析してソフトウェアの動作退行を決定することができる。ソフトウェアの動作退行は、ソフトウェアの操作性がオペレーティングシステムの更新又はサービスパックの更新といったコンピュータデバイスの更新に応答して後戻りする例えば、ソフトウェアの性能が低下する。事例をいう。動作退行は、コンピュータデバイスの更新の後に受信されたソフトウェア130のソフトウェア操作性シグニチャ204を、コンピュータデバイスの更新の前に生成されたベースライン操作性シグニチャ214と比較することによって、特定され得る。例えば、サービスパックの更新の後に受信されたソフトウェア操作性シグニチャ204は、サービスパックの更新の前に生成されたベースライン操作性シグニチャ214と同じか又は略同じであるべきである。しかし、ソフトウェア操作性シグニチャ204がサービスパックの更新後にベースライン操作性シグニチャ214と異なる場合は、ソフトウェア操作性シグニチャ204は、ソフトウェア操作性シグニチャ204が、動作退行を示すソフトウェアの性能における低下に対応するかどうかを確認するよう、調べられ得る。例えば、プリンタドライバについてのソフトウェア操作性シグニチャを解析することによって、ソフトウェア操作性サービス212は、プリンタドライバが、より古いバージョンのオペレーティングシステムを実行する場合に、印刷処理の特定のステップの間、5の時間機能しなくなると決定してよい。しかし、ソフトウェア操作性シグニチャ204は、より新しいバージョンのオペレーティングシステムがインストールされる場合に、プリンタドライバが、印刷処理の特定のステップを実行する場合に、20の時間機能しなくなることを示してよい。プリンタドライバがより新しいバージョンのオペレーティングシステムによりますます機能しなくなるという事実は、プリンタドライバの性能がオペレーティングシステムのアップグレードに応答して低下又は退行したことを示す。ソフトウェア操作性サービス212は、次いで、ソフトウェア操作性シグニチャ204とベースライン操作性シグニチャ214との比較からソフトウェア130の動作不具合又は動作退行の原因を決定するよう実施される。例えば、ソフトウェア操作性サービス212は、ソフトウェアの動作不具合又は動作退行の原因を決定するよう、ソフトウェアに関連するコンテクストデータ206を調べることができる。ソフトウェア操作性サービス212は、次いで、ソフトウェア130の動作不具合又は動作退行を抑制するソリューションを起動するよう実施される。例えば、ソフトウェア操作性サービス及び/又は他のサービス若しくは処理は、動作不具合又は動作退行を抑制するソフトウェアソリューションを起動することができる。例えば、ソフトウェアソリューションは起動されて、より新しいバージョンのオペレーティングシステムとの互換性のためにプリンタドライバを更新する。次いで、ソリューションは、コンピュータデバイスでのソフトウェアの動作不具合又は動作退行を抑制するようコンピュータデバイス102へ通信ネットワーク138を介して送信され得る。代替的に、又は追加的に、動作不具合又は動作退行に関する情報は、ソフトウェアの製造者又は開発者すなわち、他の第三者機関へ送信されて、第三者機関がソフトウェアの動作不具合又は動作退行を抑制するソリューションを開発することができるようにすることができる。ソフトウェア操作性サービス212はまた、動作不具合又は動作退行が後に検出される場合にそのソリューションによるコンピュータデバイスの自動更新を開始するよう、動作不具合又は動作退行に対応するソフトウェア操作性シグニチャ204にタグ付けすることができる。例となる方法300,400及び500は、ソフトウェア操作性サービスの1又はそれ以上の実施形態に従って、夫々図3,4及び5を参照して記載される。概して、ここで記載されるサービス、機能、方法、手順、構成要素、及びモジュールのいずれも、ソフトウェア、ファームウェア、ハードウェア例えば、固定ロジック回路、手動処理、又はそれらの何らかの組み合わせを用いて実施され得る。ソフトウェア実施は、コンピュータプロセッサによって実行される場合に特定のタスクを実行するプログラムコードを表す。例となる方法は、概してコンピュータ実行可能命令に関連して記載される。かかる命令は、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、プロシージャ、モジュール、関数、等を含むことができる。プログラムコードは、コンピュータプロセッサの近く及び/又は遠くの1又はそれ以上のコンピュータ可読記憶媒体デバイスにおいて記憶され得る。方法はまた、複数のコンピュータデバイスによる分散型コンピュータ環境において実施されてよい。更に、ここで記載される特徴は、プラットフォーム独立型であり、様々なプロセッサを有する様々なコンピュータプラットフォームにおいて実施され得る。図3は、ソフトウェア操作性サービスの方法300の例を表し、コンピュータデバイスで実施されるソフトウェア操作性モジュールを参照して記載される。方法ブロックが記載される順序は、限定として解されるよう意図されず、如何なる数の記載される方法ブロックも、方法又は代替の方法を実施するよう如何なる順序においても組み合わされ得る。ブロック302で、ソフトウェアは、ソフトウェアアクティビティデータを収集するためにモニタされる。例えば、コンピュータデバイス102にあるソフトウェア操作性モジュール126図1は、ソフトウェアアクティビティデータ132を収集するようソフトウェア130をモニタする。ブロック304で、ソフトウェアのためのソフトウェア操作性シグニチャがソフトウェアアクティビティデータから生成される。例えば、ソフトウェア操作性モジュール126は、ソフトウェア130のためのソフトウェア操作性シグニチャ134をソフトウェアアクティビティデータ132から生成する。ブロック306で、ソフトウェア操作性シグニチャ及び関連するコンテクストデータが、ソフトウェア操作性シグニチャを解析するネットワークサービスへ送信される。例えば、ソフトウェア操作性モジュール126は、ソフトウェア操作性シグニチャ134及び関連するコンテクストデータ136を、ソフトウェア操作性シグニチャを解析するネットワークサービス200図2へ送信する。図4は、ソフトウェア操作性サービスの方法400の例を表し、図2に示されるネットワークサービスを参照して記載される。方法ブロックが記載される順序は、限定として解されるよう意図されず、如何なる数の記載される方法ブロックも、方法又は代替の方法を実施するよう如何なる順序においても組み合わされ得る。ブロック402で、ソフトウェア操作性シグニチャ及び関連するコンテクストデータがコンピュータデバイスから受信される。例えば、ネットワークサービス200図2は、コンピュータデバイス102図1からソフトウェア操作性シグニチャ204及び関連するコンテクストデータ206を受信する。ソフトウェア操作性シグニチャは、コンピュータデバイスで動作するソフトウェア130の操作性を示す。ブロック404で、更なるコンピュータデバイスから受信される更なるソフトウェア操作性シグニチャがグループ化される。例えば、ソフトウェア操作性サービス212は、更なるコンピュータデバイス104から受信される更なるソフトウェア操作性シグニチャ204をグループ化する。更なるソフトウェア操作性シグニチャの夫々は、更なるコンピュータデバイスで動作するソフトウェアの操作性を示す。更に、更なるソフトウェア操作性シグニチャの夫々は、ソフトウェア操作性シグニチャに関連するコンテクストデータと同じ又は類似するコンテクストデータに関連付けられてよい。ブロック406で、ベースライン操作性シグニチャが、更なるソフトウェア操作性シグニチャから生成される。例えば、ソフトウェア操作性サービス212は、更なるソフトウェア操作性シグニチャからベースライン操作性シグニチャ214を生成する。実施形態において、ベースライン操作性シグニチャは、更なるソフトウェア操作性シグニチャが生成されるコンテクストの関数であってよい。例えば、ベースライン操作性シグニチャは、コンピュータデバイスのアーキテクチャ、デバイスの性能、及び/又は解析のために選択されるデバイスの特性を含んでよいコンテクストに基づき生成され得る。ブロック408で、ソフトウェア操作性シグニチャは、ソフトウェアがベースライン操作性シグニチャと整合し又は不整合に動作しているかどうかを決定するために、ソフトウェアのベースライン操作性シグニチャと比較される。例えば、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204をソフトウェアのベースライン操作性シグニチャ214と比較して、ソフトウェアがベースライン操作性シグニチャと整合して又は不整合に動作しているかどうかを決定する。図5は、ネットワークサービスの方法500の例を表し、図2に示されるソフトウェア操作性サービスを参照して記載される。方法ブロックが記載される順序は、限定として解されるよう意図されず、如何なる数の記載される方法ブロックも、方法又は代替の方法を実施するよう如何なる順序においても組み合わされ得る。ブロック502で、ソフトウェア操作性シグニチャに基づき、ソフトウェアがベースライン操作性シグニチャと不整合に動作していると決定される。例えば、ソフトウェア操作性サービス212図2は、ソフトウェア操作性シグニチャ204に基づき、ソフトウェア130がベースライン操作性シグニチャ214と不整合に動作していると決定する例えば、ブロック408図4を参照して記載される比較に基づき決定されてよい。。ソフトウェアがベースライン操作性シグニチャと不整合に動作しているとの決定に応答して、方法は任意にブロック504又はブロック508に続くことができる。実施形態において、ブロック504で、ベースライン操作性シグニチャと不整合に動作しているソフトウェアが通常のソフトウェア動作に対応すると決定される。例えば、ソフトウェア操作性サービス212は、たとえソフトウェア操作性がベースライン操作性シグニチャと不整合であるとしても、ソフトウェア130の操作性が通常のソフトウェア動作に対応すると決定する。ブロック506で、新たなベースライン操作性シグニチャが、ソフトウェアについて受信されたソフトウェア操作性シグニチャに基づき生成される。例えば、ソフトウェア操作性サービス212は、ソフトウェア130について受信されたソフトウェア操作性シグニチャ204に基づき、新たなベースライン操作性シグニチャ214を生成する。他の実施形態では、ブロック508で、ソフトウェア操作性シグニチャは、ソフトウェアの動作不具合又は動作退行を決定するために解析される。例えば、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204を解析して、ソフトウェア130の動作不具合又は動作退行を決定する。ブロック510で、ソフトウェアの動作不具合又は動作退行の原因が、ソフトウェア操作性シグニチャとベースライン操作性シグニチャとの比較から決定される。例えば、ソフトウェア操作性サービス212は、ソフトウェア操作性シグニチャ204とベースライン操作性シグニチャ214との比較から、ソフトウェア130の動作不具合又は動作退行の原因を決定する。更に、ベースライン操作性シグニチャのコンテクストは、ソフトウェアの動作不具合又は動作退行を決定する場合に考慮される因子であってよい。ブロック512で、ソフトウェアの動作不具合又は動作退行を抑制するソリューションが起動される。例えば、ソフトウェア操作性サービス212は、ソフトウェア130の動作不具合又は動作退行を抑制するソリューションを起動する。図6は、図1乃至5を参照して記載されたデバイス又はデバイスによって実施されるサービスのいずれかとして実施され得るデバイス600の例の様々な構成要素を表す。実施形態において、デバイスは、あらゆる形態のコンシューマ、コンピュータ、サーバ、ポータブル、ユーザ、通信、電話、ナビゲーション、テレビジョン、器具、ゲーム、メディア再生、及び/又は電子機器において、固定又は移動式デバイスのいずれか1つ又は組み合わせとして実施されてよい。デバイスはまた、デバイスがユーザ、ソフトウェア、ファームウェア、ハードウェア、及び/又はデバイスの組み合わせを含む論理デバイスを表すようにデバイスを操作するユーザすなわち、人及び/又はエンティティに関連付けられてよい。デバイス600は、受信されたデータ、受信されているデータ、放送のためにスケジューリングされているデータ、データのデータパケット、等のようなデバイスデータ604の有線及び/又は無線通信を可能にする通信デバイス602を有する。デバイスデータ604又は他のデバイスコンテンツは、デバイスのコンフィギュレーション設定、デバイスに記憶されるメディアコンテンツ、及び/又はデバイスのユーザに関連する情報を含むことができる。デバイスに記憶されるメディアコンテンツは、如何なるタイプのオーディオ、ビデオ、及び/又は画像データも含むことができる。デバイス600は、1又はそれ以上のデータ入力部606を有する。データ入力部606を介して、ユーザ選択可能な入力、メッセージ、通信、音楽、テレビジョンコンテンツ、録画ビデオコンテンツ、並びにあらゆるコンテンツ及び/又はデータ源から受信されるあらゆる他のタイプのオーディオ、ビデオ、及び/又は画像データのような如何なるタイプのデータ、メディアコンテンツ、及び/又は入力も受信され得る。デバイス600は、シリアル、パラレル、ネットワーク、又は無線インタフェースのいずれか1つ又はそれ以上のような通信インタフェース608を更に有する。通信インタフェース608は、デバイス600と通信ネットワークとの間の接続及び/又は通信リンクを提供し、それによって、他の電子、コンピュータ、及び通信デバイスはデバイス600とデータをやり取りする。デバイス600は、デバイスの動作を制御するよう様々なコンピュータ実行可能命令を処理する1又はそれ以上のプロセッサ610例えば、マイクロプロセッサ、コントローラ、等のいずれかを有する。代替的に、又は追加的に、デバイス600は、概して612で特定される処理及び制御回路に関連して実施されるソフトウェア、ハードウェア、ファームウェア、又は固定ロジック回路のいずれか1つ又は組み合わせにより実施され得る。図示されていないが、デバイス600は、デバイス内の様々な構成要素を結合するシステムバス又はデータ伝送システムを有することができる。システムバスは、メモリバス若しくはメモリコントローラ、ペリフェラルバス、ユニバーサルシリアルバス、及び/又は様々なバスアーキテクチャのいずれかを利用するプロセッサ若しくはローカルバスのような異なるバス構造のいずれか1つ又は組み合わせを有することができる。デバイス600は、ランダムアクセスメモリRAM、不揮発性メモリ例えば、読出専用メモリROM、フラッシュメモリ、等、及びディスク記憶デバイスのような、データ記憶を可能にする1又はそれ以上のメモリデバイス例えば、コンピュータ可読記憶媒体614を更に有する。ディスク記憶デバイスは、ハードディスクドライブ、書込及び/又は書換可能ディスク、等のような如何なるタイプの磁気的又は光学的記憶デバイスとしても実施されてよい。コンピュータ可読媒体は、コンピュータデバイスによってアクセスされる如何なる利用可能な媒体であってもよい。限定されない例として、コンピュータ可読媒体は、記憶媒体及び通信媒体を有してよい。記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータのような情報の記憶のための如何なる方法又は技術においても実施される揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタルバーサタイルディスクDVD若しくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶デバイス、又は情報を記憶するために使用され得且つコンピュータによってアクセスされ得る如何なる他の媒体も含むが、それらに限られない。通信媒体は、通常、搬送波又は他の伝送メカニズムのような変調データ信号においてコンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを具現する。通信媒体はまた、如何なる情報送達媒体も含む。語変調データ信号は、信号に含まれる情報を符号化するように変更された又はその特定の組の1若しくはそれ以上を有する信号を意味する。限定されない例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、アコースティック、RF、赤外線、及び他の無線媒体のような無線媒体とを含む。メモリデバイス614は、デバイスデータ604、他のタイプの情報及び/又はデータ、並びに様々なデバイスアプリケーション616を記憶するようデータ記憶メカニズムを提供する。例えば、オペレーティングシステム618は、メモリデバイスによりソフトウェアアプリケーションとして保持されて、プロセッサで実行され得る。デバイスアプリケーションはまた、あらゆる形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理及び制御モジュール、特定のデバイスを原産とするコード、特定のデバイスのためのハードウェアアブストラクションレイヤ、等のようなデバイスマネージャを含んでよい。この例では、デバイスアプリケーション616は、例えばデバイス600がコンピュータデバイスとして実施される場合に、ソフトウェア操作性モジュール620を含む。代替的に、又は追加的に、デバイスアプリケーション616は、例えばデバイス600が図2を参照して記載されたネットワークサービスとして実施される場合に、ソフトウェア操作性サービス622を含む。ソフトウェア操作性モジュール620及びソフトウェア操作性サービス622は、ソフトウェア及び/又はコンピュータアプリケーションとして示される。代替的に、又は追加的に、ソフトウェア操作性モジュール620及び/又はソフトウェア操作性サービス622は、ハードウェア、ソフトウェア、ファームウェア、固定ロジック、又はそれらの何らかの組み合わせとして実施され得る。デバイス600は、オーディオシステム626のためのオーディオデータを生成し及び/又はディスプレイシステム628のためのディスプレイデータを生成するオーディオ及び/又はビデオ処理システム624を更に有する。オーディオシステム626及び/又はディスプレイシステム628は、オーディオ、ビデオ、ディスプレイ、及び/又は画像データを処理し、表示し、及び/又は別なふうにレンダリングする如何なるデバイスも有してよい。ディスプレイデータ及びオーディオ信号は、RF無線周波数リンク、S-ビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、DVIデジタルビデオインタフェース、アナログオーディオ接続、又は他の同様の通信リンクを介してオーディオデバイス及び/又はディスプレイデバイスへ送信され得る。実施において、オーディオシステム626及び/又はディスプレイシステム628は、デバイス600の外部構成要素である。代替的に、オーディオシステム626及び/又はディスプレイシステム628は、例となるデバイス600の組み込み型構成要素である。ソフトウェア操作性サービスの実施形態は特徴及び/又は方法に特有の言語において記載されてきたが、添付の特許請求の範囲の対象は必ずしも、記載される特定の特徴又は構成に限定されない。むしろ、特定の特徴及び方法は、ソフトウェア操作性サービスの例となる実施として開示される。"