JP2006101553A - ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法 - Google Patents

ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法 Download PDF

Info

Publication number
JP2006101553A
JP2006101553A JP2005358842A JP2005358842A JP2006101553A JP 2006101553 A JP2006101553 A JP 2006101553A JP 2005358842 A JP2005358842 A JP 2005358842A JP 2005358842 A JP2005358842 A JP 2005358842A JP 2006101553 A JP2006101553 A JP 2006101553A
Authority
JP
Japan
Prior art keywords
operating system
download
control program
boot loader
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005358842A
Other languages
English (en)
Inventor
Bohdan Prus
プロス ボーダン
David B Lett
ビー. レット デイビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scientific Atlanta LLC
Original Assignee
Scientific Atlanta LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Scientific Atlanta LLC filed Critical Scientific Atlanta LLC
Publication of JP2006101553A publication Critical patent/JP2006101553A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/818OS software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8402Generation or processing of descriptive data, e.g. content descriptors involving a version number, e.g. version number of EPG data

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】セットトップ受信機のオペレーティングシステム/制御プログラムの機能を決定して、上記セットトップ受信機を動作するソフトウェアコンポーネントおよび周波数取得方法を含む、ケーブルテレビのセットトップ受信機および方法。
【解決手段】本発明のソフトウェアコンポーネントは、「ブートローダー」として呼ばれ、上記セットトップ受信機内に含まれたプロセッサ上で実行し、そして上記セットトップ受信機のオペレーティングシステム/制御プログラムの機能およびバージョンを決定する。上記オペレーティングシステム/制御プログラムが更新されるべきであると上記ブートローダーが判定した場合、上記ブートローダーは、ダウンロードシーケンスを開始して、上記ダウンロードシーケンスの実行により、上記適切なオペレーティングシステム/制御プログラムが上記セットトップ受信機にダウンロードされることが可能になる。
【選択図】図1

Description

