(57)【要約】【課題】  遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにする。【解決手段】  電子機器１０に被管理機能部１３の機能を実現させるためのプログラムを設定する場合において、電子機器に備える汎用プラットフォームに関する情報と、作成されるプログラムの機能に関する情報とをアプリサーバ８０に入力し、アプリサーバ８０のアプリ作成部８２に、それらの入力した情報に基づいて、ＭＦＰ１０に備える汎用プラットフォーム上で動作し、ＭＦＰ１０に所要の機能を実現させるためのプログラムを作成させ、そのプログラムを、ＭＦＰ１０に備える汎用インタフェースからＭＦＰ１０に記憶させると共に、ＭＦＰ１０が自身の制御に利用できるように設定する。【選択図】        図３
2006252135.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを設定するプログラム設定方法であって、
前記電子機器に備える汎用プラットフォームに関する情報である第１の情報および作成されるプログラムの機能に関する情報である第２の情報をプログラム作成装置に入力し、
前記プログラム作成装置に、前記第１の情報及び前記第２の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第２の情報の内容に応じた機能を実現させるためのプログラムを作成させ、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させると共に、該電子機器が自身の制御に利用できるように設定することを特徴とするプログラム設定方法。
【請求項２】
請求項１記載のプログラム設定方法であって、
前記汎用プラットフォームは、Ｊａｖａ及びオペレーティングシステムを用いて構成したプラットフォームであることを特徴とするプログラム設定方法。
【請求項３】
請求項１又は２記載のプログラム設定方法であって、
前記汎用インタフェースは、イーサネットインタフェース，ＵＳＢインタフェース，および着脱可能な記録媒体のいずれかであることを特徴とするプログラム設定方法。
【請求項４】
請求項１乃至３のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置が前記遠隔管理の契約に関する情報を参照できるようにしておき、前記プログラムの作成の際に、前記第２の情報を、前記遠隔管理の契約に関する情報から取得させることを特徴とするプログラム設定方法。
【請求項５】
請求項１乃至４のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置に、作成したプログラムにＩＤを付させると共に、該ＩＤを前記管理装置に転送させることを特徴とするプログラム設定方法。
【請求項６】
請求項１乃至５のいずれか一項記載のプログラム設定方法であって、
前記電子機器と汎用通信経路により通信可能な設定装置に、前記汎用通信経路を介して前記電子機器から前記第１の情報を取得させ、前記プログラム作成装置に入力させるようにしたことを特徴とするプログラム設定方法。
【請求項７】
請求項６記載のプログラム設定方法であって、
前記設定装置に、前記電子機器に所定のプロパティ取得用プログラムを実行させることにより該電子機器から前記第１の情報を取得させることを特徴とするプログラム設定方法。
【請求項８】
請求項６又は７記載のプログラム設定方法であって、
前記電子機器と前記設定装置とはＦＴＰを用いて通信させ、
前記設定装置と前記プログラム作成装置とはＨＴＴＰを用いて通信させることを特徴とするプログラム設定方法。
【請求項９】
請求項６乃至８のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置はウェブサーバ機能を有する装置であり、
前記設定装置はウェブクライアント機能を有する装置であり、
前記設定装置に、前記ウェブクライアント機能を用いて前記プログラム作成装置にアクセスさせ、前記プログラム作成装置に必要な情報を送信させることを特徴とするプログラム設定方法。
【請求項１０】
請求項９記載のプログラム設定方法であって、
前記設定装置に、前記ウェブクライアント機能を用いて前記プログラム作成装置にアクセスさせ、前記プログラム作成装置に前記第２の情報を送信させることを特徴とするプログラム設定方法。
【請求項１１】
請求項７記載のプログラム設定方法であって、
前記設定装置に、前記プロパティ取得用プログラムをウェブサーバから取得させるようにしたことを特徴とするプログラム設定方法。
【請求項１２】
請求項７記載のプログラム設定方法であって、
前記プロパティ取得用プログラムがＪＡＶＡプログラムであることを特徴とするプログラム設定方法。
【請求項１３】
請求項６乃至１２のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置に、作成したプログラムの記録位置を示す情報をウェブページとして作成して前記設定装置に通知させ、
前記設定装置に、前記ウェブページに含まれる記録位置の情報に基づいて前記プログラム作成装置が作成したプログラムを取得させることを特徴とするプログラム設定方法。
【請求項１４】
請求項５記載のプログラム設定方法によって、前記電子機器に前記遠隔管理用プログラムを設定すると共に、その遠隔管理用プログラムのＩＤを前記電子機器を管理する管理装置に記憶させ、
該管理装置に、前記電子機器を該電子機器に設定されている遠隔管理用プログラムのＩＤを用いて認証した場合に該電子機器の遠隔管理を開始させるようにしたことを特徴とする遠隔管理システムの構築方法。
【請求項１５】
電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置であって、
前記電子機器に備える汎用プラットフォームに関する情報である第１の情報と、作成するプログラムの機能に関する情報である第２の情報との入力を受け付ける手段と、
前記第１の情報及び前記第２の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第２の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させられる形式で出力する手段とを有することを特徴とするプログラム作成装置。
【請求項１６】
コンピュータを、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置として機能させるためのプログラムであって、
前記コンピュータを、
前記電子機器に備える汎用プラットフォームに関する情報である第１の情報と、作成するプログラムの機能に関する情報である第２の情報との入力を受け付ける手段と、
前記第１の情報及び前記第２の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第２の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させられる形式で出力する手段として機能させるためのプログラム。
【請求項１７】
請求項１６記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子機器にプログラムを設定するプログラム設定方法、このようなプログラム設定方法によって電子機器に遠隔管理用のプログラムを設定して遠隔管理システムを構築する遠隔管理システムの構築方法、電子機器に設定するプログラムを作成するプログラム作成装置、コンピュータをこのようなプログラム作成装置として機能させるためのプログラム、及びこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、複写機を始めとする電子機器を、外部の管理装置と所定の通信経路を介して通信可能とし、電子機器から種々の情報を管理装置に送信させ、その情報を利用して管理装置によって電子機器を管理する遠隔管理システムが知られている。
このような遠隔管理システムとしては、例えば特許文献１及び２に記載のものが挙げられる。
【特許文献１】特開平１０−３０１８１０号公報
【特許文献２】特開２００１−３４４１３０号公報  また、近年においては、上記のような遠隔管理のための通信経路として、ＬＡＮ（ローカルエリアネットワーク）やインターネットを活用し、ネットワークインタフェースを介した通信により、遠隔管理の機能を実現することも行われている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上記のような遠隔管理を行う場合、当然ながら、管理対象の電子機器に、遠隔管理を受けるための機能、例えば管理装置に情報を送信する機能、を持たせる必要がある。そして、このような機能は、電子機器に必要なプログラムを記憶させ、ＣＰＵにそれを実行させることにより実現させることができる。
しかし、管理対象となる電子機器は、機種によってＣＰＵの性能や搭載しているＯＳ（オペレーティングシステム）が異なったり、管理を受けるために必要な機能が異なったりする場合がある。そこで、遠隔管理用のプログラムは、機種毎や一定の機種のグループ毎に開発していた。
【０００４】
しかしながら、このような開発手法では、管理対象となる機器の機種が多岐に亘る場合、開発の労力がかさみ、効率が悪いという問題があった。そしてこのため、全体として遠隔管理システムの構築コストが増加するという問題があった。
この発明は、このような問題を解決し、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、この発明のプログラム設定方法は、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを設定するプログラム設定方法において、上記電子機器に備える汎用プラットフォームに関する情報である第１の情報および作成されるプログラムの機能に関する情報である第２の情報をプログラム作成装置に入力し、上記プログラム作成装置に、上記第１の情報及び上記第２の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第２の情報の内容に応じた機能を実現させるためのプログラムを作成させ、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させると共に、その電子機器が自身の制御に利用できるように設定するようにしたものである。
【０００６】
このようなプログラム設定方法において、上記汎用プラットフォームを、Ｊａｖａ及びオペレーティングシステムを用いて構成したプラットフォームとするとよい。
さらに、上記汎用インタフェースを、イーサネットインタフェース，ＵＳＢインタフェース，および着脱可能な記録媒体のいずれかとするとよい。
さらに、上記プログラム作成装置が上記遠隔管理の契約に関する情報を参照できるようにしておき、上記プログラムの作成の際に、上記第２の情報を、上記遠隔管理の契約に関する情報から取得させるようにするとよい。
【０００７】
さらにまた、上記プログラム作成装置に、作成したプログラムにＩＤを付させると共に、そのＩＤを上記管理装置に転送させるようにするとよい。
さらに、上記電子機器と汎用通信経路により通信可能な設定装置に、上記汎用通信経路を介して上記電子機器から上記第１の情報を取得させ、上記プログラム作成装置に入力させるようにするとよい。
さらに、上記設定装置に、上記電子機器に所定のプロパティ取得用プログラムを実行させることによりその電子機器から上記第１の情報を取得させるようにするとよい。
【０００８】
さらにまた、上記電子機器と上記設定装置とはＦＴＰを用いて通信させ、上記設定装置と上記プログラム作成装置とはＨＴＴＰを用いて通信させるようにするとよい。
さらに、上記プログラム作成装置をウェブサーバ機能を有する装置とし、上記設定装置をウェブクライアント機能を有する装置とし、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に必要な情報を送信させるようにするとよい。
さらに、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に上記第２の情報を送信させるようにするとよい。
【０００９】
また、上記の各プログラム設定方法において、上記設定装置に、上記プロパティ取得用プログラムをウェブサーバから取得させるようにするとよい。
あるいは、上記プロパティ取得用プログラムをＪＡＶＡプログラムとするとよい。
また、上記の各プログラム設定方法において、上記プログラム作成装置に、作成したプログラムの記録位置を示す情報をウェブページとして作成して上記設定装置に通知させ、上記設定装置に、上記ウェブページに含まれる記録位置の情報に基づいて上記プログラム作成装置が作成したプログラムを取得させるようにするとよい。
【００１０】
また、この発明の遠隔管理システムの構築方法は、上記のいずれかのプログラム設定方法によって、上記電子機器に上記遠隔管理用プログラムを設定すると共に、その遠隔管理用プログラムのＩＤを上記電子機器を管理する管理装置に記憶させ、その管理装置に、上記電子機器をその電子機器に設定されている遠隔管理用プログラムのＩＤを用いて認証した場合にその電子機器の遠隔管理を開始させるようにしたものである。
【００１１】
また、この発明のプログラム作成装置は、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置において、上記電子機器に備える汎用プラットフォームに関する情報である第１の情報と、作成するプログラムの機能に関する情報である第２の情報との入力を受け付ける手段と、上記第１の情報及び上記第２の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第２の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させられる形式で出力する手段とを設けたものである。
【００１２】
また、この発明のプログラムは、コンピュータを、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置として機能させるためのプログラムにおいて、上記コンピュータを、上記電子機器に備える汎用プラットフォームに関する情報である第１の情報と、作成するプログラムの機能に関する情報である第２の情報との入力を受け付ける手段と、上記第１の情報及び上記第２の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第２の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させられる形式で出力する手段として機能させるためのプログラムである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１３】
以上のようなこの発明のプログラム設定方法、遠隔管理システムの構築方法及びプログラム作成装置によれば、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のプログラム作成装置として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
【発明を実施するための最良の形態】
【００１４】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明のプログラム設定方法の適用対象となるシステムの構成について説明する。図１は、そのシステムの構成を示したブロック図である。
図１に示すシステムは、ユーザ側環境１に、電子機器１０，２０，３０と、設定用端末４０，およびファイアウォール５０を、ＬＡＮ６０により接続して設けている。また、アプリケーションサーバ８０と管理装置９０をインターネット７０に接続して設けており、ユーザ側環境１に設けた各装置は、汎用通信経路であるＬＡＮ６０とインターネット７０を介してアプリケーションサーバ８０及び管理装置９０と通信可能である。
【００１５】
このうち、電子機器１０，２０，３０は、この発明のプログラム設定方法によりプログラムを設定する対象の装置である。そして、電子機器１０，２０，３０に遠隔管理を受けるために必要な機能を実現するための遠隔管理用プログラムである管理用アプリケーション（以下、「アプリケーション」を略して「アプリ」という）を設定し、実行させることにより、管理装置９０による管理を受ける被管理装置として機能させることができる。そして、この場合においては、電子機器１０，２０，３０と管理装置９０とが、遠隔管理システムを構成することになる。
【００１６】
また、ここでいう管理とは、管理対象の機器から情報を取得し、その情報に基づいて何らかの動作を行うことである。この動作としては、例えば被管理装置がコピー、プリント、スキャン、ファクシミリ通信等の機能を有するデジタル複合機（ＭＦＰ）であれば、画像形成枚数を集計したり、管理対象の装置からの異常発生通知に対応して適当なサービスセンタに通報を行い、修理担当者の派遣を促したり、管理対象装置のファームウェアのバージョン情報を取得し、そのバージョンが古いものであった場合に新しいファームウェアを送信して更新させたりといった動作が考えられる。また、取得した情報を単に蓄積するのみでもよい。
【００１７】
アプリサーバ８０は、プログラム作成装置に該当し、電子機器１０，２０，３０等の、管理装置９０による管理の対象となる機器に設定するための管理用アプリを作成する機能を有する装置である。また、ウェブサーバ機能を有し、ウェブクライアント機能を有する装置から情報を受信したり、要求を受信してその要求に従って動作することができる。
設定用端末４０は、設定装置に該当し、管理用アプリを設定する対象の機器の情報や、管理用アプリの機能に関する情報を収集し、アプリサーバ８０に送信してそれらの情報に基づいて適切な管理用アプリを生成させたり、その管理用アプリを取得して電子機器１０，２０，３０等の機器に設定したりするために使用する装置である。また、ウェブクライアント機能を有し、アプリサーバ８０にこのウェブクライアント機能によりアクセスして、情報の送信や、管理用アプリの作成及び取得の要求を行うことができる。
【００１８】
ここで、図２に、図１に示した電子機器のハードウェア構成を示す。ここでは電子機器１０を代表として示しているが、他の電子機器も同様な構成でよい。あるいは、異なっていてもよい。
この図に示すように、電子機器１０は、ＣＰＵ１０１，ＲＯＭ１０２，ＲＡＭ１０３，不揮発性メモリ１０４，ネットワークインタフェース（Ｉ／Ｆ）１０５，記録媒体Ｉ／Ｆ１０６，エンジン部１０７を備え、これらがシステムバス１０８により接続されている。
【００１９】
そして、ＣＰＵ１０１は、電子機器１０全体を統括制御する制御手段であり、ＲＯＭ１０２や不揮発性メモリ１０４に記録された種々のプログラムを実行することにより、種々の動作を行う手段として機能し、種々の機能を実現する。特に、電子機器１０は、Ｊａｖａ（登録商標）及びＯＳを用いて構成した汎用プラットフォームを有しており、この汎用プラットフォームに対応したプログラムは、この汎用プラットフォーム上で動作させることができる。
ＲＯＭ１０２は、不揮発性の記憶手段であり、ＣＰＵ１０１が実行するプログラムや、固定的なパラメータ等を記憶する。ＲＯＭ１０２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
【００２０】
ＲＡＭ１０３は、一時的に使用するデータを記憶したり、ＣＰＵ１０１のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ１０４は、フラッシュメモリやＨＤＤ（ハードディスクドライブ）等による書き換え可能な不揮発性記憶手段であり、ＣＰＵ１０１が実行するプログラムや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値等を記憶する。上述したＪａｖａやＯＳのプログラム及び管理用アプリも、ここに記憶させるとよい。
【００２１】
ネットワークＩ／Ｆ１０５は、電子機器１０をＬＡＮ６０等のネットワークに接続するための汎用インタフェースであり、例えばイーサネット（登録商標）方式の通信を行うためのインタフェースである。そして、ネットワークを介して他の装置と通信を行う場合、このネットワークＩ／Ｆ１０５とＣＰＵ１０１とが通信手段として機能する。なお、ネットワークとしては、有線、無線を問わず種々の方式のものが使用可能であり、ネットワークＩ／Ｆ１０５は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数のネットワークＩ／Ｆ１０５を設けることも当然可能である。また、ＵＳＢ（Universal Serial Bus）方式のインタフェースを設け、設定用端末４０とＵＳＢケーブルを介して通信可能としてもよい。
【００２２】
記録媒体Ｉ／Ｆ１０６は、ＳＤ（Secure Digital）メモリカードのような着脱可能な記録媒体を装着し、データの読み書きを行うためのインタフェースである。そして、電子機器１０は、このような記録媒体に記録されているプログラムを読み出して実行可能な状態に設定することもできる。
エンジン部１０７は、画像形成部、画像読取部、ファクシミリ通信ユニット等であり、ＣＰＵ１０１がこれらの動作を適切に制御することにより、電子機器１０にコピー、プリント、スキャン、ファクシミリ通信等の種々の動作を実行させることができる。なお、この部分は、この実施形態の特徴とはあまり関係ないため、図示は簡単なものに留めている。
【００２３】
なお、設定用端末４０，アプリサーバ８０，管理装置９０については、ハードウェアとしては、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＨＤＤ等を備えた一般的なコンピュータを用いることができるため、ハードウェアの説明は省略する。そして、ＣＰＵに所要の制御プログラムを実行させることにより、以下に説明するような機能を実現させることができる。
【００２４】
次に、図１に示した電子機器１０に管理用アプリを設定し、管理装置９０による管理を受けさせる際に関与する主な装置及び機能について説明する。
図３は、その装置及び機能の構成を示す機能ブロック図である。この図においては、管理用アプリの設定に際して特徴的な動作を行わない機能部の図示は省略している。また、この図に示す各機能は、各装置のＣＰＵが所要のプログラムを実行し、装置の各部を制御することにより実現されるものであり、破線で示した機能は、電子機器１０に事後的にプログラムを設定することにより付加する機能である。
【００２５】
図１に示したシステムでは、上述したように、設定用端末４０によりアプリサーバ８０に要求して管理用アプリを作成させ、同じく設定用端末４０によりその管理用アプリを取得して電子機器１０に設定するようにしている。
そして、図３に示すように、設定用端末４０には、このための機能部として、プロパティ情報取得部４１，機能情報取得部４２，アプリ作成要求部４３，アプリ設定部４４を設けている。
【００２６】
このうち、プロパティ情報取得部４１は、アプリサーバ８０に管理用アプリを作成させる際に使用する、電子機器１０のプロパティ情報を取得する機能を有する。このプロパティ情報は、設定用端末４０の操作者に入力させてもよいし、プロパティ情報取得用アプリを利用することもできる。すなわち、プロパティ情報取得用アプリを電子機器１０に送信して実行させることにより、電子機器１０にプロパティ情報収集部１２の機能を設けて自身のプロパティ情報を収集させ、その収集結果を取得するようにすることもできる。なお、プロパティ情報としては、少なくとも電子機器１０に備える汎用プラットフォームに関する情報を取得するようにする。
【００２７】
また、機能情報取得部４２は、アプリサーバ８０に管理用アプリを作成させる際に使用する、そのアプリによって実現させる機能の種類の情報を取得する機能を有する。この情報は、ここでは設定用端末４０の操作者に入力させるようにしている。
アプリ作成要求部４３は、プロパティ情報取得部４１及び機能情報取得部４２から必要な情報を取得してアプリサーバ８０に送信し、アプリ作成部８２に対して、電子機器１０に設定する管理用アプリの作成を要求する機能を有する。
【００２８】
アプリ設定部４４は、アプリサーバ８０が作成した管理用アプリを取得し、これを電子機器１０に設定させる機能を有する。この設定は、例えば管理用アプリをイーサネット方式やＵＳＢ方式等の汎用インタフェースを用いた通信により送信し、設定指示に従ってアプリ設定部１１に設定処理を行わせることにより実現できる。また、管理用アプリをＳＤメモリカードのような着脱可能な汎用の記録媒体に記録し、ユーザがこれを電子機器１０に装着した場合に、電子機器１０のアプリ設定部１１がこれを読み出して設定できるようにすることも考えられる。この場合も、管理用アプリを記録媒体Ｉ／Ｆ１６という汎用インタフェースから電子機器１０に記憶させることになる。
そして、電子機器１０に管理用アプリが設定されると、ＣＰＵ１０１がこのアプリを実行することにより、管理装置９０による管理を受けるための被管理機能部１３の機能が実現される。
【００２９】
また、アプリサーバ８０には、ソースコード記憶部８１，アプリ作成部８２，アプリ記憶部８３，アプリ情報送信部８４を設けている。
このうち、ソースコード記憶部８１は、アプリサーバ８０が作成する管理用アプリのもとになるソースコードを記憶する機能を有する。このソースコードは、電子機器１０において利用が想定される全てのプラットフォームで、利用が想定される全ての機能が実現できるように作成しておき、管理用アプリを作成する際には、このソースコードから必要な部分を切り出したり、所定の規則に従って加工したりして作成することができるようにしておく。
【００３０】
アプリ作成部８２は、アプリ作成要求部４３からの要求に応じ、アプリ作成要求部４３から渡された情報に従って、ソースコード記憶部８１に記憶しているソースコードから、電子機器１０に備える汎用プラットフォーム上で動作し、電子機器１０に指定された機能を実現させるための管理用アプリを作成する機能を有する。また、作成した管理用アプリをアプリ記憶部８３に登録すると共に、アプリ設定部４４にその旨を通知する機能も有する。さらに、アプリ情報送信部８４に、作成した管理用アプリの識別情報を管理装置９０に通知させる機能も有する。
【００３１】
アプリ記憶部８３は、アプリ作成部８２が作成した管理用アプリを記憶し、アプリ設定部４４からの要求に応じてこれを提供する機能を有する。
アプリ情報送信部８４は、アプリ作成部８２が作成した管理用アプリの識別情報及びその管理用アプリを記憶させる電子機器の情報を、管理装置９０に送信し、認証機能部９２における電子機器１０の認証に利用させる機能を有する。
【００３２】
また、管理装置９０においては、管理機能部９１と認証機能部９２とを設けている。
そして、管理機能部９１は電子機器１０を管理する機能を有し、認証機能部９２は、管理機能部９１が電子機器１０の管理を開始するに際し、電子機器１０が実行する管理用アプリの識別情報、例えばＩＤ等を用いて電子機器１０を認証する機能を有する。
【００３３】
次に、図４乃至図１３を用いて、図３に示したような機能により電子機器１０に管理用アプリを設定する場合の設定用端末４０の動作について説明する。
まず、図４乃至図６に、設定用端末４０のＣＰＵが実行する処理のフローチャートを示す。なお、この処理は、ウェブブラウザ、ＦＴＰ（File Transfer Protocol）クライアント、Ｔｅｌｎｅｔ（テルネット）クライアント等の、汎用のソフトウェアの動作を組み合わせて実現できるものである。そして、ユーザの操作に従って処理を進めるようにしてもよいし、予め所定の処理手順をプログラムとして作成しておき、ＣＰＵにそれを実行させて処理を進めるようにしてもよい。また、各手順において、設定用端末４０のＣＰＵが、実行中の処理が一連の連続した処理の一部であると認識している必要はない。
【００３４】
設定用端末４０のＣＰＵは、設定用端末４０が起動されると、図４のフローチャートに示す処理を開始し、ステップＳ１１で、アプリサーバ８０へのアクセス指示を待つ。この指示は例えば、所定のコマンドの入力、ボタンの押下等によって受け付けることができるが、ウェブブラウザを用いて、アプリサーバ８０の所定のＵＲＬ（プロパティ情報入力画面のＵＲＬ）にアクセスする指示として受け付けることもできる。
そして、この指示があると、ステップＳ１２でアプリサーバ８０にアクセスし、プロパティ情報入力画面のデータを取得し、ステップＳ１３でブラウザの表示画面にＧＵＩ（グラフィカルユーザインタフェース）としてそのプロパティ情報入力画面を表示して、プロパティ情報入力方式の選択を受け付ける。この場合のアプリサーバ８０との間の通信は、ＨＴＴＰ（HyperText Transfer Protocol）を用いて行うことになる。
【００３５】
図７にプロパティ情報入力画面の例を示す。
このプロパティ情報入力画面１１０は、管理用アプリの設定対象の機器のプロパティ情報の入力を受け付けるための画面であり、この図に示すように、プロパティ情報入力画面１１０には、入力方式選択部１１１，アプリダウンロード指示部１１２，プロパティ保存ボタン１１３，プロパティ入力部１１４，次画面ボタン１１５を設けている。
【００３６】
そして、入力方式選択部１１１でプロパティ情報入力方式の選択を受け付けるようにし、ここでは、アプリ利用方式と手入力方式を選択可能としている。前者は、プロパティ取得用アプリを、プロパティを取得したい電子機器（作成する管理用アプリを設定しようとする電子機器）に実行させることにより、プロパティの情報を記録したプロパティ情報ファイルを作成させ、これを取得する方式である。後者は、プロパティ入力部１１４に設定用端末４０の操作者にキーボード等から手入力させ、プロパティ保存ボタン１１３が押下された場合にその入力内容をプロパティ情報ファイルに記録して取得する方式である。なお、プロパティ保存ボタン１１３とプロパティ入力部１１４は、手入力方式が選択されていない場合には、表示しないか操作できないようにしておくとよい。
【００３７】
アプリダウンロード指示部１１２は、上記のプロパティ取得用アプリをダウンロードするためにアクセスすべきアクセス先のＵＲＬ（Uniform Resource Locator）を記載すると共に、そのアクセス先へのリンクを張った部分である。ここでは、このアクセス先はアプリサーバ８０の所定のフォルダとしており、操作者がアプリダウンロード指示部１１２をクリックすると、設定用端末４０がアプリサーバ８０にアクセスしてプロパティ取得用アプリをダウンロードする。
プロパティ保存ボタン１１３と、プロパティ入力部１１４は、上述の通り、作成する管理用アプリを設定しようとする電子機器のプロパティ情報の入力を受け付けるためのものである。次画面ボタン１１５は、次の機能情報入力画面に進む指示を行うためのボタンである。
【００３８】
図４の説明に戻る。
上記の通り、ステップＳ１３での選択は、入力方式選択部１１１で受け付けることができる。そして、ステップＳ１４で、どちらの選択がなされたか判断し、アプリ利用方式であれば、ステップＳ１５乃至Ｓ１８の処理に進む。
そして、ステップＳ１５で必要に応じてプロパティ取得用プログラムであるプロパティ情報取得用アプリをダウンロードし、ステップＳ１６でそのアプリを、作成する管理用アプリを設定しようとする電子機器１０に転送する。そしてステップＳ１７で、転送したプロパティ情報取得用アプリを転送先の電子機器１０に実行させ、実行結果として電子機器１０のプロパティ情報を含むプロパティ情報ファイルを作成させ、ステップＳ１８でその実行結果のプロパティ情報ファイルを転送先の電子機器１０から取得して、図５のステップＳ２２以下の処理に進む。
【００３９】
一方、ステップＳ１４で手入力方式が選択された場合には、ステップＳ１９乃至Ｓ２１の処理に進む。
そしてステップＳ１９で、プロパティ情報入力画面において、電子機器１０のプロパティ情報の入力を受け付ける。次のステップＳ２０では、保存指示（プロパティ保存ボタン１１３の押下）があるまでステップＳ１９に戻って処理を繰り返し、保存指示があると、ステップＳ２１でプロパティ入力部１１４に入力されたプロパティ情報をプロパティ情報ファイルとして保存し、図５のステップＳ２２以下の処理に進む。
【００４０】
なお、どちらの場合にも、少なくとも電子機器１０におけるプラットフォームに関する情報、ここではＯＳの名称やバージョン、およびＪａｖａのバージョン及びクラスパスの情報、はプロパティ情報ファイルに記録されるようにする。これらの情報が、第１の情報に該当する。
また、ステップＳ１６でのアプリの転送及びステップＳ１８でのプロパティ情報ファイルの取得にはＦＴＰクライアントを、ステップＳ１７でのアプリの実行指示には、Ｔｅｌｎｅｔクライアントを、それぞれ利用することができる。この場合の通信は、それぞれＦＴＰ及びＴｅｌｎｅｔプロトコルを用いて行うことになる。
【００４１】
図８に、ＦＴＰクライアントの操作画面例を示す。
この図に示すように、ＦＴＰクライアントの操作画面であるＦＴＰクライアント画面１２０においては、ローカル側ファイル表示部１２１に、ＦＴＰクライアントを実行している側の指定したフォルダにあるファイルの情報を表示し、リモート側ファイル表示部１２２に、ＦＴＰクライアントによってアクセスした先の装置の指定したフォルダにあるファイルの情報を表示している。そして、コマンドライン１２３から所要のコマンドを入力することにより、ローカル側とリモート側の間で、ファイル表示部１２１，１２２に表示しているファイルの転送を行うことができる。このコマンド入力は、操作者の操作により行うことができるが、設定用端末４０が自動で行うこともできる。
【００４２】
また、図９に、Ｔｅｌｎｅｔクライアントの操作画面例を示す。
Ｔｅｌｎｅｔクライアントによれば、設定用端末４０から電子機器１０にログインし、コマンドを入力してプログラムの実行等の指示を行うことができる。ここでは、ＪＡＶＡプログラムとして作成したプロパティ情報取得アプリであるGetsystemProperties.javaをコンパイルして実行するコマンドを入力した例を示している。このコマンド入力が、操作者の操作によっても自動でも可能であることは、上記のＦＴＰクライアントの場合と同様である。
【００４３】
また、図１０にプロパティ情報取得アプリのソースコード例を示す。
このプロパティ情報取得アプリは、実行した機器のシステムプロパティを全項目取得し、その結果をプロパティ情報ファイルに書き出すプログラムである。
【００４４】
図１１に、そのプロパティ情報ファイルの例を示す。
管理用アプリの作成には、このファイルに記載した内容が全て必要なわけではないが、設定用端末４０はこのファイルを取得してそのままアプリサーバ８０に提供し、アプリサーバ８０が必要な情報を取捨選択して使用するようにすればよい。
また、ステップＳ２１で作成するプロパティ情報ファイルも、図１１に示したような形式とすることができるが、この場合には、アプリサーバ８０での管理用アプリの作成に必要な情報のみが含まれていればよい。
【００４５】
処理の説明に戻ると、次の図５のステップＳ２２では、機能情報入力画面の表示指示を待つ。この指示は、次画面ボタン１１５の押下により受け付けることもできるが、アプリサーバ８０の所定のＵＲＬ（機能情報入力画面のＵＲＬ）へのアクセスの指示として受け付けることもできる。そして、この指示があるとステップＳ２３に進んでアプリサーバ８０にアクセスし、機能情報入力画面のデータを取得し、ステップＳ２４でブラウザの表示画面にＧＵＩとして機能情報入力画面を表示する。
【００４６】
図１２に機能情報入力画面の例を示す。
この機能情報入力画面は、作成する管理用アプリによりその設定対象の機器に実現させようとする機能の指定を受け付けるための画面であり、この図に示すように、機能情報入力画面１３０には、機能指定部１３１，契約番号入力部１３５，プロパティ情報ファイル指定部１３６，参照ボタン１３７，送信ボタン１３８を設けている。
【００４７】
そして、機能指定部１３１には、共通機能指定部１３２，機種選択部１３３，個別機能指定部１３４を設けている。
このうち、共通機能指定部１３２は、管理装置９０による管理の対象となり得る各装置に共通に指定可能な機能の指定を受け付ける部分であり、各項目の左側に設けたラジオボタンにより、選択と非選択を切り替えることができる。また、各機能について、ポップアップ画面を表示する等して、より細かい単位で指定を受け付けることができるようにしてもよい。
【００４８】
また、機種選択部１３３は、管理対象の機器の機種に応じた機能を提示するために、管理対象機器の機種の指定を受け付ける部分である。そして、まずプリンタ，ＭＦＰ，パソコン，ＣＴ（Computed Tomography）スキャナといった大まかなカテゴリで指定を受け付け、その指定に従ってより詳細な機種の指定のためのボタンを表示して、その指定を受け付けるようにしている。
個別機能指定部１３４は、管理対象の機器の機種に応じた機能の指定を受け付ける部分であり、機種選択部１３３で受け付けた機種の選択に応じて、その機種に対応した機能のリストを表示し、共通機能指定部１３２の場合と同様に機能の指定を受け付ける。
【００４９】
また、契約番号入力部１３５は、管理装置９０により管理対象の機器を管理する管理契約を特定する番号や記号等を入力する部分である。管理契約により、管理を行う項目が定められている場合には、アプリサーバ８０から契約に関する情報を参照できるようにしておけば、その情報をもとに、管理用アプリにより電子機器１０に実現させる機能を選択できるようにすることが考えられる。そして、このようにする場合には、機能指定部１３１において機能の指定を行わなくても、またその情報をアプリサーバ８０に送信しなくても、契約番号入力部１３５に入力された情報をアプリサーバ８０に送信するようにすればよい。また、アプリサーバ８０を遠隔管理システムの提供者が提供する場合には、ここから契約に関する情報のデータベースを参照できるようにすることには大きな労力を要さないと考えられる。
【００５０】
また、プロパティ情報ファイル指定部１３６は、管理用アプリを設定する機器の情報としてアプリサーバ８０に送信するプロパティ情報ファイルを指定するための部分であり、ここでは図４のステップＳ１８の処理で取得するかステップＳ２１の処理で作成したプロパティ情報ファイルを指定すればよい。直接ファイル名やフォルダを入力しなくても、参照ボタン１３７により設定用端末４０が記憶しているプロパティ情報ファイルを検索してリスト表示させ、その中から選択して指定することも可能である。
送信ボタン１３８は、管理用アプリの作成を指示するためのボタンである。
【００５１】
図５の説明に戻ると、ステップＳ２５では、上記の機能情報入力画面１３０において、作成する管理用アプリにより実現しようとする機能及び、そのアプリの生成に使用するプロパティ情報ファイルの指定を受け付ける。上述のように、機能の情報に代えて管理契約の番号等の情報を受け付けるようにしてもよい。また、ここで受け付ける機能の情報が、第２の情報に該当する。そして、ステップＳ２６でアプリ作成開始指示ありと判断するまで、ステップＳ２５の処理を繰り返す。この指示は、送信ボタン１３８の押下により受け付けることもできるが、アプリサーバ８０への所定のコマンドの送信指示として受け付けることもできる。
【００５２】
そして、ステップＳ２６で開始指示があると、ステップＳ２７に進んで、アプリサーバ８０に機能情報入力画面１３０で指定された機能の情報及び指定されたプロパティ情報ファイルを送信し、それらの情報に従った管理用アプリの作成を要求する。また、ステップＳ２５で機能の情報に代えて管理契約の番号等の情報を受け付けた場合には、その情報を送信する。
【００５３】
なお、図１３に、この時にアプリサーバ８０に送信する機能の情報の記載形式の例を示すが、例えば、機能の大分類毎にその要否を「０」と「１」で示し、さらに小分類毎にその要否を示すような形式とすることが考えられる。
そして、ステップＳ２７の後、ステップＳ２８でアプリサーバ８０から作成完了通知があるまで待機し、ステップＳ２９でその作成完了通知により通知されたアドレスから、アプリサーバ８０が作成した管理用アプリをダウンロードし、図６のステップＳ３０の処理に進む。
【００５４】
次のステップＳ３０では、電子機器１０への管理用アプリの設定方式を判断し、転送による設定であれば、ステップＳ３１に進んで、ステップＳ２９でダウンロードした管理用アプリをＬＡＮ６０を介して電子機器１０に転送して設定を行わせ、処理を終了する。この際の転送や設定には、上述したＦＴＰクライアントやＴｅｌｎｅｔクライアントを利用することができる。
また、ステップＳ３０で記録媒体を利用した設定であれば、ステップＳ３２に進んで、ステップＳ２９でダウンロードした管理用アプリを、自身に装着されているＳＤメモリカード等の着脱可能な記録媒体に記録する。そして、この場合、操作者がその記録媒体を電子機器１０に装着して管理用アプリを読み出させ、設定させることにより、管理用アプリの設定を行うことになるが（Ｓ３３）、設定用端末４０における処理は、ステップＳ３２で終了である。
【００５５】
以上のような処理により、設定用端末４０を用いて必要な情報を収集して、アプリサーバ８０にその情報に基づいて管理用アプリを生成させ、その管理用アプリを電子機器１０に設定して、管理装置９０による遠隔管理を受けられる状態にすることができる。すなわち、電子機器１０を被管理装置とする遠隔管理システムを構築することができる。
【００５６】
次に、図１４乃至図１７を用いて、アプリサーバ８０が設定用端末４０からの管理用アプリ作成要求に応じて実行する処理について説明する。
まず、図１４にその処理のフローチャートを示す。
アプリサーバ８０のＣＰＵは、設定用端末４０が図５のステップＳ２７の処理で送信してくる管理用アプリ作成要求を受信すると、図１４のフローチャートに示す処理を開始する。そして、まずステップＳ４１で、設定用端末４０から、管理用アプリによりその設定対象の機器に実現させようとする機能の情報及び、プロパティ情報ファイルを受信する。管理契約の情報を利用する場合には、機能の情報に代えて、管理契約の番号等を受信することになる。
そしてその後、ステップＳ４２で設定用端末４０にアプリ作成中画面のデータを送信し、この画面を表示させる。
【００５７】
図１５にこの画面の表示例を示すが、アプリ作成中画面１４０は、管理用アプリを作成中である旨のメッセージと、その処理の進行度合いを示すバー１４１とを表示するものである。なお、設定用端末４０側の処理のフローチャートでは、この画面の表示処理の記載は省略した。また、図１４のフローチャートでも、ステップＳ４２以外ではこの画面に係る処理の記載を省略しているが、管理用アプリ作成処理の進行に応じて、設定用端末４０に順次バー１４１の表示の更新を行わせるようにしている。
【００５８】
図１４の説明に戻ると、次のステップＳ４３では、受信したプロパティ情報ファイルを参照し、管理用アプリを設定する電子機器１０におけるＪａｖａのバージョンを確認する。そして、ステップＳ４４でこれが自身が使用しているＪａｖａのバージョンと一致しているか否か判断し、一致していなければ、ステップＳ４５で電子機器１０におけるＪａｖａのバージョンと合った環境設定コマンドを実行し、電子機器１０におけるＪａｖａのバージョンと合ったＪａｖａのバーチャルマシンを選定する。ステップＳ４４で一致していれば、そのままステップＳ４６に進む。
なお、アプリサーバ８０は、最新バージョンのＪａｖａに対応させ、バーチャルマシンを利用して過去の全てのバージョンのＪａｖａにも対応できるようにしておくようにする。
【００５９】
そして、次のステップＳ４６では、ステップＳ４１で受信したプロパティ情報ファイル中の必要な情報（第１の情報に該当）と、管理用アプリにより実現する機能の情報（第２の情報に該当）とをパラメータとして用い、予め用意してあるソースコードをコンパイルして電子機器１０に設定させる管理用アプリのＪａｖａクラスファイルを作成する。
なお、アプリサーバ８０が管理装置９０により被管理装置を管理する遠隔管理の契約に関する情報を参照できるのであれば、電子機器１０に関する管理契約を特定するための情報を設定用端末４０から受信し、その情報をもとに、電子機器１０の遠隔管理の契約の内容を参照し、その情報から管理用アプリにより実現する機能を特定するようにすることができる。このようにする場合、設定用端末４０からは、電子機器１０に実現させるべき機能に関する情報を受信する必要はない。
【００６０】
また、管理用アプリのソースコードは、考えられる全てのプラットフォームで考えられる全ての機能が実現できるように作成しておき、ステップＳ４６でのコンパイル処理により、不要な部分を削除したり、プラットフォームの種類に従って書式等を改変する等して、最終的に適切なクラスファイルを生成できるようにするとよい。
図１６に、そのソースコードのうちごく一部分を示すが、ソースコードは、例えばこのように条件に応じて種々のメソッドを実行する部分のコードと、その各メソッドのコード（図示はしていない）として記載することができる。そして、ここからクラスファイルを作成する際には、不要な分岐やメソッドを削除すると共に、残った部分の書式を整えるような処理を行うようにすることが考えられる。
そして、以上のような処理でクラスファイルを作成した後、ステップＳ４７でそのクラスファイルに識別情報としてＩＤを付す。このＩＤは、管理用アプリのＩＤであり、管理用アプリを設定する電子機器１０の認証に使用するものである。
【００６１】
そして、次のステップＳ４８では、ステップＳ４６で作成したクラスファイルに基づき、ｊａｒ（Java Archiver）ファイルを作成し、さらに、ステップＳ４９で、設定用端末４０から受信したプロパティ情報ファイル中の必要な情報と、ステップＳ４８で生成したｊａｒファイルの情報とを利用して、管理用アプリを電子機器１０に設定する際に使用する設定ファイルを作成する。
その後、ステップＳ５０で、ここまでの処理で作成した管理用アプリのＩＤと、その管理用アプリを設定する電子機器１０の情報とを、管理装置９０に送信する。これらの情報は、管理装置９０において電子機器１０の認証に使用させるものである。
【００６２】
そして、ステップＳ５１で、ステップＳ４８で生成したｊａｒファイルと、ステップＳ４９で生成した設定ファイルとを圧縮して所定の位置に記録し、設定用端末４０に対してその位置情報として記録位置を示すＵＲＬを含む作成完了通知を送信し、処理を終了する。この作成完了通知は、例えば設定用端末４０のブラウザの表示画面に、管理用アプリのダウンロードを促すメッセージと、そのＵＲＬに対するリンクとを含むウェブページである作成完了画面を表示させるような内容とすることが考えられる。
【００６３】
図１７に、この作成完了画面の例を示すが、設定用端末４０のユーザが作成完了画面１５０のＵＲＬ１５１をクリックすると、あるいは設定用端末４０が作成完了画面１５０のデータを受信すると自動的に、設定用端末４０が作成完了画面１５０に記載されたＵＲＬにアクセスし、そこに格納されている管理用アプリをダウンロードして取得する。
そして、以上の処理により、アプリサーバ８０は、電子機器１０に備える汎用プラットフォームに関する情報と、作成するプログラムの機能に関する情報とに基づいて、電子機器１０に備える汎用プラットフォーム上で動作し、電子機器１０に必要な機能を実現させるためのプログラムを作成することができる。また、図示は省略したが、アプリサーバ８０は、設定用端末４０から管理用アプリのダウンロードの要求があった場合には、インターネット７０を介して、作成した管理用アプリを提供する。
【００６４】
次に、図１８乃至図２０を用いて、電子機器１０が管理用アプリを設定する処理について説明する。
まず、図１８に、電子機器１０が着脱可能な記録媒体から管理用アプリを読み出して設定する場合にＣＰＵ１０１が実行する処理のフローチャートを示す。
電子機器１０のＣＰＵ１０１は、起動時の初期化処理において、記録媒体からの管理用アプリの設定のための処理として、図１８のフローチャートに示す処理を実行するようにしている。
【００６５】
そして、この処理においては、まずステップＳ６１で管理用アプリ記録用の記録媒体が装着されているか否か判断する。この判断の基準は、単に、記録媒体Ｉ／Ｆ１６に装着されている記録媒体に、ファイル名等から管理用アプリと判断できるファイルが記録されているか否かによって行うようにしてもよい。しかし、記録媒体に記録されているファイルが正当なものであることが確認できるように、記録媒体に設定用端末４０やアプリサーバ８０の識別情報、あるいは管理用アプリ記録用の媒体であることを示す情報等を記録しておき、電子機器１０がこれらの情報により記録媒体を認証できるようにする等の対応を行うことが好ましい。
【００６６】
そして、ステップＳ６１で適当な記録媒体が装着されていなければそのまま処理を終了するが、装着されていれば、ステップＳ６２に進み、管理用アプリのファイル（圧縮形式）を、自身のプロパティ中のクラスパスで示されるフォルダにコピーし、ステップＳ６３でその圧縮ファイルを解凍する。
そして、この解凍により、管理用アプリのｊａｒファイルと、その設定に使用する設定ファイルとが復元されるので、次のステップＳ６４で、その設定ファイルに含まれる環境設定コマンドを実行し、クラスパスの設定を行って、管理用アプリに係るｊａｒファイルを、電子機器１０のアプリとして認識できるようにする。
【００６７】
ここまでの処理が、管理用アプリの設定に係る処理であり、以後の処理は、管理用アプリを実行して管理装置９０による管理を受ける動作を開始する際の処理である。この部分の処理の実行は、電子機器１０の起動完了後に行ってもよい。
この部分の処理においては、まずステップＳ６５で、操作パネルにより管理動作の起動指示を受け付け、ステップＳ６６でその指示があるまで待機する。そして、指示があるとステップＳ６７に進み、設定ファイルに含まれる起動コマンドを実行し、管理装置９０に対して、管理用アプリのＩＤを含む起動完了通知を送信する。なお、起動完了通知には、電子機器１０の識別情報を含めるようにし、管理用アプリのＩＤとしては、図１４のステップＳ４７の処理でアプリサーバ８０が管理用アプリのクラスファイルに付したものを送信する。そして、管理装置９０はこのＩＤを用いて電子機器１０の認証を行い、これが成功した場合に電子機器１０に確認応答を送信してくる。
【００６８】
そして、ステップＳ６８でこの確認応答を待ち、確認応答を受信したらステップＳ６９に進み、管理用アプリを実行して管理装置９０からの管理を受けるための処理を開始し、処理を終了する。
電子機器１０は、以上のような処理を実行することにより、装着された記録媒体に記録されている管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置９０による管理を受けられる状態に移行することができる。
【００６９】
次に、図１９に、電子機器１０が設定用端末４０から受信した管理用アプリを設定する場合にＣＰＵ１０１が実行する処理のフローチャートを示す。
電子機器１０のＣＰＵ１０１は、設定用端末４０から管理用アプリの圧縮ファイルを受信し、その設定を指示された場合に、図１９のフローチャートに示す処理を開始する。なお、この処理の内容は、図１８に示した処理から、ステップＳ６１，Ｓ６５，Ｓ６６を除いたものであり、それ以外のステップにおける処理は図１８に示したものと同様であるので、詳細な説明は省略する。
そして、電子機器１０は、以上のような処理を実行することにより、設定用端末４０から受信した管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置９０による管理を受けられる状態に移行することができる。
【００７０】
また、図２０に、以上の処理における管理用アプリの設定に係る動作の概念図を示す。
この図に示すとおり、電子機器１０は、自身のハードウェアを制御して種々の機能を実現するために、プラットフォーム１６１上で動作する種々のアプリ１６２（プリンタ機能を実現するためのアプリ、コピー機能を実現するためのアプリ等）を備えている。そして、管理用アプリの設定は、電子機器１０においては、これらのアプリの１つとして、管理装置９０による管理を受ける機能を実現するアプリを追加する動作という位置づけになる。
【００７１】
次に、図２１に、電子機器１０等の被管理装置からの起動完了通知に応じて管理装置９０のＣＰＵが実行する処理のフローチャートを示す。
管理装置９０のＣＰＵは、電子機器１０等の被管理装置から起動完了通知を受信した場合、図２１のフローチャートに示す処理を開始する。
【００７２】
そして、まずステップＳ７１で、被管理装置から起動完了通知と共に受信した管理用アプリのＩＤを、アプリサーバから通知されたＩＤと比較する。図１４のステップＳ５０の処理により、アプリサーバ８０から各被管理装置に設定させる管理用アプリのＩＤが通知されているので、起動通知に含まれる被管理装置の識別情報により、管理用アプリのＩＤがどんな値であるべきかは管理装置９０側で把握できる。そして、ＩＤを比較して認証を行うことにより、アプリサーバが作成した管理用アプリが正しい装置に設定されたことを確認できる。また、これとは別に、起動完了通知の送信元の被管理装置が、管理契約により管理の対象とされている装置であるか否かも確認するようにするとよい。
【００７３】
そして、ステップＳ７２で比較の結果を確認し、一致していれば、ステップＳ７３で被管理装置に確認応答を送信し、ステップＳ７４で管理用アプリによって実現される機能を利用した被管理装置の管理動作を開始して処理を終了する。
また、ステップＳ７２で一致していなければ、ステップＳ７５で被管理装置にエラー応答を送信して処理を終了する。
以上のような処理を行うことにより、管理装置９０は、電子機器１０等の被管理装置からの通知あるいは要求に応じて、被管理装置が正当な管理対象であることを確認した上で、管理用アプリを利用した管理動作を開始することができる。
【００７４】
なお、ここまでの処理は、電子機器１０に管理用アプリを設定する場合について説明してきたが、電子機器２０や電子機器３０、あるいは図示しない他の機器にも、同様な処理により管理用アプリを設定できることはもちろんである。この場合において、プラットフォーム及び、管理用アプリにより実現させる機能が同一であるような複数の機器に対しては、共通の管理用アプリをアプリサーバ８０に生成させ、各機器毎に記憶させるようにすることも考えられる。この場合において、管理用アプリのＩＤが機器と１対１に対応している必要はない。
【００７５】
ところで、一旦遠隔管理システムの運用を開始した後であっても、機能の追加ため、あるいはＪａｖａやＯＳの新しいバージョンに対応させるため等の理由により、ソースコードを改変する必要が生じる場合がある。そして、アプリサーバ８０においては、このような場合、設定用端末４０等の外部の装置からアクセスしてソースコードを編集することができるようにしている。
【００７６】
そこで、次に、図２２に、設定用端末４０を用いてアプリサーバ８０が管理用アプリの作成に用いるソースコードを編集する場合の処理のフローチャートを示す。
このフローチャートに示す処理は、設定用端末４０のＣＰＵがソースコード編集用のアプリを実行することにより行うものであり、ＣＰＵは、そのアプリが起動されると、図２２のフローチャートに示す処理を開始する。
【００７７】
そして、ステップＳ８１で、ソースコードの編集指示があるまで待機し、指示があると、ステップＳ８２でアプリサーバ８０にアクセスし、開発用プラットフォームとソースコードのライブラリを取得する。その後、ステップＳ８３でそのライブラリのうち編集する項目の指定を受け付け、ステップＳ８４で指定の内容が編集終了か否か判断する。
そして、編集終了でなければ、ステップＳ８５に進んで該当する項目のソースコードファイルを開き、ステップＳ８６で編集指示に従ってソースコードファイルの内容を編集する。その後、ステップＳ８７で編集後のソースコードをコンパイルして、ステップＳ８８でコンパイルエラーの有無を確認する。この場合のコンパイルは、ソースコードに従った処理が実行可能であることを確認できればよい。
【００７８】
そして、ステップＳ８８でエラーがあった場合にはステップＳ８５に戻って処理を繰り返し、エラーがなかった場合には、ステップＳ８９で編集後のソースコードをソースコードファイルに登録し、ステップＳ８３に戻って再度編集する項目の指定を受け付ける。
一方、ステップＳ８４で指定の内容が編集終了であれば、ステップＳ９０に進み、編集後のソースコードファイルをアプリサーバ８０に送信し、以後の管理用アプリの作成に使用させるようにして処理を終了する。
【００７９】
設定用端末４０に以上のような処理を実行させることにより、アプリサーバ８０におけるソースコードを編集することができる。そして、アプリサーバ８０が、編集を行う装置に対してソースコードだけでなく、開発用プラットフォームも同時に提供するようにしているため、ソースコードの編集や、コンパイルエラーの有無の確認を容易に行って機能の追加や改変を行うことができる。
図２３に、コードを追加する場合の編集例を示す。この場合において、必要なメソッドは、別途記載されているものとする。
【００８０】
そして、アプリサーバ８０は、過去に管理用アプリの作成に使用した電子機器のプロパティや管理用アプリにより実現する機能の情報を蓄積しておき、上記のような編集により管理用アプリに新たな機能が追加や改変された場合には、その蓄積しておいた情報をもとに、各電子機器について更新用の管理用アプリを作成するようにしてもよい。このような場合、更新用のアプリは、一旦管理装置９０に転送し、管理装置９０から管理動作の一環として各電子機器に配布するようにすることが考えられる。
【００８１】
以上で実施形態の構成及び動作の説明を終了するが、以上説明してきた実施形態によれば、電子機器１０に備える汎用プラットフォームに関する情報と、作成されるプログラムの機能に関する情報である第２の情報とをアプリサーバ８０に入力し、アプリサーバ８０に、それらの情報に基づいて、電子機器１０に備える汎用プラットフォーム上で動作し、電子機器１０に必要な機能を実現させるための管理用アプリを作成させるようにしている。
【００８２】
従って、電子機器１０に遠隔管理を受ける機能を実現させる際に、作成される管理用アプリについて、広範な環境で広範な機能を実現できるものとする必要はなく、特定のプラットフォーム上で必要な機能のみ実現できるものでよいので、プログラムを小型化し、これを実行する電子機器１０のハードウェア資源を節約することができる。
【００８３】
また、管理用アプリの作成に必要な情報の収集や、管理用アプリの設定を、汎用の通信経路やインタフェースを介して行うようにしているため、ハードウェアの面でも既存の設備を流用でき、遠隔管理システムの構築に必要なコストを抑えることができる。
また、遠隔管理の場合には、機器の標準的な機能（ＭＦＰの場合にはコピー、プリント、スキャン等）の場合と異なり、ユーザ毎に個別に細かく管理内容を定めるようにすることが比較的頻繁にあると考えられる。そして、このような場合には、個別に開発を行ったのでは、各管理内容に合ったソフトウェアを用意するための負担が大きくなるため、上記のアプリサーバ８０のようなプログラム作成装置を利用することの効果が特に大きい。
【００８４】
さらに、Ｊａｖａ及びオペレーティングシステムを用いて構成した汎用プラットフォームや、イーサネットインタフェース，ＵＳＢインタフェース，および着脱可能な記録媒体のような汎用インタフェースは、コンピュータ制御によりネットワーク通信を行うような装置に幅広く搭載されていることから、管理用アプリの作成や設定にこれらを活用すれば、コストの低減効果をより大きくすることができる。
【００８５】
また、アプリサーバ８０が遠隔管理の契約に関する情報を参照できるようにしておき、管理用アプリの作成の際に、管理用アプリにより実現させる機能の情報を、その契約に関する情報から取得させるようにすれば、その機能に関する情報を入力する手間を軽減でき、またこの工程でのミスも低減できるため、少ない労力で管理用アプリの作成や設定を行うことができる。遠隔管理の場合には、事前に管理項目を契約により定めることがよく行われるため、この情報を活用することは特に効果が大きい。
【００８６】
また、アプリサーバ８０に、作成した管理用アプリにＩＤを付させ、そのＩＤを、管理装置９０に記憶させるようにしているので、管理用アプリを電子機器に設定して動作させる際に、管理装置９０の側で、管理用アプリが適切に利用されているか否かをＩＤに基づいて判断することができ、このような判断を行わせて、構築される遠隔管理システムのセキュリティを向上させることができる。
【００８７】
また、電子機器１０と汎用インタフェースを介して通信可能な設定用端末４０が、その汎用インタフェースを介して電子機器１０から汎用プラットフォームに関する情報を取得し、アプリサーバ８０に入力するようにしているので、電子機器１０自体にはアプリサーバ８０へ情報を入力する機能を設ける必要がなく、単に汎用通信経路及び汎用インタフェースを介した情報授受の機能を設けるのみでよい。例えば、図４乃至図６を用いて説明したような処理を自動制御で行う場合でも、電子機器１０側には単にネットワークや記録媒体を介した情報授受の機能を設けるのみでよい。従って、管理用アプリの作成や設定のための機能を設定用端末４０のような外部の装置に持たせることにより、被管理装置となる機器の設計を容易にし、コストダウンを図ることができる。
【００８８】
この場合において、ネットワーク通信を行うような機器は、ＦＴＰやＨＴＴＰあるいはＴｅｌｎｅｔのような一般的なプロトコルに対応させることが多いので、管理用アプリの作成や設定に関しても、機器間の通信にこれらのプロトコルを活用するようにすれば、遠隔管理システムの構築に必要なコストを抑えることができる。
また、設定用端末４０に、電子機器１０に所定のプロパティ取得用プログラムを実行させることにより電子機器１０から汎用プラットフォームに関する情報を取得させるようにすれば、電子機器１０が汎用プラットフォームに関する情報を出力する機能を有していない場合でも、自動的に必要な情報を取得することができ、管理用アプリの作成と設定にかかる労力を低減できる。さらに、設定用端末４０に、プロパティ取得用プログラムをウェブサーバから取得させるようにすれば、取得する必要のある情報が変わった場合等でも、新たなプロパティ取得用プログラムを容易に取得して変更に対応することができる。また、プロパティ取得用プログラムをＪＡＶＡプログラムとすれば、電子機器１０に備える汎用プラットフォームで動作させることができる。
【００８９】
また、アプリサーバ８０にウェブサーバ機能を設け、設定用端末４０にウェブクライアント機能を設け、設定用端末４０に、ウェブクライアント機能を用いてアプリサーバ８０にアクセスさせ、管理用アプリの作成に必要な情報を送信させるようにすれば、設定用端末４０がファイアウォールの内側に設けられている場合でも、ファイアウォール５０に特殊な設定を行ったり、特殊な通信プロトコルを使用したりすることなく、設定用端末４０とアプリサーバ８０とが通信を行うことができるので、管理用アプリの作成と設定にかかる労力を低減できる。
【００９０】
また、アプリサーバ８０に、作成した管理用アプリの記録位置を示す情報をウェブページとして作成して設定用端末４０に通知させ、設定用端末４０に、そのウェブページに含まれる記録位置の情報に基づいて管理用アプリを取得させるようにしているので、アプリサーバ８０が作成した管理用アプリを設定用端末４０が容易に取得することができる。
【００９１】
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、システムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、電子機器１０と管理装置９０との間の通信を、インターネット以外のネットワーク、例えば電話回線を通じて行うことも考えられる。そして、この場合に管理用アプリの設定に記録媒体を使用するとすると、電子機器１０がＬＡＮ６０やインターネット７０に接続されていることは必須ではない。
【００９２】
また、電子機器１０に設定用端末４０の機能を持たせることも考えられる。このようにした場合、ユーザが電子機器１０に所要の指示を行ったり所要の情報を入力したりすることにより、電子機器１０自身がＬＡＮ６０やインターネット７０といった汎用通信経路を介してアプリサーバ８０にアクセスして管理用アプリを作成させ、これを取得して設定することが可能になる。外部のＰＣから電子機器１０にリモートでアクセスして設定用端末４０に係る処理を実行させることも考えられる。
また、管理装置９０とアプリサーバ８０とを一体に構成してもよい。管理装置９０とアプリサーバ８０は、どちらも遠隔管理サービスを提供する側が用意することが多いと考えられるため、このようにすれば、両装置間で情報を共有し、遠隔管理システムの効率よい運営が可能となる。
【００９３】
また逆に、管理装置９０は１台に限られることはなく、管理の目的や利用する機能に応じて管理装置を分けるようにしてもよい。アプリサーバ８０についても、同様な対応が可能である。
また、設定用端末４０を必ずしもユーザ側環境１に設ける必要もない。外部からでも、電子機器１０から必要な情報を収集したり、管理用アプリを設定したりすることが許可されているのであれば、任意の場所に設けた機器を設定用端末４０として利用することができる。
【００９４】
また、ここではアプリサーバ８０が電子機器に設定する管理用アプリを作成する例について説明したが、同様な手順で必要な情報を収集し、管理装置９０が備えるプラットフォーム上で動作し、管理装置９０に管理動作を行う機能を実現させるためのアプリを作成し、管理装置９０に設定することができるようにしてもよい。
このようにすれば、１台のアプリサーバ８０により、管理装置と被管理装置の両方に適切なアプリを供給し、遠隔管理システム全体を構築することができる。
【００９５】
また、この発明を適用してプログラムを設定する電子機器としては、プリンタ，ＦＡＸ装置，デジタル複写機，スキャナ装置、あるいはこれらの機能を備えたデジタル複合機（ＭＦＰ）等の画像処理装置が考えられる。
さらに、その他の電子機器、例えば汎用コンピュータ，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機等の電子機器に対するプログラムの設定にも適用することが考えられる。
さらにまた、遠隔管理用プログラム以外の、任意の機能（プリンタの場合のプリント、スキャナの場合のスキャン等、機器本来の機能を含む）を実現させるためのプログラムの設定に適用することも考えられる。
【００９６】
また、この発明によるプログラムは、コンピュータを、上述したアプリサーバ８０のようなプログラム作成装置として機能させるためのプログラム、あるいはそのプログラム作成装置により作成されるプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるＲＯＭあるいはＨＤＤ等の記憶手段に格納しておいてもよいが、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてＣＰＵに実行させるか、ＣＰＵにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
【産業上の利用可能性】
【００９７】
以上説明してきたように、この発明のプログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム又は記録媒体によれば、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることができる。
従って、この発明を利用することにより、安価な遠隔管理システムを提供することができる。
【図面の簡単な説明】
【００９８】
【図１】この発明のプログラム設定方法の適用対象となるシステムの構成を示すブロック図である。
【図２】図１に示した電子機器のハードウェア構成を示すブロック図である。
【図３】図１に示した電子機器に管理用アプリを設定し、管理装置による管理を受けさせる際に関与する主な装置及びその機能の構成を示す機能ブロック図である。
【図４】図３に示したような機能により電子機器に管理用アプリを設定する場合に設定用端末のＣＰＵが実行する処理の一部を示すフローチャートである。
【図５】図４の続きを示すフローチャートである。
【００９９】
【図６】図５の続きを示すフローチャートである。
【図７】プロパティ情報入力画面の例を示す図である。
【図８】ＦＴＰクライアントの操作画面例を示す図である。
【図９】Ｔｅｌｎｅｔクライアントの操作画面例を示す図である。
【図１０】プロパティ情報取得アプリのソースコード例を示す図である。
【０１００】
【図１１】プロパティ情報ファイルの例を示す図である。
【図１２】機能情報入力画面の例を示す図である。
【図１３】図５に示す処理において設定用端末がアプリサーバに送信する機能に関する情報の記載形式の例を示す図である。
【図１４】図１に示したアプリサーバのＣＰＵが設定用端末からの管理用アプリ作成要求に応じて実行する処理のフローチャートである。
【図１５】アプリ作成中画面の例を示す図である。
【０１０１】
【図１６】図１に示したアプリサーバが管理用アプリの作成に使用するソースコードの一部を示す図である。
【図１７】作成完了画面の例を示す図である。
【図１８】図１に示した電子機器が着脱可能な記録媒体から管理用アプリを読み出して設定する場合にそのＣＰＵが実行する処理のフローチャートである。
【図１９】同じく設定用端末から受信した管理用アプリを設定する場合の処理のフローチャートである。
【図２０】図１８及び図１９に示した処理における管理用アプリの設定に係る動作の概念図である。
【図２１】被管理装置からの起動完了通知に応じて図１に示した管理装置のＣＰＵが実行する処理のフローチャートである。
【図２２】図１に示した設定用端末を用いてアプリサーバが管理用アプリの作成に用いるソースコードを編集する場合の処理のフローチャートである。
【図２３】図２２に示した処理によるソースコードの編集例を示す図である。
【符号の説明】
【０１０２】
１０，２０，３０：電子機器、１１：アプリ設定部、１２：プロパティ情報収集部、
１３：被管理機能部、４０：設定用端末、４１：プロパティ情報取得部、
４２：機能情報取得部、４３：アプリ作成要求部、４４：アプリ設定部、
５０：ファイアウォール、６０：ＬＡＮ、７０：インターネット、８０：アプリサーバ、
８１：ソースコード記憶部、８２：アプリ作成部、８３：アプリ記憶部、
８４：アプリ情報送信部、９０：管理装置、９１：管理機能部、９２：認証機能部、
１０１：ＣＰＵ，１０２：ＲＯＭ，１０３：ＲＡＭ、１０４：不揮発性メモリ、
１０５：ネットワークＩ／Ｆ、１０６：記録媒体Ｉ／Ｆ、１０７：エンジン部、
１０８：システムバス、１１０：プロパティ情報入力画面、
１２０：ＦＴＰクライアント画面、１３０：機能情報入力画面、
１４０：アプリ作成中画面、１５０：作成完了画面
【図１】
2006252135.tif 000003
【図２】
2006252135.tif 000004
【図３】
2006252135.tif 000005
【図４】
2006252135.tif 000006
【図５】
2006252135.tif 000007
【図６】
2006252135.tif 000008
【図７】
2006252135.tif 000009
【図８】
2006252135.tif 000010
【図９】
2006252135.tif 000011
【図１０】
2006252135.tif 000012
【図１１】
2006252135.tif 000013
【図１２】
2006252135.tif 000014
【図１３】
2006252135.tif 000015
【図１４】
2006252135.tif 000016
【図１５】
2006252135.tif 000017
【図１６】
2006252135.tif 000018
【図１７】
2006252135.tif 000019
【図１８】
2006252135.tif 000020
【図１９】
2006252135.tif 000021
【図２０】
2006252135.tif 000022
【図２１】
2006252135.tif 000023
【図２２】
2006252135.tif 000024
【図２３】
2006252135.tif 000025