JP6642031B2 - 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム - Google Patents

情報処理システム、情報処理方法、情報処理装置および情報処理プログラム Download PDF

Info

Publication number
JP6642031B2
JP6642031B2 JP2016009051A JP2016009051A JP6642031B2 JP 6642031 B2 JP6642031 B2 JP 6642031B2 JP 2016009051 A JP2016009051 A JP 2016009051A JP 2016009051 A JP2016009051 A JP 2016009051A JP 6642031 B2 JP6642031 B2 JP 6642031B2
Authority
JP
Japan
Prior art keywords
unit
acquisition source
information
source information
instruction
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.)
Active
Application number
JP2016009051A
Other languages
English (en)
Other versions
JP2017130052A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016009051A priority Critical patent/JP6642031B2/ja
Publication of JP2017130052A publication Critical patent/JP2017130052A/ja
Application granted granted Critical
Publication of JP6642031B2 publication Critical patent/JP6642031B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、情報処理システム、情報処理方法、情報処理装置および情報処理プログラムに関する。
HTML(HyperText Markup Language)データに基づき表示を行うブラウザプログラム(以下、ブラウザ)を用いて機器の操作画面を表示する画像形成装置が知られている。画像形成装置は、搭載されるブラウザに操作画面を表示させるためのHTMLデータを、ネットワークを介して、あるいは、機器内から取得する。ブラウザには、HTMLデータに基づく画面の表示を行うだけでなく、機器制御用に拡張されたスクリプト(以下、拡張スクリプト)を解釈して機器制御を実行可能としたものもある。
このような、拡張スクリプトを解釈可能なブラウザを用い、拡張スクリプトをブラウザベースのAPI(Application Programming Interface)としてカスタマイズ用に提供可能とする技術が知られている。特許文献1には、外部装置からネットワークを介して受信したHTMLデータに基づきブラウザにより操作画面を表示し、操作画面に対する操作に応じて外部装置により生成された実行指示データに従い画像形成処理を行うようにした画像形成装置が開示されている。
従来の、ブラウザが搭載された画像形成装置は、機器制御を行うための拡張スクリプトをネットワークを介して取得して装置に導入する場合に、取得した拡張スクリプトが信頼できるものであるか否かを利用者が指定することが難しかったという問題点があった。例えば、拡張スクリプトをインターネット上に接続されるWebサーバからダウンロードして利用する場合、有償の証明書の購入および設定を行うか、独自に証明書を作成し、対象機器毎に該当する証明書を設定する必要があり、運用コストが嵩んでしまう。
この、ネットワークを介して取得した拡張スクリプトが信頼できるものであるか否かの利用者による指定が困難である点は、上述した特許文献1でも解決できていない。
本発明は、上記に鑑みてなされたものであって、ネットワークを介して取得したプログラムの導入を容易とすることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、入力装置と出力装置とサーバ装置とを含む情報処理システムであって、入力装置は、ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、入力画面の取得元を示す取得元情報を取得する取得部と、入力に応じた指示に取得元情報を付加して出力装置に向けて送信する送信部と、を備え、出力装置は、取得元情報が付加された指示を受信する受信部と、指示に応じた処理を実行する出力部と、出力部による処理の実行を許可するか否かを判定する判定部と、を備え、サーバ装置は、実行を許可する処理を含む指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、判定部は、受信部で受信した指示に付加されている取得元情報が、サーバ装置の送信元情報記憶部から取得した取得元情報と一致する場合に、出力部による処理の実行を許可する判定を行い、受信部で受信した指示に付加されている取得元情報が、サーバ装置の送信元情報記憶部から取得した取得元情報と不一致である場合に、出力部による処理の実行を許可しない判定を行うことを特徴とする。
本発明によれば、ネットワークを介して取得したプログラムの導入が容易となるという効果を奏する。
図1は、第1の実施形態に適用可能な情報処理システムの一例の構成を示す図である。 図2は、第1の実施形態に係る、画像形成装置の本体部のハードウェア構成の例を示すブロック図である。 図3は、第1の実施形態に係る、画像形成装置の操作部のハードウェア構成の例を示すブロック図である。 図4は、第1の実施形態に適用可能なサーバのハードウェア構成の例を示すブロック図である。 図5は、第1の実施形態に係る本体部のCPU上で動作するプログラムの一例のアーキテクチャを示す図である。 図6は、第1の実施形態に係る操作部のCPU上で動作するプログラムの一例のアーキテクチャを示す図である。 図7は、第1の実施形態に係る、Webアプリを用いる際の処理の流れを概略的に示す図である。 図8は、第1の実施形態に係る操作部の機能を説明するための一例の機能ブロック図である。 図9は、第1の実施形態に係る本体部の機能を説明するための一例の機能ブロック図である。 図10は、第1の実施形態に係るサーバの機能を説明するための一例の機能ブロック図である。 図11は、第1の実施形態に係る、Webアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。 図12は、第1の実施形態に係る実行指示の例を示す図である。 図13は、URLの構造の例を示す図である。 図14は、第1の実施形態に係る、サーバに記憶される許可条件情報リストの例を示す図である。 図15は、第1の実施形態に係る許可条件情報リストに許可条件情報を登録するための許可条件情報入力画面の例を示す図である。 図16は、第1の実施形態に係るエラー通知画面の例を示す図である。 図17は、第1の実施形態の変形例に係る本体部の機能を説明するための一例の機能ブロック図である。 図18は、第1の実施形態の変形例に係る、Webアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。 図19は、第2の実施形態に係る操作部の機能を説明するための一例の機能ブロック図である。 図20は、第2の実施形態に係る本体部の機能を説明するための機能ブロック図である。 図21は、第2の実施形態に係る、Webアプリを用いる際の処理の流れを概略的に示す図である。 図22は、第2の実施形態に係る、Webアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。 図23は、第2の実施形態の変形例に係る操作部の機能を説明するための一例の機能ブロック図である。 図24は、第2の実施形態の変形例に係る、Webアプリを用いる際の処理の流れを示す一例のシーケンス図である。
(第1の実施形態)
以下に添付図面を参照して、情報処理システム、情報処理方法、情報処理装置および情報処理プログラムの実施形態を詳細に説明する。図1は、第1の実施形態に適用可能な情報処理システムの一例の構成を示す。図1の例では、情報処理システムは、ネットワーク40を介して接続された画像形成装置10とサーバ20とを含む。また、ネットワーク40は、インターネット50と接続され、例えば画像形成装置10は、インターネット50上のWebサーバ60a、60bと通信を行うことができる。
ネットワーク40は、例えばLAN(Local Area Network)であって、会社や事業所などの特定の単位内で閉じたネットワークである。画像形成装置10は、プリンタ機能、スキャナ機能、コピー機能といった複数の機能を1台の筐体で実現した複合機(MFP(Multi Function Printer))である。プリンタ機能は、画像データに基づき記録媒体に画像を形成する機能である。スキャナ機能は、原稿画像を読み取り画像データを出力する機能である。また、コピー機能は、スキャナ機能により原稿を読み取り出力された画像データに基づき、プリンタ機能により記録媒体に画像を形成する機能である。
画像形成装置10は、例えば、パーソナルコンピュータ(PC)30からネットワーク40を介して供給された印刷ジョブに従いプリンタ機能により印刷を実行することができる。また、画像形成装置10は、スキャナ機能により原稿を読み取り取得された画像データをネットワーク40を介してPC30に送信することができる。
画像形成装置10は、本体部11および操作部12を含む。本体部11は、画像形成装置10の各機能(プリンタ機能、スキャナ機能など)を実行するための各エンジンや、各エンジンを制御するためのコントローラを含む。操作部12は、ユーザ操作を受け付けるユーザインタフェースを含み、ユーザ操作などに応じて本体部11に対して各機能の実行を指示する。すなわち、画像形成装置10において、操作部12は、ユーザ操作などによる入力を受け付ける入力装置であって、本体部11は、操作部12からの実行指示に応じて、プリンタ機能、スキャナ機能などにより情報を出力する出力装置であるといえる。画像形成装置10において、これら本体部11および操作部12は、それぞれ独立した装置として構成され、画像形成装置10の内部的な通信ネットワークを介して接続される。
なお、画像形成装置10は、複合機に限られず、プリンタ機能やスキャナ機能を単独で提供するプリンタ装置やスキャナ装置であってもよい。
第1の実施形態に係る操作部12は、ユーザインタフェースや、本体部11に対する実行指示を出す機能を実現するためのアプリケーションプログラムを、外部から取得することができる。図1の例では、操作部12は、例えばインターネット50上のコンテンツにアクセス可能なブラウザプログラム(以下、ブラウザ)が搭載される。ブラウザは、インターネット50に接続されるWebサーバ60a、60bにアクセスし、当該Webサーバ60a、60bから送信されたコンテンツ(Webコンテンツと呼ぶ)を取得して、取得したWebコンテンツに基づく表示を行う。そして、ブラウザは、取得したWebコンテンツによる表示に基づくユーザ入力に応じて、Webコンテンツに含まれる命令を実行することができる。また、ブラウザは、この命令の実行に伴い、必要に応じてWebサーバ60a、60b上のプログラムを動作させることができる。
以下、ブラウザがWebサーバ60a、60bから取得したWebコンテンツに含まれる命令と、ブラウザから送信された当該命令の実行に応じてWebサーバ60a、60b上で実行可能なプログラムとを含めて、Webアプリと呼ぶ。操作部12は、Webサーバ60a、60bから取得したWebコンテンツに基づきWebアプリを実行させることで、本体部11に対する実行指示を出すことができる。
サーバ20は、操作部12がWebサーバ60a、60bから取得したWebコンテンツに基づくWebアプリの実行を許可するか否かを判定するための許可条件情報を記憶する。第1の実施形態では、画像形成装置10において、本体部11は、操作部12が取得したWebコンテンツに基づくWebアプリによる実行指示が実行可能か否かを、サーバ20に記憶される許可条件情報に基づき判定する。
図2は、第1の実施形態に係る、画像形成装置10の本体部11のハードウェア構成の例を示す。図2において、本体部11は、CPU(Central Processing Unit)1100と、ROM(Read Only Memory)1101と、RAM(Random Access Memory)1102と、NVRAM(不揮発性RAM)1103と、ストレージ1104と、データI/F1105と、内部通信I/F1106と、機能部I/F1107とを含み、これら各部がバス1110により互いに通信可能に接続される。
ストレージ1104は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、CPU1100を動作させるためのプログラムや、各種のデータが記憶される。ROM1101は、例えば本体部11を起動させるために用いるプログラムおよびデータが予め記憶される。また、NVRAM1103は、本体部11に対して設定された設定値などが記憶される。CPU1100は、ストレージ1104およびROM1101に記憶されるプログラムと、ストレージ1104およびNVRAM1103に記憶される各データとに従い、RAM1102をワークメモリとして用いて、この本体部11の全体の動作を制御する。
データI/F1105は、外部機器に対するインタフェースであって、例えばUSB(Universal Serial Bus)を適用できる。内部通信I/F1106は、画像形成装置10において内部的に操作部12と通信を行うためのインタフェースであって、例えばUSB over IP(Internet Protocol)を適用できる。USB over IPは、USB機器をLANで接続するための通信方式であって、IPをプロトコルとして用いて通信を行う。
機能部I/F1107は、画像形成装置10の各機能を実現するための各エンジンに対するインタフェースである。図2の例では、機能部I/F1107は、スキャナ機能、プリンタ機能およびFAX機能をそれぞれ実現するためのスキャナエンジン1120、プリンタエンジン1121およびFAXユニット1122が接続され、例えば、これら各部とCPU1100との間のデータの調停処理や、制御情報の送受信などを行う。
図3は、第1の実施形態に係る、画像形成装置10の操作部12のハードウェア構成の例を示す。図3に示されるように、操作部12は、一般的なコンピュータと同等の構成を有する。すなわち、操作部12は、CPU1200と、ROM1201と、RAM1202と、NVRAM1203と、グラフィクスI/F1204と、ストレージ1206と、データI/F1207と、通信I/F1208と、内部通信I/F1209と、入力デバイス1210とを含み、これら各部がバス1220により互いに通信可能に接続される。また、操作部12において、グラフィクスI/F1204に対して表示デバイス1205が接続される。
ストレージ1206は、フラッシュメモリといった不揮発性メモリであって、CPU1200を動作させるためのプログラムや、各種のデータが記憶される。ストレージ1206としてハードディスクドライブを用いてもよい。ROM1201は、例えば操作部12を起動させるために用いるプログラムおよびデータが予め記憶され、NVRAM1203は、操作部12に対して設定された設定値などが記憶される。CPU1200は、ストレージ1206およびROM1201に記憶されるプログラムと、ストレージ1206およびNVRAM1203に記憶される各データとに従い、RAM1202をワークメモリとして用いて、この操作部12の全体の動作を制御する。
データI/F1207は、外部機器に対するインタフェースであって、例えばUSBを適用できる。通信I/F1208は、ネットワーク40を介した通信を制御する。内部通信I/F1209は、画像形成装置10において内部的に本体部11と通信を行うためのインタフェースであって、上述した本体部11の内部通信I/F1106に対応して例えばUSB over IPが適用される。
グラフィクスI/F1204は、CPU1200によりプログラムに従い生成された表示制御情報を表示信号に変換して表示デバイス1205に供給する。表示デバイス1205は、例えばLCD(Liquid Crystal Display)と、LCDを駆動する駆動回路とを含み、グラフィクスI/F1204から供給された表示信号に従った画面を表示する。入力デバイス1210は、例えば表示デバイス1205と一体的に形成されたタッチパネルであって、ユーザ操作により指定された位置に応じた信号を出力する。入力デバイス1210は、これに限らず、例えばキーボードと、マウスなどのポインティングデバイスとを含んだ構成でもよい。
図4は、第1の実施形態に適用可能なサーバ20のハードウェア構成の例を示す。図2に示されるように、サーバ20は、一般的なコンピュータと同等の構成を適用することができる。図4において、サーバ20は、CPU2000と、ROM2001と、RAM2002と、ストレージ2003と、データI/F2004と、通信I/F2005とを含み、これら各部がバス2010により互いに通信可能に接続される。
ストレージ2003は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、CPU2000を動作させるためのプログラムや、各種のデータが記憶される。ROM2001は、例えばサーバ20を起動させるために用いるプログラムおよびデータが予め記憶される。CPU2000は、ストレージ2003およびROM2001に記憶されるプログラムおよび各データに従い、RAM2002をワークメモリとして用いて、このサーバ20の全体の動作を制御する。
なお、ストレージ2003は、画像形成装置10の操作部12が取得したWebコンテンツに基づくWebアプリの実行を許可するか否かを判定するための、上述した許可条件情報を、さらに記憶する。
データI/F2004は、外部機器に対するインタフェースであって、例えばUSBを適用することができる。通信I/F2005は、インターネット50を介した通信を制御する。
図5は、第1の実施形態に係る本体部11のCPU1100上で動作するプログラムの一例のアーキテクチャを示す。図5において、本体部11は、OS(Operating System)1130と、サービス部1131と、画像形成装置10の各機能を実現するためのコピー機能部1132a、スキャナ機能部1132b、プリンタ機能部1132cおよびFAX機能部1132dと、プログラム群1133と、組込みアプリケーションプログラム(組込みアプリ)1134とを含み、各部は、OS1130を最下層として、図5のように階層構造をなす。
OS1130は、本体部11上で動作する各プログラムのタスク管理、資源管理、本体部11のハードウェア制御などを行い、本体部11の全体の動作を制御する。サービス部1131は、コピー機能部1132a、スキャナ機能部1132b、プリンタ機能部1132cおよびFAX機能部1132d、ならびに、プログラム群1133および組込みアプリ1134がOS1130の機能を利用する際のインタフェースとして機能する。
コピー機能部1132a、スキャナ機能部1132b、プリンタ機能部1132cおよびFAX機能部1132dは、それぞれ、コピー機能、スキャナ機能、プリンタ機能およびFAX機能を利用するための基本的なプログラムを含む。コピー機能部1132a、スキャナ機能部1132b、プリンタ機能部1132cおよびFAX機能部1132dは、例えば、組込みアプリ1134からの指示や、操作部12からの実行指示に応じて、サービス部1131を介して、OS1130に、スキャナエンジン1120、プリンタエンジン1121およびFAXユニット1122の制御を依頼する。
組込みアプリ1134は、例えば本体部11(画像形成装置10)の製造元から予め提供されるアプリケーションプログラムであって、コピー機能、スキャナ機能、プリンタ機能およびFAX機能に対する応用的なプログラムを含む。また、組込みアプリ1134は、第1の実施形態に係る本体部11における情報処理プログラムを含む。プログラム群1133は、組込みアプリ1134が利用する、API(Application Programming Interface)などの複数のプログラムの集合である。組込みアプリ1134は、サービス部1131を介して、OS1130に対して操作部12との通信や、スキャナエンジン1120、プリンタエンジン1121およびFAXユニット1122の制御を依頼することができる。
図6は、第1の実施形態に係る操作部12のCPU1200上で動作するプログラムの一例のアーキテクチャを示す。図6において、操作部12は、OS1230と、ライブラリ1231と、アプリケーションフレームワーク1232と、組込みアプリ1233と、ブラウザ1234とを含み、各部は、OS1230を最下層として、図6のように階層構造をなす。
なお、Webコンテンツ1235は、ブラウザ1234によりインターネット50を介して例えばWebサーバ60aから取得され、RAM1202などに記憶されて、一時的に操作部12に搭載される。
OS1230は、操作部12上で動作する各プログラムのタスク管理、資源管理、操作部12のハードウェア制御などを行い、操作部12の全体の動作を制御する。ライブラリ1231は、より上層の、アプリケーションフレームワーク1232、組込みアプリ1233およびブラウザ1234などに、各種の関数などを提供する。アプリケーションフレームワーク1232は、操作部12において用いられる汎用的な機能や基本的な制御構造を提供するプログラム群である。例えば、内部通信I/F1209による通信制御機能や、グラフィクスI/F1204による表示制御機能、入力デバイス1210における入力制御機能などが、アプリケーションフレームワーク1232により提供される。
組込みアプリ1233は、上述した本体部11における組込みアプリ1134と同様に、操作部12(画像形成装置10)の製造元から予め提供されるアプリケーションプログラムであって、本体部11の機能を利用するためのプログラムを含む。組込みアプリ1233は、本体部11に対して、コピー機能、スキャナ機能、プリンタ機能、FAX機能などの各機能の実行指示を出すことができる。実行指示は、本体部11において、プログラム群1133に含まれる所定のプログラムにより受け付けられて、例えば、コピー機能部1132a、スキャナ機能部1132b、プリンタ機能部1132cまたはFAX機能部1132dに渡される。
ブラウザ1234は、指定されたURL(Uniform Resource Locator)に従い、インターネット50にアクセスし、HTML(HyperText Markup Language)に従い記述されたHTMLデータを当該URLから取得する。ブラウザ1234は、取得したHTMLデータの記述に従い、Webページを画面に表示するための表示制御情報を生成する。また、ブラウザ1234は、表示されたWebページに応じてなされた入力を受け付ける。
さらに、ブラウザ1234は、WebコンテンツであるHTMLデータに組み込まれた命令を解釈して実行することができる。命令は、一般的には、スクリプトとしてHTMLデータに組み込まれる。ブラウザ1234上で実行可能なスクリプトの代表的なものにJavaScript(登録商標)がある。以下では、ブラウザ1234上で実行されるスクリプトがJavaScript(登録商標)であるとして説明する。
ブラウザ1234は、組込みアプリ1233と同様にして、Webコンテンツ1235に組み込まれたスクリプトに基づき、本体部11に対して、コピー機能、スキャナ機能、プリンタ機能、FAX機能などの各機能の実行指示を出すことができる。Webコンテンツ1235は、例えば画像形成装置10の製造者や、当該製造者以外のベンダにより供給され、組み込まれたスクリプト(命令)に従い、本体部11におけるコピー機能、スキャナ機能、プリンタ機能、FAX機能などの基本的な機能に対して拡張された機能を提供できる。
(第1の実施形態に係る処理)
図7は、第1の実施形態に係る、Webアプリを用いる際の処理の流れを概略的に示す。画像形成装置10において、操作部12は、Webアプリによる画面表示を要求するユーザ操作を受け付ける(ステップS10)。ここでは、ユーザ操作は、Webサーバ60aから取得したWebコンテンツ1235による画面表示を要求するものであるとする。
操作部12は、受け付けたユーザ操作によりブラウザ1234に指定されたURLに従いネットワーク40およびインターネット50を介してWebサーバ60aにアクセスし(ステップS11)、Webサーバ60aからWebコンテンツ1235を取得する(ステップS12)。操作部12において、ブラウザ1234は、取得したWebコンテンツ1235を読み込み、例えば操作部12のRAM1202に記憶させる。
ブラウザ1234は、取得したWebコンテンツ1235を解釈して画面表示を行う。また、ブラウザ1234は、当該Webコンテンツ1235から、本体部11に対する実行指示と、当該実行指示の本体部11における実行を許可するか否かを判定するための条件である許可条件情報とを抽出する。ブラウザ1234は、Webコンテンツ1235による表示画面に基づくユーザ操作を受け付けると(ステップS13)、ユーザ操作に応じた実行指示を本体部11に送信する(ステップS14)。このとき、操作部12は、実行指示に、取得した許可条件情報を付加して本体部11に送信する。
本体部11は、操作部12から送信された実行指示を受信すると、実行指示に付加された許可条件情報を取得する。本体部11は、ネットワーク40を介してサーバ20にアクセスし(ステップS15)、サーバ20に記憶される許可条件情報を取得する(ステップS16)。本体部11は、サーバ20から取得した許可条件情報と、操作部12から受信した実行指示に付加された許可条件情報とを比較する。本体部11は、比較結果に基づき、操作部12から受信した実行指示の実行を許可するか否かを判定する。
第1の実施形態では、これにより、例えば実行指示から取得された許可条件情報がサーバ20に記憶される許可条件情報と異なる場合に、本体部11における実行指示による処理を実行させないようにできる。
例えば、ブラウザ1234からWebサーバ60aにアクセスする際に、悪意ある第三者の介入により不正なWebサーバ(Webサーバ60bとする)に誘導され、ユーザの意図しないWebコンテンツ1235が取得されてしまうことが起こり得る。第1の実施形態によれば、このような場合でも、意図しないWebコンテンツ1235による実行指示を無効とさせることが可能となる。
(第1の実施形態に係る処理の詳細)
図8〜図10を用いて、第1の実施形態に係る操作部12、本体部11およびサーバ20の機能について説明する。図8は、第1の実施形態に係る操作部12の機能を説明するための一例の機能ブロック図である。図8において、操作部12は、入力受付部120と、表示制御部121と、解析部122と、取得部123と、送信部124とを含む。
これら入力受付部120、表示制御部121、解析部122、取得部123および送信部124は、CPU1200上で動作するプログラムにより実現される。これに限らず、入力受付部120、表示制御部121、解析部122、取得部123および送信部124は、これら各部のうち一部または全部を互いに協働して動作するハードウェアにより構成することも可能である。
入力受付部120は、操作部12に対するユーザ操作による入力を受け付ける。例えば、入力受付部120は、ブラウザ1234の画面に応じたユーザ操作による入力を受け付けることができる。表示制御部121は、グラフィクスI/F1204に供給するための表示制御信号を生成し、表示デバイス1205に対する画面表示を制御する。解析部122は、ブラウザ1234に読み込まれたスクリプトを解析する。取得部123は、ブラウザ1234に読み込まれるHTMLデータの取得元を示す取得元情報を取得する。送信部124は、実行指示などの情報を本体部11に送信する処理を行う。
入力受付部120、表示制御部121、取得部123および送信部124は、例えば、ブラウザ1234と、アプリケーションフレームワーク1232とが協働して動作することで実現される。また、解析部122は、ブラウザ1234の機能の一部である。
入力受付部120、表示制御部121、解析部122、取得部123および送信部124を実現するためのプログラムは、操作部12のストレージ1206やROM1201に予め組み込んで提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、当該プログラムを、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
当該プログラムは、上述した各部(入力受付部120、表示制御部121、解析部122、取得部123および送信部124)を含むモジュール構成となっている。実際のハードウェアとしては、操作部12においてCPU1200が、ストレージ1206やROM1201から当該プログラムを読み出して実行することにより、上述した各部がRAM1202などの主記憶装置上にロードされ、入力受付部120、表示制御部121、解析部122、取得部123および送信部124が主記憶装置上に生成されるようになっている。
図9は、第1の実施形態に係る本体部11の機能を説明するための一例の機能ブロック図である。図9において、本体部11は、受信部110と、解析部111と、許可条件取得部112と、出力部113と、判定部114とを含む。これら受信部110、解析部111、許可条件取得部112、出力部113および判定部114は、CPU1100上で動作するプログラムにより実現される。これに限らず、受信部110、解析部111、許可条件取得部112、出力部113および判定部114は、これら各部のうち一部または全部を互いに協働して動作するハードウェアにより構成することも可能である。
受信部110は、操作部12から送信された実行指示などの情報を受信する処理を行う。解析部111は、受信部110で受信された実行指示を解析する。また、許可条件取得部112は、サーバ20に記憶される許可条件情報を取得する。出力部113は、解析部111による実行指示の解析結果に従い、スキャナエンジン1120、プリンタエンジン1121およびFAXユニット1122による出力処理を実行させる。判定部114は、サーバ20から取得した許可条件情報と、解析部111による実行指示の解析結果とに基づき、出力部113の実行指示に従った出力処理の実行を許可するか否かを判定する。
受信部110、解析部111、許可条件取得部112、出力部113および判定部114を実現するためのプログラムは、本体部11のストレージ1104やROM1101に予め組み込んで提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。さらに、当該プログラムを、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
当該プログラムは、上述した各部(受信部110、解析部111、許可条件取得部112、出力部113および判定部114)を含むモジュール構成となっている。実際のハードウェアとしては、本体部11においてCPU1100が、ストレージ1104やROM1101から当該プログラムを読み出して実行することにより、上述した各部がRAM1102などの主記憶装置上にロードされ、受信部110、出力部111、許可条件取得部112および判定部113が主記憶装置上に生成されるようになっている。
図10は、第1の実施形態に係るサーバ20の機能を説明するための一例の機能ブロック図である。図10において、サーバ20は、許可条件記憶部200を含む。許可条件記憶部200は、サーバ20のCPU2000上で動作するプログラムにより実現される。許可条件記憶部200は、例えばストレージ2003に対する許可条件情報リストの記憶と、ストレージ2003に記憶された許可条件情報リストの読み出しとを制御する。
図11は、第1の実施形態に係る、Webアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図11において、上述した図1と対応する部分には同一の符号を付して、詳細な説明を省略する。図11のシーケンスによる処理の開始時点では、操作部12は、Webコンテンツ1235が取得されていないものとする。
画像形成装置10において、操作部12は、Webコンテンツ1235による画面表示を要求するユーザ操作を受け付ける(ステップS100)。例えば、ユーザは、操作部12に対する所定の操作によりブラウザ1234を起動させ、ブラウザ1234に対してWebコンテンツ1235の取得元のURL、例えばWebサーバ60aのURLを入力する。操作部12は、ブラウザ1234により、この要求に応じて、Webサーバ60aに対して画面表示のためのHTMLデータを要求する(ステップS101)。
Webサーバ60aは、この要求に応じて、Webアプリを実行するためのスクリプトが埋め込まれたHTMLデータを操作部12に対して送信する。操作部12は、Webサーバ60aから送信されたHTMLデータを取得する(ステップS102)。
操作部12は、ブラウザ1234により、Webサーバ60aから取得したHTMLデータを解釈して画面の表示を行う(ステップS103)。操作部12は、表示された画面に応じたユーザ操作を待機する。操作部12に対してなされた、本体部11に対する所定の処理の実行を指示するユーザ操作が入力受付部120により受け付けられる(ステップS110)。
操作部12は、入力受付部120により当該ユーザの操作が受け付けられると、ブラウザ1234により、Webサーバ60aから取得したHTMLデータに埋め込まれたスクリプトを解析し、スクリプトから実行指示を抽出する(ステップS111)。また、操作部12は、取得部123により、ステップS100でブラウザ1234に入力されたURLを取得し、取得したURLを、Webコンテンツ1235の取得元を示す取得元情報として実行指示に付加する。
図12は、第1の実施形態に係る実行指示の例を示す。図12において、実行指示は、リクエストボディ、宛先アドレス情報、送信元アドレス情報、認証情報、Webサーバドメイン名、アプリケーションIDおよびジョブ設定情報の各情報を含む。
リクエストボディは、フォーマットおよびサイズの各情報を含み、この実行指示のデータフォーマットと、データサイズとを示す。宛先アドレス情報は、この実行指示が出力結果を送信する指示である場合に、送信先のアドレス情報(URL、メールアドレスなど)を示す。送信元アドレス情報は、同様に、この実行指示が出力結果を送信する指示である場合に、送信元すなわち画像形成装置10のアドレス情報(IPアドレス、ホスト名など)を示す。認証情報は、ステップS100またはステップS110のユーザ操作を行う際にユーザ認証が必要な場合に入力された認証情報(ユーザID、パスワードなど)を示す。
Webサーバドメイン名は、この実行指示が抽出されたスクリプトを含むWebコンテンツ1235(HTMLデータ)の取得元のWebサーバ(この例ではWebサーバ60a)のドメイン名を示す。すなわち、項目「Webサーバドメイン名」は、当該Webコンテンツ1235の取得元を示す取得元情報である。
図13は、URLの構造の例を示す。図13に例示されるように、URLは、それぞれスラッシュ「/」およびコロン「:」を区切り記号として区切られた、プロトコル表示と、ドメイン名と、ディレクトリ名と、ファイル名とを含んで構成される。ディレクトリ名は、スラッシュで区切って階層構造とすることができる。図13の例では、ドメイン名は、「example.com」となっている。ドメイン名の直前に、ピリオド「.」で区切ってサブドメイン名を含む場合がある。ドメイン名は、ピリオドで区切られた階層構造をなしており、右からトップレベルドメイン、セカンドレベルドメイン、サードレベルドメイン、…と、区分が細かくなる。
図12の説明に戻り、アプリケーションIDは、例えば、実行指示が抽出されたスクリプトを含むWebコンテンツ1235のIDを示す。
ジョブ設定情報は、この例では実行モード、サイズおよびスキャナ部の各情報を含み、当該実行指示の対象の機能と、当該機能に対する設定情報を示す。実行モードは、当該実行指示により指示される実行モードを示し、この実行モードの内容により、本体部11においてコピー機能、スキャナ機能、プリンタ機能およびFAX機能のうち何れの実行が指示されるかを判別できる。図12の例では、実行モードに「Scan To Send」あるいは「Scan To Email」が設定され、スキャナ機能の実行が指示されることが分かる。サイズは、例えば、設定された機能に用いられるデータのサイズを示す。スキャナ部は、設定された機能がスキャナ機能を含む場合、スキャンをADF(Auto Document Feeder)と圧版とのうち何れを用いて行うかが示される。
操作部12は、スクリプトから抽出され取得元情報が付加された実行指示を、本体部11に送信する(ステップS112)。本体部11は、実行指示を受信部110により受信し、受信した実行指示を、解析部111により解析する(ステップS113)。解析部111は、実行指示を解析した結果に基づき、実行指示に含まれる項目「Webサーバドメイン名」の情報すなわちWebコンテンツ1235の取得元情報を取得し、判定部114に渡す。また、解析部111は、解析した実行指示を出力部113に渡す。
本体部11は、許可条件取得部112により、サーバ20に対して許可条件情報を要求する(ステップS114)。サーバ20は、許可条件記憶部200により、記憶される許可条件情報リストを読み出して本体部11に送信する。サーバ20から送信された許可条件情報リストは、本体部11に受信されて許可条件取得部112に取得される(ステップS115)。
サーバ20は、ステップS114による本体部11からの許可条件情報の要求に対して、許可条件情報リストに含まれる各許可条件情報の組織ID、機器ID、許可ドメイン名および許可API種別のうち、少なくとも各許可ドメイン名を、ステップS115において本体部11に送信する。
図14は、第1の実施形態に係る、サーバ20に記憶される許可条件情報リストの例を示す。図14の例では、許可条件情報リストに含まれる各許可条件情報は、組織IDと、機器IDと、許可ドメイン名と、許可API種別とを含む。組織IDは、スクリプトの実行を許可するWebコンテンツ1235のベンダを識別する識別情報である。機器IDは、スクリプトの実行を許可する機器を識別する識別情報である。許可ドメイン名は、実行を許可するスクリプトを含むWebコンテンツ1235の取得元情報であって、Webコンテンツ1235の取得元の例えばWebサーバ60aのドメイン名である。許可API種別は、本体部11において実行を許可するAPI種別である。
図15は、第1の実施形態に係る、サーバ20の許可条件情報リストに許可条件情報を登録するための許可条件情報入力画面の例を示す。図15において、許可条件情報入力画面300は、許可条件情報の入力を促すメッセージ301と、入力領域302および303と、ボタン304とを含む。入力領域302は、許可ドメイン名を入力するための領域である。入力領域303は、API種別を入力するための領域である。ボタン304は、サーバ20に対して、入力領域302および303に入力された情報の登録を指示するためのボタンである。
なお、図15の例では、許可条件情報入力画面300は、図14に示した許可条件情報に含まれる各情報のうち、許可ドメイン名とAPI種別とを入力するようになっている。これに限らず、許可条件情報入力画面300は、組織IDと機器IDとを入力する入力領域をさらに設けてもよい。また、許可条件情報に含まれる各情報のうち、許可ドメイン名は、入力が必須の情報であるため、ボタン304は、入力領域302が空欄の場合は操作不可とすることもできる。
許可条件情報入力画面300は、例えば、ネットワーク40に接続されるPC30において表示させることができる。この場合、PC30は、許可条件情報入力画面300に入力された許可条件情報を、ネットワーク40を介してサーバ20に送信する。サーバ20は、PC30から送信された許可条件情報を受信し、受信した許可条件情報を、許可条件記憶部200により、例えばストレージ2003に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、ユーザ入力を受け付ける入力手段と、情報を表示する表示手段とをサーバ20に設け、サーバ20において許可条件情報入力画面300を表示させて許可条件情報の入力および登録を行ってもよい。
図11の説明に戻り、本体部11は、判定部114により、ステップS113において解析部111より渡された取得元情報と、ステップS115でサーバ20から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップS112において操作部12から送信された実行指示に従った処理の実行を許可するか否かを判定する(ステップS116)。
本体部11は、判定部114により、サーバ20から取得した各取得元情報の何れかと、解析部111から渡された取得元情報とが一致する場合に、実行指示に従った処理の実行を許可すると判定する(ステップS116、「OK」)。判定部114は、処理実行の許可を出力部113に通知する。本体部11は、出力部113により、この許可の通知に応じて、ステップS113で解析部111から渡された実行指示に従い処理を実行する(ステップS117)。このとき、本体部11は、必要に応じてWebサーバ60a上のプログラムを実行させることができる、本体部11は、実行指示の実行結果を操作部12に送信する(ステップS118)。
一方、本体部11は、ステップS116で、判定部114により、解析部111から渡された取得元情報と一致する情報がサーバ20から取得した各取得元情報に含まれないと判定した場合、実行指示に従った実行を許可しないと判定する(ステップS116、「NG」)。この場合、判定部114は、例えば、操作部12に対してエラー通知を送信する(ステップS119)。
操作部12は、本体部11からのエラー通知を受信すると、ブラウザ1234により、エラー通知に応じた画面を表示させる。図16は、第1の実施形態に係るエラー通知画面の例を示す。図16の例では、エラー通知画面310は、表示領域311に、エラー内容を識別するためのエラーコードと、エラーコードに応じたエラーメッセージとが表示されている。ボタン312を操作することで、エラー通知画面310を消去することができる。
このように、第1の実施形態では、例えば実行指示から取得された取得元情報が、サーバ20に記憶される各取得元情報に含まれない場合に、本体部11における実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したWebコンテンツ1235が信頼できるものであるか否かを容易に判定でき、Webコンテンツ1235に基づくWebアプリの画像形成装置10への導入が容易となる。
なお、上述では、サーバ20は、許可条件情報リストに、実行指示による処理の実行を許可する許可条件情報を登録しているが、これはこの例に限定されない。例えば、サーバ20は、許可条件情報リストに、実行指示による処理の実行を許可しない許可条件情報を登録してもよい。また、サーバ20は、ステップS114による許可条件情報の要求に対して、許可ドメイン名に加えて、組織ID、機器IDおよびAPI種別のうち1以上の情報を送信してもよい。この場合、本体部11において、判定部114は、取得した各情報の論理積を用いて判定を行うことが考えられる。
(第1の実施形態の変形例)
次に、第1の実施形態の変形例について説明する。上述した第1の実施形態では、許可条件情報リストを、画像形成装置10とネットワーク40を介して接続されるサーバ20が記憶していた。これに対して、第1の実施形態の変形例では、許可条件情報リストを、画像形成装置10の本体部11が記憶する。
図17は、第1の実施形態の変形例に係る本体部11aの機能を説明するための一例の機能ブロック図である。図17において、本体部11aは、図9を用いて説明した第1の実施形態に係る本体部11に対して、許可条件情報リストの記憶を制御する許可条件記憶部115が追加されている。なお、本体部11aのハードウェア構成は、図2を用いて説明した第1の実施形態に係る本体部11の構成をそのまま適用できるので、ここでの説明を省略する。
許可条件記憶部115は、例えばストレージ1104に対する許可条件情報リストの記憶と、ストレージ1104に記憶された許可条件情報リストの読み出しとを制御する。許可条件記憶部115は、上述した許可条件記憶部200の場合と同様に、PC30から送信された許可条件情報を、ストレージ1104に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、本体部11aにユーザ入力を受け付ける入力手段と、情報を表示する表示手段とを設け、本体部11aにおいて上述した許可条件情報入力画面300を表示させて許可条件情報の入力および登録を行ってもよい。
また、図17において、許可条件取得部112aは、本体部11a内の許可条件記憶部115により、許可条件情報リストを取得する。
なお、第1の実施形態の変形例では、操作部12は、図8を用いて説明した構成をそのまま適用できるので、ここでの説明を省略する。また、第1の実施形態の変形例では、図1を用いて説明した情報処理システムからサーバ20を省略したシステムを適用できる。
図18は、第1の実施形態の変形例に係る、Webコンテンツ1235を用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図18において、上述した図1と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図18において、上述した図11のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
ステップS100〜ステップS112の処理は、上述した図11のステップS100〜ステップS112の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図11の説明における本体部11を本体部11aと読み替えるものとする。
ステップS112により操作部12から取得元情報が付加された実行指示が送信されると、本体部11aは、この実行指示を受信部110により受信し、受信した実行指示を、解析部111により解析する(ステップS113)。解析部111は、実行指示を解析した結果に基づき、実行指示に含まれるWebコンテンツ1235の取得元情報を取得し、判定部114に渡す。また、解析部111は、解析した実行指示を出力部113に渡す。
本体部11aは、許可条件取得部112aにより、許可条件記憶部115に対して許可条件情報リストを要求し、この要求に応じて許可条件記憶部115により読み出された許可条件情報リストを取得する(ステップS130)。許可条件取得部112aは、取得した許可条件情報リストを判定部114に渡す。このとき、許可条件取得部112aは、許可条件情報リストに含まれる各許可条件情報の組織ID、機器ID、許可ドメイン名および許可API種別のうち、少なくとも各許可ドメイン名を取得する。
本体部11は、判定部114により、ステップS113において解析部111より渡された取得元情報と、ステップS130で許可条件記憶部115から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップS112において操作部12から送信された実行指示に従った処理の実行を許可するか否かを判定する(ステップS116)。
以降の処理は、上述した図11のステップS116からの処理と同等なので、ここでの説明を省略する。
このように、第1の実施形態の変形例でも、例えば実行指示から取得された取得元情報が許可条件記憶部115に記憶される各取得元情報に含まれない場合に、本体部11における実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したWebコンテンツ1235が信頼できるものであるか否かを容易に判定でき、Webコンテンツ1235に基づくWebアプリの画像形成装置10への導入が容易となる。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、許可条件情報リストを画像形成装置10の本体部11が取得していた。これに対して、第2の実施形態は、許可条件情報リストを画像形成装置10の操作部12側で取得する例である。
図19は、第2の実施形態に係る操作部12bの機能を説明するための一例の機能ブロック図である。なお、図19において、上述した図8と対応する部分には同一の符号を付して、詳細な説明を省略する。また、操作部12bのハードウェア構成は、図3を用いて説明した第1の実施形態に係る操作部12の構成をそのまま適用できるので、ここでの説明を省略する。
図19において、操作部12bは、図8を用いて説明した第1の実施形態に係る操作部12に対して、許可条件取得部125および判定部126が追加されている。この許可条件取得部125および判定部126の機能は、上述した許可条件取得部112および判定部114の機能と同等であるので、ここでの説明を省略する。
図20は、第2の実施形態に係る本体部11bの機能を説明するための機能ブロック図である。なお、図20において、上述した図9と対応する部分には同一の符号を付して、詳細な説明を省略する。図20において、本体部11bは、図9を用いて説明した第1の実施形態に係る本体部11に対して、許可条件取得部112および判定部114が省略されている。
なお、第2の実施形態では、図10を用いて説明した第1の実施形態に係るサーバ20をそのまま用いる。
(第2の実施形態に係る処理)
図21は、第2の実施形態に係る、Webアプリを用いる際の処理の流れを概略的に示す。なお、図21において、上述の図7と共通の部分および処理には同一の符号を付して、詳細な説明を省略する。
画像形成装置10bにおいて、操作部12bは、Webコンテンツ1235による画面表示を要求するユーザ操作を受け付ける(ステップS10)。操作部12bは、受け付けたユーザ操作によりブラウザ1234に指定されたURLに従いネットワーク40およびインターネット50を介してWebサーバ60aにアクセスし(ステップS11)、Webサーバ60aからWebコンテンツ1235を取得する(ステップS12)。
操作部12bは、ブラウザ1234により、取得したWebコンテンツ1235を解釈して画面表示を行うと共に、当該Webコンテンツ1235から、本体部11bに対する実行指示と、当該実行指示の本体部11bにおける実行を許可するか否かを判定するための条件である許可条件情報とを抽出する。操作部12bは、Webコンテンツ1235による表示画面に基づくユーザ操作を受け付けると(ステップS13)、ネットワーク40を介してサーバ20にアクセスし(ステップS20)、サーバ20に記憶される許可条件情報を取得する(ステップS21)。
操作部12bは、サーバ20から取得した許可条件情報と、Webコンテンツ1235から抽出した許可条件情報とを比較する。操作部12bは、比較結果に基づき、Webコンテンツ1235から抽出した実行指示の本体部11bにおける実行を許可するか否かを判定する。操作部12bは、判定の結果、実行が許可された場合に、実行指示を本体部11bに送信する(ステップS22)。本体部11bは、操作部12bから送信された実行指示を受信し、受信した実行指示に従った処理を実行する。
図22は、第2の実施形態に係る、Webアプリを用いる際の処理の流れをより具体的に示す一例のシーケンス図である。なお、図22において、上述した図21と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図22において、上述した図11のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
ステップS100〜ステップS111の処理は、上述した図11のステップS100〜ステップS111の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図11の説明における本体部11および操作部12を、それぞれ本体部11bおよび操作部12bと読み替えるものとする。
操作部12bは、ステップS111でスクリプト解析および取得元情報の取得を行った後、許可条件取得部125により、サーバ20に対して許可条件情報を要求する(ステップS140)。サーバ20は、許可条件記憶部200により、記憶される許可条件情報リストを読み出して操作部12bに送信する。このとき、サーバ20は、上述と同様にして、許可条件情報リストに含まれる各許可条件情報の組織ID、機器ID、許可ドメイン名および許可API種別のうち、少なくとも各許可ドメイン名を操作部12bに送信する。サーバ20から送信された許可条件情報リストは、操作部12bに受信されて許可条件取得部125に取得される(ステップS142)。
操作部12bは、判定部126により、ステップS111において取得部123により取得された取得元情報と、ステップS142でサーバ20から取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップS111において解析部111で解析された実行指示を本体部11bに送信するか否かを判定する(ステップS143)。
操作部12bは、判定部126により、サーバ20から取得した各取得元情報の何れかと、解析部111で解析された取得元情報とが一致する場合に、実行指示を本体部11bに送信すると判定する(ステップS143、「OK」)。操作部12bは、この判定結果に従い、実行指示を本体部11bに送信する(ステップS144)。本体部11bは、操作部12bから送信された実行指示を受信し、受信した実行指示を解析部146により解析する(ステップS145)。本体部12bは、出力部113により、解析部111で解析された実行指示に従い処理を実行し(ステップS146)、実行結果を操作部12bに送信する(ステップS147)。
一方、操作部12bは、ステップS143で、判定部126により、解析部111から渡された取得元情報と一致する情報がサーバ20から取得した各取得元情報に含まれないと判定した場合、実行指示を本体部11bに送信しないと判定する(ステップS143、「NG」)。この場合、操作部12bは、表示制御部121により、例えば、図16で説明したようなエラー通知画面310を表示させる(ステップS148)。
このように、第2の実施形態でも、例えば実行指示から取得された取得元情報がサーバ20に記憶される各取得元情報に含まれない場合に、本体部11bにおける実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したWebコンテンツ1235が信頼できるものであるか否かを容易に判定でき、Webコンテンツ1235に基づくWebアプリの画像形成装置10bへの導入が容易となる。
(第2の実施形態の変形例)
次に、第2の実施形態の変形例について説明する。上述した第2の実施形態では、許可条件情報リストを、画像形成装置10bとネットワーク40を介して接続されるサーバ20が記憶していた。これに対して、第2の実施形態の変形例では、許可条件情報リストを、画像形成装置10bの操作部12bが記憶する。
図23は、第2の実施形態の変形例に係る操作部12cの機能を説明するための一例の機能ブロック図である。なお、図23において、上述した図19と対応する部分には同一の符号を付して、詳細な説明を省略する。また、操作部12cのハードウェア構成は、図3を用いて説明した第1の実施形態に係る操作部12の構成をそのまま適用できるので、ここでの説明を省略する。
図23において、操作部12cは、図19を用いて説明した第2の実施形態に係る操作部12bに対して、許可条件情報リストの記憶を制御する許可条件記憶部127が追加されている。
許可条件記憶部127は、例えばストレージ1206に対する許可条件情報リストの記憶と、ストレージ1206に記憶された許可条件情報リストの読み出しとを制御する。許可条件記憶部127は、上述と同様に、PC30から送信された許可条件情報を、ストレージ1206に記憶される許可条件情報リストに追加して記憶させ、許可条件情報の登録を行う。これに限らず、許可条件記憶部127は、表示制御部121により上述した許可条件情報入力画面300を表示させて、入力受付部120により許可条件情報の入力を受け付け、入力された許可条件情報の登録を行ってもよい。
また、図23において、許可条件取得部125cは、操作部12c内の許可条件記憶部127により、許可条件情報リストを取得する。
なお、第2の実施形態の変形例では、図8を用いて説明した本体部11bの構成をそのまま適用できるので、ここでの説明を省略する。また、第2の実施形態の変形例では、図1を用いて説明した情報処理システムからサーバ20を省略したシステムを適用できる。
図24は、第2の実施形態の変形例に係る、Webアプリを用いる際の処理の流れを示す一例のシーケンス図である。なお、図24において、上述した図21および図23と対応する部分には同一の符号を付して、詳細な説明を省略する。また、図24において、上述した図11および図22のシーケンス図と対応する処理には同一の符号を付して、詳細な説明を省略する。
ステップS100〜ステップS111の処理は、上述した図11のステップS100〜ステップS111の処理と同等であるので、ここでの説明を省略する。なお、ここでは、図11の説明における本体部11および操作部12を、それぞれ本体部11bおよび操作部12cと読み替えるものとする。
操作部12cは、ステップS111でスクリプト解析および取得元情報の取得を行った後、許可条件取得部125cにより、許可条件記憶部127に対して許可条件情報リストを要求し、この要求に応じて許可条件記憶部127により読み出された許可条件情報リストを取得する(ステップS150)。許可条件取得部125cは、取得した許可条件情報リストを判定部126に渡す。このとき、許可条件取得部125cは、許可条件情報リストに含まれる各許可条件情報の組織ID、機器ID、許可ドメイン名および許可API種別のうち、少なくとも各許可ドメイン名を取得する。
操作部12cは、判定部126により、ステップS111において取得部123により取得された取得元情報と、ステップS150で許可条件記憶部127により取得した許可条件情報リストに含まれる各取得元情報とを比較して、ステップS111において解析部111で解析された実行指示を本体部11bに送信するか否かを判定する(ステップS143)。
以降の処理は、上述した図22のシーケンス図におけるステップS143からの処理と同様なので、ここでの説明を省略する。
このように、第2の実施形態でも、例えば実行指示から取得された取得元情報がサーバ20に記憶される各取得元情報に含まれない場合に、本体部11bにおける実行指示による処理を実行させないようにできる。そのため、ネットワークを介して取得したWebコンテンツ1235が信頼できるものであるか否かを容易に判定でき、Webコンテンツ1235に基づくWebアプリの画像形成装置10bへの導入が容易となる。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
10 画像形成装置
11,11a,11b 本体部
12,12a,12b,12c 操作部
20 サーバ
60a,60b Webサーバ
110 受信部
111,122 解析部
112,112a,125,125c 許可条件取得部
113 出力部
114,126 判定部
115,127,200 許可条件記憶部
120 入力受付部
121 表示制御部
123 取得部
124 送信部
300 許可条件情報入力画面
310 エラー通知画面
特許第4759436号公報

