JP2007073066A - 画像形成装置用アプリケーション起動方法 - Google Patents
画像形成装置用アプリケーション起動方法 Download PDFInfo
- Publication number
- JP2007073066A JP2007073066A JP2006281742A JP2006281742A JP2007073066A JP 2007073066 A JP2007073066 A JP 2007073066A JP 2006281742 A JP2006281742 A JP 2006281742A JP 2006281742 A JP2006281742 A JP 2006281742A JP 2007073066 A JP2007073066 A JP 2007073066A
- Authority
- JP
- Japan
- Prior art keywords
- application
- image forming
- forming apparatus
- control service
- execution format
- 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)
Abstract
【課題】多数のプロセスが実行される画像形成装置で動作するアプリケーションを効率的に開発するとともに、正確かつ効率的に検証すること。
【解決手段】画像形成装置の起動時に、新規アプリケーションの実行形式プログラムとコントロールサービスの実行形式プログラムが記録された起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動する。
【選択図】図11
【解決手段】画像形成装置の起動時に、新規アプリケーションの実行形式プログラムとコントロールサービスの実行形式プログラムが記録された起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動する。
【選択図】図11
Description
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供する画像形成装置に搭載されるアプリケーションを開発するための技術に関する。
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が一般的に知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する3種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
この複合機によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
特開2002−342119号公報
このような新規な複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダーが新規なアプリケーションを開発して複合機に搭載することが可能となっており、新規アプリケーションを開発して複合機に搭載することによって、多種多様な機能を提供することが可能となる。
従って、新規な複合機において、新規アプリケーションを効率的に開発し、かつ開発した新規アプリケーションの動作を正確かつ効果的に検証するデバッグ作業を行うことが必要であるという従来の構成の複合機には問題にならなかった新規な課題が生じてくる。
この発明は上記に鑑みてなされたもので、多数のプロセスが実行される画像形成装置で動作するアプリケーションを効率的に開発することができ、また生成されたアプリケーションを正確かつ効率的に検証することができる技術を得ることを目的とする。
上記目的を達成するための請求項1にかかる発明は、画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムと前記コントロールサービスの実行形式プログラムが記録された起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動するプログラム起動ステップを有することを特徴とする。
この請求項1の発明によれば、画像形成装置の起動時に、プログラム起動ステップによって、新規アプリケーションの実行形式プログラムとコントロールサービスの実行形式プログラムが記録された起動用記録媒体から、コントロールサービスの実行形式プログラムと新規アプリケーションの実行形式プログラムとを読み出して画像形成装置上で起動することにより、デバッグ作業を行えるので、新規アプリケーションのデバッグ作業を効率的に行うことができる。また、新規アプリケーションを迅速にユーザに提供することが可能となる。
請求項2に記載の発明は、画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムが記録された起動用記録媒体から、該新規アプリケーションの実行形式プログラムを読み出して前記画像形成装置上で起動し、前記コントロールサービスの実行形式プログラムが記録された前記画像形成装置内の記憶装置から、前記コントロールサービスの実行形式プログラムを読み出して前記画像形成装置上で起動するプログラム起動ステップを有することを特徴とする。
本発明によれば、新規アプリケーションの実行形式プログラムとを読み出して画像形成装置上で起動することにより、デバッグ作業を行えるので、新規アプリケーションのデバッグ作業を効率的に行うことができる。また、新規アプリケーションを迅速にユーザに提供することが可能となる。
また、請求項3にかかる発明は、請求項1に記載の画像形成装置用アプリケーション起動方法において、前記起動用記録媒体には、さらに前記アプリケーションの実行形式プログラムが記録されており、前記プログラム起動ステップは、前記画像形成装置の起動時に、前記起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムと前記アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動することを特徴とする。
この請求項3の発明によれば、起動用記録媒体から、コントロールサービスの実行形式プログラムと新規アプリケーションの実行形式プログラムと既存のアプリケーションの実行形式プログラムとを読み出して画像形成装置上で起動することで、新規アプリケーションがコントロールサービスとのプロセス間通信の他、既存のアプリケーションを利用する場合でも起動用記録媒体から既存のアプリケーション、新規アプリケーションおよびコントロールサービスの起動を行えるので、既存のアプリケーションの起動を画像形成装置のフラッシュROMからの起動をする必要がなく、新規アプリケーションのデバッグ作業を効率的に行うことができる。
また、請求項4にかかる発明は、画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムが格納されたネットワーク上のファイルシステムを、前記画像形成装置のファイルシステムにネットワーク経由でマウントする接続ステップと、前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記新規アプリケーションを起動するアプリ起動ステップと、を含んだことを特徴とする。
この請求項4の発明によれば、画像形成装置の起動時に、接続ステップによって、新規アプリケーションの実行形式プログラムが格納されたネットワーク上のファイルシステムを画像形成装置のファイルシステムにネットワーク経由でマウントし、アプリ起動ステップによって、マウントされたネットワーク上のファイルシステムから新規アプリケーションを起動することで、ネットワークファイルシステムを画像形成装置のファイルシステムとみなして新規アプリケーションを起動することができるので、開発した新規アプリケーションを起動用記録媒体に記録する必要がなく、新規アプリケーションの生成後、新規アプリケーションのデバッグ作業をより一層効率的に行うことができる。また、遠隔のサーバから画像形成装置の新規アプリケーションのサービスを提供することが可能となる。
請求項5に記載の発明は、請求項4の記載において、前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記コントロールサービスを起動するサービス層起動ステップをさらに有するものである。また、請求項6に記載の発明は、請求項4の記載において、前記画像形成装置内の記憶装置から前記コントロールサービスを起動するサービス層起動ステップをさらに有するものである。上記の発明によっても、請求項4の発明と同様に、新規アプリケーションのデバッグ作業をより効率的に行うことができる。
また、請求項7にかかる発明は、請求項4に記載の画像形成装置用アプリケーション起動方法において、前記ネットワーク上のファイルシステムには、さらに前記アプリケーションの実行形式プログラムが記録されており、前記アプリ起動ステップは、前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記アプリケーションおよび前記新規アプリケーションを起動することを特徴とする。
この請求項7の発明によれば、ネットワーク上のファイルシステムに既存のアプリケーションの実行形式プログラムが記録されており、アプリ起動ステップによって、マウントされたネットワーク上のファイルシステムから既存のアプリケーションおよび新規アプリケーションを起動することで、新規アプリケーションがコントロールサービスとのプロセス間通信の他、既存のアプリケーションを利用する場合でも、ネットワークファイルシステムを画像形成装置のファイルシステムとみなして既存のアプリケーションおよび新規アプリケーションの起動を行えるので、既存のアプリケーションおよび開発した新規アプリケーションを起動用記録媒体に記録する必要がなく、新規アプリケーションの生成後、新規アプリケーションのデバッグ作業をより一層効率的に行うことができる。
本発明によれば、多数のプロセスが実行される画像形成装置で動作するアプリケーションを効率的に開発することができ、また生成されたアプリケーションを正確かつ効率的に検証することができる。
以下に添付図面を参照して、本発明の好適な実施の形態を詳細に説明する。
(実施の形態1)
この発明の実施の形態1では、画像形成装置(以下、「複合機」という。)で動作させる新規アプリケーションを開発する場合、開発用PC(Personal Computer)によってアプリケーションソースファイルを作成する。そして、アプリケーション開発のためにCD−ROMなどの記録媒体で提供されるアプリ開発キットを開発用サーバにインストールして、作成したアプリケーションソースファイルを、開発用サーバでコンパイル、リンクして複合機で実行可能なアプリケーションの実行形式ファイルを生成している。
この発明の実施の形態1では、画像形成装置(以下、「複合機」という。)で動作させる新規アプリケーションを開発する場合、開発用PC(Personal Computer)によってアプリケーションソースファイルを作成する。そして、アプリケーション開発のためにCD−ROMなどの記録媒体で提供されるアプリ開発キットを開発用サーバにインストールして、作成したアプリケーションソースファイルを、開発用サーバでコンパイル、リンクして複合機で実行可能なアプリケーションの実行形式ファイルを生成している。
図1は、実施の形態1である開発用サーバ100のソフトウェア構成を示すブロック図である。この図1では、アプリ開発キットを開発用サーバ100のハードディスク(HD)130にインストールした状態を示している。実施の形態1にかかる開発用サーバ100は、複合機で動作させるための新規アプリケーションのソースファイルをコンパイルおよびリンクして、新規アプリーションの実行形式プログラムを生成するものである。実施の形態1にかかる開発用サーバ100は、図1に示すように、デバッグ機能付きコンパイラ110と、リンカ120とから構成される。
デバッグ機能付きコンパイラ110は、ハードディスク(HD)130に格納されたアプリケーションのソースコードが記述された新規アプリソースファイル132を、コマンドの指定に従って、オブジェクトコードからなるオブジェクトファイルを生成するものである。デバッグ機能付きコンパイラ110は、図1に示すように、さらにコマンド解析部111と、構文解析部112と、タグ付加部113と、コード生成部114とから構成される。
HD(ハードディスク)130には、アプリケーション開発用のアプリ開発キット131がインストールされている。また、HD130にアプリケーションのC言語ソースコードが記述された新規アプリソースファイル132が格納される。この新規アプリソースファイル132は、開発用PCでエディタによって作成され、開発用サーバ100にコピーされる。また、HD130には、デバッグ機能付きコンパイラ110によって、オブジェクトファイル133が生成され、さらにリンカ120によってアプリケーションの実行形式ファイル134が生成される。
デバッグ機能付きコンパイラ110のコマンド解析部111は、ユーザからキーボードなどの入力装置によって入力されたコマンドのパラメータや構文の解析を行って、入力されたコマンドが文法的に正確か否かを判断するものである。
構文解析部112は、HD130に格納されたアプリケーションの新規アプリソースファイル132を入力して、新規アプリソースファイル132に記述されたC言語ソースコードを、C言語文法に従って解析し、導出木や構文木などを生成するものであり、通常のコンパイラにおける構文解析と同様の処理を行う。
タグ付加部113は、コマンドの指定によって、新規アプリソースファイル132に記述された関数の入口と出口にデバッグ用の検証コードであるタグを付加するものである。
コード生成部114は、構文解析され、必要に応じて検証コード(タグ)が付加された新規アプリソースファイル132から、オブジェクトコードからなるアプリケーションのオブジェクトファイル133を生成するものである。
リンカ120は、コード生成部114によって生成されたオブジェクトファイル133と、アプリ開発キット131の中のコントロールサービス関数ライブラリおよび標準関数ライブラリとをリンク(結合)して、複合機300およびコンピュータのOS上で実行可能なアプリ実行形式ファイル134を生成するものである。
アプリ開発キット131は、CD−ROMまたはフレキシブルディスク(FD)などの記録媒体にインストール可能な形式で提供され、開発用サーバ100のHD130にインストールされる。このアプリ開発キット131の中には、図1に示すように、ECS324、MCS325などの各コントロールサービスの実行形式ファイルと、各コントロールサービスごとに、提供するサービス関数を登録したコントロールサービス関数ライブラリ(たとえば、ECS関数ライブラリ、MCS関数ライブラリなど)と、strcpy,memcpyなどのC言語標準関数を登録した標準関数ライブラリと、アプリケーションとコントロールサービスに共通で使用される関数宣言やメッセージ宣言が記述されているヘッダファイルと、デバッグ機能付きコンパイラ110のプログラムと、リンカ120のプログラムと、汎用OSプログラムと、デバッガなどのデバッグ用ユーティリティとが含まれている。
上記デバッグ機能付きコンパイラ110の各部およびリンカ120は、このアプリ開発キット131を実行したときに、RAM203上に生成されて実行される。
なお、実施の形態1では、アプリ開発キットを記録媒体で提供することとしているが、また、このような実行可能な形式またはインストール可能な形式のファイルを、ネットワーク経由でダウンロードすることにより提供するように構成しても良い。
図2は、実施の形態1にかかる開発用サーバ、開発用PCのハードウェア構成および開発環境を示すブロック図である。図2に示すように、この開発用サーバ100は、CPUなどの制御装置204と、RAM(Random Access Memory)203と、HD130と、ディスプレイ装置などの表示装置202と、キーボードやマウスなどの入力装置201と、LANボードやモデムなどの通信装置206と、フラッシュカードのリード/ライトを制御するフラッシュカードインタフェースやCD−ROMのリード制御を行うCDドライブ装置などの外部記憶装置205とを備えており、PC、ワークステーションなどのコンピュータを利用した通常の構成である。
この開発用サーバ100は、イーサネット(登録商標)220などのネットワークによって開発用PC200と複合機300に接続されており、LAN環境が構築されている。開発用PC200のハードウェア構成は、図2に示す通り、開発用サーバ100と同様の構成となっている。複合機300には、複合機300の起動を制御したり、エラー表示のためのコンソールPC230がケーブルによって接続されている。
次に、デバッグ対象である複合機300について説明する。図3は、複合機300の機能的構成を示すブロック図である。図3に示すように、複合機300は、白黒ラインプリンタ(B&W LP)301と、カラーラインプリンタ(Color LP)302と、スキャナ、ファクシミリ、ハードディスク(HD)、メモリ、ネットワークインタフェースなどのハードウェアリソース303を有するとともに、プラットホーム320とアプリケーション330とから構成されるソフトウェア群310とを備えている。
プラットホーム320は、アプリケーション330からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)323と、汎用OS321とを備えている。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)322と、ECS(エンジンコントロールサービス)324と、MCS(メモリコントロールサービス)325と、OCS(オペレーションパネルコントロールサービス)326と、FCS(ファックスコントロールサービス)327と、NCS(ネットワークコントロールサービス)328とから構成される。なお、このプラットホーム320は、あらかじめ定義された関数により前記アプリケーション330から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS321は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム320並びにアプリケーション330の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM323のプロセスは、SCS322とともにシステムの制御およびリソースの管理を行うものである。SRM323のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
具体的には、このSRM323は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM323は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
SCS322のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
ECS324のプロセスは、白黒ラインプリンタ(B&W LP)301、カラーラインプリンタ(Color LP)302、スキャナ、ファクシミリなどからなるハードウェアリソース303のエンジンの制御を行う。
MCS325のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS327のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
NCS328のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
OCS326は、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS326は、オペレーションパネル410からキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS322に送信するOCSプロセスの部分と、アプリケーション330またはコントロールサービスからの要求によりオペレーションパネル410に各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション330およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS326のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS326のすべてをOCSライブラリとして構成しても良い。
アプリケーション330は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ311と、コピー用アプリケーションであるコピーアプリ312と、ファクシミリ用アプリケーションであるファックスアプリ313と、スキャナ用アプリケーションであるスキャナアプリ314と、ネットワークファイル用アプリケーションであるネットファイルアプリ315と、工程検査用アプリケーションである工程検査アプリ316とを有している。これらのアプリケーション330はいずれも複合機300の起動時に初期化部(図示せず)によりプロセスとして生成され、動作する。
アプリケーション330の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機300には、複数のアプリケーション330および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション330に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。そして、複合機300には、サードベンダーなどの第三者がコントロールサービス層の上のアプリケーション層に新規なアプリケーション(新規アプリ317)を開発して搭載することが可能となっている。
図4は、図3に示した実施の形態1の複合機300のハードウェア構成図である。図4に示すように、この複合機300は、CPU402、SDRAM403、SRAM408、フラッシュメモリ404、フラッシュカードインタフェース部406およびHD405などをASIC401に接続したコントローラボード400と、オペレーションパネル410と、ファックスコントロールユニット(FCU)420と、USB430と、IEEE1394 440と、プリンタ450とから構成されている。オペレーションパネル410はASIC401に直接接続され、FCU420、USB430、IEEE1394 440およびプリンタ450はPCIバスを介してASIC401に接続されている。
フラッシュカードインタフェース部406は、フラッシュカード407を挿入して、フラッシュカード407とデータのやりとりを行うインタフェースである。このフラッシュカードインタフェース部406によって、開発用サーバ100で生成された新規アプリが記録されたフラッシュカード407を読み込むことができるようになっている。
フラッシュメモリ(以下、「フラッシュROM」という。)404には、上述の各アプリ、プラットホーム320を構成する各コントロールサービスやSRM323の各プログラムが格納されている。
オペレーションパネル410は、利用者のキー入力、ボタン押下などのキー操作を入力する操作部と、ボタン、ウィンドウ、各種画面などの描画データを表示する表示部とから構成されている。
図5は、新規アプリ317とコントロールサービスの関数呼び出しの関係を示すブロック図である。図5に示すように、新規アプリ317のプロセスからコントロールサービスのプロセス(図5ではECS324)に対してAPI(アプリケーションプログラミングインタフェース)を利用してコントロールサービスで提供される関数の呼び出し(図5ではEcs_func関数)によるプロセス間通信を行った場合に、コントロールサービス側で呼び出された関数が実行される。すなわち、サービス関数の実体はコントロールサービス側にある。このサービス関数は、コントロールサービス関数ライブラリ(図5ではECS関数ライブラリ)に登録されており、コントロールサービス関数ライブラリは、呼び出し側の新規アプリ317にリンクされている。実施の形態1のアプリ開発キット131は、このコントロールサービス関数ライブラリと、コントロールサービス実行形式ファイル(実行形式プログラム)を提供するものである。
次に、以上のように構成された実施の形態1にかかる開発用サーバ100、開発用PC200およびアプリ開発キット131を利用した新規アプリの生成について説明する。
まず、デバッグ作業を行うユーザは開発用PC200において、エディタなどの編集ツールによって新規アプリ317のソースコードを記述しソースファイルを生成する。ここで、新規アプリ317は任意の機能を持たせることができるが、例えば、以下のような機能を新規アプリ317の一部または全部の機能とすることが考えられる。オペレーションパネル410の操作部表示画面の設計、スキャナから読み取ったデータのファイル保存、HD405上の画像データの加工および編集、プロッタを利用した印刷、機器状態の通知要求および通知、イーサネット(登録商標)を利用した他の機器との接続などの機能を有する新規アプリ317を、アプリ開発キット131を利用して作成することが可能である。また、複合機300の汎用OS321がUNIX(登録商標)である場合には、UNIX(登録商標)用のソフトウェアを新規アプリ317とすることも可能である。なお、新規アプリ317の機能としてはこれらの機能に限定されるものではない。
そして、この新規アプリソースファイルを開発用サーバ100のHD130にネットワーク経由で格納する。そして、ユーザは、新規アプリ317の実行形式ファイルを生成するために、開発用サーバ100のキーボードなどの入力装置211から、デバッグ機能付きコンパイラおよびリンカの起動コマンドを入力する。
図6は、開発用サーバ100による新規アプリ生成処理の手順を示すフローチャートである。起動コマンドが入力されると、デバッグ機能付きコンパイラ110が起動し、コマンド解析部111によって入力されたコマンドの解析を行う(ステップS601)。具体的にはパラメータや構文の解析を行って、入力されたコマンドが文法的に正確か否かを判断する。
次に、構文解析部112によって、新規アプリソースファイル132とインストール済みのアプリ開発キット131の中のヘッダファイルを読み込み(ステップS602)、新規アプリソースファイル132に記述されたC言語ソースコードの構文解析を行う(ステップS603)。具体的には、構文解析部112は、C言語ソースコードをC言語文法に従って解析し、導出木や構文木などを生成する。
そして、コマンド解析部111によって、入力された起動コマンドにデバッグオプションが指定されているか否かを調べる(ステップS604)。そして、デバッグオプションが指定されている場合には、関数の入口と出口などにprintf文やassert文などのデバッグ用に変数や関数引数あるいは関数戻り値などを出力するための検証コードとしてのタグを付加する(ステップS605)。一方、デバッグオプションが指定されていない場合には、タグ付加の処理は行わず、通常のコンパイル処理を行う。
次に、コード生成部114によってコード生成処理を行って、新規アプリ317のオブジェクトコードを生成し、オブジェクトファイル133としてHD130に格納する(ステップS606)。そして、生成された新規アプリ317のオブジェクトファイル133と、アプリ開発キット131のコントロールサービス関数ライブラリと標準関数ライブラリとをリンクして、アプリ実行形式ファイル134を生成する(ステップS607)。そして、生成されたアプリ実行形式ファイル134を、アプリ開発キット131の中のすべてのコントロールサービス実行形式ファイルとともにフラッシュカードに書き込む(ステップS608)。ここで、このようなフラッシュカード407への書き込みは、コンパイラ110およびリンカ120の起動コマンドとともにカード書き込みコマンドを、例えばMakeファイルのようなスクリプトに記述して、コンパイルからフラッシュカード407への書き込みを自動的に行う他、ユーザが手動で各コマンドを入力するようにしても良い。
図7は、フラッシュカード407のデータの内容を示すデータ構造図である。フラッシュカード407には、図7に示すように、先頭のROMモニタ起動命令と、ヘッダ情報と、コンフィグレーションファイルと、ECS実行形式ファイルやMCS実行形式ファイルなどのコントロールサービス実行形式ファイルと、新規アプリ317のアプリ実行形式ファイル134とが、ユーザの指定によって格納される。
ROMモニタ起動命令は、複合機300の起動時に参照されて後述するROMモニタの起動を行うコマンドである。ヘッダ情報は、コンフィグレーションファイルやコントロールサービス実行形式ファイルのフラッシュカード先頭アドレスからのオフセットやデータ長などを設定したものである。コンフィグレーションファイルは、複合機300の起動時に参照され、複合機300で実行されるコントロールサービスやアプリケーション330を指定したものである。このコンフィグレーションファイルは、あらかじめ開発用サーバ100においてユーザによって作成される。これらの各ファイルは、上述のユーザのカード書き込みコマンド入力によって実行されるステップS608によって、各コントロールサービス実行形式ファイルおよびアプリ実行形式ファイルとともにフラッシュカード407に書き込まれる。
図7に示す例では、フラッシュカード407に新規アプリの実行形式ファイルとともに各種コントロールサービスの実行形式ファイルを格納しているが、フラッシュカード407に格納する情報は図7に示す例に限られない。
例えば、図8に示すように、コンフィグレーションファイルと新規アプリの実行形式ファイルのみをフラッシュカード407に格納してもよい。この場合、複合機の起動に必要な他のプログラムは複合機内のROMに予め格納しておく。そして、新規アプリはフラッシュカード407から起動され、各コントロールサービスはROMから起動される。
更に、図9に示すように、特定のコントロールサービスの実行形式ファイルと新規アプリの実行形式ファイルをフラッシュカード407に格納してもよい。これば、例えば、特定のコントロールサービス(図9の例ではECS実行形式ファイル)に対してユーザの要望に応じたカスタマイズがなされた場合に適用できる。この場合も、複合機300の起動に必要な他のプログラムは複合機内のROMに予め格納しておく。
また、フラッシュカード407に限らず、記録媒体に新規アプリの実行形式ファイルのみを格納し、その記録媒体(インストール用記録媒体)から新規アプリの実行形式ファイルを複合機300のHD405にインストールし、新規アプリをHD405から起動することも可能である。また、新規アプリと特定のコントロールサービスの実行形式ファイルのみを記録媒体に格納し、複合機300のHD405にインストールし、新規アプリと特定のコントロールサービスをHD405から起動することも可能である。
次に、このように生成された新規アプリ317のデバッグ方法について説明する。なお、以下、フラッシュカード407に図7に示すファイルが格納される場合の形態である。
デバッグ作業を行うユーザは、新規アプリ317(アプリ実行形式ファイル134)とコントロールサービス(実行形式ファイル)を格納したフラッシュカード407を複合機300のフラッシュカードインタフェース部406に挿入して複合機300の電源を投入し、複合機300を起動する。
図10は、複合機300の起動時に実行される複合機初期化部800の構成を示すブロック図である。複合機初期化部800は、ROMモニタ801とプログラム起動部802とから構成される。ROMモニタ801は、フラッシュカード407の先頭に記録されたROMモニタ起動命令を実行することにより起動され、ハードウェアの初期化、コントローラボードの診断、ソフトウェアの初期化、汎用OS321の起動などを行う。
プログラム起動部802は、汎用OS321から呼び出されるものであり、フラッシュカード407の中のコンフィグレーションファイルを参照して、コンフィグレーションファイルに指定されているコントロールサービスとアプリを、フラッシュカードから読み出して複合機300上で起動するものである。
図11は、複合機300がフラッシュカード407を挿入した状態で起動した場合の初期化処理の手順を示すフローチャートである。デバッグ作業を行うユーザは、まず複合機300のコントローラボード400のディップスイッチをフラッシュカード407からの起動側の位置に設定し、フラッシュカード407をフラッシュカードインタフェース部406に挿入して電源投入を行う。このとき複合機300では複合機初期化部800がまず起動し、フラッシュカード407の先頭に格納されているROMモニタ起動命令を読み出し、ROMモニタ801を起動する。そして、ROMモニタ801は、ハードウェアの初期化、コントローラボード400などのハードウェアの診断処理を行う(ステップS901)。そして、ROMモニタ801は、汎用OS321をフラッシュメモリ404から起動する(ステップS902)。
次に、プログラム起動部802が汎用OS321によって呼び出され、起動されたプログラム起動部802はフラッシュカード407からコンフィグレーションファイルを読み込む(ステップS903)。なお、コンフィグレーションファイルおよび後述するコントロールサービス実行形式ファイル、アプリ実行形式ファイルのフラッシュカード407内での位置は、ヘッダ情報のオフセットを参照することによって取得している。
そして、プログラム起動部802は、コンフィグレーションファイルの設定に従って、フラッシュカード407から各コントロールサービスを起動する(ステップS904)。さらに、プログラム起動部802は、フラッシュカード407から新規アプリ317のアプリ実行形式ファイル134を起動する(ステップS905)。
これにより、図3に示すように、複合機300で新規アプリ317が実行された状態となる。このため、ユーザが新規アプリ317をデバッグオプションを指定して生成した場合、コンソールPC230のディスプレイ装置あるいはオペレーションパネル410の表示部などに、printf文、assert文などにより変数の値、関数引数、関数戻り値などがメッセージとともに出力され、これによりデバッグ作業を行う。
このように実施の形態1の開発用サーバ100では、アプリ開発キット131の中のコントロールサービス関数ライブラリと、新規アプリソースファイル132をコンパイルしたオブジェクトファイル133とをリンクして、新規アプリ317のアプリ実行形式ファイル134を生成しているので、コントロールサービスが提供するサービス関数を呼び出してプロセス間通信を行う新規アプリ317を効率的に開発することができる。
実施の形態1のアプリ開発キット131には、作成した新規アプリ317のプロセス間通信に必要なコントロールサービスの実行形式ファイルも含まれているので、新規アプリ317のデバッグ作業を、複合機300内のコントロールサービスを用いずに、アプリ開発キット131の中のコントロールサービスだけを用いて行うことができ、効率的なデバッグ作業を行うことができる。
また、実施の形態1のアプリ開発キット131は、コントロールサービス実行形式ファイルを含んでおり、開発用サーバ100によって、新規アプリ317のアプリ実行形式ファイル134と、コントロールサービス実行形式ファイルとを、複合機300の起動用のフラッシュカード407に格納しているので、複合機300の起動時にこのフラッシュカード407からコントロールサービスおよび新規アプリ317の起動を行うことができ、新規アプリ317のデバッグ作業を容易に行うことができる。
さらに、図8、9に示したように、ユーザの要望に応じて開発した新規アプリの実行形式ファイルのみをフラッシュカード407に格納し、ユーザに納入済みの複合機において、フラッシュカード407からその新規アプリを起動させることができる。
(実施の形態2)
実施の形態1のデバッグ方法では、開発用サーバ100で生成した新規アプリ317のアプリ実行形式ファイル134やコントロールサービス実行形式ファイルを、フラッシュカード407に記録して、複合機300でフラッシュカード407からアプリやコントロールサービスを起動してデバッグ作業を行っていたが、この実施の形態2にかかるデバッグ方法では、フラッシュカード407を用いずにネットワーク経由でデバッグ環境を構築するものである。
実施の形態1のデバッグ方法では、開発用サーバ100で生成した新規アプリ317のアプリ実行形式ファイル134やコントロールサービス実行形式ファイルを、フラッシュカード407に記録して、複合機300でフラッシュカード407からアプリやコントロールサービスを起動してデバッグ作業を行っていたが、この実施の形態2にかかるデバッグ方法では、フラッシュカード407を用いずにネットワーク経由でデバッグ環境を構築するものである。
図12は、実施の形態2にかかる開発用サーバ100、開発用PC200、ネットワークサーバ1000および複合機300のネットワーク構成並びにデバッグ環境を示すブロック図である。図12に示すように、実施の形態2では、実施の形態1のデバッグ環境と同様に、開発用サーバ100と、複数の開発用PC200と、複合機300がイーサネット(登録商標)220に接続されているが、さらにネットワークサーバ1000もイーサネット(登録商標)220に接続されたLAN環境が構築されている。なお、開発用サーバ100、開発用PC200、複合機300およびコンソールPC230については、実施の形態1で説明した構成と同様である。
ネットワークサーバ1000は、開発用サーバ100で生成された新規アプリ317を、NFS(ネットワークファイルシステム)によって複合機300にマウントさせるものである。このため、ネットワークサーバ1000は、NFSの機能を有している。
次に、以上のように構成された複合機300、ネットワークサーバ1000による新規アプリ317のデバッグ方法について説明する。なお、新規アプリ317の生成処理については実施の形態1で説明した開発用サーバ100によるアプリ生成処理と同様に行われる。
まず、デバッグ作業を行うユーザは、開発用サーバ100で生成された新規アプリ317のアプリ実行形式ファイル134とコンフィグレーションファイルとアプリ開発キット131の中のコントロールサービス実行形式ファイルとを、ネットワークサーバ1000のハードディスクの所定のディレクトリにコピーする。コンフィグレーションファイルは、実施の形態1と同様に、複合機300で実行されるコントロールサービスやアプリケーション330を指定したものである。このコンフィグレーションファイルは、あらかじめユーザによって作成される。
そして、複合機300のネットワークボードのMAC(Media Access Control)アドレス、複合機300のIPアドレス、ネットワークサーバのIPアドレスなどのネットワーク情報、および複合機300にマウントさせるアプリ実行形式ファイル134の存在するディレクトリをエクスポートするためのディスク情報などを設定して、ネットワークサーバ1000を再起動する。かかるネットワーク情報とディスク情報は、汎用OS321がUNIX(登録商標)であれば、起動時に実行されるシェルスクリプトに記述しておき、ネットワークサーバ1000を再起動させれば良い。
図13は、複合機300がネットワークブートした場合の初期化処理の手順を示すフローチャートである。ユーザは、複合機300のディップスイッチをネットワークブート側に設定して、複合機300の電源を投入する。このとき、実施の形態1の複合機300と同様に、複合機初期化部800のROMモニタ801によってハードウェアの初期化と診断処理が行われる(ステップS1101)。次に、ネットワークブートの場合、ROMモニタ801はコンソールPC230に起動コマンド入力待ちの画面を表示するので、ユーザはコンソールPC230から複合機300の起動コマンドを入力する。ROMモニタ801は入力された起動コマンドを受け付けた後(ステップS1102)、汎用OS321を起動する(ステップS1103)。
起動した汎用OS321は、コンソールPC230に対してログイン入力画面を表示し、ユーザからのログイン入力待ち状態となる。ユーザは、コンソールPC230からユーザ名、パスワードを入力して複合機300に対してログインを行うと、汎用OS321は、入力されたユーザ名、パスワードによるログインを受け付けて、ユーザ認証処理を行う(ステップS1104)。そして、正当なユーザの場合には、汎用OS321はプログラム起動部802を起動する。
プログラム起動部802は、まずネットワークサーバ1000のエクスポートされたディスク(またはディレクトリ)をマウントする(ステップS1105)。かかるマウント処理は、汎用OS321がUNIX(登録商標)の場合、マウント先をネットワークサーバ1000で設定したディスク情報に記述されたディスクまたはディレクトリを指定したマウントコマンドを、あらかじめ記述したシェルスクリプトを用意して、プログラム起動部802の実行時にかかるシェルスクリプトを実行するように構成しておけば良い。
次に、プログラム起動部802は、マウントしたネットワークサーバ1000のディスクからコンフィグレーションファイルを読み込み(ステップS1106)、かかるコンフィグレーションファイルの設定に従って、NFSマウントされたネットワークサーバ1000のディスク(またはディレクトリ)から各コントロールサービスを起動する(ステップS1107)。さらに、プログラム起動部802は、ネットワークサーバ1000のディスク(またはディレクトリ)から新規アプリ317のアプリ実行形式ファイル134を起動する(ステップS1108)。
これにより、図3に示すように、複合機300で新規アプリ317が実行された状態となる。このため、ユーザが新規アプリ317をデバッグオプションを指定して生成した場合、コンソールPC230のディスプレイ装置あるいはオペレーションパネル410の表示部などに、printf文、assert文などにより変数の値、関数引数、関数戻り値などがメッセージとともに出力され、これによりデバッグ作業を行う。
このように実施の形態2のアプリ開発キット131、開発用サーバ100、開発用PC200、ネットワークサーバ1000および複合機300では、起動時に、新規アプリ317のアプリ実行形式ファイル134が格納されたネットワークサーバ1000のディスクまたはディレクトリを、複合機300のファイルシステムにNFSマウントし、マウントされたネットワークサーバ1000上のファイルシステムからコントロールサービス、ついで新規アプリ317を起動して、新規アプリのデバッグを行っているので、コントロールサービスや開発した新規アプリをフラッシュカード407などの記録媒体に格納する必要がなく、新規アプリ317のデバッグ作業をより一層効率的に行うことができる。なお、ネットワークサーバ1000が新規アプリのアプリ実行形式ファイルのみを保持しておき、新規アプリのアプリ実行形式ファイルはネットワークサーバ1000から起動し、各種コントロールサービスは複合機300内のROMから起動するようにしてもよい。
また、ネットワークサーバ1000から新規アプリを起動することは、上記のようなデバッグの場面のみならず、ユーザによる複合機の使用場面でも用いることができる。例えば、複合機300をインターネット接続されたLANに接続しておき、新規アプリを遠隔にあるインターネット接続されたサーバから起動する。
(実施の形態3)
実施の形態1および2にかかるアプリ開発キット131は、コントロールサービス実行形式ファイルが格納されており、アプリ実行形式ファイル134は格納されてはいなかったが、この実施の形態3にかかるアプリ開発キットは、アプリ実行形式ファイル134も格納して提供するものである。
実施の形態1および2にかかるアプリ開発キット131は、コントロールサービス実行形式ファイルが格納されており、アプリ実行形式ファイル134は格納されてはいなかったが、この実施の形態3にかかるアプリ開発キットは、アプリ実行形式ファイル134も格納して提供するものである。
図14は、実施の形態3にかかる開発用サーバ100のHD130に格納されるファイルを示す説明図である。実施の形態3にかかる開発用サーバ100のHD130には、実施の形態1の開発用サーバ100と同様に、アプリ開発キット1201がインストールされ、新規アプリソースファイル132と、アプリのオブジェクトファイル133と、アプリ実行形式ファイル134とが生成される。
アプリ開発キット1201は、実施の形態1のアプリ開発キット131と同様に、CD−ROMまたはフレキシブルディスク(FD)などの記録媒体にインストール可能な形式で提供され、開発用サーバ100のHD130にインストールされる。この記録媒体のアプリ開発キット1201の中には、図14に示すように、ECS324、MCS325などの各コントロールサービスの実行形式ファイルと、各コントロールサービスごとに、提供するサービス関数を登録したコントロールサービス関数ライブラリ(たとえば、ECS関数ライブラリ、MCS関数ライブラリなど)と、コピーアプリ312、プリンタアプリ311などの各アプリケーション実行形式ファイルと、strcpy,memcpyなどのC言語標準関数を登録した標準関数ライブラリと、アプリケーション330とコントロールサービスに共通で使用される関数宣言やメッセージ宣言が記述されているヘッダファイルと、デバッグ機能付きコンパイラ110のプログラムと、リンカ120のプログラムと、汎用OSプログラムと、デバッガなどのデバッグ用ユーティリティとが含まれている。すなわち、実施の形態3にかかるアプリ開発キット1201は、アプリケーション実行形式ファイルがアプリケーション330ごとに含まれている点が実施の形態1にかかるアプリ開発キット131と異なっている。
このため、実施の形態1のように、新規アプリ317(アプリ実行形式ファイル134)をフラッシュカード407に格納する際には、アプリ開発キット1201の中のアプリケーション実行形式ファイルもコントロールサービス実行形式ファイルやコンフィグレーションファイルとともにフラッシュカード407に格納する。
実施の形態2のように、新規アプリ317をネットワークサーバ1000のハードディスクにネットワーク経由でコピーする際には、アプリ開発キット1201の中のアプリケーション実行形式ファイルもコントロールサービス実行形式ファイルやコンフィグレーションファイルとともにネットワークサーバ1000のハードディスクにネットワーク経由でコピーする。また、実施の形態2のように、複合機300をネットワークブートしてデバッグ作業を行う場合には、複合機初期化部800のプログラム起動部802は、図11のステップS1107において、コントロールサービスを起動した後に、NFSマウントされたネットワークサーバ1000のハードディスクからアプリケーション330を起動するという処理を行う。
実施の形態3において、既存のアプリケーションとは、例えば図3に示す、プリンタアプリ311、コピーアプリ312、スキャナアプリ314、ファックスアプリ313、ネットファイルアプリ315、工程検査アプリ316などをいい、新規アプリ317は、これらの中の一または複数のアプリとのプロセス間通信を利用するように設計することが可能である。
このように実施の形態3のアプリ開発キット1201は、既存のアプリケーション330の実行形式ファイルを含み、新規アプリ317のアプリ実行形式ファイル134と既存のアプリケーションの実行形式ファイルおよびコントロールサービス実行形式ファイルとを、複合機起動用のフラッシュカード407に格納しているので、新規アプリ317がコントロールサービスとのプロセス間通信の他、既存のアプリケーション330を利用した所定の機能を実現する場合でも、アプリ開発キット1201を利用して開発を行うことができ、新規アプリ317を効率的に開発することができる。
また、実施の形態3のアプリ開発キット1201には既存のアプリケーション330の実行形式ファイルが記録されており、複合機300はその起動時に、起動用のフラッシュカード407またはNFSマウントされたネットワークサーバ1000上のディレクトリから、コントロールサービス実行形式ファイルと新規アプリのアプリ実行形式ファイル134と既存のアプリケーション330の実行形式ファイルとを読み出して、複合機300上で起動しているので、新規アプリ317がコントロールサービスとのプロセス間通信の他、既存のアプリケーション330を利用して機能を実現する場合でも、新規アプリ317のデバッグ作業を効率的に行うことができる。
なお、実施の形態1〜3では、開発用サーバ100と、開発用PC200と、ネットワークサーバ1000とを別個に設ける構成としているが、この他、図15のネットワーク構成図に示すように、ネットワークサーバと開発用サーバとを一つのコンピュータ1301で兼用する構成としたり、図16のネットワーク構成図に示すように、ネットワークサーバと開発用サーバと開発用PCとを一つのコンピュータ1302で兼用する構成とすることも可能である。
100 開発用サーバ
110 コンパイラ
111 コマンド解析部
112 構文解析部
113 タグ付加部
114 コード生成部
120 リンカ
130,230 ハードディスク(HD)
131 アプリ開発キット
132 新規アプリソースファイル
133 オブジェクトファイル
134 アプリ実行形式ファイル
201,211 入力装置
202,212 表示装置
203,213 RAM
204,214 制御装置
205,215 外部記憶装置
206,216 通信装置
300 複合機
301 白黒ラインプリンタ
302 カラーラインプリンタ
303 ハードウェアリソース
310 ソフトウェア群
311 プリンタアプリ
312 コピーアプリ
313 ファックスアプリ
314 スキャナアプリ
315 ネットファイルアプリ
316 工程検査アプリ
320 プラットホーム
321 汎用OS
322 SCS
323 SRM
324 ECS
325 MCS
326 OCS
327 FCS
328 NCS
330 アプリケーション
400 コントローラボード
401 ASIC
402 CPU
403 SDRAM(RAM)
404 フラッシュメモリ(ROM)
405 HD
406 フラッシュカードインタフェース部
407 フラッシュカード
408 SRAM
410 オペレーションパネル
430 USB
440 IEEE1394
450 プリンタ
800 複合機初期化部
801 モニタ
802 プログラム起動部
1000 ネットワークサーバ
1201 アプリ開発キット
1301 ネットワークサーバ兼開発用サーバ
1302 ネットワークサーバ兼開発用サーバ兼開発用PC
110 コンパイラ
111 コマンド解析部
112 構文解析部
113 タグ付加部
114 コード生成部
120 リンカ
130,230 ハードディスク(HD)
131 アプリ開発キット
132 新規アプリソースファイル
133 オブジェクトファイル
134 アプリ実行形式ファイル
201,211 入力装置
202,212 表示装置
203,213 RAM
204,214 制御装置
205,215 外部記憶装置
206,216 通信装置
300 複合機
301 白黒ラインプリンタ
302 カラーラインプリンタ
303 ハードウェアリソース
310 ソフトウェア群
311 プリンタアプリ
312 コピーアプリ
313 ファックスアプリ
314 スキャナアプリ
315 ネットファイルアプリ
316 工程検査アプリ
320 プラットホーム
321 汎用OS
322 SCS
323 SRM
324 ECS
325 MCS
326 OCS
327 FCS
328 NCS
330 アプリケーション
400 コントローラボード
401 ASIC
402 CPU
403 SDRAM(RAM)
404 フラッシュメモリ(ROM)
405 HD
406 フラッシュカードインタフェース部
407 フラッシュカード
408 SRAM
410 オペレーションパネル
430 USB
440 IEEE1394
450 プリンタ
800 複合機初期化部
801 モニタ
802 プログラム起動部
1000 ネットワークサーバ
1201 アプリ開発キット
1301 ネットワークサーバ兼開発用サーバ
1302 ネットワークサーバ兼開発用サーバ兼開発用PC
Claims (7)
- 画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、
前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムと前記コントロールサービスの実行形式プログラムが記録された起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動するプログラム起動ステップを有することを特徴とする画像形成装置用アプリケーション起動方法。 - 画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、
前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムが記録された起動用記録媒体から、該新規アプリケーションの実行形式プログラムを読み出して前記画像形成装置上で起動し、前記コントロールサービスの実行形式プログラムが記録された前記画像形成装置内の記憶装置から、前記コントロールサービスの実行形式プログラムを読み出して前記画像形成装置上で起動するプログラム起動ステップを有することを特徴とする画像形成装置用アプリケーション起動方法。 - 前記起動用記録媒体には、さらに前記アプリケーションの実行形式プログラムが記録されており、
前記プログラム起動ステップでは、前記起動用記録媒体から、前記コントロールサービスの実行形式プログラムと前記新規アプリケーションの実行形式プログラムと前記アプリケーションの実行形式プログラムとを読み出して前記画像形成装置上で起動することを特徴とする請求項1に記載の画像形成装置用アプリケーション起動方法。 - 画像形成処理で使用されるハードウェア資源を有し、画像形成に関する処理を行うアプリケーションと、該アプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを搭載可能とした画像形成装置に搭載され、前記コントロールサービスとプロセス間通信を行う新規アプリケーションを起動する画像形成装置用アプリケーション起動方法であって、
前記画像形成装置の起動時に、前記新規アプリケーションの実行形式プログラムが格納されたネットワーク上のファイルシステムを、前記画像形成装置のファイルシステムにネットワーク経由でマウントする接続ステップと、
前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記新規アプリケーションを起動するアプリ起動ステップと、
を含んだことを特徴とする画像形成装置用アプリケーション起動方法。 - 前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記コントロールサービスを起動するサービス層起動ステップをさらに有する請求項4に記載の画像形成装置用アプリケーション起動方法。
- 前記画像形成装置内の記憶装置から前記コントロールサービスを起動するサービス層起動ステップをさらに有する請求項4に記載の画像形成装置用アプリケーション起動方法。
- 前記ネットワーク上のファイルシステムには、さらに前記アプリケーションの実行形式プログラムが記録されており、
前記アプリ起動ステップは、前記接続ステップによってマウントされたネットワーク上のファイルシステムから前記アプリケーションおよび前記新規アプリケーションを起動することを特徴とする請求項4に記載の画像形成装置用アプリケーション起動方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006281742A JP2007073066A (ja) | 2001-12-27 | 2006-10-16 | 画像形成装置用アプリケーション起動方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001398280 | 2001-12-27 | ||
JP2006281742A JP2007073066A (ja) | 2001-12-27 | 2006-10-16 | 画像形成装置用アプリケーション起動方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002367045A Division JP2003263321A (ja) | 2001-12-27 | 2002-12-18 | 画像形成装置用アプリケーション生成方法、画像形成装置用アプリケーション起動方法、画像形成装置用アプリケーション生成プログラム、画像形成装置および画像形成装置用アプリ開発記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007073066A true JP2007073066A (ja) | 2007-03-22 |
Family
ID=37934406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006281742A Pending JP2007073066A (ja) | 2001-12-27 | 2006-10-16 | 画像形成装置用アプリケーション起動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007073066A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10228371A (ja) * | 1997-02-14 | 1998-08-25 | Matsushita Electric Works Ltd | 画像処理検査装置のプログラム開発システム |
JP2001306204A (ja) * | 2000-04-26 | 2001-11-02 | Fuji Xerox Co Ltd | ユーザー設定共用システム及び画像処理装置 |
-
2006
- 2006-10-16 JP JP2006281742A patent/JP2007073066A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10228371A (ja) * | 1997-02-14 | 1998-08-25 | Matsushita Electric Works Ltd | 画像処理検査装置のプログラム開発システム |
JP2001306204A (ja) * | 2000-04-26 | 2001-11-02 | Fuji Xerox Co Ltd | ユーザー設定共用システム及び画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1387566B1 (en) | Image forming apparatus | |
EP1398948B1 (en) | Image forming apparatus, methods used therein and a computer readable storage medium | |
JP2004112785A (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
JP2004185595A (ja) | 情報処理装置およびそのプログラム | |
JP2004118237A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
US20030133136A1 (en) | Method for generating and launching application for information processing apparatus and image forming apparatus | |
US20030140174A1 (en) | Method for generating application for information processing apparatus and image forming apparatus | |
JP4512565B2 (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP2004185593A (ja) | 画像形成装置およびアプリケーション実行方法 | |
JP4128506B2 (ja) | 画像形成装置およびアプリケーション情報取得方法 | |
JP2004185594A (ja) | 画像形成装置およびプログラム実行方法 | |
JP3920893B2 (ja) | 情報処理装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム | |
JP2002215420A (ja) | 画像形成装置、プロセス監視方法、デバッグ方法およびこれらの方法をコンピュータに実行させるプログラム | |
JP4676977B2 (ja) | 画像形成装置、アプリケーション情報取得方法、及びプログラム | |
JP4334214B2 (ja) | 画像形成装置、アプリケーションプログラム及び記録媒体 | |
JP4133085B2 (ja) | 画像形成装置およびカスタマイズプログラム試験方法 | |
JP2003263321A (ja) | 画像形成装置用アプリケーション生成方法、画像形成装置用アプリケーション起動方法、画像形成装置用アプリケーション生成プログラム、画像形成装置および画像形成装置用アプリ開発記録媒体 | |
JP2004127253A (ja) | 情報処理装置およびバージョンチェック方法 | |
JP2006271005A (ja) | 画像形成装置およびアプリケーションインストール方法 | |
JP4334213B2 (ja) | 情報処理装置、アプリケーションプログラム及び記録媒体 | |
JP2007073066A (ja) | 画像形成装置用アプリケーション起動方法 | |
JP2002342119A (ja) | 画像形成装置用プログラム生成方法、画像形成装置用カバレージ測定方法、これらの方法をコンピュータに実行させるプログラム、カバレージ測定装置、カバレージ測定プログラムおよび情報記録媒体 | |
JP2003256238A (ja) | アプリケーション生成方法、アプリケーション起動方法、アプリケーション生成プログラム、情報処理装置およびアプリ開発記録媒体 | |
JP4080739B2 (ja) | 画像形成装置用アプリケーション生成方法およびその方法をコンピュータに実行させるプログラム | |
JP4677054B2 (ja) | 画像形成装置、プログラム、記録媒体、及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100921 |