JP4090806B2 - Image information processing apparatus and application installation method - Google Patents

Image information processing apparatus and application installation method Download PDF

Info

Publication number
JP4090806B2
JP4090806B2 JP2002214463A JP2002214463A JP4090806B2 JP 4090806 B2 JP4090806 B2 JP 4090806B2 JP 2002214463 A JP2002214463 A JP 2002214463A JP 2002214463 A JP2002214463 A JP 2002214463A JP 4090806 B2 JP4090806 B2 JP 4090806B2
Authority
JP
Japan
Prior art keywords
application
external
list
network
web
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.)
Expired - Lifetime
Application number
JP2002214463A
Other languages
Japanese (ja)
Other versions
JP2004054791A (en
Inventor
勉 大石
光男 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002214463A priority Critical patent/JP4090806B2/en
Publication of JP2004054791A publication Critical patent/JP2004054791A/en
Application granted granted Critical
Publication of JP4090806B2 publication Critical patent/JP4090806B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像情報処理にかかるユーザサービスを提供するとともに、インターネットに接続されたクライアント端末からWEBを介してアプリケーションのインストールやプログラムのカスタマイズを行うことができる画像情報処理装置およびアプリケーションインストール方法に関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このような従来の複合機では、複合機の出荷後にサードベンダなどの第三者が新たなアプリケーションプログラムを開発して搭載したり、複合機で動作するアプリケーションプログラムをカスタマイズすることは想定されていない。
【0004】
また、従来の複合機は、ネットワークに接続することは可能ではあるが、プリンタサーバなどの管理サーバを利用してネットワーク機能を利用しており、複合機それ自体がPC(Personal Computer)などのように直接ネットワークの諸機能を実現可能とするものではない。
【0005】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0006】
このような新規な複合機では、アプリケーションと、ハードウェア資源にアクセスするような開発が難しい処理を行うコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが画像形成処理などにかかるアプリケーションとして新規な外部アプリケーションを開発して複合機に搭載可能な構成となっている。
【0007】
このため、新規な複合機では、新たな機能を備えた外部アプリケーションを開発し、その外部アプリケーションを複合機に搭載したり、出荷当初から搭載されている既存の機能をカスタマイズする必要性が生じてくる。
【0008】
ここで、複合機には、利用者に対する各種画面の表示や、複合機のシステムに対する操作入力のインタフェースとして、オペレーションパネルの操作表示部が用意されている。しかしながら、このオペレーションパネルの操作表示部は、PCなどのコンピュータのディスプレイ画面などの表示装置と異なり、画面サイズが非常に狭いものとなっている。また、操作表示部に各種ボタンを描画したり、ソフトウェアキーボードを表示することによって、利用者による操作表示部からの入力操作が可能となっているが、コンピュータにおけるキーボード、マウスなどの入力装置に比べれば、自由な入力操作には限界がある。
【0009】
このように、新規な複合機には、外部アプリケーションのインストールや既存プログラムのカスタマイズを容易な操作で行う必要性が生じるという従来の複合機では問題とならなかった新規な課題が生じてくる。
【0010】
この発明は上記に鑑みてなされたもので、外部アプリケーションのインストールやプログラムのカスタマイズを容易な操作で行える画像情報処理装置およびアプリケーションインストール方法を得ることを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかる外部アプリケーションを複数搭載可能とした画像情報処理装置であって、ネットワークに接続して各種データの送受信を制御する通信手段と、前記ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得して、前記複数の外部アプリケーションの識別情報を、前記通信手段を介して前記クライアント端末に表示されるWEBページに選択可能に表示し、前記クライアント端末から前記WEBページを介して選択された外部アプリケーションの識別情報に対応する前記ネットワーク上の保存領域から前記選択された外部アプリケーションを前記通信手段を介して受信し、受信した外部アプリケーションをインストールするWEBサービス提供手段を備え、前記外部アプリケーションは、前記ハードウェア資源の制御のためのインタフェースであるアプリケーションプログラミングインタフェースに対して処理要求を行うことを特徴とする。
【0012】
この請求項1にかかる発明によれば、WEBサービス提供手段によって、ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得して、数の外部アプリケーションの識別情報を、通信手段を介してライアント端末に表示されるWEBページに選択可能に表示し、クライアント端末からWEBページを介して選択された外部アプリケーションの識別情報に対応するネットワーク上の保存領域から選択された外部アプリケーションを通信手段を介して受信し、受信した外部アプリケーションをインストールすることで、クライアント端末に表示されたWEBページからの容易な操作で外部アプリケーションを画像情報処理装置にインストールすることができ、外部アプリケーションを利用した多種多様な機能を容易な操作で画像情報処理装置に実現させることができる。また、この請求項1にかかる発明によれば、開発した外部アプリケーションを記憶媒体に格納してからインストールするなどの煩雑な作業を行う必要がなく、クライアント端末からの容易な操作でインターネット上の任意の領域にある外部アプリケーションを画像情報処理装置にインストールすることができる。また、この請求項1にかかる発明によれば、必要な機能を実現する外部アプリケーションのみをクライアント端末を利用して容易にインストールすることができる。また、この請求項1にかかる発明によれば、外部アプリケーションの選択を操作入力が容易なWEBページから行うことができ、必要な機能を有する外部アプリケーションをより容易にインストールすることができる。
【0015】
また、請求項にかかる発明は、請求項に記載の画像情報処理装置において、前記外部アプリケーションをインストール可能な形式で記憶したインストール記憶媒体から前記外部アプリケーションを読み出す記憶媒体インタフェース手段をさらに備え、前記WEBサービス提供手段は、さらに前記インストール記憶媒体から前記外部アプリケーションをインストールすることを特徴とする。
【0016】
この請求項にかかる発明によれば、WEBサービス提供手段によって、インストール記憶媒体から記憶媒体インタフェース手段を利用して外部アプリケーションをインストールすることで、インストール記憶媒体を画像情報処理装置に装着していれば、画像情報処理装置から離れたクライアント端末からの容易な操作によってインストール記憶媒体の外部アプリケーションをインストールすることができる。
【0021】
また、請求項3にかかる発明は、請求項1または2に記載の画像情報処理装置において、前記WEBサービス提供手段は、前記通信手段を介して、前記アプリケーションリストの取得先を前記WEBページに表示し、前記クライアント端末によって指定された取得先から前記アプリケーションリストを取得して前記WEBページに表示することを特徴とする。
【0022】
この請求項3にかかる発明によれば、WEBサービス提供手段によって、通信手段を介して、アプリケーションリストの取得先をWEBページに表示し、クライアント端末によって指定された取得先からアプリケーションリストを取得してWEBページに表示することで、インストールする外部アプリケーションに関するアプリケーション情報が任意の場所にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができる。
【0023】
また、請求項4にかかる発明は、請求項3に記載の画像情報処理装置において、前記WEBサービス提供手段は、前記アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を前記通信手段を介して前記WEBページに表示し、前記クライアント端末によって、前記取得先がネットワーク経由で取得する旨の指定がされた場合には、前記通信手段を介してネットワークに接続された所定の領域から前記アプリケーションリストを取得して前記WEBページに表示することを特徴とする。
【0024】
この請求項4にかかる発明によれば、WEBサービス提供手段によって、アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を通信手段を介してWEBページに表示し、クライアント端末によって、取得先がネットワーク経由で取得する旨の指定がされた場合には、通信手段を介してネットワークに接続された所定の領域から前記リケーションリストを取得してWEBページに表示することで、外部アプリケーションおよびアプリケーション情報がインターネット上にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができる。
【0037】
また、請求項にかかる発明は、請求項のいずれか一つに記載の画像情報処理装置において、前記WEBサービス提供手段は、前記アプリケーションとして搭載されたWEBアプリであることを特徴とする。
【0038】
この請求項にかかる発明によれば、WEBサービス提供手段がアプリケーションとして搭載されたWEBアプリであるので、WEBサーバとしての機能のみをWEBアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、WEBアプリの開発を効率的に行うことができる。
【0039】
また、請求項6にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかる外部アプリケーションを複数搭載可能とした画像情報処理装置で実行されるアプリケーションインストール方法であって、前記画像情報処理装置は、ネットワークに接続して各種データの送受信を制御する通信手段を備え、前記ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得するアプリケーションリスト取得ステップと、前記複数の外部アプリケーションの識別情報を、前記通信手段を介して前記クライアント端末に表示されるWEBページに選択可能に表示する表示ステップと、前記クライアント端末から前記WEBページを介して選択された外部アプリケーションの識別情報に対応する前記ネットワーク上の保存領域から前記選択された外部アプリケーションを前記通信手段を介して受信し、受信した外部アプリケーションをインストールするインストールステップと、を含み、前記外部アプリケーションは、前記ハードウェア資源の制御のためのインタフェースであるアプリケーションプログラミングインタフェースに対して処理要求を行うことを特徴とする。
【0040】
この請求項6にかかる発明によれば、ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得し、数の外部アプリケーションの識別情報を、通信手段を介してライアント端末に表示されるWEBページに選択可能に表示し、クライアント端末からWEBページを介して選択された外部アプリケーションの識別情報に対応するネットワーク上の保存領域から選択された外部アプリケーションを通信手段を介して受信し、受信した外部アプリケーションをインストールすることで、クライアント端末に表示されたWEBページからの容易な操作で外部アプリケーションを画像情報処理装置にインストールすることができ、外部アプリケーションを利用した多種多様な機能を容易な操作で画像情報処理装置に実現させることができる。また、この請求項1にかかる発明によれば、開発した外部アプリケーションを記憶媒体に格納してからインストールするなどの煩雑な作業を行う必要がなく、クライアント端末からの容易な操作でインターネット上の任意の領域にある外部アプリケーションを画像情報処理装置にインストールすることができる。また、この請求項6にかかる発明によれば、必要な機能を実現する外部アプリケーションのみをクライアント端末を利用して容易にインストールすることができる。また、この請求項6にかかる発明によれば、外部アプリケーションの選択を操作入力が容易なWEBページから行うことができ、必要な機能を有する外部アプリケーションをより容易にインストールすることができる。
【0043】
また、請求項にかかる発明は、請求項に記載のアプリケーションインストール方法において、前記インストールステップは、さらに、前記外部アプリケーションをインストール可能な形式で記憶したインストール記憶媒体から前記外部アプリケーションを読み出してインストールすることを特徴とする。
【0044】
この請求項にかかる発明によれば、インストールステップによって、インストール記憶媒体から外部アプリケーションをインストールすることで、インストール記憶媒体を画像情報処理装置に装着していれば、画像情報処理装置から離れたクライアント端末からの容易な操作によってインストール記憶媒体の外部アプリケーションをインストールすることができる。
【0049】
また、請求項8にかかる発明は、請求項6または7に記載のアプリケーションインストール方法において、前記アプリケーションリスト取得ステップは、前記通信手段を介して、前記アプリケーションリストの取得先を前記WEBページに表示し、前記クライアント端末によって指定された取得先から前記アプリケーションリストを取得することを特徴とする。
【0050】
この請求項8にかかる発明によれば、アプリケーションリスト取得ステップによって、通信手段を介して、アプリケーションリストの取得先をWEBページに表示し、指定された取得先からアプリケーションリストを取得することで、インストールする外部アプリケーションに関するアプリケーションリストが任意の場所にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができる。
【0051】
また、請求項9にかかる発明は、請求項8に記載のアプリケーションインストール方法において、前記アプリケーションリスト取得ステップは、前記アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を前記通信手段を介して前記WEBページに表示し、前記クライアント端末によって、前記取得先がネットワーク経由で取得する旨の指定がされた場合には、前記通信手段を介してネットワークに接続された所定の領域から前記アプリケーション情報を取得することを特徴とする。
【0052】
この請求項9にかかる発明によれば、アプリケーションリスト取得ステップによって、アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を前記通信手段を介して前記WEBページに表示し、前記クライアント端末によって、前記取得先がネットワーク経由で取得する旨の指定がされた場合には、前記通信手段を介してネットワークに接続された所定の領域から前記アプリケーションリストを取得することで、外部アプリケーションおよびアプリケーションリストがインターネット上にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができる。
【0065】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像情報処理装置およびアプリケーションインストール方の好適な実施の形態を詳細に説明する。
【0066】
(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の主要部の構成とネットワーク構成を示すブロック図である。実施の形態1にかかる複合機100は、インターネットに接続され、当該インターネットに接続されたPC(Personal Computer)などのクライアント端末から複合機に外部アプリのインストールを行うことを可能としたものである。
【0067】
図1に示すように、本実施の形態では、複合機100と、PC(personal Computer)200と複数のftpサーバ250と、コンピュータ260がインターネット220に接続されている。これらの複合機100、PC200、複数のftpサーバ250、コンピュータ260それぞれの間の通信プロトコルはTCP/IPを利用している。
【0068】
複合機100は、WEBアプリ117と、VAS(Virtual Application Service:仮想アプリケーションサービス)118と、NCS(ネットワークコントロールサービス)128と、httpd(httpデーモン)106と、共有メモリ105とを主に備えた構成となっている。ここで、WEBアプリ117は、本発明におけるWEBサービス提供手段を構成する。
【0069】
WEBアプリ117は、インターネット220に接続されたクライアント端末としてのPC200に対してWEBサーバ(httpサーバ)として動作し、PC200上で動作するWEBブラウザに後述するインストール画面201を表示し、表示したインストール画面201からの操作入力や要求に応じたインストールに関する処理を行い、その結果をPC200に返すものである。
【0070】
ここで、インストール画面201は、本発明におけるWEBページを構成し、html形式(Hyper Text Markup Language)で記述されたファイル(install.htm)である。当該ファイルをPC200上のWEBブラウザによって表示することにより、インストール画面201がPC200で表示される。また、WEBアプリ117は、インストール画面201(install.htm)からの操作入力や要求に応じたインストールに関する処理を、CGI(Common Gateway Interface)、具体的にはinstall.cgiのスクリプトによって実行し、その処理結果をインストール画面201(install.htm)に反映して、PC200のWEBブラウザに返すようになっている。具体的には、WEBアプリ117は、インストールに関する処理の要求(ボタンのクリック操作等)があった場合には、install.cgiのスクリプトを実行する。なお、本実施の形態では、CGIスクリプトを実行することにより、WEBアプリ117による各処理を実行しているが、CGIスクリプトから呼び出される別のプログラムで実行するように構成しても良い。また、インストール画面を、XML形式(eXtensible Markup Language)で記述するように構成することも可能である。
【0071】
VAS118は、コントロールサービスとアプリケーションとの間に配置され、アプリケーションからのコントロールサービスに対するアクセス、またはコントロールサービスからのアプリケーションに対するアクセスを仲介するものである。また、VAS118は、NCS128から通知されたインターネット220経由のリクエストメッセージ受信の旨をWEBアプリ117に通知することも行う。
【0072】
NCS128は、ネットワークを制御するものであり、httpd106から通知されたリクエストメッセージ受信の旨をVAS118に通知することも行う。
【0073】
httpd106は、OSに含まれるプロセス(デーモン)であり、ポート80番を常時監視してリクエストメッセージの受信を行うとともに、レスポンスメッセージの送信を行うものである。なお、リクエストメッセージおよびレスポンスメッセージの構造は、通常のhttpプロトコルにおける各メッセージの構造と同様であり、各メッセージには、html形式で記述されたメッセージボディが含まれている。また、httpd106は、インターネット220経由で受信したリクエストメッセージ受信の旨をVAS118に通知するとともに、リクエストメッセージを共有メモリ105に格納する。
【0074】
この共有メモリ105は、httpd106とWEBアプリ117とのプロセス間通信に利用されるものであり、共有メモリ105を介してリクエストメッセージ、レスポンスメッセージなどの受け渡しを行う。
【0075】
複合機100には、ICカードインタフェース部230が設けられている。ICカードインタフェース部230は、ICカード240を挿入して、ICカード240とデータのやりとりを行うインタフェースである。ICカード240は、インストール記憶媒体として使用することができ、この場合には開発された外部アプリ242をインストール可能な形式で、例えば外部アプリ242を圧縮し、かつインストールの実行処理が記述されたインストールスクリプトファイル241とともにICカード240に格納する。また、ICカード240には、ICカード240内に保存されている外部アプリ242の一覧を示すアプリケーションリスト243が格納されている。
【0076】
PC200は、複合機100のWEBアプリ117をサーバとして、WEBアプリ117からのサービスの提供を受けるクライアント端末であり、PC200で実行されるWEBブラウザ上でインストール画面201やその他画面を表示し、操作入力を行うようになっている。
【0077】
ftpサーバ250は、外部アプリ242と上記インストールスクリプトファイル241を格納するインターネット上の保存領域である。このftpサーバ250は、任意の数を設けることができる。
【0078】
コンピュータ260には、アプリケーションリスト261が保存されている。アプリケーションリスト261は、外部アプリ242の保存場所の一覧を示すものである。なお、このアプリケーションリスト261は、複合機100のHDD103あるいはフラッシュメモリなどの記憶媒体に格納するように構成してもよい。
【0079】
次に、本実施の形態にかかる複合機100の全体の機能的構成について説明する。図2は、実施の形態1の複合機100の構成を示すブロック図である。図1に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、ハードディスク装置(HDD)103と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース104を有するとともに、プラットホーム120と、アプリケーション130とから構成されるソフトウェア群110とを備えている。
【0080】
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
【0081】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0082】
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0083】
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【0084】
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0085】
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0086】
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
【0087】
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0088】
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0089】
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【0090】
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)910の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
【0091】
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、上述のWEBアプリ117、VAS118とを有している。
【0092】
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0093】
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【0094】
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
【0095】
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。
【0096】
次に、このように構成された複合機100のWEBアプリ117を利用したPC200からの外部アプリ242のインストール方法について説明する。まず、利用者は、PC200でWEBブラウザを起動し、複合機100のURLを指定して複合機100のWEBアプリ117にアクセスする。WEBブラウザからのアクセスを受けたWEBアプリ117は、インストール画面201(install.htm)をPC200のWEBブラウザに表示させる。
【0097】
図3(a)は、インストール画面201の内容の一例を示す説明図である。図3(a)に示すように、インストール画面201には、アプリケーションリストの取得元を指定するWEBボタンおよびICカードボタンが表示されている。
【0098】
利用者がWEBボタンをマウスなどでクリック操作すると、WEBアプリ117によって、インターネット上のコンピュータ260からアプリケーションリスト261が取得され、インストール可能な外部アプリ242の一覧として、取得されたアプリケーションリストから外部アプリ名を抽出し、アクティブアプリケーションの欄に一覧表示されるようになっている。install.htmにおいて、このアクティブアプリケーションの欄に相当するすべての行の先頭には、「application_list:」の文字列が記述されている。
【0099】
利用者がICカードボタンをマウスなどでクリック操作すると、WEBアプリ117によって、ICカード240からアプリケーションリスト243が読み込まれ、インストール可能な外部アプリ242の一覧として、読み込まれたアプリケーションリスト243から外部アプリ名を抽出し、アクティブアプリケーションの欄に一覧表示されるようになっている。
【0100】
利用者は、WEBボタンまたはICカードボタンのいずれかをクリック操作すると、複合機100にアプリケーションリスト取得のリクエストメッセージがinstall.htmの内容とともに送信される。
【0101】
ここで、リクエストメッセージを受信した複合機100における処理について説明する。図4は、リクエストメッセージを受信した複合機100における処理の手順を示すフローチャートである。
【0102】
httpd106は、ポート80番を常時監視しており、PC200からリクエストメッセージをポート80番で受信する(ステップS401)。そして、httpd106は、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ105に書き込む(ステップS402)。次に、httpd106は、リクエストメッセージ受信の旨をNCS128に通知する(ステップS403)。
【0103】
通知を受けたNCS128は、さらにリクエストメッセージ受信の旨をVAS118に通知する(ステップS404)。通知を受けたVAS118は、さらにリクエストメッセージ受信の旨をWEBアプリ117に通知する(ステップS405)。WEBアプリ117は、リクエストメッセージ受信の旨の通知を受けたことをトリガとして、共有メモリ105を参照して、リクエストメッセージを読み出す(ステップS406)。そして、リクエストメッセージの内容を解析して(ステップS407)、リクエストメッセージのメッセージボディに記述された内容に応じた処理を実行する(ステップS408)。このとき、メッセージボディにCGIを実行する旨が記述されていれば、対応するCGIを実行する。
【0104】
そして、WEBアプリ117は、処理の実行結果をレスポンスメッセージとして、httpd106経由でリクエストメッセージの送信元であるPC200に返信する(ステップS409)。
【0105】
本実施の形態の複合機100におけるWEBアプリ117では、図3(a)のインストール画面201(install.htm)において、アプリケーションリストの取得元のいずれかのボタンをクリック操作したときに、WEBブラウザから複合機100にリクエストメッセージにメッセージボディとしてinstall.htmが含められて送信される。このinstall.htmには、上記ボタンをクリックしたときにinstall.cgiを呼び出す旨が記述されており、このためリクエストメッセージを受信して解析を行ったWEBアプリ117は、install.cgiを実行する。
【0106】
図5は、WEBアプリ117によるinstall.cgiの処理の手順を示すフローチャートである。WEBアプリ117は、まずアプリケーションリストの取得元として、「WEB」、「ICカード」のいずれのボタンがクリック操作されたかを判断する(ステップS501)。
【0107】
そして、WEBボタンが指定されている場合には、インターネット220に接続されたコンピュータ260のURLを指定して、当該コンピュータ260に格納されているアプリケーションリスト261をダウンロードする(ステップS502)。一方、ICカードボタンが指定されている場合には、ICカードインタフェース部230によってICカード240にアクセスし、ICカード240に格納されているアプリケーションリスト243を読み出す(ステップS503)。
【0108】
図6は、アプリケーションリスト261の一例を示す説明図である。アプリケーションリスト261は、図6に示すように、外部アプリ名と、ftpサイトアドレスと、サイト内パス(ディレクトリ)から構成される。なお、ICカード240に格納されているアプリケーションリスト243は、外部アプリ名と、パスのみが設定されており、ftpサイトアドレスは設定されていない。
【0109】
次に、アプリケーションリストを格納するためのインストールデータファイルがすでにHDD103などの記憶媒体に存在するか否かを調べ(ステップS504)、存在しない場合には、空のインストールデータファイルをHDD103などに作成する(ステップS505)。そして、インストールデータファイルに取得したアプリケーションリスト243または261の内容を追加する(ステップS506)。
【0110】
次に、WEBアプリ117は、受信したリクエストメッセージの中のinstall.htmを先頭から一行づつ読み込む(ステップS507)。そして、読み込んだ行が「application_list:」の文字列を含むか否かを調べることにより、アクティブアプリケーションの欄か否かを判断する(ステップS508)。
【0111】
そして、アクティブアプリケーションの欄であると判断した場合には、インストールデータファイルからアプリケーションリストの中の外部アプリ名を取得し(ステップS509)、取得した外部アプリ名の前方にチェックボックスを付したものを一行とし(ステップS510)、この一行をPC200に送信する(ステップS511)。
【0112】
一方、ステップS508において、アクティブアプリケーションの欄でないと判断した場合には、ステップS507で読み込んだ一行をそのままPC200に送信する(ステップS511)。
【0113】
そして、ステップS507からS511までの処理を、install.htmのすべての行について繰り返し行う(ステップS512)。これにより、PC200のWEBブラウザには、install.cgiによる処理結果のinstall.htmが順次表示されることになる。
【0114】
図3(b)は、WEBアプリ117による処理結果のインストール画面201の一例を示す説明図である。図3(b)に示すように、外部アプリの一覧がアクティブアプリケーションリストの欄に表示されている。
【0115】
図3(b)に示すように、インストール画面201にインストール可能な外部アプリのリストが表示されている状態で、インストールを希望する外部アプリのチェックボックスにチェックをいれ、インストールボタンをクリック操作すると、チェックボックスで指定された外部アプリのインストールがWEBアプリ117によって行われる。
【0116】
図7は、図3(b)のインストール画面201でインストールボタンがクリックされた場合のPC200の処理の手順を示すフローチャートである。WEBブラウザに表示されているインストール画面201のinstall.htm中に記述されたJava(登録商標)スクリプトが実行されることによって、かかるPC200側での処理が実行される。
【0117】
まず、チェックボックスにチェックマークが付されている外部アプリ名を取得する(ステップS701)。そして、取得した外部アプリ名と、インストールのリクエストメッセージをWEBアプリ117に送信する(ステップS702)。これによって、複合機100では、WEBアプリ117がリクエストメッセージを受信して解析した後、インストールが行われる。
【0118】
図8は、WEBアプリ117によるインストール処理の手順を示すフローチャートである。WEBアプリ117は、リクエストメッセージを受信すると、まずインストールデータを参照し、PC200から通知された外部アプリ名の保存先を取得する(ステップS801)。ここで、保存先は、インターネット上のftpサイトアドレス、サイト内パス、あるいはICカード内のパス(ディレクトリ)である。
【0119】
そして、WEBアプリ117は、取得した保存先にアクセスし、その保存先に格納されている外部アプリ242とインストールスクリプトを取得する(ステップS802)。ここで、外部アプリ242がftpサーバ250にある場合には、ftpプロトコルによって外部アプリ242を複合機100のHDD103などの記憶媒体にダウンロードする。一方、外部アプリがICカード240にある場合には、ICカード240から外部アプリ242を読み出す。
【0120】
次に、WEBアプリ117は、取得したインストールスクリプトを実行し、取得した外部アプリ242をインストールする(ステップS803)。インストールスクリプトとは、インストールの手順を記述したスクリプトファイルであり、かかるスクリプトを実行することによって、実際のインストール処理が行われる。
【0121】
このようなステップS801からS803までの処理を、PC200から通知されたすべての外部アプリについて繰り返し行う(ステップS804)。これによって、PC200のWEBブラウザに表示されたインストール画面201で指定されたすべての外部アプリ242のインストールが完了する。
【0122】
次に、本実施の形態の複合機100のハードウェア構成について説明する。図9は、図1に示した実施の形態1の複合機100のハードウェア構成図である。図9に示すように、この複合機100は、CPU902、SDRAM903、SRAM908、フラッシュメモリ(フラッシュROM)210、ICカードインタフェース部230およびHDD103などをASIC901に接続したコントローラボード900と、オペレーションパネル910と、ファックスコントロールユニット(FCU)920と、USB930と、IEEE1394 940と、プリンタ950とから構成されている。オペレーションパネル910はASIC901に直接接続され、FCU920、USB930、IEEE1394 940およびプリンタ950はPCIバスを介してASIC901に接続されている。
【0123】
ICカードインタフェース部230は、ICカード240を挿入して、ICカード240とデータのやりとりを行うインタフェースである。ICカード240は、インストール記憶媒体として使用することもでき、この場合には開発された外部アプリ242をICカード240に格納する。
【0124】
このように実施の形態1にかかる複合機100では、WEBアプリ117によって、インターネット220に接続されたクライアント端末であるPC200のWEブラウザからの要求に応じて外部アプリ242をインストールしているので、PC200からの容易な操作で外部アプリ242を複合機100にインストールすることができ、外部アプリ242を利用した多種多様な機能を容易な操作で複合機100に実現させることができる。
【0125】
(実施の形態2)
実施の形態1にかかる複合機100は、WEBアプリ117によって外部アプリ242のインストールをPC200から行うものであったが、この実施の形態2にかかる複合機は、WEBアプリによって複合機で動作するプログラムのカスタマイズをインターネットに接続されたPCから行うものである。
【0126】
図10は、実施の形態2にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。図10に示すように、本実施の形態では、複合機1000と、PC(personal Computer)200とがインターネット220に接続されている。複合機1000およびPC200の間の通信プロトコルはTCP/IPを利用している。
【0127】
複合機1000は、図10に示すように、WEBアプリ1117と、VAS118と、NCS128と、httpd106と、複合機初期化部129と、プログラム起動部131と、汎用OS121内のインタプリタ(シェル)134と、共有メモリ105と、HDD103とを主に備えた構成となっている。ここで、WEBアプリ1117は、本発明におけるWEBサービス提供手段を構成し、シェル134は、本発明におけるプログラム実行手段を構成する。
【0128】
WEBアプリ1117は、インターネット220に接続されたクライアント端末としてのPC200に対してWEBサーバ(httpサーバ)として動作し、PC200上で動作するWEBブラウザに後述するプログラミング画面1001を表示し、このプログラミング画面1001からオペレーションパネル910の操作表示部のカスタマイズプログラムを入力させるものである。また、WEBアプリ1117は、PC200から入力されたカスタマイズプログラムをHDD103のカスタマイズ領域として作成されたカスタマイズディレクトリに保存する。さらに、WEBアプリ1117は、複合機1000上でカスタマイズプログラムが実行されるように、後述する起動設定ファイルにカスタマイズプログラムを登録する。
【0129】
ここで、プログラミング画面1001は、本発明におけるWEBページを構成し、html形式(Hyper Text Markup Language)で記述されたファイル(debug.htm)である。当該ファイルをPC200上でWEBブラウザによって表示することにより、プログラミング画面1001がPC200で表示される。また、WEBアプリ1117は、プログラミング画面(debug.htm)からの操作入力や要求に応じたカスタマイズプログラムの入力に関する処理等を、CGI(Common Gateway Interface)のスクリプトを実行し、その処理結果をプログラミング画面(debug.htm)に反映して、PC200のWEBブラウザに返すようになっている。具体的には、WEBアプリ1117は、カスタマイズプログラムの入力処理等の要求(ボタンのクリック操作等)があった場合には、debug.cgiのスクリプトを実行する。なお、本実施の形態では、CGIスクリプトを実行することにより、WEBアプリ1117による各処理を実行しているが、CGIスクリプトから呼び出される別のプログラムで実行するように構成しても良い。なお、プログラミング画面を、XML形式(eXtensible MarkupLanguage)で記述するように構成することも可能である。
【0130】
また、プログラミング画面1001から入力するカスタマイズプログラムは、インタプリタで解釈可能な言語で記述され、具体的には、汎用OS121がUNIX(登録商標)の場合、シェルスクリプトなどである。
【0131】
インタプリタ134は、カスタマイズプログラムをステップごとに解析し逐次実行するものであり、本実施の形態では、シェルスクリプトを実行するシェル(bsh,cshなど)である。このシェル134は、汎用OS121としてのUNIX(登録商標)にOSのカーネル135とは別個に存在するものである。
【0132】
プログラム起動部131は、HDD103の診断結果が正常である場合に、HDD103にインストールされている外部アプリ242を起動するものである。また、プログラム起動部131は、ICカード240などの記憶媒体に保存された外部アプリ242を起動する。
【0133】
複合機初期化部129は、汎用OS121の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション130(外部アプリを除く)の起動およびプログラム起動部131の起動を行うものである。
【0134】
HDD103には、起動設定ファイル211とが格納され、またHDD103のカスタマイズディレクトリ212にカスタマイズプログラムが格納されるようになっている。
【0135】
なお、VAS118、NCS128、httpd106および共有メモリ105の機能は、実施の形態1の複合機100と同様である。
【0136】
PC200は、複合機1000のWEBアプリ1117をサーバとして、WEBアプリ1117からのサービスの提供を受けるクライアント端末であり、PC200で実行されるWEBブラウザ上でプログラミング画面1001やその他画面を表示し、操作入力を行うようになっている。
【0137】
次に、本実施の形態にかかる複合機1000の全体の機能的構成について説明する。図11は、実施の形態2の複合機1000の構成を示すブロック図である。本実施の形態の複合機1000が実施の形態1の複合機100と異なる点は、複合機初期化部129と、プログラム起動部131と、インタプリタ(シェル)134を備えている点であり、その他の構成は実施の形態1の複合機100と同様である。
【0138】
次に、このように構成された複合機1000のWEBアプリ1117を利用したPC200からのオペレーションパネル910の操作表示部のカスタマイズ方法について説明する。まず、利用者は、PC200でWEBブラウザを起動し、複合機1000のURLを指定して複合機1000のWEBアプリ1117にアクセスする。WEBブラウザからのアクセスを受けたWEBアプリ1117は、プログラミング画面1001(debug.htm)をPC200のWEBブラウザに表示させる。
【0139】
図12は、プログラミング画面1001の内容の一例を示す説明図である。図12に示すように、プログラミング画面1001には、プログラム入力フィールドと、参照ボタンと、アップロードボタンと、保存ボタンと、消去ボタンと、テスト実行ボタンと、実行設定ボタンが表示される。
【0140】
参照ボタンは、ブラウザが動作しているPC200の記憶領域に格納されたカスタマイズプログラムを参照するためのボタンであり、この参照ボタンを押下すると、PC200上のディレクトリが表示され、所望のディレクトリに存在するカスタマイズプログラムを指定すると、ファイル名フィールドに指定されたカスタマイズプログラムのファイル名が表示される。なお、参照ボタンを押下したときに、複合機1000のHDD103などの記憶媒体のディレクトリを参照するように構成しても良い。
【0141】
アップロードボタンは、参照ボタンで指定したカスタマイズプログラムあるいは入力フィールドに入力したカスタマイズプログラムを、複合機1000に転送(アップロード)するためにクリック操作するものである。
【0142】
プログラム入力フィールドは、カスタマイズプログラムを入力する領域である。このプログラム入力フィールドには、PC200のキーボードなどの入力装置からカスタマイズプログラムを直接入力する他、上述のように参照ボタンをクリック操作することによってPC200の所望のディレクトリに存在する既存のプログラムファイルを指定することによってカスタマイズプログラムを入力する。debug.htmにおいて、このプログラム入力フィールドに相当するすべての行の先頭には、「program_list:」の文字列が記述されている。
【0143】
保存ボタンは、入力したカスタマイズプログラムを複合機1000にアップロードした後に、カスタマイズディレクトリに格納する場合にクリック操作するものである。消去ボタンは、入力フィールドに入力されたカスタマイズプログラムを消去する際にクリック操作するものである。
【0144】
実行設定ボタンは、カスタマイズディレクトリに保存されたカスタマイズプログラムを複合機1000で実行できるように、カスタマイズプログラムとカスタマイズプログラムを実行させるボタンを対応づける際にクリック操作するものである。この実行設定ボタンが押下されると、WEBアプリ1117は、カスタマイズプログラム中で指定されたボタン(キー)を、カスタマイズディレクトリに存在する画面ファイル中のボタン(キー)からキーコードに基づいて検索し、カスタマイズプログラムとボタン(キー)との対応付けを行い、カスタマイズプログラムの名称とボタン(キー)のキーコードのキー対応付けテーブルを生成してHDD103またはフラッシュメモリなどに当該テーブルを格納する。
【0145】
テスト実行ボタンは、入力されたカスタマイズプログラムを試験的に実行する際にクリック操作するものである。
【0146】
図13は、入力するカスタマイズプログラムの内容の一例を示す説明図である。図13に示すように、本実施の形態では、UNIX(登録商標)のシェルスクリプトを入力するようになっている。入力されたシェルスクリプトは、汎用OS121(UNIX(登録商標))のコマンド・インタプリタであるシェルによってステップごとに逐次実行され、このため、入力したカスタマイズプログラムのコンパイルおよびリンクは不要となっている。
【0147】
また、シェルスクリプトには、開発ライブラリで提供される複合機専用コマンドを指定できるようになっている。図13のスクリプトは、原稿をスキャナで読み込み(scanimage)、読み込み時にTIF形式に圧縮された画像データを伸長し(decomp)、伸長した画像データに対し文字認識処理を行う(ocr)。そして、文字認識処理による認識結果をテキストデータとしてメール送信(mail)する例を示している。このスクリプトの中では、scanimage,decomp,ocrの各コマンドが開発ライブラリで提供されるコマンドである。
【0148】
PC200のWEBブラウザに表示されているプログラミング画面1001(debug.htm)において、参照ボタンをクリックしてPC200に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、WEBブラウザから複合機100のWEBアプリ1117に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはdebug.htmが含められており、このdebug.htmには、アップロードボタンをクリック操作したときにdebug.cgiを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったWEBアプリ1117は、debug.cgiを実行する。
【0149】
図14は、WEBアプリ1117によるdebug.cgiの処理の手順を示すフローチャートである。WEBアプリ1117は、指定されたカスタマイズプログラムのプログラムファイルを複合機1000にアップロードする。あるいは受信したリクエストメッセージの中のdebug.htmのプログラム入力フィールドに直接入力されたカスタマイズプログラムをプログラムファイルにした後、このプログラムファイルを複合機1000にアップロードする(ステップS1401)。
【0150】
次に、WEBアプリ1117は、debug.htmを先頭から一行づつ読み込む(ステップS1402)。そして、読み込んだ行が「program_list:」の文字列を含むか否かを調べることにより、プログラム入力フィールドか否かを判断する(ステップS1403)。
【0151】
そして、プログラム入力フィールドであると判断した場合には、アップロードされたプログラムファイルを読み込んで(ステップS1404)、プログラムファイルの内容、すなわちカスタマイズプログラムをPC200に送信する(ステップS1405)。
【0152】
一方、ステップS1403において、プログラム入力フィールドでないと判断した場合には、ステップS1402で読み込んだ一行をそのままPC200に送信する(ステップS1406)。
【0153】
そして、ステップS1402からS1406までの処理を、debug.htmのすべての行について繰り返し行う(ステップS1407)。これにより、PC200のWEBブラウザには、debug.cgiによる処理結果のdebug.htmが順次表示されることになる。
【0154】
このようにプログラミング画面1001から入力されたカスタマイズプログラムが複合機1000にアップロードされ、プログラム入力フィールドにアップロード後のカスタマイズプログラムが表示された後、保存ボタン、実行設定ボタン、テスト実行ボタンのクリック操作が可能となる。これらのいずれかのボタンをクリック操作した場合におけるWEBアプリ1117の処理について説明する。
【0155】
図15は、プログラミング画面1001において、保存ボタン、実行設定ボタン、テスト実行ボタンのいずれかのクリック操作が行われた場合のWEBアプリ1117の処理の手順を示すフローチャートである。
【0156】
まず、WEBアプリ1117は、クリック操作されたボタンの種類を判断する(ステップS1501)。
【0157】
プログラミング画面1001で保存ボタンがクリックされた場合には、WEBアプリ1117は、ファイル名称を利用者に指定させ、カスタマイズプログラムを指定された名称で複合機1000のHDD103のカスタマイズディレクトリに格納する(ステップS1502)。
【0158】
図16は、カスタマイズディレクトリに格納されたカスタマイズプログラムの名称の一例を示す説明図である。図16に示すように、複合機1000のHDD103のカスタマイズディレクトリは、hdd/xxx/opepaneとなっており、このカスタマイズディレクトリにカスタマイズプログラムであるshell1,shell2,shell3が格納されている。
【0159】
一方、プログラミング画面1001で実行設定ボタンがクリックされた場合には、WEBアプリ1117は、カスタマイズプログラムとボタンとの対応付けを行う(ステップS1503)。図17は、キー対応付けテーブルの内容の一例を示す説明図である。図17に示すように、キー対応付けテーブルには、ボタンのキーコードとカスタマイズプログラム名称が対応付けられる。
【0160】
また、プログラミング画面1001でテスト実行ボタンが押下された場合には、WEBアプリ1117は、入力されたカスタマイズプログラムのテスト実行を行い、オペレーションパネル910に表示される画面と同一の画面をPC200で動作しているWEBブラウザに表示する(ステップS1504)。
【0161】
次に、このようにして生成されたカスタマイズプログラムの実行処理について説明する。図18は、複合機1000の電源投入が行われてから、カスタマイズプログラムの実行が可能となるまでの一連の処理の手順を示すフローチャートである。
【0162】
カスタマイズプログラムのカスタマイズディレクトリへの保存および起動設定ファイル211への設定が完了したら、利用者は複合機1000の電源を再投入する。このとき複合機1000では、ROMモニタ(図示せず)によってハードウェアの診断処理を行い(ステップS1801)、その後汎用OS121を起動し(ステップS1802)、さらに複合機初期化部129を起動する(ステップS1803)。複合機初期化部129は、まずコントロールサービスの起動を行い(ステップS1804)、続いてコピーアプリ112、プリンタアプリ111などの複合機1000の出荷時に提供されている既存アプリを起動し(ステップS1805)、さらに出荷後新たに開発された外部アプリなどのプログラムを起動するためにプログラム起動部131を起動する(ステップS1806)。
【0163】
プログラム起動部131は、まずHDD103の起動設定ファイル211を参照し(ステップS1807)、起動すべきプログラムの名称を取得する。
【0164】
図19は、起動設定ファイル211の一例を示す説明図である。図19に示すように、起動設定ファイル211には、「プログラム名称 カスタマイズプログラム名」の形式で、プログラム起動部131によって起動されるプログラムが登録されている。図19の例では、シェルスクリプトであるシェルのプログラムが最初に登録され、その後に、外部アプリとしてXXXアプリが登録されている。
【0165】
このため、プログラム起動部131は、まずシェルを起動し(ステップS1808)、次いで、外部アプリであるXXXアプリを順に起動する(ステップS1809)。
【0166】
従って、オペレーションパネル910の操作表示部に表示されたボタン(キー)の中で、カスタマイズプログラムが割り付けられたボタン(キー)をクリックすると、シェルスクリプトで記述されたカスタマイズプログラムがシェルによって実行されることになる。
【0167】
このように実施の形態2にかかる複合機1000では、WEBアプリ1117によって、オペレーションパネル910の操作表示部のカスタマイズプログラムを、インターネット220に接続されたPC200からWEBページであるプログラミング画面を介して入力させているので、PC200に表示されるプログラミング画面からの容易な操作で操作表示部のカスタマイズプログラムを作成することができ、カスタマイズを利用した多種多様な機能を容易な操作で複合機1000に実現させることができる。
【0168】
なお、実施の形態2にかかる複合機1000では、WEBアプリ1117によって、オペレーションパネル910の操作表示部のプログラムのカスタマイズを行っているが、複合機1000に搭載されている機能を実現するプログラムであれば、いずれのプログラムのカスタマイズに本発明を適用することも可能である。
【0169】
また、実施の形態2にかかる複合機1000では、カスタマイズプログラムとしてシェルスクリプトを利用しているが、この他、Visual Basic(登録商標)やJava(登録商標)言語を使用してもよい。この場合には、インタプリタは、汎用OS121に含まれず、汎用OS121の配下で動作するように構成する必要がある。
【0170】
また、実施の形態1および2にかかる複合機100,1000では、本発明のWEBサービス提供手段を構成するWEBアプリ117,1117をアプリケーション層に設けているが、同様の機能を有するプロセスをコントロールサービス層に設ける構成とすることも可能である。
【0171】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、クライアント端末に表示されたWEBページからの容易な操作で外部アプリケーションを画像情報処理装置にインストールすることができ、外部アプリケーションを利用した多種多様な機能を容易な操作で画像情報処理装置に実現させることができるという効果を奏する。
【0172】
また、請求項にかかる発明によれば、開発した外部アプリケーションを記憶媒体に格納してからインストールするなどの煩雑な作業を行う必要がなく、クライアント端末からの容易な操作でインターネット上の任意の領域にある外部アプリケーションを画像情報処理装置にインストールすることができるという効果を奏する。また、請求項1にかかる発明によれば、必要な機能を実現する外部アプリケーションのみをクライアント端末を利用して容易にインストールすることができるという効果を奏する。また、請求項1にかかる発明によれば、外部アプリケーションの選択を操作入力が容易なWEBページから行うことができ、必要な機能を有する外部アプリケーションをより容易にインストールすることができるという効果を奏する。
【0173】
また、請求項にかかる発明によれば、インストール記憶媒体を画像情報処理装置に装着していれば、画像情報処理装置から離れたクライアント端末からの容易な操作によってインストール記憶媒体の外部アプリケーションをインストールすることができるという効果を奏する。
【0176】
また、請求項3にかかる発明によれば、インストールする外部アプリケーションに関するアプリケーションリストが任意の場所にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができるという効果を奏する。
【0177】
また、請求項にかかる発明によれば、外部アプリケーションおよびアプリケーション情報がインターネット上にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができるという効果を奏する。
【0184】
また、請求項にかかる発明によれば、WEBサーバとしての機能のみをWEBアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、WEBアプリの開発を効率的に行うことができるという効果を奏する。
【0185】
また、請求項にかかる発明によれば、クライアント端末に表示されたWEBページからの容易な操作で外部アプリケーションを画像情報処理装置にインストールすることができ、外部アプリケーションを利用した多種多様な機能を容易な操作で画像情報処理装置に実現させることができるという効果を奏する。
【0186】
また、請求項6にかかる発明によれば、開発した外部アプリケーションを記憶媒体に格納してからインストールするなどの煩雑な作業を行う必要がなく、クライアント端末からの容易な操作でインターネット上の任意の領域にある外部アプリケーションを画像情報処理装置にインストールすることができるという効果を奏する。また、請求項6にかかる発明によれば、必要な機能を実現する外部アプリケーションのみをクライアント端末を利用して容易にインストールすることができるという効果を奏する。また、請求項6にかかる発明によれば、外部アプリケーションの選択を操作入力が容易なWEBページから行うことができ、必要な機能を有する外部アプリケーションをより容易にインストールすることができるという効果を奏する。
【0187】
また、請求項にかかる発明によれば、インストール記憶媒体を画像情報処理装置に装着していれば、画像情報処理装置から離れたクライアント端末からの容易な操作によってインストール記憶媒体の外部アプリケーションをインストールすることができるという効果を奏する。
【0190】
また、請求項8にかかる発明によれば、インストールする外部アプリケーションに関するアプリケーションリストが任意の場所にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができるという効果を奏する。
【0191】
また、請求項にかかる発明によれば、外部アプリケーションおよびアプリケーション情報がインターネット上にある場合でも、外部アプリケーションの保存場所を確実に入手して、外部アプリケーションを容易にインストールすることができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかる複合機の主要部の構成とネットワーク構成を示すブロック図である。
【図2】実施の形態1の複合機の構成を示すブロック図である。
【図3】インストール画面の内容の一例を示す説明図である。
【図4】リクエストメッセージを受信した複合機における処理の手順を示すフローチャートである。
【図5】WEBアプリによるinstall.cgiの処理の手順を示すフローチャートである。
【図6】アプリケーションリストの一例を示す説明図である。
【図7】インストール画面でインストールボタンがクリックされた場合のPCの処理のの手順を示すフローチャートである。
【図8】WEBアプリによるインストール処理の手順を示すフローチャートである。
【図9】実施の形態1の複合機のハードウェア構成図である。
【図10】実施の形態2にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。
【図11】実施の形態2の複合機の構成を示すブロック図である。
【図12】プログラミング画面の内容の一例を示す説明図である。
【図13】入力するカスタマイズプログラムの内容の一例を示す説明図である。
【図14】WEBアプリによるdebug.cgiの処理の手順を示すフローチャートである。
【図15】プログラミング画面において、保存ボタン、実行設定ボタン、テスト実行ボタンのいずれかのクリック操作が行われた場合のWEBアプリの処理の手順を示すフローチャートである。
【図16】カスタマイズディレクトリに格納されたカスタマイズプログラムの名称の一例を示す説明図である。
【図17】キー対応付けテーブルの内容の一例を示す説明図である。
【図18】複合機の電源投入が行われてから、カスタマイズプログラムの実行が可能となるまでの一連の処理の手順を示すフローチャートである。
【図19】起動設定ファイルの内容の一例を示す説明図である。
【符号の説明】
100,1000 複合機
101 白黒レーザプリンタ
102 カラーレーザプリンタ
103 HDD
104 ハードウェアリソース
105 共有メモリ
106 httpd
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117,1117 WEBアプリ
118 VAS
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 複合機初期化部
130 アプリケーション
131 プログラム起動部
134 インタプリタ(シェル)
135 カーネル
200 PC
201 インストール画面
211 起動設定ファイル
212 カスタマイズ領域(カスタマイズディレクトリ)
220 インターネット
230 ICカードインタフェース部
240 ICカード
241 インストールスクリプトファイル
242 外部アプリ
243,261 アプリケーションリスト
250 ftpサーバ
260 コンピュータ
900 コントローラボード
901 ASIC
902 CPU
903 SDRAM(RAM)
210 フラッシュメモリ(ROM)
908 SRAM
910 オペレーションパネル
930 USB
940 IEEE1394
950 プリンタ
1001 プログラミング画面
[0001]
BACKGROUND OF THE INVENTION
The present invention is a copy, printer, scanner, facsimile, etc. Image information processing In addition to providing user services, application installation and program customization can be performed via a WEB from a client terminal connected to the Internet. Image information processing apparatus and How to install application To the law It is related.
[0002]
[Prior art]
In recent years, there has been known an image forming apparatus (hereinafter referred to as “multifunction machine”) in which functions of apparatuses such as a printer, a copy machine, a facsimile machine, and a scanner are housed in one casing. This multifunction device is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and is provided with three types of software respectively corresponding to a printer, a copy machine, and a facsimile machine, and by switching these software, Are operated as a printer, a copy, a scanner, or a facsimile machine.
[0003]
In such a conventional MFP, it is not assumed that a third party such as a third vendor develops and installs a new application program or customizes an application program that operates on the MFP after the MFP is shipped. .
[0004]
In addition, although a conventional multifunction device can be connected to a network, it uses a network function by using a management server such as a printer server, and the multifunction device itself is a PC (Personal Computer) or the like. It is not possible to realize various network functions directly.
[0005]
[Problems to be solved by the invention]
By the way, in such a conventional multi-function machine, software corresponding to a printer, a copy, a scanner, and a facsimile apparatus is provided separately, so that development of each software requires a lot of time. For this reason, the applicant has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit, and has an application that performs processing specific to each user service such as a printer, copy, or facsimile. When a user service is provided by interposing between these applications and hardware resources, hardware resource management, execution control, and image formation processing that are commonly required by at least two of the applications are provided. Invented an image forming apparatus (multifunction machine) equipped with a platform comprising various control services.
[0006]
In such a new multi-function peripheral, an application and a control service that performs processing that is difficult to develop such as access to hardware resources are provided separately. A configuration is such that a vendor can develop a new external application as an application related to image forming processing and mount it on a multifunction peripheral.
[0007]
For this reason, it is necessary to develop an external application with a new function in a new multifunction device and to install the external application in the multifunction device or customize the existing functions that have been installed from the beginning of shipment. come.
[0008]
Here, an operation display section of an operation panel is prepared in the multifunction device as an interface for displaying various screens for the user and operating input to the system of the multifunction device. However, the operation display section of the operation panel has a very narrow screen size unlike a display device such as a display screen of a computer such as a PC. In addition, by drawing various buttons on the operation display unit or displaying a software keyboard, the user can perform input operations from the operation display unit. However, compared with input devices such as a keyboard and mouse in a computer. For example, there are limits to free input operations.
[0009]
As described above, the new multi-function peripheral has a new problem that is not a problem in the conventional multi-function peripheral, in which it is necessary to install an external application or customize an existing program with an easy operation.
[0010]
The present invention has been made in view of the above, and allows easy installation of external applications and customization of programs. Image information processing apparatus and How to install application The law The purpose is to obtain.
[0011]
[Means for Solving the Problems]
In order to achieve the above object, an invention according to claim 1 is an image information processing apparatus capable of mounting a plurality of external applications related to image information processing using hardware resources having a printing unit or an imaging unit, A communication means for connecting to a network and controlling transmission and reception of various data; When receiving an instruction from a client terminal connected to the network, Installable Double Number of external application identifiers Each of When plural Storage area on the network Each of And It is a list application list The From outside Before getting Writing A number of external application identification information before the communication means Writing On the client terminal Is displayed The selected external application is displayed from the storage area on the network corresponding to the identification information of the external application selected from the client terminal via the WEB page. , WEB service providing means for receiving the external application and installing the received external application is provided, and the external application makes a processing request to an application programming interface that is an interface for controlling the hardware resources. It is characterized by that.
[0012]
According to the invention of claim 1, the WEB service providing means When an instruction is received from a client terminal connected to the network, Installable Double Number of external application identifiers Each of When plural Storage area on the network Each of And It is a list application list The From outside Get Duplicate A number of external application identification information via communication means The On the client terminal Is displayed The external application selected from the storage area on the network corresponding to the identification information of the external application selected from the client terminal via the WEB page is displayed via the communication means. By installing the external application, it is possible to install the external application on the image information processing apparatus with an easy operation from the WEB page displayed on the client terminal, and various functions using the external application can be easily operated. The image information processing apparatus can be realized. Further, according to the first aspect of the present invention, there is no need to perform complicated operations such as installing the developed external application after storing it in a storage medium, and any operation on the Internet can be easily performed from a client terminal. Can be installed in the image information processing apparatus. Further, according to the first aspect of the present invention, only an external application that realizes a necessary function can be easily installed using a client terminal. Further, according to the first aspect of the present invention, the external application can be selected from the WEB page where the operation input is easy, and the external application having a necessary function can be installed more easily.
[0015]
Claims 2 The invention according to claim 1 Described in Image information processing device And further comprising storage medium interface means for reading the external application from an installation storage medium storing the external application in a form that can be installed, and the WEB service providing means further installs the external application from the installation storage medium. It is characterized by.
[0016]
This claim 2 According to the invention, the installation storage medium is installed by installing the external application from the installation storage medium using the storage medium interface unit by the WEB service providing unit. Image information processing If attached to the device, Image information processing An external application on the installation storage medium can be installed by an easy operation from a client terminal remote from the apparatus.
[0021]
According to a third aspect of the present invention, in the image information processing apparatus according to the first or second aspect, the WEB service providing unit includes the application via the communication unit. list The acquisition destination is displayed on the WEB page, and the application from the acquisition destination designated by the client terminal is displayed. list Is acquired and displayed on the WEB page.
[0022]
According to the invention of claim 3, the application is provided by the WEB service providing means via the communication means. list The acquisition destination is displayed on the WEB page, and the application from the acquisition destination specified by the client terminal is displayed. list By acquiring the URL and displaying it on the WEB page, even if there is application information regarding the external application to be installed at an arbitrary location, it is possible to reliably obtain the storage location of the external application and easily install the external application. .
[0023]
According to a fourth aspect of the present invention, in the image information processing apparatus according to the third aspect, the WEB service providing means includes the application list When the client terminal indicates that the acquisition destination is acquired via the network, the specification indicating that the acquisition destination is acquired via the network is displayed on the WEB page via the communication means. The application from a predetermined area connected to the network via the communication means list Is acquired and displayed on the WEB page.
[0024]
According to the invention of claim 4, the application is provided by the WEB service providing means. list If the client terminal specifies that the acquisition destination is to be acquired via the network, the specification indicating that the acquisition destination is acquired via the network is displayed on the WEB page via the communication means. The application from a predetermined area connected to the network list Is acquired and displayed on the WEB page, even when the external application and the application information are on the Internet, the storage location of the external application can be reliably obtained and the external application can be easily installed.
[0037]
Claims 5 The invention according to claim 4 As described in any one of Image information processing device The WEB service providing means is a WEB application installed as the application.
[0038]
This claim 5 According to the invention, since the WEB service providing means is a WEB application mounted as an application, only the function as the WEB server can be included in the WEB application, and access to hardware resources can be entrusted to the control service. You can develop apps efficiently.
[0039]
The invention according to claim 6 is an application installation method that is executed by an image information processing apparatus in which a plurality of external applications related to image information processing can be mounted using hardware resources having a printing unit or an imaging unit. The image information processing apparatus includes a communication unit that is connected to a network and controls transmission / reception of various data, When receiving an instruction from a client terminal connected to the network, Installable Double Number of external application identifiers Each of When plural Storage area on the network Each of And It is a list application list The From outside Application to get list Acquisition step and before Writing A number of external application identification information before the communication means Writing On the client terminal Is displayed A display step for selectively displaying on the WEB page; and the communication means for displaying the selected external application from the storage area on the network corresponding to the identification information of the external application selected from the client terminal via the WEB page. And installing the received external application, and the external application makes a processing request to an application programming interface that is an interface for controlling the hardware resource. And
[0040]
According to the invention of claim 6, When an instruction is received from a client terminal connected to the network, Installable Double Number of external application identifiers Each of When plural Storage area on the network Each of And It is a list application list The From outside Acquired, Duplicate A number of external application identification information via communication means The On the client terminal Is displayed The external application selected from the storage area on the network corresponding to the identification information of the external application selected from the client terminal via the WEB page is displayed to be selectable on the WEB page. , By installing the received external application received via the communication means, it is possible to install the external application on the image information processing apparatus with an easy operation from the WEB page displayed on the client terminal, and use the external application The various functions can be realized in the image information processing apparatus by an easy operation. Further, according to the first aspect of the present invention, there is no need to perform complicated operations such as installing the developed external application after storing it in a storage medium, and any operation on the Internet can be easily performed from a client terminal. Can be installed in the image information processing apparatus. According to the invention of claim 6, it is possible to easily install only an external application that realizes a necessary function using a client terminal. According to the sixth aspect of the present invention, the external application can be selected from the WEB page where the operation input is easy, and the external application having a necessary function can be installed more easily.
[0043]
Claims 7 The invention according to claim 6 In the application installation method according to claim 1, the installation step further includes reading and installing the external application from an installation storage medium that stores the external application in a form that can be installed.
[0044]
This claim 7 According to the invention, the installation storage medium is installed by installing the external application from the installation storage medium in the installation step. Image information processing If attached to the device, Image information processing An external application on the installation storage medium can be installed by an easy operation from a client terminal remote from the apparatus.
[0049]
The invention according to claim 8 is the application installation method according to claim 6 or 7, wherein Application list acquisition step Through the communication means, the application list The acquisition destination is displayed on the WEB page, and the application from the acquisition destination designated by the client terminal is displayed. list Get Do It is characterized by that.
[0050]
According to the invention of claim 8, Application list acquisition step By the application via communication means list The acquisition source is displayed on the WEB page, and the application from the specified acquisition source list Get Do Application related to the external application to be installed list Even if it is in an arbitrary location, it is possible to reliably obtain the storage location of the external application and easily install the external application.
[0051]
The invention according to claim 9 is the application installation method according to claim 8, wherein Application list acquisition step The application list When the client terminal indicates that the acquisition destination is acquired via the network, the specification indicating that the acquisition destination is acquired via the network is displayed on the WEB page via the communication means. Obtaining the application information from a predetermined area connected to the network via the communication means Do It is characterized by that.
[0052]
According to the invention of claim 9, Application list acquisition step By the application list When the client terminal indicates that the acquisition destination is acquired via the network, the specification indicating that the acquisition destination is acquired via the network is displayed on the WEB page via the communication means. The application from a predetermined area connected to the network via the communication means list Get Do By external applications and applications list Even when the computer is on the Internet, it is possible to reliably obtain the storage location of the external application and easily install the external application.
[0065]
DETAILED DESCRIPTION OF THE INVENTION
The present invention will be described below with reference to the accompanying drawings. Image information processing apparatus and How to install application Law The preferred embodiment will be described in detail.
[0066]
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a main part and a network configuration of an image forming apparatus (hereinafter referred to as “multifunction device”) according to Embodiment 1 of the present invention. The multi-function device 100 according to the first embodiment is connected to the Internet, and allows an external application to be installed in the multi-function device from a client terminal such as a PC (Personal Computer) connected to the Internet.
[0067]
As shown in FIG. 1, in this embodiment, a multi-function device 100, a PC (personal computer) 200, a plurality of ftp servers 250, and a computer 260 are connected to the Internet 220. TCP / IP is used as a communication protocol among the MFP 100, the PC 200, the plurality of ftp servers 250, and the computer 260.
[0068]
The MFP 100 mainly includes a WEB application 117, a VAS (Virtual Application Service) 118, an NCS (Network Control Service) 128, an httpd (http daemon) 106, and a shared memory 105. It has become. Here, the WEB application 117 constitutes a WEB service providing unit in the present invention.
[0069]
The WEB application 117 operates as a WEB server (http server) with respect to the PC 200 serving as a client terminal connected to the Internet 220, displays an installation screen 201 described later on a WEB browser operating on the PC 200, and displays the displayed installation screen. Processing related to installation in response to an operation input from 201 or a request is performed, and the result is returned to the PC 200.
[0070]
Here, the installation screen 201 is a file (install.html) that constitutes a WEB page according to the present invention and is described in an html format (Hyper Text Markup Language). By displaying the file by the WEB browser on the PC 200, the installation screen 201 is displayed on the PC 200. In addition, the WEB application 117 performs a process related to installation according to an operation input or request from the installation screen 201 (install.htm), CGI (Common Gateway Interface), specifically, install. It is executed by a cgi script, the processing result is reflected in the installation screen 201 (install.htm), and returned to the WEB browser of the PC 200. Specifically, when there is a request for processing related to installation (button click operation or the like), the WEB application 117 installs install. Run cgi script. In this embodiment, each process by the WEB application 117 is executed by executing a CGI script, but may be configured to be executed by another program called from the CGI script. Further, the installation screen can be configured to be described in an XML format (extensible Markup Language).
[0071]
The VAS 118 is arranged between the control service and the application, and mediates access to the control service from the application or access to the application from the control service. The VAS 118 also notifies the WEB application 117 that the request message received via the Internet 220 notified from the NCS 128 is received.
[0072]
The NCS 128 controls the network, and also notifies the VAS 118 that the request message received from the httpd 106 has been received.
[0073]
The httpd 106 is a process (daemon) included in the OS, and constantly monitors port 80 to receive a request message and send a response message. The structure of the request message and the response message is the same as the structure of each message in the normal http protocol, and each message includes a message body described in the html format. The httpd 106 notifies the VAS 118 that the request message received via the Internet 220 has been received, and stores the request message in the shared memory 105.
[0074]
The shared memory 105 is used for interprocess communication between the httpd 106 and the WEB application 117, and exchanges a request message, a response message, and the like via the shared memory 105.
[0075]
The multifunction device 100 is provided with an IC card interface unit 230. The IC card interface unit 230 is an interface for inserting the IC card 240 and exchanging data with the IC card 240. The IC card 240 can be used as an installation storage medium. In this case, the developed external application 242 can be installed. For example, the external application 242 is compressed and the installation execution process is described. It is stored in the IC card 240 together with the script file 241. Further, the IC card 240 stores an application list 243 indicating a list of external applications 242 stored in the IC card 240.
[0076]
The PC 200 is a client terminal that receives the service provided by the WEB application 117 using the WEB application 117 of the multi-function peripheral 100 as a server. The PC 200 displays an installation screen 201 and other screens on the WEB browser executed on the PC 200, and performs operation input. Is supposed to do.
[0077]
The ftp server 250 is a storage area on the Internet that stores the external application 242 and the installation script file 241. Any number of the ftp servers 250 can be provided.
[0078]
An application list 261 is stored in the computer 260. The application list 261 shows a list of storage locations of the external application 242. Note that the application list 261 may be configured to be stored in a storage medium such as the HDD 103 or the flash memory of the multifunction peripheral 100.
[0079]
Next, the overall functional configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 2 is a block diagram illustrating a configuration of the multifunction peripheral 100 according to the first embodiment. As shown in FIG. 1, a multifunction machine 100 includes a monochrome laser printer (B & W LP) 101, a color laser printer (Color LP) 102, a hard disk device (HDD) 103, a scanner, a facsimile, a memory, a network interface, and the like. A hardware resource 104 is included, and a software group 110 including a platform 120 and an application 130 is provided.
[0080]
The platform 120 interprets a processing request from an application and generates a hardware resource acquisition request, and a system resource manager that manages one or a plurality of hardware resources and arbitrates the acquisition request from the control service. (SRM) 123 and a general-purpose OS 121.
[0081]
The control service is formed of a plurality of service modules, and includes an SCS (system control service) 122, an ECS (engine control service) 124, an MCS (memory control service) 125, an OCS (operation panel control service) 126, and an FCS. (Fax Control Service) 127 and NCS (Network Control Service) 128. The platform 120 has an application program interface (API) that enables a processing request to be received from the application 130 using a predefined function.
[0082]
The general-purpose OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the platform 120 and the application 130 in parallel as processes.
[0083]
The process of the SRM 123 performs system control and resource management together with the SCS 122. The SRM123 process uses hardware resources such as engines such as a scanner unit and printer unit, memory, HDD file, and host I / O (Centro I / F, network I / F, IEEE 1394 I / F, RS232C I / F, etc.). Arbitration is performed according to the request from the upper layer to be used, and execution control is performed.
[0084]
Specifically, the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is used. Tell the upper layer that it is possible. In addition, the SRM 123 performs use scheduling of hardware resources in response to a request from an upper layer, and directly executes request contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by a printer engine). .
[0085]
The process of the SCS 122 performs application management, operation unit control, system screen display, LED display, resource management, interrupt application control, and the like.
[0086]
The process of the ECS 124 controls the engine of the hardware resource 104 including a black and white laser printer (B & W LP) 101, a color laser printer (Color LP) 102, a scanner, a facsimile, and the like.
[0087]
The MCS 125 process acquires and releases an image memory, uses a hard disk device (HDD), compresses and decompresses image data, and the like.
[0088]
The FCS 127 process includes facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. Provides an API to do.
[0089]
The NCS 128 process is a process for providing a service that can be commonly used for applications that require network I / O. Data received from the network side according to each protocol is distributed to each application, and data from the application. Mediation when sending to the network side.
[0090]
The process of the OCS 126 controls an operation panel (operation panel) 910 serving as information transmission means between the operator (user) and the main body control. The OCS 126 obtains a key press (or touch operation) from the operation panel as a key event, and operates according to a request from the application 130 or the control service and a part of the OCS process that transmits a key event function corresponding to the obtained key to the SCS 122. A drawing function for drawing and outputting various screens on the panel, a function for controlling the operation panel, and the like are composed of pre-registered OCS library portions. The OCS library is mounted by being linked to each module of the application 130 and the control service. The OCS 126 may be configured to operate as a process, or the OCS 126 may be configured as an OCS library.
[0091]
The application 130 includes a printer application 111 that is a printer application having a page description language (PDL), PCL, and postscript (PS), a copy application 112 that is a copy application, and a fax application 113 that is a facsimile application. A scanner application 114 that is a scanner application, a network file application 115 that is a network file application, a process inspection application 116 that is a process inspection application, and the WEB application 117 and VAS 118 described above.
[0092]
Each process of the application 130 and each process of the control service realize user services related to image forming processing such as copying, printers, scanners, and facsimiles while performing inter-process communication by calling functions, sending return values thereof, and sending and receiving messages. is doing.
[0093]
As described above, the MFP 100 according to the first embodiment includes a plurality of applications 130 and a plurality of control services, all of which operate as processes. In each of these processes, one or a plurality of threads are generated and parallel execution is performed in units of threads. The control service provides a common service to the application 130. For this reason, a large number of these processes perform a parallel operation and a parallel operation of threads to perform inter-process communication with each other. User services related to image forming processing such as copying, printers, scanners, and facsimiles are provided.
[0094]
Also, in the multifunction device 100, a third party such as a customer of the multifunction device 100 or a third vendor can develop and install an external application on the application layer above the control service layer.
[0095]
In the MFP 100 according to the first embodiment, a plurality of application 130 processes and a plurality of control service processes operate. However, the application 130 and the control service process have a single configuration. Is also possible. Each application 130 can be added or deleted for each application.
[0096]
Next, a method for installing the external application 242 from the PC 200 using the WEB application 117 of the MFP 100 configured as described above will be described. First, the user activates a WEB browser on the PC 200, specifies the URL of the multifunction device 100, and accesses the WEB application 117 of the multifunction device 100. Upon receiving access from the WEB browser, the WEB application 117 displays an installation screen 201 (install.htm) on the WEB browser of the PC 200.
[0097]
FIG. 3A is an explanatory diagram illustrating an example of the contents of the installation screen 201. As shown in FIG. 3A, the installation screen 201 displays a WEB button and an IC card button for designating an application list acquisition source.
[0098]
When the user clicks the WEB button with a mouse or the like, the application list 261 is acquired from the computer 260 on the Internet by the WEB application 117, and the external application name is obtained from the acquired application list as a list of installable external applications 242. Are extracted and displayed in the list of active applications. install. In html, a character string “application_list:” is described at the head of all lines corresponding to the column of the active application.
[0099]
When the user clicks the IC card button with a mouse or the like, the application list 243 is read from the IC card 240 by the WEB application 117, and the external application name is read from the read application list 243 as a list of installable external applications 242. Are extracted and displayed in the list of active applications.
[0100]
When the user clicks either the WEB button or the IC card button, a request message for obtaining an application list is displayed in the multifunction device 100 as install. Sent with the contents of html.
[0101]
Here, a process in the MFP 100 that has received the request message will be described. FIG. 4 is a flowchart illustrating a processing procedure in the MFP 100 that has received the request message.
[0102]
The httpd 106 constantly monitors the port 80 and receives a request message from the PC 200 on the port 80 (step S401). The httpd 106 reads the received request message and writes the request message in the shared memory 105 (step S402). Next, the httpd 106 notifies the NCS 128 that a request message has been received (step S403).
[0103]
The NCS 128 that has received the notification further notifies the VAS 118 that the request message has been received (step S404). Upon receiving the notification, the VAS 118 further notifies the WEB application 117 that the request message has been received (step S405). The WEB application 117 reads the request message with reference to the shared memory 105, triggered by receiving a notification to the effect that the request message has been received (step S406). Then, the content of the request message is analyzed (step S407), and processing corresponding to the content described in the message body of the request message is executed (step S408). At this time, if the message body describes that CGI is to be executed, the corresponding CGI is executed.
[0104]
Then, the WEB application 117 returns the processing execution result as a response message to the PC 200 that is the transmission source of the request message via the httpd 106 (step S409).
[0105]
In the WEB application 117 in the MFP 100 according to the present embodiment, when one of the buttons of the application list acquisition source is clicked on the installation screen 201 (install.htm) in FIG. In the multi-function device 100, install. html is included and transmitted. This install. In html, when the above button is clicked, install. The WEB application 117 that receives and analyzes the request message is described in the install. Run cgi.
[0106]
FIG. 5 shows install. It is a flowchart which shows the procedure of the process of cgi. First, the WEB application 117 determines which button of “WEB” or “IC card” has been clicked as an application list acquisition source (step S501).
[0107]
If the WEB button is designated, the URL of the computer 260 connected to the Internet 220 is designated, and the application list 261 stored in the computer 260 is downloaded (step S502). On the other hand, when the IC card button is designated, the IC card interface unit 230 accesses the IC card 240 and reads the application list 243 stored in the IC card 240 (step S503).
[0108]
FIG. 6 is an explanatory diagram showing an example of the application list 261. As shown in FIG. 6, the application list 261 includes an external application name, an ftp site address, and an intra-site path (directory). In the application list 243 stored in the IC card 240, only the external application name and the path are set, and the ftp site address is not set.
[0109]
Next, it is checked whether or not an installation data file for storing the application list already exists in a storage medium such as the HDD 103 (step S504). If it does not exist, an empty installation data file is created in the HDD 103 or the like. (Step S505). Then, the contents of the acquired application list 243 or 261 are added to the installation data file (step S506).
[0110]
Next, the WEB application 117 installs install. html is read line by line from the top (step S507). Then, by checking whether or not the read line includes the character string “application_list:”, it is determined whether or not it is an active application column (step S508).
[0111]
If it is determined that the field is an active application column, the external application name in the application list is acquired from the installation data file (step S509), and the acquired external application name is added with a check box in front of it. One line is set (step S510), and this one line is transmitted to the PC 200 (step S511).
[0112]
On the other hand, if it is determined in step S508 that the field is not an active application column, the line read in step S507 is transmitted to the PC 200 as it is (step S511).
[0113]
Then, the processing from steps S507 to S511 is performed using install. It repeats about all the lines of htm (step S512). As a result, the WEB browser of the PC 200 has the install. The result of install by cgi. The htm is displayed sequentially.
[0114]
FIG. 3B is an explanatory diagram illustrating an example of an installation screen 201 for processing results by the WEB application 117. As shown in FIG. 3B, a list of external applications is displayed in the active application list column.
[0115]
As shown in FIG. 3B, when a list of external applications that can be installed is displayed on the installation screen 201, a check box of an external application to be installed is checked and an installation button is clicked. Installation of the external application specified by the check box is performed by the WEB application 117.
[0116]
FIG. 7 is a flowchart showing a processing procedure of the PC 200 when the install button is clicked on the install screen 201 in FIG. Install.install of the installation screen 201 displayed on the WEB browser. By executing the Java (registered trademark) script described in html, the processing on the PC 200 side is executed.
[0117]
First, an external application name with a check mark in the check box is acquired (step S701). The acquired external application name and installation request message are transmitted to the WEB application 117 (step S702). Thus, in the multi-function device 100, the WEB application 117 receives and analyzes the request message, and then installs.
[0118]
FIG. 8 is a flowchart showing a procedure of installation processing by the WEB application 117. When the WEB application 117 receives the request message, the WEB application 117 first refers to the installation data, and acquires the storage location of the external application name notified from the PC 200 (step S801). Here, the storage destination is an ftp site address on the Internet, a site path, or a path (directory) in the IC card.
[0119]
Then, the WEB application 117 accesses the acquired storage location, and acquires the external application 242 and the installation script stored in the storage location (step S802). Here, when the external application 242 is in the ftp server 250, the external application 242 is downloaded to a storage medium such as the HDD 103 of the multi-function peripheral 100 using the ftp protocol. On the other hand, when the external application is in the IC card 240, the external application 242 is read from the IC card 240.
[0120]
Next, the WEB application 117 executes the acquired installation script and installs the acquired external application 242 (step S803). The installation script is a script file that describes an installation procedure, and an actual installation process is performed by executing the script.
[0121]
Such processes from step S801 to S803 are repeated for all external applications notified from the PC 200 (step S804). Thereby, the installation of all the external applications 242 designated on the installation screen 201 displayed on the WEB browser of the PC 200 is completed.
[0122]
Next, a hardware configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 9 is a hardware configuration diagram of the multifunction peripheral 100 according to the first embodiment illustrated in FIG. As shown in FIG. 9, the multifunction peripheral 100 includes a controller board 900 in which a CPU 902, an SDRAM 903, an SRAM 908, a flash memory (flash ROM) 210, an IC card interface unit 230, an HDD 103, and the like are connected to an ASIC 901, an operation panel 910, A fax control unit (FCU) 920, a USB 930, an IEEE1394 940, and a printer 950 are included. The operation panel 910 is directly connected to the ASIC 901, and the FCU 920, USB 930, IEEE1394 940, and printer 950 are connected to the ASIC 901 via the PCI bus.
[0123]
The IC card interface unit 230 is an interface for inserting the IC card 240 and exchanging data with the IC card 240. The IC card 240 can also be used as an installation storage medium. In this case, the developed external application 242 is stored in the IC card 240.
[0124]
As described above, in the MFP 100 according to the first embodiment, the WEB application 117 installs the external application 242 in response to a request from the WEB browser of the PC 200 that is a client terminal connected to the Internet 220. The external application 242 can be installed in the multifunction peripheral 100 with an easy operation from the above, and various functions using the external application 242 can be realized in the multifunction peripheral 100 with an easy operation.
[0125]
(Embodiment 2)
The MFP 100 according to the first embodiment installs the external application 242 from the PC 200 by the WEB application 117. However, the MFP according to the second embodiment is a program that operates on the MFP by the WEB application. Customization is performed from a PC connected to the Internet.
[0126]
FIG. 10 is a block diagram of a main configuration and a network configuration of the MFP according to the second embodiment. As shown in FIG. 10, in the present embodiment, a multifunction machine 1000 and a PC (personal computer) 200 are connected to the Internet 220. The communication protocol between the MFP 1000 and the PC 200 uses TCP / IP.
[0127]
As shown in FIG. 10, the MFP 1000 includes a WEB application 1117, a VAS 118, an NCS 128, an httpd 106, an MFP initialization unit 129, a program startup unit 131, and an interpreter (shell) 134 in the general-purpose OS 121. In this configuration, the shared memory 105 and the HDD 103 are mainly provided. Here, the WEB application 1117 constitutes a WEB service providing unit in the present invention, and the shell 134 constitutes a program execution unit in the present invention.
[0128]
The WEB application 1117 operates as a WEB server (http server) with respect to the PC 200 as a client terminal connected to the Internet 220, displays a programming screen 1001 described later on a WEB browser operating on the PC 200, and this programming screen 1001 To input a customization program for the operation display section of the operation panel 910. Further, the WEB application 1117 stores the customization program input from the PC 200 in a customization directory created as a customization area of the HDD 103. Further, the WEB application 1117 registers the customization program in an activation setting file to be described later so that the customization program is executed on the multifunction machine 1000.
[0129]
Here, the programming screen 1001 is a file (debug.html) that constitutes the WEB page in the present invention and is described in the html format (Hyper Text Markup Language). The programming screen 1001 is displayed on the PC 200 by displaying the file on the PC 200 using the WEB browser. The WEB application 1117 executes a CGI (Common Gateway Interface) script for processing related to operation input from the programming screen (debug.htm) and input of a customized program according to the request, and displays the processing result on the programming screen. It is reflected in (debug.htm) and returned to the WEB browser of the PC 200. More specifically, the WEB application 1117 receives a request for debug.input when there is a request (such as a button click operation) for a customization program input process. Run cgi script. In this embodiment, each process by the WEB application 1117 is executed by executing a CGI script, but may be configured to be executed by another program called from the CGI script. The programming screen can be configured to be described in an XML format (extensible Markup Language).
[0130]
The customization program input from the programming screen 1001 is written in a language that can be interpreted by an interpreter. Specifically, when the general-purpose OS 121 is UNIX (registered trademark), it is a shell script or the like.
[0131]
The interpreter 134 analyzes and sequentially executes the customization program for each step. In this embodiment, the interpreter 134 is a shell (bsh, csh, etc.) that executes a shell script. The shell 134 exists in the UNIX (registered trademark) as the general-purpose OS 121 separately from the OS kernel 135.
[0132]
The program activation unit 131 activates the external application 242 installed in the HDD 103 when the diagnosis result of the HDD 103 is normal. In addition, the program activation unit 131 activates the external application 242 stored in a storage medium such as the IC card 240.
[0133]
The MFP initialization unit 129 is a process that is activated first on the general-purpose OS 121, and activates the control service and application 130 (excluding external applications) and the program activation unit 131.
[0134]
The HDD 103 stores an activation setting file 211, and a customization program is stored in the customization directory 212 of the HDD 103.
[0135]
The functions of the VAS 118, the NCS 128, the httpd 106, and the shared memory 105 are the same as those of the MFP 100 according to the first embodiment.
[0136]
The PC 200 is a client terminal that receives a service provided by the WEB application 1117 using the WEB application 1117 of the multi-function peripheral 1000 as a server. Is supposed to do.
[0137]
Next, the overall functional configuration of the MFP 1000 according to the present embodiment will be described. FIG. 11 is a block diagram illustrating a configuration of the MFP 1000 according to the second embodiment. The difference between the multifunction machine 1000 of the present embodiment and the multifunction machine 100 of the first embodiment is that it includes a multifunction machine initialization unit 129, a program activation unit 131, and an interpreter (shell) 134. The configuration is the same as that of the MFP 100 of the first embodiment.
[0138]
Next, a method for customizing the operation display unit of the operation panel 910 from the PC 200 using the web application 1117 of the MFP 1000 configured as described above will be described. First, the user activates a WEB browser on the PC 200, specifies the URL of the multifunction device 1000, and accesses the WEB application 1117 of the multifunction device 1000. Upon receiving access from the WEB browser, the WEB application 1117 displays a programming screen 1001 (debug.htm) on the WEB browser of the PC 200.
[0139]
FIG. 12 is an explanatory diagram showing an example of the content of the programming screen 1001. As shown in FIG. 12, the programming screen 1001 displays a program input field, a reference button, an upload button, a save button, a delete button, a test execution button, and an execution setting button.
[0140]
The browse button is a button for referring to the customization program stored in the storage area of the PC 200 on which the browser is operating. When this browse button is pressed, a directory on the PC 200 is displayed and exists in a desired directory. When a customization program is specified, the file name of the customization program specified in the file name field is displayed. Note that when a reference button is pressed, a directory of a storage medium such as the HDD 103 of the multi-function peripheral 1000 may be referred to.
[0141]
The upload button is a click operation for transferring (uploading) the customization program specified by the reference button or the customization program input in the input field to the multi-function peripheral 1000.
[0142]
The program input field is an area for inputting a customization program. In this program input field, in addition to directly inputting a customization program from an input device such as a keyboard of the PC 200, an existing program file existing in a desired directory of the PC 200 is designated by clicking the reference button as described above. Enter the customization program. debug. In html, a character string “program_list:” is described at the head of all lines corresponding to the program input field.
[0143]
The save button is clicked when the input customization program is uploaded to the MFP 1000 and then stored in the customization directory. The delete button is clicked to delete the customized program input in the input field.
[0144]
The execution setting button is a click operation when associating the customization program with a button for executing the customization program so that the customization program stored in the customization directory can be executed by the multi-function peripheral 1000. When this execution setting button is pressed, the WEB application 1117 searches the button (key) specified in the customization program from the button (key) in the screen file existing in the customization directory based on the key code, The customization program and the button (key) are associated with each other, a key association table of the name of the customization program and the key code of the button (key) is generated, and the table is stored in the HDD 103 or the flash memory.
[0145]
The test execution button is clicked when the inputted customization program is experimentally executed.
[0146]
FIG. 13 is an explanatory diagram showing an example of the contents of the customization program to be input. As shown in FIG. 13, in this embodiment, a UNIX (registered trademark) shell script is input. The input shell script is sequentially executed step by step by the shell, which is a command interpreter of the general-purpose OS 121 (UNIX (registered trademark)), and thus the input customized program does not need to be compiled and linked.
[0147]
In addition, a special command for the multifunction machine provided in the development library can be specified in the shell script. The script shown in FIG. 13 reads a document with a scanner (scanning), decompresses image data compressed in the TIF format at the time of reading (decomp), and performs character recognition processing on the decompressed image data (ocr). Then, an example is shown in which the result of recognition by the character recognition process is mailed as text data. In this script, commands of scanimage, decomp, and ocr are commands provided by the development library.
[0148]
On the programming screen 1001 (debug.htm) displayed on the WEB browser of the PC 200, click the browse button to specify the customization program stored in the PC 200, or enter the customization program directly in the program input field and upload When the button is clicked, a request message is transmitted from the WEB browser to the WEB application 1117 of the multifunction peripheral 100. The message body of this request message contains debug. html is included, and this debug. In html, when the upload button is clicked, debug. It is described that cgi is called. For this reason, the WEB application 1117 that has received the request message and analyzed it is debug. Run cgi.
[0149]
FIG. 14 shows a debug. It is a flowchart which shows the procedure of the process of cgi. The WEB application 1117 uploads the program file of the designated customization program to the multifunction machine 1000. Alternatively, debug. In the received request message. After the customization program input directly in the program input field of html is converted into a program file, the program file is uploaded to the multi-function peripheral 1000 (step S1401).
[0150]
Next, the WEB application 1117 receives debug. html is read line by line from the top (step S1402). Then, by checking whether or not the read line includes the character string “program_list:”, it is determined whether or not it is a program input field (step S1403).
[0151]
If it is determined that the field is a program input field, the uploaded program file is read (step S1404), and the contents of the program file, that is, the customization program is transmitted to the PC 200 (step S1405).
[0152]
On the other hand, if it is determined in step S1403 that the field is not a program input field, the one line read in step S1402 is directly transmitted to the PC 200 (step S1406).
[0153]
Then, the processing from steps S1402 to S1406 is performed as debug. It repeats about all the lines of htm (step S1407). As a result, the Debug. debug. of processing result by cgi. The htm is displayed sequentially.
[0154]
In this way, the customization program input from the programming screen 1001 is uploaded to the MFP 1000, and after the uploaded customization program is displayed in the program input field, the save button, the execution setting button, and the test execution button can be clicked. It becomes. A process of the WEB application 1117 when one of these buttons is clicked will be described.
[0155]
FIG. 15 is a flowchart illustrating a processing procedure of the WEB application 1117 when any of the save button, the execution setting button, and the test execution button is clicked on the programming screen 1001.
[0156]
First, the WEB application 1117 determines the type of the button that has been clicked (step S1501).
[0157]
When the save button is clicked on the programming screen 1001, the WEB application 1117 causes the user to specify a file name, and stores the customization program in the customization directory of the HDD 103 of the MFP 1000 with the specified name (step S1502). ).
[0158]
FIG. 16 is an explanatory diagram showing an example of the name of the customization program stored in the customization directory. As shown in FIG. 16, the customization directory of the HDD 103 of the multifunction peripheral 1000 is hdd / xxx / opepane, and shell1, shell2, and shell3 that are customization programs are stored in the customization directory.
[0159]
On the other hand, when the execution setting button is clicked on the programming screen 1001, the WEB application 1117 associates the customization program with the button (step S1503). FIG. 17 is an explanatory diagram showing an example of the contents of the key association table. As shown in FIG. 17, the key code of the button and the customized program name are associated with each other in the key association table.
[0160]
When the test execution button is pressed on the programming screen 1001, the WEB application 1117 performs a test execution of the input customization program, and operates the same screen as the screen displayed on the operation panel 910 on the PC 200. Is displayed on the current WEB browser (step S1504).
[0161]
Next, the execution process of the customization program generated in this way will be described. FIG. 18 is a flowchart illustrating a series of processing procedures from when the MFP 1000 is turned on until the customization program can be executed.
[0162]
When the storage of the customization program in the customization directory and the setting in the activation setting file 211 are completed, the user turns on the power of the multifunction machine 1000 again. At this time, the MFP 1000 performs hardware diagnosis processing using a ROM monitor (not shown) (step S1801), starts the general-purpose OS 121 (step S1802), and then starts the MFP initialization unit 129 (step S1801). S1803). The MFP initialization unit 129 first activates the control service (step S1804), and then activates existing applications provided at the time of shipment of the MFP 1000 such as the copy application 112 and the printer application 111 (step S1805). Further, the program activation unit 131 is activated to activate a program such as an external application newly developed after shipment (step S1806).
[0163]
The program activation unit 131 first refers to the activation setting file 211 of the HDD 103 (step S1807) and acquires the name of the program to be activated.
[0164]
FIG. 19 is an explanatory diagram showing an example of the startup setting file 211. As illustrated in FIG. 19, a program to be activated by the program activation unit 131 is registered in the activation setting file 211 in the format of “program name customized program name”. In the example of FIG. 19, a shell program that is a shell script is registered first, and then an XXX application is registered as an external application.
[0165]
Therefore, the program activation unit 131 first activates the shell (step S1808), and then sequentially activates the XXX application that is an external application (step S1809).
[0166]
Therefore, when the button (key) to which the customization program is assigned is clicked among the buttons (keys) displayed on the operation display section of the operation panel 910, the customization program described in the shell script is executed by the shell. become.
[0167]
As described above, in the MFP 1000 according to the second embodiment, the WEB application 1117 allows the operation display unit customization program of the operation panel 910 to be input from the PC 200 connected to the Internet 220 via the programming screen that is the WEB page. Therefore, it is possible to create a customized program for the operation display unit by an easy operation from the programming screen displayed on the PC 200, and to realize various functions using the customization in the MFP 1000 by an easy operation. Can do.
[0168]
In the MFP 1000 according to the second embodiment, the WEB application 1117 customizes the program of the operation display unit of the operation panel 910. However, any program that implements the functions installed in the MFP 1000 may be used. For example, the present invention can be applied to any program customization.
[0169]
In the MFP 1000 according to the second embodiment, a shell script is used as a customization program. Alternatively, Visual Basic (registered trademark) or Java (registered trademark) language may be used. In this case, the interpreter is not included in the general-purpose OS 121 and needs to be configured to operate under the general-purpose OS 121.
[0170]
In the MFPs 100 and 1000 according to the first and second embodiments, the WEB applications 117 and 1117 constituting the WEB service providing unit of the present invention are provided in the application layer. However, a process having a similar function is controlled by the control service. It is also possible to use a structure provided in a layer.
[0171]
【The invention's effect】
As described above, according to the first aspect of the present invention, an external application can be easily operated from the WEB page displayed on the client terminal. Image information processing It can be installed on the device, and various functions using external applications can be easily operated. Image information processing There is an effect that it can be realized in the apparatus.
[0172]
Claims 1 According to the invention, it is not necessary to perform a complicated operation such as installing the developed external application after storing it in a storage medium, and the external application can be located in an arbitrary area on the Internet by an easy operation from the client terminal. Can be installed in the image information processing apparatus. Moreover, according to the invention concerning Claim 1, Inevitably Only an external application that realizes a necessary function can be easily installed using a client terminal. In addition, according to the first aspect of the invention, it is possible to select an external application from a WEB page that allows easy operation input, and it is possible to more easily install an external application having a necessary function. .
[0173]
Claims 2 According to the invention concerning the installation storage medium, Image information processing If attached to the device, Image information processing There is an effect that an external application of the installation storage medium can be installed by an easy operation from a client terminal remote from the apparatus.
[0176]
Moreover, according to the invention concerning Claim 3, the application regarding the external application to install list Even if it exists in arbitrary places, there exists an effect that the preservation | save place of an external application can be acquired reliably and an external application can be installed easily.
[0177]
Claims 4 According to the invention, even when the external application and the application information are on the Internet, there is an effect that the storage location of the external application can be reliably obtained and the external application can be easily installed.
[0184]
Claims 5 According to the invention, only the function as the WEB server is included in the WEB application, and access to hardware resources can be entrusted to the control service, so that the WEB application can be efficiently developed.
[0185]
Claims 6 According to the invention, the external application can be easily operated from the WEB page displayed on the client terminal. Image information processing It can be installed on the device, and various functions using external applications can be easily operated. Image information processing There is an effect that it can be realized in the apparatus.
[0186]
Further, according to the invention of claim 6, there is no need to perform a complicated operation such as installing the developed external application after storing it in a storage medium, and any operation on the Internet can be easily performed from the client terminal. There is an effect that an external application in the area can be installed in the image information processing apparatus. Moreover, according to the invention concerning Claim 6, Inevitably Only an external application that realizes a necessary function can be easily installed using a client terminal. In addition, according to the invention of claim 6, it is possible to select an external application from a WEB page that allows easy operation input, and it is possible to more easily install an external application having a necessary function. .
[0187]
Claims 7 According to the invention concerning the installation storage medium, Image information processing If attached to the device, Image information processing There is an effect that an external application of the installation storage medium can be installed by an easy operation from a client terminal remote from the apparatus.
[0190]
Moreover, according to the invention concerning Claim 8, the application regarding the external application to install list Even if it exists in arbitrary places, there exists an effect that the preservation | save place of an external application can be acquired reliably and an external application can be installed easily.
[0191]
Claims 9 According to the invention, even when the external application and the application information are on the Internet, there is an effect that the storage location of the external application can be reliably obtained and the external application can be easily installed.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a main part and a network configuration of a multifunction peripheral according to a first embodiment.
FIG. 2 is a block diagram illustrating a configuration of the multifunction machine according to the first embodiment.
FIG. 3 is an explanatory diagram showing an example of the contents of an installation screen.
FIG. 4 is a flowchart illustrating a processing procedure in a multi-function peripheral that has received a request message.
FIG. 5 shows install. It is a flowchart which shows the procedure of the process of cgi.
FIG. 6 is an explanatory diagram showing an example of an application list.
FIG. 7 is a flowchart showing a procedure of processing of a PC when an install button is clicked on the install screen.
FIG. 8 is a flowchart showing a procedure of installation processing by a WEB application.
FIG. 9 is a hardware configuration diagram of the multifunction machine according to the first embodiment.
FIG. 10 is a block diagram illustrating a main configuration and a network configuration of a multifunction peripheral according to a second embodiment.
FIG. 11 is a block diagram illustrating a configuration of a multifunction machine according to a second embodiment.
FIG. 12 is an explanatory diagram showing an example of the contents of a programming screen.
FIG. 13 is an explanatory diagram showing an example of the contents of a customization program to be input.
FIG. 14 is a view of debug. It is a flowchart which shows the procedure of the process of cgi.
FIG. 15 is a flowchart illustrating a processing procedure of a WEB application when a save button, an execution setting button, or a test execution button is clicked on a programming screen.
FIG. 16 is an explanatory diagram illustrating an example of a name of a customization program stored in a customization directory.
FIG. 17 is an explanatory diagram illustrating an example of the contents of a key association table.
FIG. 18 is a flowchart illustrating a series of processing procedures from when the MFP is turned on until the customization program can be executed.
FIG. 19 is an explanatory diagram showing an example of the contents of a startup setting file.
[Explanation of symbols]
100, 1000 MFP
101 Black and white laser printer
102 color laser printer
103 HDD
104 Hardware resources
105 Shared memory
106 httpd
110 Software group
111 Printer app
112 Copy application
113 Fax application
114 Scanner app
115 Net file application
116 Process inspection application
117,1117 WEB application
118 VAS
120 platform
121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 MFP initialization section
130 applications
131 Program starter
134 Interpreter (shell)
135 kernel
200 PC
201 Installation screen
211 Startup configuration file
212 Customization area (Customization directory)
220 Internet
230 IC card interface
240 IC card
241 Installation script file
242 External application
243,261 Application list
250 ftp server
260 computers
900 Controller board
901 ASIC
902 CPU
903 SDRAM (RAM)
210 Flash memory (ROM)
908 SRAM
910 Operation Panel
930 USB
940 IEEE 1394
950 printer
1001 Programming screen

