JP2013008284A - 画像処理装置及びその制御方法、並びにプログラム - Google Patents

画像処理装置及びその制御方法、並びにプログラム Download PDF

Info

Publication number
JP2013008284A
JP2013008284A JP2011141718A JP2011141718A JP2013008284A JP 2013008284 A JP2013008284 A JP 2013008284A JP 2011141718 A JP2011141718 A JP 2011141718A JP 2011141718 A JP2011141718 A JP 2011141718A JP 2013008284 A JP2013008284 A JP 2013008284A
Authority
JP
Japan
Prior art keywords
reverse proxy
url
unit
script
mfp
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.)
Withdrawn
Application number
JP2011141718A
Other languages
English (en)
Inventor
Fumitoshi Ito
文利 伊藤
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 JP2011141718A priority Critical patent/JP2013008284A/ja
Priority to US13/533,397 priority patent/US20120331175A1/en
Publication of JP2013008284A publication Critical patent/JP2013008284A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】本発明は、リバースプロキシ方式のSSOシステムにおいて、Webブラウザーを有する画像処理装置がWebサーバーからの指示で適切に動作することが可能な仕組みを提供する。
【解決手段】MFP110と、MFP110を制御するWebサーバー140と、MFP110からWebサーバー140に対するアクセスを中継するリバースプロキシサーバー120とを備える画像処理システムにおいて、MFP110は、Webサーバー140から、画像処理で利用するURLを含むスクリプトを受け付けた場合に、URL変換テーブル508をリバースプロキシサーバー120から取得し、URL変換テーブル508を元に、Webサーバー140から送信されたスクリプトデータを書き換える。
【選択図】図8

Description

