(57)【要約】【課題】ＳＴＢに新たな構成を要しないプリンタファームウェアの更新システムを提供する。【解決手段】ＳＴＢ１２０は、プリンタ１３０が接続され、プリンタのファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述を含む表示コンテンツとを外部から受信する受信部１２１と、前記表示コンテンツをＴＶ１２３に表示させるための表示データを生成する表示データ生成部１２２と、表示コンテンツに対する印刷命令を取得するリモコン受信部１２５と、印刷命令をリモコン受信部１２５が受けたとき、前記更新データを印刷の対象であるデータとしてプリンタ１３０へ出力する印刷出力部１２７とを備える。【選択図】　　図１
2004005454.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
前記印刷装置のファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述を含む表示コンテンツとを外部から受信する受信手段と、
前記表示コンテンツを表示する表示手段と、
前記表示コンテンツに対する印刷命令を取得する命令取得手段と、
前記印刷命令を前記命令取得手段が取得したとき、前記記述に従って前記更新データを印刷対象のデータとして前記印刷装置へ出力する出力手段と
を備えることを特徴とする受信装置。
【請求項２】
前記更新データは、表示の対象とならず、印刷のみの対象となるデータである
ことを特徴とする請求項１記載の受信装置。
【請求項３】
前記出力手段は、前記表示コンテンツを前記印刷装置に出力しない
ことを特徴とする請求項１記載の受信装置。
【請求項４】
前記出力手段は、着脱可能な記録媒体を介して、前記更新データを前記印刷装置へ出力する
ことを特徴とする請求項１記載の受信装置。
【請求項５】
前記出力手段は、前記印刷装置が備えるファームウェアのバージョンが最新でないことを確認した後に、前記更新データを前記印刷装置へ出力する
ことを特徴とする請求項１記載の受信装置。
【請求項６】
前記出力手段は、前記印刷装置が備えるファームウェアのバージョンを特定する情報を当該印刷装置から取得し、取得した情報に基づいて、前記ファームウェアが最新でないことを確認する
ことを特徴とする請求項５記載の受信装置。
【請求項７】
前記更新データは、古いバージョンのファームウェアからの差分情報であり、
前記出力手段は、前記更新データを古いバージョンのファームウェアと連結した後に前記印刷装置に出力する
ことを特徴とする請求項１記載の受信装置。
【請求項８】
前記受信手段は、さらに、
前記更新データと前記表示コンテンツとを送信するよう通信回線を介して所定のサーバに要求する要求手段を備え、
前記受信手段は、要求した前記更新データと前記表示コンテンツとを、前記通信回線を介して前記サーバから受信する
ことを特徴とする請求項１記載の受信装置。
【請求項９】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
表示の対象とならない印刷データと、前記印刷装置のファームウェアを更新するための更新データとを外部から受信する受信手段と、
前記印刷データを前記印刷装置に出力する出力手段とを備え、
前記出力手段は、前記更新データを前記印刷データとして出力する
ことを特徴とする受信装置。
【請求項１０】
前記受信手段は、さらに、
ユーザに対し、前記印刷装置のファームウェアの更新を促す指示情報を有する表示コンテンツを受信する表示コンテンツ受信手段と、
前記指示情報を表示する表示手段とを備え、
前記出力手段は、表示された前記指示情報に従ってユーザが入力した印刷命令に基づき、前記更新データを印刷データとして出力する
ことを特徴とする請求項９記載の受信装置。
【請求項１１】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
前記印刷装置のファームウェアを更新するための更新データと、ユーザに前記ファームウェアの更新を促す指示情報を有する表示コンテンツとを受信する受信手段と、
前記指示情報を表示する表示手段と、
表示された前記指示情報に基づくユーザからの前記ファームウェアの更新命令を、前記更新データに対する印刷命令として取得する命令取得手段と、
前記印刷命令が取得されると、前記更新データを前記印刷装置へ出力する出力手段と
を備えることを特徴とする受信装置。
【請求項１２】
前記出力手段は、前記印刷データを前記印刷装置へ送信するものであって、前記更新データを印刷データとして送信する
ことを特徴とする請求項１１記載の受信装置。
【請求項１３】
前記表示手段は、前記更新データを表示しない
ことを特徴とする請求項１１記載の受信装置。
【請求項１４】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
前記印刷装置のファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述と、ユーザに印刷装置のファームウェアの更新を促す指示情報とを有する表示コンテンツとを受信する受信手段と、
前記表示コンテンツのうち前記指示情報を表示する表示手段と、
印刷命令を受信する命令受信手段と、
表示された前記指示情報に基づくユーザからの前記ファームウェアの更新命令を、前記更新データに対する印刷命令として取得する命令取得手段と、
前記命令受信手段によって印刷命令が受信されると、印刷データを前記印刷装置に出力し、前記命令取得手段によって前記印刷命令が取得されると、前記記述に基づいて前記更新データを前記印刷装置へ出力する出力手段と
を備えることを特徴とする受信装置。
【請求項１５】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
表示の対象とされない、印刷のみの対象となる印刷データを受信する受信手段と、
前記印刷データの印刷命令を受けたとき、前記印刷データを表示せずに前記印刷装置へ出力する出力手段とを備え、
前記受信手段は、前記印刷装置のファームウェアを更新するための更新データを前記印刷データとして受信し、
前記出力手段は、前記印刷命令により、前記更新データを前記印刷データとして前記印刷装置へ出力する
ことを特徴とする受信装置。
【請求項１６】
印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、
前記印刷装置のファームウェアを更新するための更新データと、ユーザに印刷装置のファームウェアの更新を促す指示情報を有する表示コンテンツとを受信する受信手段と、
前記指示情報を表示する表示手段と、
表示された前記指示情報に基づくユーザからの前記印刷装置のファームウェアの更新命令を、前記更新データに対する印刷命令として取得する命令取得手段と
を備えることを特徴とする受信装置。
【請求項１７】
印刷データを前記受信装置から取得する取得手段と、
取得された印刷データに当該印刷装置のファームウェアを更新するための更新データが含まれているか否かの判別をする判別手段と
前記判別手段により前記印刷データに前記更新データが含まれていると判別されたとき、前記更新データによりファームウェアを更新する更新手段と
を備えることを特徴とする印刷装置。
【請求項１８】
前記取得手段は、前記更新手段が前記更新データによりファームウェアを更新している間、前記受信装置から他の印刷データの入力を受け付けない
ことを特徴とする請求項１７記載の印刷装置。
【請求項１９】
前記取得手段は、着脱可能な記録媒体を介して、前記更新データを取得する
ことを特徴とする請求項１７記載の印刷装置。
【請求項２０】
前記印刷データには、前記更新データが含まれているか否かを示す識別子が含まれており、
前記判別手段は、前記識別子によって、前記印刷データに前記更新データが含まれているか否かを判別する
ことを特徴とする請求項１７記載の印刷装置。
【請求項２１】
前記印刷データには、印刷又はファームウェアの更新の対象となるファイルを特定するファイル名が含まれ、
前記判別手段は、前記ファイル名によって、前記印刷データに更新データが含まれているか否かを判別する
ことを特徴とする請求項１７記載の印刷装置。
【請求項２２】
前記印刷データには、印刷又はファームウェアの更新の対象となるファイルを特定するファイル名と、前記更新データが含まれているか否かを示す識別子とが含まれ、
前記判別手段は、前記ファイルと前記識別子の両方によって、前記印刷データに前記更新データが含まれているか否かを判別する
ことを特徴とする請求項１７記載の印刷装置。
【請求項２３】
前記印刷装置は、さらに、前記ファームウェアのバージョンに関する情報を出力するバージョン情報出力手段を備える
を備えることを特徴とする請求項１７記載の印刷装置。
【請求項２４】
前記更新データは、古いバージョンのファームウェアからの差分情報であり、
前記更新手段は、前記更新データを、保持している古いバージョンのファームウェアと連結することによって、前記更新を行う
を備えることを特徴とする請求項１７記載の印刷装置。
【請求項２５】
放送用コンテンツが記録されたコンピュータ読み取り可能な記録媒体であって、
前記放送用コンテンツには、印刷装置のファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述を含む印刷コンテンツとが含まれる
ことを特徴とする記録媒体。
【請求項２６】
前記更新データには、当該更新データが前記ファームウェアを更新するためのデータである旨を示す識別子が記述されている
ことを特徴とする請求項２５記載の記録媒体。
【請求項２７】
前記更新データは、当該更新データが前記ファームウェアを更新するためのデータである旨を示すファイル名が付されたデータファイルとして前記放送ファイルに含まれている
ことを特徴とする請求項２５記載の記録媒体。
【請求項２８】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムにおいて使用されるサーバであって、
前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷コンテンツとして含んだコンテンツを生成するコンテンツ生成手段と、
生成された前記コンテンツを前記受信装置に送信するコンテンツ送信手段と
を備えることを特徴とするサーバ。
【請求項２９】
メールを送信するサーバと、サーバから前記メールを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷データを印刷する印刷装置とからなるファームウェア更新システムにおいて使用されるサーバであって、
前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷データとして添付したメールを生成するメール生成手段と、
生成された前記メールを前記受信装置に送信するメール送信手段と
を備えることを特徴とするサーバ。
【請求項３０】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムであって、
前記サーバは、
前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷コンテンツとして含んだコンテンツを生成するコンテンツ生成手段と、
生成された前記コンテンツを前記受信装置に送信するコンテンツ送信手段とを備え、
前記受信装置は、
前記コンテンツを前記受信装置から受信するコンテンツ受信手段と、
ユーザから印刷コンテンツの印刷指示を取得する印刷指示取得手段と、
前記印刷指示が取得されると、受信された前記コンテンツに含まれる印刷コンテンツを、表示に関する処理をすることなく前記印刷装置に出力する印刷出力手段とを備え、
前記印刷装置は、
前記受信装置が出力した前記印刷コンテンツがファームウェア更新用ファイルであるか否かを判定する判定手段と、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルであれば、当該印刷コンテンツを用いてファームウェアを更新する更新手段と、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルでなければ、当該印刷コンテンツを印刷する印刷手段と
を備えることを特徴とするファームウェア更新システム。
【請求項３１】
前記判定手段は、前記印刷コンテンツ内に記述されているファームウェア更新命令を検索して、当該ファームウェア更新命令があれば、ファームウェア更新用ファイルであると判定する
ことを特徴とする請求項３０記載のファームウェア更新システム。
【請求項３２】
前記印刷出力手段は、前記印刷コンテンツをそのファイル名とともに前記印刷装置に出力し、
前記判定手段は、前記受信装置が出力した前記印刷コンテンツのファイル名があらかじめ定めたファイル名であれば、ファームウェア更新用ファイルであると判定する
ことを特徴とする請求項３０記載のファームウェア更新システム。
【請求項３３】
前記判定手段は、さらに、
前記印刷コンテンツ内に記述されているファームウェア更新命令を検索して、当該ファームウェア更新命令があれば、ファームウェア更新用ファイルであることを確認する確認手段を備え、
前記更新手段は、前記確認の後、当該印刷コンテンツを用いてファームウェアを更新する
ことを特徴とする請求項３２記載のファームウェア更新システム。
【請求項３４】
前記受信装置は、さらに、
受信された各コンテンツを所定の領域に格納するコンテンツ格納手段を備え、
前記更新手段は、さらに、
前記印刷コンテンツ内で指定された他のファームウェア更新用ファイルを前記コンテンツ格納手段の所定の領域から取得するファイル取得手段を備え、
前記更新手段は、取得されたファイル内のデータを用いてファームウェアの更新を行う
ことを特徴とする請求項３０記載のファームウェア更新システム。
【請求項３５】
前記印刷装置は、さらに、
２つのＲＯＭからなるファームウェア格納手段を備え、
前記印刷装置は、一方の前記ＲＯＭに格納されているファームウェアに従って動作し、
前記更新手段は、他方の前記ＲＯＭにバージョンアップされたファームウェアを格納することによって、前記印刷装置のファームウェアを更新する
ことを特徴とする請求項３０記載のファームウェア更新システム。
【請求項３６】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるシステムにおけるファームウェア更新方法であって、
前記サーバにおいて、
前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷コンテンツとして含んだコンテンツを生成するコンテンツ生成ステップと、
生成された前記コンテンツを前記受信装置に送信するコンテンツ送信ステップとを含み、
前記受信装置において、
前記コンテンツを前記受信装置から受信するコンテンツ受信ステップと、
ユーザから印刷コンテンツの印刷指示を取得する印刷指示取得ステップと、
前記印刷指示が取得されると、受信された前記コンテンツに含まれる印刷コンテンツを、表示に関する処理をすることなく前記印刷装置に出力する印刷出力ステップとを含み、
前記印刷装置において、
前記受信装置が出力した前記印刷コンテンツがファームウェア更新用ファイルであるか否かを判定する判定ステップと、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルであれば、当該印刷コンテンツを用いてファームウェアを更新する更新ステップと、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルでなければ、当該印刷コンテンツを印刷する印刷ステップと
を含むことを特徴とするファームウェア更新方法。
【請求項３７】
前記判定ステップでは、前記印刷コンテンツ内に記述されているファームウェア更新命令を検索して、当該ファームウェア更新命令があれば、ファームウェア更新用ファイルであると判定する
ことを特徴とする請求項３６記載のファームウェア更新方法。
【請求項３８】
前記印刷出力ステップでは、前記印刷コンテンツをそのファイル名とともに前記印刷装置に出力し、
前記判定ステップでは、前記受信装置が出力した前記印刷コンテンツのファイル名があらかじめ定めたファイル名であれば、ファームウェア更新用ファイルであると判定する
ことを特徴とする請求項３６記載のファームウェア更新方法。
【請求項３９】
前記判定ステップでは、さらに、
前記印刷コンテンツ内に記述されているファームウェア更新命令を検索して、当該ファームウェア更新命令があれば、ファームウェア更新用ファイルであることを確認する確認ステップを含み、
前記更新ステップでは、前記確認の後、当該印刷コンテンツを用いてファームウェアを更新する
ことを特徴とする請求項３８記載のファームウェア更新方法。
【請求項４０】
前記ファームウェア更新方法は、さらに、前記受信装置において、受信された各コンテンツを所定の領域に格納するコンテンツ格納ステップを含み、
前記更新ステップでは、さらに、
前記印刷コンテンツ内で指定された他のファームウェア更新用ファイルを前記所定の領域から取得するファイル取得ステップを含み、
前記更新ステップでは、取得されたファイル内のデータを用いてファームウェアの更新を行う
ことを特徴とする請求項３６記載のファームウェア更新方法。
【請求項４１】
前記印刷装置は、２つのＲＯＭを備え、
前記印刷装置は、一方の前記ＲＯＭに格納されているファームウェアに従って動作し、
前記更新ステップでは、他方の前記ＲＯＭにバージョンアップされたファームウェアを格納することによって、前記印刷装置のファームウェアを更新する
ことを特徴とする請求項３６記載のファームウェア更新方法。
【請求項４２】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムにおける前記サーバのためのプログラムであって、
前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷コンテンツとして含んだコンテンツを生成するコンテンツ生成ステップと、
生成された前記コンテンツを前記受信装置に送信するコンテンツ送信ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項４３】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムにおける前記受信装置のためのプログラムであって、
前記コンテンツを前記受信装置から受信するコンテンツ受信ステップと、
ユーザから印刷コンテンツの印刷指示を取得する印刷指示取得ステップと、
前記印刷指示が取得されると、受信された前記コンテンツに含まれる印刷コンテンツを、表示に関する処理をすることなく前記印刷装置に出力する印刷出力ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項４４】
コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムにおける前記印刷装置のためのプログラムであって、
前記受信装置が出力した前記印刷コンテンツがファームウェア更新用ファイルであるか否かを判定する判定ステップと、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルであれば、当該印刷コンテンツを用いてファームウェアを更新する更新ステップと、
前記判定の結果、前記印刷コンテンツがファームウェア更新用ファイルでなければ、当該印刷コンテンツを印刷する印刷ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタのファームウェアをアップデートするファームウェア更新システムに関する。
【０００２】
【従来の技術】
近年、テレビ放送におけるデジタル化に伴い、ユーザがお茶の間に居ながらにして多様なサービスを受けられるようになってきた。このようなサービスの中でも、例えば、ホームショッピング、メール配信および時刻表案内など、ユーザが受けたサービスおよびそれに関連する情報を後から確認する必要が生じるような場合、ユーザがあらかじめ所望の情報の詳細な内容をテレビ画面で確認した後は、商品名の一覧や受信したメールを印刷して手元においておく方がユーザにとって便利な場合も多い。このため、放送局から上記情報をＳＴＢ（Ｓｅｔ　Ｔｏｐ　Ｂｏｘ）やＤＴＶ（Ｄｉｇｉｔａｌ　ＴＶ）等の受信装置で受信し、受信した情報を受信装置とダイレクトに接続されたプリンタから印刷するシステムが有用である。このシステムでは、ＳＴＢまたはＤＴＶとプリンタはＩＥＥＥ１３９４バス等のＩ／Ｆで接続されることになる。以下、受信装置がＳＴＢの場合について説明するが、ＤＴＶであっても同様である。
【０００３】
上記のようなテレビ放送により配信される放送用コンテンツは、ＢＭＬ（放送用マーク付記述言語：Ｂｒｏａｄｃａｓｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を用いて記述され本放送が始まっているが、他のマーク付言語、例えば、ＨＴＭＬ（ハイパーテキストマーク付言語：Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述することも可能である。これらの言語を使って記述された放送用コンテンツ内の各ファイルは、ＳＴＢ内部で、汎用的なＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍｍｉｎｇ　Ｉｎｔｅｒｆａｃｅ）であるＤＯＭ（Ｄｏｃｕｍｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）によってオブジェクト化され、アプリケーションに受け渡される。これによって、インターネットのＷｅｂ上のコンテンツなども特別な処理を必要とせずにテレビ放送に取り込むことができる。従って、このような放送用コンテンツの中に、プリンタに印刷させるための印刷用コンテンツが記述される場合、これらと同様に、マーク付言語が使用されることが自然であると考えられる。
【０００４】
前記システムではマーク付言語で記述された印刷用コンテンツは受信装置または印刷装置のいずれかで解析しラスタライジングして画像データを生成する必要がある。このようにホスト装置側で画像データを生成するシステムの例としては、パソコンとそれに接続されたインクジェットプリンタよりなるシステムがある。
【０００５】
ここで、受信装置で上記画像データ生成処理を行わせるとすると、印刷処理中に放送データ表示等の受信装置本来機能の性能を低下させることになり、好ましくない。また全ての受信装置に印刷装置が接続されるわけではなく、印刷装置が接続されていない受信装置にも画像データ生成処理モジュールを搭載することになりコスト的にも不利となってしまう。
【０００６】
ここで、印刷装置側で上記画像データ生成処理を行わせるシステムにすれば、受信装置での上記問題は解決される。
さて、これらのマーク付言語は、飛躍的に開発が進められており、将来に渡ってもバージョンアップが行われる可能性が高い。そのときは、マーク付き言語の機能拡張に伴って印刷装置の機能および処理内容も更新する必要が生じる。また、これ以外にも、プリンタの高機能化に伴って、プリンタのファームウェアの更新が必要になってくる。
【０００７】
【発明が解決しようとする課題】
しかしながら、ＳＴＢは本来、受信した放送用コンテンツを、テレビ受像機に表示させるための装置であるため、プリンタ等の各種周辺装置のファームウェアを更新する仕組みを持たない。ＳＴＢに各種周辺装置のファームウェアを更新する仕組みを導入するためには大幅なシステム変更が必要となるという問題がある。
【０００８】
本発明の目的は、ＳＴＢに新たな構成を要せず、プリンタのファームウェアの更新を行うことができるファームウェア更新システム、受信装置および印刷装置を提供することである。
【０００９】
【課題を解決するための手段】
上記目的を達成するために本発明の受信装置は、印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、前記印刷装置のファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述を含む表示コンテンツとを外部から受信する受信手段と、前記表示コンテンツを表示する表示手段と、前記表示コンテンツに対する印刷命令を取得する命令取得手段と、前記印刷命令を前記命令取得手段が取得したとき、前記記述に従って前記更新データを印刷対象のデータとして前記印刷装置へ出力する出力手段とを備える。
【００１０】
また、本発明の印刷装置は、サーバから印刷装置のファームウェアを更新するための更新データを受信し、受信した前記更新データを印刷装置へ出力する受信装置と前記印刷装置とからなるシステムで使用される印刷装置であって、前記受信装置が前記更新データを印刷対象とする旨の記述を含む表示コンテンツを前記サーバから受信し、前記表示コンテンツに対する印刷命令に従って前記更新データを印刷対象のデータとして前記印刷装置に出力する場合に、前記更新データを前記受信装置から取得する取得手段と、取得された前記更新データによって前記ファームウェアを更新する更新手段とを備える。
【００１１】
さらに、本発明のサーバは、コンテンツを配信するサーバと、サーバからコンテンツを受信する受信装置と、ＲＯＭに格納されているファームウェアに従って動作し、受信装置から入力される印刷コンテンツを印刷する印刷装置とからなるファームウェア更新システムにおいて使用されるサーバであって、前記印刷装置のファームウェアを更新するデータが記述されているファームウェア更新用ファイルを、表示の対象とならない印刷コンテンツとして含んだコンテンツを生成するコンテンツ生成手段と、生成された前記コンテンツを前記受信装置に送信するコンテンツ送信手段とを備える。
【００１２】
なお、本発明は、上記のようなサーバ、受信装置及び印刷装置として実現することができるだけでなく、それらの装置から構成されるシステムとして実現したり、各装置が備える特徴的な手段をステップとする方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、上記更新データと表示コンテンツとを含む特徴的な放送用コンテンツは、放送網だけでなく、インターネット等の通信網を介して配信したり、ＣＤ−ＲＯＭ等の記録媒体に格納したりして流通させることもできるのは言うまでもない。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１４】
（実施の形態１）
図１は、本発明の第１の実施形態に係るファームウェア更新システム１００の構成を示す機能ブロック図である。ファームウェア更新システム１００は、放送局の配信サーバから、テレビによる表示の対象とならない印刷専用コンテンツとしてプリンタ用のファームウェア更新データを送信し、これを家庭のＳＴＢに受信させ、ＳＴＢから印刷専用コンテンツとしてファームウェア更新データを受け渡されたプリンタが、これを用いて自己のファームウェアを更新するシステムであって、配信サーバ１１０、ＳＴＢ１２０およびプリンタ１３０を備える。なお、印刷専用コンテンツとは、ＴＶ１２３の表示の対象とならない印刷のためだけのコンテンツのことである。
【００１５】
配信サーバ１１０は、テレビ放送の放送局に備えられ、プリンタのファームウェア更新データを印刷専用コンテンツとする放送用コンテンツを生成し、生成された放送用コンテンツを、例えばデータ放送として各家庭に送信するサーバであって、大きく分けて、ハードディスクなどからなる３つのＤＢ（Ｄａｔａ　Ｂａｓｅ）（ファームウェアＤＢ１１１、表示用コンテンツＤＢ１１２および印刷専用コンテンツＤＢ１１３）と、ＣＰＵなどからなる３つの処理部（コンテンツ生成部１１４、入力部１１５および送信部１１６）とを備える。ファームウェアＤＢ１１１は、あらかじめ作成された各種プリンタのファームウェア更新データを保持している。表示用コンテンツＤＢ１１２は、あらかじめ作成された表示用コンテンツを保持している。印刷専用コンテンツＤＢ１１３は、あらかじめ作成された印刷専用コンテンツを保持している。コンテンツ生成部１１４は、オペレータからの入力に従って、前記各ＤＢに保持されているファームウェア、表示用コンテンツおよび印刷専用コンテンツを組み合わせ、放送用コンテンツを生成する。入力部１１５は、図示しないキーボード、マウスおよびリモコンなどの操作部を備え、オペレータが前記操作部を操作することによって得られる信号を入力する。送信部１１６は、生成された放送用コンテンツを伝送用のフォーマットに変換した後、規格によって定められた通信プロトコルに従ってテレビ放送を行う。バス１１７は、配信サーバ１１０内のパラレルデータ伝送路である。
【００１６】
ＳＴＢ１２０は、受信した放送用コンテンツに含まれる印刷専用コンテンツについては、リモコンなどから入力される印刷指示に従って、表示に関する処理を行うことなくプリンタ１３０に出力する、画像処理機能、情報処理機能およびユーザインターフェース機能などを備えた受信端末であって、ハードディスク１２６と、ＣＰＵなどによって実現される４つの処理部（受信部１２１、表示データ生成部１２２、リモコン受信部１２５および印刷出力部１２７）と、それらの間でデータを伝送するバス１２８と、外部装置であるＴＶ（Ｔｅｌｅｖｉｓｉｏｎ）１２３およびリモコン１２４とを備える。
【００１７】
受信部１２１は、テレビ放送電波を受信して放送用コンテンツを抽出し、抽出された放送用コンテンツに含まれるそれぞれのファイルを、データ放送の通信プロトコルに従って指定されたハードディスク１２６の各ディレクトリに格納する。表示データ生成部１２２は、ＢＭＬを解釈し、印刷専用コンテンツの印刷命令を実行することができるブラウザを備えている。なおＢＭＬでなくてもＸＭＬ（拡張可能なマーク付き言語：ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）によって定義されたＸＨＴＭＬ１．０を解釈するブラウザであってもよい。なお、ＸＨＴＭＬ１，０とは、ＸＭＬ体系に従ってＴｈｅ　Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ　Ｃｏｎｓｏｒｔｉｕｍ　（Ｗ３Ｃ）によって承認されたＨＴＭＬ４．０を書き直したものをいう。さらに表示データ生成部１２２は、リモコン受信部１２５において受け付けられた入力に応じて、それに対応する表示コンテンツのファイルをハードディスク１２６から読み出し、ＴＶ１２３を駆動するための表示用データを生成する。ＴＶ１２３は、ＣＲＴ、ＰＤＰまたはＬＣＤなどによって実現される表示機能のみを備えたテレビであって、表示データ生成部１２２によって生成された表示用データを表示する。リモコン１２４は、ユーザの操作による印刷指示などの入力内容を、赤外線などによってリモコン受信部１２５に入力する。リモコン受信部１２５は、リモコン１２４からの入力を受け付ける。ハードディスク１２６は、配信サーバ１１０から受信された放送用コンテンツなどを保持するための記憶装置である。印刷出力部１２７は、リモコン受信部１２５からの入力に対するブラウザの印刷出力指示に従って、ハードディスク１２６から印刷専用コンテンツを読み出し、プリンタ１３０に出力する。バス１２８は、ＳＴＢ１２０内の各部でデータのやり取りをするためのパラレルデータ伝送路である。
【００１８】
プリンタ１３０は、ＩＥＥＥ１３９４インターフェースなどによってＳＴＢ１２０に接続されており、ＳＴＢ１２０から受け渡された印刷専用コンテンツがファームウェア更新用の印刷専用コンテンツであるか否かを判定した上、ファームウェア更新用の印刷専用コンテンツであれば、更新に必要なデータファイルをＳＴＢ１２０のハードディスク１２６から取得し、それをＲＯＭに書き込んでファームウェアを更新するプリンタであって、判定部１３３、印刷処理部１３４、プリンタエンジン１３５、ファームウェア更新部１３６および制御部１３７を備える。
【００１９】
インターフェース部１３１は、内部にバッファ１３２を備え、プリンタ１３０とＳＴＢ１２０との間のデータのやり取りを行う。バッファ１３２は、ＲＡＭなどによって実現されるメモリであって、プリンタ１３０の処理速度と、ＳＴＢ１２０からデータが入力される速度との速度差を緩和する目的で用いられたり、ファームウェア更新用のファイルを一時的に保持するために用いられたりする。判定部１３３は、プリンタ用のＸＨＴＭＬＰ言語で記述されたデータを解釈して、ＳＴＢ１２０から入力される印刷専用コンテンツの各ファイルを調べ、そのファイルがファームウェア更新用のファイルであるか否かを判定する。判定の結果、ファームウェア更新用のファイルであれば、そのファイルをファームウェア更新部１３６に出力し、そうでなければ、印刷処理部１３４に出力する。なお、上記プリンタ用のＸＨＴＭＬ−Ｐとは、ＸＨＴＭＬ１．０仕様から印刷に不要とされる要素を削除し、さらに改ページや印刷マージン等の印刷に関するスタイルシートを参照すると定義した印刷用仕様である。
【００２０】
印刷処理部１３４は、判定部１３３から入力されたファイルを解釈し、ラスタライズ等をすることでプリンタヘッダを駆動するための印刷データを生成し、生成された印刷データをプリンタエンジン１３５に出力する。プリンタエンジン１３５は、入力された印刷データを印刷する。ファームウェア更新部１３６は、制御部１３７内のファームウェア格納部１３８を構成する２つのＲＯＭのうち、使用されていない方のＲＯＭに、判定部１３３から入力されたファームウェア更新データファイルを書き込んでファームウェアを更新する。より具体的には、ファームウェア更新部１３６は、現在ブートの対象として使用されていない方のＲＯＭに対して新しいファームウェアを書き込む。書き込みが完了したらはじめて、ユーザからの入力に応じて、新しいファームウェアの書き込みが行われたＲＯＭをブート用ＲＯＭに切り替える。さらに、書き込み中の電源ダウンなどにより書き込みが失敗したときには、元のブート用ＲＯＭをそのまま使用する。また、新しいファームウェアの書き込み中には、ＳＴＢ１２０からの印刷要求などに対しても、応答しないか、またはビジーである旨の通知を返すのみとする。
【００２１】
制御部１３７は、内部にファームウェア格納部１３８を備え、ファームウェア格納部１３８に格納されているファームウェアに従ってプリンタ１３０内の各部の動作を制御する。ファームウェア格納部１３８は、２つのＲＯＭから構成され、一方のＲＯＭにはプリンタ１３０の出荷時からファームウェアが書き込まれており、プリンタ１３０はこのＲＯＭに書き込まれたファームウェアを読み込んで動作する。他方のＲＯＭは、バージョンアップされたファームウェアを書き込むための空き領域で、ブートＲＯＭに現在使用中の古いバージョンのファームウェアを残しておくことによって、万が一、ＲＯＭへの書き込みエラーなどによるプリンタ１３０の不具合の発生を防止することができる。２つのＲＯＭは、一方が現行プログラムの格納用として、他方がアップデート用ファームウェアの格納用として交互に使用される。
【００２２】
図２は、図１に示したプリンタ１３０のハードウェア構成を示すブロック図である。プリンタ１３０は、図のようにダブルＲＯＭ仕様のプリンタであって、フラッシュＲＯＭ２０１、フラッシュＲＯＭ２０２、ＣＰＵ２０３、ＲＡＭ２０４、バス２０５、インターフェース部１３１およびプリンタエンジン１３５を備える。インターフェース部１３１およびプリンタエンジン１３５については、すでに説明したので説明を省略する。フラッシュＲＯＭ２０１およびフラッシュＲＯＭ２０２のいずれか一方（例えば、フラッシュＲＯＭ２０１）には、ブートプログラムやフォント図形などを含むファームウェアがあらかじめ書き込まれており、他方（例えば、フラッシュＲＯＭ２０２）は、プリンタ１３０のファームウェアをアップデートする際の予備に用いられる。ＣＰＵ２０３は、例えば、ブート用フラッシュＲＯＭ２０１に記録されているファームウェアを実行することによって、図１に示した各処理部（判定部１３３、印刷処理部１３４、ファームウェア更新部１３６および制御部１３７）の機能を実現している。ＲＡＭ２０４は、図１に示したバッファ１３２に用いられるほか、ＣＰＵ２０３の作業領域として用いられる。バス２０５は、プリンタ１３０内の各部間でデータをやり取りするためのパラレルデータ伝送路である。
【００２３】
次に、以上のように構成されたファームウェア更新システム１００の動作について説明する。
図３は、図１に示したファームウェア更新システム１００におけるコンテンツおよび各部の処理の流れを示す図である。図３（ａ）は、図１に示したプリンタ１３０が印刷専用コンテンツを通常に印刷する場合のファームウェア更新システム１００における各部の処理の流れを示す図である。図３（ｂ）は、図１に示したプリンタ１３０がファームウェアを更新する場合のファームウェア更新システム１００における各部の処理の流れを示す図である。
【００２４】
ファームウェア更新システム１００において、通常の印刷専用コンテンツをプリンタ１３０に印刷させる場合、図３（ａ）のように、まず、配信サーバ１１０から、▲１▼表示コンテンツと印刷専用コンテンツとからなる放送用コンテンツをデータ放送で送信する。これを受信したＳＴＢ１２０では、受信した放送用コンテンツに含まれているファイルをそれぞれハードディスク１２６内の指定されたディレクトリに一旦、格納した後、▲２▼表示用コンテンツを読み出して表示データを生成し、生成された表示データをＴＶ１２３に出力する。ＴＶ１２３の画面には例えば、図のように「プリント」と書かれたプリントボタンが表示され、併せて、「印刷コンテンツを印刷する場合、プリントボタンを押してください」というような案内文が表示される。表示された案内文に従って、▲３▼ユーザがプリントボタンを押下すると、印刷専用コンテンツを構成するファイルがハードディスク１２６から読み出され、▲４▼読み出された印刷専用コンテンツがプリンタ１３０に送信される。プリンタ１３０は、▲５▼ＳＴＢ１２０から入力された印刷専用コンテンツの中にファームウェアの更新を示すタグがあるか否かを検索して、そのタグがなければ内容を解釈しながら印刷データを生成し、▲６▼生成された印刷データを順次、プリンタエンジン１３５に出力して印刷を実行する。
【００２５】
ファームウェア更新システム１００において、プリンタ１３０のファームウェアをアップデートする場合、まず、配信サーバ１１０から、▲１▼ファームウェアアップデート用の表示コンテンツと、中身はファームウェア更新用のファイルである印刷専用コンテンツとからなる放送用コンテンツをデータ放送で送信する。これを受信したＳＴＢ１２０では、通常の印刷の場合と同様に、放送用コンテンツに含まれているファイルを指定されたディレクトリに格納した後、▲２▼表示コンテンツから表示データを生成し、生成された表示データをＴＶ１２３の画面に表示させる。ＴＶ１２３の画面には例えば、図のように「更新」と書かれた更新ボタンが表示され、併せて、「ファームウェアを更新する場合、更新ボタンを押してください」というような案内文が表示される。
【００２６】
表示された案内文に従って▲３▼ユーザが更新ボタンを押下すると、印刷専用コンテンツを構成するファイルがハードディスク１２６から読み出され、▲４▼読み出された印刷専用コンテンツがプリンタ１３０に送信される。すなわち、中身がファームウェア更新用のファイルであっても、実際に印刷専用コンテンツであっても、ＳＴＢ１２０は、印刷専用コンテンツとして同じ取り扱いをする。プリンタ１３０は、▲５▼ＳＴＢ１２０から入力された印刷専用コンテンツの中にファームウェアの更新を示すタグがあるか否かを検索する。実際には該当するファイルには、本文の冒頭部分にファームウェアの更新を示すタグが書き込まれているので、この印刷専用コンテンツがファームウェア更新用のファイルであると判定し、▲６▼ファームウェアの更新を開始する。ただし、プリンタ１３０は、当該コンテンツ内に印刷するべき記述があれば、その内容を解釈しながら印刷データを生成し、生成された印刷データをプリンタエンジン１３５に出力し、印刷を実行する。
【００２７】
このように、ファームウェア更新システム１００のＳＴＢ１２０においては、印刷専用コンテンツの印刷と、プリンタ１３０のファームウェア更新とを同様の処理によって行うことができるので、ファームウェア更新のための新たな構成をＳＴＢ１２０に設けることなく行うことができる。
【００２８】
図４は、図１に示した配信サーバ１１０から送信される放送用コンテンツの一例を示す図である。図４（ａ）は、プリンタ１３０において通常の印刷を行う場合の放送用コンテンツの一例を示す図である。図４（ｂ）は、プリンタ１３０においてファームウェアの更新を行う場合の放送用コンテンツの一例を示す図である。図４（ａ）および図４（ｂ）において、「ａｒｉｂ−ｆｉｌｅ：／／ＤｉｒＡ／ｓｔａｒｔ．ｂｍｌ」は、放送コンテンツに含まれるトップページである。このファイルは、表示データ生成部１２２内のブラウザによってハードディスク１２６内から最初に読み出され、起動されるページである。ただし、このページは、ブラウザに対して実際に最初に表示すべきページを示すリンクなどがＢＭＬで記述されている。
【００２９】
さらに、通常の印刷を行う場合の放送コンテンツは、図４（ａ）に示すように、例えば、「ｓｈｏｐｐｉｎｇ．ｂｍｌ」、「ａ＿ｂｔｎ．ｐｎｇ」、「ｂ＿ｂｔｎ．ｐｎｇ」、「ｐｒｉｎｔ＿ｂｔｎ．ｐｎｇ」および「／５０」などのファイルからなる表示コンテンツと、例えば、「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」および「ｉｍａｇｅ．ｊｐｇ」などのファイルからなる印刷専用コンテンツとで構成されている。表示コンテンツのうち、「ｓｈｏｐｐｉｎｇ．ｂｍｌ」はテレビショッピングなどの表示内容がＢＭＬで記述されたファイルであり、「ａ＿ｂｔｎ．ｐｎｇ」、「ｂ＿ｂｔｎ．ｐｎｇ」および「ｐｒｉｎｔ＿ｂｔｎ．ｐｎｇ」は画面に表示されるそれぞれＡボタン、Ｂボタンおよびプリントボタンを表すＰＮＧ（Ｐｏｒｔａｂｌｅ　Ｎｅｔｗｏｒｋ　Ｇｒａｐｈｉｃｓ）ファイルである。印刷専用コンテンツのうち、「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」は印刷内容がＸＨＴＭＬで記述されたファイルであり、「ｉｍａｇｅ．ｊｐｇ」は「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」の中で引用されるＪＰＥＧ画像のファイルである。
【００３０】
また、ファームウェアの更新を行う場合の放送用コンテンツは、図４（ｂ）に示すように、例えば、「ｕｐｄａｔｅ．ｂｍｌ」および「ｕｐｄａｔｅ＿ｂｔｎ．ｐｎｇ」などのファイルからなる表示コンテンツと、例えば、「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」および「ｕｐｄａｔｅ．ｄａｔａ」などのファイルからなる印刷専用コンテンツとで構成されている。表示コンテンツのうち、「ｕｐｄａｔｅ．ｂｍｌ」はファームウェアのアップデートのための操作手順などを示す表示内容がＢＭＬで記述されたファイルであり、「ｕｐｄａｔｅ＿ｂｔｎ．ｐｎｇ」は画面に表示される更新ボタンを表すＰＮＧファイルである。印刷専用コンテンツのうち、「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」はプリンタ１３０のファームウェア更新処理の内容がＸＨＴＭＬで記述され、かつ、プリンタに関連付けられたファイルであり、「ｕｐｄａｔｅ．ｄａｔａ」は「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の中で引用されるファームウェア更新用データファイルである。
【００３１】
図５は、図４（ａ）に示した表示コンテンツのファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。図５（ａ）は、図４（ａ）のファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」に基づいてＴＶ１２３に表示される画面の一例を示す図である。図５（ｂ）は、図４（ａ）のファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」の一例を示す図である。なお、本発明に直接関係しないコーディングについては、図示および説明を省略する。
【００３２】
図５（ｂ）に示すように、「ｓｈｏｐｐｉｎｇ．ｂｍｌ」の冒頭には、ＸＭＬのバージョン情報、文字コードのエンコードタイプ、ドキュメントタイプおよびＢＭＬのバージョン情報や（Ｌ５０１）、タイトル「ｓｈｏｐｐｉｎｇ」（Ｌ５０２）などが記述される。次いで、「ｋｅｙｄｏｗｎ（）」という関数として、ブラウザが行う処理が定義されている。ここでは、「ｋｅｙｄｏｗｎ（）」という関数に対して、ブラウザがファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」を印刷すること（実際には、ファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」をプリンタ１３０に出力すること）が定義されている（Ｌ５０３）。
【００３３】
本文では、ＭＰＥＧ２ビデオで記述された「／５０」というデータファイルを、左５２８ピクセルおよび上４０ピクセルの位置から、幅３６０ピクセルおよび高さ２０２ピクセルで表示することが記述されている（Ｌ５０４）。続いて同様に、「ａ＿ｂｔｎ．ｐｎｇ」というＰＮＧファイルで表されるＡボタン５１１の表示（Ｌ５０５）および「ｂ＿ｂｔｎ．ｐｎｇ」というＰＮＧファイルで表されるＢボタン５１２の表示（Ｌ５０６）が記述されている。さらに、「ｐｒｉｎｔ＿ｂｔｎ．ｐｎｇ」というＰＮＧファイルで表されるプリントボタン５１３の表示と、プリントボタン５１３が押されたときの関数「ｋｅｙｄｏｗｎ（）」とが記述されている（Ｌ５０７）。
【００３４】
このようなコーディングが実行されることによって、図５（ａ）に示した画面がＴＶ１２３に表示される。例えば、Ｌ５０４の記述が実行されることによって、ＴＶ１２３の画面の右上に自動車のビデオ５１０が表示され、Ｌ５０５およびＬ５０６の記述が実行されることによって、ＴＶ１２３の画面の左側にＡボタン５１１とＢボタン５１２とが表示される。さらに、Ｌ５０７が実行されることによって、画面の下部中央に、プリントボタン５１３が表示され、リモコン１２４の操作によりこのプリントボタン５１３が押下されることによって、「ｋｅｙｄｏｗｎ（）」という関数が実行される。この「ｋｅｙｄｏｗｎ（）」という関数が実行されると、Ｌ５０３の記述において定義されたブラウザに対する印刷命令「ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（”．／ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ”）」が実行され、表示データ生成部１２２からの通知に従って、印刷出力部１２７がハードディスク１２６からファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」を読み出してプリンタ１３０に出力する。
【００３５】
図６は、図５に示した表示画面でプリントボタン５１３が押下された場合にプリンタ１３０に出力されるファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」の一例を示す図である。図のように、印刷専用コンテンツのファイルである「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」も、図５に示した表示コンテンツのファイルと同様、冒頭部にＸＭＬのバージョン情報、コーディングのドキュメントタイプおよびタイトルなどが記述され、本文には、タグ＜Ｐ＞とタグ＜／Ｐ＞との間に挟まれた領域に、印刷されるべき文字情報がテキストで記述されている。例えば、「データ放送テレビショッピング・・・（中略）・・・印刷終了」などである（Ｌ６０１）。さらに、同じ紙面に印刷される画像が、その画像を表すＪＰＥＧファイル名「ｉｍａｇｅ．ｊｐｇ」と、その印刷位置（左５２８ピクセル、上４０ピクセル）と、印刷サイズ（幅３６０ピクセル、高さ２０２ピクセル）とで記述されている（Ｌ６０２）。このファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」の記述に従って、テレビショッピングの文字と画像とからなる印刷結果が得られることになる。
【００３６】
図７は、図４（ｂ）に示した表示コンテンツのファイル「ｕｐｄａｔｅ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。図７（ａ）は、図４（ｂ）のファイル「ｕｐｄａｔｅ．ｂｍｌ」に基づいてＴＶ１２３に表示される画面の一例を示す図である。図７（ｂ）は、図４（ｂ）のファイル「ｕｐｄａｔｅ．ｂｍｌ」の一例を示す図である。なお、本発明に直接関係しないコーディングについては、図示および説明を省略する。
【００３７】
図７（ｂ）に示すファイル「ｕｐｄａｔｅ．ｂｍｌ」にも、図５（ｂ）に示した「ｓｈｏｐｐｉｎｇ．ｂｍｌ」と同様、関数「ｋｅｙｄｏｗｎ（）」が実行されたときのブラウザの処理、すなわち、ブラウザが「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」を印刷することが定義されている（Ｌ７０１）。その下の本文には、タグ＜Ｐ＞とタグ＜／Ｐ＞との間に挟まれた領域に、ＴＶ１２３に表示されるべき文字情報が「オンラインでプリンタのファームウェアを更新します。『ファームウェア更新ボタン』を押してください。」というテキストで記述されている（Ｌ７０２）。さらに、オブジェクトとして、ＰＮＧファイル「ｕｐｄａｔｅ＿ｂｔｎ．ｐｎｇ」で形状が表される更新ボタン７１１の表示位置と表示サイズとが記述され、この更新ボタン７１１が押下された場合には関数「ｋｅｙｄｏｗｎ（）」が実行されることが記述されている（Ｌ７０３）。
【００３８】
図７（ｂ）に示したコーディングが実行されることによって、図７（ａ）に示すように、ＴＶ１２３の画面には、Ｌ７０２に記述されていた文字列７１０「オンラインでプリンタのファームウェアを更新します。『ファームウェア更新ボタン』を押してください。」が、そのまま表示され、その下部には更新ボタン７１１が表示される。この更新ボタン７１１が押下されると、すでに説明したように、関数「ｋｅｙｄｏｗｎ（）」に従って印刷専用コンテンツのファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」がプリンタ１３０に出力される。
【００３９】
図８は、図７に示した表示画面で更新ボタン７１１が押下された場合にプリンタ１３０に出力されるファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の一例を示す図である。ファームウェア更新時の印刷専用コンテンツであるファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」も、冒頭部は、図６に示したファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」と同様である。異なる点は、本文の冒頭に、「ｕｐｄａｔｅ」で始まるタグが記述されていることである（Ｌ８０１）。このタグは、ファームウェア更新の対象となるプリンタのベンダー情報「ＭＥＩ」、更新後のファームウェアのバージョン情報「５．０．１」、ファームウェア更新の対象となる機種ＩＤ「ｃｅｆｉｒｏ２００２」およびオプション情報などの属性情報を含んでいる。
【００４０】
このタグを読み込んだ判定部１３３は、タグ内に記述されている各属性情報と、ファームウェア格納部１３８のブートＲＯＭに書かれている自己の属性情報とを比較し、自プリンタ１３０が対象となるベンダーのファームウェア更新対象機種に該当し、指定されたオプションを備えており、かつ、自己のファームウェアのバージョンがタグ内のバージョン情報よりも古い場合に、Ｌ８０１のアップデータソース属性で指定されているファームウェア更新データファイル「ｕｐｄａｔｅ．ｄａｔａ」（Ｌ８０２）をＳＴＢ１２０のハードディスク１２６から取得して、ファームウェア更新部１３６に出力する。ファームウェア更新部１３６は、このファイルをファームウェア格納部１３８内のブートでない方のＲＯＭに書き込み、ファームウェアの更新を行う。ファームウェア更新データファイル「ｕｐｄａｔｅ．ｄａｔａ」には、例えば、最新バージョンのファームウェアが機械語で記述されている。
【００４１】
続いて、タグ＜Ｐ＞とタグ＜／Ｐ＞との間に挟まれた領域に、ファームウェアの更新完了とその結果とをユーザに通知する情報「ファームウェアがバージョンアップされました。ただいまのバージョンは５．０．１です。」が文字列で記述されており（Ｌ８０３）、判定部１３３がこの文字列を印刷処理部１３４に出力し、プリンタエンジン１３５がこの文字列を印刷することによって、プリンタ１３０はバージョンアップの内容に応じた情報をユーザに通知することができる。一方、判定部１３３は、自己の属性情報がタグの属性情報で示される条件に該当しなければ更新を行わず、タグ＜／ｕｐｄａｔｅ＞の次の行の処理を行う。なお、図では示していないがファームアップ失敗時にユーザにその旨を知らしめる情報を＜Ｐ＞とタグ＜／Ｐ＞　との間に挟まれた領域に書いておき、ファームアップ失敗をユーザに通知するようにしておいてもよい。
【００４２】
このように、ファームウェアの更新を行う場合、印刷専用コンテンツのトップページ「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の解析の早い段階に、ここでは、本文先頭部分に、タグ＜ｕｐｄａｔｅ＞を記述しておくことによって、判定部１３３は、この印刷専用コンテンツによる処理が印刷であるかファームウェアの更新であるかを速やかに判断することができ、それぞれの処理を速やかに開始することができるという効果がある。
【００４３】
なお、上記実施の形態１においては、ＳＴＢ１２０にファームウェアの更新を示す表示画面を表示させ、表示された更新ボタンが押されるのを待って、ブラウザにファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の印刷命令を実行させたが、本発明はこれに限定されず、表示コンテンツのファイル「ｕｐｄａｔｅ．ｂｍｌ」の冒頭に、ブラウザに対する印刷命令「ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（“．／ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ”）」を記述しておいてもよい。このようにすれば、ＳＴＢ１２０のブラウザはユーザからの印刷を指示する入力なしに印刷命令を実行する。すなわち、ＳＴＢ１２０が配信サーバ１１０から直接、印刷命令を受信することになる。これによって、プリンタ１３０は、ＳＴＢ１２０による表示処理および表示画面へのユーザの入力を待たず、速やかにファームウェアの更新処理を開始することができる。また、ＳＴＢ１２０は、ファームウェアの更新をユーザに問い合わせる代わりに他の表示コンテンツを表示することができるので、バックグラウンドでプリンタ１３０のファームウェアを更新できるという効果がある。
【００４４】
なお、上記実施の形態１において、判定部１３３は、印刷専用コンテンツによる処理が印刷であるかファームウェアの更新であるかの判定を、タグ＜ｕｐｄａｔｅ＞の有無によって判定したが、本発明はこれに限定されず、他の方法によって判定を行ってもよい。例えば、印刷専用コンテンツのファイル名によって判定するようにしてもよい。具体的には、ＳＴＢ１２０はプリンタ１３０に出力されるすべてのファイルにつき、ファイル名を通知して出力するようにし、判定部１３３は、ＳＴＢ１２０から入力されるファイルのファイル名があらかじめ定めたファイル名、例えば、「ｕｐｄａｔｅ．ｘｈｔｍｌｐ」であれば、ファームウェアの更新処理を行い、それ以外のファイル名であれば、印刷処理を行うと判定するようにしてもよい。ただし、この場合、ファームウェアの更新用ファイルのファイル名は、「ｕｐｄａｔｅ．ｘｈｔｍｌｐ」であってもなくてもよいが、マーク付き言語および通信プロトコルにおいてあらかじめ用途の定められた絶対ファイル名を使用しないようにする。
【００４５】
また、この場合、判定部１３３は、ファイル名の誤りなどによる誤動作を防止するため、ファイル名の比較によって処理の判定を行った後、さらに、ファイル名が一致したファイルについてのみファイルを一旦展開し、タグ＜ｕｐｄａｔｅ＞を検索して、タグ＜ｕｐｄａｔｅ＞があった場合にのみファームウェアの更新処理を行うとしてもよい。図９は、ファイル名の比較によってファームウェアの更新か否かを判定する場合の判定部１３３の処理手順を示すフローである。判定部１３３は、入力された印刷専用コンテンツのファイル名と、ファームウェアの更新用ファイルのファイル名としてあらかじめ定められたファイル名とを比較して（Ｓ９０１）、一致した場合には当該ファイルを一旦展開する（Ｓ９０２）。
【００４６】
さらに、展開されたファイル内にタグ＜ｕｐｄａｔｅ＞があるか否かを検索して（Ｓ９０３）、あればファームウェアの更新処理を開始する（Ｓ９０４）。なければ、通常の印刷処理を行う（Ｓ９０５）。入力された印刷専用コンテンツのファイル名が所定のファイル名と一致しない場合にも、通常の印刷処理を行う。このように、ファイル名が一致したためファームウェア更新用のファイルであると推定されるファイルについてのみファイルを展開してタグ＜ｕｐｄａｔｅ＞を検索するので、入力された印刷専用コンテンツのファイル名が正しければ、タグ＜ｕｐｄａｔｅ＞を速やかに検出することができる上、印刷用のファイルであるにもかかわらず、そのファイルに基づいてファームウェア更新処理を実行してしまう誤動作を防止することができるという効果がある。
【００４７】
なお、本実施の形態１においては、タグ＜ｕｐｄａｔｅ＞の直後にファイル名が引用されているファームウェア更新データファイル「ｕｐｄａｔｅ．ｄａｔａ」を、プリンタ１３０の判定部１３３がＳＴＢ１２０のハードディスク１２６から取得してファームウェア更新部１３６に出力すると説明したが、本発明はこの方法に限定されず、代わりに、ファームウェア更新用トップページファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の中にファームウェア更新データファイル「ｕｐｄａｔｅ．ｄａｔａ」の内容をインライン展開して記述しておいてもよい。このようにすることによって、プリンタ１３０に、ＳＴＢ１２０のハードディスク１２６から目的のファイルを取得してくる（ＰＵＬＬ）機能がない場合でも、問題なくファームウェアの更新を行うことができるという効果がある。
【００４８】
なお、上記実施の形態１においては、ファームウェアの更新が完了した旨の通知を印刷するための文字列を、更新データファイルの中に記述したが、必ずしも更新データファイルの中に記述しておく必要はなく、ＲＯＭ内にあらかじめファームウェアの更新完了を通知する印刷ファイルを格納しておき、ファームウェアの更新が完了する都度、その印刷内容を印刷するようにしてもよい。また、ＲＯＭ内にあらかじめ適当な文字列を格納しておき、これらの文字列と、ｕｐｄａｔｅタグ内のバージョン情報などの属性情報とを組み合わせて、ファームウェアの更新完了を通知する文章をその都度作成してもよい。
【００４９】
（実施の形態２）
図１０は、本発明の第２の実施形態に係るファームウェア更新システム１０００の構成を示す機能ブロック図である。このファームウェア更新システム１０００は、テレビ放送の放送局に備えられる配信サーバから、ＢＭＬフォーマットで記述される放送メールの添付ファイルとして、前記印刷専用コンテンツの１つであるプリンタ用のファームウェア更新データを送信し、受信した家庭のＳＴＢに一旦、ＰＣカードなどの記録媒体にセーブさせ、オフラインでプリンタのファームウェアを更新するシステムであって、配信サーバ１０１０、ＳＴＢ１０２０およびプリンタ１０３０を備える。なお、第１の実施の形態であるファームウェア更新システム１００と同様の構成要素についてはすでに説明しているので、同一の参照符号を付し説明を省略する。
【００５０】
配信サーバ１０１０は、プリンタのファームウェア更新ファイルを添付ファイルとしたＢＭＬフォーマットの放送メールを生成し、生成された放送メールをテレビ放送を用いて各家庭に送信するサーバであって、大きく分けて、ハードディスクなどからなる３つのＤＢ（Ｄａｔａ　Ｂａｓｅ）（ファームウェアＤＢ１１１、表示用コンテンツＤＢ１１２および印刷専用コンテンツＤＢ１１３）と、ＣＰＵなどからなる２つの処理部（入力部１１５、送信部１１６およびコンテンツ生成部１０１１）とを備える。
【００５１】
コンテンツ生成部１０１１は、ファームウェアＤＢ１１１内のプリンタのファームウェア更新データファイルを、あらかじめ印刷専用コンテンツのフォーマットで作成された印刷専用コンテンツＤＢ１１３内のファームウェア更新プログラムに組み込み、ファームウェア更新用の印刷専用コンテンツを生成する。さらに、プリンタのファームウェアの更新を案内する放送メールを、表示用コンテンツＤＢ１１２から読み出して、表示コンテンツを生成する。
【００５２】
ＳＴＢ１０２０は、テレビ放送を受信して自己を宛て先とする放送メールを取得する機能およびＰＣカードなどの記録媒体にデータの読み出し書き込みを行う機能を備え、受信した放送メールの表示コンテンツを表示中に、リモコン１２４から印刷専用コンテンツのメモリ書き込み指示が入力されたとき、放送メールに添付された印刷専用コンテンツをＰＣカードに書き込む機能を備えた通信端末であって、ハードディスク１２６と、ＣＰＵなどによって実現される４つの処理部（受信部１２１、リモコン受信部１２５、表示データ生成部１０２２および印刷出力部１０２３）と、それらの間でデータを伝送するバス１２８と、外部装置であるＴＶ１２３、リモコン１２４およびＰＣカード１０２４とを備える。
【００５３】
表示データ生成部１０２２は、ファイル拡張子によって印刷専用コンテンツのファイルを識別しセーブ命令を実行することができる、ＸＨＴＭＬ、ＢＭＬに対応したブラウザを備える。印刷出力部１０２３は、リモコン受信部１２５からの入力に対するブラウザへのセーブ命令に従って、ハードディスク１２６から印刷専用コンテンツを読み出し、読み出された印刷専用コンテンツをＰＣカード１０２４に書き込む。ＰＣカード１０２４は、ＩＣチップを埋め込んだ可搬型の記録媒体である。
【００５４】
プリンタ１０３０は、ＰＣカード１０２４からファームウェア更新用の印刷専用コンテンツを読み出して、読み出されたファームウェア更新用の印刷専用コンテンツに従って内部のファームウェアを更新するプリンタであって、２つのＲＯＭによって実現されるファームウェア格納部１３８と、ＲＡＭによって実現されるバッファ１３２と、ＣＰＵなどによって実現される５つの処理部（判定部１３３、印刷処理部１３４、ファームウェア更新部１３６、ＰＣカードリーダ１０３１および制御部１０３２）と、プリンタエンジン１３５とを備える。ＰＣカードリーダ１０３１は、ＰＣカード１０２４から印刷専用コンテンツを読み出して、読み出された印刷専用コンテンツを判定部１３３に出力する。また、判定部１３３から要求されたファームウェア更新用のデータファイルをＰＣカード１０２４から読み出して、判定部１３３に出力する。制御部１０３２は、ファームウェア格納部１３８のブート用ＲＯＭに書き込まれているファームウェアに従ってプリンタ１０３０における各部の処理を制御する。
【００５５】
次に、以上のように構成されたファームウェア更新システム１０００の動作について説明する。
図１１は、図１０に示したファームウェア更新システム１０００におけるコンテンツおよび各部の処理の流れを示す図である。図１１（ａ）は、図１０に示したプリンタ１０３０が印刷専用コンテンツを通常に印刷する場合の各部の処理の流れを示す図である。図１１（ｂ）は、図１０に示したプリンタ１０３０がファームウェアを更新する場合の各部の処理の流れを示す図である。
【００５６】
ファームウェア更新システム１０００において、通常の印刷専用コンテンツをプリンタ１０３０に印刷させる場合、図１１（ａ）のように、まず、配信サーバ１０１０から、▲１▼印刷専用コンテンツを添付ファイルとする表示コンテンツが放送メールとして送信される。データ放送を受信したＳＴＢ１０２０では、放送メールの宛て先アドレスを調べ、自己宛ての放送メールであればそれを内部に取り込む。さらに、ＳＴＢ１０２０は、取り込んだ放送メールとその添付ファイルとをそれぞれハードディスク１２６内の指定されたディレクトリに一旦、格納した後、▲２▼表示用コンテンツを読み出して表示データを生成し、生成された表示データをＴＶ１２３に出力する。ＴＶ１２３の画面には例えば、図のように「プリント」と書かれたボタンが表示され、併せて、「印刷コンテンツを印刷する場合、プリントボタンを押してください」というような案内文が表示される。表示された案内文に従って、▲３▼ユーザがプリントボタンを押下すると、印刷専用コンテンツを構成するファイルがハードディスク１２６から読み出され、▲４▼読み出されたファイルがＰＣカード１０２４に書き込まれる。プリンタ１０３０は、▲５▼ＰＣカード１０２４から印刷専用コンテンツを読み出し、読み出した印刷専用コンテンツの中にファームウェアの更新を示すタグがあるか否かを検索して、そのタグがなければ内容を解釈しながら印刷データを生成し、▲６▼生成された印刷データを順次、プリンタエンジン１３５に出力して印刷を実行する。
【００５７】
また、プリンタ１０３０のファームウェアをアップデートする場合、まず、配信サーバ１０１０は、ＳＴＢ１０２０に対し、▲１▼中身はファームウェア更新用のファイルである印刷専用コンテンツを添付ファイルとした放送メールをデータ放送により送信する。放送メールには、ファームウェア更新のお知らせなどが文章で表されている。これを受信したＳＴＢ１０２０では、通常の印刷の場合と同様、表示コンテンツと印刷専用コンテンツとをハードディスク１２６内の指定されたディレクトリに格納した後、▲２▼表示コンテンツから表示データを生成し、生成された表示データをＴＶ１２３の画面に表示させる。ＴＶ１２３の画面には例えば、図のように「更新」と書かれた更新ボタンが表示され、併せて、「ファームウェアを更新する場合、更新ボタンを押してください」というような案内文が表示される。表示された案内文に従って▲３▼ユーザが更新ボタンを押下すると、印刷専用コンテンツを構成するファイルがハードディスク１２６から読み出され、▲４▼読み出された印刷専用コンテンツがＰＣカード１０２４に書き込まれる。
【００５８】
このＰＣカード１０２４がプリンタ１０３０のＰＣカードリーダ１０３１に挿入されると、プリンタ１０３０は、▲５▼ＰＣカード１０２４から印刷専用コンテンツを読み出して、読み出されたファイルの中にファームウェアの更新を示すタグがあるか否かを検索する。該当するファイルには、本文の冒頭部分にファームウェアの更新を示すタグが書き込まれているので、プリンタ１０３０はこの印刷専用コンテンツがファームウェア更新用のファイルであると速やかに判定することができる。そして、▲６▼ファームウェア更新用のファイルに従ってファームウェアの更新を開始する。ただし、プリンタ１０３０は、当該コンテンツ内に印刷するべき記述があれば、その印刷データを生成し、印刷を実行する。
【００５９】
このように、ファームウェア更新システム１０００のＳＴＢ１０２０においては、印刷専用コンテンツであっても、プリンタのファームウェア更新データであっても、同様の処理によってＰＣカード１０２４にセーブし、オフラインでプリンタ１０３０における処理を実行することができるので、ＳＴＢ１０２０内にファームウェア更新のための新たな構成を追加する必要なしに、プリンタ１０３０のファームウェアを更新することができるという効果がある。
【００６０】
図１２は、通常の印刷専用コンテンツをオフラインで印刷する場合の放送メールのファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。図１２（ａ）は、表示コンテンツである放送メールのファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」に基づいてＴＶ１２３に表示される画面の一例を示す図である。図１２（ｂ）は、表示コンテンツファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」の一例を示す図である。図１２（ｂ）に示すように、表示コンテンツファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」は、図５（ｂ）に示した表示コンテンツファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」とほぼ同様である。異なる点は、Ｌ１２０２に定義されているプリントボタンが押下されたときの「ｋｅｙｄｏｗｎ（）」という関数に対してブラウザが行う処理が、ここでは、ファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」を引数「ＳＤ」で示される蓄積デバイス、すなわちＰＣカード１０２４に、ファイル「ｉｍａｇｅ．ｊｐｇ」を引数「ＳＤ」で示される蓄積デバイスに、それぞれセーブすることである（Ｌ１２０１）。これによって、ユーザがリモコン１２４を操作することによって図１２（ａ）の画面に表示されている「オフライン印刷専用コンテンツ印刷」ボタンが押下されると、前記関数「ｋｅｙｄｏｗｎ（）」に従ってブラウザに対するセーブ命令「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ”，”ＳＤ”）」および「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｉｍａｇｅ．ｊｐｇ”，”ＳＤ”）」が実行され、ファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」とファイル「ｉｍａｇｅ．ｊｐｇ」とがＰＣカード１０２４に書き込まれる。このファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」とファイル「ｉｍａｇｅ．ｊｐｇ」とは、図４（ａ）および図６において説明したものと同様であり、プリンタ１０３０における印刷処理も実施の形態１と同様である。
【００６１】
図１３は、オフラインでファームウェアの更新を行う場合の放送メールのファイル「ｕｐｄａｔｅ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。図１３（ａ）は、表示コンテンツである放送メールのファイル「ｕｐｄａｔｅ．ｂｍｌ」に基づいてＴＶ１２３に表示される画面の一例を示す図である。図１３（ｂ）は、ファームウェアの更新を行う場合の表示コンテンツファイル「ｕｐｄａｔｅ．ｂｍｌ」の一例を示す図である。図１３（ｂ）に示すように、表示コンテンツファイル「ｕｐｄａｔｅ．ｂｍｌ」は、図７（ｂ）に示した表示コンテンツファイル「ｕｐｄａｔｅ．ｂｍｌ」とほぼ同様である。異なる点は、Ｌ１３０３に定義されている「ファームウェア更新」ボタンが押下されたときの「ｋｅｙｄｏｗｎ（）」という関数に対してブラウザが行う処理が、セーブ命令「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ”，”ＳＤ”）」および「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｉｍａｇｅ．ｊｐｇ”，”ＳＤ”）」であり、ファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」とファイル「ｕｐｄａｔｅ．ｄａｔａ」とを引数「ＳＤ」で示されるＰＣカード１０２４にそれぞれセーブすることである（Ｌ１３０１）。
【００６２】
また、ＳＴＢ１０２０には印刷専用コンテンツと同様の処理を行わせるが、ユーザに対してはファームウェアの更新を行うことを通知するために、本文のタグ＜Ｐ＞とタグ＜／Ｐ＞とで挟まれた領域に文字列「お使いのプリンタのファームウェアは更新が必要です。更新ボタンを押してファームウェアの更新をして下さい。」を記述し（Ｌ１３０２）、ＴＶ１２３の画面にこの文字列と同じ案内文を表示させる。この結果、ユーザが案内文に従ってリモコン１２４を操作し、図１３（ａ）の画面に表示されている「ファームウェア更新」ボタンが押下されると、関数「ｋｅｙｄｏｗｎ（）」が実行され、ブラウザが前記関数に従ってセーブ命令「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ”，”ＳＤ”）」および「ｂｒｏｗｓｅｒ．ｓａｖｅ（”．／ｕｐｄａｔｅ．ｄａｔａ”，”ＳＤ”）」を実行することによって、ファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」とファイル「ｕｐｄａｔｅ．ｄａｔａ」とがＰＣカード１０２４に書き込まれる。このファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」とファイル「ｕｐｄａｔｅ．ｄａｔａ」とは、図４（ｂ）および図８において説明したものと同様であり、プリンタ１０３０におけるファームウェアの更新処理も実施の形態１と同様である。なお、上記”ＳＤ”はＰＣメモリカードの種類を示す文字列であり、他のメモリカードの場合、それに応じた文字列がセットされることになる。
【００６３】
このように、本実施の形態２によれば、ＳＴＢ１２０およびＳＴＢ１０２０に、印刷専用コンテンツのファイルを識別するとともに、印刷専用コンテンツの印刷命令およびセーブ命令を実行することができるブラウザを備えておくだけで、ＳＴＢ１２０およびＳＴＢ１０２０にそれ以上の機能を要することなくプリンタ１３０およびプリンタ１０３０のファームウェアの更新を行うことができるという効果がある。
【００６４】
なお、実施の形態２において、印刷専用コンテンツおよびファームウェア更新用の印刷専用コンテンツを放送メールの添付ファイルとしたが、必ずしも添付する必要はなく、これらの印刷専用コンテンツの一部のファイルまたは全部のファイルをインターネット上のサーバに置いておき、放送メールの本文にリンクを記述しておいてもよいし、放送メールのヘッダにこれら印刷専用コンテンツへのＵＲＬを記述しておいてもよい。放送メールの添付ファイルにはデータ量の制限を受ける場合があるが、このようにしておけば、配信サーバ１０１０は、データ量の制限を受けることなく、印刷専用コンテンツおよびファームウェア更新用の印刷専用コンテンツをＳＴＢ１０２０に送信することができる。また、この場合、プリンタ１０３０にインターネットに接続する通信機能を備えておけば、ＳＴＢ１０２０を経由することなくプリンタ１０３０が直接、目的とする印刷専用コンテンツおよびファームウェア更新用の印刷専用コンテンツをインターネットから取得することができる。
【００６５】
図１４は、ファームウェア更新用データファイル「ｆｉｒｍ．ｄａｔａ」をＵＲＬで指定する場合のファームウェア更新用印刷専用コンテンツのファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の一例を示す図である。図１４に示すように、ファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の本文中において、ｕｐｄａｔｅ要素のｓｒｃ属性で指定される、ファームウェア更新用データファイル「ｆｉｒｍ．ｄａｔａ」のインターネット上の所在を示すＵＲＬ「ｈｔｔｐ：／／ｗｗｗ．ｖｉｒｔｕａｌ．ｃｏ．ｊｐ／ｆｉｒｍ．ｄａｔａ」が記述されている（Ｌ１４０１）。これによって、プリンタは、プリンタのベンダーがコード”ＭＥＩ”で表されるベンダーであり、かつ、ファームウェアのバージョンが”５．０．１”より古い場合、インターネットを介して上記ＵＲＬ「ｈｔｔｐ：／／ｗｗｗ．ｖｉｒｔｕａｌ．ｃｏ．ｊｐ／ｆｉｒｍ．ｄａｔａ」からデータファイル「ｆｉｒｍ．ｄａｔａ」を取得し、ファームウェアの更新を行うことができる。
【００６６】
なお、本実施の形態２では、プリントボタンおよび更新ボタンを放送メールの本文中に表示するように説明したが、必ずしも本文中に各ボタンを表示する必要はなく、例えば、メールソフトに表示させるようにしてもよい。
【００６７】
また、本実施の形態２では、放送メールの添付ファイルとしてプリンタ１０３０のファームウェア更新データを送信し、ＳＴＢ１０２０およびプリンタ１０３０にＰＣカード１０２４のスロットを設けた上、ＰＣカード１０２４を用いてオフラインでファームウェアを更新したが、必ずしもオフラインで更新する必要はなく、実施の形態１のようにＳＴＢ１０２０とプリンタ１０３０とをＩＥＥＥ１３９４インターフェースなどを用いて接続しておき、オンラインでファームウェアの更新を行ってもよい。また、実施の形態１のＳＴＢ１２０とプリンタ１３０とにそれぞれＰＣカード１０２４のスロットを設けておき、放送局の配信サーバからプリンタのファームウェア更新データを印刷コンテンツとして送信し、オフラインでプリンタ１３０のファームウェアを更新するようにしてもよい。
【００６８】
また、実施の形態２において、ＳＴＢ１０２０からプリンタ１０３０へファームウェア更新用ファイルを受け渡すブリッジメディアをＰＣカード１０２４として説明したが、必ずしもこれに限定されず、フラッシュメモリカードなどであってもよい。
【００６９】
また、実施の形態２において、印刷専用コンテンツおよびファームウェア更新用の印刷専用コンテンツを放送メールに添付して送信したが、必ずしも、放送メールで送信する必要はなく、インターネット上の配信サーバから電子メールに添付して送信してもよい。
【００７０】
次に、上記実施の形態の変形例として、ＳＴＢにおける各種プリンタへの対応処理（エラー処理による分岐等）について説明する。
図１５は、実施の形態１のファームウェア更新システム１００におけるＳＴＢ１２０のプリンタ１３０への対応処理を示すシーケンス図である。ここでは、蓄積放送によって各種プリンタに対応する最新のファームウェア更新データがＳＴＢ１２０に蓄積されており、ＳＴＢ１２０に接続されているプリンタ１３０の機種やファームウェアのバージョンに応じてＳＴＢ１２０が必要な処理を行う例が示されている。
【００７１】
具体的には、配信サーバ１１０は、蓄積放送を行う放送局等であり、ＳＴＢ１２０に接続可能な全ての機種のプリンタについての最新バージョンのファームウェア更新データを放送データとして配信している（Ｓ１０）。ＳＴＢ１２０は、それらの全てのファームウェア更新データをハードディスク１２６に蓄積していく。
【００７２】
ＳＴＢ１２０は、ユーザから、プリンタのファームウェアを更新したい旨の指示を取得すると、まず、接続されているプリンタ１３０に対して、ファームウェア特定情報を問い合わせることで（Ｓ１１）、その情報をプリンタ１３０から取得する（Ｓ１２）。なお、ファームウェア特定情報とは、ＳＴＢに接続可能な全ての機種のプリンタの中から、対象となるプリンタが備えるファームウェアを特定する情報であり、例えば、プリンタのメーカーを識別するメーカーＩＤ、プリンタの機種を識別する機種ＩＤ（メーカーがユニークに割り当てたもの）、ファームウェアのバージョンを識別するバージョンＩＤ（メーカーがユニークに割り当てたもの）等からなる。
【００７３】
そして、ＳＴＢ１２０は、プリンタ１３０から取得したファームウェア特定情報と、予め配信サーバ１１０から配信されている最新バージョンに関する情報等とを比較することによって、いま接続されているプリンタ１３０が備えるファームウェアが最新のものか否か判断し（Ｓ１３）、最新のものでない場合には（Ｓ１３でＮｏ）、対応するファームウェア更新データをハードディスク１２６から読み出し、印刷専用コンテンツとしてプリンタ１３０に出力する（Ｓ１４）。これによって、上記実施の形態と同様にして、プリンタ１３０において、ファームウェアの更新が行われる（Ｓ１５）。
【００７４】
一方、ＳＴＢ１２０は、取得したファームウェア特定情報から、プリンタ１３０が備えるファームウェアが最新のものであると判断した場合には、「ファームウェアを更新する必要がない」旨のメッセージをユーザに提示して終了する（Ｓ１６）。
【００７５】
図１６は、以上のようなＳＴＢ１２０による分岐処理（図１５のＳ１１〜Ｓ１４、Ｓ１６）を可能にする表示コンテンツの例を示す図である。本図に示された表示コンテンツは、実施の形態１における図７（ｂ）に示された表示コンテンツと同様に、配信サーバ１１０から配信される放送コンテンツに含まれていたものであり、ファームウェア更新データを印刷専用コンテンツとしてプリンタ１３０に出力する旨のスクリプトが記述されている。つまり、タグ＜ｓｃｒｉｐｔ＞からタグ＜／ｓｃｒｉｐｔ＞で挟まれた箇所において、プリンタ１３０からファーウェア特定情報を取得し、その情報に対応した分岐処理（ファームウェア更新データの出力、又は、ファームウェアの更新が不要である旨のエラーメッセージの表示等）を実行する旨のスクリプトが記述されている。
【００７６】
なお、この表示コンテンツで使用されている各種関数（ＡＰＩ；Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）の意味は、図１７に示される通りである。関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＭａｋｅｒＩＤ（）は、接続されているプリンタのメーカーＩＤ等を取得する関数であり、関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＴｙｐｅＩＤ（）は、接続されているプリンタの機種ＩＤ等を取得する関数であり、関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＳｏｆｔｗａｒｅＶｅｒｓｉｏｎ（）は、接続されているプリンタが備えるファームウェアのバージョンＩＤ等を取得する関数である。
【００７７】
このように、配信サーバ１１０から配信する表示コンテンツの中に、プリンタから取得したファームウェア特定情報に基づく分岐処理を記述しておくことで、ＳＴＢ１２０は、受信した表示コンテンツに従った動作を実行するだけで、現に接続されているプリンタに対応したファームウェア更新データをプリンタに出力したり、その必要がない場合のエラー処理を行ったりすることができる。
【００７８】
なお、ＳＴＢ１２０が受信して蓄積するファームウェア更新データは、時の経過とともに、そのデータ量が増加していくことになるが、ハードディスク１２６の記憶容量を超えることとならないように、例えば、ＳＴＢ１２０は、一定の保管期間が経過したファームウェア更新データを削除してもよい。
【００７９】
また、図１６に示された表示コンテンツは、１台のプリンタがＳＴＢ１２０に接続されていることを前提としていたが、もし、ＳＴＢ１２０に複数のプリンタが接続されている場合には、例えば、次のように対処すればよい。
【００８０】
第１の方法として、ＳＴＢ１２０が備える機器管理機能（「機器ナビ」等）を用いて予めユーザが１台のプリンタを特定しておき、ＳＴＢ１２０は、その１台のプリンタをファームウェアの更新対象とする。
【００８１】
また、第２の方法として、図１８に示されるような各種関数（ＳＴＢ１２０に接続されている複数のプリンタに関する情報を取得するＡＰＩ）を用いることで、複数のプリンタを対象としてファームウェアを更新するようなプログラムを含む表示コンテンツをＳＴＢ１２０に配信して実行させる。例えば、図１８に示されるように、まず、関数ｂｒｏｗｓｅｒ．ｇｅｔＣａｐａｂｌｅＰｒｉｎｔｅｒＮｕｍｂｅｒ（）を用いて、ＳＴＢに接続されているプリンタの数を特定し、次に、関数ｂｒｏｗｓｅｒ．ｇｅｔＣａｐａｂｌｅＰｒｉｎｔｅｒＬｉｓｔ（ｉｎｔ　Ｌｉｓｔ［］　）を用いて、接続されてプリンタそれぞれを区別するＩＤ（ｐｒｉｎｔｅｒＩＤ）の一覧を取得し、さらに、そのＩＤを引数として関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＭａｋｅｒＩＤ（ｉｎｔ　ｐｒｉｎｔｅｒＩＤ）、関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＴｙｐｅＩＤ（）、及び、関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＳｏｆｔｗａｒｅＶｅｒｓｉｏｎ（）を呼び出すことで、プリンタごとのメーカーＩＤ、機種ＩＤ及びバージョンＩＤを取得することができるので、それら全てのプリンタを対象としてファームウェアを更新するスクリプトを表示コンテンツに組み入れておくことができる。このような表示コンテンツを取得したＳＴＢ１２０は、そのスクリプトに従って動作することで、ＳＴＢ１２０に接続されている複数のプリンタを対象としてファームウェアを一括更新することができる。
【００８２】
（実施の形態３）
次に、本発明の実施の形態３におけるファームウェア更新システムについて、説明する。本実施の形態のファームウェア更新システムは、ＳＴＢが印刷専用コンテンツとしてプリンタにファームウェア更新データを出力することによってプリンタが備えるファームウェアを更新する点において実施の形態１と共通するが、ＳＴＢがファームウェア更新データを放送データとして受信するのではなく、特定のＷｅｂサイトからインターネットを介してオンデマンドで取得する点において実施の形態１と異なる。
【００８３】
図１９は、実施の形態３におけるファームウェア更新システム１００ａの全体構成を示す図である。本システム１００ａは、実施の形態１におけるシステム１００に、プリンタのファームウェアを更新するサービスを提供するポータルサイトであるファームウェア提供サイト１４０が追加された構成を備える。
【００８４】
つまり、配信サーバ１１０及びプリンタ１３０は、実施の形態１のものと同じであるが、ＳＴＢ１２０ａは、実施の形態１におけるＳＴＢ１２０が備える構成に加えて、インターネットを介してファームウェア提供サイト１４０と通信するモデム等の通信インターフェース１２９を備える。ファームウェア提供サイト１４０は、全てのメーカーの全ての機種のプリンタについて、最新のファームウェア更新データを保持してユーザに提供するＷｅｂサイトである。
【００８５】
図２０は、本ファームウェア更新システム１００ａによるプリンタ１３０のファームウェア更新のシーケンスを示す図である。まず、ＳＴＢ１２０ａは、ユーザから、プリンタ１３０のファームウェアを更新する旨の指示を取得すると（Ｓ２０）、図１７に示されたＡＰＩ等に基づいて、プリンタ１３０にファームウェア特定情報を要求することにより（Ｓ２１）、プリンタ１３０からファームウェア特定情報を取得する（Ｓ２２）。
【００８６】
そして、ＳＴＢ１２０ａは、通信インターフェース１２９及びインターネットを介してファームウェア提供サイト１４０にアクセスし、プリンタ１３０から取得したファームウェア特定情報（メーカーＩＤ、機種ＩＤ、バージョンＩＤ）によって特定されるファームウェアを要求することで（Ｓ２３）、そのファームウェアをファームウェア提供サイト１４０からダウンロードしながら（Ｓ２４）プリンタ１３０に印刷専用コンテンツとして出力し（Ｓ２５）、プリンタ１３０に印刷（実際はファームウェアの更新）を実行させる（Ｓ２６）。
【００８７】
図２１は、以上のようなＳＴＢ１２０ａによるファームウェア更新データの取得（図２０のＳ２１〜Ｓ２５）を可能にする表示コンテンツの例を示す図である。本図に示された表示コンテンツは、実施の形態１における図７（ｂ）に示された表示コンテンツと同様に、配信サーバ１１０から配信される放送コンテンツに含まれていたものであり、ファームウェア更新データをファームウェア提供サイト１４０から取得し、印刷専用コンテンツとしてプリンタ１３０に出力する旨のスクリプトが記述されている。つまり、タグ＜ｓｃｒｉｐｔ＞からタグ＜／ｓｃｒｉｐｔ＞で挟まれた箇所において、プリンタ１３０からファーウェア特定情報を取得し、その情報によって特定されるファームウェア更新データ（「ｈｔｔｐ：／／ｍａｋｅｒ１０／ｔｙｐｅ１／ｖ２／ｔｏｐ＿ｕｐｄａｔｅ＿ｍｅｋａｒ１０＿ｔｙｐｅ１＿ｖ２．ｘｈｔｍｌｐ」）をファームウェア提供サイト１４０からダウンロードしながらプリンタ１３０に印刷出力する（「ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（）」）旨のプログラムが記述されている。
【００８８】
このようにして、ＳＴＢ１２０ａに接続されているプリンタ１３０の最新バージョンのファームウェアがインターネットを介してＳＴＢ１２０ａにダウンロードされ、プリンタ１３０に印刷出力されることで、プリンタ１３０のファームウェアが最新のものに更新される。
【００８９】
本実施の形態によれば、全ての機種のプリンタのファームウェア更新データを、放送用コンテンツとして配信（放送）するのではなく、インターネット上の特定サイトに置いておき、ファームウェアの更新を必要とするＳＴＢ１２０ａが対象のものだけをダウンロードすることによってプリンタ１３０のファームウェアを更新している。よって、全ての機種のプリンタのファームウェア更新データを放送する場合における放送帯域の制約という問題を考慮する必要がない。特に、ＳＴＢ１２０ａが備える通信インターフェース１２９がブロードバンド・インターネットに対応した常時接続のインターフェースである場合には、ファームウェア更新データの取得ルートとして、本実施の形態が好ましい。
【００９０】
なお、本実施の形態のファームウェア更新システム１００ａでは全てのプリンタ・メーカーのファームウェア更新データがインターネット上の１箇所（ファームウェア提供サイト１４０）に置かれたが、図２２に示されるシステム構成のように、メーカーごとに異なるＷｅｂサイト１４０ａ〜１４０ｃに分散させて置いてもよい。そして、例えば、図２３に示されるような表示コンテンツを配信サーバ１１０からＳＴＢ１２０ａに配信しておき、ＳＴＢ１２０ａに実行させることで、複数のファームウェア提供サイト１４０ａ〜１４０ｃに対応したオンデマンド方式のファームウェア更新システムが実現される。
【００９１】
図２４は、図２３に示された表示コンテンツを実行するＳＴＢ１２０ａの動作手順を示すフローチャートである。ＳＴＢ１２０ａは、プリンタのファームウェアを更新する旨の指示をユーザから取得すると（Ｓ３０）、接続されているプリンタ１３０からファームウェア特定情報を取得し（Ｓ３１）、取得したファームウェア特定情報から、そのプリンタ１３０の最新ファームウェアを提供しているメーカー固有のＷｅｂサイトファームウェア提供サイト１４０ａ〜１４０ｃを特定し（Ｓ３２）、そのＷｅｂサイトから最新のファームウェア更新データをダウンロードしてハードディスク１２６に格納する（Ｓ３３）。続いて、いまダウンロードしたファームウェア更新データをハードディスク１２６から読み出し、プリンタ１３０に出力する（Ｓ３４）。これによって、プリンタ１３０において、ファームウェアが最新のものに更新される。
【００９２】
なお、図２４のフローチャートにおいて、ファームウェアの取得（Ｓ３１）は、図２３の表示コンテンツにおける関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＭａｋｅｒＩＤ（）、関数ｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＴｙｐｅＩＤ（）及びｂｒｏｗｓｅｒ．ｇｅｔＰｒｉｎｔｅｒＳｏｆｔｗａｒｅＶｅｒｓｉｏｎ（）に対応し、プリンタ・メーカーのＷｅｂサイトの特定（Ｓ３２）及びファームウェア更新データのダウンロード・格納（Ｓ３３）は、関数ｂｒｏｗｓｅｒ．ｇｅｔ＿ｓａｖｅ（”ｈｔｔｐ：／／ｍａｋｅｒ１０／ｔｙｐｅ１／ｖ２／ｔｏｐ＿ｕｐｄａｔｅ＿ｍｅｋａｒ１０＿ｔｙｐｅ１＿ｖ２．ｘｈｔｍｌｐ”，”．／ｔｏｐ＿ｕｐｄａｔｅ＿ｍｅｋａｒ１０＿ｔｙｐｅ１＿ｖ２．ｘｈｔｍｌｐ”）に対応し、格納したファームウェア更新データのプリンタ１３０への出力（Ｓ３４）は、関数ｂｒｏｗｓｅｒ．ｐｒｉｎｔ（“ｔｏｐ＿ｕｐｄａｔｅ＿ｍｅｋａｒ１０＿ｔｙｐｅ１＿ｖ２．ｘｈｔｍｌｐ”）に対応する。
【００９３】
このように、プリンタのメーカーごとに異なるＷｅｂサイトに分散させてファームウェア更新データを置く方式にすれば、１つのサイトに置かれるファームウェア更新データの総サイズが小さくなるとともに、１箇所にまとめるための処理が不要になる。
【００９４】
また、プリンタ１３０のファームウェアが、例えば、Ｌｉｎｕｘの共有ライブラリ形式やＷｉｎｄｏｗｓ（Ｒ）のＤＬＬなどのように、ダイナミックにリンク可能な形式で書かれた複数のプログラムファイルから構成されている場合、ファームウェアの更新が一部のプログラムファイルだけの変更であれば、プリンタ１３０はファームウェアの更新として、変更されたファイルを単に差し替えるだけでよい。
【００９５】
図２５は、プログラムＤＬＬファイルであるファームウェア更新データを含んだ印刷専用コンテンツｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐの例を示す図である。図８に示された「ｕｐｄａｔｅ．ｄａｔａ」という通常のデータファイルであるファームウェア更新データと比べて分かるように、図２５に示されたダイナミックリンクＤＬＬ形式のファームウェア更新データでは、タグ＜ｕｐｄａｔｅ＞〜＜／ｕｐｄａｔｅ＞で示された箇所に、プログラムファイルｕｐｄａｔｅ．ｄｌｌが置かれている。
【００９６】
このように、ファームウェア更新データをプログラムファイルの形式としておくことで、ダウンロードするファイルのサイズは小さくなり、少ない転送時間で済み、さらにフラッシュＲＯＭへの書き込み時間も短縮される。
【００９７】
なお、プリンタのファームウェアを更新するタイミング（ある機種のプリンタについて、ファームウェアの改訂が行われ、最新のファームウェア更新データのリリースが可能になった旨の通知）については、配信サーバ１１０からの放送メールやプリンタ・メーカーからの電子メール等によって、ユーザに通知してもよい。
【００９８】
以上、本発明に係るファームウェア更新システムについて、３つの実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。
【００９９】
例えば、上記実施の形態では、表示コンテンツのトップページファイルをＢＭＬファイルとして説明したが、記述言語は必ずしもＢＭＬである必要はなく、ＨＴＭＬであってもよく、またＳＴＢ内のブラウザが解釈できるものであれば、さらに他の言語であってもよい。また、印刷専用コンテンツの記述言語も同様に、必ずしもＨＴＭＬ−Ｐである必要はなく、他の言語であっても良い。
【０１００】
さらに、上記ではファームウェア更新データがダイナミックリンクファイルである場合について説明したが、本発明はこれに限定されず、ファームウェア更新データは前回のファームウェア更新データとの差分の形式で作成されていてもよい。すなわち、ＳＴＢ１２０ａがファームウェア更新データをダウンロードしながら並行してプリンタ１３０に出力するのではなく、ハードディスク１２６に一旦格納してからプリンタ１３０に出力するので、ダウンロードされるファームウェア更新データを、前のバージョンのファームウェア更新データに対する差分ファイルという形式にしておくことができる。つまり、前回のファームウェア更新データの変更箇所を特定するための情報とその変更内容とを差分ファイルに格納しておけば、ＳＴＢ１２０ａはいまダウンロードした差分ファイルと既にハードディスク１２６に格納されている前のバージョンのファイルとを合成し、得られた完全なデータセットをプリンタ１３０に出力することができる。
【０１０１】
また、ファームウェア更新データの内容を、古いバージョンのファームウェアに対する新たなバージョンのファームウェアの差分ファイルとすることもできる。すなわち、古いバージョンのファームウェアをそのまま新たなバージョンのファームウェアで置き換えるのではなく、ファームウェア更新データに、古いバージョンのファームウェアの変更箇所を特定するための情報とその変更内容とを差分ファイルに格納しておく。この場合、差分ファイルを合成するのは、ＳＴＢ１２０ａではなくプリンタ１３０である。合成の方法は、例えば、ブートでない方のＲＯＭに古いバージョンのファームウェアをコピーし、差分ファイル内の情報からファームウェア内の変更箇所を特定し、差分ファイル内の変更内容で変更箇所を書き換える。このように、ファームウェア更新データを差分ファイルの形式としておくことで、ダウンロードするファイルのサイズは小さくなり、少ない転送時間で済む。
【０１０２】
また、配信サーバから配信される表示コンテンツや印刷コンテンツ（あるいは、ファームウェア更新データ）を受信し、プリンタに対して印刷コンテンツを供給する受信装置としては、ＳＴＢだけに限られず、パーソナルコンピュータ、携帯情報端末、携帯電話機等の通信装置であってもよい。例えば、屋外において、電話網を介して携帯電話機にダウンロードした画像を駅に置かれた共用のキオスクプリンタに接続して印刷することも考え得るので、本実施の形態におけるファームウェア更新システムは、ファームウェア更新データを受信する受信装置として、ＳＴＢに限られず、プリンタへの出力機能を備えた携帯電話機や携帯情報端末等であってもよい。
【０１０３】
また、上記実施の形態では、プリンタは、ＳＴＢ又はブリッジメディアを介して印刷コンテンツ（あるいは、ファームウェア更新データ）を取得したが、図２６に示されるダイレクト方式のように、プリンタがＰＵＬＬ型のプリンタであり、かつ、インターネットに直接接続される場合には、プリンタがインターネット上のＷｅｂサーバから印刷コンテンツ（本実施の形態では、ファームウェア更新データ）をＰＵＬＬしてファームウェアの更新を実行してもよい。例えば、特定のＷｅｂサーバに置かれた印刷コンテンツ（あるいは、ファームウェア更新データ）を印刷する旨の要求がＳＴＢから発せられると、プリンタ１３０は、その印刷コンテンツ（あるいは、ファームウェア更新データ）をＷｅｂサーバからダウンロードして印刷（あるいは、ファームウェアの更新）してもよい。これによって、ＳＴＢがファームウェア更新データを中継したり、バッファリングしたりする必要がなくなる。
【０１０４】
また、上記実施の形態におけるファームウェア更新データファイル「ｕｐｄａｔｅ．ｄａｔａ」、「ｕｐｄａｔｅ．ｄｌｌ」は、圧縮ファイルであってもよい。特に、低コストで記憶容量の小さいブリッジメディアを介してファームウェア更新データをＳＴＢからプリンタに移動させる場合には、ファームウェア更新データを圧縮ファイルにしておくことが有効である。そして、それらのファイルは、自己解凍形式のファイルにしておいてもよい。
【０１０５】
さらに、差分ＤＬＬファイルのリンクについては、ＳＴＢにおいて実行する形態に限られず、プリンタにおいて実行してもよい。つまり、プリンタがＳＴＢ、ブリッジメディア、インターネット等を介してファームウェア更新データを差分ＤＬＬファイルとして取得した後に、ファームウェア格納部１３８に保持している現行バージョンのファームウェアとリンクすることによって最新バージョンのファームウェアを生成し、それをファームウェア格納部１３８に上書きして更新してもよい。
【０１０６】
なお、上記実施の形態では、ファームウェアが主としてプリンタの制御プログラムである場合について説明したが、ファームウェアはプログラムのみではなく、印刷用フォントおよび外字データなどのデータを含んでいてもよい。このようなファームウェアを更新するためのファームウェア更新データは、フォントおよび外字データそのものだけであってもよいし、現行のフォントデータのセットに追加することによってデータを更新するための差分データだけであってもよい。
【０１０７】
また、ファームウェア更新データがプログラムのみであるか、データを含んだプログラムであるか、またはデータのみであるかは、ファームウェア更新データファイルのファイル名、拡張子およびタグのいずれかで識別できるようあらかじめルールを定めておいてもよい。
【０１０８】
また、ファームウェアに含まれるプログラムは、制御プログラムなどのＯＳに限らず、アプリケーションプログラムであってもよいし、ＯＳとアプリケーションとの中間的なプログラムであってもよい。
【０１０９】
さらに、ファームウェア更新データは、制御プログラムを更新するデータとともに、ＲＯＭ内の制御プログラムのアドレスを更新するためのオフセットアドレスを含んでいてもよい。
【０１１０】
また、ファームウェアおよびファームウェア更新データは、複数の異なるプログラム、複数の異なるデータを含んでいてもよい。この場合、ファームウェア更新データには、それぞれが書き込まれるべきＲＯＭ内の位置を示すアドレスを含んでいるものとする。
【０１１１】
なお、上記実施の形態では、プリンタにおいて、制御部のみがファームウェア格納部を備え、格納されているファームウェアを実行することによってプリンタ内の各部の動作を制御するとしたが、本発明はこれに限定されず、さらに、プリンタエンジンにも、制御部とは独立したファームウェア格納用の２つのＲＯＭを備え、プリンタエンジンはプリンタエンジン用のファームウェアを実行することによって制御部とは独立して動作するような構成としてもよい。この場合のプリンタエンジンは、メカニカルな部分のみによる構成ではなく、プリンタエンジン用のファームウェアを解釈して実行するプリンタエンジン専用の制御部を備える。さらに、この場合、制御部用ファームウェアとプリンタエンジン用ファームウェアとは、特定のルールに基づいてあらかじめ定められたファイル名などにより識別されるものとする。
【０１１２】
これに対し、ファームウェア更新部は、判定部から入力されたファームウェア更新データがプリンタエンジン用ファームウェアである場合には、それをプリンタエンジン内のブートでない方のＲＯＭに書き込む。判定部から入力されたファームウェア更新データが制御部用ファームウェアの場合はすでに説明した通りである。このようにして、本発明のプリンタは、プリンタエンジンにも、制御部とは独立したファームウェア格納用の２つのＲＯＭが備えられる場合にも、問題なく制御部用ファームウェアとプリンタエンジン用ファームウェアとを更新することができる。このようにした場合、上記実施の形態において１つのデータであったファームウェア更新データを、制御部用とプリンタエンジン用とに分割することができるので、それぞれを異なるタイミングで更新するようにすれば、一時に受信またはダウンロードするファームウェア更新データのデータ量を、より小さくすることができる。
【０１１３】
さらに、上記実施の形態３では、ＳＴＢがプリンタからファームウェアのバージョンＩＤを含むファームウェア特定情報を取得し、最新のファームウェア更新データをダウンロードする場合について説明したが、本発明はこれに限定されない。ＳＴＢがプリンタからファームウェアのバージョンＩＤを取得できない場合、ＳＴＢは、プリンタから取得したメーカーＩＤと機種ＩＤとに基づいてサーバにアクセスし、サーバ上で「最新」として提示されているファームウェア更新データをダウンロードするとしてもよい。
【０１１４】
また、上記実施の形態では、ＳＴＢは、受信した表示コンテンツおよび印刷専用コンテンツを格納する記憶媒体として、ハードディスク１２６を備えたが、これに代えて、ＲＡＭなどの半導体メモリや着脱可能なメモリカード等の記憶媒体を備えてもよい。
また、上記実施の形態では、プリンタに印刷データとして出力されるマーク付言語でかかれたファームアップデートファイルには、１つの機種用のファームウェアデータしか記述していないが、複数機種のファームウェアデータを記述しておき、プリンタがファームウェア特定情報等から自分用のファームウェアを判別・選択して更新するようにしてもよい。
【０１１５】
本発明のサーバは、印刷コンテンツを含むデータ放送を行う放送局のコンテンツ配信サーバとして、また、携帯電話回線等を介して携帯電話機などの携帯端末に印刷コンテンツを配信する配信サーバとして有用である。本発明の受信装置は、印刷コンテンツを含むデータ放送を受信するＳＴＢとして、また、印刷コンテンツを含んだコンテンツを受信する携帯電話機および携帯端末等として有用である。本発明の印刷装置（プリンタ）は、ＳＴＢやＤＴＶなどの受信装置および携帯端末等に専ら接続されるプリンタとして有用である。
【０１１６】
【発明の効果】
本発明の受信装置は、印刷装置と受信装置とからなる印刷システムで使用される受信装置であって、前記印刷装置のファームウェアを更新するための更新データと、前記更新データを印刷対象とする旨の記述を含む表示コンテンツとを外部から受信する受信手段と、前記表示コンテンツを表示する表示手段と、前記表示コンテンツに対する印刷命令を取得する命令取得手段と、前記印刷命令を前記命令取得手段が取得したとき、前記記述に従って前記更新データを印刷対象のデータとして前記印刷装置へ出力する出力手段とを備える。
【０１１７】
従って、本発明の受信装置によれば、前記表示コンテンツによってファームウェアの更新をユーザに案内する表示を行うことできるとともに、それに対する印刷命令によって、通常の印刷処理と同様にして、更新データを印刷装置に出力することができる。
【０１１８】
この結果、受信装置に印刷装置のファームウェアを更新するための新たな構成を追加することなく印刷装置のファームウェアを更新することができるという効果がある。さらに、ファームウエア更新データを、受信装置で表示させずに印刷のみさせることで、受信装置での表示エラーの発生を回避することができる。よって、本発明の意義はきわめて大きい。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係るファームウェア更新システムの構成を示す機能ブロック図である。
【図２】図１に示したプリンタのハードウェア構成を示すブロック図である。
【図３】図１に示したファームウェア更新システムにおけるコンテンツおよび各部の処理の流れを示す図である。
【図４】図１に示した配信サーバから送信される放送用コンテンツの一例を示す図である。
【図５】図４に示した表示コンテンツのファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。
【図６】図５に示した表示画面でプリントボタンが押下された場合にプリンタに出力されるファイル「ｔｏｐ＿ｐｒｉｎｔ．ｘｈｔｍｌｐ」の一例を示す図である。
【図７】図４に示した表示コンテンツのファイル「ｕｐｄａｔｅ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。
【図８】図７に示した表示画面で更新ボタンが押下された場合にプリンタに出力されるファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の一例を示す図である。
【図９】ファイル名の比較によってファームウェアの更新か否かを判定する場合の判定部１３３の処理手順を示すフローである。
【図１０】本発明の第２の実施形態に係るファームウェア更新システムの構成を示す機能ブロック図である。
【図１１】図１０に示したファームウェア更新システムにおけるコンテンツおよび各部の処理の流れを示す図である。
【図１２】通常の印刷専用コンテンツをオフラインで印刷する場合の放送メールのファイル「ｓｈｏｐｐｉｎｇ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。
【図１３】オフラインでファームウェアの更新を行う場合の放送メールのファイル「ｕｐｄａｔｅ．ｂｍｌ」およびそれに基づく表示の一例を示す図である。
【図１４】ファームウェア更新用データファイル「ｆｉｒｍ．ｄａｔａ」をＵＲＬで指定する場合のファームウェア更新用印刷専用コンテンツのファイル「ｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐ」の一例を示す図である。
【図１５】ＳＴＢによるプリンタへの対応処理を示すシーケンス図である。
【図１６】図１５における分岐処理を可能にする表示コンテンツの例を示す図である。
【図１７】図１６に示された表示コンテンツで使用されている各種関数（ＡＰＩ）の意味を示す図である。
【図１８】その他の各種関数（ＡＰＩ）の意味を示す図である。
【図１９】本発明の実施の形態３におけるファームウェア更新システムの全体構成を示す図である。
【図２０】同システムによるプリンタのファームウェア更新のシーケンスを示す図である。
【図２１】ＳＴＢによるオンデマンドによるファームウェア更新データの取得を可能にする表示コンテンツの例を示す図である。
【図２２】実施の形態３の変形例に係るファームウェア更新システムの全体構成を示す図である。
【図２３】同システムにおいてＳＴＢに配信される表示コンテンツの例を示す図である。
【図２４】図２３に示された表示コンテンツを実行するＳＴＢの動作手順を示すフローチャートである。
【図２５】差分ＤＬＬファイルとして実現されたファームウェア更新データｔｏｐ＿ｕｐｄａｔｅ．ｘｈｔｍｌｐの例を示す図である。
【図２６】本発明の変形例に係るファームウェア更新システムの全体構成を示す図である。
【符号の説明】
１００、１００ａ　　ファームウェア更新システム
１１０　　配信サーバ
１１１　　ファームウェアＤＢ
１１２　　表示用コンテンツＤＢ
１１３　　印刷専用コンテンツＤＢ
１１４　　コンテンツ生成部
１１５　　入力部
１１６　　送信部
１２０、１２０ａ　　ＳＴＢ
１２１　　受信部
１２２　　表示データ生成部
１２３　　ＴＶ
１２４　　リモコン
１２５　　リモコン受信部
１２６　　ハードディスク
１２７　　印刷出力部
１２８　　バス
１２９　　通信インターフェース
１３０　　プリンタ
１３１　　インターフェース部
１３２　　バッファ
１３３　　判定部
１３４　　印刷処理部
１３５　　プリンタエンジン
１３６　　ファームウェア更新部
１３７　　制御部
１３８　　ファームウェア格納部
１４０、１４０ａ〜ｃ　　ファームウェア提供サイト
【図１】
2004005454.tif 000003
【図２】
2004005454.tif 000004
【図３】
2004005454.tif 000005
【図４】
2004005454.tif 000006
【図５】
2004005454.tif 000007
【図６】
2004005454.tif 000008
【図７】
2004005454.tif 000009
【図８】
2004005454.tif 000010
【図９】
2004005454.tif 000011
【図１０】
2004005454.tif 000012
【図１１】
2004005454.tif 000013
【図１２】
2004005454.tif 000014
【図１３】
2004005454.tif 000015
【図１４】
2004005454.tif 000016
【図１５】
2004005454.tif 000017
【図１６】
2004005454.tif 000018
【図１７】
2004005454.tif 000019
【図１８】
2004005454.tif 000020
【図１９】
2004005454.tif 000021
【図２０】
2004005454.tif 000022
【図２１】
2004005454.tif 000023
【図２２】
2004005454.tif 000024
【図２３】
2004005454.tif 000025
【図２４】
2004005454.tif 000026
【図２５】
2004005454.tif 000027
【図２６】
2004005454.tif 000028