JP2004227143A - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP2004227143A
JP2004227143A JP2003012233A JP2003012233A JP2004227143A JP 2004227143 A JP2004227143 A JP 2004227143A JP 2003012233 A JP2003012233 A JP 2003012233A JP 2003012233 A JP2003012233 A JP 2003012233A JP 2004227143 A JP2004227143 A JP 2004227143A
Authority
JP
Japan
Prior art keywords
program
information processing
backup
processing apparatus
information
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.)
Abandoned
Application number
JP2003012233A
Other languages
English (en)
Inventor
Kenichiro Tada
謙一郎 多田
Yukio Numagami
幸夫 沼上
Ryunosuke Matsumura
竜之介 松村
Katsunori Inami
勝徳 伊波
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.)
Pioneer Corp
Original Assignee
Pioneer Electronic Corp
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 Pioneer Electronic Corp filed Critical Pioneer Electronic Corp
Priority to JP2003012233A priority Critical patent/JP2004227143A/ja
Priority to US10/760,365 priority patent/US7219261B2/en
Publication of JP2004227143A publication Critical patent/JP2004227143A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

Abstract

【課題】プログラムが正常に動作しなくても、そのことを自動的に判断し、バックアッププログラムないしデフォルトプログラムを自動的に実行し、装置の動作を正常に保つ。
【解決手段】フラッシュROM130内に、前回にOSプログラムが正常に動作したか否かを示す状態フラグ138を設け、OSプログラムを実行するときには、状態フラグ138の状態をチェックし、前回にOSプログラムが正常に動作した場合には、カレントOSプログラム132を実行し、前回にOSプログラムが正常に動作しなかった場合には、バックアップOSプログラム131を実行する。
【選択図】 図8

Description