Claims (10)

  1. 入力装置と出力装置とサーバ装置とを含む情報処理システムであって、
    前記入力装置は、
    ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、
    前記入力画面の取得元を示す取得元情報を取得する取得部と、
    前記入力に応じた指示に前記取得元情報を付加して前記出力装置に向けて送信する送信部と、を備え、
    前記出力装置は、
    前記取得元情報が付加された前記指示を受信する受信部と、
    前記指示に応じた処理を実行する出力部と、
    前記出力部による前記処理の実行を許可するか否かを判定する判定部と、を備え、
    前記サーバ装置は、
    実行を許可する前記処理を含む前記指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、
    前記判定部は、
    前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置の前記送信元情報記憶部から取得した前記取得元情報と一致する場合に、前記出力部による前記処理の実行を許可する判定を行い、前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置の前記送信元情報記憶部から取得した前記取得元情報と不一致である場合に、前記出力部による前記処理の実行を許可しない判定を行うこと
    を特徴とする情報処理システム。
  2. 前記出力装置は、前記入力装置の前記送信部から送信された前記取得元情報を記憶する記憶部を、さらに備え、
    前記判定部は、
    前記サーバ装置から取得され、前記記憶部に記憶された前記取得元情報と、前記受信部で受信した前記指示に付加されている前記取得元情報とに基づき前記判定を行う
    請求項1に記載の情報処理システム。
  3. 前記出力装置は、少なくとも、
    原稿画像を読み取り画像データを出力する読み取り部と、
    画像データに基づき記録媒体に画像を形成する画像形成部と、
    を備える複合機である
    請求項1又は請求項2に記載の情報処理システム。
  4. 前記ネットワークはインターネットであって、
    前記取得元情報は、前記インターネット上における前記取得元のドメインを示すドメイン情報である
    請求項1から請求項3のうち、いずれか一項に記載の情報処理システム。
  5. 前記ネットワークはインターネットであって、
    前記取得元情報は、前記インターネット上における前記取得元のドメインを示すドメイン情報及びAPI種別である
    請求項1から請求項4のうち、いずれか一項に記載の情報処理システム。
  6. ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付ステップと、
    前記入力画面の取得元を示す取得元情報を取得する第1の情報取得ステップと、
    前記入力に応じた指示に前記第1の情報取得ステップで取得した前記取得元情報を付加して出力装置に向けて送信する送信ステップと、
    前記取得元情報が付加された前記指示を受信する受信ステップと、
    前記指示に応じた処理を実行する出力ステップと、
    実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する第2の情報取得ステップと、
    前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第2の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と一致する場合に、前記出力ステップで前記処理の実行を許可する判定を行い、前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第2の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と不一致である場合に、前記出力ステップで前記処理の実行を許可しない判定を行う判定ステップと、
    を有する情報処理方法
  7. 入力装置がネットワークを介して取得した入力画面の取得元を示す取得元情報が付加された、該入力画面に対する入力に応じた指示を受信する受信部と、
    前記指示に応じた処理を実行する出力部と、
    実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する取得部と、
    前記処理の前記出力部による実行を許可するか否かを判定する判定部と、を備え、
    前記判定部は、
    前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記出力部による前記処理の実行を許可する判定を行い、前記受信部で受信した前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と不一致である場合に、前記出力部による前記処理の実行を許可しない判定を行うこと
    を特徴とする情報処理装置
  8. 入力装置と出力装置とサーバ装置とを含む情報処理システムであって、
    前記サーバ装置は、
    実行を許可する処理を含む指示の取得元を示す取得元情報を記憶する送信元情報記憶部を備え、
    前記入力装置は、
    ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付部と、
    前記入力画面の取得元を示す取得元情報を抽出する抽出部と、
    処理の実行を許可する取得元を示す取得元情報をサーバ装置から取得する取得部と、
    前記抽出部で抽出された前記入力画面の取得元を示す取得元情報が、前記サーバ装置から取得した前記取得元情報と一致するか否かを判定する判定部と、
    前記判定部により、前記抽出部で抽出された前記入力画面の取得元を示す取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記処理の実行指示を前記出力装置に送信する送信部と、を備え、
    前記出力装置は、
    前記取得元情報が付加された前記指示、及び、前記処理の実行指示を受信する受信部と、
    前記実行指示を受信した場合に、前記指示された前記処理を実行する出力部と、を備えること、
    を特徴とする情報処理システム。
  9. ネットワークを介して取得した入力画面に対する入力を受け付ける入力受付ステップと、
    前記入力画面の取得元を示す取得元情報を取得する第1の情報取得ステップと、
    前記入力に応じた指示に前記第1の情報取得ステップで取得した前記取得元情報を付加して出力装置に向けて送信する送信ステップと、
    前記取得元情報が付加された前記指示を受信する受信ステップと、
    前記指示に応じた処理を実行する出力ステップと、
    実行を許可する前記処理を含む前記指示の取得元を示す取得元情報をサーバ装置から取得する第2の情報取得ステップと、
    前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第2の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と一致する場合に、前記出力ステップで前記処理の実行を許可する判定を行い、前記送信ステップで送信された前記指示に付加されている前記取得元情報が、前記第2の情報取得ステップで前記サーバ装置から取得した、実行を許可する前記処理を含む前記指示の取得元を示す前記取得元情報と不一致である場合に、前記出力ステップで前記処理の実行を許可しない判定を行う判定ステップと、
    をコンピュータに実行させる情報処理プログラム
  10. 入力装置と出力装置と出力処理の実行を許可する取得元を示す取得元情報を提供するサーバ装置及びコンテンツを配信するWebサーバとを含む情報処理システムであって、
    前記入力装置は、
    ネットワークを介して前記Webサーバにアクセスし、該Webサーバから送信されるコンテンツに従った表示を行い、該コンテンツに含まれる命令を該表示に基づく入力に応じて実行させるアプリケーション実行部と、
    前記コンテンツの取得元を示す取得元情報を取得する第1の取得部と、
    前記入力に応じて実行された命令に基づき前記アプリケーション実行部から出力された指示に前記取得元情報を付加して前記出力装置に向けて送信する送信部と
    を備え、
    前記出力装置は、
    前記指示に応じた出力処理を実行する出力部と、
    前記指示から、該指示に付加された前記取得元情報を取得する第2の取得部と、
    前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と一致する場合に、前記出力部による前記出力処理の実行を許可する判定を行い、前記指示に付加されている前記取得元情報が、前記サーバ装置から取得した前記取得元情報と不一致である場合に、前記出力部による前記出力処理の実行を許可しない判定を行う判定部と、を備える
    情報処理システム。
