JP2004005503A - Image forming device having web service function - Google Patents

Image forming device having web service function Download PDF

Info

Publication number
JP2004005503A
JP2004005503A JP2003081244A JP2003081244A JP2004005503A JP 2004005503 A JP2004005503 A JP 2004005503A JP 2003081244 A JP2003081244 A JP 2003081244A JP 2003081244 A JP2003081244 A JP 2003081244A JP 2004005503 A JP2004005503 A JP 2004005503A
Authority
JP
Japan
Prior art keywords
processing
web service
connection
web
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003081244A
Other languages
Japanese (ja)
Inventor
Hiroyuki Matsushima
松島 弘幸
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 JP2003081244A priority Critical patent/JP2004005503A/en
Priority to CNB038015641A priority patent/CN100351818C/en
Priority to EP03715406.9A priority patent/EP1489520B1/en
Priority to US10/490,978 priority patent/US7743162B2/en
Priority to PCT/JP2003/003651 priority patent/WO2003081443A1/en
Priority to CN200610172730.5A priority patent/CN1980247B/en
Publication of JP2004005503A publication Critical patent/JP2004005503A/en
Priority to US12/771,330 priority patent/US8549162B2/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming processing unit having a plurality of applications for executing respectively different image forming processing, and easily developing and adding the application for providing Web service by forming a constitution sharable by the plurality of applications by turning a required processing part into a component for providing the Web service. <P>SOLUTION: This purpose is attained by an image forming device having a plurality of method processing means for executing prescribed processing according to a method and a Web service executing means for executing the Web service by distributing a processing request to the method processing means corresponding to the method designated by the processing request according to the processing request. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、本発明は、Webサービスを提供する画像形成処理装置に係り、詳しくは、Webサービスを提供するアプリケーションの開発及び追加を容易とする画像形成装置を提供するものである。
【0002】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置が一般的に知られている。このような複合型の画像形成装置は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピー、スキャナおよびファクシミリ装置にそれぞれ対応するアプリケーションを設け、アプリケーションの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
【発明が解決しようとする課題】
近年、インターネットの発達と普及により、ネットワークを介して通信可能なプリンタ機能を有する上記従来の複合型画像形成装置は、ネットワークを介して機器と接続可能であるために、更にインターネットを介して行われる通信プロトコル、つまり、HTTP(Hypertext Transfer Protocol)による通信制御によって行われるWebサービスの提供が望まれるようになった。
【0004】
しかしながら、更に、HTTPによる通信制御に加え、HTTPのボディ部にXML(eXtensible Markup Language)等の汎用的な記述形式によるメッセージを記述して、接続される機器の対象範囲を拡大する傾向にあるなかで、上記従来の複合型画像形成装置では、画像形成に関する処理を実行する各アプリケーションがHTTPによる通信制御とXML等によってメッセージ交換を行うためには、各アプリケーションにHTTPによって指定されるメソッドの違いによる処理、及び、XMLの記述に関する処理を行わせる必要があった。従って、Webサービスに対応するアプリケーションを開発する開発者には、機能毎のプログラムの開発が必要とされていた。
【0005】
そこで、本発明の課題は、夫々異なる画像形成処理を行う複数のアプリケーションを有し、Webサービスを提供するために必要な処理部を部品化し該複数のアプリケーションにて共有できる構成とすることによってWebサービスを提供するアプリケーションの開発及び追加を容易とする画像形成処理装置を提供することである。
【0006】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項1に記載されるように、メソッドに従った所定の処理を行う複数のメソッド処理手段と、処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手段に該処理要求を振り分けることによってWebサービスを実行するWebサービス実行手段を有するように構成される。また、本発明は、請求項2に記載されるように、同一メソッドにおける処理を共有し、上記Webサービスとして画像形成に関する処理を行う複数のWebサービスアプリケーションを有するように構成することができる。
【0007】
このような画像形成装置では、メソッド毎に処理を部品化されるため、メソッド特有の処理を、複数のWebサービスアプリケーションによって共有することができる。
【0008】
更に、本発明は、請求項3に記載されるように、上記複数のメソッド処理手段の1つである第一メソッド処理手段は、所定記述形式によって記述された上記処理要求のボディ部を処理する記述処理手段を有し、上記記述処理手段による処理結果に基づいて、上記Webサービスアプリケーションが実行されるように構成することができる。
【0009】
このような画像形成装置では、記述処理手段(例えば、XML(eXtensible Markup Language)を処理する処理部)がWebサービスアプリケーションから独立して部品化されているため、Webサービスアプリケーションの開発者は、例えば、XMLの知識を必要とすることなく開発を行うことができる。
【0010】
また、本発明は、請求項4に記載されるように、上記複数のメソッド処理手段の1つである第一メソッド処理手段は、上記第一メソッド処理手段を指定する上記第一メソッドに関して、上記処理要求のボディ部の記述形式を指定するヘッダに応じた所定の処理を実行する複数の処理手段と、上記処理要求に指定されるコンテンツタイプに対応する上記処理手段に該処理要求を分配する第一分配処理手段とを有し、上記第一メソッドが上記処理要求によって指定されている場合、該処理要求が上記Webサービス実行手段によって上記第一分配処理手段に振り分けられ、上記第一分配処理手段によって、上記処理要求が上記ヘッダに対応する上記処理手段に分配され、該処理手段による処理結果に基づいて、上記Webサービスアプリケーションが実行されるように構成することができる。
【0011】
このような画像形成装置では、第一メソッドの処理がWebサービスアプリケーションから独立しているため、このメソッドに基づいて処理要求が振り分けられるWebサービスアプリケーションの開発において、コンテンツタイプに関する処理及び解析処理の開発を行う必要がない。例えば、上記第一メソッド処理部がPOSTメソッドに対応した処理部である場合、処理要求のヘッダに指定されるコンテンツタイプ「application/x−www−form−urlencoded」、「multipart/form−data」、「text/xml」毎の処理が部品化される。
【0012】
また、本発明は、請求項5に記載されるように、上記複数のメソッド処理手段の1つである第二メソッド処理手段は、上記第二メソッド処理手段を指定する上記第二メソッドに関して、上記Webサービスアプリケーションを特定する特定情報に基づいて、上記処理要求を該Webサービスアプリケーションに分配する第二分配処理手段を有し、上記第二メソッドが上記処理要求によって指定されている場合、該処理要求が上記Webサービス実行手段によって上記第二分配処理手段に振り分けられるように構成することができる。
【0013】
このような画像形成装置では、第二メソッドに関して、Webサービスアプリケーションを特定する特定情報(例えば、URL(Uniform resource Locator))に基づいて処理要求を該Webサービスアプリケーションに分配する分配処理がWebサービスアプリケーションから独立しているため、この第二メソッドに基づいて処理要求が振り分けられるWebサービスアプリケーションの開発において、分配処理に関する開発を行う必要がない。
【0014】
更に、本発明は、請求項6に記載されるように、Webを介して通信制御を行うWeb通信プロトコルデーモンと、該Web通信プロトコルデーモンとの接続によって生成され、該Web通信プロトコルデーモンと上記Webサービスアプリケーションとの間で行われる所定記憶領域からの受信データの読み込み及び該所定記憶領域への送信データの書き込みを制御する接続処理手段とを有するように構成することができる。
【0015】
このような画像形成装置では、Web通信プロトコルデーモン(例えば、HTTPデーモン)とWebサービスアプリケーションとの間に接続処理手段をもうけて、互いの処理を意識させないようにすることができる。
【0016】
また、本発明は、請求項7に記載されるように、接続通知をキューとして保持する接続通知キューと、上記接続通知キューを用いて、上記Webサービス実行手段と上記Web通信プロトコルデーモンとの接続を管理するWeb接続管理手段と、上記Web通信プロトコルデーモンから上記接続通知があったことを、上記Web通信プロトコルデーモンに代わって、上記Web接続管理手段へ通知することによって接続を仲介する接続要求仲介手段とを有し、上記Web接続管理手段は、上記Webサービス実行手段からの接続要求に応じて、上記Webサービスアプリケーションに代わって、上記接続通知キューから上記接続通知を取り出して、記Web通信プロトコルデーモンと接続するように構成することができる。
【0017】
このような画像形成装置では、Web接続管理手段(例えば、HTTP接続管理部)がWeb通信プロトコルデーモン(例えば、HTTPデーモン)とWebサービス実行手段(例えば、HTTPサービス実行部)とを接続する。
【0018】
更に、本発明は、請求項8に記載されるように、上記Web接続管理手段は、上記Web通信プロトコルデーモンと接続後、上記接続処理手段を生成し、上記Webサービス実行手段に上記接続に関する接続管理情報を通知し、上記Webサービス実行手段は、上記通知を受けて、上記処理要求を該処理要求で指定されるメソッドに対応する上記メソッド処理手段に振り分けるように構成することができる。
【0019】
このような画像形成装置では、Web接続管理手段(例えば、HTTP接続管理部)が接続処理手段(例えば、接続処理部)を生成し、Webサービス実行手段(例えば、HTTPサービス実行部)に接続管理情報を通知する。
【0020】
また、本発明は、請求項9に記載されるように、上記接続処理手段は、上記処理要求が振り分けられた上記メソッド処理部から処理通知を受信すると、上記Web通信プロトコルデーモンとの接続を切断するように構成することができる。更に、本発明は、請求項10に記載されるように、上記接続処理手段は、上記Webサービス実行手段に上記処理要求に応じた処理を終了したことを通知し、上記Webサービス実行手段は、上記Web接続管理手段に上記処理の終了を通知するように構成することができる。
【0021】
このような画像形成装置では、接続処理手段(例えば、接続処理部)がWebサービスアプリケーションに代わって、Web通信プロトコルデーモン(例えば、HTTPデーモン)との接続を切断する。
【0022】
また、本発明は、請求項11に記載されるように、上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のWebサービスアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、該複数のWebサービスアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有するように構成することができる。
【0023】
このような画像形成装置では、Web通信プロトコルデーモンと複数のWebアプリケーションとの間で画像形成に関するデータを送受信すると共に、実行された複数のWebアプリケーションによって、複数のハードウェア資源へのアクセスをも実現することができる。
【0024】
上記課題を解決するための手段として、本発明は、コンピュータに行なわせるための上記プログラムを記録した記録媒体とすることもできる。
【0025】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【0026】
多種の画像形成機能を融合する本発明の実施の一形態に係る画像形成装置(以下、融合機と言う)は、例えば、図1に示すような機能構成を成す。図1は、本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【0027】
図1において、融合機1200は、プロッタ1201と、スキャナ1202と、その他ハードウェアリソース1203などを有するとともに、プラットフォーム1220とアプリケーション1230とから構成されるソフトウェア群1210と、融合機起動部1240とを備えている。
【0028】
融合機起動部1240は、癒合機1200の電源投入時に先ず始めに実行され、プラットフォーム1220やアプリケーション1230を起動する。
【0029】
プラットフォーム1220は、アプリケーション1230からの処理要求を解釈して、ハードウェア資源の獲得要求を発生させる下記に示すコントロールサービス1250と、一または複数のハードウェア資源の管理をおこない、コントロールサービス1250からの獲得要求を調停するシステムリソースマネージャー(SRM(System Resource Manager)1223)と、OS(Operating System)1221とを有する。
【0030】
このコントロールサービス1250は、複数のサービスモジュールにより形成され、具体的には、SCS(System Control Service)1222と、ECS((Engine Control Service)1224と、MCS(Memory Control Service)1225と、OCS(Operation panel Control Service)1226と、FCS(FAX Control Service)1227と、NCS(Network Control Service)1228と、IMH(Imaging Memory Handler)1229とがある。なお、このプラットフォーム1220は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【0031】
OS1221は、UNIX(登録商標)などのオペレーティング・システムであり、プラットフォーム1220並びにアプリケーション1230の各ソフトウェアをそれぞれプロセスとして並列実行する。オープンソースのUNIX(登録商標)を用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、OS、TCP/IPのロイヤリティが不要であり、アウトソーシングも容易となる。
【0032】
SRM1223は、SCS1222とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394I/F、RS232CI/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【0033】
具体的には、このSRM1223は、要求されたハードウェア資源が利用可能であるかどうか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウェア資源の利用スケジューリングをおこない、要求内容(たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施するようにしてもよい。
【0034】
SCS1222は、アプリ管理(機能1)、操作部制御(機能2)、システム画面表示(ジョブリスト画面、カウンタ表示画面など)(機能3)、LED表示(機能4)、リソース管理(機能5)、割り込みアプリ制御(機能6)等の複数の機能を行う。具体的には、アプリ管理(機能1)では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。操作部制御(機能2)では、アプリの操作部使用権の排他制御をおこなう。システム画面表示(機能3)では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。LED表示(機能4)では、警告LED、アプリキーなどのシステムLEDの表示制御をおこなう。リソース管理(機能5)では、アプリがECSを使ってジョブを実行するにあたって、排他しなければならないエンジンリソース(スキャナ、ステープルなど)の排他制御のためのサービスをおこなう。割り込みアプリ制御(機能6)では、特定のアプリを優先動作させるための制御及びサービスをおこなう。
【0035】
ECS1224は、プロッタ1201、スキャナ1202、その他ハードウェアリソース1203などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【0036】
MCS1225は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などをおこなう。
【0037】
OCS1226は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがGUIを構築するためのライブラリ関数を提供する処理、構築されたGUI情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【0038】
FCS1227は、システムコントローラの各アプリ層からPSTN/ISDN網を使ったファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのAPI(Application Program Interface)を提供する。
【0039】
NCS1228は、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。
【0040】
本実施例において、NCS1228は、複数のプロトコルのうちhttp(Hypertext Transfer Protocol)デーモンによって、インターネットを介して接続されるネットワーク機器とのデータ通信をHTTP(Hypertext Transfer Protocol)で制御し、HTTPリクエストヘッダで指定される処理に必要な複数のWebサービスを関数コールによって起動し、その複数のWebサービスによる処理結果をHTTPレスポンスで該ネットワーク機器へ通知する。Webサービスは、例えば、XML(eXtensible Markup Language)によって記述されたメッセージに従って処理を行う。
【0041】
IMH1229は、イメージデータを仮想メモリ領域(ユーザー仮想空間)から物理メモリへマップする。プロセスの起動に応じて、システムコールを行ない、プロセス用の仮想メモリ領域をマップしたり、マップした仮想メモリ領域をプロセスの終了時に開放する処理等を行う。
【0042】
アプリケーション1230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ1211と、コピー用アプリケーションであるコピーアプリ1212と、ファクシミリ用アプリケーションであるファックスアプリ1213と、スキャナ用アプリケーションであるスキャナアプリ1214と、ネットファイル用アプリケーションであるネットファイルアプリ1215と、工程検査用アプリケーションである工程検査アプリ1216と、配信用アプリケーションである配信アプリ1217と、実行した処理結果をWebサービスとして提供するWebサービスアプリ1218とを有する。各アプリケーション1211〜1218は、プラットフォーム1220上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、NCS1228により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【0043】
ここで、Webサービスアプリ1218とは、NCS1228によって通知されるHTTPリクエスト対応する処理を実行するアプリケーションであって、その処理結果は、HTTPレスポンスとしてNCS1228によってHTTPリクエストを行ったネットワーク機器へ提供される。
【0044】
このように、融合機1200は、各アプリで共通的に必要となる処理をプラットフォーム1220で一元的に処理する。
【0045】
次に、融合機1200のハードウェア構成について説明する。図2は、図1に示す融合機のハードウェア構成を示すブロック図である。図2に示すように、この融合機1200は、オペレーションパネル1310と、FCU(ファックスコントロールユニット)1320と、プロッタ1201、スキャナ1202及びその他ハードウェアで構成されるエンジン部1350と、コントローラ1300のASIC1301とをPCI(Peripheral Component Interconnect)バス等で接続した構成となる。FCU1320は、受信したファックスデータを格納するための不揮発性メモリ1321と、FCU1320内での時間を計測するためのRTC(Real Time Clock)1322とを有し、通常G3規格に従ってファックスデータの送受信を行う。FCU1320は、オプションとして更にG3規格とG4規格とを搭載しても良い。
【0046】
コントローラ1300は、ASIC1301にMEM−C1302、HDD(Hard Disk Drive)1303などを接続するとともに、このASIC1301とCPU1304とをCPUチップセットのNB1305を介して接続している。このように、NB1305を介して接続する理由は、CPU1304自体のインターフェイスが公開されていないためである。
【0047】
ここで、このASIC1301とNB1305は、単にPCIを介して接続されているのではなく、AGP1308を介して接続されている。このようにAGP1308を介して接続することとした理由は、この融合機1200がプラットフォーム1220やアプリケーション1230を形成する複数のプロセスを実行制御する関係上、これらを低速のPCIで接続したのでは、パフォーマンスが低下するからである。
【0048】
CPU1304は、融合機1200の全体制御をおこなうものであり、具体的には、OS1221上でプラットフォーム1220を形成するSCS1222、SRM1223、ECS1224、MCS1225、OCS1226、FCS1227、NCS1228をそれぞれプロセスとして起動して実行させるとともに、アプリケーション1230を形成するプリンタアプリ1211、コピーアプリ1212、ファックスアプリ1213、スキャナアプリ1214、ネットファイルアプリ1215、工程検査アプリ1216、配信アプリ1217、Webサービスアプリ1218を起動して実行させる。
【0049】
NB1305は、CPU1304とMEM−P1306、SB1307、ASIC1301とを接続するためのブリッジであり、MEM−P1306は、融合機の描画用メモリなどとして用いるシステムメモリであり、MEM−C1302は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ASIC1301は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。
【0050】
NB1305は、PCIバスを介してSB1307と接続する他、ネットワーク通信を制御するNIC(Network Interface Card)1311と、パーソナルコンピュータと接続し大容量の画像データの送受信を可能とするUSB(Universal Serial Bus)1312及びIEEE13941313と、パラレルケーブルによって接続可能なセントロニクス1314と接続する。SB1307は、NB1305とROM、PCIデバイス、周辺デバイスとを接続するためのブリッジである。SB1307は、コントローラ1300での時間を計測するRTC(Real Time Clock)1323を有する。
【0051】
HDD1310は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージであり、オペレーションパネル1310は、操作者からの入力操作の受け付け並びに操作者に向けた表示をおこなう操作部である。
【0052】
したがって、ASIC1301には、MEM−C1302を接続するためのRAMインターフェイスと、HDD1310を接続するためのハードディスクインターフェースが設けられ、これらの記憶部に対して画像データの入出力をおこなう場合には、入出力先がRAMインターフェイスまたはハードディスクインターフェースに切り替えられる。
【0053】
AGP1308は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェイスであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にする。
【0054】
上記機能構成及び上記ハードウェア構成に加えて、更に、NCS1228とアプリケーション1230との間で行われるデータ送受信に関する処理をシーケンス制御ライブラリとして共通化すると共に、Webサービス機能を実現する際には同様のいくつもの処理が行なわれるため、これら同様の処理を部品化して共通化する方法が考えられる。
【0055】
以下に、シーケンス制御ライブラリとして共通化した場合の基本構成について図3で説明する。図3は、アプリの開発及び追加を容易とする融合機の基本構成例を示す図である。図3中、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。図3において、アプリケーション1230とNCS1228とは、中間層としてのシーケンス制御ライブラリ100を介して、受信データ及び送信データの受け渡しを行う。ここでは、HTTPデーモン2によって通信制御される場合について説明する。他デーモンによる通信制御の場合においても同様に、シーケンス制御ライブラリ100が行う。
【0056】
アプリケーション1230は、データの送信方法を指定するメソッド毎に処理部を有し、例えば、POSTメソッドによる処理を行うPOSTメソッド処理部103と、GETメソッドによる処理を行うGETメソッド処理部104と、POSTメソッド及びGETメソッド以外のメソッドの処理を行うその他メソッド処理部199とを有する。各処理部103、104及び199では、メソッドに特有の解析処理を行うと共に、処理要求に従った処理を実行し、その処理結果をWebサービスとして提供する。
【0057】
シーケンス制御ライブラリ100は、HTTPに従った接続を管理するHTTP接続管理部101と、HTTPに従ってデータの送受信を行うことによってサービスを実行するHTTPサービス実行部102とを有する。
【0058】
HTTPサービス実行部102は、HTTPサービスの要求毎に接続が確立されるため、複数のHTTPサービス実行部102がスレッド(又はプロセス)として生成される。HTTPサービス実行部102は、HTTPヘッダで指定されるデータの送信方法を指定するメソッドに従ってGETメソッド処理部104、POSTメソッド処理部103、その他メソッド処理部199とに処理を振り分ける。
【0059】
NCS1228は、ネットワーク15を介してデータ送受信をHTTPに従って通信制御するHTTPデーモン2と、HTTPデーモン2からの接続及び切断の通知を受けると、HTTP接続管理部101との間で接続及び切断の処理を行う要求仲介デーモン7とを有する。
【0060】
HTTP接続管理部101は、要求仲介デーモン7から最初の接続通知を受けると、共有メモリ99の初期化を行い、可能な接続数分の受信バッファ97及び送信バッファ98を登録し、データ送受信可能な状態とする。また、この初期化によって、複数の接続要求を受付けることができ、接続毎にHTTPサービス実行部102がスレッドとして生成され、接続毎にHTTPサービスの提供を可能とする。
【0061】
例えば、HTTPデーモン2が同時に受けることのできる接続要求の最大数が3であるとすると、予め3つのスレッドを常駐させておくことで、処理性能を向上させることができる。一方、接続毎に1つのスレッドを生成し、処理が終了した時点で終了させることも可能である。
【0062】
アプリケーション1230の各処理部103、104及び199は、HTTPデーモン2及び要求仲介デーモン7と直接データのやり取りを行うのではなく、HTTPサービス実行部102から処理要求を受けて、処理結果を共有バッファ99を介してHTTPサービス実行部102に通知する。
【0063】
各処理部103、104及び199は、例えば、HTTPサービス実行部102からの処理要求を受信後に、処理の対象となる印刷データ(MB単位のデータ)を共有バッファ99から読み込み、処理要求に応じた処理を印刷データに行った処理結果を共有バッファ99に書き込んで、WebサービスとしてHTTPサービス実行部102を介して処理要求元に提供する。処理結果は、例えば、その印刷データに対して画像形成処理を行うことによって生成される画像データ(MB単位のデータ)、或いは、画像形成処理に関するステータスを示すステータス情報等である。
【0064】
つまり、アプリケーション1230の各処理部103、104及び199は、HTTPサービス実行部102によって処理要求が振り分け可能な処理部であれば良い。
【0065】
また、同様に、種々のアプリケーションの追加、つまり、メソッドに対応する処理部の融合機1200への追加をも容易に行うことができる。
【0066】
図3では、Webサービスを提供するためのメソッド毎に処理部を容易に追加することができる基本構成例について説明した。しかし、このようなメソッド毎の処理部では、同じメソッドであるが異なるWebサービスを提供する場合、Webサービスを行うための実際の処理を実行する前に必要となるメソッドに特有の処理をWebサービス毎に備える必要がある。メソッドに特有の処理を共通化することが考えられる。
【0067】
上記NCS1228とアプリケーション1230との間で行われるデータ送受信に関する処理をシーケンス制御ライブラリとして共通化すると共に、メソッドに特有の処理を共通化した場合の構成について図4で説明する。また、その処理フローについて図5及び図6で詳述する。
【0068】
図4は、アプリの開発及び追加を容易とする融合機の第一構成例を示す図である。図4中、図1に示す融合機1200の機能構成のうち主要な機能構成のみが図示され、他の機能構成は省略される。図4中、図3と同様の処理部には同一の符号を付しその説明を省略する。
【0069】
図3に示す基本構成例との違いは、アプリケーション1230のPOSTメソッド処理部103において、Webサービスアプリ1218−1とWebサービスアプリ1218−2とが、POSTメソッドに特有のXMLによるメッセージの解析及びXMLによるメッセージの生成を行うXML処理部103−2と、XMLの解析及び生成に必要な部品を有するXML解析部103−3とを共有化した構成となっている点である。
【0070】
HTTPサービス実行部102からPOSTメソッド処理部103に処理が振り分けられると、POSTメソッド処理部103は、処理要求がXMLメッセージにて記述されている場合、一様に、XML処理部103−2にXMLメッセージの解析を行わせ、実際にWebサービスとして要求に応じた処理を行うWebサービスアプリ1218−1及び1218−2からの応答をXML処理部103−2によってXMLメッセージとして記述させる。XML処理部103−2は、必要に応じてXML解析部103−3を実行し、XMLメッセージの解析及び生成を行う。
【0071】
このような第一構成例では、各Webサービスアプリ1218−1及び1218−2はXMLメッセージの解析及び生成を行う必要がないため、開発者は、POSTメソッドによってWebサービスを実際に行う処理部分のみを開発すれば良いため、新たなWebサービスアプリの融合機1200への追加を容易に行うことができる。
【0072】
図4に示す第一構成例において、WebサービスとしてWebサービスアプリ1218が実行され、その処理結果がHTTPデーモン2に通知されるまでの処理フローについて図5及び図6にて説明する。図5及び図6は、図4の第一構成例における処理フローを示す図である。図5において、要求仲介デーモン7がHTTP接続管理部101に接続を通知すると(ステップS40)、HTTP接続管理部101は、接続通知キュー105にその通知を追加する(ステップS41)。HTTPサービス実行部102は、HTTP接続管理部101に対して接続の取得を要求する(ステップS42)。HTTP接続管理部101は、その要求に応じて、接続通知キュー105に対して通知の取得を要求し(ステップS43)、接続通知キュー105から接続通知を取得する(ステップS44)。
【0073】
HTTP接続管理部101は、接続通知キュー105から取得した接続通知に基づいて、HTTPデーモン2との接続を行う。また、HTTP接続管理部101は、接続管理情報を生成して接続処理部89に保存する(ステップS46)。接続処理部89は、HTTPサービス実行部102で行われる処理の一部である。一方、HTTP接続管理部101からの接続に応じて、HTTPデーモン2は、接続処理部89にHTTPヘッダ情報を保存する(ステップS47)。
【0074】
HTTP接続管理部101は、HTTPサービス実行部102に対して接続管理情報を通知し(ステップS48)、HTTPサービス実行部102は、接続管理情報がPOSTメソッドを指定している場合、POSTメソッド処理部103に対して処理の依頼を行う(ステップS49)。POSTメソッド処理部103は、Content−Typeとしてtext/xmlが指定されている場合、XMLメッセージの解析を行うためXML処理部103−2に対して処理を依頼する(ステップS50)。
【0075】
XML処理部103−2は、接続処理部89に対してデータの読み込みを要求する(ステップS51)。HTTPデーモン2は、受信バッファ97へ受信データを書き込んだことを接続処理部89に通知する(ステップS52)。接続処理部89は、受信データをXML処理部103−2に通知する(ステップS53)。
【0076】
XML処理部103−2は、受信データのうちXMLメッセージの部分をXML解析部103−3に対して解析を依頼する(ステップS54)。そして、XML処理部103−2は、XML解析部103−3に対して結果の取得を要求すると、XML解析部103−3は、XMLメッセージの構文を解析した結果として要素木をXML処理部103−2に通知する(ステップS56)。
【0077】
XML処理部103−2は、XML解析部103−3から通知された要素木によって処理をWebサービスアプリ1218に依頼する(ステップS57)。依頼に応じてWebサービスアプリ1218は、処理を実行し、その処理結果を要素木によってXML処理部103−2に通知する(ステップS58)。
【0078】
XML処理部103−2は、通知された要素木に基づいて、Webサービスアプリ1218による処理結果を接続管理部87にXMLで書き出すことによってXMLメッセージを生成する(ステップS59)。そして、接続処理部89は、XMLメッセージを送信バッファ98へ書き込んで、HTTPデーモン2へ送信バッファ98への書き込みを通知する(ステップS60)。
【0079】
また、XML処理部103−2は、終了通知を接続処理部89に対して行う(ステップS61)。その終了通知に応じて、接続処理部89は、HTTPデーモン2との接続の切断を行う(ステップS62)。更に、XML処理部103−2は、接続処理部89に処理終了を通知する(ステップS63)、接続処理部89は、HTTPサービス実行部102に処理終了を通知する(ステップS64)。そして、HTTPサービス実行部102は、処理が終了したことをHTTP接続管理部101に対して通知する(ステップS65)。
【0080】
上記処理フローにおいて、Webサービスアプリ1218は、ステップS57及びS58にてXML処理部103−2のみとで相互の処理が行われるだけである。このように、シーケンス制御ライブラリ100と、アプリケーション1230のPOSTメソッド処理部103内のXML処理部103−2及びXML解析部103−3等による部品化され共有化された処理部によって、新たなPOSTメソッドによるWebサービスアプリの開発を容易とすることができる。
【0081】
更に、共有メモリ99を用いた送受信データのやり取りを実現するシーケンス制御ライブラリで生成されるスレッドの構成について図7及び図8で説明する。図7及び図8は、シーケンス制御ライブラリのスレッド構成の例を示す図である。
【0082】
図7において、融合機1200が起動すると生成される初期化スレッド191は、仲介デーモン用クライアントスレッド192を生成する(ステップS61)。仲介デーモン用クライアントスレッド192は、HTTP接続管理部101の処理単位であって、HTTP接続管理部101として機能する。そして、初期化スレッド191は、要求仲介デーモン7にアプリケーションを登録する(ステップS62)。更に、初期化スレッド191は、HTTPサービス実行スレッド193を少なくとも1つ以上を生成する(ステップS63)。HTTPサービス実行スレッド193は、HTTPサービス実行部102の処理単位であって、HTTPサービス実行部102として機能する。
【0083】
仲介デーモン用クライアントスレッド192は、要求仲介デーモン7から接続通知を受けると(ステップS64)、接続通知キュー105に接続通知を追加して、HTTPサービス実行スレッド193の1つに接続を通知する(ステップS65)。接続通知を受けたHTTPサービス実行スレッド193は、HTTPデーモン用クライアントスレッド194を生成する(ステップS66)。HTTPサービス実行スレッド193は、HTTPデーモン2と接続する(ステップS67)。
【0084】
要求仲介デーモン7は、HTTPデーモン用クライアントスレッド194に対して受信バッファ97に受信データを書き込んだことを通知する(ステップS68)。そして、HTTPデーモン用クライアントスレッド194は、HTTPサービス実行スレッド193に受信データが書き込まれたことを通知する(ステップS69)。HTTPサービス実行スレッド193は、要求仲介デーモン7が書き込んだ受信データを受信バッファ97から読み出す(ステップS70)。
【0085】
HTTPサービス実行スレッド193は、送信データを送信バッファ98へ書き込んで、送信バッファへの書き込み通知を要求仲介デーモン7へ通知する(ステップS71)。要求仲介デーモン7は、送信バッファ98から送信データを取り出す(ステップS72)。HTTPサービス実行スレッド193は、要求仲介デーモン7との接続を切断する(ステップS73)。
【0086】
シーケンス制御ライブラリ100におけるスレッドの処理によって、共有メモリ99を使用することによる大量のデータのアクセスを可能とすると共に、アプリケーション1230に実装されたWebサービス機能を実際に行うWebサービスアプリ1218から切り離した処理として実現することができる。図4に示されるGETメソッド処理部104及びその他メソッド処理部199での実際にWebサービス機能を行うWebサービスアプリについても同様である。よって、Webサービス機能の開発者は、NCS1228とアプリケーション1230との間で行われるデータ送受信に関する処理フローについての知識を必要とすることなく、Webサービス機能の開発を行うことができる。
【0087】
図4に示す第一構成例では、POSTメソッドにてXMLメッセージによって処理の依頼及び応答を行う場合について説明したが、POSTメソッドには、コンテントタイプに応じた様々な処理形態がある。そのようなPOSTメソッドにおける処理形態毎に共通化した場合について図9で説明する。図9は、アプリの開発及び追加を容易とする融合機の第二構成例を示す図である。図9中、図4と同様の処理部には同一の符号を付し、その説明を省略する。
【0088】
図9において、POSTメソッド処理部103は、図4に示される処理部103−2及び103−3と1218−1から1218−2に相当する処理部103−2及び103−3と1218−4に加えて、共通化される処理部として、コンテンツタイプに基づいて処理を分配するコンテントタイプ分配処理部113−1と、コンテンツタイプにFORMが指定された処理要求を解析するFORMデータ解析部113−2と、コンテンツタイプにマルチパートが指定された処理要求を解析するマルチパート解析部113−4とを有し、Webサービスの提供を行う処理部として、FORMで設定されたデータを実際に処理するWebサービスアプリ1218−3と、マルチパートによって指定されるデータファイルを実際にアップロードするための処理を行うWebサービスアプリ1218−5とを有する。
【0089】
コンテンツタイプ分配処理部113−1は、コンテンツタイプに「application/x−www−form−urlencoded」が指定されている場合、FORMデータ解析部113−2に処理要求を分配し、コンテンツタイプに「multipart/form−data」が指定されている場合、マルチパート解析部113−4に処理要求を分配し、コンテンツタイプに「text/xml」が指定されている場合、XML処理部103−2に処理要求を分配する。
【0090】
処理要求を分配されると、FORMデータ解析部113−2、マルチパート解析部113−4及びXML処理部103−2は、夫々処理の解析処理を行った後、処理要求に対応するWebサービスアプリ1218−3、1218−5、1218−4に対して処理を行わせる。
【0091】
このように、POSTメソッドで扱われるコンテンツタイプに応じた所定の解析処理を共有化することによって、開発者は、コンテンツタイプに応じた所定の解析処理に関する知識を必要とすることなく、新たなWebサービスアプリ1218の開発を行うことができ、また、融合機1200への新たなWebサービスアプリ1218の追加を容易に行うことができる。
【0092】
次に、GETメソッド処理部104において、GETメソッドに特有な処理を共有化する構成について図10で説明する。図10は、アプリの開発及び追加を容易とする融合機の第三構成例を示す図である。図10中、図3と同様の処理部には同一の符号を付し、その説明を省略する。
【0093】
図10において、GETメソッド処理部104は、共通化される処理部として、Webサービスを特定するURL(Uniform resource Locator)に基づいて処理要求を分配するURL分配処理部104−1を有し、Webサービスの提供を行う処理部として、URLに対応する複数のWebサービスアプリ1218−6から1218−8を有する。
【0094】
このように、GETメソッドで扱われるURLの所定の解析処理を共有化することによって、開発者は、URLの所定の解析処理に関する知識を必要とすることなく、新たなWebサービスアプリ1218の開発を行うことができ、また、融合機1200への新たなWebサービスアプリ1218の追加を容易に行うことができる。
【0095】
また、融合機1200が図9に示すPOSTメソッド処理部103と、図10に示すGETメソッド処理部104とを有するように構成されることによって、POSTメソッド及びGETメソッドのいずれにおいても、Webサービスアプリ1218の開発及び追加を容易に行うことができる。
【0096】
本発明によれば、融合機1200がWebサービスを提供するために必要な処理部を部品化し複数のアプリケーションにて共有できる構成とすることができる。したがって、Webサービスの提供に必要な同じような機能をまとめて部品化され、実装されるアプリケーションによってそれら部品化された機能(処理部)を再利用することができるため、アプリケーションの開発及び融合機1200への該アプリケーションの追加を容易に行える。
【0097】
【発明の効果】
以上、説明してきたように、本願発明によれば、Webサービスを提供するために必要な処理部を部品化し複数のアプリケーションにて共有できる構成であるため、Webサービスを提供するアプリケーションの開発を容易とする画像形成装置を提供することができる。
【0098】
【図面の簡単な説明】
【図1】本発明の一実施例に係る多種の画像形成機能を融合する融合機の機能構成を示すブロック図である。
【図2】図1に示す融合機のハードウェア構成を示すブロック図である。
【図3】アプリの開発及び追加を容易とする融合機の基本構成例を示す図である。
【図4】アプリの開発及び追加を容易とする融合機の第一構成例を示す図である。
【図5】図10の第一構成例における処理フローを示す図である。
【図6】図10の第一構成例における処理フローを示す図である。
【図7】シーケンス制御ライブラリのスレッド構成の例を示す図である。
【図8】シーケンス制御ライブラリのスレッド構成の例を示す図である。
【図9】アプリの開発及び追加を容易とする融合機の第二構成例を示す図である。
【図10】アプリの開発及び追加を容易とする融合機の第三構成例を示す図である。
【符号の説明】
2     httpデーモン
7     要求仲介デーモン
15    ネットワーク
100   シーケンス制御ライブラリ
101   HTTP接続管理部
102   HTTPサービス実行部
103   POSTメソッド処理部
103−2 XML処理部、 103−3 XML解析部
1218−1〜1218−8 Webサービスアプリ
104   GETメソッド処理部
113−1 コンテンツタイプ分配処理部
113−2 FORMデータ解析部
113−4 マルチパート解析部
1200  融合機、       1201  プロッタ、
1202  スキャナ、
1203  その他ハードウェアリソース、
1210  ソフトウェア群、
1230  アプリケーション、  1220  プラットフォーム、
1221  OS、        1222  SCS、
1223  SRM、       1224  ECS、
1225  MCS、       1226  OCS、
1227  FCS、       1228  NCS、
1229  IMH、       1240  融合機起動部、
1300  コントローラ、    1301  ASIC、
1302  MEM−C、     1303  HDD、
1304  CPU、       1305  NB、
1306  MEM−P、     1307  SB、
1308  AGP、       1310  オペレーションパネル、
1320  ファックスコントロールユニット
1311  NIC、       1312  USB、
1313  IEEE1394、  1314  セントロニクス、
1350  エンジン部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image forming apparatus that provides a web service, and more particularly, to an image forming apparatus that facilitates development and addition of an application that provides a web service.
[0002]
[Prior art]
2. Description of the Related Art In recent years, an image forming apparatus in which functions of respective apparatuses such as a printer, a copier, a facsimile, and a scanner are housed in one housing is generally known. Such a composite type image forming apparatus includes a display unit, a printing unit, an imaging unit, and the like in a single housing, and also provides applications corresponding to a printer, a copy, a scanner, and a facsimile device. The device operates as a printer, copier, scanner or facsimile machine.
[0003]
[Problems to be solved by the invention]
In recent years, with the development and spread of the Internet, the above-described conventional composite image forming apparatus having a printer function capable of communicating via a network is further connected to the Internet because the apparatus can be connected to a device via the network. It has been desired to provide a Web service provided by communication control using a communication protocol, that is, HTTP (Hypertext Transfer Protocol).
[0004]
However, in addition to the communication control using HTTP, there is a tendency that a message in a general description format such as XML (extensible Markup Language) is described in the body part of HTTP to expand the target range of connected devices. In the above-described conventional composite image forming apparatus, in order for each application that executes processing related to image formation to perform communication control using HTTP and exchange messages using XML or the like, it is necessary to use a different method specified by HTTP for each application. It was necessary to perform the processing and the processing related to the XML description. Therefore, developers who develop applications corresponding to Web services need to develop programs for each function.
[0005]
Therefore, an object of the present invention is to provide a configuration in which a plurality of applications each performing a different image forming process are provided, and a processing unit necessary for providing a Web service is formed as a component and can be shared by the plurality of applications. An object of the present invention is to provide an image forming processing apparatus that facilitates development and addition of an application for providing a service.
[0006]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the present invention provides a method according to claim 1, wherein a plurality of method processing means for performing a predetermined process according to a method, and the method is specified by the processing request in response to the processing request It is configured to have a Web service execution unit that executes a Web service by distributing the processing request to the method processing unit corresponding to the method. In addition, the present invention can be configured to include a plurality of Web service applications that perform processing related to image formation as the Web service by sharing processing in the same method.
[0007]
In such an image forming apparatus, since the process is made up of components for each method, the process specific to the method can be shared by a plurality of Web service applications.
[0008]
Further, according to the present invention, the first method processing means, which is one of the plurality of method processing means, processes the body part of the processing request described in a predetermined description format. A description processing means may be provided, and the Web service application may be configured to be executed based on a processing result by the description processing means.
[0009]
In such an image forming apparatus, a description processing unit (for example, a processing unit that processes XML (extensible Markup Language)) is configured as a component independent of a Web service application. , Without requiring knowledge of XML.
[0010]
Further, according to the present invention, as set forth in claim 4, the first method processing means, which is one of the plurality of method processing means, is configured to execute the first method specifying the first method processing means, A plurality of processing means for executing predetermined processing according to a header designating a description format of a body part of the processing request, and a processing means for distributing the processing request to the processing means corresponding to the content type specified in the processing request And when the first method is specified by the processing request, the processing request is distributed to the first distribution processing means by the Web service execution means, and the first distribution processing means is provided. The processing request is distributed to the processing means corresponding to the header, and based on the processing result by the processing means, the Web service application There can be configured to run.
[0011]
In such an image forming apparatus, since the processing of the first method is independent of the Web service application, in the development of the Web service application to which the processing request is distributed based on this method, the development of the processing related to the content type and the analysis processing No need to do. For example, if the first method processing unit is a processing unit corresponding to the POST method, the content type “application / x-www-form-urlencoded”, “multipart / form-data” specified in the header of the processing request, The process for each “text / xml” is made into a component.
[0012]
Further, according to the present invention, as set forth in claim 5, the second method processing means, which is one of the plurality of method processing means, is configured to perform the second method specifying the second method processing means, A second distribution processing unit that distributes the processing request to the Web service application based on the specific information that specifies the Web service application, wherein when the second method is specified by the processing request, the processing request Can be allocated to the second distribution processing means by the Web service execution means.
[0013]
In such an image forming apparatus, with respect to the second method, distribution processing for distributing a processing request to the Web service application based on specific information (for example, a URL (Uniform resource Locator)) for specifying the Web service application is performed by the Web service application. In this case, there is no need to develop a distribution process when developing a Web service application to which a processing request is distributed based on the second method.
[0014]
Further, according to the present invention, a Web communication protocol daemon for controlling communication via the Web, and a Web communication protocol daemon generated by connecting the Web communication protocol daemon, wherein the Web communication protocol daemon A connection processing unit that controls reading of received data from a predetermined storage area and writing of transmission data to the predetermined storage area performed with a service application can be provided.
[0015]
In such an image forming apparatus, a connection processing unit can be provided between a Web communication protocol daemon (for example, an HTTP daemon) and a Web service application, so that mutual processing is not made conscious.
[0016]
Further, according to the present invention, a connection notification queue for holding a connection notification as a queue, and a connection between the Web service execution unit and the Web communication protocol daemon using the connection notification queue. Request for mediating the connection by notifying the Web connection management means of the Web communication protocol daemon that the connection notification has been received from the Web communication protocol daemon. Means for receiving the connection notification from the connection notification queue on behalf of the Web service application in response to a connection request from the Web service execution means, and executing the Web communication protocol. Can be configured to connect to a daemon.
[0017]
In such an image forming apparatus, a Web connection management unit (for example, an HTTP connection management unit) connects a Web communication protocol daemon (for example, an HTTP daemon) to a Web service execution unit (for example, an HTTP service execution unit).
[0018]
Further, according to the present invention, as described in claim 8, the Web connection management means generates the connection processing means after connecting with the Web communication protocol daemon, and connects the Web service execution means to the Web service execution means. The Web service execution unit may be configured to notify the management information and to distribute the processing request to the method processing unit corresponding to the method specified by the processing request in response to the notification.
[0019]
In such an image forming apparatus, a Web connection management unit (for example, an HTTP connection management unit) generates a connection processing unit (for example, a connection processing unit), and a Web service execution unit (for example, an HTTP service execution unit) performs connection management. Notify information.
[0020]
According to a ninth aspect of the present invention, when the connection processing unit receives a processing notification from the method processing unit to which the processing request is distributed, the connection processing unit disconnects the connection with the Web communication protocol daemon. Can be configured. Further, according to the present invention, as set forth in claim 10, the connection processing means notifies the Web service execution means that the processing according to the processing request has been completed, and the Web service execution means, It can be configured to notify the Web connection management means of the end of the processing.
[0021]
In such an image forming apparatus, the connection processing unit (for example, the connection processing unit) disconnects the connection with the Web communication protocol daemon (for example, the HTTP daemon) instead of the Web service application.
[0022]
Further, according to the present invention, a plurality of hardware resources used in the image forming process are managed, and the plurality of hardware resources are managed in response to a use request from the plurality of Web service applications. And a control service for controlling the use of the Web service for the hardware resources, and an operating system for controlling the plurality of Web service applications and the control service.
[0023]
In such an image forming apparatus, data relating to image formation is transmitted and received between a Web communication protocol daemon and a plurality of Web applications, and access to a plurality of hardware resources is also realized by the executed plurality of Web applications. can do.
[0024]
As a means for solving the above-mentioned problems, the present invention can also be a recording medium on which the above-mentioned program to be executed by a computer is recorded.
[0025]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0026]
An image forming apparatus according to an embodiment of the present invention (hereinafter, referred to as a multi-functional peripheral) that fuses various image forming functions has a functional configuration as shown in FIG. 1, for example. FIG. 1 is a block diagram illustrating a functional configuration of a multifunction peripheral that fuses various image forming functions according to an embodiment of the present invention.
[0027]
In FIG. 1, the MFP 1200 includes a plotter 1201, a scanner 1202, other hardware resources 1203, and the like, and further includes a software group 1210 including a platform 1220 and an application 1230, and a MFP startup unit 1240. ing.
[0028]
The fusion machine activation unit 1240 is firstly executed when the power of the fusion machine 1200 is turned on, and activates the platform 1220 and the application 1230.
[0029]
The platform 1220 interprets the processing request from the application 1230 and generates a hardware resource acquisition request as described below. The platform 1220 manages one or more hardware resources and obtains the hardware resource acquisition request from the control service 1250. It has a system resource manager (SRM (System Resource Manager) 1223) that arbitrates requests and an OS (Operating System) 1221.
[0030]
The control service 1250 is formed by a plurality of service modules. More specifically, the SCS (System Control Service) 1222, the ECS (Engine Control Service) 1224, the MCS (Memory Control Service) 1225, and the OCS (Operation) There are a panel control service (FAC) 1227, an FCS (FAX Control Service) 1227, a network control service (NCS) 1228, and an imaging memory handler (IMH) 1229. The platform 1220 is defined in advance by the platform function 1220. Can receive processing requests from applications Having an application program interface that.
[0031]
The OS 1221 is an operating system such as UNIX (registered trademark), and executes each software of the platform 1220 and the application 1230 as a process in parallel. By using the open source UNIX (registered trademark), the security of the program can be ensured, the network can be supported, and the source code can be easily obtained. Furthermore, royalties for OS and TCP / IP are not required, and outsourcing is also facilitated.
[0032]
The SRM 1223 controls the system and manages resources together with the SCS 1222. The SRM 1223 includes an engine unit such as a scanner and a plotter, a memory, an HDD file, a host I / O (a Centro I / F, a network I / F, an IEEE 1394 I / F, It performs arbitration in accordance with a request from an upper layer using hardware resources such as RS232CI / F, and controls execution.
[0033]
Specifically, the SRM 1223 determines whether the requested hardware resource is available (whether the requested hardware resource is not used by another request), and if the requested hardware resource is available, the requested hardware resource is Communicate availability to upper layers. In addition, hardware resource use scheduling may be performed in response to a request from an upper layer, and the content of the request (for example, paper conveyance and image forming operation by a printer engine, memory reservation, file generation, etc.) may be directly implemented. .
[0034]
The SCS 1222 includes application management (function 1), operation unit control (function 2), system screen display (job list screen, counter display screen, etc.) (function 3), LED display (function 4), resource management (function 5), It performs a plurality of functions such as interrupt application control (function 6). Specifically, in the application management (function 1), processing for registering an application and notifying the information to another application is performed. In the operation unit control (function 2), exclusive control of the operation unit use right of the application is performed. In the system screen display (function 3), a warning screen corresponding to the state of the engine unit is displayed according to the request content from the application having the operation unit use right. In the LED display (function 4), display control of system LEDs such as a warning LED and an application key is performed. The resource management (function 5) provides a service for exclusive control of engine resources (scanners, staples, etc.) that must be exclusive when an application executes a job using ECS. In the interrupt application control (function 6), control and service for causing a specific application to operate preferentially are performed.
[0035]
The ECS 1224 controls an engine unit such as a plotter 1201, a scanner 1202, and other hardware resources 1203, and performs image reading and printing operation, status notification, jam recovery, and the like.
[0036]
The MCS 1225 performs memory control, and specifically performs acquisition and release of an image memory, use of a hard disk device (HDD), compression and decompression of image data, and the like.
[0037]
The OCS 1226 is a module that controls an operation panel serving as information transmission means between the operator and the main body control. The OCS 1226 provides processing for notifying the main body control of key operation events of the operator, and provides a library function for each application to construct a GUI. Processing, processing for managing the constructed GUI information for each application, processing for reflecting the display on the operation panel, and the like are performed.
[0038]
The FCS 1227 performs facsimile transmission / reception using PSTN / ISDN 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. API (Application Program Interface).
[0039]
The NCS 1228 is a group of modules for providing services that can be used in common to applications that require network I / O. The NCS 1228 distributes data received from the network according to each protocol to each application, and distributes data from an application. Mediates transmission to the network side.
[0040]
In the present embodiment, the NCS 1228 controls data communication with a network device connected via the Internet by HTTP (Hypertext Transfer Protocol) using an HTTP (Hypertext Transfer Protocol) daemon among a plurality of protocols, and uses an HTTP request header to control data communication with the HTTP request header. A plurality of Web services required for the specified processing are started by a function call, and the processing results of the plurality of Web services are notified to the network device by an HTTP response. The Web service performs processing according to a message described in, for example, XML (extensible Markup Language).
[0041]
The IMH 1229 maps image data from a virtual memory area (user virtual space) to a physical memory. In response to the start of the process, a system call is made to map a virtual memory area for the process, or to perform processing for releasing the mapped virtual memory area at the end of the process.
[0042]
The application 1230 includes a printer application 1211 that is a printer application having a page description language (PDL), PCL, and PostScript (PS), a copy application 1212 that is a copy application, and a facsimile application 1213 that is a facsimile application. A scanner application 1214 as a scanner application, a net file application 1215 as a net file application, a process inspection application 1216 as a process inspection application, a distribution application 1217 as a distribution application, and the executed processing result. A web service application 1218 provided as a web service. Since each of the applications 1211 to 1218 can execute an operation using each process on the platform 1220, a screen display control program that performs screen control, key operation control, job generation, and the like is mainly performed. Note that a new application can be installed via the network connected by the NCS 1228. Further, each application can be added or deleted for each application.
[0043]
Here, the Web service application 1218 is an application that executes a process corresponding to the HTTP request notified by the NCS 1228, and the processing result is provided as an HTTP response to the network device that made the HTTP request by the NCS 1228.
[0044]
In this way, the multifunction peripheral 1200 unifies the processing commonly required by the applications on the platform 1220.
[0045]
Next, the hardware configuration of the MFP 1200 will be described. FIG. 2 is a block diagram showing a hardware configuration of the multifunction peripheral shown in FIG. As shown in FIG. 2, the MFP 1200 includes an operation panel 1310, an FCU (fax control unit) 1320, an engine unit 1350 including a plotter 1201, a scanner 1202 and other hardware, and an ASIC 1301 of the controller 1300. Are connected by a PCI (Peripheral Component Interconnect) bus or the like. The FCU 1320 has a non-volatile memory 1321 for storing received fax data and an RTC (Real Time Clock) 1322 for measuring time in the FCU 1320, and transmits and receives fax data according to the normal G3 standard. . The FCU 1320 may further include the G3 standard and the G4 standard as options.
[0046]
The controller 1300 connects the ASIC 1301 with a MEM-C 1302, a hard disk drive (HDD) 1303, and the like, and connects the ASIC 1301 with the CPU 1304 via the NB 1305 of a CPU chipset. The reason for connection via the NB 1305 is that the interface of the CPU 1304 itself is not disclosed.
[0047]
Here, the ASIC 1301 and the NB 1305 are not simply connected via the PCI, but are connected via the AGP 1308. The reason for the connection via the AGP 1308 is that the MFP 1200 controls the execution of a plurality of processes forming the platform 1220 and the application 1230. Is reduced.
[0048]
The CPU 1304 performs overall control of the MFP 1200. Specifically, the SCS 1222, the SRM 1223, the ECS 1224, the MCS 1225, the OCS 1226, the FCS 1227, and the NCS 1228 which form the platform 1220 on the OS 1221 are started and executed as processes. At the same time, a printer application 1211, a copy application 1212, a fax application 1213, a scanner application 1214, a net file application 1215, a process inspection application 1216, a distribution application 1217, and a web service application 1218 which form the application 1230 are activated and executed.
[0049]
An NB 1305 is a bridge for connecting the CPU 1304 to the MEM-P 1306, the SB 1307, and the ASIC 1301. The MEM-P 1306 is a system memory used as a drawing memory of the multifunction peripheral, and the MEM-C 1302 is a copy image buffer. ASIC 1301 is a local memory used as a code buffer. The ASIC 1301 is an IC for image processing having hardware components for image processing.
[0050]
The NB 1305 connects to the SB 1307 via a PCI bus, and also controls an NIC (Network Interface Card) 1311 for controlling network communication, and a USB (Universal Serial Bus) for connecting to a personal computer and enabling transmission and reception of a large amount of image data. 1312 and IEEE13941313, and a Centronics 1314 connectable by a parallel cable. The SB 1307 is a bridge for connecting the NB 1305 to a ROM, a PCI device, and a peripheral device. The SB 1307 has an RTC (Real Time Clock) 1323 for measuring time in the controller 1300.
[0051]
The HDD 1310 is a storage for storing image data, storing programs, storing font data, and storing forms. The operation panel 1310 receives an input operation from an operator and performs display for the operator. An operation unit.
[0052]
Therefore, the ASIC 1301 is provided with a RAM interface for connecting the MEM-C 1302 and a hard disk interface for connecting the HDD 1310. When inputting and outputting image data to and from these storage units, The destination is switched to the RAM interface or the hard disk interface.
[0053]
The AGP 1308 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and speeds up the graphics accelerator card by directly accessing the system memory at high throughput.
[0054]
In addition to the above functional configuration and the above hardware configuration, the processes related to data transmission / reception performed between the NCS 1228 and the application 1230 are shared as a sequence control library. Since such processing is performed, a method of making these similar processing parts and sharing them is considered.
[0055]
Hereinafter, a basic configuration in the case where the sequence control library is shared will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of a basic configuration of a multifunction peripheral that facilitates development and addition of an application. In FIG. 3, only the main functional configuration among the functional configurations of the MFP 1200 illustrated in FIG. 1 is illustrated, and other functional configurations are omitted. In FIG. 3, an application 1230 and an NCS 1228 exchange received data and transmitted data via a sequence control library 100 as an intermediate layer. Here, a case where communication is controlled by the HTTP daemon 2 will be described. Similarly, the sequence control library 100 performs communication control by another daemon.
[0056]
The application 1230 has a processing unit for each method that specifies a data transmission method. For example, a POST method processing unit 103 that performs processing by a POST method, a GET method processing unit 104 that performs processing by a GET method, and a POST method And a method processing unit 199 for performing processing of a method other than the GET method. Each of the processing units 103, 104, and 199 performs an analysis process unique to the method, executes a process according to the process request, and provides the processing result as a Web service.
[0057]
The sequence control library 100 includes an HTTP connection management unit 101 that manages a connection according to HTTP, and an HTTP service execution unit 102 that executes a service by transmitting and receiving data according to HTTP.
[0058]
In the HTTP service execution unit 102, a connection is established for each request for the HTTP service, so that a plurality of HTTP service execution units 102 are generated as threads (or processes). The HTTP service execution unit 102 distributes the processing to the GET method processing unit 104, the POST method processing unit 103, and the other method processing unit 199 according to the method that specifies the data transmission method specified by the HTTP header.
[0059]
The NCS 1228, upon receiving a notification of connection and disconnection from the HTTP daemon 2 that performs communication control of data transmission and reception via the network 15 according to HTTP, and performs connection and disconnection processing with the HTTP connection management unit 101. And a request mediation daemon 7 for performing the request.
[0060]
Upon receiving the first connection notification from the request mediation daemon 7, the HTTP connection management unit 101 initializes the shared memory 99, registers the reception buffers 97 and transmission buffers 98 for the number of possible connections, and enables data transmission and reception. State. Also, by this initialization, a plurality of connection requests can be accepted, the HTTP service execution unit 102 is generated as a thread for each connection, and the HTTP service can be provided for each connection.
[0061]
For example, assuming that the maximum number of connection requests that the HTTP daemon 2 can receive at the same time is 3, the processing performance can be improved by previously resident three threads. On the other hand, it is also possible to generate one thread for each connection and terminate the processing when the processing is completed.
[0062]
The processing units 103, 104, and 199 of the application 1230 do not directly exchange data with the HTTP daemon 2 and the request mediation daemon 7, but receive a processing request from the HTTP service execution unit 102 and store the processing result in the shared buffer 99. To the HTTP service execution unit 102 via
[0063]
For example, after receiving the processing request from the HTTP service execution unit 102, each of the processing units 103, 104, and 199 reads the print data (data in MB units) to be processed from the shared buffer 99, and responds to the processing request. The processing result obtained by performing the processing on the print data is written into the shared buffer 99, and is provided as a Web service to the processing request source via the HTTP service execution unit 102. The processing result is, for example, image data (data in MB) generated by performing image forming processing on the print data, status information indicating a status related to the image forming processing, or the like.
[0064]
That is, each of the processing units 103, 104, and 199 of the application 1230 may be any processing unit that can distribute a processing request by the HTTP service execution unit 102.
[0065]
Similarly, it is also possible to easily add various applications, that is, add a processing unit corresponding to the method to the MFP 1200.
[0066]
FIG. 3 illustrates an example of a basic configuration in which a processing unit can be easily added for each method for providing a Web service. However, when providing the same method but different Web services, such a processing unit for each method performs processing specific to the method necessary before executing actual processing for performing the Web service. It is necessary to prepare for each. It is conceivable to standardize the processing specific to the method.
[0067]
FIG. 4 illustrates a configuration in which processing related to data transmission and reception performed between the NCS 1228 and the application 1230 is shared as a sequence control library and processing specific to a method is shared. The processing flow will be described in detail with reference to FIGS.
[0068]
FIG. 4 is a diagram illustrating a first configuration example of a multifunction peripheral that facilitates development and addition of an application. In FIG. 4, only the main functional configuration among the functional configurations of the MFP 1200 illustrated in FIG. 1 is illustrated, and other functional configurations are omitted. 4, the same reference numerals are given to the same processing units as those in FIG. 3, and the description thereof will be omitted.
[0069]
The difference from the basic configuration example shown in FIG. 3 is that, in the POST method processing unit 103 of the application 1230, the Web service application 1218-1 and the Web service application 1218-2 analyze a message using XML specific to the POST method and perform XML analysis. The configuration is such that an XML processing unit 103-2 for generating a message according to XML and an XML analysis unit 103-3 having components required for XML analysis and generation are shared.
[0070]
When the processing is distributed from the HTTP service execution unit 102 to the POST method processing unit 103, when the processing request is described in the XML message, the POST method processing unit 103 uniformly sends the XML to the XML processing unit 103-2. The XML processing unit 103-2 causes the XML processing unit 103-2 to describe a message as an XML message by analyzing the message and actually responding to the request as the Web service from the Web service applications 1218-1 and 1218-2. The XML processing unit 103-2 executes the XML analysis unit 103-3 as necessary to analyze and generate an XML message.
[0071]
In the first configuration example described above, since each of the Web service applications 1218-1 and 1218-2 does not need to analyze and generate the XML message, the developer needs only the processing part that actually performs the Web service by the POST method. , It is possible to easily add a new Web service application to the MFP 1200.
[0072]
In the first configuration example shown in FIG. 4, a processing flow until the Web service application 1218 is executed as a Web service and the processing result is notified to the HTTP daemon 2 will be described with reference to FIGS. 5 and 6 are diagrams showing a processing flow in the first configuration example of FIG. In FIG. 5, when the request mediation daemon 7 notifies the HTTP connection management unit 101 of the connection (step S40), the HTTP connection management unit 101 adds the notification to the connection notification queue 105 (step S41). The HTTP service execution unit 102 requests the HTTP connection management unit 101 to acquire a connection (step S42). In response to the request, the HTTP connection management unit 101 requests the connection notification queue 105 to acquire a notification (step S43), and acquires a connection notification from the connection notification queue 105 (step S44).
[0073]
The HTTP connection management unit 101 establishes a connection with the HTTP daemon 2 based on the connection notification acquired from the connection notification queue 105. Further, the HTTP connection management unit 101 generates connection management information and stores it in the connection processing unit 89 (step S46). The connection processing unit 89 is a part of the processing performed by the HTTP service execution unit 102. On the other hand, according to the connection from the HTTP connection management unit 101, the HTTP daemon 2 stores the HTTP header information in the connection processing unit 89 (Step S47).
[0074]
The HTTP connection management unit 101 notifies the HTTP service execution unit 102 of the connection management information (step S48). If the connection management information specifies the POST method, the HTTP service execution unit 102 A request for processing is made to 103 (step S49). When text / xml is specified as Content-Type, the POST method processing unit 103 requests the XML processing unit 103-2 to perform processing to analyze the XML message (step S50).
[0075]
The XML processing unit 103-2 requests the connection processing unit 89 to read data (step S51). The HTTP daemon 2 notifies the connection processing unit 89 that the reception data has been written to the reception buffer 97 (step S52). The connection processing unit 89 notifies the XML processing unit 103-2 of the received data (Step S53).
[0076]
The XML processing unit 103-2 requests the XML analysis unit 103-3 to analyze the XML message part of the received data (step S54). Then, when the XML processing unit 103-2 requests the XML analysis unit 103-3 to acquire the result, the XML analysis unit 103-3 converts the element tree as a result of analyzing the syntax of the XML message into the XML processing unit 103-3. -2 (step S56).
[0077]
The XML processing unit 103-2 requests the Web service application 1218 to perform processing based on the element tree notified from the XML analysis unit 103-3 (Step S57). In response to the request, the Web service application 1218 executes a process, and notifies the XML processing unit 103-2 of the process result using an element tree (Step S58).
[0078]
The XML processing unit 103-2 generates an XML message by writing the processing result by the Web service application 1218 to the connection management unit 87 in XML based on the notified element tree (step S59). Then, the connection processing unit 89 writes the XML message into the transmission buffer 98 and notifies the HTTP daemon 2 of the writing into the transmission buffer 98 (step S60).
[0079]
Further, the XML processing unit 103-2 sends an end notification to the connection processing unit 89 (step S61). In response to the end notification, the connection processing unit 89 disconnects the connection with the HTTP daemon 2 (step S62). Further, the XML processing unit 103-2 notifies the connection processing unit 89 of the end of the process (step S63), and the connection processing unit 89 notifies the HTTP service execution unit 102 of the end of the process (step S64). Then, the HTTP service execution unit 102 notifies the HTTP connection management unit 101 that the processing has been completed (step S65).
[0080]
In the above processing flow, the Web service application 1218 only performs mutual processing with the XML processing unit 103-2 in steps S57 and S58. As described above, a new POST method is created by the sequence control library 100 and the processing unit which is made into a component and shared by the XML processing unit 103-2 and the XML analysis unit 103-3 in the POST method processing unit 103 of the application 1230. Can easily develop a Web service application.
[0081]
Further, a configuration of a thread generated by a sequence control library for realizing exchange of transmission / reception data using the shared memory 99 will be described with reference to FIGS. 7 and 8 are diagrams illustrating an example of the thread configuration of the sequence control library.
[0082]
In FIG. 7, an initialization thread 191 generated when the MFP 1200 is activated generates a mediation daemon client thread 192 (step S61). The mediation daemon client thread 192 is a processing unit of the HTTP connection management unit 101 and functions as the HTTP connection management unit 101. Then, the initialization thread 191 registers the application in the request mediation daemon 7 (Step S62). Further, the initialization thread 191 generates at least one HTTP service execution thread 193 (step S63). The HTTP service execution thread 193 is a processing unit of the HTTP service execution unit 102 and functions as the HTTP service execution unit 102.
[0083]
Upon receiving the connection notification from the request relay daemon 7 (step S64), the mediation daemon client thread 192 adds a connection notification to the connection notification queue 105 and notifies one of the HTTP service execution threads 193 of the connection (step S64). S65). The HTTP service execution thread 193 that has received the connection notification generates an HTTP daemon client thread 194 (step S66). The HTTP service execution thread 193 connects to the HTTP daemon 2 (Step S67).
[0084]
The request mediation daemon 7 notifies the HTTP daemon client thread 194 that the reception data has been written to the reception buffer 97 (step S68). Then, the HTTP daemon client thread 194 notifies the HTTP service execution thread 193 that the received data has been written (step S69). The HTTP service execution thread 193 reads the reception data written by the request mediation daemon 7 from the reception buffer 97 (Step S70).
[0085]
The HTTP service execution thread 193 writes the transmission data to the transmission buffer 98, and notifies the request mediation daemon 7 of a write notification to the transmission buffer 98 (step S71). The request mediation daemon 7 takes out the transmission data from the transmission buffer 98 (Step S72). The HTTP service execution thread 193 disconnects the connection with the request mediation daemon 7 (Step S73).
[0086]
Thread processing in the sequence control library 100 enables access to a large amount of data by using the shared memory 99, and processing separated from the Web service application 1218 that actually performs the Web service function implemented in the application 1230. Can be realized as The same applies to a Web service application that actually performs a Web service function in the GET method processing unit 104 and the other method processing unit 199 illustrated in FIG. Therefore, the developer of the Web service function can develop the Web service function without requiring knowledge of the processing flow regarding data transmission and reception performed between the NCS 1228 and the application 1230.
[0087]
In the first configuration example shown in FIG. 4, a case has been described in which a request for processing and a response are made by an XML message using the POST method. However, the POST method has various processing forms according to the content type. FIG. 9 illustrates a case where such a POST method is standardized for each processing mode. FIG. 9 is a diagram illustrating a second configuration example of the multifunction peripheral that facilitates development and addition of an application. 9, the same reference numerals are given to the same processing units as those in FIG. 4, and the description thereof will be omitted.
[0088]
In FIG. 9, the POST method processing unit 103 includes processing units 103-2 and 103-3 and processing units 103-2, 103-3, and 1218-4 corresponding to 1218-1 to 1218-2 shown in FIG. In addition, as common processing units, there are a content type distribution processing unit 113-1 that distributes processing based on a content type, and a FORM data analysis unit 113-2 that analyzes a processing request in which FORM is specified as a content type. And a multi-part analysis unit 113-4 for analyzing a processing request in which a multi-part is designated as a content type, and as a processing unit for providing a Web service, a Web service for actually processing data set by FORM. The application 1218-3 and the data file specified by the multipart And a Web service application 1218-5 to perform the processing.
[0089]
When “application / x-www-form-urlencoded” is specified as the content type, the content type distribution processing unit 113-1 distributes the processing request to the FORM data analysis unit 113-2, and “multipart” / Form-data "is specified, the processing request is distributed to the multi-part analysis unit 113-4, and when" text / xml "is specified for the content type, the processing request is transmitted to the XML processing unit 103-2. Distribute.
[0090]
When the processing request is distributed, the FORM data analysis unit 113-2, the multipart analysis unit 113-4, and the XML processing unit 103-2 perform the analysis processing of the processing, respectively, and then execute the Web service application corresponding to the processing request. The processing is performed on 1218-3, 1218-5, and 1218-4.
[0091]
As described above, by sharing a predetermined analysis process corresponding to the content type handled by the POST method, the developer can create a new Web site without needing knowledge about the predetermined analysis process corresponding to the content type. The service application 1218 can be developed, and a new Web service application 1218 can be easily added to the MFP 1200.
[0092]
Next, a configuration in which the GET method processing unit 104 shares processing unique to the GET method will be described with reference to FIG. FIG. 10 is a diagram illustrating a third configuration example of the multifunction peripheral that facilitates development and addition of an application. 10, the same reference numerals are given to the same processing units as those in FIG. 3, and the description thereof will be omitted.
[0093]
In FIG. 10, the GET method processing unit 104 includes a URL distribution processing unit 104-1 that distributes a processing request based on a URL (Uniform resource Locator) that specifies a Web service, as a processing unit to be shared, The processing unit that provides the service includes a plurality of Web service applications 1218-6 to 1218-8 corresponding to the URL.
[0094]
As described above, by sharing a predetermined analysis process of a URL handled by the GET method, the developer can develop a new Web service application 1218 without requiring knowledge about the predetermined analysis process of the URL. This can be easily performed, and a new Web service application 1218 can be easily added to the MFP 1200.
[0095]
Further, since the MFP 1200 is configured to include the POST method processing unit 103 shown in FIG. 9 and the GET method processing unit 104 shown in FIG. 10, the Web service application can be used in both the POST method and the GET method. 1218 can be easily developed and added.
[0096]
According to the present invention, it is possible to configure a processing unit necessary for the multi-function peripheral 1200 to provide a Web service as a component so that it can be shared by a plurality of applications. Therefore, similar functions required for providing a Web service are collectively made into components, and the functions (processing units) made into those components can be reused by the mounted application. 1200 can be easily added to the application.
[0097]
【The invention's effect】
As described above, according to the present invention, the processing unit required to provide the Web service is configured as a component and can be shared by a plurality of applications, so that the development of the application that provides the Web service is facilitated. Image forming apparatus can be provided.
[0098]
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a functional configuration of a multifunction peripheral that fuses various image forming functions according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of the MFP shown in FIG.
FIG. 3 is a diagram illustrating an example of a basic configuration of a multifunction peripheral that facilitates development and addition of an application.
FIG. 4 is a diagram illustrating a first configuration example of a multifunction peripheral that facilitates development and addition of an application.
FIG. 5 is a diagram showing a processing flow in the first configuration example of FIG. 10;
FIG. 6 is a diagram showing a processing flow in the first configuration example of FIG. 10;
FIG. 7 is a diagram illustrating an example of a thread configuration of a sequence control library.
FIG. 8 is a diagram illustrating an example of a thread configuration of a sequence control library.
FIG. 9 is a diagram illustrating a second configuration example of a multifunction peripheral that facilitates development and addition of an application.
FIG. 10 is a diagram illustrating a third configuration example of a multifunction peripheral that facilitates development and addition of an application.
[Explanation of symbols]
2 http daemon
7 Request mediation daemon
15 Network
100 sequence control library
101 HTTP connection management unit
102 HTTP service execution unit
103 POST method processing unit
103-2 XML processing unit, 103-3 XML analysis unit
1218-1 to 1218-8 Web Service Application
104 GET method processing unit
113-1 Content Type Distribution Processing Unit
113-2 FORM Data Analysis Unit
113-4 Multipart Analysis Unit
1200 fusion machine, 1201 plotter,
1202 scanner,
1203 Other hardware resources,
1210 software group,
1230 application, 1220 platform,
1221 OS, 1222 SCS,
1223 SRM, 1224 ECS,
1225 MCS, 1226 OCS,
1227 FCS, 1228 NCS,
1229 IMH, 1240 multifunction machine activation unit,
1300 controller, 1301 ASIC,
1302 MEM-C, 1303 HDD,
1304 CPU, 1305 NB,
1306 MEM-P, 1307 SB,
1308 AGP, 1310 Operation Panel,
1320 Fax control unit
1311 NIC, 1312 USB,
1313 IEEE 1394, 1314 Centronics,
1350 Engine

Claims (13)

メソッドに従った所定の処理を行う複数のメソッド処理手段と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手段に該処理要求を振り分けることによってWebサービスを実行するWebサービス実行手段とを有することを特徴とする画像形成装置。
A plurality of method processing means for performing predetermined processing according to the method,
An image forming apparatus comprising: a web service execution unit that executes a web service by distributing the processing request to the method processing unit corresponding to the method specified by the processing request in response to the processing request. .
同一メソッドにおける処理を共有し、上記Webサービスとして画像形成に関する処理を行う複数のWebサービスアプリケーションを有することを特徴とする請求項1記載の画像形成装置。2. The image forming apparatus according to claim 1, further comprising a plurality of Web service applications that share processing in the same method and perform processing related to image formation as the Web service. 上記複数のメソッド処理手段の1つである第一メソッド処理手段は、所定記述形式によって記述された上記処理要求のボディ部を処理する記述処理手段を有し、
上記記述処理手段による処理結果に基づいて、上記Webサービスアプリケーションが実行されることを特徴とする請求項1又は2記載の画像形成装置。
The first method processing means, which is one of the plurality of method processing means, has a description processing means for processing a body part of the processing request described in a predetermined description format,
The image forming apparatus according to claim 1, wherein the Web service application is executed based on a processing result by the description processing unit.
上記複数のメソッド処理手段の1つである第一メソッド処理手段は、
上記第一メソッド処理手段を指定する上記第一メソッドに関して、上記処理要求のボディ部の記述形式を指定するヘッダに応じた所定の処理を実行する複数の処理手段と、
上記処理要求に指定されるコンテンツタイプに対応する上記処理手段に該処理要求を分配する第一分配処理手段とを有し、
上記第一メソッドが上記処理要求によって指定されている場合、該処理要求が上記Webサービス実行手段によって上記第一分配処理手段に振り分けられ、上記第一分配処理手段によって、上記処理要求が上記ヘッダに対応する上記処理手段に分配され、該処理手段による処理結果に基づいて、上記Webサービスアプリケーションが実行されることを特徴とする請求項1又は2記載の画像形成装置。
The first method processing means, which is one of the plurality of method processing means,
A plurality of processing means for executing a predetermined process according to a header specifying a description format of a body part of the processing request, for the first method specifying the first method processing means;
First distribution processing means for distributing the processing request to the processing means corresponding to the content type specified in the processing request,
When the first method is specified by the processing request, the processing request is distributed to the first distribution processing unit by the Web service execution unit, and the processing request is stored in the header by the first distribution processing unit. 3. The image forming apparatus according to claim 1, wherein the image forming apparatus is distributed to a corresponding one of the processing units, and the web service application is executed based on a processing result of the processing unit.
上記複数のメソッド処理手段の1つである第二メソッド処理手段は、
上記第二メソッド処理手段を指定する上記第二メソッドに関して、上記Webサービスアプリケーションを特定する特定情報に基づいて、上記処理要求を該Webサービスアプリケーションに分配する第二分配処理手段を有し、
上記第二メソッドが上記処理要求によって指定されている場合、該処理要求が上記Webサービス実行手段によって上記第二分配処理手段に振り分けられることを特徴とする請求項1乃至4のいずれか一項記載の画像形成装置。
The second method processing means, which is one of the plurality of method processing means,
A second distribution processing unit that distributes the processing request to the Web service application based on the specific information that specifies the Web service application with respect to the second method that specifies the second method processing unit;
The method according to any one of claims 1 to 4, wherein when the second method is specified by the processing request, the processing request is distributed to the second distribution processing unit by the Web service execution unit. Image forming apparatus.
Webを介して通信制御を行うWeb通信プロトコルデーモンと、
上記Web通信プロトコルデーモンとの接続によって生成され、該Web通信プロトコルデーモンと上記Webサービスアプリケーションとの間で行われる所定記憶領域からの受信データの読み込み及び該所定記憶領域への送信データの書き込みを制御する接続処理手段とを有することを特徴とする請求項2乃至5のいずれか一項記載の画像形成装置。
A web communication protocol daemon for controlling communication via the web,
Controlling reading of received data from a predetermined storage area and writing of transmission data to the predetermined storage area, which is generated by connection with the Web communication protocol daemon and performed between the Web communication protocol daemon and the Web service application. The image forming apparatus according to claim 2, further comprising a connection processing unit that performs connection processing.
接続通知をキューとして保持する接続通知キューと、
上記接続通知キューを用いて、上記Webサービス実行手段と上記Web通信プロトコルデーモンとの接続を管理するWeb接続管理手段と、
上記Web通信プロトコルデーモンから上記接続通知があったことを、上記Web通信プロトコルデーモンに代わって、上記Web接続管理手段へ通知することによって接続を仲介する接続要求仲介手段とを有し、
上記Web接続管理手段は、上記Webサービス実行手段からの接続要求に応じて、上記Webサービスアプリケーションに代わって、上記接続通知キューから上記接続通知を取り出して、記Web通信プロトコルデーモンと接続することを特徴とする請求項6記載の画像形成装置。
A connection notification queue that holds connection notifications as a queue,
Web connection management means for managing a connection between the Web service execution means and the Web communication protocol daemon using the connection notification queue;
Connection request mediation means for mediating a connection by notifying the Web communication protocol daemon that the connection notification has been received from the Web communication protocol daemon to the Web connection management means,
The Web connection management means retrieves the connection notification from the connection notification queue on behalf of the Web service application in response to a connection request from the Web service execution means, and connects to the Web communication protocol daemon. The image forming apparatus according to claim 6, wherein:
上記Web接続管理手段は、上記Web通信プロトコルデーモンと接続後、上記接続処理手段を生成し、上記Webサービス実行手段に上記接続に関する接続管理情報を通知し、
上記Webサービス実行手段は、上記通知を受けて、上記処理要求を該処理要求で指定されるメソッドに対応する上記メソッド処理手段に振り分けることを特徴とする請求項7記載の画像形成装置。
The Web connection management means, after connecting to the Web communication protocol daemon, generates the connection processing means, and notifies the Web service execution means of connection management information regarding the connection,
8. The image forming apparatus according to claim 7, wherein the Web service execution unit receives the notification and distributes the processing request to the method processing unit corresponding to a method specified by the processing request.
上記接続処理手段は、上記処理要求が振り分けられた上記メソッド処理部から処理通知を受信すると、上記Web通信プロトコルデーモンとの接続を切断することを特徴とする請求項8記載の画像形成装置。9. The image forming apparatus according to claim 8, wherein the connection processing unit disconnects the connection with the Web communication protocol daemon when receiving a processing notification from the method processing unit to which the processing request is distributed. 上記接続処理手段は、上記Webサービス実行手段に上記処理要求に応じた処理を終了したことを通知し、
上記Webサービス実行手段は、上記Web接続管理手段に上記処理の終了を通知することを特徴とする請求項8又は9記載の画像形成装置。
The connection processing means notifies the Web service execution means that the processing according to the processing request has been completed,
10. The image forming apparatus according to claim 8, wherein the web service execution unit notifies the web connection management unit of the end of the processing.
上記画像形成処理で利用される複数のハードウェア資源を管理すると共に、上記複数のWebサービスアプリケーションからの利用要求に応じて、該複数のハードウェア資源への利用を制御するコントロールサービスと、
該複数のWebサービスアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項2乃至8のいずれか一項記載の画像形成装置。
A control service that manages a plurality of hardware resources used in the image forming process and controls the use of the plurality of hardware resources in response to a use request from the plurality of Web service applications;
The image forming apparatus according to any one of claims 2 to 8, further comprising an operating system that controls the plurality of Web service applications and the control service.
コンピュータが、
メソッドに従った所定の処理を行う複数のメソッド処理手順と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手順に該処理要求を振り分けることによってWebサービスを実行するWebサービス実行手順とを有することを特徴とする画像形成方法。
Computer
A plurality of method processing steps for performing predetermined processing according to the method,
A web service execution procedure for executing a web service by distributing the processing request to the method processing procedure corresponding to the method specified by the processing request in response to the processing request. .
コンピュータに、
メソッドに従った所定の処理を行う複数のメソッド処理手順と、
処理要求に応じて、該処理要求で指定される上記メソッドに対応する上記メソッド処理手順に該処理要求を振り分けることによってWebサービスを実行するWebサービス実行手順とを実行させるためのプログラム。
On the computer,
A plurality of method processing steps for performing predetermined processing according to the method,
A program for executing, in response to a processing request, a Web service execution procedure of executing a Web service by allocating the processing request to the method processing procedure corresponding to the method specified by the processing request.
JP2003081244A 2002-03-25 2003-03-24 Image forming device having web service function Pending JP2004005503A (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2003081244A JP2004005503A (en) 2002-03-25 2003-03-24 Image forming device having web service function
CNB038015641A CN100351818C (en) 2002-03-25 2003-03-25 Image formation device having a web service function
EP03715406.9A EP1489520B1 (en) 2002-03-25 2003-03-25 Image formation device having a web service function
US10/490,978 US7743162B2 (en) 2002-03-25 2003-03-25 Image forming apparatus, with connection request mediation, having web service functions
PCT/JP2003/003651 WO2003081443A1 (en) 2002-03-25 2003-03-25 Image formation device having a web service function
CN200610172730.5A CN1980247B (en) 2002-03-25 2003-03-25 Image formation device having a web service function and method thereof
US12/771,330 US8549162B2 (en) 2002-03-25 2010-04-30 Image forming apparatus having web service functions

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2002084554 2002-03-25
JP2002084552 2002-03-25
JP2002084553 2002-03-25
JP2003081244A JP2004005503A (en) 2002-03-25 2003-03-24 Image forming device having web service function

Publications (1)

Publication Number Publication Date
JP2004005503A true JP2004005503A (en) 2004-01-08

Family

ID=30449503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003081244A Pending JP2004005503A (en) 2002-03-25 2003-03-24 Image forming device having web service function

Country Status (1)

Country Link
JP (1) JP2004005503A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181487A (en) * 2006-12-21 2008-08-07 Ricoh Co Ltd Integration of discovery functionality within device and facility manager
JP2009065236A (en) * 2007-09-04 2009-03-26 Kyocera Mita Corp Information processing apparatus
JP2011081768A (en) * 2009-09-14 2011-04-21 Ricoh Co Ltd Image processing device, information processing method, and program
JP2013143641A (en) * 2012-01-10 2013-07-22 Ricoh Co Ltd Network communication device
US9118621B2 (en) 2012-01-10 2015-08-25 Ricoh Company, Ltd. Network controller, method, and medium
EP3136702A1 (en) 2004-12-22 2017-03-01 Ricoh Company, Ltd. Image forming apparatus with integrated web browser for receiving screen data from an external server and an integrated web server for receiving an image processing execution request from said external server

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3136702A1 (en) 2004-12-22 2017-03-01 Ricoh Company, Ltd. Image forming apparatus with integrated web browser for receiving screen data from an external server and an integrated web server for receiving an image processing execution request from said external server
JP2008181487A (en) * 2006-12-21 2008-08-07 Ricoh Co Ltd Integration of discovery functionality within device and facility manager
JP2009065236A (en) * 2007-09-04 2009-03-26 Kyocera Mita Corp Information processing apparatus
JP2011081768A (en) * 2009-09-14 2011-04-21 Ricoh Co Ltd Image processing device, information processing method, and program
JP2013143641A (en) * 2012-01-10 2013-07-22 Ricoh Co Ltd Network communication device
US9118621B2 (en) 2012-01-10 2015-08-25 Ricoh Company, Ltd. Network controller, method, and medium

Similar Documents

Publication Publication Date Title
EP1489520B1 (en) Image formation device having a web service function
JP5509754B2 (en) Software management apparatus, software distribution system, installation method and program
ES2261882T3 (en) IMAGE FORMATION AND PRINT TREATMENT PROCEDURE.
US20090070864A1 (en) Image forming apparatus, image forming method, recording medium, and image forming system
JP5370439B2 (en) Apparatus, request processing method, program, and recording medium
JP2009255390A (en) Image forming apparatus, functional cooperation control method, and functional cooperation control program
JP4291856B2 (en) Image forming apparatus having Web service function
JP2004005503A (en) Image forming device having web service function
JP4141209B2 (en) Image forming apparatus having Web service function
JP2004135323A (en) Image processing apparatus, image processing system, control method of image processing apparatus, program and recording medium
JP3710789B2 (en) Image forming apparatus having a plurality of communication protocols
JP4291855B2 (en) Image forming apparatus having Web service function
JP4130108B2 (en) Image forming apparatus having Web service function
JP4136738B2 (en) Image forming apparatus having Web service function
JP4141210B2 (en) Image forming apparatus having Web service function
JP2006020341A (en) Image forming apparatus including web service functions
JP4291854B2 (en) Image forming apparatus having Web service function
JP4130109B2 (en) Image forming apparatus having Web service function
JP4373692B2 (en) Image forming apparatus having Web service function
JP5046818B2 (en) Image forming apparatus, data processing method in image forming apparatus, and data processing program
JP3857654B2 (en) Image forming apparatus, user information management method, user information management program, and recording medium
JP2004303205A (en) Image forming apparatus with stored document information editable by external device, and document service providing method
JP2004005475A (en) Image forming apparatus and method for acquiring thumbnail of stored document
JP2004272888A (en) Service providing device, user terminal equipment, service providing method, service using method, service provision program, service using program, and recording medium
JP2004133906A (en) Image forming apparatus, use authentication information issue method and use authentication information issue system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050607