【0001】
【発明の属する技術分野】
本発明は、例えばブートローダ、オペレーティングシステム、アプリケーションソフトウェアなどのプログラムを実行して所定の処理を行うことが可能な情報処理装置および情報処理方法に関する。
【0002】
【従来の技術】
現在では、コンピュータ等の情報処理装置を、ネットワーク等の通信路を介して相互に接続し、複数の情報処理装置間で、情報のやり取りを行う情報通信システムが広く普及している。
【0003】
このような情報通信システムは、例えば、テレビ放送の領域にも普及しつつある。従来では、放送局がテレビ番組を構成する映像および音声を電波に変換して送信し、家庭にあるテレビがそれ受信して再生するのみであった。しかし、現在では、テレビ放送のデジタル化と相俟って、放送局と家庭にあるテレビとの間で双方向通信を行う技術が開発され、それに伴い、テレビも単なる受信器・受像器ではなく、情報を生成し、送信する機能を備えた情報処理装置と同等のものとなってきている(以下、情報処理装置と同等のものとなったテレビを「テレビ装置」と呼ぶ)。このような点に着目すれば、近い将来、テレビ放送システムは、一種の映像メディア情報通信システムと化すであろう。
【0004】
このような映像メディア情報通信システムにおけるテレビ装置には、コンピュータの基本的な構造が取り込まれている。すなわち、個々のテレビ装置は、放送局から送信されるコンテンツ情報を受信し、それを再生するアプリケーションソフトウェアと、そのアプリケーションソフトウェアの実行制御および管理等を行うオペレーティングシステムと、テレビの電源投入時などに、そのオペレーティングシステムを起動させるブートローダなどを備えている。
【0005】
【発明が解決しようとする課題】
ところで、上述したような映像メディア情報通信システムでは、コンテンツ情報だけでなく、個々のテレビ装置内で実行されるアプリケーションソフトウェアやオペレーティングシステム等のプログラムをも、通信路を介して配信することが可能となる。例えば、テレビ装置内で実行されるオペレーティングシステムをより高性能なものに更新しようとするときには、テレビ装置の所有者が、映像メディア情報通信システムの通信路を介して、放送局にアクセスし、新しいオペレーティングシステムのプログラムを放送局からテレビ装置内にダウンロードし、それをテレビ装置内にインストールすればよい。
【0006】
ところが、ダウンロードまたはインストールに失敗し、または更新したプログラムに欠陥があり、あるいは誤って他のプログラムをインストールしてしまったなどの事情により、更新したはずのオペレーティングシステムやアプリケーションソフトウェアが正常に動作しないといった不都合が生じる場合が考えられる。アプリケーションソフトウェアが正常に動作しないときには、再び更新作業を行えば解決できるかもしれない。しかし、オペレーティングシステムが正常に動作しないときには、解決は困難である。なぜなら、更新作業を行うプログラムもオペレーティングシステムの上で動作するとすれば、オペレーティングシステムが正常に動作しない以上、もはや更新作業は実行不可能となるからである。このような事態に陥ると、所有者は、テレビ装置を製造元のサービスセンター等に持ち込んで修理を依頼しなければならないといった手間がかかる。
【0007】
本発明は上記に例示したような問題点に鑑みなされたものであり、本発明の課題は、プログラムが正常に動作しなくても、そのことを自動的に判断し、バックアッププログラムないしデフォルトプログラムを自動的に実行し、装置の動作を正常に保つことができる情報処理装置および情報処理方法を提供することにある。
【0008】
【課題を解決するための手段】
上記課題を解決するために請求項1に記載の情報処理装置は、他のプログラムを実行させる命令を含む第1プログラムを格納する第1記憶手段と、前記第1プログラムの前記命令に従って所定の処理を実行する第2プログラムを格納する第2記憶手段と、前記第2プログラムのバックアッププログラムを格納する第3記憶手段と、前記第2プログラムがその所定の処理を正常に実行しないことを実質的に示す第1状態情報を格納する第4記憶手段と、前記第1状態情報に基づいて、前記第2プログラムおよび前記バックアッププログラムのうちのいずれか一方を、前記第1プログラムの前記命令に従って実行させるべきプログラムとして選択する第1選択手段とを備えている。
【0009】
上記課題を解決するために請求項16に記載のコンピュータプログラムは、コンピュータを請求項1ないし16のいずれかに記載の情報処理装置として機能させる。
【0010】
上記課題を解決するために請求項17に記載の情報処理方法は、他のプログラムを実行させる命令を含む第1プログラムと、前記第1プログラムの前記命令に従って所定の処理を実行する第2プログラムと、前記第2プログラムのバックアッププログラムと、前記第2プログラムがその所定の処理を正常に実行しないことを実質的に示す第1状態情報とを取り扱うことが可能な装置において実行可能な情報処理方法であって、前記第1プログラムが前記第2プログラムまたは前記バックアッププログラムを実行させるときまたは実行させたときに、前記第1状態情報を第1内容に設定または変更する第1状態情報設定工程と、前記第2プログラムまたは前記バックアッププログラムが正常に終了するときまたは終了したときに、前記第1状態情報を第2内容に設定または変更する第2状態情報設定工程と、前記第1プログラムが再び前記第2プログラムまたは前記バックアッププログラムを実行させるとき、前記第1状態情報に基づいて、前記第2プログラムおよび前記バックアッププログラムのうちのいずれか一方を選択する選択工程とを備えている。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0012】
(第1実施形態)
本発明の第1実施形態について図1を参照して説明する。図1は本発明の第1実施形態に係る情報処理装置を示している。なお、図1は、本発明の第1実施形態による情報処理装置の構成要素等を、その技術思想を説明する限りにおいて具体化したものであり、各構成要素等の大きさ、位置、接続関係などは、これに限定されるものではない。このことについては、本発明の他の実施形態の説明で用いる図2ないし図4についても同様である。
【0013】
図1に示すように、本発明の第1実施形態に係る情報処理装置10は、第1ないし第4の記憶手段11、12、13、14と第1選択手段15とを備えている。情報処理装置10は、典型的には、演算処理回路および記憶回路等を備えたコンピュータであるが、これと同等の機能を備えた装置であれば何でもよい。例えば、情報処理装置10は、双方向デジタル通信が可能なテレビでもよく、映像情報を受信し、それを記憶し、管理し、ユーザの選択に応じて映像情報を再生処理する映像記録再生装置でもよい。
【0014】
第1記憶手段11は、他のプログラムを実行させる命令を含む第1プログラム16を格納する手段である。第1記憶手段11は、コンピュータプログラム等のプログラムを格納・記憶することが可能な記憶媒体ないし記録媒体であれば何でもよい。一般に、記憶媒体・記録媒体には、半導体集積回路、磁気記録媒体、光記録媒体、光磁気記録媒体、誘電体記録媒体、近接場光記録媒体など様々あるが、第1記憶手段11は、これらのいずれの記憶媒体ないし記録媒体であってもよい。さらに、第1記憶手段11は、読出専用であっても、追記・書換可能であってもよく、また、揮発性・不揮発性のいかんも問わず、さらに、装置内に固定されているものであると、外部から装置内に装着・挿入されるものであるとを問わない。また、第1記憶手段は、第2ないし第4記憶手段等と、相互の性質・用途等に同一性がある限り、同一の記憶媒体によって一体的に実現してもよい。また、複数の記憶手段との間で、性質・用途等が異なる場合には、それぞれの記憶手段を別々の記憶媒体によって実現してもよいし、複数の記憶手段のうち、性質・用途等が共通するいくつかを一体化し、残りのものを別体としてもよい。もっとも、第1記憶手段11に格納される第1プログラム16の機能・性質に着目すると、第1記憶手段11は、例えばROM(リードオンリメモリ)が好ましい。
【0015】
第1プログラム16は、他のプログラムを実行させる命令を含むプログラムであれば何でよい。第1プログラム16は、例えば、ブートローダ、オペレーティングシステム、アプリケーションソフトウェアなどのプログラムである。ブートローダは、装置の電源投入直後に実行され、オペレーティングシステムのプログラム等を起動するプログラムである。第1プログラム16の典型的な具体例は、ブートローダである。
【0016】
第2記憶手段12は、第1プログラム16の命令に従って所定の処理を実行する第2プログラム17を格納する手段である。第2記憶手段12も、第1記憶手段11とほぼ同様に、コンピュータプログラム等のプログラムを格納・記憶することが可能な記憶媒体ないし記録媒体であれば何でもよい。もっとも、第2記憶手段12に格納される第2プログラム17の性質・機能を考慮すれば、第2記憶手段12は、追記・書換可能な記憶媒体であることが好ましく、例えばフラッシュROMまたはスタティックRAM(ランダムアクセスメモリ)が好ましい。
【0017】
第2プログラム17は、第1プログラム16の命令に従って所定の処理を実行するプログラムである。第2プログラム17が実行する所定の処理の内容は何でもよい。第2プログラム17は、例えば、オペレーティングシステム、アプリケーションソフトウェア等のプログラムである。もっとも、第2プログラム17は、少なくともその起動のきっかけを第1プログラム16の命令によって与えられる。この点に着目すると、第1プログラム16を一次プログラムと位置づけ、第2プログラム17を二次プログラムと位置づけることができる。また、情報処理装置10が例えば汎用コンピュータのように、多機能性・拡張性を備えている場合には、第2プログラム17は、しばしば書き換えられたり、更新されたりすることが予定されたプログラムであってもよい。
【0018】
第3記憶手段13は、第2プログラムのバックアッププログラム18を格納する手段であり、第2記憶手段12とほぼ同様の構成である。
【0019】
バックアッププログラム18は、第2プログラム17のバックアッププログラムであり、例えば、更新前の第2プログラムまたは第2プログラムの古いバージョンなどである。
【0020】
第4記憶手段14は、第2プログラム17がその所定の処理を正常に実行しないことを実質的に示す第1状態情報19を格納する手段である。第4記憶手段14は、情報を格納・記憶することが可能な記憶媒体であれば何でもよく、具体的には、第2記憶手段12または第3記憶手段13とほぼ同様の構成を採用することができる。もっとも、第4記憶手段14に格納された第1状態情報19は、第2プログラム17の状態に応じて変更されることが予定されている。したがって、第4記憶手段14は、書換可能な記憶媒体が好ましく、例えば、フラッシュROMまたはRAMが好ましい。
【0021】
第1状態情報19は、第2プログラム17がその所定の処理を正常に実行しないことを実質的に示す情報である。例えば、第1状態情報19は、第2プログラム17が所定の処理を正常に実行するかしないかのいずれか一方を直接的に示す2値の情報であってもよいし、第2プログラム17のエラーの箇所の数や、回復不可能な程度を示すデータ群であってもよい。もっとも、第1選択手段15が第2プログラム17およびバックアッププログラム18のうちのいずれか一方を選択するときに、この第1状態情報19が基準になることを考慮すると、第1状態情報19は、処理の簡単化・迅速化を図るためにも、なるべく単純な情報であることが好ましく、例えば、フラグであることが好ましい。また、第2プログラム17がその所定の処理を正常に実行しない場合とは、例えば、第2プログラム17の更新に失敗した場合、第2プログラム17に欠陥がある場合、第2プログラム17と信じて記憶させたプログラムが違うプログラムだった場合、何らかの理由で第2プログラムと情報処理装置10との相性が悪い場合などが考えられる。また、第2プログラム17がその所定の処理を正常に実行しないという事実は、その第2プログラムの内容を分析することによっても認識することができるが、より単純な方法としては、その第2プログラム17の実行を試みることによって認識することができる。例えば、第2プログラム17の実行を試みて、その第2プログラム17が、立ち上がらない場合や、正常に終了しない場合などには、その第2プログラム17は、その所定の処理を正常に実行しないものであると認識することができる。
【0022】
第1選択手段15は、第1状態情報19に基づいて、第2プログラム17およびバックアッププログラム18のうちのいずれか一方を、第1プログラム17の命令に従って実行させるべきプログラムとして選択する手段である。第1選択手段15は、例えば情報処理装置10内に設けられたCPU(セントラルプロセッシングユニット)等の演算処理回路等により実現することができる。また、第1選択手段15を、第1プログラムの中に含まれる命令により実現してもよい。
【0023】
例えば、第2プログラム17がその所定の処理を正常に実行しないことを第1状態情報19が示しているときには、第1選択手段15は、第1状態情報19に基づいてその旨を認識し、バックアッププログラム18を選択する。一方、第2プログラム17がその所定の処理を正常に実行しないことを第1状態情報19が示していないときには、第1選択手段15は、第1状態情報19に基づいてその旨を認識し、第2プログラム17を選択する。その後、第1選択手段15により選択されたプログラムが、第1プログラムの命令に従って実行される。この結果、バックアッププログラム18がその所定の処理を正常に実行することを前提とすれば、情報処理装置10の動作は、常に正常に維持されることになる。確かに、バックアッププログラム18が、第2プログラム17の旧バージョンであるとすれば、処理性能等の点で劣るかもしれない。しかし、所定の処理を正常に実行しない第2プログラム17が実行されれば、情報処理装置10に重大なトラブルが発生する危険性がある。上記構成によれば、これを回避することができる。
【0024】
特に、本発明の実施形態におけるかかる構成は、第2プログラムがオペレーティングシステムプログラム等といった、情報処理装置10の動作を根幹的に支えるプログラムである場合には有効である。なぜなら、例えばオペレーティングシステムが正常に動作しないときには、情報処理装置10がその大半の機能を失うこととなる場合が多いが、このようなときでも、オペレーティングシステムのバックアッププログラムが動作すれば、現在の不具合を修復することができる場合もあるからである。例えば、オペレーティングシステムのバックアッププログラムの実行中に、デバックプログラムを起動し、オペレーティングシステムプログラムをデバックすることも可能であるし、また、新しいオペレーティングシステムプログラムを、通信路を介して、あるいはリカバリーディスクを用いて再インストールすることも可能であろう。
【0025】
(第2実施形態)
本発明の第2実施形態について図2を参照して説明する。図2は本発明の第2実施形態に係る情報処理装置を示している。図2に示すように、本発明の第2実施形態に係る情報処理装置20は、第1実施形態に係る情報処理装置10と同様に、第1ないし第4の記憶手段11、12、13、14と第1選択手段15とを備えており、それぞれの記憶手段には、第1プログラム16、第2プログラム17、バックアッププログラム18および第1状態情報19が格納されている。第2実施形態に係る情報処理装置20は、これに加え、第1状態情報設定手段21および第2情報設定手段22を備えている。
【0026】
上述したように、第1状態情報19は、第2プログラム17がその所定の処理を正常に実行しないことを実質的に示す情報である。さらに、上述したとおり、第2プログラム17がその所定の処理を正常に実行しないという事実を認識する方法や、その事実を第1状態情報19に表現させる方法は様々考えられ、特に限定されない。しかし、情報処理装置20では、1つの好ましい構成を採用しており、その構成は、第1状態情報設定手段21および第2情報設定手段22によって実現される。
【0027】
すなわち、第1状態情報設定手段21は、第1プログラム16が第2プログラム17またはバックアッププログラム18を実行させるときまたは実行させたときに、第1状態情報19を第1内容に設定または変更する手段である。また、第2状態情報設定手段22は、第2プログラム17またはバックアッププログラム18が正常に終了するときまたは終了したときに、第1状態情報19を第2内容に設定または変更する手段である。
【0028】
具体的な動作を説明すると、第1プログラム16が第2プログラム17またはバックアッププログラム18を実行させるときまたは実行させたとき、第1状態情報設定手段21は、第1状態情報19を第1内容に設定する。その後、第2プログラム17またはバックアッププログラム18が正常に終了するときまたは終了したときに、第2状態情報設定手段22は、第1状態情報19を第2内容に変更する。この結果、第2プログラム17またはバックアッププログラム18が正常に終了したときには、第1状態情報19の内容は第2内容となる。一方、第2プログラム17が立ち上がらずまたは正常に終了しなかったとき、またはバックアッププログラム18が立ち上がらずまたは正常に終了しなかったときには、第1状態情報19の内容は、第1内容のままである。したがって、第1状態情報19が第1内容であることは、第2プログラムがその所定の処理を正常に実行しないことを示すことになる。そこで、次回、第1プログラムおよび第2プログラムを実行する際には、第1選択手段15は、第1状態情報19が第1内容か第2内容かを調べて、プログラムの選択を行うことができる。すなわち、第1状態情報19が第1内容のときには、バックアッププログラム18を選択し、第1状態情報19が第2内容のときには、第2プログラム17を選択する。これにより、選択処理を簡単かつ迅速に行うことができる。
【0029】
第1状態情報設定手段21および第2状態情報設定手段22は、例えばCPU等の演算処理回路等によって実現することができる。また、第1状態情報設定手段21を、第1プログラム16に含まれる命令によって実現してもよい。また、第2状態情報設定手段22を、第2プログラム17またはバックアッププログラム18に含まれる命令により実現してもよい。
【0030】
(第3実施形態)
本発明の第3実施形態について図3を参照して説明する。図3は本発明の第3実施形態に係る情報処理装置を示している。図3に示すように、本発明の第3実施形態に係る情報処理装置30は、第1実施形態に係る情報処理装置10と同様に、第1ないし第4の記憶手段11、12、13、14と第1選択手段15とを備えており、それぞれの記憶手段には、第1プログラム16、第2プログラム17、バックアッププログラム18および第1状態情報19が格納されている。第3実施形態に係る情報処理装置30は、これに加え、第5および第6記憶手段31、32と、第2選択手段33を備えている。
【0031】
第5記憶手段31は、第2プログラム17のデフォルトプログラム34を格納する手段である。第5記憶手段31は、コンピュータプログラム等のプログラムを格納・記憶することが可能な記憶媒体であれば何でもよい。もっとも、デフォルトプログラム34は、情報処理装置30の工場出荷時から第5記憶手段31に永続的に記憶しておくことが予定されているので、第5記憶手段31は、書換不能でかつ不揮発性の記憶媒体が好ましく、例えば、ROMが好ましい。
【0032】
デフォルトプログラム34は、第2プログラム17のデフォルトプログラムである。デフォルトプログラム34は、欠陥がなく、情報処理装置30の工場出荷当時から第5記憶手段31に格納されている。例えば、デフォルトプログラム34は、更新された第2プログラム17またはそのバックアッププログラム18よりも処理性能の点で劣ることがあるかもしれないが、少なくとも、第2プログラム17の本来的な処理を実行する機能を備えていることが望ましい。
【0033】
第6記憶手段32は、バックアッププログラム18がその所定の処理を正常に実行しないことを実質的に示す第2状態情報35を格納する手段である。第6記憶手段32は、第4記憶手段14とほぼ同様の構成を有する。
【0034】
第2状態情報35は、バックアッププログラム18がその所定の処理を正常に実行しないことを実質的に示す情報であり、基本的な構成は、第1状態情報19と同じである。
【0035】
第2選択手段33は、第2状態情報35に基づいて、バックアッププログラム18およびデフォルトプログラム34のうちのいずれか一方を、第1プログラム16の命令に従って実行させるべきプログラムとして選択する手段である。第2選択手段33は、第1選択手段15とほぼ同様に、CPU等の演算処理回路等により実現することができる。また、第2選択手段33を、第1プログラム17に含まれる命令によって実現してもよい。
【0036】
例えば、第2プログラム17がその所定の処理を正常に実行することを第1状態情報19が示しているときには、第1選択手段15は、第1状態情報19に基づいてその旨を認識し、第2プログラム17を選択する。一方、第2プログラム17がその所定の処理を正常に実行しないことを第1状態情報19が示しているときには、続いて、第2選択手段33がさらなる選択処理を実行する。すなわち、この場合において、バックアッププログラム18がその所定の処理を正常に実行することを第2状態情報35が示しているときには、第2選択手段33は、第2状態情報35に基づいてその旨を認識し、バックアッププログラム18を選択する。一方、バックアッププログラム18がその所定の処理を正常に実行しないことを第2状態情報35が示しているときには、第2選択手段33は、第2状態情報35に基づいてその旨を認識し、デフォルトプログラム34を選択する。その後、第1選択手段15および第2選択手段33により選択されたプログラムが、第1プログラムの命令に従って実行される。この結果、少なくともデフォルトプログラム34はその所定の処理を正常に実行するので、情報処理装置30の動作は、常に正常に維持されることになる。
【0037】
なお、情報処理装置30に、第1状態情報設定手段21および第2状態情報設定手段22(図2参照)を追加してもよい。
【0038】
(第4実施形態)
本発明の第4実施形態について図4を参照して説明する。図4は本発明の第4実施形態に係る情報処理装置を示している。図4に示すように、本発明の第4実施形態に係る情報処理装置40は、第1実施形態に係る情報処理装置10と同様に、第1ないし第4の記憶手段11、12、13、14と第1選択手段15とを備えており、それぞれの記憶手段には、第1プログラム16、第2プログラム17、バックアッププログラム18および第1状態情報19が格納されている。第4実施形態に係る情報処理装置40は、これに加え、更新手段41およびバックアップ手段42を備えている。
【0039】
更新手段41は、第2プログラム17を更新する手段である。例えば、更新手段41は、情報通信路を介して供給される新しい第2プログラムを受信し、この新しい第2プログラムを既存の第2プログラムと置き換える。
【0040】
バックアップ手段42は、更新手段41により更新される前の第2プログラム17をバックアッププログラム18として第3記憶手段13に格納する手段である。
【0041】
情報処理装置40においては、第2プログラム17は、更新手段41により更新される。また、第2プログラム17の更新に失敗し、更新後の第2プログラム17がその所定の処理を正常に実行しない場合には、第1選択手段15によりバックアッププログラム18が選択され、これが第1プログラム17の命令に従って実行される。このバックアッププログラム18は、更新される前の第2プログラム17であり、バックアップ手段42によってバックアッププログラム18として第3記憶手段13に格納されたものである。したがって、第2プログラム17が更新される前に、旧バージョンの第2プログラムがその所定の処理を正常に実行していた場合には、情報処理装置40の動作は常に正常に維持される。
【0042】
なお、情報処理装置40に、第1状態情報設定手段21と第2状態情報設定手段22とを(図2参照)、または(および)、第5記憶手段31(デフォルトプログラム34)と第6記憶手段32(第2状態情報35)と第2選択手段33とを(図3参照)追加してもよい。
【0043】
(情報処理装置の各種態様)
上述した本発明の実施形態に係る情報処理装置10ないし40のいずれかを、以下のように構成してもよい。
【0044】
すなわち、第1状態情報19は、第2プログラム17がその所定の処理を正常に実行しなかった回数を実質的に示す構成とする。さらに、第1選択手段15は、第1状態情報19が示す前記回数と参照数とを比較し、その結果に基づいて、第2プログラム17およびバックアッププログラム18のうちのいずれか一方を、第1プログラム16の命令に従って実行させるべきプログラムとして選択する構成とする。
【0045】
このような構成において、例えば、第1状態情報19の示す回数(正常に実行しなかった回数)が、参照数の示す数値(例えば予め設定された値)よりも大きいか否かを調べ、その結果を基準にして、第2プログラム17およびバックアッププログラム18のうちのいずれかを選択する。これにより、プログラムの選択をより正確にまたは実質的に行うことができる。
【0046】
一方、情報処理装置10ないし40のいずれかに、バックアッププログラムが選択されたことを実質的に示す告知情報を発する第1告知手段、またはデフォルトプログラムが選択されたことを実質的に示す告知情報を発する第2告知手段を追加してもよい。
【0047】
これにより、第2プログラム17がその処理を正常に実行しないという事実や、旧バージョンであるバックアッププログラム18またはデフォルトプログラム34が代替的に選択されたことを、ユーザに知らせることができる。
【0048】
なお、以上のような情報処理装置の実施形態は、専用の装置としてハードウェアと一体的に構成する形態で実現してもよいし、コンピュータにプログラムを読み込ませることによって実現してもよい。
【0049】
(情報処理方法の実施形態)
本発明の実施形態に係る情報処理方法について説明する。すなわち、本発明の実施形態に係る情報処理方法は、他のプログラムを実行させる命令を含む第1プログラムと、第1プログラムの命令に従って所定の処理を実行する第2プログラムと、第2プログラムのバックアッププログラムと、第2プログラムがその所定の処理を正常に実行しないことを実質的に示す第1状態情報とを取り扱うことが可能な装置において実行可能な情報処理方法である。そして、この情報処理方法は、第1プログラムが第2プログラムまたはバックアッププログラムを実行させるときまたは実行させたときに、第1状態情報を第1内容に設定または変更する第1状態情報設定工程と、第2プログラムまたはバックアッププログラムが正常に終了するときまたは終了したときに、第1状態情報を第2内容に設定または変更する第2状態情報設定工程と、第1プログラムが再び第2プログラムまたはバックアッププログラムを実行させるとき、第1状態情報に基づいて、第2プログラムおよびバックアッププログラムのうちのいずれか一方を選択する選択工程とを備えている。
【0050】
かかる情報処理方法によれば、第2プログラムがその所定の処理を正常に実行するときには、第2プログラムが選択され、第2プログラムがその所定の処理を正常に実行しないときには、バックアッププログラムが選択され、その後、選択されたいずれか一方のプログラムが、第1プログラムの命令に従って実行される。この結果、バックアッププログラムがその所定の処理を正常に実行することを前提とすれば、少なくとも第1プログラムの命令に従って実行されるプログラムは正常に動作する。これにより、情報処理動作に重大なトラブルが発生するのを回避することができる。
【0051】
【実施例】
以下、本発明の実施例を図面に基づいて説明する。以下の実施例は、本発明の情報処理装置をケーブルデジタルテレビ放送システムにおけるテレビ装置の一部を構成する情報処理装置として具現化した例である。
【0052】
(第1実施例)
本発明の第1実施例について図5ないし図14を参照して説明する。
【0053】
図5は、第1実施例に係る情報処理装置を示している。図5に示すように、第1実施例に係る情報処理装置100は、CPU110、ROM120、フラッシュROM130、RAM140、ネットワークデバイス150を備えており、これらはバス160を介して相互に接続されている。また、情報処理装置100は、ネットワークデバイス150を介して通信路としてのケーブルネットワーク回線170に接続されている。
【0054】
CPU110は、ブートローダ、オペレーティングシステム(以下、これを「OS」という。)、並びに情報処理およびテレビ映像・音声の再生を実現するための種々のアプリケーションソフトウェア等のプログラムを実行することによって、情報処理装置100を制御し、種々の処理を実現する。
【0055】
ROM120およびフラッシュROM130には、上述した各種プログラムおよびデータが格納されている。なお、ROM120は読取専用であるが、フラッシュROM130は情報の追記・書換が可能である。
【0056】
RAM140は、CPU110が種々の処理を行うときの作業領域として用いられる。
【0057】
ネットワークデバイス150は、ネットワーク回線170と情報処理装置100との間でデータないしプログラム等の情報を送受信するときに、両者間の接続を制御・確立するためのインタフェース回路である。
【0058】
次に、図6はROM120の内容を示している。図6に示すように、情報処理装置100の製造過程で、ROM120には、少なくとも、ブートローダプログラム121、デフォルトOSプログラム122、アドレス情報123が格納され、これらが書換不能な状態で保持されている。ブートローダプログラム121は、ROM120のアドレスA1から格納されている。デフォルトOSプログラム122は、ROM120のアドレスA2から格納されている。アドレス情報123は、ROM120のアドレスA3から格納されている。
【0059】
ブートローダプログラム121は、情報処理装置100の電源投入直後に、最初に実行されるプログラムであり、ROM120およびフラッシュROM130に格納された複数のOSプログラムのうちの1つを選択して実行させる命令を含んでいる。
【0060】
情報処理装置100は、ネットワーク回線170を通じてOSプログラムをダウンロードして、OSプログラムを更新する機能を備えている。OSプログラムを更新した場合には、それまで用いられていた更新前のOSプログラムはOSプログラムのバックアッププログラムとして保持される。さらに、情報処理装置100は、このバックアッププログラムの他に、デフォルトOSプログラム122を有している。以下、説明の便宜上、現在通常に(一次的に)使用されている又は更新されたことによりこれから通常に(一時的に)使用されることが予定されているOSプログラムを「カレントOSプログラム」と呼び、更新によってOSプログラムのバックアッププログラムとして保持されることとなったOSプログラムを「バックアップOSプログラム」と呼ぶ。
【0061】
ブートローダプログラム121は、通常は、カレントOSプログラムを選択して実行させる。しかし、そのカレントOSプログラムに不具合があり、正常に動作しないときには、次に、バックアップOSプログラムを選択して実行させる。しかし、バックアップOSプログラムも正常に動作しなとき、またはバックアップOSプログラムが存在しないときなどには、次に、デフォルトOSプログラム122を選択して実行させる。
【0062】
デフォルトOSプログラム122は、情報処理装置100の出荷当時からROM120内に保持されているOSプログラムである。なお、OSプログラムは、情報処理装置100の基本的な制御、情報の管理、アプリケーションソフトウェアプログラムとハードウェアとの結合等の処理を行うプログラムである。
【0063】
アドレス情報123は、ROM120におけるデフォルトOSプログラム122の格納場所、具体的には、デフォルトOSプログラム122の先頭アドレスA2の値である。デフォルトOSプログラム122が実行されるときには、アドレス情報123が参照される。
【0064】
次に、図7は情報処理装置100の出荷当時におけるフラッシュROM130の内容を示している。図7に示すように、出荷当時、フラッシュROM130には、OSプログラム131、アドレス情報134、状態フラグ138が格納され、書換可能な状態で保持されている。OSプログラム131は、フラッシュROM130のアドレスB1から格納されている。アドレス情報134は、フラッシュROM130のアドレスB11に格納されている。状態フラグ138は、フラッシュROM130のアドレスB21に格納されている。
【0065】
OSプログラム131は、情報処理装置100にプリインストールされたOSプログラムであり、デフォルトOSプログラム122と同じ内容のプログラムである。出荷当時においては、OSプログラム131はカレントOSプログラムに相当する。しかし、OSプログラムが更新された後には、OSプログラム131は、バックアップOSプログラムとなる。
【0066】
アドレス情報134は、OSプログラム131の格納場所、具体的には、OSプログラム131の先頭アドレスB1の値である。OSプログラム131が実行されるときには、アドレス情報134が参照される。OSプログラムが更新された後には、アドレス情報134はフラッシュROM130のアドレスB12に移される。
【0067】
状態フラグ138は、カレントOSプログラムがその所定の処理を正常に実行しないことを実質的に示すフラグである。例えば、状態フラグ138は、2値のデータであり、理論的には1ビットのデータにより実現することができる。より具体的には、カレントOSプログラムが正常に動作したときには、状態フラグ138は「1」にセットされる。
【0068】
次に、図8はOSプログラムの更新が行われた後におけるフラッシュROM130の内容を示している。図8に示すように、更新後のフラッシュROM130には、更新されたOSプログラム132が格納され、アドレス情報134はアドレスB12に移され、アドレスB11には、新たなアドレス情報135が格納されている。更新後においては、OSプログラム132がカレントOSプログラムに相当し、OSプログラム131はバックアップOSプログラムに相当する。
【0069】
アドレスB11に格納されたアドレス情報135は、OSプログラム132の格納場所、具体的には、OSプログラム132の先頭アドレスB2の値である。OSプログラム132が実行されるときには、アドレス情報135が参照される。なお、カレントOSプログラムを実行すべきときには、アドレスB11に格納されたアドレス情報を参照し、バックアップOSプログラムを実行すべきときには、アドレスB12に格納されたアドレス情報を参照し、デフォルトOSプログラムを実行すべきときには、ROM120のアドレスA3に格納されたアドレス情報が参照するように、ブートローダプログラムが組まれている。
【0070】
次に、図9はブートローダプログラム121が実行されたときのCPU110の動作を示している。ブートローダプログラム121は、上述したように、情報処理装置100の電源投入直後に、最初に実行され、ROM120およびフラッシュROM130に格納された複数のOSプログラムのうちの1つを選択して実行させる機能を有するが、この機能は、例えば、図9に示すステップの流れにより実現される。
【0071】
すなわち、情報処理装置100の電源が投入されると、CPU110は、ROM120のアドレスA1からブートローダプログラム121の実行を開始する(ステップS11)。以下、CPU110はブートローダプログラム121の命令シーケンスに従って動作する。
【0072】
CPU110は、まず、状態フラグ138が「1」か否かを判定する(ステップS12)。OSプログラムが正常に動作するときには、状態フラグ138が「1」にセットされている。なお、状態フラグ138がどのようにして「1」にセットされるかについては後述する。
【0073】
状態フラグ138が「1」のときには(ステップS12:YES)、CPU110は、状態フラグ138を「0」にセットする(ステップS13)。
【0074】
CPU110は、続いて、フラッシュROM130のアドレスB11に格納されたアドレス情報を参照し、その値をレジスタに格納する(ステップS14)。フラッシュROM130のアドレスB11に格納されたアドレス情報は、カレントOSプログラムの先頭アドレスの値である。したがって、ステップS14では、カレントOSプログラムの先頭アドレスの値がレジスタにセットされる。なお、レジスタは、CPU110に内蔵されたものを用いてもよいし、RAM140の記憶領域を用いてもよい。
【0075】
CPU110は、次に、レジスタに格納された値に対応するアドレスからOSプログラムを実行させる(ステップS15)。ステップS14でレジスタにセットされた値は、カレントOSプログラムの先頭アドレスであるから、カレントOSプログラムが実行される(ステップS16)。
【0076】
より具体的に説明すると、出荷時には、図7に示すように、カレントOSプログラムはOSプログラム131であり、フラッシュROM130のアドレスB11には、OSプログラム131の先頭アドレスの値であるアドレス情報134が格納されている。したがって、ステップS14およびS15の処理を経た結果、ステップS16では、OSプログラム131が実行される。
【0077】
一方、OSプログラムが更新された後では、図8に示すように、カレントOSプログラムはOSプログラム132であり、フラッシュROM130のアドレスB11には、OSプログラム132の先頭アドレスの値であるアドレス情報135が格納されている。したがって、ステップS14およびS15の処理を経た結果、ステップS16では、OSプログラム132が実行される。
【0078】
さて、図9中のステップS12で、状態フラグ138が「1」でないときには(ステップS12:NO)、カレントOSプログラムが正常に動作しないことが推測される(詳しくは後述する)。この場合には、CPU110は、続いて、フラッシュROM130のアドレスB12のアドレス情報が有効か否かを判定する(ステップS17)。正常に動作するバックアップOSプログラムがフラッシュROM130内に存在するときには、アドレスB12には、そのバックアップOSプログラムの先頭アドレスの値がアドレス情報として格納されている。この場合には、ステップS17で有効と判定される。一方、出荷時には、フラッシュROM130内にバックアップOSプログラムが存在しないが、このときには、アドレスB12には、その旨を示す情報(例えばNULL)が格納されている。この場合には、ステップS17で無効と判定される。その他、バックアップOSプログラムがフラッシュROM130内に存在するものの、それが正常に動作しない等の特別な事情があるときには、アドレスB12には、通常のアドレス値の範囲を外れた特別な値が格納されている。この場合にも、ステップS17で無効と判定される。
【0079】
アドレスB12のアドレス情報が有効であるときには(ステップS17:YES)、CPU110は、アドレスB12に格納されたアドレス情報を参照し、その値をレジスタに格納する(ステップS18)。フラッシュROM130のアドレスB12に格納されたアドレス情報は、バックアップOSプログラムの先頭アドレスの値である。したがって、ステップS18では、バックアップOSプログラムの先頭アドレスの値がレジスタにセットされる。
【0080】
CPU110は、続いて告知情報を発する(ステップS19)。図14は告知情報の一例を示している。これにより、ユーザは、カレントOSプログラムが実行されないことを知ることができる。
【0081】
CPU110は、続いて、レジスタに格納された値に対応するアドレスからOSプログラムを実行させる(ステップS15)。ステップS18でレジスタにセットされた値は、バックアップOSプログラムの先頭アドレスであるから、バックアップOSプログラムが実行される(ステップS16)。
【0082】
より具体的に説明すると、OSプログラムが更新された後では、図8に示すように、OSプログラム131がバックアップOSプログラムに相当する。そして、フラッシュROM130のアドレスB12には、OSプログラム131の先頭アドレスの値であるアドレス情報134が格納されている。したがって、ステップS18およびS15の処理を経てステップS16では、OSプログラム131が実行される。
【0083】
一方、図9中のステップS17で、アドレスB12のアドレス情報が有効でないときには(ステップS17:NO)、CPU110は、ROM120のアドレスA3に格納されたアドレス情報を参照し、その値をレジスタに格納する(ステップS20)。ROM120のアドレスA3に格納されたアドレス情報は、デフォルトOSプログラム121の先頭アドレスA2である。したがって、ステップS20では、デフォルトOSプログラム122の先頭アドレスA2がレジスタにセットされる。
【0084】
CPU110は、続いて、図14に示すような告知情報を発し(ステップS19)、レジスタに格納された値に対応するアドレスからOSプログラムを実行させる(ステップS15)。この結果、デフォルトOSプログラム122が実行される(ステップS16)。
【0085】
次に、図10はOSプログラム131、132、122のいずれかが選択され、実行されたときのCPU110の動作を示している。なお、OSプログラム131、132、122は、いずれも、その基本的な目的・構成は同じであるが、細部の機能は異なる場合がある。例えば、更新されたOSプログラムは、プリインストールされたOSプログラムやデフォルトOSプログラムにはない機能が付加されている場合がある。しかし、OSプログラム131、132、122は、いずれも、少なくとも図10に示すステップS21〜S29の処理を実現する命令シーケンスを含んでいる。
【0086】
ブートローダプログラム121の実行により、OSプログラム131、132、122のいずれか1つが選択され、その実行が開始されたとき(図9中のステップS15およびS16)、まず、CPU110は、図10に示すように、OSプログラムの終了指示が入力されたか否かを判定する(ステップS21)。OSプログラムの終了指示は、例えば、ユーザが情報処理装置100の電源を切るときなどに入力される。
【0087】
終了指示が入力されていないときには(ステップS21:NO)、CPU110は、続いて、更新指示が入力されたか否かを判定する(ステップS22)。例えば、ユーザがネットワーク回線170を介して放送局またはテレビ放送システムの管理会社等のサーバにアクセスして、新しいOSプログラムを情報処理装置100にダウンロードするときには、更新指示が入力される。
【0088】
更新指示が入力されていないときには(ステップS22:NO)、CPU110は、OSプログラムの命令シーケンスに従って、その他の処理を実行する(ステップS30)。
【0089】
一方、更新指示が入力されたときには(ステップS22:YES)、CPU110は、OSプログラムの命令シーケンスに従って、ステップS23ないしS28の更新処理を実行する。
【0090】
すなわち、まず、ネットワークデバイス150により情報処理装置100とネットワーク回線170との間の接続を確立し(ステップS23)、フラッシュROM130において新しいOSプログラムを格納する位置を決定し、そのアドレス(以下、これを「新OSプログラムアドレス」という。)をレジスタに格納する(ステップS24)。続いて、ネットワーク回線170を介して新しいOSプログラムのダウンロードを開始し、そのOSプログラムをフラッシュROM130の新OSプログラムアドレスから格納していく(ステップS25)。格納が終了したら(ステップS26:YES)、フラッシュROM130のアドレスB11に格納されたアドレス情報をアドレスB12に移す(ステップS27)。続いて、レジスタに格納された新OSプログラムアドレスをアドレスB11に格納する(ステップS28)。
【0091】
ここで、この更新処理の流れを、図7および図8を用いて具体的に説明する、図7に示すように、情報処理装置100の出荷時には、OSプログラム131のみがフラッシュROM130にプリインストールされており、アドレスB11には、OSプログラム131の先頭アドレスを示すアドレス情報134が格納されている。この状態で、新しいOSプログラム132をダウンロードすることによってOSプログラムを更新するときには、図8に示すように、新しいOSプログラム132を格納する位置として、フラッシュROM131のアドレスB2がレジスタに格納され、続いて、ネットワーク回線170を介して新しいOSプログラム132のダウンロードが開始され、そのOSプログラム132がフラッシュROM130のアドレスB2から書き込まれていく。格納が終了したら、アドレスB11に格納されたアドレス情報134がアドレスB12に移され、レジスタに格納されたアドレスB2の値がアドレス情報135としてアドレスB11に格納される。
【0092】
このような更新処理が終了すると、図10に示すように、CPU110は、状態フラグ138を「1」にセットし(ステップS29)、現在実行中のOSプログラムの実行を終了させる。
【0093】
一方、更新指示が入力されることなく、終了指示が入力されたときには(ステップS21:YES)、CPU110は、状態フラグ138を「1」にセットし(ステップS29)、現在実行中のOSプログラムの実行を終了させる。
【0094】
次に、図11ないし図13は、ブートローダプログラム121およびOSプログラムが実行されたときの、状態フラグ138の状態変化を示すタイミングチャートである。例えば、カレントOSプログラムが常時正常に動作する場合には、状態フラグ138は図11に示すように変化する。すなわち、前回、OSプログラムが正常に実行され、かつ正常に終了したときには、状態フラグ138はそのOSプログラムの終了時によって「1」にセットされている。そのため、ブートローダプログラム121が実行された時点で、状態フラグ138は「1」である(時点t11)。この結果、ブートローダプログラム121によりカレントOSプログラムが選択される。続いて、ブートローダプログラム121により状態フラグ138が「0」にセットされた後(時点t12)、ブートローダプログラム121によりカレントOSプログラムの実行が開始される(時点t13)。そして、カレントOSプログラムの実行が正常に終了するとき、カレントOSプログラムにより状態フラグ138が「1」にセットされ(時点t14)、カレントOSプログラムの終了後もその状態が保持される(時点t15)。
【0095】
一方、例えば、前回はカレントOSプログラムが正常に動作したが、今回はカレントOSプログラムが正常に動作しなかった場合には、状態フラグ138は図12に示すように変化する。前回はカレントOSプログラムが正常に動作したが、今回はカレントOSプログラムが正常に動作しなかった場合とは、例えば、前回のカレントOSプログラム実行中にOSプログラムを更新し、更新は成功したものの、更新後の新しいOSプログラム中に欠陥があった場合などが考えられる。このような場合には、前回、OSプログラムが正常に終了しているので、状態フラグ138は「1」にセットされている(時点t21)。この結果、ブートローダプログラム121によりカレントOSプログラムが選択される。続いて、ブートローダプログラム121により状態フラグ138が「0」にセットされた後(時点t22)、ブートローダプログラム121によりカレントOSプログラムの実行が開始される(時点t23)。ところが、その後、カレントOSプログラムは、そのプログラムの欠陥等により正常に動作せず、終了指示が入力されたにもかかわらず、カレントOSプログラムが終了しない。このような場合には、図10中のステップS29の処理が実行されないので、状態フラグ138は「0」のままである。ユーザがやむを得ず情報処理装置100の電源を切ったとしても、状態フラグ138は「0」のままである(時点t24)。
【0096】
また、カレントOSプログラムの実行中(t23ないしt24)に、OSプログラムの更新処理(図10中のステップS22ないしS28)を実行したところ、更新処理途中にトラブルが生じ、現在実行中のカレントOSプログラムが正常に終了しなくなった場合も、同様に、状態フラグ138は「0」のままである。
【0097】
他方、例えば、前回はカレントOSプログラムが正常に動作しなかったが、今回はカレントOSプログラムが正常に動作した場合には、状態フラグ138は図13に示すように変化する。前回はカレントOSプログラムが正常に動作しなかったが、今回はカレントOSプログラムが正常に動作した場合とは、前回、バックアップOSプログラムまたはデフォルトOSプログラム上でOSプログラムを再更新した結果、欠陥のないOSプログラムの更新に成功した場合などが考えられる。このような場合には、前回、OSプログラムが正常に終了していないので、状態フラグ138は「0」になっている(時点t31)。この結果、ブートローダプログラム121によりバックアップOSプログラムまたはデフォルトOSプログラムが選択され、その実行が開始される(時点t32)。そして、バックアップOSプログラムまたはデフォルトOSプログラムの実行が正常に終了するとき、現在実行中のOSプログラムにより状態フラグ138が「1」にセットされ(時点t33)、そのまま保持される(時点t34)。
【0098】
以上詳述したとおり、情報処理装置100によれば、カレントOSプログラムが正常に動作するときには、それが選択・実行される。また、カレントOSプログラムが正常に動作しないときには、バックアップOSプログラムが選択・実行される。一方、カレントOSプログラムもバックアップOSプログラムも正常に動作しないときには、デフォルトOSプログラムが選択・実行される。このように、OSプログラムのいずれかが正常に動作しなくても、それに代わるOSプログラムが正常に実行されるので、情報処理装置100が全く動作しなくなったり、その機能の大半が損なわれるといった事態を回避することができる。
【0099】
また、カレントOSプログラムの代替プログラムとして、バックアップOSプログラムとデフォルトOSプログラムを用意したことにより、カレントOSプログラムの不調から情報処理装置100を柔軟かつ確実に救済することができる。例えば、バックアップOSプログラムは、カレントOSプログラムの更新前のプログラムであるから、OSプログラムが更新される度に優れた機能を備えるようになるとすれば、バックアップOSプログラムは、デフォルトOSプログラムと比較して、より優れた機能を備えているであろう。これに対し、デフォルトOSプログラムは、出荷時のOSプログラムであるから、基本的な機能しか備えていないかもしれないが、信頼性が非常に高く、必ず正常に動作する。このような性質の異なる2つのOSプログラムを用意しておくことは、緊急時の救済を図るときに有利である。
【0100】
また、状態フラグ138に基づいて、正常動作が可能なOSプログラムを選択することとしたから、選択動作を容易かつ迅速に実現することができる。
【0101】
さらに、OSプログラムの終了時に状態フラグ138を一定の状態(例えば「1」)にセットし、状態フラグ138がその一定の状態にセットされていることに基づいて、前回のOSプログラムの実行が正常であったか否かを判定することとしたから、正常動作が可能なOSプログラムを精度よく識別することができる。
【0102】
なお、図8では、フラッシュROM130に2つのOSプログラムを格納し、一方をカレントOSプログラムとし、他方をバックアップOSプログラムとする場合を例に挙げたが、本発明はこれに限らず、3つ以上のOSプログラムをフラッシュROM130に格納し、そのうち1つをカレントOSプログラムとし、残りの複数のOSプログラムをそれぞれバックアップOSプログラムとしてもよい。例えば、OSプログラムが更新されるたびに、前回、前々回、さらにはその前に使用していたOSプログラムをすべてバックアップOSプログラムとして保持しておき、OSプログラムの実行時にカレントOSプログラムが正常に動作しないときには、ブートローダプログラムによって複数のバックアップOSプログラムの中の1つを選択して実行させる構成としてもよい。
【0103】
また、図9に示すブートローダプログラム121では、ステップS19で告知情報を発する構成としたが、これに加え、このステップS19で、処理を待機状態にし、ユーザにバックアップOSプログラムを実行することの許可を求め、ユーザからの許可入力があったときにはバックアップOSプログラムを実行し、禁止入力があったときにはバックアップOSプログラムを実行せずに、直ちに処理を終了する構成としてもよい。
【0104】
(第2実施例)
本発明の第2実施例について図15ないし図19を参照して説明する。なお、以下に述べる第2実施例において、第1実施例と同一の構成要素には同一の符号を付し、その説明を省略する。第2実施例に係る情報処理装置の特徴は、状態フラグに代えて、状態カウンタおよび成功カウンタを設け、これら2つのカウンタ値により、OSプログラムが正常に動作しなかった回数を認識し、これに基づいてOSプログラムの選択を行う点にある。
【0105】
図15は第2実施例に係る情報処理装置に設けられたフラッシュROM210の内容を示している。図15に示すフラッシュROM210の内容は、出荷時からOSプログラムの更新を1回行った後のものである。したがって、カレントOSプログラムとしてOSプログラム132と、バックアップOSプログラムとしてOSプログラム131がそれぞれ格納されている。そして、OSプログラム132の先頭アドレスがアドレス情報135として格納され、OSプログラム131の先頭アドレスがアドレス情報134として格納されている。これらの点については、第1実施例に係る情報処理装置100のフラッシュROM130の内容と同じであるが(図8参照)、第2実施例に係る情報処理装置のフラッシュROM210には、状態カウンタ211、成功カウンタ212および許容差分値213が格納されている。
【0106】
状態カウンタ211および成功カウンタ212は、いずれもCPU110の制御によりそのカウンタ値が増加・減少し、または所定の値にセットされる。より具体的には、状態カウンタ211は、カレントOSプログラムの実行回数をカウントする。成功カウンタ212は、OSプログラムが正常に終了した回数をカウントする。OSプログラムの更新処理が正常に終了したときには、状態カウンタ211および成功カウンタ212はそれぞれ0にリセットされる。なお、出荷時には、状態カウンタ211および成功カウンタ212はそれぞれ同じ値にセットされている。
【0107】
許容差分値213は、予め設定された固定値である。なお、許容差分値213をユーザの入力操作または他のプログラムの命令により変更できる構成としてもよい。
【0108】
次に、図16は第2実施例に係る情報処理装置におけるブートローダプログラムが実行されたときのCPU110の動作を示している。
【0109】
図16に示すように、情報処理装置の電源が投入されると、CPU110は、ROM120のアドレスA1からブートローダプログラム121の実行を開始する(ステップS41)。
【0110】
CPU110は、まず、状態カウンタ211のカウンタ値と成功カウンタ212のカウンタ値との差を演算し(ステップS42)、両カウンタ値の差が許容差分値213よりも小さいか否かを判定する(ステップS43)。両カウンタ値の差が許容差分値213よりも小さいときには、カレントOSプログラムが更新されてから常時正常に動作しているか、または正常に動作しなかった回数が比較的少ないことが推測される。
【0111】
そこで、両カウンタ値の差が許容差分値213よりも小さいときには(ステップS43:YES)、CPU110は、状態カウンタ211のカウンタ値を1増加させた後(ステップS44)、カレントOSプログラムを選択・実行させる(ステップS45ないしS47)。
【0112】
一方、両カウンタ値の差が許容差分値213と等しいかまたはそれより大きいときには(ステップS43:NO)、CPU110は、状態カウンタ211のカウンタ値を1増加させた後(ステップS48)、バックアップOSプログラムまたはデフォルトOSプログラムを選択・実行させる(ステップS46、S47、S49ないしS52)。
【0113】
次に、図17は第2実施例に係る情報処理装置におけるOSプログラムが実行されたときのCPU110の動作を示している。
【0114】
第2実施例に係る情報処理装置におけるOSプログラムが実行されたときのCPU110の動作は、その大半が第1実施例に係る情報処理装置100におけるCPU110の動作と共通する。異なる点は、更新処理(ステップS63ないしS68)が終了した後に、状態カウンタ211と成功カウンタ212のカウンタ値をそれぞれ0にリセットする点と(ステップS69)、終了指示が入力されたときに(ステップS61:YES)、成功カウンタ212のカウンタ値を1増加させる点である(ステップS70)。
【0115】
次に、図18および図19は、第2実施例に係るブートローダプログラムおよびOSプログラムが実行されたときの、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値の変化を示すタイミングチャートである。なお、図18および図19の各チャートにおいて、破線C1は、状態カウンタ211のカウンタ値の変化を示し、実線C2は、成功カウンタ212のカウンタ値の変化を示す。
【0116】
例えば、OSプログラムが更新され、その更新されたOSプログラムが、正常に動作した場合には、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は、図18に示すように変化する。すなわち、OSプログラムが更新されると、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は0にリセットされる(図17中のステップS69)。したがって、その後、再度、ブートローダプログラムを実行するときには、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は0になっている(時点t41)。この結果、状態カウンタ211のカウンタ値と成功カウンタ212のカウンタ値との差は0であり、許容差分値213(例えば3)よりも小さいので、ブートローダプログラムによりカレントOSプログラム(すなわち更新されたOSプログラム)が選択される。続いて、ブートローダプログラムにより状態カウンタ211のカウンタ値が1増加された後(時点t42)、ブートローダプログラムによりカレントOSプログラムの実行が開始される(時点t43)。そして、カレントOSプログラムの実行が正常に終了するとき、カレントOSプログラムにより成功カウンタ212のカウンタ値が1増加される(時点t44)。この結果、カレントOSプログラムが終了した時点で、状態カウンタ211と成功カウンタ212とのそれぞれのカウンタ値が同一値となり、カレントOSプログラムの終了後もその状態が保持される(時点t45)。このように、カレントOSプログラムが正常に動作する場合には、状態カウンタ212と成功カウンタ212とのそれぞれのカウンタ値の差は変化しない。
【0117】
一方、OSプログラムが更新され、その更新されたOSプログラムが、正常に動作しなかった場合には、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は、図19に示すように変化する。すなわち、OSプログラムが更新されると、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は0にリセットされる(図17中のステップS69)。したがって、その後、再度、ブートローダプログラムを実行するときには、状態カウンタ211および成功カウンタ212のそれぞれのカウンタ値は0になっている(時点t51)。この結果、状態カウンタ211のカウンタ値と成功カウンタ212のカウンタ値との差は0であり、許容差分値213よりも小さいので、ブートローダプログラムによりカレントOSプログラム(すなわち更新されたOSプログラム)が選択される。続いて、ブートローダプログラムにより状態カウンタ211のカウンタ値が1増加された後(時点t52)、ブートローダプログラムによりカレントOSプログラムの実行が開始される(時点t53)。ところが、カレントOSプログラムが正常に動作せず、そのため、カレントOSプログラムが正常に終了しない。このような場合には、図17中のステップS70の処理が実行されないので、成功カウンタ212のカウンタ値は変化せず、この例の場合、カウンタ値は0のままとなる。この結果、状態カウンタ211のカウンタ値と成功カウンタ212のカウンタ値との差が1になる(時点t54)。
【0118】
以降、ユーザが情報処理装置の電源を入れ直して、再度ブートローダプログラムを実行させたにもかかわらず、カレントOSプログラムが正常に動作せず、このような状態が数回繰り返されると、図19中の時点t55、t56に示すように、状態カウンタ211のカウンタ値のみが増加し、状態カウンタ211のカウンタ値と成功カウンタ212のカウンタ値との差が徐々に大きくなる。そして、この差が許容差分値213を超えると、ブートローダプログラムにより、カレントOSプログラムの代わりにバックアップOSプログラムまたはデフォルトOSプログラムが選択され、実行されるようになる(図16中のステップS43、S48、S49、S51参照)。
【0119】
このような構成を有する第2実施例に係る情報処理装置によっても、OSプログラムのいずれかが正常に動作しなくても、それに代わるOSプログラムを実行させることで、情報処理装置が全く動作しなくなったり、その機能の大半が損なわれるといった事態を回避することができる。
【0120】
特に、本実施例によれば、カレントOSプログラムが正常に終了しない回数をカウントして、その回数が所定回数に達したときに、カレントOSプログラムに代わるバックアップOSプログラムまたはデフォルトOSプログラムを実行させることとしたから、カレントOSプログラムが偶然に正常終了しなかった場合などには、カレントOSプログラムの実行を再度試みることができる。したがって、カレントOSプログラムの更新により生じうる不具合を実質的に判断することができ、OSプログラムの選択・管理・更新に関する性能を高めることができる。
【0121】
なお、本発明は、請求の範囲および明細書全体から読み取るこのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う情報処理装置および情報処理方法並びにこれらの機能を実現するコンピュータプログラムもまた本発明の技術思想に含まれる。
【図面の簡単な説明】
【図1】本発明の第1実施形態に係る情報処理装置を示すブロック図である。
【図2】本発明の第2実施形態に係る情報処理装置を示すブロック図である。
【図3】本発明の第3実施形態に係る情報処理装置を示すブロック図である。
【図4】本発明の第4実施形態に係る情報処理装置を示すブロック図である。
【図5】本発明の第1実施例に係る情報処理装置を示すブロック図である。
【図6】本発明の第1実施例に係る情報処理装置におけるROMの内容を示す説明図である。
【図7】本発明の第1実施例に係る情報処理装置におけるフラッシュROMの出荷時における内容を示す説明図である。
【図8】本発明の第1実施例に係る情報処理装置におけるフラッシュROMの更新後における内容を示す説明図である。
【図9】本発明の第1実施例に係る情報処理装置におけるブートローダプログラムの動作を示すフローチャートである。
【図10】本発明の第1実施例に係る情報処理装置におけるオペレーティングシステムプログラムの動作を示すフローチャートである。
【図11】本発明の第1実施例に係る情報処理装置における状態フラグの状態を示すタイミングチャートである。
【図12】本発明の第1実施例に係る情報処理装置における状態フラグの状態を示すタイミングチャートである。
【図13】本発明の第1実施例に係る情報処理装置における状態フラグの状態を示すタイミングチャートである。
【図14】本発明の第1実施例に係る情報処理装置における告知情報の具体例を示す説明図である。
【図15】本発明の第2実施例に係る情報処理装置におけるフラッシュROMの内容を示す説明図である。
【図16】本発明の第2実施例に係る情報処理装置におけるブートローダプログラムの動作を示すフローチャートである。
【図17】本発明の第2実施例に係る情報処理装置におけるオペレーティングシステムプログラムの動作を示すフローチャートである。
【図18】本発明の第2実施例に係る情報処理装置における状態カウンタおよび成功カウンタのそれぞれのカウンタ値を示すタイミングチャートである。
【図19】本発明の第2実施例に係る情報処理装置における状態カウンタおよび成功カウンタのそれぞれのカウンタ値を示すタイミングチャートである。
【符号の説明】
10、20、30、40、100…情報処理装置
11…第1記憶手段
12…第2記憶手段
13…第3記憶手段
14…第4記憶手段
15…第1選択手段
16…第1プログラム
17…第2プログラム
18…バックアッププログラム
19…第1状態情報
21…第1状態情報設定手段
22…第2状態情報設定手段
31…第5記憶手段
32…第6記憶手段
33…第2選択手段
34…デフォルトプログラム
35…第2状態情報
41…更新手段
42…バックアップ手段
110…CPU
120…ROM
121…ブートローダプログラム
122…デフォルトOSプログラム
130、210…フラッシュROM
131、132…OSプログラム
138…状態フラグ
150…ネットワークデバイス
170…ネットワーク回線(情報通信路)
211…状態カウンタ
212…成功カウンタ
213…許容差分値

