(57)【要約】【課題】クライアント装置を構成する改良された方法を提供すること。【解決手段】製造者から、クライアント装置用の構成バンドルを受け取ること、ベンダから、前記クライアント装置用のベンダ提供の構成バンドルを受け取ること、ユーザから、前記クライアント装置用のユーザ提供の構成バンドルを受け取ること、および、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成することを含む、クライアント装置を構成すること。
2006510075.tif 000002
【特許請求の範囲】
【請求項１】
クライアント装置を構成するための方法であって、
製造者から、前記クライアント装置用の構成バンドルを受け取るステップと、
ベンダから、前記クライアント装置用のベンダ提供の構成パラメータを受け取るステップと、
ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取るステップと、
前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成するステップとを含む方法。
【請求項２】
前記関連構成バンドルを前記ユーザのためのサービス・ゲートウェイへとダウンロードするステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記関連構成バンドルを実行するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記クライアント装置を検出するステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記クライアント装置用の関連構成バンドルを要求するステップをさらに含む、請求項４に記載の方法。
【請求項６】
製造者から、前記クライアント装置用の構成バンドルを受け取るステップが、前記構成バンドルをデータベースに保存することを含む、請求項１に記載の方法。
【請求項７】
前記データベースに、前記クライアント装置に対するクライアント装置識別子によるインデックスを付与する、請求項６に記載の方法。
【請求項８】
ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取るステップが、前記構成パラメータをデータベースに保存することを含む、請求項１に記載の方法。
【請求項９】
前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付けるステップが、前記構成バンドルをデータベースからクライアント装置識別子に依存して取り出すステップと、前記ユーザ提供の構成パラメータをデータベースからユーザ識別子に依存して取り出すステップとを含む、請求項１に記載の方法。
【請求項１０】
クライアント装置を構成するためのシステムであって、
製造者から、クライアント装置用の構成バンドルを受け取る手段と、
ベンダから、前記クライアント装置用のベンダ提供の構成パラメータを受け取る手段と、
ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取る手段と、
前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成する手段とを含むシステム。
【請求項１１】
クライアント装置を構成するためのコンピュータ・プログラムであって、
記録媒体と、
前記記録媒体上に記録された、製造者から、クライアント装置用の構成バンドルを受け取る手段と、
前記記録媒体上に記録された、ベンダから、前記クライアント装置用のベンダ提供の構成パラメータを受け取る手段と、
前記記録媒体上に記録された、ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取る手段と、
前記記録媒体上に記録された、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成する手段とを含む、コンピュータ・プログラム。
【請求項１２】
クライアント装置を構成するためのコンピュータ・プログラムであって、コンピュータ上で実行すると請求項１ないし９のいずれかの方法を実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の分野は、データ処理であり、またはより詳細には、クライアント装置を構成するための方法、システム、および製品である。
【背景技術】
【０００２】
ネットワーク化されたクライアント装置を購入し、ホーム・ネットワークなどのネットワーク上にインストールするときには、しばしば、クライアント装置を適切に動作するように構成しなければならない。異なるプロトコルを用いる異種のクライアント装置を一緒にネットワーク接続するとき、こうしたクライアント装置を構成するには、しばしば、ユーザ、クライアント装置が動作するネットワーク、およびクライアント装置に特有の構成が必要となる。一般に行われている構成技法は、しばしば、うんざりするものであり（tedious）、ユーザの多大な熱意が必要とする。実際、一部の複雑な環境では、インストール技術者（technical installer）による出張サービス（truckroll）が必要になる。従来の多くの構成技法では、ユーザは、構成プロセスを完了するために、家庭用コンピュータから複雑なテキストの説明書にアクセスし、大量の技術データをかきわけて進むことが必要となる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
好ましくは、クライアント装置を構成する改良された方法が提供される。
【課題を解決するための手段】
【０００４】
したがって、本発明は第１の態様において、クライアント装置を構成するための方法であって、製造者から、クライアント装置用の構成バンドルを受け取るステップと、ベンダから、前記クライアント装置用のベンダ提供の構成パラメータを受け取るステップと、ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取るステップと、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成するステップを含む方法を提供する。
【０００５】
本発明の例示的な実施形態は、前記関連構成バンドルを前記ユーザのためのサービス・ゲートウェイへとダウンロードすることを含む。典型的な実施形態は、前記関連構成バンドルを実行することを含む。一部の実施形態は、前記クライアント装置を検出することを含む。そのような実施形態は、前記クライアント装置用の関連構成バンドルを要求することを含む。
【０００６】
例示的な実施形態では、製造者から、クライアント装置用の構成バンドルを受け取ることが、前記構成バンドルをデータベースに保存することを含む。そのような実施形態では、前記データベースに、前記クライアント装置に対するクライアント装置識別子によるインデックスを付与する。典型的な実施形態では、ユーザから、前記クライアント装置用のユーザ提供の構成バンドルを受け取ることが、前記構成パラメータをデータベースに保存することを含む。例示的な実施形態では、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付けることが、前記構成バンドルをデータベースからクライアント装置識別子に依存して取り出すこと、および、前記ユーザ提供の構成パラメータをデータベースからユーザ識別子に依存して取り出すことを含む。
【０００７】
別の態様によれば、クライアント装置を構成するためのシステムであって、製造者から、クライアント装置用の構成バンドルを受け取る手段と、ベンダから、前記クライアント装置用のベンダ提供の構成バンドルを受け取る手段と、ユーザから、前記クライアント装置用のユーザ提供の構成バンドルを受け取る手段と、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成する手段とを含むシステムが提供される。
【０００８】
別の態様によれば、クライアント装置を構成するためのコンピュータ・プログラム製品であって、記録媒体と、前記記録媒体上に記録された、製造者から、クライアント装置用の構成バンドルを受け取る手段と、前記記録媒体上に記録された、ベンダから、前記クライアント装置用のベンダ提供の構成パラメータを受け取る手段と、前記記録媒体上に記録された、ユーザから、前記クライアント装置用のユーザ提供の構成パラメータを受け取る手段と、前記記録媒体上に記録された、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成する手段とを含むシステムが提供される。
【０００９】
別の態様によれば、クライアント装置を構成するためのコンピュータ・プログラムであって、コンピュータ上で実行すると次の方法ステップを実行するように適合されたプログラム・コード手段を含む、コンピュータ・プログラムが提供される。すなわち、製造者から、クライアント装置用の構成バンドルを受け取るステップと、ベンダから、前記クライアント装置用のベンダ提供の構成バンドルを受け取るステップと、ユーザから、前記クライアント装置用のユーザ提供の構成バンドルを受け取るステップと、前記ベンダ提供の構成パラメータおよび前記ユーザ提供の構成パラメータを前記クライアント装置用の前記構成バンドルと関連付け、それにより、前記クライアント装置用の関連構成バンドルを作成するステップとである。
【００１０】
次に、本発明の好ましい諸実施形態を、例に過ぎないものとして、以下の図面を参照して説明する。
【発明を実施するための最良の形態】
【００１１】
導入
この明細書では、本発明の説明を、クライアント装置を構成するための方法の視点から詳細に行う。しかし、開示する方法に従って操作するための適当なプログラミング手段を含むどのようなコンピュータ・システムもまた、十分本発明の範囲に入ることが当業者には理解されよう。
【００１２】
適当なプログラミング手段は、本発明の実施形態の方法の諸ステップを実行することをコンピュータ・システムに指示するためのどのような手段をも含み、これは、たとえば、コンピュータ・メモリに結合された処理ユニットおよび算術論理回路からなるシステムであって、そのシステムはコンピュータ・メモリへと格納する能力を有し、そのコンピュータ・メモリは、データおよびプログラム命令、処理ユニットによる実行のために本発明の一実施形態の方法のプログラムされたステップを格納するように構成された電子回路を含むシステムを含む。本発明はまた、どのような適当なデータ処理システムともともに使用するための、ディスケットまたは他の記録媒体などの、コンピュータ・プログラム製品として実施することができる。
【００１３】
コンピュータ・プログラム製品の諸実施形態は、磁気媒体、光学メディア、または他の適当なメディアを含む、機械可読情報用のどのような記録媒体の使用によっても実装することができる。適当なプログラミング手段を有するどのようなコンピュータ・システムも、プログラム製品として実施された本発明の方法の諸ステップを実行する能力をもつことになることは、当業者には直ちに理解されよう。この明細書で説明する例示的な諸実施形態は、コンピュータ・ハードウェア上にインストールされ実行されるソフトウェア向けであるが、それでも、ファームウェアとしてまたはハードウェアとして実装される代替実施形態も、十分本発明の範囲内にあることは、直ちに当業者には理解されよう。
【００１４】
定義
「フィールド」：この明細書では、「フィールド」および「データ要素」という用語は、文脈によりそうでないと示さない限り、一般に同義語として使用し、デジタル・データの個々の要素を指すものとする。データ要素の集合体を、「レコード」または「データ構造」と呼ぶ。レコードの集合体を、「テーブル」または「ファイル」と呼ぶ。ファイルまたはテーブルの集合体を、「データベース」と呼ぶ。メンバ・メソッド、関数、またはソフトウェア・ルーチンならびにデータ要素を含む複合データ構造を「クラス」と呼ぶ。クラスのインスタンスは、「オブジェクト」または「クラス・オブジェクト」と呼ぶ。
【００１５】
「８０２．１１」は、ＩＥＥＥ（米国電気電子学会）が無線ＬＡＮ技術のために開発した規格のファミリーを指す。８０２．１１では、無線クライアントと基地局の間、または２つの無線クライアントの間の無線通信による（over-the-air）インターフェースを規定している。
【００１６】
「ＡＰＩ」は、「アプリケーション・プログラミング・インターフェース」（applicationprogramming interface）に対する略語である。ＡＰＩは、ソフトウェア・アプリケーションを作成するための１組のルーチン、プロトコル、およびツールである。
【００１７】
「Bluetooth」は、クライアント装置間およびクライアント装置とＬＡＮまたは他のネットワーク上の資源との間の高周波結合のための短距離（short-range）無線技術に関する業界仕様を指す。BluetoothSIG（Special Interest Group）と呼ばれる運用組織が、装置がBluetooth準拠かどうかの検査と認定を行う。Bluetooth仕様は、設計仕様を提供する「FoundationCore」、および相互運用性のガイドラインを提供する「Foundation Profile」から構成される。
【００１８】
「ブラウザ」はWebブラウザ、すなわちWebページを検索し表示するための通信アプリケーションを意味する。ブラウザは、通常、記述言語（markuplanguage）インタープリタ、Webページ表示ルーチン、およびＨＴＴＰ通信クライアントを含む。今日の典型的なブラウザでは、テキスト、グラフィックス、オーディオ、およびビデオを表示することができる。ブラウザは、無線Web可用（wirelessweb-enabled）装置を含めて、Web可用装置で動作するようになっている。無線Web可用装置内のブラウザは、しばしば、「マイクロブラウザ」と呼ばれる小型化されたブラウザである。無線Web可用装置内のマイクロブラウザは、しばしば、ＨＴＭＬ以外の記述言語を、たとえば、ＷＭＬ、すなわちWirelessMarkup Languageを含めてサポートしている。
【００１９】
「データ通信用に結合された」が意味するのは、任意の形式のデータ通信、すなわち、無線（wireless）、８０２．１１ｂ、Bluetooth、赤外線、電波（radio）、インターネット・プロトコル、ＨＴＴＰプロトコル、電子メール・プロトコル、ネットワーク化（networked）、直接接続、専用電話線、ダイアル・アップ、ＲＳ−２３２（ＥＩＡ２３２）またはＵＳＢ（UniversalSerial Buses）によるシリアル接続、結線接続（hard-wired）のパラレル・ポート接続、電力線プロトコル（Power Line Protocol）によるネットワーク接続、および当業者の想起するであろうデータ通信のための他の形式の接続である。データ通信のための結合は、データ通信のためのネットワーク化された結合を含む。本発明の様々な実施形態とともに有用なネットワークの例には、ケーブル・ネットワーク、イントラネット、エクストラネット、インターネット、ＬＡＮ（localarea networks、構内通信網）、ＷＡＮ（wide area networks、広域通信網）、および当業者の想起するであろう他のネットワーク配置（arrangements）がある。テレビジョン・チャンネル、ケーブル・チャンネル、ビデオ・プロバイダ、通信事業者（telecommunicationsources）などの間のどのようなネットワーク化された結合の使用も、十分に本発明の範囲内にある。
【００２０】
「ドライバ」は、装置を制御するプログラムを意味する。装置（プリンタ、ディスク・ドライブ、キーボード）は、通常、ドライバを有する。ドライバは、その装置と、その装置を使用するソフトウェア・プログラムの間の翻訳部（translator）として働く。それぞれの装置は、そのドライバに理解できる１組の特別なコマンドを有する。ソフトウェア・プログラムは、一般に、装置へのアクセスを、総称的なコマンド使用することによって行う。したがって、ドライバは、プログラムから総称的なコマンドを受け取り、次いで、それらをその装置用の特別なコマンドへと翻訳する。
【００２１】
「ＨＡＶｉ」は、「Home Audio Video interoperability」、すなわち、特に家庭エンターテインメント環境のためのベンダ中立なオーディオ・ビデオ規格の名称を表す。ＨＡＶｉにより、（ＶＣＲ、テレビジョン、ステレオ、セキュリティ・システム、ビデオ・モニタなどの）家庭エンターテインメントおよび通信装置をまとめてネットワーク化し、ＰＣまたはテレビジョンなどの１台のプライマリ装置（primarydevice）から制御することができるようになる。相互接続媒体としてＩＥＥＥ１３９４、すなわち「Firewire」仕様を使用すると、ＨＡＶｉにより、異なるベンダ製の製品が、定義済みの接続および通信のプロトコルおよびＡＰＩに基づいて互いに応じ合う（comply）ことができるようになる。ＨＡＶｉの分散アプリケーション・システムの提供するサービスは、アドレス方式およびメッセージ転送、資源を見つけだすためのルック・アップ、ローカルまたはリモートのイベントのポスティングおよび受け取り、ならびに等時性データ・ストリームのストリーミングおよび制御を含む。
【００２２】
「HomePlug」は、「HomePlug Powerline Alliance」を表す。HomePlugは、高速家庭用電力線ネットワーキングの製品およびサービスのためのオープン仕様の作成のためのフォーラムを提供するために作られた非営利法人（not-for-profitorganization）である。HomePlug仕様は、インターネット通信およびマルチメディアの家庭への提供を、家庭用電力線コンセント（outlet）を通して電力線ネットワーキング規格を用いて行うように設計されている。
【００２３】
「ＩＤ」は「識別」（identification）の略であり、「識別コード」または識別フィールドを意味する。ユーザ識別コードを「ユーザＩＤ」と呼ぶのは、この開示における１つの呼び方である。この開示では約束として、フィールド名「UserID」は、ユーザＩＤを格納するのに使用するものとする。
【００２４】
「ＩＥＥＥ１３９４」は、４００Ｍｂｐｓ（毎秒４億ビット）までのデータ転送レートをサポートする外部バス規格である。１３９４規格をサポートする製品は、企業により、異なる名称で知られている。はじめにＩＥＥＥ１３９４を開発したアップル（Apple）は、商標名「FireWire」を使用している。他の企業では、その１３９４製品を呼ぶのにi.linkやLynxなど他の名称を使用している。
【００２５】
単一の１３９４ポートを使用して、６３個までの外部装置を接続することができる。高速であることに加えて、１３９４はアイソクロナス・データ（isochronous data）、すなわち保証するレートでのデータの送出をサポートする。これにより、１３９４は、ビデオなど、高いレベルのデータをリアル・タイムで転送することの必要な装置にとって理想的となっている。
【００２６】
「インターネット」（The Internet）は、ネットワーキング・プロトコル・スタックのネットワーク層として「インターネット・プロトコル」または「ＩＰ」を利用する数百万台のコンピュータを接続する世界的規模のネットワークである。インターネットは、その設計からして分散化されている。インターネット上の各コンピュータは独立である。インターネット上の各コンピュータのオペレータは、どのインターネット・サービスを使用し、どのローカル・サービスをグローバルなインターネット・コミュニティに利用可能にするかを決めることができる。インターネットへのアクセスには様々なやり方がある。AmericaOnlineなど、多くのオンライン・サービスでは、一部のインターネット・サービスへのアクセスを提供している。また、商用のインターネット・サービス・プロバイダ（ＩＳＰ、InternetService Provider）を通してアクセスを行うことも可能である。（大文字で始まっていない）「インターネット」（internet）は、そのネットワーク・プロトコル・スタック内のネットワーク層としてＩＰを使用する任意のネットワークである。
【００２７】
「ＩＰ」は、「インターネット・プロトコル」（internet protocol）、すなわち、コンピュータ・データ通信のためのネットワーク層のネットワーキング・プロトコルを指す。
【００２８】
「ＩＰアドレス」は、ＩＰネットワーク上のコンピュータまたは装置に対する識別子を意味する。ＩＰプロトコルを使用するネットワークでは、メッセージの経路選択をあて先のＩＰアドレスに基づいて行う。ＩＰアドレスのフォーマットは、ピリオドで分離された４個の数字として表記される３２ビットの数値アドレスである。各数字はゼロから２５５までをとることができる。ＩＰアドレスの一例は、１．１６０．１０．２４０である。
【００２９】
「ＩＳＰ」は、「インターネット・サービス・プロバイダ」、すなわち、インターネットへのアクセスを提供する企業を意味する。ＩＳＰは、月極め料金で、ユーザに、識別コード（しばしば「ユーザ名」と呼ばれる）、パスワード、および、アクセス電話番号、あるいは広帯域サービスの場合には、インターネットへのアクセスのためのＩＰアドレス（internet protocol address）を提供する。モデムまたはケーブルモデムなど、データ通信に適した結合が備えてあれば、ユーザおよび企業はインターネットにログ・オンし、ＷＷＷ（WorldWide Web）をブラウズし、ＵＳＥＮＥＴや電子メールなど他のインターネット関連サービスにアクセスすることができる。企業へのサービスでは、ＩＳＰはまた、その企業のネットワークからインターネットへの直接接続の提供も行う。
【００３０】
「ＪＡＲ」は、「Java(R) archive」の略である。ＪＡＲは、Java(R)アプレットの使用するコンポーネントを一まとめにするのに使用されるファイル・フォーマットである。ＪＡＲファイルにより、アプレットをダウンロードするのが簡単になるが、これは多くのコンポーネント（.classファイル、画像、音声など）を一括して単一のファイルにすることができるためである。ＪＡＲでは、データ圧縮もサポートしており、これによってダウンロード時間がさらに短くなる。慣習として、ＪＡＲファイルは.jarという拡張子で終わることになっている。
【００３１】
「ＪＥＳ」は、Java(R) Embedded Serverを表す。ＪＥＳは、組み込み装置にアプリケーションおよびサービスの開発、展開（deployment）、およびインストレーションのための枠組みを提供するＯＳＧｉの商用の実装である。
【００３２】
「ＬＡＮ」は、「local area network」（構内通信網）の略である。ＬＡＮは、比較的小さな領域に広がるコンピュータ・ネットワークである。多くのＬＡＮは、単一の建物または一群の建物に限られている。しかし、あるＬＡＮを別のＬＡＮに、どのような距離にわたっても電話回線および電波を介して接続することができる。このように接続した１システムのＬＡＮを広域通信網（ＷＡＮ、wide-areanetwork）と呼ぶ。インターネットは、ＷＡＮの一例である。
【００３３】
「ＯＳＧｉ」は、Open Services Gateway Initiative、すなわち、サービス・バンドルの提供、適合したデータ通信を提供するソフトウェア・ミドルウェア、およびサービス・ゲートウェイを通してのサービスに関する仕様を含めて、サービス・ゲートウェイのための仕様を開発する業界組織を指す。ＯＳＧ（OpenServices Gateway）仕様は、サービス・プロバイダ、ネットワーク・オペレータ、装置メーカ、およびアプライアンス製造企業に、ベンダ中立のアプリケーション層およびデバイス層のＡＰＩおよび機能を提供する、Java(R)ベースのアプリケーション層フレームワークである。
【００３４】
「サーバ」は、この明細書では、資源を管理し資源へのアクセスを要求する、ネットワーク上の自動化された計算機械（computing machinery）を含むコンピュータまたは装置を指す。「Webサーバ」または「ＨＴＴＰサーバ」は、特に、ＨＴＭＬなどの記述言語による文書、デジタル・オブジェクト、および他の資源を管理しネットワーク化されたコンピュータに利用可能にするために、ＨＴＴＰによってブラウザと通信するサーバである。「ＤＭＳサーバ」は、特に、サービス・ゲートウェイと通信して、そのサービス・ゲートウェイにサービス・バンドルを提供するサーバである。
【００３５】
「ＳＭＦ」は、ＩＢＭ（Ｒ）から利用可能な「Service ManagementFramework（商標）」を表す。ＳＭＦは、ＯＳＧｉ（Open Services Gateway Initiative）の開発する仕様に準拠するように設計された規格ベースのアーキテクチャである。ＳＭＦは、サービス・ゲートウェイ上のネットワーク配布（networkdelivered）アプリケーションの管理のための、ＯＳＧｉの商用の実装である。
【００３６】
「ＴＣＰ」は、「Transmission Control Protocol」、すなわち、ネットワーク化されたコンピュータのデータ通信のためのトランスポート層ネットワーキング・プロトコルである。ＴＣＰにより、いわゆる「信頼できる」（reliable）通信プロトコルが提供され、そこでは、メッセージはパケットへと分割され、これが通信でそのメッセージのあて先へと送られ、そのメッセージへと完全にかつ正しい配列で再組み立てされる。ＴＣＰは、非常に頻繁にＩＰとともにその下位のネットワーク・プロトコル層として使用されるため、この２つはしばしば一緒にしてＴＣＰ／ＩＰプロトコル群という言い方が行われる。
【００３７】
「ＴＣＰ／ＩＰ」は、ともに動作するＴＣＰ（Transmission ControlProtocol）およびＩＰ（Internet Protocol）を意味する。ＴＣＰ／ＩＰは、パケット交換（packet switching）プロトコル群である。ＴＣＰにより、データ送信元とデータあて先の間の仮想通信が確立される。ＩＰにより、データは送信元からあて先へとパケットで送られることが指定され、送信元およびあて先のアドレス方式が指定される。ＴＣＰにより、データの送達およびパケットの送達される順序が監視される。
【００３８】
「ＵＳＢ」は、「universal serial bus」（ユニバーサル・シリアル・バス）の略である。ＵＳＢは、１２Ｍｂｐｓのデータ転送レートをサポートする外部バス規格である。単一のＵＳＢポートを使用して、マウス、モデム、キーボードなど、１２７個までの周辺装置を接続することができる。ＵＳＢでは、また、プラグ・アンド・プレイ（Plug-and-Play）インストレーションおよびホット・プラグ（hotplugging）もサポートされている。
【００３９】
「ＷＡＰ」は、Wireless Application Protocolという、ハンドヘルド無線装置とともに使用するためのプロトコルを指す。ＷＡＰとともに使用される無線装置の例としては、携帯電話、ページャ（pager）、双方向無線、ハンドヘルド・コンピュータがある。ＷＡＰは多くの無線ネットワークをサポートしており、ＷＡＰを多くのオペレーティング・システムがサポートしている。ハンドヘルド装置向けに特に考えられている（engineered）オペレーティング・システムとしては、PalmOS、EPOC、Windows(R)CE、FLEXOS、OS/9、Java(R)OSがある。ディスプレイを使用しインターネットにアクセスするＷＡＰ装置では、「マイクロブラウザ」が動作する。マイクロブラウザでは、ハンドヘルド装置の低メモリの制約および無線ネットワークの狭帯域の制約に適応できる小さいファイル・サイズが使用されている（Windows(R)は米国、その他の国、またはその両方におけるマイクロソフト・コーポレーション（MicrosoftCorporation）の商標である）。
【００４０】
「ＷＷＷ」（World Wide Web）、またはより簡単に「Web」（theweb）は、特別にフォーマットされたドキュメント、すなわち、ＨＴＭＬ（HyperText Markup Language）、ＸＭＬ（eXtensibleMarkup Language）、ＷＭＬ（Wireless Markup Language）、ＨＤＭＬ（Handheld Device MarkupLanguage）などの記述言語（markup language）でフォーマットされたドキュメントをサポートする「ＩＰ」（Internet Protocol、インターネット・プロトコル）サーバからなる１つのシステムを指す。「Web」という用語を、本明細書では、ＨＴＴＰ（HyperTextTransfer Protocol）やＷＡＰ（Wireless Access Protocol）などのハイパーリンク用プロトコル（hyperlinkingprotocol）を実装してＵＲＩおよび記述言語で書かれたドキュメントをサポートする、任意のサーバまたは接続された一群のもしくは相互接続した複数群のサーバを指すためにも使用するが、これはそのような複数または複数群のサーバがＷＷＷ（WorldWide Web）自体に結合されているかどうかによらない。
【００４１】
詳細な説明
図１は、本発明の様々な実施形態による、クライアント装置を構成する方法を実装するのに有用な例示的な情報ハンドリング・アーキテクチャおよび様々なエンティティを示す構成図である。図１の例示的なアーキテクチャは、構成すべきクライアント装置（１２０）を含む。クライアント装置（１２０）はどのような構成可能な装置とすることもできるが、本発明の多くの典型的な実施形態では、クライアント装置（１２０）は、家庭ネットワークなどのＬＡＮ、または当業者の想起するであろう他のどのようなネットワーク上でのネットワーク化にも堪える装置である。構成すべきクライアント装置（１２０）の例には、プリンタ、食器洗い機（dishwasher）、ＤＶＤプレイヤー、コーヒーポット、または当業者の想起するであろう他のどのような装置も含まれる。
【００４２】
図１の例示的なアーキテクチャでは、クライアント装置（１２０）は、データ通信のためにサービス・ゲートウェイ（１３０）と結合されている。サービス・ゲートウェイ（１３０）は、データ通信のために、インターネット（１０８）と結合されている。サービス・ゲートウェイ（１３０）により、クライアント装置（１２０）、およびクライアント装置（１２０）の動作するどのようなＬＡＮにも、インターネットなどのＷＡＮへのアクセスが提供される。
【００４３】
サービス・ゲートウェイ（１３０）は、一部の例示的なアーキテクチャでは、ＯＳＧｉ互換のサービス・ゲートウェイ（１３０）である。クライアント装置を構成するための方法の例示的な実施形態を、本明細書ではＯＳＧｉを用いて説明するが、他の多くのアプリケーションおよびフレームワークは、本発明に従ってクライアント装置を構成する方法を実装するために働き、したがって、十分に本発明の範囲内にある。ＪＥＳやＳＭＦなどのＯＳＧｉの商用の実装もまた、本発明の様々な実施形態の実装方法において有用である。
【００４４】
ＯＳＧｉは、「Open Services Gateway Initiative」を表す。ＯＳＧｉ仕様は、家庭、自動車、および他の環境で動作する任意の通信プロトコルを用いる様々な装置のためのベンダ中立なアプリケーションおよび装置の層のＡＰＩおよび機能を提供する、Java(R)（商標）ベースのアプリケーション層フレームワークである。ＯＳＧｉは、イーサネット(R)（Ethernet(R)）、Bluetooth、ＨＡＶｉ（HomeAudio Video Interoperability）規格、ＩＥＥＥ１３９４、ＵＳＢ（Universal Serial Bus）、ＷＡＰ、HomePlug（HomePlugPowerline Alliance）を含む電力線通信システムなど、様々なネットワーキング技術とともに動作する。ＯＳＧｉ仕様は、www.osgi.orgにあるＯＳＧｉのWebサイトから無料ダウンロードで利用可能である（Java(R)およびすべてのJava(R)ベースの商標は、米国、その他の国、またはその両方におけるサン・マイクロシステムズ（SunMicrosystems）の商標である）。
【００４５】
図１のサービス・ゲートウェイは、サービス・フレームワーク（１２６）を含む。例である多くの実施形態では、サービス・フレームワークはＯＳＧｉサービス・フレームワーク（１２６）である。ＯＳＧｉサービス・フレームワーク（１２６）は、Java(R)で書かれており、したがって、通常はJava(R)仮想マシン（ＪＶＭ、Java(R) Virtual Machine）上で稼働する。ＯＳＧｉでは、図１のサービス・フレームワーク（１２６）は、「サービス」（１２４）を稼働させるためのホスティング・プラットフォームである。
【００４６】
サービス（１２４）は、ＯＳＧｉでアプリケーションを作成するための主要なビルディング・ブロックである。サービス（１２４）は、特定の機能を実装する一群のJava(R)クラスおよびインターフェースである。ＯＳＧｉ仕様により、数多くの標準サービスが提供される。たとえば、ＯＳＧｉにより、ＨＴＴＰクライアントからの要求に応答できるWebサーバを作成する標準のＨＴＴＰサービスが提供される。
【００４７】
ＯＳＧｉにより、また、装置アクセス仕様（Device AccessSpecification）と呼ばれる１組の標準サービスが提供される。装置アクセス仕様（ＤＡＳ）により、サービス・ゲートウェイに接続されている装置を識別し、その装置に対するドライバを検索し、装置に対するドライバのインストールを行うサービスが提供される。
【００４８】
ＯＳＧｉにおけるサービス（１２４）は、サービス（１２４）が実行のために必要とする他のファイル、画像、および資源とともに一括されて図１のバンドル（１２１）などの「バンドル」になっている。バンドル（１２１）は、１つまたは複数のサービス（１２４）、アクチベータ・クラス（１２７）、およびマニフェスト・ファイル（１２５）を含むJava(R)アーカイブ（ＪＡＲ）ファイルである。アクチベータ・クラス（１２７）は、サービス・フレームワーク（１２６）がバンドルの開始および停止に使用するJava(R)クラスである。マニフェスト・ファイル（１２５）は、バンドル（１２１）の内容を記述する標準のテキスト・ファイルである。
【００４９】
ＯＳＧｉにおけるサービス・フレームワーク（１２６）は、また、サービル・レジストリ（１２８）を含む。サービル・レジストリ（１２８）は、そのサービスの名前と、フレームワーク（１２６）上にインストールされサービス・レジストリ（１２８）に登録されているバンドル（１２１）ごとにサービスを実装するクラスのインスタンスとを含む。バンドル（１２１）は、そのバンドル（１２１）に含まれていないが、フレームワーク・サービス・レジストリ（１２８）上に登録されているサービスを要求することができる。バンドル（１２１）は、サービスを見出すには、フレームワークのサービス・レジストリ（１２８）上で問い合わせを実行する。
【００５０】
図１の例示的なエンティティは、また、データ通信のためにインターネット（internet）（１０８）、ＷＷＷ、または任意のＷＡＮを通してサービス・ゲートウェイ（１３０）と結合されている装置管理サーバ（「ＤＭＳ」、DeviceManagement Server）（１０６）を含む。ＤＭＳは、バンドルをサービス・ゲートウェイ（１３０）に対して提供、取り出し、またはその他の方法で展開するように特に設計されたサーバである。典型的な多くの例では、ＤＭＳエージェントにより、ゲートウェイからバンドルに対する要求を受け取り、そのゲートウェイを認証し、要求されたバンドルを取り出し、その要求されたバンドルをサービス・ゲートウェイに提供するためのプロトコルが提供される。
【００５１】
図１の例示的なエンティティは、構成サービス・プロバイダ（「ＣＳＰ」、ConfigurationService Provider）（１０４）を含む。ＣＳＰ（１０４）は、クライアント装置に対する構成バンドルを得て、それをユーザに提供するサービス・プロバイダである。ユーザは、ＣＳＰの加入者または顧客である。ＣＳＰは、構成パラメータをユーザから受け取る。ユーザまたはベンダが、構成の必要なクライアント装置の購入をＣＳＰに通知すると、ＣＳＰ（１０４）は、そのクライアント装置用の関連構成バンドルを提供する。関連構成バンドルとは、そのユーザのサービス・ゲートウェイ（１３０）上での構成に必要な構成パラメータをそのバンドル内部にもつ、そのクライアント装置用の構成バンドルである。図１のＣＳＰでは、構成バンドルをそのユーザのサービス・ゲートウェイにダウンロードするのに、ＤＭＳを通して行っている。関連構成バンドルは、サービス・ゲートウェイ上で実行されて、クライアント装置が構成される。
【００５２】
図１の例示的なエンティティは、ベンダ（１０２）を含む。ベンダ（１０２）は、クライアント装置（１２０）をユーザに販売、または他の方法で提供する。クライアント装置を構成する方法の例では、ベンダ（１０２）は、また、クライアント装置用の構成バンドルをユーザに販売、または他の方法で提供する。本発明の例である実施形態では、ベンダは、構成バンドルを構成バンドルの製造者（１３２）から入手する場合もある。
【００５３】
図１の例示的なエンティティは、また、製造者（１３２）を含む。図１の製造者（１３２）は、本発明の一実施形態に従ってクライアント装置（１２０）を構成する方法とともに使用する構成バンドルの製造者である。クライアント装置の構成バンドルの製造者（１３２）は、場合によっては、そのクライアント装置（１２０）自体の製造者でもある。しかし、構成バンドルの製造者（１３２）は、そのクライアント装置の製造を行わなかったサード・パーティの構成バンドルの製造者であってよい。
【００５４】
図２は、クライアント装置を構成するための例示的な方法を示すデータ・フロー図である。図２の方法は、クライアント装置（１２０）用の構成バンドル（１２２）を、製造者（１３２）から受け取ること（２０２）を含む。製造者（１３２）は、クライアント装置（１２０）用の構成バンドル（１２２）の製造者である。本発明の諸実施形態に従ってクライアント装置を構成するための例示的な多くの方法では、構成バンドル（１２２）の製造者（１３２）は、クライアント装置（１２０）の製造者である。しかし、他の例では、構成バンドルの製造者（１３２）は、クライアント装置（１２０）を製造していなくてもよい。
【００５５】
図２の例では、構成バンドル（１２２）は、クライアント装置（１２０）を構成するためのサービス、コンピュータ・コード、および他の資源を含む。場合によっては、構成バンドル（１２２）はクライアント装置（１２０）用のドライバを含んでもよい。クライアント装置を構成する例では、構成バンドル（１２２）がクライアント装置を構成するためのサービスを含むＯＳＧｉバンドルであることがある。ＯＳＧｉ構成バンドルは、クライアント装置を構成するためにＯＳＧｉサービス・ゲートウェイ上で実行される。構成バンドル（１２２）は特定のクライアント装置（１２０）を構成するように設計されているため、多くの例で、様々な構成バンドル（１２２）のもつ様々な構造（designs）は、その構成バンドルが構成するように設計されているクライアント装置、クライアント装置（１２０）が動作することになるネットワーク、構成バンドル（１２２）が展開され実行されることになるサービス・ゲートウェイ、または当業者の想起するであろう他の任意の要素に応じたものとなっている。
【００５６】
図２の方法では、クライアント装置（１２０）用の構成バンドル（１２２）を受け取ること（２０２）は、ＣＳＰ（１０４）によって実行される。ＣＳＰは、クライアント装置（１２０）用の構成バンドル（１２２）を、ユーザ（２１０）に代わって製造者（１３２）から受け取る。ユーザ（２１０）は、通常、ＣＳＰ（１０４）の加入者である。ユーザ（２１０）が構成すべきクライアント装置（１２０）を購入または入手すると、ＣＳＰ（１０４）は、適切な構成バンドル（１２２）をそのユーザに提供する。ユーザ（２１０）は、クライアント装置用の構成バンドルをＣＳＰ（１０４）に要求することを、ＣＳＰに電話をすること、ＣＳＰに電子メールを送ること、または構成すべき新しいクライアント装置のＣＳＰに対して要求を行う他のどのような方法によっても行うことができる。あるいは、クライアント装置（１０２）のベンダ（１０２）が、そのユーザのＣＳＰ（１０４）にクライアント装置（１２０）の購入を通知する。
【００５７】
図２の一部の方法の例では、製造者（１３２）から、クライアント装置（１２０）用の構成バンドル（１２２）を受け取ること（２０２）は、たとえば、製造者のWebサイトから、構成バンドル（１２２）を個別にダウンロードすることを含む。
【００５８】
代替方法として、製造者（１３２）から、クライアント装置（１２０）用の構成バンドル（１２２）を受け取ること（２０２）は、構成バンドルを、たとえば、製造元（make）、型（model）、またはクライアント装置のシリアル番号によるインデックスの付与された構成バンドルの完全なデータベースとして受け取ることを含む。多くの場合、データベースは、コンパクト・ディスク、または他の形の不揮発性コンピュータ記憶上に格納されている。クライアント装置（１２０）用の構成バンドル（１２２）を、製造者（１３２）から受け取ること（２０２）は、また、それまでにＣＳＰ（１０４）の受け取った、構成バンドル（１２２）に対する更新を受け取ることを含む。
【００５９】
図２の方法は、ベンダ（１０２）から、クライアント装置（１２０）用のベンダ提供の構成パラメータ（２０６）を受け取ること（２０４）を含む。ベンダ（１０２）は、ユーザに対するクライアント装置（１０２）の販売者、小売業者、または提供者である。本発明の様々な実施形態では、ベンダ提供の構成パラメータ（２０６）はクライアント装置識別子を含む。クライアント装置識別子により、クライアント装置の識別は、適切な構成バンドルを、たとえば、ＣＳＰが、受け取ることのできるように、十分に行われる。クライアント装置識別子の例は、製造者の名称および製造者の型番号（model number）、シリアル番号、または当業者の想起するであろう他の任意のクライアント装置識別子である。
【００６０】
図２の方法では、ベンダ（１０２）から、クライアント装置（１２０）用のベンダ提供の構成パラメータ（２０６）を受け取ること（２０４）は、ＣＳＰ（１０４）によって実行される。一例では、ＣＳＰ（１０４）は、ユーザ（２１０）の購入したクライアント装置（１２０）を識別するクライアント装置識別子など、ベンダ提供の構成パラメータ（２０６）をベンダ（１０２）から受け取ることを、販売時点（point-of-sales）で、電子メール、電話、または当業者の想起するであろう他のどのような方法によっても行う。
【００６１】
Webサイトを運営するベンダ（１０２）の例を考える。ユーザ（２１０）は、ベンダのWebサイトを通してベンダ（１０２）からクライアント装置（１２０）を購入する。ベンダ（１０２）のWebサイトは、購入中は、ユーザのＣＳＰ（１０４）に対する連絡情報を要求する画面を含んでいる。購入が完了すると、ベンダ（１０２）から、ベンダ提供の構成パラメータ（２０６）がＣＳＰ（１０４）に提供される。このようにして、ベンダ（１０２）は、ベンダ提供の構成パラメータ（２０６）のＣＳＰ（１０４）への提供を、ユーザのクライアント装置（１２０）購入時に自動的に行う。
【００６２】
図２の方法は、ユーザ（２１０）から、クライアント装置（１２０）用のユーザ提供の構成パラメータ（２１２）を受け取ること（２０８）を含む。ユーザ提供の構成パラメータ（２１２）は、通常、ユーザのサービス・ゲートウェイ、ネットワーク、またはクライアント装置（１２０）が動作することになる状況を定義する他の構成パラメータに関する、ユーザ（２１０）に知られているまたは利用可能な構成パラメータを含む。ユーザ提供の構成パラメータ（２１２）の例には、ユーザのＬＡＮマスク、ユーザのＩＰデフォルト・ゲートウェイ・アドレス、ユーザのＩＰアドレス、ユーザのＬＡＮ名、ユーザのＤＭＳ名、ユーザのリンク・タイプ（イーサネット(R)、Bluetooth、８０２．１１）、無線ネットワーク名、無線暗号化鍵、または当業者の想起するであろう他のどのようなユーザ提供の構成パラメータも含まれる。
【００６３】
本発明の多くの実施形態によれば、ユーザ（２１０）から、ユーザ提供の構成パラメータ（２１２）を受け取ること（２０８）は、ＣＳＰ（１０４）によって実行される。ＣＳＰ（１０４）は、ユーザ提供の構成パラメータを一度受け取り、そのユーザ提供の構成パラメータをデータベースに格納する。ＣＳＰにより、そのユーザに対するユーザ提供の構成パラメータの維持が行われる。この後、ユーザ（２１０）がクライアント装置（１２０）を購入するときには、ユーザ提供の構成パラメータ（２１２）が、ＣＳＰのデータベース内で利用可能である。したがって、クライアント装置の構成は、追加のユーザ提供の構成パラメータを必要とすることなく実行される。
【００６４】
図２の方法は、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）と関連付けること（２１４）を含む。ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）を関連付けること（２１４）により、関連構成バンドル（２１６）が得られる。関連構成バンドル（２１６）は、ユーザのサービス・ゲートウェイへと展開したとき、および実行したときに、この関連構成バンドルがクライアント装置を構成するような適切な構成パラメータを有する構成バンドルである。
【００６５】
ユーザ提供の構成パラメータ（２１２）およびベンダ提供の構成パラメータを構成バンドルと関連付けてしまうと、関連構成バンドルは、ユーザのサービス・ゲートウェイへと展開できるようになっている。多くの場合、２つ以上の構成バンドルを関連付けて関連構成バンドルの完全な組を作成し、その結果、その構成バンドルの組をユーザのサービス・ゲートウェイ上へと展開し実行すると、そのユーザのクライアント装置が構成される。
【００６６】
図２の方法では、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）と関連付けること（２１４）は、ＣＳＰによって実行される。一部の例では、ＣＳＰは、ユーザ（２１０）がクライアント装置（１２０）を購入、または他の方法で入手したという通知を受け取る。ＣＳＰは、クライアント装置識別子などのベンダ提供の構成パラメータ（２０６）を受け取る。ＣＳＰは、製造者から、クライアント装置（１２０）用の適切な構成バンドル（１２２）を受け取る。次いで、ＣＳＰは、ＣＳＰの維持するデータベースから、ユーザ提供の構成パラメータ（２１２）を受け取る。すると、ＣＳＰは、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）と関連付ける。
【００６７】
図２の方法は、関連構成バンドル（２１６）をユーザ（２１０）に対するサービス・ゲートウェイ（１３０）へとダウンロードすること（２１８）を含む。図２の方法の一部の例では、関連構成バンドル（２１６）をダウンロードすること（２１８）は、ユーザ提供の構成パラメータ（２１２）およびベンダ提供の構成パラメータ（２０６）を構成バンドル（１２２）と関連付けるときに、関連構成バンドル（２１６）をユーザに対するサービス・ゲートウェイ（１３０）へとプッシュすることを含む。こうした例では、関連構成バンドル（２１６）は、ユーザに対するサービス・ゲートウェイ（１３０）上で実行する準備ができている。一部の例では、関連構成バンドル（２１６）のサービス・ゲートウェイへのプッシュは、バンドルをサービス・ゲートウェイに提供するように特に設計されたＤＭＳを通して行われる。
【００６８】
これに代わる一例では、関連構成バンドルは、ＤＭＳにダウンロードされそのＤＭＳが関連構成バンドル（２１６）を保存するか、あるいは、ユーザまたはユーザのサービス・ゲートウェイ（１３０）が関連構成バンドル（２１６）を要求するまで、ＣＳＰで保存される。一部の例では、ユーザのサービス・ゲートウェイが関連構成バンドルを要求するのは、サービス・ゲートウェイが、クライアント装置（１２０）がサービス・ゲートウェイ（１３０）に接続されていることを検出するときである。
【００６９】
図２の方法は、関連構成バンドル（２１６）を実行すること（２２０）を含む。関連構成バンドルを実行すること（２２０）により、構成済みのクライアント装置（２２２）が得られる。多くの場合、構成バンドルの実行は、クライアント装置がサービス・ゲートウェイ上で検出されるときに自動的に行われる。他の例では、関連構成バンドル（２１６）を実行すること（２２０）は、構成バンドルを実行するためのユーザからの指示を受け取ることを含む。サービス・ゲートウェイに接続されたコンピュータ上のWebブラウザを用いて、ユーザは一連の指示画面を通して、サービス・ゲートウェイが関連構成バンドルを実行するように指示することができる。本発明の多くの実施形態では、サービス・ゲートウェイでは、ユーザ・インターフェース・ハードウェアも、端末画面も、キーボードも、マウスも、そこには直接インストールされないが、そのようなサービス・ゲートウェイでは、しばしば、そのゲートウェイ上のサービスに対するＨＴＴＰインターフェースがサポートされる。そのような実施形態では、ユーザはゲートウェイ上のＨＴＴＰ画面へのアクセスを、ユーザ・インターフェース・ハードウェアをサポートしゲートウェイにＬＡＮを介して結合されているパーソナル・コンピュータまたは他のクライアント装置上のブラウザにログ・オンし、ブラウザをサービス・ゲートウェイのＬＡＮ上のＩＰアドレスへと振り向けることによって行うことができる。
【００７０】
図３は、クライアント装置（１２０）を検出すること（２５０）およびそのクライアント装置（１２０）用の関連構成バンドル（２１６）を要求すること（２４２）の例示的な方法を示すデータ・フロー図である。図３の方法では、クライアント装置（１２０）を検出することは、クライアント装置（１２０）が接続されているかどうか、シリアル・インターフェース（１１８）をポーリングすること（２４０）を含む。シリアル・インターフェース（１１８）をポーリングすること（２４０）とは、ある装置が接続されているかどうか、そのシリアル・インターフェースを定期的に検査することを意味する。
【００７１】
図３の方法では、クライアント装置（１２０）を検出すること（２５０）は、ポーリング・バンドル（２４６）を通して実行される。例である一部の実施形態では、ポーリング・バンドル（２４６）はＯＳＧｉバンドルである。ＯＳＧｉフレームワークにより、サービス・ゲートウェイ（１３０）上で装置が接続されているかどうかを検査するためのＤＡＳ内の標準サービスが提供される。一部の例では、ポーリング・バンドル（２４６）は、そのバンドル内部に特にプログラムされたポーリング・サービスを含む。これに代わる例では、ポーリング・バンドルは、サービス・ゲートウェイ上で動作するＯＳＧｉフレームワーク上のサービス・レジストリに問い合わせを行って、サービス・ゲートウェイ上で装置が接続されているかどうかを検査するための標準ＯＳＧｉサービスを識別する。図３の例では、ポーリング・バンドル（２４６）が、ＯＳＧｉ標準サービスを使用して、シリアル・インターフェース（１１８）にポーリングを行い（２４０）クライアント装置（１２０）を検出する。
【００７２】
図３の方法は、シリアル・インターフェースに接続されたクライアント装置がポーリングによって検出されたときに、クライアント装置識別子（２５４）をクライアント装置（１２０）から読み出すこと（２５２）を含む。クライアント装置識別子（２５４）は、クライアント装置に対する適切な構成バンドルを得て実行できるようなクライアント装置の識別を十分に行う任意の識別（identification）である。例示的なクライアント装置識別子には、製造者名、型名（model name）、シリアル番号、または当業者の想起するであろう他のどのようなクライアント装置識別子も含まれる。
【００７３】
クライアント装置識別子は、データ内で、図３のクライアント装置識別子レコード（２５４）などのレコードによって表すことができる。クライアント装置識別子レコード（２５４）は、クライアント装置（１２０）上の不揮発性メモリに保存される。クライアント装置識別子レコード（２５４）には、シリアル番号を表すdeviceIDフィールド（２５５）、製造元（make）、型（model）、または当業者の想起するであろう他のどのような識別も含まれる。
【００７４】
図３の方法では、ポーリング・バンドル（２４６）により、クライアント装置識別子（２５４）をクライアント装置（１２０）から読み出すこと（２５２）が実行される。例である一部の実施形態では、ポーリング・バンドル（２４６）はＯＳＧｉバンドルである。ＯＳＧｉフレームワークにより、サービス・ゲートウェイに接続された装置から装置識別子を読み出すためのＤＡＳ内の標準サービスが提供される。クライアント装置を検出し構成バンドルを要求する例示的な一部の方法では、ポーリング・バンドル（２４６）は、バンドル内部にクライアント装置識別子を読み出すように特にプログラムされたサービスを含む。これに代わる例では、ポーリング・バンドルは、サービス・ゲートウェイ上で動作するＯＳＧｉフレームワーク上のサービス・レジストリに問い合わせを行って、クライアント装置識別子を読み込むための標準ＯＳＧｉサービスを識別する。そのような実装形態では、次いで、ポーリング・バンドル（２４６）が、ＯＳＧｉ標準サービスを使用して、クライアント装置からクライアント装置識別子を読み出す。
【００７５】
また、ＯＳＧｉフレームワーク内のＤＡＳにより、しばしば、クライアント装置に対するドライバの識別およびインストールを行う標準サービスが提供される。そのようなＤＡＳサービスを利用する実装形態では、ポーリング・バンドル（２４６）によってクライアント装置（１２０）が検出されそのクライアント装置（１２０）が識別されると、そのポーリング・バンドルが、サービス・ゲートウェイのサービス・フレームワーク上のサービス・レジストリに問い合わせを行って、サービス・ゲートウェイとクライアント装置の間の通信を容易にするドライバを入手しインストールするための標準サービスを識別する。クライアント装置を検出し構成バンドルを要求する例示的な一部の方法では、クライアント装置用の関連構成バンドルが、ユーザに対するサービス・ゲートウェイ（１３０）上へとプッシュされる。そのような例示的な実施形態では、関連構成バンドルを要求すること（２５６）は、サービス・ゲートウェイ内部に保存されている関連構成バンドルを要求することを含む。これとは別の、関連構成バンドルがサービス・ゲートウェイ（１３０）上へとプッシュされない例示的な実施形態では、関連構成バンドルを要求すること（２５６）は、その関連構成バンドルをＤＭＳに要求することを含む。
【００７６】
関連構成バンドルに対する要求は、データ内では、たとえば、図３のバンドル要求レコード（８１０）などのレコードとして表すことができる。バンドル要求レコード（８１０）は、構成すべきクライアント装置を識別するdeviceIDフィールド（２５５）を含む。バンドル要求レコード（８１０）は、また、関連構成バンドルを要求するゲートウェイを識別するgatewayIDフィールド（２６１）を含む。一部の例では、deviceIDとgatewayIDを合わせると、その装置用の関連構成バンドルが一意に識別される。他の例では、バンドル要求レコードは、ユーザを識別するuserIDを含む。
【００７７】
関連構成バンドルを要求することは、本発明の多くの実施形態では、図３の要求バンドル（２４２）などの要求バンドルによって実行される。本発明による一部の例示的な実施形態では、要求バンドル（２４２）は、関連構成バンドルに対する要求をＤＭＳへと送る能力のあるサービスを含むＯＳＧｉバンドルである。一部の例では、要求バンドル（２４２）により、バンドル要求が、ＨＴＴＰメッセージ内のＨＴＭＬ文書としてＤＭＳへと送られる。
【００７８】
図３の方法は、サービス・ゲートウェイ（１３０）を認証すること（２８０）を含む。ゲートウェイを認証することの実行は、たとえば、バンドル要求レコード（８１０）のgatewayIDフィールド（２６１）をゲートウェイ・データベース（２８６）と比較すること（２８４）によって行うことができる。図３の方法では、サービス・ゲートウェイ（１３０）を認証すること（２８０）はＤＭＳによって実行される。ＤＭＳは、サービス・ゲートウェイの認証を、サービス・ゲートウェイ識別子をＤＭＳに登録されたゲートウェイ識別子のデータベースと比較することによって行う。
【００７９】
サービス・ゲートウェイが認証されると、ＤＭＳは、ＤＭＳ上に保存されているクライアント装置用の関連構成バンドルを識別する。ＤＭＳは、クライアント装置用の関連構成バンドルの識別を、バンドル要求レコード（８１０）のdeviceIDフィールド（２５５）およびgatewayIDフィールド（２６１）に依存して行う。ＤＭＳは、識別した関連構成バンドルを、実行のためにサービス・ゲートウェイにダウンロードする。代替方法として、ＤＭＳは、関連構成バンドルをユーザのＣＳＰに要求する。ＤＭＳは、関連構成バンドルをＣＳＰから受け取り、関連構成バンドルをユーザのサービス・ゲートウェイにダウンロードする。
【００８０】
図４は、クライアント装置に対して、製造者（１３２）から、構成バンドル（１２２）を受け取ること（２０２）、およびユーザ（２１０）から、ユーザ提供の構成パラメータ（２１２）を受け取ること（２０８）の方法を示すデータ・フロー図である。図４の方法では、クライアント装置用の構成バンドル（１２２）を製造者（１３２）から受け取ること（２０２）は、構成バンドル（１２２）をデータベース（３０４）に保存すること（３０２）を含む。
【００８１】
図４の方法では、構成バンドルをデータベースに保存すること（３０２）は、ＣＳＰ（１０４）によって実行される。ＣＳＰ（１０４）は、構成バンドルを製造者（１３２）から受け取り（２０２）、構成バンドルをデータベース（３０４）に保存する。一例では、ＣＳＰは、ＣＳＰのユーザに関係なく、多くの製造者から構成バンドルを受け取る。ＣＳＰは、このサービス・プロバイダがサポートするすべての製造者に関するすべての構成バンドルの現時点での（current）データベースを維持している。
【００８２】
図４のデータベース（３０４）では、構成バンドル（１２２）はクライアント装置識別子（３０８）によるインデックスが付与されている。クライアント装置識別子（３０８）の例には、製造者名および型番号（model number）、シリアル番号、または当業者の想起するであろう他のどのようなクライアント装置識別子も含まれる。データベース（３０４）にクライアント装置識別子（３０８）によるインデックスを付与することにより、ＣＳＰは、構成を必要とするクライアント装置について通知を受けると、構成すべきクライアント装置用の適切な構成バンドルを取り出すことができる。
【００８３】
図４の方法では、ユーザ（２１０）から、クライアント装置用のユーザ提供の構成パラメータ（２１２）を受け取ること（２０８）は、構成パラメータ（２１２）をデータベース（３０４）に保存すること（３０６）を含む。本発明の方法の多くの例では、構成パラメータ（２１２）をデータベース（３０４）に保存すること（３０６）は、ＣＳＰによって実行される。ＣＳＰは、構成パラメータを構成サービスのユーザから受け取る。ＣＳＰは、ユーザ提供の構成パラメータを一度受け取り、ユーザ提供の構成パラメータを保存する。
【００８４】
ユーザ提供の構成パラメータ（２１２）を保存すること（３０６）によって、ＣＳＰにより、ユーザ向けの構成が自動化され、ユーザのゲートウェイ上で追加されるクライアント装置（１２０）のそれぞれの構成に対するユーザの関与が低減される。ベンダ提供の構成パラメータ、すなわち、たとえばクライアント装置識別子を受け取ると、ＣＳＰは、適切な構成バンドルおよびユーザ提供の構成パラメータを、ユーザがそれ以上介入しなくても受け取ることができる。
【００８５】
図５は、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）を構成バンドル（１２２）と関連付けること（２１４）の方法を示すデータ・フロー図である。図５の方法では、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）と関連付けること（２１４）は、構成バンドル（１２２）をデータベース（３０４）からクライアント装置識別子（３０８）に依存して取り出すこと（４０２）、および、ユーザ提供の構成パラメータ（２１２）をデータベース（３０４）からユーザ識別子（３１０）に依存して取り出すこと（４０４）を含む。
【００８６】
図５の方法では、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）を構成バンドル（１２２）と関連付けること（２１４）は、ユーザ提供の構成パラメータ（２１２）を製造者（１３２）から受け取った構成バンドルに入力すること（２１３）を含む。ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）を構成バンドル（１２２）と関連付けること（２１４）は、また、ベンダ提供の構成パラメータ（２０６）を製造者（１３２）から受け取った構成バンドルに入力すること（２１５）を含む。
【００８７】
図５の方法では、ベンダ提供の構成パラメータ（２０６）およびユーザ提供の構成パラメータ（２１２）を構成バンドル（１２２）と関連付けること（２１４）は、ＣＳＰ（１０４）によって実行される。一例では、ユーザ提供の構成パラメータ（２１２）を製造者（１３２）から受け取った構成バンドルに入力すること（２１３）、およびベンダ提供の構成パラメータ（２０６）を製造者（１３２）から受け取った構成バンドル（１２２）に入力すること（２１５）は、ＣＳＰ（１０４）の運営するWebサイトによって実行される。クライアント装置（１２０）の購入後、ベンダはＣＳＰのWebサイトにログ・オンする。ベンダ（１０２）は、ベンダ提供の構成パラメータ（２０６）をそのWebサイトを通して提供し、ＣＳＰ（１０４）は、ベンダ提供の構成パラメータ（２０６）をクライアント装置（１２０）用の構成バンドル（１２２）に入力する。ベンダ（１０２）は、また、ユーザの識別を、userID、氏名、または他の任意のユーザ識別子（３１０）によって行う。ＣＳＰ（１０４）は、userID、氏名、または他の任意のユーザ識別子によるインデックスの付与されたデータベースに保管されているユーザ提供の構成パラメータ（２１２）を取り出し、ユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）に入力する。
【００８８】
ＣＳＰ（１０４）がユーザ提供の構成パラメータ（２１２）をユーザ（２１０）から受け取っていなかった場合には、ＣＳＰは、そのユーザからのユーザ提供の構成パラメータ（２１２）の受け取りを、ＣＳＰのWebサイトを通して行うことができる。ＣＳＰ（１０４）は、ユーザ提供の構成パラメータ（２１２）をそのWebサイトを通して受け取り、ユーザ提供の構成パラメータ（２１２）をクライアント装置（１２０）用の構成バンドル（１２２）に入力する。
【図面の簡単な説明】
【００８９】
【図１】本発明の様々な実施形態の諸方法に従ってクライアント装置を構成することの方法を実装するのに有用な情報ハンドリング・アーキテクチャおよび様々なエンティティを示す構成図である。
【図２】クライアント装置を構成することの例示的な方法を示すデータ・フロー図である。
【図３】クライアント装置を検出することおよび関連する構成バンドルを要求することの例示的な方法を示すデータ・フロー図である。
【図４】製造者から構成バンドルを受け取ることおよびユーザからユーザ提供の構成パラメータを受け取ることの例示的な方法を示すデータ・フロー図である。
【図５】ベンダ提供の構成パラメータおよびユーザ提供の構成パラメータをクライアント装置の構成バンドルと関連付けることの例示的な方法を示すデータ・フロー図である。
【図１】
2006510075.tif 000003
【図２】
2006510075.tif 000004
【図３】
2006510075.tif 000005
【図４】
2006510075.tif 000006
【図５】
2006510075.tif 000007
【手続補正書】
【提出日】平成16年10月19日(2004.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも１つの受信ユニットおよび少なくとも１つの関連付けユニットを有する構成設定ユニットを含むネットワーク・システムネットワーク・システムにおいて、クライアント装置を構成設定するための方法であって、
前記受信ユニットがは、
製造者から前記クライアント装置用のインストール可能な構成設定バンドルを、
ベンダから前記クライアント装置用のベンダ提供の構成設定パラメータを、
ユーザから前記クライアント装置用のユーザ提供の構成設定パラメータを各々受け取るステップとように構成および構築され、
前記関連付けユニットがは、
前記受信ユニットとやり取りを行い、前記ベンダ提供の構成設定パラメータおよび前記ユーザ提供の構成設定パラメータを前記クライアント装置用の前記構成設定バンドルと関連付けるのに適しており、、この関連付けは前記クライアント装置用のインストール可能な関連付けられた構成設定バンドルを作成するステップと、
ことを目的とするを含む方法。
【請求項２】
前記ネットワークシステムが前記構成ユニットおよび前記ユーザのためのサービス・ゲートウェイを相互接続する管理ユニットをさらに含み、
前記管理ユニットがは、
前記関連付けられた構成設定バンドルを前記構成設定ユニットから受け取るステップと、
ように、また前記関連付けられた構成設定バンドルを前記ユーザのための前記サービス・ゲートウェイへとダウンロードするように構成および構築さステップとを含むれる、請求項１に記載の方法。
【請求項３】
前記関連付けられた構成設定バンドルを実行するステップことをさらに含む、請求項１または２に記載の方法。
【請求項４】
前記クライアント装置を検出する目的で、前記クライアント装置が接続されているかどうか、前記サービス・ゲートウェイを検査するステップことをさらに含む、請求項１ないし３の一項いずれかに記載の方法。
【請求項５】
前記クライアント装置が前記サービス・ゲートウェイに接続されていることを検出したことに応答してときに、前記サービス・ゲートウェイが、前記クライアント装置用の関連付けられた構成設定バンドルを要求するステップことをさらに含む、請求項４に記載の方法。
【請求項６】
製造者から、前記クライアント装置用の構成設定バンドルを受け取ることが、前記構成設定バンドルを前記構成設定ユニットの前記受信ユニットに接続されたデータベースまたは前記受信ユニットに内蔵されたデータベースに保存するステップことを含む、請求項１ないし５の一項に記載の方法。
【請求項７】
前記データベースに、前記クライアント装置に対するクライアント装置識別子によるインデックスを付与するステップを含む、請求項６に記載の方法。
【請求項８】
ユーザから、前記クライアント装置用のユーザ提供の構成設定パラメータを受け取ることステップが、前記構成設定パラメータを前記構成設定ユニットの前記受信ユニットに接続されたデータベースまたは前記受信ユニットに内蔵されたデータベースに保存するステップことを含む、請求項１に記載の方法。
【請求項９】
前記ベンダ提供の構成設定パラメータおよび前記ユーザ提供の構成設定パラメータを前記クライアント装置用の前記構成設定バンドルと関連付けることステップが、前記構成設定バンドルをデータベースからクライアント装置識別子に依存して取り出すことステップと、および、前記ユーザ提供の構成設定パラメータをデータベースからユーザ識別子に依存して取り出すステップとことを含む、請求項１ないし８のいずれかに一項に記載の方法。
【請求項１０】
クライアント装置を構成設定するためのネットワーク・システムネットワーク・システムであって、
少なくとも１つの受信ユニットおよび少なくとも１つの関連付けユニット付きの構成設定ユニットを含み、
前記受信ユニットは、
製造者から前記クライアント装置用のインストール可能な構成設定バンドルを、
ベンダから前記クライアント装置用のベンダ提供の構成設定パラメータを、
ユーザから前記クライアント装置用のユーザ提供の構成設定パラメータを受け取るように構成構成されおよび構築され、
前記関連付けユニットは、
前記受信ユニットとやり取りを行い、前記ベンダ提供の構成設定パラメータおよび前記ユーザ提供の構成設定パラメータを前記クライアント装置用の前記構成設定バンドルと関連付けるのに適しており、この関連付けは前記クライアント装置用のインストール可能な関連付けられた構成設定バンドルを作成することを目的とする
システム。
【請求項１１】
コンピュータ可読媒体と、前記コンピュータ可読媒体上に格納されプログラム・コードを有するコンピュータ・プログラムとを有するコンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ上で動作するとき、前記プログラム・コードが請求項１ないし９のいずれか一項によるに記載の方法を実行するするのに適する、コンピュータ・プログラム。
【請求項１２】
プログラム・コードを有するコンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ上で動作するとき、前記プログラム・コードが請求項１ないし９のいずれかに記載の一項による方法を実行するのに適する、コンピュータ・プログラム。
【請求項１３】
格納されたコンピュータ・プログラムを有するコンピュータ可読媒体であって、前記コンピュータ・プログラムは、前記コンピュータ・プログラムがコンピュータ上で動作するとき、請求項１ないし９のいずれに記載のか一項による方法を実行するのに適する前記プログラム・コードを含む、コンピュータ可読媒体。
【国際調査報告】
2006510075.tif 000008
2006510075.tif 000009
2006510075.tif 000010