JP2012133498A - 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム - Google Patents

画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム Download PDF

Info

Publication number
JP2012133498A
JP2012133498A JP2010283777A JP2010283777A JP2012133498A JP 2012133498 A JP2012133498 A JP 2012133498A JP 2010283777 A JP2010283777 A JP 2010283777A JP 2010283777 A JP2010283777 A JP 2010283777A JP 2012133498 A JP2012133498 A JP 2012133498A
Authority
JP
Japan
Prior art keywords
communication
execution
communication request
unit
response
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.)
Granted
Application number
JP2010283777A
Other languages
English (en)
Other versions
JP2012133498A5 (ja
JP5641921B2 (ja
Inventor
Tetsuya Sato
鉄也 佐藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010283777A priority Critical patent/JP5641921B2/ja
Priority to US13/323,712 priority patent/US8687219B2/en
Publication of JP2012133498A publication Critical patent/JP2012133498A/ja
Publication of JP2012133498A5 publication Critical patent/JP2012133498A5/ja
Application granted granted Critical
Publication of JP5641921B2 publication Critical patent/JP5641921B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/40Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
    • G06K15/4005Sharing resources or data with other data processing systems; Preparing such data
    • G06K15/402Sharing data concerning the arrangement's configuration or current state
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1207Improving or facilitating administration, e.g. print management resulting in the user being informed about print result after a job submission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1259Print job monitoring, e.g. job status
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1268Job submission, e.g. submitting print job order or request not the print data itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3219Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of a job status, e.g. successful execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3278Transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】 外部装置から複数のWebサービスの要求のための処理コマンドを受信し、その処理コマンドに従ってMFPで複数のジョブを生成して並行して処理する場合、ジョブの実行結果の応答方法を適切に判断することができない。
【解決手段】 受信した通信応答に含まれる処理コマンドに従って生成した複数のジョブを実行する実行手段と、実行手段が実行した複数のジョブのそれぞれに関連する複数の実行結果を一括して送信するか個別に送信するかを判断する判断手段とを有することを特徴とする。
【選択図】 図7

Description

本発明は、画像処理装置の機能をWebサービスとして利用することが可能なシステム、画像処理装置、システムの制御方法、及びプログラムに関する。
従来、スキャナやプリンタ、ファクシミリ、ネットワーク送信装置などの各装置の機能を1つの筺体内に収納したMFP(Multi Functional Peripheral)が一般的に知られている。また上述のMFPの機能をWebサービスとして外部装置からのコマンドで利用する形態も一般的に知られている。
特許文献1によると、MFPは、外部装置からSOAP(Simple Object Access Protocol)に従って生成されたWebサービスの要求を受信する。MFPは、受信した要求に基づいてMFPが提供するWebサービスを呼び出し、ジョブ(例えばプリントジョブや画像データの送信ジョブなど)を生成し、実行する。
特開2006−203869号公報
特許文献1のようなシステムでは、外部装置から受信したWebサービスの要求に基づいて、MFPで複数のジョブが生成される場合がある。例えばWebサービスの要求が、画像データを印刷するとともにFTP(File Transfer Protocol)のサーバへ送信する、というような要求である場合を考える。この場合、MFPは、画像データを印刷する印刷ジョブと画像データを送信する送信ジョブの2つのジョブを生成することになる。
ところで、SOAPに従ってWebサービスの要求を外部装置から受信した場合には、MFPは、Webサービスの要求に対応する応答(例えばジョブの実行結果)をMFPから外部装置へ送信(アップロード)する必要がある。しかしながら、上述のようにWebサービスの要求に基づいて複数のジョブが生成されたような場合、実行するジョブの処理にかかる時間はジョブの内容やジョブの種類、ジョブの設定などに依って当然異なる。そのためジョブの実行結果を送信(アップロード)可能となるタイミングも異なる。例えば、印刷ジョブと送信ジョブの場合、通常は、印刷ジョブの印刷処理にかかる時間の方が送信ジョブの送信処理にかかる時間よりも大きくなり、印刷ジョブの方が実行結果を送信可能となるタイミングは遅くなる。
Webサービスの要求に従って生成された複数のジョブの実行結果をMFPから外部装置へアップロードするタイミングを、それぞれのジョブが完了したタイミングで個別に送信するようにすると、MFPと外部装置との間の通信回数が増える。そのため通信トラフィックの増加を誘発する。
かといって、ジョブの実行に要する時間が異なるもの同士を一括して送信すると、時間がかからないジョブの実行結果を迅速に外部装置へ応答することができない。
処理にかかる時間が異なる複数のジョブを画像処理装置で実行する場合に、実行されたジョブの実行結果を個別に外部装置へ送信するか一括して外部装置へ送信するかを一律にして行うと、ジョブの種類やジョブの設定等に応じて通信回数が必要以上に増えたりジョブの実行結果を迅速に応答できなかったりする場合が生じる。
本発明は、このような課題に鑑みて、外部装置からのWebサービスの要求に基づいて生成された複数のジョブを実行した場合、ジョブの実行結果をどのように外部装置へ送信するかを判断する手段を提供することを目的とする。
上記目的を達成するため、本発明におけるシステムは、
外部装置と画像処理装置とを有するシステムであって、
前記画像処理装置は、
前記画像処理装置の操作部を介してユーザから設定を受け付ける受付手段と、
前記受付手段で受け付けた設定を含む通信要求を前記外部装置へ送信する通信要求送信手段と、
前記通信要求送信手段により送信された通信要求に応じて、前記画像処理装置の機能を利用するための処理コマンドを含む通信応答を前記外部装置から受信する通信応答受信手段と、
前記通信応答受信手段により受信された通信応答に含まれる処理コマンドに従って生成された複数のジョブを実行する実行手段と、
前記実行手段が実行した複数のジョブに関連する複数の実行結果を一括して送信するか個別に送信するかを判断する判断手段と、
前記判断手段により一括して送信すると判断された場合、前記複数の実行結果を含む通信要求を一括して前記通信要求送信手段に送信させ、前記判断手段により個別に送信すると判断された場合、前記実行手段が実行した複数のジョブの実行結果のそれぞれを含む通信要求を個別に前記通信要求送信手段に送信させる制御手段とを有し、
前記外部装置は、
前記画像処理装置でユーザから受け付けた設定を含む通信要求を前記画像処理装置から受信する通信要求受信手段と、
前記通信要求受信手段により受信された通信要求に含まれる設定に基づいて、前記画像処理装置の機能を利用するための処理コマンドを生成する生成手段と、
前記生成手段により生成された処理コマンドを含む通信応答を前記画像処理装置へ送信する通信応答送信手段と、
を有することを特徴とする。
外部装置からのWebサービスの要求に基づいて生成された複数のジョブを実行する場合、適切な送信方法でジョブの実行結果を外部装置へ送信することができる。
本発明の実施形態におけるMFPと外部装置を有する情報処理システムを示す図である。 図1に示す情報処理システムのハードウェア構成を示すブロック図である。 図1に示す情報処理システムのソフトウェア構成を示すブロック図である。 図1に示すMFPが備える表示装置に表示される操作画面の一例を示す図である。 図1に示す外部装置により実行される処理のフローチャートである。 MFPが外部装置から受信するHTTPレスポンスの一例を示す図である。 図1に示すMFPにより実行される処理のフローチャートである。 図1に示すMFPの結果管理部で管理する情報の一例を示す図である。 図1に示すMFPにより実行される処理のフローチャートである。 図1に示す情報処理システムで、複数のジョブの実行結果を一括して送信する場合の処理手順を説明するためのシーケンス図である。 図1に示す情報処理システムで、複数のジョブの実行結果を個別に送信する場合の処理手順を説明するためのシーケンス図である。
以下、本発明を実施するための形態について図面を用いて説明する。本実施形態では、ユーザからの指示により、本発明の画像処理装置の一例であるMFPが複数の処理を実行し、実行結果を外部装置へ送信するまでを記載する。
図1は、本発明を適用可能なシステムの全体構成を示すブロック図である。本システムはネットワーク100を介してMFP101と外部装置102とが通信可能に接続されている。ネットワーク100は各装置間で通信を行うための基盤である。ネットワーク100は、イントラネット、インターネット、またはその他のネットワークシステムでもよい。MFP101はWebブラウザ機能を有する。本実施形態では、MFP101は、ローカルIPアドレスで管理されている。そして、ネットワーク100とMFP101の間にゲートウェイ(不図示)が存在し、ゲートウェイはアドレス変換を行う。例えばゲートウェイにはルーターが含まれる。ゲートウェイは、MFP101がファイアウォール機能を備えていても良い。外部装置102は、Webコンテンツを、ネットワークを介して配信する機能を持っており、MFP101からのリクエストに応じてWebコンテンツを返す。
図2は、図1に示す情報処理システムのハードウェア構成の一例である。まずMFP101のハードウェア構成から説明する。MFP101は、装置全体を制御するCPU201、CPU201のワークエリアを提供するRAM202を有する。更にMFP101は、原稿画像を読み取る読取装置206、画像データを印刷する印刷装置207を有する。更にMFP101は、データや各種の設定パラメータや制御プログラムを記憶する記憶装置203(例えば、HDDやNVRAM)を有する。更にMFP101は、ユーザからの操作を受け付けるユーザ入力装置205(例えば、キーボードやマウスなど)、MFP101の操作画面を表示する表示装置205(例えば、液晶ディスプレイ)を有する。更にMFP101は、外部装置102や他の機器とのネットワーク通信を行うネットワーク装置204、バス208を構成する。なお、図2ではユーザ入力装置205と表示装置205が別々の装置として記載しているが、これら装置が一体となった操作部としてもよい。
次に外部装置102のハードウェア構成について説明する。外部装置102は、外部装置102を制御するCPU211、CPU211のワークエリアを提供するRAM212、データや各種の設定パラメータや制御プログラムを記憶する記憶装置213、MFP101や他の機器とネットワークによる通信を行うネットワーク装置214、及びバス215を構成する。
図3は、図1の情報処理システムのソフトウェア構成を説明するための図である。外部装置102で動作するWebアプリケーション310は記憶装置213に記憶されており、CPU211により実行される。
Webアプリケーション310は、MFP101から受信したHTTPに従うメッセージに応じて処理を実行するアプリケーションである。例えば、Webブラウザ320で表示する操作画面のHTML(Hypet Text Markup Language)コンテンツを生成する。又は、この操作画面を介して受け付けたユーザの操作に従い、MFP101(サービスプロバイダ340〜360)へSOAP(Simple Object Access Procotol)に従う処理の要求を生成する。
一方MFP101は、Webブラウザ320、転送アプリケーション330、及びサービスプロバイダ340〜360を有する。これら各部の機能は、MFP101のCPU201が記憶装置203に記憶されたプログラムを実行することにより実現される。
Webブラウザ320は、外部装置102で動作するWebアプリケーション310と通信し、外部装置102が提供するWebコンテンツを表示装置205に表示するためのアプリケーションである。
Webブラウザ320の解析部321は、Webアプリケーション310から受信したメッセージを解析する。画面表示部322は、受信したメッセージに含まれるHTMLコンテンツに基づく操作画面を表示装置205に表示する。なおHTMLコンテンツは、外部装置102が提供する画面情報の一例である。
転送アプリ起動部324は、解析部321の解析結果に基づいて転送アプリケーション330を起動する。転送アプリケーション330は、Webブラウザ320が受信した処理コマンドをサービスプロバイダ340〜360へ転送したり、サービスプロバイダ340〜360の処理結果をWebブラウザへ転送したりするためのアプリケーションである。転送アプリケーションは、一般的にWebブラウザで対応できない形式のファイル(音声や動画,アニメーションなど)を処理できるようにするヘルパーアプリケーションとして動作し、Webブラウザと独立して動作する。しかしながら、処理コマンドの転送を行う機能を有すれば、転送アプリケーションはヘルパーアプリケーションではなく、プラグインや、Webブラウザの一機能、または受信したレスポンス内に記載されたJava(登録商標)Scriptとしてもよい。
転送部331は、Webブラウザ320の転送アプリ起動部324からの依頼を受け、サービスプロバイダ340〜360へ処理コマンドを転送する。また、サービスプロバイダ340〜360から受信したジョブの実行結果をWebブラウザ320へ転送する。
結果管理部332は、各サービスプロバイダに処理を依頼した結果を管理する。
FTP送信サービスプロバイダ340、SMB送信サービスプロバイダ350、及びプリントサービスプロバイダ360は、転送アプリケーション330または外部装置102から受信したWebサービスの要求に応じてジョブを生成し、各種のハードウェア資源(読取装置206、印刷装置207、記憶装置203、ネットワーク装置204など)を用いてジョブを実行させるアプリケーションである。FTP送信サービスプロバイダ340は、FTP送信受付部341、FTP送信ジョブ生成部342を有する。FTP送信受付部341は、転送アプリケーション330から転送されて処理コマンドを受け付ける。FTP送信ジョブ生成部342は、FTP送信受付部341が受け付けた処理コマンドに基づいて、依頼された処理を実行するためのFTP送信のジョブを生成する。
SMB送信サービスプロバイダ350は、SMB送信受付部351とSMB送信ジョブ生成部352を有する。SMB送信受付部351は、転送アプリケーション330から処理コマンドを受け付ける。SMB送信ジョブ生成部352は、SMB送信受付部351が受け付けた処理コマンドを受け取り、依頼された処理を実行するためのSMB送信のジョブを生成する。
プリントサービスプロバイダ360は、プリント受付部361、プリントジョブ生成部362を有する。プリント受付部361は、転送アプリケーション330から処理コマンドを受け付ける。プリントジョブ生成部362は、プリント受付部361が受け付けた処理コマンドを受け取り、依頼された処理を実行するためのプリントジョブを生成する。
このように、MFP101は複数のサービスプロバイダを有している。
図4は、表示装置205に表示する操作画面である。本実施形態では、MFP101のWebブラウザ320が起動されると、Webブラウザ320が外部装置102からHTMLコンテンツを取得することにより操作画面400を表示する。この例では、操作画面400には領域401〜403と実行ボタン404とが配置されている。
領域401は、指定されたサーバに送信する画像データの入力元(読取装置206または記憶装置203)を選択する領域である。「スキャン画像」のラジオボタンを押すと、読取装置206で読み取って得られた画像データ(以下、スキャン画像)をサーバへ送信する動作をMFP101が行う。「ボックス画像」のラジオボタンを押下すると、記憶装置203に記憶されている画像データ(以下、ボックス画像)を送信する送信動作を行う。送信動作は、MFP101の機能をWebサービスとして実行するものである。具体的には、スキャン画像とボックス画像の何れかのラジオボタンが押し、更にそのラジオボタンに対応づけられた設定ボタンを押すと、Webブラウザ320は、詳細設定の画面(不図示)のコンテンツをWebアプリケーション310から受信する。スキャン画像の詳細設定画面では解像度等のスキャン設定を受け付ける。ボックス画像の詳細設定画面であれば、記憶装置203に記憶されている画像データの選択を受け付ける。
領域402は、スキャン画像またはボックス画像の送信先の設定を受け付けるための領域である。この例では「FTPサーバ」と「SMBサーバ」の選択を受け付けるチェックボックスがある。「FTPサーバ」の選択を受け付けると、入力された画像(スキャン画像またはボックス画像)を、FTPプロトコルに従いFTPサーバへ送信する動作をMFP101が行う。「SMBサーバ」の選択を受け付けると、入力された画像(スキャン画像またはボックス画像)を、SMBでサーバへ送信する送信動作を行う。この送信動作もMFP101のWebサービスとして実行するものである。本実施形態では「FTPサーバ」と「SMBサーバ」の両方の選択を受け付けることが可能である。「FTPサーバ」と「SMBサーバ」のそれぞれには設定ボタンがあり、Webブラウザ320は、設定ボタンの押下を受け付けるとそれぞれの詳細設定の画面(不図示)をWebアプリケーション310から取得する。SMBサーバの詳細設定画面では、SMBサーバのパスの設定等を受け付ける。FTPサーバの詳細設定画面では、FTPサーバのパスの設定等を受け付ける。
領域403は、プリントの設定を受け付けるための領域である。この例では、プリントを実行するか否かの選択を受け付けるためのチェックボックスを有する。また、設定ボタンがあり、Webブラウザ320は、設定ボタンの押下を受け付けると詳細設定の画面(不図示)をWebアプリケーション310から取得する。プリントの詳細設定画面では、両面で印刷するか等の設定を受け付ける。
実行ボタン404は、ジョブの実行の開始を受け付けるためのボタンである。実行ボタン404が押下されると、図4の操作画面を介してユーザから受け付けた設定を含む通信要求を外部装置102へ送信する。
図5は、本実施形態における外部装置102の処理を説明するためのフローチャートである。図5のフローチャートの各ステップを実行するためのプログラムは、外部装置102の記憶装置213に記憶されており、RAM212にロードされてCPU211によって実行される。
なお以降の説明では、Webブラウザ320がWebアプリケーション310へ送信する情報を「HTTPリクエスト」と呼ぶ。そしてWebアプリケーション310がWebブラウザへ送信する情報を「HTTPレスポンス」と呼ぶ。Webアプリケーション310は、HTTPレスポンスの中に、MFP101に対するFTP送信やSMB送信処理を要求するコマンド、あるいは印刷処理を要求するコマンド等を含むことができる。HTTPリクエストは通信要求の一例であり、HTTPレスポンスは通信応答の一例である。
図5のフローチャートは、図4の操作画面に配置されている実行ボタン404が押下され、HTTPリクエスト(通信要求)がWebブラウザ320からWebアプリケーション310へ送信されたことにより開始する。
S501では、Webアプリケーション310は、Webブラウザ320により送信されたHTTPリクエストを受信する。受信したHTTPリクエストは、Webブラウザ320で表示装置205に表示した操作画面を介して行われたユーザから受け付けた設定を含む。本実施形態では、S501で受信するHTTPリクエストには、図4の操作画面の401〜403で設定された値が含まれている。
S502では、Webアプリケーション310は、S501で受信したHTTPリクエストに含まれる設定に基づいてWebサービスを要求するコマンドを複数生成するか(マルチパートにするか)否かを判断する。この判断は、図4の操作画面を介して設定された401〜403の情報に基づく。領域401で設定されたFTP送信、領域402で設定されたSMB送信、領域403で設定されたプリント処理の内、2つ以上の処理があるかで判断を行う。例えば、図4の操作画面の例では、FTP送信とSMB送信の2つが選択されている。そのため複数のコマンドを生成すると判断する。複数のコマンドを生成すると判断した場合(S502でYES)S503へ進む。単一のコマンドを生成すると判断した場合(S502でNO)S508へ進む。
S503では、Webアプリケーション310は、MFP101側で実行されるジョブの結果を、MFP101から外部装置102へ送信する際に、どのような送信方法で送るべきかを判断する。
具体的には、S502で複数のWebサービスを要求するコマンドを生成すると判定された場合には、その複数のコマンドに基づいてMFP101側で複数のジョブを実行することになる。実行された複数のジョブのそれぞれにかかる時間は、ジョブの種類や、ジョブの設定などによって異なる。そのため、実行されたジョブの結果をMFP101から外部装置102へ送信(アップロード)可能となるタイミングも異なる。特に、印刷ジョブの印刷処理にかかる時間は、送信ジョブの画像ファイルの送信処理に比べて時間がかかる場合が多い。
ジョブの実行に要する時間が異なるもの同士を一括して送信すると、時間がかからない処理を含むジョブ(例えば送信ジョブ)が、時間がかかる処理を含むジョブ(例えば印刷ジョブ)にあわせて処理結果を送信することになるので、送信ジョブの実行結果を即座に送信することができない。そのため、送信ジョブは早く完了したにも関わらず、印刷ジョブの完了をMFP101で待たされることになり、外部装置102は次の処理に移ることができない。
そこで本実施形態では、MFP101で実行される複数のジョブのなかに印刷ジョブがある場合には、印刷ジョブの実行結果だけは個別に送信するようにし、複数のジョブのなかに送信ジョブがある場合には、送信ジョブの実行結果については一括して送信するようにした。
例えば、図6の操作画面では、SMB送信処理とFTP送信処理が選択されている。そのため、SMB送信処理とFTP送信処理のそれぞれは一括して送信すると判断する。もし印刷処理が選択されている場合には、その印刷処理については個別に送信すると判断する。
なお本実施形態では、プリント処理は個別送信、送信処理は一括送信というような判断をしている。しかし、プリント処理における印刷枚数が多い場合のみ個別送信にするなど、Webアプリケーション310が結果を処理しやすいように判断してよい。一括送信と判断した場合(S503でYES)、S504へ進む。個別送信と判断した場合(S503でNO)、S507に遷移する。
S504で、Webアプリケーション310は、MFP101へ送信するHTTPレスポンスをマルチパートの形式で送信するためのヘッダ部を生成する。
図6(a)は、S504でWebアプリケーション310により生成されるHTTPレスポンスのヘッダ部の一例である。この例では、図4の操作画面でFTPサーバとSMBサーバへの送信が設定された場合に生成するヘッダ部を示している。
コンテントタイプ601は、HTTPレスポンスがマルチパートの形式で記述されているものであるか否かを識別する識別子である。コンテントタイプ601が「multiPart/mixed:boundary=mfP_boundary」と記述されている場合、そのHTTPレスポンスはマルチパートの形式で記述されていることを示している。
第1のバウンダリ602は、602以降の記述が第1パートであることを示す識別子である。
第1パートのコンテントタイプ603は、第1パートのボディ部がサービスプロバイダ340〜360に処理を要求する処理コマンドを含むか否かを識別する識別子である。第1パートのコンテントタイプ603が「application/vnd.abc.webservice」である場合、第1パートはサービスプロバイダ340〜360に処理を要求する処理コマンドであることになる。
第1パートの転送宛先604は、第1パートのボディ部に含まれる処理コマンドを転送する宛先である。この例では、第1パートの宛先604は「httP://xxx.0.0.1:8000/ScantoftP」を示している。本実施形態では、「httP://xxx.0.0.1:8000/ScantoftP」は、FTP送信サービスプロバイダ340に割り当てられているパスであるので、第1パートの転送宛先604は、FTP送信サービスプロバイダ340を示している。
第1パートのマルチパートのID605は、マルチパートの形式で記述されたHTTPレスポンスがそれぞれのパートに分割された後、分割前はHTTPレスポンスであったことを特定する際に使用する識別子である。第2パートのマルチパートID612も同じ値となっている。
第1パートの処理結果通知方法606は、処理結果を他のパートの処理コマンドに関する処理結果を一括または個別に送信することを示している。第1パートの処理結果通知方法606が「同期(sync)」を示す場合、MFP101から外部装置102へ通知すべき複数の処理結果を一括して送信することを示している。「非同期(async)」を示す場合は、MFP101側でジョブの処理結果が出たタイミングで適宜個別に送信することを示している。
第1パートの転送時コンテントタイプ607は、転送アプリケーション330がサービスプロバイダにHTTPレスポンスのボディ部を転送する際にHTTPヘッダの“Content−Type”フィールドに記載する内容である。
第1パートのアップロード宛先608は、Webサービスの要求に応じてMFP101で実行したジョブの実行結果を送信(アップロード)する際の宛先である。
第1パートのボディ部に含まれる処理コマンド650は、FTP送信サービスプロバイダへの処理コマンドが記載されている。第1パートのボディ部に記載されている処理コマンドは、FTP送信サービスプロバイダ340へ転送される。第1パートのHTTPレスポンスのボディ部に記載されている処理コマンド650については図6(b)を用いて後述する。
第2のバウンダリ609は、609以降の記述が第2パートであることを示している。
第2パートのコンテントタイプ610、第2パートの転送宛先611、第2パートのマルチパートのID612、第2パートの処理結果通知方法613、第2パートの転送時コンテントタイプ614、第2パートのアップロード宛先615のそれぞれについては、基本的に第1パートの603、604、605、606、607、608と同様であるので説明を省略する。
図5の説明に戻る。S505で、Webアプリケーション310は、S501にて受信したHTTPリクエストを元にHTTPレスポンスの各パートに記述するボディ部を生成する。生成するHTTPレスポンスのボディ部の一例については図8(b)を用いて説明する。
図8(b)は、第1パートのボディ部に含まれる処理コマンド650の一例である。処理コマンド650は、ボックス画像データを取得することを要求するコマンド651と、画像データをFTPで送信することを要求するコマンド652を更に有する。処理コマンド650はXML(Extensible Markup Language)のフォーマットで記述されている。
コマンド651は、MFP101の記憶装置203に記憶されているボックス画像データの取得を要求する命令である。651には、ボックス画像データを特定するID(101011)が含まれる。
コマンド652は、MFP101に対してボックス画像データの送信を要求する命令である。コマンド652には、FTP送信の制御に関わる設定を記述することができる。例えば、“FtpAddress”タグで、送信する宛先を示すIPアドレスを指定し、“FileFormat”タグで送信する際にPDFなどの画像フォーマットに変換してから送信するかを指定することができる。
S506で、Webアプリケーション310は、生成されたヘッダ部とボディ部を含む複数のパートを結合し、マルチパートの形式の1つのHTTPレスポンスとしてWebブラウザ320に送信して本処理を終了する。
S507は、S503で個別に送信すると判定された場合の処理である。S507で、Webアプリケーション310は、マルチパートで送信するための各パートのHTTPレスポンスのヘッダ部を生成する。この際、各パートのヘッダ部にはジョブの処理結果を個別に送信することを示す情報(async)を付加する。それ以外の点については、S504の処理と同一である。
なお、図5には図示していないが、S502でマルチパートにすると判定された場合には、マルチパートにすると判定された際のパート数だけS503、S504(またはS507)、S505を繰り返すことになる。
S508は、S502でHTTPレスポンスを生成する際にマルチパートの形式にしないと判定された場合の処理である。S508では、Webアプリケーション310は、S501で受信したHTTPリクエストを元にHTTPレスポンスのヘッダ部を生成する。
S509では、Webアプリケーション310は、S501で受信したHTTPリクエストを元に、HTTPレスポンスに記述するボディ部を生成する。
S510では、Webアプリケーション310は、S508、S509で生成したHTTPレスポンスのヘッダ部と、HTTPレスポンスのボディ部を結合してHTTPレスポンスとしてWebブラウザ320に送信する。
図7は、本実施形態におけるMFP101の処理を説明するためのフローチャートである。図7のフローチャートの各ステップを実行するためのプログラムは、MFP101の記憶装置203に記憶されており、RAM202にロードされてCPU201によって実行される。
図7のフローチャートは、図5のS506またはS510でWebアプリケーション310がWebブラウザ320へHTTPレスポンスを送信したことにより処理を開始する。
S701で、Webブラウザ320は、外部装置102のWebアプリケーション310により送信されたHTTPレスポンスを受信する。受信したHTTPレスポンスは、図6で示したようなヘッダ部とボディ部をもつメッセージである。
S702で、Webブラウザ320は、S701で受信したHTTPレスポンスがマルチパートの形式で記述されているかを判断する。具体的には、S701で受信したHTTPレスポンスのヘッダ部に記載の、コンテントタイプ601が“multiPart”を示すかを否か判断する。マルチパートの形式で記述されていると判断した場合(S702でYES)S703に遷移する。マルチパートの形式で記述されていないと判断した場合(S702でNO)S704に遷移する。
S703で、Webブラウザ320の解析部321はマルチパートのHTTPレスポンスを分割する。S701で受信したHTTPレスポンスのメッセージは、バウンダリ602、609の“mfp_boundary”で区切られている。解析部321は、この“mfp_boundary”を識別して、この識別子の前後で複数のパートに分割する。分割された複数のパートは、別々のHTTPレスポンスとする。
S704は、S705ないしS709の繰り返しが所定の数(分割されたHTTPレスポンスの数)だけ終了したかを判断する。図6の例では、HTTPレスポンス600のパートは2つなので、2回処理が繰り返し行われたかを判断する。なお、もしS701で受信したHTTPレスポンスがマルチパートの形式でない場合は1度だけS705からS709を処理する。
S705で、Webブラウザ320の解析部321は、S703で分割されたHTTPレスポンス、またはマルチパートの形式でない場合はS701で受信したHTTPレスポンスのヘッダ部を解析する。そして、HTTPレスポンスのヘッダ部のContent−Typeフィールドがapplication/vnd.xxx.webserviceの値をもつかどうかを判断する。この値は、HTTPレスポンスのボディ部を転送アプリケーションへ転送すべきか、Webブラウザ320が通常のWebコンテンツとして処理すべきかを判断するための識別子である。application/vnd.xxx.webserviceの値をもつ場合(S705でYES)S706に進む。そうでない場合(S705でNO)S709に進む。
S706で、Webブラウザ320の転送アプリ起動部324は、転送アプリケーション330を起動する。このとき起動とともに、転送アプリケーション330に対して、ヘッダ部にapplication/vnd.xxx.webserviceの値をもつHTTPレスポンスを引き渡す。
S707で、転送アプリケーション330は、S706で受け取ったHTTPレスポンスのヘッダ部に記述されている転送宛先(604または611)に、S703で分割されたHTTPレスポンスのボディ部の処理コマンドをサービスプロバイダへ送信する。
図6の例では、第1パートの宛先604はFTP送信サービスプロバイダ340の宛先を表している。そのため、第1パートに対応する処理コマンドはFTP送信サービスプロバイダに送信される。また第2パートの宛先611は、SMB送信サービスプロバイダの表しているため、第2パートに対応する処理コマンドはSMB送信サービスプロバイダ350に送信される。
第1パートに対応する処理コマンドを受信したFTP送信サービスプロバイダ340は、転送アプリケーション330から処理コマンドをFTP送信受付部341で受信する。FTP送信ジョブ生成部342は処理コマンドに従ってFTP送信ジョブを生成する。FTP送信ジョブを生成すると、MFP101は、Webサービスとして読取装置206で画像を読み取りネットワーク装置204により画像データを送信する。
第2パートに対応する処理コマンドを受信したSMB送信サービスプロバイダ350は、転送アプリケーション330から処理コマンドをSMB送信受付部351で受信する。SMB送信ジョブ生成部352は処理コマンドに従ってSMB送信ジョブを生成する。SMB送信ジョブを生成すると、MFP101は、Webサービスとして読取装置206で画像を読み取りネットワーク装置204によりSMBのプロトコルで画像データを送信する。
S708で、転送アプリケーション330の結果管理部332は、HTTPレスポンスのヘッダ部に記述されている情報を記憶装置203に格納する。具体的には、結果管理部332が、HTTPレスポンスのヘッダ部に記述されている次の情報を図8のような管理テーブルとして管理する。
図8は、S708で転送アプリケーション330により格納された情報を管理している管理テーブルの一例である。
マルチパートID(MultiID)801は、S706でWebブラウザ320から転送されたHTTPレスポンスに記述されているマルチパートIDである。マルチパートID605や612で指定されている値がこの項目に設定される。
サービスプロバイダ転送宛先(ServiceAddress)802は、どのサービスプロバイダへ処理コマンドを転送したかを特定する情報(X−WebserviceAddress)として転送宛先604や611で指定されている値が設定される。
アップロード宛先(UploadAddress)803には、ジョブの実行結果を送信する宛先としてアップロード宛先608や615で指定されている値が設定される。
同期/非同期(sync/async)804には、ジョブの実行結果の送信方法を既定する属性として、処理結果通知方法606や613で指定されている値が設定される。
例えば、図6のHTTPレスポンス600の第1パートであれば、第1パートのマルチパートのID605で指定されている「111222」の値と、転送宛先604で指定されている「http://127.0.0.1:80/Scantoftp」の値と、アップロード宛先608で指定されている「http://aaa.co.jp/bbb/ccc」の値と、第1パートの処理結果通知方法606で指定されている「sync」の値とを関連づけて格納する。
状態805は、該当するレコードによって特定されるジョブの状態を示す。この状態805の値が「アップロード済み」を示しているときは、該当レコードのジョブの実行結果を既に外部装置へ送信した(アップロード済みである)ことを示す。この状態805の値が「サービスプロバイダの処理結果待ち」を示しているときは、該当レコードのジョブの実行結果をサービスプロバイダから待機していることを示す。
更に、この状態805の値が、「他のサービスプロバイダの処理結果待ち」を示しているときは、該当レコードのジョブの実行結果については既に受信しているが、複数ジョブの実行結果を一括して送信するために他のサービスプロバイダによるジョブの実行結果を受信するのを待機していることを示す。この場合は、同じマルチパートIDを示し、かつ、804の値が「同期(sync)」を示しているレコードのジョブの実行結果を受信するのを待機していることになる。
S709は、S705でコンテントタイプに所定の値が含まれないと判定された場合の処理である。Webブラウザ320の解析部321は、HTTPレスポンスのボディ部に記述されたHTMLデータを解析し、その結果に基づいて表示装置205に操作画面を表示する。
図9は、図7のフローチャートの続きの処理である。
S911で、転送アプリケーション330は、FTP送信サービスプロバイダ340、SMB送信サービスプロバイダ350、またはプリントサービスプロバイダ360からの応答(ジョブの実行結果)を受信したかの監視を開始する。受信するジョブの実行結果は、ジョブの完了や実行エラーなどである。応答を受信した場合(S911でYES)S912に遷移する。応答を受信していない場合(S911でNO)は監視を続ける。
S912で、転送アプリケーション330の結果管理部332は、サービスプロバイダ340〜360からの応答に含まれる結果を格納する。
S913で、転送部331は、サービスプロバイダ340〜360から受信した処理結果の処理結果通知方法を確認する。確認には、S708で格納した処理結果の通知方法(X−Webservice−MultiResponse)を用いる。HTTPレスポンス600の第1パートであれば、第1パートの処理結果通知方法606の値である。処理結果の通知方法が同期(Sync)である場合は、S914に遷移する。非同期(Async)である場合はS918に遷移する。
本実施形態では、S708で格納した同期/非同期(sync/async)804の値に基づいてジョブの処理結果を一括して送信するか個別に送信するかを判断している。しかし、変形例として、S708で格納したアップロード宛先(UploadAddress)803の値を参照して同期であるか非同期であるかを確認してもよい。この場合、マルチパートID(MultiId)801が同じ値で、アップロード宛先(UploadAddress)803が同一の値であれば、その同一の宛先へジョブの実行結果を一括して送信する。一方、マルチパートID(MultiId)801が同じ値で、アップロード宛先(UploadAddress)803が異なる宛先であれば、個別に送信する。
また別の変形例として、処理結果を外部装置102へ送信(アップロード)する順番を指定できるようにしてもよい。例えば、HTTPレスポンスの第1パートの処理結果通知方法606を「sync」ではなく「1」とし、第2パートの処理結果通知方法613を「sync」ではなく「2」とする。これにより、転送アプリケーション330は、第2パートの処理であるSMB送信サービスプロバイダの処理が先に完了したとしても、第1パートの処理が終了するまでは、処理結果の通知をWebブラウザ320に依頼しない構成が可能となる。
また別の変形例として、処理結果通知方法が「sync」と指定されていたとしても、S911で受信したジョブの実行結果がエラーを示すものであれば、他のジョブの実行結果を待たずに即座に外部装置102へ送信するようにしてもよい。
S914で、転送アプリケーション330の転送部331は、結果管理部332を参照して、マルチパートID(MultiId)801が同じ値であって、同期/非同期(sync/async)804の値がsyncとなっているジョブの実行結果がすべて揃っているかを確認する。実行結果がすべて揃っている場合(S914でYES)S915に遷移する。揃っていない場合(S914でNO)S911に遷移する。
S915で、転送アプリケーション330は、Webブラウザ320のアップロード部323に対して、サービスプロバイダ340〜360の処理結果をマルチパートの形式でWebアプリケーション310に対して送信(アップロード)することを依頼する。このとき転送アプリケーション330は、結果管理部332に格納されているマルチパートID(MultiId)801の値が同じであって、かつ、同期/非同期(sync/async)804の値がsyncを示す全ての処理結果をアップロード部323に渡す。依頼に際して、転送アプリケーション330は、アップロード部323に対してアップロードの宛先としてアップロード宛先を指定する。
本実施形態では、各パートのHTTPレスポンスのヘッダ部に指定するアップロード宛先は、同じ宛先となっている(608、615)。しかし、異なる宛先が指定されていてもよい。更に、異なる宛先であると判断した場合は,個別に送信するようにしてもよい。
また本実施形態では各パートのレスポンスのヘッダ部にアップロード宛先(X−Webservice−UploadAddress)を指定する構成となっている。しかし変形例として、例えば、アップロード宛先をMFP101で予め決められた値とし、外部装置102(Webアプリケーション310)から指定しないシステムとしても良い。
また転送アプリケーション330からアップロード部323にアップロード宛先を指定することはせず、Webブラウザ320自身がジョブの処理結果をアップロードする宛先を記憶しておきその情報を使用してもよい。
S916で、Webブラウザ320は、指定されたアップロード宛先に処理結果をマルチパートの形式でアップロードする。具体的には、解析部321が転送アプリケーション330から受け取った複数の処理結果を結合し、マルチパートの形式で一つのHTTPリクエストを生成する。アップロード部323は、指定されたアップロードの宛先に対してアップロードを行う。
S917で、転送アプリケーション330は、サービスプロバイダ340ないし360へ要求した処理がすべて終了したかを判断する。転送アプリケーション330は、結果管理部332にデータが残っているかで判断を行う。データが残っていない場合はすべての処理は終了していると判断し、本処理を終了する。データが残っている場合は、S911に遷移する。
S918で、転送アプリケーション330は、Webブラウザ320のアップロード部323に対して、処理結果をWebアプリケーション310に対してアップロードするように依頼し、S919に遷移する。
S919で、アップロード部323は、転送アプリケーション330から指定されたアップロード宛先に対して処理結果をアップロードし、S917に遷移する。
図10は、MFP101と外部装置102を有する情報処理システムにおける処理手順を示すシーケンス図である。図10のシーケンス図は、外部装置102が複数のサービスプロバイダに処理を要求し、要求された処理の結果を、外部装置102へ送信する場合についての処理手順である。なお図10は、複数の処理結果を一括して外部装置102へ送信する場合の一例であり、図11は複数の処理結果を個別に外部装置102へ送信する場合の一例である。
まず、ユーザ入力装置205からWebブラウザ320の起動を行うためのボタン(不図示)押下をユーザから受け付けると、MFP101はWebブラウザ320を起動する。受け付けるボタンは、ユーザ入力装置205のハードウェアボタンでも表示装置205のタッチパネルに表示されたボタンでもよい。
S1001で、Webブラウザ320は、起動すると外部装置102のWebアプリケーション310に図4の画面のコンテンツを特定するURLを含む通信要求(HTTPリクエスト)を送信する。本実施形態では、このURLは予めWebブラウザ320に設定されている。HTTPリクエストの送信方法にはGETコマンドを利用する。
S1002で、Webアプリケーション310は、S1001で送信した通信要求に応じて表示装置205に表示する操作画面のHTMLデータを生成する。そして、生成したHTMLデータを含む通信応答(HTTPレスポンス)をWebブラウザ320へ送信する。Webブラウザ320は、受信した通信応答に含まれるHTMLデータを解析し、表示装置205に図4の画面を表示する。
S1003で、Webブラウザ320は、図4の画面で実行ボタン404がユーザに押されことに応じて、図4の画面で設定されたパラメータ(領域401〜403に入力された値等)を含む通信要求をWebアプリケーション310へ送信する。HTTPリクエストの送信方法にはPOSTコマンドを利用する。
S1004では、通信応答を受信したWebアプリケーション310は、MFP101の機能をWebサービスとして利用するため、Webサービスを要求する処理コマンドを生成する。なおWebサービスの要求は、リモートプロシージャコールと呼ばれる技術により遠隔からサービスプロバイダ340〜360を呼び出すものである。Webアプリケーション310は、生成した処理コマンドを含む通信応答をWebブラウザ320へ送信する。複数のWebサービスを要求する場合には、上述のようにマルチパートの形式で記述された通信応答を送信する。
Webブラウザ320は、受信した通信応答に基づいて転送アプリケーション330を呼び出す(S1005、S1007)。この例では、S1005の呼び出しは、FTP送信サービスプロバイダ340にWebサービスを要求するための呼び出しである。この例では、S1005の呼び出しは、SMB送信サービスプロバイダ350にWebサービスを要求するための呼び出しである。
転送アプリケーション330は、通信応答に記述されている宛先(サービスプロバイダ340〜360のいずれか)へ処理コマンドを転送する。この例では、通信応答にFTP送信サービスプロバイダ340とSMB送信サービスプロバイダ350の宛先が記述されている。転送アプリケーション330は、S1004で受信した通信応答に含まれる、FTP送信サービスプロバイダ340に処理を要求するための処理コマンドを抽出してFTP送信サービスプロバイダ340へ転送する(S1006)。FTP送信サービスプロバイダ340は、転送された処理コマンドを受け付け、処理コマンドに従ったFTP送信ジョブを生成する。
更に転送アプリケーション330は、S1007の呼び出された際に受信したSMB送信サービスプロバイダに処理を要求するための処理コマンドをSMB送信サービスプロバイダへ転送する(S1008)。
S1009で、FTP送信サービスプロバイダ340は、実行されたジョブの結果を転送アプリケーション330へ送信する。同様に、S1010では、SMB送信サービスプロバイダは、実行されたSMB送信ジョブの結果を転送アプリケーション330へ送信する。S1009とS1010で送信された2つの実行結果を受け取った転送アプリケーション330は、その2つの実行結果を一括してWebアプリケーション310に送信(アップロード)するように、Webブラウザ320に依頼する(S1011)。S1012で、Webブラウザは、S1009とS1010で受け取った結果を含む通信要求(HTTPリクエスト)をWebアプリケーション310へ送信する。
S1012によると、MFP101は、FTP送信サービスプロバイダ340による処理の結果と、SMB送信サービスプロバイダ350による処理の結果を、一括して、外部装置102へ送信(アップロード)する。そのため、少ない通信回数で済む。
図11は、MFP101のFTP送信サービスプロバイダ340と、プリントサービスプロバイダ360とを呼び出すものであり、これらのサービスプロバイダの実行結果を、個別に外部装置102へ送信(アップロード)する点が図10と異なる。S1001〜S1010については図10と実質的に同様なので説明を省略する。
S1013では、転送アプリケーション330は、S1009でFTP送信ジョブの実行結果を受け取ると、その実行結果を外部装置102へアップロードするようWebブラウザ320へ依頼する。このとき転送アプリケーション330は、別のサービスプロバイダによるジョブの実行結果を受け取っていなくても、その実行結果の受け取りを待たずにWebブラウザ320へ依頼する。Webブラウザ320は、S1013での依頼に従い、実行結果を含む通信要求(HTTPリクエスト)を外部装置102のWebアプリケーション310へPOSTコマンドで送信する。
S1014では、転送アプリケーション330は、S1010でプリントジョブの実行結果を受け取ると、その実行結果を外部装置へアップロードするように、Webブラウザ320へ依頼する。Webブラウザ320は、S1013での依頼に従って、実行結果を含む通信要求をWebアプリケーション310へPOSTコマンドで送信する。
S1013やS1014のよると、MFP101は、ジョブの実行結果を受け取ると即座にWebアプリケーション310へ送信するので、外部装置102は迅速に次の処理に移ることができる。
本実施形態においては、外部装置102で生成したWebサービスの要求である処理コマンドを受信した場合、MFP101は、複数のジョブを並行して実行する。このときジョブの実行結果を一括して外部装置102へ送信するか個別に送信するかを判断し、その判断結果に基づいて送信方法を変えることにより、ジョブの内容やジョブの種類、ジョブの実行時間などを考慮して適切な送信方法を決定することができる。
更に、一括して送信するか個別に送信するかの判断は、外部装置102が送信する処理コマンドに付加された情報(SyncまたはAsync)に基づいて判断するようにした。この結果、MFP101での処理結果をどのように送信(アップロード)するかを外部装置102が指定することができる。
(他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
101 MFP
102 外部装置
310 Webアプリケーション
320 Webブラウザ
330 転送アプリケーション
340 FTP送信サービスプロバイダ
350 SMB送信サービスプロバイダ
360 プリントサービスプロバイダ

Claims (11)

  1. 外部装置と画像処理装置とを有するシステムであって、
    前記画像処理装置は、
    操作部を介してユーザから設定を受け付ける受付手段と、
    前記受付手段で受け付けた設定を含む通信要求を前記外部装置へ送信する通信要求送信手段と、
    前記通信要求送信手段により送信された通信要求に応じて、前記画像処理装置の機能を利用するための処理コマンドを含む通信応答を前記外部装置から受信する通信応答受信手段と、
    前記通信応答受信手段により受信された通信応答に含まれる処理コマンドに従って生成された複数のジョブを実行する実行手段と、
    前記実行手段が実行した複数のジョブのそれぞれに関連する複数の実行結果を一括して送信するか個別に送信するかを判断する判断手段と、
    前記判断手段により一括して送信すると判断された場合、前記複数の実行結果を含む一つの通信要求を前記通信要求送信手段に送信させ、前記判断手段により個別に送信すると判断された場合、前記実行手段が実行した複数のジョブの実行結果のそれぞれを含む複数の通信要求を個別に前記通信要求送信手段に送信させる制御手段とを有し、
    前記外部装置は、
    前記画像処理装置でユーザから受け付けた設定を含む通信要求を前記画像処理装置から受信する通信要求受信手段と、
    前記通信要求受信手段により受信された通信要求に含まれる設定に基づいて、前記画像処理装置の機能を利用するための処理コマンドを生成する生成手段と、
    前記生成手段により生成された処理コマンドを含む通信応答を前記画像処理装置へ送信する通信応答送信手段と、
    を有することを特徴とするシステム。
  2. 前記判断手段による一括して送信するか個別に送信するかの判断は、前記通信応答受信手段により受信された通信応答に含まれる、同期または非同期を示す情報に基づいて行われることを特徴とする請求項1に記載のシステム。
  3. 画像データを入力する入力手段を更に有し、
    前記実行手段により実行されるジョブは、前記入力手段により入力された画像データを他の装置へ送信する送信ジョブ、及び前記入力手段により入力された画像データに基づいて印刷する印刷ジョブの何れかであることを特徴とする請求項1に記載のシステム。
  4. 前記判断手段は、前記実行手段により実行される複数のジョブのうちの1つが前記印刷ジョブである場合に個別に送信すると判断することを特徴とする請求項3に記載のシステム。
  5. 前記判断手段により個別に送信すると判断された場合、前記通信要求送信手段が送信するジョブの実行結果を含む複数の通信要求は、ジョブの実行が完了した順番で送信されることを特徴とする請求項1ないし4のいずれか1項に記載のシステム。
  6. 前記通信応答受信手段により受信される通信応答は、マルチパートの形式で記述されていることを特徴とする請求項1ないし5のいずれか1項に記載のシステム。
  7. 前記マルチパートの形式で記述されている通信応答に従って複数のジョブを生成することを特徴とする請求項6に記載のシステム。
  8. 前記通信要求と前記通信応答は、HTTP(Hypet Text Transfer Protocol)に従ったメッセージであることを特徴とする請求項1ないし7のいずれか1項に記載のシステム。
  9. 前記通信応答に含まれる処理コマンドは、SOAP(Simple Object Access Protocol)に従ったメッセージであることを特徴とする請求項8に記載のシステム。
  10. 外部装置とネットワークを介して通信可能な画像処理装置であって、
    操作部を介してユーザから設定を受け付ける受付手段と、
    前記受付手段で受け付けた設定を含む通信要求を前記外部装置へ送信する通信要求送信手段と、
    前記通信要求送信手段により送信された通信要求に応じて、前記画像処理装置の機能を利用するための処理コマンドを含む通信応答を前記外部装置から受信する通信応答受信手段と、
    前記通信応答受信手段により受信された通信応答に含まれる処理コマンドに従って生成された複数のジョブを実行する実行手段と、
    前記実行手段が実行した複数のジョブのそれぞれに関連する複数の実行結果を一括して送信するか個別に送信するかを判断する判断手段と、
    前記判断手段により一括して送信すると判断された場合、前記複数の実行結果を含む一つの通信要求を前記通信要求送信手段に送信させ、前記判断手段により個別送信すると判断された場合、前記実行手段が実行した複数のジョブの実行結果のそれぞれを含む複数の通信要求を個別に前記通信要求送信手段に送信させる制御手段と
    を有することを特徴とする画像処理装置。
  11. 請求項10に記載の画像処理装置が備える各手段を実行させるための、コンピュータが読取可能なプログラム。
JP2010283777A 2010-12-20 2010-12-20 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム Expired - Fee Related JP5641921B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010283777A JP5641921B2 (ja) 2010-12-20 2010-12-20 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム
US13/323,712 US8687219B2 (en) 2010-12-20 2011-12-12 System which can utilize a function of an image processing apparatus as a web service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010283777A JP5641921B2 (ja) 2010-12-20 2010-12-20 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2012133498A true JP2012133498A (ja) 2012-07-12
JP2012133498A5 JP2012133498A5 (ja) 2014-02-13
JP5641921B2 JP5641921B2 (ja) 2014-12-17

Family

ID=46234039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010283777A Expired - Fee Related JP5641921B2 (ja) 2010-12-20 2010-12-20 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US8687219B2 (ja)
JP (1) JP5641921B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533092A (ja) * 2016-07-20 2018-11-08 平安科技(深▲せん▼)有限公司 ネットワークリクエスト及びレスポンスの処理方法、端末、サーバ及び記憶媒体

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5868138B2 (ja) * 2011-11-18 2016-02-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
US9158480B2 (en) * 2011-12-19 2015-10-13 Hewlett-Packard Development Company, L.P. Printer application states
JP6011167B2 (ja) 2012-09-03 2016-10-19 ブラザー工業株式会社 通信中継プログラム、及び、通信中継装置
JP6167502B2 (ja) 2012-10-31 2017-07-26 ブラザー工業株式会社 通信中継プログラム、通信中継装置、及び、画像処理装置
JP6075010B2 (ja) * 2012-10-31 2017-02-08 ブラザー工業株式会社 通信中継プログラム、及び、画像処理装置
US10817662B2 (en) 2013-05-21 2020-10-27 Kim Technologies Limited Expert system for automation, data collection, validation and managed storage without programming and without deployment
JP6346481B2 (ja) * 2014-03-25 2018-06-20 キヤノン株式会社 送信装置とその制御方法、及びプログラム
WO2017049208A1 (en) 2015-09-18 2017-03-23 The General Hospital Corporation Dba Massachusetts General Hospital Localized delivery of anti-fugetactic agent for treatment of cancer
US10733366B2 (en) 2016-09-19 2020-08-04 Kim Technologies Limited Actively adapted knowledge base, content calibration, and content recognition

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000238388A (ja) * 1998-12-25 2000-09-05 Fujitsu Ltd プリンタ装置及び制御方法並びにプリンタ制御プログラムを格納したコンピュータ読取り可能な記憶媒体
JP4403138B2 (ja) 2004-12-22 2010-01-20 株式会社リコー Webサービス利用システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533092A (ja) * 2016-07-20 2018-11-08 平安科技(深▲せん▼)有限公司 ネットワークリクエスト及びレスポンスの処理方法、端末、サーバ及び記憶媒体

Also Published As

Publication number Publication date
JP5641921B2 (ja) 2014-12-17
US8687219B2 (en) 2014-04-01
US20120154861A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5641921B2 (ja) 画像処理装置、画像処理装置と外部装置を有するシステム、システムの制御方法、及びプログラム
JP5539043B2 (ja) 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム
JP5106943B2 (ja) 電子装置、システムおよび制御方法
US8982388B2 (en) Information processing apparatus that displays operation screen and control method therefor
JP6056795B2 (ja) 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム
JP5704800B2 (ja) データ処理装置、データ処理処理方法、プログラム
JP2013050804A (ja) 印刷システム、印刷制御方法及びコンピュータプログラム
JP5868138B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム
JP6071482B2 (ja) 情報処理装置、情報処理システム、それらの制御方法、及びプログラム
CN102377816A (zh) 图像形成装置及信息处理方法
JP2012008860A (ja) 画像形成装置、印刷制御方法、及びプログラム
CN112055844A (zh) 根据基于元数据获取的打印作业的格式执行打印作业
JP5683218B2 (ja) 画像処理装置、情報処理システム、情報処理方法、及びプログラム
JP5489792B2 (ja) 画像処理装置、表示方法及びプログラム
JP2008084312A (ja) リモート画像処理ジョブを第三者が制御するための方法およびシステム
JP2012068835A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP5800529B2 (ja) 画像処理装置、画像形成装置の制御方法、及びプログラム
JP2013116559A (ja) 画像形成装置、制御方法、及びプログラム
JP2012003637A (ja) 情報処理システム、その制御方法、及びプログラム
JP2019016223A (ja) 通信システム、通信装置とその制御方法、及びプログラム
JP5298809B2 (ja) 画像形成システム、システム制御方法、画像形成装置、画像形成方法、画像形成プログラム。
JP2005165615A (ja) 遠隔印刷システム
JP2007286723A (ja) 情報処理装置、表示制御装置、情報処理システム、情報処理方法、表示制御方法、情報処理プログラム及び表示制御プログラム
JP2005301401A (ja) 遠隔印刷システム
JP6248681B2 (ja) 画像処理装置、設定値の設定方法及び設定プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140925

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141028

LAPS Cancellation because of no payment of annual fees