Claims (17)

  1. 他のプログラムを実行させる命令を含む第1プログラムを格納する第1記憶手段と、
    前記第1プログラムの前記命令に従って所定の処理を実行する第2プログラムを格納する第2記憶手段と、
    前記第2プログラムのバックアッププログラムを格納する第3記憶手段と、
    前記第2プログラムがその所定の処理を正常に実行しないことを実質的に示す第1状態情報を格納する第4記憶手段と、
    前記第1状態情報に基づいて、前記第2プログラムおよび前記バックアッププログラムのうちのいずれか一方を、前記第1プログラムの前記命令に従って実行させるべきプログラムとして選択する第1選択手段と
    を備えたことを特徴とする情報処理装置。
  2. 前記第1選択手段は、前記第1プログラムに含まれる命令によって実現されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1プログラムが前記第2プログラムまたは前記バックアッププログラムを実行させるときまたは実行させたときに、前記第1状態情報を第1内容に設定または変更する第1状態情報設定手段と、
    前記第2プログラムまたは前記バックアッププログラムが正常に終了するときまたは終了したときに、前記第1状態情報を第2内容に設定または変更する第2状態情報設定手段と
    を備えたことを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第1状態情報設定手段は、前記第1プログラムに含まれる命令によって実現されることを特徴とする請求項3に記載の情報処理装置。
  5. 前記第2状態情報設定手段は、前記第2プログラムまたは前記バックアッププログラムに含まれる命令により実現されることを特徴とする請求項3に記載の情報処理装置。
  6. 前記第2プログラムのデフォルトプログラムを格納する第5記憶手段と、
    前記バックアッププログラムがその所定の処理を正常に実行しないことを実質的に示す第2状態情報を格納する第6記憶手段と、
    前記第2状態情報に基づいて、前記バックアッププログラムおよび前記デフォルトプログラムのうちのいずれか一方を、前記第1プログラムの前記命令に従って実行させるべきプログラムとして選択する第2選択手段と
    を備えたことを特徴とする請求項1ないし5のいずれかに記載の情報処理装置。
  7. 前記第2選択手段は、前記第1プログラムに含まれる命令によって実現されることを特徴とする請求項6に記載の情報処理装置。
  8. 前記第2プログラムを更新する更新手段と、
    前記更新手段により更新される前の前記第2プログラムを前記バックアッププログラムとして前記第3記憶手段に格納するバックアップ手段と
    を備えたことを特徴とする請求項1ないし7のいずれかに記載の情報処理装置。
  9. 前記更新手段は、情報通信路を介して供給される新しい第2プログラムを受信し、この新しい第2プログラムを既存の第2プログラムと置き換えることを特徴とする請求項8に記載の情報処理装置。
  10. 前記第1状態情報は、前記第2プログラムがその所定の処理を正常に実行しなかった回数を実質的に示し、
    前記第1選択手段は、前記第1状態情報が示す前記回数と参照数とを比較し、その結果に基づいて、前記第2プログラムおよび前記バックアッププログラムのうちのいずれか一方を、前記第1プログラムの前記命令に従って実行させるべきプログラムとして選択することを特徴とする請求項1または2に記載の情報処理装置。
  11. 前記バックアッププログラムが選択されたことを実質的に示す告知情報を発する第1告知手段を備えたことを特徴とする請求項1ないし10のいずれかに記載の情報処理装置。
  12. 前記デフォルトプログラムが選択されたことを実質的に示す告知情報を発する第2告知手段を備えたことを特徴とする請求項6に記載の情報処理装置。
  13. 前記第1状態情報はフラグであることを特徴とする請求項1ないし12のいずれかに記載の情報処理装置。
  14. 前記第1プログラムは、ブートローダのプログラムを含むことを特徴とする請求項1ないし13のいずれかに記載の情報処理装置。
  15. 前記第2プログラムは、オペレーティングシステムのプログラムを含むことを特徴とする請求項1ないし14のいずれかに記載の情報処理装置。
  16. コンピュータを請求項1ないし15のいずれかに記載の情報処理装置として機能させることを特徴とするコンピュータプログラム。
  17. 他のプログラムを実行させる命令を含む第1プログラムと、前記第1プログラムの前記命令に従って所定の処理を実行する第2プログラムと、前記第2プログラムのバックアッププログラムと、前記第2プログラムがその所定の処理を正常に実行しないことを実質的に示す第1状態情報とを取り扱うことが可能な装置において実行可能な情報処理方法であって、
    前記第1プログラムが前記第2プログラムまたは前記バックアッププログラムを実行させるときまたは実行させたときに、前記第1状態情報を第1内容に設定または変更する第1状態情報設定工程と、
    前記第2プログラムまたは前記バックアッププログラムが正常に終了するときまたは終了したときに、前記第1状態情報を第2内容に設定または変更する第2状態情報設定工程と、
    前記第1プログラムが再び前記第2プログラムまたは前記バックアッププログラムを実行させるとき、前記第1状態情報に基づいて、前記第2プログラムおよび前記バックアッププログラムのうちのいずれか一方を選択する選択工程と、
    を備えたことを特徴とする情報処理方法。
