以下、本発明の一実施形態に係る動作制御システム、情報処理装置、電気機器、表示画面生成プログラム、及び動作制御プログラムについて図面を参照して説明する。
図1は本発明の一実施形態に係る動作制御システムの第1実施形態を示す図である。動作制御システム10は、複合機1と、サーバコンピュータSV2と、各パーソナルコンピュータ(以下、PC)31乃至34とでなる。但し、動作制御システム10が備える複合機、サーバコンピュータ、及びPCの台数はこれに限定されない。
電気機器及び画像形成装置の一例である複合機1は、コピー機能、ファクシミリ機能、プリンタ機能、スキャナ機能等の機能を兼ね備えている。さらに、複合機1は、スキャナ部で読み取った原稿の文書データを複合機1の内部記憶装置や、LAN(local area network)等によって複合機1にネットワーク接続されたサーバコンピュータSV2、各PC31乃至34内の記憶部等に格納すると共に、複合機1の内部記憶装置、サーバコンピュータSV2及び各PC31乃至34内の記憶部に記憶されているプリント対象データを読み出してプリントアウトする等を行う文書管理機能を備えている。
さらに、複合機1には、LCD(Liquid Crystal Display)からなる表示部50が備えられている。また、サーバコンピュータSV2は、複合機1の表示部50で表示される表示画面の画面データ(以下、画面データという)を生成可能である。複合機1は、サーバコンピュータSV2から、表示部50に表示画面を表示させるために当該画面データを受け取って表示部50に表示する。或いは、複合機1は、表示部50に表示画面を表示させるための画面データを自らが保有し、この画面データを用いて表示部50に表示する。動作制御システム10による上記画面データの生成、複合機1での画面表示、及び複合機1等の動作制御のための構成及び処理は後述する。
次に、サーバコンピュータSV2、PC31乃至34、及び複合機1の内部構成であって、画面データの生成処理、画面表示、及び動作制御に必要な構成を説明する。図2は、第1実施形態に係る動作制御システム10のサーバコンピュータ、PC及び複合機について画面データの生成処理、画面表示、及び動作制御に必要な構成を示す図である。なお、PC31乃至34で表示画面の生成処理に必要な構成は同様であるため、図2にはPC31の構成を示す。
PC31は、制御部310と、記憶部312と、表示部315とを備えている。
記憶部312は、HDD等からなり、当該PC31において表示画面生成を行うための表示画面生成プログラム等が記憶されている。
制御部310は、CPU等からなり、PC31の全体的な動作制御を司ると共に、記憶部312に記憶されている上記表示画面生成プログラムに従って動作することで、ワークフロークリエータ部(以下、WFC部)3100として機能する。WFC部3100は、複合機1の表示部50に表示させる表示画面の画面データを、例えばXML(Extensible Markup Language)形式のデータで生成するツールである。WFC部3100は、当該表示画面を構成する各種ボタン等の各表示対象パーツのカスタマイズを操作者から受け付けて表示画面を生成する処理を行う。
WFC部3100は、パーツ選択指示受付部3101、ジョブ選択指示受付部3102、外部サービス選択指示受付部3103、画面データ生成部3104、レイアウト指示受付部3105として機能する。
パーツ選択指示受付部3101は、複合機1の表示部50の表示画面に表示させる表示対象パーツを選択するパーツ選択指示を操作者から受け付ける。パーツ選択指示受付部3101は、当該表示画面内に操作者からの指示を受け付けるために表示させる例えば操作ボタン、アイコン、文字列等の表示対象パーツの選択を、操作部313(マウス又はキーボード等)を介して操作者から受け付ける。操作者が選択可能な複数の表示対象パーツの画像データは、WFC部3100が記憶している。例えば、操作者により操作部313を介してWFC部3100の起動指示が受け付けられると、パーツ選択指示受付部3101は、表示部315にカスタマイズ受付画面を表示させる。このカスタマイズ受付画面には、上記表示対象パーツが表示され、当該表示中の表示対象パーツから操作者所望の表示対象パーツが操作部の操作で操作者により指定されると、パーツ選択指示受付部3101が、当該指定された表示対象パーツの選択を受け付ける。
ジョブ選択指示受付部3102は、パーツ選択指示受付部3101で受け付けられたパーツ選択指示が示す表示対象パーツに対して関連付ける複合機1で実行可能なジョブの選択指示を、操作部313を介して操作者から受け付ける。当該ジョブは、例えば、複合機1で実行可能なスキャン動作、プリント動作、コピー動作、ファクシミリ動作、これら各動作についての動作設定、表示部50の表示画面切換制御、操作者によって入力された操作者識別情報(操作者ID等)の認証等の各種動作を遂行するためのジョブをいう。但し、当該ジョブをこれらの内容に限定する趣旨ではない。操作者がジョブ選択指示受付部3102により選択可能な複数のジョブは、WFC部3100が記憶している。
外部サービス選択指示受付部3103は、パーツ選択指示受付部3101で受け付けられたパーツ選択指示が示す表示対象パーツに対して、当該表示対象パーツに関連付ける複合機1以外の外部機器(例えば、複合機1にネットワーク接続されたパーソナルコンピュータ等の周辺機器。PC31乃至34であってもよい。)で実行可能なサービスの選択指示を、操作部313を介して操作者から受け付ける。当該サービスは、例えば、当該外部機器で実行可能な画像処理、データアップロード処理、データ保存処理、プリント動作、これら各動作についての動作設定、データ変換処理(OCR処理)等の各種動作を遂行するためのジョブをいう(ここでは、上記複合機1のジョブと区別するため、外部機器のジョブについてはサービスと称する)。但し、当該サービスをこれらの内容に限定する趣旨ではない。操作者が指定可能な複数のサービスは、WFC部3100が記憶している。
なお、パーツ選択指示受付部3101で受け付けられたパーツ選択指示が示す1つの表示対象パーツに対しては、(1)ジョブ選択指示受付部3102又は外部サービス選択指示受付部3103のいずれかにより1つのジョブ又はサービスを関連付けることと、(2)ジョブ選択指示受付部3102及び外部サービス選択指示受付部3103により複数のジョブ及びサービス(ジョブ及びサービスの両方も可能)を関連付けることが可能である。
レイアウト指示受付部3105は、パーツ選択指示受付部3101で受け付けられた表示対象パーツについての上記表示画面内での配置を指示するレイアウト指示を、操作者から操作部313を介して受け付ける。例えば、レイアウト指示受付部3105は、上記表示画面の背景画像のデータ(WFC部3100に記憶されている)を用いて、表示部315に当該表示画面の背景画像を擬似的に表示させ、当該背景画像中における任意の箇所が操作者により操作部313を用いて指定されると、当該指定された箇所を上記指定された表示対象パーツの配置箇所として受け付ける。
画面データ生成部3104は、パーツ選択指示受付部3101で受け付けられたパーツ選択指示、ジョブ選択指示受付部3102で受け付けられたジョブ選択指示、外部サービス選択指示受付部3103で受け付けられたサービス選択指示、及びレイアウト指示受付部3105で受け付けられたレイアウト指示によって定まる内容で、複合機1の表示部50に表示させる表示画面の画面データを例えばXML形式で生成する。
また、画面データ生成部3104は、上記生成した画面データを記憶部312に記憶させる。すなわち、操作者は、上記パーツ選択指示、ジョブ選択指示、サービス選択指示、及びレイアウト指示を入力する操作を行うと、画面データ生成部3104による表示画面生成処理により、複合機1の表示部50に表示させる表示画面を所望通りにカスタマイズして作成することができる。本実施形態では、画面データ生成部3104は、XML形式でScriptファイルに画面データをエクスポートする。なお、本実施形態では、表示画面のデータファイルとしてXML形式のScriptファイルを使用するが、システム構成上は、XML形式以外の他のマークアップ言語であっても構わない。
なお、上記生成された画面データは、複合機1及び複合機1以外の外部機器に予め定められた動作を行わせるために、当該複合機1に、或いは、複合機1及び外部機器に接続されたサーバコンピュータSV2に、予め定められた機能を発揮させる動作制御プログラムとしても解することが可能である。
すなわち、上記生成された画面データは、複合機1又はサーバコンピュータSV2に記憶されると、(1)操作者からの指示を受け付けるために複合機1の表示部50に表示させる表示対象パーツと、当該表示対象パーツに関連付けられた複合機1で実行可能なジョブと、当該表示対象パーツに関連付けられた上記外部機器で実行可能なサービスとで構成される内容で生成された表示用データを、表示部50に表示させるための画面データとして記憶する表示用データ記憶部と、(2)この表示用データ記憶部に記憶されている表示用データに基づいて、表示対象パーツを指定した問い合わせに応じて、当該問い合わせの対象とされる表示対象パーツに関連付けられたジョブ及びサービスを返答する返答部として、複合機1又はサーバコンピュータSV2を機能させ、動作制御プログラムとしての役割を果たす。
操作部313は、マウスポインタ又はキーボード等からなり、操作者による操作で当該操作者からの各種指示を受け付けるものである。
通信部311は、ネットワークを介して少なくともサーバコンピュータSV2との間でデータ入出力を行うインタフェイスである。通信部311は、例えば画面データ生成部3104による指示の下、当該画面データ生成部3104によって記憶部312から読み出された画面データをサーバコンピュータSV2に出力する。
表示部315は、LCD(Liquid Crystal Display)等からなり、制御部310による表示制御により各種の画像を表示する。
パネルシミュレータ部314は、WFC部3100によってエクスポートされた上記Scriptファイルでなる画面データの内容を解析し、表示部315での表示を可能にするために当該画面データをHTML形式のデータに変換するツールである。
また、サーバコンピュータSV2は、CPU等でなる制御ユニット200及びHDD等でなる記憶部22を備え、これらによって、本発明の一実施形態として必要な構成である拡張アプリケーション20が実現される。
拡張アプリケーション20は、主に、通信部21と、記憶部22と、Script Interpreter 23、Business Logic24とを備える。
拡張アプリケーション20は、サーバコンピュータSV2に後から追加インストール可能なアプリケーションである。
記憶部(画面データ記憶部)22は、本発明の一実施形態に係るサーバコンピュータSV2の動作制御プログラム等が記憶されている。また、記憶部22には、PC31において生成されて当該PC31から送信されてきた画面データ(動作制御プログラム)も記憶される。サーバコンピュータSV2の中央制御部であるCPUは、記憶部22に記憶されている各プログラムに従って動作することで、拡張アプリケーション20等として機能する。
通信部21は、ネットワークを介してPC31、複合機1及び外部機器との間でデータ入出力を行うインタフェイスである。通信部(画面データ出力部、パーツ指定指示受信部)21は、PC31等との間で上記各指示や画面データ等を、LAN等を介して送受信すると共に、複合機1との間では、Business Logic24から得た画面データ、制御コマンド、ボタン指定情報等の送受信を行う。
Script Interpreter (データ変換部)23は、複合機1から送信されてくる画面データの出力指示に従って記憶部22から読み出した画面データを、複合機1の表示部50で表示可能な例えばHTML形式データに変換するデータ変換処理と、表示画面内に配置された操作ボタン等の表示対象パーツに関連付けられたアクション(上記ジョブ及びサービス)を実行するためのBusiness Logic24への展開処理とを行う。Script Interpreter 23は、上記表示用にHTML形式への変換処理を行ったデータを、APIを介してBusiness Logic24に渡す。
Business Logic24は、通信部21を介して複合機1のプラットフォーム13に、上記表示用にHTML変換処理が行われたデータを送信する。また、Business Logic24は、上記Script Interpreter 23から得られた情報(表示対象パーツに関連付けられている複合機1のジョブ、外部機器のサービスを示す情報)を基に、複合機1によるアクション(複合機1の動作)を制御する。
すなわち、Business Logic(解析部)24は、複合機1のウェブブラウザ16により表示部50に表示される表示画面に表示されている操作ボタン等の表示対象パーツが操作者により指定されると、いずれの表示対象パーツが指定されたかのパーツ指定指示を、複合機1から通信部21を介して取得し、上記Script Interpreter23から渡された上記情報を基に、上記パーツ指定指示が示す表示対象パーツに設定されているジョブ及びサービスを解析する。そして、Business Logic24は、解析したジョブ及びサービスを実行するために、当該解析したジョブ及びサービスに対応するAPIを呼び出す。すなわち、Business Logic24は、当該解析したジョブ及びサービスを複合機1、或いは外部機器に実行させるための制御コマンドを生成する。例えば、Business Logic24は、解析したジョブがスキャナ機能である場合は、複合機1にスキャナ機能を実行させるための制御コマンドとして、スキャナ送信APIを呼び出す。例えば、Business Logic24は、解析したサービスが画像データの赤目除去処理の画像処理等である場合は、外部機器に赤目除去処理等を実行させるための制御コマンドとして、赤目除去処理等のAPIを呼び出す。
すなわち、複合機1において操作者により指定された表示対象パーツを示すパーツ指定指示を、通信部21(パーツ指定指示受信部)が複合機1から受信した場合に、Business Logic(解析部)24は、Script Interpreter 23を介して、当該受信されたパーツ指定指示が示す表示対象パーツに関連付けられた複合機1のジョブ及び外部機器のサービスを、記憶部22に記憶されている上記画面データが示す表示対象パーツ、ジョブ、及びサービスの対応関係に基づいて解析する。このとき、記憶部22に記憶されている画面データは、Business Logic24及びScript Interpreter 23からの表示対象パーツを指定した問い合わせに応じて、当該問い合わせの対象とされる表示対象パーツに関連付けられたジョブ及びサービスをBusiness Logic24に対して返答する。Business Logic24は、当該解析により得たジョブを通信部(出力部)21から上記複合機1に向けて送信させ、当該解析により得たサービスを通信部(出力部)21から上記外部機器に向けて送信させる。
API(application programming interface)は、ある制御機構で処理を行っている場合に、他のハードウエアやソフトウエアの提供している機能を利用するための手法として提供されるインタフェイスである。本実施形態では、APIは、例えば、(1)複合機1のコントローラ11によって実行される複合機1の上記基本機能をファームウェア以外から実行するためのインタフェイス、(2)外部機器の制御部によって実行される当該外部機器の上記基本機能をファームウェア以外から実行するためのインタフェイスとして用いられる。APIは、複合機1のプラットフォーム13を通じて、或いは、外部機器の通信インタフェイスを通じて、複合機1のファームウェア内のコントローラ11、或いは外部機器のファームウェア内の制御部にアクセスして、複合機1及び外部機器の上記基本機能を実行させる。但し、本実施形態でのAPIの適用は当該例に限られない。
操作部27は、マウスポインタ又はキーボード等からなり、操作者による操作で当該操作者からの各種指示を受け付ける。すなわち、本実施形態では、操作者は、PC31の操作部313又はサーバコンピュータSV2の操作部27を操作することにより、PC3及びサーバコンピュータSV2のいずれにおいても、複合機1の表示部50に表示させる表示画面の生成が可能である。
表示部28は、LCD(Liquid Crystal Display)等からなり、制御ユニット200による表示制御により各種の画像を表示する。
上述したように、本実施形態では、PC31において画面データ生成部3104による画面データ生成までを行い、当該生成した画面データを、通信部311を介してサーバコンピュータSV2に送信し、サーバコンピュータSV2の記憶部22が当該生成された画面データを記憶し、Business Logic24及びScript Interpreter 23が、複合機1からの画面データ出力指示に従って、当該出力指示が示す画面データを記憶部22から読み出し、また、複合機1からのパーツ指定指示が示す表示対象パーツに関連付けられたジョブ及びサービスを複合機1又は外部機器に向けて通信部21から送信させるようにして、サーバコンピュータSV2が上記画面データを管理するサーバ管理型処理を行うシステムを示している。この場合、サーバコンピュータSV2が、特許請求の範囲でいう情報処理装置の一例である。
一方、複合機1は、コントローラ11と、記憶部12と、プラットフォーム13と、仲介アプリ14と、ウェブブラウザ16と、表示部50とを備えている。
コントローラ11は、複合機1の全体的な動作制御を司る。コントローラ11は、ファームウェアとして備えられ、複合機1が有するスキャンデータ送信、印刷、データアクセス、システム設定、ネットワーク通信、JOB制御、データ登録などの基本機能を実行する。
プラットフォーム13は、API(Application Programming Interface)等が動作するための基盤である。プラットフォーム13は、コントローラ11とAPIとを中継する責務も持つ。
さらに、プラットフォーム13は、表示部50での表示対象とされる表示画面の表示用データ(Script Interpreter23によるHTML変換処理後のデータ)や各種指示を、サーバコンピュータSV2からLAN等を介して取得する。
なお、コントローラ11は、例えば、表示部50に表示画面(例えば、図3のアプリケーション選択画面51)等を表示させているときに、タッチパネル機能等により操作者の「スキャン」ボタン511(表示対象パーツの一例)の押下操作があると、プラットフォーム13を介してサーバコンピュータSV2の拡張アプリケーション20に問い合わせを行う。すなわち、コントローラ11は、プラットフォーム13を介して、「スキャン」ボタン511が操作者により指定されたことを示すパーツ指定指示をサーバコンピュータSV2の拡張アプリケーション20に送り、拡張アプリケーション20のBusiness Logic24が、当該パーツ指定指示の示す表示対象パーツ(「スキャン」ボタン511)に対して設定されているジョブ又はサービスを解析する。
なお、この例のように、パーツ指定指示の示す表示対象パーツが「スキャン」ボタン511であり、拡張アプリケーション20のBusiness Logic24において解析されるジョブ又はサービスが「複合機1での表示部50の表示画面を遷移させる」というジョブである場合は、例えば図4に示すスキャン設定画面53への表示画面遷移を可能にするために、拡張アプリケーション20のScript Interpreter 23は、記憶部22に記憶されているScriptファイルでなる画面データの解析及びHTML形式へのデータ変換を開始する。Business Logic24は、当該解析したジョブである表示画面遷移を複合機1に実行させるための制御コマンド(API)を生成する。
記憶部12は、HDD等からなり、コントローラ11として動作させるための動作制御プログラム、ウェブブラウザ16のプログラム等が記憶されている。複合機1の中央制御部であるCPUが、記憶部12に記憶されている各プログラムに従って動作することで、コントローラ11及びウェブブラウザ16等として機能する。
仲介アプリ14は、上記プラットフォーム13がサーバコンピュータSV2から受信した上記HTML変換処理が行われた表示用データを、ウェブブラウザ16で処理可能にするための仲介的な処理を行う。
ウェブブラウザ(Web browser)16は、上記Script Interpreter 23及びBusiness Logic24から得た上記HTML変換処理済みの表示用データを表示部50に表示させる。ウェブブラウザ16は、本実施形態では、拡張アプリケーション20で変換されたHTML変換処理後のファイルが示す画面構成に合わせて表示画面を表示部50に表示し、また、当該表示画面の表示中に、操作者からの指示入力操作を表示部50のタッチパネル機能を介して受け付けるインタフェイスとなる。
表示部50は、LCD(Liquid Crystal Display)等からなり、コントローラ11による表示制御により各種の画像を表示する。
動作制御システム10における画面表示処理及び動作制御について更に説明する。図5は動作制御システム10における画面表示処理及び動作制御を示した概念図である。ここでは、PC31で生成された画面データがサーバコンピュータSV2の記憶部22に記憶され、複合機1の表示部50に表示された表示画面内の表示対象パーツの操作者による押下操作に基づく複合機1の動作制御が、複合機1とサーバコンピュータSV2との間で行われる上述のサーバ管理型処理を例にして説明する。
複合機1では、その電源オンには、ウェブブラウザ16が予め定められた初期表示画面を表示部50に表示させる。
複合機1は、表示画面の切換時等、その表示部50に表示画面を表示させる画面データが必要となるときに、その表示部50に表示画面を表示させる画面データの出力指示を、ウェブブラウザ16及びコントローラ11による制御の下でプラットフォーム13がサーバコンピュータSV2に送信する。
サーバコンピュータSV2のBusiness Logic24(解析部)は、上記出力指示をon load イベントとして、複合機1から受信する。Business Logic24は、このon loadイベントに基づいたon load処理を行う。すなわち、Business Logic24は、当該出力指示が示す表示画面の画面データをScript Interpreter 23を介して記憶部22から読み出し、Script Interpreter 23により当該画面データをHTML形式に変換した上で、通信部21から複合機1のプラットフォーム13に向けて送信させる。
複合機1では、プラットフォーム13が上記HTML形式の上記画面データを受信し、当該受信した画面データをウェブブラウザ16が表示部50に表示させる。
ここで、このウェブブラウザ16による上記表示画面の表示中に、操作者によるタッチパネル機能を利用した操作で、表示画面中のいずれかの表示ボタン(表示対象パーツが当該表示ボタンとして機能している)が押下されると、当該押下された表示対象パーツを示すパーツ指定指示がウェブブラウザ16に受け付けられ、当該パーツ指定指示がウェブブラウザ16からプラットフォーム13及び通信部21等を介して、サーバコンピュータSV2の拡張アプリケーション20のBusiness Logic24に送られる。
Business Logic24は、上記パーツ指定指示が示す表示対象パーツについて、当該表示対象パーツに対応付けられているジョブ又はサービス、或いはその両方(以下、単に「ジョブ等」という)を、記憶部22に記憶されている画面データに基づいて解析する。
Business Logic24が上記パーツ選択指示の示す表示対象パーツに対応付けられているジョブ等が複合機1のジョブであると解析すると、Business Logic24は、当該解析したジョブを複合機1に実行させるために、当該ジョブ等に対応するAPIを、記憶部22に記憶されているミドルウェアが示す複合機制御ロジック(当該複合機1の各動作機構を動作制御するための制御ロジック群でなる)から呼び出し(APIコール)、通信部21に当該APIを複合機1に対して送信させる。ここで、Business Logic24は、上記解析したジョブが、複合機1の各動作機構の動作であるが操作者により新たに作成されて設定されている動作である場合は、記憶部22に記憶されているミドルウェアが示すビジネスロジック(当該操作者により新たに作成されて設定されているジョブの制御ロジック群でなる)に基づいて、当該ジョブに対応するAPIを呼び出し、通信部21に当該APIを複合機1に対して送信させる。
なお、Business Logic24は、上記解析したジョブ等が、複合機1以外の上記外部機器によるサービスである場合は、記憶部22に記憶されているミドルウェアが示すビジネスロジック(当該外部機器の予め定められたサービスの制御ロジック群でなる)に基づいて、当該サービスに対応するAPIを呼び出し、通信部21により、当該APIを当該外部機器に対して送信させる。
複合機1のプラットフォーム13が上記APIを受信すると、当該APIはプラットフォーム13を通じて、複合機1のファームウェア内のコントローラ11にアクセスして、当該APIに対応するジョブを実行させる。或いは、外部機器のインタフェイスが上記APIを受信すると、当該APIはインタフェイスを通じて外部機器のファームウェア内の制御部にアクセスして、当該APIに対応するサービスを実行させる。
図6は、第1実施形態に係る動作制御システム10のPC31及びサーバコンピュータSV2による表示画面作成時の処理を示す図である。当該処理においても上記サーバ管理型処理を例にして説明する。
操作者は、例えば、PC31の操作部313を操作して表示画面作成指示を入力する。当該操作者による表示画面作成指示の入力が制御部310に受け付けられると(P1)、制御部310は、記憶部312に記憶されている表示画面生成プログラムに基づいて、表示画面生成処理を開始させる(P2)。例えば、制御部310は、図7に例を示すような、カスタマイズ受付画面54の表示データを表示部315に表示させる(P3)。このカスタマイズ受付画面54には、ツールボックス領域D0に、記憶部312に記憶されている表示画面生成プログラムが保有している複数の表示対象パーツの一覧が表示される。
例えば、カスタマイズ受付画面54の「設定コントロール」表示部分D1を、操作者がマウスポインタ等でなる操作部313を左クリックで指定する操作等に基づいて、当該表示部分D1に表示されている画像名が示す表示対象パーツを選択する指示を制御部310が受け付けると(P4)、制御部310は、図8に示すように、カスタマイズ受付画面54の一部をなす表示領域D2内に、当該指定された表示対象パーツiを表示する。
そして、マウスポインタ等でなる操作部313を操作者が右クリックで指定する操作等に基づいて、制御部310は、例えば図9に示すように、ジョブ及びサービス名称リスト画面55を表示部315に表示する。例えば、制御部310は、既に表示しているカスタマイズ受付画面54の上にジョブ及びサービス名称リスト画面55を重ねて表示する。
このジョブ及びサービス名称リスト画面55の表示部315での表示中に、操作者による操作部313の操作等により、当該ジョブ及びサービス名称リスト画面55における所望のジョブ名称が表示されている表示部分D3が指定されることにより操作者所望のジョブが選択されると、当該選択指示がジョブ選択指示受付部3102に受け付けられる(P5)。制御部310は、このとき、上記選択されたジョブ名称を表示対象パーツ上に重ねて領域D2に表示してもよい。
さらに、例えば上記マウスポインタ等でなる操作部313の右クリック操作等により、ジョブ及びサービス名称リスト画面55における所望のサービス名称が表示されている表示部分D4が更に指定されることにより操作者所望のサービスが選択されると、当該選択指示が外部サービス選択指示受付部3103に受け付けられる(P6)。制御部310は、このとき、上記選択されたサービス名称を表示対象パーツ上に重ねて領域D2に表示してもよい。
なお、上記P5,P6の処理は、選択的にいずれかのみを行うことも、両方を行うことも可能されている。
例えば、上記一連の処理によれば、操作者は、操作部313を操作することで、上記選択した表示対象パーツに対して、「スキャン動作の実行」及び「スキャンされた画像データのファイルをPC31に送信」というジョブ、「複合機1から受信した当該ファイルの画像データに対して赤目除去処理の画像処理を行う」というサービスを関連付けることが可能である。このため、操作者は、上記複合機1による「スキャン動作の実行」及び「スキャンされた画像データのファイルをPC31に送信」のジョブ、外部機器による「複合機1から受信した当該ファイルの画像データに対して赤目除去処理の画像処理を行う」のサービスを連動して行わせる指示を入力するための操作ボタン(表示対象パーツ)を備えた表示画面の画面データを、操作部313の操作により簡単に作成することが可能になる。
さらに、操作者が、マウスポインタ等でなる操作部313のドラッグ&ドロップ操作により、領域D2に表示されている表示対象パーツを移動させて当該領域D2内における表示対象パーツの表示位置を変更すると、当該操作により変更された表示対象パーツの領域D2内における位置が表示画面内における表示対象パーツの位置を示すレイアウト指示として、当該レイアウト指示がレイアウト指示受付部3104に受け付けられる(P7)。
なお、上記P3乃至P7の処理は、操作者が、PC3において、カスタマイズ受付画面54内の終了ボタン(図略)をマウス等によりクリックし、操作者からの表示画面生成終了指示が入力されるまで、複数の表示対象パーツについてそれぞれの上記ジョブ及びサービスの選択受付処理が繰り返される(P8)。
操作者から上記表示画面生成終了指示が入力されて制御部310に受け付けられると(P8でYES)、この時点で上記ジョブ及びサービスの選択が受け付けられている表示対象パーツと、各表示対象パーツについてのレイアウト指示に従って、各表示対象パーツにそれぞれについて選択されたジョブ及びサービスを関連付けて、画面データ生成部3105が画面データを生成する(P9)。
上記画面データ生成部3105による画面データの生成後、画面データ生成部3105は当該生成された画面データを通信部312によりサーバコンピュータSV2に送信させる(P10)。
サーバコンピュータSV2において、上記生成された画面データが通信部21により受信されると(V1)、制御ユニット200により当該画面データは記憶部22に記憶される(V2)。
また、上記画面データの生成から画面データの記憶までを全てサーバコンピュータSV2で行う場合は、上記P1乃至P9までの処理をサーバコンピュータSV2にて行い、生成された画面データは記憶部22に記憶される。
次に、動作制御システム10による、上記生成された画面データを用いた複合機1の表示部50での表示画面の表示処理、及び操作者からの動作実行指示に基づく複合機1の動作実行制御を説明する。図10は第1実施形態に係る動作制御システム10による、上記生成された画面データを用いた複合機1の表示部50での表示画面の表示処理、及び操作者からの動作実行指示に基づく複合機1の動作実行制御を示すフローチャートである。なお、ここでもサーバ管理型処理を例にして説明する。
なお、サーバコンピュータSV2は、複数台の複合機1と接続している場合、接続されているいずれの複合機1との間でも、以下に示す処理を行って、各複合機1の表示部50に表示画面を表示させ、複合機1の動作実行制御を行うことが可能とされている。
複合機1において、操作者による図略の操作部の操作に基づいて、表示部50に表示画面を表示する必要性が生じると(F1でYES)、コントローラ11は、プラットフォーム13等を介してサーバコンピュータSV2に、当該操作に対応する表示画面の画面データの送信を要求する旨の出力指示を送信する(F2)。
サーバコンピュータSV2において、通信部21が、当該出力指示を受信すると(SS21)、Script Interpreter 23は、当該出力指示の示す画面データ(Scriptファイル)を記憶部22から読み出し(SS22)、読み出した画面データを解析し、表示部50に表示画面を表示するためのHTML変換処理を行う。
すなわち、Script Interpreter 23は、複合機1のウェブブラウザ16による表示部50での表示が可能なデータ形式(本実施形態ではHTML形式)に変換するデータ変換処理を行い、Scriptファイルが示す画面内で表示させるキーの個数や配置に応じて、表示画面の構成要素である画面テンプレート、ボタンテンプレート及び文字列データを表示対象パーツとして用いて、画面やボタンに文字列を当てはめ、当該Scriptファイルが示す表示画面を構成する処理を行う。
続いて、Business Logic24は、Script Interpreter 23から得た上記HTML変換処理後のデータを表示部50での表示が可能となる表示用データとして、通信部21から複合機1のプラットフォーム13に送信する(SS22)。
複合機1のプラットフォーム13がHTML形式データの当該画面データをサーバコンピュータSV2から受信すると(F3)、ウェブブラウザ16が当該画面データを表示部50に表示させる(F4)。
このウェブブラウザ16による上記表示画面の表示中に、操作者によるタッチパネル機能を利用した操作等で、表示部50に表示されている表示画面のいずれかの表示ボタン(表示対象パーツ)が押下されると(F5でYES)、当該押下された表示ボタン(表示対象パーツ)を示すパーツ指定指示が、ウェブブラウザ16からプラットフォーム13を介して、サーバコンピュータSV2に送られる(F6)。
ここで、ウェブブラウザ16は、複合機1で実行可能なジョブと関連付けられた表示ボタン(表示対象パーツ)と、これとは別個とされた、複合機1以外の外部機器で実行可能なサービスと関連付けられる表示ボタン(表示対象パーツ)との両方について、操作者によるパーツ指定指示がそれぞれにされた場合には、当該パーツ指定指示を各表示ボタン(表示対象パーツ)についてそれぞれに受け付ける。この場合には、F6において、当該押下された各表示ボタン(表示対象パーツ)を示すそれぞれのパーツ指定指示が、ウェブブラウザ16からプラットフォーム13を介して、サーバコンピュータSV2に送られる。
サーバコンピュータSV2において、通信部21が、当該パーツ指定指示を受信すると、Business Logic24が、上記Script Interpreter23から渡された情報(記憶部22に記憶されている画面データ(当該パーツ指定指示が示す表示対象パーツを含む表示画面の画面データ))を基に、当該パーツ指定指示の示す表示ボタン(表示対象パーツ)に関連付けられたジョブ及びサービスを解析する(SS23)。
ここで、サーバコンピュータSV2の通信部21が複数のパーツ指定指示を受信した場合には、Business Logic24は、当該複数のパーツ指定指示が示す表示対象パーツに関連付けられたジョブ及びサービスをそれぞれの表示対象パーツ毎に解析する。
例えば、上記図4に示したアプリケーション選択画面51において、表示対象パーツとしての4つの操作ボタン511,512,513,514のうち、「スキャン」ボタン511が操作者により押下され、ウェブブラウザ16により当該操作ボタンの押下が受け付けられると、当該押下された表示ボタン(表示対象パーツ)を示すパーツ選択指示がサーバコンピュータSV2に送られる。
例えば、サーバコンピュータSV2のBusiness Logic24は、当該パーツ選択指示の示す表示対象パーツとしての「スキャン」ボタン511に対応するジョブが、記憶部22に記憶されている画面データを基に、例えば、「スキャン動作の実行」及び「スキャンされた画像データのファイルをPC31に送信」のジョブであることを解析する。
或いは、図4のスキャン設定画面53が表示部50に表示されている場合、「カラー設定」ボタン541が操作者により押下され、ウェブブラウザ16により当該操作ボタンの押下が受け付けられると、当該押下された表示ボタン(表示対象パーツ)を示すパーツ指定指示がサーバコンピュータSV2に送られる。サーバコンピュータSV2において、Business Logic24は、Script Interpreter 23を介して、記憶部22に記憶されている画面データを基に、当該パーツ指定指示の示す表示対象パーツとしての「カラー設定」ボタン541に対応する動作が、例えば、「どのようなカラーモードで印刷を行うかを設定するための操作ボタンを有する表示画面を表示部50に表示させる動作」であることを解析する。
続いて、Business Logic24が、上記解析したジョブを実行するために、当該ジョブに対応するAPIを呼び出し、通信部21を介して、当該APIを複合機1に送信する(SS24)。但し、SS23で、当該複数の表示対象パーツに関連付けられたジョブ及びサービスの解析が行われ、当該複数のジョブが解析された場合には、これら複数のジョブに対応する各APIを呼び出し、通信部21を介して、当該各APIをそれぞれに複合機1に送信する。なお、当該SS24の処理は、SS23において複合機1についてのジョブが解析されなかった場合は行われない。
複合機1のコントローラ11は、プラットフォーム13を介して上記APIを受信し、当該受信されたAPIに従って、指示された動作を実行する(F7)。例えば、上記図3を用いて説明した例の場合、コントローラ11は、上記「スキャン動作の実行」及び「スキャンされた画像データのファイルをPC31に送信」を実行する。例えば、上記図4を用いて説明した例の場合であれば、コントローラ11及びウェブブラウザ16は、上記「どのようなカラーモードで印刷を行うかを設定するための操作ボタンを有する表示画面を表示部50に表示させる動作」を実行し、例えば、サーバコンピュータSV2から送られてくるAPI及び画面データに基づいて図11に示すような、カラー設定を詳細に設定するための操作ボタン(表示対象パーツ)を備えた表示画面58を表示部50に表示させる。
さらに、Business Logic24は、SS23で解析されたサービスを実行するために、当該サービスに対応するAPIを呼び出し、通信部21を介して、当該APIをSS23で解析されたサービスの実行先として設定されている外部機器に送信する(SS25)。外部機器の制御部は、そのインタフェイスを介して上記APIを受信し、当該受信されたAPIに従って、指示されたサービスを実行する。
例えば、Business Logic24は、解析したサービスが「複合機1から受信した当該ファイルの画像データに対する赤目除去処理の画像処理」である場合は、外部機器に当該赤目除去処理等を実行させるための制御コマンドとして、赤目除去処理等のAPIを呼び出す。当該外部機器が赤目除去処理を実行させるための制御コマンドとしてAPIを受信した場合には、外部機器の制御部は当該APIに従って「複合機1から受信した当該ファイルの画像データに対する赤目除去処理の画像処理」を実行する。
但し、SS23で、当該複数の表示対象パーツに関連付けられたジョブ及びサービスの解析が行われ、当該複数のサービスが解析された場合には、これら複数のサービスに対応する各APIを呼び出し、通信部21を介して、当該各APIをそれぞれサービスの実行先として設定されている外部機器に送信する。なお、当該SS25の処理は、SS23において外部機器についてのサービスが解析されなかった場合は行われない。
次に、本発明の一実施形態に係る動作制御システム及び画像形成装置の第2実施形態を説明する。図12は本発明の一実施形態に係る動作制御システムの第2実施形態を示す図である。なお、第1実施形態と同様の構成は説明を省略する。例えば、第2実施形態においてPC31は第1実施形態と同様の構成及び同様の扱いである。
当該第2実施形態に係る動作制御システム10’は、PC31及び複合機1’を備える。動作制御システム10’では、複合機1’は、PC31で生成されて当該PC31から送信されてきた画面データを後述する登録部153に記憶しておき、表示部50での表示画面の表示時に、上記操作者による当該表示画面に基づく操作で表示対象パーツが指定されたとき、当該複合機1’において、操作者により選択された表示対象パーツに関連付けられた動作を解析して実行するものである。
この第2実施形態の場合、PC31において画面データ生成部による画面データ生成処理までを行い、複合機1’は、当該生成された画面データを、通信部21を介して当該生成された画面データをPC31から取得する。但し、当該複合機1’では、登録部153が、PC31から画面データを取得する。このPC31からの画面データの取得は、LAN等によるネットワーク通信に限られず、PC31から電子メールにより複合機1’が取得したり、PC31でUSBメモリ等に保存された画面データを、操作者が複合機1に備えられた図略のメモリインタフェスに読み取らせることにより、複合機1が当該画面データを取得して記憶部12に記憶するものでもよい。
複合機1’は、コントローラ(制御部)11と、記憶部12と、プラットフォーム13と、制御ユニット(Web container )200に備えられた拡張アプリケーション15と、ウェブブラウザ(表示制御部、パーツ指定指示受付部)16とを有している。
複合機1’の拡張アプリケーション15は、主にScript Interpreter 151と、Business Logic152と、登録部153とで構成される。
登録部153は、PC31の通信部311から送られてきた(或いは、上記外部メモリから読み出した)上記Scriptファイルの画面データを、表示部50での表示用データとして登録し、記憶部12に記憶させる。
なお、登録部153及び記憶部12が表示用データ取得部として機能する。
Script Interpreter (解析部)151は、登録部153により記憶部12に登録された上記表示画面データであるScriptファイルのファイルを読み込んで内容を解析する。Script Interpreter 151は、表示部50に表示画面を表示するためのHTML変換処理と、表示画面内に配置された操作ボタン等の表示対象パーツに関連付けられたアクションを実行するためのBusiness Logic152への展開処理とを行う。Script Interpreter 151は、上記表示用にHTML形式への変換処理を行ったデータを、APIを介してBusiness Logic152に渡す。
Business Logic152は、ウェブブラウザ16に、Script Interpreter 151から受け取った上記HTML変換処理済みの表示用データを送信する。また、Business Logic152は、上記Script Interpreter 151から得られた情報(表示対象パーツに関連付けられている複合機1のジョブ、外部機器のサービスを示す情報)を基に、複合機1及び外部機器によるアクション(複合機1及び外部機器の動作)を制御する。
すなわち、Business Logic152は、第1実施形態におけるサーバコンピュータSV2のBusiness Logic24と同様に、複合機1のウェブブラウザ16により表示部50に表示される表示画面に表示されている操作ボタン等の表示対象パーツが操作者によりウェブブラウザ16で指定されると、いずれの表示対象パーツが指定されたかのパーツ指定指示を、ウェブブラウザ16から取得し、上記Script Interpreter151から渡された情報(Script Interpreter151によるScriptファイルの解析で得られた情報(表示対象パーツに関連付けられている複合機1のジョブ、外部機器のサービスを示す情報))を基に、上記パーツ指定指示が示す表示対象パーツに設定されているジョブ又はサービスを解析し、解析したジョブ又はサービスを実行するために、当該解析したジョブ又はサービスに対応するAPIを呼び出す。解析されたジョブはBusiness Logic152からコントローラ11に渡される。解析されたサービスは、Business Logic152からプラットフォーム13に送られ、プラットフォーム13から外部機器に送信される。
記憶部12には、上記画面データ(動作制御プログラムとしても機能)、コントローラ11として動作させるための動作制御プログラム、拡張アプリケーション15のプログラム、ウェブブラウザ16のプログラム等が記憶されている。複合機1’の中央制御部であるCPUが、記憶部12に記憶されている各プログラムに従って動作することで、上記のコントローラ11、拡張アプリケーション15、及びウェブブラウザ16等として機能する。
図13は、第2実施形態に係る動作制御システム10’においてPC31及び複合機1’による表示画面作成時の処理を示す図である。なお、図6において説明した処理と同様の処理は説明を省略する。
図6におけるP1〜P9の処理と同様にして、PC31の画面データ生成部3104により画面データが生成された後、画面データ生成部3104は当該生成された画面データを通信部311(画面データ出力部)により複合機1に送信させる(P11)。
複合機1において、上記生成された画面データが登録部153により受信されると(F11)、登録部153が、当該Scriptファイルでなる表示画面データを、表示部50での表示用データとして登録し、記憶部12に記憶させる(F12)。
次に、第2実施形態に係る動作制御システム10’において複合機1における、上記PC31で生成された表示画面の表示部50での表示処理、及び操作者からの動作実行指示の受付処理を説明する。図14は第2実施形態に係る動作制御システム10’において複合機1における、上記PC31で生成された表示画面の表示部50での表示処理、及び操作者からの動作実行指示の受付処理を示すフローチャートである。
上述したように、記憶部12には、PC31から受信した画面データ(Scriptファイル)が記憶部12されている。
ここで、操作者による複合機1’の操作部の操作等により、表示部50に表示画面を表示させる必要が生じると、Script Interpreter 151が、複合機1のプラットフォーム13がPC31から受信した画面データ(Scriptファイル)を記憶部12から読み出す(F21)。
Script Interpreter 151は、当該読み出した画面データを解析し、表示部50に表示画面を表示するためのHTML変換処理と、表示画面内に配置された表示対象パーツに関連付けられたジョブ及びサービスを実行するためのBusiness Logic152への展開処理とを行う(F22)。
続いて、Business Logic152は、Script Interpreter 151から得た上記HTML変換処理後のデータを表示部50での表示が可能となるように解析し、ウェブブラウザ16に渡す(F23)。ウェブブラウザ16は、当該受け取った画面データを表示部50に表示させる(F24)。
このウェブブラウザ16による上記表示画面の表示中に、操作者によるタッチパネル機能を利用した操作等で、表示部50に表示されている表示画面のいずれかの表示ボタン(表示対象パーツ)が押下されると(F25でYES)、当該押下された表示ボタン(表示対象パーツ)を示すパーツ指定指示が、ウェブブラウザ16から、拡張アプリケーション15のBusiness Logic152に送られる。
ここで、ウェブブラウザ16は、複合機1で実行可能なジョブと関連付けられた表示ボタン(表示対象パーツ)と、これとは別個とされた、複合機1以外の外部機器で実行可能なサービスと関連付けられる表示ボタン(表示対象パーツ)の両方について、操作者によるパーツ指定指示がそれぞれにあった場合には、当該パーツ指定指示を各表示ボタン(表示対象パーツ)についてそれぞれに受け付ける。この場合には、ウェブブラウザ16は、F26において、当該押下された各表示ボタン(表示対象パーツ)を示すそれぞれのパーツ指定指示を、拡張アプリケーション15のBusiness Logic152に送る。
Business Logic152は、上記パーツ指定指示を受信すると、上記Script Interpreter151から渡された情報(記憶部12に記憶されている画面データ(当該パーツ指定指示が示す表示対象パーツを含む表示画面の画面データ))を基に、当該パーツ指定指示の示す表示ボタン(表示対象パーツ)に関連付けられたジョブ又はサービスを解析する(F26)。
続いて、Business Logic152は、上記解析したジョブを実行するために、当該ジョブに対応するAPIを呼び出し、当該APIをコントローラ11に渡す(F27)。但し、F26で、当該複数の表示対象パーツに関連付けられたジョブ及びサービスの解析が行われ、当該複数のジョブが解析された場合には、これら複数のジョブに対応する各APIを呼び出し、当該各APIをそれぞれにコントローラ11に渡す。但し、当該F27の処理は、F26において複合機1が実行すべきジョブが解析されなかった場合は行われない。
コントローラ11は、当該受け取ったAPIに従って、指示されたジョブを実行する(F28)。
さらに、Business Logic152は、F26で解析されたサービスを実行するために、当該サービスに対応するAPIを呼び出し、プラットフォーム13から、当該APIを、F26で解析されたサービスの実行先として設定されている外部機器に送信する(F29)。外部機器の制御部は、そのインタフェイスを介して上記APIを受信し、当該受信されたAPIに従って、指示された動作を実行する。すなわち、Business Logic152及びプラットフォーム13が出力部の一例となる。但し、F26で、当該複数の表示対象パーツに関連付けられたジョブ及びサービスの解析が行われ、当該複数のサービスが解析された場合には、これら複数のサービスに対応する各APIを呼び出し、当該各APIをそれぞれに、F26で解析されたサービスの実行先として設定されている外部機器に送信する。
但し、当該F29の処理は、F26において外部機器についてのサービスが解析されなかった場合は行われない。
なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。図15は、第1実施形態に係る動作制御システム10の変型例を示す図である。第1実施形態に係る動作制御システム10では、PC31のWFC部3100が上記画面データ生成処理を行うが、図15に示すように、サーバコンピュータSV2の記憶部に表示画面生成プログラムが記憶され、サーバコンピュータSV2の制御ユニット200が、上述したパーツ選択指示受付部、ジョブ選択指示受付部、外部サービス選択指示受付部、レイアウト指示受付部、画面データ生成部、画面データ記憶部と同様の、パーツ選択指示受付部251、ジョブ選択指示受付部252、外部サービス選択指示受付部253、レイアウト指示受付部255、画面データ生成部254を有するWFC部25を備え、このWFC部25が上記画面データ生成処理を行うようにしてもよい。なお、パネルシミュレータ部26は、PC31から受信した上記Scriptファイルでなる画面データ等の内容を解析し、表示部28での表示を可能にするために当該画面データをHTML形式のデータに変換するツールである。この場合、PC31は不要であり、サーバコンピュータSV2が、特許請求の範囲における情報処理装置の一例となる。
上記図1乃至図15に示した構成及び処理は、本発明の実施形態の例示に過ぎず、本発明を上記実施形態に限定する趣旨ではない。例えば、複合機1又は1’においてはプラットフォーム13がPC31又はサーバコンピュータSV2の通信を行うものとして説明しているが、複合機1又は1’はプラットフォーム13とは別個に、PC31又はサーバコンピュータSV2の通信を行う通信部を有し、当該通信部がPC31又はサーバコンピュータSV2との通信を担当することとしてもよい。
また、上記複合機1及び画像形成装置は、本発明に係る又は本発明を構成する電気機器の一例に過ぎず、本発明に係る又は本発明を構成する電気機器は、複合機1及び画像形成装置以外の他の電気機器であっても構わない。