JP2006252135A - プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 - Google Patents
プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2006252135A JP2006252135A JP2005067201A JP2005067201A JP2006252135A JP 2006252135 A JP2006252135 A JP 2006252135A JP 2005067201 A JP2005067201 A JP 2005067201A JP 2005067201 A JP2005067201 A JP 2005067201A JP 2006252135 A JP2006252135 A JP 2006252135A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- electronic device
- management
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】 遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにする。
【解決手段】 電子機器10に被管理機能部13の機能を実現させるためのプログラムを設定する場合において、電子機器に備える汎用プラットフォームに関する情報と、作成されるプログラムの機能に関する情報とをアプリサーバ80に入力し、アプリサーバ80のアプリ作成部82に、それらの入力した情報に基づいて、MFP10に備える汎用プラットフォーム上で動作し、MFP10に所要の機能を実現させるためのプログラムを作成させ、そのプログラムを、MFP10に備える汎用インタフェースからMFP10に記憶させると共に、MFP10が自身の制御に利用できるように設定する。
【選択図】 図3
【解決手段】 電子機器10に被管理機能部13の機能を実現させるためのプログラムを設定する場合において、電子機器に備える汎用プラットフォームに関する情報と、作成されるプログラムの機能に関する情報とをアプリサーバ80に入力し、アプリサーバ80のアプリ作成部82に、それらの入力した情報に基づいて、MFP10に備える汎用プラットフォーム上で動作し、MFP10に所要の機能を実現させるためのプログラムを作成させ、そのプログラムを、MFP10に備える汎用インタフェースからMFP10に記憶させると共に、MFP10が自身の制御に利用できるように設定する。
【選択図】 図3
Description
この発明は、電子機器にプログラムを設定するプログラム設定方法、このようなプログラム設定方法によって電子機器に遠隔管理用のプログラムを設定して遠隔管理システムを構築する遠隔管理システムの構築方法、電子機器に設定するプログラムを作成するプログラム作成装置、コンピュータをこのようなプログラム作成装置として機能させるためのプログラム、及びこのようなプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
従来から、複写機を始めとする電子機器を、外部の管理装置と所定の通信経路を介して通信可能とし、電子機器から種々の情報を管理装置に送信させ、その情報を利用して管理装置によって電子機器を管理する遠隔管理システムが知られている。
このような遠隔管理システムとしては、例えば特許文献1及び2に記載のものが挙げられる。
特開平10−301810号公報
特開2001−344130号公報 また、近年においては、上記のような遠隔管理のための通信経路として、LAN(ローカルエリアネットワーク)やインターネットを活用し、ネットワークインタフェースを介した通信により、遠隔管理の機能を実現することも行われている。
このような遠隔管理システムとしては、例えば特許文献1及び2に記載のものが挙げられる。
ところで、上記のような遠隔管理を行う場合、当然ながら、管理対象の電子機器に、遠隔管理を受けるための機能、例えば管理装置に情報を送信する機能、を持たせる必要がある。そして、このような機能は、電子機器に必要なプログラムを記憶させ、CPUにそれを実行させることにより実現させることができる。
しかし、管理対象となる電子機器は、機種によってCPUの性能や搭載しているOS(オペレーティングシステム)が異なったり、管理を受けるために必要な機能が異なったりする場合がある。そこで、遠隔管理用のプログラムは、機種毎や一定の機種のグループ毎に開発していた。
しかし、管理対象となる電子機器は、機種によってCPUの性能や搭載しているOS(オペレーティングシステム)が異なったり、管理を受けるために必要な機能が異なったりする場合がある。そこで、遠隔管理用のプログラムは、機種毎や一定の機種のグループ毎に開発していた。
しかしながら、このような開発手法では、管理対象となる機器の機種が多岐に亘る場合、開発の労力がかさみ、効率が悪いという問題があった。そしてこのため、全体として遠隔管理システムの構築コストが増加するという問題があった。
この発明は、このような問題を解決し、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることを目的とする。
この発明は、このような問題を解決し、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることを目的とする。
上記の目的を達成するため、この発明のプログラム設定方法は、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを設定するプログラム設定方法において、上記電子機器に備える汎用プラットフォームに関する情報である第1の情報および作成されるプログラムの機能に関する情報である第2の情報をプログラム作成装置に入力し、上記プログラム作成装置に、上記第1の情報及び上記第2の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第2の情報の内容に応じた機能を実現させるためのプログラムを作成させ、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させると共に、その電子機器が自身の制御に利用できるように設定するようにしたものである。
このようなプログラム設定方法において、上記汎用プラットフォームを、Java及びオペレーティングシステムを用いて構成したプラットフォームとするとよい。
さらに、上記汎用インタフェースを、イーサネットインタフェース,USBインタフェース,および着脱可能な記録媒体のいずれかとするとよい。
さらに、上記プログラム作成装置が上記遠隔管理の契約に関する情報を参照できるようにしておき、上記プログラムの作成の際に、上記第2の情報を、上記遠隔管理の契約に関する情報から取得させるようにするとよい。
さらに、上記汎用インタフェースを、イーサネットインタフェース,USBインタフェース,および着脱可能な記録媒体のいずれかとするとよい。
さらに、上記プログラム作成装置が上記遠隔管理の契約に関する情報を参照できるようにしておき、上記プログラムの作成の際に、上記第2の情報を、上記遠隔管理の契約に関する情報から取得させるようにするとよい。
さらにまた、上記プログラム作成装置に、作成したプログラムにIDを付させると共に、そのIDを上記管理装置に転送させるようにするとよい。
さらに、上記電子機器と汎用通信経路により通信可能な設定装置に、上記汎用通信経路を介して上記電子機器から上記第1の情報を取得させ、上記プログラム作成装置に入力させるようにするとよい。
さらに、上記設定装置に、上記電子機器に所定のプロパティ取得用プログラムを実行させることによりその電子機器から上記第1の情報を取得させるようにするとよい。
さらに、上記電子機器と汎用通信経路により通信可能な設定装置に、上記汎用通信経路を介して上記電子機器から上記第1の情報を取得させ、上記プログラム作成装置に入力させるようにするとよい。
さらに、上記設定装置に、上記電子機器に所定のプロパティ取得用プログラムを実行させることによりその電子機器から上記第1の情報を取得させるようにするとよい。
さらにまた、上記電子機器と上記設定装置とはFTPを用いて通信させ、上記設定装置と上記プログラム作成装置とはHTTPを用いて通信させるようにするとよい。
さらに、上記プログラム作成装置をウェブサーバ機能を有する装置とし、上記設定装置をウェブクライアント機能を有する装置とし、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に必要な情報を送信させるようにするとよい。
さらに、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に上記第2の情報を送信させるようにするとよい。
さらに、上記プログラム作成装置をウェブサーバ機能を有する装置とし、上記設定装置をウェブクライアント機能を有する装置とし、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に必要な情報を送信させるようにするとよい。
さらに、上記設定装置に、上記ウェブクライアント機能を用いて上記プログラム作成装置にアクセスさせ、上記プログラム作成装置に上記第2の情報を送信させるようにするとよい。
また、上記の各プログラム設定方法において、上記設定装置に、上記プロパティ取得用プログラムをウェブサーバから取得させるようにするとよい。
あるいは、上記プロパティ取得用プログラムをJAVAプログラムとするとよい。
また、上記の各プログラム設定方法において、上記プログラム作成装置に、作成したプログラムの記録位置を示す情報をウェブページとして作成して上記設定装置に通知させ、上記設定装置に、上記ウェブページに含まれる記録位置の情報に基づいて上記プログラム作成装置が作成したプログラムを取得させるようにするとよい。
あるいは、上記プロパティ取得用プログラムをJAVAプログラムとするとよい。
また、上記の各プログラム設定方法において、上記プログラム作成装置に、作成したプログラムの記録位置を示す情報をウェブページとして作成して上記設定装置に通知させ、上記設定装置に、上記ウェブページに含まれる記録位置の情報に基づいて上記プログラム作成装置が作成したプログラムを取得させるようにするとよい。
また、この発明の遠隔管理システムの構築方法は、上記のいずれかのプログラム設定方法によって、上記電子機器に上記遠隔管理用プログラムを設定すると共に、その遠隔管理用プログラムのIDを上記電子機器を管理する管理装置に記憶させ、その管理装置に、上記電子機器をその電子機器に設定されている遠隔管理用プログラムのIDを用いて認証した場合にその電子機器の遠隔管理を開始させるようにしたものである。
また、この発明のプログラム作成装置は、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置において、上記電子機器に備える汎用プラットフォームに関する情報である第1の情報と、作成するプログラムの機能に関する情報である第2の情報との入力を受け付ける手段と、上記第1の情報及び上記第2の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第2の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させられる形式で出力する手段とを設けたものである。
また、この発明のプログラムは、コンピュータを、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置として機能させるためのプログラムにおいて、上記コンピュータを、上記電子機器に備える汎用プラットフォームに関する情報である第1の情報と、作成するプログラムの機能に関する情報である第2の情報との入力を受け付ける手段と、上記第1の情報及び上記第2の情報に基づいて、上記電子機器に備える汎用プラットフォーム上で動作し、上記電子機器に上記第2の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、その作成したプログラムを、上記電子機器に備える汎用インタフェースからその電子機器に記憶させられる形式で出力する手段として機能させるためのプログラムである。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
また、この発明の記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
以上のようなこの発明のプログラム設定方法、遠隔管理システムの構築方法及びプログラム作成装置によれば、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のプログラム作成装置として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
また、この発明のプログラムによれば、コンピュータを上記のプログラム作成装置として機能させてその特徴を実現し、同様な効果を得ることができる。
この発明の記録媒体によれば、上記のプログラムを記憶していないコンピュータにそのプログラムを読み出させて実行させ、上記の効果を得ることができる。
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
まず、この発明のプログラム設定方法の適用対象となるシステムの構成について説明する。図1は、そのシステムの構成を示したブロック図である。
図1に示すシステムは、ユーザ側環境1に、電子機器10,20,30と、設定用端末40,およびファイアウォール50を、LAN60により接続して設けている。また、アプリケーションサーバ80と管理装置90をインターネット70に接続して設けており、ユーザ側環境1に設けた各装置は、汎用通信経路であるLAN60とインターネット70を介してアプリケーションサーバ80及び管理装置90と通信可能である。
まず、この発明のプログラム設定方法の適用対象となるシステムの構成について説明する。図1は、そのシステムの構成を示したブロック図である。
図1に示すシステムは、ユーザ側環境1に、電子機器10,20,30と、設定用端末40,およびファイアウォール50を、LAN60により接続して設けている。また、アプリケーションサーバ80と管理装置90をインターネット70に接続して設けており、ユーザ側環境1に設けた各装置は、汎用通信経路であるLAN60とインターネット70を介してアプリケーションサーバ80及び管理装置90と通信可能である。
このうち、電子機器10,20,30は、この発明のプログラム設定方法によりプログラムを設定する対象の装置である。そして、電子機器10,20,30に遠隔管理を受けるために必要な機能を実現するための遠隔管理用プログラムである管理用アプリケーション(以下、「アプリケーション」を略して「アプリ」という)を設定し、実行させることにより、管理装置90による管理を受ける被管理装置として機能させることができる。そして、この場合においては、電子機器10,20,30と管理装置90とが、遠隔管理システムを構成することになる。
また、ここでいう管理とは、管理対象の機器から情報を取得し、その情報に基づいて何らかの動作を行うことである。この動作としては、例えば被管理装置がコピー、プリント、スキャン、ファクシミリ通信等の機能を有するデジタル複合機(MFP)であれば、画像形成枚数を集計したり、管理対象の装置からの異常発生通知に対応して適当なサービスセンタに通報を行い、修理担当者の派遣を促したり、管理対象装置のファームウェアのバージョン情報を取得し、そのバージョンが古いものであった場合に新しいファームウェアを送信して更新させたりといった動作が考えられる。また、取得した情報を単に蓄積するのみでもよい。
アプリサーバ80は、プログラム作成装置に該当し、電子機器10,20,30等の、管理装置90による管理の対象となる機器に設定するための管理用アプリを作成する機能を有する装置である。また、ウェブサーバ機能を有し、ウェブクライアント機能を有する装置から情報を受信したり、要求を受信してその要求に従って動作することができる。
設定用端末40は、設定装置に該当し、管理用アプリを設定する対象の機器の情報や、管理用アプリの機能に関する情報を収集し、アプリサーバ80に送信してそれらの情報に基づいて適切な管理用アプリを生成させたり、その管理用アプリを取得して電子機器10,20,30等の機器に設定したりするために使用する装置である。また、ウェブクライアント機能を有し、アプリサーバ80にこのウェブクライアント機能によりアクセスして、情報の送信や、管理用アプリの作成及び取得の要求を行うことができる。
設定用端末40は、設定装置に該当し、管理用アプリを設定する対象の機器の情報や、管理用アプリの機能に関する情報を収集し、アプリサーバ80に送信してそれらの情報に基づいて適切な管理用アプリを生成させたり、その管理用アプリを取得して電子機器10,20,30等の機器に設定したりするために使用する装置である。また、ウェブクライアント機能を有し、アプリサーバ80にこのウェブクライアント機能によりアクセスして、情報の送信や、管理用アプリの作成及び取得の要求を行うことができる。
ここで、図2に、図1に示した電子機器のハードウェア構成を示す。ここでは電子機器10を代表として示しているが、他の電子機器も同様な構成でよい。あるいは、異なっていてもよい。
この図に示すように、電子機器10は、CPU101,ROM102,RAM103,不揮発性メモリ104,ネットワークインタフェース(I/F)105,記録媒体I/F106,エンジン部107を備え、これらがシステムバス108により接続されている。
この図に示すように、電子機器10は、CPU101,ROM102,RAM103,不揮発性メモリ104,ネットワークインタフェース(I/F)105,記録媒体I/F106,エンジン部107を備え、これらがシステムバス108により接続されている。
そして、CPU101は、電子機器10全体を統括制御する制御手段であり、ROM102や不揮発性メモリ104に記録された種々のプログラムを実行することにより、種々の動作を行う手段として機能し、種々の機能を実現する。特に、電子機器10は、Java(登録商標)及びOSを用いて構成した汎用プラットフォームを有しており、この汎用プラットフォームに対応したプログラムは、この汎用プラットフォーム上で動作させることができる。
ROM102は、不揮発性の記憶手段であり、CPU101が実行するプログラムや、固定的なパラメータ等を記憶する。ROM102を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
ROM102は、不揮発性の記憶手段であり、CPU101が実行するプログラムや、固定的なパラメータ等を記憶する。ROM102を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
RAM103は、一時的に使用するデータを記憶したり、CPU101のワークメモリとして使用したりする記憶手段である。
不揮発性メモリ104は、フラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段であり、CPU101が実行するプログラムや、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶する。上述したJavaやOSのプログラム及び管理用アプリも、ここに記憶させるとよい。
不揮発性メモリ104は、フラッシュメモリやHDD(ハードディスクドライブ)等による書き換え可能な不揮発性記憶手段であり、CPU101が実行するプログラムや、装置の電源がOFFされた後でも保持しておく必要があるパラメータの値等を記憶する。上述したJavaやOSのプログラム及び管理用アプリも、ここに記憶させるとよい。
ネットワークI/F105は、電子機器10をLAN60等のネットワークに接続するための汎用インタフェースであり、例えばイーサネット(登録商標)方式の通信を行うためのインタフェースである。そして、ネットワークを介して他の装置と通信を行う場合、このネットワークI/F105とCPU101とが通信手段として機能する。なお、ネットワークとしては、有線、無線を問わず種々の方式のものが使用可能であり、ネットワークI/F105は、ネットワークの規格や使用する通信プロトコル等に応じて適切なものを用意する。また、複数の規格に対応させて複数のネットワークI/F105を設けることも当然可能である。また、USB(Universal Serial Bus)方式のインタフェースを設け、設定用端末40とUSBケーブルを介して通信可能としてもよい。
記録媒体I/F106は、SD(Secure Digital)メモリカードのような着脱可能な記録媒体を装着し、データの読み書きを行うためのインタフェースである。そして、電子機器10は、このような記録媒体に記録されているプログラムを読み出して実行可能な状態に設定することもできる。
エンジン部107は、画像形成部、画像読取部、ファクシミリ通信ユニット等であり、CPU101がこれらの動作を適切に制御することにより、電子機器10にコピー、プリント、スキャン、ファクシミリ通信等の種々の動作を実行させることができる。なお、この部分は、この実施形態の特徴とはあまり関係ないため、図示は簡単なものに留めている。
エンジン部107は、画像形成部、画像読取部、ファクシミリ通信ユニット等であり、CPU101がこれらの動作を適切に制御することにより、電子機器10にコピー、プリント、スキャン、ファクシミリ通信等の種々の動作を実行させることができる。なお、この部分は、この実施形態の特徴とはあまり関係ないため、図示は簡単なものに留めている。
なお、設定用端末40,アプリサーバ80,管理装置90については、ハードウェアとしては、CPU,ROM,RAM,HDD等を備えた一般的なコンピュータを用いることができるため、ハードウェアの説明は省略する。そして、CPUに所要の制御プログラムを実行させることにより、以下に説明するような機能を実現させることができる。
次に、図1に示した電子機器10に管理用アプリを設定し、管理装置90による管理を受けさせる際に関与する主な装置及び機能について説明する。
図3は、その装置及び機能の構成を示す機能ブロック図である。この図においては、管理用アプリの設定に際して特徴的な動作を行わない機能部の図示は省略している。また、この図に示す各機能は、各装置のCPUが所要のプログラムを実行し、装置の各部を制御することにより実現されるものであり、破線で示した機能は、電子機器10に事後的にプログラムを設定することにより付加する機能である。
図3は、その装置及び機能の構成を示す機能ブロック図である。この図においては、管理用アプリの設定に際して特徴的な動作を行わない機能部の図示は省略している。また、この図に示す各機能は、各装置のCPUが所要のプログラムを実行し、装置の各部を制御することにより実現されるものであり、破線で示した機能は、電子機器10に事後的にプログラムを設定することにより付加する機能である。
図1に示したシステムでは、上述したように、設定用端末40によりアプリサーバ80に要求して管理用アプリを作成させ、同じく設定用端末40によりその管理用アプリを取得して電子機器10に設定するようにしている。
そして、図3に示すように、設定用端末40には、このための機能部として、プロパティ情報取得部41,機能情報取得部42,アプリ作成要求部43,アプリ設定部44を設けている。
そして、図3に示すように、設定用端末40には、このための機能部として、プロパティ情報取得部41,機能情報取得部42,アプリ作成要求部43,アプリ設定部44を設けている。
このうち、プロパティ情報取得部41は、アプリサーバ80に管理用アプリを作成させる際に使用する、電子機器10のプロパティ情報を取得する機能を有する。このプロパティ情報は、設定用端末40の操作者に入力させてもよいし、プロパティ情報取得用アプリを利用することもできる。すなわち、プロパティ情報取得用アプリを電子機器10に送信して実行させることにより、電子機器10にプロパティ情報収集部12の機能を設けて自身のプロパティ情報を収集させ、その収集結果を取得するようにすることもできる。なお、プロパティ情報としては、少なくとも電子機器10に備える汎用プラットフォームに関する情報を取得するようにする。
また、機能情報取得部42は、アプリサーバ80に管理用アプリを作成させる際に使用する、そのアプリによって実現させる機能の種類の情報を取得する機能を有する。この情報は、ここでは設定用端末40の操作者に入力させるようにしている。
アプリ作成要求部43は、プロパティ情報取得部41及び機能情報取得部42から必要な情報を取得してアプリサーバ80に送信し、アプリ作成部82に対して、電子機器10に設定する管理用アプリの作成を要求する機能を有する。
アプリ作成要求部43は、プロパティ情報取得部41及び機能情報取得部42から必要な情報を取得してアプリサーバ80に送信し、アプリ作成部82に対して、電子機器10に設定する管理用アプリの作成を要求する機能を有する。
アプリ設定部44は、アプリサーバ80が作成した管理用アプリを取得し、これを電子機器10に設定させる機能を有する。この設定は、例えば管理用アプリをイーサネット方式やUSB方式等の汎用インタフェースを用いた通信により送信し、設定指示に従ってアプリ設定部11に設定処理を行わせることにより実現できる。また、管理用アプリをSDメモリカードのような着脱可能な汎用の記録媒体に記録し、ユーザがこれを電子機器10に装着した場合に、電子機器10のアプリ設定部11がこれを読み出して設定できるようにすることも考えられる。この場合も、管理用アプリを記録媒体I/F16という汎用インタフェースから電子機器10に記憶させることになる。
そして、電子機器10に管理用アプリが設定されると、CPU101がこのアプリを実行することにより、管理装置90による管理を受けるための被管理機能部13の機能が実現される。
そして、電子機器10に管理用アプリが設定されると、CPU101がこのアプリを実行することにより、管理装置90による管理を受けるための被管理機能部13の機能が実現される。
また、アプリサーバ80には、ソースコード記憶部81,アプリ作成部82,アプリ記憶部83,アプリ情報送信部84を設けている。
このうち、ソースコード記憶部81は、アプリサーバ80が作成する管理用アプリのもとになるソースコードを記憶する機能を有する。このソースコードは、電子機器10において利用が想定される全てのプラットフォームで、利用が想定される全ての機能が実現できるように作成しておき、管理用アプリを作成する際には、このソースコードから必要な部分を切り出したり、所定の規則に従って加工したりして作成することができるようにしておく。
このうち、ソースコード記憶部81は、アプリサーバ80が作成する管理用アプリのもとになるソースコードを記憶する機能を有する。このソースコードは、電子機器10において利用が想定される全てのプラットフォームで、利用が想定される全ての機能が実現できるように作成しておき、管理用アプリを作成する際には、このソースコードから必要な部分を切り出したり、所定の規則に従って加工したりして作成することができるようにしておく。
アプリ作成部82は、アプリ作成要求部43からの要求に応じ、アプリ作成要求部43から渡された情報に従って、ソースコード記憶部81に記憶しているソースコードから、電子機器10に備える汎用プラットフォーム上で動作し、電子機器10に指定された機能を実現させるための管理用アプリを作成する機能を有する。また、作成した管理用アプリをアプリ記憶部83に登録すると共に、アプリ設定部44にその旨を通知する機能も有する。さらに、アプリ情報送信部84に、作成した管理用アプリの識別情報を管理装置90に通知させる機能も有する。
アプリ記憶部83は、アプリ作成部82が作成した管理用アプリを記憶し、アプリ設定部44からの要求に応じてこれを提供する機能を有する。
アプリ情報送信部84は、アプリ作成部82が作成した管理用アプリの識別情報及びその管理用アプリを記憶させる電子機器の情報を、管理装置90に送信し、認証機能部92における電子機器10の認証に利用させる機能を有する。
アプリ情報送信部84は、アプリ作成部82が作成した管理用アプリの識別情報及びその管理用アプリを記憶させる電子機器の情報を、管理装置90に送信し、認証機能部92における電子機器10の認証に利用させる機能を有する。
また、管理装置90においては、管理機能部91と認証機能部92とを設けている。
そして、管理機能部91は電子機器10を管理する機能を有し、認証機能部92は、管理機能部91が電子機器10の管理を開始するに際し、電子機器10が実行する管理用アプリの識別情報、例えばID等を用いて電子機器10を認証する機能を有する。
そして、管理機能部91は電子機器10を管理する機能を有し、認証機能部92は、管理機能部91が電子機器10の管理を開始するに際し、電子機器10が実行する管理用アプリの識別情報、例えばID等を用いて電子機器10を認証する機能を有する。
次に、図4乃至図13を用いて、図3に示したような機能により電子機器10に管理用アプリを設定する場合の設定用端末40の動作について説明する。
まず、図4乃至図6に、設定用端末40のCPUが実行する処理のフローチャートを示す。なお、この処理は、ウェブブラウザ、FTP(File Transfer Protocol)クライアント、Telnet(テルネット)クライアント等の、汎用のソフトウェアの動作を組み合わせて実現できるものである。そして、ユーザの操作に従って処理を進めるようにしてもよいし、予め所定の処理手順をプログラムとして作成しておき、CPUにそれを実行させて処理を進めるようにしてもよい。また、各手順において、設定用端末40のCPUが、実行中の処理が一連の連続した処理の一部であると認識している必要はない。
まず、図4乃至図6に、設定用端末40のCPUが実行する処理のフローチャートを示す。なお、この処理は、ウェブブラウザ、FTP(File Transfer Protocol)クライアント、Telnet(テルネット)クライアント等の、汎用のソフトウェアの動作を組み合わせて実現できるものである。そして、ユーザの操作に従って処理を進めるようにしてもよいし、予め所定の処理手順をプログラムとして作成しておき、CPUにそれを実行させて処理を進めるようにしてもよい。また、各手順において、設定用端末40のCPUが、実行中の処理が一連の連続した処理の一部であると認識している必要はない。
設定用端末40のCPUは、設定用端末40が起動されると、図4のフローチャートに示す処理を開始し、ステップS11で、アプリサーバ80へのアクセス指示を待つ。この指示は例えば、所定のコマンドの入力、ボタンの押下等によって受け付けることができるが、ウェブブラウザを用いて、アプリサーバ80の所定のURL(プロパティ情報入力画面のURL)にアクセスする指示として受け付けることもできる。
そして、この指示があると、ステップS12でアプリサーバ80にアクセスし、プロパティ情報入力画面のデータを取得し、ステップS13でブラウザの表示画面にGUI(グラフィカルユーザインタフェース)としてそのプロパティ情報入力画面を表示して、プロパティ情報入力方式の選択を受け付ける。この場合のアプリサーバ80との間の通信は、HTTP(HyperText Transfer Protocol)を用いて行うことになる。
そして、この指示があると、ステップS12でアプリサーバ80にアクセスし、プロパティ情報入力画面のデータを取得し、ステップS13でブラウザの表示画面にGUI(グラフィカルユーザインタフェース)としてそのプロパティ情報入力画面を表示して、プロパティ情報入力方式の選択を受け付ける。この場合のアプリサーバ80との間の通信は、HTTP(HyperText Transfer Protocol)を用いて行うことになる。
図7にプロパティ情報入力画面の例を示す。
このプロパティ情報入力画面110は、管理用アプリの設定対象の機器のプロパティ情報の入力を受け付けるための画面であり、この図に示すように、プロパティ情報入力画面110には、入力方式選択部111,アプリダウンロード指示部112,プロパティ保存ボタン113,プロパティ入力部114,次画面ボタン115を設けている。
このプロパティ情報入力画面110は、管理用アプリの設定対象の機器のプロパティ情報の入力を受け付けるための画面であり、この図に示すように、プロパティ情報入力画面110には、入力方式選択部111,アプリダウンロード指示部112,プロパティ保存ボタン113,プロパティ入力部114,次画面ボタン115を設けている。
そして、入力方式選択部111でプロパティ情報入力方式の選択を受け付けるようにし、ここでは、アプリ利用方式と手入力方式を選択可能としている。前者は、プロパティ取得用アプリを、プロパティを取得したい電子機器(作成する管理用アプリを設定しようとする電子機器)に実行させることにより、プロパティの情報を記録したプロパティ情報ファイルを作成させ、これを取得する方式である。後者は、プロパティ入力部114に設定用端末40の操作者にキーボード等から手入力させ、プロパティ保存ボタン113が押下された場合にその入力内容をプロパティ情報ファイルに記録して取得する方式である。なお、プロパティ保存ボタン113とプロパティ入力部114は、手入力方式が選択されていない場合には、表示しないか操作できないようにしておくとよい。
アプリダウンロード指示部112は、上記のプロパティ取得用アプリをダウンロードするためにアクセスすべきアクセス先のURL(Uniform Resource Locator)を記載すると共に、そのアクセス先へのリンクを張った部分である。ここでは、このアクセス先はアプリサーバ80の所定のフォルダとしており、操作者がアプリダウンロード指示部112をクリックすると、設定用端末40がアプリサーバ80にアクセスしてプロパティ取得用アプリをダウンロードする。
プロパティ保存ボタン113と、プロパティ入力部114は、上述の通り、作成する管理用アプリを設定しようとする電子機器のプロパティ情報の入力を受け付けるためのものである。次画面ボタン115は、次の機能情報入力画面に進む指示を行うためのボタンである。
プロパティ保存ボタン113と、プロパティ入力部114は、上述の通り、作成する管理用アプリを設定しようとする電子機器のプロパティ情報の入力を受け付けるためのものである。次画面ボタン115は、次の機能情報入力画面に進む指示を行うためのボタンである。
図4の説明に戻る。
上記の通り、ステップS13での選択は、入力方式選択部111で受け付けることができる。そして、ステップS14で、どちらの選択がなされたか判断し、アプリ利用方式であれば、ステップS15乃至S18の処理に進む。
そして、ステップS15で必要に応じてプロパティ取得用プログラムであるプロパティ情報取得用アプリをダウンロードし、ステップS16でそのアプリを、作成する管理用アプリを設定しようとする電子機器10に転送する。そしてステップS17で、転送したプロパティ情報取得用アプリを転送先の電子機器10に実行させ、実行結果として電子機器10のプロパティ情報を含むプロパティ情報ファイルを作成させ、ステップS18でその実行結果のプロパティ情報ファイルを転送先の電子機器10から取得して、図5のステップS22以下の処理に進む。
上記の通り、ステップS13での選択は、入力方式選択部111で受け付けることができる。そして、ステップS14で、どちらの選択がなされたか判断し、アプリ利用方式であれば、ステップS15乃至S18の処理に進む。
そして、ステップS15で必要に応じてプロパティ取得用プログラムであるプロパティ情報取得用アプリをダウンロードし、ステップS16でそのアプリを、作成する管理用アプリを設定しようとする電子機器10に転送する。そしてステップS17で、転送したプロパティ情報取得用アプリを転送先の電子機器10に実行させ、実行結果として電子機器10のプロパティ情報を含むプロパティ情報ファイルを作成させ、ステップS18でその実行結果のプロパティ情報ファイルを転送先の電子機器10から取得して、図5のステップS22以下の処理に進む。
一方、ステップS14で手入力方式が選択された場合には、ステップS19乃至S21の処理に進む。
そしてステップS19で、プロパティ情報入力画面において、電子機器10のプロパティ情報の入力を受け付ける。次のステップS20では、保存指示(プロパティ保存ボタン113の押下)があるまでステップS19に戻って処理を繰り返し、保存指示があると、ステップS21でプロパティ入力部114に入力されたプロパティ情報をプロパティ情報ファイルとして保存し、図5のステップS22以下の処理に進む。
そしてステップS19で、プロパティ情報入力画面において、電子機器10のプロパティ情報の入力を受け付ける。次のステップS20では、保存指示(プロパティ保存ボタン113の押下)があるまでステップS19に戻って処理を繰り返し、保存指示があると、ステップS21でプロパティ入力部114に入力されたプロパティ情報をプロパティ情報ファイルとして保存し、図5のステップS22以下の処理に進む。
なお、どちらの場合にも、少なくとも電子機器10におけるプラットフォームに関する情報、ここではOSの名称やバージョン、およびJavaのバージョン及びクラスパスの情報、はプロパティ情報ファイルに記録されるようにする。これらの情報が、第1の情報に該当する。
また、ステップS16でのアプリの転送及びステップS18でのプロパティ情報ファイルの取得にはFTPクライアントを、ステップS17でのアプリの実行指示には、Telnetクライアントを、それぞれ利用することができる。この場合の通信は、それぞれFTP及びTelnetプロトコルを用いて行うことになる。
また、ステップS16でのアプリの転送及びステップS18でのプロパティ情報ファイルの取得にはFTPクライアントを、ステップS17でのアプリの実行指示には、Telnetクライアントを、それぞれ利用することができる。この場合の通信は、それぞれFTP及びTelnetプロトコルを用いて行うことになる。
図8に、FTPクライアントの操作画面例を示す。
この図に示すように、FTPクライアントの操作画面であるFTPクライアント画面120においては、ローカル側ファイル表示部121に、FTPクライアントを実行している側の指定したフォルダにあるファイルの情報を表示し、リモート側ファイル表示部122に、FTPクライアントによってアクセスした先の装置の指定したフォルダにあるファイルの情報を表示している。そして、コマンドライン123から所要のコマンドを入力することにより、ローカル側とリモート側の間で、ファイル表示部121,122に表示しているファイルの転送を行うことができる。このコマンド入力は、操作者の操作により行うことができるが、設定用端末40が自動で行うこともできる。
この図に示すように、FTPクライアントの操作画面であるFTPクライアント画面120においては、ローカル側ファイル表示部121に、FTPクライアントを実行している側の指定したフォルダにあるファイルの情報を表示し、リモート側ファイル表示部122に、FTPクライアントによってアクセスした先の装置の指定したフォルダにあるファイルの情報を表示している。そして、コマンドライン123から所要のコマンドを入力することにより、ローカル側とリモート側の間で、ファイル表示部121,122に表示しているファイルの転送を行うことができる。このコマンド入力は、操作者の操作により行うことができるが、設定用端末40が自動で行うこともできる。
また、図9に、Telnetクライアントの操作画面例を示す。
Telnetクライアントによれば、設定用端末40から電子機器10にログインし、コマンドを入力してプログラムの実行等の指示を行うことができる。ここでは、JAVAプログラムとして作成したプロパティ情報取得アプリであるGetsystemProperties.javaをコンパイルして実行するコマンドを入力した例を示している。このコマンド入力が、操作者の操作によっても自動でも可能であることは、上記のFTPクライアントの場合と同様である。
Telnetクライアントによれば、設定用端末40から電子機器10にログインし、コマンドを入力してプログラムの実行等の指示を行うことができる。ここでは、JAVAプログラムとして作成したプロパティ情報取得アプリであるGetsystemProperties.javaをコンパイルして実行するコマンドを入力した例を示している。このコマンド入力が、操作者の操作によっても自動でも可能であることは、上記のFTPクライアントの場合と同様である。
また、図10にプロパティ情報取得アプリのソースコード例を示す。
このプロパティ情報取得アプリは、実行した機器のシステムプロパティを全項目取得し、その結果をプロパティ情報ファイルに書き出すプログラムである。
このプロパティ情報取得アプリは、実行した機器のシステムプロパティを全項目取得し、その結果をプロパティ情報ファイルに書き出すプログラムである。
図11に、そのプロパティ情報ファイルの例を示す。
管理用アプリの作成には、このファイルに記載した内容が全て必要なわけではないが、設定用端末40はこのファイルを取得してそのままアプリサーバ80に提供し、アプリサーバ80が必要な情報を取捨選択して使用するようにすればよい。
また、ステップS21で作成するプロパティ情報ファイルも、図11に示したような形式とすることができるが、この場合には、アプリサーバ80での管理用アプリの作成に必要な情報のみが含まれていればよい。
管理用アプリの作成には、このファイルに記載した内容が全て必要なわけではないが、設定用端末40はこのファイルを取得してそのままアプリサーバ80に提供し、アプリサーバ80が必要な情報を取捨選択して使用するようにすればよい。
また、ステップS21で作成するプロパティ情報ファイルも、図11に示したような形式とすることができるが、この場合には、アプリサーバ80での管理用アプリの作成に必要な情報のみが含まれていればよい。
処理の説明に戻ると、次の図5のステップS22では、機能情報入力画面の表示指示を待つ。この指示は、次画面ボタン115の押下により受け付けることもできるが、アプリサーバ80の所定のURL(機能情報入力画面のURL)へのアクセスの指示として受け付けることもできる。そして、この指示があるとステップS23に進んでアプリサーバ80にアクセスし、機能情報入力画面のデータを取得し、ステップS24でブラウザの表示画面にGUIとして機能情報入力画面を表示する。
図12に機能情報入力画面の例を示す。
この機能情報入力画面は、作成する管理用アプリによりその設定対象の機器に実現させようとする機能の指定を受け付けるための画面であり、この図に示すように、機能情報入力画面130には、機能指定部131,契約番号入力部135,プロパティ情報ファイル指定部136,参照ボタン137,送信ボタン138を設けている。
この機能情報入力画面は、作成する管理用アプリによりその設定対象の機器に実現させようとする機能の指定を受け付けるための画面であり、この図に示すように、機能情報入力画面130には、機能指定部131,契約番号入力部135,プロパティ情報ファイル指定部136,参照ボタン137,送信ボタン138を設けている。
そして、機能指定部131には、共通機能指定部132,機種選択部133,個別機能指定部134を設けている。
このうち、共通機能指定部132は、管理装置90による管理の対象となり得る各装置に共通に指定可能な機能の指定を受け付ける部分であり、各項目の左側に設けたラジオボタンにより、選択と非選択を切り替えることができる。また、各機能について、ポップアップ画面を表示する等して、より細かい単位で指定を受け付けることができるようにしてもよい。
このうち、共通機能指定部132は、管理装置90による管理の対象となり得る各装置に共通に指定可能な機能の指定を受け付ける部分であり、各項目の左側に設けたラジオボタンにより、選択と非選択を切り替えることができる。また、各機能について、ポップアップ画面を表示する等して、より細かい単位で指定を受け付けることができるようにしてもよい。
また、機種選択部133は、管理対象の機器の機種に応じた機能を提示するために、管理対象機器の機種の指定を受け付ける部分である。そして、まずプリンタ,MFP,パソコン,CT(Computed Tomography)スキャナといった大まかなカテゴリで指定を受け付け、その指定に従ってより詳細な機種の指定のためのボタンを表示して、その指定を受け付けるようにしている。
個別機能指定部134は、管理対象の機器の機種に応じた機能の指定を受け付ける部分であり、機種選択部133で受け付けた機種の選択に応じて、その機種に対応した機能のリストを表示し、共通機能指定部132の場合と同様に機能の指定を受け付ける。
個別機能指定部134は、管理対象の機器の機種に応じた機能の指定を受け付ける部分であり、機種選択部133で受け付けた機種の選択に応じて、その機種に対応した機能のリストを表示し、共通機能指定部132の場合と同様に機能の指定を受け付ける。
また、契約番号入力部135は、管理装置90により管理対象の機器を管理する管理契約を特定する番号や記号等を入力する部分である。管理契約により、管理を行う項目が定められている場合には、アプリサーバ80から契約に関する情報を参照できるようにしておけば、その情報をもとに、管理用アプリにより電子機器10に実現させる機能を選択できるようにすることが考えられる。そして、このようにする場合には、機能指定部131において機能の指定を行わなくても、またその情報をアプリサーバ80に送信しなくても、契約番号入力部135に入力された情報をアプリサーバ80に送信するようにすればよい。また、アプリサーバ80を遠隔管理システムの提供者が提供する場合には、ここから契約に関する情報のデータベースを参照できるようにすることには大きな労力を要さないと考えられる。
また、プロパティ情報ファイル指定部136は、管理用アプリを設定する機器の情報としてアプリサーバ80に送信するプロパティ情報ファイルを指定するための部分であり、ここでは図4のステップS18の処理で取得するかステップS21の処理で作成したプロパティ情報ファイルを指定すればよい。直接ファイル名やフォルダを入力しなくても、参照ボタン137により設定用端末40が記憶しているプロパティ情報ファイルを検索してリスト表示させ、その中から選択して指定することも可能である。
送信ボタン138は、管理用アプリの作成を指示するためのボタンである。
送信ボタン138は、管理用アプリの作成を指示するためのボタンである。
図5の説明に戻ると、ステップS25では、上記の機能情報入力画面130において、作成する管理用アプリにより実現しようとする機能及び、そのアプリの生成に使用するプロパティ情報ファイルの指定を受け付ける。上述のように、機能の情報に代えて管理契約の番号等の情報を受け付けるようにしてもよい。また、ここで受け付ける機能の情報が、第2の情報に該当する。そして、ステップS26でアプリ作成開始指示ありと判断するまで、ステップS25の処理を繰り返す。この指示は、送信ボタン138の押下により受け付けることもできるが、アプリサーバ80への所定のコマンドの送信指示として受け付けることもできる。
そして、ステップS26で開始指示があると、ステップS27に進んで、アプリサーバ80に機能情報入力画面130で指定された機能の情報及び指定されたプロパティ情報ファイルを送信し、それらの情報に従った管理用アプリの作成を要求する。また、ステップS25で機能の情報に代えて管理契約の番号等の情報を受け付けた場合には、その情報を送信する。
なお、図13に、この時にアプリサーバ80に送信する機能の情報の記載形式の例を示すが、例えば、機能の大分類毎にその要否を「0」と「1」で示し、さらに小分類毎にその要否を示すような形式とすることが考えられる。
そして、ステップS27の後、ステップS28でアプリサーバ80から作成完了通知があるまで待機し、ステップS29でその作成完了通知により通知されたアドレスから、アプリサーバ80が作成した管理用アプリをダウンロードし、図6のステップS30の処理に進む。
そして、ステップS27の後、ステップS28でアプリサーバ80から作成完了通知があるまで待機し、ステップS29でその作成完了通知により通知されたアドレスから、アプリサーバ80が作成した管理用アプリをダウンロードし、図6のステップS30の処理に進む。
次のステップS30では、電子機器10への管理用アプリの設定方式を判断し、転送による設定であれば、ステップS31に進んで、ステップS29でダウンロードした管理用アプリをLAN60を介して電子機器10に転送して設定を行わせ、処理を終了する。この際の転送や設定には、上述したFTPクライアントやTelnetクライアントを利用することができる。
また、ステップS30で記録媒体を利用した設定であれば、ステップS32に進んで、ステップS29でダウンロードした管理用アプリを、自身に装着されているSDメモリカード等の着脱可能な記録媒体に記録する。そして、この場合、操作者がその記録媒体を電子機器10に装着して管理用アプリを読み出させ、設定させることにより、管理用アプリの設定を行うことになるが(S33)、設定用端末40における処理は、ステップS32で終了である。
また、ステップS30で記録媒体を利用した設定であれば、ステップS32に進んで、ステップS29でダウンロードした管理用アプリを、自身に装着されているSDメモリカード等の着脱可能な記録媒体に記録する。そして、この場合、操作者がその記録媒体を電子機器10に装着して管理用アプリを読み出させ、設定させることにより、管理用アプリの設定を行うことになるが(S33)、設定用端末40における処理は、ステップS32で終了である。
以上のような処理により、設定用端末40を用いて必要な情報を収集して、アプリサーバ80にその情報に基づいて管理用アプリを生成させ、その管理用アプリを電子機器10に設定して、管理装置90による遠隔管理を受けられる状態にすることができる。すなわち、電子機器10を被管理装置とする遠隔管理システムを構築することができる。
次に、図14乃至図17を用いて、アプリサーバ80が設定用端末40からの管理用アプリ作成要求に応じて実行する処理について説明する。
まず、図14にその処理のフローチャートを示す。
アプリサーバ80のCPUは、設定用端末40が図5のステップS27の処理で送信してくる管理用アプリ作成要求を受信すると、図14のフローチャートに示す処理を開始する。そして、まずステップS41で、設定用端末40から、管理用アプリによりその設定対象の機器に実現させようとする機能の情報及び、プロパティ情報ファイルを受信する。管理契約の情報を利用する場合には、機能の情報に代えて、管理契約の番号等を受信することになる。
そしてその後、ステップS42で設定用端末40にアプリ作成中画面のデータを送信し、この画面を表示させる。
まず、図14にその処理のフローチャートを示す。
アプリサーバ80のCPUは、設定用端末40が図5のステップS27の処理で送信してくる管理用アプリ作成要求を受信すると、図14のフローチャートに示す処理を開始する。そして、まずステップS41で、設定用端末40から、管理用アプリによりその設定対象の機器に実現させようとする機能の情報及び、プロパティ情報ファイルを受信する。管理契約の情報を利用する場合には、機能の情報に代えて、管理契約の番号等を受信することになる。
そしてその後、ステップS42で設定用端末40にアプリ作成中画面のデータを送信し、この画面を表示させる。
図15にこの画面の表示例を示すが、アプリ作成中画面140は、管理用アプリを作成中である旨のメッセージと、その処理の進行度合いを示すバー141とを表示するものである。なお、設定用端末40側の処理のフローチャートでは、この画面の表示処理の記載は省略した。また、図14のフローチャートでも、ステップS42以外ではこの画面に係る処理の記載を省略しているが、管理用アプリ作成処理の進行に応じて、設定用端末40に順次バー141の表示の更新を行わせるようにしている。
図14の説明に戻ると、次のステップS43では、受信したプロパティ情報ファイルを参照し、管理用アプリを設定する電子機器10におけるJavaのバージョンを確認する。そして、ステップS44でこれが自身が使用しているJavaのバージョンと一致しているか否か判断し、一致していなければ、ステップS45で電子機器10におけるJavaのバージョンと合った環境設定コマンドを実行し、電子機器10におけるJavaのバージョンと合ったJavaのバーチャルマシンを選定する。ステップS44で一致していれば、そのままステップS46に進む。
なお、アプリサーバ80は、最新バージョンのJavaに対応させ、バーチャルマシンを利用して過去の全てのバージョンのJavaにも対応できるようにしておくようにする。
なお、アプリサーバ80は、最新バージョンのJavaに対応させ、バーチャルマシンを利用して過去の全てのバージョンのJavaにも対応できるようにしておくようにする。
そして、次のステップS46では、ステップS41で受信したプロパティ情報ファイル中の必要な情報(第1の情報に該当)と、管理用アプリにより実現する機能の情報(第2の情報に該当)とをパラメータとして用い、予め用意してあるソースコードをコンパイルして電子機器10に設定させる管理用アプリのJavaクラスファイルを作成する。
なお、アプリサーバ80が管理装置90により被管理装置を管理する遠隔管理の契約に関する情報を参照できるのであれば、電子機器10に関する管理契約を特定するための情報を設定用端末40から受信し、その情報をもとに、電子機器10の遠隔管理の契約の内容を参照し、その情報から管理用アプリにより実現する機能を特定するようにすることができる。このようにする場合、設定用端末40からは、電子機器10に実現させるべき機能に関する情報を受信する必要はない。
なお、アプリサーバ80が管理装置90により被管理装置を管理する遠隔管理の契約に関する情報を参照できるのであれば、電子機器10に関する管理契約を特定するための情報を設定用端末40から受信し、その情報をもとに、電子機器10の遠隔管理の契約の内容を参照し、その情報から管理用アプリにより実現する機能を特定するようにすることができる。このようにする場合、設定用端末40からは、電子機器10に実現させるべき機能に関する情報を受信する必要はない。
また、管理用アプリのソースコードは、考えられる全てのプラットフォームで考えられる全ての機能が実現できるように作成しておき、ステップS46でのコンパイル処理により、不要な部分を削除したり、プラットフォームの種類に従って書式等を改変する等して、最終的に適切なクラスファイルを生成できるようにするとよい。
図16に、そのソースコードのうちごく一部分を示すが、ソースコードは、例えばこのように条件に応じて種々のメソッドを実行する部分のコードと、その各メソッドのコード(図示はしていない)として記載することができる。そして、ここからクラスファイルを作成する際には、不要な分岐やメソッドを削除すると共に、残った部分の書式を整えるような処理を行うようにすることが考えられる。
そして、以上のような処理でクラスファイルを作成した後、ステップS47でそのクラスファイルに識別情報としてIDを付す。このIDは、管理用アプリのIDであり、管理用アプリを設定する電子機器10の認証に使用するものである。
図16に、そのソースコードのうちごく一部分を示すが、ソースコードは、例えばこのように条件に応じて種々のメソッドを実行する部分のコードと、その各メソッドのコード(図示はしていない)として記載することができる。そして、ここからクラスファイルを作成する際には、不要な分岐やメソッドを削除すると共に、残った部分の書式を整えるような処理を行うようにすることが考えられる。
そして、以上のような処理でクラスファイルを作成した後、ステップS47でそのクラスファイルに識別情報としてIDを付す。このIDは、管理用アプリのIDであり、管理用アプリを設定する電子機器10の認証に使用するものである。
そして、次のステップS48では、ステップS46で作成したクラスファイルに基づき、jar(Java Archiver)ファイルを作成し、さらに、ステップS49で、設定用端末40から受信したプロパティ情報ファイル中の必要な情報と、ステップS48で生成したjarファイルの情報とを利用して、管理用アプリを電子機器10に設定する際に使用する設定ファイルを作成する。
その後、ステップS50で、ここまでの処理で作成した管理用アプリのIDと、その管理用アプリを設定する電子機器10の情報とを、管理装置90に送信する。これらの情報は、管理装置90において電子機器10の認証に使用させるものである。
その後、ステップS50で、ここまでの処理で作成した管理用アプリのIDと、その管理用アプリを設定する電子機器10の情報とを、管理装置90に送信する。これらの情報は、管理装置90において電子機器10の認証に使用させるものである。
そして、ステップS51で、ステップS48で生成したjarファイルと、ステップS49で生成した設定ファイルとを圧縮して所定の位置に記録し、設定用端末40に対してその位置情報として記録位置を示すURLを含む作成完了通知を送信し、処理を終了する。この作成完了通知は、例えば設定用端末40のブラウザの表示画面に、管理用アプリのダウンロードを促すメッセージと、そのURLに対するリンクとを含むウェブページである作成完了画面を表示させるような内容とすることが考えられる。
図17に、この作成完了画面の例を示すが、設定用端末40のユーザが作成完了画面150のURL151をクリックすると、あるいは設定用端末40が作成完了画面150のデータを受信すると自動的に、設定用端末40が作成完了画面150に記載されたURLにアクセスし、そこに格納されている管理用アプリをダウンロードして取得する。
そして、以上の処理により、アプリサーバ80は、電子機器10に備える汎用プラットフォームに関する情報と、作成するプログラムの機能に関する情報とに基づいて、電子機器10に備える汎用プラットフォーム上で動作し、電子機器10に必要な機能を実現させるためのプログラムを作成することができる。また、図示は省略したが、アプリサーバ80は、設定用端末40から管理用アプリのダウンロードの要求があった場合には、インターネット70を介して、作成した管理用アプリを提供する。
そして、以上の処理により、アプリサーバ80は、電子機器10に備える汎用プラットフォームに関する情報と、作成するプログラムの機能に関する情報とに基づいて、電子機器10に備える汎用プラットフォーム上で動作し、電子機器10に必要な機能を実現させるためのプログラムを作成することができる。また、図示は省略したが、アプリサーバ80は、設定用端末40から管理用アプリのダウンロードの要求があった場合には、インターネット70を介して、作成した管理用アプリを提供する。
次に、図18乃至図20を用いて、電子機器10が管理用アプリを設定する処理について説明する。
まず、図18に、電子機器10が着脱可能な記録媒体から管理用アプリを読み出して設定する場合にCPU101が実行する処理のフローチャートを示す。
電子機器10のCPU101は、起動時の初期化処理において、記録媒体からの管理用アプリの設定のための処理として、図18のフローチャートに示す処理を実行するようにしている。
まず、図18に、電子機器10が着脱可能な記録媒体から管理用アプリを読み出して設定する場合にCPU101が実行する処理のフローチャートを示す。
電子機器10のCPU101は、起動時の初期化処理において、記録媒体からの管理用アプリの設定のための処理として、図18のフローチャートに示す処理を実行するようにしている。
そして、この処理においては、まずステップS61で管理用アプリ記録用の記録媒体が装着されているか否か判断する。この判断の基準は、単に、記録媒体I/F16に装着されている記録媒体に、ファイル名等から管理用アプリと判断できるファイルが記録されているか否かによって行うようにしてもよい。しかし、記録媒体に記録されているファイルが正当なものであることが確認できるように、記録媒体に設定用端末40やアプリサーバ80の識別情報、あるいは管理用アプリ記録用の媒体であることを示す情報等を記録しておき、電子機器10がこれらの情報により記録媒体を認証できるようにする等の対応を行うことが好ましい。
そして、ステップS61で適当な記録媒体が装着されていなければそのまま処理を終了するが、装着されていれば、ステップS62に進み、管理用アプリのファイル(圧縮形式)を、自身のプロパティ中のクラスパスで示されるフォルダにコピーし、ステップS63でその圧縮ファイルを解凍する。
そして、この解凍により、管理用アプリのjarファイルと、その設定に使用する設定ファイルとが復元されるので、次のステップS64で、その設定ファイルに含まれる環境設定コマンドを実行し、クラスパスの設定を行って、管理用アプリに係るjarファイルを、電子機器10のアプリとして認識できるようにする。
そして、この解凍により、管理用アプリのjarファイルと、その設定に使用する設定ファイルとが復元されるので、次のステップS64で、その設定ファイルに含まれる環境設定コマンドを実行し、クラスパスの設定を行って、管理用アプリに係るjarファイルを、電子機器10のアプリとして認識できるようにする。
ここまでの処理が、管理用アプリの設定に係る処理であり、以後の処理は、管理用アプリを実行して管理装置90による管理を受ける動作を開始する際の処理である。この部分の処理の実行は、電子機器10の起動完了後に行ってもよい。
この部分の処理においては、まずステップS65で、操作パネルにより管理動作の起動指示を受け付け、ステップS66でその指示があるまで待機する。そして、指示があるとステップS67に進み、設定ファイルに含まれる起動コマンドを実行し、管理装置90に対して、管理用アプリのIDを含む起動完了通知を送信する。なお、起動完了通知には、電子機器10の識別情報を含めるようにし、管理用アプリのIDとしては、図14のステップS47の処理でアプリサーバ80が管理用アプリのクラスファイルに付したものを送信する。そして、管理装置90はこのIDを用いて電子機器10の認証を行い、これが成功した場合に電子機器10に確認応答を送信してくる。
この部分の処理においては、まずステップS65で、操作パネルにより管理動作の起動指示を受け付け、ステップS66でその指示があるまで待機する。そして、指示があるとステップS67に進み、設定ファイルに含まれる起動コマンドを実行し、管理装置90に対して、管理用アプリのIDを含む起動完了通知を送信する。なお、起動完了通知には、電子機器10の識別情報を含めるようにし、管理用アプリのIDとしては、図14のステップS47の処理でアプリサーバ80が管理用アプリのクラスファイルに付したものを送信する。そして、管理装置90はこのIDを用いて電子機器10の認証を行い、これが成功した場合に電子機器10に確認応答を送信してくる。
そして、ステップS68でこの確認応答を待ち、確認応答を受信したらステップS69に進み、管理用アプリを実行して管理装置90からの管理を受けるための処理を開始し、処理を終了する。
電子機器10は、以上のような処理を実行することにより、装着された記録媒体に記録されている管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置90による管理を受けられる状態に移行することができる。
電子機器10は、以上のような処理を実行することにより、装着された記録媒体に記録されている管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置90による管理を受けられる状態に移行することができる。
次に、図19に、電子機器10が設定用端末40から受信した管理用アプリを設定する場合にCPU101が実行する処理のフローチャートを示す。
電子機器10のCPU101は、設定用端末40から管理用アプリの圧縮ファイルを受信し、その設定を指示された場合に、図19のフローチャートに示す処理を開始する。なお、この処理の内容は、図18に示した処理から、ステップS61,S65,S66を除いたものであり、それ以外のステップにおける処理は図18に示したものと同様であるので、詳細な説明は省略する。
そして、電子機器10は、以上のような処理を実行することにより、設定用端末40から受信した管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置90による管理を受けられる状態に移行することができる。
電子機器10のCPU101は、設定用端末40から管理用アプリの圧縮ファイルを受信し、その設定を指示された場合に、図19のフローチャートに示す処理を開始する。なお、この処理の内容は、図18に示した処理から、ステップS61,S65,S66を除いたものであり、それ以外のステップにおける処理は図18に示したものと同様であるので、詳細な説明は省略する。
そして、電子機器10は、以上のような処理を実行することにより、設定用端末40から受信した管理用アプリを自身に設定すると共に、その管理用アプリを実行して管理装置90による管理を受けられる状態に移行することができる。
また、図20に、以上の処理における管理用アプリの設定に係る動作の概念図を示す。
この図に示すとおり、電子機器10は、自身のハードウェアを制御して種々の機能を実現するために、プラットフォーム161上で動作する種々のアプリ162(プリンタ機能を実現するためのアプリ、コピー機能を実現するためのアプリ等)を備えている。そして、管理用アプリの設定は、電子機器10においては、これらのアプリの1つとして、管理装置90による管理を受ける機能を実現するアプリを追加する動作という位置づけになる。
この図に示すとおり、電子機器10は、自身のハードウェアを制御して種々の機能を実現するために、プラットフォーム161上で動作する種々のアプリ162(プリンタ機能を実現するためのアプリ、コピー機能を実現するためのアプリ等)を備えている。そして、管理用アプリの設定は、電子機器10においては、これらのアプリの1つとして、管理装置90による管理を受ける機能を実現するアプリを追加する動作という位置づけになる。
次に、図21に、電子機器10等の被管理装置からの起動完了通知に応じて管理装置90のCPUが実行する処理のフローチャートを示す。
管理装置90のCPUは、電子機器10等の被管理装置から起動完了通知を受信した場合、図21のフローチャートに示す処理を開始する。
管理装置90のCPUは、電子機器10等の被管理装置から起動完了通知を受信した場合、図21のフローチャートに示す処理を開始する。
そして、まずステップS71で、被管理装置から起動完了通知と共に受信した管理用アプリのIDを、アプリサーバから通知されたIDと比較する。図14のステップS50の処理により、アプリサーバ80から各被管理装置に設定させる管理用アプリのIDが通知されているので、起動通知に含まれる被管理装置の識別情報により、管理用アプリのIDがどんな値であるべきかは管理装置90側で把握できる。そして、IDを比較して認証を行うことにより、アプリサーバが作成した管理用アプリが正しい装置に設定されたことを確認できる。また、これとは別に、起動完了通知の送信元の被管理装置が、管理契約により管理の対象とされている装置であるか否かも確認するようにするとよい。
そして、ステップS72で比較の結果を確認し、一致していれば、ステップS73で被管理装置に確認応答を送信し、ステップS74で管理用アプリによって実現される機能を利用した被管理装置の管理動作を開始して処理を終了する。
また、ステップS72で一致していなければ、ステップS75で被管理装置にエラー応答を送信して処理を終了する。
以上のような処理を行うことにより、管理装置90は、電子機器10等の被管理装置からの通知あるいは要求に応じて、被管理装置が正当な管理対象であることを確認した上で、管理用アプリを利用した管理動作を開始することができる。
また、ステップS72で一致していなければ、ステップS75で被管理装置にエラー応答を送信して処理を終了する。
以上のような処理を行うことにより、管理装置90は、電子機器10等の被管理装置からの通知あるいは要求に応じて、被管理装置が正当な管理対象であることを確認した上で、管理用アプリを利用した管理動作を開始することができる。
なお、ここまでの処理は、電子機器10に管理用アプリを設定する場合について説明してきたが、電子機器20や電子機器30、あるいは図示しない他の機器にも、同様な処理により管理用アプリを設定できることはもちろんである。この場合において、プラットフォーム及び、管理用アプリにより実現させる機能が同一であるような複数の機器に対しては、共通の管理用アプリをアプリサーバ80に生成させ、各機器毎に記憶させるようにすることも考えられる。この場合において、管理用アプリのIDが機器と1対1に対応している必要はない。
ところで、一旦遠隔管理システムの運用を開始した後であっても、機能の追加ため、あるいはJavaやOSの新しいバージョンに対応させるため等の理由により、ソースコードを改変する必要が生じる場合がある。そして、アプリサーバ80においては、このような場合、設定用端末40等の外部の装置からアクセスしてソースコードを編集することができるようにしている。
そこで、次に、図22に、設定用端末40を用いてアプリサーバ80が管理用アプリの作成に用いるソースコードを編集する場合の処理のフローチャートを示す。
このフローチャートに示す処理は、設定用端末40のCPUがソースコード編集用のアプリを実行することにより行うものであり、CPUは、そのアプリが起動されると、図22のフローチャートに示す処理を開始する。
このフローチャートに示す処理は、設定用端末40のCPUがソースコード編集用のアプリを実行することにより行うものであり、CPUは、そのアプリが起動されると、図22のフローチャートに示す処理を開始する。
そして、ステップS81で、ソースコードの編集指示があるまで待機し、指示があると、ステップS82でアプリサーバ80にアクセスし、開発用プラットフォームとソースコードのライブラリを取得する。その後、ステップS83でそのライブラリのうち編集する項目の指定を受け付け、ステップS84で指定の内容が編集終了か否か判断する。
そして、編集終了でなければ、ステップS85に進んで該当する項目のソースコードファイルを開き、ステップS86で編集指示に従ってソースコードファイルの内容を編集する。その後、ステップS87で編集後のソースコードをコンパイルして、ステップS88でコンパイルエラーの有無を確認する。この場合のコンパイルは、ソースコードに従った処理が実行可能であることを確認できればよい。
そして、編集終了でなければ、ステップS85に進んで該当する項目のソースコードファイルを開き、ステップS86で編集指示に従ってソースコードファイルの内容を編集する。その後、ステップS87で編集後のソースコードをコンパイルして、ステップS88でコンパイルエラーの有無を確認する。この場合のコンパイルは、ソースコードに従った処理が実行可能であることを確認できればよい。
そして、ステップS88でエラーがあった場合にはステップS85に戻って処理を繰り返し、エラーがなかった場合には、ステップS89で編集後のソースコードをソースコードファイルに登録し、ステップS83に戻って再度編集する項目の指定を受け付ける。
一方、ステップS84で指定の内容が編集終了であれば、ステップS90に進み、編集後のソースコードファイルをアプリサーバ80に送信し、以後の管理用アプリの作成に使用させるようにして処理を終了する。
一方、ステップS84で指定の内容が編集終了であれば、ステップS90に進み、編集後のソースコードファイルをアプリサーバ80に送信し、以後の管理用アプリの作成に使用させるようにして処理を終了する。
設定用端末40に以上のような処理を実行させることにより、アプリサーバ80におけるソースコードを編集することができる。そして、アプリサーバ80が、編集を行う装置に対してソースコードだけでなく、開発用プラットフォームも同時に提供するようにしているため、ソースコードの編集や、コンパイルエラーの有無の確認を容易に行って機能の追加や改変を行うことができる。
図23に、コードを追加する場合の編集例を示す。この場合において、必要なメソッドは、別途記載されているものとする。
図23に、コードを追加する場合の編集例を示す。この場合において、必要なメソッドは、別途記載されているものとする。
そして、アプリサーバ80は、過去に管理用アプリの作成に使用した電子機器のプロパティや管理用アプリにより実現する機能の情報を蓄積しておき、上記のような編集により管理用アプリに新たな機能が追加や改変された場合には、その蓄積しておいた情報をもとに、各電子機器について更新用の管理用アプリを作成するようにしてもよい。このような場合、更新用のアプリは、一旦管理装置90に転送し、管理装置90から管理動作の一環として各電子機器に配布するようにすることが考えられる。
以上で実施形態の構成及び動作の説明を終了するが、以上説明してきた実施形態によれば、電子機器10に備える汎用プラットフォームに関する情報と、作成されるプログラムの機能に関する情報である第2の情報とをアプリサーバ80に入力し、アプリサーバ80に、それらの情報に基づいて、電子機器10に備える汎用プラットフォーム上で動作し、電子機器10に必要な機能を実現させるための管理用アプリを作成させるようにしている。
従って、電子機器10に遠隔管理を受ける機能を実現させる際に、作成される管理用アプリについて、広範な環境で広範な機能を実現できるものとする必要はなく、特定のプラットフォーム上で必要な機能のみ実現できるものでよいので、プログラムを小型化し、これを実行する電子機器10のハードウェア資源を節約することができる。
また、管理用アプリの作成に必要な情報の収集や、管理用アプリの設定を、汎用の通信経路やインタフェースを介して行うようにしているため、ハードウェアの面でも既存の設備を流用でき、遠隔管理システムの構築に必要なコストを抑えることができる。
また、遠隔管理の場合には、機器の標準的な機能(MFPの場合にはコピー、プリント、スキャン等)の場合と異なり、ユーザ毎に個別に細かく管理内容を定めるようにすることが比較的頻繁にあると考えられる。そして、このような場合には、個別に開発を行ったのでは、各管理内容に合ったソフトウェアを用意するための負担が大きくなるため、上記のアプリサーバ80のようなプログラム作成装置を利用することの効果が特に大きい。
また、遠隔管理の場合には、機器の標準的な機能(MFPの場合にはコピー、プリント、スキャン等)の場合と異なり、ユーザ毎に個別に細かく管理内容を定めるようにすることが比較的頻繁にあると考えられる。そして、このような場合には、個別に開発を行ったのでは、各管理内容に合ったソフトウェアを用意するための負担が大きくなるため、上記のアプリサーバ80のようなプログラム作成装置を利用することの効果が特に大きい。
さらに、Java及びオペレーティングシステムを用いて構成した汎用プラットフォームや、イーサネットインタフェース,USBインタフェース,および着脱可能な記録媒体のような汎用インタフェースは、コンピュータ制御によりネットワーク通信を行うような装置に幅広く搭載されていることから、管理用アプリの作成や設定にこれらを活用すれば、コストの低減効果をより大きくすることができる。
また、アプリサーバ80が遠隔管理の契約に関する情報を参照できるようにしておき、管理用アプリの作成の際に、管理用アプリにより実現させる機能の情報を、その契約に関する情報から取得させるようにすれば、その機能に関する情報を入力する手間を軽減でき、またこの工程でのミスも低減できるため、少ない労力で管理用アプリの作成や設定を行うことができる。遠隔管理の場合には、事前に管理項目を契約により定めることがよく行われるため、この情報を活用することは特に効果が大きい。
また、アプリサーバ80に、作成した管理用アプリにIDを付させ、そのIDを、管理装置90に記憶させるようにしているので、管理用アプリを電子機器に設定して動作させる際に、管理装置90の側で、管理用アプリが適切に利用されているか否かをIDに基づいて判断することができ、このような判断を行わせて、構築される遠隔管理システムのセキュリティを向上させることができる。
また、電子機器10と汎用インタフェースを介して通信可能な設定用端末40が、その汎用インタフェースを介して電子機器10から汎用プラットフォームに関する情報を取得し、アプリサーバ80に入力するようにしているので、電子機器10自体にはアプリサーバ80へ情報を入力する機能を設ける必要がなく、単に汎用通信経路及び汎用インタフェースを介した情報授受の機能を設けるのみでよい。例えば、図4乃至図6を用いて説明したような処理を自動制御で行う場合でも、電子機器10側には単にネットワークや記録媒体を介した情報授受の機能を設けるのみでよい。従って、管理用アプリの作成や設定のための機能を設定用端末40のような外部の装置に持たせることにより、被管理装置となる機器の設計を容易にし、コストダウンを図ることができる。
この場合において、ネットワーク通信を行うような機器は、FTPやHTTPあるいはTelnetのような一般的なプロトコルに対応させることが多いので、管理用アプリの作成や設定に関しても、機器間の通信にこれらのプロトコルを活用するようにすれば、遠隔管理システムの構築に必要なコストを抑えることができる。
また、設定用端末40に、電子機器10に所定のプロパティ取得用プログラムを実行させることにより電子機器10から汎用プラットフォームに関する情報を取得させるようにすれば、電子機器10が汎用プラットフォームに関する情報を出力する機能を有していない場合でも、自動的に必要な情報を取得することができ、管理用アプリの作成と設定にかかる労力を低減できる。さらに、設定用端末40に、プロパティ取得用プログラムをウェブサーバから取得させるようにすれば、取得する必要のある情報が変わった場合等でも、新たなプロパティ取得用プログラムを容易に取得して変更に対応することができる。また、プロパティ取得用プログラムをJAVAプログラムとすれば、電子機器10に備える汎用プラットフォームで動作させることができる。
また、設定用端末40に、電子機器10に所定のプロパティ取得用プログラムを実行させることにより電子機器10から汎用プラットフォームに関する情報を取得させるようにすれば、電子機器10が汎用プラットフォームに関する情報を出力する機能を有していない場合でも、自動的に必要な情報を取得することができ、管理用アプリの作成と設定にかかる労力を低減できる。さらに、設定用端末40に、プロパティ取得用プログラムをウェブサーバから取得させるようにすれば、取得する必要のある情報が変わった場合等でも、新たなプロパティ取得用プログラムを容易に取得して変更に対応することができる。また、プロパティ取得用プログラムをJAVAプログラムとすれば、電子機器10に備える汎用プラットフォームで動作させることができる。
また、アプリサーバ80にウェブサーバ機能を設け、設定用端末40にウェブクライアント機能を設け、設定用端末40に、ウェブクライアント機能を用いてアプリサーバ80にアクセスさせ、管理用アプリの作成に必要な情報を送信させるようにすれば、設定用端末40がファイアウォールの内側に設けられている場合でも、ファイアウォール50に特殊な設定を行ったり、特殊な通信プロトコルを使用したりすることなく、設定用端末40とアプリサーバ80とが通信を行うことができるので、管理用アプリの作成と設定にかかる労力を低減できる。
また、アプリサーバ80に、作成した管理用アプリの記録位置を示す情報をウェブページとして作成して設定用端末40に通知させ、設定用端末40に、そのウェブページに含まれる記録位置の情報に基づいて管理用アプリを取得させるようにしているので、アプリサーバ80が作成した管理用アプリを設定用端末40が容易に取得することができる。
以上で実施形態の説明を終了するが、以上説明してきた実施形態及び変形例において、システムの構成、具体的な処理内容、通信に使用する通信プロトコル等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、電子機器10と管理装置90との間の通信を、インターネット以外のネットワーク、例えば電話回線を通じて行うことも考えられる。そして、この場合に管理用アプリの設定に記録媒体を使用するとすると、電子機器10がLAN60やインターネット70に接続されていることは必須ではない。
例えば、電子機器10と管理装置90との間の通信を、インターネット以外のネットワーク、例えば電話回線を通じて行うことも考えられる。そして、この場合に管理用アプリの設定に記録媒体を使用するとすると、電子機器10がLAN60やインターネット70に接続されていることは必須ではない。
また、電子機器10に設定用端末40の機能を持たせることも考えられる。このようにした場合、ユーザが電子機器10に所要の指示を行ったり所要の情報を入力したりすることにより、電子機器10自身がLAN60やインターネット70といった汎用通信経路を介してアプリサーバ80にアクセスして管理用アプリを作成させ、これを取得して設定することが可能になる。外部のPCから電子機器10にリモートでアクセスして設定用端末40に係る処理を実行させることも考えられる。
また、管理装置90とアプリサーバ80とを一体に構成してもよい。管理装置90とアプリサーバ80は、どちらも遠隔管理サービスを提供する側が用意することが多いと考えられるため、このようにすれば、両装置間で情報を共有し、遠隔管理システムの効率よい運営が可能となる。
また、管理装置90とアプリサーバ80とを一体に構成してもよい。管理装置90とアプリサーバ80は、どちらも遠隔管理サービスを提供する側が用意することが多いと考えられるため、このようにすれば、両装置間で情報を共有し、遠隔管理システムの効率よい運営が可能となる。
また逆に、管理装置90は1台に限られることはなく、管理の目的や利用する機能に応じて管理装置を分けるようにしてもよい。アプリサーバ80についても、同様な対応が可能である。
また、設定用端末40を必ずしもユーザ側環境1に設ける必要もない。外部からでも、電子機器10から必要な情報を収集したり、管理用アプリを設定したりすることが許可されているのであれば、任意の場所に設けた機器を設定用端末40として利用することができる。
また、設定用端末40を必ずしもユーザ側環境1に設ける必要もない。外部からでも、電子機器10から必要な情報を収集したり、管理用アプリを設定したりすることが許可されているのであれば、任意の場所に設けた機器を設定用端末40として利用することができる。
また、ここではアプリサーバ80が電子機器に設定する管理用アプリを作成する例について説明したが、同様な手順で必要な情報を収集し、管理装置90が備えるプラットフォーム上で動作し、管理装置90に管理動作を行う機能を実現させるためのアプリを作成し、管理装置90に設定することができるようにしてもよい。
このようにすれば、1台のアプリサーバ80により、管理装置と被管理装置の両方に適切なアプリを供給し、遠隔管理システム全体を構築することができる。
このようにすれば、1台のアプリサーバ80により、管理装置と被管理装置の両方に適切なアプリを供給し、遠隔管理システム全体を構築することができる。
また、この発明を適用してプログラムを設定する電子機器としては、プリンタ,FAX装置,デジタル複写機,スキャナ装置、あるいはこれらの機能を備えたデジタル複合機(MFP)等の画像処理装置が考えられる。
さらに、その他の電子機器、例えば汎用コンピュータ,ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の電子機器に対するプログラムの設定にも適用することが考えられる。
さらにまた、遠隔管理用プログラム以外の、任意の機能(プリンタの場合のプリント、スキャナの場合のスキャン等、機器本来の機能を含む)を実現させるためのプログラムの設定に適用することも考えられる。
さらに、その他の電子機器、例えば汎用コンピュータ,ネットワーク家電,自動販売機,医療機器,電源装置,空調システム,ガス・水道・電気等の計量システム,自動車,航空機等の電子機器に対するプログラムの設定にも適用することが考えられる。
さらにまた、遠隔管理用プログラム以外の、任意の機能(プリンタの場合のプリント、スキャナの場合のスキャン等、機器本来の機能を含む)を実現させるためのプログラムの設定に適用することも考えられる。
また、この発明によるプログラムは、コンピュータを、上述したアプリサーバ80のようなプログラム作成装置として機能させるためのプログラム、あるいはそのプログラム作成装置により作成されるプログラムであり、このようなプログラムをコンピュータに実行させることにより、上述したような効果を得ることができる。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
このようなプログラムは、はじめからコンピュータに備えるROMあるいはHDD等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。そのメモリに記録されたプログラムをコンピュータにインストールしてCPUに実行させるか、CPUにそのメモリからこのプログラムを読み出して実行させることにより、上述した各手順を実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
以上説明してきたように、この発明のプログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム又は記録媒体によれば、遠隔管理用ソフトウェアの開発効率を改善し、電子機器の遠隔管理システムを安価に構築できるようにすることができる。
従って、この発明を利用することにより、安価な遠隔管理システムを提供することができる。
従って、この発明を利用することにより、安価な遠隔管理システムを提供することができる。
10,20,30:電子機器、11:アプリ設定部、12:プロパティ情報収集部、
13:被管理機能部、40:設定用端末、41:プロパティ情報取得部、
42:機能情報取得部、43:アプリ作成要求部、44:アプリ設定部、
50:ファイアウォール、60:LAN、70:インターネット、80:アプリサーバ、
81:ソースコード記憶部、82:アプリ作成部、83:アプリ記憶部、
84:アプリ情報送信部、90:管理装置、91:管理機能部、92:認証機能部、
101:CPU,102:ROM,103:RAM、104:不揮発性メモリ、
105:ネットワークI/F、106:記録媒体I/F、107:エンジン部、
108:システムバス、110:プロパティ情報入力画面、
120:FTPクライアント画面、130:機能情報入力画面、
140:アプリ作成中画面、150:作成完了画面
13:被管理機能部、40:設定用端末、41:プロパティ情報取得部、
42:機能情報取得部、43:アプリ作成要求部、44:アプリ設定部、
50:ファイアウォール、60:LAN、70:インターネット、80:アプリサーバ、
81:ソースコード記憶部、82:アプリ作成部、83:アプリ記憶部、
84:アプリ情報送信部、90:管理装置、91:管理機能部、92:認証機能部、
101:CPU,102:ROM,103:RAM、104:不揮発性メモリ、
105:ネットワークI/F、106:記録媒体I/F、107:エンジン部、
108:システムバス、110:プロパティ情報入力画面、
120:FTPクライアント画面、130:機能情報入力画面、
140:アプリ作成中画面、150:作成完了画面
Claims (17)
- 電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを設定するプログラム設定方法であって、
前記電子機器に備える汎用プラットフォームに関する情報である第1の情報および作成されるプログラムの機能に関する情報である第2の情報をプログラム作成装置に入力し、
前記プログラム作成装置に、前記第1の情報及び前記第2の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第2の情報の内容に応じた機能を実現させるためのプログラムを作成させ、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させると共に、該電子機器が自身の制御に利用できるように設定することを特徴とするプログラム設定方法。 - 請求項1記載のプログラム設定方法であって、
前記汎用プラットフォームは、Java及びオペレーティングシステムを用いて構成したプラットフォームであることを特徴とするプログラム設定方法。 - 請求項1又は2記載のプログラム設定方法であって、
前記汎用インタフェースは、イーサネットインタフェース,USBインタフェース,および着脱可能な記録媒体のいずれかであることを特徴とするプログラム設定方法。 - 請求項1乃至3のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置が前記遠隔管理の契約に関する情報を参照できるようにしておき、前記プログラムの作成の際に、前記第2の情報を、前記遠隔管理の契約に関する情報から取得させることを特徴とするプログラム設定方法。 - 請求項1乃至4のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置に、作成したプログラムにIDを付させると共に、該IDを前記管理装置に転送させることを特徴とするプログラム設定方法。 - 請求項1乃至5のいずれか一項記載のプログラム設定方法であって、
前記電子機器と汎用通信経路により通信可能な設定装置に、前記汎用通信経路を介して前記電子機器から前記第1の情報を取得させ、前記プログラム作成装置に入力させるようにしたことを特徴とするプログラム設定方法。 - 請求項6記載のプログラム設定方法であって、
前記設定装置に、前記電子機器に所定のプロパティ取得用プログラムを実行させることにより該電子機器から前記第1の情報を取得させることを特徴とするプログラム設定方法。 - 請求項6又は7記載のプログラム設定方法であって、
前記電子機器と前記設定装置とはFTPを用いて通信させ、
前記設定装置と前記プログラム作成装置とはHTTPを用いて通信させることを特徴とするプログラム設定方法。 - 請求項6乃至8のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置はウェブサーバ機能を有する装置であり、
前記設定装置はウェブクライアント機能を有する装置であり、
前記設定装置に、前記ウェブクライアント機能を用いて前記プログラム作成装置にアクセスさせ、前記プログラム作成装置に必要な情報を送信させることを特徴とするプログラム設定方法。 - 請求項9記載のプログラム設定方法であって、
前記設定装置に、前記ウェブクライアント機能を用いて前記プログラム作成装置にアクセスさせ、前記プログラム作成装置に前記第2の情報を送信させることを特徴とするプログラム設定方法。 - 請求項7記載のプログラム設定方法であって、
前記設定装置に、前記プロパティ取得用プログラムをウェブサーバから取得させるようにしたことを特徴とするプログラム設定方法。 - 請求項7記載のプログラム設定方法であって、
前記プロパティ取得用プログラムがJAVAプログラムであることを特徴とするプログラム設定方法。 - 請求項6乃至12のいずれか一項記載のプログラム設定方法であって、
前記プログラム作成装置に、作成したプログラムの記録位置を示す情報をウェブページとして作成して前記設定装置に通知させ、
前記設定装置に、前記ウェブページに含まれる記録位置の情報に基づいて前記プログラム作成装置が作成したプログラムを取得させることを特徴とするプログラム設定方法。 - 請求項5記載のプログラム設定方法によって、前記電子機器に前記遠隔管理用プログラムを設定すると共に、その遠隔管理用プログラムのIDを前記電子機器を管理する管理装置に記憶させ、
該管理装置に、前記電子機器を該電子機器に設定されている遠隔管理用プログラムのIDを用いて認証した場合に該電子機器の遠隔管理を開始させるようにしたことを特徴とする遠隔管理システムの構築方法。 - 電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置であって、
前記電子機器に備える汎用プラットフォームに関する情報である第1の情報と、作成するプログラムの機能に関する情報である第2の情報との入力を受け付ける手段と、
前記第1の情報及び前記第2の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第2の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させられる形式で出力する手段とを有することを特徴とするプログラム作成装置。 - コンピュータを、電子機器に管理装置によって遠隔管理を受ける機能を実現させるためのプログラムを作成するプログラム作成装置として機能させるためのプログラムであって、
前記コンピュータを、
前記電子機器に備える汎用プラットフォームに関する情報である第1の情報と、作成するプログラムの機能に関する情報である第2の情報との入力を受け付ける手段と、
前記第1の情報及び前記第2の情報に基づいて、前記電子機器に備える汎用プラットフォーム上で動作し、前記電子機器に前記第2の情報の内容に応じた機能を実現させるためのプログラムを作成する手段と、
該作成したプログラムを、前記電子機器に備える汎用インタフェースから該電子機器に記憶させられる形式で出力する手段として機能させるためのプログラム。 - 請求項16記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005067201A JP2006252135A (ja) | 2005-03-10 | 2005-03-10 | プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005067201A JP2006252135A (ja) | 2005-03-10 | 2005-03-10 | プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006252135A true JP2006252135A (ja) | 2006-09-21 |
Family
ID=37092570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005067201A Pending JP2006252135A (ja) | 2005-03-10 | 2005-03-10 | プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006252135A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010191596A (ja) * | 2009-02-17 | 2010-09-02 | Ricoh Co Ltd | 動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラム |
JP2011124721A (ja) * | 2009-12-09 | 2011-06-23 | Sharp Corp | 複合機、プログラムおよび記録媒体 |
US8370469B2 (en) | 2008-09-17 | 2013-02-05 | Ricoh Company, Limited | Management device, management method, and recording medium for synchronizing information from management devices |
US8549598B2 (en) | 2010-04-26 | 2013-10-01 | Sharp Kabushiki Kaisha | Multifunction apparatus, authentication server, and multifunction apparatus control system |
US9001356B2 (en) | 2009-12-08 | 2015-04-07 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
-
2005
- 2005-03-10 JP JP2005067201A patent/JP2006252135A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370469B2 (en) | 2008-09-17 | 2013-02-05 | Ricoh Company, Limited | Management device, management method, and recording medium for synchronizing information from management devices |
US9860105B2 (en) | 2008-09-17 | 2018-01-02 | Ricoh Company, Limited | Management device, management method, and recording medium |
JP2010191596A (ja) * | 2009-02-17 | 2010-09-02 | Ricoh Co Ltd | 動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラム |
US9001356B2 (en) | 2009-12-08 | 2015-04-07 | Sharp Kabushiki Kaisha | Multifunction printer, multifunction printer control system, and recording medium |
JP2011124721A (ja) * | 2009-12-09 | 2011-06-23 | Sharp Corp | 複合機、プログラムおよび記録媒体 |
US8549598B2 (en) | 2010-04-26 | 2013-10-01 | Sharp Kabushiki Kaisha | Multifunction apparatus, authentication server, and multifunction apparatus control system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3984895B2 (ja) | 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
US8817295B2 (en) | Communication system and printer therefor | |
JP2004046817A (ja) | プログラム、記憶媒体、データ管理装置及びデータ管理システム | |
JP5995602B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
US8810839B2 (en) | Information processing apparatus for transferring image data, server apparatus for receiving transferred image data, and control methods and storage media therefor | |
KR20040086510A (ko) | 서비스 처리 장치 및 서비스 처리 방법 | |
JP2010093532A (ja) | 管理装置、画像形成装置、サービス処理方法及びプログラム | |
JP5476834B2 (ja) | 情報処理装置、ワークフローシステム、ワークフロー管理方法、プログラムおよび記録媒体 | |
JP2006252135A (ja) | プログラム設定方法、遠隔管理システムの構築方法、プログラム作成装置、プログラム及び記録媒体 | |
JP4641530B2 (ja) | 情報処理装置、ドライバ処理方法、プログラム | |
JP2004288025A (ja) | サービス処理装置、サービス処理システム、サービス処理システムの元データ保管方法、及びサービス処理プログラム | |
JP2008130089A (ja) | 多機能プリンターの統合ローカルサービスの統一ホストアプリケーション及び関連方法 | |
JP6790797B2 (ja) | 画像処理システム、画像形成装置、アプリケーション実行方法、およびコンピュータプログラム | |
JP2015228194A (ja) | クラウドサービス中継装置及びプログラム | |
JP2015205499A (ja) | 画像処理装置、画像処理装置の制御方法およびプログラム | |
US20050228891A1 (en) | Parameter processing apparatus and parameter setting method for same | |
JP2008165654A (ja) | 情報処理装置、画像形成装置、ドライバ更新方法、記憶媒体、プログラム | |
US20120307306A1 (en) | Server apparatus that enables easy use of image input apparatus, information processing apparatus, methods of controlling the apparatuses, control program, and storage medium | |
JP5476998B2 (ja) | 情報管理装置、情報管理方法、及び情報管理システム | |
JP5648433B2 (ja) | 共有画像印刷システム、共有画像印刷方法及び印刷装置 | |
JP6429502B2 (ja) | 管理システム、及びその方法 | |
JP5333035B2 (ja) | リモート管理システム、管理装置、機器、プログラム更新方法、プログラム、及び記録媒体 | |
JP5016475B2 (ja) | 通信装置,制御方法,プログラム,および記録媒体 | |
EP1858225B1 (en) | Apparatus, system and computer program product for document editting through network | |
JP5006683B2 (ja) | ネットワーク端末管理装置、方法、及び、プログラム |