JP2010074302A - 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム - Google Patents

画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2010074302A
JP2010074302A JP2008237123A JP2008237123A JP2010074302A JP 2010074302 A JP2010074302 A JP 2010074302A JP 2008237123 A JP2008237123 A JP 2008237123A JP 2008237123 A JP2008237123 A JP 2008237123A JP 2010074302 A JP2010074302 A JP 2010074302A
Authority
JP
Japan
Prior art keywords
information
application
client application
function
image forming
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.)
Granted
Application number
JP2008237123A
Other languages
English (en)
Other versions
JP5176806B2 (ja
Inventor
Seijiro Hori
誠二郎 堀
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 JP2008237123A priority Critical patent/JP5176806B2/ja
Priority to US12/556,287 priority patent/US20100067035A1/en
Publication of JP2010074302A publication Critical patent/JP2010074302A/ja
Application granted granted Critical
Publication of JP5176806B2 publication Critical patent/JP5176806B2/ja
Priority to US14/553,485 priority patent/US20150077783A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】各ユーザが所望する設定に応じた機能の実行を適切に実現することを目的とする。
【解決手段】画像形成装置であって、ネットワークを介して接続する情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を情報処理装置より受信し、アプリ情報管理手段に記録する手段と、当該画像形成装置の操作者のユーザ識別情報に係るアプリケーション情報の一覧をアプリ情報管理手段より取得し、表示装置に表示させる手段と、少なくとも一覧において選択されたアプリケーション情報に含まれる機能識別情報に係る機能に対する設定情報を情報処理装置より受信する手段と、機能識別情報に係る機能を設定情報に基づいて実行させる手段とを有することにより上記課題を解決する。
【選択図】図1

Description

本発明は、画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラムに関する。
近年、オフィス内では、画像形成装置やFAX装置等のオフィス機器が頻繁に利用され、業務の効率化が図られている。オフィス機器が導入された際に、オフィスで働く人々(オフィス機器のユーザ)は、自らのPCに関する情報の登録や、自らが望む機能に関する設定(カスタマイズ)等を当該オフィス機器に対して行っておくことで、より業務の効率化を図ることができる。
斯かる設定は、オフィス機器の操作パネルを介して行うことができる。但し、各オフィス機器の操作パネル上での操作は、PC上での設定と異なり煩雑かつ複雑である。また、利用したいオフィス機器が複数存在する場合は、各オフィス機器について同様の操作を繰り返す必要があった。
そこで、従来、PC上で設定された設定データを各オフィス機器がダウンロードする技術が提案されている(例えば、特許文献1)。斯かる技術によれば、オフィス機器に関する設定をPC上で比較的簡便に行うことができる。
特開2004−234617号公報
しかしながら、特許文献1に記載された技術では、ダウンロードされた設定データはその機器を利用する全てのユーザに対して共通に適用されてしまう。そのため、各ユーザは共通の設定を受け入れざるを得ず、個別の設定を実現するためには、各オフィス機器の操作パネル上でその都度設定をしなおすという作業が必要であった。
本発明は、上記の点に鑑みてなされたものであって、各ユーザが所望する設定に応じた機能の実行を適切に実現することのできる画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、画像形成装置であって、ネットワークを介して接続する情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を前記情報処理装置より受信し、アプリ情報管理手段に記録するアプリ情報受信手段と、当該画像形成装置の操作者のユーザ識別情報に係る前記アプリケーション情報の一覧を前記アプリ情報管理手段より取得し、表示装置に表示させる表示制御手段と、少なくとも前記一覧において選択されたアプリケーション情報に含まれる前記機能識別情報に係る機能に対する設定情報を前記情報処理装置より受信する設定情報受信手段と、前記機能識別情報に係る機能を前記設定情報に基づいて実行させる機能実行制御手段とを有することを特徴とする。
このような画像形成装置では、各ユーザが所望する設定に応じた機能の実行を適切に実現することができる。
本発明によれば、各ユーザが所望する設定に応じた機能の実行を適切に実現することのできる画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラムを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態におけるシステム構成例を示す図である。同図において、画像形成装置10とクライアントPC20とは、LAN(Local Area Network)又はインターネット等のネットワーク30(有線又は無線の別は問わない)を介して接続されている。
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を実現する装置(プリンタ、スキャナ、コピー機、ファクシミリ等)を画像形成装置10として用いてもよい。同図において、画像形成装置10は、サーバアプリ12及びアプリケーションプラットフォーム13等のソフトウェアを有する。
サーバアプリ12は、クライアントPC20におけるアプリケーションプログラム(後述されるクライアントアプリ22)と連携して動作するアプリケーションプログラムであり、クライアントアプリ登録部121、UI制御部122、クライアントアプリ検知部123、サービス制御部124、機能制御部125、クライアントアプリ連携部126、及びクライアントアプリ管理テーブル127等を有する。
クライアントアプリ検知部123は、ネットワーク30を介してクライアントアプリ22の存在を自動検知する。クライアントアプリ登録部121は、クライアントアプリ検知部123によって検知されたクライアントアプリ22に関する情報(以下、「クライアントアプリ情報」という。)を当該クライアントアプリ22より取得し、当該クライアントアプリ情報をクライアントアプリ管理テーブル127に登録(記録)する。クライアント登録部121は、また、有効期限が切れたクライアントアプリ情報をクライアントアプリ管理テーブル127より削除する。
UI制御部122は、クライアントアプリ22を利用させるための画面等を画像形成装置10の操作パネルに表示させる。例えば、UI制御部122は、クライアントアプリ管理テーブル127にクライアントアプリ情報が登録されているクライアントアプリ22の一覧(クライアントアプリリスト)等を表示させ、実行対象とするクライアントアプリ22をユーザに選択させる。すなわち、クライアントアプリ22の実行指示は画像形成装置10側において入力される。サービス制御部124は、実行対象とされたクライアントアプリ22が画像形成装置10に対して実行を要求するサービスの実行を制御する。クライアントアプリ22が画像形成装置10に対して実行を要求するサービスの識別情報(サービスID)は、クライアントアプリ情報に含まれている。なお、ここでいう「サービス」とは、画像形成装置10に固有のハードウェア資源を利用して実現される機能の実行と、当該機能の実行結果の提供とをいう。例えば、サービスの一例としてスキャン機能の実行とスキャン結果としての画像データの提供、印刷機能の実行と印刷結果の提供等が挙げられる。クライアントアプリ連携部126は、サービス制御部124からの指示に応じ、クライアントアプリ22と通信を行う。クライアントアプリ連携部126は、当該通信によって、サービスの実行に必要な設定情報(例えば、スキャンの設定情報(実行条件)等。以下「サービス設定情報」という。)を受信したり、サービス(機能)の実行結果(例えば、スキャンされた画像データ)を送信したりする。機能制御部125は、画像形成装置10の機能(スキャン機能、印刷機能等)ごとに存在し、各機能に応じた処理制御を行う。
アプリケーションプラットフォーム13は、サーバアプリケーション12の実行環境を提供するソフトウェアであり、OS(Operating System)や画像形成装置10の各種ハードウェア資源のドライバプログラム等を含む。
クライアントPC20は、一般的なPC(Personal Computer)であり、例えば、ユーザごとに複数台配置されている。各クライアントPC20は、クライアントアプリ22及びアプリケーションプラットフォーム23等のソフトウェアを有する。
クライアントアプリ22は、サーバアプリ12と連携して当該クライアントアプリ22に実装された業務ロジック(ワークフロー等)を実現するアプリケーションプログラムであり、業務ロジックごとに存在する。各クライアントアプリ22は、自動検知応答部221、UI制御部222、Webサービス実行部223、サーバアプリ連携部224、外部アプリ実行部225、及び設定情報管理ファイル226等を有する。
自動検知応答部221は、クライアントアプリ検知部123より発行(送信)される、クライアントアプリ22の検知用のメッセージに対して応答を行う。自動検知応答部221は、また、クライアントアプリ登録部121からの要求に応じ、クライアントアプリ情報を返信する。サーバアプリ連携部224は、クライアントアプリ連携部126からの要求に応じ、サービス設定情報を送信したり、サービスの実行結果に関する情報を受信したりする。サービス設定情報は、設定情報管理ファイル226に登録されている。Webサービス実行部223は、サービスの実行結果(例えば、スキャンされた画像データ)を利用して、非図示のWebサービスと連携した機能を実現する。外部アプリ実行部225は、サービスの実行結果を利用して、非図示の外部アプリケーション(クライアントPC20における他のアプリケーション)と連携した機能を実現する。なお、Webサービス実行部223及び外部アプリ実行部225は、外部との連携が不要なクライアントアプリ22は備えていなくてもよい。
アプリケーションプラットフォーム23は、各クライアントアプリ22の実行環境を提供するソフトウェアであり、OS等を含む。
続いて、各装置のハードウェア構成について説明する。図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、ネットワークインタフェース15、及び操作パネル16等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等より構成される。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等(例えば、クライアントアプリ管理テーブル127)が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース15は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル16は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
図3は、本発明の実施の形態におけるクライアントPCのハードウェア構成例を示す図である。同図のクライアントPC20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有するように構成される。
クライアントPC20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等(例えば、設定情報管理ファイル226)を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってクライアントPC20に係る機能を実現する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
以下、本実施の形態におけるシステムの処理手順について説明する。図4は、クライアントアプリ情報の登録時の処理手順を説明するためのフローチャートである。
ステップS11において、サーバアプリ12のクライアントアプリ検知部123は、ネットワーク30上において利用可能な(起動されている)クライアントアプリ22の存在を検知するための処理(自動検知処理)を実行する。自動検知処理は、例えば、画像形成装置10がネットワーク30に接続されているクライアントPC20をブロードキャスト等によって自動的に検知する手順と、検知されたクライアントPC20に対してクライアントアプリ22の検知用のメッセージ(クライアントアプリ検知用メッセージ)を送信する手順と、当該メッセージに対してクライアントアプリ22の自動検知応答部221より応答を受信する手順とを有する。また、検知対象とするクライアントPC20のIPアドレスが画像形成装置10に予め登録されていてもよいし、操作パネル16を介してユーザより適宜入力されてもよい。この場合、クライアントPC20を検知する手順を省いて、登録されているIPアドレスに対してクライアントアプリ検知用メッセージを送信すればよい。
続いて、クライアントアプリ登録部121は、クライアントアプリ検知部123によって検知されたクライアントアプリ22の自動検知応答部221に対してクライアントアプリ情報の送信を要求する(S12)。続いて、クライアントアプリ登録部121は、当該要求に応じ自動検知応答部221より返信される当該クライアントアプリ22のクライアントアプリ情報を受信する(S13)。なお、クライアントアプリ情報は、クライアントアプリ22ごとに関連付けられて補助記憶装置202に保存されている。
図5は、クライアントアプリ情報の構成例を示す図である。同図において、クライアントアプリ情報50は、管理情報及びプレゼンテーション情報を含む。管理情報は、サーバアプリ12がロジックを実行する上で必要な情報であり、アプリID、ユーザID、サービスID、クライアントアプリアドレス、及び有効期間等を含む。プレゼンテーション情報は、表示情報として用いられる情報であり、ユーザ表示名及びクライアントアプリ表示名等を含む。
アプリIDは、各クライアントアプリ22を一意に識別する識別情報である。ユーザIDは、クライアントアプリ22に関連付けられているユーザの識別情報である。サービスIDは、上記したサービスIDである。クライアントアプリアドレスは、ネットワーク30上において各クライアントアプリ22を一意に識別するための識別情報である。有効期間は、クライアントアプリ情報50の有効期間であり、クライアントアプリ登録部121が、クライアントアプリ管理テーブル127よりクライアントアプリ情報50を削除する際の判断材料として用いられる。ユーザ表示名は、ユーザIDに対応するユーザの名前の表示用の文字列である。クライアントアプリ表示名は、クライアントアプリ22の名前の表示用の文字列である。
図6は、クライアントアプリ情報の具体例を示す図である。同図では、クライアントアプリ情報50の具体例として、クライアントアプリ情報50a及び50bが示されている。
クライアントアプリ情報50aは、「ScanToMe」と呼ばれるクライアントアプリ22(以下、「ScanToMeアプリ」という。)のクライアントアプリ情報50である。ScanToMeアプリは、画像形成装置10にスキャンを実行させ、スキャンされた画像データをクライアントPC20の補助記憶装置202の所定の記憶領域(例えば、所定のフォルダ)に保存するといった機能を実現するクライアントアプリ22である。したがって、サービスIDの「scan」は、画像形成装置10のスキャン機能を示す。また、クライアントアプリ表示名は「ScanToMe」とされている。したがって、ScanToMeアプリは、クライアントアプリリストにおいて「ScanToMe」という文字列によって表現される。
一方、クライアントアプリ情報50bは、「MyPrint」と呼ばれるクライアントアプリ22(以下、「MyPrintアプリ」という。)のクライアントアプリ情報50である。MyPrintアプリは、クライアントPC20の補助記憶装置202に保存されている所定の文書データを画像形成装置10に印刷させるといった機能を実現するクライアントアプリ22である。したがって、サービスIDの「print」は、画像形成装置10の印刷機能を示す。また、クライアントアプリ表示名は「MyPrint」とされている。したがって、MyPrintアプリは、クライアントアプリリストにおいて「MyPrint」という文字列によって表現される。
なお、クライアントアプリ情報50a及び50bにおいてクライアントアプリアドレスには各クライアントアプリ22に対して割り当てられたURLが用いられている。但し、クライアントアプリアドレスは、URLに限定されない。ネットワーク30上で各クライアントアプリ22を識別可能な情報であればよく、例えば、クライアントPC20のIPアドレスと、当該クライアントPC20内においてクライアントアプリ22を識別可能な情報(例えば、ポート番号)との組み合わせであってもよい。
斯かるクライアントアプリ情報50の受信に応じ、クライアントアプリ登録部121は、受信されたクライアントアプリ情報50が既にクライアントアプリ管理テーブル127に登録されているか否かを判定する(S14)。クライアントアプリ情報50の一致は、アプリID、ユーザID及びクライアントアプリアドレスに基づいて行えばよい。同一機能のクライアントアプリ22であっても(例えば、ScanToMeアプリであっても)、インストールされているクライアントPC20が異なればクライアントアプリアドレスは異なる。また、利用するユーザが異なればユーザIDは異なる。斯かる点を考慮すれば、アプリID、ユーザIDとクライアントアプリアドレスとの組み合わせによって各クライアントアプリ22を識別するのが妥当だからである。
当該クライアントアプリ情報50が未登録である場合(S14でNo)、クライアントアプリ登録部121は、当該クライアントアプリ情報50をクライアントアプリ管理テーブル127に新規に登録する(S15)。
図7は、クライアントアプリ管理テーブルの構成例を示す図である。同図に示されるように、クライアントアプリ管理テーブル127には、クライアントアプリ情報の各項目の値がそのまま登録される。但し、有効期間は有効期限に置換される。すなわち、クライアントアプリ登録部121は、登録時の時刻に有効期間を加算した時刻を有効期限としてクライアントアプリ管理テーブル127に登録する。なお、同図のクライアント管理テーブル127は、図6におけるクライアントアプリ情報50a及び50bが登録された状態を示す。
続いて、クライアントアプリ登録部121は、登録されたクライアントアプリ情報50に対応するクライアントアプリ22の自動検知応答部221に対し、クライアントアプリ情報50が登録されたことを示すメッセージを送信する(S16)。
一方、受信されたクライアントアプリ情報50がクライアントアプリ管理テーブル127に既に登録されている場合(S14でYes)、クライアントアプリ登録部121は、既に登録されているレコードを、受信されたクライアントアプリ情報50によって更新する(S17)。更新により、有効期限が更新(延長)される。続いて、クライアントアプリ登録部121は、当該クライアントアプリ情報50に対応するクライアントアプリ22の自動検知応答部221に対し、クライアントアプリ情報50が更新されたことを示すメッセージを送信する(S18)。
なお、クライアント登録部121は、ステップS16又はステップS18において送信されるメッセージ内に、クライアントアプリ情報50の有効期限を示す情報を含めるようにしてもよい。当該情報を受信した自動検知応答部221は、当該情報に基づいて、当該有効期限内にクライアントアプリ情報50の再登録要求をクライアントアプリ登録部121に送信するようにしてもよい。
また、ステップS16又はステップS18に応じて、クライアントアプリ22のUI制御部222は、クライアントアプリ情報22が登録又は更新されたことを示す画面を表示装置206にポップアップ表示させてもよい。この場合、ステップS16又はS18におけるメッセージには、クライアントアプリ情報50の登録を行った画像形成装置10の識別情報(機器名又は配置位置を示す情報等)を含めるようにするとよい。そうすることにより、UI制御部222は、当該画面上に、当該クライアントアプリ情報22に対応するクライアントアプリ22のクライアントアプリ表示名と共に登録先の画像形成装置10の識別情報を表示させることができる。その結果、当該画面を参照したユーザは、どの画像形成装置10において当該クライアントアプリ22を利用することができるかを認識することができる。
続いて、クライアントアプリ22の利用時(実行時)の処理手順について説明する。図8は、クライアントアプリの実行時の処理手順を説明するためのシーケンス図である。
例えば、ユーザ(画像形成装置10の操作者)が、操作パネル16において所定のキー(サーバアプリ12に対応するキー)を押下すると、サーバアプリ12のUI制御部122は、サーバアプリ12に対するログイン画面を表示させる(S21)。続いて、ユーザがログイン画面を介してユーザID及びパスワードを入力すると、UI制御部122は、非図示の認証部にユーザの認証を実行させる(S22)。認証に成功すると、ユーザは、画像形成装置10内においてログインユーザとして認識され、以降の処理が実行される。なお、操作者の識別は、ICカードを用いて行われてもよい。すなわち、画像形成装置10に接続されたカードリーダがICカードより読み取った情報に基づいて操作者が識別されてもよい。また、セキュリティ上の要件が低い場合は、単にユーザ一覧を操作パネル16に表示させ、当該ユーザ一覧において選択されたユーザが操作者として識別されるようにしてもよい。
続いて、UI制御部122は、ログインユーザのユーザIDと一致するユーザIDを有するクライアントアプリ情報をクライアントアプリ管理テーブル127より検索し、検索されたクライアントアプリ情報のクライアントアプリ表示名の一覧(クライアントアプリリスト)を操作パネル16に表示させる(S23)。すなわち、各ユーザは、自らのユーザIDをアプリケーション情報に含むクライアントアプリ22のみが利用可能である。
続いて、クライアントアプリリストにおいて実行対象とするクライアントアプリ22が選択され、操作パネル16におけるスタートキーが押下される(S24)。スタートキーの押下に応じ、UI制御部122は、選択されたクライアントアプリ22(以下、「カレントクライアントアプリ」という。)のクライアントアプリ情報に含まれているサービスIDをサービス制御部124に通知する。サービス制御部124は、通知されたサービスIDに応じた処理制御を行う。すなわち、サービス制御部124は、サービスIDの意味を知っており、サービスIDごとにどのような機能を実行すべきかを知っている。なお、サービスIDと実行すべき機能との対応付けについては、サービス制御部124内にロジックとして組み込まれていてもよいし、定義ファイルとしてHDD114に保存されていてもよい。
また、上記S21〜S24の処理の別形態として次のようにすることもできる。操作者がS22のログイン処理を行う前に、クライアントアプリ管理テーブルに登録されているクライアントアプリ情報のクライアントアプリ表示名の一覧を操作パネル16に表示し(S231)、表示された一覧から所望のクライアントアプリが選択されると選択されたクライアントアプリに対応付けられたユーザの一覧をクライアントアプリ管理テーブルから取得して操作パネル16に表示し(S232)、操作パネル16に表示されたユーザの一覧からユーザの選択がなされると、選択されたユーザについてログイン処理を実行する(S22)。ログイン処理によりユーザの認証が成功すると、操作パネル16におけるスタートキーの押下(S24)によりサービス制御部へのサービスIDの通知が行われる。
例えば、カレントクライアントアプリよりサービス設定情報を取得する必要がある場合、サービス制御部124は、クライアントアプリ連携部126に対してサービスIDに応じたサービス設定情報(例えば、サービスIDが「scan」であれば、スキャン機能に対する設定情報であり、サービスIDが「print」であれば、印刷機能に対する設定情報)の取得を指示する。この際、カレントクライアントアプリのクライアントアプリアドレスがクライアントアプリ連携部126に通知される。当該指示に応じ、クライアントアプリ連携部126は、クライアントアプリアドレスに基づいて、カレントクライアントアプリ22に対してサービス設定情報の送信を要求する(S25)。
カレントクライアントアプリのサーバアプリ連携部224は、当該要求を受信すると、カレントクライアントアプリに対応する設定情報管理ファイル226よりサービス設定情報を取得し(読み込み)、当該サービス設定情報をクライアントアプリ連携部126に返信する(S26)。
図9は、サービス設定情報の具体例を示す図である。同図において、226aは、ScanToMeアプリの設定情報管理ファイル226に格納されているサービス設定情報の一例である。また、226bは、MyPrintアプリの設定情報管理ファイル226に格納されているサービス設定情報の一例である。
それぞれのサービス設定情報は、サーバ情報及びクライアント情報より構成されている。サーバ情報は、画像形成装置10(サーバアプリ12)がサービスを実行するにあたり必要な情報である。クライアント情報は、クライアントPC20(クライアントアプリ22)が、画像形成装置10にサービスを実行させるにあたり必要となる情報である。
例えば、サービス設定情報226aにおけるサーバ情報はスキャンの実行条件である。クライアント情報は、スキャンの実行結果である画像データを保存すべきフォルダの名前。また、サービス設定情報226bにおけるサーバ情報は印刷の実行条件である。クライアント情報は、印刷対象とするファイルの名前である。
したがって、基本的に、サービス設定情報の全てがサーバアプリ12に送信される必要はない。少なくともサーバ情報が送信されればよい。但し、MyPrintアプリの場合、クライアント情報に指定されている対象ファイルを取得し、当該対象ファイルをサーバ情報と共にサーバアプリ12に送信する。このように、クライアント情報の位置付け(利用されるタイミング等)は、クライアントアプリ22に応じて異なりうる。
クライアントアプリ連携部126によって受信されたサービス設定情報は、サービス制御部124に通知される。サービス制御部124は、サービスIDに対応する機能制御部125を呼び出し、当該サービス設定情報を通知する。
なお、サービス設定情報は、クライアントアプリ22の検知時にクライアント情報50と共にクライアントアプリ登録部121に送信され、クライアントアプリ管理テーブル127に登録されていてもよい。この場合、ステップS25及びS26においてサービス設定情報が取得される必要はない。但し、画像形成装置10のような組み込み系の機器は搭載されているメモリ容量は小さいことに鑑みれば、クライアントアプリ管理テーブル127には、クライアントアプリ情報50のみが登録される方が望ましい。
続いて、呼び出された機能制御部125は、当該サービス設定情報に基づいて当該機能(スキャン機能又は印刷機能等)を実行する(S27)。例えば、スキャン機能に対応する機能制御部125であれば、ユーザによって画像形成装置10にセットされた原稿に対するスキャンをスキャナ12に実行させ、その結果得られる画像データを機能の実行結果としてサービス制御部124に出力する。また、印刷機能に対応する機能制御部125であれば、サービス設定情報と共にクライアントアプリ22より受信された印刷対象のファイルの印刷をプリンタ13に実行させ、その結果(例えば、印刷の成否)を示す情報を機能の実行結果としてサービス制御部124に出力する。
サービス制御部124は、機能の実行結果のカレントクライアントアプリへの送信をクライアントアプリ連携部126に指示する。クライアントアプリ連携部126は、当該指示に応じ、機能(サービス)の実行結果をサーバアプリ連携部224に送信する(S28)。
サーバアプリ連携部224によって機能の実行結果が受信されると、カレントクライアントアプリは、自らに実装されている業務ロジックに応じた処理を実行する。例えば、カレントクライアントアプリは、機能の実行結果に含まれている画像データ(スキャンでーた)を、サービス設定情報226aのクライアント情報に登録されている保存先に保存する。また、カレントクライアントアプリは、機能の実行結果に含まれている印刷結果を表示装置206に表示させる。また、カレントクライアントアプリが外部アプリ27と連携するクライアントアプリ22であれば、カレントクライアントアプリの外部アプリ実行部225は外部アプリ27を呼び出し、機能の実行結果を当該外部アプリ27に通知する(S29)。呼び出された外部アプリ27は、当該外部アプリ27に固有の処理を実行する(S30)。外部アプリ27による処理は、所定のものに限定されず、実現したいソリューション又はワークフロー等に応じて様々である。例えば、スキャン画像に対してOCR(Optical Character Reader)を実行してもよいし、所定の文書管理DBにスキャン画像を登録してもよい。
外部アプリ実行部225が、外部アプリ27の処理の実行を検知すると(S31)、サーバアプリ連携部224は、カレントクライアントアプリの処理(クライアント処理)の終了をクライアントアプリ連携部126に通知する(S32)。クライアントアプリ連携部126によるクライアント処理の通知の受信に応じ、UI制御部122は、カレントクライアントアプリによる処理の終了を操作パネル16に表示させる(S33)。
ところで、クライアントアプリ検知部123によって検知されたクライアントアプリ22はその後も起動しているとは限らない。例えば、ユーザの都合等に応じてクライアントアプリ22の起動が停止される場合もある。クライアントPC20の電源がOFFにされる場合もある。また、クライアントアプリ検知部123による自動検知処理の実行後にクライアントアプリ22が起動される場合もある。したがって、クライアントアプリ管理テーブル127と、実際に利用可能なクライアントアプリ22との間に不整合が生じる可能性がある。そうすると、操作パネル16に表示されたクライアントアプリリストにおいて選択されたクライアントアプリ22を実行できなかったり、実行可能なクライアントアプリ22がクライアントアプリリスト内に含まれていなかったりといった事態が生じうる
そこで、クライアントアプリ検知部123は、クライアントアプリ22の自動検知を定期的(例えば、数秒、数分、又は数時間おき等)に行うようにしてもよい。そうすることにより、新たに起動されたクライアントアプリ22のクライアントアプリ情報50が適切にクライアントアプリ管理テーブル127に登録されうる。また、併せてクライアントアプリ登録部121が図10に示される処理を定期的に実行してもよい。
図10は、クライアントアプリ管理テーブルからのクライアントアプリ情報の削除処理を説明するためのフローチャートである。
ステップS41において、クライアントアプリ登録部121は、クライアントアプリ管理テーブル127に登録されているレコードのうち、最初のレコードをチェック対象とする。続いて、クライアントアプリ登録部121は、クライアントアプリ管理テーブル127の全レコードについてチェックを完了したか否かを判定する(S42)。
全レコードについてチェックが完了した場合(S42でYes)、図10の処理は終了する。全レコードについてチェックが完了していない場合(S42でNo)、クライアントアプリ登録部121は、チェック対象のレコードに係るクライアントアプリ情報50は削除対象か否かを判定する(S43)。具体的には、現在時刻が、当該クライアントアプリ情報50の有効期限を経過しているか否かを判定する。
当該クライアントアプリ情報50が削除対象である場合(現在時刻が有効期限を経過している場合)(S43でYes)、クライアントアプリ登録部121は、当該クライアントアプリ情報50をクライアントアプリ管理テーブル127より削除する(S44)。続いて、クライアントアプリ登録部121は、当該クライアントアプリ情報50に係るクライアントアプリ22の自動検知応答部221に対して、クライアントアプリ情報50の削除を通知する(S45)。なお、当該通知を受けたクライアントアプリ22(すなわち、実行可能な状態にあるにも拘わらずクライアントアプリ管理テーブル127における登録が解除されたクライアントアプリ22)の自動検知応答部221は、当該通知に応じて改めてアプリケーション情報50の再登録の要求をクライアントアプリ登録部121に送信するようにしてもよい。
続いて、クライアントアプリ登録部121は、チェック対象を次のレコードとし(S46)、ステップS42以降の処理を繰り返す。
図10の処理によれば、有効期限の切れたクライアントアプリ情報50をクライアントアプリ管理テーブル127より削除することができる。したがって、クライアントアプリ検知部123による定期的な自動検知処理と組み合わせることにより、クライアントアプリ管理テーブル127と、実際に利用可能なクライアントアプリ22との不整合を低減させることができる。
なお、有効期限切れによりアプリケーション情報50が削除されたクライアントアプリ22であっても、その後にクライアントアプリ検知部123によって検知されれば、当該クライアントアプリ22のクライアントアプリ情報50はクライアントアプリ管理テーブル127に再登録される。再登録後は、図8において説明したように当該クライアントアプリ22を画像形成装置10より実行させることができる。
また、クライアントPC20がクライアントアプリ22の終了したことを画像形成装置10に通知することにより、各クライアントアプリ情報の有効期限に関わらず、クライアントアプリ管理部から当該通知を受けたクライアントPC20に関するクライアントアプリ情報を削除するようにしてもよい。
ところで、上記では、サーバアプリ12がクライアントアプリ22を検知する例について説明したが、クライアントアプリ22がサーバアプリ12を検知し、自らのクライアントアプリ情報50の登録を要求するようにしてもよい。斯かる形態のシステム構成例を図11に示す。
図11は、第一の実施の形態における第二のシステム構成例を示す図である。図11中、図1と同一部分には同一符号を付し、その説明は省略する。同図におけるサーバアプリ12は、クライアントアプリ検知部123を有さない。また、クライアントアプリ22は、自動検知応答部221の代わりにサーバアプリ検知部227を有する。
同図の構成の場合、各クライアントアプリ22のサーバアプリ検知部227は、サーバアプリ12の検知用のメッセージ(サーバアプリ検知用メッセージ)をネットワーク30上に送信する。各サーバアプリ12のクライアントアプリ登録部121は、サーバアプリ検知用メッセージを受信すると、当該メッセージに対する応答を送信する。サーバアプリ検知部227は、当該応答の送信元のクライアントアプリ登録部121に対してクライアントアプリ情報を送信する。その後は、図4のステップS14以降と同様でよい。
なお、サーバアプリ検知用メッセージ内に、クライアントアプリ22が利用したいサービスのサービスID(すなわち、当該クライアントアプリ22に係るサービス設定情報に含まれているサービスID)を含めてもよい。サービスIDの含まれているサーバアプリ検知用メッセージを受信したクライアントアプリ登録部121は、当該画像形成装置10において当該サービスIDに対応した機能が実行可能か否か(当該サービスIDに対応した機能制御部125が存在するか否か)を判定し、当該機能を実行可能である場合に応答を送信すればよい。そうすることにより、クライアントアプリ22が要求するサービスを実行可能な画像形成装置10に対してのみ当該クライアントアプリ22のクライアントアプリ情報が登録される。その結果、画像形成装置10がサービスを提供可能なクライアントアプリ22のみをクライアントアプリリストとして操作パネル16に表示させることができる。なお、画像形成装置10における、サービスIDに対応した機能の実行の可否の判定は、例えば、実行可能なサービスIDの一覧をHDD114に予め保存しておき、当該一覧に基づいて行えばよい。
一方、図1の構成の場合も同様に、クライアントアプリ検知部123は、画像形成装置10が実行可能なサービスのサービスIDの一覧をクライアント検知用メッセージ内に含めるようにしてもよい。当該クライアント検知用メッセージを受信した各クライアントアプリ22の自動検知応答部221は、当該クライアント検知用メッセージに含まれているサービスIDが、自らが要求するサービスのサービスIDであれば応答を返信する。そうすることにより、当該画像形成装置10が実行可能な機能に関してサービスを要求するクライアントアプリ22のクライアントアプリ情報のみがクライアントアプリ管理テーブル127に登録される。
上述したように、第一の実施の形態によれば、画像形成装置10の操作パネル16から、当該画像形成装置10の機能を組み込んだ任意のクライアントアプリ22(ワークフロー)を実行することが可能である。この際、画像形成装置10の機能については、ユーザに関連付けられたクライアントアプリ22単位で設定情報(サービス設定情報)を保持しているため、より個人的な(ユーザごとに固有の)ワークフローを実現することができる。
また、各クライアントアプリ22を実行させるための操作は、異なる機能又はワークフローであっても、統一的である(クライアントアプリリストからの選択とスタートキーの押下)であるため、操作者は、機能やワークフローごとに実行のための操作を覚える必要はない。
更に、画像形成装置10はシンプルな画像入出力機能を提供するのみでよく、付加的な処理はクライアントPC20上で実行される。このため、画像形成装置10の機能の複雑化を回避することができると共に、あらゆる意味において制約の少ないクライアントPC20上に複雑な機能を実装することができる。
また、各クライアントアプリ22は、自動的に検知され画像形成装置10に登録される。したがって、ユーザが画像形成装置10に対して各クライアントアプリ22の登録作業を行う必要はない。また、不在のクライアントPC20上のクライアプリケーション22を登録対象から除外することができるため、画像形成装置10においてクライアントアプリ22を選択させる際、余分な実行候補が提示されることを回避することができる。
次に、クライアントアプリ22の構成の変形例として第二の実施の形態を説明する。図12は、第二の実施の形態におけるクライアントPCのソフトウェア構成例を示す図である。図12中、図1と同一部分には同一符号を付している。なお、画像形成装置10のソフトウェア構成例は、図1と同様でよい。
第二の実施の形態において第一の実施の形態と大きく異なる点は、クライアントPC20がクライアントアプリマネージャ24を有する点である。クライアントアプリマネージャ24は、複数のクライアントアプリ22aに関して、サーバアプリ12との連携に関する処理(通信処理等)を統合的又は共通的に行う部分である。同図において、クライアントアプリマネージャ24は、自動検知応答部241、サーバアプリ連携部242、クライアントアプリ登録部243、クライアントアプリ管理テーブル244、及び結果管理部245等を有する。
自動検知応答部241、サーバアプリ連携部242の機能は、図1における自動検知応答部221、サーバアプリ連携部242と同様である。但し、自動検知応答部241及びサーバアプリ連携部242は、クライアントアプリ管理テーブル244にクライアントアプリ情報が登録されている各クライアントアプリ22aの代理として統合的に各機能を実行する点が異なる。クライアントアプリ登録部243は、各クライアントアプリ22aより通知されるクライアントアプリ情報をクライアントアプリ管理テーブル244に登録する。結果管理部245は、サーバアプリ連携部242によって受信される機能の実行結果を管理し、当該実行結果に対応するクライアントアプリ22aに伝達する。なお、クライアントアプリマネージャ24は、同一のクライアントPC20上で動作するクライアントアプリ22aのみならず、他の装置(例えば、クライアントPC20と無線通信が可能な携帯端末50)において動作するクライアントアプリ22aについても管理が可能である。
一方、各クライアントアプリ22aは、UI制御部222、Webサービス実行部223、外部アプリ実行部225、設定情報管理ファイル226、登録要求部228、及び結果取得部229等を有する。登録要求部228は、当該クライアントアプリ22aのクライアントアプリ情報の登録をクライアントアプリマネージャ24のクライアントアプリ登録部243に要求する。結果取得部229は、結果管理部245によって管理されている機能の実行結果を取得する。なお、第二の実施の形態において、各クライアントアプリ22aは、自動検知応答部221及びサーバアプリ連携部224に相当する機能は有さない。上記したように、クライアントアプリマネージャ24が代行してくれるからである。
以下、第二の実施の形態におけるシステムの処理手順について説明する。図13は、クライアントアプリマネージャに対するクライアントアプリの登録処理を説明するためのシーケンス図である。
ステップS51、S52では、ユーザの指示入力等に応じて、アプリケーションプラットフォーム23は、クライアントアプリマネージャ24及び各クライアントアプリ22aを起動させる。クライアントアプリ22aの登録要求部228は、起動に応じ、当該クライアントアプリ22aの登録要求部228は、当該クライアントアプリ22aのクライアントアプリ情報の登録をクライアントアプリ登録部243に要求する(S53)。
図14は、第二の実施の形態におけるクライアントアプリ情報の構成例を示す図である。同図において、クライアントアプリ情報50aは、第一の実施の形態におけるクライアントアプリ情報50(図5参照)に対してホストアドレスを管理情報の構成要素として追加したものである。ホストアドレスは、当該クライアントアプリ22aがインストールされているクライアントPC20のIPアドレスである。
ステップS53における要求に応じ、クライアントアプリマネージャ24は、クライアントアプリ情報をクライアントアプリ管理テーブル24に登録し、結果取得用コマンドをクライアントアプリ22aに通知する(S54)。ここで、結果取得用コマンドとは、クライアントアプリマネージャ24によってサーバアプリ12のクライアントアプリ連携部126より受信される機能の実行結果を、クライアントアプリ22aがクライアントアプリ22aに対して問い合わせるためのコマンドである。
図13の変形例について説明する。図15は、クライアントアプリマネージャに対するクライアントアプリの登録処理を説明するための第二のシーケンス図である。
ステップS61において、アプリケーションプラットフォーム23は、クライアントアプリ22aのみを起動させる。クライアントアプリ22aの登録要求部228は、起動に応じ、当該クライアントアプリ22aのクライアントアプリ情報50aの登録をクライアントアプリ登録部243に要求する(S62)。しかし、クライアントアプリマネージャ24は起動されていないため、当該要求に対する応答は返信されない(S63)。そこで、クライアントアプリ22aは、ステップS62の登録要求を定期的に繰り返す。
その後、ユーザからの指示入力等に応じ、アプリケーションプラットフォーム23は、クライアントアプリマネージャ24を起動させる(S64)。クライアントアプリマネージャ24は、クライアントアプリ22aからのクライアントアプリ情報50aの登録要求を受信すると(S65)、クライアントアプリ情報50aの登録処理を行い、結果取得用コマンドを返信する(S66)。
続いて、図13又は図15において、クライアントアプリ22aからのクライアントアプリ情報50aの登録要求に応じてクライアントアプリマネージャ24によって実行される処理の詳細について説明する。図16は、クライアントアプリマネージャによるクライアントアプリの登録処理を説明するためのフローチャートである。
クライアントアプリ情報50aの登録要求を受信すると(S71)、受信されたクライアントアプリ情報50が既にクライアントアプリ管理テーブル244に登録されているか否かを判定する(S72)。当該クライアントアプリ情報50aが未登録である場合(S72でYes)、当該クライアントアプリ情報50aをクライアントアプリ管理テーブル244に新規に登録する(S73)。
図17は、クライアントマネージャによって管理されるクライアントアプリ管理テーブルの構成例を示す図である。同図に示されるように、クライアントアプリ管理テーブル244には、クライアントアプリ情報の各項目の値がそのまま登録される。但し、有効期間は有効期限に置換される。
一方、登録が要求されたクライアントアプリ情報22aが既に登録されている場合(S72でNo)、既に登録されているクライアントアプリ情報22aの有効期限を現在時刻と有効期間とに基づいて更新する(S74)。
続いて、当該クライアントアプリ22aに対する結果取得用コマンドを生成する(S75)。例えば、結果取得用コマンドは、次のようなテンプレート文字列(雛形)の<>内に該当する文字列を当てはめることにより生成される。
http://<クライアントアプリマネージャ24のホストアドレス>:<クライアントアプリマネージャ24のポート番号>/<クライアントアプリ22aのアプリID>+<クライアントアプリ22aのホストアドレス>/result
例えば、クライアントアプリマネージャ24のホストアドレスが「201.XXX.XXX.XXX」であり、ポート番号が「8080」の場合であって、図17の1レコード目に対応するクライアントアプリ情報50aが登録された場合は、次のような結果取得用コマンド(1)が生成される。
http://201.XXX.XXX.XXX:8080/apl001/201.XXX.XXX.XXX/result ・・・ (1)
このように、結果取得用コマンドは、各クライアントアプリ22aに対して一意なURLとなる。
続いて、生成された結果取得用コマンドをクライアントアプリ22aに返信する(S76)。
その後、クライアントアプリマネージャ24は、クライアントアプリ管理テーブル244に登録されたクライアントアプリ情報50aを用いて、第一の実施の形態の図4、図8において各クライアントアプリ22aによって行われていた処理を代行(統合的に実行)する。
例えば、サーバアプリ12のクライアントアプリ検知部123より送信されるクライアントアプリ検知用メッセージ等に対しては、クライアントアプリマネージャ24の自動検知応答部241が応答を行い、クライアントアプリ管理テーブル244に登録されているクライアントアプリ情報50aの登録をサーバアプリ121のクライアントアプリ登録部121に要求する(図4:S12〜S14)。
また、図8のステップS25において、サーバアプリ22のクライアントアプリ連携部126より送信されるサービス設定情報の送信要求は、クライアントアプリマネージャ24のサーバアプリ連携部242が受信する。サーバアプリ連携部242は、当該送信要求に含まれているアプリIDに対応するクライアントアプリ22aよりサービス設定情報を取得し、クライアントアプリ連携部126に対して返信する。なお、各クライアントアプリ22aのサービス設定情報は、クライアントアプリ情報50aと同じタイミングで各クライアントアプリ22aより取得され、クライアントアプリ管理テーブル244に登録されていてもよい。
また、図8のステップS28において、クライアントアプリ連携部126より送信される機能の実行結果は、クライアントアプリマネージャ24のサーバアプリ連携部242が受信し、結果管理部245が、メモリ装置203又は補助記憶装置202内においてクライアントアプリ22aとごとに異なる記憶領域(例えば、フォルダ等、クライアントアプリ22aに対して通知した結果取得用コマンドのURLに対応する記憶領域。以下、「結果保持領域」という。)に保存しておく。
続いて、このようにクライアントアプリマネージャ24によって保持されている機能の実行結果を、当該実行結果に対応するクライアントアプリ22aに伝達するための処理手順について説明する。
図18は、クライアントアプリへの機能の実行結果の伝達処理の処理手順を説明するためのシーケンス図である。
クライアントアプリ22aの結果取得部229は、クライアントアプリ情報50aの登録後(図13又は図15の実行後)、定期的に結果取得用コマンドをクライアントアプリマネージャ24に対して発行している(S81)。結果取得用コマンドに応じ、ライアントアプリマネージャ24の結果管理部245は、次のような処理を実行する。
図19は、結果取得用コマンドに応じて結果管理部が実行する処理の処理手順を説明するためのフローチャートである。
ステップS91において結果取得用コマンドを受信する(S91)。ここで、結果取得用コマンドは、例えば、次のように構成される。
http://201.XXX.XXX.XXX:8080/apl001/201.XXX.XXX.XXX/result?method=GET&apl_id=apl001&host=201.XXX.XXX.XXX ・・・ (2)
結果取得用コマンド(2)において、「?」以降については、クライアントアプリ22aの結果取得部229が自らのクライアントアプリ情報に基づいて付加した部分(以下、「メソッド情報」という。)であり、以下のような文法に基づく。
method=Get&apl_id=<クライアントアプリ22aのアプリID>&host=<クライアントアプリ22aのホストアドレス>
続いて、結果取得用コマンドの発行元の正当性を判定する(S92)。具体的には、結果取得用コマンドの発行元が、クライアントアプリマネージャ24より当該結果取得用コマンドを入手したものであるか否かを判定する。当該判定は、結果取得用コマンドに付加されているはずのメソッド情報に基づいて行う。メソッド情報に含まれているクライアントアプリ22aのアプリIDとホストアドレスが、メソッド情報の前(?以前)に含まれているものと一致すれば、結果取得用コマンドの発行元は正当であると判定する。それ以外の場合は、結果取得用コマンドの発行元は不正であると判定する。
結果取得用コマンドの発行元は正当であると判定した場合(S92でYes)、当該結果取得用コマンドによって特定されるURLに対応する結果保持領域に機能の実行結果(結果データ)が保持(保存)されているか否かを確認する(S93)。結果データが保持されている場合は結果データを返信し(S94)、結果データが保持されていない場合は結果データは無いことを示すデータを返信する(S95)。
一方、結果取得用コマンドの発行元は不正であると判定した場合(S92でNo)、結果データの取得は許可できないことを示すデータを返信する(S96)。
図18に戻る。結果データが返信された場合、クライアントアプリ22aは、結果データ(例えば、スキャン画像)を用いてクライアントアプリ22aに固有の業務ロジックを実行する(S83)。
続いて、クライアントアプリ22aの終了時の処理について説明する。ここで、終了時とは、クライアントアプリ22のプロセス又はスレッドの終了時(停止時)をいう。図20は、クライアントアプリの終了時の処理手順を説明するためのシーケンス図である。
ユーザによる指示入力等に応じてアプリケーションプラットフォー23が、クライアントアプリ22aに対して終了を指示すると、当該クライアントアプリ22aの登録要求部228は、当該クライアントアプリ22aのアプリIDを引数として、登録の解除をクライアントアプリマネージャ24に要求する(S102)。クライアントアプリマネージャ24のクライアントアプリ登録部243は、当該クライアントアプリ22aの登録解除処理を実行し、その結果をクライアントアプリ22aに通知する(S103)
続いて、図20においてクライアントアプリ登録部243によって実行されるクライアントアプリ22aの登録解除処理について説明する。
図21は、クライアントアプリマネージャのクライアントアプリ登録部によるクライアントアプリの登録解除処理を説明するためのフローチャートである。
クライアントアプリ22aの登録要求部228より、アプリIDと共に登録の解除要求を受信すると(S111)、当該アプリIDに係るレコードがクライアントアプリ管理テーブル244に存在するか否かを判定する(S112)。当該レコードが存在する場合(S112でYes)、当該レコード(クライアントアプリ情報)を削除し(S113)、登録解除を完了した旨を登録要求部228に返信する(S114)。
一方、当該レコードが存在しない場合(S112でNo)、解除対象が無い旨を登録要求部228に返信する(S115)。
図21の処理によれば、起動中のクライアントアプリ22aと、クライアントアプリ管理テーブル244との整合性を適切に図ることができる。
なお、クライアントアプリマネージャ24のクライアント登録部243は、有効期限の切れたクライアントアプリ情報を定期的にクライアントアプリ管理テーブル244より削除するようにしてもよい。図22は、クライアントアプリマネージャのクライアント登録部による有効期限切れのクライアントアプリ情報の削除処理を説明するためのフローチャートである。
ステップS121において、クライアントアプリ管理テーブル244に登録されているレコードのうち、最初のレコードをチェック対象とする。続いて、クライアントアプリ管理テーブル244の全レコードについてチェックを完了したか否かを判定する(S122)。全レコードについてチェックが完了した場合(S122でYes)、図22の処理は終了する。全レコードについてチェックが完了していない場合(S122でNo)、チェック対象のレコードに係るクライアントアプリ情報50aは、削除対象か否かを判定する(S123)。具体的には、現在時刻が、当該クライアントアプリ情報50aの有効期限を経過しているか否かを判定する。
当該クライアントアプリ情報50aが削除対象である場合(現在時刻が有効期限を経過している場合)(S123でYes)、当該クライアントアプリ情報50aをクライアントアプリ管理テーブル244より削除する(S124)。 続いて、チェック対象を次のレコードとし(S125)、ステップS122以降の処理を繰り返す。
図22の処理と、図13又は図15の処理とを定期的に行うことにより、図21の処理が行われない場合であっても、起動中のクライアントアプリ22aと、クライアントアプリ管理テーブル244との整合性を適切に図ることができる。
上述したように、第二の実施の形態によれば、クライアントアプリマネージャ24が統合的に画像形成装置10との通信を行う。したがって、通信ポートの占有数を削減することができる。すなわち、第一の実施の形態の場合、クライアントアプリ22間で同一の通信ポートをシェアすることはできない。このため、クライアントアプリ22の数に比例して通信ポートの占有数が増加してしまう。一方、第二の実施の形態では、通信用のモジュールの共用が可能となるため、クライアントアプリ22の数の増加に影響を受けることなく最低限のポートで運用することができる。
また、第一の実施の形態では各クライアントアプリ22に実装されていた機能の一部が、第二の実施の形態ではクライアントアプリケーションマネージャ24によって実現されるため、各クライアントアプリ22aを軽量化することができる。したがって、各クライアントアプリ22aの配布サイズを小さくすることができる。
また、各クライアントアプリ22aについては、画像形成装置10とのやりとりに関して実装する必要がない。したがって、クライアントアプリ22の本来の機能(業務ロジック等)に開発リソースを集中させることができる。
一方、第一の実施の形態におけるクライアントアプリ22の構成の場合、各クライアントアプリ22の独立性が高く、一つのクライアントアプリ22内において画像形成装置10との通信から業務ロジックの実行までの機能が完結している。したがって、クライアントアプリマネージャ24のようなプラットフォームのインストールを前提とせずに、各クライアントアプリ22を単独でインストールしてそのまま利用することができる。
なお、サーバアプリ12に相当する機能を実装可能な装置は画像形成装置に限定されない。所定のサービス(機能)をネットワークを介して提供可能な装置(例えば、Webサービスを備えた装置等)であればサーバアプリ12に相当する機能を実装可能である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
第一の実施の形態におけるシステム構成例を示す図である。 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるクライアントPCのハードウェア構成例を示す図である。 クライアントアプリ情報の登録時の処理手順を説明するためのフローチャートである。 クライアントアプリ情報の構成例を示す図である。 クライアントアプリ情報の具体例を示す図である。 クライアントアプリ管理テーブルの構成例を示す図である。 クライアントアプリの実行時の処理手順を説明するためのシーケンス図である。 サービス設定情報の具体例を示す図である。 クライアントアプリ管理テーブルからのクライアントアプリ情報の削除処理を説明するためのフローチャートである。 第一の実施の形態における第二のシステム構成例を示す図である。 第二の実施の形態におけるクライアントPCのソフトウェア構成例を示す図である。 クライアントアプリマネージャに対するクライアントアプリの登録処理を説明するためのシーケンス図である。 第二の実施の形態におけるクライアントアプリ情報の構成例を示す図である。 クライアントアプリマネージャに対するクライアントアプリの登録処理を説明するための第二のシーケンス図である。 クライアントアプリマネージャによるクライアントアプリの登録処理を説明するためのフローチャートである。 クライアントマネージャによって管理されるクライアントアプリ管理テーブルの構成例を示す図である。 クライアントアプリへの機能の実行結果の伝達処理の処理手順を説明するためのシーケンス図である。 結果取得用コマンドに応じて結果管理部が実行する処理の処理手順を説明するためのフローチャートである。 クライアントアプリの終了時の処理手順を説明するためのシーケンス図である。 クライアントアプリマネージャのクライアントアプリ登録部によるクライアントアプリの登録解除処理を説明するためのフローチャートである。 クライアントアプリマネージャのクライアント登録部による有効期限切れのクライアントアプリ情報の削除処理を説明するためのフローチャートである。
符号の説明
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 ネットワークインタフェース
16 操作パネル
20 クライアントPC
22 クライアントアプリ
23 アプリケーションプラットフォーム
24 クライアントアプリマネージャ
30 ネットワーク
111 CPU
112 RAM
113 ROM
114 HDD
121 クライアントアプリ登録部
122 UI制御部
123 クライアントアプリ検知部
124 サービス制御部
125 機能制御部
126 クライアントアプリ連携部
127 クライアントアプリ管理テーブル
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
206 表示装置
207 入力装置
221 自動検知応答部
222 UI制御部
223 Webサービス実行部
224 サーバアプリ連携部
225 外部アプリ実行部
226 設定情報管理ファイル
227 サーバアプリ検知部
228 登録要求部
229 結果取得部
241 自動検知応答部
242 サーバアプリ連携部
243 クライアントアプリ登録部
244 クライアントアプリ管理テーブル
245 結果管理部
B バス

Claims (12)

  1. 画像形成装置であって、
    ネットワークを介して接続する情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を前記情報処理装置より受信し、アプリ情報管理手段に記録するアプリ情報受信手段と、
    当該画像形成装置の操作者のユーザ識別情報に係る前記アプリケーション情報の一覧を前記アプリ情報管理手段より取得し、表示装置に表示させる表示制御手段と、
    少なくとも前記一覧において選択されたアプリケーション情報に含まれる前記機能識別情報に係る機能に対する設定情報を前記情報処理装置より受信する設定情報受信手段と、
    前記機能識別情報に係る機能を前記設定情報に基づいて実行させる機能実行制御手段と、を有する画像形成装置。
  2. 前記アプリ情報受信手段は、有効期間を示す情報を含む前記アプリケーション情報を定期的に受信し、
    前記有効期間を示す情報に基づいて、有効期限の切れた前記アプリケーション情報を前記アプリ情報管理手段より削除する削除手段を有することを特徴とする請求項1記載の画像形成装置。
  3. 前記アプリ情報受信手段によって受信される前記アプリケーション情報に含まれる有効期間に基づいて、前記アプリ情報管理手段に管理される該受信したアプリケーション情報の有効期限を示す情報を更新し、更新後の前記受信したアプリケーション情報の有効期限を示す情報前記情報処理装置に送信する有効期限送信手段を有することを特徴とする請求項2記載の画像形成装置。
  4. 前記機能の実行結果に関する情報を前記情報処理装置に送信する結果送信手段を有し、
    前記アプリケーション情報は、ネットワーク上において前記アプリケーションを識別するアプリ識別情報を含み、
    前記結果送信手段は、前記機能の実行結果に関する情報を前記アプリ識別情報に基づく送信先に送信することを特徴とする請求項1乃至3いずれか一項記載の画像形成装置。
  5. 請求項4記載の画像形成装置とネットワークを介して接続する情報処理装置であって、
    当該情報処理装置が有するアプリケーションに関する前記機能識別情報及び前記ユーザ識別情報を含む前記アプリケーション情報を前記画像形成装置に送信するアプリ情報送信手段と、
    前記機能に対する設定情報を前記画像形成装置に送信する設定情報送信手段と、
    前記機能の実行結果に関する情報を前記画像形成装置より受信する結果受信手段とを有し、
    前記アプリケーションは、前記実行結果に関する情報を用いて処理を実行することを特徴とする情報処理装置。
  6. 前記アプリ情報送信手段は、前記アプリケーション情報の送信に応じて前記画像形成装置より送信される、前記アプリケーション情報の有効期限を示す情報に基づいて、前記アプリケーション情報を前記有効期限内に再送信することを特徴とする請求項5記載の情報処理装置。
  7. 複数の前記アプリケーションに関して統合的に前記画像形成装置との通信を行うアプリケーション管理手段を有し、
    前記アプリケーション管理手段は、前記アプリ情報送信手段と、前記設定情報送信手段と、前記結果受信手段とを含むことを特徴とする請求項5又は6記載の情報処理装置。
  8. 画像形成装置と情報処理装置とを含む情報処理システムであって、
    前記画像形成装置は、
    前記情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を前記情報処理装置より受信し、アプリ情報管理手段に記録するアプリ情報受信手段と、
    当該画像形成装置の操作者のユーザ識別情報に係る前記アプリケーション情報の一覧を前記アプリ情報管理手段より取得し、表示装置に表示させる表示制御手段と、
    少なくとも前記一覧において選択されたアプリケーション情報に含まれる前記機能識別情報に係る機能に対する設定情報を前記情報処理装置より受信する設定情報受信手段と、
    前記機能識別情報に係る機能を前記設定情報に基づいて実行させる機能実行制御手段と、
    前記機能の実行結果に関する情報を前記情報処理装置に送信する結果送信手段とを有することを特徴とする情報処理システム。
  9. 画像形成装置が実行する情報処理方法であって、
    ネットワークを介して接続する情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を前記情報処理装置より受信し、アプリ情報管理手段に記録するアプリ情報受信手順と、
    当該画像形成装置の操作者のユーザ識別情報に係る前記アプリケーション情報の一覧を前記アプリ情報管理手段より取得し、表示装置に表示させる表示制御手順と、
    少なくとも前記一覧において選択されたアプリケーション情報に含まれる前記機能識別情報に係る機能に対する設定情報を前記情報処理装置より受信する設定情報受信手順と、
    前記機能識別情報に係る機能を前記設定情報に基づいて実行させる機能実行制御手順と、を有する情報処理方法。
  10. 請求項1乃至4いずれか一項記載の画像形成装置とネットワークを介して接続する情報処理装置が実行する情報処理方法であって、
    当該情報処理装置が有するアプリケーションに関する前記機能識別情報及び前記ユーザ識別情報を含む前記アプリケーション情報を前記画像形成装置に送信するアプリ情報送信手順と、
    前記機能に対する設定情報を前記画像形成装置に送信する設定情報送信手順と、
    前記機能の実行結果に関する情報を前記画像形成装置より受信する結果受信手順とを有し、
    前記アプリケーションは、前記実行結果に関する情報を用いて処理を実行することを特徴とする情報処理方法。
  11. 画像形成装置に、
    ネットワークを介して接続する情報処理装置が有するアプリケーションが当該画像形成装置に対して実行を要求する機能を識別する機能識別情報と、該アプリケーションに関連付けられたユーザを識別するユーザ識別情報とを含むアプリケーション情報を前記情報処理装置より受信し、アプリ情報管理手段に記録するアプリ情報受信手順と、
    当該画像形成装置の操作者のユーザ識別情報に係る前記アプリケーション情報の一覧を前記アプリ情報管理手段より取得し、表示装置に表示させる表示制御手順と、
    少なくとも前記一覧において選択されたアプリケーション情報に含まれる前記機能識別情報に係る機能に対する設定情報を前記情報処理装置より受信する設定情報受信手順と、
    前記機能識別情報に係る機能を前記設定情報に基づいて実行させる機能実行制御手順と、
    前記機能の実行結果に関する情報を前記情報処理装置に送信する結果送信手順とを実行させるためのプログラム。
  12. 請求項1乃至4いずれか一項記載の画像形成装置とネットワークを介して接続する情報処理装置に、
    当該情報処理装置が有するアプリケーションに関する前記機能識別情報及び前記ユーザ識別情報を含む前記アプリケーション情報を前記画像形成装置に送信するアプリ情報送信手順と、
    前記機能に対する設定情報を前記画像形成装置に送信する設定情報送信手順と、
    前記機能の実行結果に関する情報を前記画像形成装置より受信する結果受信手順とを実行させ、
    前記アプリケーションは、前記実行結果に関する情報を用いて処理を実行することを特徴とするプログラム。
JP2008237123A 2008-09-16 2008-09-16 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム Active JP5176806B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008237123A JP5176806B2 (ja) 2008-09-16 2008-09-16 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
US12/556,287 US20100067035A1 (en) 2008-09-16 2009-09-09 Image forming apparatus, information processing apparatus, information processing system, information processing method, and program
US14/553,485 US20150077783A1 (en) 2008-09-16 2014-11-25 Image forming apparatus, information processing apparatus, information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008237123A JP5176806B2 (ja) 2008-09-16 2008-09-16 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010074302A true JP2010074302A (ja) 2010-04-02
JP5176806B2 JP5176806B2 (ja) 2013-04-03

Family

ID=42205712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008237123A Active JP5176806B2 (ja) 2008-09-16 2008-09-16 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5176806B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211522A (ja) * 2009-03-10 2010-09-24 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、及びプログラム
JP2013033348A (ja) * 2011-08-01 2013-02-14 Ricoh Co Ltd 情報処理装置及びプログラム
JP2014178894A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 情報処理システム及び情報送信方法
US8964217B2 (en) 2010-12-20 2015-02-24 Ricoh Company, Ltd. Information processing system and method for acquiring workflow from management apparatus using user terminal address
US8990373B2 (en) 2011-07-04 2015-03-24 Ricoh Company, Ltd. Information processing apparatus, information processing system, and storage medium
JP2017228970A (ja) * 2016-06-23 2017-12-28 株式会社リコー 情報処理システム、アプリケーション管理方法、情報処理装置及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147118A (ja) * 1994-11-25 1996-06-07 Canon Inc 情報処理装置および情報処理装置のプリント制御方法
JP2003087479A (ja) * 2001-09-06 2003-03-20 Ricoh Co Ltd 画像読取システム
JP2004213397A (ja) * 2003-01-06 2004-07-29 Brother Ind Ltd 画像データ処理システム、画像データ生成装置、及びプログラム
JP2008153891A (ja) * 2006-12-15 2008-07-03 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147118A (ja) * 1994-11-25 1996-06-07 Canon Inc 情報処理装置および情報処理装置のプリント制御方法
JP2003087479A (ja) * 2001-09-06 2003-03-20 Ricoh Co Ltd 画像読取システム
JP2004213397A (ja) * 2003-01-06 2004-07-29 Brother Ind Ltd 画像データ処理システム、画像データ生成装置、及びプログラム
JP2008153891A (ja) * 2006-12-15 2008-07-03 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211522A (ja) * 2009-03-10 2010-09-24 Ricoh Co Ltd 画像形成装置、情報処理装置、情報処理方法、及びプログラム
US8964217B2 (en) 2010-12-20 2015-02-24 Ricoh Company, Ltd. Information processing system and method for acquiring workflow from management apparatus using user terminal address
US8990373B2 (en) 2011-07-04 2015-03-24 Ricoh Company, Ltd. Information processing apparatus, information processing system, and storage medium
JP2013033348A (ja) * 2011-08-01 2013-02-14 Ricoh Co Ltd 情報処理装置及びプログラム
US9756144B2 (en) 2011-08-01 2017-09-05 Ricoh Company, Ltd. Information processing apparatus, information processing method, and storage medium
US10579311B2 (en) 2011-08-01 2020-03-03 Ricoh Company, Ltd. Information processing apparatus, information processing method, and storage medium
US11599308B2 (en) 2011-08-01 2023-03-07 Ricoh Company, Ltd. Server acquires identification information from a current device among plurality of devices and sends user information corresponding to all users to the current device
JP2014178894A (ja) * 2013-03-14 2014-09-25 Ricoh Co Ltd 情報処理システム及び情報送信方法
JP2017228970A (ja) * 2016-06-23 2017-12-28 株式会社リコー 情報処理システム、アプリケーション管理方法、情報処理装置及びプログラム

Also Published As

Publication number Publication date
JP5176806B2 (ja) 2013-04-03

Similar Documents

Publication Publication Date Title
US11132154B2 (en) Image processing system to support printing by users of chat applications and control method thereof
US10545708B2 (en) Information processing system and method of processing information
US20150077783A1 (en) Image forming apparatus, information processing apparatus, information processing system, information processing method, and program
US8363242B2 (en) Image processing apparatus and image processing apparatus control method for requesting an external apparatus to transmit image data
JP5231620B2 (ja) サーバ装置
US8964206B2 (en) Printing device, management device and management method
US20140129607A1 (en) Information processing apparatus, information processing system, and information processing method
US20170302806A1 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium
JP5169663B2 (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、プログラム、及び記録媒体
US10180814B2 (en) User terminal, image processing device and cloud server to identify plural user information to execute an image processing job upon validating an user information
JP2013029898A (ja) 画像処理システム、携帯端末、画像処理装置の特定方法及び同特定プログラム
JP5176806B2 (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
US8873080B2 (en) Image forming device generating screens for remote and local access, information processing method, and computer-readable recording medium
JP6759897B2 (ja) 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
JP6492711B2 (ja) 中継装置、操作画面提供装置及びプログラム
JP5146283B2 (ja) 画像形成装置、情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2014167679A (ja) ジョブ実行制御システム、ジョブ実行システム、ジョブ実行制御方法及びプログラム
US8424063B2 (en) Workflow management apparatus and workflow management method
US9607163B2 (en) Information processing apparatus, control method, and storage medium storing program
JP2018195268A (ja) 情報処理装置とその制御方法、及びプログラム
JP7179589B2 (ja) 画像形成装置及びログ情報取得システム
JP2013142921A (ja) アプリケーション管理装置、アプリケーション管理システム、プログラムおよびその記録媒体
JP2014160390A (ja) 出力制御装置、出力システム及びプログラム
US9019539B2 (en) Image data transmission apparatus, image data transmission method, and computer-readable storage medium for computer program configured to send image data to a plurality of destinations using separate methods
JP6024314B2 (ja) 情報処理装置、プログラム及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110701

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

R151 Written notification of patent or utility model registration

Ref document number: 5176806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160118

Year of fee payment: 3