(関連出願との相互参照)
本願は、2000年2月4日に出願された第60/180,284号の「SETTOP CABLE TELEVISION CONTROL DEVICE
AND METHOD INCLUDING BOOTLOADER SOFTWARE AND CODE VERSION TABLE FOR MAINTAINING AND UPDATING SETTOP RECEIVER OPERATING SYSTEM SOFTWARE」という名称の同時係属中の仮出願に対して優先権を主張し、そしてこの出願日の利益を主張する。同文献を本明細書において参考として援用する。
(技術の分野)
本発明は概して、ケーブルテレビに関し、具体的には、セットトップ受信機のオペレーティングシステムソフトウェアを更新するソフトウェアコンポーネントおよび周波数取得方法を含む、セットトップ受信機および方法に関する。
(発明の背景)
ケーブルテレビシステムは通常、各顧客の敷地内で受信機またはセットトップボックスを用いて、ケーブルインフラストラクチュアを介して、中央位置(通常、当該産業において「ヘッドエンド」と呼ばれる)からユーザに伝送される番組内容を受信してデコードする。セットトップボックスは通常、受信機、デコーダー、処理回路部およびオペレーティングシステムソフトウェアを含む。セットトップボックスは、ケーブルを介して番組内容情報を受信し、そしてテレビセットを介して受信した信号を視聴者に提示し得るフォーマットに変換することが可能である。従来のセットトップボックスに含まれるオペレーティングソフトウェアは通常、メモリデバイス内に含まれ、そしてセットトップボックスが製造されるときに固定される。この設備は「ファームウェア」と呼ばれる場合がある。これは、変更または更新するには、オペレーティングソフトウェアは、既存のメモリデバイスを取り外して、新しいソフトウェアコードまたは更新されたソフトウェアコードを含む新しいデバイスを挿入することを必要とするからである。
同様に、ソフトウェアコードによって、セットトップボックスが番組内容信号を受信してデコードすることが不可能になり得る問題は、コードを含むデバイスのみを交換することによって対処し得るか、または遠隔でプログラム可能なメモリ要素に関しては、ヘッドエンドとセットトップボックスとの間に別個の通信リンクを要件とすることによって対処し得る。コードがファームウェア内に常駐する場合、手動での取り外しおよび交換が必要となる。残念ながら、ソフトウェアコードを交換するには、顧客の場所まで行って変更を行う出費のかさむ訪問が必要であり、または顧客がセットトップボックスを工場に返して修理をしてもらう必要がある。同様に、別個の通信リンクを介してオペレーティングソフトウェアコードを更新することは、高くつきそして非効率的である。この方法を用いると、異なる製造業者のセットトップボックスグループまたはセットトップボックスを更新することが不可能になる。
したがって、コードが常駐するメモリデバイスを物理的に取り外しそして交換することなく、セットトップボックスのオペレーティングソフトウェアをアップグレードする方法を有することが望ましい。
(発明の要旨)
本発明の好適な実施形態は、セットトップ受信機のオペレーティングシステムソフトウェアを更新するソフトウェアコンポーネントおよび周波数取得方法を含む、セットトップ受信機および方法を提供する。
アーキテクチャにおいて、本発明の好適な実施形態はセットトップケーブルテレビ制御デバイスを含み、上記セットトップケーブルテレビ制御デバイスは、チューナー、上記チューナーに接続された受信機、および上記受信機に接続されたプロセッサを含む。上記セットトップケーブルテレビ制御デバイスはさらに、上記プロセッサに接続された第1のメモリ要素、上記プロセッサに接続された第2のメモリ要素、上記第1のメモリ要素内に永久に常駐する第1のコード部分、および上記第1のメモリ要素内に常駐する第2のコード部分を含み、上記制御デバイスが初期化された際に、上記第1のコード部分は上記プロセッサによって実行されて、上記第2のコード部分が上記制御デバイスを動作することが可能であるか否かを判定する。
本発明の好適な実施形態はさらに、セットトップケーブルテレビ制御デバイスを動作する方法として概念化され得る。上記方法は、チューナー内に信号を受信する工程、上記信号を上記チューナーに接続された受信機に伝達する工程、および上記信号を上記受信機に接続されたプロセッサに伝達する工程を含む。上記方法はさらに、第1のコード部分を実行する工程であって、上記第1のコード部分は上記プロセッサに接続された第1のメモリ要素内に常駐する、工程、および第2のコード部分を実行する工程であって、上記第2のコード部分は上記プロセッサに接続された第2のメモリ要素内に常駐する、工程を含み、上記制御デバイスが初期化された際に、上記第1のコード部分は上記プロセッサによって実行されて、上記第2のコード部分は上記制御デバイスを動作することが可能であるかを判定する。
(好適な実施形態の詳細な説明)
特許請求の範囲に規定される本発明の好適な実施形態は、添付の図面を参照するとよりよく理解され得る。図面中の構成要素は、相互に対して必ずしも尺度が考慮されているわけではなく、むしろ本発明の原理を明瞭に示す点に重点が置かれている。
図1は、本発明の好適な実施形態のソフトウェアコード(以下「ブートローダー」コードまたは「ブートローダー」と呼ぶ)が常駐するケーブルテレビシステム100のアーキテクチャを示すブロック図である。ケーブルテレビシステム100は、接続部102を介してセットトップ受信機150に接続された中央配信ポイント、すなわちヘッドエンド101を含む。ヘッドエンド101は、映像配信を担い、そして、セットトップ受信機150に制御機能を提供する。この制御機能は、セットトップ受信機150に権利を割り当てる機能、およびセットトップ受信機150にソフトウェアをダウンロードする機能を含む。接続部102は、1つの接続部として示されており、単一方向のダウンストリームの直交振幅変調(QAM)チャンネルを含む。このチャンネルを介して番組映像データがヘッドエンド101からセットトップ受信機150に伝送される。接続部102はさらに、双方向の1/4位相シフトキーイング(QPSK)通信チャンネルを含み、このチャンネルを介して制御情報がヘッドエンド101とセットトップ受信機150との間で交換される。さらに、本発明の当該技術分野の当業者によって理解されるように、多くの中間デバイスおよび種々の種類のネットワーク移送媒体も通常、接続部102内に含まれる。帯域外(OOB)トランシーバー105によって示されるように、接続部102のQPSKチャンネルを用いた情報交換は、QAMチャンネルから独立しており、このチャンネルに対してセットトップ受信機150がチューニングされる。
セットトップ受信機150はチューナー104を含む。チューナー104は、接続部102を介して無線周波数(RF)信号を受信して、このRF信号を接続部109を介してQAM受信機106に送達する。QAM受信機106は、接続部109を介して受信したQAM信号をデコードし、そして、接続部111を介して、デジタルデータストリームをフィルタブロックおよび(直接記憶アクセス)DMAチャンネル108に提供する。フィルタブロックおよびDMAチャンネル108は、広帯域会話型プロセッサ(BIP)107の一部である。BIP107はさらに中央処理装置(CPU)119を含む。
CPU119は、通信バス114を介して、動的ランダムアクセスメモリ(DRAM)250、不揮発性ランダムアクセスメモリ(NVRAM)126およびフラッシュメモリ200と通信する。BIP107はさらに、シリアル制御バス116を介しても通信を行い、チューナー104およびQAM受信機106の動作を制御する。BIP107はさらに、接続部117を介して、QAM受信機106から受信したデジタルデータストリームをMPEGデコーダー112に伝達して、テレビセットに伝送する。本明細書で説明する場合を除き、チューナー104、QAM受信機106、BIP107およびCPU119の動作は従来と同じであり、ケーブルテレビシステムの当業者に公知である。
本発明の1局面によれば(図2〜図5を参照して詳細に説明する)、フラッシュメモリ200は、フラッシュメモリ200のライトプロテクト部分にブートローダーコード300を含む。ブートローダーコード300は通常、フラッシュメモリ200の32キロバイトの最初のセクタ(セクタ0)内に適合する。
セットトップ受信機150はさらにフロントパネルディスプレイ121を含む。フロントパネルディスプレイ121を用いて、セットトップ受信機150の状態をユーザに伝達し、そしてキーボード124を含む。キーボード124は、ユーザが種々の制御情報をセットトップ受信機150に入力することを可能にするボタン(図示せず)を含む。セットトップ受信機150はさらにデータポート127も含む。データポート127は、例えば、スマートカード129として一般的に公知のポータブルメモリ要素から、接続部128を介してソフトウェア入力を受信し得る。
図2は、図1のフラッシュメモリ200(内部に本発明の好適な実施形態のブートローダーが配置される)およびDRAM250のコンテンツのレイアウトを示すブロック図であり、このDRAM250はダウンロード動作の間に用いられるものである。図2のDRAM250は、ヘッドエンド101(図1)からオペレーティングシステム/制御プログラムソフトウェアをダウンロードする間の構成を示す。DRAM250は複数の異なる部分を含む。例えば、部分251は変数を含み、部分252はパケットバッファを含み、部分254はダウンロードしたソフトウェアの制御構造を含み、そして部分256は画像収集バッファであり、この内部にダウンロードしたソフトウェアの画像(複製)がフラッシュメモリ200に移行する前に一時的に保存される。画像収集バッファ256はDRAM250の1部であり、この内部にダウンロードしたソフトウェアが一時的に保存される。次いで、ダウンロードしたソフトウェアの番組画像は、接続部202を介してDRAM250からフラッシュメモリ200に移行される。
フラッシュメモリ200はメモリ部201を含み、この内部に、ダウンロードしたオペレーティングシステム/制御プログラムが格納されたり、またはDRAM250からメモリ部201に書き込まれる。フラッシュメモリ200はさらに、セクタ257も含み、この内部に、本発明のブートローダーコード300が常駐する。セクタ257は好適には、通常、フラッシュメモリ200内で「セクタ0」として呼ばれる第1のセクタであり、そしてフラッシュメモリ200のライトプロテクト部分である。このように、セクタ257内に常駐するブートローダーコード300は上書きされず、そして常に存在して、セットトップ受信機150が動作不能である場合に回復機能を実行する。ブートローダーはファームウェア内に常駐し、ダウンロードを介して変化され得ない。
ブートローダー300は1セットの命令であり、セットトップ受信機150をリセットした直後、セットトップ受信機150内のCPU119によって直接実行される。ブートローダー300は検査手順および回復手順を含む。したがって、オペレーティングシステムソフトウェアのバランスが崩れたり、またはセットトップ受信機150からオペレーティングシステムソフトウェアのバランスが失われた場合でも、基本機器動作が保証される。システムリセットの結果得られるシステム構成において、ブートローダー300がリセットまたは再スタートの間にBIP107によってアクセスされ得るようにフラッシュメモリ200が適切な物理アドレスに配置される。図2に示すように、そして例示のみを目的として、ブートローダー300はフラッシュメモリ200のメモリセクタ「0」内に常駐する。以下は、ブートローダーの一般的な機能を説明する。この機能を、図3、図4および図5を参照して以下により詳細に説明する。
ブートローダー300は、自身に巡回冗長検査(CRC)を実行することによってその完全性をチェックし、そして、セットトップ受信機150のフロントパネルディスプレイ121(図1)上の発光ダイオード(LED)を介して任意の故障を報告する。ブートローダー300はさらに、フラッシュメモリ200の部分201内にオペレーティングシステム/制御プログラムソフトウェアの存在をチェックし、そして正しい画像が確認された場合、オペレーティングシステムソフトウェアを始動する。ブートローダー300はさらに、ブートローダー300が、フラッシュメモリ200内にオペレーティングシステム/制御プログラムソフトウェアが無いことまたはこの正しくないバージョンを検出した場合、ヘッドエンド101から接続部102(図1)を介してオペレーティングシステム/制御プログラムをダウンロードする。このダウンロードの前に、接続部102上に正しいダウンロードストリームを検索する場合があり、そして、このダウンロードは、画像運搬パケットの収集およびフラッシュメモリのプログラミングを含む。ブートローダー300はさらに、スタートアップの間キーボード124(図1)上のキーを押すイベントを処理し、そしてリクエストに応じて補助機能を実行する。このような機能は、例えば、強制型ダウンロードを含み、これはオペレーティングシステム/制御プログラムが、有効性、技術者のテストモード、およびオペレーティングシステム/制御プログラムの代わりに、診断コードをロードしてこれを実行する機能をチェックする場合にも行われる強制型ダウンロードである。
ブートローダー300はさらに、データポート127を介して、またはスマートカード129(図1)などのオプションのスマートカードデバイスからソフトウェア画像を(DRAM250に)ロードし得る。ブートローダー300はさらに、オペレーティングシステム/制御プログラムアップグレードサービスも提供し、このサービスは、オペレーティングシステム/制御プログラムソフトウェア201をアップグレードする、遅延型リクエストの自動処理を含む。ブートローダー300はさらに、緊急時の再ロードリクエストを収容する。ブートローダーはさらに、ダウンロード画像のセキュリティデータのチェックをイネーブルにして、ソースを確認および確証する機能を内蔵する。
図3〜図5は、図2のブートローダー300の動作の種々の局面を示すフローチャートである。図3〜図5のフローチャートは、図2のブートローダーソフトウェアの潜在的な実現のアーキテクチャ、機能および動作を示す。この点に関して、各ブロックは、モジュール、セグメントまたはコードの1部を示し、このコードの1部は、1つ以上の実行可能な命令を含んで、指定された論理関数(単数または複数)を実行する。いくつかの別の実現において、ブロックに記載する関数は図3〜図5に記載する順序とは異なって行われ得ることにも留意されたい。以下にさらに明瞭にするように、例えば、図3〜図5に示す連続した2つのブロックは、事実、実質的に同時に実行され得るか、またはブロックは、関与する機能に依存して逆の順序で実行され得る場合がある。
本発明の好適な実施形態のブートローダーの論理は、ソフトウェア、ハードウェアまたはこれらの組み合わせで実現され得る。好適な実施形態(単数または複数)において、ブートローダーの論理は、ソフトウェアまたはファームウェア内で実現され、メモリ内に格納され、そして適切な命令実行システム(マイクロプロセッサ)によって実行される。別の実施形態において、ブートローダー論理は、ハードウェア内で実現された場合、以下の技術のいずれか、または以下の技術の組み合わせによって実現され得る。これらの技術はすべて、当業者に周知であり、例えば、データ信号に論理関数を実現する論理ゲートを有する別個の論理回路(単数または複数)、適切な論理ゲートを有する特定用途集積回路、プログラム可能なゲートアレイ(単数または複数)(PGA)、フィールドプログラム可能なゲートアレイ(FPGA)などがある。
さらに、ブートローダーソフトウェアは、実行可能な命令の順序化されたリストを含んで、論理関数を実行するが、これは、例えば、コンピュータベースのシステム、プロセッサを含むシステム、または命令実行システム、装置またはデバイスから命令を取出して、これを実行し得る他のシステムなどの命令実行システム、装置またはデバイスによって、またはこれに接続して用いられる任意のコンピュータ読み出し可能媒体内で実現され得る。
この文書のコンテキストにおいて、「コンピュータ読み出し可能媒体」は、命令実行システム、装置またはデバイスによって、またはこれに接続して用いられるプログラムを含み、格納し、伝達し、伝搬し、または転送し得る任意の手段であり得る。コンピュータ読み出し可能媒体は、例えば、電子、磁気、光、電磁気、赤外線または半導体のシステム、装置、デバイス、または伝搬媒体であり得る(但し、これらに限定されない)。コンピュータ読み出し可能媒体のより具体的な例(包括的でないリスト)は以下を含む。例えば、1本以上のワイヤーを有する電気接続部(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(磁気)、読み出し専用メモリ(ROM)(磁気)、消去可能なプログラム可能読み出し専用メモリ(EPROMまたはフラッシュメモリ)(磁気)、光ファイバ(光)およびポータブルコンパクトディスク読み出し専用メモリ(CDROM)(光)を含む。コンピュータ読み出し可能媒体が、紙または別の適切な媒体でさえあり得ることに留意されたい。プログラムは、例えば、紙または他の媒体の光走査を介して、電気的に取り込まれ、次いで、コンパイル、解釈され、またはそうでない場合には、必要に応じて、適切な様態で処理され、次いで、コンピュータメモリ内に保存され得るように、コンピュータ読み出し可能媒体の上にプリントされる。
ここで図3に戻ると、図示されるのは、図2のブートローダー300のスタートアップ段階の間の処理を示すフローチャートである。ブロック301において、セットトップ受信機150はリセットされる。これはセットトップ受信機150の電源を落とすこと、およびセットトップ受信機150を作動して、電源投入を開始することによって達成され得る。または、これはセットトップ受信機150のキーボード124上に位置するリセットボタンを押すことによって開始され得る。リセットがブロック301において実行された後、ブロック304において、DRAMメモリ250がイネーブルにされ、データポート127におけるスマートカード129の存在が判定される。スマートカードは任意の挿入可能で、ポータブルなメモリデバイスであり得、実行可能なコードを含み、そしてセットトップ受信機150のデータポート127内に挿入され得る。
ブロック306において、スマートカードの存在がブロック304において検出されたか否かが判定される。セットトップ受信機150内にスマートカードがあり、そしてスマートカードが正しいオーバーライドコードを用いて応答した場合、図2を参照して上述したように、ブロック308において、ブートローダー300は、実行可能な画像をスマートカードからDRAM250、続いて、フラッシュメモリ200内にロードし、そしてブートローダーコードの残りの代わりに、新たに取得された制御プログラムソフトウェアを実行する。本発明のこの局面は、ブートローダーコード中に深刻な異常またはバグがある状況を修正する方法を提供する。
ブロック306において、セットトップ受信機150内にスマートカードがないと判定された場合、ブロック307において、ブートローダーコード300は自身に巡回冗長検査(CRC)を実行する。
ブロック309において、ブートローダー309が動作可能であるとCRCチェックが判定するか否かが判定される。CRCがチェックしない場合、ブロック312において、セットトップ受信機150(図1)の故障インジケータ(これはフロントパネルディスプレイ121上のLEDであり得る)が点灯して、エラーコードを表示する。この時点において、ブートローダー300が動作可能であるとCRCが判定したということがブロック309において判定された場合のように、ブートローダー300が依然実行するだけに十分に動作可能であり、スタートアップシーケンスがブロック314において続行すると想定される。
次に、ブロック314において、ブートローダー300はキーボード124を読み込んで、ユーザによって開始される任意の機能がリクエストされたか否かを判定する。ブートローダー300はさらに、NVRAM126のCRCをチェックし、そして、キーボード124を介したセットトップ受信機150に対する任意のキーオーバーライド入力をチェックする。ユーザによって開始される機能は、テスト、保守および製造を支援する補助機能を含む。セットトップ受信機150は新しいオペレーティングシステム/制御プログラムソフトウェアをダウンロードするようにされると、既存のソフトウェアが有効性をチェックする場合でさえ、キーオーバーライドが生じる。
ブロック319において、ブロック314において実行されたCRCチェックがブートローダー300によって用いられたNVRAM部分の正しいコンテンツを示しているか否かが判定される。壊れたデータが示された場合、ブロック321において、エラーメッセージがセットトップ受信機150のフロントパネルディスプレイ121上に表示され、そしてデフォルトのコンテンツが適用される。これは、ブートローダー300が任意の保存されたデータを用いず、遅延型ダウンロードリクエスト、最新の既知のダウンロード周波数、最新のCVTバージョンなどのこの次の動作を決定することを意味する。次に、プロセスはブロック322において続行する。
ブロック319において、ブロック314において実行されたNVRAMのCRCチェックが正しいNVRAMデータを示していると判定された場合、ブロック322において、ブートローダー300は、オペレーティングシステム/制御プログラム201(図2)の存在をチェックし、そしてこの完全性をチェックする。この完全性のチェックは、オペレーティングシステムの署名をチェックし、そして制御プログラムソフトウェアのオペレーティングシステム上でCRCチェックを実行することによって実行される。ブロック322において、ブートローダー300はさらに、強制型ダウンロードまたは遅延型ダウンロード(これは以下に説明する)をチェックする。ブロック326において、ブート可能な画像がオペレーティングシステム/制御プログラム201内に無いと判定された場合、ブートローダー300は、検索(hunt)に即入り、そしてシーケンスをダウンロードする(327)(これは図4を参照して以下に説明する)。ブロック326を参照すると、オペレーティングシステム/制御プログラムソフトウェアの署名およびCRCが、ブート可能な画像の前面に添付された署名エリアのコンテンツを用いてチェックされる。
ブロック326において、オペレーティングシステム制御プログラムソフトウェア201が動作性をチェックした場合、ブロック328において、制御プログラムが開始され、そしてセットトップ受信機150の通常の動作がオペレーティングシステム制御プログラムソフトウェア201に解放される。すべての上述のチェックがセットトップ受信機150の初期化の間に1度実行される。セットトップ受信機150の制御をオペレーティングシステム/制御プログラムソフトウェア201に渡した後、ブートローダー300は、いわゆる「ウォッチドッグ」サービスとして公知のサービスを介して、システムの動作の定期チェックを維持する。このように、オペレーティングシステム制御プログラム201は、ブートローダー300を定期的にクエリして、ブートローダーウォッチドッグ回路部をイネーブルにする。この定期的な呼び出しにより、ブートローダー300は、接続部102のQAM部分上のヘッドエンド101から送信される緊急時メッセージをチェックする機会を得る。ウォッチドッグサービスを以下にさらに詳細に説明する。
図4は、図2のブートローダー300の周波数検索手順を示すフローチャート400である。オペレーティングシステム/制御プログラム201の画像は、接続部102(図1)上のQAMチャンネル上の帯域内データストリーム内で配信される。データはMPEG(カラー動画像データ圧縮標準規格)パケットのプライベートセクションに埋め込まれ、MPEGパケットはこのデータストリーム内に埋め込まれる。これらのパケットは、DRAM250、そして画像収集バッファ256に収集される。次いで、これらのパケットは、確認の後、図2を参照して説明したように、フラッシュメモリ200に移行されて、オペレーティングシステム/制御プログラムソフトウェア201の実行可能な画像を形成する。本発明の1局面によると、必要な実行可能な画像の最終ダウンロード周波数を決定するために用いられる方法は、コードバージョンテーブル(CVT)の受信に基づく。CVTは、ヘッドエンド101から接続部102を介して(接続部102上のあらゆるQAMチャンネル上で、特別なメッセージの形態で)すべてのセットトップ受信機150に送信される。CVTは接続部102上のすべてのデジタル周波数で送信される。CVTの繰返しレートは好適には1秒当たり1回である。CVTは、情報の中でも、最終ダウンロード周波数を含む。この最終ダウンロード周波数に対して、セットトップ受信機150内のチューナー104がチューニングされ、これにより、セットトップ受信機150がオペレーティングシステム/制御プログラムのダウンロードを受信し得る。CVTを含み、そして最終ダウンロード周波数にチューニングされたメッセージを受信した後、セットトップ受信機150は、DRAM250の画像収集バッファ256(図2)内のオペレーティングシステム/制御プログラム201の実行可能な画像を収集する。CVTテーブルのフォーマットを以下のテーブル1に示す。
(テーブル1)
CVTフォーマット
以下に提示するのは、コードバージョンテーブルのフォーマットである。この階層構造は、ダウンロードを目的として、セットトップの柔軟なグループ化を支援する。CVTには3つのレベルの割当がある。
1.CVTは、3バイトのMAC(媒体アクセス制御)アドレスによって識別されるOEM(相手先商標製造会社)の下位テーブルに分割される。多くの供給業者からのセットトップが混ざったケーブルシステムにおいて、これは、製造業者に応じて異なるバージョンのソフトウェアをダウンロードする方法を提供する。
2.各OEMグループ内で、オペレータは論理グループ(例えば、「新しいソフトウェアフィールドテストグループ」、「より多くの金額を支払うほどにOSの標準が上がる(better flavor of OS for paying more)」、「基本ソフトウェア」、「Windows(登録商標) CEボックス」など)を生成し得る。これはテーブル分割の第2のレベルである。
3.セット内の各CVT記録はハードウェアID範囲を含む。このID範囲に対して、所与のバージョンのソフトウェアが決定される。
IDフィールド内に0を置くと、これらの分割レベルそれぞれの処理がディセーブルにされる。これはグローバルIDとして取り扱われ、そして各セットトップがこのIDに合致することを意味する。
CVTがQAMデータストリーム上およびQPSKデータストリーム上の両方でセットトップに送信されるため、CVTは用いられる移送から独立して規定されるフォーマットを有する。
Figure 2006101553
DNCS ID:これはネットワークのこのセグメントを制御するDNCSの2
バイトの識別子である。
CVTバージョン:CVTが更新されるごとに増加されるバージョンID。DN
CS IDと共に、CVTが変更されるごとにセットトップ
に強制的にCVTを再チェックさせる。(MACアドレスに
基づいた)強制型ダウンロードが実行されるごとにこれらの
3バイトはNVM(不揮発性メモリ)に保存される。これに
より、強制型ダウンロードが、すべてのボックスが再スター
トするごとに繰返し起こることが防がれる。
# of sub−tables:このCVT内のOEM指定の下位テーブル数
を示す1バイトの値。
MAC range:MACアドレスの範囲を規定する3つのOEM指定バイト
がある。このフィールドは、種々の製造業者からボックス
の異なるソフトウェアバージョンを指定することを支援す
る。値がすべて0に設定される場合、これはグローバル
(あらゆるボックスに合致すること)を意味する。
# of sets:このOEM下位テーブル内の以下のグループダウンロード
セット数。この数が128より大きい場合(バイトのMS
ビットは1に設定される)、セットになったアドレスが第
1のグループのダウンロードセットの前に挿入される。こ
の数が128より小さい場合、この数のすぐ後に第1のダ
ウンロードセットが続く。実際のダウンロードセット数は
常に、このバイトのうちの下位の7ビットでコード化され
る。
# of addresses:3バイトアドレスグループの数。これらはMA
Cアドレスのうちの下位の3バイトである。こ
れらは、強制的にダウンロードされるボックス
の全MACアドレスからの上位の3バイトを提
供するMAC範囲(前出)と共にある。MAC
アドレスのうちの下位の3バイトである。これ
は特定のボックスを回復するための単発の不安
定な方法である。
alignment:これらは最後のMACアドレスグループの後に追加される
バイトであり、強制型ダウンロードセットを32ビットの
語境界に調整する。バイト数はセット内のアドレス数に依
存して変化する。
Group ID:ボックスの論理グループに対する2バイト。Group I
D0×0000はグローバルである(ボックスグループが無
視された状態で受け入れを強制する)
# of records:このグループセットのCVT記録数(2バイト−語
調整の理由から)である。
hardware ID:開始IDおよび終了ID(両方を含む)はハードウェ
アID範囲を識別し、このハードウェアID範囲に対
して、この記録が適用されるべきである。終了IDが
0である場合、これは、ボックスID(デフォルト)
とは無関係に受け入れを強制する。
Freq vector:ダウンロード回転ラックの周波数をエンコードする1
6ビットの値。周波数は0.25NHzの間隔の数と
してコード化される(1例として:573.25MH
zに関しては、ベクトルは5734+1=229
3)。ダウンロードストリームは0.25MHzの倍
数の周波数に合わせられたチャンネルでブロードキャ
ストされると想定される(これはSAハードウェアの
現在の解像度)。
Carousel Prog#:これは、このソフトウェアバージョンを含むス
トリームのプログラム数である。ブートローダ
ーはPAT(プログラム割当テーブル)および
PMT(プログラムマップテーブル)を解析し
て、ダウンロード用のPID(パケットID)
を探す。
image ID:これは、上述のPIDによって指定されたデータストリーム
中のダウンロード画像を識別する16ビットの数である。こ
れは各コード画像に1つである(OS署名エリア内に固定さ
れる)。
Download command/# of blocks:
ダウンロードコマンドはこの16ビットの整数の上位3ビットでコード化される。コード0(ゼロ)は緊急時ダウンロードリクエストとして解釈される。ボックスは、適切なシャットダウンをまったく考慮せずにダウンロードを即開始する。残りの7コード(1..7)は優雅なアップグレードが意図される−新しいソフトウェアが存在し、そしてコードに割り当てられた適切な動作(ユーザ通知、相互通信、OFFを待つなど)を実行する必要があることを、OSは通知される。下位の13ビットの値は、ダウンロード画像内のブロック数をエンコードする。これはセットトップ側の効率的なバッファリングに用いられる。
(パッケージング)
QAMストリーム上で伝送されたCVTは総称構文に続くプライベートセクションブロック内で送信される。ヘッダーフィールドの値は以下のようである。
CVTは事前に割り当てられたPID=0×1FF8上で伝送される。
Figure 2006101553
(構文解析)
コードバージョンテーブルの構文解析規則:
− CVTテーブルは適切なセクションを探して最初から走査される(OEMおよび論理グループのマッチ)。
− セクション内の記録が第1のマッチングを探して走査される。ハードウェアIDが記録のうちの1つの範囲内にある場合、この記録は選択されて、この記録のパラメータがダウンロードに用いられる。
上述したように、選択フィールドのうちの1つを0に設定すると、これに基づいた解析がディセーブルにされる。これはセット中の最後の要素および全テーブル内で保護用停止として用いられる。
「ハードウェアID範囲フィールド内の0」は、先行するCVT記録内の特定の範囲のいずれにも入らないすべてのセットトップに対して1つの一般的なグループを生成するためのみに用いられる。ソフトウェアのバージョンが1つのみである場合、これが唯一の記録であり得る。
「グループID内の0」は、ダウンロードグループが実現されないシステム内にある唯一のグループであるか、全システム内の保護グループのいずれかであり得るグループを規定する。後者の場合、このダウンロードセットは、グループ数が壊れた、またはまだ割り当てられていない「失われたセットトップ」ボックスの回復を保証する。このグループ内のソフトウェアは基本的回復能力(QPSKリンクを確立し、適切なパラメータを得る)を提供する必要がある。
「OEM範囲内の0」は、1つのOEMシステム内に規定され得、または異なるOEMからのボックスが同じソフトウェアを用いるシステム内の一般的なグループとして規定され得る。しかし、これにより、アドレス指定された強制型ダウンロードによる問題が生じる。上述の機能がシステム内で用いられる場合、CVTはこのフィールドを0に設定する必要はない。
CVTが強制型ダウンロードアドレスセットを含む場合、このアドレスに一致する(CVT記録内のOS IDがボックス内の1つに一致する)セットトップは即、OSが動作可能であるような場合でさえ、緊急時ダウンロードを開始する。この機能により、問題を有するセットトップをアドレス可能に「ポークする」すなわちつつくことが可能になり、そしてコードの再ロードを強制する。この機能は、繰返しのダウンロードを避けるためには、単発の動作としてシステム内で実現される必要がある。
ここで図4に戻ると、ブロック401において、図3を参照して上述したスタートアップのシーケンスが開始し、シーケンスが図3のブロック327に進む。ブロック402において、ブートローダー300は、デジタルチャンネル上で運搬されるCVTが受信され得るようにチューナー104がチューニングされる周波数を得るために複数の異なる技術を試みる。まず、ブートローダー300は知られる周波数のうちで最新の周波数を用いて、デジタルチャンネルを含むことを試みる。デジタルチャンネルを含む、知られる周波数のうちで最新の周波数は通常、コードダウンロードが開始する前に、オペレーティングシステム/制御プログラム201によって、NVRAM126内に保存および格納される。このように、ブートローダー300は周波数を容易に見つけ得、この周波数を介してCVTが受信され得る。最新の既知の適切な周波数にチューニングした結果デジタルチャンネルを見つけ、したがって、CVTを受信する能力があった場合、ブロック409において、その後、CVTは受信されて処理される(図5参照)。
最新の既知の適切な周波数にチューニングしてもデジタルチャンネルを見つけることに失敗した場合(CVTはこのチャンネルを介して受信され得る)、その後、ブロック406において、ブートローダー300により、チューナー104がセットトップ受信機150によって保存された複数の推薦周波数にチューニングする。これらの周波数は、ダウンロードチャンネルを配置するためにケーブルテレビオペレーターに推薦され、このチャンネルを介して、CVTがセットトップ受信機150によって受信され得る。次に、ブロック408において、チューナー104が、デジタルチャンネル(このチャンネルを介してCVTが受信され得る)と同期を取られているか否かが判定される。ブロック408において、デジタルチャンネル(このチャンネルを介してCVTが受信され得る)との同期化が達成されない場合、その後に、ブロック407において、推薦周波数リスト内に任意のさらなる周波数があるか否かが判定される。推薦周波数リスト内にさらなる周波数がある場合、その後に、ブロック406において、ブートローダー300により、チューナー104が推薦リスト内の次のチャンネルにチューニングする。ブロック408において、次の推薦チャンネルがデジタルチャンネル(このチャンネルに対してセットトップ受信機150が同期を取り得る)であるか否かが再度判定される。デジタルチャンネルである場合、その次に、プロセスはブロック409に進んで、受信およびCVTの処理を行う(図5参照)。ブロック408において、同期化が取得されない場合、その後、ブロック407において推薦リスト内にチューニングすべき別のチャンネルがあるか否かが再度判定される。ある(はい)場合、プロセスはブロック406に戻る。ブロック407において、推薦周波数リスト内にさらなる周波数がないと判定された場合、その後、ブロック411において、ブートローダー300が完全な検索シーケンスを開始する。本発明のこの局面によれば、ブートローダー300により、チューナー104が(図1の接続部102上の)QAMチャンネル(このチャンネルを介してCVTが受信され得る)を検索する。本発明のこの局面によれば、全帯域幅(57MHz〜855MHz)は6MHzの増加ごとに走査され、デジタルチャンネル(このチャンネルを介してCVTが受信され得る)を有する周波数の有無をチェックする。6MHzの増加ごとに全スペクトルを進んだ後、デジタルチャンネルが見つからなかった場合、検索は1MHzごとにシフトした周波数上で繰り返される。これは周波数が再度重複するまで合計5回まで起こる。次いで、全シーケンスが250KHzのシフトで3回繰り返される。このように、57MHz〜855MHzの全ての周波数範囲が24回でカバーされる。このように、利用可能なスペクトル中のある場所においてデジタルチャンネル(このチャンネルを介してブートローダー300がCVTを受信し得る)を有する周波数がある場合、この周波数が見つかる。
周波数スペクトル(57MHz〜855MHz)内で各利用可能なキャリアにチューニングした後、ブートローダー300はQAM64およびQAM256のチャンネルの両方に対してQAM取得スクリプトを実行する。この動作の総時間はチャンネルごとに約250ミリ秒(msec)であり、これにより1秒あたり約4チャンネルの検索速度が得られる。QAMチャンネルが検索の任意の段階において検出された場合、ブートローダー300はCVTを受信するようにセットトップ受信機150を設定する。CVTが1秒以内に受信されない場合、検索シーケンスが続行する。検索がチェックアップの故障の結果開始された場合、検索は完了するまで続行する。ダウンロードが(オペレーティングシステム/制御プログラムリクエストまたは手動のオーバーライドのいずれかを介して)リクエストされた場合、検索は1つの完全なシーケンスの後に終了し、次いで、既存のオペレーティングシステム/制御プログラムコード201を開始しようとする。
したがって、ブロック409に示される(図5を参照して説明する)ように、図4のブロック411において上述し、かつ図示した動作は、デジタルチャンネル(このチャンネルを介してCVTがダウンロードおよび処理され得る)を有する周波数とチューナー104が同期を取られていると、ブロック412において判定されるまで繰り返される。
図5は、ダウンロード情報を取得し、そしてオペレーティングシステム/制御プログラム201のダウンロードシーケンスを実行するプロセスを示すフローチャート500である。ダウンロードシーケンスを説明する前に、ダウンロード初期化プロセスをまず説明する。ブートローダー300が不正なオペレーティングシステム/制御プログラム201を検出した場合か、またはフロントパネルキーボード124へのユーザ入力によって強制的にダウンロードシーケンスが行われる場合のいずれかで、セットトップ受信機150は、スタートアップ手順(図3)からダウンロードシーケンスに入る。オペレーティングシステム/制御プログラム201の画像が正しくないのは、フラッシュメモリ200が壊れたり、オペレーティングシステムのアップグレードが失敗したり、またはセットトップ受信機150がオペレーティングシステム/制御プログラム201がロードされたことがない場合に起因し得る。上述のシナリオに加え、手動のオーバーライドは新しいオペレーティングシステム/制御プログラム201のダウンロードを強制するように提供される。これは、フロントパネルキーボード124から制御された、補助的なブートローダー機能を介して達成され得る。セットトップ受信機150はさらに、システムレベルの緊急時ダウンロードリクエストを受信した結果、ダウンロードシーケンスを開始し得る。このリクエストは、ブートローダー300の上述のウォッチドッグサービスによって定期的にチェックされる専用QAMデータストリームを介して受信される。
オペレーティングシステム/制御プログラム201からのダウンロード初期化は通常、「ローダーサービス」の呼び出しを介して実行される。パスパラメータは、ダウンロードチャンネル周波数および即時型ダウンロードまたは遅延型ダウンロードのコマンドを提供する。ブートローダー300は、オペレーティングシステム/制御プログラム201によって定期的に呼び出される。これはウォッチドッグモードである。ブートローダー300は、メモリ内に任意のCVTパケットがあるか否かを判定する。CVT情報がある場合、ブートローダーはコードダウンロードが実行されるべきか否かを判定する。ダウンロードが実行される場合、ブートローダーはこの呼び出しから(オペレーティングシステム/制御プログラム201から)戻って、そしてダウンロードコードをオペレーティングシステム/制御プログラム201に提供する。論理「1」のコードは即時型ダウンロードが実行されることを示す。このような場合、ブートローダー300により、セットトップ受信機150がシャットダウンし、そしてダウンロードを開始する。論理「0」のコードは遅延型ダウンロードが実行されることを示す。このような場合、加入者をほとんど妨害しない適切な時間において、遅延型ダウンロードが開始される。
緊急時ダウンロードに関して、ダウンロードは制御を呼び出し側に戻すことなく、即座に開始される。遅延型ダウンロードの場合、この呼び出しは、NVRAM126内に、正確なダウンロード周波数および遅延型ダウンロードリクエストの記録以外、いかなる動作も開始しない。オペレーティングシステム/制御プログラム201はさらに、セットトップ受信機150のオペレーティングシステム/制御プログラムソフトウェア201をアップグレードする状態が好ましくなるとすぐに、遅延型ダウンロードリクエストを記録し、そしてローダーサービスを呼び出す。これはセットトップ受信機150の電源が落とされたときである。ブートローダー300によって記録されるダウンロードのリクエストは、セットトップ受信機150が即時型リクエストを得る前に電力を失う場合のみ用いられる。このイベントに続くスタートアップシーケンスは、遅延型リクエストを検出して、図5に記載するようにダウンロードシーケンスを開始する。
再度図5を参照すると、ブロック409(図4参照)において、CVTは受信され、そして適切なダウンロード定義のために解析される。本発明の1局面によれば、受信されたCVTはテーブル1に上述した規則に従って解析される。このように、CVT内に含まれる情報は、最終チャンネルアクセスベクトル(すなわち、新しいオペレーティングシステム/制御プログラム201を受信するようにチューナー104がチューニングするチャンネル)を提供する。この最終チャンネルアクセスベクトルを介して、オペレーティングシステム/制御プログラム201がセットトップ受信機150に送信される。このように、セットトップ受信機150はこのチャンネルにチューニングして、オペレーティングシステム/制御プログラム201の選択された画像のデータを収集する。この画像は画像収集バッファ256(図2)内に置かれる。収集が完了すると、ブロック502において、画像はその識別およびCRCが正しいかがチェックされる。テストがうまくいかなかった場合、画像は捨てられて、収集は成功するまで繰り返される。画像がIDおよびCRCチェックをパスした場合、この画像はDRAM250の画像収集バッファ256からフラッシュメモリ200内にプログラミングされ、現在のオペレーティングシステム/制御プログラム201として常駐する。オペレーティングシステム/制御プログラム201はフラッシュメモリ200のうちのセクタ0(これはブートローダー300の位置)より上の第1の利用可能なセクション内にロードされる。プログラミングが完了すると、システムはリセットされ、これにより、新しいフラッシュコンテンツ(すなわち、新しくダウンロードされたオペレーティングシステム/制御プログラム201)の検査が、メインのスタートアップシーケンス(図3参照)の間、もう1度強制的に行われる。
以下のテーブル2に示すように、ダウンロード用のコード画像は送信されて、DSMCC(デジタル記憶媒体コマンド&制御)ダウンロードデータブロックの標準推薦に従うメッセージにフォーマットされる。
(テーブル2)
(ダウンロードパケットフォーマット)
ダウンロード用のコード画像は送信されて、DSM CCダウンロードデータブロックの標準推薦に従うメッセージにフォーマットされる。
「受信したデータブロックのフォーマットは以下のようである」
Figure 2006101553
(テーブル7−1「DownloadDataHeader」および7−6「downloadDataBlock」からDSM−CC仕様でコンパイルされる)
上述のブロックヘッダーにおいて、以下のフィールドは予測される値を保持するように規定される。
Figure 2006101553
データブロックは、全構文ヘッダー(8バイト)およびCRC32が添付された標準のプライベートセクションフレーム化内にカプセル化される。標準に従って、ヘッダー内のテーブルIDは0×3Cに設定される。
ダウンロードデータブロックはできるだけ大きく維持されて、ダウンロードの効率に対するフォーマッティングオーバーヘッドの負担を最小限に留めるべきである。
ダウンロードのCVT記録の選択はブートローダー300内で実行される。オペレーティングシステム/制御プログラム201は、QPSKメッセージ内にカプセル化されたCVT記録を受信して、そしてこれをブートローダー300に渡す。ブートローダー300は情報(CVT)を処理する。この情報はヘッドエンド101に配置されたDNCS(デジタルネットワーク制御システム)によって同期を取られた状態で維持される。本発明の別の局面によれば、オペレーティングシステム/制御プログラム201は、接続部102上に存在する双方向QPSKチャンネルのうちの1つを介してCVTをブロードキャストメッセージとして受信する。このメッセージは、すべてのセットトップ受信機150にブロードキャストされるか、または個々のセットトップ受信機に個々にアドレス指定される。メッセージは、ブロードキャストメッセージとして行われた場合、図4の検索シーケンスを必要とせずに、ネットワーク内で接続されたすべてのボックスをグローバルにアップグレードする方法を提供する。個々にアドレス指定されたメッセージは、強制的にアドレス指定されたセットトップ受信機ボックス150にアップグレードを実行させる。メッセージはCVTを含み、CVTは解析されて、オペレーティングシステム/制御プログラムの現在のバージョンがアップグレードされるべきか否かを判定する。このCVTは、セットトップ受信機150の特定のハードウェアバージョンと必要なオペレーティングシステム/制御プログラムコードバージョンとを結ぶエントリを含む。エントリはさらに、ダウンロードチャンネルベクトル、および強制型ダウンロードまたは遅延型ダウンロードを選択するために用いられる制御フィールドを含む。
ダウンロードリクエストメッセージは所定の周波数で継続的に繰り返される。オペレーティングシステム/制御プログラムコードがこのメッセージを受信するたびに、オペレーティングシステム/制御プログラムコードはメッセージをブートローダー300に渡し、ブートローダー300は上述したようにCVTを解析して関連のエントリを探し出す。関連のエントリが見つかった場合、このリクエストのオペレーティングシステム/制御プログラムのバージョンがオペレーティングシステム/制御プログラムの現在のバージョンと比較される。これら2つのバージョンが異なる場合、上述のCVTに従って、ブートローダー300は、オペレーティングシステム/制御プログラム201に、必要な動作を実行して、新しいオペレーティングシステム/制御プログラムコード201の即時型ダウンロードまたは遅延型ダウンロードを開始するように通知する。ダウンロードの種類はエントリ中の制御フィールドに依存する。オペレーティングシステム/制御プログラムはブートローダー300内のダウンロードシーケンスを開始する。ブートローダー300はCVTを用いて、ダウンロード用のオペレーティングシステム/制御プログラムの適切な画像を決定する。CVTは専用メッセージで受信され、検索速度を向上させるためにあらゆるQAMチャンネル上で繰り返されることが多い。ブートローダー300は適切なエントリのリストを走査し、そして必要なコードIDおよびダウンロードチャンネルベクトルを取り出す。これら2つの値は連続して用いられて、オペレーティングシステム/制御プログラムの実行可能な画像をダウンロードする。
ブートローダー300は以下の規則に従ってCVTリストの解析を実行する。このリストは常に線形順序で解析される。第1のマッチは解析を停止する。セットトップ受信機150のハードウェア/ブートローダーコード300の構成を形成し、そしてブートローダー300内に保存された2つのコンポーネントは、0の値を決して有さないように規定される。受信したリストエントリ内のこれらのパラメータのいずれかが0に設定されると、これは、「このハードウェアレベルを有するすべてのセットトップ受信機150」または「このブートコードバージョンを有するすべて」を意味する。最後に、両方のハードウェア構成コンポーネントが0である場合、これは「すべてのセットトップ受信機」を意味する。これは、リスト内で特定されないすべての残りのセットトップ受信機へのダウンロードをカバーする最後のリスト要素である。
上述の解析規則により、広いクラスのセットトップ受信機150のために、ダウンロードされたソフトウェアバージョンの厳密な仕様およびダウンロード処理の両方が可能になる。このように、セットトップ受信機150がクラスまたはグループに分離され、そして新しいオペレーティングシステム/制御プログラムコードによって独立してアップグレードされ得る。
(ダウンロード用システムサポート)
上述のダウンロードプロセスに必要なシステムサポートは以下のようである。ダウンロードされるべきオペレーティングシステム/制御プログラムの画像は、ヘッドエンド101に関連付けられた専用データ回転ラック上でブロードキャストされる。コードは等しい長さのパケットに分けられ、そしてフレーム分けされてダウンロードストリームを形成する。CVTはDNCS内で生成されて維持される。CVTはシステム内のセットトップ受信機のすべてのバージョンの制御コード(すなわち、正しいオペレーティングシステム/制御プログラム画像)を含む。このテーブルは、接続部102上のQPSKチャンネル上で継続的に(1分あたり1回)ブロードキャストされて、システム内のすべてのセットトップ受信機が適切なオペレーティングシステム/制御プログラムバージョンを有することを保証する。このブロードキャストメッセージはさらに、システム内の任意のセットトップ受信機に個々に送信され得る。CVTはさらに、システム内のあらゆるデジタルQAMチャンネル上で、約1秒当たり1回の周期でブロードキャストされる。このメッセージはブートローダー300によってのみ受信され、そして認識され、そして上述したように、バックグラウンドバージョンチェックおよび周波数検索に用いられる。緊急時ダウンロードリクエストは、QAMチャンネル上で毎秒、そしてQPSKチャンネル上で毎分すでにブロードキャストされているCVT内のアドレス指定可能なフィールドとして挿入される。
(補助機能処理)
スタートアップシーケンスコードの一部として上述した補助機能は、フロントパネルキーボード124のキー状態の判定を含む。いずれかのキーを押すと、ブートローダー300は検出されたキー状態と1セットの所定のキーの組み合わせとを比較し、これにより、特定の補助機能が実行される。ブートローダー300内で認識されずそして処理されない任意のキーの組み合わせはオペレーティングシステム/制御プログラム201に渡される。キーボート124から実行され得る補助機能は、コードダウンロードを開始する手動のリクエスト、シリアルポートを介してロードするリクエスト(フラッシュまたはRAMに実行可能なNVRAMコンテンツ、ブートローダーモジュールアップグレード)、またはスマートカードからロードするリクエストである。
上述したように、本発明の原理から実質的に逸脱することなく、多くの改変および変更が本発明の好適な実施形態に行われ得ることが当業者に明らかである。例えば、本発明は用いられて、種々の条件下でオペレーティングシステム/制御プログラムコードをダウンロードし得る。さらに、本発明の周波数検索シーケンスの局面は、スペクトル内で特定の周波数を見つけることが望ましい任意の状況において有用である。本明細書に含まれるすべてのこのような改変および変形は、上掲の特許請求の範囲に規定される本発明の範囲内にあることが意図される。
図1は、本発明の好適な実施形態のブートローダーが常駐するケーブルテレビシステムアーキテクチャを示すブロック図である。 図2は、図1のフラッシュメモリ(内部に本発明の好適な実施形態のブートローダーが配置される)およびDRAMのコンテンツのレイアウトを示すブロック図であり、このDRAMはダウンロード動作の間に用いられるものである。 図3は、図2のブートローダーのスタートアップ段階の間の処理を示すフローチャートである。 図4は、図2のブートローダーの周波数検索手順を示すフローチャートである。 図5は、ダウンロード情報を取得し、そしてオペレーティングシステム/制御プログラムのダウンロードシーケンスを実行するプロセスを示すフローチャートである。