Claims (9)

印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかる外部アプリケーションを複数搭載可能とした画像情報処理装置であって、
ネットワークに接続して各種データの送受信を制御する通信手段と、
前記ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得して、前記複数の外部アプリケーションの識別情報を、前記通信手段を介して前記クライアント端末に表示されるWEBページに選択可能に表示し、前記クライアント端末から前記WEBページを介して選択された外部アプリケーションの識別情報に対応する前記ネットワーク上の保存領域から前記選択された外部アプリケーションを前記通信手段を介して受信し、受信した外部アプリケーションをインストールするWEBサービス提供手段を備え、
前記外部アプリケーションは、前記ハードウェア資源の制御のためのインタフェースであるアプリケーションプログラミングインタフェースに対して処理要求を行うことを特徴とする画像情報処理装置。
An image information processing apparatus capable of mounting a plurality of external applications related to image information processing using hardware resources having a printing unit or an imaging unit,
A communication means for connecting to a network and controlling transmission and reception of various data;
When receiving an instruction from a client terminal connected to the network, the application list is a list that associates each respectively conserved regions on multiple network identification information installable multiple external applications acquires from outside, the identification information of the external applications before Kifuku number, then selectably displayed on the WEB page displayed before chrysanthemum client terminal via the communication means, the WEB page from the client terminal the selected external application from the storage area on the network corresponding to the identification information of the selected external application via, received via the communication means, a WEB service providing means for installing an external application that received Prepared,
The image information processing apparatus, wherein the external application makes a processing request to an application programming interface that is an interface for controlling the hardware resource.
前記外部アプリケーションをインストール可能な形式で記憶したインストール記憶媒体から前記外部アプリケーションを読み出す記憶媒体インタフェース手段をさらに備え、
前記WEBサービス提供手段は、さらに、前記インストール記憶媒体から前記外部アプリケーションをインストールすることを特徴とする請求項1に記載の画像情報処理装置。
Storage medium interface means for reading out the external application from an installation storage medium storing the external application in a form that can be installed;
The image information processing apparatus according to claim 1, wherein the WEB service providing unit further installs the external application from the installation storage medium.
前記WEBサービス提供手段は、前記通信手段を介して、前記アプリケーションリストの取得先を前記WEBページに表示し、前記クライアント端末によって指定された取得先から前記アプリケーションリストを取得して前記WEBページに表示することを特徴とする請求項1または2に記載の画像情報処理装置。The WEB service providing means via said communication means, and displays the acquired destination of the application list on the WEB page display from the specified acquisition source to the WEB page to get the application list by said client terminal The image information processing apparatus according to claim 1, wherein: 前記WEBサービス提供手段は、前記アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を前記通信手段を介して前記WEBページに表示し、前記クライアント端末によって、前記取得先がネットワーク経由で取得する旨の指定がされた場合には、前記通信手段を介してネットワークに接続された所定の領域から前記アプリケーションリストを取得して前記WEBページに表示することを特徴とする請求項3に記載の画像情報処理装置。The WEB service providing means displays on the WEB page via the communication means a designation that the application list is acquired via the network, and the acquisition destination is acquired via the network by the client terminal. 4. The image according to claim 3, wherein when the designation is made, the application list is acquired from a predetermined area connected to a network via the communication unit and displayed on the WEB page. Information processing device. 前記WEBサービス提供手段は、前記アプリケーションとして搭載されたWEBアプリであることを特徴とする請求項1〜4のいずれか一つに記載の画像情報処理装置。  The image information processing apparatus according to claim 1, wherein the WEB service providing unit is a WEB application installed as the application. 印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかる外部アプリケーションを複数搭載可能とした画像情報処理装置で実行されるアプリケーションインストール方法であって、
前記画像情報処理装置は、ネットワークに接続して各種データの送受信を制御する通信手段を備え、
前記ネットワークに接続されたクライアント端末からの指示を受信した場合に、インストール可能な複数の外部アプリケーションの識別情報のそれぞれ複数のネットワーク上の保存領域のそれぞれとを対応付けた一覧であるアプリケーションリスト外部から取得するアプリケーションリスト取得ステップと、
記複数の外部アプリケーションの識別情報を、前記通信手段を介して前記クライアント端末に表示されるWEBページに選択可能に表示する表示ステップと、
前記クライアント端末から前記WEBページを介して選択された外部アプリケーションの識別情報に対応する前記ネットワーク上の保存領域から前記選択された外部アプリケーションを前記通信手段を介して受信し、受信した外部アプリケーションをインストールするインストールステップと、を含み、
前記外部アプリケーションは、前記ハードウェア資源の制御のためのインタフェースであるアプリケーションプログラミングインタフェースに対して処理要求を行うことを特徴とするアプリケーションインストール方法。
An application installation method executed by an image information processing apparatus capable of mounting a plurality of external applications related to image information processing using hardware resources having a printing unit or an imaging unit,
The image information processing apparatus includes a communication unit that is connected to a network and controls transmission / reception of various data,
When receiving an instruction from a client terminal connected to the network, the application list is a list that associates each respectively conserved regions on multiple network identification information installable multiple external applications An application list acquisition step for acquiring the application from outside ,
The identification information of the external applications before Kifuku number, a display step of selectably displayed on the WEB page displayed before chrysanthemum client terminal via the communication means,
The selected external application from the storage area on the network corresponding to the identification information of the external application from the client terminal selected through the WEB page, received via the communication means, the received external application An installation step to install, and
The application installation method, wherein the external application makes a processing request to an application programming interface that is an interface for controlling the hardware resource.
前記インストールステップは、さらに、前記外部アプリケーションをインストール可能な形式で記憶したインストール記憶媒体から前記外部アプリケーションを読み出してインストールすることを特徴とする請求項6に記載のアプリケーションインストール方法。  The application installation method according to claim 6, wherein the installation step further includes reading and installing the external application from an installation storage medium that stores the external application in a format that can be installed. 前記アプリケーションリスト取得ステップは、前記通信手段を介して、前記アプリケーションリストの取得先を前記WEBページに表示し、前記クライアント端末によって指定された取得先から前記アプリケーションリストを取得することを特徴とする請求項6または7に記載のアプリケーションインストール方法。The application list acquisition step displays an acquisition destination of the application list on the WEB page via the communication unit, and acquires the application list from an acquisition destination designated by the client terminal. Item 8. The application installation method according to Item 6 or 7. 前記アプリケーションリスト取得ステップは、前記アプリケーションリストの取得先としてネットワーク経由で取得する旨の指定を前記通信手段を介して前記WEBページに表示し、前記クライアント端末によって、前記取得先がネットワーク経由で取得する旨の指定がされた場合には、前記通信手段を介してネットワークに接続された所定の領域から前記アプリケーションリストを取得することを特徴とする請求項8に記載のアプリケーションインストール方法。The application list acquisition step displays on the WEB page via the communication means as an acquisition destination of the application list on the WEB page, and the acquisition destination is acquired by the client terminal via the network. if the specified effect is the application installation process according to claim 8, characterized in that to obtain the application list from the predetermined region connected to the network via the communication means.
JP2002214463A 2002-07-23 2002-07-23 Image information processing apparatus and application installation method Expired - Lifetime JP4090806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002214463A JP4090806B2 (en) 2002-07-23 2002-07-23 Image information processing apparatus and application installation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002214463A JP4090806B2 (en) 2002-07-23 2002-07-23 Image information processing apparatus and application installation method

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2007188551A Division JP4500333B2 (en) 2007-07-19 2007-07-19 Image information processing apparatus, installation method, program, and recording medium
JP2007287627A Division JP4340704B2 (en) 2007-11-05 2007-11-05 Image information processing apparatus and application installation method

