本発明のシステム、方法、および、装置は、遠隔演算装置と画像処理装置とを互いに通信可能にする。また、遠隔演算装置は、画像処理装置と通信を行うように設定されている。該画像処理装置は、画像処理装置、および、画像処理装置と通信を行う様々な遠隔演算装置を含むシステムと通信を行うように設定されている。
本発明の方法およびシステムは、イベント通知管理およびイベント通知予約を行う画像処理装置ための方法およびシステムを含んでいる。
本発明の実施形態は、図面を参照することにより、最もよく理解されるであろう。なお、全ての図中において、同様の部材には同じ符号を付与している。また、各図は、詳細な説明の一部として明確に組み入れられるものである。
本発明の構成要素を、ここに示されている図においては一般化して描き、説明しているが、多種多様な形態に変更および設計できることができる。したがって、本発明の方法およびシステムの実施形態に関する以下の詳細な説明は、本発明の範囲を限定するものではなく、単に、本発明の現時点での好ましい実施形態の一例を示すものに過ぎない。
本発明の実施形態の構成要素を、ハードウェア、ファームウェアおよび/またはソフトウェアに組み込んでもよい。本明細書中に記載されている典型的な実施形態は、これらの形態のほんの一例を説明しているが、当業者であれば、本発明の範囲内において、これらの構成要素をこれらのあらゆる形態において実施できることを理解できるであろう。
本発明の実施形態は、画像処理装置を遠隔演算装置のアプリケーションと統合するインターフェースならびに構成(アーキテクチャ)、および、画像処理装置単体では不可能なソリューションを提供する環境を含んでいる。また、ネットワーク上のアプリケーションが、画像処理装置の機能をプログラム制御でき、かつ画像処理装置の入力パネルを介してユーザと交信できる基本設備(インフランストラクチャ)およびインターフェースを含んでいてもよい。画像処理装置内で実用的でないソフトウェア機能は、画像処理装置からアクセス可能なサーバ上で実行することができる。
本明細書および特許請求の範囲では、画像処理装置(IDev)を、画像処理機能を有する装置として説明する。ここでいう画像処理機能には、例えば、スキャン、印刷、コピー、画像伝送(送信および受信)、画像変換などの機能が含まれる。典型的な画像処理装置としては、プリンタ、コピー機、ファックス、スキャナ、画像を伝送,変換,または加工する演算装置等がある。また、画像処理装置(IDev)は、複数の画像処理機能を有するものであってよい。例えば、これに限定されるものではないが、一般的には、プリンタ、スキャナ、コピー機および/またはファックス、または画像送信機/受信機のうちの複数の機能がある多機能周辺機器(MFP)は、画像処理装置の1タイプである。なお、MFPとしての他の画像処理装置は、上記以外の機能の組み合わせを備えたものであってよい。
本明細書および特許請求の範囲では、遠隔演算装置(RCD)を、データ処理ができ、かつ通信回線を介して他の装置と通信できる能力を有する装置である。遠隔演算装置(RCD)は、画像処理装置などの他の装置と通信するために、例えばネットワーク、電話線、シリアルケーブル、または他の有線回線あるいは無線回線のような通信回線を備える必要があるリモート装置である。典型的な遠隔演算装置(RCD)としては、通信回線を備えた、ネットワークサーバ、ネットワークコンピュータ、その他の処理装置、および、その他の記憶装置などが挙げられる。
本発明のいくつかの実施形態を、図1および図2を参照して説明する。これらの実施形態は、画像処理装置(IDev)4を備えている。この画像処理装置4は、多機能周辺機器(MFP)であってもよく単機能装置であってもよい。画像処理装置4は、ユーザインターフェース(UI)パネル2をさらに備えている。ユーザインターフェースパネル2は、入力ボタン14および表示装置を備えている。あるいは、ユーザインターフェースパネル2は、タッチパネルシステムを備えていてもよい。タッチパネルシステムは、ボタン14を備えていてもいなくてもよい。また、ユーザ入力および表示は、別個のUI装置8を介して実行されるものであってよい。このUI装置8は、例えばUSB、ネットワークケーブル、無線などの通信回線12によって、画像処理装置4と接続されている。UI装置8は、表示装置だけでなく、キーボードまたはボタンのような入力装置を備えていてよい。また、UI装置8に備えられる表示装置は、タッチスクリーンパネルであってもよい。このような種類のUI装置8は、リモート入力装置からUI装置8へと入力された命令を伝送するためのインターフェースをさらに備えていてもよい。また、UI装置8は、画像処理装置4へ伝送するための入力データを記憶するために構成されている記憶装置(例えば、メモリスティック、USBメモリカードなど)を備えていてよい。
これらの実施形態は、ネットワーク10などの通信回線を介して画像処理装置4とリンクされている遠隔演算装置(RCD)6をさらに備えている。このネットワーク10は、一般的な有線回線または無線回線であってよい。
本発明の実施形態では、遠隔演算装置6から、ネットワーク10を介して、画像処理装置4のUIパネル2またはUI装置8へとメニューデータを提供してもよい。このメニューデータが画像処理装置4へ送られると、画像処理装置4のUIパネル2あるいはUI装置8を使用して、遠隔演算装置6上において動作するアプリケーションと情報交換することができる。UIパネル2あるいはUI装置8が受け付けたユーザ入力を、遠隔演算装置6へ直接戻してもよい。
ウェブサービスは、URI(Uniform Resource Identifier)によって識別されたソフトウェアアプリケーションである。URIのインターフェースおよびバインディング(binding)は、XML(Extensible Markup Language)のアーティファクトによって定義、記述、発見される機能を持ち、また、XMLベースのメッセージを用いて、インターネットベースのプロトコルを介して、他のソフトウェアアプリケーションと直接情報交換することをサポートする。
遠隔演算装置6上のアプリケーションは、1以上のウェブサービスを用いて画像処理装置4の様々な機能(使用可能にする機能、使用不可にする機能、装置の有用性を設定する機能、装置機能を制御する機能など)を制御することができる。
本発明の実施形態では、遠隔演算装置6上で動作するネットワークアプリケーションは、画像処理装置4のI/Oパネル(UIパネル2)を介して、その画像処理装置4のユーザと情報交換できる。上記の実施形態では、画像処理装置4のユーザインターフェース(UI)(すなわち、タッチパネル、ボタン、または、ディスプレイ)をネットワークアプリケーションによって制御できる。また、カスタム表示画面またはカスタム表示メニューを、画像処理装置4に固有のユーザインターフェースと統合する形態もある。上記の実施形態では、画像処理装置4の機能の制御を、画像処理装置4のユーザインターフェースに対するユーザ入力に応じて画像処理装置4において実行する標準操作モードと、遠隔演算装置6上のアプリケーションなどのネットワークリソースを、画像処理装置4のユーザインターフェースにおけるユーザ入力を介して実行するオープンシステムモードとを切り替える(hand off)ことができる。
上記の実施形態では、テキストおよび図形を任意のフォーマットで表示するように、ネットワーク上で動作するアプリケーションが画像処理装置4のUIを完全に制御するようになっている。上記の実施形態では、上記アプリケーションは、所望のレイアウトで、ボタン、テキストボックス、および図形などをプログラム表示することができる。
上記ユーザインターフェースの配置を、マークアップ言語などの標準言語を用いて容易にプログラムすることができてもよい。これらの言語としては、ハイパーテキストマークアップ言語(Hypertext Markup Language:HTML)、エクステンシブルマークアップ言語(Extensible Markup Language:XML)、ワイヤレスマークアップ言語(Wireless Markup Language:WML)、エクステンシブルハイパーテキストマークアップ言語(Extensible Hypertext Markup Language:XHTML)等を用いることができる。
遠隔演算装置6のアプリケーションまたはサーバのアプリケーションが、キーボードUIを画像処理装置4の表示装置およびUI装置8に表示させるように要求することができてもよい。また、この機能が、画像処理装置4において用いられることができ、遠隔演算装置6のアプリケーションによって再形成される必要がなくてもよい。また、上記遠隔演算装置6が、キーボードプロンプトやデフォルト値を定義するようにしてもよい。これらの実施形態では、遠隔演算装置6は、OKボタン、キャンセルボタンのような、画像処理装置4のユーザインターフェースにおける各ボタンの名称を変更でき、他のボタンを定義できる。
また、画像処理装置4自体が、あるいは遠隔演算装置6が、画像処理装置4のユーザインターフェースにメニューテンプレートを供給するようにしてもよい。
(外部認証アプリケーション)
本発明の実施形態の中には、外部認証サーバとして登録されている遠隔演算装置6のアプリケーションを含んだものもある。この外部認証アプリケーションは、画像処理装置4へのアクセスを制御し、また画像処理装置4のユーザインターフェースを最上位で制御(top-level control)する。上記アプリケーションによるユーザインターフェースの制御は、内部制御部(internal auditor)による制御と同様の方法であってもよい。
上記の実施形態において、画像処理装置4の制御部は、起動時に、外部認証アプリケーションが登録されているかどうかを確認する。登録されている場合、画像処理装置4は使用不可モードになり、上記アプリケーションは上記ユーザインターフェースを制御するために接続される。上記外部認証サーバを利用できない場合は、エラーメッセージが表示されて、画像処理装置4は使用不可のままである。この場合、画像処理装置4は、利用可能になるまで、上記外部認証サーバに定期的に接続しようとする。下記の表1は、典型的な実施形態において、上記画像処理装置4が使用不可モードにある場合、何が上記ユーザインターフェースを制御するのかを表している。
(遠隔演算装置アプリケーション)
本発明の実施形態では、画像処理装置4のカスタムUIパネル2に対するアクセス方法は、アプリケーションによって異なっていてもよい。文書管理統合(Document Management integration)などのソリューションには、固有の画像送信画面を用いることが好ましいものもあるが、スキャンジョブに関する付加的な情報を集約したUIパネルを表示すものもある。カスタム印刷アプリケーションのような他のソリューションに、固有の機能以外の個々のモードからアクセスしてもよい。
これらソリューションアプリケーションの多様化するニーズに対応するため、上記の実施形態では、ユーザインターフェース制御に対する複数の統合ポイントをサポートしている。これらの統合ポイントは、ユーザによるアプリケーションを登録するための操作(「トリガ」)に基づいている。実施形態の中には、「遠隔演算装置B」に対する接続命令がUIパネル2になされて「トリガA」がいつ生じるのかを画像処理装置4において把握するために、アプリケーションがターゲット装置(画像処理装置4)に登録される。典型的な実施形態において、アプリケーションは、複数の「トリガ」ポイントにおいて画像処理装置4と一体化されている。
遠隔演算装置6は特定の機能に登録されており、画像処理装置4のユーザインターフェースにおいて上記機能(例えば画像送信)のハードウェアキーが押されたときに接続される。上記遠隔演算装置6によって供給されるユーザインターフェース情報は、画像処理装置4にもともと備えられている標準機能画面に代えて表示される。このトリガは、既存の機能を完全なカスタムUIの機能に置き換えるアプリケーションに対しても使用できる。このようなアプリケーションとしては、例えば、選択スキャンソリューション(alternative scan solution)や特殊ディスプレイなどがある。特殊ディスプレイとは、例えば、「セクション508」対応画面、または他の特殊なニーズに対応したインターフェースである。これら特殊ディスプレイは、大きなボタンまたは他の設備(accommodations)を備えていてもよい。
また、画像処理装置4における各機能のメニューを、タッチスクリーン上に表示してもよい形態もある。また、このメニューは、サーバなどの遠隔演算装置6が登録するようにしてもよい。これによって、ソリューションアプリケーションが、カスタムコンテンツを供給し、かつ、画像処理装置4によって設けられた標準機能の一部を引き続き利用することが可能になる。カスタムアプリケーションに割り当てられたボタンが選択されると、その機能に登録されたソリューションと共にメニューが表示される。ユーザは所望のソリューションを選択することができ、遠隔演算装置6は、命令を受けるために接続される。
遠隔演算装置6のアプリケーションを供給する独立型のRCDモードが、全画面上に表示される上記ユーザインターフェースのジョブキュー部分からアクセスすることができる形態もある。このトリガポイントは、例えば画像処理装置4におけるカスタム印刷ソリューションのような、画像処理装置4の標準装置機能の一つに含まれないアプリケーションに使用できる。上記RCDメニューが選択されると、一般RCDモードに登録されているソリューションアプリケーションと共にメニューが表示される。ユーザは所望のソリューションを選択し、上記遠隔演算装置6は、命令を受けるために接続される。
(ハードウェアキーの相互作用)
本発明の実施形態の中には、画像処理装置4が使用可能であると、この装置を管理するために追加ハードウェアキーが使用されるものもある。典型的な実施形態におけるハードウェアキーの割り当てを表2に示す。
なお、*キーの押し下しによるログアウトに加えて、タイムアウトによるログアウトを実行するようにしてもよい。また、所定時間(例えば10秒〜240秒)が経過したときに自動的に消去する設定(あるいは使用不可にする設定)にしてもよい。これらの実施形態では、自動消去設定の時間内に何の動作もなかった場合、装置は自動的に使用不可モードに戻り、ユーザインターフェースを再制御するために遠隔演算装置6に接続を試みる。
(エラー&ジャム通知)
特定のソリューションに応じて、遠隔演算装置アプリケーション(RCUアプリケーション)は、画像処理装置4のユーザインターフェースおよび特定の画像処理ジョブ(imaging job)を完全に、あるいは部分的に制御してもよい。部分的制御の場合、遠隔演算装置6がクリックをモニタリングしながら、固有モード(native mode)においてユーザインターフェースの情報交換に応答できるようにし、ジョブを制御していてもよい。また、部分的制御として、遠隔演算装置アプリケーションが固有モードと一体化される構成としてもよい(ユーザインターフェーストリガ=機能カスタムメニュー)。画像処理装置4が、関連する遠隔演算装置アプリケーションに全てのエラーおよびジャム通知を送信するようにしてもよい。
遠隔演算装置アプリケーションが画像処理装置4のユーザインターフェースおよびジョブを完全に制御するケースでは、エラーおよびジャム通知を、エラーの種類に応じて異なる方法で処理するようにしてもよい形態もある。修復可能なエラーの場合は、遠隔演算装置アプリケーションに通知が送信され、該アプリケーションは、メッセージの表示および通知されたエラーを解決する処理を行う。また、修復不可能なエラーの場合、画像処理装置モードとRCDモードとが情報交換して、エラー状態を適切に処理する(例えば、ユーザに、ジャムを消去するという命令を与える)。
(ハンドオフ制御(Control Handoffs))
画像処理ジョブ中の様々な時点において、複数のアプリケーションによって画像処理装置を制御するようにしてもよい。これらのアプリケーションとしては、特に限定されるものではないが、例えば外部認証アプリケーション、標準的なRCDアプリケーション、画像処理装置4の固有モードなどが含まれる。以下の説明では、典型的な実施形態における、典型的なジョブの様々な工程について、各工程中における制御を行う主体、およびどの様な種類の制御が可能であるかについて説明する。
工程1:ユーザが、画像処理装置のユーザインターフェースにおいて、画像処理装置にアクセスするための証明データを提示する。この工程は、外部認証アプリケーションなどの遠隔演算装置6、または画像処理装置4自体に内蔵される内部課金(Internal Accounting)(固有モード)によって制御される。この工程の最後に、画像処理装置は使用可能になる。上記の外部認証アプリケーションはまた、デフォルトパラメータを指定してもよく、あるいは特定のジョブパラメータを使用不可にしてもよい(例えば、デフォルトファイル形式はPDFだが、ユーザがこれを変更できるようにしてもよい。また、カラーモードは白黒に設定されていて、ユーザがこれを変更できないようにしてもよい。)。
工程2:ユーザが、上記画像処理装置の固有モード農地の1つまたは標準的なRCDのアプリケーションを使用して、ジョブパラメータを設定する。この工程の最後に、ユーザはジョブを開始するための入力を行う。この入力がなされると、任意の通知が上記の標準的なRCDアプリケーションへ送信される。次に、この標準的なRCDアプリケーションが、必要に応じてジョブパラメータを変更する。ユーザが入力を行ったときに通知を要求するアプリケーションの一例として、電子メールのアプリケーションが挙げられる。ユーザは、固有の画像送信画面または他の入力手段を使用して、スキャンオプションを選択し、電子メールの受信者を選択する。次に、ユーザは、カスタムアプリケーションボタンを選択して、メニューから、スキャン・電子メール送信(scan-to-e-mail)オプションを選択する。次に、ユーザのファイルについての許可設定を行うために、電子メールアプリケーションがカスタム画面を表示する。ユーザが原稿をスキャン器上に置いて処理を開始すると、電子メールアプリケーションは、ユーザによって設定された宛先パラメータを取り込み、上記の対象の宛先を、電子メールアプリケーションのFTPサーバに変更する。次に、電子メールアプリケーションは、上記ファイルを受信し、適切な許可を与え、ユーザによって選択された電子メールを受信者へ送信する。なお、いくつかの実施形態と同様に、上記アプリケーションが、読み取った画像のサムネイルを作成して表示させてユーザに確認させる場合、この時点で、遠隔演算装置のアプリケーションは、ユーザインターフェースの再制御を要求してもよい。
工程3:上記ジョブが開始されると、画像処理装置は、このジョブのスキャンまたはRIPingを実行して、それをHDDにスプールする。画像処理装置が、外部認証アプリケーションを用いてジョブを認証するように構成されている場合は、上記アプリケーションへクリックレポートを送信して命令を待つ。上記外部認証アプリケーションは、ジョブの送信/印刷、キャンセル、またはジョブパラメータの変更をする(ジョブパラメータを変更して使用可能にする)ことができる。例えば、ルールベース印刷アプリケーションは、クリックレポートを受信後、ジョブパラメータの変更を求める。ルールベース印刷アプリケーションには、時刻、宛先、その他の多くのパラメータに基づいて、各ユーザが実行できる行為を制限する、ルールベース印刷およびルールベーススキャンをサポートしているものもある。例えば、マーケティンググループ内のユーザのみが高品質のカラー画像をスキャンすることができるように設定できる。例えば、別グループのユーザがカラー,600dpiを選択すると、ルールベースアプリケーションは、パラメータをカラー,200dpiに変更する。この工程の最後において、上記ジョブは許可されるか、あるいはキャンセルされる。
工程4:工程2の上記の標準的なRCDアプリケーションが、一時的な保存先としてHDDに宛先を指定した場合は、この工程は省略してもよい形態もある。また、この工程は、実施形態によっては、画像処理装置4上で動作するJava(登録商標)アプリケーションによって実行されるものであってもよい。例えば、政府機関は、画像処理装置4上で動作するカスタム暗号化アプリケーションを有することがある。このカスタム暗号化アプリケーションは、スキャンされた文書を取り込み、それを暗号化し、その後、工程2においてユーザが選択した対象の宛先へと、この文書を送信するよう画像処理装置4に要求する。なお、この工程の後および送信/印刷工程後に、外部認証アプリケーションへ通知を送ると有益である形態もある。この工程の後が有益であるのは、上記画像処理装置が、上記ファイルがどれほどの時間ハードディスクに記憶されるのか、あるいは、上記アプリケーションがそれを用いて何を行うのか、を認識していないからである。
工程5:最終工程において、上記ファイルが実際に出力される。典型的な実施形態では、上記ファイルは、ネットワーク上で送信されるか、あるいは端末において印刷される。この工程の最後に、ジョブが正常に終了したという通知が、上記外部認証アプリケーションへ送信される。なお、上記標準的なRCDアプリケーションへも送信されるようにしてもよい。
(装置制御および管理API)
APIによって、遠隔演算装置アプリケーションが、販売アプリケーション(vend applications)を実行する画像処理装置へのアクセスを制御し、遠隔位置から該画像処理装置4を管理するようにできる。
(装置制御および販売API(Device Control and Vend API))
本発明の実施形態では、装置制御および販売APIによって、アプリケーションが、画像処理装置4へのアクセスを可能または不可能にし、かつクリック数を追跡記録するようにできるものもある。装置制御および販売APIは、遠隔演算装置6に以下に示す制御を行わせる。
画像処理装置4の機能を使用可能/使用不可能にする:これにより、遠隔演算装置6が、画像処理装置4全体へのアクセス、または画像処理装置4の特定の機能へのアクセスを可能または不可能にして、個々のユーザの権利を行使させることができる。典型的な実施形態としては、例えば表3に記載の機能を、アプリケーションによって任意に使用可能または使用不可能にするものもある。
使用されたクリックをレポートする:正常なジョブの最後に、使用されたクリックが遠隔演算装置RCDに戻ってレポートされる。
デビットモード(Debit Mode):これらの実施形態において、アプリケーションは画像処理装置4を使用可能にする際、現在のジョブが認証を要するか否かを指定する。この場合、上記ジョブはメモリにスプールされ、クリック情報(例えば表4において定義された情報)が遠隔演算装置6へ送信される。上記ジョブを削除すべきか、あるいは出力/送信するべきかを、遠隔演算装置6は画像処理装置4に通知する。この時、上記アプリケーションは、ジョブパラメータを変更するか否か選択することができる。上記アプリケーションが認証を要求しない場合、上記ジョブは通常通りに続行され、このジョブの最後にクリックレポートが送信される。
印刷ジョブの課金:これらの実施形態において、遠隔演算装置6は、ウォークアップ機能(walk-up function)および印刷ジョブの監視を実行する。印刷ジョブの課金にあたり、画像処理装置4は、送信されてくる全ての印刷ジョブを監視し、またジョブを印刷する前にPJLヘッダー中の課金データを照合のために遠隔演算装置6へ送る。遠隔演算装置6は、この課金データ(またはその不足)を検証して、ジョブを続行すべきかあるいはキャンセルすべきかを示す情報を画像処理装置4に与える。
未確認ジョブに関するレポート:これらの実施形態において、遠隔演算装置RCDは、例えば装置レポートや送信されてくるファックスジョブなど、遠隔演算装置RCDが特定のユーザと関連付けできない印刷ジョブの監視を要求する。遠隔演算装置RCDは、全ての未確認ジョブのクリック数を受信するための登録をして、これらのジョブを一般アカウント(general account)に請求することができる。
(装置管理API)
本発明の実施形態では、装置管理APIによって、ネットワークアプリケーションが、画像処理装置を遠隔設定および管理できるようにしてもよいものもある。典型的な実施形態では、上記装置管理APIは、遠隔演算装置6に以下の制御を行わせることができる。
・装置状態−遠隔演算装置6は、画像処理装置4の現在の状態を要求する。これは、埋め込み型ウェブページ(embedded web pages)にレポートされる状態情報と同じである。
・装置構成−遠隔演算装置6は、画像処理装置4によってサポートされている、インストールされているオプションの一覧を検索する。
・ウェブページ設定−遠隔演算装置6は、埋め込み型ウェブページ上で構成可能な任意の値を検索および設定する。
・キー操作プログラム−遠隔演算装置6は、ソフトウェアキーを含むキー操作プログラムにおいて構成可能な任意の値を検索および設定する。
・カスタム設定−遠隔演算装置6は、カスタム設定において構成可能な任意の値を検索および設定する。
・ジョブ状態−ジョブ状態遠隔演算装置RCDは、現在のジョブキューおよび履歴情報を検索して、そのキューのジョブの優先順位を変更する、あるいは該ジョブを削除する。
・クリック数―遠隔演算装置6は、画像処理装置4におけるクリック数の総数、およびアカウントコードによる各機能のクリック数を検索する。
・データのセキュリティー設定−遠隔演算装置6は、DSK上の状態情報(例えば最終削除)を検索して、データ消去機能を開始する。
・レッドデータ(RED DATA)−遠隔演算装置6は、レッドメッセージ(RED message)等で通常送信される全てのデータを検索する。
・遠隔リブート―遠隔演算装置6は、画像処理装置4のリブートを開始する。
上記の分類は、どの設定が含まれるべきかを詳述する典型的な実施形態として記載されているにすぎない。実施形態によっては、実際のAPIが、機能領域ごとに分類されているものもある。なぜなら、キー操作設定とウェブページ設定とが重複している可能性があるためである。
(内部課金API(INTERNAL ACCOUNTING API))
内部課金APIによって、遠隔演算装置アプリケーションが、内部課金のシステムを構成し、かつクリック数をレポートすることができる。模範的な実施形態の中には、内部課金APIが、以下のものを含んでいるものもある。
・監査オプションを設定−遠隔演算装置6は、どのモードの監査が可能であるのかを含む監査オプションを設定する。上記のモードとしては、例えば、「アカウント番号のセキュリティー」、「無効なアカウントのジョブのキャンセル」などが含まれる。
・アカウントコードの管理−遠隔演算装置6は、アカウントコードを追加、編集、または削除する。
・アカウント制限−遠隔演算装置アプリケーションは、個別のアカウントコードまたは全アカウントコードの、クリック数の上限を機能別に指定する。
・アカウントリセット−遠隔演算装置アプリケーションは、個別のアカウントまたは全アカウントのクリック数をリセットする。
・クリック検索−遠隔演算装置6は、各アカウントコードのクリック数を機能別に検索する。
(フォントおよび書式管理API(Font and Form Management API))
上記の実施形態では、フォントおよび書式管理APIを含んでいてもよいものもある。フォントおよび書式管理APIによって、RCDアプリケーションが、フォントおよび書式を大容量記憶装置に遠隔ダウンロードして管理することができる。実施形態の中には、フォントおよび書式管理APIは、遠隔演算装置6に以下の制御を行わせることができるものもある。
・大容量記憶装置の制御−遠隔演算装置6のアプリケーションは、記憶容量、利用可能なスペース、および書込み禁止モードを含む、大容量記憶装置の状態情報を検索し、かつ書込み禁止状態を変更する。
・リソース一覧−遠隔演算装置アプリケーションは、記憶されているフォントおよび書式(例えば、フォントまたはマクロID、フォント番号、フォント/書式名、エスケープシーケンス、ファイルサイズなど)の一覧を検索する。
・リソースのダウンロード−遠隔演算装置アプリケーションは、PCLフォント、PCLマクロ、PSフォント、書式をダウンロードする。リソースがウェブページを介してダウンロードされる際に実行されるあらゆる特別な処理は、リソースがオープンシステムを介してダウンロードされる際にも実行される。
・リソースを削除−遠隔演算装置アプリケーションは、大容量記憶装置に記憶されている全てのリソースを削除する。
・リソースをアップロード−遠隔演算装置アプリケーションは、個々の、あるいは全てのリソースをアップロードする。効率的なメモリ管理を行えない画像処理装置4の場合、サーバプリケーションは、この機能を用いて大容量記憶を「デフラグ」することができる。
・フォント/マクロID−遠隔演算装置アプリケーションは、PCLフォントおよびマクロに割り当てられたIDを割り当て、または変更する。
(ファームウェア管理API(Firmware Management API))
上記の実施形態には、ファームウェア管理APIによって、遠隔演算装置またはネットワークアプリケーションが、画像処理装置ファームウェアを遠隔ダウンロードおよび管理するようにしてもよいものもある。典型的な実施形態では、ファームウェア管理APIは、遠隔演算装置6(例えばサーバ)に以下の制御を行わせることができる。
・ファームウェアバージョン−遠隔演算装置アプリケーションは、現在のファームウェアバージョン番号を検索する。
・サービスモード−遠隔演算装置アプリケーションは、MFPをサービスモードにして、ファームウェアのアップグレードを阻害するであろう他のジョブを締め出す。サービスモード要求を受信すると、画像処理装置4は、送信されてくるジョブの受信を停止し、キューの全てのジョブを終了し、そして該画像処理装置4がサービスモードにあることをサーバに通知する。
・ファームウェアをアップデート−遠隔演算装置6は、最新ファームウェアバージョンを画像処理装置4にダウンロードする。再起動が必要である場合、ダウンロード終了後に画像処理装置4を自動的に再起動させる。
・ダウンロード状態−画像処理装置4は、ファームウェアのダウンロード後、遠隔演算装置6に状態通知(正常/エラー)を送信する。
・旧バージョンへ戻す−ファームウェアが正常に更新されない場合、旧ファームウェアバージョンへ戻すよう画像処理装置4に要求する。
(装置機能API)
上記の実施形態の中には、装置機能APIによって、遠隔演算装置アプリケーションが、既存の画像処理装置の機能性を用いて新しいカスタムソリューションを提供することができるものもある。
(画像送信API)
上記の実施形態の中には、画像送信APIによって、遠隔演算装置に以下の制御を行わせることができるものもある。
・画像送信パラメータ―遠隔演算装置RCDのアプリケーションは、以下のスキャンおよびファックスパラメータ値を入手および設定する:
・カラーまたは白黒
・画像モード−テキスト、テキスト/フォト、フォト;露光レベル
・解像度
・ファイル形式―ファイルの種類、圧縮、ファイルのページ数
・原稿―原稿サイズ、片面/両面、回転、ジョブビルド(job build)
・ファイル名
・件名
・メッセージ
・送信元
・予定送信時間
・ページ分割(本のスキャン)
・表紙
・伝送メッセージ(機密、緊急など)
・薄紙のスキャン
・宛先
・文書ファイリング
・スキャン開始―遠隔演算装置RCDのアプリケーションは、スキャン機能を開始させる(ユーザがスタートボタンを押した場合と同様に開始させる)。
実施形態の中には、遠隔演算装置6が、画像処理装置4のデフォルト値、または現在のジョブの値を変更できるものもある。また、遠隔演算装置6が、現在のジョブに対してユーザがスキャンパラメータを変更できるかどうかを指定するようにしてもよい。1つの遠隔演算装置アプリケーション(例えばアクセス制御アプリケーション)がパラメータを変更できないように指定し、第2のアプリケーション(例えば文書管理アプリケーション)がパラメータを設定しようとした場合、第2のアプリケーションに通知が送信され、設定は変更されない。
(印刷API)
実施形態の中には、遠隔演算装置が、印刷ジョブを、標準印刷チャネルを介して提示するようにしてもよいものもある。実施形態の中には、印刷APIが、遠隔演算装置に以下の制御を行わせるようにしてもよいものもある。
・PJL検索(sniffing)−遠隔演算装置RCDのアプリケーションは、印刷ジョブ中に特定のPJLコマンドが発見されたときに命令に接続する(contacted for)ように、画像処理装置に登録する。遠隔演算装置は、画像処理装置IDevに、コマンドの置き換え、ジョブのキャンセル、または印刷の続行を命令できる。このインターフェースは、課金などのアプリケーションに使用することができ、他の種類のアプリケーションとの互換性がある。
(コピーAPI)
上記の実施形態では、コピーAPI(Copy API)が、遠隔演算装置に以下の制御を行わせるようにしてもよい。
・コピーパラメータ―遠隔演算装置RCDのアプリケーションは、以下のコピーパラメータの値を入手および設定する。
・カラーまたは白黒
・露光−テキスト、テキスト/フォト、フォト、スーパーフォト;露光レベル
・用紙選択(トレイ毎)
・コピー率
・両面コピー−1対1、1対2、2対2、2対1;端部綴じ
・排出−排出トレイ、ソート、ステープル、グループ、オフセット
・原稿サイズ
・特殊な機能−余白変更、消去、パンフレット等
・文書ファイリング
・コピー開始−遠隔演算装置RCDのアプリケーションは、コピー機能を開始する(ユーザがスタートボタンを押した場合と同様に開始させる)。
実施形態の中には、遠隔演算装置が、画像処理装置のデフォルト値、または現在のジョブの値を変更できるものもある。また、遠隔演算装置が、現在のジョブに対してユーザがコピーパラメータを変更できるかどうかを指定するようにしてもよい。
(文書ファイリングAPI)
上記の実施形態では、文書ファイリングAPIが、遠隔演算装置に以下の制御を行わせるようにしてもよいものもある。
・バックアップ/復元−遠隔演算装置RCDのアプリケーションは、全ての文書ファイリングデータと共にバッチファイルをインポートおよびエクスポートする。実施形態の中には、このパッケージが独自の形式(proprietary format)であってもよいものもある。なぜならこのパッケージは、パスワード保護されている個人がアクセスできない文書を含んでいるからである。このパッケージは、一般的には、障害の際や他装置へ複製する際に復元するために用いられる。
・ファイル/フォルダリスト−遠隔演算装置6のアプリケーションは、画像処理装置4へ記憶させるため(あるいは画像処理装置4の管理のため)に、新規のファイルおよびフォルダを検索、変更、および、作成する。
・ファイルのダウンロード−遠隔演算装置6は、新規ファイルを文書ファイリングシステムへダウンロードし、フォルダ、ファイル名、ユーザ名、パスワードを指定する。
・ユーザリスト−遠隔演算装置アプリケーションは、画像処理装置4へ記憶させるため(あるいは画像処理装置4の管理のため)に、新規のユーザを検索、変更、および、登録する。
・HDD状態−遠隔演算装置アプリケーションは、メインフォルダ、クイックフォルダ、カスタムフォルダに割り当てられている%(容量の割合)、および残存%などの、現在のHDD状態を検索する。
・文書ファイリングパラメータ−遠隔演算装置アプリケーションは、ファイルを文書ファイリングへ保存する際の、各種の値(例えば以下に示す値)を入手および設定する:
・露光
・解像度
・原稿−サイズ、片面/両面
・ファイル情報−ユーザ名、ファイル名、フォルダ、機密、パスワード
・特殊モード−消去、袋とじコピー、2IN1、ジョブビルド、カードショット(card shot)
・印刷開始−遠隔演算装置アプリケーションは、記憶されているファイルの1つを選択し、例えば以下のパラメータを反映して印刷を開始する:
・用紙サイズ/ソース
・排出−ソート/グループ化、排出トレイ、ステープル、パンチ、オフセット
・片面/両面(タブレット/ブックレット)
・タンデム印刷
・コピー部数
・印刷後に削除するかあるいは保存しておくか
・送信開始−遠隔演算装置のアプリケーションは、記憶さているファイルの1つを選択し、例えば以下のパラメータを反映して送信を開始する:
・解像度
・ファイル形式
・宛先
・タイマー
・送信元
・ファイル名
・件名
・メッセージ
(セキュリティー)
外部アプリケーションによる画像処理装置4の制御を可能にすることによって、該画像処理装置4が、新たなセキュリティーの脆弱性にさらされることになる。セキュリティー対策を提供している本発明の実施形態では、以下の典型的な項目がセキュリティー上の懸念事項であり、遠隔演算装置6のインターフェースによってこれらに対処している。
遠隔演算装置6のインターフェースへのアクセスは、正規アプリケーションに限定されている。実施形態では、画像処理装置4の広範囲に及ぶアクセスおよび制御を提供しているが、これによってセキュリティー上の重大な危険がもたらされる。これらの実施形態におけるインターフェースは、攻撃者によるアクセスから保護されている一方、有効なソリューションのセットアップおよび利用は容易なままである。
機密データ(ユーザ証明データおよびジョブデータ)は、ネットワーク伝送中は保護されている。ユーザ証明データおよびジョブデータがネットワーク伝送中に保護されているのは、盗難予防、侵入者による装置動作のモニター予防、そして介入者攻撃によるメッセージの改変予防を確実に行えるようにするためである。画像処理装置4は、該画像処理装置4と遠隔演算装置アプリケーションとの間を通信している間、データの安全を確保するように、セキュアソケットレイヤー(Secure Sockets Layer;SSL)および他の接続をサポートしている。
管理者は、画像処理装置4へのアクセスを制限することができる。厳しいセキュリティーを要求するユーザに対して、管理者は遠隔演算装置6からのアクセスを不可にしたり、特定のアプリケーションへのアクセスを制限することができる。管理者は、任意に、画像処理装置4のインターフェースにアクセスできるアプリケーションを限定して登録することができる。
遠隔演算装置アプリケーションは、画像処理装置4に「なりすまし」されないようにすることができる。遠隔演算装置6は、該遠隔演算装置6と接続されている画像処理装置4を認証することができる。これは、侵入者が、その画像処理装置4になりすましてネットワーク構成およびパスワード情報を収集したり、文書管理システムのファイル/フォルダ構成をモニターしたり、画像処理装置4のセキュリティー設定およびDSK状態をだましたりできないようにするためである。
遠隔演算装置6は、サーバに「なりすまし」されないようにすることができる。画像処理装置4は、該画像処理装置4と接続されている全遠隔演算装置6を認証できなければならない。これは、侵入者が遠隔演算装置6のIPアドレスになりすますことを防ぐためである。遠隔演算装置6を装うことによって、侵入者は、ユーザ証明データを盗み出したり、読み取った文書を転送したり、装置構成またはファームウェアを改変したり、(権限のないユーザにアクセスを与えるため、あるいは正規ユーザに対するサービス不能攻撃を開始するために)アクセス制御システムを停止させたりできる。
アクセス制御/販売アプリケーションは、遠隔演算装置6が使用できない状態にあるときは、危険にさらされることはない。遠隔演算装置6が使用できない状態にあるとき、画像処理装置4にオープンアクセスを与えることは許可されない。遠隔演算装置6が起動されているにもかかわらず使用できない場合、あるいは随時使用できなくなった場合(例えば、誰かがネットワークケーブルを切断した場合)、画像処理装置4は即座に使用不可になり、エラーメッセージが表示される。
管理者は、企業およびあるいはアプリケーションの必要性に基づいて、セキュリティーレベルを調整することができる。セキュリティー要件は、遠隔演算装置アプリケーションの開発に費やす時間、およびソリューションを実行するために必要なリソースに大きな影響を与える。いくつかの実施形態を利用するユーザは、保有する画像処理装置4は1つで、ITスタッフがおらず、単純なスキャンアプリケーションまたは印刷アプリケーションを使用している小企業から、アクセス制御と全装置の動作について記録する監査証跡とを用いる政府機関にまで及ぶかもしれない。画像処理装置4のインターフェースを保護するために講じられるセキュリティー対策は、目的とする環境と合致するように、管理者によって調整可能である。
画像処理装置4および遠隔演算装置アプリケーションは、ユーザ証明データを相互に通信することができる。ユーザは、ジョブ中の複数の時点において、ログインするように促されることがある。例えば、アクセス制御アプリケーションまたは課金アプリケーションは、全ての装置アクセスを制御し、画像処理装置4は、画像送信を可能にするユーザ認証を行い、文書管理アプリケーションは、フォルダリストを表示する前に、ユーザにログインするよう要求する。多くの環境において、これら全てのアプリケーションは、共通のユーザデータベースを使用する。このため、実施形態によっては、ユーザが認証工程を繰り返す必要がないように、上記アプリケーションはユーザ証明データを相互に通信し合うことが望ましいものもある。
本発明の一部の実施形態について、図3を参照して説明する。これらの実施形態は、例えば通信回線を介して接続されるサーバなどの遠隔演算装置と相互通信するように構成された画像処理装置を含んでいる。画像処理装置30は、ユーザインターフェース32およびディスプレイ36を備えている。ユーザインターフェース32は、例えばキーボード、1つ以上のボタン、ノブまたはスイッチ、あるいはタッチスクリーンパネルといった、ユーザ入力パネル34である。ディスプレイ36は、タッチスクリーンパネル形式のユーザ入力装置であってもよい。
画像処理装置30は、一般的に、1つ以上の画像処理機能を実行する能力がある。ここでいう画像処理機能としては、例えばスキャン、印刷、コピー、ファックス通信(送信および受信)などが含まれるが、これらに限定されるものではない。
この実施形態では、通信回線38がさらに備えられている。この通信回線38は、(図3に示すような)有線であってよい。有線としては、例えば、ネットワークケーブル、ユニバーサルシリアルバス(Universal Serial Bus;USB)ケーブル、シリアルケーブル、パラレルケーブル、例えばホームプラグ(HomePlug)接続回線などの電力通信線、あるいはその他の有線を用いることができる。あるいは、通信回線38は、無線であってもよい。無線による接続としては、例えば、IEEE802.11(b)規格の接続、ブルートゥース接続、赤外線通信協会(Infrared Data Association;IrDA)接続、あるいはその他の無線接続を用いることができる。
画像処理装置30の動作例について、図4を参照して説明する。これらの実施形態では、まず、画像処理装置30は、遠隔演算装置(図3には不図示)からメニューデータを受信する(工程40)。この遠隔演算装置は、有線または無線接続の通信回線38を介して画像処理装置30に接続されている。次に、画像処理装置30のユーザインターフェース32のディスプレイ36に上記メニューデータを表示する(工程42)。リモートメニューデータをこのように表示させる目的は、ユーザによる、ユーザインターフェース32のユーザ入力パネル34上での入力を迅速にするためである。
上記実施形態の画像処理装置30は、リモートメニューデータが表示された後のユーザによる入力を受け付けて、ユーザ入力データを遠隔演算装置へ送信するように構成されている(工程44)。実施形態によっては、このユーザ入力データは、遠隔演算装置によって処理されるものもある。上記処理とは、例えば、遠隔演算装置におけるアプリケーションの実行、遠隔演算装置に記憶されているデータへのアクセス、該データの通信などである。
また、上記実施形態の画像処理装置30は、上記ユーザ入力データの処理によって生じるデータを受信する(工程46)ように構成されている。上記受信するデータとは、ユーザ入力後に遠隔演算装置上で実行されるアプリケーションによって生成されるデータを含んでいてもよい。画像処理装置30はまた、ユーザ入力の処理後にファイルサーバなどの遠隔演算装置に記憶されたデータを受信してもよい。
画像処理装置30は、上記処理データを受信する(工程46)と、そのデータに応じて、あるいはそのデータを使用することによって固有の機能を実行する(工程48)。例えば、これに限定されるものではないが、画像処理装置30は、遠隔演算装置に記憶され、かつユーザ入力に応じて遠隔演算装置上で修正されている文書を印刷する。別の例として、これに限定されることはないが、画像処理装置30は、工程46における処理データを受信すると、上記画像処理装置30の機能(例えば、スキャン、コピー、印刷、ファックス通信)をアクティブまたは使用可能にするようになっていてもよい。
画像処理装置30の、さらに具体的ないくつかの実施形態について、図5を参照して説明する。上記実施形態では、画像処理装置30は、マークアップ言語によってフォーマットされたメニューデータを、遠隔演算装置から受信する(工程50)ように構成されている。上記メニューデータが通信される通信回線は、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol;HTTP)を使用して構築および維持されるものであってもよい。上記のマークアップ言語としては、例えばハイパーテキストマークアップ言語(HTML)、エクステンシブルマークアップ言語(XML)、ワイヤレスマークアップ言語(WML)、エクステンシブルハイパーテキストマークアップ言語(XHTML)、および/または他の言語を用いることができる。
画像処理装置30は、上記メニューデータを受信(工程50)すると、受信したメニューデータを画像処理装置30のユーザインターフェースディスプレイ36上に表示する(工程52)。前述した実施形態と同様に、上記メニューデータは、一般的に、画像処理装置30のユーザインターフェース32上でのユーザによる入力を迅速にするためのものである。遠隔記憶されたメニューデータの表示(工程52)は、画像処理装置30に備えられているブラウザアプリケーションを用いて達成されてよい。
上記の実施形態では、画像処理装置30はさらに、ユーザインターフェース32を介して受信されたユーザ入力を、遠隔演算装置へと送信する(工程54)ように構成されている。遠隔演算装置は、上記ユーザ入力を受信すると、アプリケーションを実行するか、あるいは受信したユーザ入力を処理してその処理結果を画像処理装置30へ返信する。画像処理装置30はさらに、遠隔演算装置から処理データを受信する(工程56)ように構成されている。実施形態によっては、画像処理装置30が、処理データの受信(工程56)後に、1つ以上の機能を実行するようにしてよいものもある。
本発明のさらに他の実施形態について、図6を参照して説明する。この実施形態は、通信回線64を備えた遠隔演算装置(RCD)60を含んでいる。通信回線64としては、(図6に示したように)ネットワークケーブル、ユニバーサルシリアルバス(USB)ケーブル、シリアルケーブル、パラレルケーブル、例えばホームプラグ接続などの電力通信線、あるいはその他の有線などを用いることができる。あるいは、通信回線64による接続は、例えばIEEE802.11(b)規格の接続、ブルートゥース接続、赤外線通信協会(IrDA)規格によって規定されているような赤外線接続、あるいはその他の無線接続であってもよい。実施形態の中には、遠隔演算装置60がさらに、データ記憶装置62をさらに備えていてもよいものもある。このデータ記憶装置62は、一般的にはハードドライブであるが、例えばコンパクトディスクドライブなどの光学ドライブ装置、フラッシュメモリ、またはその他の記憶装置であってよい。
遠隔演算装置60の実施形態について、図7を参照してより詳細に説明する。これらの実施形態では、遠隔演算装置60はプロセッサ72を備えている。このプロセッサ72は、データを処理し、かつオペレーティングシステムやアプリケーションなどのプログラムを実行する。遠隔演算装置60はメモリ74をさらに備えている。このメモリ74は、ランダムアクセスメモリ(RAM)であってもよく、読込専用メモリ(ROM)であってもよい。一般的には、プロセッサ72によって処理されるあらゆるアプリケーションはメモリ74に読み込まれる。遠隔演算装置60はさらに、ネットワークインターフェース78を備えている。このネットワークインターフェース78は、遠隔演算装置60が、画像処理装置30などの別の装置と通信することを可能にする。なお、実施形態によっては、遠隔演算装置60は、ユーザインターフェース(UI)80をさらに備えているものもあるが、これは多くの実施形態において不要である。また、遠隔演算装置60は、本発明の実施形態の画像処理装置30によってアクセスされるアプリケーションおよびデータを記憶させる記憶装置62を備えている。プロセッサ72、メモリ74、記憶装置62、ネットワークインターフェース78、および任意に備えられるユーザインターフェース80は、一般的に、システムバス76によって接続されている。これによって、各部材間のデータ伝送が可能になる。通信回線64は、ネットワークインターフェース78を介して、遠隔演算装置60を別の装置と接続させる。
図8に関して記載したいくつかの実施形態では、遠隔演算装置60は、記憶装置62またはメモリ74に記憶されたメニューデータを有している。画像処理装置30のユーザインターフェース32上にこのメニューデータが表示されるように構成されていてもよい。また、上記メニューデータは、様々な形式および構成で記憶されてよい。実施形態の中には、上記メニューデータが、マークアップ言語によって表現される言語形式(form of terms)であってもよいものもある。マークアップ言語としては、ハイパーテキストマークアップ言語(HTML)、エクステンシブルマークアップ言語(XML)、ワイヤレスマークアップ言語(WML)、エクステンシブルハイパーテキストマークアップ言語(XHTML)、および/または他の言語を用いることができる。本実施形態では、メニューデータは、工程82において、通信回線64を介して画像処理装置30へと送信される。従って、画像処理装置30上に表示されるように構成されたメニューデータは、遠隔演算装置60に記憶されている。
次に、いくつかの実施形態の遠隔演算装置60は、ユーザ入力を受信する(工程84)ように構成されている。このユーザ入力は、画像処理装置30のユーザインターフェース32を介して入力され、通信回線38ならびに64を介して遠隔演算装置60へ伝送されたものである。遠隔演算装置60は、この入力データを受信すると、この入力データの処理を行う(工程86)。この処理工程86は、このデータを新たな形式に変換する工程であってもよく、このデータ内のコマンドを実行する工程であってもよく、その他の処理工程であってもよい。遠隔演算装置60は、上記入力データを処理(工程86)した後、処理結果を画像処理装置30へ返信する。画像処理装置30は、受信した処理結果を、画像処理装置30における処理または画像処理装置30において実行する機能に使用する。
他の実施形態について、図9を参照して説明する。この実施形態では、遠隔演算装置60は、画像処理装置30のディスプレイ36用に構成されているメニューデータを、マークアップ言語を用いて送信する(工程90)。このマークアップ言語メニューデータは、画像処理装置30において受信され、ユーザに表示される。これによって、通常は、画像処理装置30のユーザインターフェース32上でユーザが迅速に入力できるようになる。このユーザ入力は、画像処理装置30によって遠隔演算装置RCD60へと送信され、遠隔演算装置RCD60は、画像処理装置30上のメニューデータを迅速に表示する入力データを受信する(工程92)。さらに、遠隔演算装置RCD60は、受信した入力データを処理する(工程94)。この処理工程は、例えば、形式、文書、または遠隔演算装置RCD60に記憶されているその他のデータを選択、記録、変更等する工程であってもよく、上記ユーザ入力によって識別されたユーザを認証する工程であってもよく、上記ユーザによって入力された文書を翻訳する工程であってもよく、ユーザ入力に関連するマップまたはその他の指示を生成する工程であってもよく、あるいはその他の処理または機能であってもよい。
本発明のさらに他の実施形態について、図10および図11を参照して説明する。上記実施形態は、少なくとも一台の遠隔演算装置RCD60、および複数の画像処理装置30a〜30dを含んでいる。上記実施形態において、画像処理装置30a〜30dの内の少なくとも一台は、ディスプレイ36およびユーザ入力パネル34を有するユーザインターフェース32を備えている。ユーザ入力パネル34は、ディスプレイと一体型(すなわちタッチスクリーン)であってもよく、あるいはディスプレイとは別個の入力装置であってもよい。遠隔演算装置RCD60は、通信回線およびネットワーク100によって画像処理装置30a〜30dに接続されている。これにより、遠隔演算装置RCD60と画像処理装置30a〜30dとの間のデータ伝送が可能になっている。
上記実施形態では、メニューデータは、遠隔演算装置RCD60に記憶されており、そして画像処理装置30a〜30dの内の少なくとも一台に送信される。そして、このメニューデータは、ユーザインターフェースに表示される。画像処理装置30a〜30dのいずれも、上記メニューデータを受信しユーザ入力を受け付け(工程112)、受け付けたユーザ入力を遠隔演算装置60へ伝送する(工程114)ように構成されている。遠隔演算装置60は、ユーザ入力データを受信すると、前述の実施形態と同様にこのデータを処理する(工程116)。そして、処理(工程116)の結果を、任意に組み合わせた画像処理装置30a〜30dへと返信する(工程118)。
上記実施形態では、一台の遠隔演算装置RCD60を使用して、処理能力、リソース、および機能性を複数の画像処理装置30a〜30dへ供給している。このとき、これらのリソースを各画像処理装置において再生することはない。なお、実施形態によっては、ある画像処理装置30aに対する入力に応じて生成した処理データを、この処理データの出力または最終処理のために、別の画像処理装置30dへ送信するようにしてもよいものもある。
(イベント通知予約の実施形態)
本実施形態では、本発明における、画像処理装置(IDev)4とアプリケーションとの間の通知処理のためのシステムおよび方法について説明する。上記アプリケーションは、画像処理装置4内部にあってもよいし、遠隔演算装置(RCD)6にあってもよい。上記通知方法およびシステムは、エラーの報告や、その他の目的に利用できる。アプリケーションは、画像処理装置4の通知アプリケーションに予約を行うことによって、上記通知を受信する。そして、画像処理装置4は、特定のイベントが画像処理装置4(または関連装置)で発生したことをアプリケーションに通知する。
本実施形態では、イベントの予約を行うステップは、IDevウェブサービスを呼び出すステップと、通知が指定されるイベントを識別するステップとを含んでいてもよい。さらに、アプリケーションは、単一ジョブまたはグローバルジョブ(全部のジョブ)の文脈上でイベントを予約してもよい。また一般的には、アプリケーションは、画像処理装置4が通知を送信できるための、アプリケーション自身のウェブサービスを提示してもよい。
本実施形態では、イベント通知を受信するステップは、イベント通知を受信するためのウェブサービスを実行するステップを含んでいてもよい。また、イベント通知処理を予約するのにウェブサービスまたは他のアプリケーションを用いてもよい。ウェブサービスまたは他のアプリケーションを、イベントが発生したときにイベントデータを処理するために用いてもよい。本実施形態では、イベント通知処理は、イベントが発生するときのどのタイミングで呼び出されても構わない。また、イベント方法は、ジョブごとにジョブ専用に準備されていてもよい。すなわち、ある特定のジョブのときだけ通知メッセージを送信するようにしてもよい。さらに、本実施形態では、「イベントデータ」パラメータを用いてもよい。上記イベントデータパラメータは、ジョブ識別子、ユーザ証明書、および/または、その他データのように、イベント特有のデータを含む構造になっている。
本実施形態では、一般的には、アプリケーションは、IDevシステム上の何種類かのエラーをトリガとして開始されるエラー通知処理を予約することができる。さらに、そのうちのいくつかは、システム実行中エラーイベント(ON_SYSTEM_ERROR event)として記述されてもよい。エラー状態は、いくつかの要因で引き起こされる。一般的には、エラー状態としては、例えば、印刷処理が停止する「用紙切れ」状態、あるいは、スキャンの場合には、入力トレイにおける「文書が見つからない」状態などが挙げられる。
ウェブサービスを含む実施形態では、イベントトリガは、アプリケーションが提供した設定データを含んでいてもよい。設定データは、ウェブサービス記述言語(WSDL)において構文的にかつ意味的に有効であるが、規則全体では有効でない。例えば、ユーザがファックスの操作を設定して、ファックス番号を入力するところを、有効でない電話番号を入力するようなものである。
本発明の実施形態では、画像処理装置の動作についての情報を必要とするアプリケーションまたは装置が、画像処理装置が通知可能なイベントのリストを画像処理装置に対して要求してもよい。上記各イベントは、固有の機能および/またはアプリケーションに関連しているか、あるいは、画像処理装置と通信可能なリモートアプリケーションに関連している。本実施形態では、予約アプリケーションは、SOAPメソッドのGetServiceEventElementsを用いて、画像処理装置の通知アプリケーションが通知を送信可能なイベント要素のリストを取得してもよい。通知可能なイベントのリストが取得されると、予約アプリケーションは、リストにあるイベントの予約を要求することができる。画像処理装置の通知アプリケーションは、通知レコードに通知要求を記録して、当該イベントが発生すれば、上記予約アプリケーションに通知を行う。
本発明の実施形態では、ウェブサービスメソッド(Web Service Method)として実行されるプロセスが複数含まれていてもよい。上記各プロセスの中には、一般的な実施形態において用いられる特定の名前で参照されるプロセスがあってもよい。上記各名前は、閉じた丸括弧“()”が後に続く名前を用いた構文(つまり、Event(),CreateJob(),Authenticate()など)と関連していてもよい。
本発明の実施形態では、通知アプリケーションは、予約モデルにしたがって動作してもよい。予約モデルとは、既知の画像処理装置によるイベントに先立って予約できる通知を受信するための、ローカルのまたはネットワーク上のアプリケーションである。本実施形態では、画像処理装置は、予約リストの実行および管理を行うことができる。これをウェブサービスを用いて行ってもよい。上記実施形態では、イベント通知とは、ある状態が画像処理装置に招来した場合に予約アプリケーションに送信されるメッセージである。
本実施形態では、イベント通知処理の目的は、ある特定のジョブ実行中に画像処理装置または関連装置に発生するイベントについての情報を、リモートクライアントが受信できるようにすることである。上記実施形態では、ジョブ専用予約を行うと、特定のジョブが実行中の場合にのみ通知が起こるように要求することになる。本発明の一般的な実施形態では、画像処理装置の通知アプリケーションは、Hello()SOAP要求を、外部権限の登録されたアプリケーション(予約アプリケーション)に送信する。上記SOAP要求の送信は、多機能周辺機器などのように、新しいアプリケーションが画像処理装置に登録される度に、あるいは、アプリケーションが既知の画像処理装置のリストから削除される度に行われる。
本実施形態では、アプリケーションが、特定のジョブチケットに関連付けてイベントを予約するようにしてもよい。上記ジョブごとに行う「ジョブチケット予約」は、ジョブチケットが有効に存在している間は、有効である。ジョブチケットが有効期限切れになると、それに関連付けられている予約も有効期限切れとなる。このようなタイプの予約は、スタンダードのユーザアプリケーションにより利用される。ジョブチケットごとにイベントを予約することによって、予約アプリケーションは、クライアントのジョブの文脈上にあるイベントについて通知を受けることができる。ジョブチケット予約の実施形態は、広義のジョブ専用予約の実施形態の一種であると言える。
本発明の実施形態では、画像処理装置または関連アプリケーション・関連装置に取って代わることができるイベントについて、予約アプリケーションに通知するための通知機構を定義してもよい。本実施形態では、通知機構は、通知要求が起こったとき、または、実際の通知が発生する前のいつかに、予約アプリケーションによって指定されてもよい。
本発明の実施形態では、通知アプリケーションが通知予約を許可する前に証明書認証を要求するというアクセス制御を行ってもよい。上記実施形態では、ユーザを認証するために、通知要求はユーザ証明書を含んでいてもよいし、あるいは、通知要求に続いてユーザ証明書が送信されてもよい。通知アプリケーションは、自身が上記証明書を処理してもよいし、証明書の処理のためにリモート認証アプリケーションに上記証明書を送信してもよい。上記証明書の認証が成功した場合のみ、予約要求が受け付けられる。本実施形態では、ある特定のタイプの予約要求のみが、アクセス制御や証明書認証を要求するようにしてもよい。例えば、ジョブ専用予約要求が認証を求めない場合でも、グローバル予約要求(画像処理装置の全てのジョブに対する予約要求)が認証を求めるようにしてもよい。
本実施形態では一般的には、画像処理装置の通知アプリケーションは、セキュアアクセスモード下で実行されてもよい。上記モードでは、予約アプリケーションからの要求は、SECURITY_SOAPHEADER_TYPEというタイプのセキュリティ要素を含むSOAPヘッダを含んでいてもよい。上記要素は、ユーザ(またはアカウント)証明書を有している。あるいは、上記要求は、以下に示すような、XML要素あるいはSOAP要素の全部(または一部)を含んでいてもよい。
さらに、本実施形態では一般的には、以下に示すような、XML要素あるいはSOAP要素を含む応答メッセージが返信されてもよい。
本発明の実施形態では、アカウント証明書は、ユーザログイン名やパスワードなどの、ユーザやアプリケーションについての情報を含めて提供されてもよい。ユーザ証明書またはアカウント証明書SOAPヘッダ要素の中で提供されてもよい。また、アカウント証明書は、CreateJob()要求、または、PJLストリームの中で提供されてもよい。発信者アカウント証明書は、上記要求のパラメータの一つとして提供されてもよい。証明書は、別のメッセージあるいは交換メッセージとして送信されてもよい。
また、ユーザアカウントデータを有するメッセージは、以下に示すXML要素を含んでいてもよい。
本発明の実施形態では、アクセス制御リスト(ACL)が用いられてもよい。アクセス制御リストは、画像処理装置のユーザ、画像処理装置のリソース、および/または、リモートアプリケーションの各々の許可についての情報を含んでいてもよい。リモートアプリケーション(例えば、後述する外部権限など)は、上記アクセス制御リストを管理して、それをネットワーク上の複数の画像処理装置に提供することができる。外部権限または他のアプリケーションは、画像処理装置からのAuthenticate()要求に応じて、あるいは、画像処理装置に送信されたEnableDevice()要求におけるパラメータとして、上記アクセス制御リストを返す。外部権限は、上記Authenticate()要求を上記画像処理装置から受信しない場合は、EnableDevice()要求を送信してもよい。ユーザが操作パネルインターフェースからジョブを開始すると、画像処理装置は、上記Authenticate()要求を送信できない。アクセス制御リストの応答メッセージは、要求されたアカウントを使用可能あるいは使用不可能にするという、画像処理装置特性に対する命令を含んでいてもよい。アクセス制御リストの要素なしで、上述の方法が成功すると、多機能周辺機器は、上記証明書が有効であるというようにこれを解釈して、すべての特性をユーザが利用できるようにする。エラーが発生した場合には、上記多機能周辺機器は、エラー要素を、要求アプリケーションに返す。
また一般的には、上記方法は、画像処理装置および外部権限アプリケーションのみが用いる。画像処理装置は、上記方法のうち、クライアント側の処理を実行して、証明書およびパラメータとしてのジョブIDデータタイプを取得する。上記要求の目的は、外部権限が、ユーザ証明書を認証して、画像処理装置の特性へのアクセスを許可したり、禁止したりできるようにすることである。上記方法は、画像処理装置と登録された外部権限アプリケーションとの間の排他的利用のために準備されている。上記アプリケーションが、上記方法のうちサーバ側の処理を実行し、一方、画像処理装置が、クライアント側の処理を実行する。
本実施形態では、管理者レベルの証明書または他の資格を持つアプリケーションが、イベントをグローバルベースで予約できるようにしてもよい。これにより、例えば、予約の度にジョブチケットを発行する必要がなくなる。このタイプの予約では、有効期限がない。上記実施形態では、ある特定の状態が画像処理装置に発生することにより、イベントが起こる。上記グローバル予約のタイプは、課金アプリケーションや外部権限アプリケーションなどのアプリケーションによって用いられる。上述の各アプリケーションは、特定のタイプのイベントを予約して、ジョブまたはジョブチケットが画像処理装置上で実行されていて、実際にある状態になったときに、画像処理装置から通知を受信することができるものである。上記実施形態では、イベントの予約に有効期限がない。一般的には、イベントのグローバル予約は、アプリケーションがネットワーク上から利用可能な画像処理装置を検知したときに行うのが最もよい。
本発明の実施形態では、画像処理装置は、排他的決定の役割を担う「外部権限」アプリケーションの監督の下で動作するよう設定されていてもよい。「外部権限」アプリケーションとは、画像処理装置上の処理を監視あるいは制御するアプリケーションのことである。以上のとおり、外部権限は、利用可能あるいは利用不可能の決定をシステムに対して下すことができる。画像処理装置が上述のようなアプリケーションの制御下で動作する場合は、画像処理装置の特性は、外部権限が利用可能にするまでは、利用不可能なままである。ユーザアカウント証明書が有効であると認められた場合に、利用可能信号が上述のような外部権限アプリケーションより送られる。このタイプのアプリケーションは、与えられた証明書に基づいて、アクセス制御特性を画像処理装置に供給したり、画像処理装置の特定の特性を利用可能にしたり、不可能にしたりすることができる。画像処理装置は、一つの外部権限アプリケーションの制御下でのみ動作するよう設定されていてもよい。外部権限によって動作するよう設定されている場合、画像処理装置は、外部権限アプリケーションによって提供されたジョブ、あるいは、外部権限によって認証されたジョブを実行するのみとなる。
本発明の実施形態では、固有の画像処理装置の制御なしで、つまり、「外部権限」による制御なしで動作するか、「外部権限」の制御下で動作するかのいずれかになるよう設定されてもよい。固有の装置の制御なしで画像処理装置が動作する場合は、画像処理装置のデフォルト設定ではすべての特性が利用可能となる。反対に、外部権限の制御下で動作するよう設定されている場合には、デフォルト設定では、画像処理装置のすべての特性が利用不可能となる。したがって、外部権限アプリケーションは、与えられたユーザの証明書に基づいて、特定の画像処理装置の特性を利用可能にする。
また、画像処理装置は、管理者のみがアクセス可能なアプリケーションを登録するための設定ページを提供してもよい。管理者は、外部権限アプリケーションを設定して、少なくとも以下に示す、多機能周辺機器コアウェブサービス(CoreWS)インターフェースにおける各メソッドを実行する。各メソッドとはすなわち、サーバ側のメソッドである、Hello(),Authenticate(),Authorize()メソッド、および、クライアント側のメソッドである、EnableDevice()である。さらに、以下のメソッドを実行してもよい。すなわち、クライアント側のメソッドとしての、Subscribe()メソッド、サーバ側のメソッドとしての、Event()、および、外部権限アプリケーションが操作パネルの制御を必要としている場合には、クライアント側のメソッドとして、ShowScreen1()要求、および、ShowScreen2()要求などを実行する。
本発明の実施形態では、リモートアプリケーションが、予約SOAP要求メッセージを画像処理装置に送信することにより、イベント通知予約を行ったり、予約を解除したりしてもよい。SOAP要求における「アクション」パラメータは、動作を定義する。「アクション」パラメータの値が、「true」であると評価された場合には、そのSOAP要求は、特定のイベントを予約することを意味しており、そうでなければ、予約解除要求であることを意味する。また、一般的には、リモートアプリケーションは、Trueに設定されたアクションフィールドを持つSubscribe()SOAP要求を送信することにより、イベントを予約してもよい。リモートアプリケーションは、イベント通知の予約を解除するために、falseが設定されたアクションフィールドを持つSubscribe()SOAP要求を再び送信してもよい。
本発明の他の実施形態では、課金サービスなどのアプリケーションは、グローバルベースの特定のイベントを、ジョブチケットの指定を行わずとも予約することができる。このようにすれば、アプリケーション全体と画像処理装置サービスとのやりトリガ簡略されるというメリットがある。
本発明の実施形態では、予約入力の有効期限は、いくつかの要因によって決定される。最も基本的な場合としては、上述したとおり、予約を解除するためのユーザからの特定の要求に応じて、予約リストから予約の記録を削除する場合が挙げられる。イベント予約要求がジョブごとに行われる場合は、ジョブオブジェクトが存在しなくなった時点で自動的に、予約が有効期限切れとなる。
多機能周辺機器コアウェブサービスフレームワークなどのウェブサービスメソッドは、一般的に、ジョブがキャンセルされた場合に、予約データベースにおけるいずれの証明書(references)を削除してもよい。イベントの予約要求がグローバルベースで行われた場合には、予約の記録に有効期限はない。よって、上記多機能周辺機器コアウェブサービスフレームワークは、予約データベースから証明書を削除しない。既知のイベントを最初に予約したアプリケーションに対する、当該予約の記録の削除要求が指定された場合のみ、リストからその記録を削除することがある。予約データベースの記録は、永続的なものではない。このような場合、装置の電源が切れると、すべての記録は消失し、このことは予約元には通知されない。
本発明の実施形態では、画像処理装置は、イベント通知を予約アプリケーションに送信してもよい。上記イベント通知は、画像処理装置の機能、画像処理装置のアプリケーション、および、リモートアプリケーションに関連付けられたイベントをトリガとして開始されてもよい。トリガとなるイベントの例としては、ジョブ生成、ジョブ実行開始、ジョブ実行終了、ジョブキャンセル、ジョブ完了、ジョブ中断、ユーザログイン、ユーザログアウト、および、その他のイベントが挙げられる。
本実施形態の例では、リモートアプリケーションが、CreateJob()メソッドを用いて、新しいジョブを生成するのに成功した場合に、画像処理装置は、ON_JOB_CREATE(ジョブ生成)イベント通知を送信してもよい。リモートアプリケーションが、ExecuteJob()要求を起こして画像処理装置上でジョブの開始を成功させた場合に、画像処理装置は、ON_JOB_EXECUTE(ジョブ実行)イベントを送信してもよい。リモートアプリケーションが、CancelJob()要求を起こした場合に、画像処理装置は、ON_JOB_CANCEL(ジョブキャンセル)イベントを送信してもよい。リモートアプリケーションが、closeJob()要求を起こして画像処理装置上でジョブが失敗なく完了した場合に、画像処理装置は、ON_JOB_CLOSE(ジョブ完了)イベントを送信してもよい。ユーザが、ジョブステータスモードを用いた画像処理装置の操作パネルからジョブを終了させた場合に、画像処理装置は、ON_JOB_ABORT(ジョブ中断)イベントを登録されたアプリケーションに送信してもよい。操作パネルから開始されたジョブが、画像処理装置上で実行を開始した場合に、画像処理装置は、ON_JOB_STARTED(ジョブ実行開始)イベントを予約アプリケーションに送信してもよい。画像処理装置が開始したジョブが、画像処理装置上での実行を停止した場合に、画像処理装置は、ON_JOB_COMPLETED(ジョブ実行終了)イベントを送信してもよい。ジョブの実行停止の理由としては、例えば、ジョブが失敗なく完了したこと、あるいは、ジョブが中止されてエラー状態になったことなどが考えられる。
上記ON_JOB_COMPLETEDイベントは、ジョブが失敗なく完了したこと、あるいは、エラーが出たことなどにより、ジョブが停止したという状態を、登録された予約元に示すものである。さらに、上記ON_JOB_COMPLETEDイベントは、ジョブ設定情報、および、当該ジョブに関する画像処理装置のリソース利用の詳細を示すジョブ結果データ構造を含んでいてもよい。ユーザが操作パネルを用いて画像処理装置からログアウトした場合には、画像処理装置は、ON_USER_LOGOUT(ユーザログアウト)イベントを予約アプリケーションに送信してもよい。ユーザが画像処理装置からのログアウトを実行する一連の処理は、画像処理装置によってさまざまである。ユーザが実際に行うログアウトの動作は、装置ごとに異なっていてもよく、監視アプリケーションはどのようなものでもよい。いずれにしても、監視アプリケーションが、ログオンされていた、画像処理装置とユーザとのセッションは現在は終了しているということを示すON_USER_LOGOイベントを受信する。画像処理装置は、ユーザがログアウトの操作を画像処理装置の操作パネルから行ったときに、または、セッションが時間切れとなったときに、このタイプのイベントを起こす。セッションの時間切れは、ユーザが画像処理装置をそのまま放置していた場合に自動的に起こるものである。
あるいは、画像処理装置は、特定の画像処理装置ハードウェアキーが押下された場合に、通知を送信してもよい。画像処理装置は、ハードウェアキーが押下された場合に、ON_HKEY_PRESSEDイベント通知を予約アプリケーションに通知する。本実施形態では、上記通知は、画像処理装置においてユーザによりE_MFP_KEY_ID_TYPEタイプのキーの中の一つが押下された場合に起こる。上記イベントは、KEY_COPY、KEY_IMGSND、KEY_PRINT、KEY_FAX、KEY_DOC_FILING、KEY_JOB_STATUS、KEY_CLEAR_ALL、KEY_SPECIAL_FUNCTIONS、KEY_CUSTOM_SETTINGS、または、KEY_PROGRAMなどのキーを押下することによって引き起こされる。画像処理装置は、画像処理装置システムの構成要素が動作準備状態になった場合に、ON_SYSTEM_READYイベントを予約アプリケーションに送信してもよい。また、画像処理装置は、紙詰まり、用紙切れなどの画像処理装置における内部システムエラーが起きた場合に、ON_SYSTEM_ERRORイベントを予約アプリケーションに送信してもよい。続いて、上記予約アプリケーションは、GetDeviceStatus()要求を起こすことによって、上述の問題についてさらに詳しい情報を取得することができる。
本発明の他の実施形態では、イベント通知は、予約アプリケーションに送信されるときに、いくつかの情報を含んでいてもよい。イベント通知に付加される上記情報は、<event-data>要素の内部にある多機能周辺機器コアウェブサービスフレームワークによって供給されてもよい。上記要素は2つの部分からなる。1つ目は、ヘッダセグメントである。本実施形態では、ヘッダセグメントには、情報が、イベントのタイプごとに個別に用意されているのではなく、すべてのタイプに共通に用意されている。例えば、ヘッダセグメントは、アカウント情報や、装置情報を含んでいてもよい。上記アカウント情報は、<user-info/>要素で表される。上記装置情報は、<device-info/>要素で表される。上記各要素は、例えば、以下の形式で表現される。すなわち、
<user-info>,<account-id>bplewnia</account-id>,</user-info><device-info uuid=”SN0F21F359-AB84-36D110E6D2F9MNAR-650”>,<serial-number>0F21F359-AB84-36D110E6D2F9</serial-number>,<modelname>AR-650</modelname>,<location>DS Engineering Dept-Japan</location>,<mac_address>90:EF:0F:21:2A:36</mac_address>,<network_address>1.2.3.4</network_address>and</device-info>
である。
上記要素の2つ目は、イベント専用セグメントである。本実施形態では、イベント専用セグメントの内容は、例えば、イベントタイプおよびジョブタイプによってさまざまであってもよい。イベント専用セグメントに含まれる上記情報は、<details/>要素内に含まれている。
本発明の実施形態では、さらに、上記通知メッセージは、さまざまな機構を利用して、複数の方法で予約アプリケーションに送信されてもよい。例えば、以下の通信プロトコルを用いて、イベントメッセージの配信を行うことができる。すなわち、Event()メソッドなどの通知メソッドを利用するSOAP、メッセージ本体が通知内容となる電子メール、予約アプリケーションにイベントデータを配信するためのHTTPの通信機能を用いたHTTP−GETやHTTP_POST、および、シャープ(登録商標)の通知機構である、RAW2.0プロトコルなどである。アプリケーションは、予約の度に、イベント配信機構(delivery mechanism)を指定することもできる。
本発明の実施形態について、図12を参照して説明する。本実施形態では、画像処理装置(IDev)120は、ユーザインターフェース124を備えている。ユーザインターフェース124は、ユーザ入力を受け付けることができ、また、データをユーザに表示することができる。ユーザインターフェース124は、一般にディスプレイを備えている。このディスプレイは、タッチパネルの形態であることが多い。このディスプレイは、データをユーザに表示するために使用される。このデータは、例えば、ユーザIDおよびパスワードなどのユーザ選択、データ入力、形式選択、および、その他の入力を迅速にするための、メニューデータなどである。画像処理装置120は、通信回線122を備えている。この通信回線122としては、一般的なコンピュータネットワーク接続、シリアルケーブル、あるいは、別の実施形態において説明した有線または無線通信回線を用いることができる。通信回線122は、画像処理装置120を、サーバなどの遠隔演算装置(RCD)126a、126bへ接続する。遠隔演算装置126a、126bは、形式やその他のデータなどの文書を記憶するためのものであってもよく、データを画像処理装置120からアクセス可能にするために使用されるものであってもよい。遠隔演算装置RCD126a、126bはまた、画像処理装置120およびそのユーザインターフェース124と情報交換するアプリケーションや、上記の画像処理装置120およびそのユーザインターフェース124に対する入力を受け付けるアプリケーションを実行するものであってもよい。また、実施形態によっては、データベース125が、画像処理装置120および/または遠隔演算装置126a・126bにリンクされていてもよいものもある。また、実施形態によっては、遠隔演算装置126bまたはデータベース125が、インターネット128などの広域ネットワークを介して画像処理装置120に接続されていてもよいものもある。
本発明の実施形態について、図13を参照して説明する。本実施形態では、グローバルなまたはジョブ専用のイベント通知予約を要求および受信可能な予約アプリケーション130として、例えば、課金アプリケーションなどが考えられる。予約アプリケーションは、外部権限アプリケーションであってもよい。外部権限アプリケーションは、特権を有していて、限られた通知リソースにアクセスすることができるものである。また、外部権限アプリケーションは、ジョブ専用ではないグローバル通知にアクセスすることもできる。外部権限アプリケーションは、制限された通知を受信する前に、認証のための証明書を提出するよう求めてもよい。
さらに、本実施形態には、他のリモート予約アプリケーション132Aおよび132Bが含まれていてもよい。リモート予約アプリケーション132Aおよび132Bは、イベント通知予約を、画像処理装置(IDev)136のイベント通知アプリケーション138に要求するものである。リモート予約アプリケーション132Aおよび132Bは、制限のない通知にのみアクセスすることができるようにしてもよい。外部権限アプリケーション、リモートアプリケーション、および、画像処理装置の通知アプリケーションは、SOAPメソッドまたは他のメソッドを用いたネットワーク134を介して、互いに通信可能に接続されている。外部権限アプリケーションおよびリモートアプリケーションは、イベント通知データ転送機構139を指定することができる。イベント通知データ転送機構139は、イベント通知およびそれに関するデータを送信したり、受信したりするものである。一般的な、イベント通知データ転送機構としては、例えば、HTTP Post、電子メール、SOAPメッセージ、および、他の機構が挙げられる。
本発明の実施形態について、図14を参照して説明する。本実施形態では、予約アプリケーションは、画像処理装置の通知アプリケーションに予約要求を送信する(ステップ140)。予約要求は、予約アプリケーションのアドレスやイベントタイプを含んでいる。また、予約要求は、ユーザ証明書やアカウント証明書、および、他のデータを含んでいてもよい。画像処理装置の通知アプリケーションは、予約アプリケーションから上記予約要求を受信する(ステップ142)。そして、通知アプリケーションは、予約アプリケーションIDおよびイベント識別子を予約レコードに記録する(ステップ144)。画像処理装置の通知アプリケーションは、上記予約要求が指定するイベントが発生した場合に、該予約要求が指定する上記予約アプリケーションに、イベント発生を通知するように、自身を設定する(ステップ146)。
さらに、本発明の実施形態では、図15Aに示すとおり、ジョブ専用予約が実行されてもよい。上記実施形態では、予約アプリケーションは、予約アプリケーションのアドレス、イベントタイプ、および、ジョブIDを含む予約要求を画像処理装置の通知アプリケーションに送信する(ステップ150)。画像処理装置の通知アプリケーションは、予約アプリケーションのアドレス、イベントタイプ、および、ジョブIDを含む上記予約要求を上記予約アプリケーションから受信する(ステップ151)。画像処理装置の通知アプリケーションは、予約要求データを予約レコードに記録する(ステップ152)。画像処理装置の通知アプリケーションは、上記ジョブIDによって識別されるジョブの実行中に、上記イベントタイプに記述されたイベントが発生した場合に、当該イベントの発生を、上記予約アプリケーションのアドレスにある予約アプリケーションに通知するように自身を設定する(ステップ153)。ジョブIDは、ジョブチケットを含んでいてもよい。
さらに、本発明の実施形態では、図15Bに示すとおり、他のジョブ専用予約が実行されてもよい。上記実施形態では、予約アプリケーションは、単一の予約要求を画像処理装置の通知アプリケーションに送信する(ステップ154)。画像処理装置の通知アプリケーションは、上記単一の予約要求を受信して、イベントタイプを上記予約アプリケーションに要求する(ステップ155)。予約アプリケーションは、イベントタイプを上記通知アプリケーションに送信する(ステップ156)。通知アプリケーションは、上記イベントタイプを受信すると、予約アプリケーションにジョブIDを要求する(ステップ157)。そして、予約アプリケーションは、ジョブIDを通知アプリケーションに送信する(ステップ158)。通知アプリケーションは、上記予約要求、イベントタイプ、および、ジョブIDを受け取ると、上記ジョブIDによって識別されるジョブの実行中に、上記イベントタイプによって識別されるイベントが発生した場合に、当該イベントの発生を、上記予約アプリケーションに通知するように設定を行う(ステップ159)。
図16に示すとおり、本発明の実施形態では、指定通知配信機構を用いてイベント通知予約を実行してもよい。本実施形態では、予約アプリケーションは、予約アプリケーションのアドレス、イベントタイプ、および、指定した配信機構とともに、予約要求を画像処理装置の通知アプリケーションに送信する(ステップ160)。画像処理装置の通知アプリケーションは、予約アプリケーションのアドレス、イベントタイプ、および、指定された配信機構とともに、上記予約要求を予約アプリケーションから受信する(ステップ162)。画像処理装置の通知アプリケーションは、上記指定された配信機構を含む予約要求データを予約レコードに記録する(ステップ164)。画像処理装置の通知アプリケーションは、イベントタイプに記述されたイベントが発生した場合に、当該イベントの発生を、上記指定された配信機構を用いて、予約アプリケーションのアドレスにある予約アプリケーションに通知するように自身を設定する(ステップ166)。なお、上記予約要求、予約アプリケーションのアドレス、および、指定配信機構は、複数のメッセージにわたって、交換されてもよい。
本発明の他の実施形態について、図17を参照して説明する。上記実施形態では、課金アプリケーションなどの予約アプリケーションは、使用可能な画像処理装置をネットワーク上から検知する(ステップ170)。上記予約アプリケーションは、画像処理装置が通知するために識別することのできる、通知可能なイベントのリストを画像処理装置から取得する(ステップ172)。あるいは、予約アプリケーションは、上記通知可能なイベントを、画像処理装置から供給されるリストによってではなく、他の手段から検知してもよい。例えば、画像処理装置を識別し、該画像処理装置データ専用の外部ソースを検索して、通知可能イベントを検知してもよい。あるいは、通知可能イベントは、さまざまなプロトコルを直接介して、画像処理装置の機能を検知することにより、決定されてもよい。
通知可能イベントが検知されると、予約アプリケーションは、予約要求を画像処理装置の通知アプリケーション送信する(ステップ174)。上記予約要求または関連メッセージは、通知を送信する宛先である予約アプリケーションのアドレスを含んでいてもよい。あるいは、画像処理装置から取得した通知可能イベントから選択された1または複数のイベントタイプを含んでいてもよい。あるいは、画像処理装置の通知アプリケーションがジョブを識別するためのジョブIDを含んでいてもよい。画像処理装置の通知アプリケーションは、予約アプリケーションのアドレス、イベントタイプ、および、ジョブID(ジョブ専用予約の場合は)を含む予約要求および関連メッセージを、予約アプリケーションから受信する(ステップ176)。画像処理装置の通知アプリケーションは、予約要求および関連データを予約レコードに記録する(ステップ178)。画像処理装置の通知アプリケーションは、イベントタイプに記述されたイベントが発生した場合に、当該イベントの発生を、予約アプリケーションのアドレスにある予約アプリケーションに通知するように自身を設定する(ステップ179)。さらに、ジョブ専用通知の場合には、ジョブIDによって識別されるジョブの実行中に、イベントが起こったときにのみ、上記通知が行われるようにしてもよい。
本発明の実施形態では、通知予約の際にアクセス制御を行ってもよい。上記実施形態では、予約アプリケーションは、予約が許可される前に、証明書を提出する必要がある。あるいは、一部の特定の予約のみ証明書を提出するようにしてもよい。
本発明の実施形態について、図18を参照して説明する。上記実施形態では、予約アプリケーションは、証明書を含む予約要求を、画像処理装置の通知アプリケーションに送信する(ステップ180)。そして、画像処理装置の通知アプリケーションは、上記証明書を含む予約要求を受信する(ステップ182)。上記証明書が受信されると、通知アプリケーションは、証明書を認証する(ステップ184)。そして、通知アプリケーションは、上記予約要求を拒否するか(ステップ186)、予約を許可するか(ステップ188)を決定する(ステップ185)。証明書の認証に成功した場合、かつ、ユーザ/アカウントが、要求された通知の受け取りを許可された場合は、上記予約要求は受け付けられる(ステップ188)。
本発明のさらなる実施形態について、図19を参照して説明する。上記実施形態では、予約アプリケーションは、通知予約を通知アプリケーションに要求する(ステップ190)。通知アプリケーションは、上記要求を受信する(ステップ191)。上記要求が制限される場合に、その要求に証明書が含まれていないときは、通知アプリケーションは、予約アプリケーションに証明書を要求してもよい(ステップ192)。予約アプリケーションは証明書を送信し(ステップ193)、通知アプリケーションは、証明書を受信する(ステップ194)。通知アプリケーションは、証明書を認証し(ステップ195)、認証対象のユーザ/アカウントに、要求された通知の受け取りを許可してもよいことを確認する。上記確認に基づいて、通知アプリケーションは、予約を拒否するか(ステップ197)、予約を許可するか(ステップ198)を決定することができる(ステップ196)。
本発明の他の実施形態について、図20を参照して説明する。上記実施形態では、予約アプリケーションは、証明書を含む予約要求を画像処理装置の通知アプリケーションに送信する(ステップ200)。画像処理装置の通知アプリケーションは、上記証明書を含む予約要求を受信して(ステップ201)、上記証明書を認証アプリケーションに送信する(ステップ202)。そして、認証アプリケーションは、上記証明書を認証する(ステップ203)。認証アプリケーションは、上記認証処理の結果を通知アプリケーションに通知する。通知アプリケーションは、認証に失敗した場合は、上記予約を拒否する(ステップ204)。認証に成功した場合は、認証アプリケーションは、認証メッセージを通知にアプリケーションに送信して(ステップ206)、通知アプリケーションは、上記予約要求を受け付ける(ステップ208)。
本発明の他の実施形態について、図21を参照して説明する。上記実施形態では、画像処理装置の通知アプリケーションに、予約要求を送信する(ステップ210)。画像処理装置の通知アプリケーションは、予約アプリケーションに証明書を要求する(ステップ211)。そして、予約アプリケーションは、証明書を通知アプリケーションに送信する(ステップ212)。通知アプリケーションは、上記証明書を認証アプリケーションに証明書を送信する(ステップ213)。認証アプリケーションは、証明書を認証する(ステップ214)。認証アプリケーションは、通知アプリケーションに認証結果を送信する(ステップ215)。上記認証結果に基づいて、通知アプリケーションは、上記予約を拒否するか(ステップ217)、あるいは、予約を許可する(ステップ218)。
本発明のさらなる実施形態について、図22を参照して説明する。上記実施形態では、予約アプリケーションは、証明書を含む予約要求を画像処理装置の通知アプリケーションに送信する(ステップ220)。画像処理装置の通知アプリケーションは、上記予約要求および証明書を受信する(ステップ221)。そして、上記予約要求が認証用の証明書を要求しているタイプであるか否かを判定する(ステップ222)。本実施形態では、上記タイプの予約要求は、課金アプリケーションなどの外部権限アプリケーションからのグローバル予約の要求を含んでいてもよいし、保護されたジョブを要求する予約要求を含んでいてもよい。上記予約要求が制限されており、かつ、認証用の証明書を要求する場合は、通知アプリケーションは、証明書を認証する(ステップ224)。認証が失敗した場合、あるいは、ユーザ/アカウントが、要求された通知の受け取りを承認されなかった場合は(ステップ226においてNO)、上記予約要求を拒否する(ステップ229)。認証が成功した場合は(ステップ226においてYES)、上記予約要求は、許可される(ステップ228)。一方、上記予約要求が制限されておらず、かつ、認証用の証明書を要求しない場合は(ステップ222においてNO)、上記予約要求は、証明書の処理を行わずとも許可される(ステップ228)。
本発明の他の実施形態について、図23を参照して説明する。上記実施形態では、予約アプリケーションは、証明書を含む予約要求を、画像処理装置の通知アプリケーションに送信する。そして、通知アプリケーションは、証明書を含む予約要求を、予約アプリケーションから受信する。(ステップ230)。画像処理装置の通知アプリケーションは、上記予約要求が認証用の証明書を必要とするタイプであるか否かを判定する(ステップ232)。上記予約要求が認証用の証明書を要求する場合は、通知アプリケーションは、証明書を認証アプリケーションに送信する(ステップ233)。認証アプリケーションは、上記証明書を認証する(ステップ234)。通知アプリケーションは、上記認証処理の結果を分析して、認証が失敗した場合、あるいは、ユーザ/アカウントが、要求された通知の受け取りを承認されなかった場合は(ステップ235においてNO)、上記予約要求を拒否する(ステップ237)。認証が成功した場合、あるいは、ユーザ/アカウントが、要求された通知の受け取りを承認された場合は(ステップ235においてYES)、通知アプリケーションは、上記予約要求を受け付ける(ステップ236)。一方、上記予約要求が制限されておらず、かつ、証明書を要求しない場合は(ステップ232においてNO)、上記予約要求は、証明書の処理を行わずとも許可される(ステップ236)。
本発明のさらなる実施形態について、図24を参照して説明する。上記実施形態では、予約アプリケーションは、予約要求を画像処理装置の通知アプリケーションに送信する(ステップ240)。画像処理装置の通知アプリケーションは、上記予約要求を受信する(ステップ241)。そして、通知アプリケーションは、上記予約要求が認証用の証明書を要求するタイプであるか否かを判定する(ステップ242)。上記予約要求が認証用の証明書を要求する場合は、通知アプリケーションは、証明書を予約アプリケーションに要求する(ステップ243)。予約アプリケーションは、証明書を通知アプリケーションに送信する(ステップ244)。そして、通知アプリケーションは、上記証明書を受信する(ステップ245)。通知アプリケーションは、上記証明書を認証する(ステップ246)。通知アプリケーションは、上記認証処理の結果を分析して、認証が失敗した場合、あるいは、ユーザ/アカウントが、要求された通知の受け取りを承認されなかった場合は(ステップ247においてNO)、上記予約要求を拒否する(ステップ249)。また、認証が成功した場合、かつ、ユーザ/アカウントが、要求された通知の受け取りを承認された場合は(ステップ247においてYES)、上記予約要求を許可する(ステップ248)。一方、上記予約要求が制限されておらず、かつ、証明書を要求しない場合は(ステップ242においてNO)、上記予約要求は、証明書の処理を行わずとも許可される(ステップ248)。
本発明の他の実施形態について、図25を参照して説明する。上記実施形態では、予約アプリケーションは、予約要求を画像処理装置の通知アプリケーションに送信する(ステップ250)。画像処理装置の通知アプリケーションは、上記予約要求を受信する(ステップ251)。そして、通知アプリケーションは、上記予約要求が、認証用の証明書を要求するタイプであるか否かを判定する(ステップ252)。上記予約要求が認証用の証明書を要求する場合は、通知アプリケーションは、証明書を予約アプリケーションに要求する(ステップ253)。通知アプリケーションは、予約アプリケーションから上記証明書を受信すると(ステップ254)、上記証明書を認証アプリケーションに送信する(ステップ255)。認証アプリケーションは、上記証明書を認証する(ステップ256)。そして、認証結果を通知アプリケーションに送信する。通知アプリケーションは、上記認証処理の結果を分析して、認証が失敗した場合、あるいは、ユーザ/アカウントが、要求された通知の受け取りを承認されなかった場合は(ステップ257においてNO)、上記予約要求を拒否する(ステップ259)。また、認証が成功した場合、かつ、ユーザ/アカウントが、要求された通知の受け取りを承認された場合は(ステップ257においてYES)、上記予約要求を許可する(ステップ258)。一方、上記予約要求が制限されておらず、かつ、証明書を要求しない場合は(ステップ252においてNO)、上記予約要求は、証明書の処理を行わずとも許可される(ステップ258)。
本発明のさらなる実施形態は、イベント通知のシステムおよび方法を含んでいてもよい。さらに上記実施形態の通知は、グローバル通知とジョブ専用通知とがあってもよい。さらに、指定された配信機構によって通知が行われるようにしてもよい。
本発明の実施形態について、図26を参照して説明する。上記実施形態では、画像処理装置の通知アプリケーションは、特定のイベントが発生したことを検知する(ステップ260)。画像処理装置の通知アプリケーションは、予約レコードに上記イベントが記録されているか否かをチェックする(ステップ262)。上記特定のイベントが予約レコードに記録されていない場合は、画像処理装置の通知アプリケーションは、通知を送らないことを決定する(ステップ266)。あるいは、上記特定のイベントが予約レコードに記録されていた場合は、通知アプリケーションは、特定のイベントの通知をいずれかの予約アプリケーションに送信する(ステップ268)。予約アプリケーションは、イベントの通知を通知アプリケーションから受信する(ステップ269)。
本発明の他の実施形態について、図27を参照して説明する。上記実施形態では、画像処理装置の通知アプリケーションは、特定のイベントが発生したことを検知する(ステップ270)。画像処理装置の通知アプリケーションは、予約レコードに上記イベントが記録されているか否かをチェックする(ステップ271)。上記特定のイベントが予約レコードに記録されていない場合は、画像処理装置の通知アプリケーションは、通知を送らないことを決定する(ステップ273)。あるいは、上記特定のイベントが予約レコードに記録されていた場合は、通知アプリケーションは、上記予約がグローバル予約か、ジョブ専用予約かをチェックする(ステップ274)。上記予約がグローバル予約である場合には、通知アプリケーションは、上記イベントの通知を予約アプリケーションに送信する。
上記予約がジョブ専用予約である場合には、通知アプリケーションは、ジョブがイベントの時間に実行中であったか否かをチェックする(ステップ276)。上記ジョブがイベントの時間に実行中でなかった場合、ジョブ専用予約は有効でないとして、通知アプリケーションは、イベントの通知を送らないことを決定する(ステップ278)。上記ジョブがイベントの時間に実行中であった場合、通知アプリケーションは、特定のイベントの通知を予約アプリケーションに送信する(ステップ279)。予約アプリケーションは、イベントの通知を通知アプリケーションから受信する(ステップ280)。なお、通知アプリケーションは、ジョブが実行中であるか否かを、ジョブチケットの方法を用いて判定してもよい。上記方法によれば、ジョブチケットは、ジョブ実行中にアプリケーションによって管理されている。ジョブが完了すると、ジョブチケットは削除される。
本発明のさらなる実施形態について、図28を参照して説明する。上記実施形態では、画像処理装置の通知アプリケーションは、特定のイベントが発生したことを検知する(ステップ290)。次に、画像処理装置の通知アプリケーションは、予約レコードに上記イベントが記録されているか否かをチェックする(ステップ291)。上記特定のイベントが予約レコードに記録されていない場合は、画像処理装置の通知アプリケーションは、通知を送らないことを決定する(ステップ293)。上記特定のイベントが予約レコードに記録されていた場合は、通知アプリケーションは、通知のための配信機構がユーザによって指定されているか否かをチェックする(ステップ294)。通知のための配信機構が、ユーザによって指定されている場合は、通知アプリケーションは、ユーザによって指定された配信機構を用いて、イベントの通知を予約アプリケーションに送信する(ステップ297)。通知のための配信機構が、ユーザによって指定されていない場合は、通知アプリケーションは、デフォルトの配信機構を使用して、イベントの通知を予約アプリケーションに送信する(ステップ296)。通知メッセージが送信されると、予約アプリケーションは、イベントの通知を、デフォルトの、あるいは、指定された配信機構を介して、通知アプリケーションから受信する(ステップ298)。
本発明のさらなる実施形態について、図29を参照して説明する。上記実施形態では、画像処理装置の通知アプリケーションは、特定のイベントが発生したことを検知する(ステップ300)。次に、画像処理装置の通知アプリケーションは、予約レコードに上記イベントが記録されているか否かをチェックする(ステップ301)。そして、上記特定のイベントが予約レコードに記録されていない場合は、画像処理装置の通知アプリケーションは、通知を送らないことを決定する(ステップ303)。上記特定のイベントが予約レコードに記録されている場合は、通知アプリケーションは、予約がグローバルか、ジョブ専用のものかをチェックする(ステップ304)。
上記予約がグローバルであった場合、通知アプリケーションは、通知のための配信機構が指定されているか否かをチェックする(ステップ309)。一方、上記予約がジョブ専用であった場合、通知アプリケーションは、ジョブがイベントの時間に実行中であったか否かをチェックする(ステップ306)。上記ジョブがイベント発生時に実行中でなかった場合(ステップ307においてNO)、通知アプリケーションは、通知を送信しないことを決定する(ステップ308)。一方、上記ジョブがイベント発生時に実行中であった場合(ステップ307においてYES)、通知アプリケーションは、通知のための配信機構が指定されているか否かをチェックする(ステップ309)。上記通知のための配信機構が指定されている場合は、通知アプリケーションは、指定された配信機構を用いて、イベントの通知を予約アプリケーションに送信する(ステップ312)。上記配信機構が指定されていなかった場合は、通知アプリケーションは、デフォルトの配信機構を用いて、イベントの通知を予約アプリケーションに送信する(ステップ311)。通知が送信されると、予約アプリケーションは、上記指定された配信機構を介して、あるいは、デフォルトの配信機構を介して、イベントの通知を通知アプリケーションから受信する(ステップ313)。
(コアウェブサービスフレームワーク)
本発明の実施形態について、図30を参照して説明する。本実施形態は、コアウェブサービスフレームワーク(CWSF)350を備えている。コアウェブサービスフレームワーク350は、多機能周辺機器などの画像処理装置上でウェブサービスを構築し、展開し、実行するためのプラットフォームを備えている。例えば、分散型ネットワークアプリケーションを構築するためのスタンダードベースの多言語実行環境などが挙げられる。各アプリケーションは、画像処理装置上で実行する処理を制御することができる。
本実施形態では、コアウェブサービスフレームワーク350は、画像処理装置ハードウェア320に接続されている、ハードウェアインターフェース(HWIF)326を備えていてもよい。ハードウェアインターフェース326は、ハードウェア専用の特定のプラットフォームと、コアウェブサービスフレームワーク350との間に設けられる。標準化されたハードウェアインターフェース326によって、コアウェブサービスフレームワーク350は、インターフェース標準に準拠する、複数の画像処理装置ハードウェア320
と通信することが可能となる。
ハードウェアインターフェース326は、コアウェブサービスフレームワーク350をホストとして画像処理装置から情報を集約するためのものである。ハードウェアインターフェース326は、コアウェブサービスフレームワーク350が、画像処理装置ハードウェア320の動作中の構成要素と通信するときに用いるAPI依存型の装置の集合を含んでいてもよい。一方、ハードウェアインターフェース326は、特定のプラットフォームのハードウェア構成要素を制御するための装置専用操作を実行することができる。以上のように、ハードウェアインターフェース326は、動作中のハードウェアアーキテクチャと、コアウェブサービスフレームワーク350とのやりとりを媒介する。
ハードウェアインターフェース326は、さらに、状態監視モジュール(SMM)330を介してコアウェブサービスフレームワーク350が受信する通知の送信元として機能してもよい。上記通知は、コールバック手段の呼び出しによって、状態監視モジュール330を介してコアウェブサービスフレームワーク350に伝送される。例えば、これに限定されないが、ハードウェアインターフェース326は、開始通知コールバックの送信元として動作してもよい。開始通知コールバックは、装置がジョブの実行を開始しようとするときに発送される。また、ハードウェアインターフェース326は、完了通知コールバックの送信元として機能してもよい。完了通知コールバックは、ジョブが完了したときに発送される。ハードウェアインターフェース326は、状態変更通知コールバックの送信元として機能してもよい。状態変更通知コールバックは、ジョブの状態が変更された場合に発送される。ハードウェアインターフェース326は、ページ通知コールバックの送信元として機能してもよい。ページ通知コールバックは、ページが読み込まれるとき、あるいは、印刷されるときに発送される。
本実施形態では、コアウェブサービスフレームワーク350は、システムアーキテクチャレイヤー(SAL)324を含んでいてもよい。システムアーキテクチャレイヤー324は、高水準アプリケーション要求を、ハードウェアインターフェース326レベルのジョブタイプ専用の一連の要求へと翻訳する役割を担っている。これにより、アプリケーションは、複雑さを意識しないで済む。システムアーキテクチャレイヤー324は、小さな一連の単純操作を一まとめにして、高水準の機能にすることもできる。また、システムアーキテクチャレイヤー324は、ハードウェアインターフェース326に、論理的接続することができる。また、システムアーキテクチャレイヤー324は、ハードウェアインターフェース326に、通知コールバックのセットを登録することができる。また、ジョブ実行中にある状態が発生すると、システムアーキテクチャレイヤー324は、対応する通知をハードウェアインターフェース326から受信してもよい。あるいは、システムアーキテクチャレイヤー324は、イベント通知の送信元として機能してもよい。本実施形態では、一例として、システムアーキテクチャレイヤー324は、On_Job_Started(ジョブ実行開始)通知および/またはOn_Job_Completed(ジョブ実行終了)通知を発送する。
本発明の実施形態におけるアーキテクチャは、ジョブの概念に基づいている。実際の装置の能力および装置アーキテクチャに応じて、1以上のジョブが同時に画像処理装置上で実行可能である。例えば、これに限定されないが、例えば、他のクライアントが印刷ジョブを要求する間に、ユーザは、スキャンジョブを実行することもできる。同時に、他のユーザは、ファックスメッセージを受信して、管理アプリケーションは、画像処理装置のジョブの監視を行うことも可能である。本発明の実施形態では、上述のすべてのジョブを同時に実行できるものとする。各々のジョブは、ジョブオブジェクトによって表される、一意に識別可能な識別子によって識別可能だからである。
上記動的ジョブ環境を制御するためのコアウェブサービスフレームワーク350内部の機構は、ジョブキューマネージャ(JQM)328と呼ばれる。ジョブキューマネージャ328は、当該システムによって処理されるジョブを管理するものである。上記各ジョブは、ユーザが画像処理装置上で実行する処理に関連付けられたジョブオブジェクトによって表されてもよい。あるいは、各ジョブは、ジョブ識別子(ジョブID)によって表されてもよく、ジョブIDは、各ジョブ設定、ジョブ結果、および、アクセス制御リスト(ACL)に関連付けられている。アクセス制御リストは、通知予約アプリケーションによるジョブ情報へのアクセスについての詳細な情報を含んでいてもよい。ジョブキューマネージャ328は、各ジョブオブジェクトを、当該ジョブオブジェクトが有効期限中存在する間管理すればよい。ジョブキューマネージャ328は、ジョブオブジェクトを生成する機能、ジョブオブジェクトを破棄する機能、ジョブ設定を管理する機能、ジョブのユーザに関連付けられたセキュリティデータを保護する機能、ジョブ記述やジョブ状態を保護する機能、および、その他の機能を実行することができる。
ジョブキューマネージャ328は、イベント通知の送信元として機能してもよい。本実施形態では、例えば、ジョブキューマネージャ328は、On_Job_Create(ジョブ生成)通知、On_Job_Execute(ジョブ実行)通知、On_Job_Close(ジョブ完了)通知、On_Job_Cancel(ジョブキャンセル)通知、および、他のイベント通知を送信してもよい。
ジョブキューマネージャ328は、ジョブオブジェクトデータベース(DB)325を管理してもよい。ジョブオブジェクトデータベース325は、画像処理装置、または、関連ハードウェアやアプリケーション上で実行中のジョブを管理するデータベースである。ジョブオブジェクトデータベース325は、実行履歴ジャーナルを含んでいてもよい。実行履歴ジャーナルは、装置の電源がOFFになって他のジョブ情報が失われたとしても、電源のON/OFFに関係なく記録として残る。
本実施形態では、コアウェブサービスフレームワーク350は、状態監視モジュール(SMM)330を備えていてもよい。状態監視モジュール330は、装置の状態、あるいは、装置上で実行されるジョブの状態を監視するものである。状態監視モジュール330は、装置およびジョブの状態の変化を監視する。また、状態監視モジュール330は、ハードウェアインターフェース326に、通知コールバックの集合を登録してもよい。状態監視モジュール330は、ジョブキューマネージャ328または通知モジュール332に対して、ジョブや装置の状態の変化、あるいは、その他の情報を通知する。状態監視モジュール330は、On_System_Error(システム実行中エラー)通知の送信元として機能してもよい。
コアウェブサービスフレームワーク350は、通知モジュール332を備えていてもよい。通知モジュール332は、コアウェブサービスフレームワーク350内のあらゆる送信元からイベント通知を受信する。通知モジュール332は、画像処理装置内部イベントを示す信号、もしくは、画像処理装置ハードウェア320、コアウェブサービスフレームワーク350の各モジュールまたはリモートOSAアプリケーション346などにおいて発生するイベント、または、その他イベントの通知を受信する。通知を受信すると、通知モジュール332は、イベントデータメッセージを生成するためにジョブキューマネージャ328と通信する。また、通知モジュール332は、イベントの通知を受信するよう登録された予約があるか否かを確認するために、予約マネージャ338と通信を行ってもよい。ひとつでも登録された予約が見つかると、通知モジュール332は、その予約元にイベント通知データを配信する準備を行う。予約元が特定の通知メソッドを指定していた場合は、通知モジュール332は、予約要求時あるいは他のタイミングで予約元が指定した転送プロトコルを用いて通知を配信する準備を行う。
また、コアウェブサービスフレームワーク350は、ユーザインターフェースプロセッサ334を備えていてもよい。ユーザインターフェースプロセッサ334は、コアウェブサービスフレームワーク350と、画像処理装置のフロントパネル322とを仲介する。ユーザインターフェースプロセッサ334は、フロントパネル322に、ユーザインターフェースの内容を供給する。ユーザインターフェースの内容とは、ユーザに入力を促すためのプロンプト、および、当該画像処理装置、コアウェブサービスフレームワークのモジュール、あるいは、リモートアプリケーションなどの状態をユーザに通知するための情報などのことである。ユーザインターフェースプロセッサ334は、また、フロントパネル322を介して入力されるユーザ入力信号を受け付けて、その入力信号を画像処理装置ハードウェア320、コアウェブサービスフレームワーク350モジュール、または、リモートOSAアプリケーション346に伝達する。また、ユーザインターフェースプロセッサ334によって、リモートOSAアプリケーション346は、XHTMLなどの工業規格のマークアップ言語を用いてフォームを定義されたアプリケーション専用画面を表示することが可能となる。さらに、ユーザインターフェースプロセッサ334は、On_Hkey_Pressed通知、On_User_Logout通知、あるいは、その他の通知などのイベント通知の送信元として機能してもよい。
コアウェブサービスフレームワーク350の核として機能するのが、ウェブサービスモジュール(WSM)336である。ウェブサービスモジュール336は、シンプルオブジェクトアクセスプロトコル(SOAP;Simple Object Access Protocol)のインターフェースを画像処理装置に供給する。リモートOSAアプリケーション346は、SOAPインターフェースメソッドの集合を介してウェブサービスモジュール336を利用して、ユーザインターフェースとしてのフロントパネル322を備える画像処理装置ハードウェア320を制御する。リモートOSAアプリケーション346は、ウェブサービスモジュール336を介して、コアウェブサービスフレームワーク350の各モジュールにアクセスしたり、および/または、報告を行ったりする。
ウェブサービスモジュール336の一例を図31に示す。本実施形態では、リモートアプリケーションとしては、例えば、セキュリティアプリケーション351、高階権限(higher authority)アプリケーション352、または、その他のアプリケーション(354)などが挙げられる。これらのリモートアプリケーションは、ネットワーク356などの通信接続を介して、画像処理装置のウェブサービスモジュール364に接続している。本実施形態では、ウェブサービスモジュール364と、外部アプリケーション(351〜354)との間に、SOAPインターフェースを仲介させている。リモートクライアントアプリケーション(351〜354)が、SOAP要求を画像処理装置宛てに生成する場合は、ウェブサービスモジュール364が、要求を表すマークアップ言語(例えば、XML)データを、装置が処理可能なバイナリデータへと翻訳する役割を担う。ウェブサービスモジュール364は、また、バイナリデータを適切なマークアップ言語に翻訳して、上記リモートクライアントに返してもよい。
本実施形態では、ウェブサービスモジュール364は、リモートクライアント(351〜354)から受信した、入力マークアップ言語のストリームを照合したり、その正当性を検証したりしてもよい。上記のデータ正当性検証は、SOAPインターフェース用の文書を定義するウェブサービス定義言語(WSDL;Web Service Definition Language)で記述された規則にしたがって実行される。ウェブサービスモジュール364は、クライアントのSOAP要求を処理している間に、誤りを伝えるメッセージとして、順番に並べたエラー情報を返してもよい。
セキュアモードで処理を実行する場合、ウェブサービスモジュール364、336は、要求が認証された正規の送信元から送信されたものであること、および、該要求を生成したユーザは、その要求を生成する正当な権利を有していることを確認する役割を担っていてもよい。ウェブサービスモジュール364、336は、また、ユーザとのセッション管理を行ってもよい。
本実施形態では、コアウェブサービスフレームワーク350は、予約マネージャ338を備えていてもよい。予約マネージャ338は、予約データベース335を管理するものである。予約データベース335には、イベント予約を行う予約元のデータが記録されている。
あるいは、コアウェブサービスフレームワーク350は、XMLライブラリ340などのマークアップ言語ライブラリを備えていてもよい。XMLライブラリ340は、ユーティリティコードライブラリを含んでいてもよい。XMLライブラリ340は、XMLコンテンツを管理するための機能を供給する。上記各機能は、XMLデータを解析および/または生成するのに用いられる。
また、コアウェブサービスフレームワーク350は、イベント配信モジュール(EDM)342を備えていてもよい。イベント配信モジュール342は、イベント通知メッセージを予約元に配信するものである。イベント配信モジュール342は、例えば、予約データベース335に記録されている、予約元プリファレンスにアクセスすることができる。上記予約元のデータは、通知を配信するための配信機構を選択するのに利用される。
本明細書中において使用されている用語および表現は、内容を説明するためのものであって本発明の技術範囲を限定するものではない。また、これらの用語および表現は、図示および説明されている本発明の特徴あるいはその一部に関して差異をつけることを意図したものではない。つまり、本発明の範囲は、特許請求の範囲に記述された各請求項以外の何ものによっても定義し限定されるものではない。
したがって、本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、上述した実施形態において開示された各技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。