Claims (1)

  1. セットトップケーブルテレビの制御デバイスを動作させる方法であって、該方法は、
    チューナー内で信号を受信する工程と、
    該信号を該チューナーに接続された受信機に伝達する工程と、
    該信号を該受信機に接続されたプロセッサに伝達する工程と、
    第1のコード部分を実行する工程であって、該第1のコード部分は該プロセッサに接続された第1のメモリ要素内に常駐し、該第1のコード部分は該第1のメモリ要素に格納されている第2のコード部分の実行とは独立に、かつ、該第2のコード部分の実行の前に実行される、工程と、
    該第2のコード部分が該制御デバイスを動作させることが可能か否かを決定する工程と、
    該第2のコード部分が該制御デバイスを動作させることが可能であるという決定に応答して、該第2のコード部分が該制御デバイスを動作させることを許可する工程と、
    該第2のコード部分が該制御デバイスを動作させることが可能でないという決定に応答して、代替の第2のコード部分を第2のメモリ要素にダウンロードし、該代替の第2のコード部分に関するセキュリティデータをチェックすることにより、該代替の第2のコード部分のソースを確認および確証する工程と
    を包含する、方法。
JP2005358842A 2000-02-04 2005-12-13 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法 Withdrawn JP2006101553A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18028400P 2000-02-04 2000-02-04
US09/549,292 US7069578B1 (en) 2000-02-04 2000-04-14 Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001557278A Division JP4398130B2 (ja) 2000-02-04 2001-01-31 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009032024A Division JP2009105983A (ja) 2000-02-04 2009-02-13 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法