本発明は、画像処理装置及びその制御方法、並びにプログラムに関し、特に、Webサーバーにより提供される操作画面をWebブラウザーで表示することが可能な画像処理装置及びその制御方法、並びにプログラムに関する。
パーソナル・コンピュータ(PC)等の情報処理装置がネットワーク上のWebサーバーに接続し、Webサーバーにより提供される操作画面を、情報処理装置が備えるWebブラウザー上に表示するサービスが知られている。この場合、まず情報処理装置のWebブラウザーが、Webサーバーに対して操作画面を要求(リクエスト)する。そして、Webサーバー上のWebアプリケーションが情報処理装置からのリクエストに応えて、Webブラウザーに操作画面を表示させるためのHTMLファイルを情報処理装置に応答(レスポンス)する。情報処理装置のWebブラウザーは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を表示する。
さらに、Webブラウザーに表示された操作画面を介してユーザーが指示情報の入力を行うと、入力された指示情報をWebブラウザーがWebサーバーに対して通知する。そして、この通知を受けたWebサーバー上のWebアプリケーションは、入力された指示情報に従って処理を実行する。
ところで、最近ではスキャナー機能やプリンター機能を備えたMFP(Multi Function Peripheral)の中にも、上述したようなWebブラウザーを備えているものがある。このようなMFPでも、同様に、上述した手順を用いてWebサーバーにより提供される操作画面をMFPのWebブラウザーに表示し、ユーザーからの各種指示を受け付ける。
例えば、特許文献1では以下に説明する技術が開示されている。まず、MFPのユーザーがWebブラウザー上に表示された操作画面を介してMFPに指示情報を入力すると、入力された指示情報がWebブラウザーによってWebサーバーに通知される。この通知を受けたWebサーバーは、ユーザーから入力された指示情報に従って、MFPに対して各種処理の実行を依頼する。依頼を受けたMFPは、依頼された処理を実行する。これにより、MFPを操作するためのすべてのメニューデータをMFP内で保持しておく必要がなくなり、またメニューデータの変更もWebサーバー上で容易に行うことができる。
また、特許文献2では、WebサーバーとWebブラウザーを使用したシステムにおいて、ユーザーが最初に一度認証を受けると、その認証で許可されたすべての機能を利用できるようにするSSO(Single Sign−On)システムが開示されている。SSOには、SSOサーバーを配置し、必ずそのサーバーを通してWebサーバーとアクセスさせる方式で、Webサーバーから見てSSOサーバーはプロキシサーバの役割を担うため、リバースプロキシ方式と呼ばれるものがある。例としては、日本HPのIceWall(登録商標)SSOが挙げられる。
特開2006−127503号公報 特開2005−321970号公報
リバースプロキシ方式のSSOシステムの場合、Webブラウザー側からは、コンテンツがすべてリバースプロキシに存在するように見える。このため、リバースプロキシでは、コンテンツ内にリンクなどが設定してある場合、このリンク先のURLに変更が生じるため、これに伴ってコンテンツを書き換える必要がある。書き換える必要が生じるコンテンツは、例えば、HTML、スタイルシート、Webブラウザー上で動作するスクリプト言語(Java(登録商標)Script等)等である。
WebサーバーからMFPに対する各種処理の実行依頼には、HTTPプロトコルによるスキャン画像の送信が含まれる場合がある。この時MFPはHTTPプロトコルで通信するために、リバースプロキシに対してアクセスする必要がある。しかし、Webサーバーは間にリバースプロキシを通過することを、Webブラウザーからのリクエストに含まれる情報からは把握できない。また、リバースプロキシがどのようなURL変換を行っているかも把握できない。そのため、前述のコンテンツと同様に、Webサーバーからの送信処理実行依頼に含まれるHTTPプロトコルの通信先URLアドレスをリバースプロキシで書き換える必要が出てくる。
しかしながら、WebサーバーからMFPへの処理の実行依頼のデータ形式は定まっておらず、すべての形式でコンテンツを書き換えることはリバースプロキシで対応しきれない。またデータ形式が変更になる度に、リバースプロキシの変更を行うのも煩わしい。このように、前述のWebサーバーとMFPのシステムにおいてリバースプロキシ方式のSSOシステムに参加させることが難しいという課題がある。
本発明は、上記課題を鑑みてなされたものであり、リバースプロキシ方式のSSOシステムにおいて、Webブラウザーを有する画像処理装置がWebサーバーからの指示で適切に動作することが可能な仕組みを提供することを目的とする。
上記目的を達成するために、本発明の画像処理装置は、サーバーから中継装置を介してURLを含むスクリプトを受信した場合に、前記スクリプトに含まれるURLを他のURLに変換する変換情報を前記中継装置から取得し、前記変換情報を元に、前記サーバーから受信したスクリプトに含まれるURLを書き換えることを特徴とする。
本発明によれば、リバースプロキシ方式のSSOシステムにおいて、リバースプロキシで特別なURL変換の対応を行わなくても、Webサーバーからの指示を画像処理装置で実行することを可能とする。
本発明の第1の実施形態における画像処理システムの全体構成を示す図である。 図1におけるMFPのハードウェア構成の概略を示すブロック図である。 図1におけるリバースプロキシサーバーのハードウェア構成を示すブロック図である。 MFPのソフトウェア構成の概略を示すブロック図である。 リバースプロキシサーバーのソフトウェア構成の概略を示すブロック図である。 第1の実施形態におけるURL変換テーブルの一例を示す図である。 図1におけるWebサーバーのソフトウェア構成の概略を示すブロック図である。 図1の画像処理システムで実施されるスキャンと送信の処理の流れを示すシーケンス図である。 図8のステップ804にてWebブラウザー402が表示する設定画面の一例を示す図である。 第1の実施形態におけるスクリプトデータの一例を示す図である。 第1の実施形態におけるスクリプト実行部のスクリプト実行処理の流れを示すフローチャートである。 第2の実施形態におけるスクリプトデータの一例を示す図である。 第2の実施形態におけるスクリプト実行部のスクリプト実行処理の流れを示すフローチャートである。 第2の実施形態におけるURL変換テーブルの一例を示す図である。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、本発明の第1の実施形態について説明する。
図1は、本発明の第1の実施形態における画像処理システムの全体構成を示す図である。なお、画像処理システムを構成する機器は、図示例の数に限られるものではない。
図1において、MFP110は、コピー機能と、原稿画像を読み取って得た画像データを、HTTPプロトコルやWebDAVプロトコル等を用いてネットワークに接続された装置に送信するデータ送信機能を有する画像処理装置である。MFP110は、イーサネット(登録商標)などからなるLAN100に接続され、LAN100上のリバースプロキシサーバー120を介してインターネット130に接続することができる。インターネット130上には、Webサーバー140が設置されている。
リバースプロキシサーバー120(第2サーバー)は、MFP110からWebサーバー140へのリクエストの送信及びこのリクエストに対するレスポンスを中継する。
Webサーバー140(第1サーバー)は、Webアプリケーションにより、MFPからのリクエストに応じて、MFP110に表示するHTMLページをレスポンスとして送信する。また、Webサーバー140は、MFP110からのリクエストに応じて、MFP110に画像処理指示をレスポンスとして送信する。
図2は、図1におけるMFP110のハードウェア構成の概略を示すブロック図である。
図2において、MFP110は、画像入力装置であるスキャナー部112と、画像出力装置であるプリンター部113と、MFP110の制御を司るコントローラー200と、操作部111を備える。スキャナー部112は、置かれた原稿上の画像の読み取り動作を行い、画像データを作成する。プリンター部113は、コントローラー200から受け取った画像データを用紙上に印刷画像として形成する。
コントローラー200は、操作部111、スキャナー部112、及びプリンター部113と電気的に接続されている一方、LAN100にもNetworkI/F206を介して接続されている。すなわち、LAN100を経由して他の機器と接続されている。これにより、HTTPプロトコルによる通信が可能となっている。
コントローラー200は、図示のように次の構成要素から構成される。CPU201は、ROM202に記憶された制御プログラム等に基づいて、接続中の各種MFPへのアクセス及び他の装置からのアクセスを統括的に制御する。また、CPU201は、コントローラー200内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。
ROM202には装置のブートプログラムが格納されている。RAM203は、CPU201が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。RAM203は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域により構成されている。
HDD204はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能な大容量の記憶装置である。操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェース部である。操作部I/F205は、操作部111に表示するための画像データをシステムバス211から受け取って操作部111に出力すると共に、操作部111から入力された情報をシステムバス211へと出力する。NetworkI/F206は、LAN100及びシステムバス211に接続し、情報の入出力を行う。
スキャナーI/F207は、スキャナー部112から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナーI/F207は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。
画像処理部208は、画像データの方向変換、画像圧縮、伸張処理などを行う。また、HDD204に保存されている画像同士を合成して一枚の画像にすることが可能である。
プリンターI/F209は、画像処理部208から送られた画像データを受け取り、この画像データに付随する属性データを参照しながら画像データに基づいて画像形成を行う。画像形成後の画像データは、プリンター部113に出力される。
本実施形態では、MFP110はUI表示を実行するネットワークMFPであるが、汎用スキャナーや汎用プリンターなどを接続した汎用コンピューター等であっても、これら以外の画像処理装置であってもよい。
図3は、図1におけるリバースプロキシサーバー120のハードウェア構成を示すブロック図である。
図3において、リバースプロキシサーバー120は、CPU301、RAM302、ROM303、ハードディスクドライブ(HDD)304、NetworkI/F305を備え、これらがシステムバス306を介して互いに通信可能に接続されている。
ROM303或いはHDD304には、オペレーティングシステム(OS)やアプリケーションなどの制御プログラムが格納された記憶装置である。CPU301は、当該制御プログラムを必要に応じてROM303或いはHDD304からRAM302上へ読み出して実行することで、コンピューターとしての機能を発揮する。また、CPU301は、NetworkI/F305を介して接続されているネットワーク上の他の装置との通信を行う。
なお、Webサーバー140のハードウェア構成についても図3で示したリバースプロキシサーバー120のハードウェア構成と同様である。
図4は、MFP110のソフトウェア構成の概略を示すブロック図である。図示のソフトウェアモジュールは、MFP110のHDD204に格納され、CPU201が実行するものである。
図4において、HTTP通信部401は、NetworkI/F206を操作してHTTPプロトコルにより通信を行うモジュールである。
Webブラウザー402は、HTTP通信部401を介して、LAN100やインターネット130を含むネットワーク上の機器と通信を行うWebブラウザーである。Webブラウザー402は、指定されたURLに応じたWebアプリケーションに対して、HTMLで記載された操作画面のリクエストを行う。また、Webブラウザー402は、HTTP通信部401を介して受け取ったレスポンスに含まれる操作画面のHTMLデータをレンダリングして操作部111に表示する。また、Webブラウザー402は、操作部111に表示した操作画面に対する入力をリクエストとして送信する。
スクリプト実行部403は、Webブラウザー402から受け取ったスクリプトデータを解析し、スクリプトデータをジョブ毎に分割する。そして、各ジョブを、スクリプトデータで指定されている順に実行するようにジョブ管理部404に通知する。
ジョブ管理部404は、スクリプト実行部403からの指示を受けてジョブを管理し、順次ジョブの実行をジョブ実行部405に指示する。
ジョブ実行部405は、ジョブに設定されたジョブ設定に基づいて処理を実行するモジュールである。例えば、ジョブがスキャンジョブであれば、ジョブ実行部405は、スキャナー部112を制御して紙原稿を読み取らせてHDD204に画像データを保存させる。一方、ジョブが送信ジョブであれば、ジョブ実行部405は、NetworkI/F206を制御してHDD204内の画像データを送信させる。
通信設定管理部406は、MFP110のネットワーク通信の設定を管理するモジュールである。また、通信設定管理部406は、IPアドレスの設定や、リバースプロキシを使用するかどうかの設定を保持している。
リバースプロキシ通信部407は、リバースプロキシサーバー120と通信を行い、リバースプロキシの設定を取得したり、設定を行ったりするためのモジュールである。
図5は、リバースプロキシサーバー120のソフトウェア構成の概略を示すブロック図である。図示のソフトウェアモジュールは、リバースプロキシサーバー120のHDD304に格納され、RAM302にロードされてCPU301が実行するものである。
図5において、リバースプロキシ501は、リバースプロキシサーバーで動作するアプリケーションである。リバースプロキシには、以下に説明する各部が含まれる。
HTTPリクエスト受信部502は、LAN100を介して送られたHTTPのリクエストパケットを受け付けるモジュールである。URL書き換え部503は、書換手段として、URL変換テーブル508の設定に基づいてHTTPのリクエストパケットを本来送るべき送信先に書き換えるモジュールである。HTTPリクエスト送信部504は、URL書き換え部503が書き換えたURLに基づいて、インターネット130を介してHTTPリクエストを送信するモジュールである。
HTTPレスポンス受信部505は、HTTPリクエスト送信部504が送信したHTTPリクエストに応答したHTTPレスポンスを、インターネット130を介して受信するモジュールである。HTTPコンテンツ書き換え部506は、HTTPレスポンス受信部505が受信したHTTPレスポンスに含まれるコンテンツ内のURLをURL変換テーブル508の設定に基づいて変更するモジュールである。
HTTPレスポンス送信部507は、HTTPコンテンツ書き換え部506が書き換えたHTTPレスポンスを、元々HTTPリクエスト受信部502が受け取った送信元へ送信するモジュールである。URLアドレスの変換情報であるURL変換テーブル508は、リバースプロキシ501のURL変換の設定を保持している設定テーブルである。URL変換の設定については後述する。
設定変更部509は、URL変換テーブル508を変更するためのインタフェースモジュールである。なお、設定変更部509は、外部装置からURL変換テーブル508を変更可能であれば、どんな構成でもよい。本実施形態では、設定変更部509は、WebアプリケーションやWebサービスとして、LAN100でつながった外部装置から設定の変更を受け付ける。
図6は、URL変換テーブル508の一例を示す図である。
図6において、URL変換テーブル508は、例えば、WebアプリURL、エイリアス、認証方式、ID、及びパスワードで構成される。WebアプリURL601には、インターネット130上の各WebアプリケーションのURL情報が格納されている。エイリアス602には、リバースプロキシ501がLAN100に接続された機器からの接続を受け付ける際に利用するエイリアス情報が格納されている。
認証方式603には、WebアプリURL601のURL情報に示すWebアプリケーションに接続する際に行う認証方式が格納されている。ID604とパスワード605には、認証方式603に示す認証方式で使用するIDとパスワードが格納されている。
図6の例では、MFP110のWebブラウザー402から以下のURLでリバースプロキシサーバー120にHTTPリクエストを行ったとする。なお、<reverse proxy>はリバースプロキシサーバーのドメインを示すものとする。
http://<reverse proxy>/AppA/index/index.html
この場合、リバースプロキシ501は、「AppA」のエイリアスに対応する以下のURLに対してリクエストを行う。
http://www.serverA.xxx.com/scan/index/index.html
そして、リクエストを行う際に、BASIC認証が行われる。
図7は、図1におけるWebサーバー140のソフトウェア構成の概略を示すブロック図である。図示のソフトウェアモジュールは、Webサーバー140のHDD304に格納され、CPU301が実行するものである。
図7において、Webサーバー140は、Webアプリケーション701とHTTP通信部704を備える。Webアプリケーション701には、プレゼンテーション部702とロジック部703が含まれる。
プレゼンテーション部702は、HTTP通信部704を介して、クライアントからのHTTPリクエストに応えて表示すべき操作画面をレスポンスとして送信する。また、クライアントに表示された操作画面を介して入力されたユーザーからの入力情報を、HTTP通信部704を介して受け取る。
ロジック部703は、プレゼンテーション部702から渡された入力情報に対して処理を行う。例えば、ユーザーからの入力に応じて、表示すべき画面を変更したり、MFPのデバイス機能実行のためのジョブ定義情報を作成したりする。
HTTP通信部704は、NetworkI/F305を制御してHTTPプロトコルにより通信を行うモジュールである。
次に、図1の画像処理システムで実施されるスキャンと送信の処理の流れについて説明する。このスキャンと送信の処理とは、MFP110のスキャナー部112を用いて原稿画像を読み取って画像データを生成し、生成した画像データをインターネット130上のWebアプリケーション701に送信する一連の処理である。
図8は、図1の画像処理システムで実施されるスキャンと送信の処理の流れを示すシーケンス図である。
まず、ユーザーが、MFP110の操作部111に設けられた、送信を行うためのハードウェアボタン(不図示)を押下してWebブラウザー402を起動する。
Webブラウザー402は、処理実行のための設定画面を取得するため、リバースプロキシ501が代行しているWebアプリケーション701のURLに設定画面のリクエストを行う。本実施形態では、Webアプリケーション701の設定画面のURLは「www.serverA.xxx.com/scan/setting.cgi」である。また、本実施形態では、このURLに対応する、設定画面のリバースプロキシ501が代行するコンテンツを示すURL「http://<reverse proxy>/AppA/setting.cgi」が予めMFP110に設定されているものとする。
ステップ801では、Webブラウザー402が上述したURLに示すリバースプロキシ501に対して、HTTPのGETコマンドによるリクエストを行う。具体的には、Webブラウザー402がHTTP通信部401にHTMLデータを渡す。それに応じて、HTTP通信部401がHTTPプロトコルにより、リバースプロキシサーバー120のHTTPリクエスト受信部502と通信を行う。これにより、Webブラウザー402からリバースプロキシ501へのリクエストが行われる。このとき、Webブラウザー402からの接続要求に対して、リバースプロキシ501から認証が必要であるという応答が行われた場合、Webブラウザー402は認証画面を表示し、ユーザーから認証情報を受け付け、再度リクエストを行う。
ステップ802では、リバースプロキシ501が、受け取ったHTTPのリクエストをWebアプリケーション701に送信する。具体的には、HTTPリクエスト受信部502が、受け取ったHTMLリクエストをURL書き換え部503に渡す。URL書き換え部503は、HTTPリクエストのURLをURL変換テーブル508に従って送信先のURLに変換する。本実施形態では、上述の設定画面のURLに変換される。また、本実施形態では、BASIC認証が必要となっているので、認証用のヘッダが作成される。そして、HTTPリクエスト送信部504が書き換えたURLに設定画面のコンテンツを要求するHTTPリクエストをWebアプリケーション701に送信する。
上述した処理により、Webブラウザー402とリバースプロキシ501間の認証を元に、リバースプロキシ501とWebアプリケーション701のSSOが実現される。
ステップ803では、Webアプリケーション701のプレゼンテーション部702が、ステップ802のリクエストに応じて、設定画面のHTMLデータを作成し、HTTPのレスポンスとして、リバースプロキシ501にHTMLデータの送信を行う。
ステップ804では、リバースプロキシ501が、レスポンスとして受け取ったHTMLデータをWebブラウザー402に送信する。具体的には、HTTPレスポンス受信部505が受け取ったHTMLデータを、HTMLコンテンツ書き換え部506に渡す。HTMLコンテンツ書き換え部506は、URL変換テーブル508を元にHTMLデータのリンクを変更する。そして、変更されたHTMLデータをHTTPレスポンス送信部507が、ステップ801のリクエスト元のWebブラウザー402に送信する。Webブラウザー402は、受け取ったHTMLデータを解析し、操作部111に設定画面の表示を行う。
図9は、図8のステップ804にてWebブラウザー402が表示する設定画面の一例を示す図である。
GUIパネル901には、ファイル名を設定するためのテキストボックス902と、画像フォーマットを選択するためのラジオボタン903が配置されている。図示例では、画像データに「test.pdf」というファイル名が付与され、画像データをPDFフォーマットで生成するように設定された状態となっている。GUIボタン904は、機能の実行を指示するためのボタンであり、ユーザーにより押下されると、Webブラウザー402はスキャン開始の指示と判断する。
ステップ805では、Webブラウザー402からリバースプロキシ501に対して、処理の実行を要求する。ユーザーによりGUIボタン904を押下されると、Webブラウザー402は、テキストボックス902やラジオボタン903に設定されたパラメーターをリバースプロキシ501に通知する。通知には、HTTPプロトコルのPOSTコマンドを利用する。
ステップ806では、ステップ802と同様に、リバースプロキシ501がWebアプリケーション701にHTTPリクエストの中継を行う。
ステップ807では、Webアプリケーション701のプレゼンテーション部702が、ステップ806のHTTPリクエストに応じて、処理中画面のHTMLデータを作成する。また、ロジック部703がステップ806のPOSTコマンドに含まれる設定情報を元に、MFP110での処理実行のためのスクリプトデータを生成する。そして、HTTPリクエストのレスポンスとして、スクリプトデータをリバースプロキシ501に送信する。
図10は、ステップ807でロジック部703により生成され、リバースプロキシ501に送信されるスクリプトデータの一例を示す図である。本実施形態では、図示のスクリプトデータを前提に説明を行う。また、本実施形態では、図示のようにXMLでスクリプトデータが作成されるが、MFP110のスクリプト実行部403が実行可能な形式であれば、そのフォーマットは問わない。
「Scan」タグ1001は、MFP110で行うスキャン処理の設定情報である。本実施形態では、紙サイズ(DocumentSize)が自動(AUTO)で、カラー設定(ColorMode)がグレースケール(GRAY_SCALE)であることを示している。
「Send」タグ1002は、MFP110で行う送信処理の設定情報である。タグ1003では、HTTPプロトコルでサーバー「http://www.serverA.xxx.com/scan/upload.cgi」への送信を示している。また、ファイルフォーマット(FileFormat)はPDFフォーマットで、ファイル名(FileName)は「test」であることを示している。
図8に戻り、ステップ808では、リバースプロキシ501がステップ807で受け取ったスクリプトデータをWebブラウザー402に送信する。上述したように、スクリプトデータはHTMLコンテンツ書き換え部506で変換ができないため、受け取ったスクリプトデータはそのままWebブラウザー402に送信される。
ステップ809では、Webブラウザー402がステップ808で受け取ったスクリプトデータをスクリプト実行部403に渡す。スクリプト実行部403は、スクリプトデータを受け取ると、スクリプトデータに記載された処理内容に従ってジョブを実行する。
次に、スクリプト実行部403がスクリプトデータを受け取ってジョブを実行する処理について説明する。
図11は、第1の実施形態におけるスクリプト実行部403のスクリプト実行処理の流れを示すフローチャートである。
ステップS1101では、スクリプト実行部403が通信設定管理部406に問い合わせて、リバースプロキシ501を使用する設定になっているかどうかを判定する。リバースプロキシ501を使用する設定になっていると判定した場合はステップS1102に遷移し、そうでない場合はステップS1105に遷移する。
ステップS1102では、スクリプト実行部403がスクリプトデータを解析し、スクリプトを実行することでリバースプロキシ501を介してHTTPプロトコルによる通信を行うかどうかを判定する。リバースプロキシ501を介してHTTPプロトコルによる通信を行うと判定した場合、ステップS1103に遷移する。そうでない場合、ステップS1105に遷移する。例えば、スクリプトデータにLAN100と同じネットワークURLが含まれていた場合、スクリプトの実行で同じネットワーク内でのHTTP通信を行うことになり、リバースプロキシ501を介する必要がないと判断する。
ステップS1103では、スクリプト実行部403が、リバースプロキシ通信部407に指示して、リバースプロキシ501と通信し、URL変換テーブル508を取得する。このとき、リバースプロキシ通信部407は、リバースプロキシ501の設定変更部509と通信を行い、URL変換テーブル508の情報を取得する。
ステップS1104では、スクリプト実行部403が、ステップS1103で取得したURL変換テーブル508の情報を元に、スクリプトデータに含まれるURLを書き換える。
ステップS1105では、スクリプト実行部403が、スクリプトデータをジョブ毎に分割し、ジョブ管理部404にジョブを登録する。図10に示すスクリプトデータの場合、スキャンジョブと送信ジョブの2つのジョブに分割される。
ステップS1106では、ジョブ管理部404がジョブ実行部405にジョブを実行させる。
ステップS1107は、ジョブ管理部404がジョブ実行部405を監視し、ジョブの実行が終了したかどうかを判断する。ジョブの実行が終了していれば、ステップS1108に遷移する。
ステップS1108では、ジョブ管理部404がスクリプトデータに記載されたジョブをすべて実行したかどうか判断する。すべてのジョブが実行していない場合は、ステップS1106に遷移し、次のジョブを実行する。一方、すべてのジョブが実行された場合は、本処理を終了する。
次に、スクリプト実行部403が上述したスクリプトを実行した場合のMFP110におけるスキャンジョブと送信ジョブのシーケンス(図8のステップ810からステップ815に相当)について説明する。
図8において、ステップ810では、ステップ809のスクリプト実行指示の結果、図11のステップS1102の判断によりステップS1103が実行される。そして、スクリプト実行部403からリバースプロキシ通信部407へURL変換テーブル508の取得指示が行われる。
ステップ811では、図11のステップS1103の処理が行われ、リバースプロキシ通信部407からリバースプロキシ501の設定変更部509への通信が行われ、URL変換テーブル508の情報が取得される。そして、ステップS1104の処理により、スクリプトデータに含まれるタグ1103を次のURLに書き換える。
「http://<reverse proxy>/AppA/upload.cgi」
書き換えた結果、送信ジョブにおいて元々Webアプリケーション701に送信する指示が、対応したリバースプロキシ501に送信する指示に変更される。
ステップ812では、図11のステップS1105の処理が行われる。本実施形態では、スキャンジョブと送信ジョブの2つのジョブがジョブ実行部405に登録される。
ステップ813は、ステップ812で登録されたスキャンジョブが実行される。具体的には、ジョブ実行部405が、スキャナーI/F207を介してスキャナー部112を駆動制御し、読み取った画像をHDD204に保存する。
ステップ814は、ステップ812で登録された送信ジョブが実行される。具体的には、ジョブ実行部405が、ステップ813で読み取った画像をHDD204から読み出し、画像処理部208で画像処理を行い、所定のファイルフォーマットのファイルを生成する。
ステップ815は、ステップ814の送信ジョブの続きである。具体的には、ジョブ実行部405が、前述のURLの書き換えにより変更となったリバースプロキシ501のURLに対してHTTPプロトコルによりファイルの送信を行う。本実施形態では、HTTP POSTコマンドにより画像ファイルを送信するものとする。このとき、ジョブ実行部405とリバースプロキシ501との間で認証が必要な場合、通信設定管理部406から認証情報を取得して認証を行う。
ステップ816は、リバースプロキシ501が、受け取ったHTTPのリクエストをWebアプリケーション701に送信する。具体的には、上述したステップ802やステップ806の処理が実行される。
以上が、Webアプリケーション701からの指示で、スキャンとHTTPプロトコルによる送信を行うシーケンスである。
本実施形態によれば、リバースプロキシ501で、HTTP通信を含むMFP110へのジョブ実行指示の書き換えを行わなくても、MFP110のソフトウェアモジュールが、リバースプロキシ501と通信を行う。これにより、リバースプロキシ方式のSSOシステムに対応可能となる。この結果、リバースプロキシ方式のSSOシステムにおいて、Webブラウザーを有する画像処理装置がWebサーバーからの指示で適切に動作することが可能となる。
本実施形態では、リバースプロキシ通信部407がスクリプトの実行指示に応じてリバースプロキシ501と通信を行っているが、URL変換テーブル508のキャッシュをリバースプロキシ通信部407が保持して、毎回取得しない構成も可能である。また、キャッシュを行うタイミングも、スクリプト実行のタイミングではなく、例えばリバースプロキシ501の設定を変更したタイミングでリバースプロキシ501から通知を受け取り、更新する方法も可能である。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。上記第1の実施形態では、MFP110が、リバースプロキシ方式のSSO環境において、Webサーバーからの指示に応じてスキャン画像の送信を行う場合について説明した。第2の実施形態では、MFP110で実行するスクリプトにWebDAV送信のジョブが含まれる。また、Webアプリケーションからの指示には、WebDAV通信を行う際に使用する認証方法が指定されている。なお、第2の実施形態におけるMFPは、ハードウェア構成とソフトウェア構成が第1の実施形態におけるMFPと同じであり、第1の実施の形態と同様の部分については、同一の符号を用いてその説明を省略する。以下に、上記第1の実施の形態と異なる点のみを説明する。
図12は、第2の実施形態において、Webアプリケーション701からWebブラウザー402に渡されるスクリプトデータの一例を示す図である。
図12に示すスクリプトデータは、上記第1の実施形態における図10のスクリプトデータとタグ1201の部分が異なる。タグ1201は、WebDAVプロトコルでの送信を意味する。認証方法(Authentication)はBASIC認証であり、ID(id)が「aaa」、そしてパスワード(password)が「bbb」で以下のURLにファイルを作成することを示している。
「http://www.serverD.xxx.com/folder/tmp001」
図12に示すスクリプトデータでは、WebDAVサーバーにアクセスする際の認証情報が指定されているため、リバースプロキシ501とWebアプリケーション701の通信時に、この認証情報を使用する必要がある。
次に、スクリプト実行部403がスクリプトデータを受け取ってジョブを実行する処理について説明する。
図13は、第2の実施形態におけるスクリプト実行部403のスクリプト実行処理の流れを示すフローチャートである。
ステップS1301では、スクリプト実行部403が通信設定管理部406に問い合わせて、リバースプロキシ501を使用する設定になっているかどうかを判定する。リバースプロキシ501を使用する設定になっていると判定した場合はステップS1302に遷移し、そうでない場合はステップS1305に遷移する。
ステップS1302では、スクリプト実行部403がスクリプトデータを解析し、スクリプトを実行することでリバースプロキシ501を介してHTTPプロトコルによる通信を行うかどうかを判定する。リバースプロキシ501を介してHTTPプロトコルによる通信を行うと判定した場合、ステップS1303に遷移する。そうでない場合、ステップS1305に遷移する。
ステップS1303では、スクリプト実行部403が、リバースプロキシ通信部407に指示して、リバースプロキシ501と通信し、URL変換テーブル508の設定を行う。このとき、リバースプロキシ通信部407は、リバースプロキシ501の設定変更部509と通信を行い、URL変換テーブル508にスクリプトデータに含まれるURL変換情報を追加設定する。ステップS1303の処理によりURL変換情報を追加設定された後のURL変換テーブル1400を図14に示す。
URL変換テーブル1400では、欄1401にURL変換情報としてスクリプトデータのタグ1201に対応したURLや認証情報が追加設定されている。
図13に戻り、ステップS1304では、スクリプト実行部403が、ステップS1303でURL変換テーブル1400に追加設定されたURL変換情報を元に、スクリプトデータに含まれるURLを書き換える。本実施形態の場合、タグ1201のURL部分を以下のURLに変更する。
「http://<reverse proxy>/TEMP001/」
ステップS1305では、スクリプト実行部403が、スクリプトデータをジョブ毎に分割し、ジョブ管理部404にジョブを登録する。図12に示すスクリプトデータの場合、スキャンジョブと送信ジョブの2つのジョブに分割される。
ステップS1306では、ジョブ管理部404がジョブ実行部405にジョブを実行させる。ステップS1305で、送信ジョブの送信先はリバースプロキシ501のURLに変更されているため、ジョブ実行部405からWebDAVプロトコルによる送信先はリバースプロキシ501になる。リバースプロキシ501は、ジョブ実行部405からの通信を受けると、URL変換テーブル1400の欄1401の情報を参照してURLの変換を行う。そのため、元々のスクリプトデータのタグ1201のURLで示されるWebDAVサーバーに対して、スクリプトデータに記載された認証情報を利用してリバースプロキシ501から通信を行うことになる。
ステップS1307は、ジョブ管理部404がジョブ実行部405を監視し、ジョブの実行が終了したかどうかを判断する。ジョブの実行が終了していれば、ステップS1308に遷移する。
ステップS1308では、ジョブ管理部404がスクリプトデータに記載されたジョブをすべて実行したかどうか判断する。すべてのジョブを実行していない場合は、ステップS1306に遷移し、次のジョブを実行する。一方、すべてのジョブが実行された場合は、ステップS1309に遷移する。
ステップS1309では、スクリプト実行部403が、リバースプロキシ通信部407に指示して、ステップS1303でURL変換テーブル1400に追加設定された、欄1401のURL変換情報を削除する。なお、ステップS1303で追加設定がされていない場合には削除を行わない。
以上のように、MFP110のソフトウェアモジュールが、リバースプロキシ501と通信を行うことにより、リバースプロキシ501とWebアプリケーション701との通信における認証の制御を行うことが可能となる。その結果、Webアプリケーション701からの指示に含まれる認証方法を用いて、MFP110で送信ジョブの実行が可能になる。
本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システム或いは装置のコンピュータ(またはCPUやMPU)が、そのプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになる。そのため、このプログラムコード及びプログラムコードを記憶した記憶媒体も本発明の一つを構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピューターが読み出したプログラムコードを実行することにより、上述した実施形態の機能が実現されるだけではない。そのプログラムコードの指示に基づきコンピューター上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
さらに、次の場合も含まれる。記憶媒体から読出されたプログラムコードが、コンピューターに挿入された機能拡張ボードやコンピューターに接続された機能拡張ユニットに備わるメモリに書き込まれている。そして、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される。
100 LAN
110 MFP
120 リバースプロキシサーバー
130 インターネット
140 Webサーバー
403 スクリプト実行部
404 ジョブ管理部
405 ジョブ実行部
508 URL変換テーブル

