JP2004005503A - Image forming device having web service function - Google Patents
Image forming device having web service function Download PDFInfo
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Computer And Data Communications (AREA)
- Facsimiles In General (AREA)
Abstract
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
[0028]
The fusion
[0029]
The
[0030]
The
[0031]
The
[0032]
The
[0033]
Specifically, the
[0034]
The
[0035]
The
[0036]
The
[0037]
The
[0038]
The
[0039]
The
[0040]
In the present embodiment, the
[0041]
The
[0042]
The
[0043]
Here, the
[0044]
In this way, the multifunction peripheral 1200 unifies the processing commonly required by the applications on the
[0045]
Next, the hardware configuration of the
[0046]
The
[0047]
Here, the
[0048]
The
[0049]
An
[0050]
The
[0051]
The
[0052]
Therefore, the
[0053]
The
[0054]
In addition to the above functional configuration and the above hardware configuration, the processes related to data transmission / reception performed between the
[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
[0056]
The
[0057]
The
[0058]
In the HTTP
[0059]
The
[0060]
Upon receiving the first connection notification from the request mediation daemon 7, the HTTP
[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
[0063]
For example, after receiving the processing request from the HTTP
[0064]
That is, each of the
[0065]
Similarly, it is also possible to easily add various applications, that is, add a processing unit corresponding to the method to the
[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
[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
[0069]
The difference from the basic configuration example shown in FIG. 3 is that, in the POST
[0070]
When the processing is distributed from the HTTP
[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
[0072]
In the first configuration example shown in FIG. 4, a processing flow until the
[0073]
The HTTP
[0074]
The HTTP
[0075]
The XML processing unit 103-2 requests the
[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
[0078]
The XML processing unit 103-2 generates an XML message by writing the processing result by the
[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
[0080]
In the above processing flow, the
[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
[0083]
Upon receiving the connection notification from the request relay daemon 7 (step S64), the mediation
[0084]
The request mediation daemon 7 notifies the HTTP
[0085]
The HTTP
[0086]
Thread processing in the
[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
[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
[0092]
Next, a configuration in which the GET
[0093]
In FIG. 10, the GET
[0094]
As described above, by sharing a predetermined analysis process of a URL handled by the GET method, the developer can develop a new
[0095]
Further, since the
[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
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サービスアプリケーションが実行されることを特徴とする請求項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.
上記第一メソッド処理手段を指定する上記第一メソッドに関して、上記処理要求のボディ部の記述形式を指定するヘッダに応じた所定の処理を実行する複数の処理手段と、
上記処理要求に指定されるコンテンツタイプに対応する上記処理手段に該処理要求を分配する第一分配処理手段とを有し、
上記第一メソッドが上記処理要求によって指定されている場合、該処理要求が上記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.
上記第二メソッド処理手段を指定する上記第二メソッドに関して、上記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サービスアプリケーションとの間で行われる所定記憶領域からの受信データの読み込み及び該所定記憶領域への送信データの書き込みを制御する接続処理手段とを有することを特徴とする請求項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サービス実行手段は、上記通知を受けて、上記処理要求を該処理要求で指定されるメソッドに対応する上記メソッド処理手段に振り分けることを特徴とする請求項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サービス実行手段は、上記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サービスアプリケーションと該コントロールサービスとを制御するオペレーティングシステムとを有することを特徴とする請求項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.
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)
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 |
-
2003
- 2003-03-24 JP JP2003081244A patent/JP2004005503A/en active Pending
Cited By (6)
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 |