JP2003012233A 2003-01-21 2003-01-21 情報処理装置および情報処理方法 Abandoned JP2004227143A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003012233A JP2004227143A (ja) 2003-01-21 2003-01-21 情報処理装置および情報処理方法
US10/760,365 US7219261B2 (en) 2003-01-21 2004-01-21 Information processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003012233A JP2004227143A (ja) 2003-01-21 2003-01-21 情報処理装置および情報処理方法

Publications (1)

Publication Number Publication Date
JP2004227143A true JP2004227143A (ja) 2004-08-12

Family

ID=32866190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003012233A Abandoned JP2004227143A (ja) 2003-01-21 2003-01-21 情報処理装置および情報処理方法

Country Status (2)

Country Link
US (1) US7219261B2 (ja)
JP (1) JP2004227143A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005099250A1 (ja) * 2004-04-06 2005-10-20 Matsushita Electric Industrial Co., Ltd. プログラム実行装置
JP2006215905A (ja) * 2005-02-04 2006-08-17 Fujitsu Ltd コンピュータの停止状況監視方法、情報処理装置及びプログラム
JP2009530694A (ja) * 2006-03-01 2009-08-27 アクシス アクチボラグ 複数の装置をアップデートする方法及びシステム
JP2012521053A (ja) * 2009-03-16 2012-09-10 タイコ エレクトロニクス サブシー コミュニケーションズ エルエルシー 遠隔装置アプリケーション更新のためのシステムおよび方法
JP2015069403A (ja) * 2013-09-30 2015-04-13 クラリオン株式会社 プログラム実行制御システム
CN109614126A (zh) * 2018-10-23 2019-04-12 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050160474A1 (en) * 2004-01-15 2005-07-21 Fujitsu Limited Information processing device and program
JP4706220B2 (ja) 2004-09-29 2011-06-22 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
CN100341257C (zh) * 2004-12-15 2007-10-03 华为技术有限公司 倒换单板加载中的主备倒换实现方法
WO2006082988A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for facilitating a secure processor functional transition
WO2006082994A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for facilitating a secure session between a processor and an external device
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US7391237B2 (en) * 2005-04-29 2008-06-24 O2 Micro International Limited Robust and economic solution for FPGA bitfile upgrade
TW200721008A (en) * 2005-11-23 2007-06-01 Inventec Corp Method and system for switching between embedded operating systems of computer platform
US20070226536A1 (en) * 2006-02-06 2007-09-27 Crawford Timothy J Apparatus, system, and method for information validation in a heirarchical structure
US7463935B1 (en) * 2006-03-09 2008-12-09 Rockwell Automation Technologies, Inc. Message queuing in an industrial environment
US7650489B2 (en) * 2006-03-23 2010-01-19 Intel Corporation Determining coherency between a non-volatile memory and a system
US7975084B1 (en) * 2008-02-06 2011-07-05 American Megatrends, Inc. Configuring a host computer using a service processor
US7818622B2 (en) * 2008-04-29 2010-10-19 International Business Machines Corporation Method for recovering data processing system failures
EP2136581A1 (en) * 2008-06-16 2009-12-23 Koninklijke KPN N.V. Protecting a mobile device against a denial of service attack
US8103906B1 (en) * 2010-10-01 2012-01-24 Massoud Alibakhsh System and method for providing total real-time redundancy for a plurality of client-server systems
JP6881480B2 (ja) * 2019-01-28 2021-06-02 株式会社安川電機 産業機器管理システム、産業機器管理方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851073B1 (en) * 1999-07-26 2005-02-01 Microsoft Corporation Extensible system recovery architecture
US6931522B1 (en) * 1999-11-30 2005-08-16 Microsoft Corporation Method for a computer using the system image on one of the partitions to boot itself to a known state in the event of a failure
US6611902B2 (en) * 2000-11-13 2003-08-26 Matsushita Electric Industrial Co., Ltd. Information processor and information processing method
US7130905B2 (en) * 2002-01-10 2006-10-31 Sun Microsystems, Inc. System and method for coordinating access to data for a distributed application
US7032071B2 (en) * 2002-05-21 2006-04-18 Sun Microsystems, Inc. Method, system, and program for using buffers to provide property value information for a device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005099250A1 (ja) * 2004-04-06 2005-10-20 Matsushita Electric Industrial Co., Ltd. プログラム実行装置
US8037456B2 (en) 2004-04-06 2011-10-11 Panasonic Corporation Program execution device
JP2006215905A (ja) * 2005-02-04 2006-08-17 Fujitsu Ltd コンピュータの停止状況監視方法、情報処理装置及びプログラム
JP4681900B2 (ja) * 2005-02-04 2011-05-11 富士通株式会社 コンピュータの停止状況監視方法、情報処理装置及びプログラム
JP2009530694A (ja) * 2006-03-01 2009-08-27 アクシス アクチボラグ 複数の装置をアップデートする方法及びシステム
JP2012521053A (ja) * 2009-03-16 2012-09-10 タイコ エレクトロニクス サブシー コミュニケーションズ エルエルシー 遠隔装置アプリケーション更新のためのシステムおよび方法
JP2015069403A (ja) * 2013-09-30 2015-04-13 クラリオン株式会社 プログラム実行制御システム
CN109614126A (zh) * 2018-10-23 2019-04-12 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置
CN109614126B (zh) * 2018-10-23 2022-07-01 北京全路通信信号研究设计院集团有限公司 一种嵌入式系统在线程序升级方法及装置