Claims (4)

  1. サーバーから中継装置を介してURLを含むスクリプトを受信した場合に、前記スクリプトに含まれるURLを他のURLに変換する変換情報を前記中継装置から取得し、前記変換情報を元に、前記サーバーから受信したスクリプトに含まれるURLを書き換えることを特徴とする画像処理装置。
  2. 前記スクリプトに含まれるURLが前記サーバーのアドレスである場合に当該URLを書き換えることを特徴とする請求項1記載の画像処理装置。
  3. サーバーから中継装置を介してURLを含むスクリプトを受信する受信工程と、
    前記受信工程で受信したスクリプトに含まれるURLを他のURLに変換する変換情報を前記中継装置から取得する取得工程と、
    前記取得工程で取得した前記変換情報を元に、前記サーバーから受信したスクリプトに含まれるURLを書き換える書換工程と、
    を有することを特徴とする画像処理装置の制御方法。
  4. 請求項3記載の制御方法を画像処理装置に実行させるためのコンピューターに読み取り可能なプログラム。
JP2011141718A 2011-06-27 2011-06-27 画像処理装置及びその制御方法、並びにプログラム Withdrawn JP2013008284A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011141718A JP2013008284A (ja) 2011-06-27 2011-06-27 画像処理装置及びその制御方法、並びにプログラム
US13/533,397 US20120331175A1 (en) 2011-06-27 2012-06-26 Image processing apparatus that communicates with server via relay device, method of controlling image processing apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011141718A JP2013008284A (ja) 2011-06-27 2011-06-27 画像処理装置及びその制御方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2013008284A true JP2013008284A (ja) 2013-01-10

