(57)【特許請求の範囲】
【請求項１】
データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置であって、
前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移行手段と、
前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行手段を起動する制御手段とを備え、
前記データ移行手段は、第２ソフトウェア及び第１ソフトウェアに対応する管理情報の形式に共通する管理項目において、第１ソフトウェアに適するよう当該管理項目の値を新たに付与することで管理情報を変換し、
前記制御手段は、さらに、前記データ移行手段による管理情報の移行状況に関する情報を取得する移行状況情報取得手段と、前記移行状況情報取得手段で取得した移行状況に関する情報に基づき、前記管理情報の移行状況を通知する通知手段と備えることを特徴とする情報処理装置。
【請求項２】
前記データ移行手段は、第２ソフトウェアに対応した管理情報の形式の管理項目の中で、第１ソフトウェアに対応する管理情報の形式の管理項目に含まれない管理項目がある場合、当該管理項目及び当該管理項目の値を削除することで管理情報を変換し、
第２ソフトウェアに対応した管理情報の形式の管理項目に含まれない管理項目が第１ソフトウェアに対応する管理情報の形式の管理項目に含まれる場合、当該管理項目の値を空にすることで管理情報を変換する請求項１に記載の情報処理装置。
【請求項３】
前記管理情報は、第１ソフトウェアの管理対象であるネットワークデバイスを利用可能なユーザに関するユーザ情報を含むことを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記制御手段は、当該制御手段の処理プロセスとは異なる処理プロセスで前記データ移行手段を起動することを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
前記第１ソフトウェア及び前記第２ソフトウェアは、前記ネットワークデバイスに対して行う管理作業を定義したタスクデータに基づき当該管理作業を実行可能であり、
前記制御手段により、前記第２ソフトウェアに対応した形式のタスクデータを第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、前記データ移行手段が起動されると、
前記データ移行手段は、前記第２ソフトウェアに対応した形式のタスクデータを取得し、当該取得した第２ソフトウェアに対応した形式のタスクデータを第１ソフトウェアに対応した形式に基づき変換し、当該変換したタスクデータを前記データベースに登録することを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報処理装置。
【請求項６】
前記タスクデータは管理作業の対象となるネットワークデバイスの情報を含み、
前記データ移行手段は、前記ネットワークを介して通信可能なネットワークデバイスの検出を行う検出手段を備え、
前記データ移行手段は、取得された前記第２ソフトウェアに対応した形式のタスクデータで定義された管理作業の対象となるネットワークデバイスの情報の中で、前記検出手段により検出できなかったネットワークデバイスの情報を削除することでタスクデータを変換することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記タスクデータで定義される管理作業は、前記ネットワークデバイスに対する宛先表の配信を含むことを特徴とする請求項５または請求項６に記載の情報処理装置。
【請求項８】
データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置であって、
前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移行手段と、
前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行手段を起動する制御手段とを備え、
前記制御手段及び前記データ移行手段は、異なる処理プロセスで起動されることを特徴とする情報処理装置。
【請求項９】
データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置における情報処理方法であって、
前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移行工程と、
前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行工程を実行するための制御工程とを備え、
前記データ移行工程は、第２ソフトウェア及び第１ソフトウェアに対応する管理情報の形式に共通する管理項目において、第１ソフトウェアに適するよう当該管理項目の値を新たに付与することで管理情報を変換し、
前記制御工程は、さらに、前記データ移行工程での管理情報の移行状況に関する情報を取得する移行状況情報取得工程と、当該取得された移行状況に関する情報に基づき、前記管理情報の移行状況を通知する通知工程とを備えることを特徴とする情報処理方法。
【請求項１０】
前記データ移行工程は、第２ソフトウェアに対応した管理情報の形式の管理項目の中で、第１ソフトウェアに対応する管理情報の形式の管理項目に含まれない管理項目がある場合、当該管理項目及び当該管理項目の値を削除することで管理情報を変換し、
第２ソフトウェアに対応した管理情報の形式の管理項目に含まれない管理項目が第１ソフトウェアに対応する管理情報の形式の管理項目に含まれる場合、当該管理項目の値を空にすることで管理情報を変換する請求項９に記載の情報処理方法。
【請求項１１】
前記管理情報は、第１ソフトウェアの管理対象であるネットワークデバイスを利用可能なユーザに関するユーザ情報を含むことを特徴とする請求項９または請求項１０に記載の情報処理方法。
【請求項１２】
前記制御工程及び前記データ移行工程は、それぞれ異なる処理プロセスで実行されることを特徴とする請求項９乃至請求項１１のいずれか１項に記載の情報処理方法。
【請求項１３】
前記第１ソフトウェア及び前記第２ソフトウェアは、前記ネットワークデバイスに対して行う管理作業を定義したタスクデータに基づき当該管理作業を実行可能であり、
前記第２ソフトウェアに対応した形式のタスクデータを第１ソフトウェアで用いるためのデータ移行処理の指示を受け付けたことに応じて、前記データ移行工程は、前記第２ソフトウェアに対応した形式のタスクデータを取得し、当該取得した第２ソフトウェアに対応した形式のタスクデータを第１ソフトウェアに対応した形式に基づき変換し、当該変換したタスクデータを前記データベースに登録することを特徴とする請求項９乃至請求項１２のいずれか１項に記載の情報処理方法。
【請求項１４】
前記タスクデータは管理作業の対象となるネットワークデバイスの情報を含み、
前記データ移行工程は、前記ネットワークを介して通信可能なネットワークデバイスの検出を行う検出工程を備え、
前記データ移行工程は、取得された前記第２ソフトウェアに対応した形式のタスクデータで定義された管理作業の対象となるネットワークデバイスの情報の中で、前記検出工程において検出できなかったネットワークデバイスの情報を削除することでタスクデータを変換することを特徴とする請求項１３に記載の情報処理方法。
【請求項１５】
前記タスクデータで定義される管理作業は、前記ネットワークデバイスに対する宛先表の配信を含むことを特徴とする請求項１３または請求項１４に記載の情報処理方法。
【請求項１６】
データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置における情報処理方法であって、
前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移工程と、
前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行工程を実行するための制御工程とを備え、
前記制御工程及び前記データ移行工程は、それぞれ異なる処理プロセスで実行されることを特徴とする情報処理方法。
【請求項１７】
請求項１乃至請求項８の何れか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、「プラグイン」として、拡張機能をソフトウェアに追加することが可能な情報処理装置及び情報処理方法がバージョンアップした際のデータ移行方法に関するものである。
【背景技術】
【０００２】
従来から、運用中のソフトウェアをバージョンアップする際に、旧バージョンのソフトウェアで使用しているデータを移行するための技術がある。
【０００３】
特許文献１は、旧バージョンと新バージョンのソフトウェアが共存する環境において、旧バージョンから新バージョンにデータを移行する際に適用されるものである。より具体的には、旧バージョンから新バージョンへデータの移行を行う場合、データの一括移行を行わずに、旧バージョンのデータを新バージョンにおいて使用する時点でデータ移行を行う。
【０００４】
一方、印刷装置とＰＣ等の情報処理装置とがネットワークを介して通信可能に接続された印刷処理システムにおいて、情報処理装置上で稼動しているソフトウェアをバージョンアップする技術がある。例えば、特許文献２は、情報処理装置の機能拡張のため、拡張部分を「プラグイン」として、情報処理装置に追加する技術について開示している。更に、追加されたプラグインの機能が印刷装置において実行可能であるか否かをセットアッププログラムが判別し、実行可能である場合に、プラグインを有効化するといった開示もある。
【特許文献１】特開２００３−３６１８１号公報
【特許文献２】特開２００６−０７２５２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１記載のシステムにおいては、ユーザが新バージョンのソフトウェア経由で旧バージョンのデータにアクセスした時にデータ移行を行うため、データ移行に伴うデータベースのダウンタイムが発生しない利点がある。しかしながら、その一方で、移行対象のデータのサイズが大きい場合は、ソフトウェアにおける処理に関連するレスポンスが悪化し、ユーザの利便性が低下する恐れがあった。更に、大量のデータを移行しなければならないようなソフトウェアにおいては、データの移行が完了するまでに長い時間を要するため、旧バージョンのソフトウェアを移行完了までの長時間、稼動させておく必要があった。
【０００６】
また、特許文献２に記載のシステムでは、ソフトウェアの更新とプラグインの更新が同期して行われており、ソフトウェアの更新とプラグインの更新に時間差がある場合のデータの移行処理については、何ら考慮されていない。そのため、旧バージョンのソフトウェアおよびプラグインを、以下の手順（０）〜（３）でバージョンアップした場合、旧バージョンのデータの移行が不完全となる場合があった。また、データの移行後、新バージョンのプラグインにてデータの再構築が必要になる場合もあった。
（０）旧バージョンのソフトウェアおよびプラグインを運用している。
（１）旧バージョンのソフトウェアを新バージョンのソフトウェアにバージョンアップする。ただし、プラグインのバージョンアップは行わない。
（２）一定期間運用する。
（３）旧バージョンのプラグインを新バージョンのプラグインにバージョンアップする。
【０００７】
本発明は、上記問題点を解決するためになされたもので、バージョンの異なるソフトウェア間においてデータ移行を行う際に、ユーザの利便性を低下させず、かつ、適切なデータ移行を行うことを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置であって、前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移行手段と、前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行手段を起動する制御手段とを備え、前記データ移行手段は、第２ソフトウェア及び第１ソフトウェアに対応する管理情報の形式に共通する管理項目において、第１ソフトウェアに適するよう当該管理項目の値を新たに付与することで管理情報を変換し、前記制御手段は、さらに、前記データ移行手段による管理情報の移行状況に関する情報を取得する移行状況情報取得手段と、前記移行状況情報取得手段で取得した移行状況に関する情報に基づき、前記管理情報の移行状況を通知する通知手段と備えることを特徴とする。
【０００９】
また、データベースに記憶されたネットワークを介して通信可能なネットワークデバイスの管理情報を用いてネットワークデバイスを管理する第１ソフトウェアが動作する情報処理装置であって、前記第１ソフトウェアとは異なるバージョンの第２ソフトウェアに対応した形式の管理情報を取得し、当該取得した第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアに対応した形式に基づき変換し、当該変換した管理情報を前記データベースに登録するデータ移行手段と、前記第２ソフトウェアに対応した形式の管理情報を第１ソフトウェアで用いるためのデータ移行処理の指示を受け付け、当該受け付けた指示に応じて前記データ移行手段を起動する制御手段とを備え、前記制御手段及び前記データ移行手段は、異なる処理プロセスで起動されることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、バージョンの異なるソフトウェア間においてデータ移行を行う際に、ユーザの利便性を低下させず、かつ、適切なデータ移行を行うことが可能となる。
【発明を実施するための最良の形態】
【００１１】
（実施例１）
以下、本発明の第１の実施例について、図面を参照して説明する。
【００１２】
本実施例においては、情報処理装置上で稼動するソフトウェアがバージョンアップされる際の動作について説明する。
【００１３】
図１は、本実施例の情報処理装置が動作するシステムの構成を示す図である。
【００１４】
本図において、１０１、１０２は本実施例で説明するソフトウェアが稼動する情報処理装置である。ただし、本実施例においては、情報処理装置１０１には旧バージョンの情報処理ソフトウェア（第２ソフトウェア）が格納されており、情報処理装置１０２には新バージョンの情報処理ソフトウェア（第１ソフトウェア）が格納されている。バージョンが異なることにより、ソフトウェアで扱うデータや機能についても当然異なる。本実施例における情報処理ソフトウェアは、主にネットワークに接続された画像形成装置（後述）などのネットワークデバイスの情報やそれらのネットワークデバイスに対して行う処理などのタスクにかかる情報を扱う。
【００１５】
１０３はクライアントＰＣである。
【００１６】
本実施例においては、ユーザが１０３上で稼動するＷｅｂブラウザ経由で、情報処理装置１０１、１０２に対して各種処理を指示することを想定しているが、Ｗｅｂブラウザに限らず、例えば、コマンドラインツールなどを用いても良い。
また、情報処理装置１０１、１０２に対する指示は、クライアントＰＣからではなく、情報処理装置１０１、１０２を含む別のＰＣからであってもよい。
また、１０４は複合機である。
これらの機器はすべてＬＡＮ１００によりネットワークに接続されている。
【００１７】
図２は、情報処理装置の内部構成について説明した図である。
【００１８】
本実施例の情報処理装置（図１における１０１、１０２）は、本図に示したような情報処理装置を実現可能なＰＣと同様の構成のＰＣ上に実現される。ハードディスク（ＨＤ）２１１には、後述のすべての説明で動作主体となる本実施例に係る情報処理ソフトウェアのプログラムが格納される。後述のすべての説明において、特に断りのない限り、実行の主体はハード上はＣＰＵ２０１である。一方、ソフトウェア上の制御の主体は、ハードディスク（ＨＤ）２１１に格納された情報処理ソフトウェアである。
【００１９】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。２０５はキーボードコントローラ（ＫＢＣ）で、キーボード（ＫＢ）２０９やポインティングデバイス（不図示）等からの指示入力を制御する。２０６はディスプレイコントローラ（ＤＳＰＣ）で、ディスプレイ（ＤＳＰ）２１０の表示を制御する。２０７はディスクコントローラ（ＤＫＣ）で、ＣＤ−ＲＯＭ（不図示）、ハードディスク（ＨＤ）２１１やフロッピー（登録商標）ディスクコントローラ２１２などの記憶装置へのアクセスを制御するものである。ハードディスク（ＨＤ）２１１およびフロッピー（登録商標）ディスクコントローラ２１２等には、ブートプログラム、オペレーティングシステム、データベース、情報処理アプリケーションおよびそのデータ等を記憶している。２０８はインタフェースコントローラで、ＬＡＮ１００を介して他のネットワーク機器と情報を送受信する。
【００２０】
また本実施例においては、ＯＳは例えば、ウィンドウズ（登録商標）（マイクロソフト社製）を想定しているが、これに限るものではない。
【００２１】
なお、本実施例に係る情報処理プログラムは、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭなどの記憶媒体に格納された形で供給されても良い。その場合には図２に示すフロッピー（登録商標）ディスクコントローラ（ＦＤ）２１２または不図示のＣＤ−ＲＯＭドライブなどによって記憶媒体からプログラムが読み取られ、ハードディスク（ＨＤ）２１１にインストールされる。
【００２２】
図３は、複合機１０４の内部構成について説明した図である。本図において、複合機１０４は、スキャナ、プリンタ、コピー、ファックス機能一体型の複合機である。さらに、複合機１０４は、公衆回線網３１２を介して他の通信装置に接続されている。なお、複合機、デジタル複写機、コピー機能付プリンタ、または単機能のプリンタなどを含む画像形成装置のうち、本実施例においては、複合機１０４を例示する。
【００２３】
複合機１０４は、主にリーダ部３０１、プリンタ部３０２、画像入出力制御部３０３、操作部３０４で構成されている。
【００２４】
リーダ部３０１は、プリンタ部３０２および画像入出力制御部３０３に接続され、操作部３０４からの指示に従って、原稿の画像読み取りを行うとともに読み取った画像データをプリンタ部３０２又は画像入出力制御部３０３に出力する。
【００２５】
プリンタ部３０２は、リーダ部３０１および画像入出力制御部３０３から出力された画像データを記録紙に印刷する。
【００２６】
画像入出力制御部３０３は、ＬＡＮや公衆回線網と接続し、画像データの入出力を行い、更にジョブの解析および制御を行う。画像入出力制御部３０３は、ファクシミリ部３０５、ファイル部３０６、外部インタフェース部３０８、ＰＤＬフォーマッタ部３０９、画像メモリ部３１０、およびコア部３１１で構成される。
【００２７】
操作部３０４は、ユーザからの入力操作を受け付ける。
【００２８】
ファクシミリ部３０５は、コア部３１１および公衆回線網に接続され、公衆回線網から受信した圧縮された画像データの伸長を行い、伸長した画像データをコア部３１１へ送信する。また、コア部３１１から送信された画像データを圧縮し、公衆回線を介して圧縮した画像データを公衆回線網に送信する。
【００２９】
ファイル部３０６は、コア部３１１および外部記憶装置３０７に接続され、コア部３１１から送信された画像データや機器制御コマンドの実行結果を、これを検索するためのキーワードと共にハードディスクなどで構成可能な外部記憶装置３０７に記憶させる。また、ファイル部３０６は、コア部３１１から送信されたキーワードに基づいて外部記憶装置３０７に記憶されている画像データや機器制御コマンドの実行結果を読み出し、コア部３１１へ送信する。
【００３０】
外部インタフェース部３０８は、他のネットワーク機器とコア部３１１間のインタフェースである。他のネットワーク機器からのジョブ制御データ、画像データまたは機器制御コマンドの送受信は、外部インタフェース部３０８を介して行う。ジョブ制御データとしては、ＰＤＬデータと共に送信されるジョブ制御命令を含み、例えば、ＰＤＬデータを展開して画像データとして印刷した後、ステイプルソートして排紙させるものが挙げられる。
【００３１】
また、機器制御コマンドの例としては、以下が挙げられる。
（１）複合機１０４で発生しているエラー情報や複合機１０４が保持する宛先表等の各種データ等を取得する情報取得コマンド
（２）複合機１０４の設定を変更する、宛先表等の各種データを配信するなどの情報配信コマンド
フォーマッタ部３０９は、コア部３１１に接続され、コンピュータから送信されたＰＤＬデータをプリンタ部３０２でプリントできる画像データに展開するものである。
【００３２】
画像メモリ部３１０は、リーダ部３０１からの情報や、外部インタフェース部３０８を介しコンピュータから送られてきた情報を一時的に蓄積しておくためのものである。
【００３３】
コア部３１１は、上述したリーダ部３０１、操作部３０４、ファクシミリ部３０５、ファイル部３０６、外部インタフェース部３０８、ＰＤＬフォーマッタ部３０９、画像メモリ部３１０のそれぞれの間を流れるデータ等の制御を行う。
【００３４】
図４は、情報処理装置１０２の機能構成を示すブロック図であり、旧バージョンの情報処理ソフトウェアが格納されている情報処理装置１０１からのデータ移行を制御するためのものである。
【００３５】
本図において、４００は情報処理装置１０２に格納されている新バーションの情報処理ソフトウェアである。
【００３６】
情報処理ソフトウェア４００は、制御部４１０、データ移行部４２０、共通部４３０、プラグイン部４４０からなる。
【００３７】
制御部４１０には、情報処理装置１０１から移行するデータが存在するかどうかを判断するための移行データ有無判断機能４１１が設けられている。
【００３８】
更に、制御部４１０には、後述するデータ移行部４２０を別の処理プロセスにて起動し、データ移行を依頼するためのデータ移行依頼機能４１２が設けられている。
【００３９】
また、進行状況情報取得機能４１３は、データ移行部が管理するデータ移行処理の進行状況情報（図１０参照）を、データベース入出力機能４３１経由でデータベース４３２から取得する。ここで、進行状況情報は、情報処理装置４００が前もってデータベース４３２に格納しておくものとする。
【００４０】
進行状況情報通知機能４１４は、上記進行状況情報取得機能４１３にて取得した進行状況をユーザに知らせる。本実施例においては、情報処理装置１０２に格納されているＷｅｂサーバ４５０を経由して、クライアントＰＣ１０３上のＷｅｂブラウザにｈｔｍｌ文書で進行状況を通知する。
【００４１】
接続情報収集機能４１５は、旧バージョンの情報処理ソフトウェアと接続するための情報を収集する。通常、ユーザがＷｅｂブラウザ上で入力した情報をＷｅｂサーバ４５０経由で取得する。収集する情報は、旧バージョンの情報処理ソフトウェアが使用しているデータベースのサーバ名、データベースの名称、アカウント名、パスワードなどが想定されるが、これに限定されるものではない。更に、収集した情報をデータベース入出力機能４３１経由でデータベース４３２に登録する。
【００４２】
次に、データ移行部４２０について説明する。
【００４３】
データ移行部４２０には、データ移行依頼機能４１２からのデータ移行依頼を受けて、旧バージョンの情報処理装置（例えば、１０１）からデータを取得するための移行データ取得機能４２１が設けられている。
【００４４】
移行データ取得機能４２１は、通信機能４３５経由で移行データを取得する。移行データ変換機能４２２は、上記移行データ取得機能４２１にて取得した旧バージョンのデータを新バージョンでの指定形式に変換する。移行データ登録機能４２３は、上記移行データ変換機能４２２にて変換されたデータを、データベース入出力機能４３１経由でデータベース４３２に登録する。
【００４５】
進行状況情報更新機能４２４は、移行データ取得機能４２１および移行データ登録機能４２３を監視し、データ移行の進行状況に変化があったら、データベース入出力機能４３１経由でデータベース４３２の進行状況情報を更新する。
【００４６】
接続情報取得機能４２５は、接続情報収集機能４１５がデータベース４３２に格納した、旧バージョンの情報処理ソフトウェアと接続するための情報を取得する。
【００４７】
次に、共通部４３０について説明する。
【００４８】
共通部４３０には、データベース４３２へのデータ入出力を司るデータベース入出力機能４３１が設けられている。
【００４９】
データベース４３２は、ネットワークデバイスを管理するための管理情報やタスクデータなどを格納するものである。一般的に、データベース４３２に格納されたデータは、図２のＨＤ２１１に格納される。
【００５０】
処理機能４３３は、本実施例の情報処理ソフトウェア４００に特有の処理を行う機能であり、例えば、複合機１０４に対して情報取得コマンドや情報配信コマンドを発行する。処理実行のために必要にデータ（例えば、配信するデータ）はデータベース入出力機能４３１経由でデータベース４３２から取得される。また、処理結果（例えば、取得したデータ）は、データベース入出力機能４３１経由でデータベース４３２に格納される。
【００５１】
プラグイン管理機能４３４は、情報処理ソフトウェア４００に対するプラグイン４４０の追加・削除・更新等の管理機能を司る。
【００５２】
通信機能４３５は、インタフェースコントローラ２０８、ＬＡＮ１００経由で情報取得コマンド、情報配信コマンド、あるいは、移行データなどを送受信するものである。
【００５３】
プラグイン４４０、プラグインデータ取得機能４４１、プラグインデータ変換機能４４２、およびプラグイン処理機能４４３は、実施例２にて説明するため、ここでは説明を省略する。
【００５４】
４５０はＷｅｂサーバで、クライアントＰＣ１０３上のＷｅｂブラウザで受け付けたユーザの入力情報を情報処理ソフトウェア４００に渡す。また、情報処理ソフトウェア４００から送信されたＨＴＭＬデータをクライアントＰＣ１０３上のＷｅｂブラウザに表示する。
【００５５】
次に、データベース４３２に格納されるデータの構成について説明する。
【００５６】
図５は、新旧のバージョンの情報処理ソフトウェアで用いるユーザ情報を格納するユーザテーブルの例である。旧バージョンの情報処理ソフトウェアで用いるユーザテーブルの例（図５（ａ））と新バージョンの情報処理ソフトウェアで用いるユーザテーブルの例（図５（ｂ））を列挙している。ここで、ユーザ情報とは具体的に本システムに属するユーザやネットワークデバイス利用者などを管理するための情報である。
【００５７】
５００は旧バージョンのユーザテーブルを示す。
５００１は旧バージョンのユーザ情報の例である。
【００５８】
ここで各管理項目について説明する。５０１０は、ユーザＩＤであり、ユーザ毎に一意の値が割り当てられる。本実施例では、ユーザＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。５０２０は、ユーザ名である。５０３０は、ユーザのフルネームである。５０４０は、Ｅメールアドレスである。
【００５９】
５１０は新バージョンのユーザテーブルを示す。
５１０１は新バージョンのユーザ情報の例である。５１１０は、５０１０と同一である。本実施例では、ユーザＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。また、旧バージョンにおけるユーザＩＤの値と同一である必要もない。５１２０は、５０２０と同一である。５１３０は、５０３０と同一である。５１４０は、５０４０と同一である。５１５０は、最終ログイン時刻である。ここで、最終ログイン時刻５１５０は、旧バージョンのユーザ情報には存在しない。
【００６０】
図６は、新旧のバージョンの情報処理ソフトウェアが管理するデバイスの情報を格納するデバイステーブルの例である。旧バージョンの情報処理ソフトウェアで用いるデバイステーブルの例（図６（ａ））と新バージョンの情報処理ソフトウェアで用いるデバイステーブルの例（図６（ｂ））を列挙している。
６００は旧バージョンのデバイステーブルを示す。
６００１は旧バージョンのデバイス情報の例である。
【００６１】
ここで各管理項目について説明する。６０１０は、デバイスＩＤであり、デバイス毎に一意の値が割り当てられる。本実施例では、デバイスＩＤの値として、デバイスのＭＡＣアドレスを使用している。６０２０は、製品名である。６０３０は、ＩＰアドレスである。６０４０は、デバイス状態である。デバイスの状態に応じて、「正常」、「警告」、「エラー」、「サービスコールエラー」が格納される。
【００６２】
６１０は新バージョンのデバイステーブルを示す。
６１０１は新バージョンのデバイス情報の例である。６１１０は、６０１０と同一である。６１２０は、６０２０と同一である。６１３０は、６０３０と同一である。６１４０は、６０４０と同一である。６１５０は、デバイス詳細状態である。デバイス詳細状態６１５０には、デバイスでエラーが発生した際の詳細情報が格納される。ここでは詳細情報の例として、「紙づまり」、「トナーなし」、「ドアオープン」を上げておく。
【００６３】
図７は、新旧のバージョンの情報処理ソフトウェアが実行するタスク（１台以上のデバイスに対してコマンドを発行する作業）に関する情報として登録・格納されるタスクテーブルの例である。旧バージョンの情報処理ソフトウェアで用いるタスクテーブルの例（図７（ａ））と新バージョンの情報処理ソフトウェアで用いるタスクテーブルの例（図７（ｂ））を列挙している。ここでは、宛先表を配信する処理を実行するタスクを例示するが、それ以外のリソースデータをネットワークデバイスに配信する、もしくはネットワークデバイスのネットワーク設定を変更するなどの管理作業を行うといった様々なタスクも同様な定義がなされる。
【００６４】
７００は旧バージョンのタスクテーブルを示す。
７００１は旧バージョンのタスク情報の例である。
【００６５】
ここで各管理項目について説明する。７０１０は、タスクＩＤであり、タスク毎に一意の値が割り当てられる。本実施例では、タスクＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。７０２０は、タスク名である。７０３０は、本タスクの所有者であるユーザのユーザＩＤである。７０４０は、本タスクによって、コマンドが送付されるデバイスのデバイスＩＤである。７０５０は、本タスクの具体的な内容である。本実施例では、デバイスＩＤが「１１：２２：３３：４４：５５：６６」であるデバイスと「１１：２２：３３：４４：５５：６７」であるデバイスに宛先表を配信するタスクが例示されている。
【００６６】
７１０は新バージョンのタスクテーブルを示す。
７１０１は新バージョンのタスク情報の例である。７１１０は、７０１０と同一である。本実施例では、タスクＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。また、旧バージョンにおけるタスクＩＤの値と同一である必要もない。７１２０は、７０２０と同一である。７１３０は、７０３０と同一である。７１４０は、７０４０と同一である。７１５０は、７０５０と同一である。
【００６７】
図８は、新旧のバージョンの情報処理ソフトウェアと複合機１０４との間でやり取りする宛先表を格納する宛先表テーブルの例である。旧バージョンの情報処理ソフトウェアで用いる宛先表テーブルの例（図８（ａ））と新バージョンの情報処理ソフトウェアで用いる宛先表テーブルの例（図８（ｂ））を列挙している。
【００６８】
８００は旧バージョンの宛先表テーブルを示す。
８００１は旧バージョンの宛先表情報の例である。８０１０は、宛先表ＩＤであり、宛先表毎に一意の値が割り当てられる。本実施例では、宛先表ＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。８０２０は、宛先表名である。８０３０は、本宛先表の所有者であるユーザのユーザＩＤである。８０４０は、本宛先表に関連付けられている宛先の宛先ＩＤである。８０５０は、本宛先表の取得元のデバイスのデバイスＩＤである。なお、宛先表情報はデバイスから取得せずに、情報処理ソフトウェア上で自作することができる。この場合、デバイスＩＤ８０５０の値は空となる。
【００６９】
８１０は新バージョンの宛先表テーブルを示す。
８１０１は新バージョンの宛先表情報の例である。８１１０は、８０１０と同一である。本実施例では、宛先表ＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。また、旧バージョンにおける宛先表ＩＤの値と同一である必要もない。８１２０は、８０２０と同一である。８１３０は、８０３０と同一である。８１４０は、８０４０と同一である。８１５０は、８０５０と同一である。
【００７０】
図９は、図８に記載の宛先ＩＤ８０４０／８１４０が指し示す宛先を格納する宛先テーブルの例である。旧バージョンの情報処理ソフトウェアで用いる宛先テーブルの例（図９（ａ））と新バージョンの情報処理ソフトウェアで用いる宛先テーブルの例（図９（ｂ））を列挙している。
【００７１】
９００は旧バージョンの宛先テーブルを示す。
９００１は旧バージョンの宛先情報の例である。９０１０は、宛先ＩＤであり、宛先毎に一意の値が割り当てられる。本実施例では、宛先ＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。９０２０は、宛先タイプである。宛先タイプ９０２０に指定可能な値の例として、「ＦＡＸ」、「Ｅメール」が存在する。９０３０は、本宛先の名前である。通常、デバイス上から本宛先を指定して情報を送付する際の送付先を記載する。９０４０は、宛先タイプ９０２０が「Ｆａｘ」の場合にのみ有効になる項目で、Ｆａｘ番号である。なお、宛先タイプ９０２０が「Ｆａｘ」以外の場合、Ｆａｘ番号９０４０の値は空となる。９０５０は、宛先タイプ９０２０が「Ｅメール」の場合にのみ有効になる項目で、Ｅメールアドレスである。なお、宛先タイプ９０２０が「Ｅメール」以外の場合、Ｅメールアドレス９０５０の値は空となる。
【００７２】
９１０は新バージョンの宛先テーブルを示す。
９１０１は新バージョンの宛先情報の例である。９１１０は、９０１０と同一である。本実施例では、宛先ＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。また、旧バージョンにおける宛先ＩＤの値と同一である必要もない。９１２０は、９０２０と同一である。ただし、新バージョンの宛先タイプ９１２０では、新たに「Ｉ−Ｆａｘ」を指定できることとする。９１３０は、９０３０と同一である。９１４０は、９０４０と同一である。９１５０は、９０５０と同一である。９０６０は、新バージョンの宛先タイプ９１２０が拡張されたために追加された項目で、Ｉ−Ｆａｘアドレスである。本項目は宛先タイプ９１２０が「Ｉ−Ｆａｘ」の場合にのみ有効になる項目である。なお、宛先タイプ９１２０が「Ｉ−Ｆａｘ」以外の場合、Ｉ−Ｆａｘアドレス９０６０の値は空となる。
【００７３】
図１０は進行状況情報テーブルの例である。
【００７４】
本実施例では、進行状況情報更新機能４２４が本テーブルの情報を更新することによってデータ移行の進捗状況が管理される。また、進行状況情報取得機能４１３は本テーブルの情報を取得し、進行状況情報通知機能４１４がユーザにデータ移行の進行状況を通知する。
【００７５】
本図において、１０００は進行状況情報テーブルを示す。
【００７６】
１００１は、進行状況情報テーブルの値の例である。１０１０は、データ移行状態である。データ移行状態１０１０が取りうる値として、「移行開始前」、「移行中」、「移行完了」、「移行失敗」が存在する。１０２０は、進行割合である。移行対象の全データのうち、移行が完了したデータの割合を格納する。進行割合は、移行対象のデータサイズを基に値を算出しても良いし、移行対象データの個数を基に値を算出しても良い。また、他の方法によって算出しても良い。１０３０は、プラグインＩＤである。追加インストールされたプラグインのデータ移行を行う場合は、データ移行対象となるプラグインのプラグインＩＤを格納する。本実施例のように、情報処理ソフトウェアそのもののデータ移行を行う場合は、本項目の値を０にしておく。なお、プラグインＩＤについては、図１６にて説明する。
【００７７】
図１１のフローチャートを用いて、情報処理ソフトウェア４００が実行する処理を説明する。本処理は情報処理装置１０２上の情報処理ソフトウェア４００が、旧バージョンの情報処理ソフトウェアで用いられていた情報を、情報処理ソフトウェア４００に対応する形式・値に変換してデータベースに登録することでデータ移行に関する処理である。
【００７８】
Ｓ１１０１では、ユーザなどからデータ移行処理の指示を受け付けたことに応じて、接続情報収集機能４１５を用いて、旧バージョンの情報処理ソフトウェアの接続情報を収集する。収集した情報は、データベース４３２に格納される。
【００７９】
Ｓ１１０２では、移行データ有無判断機能４１１が、Ｓ１１０１で収集した接続情報を用いて旧バージョンに接続し、旧バージョンの情報処理ソフトウェアが管理するデータに移行対象データが存在するかどうかを調べる。移行対象データが存在する場合は、Ｓ１１０３に進む。移行対象データが存在しない場合は、本フローチャートを終了する。
【００８０】
Ｓ１１０３では、データ移行依頼機能４１２がデータ移行部４２０を別プロセスにて起動する。起動されたデータ移行部４２０に係る処理は、図１２を用いて後述する。
【００８１】
Ｓ１１０４は、進行状況情報取得機能４１３がデータベース４３２から進行状況情報テーブル１０００の情報を取得する。また、取得した進行状況情報を「前回の情報」として、ＲＡＭ２０３に保存する。更に、上記進行状況情報を進行状況情報通知機能４１４がＷｅｂサーバ４５０経由でユーザに送信する。
【００８２】
Ｓ１１０５は、ユーザからのデータ移行状況に関する問い合わせがあったかどうかを判別する。ユーザからの問い合わせは、クライアントＰＣ１０３上のＷｅｂブラウザ、Ｗｅｂサーバ４５０を経由し、進行状況情報通知機能４１４が受信する。ユーザからの問い合わせがあった場合は、Ｓ１１０６に進む。ユーザからの問い合わせが無かった場合は、再度Ｓ１１０５を実行する。
【００８３】
Ｓ１１０６では、進行状況情報取得機能４１３がデータベース４３２の進行状況情報テーブル１０００の情報を取得する。
【００８４】
Ｓ１１０７は、進行状況情報取得機能４１３がＳ１１０６で取得した進行状況情報テーブル１０００のデータ移行状態１０１０が「移行失敗」であるかどうかを判断する。また、上記進行状況情報テーブル１０００と、Ｓ１１０４においてＲＡＭ２０３に保存した「前回の情報」とを比較する。上記進行状況情報テーブル１０００のデータ移行状態１０１０が「移行失敗」である、あるいは、進行状況情報テーブル１０００とＲＡＭ２０３に保存した「前回の情報」が同一である、と判断された場合は、Ｓ１１０８に進む。それ以外の場合は、Ｓ１１０９に進む。ここで、進行状況情報テーブル１０００とＲＡＭ２０３に保存した「前回の情報」が同一である場合というのは、ある程度時間が経過しても、通信エラーなどの要因によりデータ移行が進行していないと推定される。
【００８５】
Ｓ１１０８では、進行状況情報取得機能４１４が、Ｗｅｂサーバ４５０経由でデータ移行処理が失敗かつ完了したことをユーザに通知する。その後、本フローチャートを終了する。
【００８６】
Ｓ１１０９では、進行状況情報取得機能４１３がＲＡＭ２０３に保存した「前回の情報」を、Ｓ１１０６で取得した進行状況情報テーブル１０００の情報で上書きする。
【００８７】
Ｓ１１１０では、Ｓ１１０６で取得した進行状況情報テーブル１０００のデータ移行状態１０１０が「移行完了」であるかどうかを、進行状況情報取得機能４１３が判断する。「移行完了」である場合は、Ｓ１１１１に進む。それ以外の場合は、Ｓ１１１２に進む。
【００８８】
Ｓ１１１１では、進行状況情報取得機能４１４が、Ｗｅｂサーバ４５０経由でデータ移行処理が成功かつ完了したことをユーザに通知する。その後、本フローチャートを終了する。
【００８９】
Ｓ１１１２では、進行状況情報取得機能４１４が、Ｗｅｂサーバ４５０経由でデータ移行中であることをユーザに通知する。その後、Ｓ１１０５に戻る。
【００９０】
以上で、本フローチャートの説明を終了する。
【００９１】
図１２のフローチャートを用いて、情報処理ソフトウェア４００における、図１１のＳ１１０３によって、制御部４１０がデータ移行部４２０の処理を行う別プロセスを作成した際の処理について説明する。具体的には、ＣＰＵ２０１が、ＨＤ２１１からデータ移行部４２０のプログラムを読み出し、ＲＡＭ２０３上でデータ移行部４２０のプログラムを実行する。
【００９２】
本図において、Ｓ１２０１では、データ移行部４２０が、データ移行依頼機能４１２からのデータ移行処理依頼を受信する。
【００９３】
Ｓ１２０２では、進行状況情報更新機能４２４がデータベース４３２の進行状況情報テーブル１０００のデータ移行状態１０１０を「移行中」に変更する。また、進行割合１０２０を「０％」に設定する。なお、本実施例では進行割合を％表記しているが、とくにこれに限定される必要はない。
【００９４】
次に、Ｓ１２０３では、接続情報取得機能４２５が、図１１のＳ１１０１でデータベース４３２に格納された接続情報を取得し、ＲＡＭ２０３上に保管する。
【００９５】
Ｓ１２０４では、上記Ｓ１２０３でＲＡＭ２０３に保管した情報を用いて、移行データ取得機能４２１が通信機能４３５を経由して旧バージョンの情報処理ソフトウェアに接続する。
【００９６】
Ｓ１２０５では、移行データ取得機能４２１による旧バージョンの情報処理ソフトウェアへの接続が成功したかどうかを判別する。接続が成功した場合は、Ｓ１２０６に進む。接続が失敗した場合は、Ｓ１２１５に進む。
【００９７】
Ｓ１２０６では、移行データ取得機能４２１が旧バージョンの情報処理ソフトウェアから移行対象データの総数を取得し、ＲＡＭ２０３に保存する。総数は、移行対象データの総個数でも良いし、総サイズでも良いし、それ以外の数値でもよい。
【００９８】
Ｓ１２０７では、移行データ取得機能４２１が移行対象データの取得済み個数を０に設定し、ＲＡＭ２０３に保管する。
【００９９】
Ｓ１２０８では、移行データ取得機能４２１が旧バージョンの情報処理ソフトウェアから移行対象データを取得し、ＲＡＭ２０３に保管する。
【０１００】
Ｓ１２０９では、移行データ変換機能４２２がＳ１２０８で取得した移行対象データを、新バージョンの情報処理ソフトウェアに対応した形式に変換する。具体的には、図５〜図９に（ａ）として示した旧バージョンの移行対象テーブルおよびその値を、（ｂ）として示した新バージョンのテーブル形式および値に変換する。
【０１０１】
この際、各テーブルの項目のうち、ユーザＩＤ、タスクＩＤ、宛先表ＩＤ、宛先ＩＤなどは、データベース４３２がデータ管理を行う上で、ＩＤを振り直すことがある。例えば、旧バージョンの情報処理ソフトウェアを運用中において、一度作成したユーザ情報を、その後に削除した場合、シーケンシャルなユーザＩＤの数値が１つ分抜けることがある。旧バージョンのユーザテーブル５００がこのような状態である場合、新バージョンのユーザテーブル５１０では、ユーザＩＤをシーケンシャルになるよう新たに値を付与する。
【０１０２】
また、各テーブルにおいて、旧バージョンに存在するが、新バージョンに存在しない項目あれば、その項目の値は破棄される。その逆に、あるテーブルに、旧バージョンに存在せず、かつ、新バージョンに存在する項目あれば、新バージョンのその項目の値は空に設定される。
【０１０３】
Ｓ１２１０では、移行データ登録機能４２３が、上記Ｓ１２０９で変換された移行対象データをデータベース４３２に登録する。
【０１０４】
Ｓ１２１１では、移行データ取得機能４２１がＳ１２０８で取得した移行対象データの個数をＲＡＭ２０３に保管している移行対象データの取得済み個数に加えることによって、移行対象データの総数を更新する。
【０１０５】
Ｓ１２１２では、接続情報取得機能４２５が進行状況情報テーブル１０００の進行割合１０２０の値を更新する。具体的には、接続情報取得機能４２５がＳ１２１１で更新した移行対象データの取得済み個数を、Ｓ１２０６で取得した総数で割ることによって、移行割合を算出する。また、算出した移行割合をデータベース４３２に格納する。
【０１０６】
Ｓ１２１３では、移行データ取得機能４２１が全ての移行対象データを受信したかどうかを判別する。通常、ＲＡＭ２０３に保存している移行対象データの総数と移行対象データの取得済み個数が一致するかどうかを検査する。あるいは、Ｓ１２１２で計算した進行状況情報テーブル１０００の進行割合１０２０が「１００％」になっているかどうかを検査しても良い。全ての移行対象データを受信している、即ち、移行対象データの総数と移行対象データの取得済み個数が一致した、あるいは、進行割合１０２０が「１００％」になった場合、Ｓ１２１４に進む。それ以外の場合は、Ｓ１２０８に戻る。
【０１０７】
Ｓ１２１４では、進行状況情報更新機能４２４が進行状況情報テーブル１０００のデータ移行状態１０１０を「移行完了」に変更する。
【０１０８】
Ｓ１２１５では、進行状況情報更新機能４２４が進行状況情報テーブル１０００のデータ移行状態１０１０を「移行失敗」に変更する。なお、本ステップは、Ｓ１２０５にて、移行データ取得機能４２１による旧バージョンの情報処理ソフトウェアへの接続が失敗したと判断された場合に実行される。
【０１０９】
以上で、本フローチャートの説明を終了する。
【０１１０】
図１３は本実施例において、情報処理装置１０２のディスプレイ２１０を介して、ユーザに実行結果を通知する画面の例である。本図において、１３００はデータ移行結果通知画面である。
【０１１１】
１３０１は、データ移行メッセージで、進行状況情報テーブル１０００のデータ移行状態１０１０の値に合わせて、適切なものを表示する。本図においては、「移行成功」時のメッセージを表示しているが、「移行中」、「移行失敗」時においてもそれぞれ適切なメッセージが表示される。また、データ移行メッセージとして、移行対象データの総数、移行対象データの取得済み個数などの情報を追加したメッセージを表示してもよい。
【０１１２】
（本実施例の適用例）
ソフトウェアをインストールする際に、データ移行を担当する部分を別プロセスで起動することで、旧バージョンで使用し、かつ、新バージョンで必要とされるデータの移行を行う。
【０１１３】
例えば、インターネット・イントラネット環境においては、データ移行処理に時間がかかってしまうと、例えばブラウザの表示画面上でタイムアウトを起こし、ユーザにデータ移行の進行状況の通知が行えないなどの弊害が生じる場合がある。
【０１１４】
ここで、本実施例をインターネット・イントラネット環境において適用し、前述したように移行データ有無判断機能４１１で移行可能データの有無を判断し、データ移行依頼機能４１２でデータ移行部４２０を別プロセスにて起動する構成をとる。更に、別プロセスで起動したデータ移行部４２０が進行状況情報テーブル１０００を更新するよう随時、データ移行の進行状況を通知するような構成をとる。
【０１１５】
これら構成によれば、インターネット・イントラネット環境において、大量のデータ移行を含むソフトウェアインストール処理の際にも、前述のタイムアウトの課題が解決され、データ移行やインストールの進行状況が画面を介して、逐次ユーザに通知できる。
【０１１６】
以上で、本実施例の説明を終了する。
【０１１７】
（実施例２）
以下、本発明の第２の実施例について、図面を参照して説明する。
【０１１８】
本実施例においては、実施例１において情報処理ソフトウェア４００がバージョンアップされ、しばらく運用された後、情報処理ソフトウェアに追加されるプラグインがバージョンアップされた際の動作について説明する。なお、追加インストールされるプラグインは、宛先表を送受信する機能を有するプラグインを想定しているが、これ以外の機能を有するものであっても良い。
【０１１９】
更に、プラグインが追加インストールされていない状態で情報処理ソフトウェア４００が一定期間稼動しているため、図５から図７に示した各テーブルのデータは、旧バージョンの情報処理ソフトウェアが持っていたデータとは異なっている可能性がある。
【０１２０】
図１から図３までは、第１の実施例と同様であるため、説明を省略する。
【０１２１】
図４においては、プラグイン４４０、プラグインデータ取得機能４４１、プラグインデータ変換機能４４２、およびプラグイン処理機能４４３について説明する。その他の部分については、第１の実施例と同様である。
【０１２２】
ユーザの指示に基づき、情報処理ソフトウェア４００にプラグインが追加インストールされると、情報処理ソフトウェア内にプラグイン４４０が配置される。
【０１２３】
図１４は情報処理ソフトウェア４００にプラグインを追加インストールする際にユーザが操作する画面の例である。
【０１２４】
本図において１４００はプラグイン追加インストール画面である。１４０１は、プラグインのファイルを指定するためのプラグイン名入力テキストボックスである。１４０２は、デバイスデータ再取得要求チェックボックスで、プラグイン追加時にデバイステーブル６００のデータを更新するかどうかを指定する。本チェックボックスがチェックされると、プラグインのデータ移行時に、ＳＮＭＰプロトコル等を用いて、ネットワーク上のデバイスと通信を行う。１４０３は、上記プラグイン名入力テキストボックスにユーザが入力した値を確定するための「ＯＫ」ボタンである。１４０４は、上記プラグイン名入力テキストボックスにユーザが入力した値を破棄するための「Ｃａｎｃｅｌ」ボタンである。
【０１２５】
図１４のプラグイン名入力テキストボックス１４０１に正しいプラグインファイル名を入力し、「ＯＫ」ボタン１４０３を押下すると、情報処理ソフトウェア内にプラグイン４４０が配置される。
【０１２６】
図４に戻って説明を続ける。
【０１２７】
図４のプラグイン４４０には、プラグインデータ取得機能４４１が設けられている。これは、移行データ取得機能４２１にアクセスすることによって旧バージョンのプラグインの移行データを取得する。
【０１２８】
プラグインデータ変換機能４４２は、上記プラグインデータ取得機能４４１で取得した移行対象データを新バージョンでの指定形式に変換する。
【０１２９】
プラグイン処理機能４４３は、プラグイン４４０に特有の処理を行う機能である。プラグイン特有の処理として、本実施例では、複合機１０４の宛先表を送受信する処理を例に取る。この場合、プラグイン処理機能４４３は、複合機１０４に対して宛先表取得コマンドや宛先表配信コマンドを発行することになる。
【０１３０】
図１５のフローチャートを用いて、情報処理ソフトウェア４００における、プラグインを追加インストールし、旧バージョンの情報処理ソフトウェアからプラグインの移行対象データを移行する処理に関して説明する。
【０１３１】
Ｓ１５０１では、情報処理ソフトウェア４００がプラグイン追加インストール画面１４００のプラグイン名入力テキストボックス１４０１、デバイスデータ再取得要求チェックボックス１４０２の情報を受け取り、ＲＡＭ２０３に保存する。
【０１３２】
次に、Ｓ１５０２にて、プラグイン追加処理を行う。具体的には、まず、情報処理ソフトウェア４００がユーザのクライアントＰＣ上にあるプラグイン名入力テキストボックス１４０１で指定されたファイルをＷｅｂサーバ４５０経由で受け取る。次に、ファイルが圧縮されている場合は、ファイルを解凍し、ＨＤ２１１の適切な場所に保存する。最後に、プラグインの情報を、プラグイン管理装置４３４経由でデータベース４３２に格納する。
【０１３３】
図１６は、データベースに格納されるプラグイン情報の例である。
【０１３４】
本図において、１６００はプラグイン情報テーブルそのものである。１６０１は、プラグイン情報テーブルの値の例である。１６１０は、プラグインＩＤであり、プラグイン毎に一意の値が割り当てられる。本実施例では、プラグインＩＤの値として、シーケンシャルな数値を割り当てているが、一意なものであればどのような値であっても良い。１６２０は、プラグイン名である。１６３０は、格納場所で、情報処理装置１０２における本プラグインのインストール先が記載される。１６４０は、プラグインの状態である。「停止」、「開始中」、「データ移行中」、「データ移行失敗」が表示される。進行状況情報テーブル１０００に、プラグインＩＤ１６１０の値と一致する情報が存在し、そのデータ移行状態１０１０が「移行中」、「移行失敗」である場合は、状態１６４０の値も「データ移行中」、「データ移行失敗」に変更される。この変更は、プラグイン管理機能４３４が行う。
【０１３５】
図１５に戻って、説明を続ける。
【０１３６】
Ｓ１５０３からＳ１５１４は、図１１のＳ１１０１からＳ１１１２と同一であるため、説明を省略する。ただし、Ｓ１５１０、Ｓ１５１３、Ｓ１５１４にてユーザに通知する際には、プラグイン情報テーブルと関連付けて通知を行う。
【０１３７】
以上で、本フローチャートの説明を終了する。
【０１３８】
図１７のフローチャートを用いて、情報処理ソフトウェア４００における、図１５のＳ１５０５によって、制御部４１０がデータ移行部４２０のプロセスを作成した場合の処理を説明する。具体的には、ＣＰＵ２０１が、ＨＤ２１１からデータ移行部４２０のプログラムとプラグイン４４０のプログラムを読み出し、ＲＡＭ２０３上でデータ移行部４２０のプログラムとプラグイン４４０のプログラムを実行する。
【０１３９】
Ｓ１７０１からＳ１７０８は、図１２のＳ１２０１からＳ１２０８と同一であるため、説明を省略する。ただし、移行データ取得機能４２１は、プラグインデータ取得機能４４１から移行対象データの情報を受け取り、その情報に基づいて取得処理を実行する。
【０１４０】
Ｓ１７０９は、移行対象データ処理であり、Ｓ１７０８において取得した移行対象データの変換・登録処理を実行する。本処理の詳細は、図１８のフローチャートにて後述する。
【０１４１】
Ｓ１７１０からＳ１７１４は、図１２のＳ１２１１からＳ１２１５と同一であるため、説明を省略する。
【０１４２】
以上で、本フローチャートの説明を終了する。
【０１４３】
引き続き、図１８のフローチャートを用いて、Ｓ１７０９に係る処理を詳細に説明する。
【０１４４】
Ｓ１８０１では、プラグインデータ変換機能４４２が移行対象データの種類を判別する。移行対象データの種類がタスクデータである場合は、Ｓ１８０２に進む。移行対象データの種類が宛先表データである場合は、Ｓ１８０８に進む。それ以外である場合は、Ｓ１８１３に進む。
【０１４５】
Ｓ１８０２では、プラグインデータ変換機能４４２が、移行対象のタスクデータのユーザＩＤ７０３０がデータベース４３２に格納済みのユーザテーブル５１０内に存在するかどうかを調べる。存在する場合は、Ｓ１８０３に進む。存在しない場合は、Ｓ１８１５に進む。
【０１４６】
Ｓ１８０３では、プラグインデータ変換機能４４２が、移行対象のタスクデータのデバイスＩＤ７０４０がデータベース４３２に格納済みのデバイステーブル６１０内に存在するかどうかを調べる。存在する場合は、Ｓ１８０４に進む。存在しない場合は、Ｓ１８０７に進む。
【０１４７】
Ｓ１８０４では、プラグイン処理機能４４３がデバイスデータの再取得指示があったかどうかを判別する。具体的には、図１５のＳ１５０１にて、ＲＡＭ２０３に保存したデバイスデータの再取得を行うことを指示するチェックボックス１４０２に基づく値を確認する。チェックボックス１４０２の値が、チェック状態であれば、Ｓ１８０５に進む。チェックボックス１４０２の値が、チェックされてなければ、Ｓ１８１３に進む。
【０１４８】
Ｓ１８０５では、プラグイン処理機能４４３が、プラグイン管理機能４３４および通信機能４３５を経由して、ネットワーク上にデバイス情報の再取得要求を発行する。
【０１４９】
Ｓ１８０６では、プラグイン処理機能４４３がネットワークデバイスからの応答があったかどうかを判別する。ここで応答があった場合はネットワークデバイスの検出されたとして、Ｓ１８１２に進む。デバイスからの応答が無かった場合はネットワークデバイスの検出されなかったとして、Ｓ１８０７に進む。
【０１５０】
Ｓ１８０７では、プラグインデータ変換機能４４２が本タスクデータから本デバイスＩＤを削除する。その後、Ｓ１８１３に進む。
【０１５１】
次に、Ｓ１８０１にて移行対象データの種類が宛先表データであると判別された場合に実行するステップ１８０８を説明する。
【０１５２】
Ｓ１８０８では、プラグインデータ変換機能４４２が、移行対象の宛先表データのデバイスＩＤ８０５０がデータベース４３２に格納済みのデバイステーブル６１０内に存在するかどうかを調べる。存在する場合は、Ｓ１８０９に進む。存在しない場合は、Ｓ１８１６に進む。
【０１５３】
Ｓ１８０９は、本図のステップ１８０４と同一である。デバイスデータ再取得要求チェックボックス１４０２の値が、チェック状態であれば、Ｓ１８１０に進む。デバイスデータ再取得要求チェックボックス１４０２の値が、アンチェック状態であれば、Ｓ１８１３に進む。
【０１５４】
Ｓ１８１０は、本図のＳ１８０５と同一であるため、説明を省略する。
【０１５５】
Ｓ１８１１は、本図のステップ１８０６と同一である。デバイスからの応答があった場合はネットワークデバイスの検出されたとして、Ｓ１８１２に進む。デバイスからの応答が無かった場合はネットワークデバイスの検出されなかったとして、Ｓ１８１３に進む。
【０１５６】
Ｓ１８１２は、Ｓ１８０６またはＳ１８１１においてデバイスからの応答が合った場合に実行されるステップである。本ステップでは、プラグインデータ変換機能４４２がＳ１８０５またはＳ１８１０で取得したデバイスデータをプラグイン処理機能４４３から受け取る。その後、そのデバイスデータを移行データ変換機能４２２に渡す。移行データ変換機能４２２は、図１２のＳ１２０９と同様の方法でデバイスデータを変換後、移行データ登録機能４２３経由でデータベース４３２にデバイスデータを格納する。
【０１５７】
Ｓ１８１３、Ｓ１８１４は、図１２のＳ１２０９、Ｓ１２１０と同一であるため、説明を省略する。
【０１５８】
つぎに、Ｓ１８１５、Ｓ１８１６を説明する。これらのステップでは、プラグインデータ変換機能４４２が、Ｓ１８０２、Ｓ１８０８にて移行対象から外したタスクデータまたは宛先表データをＲＡＭ２０３に保持する。
【０１５９】
尚、Ｓ１８０２では新しいバージョンの情報処理ソフトウェア４００で扱うユーザ情報に登録されていないユーザが、旧バージョンの情報処理ソフトウェアの利用に際して作成・登録したタスクデータを移行対象から外している。しかしながら、この場合に管理対象から外すのではなく、情報処理ソフトウェア４００が動作する情報処理装置が属するネットワーク（システム）の管理者のユーザ情報をユーザＩＤやユーザ名として新たに付与することで、データ移行を行ってもよい。こうすることにより、柔軟なネットワークデバイス管理用のタスクデータの移行も可能となる。
【０１６０】
以上で、本フローチャートの説明を終了する。
【０１６１】
図１９は本実施例における処理結果を、情報処理装置１０２のディスプレイ２１０を介して、ユーザに通知する画面の例である。
【０１６２】
本図において、１９００はデータ移行結果通知画面である。
【０１６３】
１９０１は、データ移行を行ったプラグイン名で、プラグイン情報テーブル１６００のプラグイン名１６２０の値を表示する。
【０１６４】
１９０２は、データ移行メッセージで、進行状況情報テーブル１０００のデータ移行状態１０１０の値に合わせて、適切なものを表示する。
【０１６５】
本図においては、「移行成功」時のメッセージを表示しているが、「移行中」、「移行失敗」時においてもそれぞれ適切なメッセージが表示される。また、データ移行メッセージとして、移行対象データの総数、移行対象データの取得済み個数などの情報を追加したメッセージを表示しても良い。
【０１６６】
１９０３は、本実施例の図１８のＳ１８１５、Ｓ１８１６においてＲＡＭ２０３に保存された移行対象外のデータを一覧表示している。
【図面の簡単な説明】
【０１６７】
【図１】第１の実施例のシステムの構成を示す図
【図２】ＰＣの内部構成を示した図
【図３】複合機の内部構成を示した図
【図４】情報処理装置の機能構成を示すブロック図
【図５】ユーザテーブルの例
【図６】デバイステーブルの例
【図７】タスクテーブルの例
【図８】宛先表テーブルの例
【図９】宛先テーブルの例
【図１０】進行状況情報テーブルの例
【図１１】第１の実施例におけるメインのフローチャート
【図１２】第１の実施例のデータ移行部４２０の動作を示すフローチャート
【図１３】第１の実施例のデータ移行結果通知画面の例
【図１４】プラグイン追加インストール画面の例
【図１５】第２の実施例におけるメインのフローチャート
【図１６】プラグイン情報テーブルの例
【図１７】第２の実施例のデータ移行部４２０の動作を示すフローチャート
【図１８】第２の実施例のデータ移行部４２０の動作を示すフローチャート
【図１９】第２の実施例のデータ移行結果通知画面の例
【符号の説明】
【０１６８】
１００  ＬＡＮ
１０１〜１０２  情報処理装置
１０４  複合機
４００  情報処理ソフトウェア
５００  ユーザテーブル
６００  デバイステーブル
７００  タスクテーブル
８００  宛先表テーブル
１０００  進行状況情報テーブル
１３００  データ移行結果通知画面
１４００  プラグイン追加インストール画面
１６００  プラグイン情報テーブル
１９００  データ移行結果通知画面
【図１】
0005132292.tif 000002
【図２】
0005132292.tif 000003
【図３】
0005132292.tif 000004
【図４】
0005132292.tif 000005
【図５】
0005132292.tif 000006
【図６】
0005132292.tif 000007
【図７】
0005132292.tif 000008
【図８】
0005132292.tif 000009
【図９】
0005132292.tif 000010
【図１０】
0005132292.tif 000011
【図１１】
0005132292.tif 000012
【図１２】
0005132292.tif 000013
【図１３】
0005132292.tif 000014
【図１４】
0005132292.tif 000015
【図１５】
0005132292.tif 000016
【図１６】
0005132292.tif 000017
【図１７】
0005132292.tif 000018
【図１８】
0005132292.tif 000019
【図１９】
0005132292.tif 000020