以下、本発明の実施の形態について添付の図面を参照しつつ説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することによって重複した説明を省く。
(実施の形態)
<情報処理システム1の構成>
実施の形態に係る情報処理システム1の構成を説明する。図1は、実施の形態に係る情報処理システム1の構成の一例を示す図である。図1に示すように、情報処理システム1は、サーバ10と、端末20と、機器30とを含む。
サーバ10と、端末20と、機器30とは、互いに通信する。本実施の形態では、サーバ10と、端末20と、機器30とは、通信網50を介して通信するが、いかなる有線通信又は無線通信を介して通信してもよい。また、サーバ10、端末20及び機器30は、通信網50を介して、外部サービスによって提供される外部サーバ40と通信する。
情報処理システム1において、1つのサーバ10に対して、1つ以上の端末20と、1つ以上の機器30とが、配置され得る。情報処理システム1は、1つ以上のサーバ10と、1つ以上の端末20と、1つ以上の機器30とを含んでもよい。
例えば、通信網50は、インターネット、イントラネット、有線LAN(Local Area Network)、無線LAN、モバイル通信網、電話回線通信網、又は、その他の有線若しくは無線通信を用いる通信網であってもよい。これに限定されないが、本実施の形態では、通信網50はインターネットであり、サーバ10及び外部サーバ40はクラウドサーバを構成する。
また、サーバ10、端末20及び機器30の各装置は、1つ以上の装置で構成されてもよい。装置が2つ以上の装置で構成される場合、当該2つ以上の装置は、1つの装置内に配置されてもよく、分離した2つ以上の装置内に分かれて配置されてもよい。本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
サーバ10は、通信機能を有する情報処理装置である。サーバ10の例は、コンピュータ装置である。サーバ10は、サービス提供システムを構成する。サーバ10は、通信網50を介して、種々の機能をそれぞれ実現する複数の処理のうちの1つ以上の処理を組み合わせた一連の処理により実現される種々のサービスを提供する。
ここで、機能とは、文書ファイル及び画像ファイル等の電子ファイルに関する機能である。例えば、このような機能は、プリント、スキャン、ファクシミリ送信、データ形式の変換、メール配信、OCR(Optical Character Recognition)処理、データ加工、データ圧縮、データ解凍、及びリポジトリへの格納等を含んでもよい。以下において、上記のような一連の処理を「処理フロー」又は「ワークフロー」とも表記する。処理フロー及びワークフローにおいて、一連の処理は、フローに従い各処理を行うように構成されてもよい。
これに限定されないが、本実施の形態では、外部サーバ40は、ファイル共有サービス(「オンラインストレージサービス」とも呼ばれる)を提供する。例えば、ファイル共有サービスは、外部サーバ40にアクセス可能である装置に対して、外部サーバ40へのファイルの保存、及び、外部サーバ40に格納されたファイルの共有を可能にする。ファイル共有サービスの例は、Dropbox(登録商標)、Google Drive(登録商標)及びOneDrive(登録商標)等である。外部サーバ40は、端末20から出力されたファイル、機器30から出力されたファイル、及びサーバ10によって処理されたファイル等を保存する。そして、外部サーバ40は、端末20、機器30及びサーバ10等の指令又は要求に応答して、保存したファイルを指定された送信先に送信する。外部サーバ40は必須でない。
機器30は、通信機能を有する情報処理装置である。機器30は、サーバ10が提供する各種サービスを利用することができる。本実施の形態では、機器30は、画像形成装置であるとして説明する。なお、機器30は、画像形成装置に限定されず、サーバ10及び端末20と接続されるいかなる機器であってもよい。
画像形成装置は、データの内容を示す画像を記録媒体上に形成する装置である。画像形成装置の例は、MFP(多機能周辺装置:Multifunction Peripheral/Printer/Product)、ファクシミリ、スキャナ、プリンタ、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)及びデジタルサイネージなどの出力装置、HUD(Head Up Display)装置、並びに、ディスプレイ装置等である。本実施の形態では、画像形成装置は、ファクシミリ、スキャナ及びプリンタ機能を有するMFPであるとして説明する。例えば、画像形成装置は、スキャンデータ等の出力データを、通信網50を介して、サーバ10及び外部サーバ40を経由して、端末20等の他の装置へ送信する。
なお、画像形成装置を除く機器30の例は、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC及びデスクトップPC等であるが、これに限定されない。
記録媒体の例は、紙、布、フィルム又は板等のシート材であるが、これに限定されない。本実施の形態では、記録媒体は紙であるとする。よって、機器30は、紙上に印刷することによって、画像を形成する。
端末20は、通信機能を有する情報処理装置である。端末20は、サーバ10が提供する各種サービスを利用することができる。端末20は、記録媒体上に形成する画像のデータを、機器30へ送信する。端末20は、当該データを生成してもよく、外部機器から取得してもよい。本実施の形態では、端末20は、当該データを、通信網50を介して、サーバ10及び外部サーバ40を経由して、機器30へ送信する。
端末20の例は、ノートPC、携帯電話、スマートフォン及びタブレット端末などのスマートデバイス、ゲーム機、PDA、デジタルカメラ、ウェアラブルPC、デスクトップPC、テレビ会議端末、並びにIWB等である。本実施の形態では、端末20は、ノートPCであるとして説明する。
上述したように、端末20及び機器30はいずれも、サーバ10が提供するサービスを利用して、出力データの処理等を行うことができる。このような端末20及び機器30をまとめて、デバイス60とも表現する。
<サーバ10のハードウェア構成>
サーバ10のハードウェア構成を説明する。図2は、実施の形態に係るサーバ10のハードウェア構成の一例を示すブロック図である。図2に示すように、サーバ10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、HD(Hard Disk)104と、HDD(Hard Disk Drive)コントローラ105と、ディスプレイ106と、外部機器接続I/F(インタフェース:Interface)108と、ネットワークI/F109と、データバス110と、キーボード111と、ポインティングデバイス112と、DVD-RW(Digital Versatile Disk Rewritable)ドライブ114と、メディアI/F116とを構成要素として含む。
CPU101は、サーバ10全体の動作を制御する。ROM102は、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶する。RAM103は、CPU101のワークエリアとして使用される。HD104は、プログラム等の各種データを記憶する。HDDコントローラ105は、CPU101の制御にしたがってHD104に対する各種データの読み出し又は書き込みを制御する。ディスプレイ106は、カーソル、メニュー、ウィンドウ、文字及び画像等の各種情報を表示する。外部機器接続I/F108は、各種の外部機器を接続するためのインタフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリ及びプリンタ等である。ネットワークI/F109は、通信網50を利用してデータ通信をするためのインタフェースである。バスライン110は、CPU101等の各構成要素を電気的に接続するためのアドレスバス又はデータバス等である。
また、キーボード111は、文字、数値及び各種指示等の入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス112は、各種指示の選択及び実行、処理対象の選択、並びに、カーソルの移動等を行う入力手段の一種である。DVD-RWドライブ114は、着脱可能な記録媒体の一例としてのDVD-RW113に対する各種データの読み出し又は書き込みを制御する。なお、記録媒体は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F116は、フラッシュメモリ等の記録メディア115に対するデータの読み出し又は書き込み(記憶)を制御する。
<端末20のハードウェア構成>
端末20のハードウェア構成を説明する。図3は、実施の形態に係る端末20のハードウェア構成の一例を示すブロック図である。図3に示すように、端末20は、CPU201と、ROM202と、RAM203と、HD204と、HDDコントローラ205と、ディスプレイ206と、外部機器接続I/F208と、ネットワークI/F209と、データバス210と、キーボード211と、ポインティングデバイス212と、DVD-RWドライブ214と、メディアI/F216とを構成要素として含む。端末20の上記構成要素の構成及び機能はサーバ10の構成要素と同様であるため、その説明を省略する。
<機器30のハードウェア構成>
機器30のハードウェア構成を説明する。図4は、実施の形態に係る機器30のハードウェア構成の一例を示すブロック図である。図4に示すように、機器30は、コントローラ310と、近距離通信回路320と、エンジン制御部330と、操作パネル340と、ネットワークI/F350とを構成要素として含む。
コントローラ310は、コンピュータの主要部であるCPU301と、システムメモリ(MEM-P)302と、ノースブリッジ(NB)303と、サウスブリッジ(SB)304と、ASIC(Application Specific Integrated Circuit)306と、記憶部であるローカルメモリ(MEM-C)307と、HDDコントローラ308と、記憶部であるHD309とを含む。NB303とASIC306とは、AGP(Accelerated Graphics Port)バス321によって接続されるように構成されている。
CPU301は、機器30の全体制御を行う制御部である。NB303は、CPU301と、MEM-P302、SB304及びAGPバス321とを接続するためのブリッジである。NB303は、MEM-P302に対する読み書き等を制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタと、AGPターゲットとを含む。
MEM-P302は、ROM302aとRAM302bとを含む。ROM302aは、コントローラ310の各機能を実現させるプログラム及びデータの格納用メモリである。RAM302bは、プログラム及びデータの展開並びにメモリ印刷時の描画用メモリ等として用いられる。なお、ROM302aに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R及びDVD等のコンピュータで読み取り可能な記録媒体に記録して提供されるように構成されてもよい。
SB304は、NB303と、PCIデバイス及び周辺デバイスとを接続するためのブリッジである。ASIC306は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。ASIC306は、AGPバス321、PCIバス322、HDDコントローラ308及びMEM-C307をそれぞれ接続するブリッジの役割を有する。ASIC306は、PCIターゲット及びAGPマスタと、ASIC306の中核をなすアービタ(ARB)と、MEM-C307を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等を行う複数のDMAC(Direct Memory Access Controller)と、スキャナ部331及びプリンタ部332との間でPCIバス322を介したデータ転送を行うPCIユニットとを含む。なお、ASIC306は、USB(Universal Serial Bus)のインタフェース、及び、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインタフェースと接続されるように構成されてもよい。
MEM-C307は、コピー用画像バッファ及び符号バッファとして用いられるローカルメモリである。HD309は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、及び、フォームの蓄積を行うためのストレージである。HDDコントローラ308は、CPU301の制御にしたがってHD309に対するデータの読出又は書込を制御する。AGPバス321は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースである。AGPバス321は、MEM-P302に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
また、近距離通信回路320は、近距離通信回路320aを備える。近距離通信回路320は、NFC(Near Field Communication)及びBluetooth(登録商標)等の近距離無線通信規格に適合した通信回路である。
エンジン制御部330は、スキャナ部331及びプリンタ部332を含む。また、操作パネル340は、パネル表示部340aと、操作パネル340bとを備えている。パネル表示部340aは、現在の設定値及び選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等で構成されてもよい。操作パネル340bは、印刷濃度の設定条件等の画像形成に関する条件の設定値を受け付けるテンキー、及びコピー開始指示を受け付けるスタートキー等を含む。コントローラ310は、機器30全体の制御を行い、例えば、描画、通信、及び操作パネル340からの入力等を制御する。スキャナ部331又はプリンタ部332は、誤差拡散及びガンマ変換等の画像処理部分を含む。
なお、機器30は、操作パネル340のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能を順次に切り替えて選択することが可能である。機器30は、ドキュメントボックス機能の選択時にはドキュメントボックスモードで動作し、コピー機能の選択時にはコピーモードで動作し、プリンタ機能の選択時にはプリンタモードで動作し、スキャナ機能の選択時にはスキャナモードで動作し、ファクシミリモードの選択時にはファクシミリモードで動作する。
ネットワークI/F350は、通信網50を利用してデータ通信をするためのインタフェースである。近距離通信回路320及びネットワークI/F350は、PCIバス322を介して、ASIC306と電気的に接続されている。
<サーバ10の機能的構成>
サーバ10の機能的な構成を説明する。図5は、実施の形態に係るサーバ10の機能的構成の一例を示すブロック図である。具体的には、サーバ10におけるサービス提供システムの機能的な構成を説明する。図5に示すデバイス60は、端末20又は機器30である。デバイス60は、例えばCPU等により実行されるブラウザ610を有する。デバイス60のユーザは、ブラウザ610を用いて、各種サービスを利用するためのアプリケーションをサーバ10に登録し、登録したアプリケーションを起動し実行させることができる。デバイス60は、ブラウザ610を有していればよく、例えば、サーバ10が提供する各種サービスを利用するための専用のアプリケーションプログラム等を有している必要はない。
例えば、画像形成装置である機器30について、デバイス60は、ドキュメントボックス機能、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能等の各機能を設定するためのワークフローを、アプリケーションとしてサーバ10に登録することができる。この場合、ワークフローは、端末20及び機器30のいずれによって登録されてもよい。
サーバ10は、入出力サービス処理部1100と、Webサービス処理部1200と、ドキュメントサービス部1300と、ポータルサービス部1400とを機能的構成要素として含む。各機能的構成要素は、サーバ10にインストールされた1つ以上のプログラムが、CPU101に実行させる処理により実現される。
また、サーバ10は、アプリ情報記憶部1500と、アプリ画面情報記憶部1600と、ポータル画面情報記憶部1700と、履歴情報記憶部1800とを機能的構成要素として含む。各記憶部は、HDD104等を用いて実現可能である。なお、各記憶部のうちの少なくとも1つの記憶部が、サーバ10と通信網50等を介して接続される記憶装置等を用いて実現されてもよい。例えば、少なくとも1つの記憶部が、外部サーバ40に備えられてもよい。これにより、サーバ10の負荷が低減され、さらに、当該記憶部に記憶される情報が共有化される。
入出力サービス処理部1100は、サーバ10が提供するサービスに関する処理を行う。入出力サービス処理部1100は、アプリ管理部1101と、ロジック処理部1102とを含む。
アプリ管理部1101は、アプリ情報記憶部1500に記憶されているアプリ情報1510を管理する。なお、アプリ情報1510とは、一連の処理により実現されるサービスを利用するためのアプリケーションである。換言すれば、サーバ10が提供する各種サービスは、アプリ情報1510により提供される。
また、アプリ管理部1101は、ロジック処理部1102からの要求に応じて、アプリ情報1510に含まれる処理フロー情報1511を返信する。なお、処理フロー情報1511とは、アプリ情報1510により提供されるサービスを実現する一連の処理が定義された情報である。
さらに、アプリ管理部1101は、ポータルサービス部1400からの要求に応じて、アプリ情報1510をアプリ情報記憶部1500に記憶させる。これにより、サービスを提供するアプリ情報1510(アプリケーション)がサーバ10に登録される。
また、アプリ管理部1101は、各アプリケーションにおける処理の実行履歴を取得し、履歴情報記憶部1800に記憶させる。実行履歴は、アプリケーションの実行結果を含む。例えば、アプリケーションの実行結果は、当該アプリケーション全体の処理内容、当該アプリケーションに含まれる各処理の内容、当該アプリケーションの処理の開始日時、当該アプリケーションの処理の終了日時、及び、当該アプリケーションの処理が正常に完了したか否かの情報等を含んでもよい。アプリケーションが正常に完了したか否かの情報は、当該アプリケーション全体の処理が正常に完了したか否かの情報、及び、当該アプリケーションに含まれる各処理が正常に完了したか否かの情報等を含んでもよい。アプリケーションの処理の終了日時は、当該アプリケーションの処理が正常に完了したか否かに関係なく、当該アプリケーションが終了した日時であってもよい。例えば、アプリ管理部1101は、アプリケーションの実行履歴をブラウザ610及びアプリ実行部1202等を介して取得してもよい。
ロジック処理部1102は、Webサービス処理部1200からの要求に応じて、アプリ情報1510に含まれる処理フロー情報1511をアプリ管理部1101から取得する。そして、ロジック処理部1102は、アプリ管理部1101から取得した処理フロー情報1511に基づいて、当該アプリ情報1510が提供するサービスを実現する一連の処理(処理フロー)を実行する。これにより、各種サービスの提供が可能になる。
Webサービス処理部1200は、ユーザがデバイス60のブラウザ610を用いて各種サービスを利用するための処理を行う。すなわち、Webサービス処理部1200は、ブラウザ610に対してWebアプリケーション(アプリ情報1510)を提供するアプリケーションサーバとして機能する。Webサービス処理部1200は、画面構成部1201と、アプリ実行部1202とを含む。
画面構成部1201は、ブラウザ610からの要求に応じて、アプリ画面情報記憶部1600に記憶されているアプリ画面情報1610と、アプリ情報記憶部1500に記憶されているアプリ情報1510に含まれるアプリ設定情報1512とを返信する。
なお、アプリ画面情報1610とは、アプリ情報1510により提供されるサービスを利用するための画面(アプリ画面)の雛形が定義された情報である。アプリ画面情報1610は、例えば、HTML(HyperText Markup Language)、XHTML(Extensible HyperText Markup Language)、CSS(Cascading Style Sheets)、又はJavaScript(登録商標)等でアプリ画面の雛形が定義された情報である。
また、アプリ設定情報1512は、アプリケーション(アプリ情報1510)の各種設定が定義された情報である。例えば、アプリ設定情報1512には、一連の処理の実行に用いられるパラメータ情報のうち、ユーザにより入力されるパラメータ情報及びデフォルトで設定されるパラメータ情報等が定義されている。また、例えば、アプリ設定情報1512には、ユーザがアプリ画面においてパラメータ情報を入力するための入力項目及びアプリ画面における表示情報(例えば、アプリケーション名)等が定義されている。アプリ設定情報1512は、例えば、JSON(JavaScript Object Notation)等でアプリケーションの各種設定が定義された情報である。
これにより、デバイス60には、ブラウザ610により、サーバ10が提供するサービスを利用するためのアプリ画面が表示される。
アプリ実行部1202は、ブラウザ610からの要求に応じて、入出力サービス処理部1100に対して、アプリケーション(アプリ情報1510)の実行要求を送信する。また、アプリ実行部1202は、ブラウザ610から取得されるアプリケーションの実行履歴を入出力サービス処理部1100に送信する。入出力サービス処理部1100のアプリ管理部1101は、当該実行履歴を履歴情報記憶部1800に記憶させる。また、アプリ実行部1202は、ブラウザ610からの要求に応じて、アプリケーションの実行履歴の要求を、入出力サービス処理部1100に送信してもよい。入出力サービス処理部1100のアプリ管理部1101は、要求されるアプリケーションの実行履歴を履歴情報記憶部1800から抽出し、Webサービス処理部1200に送信する。アプリ実行部1202は、受信した実行履歴をデバイス60に送信する。
ドキュメントサービス部1300は、処理フロー情報1511に基づく一連の処理(処理フロー)に含まれる所定の処理を実行する。ドキュメントサービス部1300は、OCR処理部1301及びメール配信部1302等を含む。OCR処理部1301は、スキャン画像等の電子ファイルに対してOCR処理を行う。メール配信部1302は、電子ファイルを添付したメールを作成して、当該メールを指定されたメールアドレス宛に配信する。ドキュメントサービス部1300は、処理後の電子ファイルを外部サーバ40に送信してもよい。
なお、ドキュメントサービス部1300には、これら以外にも、例えば、電子ファイルの圧縮又は解凍するための圧縮・解凍処理部、電子ファイルのデータ形式を変換するためのデータ形式変換部等、種々の機能部が含まれていてもよい。
ポータルサービス部1400は、ユーザがデバイス60のブラウザ610を用いてアプリケーションの登録等を行うための処理を行う。ポータルサービス部1400は、UI(User Interface)提供部1401と、アプリ登録部1402とを含む。UI提供部1401は、ブラウザ610からの要求に応じて、ポータル画面情報記憶部1700に記憶されているポータル画面情報1710を返信する。ここで、ポータルとは、ブラウザ610を用いて、アプリケーションの登録等を行うことができるWebサイトである。
なお、ポータル画面情報1710とは、ポータルのトップ画面(ポータルトップ画面)、及び、アプリケーション登録画面等の各種画面が定義された情報である。ポータル画面情報1710は、例えば、HTML、XML、CSS又はJavaScript等のブラウザ610で各種画面が定義された情報である。
これにより、デバイス60には、ブラウザ610により、ポータルトップ画面又はアプリケーション登録画面等が表示される。したがって、ブラウザ610のユーザは、アプリケーション登録画面において、アプリケーション(アプリ情報1510)の登録操作を行うことができる。
アプリ登録部1402は、UI提供部1401からの要求に応じて、アプリケーション(アプリ情報1510)の登録をアプリ管理部1101に要求する。すなわち、アプリ登録部1402は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部1101に要求する。
また、アプリ登録部1402は、ブラウザ610からの要求に応じて、アプリケーションの実行履歴の要求を、入出力サービス処理部1100に送信してもよい。入出力サービス処理部1100のアプリ管理部1101は、要求されるアプリケーションの実行履歴を履歴情報記憶部1800から抽出し、ポータルサービス部1400に送信する。アプリ登録部1402は、受信した実行履歴をデバイス60に送信する。
アプリ情報記憶部1500は、アプリ情報1510を記憶する。アプリ情報1510は、当該アプリ情報1510を識別するアプリIDと関連付けてアプリ情報記憶部1500に記憶されている。なお、アプリIDは、例えば、アプリ情報1510のURL(Uniform Resource Locator)又はアプリ情報1510のURLに含まれる識別情報等である。
アプリ情報1510は、処理フロー情報1511と、アプリ設定情報1512と含む。例えば、処理フロー情報1511では、アプリ情報1510によって提供されるサービスを実現する一連の処理が定義されてもよい。アプリ設定情報1512では、アプリ情報1510の各種設定が定義されてもよい。なお、アプリ情報1510は、2つ以上の処理フロー情報1511と2つ以上のアプリ設定情報1512とを含んでもよい。
処理フロー情報1511は、上述したように、アプリ情報1510により提供されるサービスを実現する一連の処理(処理フロー)が定義された情報である。また、アプリ設定情報1512は、上述したように、アプリケーション(アプリ情報1510)の各種設定が定義された情報である。
アプリ画面情報記憶部1600は、アプリ画面情報1610を記憶する。アプリ画面情報1610は、アプリIDと関連付けられてアプリ画面情報記憶部1600に記憶されている。
ポータル画面情報記憶部1700は、ポータル画面情報1710を記憶する。ポータル画面情報1710は、ポータルトップ画面及びアプリケーション登録画面等のURLと関連付けられてポータル画面情報記憶部1700に記憶されている。
履歴情報記憶部1800は、アプリケーション毎に、当該アプリケーションにおける処理の実行履歴を記憶する。例えば、履歴情報記憶部1800では、アプリ情報1510に含まれる全てのアプリケーションについて、実行履歴がアプリIDと関連付けられて記憶されてもよい。
例えば、アプリケーションの実行履歴は、当該アプリケーションが実行される度に取得された実行結果を含んでもよい。例えば、各実行結果は、アプリケーション全体の処理内容、当該アプリケーションに含まれる各処理の内容、当該アプリケーションの処理の開始日時、当該アプリケーションの処理の終了日時、及び、当該アプリケーションの処理が正常に完了したか否かの実行状態のうちのいくつかの情報を含んでもよい。正常に完了しなかった場合、実行状態はエラー(又は、実行エラー)と表され、正常に完了した場合、実行状態は完了(又は、正常完了)と表される。例えば、履歴情報記憶部1800に記憶される実行履歴は、情報処理システム1に含まれる全ての端末20及び機器30の実行履歴を含んでもよく、端末20及び機器30の一部の実行履歴を含んでもよい。
また、実行履歴が含む情報は、上記に限定されない。例えば、実行履歴は、アプリケーション全体の処理内容と、当該アプリケーションに含まれる各処理の内容との少なくとも1つをさらに含んでもよい。また、実行履歴は、当該アプリケーションを実行した端末20又は機器30の情報と、当該アプリケーションを実行した端末20又は機器30にログインしていたユーザの情報との少なくとも1つをさらに含んでもよい。例えば、端末20及び機器30の情報は、ID等の端末20及び機器30の識別情報であってもよい。ユーザの情報は、ID等のユーザの識別情報であってもよい。ログインとは、ユーザが認証され端末20又は機器30の使用が許可されることであってもよい。これにより、実行履歴は、アプリケーション、端末20、機器30及びユーザの組み合わせに応じて分類され、扱われることができる。
また、上述のような入出力サービス処理部1100、Webサービス処理部1200、ドキュメントサービス部1300及びポータルサービス部1400等はそれぞれ、異なる情報処理装置により実現されてもよい。
<機器30の機能的構成>
機器30の機能的な構成を説明する。図6は実施の形態に係る機器30の機能的構成の一例を示すブロック図である。図6に示すように、機器30は、通信部31と、操作受付部32と、表示制御部33と、処理情報生成部34と、処理結果生成部35と、履歴情報抽出部36と、状態情報生成部37と、履歴情報管理部38と、履歴情報保持部39とを機能的構成要素として含む。
通信部31は、ネットワークI/F350等によって実現される。通信部31は、通信網50を介した他の装置との通信を制御する。
操作受付部32は、操作パネル340等によって実現される。操作受付部32は、操作パネル340を介して入力された情報及び指令等を示す信号を、当該情報及び指令等を示す情報に変換し、他の構成要素に出力する。操作受付部32は受付部の一例である。
表示制御部33、処理情報生成部34、処理結果生成部35、履歴情報抽出部36、状態情報生成部37及び履歴情報管理部38は、CPU301等によって実現される。また、本実施の形態では、処理結果生成部35、履歴情報抽出部36、状態情報生成部37及び履歴情報管理部38は、機器30のブラウザ上で機能するが、これに限定されない。
なお、ブラウザは、サーバ10から送信されるデータ及びプログラム等を、画面上に文字及び画像として表示するためのプログラムである。機器30のユーザは、ブラウザを用いることで、サーバ10へのアプリケーションの登録及び登録されたアプリケーションの設定、サーバ10に登録されたアプリケーションの実行等を行うことができる。
表示制御部33は、各構成要素から取得される情報を、パネル表示部340aでの表示に適した画像データに変換し、パネル表示部340aに表示させる。例えば、表示制御部33は、実行履歴のデータを画像データに変換し、パネル表示部340aに表示させる。
処理情報生成部34は、実行されているアプリケーションに処理をさせるデータを含むジョブを生成する。このようなジョブの例は、ドキュメントボックスに保存されるデータを含むジョブ、コピーモードにおいて記録媒体に形成されるデータを含むジョブ、プリンタモードにおいて記録媒体に形成されるデータを含むジョブ、スキャナモードにおいて読み取られたデータを含むジョブ、及び、ファクシミリモードにおいて送信されるデータを含むジョブ等である。
処理情報生成部34は、生成したジョブをサーバ10に送信し、送信されたジョブはアプリケーションのワークフローに従って処理を受けた後、場合によって外部サーバ40を介して、サーバ10から、ジョブに指定された宛先に送信される。
処理結果生成部35は、ジョブに対して行われた処理の結果を示す情報を生成する。具体的には、処理結果生成部35は、アプリケーションがジョブを処理した結果を示す情報を生成する。例えば、アプリケーションが、データのOCR処理と、OCR処理後のデータの外部サーバ40への保存処理と、OCR処理後のデータの外部機器への送信処理とを含む場合、処理結果生成部35は、OCR処理の完了結果と、外部サーバ40への保存処理の完了結果とを、アプリケーション上で取得することができる。しかしながら、処理結果生成部35は、外部機器へ送信されたデータが当該外部機器で受信されたか否か、つまり、受信の完了結果をアプリケーション上で取得することができない。よって、処理結果生成部35は、上記3つの処理それぞれについて、正常に完了したことを示す正常完了と、正常に完了しなかったことを示す実行エラーと、完了を確認できなかったことを示す完了未確認とのうちのいずれかの結果を設定し、処理結果として出力する。
履歴情報抽出部36は、機器30において実行されているアプリケーションについて、当該アプリケーションの実行履歴の要求を、通信部31を利用してサーバ10に送信する。履歴情報抽出部36は、当該履歴情報抽出部36を含む機器30についての実行履歴を要求してもよく、機器30及び他の機器についての実行履歴を要求してもよい。また、履歴情報抽出部36は、機器30にログインしているユーザについての実行履歴を要求してもよく、上記ユーザだけなく、他のユーザについての実行履歴を要求してもよい。
また、履歴情報抽出部36は、サーバ10から当該アプリケーションの実行履歴を受信すると、履歴情報保持部39に記憶させ保持させる。
履歴情報管理部38は、機器30において実行されているアプリケーションの実行結果を管理する。具体的には、履歴情報管理部38は、当該アプリケーションがジョブに対して実行中の処理が終了すると、当該ジョブに対する処理の実行結果をサーバ10に送信する。送信される実行結果は、アプリケーション全体の処理内容、当該アプリケーションに含まれる各処理の内容、当該アプリケーションの処理の開始日時、当該アプリケーションの処理の終了日時、及び、当該アプリケーションの処理が正常に完了したか否かの実行状態のうちのいくつかの情報を含んでもよい。これにより、履歴情報記憶部1800に記憶される当該アプリケーションの実行履歴が更新される。そして、更新後の実行履歴が履歴情報抽出部36によって取得されてもよい。
また、履歴情報管理部38は、実行結果を履歴情報保持部39に出力し、保持されている実行履歴を更新してもよい。
履歴情報保持部39は、HD309等によって実現される。履歴情報保持部39は、履歴情報抽出部36によって取得されたアプリケーションの実行履歴を記憶する。本実施の形態では、履歴情報保持部39は、アプリケーションの実行履歴を、当該アプリケーションの起動中保持するが、これに限定されない。例えば、履歴情報保持部39は、アプリケーションの実行履歴を、所定の期間保持してもよい。そして、アプリケーションが閉じられた後、又は、所定の期間経過後、履歴情報管理部38は、履歴情報保持部39から当該実行履歴を除去してもよい。
状態情報生成部37は、処理結果生成部35によって生成される処理結果等を用いて、アプリケーションによって処理されたジョブの状態を示す情報を生成する。ジョブに対するアプリケーションの全ての処理が正常完了である場合、状態情報生成部37は、ジョブの処理が正常完了状態であると決定する。ジョブに対するアプリケーションのいずれかの処理が実行エラーである場合、状態情報生成部37は、ジョブの処理が実行エラー状態であると決定する。ジョブに対するアプリケーションのいずれかの処理が完了未確認であり且つその他の処理が正常完了である場合、状態情報生成部37は、ジョブの処理が条件付き完了状態であると決定する。また、ジョブに対するアプリケーションの処理のうち当該アプリケーション上で完了結果を取得できる処理の完了が未確認である場合、状態情報生成部37は、ジョブの処理が未完了状態つまり処理中であると決定する。
また、端末20の機能的構成は、機器30と同様であるため、その説明を省略する。
<情報処理システム1の動作>
情報処理システム1の動作を説明する。以下において、機器30においてアプリケーションを実行する場合の動作を説明する。なお、端末20においてアプリケーションを実行する場合の動作も同様であるため、その説明を省略する。
例えば、機器30のユーザは、機器30に設定されているアプリケーションを実行するために操作パネル340を操作し、パネル表示部340aに、アプリケーションの実行の開始画面を表示させる。例えば、パネル表示部340aには、図7に示すような開始画面S1が表示される。なお、図7は、実施の形態に係る機器30の開始画面の一例を示す図である。開始画面S1では、機器30に設定されている複数のアプリケーションA~FのボタンAaが表示されている。ユーザは、パネル表示部340a上で実行対象のボタンAaを指等で押下することで選択する、又は、操作パネル340bを用いて設定対象のボタンAaを選択することで、機器30の操作受付部32は、選択されたアプリケーションの実行を受け付ける。操作受付部32は、当該アプリケーションの情報を、ブラウザを介してサーバ10に送信する。これにより、サーバ10は、当該アプリケーションを起動する。本例では、アプリケーションAが起動され、アプリケーションAは、スキャンした画像データを配信する処理を行うものとする。
アプリケーションAは、起動することによって、図8に示すようなアプリ実行画面S2の情報をサーバ10から機器30に送信させる。図8は、実施の形態に係る機器30のアプリ実行画面の一例を示す図である。
これにより、機器30のパネル表示部340aは、アプリ実行画面S2を表示する。図8に示すように、アプリ実行画面S2は、配信する画像データのファイル名が入力される項目Caと、配信先が入力される項目Cbと、項目Ca及びCbに入力された内容で配信処理を実行するためのスタートボタンAcと、アプリケーションAの実行履歴を表示するための実行履歴ボタンAbとを含む。
例えば、アプリ実行画面S2において、ユーザによって、実行履歴ボタンAbが押下等されると、履歴情報抽出部36は、アプリケーションAの実行履歴の要求をサーバ10に送信する。アプリケーションAは、図9に示すような実行履歴画面S3のデータと、履歴情報記憶部1800に記憶されるアプリケーションAの実行履歴のデータとを、サーバ10から機器30に送信させる。履歴情報抽出部36は、受信したアプリケーションAの実行履歴のデータを、履歴情報保持部39に記憶させる。さらに、表示制御部33は、実行履歴のデータと、実行履歴画面S3のデータと、当該実行履歴のデータから処理結果生成部35によって生成される処理結果とを用いて、実行履歴画面S3をパネル表示部340aに表示させる。図9は、実施の形態に係る機器30の実行履歴画面の一例を示す図である。
なお、履歴情報抽出部36は、履歴情報記憶部1800に記憶されるアプリケーションAの実行履歴の全てを要求してもよく一部を要求してもよい。例えば、一部を要求する場合、履歴情報抽出部36は、機器30に関する実行履歴の全て若しくは一部、又は、機器30にログインしているユーザに関する実行履歴の全て若しくは一部等の特定の実行履歴を要求してもよい。また、履歴情報抽出部36は、任意の実行履歴又は特定の実行履歴について、例えば、最新の所定の数量の実行結果を含む実行履歴を要求してもよい。
履歴情報抽出部36が要求する実行履歴は、予め決められていてもよく、操作パネル340b等を用いたユーザの指令に従って決められてもよい。
図9に示すように、実行履歴画面S3は、1つ以上のジョブHの実行結果を含む。各ジョブHの実行結果は、アプリケーションAの処理の開始日時Haと、アプリケーションAの処理の終了日時Hbと、アプリケーションAによって処理されたジョブHの状態Hcとを含む。ジョブHの状態Hcは、処理結果生成部35によって生成される処理結果に対応するが、実行履歴に含まれていてもよい。
ジョブHの状態Hcとして、正常完了状態を示す「完了」、実行エラー状態を示す「エラー」、条件付き完了状態を示す「完了+!」及び未完了状態を示す「処理中」のいずれかで示される。「!」で示される指標Hcbは、「条件付き」を表す。また、特に「エラー」表示は、図9のように、文字色の変更、文字太さの変更、及び枠などの飾りの追加等により強調されて表示されてもよい。これにより、ユーザが、実行エラーの実行結果を認識しやすくなる。
さらに、実行履歴画面S3は、各ジョブHの実行結果の欄に、当該ジョブHの詳細を表示するための詳細ボタンHdを含む。また、実行履歴画面S3は、ジョブHの実行結果の欄の外に、実行履歴を更新するための更新ボタンAdと、実行履歴画面S3を閉じるためのボタンAeとを含む。
例えば、更新ボタンAdが押下等されると、状態が「処理中」のジョブHが更新受ける。このとき、履歴情報管理部38は、当該ジョブHの処理が終了していれば、当該ジョブHの実行結果をサーバ10に送信する。そして、サーバ10は、履歴情報記憶部1800に記憶される実行履歴を、当該ジョブHの実行結果を用いて更新する。履歴情報管理部38は、当該ジョブの実行結果が反映された更新後の実行履歴のデータをサーバ10から取得することで、ジョブHの状態「処理中」を更新後の実行履歴に基づき変更する。表示制御部33は、変更されたジョブHの状態を実行履歴画面S3に反映する。また、履歴情報管理部38は、当該ジョブHの処理が終了していなければ、ジョブHの状態「処理中」を維持する。
また、あるジョブHの詳細ボタンHdが押下等されると、当該ジョブHの詳細を表示する画面が、パネル表示部340aに表示される。このとき、アプリケーションAは、ジョブの詳細を表示する画面のデータを、サーバ10から機器30に送信させる。さらに、表示制御部33は、履歴情報保持部39に保持されている当該ジョブHの実行履歴データを取得する。なお、ジョブの状態が正常完了であり、且つ、ジョブについて詳細を表示する項目がない場合、実行履歴画面S3において、当該ジョブの詳細ボタンHdが省略されてもよい。
例えば、図10は、実施の形態に係る実行履歴の画面データの一例を示す図である。図10に示す画面データは、実行履歴データでもある。図10の実行履歴データは、ジョブの識別情報であるID「1」及び「2」の2つのジョブの実行履歴データを含む。実行履歴データは、ジョブID、開始日時、終了日時、ジョブの状態及び処理内容名等を含む。実行エラーがある場合、実行履歴データは、エラーの詳細情報を含んでもよい。
実行履歴データでは、アプリケーションAがジョブを実行する毎に、「results」の内部のパラメータが増えていく。当該パラメータは、ジョブを識別するための「id」、処理の開始日時を示す「createAt」、処理の終了日時を示す「processedAt」、ジョブの状態を示す「status」、及びジョブの詳細情報を入れるための「jobDetales」等のパラメータを含む。
パラメータ「status」は、ジョブ受付を示す「accepted」、処理中を示す「processing」、完了を示す「completed」、処理がキャンセルされたことを示す「canceled」、又は、実行エラーになったことを示す「error」等の状態を含む。また、パラメータ「status」の状態によって、「result」の内部のパラメータが変化する。例えば、終了日時を示す「processedAt」はジョブが完了した「completed」の場合に値を持つ。パラメータ「jobDetails」には、「componentName」及び「errorInfo」等のパラメータが含まれる。パラメータ「componentName」には、最近(直近)処理が完了した処理内容名であるコンポーネント名が入る。パラメータ「status」が「accepted」の場合、パラメータ「componentName」には、最後に処理されたコンポネーネント名が入る。パラメータ「status」が「error」の場合、実行エラーになったコンポーネント名が入る。さらに、エラーの詳細情報が、パラメータ「errorInfo」にセットされる。
よって、ユーザは、実行履歴画面S3を視認することで、各ジョブの実行結果及び状態を確認することができる。ジョブの完了状態は、正常完了状態と条件付き完了状態とを含むため、ユーザは、ジョブの詳細な状態を確認することができる。さらに、ユーザは、ジョブの状態の詳細な内容を示す画面を表示させ、確認することができる。
以下において、様々なジョブの状態に対応する実行履歴データと、当該実行履歴データを用いて表示される画面とを例示する。
第1の例は、正常完了したジョブの例である。図11Aは、実施の形態に係る正常完了したジョブの画面データの一例を示す図である。図11Bは、実施の形態に係る正常完了したジョブの詳細を示す画面の一例を示す図である。図11Bは、実行履歴画面S3において、正常完了したジョブの詳細ボタンHdが押下等された場合に表示されるジョブの詳細画面S4を示す。詳細画面S4は、実行履歴画面S3と同様に、詳細画面S4を閉じるためのボタンAfを含む。
図11Aに示すように、パラメータ「status」が「completed」の場合、パラメータ「jobDetails」にはジョブ実行時のパラメータ、外部サービス等のジョブの配信先、及び配信先のURL等がセットされ、詳細画面S4に反映される。
図11Bに示す詳細画面S4は、図11Aの実行履歴データを元に、表示制御部33によって生成される。詳細画面S4では、ジョブの状態によらず、処理の開始日時、ジョブの状態、ジョブのIDは設定され、ジョブの状態が正常完了、条件付き完了又はエラーの場合のようにジョブ内の一連の処理の全てが終了している場合、処理の終了日時も設定される。
実行履歴データにおいて、パラメータ「status」が「completed」の場合、詳細画面において、ジョブ実行時のパラメータ、ジョブの配信先サービス名、実行結果、ジョブの保存先のURL等を詳細に表示してもよい。また、例えば、ジョブの内容がスキャンした画像にバーコードを付与するような内容である場合、詳細画面S4において処理結果の画像が表示されるようにしてもよく、この場合、当該画像を表示するためのパラメータを実行履歴データに含めてもよい。
第2の例は、条件付き完了したジョブの例である。図12Aは、実施の形態に係る条件付き完了したジョブの画面データの一例を示す図である。図12Bは、実施の形態に係る条件付き完了したジョブの詳細を示す画面の一例を示す図である。図12Bは、実行履歴画面S3において、状態が「完了+!」であるジョブの詳細ボタンHdが押下等された場合に表示されるジョブの詳細画面S5を示す。
図12Aに示すように、パラメータ「status」は、「completed」であり正常完了と基本的には変わらないが、強調表示用のパラメータ「annotate」が追加でセットされている。図12Bに示すように、表示制御部33は、図11Aの実行履歴データにおける上記パラメータを元に、詳細画面S5において、「状態完了+!」のメッセージ及び強調用アイコンを表示する。
第3の例は、処理中のジョブの例である。図13Aは、実施の形態に係る処理中のジョブの画面データの一例を示す図である。図13Bは、実施の形態に係る処理中のジョブの詳細を示す画面の一例を示す図である。図13Bは、実行履歴画面S3において、状態が処理中であるジョブの詳細ボタンHdが押下等された場合に表示されるジョブの詳細画面S6を示す。
図13Aに示すように、パラメータ「status」が「processing」である場合、パラメータ「jobDetails」には処理の進捗がわかるような情報が入れられる。例えば、ジョブで使用するコンポーネントの総数量を表すパラメータ「total」と、処理が完了したコンポーネントの数量を表すパラメータ「processed」とが追加される。
図13Bに示すように、表示制御部33は、パラメータ「total」及び「processed」とパラメータ「componentName」とを参照し、詳細画面S6において、ジョブの処理のフロー内で最後に処理が完了したコンポーネント名の情報と、処理のフロー中で何番目のコンポーネントの処理まで完了したかの情報とを詳細に表示してもよい。例えば、詳細画面S6では、OCR処理の3つのコンポーネントのうち2つのコンポーネントの処理が完了していることが示されている。また、パラメータ「status」が「processing」である場合、ジョブの処理が完了していないため、詳細画面S6において、終了日時は空白になっている。なお、詳細画面S6において処理に関する問い合わせコードを表示するためのパラメータを、実行履歴データに含ませてもよい。
第4の例は、実行エラーのジョブの例である。図14Aは、実施の形態に係る実行エラーのジョブの画面データの一例を示す図である。図14Bは、実施の形態に係る実行エラーのジョブの詳細を示す画面の一例を示す図である。図14Bは、実行履歴画面S3において、状態がエラーであるジョブの詳細ボタンHdが押下等された場合に表示されるジョブの詳細画面S7を示す。
図14Aに示すように、パラメータ「status」が「error」である場合、パラメータ「jobDetails」には、実行エラーになったコンポーネント名「errorComponent」が入れられる。図14Bに示すように、表示制御部33は、図14Aの実行履歴データにおける上記パラメータを元に、詳細画面S7において、実行エラーになったコンポーネント名を表示する。また、実行エラーの詳細まで確認できる場合、図14Aの実行履歴データが、パラメータ「errorDetailMessage」等を含ませ、詳細画面S7において、実行エラーの詳細が表示されてもよい。なお、詳細画面S7において実行エラーの問い合わせコードを表示するためのパラメータを、実行履歴データに含ませてもよい。
<効果等>
上述したように、実施の形態に係る情報処理システム1は、処理を実行するジョブを生成する処理情報生成部34と、ジョブの実行結果を含む実行履歴を記憶する履歴情報記憶部1800と、実行履歴から、第1ジョブの実行履歴を抽出する履歴情報抽出部36と、第1ジョブの実行履歴に含まれる第1ジョブの実行結果を表示する表示制御部33とを備え、表示制御部33は、第1ジョブの実行結果の状態に応じて、第1ジョブの実行結果の表示方法を変える。
上記構成によると、第1ジョブの実行結果の表示方法は、第1ジョブの実行結果の状態に応じて変えられる。これにより、ユーザは、表示された第1ジョブの実行結果を視認することによって、第1ジョブの実行結果の内容を認識することができる。よって、提示される実行履歴の精度を向上することが可能になる。
また、実施の形態に係る情報処理システム1において、表示制御部33は、第1ジョブの実行結果の状態が、完了した状態であるか、処理中の状態であるか、実行に障害があった実行エラーの状態であるかに応じて、第1ジョブの実行結果の表示方法を変えてもよい。上記構成によると、提示される実行履歴の精度を向上することが可能になる。
また、実施の形態に係る情報処理システム1において、表示制御部33は、第1ジョブの実行結果の状態が、正常に完了した状態であるか、条件付きで完了した状態であるかに応じて、第1ジョブの実行結果の表示方法を変え、条件付きで完了した状態は、情報処理システム1の外部での処理を含むジョブにおける情報処理システム1の内部での処理が完了した状態であってもよい。上記構成によると、ユーザは、表示された第1ジョブの実行結果を視認することによって、第1ジョブの実行結果がどうように完了した状態であるかを認識することができる。
また、実施の形態に係る情報処理システム1は、第1ジョブの実行結果の詳細の要求を受け付ける受付部としての操作受付部32を備え、表示制御部33は、操作受付部32の受け付けに応答して、第1ジョブの実行履歴に基づき、第1ジョブの実行結果の詳細を表示してもよい。上記構成によると、ユーザは、第1ジョブの実行結果の状態だけでなく、当該実行結果の詳細を確認することができる。
また、実施の形態に係る情報処理システム1は、第1ジョブの実行結果の状態の更新を受け付ける履歴情報管理部38を備え、履歴情報管理部38は、更新を受け付けた第1ジョブの実行結果の状態を、第1ジョブの実行履歴に反映してもよい。上記構成によると、第1ジョブの実行履歴が最新の状態に維持され得る。よって、最新の状態の実行履歴の提示が可能になる。
また、実施の形態に係る情報処理システム1は、履歴情報記憶部1800を有するサーバ10と、処理情報生成部34と、履歴情報抽出部36と、表示制御部33とを有する情報処理装置としての端末20又は機器30を備え、サーバ10と端末20又は機器30とは通信してもよい。上記構成によると、サーバ10と、端末20及び/又は機器30との複数の装置を含む情報処理システム1において、高い精度でのジョブの実行履歴の提示が可能になる。
また、実施の形態に係る情報処理装置としての機器30は、処理を実行するジョブを生成する処理情報生成部34と、ジョブの実行結果を含む実行履歴から、第1ジョブの実行履歴を抽出する履歴情報抽出部36と、第1ジョブの実行履歴に含まれる第1ジョブの実行結果を表示する表示制御部33とを備え、表示制御部33は、第1ジョブの実行結果の状態に応じて、第1ジョブの実行結果の表示方法を変える。このような機器30によれば、情報処理システム1と同様の効果が得られる。
(その他の実施の形態)
以上、本発明の実施の形態の例について説明したが、本発明は、上記実施の形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、実施の形態に係る情報処理システム1では、端末20又は機器30は、アプリケーションを起動する毎に、履歴情報記憶部1800に記憶された当該アプリケーションの実行履歴を、サーバ10から取得していたが、これに限定されない。例えば、端末20又は機器30は、定期的に、アプリケーションの実行履歴を、サーバ10から取得し保持していてもよい。例えば、端末20又は機器30は、1日に1回、各アプリケーションの実行履歴をサーバ10から取得してもよく、この場合、1日における最初の起動時に取得してもよい。
また、実施の形態に係る情報処理システム1では、サーバ10と、端末20又は機器30とは、アプリケーション及びブラウザを用いて、通信網50を介して、種々の情報を送受信していたが、これに限定されない。サーバ10と、端末20又は機器30とは、いかなる有線通信又は無線通信を介して情報を送受信してもよい。また、サーバ10の履歴情報記憶部1800が、端末20又は機器30に備えられ、端末20又は機器30が、サーバ10を利用せずに処理を行ってもよい。この場合、処理結果生成部35、履歴情報抽出部36、状態情報生成部37及び履歴情報管理部38は、端末20又は機器30に備えられ、端末20又は機器30のCPU等によってその機能が実現されてもよい。
また、本発明は、情報処理方法であってもよい。例えば、本発明に係る情報処理方法は、処理を実行するジョブの実行結果を含む実行履歴を記憶するステップと、前記実行履歴から、第1ジョブの実行履歴を抽出するステップと、前記第1ジョブの実行履歴に含まれる前記第1ジョブの実行結果を表示するステップとを含み、前記表示するステップでは、前記第1ジョブの実行結果の状態に応じて、前記第1ジョブの実行結果の表示方法を変える。この情報処理方法によれば、上記情報処理システムと同様の効果が得られる。このような情報処理方法は、CPU、LSIなどの回路、ICカード又は単体のモジュール等によって、実現されてもよい。
また、本発明は、プログラムであってもよく、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
例えば、本発明に係るプログラムは、コンピュータに実行させるプログラムであって、処理を実行するジョブの実行結果を含む実行履歴から、第1ジョブの実行履歴を抽出する処理と、前記第1ジョブの実行履歴に含まれる前記第1ジョブの実行結果を表示する処理とを含み、前記表示する処理では、前記第1ジョブの実行結果の状態に応じて、前記第1ジョブの実行結果の表示方法を変える。このプログラムによれば、上記情報処理システムと同様の効果が得られる。
また、上記で説明した実施の形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、実施の形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施の形態では、第1の装置は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、第2の装置は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、第1の装置及び第2の装置は、開示された処理ステップを様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、第2の装置によって実行され得る。同様に、所定のユニットの機能は、第2の装置によって実行することができる。また、第1の装置及び第2の装置の各要素は、1つのサーバ装置にまとめられていてもよいし、複数の装置に分けられていてもよい。
また、上記で用いた序数、数量等の数字は、全て本発明の技術を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。また、構成要素間の接続関係は、本発明の技術を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
また、機能ブロック図におけるブロックの分割は一例であり、複数のブロックを一つのブロックとして実現する、一つのブロックを複数に分割する、及び/又は、一部の機能を他のブロックに移してもよい。また、類似する機能を有する複数のブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。