(実施例1)
図1は、本実施形態のシステム構成を示す図である。
図1に示す情報処理システムは、サーバ108、クライアントPC(Personal Computer)109、110、ネットワークデバイス102乃至106を有する。以下の説明では、ネットワークデバイスを単に「デバイス」とも記述する。
サーバ108とクライアントPC109、110とデバイス102乃至106とは、イントラネットあるいはローカルエリアネットワーク(LAN)等のネットワーク101を介して相互に情報の送受信が可能である。ネットワーク101は、有線方式であってもWi−Fi等の無線方式でもよい。また、ネットワーク101は、情報の送信・受信が可能であれば、インターネットなどのパブリックネットワークでもよい。
デバイス102乃至107は、例えば、複合機等の画像処理装置である。枠111は、プラットフォームAのデバイスのグループを示す。枠112は、プラットフォームBのデバイスのグループを示す。したがって、デバイス102乃至104のプラットフォームのタイプはA(以下「プラットフォームA」と記述)である。また、デバイス105乃至107のプラットフォームのタイプはB(以下「プラットフォームB」と記述)である。
サーバ108は、異なる種類のネットワークデバイスの間で共通して扱われる設定である共通設定情報と、同じ種類のネットワークデバイスの間で共通して扱われる設定である個別設定情報とのそれぞれを設定情報としてデバイスに配信する情報処理装置である。以下の説明では、異なるプラットフォーム間で互換性がある共通設定情報を保持(追加)することを「共通設定情報化」と記述する。共通設定情報化が進んだデバイスほど、保持する共通設定情報の設定項目数が多い。サーバ108は、本発明を適用したデバイス管理アプリケーション(以下「管理アプリケーション」と記述)をWebサービスとして実行する。クライアントPC109、110は、ユーザが操作するコンピュータである。ユーザは、クライアントPC109または110を操作することで、サーバ108上で実行される管理アプリケーションをWebサービス経由で操作することができる。また、クライアントPC109、110から、各デバイスへ印刷ジョブ等を送信して印刷する等、様々なデバイス側の機能を利用することも可能である。
図2は、サーバとクライアントPCを実現するコンピュータのハードウェア構成の一例を示す図である。
図2に示すコンピュータは、ユーザインタフェース201乃至二次記憶装置206を備える。ユーザインタフェース201は、ディスプレイ、キーボード、マウス、タッチパネル、ボタン、スピーカー等による、情報や信号の入出力を行う。ネットワークインタフェース202は、LANなどのネットワークに接続して、他の機器との通信を行う。ROM(Read Only Memory)204には、サーバ108及びクライアントPC109、110上で動作するプログラムおよびデータが記録されている。RAM(Random Access Memory)は、一時メモリ領域である。二次記憶装置206は、例えば、HDD(Hard Disk Drive)やフラッシュメモリ等である。
CPU203は、コンピュータ全体を制御する。CPU203は、ROM204、RAM205、二次記憶装置206などから読み込んだプログラムの実行や、各部とのデータのやり取りを行う。各部は入出力インタフェース207を介して接続されている。なお、後述する管理アプリケーションは、サーバ108のROM204や二次記憶装置206に保存されている。サーバ108のCPU203が、管理アプリケーションをRAM205へ読み込んで実行する。
図3は、デバイスのハードウェア構成の一例を示す図である。
本実施形態では、デバイス102乃至107は、いわゆる複合機であり、印刷、コピー、Fax送信等、複数の機能を実行可能である。デバイス102乃至107は、ユーザインタフェース301乃至送受信装置309を備える。
ユーザインタフェース301は、ディスプレイ、キーボード、マウス、タッチパネル、ボタン、スピーカーなどによる、情報や信号の入出力を行う。ネットワークインタフェース302は、LANなどのネットワークに接続して、他の機器との通信を行う。ROM304には、組み込み済みプログラムおよびデータが記録されている。RAM305は、一時メモリ領域である。二次記憶装置306は、例えばHDDやフラッシュメモリである。CPU303は、デバイス全体を制御する。CPU303は、ROM304、RAM305、二次記憶装置306などから読み込んだプログラムの実行や、各部とのデータのやり取りを行う。印刷装置307は、ネットワークインタフェース302で受信した印刷データ等、様々な情報を紙等の印刷媒体へ印刷する。
読取り装置308は、スキャナ等により、紙媒体等に記録されている情報を読取り、デバイス内で処理可能なデータに変換する。例えば、読取り装置308で原稿を読取った画像データを印刷装置307で印刷することにより、コピー機能を実現できる。送受信装置309は、Faxの送受信装置であり、電話回線を経由して他のFax機器とFax用信号の送受信を行う。例えば、ユーザインタフェース301で入力したFax番号へ読取り装置308で原稿から読取った画像データを送受信装置309から送信することが可能である。各部は入出力インタフェース310を介して接続されている。
図4および図5は、デバイスが保持する設定値データベースの一例を示す図である。
図4および図5を参照して、デバイスが個別設定情報及び共通設定情報を保持する仕組みを説明する。個別設定情報は、プラットフォームに依存し、異なるプラットフォーム間で互換性がない。共通設定情報は、異なるプラットフォーム間で互換性がある。各デバイスは、図4または図5に示す構成の設定値データベースによって、設定情報を保持している。設定値データベースによって保持される設定情報は、例えば、二次記憶装置306に記憶される。図4は、プラットフォームAのデバイスが保持する設定値データベースを示す。また、図5は、プラットフォームBのデバイスが保持する設定値データベースを示す。
設定値データベースでは、設定情報について、[シリアルNo]、[設定値](絶対値)、個別設定情報用の[設定項目階層]と[設定値](形式)、共通設定情報用の[設定項目階層]と[設定値](形式)の情報を保持している。[シリアルNo]の情報は、各設定項目に割り当てているシリアルNoである。図4に示す例では、シリアルNo20は、「SNTPを使用」の設定項目に割り当てられている。シリアルNo21は、「ポーリング間隔」という設定項目に割り当てられている。また、シリアルNo35は、「ポップサーバ名」という設定項目に割り当てられている。
[設定値(絶対値)]の情報は、デバイスが現時点で保持している各設定項目の設定値の絶対値である。「SNTPを使用」の設定項目では、絶対値は、1や0と言った論理値ではなく、ON、又はOFF、といった情報である。例えば、「SNTPを使用」の設定項目の場合、後述するように、プラットフォーム毎に論理が異なるので、例えば1という数値で情報を保持すると、その値(1という数値)がONを示しているのかOFFを示しているのか解らなくなってしまう。従って、[設定値](絶対値)の情報は、どの様な論理や定義、形式であっても、デバイスに保持されている設定値の情報の内容が分かるようなデータとなっているので、絶対値と表現している。
個別設定情報用の[設定項目階層]の情報は、個別設定情報の設定項目の階層を示す情報である。「ポップサーバ名」の設定項目の例では、プラットフォームAでは「ネットワーク設定」→「TCP/IP設定」→「電子メール設定」→「ポップサーバ名」といった情報が設定されている。一方、プラットフォームBでは、「ネットワーク設定」→「電子メール設定」→「ポップサーバ名」といった情報が設定されている。
個別設定情報用の[設定値](形式)の情報は、当該設定情報の形式や論理、範囲等の情報である。「SNTPを使用」の設定項目の例では、プラットフォームAではONを示す値が1、OFFを示す値が0として定義されている。一方、プラットフォームBでは、ONを示す値が0、OFFを示す値が1として定義されている。
共通設定情報用の[設定項目階層]の情報は、共通設定情報化された設定項目の階層の情報である。「ポップサーバ名」の設定項目の例では、各プラットフォーム共通で「ネットワーク設定」→「電子メール設定」が設定されている。また、共通設定情報用の[設定値](形式)の情報は、共通設定情報化された[設定値]の形式や論理、範囲等の情報である。「ポップサーバ名」の設定項目の例では、各プラットフォーム共通で、文字列(24文字まで)が設定されている。共通設定情報用の情報は、どの設定項目であっても、各プラットフォーム共通の情報である。
次に、デバイスのプラットフォーム毎に存在する設定情報の差異について説明する。図4および図5に示す例では、各々のプラットフォームにおいて、個別設定情報は、以下のように異なる。プラットフォームAでは、シリアルNo20に定義されている「SNTPを使用」という設定項目が、「ネットワーク設定」→「TCP/IP設定」→「SNTP設定」という階層に定義されている。その設定値は、ONを示す値が1、OFFを示す値が0となっている。一方、プラットフォームBでは、「SNTPを使用」という設定項目が、「ネットワーク設定」→「TCP/IP設定」→「SNTP設定」という同じ階層に定義されている。しかし、その設定値はONを示す値が0、OFFを示す値が1となっている。つまり、プラットフォーム毎に設定値の論理が異なっている。
同様に、プラットフォームAでは、「ポーリング間隔」という設定項目が「ネットワーク設定」→「TCP/IP設定」→「SNTP設定」という階層に定義されており、その設定値は1(秒)〜100(秒)の範囲になっている。プラットフォームBの「ポーリング間隔」という設定項目は、「ネットワーク設定」→「TCP/IP設定」→「SNTP設定」という同じ階層に定義されているが、その設定値が1(秒)〜120(秒)の範囲である。つまり、プラットフォーム毎に設定値の取り得る範囲が異なる。
また、プラットフォームAでは、「ポップサーバ名」という設定項目が、「ネットワーク設定」→「TCP/IP設定」→「電子メール設定」という階層に定義されている。これに対して、プラットフォームBの「ポップサーバ名」という設定項目は、「ネットワーク設定」→「電子メール設定」という階層に定義されている。つまり、プラットフォーム毎に設定項目の階層が異なる。このように、設定項目としては同じものであってもプラットフォームが異なることによる差異が存在する。したがって、あるデバイスから取得した設定情報をそのまま変更しないで、別のデバイスへ配信することができない場合がある。管理アプリケーションが、プラットフォームAから取得した設定情報をプラットフォームBのデバイスへ配信する場合(または逆方向の取得、配信をする場合)、管理アプリケーションは、以下の処理をする必要がある。管理アプリケーションは、配信する前に、設定情報をプラットフォームの仕様に合わせて変換する必要がある。上記のようなプラットフォームの違いによる設定情報の差異を解消するための対応を、デバイス側でも「共通設定情報」を持つ(共通設定情報化を進める)ことにより行っている。
以下に、プラットフォームの違いによる設定情報の差異の例を使い、デバイス側の共通設定情報化について説明する。まず、プラットフォームAとプラットフォームBにおいて「SNTPを使用」、「ポーリング間隔」、「ポップサーバ名」の設定項目(個別設定情報)にそれぞれ差異があるが、これらを共通設定情報として以下のように定義することで共通設定情報化が行える。「SNTPを使用」について、プラットフォームAの共通設定情報の設定値は、元のままとし、プラットフォームBの共通設定情報の設定値は、ONを示す値が1、OFFを示す値が0として定義する。つまり、プラットフォームB側の設定値の論理を変更する。
「ポーリング間隔」についても、プラットフォームAの共通設定情報の設定値は元のままとし、プラットフォームBの共通設定情報の設定値を1(秒)〜100(秒)の範囲と定義する。つまり、プラットフォームB側の設定値の取り得る範囲を変更する。「ポップサーバ名」については、プラットフォームAの共通設定情報の設定項目を「ネットワーク設定」→「電子メール設定」という階層に定義し、プラットフォームBの共通設定情報の設定項目の階層は元のままとする。つまり、プラットフォームA側の設定項目の階層を変更する。このように、各々のプラットフォームのデバイスが、共通設定情報を定義することにより共通設定情報化を行うことができる。図4において、網掛けしてある部分は、共通設定情報化を行った際に、各プラットフォームの個別設定情報を共通設定情報へ対応させる時に変更が加えられた部分である。
プラットフォームが異なっていても、各々のデバイスが共通設定情報を持ち、共通設定情報だけを扱うのであれば、異なるプラットフォーム間であっても設定情報を管理アプリケーション側での変換等の余計な処理無く取得、配信できる。さらに、共通設定情報化では、各々のプラットフォームのデバイスでは、設定情報を共通設定情報とすると共に、共通設定情報を作成した元の設定情報(個別設定情報)はそのまま保持している。また、各設定情報にシリアル番号を持つことで、個別設定情報と共通設定情報の関係を判別可能にしている。
例えば「SNTPを使用」が、シリアルNo20に定義されている場合、個別設定情報でも、共通設定情報においてもシリアルNo20は「SNTPを使用」の設定項目を示す。同様に、「ポーリング間隔」、「ポップサーバ名」にもシリアルNoを定義する事で、設定値の論理や範囲、設定項目の階層の差異があっても、それらが個別設定情報と共通設定情報において同じ設定情報であることを判別可能である。もちろん、シリアルNoは、一例であって、どの様なシリアルNoの値であっても本発明の効果に影響を与えるものではない。この様にデバイスが共通設定情報化を行う際、共通設定情報と共に個別設定情報も保持する様にしておくのは同じプラットフォーム間での互換性を保つために有効だからである。例えば、プラットフォームAのデバイスのファームウェアバージョン1.0では、共通設定情報が存在しない、個別設定情報だけをもっている状態であったとする。この状態から、当該デバイスのファームウェアが更新され、ファームウェアバージョンがバージョン2.0に更新されると、共通設定情報の設定項目数が多くなる場合がある。この場合、バージョン1.0とバージョン2.0のデバイス間で設定情報を取得、配信するには、設定項目の数の違いから共通設定情報の配信が上手く行かず、逆に個別設定情報を利用することにより、取得、配信が上手く行くことがある。
図6は、管理アプリケーションとデバイス間で共通設定情報や個別設定情報を取得、配信する処理を説明する図である。
デバイス102等は、共通設定情報化を実施しているものとする。共通設定情報ファイル501は、管理アプリケーションとデバイス間で配信、取得される共通設定情報のファイルを示す。個別設定情報502は、管理アプリケーションとデバイス間で配信、取得される個別設定情報のファイルを示す。設定値データベース503は、図4および図5を参照して説明した設定値データベースである。例えば、サーバ108の管理アプリケーションからデバイス102等に対して、以前に取得済であり、保存していた共通設定情報ファイル501をデバイス102等へ配信(送信)する。
デバイス102等は、配信されたファイルが共通設定情報ファイル501であると判断すると、設定値データベース503の共通設定情報の部分の内容に従って、共通設定情報ファイル501から設定値データベースの設定値(絶対値)へ情報を保存する。
また、サーバ108の管理アプリケーションからデバイス102等に対して個別設定情報の取得を要求する場合もある。管理アプリケーションから個別設定情報の取得要求を受けたデバイス102等は、設定値データベース503の個別設定情報と、設定値(絶対値)の部分を参照して、個別設定情報ファイル502を作成し、管理アプリケーションへ送信する。
次に、共通設定情報化を実施したデバイスにおける取得、配信の動きについて、設定値データベース503におけるシリアルNo35の設定項目「ポップサーバ名」に注目して説明する。サーバ108の管理アプリケーションからデバイス102等に対して共通設定情報ファイル501を配信する時、共通設定情報ファイル501内の設定項目「ポップサーバ名」の設定値が「TestServer」であるものとする。共通設定情報ファイル501を受信したデバイス102等は、共通設定情報ファイル501の内容をシリアルNo1から順番に確認し、それぞれ設定値データベース503の設定値(絶対値)の部分へ、情報を保存する。デバイス102等は、共通設定情報ファイル501のシリアルNo35の設定項目階層の値を設定値データベースの同じシリアルNo(No35)の共通設定情報の設定項目階層の値と比較する。シリアルNo(No35)の共通設定情報の設定項目階層の値は、例えば、「ネットワーク設定」→「電子メール設定」→「ポップサーバ名」である。比較の結果一致した場合、デバイス102等は問題ないと判断し、共通設定情報ファイル501の設定値を確認する。
共通設定情報ファイル501の設定値の確認の際にも、デバイス102等は、設定値データベース503の同シリアルNo(No35)の共通設定情報の設定値を参照する。図4に示す例では、設定値データベースの同シリアルNo(No35)の内容は「文字列(24文字まで)」である。したがって、デバイス102等は、共通設定情報ファイル501側の設定値の内容(「TestServer」)も問題無いと判断し、設定値データベース503の設定値(絶対値)へ格納する。図4は、上記の処理を実行した後の、設定値データベースの状態を示している。図4に示す設定値データベースでは、シリアルNo35の設定項目「ポップサーバ名」の設定値(絶対値)は、「TestServer」になっている。
次に、サーバ108の管理アプリケーションが、デバイス102等から個別設定情報を取得する時の動作を説明する。まず、管理アプリケーションが、デバイス102等に対して個別設定情報を要求(取得要求)する。デバイス102等は、設定値データベース503の個別設定情報及び設定値(絶対値)の情報に従って、シリアルNo1から順番に個別設定情報ファイル502を作成していく。従って、デバイス102等が作成した個別設定情報ファイル502のシリアルNo35の設定項目は、設定値データベースのシリアルNo35の個別設定情報の設定項目階層および設定値と、設定値(絶対値)に応じた情報となる。具体的には、設定項目階層は、「ネットワーク設定」→「TCP/IP設定」→「電子メール設定」→設定項目「ポップサーバ名」である。設定値は、プラットフォームAの場合は、「TestServer」、プラットフォームBの場合、「Server777」という情報になる。
デバイス102等は、作成した個別設定情報ファイル502をサーバ108の管理アプリケーションに対して送信する。共通設定情報の配信から個別設定情報の取得に関する説明をしたが、個別設定情報の配信から共通設定情報の取得を行った場合でも同様な動作となる。共通設定情報化を実施したデバイスは、共通設定情報または個別設定情報のどちらか一方がデバイスに配信されると、設定情報の各設定値をもう一方(個別設定情報または共通設定情報)に対して反映して二次記憶装置306(図3)に記憶する。もちろん、反映されるのは、当該設定情報が個別設定情報と共通設定情報の両方に存在する場合だけなのは言うまでもない。
次に、デバイス102等のファームウェアのバージョンアップによって、共通設定情報化が進んでいく例を説明する。図4(A),(B)に示す設定値データベースでは、シリアルNo36以降の共通設定情報の部分が[*]になっている。これは、個別設定情報には、120個の設定項目があるのに対して、共通設定情報は35個の設定項目しかないことを示している。デバイス側は、共通設定情報化をファームウェアのバージョンアップにより順次進めていく。
共通設定情報化が行われていない状態のバージョンが1.0であるとすると、例えば、35個の設定項目の共通設定情報を持つバージョンが、バージョン2.0である。100個の設定項目の共通設定情報を持つバージョンが、バージョン3.0である。しかし、個別設定情報については、デバイスの機能追加で追加される場合はあるが、ファームウェアのどのバージョンであっても、基本的にその数が変化しない。これは古いファームウェアのバージョンのデバイスとの設定情報の互換性を取るためである。さらに、デバイス側の共通設定情報化は、プラットフォームの種類やデバイスの機種によって進み方が様々である。例えば、プラットフォームAのデバイスとプラットフォームBのデバイスのファームウェアのバージョンが同じであったとしても、共通設定情報の種類(共通設定情報化の進捗)が異なる場合もある。
図7は、サーバ上で動作する管理アプリケーションの動作処理の例を説明するフローチャートである。
特別な説明が無ければ、以降説明する管理アプリケーションの処理は、ROM204または二次記憶装置206からRAM205にコピーされたプログラムをCPU203が実行することによって行われる。まず、S1001において、管理アプリケーションが、ネットワークインタフェース202を介して、LAN101に接続されているデバイス102乃至107の各種情報を入手して、RAM205または二次記憶装置206等に保持する。各種情報とは、具体的にはデバイス102〜107のデバイス名称、ファームウェアバージョン、プラットフォームの種類等の情報である。管理アプリケーションが、SNMP(Simple Network Management Plotocol)を使用してMIB(Management Information Base)の情報を取得するようにしてもよい。また、管理アプリケーションやデバイスのベンダーが独自に作成してデバイスに実装しているデバイスの各種情報を取得する機能を使用してもよい。
S1002において、管理アプリケーションが、S1001で取得したデバイス102乃至107の各種情報を一覧にしたリスト(以下、「デバイスリスト」と記述する)を作成する。
図8は、デバイスリストと設定情報リストの例を示す図である。
図8(A)は、デバイスリストの例を示す。管理アプリケーションは、図8(A)に示すデバイスリストの形式で、デバイスの各種情報を記憶する。デバイスリストは、デバイス名称、ファームウェアバージョン、プラットフォーム、アドレスという4種類の情報を有する。この例では、アドレスは、各デバイスへ管理アプリケーションがアクセスする際のIPアドレスである。この例では、上記4種類の情報をデバイス102乃至107から取得しているが、上記4種類以外の情報を取得しても構わない。
図7の説明に戻る。S1003において、管理アプリケーションが、ユーザから処理の選択があったかを判断する。管理アプリケーションは、サーバ108のユーザインタフェース201のディスプレイ上に、図11に示すような画面を表示し、管理アプリケーションが実行する処理をユーザに選択させる。選択の対象となる処理は、例えば、取得や配信等の処理である。処理の選択がない場合は、処理がS1003に戻る。処理の選択がある場合は、処理がS1004以降に進む。管理アプリケーションは、ステップS1003で選択された処理の種類を、ステップS1004乃至ステップS1008で判断し、該当する処理(ユーザが選択した処理)を実行する。S1004において、管理アプリケーションが、取得がユーザに選択されたかを判断する。取得がユーザに選択されない場合は、処理がS1005に進む。取得がユーザに選択された場合は、処理が図9のS1201に進む。
図9は、管理アプリケーションによる、デバイスからの設定情報の取得処理の例を説明するフローチャートである。また、図12は、設定情報の取得処理において表示される画面を説明する図である。
図9のS1201において、管理アプリケーションが、デバイスリストをサーバ108のユーザインタフェース201のディスプレイ上に、図12(A)に示す画面を表示し、設定情報を取得する対象のデバイスをユーザに選択させる。続いて、S1202において、管理アプリケーションが、デバイスが選択されたかを判断する。図12(A)の画面において、「選択」ボタンと「完了」ボタンが押下されると、デバイスが選択される。デバイスが選択されていない場合は、処理がS1201に戻る。デバイスが選択された場合は、処理がS1204に進む。
S1204において、管理アプリケーションが、図12(B)に示す画面を表示し、S1201で選択されたデバイスからの取得を開始して良いかどうかをユーザに確認することによって、設定が完了したかを判断する。図12(B)は、Dev102(デバイス102)から設定情報の取得がユーザに選択された場合の画面を示す。ユーザによって「OK」ボタンが選択されると、管理アプリケーションは、設定が完了したと判断し、処理がS1205に進む。ユーザによって「戻る」ボタンが選択されると、処理がS1201に戻る。
次に、S1205において、管理アプリケーションが、図6を参照して説明した方法で、デバイスから設定情報を取得する。共通設定情報化が行われているデバイスから設定情報を取得する場合を想定する。例えば、デバイス102、103、105、106から設定情報を取得する場合、管理アプリケーションは、個別設定情報と共通設定情報の両方を取得する。一方、共通設定情報化が行われていないデバイス(例えば、デバイス104,107)から設定情報を取得する場合は、管理アプリケーションは、個別設定情報のみ取得する。管理アプリケーションは、取得した設定情報をRAM205または二次記憶装置206に保存する。また、RAM205または二次記憶装置206に保存した設定情報は、後述する配信の処理において、図8(B)に示す設定情報リストで表示される。
次に、S1206において、管理アプリケーションが、設定情報の取得が完了したかを判断する。設定情報の取得が完了していない場合は、処理がS1206に戻る。設定情報の取得が完了した場合は、処理がS1207に進む。S1207において、管理アプリケーションが、取得結果をサーバ108のユーザインタフェース201のディスプレイ上に表示する。図12(C)は、設定情報の取得結果の表示例を示す。
表示した取得の結果がユーザによって確認され、ユーザが「OK」を選択すると、管理アプリケーションが、取得の処理を終了する。そして、処理が、図7のS1003に戻る。上記の取得の処理は、シリアライズされた処理として説明したが、スレッドやプロセスを使って処理を実行することにより、取得処理が完了する前に、処理を図7のS1003に戻し、別の処理を受け付けて実行することも可能である。
図7の説明に戻る。S1005において、管理アプリケーションが、配信がユーザに選択されたかを判断する。配信がユーザに選択されない場合は、処理がS1006に進む。配信がユーザに選択された場合は、処理が図10のS1301に進む。
図10は、実施例1の管理アプリケーションによる設定情報の配信処理の例を説明するフローチャートである。また、図13および図14は、設定情報の配信処理において表示される画面を説明する図である。
S1301において、管理アプリケーションが、設定情報の取得処理やインポート処理によってRAM205または二次記憶装置206に保存したデバイスの各種情報を、図13(A)の画面のように、設定情報リストとして表示する。
図8(B)は、設定情報リストの例を示す。
設定情報リストは、名称、デバイス、データ、バージョン、プラットフォーム、アドレスといった情報を有する。名称は、デバイスから設定情報を取得した日時を元に自動的に作成され付けられた設定情報の名称である。また、名称の列の一番下の2行については、後述するインポートによって管理アプリケーションが取得した設定情報である。したがって、インポートされた設定情報の名称がそのまま残る。なお、名称をユーザが編集することも可能である。設定情報リストにおけるデバイスは、当該設定情報がどのデバイスから取得されたかを示す。データは、当該設定情報が、個別設定情報なのか、共通設定情報なのかを示す。設定情報の取得処理で説明したように、管理アプリケーションが共通設定情報化が行われているデバイスから設定情報を取得すると、同時に2種類の設定情報を取得する。したがって、設定情報リスト中には同じ日時のファイルが存在することになる。バージョンは、当該設定情報を取得したデバイスのファームウェアバージョンを示す。バージョンに設定される情報は、図8(A)に示すデバイスリストのファームバージョンと同じ情報である。プラットフォームは、設定情報を取得したデバイスのプラットフォームの種類を示す。アドレスは、設定情報を取得したデバイスのIPアドレスを示す。従って、インポートで保存した設定情報(一番下の2行)には、アドレスの情報がない。
図10の説明に戻る。S1302において、管理アプリケーションが、図13(B)に示す画面を表示して、設定情報リストから配信対象の設定情報が選択されたかを判断する。設定情報が選択されない場合は、処理がS1301に戻る。設定情報が選択された場合は、処理がS1305に進む。配信の場合は1つの設定情報を複数のデバイスへ同時に配信することが可能である。従って、複数のデバイスが選択された状態であっても、処理がS1305に進む。
S1305において、管理アプリケーションが、配信に必要な情報を入力する。続いて、S1306において、管理アプリケーションが、図14(A)に示す画面を表示して、設定が完了したか、つまり設定情報の配信を開始してよいかを判断する。この例では、配信する設定情報は、20161201-083050-2 、配信対象のデバイスはDev103とDev107である。ユーザが、図14(A)に示す画面で「OK」ボタンを選択すると、管理アプリケーションが、設定が完了したと判断する。そして、処理がS1307に進む。ユーザが「戻る」ボタンを選択すると、管理アプリケーションが、設定が完了していないと判断する。そして、処理がS1301に戻る。
S1307において、管理アプリケーションが、実際に設定情報の配信処理を実行する。そして、S1308において、管理アプリケーションが、設定情報の配信結果をサーバ108のユーザインタフェース201のディスプレイ上に表示する。図14(B)は、設定情報の配信結果の表示例を示す。配信結果がユーザによって確認され、ユーザが「OK」ボタンを選択すると、配信の処理が終了する。そして、処理が図7のS1003に戻る。
図15は、図10のS1307における設定情報の配信処理の例を説明するフローチャートである。
S1701において、管理アプリケーションが、図10のS1303でユーザが選択した配信先のデバイスの中から1つを選択する。次にS1701に処理が戻ってきた場合は、まだ選択されていない配信先のデバイスの中から1つが選択される。続いて、S1702において、管理アプリケーションが、図10のS1301で選択された配信対象の設定情報と、S1701で選択された配信先のデバイス(第1のネットワークデバイス)の情報を元に、以下の処理を実行する。管理アプリケーションは、配信対象の設定情報を管理アプリケーションが変換しないで直接配信先のデバイスへ配信可能であるかを判断する。
図16は、図15のS1702における判断処理の例を説明するフローチャートである。
S1801において、管理アプリケーションが、配信する設定情報の種類が、個別設定情報、共通設定情報のうちのいずれであるかを判断する。管理アプリケーションは、図8(A)のデバイスリストと、図8(B)の設定情報リストとを参照することによって、S1801の判断処理を実行する。配信する設定情報の種類が、共通設定情報である場合は、処理がS1802に進む。配信する設定情報の種類が、個別設定情報である場合は、処理がS1805に進む。
S1802において、管理アプリケーションが、配信対象の共通設定情報と配信先のデバイスとの共通設定情報化進捗を比較する。具体的には、管理アプリケーションは、各々に対応するファームウェアバージョンを比較することで、いずれの共通設定情報化が進んでいるかを判断する。例えば、図14(A)に示すように、配信する設定情報:20161201-083050-2 、配信先のデバイス:Dev103の場合、図8(B)を参照すると、設定情報のファームウェアバージョンは3.0である。また、図8(A)を参照すると、配信先のデバイスのファームウェアバージョンは1.0である。したがって、配信先のデバイスのファームウェアバージョン(1.0)の方が設定情報のファームウェアバージョン(3.0)よりも低い。したがって、管理アプリケーションは、配信先のデバイスの共通設定情報化は、配信対象の設定情報の共通設定情報化よりも進んでいないと判断する。つまり、配信先のデバイスのほうが共通設定情報の設定項目数が少なく(例えば、21個)、配信する設定情報(例えば、35個)が反映できない(図4および図5に示す設定値(絶対値)が設定できない)ことになる。したがって、処理がS1804に進み、管理アプリケーションが、配信対象の設定情報を配信先のデバイスに直接配信できないと判断する。つまり、管理アプリケーションは、共通設定情報として管理された設定情報が配信対象データとなった際に、配信先が、該配信対象データを配信しても自装置の設定として反映できない第1のネットワークデバイスとなると判断する。
また、例えば、配信対象の設定情報:20161201-083050-2 、配信先のデバイス:Dev105の組合せの場合、配信先のデバイスのファームウェアバージョン(4.0)が、設定情報のファームウェアバージョン(3.0)以上である。従って、この場合は、配信先のデバイスの共通設定情報化は、配信対象の設定情報の共通設定情報化よりも進んでいると判断され、処理がS1803に進む。S1803において、管理アプリケーションが、配信対象の設定情報を配信先のデバイスに直接配信できると判断する。ステップS1803、ステップS1804では、管理アプリケーションは、判断結果をRAM205または二次記憶装置206に保存する。
また、S1805において、管理アプリケーションが、図8(B)に示す設定情報リストを参照して、配信対象の設定情報のプラットフォームを確認する。また、管理アプリケーションは、図8(A)に示すデバイスリストを参照して、配信先のデバイスのプラットフォームを確認する。そして、管理アプリケーションが、配信対象の設定情報のプラットフォームが、配信先のデバイスのプラットフォームと同じであるかを判断する。配信対象の設定情報のプラットフォームが、配信先のデバイスのプラットフォームと同じである場合は、処理がS1803に進む。配信対象の設定情報のプラットフォームが、配信先のデバイスのプラットフォームと同じでない場合は、処理がS1804に進む。そして、管理アプリケーションが、配信対象の設定情報を配信先のデバイスに直接配信できない、つまり、配信先が、個別設定情報を配信対象データを配信しても自装置の設定として反映できない第3のネットワークデバイスであると判断する。
図15の説明に戻る。S1702において、管理アプリケーションが、図16のS1803、S1804で保存した判断結果を元に、配信対象の設定情報を配信先のデバイスに直接配信できるか判断する。配信対象の設定情報を配信先のデバイスに直接配信できない場合は、処理がS1703に進む。配信対象の設定情報を配信先のデバイスに直接配信できる場合は、処理がS1707に進む。
S1703において、管理アプリケーションが、配信対象の設定情報を共通設定情報化されたデバイス(第2のネットワークデバイス)を利用して配信先のデバイスへ配信可能な設定情報へ変換することが可能であるかを判断する。
図17は、図15のS1703の処理の例を説明するフローチャートである。
S1901において、管理アプリケーションが、配信対象の設定情報が、個別設定情報、共通設定情報のうちのいずれであるかを判断する。配信対象の設定情報が、共通設定情報である場合は、処理がS1902に進む。配信対象の設定情報が、個別設定情報である場合は、処理がS1905に進む。
S1902において、管理アプリケーションが、配信先のデバイスと同じ種類のデバイスを探索する。この例では、管理アプリケーションは、配信先のデバイスのプラットフォームと同じプラットフォームのデバイスを探索する。具体的には、管理アプリケーションが、デバイスリスト(図8(A))を参照して、配信先のデバイスと同じ種類のプラットフォームのデバイスが、管理アプリケーションが置かれている環境(図1)に存在しているかを判断する。後述する図18のS2005で最終的に配信するのは個別設定情報から抽出された設定情報である。したがって、配信先のデバイスと同じ種類のプラットフォームのデバイスを探索し、そのデバイスを介して個別設定情報を取得(S2003)する必要があるからである。配信先のデバイスと同じ種類のプラットフォームのデバイスが管理アプリケーションが置かれている環境に存在する場合は、処理がS1903に進む。配信先のデバイスと同じ種類のプラットフォームのデバイスが管理アプリケーションが置かれている環境に存在しない場合は、処理がS1908に進む。例えば、図14(A)に示すように、配信先のデバイスがDev103であれば、Dev103はプラットフォームAなので、同じプラットフォームのデバイスとして、Dev102とDev104の2つが存在する。
次に、S1903において、管理アプリケーションが、ファームウェアバージョンに基づいて、S1902で探索されたデバイスのうち、配信する共通設定情報以上に共通設定情報化が進んでいるデバイス(第2のネットワークデバイス)を探索する。配信する共通設定情報以上に共通設定情報化が進んでいるデバイスからでないと、後述する図18のS2003において、共通設定情報の設定が反映された個別設定情報を取得できないからである。また、配信する共通設定情報以上に共通設定情報化が進んでいるデバイスであれば、配信された共通設定情報を自装置に反映することができるからである。例えば、配信する共通設定情報:20161201-083050-2 の場合、図8(B)を参照すると、ファームウェアバージョンは、3.0である。S1903で探索されたDev102とDev104のファームウェアのバージョンは、それぞれ3.0と0.0である。したがって、管理アプリケーションは、配信する共通設定情報以上に共通設定情報化が進んでいるデバイスDev102が存在すると判断する。そして、処理がS1904に進む。配信する共通設定情報以上に共通設定情報化が進んだデバイスが存在しない場合は、処理がS1908に進む。S1908において、従来通り、管理アプリケーションが、配信対象の設定情報を配信先のデバイスに合わせて変換すると決定する。管理アプリケーションは、この決定結果をRAM205または二次記憶装置206へ保存する。
S1904において、管理アプリケーションが、共通設定情報化が進んだデバイスを利用した設定情報の変換(以下、「変換方法1」と記述する)が可能であると決定する。管理アプリケーションは、決定結果をRAM205または二次記憶装置206へ保存する。なお、管理アプリケーションが、変換方法1による設定情報の変換に使用するデバイス(例えば、Dev102)の情報をRAM205または二次記憶装置206へ保存するようにしてもよい。
また、S1905において、管理アプリケーションが、デバイスリスト(図8(A))を参照して、共通設定情報化が完了したデバイスを探索し、当該デバイスが存在するかを判断する。図8(A)に示すデバイスリストでは、ファームウェアバージョンが最大でも4.0である。したがって、共通設定情報化が完了したデバイスは存在しないので、処理がS1908に進む。しかし、例えば、デバイスリストが図20に示すデバイスリストである場合を想定する。図20中、ファームウェアバージョン99.0は、共通設定情報化が完了していることを示す。共通設定情報化が完了していることは、個別設定情報の設定項目と同じ数の設定項目分の共通設定情報があることを意味する。共通設定情報化が完了したデバイスとして、Dev220とDev221が存在する。したがって、この場合には、処理がステップS1906に進む。
次に、S1906において、S1905で探索された共通設定情報化が完了したデバイスのプラットフォームが、配信対象の設定情報と配信先のデバイスのプラットフォームと一致しているかを判断する。例えば、図20のデバイスリストに存在したDev220、Dev221は、それぞれ、プラットフォームA、Bである。配信対象の設定情報がプラットフォームAで配信先のデバイスがプラットフォームBである場合には、探索されたデバイスのプラットフォームは、配信対象の設定情報と配信先のデバイスのプラットフォームと一致しているので、処理がS1907に進む。なお、配信対象の設定情報がプラットフォームBで配信先のデバイスがプラットフォームAである場合にも、探索されたデバイスのプラットフォームは、配信対象の設定情報と配信先のデバイスのプラットフォームと一致しているので、処理がS1907に進む。探索されたデバイスのプラットフォームが、配信対象の設定情報と配信先のデバイスのプラットフォームと一致していない場合には、処理がS1908に進む。
S1907において、管理アプリケーションが、共通設定情報化が完了したデバイスを利用した設定情報の変換(以下、「変換方法2」と記述する)が可能であると決定する。管理アプリケーションは、決定結果をRAM205または二次記憶装置206に保存する。なお、管理アプリケーションが、変換方法2による設定情報の変換に使用するデバイス(例えば、Dev220、Dev221)の情報をRAM205または二次記憶装置206へ保存するようにしてもよい。
個別設定情報を配信対象の設定情報と異なるプラットフォームのデバイスへ配信する場合、管理アプリケーションは、配信対象の設定情報と配信先のデバイスのプラットフォームと一致する、共通設定情報化が完了したデバイスを使用する変換方法2を用いる。
また、共通設定情報を、配信する設定情報よりも共通設定情報化が進んでいないデバイスへ配信する場合を想定する。この場合には、管理アプリケーションは、配信先のデバイスと同じプラットフォームで、かつ共通設定情報化が配信する設定情報よりも進んだデバイスを使用する変換方法1を用いる。
図15の説明に戻る。S1703においては、管理アプリケーションは、図17のS1904、S1907、S1908で保存した結果に基づいて、共通設定情報化の進んだデバイスを利用して配信する設定情報を変換できるかを判断する。共通設定情報化の進んだデバイスを利用して配信する設定情報を変換できる場合は、処理がS1704に進む。共通設定情報化の進んだデバイスを利用して配信する設定情報を変換できない場合は、処理がS1705に進む。
S1704において、管理アプリケーションが、図17のS1904、S1907で保存した決定結果に基づいて、共通設定情報化の進んだデバイスを利用した変換方法1または変換方法2の方法で配信対象の設定情報を変換する。これにより、配信先のデバイスに実際に配信する設定情報を作成する。
図18は、変換方法1に基づく設定情報の変換処理の例を説明するフローチャートである。
S2001において、管理アプリケーションが、第1配信手段として、図17のS1903で探索された、設定情報の変換に使用する第2のネットワークデバイスに対して、配信対象の設定情報を配信する。続いて、S2002において、管理アプリケーションが、設定情報の配信が成功したかを判断する。設定情報の配信が成功した場合は、処理がS2003に進む。設定情報の配信が失敗した場合は、処理がS2006に進む。
S2003において、管理アプリケーションが、S2001で配信されて第2のネットワークデバイスの設定として反映された設定情報を、個別設定情報としてエクスポートさせることで、当該第2のネットワークデバイスから取得する。第2のネットワークデバイスは、個別設定情報としてエクスポートすることが可能な設定の一部の設定について、共通設定情報としても反映することができ、かつ、エクスポートすることができる。この例では、第2のネットワークデバイスは、共通設定情報化が行われているデバイスであり、図6等を使って説明した通り、当該デバイスに共通設定情報を配信することにより、当該デバイスにおいて、個別設定情報へ共通設定情報と同じ設定情報が反映される。つまり、共通設定情報化が行われたデバイスによる設定情報の変換が行われたことになる。その結果、S2003で取得する個別設定情報と、S2001で配信した共通設定情報とは同じ設定情報となっている。
次に、S2004において、管理アプリケーションが、個別設定情報の取得が成功したかを判断する。個別設定情報の取得が成功した場合は、処理がS2005に進む。個別設定情報の取得が失敗した場合は、処理がS2006に進む。続いて、S2005において、管理アプリケーションが、S2003で取得した個別設定情報の中から、実際に配信先の第1のネットワークデバイスに第2配信手段として配信すべき個別設定情報を抽出する。図13(A)の画面上でユーザが選択した設定情報(共通設定情報)の項目数は、個別設定情報の項目数よりも少ない。したがって、管理アプリケーションは、共通設定情報と同じ設定項目分の設定情報をS2003で取得した個別設定情報から抽出する。
S2007において、管理アプリケーションが、S2005で抽出した設定情報と、共通設定情報化が行われたデバイスによる設定情報の変換が成功したことを示す情報とをRAM205または二次記憶装置206に保存する。また、S2006において、管理アプリケーションが、共通設定情報化が行われたデバイスによる変換が失敗したことを示す情報をRAM205または二次記憶装置206に保存する。
図19は、変換方法2に基づく設定情報の変換処理の例を説明するフローチャートである。
S2101において、管理アプリケーションが、第4のネットワークデバイスに個別設定情報を配信する。第4のネットワークデバイスは、図17のS1906で探索されたデバイスのうち、配信対象の個別設定情報に対応するデバイスの種類(プラットフォーム)と同じプラットフォームのデバイスである。続いて、S2102において、管理アプリケーションが、配信対象の設定情報の配信が成功したかを判断する。配信対象の設定情報の配信が成功した場合は、処理がS2103に進む。配信対象の設定情報の配信が失敗した場合は、処理がS2110に進む。
次に、S2103において、管理アプリケーションが、第4のネットワークデバイスから、配信されて第4のネットワークデバイスの設定として反映された設定情報を、共通設定情報としてエクスポートさせることで取得する。第4のネットワークデバイスは、共通設定情報化がされているデバイスであるので、配信された個別設定情報は、共通設定情報に反映されている。したがって、S2103では、ステップS2101で配信した個別設定情報と同じ設定情報の共通設定情報が取得できる。
次に、S2104において、管理アプリケーションが、共通設定情報の取得が成功したかを判断する。共通設定情報の取得が成功した場合は、処理がS2105に進む。共通設定情報の取得が失敗した場合は、処理がS2110に進む。S2105において、管理アプリケーションが、取得した共通設定情報を、第5のネットワークデバイスに対して配信する。第5のネットワークデバイスは、S1906で探索したデバイスのうち、配信先の第3のネットワークデバイス(図13(B)の画面上で選択されたデバイス)と同じプラットフォームのデバイスである。
次に、S2106において、管理アプリケーションが、S2105での共通設定情報の配信が成功したかを判断する。共通設定情報の配信が成功した場合は、処理がS2107に進む。共通設定情報の配信が失敗した場合は、処理がS2110に進む。続いて、S2107において、管理アプリケーションが、第5のネットワークデバイスから、共通設定情報を配信されて第5のネットワークデバイスの設定として反映された設定情報を、個別設定情報としてエクスポートさせることで取得する。第5のネットワークデバイスは、共通設定情報化が進んでいるので、配信された共通設定情報は個別設定情報に反映されている。
次に、S2108において、管理アプリケーションが、S2107での個別設定情報の取得が成功したかを判断する。個別設定情報の取得が成功した場合は、処理がS2109に進む。個別設定情報の取得が失敗した場合は、処理がS2110に進む。続いて、S2109において、管理アプリケーションが、配信先のデバイス(図13(B)の画面上で選択されたデバイス)へ配信する設定情報の作成が成功したことを示す情報と、作成した設定情報とをRAM205または二次記憶装置206に保存する。また、S2110において、管理アプリケーションは、配信する設定情報の作成に失敗したことを示す情報をRAM205または二次記憶装置206に保存する。
図15の説明に戻る。上記説明したS1704の処理(変換方法1または変換方法2の処理)が完了すると、ステップS1706に進む。S1706において、管理アプリケーションが、配信する設定情報の作成に成功したかを判断する。配信する設定情報の作成に成功した場合は、処理がS1707に進む。配信する設定情報の作成に失敗した場合は、処理がS1705に進む。S1707において、管理アプリケーションが、S1704で作成した設定情報を配信先のデバイスへ配信する。また、S1705において、管理アプリケーションが、従来例通りの方法で設定情報を変換し、配信する設定情報を作成する。そして、S1707において、管理アプリケーションが、S1705で作成した設定情報を配信先のデバイスに配信する。続いて、S1708において、管理アプリケーションが、配信先の全てのデバイスに対する設定情報の配信が完了したかを判断する。配信が完了していないデバイスが残っている場合は、処理がS1701に戻る。配信先の全てのデバイスに対する設定情報の配信が完了した場合は、S1307の処理から抜ける。
次に、設定情報のインポート処理について説明する。図7のS1006において、管理アプリケーションが、インポートが選択されたかを判断する。インポートが選択されない場合は、処理がS1007に進む。インポートが選択された場合は、管理アプリケーションが、以下に説明するインポート処理を実行する。
図21は、インポート処理を説明する図である。
まず、管理アプリケーションが、図21(A)に示す画面をサーバ108のユーザインタフェース201のディスプレイ上に表示する。管理アプリケーションは、図21(A)の画面上でユーザによって入力(選択)される、インポート対象の設定情報のファイル名やファイルパスを受け付ける。ユーザは、図21(A)の画面において、インポートする設定情報のファイル名とファイルパスを入力してもよいし、「参照」のボタンを押下することで、インポートする設定情報をサーバ108等から参照して選択してもよい。管理アプリケーションは、ユーザが「完了」ボタンを押下するのを待つ。「完了」ボタンが押下された場合は、管理アプリケーションは、図21(A)の画面上で入力された設定情報のファイルを検索後、設定情報のインポートを実行して、RAM205または二次記憶装置206に保存する。図21(A)の画面上で入力された設定情報のファイルパスが、サーバ108以外のPCやサーバ等であっても、本発明の効果に影響はない。設定情報のインポートが完了すると、管理アプリケーションは、図21(B)に示すように、インポート結果をサーバ108のユーザインタフェース201のディスプレイ上に画面表示する。なお、インポートした設定情報は、図8(B)の設定情報リストに表示されるようになる。図21(B)の画面でユーザが「OK」を選択すると、管理アプリケーションが、インポートの処理を終了する。そして、処理が図7のS1003に戻る。
図7の説明に戻る。S1007において、管理アプリケーションが、エクスポートが選択されたかを判断する。エクスポートが選択されない場合は、処理がS1008に進む。エクスポートが選択された場合は、管理アプリケーションは、以下に説明するエクスポート処理を実行する。
図22は、エクスポート処理を説明する図である。
まず、管理アプリケーションが、図22(A)に示す画面をサーバ108のユーザインタフェース201のディスプレイ上に表示する。管理アプリケーションは、図22(A)の画面上でのエクスポート対象の設定情報の選択を受け付ける。続いて、管理アプリケーションが、図22(B)に示す画面を表示して、選択された設定情報のエクスポートを開始してよいかを確認する。図22(B)に示す画面上で、ユーザが「OK」を選択すると、管理アプリケーションが、設定情報のエクスポートを開始してよいことを確認し、実際のエクスポートを実行する。図22(B)の画面で「戻る」が選択された場合は、図22(A)の画面へ戻る。なお、図示しないが、実際のエクスポート処理では、管理アプリケーションは、例えばユーザの操作にしたがって、エクスポートする設定情報を保存する先(エクスポート先のファイル名やファイルパス)を指定する。エクスポートが完了すると、管理アプリケーションが、図22(C)に示すように、エクスポート結果を画面表示する。図22(C)の画面上でユーザが「OK」を選択すると、管理アプリケーションが、エクスポートの処理を終了する。そして、処理が図7のS1003に戻る。
図7のS1008において、管理アプリケーションが、終了が選択されたかを判断する。終了が選択されていない場合は、処理がS1003に戻る。終了が選択された場合は、管理アプリケーションの処理を終了する。
(実施例2)
次に、実施例2について説明する。実施例2の処理も、ROM204または二次記憶装置206からRAM205にコピーされたプログラムをCPU203が実行することによって行われる。
実施例1では、設定情報をデバイスへ配信する際に、配信する設定情報を設定情報リスト(図8(B))からユーザに選択させていた。実施例2では、管理アプリケーションは、デバイスリスト(図8(A))から選択されたデバイスから設定情報を取得し、該取得した設定情報をデバイスへの配信対象の設定情報とする。実施例2の管理アプリケーションも、図6を参照して説明した動作処理と同様の処理を実行する。
図23は、実施例2の管理アプリケーションによる設定情報の配信処理の例を説明するフローチャートである。また、図24は、設定情報の配信処理において表示される画面を説明する図である。
図23のS2801は、図7のS1005の判断処理で配信が選択された場合に実行する処理である。S2801において、管理アプリケーションが、デバイスリストをサーバ108のユーザインタフェース201のディスプレイ上に画面表示し、設定情報を取得する対象のデバイスをユーザに選択させる。S2801で表示される画面(第1の選択画面)は、図12(A)の画面と同様の画面である。
次に、S2802において、管理アプリケーションが、デバイスリストからデバイスが選択されたか(「選択」ボタンと「完了」ボタンが押下されたか)を判断する。デバイスが選択されない場合は、処理がS2801に戻る。デバイスが選択された場合は、処理がS2803に進む。
S2803において、管理アプリケーションが、図24(A)に示す画面を表示する。そして、管理アプリケーションは、S2801において選択されたデバイスから取得する設定情報の種類をユーザに選択させる。続いて、管理アプリケーションが、設定情報の種類が選択されたか(「個別」または「共通」ボタンと「OK」ボタンが押下されたか)を判断する。設定情報の種類が選択されない場合は、処理がS2803に戻る。設定情報の種類が選択された場合は、処理がS2806に進む。
S2806において、管理アプリケーションが、図24(B)に示す画面を表示し、設定が完了したか、つまりデバイスから設定情報の取得を開始してよいかを判断する。図24(B)の画面上で、ユーザが「OK」ボタンを押下すると、管理アプリケーションは、設定が完了したと判断して、処理がS2807に進む。ユーザが「OK」ボタンを押下すると、管理アプリケーションが、設定が完了していないと判断して、処理がS2801に戻る。
S2807において、管理アプリケーションが、設定情報の取得処理を開始する。S2807で管理アプリケーションが行う設定情報の取得処理は、図6等を参照して前述した処理と同様である。続いて、S2808において、管理アプリケーションが、設定情報の取得が完了したかを判断する。設定情報の取得が完了していない場合は、処理がS2808に戻る。設定情報の取得が完了した場合は、処理がS2809に進む。
S2809において、管理アプリケーションが、設定情報の取得が成功したかを判断する。設定情報の取得が成功した場合は、処理がS2810に進む。設定情報の取得が失敗した場合は、処理が図7のS1003に戻る。
S2810乃至S2814の処理、つまり配信対象のデバイスの選択と実際の配信処理は、図10のS1303乃至S1307の処理と同様である。S2810で表示されるデバイスリストの画面は、配信先のデバイスを選択する第2の選択画面である。S2815において、管理アプリケーションが、サーバ108のユーザインタフェース201のディスプレイ上に設定情報の配信結果を図24(C)に示すように画面表示する。設定情報の配信結果がユーザによって確認され,ユーザが「OK」を押下すると、管理アプリケーションは、配信処理を終了する。そして、処理が図7のS1003に戻る。なお、S2809で、設定情報の取得が失敗したと判断された場合に、処理がS2815に進むようにしてもよい。この場合には、配信する設定情報自体が準備(取得)できなかったので、S2815において、管理アプリケーションは、配信の失敗を示す情報を画面表示する。
(実施例3)
図25は、実施例3における変換方法1に基づく設定情報の変換処理の例を説明するフローチャートである。
図25を参照して説明する処理は、ROM204または二次記憶装置206からRAM205にコピーされたプログラムをCPU203が実行することによって行われる。実施例1では、管理アプリケーションは、共通設定情報化が進んだデバイスを利用して設定情報の変換を行う際に、設定情報の変換に利用するデバイスに対して、事前の処理を行わずに設定情報を配信して設定情報の変換を行っていた。実施例3では、事前に設定情報の変換の為に利用するデバイスから設定情報を一時的に保存(バックアップ)してから、設定情報の変換を行う。そして、設定情報の変換後に、バックアップしておいた設定情報をデバイスへ戻す。
図25のS3001において、管理アプリケーションが、図17のS1903で探索された、設定情報の変換に使用するデバイスから設定情報を取得する。S3001において取得される設定情報は、個別設定情報と共通設定情報の両方である。続いて、S3002において、管理アプリケーションが、設定情報の取得が成功したかを判断する。設定情報の取得が成功した場合は、処理がS3003に進む。設定情報の取得が失敗した場合は、処理がS3012に進む。S3003において、管理アプリケーションが、取得した設定情報(個別設定情報と共通設定情報)をRAM205または二次記憶装置206に保存する。S3004乃至S3008の処理は、図18のS2001乃至S2005と同様の処理であるので、説明を省略する。なお、S3005及びS3007で配信や取得に失敗した場合には、S3012に進む。
S3009において、管理アプリケーションが、S3003で保存した設定情報(個別設定情報、共通設定情報)を、設定情報を取得したデバイスへ配信する(戻す)。続いて、S3010において、管理アプリケーションが、S3009での設定情報の配信が成功したかを判断する。設定情報の配信が成功した場合は、処理がS3011に進む。設定情報の配信が失敗した場合は、処理がS3012に進む。S3011とS3012の処理については、図18のS2007とS2006の処理と同様である。
図26および図27は、実施例3における変換方法2に基づく設定情報の変換処理の例を説明するフローチャートである。
まず、図26のS3101において、管理アプリケーションが、図17のS1906で探索された、配信対象の設定情報と同じプラットフォームのデバイスから設定情報を取得する。S3101で取得される設定情報は、個別設定情報と共通設定情報の両方である。続いて、S3102において、管理アプリケーションが、S3101での設定情報の取得が成功したかを判断する。設定情報の取得に成功した場合は、処理がS3103に進む。設定情報の取得に失敗した場合は、処理がS3120に進む。
次に、S3103において、管理アプリケーションが、取得した設定情報(個別設定情報、共通設定情報)をRAM205または二次記憶装置206に保存する。以降のステップS3104乃至S3107の処理は、図19のS2101乃至S2104と同様の処理であるので、説明を省略する。なお、S3105及びS3107で配信や取得に失敗した場合には、処理がS3120に進む。
S3106での共通設定情報の取得が成功した場合(S3107でYes)は、処理がS3108に進む。S3108において、管理アプリケーションが、S3103で保存した設定情報(個別設定情報、共通設定情報)を、設定情報を取得したデバイスへ配信する(戻す)。続いて、S3109において、管理アプリケーションが、S3108での設定情報の配信が成功したかを判断する。設定情報の配信が成功した場合は、処理が、図27のS3110に進む。設定情報の配信が失敗した場合は、処理がS3120に進む。
次に、図27のS3110において、管理アプリケーションが、図17のS1906で探索された、配信先のデバイスと同じプラットフォームのデバイスから設定情報を取得する。続いて、S3111において、管理アプリケーションが、S3110での設定情報の取得が成功したかを判断する。設定情報の取得が成功した場合は、処理がS3112に進む。設定情報の取得が失敗した場合は、処理が、図26のS3120に進む。
次に、S3112において、管理アプリケーションが、S3110で取得した設定情報(個別設定情報、共通設定情報)をRAM205または二次記憶装置206に保存する。以降のS3113乃至S3116の処理は、図19のS2105乃至S2108と同様の処理であるので、説明を省略する。なお、S3114及びS3116で配信や取得に失敗した場合には、処理が、図26のS3120に進む。
S3115での個別設定情報の取得が成功した場合(S3116でYes)は、処理がS3117に進む。S3117において、管理アプリケーションが、S3112で保存した設定情報(個別設定情報、共通設定情報)を、設定情報を取得したデバイスへ配信する(戻す)。続いて、S3118において、管理アプリケーションが、S3117での設定情報の配信が成功したかを判断する。設定情報の配信が成功した場合は、処理がS3119に進む。設定情報の配信が失敗した場合は、処理が、図26のS3120に進む。S3119とS3120の処理は、図19のS2109とS2110の処理と同様である。
(実施例4)
実施例1では、管理アプリケーションは、共通設定情報化が進んだデバイスを利用して設定情報の変換を行う際に、デバイスのファームウェアバージョンに基づいて、どのデバイスを利用するのか判断する。実施例4では、共通設定情報化の進捗を示す専用のバージョン情報をデバイス側が持つようにし、管理アプリケーションは、ファームバージョンの代りに、専用のバージョン情報を利用して有用な設定情報の変換及び配信処理を行う。例えば、共通設定情報が無い状態をバージョン0.0とする。そして、共通設定情報化の進捗(共通設定情報の設定項目数)に応じて、1.0、2.0・・・と徐々に上がって行く共通化バージョンを定義する。具体的には、共通化バージョンが1.0である場合は、40項目、共通化バージョンがバージョン2.0である場合は、60項目、バージョン3.0である場合は、80項目の共通設定化情報とする。また、共通化バージョンが同じであれば、異なるプラットフォームであっても、共通設定情報の項目数を同じとする。最終的に全ての個別設定情報が共通設定情報化されると、共通化バージョンも99.0等の固定の値になる。従って、例えば、図8(A)のデバイスリストや図8(B)の設定情報リストにも共通化バージョンを表示(管理アプリケーションが保持)する。このように、共通化バージョンの情報がデバイス側に存在すれば、管理アプリケーションは、図16や図17のフローチャートの処理において、デバイスや設定情報の共通設定情報化に関する比較を、共通化バージョンに基づいて実行可能である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。