JP5791367B2 - 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ - Google Patents

画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ Download PDF

Info

Publication number
JP5791367B2
JP5791367B2 JP2011112448A JP2011112448A JP5791367B2 JP 5791367 B2 JP5791367 B2 JP 5791367B2 JP 2011112448 A JP2011112448 A JP 2011112448A JP 2011112448 A JP2011112448 A JP 2011112448A JP 5791367 B2 JP5791367 B2 JP 5791367B2
Authority
JP
Japan
Prior art keywords
response
request
web browser
proxy server
image forming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011112448A
Other languages
English (en)
Other versions
JP2012244405A5 (ja
JP2012244405A (ja
Inventor
森 龍太
龍太 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2011112448A priority Critical patent/JP5791367B2/ja
Priority to US13/474,821 priority patent/US8830508B2/en
Publication of JP2012244405A publication Critical patent/JP2012244405A/ja
Publication of JP2012244405A5 publication Critical patent/JP2012244405A5/ja
Application granted granted Critical
Publication of JP5791367B2 publication Critical patent/JP5791367B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • 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/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0062Stand-alone interface device
    • 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/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0074Arrangements for the control of a still picture apparatus by the connected apparatus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、画像形成装置とプロキシサーバとを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバに関する。
従来、スキャナやプリンタ、ファクシミリ、ネットワーク送信装置などの各装置の機能を1つの筺体内に収納した画像処理装置が一般的に知られている。このような画像処理装置の操作部にWebブラウザーを用いる形態も一般的である。ここで、Webブラウザーで表示する操作画面で上述の各機能を利用する形態として特許文献1のような方法が知られている。
特許文献1によると、画像処理装置が備えているWebブラウザーは、ネットワーク上の外部装置から受信した画面情報(画面データ)に基づいて画像処理機能に関する操作画面を操作部に表示する。そして、その操作画面を用いてユーザーの操作を受けると、Webブラウザーは、ユーザーから受け付けた操作の内容を外部装置へ送信する。その後、画像処理装置は、外部装置からそのユーザーの操作に基づくWebサービスの要求を受信する。画像処理装置は、Webサービスの要求に応じて画像処理装置のスキャン機能又はプリント機能を実行する。
特開2006−203869号公報
Webブラウザーを備える情報処理装置と、ネットワーク上に存在する外部装置との間にファイアウォールが存在する場合がある。ファイアウォールは一般的に内部から外部への接続は許可するが外部から内部への接続は許可しない。そのため上述した従来の方法では、外部装置からのWebサービスの要求を受け付けることができない場合がある。
また、ネットワークアドレス変換装置(NAT)によりIPアドレスとプライベートアドレスを相互に変換してアドレスを使用する環境にMFPが存在する場合には、Webサービスを要求するMFPをインターネット上の外部装置からは特定できない、という問題がある。
本発明は、上述のような課題にかんがみて、MFPと外部装置との間にファイアウォールが存在する場合や、MFPがアドレス変換を用いる環境に存在する場合でも、好適に外部装置からのWebサービスの要求をMFPに処理させるための手段を提供することを目的とする。
上記目的を達成するため、本発明によるネットワークシステムは、画像形成装置と、外部サーバと通信するためのプロキシサーバとを有するネットワークシステムであって、前記画像形成装置は、ウェブブラウザにより表示される操作画面で情報の入力を受け付ける入力手段と、前記プロキシサーバから受信したコマンドに従って、ジョブを実行する実行手段と、を備え、前記プロキシサーバは、前記入力手段で入力された情報を含む第1のリクエストを前記画像形成装置のウェブブラウザから受信したことに応じて、前記第1のリクエストを前記外部サーバに転送し、前記第1のリクエストに対する第1のレスポンスを前記外部サーバから受信したことに応じて、前記第1のレスポンスを前記ウェブブラウザに転送する転送手段を有し、前記転送手段は、前記コマンドが前記第1のレスポンスに含まれる場合は、前記ウェブブラウザに前記第1のレスポンスを転送するのではなく、前記実行手段に前記第1のレスポンスに含まれる前記コマンド送信することを特徴とする。
本発明によれば、ネットワーク上に存在する外部装置との間にファイアウォールが存在する場合や、MFPがアドレス変換を用いる環境に存在する場合でも、外部装置から送信されたWebサービスの要求であってWebブラウザーでの操作に基づくWebサービスの要求を好適に処理することができる。
本発明の実施の形態による中継装置および情報処理装置が収容されたネットワークシステムの一例を示す図である。 図1に示す情報処理装置についてその構成の一例を示すブロック図である。 図1に示すサーバーおよび仲介装置のハードウェア構成の一例を示すブロック図である。 図4は、図1に示す情報処理装置、サーバー、および仲介装置のソフトウェア構成の一例を示す図である。 図4に示す情報処理装置(MFP)、サーバー、および仲介装置における処理を説明するためのシーケンス図である。 仲介装置における処理を説明するためのフローチャートである。 仲介装置における処理を説明するためのフローチャートである。 仲介装置がMFPのWebサービスを呼び出した際のタイムアウト処理を説明するためのフローチャートである。 図4に示すWebアプリケーションが仲介アプリケーションに送信するHTTPレスポンスヘッダーの構成を示す図である。
以下、本発明の実施の形態によるネットワークシステムにおける中継装置の一例について図面を参照して説明する。
図1は、本発明の実施の形態による中継装置および情報処理装置が収容されたネットワークシステムの一例を示す図である。図示の例では、情報処理装置101と中継装置(以下仲介装置あるいはプロキシサーバとも呼ぶ)103がローカルエリアネットワーク(LAN)100を介して互いに通信可能に接続されている。またインターネット上にはサーバー(Webサーバー)102が存在する。
本実施形態では、図1には図示しないが、インターネットとLAN100との間にはファイアウォール及びNAT(Network Address Translator)が設けられている。ファイアウォールはインターネットからLAN100内への不正アクセスを防止する機能を持っている。
またNATは、IPアドレスとLAN100内で使用するプライベートアドレスとを相互に変換するアドレス変換テーブルを持つ。このアドレス変換テーブルによるアドレス変換により、プライベートアドレスしか持たないLAN100内の装置がインターネット上の外部装置に透過的にアクセスすることができる。
なお以降では、情報処理装置101の一例として画像形成(印刷)機能、画像読取機能、画像送信機能などの各種の画像処理機能を備えたMFP(Multiple Function Peripheral)について説明する。
MFP101は所謂Webブラウザー機能を有しており、サーバー102はWebコンテンツを、ネットワーク100を介して配信する配信機能を有している。そして、サーバー102はMFP101からのリクエストに応じてWebコンテンツをMFP101に返送する。なお、MFP101は通信を行うための複数のインタフェースを備えている。
MFP101は、上述のブラウザー機能を用いてサーバー102にリクエストを送信する場合、必ず中継装置(仲介装置)103を介するよう設定されている。そのため、MFP101のWebブラウザーで送信されたサーバー102へのリクエスト及びそのリクエストに対するレスポンスは、全て中継装置(仲介装置)103を介することになる。
仲介装置103は、サーバー102とMFP101との間の通信を仲介する。例えば、サーバー102からMFP101にリクエスト又はレスポンスを送信する際、仲介装置103はその通信内容を解析して、この解析結果に応じて、MFP101が備える複数のインタフェースのいずれかを選択する処理を行う。さらに、仲介装置103はMFP101で実行された処理結果(ジョブ処理結果)をサーバー101に送る。
なお、本実施形態ではサーバー(Webサーバー)を外部装置の一例として説明するが、汎用のパーソナルコンピュータを外部装置として適用してもよいことはいうまでもない。
図2は、図1に示すMFP101についてその構成の一例を示すブロック図である。
図2において、MFP101は、CPU201を有しており、CPU201はMFP101全体の制御を司る。さらに、MFP101は、CPU201のワークエリアとして用いられるRAM202、原稿から画像を読み取る読取装置203、および画像データに応じて印刷を行う印刷装置204を備えている。また、MFP101は、記憶装置205、ユーザー入力装置206、UI(ユーザーインタフェース)表示装置207、およびネットワーク装置208を備えている。そして、これらCPU201、RAM202、読取装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208はメインバス200で相互に接続されている。
記憶装置205にはプログラムおよび各種設定情報が記憶され、例えば、HDD又はNVRAM等が用いられる。ユーザー入力装置206はユーザーがコマンドの入力を行うためのものであり、UI表示装置207には各種画面表示が行われる。ネットワーク装置208は外部機器(例えば、サーバー102)とネットワーク100を介して通信を行うためのものである。なお、図示の例では、CPU201はメインバス200を介してRAM202、読取装置203、印刷装置204、記憶装置205、ユーザー入力装置206、UI表示装置207、およびネットワーク装置208を制御する。また、タッチパネルディスプレイを用いてUI表示装置207がユーザー入力装置206を兼ねるにしてもよい。
図3は、図1に示すサーバー102および仲介装置103のハードウェア構成の一例を示すブロック図である。
図3において、サーバー102は、CPU301、RAM302、記憶装置303、およびネットワーク装置304を有しており、これらはメインバス300によって相互に接続されている。RAM302はCPU301のワークエリアとして用いられ、記憶装置303にはプログラムおよび各種設定情報が記憶される。ネットワーク装置304はネットワーク100を介してMFP101と通信を行う。
図示の例では、CPU301はメインバス300を介してRAM302、記憶装置303、およびネットワーク装置304を制御する。なお、仲介装置103はサーバー102と同様のハードウェア構成を有している。
図4は、図1に示すMFP101、サーバー102、および仲介装置103のソフトウェア構成の一例を示す図である。なお、図4に示すソフトウェア(制御プログラム)はMFP101のCPU201又はサーバー102および仲介装置103のCPU301で実行される。
図4において、サーバー102上ではWebアプリケーション410が動作する。そして、Webアプリケーション410は、プレゼンテーション部411、ロジック部412、および通信部413を備えている。
プレゼンテーション部411は、通信部413を介して、仲介装置103と通信を行って、情報処理装置(以下MFPとも呼ぶ)101からのリクエストに応答して、MFP101に表示される操作画面又は処理要求を、MFP101にレスポンスとして送信する。また、プレゼンテーション部411はMFP101に表示された操作画面を介して入力された入力情報を、通信部413を介してMFP101から受け取る。
ロジック部412は、プレゼンテーション部411から通知された上記の入力情報に対する処理を行う。例えば、ロジック部412は、入力情報に応じて、表示する画面を変更し、そして、MFP101におけるデバイス機能実行のための処理要求を作成する。
通信部413は、ネットワーク装置304(図3)を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
仲介装置103は、仲介アプリケーション420を備えている。そして、この仲介アプリケーション420は、通信部421および処理部422を有している。通信部421はMFP101から送信されたリクエストを受け付ける。そして、通信部421は通信部413を介してプレゼンテーション部411およびロジック部412に当該リクエストを送信する。
また、通信部421はWebアプリケーション410から送られたレスポンスを受けると、当該レスポンスを処理部422に渡す。処理部422はこのレスポンスを解析して、解析結果に応じて後述するように通信部421を介してMFP101と通信を行う。
MFP101は、Webブラウザー430およびサービスプロバイダー部440を有している。Webブラウザー430およびサービスプロバイダー部440の各々は、MFP101のCPU201によって実行される。なお、Webブラウザー430は、サーバー102から送られたコンテンツを表示するものに限定するものではない。同様に、サーバー102および仲介装置103もHTTPプロトコルに従ってリクエスト/レスポンスを送受信する機器に限定するものではない。Webブラウザー430は、任意のサーバーと通信を行うことによってコンテンツを取得して、画面に表示するといった機能を有すればよい。
図示の例では、Webブラウザー430は、通信部431、解析部432、および画面表示部433を有している。通信部431は、HTTPプロトコルに従って、通信部421を介して(つまり、仲介装置103を介して)、サーバー102と通信を行う。サービスプロバイダー部440は、通信部441およびジョブ生成部442を有している。通信部441は、HTTPプロトコルに従って、通信部421を介してサーバー102と通信を行う。
つまり、MFP101において、Webブラウザー430又はサービスプロバイダー部440がWebアプリケーション410からのレスポンスに対してリクエストを行う場合、通信部421が通信部431又は441からリクエストを受ける。そして、通信部421は通信部413を介してプレゼンテーション部411にリクエストを通知する。
例えば、通信部431は、Webブラウザー430で表示した操作画面を介して入力される情報(入力情報)を、仲介装置103を介してWebアプリケーション410に対するリクエストとして送信する。そして、通信部431は、Webアプリケーション410から仲介装置103を介して送信されるレスポンスを受信する。
解析部432は、Webアプリケーション410から仲介装置103を介して受信したレスポンスを解析する。レスポンスにはWebブラウザー430が表示する操作画面の内容を示す記述であるHTMLデータが記載されている。
画面表示部433は、解析部432による解析結果に基づいて、サーバーが提供したHTMLデータを操作画面としてUI表示装置207(図2)に画面表示する。
サービスプロバイダー部440において、通信部441は、仲介アプリケーション部420から処理依頼を受け付ける。処理依頼を受け付ける際に用いられるインタフェースとして、例えば、Webサービスインタフェースが用いられる。ジョブ生成部442は、通信部441で受け付けた処理依頼を受け取って、依頼された処理を実行するためのジョブを生成して当該ジョブを実行する。
図5は、図4に示す情報処理装置(MFP)101、サーバー102、および仲介装置103における処理を説明するためのシーケンス図である。
図2〜図5を参照して、ここでは、MFP101がリクエストを行って、仲介装置103が当該リクエストに係る処理を仲介してレスポンスとしてサーバー102に送信する例について説明する。
いま、ユーザーがMFP101においてUI表示装置207から送信を行うためのハードウェアボタン(図示せず)を押下げると、Webブラウザー430が起動される。
Webブラウザー430は、ジョブ処理実行に係る設定画面を取得するため、サーバー102上のWebアプリケーション410に設定画面に係るリクエストを行う。図示の例では、メニュー画面(設定画面)のコンテンツを示すURLが予めMFP101に設定されている。
Webブラウザー430はURLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによるリクエストを行う。具体的には、Webブラウザー430において、通信部431はHTMLデータ(URL)に応じてHTTPプロトコルによって仲介装置103の通信部421と通信を行う。そして、通信部421は、サーバー102の通信部413と通信を行う。
これによって、通信部413は受信したURLに応じてWebアプリケーション410にHTMLデータを渡す。この結果、Webブラウザー430からWebアプリケーション410に対するリクエストが行われることになる。なお、以下の説明では、通信部431、通信部421、および通信部431の動作(処理)について説明を省略する。
前述のように、Webブラウザー430から仲介アプリケーション420に対してリクエストが行われると(ステップS501)、仲介アプリケーション420はWebブラウザー430から受けたリクエストをWebアプリケーション410に転送する(ステップS502)。
Webアプリケーション410はリクエストの内容に応じた処理を行って、その処理結果をレスポンスとして仲介アプリケーション420に送る(ステップS503)。仲介アプリケーション420は、レスポンスを受けると後述する判断処理を行って、当該レスポンスをWebブラウザー430およびサービスプロバイダー部440の双方又はいずれか一方に送るか否かを決定する。
仲介アプリケーション420は、判断処理の結果に応じてWebブラウザー430およびサービスプロバイダー部440の双方又はいずれか一方に送る(ステップS504およびS505)。
Webブラウザー430はレスポンスを受けると、当該レスポンスが示す処理結果をUI表示装置207(図2)に表示して処理を終了する。一方、サービスプロバイダー部440はレスポンスを受けると、レスポンスに応じた処理を行ってその結果を仲介アプリケーション420に送る(ステップS506)。そして、仲介アプリケーション420は、サービスプロバイダー部440から受信した処理結果をWebアプリケーション410に送って処理を終了する。
図6は、図4に示す仲介アプリケーション420においてMFP101(Webブラウザー430とサービスプロバイダー部440)とWebアプリケーション410とを仲介する処理を説明するためのフローチャートである。
なお以降の説明では、MFP101がインターネット上のサーバー102(Webアプリケーション410)宛てに送信するメッセージのことを「HTTPリクエストメッセージ」と呼ぶ。そして、サーバー102(Webアプリケーション410)がそのHTTPリクエストメッセージの応答として送信するメッセージのことを「HTTPレスポンスメッセージ」と呼ぶ。Webブラウザー430は、HTTPリクエストメッセージの中に、サーバー102が提供する操作画面のコンテンツを要求するコマンドや、その他にもWebアプリケーション410に各種の処理を実行するためのコマンドを含めて送信することができる。
一方、Webアプリケーション410は、HTTPリクエストメッセージの応答であるHTTPレスポンスメッセージの中にMFP101に処理を要求するコマンドを含めることができる。例えば、MFP101に対するスキャン処理を要求するコマンドやファイルを送信する処理を要求するコマンド等をHTTPレスポンスメッセージに含めて送信し、そのメッセージに含まれるコマンドに従って情報処理装置にジョブを実行させる。このような構成とすることで、MFP101とサーバー102との間にファイアウォールが存在する場合でも、サーバー102が情報処理装置に対して処理を要求することができる。
図6及び図7のフローチャートは、MFP101が備えるWebブラウザー430からHTTPリクエストメッセージを受信したことにより、処理が開始される。
図4および図6を参照して、いま、仲介アプリケーション420はWebブラウザー430からWebアプリケーション410宛てのHTTPリクエストメッセージを受信すると、当該HTTPリクエストメッセージをWebアプリケーション410に転送する(ステップS601)。そして仲介アプリケーション420は、Webアプリケーション410からHTTPリクエストメッセージの応答としてHTTPレスポンスメッセージを受信する(ステップS602)。
ここで、Webアプリケーション410が仲介アプリケーション420に送信するHTTPレスポンスヘッダーについて図9を参照して説明する。図9は、Webアプリケーション410が仲介アプリケーション420に送信するHTTPレスポンスメッセージのヘッダー部の構成を示す図である。
図9に示すように、HTTPレスポンスメッセージのヘッダー部900は、宛先901(X−Web Service−Address)、タイムアウト時間902(X−Web service−Request Time out)、およびコンテントタイプ903(Content−Type)を備えている。仲介アプリケーション420は、例えば、図5に示すステップS505において、宛先901に応じてHTTPレスポンスメッセージのボディー部に記述されたコマンドを送信する。送信するコマンドは、ここでは図示しないがSOAP(Simple Object Access Protocol)に従ったXML形式のメッセージであり、サービスプロバイダー部440にスキャンやプリント、ファイル送信等のジョブを実行させるものである。
タイムアウト時間902は、例えば、仲介装置103がサービスプロバイダー部440と通信する際のタイムアウト時間であり、秒単位で示される。仲介装置103は、サービスプロバイダー部440と通信を行う際に時間を計測し、タイムアウト時間902で指定された時間が経過すると通信を停止し、仲介装置103はタイムアウトエラーレスポンスをWebアプリケーション410に送る。図6のフローチャートの説明に戻る。S602でHTTPレスポンスメッセージをWebアプリケーション410から受信すると、仲介アプリケーション420は、HTTPレスポンスメッセージに含まれるヘッダー部のContent−Typeフィールド(コンテントタイプフィールド)803がapplication/vnd.canon.webserviceであるか否かを判定する(ステップS603)。
Content−Typeフィールド803がapplication/vnd.canon.webserviceでないと判定した場合には(ステップ603において、NO)、判定結果に応じて、仲介アプリケーション420はそのHTTPレスポンスメッセージをWebブラウザー430に送信し(ステップS604)、本フローチャートの処理を終了する。
一方Content−TypeフィールドがWebサービスの呼び出しを要求する属性、すなわち、application/vnd.canon.webserviceであると判定した場合(ステップ603において、YES)、ステップS606に進む。ステップS606では、仲介アプリケーション420はHTTPレスポンスメッセージに含まれるSOAPのコマンドをサービスプロバイダー部440に送信してWebサービスを呼び出す(ステップS606)。一般に、クライアント/サーバシステムにおいては、HTTPリクエストメッセージに対するHTTPレスポンスメッセージはリクエストを発行したクライアント(ここではWebブラウザー430)に返却される。ただしステップS606に処理を進めた場合には、Webブラウザー430が送信したHTTPリクエストメッセージの応答がWebブラウザー430ではなくサービスプロバイダー部440に送信される。そのため、Webブラウザー430はこの時点ではHTTPリクエストメッセージに対する応答の待ち状態となっている。
S606で仲介装置103(仲介アプリケーション420)がSOAPのコマンドをMFP101のサービスプロバイダー部440に送信すると、サービスプロバイダー部440ではその送信されたコマンドに従いジョブ生成部442でジョブ(スキャンジョブや送信ジョブなど)を生成し、WebサービスとしてMFP101の処理手段に画像処理を実行させる。例えば、受け取ったコマンドがスキャンの要求である場合には画像読取機能により原稿を読み取って画像データを生成する。そして、ファイル送信の要求である場合には画像送信機能により指定宛先へ画像データを送信する。
図7は、図6のフローチャートの処理の続きを説明するためのフローチャートである。ここでは、サービスプロバイダー部440から仲介アプリケーション420経由で処理結果をWebアプリケーション410に送信した後、再度Webアプリケーション410から仲介装置103に処理依頼があったものとする。図示の例では、サービスプロバイダー部440に返却されるべきHTTPレスポンスメッセージについて、当該HTTPレスポンスメッセージのヘッダー部におけるContent−Typeフィールドを解析して、その解析結果に応じてHTTPレスポンスメッセージをサービスプロバイダー部440及びWebブラウザー430のいずれに送信すべきかを決定する。
前述したように、ステップS606で仲介装置103(仲介アプリケーション420)がWebサービスを呼び出し、その結果サービスプロバイダー部440によりジョブが実行されると、その後、仲介アプリケーション420はサービスプロバイダー部440から処理結果(例えば、ジョブ処理結果)を取得する(ステップS801)。そして、仲介アプリケーション420は取得した処理結果を含むHTTPリクエストメッセージをWebアプリケーション410に送信する(ステップS802)。
続いて、仲介アプリケーション420は再度サーバー102(Webアプリケーション410)から処理に関する指示を含むHTTPレスポンスメッセージを受信する(ステップS803)。仲介アプリケーション420はステップS603の処理と同様にHTTPレスポンスメッセージのヘッダー部のContent−Typeフィールドを解析する。Content−Typeフィールドが再度サービスプロバイダー部440にWebサービスを要求する属性(application/vnd.canon.webservice)である場合には(ステップS804でYES)ステップS807に進む。ステップS807では、S803で受信したHTTPリクエストメッセージに含まれるSOAPのコマンドを再度サービスプロバイダー部440に送信しWebサービスを呼び出す。一方Webサービスを要求する属性でなければ(ステップS804でNO)、Webアプリケーション410からの指示はサービスプロバイダー部440への指示ではなくWebブラウザー430への指示と判断し、ステップS805に進む。ステップS805では、仲介アプリケーション420はWebブラウザー430にHTTPレスポンスメッセージを送信し(ステップS808)本フローチャートの処理を終了する。
以上、図6及び図7で説明したように、仲介アプリケーション420はコンテントタイプ903に応じて、HTTPレスポンスメッセージのボディー部の内容がサービスプロバイダー部440に対する処理要求であるか又はWebブラウザー430で表示するHTMLコンテンツであるかを判定する。具体的には、HTTPレスポンスメッセージのヘッダー部にWebサービスの要求を示す属性(application/vnd.canon.webservice)があるか否かを解析することで上記判定を行う。そして、Webサービスの要求を示す属性がある場合、そのHTTPレスポンスメッセージに含まれるWebサービスの要求を示すコマンドをサービスプロバイダー部440に送信する。
本実施形態では、Webブラウザー430が送信したHTTPリクエストメッセージの応答であるHTTPレスポンスメッセージにWebサービスを要求する属性を含む場合は、そのメッセージはWebブラウザー430で受信せず、仲介アプリケーション420がサービスプロバイダー部440へ転送するように構成した。そのため、Webブラウザーには特別な機能を拡張する必要がない。
以上のように、本実施の形態によれば、MFPなどの情報処理装置が備えるインタフェースに機能拡張などの変更が行われても、MFPが備えるモジュール(特にWebブラウザー)の変更を行う必要がない。つまり、情報処理装置においてジョブ処理を司るサービスプロバイダー部が拡張されても柔軟に対応することができる。そして、情報処理装置に呼び出しのためのアプリケーションを組み込むことなく、サーバーとは別に仲介装置を配置して、当該仲介装置で動作する仲介アプリケーションによって呼び出しを行うようにしたので、ユーザーに対する影響を少なくして、システムの拡張を行うことができる。
図8は、図4に示す仲介アプリケーション420がサービスプロバイダー部440のWebサービスを呼び出した際のタイムアウト処理を説明するためのフローチャートである。
図4および図7を参照して、図6で説明したように、Content−Typeフィールドがapplication/vnd.canon.webserviceであると、仲介アプリケーション420はHTTPレスポンスメッセージに記載されたサービスプロバイダー部440に係るWebサービスを呼び出す。つまり、仲介アプリケーション420はサービスプロバイダー部440のインタフェースであるWebサービスを呼び出す(ステップS701)。そして、仲介アプリケーション420はWebサービス呼び出しを行った後、所定のタイムアウト時間の監視を開始する(ステップS702)。
仲介アプリケーション420はタイムアウト時間が経過したか否かをチェックする(ステップS703)。タイムアウト時間が経過しないと(ステップ703において、NO)、仲介アプリケーション420はサービスプロバイダー部440から処理結果を受信したか否かをチェックする(ステップS704)。
サービスプロバイダー部440から処理結果を受信しないと(ステップS704において、NO)、仲介アプリケーション420はステップS703の処理に戻る。一方、サービスプロバイダー部440から処理結果を受信すると(ステップS704において、YES)、仲介アプリケーション420は処理を終了する。
タイムアウト時間が経過すると(ステップ703において、YES)、仲介アプリケーション420はタイムアウトエラーと判定して、タイムアウトエラーレスポンスをWebアプリケーション410に通知する(ステップS705)。そして、仲介アプリケーション420は処理を終了する。
上述の説明から明らかなように、図4において、Webブラウザー430が表示制御手段として機能し、サービスプロバイダー部440がジョブ処理手段として機能する。また、仲介アプリケーション420が送受信手段、判定手段、および送信手段として機能する。加えて、仲介アプリケーション420はカウント手段および通知手段として機能する。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施の形態の機能を制御方法として、この制御方法を、中継装置(仲介装置)に実行させるようにすればよい。また、上述の実施の形態の機能を有するプログラムを制御プログラムとして、この制御プログラムを中継装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
この際、制御方法および制御プログラムは、少なくとも送受信ステップ、判定ステップ、および送信ステップを有することになる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
410 Webアプリケーション
411 プレゼンテーション部
412 ロジック部
413,431,441 通信部
430 Webブラウザー
432 解析部
432 画面表示部
440 サービスプロバイダー部
442 ジョブ生成部

Claims (9)

  1. 画像形成装置と、外部サーバと通信するためのプロキシサーバとを有するネットワークシステムであって、
    前記画像形成装置は、
    ウェブブラウザにより表示される操作画面で情報の入力を受け付ける入力手段と、
    前記プロキシサーバから受信したコマンドに従って、ジョブを実行する実行手段と、を備え、
    前記プロキシサーバは、
    前記入力手段で入力された情報を含む第1のリクエストを前記画像形成装置のウェブブラウザから受信したことに応じて、前記第1のリクエストを前記外部サーバに転送し、前記第1のリクエストに対する第1のレスポンスを前記外部サーバから受信したことに応じて、前記第1のレスポンスを前記ウェブブラウザに転送する転送手段を有し、
    前記転送手段は、
    前記コマンドが前記第1のレスポンスに含まれる場合は、前記ウェブブラウザに前記第1のレスポンスを転送するのではなく、前記実行手段に前記第1のレスポンスに含まれる前記コマンド送信することを特徴とするネットワークシステム。
  2. 前記第1のレスポンスはHTTPプロトコルに応じたレスポンスであり、
    前記第1のレスポンスのヘッダーにおけるコンテントタイプフィールドに応じて、前記コマンドが前記第1のレスポンスに含まれるか否かを判定する判定手段を更に有することを特徴とする請求項1に記載のネットワークシステム。
  3. 前記プロキシサーバは、前記実行手段から前記コマンドに従った前記ジョブの実行処理結果を受信すると、前記ジョブの実行処理結果を前記実行手段から受信したことに応じて、前記ジョブの実行処理結果を含む第2のリクエストを前記外部サーバに送信し、
    前記転送手段は、前記第1のリクエストと同一のプロトコルである第2のレスポンスを、前記第2のリクエストに対するレスポンスとして前記外部サーバから受信したことに応じて、前記第2のレスポンスを前記ウェブブラウザに転送することを特徴とする請求項1又は2記載のネットワークシステム。
  4. 前記プロキシサーバは、
    前記第1のレスポンスに含まれる前記コマンドを前記実行手段に送信すると、カウントを開始するカウント手段と、
    前記カウント手段によるカウントが所定のタイムアウト時間を経過するまでに前記ジョブの実行処理結果を前記実行手段から受信しなかった場合、タイムアウトエラーを前記外部サーバに通知する通知手段とを更に有することを特徴とする請求項1乃至3のいずれか1項に記載のネットワークシステム。
  5. 前記実行手段は、原稿を読み取って画像データを生成するスキャンジョブを実行することを特徴とする請求項1乃至のいずれか1項に記載のネットワークシステム。
  6. 前記実行手段は、指定宛先へ画像データを送信する送信ジョブを実行することを特徴とする請求項1乃至のいずれか1項に記載のネットワークシステム。
  7. 画像形成装置と、外部サーバと通信するためのプロキシサーバとを有するネットワークシステムの制御方法であって、
    前記画像形成装置におけるウェブブラウザにより表示される操作画面で情報の入力を受け付ける入力ステップと、
    前記プロキシサーバから受信したコマンドに従って、ジョブを前記画像形成装置における実行手段により実行する実行ステップと、
    前記プロキシサーバにおいて、前記入力ステップにおいて入力された情報を含む第1のリクエストを前記ウェブブラウザから受信したことに応じて、前記第1のリクエストを前記外部サーバに転送し、前記第1のリクエストに対する第1のレスポンスを前記外部サーバから受信したことに応じて、前記第1のレスポンスを前記ウェブブラウザに転送する転送ステップし、
    前記転送ステップは、前記コマンドが前記第1のレスポンスに含まれる場合は、前記ウェブブラウザに前記第1のレスポンスを転送するのではなく、前記実行手段に前記第1のレスポンスに含まれる前記コマンド送信することを特徴とするネットワークシステムの制御方法。
  8. 画像形成装置と、外部サーバと通信するためのプロキシサーバとを有するネットワークシステムの制御方法をコンピュータに実行させるための制御プログラムであって、
    前記ネットワークシステムの制御方法は、
    前記画像形成装置におけるウェブブラウザにより表示される操作画面で情報の入力を受け付ける入力ステップと、
    前記プロキシサーバから受信したコマンドに従ってジョブを前記画像形成装置における実行手段により実行する実行ステップと、
    前記プロキシサーバにおいて、前記入力ステップにおいて入力された情報を含む第1のリクエストを前記ウェブブラウザから受信したことに応じて、前記第1のリクエストを前記外部サーバに転送し、前記第1のリクエストに対する第1のレスポンスを前記外部サーバから受信したことに応じて、前記第1のレスポンスを前記ウェブブラウザに転送する転送ステップとをし、
    前記転送ステップは、前記コマンドが前記第1のレスポンスに含まれる場合は、前記ウェブブラウザに前記第1のレスポンスを転送するのではなく、前記実行手段に前記第1のレスポンスに含まれる前記コマンド送信することを特徴とする制御プログラム。
  9. 画像形成装置を外部サーバと通信させるためのプロキシサーバであって
    前記画像形成装置の入力手段により入力された情報を含む第1のリクエストを前記画像形成装置のウェブブラウザから受信したことに応じて、前記第1のリクエストを前記外部サーバに転送し、前記第1のリクエストに対する第1のレスポンスを前記外部サーバから受信したことに応じて、前記第1のレスポンスを前記ウェブブラウザに転送する転送手段を有し、
    前記転送手段は、
    前記画像形成装置の実行手段にジョブを実行させるためのコマンドが前記第1のレスポンスに含まれる場合は、前記ウェブブラウザに前記第1のレスポンスを転送するのではなく、前記実行手段に前記第1のレスポンスに含まれる前記コマンド送信することを特徴とするプロキシサーバ。
JP2011112448A 2011-05-19 2011-05-19 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ Expired - Fee Related JP5791367B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011112448A JP5791367B2 (ja) 2011-05-19 2011-05-19 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ
US13/474,821 US8830508B2 (en) 2011-05-19 2012-05-18 Relay device, network system, and method of controlling relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011112448A JP5791367B2 (ja) 2011-05-19 2011-05-19 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ

Publications (3)

Publication Number Publication Date
JP2012244405A JP2012244405A (ja) 2012-12-10
JP2012244405A5 JP2012244405A5 (ja) 2014-07-03
JP5791367B2 true JP5791367B2 (ja) 2015-10-07

Family

ID=47174722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112448A Expired - Fee Related JP5791367B2 (ja) 2011-05-19 2011-05-19 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ

Country Status (2)

Country Link
US (1) US8830508B2 (ja)
JP (1) JP5791367B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5868138B2 (ja) * 2011-11-18 2016-02-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
JP5870990B2 (ja) * 2013-12-04 2016-03-01 コニカミノルタ株式会社 中継装置、画像形成装置、中継方法および中継プログラム
JP5907181B2 (ja) * 2014-01-20 2016-04-26 コニカミノルタ株式会社 画像処理システム、中継装置、画像形成装置、中継方法、および中継プログラム
JP6335607B2 (ja) * 2014-04-21 2018-05-30 キヤノン株式会社 通信システム、画像処理装置、画像処理装置の制御方法、及びプログラム
JP6044597B2 (ja) * 2014-07-01 2016-12-14 コニカミノルタ株式会社 画像処理システム、中継サーバー及びプログラム
JP6561444B2 (ja) * 2014-09-24 2019-08-21 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
JP6137149B2 (ja) * 2014-12-01 2017-05-31 コニカミノルタ株式会社 情報処理システム、クラウドサーバー、装置制御方法および装置制御プログラム
JP6492711B2 (ja) * 2015-02-04 2019-04-03 富士ゼロックス株式会社 中継装置、操作画面提供装置及びプログラム
JP6311666B2 (ja) * 2015-07-01 2018-04-18 コニカミノルタ株式会社 通信システム、管理サーバおよびプログラム
JP6256442B2 (ja) * 2015-09-29 2018-01-10 コニカミノルタ株式会社 画像処理システム、接続仲介サーバー、中継サーバー及びプログラム
JP7233834B2 (ja) * 2017-10-10 2023-03-07 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
JPH118654A (ja) * 1997-06-18 1999-01-12 Hitachi Ltd ネットワークシステムおよびデータ中継装置
JP2005242994A (ja) * 2004-01-27 2005-09-08 Ricoh Co Ltd サービス提供装置、情報処理装置、サービス提供方法、情報処理方法、サービス提供プログラム、情報処理プログラム及び記録媒体
EP3136702B1 (en) 2004-12-22 2022-07-06 Ricoh Company, Ltd. Image foriming system including an 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
JP4403138B2 (ja) 2004-12-22 2010-01-20 株式会社リコー Webサービス利用システム
JP4508114B2 (ja) * 2006-01-12 2010-07-21 セイコーエプソン株式会社 ネットワーク型プラグアンドプレイに対応したネットワーク中継制御
JP2010146437A (ja) * 2008-12-22 2010-07-01 Canon It Solutions Inc 管理システム、管理装置、その制御方法及びプログラム
JP4933573B2 (ja) * 2009-02-18 2012-05-16 日本電信電話株式会社 Webシステムにおける分散処理方法およびwebシステムにおける分散処理システム
JP5383376B2 (ja) * 2009-08-07 2014-01-08 キヤノン株式会社 画像処理装置及びその制御方法
JP5451348B2 (ja) * 2009-12-09 2014-03-26 キヤノン株式会社 画像形成システム、Webサーバ、印刷制御装置、それらの制御方法、及びプログラム
JP5811708B2 (ja) * 2010-09-30 2015-11-11 ブラザー工業株式会社 画像処理システム、画像処理方法、中継装置、及び、中継プログラム。

Also Published As

Publication number Publication date
US8830508B2 (en) 2014-09-09
US20120293837A1 (en) 2012-11-22
JP2012244405A (ja) 2012-12-10

Similar Documents

Publication Publication Date Title
JP5791367B2 (ja) 画像形成装置とプロキシサーバを有するネットワークシステムおよび、その制御方法、制御プログラム、並びにプロキシサーバ
US8693018B2 (en) Printing system and print control method
JP6056795B2 (ja) 画像処理システム、ゲートウェイ装置、ゲートウェイ装置の制御方法、ゲートウェイ装置の制御プログラム
US8687219B2 (en) System which can utilize a function of an image processing apparatus as a web service
US8982388B2 (en) Information processing apparatus that displays operation screen and control method therefor
US20110157638A1 (en) Information processing apparatus capable of displaying operation screen provided by server, method of controlling the information processing apparatus, and storage medium
JP5035373B2 (ja) 画像処理装置及び同装置におけるデータ処理方法並びにデータ処理プログラム
JP5370439B2 (ja) 装置、要求処理方法、プログラム、及び記録媒体
KR100547117B1 (ko) 네트워크 전자기기의 원격 제어방법 및 장치
JP2008270972A (ja) 遠隔操作システム、サーバ、クライアント及び遠隔操作プログラム
JP6737170B2 (ja) サーバー装置、画像処理ユニット及びプログラム
US9325864B2 (en) Image processing apparatus, information processing system, information processing method, and storage medium to communicate with external apparatus
JP6492711B2 (ja) 中継装置、操作画面提供装置及びプログラム
JP5447585B2 (ja) 画像処理装置、遠隔操作システム、およびプログラム
JP4923875B2 (ja) 情報指示装置、情報指示処理システム、情報指示処理管理システム、及び情報指示プログラム
JP2012174206A (ja) 画像処理装置、サーバ装置、それらの制御方法、及びプログラム
JP5806503B2 (ja) 通信システム、通信装置、それらの制御方法、及びプログラム
JP4787655B2 (ja) 情報処理装置、表示制御装置、情報処理システム、情報処理方法、表示制御方法、情報処理プログラム及び表示制御プログラム
JP6504958B2 (ja) 通信装置、画像処理システム、制御方法、及び、プログラム
JP6198511B2 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP4533186B2 (ja) 画像形成装置及び画像形成方法
JP2005056354A (ja) ネットワーク端末装置
JP2019200493A (ja) 通信装置、その制御方法及びプログラム
JP2018113539A (ja) 画像処理装置、その処理方法およびプログラム
JP2016009364A (ja) 情報処理システム、情報処理システムの制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140519

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150527

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: 20150707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150804

LAPS Cancellation because of no payment of annual fees