JP6464712B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP6464712B2
JP6464712B2 JP2014250178A JP2014250178A JP6464712B2 JP 6464712 B2 JP6464712 B2 JP 6464712B2 JP 2014250178 A JP2014250178 A JP 2014250178A JP 2014250178 A JP2014250178 A JP 2014250178A JP 6464712 B2 JP6464712 B2 JP 6464712B2
Authority
JP
Japan
Prior art keywords
job
processing unit
unit
event
information
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
JP2014250178A
Other languages
English (en)
Other versions
JP2015201167A (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 JP2014250178A priority Critical patent/JP6464712B2/ja
Priority to PCT/JP2014/083635 priority patent/WO2015093582A1/en
Priority to EP14872317.4A priority patent/EP3084592A4/en
Priority to RU2016124118A priority patent/RU2665254C1/ru
Priority to CN201480069043.3A priority patent/CN105830018B/zh
Priority to US15/105,307 priority patent/US9917963B2/en
Publication of JP2015201167A publication Critical patent/JP2015201167A/ja
Application granted granted Critical
Publication of JP6464712B2 publication Critical patent/JP6464712B2/ja
Active 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
    • 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/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • 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/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • 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/00411Display of information to the user, e.g. menus the display also being used for user input, e.g. touch screen
    • 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

Description

本発明は、機器を操作するための情報処理装置および情報処理方法に関する。
ウェブページを閲覧するためのブラウザプログラムから操作が可能な複合機が知られている。このような複合機は、スキャナまたはプリンタ等の機能をブラウザプログラムから制御するためのAPI(Application Programming Interface)を有している。また、このような複合機では、ブラウザプログラムが、スキャナおよびプリンタ等の状態変化をイベントとして受け取ることができる。
しかしながら、スキャナ等の状態変化を通知するイベントには、スキャナおよびプリンタ等に関する詳細な情報が含まれている。このため、ブラウザプログラムからスキャナおよびプリンタ等を操作するための操作用のウェブページを開発するには、スキャナおよびプリンタの詳しい知識が必要であり、開発が困難であった。
本発明は、上記に鑑みてなされたものであって、機器に対する詳細な知識が無くても、機器の状態に対応した適切なユーザインターフェイスを作成できる情報処理装置および情報処理方法を提供する。
上述した課題を解決し、目的を達成するために、本発明は、機器を操作するための情報処理装置であって、ユーザに対して情報を表示するとともに前記ユーザからの入力を受け付ける操作表示部と、ブラウザプログラムを実行するプロセッサを有する情報処理部と、を備え、前記情報処理部は、前記プロセッサが前記ブラウザプログラムを実行することにより機能し、前記機器を操作するためのユーザインターフェイスを前記操作表示部から提供する操作プログラムおよび変換スクリプトを取得する通信部と、前記プロセッサが前記ブラウザプログラム上で前記変換スクリプトを実行することにより機能し、前記機器の状態を解析し、前記機器の状態に応じたイベントを発行する変換スクリプト処理部と、前記プロセッサが前記ブラウザプログラム上で前記操作プログラムを実行することにより機能し、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを前記操作表示部から提供する表示制御部と、を有する。
本発明によれば、機器に対する詳細な知識が無くても、機器の状態に対応した適切なユーザインターフェイスを作成できるという効果を奏する。
図1は、第1実施形態に係る画像形成システムの構成を示す図である。 図2は、第1実施形態に係る画像形成システムのハードウェア構成を示す図である。 図3は、第1実施形態に係る画像形成システムの処理開始時のシーケンス図である。 図4は、第1実施形態に係る画像形成システムのジョブの生成時のシーケンス図である。 図5は、ジョブの生成時の変換スクリプト処理部の処理フローを示す図である。 図6は、ジョブの生成要求のレスポンスに含まれるジョブIDの一例を示す図である。 図7は、ジョブリストの一例を示す図である。 図8は、スキャナの実行状態を示すジョブ情報の一例を示す図である。 図9は、プリンタの実行状態を示すジョブ情報の一例を示す図である。 図10は、第1実施形態に係る画像形成システムのイベント発行時のシーケンス図である。 図11は、イベント発行時の変換スクリプト処理部の処理フローを示す図である。 図12は、スキャナの現在のジョブ情報および直前のジョブ情報を示す図である。 図13は、プリンタの現在のジョブ情報および直前のジョブ情報を示す図である。 図14は、スキャナにより実行されているジョブに応じたイベントの一例を示す図である。 図15は、プリンタにより実行されているジョブに応じたイベントの一例を示す図である。 図16は、ジョブIDに対応付けられたイベントの一例を示す図である。 図17は、スキャナのジョブに対応するイベントの生成フローの一例を示す図である。 図18は、プリンタのジョブに対応するイベントの生成フローの一例を示す図である。 図19は、ジョブの処理中に発行されるイベントに応じて表示されるユーザインターフェイスの一例を示す図である。 図20は、ユーザによる操作の待機中に発行されるイベントに応じて表示されるユーザインターフェイスの一例を示す図である。 図21は、ジョブがキャンセルされた場合に発行されるイベントに応じて表示されるユーザインターフェイスの一例を示す図である。 図22は、第1の変形例に係る画像形成システムの構成を示す図である。 図23は、第2の変形例に係る画像形成装置の構成を示す図である。 図24は、第2実施形態に係る画像形成システムの構成を示す図である。 図25は、第2実施形態に係る画像形成システムの処理開始時のシーケンス図である。 図26は、第2実施形態に係る画像形成システムのジョブの生成時のシーケンス図である。 図27は、ジョブ生成時の制御スクリプト処理部の処理フローを示す図である。 図28は、スキャン中のユーザインターフェイスを生成するために用いられるユーザインターフェイス情報の一例を示す図である。 図29は、第2実施形態に係る画像形成システムのイベント発行時のシーケンス図である。 図30は、イベント発行時の制御スクリプト処理部の処理フローを示す図である。 図31は、イベント発行時の制御スクリプト処理部のユーザインターフェイス情報の生成処理フローを示す図である。 図32は、ユーザの操作待ちイベントに対するユーザインターフェイスを生成するために用いられるユーザインターフェイス情報の一例を示す図である。 図33は、ジャム発生イベントに対するユーザインターフェイスを生成するために用いられるユーザインターフェイス情報の一例を示す図である。 図34は、第1の変形例に係る画像形成システムの構成を示す図である。 図35は、第2の変形例に係る画像形成システムの構成を示す図である。 図36は、第3の変形例に係る画像形成装置の構成を示す図である。 図37は、第3実施形態に係る画像形成システムの構成を示す図である。 図38は、第3実施形態に係る画像形成システムの処理開始時のシーケンス図である。 図39は、第3実施形態に係る画像形成システムのイベント発行時のシーケンス図である。 図40は、イベント発行時の変換スクリプト処理部および管理スクリプト処理部の処理フローを示す図である。 図41は、スキャナジョブにおいて発行されるイベントの発行順序の一例を示す図である。 図42は、スキャナジョブにおいて発行されるイベントと順序値との対応関係を表すテーブルを示す図である。
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
(第1実施形態)
図1は、第1実施形態に係る画像形成システム10の構成を示す図である。画像形成システム10は、サーバ装置20と、画像形成装置30とを備える。
サーバ装置20と画像形成装置30とは、ネットワーク12を介して接続される。ネットワーク12は、一例として、公衆に接続されたインターネット等のネットワークであってもよいし、社内等のローカルネットワークであってもよい。また、ネットワーク12は、有線であっても無線であってもよい。
サーバ装置20は、画像形成装置30からアクセスがされる。サーバ装置20は、ネットワーク12を介して、画像形成装置30に対して情報を送信し、画像形成装置30から情報を受信する。
サーバ装置20は、ネットワークI/F21と、情報提供部22とを有する。ネットワークI/F21は、ネットワーク12を介して他の装置と情報を送受信するためのインターフェイスである。情報提供部22は、ネットワーク12を介して、サーバ装置20に対して操作プログラムおよび変換スクリプトを提供する。
操作プログラムおよび変換スクリプトは、ブラウザプログラムからダウンロードされ、ブラウザプログラム上で実行されるプログラムである。本実施形態においては、操作プログラムは、HTML(HyperText Markup Language)で記述されたHTMLファイルである。また、変換スクリプトは、ブラウザプログラム上で実行されるスクリプトプログラムである。
画像形成装置30は、ネットワークI/F31と、スキャナ32と、プリンタ33と、操作表示部34と、情報処理部35とを有する。ネットワークI/F31は、ネットワーク12を介して他の装置と情報を送受信するためのインターフェイスである。
スキャナ32は、データに応じた文字および画像等を用紙等に印刷する。プリンタ33は、用紙等に印刷された文字および画像等を読み取ってデータに変換する。なお、画像形成装置30は、スキャナ32またはプリンタ33の一方のみを備える構成であってもよい。また、画像形成装置30は、情報処理装置により操作がされる他の機器を備える構成であってもよい。
操作表示部34は、ユーザに対して情報を表示するとともにユーザからの入力を受け付ける。操作表示部34は、一例として、タッチパネルである。また、操作表示部34は、操作ボタン、マウス、キーボード等を有してもよい。
情報処理部35は、プロセッサを有する情報処理装置である。情報処理部35は、ユーザによる操作表示部34に対する操作に応じて、スキャナ32およびプリンタ33を制御する。情報処理部35は、ブラウザプログラムを実行し、ブラウザプログラム上でサーバ装置20から操作プログラム(例えばHTMLファイル)および変換スクリプトをダウンロードする。そして、情報処理部35は、操作プログラムおよび変換スクリプトをブラウザプログラム上で実行することにより、スキャナ32およびプリンタ33を操作するためのユーザインターフェイスを提供する。
より詳しくは、情報処理部35は、ブラウザ部41と、プログラムインターフェイス部42と、状態通知部43とを有する。ブラウザ部41は、プロセッサがブラウザプログラムを実行することにより機能する。
プログラムインターフェイス部42は、ブラウザプログラムからスキャナ32およびプリンタ33の動作を制御するためのソフトウェアインターフェイスである。プログラムインターフェイス部42は、ブラウザプログラムからのジョブの生成要求に応じて、ジョブをスキャナ32およびプリンタ33に実行させる。また、プログラムインターフェイス部42は、ジョブをスキャナ32およびプリンタ33に実行させた場合、ジョブを識別するジョブIDをプログラムに送信する。
状態通知部43は、プログラムインターフェイス部42からスキャナ32およびプリンタ33の状態を取得する。そして、状態通知部43は、取得した状態を示す状態データを生成して、ブラウザプログラムに通知する。
本実施形態においては、状態通知部43は、プログラムインターフェイス部42から、スキャナ32またはプリンタ33によるジョブの実行状態を取得する。そして、状態通知部43は、ジョブの実行状態を示すジョブ情報を含む状態データをブラウザプログラムに対して通知する。
ブラウザ部41は、通信部51と、表示制御部52と、入力部53と、受信部54と、変換スクリプト処理部58とを含む。
通信部51は、プロセッサがブラウザプログラムを実行することにより機能する。通信部51は、操作プログラム(例えばHTMLファイル)および変換スクリプトを、サーバ装置20から取得する。操作プログラムおよび変換スクリプトは、スキャナ32およびプリンタ33を操作するためのユーザインターフェイスを、操作表示部34から提供するプログラムである。
表示制御部52は、プロセッサがブラウザプログラム上で操作プログラムを実行することにより機能する。表示制御部52は、操作表示部34の表示を制御する。より具体的には、表示制御部52は、ユーザインターフェイスを操作表示部34上に表示させる。
入力部53は、プロセッサがブラウザプログラムを実行することにより機能する。入力部53は、ユーザによる操作表示部34に対する操作を入力する。さらに、入力部53は、プロセッサがブラウザプログラム上で操作プログラム(例えばHTMLファイル)を実行することにより、操作表示部34に表示したユーザインターフェイスに対する操作を入力する。
受信部54は、プロセッサがブラウザプログラムを実行することにより機能する。受信部54は、状態通知部43から通知された状態データを受信する。
変換スクリプト処理部58は、プロセッサがブラウザプログラム上で変換スクリプトを実行することにより機能する。変換スクリプト処理部58は、ユーザによるユーザインターフェイスに対する動作指示に応じてジョブの生成要求をプログラムインターフェイス部42に送信する。また、変換スクリプト処理部58は、ジョブの生成要求をプログラムインターフェイス部42に送信したことに応じて、プログラムインターフェイス部42からジョブIDを受信して保存する。
また、変換スクリプト処理部58は、受信部54が受信した状態データに基づき、スキャナ32またはプリンタ33の状態を解析する。そして、変換スクリプト処理部58は、スキャナ32またはプリンタ33の状態に応じたイベントを発行する。
本実施形態においては、変換スクリプト処理部58は、ジョブ情報を含む状態データに基づきスキャナ32またはプリンタ33によるジョブの実行状態を解析し、ジョブの実行状態に応じたイベントを発行する。より具体的には、変換スクリプト処理部58は、ジョブID毎に状態データに含まれるジョブ情報を保存し、状態データに含まれるジョブ情報を取得したことに応じて、同一のジョブIDに対応して保存された直前のジョブ情報と比較して変化があるか否かを解析する。そして、変換スクリプト処理部58は、ジョブ情報に変化があった場合に、ジョブの実行状態に応じたイベントを発行する。
そして、表示制御部52は、変換スクリプト処理部58からイベントが発行されたことに応じて、イベントに対応したユーザインターフェイスを操作表示部34から提供する。
図2は、第1実施形態に係る画像形成システム10のハードウェア構成を示す図である。サーバ装置20の情報提供部22は、一例として、CPU(Central Processing Unit)101等のプロセッサと、RAM(Random Access Memory)およびROM(Read Only Memory)等のメモリ102と、HDD(Hard Disk Drive)等の記憶装置103とを備える。このような情報提供部22は、CPU101等のプロセッサが記憶装置103に予め記憶されたオペレーティングシステム等を実行することにより、操作プログラムおよび変換スクリプトを画像形成装置30に対して提供することができる。
画像形成装置30の情報処理部35は、CPU111等のプロセッサと、RAMおよびROM等のメモリ112と、HDD等の記憶装置113と、操作表示部34とのインターフェイスであるデバイスI/F114とを備える。このような情報処理部35は、CPU111等のプロセッサが、記憶装置113に予め記憶されたオペレーティングシステムおよびブラウザプログラムをメモリ112上に展開して実行する。
そして、CPU111等のプロセッサは、ネットワーク12を介してサーバ装置20から操作プログラムおよび変換スクリプトをダウンロードして、メモリ112上に展開して実行する。このような操作プログラムおよび変換スクリプトは、表示制御モジュール、入力モジュールおよびスクリプト処理モジュールを含むモジュール構成となっており、CPU111等のプロセッサがこれらを実行することにより、情報処理部35を表示制御部52、入力部53および変換スクリプト処理部58として機能させることができる。
図3は、第1実施形態に係る画像形成システム10の処理開始時のシーケンス図である。まず、ユーザは、ブラウザプログラムを実行して、操作プログラムであるHTMLファイルの格納場所を示すURI(Uniform Resource Identifiers)等をブラウザプログラムに入力して、HTMLファイルのダウンロードを指示する。ユーザによりHTMLファイルのダウンロードが指示されると、ステップS11において、操作表示部34は、ブラウザ部41の入力部53に対して、取得指示を与える。続いて、ステップS12において、入力部53は、その取得要求を通信部51に与える。
続いて、ステップS13において、通信部51は、サーバ装置20に対してHTMLファイルの取得要求を送信する。続いて、ステップS14において、サーバ装置20は、HTMLファイルを含むレスポンスを通信部51に送信する。続いて、ステップS15において、通信部51は、レスポンスからHTMLファイルを抽出し、抽出したHTMLファイルの解析指示を表示制御部52に与える。
表示制御部52は、解析指示を受けると、HTMLファイルを解析する。HTMLファイルには、変換スクリプトの呼び出し要求および変換スクリプトの格納場所を示すURIが含まれる。そこで、ステップS16において、表示制御部52は、変換スクリプトの取得要求を通信部51に与える。なお、HTMLファイルを解析した結果、画像ファイル、CSS(Cascading Style Sheets)、他のスクリプト等が含まれている場合には、表示制御部52は、これらの取得要求も通信部51に与える。
続いて、ステップS17において、通信部51は、サーバ装置20に対して変換スクリプトの取得要求を送信する。続いて、ステップS18において、サーバ装置20は、変換スクリプトを含むレスポンスを通信部51に送信する。続いて、ステップS19において、通信部51は、変換スクリプトを含むレスポンスを表示制御部52に送信する。
表示制御部52は、変換スクリプトの取得要求に対するレスポンスを受信すると、そのレスポンスから変換スクリプトを抽出する。続いて、ステップS20において、表示制御部52は、抽出した変換スクリプトの解析指示を変換スクリプト処理部58に与える。解析指示が与えられると、変換スクリプト処理部58は、変換スクリプトを解析し、変換スクリプトの実行を待機した状態となる。続いて、ステップS21において、変換スクリプト処理部58は、解析が終了すると、レスポンスを表示制御部52に送信する。
続いて、ステップS22において、表示制御部52は、HTMLファイルの解析結果に基づき、スキャナ32およびプリンタ33を制御するためのユーザインターフェイスを含む画面を生成する。そして、ステップS23において、表示制御部52は、生成した画面を操作表示部34に表示させる。
以上の処理により、情報処理部35は、HTMLファイル(操作プログラム)および変換スクリプトをサーバ装置20から取得することができる。さらに、情報処理部35は、スキャナ32およびプリンタ33を操作および制御するための画面をブラウザプログラム上により表示することができる。
図4は、第1実施形態に係る画像形成システム10のジョブの生成時のシーケンス図である。図3に示すシーケンスの実行が完了した後に、画像形成システム10は、図4に示すシーケンスが実行される。
ユーザは、操作表示部34上に表示されたユーザインターフェイスを操作して、スキャナ32またはプリンタ33に対する動作指示を操作表示部34に与える。例えば、ユーザは、スキャナ32またはプリンタ33の動作開始指示、および、解像度または白黒/カラーの区別等の設定情報、ユーザインターフェイスを操作して操作表示部34に与える。
このような動作指示が与えられると、まず、ステップS31において、操作表示部34は、ブラウザ部41の入力部53に対して、動作指示を与える。続いて、ステップS32において、入力部53は、その動作指示を変換スクリプト処理部58に与える。動作指示を受けると、ステップS33において、変換スクリプト処理部58は、動作中画面の生成指示を表示制御部52に与える。
続いて、画面の生成指示を受けると、表示制御部52は、動作中画面を生成する。そして、ステップS34において、表示制御部52は、生成した画面を操作表示部34に表示させる。
一方、入力部53から動作指示を受けると、ステップS35において、変換スクリプト処理部58は、動作指示に従った処理内容のジョブの生成要求を通信部51に送信する。続いて、ステップS36において、通信部51は、ジョブの生成要求をプログラムインターフェイス部42に送信する。プログラムインターフェイス部42は、ジョブの生成要求を受信したことに応じて、動作指示に従ったジョブをスキャナ32またはプリンタ33に実行させる。
続いて、ステップS37において、プログラムインターフェイス部42は、スキャナ32またはプリンタ33にジョブを実行させたことに応じて、レスポンスを通信部51に送信する。この場合において、プログラムインターフェイス部42は、ジョブの生成が成功すると、レスポンスに、生成したジョブを識別するジョブID、および、現在のジョブの実行状態を示すジョブ情報を含める。続いて、ステップS38において、通信部51は、受信したレスポンスからジョブIDおよびジョブ情報を抽出して、変換スクリプト処理部58に送信する。続いて、ステップS39において、変換スクリプト処理部58は、ジョブIDおよびジョブ情報を受信すると、ジョブIDを保存するとともに、ジョブIDに対応付けてジョブ情報を保存する。
以上の処理により、情報処理部35は、スキャナ32またはプリンタ33の動作指示を受けると、動作中を示すユーザインターフェイス画面を表示させることができる。さらに、情報処理部35は、スキャナ32またはプリンタ33に動作指示に従ったジョブを実行させることができるとともに、実行させたジョブを識別するジョブIDおよびジョブの実行状態を示すジョブ情報を保存することができる。
図5は、ジョブの生成時の変換スクリプト処理部58の処理フローを示す図である。変換スクリプト処理部58は、入力部53から動作指示を受信すると、ステップS41から処理を開始する。
まず、ステップS41において、変換スクリプト処理部58は、動作指示に従った処理内容のジョブの生成要求をプログラムインターフェイス部42に送信する。続いて、ステップS42において、変換スクリプト処理部58は、ジョブの生成要求に対するレスポンスを受信する。続いて、ステップS43において、変換スクリプト処理部58は、レスポンスの内容を解析して、ジョブの生成が成功したか否かを判断する。変換スクリプト処理部58は、ジョブの生成が失敗した場合には(ステップS43のNo)、本フローを終了する。変換スクリプト処理部58は、ジョブの生成が成功した場合には(ステップS43のYes)、処理をステップS44に進める。
ステップS44において、変換スクリプト処理部58は、レスポンスに含まれるジョブIDを取得する。例えば、変換スクリプト処理部58は、図6に示されるようなジョブIDを取得する。
続いて、ステップS45において、変換スクリプト処理部58は、ジョブIDを保存するとともに、ジョブIDに対応付けて、ジョブの実行状態を示すジョブ情報を保存する。例えば、変換スクリプト処理部58は、図7に示されるような、ジョブリストにより、ジョブIDおよびジョブ情報を保存する。
例えば、変換スクリプト処理部58は、図8に示されるようなジョブ情報を取得する。図8のジョブ情報には、例えば、スキャナ32の状態が「ユーザの操作待ち」であり、状態の詳細が「次原稿のセット待ち」であり、読取面の数が「3」であることが示されている。さらに、スキャナ32によるジョブの実行状態を示すジョブ情報には、読み取り状態、読み取り画像のURI、サムネイルのURI、送信状態および送信済み宛先数等が含まれていてもよい。
また、例えば、変換スクリプト処理部58は、図9に示されるようなジョブ情報を取得してもよい。図9のジョブ情報には、プリンタ33の状態が「中止」であり、状態の詳細が「キャンセルされた」であり、印刷面の数が「3」であることが示されている。さらに、プリンタ33によるジョブの実行状態を示すジョブ情報には、印刷状態およびファイル読み込みが完了したか否か等が含まれていてもよい。
そして、変換スクリプト処理部58は、ジョブIDおよびジョブ情報の保存が完了すると、本フローを終了する。
図10は、第1実施形態に係る画像形成システム10のイベント発行時のシーケンス図である。図4に示すシーケンスの実行が完了した後に、画像形成システム10は、図10に示すシーケンスが実行される。
まず、ステップS51において、プログラムインターフェイス部42は、ジョブを実行中のスキャナ32またはプリンタ33の状態を状態通知部43に通知する。プログラムインターフェイス部42は、一例として、状態通知部43から要求を受けた場合または定期的に、状態を通知する。
状態通知部43は、プログラムインターフェイス部42からの通知によって、スキャナ32またはプリンタ33によるジョブの実行状態を取得する。続いて、ステップS52において、状態通知部43は、スキャナ32またはプリンタ33のジョブの実行状態を示すジョブ情報を含む状態データを、ブラウザプログラムの受信部54に対して通知する。
続いて、ステップS53において、受信部54は、状態通知部43から状態データが通知されると、変換スクリプトの実行指示を変換スクリプト処理部58に与える。この場合、受信部54は、実行指示に状態データを含める。
続いて、ステップS54において、変換スクリプト処理部58は、変換スクリプトを実行して、状態データに含まれるジョブ情報からジョブの実行状態を解析する。続いて、ステップS55において、変換スクリプト処理部58は、ジョブ情報に示されたジョブの実行状態に基づき、ジョブの実行状態に応じたイベントを、表示制御部52に対して発行する。
続いて、ステップS56において、表示制御部52は、発行されたイベントに応じたユーザインターフェイスを含む画面を生成する。そして、ステップS57において、表示制御部52は、生成した画面を操作表示部34に表示させる。
以上の処理により、情報処理部35は、プログラムインターフェイス部42から、スキャナ32またはプリンタ33によるジョブの実行状態を取得することができる。また、情報処理部35は、スキャナ32またはプリンタ33によるジョブの実行状態に応じたイベントを表示制御部52に与えることができる。そして、情報処理部35は、ジョブの実行状態に応じたイベントに基づき、ジョブの実行状態に適したユーザインターフェイス画面を表示することができる。
図11は、イベント発行時の変換スクリプト処理部58の処理フローを示す図である。変換スクリプト処理部58は、プログラムインターフェイス部42から状態データの通知を受けると、ステップS61から処理を開始する。
まず、ステップS61において、変換スクリプト処理部58は、状態データを受信する。続いて、ステップS62において、変換スクリプト処理部58は、状態データからジョブIDを取得する。
続いて、ステップS63において、変換スクリプト処理部58は、保存しているジョブリストをジョブIDで検索して、ジョブIDに対応付けられたジョブ情報を検索する。続いて、ステップS64において、変換スクリプト処理部58は、ジョブ情報が見つかったか否かを判断する。ジョブ情報が見つからなかった場合には(ステップS64のNo)、本フローを終了する。ジョブ情報が見つかった場合には(ステップS64のYes)、処理をステップS65に進める。
ステップS65において、変換スクリプト処理部58は、受信した状態データに含まれるジョブ情報を抽出する。続いて、ステップS66において、変換スクリプト処理部58は、状態データに含まれているジョブIDに対応付けて保存されている現在のジョブ情報を、直前のジョブ情報の欄に保存する。続いて、ステップS67において、変換スクリプト処理部58は、受信した状態データから抽出したジョブ情報を、現在のジョブ情報の欄に保存する。
例えば、図12に示すように、変換スクリプト処理部58は、スキャナ32によるジョブに対応するあるジョブIDのジョブ情報として、現在のジョブ情報と直前のジョブ情報とに分けて保存する。また、例えば、図13に示すように、変換スクリプト処理部58は、プリンタ33によるジョブに対応するあるジョブIDのジョブ情報として、現在のジョブ情報と直前のジョブ情報とに分けて保存する。すなわち、ステップS66およびステップS67では、変換スクリプト処理部58は、現在のジョブ情報を直前のジョブ情報に保存して、新しく取得したジョブ情報を現在のジョブ情報に保存する。
続いて、ステップS68において、変換スクリプト処理部58は、現在のジョブ情報と直前のジョブ情報とを比較して変化があったか否かを判断する。すなわち、変換スクリプト処理部58は、ジョブの実行状態に変化があったか否かを判断する。変化が無かった場合には(ステップS68のNo)、変換スクリプト処理部58は、本フローを終了する。変化があった場合には(ステップS68のYes)、変換スクリプト処理部58は、処理をステップS69に進める。
続いて、ステップS69において、変換スクリプト処理部58は、ジョブ情報に応じたイベントを生成する。すなわち、変換スクリプト処理部58は、ジョブの実行状態に応じたイベントを生成する。
例えば、変換スクリプト処理部58は、図14に示されるような、スキャナ32によるジョブがユーザの操作待ちであることを示すユーザ操作待ちイベントを発行する。変換スクリプト処理部58は、一例として、スキャナ32によるジョブの実行状態が、処理中からユーザの操作待ちに変わったときに、このようなイベントを発行する。なお、図14に示されるイベントには、スキャナ32が自動再開をしないことを示す情報も含む。
また、例えば、変換スクリプト処理部58は、図15に示されるような、プリンタ33によるジョブが中止されたことを示す中止イベントを発行する。変換スクリプト処理部58は、一例として、プリンタ33がシステムの問題等により強制的に終了された場合に、このようなイベントを発行する。
その他、変換スクリプト処理部58は、例えば、機器が待機中であることを示す待機中イベント、機器が処理中であることを示す処理中イベント、ユーザからのキャンセル操作によりジョブがキャンセルされたことを示すキャンセルイベント、ジョブが完了したことを示す完了イベント、読み取り面数が更新したことを示す読み取り面数更新イベント、印刷面数が更新したことを示す印刷面数更新イベント等を発行してもよい。
また、変換スクリプト処理部58は、2以上のイベントを同時に発行してもよい。例えば、変換スクリプト処理部58は、スキャナ32のジョブの実行状態が、処理中からユーザ操作待ちに変わり、且つ、読み取り面数が2から3に変わった場合には、ユーザ操作待ちイベントと読み取り面数更新イベントとを同時に発行してもよい。
続いて、ステップS70において、変換スクリプト処理部58は、生成したイベントをジョブIDと対応付ける。例えば、図16に示すように、ジョブID毎に生成したイベントをリスト化して保存する。
続いて、ステップS71において、変換スクリプト処理部58は、生成したイベントを表示制御部52に対して発行する。変換スクリプト処理部58は、イベントを発行すると本フローを終了する。
図17は、スキャナ32のジョブに対応するイベントの生成フローの一例を示す図である。変換スクリプト処理部58は、図11のステップS69において、スキャナ32のジョブに対応するイベントを、例えば図17に示すフローに従って生成する。
まず、ステップS81において、変換スクリプト処理部58は、ジョブ情報を参照して、状態が変わったか否かを判断する。状態が変わった場合(ステップS81のYes)、ステップS82において、変わった後の状態に応じたイベントを生成する。状態が変わらなかった場合(ステップS81のNo)およびステップS82の処理を終えた場合、変換スクリプト処理部58は、処理をステップS83に進める。
続いて、ステップS83において、変換スクリプト処理部58は、ジョブ情報を参照して、読み取り面数が変わったか否かを判断する。読み取り面数が変わった場合(ステップS83のYes)、ステップS84において、読み取り面数更新イベントを生成する。読み取り面数が変わらなかった場合(ステップS83のNo)およびステップS84の処理を終えた場合、変換スクリプト処理部58は、処理をステップS85に進める。
続いて、ステップS85において、変換スクリプト処理部58は、ジョブ情報を参照して、送信済み宛先数が変わったか否かを判断する。送信済み宛先数が変わった場合(ステップS85のYes)、ステップS86において、送信済み宛先数更新イベントを生成する。送信済み宛先数が変わらなかった場合(ステップS85のNo)およびステップS86の処理を終えた場合、変換スクリプト処理部58は、本フローを終了する。
図18は、プリンタ33のジョブに対応するイベントの生成フローの一例を示す図である。変換スクリプト処理部58は、図11のステップS69において、プリンタ33のジョブに対応するイベントを、例えば図18に示すフローに従って生成する。
まず、ステップS91において、変換スクリプト処理部58は、ジョブ情報を参照して、状態が変わったか否かを判断する。状態が変わった場合(ステップS91のYes)、ステップS92において、変わった後の状態に応じたイベントを生成する。状態が変わらなかった場合(ステップS91のNo)およびステップS92の処理を終えた場合、変換スクリプト処理部58は、処理をステップS93に進める。
続いて、ステップS93において、変換スクリプト処理部58は、ジョブ情報を参照して、ファイルが読み込み済みか否かを判断する。ファイルが読み込み済みの場合(ステップS93のYes)、ステップS94において、ファイル読み込み済みイベントを生成する。ファイルが読み込み済みではない場合(ステップS93のNo)およびステップS94の処理を終えた場合、変換スクリプト処理部58は、処理をステップS95に進める。
続いて、ステップS95において、変換スクリプト処理部58は、ジョブ情報を参照して、印刷面数が変わったか否かを判断する。印刷面数が変わった場合(ステップS95のYes)、ステップS96において、印刷面数更新イベントを生成する。印刷面数が変わらなかった場合(ステップS95のNo)およびステップS96の処理を終えた場合、変換スクリプト処理部58は、本フローを終了する。
図19は、処理中イベントに応じて表示されるユーザインターフェイスの一例である。変換スクリプト処理部58は、ジョブが処理中の場合、処理中イベントを発行する。表示制御部52は、処理中イベントが発行されると、例えば、図19に示されるような、処理中であることおよび処理がどこまで進んだかを示すユーザインターフェイスを表示する。
図20は、ユーザ操作待ちイベントに応じて表示されるユーザインターフェイスの一例である。変換スクリプト処理部58は、ジョブがユーザの操作待ちである場合、ユーザ操作待ちイベントを発行する。表示制御部52は、ユーザ操作待ちイベントが発行されると、例えば、図20に示されるような、ユーザによる操作を指示するユーザインターフェイスを表示する。
図21は、キャンセルイベントに応じて表示されるユーザインターフェイスの一例である。変換スクリプト処理部58は、ジョブがキャンセルされた場合、キャンセルイベントを発行する。表示制御部52は、キャンセルイベントが発行されると、例えば、図21に示されるような、ジョブがキャンセルされたことを通知するユーザインターフェイスを表示する。
以上のように、本実施形態に係る画像形成システム10は、変換スクリプト処理部58が変換スクリプトを実行することにより、スキャナ32またはプリンタ33のジョブの実行状態を解析し、実行状態に応じたイベントを発行する。そして、表示制御部52がHTMLファイル(操作プログラム)を実行することにより、イベントに応じたユーザインターフェイスを提供する。
従って、本実施形態に係る画像形成システム10は、HTMLファイルで予め作成された変換スクリプトを呼び出せば、スキャナ32またはプリンタ33のジョブの実行状態に対応した適切なイベントを発行することができる。従って、本実施形態に係る画像形成システム10によれば、スキャナ32およびプリンタ33の状態を理解するための詳細な知識が無くても、ユーザインターフェイスを提供するためのHTMLファイル(操作プログラム)を容易に作成することができる。
なお、本実施形態において、変換スクリプト処理部58は、ジョブの実行状態に応じたイベントに限らず、ジョブを実行していないスキャナ32およびプリンタ33の状態に応じたイベントを発行してもよい。状態通知部43は、スキャナ32およびプリンタ33の状態を監視し、スキャナ32およびプリンタ33の状態が変化した場合に、その変化後の状態を示す状態データをブラウザプログラムに通知する。この場合には、図10に示すシーケンスが実行されて、イベントの発行およびユーザインターフェイスの表示がされる。
図22は、第1実施形態の第1の変形例に係る画像形成システム10の構成を示す図である。なお、第1変形例および第2変形例では、図1と同様の機能および構成を有する部材は同一の符号を付けて相違点についてのみ説明する。
第1変形例に係る画像形成システム10は、サーバ装置20と、画像形成装置30と、情報処理装置60とを備える。第1変形例に係る画像形成装置30は、ネットワークI/F31と、スキャナ32と、プリンタ33と、情報処理部35とを備え、操作表示部34を備えていない。また、情報処理部35は、プログラムインターフェイス部42を有し、ブラウザ部41および状態通知部43を有してない。
情報処理装置60は、ネットワークI/F61と、情報処理部62と、操作表示部34とを有する。ネットワークI/F61は、ネットワークI/F31と同様の機能および構成を有する。情報処理部62は、ブラウザ部41と、状態通知部43とを有する。情報処理部62のハードウェア構成は、情報処理部35と同様である。
そして、第1の変形例において、プログラムインターフェイス部42は、ネットワーク12を介して、ブラウザ部41および状態通知部43と通信をする。
このような第1実施形態の第1の変形例に係る画像形成システム10によれば、画像形成装置30から操作用の情報処理装置を別体とすることができる。
図23は、第1実施形態の第2の変形例に係る画像形成装置30の構成を示す図である。第2の変形例に係る情報処理部35は、サーバインターフェイス部71と、情報提供部22とをさらに有する。
サーバインターフェイス部71は、ブラウザプログラムから情報提供部22へとアクセスするためのソフトウェアインターフェイスである。このような情報処理部35は、スキャナ32およびプリンタ33と、操作用の情報処理装置と、操作プログラムおよび変換スクリプトを記憶する情報提供部22とが一体化されている。
このような第1実施形態の第2の変形例に係る画像形成装置30によれば、ネットワーク12を介してサーバ装置20にアクセスせずに、操作プログラムおよび変換スクリプトを取得することができる。
(第2実施形態)
図24は、第2実施形態に係る画像形成システム75の構成を示す図である。第2実施形態に係る画像形成システム75は、図1から図23を参照して説明した第1実施形態に係る画像形成システム10と略同一の機能および構成を有する。従って、第1実施形態に係る画像形成システム10と略同一の構成および機能を有する部材については、同一の符号を付けて相違点についてのみ説明する。
画像形成システム75は、サーバ装置20と、画像形成装置30とを備える。サーバ装置20の情報提供部22は、ネットワーク12を介して、画像形成装置30に対して操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトを提供する。
ウェブスクリプトおよび制御スクリプトは、ブラウザプログラムからダウンロードされ、ブラウザプログラム上で実行されるプログラムである。本実施形態においては、ウェブスクリプトおよび制御スクリプトは、ブラウザプログラム上で実行されるスクリプトプログラムである。
情報処理部35は、ブラウザプログラムを実行し、ブラウザプログラム上でサーバ装置20から操作プログラム(例えばHTMLファイル)、ウェブスクリプト、制御スクリプトおよび変換スクリプトをダウンロードする。そして、情報処理部35は、操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトをブラウザプログラム上で実行することにより、スキャナ32およびプリンタ33を操作するためのユーザインターフェイスを提供する。
ブラウザ部41は、通信部51と、表示制御部52と、入力部53と、受信部54と、ウェブスクリプト処理部56と、制御スクリプト処理部57と、変換スクリプト処理部58とを含む。ブラウザ部41は、第1実施形態と比較し、ウェブスクリプト処理部56および制御スクリプト処理部57とをさらに含む点で異なる。
通信部51は、操作プログラム(例えばHTMLファイル)、ウェブスクリプト、制御スクリプトおよび変換スクリプトを、サーバ装置20から取得する。操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトは、スキャナ32およびプリンタ33を操作するためのユーザインターフェイスを、操作表示部34から提供するプログラムである。
ウェブスクリプト処理部56は、プロセッサがブラウザプログラム上でウェブスクリプトを実行することにより機能する。ウェブスクリプトは、ブラウザプログラム上で実行されるスクリプト言語で記述されたアプリケーションプログラムである。ウェブスクリプト処理部56は、このアプリケーションプログラムによって記述された動作を実行する。
制御スクリプト処理部57は、プロセッサがブラウザプログラム上で制御スクリプトを実行することにより機能する。制御スクリプト処理部57は、ウェブスクリプト処理部56から与えられた動作指示に応じて、ジョブの生成要求を変換スクリプト処理部58に与える。また、制御スクリプト処理部57は、ウェブスクリプト処理部56に対して、ユーザインターフェイスを生成するために用いられるユーザインターフェイス情報を発行する。制御スクリプト処理部57は、一例として、イベントが発行されたことに応じてイベントに対応したユーザインターフェイス情報を発行する。
変換スクリプト処理部58は、プロセッサがブラウザプログラム上で変換スクリプトを実行することにより機能する。本実施形態においては、変換スクリプト処理部58は、ユーザによるユーザインターフェイスに対する動作指示に応じて制御スクリプト処理部57から与えられたジョブの生成要求を、プログラムインターフェイス部42に送信する。また、変換スクリプト処理部58は、ジョブの生成要求をプログラムインターフェイス部42に送信したことに応じて、プログラムインターフェイス部42からジョブIDを受信して保存する。
また、変換スクリプト処理部58は、受信部54が受信した状態データに基づき、スキャナ32またはプリンタ33の状態を解析する。そして、変換スクリプト処理部58は、スキャナ32またはプリンタ33の状態に応じたイベントを、制御スクリプト処理部57へと発行する。
制御スクリプト処理部57は、変換スクリプト処理部58からイベントが発行されると、発行されたイベントに対応したユーザインターフェイス情報を発行する。ウェブスクリプト処理部56は、制御スクリプト処理部57から発行されたユーザインターフェイス情報に従ったユーザインターフェイスを表示させる。そして、表示制御部52は、ウェブスクリプト処理部56による制御に応じて、ユーザインターフェイスを操作表示部34から提供する。
なお、第2実施形態に係る画像形成システム75のハードウェア構成は、図2に示されるハードウェア構成と同一である。サーバ装置20の情報提供部22は、CPU101等のプロセッサが記憶装置103に予め記憶されたオペレーティングシステム等を実行することにより、操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトを画像形成装置30に対して提供することができる。
また、画像形成装置30の情報処理部35は、CPU111等のプロセッサが、ネットワーク12を介してサーバ装置20から操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトをダウンロードして、メモリ112上に展開して実行する。このような操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトは、表示制御モジュール、入力モジュール、ウェブスクリプト処理モジュール、制御スクリプト処理モジュールおよび変換スクリプト処理モジュールを含むモジュール構成となっており、CPU111等のプロセッサがこれらを実行することにより、情報処理部35を表示制御部52、入力部53、ウェブスクリプト処理部56、制御スクリプト処理部57および変換スクリプト処理部58として機能させることができる。
図25は、第2実施形態に係る画像形成システム75の処理開始時のシーケンス図である。まず、ユーザは、ブラウザプログラムを実行して、操作プログラムであるHTMLファイルの格納場所を示すURI等をブラウザプログラムに入力して、HTMLファイルのダウンロードを指示する。ユーザによりHTMLファイルのダウンロードが指示されると、ステップS111において、操作表示部34は、ブラウザ部41の入力部53に対して、取得指示を与える。続いて、ステップS112において、入力部53は、その取得要求を通信部51に与える。
続いて、ステップS113において、通信部51は、サーバ装置20に対してHTMLファイルの取得要求を送信する。続いて、ステップS114において、サーバ装置20は、HTMLファイルを含むレスポンスを通信部51に送信する。続いて、ステップS115において、通信部51は、レスポンスからHTMLファイルを抽出し、抽出したHTMLファイルの解析指示を表示制御部52に与える。
表示制御部52は、解析指示を受けると、HTMLファイルを解析する。HTMLファイルには、ウェブスクリプト、制御スクリプトおよび変換スクリプトの呼び出し要求および各スクリプトの格納場所を示すURIが含まれる。そこで、ステップS116において、表示制御部52は、各スクリプトの取得要求を通信部51に与える。なお、HTMLファイルを解析した結果、画像ファイル、CSS、他のスクリプト等が含まれている場合には、表示制御部52は、これらの取得要求も通信部51に与える。
続いて、ステップS117において、通信部51は、サーバ装置20に対して各スクリプトの取得要求を送信する。続いて、ステップS118において、サーバ装置20は、ウェブスクリプト、制御スクリプトおよび変換スクリプト等を含むレスポンスを通信部51に送信する。続いて、ステップS119において、通信部51は、各スクリプトを含むレスポンスを表示制御部52に送信する。
表示制御部52は、各スクリプトの取得要求に対するレスポンスを受信すると、そのレスポンスからウェブスクリプト、制御スクリプトおよび変換スクリプトを抽出する。続いて、ステップS120において、表示制御部52は、抽出したウェブスクリプトの解析指示をウェブスクリプト処理部56に与える。解析指示が与えられると、ウェブスクリプト処理部56は、ウェブスクリプトを解析し、ウェブスクリプトの実行を開始して、ブラウザプログラム上でアプリケーションの提供を開始する。続いて、ステップS121において、ウェブスクリプト処理部56は、解析および提供の開始処理が終了すると、レスポンスを表示制御部52に送信する。
続いて、ステップS122において、表示制御部52は、抽出した制御スクリプトの解析指示を制御スクリプト処理部57に与える。解析指示が与えられると、制御スクリプト処理部57は、制御スクリプトを解析し、制御スクリプトの実行を待機した状態となる。続いて、ステップS123において、制御スクリプト処理部57は、解析が終了すると、レスポンスを表示制御部52に送信する。
続いて、ステップS124において、表示制御部52は、抽出した変換スクリプトの解析指示を変換スクリプト処理部58に与える。解析指示が与えられると、変換スクリプト処理部58は、変換スクリプトを解析し、変換スクリプトの実行を待機した状態となる。続いて、ステップS125において、変換スクリプト処理部58は、解析が終了すると、レスポンスを表示制御部52に送信する。
続いて、ステップS126において、表示制御部52は、HTMLファイルの解析結果に基づき、スキャナ32およびプリンタ33を制御するためのユーザインターフェイスを含む画面を生成する。そして、ステップS127において、表示制御部52は、生成した画面を操作表示部34に表示させる。
以上の処理により、情報処理部35は、HTMLファイル(操作プログラム)、ウェブスクリプト、制御スクリプトおよび変換スクリプトをサーバ装置20から取得することができる。さらに、情報処理部35は、スキャナ32およびプリンタ33を操作および制御するための画面をブラウザプログラム上により表示することができる。
図26は、第2実施形態に係る画像形成システム75のジョブの生成時のシーケンス図である。図25に示すシーケンスの実行が完了した後に、画像形成システム75は、図26に示すシーケンスが実行される。
ユーザは、操作表示部34上に表示されたユーザインターフェイスを操作して、スキャナ32またはプリンタ33に対する動作指示を操作表示部34に与える。例えば、ユーザは、スキャナまたはプリンタの動作開始指示、および、解像度または白黒/カラーの区別等の設定情報、ユーザインターフェイスを操作して操作表示部34に与える。
このような動作指示が与えられると、まず、ステップS131において、操作表示部34は、ブラウザ部41の入力部53に対して、動作指示を与える。続いて、ステップS132において、入力部53は、その動作指示をウェブスクリプト処理部56に与える。動作指示を受けると、ステップS133において、ウェブスクリプト処理部56は、解像度または白黒/カラーの区別等の設定情報の動作条件を生成する。続いて、ステップS134において、ウェブスクリプト処理部56は、動作指示を制御スクリプト処理部57に与える。
続いて、動作指示を受けると、ステップS135において、制御スクリプト処理部57は、制御スクリプトを実行して、ユーザインターフェイス情報を生成する。続いて、ステップS136において、制御スクリプト処理部57は、生成したユーザインターフェイス情報を含めた表示要求をウェブスクリプト処理部56に与える。続いて、ステップS137において、ウェブスクリプト処理部56は、受け取った表示要求に含まれるユーザインターフェイス情報に従ったユーザインターフェイス画面を生成して、表示制御部52に与える。
続いて、ユーザインターフェイス画面を受けると、ステップS138において、表示制御部52は、受け取った画面を操作表示部34に表示させる。
一方、ウェブスクリプト処理部56から動作指示を受けると、ステップS139において、制御スクリプト処理部57は、制御スクリプトを実行して、受け取った動作指示を変換スクリプト処理部58に与える。続いて、制御スクリプト処理部57から動作指示を受けると、ステップS140において、変換スクリプト処理部58は、動作指示に従った処理内容のジョブの生成要求を通信部51に送信する。なお、変換スクリプト処理部58によるジョブ生成時の処理は、第1の実施形態と同様である。続いて、ステップS141において、通信部51は、ジョブの生成要求をプログラムインターフェイス部42に送信する。プログラムインターフェイス部42は、ジョブの生成要求を受信したことに応じて、動作指示に従ったジョブをスキャナ32またはプリンタ33に実行させる。
続いて、ステップS142において、プログラムインターフェイス部42は、スキャナ32またはプリンタ33にジョブを実行させたことに応じて、レスポンスを通信部51に送信する。この場合において、プログラムインターフェイス部42は、ジョブの生成が成功すると、レスポンスに、生成したジョブを識別するジョブID、および、現在のジョブの実行状態を示すジョブ情報を含める。続いて、ステップS143において、通信部51は、受信したレスポンスからジョブIDおよびジョブ情報を抽出して、変換スクリプト処理部58に送信する。続いて、ステップS144において、変換スクリプト処理部58は、ジョブIDおよびジョブ情報を受信すると、ジョブIDを保存するとともに、ジョブIDに対応付けてジョブ情報を保存する。
以上の処理により、情報処理部35は、スキャナ32またはプリンタ33の動作指示を受けると、動作中を示すユーザインターフェイス画面を表示させることができる。さらに、情報処理部35は、スキャナ32またはプリンタ33に動作指示に従ったジョブを実行させることができるとともに、実行させたジョブを識別するジョブIDおよびジョブの実行状態を示すジョブ情報を保存することができる。
図27は、ジョブ生成時の制御スクリプト処理部57の処理フローを示す図である。制御スクリプト処理部57は、ウェブスクリプト処理部56から動作指示を受信すると、ステップS151から処理を開始する。
まず、ステップS151において、制御スクリプト処理部57は、動作指示を受け付ける。続いて、ステップS152において、制御スクリプト処理部57は、動作実行中であることを示すユーザインターフェイス画面を生成するためのユーザインターフェイス情報を生成する。
例えば、制御スクリプト処理部57は、スキャン開始の動作指示を受け取った場合には、図28に示されるような、「スキャン中です。」というメッセージと、キャンセル操作を受け付けることができないことを示す情報とを含むユーザインターフェイス情報を生成する。なお、ユーザインターフェイス情報の生成方法の詳細については、図31でさらに説明する。
続いて、ステップS153において、制御スクリプト処理部57は、ユーザインターフェイスの表示要求をウェブスクリプト処理部56に与える。この場合において、ステップS152で生成したユーザインターフェイス情報を表示要求に含める。
続いて、ステップS154において、制御スクリプト処理部57は、受け取った動作指示を変換スクリプト処理部58へと与える。そして、制御スクリプト処理部57は、本フローを終了する。
図29は、第2実施形態に係る画像形成システム75のイベント発行時のシーケンス図である。図26に示すシーケンスの実行が完了した後に、画像形成システム75は、図29に示すシーケンスが実行される。
まず、ステップS171において、プログラムインターフェイス部42は、ジョブを実行中のスキャナ32またはプリンタ33の状態を状態通知部43に通知する。プログラムインターフェイス部42は、一例として、状態通知部43から要求を受けた場合または定期的に、状態を通知する。
状態通知部43は、プログラムインターフェイス部42からの通知によって、スキャナ32またはプリンタ33によるジョブの実行状態を取得する。続いて、ステップS172において、状態通知部43は、スキャナ32またはプリンタ33のジョブの実行状態を示すジョブ情報を含む状態データを、ブラウザプログラムの受信部54に対して通知する。
続いて、ステップS173において、受信部54は、状態通知部43から状態データが通知されると、変換スクリプトの実行指示を変換スクリプト処理部58に与える。この場合、受信部54は、実行指示に状態データを含める。
続いて、ステップS174において、変換スクリプト処理部58は、変換スクリプトを実行して、状態データに含まれるジョブ情報からジョブの実行状態を解析する。続いて、ステップS175において、変換スクリプト処理部58は、ジョブ情報に示されたジョブの実行状態に基づき、ジョブの実行状態に応じたイベントを、制御スクリプト処理部57に対して発行する。なお、変換スクリプト処理部58によるイベント発行時の処理は、第1の実施形態と同様である。
続いて、ステップS176において、制御スクリプト処理部57は、制御スクリプトを実行して、イベントを解析して、ユーザインターフェイス情報を生成する。続いて、ステップS177において、制御スクリプト処理部57は、生成したユーザインターフェイス情報を含めた表示要求をウェブスクリプト処理部56に与える。続いて、ステップS178において、ウェブスクリプト処理部56は、受け取った表示要求に含まれるユーザインターフェイス情報に従ったユーザインターフェイス画面を生成して、表示制御部52に与える。
続いて、ユーザインターフェイス画面を受けると、ステップS179において、表示制御部52は、受け取った画面を操作表示部34に表示させる。
以上の処理により、情報処理部35は、プログラムインターフェイス部42から、スキャナ32またはプリンタ33によるジョブの実行状態を取得することができる。また、情報処理部35は、スキャナ32またはプリンタ33によるジョブの実行状態に応じたイベントを表示制御部52に与えることができる。情報処理部35は、ジョブの実行状態に応じたイベントにユーザインターフェイス情報を生成する。そして、情報処理部35は、生成したユーザインターフェイス情報に従ってユーザインターフェイス画面を生成する。これにより、情報処理部35は、ジョブの実行状態に適したユーザインターフェイス画面を容易に生成して表示することができる。
図30は、イベント発行時の制御スクリプト処理部57の処理フローを示す図である。制御スクリプト処理部57は、変換スクリプト処理部58からイベントを受信すると、ステップS231から処理を開始する。
まず、ステップS231において、制御スクリプト処理部57は、イベントを受信する。続いて、ステップS232において、制御スクリプト処理部57は、イベントが発行されたことに応じてイベントに対応したユーザインターフェイスを生成するために用いられるユーザインターフェイス情報を生成する。なお、具体的な生成方法については、図31でさらに説明する。
続いて、ステップS233において、制御スクリプト処理部57は、ユーザインターフェイスの表示要求をウェブスクリプト処理部56に与える。この場合において、ステップS232で生成したユーザインターフェイス情報を表示要求に含める。そして、制御スクリプト処理部57は、本フローを終了する。
図31は、イベント発行時の制御スクリプト処理部57のユーザインターフェイス情報の生成処理フローを示す図である。制御スクリプト処理部57は、図27のステップS152および図30のステップS232において、ユーザインターフェイス情報を、例えば図31に示すフローに従って生成する。
まず、ステップS241において、制御スクリプト処理部57は、イベントまたは動作指示を参照して、ユーザインターフェイスを提供する際にユーザに提示するメッセージを生成する。制御スクリプト処理部57は、それぞれのイベントまたは動作指示に対応させて予め作成されているデータを参照して、メッセージを生成する。
続くステップS242〜ステップS247において、制御スクリプト処理部57は、イベントまたは動作指示に基づいて、生成すべきユーザインターフェイスによって、ユーザから受け付けることが可能な操作内容と、操作を受け付けた場合に実行する関数とを生成する。
具体的には、まず、ステップS242において、制御スクリプト処理部57は、生成すべきユーザインターフェイスにおいて、ユーザがキャンセル操作を可能であるか否かを判断する。制御スクリプト処理部57は、ユーザがキャンセル操作を可能である場合(ステップS242のYes)、ステップS243において、キャンセル操作を受けた場合に実行する関数を生成する。制御スクリプト処理部57は、ユーザがキャンセル操作を可能ではない場合(ステップS242のNo)またはステップS243の処理を終えた場合、処理をステップS244に進める。
ステップS244において、制御スクリプト処理部57は、生成すべきユーザインターフェイスにおいて、ユーザが終了の操作を可能であるか否かを判断する。制御スクリプト処理部57は、ユーザが終了の操作を可能である場合(ステップS244のYes)、ステップS245において、終了の操作を受けた場合に実行する関数を生成する。制御スクリプト処理部57は、ユーザが終了の操作を可能ではない場合(ステップS244のNo)またはステップS245の処理を終えた場合、処理をステップS246に進める。
ステップS246において、制御スクリプト処理部57は、生成すべきユーザインターフェイスにおいて、ユーザが継続操作を可能であるか否かを判断する。制御スクリプト処理部57は、ユーザが継続操作を可能である場合(ステップS246のYes)、ステップS247において、継続操作を受けた場合に実行する関数を生成する。制御スクリプト処理部57は、ユーザが継続操作を可能ではない場合(ステップS246のNo)またはステップS247の処理を終えた場合、処理をステップS248に進める。
そして、ステップS248において、制御スクリプト処理部57は、以上の情報に基づいて、ユーザインターフェイス情報を作成する。作成されるユーザインターフェイス情報は、ユーザインターフェイスを提供する際にユーザに提示するメッセージと、ユーザから受け付けることが可能な操作内容と、操作を受け付けた場合に実行する関数とを含む。そして、ステップS248の処理を終えた場合、制御スクリプト処理部57は、本フローを終了する。
図32は、ユーザの操作待ちイベントに対するユーザインターフェイスを生成するために用いられるユーザインターフェイス情報の一例を示す図である。
例えば、スキャナ32によるスキャン動作中に、ユーザによる原稿のセット操作を待っている場合、制御スクリプト処理部57は、図32に示すようなユーザインターフェイス情報を生成する。図32のユーザインターフェイス情報には、「次の原稿をセットしてください。」というメッセージが含まれる。また、図32のユーザインターフェイス情報には、ユーザから受け付けることが可能な操作内容として、キャンセル操作、読み取り終了操作および継続操作を含む。また、図32のユーザインターフェイス情報には、キャンセル操作を受け付けた場合に実行する関数、読み取り終了操作を受け付けた場合に実行する関数、および、継続操作を受け付けた場合に実行する関数を含む。
なお、制御スクリプト処理部57は、ユーザインターフェイス情報として、さらに、エラーの場合、警告を与える場合および正常に終了した場合等に提供するユーザインターフェイスを生成するためのユーザインターフェイス情報を生成してもよい。
図33は、ジャム発生イベントに対するユーザインターフェイスを生成するために用いられるユーザインターフェイス情報の一例を示す図である。ユーザインターフェイス情報には、さらに、機器の状態を識別する識別情報(ID)を含んでもよい。例えば、制御スクリプト処理部57は、与えられたイベントを識別するIDを含んでもよい。これにより、ウェブスクリプト処理部56は、さらに詳細な画面制御をすることが可能となる。例えば、ウェブスクリプト処理部56は、同一のメッセージ(例えば、同一の警告メッセージ)を含むユーザインターフェイス情報を取得した場合であっても、ある特定の警告に対しては、異なる警告メッセージを作成する等の処理をすることができる。
以上のように、本実施形態に係る画像形成システム75は、変換スクリプト処理部58が変換スクリプトを実行することにより、スキャナ32またはプリンタ33のジョブの実行状態を解析し、実行状態に応じたイベントを発行する。さらに、制御スクリプト処理部57がイベントに応じて、ユーザインターフェイスを生成するために必要なユーザインターフェイス情報(メッセージ、関数等)を生成する。そして、表示制御部52がHTMLファイル(操作プログラム)を実行することにより、ユーザインターフェイス情報に応じたユーザインターフェイスを提供する。
従って、本実施形態に係る画像形成システム75は、HTMLファイルで予め作成された、制御スクリプトおよび変換スクリプトを呼び出せば、スキャナ32またはプリンタ33のジョブの実行状態に対応した適切なユーザインターフェイスを提供することができる。従って、本実施形態に係る画像形成システム75によれば、スキャナ32およびプリンタ33の状態を理解するための詳細な知識が無くても、ユーザインターフェイスを提供するためのHTMLファイル(操作プログラム)等を容易に作成することができる。
なお、本実施形態において、変換スクリプト処理部58は、ジョブの実行状態に応じたイベントに限らず、ジョブを実行していないスキャナ32およびプリンタ33の状態に応じたイベントを発行してもよい。状態通知部43は、スキャナ32およびプリンタ33の状態を監視し、スキャナ32およびプリンタ33の状態が変化した場合に、その変化後の状態を示す状態データをブラウザプログラムに通知する。この場合には、図29に示すシーケンスが実行されて、イベントの発行、ユーザインターフェイス情報の発行およびユーザインターフェイスの表示がされる。
図34は、第2実施形態の第1の変形例に係る画像形成システム75の構成を示す図である。なお、第2実施形態の第1の変形例〜第3の変形例では、図24と同様の機能および構成を有する部材は同一の符号を付けて相違点についてのみ説明する。
第2実施形態の第1の変形例に係るサーバ装置20は、メッセージ記憶部59をさらに有する。メッセージ記憶部59は、ユーザインターフェイス情報に含まれるべき複数のメッセージを記憶する。メッセージ記憶部59は、それぞれのメッセージを識別する情報(メッセージID)に対応付けて記憶する。メッセージ記憶部59に含まれる複数のメッセージは、制御スクリプト等とともに情報処理部35によりダウンロードされる。
第2実施形態の第1の変形例においては、ユーザインターフェイス情報には、メッセージに代えて、メッセージ記憶部59内のメッセージを識別するためのメッセージIDが含まれる。そして、ウェブスクリプト処理部56は、ユーザインターフェイス情報を受け取った場合、メッセージIDに基づきメッセージを取得して、画面を生成する。
このような第2実施形態の第1の変形例に係る画像形成システム75によれば、制御スクリプトと、メッセージとが別個に記憶されているので、HTMLファイルの開発者等がメッセージ記憶部59内のメッセージを書き換えることにより、メッセージの内容を変更することができる。
図35は、第2実施形態の第2の変形例に係る画像形成システム75の構成を示す図である。
第2の変形例に係る画像形成システム75は、サーバ装置20と、画像形成装置30と、情報処理装置60とを備える。第2の変形例に係る画像形成装置30は、ネットワークI/F31と、スキャナ32と、プリンタ33と、情報処理部35とを備え、操作表示部34を備えていない。また、情報処理部35は、プログラムインターフェイス部42を有し、ブラウザ部41および状態通知部43を有してない。
情報処理装置60は、ネットワークI/F61と、情報処理部62と、操作表示部34とを有する。ネットワークI/F61は、ネットワークI/F31と同様の機能および構成を有する。情報処理部62は、ブラウザ部41と、状態通知部43とを有する。情報処理部62のハードウェア構成は、情報処理部35と同様である。
そして、第2実施形態の第2の変形例において、プログラムインターフェイス部42は、ネットワーク12を介して、ブラウザ部41および状態通知部43と通信をする。
このような第2実施形態の第2の変形例に係る画像形成システム75によれば、画像形成装置30から操作用の情報処理装置を別体とすることができる。
図36は、第2実施形態の第3の変形例に係る画像形成装置30の構成を示す図である。第3の変形例に係る情報処理部35は、サーバインターフェイス部71と、情報提供部22とをさらに有する。
サーバインターフェイス部71は、ブラウザプログラムから情報提供部22へとアクセスするためのソフトウェアインターフェイスである。このような情報処理部35は、スキャナ32およびプリンタ33と、操作用の情報処理装置と、操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトを記憶する情報提供部22とが一体化されている。
このような第2実施形態の第3の変形例に係る画像形成装置30によれば、ネットワーク12を介してサーバ装置20にアクセスせずに、操作プログラム、ウェブスクリプト、制御スクリプトおよび変換スクリプトを取得することができる。
(第3実施形態)
つぎに、第3実施形態に係る画像形成システム80について説明する。第3実施形態に係る画像形成システム80は、図24から図36を参照して説明した第2実施形態に係る画像形成システム75と略同一の機能および構成を有する。従って、第2実施形態に係る画像形成システム75と略同一の構成および機能を有する部材については、同一の符号を付けて相違点についてのみ説明する。
図37は、第3実施形態に係る画像形成システム80の構成を示す図である。サーバ装置20が有する情報提供部22は、ネットワーク12を介して、画像形成装置30に対して、操作プログラム(例えばHTMLファイル)、ウェブスクリプト、制御スクリプトおよび変換スクリプトに加えて、管理スクリプトをさらに提供する。
管理スクリプトは、ブラウザプログラムからダウンロードされ、ブラウザプログラム上で実行されるプログラムである。本実施形態においては、管理スクリプトは、ブラウザプログラム上で実行されるスクリプトプログラムである。
画像形成装置30が有する情報処理部35は、ブラウザプログラムを実行し、ブラウザプログラム上でサーバ装置20から、操作プログラム、ウェブスクリプト、制御スクリプト、変換スクリプトおよび管理スクリプトをさらにダウンロードする。そして、情報処理部35は、これらのプログラム(管理スクリプト等)をブラウザプログラム上で実行することにより、スキャナ32およびプリンタ33を操作するためのユーザインターフェイスを提供する。
ブラウザ部41は、管理スクリプト処理部81をさらに含む。通信部51は、管理スクリプト等を、サーバ装置20から取得する。
管理スクリプト処理部81は、プロセッサがブラウザプログラム上で管理スクリプトを実行することにより機能する。管理スクリプト処理部81は、変換スクリプト処理部58から発行されるイベントの発行順序を管理する。より具体的には、管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントが、発行済みのイベントよりも前に発行すべきイベントである場合、変換スクリプト処理部58により生成されたイベントを廃棄する。
例えば、管理スクリプト処理部81は、ジョブ毎に、そのジョブに対して発行されるべき複数のイベントと、そのジョブ内におけるそれぞれのイベントの発行順序を示す順序値とを対応付けたテーブルとを管理する。そして、管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントの順序値と、発行済みのイベントに対応付けられた順序値とを比較して、生成されたイベントが、発行済みのイベントより前に発行すべきイベントであるか否かを判断する。これにより、管理スクリプト処理部81は、生成されたイベントが、発行済みのイベントよりも前に発行すべきイベントである場合に、そのイベントを廃棄することができる。
図38は、第3実施形態に係る画像形成システム80の処理開始時のシーケンス図である。図38に示すシーケンスは、第2実施形態の図25に示すシーケンスに対応する。
画像形成装置30からのスクリプトの取得要求(S117)に応じて、ステップS118において、サーバ装置20は、管理スクリプト等を含むレスポンスを通信部51に送信する。続いて、ステップS119において、通信部51は、管理スクリプト等を含むレスポンスを表示制御部52に送信する。
表示制御部52は、スクリプト取得要求に対するレスポンスを受信すると(S119)、そのレスポンスから、管理スクリプトを抽出する。そして、ステップS301において、表示制御部52は、抽出した管理スクリプトの解析指示を管理スクリプト処理部81に与える。解析指示が与えられると、管理スクリプト処理部81は、管理スクリプトを解析し、管理スクリプトの実行を待機した状態となる。続いて、ステップS302において、管理スクリプト処理部81は、解析が終了すると、レスポンスを表示制御部52に送信する。
このようなシーケンスを実行することにより、情報処理部35は、管理スクリプト等をサーバ装置20から取得して、管理スクリプトの実行を待機する状態とすることができる。
図39は、第3実施形態に係る画像形成システム80のイベント発行時のシーケンス図である。図39に示すシーケンスは、第2実施形態の図29に示すシーケンスに対応する。
ステップS175において、変換スクリプト処理部58は、ジョブ情報に示されたジョブの実行状態に基づきイベントを生成し、生成したイベントを管理スクリプト処理部81へと発行する。
続いて、ステップS311において、管理スクリプト処理部81は、管理スクリプトを実行して、変換スクリプト処理部58により生成されたイベントを解析して、生成されたイベントが、同一のジョブについて発行済みのイベントよりも前に発行すべきイベントであるか否かを判断する。管理スクリプト処理部81は、生成されたイベントが、同一のジョブについて発行済みのイベントよりも前に発行すべきイベントである場合には、そのイベントを廃棄して、当該シーケンスを終了させる。
変換スクリプト処理部58により生成されたイベントが、同一のジョブについて発行済みのイベントよりも前に発行すべきイベントではない場合には、続いて、ステップS312において、管理スクリプト処理部81は、そのイベントを、制御スクリプト処理部57に対して発行する。このようなシーケンスを実行することにより、情報処理部35は、予め定められた順序でユーザインターフェイス画面を生成して表示することができる。
図40は、イベント発行時の変換スクリプト処理部58および管理スクリプト処理部81の処理フローを示す図である。図40に示すフローチャートは、図11に示すフローチャートに対応する。
第3実施形態では、ステップS181からステップS190まで、変換スクリプト処理部58は、図11のステップS61からステップS70までと同一の処理を実行する。
ステップS190の処理を終えると、変換スクリプト処理部58は、生成したイベントを管理スクリプト処理部81へと発行する。そして、管理スクリプト処理部81は、変換スクリプト処理部58からイベントを受け取ると、ステップS321の処理を実行する。
ステップS321において、管理スクリプト処理部81は、順序通りのイベントか否かを判断する。すなわち、管理スクリプト処理部81は、生成されたイベントが、同一のジョブについて発行済みのイベントよりも前に発行すべきイベントであるか否かを判断する。管理スクリプト処理部81は、生成されたイベントが、順序通りのイベントではない場合(ステップS321のNo)、本フローを終了する。
管理スクリプト処理部81は、生成されたイベントが、順序通りのイベントである場合(ステップS321のYes)、処理をステップS322に進める。続いて、ステップS322において、管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントを、表示制御部52に対して発行する。管理スクリプト処理部81は、イベントを発行すると本フローを終了する。
図41は、スキャナジョブにおいて発行されるイベントの発行順序の一例を示す図である。
スキャナジョブの生成要求をスキャナ32に与えた場合、変換スクリプト処理部58は、例えば、図41に示されるような順序でイベントを発行する。すなわち、変換スクリプト処理部58は、まず、読み取り開始イベント(S331)を発行し、続いて、1枚目の用紙の読み取り完了イベント(S332)を発行し、続いて、次原稿待ちイベント(S333)を発行する。ユーザにより次の原稿がセットされると、スキャナ32はスキャンを実行する。
続いて、変換スクリプト処理部58は、2枚目の用紙の読み取り完了イベント(S334)を発行する。ユーザにより読み取りの終了操作がされると、続いて、変換スクリプト処理部58は、ファイル生成開始イベントを発行し(S335)、続いて、送信開始イベント(S336)を発行する。そして、最後に、変換スクリプト処理部58は、完了イベント(S337)を発行する。
ところで、変換スクリプト処理部58は、プログラムインターフェイス部42および状態通知部43を介して、スキャナ32の状態を受信し、受信した状態に応じてイベントを発行する。従って、スキャナ32の状態が切り替わっても、直ぐに変換スクリプト処理部58へと情報が通知されなかったり、連続した2つの状態を表す情報が同時に通知されたり、または、連続した2つの状態を表す情報の順番が入れ替わったりする可能性がある。
このような場合、変換スクリプト処理部58は、例えば、図41に示したような、正しい順序でイベントを発行できず、例えば、完了イベント(S337)を発行した後に、送信開始イベント(S336)を発行してしまう可能性がある。このため、ウェブスクリプト処理部56では、ファイルの送信を完了したにも関わらず、「送信中」を示したユーザインターフェイスを表示してしまうという可能性がある。
しかし、第3実施形態では、情報処理部35は、管理スクリプト処理部81を有する。管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントが、発行済みのイベントよりも前に発行すべきイベントであるか否かを判断する。そして、管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントが、発行済みのイベントよりも前に発行すべきイベントである場合には、そのイベントを廃棄する。これにより、管理スクリプト処理部81は、誤った順序でイベントが発行されることを無くすことができる。
図42は、スキャナジョブにおいて発行されるイベントと順序値との対応関係を表すテーブルを示す図である。管理スクリプト処理部81は、一例として、図42に示すような管理テーブルを保持して、イベントの発行順序を管理する。
管理テーブルは、ジョブ毎に、そのジョブについて発行されるべき複数のイベントと、そのジョブ内におけるそれぞれのイベントの発行順序を示す順序値とを対応付けている。
順序値は、一例として、先に発行されるべきイベントに対しては小さい値が割り振られ、後に発行されるべきイベントに対しては大きい値が割り振られる。例えば、最初に発行されるべきイベントの順序値を1とすると、次に発行されるべきイベントの順序値が2、さらに次に発行されるべきイベントの順序値が3といったように割り振られる。なお、順序値は、後に発行されるべきイベントに対して小さい値が割り振られていてもよい。
また、同一の順序値が複数のイベントに割り振られてもよい。同一の順序値が割り振られたイベントは、何れが先に実行されてもよい。
このような管理テーブルを保持する場合、管理スクリプト処理部81は、直前に発行したイベントの順序値を記憶しておく。そして、管理スクリプト処理部81は、変換スクリプト処理部58により生成された現在のイベントの順序値と、発行済みの直前のイベントに対応付けられた順序値とを比較して、現在のイベントの順序値が、直前のイベントの順序値以上であるか否かを判断する。
そして、管理スクリプト処理部81は、現在のイベントの順序値が、直前のイベントの順序値以上であれば、現在のイベントを発行する。また、管理スクリプト処理部81は、最新のイベントの順序値が、直前のイベントの順序値より小さい場合には、現在のイベントを破棄する。これにより、管理スクリプト処理部81は、生成されたイベントが、発行済みのイベントより前に発行すべきイベントであるか否かを判断することができる。
なお、管理スクリプト処理部81は、変換スクリプト処理部58により生成されたイベントが廃棄される場合、最新のイベントではないイベントが生成されたことを示す情報を発行して、制御スクリプト処理部57またはウェブスクリプト処理部56に通知してもよい。これにより、HTMLファイルの開発者等が、最新のイベントではないイベントが生成されたことを示す情報に基づき、より詳細な情報を含むユーザインターフェイスの表示または制御等を実行させることができる。
なお、以上説明した実施形態は、例として提示したものであり、発明の範囲を限定することを意図するものではない。また、これら実施形態は、その他の様々な形態で実施されることが可能である。
また、本発明の一態様として、次のようなプログラムを提供してもよい。すなわち、機器を操作するための情報処理装置により実行されるプログラムであって、前記情報処理装置は、ユーザに対して情報を表示するとともに前記ユーザからの入力を受け付ける操作表示部と、ブラウザプログラムを実行するプロセッサを有する情報処理部と、を備え、前記プログラムは、前記機器を操作するためのユーザインターフェイスを前記操作表示部から提供する操作プログラムおよび変換スクリプトを含み、前記変換スクリプトは、前記プロセッサが前記ブラウザプログラム上で実行することにより、前記機器の状態を解析し、前記機器の状態に応じたイベントを発行し、前記操作プログラムは、前記プロセッサが前記ブラウザプログラム上で実行することにより、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを前記操作表示部から提供する、プログラムを提供してもよい。
また、前記プログラムは、前記機器を操作するためのユーザインターフェイスを前記操作表示部から提供する操作プログラム、制御スクリプトおよび変換スクリプトを含み、前記変換スクリプトは、前記プロセッサが前記ブラウザプログラム上で実行することにより、前記機器の状態を解析し、前記機器の状態に応じたイベントを発行し、前記制御スクリプトは、前記プロセッサが前記ブラウザプログラム上で実行することにより、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを生成するために用いられるユーザインターフェイス情報を発行し、前記操作プログラムは、前記プロセッサが前記ブラウザプログラム上で実行することにより、前記ユーザインターフェイス情報が発行されたことに応じて前記ユーザインターフェイス情報に従った前記ユーザインターフェイスを前記操作表示部から提供するプログラム、であってもよい。
10 画像形成システム
12 ネットワーク
20 サーバ装置
21 ネットワークI/F
22 情報提供部
30 画像形成装置
31 ネットワークI/F
32 スキャナ
33 プリンタ
34 操作表示部
35 情報処理部
41 ブラウザ部
42 プログラムインターフェイス部
43 状態通知部
51 通信部
52 表示制御部
53 入力部
54 受信部
56 ウェブスクリプト処理部
57 制御スクリプト処理部
58 変換スクリプト処理部
59 メッセージ記憶部
60 情報処理装置
61 ネットワークI/F
62 情報処理部
71 サーバインターフェイス部
80 画像形成システム
81 管理スクリプト処理部
101 CPU
102 メモリ
103 記憶装置
111 CPU
112 メモリ
113 記憶装置
114 デバイスI/F
特開2012−105071号公報

Claims (15)

  1. 機器を操作するための情報処理装置であって、
    ユーザに対して情報を表示するとともに前記ユーザからの入力を受け付ける操作表示部と、
    ブラウザプログラムを実行するプロセッサを有する情報処理部と、
    を備え、
    前記情報処理部は、
    前記プロセッサが前記ブラウザプログラムを実行することにより機能し、前記機器を操作するためのユーザインターフェイスを前記操作表示部から提供する操作プログラムおよび変換スクリプトを取得する通信部と、
    前記プロセッサが前記ブラウザプログラム上で前記変換スクリプトを実行することにより機能し、前記機器の状態を解析し、前記機器の状態に応じたイベントを発行する変換スクリプト処理部と、
    前記プロセッサが前記ブラウザプログラム上で前記操作プログラムを実行することにより機能し、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを前記操作表示部から提供する表示制御部と、
    を有する情報処理装置。
  2. 前記情報処理部は、前記ブラウザプログラムから前記機器の動作を制御するためのプログラムインターフェイス部をさらに有し、
    前記変換スクリプト処理部は、ユーザによる前記ユーザインターフェイスに対する動作指示に応じてジョブの生成要求を前記プログラムインターフェイス部に送信し、
    前記プログラムインターフェイス部は、前記ジョブの生成要求を受信したことに応じて、前記ジョブを前記機器に実行させる
    請求項1に記載の情報処理装置。
  3. 前記プログラムインターフェイス部は、前記ジョブを識別するジョブIDを前記変換スクリプト処理部に送信し、
    前記変換スクリプト処理部は、前記ジョブIDを受信して保存する
    請求項2に記載の情報処理装置。
  4. 前記情報処理部は、前記プログラムインターフェイス部から前記ジョブの実行状態を取得して、前記ジョブの実行状態を示すジョブ情報を含む状態データを前記ブラウザプログラムに対して通知する状態通知部をさらに有し、
    前記変換スクリプト処理部は、前記状態データに基づき前記ジョブの実行状態に応じたイベントを発行する
    請求項3に記載の情報処理装置。
  5. 前記変換スクリプト処理部は、
    前記ジョブID毎に前記状態データに含まれる前記ジョブ情報を保存し、
    前記状態データに含まれるジョブ情報を取得したことに応じて、同一のジョブIDに対応して保存された直前のジョブ情報と比較して変化がある場合に、前記ジョブの実行状態に応じたイベントを発行する
    請求項4に記載の情報処理装置。
  6. 前記通信部は、制御スクリプトをさらに取得し、
    前記情報処理部は、
    前記プロセッサが前記ブラウザプログラム上で前記制御スクリプトを実行することにより機能し、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを生成するために用いられるユーザインターフェイス情報を発行する制御スクリプト処理部をさらに有し、
    前記表示制御部は、前記ユーザインターフェイス情報が発行されたことに応じて前記ユーザインターフェイス情報に従った前記ユーザインターフェイスを前記操作表示部から提供する
    請求項1から5の何れか1項に記載の情報処理装置。
  7. 前記情報処理部は、前記ブラウザプログラムから前記機器の動作を制御するためのプログラムインターフェイス部をさらに有し、
    前記変換スクリプト処理部は、ユーザによる前記ユーザインターフェイスに対する動作指示に応じてジョブの生成要求を前記プログラムインターフェイス部に送信し、
    前記プログラムインターフェイス部は、前記ジョブの生成要求を受信したことに応じて、前記ジョブを前記機器に実行させる
    請求項6に記載の情報処理装置。
  8. 前記プログラムインターフェイス部は、前記ジョブを識別するジョブIDを前記変換スクリプト処理部に送信し、
    前記変換スクリプト処理部は、前記ジョブIDを受信して保存する
    請求項7に記載の情報処理装置。
  9. 前記情報処理部は、前記プログラムインターフェイス部から前記ジョブの実行状態を取得して、前記ジョブの実行状態を示すジョブ情報を含む状態データを前記ブラウザプログラムに対して通知する状態通知部をさらに有し、
    前記変換スクリプト処理部は、前記状態データに基づき前記ジョブの実行状態に応じたイベントを発行する
    請求項8に記載の情報処理装置。
  10. 前記変換スクリプト処理部は、
    前記ジョブID毎に前記状態データに含まれる前記ジョブ情報を保存し、
    前記状態データに含まれるジョブ情報を取得したことに応じて、同一のジョブIDに対応して保存された直前のジョブ情報と比較して変化がある場合に、前記ジョブの実行状態に応じたイベントを発行する
    請求項9に記載の情報処理装置。
  11. 前記通信部は、管理スクリプトをさらに取得し、
    前記情報処理部は、
    前記プロセッサが前記ブラウザプログラム上で前記管理スクリプトを実行することにより機能し、前記変換スクリプト処理部から発行されるイベントの発行順序を管理する管理スクリプト処理部を
    さらに有する
    請求項6から10の何れか1項に記載の情報処理装置。
  12. 前記管理スクリプト処理部は、
    前記変換スクリプト処理部により生成された前記イベントが、発行済みのイベントよりも前に発行すべきイベントである場合、生成された前記イベントを廃棄する
    請求項11に記載の情報処理装置。
  13. 前記管理スクリプト処理部は、
    ジョブ毎に、発行されるべき複数のイベントと、それぞれのイベントの発行順序を示す順序値とを対応付けた管理テーブルを保持し、
    前記変換スクリプト処理部により生成された前記イベントの順序値と、発行済みのイベントに対応付けられた順序値とを比較して、生成された前記イベントが、発行済みのイベントより前に発行すべきイベントであるか否かを判断する
    請求項12に記載の情報処理装置。
  14. 機器を操作するための情報処理装置により実行される情報処理方法であって、
    前記情報処理装置は、
    ユーザに対して情報を表示するとともに前記ユーザからの入力を受け付ける操作表示部と、
    ブラウザプログラムを実行するプロセッサを有する情報処理部と、
    を備え、
    前記プロセッサが前記ブラウザプログラムを実行することにより、前記機器を操作するためのユーザインターフェイスを前記操作表示部から提供する操作プログラムおよび変換スクリプトを取得する通信ステップと、
    前記プロセッサが前記ブラウザプログラム上で前記変換スクリプトを実行することにより、前記機器の状態を解析し、前記機器の状態に応じたイベントを発行するスクリプト処理ステップと、
    前記プロセッサが前記ブラウザプログラム上で前記操作プログラムを実行することにより、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを前記操作表示部から提供する表示制御ステップと、
    を含む情報処理方法。
  15. 前記通信ステップでは、制御スクリプトをさらに取得し、
    前記プロセッサが前記ブラウザプログラム上で前記制御スクリプトを実行することにより、前記イベントが発行されたことに応じて前記イベントに対応した前記ユーザインターフェイスを生成するために用いられるユーザインターフェイス情報を発行する制御スクリプト処理ステップをさらに含み、
    前記表示制御ステップでは、前記ユーザインターフェイス情報が発行されたことに応じて前記ユーザインターフェイス情報に従った前記ユーザインターフェイスを前記操作表示部から提供する
    請求項14に記載の情報処理方法。
JP2014250178A 2013-12-19 2014-12-10 情報処理装置および情報処理方法 Active JP6464712B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2014250178A JP6464712B2 (ja) 2013-12-19 2014-12-10 情報処理装置および情報処理方法
PCT/JP2014/083635 WO2015093582A1 (en) 2013-12-19 2014-12-15 Information processing device and information processing method
EP14872317.4A EP3084592A4 (en) 2013-12-19 2014-12-15 INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
RU2016124118A RU2665254C1 (ru) 2013-12-19 2014-12-15 Устройство обработки информации и способ обработки информации
CN201480069043.3A CN105830018B (zh) 2013-12-19 2014-12-15 信息处理设备和信息处理方法
US15/105,307 US9917963B2 (en) 2013-12-19 2014-12-15 Information processing device and information processing method

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2013262978 2013-12-19
JP2013262978 2013-12-19
JP2014046666 2014-03-10
JP2014046666 2014-03-10
JP2014071323 2014-03-31
JP2014071323 2014-03-31
JP2014250178A JP6464712B2 (ja) 2013-12-19 2014-12-10 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2015201167A JP2015201167A (ja) 2015-11-12
JP6464712B2 true JP6464712B2 (ja) 2019-02-06

Family

ID=53402922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014250178A Active JP6464712B2 (ja) 2013-12-19 2014-12-10 情報処理装置および情報処理方法

Country Status (6)

Country Link
US (1) US9917963B2 (ja)
EP (1) EP3084592A4 (ja)
JP (1) JP6464712B2 (ja)
CN (1) CN105830018B (ja)
RU (1) RU2665254C1 (ja)
WO (1) WO2015093582A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10484551B2 (en) 2015-03-18 2019-11-19 Ricoh Company, Limited Information processing apparatus configured to detect settings in a conflicting relation, information processing method, and information processing system
CN105045592A (zh) * 2015-07-24 2015-11-11 北京金山安全软件有限公司 一种图片显示方法以及装置
US10205845B2 (en) * 2015-11-23 2019-02-12 Kabushiki Kaisha Toshiba Image reading using a duplex scanning function

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9930851D0 (en) * 1999-12-24 2000-02-16 Koninkl Philips Electronics Nv Apparatus control system and method
EP1288757A1 (de) * 2001-08-07 2003-03-05 Siemens Aktiengesellschaft Verfahren und Prozessleitsystem zum Betrieb einer technischen Anlage
US7957021B2 (en) 2005-05-20 2011-06-07 Ricoh Company, Ltd. Image handling apparatus, image processing system, image process controlling method, and image process controlling program product
JP4868955B2 (ja) * 2006-06-22 2012-02-01 株式会社リコー 画像処理装置、情報処理装置、サーバ装置、表示制御システム、及び表示制御方法
JP5591040B2 (ja) * 2009-12-11 2014-09-17 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5620674B2 (ja) 2009-12-15 2014-11-05 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
WO2011121723A1 (ja) * 2010-03-30 2011-10-06 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、及びプログラム
JP5623129B2 (ja) * 2010-05-13 2014-11-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2012003637A (ja) * 2010-06-18 2012-01-05 Canon Inc 情報処理システム、その制御方法、及びプログラム
JP5683218B2 (ja) 2010-11-10 2015-03-11 キヤノン株式会社 画像処理装置、情報処理システム、情報処理方法、及びプログラム
JP5743671B2 (ja) * 2011-04-19 2015-07-01 キヤノン株式会社 情報処理装置およびその制御方法
US9087206B2 (en) * 2011-04-20 2015-07-21 Canon Kabushiki Kaisha Information processing apparatus, system, method, and storage medium for executing control operation and indicating completion
JP2013050804A (ja) * 2011-08-30 2013-03-14 Canon Inc 印刷システム、印刷制御方法及びコンピュータプログラム
CN102662646B (zh) * 2012-03-01 2015-09-23 华为技术有限公司 传感数据处理方法及计算节点
US20130232402A1 (en) * 2012-03-01 2013-09-05 Huawei Technologies Co., Ltd. Method for Processing Sensor Data and Computing Node
JP2014092996A (ja) * 2012-11-05 2014-05-19 Canon Inc 情報処理装置、その制御方法、及びプログラム

Also Published As

Publication number Publication date
RU2665254C1 (ru) 2018-08-28
RU2016124118A (ru) 2018-01-24
WO2015093582A1 (en) 2015-06-25
US9917963B2 (en) 2018-03-13
EP3084592A4 (en) 2016-12-07
CN105830018B (zh) 2019-08-23
CN105830018A (zh) 2016-08-03
US20160323463A1 (en) 2016-11-03
EP3084592A1 (en) 2016-10-26
JP2015201167A (ja) 2015-11-12

Similar Documents

Publication Publication Date Title
US8773676B2 (en) Multifunction peripheral, multifunction peripheral control system, and multifunction peripheral control method for preparing information display screen including changing default conditions
JP4897863B2 (ja) 周辺機器の動作パラメータ設定装置及び方法
JP2012171269A (ja) 画像形成装置、情報処理システム、課金方法、プログラム、及び記録媒体
US7904613B2 (en) Network device, network device management method, network device management system
JP6464712B2 (ja) 情報処理装置および情報処理方法
JP2018106373A (ja) サーバー装置、画像処理ユニット及びプログラム
JP2006335046A (ja) 印刷装置及びデータ処理装置
JP5684766B2 (ja) 複合機およびシステム
JP5669510B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6740632B2 (ja) 情報処理システム、画面表示情報生成方法、電子機器及びブラウザプログラム
JP2011137921A (ja) 画面切替方法、画像形成装置、情報処理装置および画面切替制御システム
JP5140351B2 (ja) 情報処理装置
JP4921436B2 (ja) コンテンツのタイトルを表示する通信装置
JP6852591B2 (ja) 入出力デバイス、プログラム及び情報処理システム
JP2020030697A (ja) 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法
JP5040026B2 (ja) 情報処理装置
JP5140349B2 (ja) 情報処理装置
JP5090828B2 (ja) 情報処理装置
JP2009064060A (ja) 情報処理装置
JP5140350B2 (ja) 情報処理装置
JP5084404B2 (ja) 情報処理装置
JP5059523B2 (ja) 情報処理装置
JP5389343B2 (ja) 情報処理装置
JP6119507B2 (ja) プログラム開発支援装置及びプログラム開発支援方法
JP5194271B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R151 Written notification of patent or utility model registration

Ref document number: 6464712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151