Publications (1)

Publication Number Publication Date
JP2006101553A true JP2006101553A (ja) 2006-04-13

Family

ID=26876156

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001557278A Expired - Fee Related JP4398130B2 (ja) 2000-02-04 2001-01-31 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法
JP2005358842A Withdrawn JP2006101553A (ja) 2000-02-04 2005-12-13 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法
JP2009032024A Withdrawn JP2009105983A (ja) 2000-02-04 2009-02-13 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001557278A Expired - Fee Related JP4398130B2 (ja) 2000-02-04 2001-01-31 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009032024A Withdrawn JP2009105983A (ja) 2000-02-04 2009-02-13 ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法

Country Status (5)

Country Link
US (2) US7069578B1 (ja)
EP (1) EP1252758B1 (ja)
JP (3) JP4398130B2 (ja)
DE (1) DE60141810D1 (ja)
WO (1) WO2001058146A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528528A (ja) * 2007-05-21 2010-08-19 ソニー株式会社 広帯域電力線通信によるブロードキャストダウンロードシステム
KR101526967B1 (ko) * 2008-04-23 2015-06-11 엘지전자 주식회사 방송 송신기, 방송 수신기 및 케이블 방송의 소프트웨어수신 방법

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3950589B2 (ja) * 1998-08-28 2007-08-01 キヤノン株式会社 情報処理装置、プログラム更新方法および記憶媒体
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
WO2002037843A1 (fr) * 2000-10-27 2002-05-10 Hitachi, Ltd. Recepteur de donnees et procede de reception de donnees
US11204729B2 (en) 2000-11-01 2021-12-21 Flexiworld Technologies, Inc. Internet based digital content services for pervasively providing protected digital content to smart devices based on having subscribed to the digital content service
US11467856B2 (en) 2002-12-12 2022-10-11 Flexiworld Technologies, Inc. Portable USB device for internet access service
US9836257B2 (en) 2001-01-19 2017-12-05 Flexiworld Technologies, Inc. Mobile information apparatus that includes intelligent wireless display, wireless direct display, or transfer of digital content for playing over air the digital content at smart televisions, television controllers, or audio output devices
US7409685B2 (en) 2002-04-12 2008-08-05 Hewlett-Packard Development Company, L.P. Initialization and update of software and/or firmware in electronic devices
US20040068721A1 (en) * 2000-11-17 2004-04-08 O'neill Patrick Network for updating firmware and / or software in wireless communication devices
US8479189B2 (en) 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US8875116B2 (en) * 2000-11-17 2014-10-28 Hewlett-Packard Development Company, L.P. Network for updating firmware and / or software in wireless communication devices
US20020062398A1 (en) 2000-11-20 2002-05-23 William Ho Chang Controller for mobile and pervasive output
US20020152467A1 (en) * 2001-02-12 2002-10-17 Rosario Fiallos Automated generation of conditional access packets for IRD upgrades via radio frequency software download in satellite television systems
US20020141348A1 (en) * 2001-04-02 2002-10-03 Scott Swix Remote diagnostic tool for a media delivery network
US7584498B2 (en) * 2001-04-23 2009-09-01 Thomson Licensing Method and apparatus for enhanced cable modem operation
FR2824646B1 (fr) * 2001-05-09 2003-08-15 Canal Plus Technologies Procede de selection d'une image de logiciel executable
KR100392306B1 (ko) * 2001-06-04 2003-07-22 주식회사 한단정보통신 위성방송수신기 시스템의 프로그램 처리 장치 및 방법
US20030018445A1 (en) * 2001-07-19 2003-01-23 General Instrument Corporation Detection of unauthorized applications, objects, or configurations in a local device of a cable system
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
US20030084440A1 (en) * 2001-10-26 2003-05-01 George Lownes Method of providing a code upgrade to a host device having a smart card interface
JP2003256228A (ja) * 2002-02-28 2003-09-10 Denso Corp プログラム書換装置
KR20040094836A (ko) * 2002-03-22 2004-11-10 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 수신기, 송신 스테이션, 다운로드 방법, 컴퓨터 프로그램제품 및 신호
CA2380762A1 (en) * 2002-04-04 2003-10-04 Intrinsyc Software, Inc. Internet-enabled device provisioning, upgrade and recovery mechanism
KR100481511B1 (ko) * 2002-08-26 2005-04-07 삼성전자주식회사 방송수신장치 및 그 제어방법
US20040083471A1 (en) * 2002-10-21 2004-04-29 Lg Electronics Inc. Method of upgrading system software of a home appliance
WO2004055638A2 (en) 2002-12-12 2004-07-01 Flexiworld Technologies, Inc. Wireless communication between computing devices
GB2399721A (en) * 2003-03-21 2004-09-22 Nokia Corp Transmission of data using a data carousel
US7117482B2 (en) * 2003-03-26 2006-10-03 Sony Corporation Migration of configuration data from one software installation through an upgrade
WO2004093149A2 (en) 2003-04-11 2004-10-28 Flexiworld Technologies, Inc. Autorun for integrated circuit memory component
US7853971B2 (en) * 2003-04-23 2010-12-14 Panasonic Corporation Broadcasting signal receiver apparatus provided with controller for controlling demodulation mode, and apparatus for controlling demodulation mode
AU2004202425A1 (en) 2003-06-04 2004-12-23 Panasonic Corporation Program replacing method
US7673297B1 (en) * 2003-09-03 2010-03-02 The Directv Group, Inc. Automatic software update detection and flexible installer for set-top boxes
US20050157215A1 (en) * 2003-09-11 2005-07-21 Echostar Techonologies Corporation Method and apparatus for detecting an inactive channel selecting resource in a television converter
US8555273B1 (en) 2003-09-17 2013-10-08 Palm. Inc. Network for updating electronic devices
DE10358019A1 (de) * 2003-12-11 2005-07-14 Siemens Ag Verfahren zur Aktualisierung eines Automatisierungssystems
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US8087057B2 (en) 2004-04-28 2011-12-27 Echostar Technologies L.L.C. Television converter device including an internet protocol interface
US8112784B1 (en) 2004-04-28 2012-02-07 Echostar Corporation Device comprising multiple channel selectors
WO2005116827A1 (en) * 2004-05-31 2005-12-08 Stmicroelectronics Pvt. Ltd. A method for remotely upgrading the firmware of a target device using wireless technology
US20070169108A1 (en) * 2004-07-02 2007-07-19 Koninklijke Philips Electronics N.V. Method of executing software applications
US8312267B2 (en) 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
US20060020938A1 (en) * 2004-07-20 2006-01-26 Elcock Albert F Method, article of manufacture and apparatus for updating software in a consumer device
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
KR100599120B1 (ko) * 2004-08-26 2006-07-12 삼성전자주식회사 Osd 화면 상의 리셋 메뉴를 이용한 케이블카드 및 채널목록의 초기화방법 및 장치
KR100643279B1 (ko) * 2004-09-23 2006-11-10 삼성전자주식회사 복수의 튜너를 갖는 디지털 방송 수신기의 채널 스캐닝 방법
CN101088068B (zh) * 2004-12-29 2010-06-16 格伦迪希电子公司 通过遥控器进行软件更新的方法和装置
FR2888353A1 (fr) * 2005-07-11 2007-01-12 Thomson Licensing Sas Soc Par Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede
US9948882B2 (en) 2005-08-11 2018-04-17 DISH Technologies L.L.C. Method and system for toasted video distribution
US7889233B2 (en) * 2005-08-26 2011-02-15 Nvidia Corporation Video image processing with remote diagnosis and programmable scripting
US7872668B2 (en) * 2005-08-26 2011-01-18 Nvidia Corporation Video image processing with programmable scripting and remote diagnosis
KR101215350B1 (ko) * 2005-09-14 2012-12-26 엘지전자 주식회사 케이블 방송 수신기 및 펌웨어 업그레이드 방법
KR20070064872A (ko) * 2005-12-19 2007-06-22 엘지전자 주식회사 케이블 방송의 소프트웨어 수신방법
JP2007184753A (ja) * 2006-01-06 2007-07-19 Sony Corp 受信表示システム、受信装置および表示端末
WO2007104899A1 (fr) * 2006-03-16 2007-09-20 Thomson Licensing Procede de mise a jour robuste de logiciel
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8752044B2 (en) 2006-07-27 2014-06-10 Qualcomm Incorporated User experience and dependency management in a mobile device
US20080040767A1 (en) * 2006-08-11 2008-02-14 Sbc Knowledge Ventures, L.P. System and method of providing a set-top box application
KR100782856B1 (ko) * 2006-09-26 2007-12-06 삼성전자주식회사 디지털 방송 수신기의 소프트웨어 업그레이드 방법 및 장치
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US10104432B2 (en) 2006-12-01 2018-10-16 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
JP2008158591A (ja) * 2006-12-20 2008-07-10 Denso Corp 情報処理装置及び制御プログラム
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US7925423B2 (en) 2007-08-31 2011-04-12 Embarq Holdings Company, Llc System and method for traffic condition detection
US8418194B2 (en) 2007-08-31 2013-04-09 Centurylink Intellectual Property Llc System and method for dynamic bandwidth allocation
EP2195737B1 (en) 2007-10-03 2018-07-11 ABB Schweiz AG Method for reprogramming applications in embedded devices and related device
US20090150940A1 (en) * 2007-12-05 2009-06-11 Echostar Technologies Corporation Downloading of an interactive application to a broadcast programming receiver
US9760424B2 (en) * 2008-01-31 2017-09-12 Thomson Licensing Dtv Systems and methods for dynamically reporting a boot process in content/service receivers
US8793477B2 (en) * 2008-02-12 2014-07-29 Mcafee, Inc. Bootstrap OS protection and recovery
US8484634B2 (en) * 2008-03-28 2013-07-09 Time Warner Cable, Inc. System for signaling an application to a host device and method therefor
US8224313B2 (en) * 2008-09-24 2012-07-17 Centurylink Intellectual Property Llc System and method for controlling vehicle systems from a cell phone
US8819182B2 (en) 2008-09-24 2014-08-26 Centurylink Intellectual Property Llc System and method for updating vehicle media content
US8126450B2 (en) * 2008-09-24 2012-02-28 Embarq Holdings Company Llc System and method for key free access to a vehicle
US20100157153A1 (en) * 2008-11-20 2010-06-24 Advanced Micro Devices, Inc. Upgrading Non-Volatile Storage Via an Encoded Video Signal
US20100269179A1 (en) * 2009-04-16 2010-10-21 Comcast Cable Communications, Llc Security Client Translation System and Method
US9479812B2 (en) * 2009-06-05 2016-10-25 Time Warner Cable Enterprises Llc User selection of software components in a television set-top box
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
JP5506260B2 (ja) * 2009-07-03 2014-05-28 日立コンシューマエレクトロニクス株式会社 映像送信装置及び映像受信装置
US8849967B2 (en) * 2009-07-15 2014-09-30 Cisco Technology, Inc. Passive activation of bootloader network features
US8528037B2 (en) 2009-08-28 2013-09-03 CSC Holdings, LLC Dynamic application loader for set top box
KR101595754B1 (ko) * 2009-11-26 2016-02-19 삼성전자주식회사 디지털 방송 시스템에서 셋탑박스의 펌웨어 갱신 방법 및 이를 위한 장치
TWM381231U (en) * 2009-12-01 2010-05-21 Inxtron Inc Network device for remote firmware update
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
US8386339B2 (en) 2010-11-23 2013-02-26 Echostar Technologies L.L.C. Ordering via dynamic matrix code generation
US9329966B2 (en) 2010-11-23 2016-05-03 Echostar Technologies L.L.C. Facilitating user support of electronic devices using matrix codes
US9792612B2 (en) 2010-11-23 2017-10-17 Echostar Technologies L.L.C. Facilitating user support of electronic devices using dynamic matrix code generation
EP2643801B1 (en) 2010-11-24 2019-10-02 DISH Technologies L.L.C. Tracking user interaction from a receiving device
US8439257B2 (en) 2010-12-01 2013-05-14 Echostar Technologies L.L.C. User control of the display of matrix codes
US9280515B2 (en) 2010-12-03 2016-03-08 Echostar Technologies L.L.C. Provision of alternate content in response to QR code
US8886172B2 (en) 2010-12-06 2014-11-11 Echostar Technologies L.L.C. Providing location information using matrix code
US8875173B2 (en) 2010-12-10 2014-10-28 Echostar Technologies L.L.C. Mining of advertisement viewer information using matrix code
US9596500B2 (en) 2010-12-17 2017-03-14 Echostar Technologies L.L.C. Accessing content via a matrix code
US8640956B2 (en) 2010-12-17 2014-02-04 Echostar Technologies L.L.C. Accessing content via a matrix code
US9148686B2 (en) 2010-12-20 2015-09-29 Echostar Technologies, Llc Matrix code-based user interface
US8856853B2 (en) 2010-12-29 2014-10-07 Echostar Technologies L.L.C. Network media device with code recognition
US8408466B2 (en) 2011-01-04 2013-04-02 Echostar Technologies L.L.C. Assisting matrix code capture by signaling matrix code readers
US8292166B2 (en) 2011-01-07 2012-10-23 Echostar Technologies L.L.C. Performing social networking functions using matrix codes
US8534540B2 (en) 2011-01-14 2013-09-17 Echostar Technologies L.L.C. 3-D matrix barcode presentation
US8786410B2 (en) 2011-01-20 2014-07-22 Echostar Technologies L.L.C. Configuring remote control devices utilizing matrix codes
US8553146B2 (en) 2011-01-26 2013-10-08 Echostar Technologies L.L.C. Visually imperceptible matrix codes utilizing interlacing
US8468610B2 (en) 2011-01-27 2013-06-18 Echostar Technologies L.L.C. Determining fraudulent use of electronic devices utilizing matrix codes
US8430302B2 (en) 2011-02-03 2013-04-30 Echostar Technologies L.L.C. Enabling interactive activities for content utilizing matrix codes
US9571888B2 (en) 2011-02-15 2017-02-14 Echostar Technologies L.L.C. Selection graphics overlay of matrix code
US8511540B2 (en) 2011-02-18 2013-08-20 Echostar Technologies L.L.C. Matrix code for use in verification of data card swap
EP2675425B1 (en) 2011-02-18 2019-01-23 GABA International Holding GmbH Dentifrice composition
US8931031B2 (en) 2011-02-24 2015-01-06 Echostar Technologies L.L.C. Matrix code-based accessibility
US9367669B2 (en) 2011-02-25 2016-06-14 Echostar Technologies L.L.C. Content source identification using matrix barcode
US9736469B2 (en) 2011-02-28 2017-08-15 Echostar Technologies L.L.C. Set top box health and configuration
US8443407B2 (en) 2011-02-28 2013-05-14 Echostar Technologies L.L.C. Facilitating placeshifting using matrix code
US8833640B2 (en) 2011-02-28 2014-09-16 Echostar Technologies L.L.C. Utilizing matrix codes during installation of components of a distribution system
US8550334B2 (en) 2011-02-28 2013-10-08 Echostar Technologies L.L.C. Synching one or more matrix codes to content related to a multimedia presentation
EP2525281B1 (en) 2011-05-20 2019-01-02 EchoStar Technologies L.L.C. Improved progress bar
US9942124B2 (en) 2011-06-28 2018-04-10 Time Warner Cable Enterprises Llc Apparatus and methods for automated device testing in content distribution network
US20130125162A1 (en) * 2011-11-11 2013-05-16 Cisco Technology, Inc. Deferring Committing Downloads Until Device has Satisfied Installation Requirements
CN103297848B (zh) * 2012-02-22 2016-12-14 华为终端有限公司 媒体流的播放方法及机顶盒
TW201415365A (zh) * 2012-10-15 2014-04-16 Askey Computer Corp 作業系統更新的方法及手持電子裝置
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
KR101990868B1 (ko) * 2013-02-05 2019-06-19 주식회사 알티캐스트 방송 서비스 보안 모듈 다운로드 제어 방법 및 장치
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
KR20140121233A (ko) * 2013-04-05 2014-10-15 삼성전자주식회사 부트로더에 의한 운영 체제 부팅 기능의 전자 장치, 방법 및 저장 매체
EP3116218B1 (en) * 2014-04-18 2020-02-12 Huawei Device Co., Ltd. Software upgrade method, device and equipment
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US10798108B2 (en) * 2014-11-14 2020-10-06 Marvell Asia Pte, Ltd. Apparatus and method for a multi-entity secure software transfer
US10353779B2 (en) * 2017-05-05 2019-07-16 Dell Products L.P. Systems and methods for detection of firmware image corruption and initiation of recovery
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法
US10437580B2 (en) * 2017-09-11 2019-10-08 Apple Inc. Software updating methods and systems
KR20210081088A (ko) * 2019-12-23 2021-07-01 에스케이하이닉스 주식회사 메모리 컨트롤러를 포함하는 스토리지 장치
CN113434166B (zh) * 2021-06-11 2022-10-11 重庆长安汽车股份有限公司 一种含固定刷写区且可回滚的双备份方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3789131A (en) 1972-08-03 1974-01-29 Oak Industries Inc Selective coding system for subscription television
US4247106A (en) 1978-04-12 1981-01-27 Jerrold Electronics Corporation System arrangement for distribution and use of video games
US4475123A (en) 1981-04-02 1984-10-02 Theta-Com., Division Of Texscan Addressable subscriber cable television system
US4430669A (en) 1981-05-29 1984-02-07 Payview Limited Transmitting and receiving apparatus for permitting the transmission and reception of multi-tier subscription programs
US4494142A (en) 1981-11-20 1985-01-15 Blonder-Tongue Laboratories, Inc. Method of and apparatus for scrambled television program addressable subscription selection and decoding
US4742543A (en) 1983-12-22 1988-05-03 Frederiksen Jeffrey E Video transmission system
US4829569A (en) 1984-09-21 1989-05-09 Scientific-Atlanta, Inc. Communication of individual messages to subscribers in a subscription television system
US4908834A (en) 1984-10-12 1990-03-13 Wiedemer John D High security pay television system
US4706121B1 (en) 1985-07-12 1993-12-14 Insight Telecast, Inc. Tv schedule system and process
JPS62281626A (ja) 1986-05-30 1987-12-07 Nippon Telegr & Teleph Corp <Ntt> デジタルデ−タ伝送方式
US4866770A (en) 1986-07-08 1989-09-12 Scientific Atlanta, Inc. Method and apparatus for communication of video, audio, teletext, and data to groups of decoders in a communication system
US4912760A (en) 1988-03-10 1990-03-27 Scientific Atlanta, Inc. Off-premises cable television channel interdiction method and apparatus
US4977455B1 (en) 1988-07-15 1993-04-13 System and process for vcr scheduling
CA1341310C (en) 1988-07-15 2001-10-23 Robert Filepp Interactive computer network and method of operation
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
WO1991007050A1 (en) 1989-10-30 1991-05-16 Insight Telecast, Inc. Cable television decoder to television accessory interfacing
US5353121A (en) 1989-10-30 1994-10-04 Starsight Telecast, Inc. Television schedule system
US5093921A (en) 1989-12-19 1992-03-03 Comband Technologies, Inc. Initialization technique and apparatus for set top converters
EP1585321B1 (en) 1990-09-10 2011-07-13 Starsight Telecast, Inc. User interface for television schedule system
US5091936A (en) 1991-01-30 1992-02-25 General Instrument Corporation System for communicating television signals or a plurality of digital audio signals in a standard television line allocation
JP3028107B2 (ja) * 1991-04-11 2000-04-04 ブラザー工業株式会社 プリンタの連帳単票切換え装置
US5835864A (en) * 1991-10-03 1998-11-10 Thomson Consumer Electronics S.A. Method and apparatus for customizing a device with a smart card
US5440632A (en) 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5428789A (en) * 1993-08-27 1995-06-27 Waldron, Iii; Theodore C. Method and apparatus for optimizing user response time in a priority preemptive operating system
US5420866A (en) * 1994-03-29 1995-05-30 Scientific-Atlanta, Inc. Methods for providing conditional access information to decoders in a packet-based multiplexed communications system
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5734589A (en) * 1995-01-31 1998-03-31 Bell Atlantic Network Services, Inc. Digital entertainment terminal with channel mapping
US5768539A (en) 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
US5619250A (en) * 1995-02-19 1997-04-08 Microware Systems Corporation Operating system for interactive television system set top box utilizing dynamic system upgrades
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module
US5951639A (en) * 1996-02-14 1999-09-14 Powertv, Inc. Multicast downloading of software and data modules and their compatibility requirements
US5960445A (en) 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
JPH10289108A (ja) * 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd リモートプログラムダウンロード装置
JP4084461B2 (ja) * 1997-06-05 2008-04-30 松下電器産業株式会社 リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体
JP3261399B2 (ja) * 1997-07-31 2002-02-25 松下電器産業株式会社 リモートメンテナンス方法およびリモートメンテナンス装置
JP3567696B2 (ja) * 1997-09-24 2004-09-22 松下電器産業株式会社 ソフトウェアダウンロードシステム
EP0907285A1 (en) 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
EP0914001A1 (en) * 1997-10-28 1999-05-06 CANAL+ Société Anonyme Downloading of applications in a digital decoder
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
US6202207B1 (en) * 1998-01-28 2001-03-13 International Business Machines Corporation Method and a mechanism for synchronized updating of interoperating software
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
JP4016359B2 (ja) * 1998-03-24 2007-12-05 ソニー株式会社 受信装置及びプログラム書き換え方法
US6148081A (en) 1998-05-29 2000-11-14 Opentv, Inc. Security model for interactive television applications
US6427238B1 (en) * 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
US6393585B1 (en) 1998-12-23 2002-05-21 Scientific-Atlanta, Inc. Method and apparatus for restoring operating systems in a set-top box environment
US6353885B1 (en) * 1999-01-26 2002-03-05 Dell Usa, L.P. System and method for providing bios-level user configuration of a computer system
US6469742B1 (en) * 1999-04-12 2002-10-22 Koninklijke Philips Electronics N.V. Consumer electronic devices with adaptable upgrade capability
EP1181824A1 (en) 1999-04-21 2002-02-27 General Instrument Corporation Method and system for locating a control channel and data transport stream within the signal received by a set-top box from a cable television system
US6718374B1 (en) * 1999-04-21 2004-04-06 General Instrument Corporation Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
US6813778B1 (en) * 1999-08-16 2004-11-02 General Instruments Corporation Method and system for downloading and managing the enablement of a list of code objects
US6757837B1 (en) * 1999-10-19 2004-06-29 Tivo, Inc. Method and apparatus for software failure diagnosis and repair
EP1195053A2 (en) * 1999-12-14 2002-04-10 Motorola, Inc. Selection between an in-band and an out-of-band channel for downloading code to a set top box
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528528A (ja) * 2007-05-21 2010-08-19 ソニー株式会社 広帯域電力線通信によるブロードキャストダウンロードシステム
KR101526967B1 (ko) * 2008-04-23 2015-06-11 엘지전자 주식회사 방송 송신기, 방송 수신기 및 케이블 방송의 소프트웨어수신 방법

