JP2011008488A - 画像形成装置、情報処理方法、及びプログラム - Google Patents
画像形成装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2011008488A JP2011008488A JP2009150818A JP2009150818A JP2011008488A JP 2011008488 A JP2011008488 A JP 2011008488A JP 2009150818 A JP2009150818 A JP 2009150818A JP 2009150818 A JP2009150818 A JP 2009150818A JP 2011008488 A JP2011008488 A JP 2011008488A
- Authority
- JP
- Japan
- Prior art keywords
- application
- screen
- unit
- information processing
- screen generation
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00127—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
- H04N1/00278—Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00405—Output means
- H04N1/00408—Display of information to the user, e.g. menus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/0035—User-machine interface; Control console
- H04N1/00501—Tailoring a user interface [UI] to specific requirements
- H04N1/00503—Customising to a particular machine or model, machine function or application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00912—Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
- H04N1/0096—Simultaneous or quasi-simultaneous functioning of a plurality of operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
- H04N2201/0034—Details of the connection, e.g. connector, interface
- H04N2201/0037—Topological details of the connection
- H04N2201/0039—Connection via a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0008—Connection or combination of a still picture apparatus with another apparatus
- H04N2201/0034—Details of the connection, e.g. connector, interface
- H04N2201/0046—Software interface details, e.g. interaction of operating systems
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】操作場所の相違に関するアプリケーションの実装への影響を軽減すること。
【解決手段】操作パネルに表示させる画面を生成し、該画面を操作パネルに表示させる第一の画面生成手段と、ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを情報処理装置に送信させる第二の画面生成手段と、前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じて、該実行要求の入力元に応じて前記第一の画面生成手段又は前記第二の画面生成手段を前記アプリケーションの利用対象として選択するアプリケーション管理手段とを有し、前記画面生成手段は、共通のインタフェースによって画面の生成要求を受け付け、前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手段によって選択された前記画面生成手段に対して画面の生成要求を入力する。
【選択図】図3
【解決手段】操作パネルに表示させる画面を生成し、該画面を操作パネルに表示させる第一の画面生成手段と、ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを情報処理装置に送信させる第二の画面生成手段と、前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じて、該実行要求の入力元に応じて前記第一の画面生成手段又は前記第二の画面生成手段を前記アプリケーションの利用対象として選択するアプリケーション管理手段とを有し、前記画面生成手段は、共通のインタフェースによって画面の生成要求を受け付け、前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手段によって選択された前記画面生成手段に対して画面の生成要求を入力する。
【選択図】図3
Description
本発明は、画像形成装置、情報処理方法、及びプログラムに関し、特にアプリケーションを実行可能な画像形成装置、情報処理方法、及びプログラムに関する。
従来、プリンタ、コピー機、ファクシミリ、スキャナ、及び複合機等の画像形成装置に対するユーザによる操作指示の入力は、各機器が備える操作パネルを介して行われていた。しかし、近年のネットワーク技術の進歩により、画像形成装置に関してもネットワークを介した遠隔的なユーザインタフェースが可能とされている(例えば、特許文献1)。
他方において、主に複合機と呼ばれる画像形成装置において、アプリケーションを動作させるためのプラットフォームを有し、当該プラットフォームが提供するAPI(Application Program Interface)が公開されているものがある(例えば、特許文献2)。このような画像形成装置対しては、上記APIを利用して、画像形成装置のメーカー以外の外部のソフトウェアベンダ等によっても新たなアプリケーションの開発及びインストールが可能となる。
上記のようなプラットフォームを有する画像形成装置においては、多種多様なアプリケーションが開発され、市場に提供されることが望ましい。多種多様なアプリケーションを利用可能であることが画像形成装置の価値をより高めるからである。そのためには、プラットフォーム上におけるアプリケーションの開発が容易であることが求められる。すなわち、各ソフトウェアベンダにおけるアプリケーションの開発負担が少ないことが求められる。
近年のように、画像形成装置上のアプリケーションが操作パネルから(ローカルから)のみではなく、ネットワークを介して(リモートから)も利用されることが要求される状況において、プラットフォーム上で動作する各アプリケーションに、操作場所(ローカル又はリモート)の相違を意識させるは好ましくない。操作場所の相違は、単に、入力情報の入力元及び出力情報(処理結果)の出力先が異なるだけでなく、ユーザによる利用形態に大きな変化をもたらし、当該変化に対応するための実装が必要とされるからである。
すなわち、操作パネルを介して利用される場合、アプリケーションは、同時に利用するユーザは、常に一人であることを前提として実装されればよい。一方、ネットワークを介して利用される場合、仕様上の制限としてユーザ数を制限しない限り、不特定多数のユーザより同時に利用される可能性がある。具体的には、ユーザAが操作パネルを介してアプリケーションaを利用している最中に、ユーザBがネットワークを介してアプリケーションaを利用する可能性がある。更に、ユーザCも同時にネットワークを介してアプリケーションaを利用する可能性がある。複数のユーザによって同時に利用される場合、各アプリケーションは各ユーザに対してそれぞれ矛盾のない処理を実行することが要求される。
なお、特許文献1に記載された技術は、画像形成装置の操作方法を遠隔的にサポートするためのものであり、上記のような複数ユーザによる同時利用は考慮されていないものと考える。すなわち、特許文献1において、操作パネルにおいて操作するユーザと、遠隔的に誘導を行うオペレータは、一つのアプリケーション(アプリケーションの起動単位)を共に操作するものである。したがって、二人のユーザが操作パネルを利用して相談しながら一つのアプリケーションを共に実行している形態と実質的に同じであると考える。
本発明は、上記の点に鑑みてなされたものであって、操作場所の相違に関するアプリケーションの実装への影響を軽減することのできる画像形成装置、情報処理方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、操作パネルに表示させる画面を生成し、該画面を前記操作パネルに表示させる第一の画面生成手段と、ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを前記情報処理装置に送信させる第二の画面生成手段と、前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じて、該実行要求の入力元に応じて前記第一の画面生成手段又は前記第二の画面生成手段を前記アプリケーションの利用対象として選択するアプリケーション管理手段とを有し、前記第一の画面生成手段及び前記第二の画面生成手段は、共通のインタフェースによって画面の生成要求を受け付け、前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手段によって選択された前記第一の画面生成手段又は前記第二の画面生成手段に対して画面の生成要求を入力する。
このような画像形成装置では、操作場所の相違に関するアプリケーションの実装への影響を軽減することができる。
本発明によれば、操作場所の相違に関するアプリケーションの実装への影響を軽減することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、画像形成装置10と情報処理装置20a及び20b等とは、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)を介して通信可能に接続されている。
画像形成装置10は、プリンタ、スキャナ、コピー機、ファクシミリ、又は複合機等である。本実施の形態では複合機であるとする。情報処理装置20a又は20b(以下、双方を区別しない場合「情報処理装置20」という。)は、一般的なPC(Personal Computer)等のコンピュータであってもよいし、PDA(Personal Digital Assistance)又は携帯電話等の携帯型の端末であってもよい。本実施の形態において、情報処理装置20は、画像形成装置10の操作パネル上と同様のユーザインタフェースを提供することが可能である。具体的には、情報処理装置20は、画像形成装置10の操作パネルに表示される画面と同様の画面を表示させ、当該画面を介して画像形成装置10に対する操作指示を受け付けることが可能である。
なお、複数の画像形成装置10がネットワークに接続されていてもよい。また、更に多数の情報処理装置20がネットワークに接続されていてもよい。
図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、印刷画像を印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。
図3は、本発明の実施の形態における画像形成装置及び情報処理装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ1210、SDKアプリ1220、SDKプラットフォーム1230、及びサービス層1240等のソフトウェアを有する。
標準アプリ1210は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションの集合である。同図では、スキャンアプリ1211、プリンタアプリ1212、コピーアプリ1213、及びFAXアプリ1214が例示されている。スキャンアプリ1211は、スキャンジョブを実行する。プリンタアプリ1212はネットワークを介して印刷データを受信し、受信された印刷データに基づいて印刷ジョブを実行する。すなわち、画像形成装置10の印刷ポート宛に送信される印刷データは、プリンタアプリ1212によって処理される。コピーアプリ1213は、コピージョブを実行する。FAXアプリ1214は、FAXの送信ジョブ又は受信ジョブを実行する。
サービス層1240は、各種のハードウェアリソースの制御機能や管理情報等の管理機能等を上位アプリケーション等に対して提供する部分である。同図において、サービス層1240は、オペパネ制御部1241、印刷ジョブキュー1242、及びプリンタ制御部1243等を含む。
オペパネ制御部1241は、操作パネル15に対する画面の表示(描画)を行う。オペパネ制御部1241は、また、操作パネル15に対する入力(ボタンの押下等)等を検知し、入力イベントの発行を行う。なお、「オペパネ」は、操作パネル(オペレーションパネル)の略語である。印刷ジョブキュー1242は、サービス層1240より上位のソフトウェアモジュールより印刷ジョブ(印刷データ)の入力を受付、RAM112又はHDD114を利用して印刷ジョブを0〜複数個保持(蓄積)する。プリンタ制御部1243は、印刷ジョブキュー1242に保持されている印刷ジョブに基づいて、プリンタ13を制御し、印刷用紙への出力(印刷)を実行する。プリンタ制御部1243は、また、プリンタ13による印刷処理の進捗状況や実行結果(正常終了又は異常終了等)を印刷イベントとして印刷イベント管理部1235へ通知する。なお、スキャナ12を制御してスキャンを実行するスキャナ制御部及びモデム14を制御してFAX送受信を実行するFAX制御部等も存在するが、本実施の形態では印刷ジョブを実行する場合を例として説明するため、図示は省略されている。
SDKアプリ1220は、画像形成装置10の出荷後において、画像形成装置10の機能拡張を図るためのプラグインとして追加的にインストールされるアプリケーションである。同図では、SDKアプリ1220として、蓄積文書印刷アプリ1221が例示されている。
蓄積文書印刷アプリ1221は、画像形成装置10のHDD114に保存(蓄積)されている画像データの印刷ジョブを制御するSDKアプリ1220である。当該画像データは、例えば、スキャナ12によって読み取られたり、ネットワークを介して受信されたりすることによりHDD114に蓄積される。
SDKプラットフォーム1230は、SDKアプリ1220の実行環境を提供する。すなわち、SDKプラットフォーム1230上で動作するアプリケーションがSDKアプリ1220である。各SDKアプリ1220は、SDKプラットフォーム1230が提供するAPI(Application Program Interface)を介して画像形成装置10の各種の機能を利用する(実行させる)ことができる。例えば、当該API(以下、「SDKAPI」という。)は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等を含む。
同図において、SDKプラットフォーム1230は、印刷処理依頼部1231、操作イベント処理部1232、ローカル画面生成部1233、リモート画面生成部1234、印刷イベント管理部1235、印刷ジョブ対応テーブル1236、アプリ管理部1237、アプリ対応テーブル1238、及びサーバ通信部1239等を含む。各部は、例えば、ソフトウェアコンポーネントとして実装されてもよいし、オブジェクト指向プログラミングにおけるクラスとして実装されてもよい。以下、各部を「モジュール」ともいう。各部の中で、印刷処理依頼部1231、操作イベント処理部1232、及びローカル画面生成部1233若しくはリモート画面生成部1234は、印刷ジョブを実行するSDKアプリ1220(例えば、蓄積文書印刷アプリ1221)の起動単位(例えば、スレッド又はプロセス)又はインスタンス単位(以下、「実行単位」によって総称する。)ごとにロード(インスタンス化)される。したがって、異なる実行単位に対してロードされた印刷処理依頼部1231、操作イベント処理部1232、及びローカル画面生成部1233若しくはリモート画面生成部1234は、自らが属するSDKアプリ1220の処理状態に応じて異なる内部状態を有する。
印刷処理依頼部1231は、印刷処理の実行要求を受け付けるためのSDKAPIをSDKアプリ1220に対して提供する。印刷処理依頼部1231は、SDKアプリ1220からの印刷処理の実行要求に基づいて、印刷ジョブを印刷イベント管理部1235に投入(入力)する。印刷処理依頼部1231は、また、印刷イベント管理部1235より通知される印刷イベントをSDKアプリ1220に伝達する。
操作イベント処理部1232は、操作パネル15又は情報処理装置20に表示される画面(SDKアプリ1220の操作画面)に関する操作イベントに応じた処理を実行する。
ローカル画面生成部1233及びリモート画面生成部1234は、画面を生成等するためのSDKAPIをSDKアプリ1220に対して提供する。ローカル画面生成部1233は、当該SDKAPIを介して入力される画面の生成要求に応じて操作パネル15に対応した形式の画面データを生成する。リモート画面生成部1234は、当該SDKAPIを介して入力される画面の生成要求に応じて情報処理装置20の画面制御部22に対応した形式の画面データを生成する。なお、ローカル画面生成部1233及びリモート画面生成部1234が提供するSDKAPIは、共通のものである。したがって、SDKアプリ1220は、ローカル画面生成部1233及びリモート画面生成部1234を区別なく利用することができる。
印刷イベント管理部1235は、印刷処理依頼部1231から入力される印刷ジョブを印刷ジョブキュー1242に入力する。印刷イベント管理部1235は、また、プリンタ制御部1243が発行する印刷イベントを受信し、印刷処理依頼部1231に通知する。
印刷ジョブ対応テーブル1236は、印刷ジョブと印刷ジョブの実行要求元(SDKアプリ1220)との対応情報が記録されるテーブルであり、例えば、RAM112又はHDD114内に生成される。印刷ジョブ対応テーブル1236において、印刷ジョブの実行要求元は、SDKアプリ1220の種類(名前)ごとではなく実行単位ごとに区別される。具体的には、同じ蓄積文書印刷アプリ1221であっても、実行単位が異なれば異なるものとして扱われる。すなわち、本実施の形態の画像形成装置10は、情報処理装置20からもSDKアプリ1220を利用することが可能であり、同一種類のSDKアプリ1221が同時期に複数起動される可能性が有るからである。印刷ジョブ対応テーブル1236は、印刷イベント管理部1235が印刷イベントの通知先を判定するために用いられる。したがって、印刷ジョブの実行要求元の識別情報としては、例えば、印刷イベントの通知用の関数又はメソッドのアドレス値(メモリ情報アドレス)等を利用してもよい。また、所定の通信プロトコルを利用して印刷イベントを通知するのであれば、当該通信プロトコルに応じた識別子(例えば、ポート番号やURL(Uniform Resource Locator)等)であってもよい。本実施の形態において、当該関数又はメソッドは、印刷処理依頼部1231に実装されている。上記したように、印刷処理依頼部1231は、SDKアプリ1220の実行単位にロードされる。したがって、異なる実行単位にロードされた印刷処理部の関数のアドレス値は異なるものとなる。
アプリ管理部1237は、SDKアプリ1220の起動制御や、起動されたSDKアプリ1220に関する状態の管理等を行う。
アプリ対応テーブル1238は、SDKアプリ1220の実行単位ごとに、操作場所(利用者)との対応情報が記録されるテーブルであり、例えば、RAM112又はHDD114内に生成される。アプリ対応テーブル1238は、SDKアプリ1220からの要求に応じてローカル画面生成部1233又はリモート画面生成部1234によって生成される画面データの出力先の識別に利用される。アプリ対応テーブル1238は、また、画面データに基づいて表示される画面に対する操作イベントの通知先の実行単位の識別に利用される。操作場所の識別情報は、各情報処理装置20と操作パネル15とを識別可能な情報であればよい。例えば、情報処理装置20に関してはIPアドレス、操作パネル15に関しては操作パネル15に対応した識別子(例えば、画像形成装置10のIPアドレス)であればよい。
サーバ通信部1239は、ネットワーク通信を制御する。サーバ通信部1239は、基本的に情報処理装置20からのリクエスト(要求)を受信し、当該リクエストに対するレスポンス(応答)を情報処理装置20に返信する。本実施の形態において、情報処理装置20からのリクエストは、画面の取得要求又は画面に対する操作イベント等であり、レスポンスは、画面データ等である。すなわち、本実施の形態において、情報処理装置20は、表示された画面に対する入力に応じて実行すべき業務ロジック(印刷ジョブ等)については関与しない。情報処理装置20は、画面に対して行われた操作の内容をそのまま画像形成装置10に通知する。したがって、情報処理装置20に提供される画面データが、操作パネル15に表示される画面と同様又は同等の画面を表示させるものであれば、情報処理装置20における操作感は、操作パネル15における操作感と同様のものとなる。なお、リクエストとは非同期なイベントを通知するためのメッセージがサーバ通信部1239より情報処理装置20へ送信されてもよい。
一方、情報処理装置20は、クライアント通信部21及び画面制御部22等を有する。クライアント通信部21は、画像形成装置10に対してリクエストを送信し、画像形成装置10からのレスポンスを受信する。画面制御部22は、画像形成装置10からのリクエストに含まれている画面データに基づく画面の表示や、表示された画面に対する入力イベントに応じた処理を行う。画面データの一例として、HTML(HyperText Markup Language)データが挙げられる。HMLデータを利用する場合、画面制御部22及びクライアント通信部21は、Webブラウザによって実現されてもよい。
以下、画像形成装置10及び情報処理装置20による処理の処理手順について説明する。まず、一台の情報処理装置20と画像形成装置10の操作パネル15とを介して、異なるユーザによって並行して蓄積文書印刷アプリ1221が利用される場合について説明する。
図4は、情報処理装置及び操作パネルからの蓄積文書印刷アプリの起動時の処理手順を説明するためのシーケンス図である。同図の説明において、情報処理装置20aを介して利用するユーザを「ユーザA」といい、画像形成装置10の操作パネル15を介して利用するユーザを「ユーザB」という。
情報処理装置20aにおいて、ユーザAによって蓄積文書印刷アプリ1221の利用要求(実行要求)が入力されると、情報処理装置20aのクライアント通信部21は、蓄積文書印刷アプリ1221の画面データの取得要求を画像形成装置10に送信する(S101)。当該画面データの取得要求には、例えば、蓄積文書印刷アプリ1221の識別子(アプリID)、及び情報処理装置20aの識別情報(例えば、IPアドレス)が含まれている。但し、情報処理装置20ごとにユーザが異なることが保証される環境においては、情報処理装置20aの識別情報の代わりにユーザAの識別情報(例えば、ユーザ名)が画面データの取得要求に含まれてもよい。また、当該画面データの取得要求は、例えば、ステップS101より前に表示されている、アプリケーションの選択画面において、蓄積文書印刷アプリ1221に対応するボタンがクリックされることにより送信される。なお、各情報処理装置20には、例えば、画像形成装置10のIPアドレスが予め記憶されている。
画像形成装置10のサーバ通信部1239は、蓄積文書印刷アプリ1221の画面データの取得要求を受信すると、当該取得要求をアプリ管理部1237に通知する(S102)。アプリ管理部1237は、当該取得要求に含まれている情報処理装置20aの識別情報に対応する実行単位識別情報をアプリ対応テーブル1238より取得する(S103)。
図5は、アプリ対応テーブルの構成例を示す図である。同図において、アプリ対応テーブル1238は、操作場所識別情報と実行単位識別情報とを対応付けて管理可能とされている。操作場所識別情報は、実行中のSDKアプリ1220の操作場所の識別情報である。実行単位識別情報は、SDKアプリ1220の実行単位ごとの識別情報である。実行単位識別情報は、アプリ管理部1237が、各実行単位にアクセス可能な情報であればどのようなものであってもよい。例えば、各実行単位に関するメモリ上のアドレス情報であってもよいし、各実行単位に対してOS(Operating System)によって割り当てるID(スレッドID又はプロセスID等)であってもよい。
ステップS103において、アプリ管理部1237は、画面データの取得要求に含まれている情報処理装置20aの識別情報に一致する操作場所識別情報に対応する実行単位識別情報をアプリ対応テーブル1238より取得する。
情報処理装置20aから蓄積文書印刷アプリ1221がまだ実行されていない場合、当該実行単位識別情報は取得されない(S104)。この場合、アプリ管理部1237は、SDKプラットフォーム1230に含まれるモジュールの中で、蓄積文書印刷アプリ1221の実行単位ごとにロードが必要なモジュールをロードする。本実施の形態において、アプリ管理部1237は、情報処理装置20aに対応する実行単位に対応させて、リモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aをロードする(S105、S106、S107)。なお、ロードは、例えば、各部に対応するオブジェクトの生成として実装されてもよい。また、各SDKアプリ1220が、SDKプラットフォーム1230におけるどのモジュールを必要としているかについては、例えば、アプリ管理部1237のロジックとして組み込まれていてもよいし、アプリ管理部1237の外部ファイル内に記述されていてもよい。アプリ管理部1237は、当該ロジック又は外部ファイルに基づいて、どのモジュールをロードすべきかを判断する。
ところで、本実施の形態において、画面データを生成するモジュールは、ローカル画面生成部1233及びリモート画面生成部1234の二種類存在するところ、ステップS105においてアプリ管理部1237は、リモート画面生成部1234をロードしている。これは、画面データの取得要求元が、操作パネル15ではなく、情報処理装置20であることに基づく。すなわち、ステップS105において、アプリ管理部1237は、画面データの取得要求に含まれている情報処理装置10aの識別情報が操作パネル15に対応する識別情報と一致しないことに基づいて、リモート画面生成部1234をロード対象として選択しているのである。又は、アプリ管理部1237は、ステップS102における画面データの取得要求と、後述されるステップS111における画面の表示要求とを異なるインタフェース(関数又はメソッド)によって受け付けることにより要求元を区別し、ロード対象(ローカル画面生成部1233又はリモート画面生成部1234)を判断するようにしてもよい。
続いて、アプリ管理部1237は、情報処理装置20aに対応する実行単位である蓄積文書印刷アプリ1221aを起動する(S108)。蓄積文書印刷アプリ1221aの起動に際し、アプリ管理部1237は、ステップS105〜S107においてロードしたリモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aの識別情報を蓄積文書印刷アプリ1221aに提供(通知)する。すなわち、アプリ管理部1237は、リモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aを利用することを蓄積文書印刷アプリ1221aに指示する。各部の当該識別情報は、蓄積文書印刷アプリ1221が、各部にアクセス可能(各部を利用可能)な情報であればどのようなものであってもよい。例えば、各部がロードされたメモリ上のアドレス値であってもよい。なお、蓄積文書印刷アプリ1221aと、リモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aとは双方向に関連付けられる。すなわち、蓄積文書印刷アプリ1221aがリモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aを呼び出すことが可能であり、かつ、リモート画面生成部1234a、印刷処理依頼部1231a、及び操作イベント処理部1232aが蓄積文書印刷アプリ1221aを呼び出すことも可能である。
蓄積文書印刷アプリ1221aは、起動処理の過程において、HDD114に蓄積されている画像データの一覧情報を生成し、アプリ管理部1237よりその識別情報が通知されたリモート画面生成部1234aに対して当該一覧情報を指定して初期画面の生成要求を入力する(S109)。リモート画面生成部1234は、当該一覧情報を含む初期画面を表示させる画面データを生成し、RAM112に記録する。
蓄積文書印刷アプリ1221aの起動処理が完了すると、アプリ管理部1237は、情報処理装置20aの識別情報と蓄積文書印刷アプリ1221aの実行単位識別情報との対応情報をアプリ対応テーブル1238に登録(記録)する(S110)。続いて、アプリ管理部1237は、リモート画面生成部1234aに対し、画面データの取得を要求する(S111)。リモート画面生成部1234aは、RAM112に記録しておいた画面データをアプリ管理部1237に出力する(S112)。アプリ管理部1237は、当該画面データの送信をサーバ通信部1239に出力する(S113)。サーバ通信部1239は、当該画面データを情報処理装置20aのクライアント通信部21へ送信する(S114)。クライアント通信部21は、受信された画面データを画面制御部22に入力する(S115)。画面制御部22は、当該画面データに基づいて蓄積文書印刷アプリ1221aの初期画面を表示させる。
一方、画像形成装置10の操作パネル15を介して、ユーザBによって蓄積文書印刷アプリ1221の利用要求(実行要求)が入力されると、オペパネ制御部1241は、アプリ管理部1237に対して蓄積文書印刷アプリ1221の初期画面の表示要求を入力する(S121)。当該表示要求には、例えば、蓄積文書印刷アプリ1221の識別子(アプリID)、及び操作パネル15の識別情報が含まれている。
続いて、アプリ管理部1237は、当該表示要求に含まれている操作パネル15の識別情報に対応する実行単位識別情報をアプリ対応テーブル1238より取得する(S122)。
操作パネル15を介して蓄積文書印刷アプリ1221が実行中でない場合、当該実行単位識別情報は取得されない(S123)。この場合、アプリ管理部1237は、SDKプラットフォーム1230に含まれるモジュールの中で、蓄積文書印刷アプリ1221の実行単位ごとにロードが必要なモジュールをロードする。すなわち、アプリ管理部1237は、操作パネル15に対応する実行単位に対応させて、ローカル画面生成部1233p、印刷処理依頼部1231p、及び操作イベント処理部1232pをロードする(S124、S125、S126)。なお、ステップS124において、アプリ管理部1237は、画面データの表示要求元が操作パネル15であるため(情報処理装置20ではないため)、ローカル画面生成部123310bをロード対象として選択する。
続いて、アプリ管理部1237は、操作パネル15に対応する実行単位である蓄積文書印刷アプリ1221pを起動する(S127)。蓄積文書印刷アプリ1221pの起動に際し、アプリ管理部1237は、ステップS124〜S126においてロードしたローカル画面生成部1233p、印刷処理依頼部1231p、及び操作イベント処理部1232pの識別情報を蓄積文書印刷アプリ1221pに提供(通知)する。蓄積文書印刷アプリ1221pと、ローカル画面生成部1233p、印刷処理依頼部1231p、及び操作イベント処理部1232pとは双方向に関連付けられる。
蓄積文書印刷アプリ1221pは、起動処理の過程において、HDD114に蓄積されている画像データの一覧情報を生成し、アプリ管理部1237よりその識別情報が通知されたローカル画面生成部1233pに対して当該一覧情報を指定して初期画面の生成要求を入力する(S128)。ローカル画面生成部1233は、当該一覧情報を含む初期画面を表示させる画面データを生成し、RAM112に記録する。なお、当該画面データは操作パネル15に対応したデータ形式によるものである。
蓄積文書印刷アプリ1221pの起動処理が完了すると、アプリ管理部1237は、操作パネル15の識別情報と蓄積文書印刷アプリ1221pの実行単位識別情報との対応情報をアプリ対応テーブル1238に登録(記録)する(S129)。続いて、アプリ管理部1237は、ローカル画面生成部1233pに対し、画面の表示を要求する(S130)。ローカル画面生成部1233pは、RAM112に記録しておいた画面データをオペパネ制御部1241に入力する(S131)。オペパネ制御部1241は、当該画面データに基づいて蓄積文書印刷アプリ1221pの初期画面を操作パネル15に表示させる。(S131)。なお、オペパネ制御部1241の提供するインタフェースが、各種画面要素の描画命令(関数又はメソッド)の集合であって、画面データを入力情報とするもので無い場合、ローカル画面生成部1233pは、ステップS128の初期画面の生成要求時には画面データを生成せずに、ステップS130の画面の表示要求に応じて、表示対象とする画面の描画命令をオペパネ制御部1241に入力すればよい。
図4において説明したように、本実施の形態では、SDKアプリ1220(蓄積文書印刷アプリ1221)の操作場所の相違がSDKプラットフォーム1230によって吸収される。すなわち、操作場所の相違は、アプリ管理部1237によって判断され、該判断結果に応じてリモート画面生成部1234又はローカル画面生成部1233がSDKアプリ1220に提供される。ここで、リモート画面生成部1234及びローカル画面生成部1233のインタフェースは統一されている(共通化されている)。したがって、SDKアプリ1220の開発者は、操作パネル15を介して操作される場合と情報処理装置20を介して操作される場合とを区別することなくSDKアプリ1220を実装することができる。
なお、図4では、便宜上、情報処理装置20aを介した操作と、操作パネル15を介した操作とが直列的に示されている。但し、情報処理装置20aを介した操作と、操作パネル15を介した操作とは並列的に行われてもよい。
図4の処理が実行された結果、画像形成装置10のRAM115における各モジュールのロード状況は、図6に示されるようになる。
図6は、同時期に情報処理装置及び操作パネルから蓄積文書印刷アプリが起動された場合の各モジュールのロード状況を示す図である。
同図に示されるように、情報処理装置20aに対応させて、蓄積文書印刷アプリ1221a、リモート画面生成部1234a、操作イベント処理部1232a、及び印刷処理依頼部1231aがロードされている。これらの集合を「情報処理装置用アプリデータ」という。また、操作パネル15に対応させて、蓄積文書印刷アプリ1221p、ローカル画面生成部1233p、操作イベント処理部1232p、及び印刷処理依頼部1231pがロードされている。これらの集合を「オペパネ用アプリデータ」という。
印刷イベント管理部1235、印刷ジョブキュー1242、印刷ジョブ対応テーブル1236、プリンタ制御部1243、オペパネ制御部1241、アプリ管理部1237、アプリ対応テーブル1238、及びサーバ通信部1239については、情報処理装置用アプリデータ及びオペパネ用アプリデータの双方より共通的に利用される。
図6の状態において、蓄積文書印刷アプリ1221の印刷ジョブが実行される際の処理手順を説明する。図7は、情報処理装置及び操作パネルからの操作による蓄積文書印刷アプリの印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。
図4のステップS115に続いて、ユーザAが、情報処理装置20aの表示装置に表示された初期画面において操作入力(ボタンの押下や、画像データの一覧における要素(行)の選択等)を行うと、画面制御部22は当該操作入力に応じた操作イベントをクライアント通信部21に通知する(S201)。なお、操作イベントは、操作の対象となった描画要素(ボタン、画像データの一覧における要素(行)等)の識別子、操作の種類(押下等)及び操作場所識別情報(情報処理装置20aの識別情報)等を含むデータである。
続いて、クライアント通信部21は、操作イベントを画像形成装置10のサーバ通信部1239に送信する(S202)。サーバ通信部1239は、受信された操作イベントをアプリ管理部1237に通知する(S203)。アプリ管理部1237は、操作イベントに含まれている操作場所識別情報に対応する実行単位識別情報をアプリ対応テーブル1238より取得する(S204)。続いて、アプリ管理部1237は、取得された実行単位識別情報に基づいて、操作イベント処理部1232aに対して操作イベントを通知する(S205)。操作イベント処理部1232aは、自らに関連付いている蓄積文書印刷アプリ1221aに操作イベントを通知する(S206)。
続いて、蓄積文書印刷アプリ1221aは、操作イベントの内容に応じた処理を実行する(S207)。例えば、操作イベントの内容が、画像データの一覧の中の要素の選択を示すものであれば、選択された要素の識別子をメモリ112に記録しておく。このようにして、蓄積文書印刷アプリ1221aは、情報処理装置20における操作状況(ボタン等の選択状況、画面の遷移状況)を把握する。
操作イベントの内容が、スタートボタン(ジョブの開始を指示するボタン)の押下を示すものである場合、蓄積文書印刷アプリ1221aは、メモリ112に記録されている、画像データの一覧において選択された要素に対応する画像データの識別子を指定して印刷処理の実行を印刷処理依頼部1231aに要求する(S208)。印刷処理依頼部1231aは、当該画像データに関する印刷ジョブのジョブIDを採番し、当該印刷ジョブの実行要求を当該印刷ジョブに関する印刷イベントの通知先の識別情報(以下、「印刷イベント通知先識別情報」という。)と共に印刷イベント管理部1235に入力する(S209)。印刷対象の画像データも印刷イベント管理部1235に入力される。なお、本実施の形態において印刷イベント通知先識別情報は印刷処理依頼部1231のアドレス情報とする。したがって、ステップS209では、印刷処理依頼部1231aのアドレス情報が印刷イベント通知先識別情報として印刷イベント管理部1235に入力される。
続いて、印刷イベント管理部1235は、印刷ジョブのジョブIDと印刷イベントの通知先識別情報とを対応付けて印刷ジョブ対応テーブル1236に登録(記録)する(S210)。
図8は、印刷ジョブ対応テーブルの構成例を示す図である。同図に示されるように、印刷ジョブ対応テーブル1236は、ジョブIDごとに印刷イベント通知先識別情報を登録可能とされている。
続いて、印刷イベント管理部1235は、印刷ジョブキュー1242に印刷ジョブを登録する(S211)。印刷ジョブキュー1242への印刷ジョブの登録とは、厳密には、印刷ジョブの実行要求の登録を意味する。印刷ジョブの実行要求には、印刷ジョブを実行するために必要な情報(ジョブID、印刷対象の画像データの識別情報等)が含まれる。
一方、蓄積文書印刷アプリ1221aは、印刷処理の実行要求後、リモート画面生成部1234aに対し、印刷中画面の生成を要求する(S212)。印刷中画面とは、例えば、印刷中であることを示すメッセージを表示させる画面である。リモート画面生成部1234aは、印刷中画面の画面データを生成し、当該画面データの送信をアプリ管理部1237に要求する(S213)。アプリ管理部1237は、画面データの送信の要求元に係る実行単位識別情報に対応する操作場所識別情報をアプリ対応テーブル1238より取得する(S214)。続いて、アプリ管理部1237は、取得された操作場所識別情報を指定して当該画面データの送信をサーバ通信部1239に要求する(S215)。サーバ通信部1239は、指定された操作場所識別情報に対応する情報処理装置20aのクライアント通信部21に当該画面データを送信する(S216)。クライアント通信部21は、受信された画面データを画面制御部22に入力する(S217)。画面制御部22は、当該画面データに基づいて印刷中画面を情報処理装置20aの表示装置に表示させる。
他方において、プリンタ制御部1243は、印刷ジョブキュー1242をポーリングしている(S221)。プリンタ制御部1243は、印刷ジョブキュー1242に印刷ジョブが登録されていることを検知すると、登録されている印刷ジョブを実行する(S222)。すなわち、プリンタ制御部1243は、登録されている印刷ジョブに係る画像データの印刷をプリンタ13に実行させる。
その後、プリンタ制御部1243は、印刷の終了を検知すると、印刷の終了を示す印刷イベントを印刷イベント管理部1235に通知する(S223)。なお、印刷イベントには、対応する印刷ジョブのジョブIDが含まれている。
印刷イベントを通知された印刷イベント管理部1235は、印刷イベントに含まれているジョブIDに対応する印刷イベント通知先識別情報を印刷ジョブ対応テーブル1236より取得する(S224)。続いて、印刷イベント管理部1235は、取得された印刷イベント通知先識別情報に基づいて、印刷処理依頼部1231aに当該印刷イベントを通知する(S225)。印刷処理依頼部1231aは、当該印刷イベントを蓄積文書印刷アプリ1221aに通知する(S226)。続いて、蓄積文書印刷アプリ1221aは、印刷イベントに応じた画面の生成をリモート画面生成部1234aに要求する(S227)。ここでは、印刷の終了を通知するための印刷終了画面の生成が要求される。続いて、リモート画面生成部1234aは、印刷終了画面の画面データを生成し、当該画面データの送信をアプリ管理部1237に要求する(S228)。アプリ管理部1237は、画面データの送信の要求元に係る実行単位識別情報に対応する操作場所識別情報をアプリ対応テーブル1238より取得する(S228)。続いて、アプリ管理部1237は、取得された操作場所識別情報を指定して当該画面データの送信をサーバ通信部1239に要求する(S229)。サーバ通信部1239は、指定された操作場所識別情報に対応する情報処理装置20aのクライアント通信部21に当該画面データを送信する(S230)。クライアント通信部21は、受信された画面データを画面制御部22に入力する(S231)。画面制御部22は、当該画面データに基づいて印刷終了画面を表示させる。なお、印刷ジョブの終了以外の印刷イベント(例えば、用紙切れ等のイベント)が発生した際においてもステップS223〜S232と同様の処理手順が実行される。
一方、情報処理装置20aからの要求に応じた印刷ジョブの実行中に、ユーザBが、操作パネル15に表示されている蓄積文書印刷アプリ1221pの初期画面において操作入力を行うと、オペパネ制御部1241は当該操作入力に応じた操作イベントをアプリ通信部に通知する(S241)。当該操作イベントは、情報処理装置20の画面制御部22より発行されるものと同様のデータ形式を有する(同様の情報を含む)。アプリ管理部1237は、操作イベントに含まれている操作場所識別情報に対応する実行単位識別情報をアプリ対応テーブル1238より取得する(S242)。続いて、アプリ管理部1237は、取得された実行単位識別情報に基づいて、操作イベント処理部1232pに対して操作イベントを通知する(S243)。操作イベント処理部1232pは、自らに関連付いている蓄積文書印刷アプリ1221pに操作イベントを通知する(S244)。
続いて、蓄積文書印刷アプリ1221pは、操作イベントの内容に応じた処理を実行する(S245)。例えば、操作イベントの内容が、画像データの一覧の中の要素の選択を示すものであれば、選択された要素の識別子をメモリ112に記録しておく。このようにして、蓄積文書印刷アプリ1221pは、操作パネル15における操作状況を把握する。
操作イベントの内容が、スタートボタンの押下を示すものである場合、蓄積文書印刷アプリ1221pは、メモリ112に記録されている、画像データの一覧において選択された要素に対応する画像データの識別子を指定して印刷処理の実行を印刷処理依頼部1231pに要求する(S246)。印刷処理依頼部1231pは、当該画像データに関する印刷ジョブのジョブIDを採番し、当該印刷ジョブの実行要求を当該印刷ジョブに関する印刷イベント通知先識別情報と共に印刷イベント管理部1235に入力する(S247)。印刷対象の画像データも印刷イベント管理部1235に入力される。なお、ステップS247では、印刷処理依頼部1231pのアドレス情報が印刷イベント通知先識別情報として印刷イベント管理部1235に入力される。
続いて、印刷イベント管理部1235は、印刷ジョブのジョブIDと印刷イベントの通知先識別情報とを対応付けて印刷ジョブ対応テーブル1236に登録(記録)する(S248)。続いて、印刷イベント管理部1235は、印刷ジョブキュー1242に印刷ジョブを登録する(S249)。
一方、蓄積文書印刷アプリ1221pは、印刷処理の実行要求後、ローカル画面生成部1233pに対し、印刷中画面の生成を要求する(S250)。ローカル画面生成部1233pは、印刷中画面の画面データを生成し、当該画面データをオペパネ制御部1241に入力する(S251)。オペパネ制御部1241は、当該画面データに基づいて印刷中画面を操作パネル15に表示させる。
他方において、プリンタ制御部1243は、印刷ジョブキュー1242をポーリングしている(S261)。プリンタ制御部1243は、印刷ジョブキュー1242に印刷ジョブが登録されていることを検知すると、登録されている印刷ジョブを実行する(S262)。その後、プリンタ制御部1243は、印刷の終了を検知すると、印刷の終了を示す印刷イベントを印刷イベント管理部1235に通知する(S263)。なお、印刷イベントには、対応する印刷ジョブのジョブIDが含まれている。
印刷イベントを通知された印刷イベント管理部1235は、印刷イベントに含まれているジョブIDに対応する印刷イベント通知先識別情報を印刷ジョブ対応テーブル1236より取得する(S264)。続いて、印刷イベント管理部1235は、取得された印刷イベント通知先識別情報に基づいて、印刷処理依頼部1231pに当該印刷イベントを通知する(S265)。印刷処理依頼部1231pは、当該印刷イベントを蓄積文書印刷アプリ1221pに通知する(S266)。続いて、蓄積文書印刷アプリ1221pは、印刷イベントに応じた画面の生成をローカル画面生成部1233pに要求する(S267)。ここでは、印刷の終了を通知するための印刷終了画面の生成が要求される。続いて、ローカル画面生成部1233pは、印刷終了画面の画面データを生成し、当該画面データをオペパネ制御部1241に入力する(S268)。オペパネ制御部1241は、当該画面データに基づいて印刷終了画面を操作パネル15に表示させる。
図7において説明したように、本実施の形態では、操作パネル15を介した操作と、ネットワークを介した操作とが並列的に行われた場合であっても(すなわち、同時(同時期)に複数のユーザによってSDKアプリ1220が利用される場合であっても)、操作イベントの通知先や画面の出力先等が適切に判断される。ここで、操作イベントの通知先や画面の出力先の判断等は、SDKプラットフォーム1230によって行われため、各SDKアプリ1220は操作イベントの通知先や画面の出力先等を意識する必要はない。したがって、SDKアプリ1220の開発者は、操作パネル15を介して操作される場合と情報処理装置20を介して操作される場合とを区別することなくSDKアプリ1220を実装することができる。なお、同時に利用可能なSDKアプリ1220は、同一(同一の名前)のSDKアプリ1220であるか異なるSDKアプリ1220であるかは問わない。すなわち、図7においては、同一のSDKアプリ1220(蓄積文書印刷アプリ1221)が同時に利用される例を示した。しかし、操作パネル15を介して利用されるSDKアプリ1220と異なるSDKアプリ1220がネットワークを介して利用される場合についても、図7と同様の処理手順に基づいて実現されうる。
ところで、複数ユーザによるSDKアプリ1220の同時利用が可能であることは、複数の情報処理装置20において同時にSDKアプリ1220が操作される場合にも当てはまる。例えば、情報処理装置20a及び20bより蓄積文書印刷アプリ1221が利用される場合、情報処理装置20ごとに図4のステップS101〜S115において説明した処理が実行される。その結果、画像形成装置10におけるモジュールのロード状況は図9に示されるようになる。
図9は、同時期に複数の情報処理装置から蓄積文書印刷アプリが起動された場合の各モジュールのロード状況を示す図である。
同図に示されるように、情報処理装置20aに対応させて、蓄積文書印刷アプリ1221a、リモート画面生成部1234a、操作イベント処理部1232a、及び印刷処理依頼部1231aがロードされる。また、情報処理装置20bに対応させて、蓄積文書印刷アプリ1221b、リモート画面生成部1234b、操作イベント処理部1232b、及び印刷処理依頼部1231bがロードされる。他の部分については、図6と同様であるためその説明は省略する。また、図9では、オペパネ制御部1241は便宜上省略されている。
また、図10は、複数の情報処理装置からの操作による蓄積文書印刷アプリの印刷ジョブの実行時の処理手順を説明するためのシーケンス図である。すなわち、図10は、図9の状態において、蓄積文書印刷アプリ1221の印刷ジョブが実行される際の処理手順である。
同図において、各ステップの詳細は図7のステップS201〜S232において説明した通りである。すなわち、ステップS301〜S332は、情報処理装置20aに関する処理手順である。また、ステップS341〜S372は、情報処理装置20bに関する処理手順である。
図10に示されるように、本実施の形態の画像形成装置10によれば、複数の情報処理装置20よりネットワークを介して利用される場合にも操作イベントの通知先や画面データの出力先等が適切に判断される。
なお、操作パネル15と複数の情報処理装置20とより同時に利用される場合については、図7及び図10の組み合わせにより自明であるため、その説明は省略する。
また、本実施の形態において、実行単位識別情報は、操作イベントの通知先の判断及び画面データの出力先の判断等、複数の用途に利用される。具体的には、図7のステップS204では、操作イベントを通知する操作イベント処理部1232を識別するための識別情報として利用され、ステップS214では、画面データの送信の要求元であるリモート画面生成部1234を識別するための識別情報として利用される。例えば、プログラム言語の仕様上の制限上等の理由により、一つの識別情報に基づいて操作イベント処理部1232及びリモート画面生成部1234等を識別することが困難な場合は、実行単位識別情報を複数の識別情報によって構成すればよい。具体的には、図4のステップS110において、アプリ管理部1237は、リモート画面生成部1234a及び操作イベント処理部1232a等のそれぞれの識別情報を実行単位識別情報としてアプリ対応テーブル1238に登録すればよい。同様に、ステップS129において、アプリ管理部1237は、ローカル画面生成部1233b及び操作イベント処理部1232b等のそれぞれの識別情報を実行単位識別情報としてアプリ対応テーブル1238に登録すればよい。
また、本実施の形態では、アプリ対応テーブル1238において、SDKアプリ1220の実行単位ごとに操作場所識別情報が対応付けられる例を説明した。但し、同一のSDKアプリ1220の同時利用を制限する場合等、同一のSDKアプリ1220が同時に利用されないことが保証される環境においては、SDKアプリ1220の種類ごと(アプリIDごと)に操作場所識別情報を対応づけるようにしてもよい。
また、アプリ対応テーブル1238内のエントリは、対応する実行単位が終了した際に削除される。同様に、印刷ジョブ対応テーブル1236のエントリは、対応する印刷ジョブが終了した際に削除される。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20、20a、20b 情報処理装置
21 クライアント通信部
22 画面制御部
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
1210 標準アプリ
1211 スキャンアプリ
1212 プリンタアプリ
1213 コピーアプリ
1214 FAXアプリ
1220 SDKアプリ
1221 蓄積文書印刷アプリ
1230 SDKプラットフォーム
1231 印刷処理依頼部
1232 操作イベント処理部
1233 ローカル画面生成部
1234 リモート画面生成部
1235 印刷イベント管理部
1236 印刷ジョブ対応テーブル
1237 アプリ管理部
1238 アプリ対応テーブル
1239 サーバ通信部
1240 サービス層
1241 オペパネ制御部
1242 印刷ジョブキュー
1243 プリンタ制御部
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20、20a、20b 情報処理装置
21 クライアント通信部
22 画面制御部
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
1210 標準アプリ
1211 スキャンアプリ
1212 プリンタアプリ
1213 コピーアプリ
1214 FAXアプリ
1220 SDKアプリ
1221 蓄積文書印刷アプリ
1230 SDKプラットフォーム
1231 印刷処理依頼部
1232 操作イベント処理部
1233 ローカル画面生成部
1234 リモート画面生成部
1235 印刷イベント管理部
1236 印刷ジョブ対応テーブル
1237 アプリ管理部
1238 アプリ対応テーブル
1239 サーバ通信部
1240 サービス層
1241 オペパネ制御部
1242 印刷ジョブキュー
1243 プリンタ制御部
Claims (12)
- 操作パネルに表示させる画面を生成し、該画面を前記操作パネルに表示させる第一の画面生成手段と、
ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを前記情報処理装置に送信させる第二の画面生成手段と、
前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じ、該実行要求の入力元に基づいて前記第一の画面生成手段又は前記第二の画面生成手段を前記アプリケーションの利用対象として選択するアプリケーション管理手段とを有し、
前記第一の画面生成手段及び前記第二の画面生成手段は、共通のインタフェースによって画面の生成要求を受け付け、
前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手段によって選択された前記第一の画面生成手段又は前記第二の画面生成手段に対して画面の生成要求を入力する画像形成装置。 - 前記アプリケーション管理手段は、前記アプリケーションの実行要求の入力元と該アプリケーションとの対応情報を記憶手段に記録し、前記操作パネル又は前記情報処理装置より入力される前記画面に対する入力イベントに応じ、前記入力イベントの入力元に対応するアプリケーションを前記対応情報に基づいて判定し、判定されたアプリケーションに前記入力イベントを通知する請求項1記載の画像形成装置。
- 前記アプリケーション管理手段は、複数の前記情報処理装置のそれぞれを識別可能なように前記対応情報を前記記憶手段に記録する請求項2記載の画像形成装置。
- 前記アプリケーション管理手段は、前記アプリケーションの実行要求の入力元と該アプリケーションの実行単位との対応情報を前記記憶手段に記録する請求項2又は3記載の画像形成装置。
- 画像形成装置が実行する情報処理方法であって、
操作パネルに表示させる画面を生成し、該画面を前記操作パネルに表示させる第一の画面生成手順と、
ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを前記情報処理装置に送信させる第二の画面生成手順と、
前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じ、該実行要求の入力元に応じて前記第一の画面生成手順又は前記第二の画面生成手順を前記アプリケーションの利用対象として選択するアプリケーション管理手順とを有し、
前記第一の画面生成手順及び前記第二の画面生成手順は、共通のインタフェースによって画面の生成要求を受け付け、
前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手順において選択された前記第一の画面生成手順又は前記第二の画面生成手順に対して画面の生成要求を入力する情報処理方法。 - 前記アプリケーションの実行要求の入力元と該アプリケーションとの対応情報を記憶手段に記録する対応情報記録手順と、
前記操作パネル又は前記情報処理装置より入力される前記画面に対する入力イベントに応じ、前記入力イベントの入力元に対応するアプリケーションを前記対応情報に基づいて判定し、判定されたアプリケーションに前記入力イベントを通知するイベント通知手順とを有する請求項5記載の情報処理方法。 - 前記対応情報記録手順は、複数の前記情報処理装置のそれぞれを識別可能なように前記対応情報を前記記憶手段に記録する請求項6記載の情報処理方法。
- 前記対応情報記録手順は、前記アプリケーションの実行要求の入力元と該アプリケーションの実行単位との対応情報を前記記憶手段に記録する請求項6又は7記載の情報処理方法。
- 画像形成装置を、
操作パネルに表示させる画面を生成し、該画面を前記操作パネルに表示させる第一の画面生成手段と、
ネットワークを介して接続される情報処理装置に表示させる画面データを生成し、該画面データを前記情報処理装置に送信させる第二の画面生成手段と、
前記操作パネル又は前記情報処理装置より入力されるアプリケーションの実行要求に応じ、該実行要求の入力元に応じて前記第一の画面生成手段又は前記第二の画面生成手段を前記アプリケーションの利用対象として選択するアプリケーション管理手段として機能させ、
前記第一の画面生成手段及び前記第二の画面生成手段は、共通のインタフェースによって画面の生成要求を受け付け、
前記アプリケーションは、前記共通のインタフェースを利用して、前記アプリケーション管理手段によって選択された前記第一の画面生成手段又は前記第二の画面生成手段に対して画面の生成要求を入力するプログラム。 - 前記アプリケーション管理手段は、前記アプリケーションの実行要求の入力元と該アプリケーションとの対応情報を記憶手段に記録し、前記操作パネル又は前記情報処理装置より入力される前記画面に対する入力イベントに応じ、前記入力イベントの入力元に対応するアプリケーションを前記対応情報に基づいて判定し、判定されたアプリケーションに前記入力イベントを通知する請求項9記載のプログラム。
- 前記アプリケーション管理手段は、複数の前記情報処理装置のそれぞれを識別可能なように前記対応情報を前記記憶手段に記録する請求項10記載のプログラム。
- 前記アプリケーション管理手段は、前記アプリケーションの実行要求の入力元と該アプリケーションの実行単位との対応情報を前記記憶手段に記録する請求項10又は11記載のプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009150818A JP2011008488A (ja) | 2009-06-25 | 2009-06-25 | 画像形成装置、情報処理方法、及びプログラム |
US12/814,535 US8705091B2 (en) | 2009-06-25 | 2010-06-14 | Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium |
CN201010213964.6A CN101938585B (zh) | 2009-06-25 | 2010-06-24 | 图像形成设备和信息处理方法 |
US14/196,022 US8873080B2 (en) | 2009-06-25 | 2014-03-04 | Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009150818A JP2011008488A (ja) | 2009-06-25 | 2009-06-25 | 画像形成装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011008488A true JP2011008488A (ja) | 2011-01-13 |
Family
ID=43380388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009150818A Pending JP2011008488A (ja) | 2009-06-25 | 2009-06-25 | 画像形成装置、情報処理方法、及びプログラム |
Country Status (3)
Country | Link |
---|---|
US (2) | US8705091B2 (ja) |
JP (1) | JP2011008488A (ja) |
CN (1) | CN101938585B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779106B2 (en) | 2011-08-15 | 2017-10-03 | Lenovo (Beijing) Co., Ltd. | Application management method and device |
JP6115293B2 (ja) * | 2013-05-02 | 2017-04-19 | 株式会社リコー | 機器、情報処理端末、情報処理システム、表示制御方法、及びプログラム |
IN2014DE02931A (ja) | 2013-11-01 | 2015-06-26 | Seiko Epson Corp | |
CN104615388B (zh) * | 2013-11-01 | 2017-12-22 | 精工爱普生株式会社 | 打印控制系统 |
JP6492428B2 (ja) * | 2014-06-25 | 2019-04-03 | 株式会社リコー | 情報処理装置、画像処理方法、プログラム、画像形成装置 |
EP3142035B1 (en) * | 2015-09-14 | 2021-08-25 | Ricoh Company, Ltd. | Information processing system, information processing apparatus, information processing method, and recording medium |
CN108469956B (zh) * | 2017-02-23 | 2022-01-11 | 京瓷办公信息系统株式会社 | 图像形成装置、管理服务器和信息处理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004312711A (ja) * | 2003-03-25 | 2004-11-04 | Ricoh Co Ltd | 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法 |
JP2005065053A (ja) | 2003-08-18 | 2005-03-10 | Ricoh Co Ltd | 画像形成装置 |
US7266550B2 (en) * | 2004-01-29 | 2007-09-04 | Sap Aktiengesellschaft | Managing application status information for a computer application |
JP2006140898A (ja) * | 2004-11-15 | 2006-06-01 | Konica Minolta Business Technologies Inc | 画像形成システム |
JP4683966B2 (ja) * | 2005-03-07 | 2011-05-18 | シャープ株式会社 | 遠隔操作システム及び画像形成装置 |
US9141374B2 (en) | 2005-09-16 | 2015-09-22 | Ricoh Company, Ltd. | Image forming device, information processing method, information processing program, and recording medium |
JP4832226B2 (ja) | 2005-09-16 | 2011-12-07 | 株式会社リコー | 機器、情報処理方法、情報処理プログラム、及び記録媒体 |
JP2008011220A (ja) * | 2006-06-29 | 2008-01-17 | Ricoh Co Ltd | 画像形成装置 |
EP2001216A1 (en) | 2007-06-08 | 2008-12-10 | Ricoh Company, Ltd. | Security encoding unit and image forming apparatus including same |
US8069409B2 (en) * | 2007-09-06 | 2011-11-29 | Sharp Laboratories Of America, Inc. | Customized remote access to imaging node front panels |
US20090228962A1 (en) * | 2008-03-06 | 2009-09-10 | Sharp Laboratories Of America, Inc. | Access control and access tracking for remote front panel |
JP5187007B2 (ja) * | 2008-06-05 | 2013-04-24 | 株式会社リコー | 画像形成装置、表示制御方法、及び表示制御プログラム |
JP2010128802A (ja) | 2008-11-27 | 2010-06-10 | Ricoh Co Ltd | 情報処理装置、Webサーバ装置、Webページ更新方法、及びプログラム |
-
2009
- 2009-06-25 JP JP2009150818A patent/JP2011008488A/ja active Pending
-
2010
- 2010-06-14 US US12/814,535 patent/US8705091B2/en not_active Expired - Fee Related
- 2010-06-24 CN CN201010213964.6A patent/CN101938585B/zh not_active Expired - Fee Related
-
2014
- 2014-03-04 US US14/196,022 patent/US8873080B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8705091B2 (en) | 2014-04-22 |
US20100328717A1 (en) | 2010-12-30 |
US20140185076A1 (en) | 2014-07-03 |
CN101938585B (zh) | 2012-11-28 |
CN101938585A (zh) | 2011-01-05 |
US8873080B2 (en) | 2014-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8964217B2 (en) | Information processing system and method for acquiring workflow from management apparatus using user terminal address | |
KR101467646B1 (ko) | 정보 처리 장치, 웹 서버, 제어 방법, 및 저장 매체 | |
US8687219B2 (en) | System which can utilize a function of an image processing apparatus as a web service | |
US20130003117A1 (en) | Printing system, print server, printing management method, and program | |
US8873080B2 (en) | Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium | |
US20110279846A1 (en) | Information processing apparatus, and control method and storage medium therefor | |
CN102681801A (zh) | 打印机和由该打印机执行的方法 | |
US20120293837A1 (en) | Relay device, network system, and method of controlling relay device | |
US20110072356A1 (en) | Information processing apparatus, user interface display control method of the same, and storage medium storing program | |
US7457839B2 (en) | Selective rejection of access to parameters of an option application detachable from an embedded apparatus including web server function | |
KR100547117B1 (ko) | 네트워크 전자기기의 원격 제어방법 및 장치 | |
US20120203882A1 (en) | Management apparatus and management method | |
JP4415810B2 (ja) | 画像処理装置およびその制御方法および制御プログラム | |
JP4261203B2 (ja) | 情報提供装置、情報提供方法、情報提供システム、及び情報提供プログラム | |
US9325864B2 (en) | Image processing apparatus, information processing system, information processing method, and storage medium to communicate with external apparatus | |
JP6492711B2 (ja) | 中継装置、操作画面提供装置及びプログラム | |
JP2009205262A (ja) | アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体 | |
JP2012162044A (ja) | 情報処理システム、画像形成装置、情報処理方法、及びプログラム | |
US8499310B2 (en) | Information processing apparatus, device setup method and storage medium for carrying out a device setup on a network | |
JP2006285840A (ja) | 文書管理システム | |
US11843737B2 (en) | Information processing apparatus, control method therefor, and storage medium | |
JP5223732B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5315939B2 (ja) | 画像形成装置、情報処理システム、情報処理方法、及びプログラム | |
JP2018022444A (ja) | 情報処理装置、制御方法、及びプログラム | |
JP2009111785A (ja) | 画像処理装置及び処理振分け方法 |