[1]実施形態
まず、図1から図11までを参照して、実施形態の情報処理システムの全体構成、ハードウェア構成及び機能構成について説明する。
[1−1]全体構成
図1は、情報処理システムの全体構成の一例を示すブロック図である。図1では、通信回線2と、通信機器3と、情報処理装置10と、複数のユーザ装置20とを備える情報処理システム1が示されている。情報処理システム1は、本実施形態では、コピーやスキャン、FAX(ファクシミリ)、プリント(画像データの媒体への出力)などの機能をユーザに提供するシステムである。
通信回線2は、例えばインターネットや移動体通信網、電話回線などのうちの少なくとも1つ以上を含む通信のためのシステムである。通信回線2は、自システムに接続された装置同士の通信を仲介する。通信回線2には、情報処理装置10及び通信機器3が接続されている。通信機器3は、通信機能を有する装置であり、本実施形態では無線LANの規格に準拠して無線通信を行う。通信機器3は、ユーザ装置20と無線通信を行う一方、通信回線2を介して情報処理装置10と通信する。つまり、情報処理装置10は、通信回線2及び通信機器3を介してユーザ装置20と通信する。
情報処理装置10は、媒体に画像を形成する画像形成処理や、媒体に形成された画像を読み取る画像読取処理などの処理を行う装置である。これらの処理は、前述したコピーやスキャン、FAX、プリントなどの機能がユーザに提供される際に行われる。情報処理装置10は、自装置の操作に用いられる操作装置30を有する。操作装置30は、情報処理装置10を操作するための装置である。操作装置30は、情報処理装置10の筐体に固定されており、情報処理装置10が設置されている場所に来たユーザによって用いられる。操作装置30は、例えば液晶ディスプレイ等を有し、情報処理装置10を操作するための画像データ(以下「操作画像データ」という)を表示する。操作画像データについて、図6を参照して説明する。
図6は、表示された操作画像データの一例を示す図である。図6の例では、コピー機能を利用するための操作画像データ群A1が表示されている。操作画像データ群A1には、コピーを開始させるための操作画像データA11などが含まれている。ユーザは、この操作画像データA11をタップする(軽く叩く)ことで、操作画像データA11に対応する操作、すなわちコピーを開始させる操作を行う。操作装置30は、表示した操作画像データに対して操作が行われると、その操作に対応した処理の要求を情報処理装置10に対して行う。操作画像データA11が操作された場合であれば、操作装置30は、コピー機能を提供するための処理(具体的には画像読取処理及び画像形成処理を含む一連の処理。以下「コピー処理」という)を情報処理装置10に要求する。
ユーザ装置20は、操作画像を表示し、表示した操作画像に対して操作が行われると、その操作に対応した処理の要求を情報処理装置10に対して行うという点で、操作装置30と共通している。ユーザ装置20は、例えばタブレット端末やパーソナルコンピュータなどであり、ユーザによって持ち運ばれて利用されるものでもよいし、机に設置されて利用されるものでもよい。また、情報処理装置10の操作に限らず、他の用途(会社の業務など)にも用いられてもよい。
情報処理装置10は、操作装置30やユーザ装置20からの要求に基づいて処理を実行すると、実行している処理の状況を表す情報(以下「状況情報」という)をこれらの装置に送信することで、これらの装置に対して処理の状況を通知する。
図7は、表示された状況情報の例を示す図である。情報処理装置10は、例えばコピー処理を実行した場合であれば、図7(a)に示すように、コピーが完了した枚数(部数及びページ数)を表す枚数情報C11や「コピーしています。」という文字列、「白黒」、「A4」、「100%」及び「ソート」というコピーのパラメータなどを含む状況情報C1を通知する。
また、情報処理装置10は、コピー処理が進んで要求された枚数のコピーが完了すると、図7(b)に示すように、要求された枚数の分のコピーが完了したことを表す枚数情報C21や「コピーが完了しました。」という文字列などを含む状況情報C2を送信する。なお、枚数情報C11及びC21は、コピーを要求された枚数を分母とし、そのうちコピーが完了した枚数を分子とする分数で表されている。このように、状況情報には、処理の進捗を表す情報や処理の結果を表す情報、処理に用いられるパラメータの情報などが含まれる。操作装置30及びユーザ装置20は、いずれも、通知された状況を図7に示すように表示する表示装置でもある。以下では、操作装置30及びユーザ装置20を区別しない場合には表示装置4という。
[1−2]ハードウェア構成
図2は、ユーザ装置20のハードウェア構成の一例を示すブロック図である。ユーザ装置20は、制御部21と、記憶部22と、通信部23と、表示部24と、操作部25とを備えるコンピュータである。制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及びリアルタイムクロックを備え、CPUが、RAMをワークエリアとして用いてROMや記憶部22に記憶されたプログラムを実行することによって各部の動作を制御する。リアルタイムクロックは、現在の日時を算出してCPUに通知する。
記憶部22は、ハードディスク等を備え、制御部21が制御に用いるデータやプログラム、画像データなどを記憶する。通信部23は、無線LAN(Local Area Network)の規格に準拠して無線通信を行う通信回路及びアンテナを備える通信手段であり、例えば図1に示す通信機器3と無線通信を行う。表示部24は、例えば液晶ディスプレイを有し、制御部21により制御されて表示面に画像を表示する。操作部25は、例えば自装置がタブレット端末である場合には、表示面に重ねて設けられたタッチセンサ(タッチスクリーンやタッチパネルともいう)や筐体に設けられたボタン等を備え、上述したタップ等のユーザの操作を受け付けてその操作の内容を示す操作データを制御部21に供給する。なお、自装置がパーソナルコンピュータである場合には、操作部25はキーボードやマウスを備えていてもよい。制御部21は、供給された操作データに応じた制御を行う。
図3は、操作装置30のハードウェア構成の一例を示すブロック図である。操作装置30は、制御部31と、記憶部32と、通信部33と、表示部34と、操作部35とを備えるコンピュータである。以下、図2に示すブロックと共通のハードウェアを表すブロック(通信部33以外の各部)には、共通の名称を付して説明を省く。通信部33は、有線LANの規格に準拠して通信を行う通信回路と、通信用のケーブル(具体的にはLANケーブル)が有するコネクタを差し込むポートとを備える通信手段である。
図4は、情報処理装置10のハードウェア構成の一例を示すブロック図である。情報処理装置10は、制御部11と、記憶部12と、画像読取部13と、画像形成部14と、第1通信部15と、第2通信部16と、接続部17とを備えるコンピュータである。以下、図2及び図3に示すブロックと共通のハードウェアを表すブロック(制御部11及び記憶部12)には、共通の名称を付して説明を省く。また、情報処理装置10は、UI(User Interface)部として機能する前述した操作装置30を備えている。制御部11は、本実施形態では、操作装置30以外の各部を制御する。
画像読取部13は、例えばCCD(Charge Coupled Devices)方式を用いて、原稿に描かれた画像を読み取る画像読取処理を行う。画像読取部13は、用紙等の媒体に形成されたコンテンツの画像を光学的に読み取って、読み取った画像を表す画像データを制御部11に供給する。画像形成部14は、例えば電子写真方式を用いて、媒体に画像を形成する画像形成処理を行う。画像形成部14は、制御部11から供給される画像データが示す画像を用紙等の媒体に形成する。なお、画像の読み取り及び画像の形成に用いられる前述した方式は、それぞれ一例であり、他の方式であってもよい。
第1通信部15は、通信用のケーブルやデータバスを介して操作装置30の通信部33と接続され、前述した外部装置を介さずに操作装置30と通信する。つまり、通信部33も、前述した外部装置を介さずに情報処理装置10と通信する。
第2通信部16は、通信用のインターフェースとして有線LANまたは無線LANの規格に準拠して通信を行う通信回路と、通信用のケーブル(LANケーブル)が有するコネクタを差し込むポートや無線LANの規格に準拠した無線の送受信装置を備え、このインターフェースを介して接続される装置と通信する通信処理を行う。第2通信部16は、図1に示す通信回線2に接続されて、外部装置(情報処理装置10にとっての外部装置であり、例えば通信機器3)を介して例えばユーザ装置20と通信する。接続部17は、SDメモリーカード等の記憶媒体を接続するスロット等を有し、それらの記憶媒体と接続する。制御部11は、接続部17を介して、それらの記憶媒体に記憶されているデータの読み出しや記憶媒体へのデータの書き込みを行う。操作装置30は、図3の説明で述べた構成を備え、第1通信部15と通信する。操作装置30は、この通信を行うことで、例えば制御部11から送信されてくるデータが示す画像を表示したり、情報処理装置10を操作するためのデータを制御部11に送信したりするユーザインターフェース部(UI部)として機能する。
[1−3]機能構成
情報処理装置10、ユーザ装置20及び操作装置30の各制御部が各記憶部に記憶されているプログラムを実行して各部を制御することで、以下に述べる機能が実現される。
図5は、情報処理システム1の機能構成の一例を示すブロック図である。情報処理装置10は、仲介手段101と、提供手段102と、処理手段103と、通知手段104と、制御手段105とを備える。ユーザ装置20は操作手段200を備え、操作装置30は操作手段300を備える。
[1−3−1]仲介手段
情報処理装置10の仲介手段101は、自装置(情報処理装置10)と表示装置4との通信を仲介する手段である。より詳細には、仲介手段101は、通信機能を有する外部装置(例えば通信機器3)を介して自装置に接続される表示装置(すなわちユーザ装置20。本発明の「第1装置」の一例)との通信を仲介する。また、仲介手段101は、通信機能を有する外部装置(例えば通信機器3)を介さず自装置に接続される表示装置(すなわち操作装置30。本発明の「第2装置」の一例)との通信を仲介する。仲介手段101が用いる通信の手順(いわゆる通信プロトコル)について以下に説明する。
仲介手段101は、WWW(World Wide Web:ワールドワイドウェブ。以下「ウェブ」という)の規格に準拠して通信を仲介する。仲介手段101は、ウェブの規格のうち、SOAP(Simple Object Access Protocol)の規格に準拠し、例えばXML(Extensible Markup Language)で記述されたデータ(以下「XMLデータ」という)の通信を仲介する。仲介手段101は、例えば表示装置4から送信されてくるHTTP(Hypertext Transfer Protocol)リクエストを示すXMLデータを受け取って後述する提供手段102に供給したり、その応答で後述する提供手段102から供給されるHTTPレスポンスを示すXMLデータを受け取って表示装置4に向けて送信したりする。
また、仲介手段101は、WebSocketの規格にも準拠している。仲介手段101は、この規格に基づいて、TCP(Transmission Control Protocol)のハンドシェイク手続きで表示装置4が一度接続されたあとは、HTTPリクエスト及びHTTPレスポンスを示すXMLデータの通信だけでなく、例えば提供手段102から任意のタイミングで行われる表示装置4へのXMLデータの送信を仲介する。これにより、情報処理システム1においては、表示装置4が発信するHTTPリクエストによるいわゆるプル型の通信だけでなく、情報処理装置10から発信するプッシュ型の通信も行われるようになっている。
仲介手段101は、以下に述べる提供手段102、通知手段104、制御手段105、表示手段201及び301(以下、それぞれを区別しない場合は「表示手段401」という)、要求手段202及び302(以下、それぞれを区別しない場合は「要求手段402」という)の通信を仲介する。詳細には、仲介手段101は、情報処理装置10の提供手段102及び通知手段104が表示装置4の表示手段401と行う通信をそれぞれ仲介し、表示装置4の要求手段402が情報処理装置10の制御手段105と行う通信をそれぞれ仲介する。いずれの場合も、仲介手段101は、ユーザ装置20及び操作装置30との通信を、共通の通信手順(WWWやSOAP、WebSocketなどの規格に準拠した通信の手順)で仲介する。
[1−3−2]提供手段
情報処理装置10の提供手段102は、上述した操作画像を、仲介手段101を介して表示装置4に提供する手段である。提供手段102は、操作画像(具体的には操作画像を示す画像データ)を記憶しており、操作画像を要求するHTTPリクエストを示すXMLデータ(以下「操作画像要求データ」という)が仲介手段101を介して送信されてくると、そのXMLデータが要求する操作画像を含むHTTPレスポンスを示すXMLデータ(以下「操作画像データ」という)を要求元に対して仲介手段101を介して送信する。
提供手段102は、ユーザ装置20から操作画像要求データが送信されてきた場合には、それに応答してユーザ装置20に操作画像データを送信する。また、提供手段102は、操作装置30から操作画像要求データが送信されてきた場合には、それに応答して操作装置30に操作画像データを送信する。このように操作画像の要求元(ユーザ装置20及び操作装置30)に操作画像データを送信することで、提供手段102は、それらの要求元に操作画像をそれぞれ提供する。
[1−3−3]処理手段
情報処理装置10の処理手段103は、処理を実行する手段である。処理手段103は、上述したコピー処理の他、スキャン処理、FAX送信処理、プリント処理(それぞれスキャン機能、FAX機能、プリント機能を提供するための処理)などを実行する。コピー処理には、図4に示す画像読取部13による画像読取処理及び画像形成部14による画像形成処理が含まれる。スキャン処理には画像読取処理が含まれ、FAX送信処理には第2通信部16によるFAX通信処理が含まれる。また、プリント処理には、第1通信部15による通信処理及び画像形成処理が含まれる。スキャン処理及びFAX送信処理には、他にも、データの取得及び出力の方法に応じて、第2通信部16を用いたデータ通信処理やデータを記憶部12に書き込む書込処理、記憶されたデータを記憶部12から読み出す読出処理などが含まれる。処理手段103は、処理を実行すると、上述した状況情報(実行している処理の状況を表す情報)を通知手段104に供給する。
[1−3−4]通知手段
情報処理装置10の通知手段104は、処理手段103が実行する処理の状況を、仲介手段101を介して表示装置4に通知する手段である。通知手段104は、本実施形態では、第1から第4までの4つの通知方法を用いて通知を行う。第1及び第2の通知方法では、通知手段104は、表示装置4からの要求に対する応答で処理の状況を通知する。具体的には、通知手段104は、表示装置4からHTTPリクエストが仲介手段101を介して送信されてきた場合に、そのHTTPリクエストに対するHTTPレスポンスに処理手段103から供給された状況情報を記述し、仲介手段101を介してそのHTTPレスポンスを表示装置4に送信することで、処理の状況を通知する。
通知手段104は、第1の通知方法では、表示装置4からHTTPリクエストによる処理の要求(以下「処理要求」という)があった場合に、まず、処理手段103により実行されるその処理が完了するまで待つ。つまり、ここで要求されている「処理」は、処理手段103が行う処理である。そして、通知手段104は、処理を要求したHTTPリクエストに対するHTTPレスポンスにその処理が完了したときの状況、すなわち処理の結果を記述して送信することで、記述した処理の結果を表示装置4に通知する。
通知手段104は、第2の通知方法では、表示装置4からHTTPリクエストによる処理要求があった場合に、要求された処理の完了を待たずに、そのHTTPリクエストに対するHTTPレスポンスにより、まずは処理要求が受け付けられた旨を通知する。それ以降、通知手段104は、表示装置4からその処理の状況の通知を求める要求(以下「通知要求」という)を記述したHTTPリクエストが送信されてきたときに、そのHTTPリクエストに対するHTTPレスポンスに状況情報を記述して送信することで、処理の状況を通知する。表示装置4は、このHTTPリクエストによる通知要求を繰り返し行い(いわゆるポーリングを行い)、通知手段104は、ポーリングによる通知要求を受ける度にその応答で処理の状況を通知する。本実施形態では、表示装置4は、処理の結果が通知されるまでポーリングを行い、通知手段104は、処理の結果を通知するまで処理の状況を繰り返し通知する。
まとめると、通知手段104は、第1の通知方法を用いた場合には、処理を要求したHTTPリクエストに対するHTTPレスポンスにより、処理の結果を要求元の表示装置4に通知する。また、通知手段104は、第2の通知方法を用いた場合には、処理を要求したHTTPリクエストに対するHTTPレスポンスとは別の通信、すなわち、通知を要求するHTTPリクエストに対するHTTPレスポンスにより、処理の結果及びそれ以外の処理の状況を要求元の表示装置4に通知する。このように、通知手段104は、第1及び第2の通知方法を用いた場合には、表示装置4からの要求(処理要求または通知要求)があったときにその要求に対する応答で通知(いわゆるプル型の通知)を行う。
第3及び第4の通知方法は、仲介手段101が、例えば表示装置4が上述した操作画像要求データを送信してきたときなどに、TCPのハンドシェイク手続きを行って自装置(情報処理装置10)とその表示装置4と接続させた状態で行われる。この状態で、通知手段104は、例えば処理手段103から状況情報が供給されると、WebSocketの規格に準拠するXMLデータに状況情報を記述する。以下では状況情報が記述されたXMLデータのことを「通知データ」という。通知手段104は、この通知データを、仲介手段101を介して表示装置4に送信することで、処理の状況を通知する。
通知手段104は、第3の通知方法では、表示装置4からHTTPリクエストによる処理要求があったときに、第2の通知方法のように、要求された処理の完了を待たずにまずは処理要求が受け付けられた旨をそのHTTPリクエストに対するHTTPレスポンスにより通知する。それ以降、通知手段104は、処理手段103から状況情報が供給されたときに、HTTPリクエストによる通知要求を受け取っていなくても、供給された状況情報を記述した通知データを表示装置4に送信して、処理の結果及びそれ以外の処理の状況を要求元の表示装置4に通知する。
つまり、通知手段104は、第3の通知方法を用いた場合には、処理を要求したHTTPリクエストに対するHTTPレスポンスとは別の通信(具体的にはWebSocketの規格に準拠した通信)により、その処理の結果及びそれ以外の処理の状況を通知する。
通知手段104は、第4の通知方法では、表示装置4からのHTTPリクエストによる処理要求の有無に関係なく、処理手段103から状況情報を供給されたときに、供給された状況情報を記述した通知データを表示装置4に送信して、その状況情報が表す状況を要求元の表示装置4に通知する。通知手段104は、第4の通知方法を用いた場合には、例えば「トナー切れ」や「用紙切れ」など、予め定められた状況を通知する。なお、通知手段104は、各表示装置4について個別に定められた処理の状況を通知してもよい。
このように、通知手段104は、第3及び第4の通知方法を用いた場合、表示装置4からのHTTPリクエストによる要求(処理要求及び通知要求)の有無に関係なく、能動的な通知(いわゆるプッシュ型の通知)を行う。
第1、第2及び第3の通知方法は、いずれも、要求された処理の状況(処理の結果も含む)を通知するための方法である。本実施形態では、表示装置4が処理を要求するときにその処理の結果等を通知する方法を指定する。通知手段104は、表示装置4によって指定された通知方法を用いて処理の結果等を通知する。
[1−3−5]操作手段
ユーザ装置20の操作手段200及び操作装置30の操作手段300(これらを区別しない場合は「操作手段400」という)は、情報処理装置10を操作するための手段である。操作手段400は、例えば表示装置4がブラウザのプログラムを実行することで実現される。操作手段200は、表示手段201と、要求手段202とを有し、操作手段300は、表示手段301と、要求手段302とを有する。それぞれユーザ装置20及び操作装置30を区別しない場合には、「表示手段401」及び「要求手段402」という。
[1−3−5−1]表示手段
表示手段401(ユーザ装置20の表示手段201及び操作装置30の表示手段301)は、情報処理装置10から送信されてきた情報や画像を表示する手段である。表示手段401は、例えば、情報処理装置10の通知手段104から送信されてきた通知データに記述された状況情報(処理の結果やそれ以外の処理の状況などを表す情報)を表示する。表示手段401は、例えば前述した図7に示す状況情報C1やC2を表示する。また、状況情報の他の例について図8及び図9を参照して説明する。
図8は、表示された状況情報の例を示す図である。この例では、トナーがなくなった場合に表示される状況情報が表示されている。具体的には、「トナーが切れました。交換してください。」という文字列を含む状況情報C3が表示されている。
図9は、表示された状況情報の別の例を示す図である。この例では、複数の画像を記憶したSDメモリーカード等の記憶媒体が図4に示す情報処理装置10の接続部17に接続されたときに、その記憶媒体に記憶された画像のサムネイル画像の一覧を表示する処理の状況及び結果が表示されている。図9(a)では、「画像一覧を表示しています。」という文字列と、読み込みが済んだ画像から生成したサムネイル画像(この例では10個のサムネイル画像)とを含む状況情報C4が示されている。図9(b)では、「画像一覧を表示しました。」という文字列と、記憶媒体から読み出した全画像から生成したサムネイル画像の一覧とを含む状況情報C5が示されている。
また、表示手段401は、例えば情報処理装置10のURL(Uniform Resource Locator)にアクセスする操作をユーザが行うことで、前述した操作画像要求データを情報処理装置10に送信し、その応答で情報処理装置10の提供手段102から送信されてきた操作画像データが示す操作画像を表示する。具体的には、表示手段401は、操作画像データが示すHTTPレスポンスに記述された操作画像の配置や大きさなどのパラメータに基づいて、操作画像を表示する。こうして表示された操作画像が例えば図6に示す操作画像群A1である。
操作画像群A1には、コピーする画像の倍率、コピーした画像を形成する用紙及びコピーした画像のカラーモードというパラメータをそれぞれ選択させるための操作画像が含まれている。表示手段401は、ユーザがこれらの操作画像を操作することで選択されるパラメータの内容をユーザに伝達するための画像(以下「パラメータ伝達画像」という)を表示する。パラメータ伝達画像は、図6の例では、現在選択されているコピーの倍率(この例では「110%」)を表す文字列を含む画像と、現在選択されている用紙及びカラーモードを表す操作画像(この例では「他の倍率」、「A4普通紙」、「白黒」という文字列が描かれたもの)を、選択されていない選択画像とは異なる態様(この例では線を太くする態様。ハイライトやラジオボタンなどの態様でもよい。)で表した画像である。
操作画像群A1には、コピーを開始させるための操作画像A11が含まれている。操作画像A11が操作されると、その時点で選択されているパラメータを用いたコピーの処理が情報処理装置10に対して要求される。操作画像A11のように情報処理装置10に要求する内容を決定するための画像のことを以下では「要求内容決定画像」という。
表示手段401は、表示した操作画像に関するデータを要求手段402に供給する。操作画像に関するデータとは、操作画像が操作されたか否かを判断するために用いられるデータであり、例えば操作画像が表示されている領域(以下「操作画像領域」という)を示すデータである。また、表示手段401は、表示したパラメータ伝達画像に関するデータを要求手段402に供給する。パラメータ伝達画像に関するデータとは、パラメータ伝達画像により伝達されるパラメータの内容を示すデータである。
[1−3−5−2]要求手段
要求手段402(ユーザ装置20の要求手段202及び操作装置30の要求手段302)は、操作画像に対する操作がユーザにより行われると、そのユーザの操作に応じた要求を、HTTPリクエストにより情報処理装置10に対して行う手段である。要求手段402は、処理手段103が実行する処理の要求(上述した処理要求)やその処理の状況及び結果の通知の要求(上述した通知要求)などをユーザの操作に応じて行う。
要求手段402は、例えばユーザが操作部のタッチセンサをタップした場合に、表示手段401から供給されたデータに基づき、タップされた位置が操作画像領域に含まれているか否かを判断する。要求手段402は、操作画像領域に含まれていると判断した場合に、その操作画像領域に表示されている操作画像への操作を受け付ける。要求手段402は、上述した要求内容決定画像(図6の例であれば操作画像A11)への操作を受け付けた場合に、表示手段401から供給されたパラメータ伝達画像に関するデータが示すパラメータを用いて、その要求内容決定画像が示す処理を情報処理装置10に対して要求する。図6に示す状態で操作画像A11に対する操作が行われた場合であれば、要求手段402は、110%の倍率でA4普通紙に白黒でコピーするための処理を情報処理装置10に要求する。
具体的には、要求手段402は、操作された要求内容決定画像に対応する処理(この例ではコピー処理)を、パラメータ伝達画像により伝達されるパラメータを用いて行うという指示を記述したデータ(以下「指示データ」という)を生成する。要求手段402は、生成した指示データを含むHTTPリクエストを情報処理装置10に送信することで、情報処理装置10に対してHTTPリクエストにより処理を要求する。このように要求手段402が処理を要求するために送信するHTTPリクエストのことを以下では「処理要求データ」という。
また、要求手段402は、処理要求データに、上述した第1から第3までの3通りの通知方法のうちのいずれかを指定する記述を行う。なお、コピー処理が要求される場合には、指示データを含む処理要求データが生成されるが、要求される処理によっては、処理要求データに指示データが含まれない場合もある。例えば情報処理装置10の電源を落とす処理が要求される場合には処理要求データに指示データが含まれない。
[1−3−6]制御手段
情報処理装置10の制御手段105は、表示装置4からの処理要求データが仲介手段101を介して送信されてきた場合に、処理手段103を制御して、その処理要求データにより要求された処理を実行させる。つまり、制御手段105は、表示装置4からHTTPリクエストにより処理が要求されると、処理手段103を制御して要求された処理を実行させる手段である。表示装置4からHTTPリクエストとして送信されてきた処理要求データは、仲介手段101によって仲介されて制御手段105に供給される。
制御手段105は、例えば、処理要求データに含まれている指示データを解析し、解析した指示の内容のとおりに処理が実行されるように、処理手段103を制御する。具体的には、制御手段105は、指示された処理(例えばコピー処理)を指示されたパラメータで実行させる。これにより、処理手段103は、例えばユーザの操作によって定められた画質及び読取方法で媒体から画像を読み取り、読み取った画像を、ユーザの操作によって定められた出力形式、倍率、用紙及びカラーモードで形成する。
制御手段105は、処理を実行させる際に、実行させる処理を識別する情報として、トランザクションIDを発行する。制御手段105は、発行したトランザクションIDと、要求元の表示装置4の通信の宛先を互いに対応付けて記憶部12に記憶させる。制御手段105は、処理を実行させる際に、発行したトランザクションIDを処理手段103に供給し、処理手段103は、通知手段104に対して、上述した状況情報とともにトランザクションIDを供給する。
また、制御手段105は、処理要求データに記述されている通知方法(第1から第3の通知方法のうちのいずれか)もトランザクションIDに対応付けて記憶させる。通知手段104は、処理手段103から供給されたトランザクションIDに対応付けられた通信の宛先に対して、ともに供給された状況情報を記述した通知データを送信する。このとき、通知手段104は、そのトランザクションIDに対応付けられた通知方法で通知データを送信する。例えば第1の通知方法であれば、通知手段104は、処理が要求されたHTTPリクエストに対するHTTPレスポンスとして通知データを送信する。また、通知手段104は、第2の通知方法であれば、通知を要求する通知要求データを含んだHTTPリクエストに対して、通知データを含んだHTTPレスポンスを送信し、第3の通知方法であれば、WebSocketに準拠したプロトコルで通知データを送信する。通知手段104は、こうして指定された通知方法で通知を行う。
[1−4]階層構造
情報処理システム1の構成について、その構成を階層構造で表した図10及び図11を参照して説明する。
図10は、情報処理システム1の構成を表す階層構造の一例を示す図である。情報処理システム1は、プレゼンテーション層40と、インターフェース50と、ファンクション層60と、ミドルウェア層70と、ハードウェア層80とを備える。プレゼンテーション層40は、ユーザによる操作を受け付ける機能(いわゆるユーザインターフェース)を実現する層であり、図5に示す操作手段400として機能する。
プレゼンテーション層40は、UI制御部41と、デバイス制御部42と、通信部43とを備える。UI制御部41は、ユーザインターフェースを制御する部分であり、上述した操作画像や状況情報を表示したり、ユーザの操作を受け付けたりする。UI制御部41は図5に示す表示手段401によって実現される。デバイス制御部42は、ユーザの操作に基づいて情報処理装置10に対して上記のとおり処理を要求し、後述するファンクション層60を制御する。デバイス制御部42は、要求手段402によって実現される。通信部43は、UI制御部41及びデバイス制御部42が情報処理装置10と行う通信を制御する。
インターフェース50は、プレゼンテーション層40とファンクション層60との接続を仲介する機能を実現する層である。プレゼンテーション層40とインターフェース50との接続は、図1に示す通信機器3等の通信機能を有する外部装置を介する場合(ユーザ装置20との接続)と、そういった外部装置を介さない場合(操作装置30との接続)とがある。ファンクション層60は、コピー機能やスキャン機能など、目的とする用途に沿ってデータを加工する機能を実現する層である。ミドルウェア層70は、ファンクション層60とハードウェア層80との中間で汎用的な処理を実行する層である。ハードウェア層80は、画像読み取りや画像形成などの処理を物理的に実現する層である。
ファンクション層60は、受付・応答部61と、イベント通知部62と、操作画像管理部63と、操作画像DB(Data Base:データベース)64と、コピー機能やスキャン機能などを提供する機能部65とを備える。受付・応答部61は、プレゼンテーション層40からインターフェース50を介して送信されてくる処理要求データが示す処理の要求を受け付け、機能部65に処理を依頼する。このとき、受付・応答部61は、上述したトランザクションID及びクライアントIDの発行も行う。また、受付・応答部61は、受け付けた要求に対する応答を示す応答データを、インターフェース50を介してプレゼンテーション層40に送信する。応答データは、要求を受け付けた旨を示すだけの場合もあれば、状況情報を示す場合もある。つまり、受付・応答部61は、処理の状況の通知を行うこともあり、その通知は、上述した第1及び第2の通知方法によるプル型の通知となる。
イベント通知部62には、機能部65を介して状況情報が供給される。イベント通知部62は、供給された状況情報を、WebSocketに準拠した通知データに記述し、その通知データを、インターフェース50を介してプレゼンテーション層40に送信する。つまり、イベント通知部62が行う通知は、上述した第3及び第4の通知方法によるプッシュ型の通知である。操作画像管理部63は、プレゼンテーション層40に送信する操作画像の管理を行う。操作画像DB64は、操作画像を格納するデータベースである。機能部65は、情報処理装置10がユーザに提供する機能を実現するためのモジュール群である。
図11は、機能部65に含まれるモジュール群の一例を示す図である。機能部65には、コピー機能、スキャン機能、FAX機能、プリント機能、宛先表管理機能(宛先情報を管理する機能)、デバイス管理機能(画像読取部13の原稿セット状態や画像形成部14の媒体、消耗品の状態などを管理する機能)、認証機能、親展ボックス機能(情報処理装置10に記憶されている電子文書を管理する機能)、プレビュー機能、ダウンロード機能(プログラムの更新を制御する機能)、保守機能(リモートからの要求に従いハードウェアをメンテナンスする機能)、診断機能(ハードウェアを診断する機能)をそれぞれ実現するためのモジュールが含まれている。
図10に示すインターフェース50は、図5に示す仲介手段101として機能する。操作画像管理部63及び操作画像DB64が協働することで提供手段102として機能し、ミドルウェア層70及びハードウェア層80が協働することで処理手段103として機能する。また、受付・応答部61及びイベント通知部62が協働することで通知手段104として機能し、受付・応答部61及び機能部65が協働することで制御手段105として機能する。
[1−5]動作
以下、情報処理装置10の通知手段104が上述した第1から第4までの4つの通知方法で状況を通知する際に各装置が行う動作について、図12から図15までを参照して説明する。図12から図14までにおいては、表示装置4のデバイス制御部42と、情報処理装置10の受付・応答部61、イベント通知部62、ミドルウェア層70及びハードウェア層80とが動作の主体としてそれぞれ示す。図15においては、それらの動作の主体のうち、受付・応答部61をインターフェース50に代えて示す。
図12は、第1の通知方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図12に示す動作は、例えば、ユーザがコピーを行う前に、コピーのためのパラメータ(倍率や用紙のサイズ、カラーモードなど)を変更する操作を行うことを契機に開始される。まず、表示装置4のデバイス制御部42が、パラメータを変更する操作を受け付けると(ステップS111)、パラメータの変更の要求を記述した処理要求データをHTTPリクエストとして情報処理装置10に対して送信する(ステップS112)。情報処理装置10の受付・応答部61は、その処理要求データを受信すると、そこに記述された要求の内容を解釈し(ステップS113)、解釈した内容での処理の実行を情報処理装置10のミドルウェア層70に指示する(ステップS114)。
ミドルウェア層70は、ハードウェア層80と協働して、指示された処理、すなわちパラメータの変更を実行し(ステップS115)、その結果を表す情報を状況情報として受付・応答部61に供給する(ステップS116)。受付・応答部61は、供給された状況情報(この例ではパラメータの変更結果)を記述した通知データを生成し(ステップS117)、処理の要求元である表示装置4にHTTPリクエストに含めて送信する(ステップS118)。表示装置4のデバイス制御部42は、送信されてきた通知データに記述された状況情報を自装置の表示部に表示させる(ステップS119)。
図13は、第2の通知方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図13に示す動作は、例えば、ユーザが情報処理装置10の画像読取部13に原稿をセットし、表示装置4に対してコピーを開始させる操作を行うことを契機に開始される。まず、表示装置4のデバイス制御部42は、コピーを開始させる操作を受け付けると(ステップS121)、受け付けた操作に応じた指示データを作成する(ステップS122)。デバイス制御部42は、作成した指示データを記述した処理要求データを、図10に示す通信部43を介して情報処理装置10にHTTPリクエストに含めて送信する(ステップS123)。情報処理装置10の受付・応答部61は、図10に示すインターフェース50を介して処理要求データを受け取ると、記述された指示データに基づいて要求された処理の内容を解釈し(ステップS124)、その処理に対応するトランザクションIDを発行する(ステップS125)。
受付・応答部61が、解釈した処理の内容に基づいて処理の指示を表す情報(この例ではコピージョブ。以下「指示情報」という)を生成してトランザクションIDとともにミドルウェア層70に供給すると(ステップS126)、ミドルウェア層70及びハードウェア層80が協働して、供給された指示情報に基づく処理(コピー処理)を実行する(ステップS127)。受付・応答部61は、指示情報を供給したあと、コピー処理の要求を受け付けたことを表す情報(例えば「コピーを受け付けました。」という文字列)と発行したトランザクションIDとを記述したHTTPレスポンスを表示装置4に送信する(ステップS131)。なお、ステップS131の動作は、ステップS126の動作と並行してまたはそれよりも前に行われてもよい。表示装置4のデバイス制御部42は、HTTPレスポンスを参照し、要求が受け付けられた旨を表す情報を自装置の表示部に表示させるとともに(ステップS132)、トランザクションIDを自装置の記憶部に記憶させる(ステップS133)。
表示装置4のデバイス制御部42は、コピー処理の要求に対する応答を受け取ったあと、そのコピー処理の状況の通知を求める通知要求と、ステップS133において記憶させたトランザクションIDとを記述したHTTPリクエストを送信する(ステップS141)。情報処理装置10の受付・応答部61は、そのトランザクションIDに対応付けられたコピー処理の状況情報がまだ供給されていなければ、その旨を記述した通知データをHTTPレスポンスに含めて表示装置4に送信する(ステップS142)。ステップS141及びS142の動作は繰り返し行われる。
情報処理装置10のミドルウェア層70は、コピー(読み取った原稿を示す画像)を媒体に出力すると、それを検知して(ステップS151)、コピーが媒体に出力されたという状況を示す状況情報を、ステップS126に供給されたトランザクションIDに対応付けて受付・応答部61に供給する(ステップS152)。受付・応答部61は、供給された状況情報及びトランザクションIDを記憶部12に記憶させておく(ステップS153)。受付・応答部61は、ステップS153以降に通知要求及びトランザクションIDが記述されたHTTPリクエストを受信すると(ステップS141)、HTTPリクエストに記述されたトランザクションIDに対応付けられた状況情報を記憶部12から読み出し、その状況情報を記述したHTTPレスポンスを生成する(ステップS154)。
受付・応答部61が生成したHTTPレスポンスを表示装置4に送信すると(ステップS155)、表示装置4のデバイス制御部42は、ステップS132のように、HTTPレスポンスに記述された状況情報を自装置の表示部に表示させる(ステップS156)。以上のとおり表示装置4が要求した処理に関する情報がトランザクションIDによって対応付けられることで、処理の状況がその処理の要求元である表示装置4に対して通知される。以降、コピー処理が完了したときに処理の結果が通知されるまで、ステップS151からS156までの動作が繰り返し行われる。
図14は、第3の通知方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図14に示す動作は、図13のように、コピーを開始させる操作をユーザが行うことを契機に開始される。まず、表示装置4のデバイス制御部42が、コピーを開始させる操作を受け付けると(ステップS121)、イベント通知部62によるプッシュ型の通知を申込む旨を記述したXMLデータを情報処理装置10に送信する(ステップS161)。情報処理装置10の受付・応答部61は、そのXMLデータを受信すると、そこに記述された申込みの内容をミドルウェア層70に伝達する(ステップS162)。ミドルウェア層70は、伝達された申込みを受け付け、表示装置4に対して今後イベント通知部62によるプッシュ型の通知を行うための設定を行う(ステップS163)。ミドルウェア層70は、例えばその通知を行うか否かを表すフラグをONにする。
次に、図13に示すステップS122からS127までの動作と、ステップS131からS133までの動作が行われる。続いて、情報処理装置10のミドルウェア層70及びハードウェア層80は、ステップS151(コピー出力の検知)の動作を行うと、前述したフラグがONになっているため、コピーが媒体に出力されたという状況を示す状況情報とトランザクションIDとを受付・応答部61ではなく、イベント通知部62に供給する(ステップS172)。イベント通知部62は、供給された状況情報(コピー枚数等)とトランザクションIDとを記述した通知データを生成して(ステップS173)、表示装置4に送信する(ステップS174)。表示装置4のデバイス制御部42は、通知データに記述された内容(例えば図7(a)に示す状況情報C1)を自装置の表示部に表示させる(ステップS175)。以降、コピー処理が完了したときに処理の結果が通知されるまで、ステップS151及びステップS172からS175までの動作が繰り返し行われる。
図15は、第4の通知方法が用いられる場合の各装置の動作の一例を示すシーケンス図である。図15に示す動作は、表示装置4においてブラウザが起動され、情報処理装置10にアクセスする操作(URLの入力やブックマークの選択など)が行われることを契機に開始される。まず、表示装置4のデバイス制御部42が、そのアクセスのための操作を受け付けて(ステップS191)、通信部43と協働して、情報処理装置10のインターフェース50とWebSocketの規格に準拠した接続を行う(ステップS192)。
それ以降に、情報処理装置10において予め定められた状況(トナー切れや用紙切れなど)が発生すると、情報処理装置10のミドルウェア層70及びハードウェア層80が協働して、その定められた状況を検知し(ステップS201)、検知した状況を表す状況情報をイベント通知部62に供給する(ステップS202)。イベント通知部62は、供給された状況情報を記述した通知データを生成し(ステップS203)、その通知データを、WebSocketの接続をしている表示装置4にインターフェース50を介して送信する(ステップS204)。表示装置4のデバイス制御部42は、ステップS204で受信した通知データに記述された状況情報を自装置の表示部に表示させる(ステップS205)。
なお、上述したように、表示装置4毎に異なる状況が通知されてもよい。その場合には、ステップS192のあとに、デバイス制御部42が、自装置に通知すべき状況を記述した通知データを情報処理装置10に通信部43を介して送信する。インターフェース50を介してそれを受け取ったイベント通知部62は、その通知すべき状況を、表示装置4の宛先に対応付けて記憶しておく。イベント通知部62は、ステップS202で供給された状況情報が、記憶しておいた通知すべき状況を表している場合に、その状況の通知を行う。
[1−6]通知の詳細
[1−6−1]優先度を用いた通知
以下、本発明における処理の状況の通知について、さらに詳細に述べる。図5に示す通知手段104は、通知すべき処理の状況が複数存在する場合には、優先度の高いものを先に通知する。通知すべき処理の状況が複数存在する場合とは、例えば並行して実行可能な複数の処理(例えばコピー処理とFAX送信処理、スキャン処理とプリント処理など)が実行されているときや、コピー処理等が実行されている最中にトナー切れや用紙切れなどの問題が発生したときなどに生じる。その場合に、通知手段104は、通知先がユーザ装置20及び操作装置30のいずれであるかによって異なる優先度を用いる。
まず、通知先がユーザ装置20及び操作装置30のいずれであるかを判断する方法について説明する。本実施形態では、仲介手段101が表示装置4からの処理の要求に関する通信を仲介する際に、その通信に用いられた表示装置4のIP(Internet Protocol)アドレスを制御手段105に供給する。制御手段105は、上述したトランザクションID及びクライアントIDを記憶部12に記憶させる際に、供給されたIPアドレスをそれらのIDに対応付けて記憶させる。
通知手段104は、上記のとおり状況情報及びトランザクションIDが供給されると、そのトランザクションIDに対応付けて記憶されているIPアドレスを参照し、そのIPアドレスが「192.168.0.1」等を含むいわゆるローカルIPアドレスである場合には、そのトランザクションIDが発行された処理の要求元が操作装置30であると判断する。また、通知手段104は、そのIPアドレスがいわゆるグローバルIPアドレスである場合には、そのトランザクションIDが発行された処理の要求元がユーザ装置20であると判断する。
情報処理システム1においては、処理の状況毎に優先度が定められており、通知手段104は、各処理の状況と優先度とを表示装置4、すなわちユーザ装置20及び操作装置30についてそれぞれ対応付けた優先度テーブルを記憶している。
図16は、優先度テーブルの一例を示す図である。この例では、表示装置4がユーザ装置20である場合には、「コピー処理の進捗」という状況の優先度として「低」、「トナー切れ」及び「FAX送信処理の進捗」という状況の優先度として「高」が対応付けられている。一方、表示装置4が操作装置30である場合には、「コピー処理の進捗」及び「FAX送信処理の進捗」という状況の優先度として「低」、「トナー切れ」という状況の優先度として「高」が対応付けられている。
通知手段104は、処理手段103が実行している処理の状況情報が供給されると、優先度テーブルを参照し、その処理を要求した表示装置4及びその状況情報が示す状況に対応付けられている優先度が「高」である場合には、状況情報を第1記憶領域に格納し、その優先度が「低」である場合には、状況情報を第2記憶領域に格納する。通知手段104は、第1記憶領域及び第2記憶領域に格納した状況情報を格納した順番に読み出して、読み出した状況情報を記述した通知データを通知先である表示装置4に送信する。つまり、第1記憶領域及び第2記憶領域は、通知すべき状況情報が順番に格納されるいわゆるキューとして用いられる。
通知手段104は、第1記憶領域を短い間隔で状況情報が存在するかを確認し、第1記憶領域に格納されている状況情報が存在する場合には、その状況情報を順番に読み出し、第1記憶領域に格納されている状況情報が存在しない場合には、第2記憶領域に格納されている状況情報を順番に読み出す。通知手段104は、このように状況情報を読み出すことで、優先度が「高」である状況情報を、優先度が「低」である状況情報よりも先に通知する。また、通知手段104は、図16に示すようにユーザ装置20及び操作装置30についてそれぞれ優先度が対応付けられた優先度テーブルを用いることで、通知先がユーザ装置20である場合と操作装置30である場合とで、異なる優先度を用いて通知を行う。
例えば、ユーザ装置20に記憶されている文書データをFAX送信するFAX送信処理を要求する操作をユーザが行ったとする。その場合、通知手段104は、通知先がユーザ装置20であるため、図16に示す優先度テーブルで「ユーザ装置」及び「FAX送信処理の進捗」に対応付けられた優先度である「高」を用いて通知を行う。このため、通知手段104は、例えば少し遅れてコピー処理が開始されて「トナー切れ」が生じたとしても、「FAX送信処理の進捗」の通知を最後まで行うことになる。
ユーザ装置20は、通信機能を有する外部装置(例えば図1に示す通信機器3)を介して情報処理装置10と通信するものであるから、情報処理装置10から離れて設置されていることが多い。ユーザ装置20は、例えば職場で自分の席で仕事をしているユーザによって利用される。そのため、ユーザは、FAX送信処理を要求したあとも自席でユーザ装置20を利用しながらその進捗を確認することが多い。ここで、仮に、「ユーザ装置」及び「FAX送信処理の進捗」に対応付けられた優先度が「低」と設定されていた場合、FAX送信処理が途中にも関わらずそれとは関係ない「トナー切れ」が通知されてしまい、ユーザが「FAX送信処理の進捗」を確認するタイミングが遅れてしまう。通知手段104が上記の優先度を用いることで、そういったタイミングの遅れが生じなくなる。
一方、操作装置30は、前述した外部装置を介さずに情報処理装置10と通信するものであるから、ユーザ装置20に比べて情報処理装置10の近くに設置されていることが多い。本実施形態では、上述したとおり、操作装置30は情報処理装置10の筐体に固定されており、情報処理装置10の設置場所を訪れたユーザによって利用される。そのユーザが、例えば、情報処理装置10の画像読取部13に文書を差し込み、その文書をFAXするFAX送信処理を要求する操作を行ったとする。
その場合、通知手段104は、通知先が操作装置30であるため、図16に示す優先度テーブルで「操作装置」及び「FAX送信処理の進捗」に対応付けられた優先度である「低」を用いて通知を行う。例えばユーザがFAX送信のあとに同じユーザ(または他のユーザ)の操作によってコピー処理が開始されて「トナー切れ」が生じると、通知手段104は、優先度が「低」である「FAX送信処理の進捗」及び「コピー処理の進捗」の通知よりも先に優先度が「高」である「トナー切れ」を通知する。
FAX送信処理の場合、文書の読み取りが終わって送信先とのセッションを確立し、文書の1枚目の送信が始まれば、それ以降にFAX通信が失敗することが少ないため、FAX送信処理が完了するまでその場で待つユーザは少なく、情報処理装置10から離れてしまうことが多い。そのため、上記のとおり次のコピー処理において生じた「トナー切れ」を先に通知しても、FAX送信処理を行ったユーザは困らないことが多い。また、次のコピー処理を要求したユーザは、コピーされた媒体を受け取るために情報処理装置10の設置場所に居続けることが多い。そのため、「トナー切れ」が生じたときにすぐにそれが通知されると、そのユーザがトナーを交換する作業を行うことでコピー処理が進まない状態が早期に解消される。このように、通知手段104が上記のとおり通知を行うことで、通知先に関係なく一律の優先度に基づく順番で通知を行う場合よりもユーザにとってより望ましいタイミングで通知が行われることになる。
また、上記した実施例では、通知手段104は、通知先のユーザ装置20と操作装置30とで異なる優先度を用いる構成で説明したが、これに限られるわけではい。例えば、通知手段104は、通知先のユーザ装置20との通信経路の種類やネットワーププロトコルの種類もよって異なる優先度を用いるようにしてもよい。通知先のユーザ装置20とWiFiやBlueTooth(登録商標)のような無線の通信経路で接続されている場合は、情報処理装置10の近傍に利用者がいる可能性が高く、操作装置30と同様の優先度を設定するようにしてもよい。また、通知手段104は、通知先のユーザ装置20や操作装置30の表示装置4が備える性能に応じて異なる優先度を用いるようにしてもよい。例えば、表示装置4の表示画面の大きさや処理能力などの性能によって、異なる優先度を用いるように構成してもよい。表示画面が小さかったり処理能力が低い表示装置に対しては、優先度が高い状況情報のみを通知することが望ましく、一方、表示画面が大きかったり処理能力が高い表示装置4では、より優先度の低い情報まで通知することにより詳細な状況情報まで通知してユーザに提示することが可能となる。
[1−6−2]優先度を用いた通知の別の実施態様
本発明における処理の状況の通知について、上記した実施例では、図5に示す通知手段104は、図16に示す優先度テーブルに定義された処理の状況が複数存在する場合のそれぞれに定義された優先度に基づき、優先度の高い状況情報を優先度の低い情報状況よりも先に通知するよう構成していたが、これに限られず、通知手段104は、通知すべき状況情報が記述された通知データを生成する際に優先度を付加して通知データを生成し、生成された順に通知データを表示装置4に通知するようにしてもよい。表示装置4では、全ての通知データを受け付けて保持するが、それぞれの通知データに記述されて状況情報に付加された優先度に基づいて、表示装置側で状況情報の表示順序や表示態様を変えて表示制御するようにしてもよい。
[2]変形例
上述した実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
[2−1]通信の規格
実施形態では、ユーザ装置20は、無線LANの規格に準拠する無線通信を行う通信部を備えていたが、これに限らず、例えば操作装置30の通信部33のように有線LANの規格に準拠する通信を行う通信部を備えていてもよい。この場合、ユーザ装置20は、有線LANのルータやハブなどに通信用のケーブルを介して接続される。この場合のユーザ装置20の通信部も、上述した他の通信機器(ルータやハブなど)と通信する通信手段として機能する。
また、実施形態では、情報処理装置10の第1通信部と操作装置30の通信部が有線LANの規格に準拠して通信を行ったが、これに限らず、例えば、USB(Universal Serial Bus)やHDMI(登録商標)(High-Definition Multimedia Interface)などの規格に準拠する通信を行ってもよいし、他にも、無線LANやBluetooth(登録商標)、NFC(Near field communication)などの規格に準拠する無線通信を行ってもよい。いずれの場合も、操作装置30の通信部は、他のルータはハブなどの通信機器を介さずに情報処理装置10の第1通信部と通信する。このように、操作装置30の通信部は、他の通信機器を介さず情報処理装置10と通信する通信手段として機能する。
[2−2]操作装置の構成
操作装置30は、実施形態では図2に示すように制御部や記憶部、通信部を備えていたが、これらを備えていなくてもよい。
図17は、本変形例の情報処理装置のハードウェア構成の一例を示す図である。図17の例では、図4に示す各部のうち、表示部以外の各部を備える情報処理装置10aと、操作装置30aとが示されている。本変形例でも、操作装置30aは情報処理装置10aの筐体に固定されている。操作装置30aは、図3に示す通信部33と、UI部36とを備える。
通信部33及びUI部36は、情報処理装置10a内のバスに接続され、制御部11によって制御されるようになっている。また、通信部33は、第1通信部15とも接続されている。UI部36は、表示面と表示面に重ねられたタッチセンサとを備え、ユーザからの操作を受け付けるとともに画像を表示する。UI部36は、受け付けたユーザの操作に応じた操作データを制御部11に供給し、制御部11は、この操作データに応じた処理を行う。
本変形例では、制御部11がブラウザのプログラムを実行することで図5に示す操作手段300の機能を実現する。例えば表示手段301は、第1通信部15を介して送信されてきた操作画像データを通信部33を介して受信し、UI部36に表示する。また、要求手段302は、UI部36がタップされることで操作画像への操作を受け付ける。また、要求手段302は、そうして受け付けた操作により定められた指示を示す指示データを、通信部33及び第1通信部15を介して送信する。このように、本変形例においても、情報処理装置と操作用装置との通信が、他の通信機器を介す場合も介さない場合も共通の仲介手段を介して行われることになる。
[2−3]操作装置の設置
操作装置30は、実施形態や上記変形例では情報処理装置の筐体に固定されていたが、固定されていなくてもよい。
図18は、本変形例の情報処理装置のハードウェア構成の一例を示す図である。図18の例では、図4に示す各部のうち、表示部以外の各部を備える情報処理装置10bと、操作装置30bとが示されている。操作装置30bは、図3に示す各部を備え、図5に示す操作手段200として機能する装置である。
操作装置30bは、通信用のケーブルを介して第1通信部15に接続されており、情報処理装置10bの筐体上またはその周囲の机等に設置された状態でユーザにより使用される。この操作装置30bは、実施形態の操作装置30のように、通信機能を有する外部装置(例えば図1に示す通信機器3)を介さずに情報処理装置10と通信を行う。なお、操作装置30bは、通信用のケーブルを取り外して、別の場所に持って行き別の用途に用いてもよい。なお、図18の例では、操作装置30bに代えて、操作手段として機能する他の装置(例えば図1等に示したユーザ装置20)が接続されてもよい。また、操作装置30bを、通信機器3に接続させて、通信機器3及び通信回線2を介して情報処理装置10bと通信させてもよい。
[2−4]処理手段
処理手段103が行う処理は、実施形態で述べたものに限らず、どういった処理であってもよい。例えば、処理手段103は、情報処理装置が工場の機械とそれを制御する装置とを有するものである場合に、その機械で材料を搬送したり加工したりする処理を行う。この場合も、ユーザ装置20及び操作装置30のどちらからでも共通の仲介手段を介した通信が行われることによって情報処理装置が操作されるようになる。
[2−5]要求手段
要求手段402は、実施形態では、タッチセンサで操作を受け付けたが、これに限らず、自装置がタブレット端末であれば筐体に設けられたボタンで操作を受け付けてもよいし、自装置がパーソナルコンピュータであればキーボードやマウスなどで操作を受け付けてもよい。
[2−6]仲介手段
仲介手段101は、実施形態では、SOAPの規格に準拠していたが、これに限らず、例えばREST(Representational State Transfer)やSGML(Standard Generalized Markup Language)などの規格に準拠して通信を仲介してもよい。要するに、仲介手段101は、ウェブで用いられる規格に準拠して通信を仲介するものであればよい。これにより、ブラウザを実行可能な大半の装置が操作用装置として利用可能となる。
[2−7]プッシュ型の通知
通知手段104は、実施形態では、上述した第3及び第4の通知方法でのプッシュ型の通知において、WebSocketの規格に準拠する通知データを送信したが、これに限らない。例えば、Cometと呼ばれる技術を用いて、表示装置4の要求手段402が送信してきたHTTPリクエストを通知手段104が維持し、送信すべき状況情報が処理手段103から供給されることを契機に、通知手段104が、維持していたHTTPリクエストへの応答でその状況情報を記述したHTTPレスポンスを送信してもよい。この他にも、プッシュ型の通知を可能とするものであれば、どういった技術が用いられてもよい。
[2−8]優先度の表し方
通知手段104が用いる優先度は、実施形態で述べたものに限らない。例えば実施形態では「高」及び「低」の2段階の優先度が用いられたが、3段階以上の優先度が用いられてもよい。その場合の優先度は、例えば「Lv1」、「Lv2」、「Lv3」など、数値や記号、文字列などを用いて表されればよい。
[2−9]通知方法に応じた優先度
通知手段104が用いる優先度は、通知方法によっても異ならせてよい。通知手段104が行う通知には、上述した第1及び第2の通知手段を用いた通知、すなわち、表示装置4からの要求(処理要求や通知要求)があったときにその応答で行う通知(以下「プル型通知」という)と、上述した第3及び第4の通知手段を用いた通知、すなわち、表示装置4からの要求の有無に関係なく通知手段104が能動的に行う通知(以下「プッシュ型通知」という)とがある。本変形例の通知手段104は、これらの通知のうちのどちらを行うかによって異なる優先度を用いる。
図19は、本変形例の優先度テーブルの一例を示す図である。この例では、表示装置4がユーザ装置20である場合の優先度を示している。通知方法が「プル型通知」である場合には、「コピー処理の進捗」、「トナー切れ」及び「FAX送信処理の進捗」のいずれも「高」という優先度が対応付けられている。一方、通知方法が「プッシュ型通知」である場合には、図16に示す優先度テーブルのように、「コピー処理の進捗」は「低」という優先度が対応付けられている。
ユーザ装置20は、ブラウザの機能によりWebSocketの規格に準拠した通信を行うが、その規格に対応していないブラウザが用いられていればWebSocketの通信を行えない。その場合、通知手段104は、WebSocketの通信を前提としたプッシュ型の通知、すなわち第2の通知ではなく、SOAPの通信を前提としたプル型の通知、すなわち第1の通知を行う。
通知手段104は、ユーザ装置20がプル型通知を行うものであれば、図19に示す優先度テーブルで「プル型通知」及び「コピー処理の進捗」に対応付けられた優先度である「高」を用いて通知を行う。また、通知手段104は、ユーザ装置20がプッシュ型通知を行うものであれば、図19に示す優先度テーブルで「プッシュ型通知」及び「コピー処理の進捗」に対応付けられた優先度である「低」を用いて通知を行う。
仮に、ユーザ装置20がプル型通知を行う場合に「低」の優先度が用いられたとすると、例えばユーザ装置20が上述した通知要求(処理の状況の通知を求める要求)を行ったときに他の優先度「高」の状況情報が存在していると、コピー処理の進捗が通知されない。また、その優先度「高」の状況が通知されても、次にユーザ装置20が通知要求を行ったときに別の優先度「高」の状況情報が存在していると、再びコピー処理の進捗が通知されないことになる。これが繰り返されることで、コピー処理の進捗がいつまでも通知されない事態が起こり得る。
本変形例では、プル型通知の場合に「コピー処理の進捗」の優先度を「高」にすることで、そのように通知がいつまでもされない事態が生じなくなる。また、プッシュ型通知の場合には、優先度「高」の状況が一度全て通知されてしまえば、次の優先度「高」の状況情報が処理手段103から供給されるまでに、優先度「低」の状況が通知されるので、コピー処理の進捗がいつまでも通知されないという問題が生じない。このように、本変形例によれば、通知の方法に関係なく一律の優先度に基づく順番で通知を行う場合よりもユーザにとってより望ましいタイミングで通知が行われることになる。
[2−10]通知先の処理能力
通知手段104は、通知先の処理能力に基づいた通知を行ってもよい。
図20は、本変形例の通知手段104の機能構成の一例を示す図である。通知手段104は、取得手段106を備える。取得手段106は、通知先の表示装置の処理能力を表す情報を取得する手段である。
本変形例では、例えば、表示装置4の要求手段402が処理要求データに自装置の処理能力を表す情報(例えばCPUのコア数や周波数、メモリの容量など)を記述して送信する。取得手段106は、例えば制御手段105を介して供給される処理要求データを解析して、この処理能力を表す情報を取得する。
通知手段104は、処理の状況を表す情報(つまり状況情報)を通知先である表示装置4に送信することで処理の状況を通知する。通知手段104は、取得された処理能力の高さに応じて、この状況情報の量を増減させる。通知手段104は、この増減を行うため、例えば、処理能力の高さと通知時に送信される状況情報の量(以下「通知情報量」という)とを対応付けた通知情報量テーブルを記憶しておく。通知情報量は、例えば、通知される状況情報の件数やデータの大きさなどによって表される。
図21は、通知情報量テーブルの一例を示す図である。この例では、「CPU」が「3コア以上」という処理能力の高さに「100%」という通知情報量が、「CPU」が「3コア未満」という処理能力の高さに「50%」という通知情報量が対応付けられている。通知情報量が「100%」とは、処理手段103から供給された状況情報を全て送信することを意味し、通知情報量が「50%」とは、例えば状況情報が2件あればそのうち1件の状況情報を送信することを意味している。また、「RAM」が「2GB以上」という処理能力の高さには「100%」、「RAM」が「2GB未満」という処理能力の高さには「50%」という通知情報量が対応付けられている。
図21に示す通知情報量テーブルを用いる場合、通知手段104は、取得された情報が2コアのCPU及び2GBのRAMという処理能力を表していれば、これらの処理能力に対応付けられた通知情報量の値を乗算した値、すなわち「50%」×「100%」=「50%」の状況情報を送信する。具体的には、通知手段104は、コピーが完了したページ数を2ページ増える度に状況情報を送信する。その場合、表示装置4に表示されるページ数は、「0」、「2」、「4」、・・・といように2ページずつ増えていく。
また、通知手段104は、取得された情報が2コアのCPU及び1GBのRAMという処理能力を表していれば、これらの処理能力に対応付けられた通知情報量の値を乗算した値、すなわち「50%」×「50%」=「25%」の状況情報を送信する。具体的には、通知手段104が、コピーが完了したページ数を4ページ増える度に状況情報を送信し、表示装置4に表示されるページ数が、「0」、「4」、「8」、・・・といように4ページずつ増えていく。
ユーザ装置20では、操作画像や状況情報の表示などの情報処理装置10に関する処理以外にも、別の処理が並行して行われることがある。その場合、ユーザ装置20の処理能力によっては、状況情報を表示する処理が負担になって、別の処理が遅くなったり、状況情報を表示する処理自体も遅くなったりすることがある。本変形例によれは、ユーザ装置20の処理能力に応じて通知情報量を増減させることで、通知情報量を一定にする場合に比べて、通知先の装置における処理の遅れが抑制される。
なお、取得手段106は、通知手段104が備えるものとは限らない。例えば制御手段105が備えていてもよいし、処理手段103や仲介手段101が備えていてもよい。また、取得手段106が他の手段に属している必要もなく、要するに、情報処理装置が取得手段106を備えていればよい。また、通知情報量は、通知される状況情報の件数に限らない。例えば、図9に示す画像一覧が通知される場合には、通知手段104は、画像データのサイズを増減させてもよい。通知手段104は、例えば「50%」の状況情報を送信する場合であれば、ピクセル数が50%となるサイズに画像を縮小して状況情報を送信する。また、この場合、100%を超える通知情報量で通知がされてもよい。例えば150%の通知情報量で通知を行う場合であれば、通知手段104は、ピクセル数が150%となるサイズに画像を拡大して状況情報を送信する。
[2−11]複数の装置
ユーザ装置20は、実施形態では、通信機器3を介して情報処理装置10と通信を行ったが、通信機器3を介することなく直接情報処理装置10と通信してもよい。その場合も、仲介手段101は、複数の装置(操作装置30及びユーザ装置20)との通信を共通の通信手順で仲介し、通知手段104は、仲介手段101を介して処理の状況をそれら複数の装置に通知する。この場合も、通知手段104は、通知先が複数の装置のいずれであるかによって(例えばそれらの性能や通信経路の種類によって)異なる優先度を用いるようにしてもよい。
[2−12]発明のカテゴリ
本発明は、情報処理装置、表示装置(通信装置)、通信機器及びこれらの装置を備える情報処理システムの他にも、これらの装置が実施する処理を実現するための情報処理方法としても捉えられるものである。また、本発明は、情報処理装置及び表示装置(通信装置)というコンピュータを、上述した各手段として機能させるためのプログラムとしても捉えられるものである。このプログラムは、それを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等の通信回線を介して、コンピュータにダウンロードさせ、それをインストールして利用可能にするなどの形態でも提供されたりしてもよい。