JP2016009051A 2016-01-20 2016-01-20 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム Active JP6642031B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016009051A JP6642031B2 (ja) 2016-01-20 2016-01-20 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016009051A JP6642031B2 (ja) 2016-01-20 2016-01-20 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2017130052A JP2017130052A (ja) 2017-07-27
JP6642031B2 true JP6642031B2 (ja) 2020-02-05

Family

ID=59395624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016009051A Active JP6642031B2 (ja) 2016-01-20 2016-01-20 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP6642031B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4198719B2 (ja) * 2006-05-12 2008-12-17 シャープ株式会社 複合機、複合機の制御方法、複合機制御システム、プログラムおよび記録媒体
JP5133387B2 (ja) * 2010-10-22 2013-01-30 シャープ株式会社 複合機、制御プログラムおよび記録媒体
JP2013014079A (ja) * 2011-07-04 2013-01-24 Canon Inc 情報処理装置及びその制御方法、並びにプログラム
JP5662391B2 (ja) * 2012-08-17 2015-01-28 株式会社東芝 情報操作装置、情報出力装置および情報処理方法

Also Published As

Publication number Publication date
JP2017130052A (ja) 2017-07-27

Similar Documents

Publication Publication Date Title
JP5424614B2 (ja) 情報処理システム、情報処理装置、Webサーバ、制御方法、及びプログラム
JP5828693B2 (ja) 印刷装置、印刷装置の制御方法、及びプログラム
US9369595B2 (en) Image forming apparatus for being able to utilize application in which web browser is used
US9164710B2 (en) Service providing system and service providing method
US9203822B2 (en) Network system, data processing apparatus, and method for multi-factor authentication
US9313354B2 (en) Output system for secure image processing, image processing apparatus, and output method thereof
US10180814B2 (en) User terminal, image processing device and cloud server to identify plural user information to execute an image processing job upon validating an user information
US10305961B2 (en) Information processing apparatus, information processing apparatus control method, and storage medium storing program
JP6442976B2 (ja) 画像形成装置、ブラウザの制御方法およびプログラム
US10051154B2 (en) Information processing apparatus, control method in information processing apparatus, and image processing apparatus
US9417826B2 (en) Image forming apparatus with status control
JP6303979B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
US20130080905A1 (en) Image forming apparatus, method of communicating with cloud server in image forming apparatus, and computer-readable recording medium
JP2010135910A (ja) ユーザー設定情報管理システム、ユーザー設定情報管理方法、プログラム、記憶媒体
US11290451B2 (en) Information processing apparatus, management server, service provision server, image processing apparatus, and information processing system
US9756203B2 (en) Image processing apparatus, method for controlling the same, and storage medium
JP2018037018A (ja) 情報処理装置およびプログラム
JP2014057162A (ja) 画像形成装置、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP6642031B2 (ja) 情報処理システム、情報処理方法、情報処理装置および情報処理プログラム
JP2017120582A (ja) システム、情報処理方法、情報処理装置およびプログラム
JP2021056982A (ja) 認証システム、共有端末および認証方法
JP6024314B2 (ja) 情報処理装置、プログラム及びシステム
JP6299101B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP5745013B2 (ja) 画像処理システム、画像処理装置、画像処理システムにおける制御方法、画像処理装置の制御方法、及びプログラム
JP6614318B2 (ja) 画像形成装置、ブラウザの制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191216

R151 Written notification of patent or utility model registration

Ref document number: 6642031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151