Family

ID=47362923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011141718A Withdrawn JP2013008284A (ja) 2011-06-27 2011-06-27 画像処理装置及びその制御方法、並びにプログラム

Country Status (2)

Country Link
US (1) US20120331175A1 (ja)
JP (1) JP2013008284A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210896A (ja) * 2012-03-30 2013-10-10 Fujifilm Corp プロキシサーバ装置、クライアント端末装置、リモートアクセスシステム、転送制御方法及びプログラム、並びにアクセス方法及びプログラム
WO2014157221A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置
WO2014157224A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置
WO2014157222A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030131052A1 (en) * 2002-01-10 2003-07-10 International Business Machines Corporatioin Method and system for HTTP time-on-page monitoring without client-side installation
US7650392B1 (en) * 2004-08-02 2010-01-19 F5 Networks, Inc. Dynamic content processing in a reverse proxy service
US7861290B2 (en) * 2006-09-22 2010-12-28 Oracle International Corporation Non-invasive insertion of pagelets
JP5159261B2 (ja) * 2007-11-12 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション セッションを管理する技術

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013210896A (ja) * 2012-03-30 2013-10-10 Fujifilm Corp プロキシサーバ装置、クライアント端末装置、リモートアクセスシステム、転送制御方法及びプログラム、並びにアクセス方法及びプログラム
WO2014157221A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置
WO2014157224A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置
WO2014157222A1 (ja) * 2013-03-29 2014-10-02 Kddi株式会社 Webコンテンツの配信装置
JP2014199561A (ja) * 2013-03-29 2014-10-23 Kddi株式会社 Webコンテンツの配信装置
JP2014199564A (ja) * 2013-03-29 2014-10-23 Kddi株式会社 Webコンテンツの配信装置
JP2014199562A (ja) * 2013-03-29 2014-10-23 Kddi株式会社 Webコンテンツの配信装置