Also Published As

Publication number Publication date
WO2001058146A2 (en) 2001-08-09
US7774820B2 (en) 2010-08-10
WO2001058146A3 (en) 2002-02-21
JP2003522481A (ja) 2003-07-22
DE60141810D1 (de) 2010-05-27
JP2009105983A (ja) 2009-05-14
EP1252758A2 (en) 2002-10-30
EP1252758B1 (en) 2010-04-14
US20050144651A1 (en) 2005-06-30
US7069578B1 (en) 2006-06-27
JP4398130B2 (ja) 2010-01-13

Similar Documents

Publication Publication Date Title
JP4398130B2 (ja) ブートローダーソフトウェアおよびコードバージョンテーブルを含む、セットトップ受信機のオペレーティングシステムソフトウェアを維持および更新するセットトップケーブルテレビ制御デバイスおよび方法
US6718374B1 (en) Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
EP1210823B1 (en) Method and system for downloading and managing the execution of a list of code objects
US8347281B2 (en) Automatic software update detection and flexible installer for set-top boxes
UA63976C2 (uk) Спосіб завантаження даних, приймач-декодер, система передавання та система передавання і приймання для його здійснення
EP1841228A1 (en) Broadcast reception device
JP2005209195A (ja) バイナリー位置情報を用いたエンベデッドシステム及びソフトウェア遠隔ダウンロード方法
JP2000137607A (ja) デジタルテレビジョン受像機
EP1172006B1 (en) Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system
CN109358894B (zh) 一种支持DVB的Android设备升级方法及系统
EP2142989B1 (en) Universal microcode image
EP1798640A1 (en) Apparatuses and methods for receiving software
EP1210824B1 (en) Method and system for automatically purging code objects being updated by download
JP2006050625A (ja) 端末における動作強制
KR100767674B1 (ko) 디지털 수신기의 소프트웨어 업그레이드 방법
KR100500014B1 (ko) 셋탑박스에서 소프트웨어 업그레이드 방법
TW503662B (en) Method and system for locating a control channel and data transport stream within the signal received by a set-top box from a cable television system
KR20070038810A (ko) 펌웨어 업그레이드 방법
KR100803136B1 (ko) 통합 파일을 다운로드 하는 방송 수신기 및 그 제어방법
WO2000064181A1 (en) Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
KR20100045266A (ko) 셋톱박스에 있어서 오티에이 실행 방법
KR20070008848A (ko) 디지털 수신기의 소프트웨어 업그레이드 방법 및 장치
KR20080082734A (ko) 디지털 방송 수신기에서의 모듈별 프로그램 업데이트제어방법
KR20080073897A (ko) 소프트웨어 업그레이드 방법, 데이터 및 소프트웨어 전송방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080729

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081118

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110420