プラグインバージョン管理システム
【課題】オプションハードウェアの安定動作を自動で保障することにより、正常に動作しないソフトウェア状態を避けることができ、プラグインカスタマイズをどれだけ実施してもすぐにユーザのシステム環境を元に戻すことのできるプラグインバージョン管理システムを提供する。
【解決手段】コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備える。
【解決手段】コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MFP(Multi Function Printer)等のコンピュータ組み込み機器に適用可能なプラグインバージョン管理システムに関し、より詳しくは、ソフトウェアのリカバリ時にプラグインソフトおよびオプションハードウェアの動作保障を行うことのできるプラグインバージョン管理システムに関する。
【背景技術】
【0002】
MFP等のコンピュータ組み込み機器では、基本的なシステムやアプリケーションのソフトウェアの他に、ユーザの選択で追加されたオプションハードウェアに対応するプラグインソフト(アプリケーションソフト)が複数インストールされる。なお、プラグインソフトにも複数のバージョンが存在し、それぞれ機能が異なるため、適切なバージョンのプラグインソフトをインストールする必要がある。
【0003】
従って、ソフトウェアに障害が発生した場合、全てのソフトウェアにつきバージョンをチェックしながら再インストールするのは困難であるため、正常に動作していた過去のある時点でのバックアップデータを保持しておき、障害発生後にバックアップデータを機器にリストアすることによりリカバリする方法がとられることが多い。
【特許文献1】特開2004−234151号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述したように、従来はソフトウェア障害に対してバックアップデータのリストアによるリカバリが行われていたが、単にバックアップデータを記憶領域に再配置するものであったため、次のような問題点が指摘されていた。
【0005】
すなわち、現状とは異なる環境におけるバックアップデータである可能性があることから、リカバリ後、接続されていないハードウェアデバイスドライバを利用しようとして失敗したり、プラグインソフトのバージョンが違っていたりする等により、ソフトウェアが期待通りに動作しない現象が起こるケースがある。例えば、エラーが発生して処理が継続できなくなったり、課金装置を搭載したMFPの場合に不適切な課金装置を誤用して正しい課金額にならなくなったりする等の事態が考えられる。
【0006】
また、ユーザが期待通り動作しないことを確認した場合、別のバックアップデータがある場合はそれを用いて再度リカバリを行う必要があり、操作が煩雑であるという問題があった。
【0007】
更に、このようにバックアップデータのリストアによるリカバリには難しい点があることから、ユーザによるリカバリを推奨せず、再設定のためにCE(Customer Engineer)が顧客先に出向くことも多く、サービス業務への影響も大きかった。
【0008】
一方、特許文献1にはネットワーク経由で画像形成装置のプログラムを更新する技術が開示されているが、バックアップデータのリストアによるリカバリについては触れられていない。
【0009】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、オプションハードウェアの安定動作を自動で保障することにより、正常に動作しないソフトウェア状態を避けることができ、プラグインカスタマイズをどれだけ実施してもすぐにユーザのシステム環境を元に戻すことのできるプラグインバージョン管理システムを提供することにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備えるプラグインバージョン管理システムを要旨としている。
【0011】
また、請求項2に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせるようにすることができる。
【0012】
また、請求項3に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断するようにすることができる。
【0013】
また、請求項4に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えるようにすることができる。
【0014】
また、請求項5に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えるようにすることができる。
【0015】
また、請求項6に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認につき、上記プラグインソフトはバックアップデータからオプションハードウェアの識別情報を取得し、また、オプションハードウェアから識別情報を取得するようにすることができる。
【0016】
また、請求項7に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認につき、上記プラグインソフトは初期状態でバックアップデータに含まれるオプションハードウェアの識別情報を与えられ、また、オプションハードウェアから識別情報を取得するようにすることができる。
【0017】
また、請求項8〜12に記載されるように、プラグインバージョン管理方法として構成することができる。
【発明の効果】
【0018】
本発明のプラグインバージョン管理システムにあっては、オプションハードウェアの安定動作を自動で保障することにより、正常に動作しないソフトウェア状態を避けることができ、プラグインカスタマイズをどれだけ実施してもすぐにユーザのシステム環境を元に戻すことができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の好適な実施形態につき説明する。
【0020】
<システム構成>
図1は本発明の一実施形態にかかるプラグインバージョン管理システムの構成例を示す図である。図1において、プラグインバージョン管理システムは、ユーザが操作するユーザインタフェース部1と、データをバージョン情報ごとに管理するバージョン管理部2と、システムに対して自由に付け外しが可能で、所定のハードウェアを制御するプラグインソフト3と、プラグインソフト3による制御に基づいて動作するオプションハードウェア4と、データを保存するデータ保存部5とを備えている。なお、プラグインソフト3とオプションハードウェア4は複数存在することがある。また、データとしては、システム全体で持つデータ(機器ID等)と、プラグイン固有のデータ(プラグイン名、プラグインID,バージョン情報、オプションハードウェアの機器名等)とがある。
【0021】
図2はプラグインソフト3およびオプションハードウェア4等の具体例を含むシステム構成例を示す図であり、プラグインソフト3として、スキャン用のプラグインソフト3Aとプロット用のプラグインソフト3Bと磁気カード課金用のプラグインソフト3Cとを設け、オプションハードウェア4として、スキャナのオプションハードウェア4Aとプロッタのオプションハードウェア4Bと磁気カード課金装置のオプションハードウェア4Cとを設けたものである。また、データ保存部5はローカルHDD(Hard Disk Drive)としている。
【0022】
図3はプラグインソフト3のソフトウェア構成上の位置付けを示す図であり、オペレーティングシステム6の上で動作するミドルウェア7の更に上に、プラグインソフト3A〜3Cは位置するものである。
【0023】
図4はプラグインソフト3の構成例を示す図であり、SDK(Software Development Kit)8に設けられた抽象的なプラグインソフト(共通機能を有し、バックアップ機能を他モジュールで実装)をベースに、変動分の機能(スキャン機能、プロット機能、磁気カード課金機能等)を実装することでプラグインソフト3A〜3Cを構成する。
【0024】
<バックアップ時の処理>
図5はバックアップ時の処理例を示すシーケンス図である。
【0025】
図5において、先ず、ユーザインタフェース部1は、管理者から入力された「システムバックアップ指示(ログ、ラベル等を含む)」をバージョン管理部2に送信する(ステップS101)。ここで、ログとラベルはバックアップの状況を示すものであり、例えば、ログは「2006/10/3 CEが作成」、ラベルは「初期セットアップ済み」といった内容である。
【0026】
バージョン管理部2は、自身が持つプラグインソフト名一覧テーブル(図示せず)を参照してバックアップ対象となるプラグインソフト3を特定し、特定したプラグインソフト3に対して「プラグインバックアップ指示」を送信する(ステップS102)。この「プラグインバックアップ指示」の送信はプラグインソフトの個数分行う。
【0027】
プラグインソフト3は、「プラグインバックアップ指示」を受け付けると、対応するオプションハードウェア4に「オプションハードウェア名の取得指示」を送信する(ステップS103)。
【0028】
オプションハードウェア4は、「オプションハードウェア名の取得指示」に基づいてオプションハードウェア名を含む戻りをプラグインソフト3に送信する(ステップS104)。図6はオプションハードウェア名(機器名称)の例を示す図であり、ここでは「社員証リーダ」となっている。なお、オプションハードウェア名(機器名称)に代えて製造番号を使用することもでき、一般的にはオプションハードウェアを識別することができる識別情報であればよい(以下同様)。
【0029】
図5に戻り、プラグインソフト3は、「オプションハードウェア名の取得指示」の戻り(オプションハードウェア名を含む)を受信すると、自身が持つプラグインデータテーブル(図示せず)から、プラグインIDとバージョン情報を取得し、これらを1つのテーブルにまとめ直して、そのテーブルをバージョン管理部2に送信する(ステップS105)。図7はプラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【0030】
図5に戻り、バージョン管理部2は、「プラグインバックアップ指示」の戻り(テーブルを含む)を送信対象とした全てのプラグインから受信すると、自身の持つデータテーブル(図示せず)から構成バージョン情報を取得し、既に「システムバックアップ指示」(ステップS101)の際に得たログ情報・ラベルとあわせ、これらを1つのテーブルにまとめ直し、そのテーブルの「セーブ(登録)指示」をデータ保存部5に送信する(ステップS106)。図8は構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【0031】
図5に戻り、データ保存部5は、「セーブ(登録)指示」からバージョン情報・ログ情報・ラベル等を得ると、これらをバックアップデータの管理情報として保存(更新を含む)し、保存が完了した旨を「セーブ(登録)指示」の戻りとしてバージョン管理部2に送信する(ステップS107)。
【0032】
バージョン管理部2は、保存が完了した旨を受信すると、その旨を「システムバックアップ指示」の戻りとしてユーザインタフェース部1に通知する(ステップS108)。
【0033】
これらの動作は、システム構成が変わったときや設定を変えたとき、あるいは定期的に行われ、併せてプログラム本体のバックアップデータも保存され、データ保存部5にデータが蓄積されていく。図9はデータ保存部5に登録される情報の例を示す図であり、システム構成情報の構成バージョン情報に関連付けられて、構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルが蓄積されている。データ保存部5内には、認証機構プラグイン本体や紙束整形プラグイン本体についてもバージョン毎に保持されている。ここで、認証機構は、バージョン「1」はICカード利用不能で社員証リーダ利用可能であるが、バージョン「2」はICカード利用可能で社員証リーダ利用不能となっており、バージョンにより機能が異なる。
【0034】
<リカバリ時の処理>
図10はリカバリ時の処理例を示すシーケンス図である。
【0035】
図10において、先ず、ユーザインタフェース部1は、管理者から入力された「リストア(構成verを含む)」指示をバージョン管理部2に送信する(ステップS201)。
【0036】
バージョン管理部2は、「リストア(構成verを含む)」指示を受信すると、構成verを確認し、入力された構成verが、自身の構成ver(現時点のバージョン)と等しい場合は、以下の処理を行わず最後のシーケンスに移動し、リストア不要であることをユーザインタフェース部1に送信する(ステップS215)。
【0037】
入力された構成verが、自身の構成verと等しくない場合、バージョン管理部2は、データ保存部5に「バックアップデータの一覧をロード(構成verを含む)」指示を送信する(ステップS202)。
【0038】
データ保存部5は、「バックアップデータの一覧をロード(構成verを含む)」指示を受信すると、構成verに相当するデータ(管理情報)を検索し、当該データを「バックアップデータの一覧をロード(構成verを含む)」指示の戻りとしてバージョン管理部2に送信する(ステップS203)。
【0039】
バージョン管理部2は、データ保存部5からの「バックアップデータの一覧をロード」指示の戻り(プラグインID、プラグインverを含む)の返信を受けて、プラグインID,プラグインverからロード対象のプラグイン本体を特定し、データ保存部5に「プラグインの本体データをロード(プラグインIDとプラグインverを含む)」指示を送信する(ステップS204)。この指示はプラグインの個数分行う。
【0040】
データ保存部5は、バージョン管理部2からの「プラグインの本体データをロード」指示を受信すると、当該プラグイン本体データを検索し、そのデータ本体を「プラグインの本体データをロード」指示の戻りとしてバージョン管理部2に返信する(ステップS205)。
【0041】
バージョン管理部2は、データ保存部5から「プラグインの本体データをロード」指示の戻り(プラグインデータの本体を含む)を受信すると、システムにプラグインを組み込む(メモリ上にロードする)ために、「プラグイン本体をメモリ上に展開」を実施する(ステップS206)。この振る舞いは、ロードしたてのプラグインは、ファイルのまま(例えば、zipファイルに圧縮されていたりする)であり、機能を提供できないため実施する。
【0042】
バージョン管理部2は、「プラグイン本体をメモリ上に展開」の終了後、プラグインソフト3に「整合性チェック」指示を送信する(ステップS207)。
【0043】
プラグインソフト3は、バージョン管理部2から「整合性チェック」指示を受信すると、バックアップのシーケンス(図5)において自身がデータ保存部5に送信した情報を参照するために、「オプションハードウェア名の取得(プラグインID、プラグインverを含む)」をバージョン管理部2に送信する(ステップS208)。
【0044】
バージョン管理部2は、プラグインソフト3からの「オプションハードウェア名の取得」を受信すると、「バックアップデータの一覧をロード(構成verを含む)」指示の戻り(ステップS203)にて得たデータテーブルより当該機器名称を抽出し、バージョン管理部2に返信する(ステップS209)。
【0045】
プラグインソフト3は、オプションハードウェア4に対し、「オプションハードウェア名の取得」指示を送信する(ステップS210)。
【0046】
オプションハードウェア4は、「オプションハードウェア名の取得」指示を受信すると、自身のファームウェア情報を参照して機器名称を取得し、プラグインソフト3に返信する(ステップS211)。
【0047】
プラグインソフト3は、オプションハードウェア4から「オプションハードウェア名の取得」指示の戻り(機器名称を含む)を受信すると、バージョン管理部2から取得した機器名称とオプションハードウェア4から取得した機器名称がマッチするかどうかで適切なハードか確認する(ステップS212)。すなわち、両者がマッチする場合は、プラグイン安定動作可能、マッチしない場合はプラグイン安定動作不能、という結果を算出する(ステップS213)。
【0048】
図11は適切なハードか確認する処理の例を示すフローチャートであり、処理を開始すると(ステップS301)、バックアップデータから取得した名前と機器から直接に取得した名前とを比較し(ステップS302)、両者が一致する場合(ステップS303のYes)は正常動作できると判断し(ステップS304)、両者が一致しない場合(ステップS303のNo)はエラー報告(リカバリ失敗)とする(ステップS305)。オプションハードウェア4の確認処理をプラグインソフト3側で行うようにしているため、バージョン管理部2側はオプションハードウェア4のインタフェースを意識する必要がなく、プラグインソフト3にオプションハードウェア4の違いを吸収させることができる。
【0049】
図10に戻り、プラグインソフト3は、判定結果を、「整合性チェック」の戻り(プラグイン安定動作 可/不可を含む)としてバージョン管理部2に返信する(ステップS214)。
【0050】
バージョン管理部2は、送信対象とした全てのプラグインソフト3から返信(プラグイン安定動作 可/不可を含む)を受信し、受信内容が全て「プラグイン安定動作 可」だった場合、利用者(管理者)に「システム安定動作 可」を返信する(ステップS215)。なお、一つでも「プラグイン安定動作 不可」があった場合は、利用者(管理者)に「システム安定動作 不可」を返信する(ステップS215)。
【0051】
<オートリカバリ処理>
図12はリカバリ失敗時の処理例を示すフローチャートであり、リカバリ失敗と判断された場合であっても、可能な限りリカバリできるようにしたものである。
【0052】
図12において、リカバリ失敗により処理を開始すると(ステップS311)、現在のバックアップデータのバージョンを確認する(ステップS312)。
【0053】
ここで、バージョンが1より大きくない場合、すなわちバージョンが1の場合(ステップS313のNo)は、初期バージョンであってそれ以前のバージョンのバックアップデータは存在しないため、リカバリ失敗を確定する(ステップS314)。
【0054】
また、バージョンが1よりも大きい場合(ステップS313のYes)は、データベースに一つ前のバージョンのバックアップデータを問い合わせ(ステップS315)、バックアップデータの一覧取得に戻る(ステップS316)。すなわち、この場合は処理を終了せず、図10のバックアップデータの一覧をロードする処理(ステップS202)から処理を繰り返す。
【0055】
図13はリカバリ失敗時の他の処理例を示すフローチャートであり、予め動かない機器とプラグインの組合せがわかっているため、データベース上のデータのマッチング処理でリカバリすべきバックアップデータの絞込みをするようにしたものである。
【0056】
図13において、リカバリ失敗により処理を開始すると(ステップS321)、現在のバックアップデータのバージョンを確認する(ステップS322)。
【0057】
ここで、バージョンが1より大きくない場合、すなわちバージョンが1の場合(ステップS323のNo)は、初期バージョンであってそれ以前のバージョンのバックアップデータは存在しないため、リカバリ失敗を確定する(ステップS324)。
【0058】
また、バージョンが1よりも大きい場合(ステップS323のYes)は、データベースに一つ前のバージョンのバックアップデータを問い合わせ(ステップS325)、バックアップデータ中に現在接続中の機器名があるか探す(ステップS326)。
【0059】
そして、機器名が含まれない場合(ステップS327のNo)は、一つ前のバージョンのバックアップデータの問い合わせ(ステップS325)に戻る。
【0060】
また、機器名が含まれる場合(ステップS327のYes)は、そのバックアップデータを用いたリカバリ処理に移る(ステップS328)。すなわち、この場合は処理を終了せず、図10のバックアップデータの一覧をロードする処理(ステップS202)から処理を繰り返す。
【0061】
<リカバリ時の処理(他パターン)>
図14はリカバリ時の他の処理例を示すシーケンス図である。図10に示した処理例との差異は、バージョン管理部2が「プラグイン本体をメモリ上に展開」を実施するとき(ステップS406)に、同時にバックアップデータからバージョン管理部2が取得済みのオプションハードウェア機器名称の情報を渡してしまうことにより、プラグインソフト3が改めてバージョン管理部2に同情報(機器名称)を問い返すメッセージのやり取りを不要にしている点にある。
【0062】
図14において、先ず、ユーザインタフェース部1は、管理者から入力された「リストア(構成verを含む)」指示をバージョン管理部2に送信する(ステップS401)。
【0063】
バージョン管理部2は、「リストア(構成verを含む)」指示を受信すると、構成verを確認し、入力された構成verが、自身の構成ver(現時点のバージョン)と等しい場合は、以下の処理を行わず最後のシーケンスに移動し、リストア不要であることをユーザインタフェース部1に送信する(ステップS412)。
【0064】
入力された構成verが、自身の構成verと等しくない場合、バージョン管理部2は、データ保存部5に「バックアップデータの一覧をロード(構成verを含む)」指示を送信する(ステップS402)。
【0065】
データ保存部5は、「バックアップデータの一覧をロード(構成verを含む)」指示を受信すると、構成verに相当するデータを検索し、当該データを「バックアップデータの一覧をロード(構成verを含む)」指示の戻りとしてバージョン管理部2に送信する(ステップS403)。
【0066】
バージョン管理部2は、データ保存部5からの「バックアップデータの一覧をロード」指示の戻り(プラグインID、プラグインverを含む)の返信を受けて、プラグインID,プラグインverからロード対象のプラグイン本体を特定し、データ保存部5に「プラグインの本体データをロード(プラグインIDとプラグインverを含む)」指示を送信する(ステップS404)。この指示はプラグインの個数分行う。
【0067】
データ保存部5は、バージョン管理部2からの「プラグインの本体データをロード」指示を受信すると、当該プラグイン本体データを検索し、そのデータ本体を「プラグインの本体データをロード」指示の戻りとしてバージョン管理部2に返信する(ステップS405)。
【0068】
バージョン管理部2は、データ保存部5から「プラグインの本体データをロード」指示の戻り(プラグインデータの本体を含む)を受信すると、システムにプラグインを組み込む(メモリ上にロードする)ために、「プラグイン本体をメモリ上に展開」を実施する(ステップS406)。この振る舞いは、ロードしたてのプラグインは、ファイルのまま(例えば、zipファイルに圧縮されていたりする)であり、機能を提供できないため実施する。このとき(初期化時)に、機器名称の情報も同時にプラグインソフト3に送信する。
【0069】
プラグインソフト3は、オプションハードウェア4に対し、「オプションハードウェア名の取得」指示を送信する(ステップS407)。
【0070】
オプションハードウェア4は、「オプションハードウェア名の取得」指示を受信すると、自身のファームウェア情報を参照して機器名称を取得し、プラグインソフト3に返信する(ステップS408)。
【0071】
プラグインソフト3は、オプションハードウェア4から「オプションハードウェア名の取得」指示の戻り(機器名称を含む)を受信すると、バージョン管理部2から既に通知されている機器名称とオプションハードウェア4から取得した機器名称がマッチするかどうかで適切なハードか確認する(ステップS409)。すなわち、両者がマッチする場合は、プラグイン安定動作可能、マッチしない場合はプラグイン安定動作不能、という結果を算出する(ステップS410)。
【0072】
プラグインソフト3は、バージョン管理部2にプラグインがハード込みで動作可能か報告し(ステップS411)、バージョン管理部2は、送信対象とした全てのプラグインソフト3から返信(プラグイン安定動作 可/不可を含む)を受信し、受信内容が全て「プラグイン安定動作 可」だった場合、利用者(管理者)に「システム安定動作 可」を返信する(ステップS412)。なお、一つでも「プラグイン安定動作 不可」があった場合は、利用者(管理者)に「システム安定動作 不可」を返信する(ステップS412)。
【0073】
また、これらの処理に対し、図12、図13に示した処理を適用することができる。
【0074】
<総括>
このように、本発明では、バックアップデータをリカバリする際にプラグインソフトによりセルフチェックを実行し、所定のオプションハードウェアが利用できるかチェックしている。
【0075】
従って、様々なカスタマイズ環境を手軽に利用可能であり、別のシステムでとった(セットアップ済み)バックアップを用いて容易にセットアップすることもできる。
【0076】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【0077】
<特許請求の範囲との対応関係>
請求項1、8における「バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトの識別情報を対応付け、管理情報として登録する手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図5におけるステップS102〜S108に対応する。
【0078】
請求項1、8における「リカバリの指示を受けたときに、バックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図10におけるステップS202〜S215、もしくは、図14におけるステップS402〜S412に対応する。
【0079】
請求項4、11における「上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図12に対応する。
【0080】
請求項5、12における「上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段(工程)」バージョン管理部2(図1、2)に対応し、その処理内容は図13に対応する。
【図面の簡単な説明】
【0081】
【図1】本発明の一実施形態にかかるプラグインバージョン管理システムの構成例を示す図である。
【図2】プラグインソフトおよびオプションハードウェア等の具体例を含むシステム構成例を示す図である。
【図3】プラグインソフトのソフトウェア構成上の位置付けを示す図である。
【図4】プラグインソフトの構成例を示す図である。
【図5】バックアップ時の処理例を示すシーケンス図である。
【図6】オプションハードウェア名の例を示す図である。
【図7】プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【図8】構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【図9】データ保存部に登録される情報の例を示す図である。
【図10】リカバリ時の処理例を示すシーケンス図(その1)である。
【図11】適切なハードか確認する処理の例を示すフローチャートである。
【図12】リカバリ失敗時の処理例を示すフローチャート(その1)である。
【図13】リカバリ失敗時の処理例を示すフローチャート(その2)である。
【図14】リカバリ時の処理例を示すシーケンス図(その2)である。
【符号の説明】
【0082】
1 ユーザインタフェース部
2 バージョン管理部
3、3A〜3C プラグインソフト
4、4A〜4C オプションハードウェア
5 データ保存部
6 オペレーティングシステム
7 ミドルウェア
8 SDK
【技術分野】
【0001】
本発明は、MFP(Multi Function Printer)等のコンピュータ組み込み機器に適用可能なプラグインバージョン管理システムに関し、より詳しくは、ソフトウェアのリカバリ時にプラグインソフトおよびオプションハードウェアの動作保障を行うことのできるプラグインバージョン管理システムに関する。
【背景技術】
【0002】
MFP等のコンピュータ組み込み機器では、基本的なシステムやアプリケーションのソフトウェアの他に、ユーザの選択で追加されたオプションハードウェアに対応するプラグインソフト(アプリケーションソフト)が複数インストールされる。なお、プラグインソフトにも複数のバージョンが存在し、それぞれ機能が異なるため、適切なバージョンのプラグインソフトをインストールする必要がある。
【0003】
従って、ソフトウェアに障害が発生した場合、全てのソフトウェアにつきバージョンをチェックしながら再インストールするのは困難であるため、正常に動作していた過去のある時点でのバックアップデータを保持しておき、障害発生後にバックアップデータを機器にリストアすることによりリカバリする方法がとられることが多い。
【特許文献1】特開2004−234151号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上述したように、従来はソフトウェア障害に対してバックアップデータのリストアによるリカバリが行われていたが、単にバックアップデータを記憶領域に再配置するものであったため、次のような問題点が指摘されていた。
【0005】
すなわち、現状とは異なる環境におけるバックアップデータである可能性があることから、リカバリ後、接続されていないハードウェアデバイスドライバを利用しようとして失敗したり、プラグインソフトのバージョンが違っていたりする等により、ソフトウェアが期待通りに動作しない現象が起こるケースがある。例えば、エラーが発生して処理が継続できなくなったり、課金装置を搭載したMFPの場合に不適切な課金装置を誤用して正しい課金額にならなくなったりする等の事態が考えられる。
【0006】
また、ユーザが期待通り動作しないことを確認した場合、別のバックアップデータがある場合はそれを用いて再度リカバリを行う必要があり、操作が煩雑であるという問題があった。
【0007】
更に、このようにバックアップデータのリストアによるリカバリには難しい点があることから、ユーザによるリカバリを推奨せず、再設定のためにCE(Customer Engineer)が顧客先に出向くことも多く、サービス業務への影響も大きかった。
【0008】
一方、特許文献1にはネットワーク経由で画像形成装置のプログラムを更新する技術が開示されているが、バックアップデータのリストアによるリカバリについては触れられていない。
【0009】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、オプションハードウェアの安定動作を自動で保障することにより、正常に動作しないソフトウェア状態を避けることができ、プラグインカスタマイズをどれだけ実施してもすぐにユーザのシステム環境を元に戻すことのできるプラグインバージョン管理システムを提供することにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備えるプラグインバージョン管理システムを要旨としている。
【0011】
また、請求項2に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせるようにすることができる。
【0012】
また、請求項3に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断するようにすることができる。
【0013】
また、請求項4に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えるようにすることができる。
【0014】
また、請求項5に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えるようにすることができる。
【0015】
また、請求項6に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認につき、上記プラグインソフトはバックアップデータからオプションハードウェアの識別情報を取得し、また、オプションハードウェアから識別情報を取得するようにすることができる。
【0016】
また、請求項7に記載されるように、請求項1に記載のプラグインバージョン管理システムにおいて、上記オプションハードウェアの動作確認につき、上記プラグインソフトは初期状態でバックアップデータに含まれるオプションハードウェアの識別情報を与えられ、また、オプションハードウェアから識別情報を取得するようにすることができる。
【0017】
また、請求項8〜12に記載されるように、プラグインバージョン管理方法として構成することができる。
【発明の効果】
【0018】
本発明のプラグインバージョン管理システムにあっては、オプションハードウェアの安定動作を自動で保障することにより、正常に動作しないソフトウェア状態を避けることができ、プラグインカスタマイズをどれだけ実施してもすぐにユーザのシステム環境を元に戻すことができる。
【発明を実施するための最良の形態】
【0019】
以下、本発明の好適な実施形態につき説明する。
【0020】
<システム構成>
図1は本発明の一実施形態にかかるプラグインバージョン管理システムの構成例を示す図である。図1において、プラグインバージョン管理システムは、ユーザが操作するユーザインタフェース部1と、データをバージョン情報ごとに管理するバージョン管理部2と、システムに対して自由に付け外しが可能で、所定のハードウェアを制御するプラグインソフト3と、プラグインソフト3による制御に基づいて動作するオプションハードウェア4と、データを保存するデータ保存部5とを備えている。なお、プラグインソフト3とオプションハードウェア4は複数存在することがある。また、データとしては、システム全体で持つデータ(機器ID等)と、プラグイン固有のデータ(プラグイン名、プラグインID,バージョン情報、オプションハードウェアの機器名等)とがある。
【0021】
図2はプラグインソフト3およびオプションハードウェア4等の具体例を含むシステム構成例を示す図であり、プラグインソフト3として、スキャン用のプラグインソフト3Aとプロット用のプラグインソフト3Bと磁気カード課金用のプラグインソフト3Cとを設け、オプションハードウェア4として、スキャナのオプションハードウェア4Aとプロッタのオプションハードウェア4Bと磁気カード課金装置のオプションハードウェア4Cとを設けたものである。また、データ保存部5はローカルHDD(Hard Disk Drive)としている。
【0022】
図3はプラグインソフト3のソフトウェア構成上の位置付けを示す図であり、オペレーティングシステム6の上で動作するミドルウェア7の更に上に、プラグインソフト3A〜3Cは位置するものである。
【0023】
図4はプラグインソフト3の構成例を示す図であり、SDK(Software Development Kit)8に設けられた抽象的なプラグインソフト(共通機能を有し、バックアップ機能を他モジュールで実装)をベースに、変動分の機能(スキャン機能、プロット機能、磁気カード課金機能等)を実装することでプラグインソフト3A〜3Cを構成する。
【0024】
<バックアップ時の処理>
図5はバックアップ時の処理例を示すシーケンス図である。
【0025】
図5において、先ず、ユーザインタフェース部1は、管理者から入力された「システムバックアップ指示(ログ、ラベル等を含む)」をバージョン管理部2に送信する(ステップS101)。ここで、ログとラベルはバックアップの状況を示すものであり、例えば、ログは「2006/10/3 CEが作成」、ラベルは「初期セットアップ済み」といった内容である。
【0026】
バージョン管理部2は、自身が持つプラグインソフト名一覧テーブル(図示せず)を参照してバックアップ対象となるプラグインソフト3を特定し、特定したプラグインソフト3に対して「プラグインバックアップ指示」を送信する(ステップS102)。この「プラグインバックアップ指示」の送信はプラグインソフトの個数分行う。
【0027】
プラグインソフト3は、「プラグインバックアップ指示」を受け付けると、対応するオプションハードウェア4に「オプションハードウェア名の取得指示」を送信する(ステップS103)。
【0028】
オプションハードウェア4は、「オプションハードウェア名の取得指示」に基づいてオプションハードウェア名を含む戻りをプラグインソフト3に送信する(ステップS104)。図6はオプションハードウェア名(機器名称)の例を示す図であり、ここでは「社員証リーダ」となっている。なお、オプションハードウェア名(機器名称)に代えて製造番号を使用することもでき、一般的にはオプションハードウェアを識別することができる識別情報であればよい(以下同様)。
【0029】
図5に戻り、プラグインソフト3は、「オプションハードウェア名の取得指示」の戻り(オプションハードウェア名を含む)を受信すると、自身が持つプラグインデータテーブル(図示せず)から、プラグインIDとバージョン情報を取得し、これらを1つのテーブルにまとめ直して、そのテーブルをバージョン管理部2に送信する(ステップS105)。図7はプラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【0030】
図5に戻り、バージョン管理部2は、「プラグインバックアップ指示」の戻り(テーブルを含む)を送信対象とした全てのプラグインから受信すると、自身の持つデータテーブル(図示せず)から構成バージョン情報を取得し、既に「システムバックアップ指示」(ステップS101)の際に得たログ情報・ラベルとあわせ、これらを1つのテーブルにまとめ直し、そのテーブルの「セーブ(登録)指示」をデータ保存部5に送信する(ステップS106)。図8は構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【0031】
図5に戻り、データ保存部5は、「セーブ(登録)指示」からバージョン情報・ログ情報・ラベル等を得ると、これらをバックアップデータの管理情報として保存(更新を含む)し、保存が完了した旨を「セーブ(登録)指示」の戻りとしてバージョン管理部2に送信する(ステップS107)。
【0032】
バージョン管理部2は、保存が完了した旨を受信すると、その旨を「システムバックアップ指示」の戻りとしてユーザインタフェース部1に通知する(ステップS108)。
【0033】
これらの動作は、システム構成が変わったときや設定を変えたとき、あるいは定期的に行われ、併せてプログラム本体のバックアップデータも保存され、データ保存部5にデータが蓄積されていく。図9はデータ保存部5に登録される情報の例を示す図であり、システム構成情報の構成バージョン情報に関連付けられて、構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルが蓄積されている。データ保存部5内には、認証機構プラグイン本体や紙束整形プラグイン本体についてもバージョン毎に保持されている。ここで、認証機構は、バージョン「1」はICカード利用不能で社員証リーダ利用可能であるが、バージョン「2」はICカード利用可能で社員証リーダ利用不能となっており、バージョンにより機能が異なる。
【0034】
<リカバリ時の処理>
図10はリカバリ時の処理例を示すシーケンス図である。
【0035】
図10において、先ず、ユーザインタフェース部1は、管理者から入力された「リストア(構成verを含む)」指示をバージョン管理部2に送信する(ステップS201)。
【0036】
バージョン管理部2は、「リストア(構成verを含む)」指示を受信すると、構成verを確認し、入力された構成verが、自身の構成ver(現時点のバージョン)と等しい場合は、以下の処理を行わず最後のシーケンスに移動し、リストア不要であることをユーザインタフェース部1に送信する(ステップS215)。
【0037】
入力された構成verが、自身の構成verと等しくない場合、バージョン管理部2は、データ保存部5に「バックアップデータの一覧をロード(構成verを含む)」指示を送信する(ステップS202)。
【0038】
データ保存部5は、「バックアップデータの一覧をロード(構成verを含む)」指示を受信すると、構成verに相当するデータ(管理情報)を検索し、当該データを「バックアップデータの一覧をロード(構成verを含む)」指示の戻りとしてバージョン管理部2に送信する(ステップS203)。
【0039】
バージョン管理部2は、データ保存部5からの「バックアップデータの一覧をロード」指示の戻り(プラグインID、プラグインverを含む)の返信を受けて、プラグインID,プラグインverからロード対象のプラグイン本体を特定し、データ保存部5に「プラグインの本体データをロード(プラグインIDとプラグインverを含む)」指示を送信する(ステップS204)。この指示はプラグインの個数分行う。
【0040】
データ保存部5は、バージョン管理部2からの「プラグインの本体データをロード」指示を受信すると、当該プラグイン本体データを検索し、そのデータ本体を「プラグインの本体データをロード」指示の戻りとしてバージョン管理部2に返信する(ステップS205)。
【0041】
バージョン管理部2は、データ保存部5から「プラグインの本体データをロード」指示の戻り(プラグインデータの本体を含む)を受信すると、システムにプラグインを組み込む(メモリ上にロードする)ために、「プラグイン本体をメモリ上に展開」を実施する(ステップS206)。この振る舞いは、ロードしたてのプラグインは、ファイルのまま(例えば、zipファイルに圧縮されていたりする)であり、機能を提供できないため実施する。
【0042】
バージョン管理部2は、「プラグイン本体をメモリ上に展開」の終了後、プラグインソフト3に「整合性チェック」指示を送信する(ステップS207)。
【0043】
プラグインソフト3は、バージョン管理部2から「整合性チェック」指示を受信すると、バックアップのシーケンス(図5)において自身がデータ保存部5に送信した情報を参照するために、「オプションハードウェア名の取得(プラグインID、プラグインverを含む)」をバージョン管理部2に送信する(ステップS208)。
【0044】
バージョン管理部2は、プラグインソフト3からの「オプションハードウェア名の取得」を受信すると、「バックアップデータの一覧をロード(構成verを含む)」指示の戻り(ステップS203)にて得たデータテーブルより当該機器名称を抽出し、バージョン管理部2に返信する(ステップS209)。
【0045】
プラグインソフト3は、オプションハードウェア4に対し、「オプションハードウェア名の取得」指示を送信する(ステップS210)。
【0046】
オプションハードウェア4は、「オプションハードウェア名の取得」指示を受信すると、自身のファームウェア情報を参照して機器名称を取得し、プラグインソフト3に返信する(ステップS211)。
【0047】
プラグインソフト3は、オプションハードウェア4から「オプションハードウェア名の取得」指示の戻り(機器名称を含む)を受信すると、バージョン管理部2から取得した機器名称とオプションハードウェア4から取得した機器名称がマッチするかどうかで適切なハードか確認する(ステップS212)。すなわち、両者がマッチする場合は、プラグイン安定動作可能、マッチしない場合はプラグイン安定動作不能、という結果を算出する(ステップS213)。
【0048】
図11は適切なハードか確認する処理の例を示すフローチャートであり、処理を開始すると(ステップS301)、バックアップデータから取得した名前と機器から直接に取得した名前とを比較し(ステップS302)、両者が一致する場合(ステップS303のYes)は正常動作できると判断し(ステップS304)、両者が一致しない場合(ステップS303のNo)はエラー報告(リカバリ失敗)とする(ステップS305)。オプションハードウェア4の確認処理をプラグインソフト3側で行うようにしているため、バージョン管理部2側はオプションハードウェア4のインタフェースを意識する必要がなく、プラグインソフト3にオプションハードウェア4の違いを吸収させることができる。
【0049】
図10に戻り、プラグインソフト3は、判定結果を、「整合性チェック」の戻り(プラグイン安定動作 可/不可を含む)としてバージョン管理部2に返信する(ステップS214)。
【0050】
バージョン管理部2は、送信対象とした全てのプラグインソフト3から返信(プラグイン安定動作 可/不可を含む)を受信し、受信内容が全て「プラグイン安定動作 可」だった場合、利用者(管理者)に「システム安定動作 可」を返信する(ステップS215)。なお、一つでも「プラグイン安定動作 不可」があった場合は、利用者(管理者)に「システム安定動作 不可」を返信する(ステップS215)。
【0051】
<オートリカバリ処理>
図12はリカバリ失敗時の処理例を示すフローチャートであり、リカバリ失敗と判断された場合であっても、可能な限りリカバリできるようにしたものである。
【0052】
図12において、リカバリ失敗により処理を開始すると(ステップS311)、現在のバックアップデータのバージョンを確認する(ステップS312)。
【0053】
ここで、バージョンが1より大きくない場合、すなわちバージョンが1の場合(ステップS313のNo)は、初期バージョンであってそれ以前のバージョンのバックアップデータは存在しないため、リカバリ失敗を確定する(ステップS314)。
【0054】
また、バージョンが1よりも大きい場合(ステップS313のYes)は、データベースに一つ前のバージョンのバックアップデータを問い合わせ(ステップS315)、バックアップデータの一覧取得に戻る(ステップS316)。すなわち、この場合は処理を終了せず、図10のバックアップデータの一覧をロードする処理(ステップS202)から処理を繰り返す。
【0055】
図13はリカバリ失敗時の他の処理例を示すフローチャートであり、予め動かない機器とプラグインの組合せがわかっているため、データベース上のデータのマッチング処理でリカバリすべきバックアップデータの絞込みをするようにしたものである。
【0056】
図13において、リカバリ失敗により処理を開始すると(ステップS321)、現在のバックアップデータのバージョンを確認する(ステップS322)。
【0057】
ここで、バージョンが1より大きくない場合、すなわちバージョンが1の場合(ステップS323のNo)は、初期バージョンであってそれ以前のバージョンのバックアップデータは存在しないため、リカバリ失敗を確定する(ステップS324)。
【0058】
また、バージョンが1よりも大きい場合(ステップS323のYes)は、データベースに一つ前のバージョンのバックアップデータを問い合わせ(ステップS325)、バックアップデータ中に現在接続中の機器名があるか探す(ステップS326)。
【0059】
そして、機器名が含まれない場合(ステップS327のNo)は、一つ前のバージョンのバックアップデータの問い合わせ(ステップS325)に戻る。
【0060】
また、機器名が含まれる場合(ステップS327のYes)は、そのバックアップデータを用いたリカバリ処理に移る(ステップS328)。すなわち、この場合は処理を終了せず、図10のバックアップデータの一覧をロードする処理(ステップS202)から処理を繰り返す。
【0061】
<リカバリ時の処理(他パターン)>
図14はリカバリ時の他の処理例を示すシーケンス図である。図10に示した処理例との差異は、バージョン管理部2が「プラグイン本体をメモリ上に展開」を実施するとき(ステップS406)に、同時にバックアップデータからバージョン管理部2が取得済みのオプションハードウェア機器名称の情報を渡してしまうことにより、プラグインソフト3が改めてバージョン管理部2に同情報(機器名称)を問い返すメッセージのやり取りを不要にしている点にある。
【0062】
図14において、先ず、ユーザインタフェース部1は、管理者から入力された「リストア(構成verを含む)」指示をバージョン管理部2に送信する(ステップS401)。
【0063】
バージョン管理部2は、「リストア(構成verを含む)」指示を受信すると、構成verを確認し、入力された構成verが、自身の構成ver(現時点のバージョン)と等しい場合は、以下の処理を行わず最後のシーケンスに移動し、リストア不要であることをユーザインタフェース部1に送信する(ステップS412)。
【0064】
入力された構成verが、自身の構成verと等しくない場合、バージョン管理部2は、データ保存部5に「バックアップデータの一覧をロード(構成verを含む)」指示を送信する(ステップS402)。
【0065】
データ保存部5は、「バックアップデータの一覧をロード(構成verを含む)」指示を受信すると、構成verに相当するデータを検索し、当該データを「バックアップデータの一覧をロード(構成verを含む)」指示の戻りとしてバージョン管理部2に送信する(ステップS403)。
【0066】
バージョン管理部2は、データ保存部5からの「バックアップデータの一覧をロード」指示の戻り(プラグインID、プラグインverを含む)の返信を受けて、プラグインID,プラグインverからロード対象のプラグイン本体を特定し、データ保存部5に「プラグインの本体データをロード(プラグインIDとプラグインverを含む)」指示を送信する(ステップS404)。この指示はプラグインの個数分行う。
【0067】
データ保存部5は、バージョン管理部2からの「プラグインの本体データをロード」指示を受信すると、当該プラグイン本体データを検索し、そのデータ本体を「プラグインの本体データをロード」指示の戻りとしてバージョン管理部2に返信する(ステップS405)。
【0068】
バージョン管理部2は、データ保存部5から「プラグインの本体データをロード」指示の戻り(プラグインデータの本体を含む)を受信すると、システムにプラグインを組み込む(メモリ上にロードする)ために、「プラグイン本体をメモリ上に展開」を実施する(ステップS406)。この振る舞いは、ロードしたてのプラグインは、ファイルのまま(例えば、zipファイルに圧縮されていたりする)であり、機能を提供できないため実施する。このとき(初期化時)に、機器名称の情報も同時にプラグインソフト3に送信する。
【0069】
プラグインソフト3は、オプションハードウェア4に対し、「オプションハードウェア名の取得」指示を送信する(ステップS407)。
【0070】
オプションハードウェア4は、「オプションハードウェア名の取得」指示を受信すると、自身のファームウェア情報を参照して機器名称を取得し、プラグインソフト3に返信する(ステップS408)。
【0071】
プラグインソフト3は、オプションハードウェア4から「オプションハードウェア名の取得」指示の戻り(機器名称を含む)を受信すると、バージョン管理部2から既に通知されている機器名称とオプションハードウェア4から取得した機器名称がマッチするかどうかで適切なハードか確認する(ステップS409)。すなわち、両者がマッチする場合は、プラグイン安定動作可能、マッチしない場合はプラグイン安定動作不能、という結果を算出する(ステップS410)。
【0072】
プラグインソフト3は、バージョン管理部2にプラグインがハード込みで動作可能か報告し(ステップS411)、バージョン管理部2は、送信対象とした全てのプラグインソフト3から返信(プラグイン安定動作 可/不可を含む)を受信し、受信内容が全て「プラグイン安定動作 可」だった場合、利用者(管理者)に「システム安定動作 可」を返信する(ステップS412)。なお、一つでも「プラグイン安定動作 不可」があった場合は、利用者(管理者)に「システム安定動作 不可」を返信する(ステップS412)。
【0073】
また、これらの処理に対し、図12、図13に示した処理を適用することができる。
【0074】
<総括>
このように、本発明では、バックアップデータをリカバリする際にプラグインソフトによりセルフチェックを実行し、所定のオプションハードウェアが利用できるかチェックしている。
【0075】
従って、様々なカスタマイズ環境を手軽に利用可能であり、別のシステムでとった(セットアップ済み)バックアップを用いて容易にセットアップすることもできる。
【0076】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【0077】
<特許請求の範囲との対応関係>
請求項1、8における「バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトの識別情報を対応付け、管理情報として登録する手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図5におけるステップS102〜S108に対応する。
【0078】
請求項1、8における「リカバリの指示を受けたときに、バックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図10におけるステップS202〜S215、もしくは、図14におけるステップS402〜S412に対応する。
【0079】
請求項4、11における「上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段(工程)」は、バージョン管理部2(図1、2)に対応し、その処理内容は図12に対応する。
【0080】
請求項5、12における「上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段(工程)」バージョン管理部2(図1、2)に対応し、その処理内容は図13に対応する。
【図面の簡単な説明】
【0081】
【図1】本発明の一実施形態にかかるプラグインバージョン管理システムの構成例を示す図である。
【図2】プラグインソフトおよびオプションハードウェア等の具体例を含むシステム構成例を示す図である。
【図3】プラグインソフトのソフトウェア構成上の位置付けを示す図である。
【図4】プラグインソフトの構成例を示す図である。
【図5】バックアップ時の処理例を示すシーケンス図である。
【図6】オプションハードウェア名の例を示す図である。
【図7】プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【図8】構成バージョン情報、ログ、ラベル、プラグインID、バージョン情報およびオプションハードウェア名をまとめたテーブルの例を示す図である。
【図9】データ保存部に登録される情報の例を示す図である。
【図10】リカバリ時の処理例を示すシーケンス図(その1)である。
【図11】適切なハードか確認する処理の例を示すフローチャートである。
【図12】リカバリ失敗時の処理例を示すフローチャート(その1)である。
【図13】リカバリ失敗時の処理例を示すフローチャート(その2)である。
【図14】リカバリ時の処理例を示すシーケンス図(その2)である。
【符号の説明】
【0082】
1 ユーザインタフェース部
2 バージョン管理部
3、3A〜3C プラグインソフト
4、4A〜4C オプションハードウェア
5 データ保存部
6 オペレーティングシステム
7 ミドルウェア
8 SDK
【特許請求の範囲】
【請求項1】
コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、
バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、
リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備えたことを特徴とするプラグインバージョン管理システム。
【請求項2】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせることを特徴とするプラグインバージョン管理システム。
【請求項3】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断することを特徴とするプラグインバージョン管理システム。
【請求項4】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えたことを特徴とするプラグインバージョン管理システム。
【請求項5】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えたことを特徴とするプラグインバージョン管理システム。
【請求項6】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認につき、
上記プラグインソフトはバックアップデータからオプションハードウェアの識別情報を取得し、また、オプションハードウェアから識別情報を取得することを特徴とするプラグインバージョン管理システム。
【請求項7】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認につき、
上記プラグインソフトは初期状態でバックアップデータに含まれるオプションハードウェアの識別情報を与えられ、また、オプションハードウェアから識別情報を取得することを特徴とするプラグインバージョン管理システム。
【請求項8】
コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理する方法であって、
バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する工程と、
リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う工程とを備えたことを特徴とするプラグインバージョン管理方法。
【請求項9】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせることを特徴とするプラグインバージョン管理方法。
【請求項10】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断することを特徴とするプラグインバージョン管理方法。
【請求項11】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う工程を備えたことを特徴とするプラグインバージョン管理方法。
【請求項12】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う工程を備えたことを特徴とするプラグインバージョン管理方法。
【請求項1】
コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理するシステムであって、
バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する手段と、
リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う手段とを備えたことを特徴とするプラグインバージョン管理システム。
【請求項2】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせることを特徴とするプラグインバージョン管理システム。
【請求項3】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断することを特徴とするプラグインバージョン管理システム。
【請求項4】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えたことを特徴とするプラグインバージョン管理システム。
【請求項5】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う手段を備えたことを特徴とするプラグインバージョン管理システム。
【請求項6】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認につき、
上記プラグインソフトはバックアップデータからオプションハードウェアの識別情報を取得し、また、オプションハードウェアから識別情報を取得することを特徴とするプラグインバージョン管理システム。
【請求項7】
請求項1に記載のプラグインバージョン管理システムにおいて、
上記オプションハードウェアの動作確認につき、
上記プラグインソフトは初期状態でバックアップデータに含まれるオプションハードウェアの識別情報を与えられ、また、オプションハードウェアから識別情報を取得することを特徴とするプラグインバージョン管理システム。
【請求項8】
コンピュータ組み込み機器におけるソフトウェアのバックアップおよびリカバリを管理する方法であって、
バックアップの指示を受けたときに、システム構成全体および個々のプラグインソフトのバージョン情報ならびにプラグインソフトに対応するオプションハードウェアの識別情報を対応付け、管理情報として登録する工程と、
リカバリの指示を受けたときに、上記管理情報に基づきバックアップデータからプラグインソフトを復旧し、上記管理情報に含まれる識別情報が対応するか否かによりオプションハードウェアの動作確認を行う工程とを備えたことを特徴とするプラグインバージョン管理方法。
【請求項9】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認は、当該オプションハードウェアに対応するプラグインソフトに行わせることを特徴とするプラグインバージョン管理方法。
【請求項10】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認は、上記管理情報に含まれるオプションハードウェアの識別情報とオプションハードウェアから取得した識別情報とが一致するか否かで判断することを特徴とするプラグインバージョン管理方法。
【請求項11】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、一つ前のバージョンのバックアップデータを取得し、リカバリを再度行う工程を備えたことを特徴とするプラグインバージョン管理方法。
【請求項12】
請求項8に記載のプラグインバージョン管理方法において、
上記オプションハードウェアの動作確認が失敗した場合、使用中のバックアップデータが初期バージョンでないことを条件に、現在接続中のオプションハードウェアの識別情報に対応する情報を含むバージョンのバックアップデータを取得し、リカバリを再度行う工程を備えたことを特徴とするプラグインバージョン管理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2007−310807(P2007−310807A)
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願番号】特願2006−141673(P2006−141673)
【出願日】平成18年5月22日(2006.5.22)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成19年11月29日(2007.11.29)
【国際特許分類】
【出願日】平成18年5月22日(2006.5.22)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]