(57)【要約】  ネットワークで使用するＩＰセットトップボックス（２００）について、装置（２００）と、装置をネットワーク内で更新するための方法（３００）とを含めて説明する。方法（３００）は、デバイスをネットワークにインターフェイスで接続するステップ（３０２）と、ネットワークをデバイスにインターフェイスで接続することに関連するサービスを開始するステップ（３０４）と、サービスが適切に動作しているかを判定するステップ（３０５）と、サービスが適切に動作していない場合にサービスに関連する情報を要求するステップ（３０６）と、デバイスを再起動することなく要求した情報を使用してサービスを更新するステップ（３１４）とを含む。装置（２００）は、サービスに関連する更新の要求とサービスに関連する更新済み値とを含む通信をネットワークと行うためのネットワークインターフェイス（２５６）と、サービスに関連する値を格納するためのメモリ（２３０）と、ネットワークインターフェイス（２５６）およびメモリ（２３０）に動作可能に結合され、装置（２００）を再起動することなくメモリ（２５６）内の値への変更を可能にすることにより装置内のサービスに関連する更新を管理するプロセッサ（２１０）とを含む。
2009506421.tif 000002
【特許請求の範囲】
【請求項１】
デバイスを構成する方法（３００）であって、
前記デバイスをネットワークにインターフェイスで接続するステップ（３０２）と、
前記ネットワークを前記デバイスにインターフェイスで接続することに関連するサービスを開始するステップ（３０４）と、
前記サービスが適切に動作しているかを判定するステップ（３０５）と、
前記サービスが適切に動作していない場合に前記サービスに関連する情報を要求するステップ（３０６）と、
前記デバイスを再起動することなく、前記要求した情報を使用して前記デバイスを更新するステップ（３１４）と
を備えたことを特徴とするデバイスを構成する方法（３００）。
【請求項２】
前記サービスに関連する情報を前記デバイス内に格納するステップ（３０８）をさらに備えたことを特徴とする請求項１に記載の方法（３００）。
【請求項３】
前記サービスは、前記デバイスのオペレーティングシステムに含まれていることを特徴とする請求項１に記載の方法（３００）。
【請求項４】
前記デバイスを更新するステップ（３１４）は、前記サービスの起動中に前記サービスを更新するステップを含むことを特徴とする請求項１に記載の方法（３００）。
【請求項５】
前記サービスを更新するステップ（３１４）は、前記サービスを再起動するステップを含むことを特徴とする請求項１に記載の方法（３００）。
【請求項６】
前記サービスを再起動するステップは、
前記サービスを停止するステップと、
前記サービスを停止した直後に前記サービスを起動するステップと
を含むことを特徴とする請求項５に記載の方法（３００）。
【請求項７】
前記サービスは、ネットワーク管理プロトコルサービスであることを特徴とする請求項１に記載の方法（３００）。
【請求項８】
前記サービスは、タイムプロトコルサービスであることを特徴とする請求項１に記載の方法（３００）。
【請求項９】
前記サービスに関連する情報を要求するステップ（３０６）は、動的ホスト構成プロトコルを使用することを特徴とする請求項１に記載の方法（３００）。
【請求項１０】
前記サービスが適切に動作しているかを判定するステップ（３０５）は、前記デバイス内の異なるサービスを使用することを特徴とする請求項１に記載の方法（３００）。
【請求項１１】
ネットワークを介して、サービスに関連する更新の要求および前記サービスに関連する更新済み値を含む通信を実行するネットワークインターフェイス（２５６）と、
前記サービスに関連する値を格納するメモリ（２３０）と、
前記ネットワークインターフェイス（２５６）および前記メモリ（２３０）に動作可能に結合され、前記メモリ（２３０）内の前記サービスに関連する値を前記サービスに関連する更新済み値に変更することによって、再起動することなく、前記サービスに関連する前記更新を管理するプロセッサ（２１０）と
を備えたことを特徴とする装置（２００）。
【請求項１２】
前記サービスは、タイムプロトコルサービスであることを特徴とする請求項１１に記載の装置（２００）。
【請求項１３】
前記サービスは、ネットワーク管理プロトコルサービスであることを特徴とする請求項１１に記載の装置（２００）。
【請求項１４】
音声およびビデオを表示するために使用されることを特徴とする請求項１１に記載の装置（２００）。
【請求項１５】
セットトップボックスであることを特徴とする請求項１１に記載の装置（２００）。
【請求項１６】
前記ネットワークは、デジタル加入者線ネットワークであることを特徴とする請求項１１に記載の装置（２００）。
【請求項１７】
前記サービスは、オペレーティングシステムに含まれていることを特徴とする請求項１１に記載の装置（２００）。
【請求項１８】
ネットワークにインターフェイスで接続する手段（２５６）と、
前記ネットワークにインターフェイスで接続することに関連するオペレーティングシステム内のサービスを開始する手段（２１０）と、
前記サービスに関連する情報を要求する手段（２１０）と、
前記情報を前記デバイス（２００）内に格納することにより、前記オペレーティングシステムを再起動することなく、前記サービスを更新する手段（２３０）と
を備えたことを特徴とするデバイス（２００）。
【請求項１９】
ネットワークに接続されたデバイスに構成データを提供する方法（３００）であって、
前記ネットワークに接続されたデバイス内で開始されたサービスに関連する情報の要求を受信するステップ（３０６）と、
前記デバイスを再起動することなく、前記デバイス内の前記サービスを更新するための、前記サービスに関連するアップデートコードを提供するステップ（３０８）と
を含むことを特徴とする方法（３００）。
【請求項２０】
前記サービスは、ネットワーク管理プロトコルサービスであることを特徴とする請求項１９に記載の方法（３００）。
【請求項２１】
前記サービスは、タイムプロトコルサービスであることを特徴とする請求項１９に記載の方法（３００）。
【請求項２２】
前記受信するステップは、動的ホスト構成プロトコルを使用することを特徴とする請求項１９に記載の方法（３００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、ネットワークに接続されたデバイスに関する。より詳細には、本発明は、ネットワークを介して提供される情報を使用して、ネットワークに接続したデバイスのオペレーティングシステムを構成することに関する。
【背景技術】
【０００２】
ここでは、以下に本願において説明および／または請求する本発明のさまざまな側面に関連する技術のさまざまな側面を紹介することを目的としている。本説明は、本発明のさまざまな側面のよりよい理解を促す背景情報を提供するのに役立つと考えられる。したがってこれらの記述は、このような観点において読まれるべきであり、先行技術として認めるといった観点で読まれるべきではないことを理解されたい。
【０００３】
インターネットへのアクセス機能は拡張を続け、より多くのメディアを利用するより多くの種類のデバイスが提案されてきている。顧客は今や従来の電話回線サービスを通じてだけでなく、ケーブルネットワークまたは衛星ネットワークを通じて、あるいはセルラーネットワークまたはローカル無線ネットワークを通じて、インターネットにアクセスすることができる。さらに、電話回線サービスもデジタル加入者線（ＤＳＬ）サービスを実現できるように拡張されている。
【０００４】
インターネット上で利用できるサービスの種類も、ウェブサイトのサーフィンや電子メールだけでなく、インスタントメッセージングや音楽およびビデオの配信も対応するように拡張された。音声およびビデオを含むリアルタイムサービスも、ブロードバンドネットワークの出現によってサービスの配信速度とアクセス速度が向上するにつれ、より一般的になった。これらの高度な機能の多くは、サービスプロバイダにとっての付加価値を見込むことができるため、通常のインターネットアクセスへの追加機能として提供されている。
【０００５】
これらの新しいサービスの多くの根本的な問題は、ネットワーク制御の問題である。サービスプロバイダは、ネットワークへのアクセスを制限および制御することによってネットワークを管理することが比較的多い。ほとんどのサービスプロバイダは、自らのネットワークで使用する屋内機器を顧客に提供する。これらのサービスプロバイダは屋内機器に独自のソフトウェアを納めており、ネットワークへのアクセスが可能になる。さらに重要なことに、専用のソフトウェアを使用することで、サービスプロバイダはサービスプロバイダが提供する高度な機能へのアクセスをより適切に管理することができる。
【０００６】
顧客が家庭内で使用する屋内機器を製造する企業は、原則として個々のサービスプロバイダのネットワーク用に設計しなければならない機器を、いかにして最も効率的に製造するかという課題に直面している。一部のケースでは、サービスプロバイダが特殊なソフトウェアを屋内機器に提供できるようにするために、屋内機器が家庭内に設置された後に、サービスプロバイダからネットワークを介してソフトウェアをダウンロードする。その後、将来の更新が必要になればそれに応じてダウンロードされてインストールされる。
【０００７】
屋内機器で使用されるソフトウェアオペレーティングシステムは、プライベートネットワークの限られた環境内で使用する場合に、制約が生じるという問題がある。時間取得ツールやリモート管理ツールといった通常のインターネットサービスは、オペレーティングシステムが屋内機器の実行を開始した後にインストールするのは通常困難である。中心的な問題の１つは、製造業者がサービスプロバイダのネットワークに関する情報を、出荷前にオペレーティングシステムを最初にインストールするときに知る必要があるということである。一部のネットワークは一定の秘密性を保持するよう設計されているため、オペレーティングシステムの構成に必要な情報のすべてを利用できないことや、それらの情報の定期的な更新が必要なこともある。さらに、基本サービスなどのオペレーティングシステムの重要な部分をダウンロードするのは、不都合な場合も多い。これらのサービスは、不正な操作を防ぐために通常は保護されており、また新しい情報が供給されても、屋内機器が適切な情報をすべて持たないために不正に動作することがある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
最初のインストール後にこれらの重要なサービスを提供するための２つの一般的な手法は、オペレーティングシステム全体を屋内機器にダウンロードするか、サービスについての特定の情報をダウンロードするかである。どちらの手法でも、屋内機器は新しい情報をオペレーティングシステムに提供するために再起動またはリブートがなされる。屋内機器のリブートは、通常は最初のブート時に重要なサービスが適切に開始されなかった場合に必要である。これらのサービスを後で開始することはできない。なぜなら、最初のブート時にはサービス用にメモリが割り当てられていないからである。さらに、新しいオペレーティングシステム情報のダウンロード後に屋内機器をリブートすると、ネットワークと顧客の両方から稼働時間が制限されることとなり、場合によってはそうしたリブートが顧客にとって都合の悪い時間に行われることがある。したがって、顧客の屋内機器で効率的に重要なネットワーク情報を要求および受信し、その情報を処理することが求められている。
【課題を解決するための手段】
【０００９】
本発明は、ネットワーク内のデバイスを更新するための方法および装置に関する。方法は、デバイスをネットワークにインターフェイスで接続するステップと、ネットワークをデバイスにインターフェイスで接続することに関連するサービスを開始するステップと、サービスが適切に動作しているか判定するステップと、サービスが適切に動作していない場合にサービスに関連する情報を要求するステップと、デバイスを再起動することなく要求したサービスを使用してサービスを更新するステップとを含む。装置は、サービスに関連する更新の要求とサービスに関連する更新済み値とを含む通信をネットワークと行うためのネットワークインターフェイスと、サービスに関連する値を格納するためのメモリと、ネットワークインターフェイスおよびメモリに動作可能に結合され、メモリ内の値を変更できるようにすることによって、装置を再起動することなく装置内のサービスに関連する更新を管理するプロセッサとを含む。
【００１０】
本発明の特性および利点は、例として示された以下の説明から、より明らかとなるであろう。
【発明を実施するための最良の形態】
【００１１】
本発明の１つまたは複数の特定の実施形態について以下に説明する。これらの実施形態について簡潔に説明するために、実際の実装のすべての特徴について本明細書で説明することはしない。そうした実際の実装の開発では、あらゆる工学プロジェクトや設計プロジェクトの場合と同じく、システム関連およびビジネス関連の制約への適合など、開発者の特定の目的を実現するために、実装に際し具体的な数多くの事項を決定しなければならず、それらの決定は実装ごとに大きく異なることがあるということを理解されたい。さらに、そうした開発努力は複雑かつ時間のかかるものになるかもしれないが、それでも本開示の利点を理解する当業者にとっては決まりきった設計作業、作成作業、および製造作業になるであろうことを理解されたい。
【００１２】
ここで図１を参照すると、本発明を使用する例示的なシステム１００のブロック図が示されている。この図は、サービスプロバイダ１２０を１つまたは複数の顧客内１３０に接続するネットワークを示している。ローカルのネットワークサービスプロバイダ１２０は、光ファイバ回線などの適切なネットワークバックボーンを通じて、インターネットへの接続を管理する。ローカルネットワークサービスプロバイダ１２０はまた、ローカルネットワークへのインターフェイスも維持する。好ましい実施形態では、ローカルネットワークサービスプロバイダは電話回線上のＤＳＬネットワーク上で動作する。この態様では、ローカルネットワークサービスプロバイダは、ローカルネットワークとインターネットとの間のゲートウェイとして機能する。ローカルネットワークサービスプロバイダ１２０はまた、１つまたは複数のサービス１２２ａ〜１２２ｎを動作させたり、維持したり、またはこれらのサービスに接続させたりする。これらのサービスには、ローカル電話サービス、ビデオオンデマンドサービス、コミュニティ放送サービス等が含まれる。
【００１３】
ローカルネットワークは、１つまたは複数の顧客家庭または顧客内に接続することができる。説明を簡単にするために、１つの接続のみを顧客屋内１３０として示している。顧客内１３０の内部または顧客内１３０において、ネットワークインターフェイスデバイス１３２は、ローカルネットワークサービスプロバイダ１２０と通信するための、ローカルネットワークへのインターフェイスを提供する。ネットワークインターフェイスデバイス１３２は、電話回線上で信号を受信および送信するために使用される。ネットワークインターフェイスデバイス１３２はまた、受信信号の復調と送信信号の変調を行うこともできる。ネットワークインターフェイスデバイス１３２はさらに、ローカルネットワークからの信号を、インターネットプロトコル（ＩＰ）形式など、セットトップボックス１３４が必要とする形式で接続するために必要な任意の変換も行う。セットトップボックス１３４は、供給された信号をＩＰなどの形式から音声信号およびビデオ信号に変換し、それらの音声信号およびビデオ信号をユーザーデバイス１３６に提供できる。例示的なユーザーデバイス１３６は、テレビ録画装置またはビデオカセット録画装置、コンピュータ、コンピュータ周辺機器等でよい。
【００１４】
ここで図２を参照すると、本発明を利用する例示的なセットトップボックス２００のブロック図を示す。このセットトップボックス２００は、通常はＩＰ−ＳＴＢ  ２００と呼ばれる。このブロック図では、ＩＰ−ＳＴＢ  ２００に関連する動作に関連する回路もすことができるが、これらの回路はビデオディスプレイ受信機などのより大きな構造を持つ装置内におくこともできる。
【００１５】
ＩＰ形式の信号は、イーサネット（登録商標）ブロック２５６を通じて、ネットワークインターフェイスデバイス１３２とＩＰ−ＳＴＢ  ２００との間で通信される。イーサネット（登録商標）ブロック２５６は、ネットワークインターフェイスデバイス１３２とＩＰ−ＳＴＢ  ２００との間をケーブル接続するためにコネクタ形式の物理インターフェイスを提供することに加えて、ネットワークインターフェイスデバイス１３２に接続するために必要な特定の信号調整も行う。
【００１６】
イーサネット（登録商標）ブロック２５６は、ＩＰ−ＳＴＢ  ２００への通信インターフェイスの１つを提供する。さらにＩＰ−ＳＴＢ  ２００は、同じく外部デバイスへの通信を提供することができるＵＳＢブロック２５４を含む。ネットワークインターフェイスデバイスは、デバイスの主要通信インターフェイスとして、これらのインターフェイスのいずれかを交互に使用できる。ＩＰ−ＳＴＢ  ２００はまた、ＵＳＢブロック２５４を補助通信に使用できる。たとえば、ＵＳＢブロック２５４は、コンピュータまたはプリンタなどのコンピュータ関連デバイスへの接続を可能にすることができる。当業者に知られているように、他の通信インターフェイスを設けることもできる。
【００１７】
イーサネット（登録商標）ブロック２５６は、ＵＳＢブロック２５４と共に、マイクロプロセッサ２１０に接続する。イーサネット（登録商標）ブロック２５６を通じて渡されるＩＰ信号は、マイクロプロセッサ２１０に提供される。マイクロプロセッサ２１０は、多くの家庭用コンピュータに含まれているような標準タイプのものでよい。マイクロプロセッサ２１０は、必要なインターフェイス回路のすべてを内部に含むことができ、また一部の用途では、パフォーマンス要件やアーキテクチャ要件に応じて、メモリコントローラや入力／出力（Ｉ／Ｏ）コントローラなどの随伴回路（図示せず）を使用することもできる。
【００１８】
マイクロプロセッサ２１０は、ＩＰ信号を音声データおよびビデオデータのパケットに処理するが、さらに音声データパケットおよびビデオデータパケットを独立したデジタル音声データストリームおよびデジタルビデオデータストリームに復号することもできる。加えて、マイクロプロセッサ２１０は、ＩＰ−ＳＴＢ  ２００が動作中に使用するすべての識別子タグと制御情報を解析する。マイクロプロセッサ２１０はさらに、イーサネット（登録商標）ブロック２５６経由でネットワークインターフェイスデバイス１３２を通じて通信をネットワークシステムに返す。マイクロプロセッサ２１０からの通信は、主にコマンド情報および制御情報と、ユーザーインターフェイスのアップデートコードと、セキュリティおよびメンテナンス用のデバイス登録情報とで構成されてよい。
【００１９】
読み取り専用メモリ（ＲＯＭ）２２０は、マイクロプロセッサ２１０に接続され、組み立て時に製品製造業者によって提供され得る情報を含む。ＲＯＭ２２０はまた、マイクロプロセッサ２１０が信号を処理するために実行する制御コードを格納する。たとえば、ＲＯＭ２２０は、マイクロプロセッサ２１０を起動するためのブートソフトウェアを格納し、ネットワークシステム上での動作に必要な任意の初期サービスに関連する値をさらに格納する。
【００２０】
メモリ２３０は、マイクロプロセッサ２１０に結合され、オペレーティングシステム用のコード命令と、オペレーティングシステムによって使用されるメモリアドレスへのポインタなどの値と、オペレーティングシステムへのすべての更新と、信号処理中に生成されるすべての途中の値とを格納するため、マイクロプロセッサ２１０に使用される。メモリ２３０は、１つまたは複数の種類のランダムアクセスメモリ（ＲＡＭ）でよく、あるいはハードディスクドライブを含むことができる。メモリ２３０はさらに、動作を最適化するために、複数のメモリサブ回路に分離することができる。一実施形態では、長期的なストレージに使用することもでき、変更も可能なフラッシュメモリに、オペレーティングシステムを格納することができる。ＲＯＭ２２０は、マイクロプロセッサ２１０に対し、フラッシュメモリ内の所定のメモリ位置から命令を実行するように指示できる。その場合、メモリ２３０内のフラッシュメモリは、メモリ２３０内のＲＡＭの部分から特定の値を取得するコマンドを含むことができる。メモリ２３０内の残りのＲＡＭは、着信する受信信号のバッファリングおよび中間処理のための一時ストレージとして使用できる。
【００２１】
マイクロプロセッサ２１０は、変換済みのビデオプログラムストリームおよび音声プログラムストリームをビデオエンコーダ２５０および音声エンコーダ２５２に提供する。ビデオエンコーダ２５０および音声エンコーダ２５２は、ビデオプログラムストリームおよび音声プログラムストリームをビデオ信号および音声信号に変換する。ビデオ信号および音声信号はアナログ信号でよい。一実施形態では、ビデオ信号はフォノジャックを通じて供給される合成ビデオであり、音声信号はその他の２つのフォノジャックを通じて供給される左右のアナログ信号である。マイクロプロセッサ２１０はさらに、外部デバイスで使用するために、デジタルのビデオプログラムストリームおよび音声プログラムストリームを独立したインターフェイス（図示せず）に提供することができる。
【００２２】
ユーザーインターフェイス２０２により、マイクロプロセッサ２１０を動作させてＩＰ−ＳＴＢ  ２００が制御される。一実施形態では、このユーザーインターフェイスは、リモコン（図示せず、遠隔制御装置）から信号を受信する赤外線（ＩＲ）受信機である。ユーザーは所望の操作によりリモコンに入力する。リモコンは、ユーザーインターフェイス２０２が受信できるように信号を送信する。ユーザーインターフェイス２０２は、その信号を処理し、処理済みのユーザーインターフェイス信号をマイクロプロセッサ２１０に提供する。すべての回路を作動させる電力は、電源ケーブルを通じて外部の壁コンセントに接続される電源２８０から供給される。
【００２３】
ＩＰ−ＳＴＢ  ２００はまた、複数のレベルのセキュリティを利用できる。オペレーティングシステムは通常、主に命令セットの破壊を防ぐ一連のチェックサムにより、最低限のレベルで保護されるだけである。ネットワークシステムから提供されるデータの内容のセキュリティは、ほとんどのオペレーティングシステムでその一部として利用できるデジタル権限管理プロトコルにより管理される。この管理プロトコルは、サービスプロバイダがネットワークを通じて認可することもできる。他のすべてのセキュリティ情報およびセキュリティプロトコルは、サービスプロバイダがネットワークを介して提供することができる。
【００２４】
図３は、本発明の実施形態であるプロセス３００を表すフローチャートである。ステップ３０２で、ＩＰ−ＳＴＢはオペレーティングシステムの初期化またはブートを実行する。システムブートは、ＩＰ−ＳＴＢ  ２００に最初に電源を投入するときか、あるいはＩＰ−ＳＴＢ  ２００をネットワークに接続または再接続するときに実行できる。オペレーティングシステムの初期化には、ＩＰ−ＳＴＢ  ２００がネットワークの通知（ｎｅｔｗｏｒｋ  ａｔｔｅｎｔｉｏｎ）およびネットワークへの参加（ｉｎｃｌｕｓｉｏｎ  ｏｎ  ｎｅｔｗｏｒｋ）を要求していることを明確するために、ＩＰ−ＳＴＢ  ２００のネットワークへの最初のインターフェイス処理を含めることもできる。さらに、このステップは、ＩＰ−ＳＴＢ  ２００が通常の動作状態にあり、オペレーティングシステムへの更新がネットワークシステムからなされる場合は存在しなくてよい。前述したように、オペレーティングシステムを初期化またはブートするためのコードは、通常はＲＯＭ２２０内に格納され、オペレーティングシステムコード（静的コードとしばしば呼ばれる）とアップデートコード（動的コードとしばしば呼ばれる）は、メモリ２３０内に格納できる。ＲＯＭコードが実行された後に、静的コードがマイクロプロセッサ２１０によって実行される。ステップ３０４で、ＩＰ−ＳＴＢ  ２００の動作に関連するサービスを開始するコードが実行される。これらのサービスには、内部的なメモリまたはインターフェイスの管理、時刻管理、およびネットワーク管理に関連するサービスが含まれる。ネットワーク管理に関連するサービスは、開始することは可能だが、起動時に十分なネットワーク情報が揃っていなかったり、不適切なネットワーク情報が存在したりすることにより、適切に機能しないことがある。ただし、後述するように、メモリなどのリソースをネットワークサービスのために適切に予約して割り当てるためには、ネットワークサービスが開始されることが重要である。サービスの開始に失敗すると、適切な情報を受信した後にＩＰ−ＳＴＢ  ２００をしばしばリブートしなければならなくなることに注意が必要である。前述したように、ＩＰ−ＳＴＢ  ２００をリブートまたは再起動すると、ネットワーク帯域幅が浪費されたり、ユーザーにとって不都合が生じたりすることがある。
【００２５】
さらに、開始済みサービスの少なくとも１つにおいて、他の開始済みサービス（特に、ネットワークに関連するサービス）が適切に開始されたか、および／または適切に動作しているかを判定することができることが好ましい。その後、ステップ３０５で、サービスが適切に動作しているかどうかが判定される。サービスが適切に動作している場合は、ステップ３１８で通常の使用を継続できる。
【００２６】
次にステップ３０６で、いずれかのサービスが適切に動作していない場合に、ローカルネットワークサービスプロバイダに通知してネットワークサーバーからの情報を要求するようＩＰ−ＳＴＢ  ２００に要求するコードが実行される。この通知ステップは、ＩＰ−ＳＴＢ  ２００のモデル番号やシリアルコードまたはＩＤコードなどの必要な登録情報をネットワークサービスプロバイダに提供するステップを含むことができる。
【００２７】
ステップ３０８で、ＩＰ−ＳＴＢ  ２００は、特定のネットワーク構成情報に関する情報をネットワークから受信する。この情報は、プロバイダが使用するサーバーの場所の識別子など、プロバイダのネットワーク運用に固有の情報を含むことができる。ステップ３１０で、マイクロプロセッサ２１０は、この構成情報が適切かどうかを判定する。情報が適切な場合は、ステップ３１４で、メモリに格納されていた値が新たに取得した値と置換される。情報が適切でない場合は、ステップ３１２で、エラーが発生したことが通知される。通知はいくつかの方法で実行できる。たとえば、特定の時間（たとえば、９０秒）が経過した後、ＩＰ−ＳＴＢ  ２００はリブートシーケンスを実行する。ＩＰ−ＳＴＢ２００はまた、サービス補助が必要になり得ることをネットワークサービスプロバイダに通知できる。
【００２８】
値が更新された後、ステップ３１６で、ＩＰ−ＳＴＢ  ２００内のコードは、新たに受信した情報を使用するすべてのサービスのための更新手続きを実行する。影響を受ける各サービスは、たとえばオペレーティングシステムの要件やサービスの動作の態様に応じて、独立した一意のアップデートコードを必要な場合もある。最後に、ステップ３１８で、ＩＰ−ＳＴＢ  ２００は動作が短時間中断されていた場合、通常の動作を再開する。すべてのダウンロード済み情報によってサービスが適切に更新されたこと、および全てのサービスが更新後に適切に機能していることを確認するため、追加のステップ（図示せず）が必要になる場合がある。
【００２９】
動的に構成することを可能にする機能を備えたオペレーティングシステムがある一方、この機能を厳密に制限するオペレーティングシステムも存在する。そうした制限のあるオペレーティングシステムの主要な問題は、サービスがブート時に直ちに起動され、オペレーティングシステムがその時点ですべての構成値についてメモリ位置および値のシステムレジストリを読み取るという問題から生じる。ネットワークタイムプロトコル（ＮＴＰ）機能と簡易ネットワーク管理プロトコル（ＳＮＭＰ）機能は、ネットワーク通信に関連する独立したサービスであり、オペレーティングシステムの要件に応じて制限される。これらの各サービスは、ＩＰ−ＳＴＢ  ２００の動作にとって重要である。ＮＴＰサービスは、動作時刻関数を起動するので、バッテリを使用して時刻を維持する必要はない。ＳＮＭＰサービスは、ＩＰ−ＳＴＢとネットワークとの間で安全な通信を確立するために重要である。本発明は、すべての必要なデータが最初に利用できない場合であっても、これらのサービスおよび同様の制限を持つ他のサービスを最初の起動時に開始し、最初に効果的に動作させることを可能にする。これらのサービスによって使用されるパラメータは、オペレーティングシステムの最初の起動が始まった後に、完全なリブートを必要とせずに変更または更新できる。
【００３０】
本発明では、サービスプロバイダが使用するローカルネットワークなどのネットワークからデバイスに情報を送信することを最初に要求する。サービスプロバイダが定義した情報をネットワークを介して受信すると、デバイスのメモリ（オペレーティングシステムのレジストリを含む）が更新され、サービスが更新されて、新しい値を使用することが可能になる。これらのサービスに関連する情報は、構成ファイルの特定の内容に加えてオプションも含むことができる動的ホスト構成プロトコル（ＤＨＣＰ）などのプロトコルによって、プロバイダのネットワークのいずれかに含めるようにすることができる。好ましい実施形態では、インターネットコメント要求２１３２番（ＲＦＣ２１３２）で定義される標準ＤＨＣＰオプション（番号４２）を使用して、ＮＴＰサーバーのインターネットプロトコル（ＩＰ）アドレスを伝えることができる。
【００３１】
オペレーティングシステムのサービスのためにネットワークに固有の情報を取得する処理は、システム起動の最も早い段階で行われることが好ましい。たとえば、ネットワーク固有情報の取得は、ＩＰ−ＳＴＢがネットワークサービスプロバイダを使用してＩＰアドレスを確立するときに行うことができる。ネットワーク上のシステムにＩＰアドレスが割り当てられるとき、プロバイダによってサポートされるオプションに基づき、パケットにオプションデータを含めることができる。このオプションデータは、たとえば、必要なＮＴＰアドレスを含むことができる。ＤＨＣＰオプションのその他の機能では、その他の新しい情報を含む構成ファイルを取得するためのサーバーおよび場所を定義することもできる。この情報には、後述するＳＮＭＰサービスによって使用される複数の値も含むことができる。
【００３２】
図４は、本発明の別の実施形態であるプロセス４００を示すフローチャートである。図４は、ＮＴＰサービスを更新するプロセスを示している。ＮＴＰサービスは、システムレジストリ内の情報を使用して、ＩＰ−ＳＴＢ  ２００の動作でオペレーティングシステムによって使用される時刻を定期的に同期させる。この時刻は、レジストリ内のメモリ位置で定義されているＮＴＰサービス用のサーバーと交信することによって同期がとられる。さらにオペレーティングシステムは、ＮＴＰサービスを開始および維持するため、レジストリ内の完全かつ有効だが必ずしも実用的ではないドメインネームシステム（ＤＮＳ）名を要求することがある。
【００３３】
図４のフローチャートは、最初にデバイスの電源を投入するところから始まるが、サービスが既に開始および実行されている状況にも対応する。ステップ４０２で、ＩＰ−ＳＴＢ  ２００は初期ブートシーケンスを開始する。このブートシーケンスにより、ステップ４０４、ステップ４０６、およびステップ４０８で、ＤＨＣＰサービス、ＮＴＰクライアントサービス、およびサービスコンフィギュレータをそれぞれ含む複数のサービスが開始される。ＤＨＣＰサービスは、ＩＰ処理スタックを設定し、処理で使用するＩＰアドレスを有する。ＮＴＰサービスは、システム時刻をＩＰ−ＳＴＢ  ２００に提供する。ＩＰ−ＳＴＢ  ２００は、時刻を使用して処理の妥当性ならびにイベントのスケジューリングおよび管理を実行することができる。サービスコンフィギュレータは、処理およびネットワークとの通信を管理するための、ＩＰ−ＳＴＢ２００内の常駐サービスである。サービスコンフィギュレータは、ネットワークから返されるオプション値を読み取り、値を更新してアップデートコードを管理する。サービスコンフィギュレータはまた、開始されたサービスが適切に動作しているか判定する。たとえば、サービスコンフィギュレータは、ＳＮＭＰサービスが開始されたが、追加の情報がネットワークからダウンロードされるまでは適切に動作しないことを最初に判断することができる。
【００３４】
ＮＴＰサービスが時刻を適切に更新するためにサーバーと交信するには、ドメイン名が必要である。しかし、ドメイン名をＩＰアドレスに直接マップすることは、オペレーティングシステムの制限内では不可能な場合がある。この制限を解決するために、静的名が「スタブ」ＩＰアドレスと共に構築時にローカルホストテーブルのレジストリエントリに配置され、既定のＮＴＰサービスは初期状態でこの名前を使用するように構成される。一般に「スタブ」ＩＰアドレスは、サービスによって有効なＩＰアドレスと認識されるが、サービスの適切な処理にはつながらないＩＰアドレスである。たとえば、すべてが０の「スタブ」ＩＰアドレスは、有効ではあるが、使用されないアドレスであると認識されるであろう。サービスがネットワーク上でこのアドレスを通じてドメインにアクセスしようと試みると、ＮＴＰサービスに関する有効なデータは返されない。このように、ＮＴＰサービスは開始でき、リソースおよびメモリのすべての割り当てはオペレーティングシステムによって実行されるが、システムクロックは適切に更新されることはない。
【００３５】
次に、ステップ４１０で、サービスコンフィギュレータは、提供するＤＨＣＰオプション４２要求に基づく情報を含むダウンロードをネットワークに要求し受信する。ステップ４１２では、新しい情報がＩＰ−ＳＴＢ  ２００内に既に存在する情報と比較される。エラーが見つかった場合は、ステップ４１４で、ユーザーにそのエラーが通知される。
【００３６】
エラーが見つからなかった場合は、ステップ４１６で、メモリに格納され静的名と関連付けられている古いＩＰアドレスが、新しい値と置換される。次に、ステップ４１８で、ＮＴＰサービスは停止し、直後に再起動する。ＮＴＰサービスを直後に再び起動すると、ＮＴＰサービスは同じレジストリエントリを読み取り、最初に使用したものと同じ静的名を使用してサーバーと交信する。しかし、更新済み情報が入力された後は、オペレーティングシステムは転送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）スタックを通じてローカルホストテーブルを使用して、サーバーの静的名を、メモリ内に格納される古い（「スタブ」）ＩＰアドレスを置換した新しい更新済みＩＰアドレスに解決する。これで、新しいＩＰアドレスは、ネットワーク上に位置する有効なサーバーのドメイン名に対応することとなる。ＮＴＰサービスは新しいＩＰアドレスから現在の時刻を取得でき、ＩＰ−ＳＴＢ  ２００はこの時間に同期することができる。ステップ４２０で、ＩＰ−ＳＴＢ  ２００は適切に同期がとれていることを確認する。適切な同期の確認には、以前に格納された時刻と比較することや、ＮＴＰサービスを通じて第２の時刻更新を要求し、それら２つの要求を比較することを含むことができる。時刻を同期できない場合は、ステップ４１４に戻り、ユーザーにエラーを報告する。ステップ４２２で、ＩＰ−ＳＴＢの通常の動作が再開される。
【００３７】
前述したように、ＮＴＰサービスは、起動時またはブート時のメモリ割り当てが要求されるかもしれない重要なネットワークサービスである。ＩＰ−ＳＴＢ  ２００は、電力が提供されない場合でも時刻を維持するバッテリを有さないことがある。加えて、時刻の定期的な更新は、ＩＰ−ＳＴＢ  ２００の継続的な動作と時刻エラーの修正にとって重要なことがある。したがってＮＴＰサービスは、この最初のステップ時に開始する必要がある可能性がある。しかし、有効なＩＰアドレスなどの適切な動作情報は、ＩＰ−ＳＴＢ  ２００の起動時には利用できないことがある。さらにＩＰ−ＳＴＢ  ２００は、起動時にインターネットへの直接アクセスを有していないことがある。サービスの起動に失敗すると、情報の取得後にシステムをリブートする必要性が生じるかもしれない。ＮＴＰサービスの開始を可能にしつつ、最初は不適当な方法で動作させることにより、メモリ割り当てが確立され、再起動動作を通じた更新を提供することが可能になる。さらに、たとえばネットワークの再構成などにより後で必要になった更新も、リブートを必要とすることなく実行できる。
【００３８】
ここで、図５は、本発明のさらに別の実施形態であるプロセス５００のフローチャートである。図５は、ＳＮＭＰサービスを更新するためのプロセスを示している。ＳＮＭＰサービスの場合、情報を提供し、サービスプロバイダがサービスプロバイダのローカルネットワークへのアクセスを制御および制限することによって、ネットワーク上により安全な環境を作成することが可能となる。この情報はサービスプロバイダ間で異なる場合があり、結果として製造時にＩＰ−ＳＴＢ２００に格納しておくのは、やはり困難である。しかし、ＮＴＰサービスと異なり、標準のＤＨＣＰオプションで利用できる情報は、ＳＮＭＰセキュリティに必要なものを提供するには不十分である。
【００３９】
プロセス５００は、最初にＩＰ−ＳＴＢの電源を導入するかブートするところから始まるが、このフローチャートはサービスが既に開始および実行されている状況にも対応することができる。ステップ５０２で、ネットワークに接続されたデバイスは初期ブートシーケンスを開始する。このブートシーケンスにより、ステップ５０４、ステップ５０６、およびステップ５０８で、ＤＨＣＰサービス、ＳＮＭＰクライアントサービス、およびサービスコンフィギュレータをそれぞれ含む複数のサービスが開始される。ＤＨＣＰサービスは、ＩＰ処理スタックを設定し、処理で使用するＩＰアドレスを有する。ＳＮＭＰサービスは、たとえばネットワークセキュリティプロトコル情報をＩＰ−ＳＴＢ  ２００に提供する。サービスコンフィギュレータは、ＩＰ−ＳＴＢ  ２００内の常駐のサービスであり、動作およびネットワークとの通信を管理する。サービスコンフィギュレータは、ネットワークから返されるオプション値を読み取り、値を更新して更新を管理する。サービスコンフィギュレータはまた、開始されたサービスが適切に動作しているかも判定する。たとえば、サービスコンフィギュレータは、ＳＮＭＰサービスが開始されたが、追加の情報がネットワークからダウンロードされるまでは適切に動作しないことを最初に判断することができる。
【００４０】
ＳＮＭＰサービスを最初のブート時に開始すると、適切な処理のためオペレーティングシステム内の重要なメモリ割り当てが保護される。最初は、メモリ位置に無効な情報または既定の情報を読み込んで、ＳＮＭＰサービスを開始させながらも不適切な態様で動作させることができる。この不適切な動作は、最初のブート時には他の動作を妨害しないものの、ＩＰ−ＳＴＢ２００が通常の動作に入る前に修正する必要があり得る。
【００４１】
次に、ステップ５１０で、クライアントアプリケーションに関連する情報を得るため、小さな構成ファイルがダウンロードされる。構成ファイルは、必要に応じてアップデートコードを提供するためにネットワークからしばしばダウンロードされ、サービスに固有の複数の追加エントリを含むことができる。これらの新しいエントリには、ネットワークに関連して許可されるマネージャやコミュニティ名などの標準のＳＮＭＰ要素が含まれる。ステップ５１２で、エラーが依然として存在するかを判定するため構成ファイルが処理される。ステップ５１４で、これらのエラーがユーザーに通知される。
【００４２】
処理エラーが見つからない場合、ステップ５１６で、ＳＮＭＰエージェントに関するオペレーティングシステムの要件に基づき、メモリのレジストリ部分の適切な位置に情報が入力される。ＳＮＭＰなどのサービスは、オペレーティングシステム内に常駐することが必要な場合があり、たとえばＮＴＰサービスのように、ブート時に停止できない場合がある。したがって、ＳＮＭＰサービスの更新は、ＮＴＰサービスとまったく同じ方法で処理することはできない場合がある。ＳＮＭＰサービスの更新に対応するために、新しい情報が入力された後、ステップ５１８で、サービスを更新する。この更新動作では、ＳＮＭＰサービスを停止したり、他のサービスを中断したりすることなく、更新済みサービスのみを再初期化する。更新後、プロセスはステップ５０６に戻り、ＳＮＭＰサービスは通常の状態に復帰して新しい情報で適切に動作する。ステップ５２２で、ＩＰ−ＳＴＢは通常の動作を継続する。
【００４３】
前述したように、ＳＮＭＰサービスは、起動時またはブート時にメモリの割り当てが必要となることのある重要なネットワークサービスである。したがってＳＮＭＰサービスは、この最初のステップ時に開始する必要がある場合がある。一方、起動時には、適切な動作情報をＩＰ−ＳＴＢが利用できないことがある。ＳＮＭＰサービスの開始に失敗すると、情報の取得後にシステムをリブートする必要性が生じるかもしれない。ＳＮＭＰサービスを開始し、必ずしも適切な態様ではなく動作することを可能にすることにより、メモリ割り当ては保護され、更新操作を通じたアップデートコードを提供することが可能になる。さらに、たとえばネットワークの再構成などにより後で必要になったアップデートコードも、リブートをすることなく実行できる。
【００４４】
さらに、ＳＮＭＰなどのサービスは、組み込みのエージェントまたはサービスをオフまたは無効にする機能を提供することがある。サービスを実際に停止すべきではないため、サービスプロバイダはサービスをオフと定め、かつレジストリ内のすべてのＳＮＭＰエントリを既知の無効なＩＰアドレスを指し示すように変更することができる。無効なＩＰアドレスを指し示すことにより、セットトップボックスとの間でＳＮＭＰ機構を介した通信が利用できなくなるため、実質的に無効として機能する状態が作り出されるのである。
【００４５】
前述した実施形態は音声およびビデオを顧客に配信することに注目したものであるが、ＩＰ−ＳＴＢ  ２００は電話サービスを顧客に配信するためにも使用できる。電話サービスの情報は、前述したのと同様の態様で、ローカルネットワークを通じてＩＰ−ＳＴＢ  ２００に提供できる。その後、電話情報はＩＰ−ＳＴＢ  ２００上のＲＪ−１１コネクタ（図示せず）などの電話ジャックを介して提供できる。電話ジャックは、標準の電話送受機に接続し、ネットワークサービスプロバイダによって定められているとおりにＩＰ−ＳＴＢ  ２００を通じた電話サービスを可能にする。
【００４６】
本発明はさまざまな変形や代替形態を許容することができるが、ここでは特定の実施形態を図面の実施例を用いて示し、詳細に説明した。ただし、本発明は開示した特定の形式に限定されることを意図したものではないということを理解されたい。むしろ本発明は、特許請求の範囲によって定められる本発明の精神および範囲に含まれるすべての変形、均等物、および代替物を網羅するものである。
【図面の簡単な説明】
【００４７】
【図１】本発明を使用する例示的なシステムのブロック図である。
【図２】本発明の一実施形態のブロック図である。
【図３】本発明の一実施形態のフローチャートである。
【図４】本発明の別の実施形態のフローチャートである。
【図５】本発明のさらに別の実施形態のフローチャートである。
【図１】
2009506421.tif 000003
【図２】
2009506421.tif 000004
【図３】
2009506421.tif 000005
【図４】
2009506421.tif 000006
【図５】
2009506421.tif 000007
【国際調査報告】
2009506421.tif 000008
2009506421.tif 000009