Also Published As

Publication number Publication date
US7219261B2 (en) 2007-05-15
US20040168201A1 (en) 2004-08-26

Similar Documents

Publication Publication Date Title
JP2004227143A (ja) 情報処理装置および情報処理方法
US6668261B1 (en) Method of upgrading a program using associated configuration data
US8448187B2 (en) Conflict resolution apparatus
US8549510B2 (en) Firmware update apparatus and method
US8032740B2 (en) Update in-use flash memory without external interfaces
US5689640A (en) Method and system for downloading data to network nodes
JPWO2006046506A1 (ja) 受信機器
US7739490B2 (en) Control apparatus, upgrade method and program product of the same
EP3761564A1 (en) Master/standby container system switch
JP5751121B2 (ja) 情報処理装置、情報処理方法およびプログラム
US8230254B2 (en) Redundant system using object-oriented program and method for rescuing object-oriented program
US7222338B2 (en) Method for upgrading data
KR20010076555A (ko) 수신기의 프로그램 업그레이드 장치 및 방법
JP2006072982A (ja) データ処理装置およびファームウェアの更新方法
JP2005092708A (ja) ソフトウェア更新システム及びソフトウェア更新方法並びにコンピュータプログラム
US20030126135A1 (en) Remote resource management of local devices
JP3849137B2 (ja) ディジタル放送受信機
JPH09237182A (ja) 通信装置
JP2008269380A (ja) 情報処理装置
US20020032022A1 (en) Mobile telephone device and a method for rewriting software used therein
KR20110068302A (ko) 유닉스/리눅스 시스템에서의 셸 기반의 접근제어시스템 및 접근제어방법
JP2003258997A (ja) サービス制御ノードシステムの予備方式
US20160239225A1 (en) Transfer apparatus and recovery control device
JP5239765B2 (ja) 電子計算機、電子計算機の外部ストレージデバイスの認識情報のネットワーク情報共有処理方法、及びコンピュータプログラム
JP4546960B2 (ja) 分散された複数の局のネットワークのためのネットワーク加入者局及び該ネットワーク加入者局を操作するための方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051201

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070803