サーバーコンピュータにおいて、複数の装置のうちの一装置からネットワークを介し、前記複数の装置に利用可能な特定された資源のリストを受信することと、前記特定された資源のリストに基づき、前記複数の装置のうちの少なくともいくつかにより実行可能な機能を含む機能のリストを、前記複数の装置の前記一装置に提供することと、前記複数の装置の前記一装置から、前記機能のリストからの選択を受信することと、前記複数の装置の1つまたは複数の装置に、前記選択に基づき追加資源を提供することと、を含むコンピュータ化方法。前記装置は、最初の通信が前記サーバーにおいて受信される前記複数の装置の1つを含む、請求項1に記載の方法。前記複数の装置の少なくともいくつかの装置が、ホームクラスタ、カークラスタ、または別荘クラスタの少なくとも1つを含むローカルクラスタを形成するのを容易にすること、をさらに含む請求項1に記載の方法。前記容易にすることは、前記複数の装置のいくつかの装置により受信されるコンピュータプログラムを提供することを含み、ローカルクラスタの前記複数の装置は、それら自身間で、および/または他の前記ローカルクラスタと、前記資源またはコンテンツの少なくとも1つを共有する、請求項1に記載の方法。前記複数の装置のうちの一の装置に、少なくとも1つのタスクを実行するクラスタコントローラの役割を割り当てることと、現在のクラスタコントローラが利用可能でない場合に、前記複数の装置のうちの別の装置に前記クラスタコントローラの役割を割り当てることと、をさらに含む請求項1に記載の方法。その他の装置が前記現在のクラスタコントローラを検出できない場合に、前記その他の装置からクラスタコントローラとして機能する要求を受信すること、をさらに含む請求項5に記載の方法。前記複数の装置の適格性を監視して、前記複数の装置のうちの別の装置が現在のクラスタコントローラより適格である場合、前記複数の装置のうちの別の装置に前記クラスタコントローラの役割を再び割り当てること、をさらに含む請求項5に記載の方法。前記より適格である装置は、より長い使用可能時間、より多くの資源、またはより良好な性能のうちの少なくとも1つを有する、請求項7に記載の方法。特定された資源のリスト、機能のリスト、または前記複数の装置の現在の構成の少なくとも1つを格納するサーバーデータベースを設定することと、サーバーデータベースを動的に更新すること、をさらに含む請求項1に記載の方法。前記複数の装置の少なくとも1つの装置を前記サーバーコンピュータのプロキシとして機能できるようにすること、をさらに含む請求項1に記載の方法。前記少なくとも1つの装置が前記サーバーコンピュータに関連した少なくともいくつかの機能を実行するのを容易にすること、をさらに含む請求項10に記載の方法。2つ以上のローカルクラスタが資源またはコンテンツの少なくとも1つを共有するのを容易にする、請求項1に記載の方法。前記資源は、前記複数の装置の少なくとも1つに接続された外部装置に関連したソフトウェア、ハードウェア、インターフェース、データベース、または資源の少なくとも1つを含み、前記追加資源は、ライブラリ、構成ファイル、画像またはフォントのうちの少なくとも1つを含むデータベース、またはソフトウェアのうちの少なくとも1つを含む、請求項1に記載の方法。ユーザから、前記複数の装置の少なくとも1つの装置の選択された機能を受信し、前記少なくとも1つの装置が前記選択された機能を行なえるようにするために前記少なくとも1つの装置に接続される1つまたは複数の外部装置のリストを提供すること、をさらに含む請求項1に記載の方法。前記機能は、1つまたは複数の民生電子装置に関連した機能または、1つまたは複数の科学/研究機器に関連した機能の少なくとも1つを含む、請求項1に記載の方法。複数の装置のうちの一装置から、前記複数の装置に利用可能な特定された資源のリストを、ネットワークを介して受信する通信モジュールと、前記特定された資源のリストに基づき、前記複数の装置のうちの少なくともいくつかの装置により実行可能な機能を含む機能のリストを、前記複数の装置の前記一装置に提供するプロビジョニングモジュールと、を含むサーバーコンピュータを含むシステムであって、前記通信モジュールは、前記複数の装置の前記一装置から、前記機能のリストからの選択を受信し、前記プロビジョニングモジュールは、前記選択に基づき前記複数の装置の1つまたは複数の装置に追加資源を提供する、システム。前記プロビジョニングモジュールは、前記複数の装置の少なくともいくつかの装置が、ホームクラスタ、カークラスタ、または別荘クラスタの少なくとも1つを含むローカルクラスタを形成するのを容易にする、請求項16に記載のシステム。少なくとも1つのタスクを実行するクラスタコントローラの役割を、前記複数の装置のうちの一の装置に割り当てるクラスタ制御モジュールをさらに含むシステムであって、現在のクラスタコントローラが利用可能でない場合に、前記クラスタ制御モジュールは前記複数の装置のうちの別の装置に前記クラスタコントローラの役割を再び割り当てる、請求項16に記載のシステム。装置に利用可能な資源のリストを動的に特定することと、前記特定に応答してサーバーコンピュータに前記資源のリストを伝達することと、前記サーバーコンピュータから、前記資源のリストに基づき前記装置により実行可能な機能のリストを取得することと、ユーザから、前記機能のリストからの選択を受信することと、前記選択に基づき前記サーバーコンピュータから追加資源を受信することと、前記追加資源を使用することにより、前記選択された機能を実行するように前記装置を構成することと、を含む方法。前記サーバーコンピュータから取得することは、前記サーバーコンピュータから前記機能のリストを要求することと、前記要求に応答してネットワーク上で前記サーバーコンピュータから前記機能のリストを受信すること、とを含む、請求項19に記載の方法。装置の例示的な動的構成可能クラスタと、装置を動的構成する方法と、を説明する。以下の説明では、説明目的のために、例示固有な詳細を有する多くの実施例が、例示的実施形態を理解するために記載される。しかしながら、本実施例はこれらの例示固有な詳細無しにおよび/または本明細書に記載の詳細とは異なる組み合わせにより実施され得るということは当業者にとって明らかとなる。装置の動的構成可能クラスタと装置を動的構成する方法およびシステムとを含むいくつかの例示的実施形態が提供される。サーバーコンピュータでは、クラスタ化装置に利用可能な特定された資源のリストをクラスタの装置構成可能カメレオン装置configurablechameleondeviceとも呼ばれるから受信してもよい。サーバーコンピュータは、特定された資源のリストに基づき、クラスタ化装置のうちの1つまたは複数により実行可能な機能を含む機能のリストを装置に提供してもよい。機能のリストの選択はこの装置から受信してもよい。サーバーコンピュータはこの選択に基づき、クラスタ化装置のうちの1つまたは複数に追加資源を提供してもよい。例示的方法は、例えば装置が最初にオンにされた後および/または装置に利用可能な資源の変化が検出されると、例えばユニバーサルシリアルバスUSB等の外部資源が装置に接続されると最初に資源のリストを動的に特定することを含んでもよい。装置に当初利用可能な資源は、オペレーティングシステムの最初の立ち上げを実行するとともにサーバーコンピュータにネットワーク接続を提供する十分な能力を含んでもよい。いくつかの実装では、ネットワークはインターネットまたは別のネットワークを含む。通常、装置はこの時点で、ユーザにより利用される任意の機能または特徴という点で白紙状態blankである。但し、装置は、以下にさらに詳細に検討されるように様々な機能を実行するようにその資源を構成することによりそれ自体を再定義するあるいは定義されることができる。図1は、本発明の様々な実施形態による、装置140を動的構成するための例示的システム100を説明する図である。システム100は、装置140、ネットワーク130、およびサーバーコンピュータ以下サーバーとも呼ぶ120を含んでもよい。装置140は、例えば図3と図4に示すように装置140に利用し得る資源のリストを最初に特定してもよい。装置140は、例えば資源の変化を検知すると、資源のリストを動的に特定してもよい。資源の変化は、例えば、USB型装置等の装置が装置140に接続されたあるいはそれから切断された、あるいは別の装置、例えばより大きな容量のUSB型装置により置換された、ということを装置140が検知したときに発生することがある。資源の特定後、装置140はサーバー120と通信してもよい。通常、サーバー120は、例えばRovi商標CorporationofSantaClaraCaliforniaにより実施されるサービスプロバイダ等のサービスプロバイダにより維持および/または運営される。サーバー120と通信した後、装置140は、サーバー120に例えば登録番号等を介し自身の名を告げ、いくつか認証処理後、装置140に利用可能な特定された資源のリストをサーバー120に提供する。資源はハードウェアおよび/またはソフトウェア資源を含んでもよい。サーバー120は、装置120から受信された資源のリストを解析し、資源の潜在的能力に基づき、装置140に機能のリストを提供してもよい。例示的実施形態では、サーバー120は、装置140をサーバー120に接続すると、装置140に利用可能な資源を検出することができる。装置120から受信された資源のリストもまた、図7のクラスタ710に利用可能な資源に加えられ、クラスタ710の装置140に告知されてもよい。サーバー120により提供された機能のリストは構成/特徴選択肢としてユーザ150に提示されてもよい。機能のリストは、例えばテレビ、ディジタル多用途ディスクDVD再生および/または記録装置、コンパクトディスクCD再生および/または記録装置、パーソナルビデオ記録装置PVR:personalvideorecorder等の民生電子装置に関連した機能、あるいはオシロスコープまたはパルス波高分析器PHA:pulseheightanalyzer等のより高度な科学および/または研究機器の機能を含んでもよい。ユーザ150は1つまたは複数の所望の構成および/または特徴選択肢を選択してもよい。例えば、ユーザ150はPVRとして装置140の使用を望むこともある。この場合、追加資源取得後、装置140はPVRとして機能するようにその資源を構成することにより装置自身を再定義してもよい。装置140はPVRの機能を実行し、同時にユーザ150により選択された特徴例えば、制御または表示の数量およびタイプを提供してもよい。いくつかの現在利用可能な民生電子装置は、インターネットを介しサーバーから更新ファイルをダウンロードし、製造時に事前定義された機能を実行できる。1つまたは複数の所望の機能を実行するようにそれ自身を動的に再定義または構成することができる装置140に関して上述した能力および/またはユーザ150により選択された特徴は、多くの既存の装置または機器内に存在しなくてもよい。例えば、装置140のハードウェアとソフトウェア構成は例えば新しいハードウェアを加えるあるいは新しい特徴をダウンロードすることなどにより変化するので、ユーザ150に提供される利用可能な特徴のリストは動的に調整される。サーバー120により提供される装置140に利用可能な様々な資源と追加資源に関するさらなる詳細については以下に検討する。図2は、本発明の様々な実施形態による、例示的な動的構成可能装置140を説明するハイレベル図である。装置140は資源220を当初含んでもよい。既存資源220は、例えば、1つまたは複数のプロセッサを介するようなある処理パワー、あるいは例えばランダムアクセスメモリRAM等の揮発性メモリ、読み出し専用メモリROM、フラッシュメモリ等の不揮発性メモリ等の形式のあるいくらかの記憶容量を含んでもよい。既存資源220はまた、音声および/または映像入力、出力、USBインターフェース、ネットワークおよび/またはイーサネットインターフェース、公衆交換電話網PSTN:publicswitchedtelephonenetworkジャック、高解像度マルチメディアインターフェースHDMI:highdefinitionmultimediainterface、アンテナ等の1つまたは複数のインターフェースを含んでもよい。図1のサーバー120に既存資源220を報告した後、装置140はネットワーク130を介しサーバー120から追加資源240を受信してもよい。追加資源240はソフトウェアアプリケーションおよび/または1つまたは複数のデータベースを含んでもよい。データベースは、ライブラリ、構成ファイル、画像、フォントなどを含んでもよい。ソフトウェアは、資源220により実行可能な様々なアプリケーションと実行可能プログラムを含んでもよい。例示的実施形態では、アプリケーションと実行可能プログラムはまた、ライブラリとデータベースを含む追加資源240の他の部品を採用してもよい。図3は、本発明の様々な実施形態による、例示的な動的構成可能装置140を説明する図である。図3に示す例示的実施形態では、装置140に利用可能な図2の既存資源220の動的部品だけが示される。例えば、実行可能プログラム320は図1のサーバー120により変更されてもよいし、あるいはライブラリ350はある機能を装置140に備えさせるためにサーバー120により提供される追加資源の一部であってもよい。構成360は、サーバー120により提供または更新される構成ファイルを含んでもよい。構成360はまた、装置140の現在の構成をいくつかの構成ファイル内に保存してもよい。装置140に追加する機能および/または特徴を提供するために、補助資源370が装置140に接続される。場合によっては、補助資源370は装置140の内部に接続される。例えば、補助資源370は、装置140に接続された、いくつかの内部および/または外部インターフェースカード含んでもよい。補助資源370の技術仕様はサーバー120に報告されてもよい。サーバー120は、補助資源370の追加能力に基づき、ドライバーおよび/またはライブラリ例えば、ダイナミックリンクライブラリDLL等の実行可能プログラムを装置140に提供し、装置140が新しい機能を行なえるようにする。図4は、本発明の様々な実施形態による、動的構成可能装置140の例示的モジュール400を説明するブロック図である。装置140は、識別モジュール410、インターフェースモジュール420、ユーザーインターフェース装置430、構成モジュール440、データベースサーバー450、データベース460、ネットワークインターフェース装置470、および他のインターフェース装置480を含んでもよい。装置140はネットワーク130を介しサーバー120に接続されてもよい。識別モジュール410は、装置140に当初利用可能な図1の既存資源220のリストを特定することが好ましい。しかしながら識別モジュール410は動的に機能してもよく、例えば、図3の補助資源370等の外部装置が例えば装置140に接続される場合、識別モジュール410が外部装置を特定し、図2の既存資源220のリストを更新してもよい。識別モジュール410はさらに、図2の既存資源220の技術仕様を検出し、構成モジュール440、データベースサーバー450および/またはネットワークインターフェース装置470に、技術仕様に関連するまたはそれを特定する情報を提供することが好ましい。ネットワークインターフェース装置470は、図2の既存資源220のリストをネットワーク130を介しサーバー120に伝達してもよい。ネットワークインターフェース装置470はまた、サーバー120に機能のリストの要求を伝達してもよい。サーバー120は、資源220のリストを解析し、資源220の能力および容量に基づき、装置140が実行できる機能のリストを作成してもよい。機能のリストはネットワークインターフェース装置470により受信され、データベースサーバー450に渡されデータベース460内に格納される。インターフェースモジュール420は、データベース460の機能のリストを取得し、インターフェースをユーザーインターフェース装置430に提供してもよい。インターフェースは、図1のユーザ150に提示される機能および/または特徴選択肢を含んでもよい。ユーザーインターフェース装置430は、ユーザ150にユーザーインターフェースを表示してもよい。ユーザ150は、表示された機能および/または特徴選択肢の1つまたは複数を選択してもよい。選択された機能および/または特徴選択肢は、ネットワークインターフェース装置470によりサーバー120に伝達される。サーバー120は図2の追加資源240を装置140に提供してもよい。追加資源240と既存資源220を使用して、装置140はユーザ150により望まれる機能と特徴を実行すると有利である。他のインターフェース装置480は、音声および/または映像入力、出力、USBインターフェース、ネットワークインターフェース、イーサネットインターフェース、PSTNジャック、HDMI、アンテナ、無線ネットワークインターフェース等を含んでもよい。サーバー120に特定されると、他のインターフェース装置480のそれぞれは、ある機能を装置140に提供するための解決策の一部となり得る。図2の追加資源240が装置140により取得されると、構成モジュール440は、図1のユーザ150により選択された機能を実行するように装置140を構成してもよい。構成モジュール440はまた、装置140の現在の構成をデータベース460内に格納することが好ましい。現在の構成は、ユーザ150が限られた時間の間、例えば週末にわたって使用する一時的構成であってもよい。その時間の後、ユーザは、その機能がサーバー120により提供される限り、異なる機能を選択するか、それに切り替えてもよい。このような一時的サービスは、サービスプロバイダの、例えば図7のクラスタ710の装置140の機能を借りる能力を促進することができる。多くのCE装置は、ハッカーが装置に進入し、実行ファイルとライブラリを特定し、装置のリバースエンジニアをすることを許し得る操作を使用する。例示的実施形態は、環境設定、実行ファイル、ライブラリを格納するデータベース460を使用することにより、このようなハッカー行為から装置140を保護してもよい。別の例示的実施形態では、データベース460はさらに、格納された特徴を暗号化することにより装置140を保護してもよい。いくつかの実施形態は構造化照会言語SQL:structuredquerylanguageデータベースを採用する。装置140が構成されると、ユーザ150は、例えば図3の補助資源370の1つまたは複数を実装する新しいハードウェアを追加してもよい。ユーザ150はさらに、装置140が実行できる機能をアップグレードしてもよい。例えば、ユーザ150は、サーバー120から新しい機能および/または特徴をダウンロードしてもよい。特定のケースでは、ユーザ150は、例えばデジタルテレビを含む装置140にUSB装置を接続する。次に、ユーザ150は、ユーザによるPVR機能の使用のために、テレビをPVRとして構成すると有利である。別の構成が、遠隔地でおよび/または限られた時間の間発生してもよい。例えば、ユーザ150が海岸別荘または別の一時的滞在場所を訪れている間にソフトウェアを借りることができるように、テレビとPVRの組合せ装置のための別の構成が週末中に存在してもよい。構成モジュール440は、外部装置が装置140から切断および/または除去された後、外部装置例えばUSB装置に関連する資源に関係する機能を自動的に無効にしてもよい。例示的実施形態では、ユーザ150は装置140内のある追加機能を望むこともあるが、装置140がどのようにその機能を実行できるか分からない。ユーザ150は、所望の機能要求をユーザーインターフェース装置430に伝達する。ユーザーインターフェース装置は所望の機能要求をネットワークインターフェース装置470に渡し、次にネットワークインターフェース装置470は所望の機能要求をサーバー120に伝達してもよい。サーバー120は所望の機能要求を解析し、所望の機能を実行するために装置140に接続される1つまたは複数の外部装置のリストをネットワークインターフェース装置470に提供してもよい。ユーザーインターフェース装置430は、1つまたは複数の外部装置のリストを受信し、このリストをユーザ150に伝達してもよい。1つまたは複数の外部装置が装置140に接続されると、構成モジュール440は所望の機能を実行するように装置140を構成する。いくつかの実施形態では、サーバー120は、装置140が十分な能力を欠くかあるいは要求された機能を支援するための要件を辛うじて満たす場合、あり得る性能問題に関してユーザ150に警告を発する。例えば、ユーザ150は、装置140が唯一の利用可能なメモリとしてフラッシュメモリおよび/または着脱式メモリスティックを有する場合にPVR機能を要求してもよい。サーバー120は、データベースに格納された履歴データおよび/または顧客フィードバックに基づき、ユーザ150に、ユーザ経験の潜在的悪化について警告してもよい。図5は、本発明の様々な実施形態による、装置140を動的構成する例示的方法500を説明する流れ図である。図5に示すように、方法500は操作510で始まり、ここでは図4の識別モジュール410が図1の装置140に利用可能な図2の既存資源220のリストを動的に特定する。操作520では、特定に応答して、ネットワークインターフェース装置470は図1のネットワーク130上でサーバー120に既存資源220のリストを伝達してもよい。操作525では、サーバー120は装置140から既存資源220のリストを受信する。サーバー120は、資源220のリストに基づき機能のリストを作成するために、装置120に利用可能な既存資源220のリストを解析してもよい。操作530では、サーバー120は装置140に機能のリストを提供してもよい。いくつかの実施形態では、サーバー120は、特定された資源220のリスト、機能のリスト、および装置140の現在の構成を格納するためのデータベースを生成する。サーバー120はデータベースを動的に更新してもよい。サーバー120は、ユーザ150に提示するための宣伝用資料を装置140に提供してもよい。促進資料は、装置140により実行可能な様々な機能をユーザ150に促進する宣伝の形式であってよい。操作535では、ネットワークインターフェース装置470は、ネットワーク130上でサーバー120から機能のリストを受信してもよい。ネットワークインターフェース装置470は、図4のデータベース460に格納するために、図4のデータベースサーバー450に機能のリストを渡してもよい。図4のユーザーインターフェースモジュール420は、データベース460から機能のリストを取得し、提示可能なフォーマットで機能のリストを示すインターフェースを作成してもよい。操作540では、図4のユーザーインターフェース装置430は、ユーザ150にインターフェースを表示し、機能のリストからユーザ150によりなされた選択を受信してもよい。ネットワークインターフェース装置470はこの選択をネットワーク130上でサーバー120に伝達してもよい。操作545では、サーバー120はネットワークインターフェース装置470からこの選択を受信してもよい。サーバー120は、操作550で、図2の追加資源240を装置140に提供してもよい。追加資源240はユーザ150により選択された機能に基づき提供されてもよい。操作555では、ネットワークインターフェース装置470は追加資源240を受信し、それらをデータベースサーバー450に渡しデータベース460に記憶してもよい。図4の構成モジュール440は、データベース460から追加資源のリストを取得してもよい。操作560では、構成モジュール440は、装置140に利用可能な既存資源220とサーバー120により提供された追加資源240を使用することにより、選択された機能を実行するように装置140を構成してもよい。構成モジュール440はまた、装置140の現在の構成をデータベース460内に保存してもよい。図6は、本発明の様々な実施形態による、動的構成可能CE装置の例示的アーキテクチャ600を説明するブロック図である。CE装置は図6に示すように装置140の一実施形態であってよい。アーキテクチャ600では、ハードウェアブロック640は様々なハードウェア、例えばメモリ、プロセッサ、入力および/または出力装置、インターフェース装置、増幅器、チューナ等を含んでもよい。例示的実施形態では、ハードウェアブロック640は、図7に示すように、装置700の全部品および/または部品の一部を含んでもよい。図7については、さらに以下に検討される。ハードウェアブロック640は、様々な電子黒板、USB装置、ネットワークインターフェース装置等の外部装置を接続することを介しユーザにより変更されてもよい。オペレーティングシステム630はLinuxまたは様々な他のオペレーティングシステムを含んでもよい。装置140は、装置140が図1のサーバー120とネットワーク130と通信できるようにするために、その初期状態において電源投入されるとこのオペレーティングシステムを起動することができてもよい。例示的実施形態では、ミドルウェア620が追加資源240を含むように変更されてもよい。ミドルウェア620は、1つまたは複数の機能を実行するために、1つまたは複数のハードウェアおよび/またはソフトウェア部品の活動を調整するプログラムを含んでもよい。例えば、PVRでは、ミドルウェア620は、PVRの機能を実行するために、1つまたは複数の符号器、音声/映像再生、グラフィック出力、映像出力、記憶装置アダプタ等の活動を調整してもよい。追加資源240は1つまたは複数のソフトウェアおよび/またはデータベースを含んでもよい。データベースは、ライブラリ、構成ファイル、画像およびフォント等を含んでもよい。ソフトウェアは、ハードウェアブロック640により実行可能な様々なアプリケーションと実行可能プログラムとを含んでもよい。例示的実施形態では、追加資源240内に含まれるアプリケーションと実行可能プログラムはまた、ライブラリとデータベースを含む追加資源240の他の部品を使用する。追加資源240内に含まれるアプリケーションと実行可能プログラムはまた、アプリケーションブロック610のコンテンツを使用してもよい。アプリケーションブロック610は、装置140の元の構成内に当初存在したソフトウェアを含んでもよい。図7は、本発明の様々な実施形態による、装置140のクラスタ710を動的構成するための例示的システム700を説明する図である。いくつかの実施形態では、サーバー120は動的構成可能装置140の環境にサービスを提供してもよい。この環境は、クラスタ710を形成する複数の相互接続された装置140を含んでもよい。クラスタ710は、例えばホームクラスタ、カークラスタ、別荘クラスタ等を含むローカルクラスタを含んでもよい。ローカルクラスタは図1のユーザ150に関連付けられて関連クラスタを形成してもよい。ローカルクラスタは例えばN個の装置140、例えば装置1、装置2~装置Nを含んでもよい。異なるローカルクラスタの装置140は同じであってもよいしあるいはそうでなくてもよい。ホームクラスタは、テレビ、増幅器、ビデオカセットレコーダーVCR:videocassetterecorder、PVR、PC、ネットワークアクセス装置、ディジタル画像フレーム、ディジタルメディアアダプタDMA:digitalmediaadaptor等を含んでもよい。カークラスタは、例えばAM/FMラジオ、DVD再生/記録装置、携帯電話、全地球測位サービスGPS:globalpositioningservice装置等を含んでもよい。クラスタ710の装置140は、例えばホームまたはオフィスネットワーク等のローカルエリアネットワークLAN730を形成してもよい。これらの装置は、インターネット等の広域ネットワークWAN750を介しサーバー120と通信してもよい。これら装置140は、WAN750と通信するためにLAN730を使用してもよい、および/または衛星通信手段等の独立通信手段を有してもよい。いくつかの実施形態では、サーバー120は、詳しくは以下に説明されるように、装置140が特定の機能を行なえるようにするために、装置140のそれぞれを再構成するコンピュータプログラム等の資源を提供する。コンピュータプログラムは、例えば装置140により受信、例えばダウンロードされてもよい。クラスタ710では、第1の装置140、例えば装置Kが、最初にサーバー120との通信を開始し、クラスタコントローラの役割を割り当てられてもよい。クラスタコントローラとして機能する場合、装置140は多くのタスクを実行してもよい。例えば、クラスタコントローラすなわち、クラスタコントローラの役割を割り当てられた装置140はクラスタ710の他の装置140とサーバー120間の仲介者として機能してもよい。一実施形態では、クラスタコントローラは、例えばクラスタ710の他の装置140から情報を受信するあるいはこれらの装置に情報および/または資源を配信する際に、サーバー120のエージェントとして機能してもよい。最初にオンにされると、クラスタコントローラを含む装置140はサーバー120に自身の名前を告げ、クラスタプログラムを受信する。クラスタプログラムは、クラスタコントローラを含むクラスタ710内の他の装置140を特定する際、装置140を支援する。クラスタプログラムはまた、装置140自身間で、および/または例えば関連クラスタのクラスタコントローラを介し関連クラスタの他のローカルクラスタと、資源を共有するように装置140を構成するために使用されてもよい。例えば、図1のユーザ150はテレビ番組の記録を望むこともあり得るが、クラスタ710の一部であるテレビはテレビ番組を記録する十分な能力を有していないとする。この場合、クラスタコントローラは、PVR機能を実行するためにクラスタ710の他の装置140内の利用可能資源を組み合わせるためにサーバー120から利用可能なPVRアプリケーションを使用してもよい。利用可能資源は、例えば音声および映像符号器と記憶容量を含んでもよい。記憶容量は、PCのハードディスク駆動装置、外部ハードディスク駆動装置、フラッシュメモリなどの上で利用可能であってもよい。いくつかの実施形態では、クラスタ710および/または関連クラスタの装置140は要求された機能を実施するために共働してもよい。例えば、クラスタ710および/または関連クラスタの装置140はそれら自身の中のコンテンツを探索し、1つの装置140からクラスタ710および/または関連クラスタの1つまたは複数の装置140へコンテンツを転送してもよい。図8は、本発明の様々な実施形態による、図7の装置140の動的構成可能クラスタ710にサービスを提供するサーバー120の例示的モジュールを説明するブロック図である。サーバーコンピュータ120は、通信モジュール810、プロビジョニングモジュール820、クラスタ制御モジュール830、メモリ840、プロキシモジュール850、およびプロセッサ860を含んでもよい。プロビジョナルモジュール820、クラスタ制御モジュール830、プロキシモジュール850は、ハードウェアおよび/またはソフトウェアで実装されてもよい。ソフトウェアはプロセッサ860または図10に示すプロセッサ1060により実施されてもよい。通信モジュール810はハードウェアで実装され、例えば図4と図10に示すネットワークインターフェース装置470として動作してもよい。通信モジュール810は、図7のWAN750等のネットワークを介しクラスタ710の装置140の1つから、装置140の1つまたは複数に利用可能な図2の既存資源220等の特定された資源のリストを受信してもよい。既存資源220は、ソフトウェアおよび/または例えばプロセッサ、記憶装置、1つまたは複数のインターフェース、アンテナ等のハードウェアを含んでもよい。資源220はまた、1つまたは複数の装置140に接続されてもよい1つまたは複数の外部装置に関連したいくつかの資源を含んでもよい。一実施形態では、クラスタ710の装置140は、それらの既存資源220のリストをクラスタ710のクラスタコントローラに伝達してもよい。次に、サーバー120は、クラスタ710のクラスタコントローラから既存資源220のリストを受信してもよい。プロビジョナルモジュール820は、特定された既存資源220のリストに基づき、クラスタ710の装置140に機能のリストを提供してもよい。機能は、既存資源220を使用することによりクラスタ710の1つまたは複数の装置140により実行可能であってよい。例えば、機能のリストは、テレビ、DVD再生および/または記録装置、CD再生および/または記録装置、PVR等のCE装置に関連した機能、あるいはオシロスコープまたはPHA等のより高度な科学および/または研究機器の機能を含んでもよい。通信モジュール810は、クラスタ710の装置140から、機能のリストから選択したものを受信してもよい。例えば、図1のユーザ150は、PVRとして装置140の1つを使用することを望むこともある。この場合、追加資源を受信した後、装置140はPVRとして機能するようにその資源を構成することにより装置自身を再定義してもよい。装置140はPVRの機能を実行し、同時にユーザ150により選択された特徴例えば、制御または表示の数量およびタイプを提供してもよい。プロビジョニングモジュール820は、この選択に基づいて追加資源240をクラスタ710の装置140の1つまたは複数に提供してもよい。追加資源240は、ソフトウェアアプリケーションおよび/またはメモリ840内に格納された1つまたは複数のサーバーデータベースを含んでもよい。サーバーデータベースはライブラリ、構成ファイル、画像、フォント等を含んでもよい。ソフトウェアは、図2の資源220により実行可能な様々なアプリケーションおよび実行可能プログラムを含んでもよい。例えばソフトウェアは以下に検討されるようにクラスタプログラムを含んでもよい。サーバーデータベースは、追加資源240への追加分がサーバーコンピュータ120に利用可能となるように、プロセッサ860により更新されてもよい。いくつかの実施形態では、プロビジョニングモジュール820は、クラスタ710および/または例えばホームクラスタ、カークラスタ、別荘クラスタ等のローカルクラスタを含む関連クラスタの形成を容易にすることができる。クラスタプログラムは、クラスタコントローラを含むクラスタ710内の他の装置140を検出する際に各装置140を支援してもよい。クラスタプログラムはまた、装置140自身間で、および/または例えば関連クラスタのクラスタコントローラを介し関連クラスタの他のローカルクラスタと、資源を共有するように装置140を構成するために使用されてもよい。プロビジョニングモジュール820は、2つ以上のローカルクラスタが資源例えば、図2の既存資源220と追加資源240の両方、あるいは電子刊行物、画像、様々な形式の音声/映像コンテンツ等を含むメディアコンテンツなどのコンテンツを共有するのを容易にすることができる。いくつかの実施形態では、図8のクラスタ制御モジュール830は、図7のクラスタ710の装置140の1つにクラスタコントローラの役割を割り当ててもよい。クラスタコントローラは、図7に関して上記にて説明したようにいくつかのタスクを実行してもよい。クラスタコントローラが利用可能でない場合、クラスタ制御モジュール830はクラスタ710の別の装置140にクラスタコントローラの役割を再び割り当ててもよい。通信モジュール810は、他の装置140がクラスタコントローラを検出できなかった場合、他の装置140からクラスタコントローラとして機能する要求を受信してもよい。好ましくは、クラスタ制御モジュール830は、どの装置140がクラスタコントローラ役割のより良い候補であるかを見出すために装置140の適格性を定期的に例えば1日1回監視する。次にクラスタ制御モジュール830は、別の装置140が現在のクラスタコントローラより適格がある場合、クラスタコントローラの役割をこの別の装置140に割り当ててもよい。より適格のある装置は、例えば、より長い使用可能時間、より多くの資源処理パワーまたは記憶容量等、あるいは例えばより速い速度、より短い応答時間、より高い増幅度、より高い忠実度、より高い解像度等などのよりよい性能を有してもよい。さらに、クラスタコントローラは、装置140の1つを待機クラスタコントローラとして特定してもよい。待機クラスタコントローラは、アクティブクラスタコントローラがダウンしたか、そうでなければクラスタコントローラのタスクの1つまたは複数を実行することができなかった場合、アクティブクラスタコントローラの責任を引き受けてもよい。アクティブクラスタコントローラと待機クラスタコントローラは、プロビジョニングモジュール820からプログラムとデータベース等の制御資源を受信してもよい。制御資源は、図7に関し概説したように、アクティブクラスタコントローラと待機クラスタコントローラがクラスタコントローラタスクを実行できるようにしてもよい。制御資源はまた、クラスタコントローラが図7のクラスタ710の装置140のそれぞれに利用可能な機能だけでなく、既存資源220と追加資源240を特定するのも容易にすることができる。いくつかの実施形態では、クラスタ710の装置140の1つが図7のサーバー120のプロキシとして機能してもよい。プロキシモジュール850は、当該装置140がサーバー120のプロキシとして機能することができるようにしてもよい。装置140のそれぞれは、サーバー120にメッセージを送信することによりプロキシ役を志願してもよい。プロキシモジュール850は、サーバー120のプロキシとして機能する装置140がサーバー120に関連した機能の1つまたは複数を実行するのを容易にすることができる。プロキシモジュール850は、志願した装置140がサーバー120のプロキシとして実行できるようにするために、プロビジョニングモジュール820から、プログラム、ライブラリ、データベース等の資源をPC等の志願した装置140に提供することを要求してもよい。一実施形態では、通信モジュール810は、ユーザから、図7のクラスタ710の装置140のうちの1つまたは複数の装置の選択された機能を受信してもよい。この場合、プロビジョニングモジュール820は、選択された機能を1つまたは複数の装置140が実行できるようにするために、1つまたは複数の装置140のそれぞれに接続される多くの外部装置のリストを提供する。例えばリストは、フラッシュメモリ等の外部メモリ、ディスプレイ、PC等を含んでもよい。プロビジョニングモジュール820は、例えば、選択された機能を装置140が実行できるように装置140をクラスタ170の別の装置140に接続することを推奨してもよい。図9は、本発明の様々な実施形態による、装置の動的構成可能クラスタにサービスを提供する例示的方法900を説明する流れ図である。図9に示すように、方法900は操作910で始まり、ここでは図8の通信モジュール810は、WAN750また図7のを介し図7のクラスタ710の装置140の1つから、クラスタ710の装置140に利用可能な図2の既存資源220等の特定された資源のリストを受信してもよい。一実施形態では、図7のサーバー120は、装置140をサーバー120に接続すると装置140に利用可能な資源を検出することができる。操作920では、図8のプロビジョニングモジュール820はクラスタ710の装置140の1つに機能のリストを提供してもよい。これらの機能は、特定された資源を使用することによりクラスタ710の装置140の1つまたは複数により実行可能であってよい。機能のリストは、例えば、テレビ、DVD再生および/または記録装置、CD再生および/または記録装置、PVR等の民生電子装置に関連した機能、あるいはオシロスコープまたはパルス波高分析器等のより高度な科学および/または研究機器の機能を含んでもよい。操作930では、図8の通信モジュール810は、図1のユーザ150から、機能のリストから選択したものを受信してもよい。操作940では、プロビジョニングモジュール820は、この選択に基づいてクラスタ710の装置140の1つまたは複数に図2の追加資源240を提供してもよい。例えば、ユーザ150はPVRとして装置140の使用を望むこともある。この場合、追加資源240を受信した後、装置140はPVRとして機能するようにその資源を構成することにより装置自身を再定義してもよい。装置140はPVRの機能を実行し、同時に図1のユーザ150により選択された特徴例えば、制御または表示の数量およびタイプを提供してもよい。図10は、本明細書で検討された方法論の1つまたは複数をマシン1000に行なわせるための一組の命令が実行されてもよいコンピュータシステムの例示的形式のマシン1000の図式的表示を説明する図である。別の実施形態では、マシン1000はスタンドアロン装置として動作してもよいし、あるいは他の装置に接続および/またはネットワーク化されてもよい。ネットワーク配備では、マシン1000は、サーバークライアントネットワーク環境内の図1と図7のサーバー120等のサーバーあるいは図7の装置140等のクライアント装置、あるいはピアツーピアおよび/または分散型ネットワーク環境内のピア装置等の資格で動作してもよい。マシン1000は、サーバーコンピュータ、クライアントコンピュータ、PC、タブレットPC、セットトップボックスSTB、携帯情報端末PDA、セルラ電話、インターネットまたはウェブ機器、ネットワークルータ、スイッチまたはブリッジ、あるいは連続的な一組の命令あるいはそうでなければ当該装置により取られるアクションを規定する一組の命令を実行できる任意の装置であってよい。さらに、単一の装置だけが説明されたが、用語装置はまた、本明細書で検討された方法論の任意の1つまたは複数を実行するために、一組のまたは複数組の命令を個々にまたは共同で実行する装置の任意の集合を含むものとする。例示的マシン1000は、そのすべてがバス1008を介し互いに通信する例えば中央処理装置CPU、グラフィック処理装置GPUまたはその両方等のプロセッサ1060、主メモリ1070、スタティックメモリ1080を含んでもよい。マシン1000はさらに、例えば液晶ディスプレイLCDまたは陰極線管CRTディスプレイ等の映像ディスプレイ装置1010を含んでもよい。マシン1000はまた、例えばキーボード等の文字数字入力装置1020、マウス等のカーソル制御デバイス1030、ディスクドライブユニット1040、スピーカ等の信号発生装置1050、およびネットワークインターフェース装置470を含んでもよい。ディスクドライブユニット1040は、本明細書に記載の方法論または機能の任意の1つまたは複数を具現する例えばソフトウェア等の一組または複数組の命令1024が格納された機械可読媒体1022を含んでもよい。命令1024はまた、マシン1000によるその命令の実行中に主メモリ1070内におよび/またはプロセッサ1060内に完全にまたは少なくとも部分的に存在してもよい。主メモリ1070とプロセッサ1060はまた、機械可読媒体を含むことが好ましい。命令1024はさらに、ネットワークインターフェース装置470を介しネットワーク1075上で送信または受信されてもよい。ネットワーク1075は、図1のネットワーク130および/または図7のWAN50として動作してもよい。機械可読媒体1022は例示的実施形態では単一媒体であるように示されているが、用語機械可読媒体は、例えば集中型または分散型データベース内に見られる媒体等の単一媒体または複数媒体、および/または一組または複数組の命令を格納する関連キャッシュとサーバーを含むものとする。用語機械可読媒体はまた、装置により実行され、装置に本技術の方法論の任意の1つまたは複数を行なわせる一組の命令を格納、符号化および/または担持することができる任意の媒体を含むものとする。したがって用語機械可読媒体は、固体メモリと光学および磁気媒体を含むものとするがこれに制限されない。装置の動的構成可能クラスタと装置を動的構成する方法の実施形態が説明された。本実施形態は説明されたが、これらの実施形態に様々な修正と変更がなされ得ることは明らかだろう。したがって本明細書と添付図面は限定的ではなく例示的であるとみなすべきである。要約書は、読者が技術的開示の性質を素早く確認できるようにする要約を必要とする米国特許施行規則37CFR172に適合するように提供された。要約書は、特許請求の範囲を解釈または制限するために使用されないという了解の下で提出された。さらに、上記の詳細な説明において、種々の特徴は本開示物を簡素化すべく単一の実施形態にまとめられたことが分かるであろう。本開示の方法は特許請求の範囲を制限するように解釈されてはならない。従って、以下の請求項は、本明細書によって、詳細な説明に盛り込まれており、各々の請求項は、個別の実施形態として独立している。