Publications (2)

Publication Number Publication Date
JP2004054791A JP2004054791A (en) 2004-02-19
JP4090806B2 true JP4090806B2 (en) 2008-05-28

Family

ID=31936783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002214463A Expired - Lifetime JP4090806B2 (en) 2002-07-23 2002-07-23 Image information processing apparatus and application installation method

Country Status (1)

Country Link
JP (1) JP4090806B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004105A (en) * 2007-07-19 2008-01-10 Ricoh Co Ltd Image information processor and customization program generation method
JP2010206802A (en) * 2010-03-15 2010-09-16 Ricoh Co Ltd Image information processing apparatus, customized program generation method, image information processing system, program, and recording medium

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4861765B2 (en) 2005-08-04 2012-01-25 株式会社リコー Apparatus, information processing method, information processing program, and recording medium
JP2007053556A (en) * 2005-08-17 2007-03-01 Fuji Xerox Co Ltd Composite machine
JP4407595B2 (en) * 2005-08-17 2010-02-03 富士ゼロックス株式会社 Compound machine
JP4407594B2 (en) * 2005-08-17 2010-02-03 富士ゼロックス株式会社 Compound machine
US20080165381A1 (en) * 2007-01-05 2008-07-10 Andrew Rodney Ferlitsch Methods and Systems for Controlling an Imaging Device
JP2008177683A (en) 2007-01-16 2008-07-31 Kyocera Mita Corp Data providing system, data receiving system, data providing method, data providing program and data receiving program
JP5200639B2 (en) * 2008-04-09 2013-06-05 株式会社リコー Image forming apparatus, information processing method, and program
JP5732824B2 (en) * 2010-01-05 2015-06-10 株式会社リコー Image forming apparatus, information processing system, and information processing method
JP2014021693A (en) 2012-07-18 2014-02-03 Konica Minolta Inc Image forming apparatus, application execution method, and application execution program
US10931762B2 (en) 2014-09-17 2021-02-23 Convida Wireless, Llc Systems and methods for enabling access to third party services via a service layer
JP6878934B2 (en) * 2017-02-10 2021-06-02 オムロン株式会社 Information processing equipment, information processing system, user interface creation method, and user interface creation program
JP6929160B2 (en) * 2017-08-10 2021-09-01 キヤノン株式会社 Image forming device and its control method and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004105A (en) * 2007-07-19 2008-01-10 Ricoh Co Ltd Image information processor and customization program generation method
JP4500333B2 (en) * 2007-07-19 2010-07-14 株式会社リコー Image information processing apparatus, installation method, program, and recording medium
JP2010206802A (en) * 2010-03-15 2010-09-16 Ricoh Co Ltd Image information processing apparatus, customized program generation method, image information processing system, program, and recording medium