Also Published As

Publication number Publication date
US20120331175A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
US10628099B2 (en) Multifunctional image processing apparatus with user registration features
US9069504B2 (en) Printing apparatus and method for increasing storage area
US9160873B2 (en) Information processing system controlling image processing apparatus to display screen information, control method therefor, external control apparatus, information provision apparatus, image processing apparatus, and storage medium storing program
JP5704800B2 (ja) データ処理装置、データ処理処理方法、プログラム
US8634098B2 (en) Image processing system and image processing apparatus and method
JP6178567B2 (ja) 画像形成装置及びその制御方法とプログラム、及び情報処理システム
JP6714839B2 (ja) 印刷システム、印刷管理サーバ、通信中継装置およびプログラム
US9110962B2 (en) Data providing apparatus for implementing script, electronic apparatus for implementing script, data processing system for implementing script, and method of data processing for implementing script
JP2005218036A (ja) ネットワークサーバ
JP5120443B2 (ja) 文書作成システム、文書作成方法、画像処理装置及び文書作成処理プログラム
US9077825B2 (en) Information processing system comprising a server apparatus and an information processing apparatus constructing an operation screen, control method and program thereof
JP5489792B2 (ja) 画像処理装置、表示方法及びプログラム
JP2013008284A (ja) 画像処理装置及びその制御方法、並びにプログラム
US9531905B2 (en) Scanner that is capable of uploading scan data in a target area within a data storage server
US20100223340A1 (en) System for remotely scanning a document
JP3876588B2 (ja) プリンタ、プリンタの制御方法およびプリントシステム並びに記録媒体
JP4154316B2 (ja) 画像処理システム、制御方法、画像処理装置、プログラムおよび記憶媒体
US8934120B2 (en) DLNA (digital living network alliance) device, method and system for printing content from web servers
JP6244937B2 (ja) 画像形成装置、画像形成システムおよびプログラム
US20100208296A1 (en) Image processing apparatus and control method therefor, server apparatus and control method therefor, and storage medium
JP6397168B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US10244139B2 (en) Information processing apparatus, information processing method and computer-readable recording medium for executing an output process of document data by an image processing apparatus that does not have an application of the information processing apparatus
US8902452B2 (en) Image forming apparatus that acquires and displays list information from document management apparatus for selection of process target for image formation
JP5031656B2 (ja) 通信システムおよび出力方法、および、サーバ装置、および、送信方法、および、プログラム、および、記録媒体
JP2003186791A (ja) サービス要求方法、サービス提供方法、クライアント端末、サービス提供端末、プログラム、および記憶媒体

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140902