以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図において、ユーザ環境2と、ウィジェット管理サーバ50と、OCRサーバ60とは、インターネット等の広域的なネットワーク70を介して接続されている。
ウィジェット管理サーバ50は、例えば、画像形成装置10の販売者又は製造者側に設置されている。ウィジェット管理サーバ50は、ネットワーク70を介して「ウィジェット」と呼ばれるプログラムを一元的に管理するためのWebサイト(以下、「ウィジェット管理サイト」という。)を提供するコンピュータである。ウィジェットの詳細については後述する。なお、一台のウィジェット管理サーバ50は、複数のユーザ環境2に対応しうる。
OCRサーバ60は、OCR(Optical Character Recognition)機能を有償又は無償でネットワーク上に提供するWebサービス(OCRサービス)が実装されたコンピュータである。
ユーザ環境2は、画像形成装置10のユーザのオフィス等におけるコンピュータシステムである。同図において、ユーザ環境2は、LAN(Local Area Network)等のネットワーク40(有線又は無線の別は問わない。)に接続された、一台以上の画像形成装置10、及び一台以上のユーザ端末20等を含む。
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、本実施の形態においては、印刷機能を有さないいわゆるスキャナを画像形成装置10として用いてもよい。
ユーザ端末20は、ユーザが利用する個人端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末20の具体例として、デスクトップ型のPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistance)、又は携帯電話等が挙げられる。
図2は、本発明の実施の形態におけるウィジェット管理サーバのハードウェア構成例を示す図である。図2のウィジェット管理サーバ50は、それぞれバスBで相互に接続されているドライブ装置500と、補助記憶装置502と、メモリ装置503と、CPU504と、インタフェース装置505とを有する。
ウィジェット管理サーバ50での処理を実現するプログラムは、CD−ROM等の記録媒体501によって提供される。プログラムを記録した記録媒体501がドライブ装置500にセットされると、プログラムが記録媒体501からドライブ装置500を介して補助記憶装置502にインストールされる。但し、プログラムのインストールは必ずしも記録媒体501より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置502は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置503は、プログラムの起動指示があった場合に、補助記憶装置502からプログラムを読み出して格納する。CPU504は、メモリ装置503に格納されたプログラムに従ってウィジェット管理サーバ50に係る機能を実行する。インタフェース装置505は、ネットワークに接続するためのインタフェースとして用いられる。
なお、ユーザ端末20やOCRサーバ60等も、図2と同様のハードウェア構成を備えている。但し、ユーザ端末20は、液晶ディスプレイ等の表示装置や、キーボード若しくはマウス、又はボタン等の入力装置等を備えているのが好適である。
図3は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図3において、画像形成装置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にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図4は、本発明の実施の形態における情報処理システムのソフトウェア構成例を示す図である。
同図において、ユーザ端末20は、スキャンウィジェット21a、スキャンOCRウィジェット21b、スキャンOCR配信ウィジェット21c、ウィジェットマネージャ22、及びWebブラウザ23等を有する。
スキャンウィジェット21a、スキャンOCRウィジェット21b、スキャンOCR配信ウィジェット21cは、本実施の形態において、「ウィジェット」として総称されるアプリケーションプログラムである。近年では、ウィジェット(Widget)又はガジェット(Gadget)とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット21と呼ぶ。但し、本実施の形態において、各ウィジェット21は、画像形成装置10にスキャンを実行させ、スキャンされた画像データについて各ウィジェット21に実装された処理(例えば、ワークフロー等の一連の処理フロー)を実行するという点において共通する。
例えば、スキャンウィジェット21aは、画像形成装置10にスキャンを実行させ、スキャンされた画像データをユーザ端末20のフォルダ内に保存する。スキャンOCRウィジェット21bは、画像形成装置10にスキャンを実行させ、スキャンされた画像データに対するOCR処理をOCRサーバ60に実行させ、OCR処理の結果として返信されるテキストデータをユーザ端末20のフォルダ内に保存する。スキャンOCR配信ウィジェット21cは、画像形成装置10にスキャンを実行させ、スキャンされた画像データに対するOCR処理をOCRサーバ60に実行させ、OCR処理の結果として返信されるテキストデータを指定された配信先に配信する。各ウィジェット21は、それぞれ独立したプロセスとして起動される。なお、ウィジェット21は比較的容易に機能拡張を図ることが可能である。例えば、スキャンOCR配信ウィジェット21cを拡張して、OCR結果としてのテキストデータを翻訳(例えば、英文和訳)し、翻訳結果のデータを配信するといったウィジェット21を作成することもできる。
ウィジェットマネージャ22は、ウィジェット21のフレームワークとして位置付けられ、ウィジェット21と画像形成装置10との間の通信の仲介や、ウィジェット管理サーバ50へのウィジェット21の使用状況の報告等を行うプログラムである。基本的に一台のユーザ端末20には、一つのウィジェットマネージャ22のプロセスが起動される。したがって、ウィジェットマネージャ22は、同一のユーザ端末20内において起動されている複数のウィジェット21から共用されうる。但し、各ウィジェット21とウィジェットマネージャ22間、及びウィジェットマネージャ22と画像形成装置10又はウィジェット管理サーバ50間の通信にはHTTP(HyperText Transfer Protocol)が利用される。したがって、ウィジェットマネージャ22は、ウィジェット21と異なるコンピュータ上に配置されてもよい。
同図において、ウィジェットマネージャ22は、ウィジェット情報登録部221、広告部222、ウィジェット情報提供部223、仲介部224、履歴報告部225、及びウィジェット情報管理テーブル226等を有する。
ウィジェット情報登録部221は、起動されたウィジェット21より送信されるウィジェット情報(ウィジェット21の属性情報)の登録要求を受信し、当該ウィジェット情報をウィジェット情報管理テーブル226に保存する。ウィジェット情報管理テーブル226は、ユーザ端末20において起動されている各ウィジェット21のウィジェット情報をユーザ端末20の記憶装置を用いて記憶するテーブルである。
広告部222は、ウィジェット情報登録部221によって受信されたウィジェット情報に含まれるユーザID等を含む広告をウィジェット管理サーバ50及びネットワーク40に接続されている各画像形成装置10に送信する。広告は、ユーザ単位(ユーザID単位)で発行される。具体的には、ユーザ端末20内における或るウィジェット21の起動に応じてユーザAに関して広告が発行された後、当該ユーザ端末20内において、他のウィジェット21が起動されたとしても当該ウィジェット情報に応じた広告は発行されない。本実施の形態では、便宜上、ユーザ端末20とユーザとは一対一に対応する。したがって、広告部222による広告は、何らかのウィジェット21を起動したユーザが新たに発生したことを画像形成装置10やウィジェット管理サーバ50に通知するための情報である。但し、ウィジェット情報単位で広告が行われてもよい。この場合、同一ユーザについて重複して広告が発行されることになるが、重複の排除は広告の受信側(画像形成装置10及びウィジェット管理サーバ50)で行えばよい。
ウィジェット情報提供部223は、画像形成装置10又はウィジェット管理サーバ50からの要求に応じ、ウィジェット情報管理テーブル226に登録されているウィジェット情報を返信する。仲介部224は、ウィジェット21と画像形成装置10又はウィジェット管理サーバ50との間の通信を仲介する。履歴報告部225は、ウィジェット21の実行の完了に応じ、ウィジェット21の実行履歴を示す履歴情報をウィジェット管理サーバ50に送信する。
Webブラウザ23は、汎用的なWebブラウザである。本実施の形態において、Webブラウザ23は、ウィジェット管理サーバ50が実現するウィジェット管理サイトへのアクセス手段として利用される。
画像形成装置10は、ウィジェット連携部121、ユーザ管理部122、及びスキャン制御部123等を有する。各部は、画像形成装置10にインストールされたプログラムがCPU111に実行させる処理によって実現される。
ウィジェット連携部121は、ウィジェット21を画像形成装置10より操作可能とすると共に、ウィジェット21より要求されたジョブの実行を制御する。ユーザ管理部122は、画像形成装置10へのログイン時等においてログインに係るユーザの認証を実行する。スキャン制御部123は、スキャナ12を制御して画像データの読み取りを実行する。
ウィジェット管理サーバ50は、広告登録部511、認証制御部512、ダウンロード制御部513、ウィジェット作成部514、個人ウィジェット一覧提供部515、履歴情報記録部516、履歴情報提供部517、再利用制御部518、ウィジェット推奨部519、ウィジェット記憶部521、ウィジェット一覧記憶部522、個人ウィジェット一覧記憶部523、及び個人実行履歴記憶部524等を有する。これら各部は、ウィジェット管理サーバ50にインストールされたプログラムがCPU504に実行させる処理により実現される。
広告登録部511は、ウィジェットマネージャ22より送信される広告を受信し、当該広告に含まれている情報をメモリ装置503又は補助記憶装置502に記録する。認証制御部512は、ネットワークを介してウィジェット管理サーバ50にアクセスするユーザの認証処理を実行する。ダウンロード制御部513は、ウィジェット記憶部521に記録されているウィジェット21の実体(例えば、ウィジェット21と属性ファイルとを含む書庫ファイル)について、ユーザ端末20へのダウンロード処理を制御する。ウィジェット作成部514は、既存のウィジェット21の一部を改変したウィジェット21の作成を支援する。個人ウィジェット一覧提供部515は、個人ウィジェット一覧記憶部523に登録されているウィジェット21の一覧情報をネットワークを介して提供する。個人ウィジェット一覧記憶部523は、ユーザごとに存在し、対応するユーザによってダウンロードされたウィジェット21の一覧情報を補助記憶装置102を用いて記憶する。履歴情報記憶部は、ウィジェット21の実行履歴の履歴情報をユーザごとに区別して個人実行履歴記憶部524に記録する。個人実行履歴記憶部524は、ユーザごとに存在し、対応するユーザによるウィジェット21の実行履歴の履歴情報を補助記憶装置102を用いて記憶する。履歴情報提供部517は、個人実行履歴記憶部524に記録されている履歴情報をネットワークを介して提供する。再利用制御部518は、個人実行履歴記憶部524に記録されている履歴情報の再利用処理を制御する。ウィジェット推奨部519は、或るウィジェット21を利用しているユーザに対し、当該ウィジェット21に対する推奨ウィジェットの利用を推奨するための処理を実行する。
なお、ウィジェット記憶部521、ウィジェット一覧記憶部522、個人ウィジェット一覧記憶部523、及び個人実行履歴記憶部524の関係を改めて整理すると、前者二つは、全ユーザに対して共通に利用される。後者二つは、ユーザごとに生成される。
以下、情報処理システムの処理手順について説明する。本実施の形態では、スキャンOCR配信ウィジェット21cを利用する際の処理手順を代表例として説明する。
図5は、ウィジェット情報の送信時の処理手順を説明するためのシーケンス図である。
ユーザ端末20においてユーザによって入力されるスキャンOCR配信ウィジェット21cの起動指示に応じ、スキャンOCR配信ウィジェット21cは自らの属性ファイルよりウィジェット情報を取得し、当該ウィジェット情報の登録要求をウィジェットマネージャ22に送信する(S111)。なお、各ウィジェット21には、ウィジェットマネージャ22と通信するための識別情報(例えば、ウィジェットマネージャ22のURL(Uniform Resource Locator)等)が予め設定されている。
図6は、スキャンOCR配信ウィジェットのウィジェット情報の例を示す図である。同図において、スキャンOCR配信ウィジェット21cのウィジェット情報は、ウィジェットID、ウィジェット名、バージョン、ユーザID、連携機能識別子、ウィジェットアドレス、及び設定情報等を含む。
ウィジェットIDは、各ウィジェット21を一意に識別する識別情報である。ウィジェット名は、ウィジェット21の名前であり、表示用の文字列としても用いられる。バージョンは、ウィジェットID及びウィジェット名が同じであるウィジェット21間の改版の前後関係を区別するための番号である。ユーザIDは、ウィジェット21の所有者であるユーザの識別情報である。連携機能識別子は、ウィジェット21が利用する画像形成装置10の機能を識別するための情報である。連携機能識別子の一例として「print」、「scan」等が挙げられる。「print」は、印刷機能を示す。「scan」は、スキャン機能を示す。スキャンOCR配信ウィジェット21cは、画像形成装置10のスキャン機能を利用する。したがって、図6の例では、「scan」が連携機能識別子とされている。ウィジェットアドレスは、ネットワーク通信において各ウィジェット21を一意に識別するための識別情報(例えば、URL等)である。設定情報は、ウィジェット21の振る舞いを既定するパラメータであり、その内容はウィジェット21の種類ごとにことなる。例えば、スキャンOCR配信ウィジェット21cの場合、スキャン条件、OCRを実行させるWebサービスの識別情報(URL等)、OCR結果の配信先の識別情報(メールアドレス等)等が設定情報に含まれる。
ステップS111においてスキャンOCR配信ウィジェット21cより送信されたウィジェット情報は、ウィジェットマネージャ22のウィジェット情報登録部221によって受信される。ウィジェット情報登録部221は、受信されたウィジェット情報に含まれているユーザIDに対応するウィジェット情報管理テーブル226に当該ウィジェット情報を登録する。当該ユーザIDに対応するウィジェット情報管理テーブル226が存在しない場合、ウィジェット情報登録部221は、当該ユーザIDに対応するウィジェット情報管理テーブル226を生成し、生成されたウィジェット情報管理テーブル226にウィジェット情報を登録する(S112)。
ウィジェット情報管理テーブル226が新たに生成された場合(すなわち、受信されたウィジェット情報に含まれているユーザIDに係るユーザについて、初めてウィジェット情報が登録された場合)、ウィジェットマネージャ22の広告部222は、受信されたウィジェット情報に含まれているユーザID及びパスワードとウィジェット情報取得用URLとを含む広告をウィジェット管理サーバ50にユニキャストで送信する(S113)。すなわち、ウィジェットマネージャ22には、ウィジェット管理サーバ50の広告登録部511のURLが予め設定されている。また、ユーザID及びパスワードもウィジェットマネージャ22に予め設定されている。なお、ユーザID及びパスワードは、ユーザ端末20のログインユーザのユーザID及びパスワードである。
ウィジェット情報取得用URLとは、ウィジェット情報管理テーブル226ごとに一意なURLである。例えば、ウィジェット情報登録部221は、ウィジェット情報管理テーブル226を生成した際に、当該ウィジェット情報管理テーブル226に対するウィジェット情報取得用URLを生成する。ここで、ウィジェット情報管理テーブル226は、ユーザごとに生成される。したがって、ウィジェット情報取得用URLはユーザごとに一意となる。
ウィジェット管理サーバ50の広告登録部511は、広告を受信すると、当該広告に含まれているユーザID、パスワード、及びウィジェット情報取得用URLをアクティブユーザリストに登録する(S114)。
図7は、アクティブユーザリストの構成例を示す図である。同図に示されるように、アクティブユーザリストには、何らかのウィジェット21を起動させているユーザごとに、ユーザID、パスワード、及びウィジェット情報取得用URLを含むレコードが記録される。同図では、ユーザA及びユーザBについてレコードが登録されている例が示されている。アクティブユーザリストは、例えば、メモリ装置503又は補助記憶装置502に生成される。
続いて、広告部222は、ステップS113と同様の広告をネットワーク40上にブロードキャストする(S115)。すなわち、不特定の画像形成装置10に対して広告が送信される。画像形成装置10のウィジェット連携部121は、広告を受信すると、当該広告に含まれているユーザID、パスワード、及びウィジェット情報取得用URLをアクティブユーザリストに登録する(S116)。当該アクティブユーザリストは、RAM112又はHDD114に生成される。当該アクティブユーザリストの構成は、図7に示したものと同様でよい。但し、画像形成装置10のアクティブユーザリストに登録される広告の範囲は、当該画像形成装置10が属するユーザ環境2のユーザ端末20より発行されるものに限定されるのに対し、ウィジェット管理サーバ50のアクティブユーザリストに登録される広告の範囲は、特定のユーザ環境2において発行されるものに限定されない点が異なる。なお、画像形成装置10のアクティブユーザリストと画像形成装置10のアクティブユーザリストとの混同を避けるため、前者を「機器側アクティブユーザリスト」といい、後者を「サーバ側アクティブユーザリスト」という。
スキャンOCR配信ウィジェット21cは、ウィジェット情報を送信した後、画像形成装置10において画像データがスキャンされたことを確認するためのポーリングをウィジェットマネージャ22に対して行っている。具体的には、スキャンOCR配信ウィジェット21cは、スキャンされた画像データ(スキャン画像)の取得要求をウィジェットマネージャ22の仲介部224に送信する(S117)。仲介部224は、当該取得要求に対する応答を行う(S118)。この段階では、画像データはスキャンされていないため、スキャン画像は無いことを示す応答が返信される。その後もスキャン画像の取得要求(S117)は一定間隔ごとに繰り返し行われる。スキャン画像の取得要求には、ウィジェットIDが含められる等、取得要求元のウィジェット21が識別可能とされる。
なお、スキャンウィジェット21a又はスキャンOCRウィジェット21bが起動された場合についても、図5と同様の処理手順が実行される。その結果、スキャンウィジェット21a又はスキャンOCRウィジェット21bのウィジェット情報が、ウィジェットマネージャ22のウィジェット情報管理テーブル226に登録される。但し、スキャンOCR配信ウィジェット21cの起動に応じて広告が発行済みであるため、同一ユーザに関して改めて広告は発行されない。
また、各ウィジェット21は、終了する場合(起動が停止される場合)、終了処理の過程において、自らのウィジェットID、ウィジェット名、バージョン、及びユーザIDを指定して終了通知をウィジェットマネージャ22に送信する。ウィジェットマネージャ22は、指定されたウィジェットID、ウィジェット名、及びバージョンを含むウィジェット情報を、指定されたユーザIDに対応するウィジェット情報管理テーブル226より削除する。したがって、ウィジェット情報管理テーブル226には、基本的に起動中のウィジェット21のウィジェット情報が保持される。
図5の処理の実行後、ユーザは、スキャンOCR配信ウィジェット21cを実行するために画像形成装置10の設置場所へ移動する。複数の画像形成装置10がネットワーク40に接続されている場合、同一の広告が各画像形成装置10のユーザ検知部121によって受信され、それぞれの画像形成装置10のアクティブユーザリストにユーザID及びウィジェット情報取得用URLが登録される。したがって、ユーザは、複数の画像形成装置10のいずれを操作対象としてもスキャンOCR配信ウィジェット21cに係るジョブを実行させることができる。
続いて、画像形成装置10におけるユーザによる操作に応じて実行される処理について説明する。図8は、スキャンOCR配信ウィジェット実行時の処理手順を説明するためのシーケンス図である。
ユーザによって操作パネル15を介してウィジェット21の利用指示が入力されると(S201)、画像形成装置10のウィジェット連携部121は、機器側アクティブユーザリストに登録されている情報に基づいてユーザ選択画面を操作パネル15に表示させる(S202)。
図9は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面610には、ユーザIDごとにボタンが表示されている。同図では、ユーザAに対応するボタン611とユーザBに対応するボタン612とが表示された例が示されている。
続いて、ユーザは、ユーザ選択画面610において自らのユーザIDに対応するボタンを押下する(S203)。ボタンの押下に応じ、ウィジェット連携部121は、選択されたボタンに対応するユーザID及びパスワードを機器側アクティブユーザリストより取得し、当該ユーザID及びパスワードに基づく認証をユーザ管理部122に実行させる。認証に成功すると、ウィジェット連携部121は、当該ユーザIDに対応するウィジェット情報取得用URLを機器側アクティブユーザリストより取得し、当該ウィジェット情報取得用URL宛に、ウィジェット情報の取得要求を送信する(S204)。
ウィジェット情報の取得要求は、ウィジェットマネージャ22のウィジェット情報提供部223によって受信される。ウィジェット情報提供部223は、ウィジェット情報取得用URLに対応するウィジェット情報管理テーブル226(すなわち、画像形成装置10を操作中のユーザに対応するウィジェット情報管理テーブル226)に登録されているウィジェット情報の一覧を取得し、当該一覧を画像形成装置10に返信する(S205)。ウィジェット情報の一覧の返信に際し、ウィジェット情報提供部223は、画像形成装置10と各ウィジェット21との通信を中継するためのURL(以下、「ウィジェット中継用URL」という。)をウィジェット21ごと(ウィジェット情報ごと)に一意に生成する。ウィジェット情報提供部223は、対応するウィジェット中継用URLが付加されたウィジェット情報の一覧を画像形成装置10に返信する。したがって、ステップS205において返信される各ウィジェット情報は、例えば、図10に示されるような構成を有する。
図10は、ウィジェットマネージャから画像形成装置に返信されるウィジェット情報の構成例を示す図である。図10に示されるウィジェット情報は、図6のウィジェット情報に対してウィジェット中継用URLが付加されたものである。ステップS205では、同図に示されるようなウィジェット情報の一覧が返信される。ここでは、ウィジェット情報が一つしか含まれないものもウィジェット情報の一覧という。
続いて、画像形成装置10のウィジェット連携部121は、受信されたウィジェット情報の一覧をRAM112に記録しておき、当該ウィジェット情報の一覧に基づいて、ユーザに利用可能なウィジェット21の一覧を含む画面(ウィジェット選択画面)を表示させる(S206)。
図11は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面620には、ウィジェット21ごとにボタンが表示されている。同図では、スキャンウィジェット21aに対応するボタン621と、スキャンOCRウィジェット21bに対応するボタン622と、スキャンOCR配信ウィジェット21cに対応するボタン623とが表示されている。
画像形成装置10に原稿がセットされ、ウィジェット選択画面620において、スキャンOCR配信ウィジェット21cに対応するボタン623が選択されると(S207)、画像形成装置10のウィジェット連携部121は、押下されたボタンに対応するウィジェット情報(以下、「カレントウィジェット情報」という。)に含まれている連携機能識別子(「scan」)に基づいて、スキャンを実行すべきことを認識する。そこで、ウィジェット連携部121は、スキャンの実行をスキャン制御部123に要求する。
スキャン制御部123は、カレントウィジェット情報に含まれている設定情報に基づいて、原稿からの画像データの読み取りを制御する(S208)。より詳しくは、スキャン制御部123は、画像形成装置10にセットされた原稿に対するスキャンをスキャナ12に実行させ、その結果得られる画像データ(スキャン画像)をウィジェット連携部121に出力する。
ウィジェット連携部121は、当該スキャン画像をカレントウィジェット情報に含まれているウィジェット中継用URL宛に送信する(S209)。当該ウィジェット情報に含まれていた設定情報もスキャン画像と共にウィジェット中継用URL宛に送信される。上記では説明を省略したが、ウィジェット選択画面620においてウィジェット21を選択後、当該ウィジェット21に対する設定画面を表示させ、当該設定画面において当該ウィジェット21に対する設定情報の変更を可能とした場合に、当該設定情報をウィジェット21側に伝達するためである。なお、変更された設定情報の有効範囲は一回のジョブに限定されるようにしてもよい。
ウィジェット中継用URL宛に送信されたスキャン画像及び設定情報は、ウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、受信されたスキャン画像及び設定情報を当該ウィジェット中継用URLに係るウィジェット情報管理テーブル226(すなわち、スキャンOCR配信ウィジェット21cに対するウィジェット情報管理テーブル226)に関連付けて記憶装置に保存しておく。
続いて、仲介部224は、スキャン画像の受信後に受信される、スキャンOCR配信ウィジェット21cからのスキャン画像の取得要求(S117)に応じ、スキャンOCR配信ウィジェット21cに対応するウィジェット情報管理テーブル226に関連付けられて保存されているスキャスキャン画像及び設定情報をスキャンOCR配信ウィジェット21cに返信する(S211)。
スキャンOCR配信ウィジェット21cは、スキャン画像及び設定情報を受信すると、当該スキャン画像をOCRサーバ60に送信し、OCRの実行を要求する(S212)。OCRの要求先は、受信された設定情報の設定値に基づいて判定される。具体的には、当該設定情報には、OCRの要求先のURLが含まれている。OCRの実行を要求されたOCRサーバ60は、スキャン画像に対してOCRを実行し、OCR結果としてのテキストデータをスキャンOCR配信ウィジェット21cに返信する(S213)。続いて、スキャンOCR配信ウィジェット21cは、返信されたテキストデータを、受信された設定情報において指定されている配信先に配信する(S214)。続いて、スキャンOCR配信ウィジェット21cは、最終的な成果物であるテキストデータを含む、処理の完了通知をウィジェットマネージャ22に送信する(S215)。処理の完了通知の送信後、スキャンOCR配信ウィジェット21cは、次のスキャンOCR配信ウィジェット21cの実行に備えて、スキャン画像取要求のポーリングを再開し(S117)、スキャン画像の転送を待機する。
一方、ウィジェットマネージャ22の仲介部224は、処理の完了通知とともに受信されたテキストデータを、スキャンOCR配信ウィジェット21に対応するウィジェット情報管理テーブル226に関連付けて記憶装置に保存しておく。続いて、ウィジェットマネージャ22の履歴報告部225は、スキャンOCR配信ウィジェット21cの実行履歴の履歴情報の報告処理を実行する。具体的には、履歴報告部225は、自らに設定されているユーザID及びパスワード(ユーザ端末20のユーザのユーザID及びパスワード)を指定して、ログイン要求をウィジェット管理サーバ50に送信する(S221)。
ウィジェット管理サーバ50の認証制御部512は、ログイン要求に応じ、指定されたユーザID及びパスワードに基づいて認証を実行する(S222)。認証に成功した場合、認証されたユーザはログインユーザとして認識され、当該ログインユーザに対応するセッションIDが生成される。続いて、認証制御部512は、認証結果を履歴報告部225に返信する(S223)。認証に成功している場合、認証結果には、セッションIDが含まれる。
履歴報告部225は、認証に成功した場合、受信された認証結果に含まれているセッションIDを指定して、スキャンOCR配信ウィジェット21cに対応するウィジェット情報管理テーブル226に記録されているウィジェットID、ウィジェット名、バージョン、及び設定情報、並びに当該ウィジェット情報管理テーブル226に関連付けられて保存されているスキャン画像及びテキスト画像をウィジェット管理サーバ50に送信する(S224)。ここで送信される情報が履歴情報に相当する。
ウィジェット管理サーバ50の履歴情報記録部516は、受信された履歴情報をセッションIDに対応するログインユーザに対する個人実行履歴記憶部524に記録する(S225)。
図12は、個人実行履歴記憶部の構成例を示す図である。同図に示されるように、個人実行履歴記憶部524は、ウィジェット21の実行履歴ごとに、履歴ID、ウィジェットID、ウィジェット名、バージョン、設定情報、中間データ、最終データ、及び実行時刻を記憶する。
ウィジェットID、ウィジェット名、バージョン、設定情報、中間データ、及び最終データには、ステップS224において受信された履歴情報に含まれている値がそのまま登録される。但し、厳密には、中間データ及び最終データについては、補助記憶装置502において中間データ又は最終データを格納したファイルのファイル名が記録される。なお、中間データとは、ウィジェット21の実行過程において中間的に生成されたデータのことをいう。スキャンOCR配信ウィジェット21cに関しては、スキャン画像が中間データに相当する。中間データは、複数生成されうる。例えば、スキャンOCR配信ウィジェット21cが、テキストデータを翻訳したものを配信するように実装されている場合、翻訳前のテキストデータも中間データとされる。最終データは、中間データに対してウィジェット21が実行又は制御する加工処理によって得られる最終成果物としての加工データをいう。スキャンOCR配信ウィジェット21cに関しては、OCR結果としてのテキストデータが最終データに相当する。
履歴IDは、各履歴に対して一意に割り当てられる識別子である。実行時刻は、ウィジェット21が実行された時刻である。本実施の形態では、履歴情報記録部516が履歴情報を記録するときの時刻が実行時刻に記録される。但し、実行時刻も他の情報と共にウィジェットマネージャ22の履歴報告部225より送信されてもよい。
このように、ウィジェット管理サーバ50には、ユーザごとにウィジェット21の実行履歴が一元的に蓄積される。例えば、同一ユーザが異なるユーザ端末20においてスキャンOCR配信ウィジェット21cを起動させ、当該スキャンOCR配信ウィジェット21cを実行させた場合も、同じウィジェット管理サーバ50に当該実行履歴を示す履歴情報が蓄積される。
なお、スキャンウィジェット21aが実行対象とされた場合、ステップS212〜S214が実行されない点を除いて図8の処理手順と同様の処理手順が実行される。また、スキャンOCRウィジェット21bが実行対象とされた場合、ステップS214が実行されない点を除いて図8の処理手順と同様の処理手順が実行される。
続いて、ユーザ端末20へのウィジェット21のダウンロード処理について説明する。各ウィジェット21は、ウィジェット管理サーバ50よりダウンロードされて各ユーザ端末20において利用可能となる。
図13は、ウィジェットのダウンロード処理の処理手順を説明するためのシーケンス図である。同図の初期状態として、ユーザ端末20のユーザは、ウィジェット管理サーバ50が提供するウィジェット管理サイトにログイン済みであることとする。ウィジェット管理サイトへのログインは、Webブラウザ23に表示されるログイン画面に対するユーザID及びパスワードの入力に応じて実行される。認証制御部512は、入力されたユーザID及びパスワードに基づいてユーザの認証を実行する。認証に成功した場合、当該ユーザは認証制御部512によってログインユーザとして認識され、当該ログインユーザに対応するセッションIDが生成される。生成されたセッションIDは、ログインの成功の通知と共にWebブラウザ23に返信される。以降の処理において、Webブラウザ23からウィジェット管理サーバ50への要求には、常にセッションIDが付加される。
ログイン後にWebブラウザ23に表示されているウィジェット管理サイトが提供するいずれかの画面において、ユーザが、ウィジェット一覧画面の表示指示を入力(例えば、他の画面におけるリンクを選択)すると、Webブラウザ23は、ウィジェット一覧画面の取得要求をウィジェット管理サーバ50に送信する(S301)。ウィジェット一覧画面とは、ダウンロード可能なウィジェット21の一覧が表示される画面(Webページ)をいう。ウィジェット一覧画面の取得要求に応じ、ダウンロード制御部513は、ウィジェット一覧記憶部522を参照してウィジェット一覧画面を表示させる表示データ(HTMLデータ)であるウィジェット一覧画面データを生成する(S302)。
図14は、ウィジェット一覧記憶部の構成例を示す図である。同図に示されるように、ウィジェット一覧記憶部522は、ウィジェット記憶部521に保存されているウィジェット21(ダウンロード可能なウィジェット21)ごとに、レコードID、ウィジェットID、ウィジェット名、バージョン、ファイル名、ダウンロード数、親ウィジェットID、及び子ウィジェットID等を記憶する。
ウィジェットID、ウィジェット名、及びバージョンについては上述した通りである。レコードIDは、ウィジェット一覧記憶部522における各レコードを識別するためのIDである。レコードIDは、各ウィジェット21の一意性を最も保証可能な情報である。同一のウィジェットID、ウィジェット名、及びバージョンを有するウィジェット21の作成も許容されうるのに対し、レコードIDが重複することは無いからである。但し、本実施の形態では、説明の便宜上、ウィジェットID、ウィジェット名、及びバージョンの組み合わせによってウィジェット21の一意性が保証されることとする。
ファイル名は、ウィジェット21の実体のファイル名である。すなわち、ウィジェット記憶部521においてウィジェット21が保存されている位置を示す情報である。ダウンロード数は、過去にダウンロードされた回数である。親ウィジェットID及び子ウィジェットIDとは、ウィジェット21間の機能の共通性に基づく親子関係を示す情報である。他のウィジェット21と当該親子関係を有さないウィジェット21については親ウィジェットID及び子ウィジェットIDの値は空である。ウィジェット21間の親子関係は、或るウィジェット21のバージョンアップが行われたとき(以下、「ケース1」という。)、又は或るウィジェット21に対する推奨ウィジェットが設定されたとき(以下「ケース2」という)等に形成される。
ケース1の場合、旧バージョンのウィジェット21が親となり、新バージョンのウィジェット21が子となる。ウィジェット21のバージョンアップは、基本的にウィジェット21の開発者によって行われる。バージョンアップが行われた場合、新バージョンのウィジェット21がウィジェット記憶部521に保存(アップロード)され、当該ウィジェット21に対応するレコードがウィジェット一覧記憶部522に記録される。また、ウィジェット一覧記憶部522において、旧バージョンのウィジェット21の子レコードIDに新バージョンのウィジェット21のレコードIDが記録され、新バージョンのウィジェット21の親レコードIDに旧バージョンのウィジェット21のレコードIDが記録される。
ケース2の場合、推奨ウィジェットが設定されたウィジェット21が親となり、推奨ウィジェットが子となる。推奨ウィジェットとは、或るウィジェット21を使用しているユーザに対して推奨されるウィジェット21をいう。推奨ウィジェットの設定は、例えば、ウィジェット管理サーバ50の管理者等によって行われたり、ウィジェット推奨部519によって自動的に実行されたりする。ウィジェット推奨部519は、公知のWebサイト(例えば、書籍の販売サイト等)において実行される処理と同様の処理によって或るウィジェット21に対する推奨ウィジェットを判定する。例えば、ウィジェット推奨部519は、各個人ウィジェット一覧記憶部523を参照して、共にダウンロードされる頻度の高いウィジェット21を判定し、一方のウィジェット21を他方のウィジェット21の推奨ウィジェットとして判定される。推奨ウィジェットが設定された場合、ウィジェット一覧記憶部522において、推奨ウィジェットが設定されたウィジェット21の子レコードIDに推奨ウィジェットのレコードIDが記録され、推奨ウィジェットの親レコードIDに推奨ウィジェットが設定されたウィジェット21のレコードIDが記録される。なお、推奨ウィジェットの選択基準によっては、ウィジェット21間の機能の共通性が保証されない可能性が有る場合は、推奨ウィジェットを示す関係を、バージョンアップに基づいて形成される親子関係と区別して管理するようにしてもよい。具体的には、親ウィジェットID及び子ウィジェットIDの他に、推奨ウィジェットIDを記録するための項目が、ウィジェット一覧記憶部522に設けられてもよい。
図13に戻る。ステップS302において、ダウンロード制御部513は、ウィジェット一覧記憶部522に登録されている各ウィジェット21をダウンロードさせるためのウィジェット一覧画面データを生成する。続いて、ダウンロード制御部513は、生成されたウィジェット一覧画面データをWebブラウザ23に返信する(S303)。続いて、Webブラウザ23は、受信されたウィジェット一覧画面データに基づいて、ウィジェット一覧画面を表示させる(S304)。
図15は、ウィジェット一覧画面の表示例を示す図である。同図に示されるように、ウィジェット一覧画面710の領域711には、ダウンロード可能なウィジェット21ごとにアイコン及びウィジェット名等が表示される。アイコンは、ウィジェット記憶部521に保存されている各ウィジェット21の属性ファイルより取得されたものである。
また、領域712には、ダウンロード数が上位のウィジェット21のアイコン及びウィジェット名当該表示される。なお、ユーザによるフィードバック等の管理を可能とし、評価の高いウィジェット21の一覧を表示させる領域や、お薦めのウィジェット21の一覧を表示させる領域等をウィジェット一覧画面710に表示させるようにしてもよい。
ウィジェット一覧画面710の領域711又は領域712等において、いずれかのウィジェット21のアイコン又はウィジェット名がクリック(選択)されると、Webブラウザ23は、当該アイコン又はウィジェット名に貼られているリンクに基づいてウィジェット詳細画面の取得要求をウィジェット管理サーバ50に送信する(S305)。当該取得要求には、選択されたウィジェット21のレコードIDが指定される。当該取得要求に応じ、ダウンロード制御部513は、指定されたレコードIDに対応するファイル名をウィジェット一覧記憶部522より取得し、当該ファイル名に係るウィジェット21をウィジェット記憶部521より取得する。ダウンロード制御部513は、取得されたウィジェット21の属性ファイルを参照し、ウィジェット詳細画面を表示させる表示データ(ウィジェット詳細画面データ)を生成する(S306)。続いて、ダウンロード制御部513は、生成されたウィジェット詳細画面データをWebブラウザ23に返信する(S307)。続いて、Webブラウザ23は、受信されたウィジェット詳細画面データに基づいて、ウィジェット詳細画面を表示させる(S308)。
図16は、ウィジェット詳細画面の表示例を示す図である。ウィジェット詳細画面720の領域721には、ウィジェット一覧画面710において選択されたウィジェット21(以下、「対象ウィジェット」という。)のアイコン、機能説明、及びその他書誌情報が記載されている。これらの情報は、対象ウィジェットの属性ファイル等より取得されたものである。領域722には、対象ウィジェットに関する推奨ウィジェットの一覧が表示されている。表示対象とされる推奨ウィジェットは、ウィジェット一覧記憶部522において対象ウィジェットに対して少なくとも推奨ウィジェットとしての関係が形成されているウィジェットである(したがって、バージョンアップされたウィジェット21が領域722における表示対象に含まれてもよい。)。更に、領域723には、対象ウィジェットを使用したユーザからのレビュー情報が表示されている。これらのレビュー情報は、例えば、別途表示されるレビュー画面において入力され、各ウィジェット21に関連付けられてウィジェット管理サーバの補助記憶装置502に保存されているものである。
ウィジェット詳細画面720の領域721内に配置されているダウンロードボタン724がクリックされると、Webブラウザ23は、対象ウィジェットのレコードIDを指定して、ダウンロード要求をウィジェット管理サーバ50に送信する(S309)。ダウンロード制御部513は、ダウンロード要求に応じ、指定されたレコードIDに対応するファイル名をウィジェット一覧記憶部522より取得し、当該ファイル名に係るウィジェット21をウィジェット記憶部521より取得する(S310)。この際、ダウンロード制御部513は、ウィジェット一覧記憶部522において、指定されたレコードIDに対応するダウンロード数に1を加算する。
続いて、ダウンロード制御部513は、指定されたレコードIDに対応するレコードをウィジェット一覧記憶部522より取得し、当該レコードに含まれている情報(項目)の一部をログインユーザに対応する個人ウィジェット一覧記憶部523(ダウンロード履歴)に記録(転記)する(S311)。
図17は、個人ウィジェット一覧記憶部の構成例を示す図である。同図に示されるように、個人ウィジェット一覧記憶部523は、ダウンロード数を除いてウィジェット一覧記憶部522と同様の構成を有している。但し、個人ウィジェット一覧記憶部523は、ユーザごとに対応付けられており、対応するユーザがダウンロードしたウィジェット21に関する情報が記録される点が異なる。従って、個人ウィジェット一覧記憶部523に記録された情報は、個人ウィジェット一覧記憶部523に対応するユーザによるウィジェット21のダウンロード履歴を示す情報に相当する。
レコードIDも含め、各項目には、ウィジェット一覧記憶部522の値がそのまま個人ウィジェット一覧記憶部523に記録される。しかし、親ウィジェットID及び子ウィジェットIDについては、ウィジェット一覧記憶部522の値は転記されない。個人ウィジェット一覧記憶部523におけるウィジェット21の親子関係と、ウィジェット一覧記憶部522における親子関係とはその意味が異なるからである。具体的には、個人ウィジェット一覧記憶部523におけるウィジェット21の親子関係は、或るウィジェット21について、設定情報の少なくとも一部の値が変更されたウィジェット21(以下、「亜流ウィジェット」という。)が生成された場合に形成される。この場合、設定情報が変更されていないオリジナルのウィジェット21(以下、「元ウィジェット」という。)が親となり、亜流ウィジェットが子となる。亜流ウィジェットは、元ウィジェットとプログラムロジックは同じであるため、元ウィジェットと亜流ウィジェットとの間における機能の共通性は或る程度保証される。
なお、後述されるように、亜流ウィジェットは各ユーザによって作成されうる。亜流ウィジェットが作成された場合、当該亜流ウィジェットがウィジェット記憶部521に保存(アップロード)され、当該亜流ウィジェットに対応するレコードが当該亜流ウィジェットを作成したユーザの個人ウィジェット一覧記憶部523に記録される。また、当該個人ウィジェット一覧記憶部523において、元ウィジェットの子レコードIDに亜流ウィジェットのレコードIDが記録され、亜流ウィジェットの親レコードIDに元ウィジェットのレコードIDが記録される。
続いて、ダウンロード制御部513は、対象ウィジェットをWebブラウザ23に返信する(S312)。Webブラウザ23は、受信された対象ウィジェットをユーザ端末20の記憶装置に保存する(S313)。これによって、対象ウィジェットはユーザ端末20において利用可能となる。
続いて、亜流ウィジェットの作成時の処理手順について説明する。図18は、亜流ウィジェットの作成処理の処理手順を説明するためのシーケンス図である。同図においても、ユーザ端末20のユーザは、既にウィジェット管理サイトにログイン済みであるとする。
Webブラウザ23に表示されている、ウィジェット管理サイトが提供するいずれかの画面において、ユーザが、個人ウィジェット一覧画面の表示指示を入力(例えば、他の画面におけるリンクを選択)すると、Webブラウザ23は、個人ウィジェット一覧画面の取得要求をウィジェット管理サーバ50に送信する(S401)。続いて、ウィジェット管理サーバ50の個人ウィジェット一覧提供部515は、ログインユーザに対応する個人ウィジェット一覧記憶部523(図17参照)等を参照して、個人ウィジェット一覧画面を表示させる表示データ(個人ウィジェット一覧画面データ)を生成する(S402)。続いて、個人ウィジェット一覧提供部515は、生成された個人ウィジェット一覧画面データをWebブラウザ23に返信する(S403)。続いて、Webブラウザ23は、受信された個人ウィジェット一覧画面データに基づいて、個人ウィジェット一覧画面を表示させる(S404)。
図19は、個人ウィジェット一覧画面の表示例を示す図である。個人ウィジェット一覧画面810の領域811には、ログインユーザが既にダウンロード済みのウィジェット21のアイコン及びウィジェット名の一覧が表示されている。すなわち、領域811の表示内容は、ログインユーザに対応する個人ウィジェット一覧記憶部523に登録されているウィジェット21(以下、「個人ウィジェット」という。)の一覧である。領域812には、ログインユーザに対する推奨ウィジェットの一覧が表示されている。当該推奨ウィジェットは、ログインユーザの個人ウィジェット対して、ウィジェット一覧記憶部522において推奨ウィジェットとしての関係を有するウィジェット21である。領域813には、個人ウィジェットを管理等するための各種の指示を受け付けるためのリンクが貼られている。
例えば、領域813において、リンク8134(「亜流ウィジェットを生成」)がクリック(選択)されると、元ウィジェット選択画面がWebブラウザ23に表示される(S405)。
図20は、元ウィジェット選択画面の表示例を示す図である。元ウィジェット選択画面820は、これから作成する亜流ウィジェットの元ウィジェットを選択させるための画面である。領域821には、元ウィジェットの選択候補として、個人ウィジェットの一覧が表示されている。領域821においていずれかの個人ウィジェットが元ウィジェットとして選択され、Nextボタン822がクリックされると、設定情報編集画面がWebブラウザ23に表示される(S406)。
図21は、設定情報編集画面の表示例を示す図である。設定情報編集画面830は、亜流ウィジェットに対する設定情報を設定させるための画面である。領域831には、元ウィジェットの設定情報の項目ごとに入力領域が設けられている。各入力領域に値を入力することにより、亜流ウィジェットに対する設定情報が設定される。なお、領域831の初期状態として、元ウィジェットの設定情報の値が表示されてもよい。そうすることにより、一部の項目の値を変更したい場合の操作負担を軽減することができる。領域831において設定情報が設定され、Nextボタン832がクリックされると確認画面がWebブラウザ23に表示される(S407)。
図22は、確認画面の表示例を示す図である。確認画面840は、これまでの設定内容(元ウィジェットの選択、設定情報の設定)を確認させるための画面である。領域841には、設定情編集画面830における設定内容が表示されている。また、領域841には、亜流ウィジェットに対するウィジェット名を入力させるためのテキストボックスが設けられている。当該テキストボックスにウィジェット名が入力され、Nextボタン842がクリックされると、Webブラウザ23は、亜流ウィジェットの作成要求をウィジェット管理サーバ50に送信する(S408)。当作成要求には、元ウィジェットのレコードID、設定情報編集画面830に設定された設定情報、及び確認画面840に入力されたウィジェット名等が含まれる。
なお、厳密には、元ウィジェット選択画面820、設定情報編集画830、確認画面840へと画面が遷移するたびに、Webブラウザ23とウィジェット管理サーバ50との間で通信が行われる。したがって、その通信の都度、それまでに設定された情報がウィジェット管理サーバ50に通知されるようにしてもよい。
ウィジェット管理サーバ50のウィジェット作成部514は、亜流ウィジェットの作成要求の受信に応じ、当該作成要求に含まれている情報に基づいて亜流ウィジェットを作成する。具体的には、当該作成要求に含まれている元ウィジェットのレコードIDに対応するファイル名をウィジェット一覧記憶部522より取得し、当該ファイル名に係るファイル(元ウィジェット及び属性ファイルを含む書庫ファイル)のコピーを生成する。続いて、ウィジェット作成部514は、当該作成要求に含まれている設定情報及びウィジェット名をコピー先のファイルに含まれている属性ファイルに書き込む(反映する)。これにより、コピー先のファイルは亜流ウィジェットの実体となる。
続いて、ウィジェット作成部514は、作成された亜流ウィジェットに対応するレコードを個人ウィジェット一覧記憶部523に記録する(S410)。具体的には、ログインユーザに対応する個人ウィジェット一覧記憶部523に記録されている元ウィジェットのレコードのコピーが亜流ウィジェットに対するレコードとして作成される。但し、亜流ウィジェットのレコードのレコードIDには、元ウィジェットと異なった値(少なくとも個人ウィジェット一覧記憶部523内において一意な値)が割り当てられる。また、亜流ウィジェットのレコードの親ウィジェットIDには元ウィジェットのレコードIDが記録され、子ウィジェットIDの値は空とされる。更に、元ウィジェットのレコードの子ウィジェットIDに、作成された亜流ウィジェットのレコードIDが登録される。なお、亜流ウィジェットは、ウィジェット一覧記憶部522には登録されない。すなわち、亜流ウィジェットは、基本的に作成者本人のみが利用可能な個人ウィジェットとして扱われる。
続いて、ウィジェット作成部514は、作成された亜流ウィジェットをWebブラウザ23に返信する(S411)。Webブラウザ23は、受信された亜流ウィジェットをユーザ端末20の記憶装置に保存する(S412)。これによって、亜流ウィジェットはユーザ端末20において利用可能となる。
亜流ウィジェットを作成する意義の一つとして、ウィジェット21実行時の操作ステップ数が削減されることが挙げられる。ウィジェット21は、起動されると、ユーザ端末20の表示装置に起動中であることを示すアイコンを表示させる。ユーザは、当該アイコンを表示させて設定画面を表示させることにより、ウィジェット21の設定情報を変更することができる。設定画面において変更された設定情報は、ウィジェットマネージャ22に送信され、ウィジェット情報管理テーブル226に既に登録されている当該ウィジェット21のウィジェット情報に反映される。したがって、亜流ウィジェットを作成しなくても、設定情報の異なるジョブの実行は可能である。
しかし、既定の設定情報と異なる設定情報が繰り返し設定される場合、その都度設定画面を表示させて設定情報の変更を行うのは煩雑である。そこで、繰り返し利用される設定情報が予め設定された亜流ウィジェットを作成しておけば、設定画面の表示をすることなく、少ない操作ステップで当該設定情報に基づくジョブを実行させることができる。
なお、スキャンOCR配信ウィジェット21cの場合、例えば、スキャン条件の一部、OCRを実行させるWebサービス、又は配信先等が変更された亜流ウィジェットの作成が考えられる。
続いて、ウィジェット21の実行履歴(履歴情報)の再利用について説明する。図13のステップS221〜S225において説明したように、ウィジェット21の履歴情報はウィジェット管理サーバ50において一元的に管理される。ユーザは、例えば、当該履歴情報を閲覧したり、再利用したりすることができる。履歴情報の再利用とは、過去に実行されたジョブにおいて生成された中間データ又は最終データ等を再利用することをいう。
図23は、ウィジェットの履歴情報の再利用時の処理手順を説明するためのシーケンス図である。図23の初期状態として、ユーザ端末20のWebブラウザ23には、個人ウィジェット一覧画面810(図19参照)が表示されていることとする。
個人ウィジェット一覧画面810の領域811に表示されているいずれかの個人ウィジェットのアイコンがクリック(選択)されると、Webブラウザ23は、当該アイコンに貼られているリンクに基づいて、選択されたウィジェット21(以下、「対象ウィジェット」という。)の履歴情報の一覧(履歴一覧)の取得要求をウィジェット管理サーバ50に送信する(S501)。当該取得要求には対象ウィジェットのレコードIDが指定される。
ウィジェット管理サーバ50の履歴情報提供部517は、履歴一覧の取得要求の受信に応じ、ログインユーザに対応する個人実行履歴記憶部524(図12参照)及び個人ウィジェット一覧記憶部523(図17参照)等を参照して、履歴一覧を表示させる画面(履歴一覧画面)を表示させる表示データ(履歴一覧画面データ)を生成する(S502)。続いて、履歴情報提供部517は、生成された履歴一覧画面データをWebブラウザ23に返信する(S503)。続いて、Webブラウザ23は、受信された履歴一覧画面データに基づいて、履歴一覧画面を表示させる(S504)。
図24は、履歴一覧画面の表示例を示す図である。図24中、図19と同一部分には同一符号を付し、その説明は省略する。
履歴一覧画面850の領域851には、個人ウィジェット一覧記憶部523に基づいて、ログインユーザの個人ウィジェットの一覧が表示され、個人ウィジェット一覧画面810において選択された対象ウィジェットが選択状態とされている。領域852には、個人実行履歴記憶部524に基づいて、対象ウィジェットの履歴情報の一覧が表示されている。同図の例では、履歴ごとに、実行時刻及び最終データのファイル名が表示されている。領域853には、個人ウィジェット一覧記憶部523に基づいて、対象ウィジェットの亜流ウィジェットの一覧が表示される。対象ウィジェットに亜流ウィジェットが存在しない場合、領域853の表示内容は空となる。領域853において、いずれかの亜流ウィジェットが選択されると、領域851には領域853に表示されていた亜流ウィジェットの一覧が表示され、選択された亜流ウィジェットが領域851において選択状態とされる。領域853には、選択された亜流ウィジェットに対する亜流ウィジェットの一覧が表示される。すなわち、元ウィジェットと亜流ウィジェットとの親子関係(階層関係)は、複数階層を形成しうる。なお、領域851において亜流ウィジェットが選択されている場合、領域853には、当該亜流ウィジェットに対する亜流ウィジェットだけでなく、当該亜流ウィジェットの元ウィジェットが表示されるようにしてもよい。
ボタン855は、全ての個人ウィジェットの履歴情報の表示指示を受け付けるためのボタンである。すなわち、ボタン855がクリックされると、対象ウィジェットだけでなく、ログインユーザの全個人ウィジェットの全履歴情報の一覧(すなわち、ログインユーザに対する個人実行履歴記憶部524に記録されている全履歴情報の一覧)が領域852に表示される。
ボタン856は、亜流ウィジェットの履歴情報も含む、対象ウィジェットの履歴情報の表示指示を受け付けるためのボタンである。すなわち、ボタン856がクリックされると、対象ウィジェットの履歴情報だけでなく、対象ウィジェットに対する亜流ウィジェットの履歴情報も含む一覧が領域852に表示される。
領域852の各履歴にはリンクが貼られている。いずれかの履歴がクリック(選択)されると、Webブラウザ23は、選択された履歴の詳細画面(履歴詳細画面)の取得要求をウィジェット管理サーバ50に送信する(S505)。当該取得要求には、選択された履歴(以下、「対象履歴」という。)の履歴IDが指定される。当該取得要求に応じ、履歴情報提供部517は、指定された履歴IDに対応する履歴情報を個人実行履歴記憶部524より取得し、当該履歴情報に基づいて、履歴詳細画面を表示させる表示データ(履歴詳細画面データ)を生成する(S506)。続いて、履歴情報提供部517は、生成された履歴詳細画面データをWebブラウザ23に返信する(S507)。続いて、Webブラウザ23は、受信された履歴詳細画面データに基づいて、履歴詳細画面を表示させる(S508)。
図25は、履歴詳細画面の表示例を示す図である。図25中、図24と同一部分には同一符号を付し、その説明は省略する。
履歴詳細画面860の領域861には、対象履歴の詳細情報として、最終データのサムネイル画像(8611)、最終データのファイル名(8612)、実行時刻(8613)、及び設定情報(8614)等が表示されている。
また、領域861には、リンク8615、リンク8616、及びリンク8617が表示されている。リンク8616は、現在表示対象とされている最終データの再送信指示を受け付けるためのリンクである。最終データの再送信とは、最終データを、ユーザが現在利用中のユーザ端末20にダウンロードすることをいう。
具体的には、リンク8616(「再送信」)がクリックされると、Webブラウザ23は、最終データの再送信要求をウィジェット管理サーバ50に送信する(S511)。当該再送信要求には、履歴IDが指定される。ウィジェット管理サーバ50の再利用制御部518は、再送信要求の受信に応じ、ログインユーザが、サーバ側アクティブユーザリスト(図7参照)に登録されているユーザであるか否か(すなわち、図5のステップS113において広告されているユーザであるか否か)を判定する(S512)。ログインユーザのユーザIDがサーバ側アクティブユーザリストに登録されている場合、再利用制御部518は、当該ユーザIDに対応するウィジェット情報取得用URLをサーバ側アクティブユーザリストより取得し、当該ウィジェット情報取得用URL宛に、ウィジェット情報の取得要求を送信する(S513)。
ウィジェット情報の取得要求は、ウィジェットマネージャ22のウィジェット情報提供部223によって受信される。ウィジェット情報提供部223は、ウィジェット情報取得用URLに対応するウィジェット情報管理テーブル226(すなわち、Webブラウザ23によって履歴詳細画面860を閲覧中のユーザに対応するウィジェット情報管理テーブル226)に登録されているウィジェット情報の一覧を取得し、当該一覧をウィジェット管理サーバ50に返信する(S514)。ウィジェット情報の一覧の返信に際し、ウィジェット情報提供部223は、ウィジェット管理サーバ50と各ウィジェット21との通信を中継するためのウィジェット中継用URLをウィジェット21ごと(ウィジェット情報ごと)に一意に生成する。ウィジェット情報提供部223は、対応するウィジェット中継用URLが付加されたウィジェット情報(図10参照)の一覧をウィジェット管理サーバ50に返信する。
続いて、再利用制御部518は、最終データの再送信に利用するウィジェット21の判定処理(図26)を実行する(S515)。
図26は、最終データの再送信に利用するウィジェットの判定処理の処理手順を説明するためのフローチャートである。
ステップS601において、再利用制御部518は、第一候補ウィジェットのウィジェット情報が、ステップS514において受信されているか否かを判定する。ここで、第一候補ウィジェットとは、最終データの再送信に利用するウィジェット21として予め再利用制御部518に設定されているウィジェット21をいう。本実施の形態において、最終データの再送信に関する第一候補ウィジェットは、スキャンウィジェット21aとされる。具体的には、再利用制御部518には、当該第一候補ウィジェットとして、スキャンウィジェット21aのウィジェットID、ウィジェット名、及びバージョンが設定されている。したがって、ステップS601では、ステップS514において受信されたウィジェット情報の一覧の中に、再利用制御部518に設定されているスキャンウィジェット21aのウィジェットID、ウィジェット名、及びバージョンを含むウィジェット情報が有るか否かが判定される。
なお、履歴詳細画面860における対象ウィジェットとは無関係にスキャンウィジェット21aが第一候補ウィジェットとされるのは、ウィジェット管理サーバ50に保存されている最終データをウィジェットマネージャ22を介してユーザ端末20にダウンロードさせるといった処理を実行させるにあたり、スキャンウィジェット21aを利用するのが好都合だからである。スキャンウィジェット21aは、ウィジェットマネージャ22より転送されたスキャン画像を最終データとして扱う(すなわち、当該スキャン画像に対して余計な処理を実行しない)からである。
但し、スキャンウィジェット21aが、ログインユーザのユーザ端末20にインストール(ダウンロード)されているとは限らない。また、スキャンウィジェット21aがユーザ端末20にインストールされていたとしても、現時点において起動されているとは限らない。
そこで、ステップS601が実行されるのである。すなわち、該当するウィジェット情報がステップS514において受信されている場合(S601でYes)、再利用制御部518は、第一候補ウィジェットであるスキャンウィジェット21aを利用対象とする(S602)。この場合は、スキャンウィジェット21aがユーザ端末20において起動されているからである。
一方、該当するウィジェット情報がステップS514において受信されていない場合(S601でNo)、再利用制御部518は、スキャンウィジェット21aに対する関連ウィジェットの有無を個人ウィジェット一覧記憶部523又はウィジェット一覧記憶部522を参照して判定する(S603)。ここで、或るウィジェット21に対する関連ウィジェットとは、当該或るウィジェット21に対して、個人ウィジェット一覧記憶部523又はウィジェット一覧記憶部522において親子関係を有するウィジェット21(すなわち、機能的に共通性を有するウィジェット21)をいう。具体的には、関連ウィジェットとは、当該或るウィジェット21の元ウィジェット若しくは亜流ウィジェット、当該或るウィジェット21の旧バージョン若しくは新バージョン、又は当該或るウィジェット21の推奨ウィジェットである。なお、関連ウィジェットの存否の確認順位は運用に応じて適宜決定すればよい。本実施の形態では、まず、個人ウィジェット一覧記憶部523が参照されて、スキャンウィジェット21aの亜流ウィジェット(子)、元ウィジェット(親)順で存否が確認される。いずれも存在しない場合は、ウィジェット一覧記憶部522が参照されて、スキャンウィジェット21aの子ウィジェット、親ウィジェットの順で存否が確認される。
いずれかの関連ウィジェットが存在する場合(S603でYes)、再利用制御部518は、該当する関連ウィジェットのウィジェットID、ウィジェット名、及びバージョンを含むウィジェット情報がステップS514において受信されているか否かを判定する(S604)。すなわち、該当する関連ウィジェットがユーザ端末20において起動されているか否かが判定される。
該当するウィジェット情報がステップS514において受信されている場合(S604でYes)、再利用制御部518は、当該ウィジェット21に係る関連ウィジェットを利用対象とする(S605)。
スキャンウィジェット21aに対する関連ウィジェットが無い場合(S603でNo)、又は該当するウィジェット情報がステップS514において受信されていない場合(S604でNo)、再利用制御部518は、最終データの再送信に利用可能なウィジェット21は無いと判定する(S606)。
図23に戻る。ステップS515(図26)において、利用可能なウィジェット21は無いと判定された場合、再利用制御部518は、エラー画面を表示させるエラー画面データをWebブラウザ23に返信する。この場合、Webブラウザ23にはエラー画面が表示され、最終データの再送信処理は中止される。
ステップS515において、利用対象とするウィジェット21(以下、「利用対象ウィジェット」という。)が判定(特定)された場合、再利用制御部518は、対象履歴の最終データを取得し、当該最終データを利用対象ウィジェットのウィジェット情報に含まれているウィジェット中継用URL宛に送信する(S516)。当該ウィジェット情報に含まれた設定情報も最終データと共にウィジェット中継用URL宛に送信される。但し、最終データの再送信処理においては、当該設定情報の変更は行われない。
ウィジェット中継用URL宛に送信された最終データ及び設定情報は、ウィジェットマネージャ22の仲介部224によって受信される。仲介部224は、受信された最終データ及び設定情報を当該ウィジェット中継用URLに係るウィジェット情報管理テーブル226に関連付けて記憶装置に保存しておく。
一方、ユーザ端末20において起動されている利用対象ウィジェットは、画像形成装置10において画像データがスキャンされたことを確認するためのポーリングをウィジェットマネージャ22に対して行っている。仲介部224は、利用対象ウィジェットからのスキャン画像の取得要求に応じ、利用対象に対応するウィジェット情報管理テーブル226に関連付けられて保存されている最終データ及び設定情報を当利用対象ウィジェットに返信する(S517)。利用対象ウィジェットは、受信された最終データを、受信された設定情報において指定されているフォルダ内に保存する(S518)。
なお、ステップS513〜S516においてウィジェット管理サーバ50からウィジェットマネージャ22に対して送信される要求の形式は、図8のステップS204〜S209において画像形成装置10からウィジェットマネージャ22に対して送信される要求の形式と同様である。すなわち、ステップS513〜S516において、ウィジェット管理サーバ50は、画像形成装置10からスキャン画像を取得するためにウィジェットマネージャ22が備えている通信用のインタフェースを利用して、ウィジェットマネージャ22に対して最終データを転送しているのである。したがって、ウィジェットマネージャ22からすると、ウィジェット管理サーバ50からの最終データの転送は、画像形成装置10からのスキャン画像の転送と同様に見える。したがって、ウィジェットマネージャ22は、当該最終データに対応する利用対象ウィジェットからのポーリングに応じて、スキャン画像を転送する場合(図8のS117、S211)と同様に、当該最終データを利用対象ウィジェットに転送する。
このように、ウィジェット管理サーバ50に蓄積されている最終データの転送には、画像形成装置10とウィジェット21との連携に利用される通信プロトコルが利用される。そのような状況において、仮に、画像形成装置10より転送されるスキャン画像に対して何らかの処理を実行するウィジェット21(例えば、スキャンOCRウィジェット21b又はスキャンOCR配信ウィジェット21c)を、再送信(ダウンロード)処理の利用対象ウィジェットとした場合、当該利用対象ウィジェットは、再送信された最終データに対してOCR等の処理を実行してしまう。それでは、再送信の目的を達成することができない。そこで、再送信処理においては、スキャンウィジェット21a又はスキャンウィジェット21aの関連ウィジェットが利用対象ウィジェットとされるのである。
なお、履歴詳細画面860(図25参照)におけるリンク8617(「送信先を変えて再送信」)がクリックされた場合も、S511〜S518と同様の処理が実行される。但し、リンク8617がクリックされた場合、利用対象ウィジェットの設定情報に指定されている既定値と異なる送信先に最終データが再送信(ダウンロード)される。具体的には、リンク8617がクリックされ、ステップS511〜S515まで実行された後(すなわち、利用対象ウィジェットが決定された後)、再利用制御部518は、利用対象ウィジェットに関して送信先を変更させるための送信先変更画面を生成し、当該送信先変更画面を表示させる表示データ(送信先変更画面データ)をWebブラウザ23に返信する。Webブラウザ23によって表示される送信先変更画面において送信先が入力されると、Webブラウザ23は当該送信先を再利用制御部518に送信する。再利用制御部518は、受信された送信先を、最終データと共に利用対象ウィジェットに転送する設定情報に反映する。したがって、ステップS516及びS517では、変更された送信先が指定された設定情報が、最終データと共に利用対象ウィジェットに転送される。その結果、利用対象ウィジェットは、既定値とは異なる送信先に最終データを保存する。なお、送信先の意味は、ウィジェット21に応じて異なる。スキャンウィジェット21a又はその関連ウィジェットのように、ユーザ端末20内にスキャン画像を保存するウィジェット21に関しては、送信先は保存先のフォルダを意味する。
一方、履歴詳細画面8615(図25参照)においてリンク8615(「中間データ」)がクリックされると、履歴詳細画面860の領域8611には、中間データのサムネイル画像が表示される。なお、対象履歴(履歴詳細画面8615において表示対象とされている履歴)の履歴情報に中間データが含まれていない場合、リンク8615は表示されない。
中間データ(のサムネイル画像)が表示対象とされている状態において、リンク8616又は8617等がクリックされた際の処理対象は中間データとなる。具体的には、リンク8616(「再送信」)がクリックされると、Webブラウザ23は、中間データの再送信要求をウィジェット管理サーバ50に送信する(S521)。当該再送信要求には、履歴IDが指定される。ウィジェット管理サーバ50の再利用制御部518は、再送信要求の受信に応じ、上述したステップS512及びS513と同様の処理を実行する(S522、S523)。その結果、ログインユーザに係るウィジェット情報の一覧がウィジェットマネージャ22のウィジェット情報提供部223より受信される(S524)。
続いて、再利用制御部518は、中間データの再送信に利用するウィジェット21(利用対象ウィジェット)の判定処理を実行する(S525)。当該判定処理の処理手順は、図26とほぼ同様でよい。但し、再送信の対象が中間データの場合、第一候補ウィジェットは、対象ウィジェット(履歴詳細画面860の領域851において選択されているウィジェット21)とされる。したがって、対象ウィジェット又は対象ウィジェットの関連ウィジェットが利用対象ウィジェットとして判定される。すなわち、中間データの再送信とは、当該中間データの生成に関係したウィジェット21に、当該中間データに関する処理を再実行させることを意味する。
続くステップS526及びS527は、転送対象が中間データとされる点を除いてステップS516又はS517と同様である。ステップS528において、利用対象ウィジェットは、受信された中間データに対して、スキャン画像が受信された場合と同様の処理を実行する。例えば、利用対象ウィジェットがスキャンOCR配信ウィジェット21cであれば、中間データについて、図8のステップS212〜214が実行される。
履歴詳細画面860において中間データが表示対象とされた場合に、リンク8617がクリックされた場合の処理手順は、上記の説明より自明であるため、ここでの説明は省略する。なお、利用対象ウィジェットがスキャンOCR配信ウィジェット21cの場合、送信先の変更は、配信先の変更に相当する。
最終データの再送信は、図23に示される処理と、図8に示される処理とが、同一ユーザに関して異なるユーザ端末20において実行される場合に特に実益がある。具体的には、ユーザAが、ユーザ端末aを利用して図8の処理を実行させた後(例えば、数日後)、ユーザ端末bを利用して図23の処理を実行させる場合である。この場合、ユーザAは、ユーザ端末bを利用してスキャンOCR配信ウィジェット21cを実行させることなく、スキャンOCR配信ウィジェット21cの最終データをユーザ端末bにダウンロードし、利用することができる。
また、中間データの再送信は、例えば、中間データに対する処理の実行主体が変化した場合に特に実益がある。具体的には、スキャンOCR配信ウィジェット21cが利用するOCRサーバ60が他のOCRサーバに変更された場合、異なるOCRエンジンによるOCR結果を容易に得ることが可能となる。
上述した通り、本実施の形態によれば、ウィジェット21の過去の実行履歴を再利用することにより、過去の実行時に生成された中間データ又は最終データの流用性を高めることができる。その結果、本実施の形態の情報処理システムの利便性を著しく向上させることができる。
続いて、個人ウィジェット一覧画面810、履歴一覧画面850、又は履歴詳細画面860に表示される領域813における操作について説明する。
領域813においてリンク8131(「個人ウィジェットを全てダウンロード」)がクリックされると、Webブラウザ23は、全個人ウィジェットのダウンロード要求をウィジェット管理サーバ50に送信する。ウィジェット管理サーバ50のダウンロード制御部513は、ログインユーザに対応する個人ウィジェット一覧記憶部523に登録されている全てのウィジェット21をウィジェット記憶部521より取得し、取得されたウィジェット21をWebブラウザ23に返信する。Webブラウザ23は、受信されたウィジェット21をユーザ端末20に保存する。
斯かる機能により、ユーザは、自らが利用する複数のユーザ端末20において、ウィジェット21の実行環境を容易に整合させる(揃える)ことができる。
また、領域813においてリンク8132(「個人ウィジェットを全て更新」)がクリックされると、Webブラウザ23は、全個人ウィジェットの更新要求をウィジェット管理サーバ50に送信する。ウィジェット管理サーバ50のダウンロード制御部513は、ログインユーザに対応する個人ウィジェット一覧記憶部523に登録されている全てのウィジェット21の中で、バージョンアップが行われているウィジェット21をウィジェット一覧記憶部522を参照して判定する。具体的には、ダウンロード制御部513は、個人ウィジェット一覧記憶部523に登録されている各ウィジェット21について、ウィジェットID及びウィジェット名が同じであり、バージョンが新しい子ウィジェットの有無をウィジェット一覧記憶部522に基づいて判定する。該当するウィジェット21が有る場合、ダウンロード制御部513は、当該ウィジェット21をウィジェット記憶部521より取得し、取得されたウィジェット21をWebブラウザ23に返信する。また、ダウンロード制御部513は、返信したウィジェット21に関する情報をログインユーザの個人ウィジェット一覧記憶部523に登録する。Webブラウザ23は、受信されたウィジェット21をユーザ端末20に保存する。
斯かる機能により、ユーザは、自らのユーザ端末20にインストールされている一つ以上のウィジェット21に関して、一括してバージョンアップを行うことができる。
更に、領域813においてリンク8133(「ウィジェット21を共有」)がクリックされると、何らかのウィジェット21をダウンロードしているユーザの一覧画面がWebブラウザ23に表示される。当該一覧画面は、ウィジェット管理サーバ50において、個人ウィジェット一覧記憶部523が生成されているユーザの一覧である。ユーザが、当該一覧画面において自分以外のユーザ(以下、「他ユーザ」という。)を選択すると、Webブラウザ23は、他ユーザのユーザIDを指定して、当該他ユーザに係る個人ウィジェットの取得要求をウィジェット管理サーバ50に送信する。ウィジェット管理サーバ50のダウンロード制御部513は、指定されたユーザIDに対応する個人ウィジェット一覧記憶部523に登録されている全てのウィジェット21をウィジェット記憶部521より取得し、取得されたウィジェット21をWebブラウザ23に返信する。Webブラウザ23は、受信されたウィジェット21をユーザ端末20に保存する。
斯かる機能により、異なるユーザのユーザ端末20間においてウィジェット21の実行環境を容易に整合させることができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。