Also Published As

Publication number Publication date
JP2004054791A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
EP1650953B1 (en) Image forming apparatus, a print process method, a computer program and a computer readable storage medium
JP4090806B2 (en) Image information processing apparatus and application installation method
JP2004110779A (en) Image forming apparatus
JP4344203B2 (en) Image forming apparatus and information display method
JP5370439B2 (en) Apparatus, request processing method, program, and recording medium
US10455101B2 (en) Server, image processing unit, and non-transitory recording medium for displaying error screen
JP4394740B2 (en) Image forming apparatus, method, and program
JP4500333B2 (en) Image information processing apparatus, installation method, program, and recording medium
JP4128506B2 (en) Image forming apparatus and application information acquisition method
JP4340704B2 (en) Image information processing apparatus and application installation method
JP2004185593A (en) Image forming apparatus and application execution method
JP2004185594A (en) Image forming apparatus and program execution method
JP5655726B2 (en) Image information processing apparatus, image information processing system, image information processing method, program, and recording medium
JP2003274100A (en) Image forming apparatus, remote image forming control method, and program for allowing computer to perform the method
JP4676977B2 (en) Image forming apparatus, application information acquisition method, and program
JP4133085B2 (en) Image forming apparatus and customized program test method
JP5858089B2 (en) Image information processing apparatus, image information processing system, image information processing method, program, and recording medium
JP5267624B2 (en) Information processing apparatus, display control method, program, and recording medium
JP4136738B2 (en) Image forming apparatus having Web service function
JP2010206802A (en) Image information processing apparatus, customized program generation method, image information processing system, program, and recording medium
JP4677054B2 (en) Image forming apparatus, program, recording medium, and method
JP2009064422A (en) Image forming apparatus and program execution method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4090806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110307

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120307

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130307

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140307

Year of fee payment: 6

EXPY Cancellation because of completion of term