(57)【要約】【課題】  プロトコルおよび関連する技術、プラットフォームが、ベンダ固有コマンド、データフィールド、命令等を実装するためのＭＴＰ等をベンダが選択可能に拡張する。【解決手段】  本発明では、ある点では、１つまたは複数の拡張空間が、部分的には、所与のベンダに割り当てられ、または関連づけられた一意の識別子に従って拡張空間を分離することによって、独自の拡張セットを派生させるのに使用され得る。一意の識別子は、インターネットＤＮＳドメイン名、他の拡張セット名または識別子でよい。デジタルカメラ、デジタルビデオカメラ、ＭＰ３や他のプレーヤなどのオーディオプレーヤのメーカなどのベンダまたは製造元、ソフトウェアベンダは、そうした拡張を標準化団体によって承認させる必要なく、メディア転送プロトコルまたは他のプロトコルに対する拡張を自由に設計することができる。【選択図】  図１
2006050645.tif 000002
【特許請求の範囲】
【請求項１】
プロトコルに対する拡張セットにある操作を開始するシステムであって、
デバイスと通信する通信インターフェースと、
転送プロトコルの操作を拡張する拡張セットであって、前記拡張された操作に関連づけられた一意の識別子によって識別される拡張セットと、
前記拡張セットの前記拡張された操作を用いて、前記デバイスを制御するために前記通信インターフェースおよび前記拡張セットと通信する制御モジュールとを備えることを特徴とするシステム。
【請求項２】
前記デバイスは、オーディオプレーヤ、オーディオレコーダ、ビデオプレーヤ、ビデオレコーダ、携帯情報端末、セルラー電話、全地球位置発見デバイス、イベント記録デバイス、ポータブル記憶デバイス、およびリモート制御デバイスの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記制御モジュールは、クライアント内に収容されることを特徴とする請求項１に記載のシステム。
【請求項４】
前記クライアントは、コンピュータを含むことを特徴とする請求項３に記載のシステム。
【請求項５】
前記拡張セットは、拡張されたコマンド、拡張された操作、および拡張されたデータフィールドの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記一意の識別子は、ドメインネームシステムのドメイン名を含むことを特徴とする請求項１に記載のシステム。
【請求項７】
前記一意の識別子は、前記転送プロトコルの拡張空間においてエンコードされることを特徴とする請求項１に記載のシステム。
【請求項８】
前記拡張空間は、限られた拡張空間を含むことを特徴とする請求項７に記載のシステム。
【請求項９】
前記一意の識別子は、前記転送プロトコルの未使用または既知の安全な部分においてエンコードされることを特徴とする請求項１に記載のシステム。
【請求項１０】
前記転送プロトコルは、メディア転送プロトコルを含むことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記一意の識別子によって識別される前記拡張セットは、自動的に、別の一意の識別子に関連づけられた拡張セットと衝突しないことを特徴とする請求項１に記載のシステム。
【請求項１２】
前記拡張セットは、前記別の一意の識別子に関連づけられた前記拡張セットからは独立して定義されることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記拡張セットは、リモートデータストアを介してダウンロード可能であることを特徴とする請求項１に記載のシステム。
【請求項１４】
プロトコルに対する拡張セットにある操作を実行するように構成されたデバイスであって、
クライアントと通信するための通信インターフェースと、
前記操作に関連づけられた一意の識別子に基づく、転送プロトコルに対する拡張セットの操作を開始するために、前記通信インターフェースと通信するプロセッサを備えることを特徴とするデバイス。
【請求項１５】
前記デバイスは、オーディオプレーヤ、オーディオレコーダ、ビデオプレーヤ、ビデオレコーダ、携帯情報端末、セルラー電話、全地球位置発見デバイス、イベント記録デバイス、ポータブル記憶デバイス、およびリモート制御デバイスの少なくとも１つを含むことを特徴とする請求項１４に記載のデバイス。
【請求項１６】
前記クライアントは、コンピュータを含むことを特徴とする請求項１５に記載のデバイス。
【請求項１７】
前記拡張セットは、拡張されたコマンド、拡張された操作、および拡張されたデータフィールドの少なくとも１つを含むことを特徴とする請求項１４に記載のデバイス。
【請求項１８】
前記一意の識別子は、ドメインネームシステムのドメイン名を含むことを特徴とする請求項１４に記載のデバイス。
【請求項１９】
前記一意の識別子は、前記転送プロトコルの拡張空間においてエンコードされることを特徴とする請求項１４に記載のデバイス。
【請求項２０】
前記転送プロトコルは、メディア転送プロトコルを含むことを特徴とする請求項１４に記載のデバイス。
【請求項２１】
前記一意の識別子によって識別される前記拡張セットは、自動的に、別のデバイスに関連づけられた一意の識別子に関連づけられた拡張セットと衝突しないことを特徴とする請求項１４に記載のデバイス。
【請求項２２】
プロトコルに対する拡張セットの操作を処理する方法であって、
デバイスと通信するステップと、
拡張セットにアクセスするステップであって、前記拡張セットは、転送プロトコルの拡張された操作を含み、前記拡張セットは、前記拡張された操作に関連づけられた一意の識別子によって識別されるステップと、
前記拡張セットの前記拡張された操作を用いて、前記デバイスを制御するステップとを含むことを特徴とする方法。
【請求項２３】
前記デバイスは、オーディオプレーヤ、オーディオレコーダ、ビデオプレーヤ、ビデオレコーダ、携帯情報端末、セルラー電話、全地球位置発見デバイス、イベント記録デバイス、ポータブル記憶デバイス、およびリモート制御デバイスの少なくとも１つを含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記制御するステップは、クライアント内で実行されることを特徴とする請求項２２に記載の方法。
【請求項２５】
前記クライアントは、コンピュータを含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
前記拡張セットは、拡張されたコマンド、拡張された操作、および拡張されたデータフィールドの少なくとも１つを含むことを特徴とする請求項２２に記載の方法。
【請求項２７】
前記一意の識別子は、ドメインネームシステムのドメイン名を含むことを特徴とする請求項２２に記載の方法。
【請求項２８】
前記一意の識別子は、拡張空間においてエンコードされることを特徴とする請求項２２に記載の方法。
【請求項２９】
前記拡張空間は、限られた拡張空間を含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記一意の識別子は、前記転送プロトコルの未使用または既知の安全な部分においてエンコードされることを特徴とする請求項２２に記載の方法。
【請求項３１】
前記転送プロトコルは、メディア転送プロトコルを含むことを特徴とする請求項２２に記載の方法。
【請求項３２】
前記一意の識別子によって識別される前記拡張セットは、自動的に、別の一意の識別子に関連づけられた拡張セットと衝突しないことを特徴とする請求項２２に記載の方法。
【請求項３３】
転送プロトコルに対する選択可能な拡張セットであって、
デバイスに関連づけられた一意の識別子フィールドと、
前記デバイスにおける転送プロトコルの操作を拡張し、前記拡張された操作に関連づけられた前記一意の識別子によって識別される拡張セットとを含むことを特徴とする選択可能な拡張セット。
【請求項３４】
前記デバイスは、オーディオプレーヤ、オーディオレコーダ、ビデオプレーヤ、ビデオレコーダ、携帯情報端末、セルラー電話、全地球位置発見デバイス、イベント記録デバイス、ポータブル記憶デバイス、およびリモート制御デバイスの少なくとも１つを含むことを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項３５】
前記拡張セットは、クライアントを介して活動化されることを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項３６】
前記クライアントは、コンピュータを含むことを特徴とする請求項３５に記載の選択可能な拡張セット。
【請求項３７】
前記拡張セットは、拡張されたコマンド、拡張された操作、および拡張されたデータフィールドの少なくとも１つを含むことを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項３８】
前記一意の識別子は、ドメインネームシステムのドメイン名を含むことを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項３９】
前記一意の識別子は、拡張空間においてエンコードされることを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項４０】
前記拡張空間は、限られた拡張空間を含むことを特徴とする請求項３９に記載の選択可能な拡張セット。
【請求項４１】
前記一意の識別子は、前記転送プロトコルの未使用または既知の安全な部分においてエンコードされることを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項４２】
前記転送プロトコルは、メディア転送プロトコルを含むことを特徴とする請求項３３に記載の選択可能な拡張セット。
【請求項４３】
前記一意の識別子によって識別される前記拡張セットは、自動的に、別の一意の識別子に関連づけられた拡張セットと衝突しないことを特徴とする請求項３３に記載の選択可能な拡張セット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプロトコルの設計に関し、より詳細には、固有のハードウェアまたはアプリケーション用の高度なまたは固有の機能を可能にするために、メディア転送プロトコルへの個々の拡張をハードウェアベンダに定義させるハードウェアおよび技術をサポートするプロトコルに関する。
【背景技術】
【０００２】
メディアデバイスとの通信のための標準化プロトコルの必要性は、ＭＴＰ（メディア転送プロトコル）、すなわち、ＭＰ３プレーヤ、ビデオ再生用、および他のメディアデバイスをパーソナルコンピュータまたは他のクライアントに連結するのに用いられ得る、高度な、公に定義されたプロトコルの開発で対処されてきた。他の目的用に設計された他のプロトコルと同様、メディア転送プロトコルは、デバイスが、異なる製造元によって作られ、またはそれ以前に通信したことがない場合であっても、デバイスが適合して確実に対話し合うことを可能にする１組のコマンド、データ構造、および他の標準化スキーマを定義する。ＭＴＰの場合、そのプロトコルのネイティブコマンドおよびデータ構造は、例えば、ＭＰ３または他のオーディオファイル、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａビデオファイル、あるいは他のファイルまたは形式などのメディアファイルの、オブジェクト指向な取得および管理を容易にすることができる。デバイス製造元、ソフトウェア開発者、および他者は、自身の製品において、より低コストであり、より互換性があるという利点を活用するために、このような転送プロトコルまたは他のプロトコルを組み込むことができる。ただし、厳密に定義された標準の確立は、一定の欠点も伴い得る。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そうした欠点の中でも特に、プロトコルに対するベンダ固有の拡張を可能にする容易な方法が欠如している。プロトコルの拡張性は従来、例えば、プロトコルの通常のデータ構造に付加されるベンダ固有フィールドまたはモードをベンダに指定させるように実現されている。しかし、そうした限られたプロトコル拡張は、たとえ可能であったとしても、概して、そうした拡張の承認を与えるとともに要求があったときにメンバ用に拡張を定義する標準化団体によってもたらされていた。例えば、デジタルカメラおよび他の製品において用いられるＰＴＰ（ピクチャ転送プロトコル）に対する拡張は、現在は活動していないＰＩＭＡ（写真およびイメージング製造協会）による、ヒューマンレビューによる指定によってのみ可能である。拡張を付与するタスクをサードパーティ団体に委任することは、定義が、相互に排他的に定義されることができ、そうすることによって、ある製造元のコマンドまたは他の拡張が、別の製造元のものと干渉しないと保証され得るという利点を有する。例えば、操作が衝突しないように、アドレス空間またはコマンド定義が分けられ得る。ただし、ヒューマンレビューによる標準承認の仕組みは、しばしば手間のかかるプロセスとなる場合があり、その結果、個々のベンダは、自社のハードウェア、ソフトウェア用の、または他の目的のためのプロトコル拡張を迅速に実施することも確実に検証することもできない可能性がある。プロトコル設計の技術およびプロセスにおける他の問題も存在する。
【課題を解決するための手段】
【０００４】
当業におけるこうしたおよび他の問題を克服する本発明は、ある点では、特に、個々のベンダによって実装される独自の拡張セットを自動的に区別するのに一意の識別子が用いられ得る、メディア転送プロトコルや他のプロトコルなどのプロトコル、層、またはスキーマに対する選択可能な拡張を生成するシステムおよび方法に関する。本発明の実施形態において、ある点では、ＭＴＰであっても、それ以外であっても、基準プロトコルのデータ構造に対して、１つまたは複数の拡張空間が付加され得る。各拡張空間、例えば企業、ベンダ、または他の組織によって所有され、またはそれに割り当てられた各空間は、その空間において実装される追加または特殊コマンド、データフィールド、あるいは他のデータ構造または拡張を含み得る、１組のベンダ定義プロトコル拡張セットを可能にする。ベンダ定義拡張セットは、ある点では、その空間における拡張を確保する個々のベンダに固有の一意の識別子を用いて、識別されることも指定されることもできる。その識別子は、いくつかの実施形態では、そのベンダに登録され、または割り当てられるＤＮＳ（ドメインネームシステム）インターネットドメイン名でもよく、それを含んでもよい。一意の各拡張セット名は、バージョン識別子または他のフィールドとともに、デジタルカメラ、携帯情報端末、セルラー電話、オーディオ、ビデオ、あるいは他のプレーヤまたはデバイスなどのデバイスが、例えばクライアントコンピュータを介して通信し、操作されることができるための拡張セットを指定し得る。いくつかの実施形態において、ベンダまたは製造元によって定義された拡張セットは、インターネット上のデータベースサーバなどのリモートデータストアからアクセスされることもダウンロードされることもできる。ある点では、拡張セット名によって識別される拡張セットが、あるベンダ、グループ、または他の存在に一意に関連づけられることを保証され、第三者である標準化団体またはヒューマンレビューを行う他の組織による介入に依拠することもそれを必要とすることもなく一意の割当てが行われ得るので、ベンダは、自社のハードウェア、ソフトウェア、または他の製品用にカスタマイズされたプロトコル拡張の開発を直接遂行することができる。このような設計作業はしたがって、入力要求方式で、ベンダの拡張セットが他のベンダによって実装される拡張セットから独立し、そうしたセットと衝突しないことを保証するように行われ得る。
【発明を実施するための最良の形態】
【０００５】
図１は、本発明の実施形態による、メディア転送プロトコルや他のプロトコルなどのプロトコル、層、あるいはスキーマに対する選択可能な拡張を生成するシステムおよび方法が動作し得る環境を示す。図に示されるように、パーソナルコンピュータ、可搬型コンピュータ、あるいは他のコンピュータまたはマシンなどのクライアント１０２が、ファイルのアップロードまたはダウンロード、オーディオ、ビデオ、写真あるいは他のメディアまたはコンテンツの再生または記録、ソフトウェアまたはファームウェアのアップデート、ハードディスクまたは他の記憶装置のフォーマットなどの操作を開始し実施し、あるいは、概して他の処理またはタスクを実施するために、デバイス１０６と通信し得る。デバイス１０６は、ある点では、例えば、ＭＰ３（動画圧縮標準規格、オーディオレイヤ３）や他のオーディオプレーヤなどのデジタルオーディオプレーヤ、オーディオレコーダ、ＤＶＤや他のプレーヤなどのビデオプレーヤ、ＪＰＥＧ（静止画像圧縮標準規格）または他のファイルを生成するデジタルカメラ、デジタルビデオレコーダなどのビデオレコーダ、セルラー電話などの通信デバイス、携帯情報端末、無線ｅメールや他のメッセージ通信デバイスなどのネットワーク接続可能な無線デバイス、ＧＰＳ（全地球位置発見システム）または他の位置発見デバイス、イベント記録デバイス、リモート制御デバイス、遠隔計測デバイス、インストルメンテーションデバイス、産業用デバイス、医療用デバイス、ポータブル記憶デバイス、あるいは他のデバイス、プレーヤ、またはシステムでもよく、それらを含んでもよい。デバイス１０６は概して、例えばプロセッサ、ソフトウェア、ファームウェア、および他のリソースを含む、プログラム可能なまたは他の論理または制御を含むことも組み込むこともできる。いくつかの実施形態において、クライアント１０２およびデバイス１０６は、ＦｉｒｅＷｉｒｅ（商標）（ＩＥＥＥ１３９２）やＵＳＢ（ユニバーサルシリアルバス）接続などの有線接続を介しても、ＢｌｕｅＴｏｏｔｈ（商標）やＷｉＦｉ（商標）接続、あるいは他のチャネルまたは接続などの無線接続を介しても通信することができる。
【０００６】
本発明の実施形態によると、ある点では、デバイス１０６およびクライアント１０２は、ＭＴＰ（メディア転送プロトコル）などのプロトコル１１０、あるいは他のメディア対応のまたは他のプロトコル、層、またはスキーマを介して通信するように構成され得る。メディア転送プロトコルは、それに関して、ある点では、例えばマイクロソフトコーポレーションによって公開され、概して、クライアント、デバイス、アプリケーション、および記憶媒体の間での、メディアコンテンツの、確実かつ効率的な交換の促進を対象とした１組のドライバ標準、コマンド、アプリケーションプログラミングインターフェース、通信プロトコル、および他のリソースを含む。メディア転送プロトコルは、例えば、米国特許出願公開２００４／０２２１０４４号にさらに記載されており、そこで論じられているように実装されることも展開されることもできる。ただし、説明は、メディア転送プロトコルを用いたメディア操作についてなされているが、本発明の実施形態によると、それ以外の点では、他のプロトコル、層、またはスキーマが、プロトコル１１０として用いられることも、プロトコル１１０に組み込まれることもできることが理解されよう。
【０００７】
本発明の実施形態によると、ユーザは、クライアント１０２上でユーザインターフェース１０４を操作して、デバイス１０６に関連してファイルにアクセスし、メディアを再生し、記憶装置をフォーマットし、他のタスクを実施することができる。例えば、ユーザインターフェース１０４は、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ｐｌａｙｅｒまたはそれ以外などのメディアプレーヤを含むこともそうしたプレーヤとインターフェースをとることもできる。メディア転送プロトコルまたは他の定義プロトコル１１０を用いてデバイス１０６と通信するとき、クライアント１０２およびデバイス１０６は、そのプロトコルで定義され構造化された様々な操作およびコマンドを呼び出して、例えばメディアオブジェクトを取得し、音楽またはオーディオファイル、デジタル写真またはデジタル映像などのコンテンツを再生し、または格納し、あるいは他の機能を実行することができる。
【０００８】
しかし、いくつかの例では、デバイス１０６を販売またはサポートする製造元、ベンダ、ソフトウェア開発者、または他の存在が、例えばそのデバイスの特定のハードウェア特徴またはソフトウェアプログラミングを利用するために、デバイス１０６を操作するための、動作可能なプロトコル１１０において使用可能な基準操作の組を拡張することを望み得る場合がある。概して、メディア転送プロトコルも他のプロトコルも、元々、そうした拡張セットを確立するための手作業による、外部の、またはヒューマンレビューによるプロセスを呼び出すことなく、基本プロトコルに対する追加コマンド、データフィールド、操作、または他の拡張を製造元またはそれ以外が自由に設計し展開することを許可するように設計されていない。しかし、本発明の実施形態によると、ある点では、メディア転送プロトコルまたは他のプロトコルに対する拡張が、ヒューマンレビュープロセスを必要とせずに自由に実装され展開されることができ、それでも依然として、様々な製造元、開発者、または他のベンダによって開発された拡張セットが、定義プロトコル１１０において衝突することなく動作し得ることを保証する。
【０００９】
本発明の実施形態によると、かつ、本発明の目的に向かって、ある点では、使用可能な拡張空間の構造化された割振りまたは分割が、既存のメディア転送プロトコルまたは他のプロトコルにおいてもたらされ、または定義され得る。つまり、本発明によると、そうした構造化された割振りにおいて拡張セットとして定義されたコマンド、操作、および他の拡張にアクセスするデバイス１０６およびクライアント１０２あるいは他の開始側、応答側、または他の通信エンティティは、他のベンダ、開発者、および対応する拡張セットに対して相互に排他的であり得る。したがって、動作の際、図１に示されるように、クライアント１０２およびデバイス１０６は、メディア転送プロトコルまたは他のプロトコル１１０を用いて通信を確立し、例えばデバイス１０６を特殊モードの動作に駆動させるためのデバイス命令１０８を使用して、またはそれ以外の方法で、双方によって理解される、そのデバイスの識別された拡張セット１２２に基づいて、さらに１組のデバイス命令１０８にアクセスし伝送することができる。
【００１０】
より具体的には、図２に示されるように、クライアント１０２およびデバイス１０６は、メディア転送プロトコルなどのプロトコル１１０あるいは他のプロトコル、層、またはスキーマを介して通信することができる。プロトコル１１０は、例えば、メディアオブジェクトあるいは他のファイルまたはデータの転送、再生、または格納を含む操作をサポートするためのコマンド、命令、データフィールド、ヘッダ、フラグ、信号標準、または他のリソースおよび定義の集合体など、１組の定義スキーマ１１２を含み得る。プロトコル１１０は、図示されるように、１組の拡張空間１１４をさらに含むことができ、空間１１４は、メディア転送プロトコルの場合、例えば、定義によって特定の目的またはエンティティのために割り振られ、限定され、または取り置かれた１組の定義済みアドレスまたはコマンドの範囲または空間でもよく、それを含んでもよい。拡張空間の組１１４に割り振られた各拡張空間は、デバイス１０６および／またはそれに関連する製造元、ベンダ、ソフトウェア開発者、サポート、または他の存在に関連づけられた拡張セット１２２の排他的定義を許可するための、さらなる識別子およびフィールドに従ってさらに割り振られることも分割されることもできる。
【００１１】
より具体的には、図２に示されるように、各拡張空間は、その拡張セット名がプロトコル１１０に対するカスタマイズされた、特殊な、あるいは他の拡張または追加を含む、対応する拡張セット１２２への一意の識別子として作用する１組の拡張セット名１１６に関連づけられ得る。本発明の実施形態によると、ある点では、拡張セット名の組１１６は、インターネットＤＮＳ（ドメインネームシステム）、例えば、「Ｍｉｃｒｏｓｏｆｔ．ｃｏｍ」またはそれ以外の形の、製造元、ソフトウェア開発者、または他のベンダの登録ドメイン名でもよく、そのようなドメイン名を含んでもよい。つまり、製造元、ソフトウェア開発者、あるいは他のベンダまたはエンティティに関連づけられ、または所有されるＤＮＳドメイン名は、そのベンダまたはエンティティの識別を一意にエンコードするためのプロトコル１１０のコンテキストにおいて役割を果たすことができ、この一意の識別子は次いで、そのエンティティによって作成され、展開され、またはサポートされる１つまたは複数の拡張セット１２２を指定するための重要なフィールドとして使われ得る。ＤＮＳドメイン名は、ＩＣＡＮＮ（Internet Corporation for Assigned Names and Numbers）によって管理されるとき、１つのエンティティ（または関係するもの）にのみ登録され、関連づけられ、または所有され得るので、その識別子はしたがって、拡張セット名の組１１６中の、その識別子によって指示される対応する拡張セット１２２が、そのエンティティの設計に従うデバイス１０６によってのみアクセスされ、開始され、または処理され得ることを保証することができる。拡張セット名は、そのデバイスと使用可能であり、または適合する拡張を識別するために、例えば、デバイス１０６内のファームウェアまたはそれ以外に格納され得る。
【００１２】
本発明の実施形態によると、別の点では、拡張セット１２２中で定義されるコード、命令、コマンド、データフィールド、および他の拡張または構造は、特殊なまたは他のコマンドまたは操作、例えばデバイス１０６のハードウェア、ソフトウェア、またはファームウェアに対してあつらえられた、その一意のＤＮＳまたは他の識別子に基づきまたは適合したコマンドまたは操作にアクセスすることも開始することもできる。したがって、拡張セット１２２は、例えばデバイス１０６としてのデジタルビデオレコーダが、ＮＴＳＣ、ＰＡＬ、ＨＤＴＶ、あるいは他の形式、モード、または解決など、様々な記録モードに入ることを可能にするコマンドを含み得る。同様に、デバイス１０６が、デジタルオーディオ再生デバイスの場合、拡張セット１２２は、特殊な解決におけるオーディオコーデックなど、そのデバイスによってサポートされる再生モードを開始することもアクセスすることもできる。他のコマンド、命令、データ、またはフィールドも可能である。
【００１３】
拡張セット１２２およびそのさらなる定義または仕様によると、いくつかの実施形態では、図２に示されるのと同様に、拡張セット名の組１１６中の各拡張セット名は同様に、例えば、その拡張セット１２２の複数のバージョンが使用可能なとき、拡張セット１２２のどのバージョンがデバイス１０６とともに利用され得るかを指定するために、その名称自体をバージョンＩＤフィールド１１８に関連づけさせることができる。例えば、拡張セット１２２の異なるバージョンが、異なるオペレーティングシステムに対して使用可能であることもでき、拡張セット１２２の異なるバージョンが、バグに対処し、新しいハードウェアを組み込み、またはそれ以外の理由のために、その拡張セットに対する開発が継続する間、展開されることもできる。本発明の実施形態によると、ある点では、所与の拡張セット１２２用のバージョンＩＤフィールド１１８は、デバイス１０６が、拡張セット１２２の複数のバージョンに、一緒にまたは別々に適合し、あるいはそうしたバージョンによって操作され得ることを示すように、「２．０；２．１；２．２；３．０」や他の表現など、多数のバージョン識別子を格納することもエンコードすることもできることに留意されたい。
【００１４】
デバイス１０６およびクライアント１０２が通信し、そのデバイスに関連づけられた拡張セット名の組１１６中の一意の識別子が識別され、または検証されると、クライアント１０２および／またはデバイス１０６は次いで、対応する拡張セット１２２にアクセスして、デバイスにデバイス命令１０８を伝達することができる。クライアント１０２は、デバイス１０６の製造元によって供給されるようなアプリケーションを介しても、プロトコル１１０および識別された拡張セット１２２を用いたオペレーティングシステム操作あるいは他の制御モジュールまたは論理によっても、デバイス１０６と通信することができる。いくつかの実施形態において、拡張セット１２２自体は、例えばオペレーティングシステムリソース、ドライバストアまたはそれ以外の形で、例えばクライアント１０２に格納されることもエンコードされることもできる。いくつかの実施形態において、クライアント１０２は、対象のコマンド、命令、データフィールド、または他の拡張を用いてデバイス１０６と通信するために、拡張セット１１６の、格納されているイメージまたはコピーにアクセスする必要があり得る。
【００１５】
例えば図３に示されるような実施形態において、拡張セット１２２は、インターネットを介してアクセス可能なデータベースサーバなどのリモート拡張セットデータストア１２０によって格納され、データストア１２０を介してアクセス可能であり得る。クライアント１０２が、デバイス１０６用に検出された適切な拡張セット１２２をローカルに収容していない場合、クライアント１０２はしたがって、図示されるように、拡張セット１２２のイメージまたはコピーの、インターネットまたは他のネットワークによるダウンロードを開始することができる。拡張セット１２２用の他の記憶場所および構成も可能である。例えば、プロトコル１１０の各コピーまたはイメージは、クライアント１０２上に初めてインストールされるとき、記憶装置および他の検討事項に応じて、拡張セット名の組１１６に関連づけられた各拡張セット１２２の部分的または全体のコピーを埋め込むことができる。
【００１６】
図４は、本発明の実施形態によるプロトコル拡張処理全体を示す。ステップ４０２で、処理が始まり得る。ステップ４０４で、クライアント１０２およびデバイス１０６は、例えばパーソナルコンピュータまたは他のクライアントと、オーディオプレーヤ、ビデオプレーヤまたはビデオレコーダ、セルラー電話、あるいは他のメディア、通信、または他のデバイスとの間に接続を確立することができる。ステップ４０６で、クライアント１０２は、例えばデバイス１０６からのクエリまたはそれ以外の方法によって、メディア転送プロトコルまたは他のプロトコル１１０との動作性を問い合わせられ、または調べられ得る。ステップ４０８で、デバイス１０６用の拡張セットの実装または設定が、例えば拡張セット名の組１１６中の有効な拡張セット名、例えば有効なＤＮＳ（ドメインネームシステム）インターネットドメイン名や他の一意の識別子またはコードを検出することによって検出され得る。いくつかの実施形態において、拡張セット名または他の識別子は、具体的なベンダまたは製造元、例えばデバイス１０６、デバイス１０６上で制御または操作を行うソフトウェア、あるいは他のハードウェア、ソフトウェア、または他のリソースの製造元を識別することができる。
【００１７】
ステップ４１０で、デバイス命令の１つまたは複数の組１０８を含み得る拡張セット１２２が、例えばクライアント１０２によって、またはデバイス１０６自体によってアクセスされ、または取得され得る。いくつかの実施形態において、拡張セット１２２は、ハードディスクや他の記憶装置などのローカル記憶装置からアクセスされることも、例えば拡張セットデータストア１２０や他のソースなどのリモートソースから取得されることもできる。ステップ４１２で、拡張セット１２２中の、特殊な、カスタマイズされた、または他の操作が、クライアント１０２とデバイス１０６の間で開始されて、例えばデジタルオーディオ再生用のサンプリングレートを９６ＫＨｚに設定し、ファイルのダウンロード、ファイルのコピー、または他の動作を開始し、デバイス１０６上でユーザインターフェース制御を操作し、あるいは拡張セット１２２中で定義された他の操作または処理を実施することができる。いくつかの実施形態において、例えばデバイス１０６は、そうした操作を実行するために、特殊なまたは代替動作モードに入るよう、デバイス命令１０８を介して命令され得る。他の構成も可能である。
【００１８】
ステップ４１４で、デバイス１０６は、例えばファイル転送動作が完了された後、またはそれ以外の場合、非拡張または他のモードに適宜戻され得る。ステップ４１６で、処理は、以前の処理点に戻り、先の処理点に進み、反復し、または終了することができる。
【００１９】
本発明の上記の説明は例示であり、構成および実装における変更が当業者には思いつくであろう。例えば、本発明は概して、単一のデバイス１０６との間での１組のデバイス命令１０８の伝達に関して記述されたが、いくつかの実施形態では、デバイス命令の複数の組１０８が、単一のデバイス１０６に引き渡されることもでき、いくつかの実施形態では、デバイス命令の１つまたは複数の組１０８は、連鎖状や他の配置によるデバイスなど、複数のデバイス１０６との間で伝達されることもできる。他の実施形態では、プロトコル１１０および拡張セット１２２を介してクライアント１０２とデバイス１０６の間の通信を確立するのではなく、いくつかの実施形態において、デジタルカメラ、オーディオプレーヤ、ビデオレコーダ、または他のデバイスなど、２つ以上のデバイス１０６が、プロトコル１１０および拡張セット１２２を用いて、それ自体の間で通信リンクを直接確立することもできる。
【００２０】
同様に、本発明は、いくつかの実施形態では、概して、様々なハードウェアまたはソフトウェアの製造元またはベンダの拡張セット１２２を区別するのに用いられるフィールドとして、１組の拡張セット名１１６を含むデータスキーマを伴うものとして記述されたが、いくつかの実施形態では、プロトコル拡張が定義され得る独自の空間を生成し、または識別するのに、他のフィールド、フラグ、識別子、または他の構造が用いられ得る。同様に、拡張名の組１１６がエンコードされる独自の空間は概して、１組の拡張空間１１４として記述されたが、いくつかの実施形態では、そうしたまたは他の一意の識別子が、プロトコル１１０の他のエリアまたは部分にエンコードされ、または格納され得る。例えば、拡張セット１２２用の一意の識別子は、１組の拡張セット名１１６であってもまたはそれ以外であっても、いくつかの実施形態では、プロトコル１１０の、未使用の、既知の安全な、または検証済みの衝突しない部分またはそれ以外の場所にエンコードされることも、関連づけられることもできる。さらに、いくつかの実施形態では、本発明は概して、１つのクライアント１０２への拡張セット１２２の引渡しに関して記述されたが、いくつかの実施形態では、拡張セット１２２または複数の拡張セット１２２は、多数のクライアントまたは他のマシンに伝送されることができ、例えばローカルエリアネットワーク上のクライアントに引き渡され、またはそれ以外のことが行われる。単体として記述された他のハードウェア、ソフトウェア、または他のリソースは、いくつかの実施形態では分散されることができ、同様に、いくつかの実施形態では、分散されるものとして記述されたリソースが組み合わされることができる。本発明の範囲はしたがって、添付の特許請求の範囲によってのみ限定されることを意図している。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態による、メディア転送プロトコルまたは他のプロトコルに対する選択可能な拡張を生成するシステムおよび方法が動作し得る環境を示す図である。
【図２】本発明の実施形態によって例示的に拡張され得る、メディア転送や他のプロトコルなどのプロトコルを概略的に示す図である。
【図３】本発明の実施形態による、リモートデータストアを介した拡張セットの取得を示す図である。
【図４】本発明の実施形態による、プロトコル拡張処理全体を示すフローチャートである。
【符号の説明】
【００２２】
１０６  デバイス
１０８  デバイス命令
１１０  プロトコル
１２２  拡張セット
１２２  拡張セット
【図１】
2006050645.tif 000003
【図２】
2006050645.tif 000004
【図３】
2006050645.tif 000005
【図４】
2006050645.tif 000006