ここで図面を参照する。図面では、各図を通じて同様の参照符号は同一または対応する部分を示す。より具体的には、図面のうち図1を参照する。図1は、本部オフィス511および該本部オフィス511からリモートな支部オフィス510を含む典型的な構成が示されている。支部オフィス510は支部オフィスMFP500およびいくつかの支部オフィス・パーソナル・コンピュータ(PC)501〜502を含む。ネットワークを介して本部オフィス511が接続されている。本部オフィス511はGlobalScan〔グローバルスキャン〕(商標)サーバー504、本部オフィスMFP505および本部オフィスPC506を含む。また、本部オフィス511および支部オフィスの外部に、文書モール(document mall)・サーバー503が含まれている。
本発明のある実施形態は、MFP500上の組み込み機能と外部機能両方のシームレスな統合を可能にする。組み込み機能とは、MFP上にインストールされ、MFP上でローカルに実行される機能である。組み込み機能はプラグインを使って実装できる。外部機能とは、その機能を実行するためにglobalscanサーバーのような外部サーバーを利用する機能である。MFPはスキャン、印刷および/またはファクスといった複数の機能を含む任意のプリンタまたはコピー機である。さらに、スキャンと印刷は異なる機能だが、上記のMFPは、単一コマンドに反応して文書をスキャンおよび印刷するコピー機を含みうる。
MFPの組み込み機能は次のように構成される。図2は、統一クライアント・アプリケーション(unified client application)5を含む、MFPのアプリケーション層を示している。MFP上にインストールされた統一クライアント・アプリケーション5はコア・アプリケーション6を含む。コア・アプリケーションとは、前記アプリケーションにサービスする主要な諸ルーチンを含むアプリケーションである。これらの主要な諸ルーチンは典型的にはMFPの基本機能を実行する。基本機能とはたとえばスキャン、印刷、コピー、ファクスおよび通信を含む。コア・アプリケーション6の下には、アクティブ化(activation)マネージャ6bが含まれる。アクティブ化マネージャとは、統一クライアント・アプリケーションのうち、諸機能および対応するサービスのアクティブ化状態を判別する部分である。さらに、アクティブ化マネージャ6bは、該アクティブ化状態の判別に基づいて、config.xmlファイル7を生成する。この構成設定ファイル(configuration file)は、XML、標準汎用マークアップ言語(SGML)、GML、RDF/XML、RSS、Atom、MathML、XHTML、SVG、DSDL、XUL、MXML、EADまたはKlipのような拡張可能なマークアップ言語を含め、いかなる種類の構成設定ファイルでもよい。
ある実施形態によれば、前記構成設定ファイルは、混合ブランド環境で使われることができることも注意しておくべきであろう。たとえば、いくつかの異なるブランドのコピー機がオフィスまたは建物といった環境で使われていたとしても、それぞれの独自のブランドは前記構成設定ファイルを利用できる。さらに、異なるMFPのそれぞれは統一クライアント・アーキテクチャおよび組み込み機能をロードできてもよい。こうして、コピー機または多機能デバイスのそれぞれは、同じ基本的なインターフェースおよびコマンドをもつことができ、それは問題となる個々のコピー機または多機能プリンタの機能のみによって制限される。ある代替的な実施形態によれば、異なるメーカーまたはモデルは異なる構成設定ファイルを使うことができる。
アクティブ化マネージャ6bは、MFP上にインストールされた任意の組み込み機能またはMFPによって操作可能な任意の外部機能をアクティブ化または非アクティブ化する能力を提供する。結果として、あらゆる利用可能な組み込み機能が、工場でMFP上にプレインストールされることができる。ユーザーがMFPの配達を受けるとき、MFPは組み込み機能のいくつかがアクティブ化されていてもよいし、組み込み機能のどれもアクティブ化されていなくてもよい。組み込み機能のどれもアクティブ化されていない場合、ユーザーは、必要が生じたときなど、適宜組み込み機能をアクティブ化できる。
種々の種類のアクティブ化方式も利用可能である。たとえば、ユーザーは、組み込み機能または外部機能を限られた時間、試行ベースでアクティブ化できてもよい。あるいはまた、ユーザーは、組み込み機能または外部機能の使用を、一回限りの使用または週ぎめまたは月ぎめのような時間ベースの使用のために購入、リースまたはライセンスすることができてもよい。これは、納税シーズンの間などといった一年のある時期の間に高い需要がある組織にとっては有用でありうる。
さらに、アクティブ化マネージャはMFP上で種々の料金オプションを使えるようにする。たとえば、ユーザーは組み込み機能または外部機能の使用のために月ごとの利用料を支払ってもよい。ユーザーがその組み込み機能または外部機能をもはや必要としなくなったときは、アクティブ化マネージャ6bを使って中央サーバーを介して使用を停止できる。さらに、組み込み機能または外部機能は期限日時に基づいてアクティブ化解除できる。たとえば、ユーザーはある組み込み機能または外部機能の6か月の利用を購入することができ、ひとたび6か月が満了するとその組み込み機能または外部機能はアクティブ化解除されることができる。
さらに、ユーザーが組み込み機能または外部機能をアクティブ化できる立場にある場合(ユーザーが金銭上の意思決定権を有するなど)、アクティブ化マネージャ6bは、ユーザーが、種々の方法で組み込み機能または外部機能をアクティブ化できるようにする。たとえば、MFPに取り付けられたデバイスを使って、そのユーザーがアクティブ化を購入する権限があるかどうかが検証できる。購入/アクティブ化を可能にするために、スマートカード、バイオメトリクス、PINコード、磁気ストリップカードまたは非接触式カードのようなデバイスが、既存の他のID検証システムとともに使用できる。
アクティブ化に関しては、ユーザーがいくつかのMFPに対するコントロールを有する場合、アクティブ化プロセスは、リモートかつ集団的に達成できる。こうして、多数のMFPがリモート・ステーションを使って実質的に同時に組み込み機能または外部機能をアクティブ化させることができる。これは、組織における一様性を可能にし、また、アクティブ化やアクティブ化解除を実行するために各MFPを訪れる必要がないのでかなりの時間を節約もする。
config.xmlファイル7は、アクティブ化情報に加えて統一クライアント・アプリケーション5に関する設定を含む。さらに、組み込み機能8a…8nはコア・アプリケーション6によって制御される。
種々の種類の組み込み機能が統一クライアント・アプリケーション6にインストールできる。たとえば、図2に描かれている今の例では、文書モール(Document Mall)という組み込み機能8a、eCabinetという組み込み機能8bおよび一般的な組み込み機能8nがインストールされている。
文書モールは、安全な(secure)オンライン文書記憶を生成してオンラインの共有ワークスペースを可能にするためのアプリケーションである。文書モールは、オンデマンドの文書管理および文書イメージング・サービスとしてもたらされるウェブ・ベースの文書管理および協働機能にセキュリティを組み合わせる。
同様に、eCabinet(商標)は、多機能プリンタと統合されるネットワーク文書貯蔵所である。eCabinetはユーザーに、文書を取り込んで自動的にインデックス付けする能力を提供し、高速検索と組み合わされたアーカイブのセキュリティを提供する。
組み込み機能は一般に、コア・アプリケーション6を介して多機能プリンタのハードウェアを動作させるプログラムまたはコードを含む。図2に示した統一クライアント・アプリケーション5の代替的な図解が図3に掲げられている。図3には、コア・アプリケーション6、ある例示的な実施形態によればコア・アプリケーションとは別個であるアクティブ化マネージャ6b、アクティブ化情報を含むconfig.xmlファイル7および組み込み機能8が含まれている。該組み込み機能はアクティブ化読み取り部9を含む。
図4は、本発明のある実施形態に基づく組み込み機能8の内部構造の例を示している。たとえば、組み込み機能8は単一のサービス・ウィンドウ10aを含むこともあり、あるいは10a…10nのようないくつかのサービス・ウィンドウを含むこともある。各サービス・ウィンドウ10a…10nは、ユーザーが、該サービス・ウィンドウ10a…10nに対応するサービスとインターフェースをもてるようにするユーザー・インターフェースである。サービス・ウィンドウ10a…10nは、対応するアクティブ化読み取り部15a…15nも含む。アクティブ化読み取り部15a…15nは、サービス・ウィンドウ10a…10nが執行されるときに実行される最初の機能であり、他の何らかの機能が実行される前にそのサービス・ウィンドウがアクティブであるかどうかを確認する。サービス・ウィンドウ10a…10nのさらなる説明は、のちに図12〜図16との関連で論じる。組み込み機能8はまた、単一のサービス・データ11aまたはいくつかのサービス・データ要素11a…11nをも含んでいてもよい。サービス・データ要素11a…11nも、アクティブ化読み取り部16a…16nを含む。サービス・ウィンドウのアクティブ化読み取り部15a…15nに関して上記したように、アクティブ化読み取り部16a…15nは、サービス・データ要素がアクティブ化されていることを保証する。各サービス・ウィンドウ10a…10nは対応するサービス・データ11a…11nを有する。さらに、サービス・ウィンドウのアクティブ化読み取り部15a…15nは、サービス・データ11a…11nのアクティブ化読み取り部16a…16nに対応する。サービス・データ11a…11nは一般に、サービス名、サービスID、サービス・ウィンドウ10a…10nに対応する構成設定データ、デフォルト・サービス・ウィンドウ・データおよびユーザーによってサービス・ウィンドウ10a…10nを通じて入力されるランタイム・データを含む。
組み込み機能8はまた、サービス・データ・ハンドラ12を含み、任意的に、ログイン・ウィンドウ13およびログイン・データ14、つまり認証ユーザー・インターフェースを含んでいてもよい。サービス・データ・ハンドラ12は統一クライアント・アプリケーションのうち、MFPから受領側デバイスにデータをアップロードする部分である。サービス・データ・ハンドラ12に含まれるものとして、アクティブ化読み取り部17がある。アクティブ化読み取り部17は、config.xmlファイル7中のアクティブ化情報を検査して、サービス・データ・ハンドラ12の何らかの対応する機能が実行される前にサービス・データ・ハンドラ12がアクティブ化されていることを保証する。各組み込み機能8において、複数のサービス・ウィンドウ10a…10nおよびサービス・データ要素11a…11nがありうる。しかしながら、ある好ましい実施形態によれば、サービス・データ・ハンドラ12は一つしかない。他の実施形態はサービス・データ・ハンドラ12を二つ以上有していてもよい。
図5は、文書モール・組み込み機能8aの例を描いている。文書モール・サービスは、組み込み機能8としてコア・アプリケーション6にインストールできる。文書モール・組み込み機能8aが統一クライアント・アプリケーション5にインストールされると、文書モールによって提供されるサービスは、該統一クライアント・アプリケーション5がインストールされているMFPに拡張される。文書モール・組み込み機能8aは好ましくは、任意的なログイン・ウィンドウ23およびログイン・データ24を含む。これらのオプションはユーザー名、パスワードおよびアカウントが入力され、組み込み機能8aによって利用されることを許容し、権限のないユーザーが組み込み機能8aを使うのを組み込み機能8aが制限することを許容する。
文書モール・組み込み機能8aはさらに、いくつかの異なるサービス・ウィンドウおよびサービス・データを含む。たとえば、文書モール・組み込み機能8aでは、電子メール・サービス・ウィンドウ20aおよびフォルダ・サービス・ウィンドウ20bが含まれる。電子メール・サービス・ウィンドウ20aは、ユーザーが、文書モールに保存されている電子メール・アドレスをスキャン宛先として入力することを可能にするユーザー・インターフェースであり、一方、フォルダ・サービス・ウィンドウ20bは、ユーザーが、文書モール・フォルダをスキャン宛先として選択できるようにするユーザー・インターフェースである。さらに、電子メール・サービス・データ21aおよびフォルダ・サービス・データ21bも含まれる。電子メール・サービス・データ21aおよびフォルダ・サービス・データ21bは、電子メール・サービス・ウィンドウ20aおよびフォルダ・サービス・ウィンドウ20bによってそれぞれ生成されたデータに対応する。サービス・ウィンドウ20aおよび20bならびにサービス・データ要素21aおよび21bはいずれも、アクティブ化読み取り部25a…25bおよび26a…26bを含む。アクティブ化読み取り部は、サービス・ウィンドウ/サービス・データ要素の対によって実行される最初の機能であり、対応するサービス・ウィンドウ/サービス・データがアクティブ化されていて、機能を実行できることを保証するために使われる。文書モール・組み込み機能8aはまた、サービス・データ・ハンドラ22を含む。文書モール8aの例では、サービス・データ・ハンドラ22は、電子メール・サービス・データ21aとフォルダ・サービス・データ21bの両方を一つのupload.xmlファイルにマージして、そのアップロード・ファイルを文書モール・サーバーにhttpsのpostコマンドなどを通じて送る、アップロード・ハンドラとして使用される。この例で触れられていないサービス・データ・ハンドラ22の他の使用も可能である。サービス・データ・ハンドラ22もアクティブ化読み取り部27を含む。アクティブ化読み取り部27は、サービス・データ・ハンドラ22が、何らかの機能を実行する前にアクティブ化を保証することを許容する。
図6Aは、統一クライアント・ソフトウェア・アーキテクチャ構造を示している。図2および図3に示した統一クライアント・アプリケーション5は統一クライアント・メイン・スレッド30によって立ち上げられる。図6Aでは、統一クライアント・メイン・スレッド30は、アクティブ化読み取り部30a、プロジェクト・アレイ31およびプロジェクト・アレイ・ウィンドウ32を含むものとして示されている。メイン・スレッド30はコア・アプリケーション6を初期化し、アクティブ化読み取り部30aを使ってconfig.xmlファイル7を読み、それにより、config.xmlファイル7内に見出されたアクティブ化情報に基づいてプロジェクト・アレイ31を作成する。config.xmlファイル7は、いくつかのプロジェクト33a…33nに関するアクティブ化情報を含む。各プロジェクト33a…33nは少なくとも一つの組み込み機能8、一つの外部機能または組み込み機能および外部機能を含むセットに対応する。
プロジェクト・アレイ31は、統一クライアント・アプリケーション内でアクティブであると見出されるプロジェクトのリストである。プロジェクト・アレイ31は、config.xmlファイル7内に含まれている<project>タグを読むことによって構築される。さらに、メイン・スレッド30は、各プロジェクト33a…33nについて、config.xmlファイル7に含まれている<service>タグおよびアクティブ化情報を読むことによって、サービス・アレイ34a…34nを生成する。サービス・アレイは、個別プロジェクトのもとにインストールされているアクティブ化されたサービスのリストである。メイン・スレッド30はまた、プロジェクト・アレイ・ウィンドウ32をも表示する。プロジェクト・アレイ・ウィンドウ32は、統一クライアント・アプリケーション5を使用または執行するときの最初の画面である。しかしながら、本発明のある実施形態によれば、システム上に一つのプロジェクト33bしかインストールされていない場合には、プロジェクト・アレイ・ウィンドウ32はバイパスされる。プロジェクト・アレイ・ウィンドウ32は、ユーザーが選択するためのプロジェクト・ボタンを表示する。あるプロジェクト・ボタンが選択されると、対応するプロジェクト33a…33nが呼び出される。プロジェクト・アレイ・ウィンドウ32は、config.xmlファイル7内に見出されるアクティブ化情報に依存してアクティブ化されていないプロジェクトを表示してもいいし、しなくてもいいことも注意しておくべきであろう。たとえば、ある構成では、プロジェクト33a…33nのためにメイン・スレッド30によって何らの機能もアクティブ化されないと見出される場合、その機能のためにプロジェクト33a…33nは生成されず、ユーザーには、あたかもそのプロジェクトが物理的にMFP上に存在していないかのように思わせてもよい。これとは対照的に、別の構成では、ある機能がアクティブ化されていないと見出される場合であっても、メイン・スレッド30は、その機能に対応するプロジェクト33a…33nを生成してもよい。ただし、ユーザーがプロジェクト・アレイ・ウィンドウ32を介してプロジェクト33a…33nを執行しようと試みると、システムは、対応するメイン・ウィンドウ35をロードする代わりに、ユーザーがプロジェクト33a…33nをアクティブ化できるようにする。さらに、システムはユーザーに、プロジェクト33a…33nのデモを見る、あるいはそのプロジェクトを限られた時間だけ使えるようにしてもよい。アクティブ化プロセスのより詳細な議論は、図7Eを参照しつつのちに見出される。プロジェクト・アレイ・ウィンドウ32は、図9の関連でのちにさらに詳細に論じられる。
図6Aには、プロジェクト・アレイ31につながっているいくつかのプロジェクト33a…33nが示されている。各プロジェクト33a…33nはアクティブ化読み取り部28aを含む。アクティブ化読み取り部28aは、プロジェクト33a…33nがどのように執行され、どのサービス38a…38nがサービス・アレイ34a…34nに含まれるかを判別する。各プロジェクト33a…33nは、そのプロジェクト33a…33nのログイン/ログアウト・プロセスを、対応するログイン・データ36およびログイン・ウィンドウ37を通じて管理できる。たとえば、プロジェクト33a…33nにおいて認証が必要とされる場合、ログイン・ウィンドウ37はログイン・ウィンドウ37を使って、ユーザーがプロジェクト33a…33nへのアクセスを開始できる前に表示されるログイン・ウィンドウを表示することができる。ひとたびログイン/ログアウト・ボタンが押されたら、ログイン・データ36によって使用される、対応するログインおよびログアウト・ハンドラが呼び出される。
さらに、プロジェクト33a…33nは、ログイン後プロセスを制御できる。たとえば、各サービス38a…38nは、サービス・ウィンドウ40a…40nによって表示されるそのサービス・ウィンドウのための、それ自身のログイン後プロセスを定義できる。認証が成功すると、各サービス38a…38nのログイン後プロセスが逐次的に呼び出される。
上記のログイン・ウィンドウ37によって表示されるログイン・ウィンドウは、認証ユーザー・インターフェース(「UI」)ディスプレイの例である。ログイン・ウィンドウ37によって表示されるログイン・ウィンドウは、ログイン・データ36に含まれ、認証プロセス定義を含んでいるログイン・データとインターフェースをもつ。さらに、ログイン・ウィンドウ37によって使用されるログイン・ウィンドウは、追加的な認証情報を要求するよう実装できる。一例として、文書モール・組み込み機能8aについて、文書モール・ログイン・ウィンドウ23は、ユーザーがアカウント情報を入力するための場所を含むよう実装されてもよい。ログイン・ウィンドウ37は他の情報を利用してもよい。さらに、ログイン・データは各サービス・ウィンドウ40a…40nおよびサービス・データ・ハンドラ12によってアクセスされることができる。さらに、各プロジェクト33a…33nはメイン・ウィンドウ35およびサービス・アレイ34a…34nを含む。
図6Aでは、メイン・ウィンドウ35はプロジェクト33bに関連付けられている。メイン・ウィンドウ35はプロジェクト33bの下にしか図示されていないが、各プロジェクト33a…33nがメイン・ウィンドウを含むよう実装されてもよい。メイン・ウィンドウ35は、各サービス38a…38nについてのサービス管理のために使われる。各サービスはメイン・ウィンドウ35に含まれる一つのボタンに対応し、ボタンはサービス・ウィンドウへのユーザー選択可能なリンクである。たとえば、文書モール・組み込み機能8aの例では、メイン・ウィンドウ35はスキャン設定の操作、文書名入力およびログイン・ボタン操作を含む。メイン・ウィンドウ35のもう一つの例は、図10との関連でのちに論じる。
各プロジェクト33a…33nには、サービス・アレイ34a…34nが含まれる。各サービス・アレイ34a…34nは、アクティブ化されたサービス38a…38nのリストを含む。サービス38a…38nは、MFP上で動作可能な機能である。プロジェクト33a…33nは、組み込み機能および外部機能の組み合わせを含んでいてもよい。プロジェクト33a…33nはまた、組み込み機能のみ、あるいは外部機能のみを含んでいてもよい。プロジェクトが組み込み機能および外部機能の両方を含んでいてそれらの機能が衝突する場合、たとえば外部機能と組み込み機能の両者が同じ動作を実行する場合には、config.xmlファイル7に見出される優先性情報を使って、メイン・ウィンドウ35でそのサービスが選択されるときに組み込み機能が呼び出されるか外部機能が読み出されるかを決定する。本発明はまた、たとえば外部機能が優先性を有するがその外部機能はネットワーク問題のため到達不能である場合、組み込み機能がシームレスに、利用不能な外部機能の代役となることができ、その機能を実行するという特徴をも含む。
組み込み機能に対応する各サービス38a…38nは、アクティブ化読み取り部29a…29n、サービス・ウィンドウ40a…40nおよびサービス・データ39a…39nを含んでいる。アクティブ化読み取り部29a…29nは、サービス38a…38nによってアクティブ化される最初の動作であり、そのサービスがアクティブ化されているかどうかを判定する。組み込み機能40a…40nに含まれるサービス・ウィンドウは、サービス・ウィンドウ・ユーザー・インターフェースを表示する。さらに、サービス・ウィンドウ40a…40nは、ログイン後プロセスを実行し、サービス・データ39a…39nにデフォルト値を取得して設定する。たとえば、文書モール・組み込み機能8aの例のログイン後プロセスでは、文書モール・フォルダ・サービスがユーザーのフォルダ・リストをダウンロードし、ユーザーのフォルダをデフォルトのフォルダ宛先に設定する。サービス・ウィンドウ40a…40nはまた、ユーザーとの対話的な動作も実行して、サービス・データ39a…39n内のサービス・データと対話し、これを更新する。サービス・ウィンドウ40a…40nは抽象的なクラスであり、よってサービス・ウィンドウ40a…40nのある種の振る舞いはコードで事前定義される。しかしながら、開発者は、該開発者の必要に応じて、サービス・ウィンドウに機能を追加し、あるいはサービス・ウィンドウを拡張することができる。たとえば、文書モール・組み込み機能8aの例では、文書モールの電子メール・サービス・ウィンドウは、文書モール・サービスを使う電子メール・アドレス検索および手動の電子メール・アドレス入力の両方をサポートする。
サービス・データ39a…39nは、ユーザー・オペレーションに基づいてサービス・ウィンドウ40a…40nによって更新される。さらに、サービス・データ39a…39nは、アップロード動作が実行されるときに、アクティブ化サービス・データ・ハンドラ12によってアクセスされる。たとえば、アクティブ化されていれば、電子メールの送信またはネットワーク・フォルダへのアップロードは、文書モール・組み込み機能の例8aで行われたように、サービス・データ・ハンドラ12によって実行されうる。サービス・ウィンドウ40a…40nと同様、サービス・データ39a…39nは抽象的なクラスであり、さらなるサービス関係データを生成するために開発者が更新または拡張できる。たとえば、文書モール・組み込み機能8aの例では、文書モール・電子メール・サービスは、サービス・データ39a…39nに含まれるサービス・データに保存されている電子メール宛先アドレスに基づいて電子メールを送る。
外部機能に対応する各サービス41も、アクティブ化読み取り部29a…29nを含むが、ローカルに保存されたサービス・データはなく、サービス・ウィンドウ42は、その外部サービスに対応する外部サーバーに情報を送るためのディスプレイ・インターフェースとしてはたらくのみである。
このように、統一クライアント・メイン・スレッド30は、組み込み機能または外部機能を含んでいてもいいし、いなくてもいい、いくつかのプロジェクト33a…33nをリストするプロジェクト・アレイ31を含み、各プロジェクトはアクティブ化されていてもいなくてもいい諸機能に対応するいくつかのサービス38a…38nをリストするサービス・アレイ34a…34nを含む。上で論じたように、本発明の種々の実施形態は、アクティブ化されたおよびアクティブ化されていないプロジェクトおよびサービスの、対応するプロジェクト・アレイまたはサービス・アレイ内への包含を扱う。ある実施形態では、アクティブ化されたプロジェクトおよびサービスだけが、対応するプロジェクトおよびサービス・アレイに含められる。別の実施形態では、アクティブ化されていないプロジェクトおよびサービスが対応するプロジェクト・アレイおよびサービス・アレイに含められ、ユーザーがアクティブ化されていないプロジェクトおよびサービスの機能を利用しようと試みると、ユーザーはそのサービスを購入またはアクティブ化する能力を与えられる。この特徴に関するさらなる詳細は、のちにアクティブ化マネージャとの関連で論じる。プロジェクト・アレイに見出されるプロジェクト33a…33nは、プロジェクト・アレイ・ウィンドウ32上に表示され、各プロジェクトはメイン・ウィンドウ35および任意的にはメイン・ウィンドウ35より先に表示されるログイン・ウィンドウを含む。ログイン・ウィンドウは代替的に、メイン・ウィンドウ35と同時に表示されることもできる。さらに、各サービス38a…38nは、サービス・ウィンドウ40a…40nに含まれるサービス・ウィンドウを含む。
単一のプロジェクト33a…33nに複数の機能が関連付けられることもできることも注意しておくべきであろう。たとえば、eCabinet電子メール機能およびeCabinetフォルダが単一のプロジェクト33a…33nに含められている場合、ユーザーはメイン・ウィンドウ35内に、eCabinet電子メールおよびeCabinetフォルダのサービス・ウィンドウ40a…40n両方へのリンクを見ることになる。ユーザーがあらゆる必要な情報を対応するサービス・ウィンドウ40a…40nに入力する場合、eCabinetフォルダおよびeCabinet電子メールの両方の動作を使って一つのスキャン・ジョブが提供されることができる。
ここで図6Aに連絡記号Aによってつながっている図6Bに目を転じる。ひとたびMFPによるスキャンが完了すると、アップロード・データ50が生成される。アップロード・データ50はたとえば、文書名、スキャン・データ、ログイン・データおよびサービス・データを含む。アップロード・データ50はまた、サービス・データ・ハンドラ54a…54nによって受領デバイスにアップロードされることのできる他のいかなる情報をも含むことができる。サービス・データ・ハンドラ54a…54nは、アクティブ化読み取り部55a…55nを含んでおり、MFPからのデータのアップロードを実行する。各サービス・データ・ハンドラはプロジェクト33a…33nに関係している。アップロード・スレッド/ジョブ・モニタ51はジョブの待ち行列53を含んでいる。アップロード・スレッド/ジョブ・モニタ51は、ジョブ待ち行列53を監視し、ジョブが入手可能になったときにジョブを処理するバックグラウンド・プロセスである。アップロード・スレッド/ジョブ・モニタ51は、サービス・データ・ハンドラ54a…54nに接続されている。スキャンが完了すると、メイン・スレッド30はその最終的なアップロード・データ50をポストし、ジョブ待ち行列53に加える。
各ジョブについて、アップロード・スレッド/ジョブ・モニタ51は、対応するサービス・データ・ハンドラ54a…54nに基づいてアップロード・データ50をグループ化し、該アップロード・データ50を処理するために対応するサービス・データ・ハンドラ54a…54nを呼び出す。たとえば、文書モール・組み込み機能8aの例では、アップロード・スレッド/ジョブ・モニタ51は、スキャンまたは画像ファイルに関係した情報のような一般データ、ログイン・データ、電子メール・サービス・データおよびフォルダ・サービス・データを、処理してもらうために文書モール・サービス・データ・ハンドラ54a…54nに渡す。ひとたびアップロード・スレッド/ジョブ・モニタ51が上記の諸ステップを完了したら、最終的なステップはジョブ・アップロード状態を取得して、ジョブ・ログを更新することである。ジョブ・アップロード状態は、サービス・データ・ハンドラ54a…54nによるアップロードの状態であり、ジョブ・ログはアップロード・スレッド/ジョブ・モニタ51によって処理されたジョブのリストである。
上記のように、サービス・データ・ハンドラ54a…54nは、アップロード・データ50のアップロードを実行する。しかしながら、サービス・データ・ハンドラ54a…54nは、アクティブ化読み取り部55a…55nによってまずアクティブ化が確認された場合にのみその機能を実行する。たとえば、文書モール・組み込み機能8aの例で、アクティブ化読み取り部55a…55nがconfig.xmlファイル7にアクセスして、サービス・データ・ハンドラ54a…54nがアクティブ化されていることを確認する。アクティブ化が確認されれば、サービス・データ・ハンドラ54a…54nは一般データ、ログイン・データ、電子メール宛先のような電子メール・サービス・データおよびフォルダ宛先のようなフォルダ・サービス・データを受領する。最後に、サービス・データ・ハンドラ54a…54nは受領されたアップロード・データ50をupload.xmlファイルに合成して、そのxmlファイルをconfig.xmlファイル7で指定されている文書モール・サーバーに、httpのpostプロセスを介してアップロードする。最後に、サービス・データ・ハンドラ54a…54nは、ジョブのログ記録のために、アップロード状態をジョブ・モニタに報告する。
いかなるプロセスの記述やフローチャートにおけるブロックも、該プロセスにおける特定の論理機能またはステップを実装するための一つまたは複数の実行可能命令を含むモジュール、セグメント、コード部分を表すものとして理解されるべきである。諸機能が図示または議論されたものとは順序違いに執行されうる代替的な実装が本発明の例示的な実施形態の範囲内に含まれる。
図7A〜7Fは、統一クライアント・メイン・スレッド30のフローチャートを示している。図7Aでは、開始したのち、統一クライアント・アプリケーション5はステップ60で初期化される。統一クライアント・アプリケーション5は、最初にコア・アプリケーション6を初期化することによって初期化される。次にステップ61では、外部機能が判別され、config.xmlファイル7が更新される。外部機能判別プロセスに関するさらなる詳細は図7Fに見出される。ステップ62では、インストールされた組み込み機能が判別され、config.xmlファイル7が更新される。config.xmlは、新しい機能がMFP上にインストールされるたびに更新されることを注意しておくべきであろう。
次に、ステップ63で、アクティブ化マネージャ6bはMFP上に位置しているconfig.xmlファイル内に見出される外部機能および内部機能それぞれのアクティブ化状態を判別する。このプロセスのさらなる詳細は図7Eに見出される。
ステップ64では、二つの衝突する外部機能と組み込み機能の間の優先が判別される。優先を判別するプロセスは、アクティブ化マネージャが受け取る情報に基づく。
フローは次いでステップ65に進み、そこでconfig.xmlファイル7が読まれる。config.xmlファイル7は、コア・アプリケーション6のため、およびホストまたはコア・アプリケーション6を介してMFP上で動作可能な機能のための設定を含む。次いでステップ66で、プロジェクト・アレイ31が、上記のステップ61および62で判別された機能に基づいて構築される。次にステップ67で、サービス・アレイ34a…34nが各プロジェクト33a…33nについて構築される。さらに、ステップ68でメイン・ウィンドウ35が構築される。のちにより詳細に議論される図10は、メイン・ウィンドウ35の例を示している。フローは次いで図7BのプロセスBに進む。
図7Bでは、ステップ70で、前記プロジェクト・アレイを使ってプロジェクト・アレイ・ウィンドウ32が生成される。プロジェクト・アレイ・ウィンドウ32は、アクティブ化されているプロジェクト、あるいはアクティブ化のためにMFPを利用するユーザーによって利用可能であるプロジェクトのみを表示する。よって、MFPを利用しているユーザーが新しいプロジェクトをアクティブ化する権限がない場合には、以前にアクティブ化されたプロジェクトのみが選択のために利用可能となる。次いでステップ71でプロジェクト・アレイ・ウィンドウ32が表示され、ステップ72でプロジェクトが手動のユーザー入力に基づいて選択される。
ひとたびステップ73でプロジェクトが選択されると、フローは次いでステップ73に進む。ステップ73では、ユーザー選択がログ・ファイルに保存される。本発明は、MFP内のすべてのユーザーのアクセスおよびトランザクションの追跡および記録を許容することを注意しておくべきであろう。次いでログ・ファイルは、課金用途、監査報告またはその他の目的のために、ネットワークを通じて中央貯蔵所に送信されることができる。ログ・ファイルは、MFPを介してアクセスされる組み込み機能および外部機能の両方について、使用アクセスおよび使用情報の記憶を許容することも注意しておくべきであろう。
ステップ73が完遂されると、システム・フローはステップ74に進む。ステップ74では、選択されたプロジェクトが初期化される。図7Bのステップ74から、フローは図7CのプロセスCに進む。
ここで図7Cに目を転じると、ステップ80は、初期化されたプロジェクトがログイン・ウィンドウ37を含んでいるかどうかを判別する。ログイン・ウィンドウ37がインストールされていなければ、フローは図7DのプロセスEに進む。プロジェクトがログイン・ウィンドウ37を含んでいれば、フローはステップ81に進んで、ログインがアクティブ化されているかどうかが判別される。ログインがアクティブ化されていない場合、フローは図7DのプロセスEに進む。ログインがアクティブ化されていれば、フローはステップ82に進み、ログイン・ウィンドウ・クラスとログイン・データ・クラスの両方がロードされる。
ひとたび両クラス・ファイルがロードされると、ステップ83でログイン・ウィンドウが表示される。ログイン・ウィンドウは、ログイン・ボタンおよび取り消しボタンの両方を含む。ステップ84でどのボタンが押されたと判定されるかに依存して、フローは異なる進み方をする。ログイン・ボタンが押された場合、フローはステップ85に進んで、ログイン・ウィンドウ37のプロセス・ログイン機能が呼び出されるが、ステップ84で取り消しボタンが押されていた場合には、フローは図7BのプロセスDに進む。プロセスDはフローをステップ70に戻す。
ログイン・ボタンがステップ84で押された場合、ログイン・ウィンドウ37のログイン機能がステップ85で呼び出される。ステップ86はログインが成功したかどうかを確認する。ログインが成功でなかった場合、フローはステップ87に進んでログイン・ウィンドウをリセットし、ステップ83に戻る。ログインが成功だった場合、フローは図7DのプロセスEに進む。
このように、図7Cは、選択されたプロジェクト33a…33nにおいてログイン・ウィンドウ37がインストールされている場合に認証を完了させる一般的な手順を含んでいる。ログイン・ウィンドウ37がインストールされていないか、ウィンドウ37がアクティブ化されていない場合には、ログイン・プロセス全体はスキップされる。
ここで図7D(i)に目を転じると、ステップ90で、各サービスのためのサービス・データがロードされる。ひとたびサービス・データがロードされると、フローはステップ91に進み、各サービスのログイン後機能が呼び出される。ステップ92では、ログアウト・リスナー(listener)がメイン・ウィンドウ35中にセットされる。さらに、ステップ93では、各サービス38a…38nについてのサービス・ボタンがメイン・ウィンドウ35中に生成される。次いでステップ94で各サービスのためのサービス・ウィンドウ・クラスがロードされ、ステップ95でアップロード・データ50が初期化または生成される。
ひとたびアップロード・データ50がステップ95で初期化されると、ステップ96でメイン・ウィンドウ35がユーザーに表示される。次いでステップ97でデフォルト・サービスが選択される。デフォルト・サービスは常にアクティブ化されたサービスであることを注意しておくべきであろう。次いでステップ98で、選択されたサービスに対応するサービス・ウィンドウが表示される。ステップ99では、ステップ98で表示されたサービス・ウィンドウ中にサービス・データが入力される。次いでフローは図7D(ii)のステップ100に進み、自動ログアウト時間が経過したかどうかが検査される。自動ログアウト機能は、所定の時間にわたってユーザー活動が検出されない場合に、フローを強制的にログアウト・ステップ104に進ませる。自動ログアウト時間が経過していないとステップ100で判定されると、フローはステップ101に進んで、ボタンが押されたかどうかが判定される。ボタンが押されていたらフローはステップ102に進み、そうでなければフローはステップ100に戻る。ステップ102は、どのボタンが押されたかを判別する。サービス・ボタンの一つが押されていた場合、フローはステップ103に進んで、選択されたサービスがセットされる。次いでフローは図7D(i)のステップ98に戻り、新たに選択されたサービス・ウィンドウが表示される。ステップ102でログアウト・ボタンが押されている場合、フローはステップ104に進み、各サービスがリセットされ、メイン・ウィンドウ35がリセットされ、アップロード・データがリセットされる。
ステップ102でユーザーが押したのがMFP「スタート・ボタン」であった場合、フローはステップ105に進む。ステップ105でスキャンが完了する。次いでフローはステップ106に進む。ここで、アップロード・データ50はコピーされ、ジョブ待ち行列53に加えられる。
図7Eは、アクティブ化マネージャ6bの作業フローのより詳細な記述を示す。特に、図7Eは、図7Aに示されたステップ63のプロセスの詳細を示している。ステップ63は、5つのステップ63Aないし63Eからなっている。ステップ63Aでは、アクティブ化マネージャ6bが起動し、以前にインストールされたconfig.xmlファイル7を読む。config.xmlファイル7にはMFP情報が含まれており、config.xmlファイル7の内容についてのさらなる議論はのちに図11Aないし11Eに関して見出される。
次いでステップ63Bでアクティブ化マネージャはアクティブ化データベースにネットワークを通じて連絡し、ステップ63Cで、MFPおよびアカウント情報を検証するために、MFPに関する情報をアクティブ化データベースに送る。ステップ63Dでは、アクティブ化マネージャ6bは、アクティブ化情報と、衝突する外部機能および組み込み機能の間の優先に関する優先情報とを、送られたMFP情報に基づいてアクティブ化データベースから取得する。アクティブ化マネージャ6bは次いでconfig.xmlファイル7中のアクティブ化情報を、63Eでの受信された情報に基づいて更新する。
本実施形態では、アクティブ化マネージャはconfig.xmlファイル7の更新を、アクティブ化データベースに連絡することによって行う。代替的な実施形態では、アクティブ化情報は、ネットワーク中の、以前にアクティブ化データベースに連絡した別のMFPから取得されることもできる。
図7F(i)、7F(ii)および7F(iii)は、外部機能判別作業フローのより詳細な記述を示している。具体的には、図7F(i)、7F(ii)および7F(iii)は図7Aに示したステップ61の内部プロセスの三つの実施例を示している。
図7F(i)に示した第一の実施例はステップ600〜602を有する。ステップ600では、フローはconfig.xmlを読んで、外部機能に対応していると示されているいかなるサービスをも同定する。次いでステップ601において、config.xmlファイル7中の情報を使って、外部機能の利用可能性が確認される。たとえば、globalscan電子メールまたはglobalscanファクスのようないくつかのglobalScan機能が以前にconfig.xmlファイル7中に保存されていた場合、フローは、そのglobalscanサーバーがまだ存在していることと、config.xmlファイルに以前に含まれていたその機能がまだ利用可能であるかどうかを確認する。ステップ602では、フローは次いでconfig.xmlファイル7を更新し、その機能が利用可能でない場合には示す。
実施例その2およびその3は、MFPに利用可能な外部機能が知られておらず、かつ、MFPのconfig.xmlに以前に記憶されていない状況に関係する。こうして、MFPは、実施例その2およびその3に記載されるように、検索機能を使って、または自動的に、ユーザー入力に基づいて外部機能を発見する能力を有する。
図7F(ii)に示される第2実施例は、ステップ603および604を有している。ステップ603では、発見機構を使ってネットワークがスキャンされ、利用可能な機能が発見される。たとえば、前の図1を参照するに、支部オフィスMFP500はglobalscanサーバー504を発見して、サーバー504に接続して、globalscanサーバー504で利用可能ないくつかのサービスを発見することができる。
ひとたび利用可能な外部機能がステップ603で発見されたら、ステップ604でconfig.xmlファイル7が更新される。
図7F(iii)に示される第3実施例は、ステップ605〜608を有している。第3実施例が第2実施例と異なるのは、外部機能を含んでいるサーバーのアドレスをMFPがすでに知っているという点である。よって、ステップ605で、MFPは外部機能サーバーに接続する。ステップ606で、MFPはMFPおよびアカウント情報を外部機能サーバーにアップロードする。これにより、外部機能サーバーはそのMFPがそのサーバーによって提供される外部機能を使う権限を有していることを確認できるようになる。ステップ607では、利用可能なサービスのリストがMFPによってダウンロードされ、ステップ608において該利用可能な外部機能を用いてconfig.xmlを更新するために使用される。
しかしながら、ステップ606でMFPが情報を外部機能サーバーにアップロードするが、統一クライアント・プラットフォームは一様なセキュリティ・ポリシーを使うことを注意しておくべきであろう。一様なセキュリティ・ポリシーとは、組み込み機能および外部機能の両方について同時にユーザーの認証を許容するものである。このステップは、アクティブ化マネージャ6bを使って達成される。というのも、MFPを介してアクセスされるべくある機能が利用可能であるかもしれないが、ユーザーはこの機能にアクセスを有さないこともあり、よってその機能はconfig.xmlファイル7中に含まれていたとしてもアクティブ化解除されているのである。
ここで図8Aおよび8Bに目を向けると、図8Aおよび8Bは、統一クライアント・アップロード・スレッド51のフローチャートを示している。開始後、ステップ120でジョブ・モニタ初期化が実行される。次いでシステムは、ステップ121で、ジョブ待ち行列53に何らかのジョブがあるかどうかを検査する。ジョブ待ち行列53に存在していると判別されるジョブがない場合、フローはステップ121のはじめに戻る。システムは、ジョブ待ち行列53にジョブが観察されるまで、このままループを続ける。
ステップ121でジョブ待ち行列53にジョブが存在していると判定されるとき、フローはステップ122に進み、ジョブ待ち行列53からジョブを得て、対応するサービス・データ・ハンドラ54a…54nに基づいてそのジョブに含まれている諸サービスをグループ化する。次に、一般データ、ログイン・データおよび対応するサービス・データがステップ123でサービス・データ・ハンドラ54a…54nに渡される。ステップ124では、サービス・データ・ハンドラ54a…54nがアクティブ化されているかどうかが判別される。該サービス・データ・ハンドラがアクティブ化されていない場合、フローはステップ128に進み、そのジョブはそのサービス・データ・ハンドラ54a…54nについては処理されない。次いでフローはステップ129に進み、ジョブ・アップロード状態がジョブ・モニタに送られる。次いでフローはステップ127に進む。
しかしながら、ステップ124において、サービス・データ・ハンドラ54a…54nがアクティブ化されている場合、サービス・データ・ハンドラ54a…54nは、ステップ125でジョブ・アップロード・データ50を処理する。
ひとたびサービス・データ・ハンドラ54a…54nがジョブ・アップロード・データ50を処理したら、ステップ126で、ジョブ・モニタ51はサービス・データ・ハンドラ54a…54nからジョブ・アップロード状態を得て、ジョブ・ログを更新する。次いでフローはステップ127に進み、まだほかのサービス・データ・ハンドラ54a…54nがあるかどうかを検査する。そのジョブについてサービス・データ・ハンドラ54a…54nが残っていなければ、フローはステップ121に戻って、待ち行列中に新しいジョブがないかどうか確認する。ステップ127でもっとサービス・データ・ハンドラ54a…54nが含まれている場合には、フローはステップ123に戻り、ステップ123〜126を再び処理する。このループは、ジョブについてサービス・データ・ハンドラ54a…54nの残りがなくなるまで続く。
このように、統一クライアント・アップロード・スレッドは二つのループを含む。第一のループは、待ち行列中に新たなジョブがないかどうかを確認する。第二のループは、ひとたびジョブが存在すると判別されたときに生起し、第二のループでは、システムは、ジョブ中のアクティブ化されているサービス・データ・ハンドラ54a…54nのすべてが処理されたことを確実にするための検査をループする。
ここで図9に進むと、プロジェクト・アレイ・ウィンドウ32の例が示されている。プロジェクト・アレイ・ウィンドウ32は、システム・メッセージ151のためにリザーブされている行を含んでいる。また、統一クライアント・ロゴ152およびプロジェクト・アレイ・ウィンドウ32の使い方についてのユーザーに対する案内153も含まれている。プロジェクト・アレイ・ウィンドウはまた、ユーザーが選択できるいくつかのプロジェクト・ボタン154も含んでいる。プロジェクト・ボタンは、ユーザーをメイン・ウィンドウ35および選択されたプロジェクト33a…33nのデフォルトのサービス・ウィンドウにリンクする、そのようなボタンの例は、「文書モール」ボタン154、「eCabinet」ボタン154a、「電子メール」ボタン154b、「ファクス文書」ボタン154c、スキャンしてフォルダへ154dまたは他の同様の型のプロジェクト・ボタン154nである。スクロール・バー155は、多数のプロジェクト・ボタンがプロジェクト・アレイ・ウィンドウ32にインストールされることを許容する。このように、プロジェクト・アレイ・ウィンドウ35の機能は、ユーザーがどのプロジェクト33a…33nをMFP上で使用したいかをユーザーが選択することを許容することである。
図10は、メイン・ウィンドウ35の例を示している。メイン・ウィンドウ35は、統一クライアント・ロゴならびに文書名162およびログアウト・ボタン163を含んでいる。図7Dとの関連で先に論じたように、ログアウト・ボタン163は、ユーザーが選択されたプロジェクトからログアウトして、図9に記載されたプロジェクト・アレイ・ウィンドウ32に戻ることを許容する。メイン・ウィンドウ35は、いくつかのボタン156ないし159をも含んでいる。これらのボタンはいくつかのサービスに、あるいは代替的にプロジェクト33a…33nに一つの機能しか関連付けられていない場合には一つのサービスに対応する。メイン・ウィンドウ35に表示されるボタンは、プロジェクト・アレイ・ウィンドウ32で選択されたプロジェクト33a…33nに対応したものである。たとえば、プロジェクト・アレイ・ウィンドウ35で「文書モール」プロジェクトが選択されている154ときは、いくつかの「文書モール」関連のボタンが利用可能である。たとえば、ボタン156はユーザーが、スキャンして「文書モール電子メール」へというサービス・ウィンドウを開くことを許容する。項目157は、ユーザーがスキャンしてフォルダへというサービス・ウィンドウを開くことを許容する。項目158はスキャン設定のサービス・ウィンドウを開くボタンである。一方、項目159は、ユーザーがジョブ・ログ・サービス・ウィンドウを開くことを許容する。本発明は、図10に含まれるいくつかのボタンや図10に示されるサービスに限定されない。さらに、矢印ボタン160aおよび160bは、ユーザーが、多数のサービス・ボタンをスクロールしていくことを許容する。こうして、いかなる種類のサービス・ボタンもメイン・ウィンドウ35にインストールできる。
図11A〜11Eは、本発明のある実施形態に基づくconfig.xmlファイル7の例を示している。図11A〜11Eは、config.xmlファイル7がどのように設計されるかの包括的な例であることは意図されておらず、図11A〜11Eが含んでいるのは、統一クライアント・アプリケーション5のアクティブ化のためにconfig.xmlファイル7が書かれうる一つの仕方であることを注意しておくべきであろう。
config.xmlファイル7の例は図11Aで始まる。図11Aの第1行では、config.xmlファイル7はrootタグで始まる。rootタグの下に、システムにインストールされている種々のJARファイルを含んでいるJARファイル・リスト・タグがある。JARファイルとは、いくつかのクラス・ファイルを含んでいる単一のファイルである。クラス・ファイルはそれぞれ、コードの諸部分を含み、該諸部分は今の例では異なるサービス38a…38nに対応する。今の実施形態では、config.xmlファイル7にリストされているJARファイルは、統一クライアント・アプリケーション5にインストールされている組み込み機能に対応する。この例では、「eCabinet」JARファイル、「文書モール(DocumentMall)」JARファイルおよびEmbeddedEmail.jarファイルがインストールされている。「eCabinet」JARファイルは、eCabinet組み込み機能8bに対応し、「文書モール」JARファイルは「文書モール」組み込み機能8aに対応する。EmbeddedEmailのJARファイルは、組み込み電子メール機能に対応する。各組み込み機能はプロジェクト33a…33nに含まれている。
第7行に始まるMFPセクションは、MFPおよび該MFPに関連付けられたアカウントに関係するいくつかのタグを含んでいる。第8行に見出されるMFPSerialNoタグはMFPのシリアル番号を含む。MFPシリアル番号とは、MFPのハードウェアを同定する一意的な番号である。第9行に見出されるMACAddressタグは、MFPのMACアドレスを含んでいる。MACアドレスは、そのMFPのネットワーク・インターフェースを識別する一意的なネットワーク識別コードである。第10行に見出されるAccountNameタグは、そのMFPが登録されているアカウント名を含んでいる。今の例では、アカウント名はRicohである。
第11行に見出されるUserNameタグは、そのMFPに現在ログインしているユーザーのユーザー名を含んでいる。代替的な実施形態ではUserNameタグは使用されないことを注意しておくべきであろう。さらに、図11Aに示していないModelNameタグがMFPセクションに含められてもよい。ModelNameタグは、そのMFPの型名を識別する。最後に、第12行には、MFPタグの閉じが見出される。これは、MFPセクションの終了を識別する。
図7Eとの関連で上記したように、config.xmlファイル7のうちMFPタグで囲まれる諸部分は、アクティブ化データベースに送られるMFP情報の部分である。そのMFP情報はその後、どのサービスがアクティブ化されるかを判別するためにアクティブ化データベースによって使用される。このように、MFPSerialNoタグ、MACAddressタグおよびServiceNameタグ内のデータは一意的なキーとして使用できる。
第13行でprojectタグがプロジェクト33a…33nを開始し、第14行でプロジェクト名が指定されている。この例ではプロジェクト名はeCabinetと記されている。第15行に含まれるデフォルト・スキャン設定は今の例では空であるが、いくつかの異なる設定を含むこともできる。第16行では、デフォルト解像度設定タグが含まれている。この例では、デフォルト解像度は200に設定されているが、これは200dpiに対応する。第17行では、デフォルト両面スキャン設定が含まれている。この例では、デフォルト両面スキャン設定は偽に設定されている。この設定は、当該多機能プリンタが用紙の片面だけでなく両面をスキャンするかどうかをユーザーが設定することを許容する。
第19行では、プロジェクトのログイン設定が含まれている。この例では、eCabinetプロジェクトはログインを有さないが、この設定も真に設定できる。config.xmlファイル7のある実施例では、第19行でログイン設定が真に設定されている場合、第20行でログイン・クラスが含められてもよい。他の実施例はこのような仕方でのクラス・ファイルを含まなくてもよい。この例では、第19行のログイン設定が偽に設定されているので、ログイン・クラスは含まれていない。
先に論じたように、各プロジェクト33a…33nはいくつかのサービス38a…38nを含む。第21行では、serviceタグがサービス38a…38nを記述するセクションを開始する。第22行では、サービスの名称が含まれ、第23行では表示名も含められる。この例では、サービス名はeCabinetに設定されており、表示名はeCabinet Owner〔所有者〕に設定されている。表示名の設定は、そのサービスが、メイン・ウィンドウ35のサービス・ボタンにどのように表示されるかを示す。
第24行は、アクティブ化(Activation)の開きタグを示している。このタグがサービスのアクティブ化セクションを開始する。アクティブ化セクションに含まれるものとしては、サービスのアクティブ化に関するいくつかのタグがある。図11Aに示した例は、config.xmlファイル7にアクティブ化情報を含む一方法であり、他の方法も可能である。第25行には、ActivationRequiredタグが見出される。このタグは、問題のサービスのためにアクティブ化が要求されるかどうかを示すブール指標を含む。第25行に示される今の例では、ActivationRequiredタグは「Y」としてリストされているが、このタグが「N」または「F」の指標を含んでいたら、このサービスはMFP上で使われるべく常に利用可能である。このタグのためのデフォルト値は「Y」である。
アクティブ化タグ・セクション中の次のタグは、第26行に見出されるActivatedタグである。上記のActivationRequiredタグと同様、Activatedタグはブール指標を含む。このブール指標は、問題のサービスがアクティブ化されているかどうかに対応する。この指標が「N」または「F」を示す場合、このサービスは、MFPのユーザーがアクティブ化プロセスを一通り行わない限り、該MFPのユーザーにとって利用可能ではない。今の例では、Activatedタグは「Y」指標を含む。「Y」指標がActivatedタグ中に見出されるとき、第27行および第28行に見出されるActivationDateタグおよびExpirationDateタグはそれぞれ、そのサービスがアクティブ化された日付および該アクティブ化の期限日をリストする。ExpirationDateタグはアクティブ化データベースが連絡不能な場合に有用である。アクティブ化データベースが到達不能な場合、アクティブ化マネージャは、MFPの内部日付スタンプをconfig.xmlファイル7のExpirationDateタグ内に見出される情報と比較して、アクティブ化がまだ有効であることを確認する。最後に、Activationタグの閉じが第29行に見出される。
アクティブ化セクション内では、使用されるアクティブ化の型に依存して、いくつかの異なるタグが使用されてもよいことを注意しておくべきであろう。今の例では時間ベースのアクティブ化が使われているが、異なる型のアクティブ化が使われるときはアクティブ化セクションにおいて異なるタグが使用されてもよい。
各プロジェクトについてデータ・ハンドラが含まれ、組み込み機能に対応する各サービスについてサービス・ウィンドウ・クラス・ファイルが含まれる。この例では、第30〜32行にはサービス・ウィンドウ・クラス・ファイルがリストされている。サービス・ウィンドウ・クラス・ファイルは、サービス・ウィンドウを表示するために必要なコードすべてを含んでいる。第33〜35行では、データ・ハンドラ・クラス・ファイルがリストされている。これは、このプロジェクトにおけるデータ・ハンドラのために必要なコードすべてを含んでいる。
図11Bの第1行から始まって、このサービスのための構成設定データが含まれている。この例では、第29行でeCabinetサーバー・アドレスが11.11.11.111とリストされている。アドレス11.11.11.111は使用されうるアドレスの一例であり、IPv6アドレスまたはドメイン名のような名前を付けられたアドレスを含む他のアドレスを使うこともできる。さらに、eCabinetサーバー・ポートがポート81としてリストされている。他のポート番号もこの例において使用できる。
第6行に始まって、データ・ハンドラ構成設定データが含まれている。この例では、データ・ハンドラ構成設定データは第8〜9行のeCabinetサーバー・アドレスおよび第10行のFTPポートを含む。FTPポートが第10行に含まれない場合、21のようなデフォルトftpポートが使用される。第11行で、データ・ハンドラ構成設定データ・タグが閉じられ、第12行でサービスが閉じられる。このように、今の例におけるeCabinetのサービスの構成設定は、図11Aの第21行から図11Bの第12行までの間に記述されている。
第13行では、eCabinetプロジェクトの下に含まれている第二のサービスが記述される。第13行に始まって、serviceタグがサービスを開く。この例でのサービス名は第14行に含まれており、eCabinetFolderとしてリストされている。第15行に含まれる表示名はeCabinet Folderとしてリストされている。
第16〜21行は、eCabinetFolderサービスのためのアクティブ化セクションを示している。上記のeCabinetサービスに関して述べたように、eCabinetFolderサービスのアクティブ化セクションはActivationタグの開きと閉じ、ActivationRequiredタグ、Activatedタグ、ActivationDateタグおよびExpirationDateタグを含む。
さらに、上記のeCabinetサービスの場合のように、eCabinetFolderサービスも第22〜24行に示されるサービス・ウィンドウ・クラスおよび第25〜27行に含まれるデータ・ハンドラ・クラスを含む。また、eCabinetFolderサービスに含まれるものとして、第29行のeCabinetサーバー・アドレスおよび第31行に含まれるeCabinetサーバー・ポートがある。また、今の例では、データ・ハンドラ構成設定データ・タグ領域は第33行に始まり、第34行のeCabinetサーバー・アドレス、図11Cの第1行のFTPポート設定を含む。データ・ハンドラ構成設定データ・タグ領域は第2行で閉じられ、サービスは第3行で閉じられ、プロジェクトは第4行で閉じられる。こうして、この例では、eCabinetプロジェクトは二つのサービス、eCabinetサービスおよびeCabinetFolderサービスを含んでいる。
第6行は、config.xmlファイル7の例を続ける。図11Cの第6行では、新しいプロジェクトがprojectタグで開かれる。プロジェクト名は第7行でDocumentMall〔文書モール〕として記述されている。この例では、第8行で、デフォルト設定を表すデフォルト・スキャン設定タグが開かれて閉じられており、第9行で、デフォルト解像度が200に設定されている。第10行で、デフォルトの両面スキャンが真に設定され、第12行でログイン設定が真に設定されている。eCabinetプロジェクトに関する上記の議論で記したように、ログイン設定が第12行で真に設定されているため、第13行および第14行にはログイン・クラス・ファイルが含まれている。上記のeCabinetプロジェクトと対照的に、この「文書モール」プロジェクトの例では、ログイン・クラスが含められている。
第15行に始まって、文書モール・プロジェクトの下に含まれるサービス・タグが記述される。第一のサービスは第15行に含まれるserviceタグで始まる。第16行にはサービス名DMEmailが含まれており、第17行には表示名DM Emailも含まれている。
第18〜23行は、DocumentMall Emailサービスのためのアクティブ化セクションを示している。上記の他のサービスに関して述べたように、DocumentMall Emailサービスのアクティブ化セクションは、開きと閉じのアクティブ化タグ、ActivationRequiredタグ、Activatedタグ、ActivationDateタグおよびExpirationDateタグを含む。
サービス・ウィンドウ・クラスは第24〜26行に記述されており、データ・ハンドラ・クラスが第27〜29行に記述されている。
第30行に始まって、DocumentMall Emailサービスのための構成設定データが含まれている。この例では、第31行に、文書モール・サーバー・アドレスがdocumentmall.comとして含まれており、第32行で構成設定データ・タグが閉じられている。第33行では、データ・ハンドラ構成設定データ・タグが開かれる。このタグ内で、第34〜35行では、文書モール・サーバー・アドレスが含まれており、図11Dの第1行ではデータ・ハンドラ構成設定データ・タグが閉じられる。第2行では、DocumentMall Emailサービスが閉じられる。
第3行は、文書モール・プロジェクトの下で、第二のサービスを、serviceタグで開始する。第4行にはDMFolderのサービス名が含まれ、第5行には表示名DM Folderも含まれている。第6〜12行には、サービスのアクティブ化部分が含まれている。第13〜15行では、サービス・ウィンドウ・クラスが記述され、第16〜18行ではデータ・ハンドラ・クラスが記述される。第19行では、構成設定データが構成設定データ・タグで始まる。第20行ではDocumentMallサーバー・アドレスが含まれる。第21行では、構成設定データが閉じられる。第22〜24行は、データ・ハンドラ構成設定データを示し、第23行はDocumentMallサーバー・アドレスを示す。第25行では、serviceタグの閉じがそのサービスを閉じる。第26行では、projectタグの閉じがDocumentMallプロジェクトを閉じる。
第28行は、新しいプロジェクトを開始するprojectタグを含んでいる。第29行は、Email〔電子メール〕というプロジェクト名を含んでいる。第30行に含まれるデフォルト・スキャン設定はこの例では空である。第31行では、デフォルト解像度設定タグが含まれる。この例では、デフォルト解像度は200に設定されているが、これは200dpiに対応する。第32〜33行では、デフォルト両面スキャン設定が含まれている。この例では、デフォルト両面スキャン設定は偽に設定されている。
第34〜35行では、プロジェクトのログイン設定が含まれている。このhaslogin設定は偽であり、ログイン・クラス・タグは空である。今の例で示しているEmailプロジェクトは、二つのサービス、図11Eの第1〜25行に見出される組み込みの電子メールサービスと、第26行ないし図11Fの第6行に見出されるGlobalScanEmailサービスを有する。どちらのサービスもexternal〔外部〕タグ・セクションを含む。externalタグ・セクションは、組み込み電子メールについては第10〜14行に、GlobalScanEmailについては第35行ないし図11Fの第5行に見出される。
外部タグ・セクションは、Embedded〔組み込み〕タグ、ExternalAddress〔外部アドレス〕タグおよびPriority〔優先〕タグを含む。Embeddedタグは、そのサービスがMFPを使ってどのように実行されるかを記述するブール値である。Embeddedタグが真に設定されていれば、そのサービスはMFP上に組み込まれた、あるいは物理的にインストールされている機能に対応する。EmbeddedタグがFに設定されていれば、そのサービスは外部機能、あるいは外部サーバー上で実行される機能に対応する。たとえば、第26行ないし図11Fの第6行に記載されているEmail機能については、画像はMFP上でローカルにスキャンされるが、電子メールそのものが生成され、スキャンされた画像がPDFに変換されるのは外部サーバー上である。こうして、Emailを生成する機能はMFPからは外的に実行される。
Embeddedタグが真に設定されているとき、ExternalAddressタグは空であるが、EmbeddedタグがFに設定されているときは、ExternalAddressタグが、そのサービスに対応する外部機能が位置しているサーバーのネットワーク・アドレスを含む。
Priorityタグは、衝突している同じプロジェクト内の二つのサービスについて優先性を決定するために使われる。今の例では、組み込み電子メール機能およびGlobalScanEmail機能は、両サービスとも同じプロジェクト内で同じ機能を実行するので、衝突している。こうして、Externalタグ・セクションは、MFPが、どちらのサービスが他方に対して優先性を有するか、あるいはEmail機能が選択されていないときにユーザーが組み込み電子メールまたは外部電子メールのどちらをデフォルトで使うであろうかを知ることができるようにするタグを含んでいる。先に述べたように、外部機能が優先性を有すると判定されるが外部機能サーバーが利用不能である場合には、組み込み機能がフェールセーフとして有効にされることができる。こうして、外部サービスが到達不能であっても、ユーザーはMFP機能性に全く障害を被らないことになる。
次いでEmailプロジェクトは図11Fの第7行で閉じられ、第8行で、閉じルート・タグがconfig.xmlファイル7を閉じる。
多機能プリンタにインストールされた統一クライアント・アプリケーション5の機能例についてこれから図12〜図17で記述する。この例の図12〜図16では、統一クライアント・アプリケーション5は、eCabinet組み込み機能8bとともにインストールされている。図17では、統一クライアント・アプリケーション5はまた、Email外部/組み込み機能をも含んでいる。eCabinet組み込み機能8bをもつ統一クライアント・アプリケーション5はSDK/Jを使って開発され、統一クライアント・アプリケーション5がインストールされている各MFP上でCVMオプションを使う。SDK/Jとは、組み込みソフトウェア・アーキテクチャのソフトウェア開発キット(SDK: software development kit)であり、ハウス開発者、独立系ソフトウェア・ベンダーおよびシステム統合者(integrator)がMFP上でカスタマイズされたJava(登録商標)ベースのソリューションを与えることを許容するものである。CVMオプションとは、MFP上にインストールできるJava(登録商標)仮想マシンである。統一クライアント・アプリケーションに付随する組み込み機能を作り出すために、他の型の仮想マシンおよび/またはプログラミング言語も使うこともできる。
eCabinet組み込み機能8bをもつ統一クライアント・アプリケーションの前記の例は、二つのSDK/J型のアプリケーションを使う。二つのSDK/J型のアプリケーションとは、たとえば、主要な統一されたクライアント機能を実装するJava(登録商標) xletアプリケーション一つと、ウェブ・ブラウザを介してリモートでconfig.xmlファイル7を更新することをユーザーに許容するサーブレット・アプリケーション一つである。eCabinet組み込み機能8bをもつ統一クライアント・アプリケーション5によってサポートされているサービスまたは機能のいくつかは:スキャンしてeCabinetサーバーへ、スキャンしてeCabinetフォルダへ、スキャン設定およびジョブ・ログ閲覧である。これらのサービスは、eCabinetプロジェクトのメイン・ウィンドウ35内にサービス・ボタンとして表現される。
図12では、メイン・ウィンドウ35およびサービス・ウィンドウ173の例が示されている。メイン・ウィンドウ35およびeCabinet所有者サービス・ウィンドウ173が表示される。メイン・ウィンドウ35はロゴ161ならびに文書名162およびセッション終了またはログアウト・ボタン163を含む。さらに、いくつかのサービス・ボタン164〜167もメイン・ウィンドウ35に含まれる。このeCabinetの例では、第一のサービス・ボタンはeCabinet所有者ボタン164である。図12では、このボタンが選択され、結果として、対応するeCabinet所有者サービス・ウィンドウ173が表示されている。eCabinet所有者サービス・ウィンドウの左側は、orderリスト・ウィンドウ168およびリフレッシュ・ボタン169を含んでいる。さらに、eCabinet所有者サービス・ウィンドウ173の左側には、選択された所有者のウィンドウ170がある。また、公開ボタン171およびリセット・ボタン172が含まれている。eCabinet所有者ボタンは、ユーザーに、eCabinet FolderサービスおよびeCabinet Emailサービス(図示せず)とともに使うためのeCabinet所有者を選択する能力を提供する。所有者リストはeCabinetサーバーから自動的にダウンロードされ、所有者リスト・ウィンドウ168に表示される。eCabinetフォルダ・ウィンドウ193でeCabinetフォルダが選択されない場合、複数所有者が選択されることもできる。eCabinetフォルダ・ウィンドウ193でeCabinetフォルダが選択されるときは、単一の所有者選択のみが許容される。所有者リスト・ウィンドウ168は所有者のリストを示している。選択済みウィンドウ170は宛先所有者を示す。宛先所有者を追加するためには、ユーザーは所有者リスト・ウィンドウ168で所望される所有者をハイライトして、右矢印ボタン175を押せばよい。宛先所有者を削除するためには、ユーザーは選択済みウィンドウ170内でその所有者をハイライトして、左矢印176を押せばよい。リフレッシュ・ボタン169は、ユーザーが所有者リストをサーバーからダウンロードし直すことを許容する。公開ボタン171は、ユーザーが、スキャン文書の属性を公開またはプライベートに設定することを許容する。リセット・ボタン172は、選択済みウィンドウの内容全部を除去することをユーザーに許容する。
図13は、eCabinet Folderサービス・ボタン165が選択され、eCabinetフォルダ・サービス・ウィンドウ193が表示されているメイン・ウィンドウ35の例を示している。この例では、eCabinetフォルダ・ボタン165が選択され、結果としてeCabinetフォルダ・サービス・ウィンドウ193が表示されている。eCabinetフォルダ・サービス・ウィンドウ193はフォルダ・リスト・ウィンドウ189、リフレッシュ・ボタン190、選択済みウィンドウ191およびリセット・ボタン192を含む。eCabinetフォルダ・サービスはユーザーに、スキャンしてeCabinetフォルダへというサービスの能力を提供する。eCabinetフォルダ・リストが、config.xmlファイル7に含まれていた構成設定を使って自動的にeCabinetサーバーからダウンロードされる。ユーザーがeCabinetフォルダ・ボタン165を選択すると、統一クライアント・アプリケーション5はソフトウェア・キーボードでユーザーに促し、ユーザーがユーザー名およびパスワードを入力できるようにする。次いで統一クライアント・アプリケーション5はそのユーザーのフォルダ・ツリーをダウンロードし、該ツリーをフォルダ・リスト・ウィンドウに表示する。eCabinetフォルダ・サービスの使用は、単一の所有者の選択を必要とすることを注意しておく。eCabinet所有者サービス・ウィンドウ173で複数の所有者が選択されていて、ユーザーがeCabinetフォルダ・ボタン165を押した場合には、eCabinetフォルダ・サービスでは単一の所有者を選択する必要があると述べるエラー・メッセージがポップアップする。フォルダ・リスト・ウィンドウ189は、ユーザーのeCabinetフォルダ・ツリーを示す。ユーザーは、フォルダ・リスト・ウィンドウ189内のフォルダ・ツリーをブラウズできる。宛先フォルダを追加するには、ユーザーは所望されるフォルダをフォルダ・リスト・ウィンドウ189中でハイライトして、右矢印ボタン175を押せばよい。選択済みのウィンドウ191内で宛先フォルダを削除するためには、ユーザーは選択済みウィンドウ191内で所望されるフォルダをハイライトして、左矢印176を押せばよい。複数フォルダも選択できることを注意しておくべきであろう。リフレッシュ・ボタン190は、ユーザーがeCabinetフォルダ・リストをeCabinetサーバーからダウンロードし直すことを許容する。リフレッシュ・ボタン190が押されると、ユーザーは、再びユーザー名およびパスワードの入力を促される。リセット・ボタン192は、選択済みウィンドウ191内に入れられた内容すべてが除去されることを許容する。フォルダ・リスト・ウィンドウ189に含まれるeCabinetフォルダ・リストが、図12に含まれるeCabinet所有者サービス・ウィンドウ173内で選択された所有者に依存することも注意しておくべきであろう。選択され、選択済みウィンドウ170に含められたユーザーが、フォルダ・リスト・ウィンドウ189に含まれるフォルダ・リストに対応するユーザーである。
図14は、スキャン設定ボタン166が選択されたときの例のためのユーザー・インターフェースを示している。スキャン設定166ボタンが選択されると、スキャン設定サービス・ウィンドウ218が表示される。スキャン設定サービス・ウィンドウは、解像度209、原稿211、画像種別214およびファイル・フォーマット215を含むいくつかのオプションを含んでいる。解像度オプション209の下では、スキャナ解像度に関係するいくつかの異なるボタンが使用される。この例では、200DPI 210a、300DPI 210b、400DPI 210cまたは600DPI 210nが選択されるべく利用可能である。DPIオプション解像度オプションの他の同様の種別を使うこともできる。原稿オプション211は二つのボタンを含んでいる。第一のボタン212aは、片面オプションが選択されることを許容する。第二のボタン212nは、両面オプションが選択されることを許容する。さらに、バッチ・スキャン・ボタン213が表示されている。画像種別オプション214は、いくつかの画像種別をリストするドロップダウン・メニューも含んでいる。今の例では、テキスト・オプションが表示されている。画像種別ドロップダウン・ボックスではテキスト、写真、グレースケールまたは写真オプションが利用可能であることも注意しておくべきであろう。同様に、ファイル・フォーマット・オプション215の下では、いくつかの異なるファイル・フォーマットをリストする第二のドロップダウン・ボックスが含まれている。今の例では、PDFオプションが表示されている。しかしながら、ファイル・フォーマット・ドロップダウン・ボックスでは、単一ページtiff、複数ページtiff、jpegおよびPDFオプションが利用可能である。スキャン設定サービス・ウィンドウ218上にはまた、スキャン・サイズ・ボタン216およびリセット・ボタン217が含まれる。
スキャン・サイズ・ボタン216は、図15に示されている新しいウィンドウを開く。スキャン・サイズ・ウィンドウ219はまだスキャン設定サービス・ウィンドウ218の一部であるが、スキャン・サイズ・ウィンドウ219はスキャン設定サービス・ウィンドウ218の代わりにメイン・ウィンドウ35の下に表示される。スキャン・サイズ・ウィンドウ219では、いくつかの異なるオプションが利用可能である。たとえば、自動検出239、8×11 5-1/2×8-1/2 A5、240a、8-1/2×11 5-1/2×8-1/2 A5 240b、11×17 a3、B4 JIS 240c、8-1/2×13 A4 B5 JIS 240dおよび8-1/2×14 A4 B5 JIS 240nである。また、リセット・ボタン242および一般ボタン241が含まれる。後者はユーザーを元のスキャン設定サービス・ウィンドウ218に戻す。
図16は、メイン・ウィンドウ35と、ジョブ・ログ・ボタン167が選択されたときに表示されるジョブ・ログ・サービス・ウィンドウ264とを示している。ジョブ・ログ・サービス・ウィンドウ264には、日時259、文書名260、ページ261および状態262のタイトルが表示されている。ジョブ・ログ・サービス・ウィンドウ264から、ユーザーは、日付および時刻、文書名、ページ数およびジョブの状態を通じて特定的にスキャン・ジョブ・アップロード状態を確認できる。これでeCabinet組み込み機能8bのMFPディスプレイの例を終える。
図17は、MFPの電子メール機能に対応する電子メール・プロジェクトについてのデフォルト・サービス・ウィンドウ300およびメイン・ウィンドウ35を示している。ユーザーがプロジェクト・アレイ・ウィンドウ32でEmailプロジェクトを選択したときに、図17に示されるウィンドウが示される。図示したウィンドウは組み込み電子メール機能か外部電子メール機能のいずれが優先であるかに関わりなく同じである。結果として、MFPによる外部機能の使用はユーザーにとっては透明である。
電子メール・プロジェクトのメイン・ウィンドウ35は、Emailサービス・ボタン301、スキャン設定サービス・ボタン166およびジョブ・ログ・ボタン167を含む。スキャン設定サービス・ボタン166およびジョブ・ログ・ボタン167は、eCabinet組み込み機能との関連で上記したウィンドウと非常に似通ったスキャン設定およびジョブ・ログ・サービス・ウィンドウに対応する。よって、これらのサービス・ウィンドウはこの例では図解しない。
電子メール・サービス・ウィンドウ300は、件名ボタン302を含んでいる。件名ボタンが選択されると、ユーザーは電子メールの件名を件名フィールド306に入力できるようになる。件名ボタン302が選択されると、ユーザーが件名欄に入力できるようにするキーボードが表示される(図示せず)。受信者フィールド307はその電子メールの受信者の名前を含んでいる。検索ボタン303は、電子メール受信者のアドレスの名前を、LDAPデータベースのような電子メール・アドレス・データベースを使って、検索することを可能にする。代替的に、手入力ボタン304は、受信者のアドレスを手で入力できるようにする。「書式をクリア」ボタン305は、受信者フィールド307からアドレスを一切クリアする。ひとたびユーザーが受信者フィールド307へのアドレスの追加を完了したら、それらのアドレスは、矢印ボタン308を使って「宛先」フィールド309、「CC」フィールド310、「Bcc」フィールド311あるいは「返信先」フィールド312に移されることができる。リセット・ボタン313は「宛先」「CC」「Bcc」および「返信先」フィールドをクリアする。電子メール・サービス・ウィンドウ300にはまた、文書名162およびセッション終了163ボタンが含まれる。これらのボタンはeCabinet組み込み機能との関連で上で論じてある。
図18は、本発明のある実施形態に基づくMFP499のハードウェア構成設定の例を示している。図18に示されるように、MFP499はコントローラ・ボード400、操作パネル410、ファクス制御ユニット(FCU: fax control unit)420、USB430、IEEE1394ポート440およびプリンタ450を含んでいる。IEEE1394b、USB2.0を含む他の型のI/Oインターフェースも含められることも注意しておくべきであろう。コントローラ・ボード400は、処理するためのCPU402と、SDRAM403、SRAM408、フラッシュメモリ(フラッシュROM)404、フラッシュカード・インターフェース部406およびHD405といった、MFP499に関連するデータを記憶するためのいくつかの記憶デバイスを含む。これらの構成要素のそれぞれは、ASIC401に接続されている。ASIC401は、MFP499で使うために特別に設計された特定用途向け集積回路である。他の型の記憶デバイスならびに他の型のデータ・プロセッサおよび集積回路も可能である。操作パネル410は、ASIC401に直接接続される。通信インターフェース420もそうである。通信インターフェース420はまた、ネットワークまたは他の任意の同様の型の通信媒体に接続されることもできる。USB 430、IEEE1394 440ならびにスキャン、印刷およびファクスのような多機能プリンタ機能450が、PCIバス480を介してASIC401に接続されている。
SRAM408は不揮発性RAMである。他の型のSRAMも可能である。フラッシュカード407がフラッシュカード・インターフェース部406に挿入されることができ、それによりASIC401とフラッシュカード407の間でフラッシュカード・インターフェース部406を介してデータが送受信されるようになる。
操作パネル410は、ユーザーによるキー入力およびボタン押下などといったキー操作のために使われる操作部と、さまざまな画面のような描画データを表示するための表示部とを含む。他の型のハードウェア・コンポーネントが本発明において使われることもできることは認識しておくべきである。
さらに、フロッピー(登録商標)ディスク、磁気テープ、CD-ROMなどといったコンピュータ可読媒体に関し、該コンピュータ可読媒体に保存されているプログラムをMFPにインストールすることによって、MFPは本発明の機能を実行できる。
本発明は、多機能プリンタとの関連で記載してきたが、コピー機、デジタルコピー機、プリンタ、スキャナ、デジタル・カメラ、ファクス機もしくは多機能プリンタまたはその任意の組み合わせといったいかなる画像処理装置にも適用可能である。汎用コンピュータは画像処理装置とは考えない。さらに、本発明は他の特殊目的デバイスにも適用可能である。特殊目的デバイスとは、ナビゲーション・システム、全地球測位システム、自動販売機、計量システム(metering system)、機械ツールおよびプログラミングもしくはプログラムされたプロセッサを使って動作するその他のツール、自動車、列車、オートバイ、飛行機もしくはボートといった他の輸送デバイス、レーダー・システム、ラジオ、MP3プレーヤー、デジタル音楽プレーヤーおよび他のオーディオ・システム、携帯電話、他の通信デバイスおよびシステムならびにプラグインを使って動作する他の任意の特殊目的デバイスなどがある。
本発明は、個別的に開示された実施形態に限定されるものではない。本発明の範囲から外れることなく変形および修正がなしうるものである。
〈第二の側面〉
これから、主として本発明の第二の側面を扱う。
〔技術分野〕
本発明は、多機能プリンタで機能の除去および追加を許容するシステムおよび方法に関する。
〔背景技術〕
従来、ユーザーが多機能プリンタ(MFP: Multi-Function Printer)にファイル保存(file storage)アプリケーションのような新しいサービスをインストールしたいとき、そうしたサービスを利用可能にする新しいアプリケーションをMFPにインストールしなければならなかった。その様子を図1Xに示す。
MFPのコンテキストでこれらのアプリケーションをてこ入れするためには、サービス要員がその多機能プリンタの物理的なサイトに行ってアプリケーションをインストールし、アプリケーションのインストールは手動で行われた。さらに、ユーザーまたは小売業者がMFPからアプリケーションを除去したい場合、サービス要員がそのMFPの物理的なサイトを訪れ、アプリケーションを物理的に除去する必要があった。
〔発明の開示〕
〔課題を解決するための手段〕
本発明が提供する方法は、中でも、画像処理装置のホスト・アプリケーションを立ち上げることを含む。画像処理装置は少なくとも一つのプラグインおよび対応するサービスのセットを含む。本方法はさらに、画像処理装置の構成設定ファイルにアクセスすることを含む。構成設定ファイルは、前記少なくとも一つのプラグインに対応する各サービスのアクティブ化状態に関する情報を含む。また、本方法は、前記少なくとも一つのプラグインを各サービスのアクティブ化に関する情報に基づいて立ち上げることを含む。プラグインは、対応するアクティブ化されたサービスのセットをホスト・アプリケーションに提供する。本方法は、アクティブ化された各プラグインに対応するアクティブ化された各サービスのグラフィック印(graphical indicia)を含むグラフィカル・インターフェースを呈示することを含む。
本発明に含まれるものとしてまた、画像処理装置上でホスト・アプリケーションを立ち上げることを含む方法がある。該画像処理装置はアプリケーション層、ハードウェアおよびオペレーティング・システムを含む。本方法は、アクティブ化マネージャを立ち上げることも含む。アクティブ化マネージャは、インストールされているどのプラグインおよび該インストールされているプラグインに対応するどのサービスをアクティブ化すべきかを決定する。本方法は、画像処理装置上に保存されている構成設定ファイルを読むことを含む。構成設定ファイルは、画像処理装置、該画像処理装置のユーザーおよびインストールされているプラグインに対応するサービスを識別する情報を含む。本方法は、構成設定ファイル中の各サービスの、アクティブ化状態を判別し、該判別に基づいて構成設定ファイルを更新することを含む。構成設定ファイルは、各サービスのアクティブ化状態に関する情報を含むよう更新される。本方法はまた、インストールされているいくつかのプラグインに基づいてプロジェクト・アレイを生成し、各プロジェクトについてのサービス・アレイを生成し、プロジェクト・アレイ・ウィンドウを表示することも含む。プロジェクト・アレイ・ウィンドウはプロジェクト・アレイに含まれている各プロジェクトをグラフィックに表示する。本方法は、ユーザーによって選択される各プロジェクトおよび各対応するサービスのアクティブ化状態を判別し、プロジェクト・アレイ・ウィンドウにおいてプロジェクトが選択され、アクティブであると判別されたときにメイン・ウィンドウおよびデフォルト・サービス・ウィンドウを表示することを含む。メイン・ウィンドウは、アクティブ化されている諸プロジェクト・サービスのグラフィック印を含む。
本発明に含まれるものとしてまた、画像処理装置のコア・サービスを提供するよう構成されたホスト・アプリケーションと、ホスト・アプリケーションによってプログラム的に呼び出されるよう構成されたプラグイン・アプリケーションと、プラグイン・アプリケーションへのアクセスをコントロールするよう構成されたアクティブ化マネージャと、アクティブ化マネージャによって更新され、メモリに保存され、プラグイン・アプリケーションおよび該プラグイン・アプリケーションに対応する機能のアクティブ化に関する情報を含んでいる構成設定ファイルとを含む画像処理装置がある。ホスト・アプリケーションは、構成設定ファイル中のアクティブ化に関する情報に従ってプラグインをプログラム的に呼び出すよう構成されている。
本発明の以上の概括的な記述および以下の詳細な記述が本発明を例示するものであって制限するものではないことは理解されるものとする。
本発明の他の目的、特徴および利点は以下の詳細な記述を付属の図面とともに読めばより明白になるであろう。
〔発明を実施するための最良の形態〕
本発展は、部分的には、画像処理装置にインストールされているアプリケーションを執行する(execute)方法に関する。画像処理装置はMFPである。MFPはスキャン、印刷および/またはファクスといった複数の機能を含む任意のプリンタまたはコピー機である。さらに、スキャンと印刷は異なる機能だが、上記のMFPは、単一ステップで文書をスキャンおよび印刷するコピー機を含みうる。
本発展はまた、画像処理装置のホスト・アプリケーションおよび画像処理装置の構成設定ファイルに関する。ホスト・アプリケーションは、MFPのオペレーティング・システムとインターフェースをもち、該オペレーティング・システムを通じてMFPのハードウェアにアクセスする執行可能コードであってもよい。
構成設定ファイルは、前記少なくとも一つのプラグインに対応するアクティブ化情報および前記少なくとも一つのプラグインに対応するサービスのセットを含む。換言すれば、構成設定ファイルは、そのMFP上でどのプラグインが実行できるかを決める情報を含んでいる。物理的なアプリケーションがMFPのメモリまたはハードドライブに見出されても、構成設定ファイルがアクティブ化を許容しない限り、そのアプリケーションは執行されない。
この構成設定ファイル(configuration file)は、XML、標準汎用マークアップ言語(SGML)、GML、RDF/XML、RSS、Atom、MathML、XHTML、SVG、DSDL、XUL、MXML、EADまたはKlipのような拡張可能なマークアップ言語を含め、いかなる種類の構成設定ファイルでもよい。
前記構成設定ファイルは、混合ブランド環境で使われることができることも注意しておくべきであろう。たとえば、いくつかの異なるブランドのコピー機がオフィスまたは建物といった環境で使われていたとしても、それぞれの独自のブランドは前記構成設定ファイルを利用できる。さらに、異なるMFPのそれぞれは統一クライアント・アーキテクチャおよびプラグインをロードできてもよい。こうして、コピー機または多機能デバイスのそれぞれは、同じ基本的なインターフェースおよびコマンドをもつことができ、それは問題となる個々のコピー機または多機能プリンタの機能のみによって制限される。
本発展はまた、構成設定ファイル中のアクティブ化情報に基づいて少なくとも一つのプラグインを立ち上げることにも関する。各プラグインは、MFPの機能を向上させるいくつかのサービスを含む。
本方法はまた、各アクティブ化されたプラグインおよび該アクティブ化されたプラグインに対応するサービスのセットの各アクティブ化されたサービスのグラフィック印を含むグラフィカル・インターフェースを呈示することも含む。グラフィック印は、アクティブ化されたプラグインおよび対応するアクティブ化されたサービスに関連付けられたリンクまたはページであってもよい。グラフィカル・インターフェースの例はのちに図12〜図19Xを参照しつつ論じる。
ここで図面を参照する。図面では、各図を通じて参照符号は同一または対応する部分を示す。より具体的には、図面のうち図2Xを参照する。図2Xには、統一クライアント・アプリケーション(unified client application)5を含むアプリケーション層1が示されている。MFPにインストールされた統一クライアント・アプリケーション5は、コア・アプリケーション6を含んでいる。コア・アプリケーションは、アプリケーションにサービスする主要な諸ルーチンを含んでいるアプリケーションである。これらの主要な諸ルーチンは典型的にはMFPの基本機能を実行する。基本機能とはたとえばスキャン、印刷、コピー、ファクスおよび通信を含む。コア・アプリケーション6の下には、アクティブ化(activation)マネージャ6bが含まれる。アクティブ化マネージャとは、統一クライアント・アプリケーションのうち、諸プラグインおよび対応するサービスのアクティブ化状態を決定する部分である。さらに、アクティブ化マネージャ6bは、該アクティブ化状態の決定に基づいて、config.xmlファイル7を生成する。
アクティブ化マネージャ6bは、MFP上にインストールされた任意のプラグインをアクティブ化または非アクティブ化する能力を提供する。よって、あらゆる利用可能な機能が、工場でMFP上にプレインストールされることができる。ユーザーがMFPの配達を受けるとき、MFPはプラグインのいくつかがアクティブ化されていてもよいし、プラグインのどれもアクティブ化されていなくてもよい。プラグインのどれもアクティブ化されていない場合、ユーザーは、必要が生じたときなど、適宜組み込み機能をアクティブ化できる。
種々の種類のアクティブ化方式も利用可能である。たとえば、ユーザーは、プラグインを限られた時間、試行ベースでアクティブ化できてもよい。あるいはまた、ユーザーは、プラグインの使用を、一回限りの使用または週ぎめまたは月ぎめのような時間ベースの使用のために購入、リースまたはライセンスすることができてもよい。これは、納税シーズンの間などといった一年のある時期の間に高い需要がある組織にとっては有用でありうる。
さらに、アクティブ化マネージャはMFP上で種々の料金体系を使えるようにする。たとえば、ユーザーはプラグインの使用のために月ごとの利用料を支払ってもよい。ユーザーがそのプラグインをもはや必要としなくなったときは、アクティブ化マネージャ6bを使って中央サーバーを介して使用を停止できる。さらに、プラグインは期限日時に基づいてアクティブ化解除できる。たとえば、ユーザーはあるプラグインの6か月の利用を購入することができ、ひとたび6か月が満了するとそのプラグインはアクティブ化解除されることができる。
さらに、ユーザーがプラグインをアクティブ化できる立場にある場合(ユーザーが金銭上の意思決定権を有するなど)、アクティブ化マネージャ6bは、ユーザーが、種々の方法でプラグインをアクティブ化できるようにする。たとえば、MFPに取り付けられたデバイスを使って、そのユーザーがアクティブ化を購入する権限があるかどうかが検証できる。購入/アクティブ化を可能にするために、スマートカード、バイオメトリクス、PINコード、磁気ストリップカードまたは非接触式カードのようなデバイスが、既存の他のID検証システムとともに使用できる。
アクティブ化に関しては、ユーザーがいくつかのMFPに対するコントロールを有する場合、アクティブ化プロセスは、リモートかつ集団的に達成できる。こうして、多数のMFPがリモート・ステーションを使って実質的に同時にプラグインをアクティブ化させることができる。これは、組織における一様性を可能にし、また、アクティブ化やアクティブ化解除を実行するために各MFPを訪れる必要がないのでかなりの時間を節約もする。
config.xmlファイル7は、アクティブ化情報に加えて統一クライアント・アプリケーション5に関する設定を含む。さらに、プラグイン8a…8nはコア・アプリケーション6によって制御される。
種々の種類のプラグインが統一クライアント・アプリケーション6にインストールできる。たとえば、図2Xに描かれている今の例では、文書モール(Document Mall)というプラグイン8a、eCabinetというプラグイン8bおよび一般的なプラグイン8nがインストールされている。
プラグインは一般に、コア・アプリケーション6を介して多機能プリンタのハードウェアを動作させるプログラムまたはコードを含む。図2Xに示した統一クライアント・アプリケーション5の代替的な図解が図3Xに掲げられている。図3Xには、コア・アプリケーション6、コア・アプリケーションとは別個であるアクティブ化マネージャ6b、アクティブ化情報を含むconfig.xmlファイル7およびプラグイン8が含まれている。該組み込み機能はアクティブ化読み取り部を含む。
図4は、プラグイン8の内部構造の例を示している。たとえば、プラグイン8は単一のサービス・ウィンドウ10aを含むこともあり、あるいは10a…10nのようないくつかのサービス・ウィンドウを含むこともある。サービス・ウィンドウ10a…10nは、ユーザーが、該サービス・ウィンドウ10a…10nに対応するサービスとインターフェースをもてるようにするユーザー・インターフェースである。サービス・ウィンドウ10a…10nは、アクティブ化読み取り部15a…15nも含む。アクティブ化読み取り部15a…15nは、サービス・ウィンドウ10a…10nが執行されるときに実行される最初の機能であり、他の何らかの機能が実行される前にそのサービス・ウィンドウがアクティブであるかどうかを確認する。サービス・ウィンドウ10a…10nのさらなる説明は、のちに図12〜図16との関連で論じる。プラグイン8はまた、単一のサービス・データ11aまたはいくつかのサービス・データ要素11a…11nをも含んでいてもよい。サービス・データ要素11a…11nも、アクティブ化読み取り部16a…16nを含む。サービス・ウィンドウのアクティブ化読み取り部15a…15nに関して上記したように、アクティブ化読み取り部16a…15nは、サービス・データ要素がアクティブ化されていることを保証する。各サービス・ウィンドウ10a…10nは対応するサービス・データ11a…11nを有する。さらに、サービス・ウィンドウのアクティブ化読み取り部15a…15nは、サービス・データ11a…11nのアクティブ化読み取り部16a…16nに対応する。サービス・データ11a…11nは一般に、サービス名、サービスID、サービス・ウィンドウ10a…10nに対応する構成設定データ、デフォルト・サービス・ウィンドウ・データおよびユーザーによってサービス・ウィンドウ10a…10nを通じて入力されるランタイム・データを含む。
プラグイン8はまた、サービス・データ・ハンドラ12を含み、任意的に、ログイン・ウィンドウ13およびログイン・データ14、つまり認証ユーザー・インターフェースを含んでいてもよい。サービス・データ・ハンドラ12は統一クライアント・アプリケーションのうち、MFPから受領側デバイスにデータをアップロードする部分である。サービス・データ・ハンドラ12に含まれるものとして、アクティブ化読み取り部17がある。アクティブ化読み取り部17は、config.xmlファイル7中のアクティブ化情報を検査して、サービス・データ・ハンドラ12の何らかの対応する機能が実行される前にサービス・データ・ハンドラ12がアクティブ化されていることを保証する。各プラグイン8において、複数のサービス・ウィンドウ10a…10nおよびサービス・データ要素11a…11nがありうる。しかしながら、ある好ましい実施形態によれば、サービス・データ・ハンドラ12は一つしかない。他の実施形態はサービス・データ・ハンドラ12を二つ以上有していてもよい。
図5は、文書モール・プラグイン8aの例を描いている。文書モール・サービスは、プラグイン8としてコア・アプリケーション6にインストールできる。文書モール・プラグイン8aが統一クライアント・アプリケーション5にインストールされると、文書モールによって提供されるサービスは、該統一クライアント・アプリケーション5がインストールされているMFPに拡張される。文書モール・プラグイン8aは好ましくは、任意的なログイン・ウィンドウ23およびログイン・データ24を含む。これらのオプションはユーザー名、パスワードおよびアカウントが入力され、プラグイン8aによって利用されることを許容し、権限のないユーザーがプラグイン8aを使うのをプラグイン8aが制限することを許容する。
文書モール・プラグイン8aはさらに、いくつかの異なるサービス・ウィンドウおよびサービス・データを含む。たとえば、文書モール・プラグイン8aでは、電子メール・サービス・ウィンドウ20aおよびフォルダ・サービス・ウィンドウ20bが含まれる。電子メール・サービス・ウィンドウ20aは、ユーザーが、文書モールに保存されている電子メール・アドレスをスキャン宛先として入力することを可能にするユーザー・インターフェースであり、一方、フォルダ・サービス・ウィンドウ20bは、ユーザーが、文書モール・フォルダをスキャン宛先として選択できるようにするユーザー・インターフェースである。さらに、電子メール・サービス・データ21aおよびフォルダ・サービス・データ21bも含まれる。電子メール・サービス・データ21aおよびフォルダ・サービス・データ21bは、電子メール・サービス・ウィンドウ20aおよびフォルダ・サービス・ウィンドウ20bによってそれぞれ生成されたデータに対応する。サービス・ウィンドウ20aおよび20bならびにサービス・データ要素21aおよび21bはいずれも、アクティブ化読み取り部25a…25bおよび26a…26bを含む。アクティブ化読み取り部は、サービス・ウィンドウ/サービス・データ要素の対によって実行される最初の機能であり、対応するサービス・ウィンドウ/サービス・データがアクティブ化されていて、機能を実行できることを保証するために使われる。文書モール・プラグイン8aはまた、サービス・データ・ハンドラ22を含む。文書モール・プラグイン8aの例では、サービス・データ・ハンドラ22は、電子メール・サービス・データ21aとフォルダ・サービス・データ21bの両方を一つのupload.xmlファイルにマージして、そのアップロード・ファイルを文書モール・サーバーにhttpsのpostコマンドなどを通じて送る、アップロード・ハンドラとして使用される。この例で触れられていないサービス・データ・ハンドラ22の他の使用も可能である。サービス・データ・ハンドラ22もアクティブ化読み取り部27を含む。アクティブ化読み取り部27は、サービス・データ・ハンドラ22が、何らかの機能を実行する前にアクティブ化を保証することを許容する。
図6XAは、統一クライアント・ソフトウェア・アーキテクチャ構造を示している。図2Xおよび図3Xに示した統一クライアント・アプリケーション5は統一クライアント・メイン・スレッド30によって立ち上げられる。図6XAでは、統一クライアント・メイン・スレッド30は、アクティブ化読み取り部30a、プロジェクト・アレイ31およびプロジェクト・アレイ・ウィンドウ32を含むものとして示されている。メイン・スレッド30はコア・アプリケーション6を初期化し、アクティブ化読み取り部30aを使ってconfig.xmlファイル7を読み、それにより、config.xmlファイル7内に見出されたアクティブ化情報に基づいてプロジェクト・アレイ31を作成する。config.xmlファイル7は、いくつかのプロジェクト33a…33nに関するアクティブ化情報を含む。各プロジェクト33a…33nは少なくとも一つのアクティブ化されたプラグイン8に対応する。
プロジェクト・アレイ31は、統一クライアント・アプリケーション内でアクティブであると見出されるプロジェクトのリストである。プロジェクト・アレイ31は、config.xmlファイル7内に含まれている<project>タグおよびアクティブ化情報を読むことによって構築される。さらに、メイン・スレッド30は、各プロジェクト33a…33nについて、config.xmlファイル7に含まれている<service>タグおよびアクティブ化情報を読むことによって、サービス・アレイ34a…34nを生成する。サービス・アレイは、個別プロジェクトのもとにインストールされているアクティブ化されたサービスのリストである。メイン・スレッド30はまた、プロジェクト・アレイ・ウィンドウ32をも表示する。プロジェクト・アレイ・ウィンドウ32は、統一クライアント・アプリケーション5を使用または執行するときの最初の画面である。しかしながら、本発明のある実施形態によれば、システム上に一つのプロジェクト33bしかインストールされていない場合には、プロジェクト・アレイ・ウィンドウ32はバイパスされる。プロジェクト・アレイ・ウィンドウ32は、ユーザーが選択するためのプロジェクト・ボタンを表示する。あるプロジェクト・ボタンが選択されると、対応するプロジェクト33a…33nが呼び出される。プロジェクト・アレイ・ウィンドウ32は、config.xmlファイル7内に見出されるアクティブ化情報に依存してアクティブ化されていないプロジェクトを表示してもいいし、しなくてもいいことも注意しておくべきであろう。たとえば、ある構成では、メイン・スレッド30によってプラグイン8がアクティブ化されていないと見出される場合、プラグイン8のためにプロジェクト33a…33nは生成されず、ユーザーには、あたかもそのプラグイン8が物理的にMFP上に存在していないかのように思わせてもよい。これとは対照的に、別の構成では、あるプラグイン8がアクティブ化されていると見出されない場合であっても、メイン・スレッド30は、プラグイン8に対応するプロジェクト33a…33nを生成してもよい。ただし、ユーザーがプロジェクト・アレイ・ウィンドウ32を介してプロジェクト33a…33nを執行しようと試みると、プロジェクト33a…33nは、対応するメイン・ウィンドウ35をロードする代わりに、ユーザーがプロジェクト33a…33nをアクティブ化できるようにする。さらに、プロジェクト33a…33nはユーザーに、プロジェクト33a…33nのデモを見る、あるいはそのプロジェクトを限られた時間だけ使えるようにしてもよい。アクティブ化プロセスのより詳細な議論は、図7XEを参照しつつのちに見出される。プロジェクト・アレイ・ウィンドウ32は、図9Xの関連でのちにさらに詳細に論じられる。
図6XAには、プロジェクト・アレイ31につながっているいくつかのプロジェクト33a…33nが示されている。各プロジェクト33a…33nはアクティブ化読み取り部28aを含む。アクティブ化読み取り部28aは、プロジェクト33a…33nがどのように執行され、どのサービス38a…38nがサービス・アレイ34a…34nに含まれるかを判別する。各プロジェクト33a…33nは、そのプロジェクト33a…33nのログイン/ログアウト・プロセスを、対応するログイン・データ・プラグイン36およびログイン・ウィンドウ・プラグイン37を通じて管理できる。たとえば、プロジェクト33a…33nにおいて認証が必要とされる場合、ログイン・ウィンドウ37はログイン・ウィンドウ・プラグイン37を使って、ユーザーがプロジェクト33a…33nへのアクセスを開始できる前に表示されるログイン・ウィンドウを表示することができる。ひとたびログイン/ログアウト・ボタンが押されたら、ログイン・データ・プラグイン36によって使用される、対応するログインおよびログアウト・ハンドラが呼び出される。
さらに、プロジェクト33a…33nは、ログイン後プロセスを制御できる。たとえば、各サービス38a…38nは、サービス・ウィンドウ・プラグイン40a…40nによって表示されるそのサービス・ウィンドウのための、それ自身のログイン後プロセスを定義できる。認証が成功すると、各サービス38a…38nのログイン後プロセスが逐次的に呼び出される。
上記のログイン・ウィンドウ・プラグイン37によって表示されるログイン・ウィンドウは、認証ユーザー・インターフェース(「UI」)ディスプレイの例である。ログイン・ウィンドウ・プラグイン37によって表示されるログイン・ウィンドウは、ログイン・データ・プラグイン36に含まれ、認証プロセス定義を含んでいるログイン・データとインターフェースをもつ。さらに、ログイン・ウィンドウ・プラグイン37によって使用されるログイン・ウィンドウは、追加的な認証情報を要求するよう実装できる。一例として、文書モール・プラグイン8aについて、文書モール・ログイン・ウィンドウ23は、ユーザーがアカウント情報を入力するための場所を含むよう実装されてもよい。ログイン・ウィンドウ・プラグイン37は他の情報を利用してもよい。さらに、ログイン・データは各サービス・ウィンドウ40a…40nおよびサービス・データ・ハンドラ12によってアクセスされることができる。さらに、各プロジェクト33a…33nはメイン・ウィンドウ35およびサービス・アレイ34a…34nを含む。
図6XAでは、メイン・ウィンドウ35はプロジェクト33bに関連付けられている。メイン・ウィンドウ35はプロジェクト33bの下にしか図示されていないが、各プロジェクト33a…33nがメイン・ウィンドウを含むよう実装されてもよい。メイン・ウィンドウ35は、各サービス38a…38nについてのサービス管理のために使われる。各サービスはメイン・ウィンドウ35に含まれる一つのボタンに対応し、ボタンはサービス・ウィンドウへのユーザー選択可能なリンクである。たとえば、文書モール・プラグイン8aの例では、メイン・ウィンドウ35はスキャン設定の操作、文書名入力およびログイン・ボタン操作を含む。メイン・ウィンドウ35のもう一つの例は、図10との関連でのちに論じる。
各プロジェクト33a…33nには、サービス・アレイ34a…34nが含まれる。各サービス・アレイ34a…34nは、アクティブ化されたサービス38a…38nのリストを含む。サービス38a…38nは、インストールされているプラグインに関係する機能である。各サービス38a…38nは、アクティブ化読み取り部29a…29n、サービス・ウィンドウ・プラグイン40a…40nおよびサービス・データ・プラグイン39a…39nを含んでいる。アクティブ化読み取り部29a…29nは、サービス38a…38nによってアクティブ化される最初の機能であり、そのサービスがアクティブ化されているかどうかを判定する。サービス・ウィンドウ・プラグイン40a…40nに含まれるサービス・ウィンドウは、サービス・ウィンドウ・ユーザー・インターフェースを表示する。さらに、サービス・ウィンドウ・プラグイン40a…40nは、ログイン後プロセスを実行し、サービス・データ・プラグイン39a…39nにデフォルト値を取得して設定する。たとえば、文書モール・プラグイン8aの例のログイン後プロセスでは、文書モール・フォルダ・サービスがユーザーのフォルダ・リストをダウンロードし、ユーザーのフォルダをデフォルトのフォルダ宛先に設定する。サービス・ウィンドウ・プラグイン40a…40nはまた、ユーザーとの対話的な動作も実行して、サービス・データ・プラグイン39a…39n内のサービス・データと対話し、これを更新する。サービス・ウィンドウ・プラグイン40a…40nは抽象的なクラスであり、よってサービス・ウィンドウ・プラグイン40a…40nのある種の振る舞いはコードで事前定義される。しかしながら、開発者は、該開発者の必要に応じて、サービス・ウィンドウ・プラグインに機能を追加し、あるいはサービス・ウィンドウを拡張することができる。たとえば、文書モール・プラグイン8aの例では、文書モールの電子メール・サービス・ウィンドウは、文書モール・サービスを使う電子メール・アドレス検索および手動の電子メール・アドレス入力の両方をサポートする。
サービス・データ・プラグイン39a…39nに含まれるサービス・データは、ユーザー・オペレーションに基づいてサービス・ウィンドウ・プラグイン40a…40nによって更新される。さらに、サービス・データ・プラグイン39a…39nに含まれるサービス・データは、アップロード動作が実行されるときに、アクティブ化サービス・データ・ハンドラ12によってアクセスされる。たとえば、アクティブ化されていれば、電子メールの送信またはネットワーク・フォルダへのアップロードは、文書モール・プラグインの例8aで行われたように、サービス・データ・ハンドラ12によって実行されうる。サービス・ウィンドウ・プラグイン40a…40nと同様、サービス・データ・プラグイン39a…39nは抽象的なクラスであり、さらなるサービス関係データを生成するためにプラグイン開発者が更新または拡張できる。たとえば、文書モール・プラグイン8aの例では、文書モール・電子メール・サービスは、サービス・データ・プラグイン39a…39nに含まれるサービス・データに保存されている電子メール宛先アドレスに基づいて電子メールを送る。
このように、統一クライアント・メイン・スレッド30は、アクティブ化されていてもいいし、いなくてもいい、いくつかのプロジェクト33a…33nをリストするプロジェクト・アレイ31を含み、各プロジェクトはアクティブ化されていてもいなくてもいいいくつかのサービス38a…38nをリストするサービス・アレイ34a…34nを含む。上で論じたように、本発明の種々の実施形態は、アクティブ化されたおよびアクティブ化されていないプロジェクトおよびサービスの、対応するプロジェクト・アレイまたはサービス・アレイ内への包含を扱う。ある実施形態では、アクティブ化されたプロジェクトおよびサービスだけが、対応するプロジェクトおよびサービス・アレイに含められる。別の実施形態では、アクティブ化されていないプロジェクトおよびサービスが対応するプロジェクト・アレイおよびサービス・アレイに含められ、ユーザーがアクティブ化されていないプロジェクトおよびサービスの機能を利用しようと試みると、ユーザーはそのサービスを購入またはアクティブ化する能力を与えられる。この特徴に関するさらなる詳細は、のちにアクティブ化マネージャとの関連で論じる。プロジェクト・アレイに見出されるプロジェクト33a…33nは、プロジェクト・アレイ・ウィンドウ32上に表示され、各プロジェクトはメイン・ウィンドウ35および任意的にはメイン・ウィンドウ35より先に表示されるログイン・ウィンドウを含む。ログイン・ウィンドウは代替的に、メイン・ウィンドウ35と同時に表示されることもできる。さらに、各サービス38a…38nは、サービス・ウィンドウ・プラグイン40a…40nに含まれるサービス・ウィンドウを含む。
単一のプロジェクト33a…33nに複数のプラグイン8が関連付けられることもできることも注意しておくべきであろう。たとえば、文書モール・プラグイン8aおよびeCabinetプラグイン8bが単一のプロジェクト33a…33nに含められている場合、ユーザーはメイン・ウィンドウ35内に、文書モールおよびeCabinetのサービス・ウィンドウ40a…40n両方を見ることになる。ユーザーがあらゆる必要な情報を対応するサービス・ウィンドウ40a…40nに入力する場合、文書モールおよびeCabinetサーバーの両方に一つのスキャン・ジョブが提供されることができる。一つのプロジェクトに複数のプラグインが関連付けられている場合、プラグインに対応するそれぞれの一意的な機能はその独自のアクティブ化読み取り部を有する。たとえば、文書モール機能のみがアクティブ化されている場合には、eCabinet機能は利用可能でないか、あるいは使う前にアクティブ化される必要がある。
ここで図6XAに連絡記号Aによってつながっている図6XBに目を転じる。ひとたびMFPによるスキャンが完了すると、アップロード・データ50が生成される。アップロード・データ50はたとえば、文書名、スキャン・データ、ログイン・データおよびサービス・データを含む。アップロード・データ50はまた、サービス・データ・ハンドラ54a…54nによって受領デバイスにアップロードされることのできる他のいかなる情報をも含むことができる。サービス・データ・ハンドラ54a…54nは、アクティブ化読み取り部55a…55nを含んでおり、MFPからのデータのアップロードを実行する。各サービス・データ・ハンドラはプロジェクト33a…33nに関係している。アップロード・スレッド/ジョブ・モニタ51はジョブの待ち行列53を含んでいる。アップロード・スレッド/ジョブ・モニタ51は、ジョブ待ち行列53を監視し、ジョブが入手可能になったときにジョブを処理するバックグラウンド・プロセスである。アップロード・スレッド/ジョブ・モニタ51は、サービス・データ・ハンドラ54a…54nに接続されている。スキャンが完了すると、メイン・スレッド30はその最終的なアップロード・データ50をポストし、ジョブ待ち行列53に加える。
各ジョブについて、アップロード・スレッド/ジョブ・モニタ51は、対応するサービス・データ・ハンドラ54a…54nに基づいてアップロード・データ50をグループ化し、該アップロード・データ50を処理するために対応するサービス・データ・ハンドラ・プラグイン54a…54nを呼び出す。たとえば、文書モール・プラグイン8aの例では、アップロード・スレッド/ジョブ・モニタ51は、スキャンまたは画像ファイルに関係した情報のような一般データ、ログイン・データ、電子メール・サービス・データおよびフォルダ・サービス・データを、処理してもらうために文書モール・サービス・データ・ハンドラ・プラグイン54a…54nに渡す。ひとたびアップロード・スレッド/ジョブ・モニタ51が上記の諸ステップを完了したら、最終的なステップはジョブ・アップロード状態を取得して、ジョブ・ログを更新することである。ジョブ・アップロード状態は、サービス・データ・ハンドラ54a…54nによるアップロードの状態であり、ジョブ・ログはアップロード・スレッド/ジョブ・モニタ51によって処理されたジョブのリストである。
上記のように、サービス・データ・ハンドラ54a…54nは、アップロード・データ50のアップロードを実行する。しかしながら、サービス・データ・ハンドラ54a…54nは、アクティブ化読み取り部55a…55nによってまずアクティブ化が確認された場合にのみその機能を実行する。たとえば、文書モール・プラグイン8aの例で、アクティブ化読み取り部55a…55nがconfig.xmlファイル7にアクセスして、サービス・データ・ハンドラ54a…54nがアクティブ化されていることを確認する。アクティブ化が確認されれば、サービス・データ・ハンドラ54a…54nは一般データ、ログイン・データ、電子メール宛先のような電子メール・サービス・データおよびフォルダ宛先のようなフォルダ・サービス・データを受領する。最後に、サービス・データ・ハンドラ54a…54nは受領されたアップロード・データ50をupload.xmlファイルに合成して、そのxmlファイルをconfig.xmlファイル7で指定されている文書モール・サーバーに、httpのpostプロセスを介してアップロードする。最後に、サービス・データ・ハンドラ54a…54nは、ジョブのログ記録のために、アップロード状態をジョブ・モニタに報告する。
いかなるプロセスの記述やフローチャートにおけるブロックも、該プロセスにおける特定の論理機能またはステップを実装するための一つまたは複数の実行可能命令を含むモジュール、セグメント、コード部分を表すものとして理解されるべきである。諸機能が図示または議論されたものとは順序違いに執行されうる代替的な実装が本発明の例示的な実施形態の範囲内に含まれる。
図7XA〜7XEは、統一クライアント・メイン・スレッド30のフローチャートを示している。図7XAでは、開始したのち、統一クライアント・アプリケーション5はステップ60で初期化される。統一クライアント・アプリケーション5は、最初にコア・アプリケーション6を初期化することによって初期化される。次にステップ61Xでは、アクティブ化マネージャ6bはMFP上に位置しているconfig.xmlファイル内に見出される各プラグインおよび対応するサービスのアクティブ化状態を判別する。さらなる詳細は図7XEに見出される。ステップ62Xでは、少なくとも一つのプラグインがアクティブ化されているかどうかが判別される。
アクティブ化されているプラグインがなければ、フローはアクティブ化ウィンドウ68に進む。アクティブ化画面はMFPのユーザーが、購入または試用により、MFP上の少なくとも一つのプラグインをアクティブ化することを可能にする。ひとたびユーザーが少なくとも一つのプラグインをアクティブ化したら、フローはステップ61Xに戻って、アクティブ化マネージャは少なくとも一つのプラグイン8がアクティブ化されているかどうかを判別する。
少なくとも一つのプラグインがアクティブ化されていると判定されたら、フローはステップ64Xに進み、そこでconfig.xmlファイル7が読まれる。config.xmlファイル7は、コア・アプリケーション6のため、およびホストまたはコア・アプリケーション6に関連付けられているプラグイン8のための設定を含む。次いでステップ65Xで、プロジェクト・アレイ31が、いくつかのインストールされているプラグイン8に基づいて構築される。次にステップ66Xで、サービス・アレイ34a…34nがアクティブ化されている各プロジェクト33a…33nについて構築される。さらに、ステップ67Xでメイン・ウィンドウ35が構築される。先記したように、のちにより詳細に議論される図10は、メイン・ウィンドウ35の例を示している。フローは次いで図7XBのプロセスBに進む。
図7XEは、アクティブ化マネージャ6bの作業フローのより詳細な記述を示す。特に、図7XEは、図7XAに示されたステップ61の内部プロセスを示している。ひとたび図7XAのステップ60が完了すると、フローはステップ61Xに進む。ステップ61Xは、5つのステップ61XAないし61XEからなっている。ステップ61XAでは、アクティブ化マネージャ6bが起動し、以前にインストールされたconfig.xmlファイル7を読む。config.xmlファイル7にはMFP情報が含まれており、config.xmlファイル7の内容についてのさらなる議論はのちに図11XAないし11XBに関して見出される。
次いでステップ61XBでアクティブ化マネージャはアクティブ化データベースにネットワークを通じて連絡し、ステップ61XCで、MFPおよびアカウント情報を検証するために、MFPに関する情報をアクティブ化データベースに送る。アクティブ化データベースとは、MFPに含まれている各プロジェクトおよびサービスのアクティブ化状態に関する情報を保存するリモートの相互参照されたデータベースでありうる。ステップ61XDでは、アクティブ化マネージャ6bは、アクティブ化情報を、送られたMFP情報に基づいてアクティブ化データベースから取得する。アクティブ化情報とは、MFPに含まれているプロジェクトおよびサービスのアクティブ化状態に関する情報である。アクティブ化マネージャ6bは次いでconfig.xmlファイル7中のアクティブ化情報を、受信された情報に基づいて更新する。
本実施形態では、アクティブ化マネージャはconfig.xmlファイル7の更新を、アクティブ化データベースに連絡することによって行うが、代替的な実施形態では、アクティブ化情報は、ネットワーク中の、以前にアクティブ化データベースに連絡した別のMFPから取得されることもできることを注意しておくべきであろう。
図7XBでは、ステップ70で、前記プロジェクト・アレイを使ってプロジェクト・アレイ・ウィンドウ32が生成される。プロジェクト・アレイ・ウィンドウ32は、アクティブ化されているプロジェクト、あるいはアクティブ化のためにMFPを利用するユーザーによって利用可能であるプロジェクトのみを表示する。よって、MFPを利用しているユーザーが新しいプロジェクトをアクティブ化する権限がない場合には、以前にアクティブ化されたプロジェクトのみが選択のために利用可能となる。次いでステップ71でプロジェクト・アレイ・ウィンドウ32が表示され、ステップ72でプロジェクトが手動のユーザー入力に基づいて選択される。
ひとたびステップ72でプロジェクトが選択されると、ステップ73Xは選択されたプロジェクトがアクティブ化されているかどうかを確認する。答えが否なら、フローはステップ74Xに進んで、アクティブ化ウィンドウがユーザーに、選択された未アクティブ化プロジェクトをアクティブ化することを許容する。ステップ75Xでは、ユーザーがプロジェクトをアクティブ化することを決めたかどうかが判別される。ユーザーが選択されたプロジェクトをアクティブ化しないことに決めた場合、フローはステップ71に戻って、新しいプロジェクトが選択されうる。しかしながら、ユーザーがステップ74Xで選択されたプロジェクトをアクティブ化することに決めた場合、フローはステップ76Xに進んで、config.xmlファイルが、新しくアクティブ化されたプロジェクトについてのアクティブ化情報を含むよう更新される。ひとたびステップ76Xでconfig.xmlファイルが更新されたら、新しくアクティブ化されたプロジェクトについてステップ77Xでサービス・アレイが構築され、フローはステップ78Xに進む。
ステップ73Xに戻ると、選択されたプロジェクトがアクティブ化されている場合、フローはステップ78Xに進み、選択されたプロジェクトが初期化される。
一般的な手順として、ステップ70〜78Xは、選択されたプロジェクトがアクティブ化されているかどうかを確認するプロセスを実行する。選択されたプロジェクトがアクティブ化されていない場合、システムはアクティブ化を許容する。
ここで図7XBのCから図7XCに目を転じると、ステップ80は、初期化されたプロジェクトがログイン・ウィンドウ・プラグイン37を含んでいるかどうかを判別する。ログイン・ウィンドウ・プラグイン37がインストールされていなければ、フローは図7XDのプロセスEに進む。プロジェクトがログイン・ウィンドウ・プラグイン37を含んでいれば、フローはステップ81に進んで、ログイン・プラグインがアクティブ化されているかどうかが判別される。ログイン・プラグインがアクティブ化されていない場合、フローは図7XDのプロセスEに進む。ログインがアクティブ化されていれば、フローはステップ82に進み、ログイン・ウィンドウ・クラスとログイン・データ・クラスの両方がロードされる。
ひとたび両クラス・ファイルがロードされると、ステップ83でログイン・ウィンドウが表示される。ログイン・ウィンドウは、ログイン・ボタンおよび取り消しボタンの両方を含む。ステップ84でどのボタンが押されたかに依存して、フローは異なる進み方をする。ログイン・ボタンが押された場合、フローはステップ85に進んで、ログイン・ウィンドウ・プラグイン37のプロセス・ログイン機能が呼び出されるが、ステップ84で取り消しボタンが押されていた場合には、フローは図7XBのプロセスDに進む。プロセスDはフローをステップ70に戻す。
ステップ84でログイン・ボタンが押された場合、ログイン・ウィンドウ・プラグイン37のログイン機能がステップ85で呼び出される。ステップ86はログインが成功したかどうかを確認する。ログインが成功でなかった場合、フローはステップ87に進んでログイン・ウィンドウをリセットし、ステップ83に戻る。ログインが成功だった場合、フローは図7XDのプロセスEに進む。
このように、図7XCは、選択されたプロジェクト33a…33nにおいてログイン・ウィンドウ・プラグイン37がインストールされている場合に認証を完了させる一般的な手順を含んでいる。ログイン・ウィンドウ・プラグイン37がインストールされていないか、プラグイン37がアクティブ化されていない場合には、ログイン・プロセス全体はスキップされる。
ここで図7XD(i)に目を転じると、ステップ89Xで、各サービスのためのサービス・データがロードされる。ひとたびサービス・データがロードされると、フローはステップ90Xに進み、各サービスのログイン後機能が呼び出される。ステップ91Xでは、ログアウト・リスナー(listener)がメイン・ウィンドウ35中にセットされる。ステップ92Xでは、各サービスのアクティブ化状態が検査される。アクティブ化された各プロジェクトについて少なくとも一つのサービスがアクティブ化される。ユーザーがサービスをアクティブ化する権限がない場合には、アクティブ化済みのサービスのみがステップ93で利用可能となる。それ以外の場合にはインストールされている全サービスがステップ93で利用可能となる。さらに、ステップ93では、各サービス38a…38nについてのサービス・ボタンがメイン・ウィンドウ35中に生成される。次いでステップ94で各サービスのためのサービス・ウィンドウ・クラスがロードされ、ステップ95でアップロード・データ50が初期化または生成される。
ひとたびステップ95でアップロード・データ50が初期化されると、ステップ96でメイン・ウィンドウ35がユーザーに表示される。次いでステップ97でデフォルト・サービスが選択される。デフォルト・サービスは常に、アクティブ化されたサービスであることを注意しておくべきであろう。次いでステップ98で、選択されたサービスに対応するサービス・ウィンドウが表示される。ステップ99では、ステップ98で表示されたサービス・ウィンドウ中にサービス・データが入力される。次いでフローは図7XD(ii)のステップ100に進み、自動ログアウト時間が経過したかどうかが検査される。自動ログアウト機能は、所定の時間にわたってユーザー活動が検出されない場合に、フローを強制的にログアウト・ステップ104に進ませる。自動ログアウト時間が経過していないとステップ100で判定されると、フローはステップ101に進んで、ボタンが押されたかどうかが判定される。ボタンが押されていたらフローはステップ102に進み、そうでなければフローはステップ100に戻る。ステップ102は、どのボタンが押されたかを判別する。サービス・ボタンの一つが押されていた場合、フローはステップ107に進んで、選択されたサービスがアクティブ化されているかどうかが判別される。選択されたサービスがアクティブ化されていなければ、フローは、ユーザーが選択された未アクティブ化サービスをアクティブ化できるステップ108に進む。フローは次いでステップ109に進み、選択されたサービスがステップ108でアクティブ化されたかどうかが判別される。ステップ108でサービスがアクティブ化されなかった場合、フローはステップ98に戻って、再びデフォルト・サービス・ウィンドウが表示される。選択されたサービスがステップ108でアクティブ化されていた場合には、フローはステップ103に進む。
ステップ107に戻ると、選択されたサービスがアクティブ化されていれば、フローはステップ103に進んで、選択されたサービスがセットされる。次いでフローは図7XD(i)のステップ98に戻り、新たに選択されたサービス・ウィンドウが表示される。ステップ102でログアウト・ボタンが押された場合、フローはステップ104に進み、各サービスがリセットされ、メイン・ウィンドウ35がリセットされ、アップロード・データがリセットされる。
ステップ102でユーザーが押したのがMFP「スタート・ボタン」であった場合、フローはステップ105に進む。ステップ105でスキャンが完了する。次いでフローはステップ106に進む。ここで、アップロード・データ50はコピーされ、ジョブ待ち行列53に加えられる。
ここで図8Aおよび8Bに目を向けると、図8Aおよび8Bは、統一クライアント・アップロード・スレッド51のフローチャートを示している。開始後、ステップ120でジョブ・モニタ初期化が実行される。次いでシステムは、ステップ121で、ジョブ待ち行列53に何らかのジョブがあるかどうかを検査する。ジョブ待ち行列53に存在していると判別されるジョブがない場合、フローはステップ121のはじめに戻る。システムは、ジョブ待ち行列53にジョブが観察されるまで、このままループを続ける。
ステップ121でジョブ待ち行列53にジョブが存在していると判定されるとき、フローはステップ122に進み、ジョブ待ち行列53からジョブを得て、対応するサービス・データ・ハンドラ54a…54nに基づいてそのジョブに含まれている諸サービスをグループ化する。次に、一般データ、ログイン・データおよび対応するサービス・データがステップ123でサービス・データ・ハンドラ54a…54nに渡される。ステップ124では、サービス・データ・ハンドラ54a…54nがアクティブ化されているかどうかが判別される。該サービス・データ・ハンドラがアクティブ化されていない場合、フローはステップ128に進み、そのジョブはそのサービス・データ・ハンドラ54a…54nについては処理されない。次いでフローはステップ129に進み、ジョブ・アップロード状態がジョブ・モニタに送られる。次いでフローはステップ127に進む。
しかしながら、ステップ124において、サービス・データ・ハンドラ54a…54nがアクティブ化されている場合、サービス・データ・ハンドラ54a…54nは、ステップ125でジョブ・アップロード・データ50を処理する。
ひとたびサービス・データ・ハンドラ54a…54nがジョブ・アップロード・データ50を処理したら、ステップ126で、ジョブ・モニタ51はサービス・データ・ハンドラ54a…54nからジョブ・アップロード状態を得て、ジョブ・ログを更新する。次いでフローはステップ127に進み、まだほかのサービス・データ・ハンドラ54a…54nがあるかどうかを検査する。そのジョブについてサービス・データ・ハンドラ54a…54nが残っていなければ、フローはステップ121に戻って、待ち行列中に新しいジョブがないかどうか確認する。ステップ127でもっとサービス・データ・ハンドラ54a…54nが含まれている場合には、フローはステップ123に戻り、ステップ123〜126を再び処理する。このループは、ジョブについてサービス・データ・ハンドラ54a…54nの残りがなくなるまで続く。
このように、統一クライアント・アップロード・スレッドは二つのループを含む。第一のループは、待ち行列中に新たなジョブがないかどうかを確認する。第二のループは、ひとたびジョブが存在すると判別されたときに生起し、第二のループでは、システムは、ジョブ中のアクティブ化されているサービス・データ・ハンドラ54a…54nのすべてが処理されたことを確実にするための検査をループする。
ここで図9Xに進むと、プロジェクト・アレイ・ウィンドウ32の例が示されている。プロジェクト・アレイ・ウィンドウ32は、システム・メッセージ151のためにリザーブされている行を含んでいる。また、統一クライアント・ロゴ152およびプロジェクト・アレイ・ウィンドウ32の使い方についてのユーザーに対する案内153も含まれている。プロジェクト・アレイ・ウィンドウはまた、ユーザーが選択できるいくつかのプロジェクト・ボタン154も含んでいる。プロジェクト・ボタンは、ユーザーをメイン・ウィンドウ35および選択されたプロジェクト33a…33nのデフォルトのサービス・ウィンドウにリンクする、そのようなボタンの例は、「文書モール」ボタン154、「eCabinet」ボタン154aまたは他の同様の型のプロジェクト・ボタン154b、154nである。スクロール・バー155は、多数のプロジェクト・ボタンがプロジェクト・アレイ・ウィンドウ32にインストールされることを許容する。このように、プロジェクト・アレイ・ウィンドウ35の機能は、ユーザーがどのプロジェクト33a…33nをMFP上で使用したいかをユーザーが選択することを許容することである。
図10は、メイン・ウィンドウ35の例を示している。メイン・ウィンドウ35は、統一クライアント・ロゴならびに文書名162およびログアウト・ボタン163を含んでいる。図7XDとの関連で先に論じたように、ログアウト・ボタン163は、ユーザーが選択されたプロジェクトからログアウトして、図9Xに記載されたプロジェクト・アレイ・ウィンドウ32に戻ることを許容する。メイン・ウィンドウ35は、いくつかのボタン156ないし159をも含んでいる。これらのボタンはいくつかのサービスに対応する。メイン・ウィンドウ35に表示されるボタンは、プロジェクト・アレイ・ウィンドウ32で選択されたプロジェクト33a…33nに対応したものである。たとえば、プロジェクト・アレイ・ウィンドウ35で「文書モール」プロジェクトが選択されている154ときは、いくつかの「文書モール」関連のボタンが利用可能である。たとえば、ボタン156はユーザーが、スキャンして「文書モール電子メール」へというサービス・ウィンドウを開くことを許容する。項目157は、ユーザーがスキャンしてフォルダへというサービス・ウィンドウを開くことを許容する。項目158はスキャン設定のサービス・ウィンドウを開くボタンである。一方、項目159は、ユーザーがジョブ・ログ・サービス・ウィンドウを開くことを許容する。本発明は、図10に含まれるいくつかのボタンや図10に示されるサービスに限定されない。さらに、矢印ボタン160aおよび160bは、ユーザーが、多数のサービス・ボタンをスクロールしていくことを許容する。こうして、いかなる種類のサービス・ボタンもメイン・ウィンドウ35にインストールできる。
図11XA〜11XBは、アクティブ化情報を含むconfig.xmlファイル7の例を示している。図11XA〜11XBは、config.xmlファイル7がどのように設計されるかの包括的な例であることは意図されておらず、図11XA〜11XBが含んでいるのは、統一クライアント・アプリケーション5のアクティブ化のためにconfig.xmlファイル7が書かれうる一つの仕方であることを注意しておくべきであろう。
図11XAの先頭、第1行のMFPタグは、config.xmlファイル7のMFPセクションを開く。
MFPセクションは、MFPおよび該MFPに関連付けられたアカウントに関係するいくつかのタグを含んでいる。第2行に見出されるMFPSerialNoタグはMFPのシリアル番号を含む。MFPシリアル番号とは、MFPのハードウェアを同定する一意的な番号である。第3行に見出されるMACAddressタグは、MFPのMACアドレスを含んでいる。MACアドレスは、そのMFPのネットワーク・インターフェースを識別する一意的なネットワーク識別コードである。第4行に見出されるAccountNameタグは、そのMFPが登録されているアカウント名を含んでいる。今の例では、アカウント名はRicohである。
第5行に見出されるUserNameタグは、そのMFPに現在ログインしているユーザーのユーザー名を含んでいる。代替的な実施形態ではUserNameタグは使用されないことを注意しておくべきであろう。さらに、図11XAに示していないModelNameタグがMFPセクションに含められてもよい。ModelNameタグは、そのMFPの型名を識別する。最後に、第6行には、MFPタグの閉じが見出される。これは、MFPセクションの終了を識別する。
図11XAの第7行はserviceタグの開きを含んでおり、config.xmlファイル7中の新しいサービス・セクションを開始する。第8行にはServiceNameタグが見出され、これはそのサービスのサービス名を含む。今の例では、サービス名DMEmailが文書モールの電子メール・サービスを表している。第9行ではDisplayNameタグがそのサービスの表示名を含んでいる。今の例では、表示名「Document Mall Email」が示されている。表示名の設定は、そのサービスが、メイン・ウィンドウ35のサービス・ボタンにどのように表示されるかを示す。
第10行は、アクティブ化(Activation)の開きタグを示している。このタグがサービスのアクティブ化セクションを開始する。アクティブ化セクションに含まれるものとしては、サービスのアクティブ化に関するいくつかのタグがある。図11XAおよび11XBに示した例は、config.xmlファイル7にアクティブ化情報を含む一方法であり、他の方法も可能である。第11行には、ActivationRequiredタグが見出される。このタグは、問題のサービスのためにアクティブ化が要求されるかどうかを示すブール指標を含む。第11行に示される今の例では、ActivationRequiredタグは「Y」としてリストされているが、このタグが「N」または「F」の指標を含んでいたら、このサービスはMFP上で使われるべく常に利用可能である。このタグのためのデフォルト値は「Y」である。
アクティブ化タグ・セクション中の次のタグは、第12行に見出されるActivatedタグである。上記のActivationRequiredタグと同様、Activatedタグはブール指標を含む。このブール指標は、問題のサービスがアクティブ化されているかどうかに対応する。この指標が「N」または「F」を示す場合、このサービスは、MFPのユーザーがアクティブ化プロセスを一通り行わない限り、該MFPのユーザーにとって利用可能ではない。今の例では、Activatedタグは「Y」指標を含む。「Y」指標がActivatedタグ中に見出されるとき、第13行および第14行に見出されるActivationDateタグおよびExpirationDateタグはそれぞれ、そのサービスがアクティブ化された日付および該アクティブ化の期限日をリストする。ExpirationDateタグはアクティブ化データベースが連絡不能な場合に有用である。アクティブ化データベースが到達不能な場合、アクティブ化マネージャは、MFPの内部日付スタンプをconfig.xmlファイル7のExpirationDateタグ内に見出される情報と比較して、アクティブ化がまだ有効であることを確認する。最後に、Activationタグの閉じが第15行に見出される。
アクティブ化セクション内では、使用されるアクティブ化の型に依存して、いくつかの異なるタグが使用されてもよいことを注意しておくべきであろう。今の例では時間ベースのアクティブ化が使われているが、異なる型のアクティブ化が使われるときはアクティブ化セクションにおいて異なるタグが使用されてもよい。
第16〜19行にはサービス・ウィンドウ・クラス・ファイルがリストされている。サービス・ウィンドウ・クラス・ファイルは、サービス・ウィンドウを表示するために必要なコードすべてを含んでいる。第20〜23行では、データ・ハンドラ・クラス・ファイルがリストされている。これは、このサービスにおけるデータ・ハンドラのために必要なコードすべてを含んでいる。
第24行から始まって、このサービスのための構成設定データが含まれている。この例では、第25行でDocumentMallサーバー・アドレスがdocumentmall.comとリストされている。アドレスdocumentmall.comは使用されうるアドレスの一例であり、IPv6アドレスまたはIPv4アドレスを含む他のアドレスを使うこともできる。
第27行に始まって、データ・ハンドラ構成設定データが含まれている。この例では、データ・ハンドラ構成設定データはoptional〔任意的〕としてリストされているが、FTPポートまたは他の同様のデータのような情報がこのタグ内にリストされることができる。第26〜27行で、データ・ハンドラ構成設定データ・タグが閉じられ、第29行で上記のサービスについてサービスが閉じられる。
第30行は、新しいサービスに対応する新しいserviceタグを含んでいる。今の例は二つのサービス・セクションしか含んでいないが、MFP上に見出される各サービスに対応するサービス・セクションがconfig.xmlファイル7に含まれてもよい。第31行ではServiceNameタグが見出される。これは、今の例ではeCabinetFolderサービスを示している。第32行では、名称「eCabinet Scan to Folder」を含んでいるDisplayNameタグが見出される。
図11XAの第33行ないし図11XBの第1行は、eCabinetFolderサービスのためのアクティブ化セクションを示している。上記のDMEmailサービスに関して述べたように、eCabinetFolderサービスのアクティブ化セクションはActivationタグの開きと閉じ、ActivationRequiredタグ、Activatedタグ、ActivationDateタグおよびExpirationDateタグを含む。
図11XBの第2〜4行には、サービス・ウィンドウ・クラス・ファイルがリストされている。サービス・ウィンドウ・クラス・ファイルは、サービス・ウィンドウを表示するために必要なコードすべてを含んでいる。第5〜8行では、データ・ハンドラ・クラス・ファイルがリストされている。これは、このサービスにおけるデータ・ハンドラのために必要なコードすべてを含んでいる。
第9行から始まって、eCabinetサービスのための構成設定データが含まれている。この例では、第10行でeCabinetサーバー・アドレスがeCabinet.comとリストされている。アドレスeCabinet.comは使用されうるアドレスの一例であり、IPv6アドレスまたはIPv4アドレスを含む他のアドレスを使うこともできる。
第12行に始まって、データ・ハンドラ構成設定データが含まれている。この例では、データ・ハンドラ構成設定データは任意的としてリストされているが、FTPポートまたは他の同様のデータのような情報がこのタグ内にリストされることができる。第12〜13行で、データ・ハンドラ構成設定データ・タグが閉じられ、第14行でDMEmailサービスについてサービスが閉じられる。
以上の例がprojectタグや対応するプロジェクト・アクティブ化セクションを示しておらず、config.xmlファイル7は、上に記述し、図11XA〜11XBに図示した各サービス・セクションにアクティブ化セクションを入れるのと同様な仕方で、projectタグに従属してアクティブ化セクションを含んでいてもよいことを注意しておくべきであろう。
多機能プリンタにインストールされた統一クライアント・アプリケーション5の機能例についてこれから図12〜図16で記述する。この例では、統一クライアント・アプリケーション5は、eCabinetプラグイン8bとともにインストールされている。eCabinetプラグイン8bをもつ統一クライアント・アプリケーション5はSDK/Jを使って開発され、統一クライアント・アプリケーション5がインストールされている各MFP上でCVMオプションを使う。SDK/Jとは、組み込みソフトウェア・アーキテクチャのソフトウェア開発キット(SDK: software development kit)であり、ハウス開発者、独立系ソフトウェア・ベンダーおよびシステム統合者(integrator)がMFP上でカスタマイズされたJava(登録商標)ベースのソリューションを与えることを許容するものである。CVMオプションとは、MFP上にインストールできるJava(登録商標)仮想マシンである。統一クライアント・アプリケーションに付随するプラグインを作り出すために、他の型の仮想マシンおよび/またはプログラミング言語も使うこともできる。
eCabinetプラグイン8bをもつ統一クライアント・アプリケーションの前記の例は、二つのSDK/J型のアプリケーションを使う。二つのSDK/J型のアプリケーションとは、たとえば、主要な統一されたクライアント機能を実装するJava(登録商標) xletアプリケーション一つと、ウェブ・ブラウザを介してリモートでconfig.xmlファイル7を更新することをユーザーに許容するサーブレット・アプリケーション一つである。eCabinetプラグイン8bをもつ統一クライアント・アプリケーション5によってサポートされているサービスのいくつかは:スキャンしてeCabinetサーバーへ、スキャンしてeCabinetフォルダへ、スキャン設定およびジョブ・ログ閲覧である。これらのサービスは、eCabinetプロジェクトのメイン・ウィンドウ35内にサービス・ボタンとして表現される。統一クライアント・アプリケーション5が今の例のように一つのプロジェクト33a…33nしか含んでいない場合には、デフォルトのサービス・ウィンドウが、メイン・ウィンドウ35とともに表示される最初のウィンドウである。
図12では、メイン・ウィンドウ35およびサービス・ウィンドウ173の例が示されている。メイン・ウィンドウ35およびeCabinet所有者サービス・ウィンドウ173が表示される。メイン・ウィンドウ35はロゴ161ならびに文書名162およびセッション終了またはログアウト・ボタン163を含む。さらに、いくつかのサービス・ボタン164〜167もメイン・ウィンドウ35に含まれる。このeCabinetの例では、第一のサービス・ボタンはeCabinet所有者ボタン164である。図12では、このボタンが選択され、結果として、対応するeCabinet所有者サービス・ウィンドウ173が表示されている。eCabinet所有者サービス・ウィンドウの左側は、orderリスト・ウィンドウ168およびリフレッシュ・ボタン169を含んでいる。さらに、eCabinet所有者サービス・ウィンドウ173の左側には、選択された所有者のウィンドウ170がある。また、公開ボタン171およびリセット・ボタン172が含まれている。eCabinet所有者ボタンは、ユーザーに、スキャンしてeCabinet所有者へというサービス(scan to eCabinet owner service)を提供する。所有者リストはeCabinetサーバーから自動的にダウンロードされ、所有者リスト・ウィンドウ168に表示される。eCabinetフォルダ・ウィンドウ193でeCabinetフォルダが選択されない場合、複数所有者が選択されることもできる。eCabinetフォルダ・ウィンドウ193でeCabinetフォルダが選択されるときは、単一の所有者選択のみが許容される。所有者リスト・ウィンドウ168は所有者のリストを示している。選択済みウィンドウ170は宛先所有者を示す。宛先所有者を追加するためには、ユーザーは所有者リスト・ウィンドウ168で所望される所有者をハイライトして、右矢印ボタン175を押せばよい。宛先所有者を削除するためには、ユーザーは選択済みウィンドウ170内でその所有者をハイライトして、左矢印176を押せばよい。リフレッシュ・ボタン169は、ユーザーが所有者リストをサーバーからダウンロードし直すことを許容する。公開ボタン171は、ユーザーが、スキャン文書の属性を公開またはプライベートに設定することを許容する。リセット・ボタン172は、選択済みウィンドウの内容全部を除去することをユーザーに許容する。
図13は、eCabinet Folderサービス・ボタン165が選択され、eCabinetフォルダ・サービス・ウィンドウ193が表示されているメイン・ウィンドウ35の例を示している。この例では、eCabinetフォルダ・ボタン165が選択され、結果としてeCabinetフォルダ・サービス・ウィンドウ193が表示されている。eCabinetフォルダ・サービス・ウィンドウ193はフォルダ・リスト・ウィンドウ189、リフレッシュ・ボタン190、選択済みウィンドウ191およびリセット・ボタン192を含む。eCabinetフォルダ・サービスはユーザーに、スキャンしてeCabinetフォルダへというサービスの能力を提供する。eCabinetフォルダ・リストが、config.xmlファイル7に含まれていた構成設定を使って自動的にeCabinetサーバーからダウンロードされる。ユーザーがeCabinetフォルダ・ボタン165を選択すると、統一クライアント・アプリケーション5はソフトウェア・キーボードでユーザーに、ユーザー名およびパスワードを入力するよう促す。次いで統一クライアント・アプリケーション5はそのユーザーのフォルダ・ツリーをダウンロードし、該ツリーをフォルダ・リスト・ウィンドウに表示する。eCabinetフォルダ・サービスの使用は、単一の所有者の選択を必要とすることを注意しておく。eCabinet所有者サービス・ウィンドウ173で複数の所有者が選択されていて、ユーザーがeCabinetフォルダ・ボタン165を押した場合には、eCabinetフォルダ・サービスでは単一の所有者を選択する必要があると述べるエラー・メッセージがポップアップする。フォルダ・リスト・ウィンドウ189は、ユーザーのeCabinetフォルダ・ツリーを示す。ユーザーは、フォルダ・リスト・ウィンドウ189内のフォルダ・ツリーをブラウズできる。宛先フォルダを追加するには、ユーザーは所望されるフォルダをフォルダ・リスト・ウィンドウ189中でハイライトして、右矢印ボタン175を押せばよい。選択済みのウィンドウ191内で宛先フォルダを削除するためには、ユーザーは選択済みウィンドウ191内で所望されるフォルダをハイライトして、左矢印176を押せばよい。複数フォルダも選択できることを注意しておくべきであろう。リフレッシュ・ボタン190は、ユーザーがeCabinetフォルダ・リストをeCabinetサーバーからダウンロードし直すことを許容する。リフレッシュ・ボタン190が押されると、ユーザーは、再びユーザー名およびパスワードの入力を促される。リセット・ボタン192は、選択済みウィンドウ191内に入れられた内容すべてが除去されることを許容する。フォルダ・リスト・ウィンドウ189に含まれるeCabinetフォルダ・リストが、図12に含まれるeCabinet所有者サービス・ウィンドウ173内で選択された所有者に依存することも注意しておくべきであろう。選択され、選択済みウィンドウ170に含められたユーザーが、フォルダ・リスト・ウィンドウ189に含まれるフォルダ・リストに対応するユーザーである。
図14は、スキャン設定ボタン166が選択されたときの例のためのユーザー・インターフェースを示している。スキャン設定166ボタンが選択されると、スキャン設定サービス・ウィンドウ218が表示される。スキャン設定サービス・ウィンドウは、解像度209、原稿211、画像種別214およびファイル・フォーマット215を含むいくつかのオプションを含んでいる。解像度オプション209の下では、スキャナ解像度に関係するいくつかの異なるボタンが使用される。この例では、200DPI 210a、300DPI 210b、400DPI 210cまたは600DPI 210nが選択されるべく利用可能である。DPIオプション解像度オプションの他の同様の種別を使うこともできる。原稿オプション211は二つのボタンを含んでいる。第一のボタン212aは、片面オプションが選択されることを許容する。第二のボタン212nは、両面オプションが選択されることを許容する。さらに、バッチ・スキャン・ボタン213が表示されている。画像種別オプション214は、いくつかの画像種別をリストするドロップダウン・メニューも含んでいる。今の例では、テキスト・オプションが表示されている。画像種別ドロップダウン・ボックスではテキスト、写真、グレースケールまたは写真オプションが利用可能であることも注意しておくべきであろう。同様に、ファイル・フォーマット・オプション215の下では、いくつかの異なるファイル・フォーマットをリストする第二のドロップダウン・ボックスが含まれている。今の例では、PDFオプションが表示されている。しかしながら、ファイル・フォーマット・ドロップダウン・ボックスでは、単一ページtiff、複数ページtiff、jpegおよびPDFオプションが利用可能である。スキャン設定サービス・ウィンドウ218上にはまた、スキャン・サイズ・ボタン216およびリセット・ボタン217が含まれる。
スキャン・サイズ・ボタン216は、図15に示されている新しいウィンドウを開く。スキャン・サイズ・ウィンドウ219はまだスキャン設定サービス・ウィンドウ218の一部であるが、スキャン・サイズ・ウィンドウ219はスキャン設定サービス・ウィンドウ218の代わりにメイン・ウィンドウ35の下に表示される。スキャン・サイズ・ウィンドウ219では、いくつかの異なるオプションが利用可能である。たとえば、自動検出239、8×11 5-1/2×8-1/2 A5、240a、8-1/2×11 5-1/2×8-1/2 A5 240b、11×17 a3、B4 JIS 240c、8-1/2×13 A4 B5 JIS 240dおよび8-1/2×14 A4 B5 JIS 240nである。また、リセット・ボタン242および一般ボタン241が含まれる。後者はユーザーを元のスキャン設定サービス・ウィンドウ218に戻す。
図16は、メイン・ウィンドウ35と、ジョブ・ログ・ボタン167が選択されたときに表示されるジョブ・ログ・サービス・ウィンドウ264とを示している。ジョブ・ログ・サービス・ウィンドウ264には、日時259、文書名260、ページ261および状態262のタイトルが表示されている。ジョブ・ログ・サービス・ウィンドウ264から、ユーザーは、日付および時刻、文書名、ページ数およびジョブの状態を通じて特定的にスキャン・ジョブ・アップロード状態を確認できる。これでeCabinetプラグイン8bのMFPディスプレイの例を終える。
図17X〜図19Xは、eCabinetプラグイン8bの設定をリモートで管理するための例示的な表示である。eCabinetプラグイン8bをもつ統一クライアント・アプリケーション5は、ウェブ・アクセスを通じてリモートで構成設定できる。セキュリティ上の目的のため、ウェブサイトはパスワードで保護される。図17X〜図19Xは、eCabinetプラグイン8bのためのリモート構成設定ウェブサイトの例を示している。
図17Xは、eCabinetプラグイン8bがインストールされた統一クライアント・アプリケーション5のリモート構成設定ウェブサイト上の一般的な構成設定ウィンドウ300Xの例を示している。ユーザーが図17Xに示されるウェブサイトにアクセスするとき、三つのオプションが示される。一般ウィンドウ・ボタン271、eCabinetサーバー・ボタン272またはデフォルト・スキャン設定ボタン273である。これら三つのオプションは三つの画面に対応する:一般画面300X、eCabinetサーバー構成設定画面290およびデフォルト設定構成設定画面270である。一般ボタン271によって選択され、ロードされるデフォルト画面でもある一般構成設定画面300Xを通じていくつかの設定が構成設定可能である。まず、タイムスタンプ・サフィックス付き文書名302の有効/無効をチェックできる。マシン・リセット時間(秒)303も変更のために利用可能である。マシン・リセット時間(秒)303設定は、リフレッシュ・タイマーをもつ自動セッション・ログアウトに関係する。この例では、自動セッション・リフレッシュ・タイマーには600秒と入れられている。管理者パスワード変更オプション304も選択のために利用可能である。この設定は、リモート構成設定サービスを使うための管理用パスワードをユーザーが変更することを許容する。また、再インストールでパスワードがデフォルトにリセットできることも注意しておくべきであろう。また、ユーザーが一般構成設定ウィンドウ300Xにおいて行った変更を更新および適用する、あるいは該変更を取り消すことをユーザーに許容する更新282ボタンおよび取り消し283ボタンも含まれている。
図18Xは、eCabinetサーバー・ボタン272が選択されたときの結果を示している。eCabinetサーバー・ボタンが表示するeCabinetサーバー・ウィンドウ290は、以下のオプションを許容する:eCabinetサーバー・アドレスおよびFTPポート。これらはいずれも、281に示されるように必須フィールドである。eCabinetサーバー・アドレス291およびFTPポート292はいずれもユーザーが入力できる。FTPポート292は自動的にデフォルトftpポートで埋められる。図17Xと同様、更新ボタン282および取り消しボタン283が利用可能である。
図19Xは、デフォルト・スキャン設定ボタン273が選択されたときの例を示している。デフォルト・スキャン設定ボタンが選択されると、デフォルト・スキャン設定ウィンドウ270が表示される。デフォルト・スキャン設定ウィンドウ270では、いくつかのオプションが表示される。まず、デフォルト・スキャン解像度275が変更されるべく利用可能である。この例では200dpiが選択されている。eCabinetプラグイン8bがインストールされた統一クライアント・アプリケーション5では、200dpi、300dpi、400dpiおよび600dpiのデフォルト・スキャン解像度が利用可能であり、項目275のドロップダウン・ボックス中に表示される。デフォルト・バッチ・スキャン・オプション276も、両面277オプションとともに選択可能である。デフォルト画像種別278もeCabinetプラグイン8bの例で選択されるべく利用可能である。項目278のドロップダウン・ボックス中で利用可能なデフォルト画像種別は、テキスト、印刷、テキスト写真、写真またはグレースケールである。これらの画像種別はスキャンされた画像の異なる品質に対応する。次の利用可能なオプションはデフォルト・テキスト写真ファイル・フォーマット279である。この例では、複数ページtiffオプションが選択されている。eCabinetプラグイン8bがインストールされた統一クライアント・アプリケーション5では、279のドロップダウン・ボックスのために利用可能なオプションは、単一ページtiff、複数ページtiffまたはpdfである。単一ページtiffは、一ファイルに単一の画像しか含まないtiff画像ファイルである。複数ページtiffは、いくつかの画像を含む画像ファイルである。PDFはアドビ・システムズ社の権利で保護されたフォーマットであり、複数ページの固定レイアウトの文書を含む。最後のオプションはデフォルト・グレースケール/カラー・ファイル・フォーマット280である。この例では、jpgがデフォルト・グレースケール/カラー・ファイル・フォーマットとして選択されているが、eCabinetプラグイン8bがインストールされた統一クライアント・アプリケーション5ではpdfオプションも利用可能である。項目281は選択されなければならない必須フィールドを示す。図17Xおよび図18Xと同様、更新ボタン282および取り消しボタン283が利用可能である。更新ボタン282および取り消しボタン283は、ユーザーに、更新ボタン282で変更を適用し、取り消しボタン283で変更を取り消すことを許容する。
図20Xは、本発明のある実施形態に基づくMFPのブロック図である。図20Xに示されるように、MFP300Xはアプリケーション層301X、OS302Xおよびハードウェア資源303XXを含む。
アプリケーション層301Xは、統一クライアント・アプリケーション304XXと、該統一クライアント・アプリケーション304XXに含まれるいくつかのプラグイン305Xa…305Xnとを含む。統一クライアント・アプリケーションには、プラグインとのインターフェースをもち、プラグイン305Xが統一クライアント・アプリケーション304XXによってアクセスされる能力を制限するアクティブ化マネージャ306Xが含まれていることも注意しておくべきであろう。
アプリケーション層301Xは、ソフトウェア階層構造内で、アプリケーション層301Xにインストールされている、統一クライアント・アプリケーション304XXのようなアプリケーションがOS302Xを通じてハードウェア303XXにアクセスする位置である。さらに、プラグイン305Xa…305Xnは、アプリケーション層301Xにインストールされている統一クライアント・アプリケーション304XXを介してOS302Xおよびハードウェア303XXにアクセスする。
アプリケーション層301XがOS302Xからは独立であり、アプリケーション層301XはOS302Xを通じてハードウェアにアクセスするが、OS302Xの一部ではないことに注意しておくことも重要である。
OS302Xは、ハードウェア303XXにアクセスする任意のオペレーティング・システムである。さらに、OS302Xは、アプリケーション層301Xにインストールされているアプリケーションがハードウェア303XXにアクセスすることを許容するための通り道(conduit)としてはたらく。
ハードウェア303XXは多機能プリンタの物理的な構成要素である。たとえば、ハードウェア303XXは、スキャナ、プリンタ、ファクスまたは他の任意のハードウェア構成要素を含みうる。
図18は、本発明のある実施形態に基づくMFP499のハードウェア構成設定の例を示している。図18に示されるように、MFP499はコントローラ・ボード400、操作パネル410、ファクス制御ユニット(FCU: fax control unit)420、USB430、IEEE1394ポート440およびプリンタ450を含んでいる。IEEE1394b、USB2.0を含む他の型のI/Oインターフェースも含められることも注意しておくべきであろう。コントローラ・ボード400は、処理するためのCPU402と、SDRAM403、SRAM408、フラッシュメモリ(フラッシュROM)404、フラッシュカード・インターフェース部406およびHD405といった、MFP499に関連するデータを記憶するためのいくつかの記憶デバイスを含む。これらの構成要素のそれぞれは、ASIC401に接続されている。ASIC401は、MFP499で使うために特別に設計された特定用途向け集積回路である。他の型の記憶デバイスならびに他の型のデータ・プロセッサおよび集積回路も可能である。操作パネル410は、ASIC401に直接接続される。通信インターフェース420もそうである。通信インターフェース420はまた、ネットワークまたは他の任意の同様の型の通信媒体に接続されることもできる。USB 430、IEEE1394 440ならびにスキャン、印刷およびファクスのような多機能プリンタ機能450が、PCIバス480を介してASIC401に接続されている。
SRAM408は不揮発性RAMである。他の型のSRAMも可能である。フラッシュカード407がフラッシュカード・インターフェース部406に挿入されることができ、それによりASIC401とフラッシュカード407の間でフラッシュカード・インターフェース部406を介してデータが送受信されるようになる。
操作パネル410は、ユーザーによるキー入力およびボタン押下などといったキー操作のために使われる操作部と、さまざまな画面のような描画データを表示するための表示部とを含む。他の型のハードウェア・コンポーネントが本発明において使われることもできることは認識しておくべきである。
さらに、フロッピー(登録商標)ディスク、磁気テープ、CD-ROMなどといったコンピュータ可読媒体に関し、該コンピュータ可読媒体に保存されているプログラムをMFPにインストールすることによって、MFPは本発明の機能を実行できる。
本発明は、多機能プリンタとの関連で記載してきたが、コピー機、デジタルコピー機、プリンタ、スキャナ、デジタル・カメラ、ファクス機もしくは多機能プリンタまたはその任意の組み合わせといったいかなる画像処理装置にも適用可能である。汎用コンピュータは画像処理装置とは考えない。さらに、本発明は他の特殊目的デバイスにも適用可能である。特殊目的デバイスとは、ナビゲーション・システム、全地球測位システム、自動販売機、計量システム(metering system)、機械ツールおよびプログラミングもしくはプログラムされたプロセッサを使って動作するその他のツール、自動車、列車、オートバイ、飛行機もしくはボートといった他の輸送デバイス、レーダー・システム、ラジオ、MP3プレーヤー、デジタル音楽プレーヤーおよび他のオーディオ・システム、携帯電話、他の通信デバイスおよびシステムならびにプラグインを使って動作する他の任意の特殊目的デバイスなどがある。
本発明は、個別的に開示された実施形態に限定されるものではない。本発明の範囲から外れることなく変形および修正がなしうるものである。
〈第三の側面〉
これから、主として本発明の第三の側面を扱う。
〔技術分野〕
本発明は、画像処理装置上での画像のサムネイル/プレビューのためのシステムおよび方法に関する。
〔発明の開示〕
〔発明が解決しようとする課題〕
本発明者らは、従来式の複合機(multifunction device)のユーザーは、印刷または保存の後まで、複合機でのスキャンがうまくいったかどうか、あるいは入力ページをスキャンし直す必要があるのかどうかを判別できないということを見きわめた。さらに、本発明者らは、従来式の複合機は、ジョブのスキャン品質を検証し、スキャンに際して現れたバーコード、署名、コピー防止マークまたは透かしといったものを検証することができないことを見きわめた。
〔課題を解決するための手段〕
本発明は、中でも、画像を修正する方法であって、複数ページをもつ少なくとも一つの文書をスキャンする段階と、スキャンした文書のページの少なくとも一つのサムネイル画像を表示する段階と、スキャンした文書の少なくとも一つの画像を修正するための少なくとも一つの操作に対応する選択可能なグラフィック印(graphical indicia)を表示する段階と、選択可能なグラフィック印を選択する段階と、前記選択に従って前記少なくとも一つの画像を修正する段階とを含む方法を提供する。
また本発明に含まれるものとして、複数ページをもつ少なくとも一つの文書をスキャンする段階と、スキャンした文書のページの少なくとも一つのプレビュー画像を表示する段階と、プレビュー画像を修正するための少なくとも一つの操作に対応する選択可能なグラフィック印(graphical indicia)を表示する段階と、選択可能なグラフィック印を選択する段階と、前記選択に従って前記プレビュー画像を修正する段階とを含む方法がある。
本発明のその他の目的、特徴および利点は、以下の詳細な記述を付属の図面とともに読んだとき、より明白となるであろう。
〔発明を実施するための最良の形態〕
ここで図面を参照する。図面では、各図を通じて同様の参照符号は同一または対応する部分を示す。より具体的には、図面のうち図22を参照する。描かれているのは、入力文書2002が複合機2001に入力されて、該複合機2001が出力文書2003を与える典型例である。本発明のある実施形態は、入力文書2002が出力文書2003として出力されたり、GlobalScanサーバー2005に送られたりする前に、入力文書2002のプレビューを可能にする。スキャンされた入力文書2002のプレビュー画像2004は、ユーザーが、入力画像2002のスキャンを簡単に見直すことを可能にする。さらに、GlobalScanサーバー2005が複合機2001とともに使われている場合には、画像プレビューは、ジョブが最終処理のためにGlobalScanサーバー2005に託される前に、ユーザーが複数のスキャンされた画像を見直すことを許容する。GlobalScanサーバーは、電子的送信または保存のためにデジタルファイルを生成することに加えて、スキャンされた文書を受け容れ、整理し、コントロールするデジタル文書ルーティング・システムとしてはたらく。さらに、GlobalScanサーバー2005およびシステムについての情報は、2005年3月30日に出願された関係する米国出願11/092,831「System and Method for Authenticating a User of an Image Processing System」、2005年3月30日に出願された11/092,836「System and Method for Managing Documents with Multiple Network Applications」、2005年3月30日に出願された11/092,829「System and Method for Compensating for Resource Unavailability in an Image Processing System」に見出すことができる。このそれぞれは、ここに参照によって組み込まれる。
本発明のある実施形態によれば、ユーザーは、入力文書2002が最終処理のためのGlobalScanサーバー2005に提出される前に、複合機2001上で入力文書2002をプレビューする。本発明のある実施形態によれば、複合機2001(「MFD」)の画像プレビュー機能は、プレビュー操作を処理するために異なるデバイスが使われたとしても、同じであってもよいことを注意しておくべきであろう。プレビュー操作をローカルに扱うためにMFD2001を使ってもよい。代替的に、最終的な提出の前に実行されるプレビュー・プロセスにおける各動作を実行するためにGlobalScanサーバー2005が使われもよい。さらに、管理者はMFD1上のプレビュー/サムネイル機能をリモートにアクティブ化および非アクティブ化することができる。管理者は、プレビュー機能の諸動作がGlobalScanサーバーを使って実行されるか、MFD1を使って実行されるかを決定できる。
画像サムネイル/プレビュー機能のためのユーザー・インターフェースについてこれから図23A〜23Cを参照しつつ述べる。
図23Aは、GlobalScanメイン・ウィンドウ2009の下に表示されるプレビュー・ページ2010を示している。プレビュー・ページ2010は、ユーザーがプロジェクトを選択し、次いでGlobalScanメイン・ウィンドウ2009上に位置しているプレビュー・タブ2013を選択するか押すかしたときに表示される。また、GlobalScanメイン・ウィンドウ2009には、スキャンしてフォルダというタブ2014、スキャン設定タブ2015、ジョブ・ログ・タブ2016、文書名ボタン2011、プロジェクト・ボタン2012およびスクロール・ボタン2021aおよび2021bが含まれる。スクロール・ボタン2021aおよび2021bは、ディスプレイ・ウィンドウ上で利用可能なスペースより多いタブがある場合に、利用可能なタブの間でスクロールするために使用される。文書名ボタン2011は、ユーザーが、スキャンされる入力文書2002の名前を変えることを許容する。プロジェクト・ボタン2012は、ユーザーが現在選択されているプロジェクトを終了して新たなプロジェクトを選択することを許容する。電子メール・タブ2014は、ユーザーがスキャンして電子メールへという機能を利用することを許容する。スキャン設定タブ2015は、ユーザーが、解像度などといった、スキャンのためのローカライズされた設定を変更することを許容する。ジョブ・ログ・タブ2016は、ユーザーが、MFD2001上での以前に実行されたスキャン・ジョブのリストを見ることを許容する。
先記したように、GlobalScanメイン・ウィンドウ2010でプレビュー・タブ2013が押されると、プレビュー・ウィンドウ2010が表示される。プレビュー・ウィンドウ2010はプレビュー・ボタン2020aを含む。プレビュー機能を実行するためには、必須ではないが好ましくは、プレビュー・ボタン2020aがハイライトされる。プレビュー・ボタン2020aは、該プレビュー・ボタン2020aを押すかクリックすることによってハイライト状態にされたり、ハイライト状態を解除されたりする。スキャン・ジョブが開始される前にプレビュー・ボタン2020aが押される場合、スキャン・ジョブの完了後、プレビュー機能が自動的に開始される。プレビュー・ボタン2020aが選択されていなければ、プレビュー機能は実行されない。図23Bは、プレビュー・ボタン2020aがハイライトされているときの例を示している。
プレビュー・ウィンドウ2010にはまた、プレビュー・ページ範囲ドロップダウン・ボックス2019aが含まれる。プレビュー・ページ範囲ドロップダウン・ボックス2019aは、入力文書のページのうちどれだけをプレビューしたいかをユーザーが選択できるようにする。ユーザーに利用可能なオプションは、たとえばサーバー側であらかじめ設定されている。図23Aに示した例では、プレビュー・ページ範囲ドロップダウン・ボックス2019a内でオプション「すべて」が選択されている。しかしながら、図23Bでは、プレビュー・ページ範囲ドロップダウン・ボックス2019a内でオプション「なし」が選択されている。図23Cは、プレビュー・ページ範囲ドロップダウン・ボックス2019a内で利用可能な、この例におけるオプションのすべてを示している。この例では、オプションは「なし」「すべて」「最初のページのみ」「最初の5ページ」または「最後のページのみ」である。しかしながら、示されるページ数についての他の種類の制約が設定されてもよい。
図2Aのプレビュー・ウィンドウ10の左側には、色種別ボタン2017が含まれている。この例では、色種別ボタンは、値2を示している。こうして、プレビュー・ウィンドウ2010の色種別部分は、ユーザーがサムネイルの色種別(color type)を選択することを可能にする。
画像プレビュー機能が使われ、ユーザーがスキャンを開始するスタート・ボタンを選択するときは、MFD2001は入力文書をスキャンし、ジョブをサーバー2005にアップロードし、サムネイルを取得し、該サムネイルを表示する。これについてはのちに図24および図25との関連で述べる。ある実施形態によれば、サーバー2006は好ましくは、スキャンされたページのうち、プレビュー・ページ範囲ドロップダウン・ボックス2019aにおいてユーザーが選択したページのためのサムネイルのみを生成する。あるいはまた、システムは、ジョブ中の任意のまたは全部のスキャンしたページについてのサムネイルを生成することができてもよい。この実施形態では、ユーザーによってプレビュー画像に対して実行される操作は、そのユーザーがプレビューする選択されたページに対してのみ実行される。しかしながら、プレビューが承認されるときには、変更されるのはプレビューされたページだけだが、スキャン・ジョブ内のすべてのページがジョブ・モニタに送られる。あるいはまた、ユーザーは、プレビューされた一つのページに変更を加え、その変更を、たとえそのユーザーがプレビューしなかったページであっても、各ページに、あるいはいくつかの選択されたページに適用してもよい。
図24は、プレビュー・ボタン2020aがハイライトされ、スキャン・ジョブが実行されたのちに表示されるサムネイル選択ウィンドウ2034を示している。サムネイル選択ウィンドウ2034は、いくつかのサムネイルを含んでおり、そのそれぞれが、MFD2001で実行されたスキャン・ジョブのスキャンされたページまたは画像の一つを表している。ある実施形態では、サムネイル・サイズはあらかじめ決まっており、MFD2001に保存されている。あるいはまた、別の実施形態では、サムネイル・サイズは、GlobalScanサーバー2005の設定によって決定されてもよい。サムネイル・ウィンドウ2034に示されるように、サムネイル2035A〜2035Dは、現在のスキャン・ジョブの指定されたページまたは画像をさらに処理するためにユーザーが選択できる、選択可能なアイコンである。ある実施形態では、ユーザーのスキャン・ジョブが文書を一つしか含まない場合には、サムネイル選択ウィンドウ2034は示されない。
いくつかのサムネイルに加えて、サムネイル選択ウィンドウ2034はスクロール・バー2037を含む。スクロール・バー2037は、押されるか選択されるかしたときに、ディスプレイ・ウィンドウ中に示せない追加的な画像サムネイルを示す。図25は、図24のもとのウィンドウには示せない追加的なサムネイル2035Eを示している。図24に示されるウィンドウに戻るためには、スクロール・バー2037の上へ(up)ボタンが使用されうる。
図24または図25で画像サムネイルが選択されたとき、図26に示されるプレビュー詳細ウィンドウ2060が持ち出される。プレビュー詳細ウィンドウ2060は、図24および図25に示したサムネイル選択ウィンドウ2034にユーザーを戻す「戻る」(back)ボタン2061を含んでいる。画像プレビュー詳細ウィンドウ2060は、スキャン文書のプレビューを示す、プレビュー・ウィンドウ2051を含んでいる。画像プレビュー詳細ウィンドウ2060にはまた、上および下のパン・ボタン2042および右および左のパン・ボタン2043も含まれる。これらのパン・ボタンは、ユーザーがプレビューされる画像を通じてパンすることを許容する。画像プレビュー詳細ウィンドウ2060の左側で、パン・ボタンの上には、選択されたプレビューされるページまたは画像についての情報を含むページ情報ウィンドウ2041がある。図26に示された例では、ページ情報ウィンドウ2041は、サムネイルの識別番号、サムネイル画像の画像サイズおよび色モード(color mode)を含んでいる。ページ情報ウィンドウ41には、プロセス履歴、ページ解像度、ページ識別情報、ページからのバーコード情報、透かしまたはその他の種類の情報といった、他の情報も表示されてもよい。
さらに、いくつかのボタンがプレビュー画像詳細ウィンドウ2060の右側に含まれている。含まれている最初のボタンは左矢印または前へ(previous)ボタン2044である。前へボタン2044は、現在表示されているページの直前にスキャンされたページをユーザーが見ることを可能にする。右矢印または次へ(next)ボタン2045も含まれており、これは、現在表示されている画像の直後にスキャンされたページをユーザーが閲覧することを許容する。含まれているものとしてまた、ユーザーが画像を時計回りに90°回転させることを許容する順回転ボタン2046と、ユーザーが画像を反時計回りに90°回転させることを許容する逆回転ボタン2047とがある。ユーザーがプレビュー・ウィンドウ2051において画像にズームインすることを許容するズームイン・ボタン2048が順回転ボタン2046の真上に含まれている。ユーザーがプレビュー・ウィンドウ2051において画像からズームアウトすることを許容するズームアウト・ボタン2049がズームイン・ボタン2048の隣に含まれている。最後に、ユーザーが現在表示されている画像を現在のジョブから削除することを許容する削除ボタン2050が含まれている。削除ボタン2050によって開始される削除機能は、空白のページを削除するために、あるいはスキャン・ジョブにおいて誤ってスキャンされたページを削除するために有用である。
順回転ボタン2046および逆回転ボタン2047に関し、これらのボタンは最終的なスキャン・ページの配向を変える。ひとたびプレビュー・ジョブが提出されると、回転された結果は最終的な電子文書または紙文書において見られる。さらに、回転機能のもう一つの特徴は、「追従(follow-me)」回転という特徴である。「追従」回転特徴は、ユーザーが、画像またはページをディスプレイ画面上で視野に保ちながら、画像またはページ全体を回転させることを許容する。本発明のある実施形態では、ディスプレイ画面はLCDディスプレイ画面でありうる。あるいは代替的に、ディスプレイ画面は、MFD2001について使用されるべく利用可能なディスプレイ画面のいかなる種類であってもよい。ディスプレイ画面のサイズは、MFD2001の物理的な特徴によってのみ制限され、MFD2001上のいかなる実現可能な位置に位置されていることもできる。図26には示していないが、プレビュー画像詳細ウィンドウ2060は、ユーザーが現在表示されている画像を反転することを可能にする水平方向および垂直方向の反転機能を含んでいてもよい。
ズームイン・ボタン2048およびズームアウト・ボタン2049はプレビューされた画像をウィンドウ上でより大きく、またはより小さくする。ズームイン機能は、ユーザーがページの各部を拡大することを可能にする。プレビューされた画像またはページのそれぞれは、好ましくはある実施形態ではサーバーで管理者によってあらかじめ決定されている倍率に基づいてズームできる。あるいはまた、ユーザーは、ズームの倍率をローカルに変更できてもよい。ある実施形態では、ズーム機能は元の文書に影響せず、ユーザーがプレビューされる画像をよりアップで見ることを許容するだけである。あるいはまた、ズーム機能は、スキャンされたページのズームを恒久的に変えるために使われてもよい。ズームイン・ボタン2048およびズームアウト・ボタン2049が使われるとき、上および下のパン・スクロール・バー2042および左および右のパン・スクロール・バー2043を、画像のズームされた部分をパンしていくのに使ってもよい。
図27は、図26に示される削除ボタン2050が選択されたときに表示されるポップアップ・ボックス2070の図を示している。ユーザーが現在表示されているページが最終的なジョブ・セットに含まれることを望まない場合、現在のページは、削除ボタン2050を選択することによって開始される削除機能で削除されてもよい。削除機能が使われるとき、現在のページは好ましくは最終的な文書中に生成されない。ひとたび削除ボタン2050が選択されると、図27に示されるポップアップ・ウィンドウが表示される。ユーザーは、OKボタン2071を選択して削除を承認するか、取り消しボタン2072を選択してプレビュー・ウィンドウに戻るかしうる。ユーザーがOKボタン2071を押す場合、現在のページは削除され、プレビュー・ウィンドウはスキャンの次のページを表示する。削除されたページが全スキャン中で最後のページである場合、プレビュー・ウィンドウに示される次の画像は、スキャン中での前の画像である。
画像を削除するか、戻るボタン2061を選択したのち、ユーザーは図24および図25に示されるサムネイル選択ウィンドウ2034に戻される。ユーザーがページのプレビューを終えたとき、ユーザーは復元ボタン2031、取り消しボタン2032または提出ボタンのうちの一つを選択しうる。これらのボタンは図24および図25に示されるウィンドウの右上隅に示されている。
図24および図25に示される取り消しボタン2032が押されたとき、図28に示されるジョブ取り消しポップアップ・ボックス2080が表示される。ジョブ取り消しポップアップ・ボックス2080はOKボタン2081および取り消しボタン2082を含む。ユーザーがOKボタン2081を選択すると、プレビュー操作のほかスキャン・ジョブも取り消され、ジョブの宛先には文書は生成されない。対照的に、ユーザーが復元ボタン2031を選択した場合、図29に示されるポップアップ・ボックス2090が表示される。ポップアップ・ボックス2090もOKボタン2091および取り消しボタン2092がある。アンドゥー・ポップアップ・ボックス2090のOKボタンが選択された場合、プレビュー操作が取り消され、ユーザーははじめに戻されて、プレビュー操作を再び行うことになる。プレビュー操作が取り消されると、すべての回転、削除およびその他のそのような変化が記録から除去され、スキャン・ジョブ画像セットがその最初のスキャンされた状態に戻される。最後に、図24および図25に示された提出ボタン2033は、プレビュー変化をGlobalScanサーバー2005に、あるいはMFD2001の所定の出力部に提出するのに使われる。
図30〜図33は、ユーザーがMFD2001上でプレビュー機能を使う前に、サーバー側で定義されていてもよいいくつかの設定を示している。具体的には、管理者は、上で論じた画像サムネイル・プレビューのユーザー・インターフェースのいくつかの側面を変更できる。管理者は、GlobalScanサーバー2005で、いくつかの異なる方法で設定を変更できるが、それにはソフトウェアを介してまたはウェブ・ブラウザを介して、ローカルおよびリモートに行うことが含まれる。図30〜図33に示した今の例では、ウェブ・ブラウザを使って、httpプロトコルによってGlobalScanサーバー2005にアクセスしている。
図30Aおよび30Bでは、サービス管理ウィンドウ(manage services window)2100が、GlobalScanメニュー2107からサービス管理(manage services)ボタンを選択することによって選択されている。プロファイル管理ウィンドウ(manage profile window)2100はいくつかのサービスについての情報を含む。特に、各サービスは、サービス名2102、サービス記述2103、いくつかの情報チェックボックス2104および構成設定ボタン(configure button)2105を含む。サービス管理ウィンドウ2100内のサービスの表示順は、並べ替えバー2101を使って変更できる。並べ替えバー2101には、並べ替えボタン、「並べ替えキー(sort by)」ドロップダウン・ボックスおよび「並べ替え方向」ドロップダウン・ボックスが含まれる。「並べ替えキー」ボックスは、ユーザーが、サービスのリストを並べ替えるのにどのカテゴリー(すなわち、名称2102、記述2103または「ジョブ」などの情報チェックボックス2104の一つ)を使うかを選択できるようにする。「並べ替え方向」ドロップダウン・ボックスは、ユーザーが並べ替えの昇順または降順を選択できるようにする。
ユーザーが構成設定ボタン2105を選択すると、図31Aおよび31Bに示されるサービス(プラグイン)構成設定ウィンドウ2160が表示される。サービス構成設定ウィンドウ2160には、選択されたサービスに関係したいくつかの設定が含まれる。図31Aおよび31Bに示した例では、画像プレビュー・サービス(プラグイン)は、閾値設定2111、ズーム・レベル設定2112およびページ・オプション設定2113〜2118を含む。また、更新ボタン2119、閉じるボタン2120および削除ボタン2121も含まれる。
閾値設定2111は管理者がプレビューされる画像のコントラストの値を設定できるようにするドロップダウン・ボックスを含む。管理者が選択する数値が小さいほど、コントラストは低く、結果としてプレビュー画像に示される細部は少なくなる。この設定はスキャンされた画像のコントラストには影響しないことを注意しておくべきであろう。
ズーム・レベル設定2112は、管理者によって使用のために選択できるいくつかのズーム倍率を含む。ズーム・レベル選択ボックスは、20%から200%の範囲のズーム倍率を含む。ズーム・レベルは、昇順に整数でボックス中にリストされている。ズーム・レベル2164は、ズームイン2048またはズームアウト2049ボタンが図26で選択されたときにどのくらいのズームが適用されるかに対応する。
ページ・オプション設定2113〜2118は、図23A〜23Cに示したプレビュー・ページ範囲ドロップダウン・ボックス2019aでどのオプションが利用可能となるかを管理者が選択できるようにする。ページ・オプション選択ボックス2113では、管理者は、プレビュー・ページ範囲ドロップダウン・ボックス2019aでどのオプションが利用可能となるかを選択できる。今の例では、選択のために利用可能なオプションは、「なし」「すべて」「最初のX枚」「最後のX枚」および「最初のX、最後のY枚」である。変数「X」および「Y」の値は、オプション・ボックス2117および2118で編集可能である。これらのX2117およびY2118設定は、ページ・オプション選択ボックス2113内のXおよびY変数に対応する。値はいかなる整数値でもよく、10未満の数で十分なはずなので好ましくは小さく保たれる。ページ・オプション設定にはまた、デフォルト・ページ選択オプション2114が含まれる。追加2115ボタンおよび削除2116ボタンを使って、管理者はボックス2114に示されるデフォルト選択を追加および削除できる。
更新ボタン2119が選択されたときは、サービス構成設定ウィンドウ2160内でなされた変更は、MFD2001の利用可能なオプションを更新するのに使われる構成設定ファイル内に保存される。閉じるボタン2120が選択されたときには、管理者は図30Aおよび30Bに示したサービス管理ウィンドウ2100に戻される。削除ボタン2121が選択されたときは、設定はクリアされる。
構成設定ボタン2105がRicohScanSettings〔Ricohスキャン設定〕サービス(画像プレビュー機能)のために選択されたときには、表示されるサービス構成設定ウィンドウ2160はデフォルト・システム・サービス構成設定に対応していることも注意しておくべきであろう。ひとたびこれらの設定が更新ボタン2119を選択することによって保存されれば、GlobalScanサーバー2005上で未変更のプロファイルのそれぞれが、デフォルト・システム・サービス構成設定に対応する設定をもつように更新される。しかしながら、管理者が特定のプロファイルまたはプロジェクトの設定をカスタマイズしたい場合には、このプロファイルまたはプロジェクトを選択ツールバー2110から選択できる。たとえば、選択ツールバー2110では、管理者は「2-RS」プロファイルを選択できる。このプロファイルが選択されると、管理者は、このプロファイルについてのサービス構成設定ウィンドウ2160で、設定を調整できる。これはまた、選択ツールバー2110に含まれている諸プロジェクトについても達成できる。
選択ツールバー2110からプロファイルまたはプロジェクトを追加または除去するために、図32Aおよび32Bならびに図33Aおよび33Bに示されるプロジェクト/プロファイル・サービス・ウィンドウが使われうる。GlobalScanメニュー2107において特定のプロジェクトまたはプロファイルが選択されたのち、プロジェクト/プロファイル・サービス・ウィンドウが表示される。プロジェクト/プロファイル・サービス・ウィンドウでは、プロジェクト/プロファイルID2139がプロジェクト/プロファイル名2140とともに表示される。プロジェクト/プロファイル・サービス・ウィンドウにはまた、更新ボタン2130/2133、チェック済み項目削除ボタン2131/2134およびすべて削除ボタン2132/2135も含まれる。更新ボタン2130/2133は管理者によってなされた変更を保存し、チェック済み項目削除ボタン2131/2134は、チェックのはいったサービスをリストされているサービスから除去し、すべて削除ボタン2132/2135はサービス・リストからすべてのサービスを除去する。サービス・リストは、問題のプロファイルに利用可能であるサービスのすべてを含む。サービス・リストは、含まれている各サービスについて、サービス名2102、いくつかのサービス設定2104、表示シーケンス2136、処理順2137、必須チェックボックス2138、構成設定ボタン2105および削除ボタン2106を含んでいる。削除ボタン2106はサービス・リストからそのサービスを削除する。構成設定ボタン2105は管理者を図31Aおよび31Bに示したサービス構成設定ウィンドウ2160に連れて行く。
サービス・リストにサービスを追加するために、サービス追加ドロップダウン・ボックス2141はすべての利用可能なサービスをリストする。サービスが選択されると、管理者は、そのサービスをサービス・リストに追加する追加ボタン2108を選択できる。ひとたびサービスがあるプロジェクトまたはあるプロファイルについてサービス・リストに追加されると、そのプロファイル/プロジェクトが選択ツールバー2110に現れる。図33Aおよび33Bは、RicohImagingサービスがサービス・リストに追加された後のプロジェクト/プロファイル・サービス・ウィンドウの例を示している。
図34は、GlobalScanサーバー2005がMFD2001の機能をどのように制御するかのプロセスを示している。MFD2001はビットマップ画像(BMP)以外の他の任意の型の画像ファイルを簡単に扱うよう構成されていないかもしれないので、MFD2001は、JPEGまたはTIFFファイルといったネイティブ画像ファイルを処理するのに困難を有し、画像修正が困難になることがありうる。こうした障害を克服するため、MFD2001の代わりに画像動作を実行するのにGlobalScanサーバー2005を使うことができる。外部のGlobalScanサーバー2005を使うことは上記の問題を解決するが、追加的な障害を生み出しもする。たとえば、外部サーバーが使われるとき、予期せぬ接続切断のためにユーザーが予期せず去ったときに、ユーザー・セッションをクリーンアップする必要があるかもしれない。さらに、ネットワーク帯域幅は画像プレビュー操作ごとに増加するし、ネイティブ画像フォーマットJPEGまたはTIFFの画像はビットマップ画像に変換してまた戻す必要がある。
これらの問題を克服するため、GlobalScanサーバー2005が採用するいくつかの技法として、MFD2001にジョブ取り消し機能を追加することが含まれる。これがセッション・タイムアウトが起こった場合のデフォルトのサーバー動作であってもよい。さらに、サーバー2005はビットマップ・ファイルのダウンサンプリングを実行することができる。というのも、たとえば400dpiのフルカラーJPEGは90メガバイトのビットマップ・ファイルを生じることができるが、そのように大きなファイルに対してプレビューおよび回転を実行することは効率的ではなく、ネットワークにオーバーヘッドを追加することになるからである。さらに、GlobalScanサーバー2005は、高品質画像を、MFD上に見出されるLCDパネルを最大限に利用する品質にダウンサンプリングできる。これなら、ユーザーが品質変化に気づく可能性を解消できる。さらに、サーバーは、たとえば回転または削除といったページまたは画像ファイルに対する操作の履歴を追跡し、プレビュー・セッションの間、ダウンサンプリングされた画像に対してこれらの操作を実行する。するとサーバーは、元の画像に対するプレビュー・セッションの終了時に、すぐすべての操作を実行しうる。これは、複数の回転が一つの操作に組み合わされ、複数の削除が画像を完全に削除することに組み合わされることを許容する。
図34は、図23A〜23Cに示したプレビュー2010およびプレビュー・タブ2013を設定するフローを示している。フローはMFD2001がGetAvailableServices〔利用可能サービス取得〕関数をコールする2200で始まる。GetAvailableServices関数はAPIGetAvailableServices.aspxというアクティブ・サーバー・ページ2214を通じてコールされる。MFD2001がこのaspxファイルを使ってサーバー2005に要求をするとき、GlobalScanサーバー2005は典型的なサービスxml構造を生成するが、プレビュー・タブ2013のために生成された新しいサービスIDをも含める。さらに、サーバー2005は、このコールの中に、画像プレビューのためのすべてのローカライズ情報を埋め込む。次いでサーバー2005は、2216で、通常の利用可能なサービス情報のほかにプレビュー・タブ2013のためのデータを含むxmlファイルを返す。ステップ2204では、MFD2001は、サーバー定義のデフォルト値がもしあればそれも含め、GetAvailableServices関数によって取得された情報からプレビュー・タブ2013を用意する。ステップ2206では、スキャンの前に、ユーザーがプレビュー・タブ2013を選択し、プレビュー・ボタン2020aをハイライトする。ステップ2208で、ユーザーは他のタブ(2014〜2016)で要求される情報を埋める。最後に、ステップ2210で、プレビュー・ボタン2020aをハイライト状態にして前記他のタブの追加的な設定を完了したのち、ユーザーはスタートを押してスキャンを開始する。
図35A〜35Cは、GlobalScanサーバー2005で実行され、MFD2001によって開始されるGetAvailableServices関数によって取得されるxml情報を示している。第1行では、screen_data〔画面データ〕タグがファイルを開く。第2〜23行は、図33A〜33Cでプレビュー・ページ範囲ボックス2019aとして示されているオプション・ドロップダウン・ボックスについての設定を含んでいる。ドロップダウン・ボックスに含まれる各項目がリストされており、それには:なし、すべて、最初の5つ、最初の3つ、最後の3つ、が含まれる。図35Aの第24行ないし図35Cの第11行は、多様な異なる設定からなるローカライズ・オプションを含んでいる。具体的には、ある実施例では、図35Aの第25〜31行はサムネイル幅およびサムネイル高さの表示値を含む。別の実施形態では、サムネイル幅およびサムネイル高さの値はあらかじめ決定されていてMFD2001に保存されていてもよい。第32行では、ページ選択タグがページ範囲をリストしている。第33〜35行では、サムネイル選択ページのタイトルがリストされている。図35Bの第4〜12行では、復元、取り消しおよび提出ボタンのタイトルが含まれている。第13〜21行は図26に示したページ情報ウィンドウ2041内のデータに対応する。さらに、図35Bの第22〜24行では、戻るボタンが含まれている。これは、そのジョブで一つのページしかスキャンされなかったときに単一画像プレビュー・ウィンドウ2040に示されるものである。第25行ないし図35Cの第10行では、図26に示した、前へ、次へ、順回転、逆回転、ズームイン、ズームアウトおよび削除ボタンのタイトルが含まれている。
図36Aおよび36Bは、ひとたび画像プレビュー・ボタン2021aが選択されてスキャン・ジョブが完了したときの、MFD2001とGlobalScanサーバー2005の間のプロセスを示している。ステップ2300では、スキャン・ジョブが終了し、upload.xmlが生成される。このupload.xmlがすべてのスキャンされたページまたは画像を含むスキャン・ジョブを送り、画像プレビュー設定および画像能力(image capabilities)を埋め込み、この情報をAPIThumbInit.aspxページを使ってステップ2302でサーバー2005に送る。ステップ2304では、GlobalScanサーバー2005はupload.xml内に設定されたサムネイル・サイズ指定に基づいてサムネイルを生成する。どのページがサムネイルにされるべきか、そして何枚送られるかの詳細は、upload.xmlファイル内で定義される。本発明のある実施形態では、サーバー2005は、空白ページを自動的に検出でき、これらの空白ページをreturn.xmlに含めない。代替的に、サーバー2005はスキャン・ジョブから空白ページを自動的に除去しなくてもよい。さらに、本発明のある実施形態では、GlobalScanサーバー2005がスキャン・ジョブを受信するとき、スキャン・ジョブはサーバー2005の一時位置に記憶される。代替的に、別の実施形態では、スキャン・ジョブは、メモリ・カード上またはハードドライブ上など、サーバー2005のより恒久的な記憶位置に記憶される。
次いでGlobalScanサーバー2005はステップ2306で、要求されたサムネイル・ビットマップを含むxmlファイルを返す。ステップ2308では、MFD2001はサムネイルを表示する。ステップ2310では、ユーザーがサムネイルを選ぶ。ステップ2310でユーザーがサムネイルを選択したので、ステップ2312ではプレビュー機能が自動的に実行される。プレビュー機能が選択されるやいなや、APISessionMgr.aspx?action=preview&action_input=op=get2314コールがGlobalScanサーバー2005に送られる。ステップ2316では、サーバー2005は要求されたズーム・レベルおよびクロップ・レベルで画像を生成し、送り返す。このデータはステップ2318でxmlを介して返される。
ユーザーがステップ2320で回転操作を実行すると、ステップ2322でAPISessionMgr.aspx関数が再びコールされるが、今回は設定?action=preview&action_input=op=rotateである。GlobalScanサーバー2005がステップ2324でこの関数コールを受信すると、サーバー5はステップ2326で、要求されたズーム・レベルおよびクロップ・レベルで回転された画像をxmlを介して送り返す。
ユーザーがステップ2328で削除操作を実行すると、ステップ2330でAPISessionMgr.aspxが設定op=deleteをもってコールされる。GlobalScanサーバー2005がこのコマンドを受信すると、サーバー2005はステップ2332で確認(acknowledgement)を送り返す。削除はアンドゥーを許容するため、論理的に実行される。前記の確認はステップ2334でxmlを介して返される。
ユーザーがステップ2336でパン操作を実行すると、ステップ2338でAPISessionMgr.aspxが設定op=panをもってコールされる。GlobalScanサーバー2005がステップ2340でこのコマンドを受信すると、サーバー2005はステップ2342でxmlを介してパンのクロップ結果を送り返す。
ユーザーがステップ2344でズーム操作を実行すると、ステップ2346でAPISessionMgr.aspxが設定op=zoomをもってコールされる。するとサーバー2005は、2348におけるズームのクロップ結果を、ステップ2350でxmlを介して返す。
ユーザーがステップ2352で承認(accept)動作を実行すると、ステップ2354でAPISessionMgr.aspxが設定op=acceptをもってコールされる。するとサーバー2005は、2356におけるジョブIDの応答を、ステップ2358でxmlを介して返す。
最後に、ユーザーがステップ2360で取り消し操作を実行すると、ステップ2362でAPISessionMgr.aspxが設定op=cancelをもってコールされる。ステップ2364で、サーバー2005は、取り消しの確認を、2366でのxmlを介して送り返す。
図34〜図36は、GetAvailableServices関数、ApiThumbInit関数およびAPISessionMgr関数を記述しており、このすべてはMFD2001とサーバー2005との間の対話を介して動作する。図37はこの記述の続きである。こうして、図37のステップ2400では、MFD2001は、ステップ2402でのAPIGetAvailableServices.aspxページを使ってGetAvailableServices関数をコールする。ステップ2402でコールされるaspxページはまた、プロファイルID、プロジェクトID、言語、機械シリアル番号または製造バージョンといった追加的なコマンド行設定を含んでいてもよい。このデータはGlobalScanサーバー2005に送られ、そこでサーバー2005がservices.xmlファイルを生成する。このファイルは、MFD2001上で利用可能となるべきサービスに関するデータを含んでいるので、通常の構造である。しかしながら、生成されたservice.xmlファイルは、プレビュー・タブ2013のために生成された新しいサービスIDも含む。これはステップ2404で達成される。このステップでは、上記のデータに加えて、サーバー2005は、画像プレビューのためのすべてのローカライズ情報をxmlファイル埋め込む。そのxmlファイルは次いでステップ2406でMFD2001に返される。
ステップ2408では、MFD2001はApiThumbInit.aspx関数をコールする。このアクティブ・サーバー・ページを使って、MFD2001は2410でスキャンされた画像を修正されたupload.xmlファイルにおいて送る。サーバー2005は次いで、ステップ2412で、upload.xmlファイルを構文解析し、upload.xmlファイル内に見出される画像データから適切なサムネイルを生成する。次いでサーバー2005は画像を、2414でxmlを介してエンコードされた仕方でMFD2001に返す。MFD2001に送られるxmlファイルはまた、何らかの制御情報をも含む。たとえば、そのxmlファイルに含まれているのがサムネイルだけであるかどうか、および何枚の画像が返されるかといった情報である。
ステップ2416では、MFD2001はAPISessionMgr.aspxアクティブ・サーバー・ページをコールする。ステップ2418では、このページについてのすべてのオプションが問い合わせストリング、すなわちhttpのgetメソッドを介して渡される。ステップ2420では、サーバー2005は問い合わせストリングを構文解析し、主としてop変数に基づいて分岐する。op変数の値に依存して、他のオプションも渡されてもよい。ステップ2422では、op変数の値に基づく画像および制御情報を含むreturn.xmlファイルがMFD2001に送られる。
図38は、ユーザー、MFD2001およびGlobalScanサーバー2005が対話するシステムの動作および通信の流れの例である。ステップ2450で始まって、ユーザーがMFD2001の操作パネル上で、あるいは他の何らかの方法でプレビュー・ボタン2020aを押す。他の何らかの方法とは、MFD2001に無線接続を介して接続しているハンドヘルド機器を介してなどである。先記したように、プレビュー・ボタン2020aが押されると、ボタン2020aが選択され、図23Bに示されるようにハイライトされる。プレビュー・ボタン2020aがハイライトされたのち、ユーザーがステップ2452でスタート・ボタンを選択すると、MFD2001は入力画像またはページのスキャンを開始する。ひとたびスキャンがステップ2454で終了すると、MFD2001はステップ2456で初期プレビュー画像ファイル要求をGlobalScanサーバー2005に送る。するとGlobalScanサーバー2005はステップ2458でサムネイル画像ファイルを返す。そのサムネイル画像はステップ2460でユーザーに対して示される。ステップ2462でユーザーがサムネイルを選択すると、MFD2001はステップ2464でプレビュー・ビットマップ画像取得要求をGlobalScanサーバー2005に送る。
GlobalScanサーバー2005はステップ2466でプレビュー画像を返し、ステップ2468でプレビュー画像がユーザーに対して示される。ステップ2470では、ユーザーがプレビュー操作を選択すると、MFD2001はステップ2472でプレビュー操作要求をGlobalScanサーバー2005に転送する。GlobalScanサーバー2005は、2474で、選択された動作が実行されたビットマップ・ファイルを返す。ステップ2476では、ビットマップ・ファイルがユーザーに示される。このプロセスは、ユーザーがプレビュー画像の操作の実行を終えるまで繰り返される。次いでユーザーはステップ2478で、変更(単数または複数)を確定するか取り消す。次いでこの確定(confirmation)または取り消し要求がステップ2480でGlobalScanサーバー2005に送られる。ステップ2482では、GlobalScanサーバー2005はMFD2001にジョブ終了コマンドを送る。
ステップ2470〜2476についてこれから図39〜図45を参照して詳細に述べる。しかしながら、図40〜図45の修正機能に目を転じる前に、図39Aおよび39Bを参照して初期化機能について最初に述べておく。初期化機能は、サムネイル画像を初期化し、現在セッションについてのあらゆる画像プレビュー機能に適用されるセッション変数を確立する。ユーザーによって画像プレビューが有効にされたスキャン・ジョブが実行されたのち、初期化動作が実行される。この動作はサーバー2005に通知し、スキャンされたTIFF、JPEGなどの画像を、アップロードxmlファイルに埋め込むことによって、サーバー2005に転送する。サーバー2005が要求を処理したのち、MFD2001はサーバー2005から初期サムネイル画像ファイルを受信し、それが図24に示したサムネイル・リスト・ウィンドウに表示される。データはサーバー2005にアップロードxmlファイルを介して、http postを使ってポストされ、該データはサーバー2005からサムネイル・ウィンドウでの表示のために使われるサムネイル・ビットマップ・ファイルの形で返される。
図39Aでは、MFD2001がスキャンを終了するステップ2500に始まって、2502で、初期化要求がupload.xmlファイル内でGlobalScanサーバー2005に送られる。xmlの要求は、ユーザーがプレビュー・ウィンドウ上で行った選択、MFDのサムネイル・サイズおよびバッチ・サイズを含む。ステップ2504では、GlobalScanサーバー2005はサムネイル画像およびジョブIDを含むxmlデータをもって応答する。
図39Bは、GlobalScanサーバー2005から返された応答xmlデータの例を示している。第1行では、rootタグがxmlファイルを開始する。第2行のerror_codeタグは生成されうる何らかのエラー・コードを含む。第3行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第7行では、total_page_numberがバッチ・ジョブでスキャンされた画像またはページの総数を含む。第8行では、page_numberタグがその操作のために選択されているページ数を含む。第10〜13行および第14〜17行は、それぞれID番号1および2のサムネイルの例を含んでいる。dataタグも含まれ、dataタグ内にはページ種別(page type)タグがある。
ページ種別タグは、スキャンされたページについてのさらなる情報を保存するために使われる。たとえば、ページ種別タグは、スキャンされたページまたは画像がもともとA4横置き用紙だったかA4縦置き用紙だったかを述べる。サーバーはスキャンされた画像から用紙種別を判別でき、サーバー上に含まれているデータベースからこの判別をするために必要な情報を取得する。ページ種別の値は、たとえば次のいずれでもよい:用紙自動検出、用紙8×11縦置き、用紙8×11横置き、用紙8×17横置き、用紙8×14横置き、用紙8×13横置き、用紙5×8縦置き、用紙5×8横置き、用紙8×3横置き、用紙8×4縦置き、用紙8×4横置き、用紙8×5縦置き、用紙8×5横置き、用紙B4横置き、用紙B5縦置き、用紙B5横置きまたは他の任意の種類の用紙。
第11行および第15行に見出されるbmpdataタグに含まれている情報は、Base64でエンコードされたデータで、画像データを含んでいる。第10行および第14行でdataタグ内に画像IDが見出されるが、これは画像についての一意的な識別子として使われる。本発明のある実施形態では、画像IDは数値であることは要求されない。画像IDの例は、I1、I2またはI3である。
図39Aに戻ると、ステップ506で、サムネイル画像がサムネイル選択ウィンドウ2034に示される。ネットワーク・トラフィックを軽減するため、サムネイル画像はバッチで実装される。バッチは、ステップ2502で送られた初期化要求においてMFD2001によって確立されているサムネイル・サイズに基づいている。APIThumbInit.aspxはサーバー2005から最初のページのサムネイル画像を返す。サーバー2005から残りのサムネイル画像を受け取るためには(最初のページに全部のサムネイルが収まらないかもしれないので)、サムネイルの残りを取得するために、APIThumb.aspx?op=getset&batch_number=bコマンドを使う、バッチ数(batch number)を使ってセット(set)を取得する(get)別のプロトコルが使われる。バッチ数は表示されるべきサムネイルの数を表す。たとえば、利用可能なサムネイルの数が50で、バッチ・サイズが10でバッチ数が3であれば、この機能は、残っている画像枚数およびもともと表示できたサムネイル枚数に依存して、20ないし30の画像を返しうる。
図40Aおよび40Bは、修正型関数のうちの最初のものを開始する。修正型関数とは、画像データを修正する関数である。記載される最初の修正型関数は回転関数である。ユーザーがプレビュー画像詳細ウィンドウ2060で回転ボタンを押したのち、プレビュー・ウィンドウ2051内のプレビュー画像が順回転2046または逆回転2047する。この作用をもたらすために、回転要求がサーバー2005に送られうる。サーバーがこの要求を処理したのち、回転されたプレビュー・ページおよびサムネイルがサーバー2005からMFD2001に送られ、MFD2001において表示される。
ある実施形態によれば、もともとスキャンされたTIFFまたはJPEGファイルは、この時点では修正されず、画像が回転されたという事実がサーバー2005に保存される。のちに、ユーザーがプレビューになされた変更を承認することを選ぶときに、実際のJPEG/TIFFファイルが回転される。ただし、他の実装も可能である。ユーザーが回転ボタンを押すたびに、プレビュー・ウィンドウ2051内の画像が90°回転される。回転アルゴリズムはLCD画面の中心を基準として画像を回転する。したがって、提出後、もとの画像が単に回転される一方、回転された画像のプレビューの回転およびズームは、視野(port)の中心にあったもとのピクセルの位置が回転された画像の中心にある同じピクセルとなるように行われる。しかしながら、回転のための異なる基準点を使うこともできる。
図40Aでは、ステップ2510でユーザーが回転ボタンを押したとき、MFD2001になされた回転要求2512が、upload.xmlファイル内でGlobalScanサーバー2005に送られる。回転要求2512内には、いくつかの異なる設定が含まれる。以下に説明する画像番号、回転の度数、要求画像設定、ズーム設定および追従設定はみな、upload.xmlファイル内に含まれることのできる可能な設定である。画像番号設定は、初期化コールの際に生成された画像識別子に対応する。たとえば、ユーザーが画像1を回転させたい場合、その画像のIDが要求とともに送られる。度数は指定された画像を回転させる度数を示す。たとえば、度数設定は、ユーザーが順回転を1回、2回または3回要求した場合、度数設定はそれぞれ90°、180°または270°でありうる。追従設定は回転のための基準点を決定するフラグである。たとえば、追従値0はもとの画像の中心を基準とした回転に等しいなどである。追従値1は、視野(view port)の中心を基準とした回転に等しいなどである。最後に、ズーム設定は、MFD2001に返す前に画像がズームされるズーム倍率を決める。
ここで図40Aに戻ると、ステップ2514でGlobalScanサーバー2005は、プレビュー画像およびジョブIDを含むxmlデータ応答を返す。ステップ2516では、MFD2001はGlobalScanサーバー2005によって修正されたプレビュー画像を、MFD2001のプレビュー・ウィンドウ2051上にユーザーが見られるように示す。
図40Bは、第1〜7行で、MFD2001からGlobalScanサーバー2005に送られた回転要求のデータ・フォーマットを示している。先記のように、http要求はAPISessionMgr.aspx?action=preview&action_input=op=rotate要求のほか、問い合わせストリングに含まれているいくつかの設定を含んでいる。問い合わせストリングに含まれている可能な設定は画像番号、度数、要求画像、ズームおよび追従である。第10〜25行は、ステップ2514で、サーバー2005から返されたxmlデータの内容を示す。xmlデータは第16行にthumbnail_onlyタグを含んでいる。これはブール値を含むが、この例では0に設定されている。この設定が1に設定されると、xmlファイルにはサムネイルのみが含められる。第17〜19行は画像のサムネイルを含み、第21〜25行は、幅および高さの値のほかにズーム値も含む実際のプレビュー・フルサイズ画像を含む。幅および高さの値はそのプレビュー画像がMFD2001上でMFD2001の視野内に示されるのに最も好適なサイズとして決定される。ある実施形態では第17行および第23行はいずれもBase64フォーマットでエンコードされた画像データを含んでいることにも注意しておくべきであろう。別の実施形態では、必要が生じれば、安全な(secure)フォーマットを含む他のエンコード・フォーマットを使用してもよい。
図41Aおよび41Bは、ユーザーが、ズームイン・ボタン2048またはズームアウト・ボタン2049を選択することによってズームイン/ズームアウト機能を選択するときのMFD2001とGlobalScanサーバー2005との間の対話を示している。ユーザーがズームイン・ボタン2048またはズームアウト・ボタン2049を選択するたびに、ズーム要求がサーバー2005に送られる。するとサーバー2005は視野座標の現在の中心に基づいてプレビュー画像をクロップして、画像を表示のためにMFD2001に返す。
図41Aはこのプロセスを示しているが、はじめにステップ2520でユーザーがズーム・ボタンを押す。ひとたびズーム・ボタン2048/2049が押されると、MFD2001はステップ2522でズーム要求およびupload.xmlをサーバー2005に転送する。ズーム要求およびupload.xmlの受領に際して、サーバー2005はズーム機能を実行し、ズームされたプレビュー画像およびジョブIDを含む応答XMLデータをステップ2524で返す。最後に、ステップ2526でMFD2001はズームされたプレビュー画像をプレビュー・ウィンドウ2051に表示する。
図41Bは、第1〜8行で、サーバー2005にポストされたデータを、第10〜26行でサーバー2005によってMFD2001に返されたxmlデータを示している。図41Aのステップ2522では、ズーム要求およびupload.xmlデータはサーバー2005にAPISessionMgr.aspxアクティブ・サーバー・ページを使って送られる。APISessionMgr.aspxには問い合わせストリングop=getが付随している。さらに、問い合わせストリングにおいて渡されるべく、request_image、image_no、sizeX、sizeY、方向およびズーム・オプションを含むいくつかのオプションも利用可能である。第3〜8行はこれらのオプションを図示している。第7行では、要求画像オプションが含まれている。要求画像(request_image)オプションは、返すべき画像(単数または複数)の型を示す。このオプションが0に等しいときは、これは画像なしを表す。このオプションが1に等しいときは、これはサムネイルを表す。このオプションが2に等しいときは、これはプレビュー画像を表す。最後に、オプションが3に等しいときは、これはサムネイルおよびプレビュー画像の両方を表す。
画像番号設定は、初期化コールの際に生成された画像識別子に対応する。設定sizeXはMFD2001上の視野の幅を示し、設定sizeYは視野の高さを示す。ズーム設定は、所望されるズーム値を指定する。値0は、最初にプレビュー画像が示されるときについて、最もぴったりするサイズを示す。給紙される用紙が異なれば、最もぴったりするサイズも異なることがあり、結果として異なる型の用紙についてのズーム値が異なることがありえる。最後に、第8行に示された方向オプションは、ズームの結果として実行される何らかのパンの方向を示す。
第10〜26行は、図41Aのステップ2524でサーバー2005から返されるXMLファイルの例を含んでいる。第9行で、rootタグがxmlファイルを開く。第11行は生成されうる何らかのエラー・コードを含む。第12行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第15行では、サーバー状態がMFD2001に返される。第16行ではxmlデータはthumbnail_onlyタグを含む。これはブール値を含むが、この例では0に設定されている。この設定が1に設定されると、xmlファイルにはサムネイルのみが含められ、プレビュー画像は含められないことを示す。第17〜21行はプレビュー画像データを含む。第17〜18行では、dataタグは型(type)、プレビュー、ID、幅と高さ、ページ種別(page type)(図19Bとの関連で上で論じた)およびズーム初期値の設定を含んでいる。第22〜25行は、サムネイル画像およびデータ種別およびサムネイルIDを含む。最後に、第25行では、xmlファイルが閉じrootタグで閉じられる。
図42Aおよび42Bは、ユーザーが、左/右パン・ボタン2043または上/下パン・ボタン2042を選択することによって左/右パンまたは上/下パン機能を選択するときの、MFD2001とGlobalScanサーバー2005との間の対話を示している。ユーザーがプレビュー画像をズームするとき、ユーザーはプレビュー画像全体を見られないことがありうる。こうして、ズームされたプレビュー画像ファイルの一部しか見られないので、ユーザーがズームされた画像の他の部分を見られるようにプレビュー画像を動かすことが必要となることがある。パン機能は、画像がズームされたときに、ユーザーが画像の他の部分を見られるようにする。本発明のある実施形態では、この機能は実際の画像に対しては実行されず、MFD2001のビューファインダーを使って画像をプレビューしているユーザーの恩恵のためにのみ使われることを注意しておくべきであろう。代替的に、この機能は最終的な画像に対して実行されてもよい。
図42Aはこのプロセスを示しているが、はじめにステップ2530でユーザーがパン・ボタンの一つを押す。ひとたびMFD2001がユーザーからプレビュー画像をパンするコマンドを受け取ると、ステップ2532でパン要求およびupload.xmlファイルがGlobalScanサーバー2005にアップロードされる。ひとたびGlobalScanサーバー2005がパン要求およびupload.xmlファイルを受け取ると、GlobalScanサーバー2005はプレビュー画像を処理し、プレビュー画像およびジョブIDを含む応答XMLデータをステップ2534で返す。ひとたびMFD2001がパンされたプレビュー画像を受信すると、ステップ2536でプレビュー画像がプレビュー・ウィンドウ2051に表示される。
図42Bは、第1〜7行で、サーバー2005にポストされたデータを、第9〜21行でサーバー2005によってMFD2001に返されたxmlデータを示している。図42Aのステップ2532では、パン要求およびupload.xmlデータはサーバー2005にAPISessionMgr.aspxアクティブ・サーバー・ページを使って送られる。
APISessionMgr.aspxには問い合わせストリングop=getが付随している。さらに、問い合わせストリングにおいて渡されるべく、request_image、image_no、sizeX、sizeY、ズームおよび方向を含むいくつかのオプションも利用可能である。パン機能はズーム機能と同じすべての設定のほか、方向の追加された設定を含んでいることを注意しておくべきであろう。第3〜8行はこれらのオプションを図示している。第7行では、要求画像オプションが含まれている。要求画像オプションは、返すべき画像(単数または複数)の型を示す。このオプションが0に等しいときは、これは画像なしを表す。このオプションが1に等しいときは、これはサムネイルを表す。このオプションが2に等しいときは、これはプレビュー画像を表す。最後に、オプションが3に等しいときは、これはサムネイルおよびプレビュー画像の両方を表す。
画像番号設定は、初期化コールの際に生成された画像識別子に対応する。設定sizeXはMFD2001上の視野の幅を示し、設定sizeYは視野の高さを示す。第4行に示されるズーム設定は、所望されるズーム値を指定する。値0は、最初にプレビュー画像が示されるときについて、最もぴったりするサイズを示す。給紙される用紙が異なれば、最もぴったりするサイズも異なることがあり、結果として異なる型の用紙についてのズーム値が異なることがありえる。最後に、第8行に見出される方向設定は、サーバー2005に、プレビュー画像をパンするためにユーザーが選んだ方向を知らせる。値0はパンなしを示し、値1は上へのパンを示し、値2は下へのパンを示し、値3は左へのパンを示し、値4は右へのパンを示す。
第10〜22行は、図42Aのステップ2534でサーバー2005から返されるXMLファイルの例を含んでいる。第9行で、rootタグがxmlファイルを開く。第11行は生成されうる何らかのエラー・コードを含む。第12行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第15行では、サーバー状態がMFD2001に返される。第16行ではxmlデータはthumbnail_onlyタグを含む。これはブール値を含むが、この例では0に設定されている。この設定が1に設定されると、xmlファイルにはサムネイルのみが含められ、プレビュー画像は含められないことを示す。第17〜21行はプレビュー画像データを含む。第17〜18行では、dataタグは型(type)、プレビュー、ID、幅と高さ、ページ種別(page type)(図19Bとの関連で上で論じた)およびズーム初期値の設定を含んでいる。第19行はBase64でエンコードされたプレビュー画像自身を含んでいる。最後に、第22行では、xmlファイルが閉じrootタグで閉じられる。
図43Aおよび43Bは、ユーザーが削除ボタン2050を選択するときの、MFD2001とGlobalScanサーバー2005との間の対話を示している。ユーザーがあるページをプレビューして、そのページが必要ないことを見出すとき、削除機能を使うことで、現在プレビューされているページを除去することができる。しかしながら、削除ボタンの選択は画像IDには影響しない。削除ボタンがプレビュー・ウィンドウ内で押されたとき、MFD2001はサーバーに削除要求を送る。サーバーが削除要求を処理したのち、現在の画像は画像マッピング・ファイルにおいて削除のためにマークされ、現在の画像の次にくる画像がサーバーから送られる。先記したように、現在の画像がセット中の最後の画像である場合は、現在の画像の先行画像がサーバー2005から送られる。
図43Aはこのプロセスを示しているが、はじめにステップ2540でユーザーが削除ボタンを押す。ひとたびMFD2001がユーザーからプレビュー画像を削除するコマンドを受け取ると、ステップ2542で削除要求およびupload.xmlファイルがGlobalScanサーバー2005にアップロードされる。ひとたびGlobalScanサーバー2005が削除要求およびupload.xmlファイルを受け取ると、GlobalScanサーバー2005はスキャンされた画像を削除のためにマークし、次のプレビュー画像およびジョブIDを含む応答XMLデータをステップ2544で返す。ひとたびMFD2001が次のプレビュー画像を受信すると、ステップ2546で該次のプレビュー画像がプレビュー・ウィンドウ2051に表示される。
図43Bは、第1〜4行で、サーバー2005にポストされたデータを、第6〜18行でサーバー2005によってMFD2001に返されたxmlデータを示している。図43Aのステップ542では、削除要求およびupload.xmlデータはサーバー2005にAPISessionMgr.aspxアクティブ・サーバー・ページを使って送られる。
APISessionMgr.aspxには問い合わせストリングop=deleteおよびimage_no設定が付随している。画像番号(image_no)設定は、どの番号が削除されるかを指示する。画像番号は、初期化コールの際に生成された画像識別子に対応する。
第6〜18行は、図43Aのステップ2544でサーバー2005から返されるXMLファイルの例を含んでいる。第6行で、rootタグはxmlファイルを開く。第7行は生成されうる何らかのエラー・コードを含む。第8行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第11行では、サーバー状態がMFD2001に返される。第12行ではxmlデータはthumbnail_onlyタグを含む。これはブール値を含むが、この例では0に設定されている。この設定が1に設定されると、xmlファイルにはサムネイルのみが含められ、プレビュー画像は含められないことを示す。第13〜17行はプレビュー画像データを含む。第13〜14行では、dataタグは型(type)、プレビュー、ID、幅と高さ、ページ種別(page type)(図19Bとの関連で上で論じた)およびズーム初期値の設定を含んでいる。第15行はBase64でエンコードされた前記次のプレビュー画像自身を含んでいる。最後に、第18行では、xmlファイルが閉じrootタグで閉じられる。
図44Aおよび44Bは、ユーザーが前へボタン2044または次へボタン2045を選択するときの、MFD2001とGlobalScanサーバー2005との間の対話を示している。プレビュー・ウィンドウ2051において、顧客は1ページしか見ることができないことがありうるが、ユーザーは現在のページの前のページおよび次のページを見たいことがありうる。したがって、前へ機能および次へ機能はユーザーが、サムネイル選択ウィンドウ2034に戻ることなく、ページ間を移行することを可能にする。前へボタン2044または次へボタン2045が選択されるたびに、get要求がMFD2001からサーバー2005に送られる。
図44Aはこのプロセスを示しているが、はじめにステップ2550でユーザーが次/前ボタンを押す。ひとたびMFD2001がユーザーから次のページまたは前のページに行くコマンドを受け取ると、ステップ2552でget〔取得〕要求およびupload.xmlファイルがGlobalScanサーバー2005にアップロードされる。ひとたびGlobalScanサーバー2005がget要求およびupload.xmlファイルを受け取ると、GlobalScanサーバー2005は次または前のプレビュー画像およびジョブIDを含む応答XMLデータをステップ2554で返す。ひとたびMFD2001が次のプレビュー画像を受信すると、ステップ2556で該次のプレビュー画像がプレビュー・ウィンドウ2051に表示される。本発明のある実施形態では、ユーザーがセット中の最後の画像にいる場合は、次へボタンによって返されるのは、該セット中の最初の画像であるということを注意しておくべきであろう。代替的に、別の実施形態では、システムは前の画像または次の画像がないことを示す。
図44Bは、第1〜8行で、サーバー2005にポストされたデータを、第10〜26行でサーバー2005によってMFD2001に返されたxmlデータを示している。図44Aのステップ2552では、get要求およびupload.xmlデータはサーバー2005にAPISessionMgr.aspxアクティブ・サーバー・ページを使って送られる。
APISessionMgr.aspxには問い合わせストリングop=getおよびいくつかの設定が付随している。問い合わせストリングにおいて渡されるべく利用可能な該いくつかのオプションには、request_image、image_no、sizeX、sizeY、方向およびズームが含まれる。第3〜8行がこれらのオプションを示している。第7行には要求画像オプションが含まれている。要求画像オプションは、返すべき画像(単数または複数)の型を示す。このオプションが0に等しいときは、これは画像なしを表す。このオプションが1に等しいときは、これはサムネイルを表す。このオプションが2に等しいときは、これはプレビュー画像を表す。最後に、オプションが3に等しいときは、これはサムネイルおよびプレビュー画像の両方を表す。
第3行に見出される画像番号設定は、初期化コールの際に生成された画像識別子に対応する。設定sizeXはMFD2001上の視野の幅を示し、設定sizeYは視野の高さを示す。方向設定は、実行される必要があるかもしれない何らかのパンの方向を示す。最後に、第4行に示されるズーム設定は、所望されるズーム値を指定する。値0は、最初にプレビュー画像が示されるときについて、最もぴったりするサイズを示す。給紙される用紙が異なれば、最もぴったりするサイズも異なることがあり、結果として異なる型の用紙についてのズーム値が異なることがありえる。
第10〜26行は、図44Aのステップ2554でサーバー2005から返されるXMLファイルの例を含んでいる。第10行で、rootタグがxmlファイルを開く。第11行は生成されうる何らかのエラー・コードを含む。第12行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第15行では、サーバー状態がMFD2001に返される。第16行ではxmlデータはthumbnail_onlyタグを含む。これはブール値を含むが、この例では0に設定されている。この設定が1に設定されると、xmlファイルにはサムネイルのみが含められ、プレビュー画像は含められないことを示す。第17〜21行はプレビュー画像データを含む。第17〜18行では、dataタグは型(type)、プレビュー、ID、幅と高さ、ページ種別(page type)(図19Bとの関連で上で論じた)およびズーム初期値の設定を含んでいる。第19行はBase64でエンコードされた次または前のプレビュー画像を含んでいる。第22〜25行は第19行に含まれるプレビュー画像に対応するサムネイル・データを含んでいる。さらに、サムネイル画像データは第23行に見出される。最後に、第26行では、xmlファイルが閉じrootタグで閉じられる。
図45Aおよび45Bは、ユーザーが復元ボタン2031、取り消しボタン2032および提出ボタン2033を選択するときの、MFD2001とGlobalScanサーバー2005との間の対話を示している。
提出ボタン2033が選択されると、set関数がMFD2001によってコールされる。set関数は、プレビュー・ウィンドウで行われた変更を確定するために使われる。ひとたびユーザーがスキャンされた画像セットにあらゆる変更を加えてしまったら、ユーザーはその変更を確定する必要がある。提出ボタンが選択されるとき、set関数がコールされ、サーバー2005は元の画像にすべての変更を行う。
図45Aはこのプロセスを示しているが、はじめにステップ2560でユーザーが提出ボタン2033を押す。ひとたびMFD2001がユーザーから変更を提出するコマンドを受け取ると、ステップ2562でset〔セット〕要求およびupload.xmlファイルがGlobalScanサーバー2005にアップロードされる。ひとたびGlobalScanサーバー2005がset要求およびupload.xmlファイルを受け取ると、GlobalScanサーバー2005はジョブIDを含む応答XMLデータをステップ2564で返す。ひとたびMFD2001がxmlデータを受信すると、ステップ2566でプレビュー・ウィンドウは閉じられる。
図45Bは、提出ボタン2033、取り消しボタン2032および復元ボタン2031が選択された後、サーバー2005とMFD2001とによって使われるコードを示している。
提出ボタン2033に関しては、図45Bは、第1行で、サーバー2005にポストされたデータを、第1〜8行でサーバー2005によってMFD2001に返されたxmlデータを示している。図45Aのステップ2562で、set要求およびupload.xmlデータがサーバー2005にAPISessionMgr.aspxアクティブ・サーバー・ページを使って送られる。APISessionMgr.aspxには問い合わせストリングop=setが付随している。
図45Bには示されないが、図45Aのステップ2564においてサーバー2005から返されるXMLファイルの例について以下に述べる。まず、rootタグがxmlファイルを開く。次に含まれているのが、生成されうる何らかのエラー・コードであり、error_descriptionタグは生成されたかもしれない何らかのエラー・コードの記述を含む。次に、サーバー状態がMFD2001に返される。サーバー状態は、MFD2001に対して、set操作が完了したことを通信するために使われる。最後に、閉じrootタグがxmlファイルを閉じる。
取り消しボタン2032に関しては、図45Bは、第4〜5行で、取り消しボタンが選択されたときにサーバー2005にポストされたデータを示している。ユーザーが取り消しボタンを選択すると、プレビュー動作は取り消され、ユーザーはスキャンされた画像ファイルすべてを失う。この動作は、付随する問い合わせストリングop=cancelをもつAPISessionMgr.aspxアクティブ・サーバー・ページを使ってコールされる。サーバー2005がこのコマンドを受信すると、ジョブは消去され、サーバーは、先述した提出動作と同様のサーバー状態を含むXMLファイルを返す。
復元ボタン2031に関しては、図45Bは、第7〜8行で、サーバー2005にポストされたデータを、第10〜27行でサーバー2005によってMFD2001に返されたxmlデータを示している。ユーザーが復元ボタンを選択すると、それまでに実行されたあらゆるプレビュー操作をアンドゥーして、スキャン・ジョブを元の初期化された状態に戻すアンドゥー動作が初期化される。この動作は、付随する問い合わせストリングop=restoreをもつAPISessionMgr.aspxアクティブ・サーバー・ページを使ってコールされる。
第10〜27行は、復元コールに応答してサーバー2005から返されるXMLファイルの例を含んでいる。復元コールはMFD2001を、元の初期化コマンドの時点と同じ位置にする。
第10行で、rootタグがxmlファイルを開く。第11行は生成されうる何らかのエラー・コードを含む。第12行ではerror_descriptionタグが生成されたかもしれない何らかのエラー・コードの記述を含む。第15行では、サーバー状態がMFD2001に返される。第16行では、total_page_numberがバッチ・ジョブでスキャンされた画像またはページの総数を含む。第17行では、page_numberタグがその操作のために選択されているページ数を含む。第18行では、xmlデータはthumbnail_onlyタグを含む。これはブール値を含むが、この例では1に設定されている。この設定が0に設定されると、xmlファイルにはプレビュー画像が含められないことを示す。
第19〜22行および第23〜26行はそれぞれID番号1および2をもつサムネイルの例を含む。また、dataタグ内にはページ種別(page type)タグ(図19Bとの関連で上で論じた)が含まれる。さらに、サムネイル画像データは第20および24行に見出される。最後に、第27行では、xmlファイルが閉じrootタグで閉じられる。
さらに、本発明のもう一つの実施形態では、ユーザーは、該ユーザーによって実行された全操作の代わりに、ある操作がミスである場合、あるいはユーザーがその変更操作が必要でないと判断する場合にその単一の操作をアンドゥーすることができる。
さらに、本発明のもう一つの実施形態では、ユーザーは、プレビューの間にある画像またはページが欠けていると認識した場合には、スキャン・ジョブの中に画像を挿入することができる。これらの画像の挿入は、入力文書をスキャンすることによって、あるいはGlobalScanサーバー2005、MFD2001または他の何らかのネットワーク接続された記憶装置上に以前に記憶された画像を使って行ってもよい。
本発明のもう一つの実施形態では、プレビュー・ページ範囲ドロップダウン・ボックス2019aは、自動検出という名称のオプションを含んでいてもよい。このオプションは、MFD2001またはサーバー2005が、画像プレビューのためにどのページが利用可能であるべきかを検出することを許容する。この判別は、ずれたコピーの印(stray copy marks)に基づいて、あるいはジョブの大半がある配向をもつのに若干のページが異なる配向をもっているかどうかに基づいて行える。さらに、自動検出は、ユーザーに問題を引き起こしうる透かしまたはバーコードの存在を検出できてもよい。
図46は、本発明のある実施形態に基づくMFD2001のハードウェア構成設定の例を示している。図46に示されるように、MFD2001はコントローラ・ボード2600、操作パネル2610、ファクス制御ユニット(FCU: fax control unit)2620、USB2630、IEEE1394ポート2640およびプリンタ2650を含んでいる。IEEE1394b、USB2.0を含む他の型のI/Oインターフェースも含められることも注意しておくべきであろう。コントローラ・ボード2600は、処理するためのCPU2602と、SDRAM2603、SRAM2608、フラッシュメモリ(フラッシュROM)2604、フラッシュカード・インターフェース部2606およびHD2605といった、MFD2001に関連するデータを記憶するために使われるいくつかの記憶デバイスを含む。これらの構成要素のそれぞれは、ASIC2601に接続されている。ASIC2601は、MFD2001で使うために特別に設計された特定用途向け集積回路である。他の型の記憶デバイスならびに他の型のデータ・プロセッサおよび集積回路も可能である。操作パネル2610は、ASIC2601に直接接続される。通信インターフェース2620もそうである。通信インターフェース2620はまた、ネットワークまたは他の任意の同様の型の通信媒体に接続されることもできる。USB 2630、IEEE1394 2640ならびにスキャン、印刷およびファクスのような多機能プリンタ機能2650が、PCIバス2680を介してASIC2601に接続されている。
SRAM2608は不揮発性RAMである。他の型のSRAMも可能である。フラッシュカード2607がフラッシュカード・インターフェース部2606に挿入されることができ、それによりASIC2601とフラッシュカード2607の間でフラッシュカード・インターフェース部2606を介してデータが送受信されるようになる。
操作パネル2610は、ユーザーによるキー入力およびボタン押下などといったキー操作のために使われる操作部と、さまざまな画面のような描画データを表示するための表示部とを含む。他の型のハードウェア・コンポーネントが本発明において使われることもできることは認識しておくべきである。
さらに、フロッピー(登録商標)ディスク、磁気テープ、CD-ROMなどといったコンピュータ可読媒体に関し、該コンピュータ可読媒体に保存されているプログラムをMFDにインストールすることによって、MFDは本発明の機能を実行できる。
さらに、本発明では、いくつかの異なる型のビットマップ画像を使うことができ、それには、これに限られないが、24ビット・ビットマップ、256色ビットマップ、16色ビットマップおよび白黒ビットマップが含まれる。これらの型のビットマップはより小さく、他の型の画像ファイルが被りうるネットワークオーバーヘッドを被らない。
本発明は、図46に関して上記した複合機との関連で記載してきたが、コピー機、デジタルコピー機、プリンタ、スキャナ、ファクス機もしくは多機能プリンタまたはその任意の組み合わせといったいかなる画像処理装置にも適用可能である。さらに、本発明は他の特殊目的デバイスにも適用可能である。特殊目的デバイスとは、ナビゲーション・システム、全地球測位システム、自動販売機、計量システム(metering system)、機械ツールおよびプログラミングもしくはプログラムされたプロセッサを使って動作するその他のツール、自動車、列車、オートバイ、飛行機もしくはボートといった他の輸送デバイス、レーダー・システム、ラジオ、MP3プレーヤー、デジタル音楽プレーヤーおよび他のオーディオ・システム、携帯電話、他の通信デバイスおよびシステムならびにプラグインを使って動作する他の任意の特殊目的デバイスなどがある。
本発明は、個別的に開示された実施形態に限定されるものではない。本発明の範囲から外れることなく変形および修正がなしうるものである。明らかに、以上の教示に照らして、本発明の数多くの修正及び変更が可能である。したがって、付属の請求項の範囲において、本発明はここに具体的に記載されている以外の仕方で実施されてもよいことは理解しておくものとする。
〈第四の側面〉
これから、主として本発明の第四の側面を扱う。
〔技術分野〕
本発明は、画像処理システムのユーザーを認証する方法およびコンピュータ・ベースのシステムに向けられる。
〔背景技術〕
ここ数年、ネットワークを通じて利用可能な、文書関係のアプリケーションの数および種類が増えている。これらのアプリケーションは、文書管理システム(document management system)を含む。それは、たとえば医療、法律、金融、マーケティング、科学、教育などといったさまざまな個別的な内容の文書を管理することに特化したシステムのようなものである。他のアプリケーションとしては、電子メール・サーバー、ファクシミリ・サーバーおよび/または通常の郵便配達といったさまざまな送達システムが含まれる。さらに他のアプリケーションとしては、フォーマット変換システムおよび光学式文字認識システムといった文書処理システムが含まれる。さらなるアプリケーションとしては、さまざまな文書を保管し、整理し、管理するために使われる文書管理システムが含まれる。さまざまな文書を保管し、整理し、管理するために使われるこれらの文書管理システムは、「バックエンド」アプリケーションと称することができる。
これらのネットワーク・アプリケーションに画像処理装置(たとえば、スキャナ、プリンタ、コピー機、カメラ)からアクセスするためのさまざまなシステムが考えられてきた。あるシステムは、前記ネットワーク・アプリケーションを用いて文書を管理するための各処理装置に、コンピュータを関連付ける。そのコンピュータが前記さまざまなネットワーク・アプリケーションと通信して、該画像処理装置のユーザーによる該アプリケーションの使用を可能にする。たとえば、前記コンピュータは前記ネットワーク・アプリケーションから、文書を管理するために前記アプリケーションによって要求されるデータのフォーマットおよび内容についての情報を要求し、受け取る。前記コンピュータはこの情報を処理し、正しいフォーマットおよび内容を提供するよう、画像処理装置を構成設定する。
画像処理装置はまた、典型的には、画像処理装置の資源使用を追跡するための何らかの種類のモニタリング・システムを組み込んでいる。これらのモニタリング・システムはユーザーを認証し、文書名、プリンタ、ポート、日時、用紙サイズ、仕上げオプションおよび白黒かカラーかの選択といった属性に基づいて、コピー、印刷およびファクス活動を追跡する能力を提供する。そのようなプロセスは、認証されたユーザーのその画像処理装置での行動に基づいて課金報告、請求書などを生成できるようにする。よって、そのようなモニタリング・システムを含む画像処理装置を操作する前に、まずモニタリング・システムを用いてユーザーを認証する必要がある。そのような認証は典型的にはユーザーからの何らかの種類の個人的な情報またはデータの入力に関わる。
ひとたびユーザーが画像処理装置へのアクセスを認められたら、上記のバックエンド・アプリケーションの一つまたは複数へのアクセスを得るために、典型的には追加的な認証ステップが実行される。たとえば、ユーザーは、その画像処理装置が接続されているサーバーまたはネットワークへのアクセスを得るために、該サーバーまたはネットワークに追加的にログインすることがありうる。
〔発明の開示〕
〔発明が解決しようとする課題〕
こうして、本発明者らは、現行システムでは、画像処理装置および該画像処理装置に付随するバックエンド・アプリケーションの両方にアクセスを得るためには、ユーザーは単一の画像処理装置において複数回ログインすることを要求されることがあることを認識するに至った。本発明者らは、そのような冗長性は画像処理装置のユーザーにとってはわずらわしく、ユーザーに、必要とされる各ログイン手順に関連して異なるユーザー認証情報を記憶することを強いることがありうることを認識するに至った。
〔課題を解決するための手段〕
本発明者らは、画像処理装置およびそれに関連するシステムにとってより効率的かつカスタマイズ可能なログイン手順が必要とされていると判断するに至った。具体的には、本発明は、モニタリング・システムにおける認証手順に基づく許諾情報およびユーザー・クレデンシャルを、ユーザー介入なしに、第二のサーバーおよびさまざまなバックエンド・アプリケーションにおける認証のために使うことに向けられる。
したがって、本発明は、画像処理システムのユーザーを認証するシステムおよび方法に向けられる。ユーザー・クレデンシャルが、画像処理装置に対応する認証デバイスにおいて受領され、該認証デバイスからリモートな第一のサーバーに送信される。ユーザー・クレデンシャルの有効性は、受領されたユーザー・クレデンシャルを、第一のサーバーに保存されている認証情報と比較することによって判断され、判断の結果は画像処理装置に送信される。次いで画像処理装置は、該画像処理装置からリモートな第二のサーバーにアクセスを要求し、第二のサーバーはユーザー・クレデンシャル要求を第一のサーバーに送信する。第一のサーバーからユーザー・クレデンシャルを受け取ったのち、第二のサーバーはユーザー認証を実行する。
以下の詳細な記述を付属の図面とともに参照することにより、本発明およびそれに付随する利点の多くのより完全な理解が簡単に得られ、よりよく理解されるであろう。
〔発明を実施するための最良の形態〕
ここで図面を参照する。図面では、各図を通じて同様の参照符号は同一または対応する部分を示す。図1は、本発明に基づいて文書を管理するためのシステム3005のブロック図である。具体的には、文書マネージャ・サーバー3040が、I〜IIIのグループにグループ分けできるアプリケーションに関係した情報を処理することによって文書およびファイルを管理できるようにするためのものである。システム3005は、少なくとも一つだが好ましくは複数の画像処理装置を文書マネージャ・サーバー3040に相互接続するネットワーク3100を含んでいる。画像処理装置は複合機(MFD: multifunction device)として実装されてもよい。ネットワーク3100は好ましくはTCP/IP(Transmission Control Protocol/Internet Protocol)を使うが、他のいかなる望ましいネットワーク・プロトコルも可能である。他のプロトコルとは、たとえばIPX/SPX(Internetwork Packet Exchange/Sequential Packet Exchange)、NetBEUI(NetBIOS Extended User Interface)またはNetBIOS(Network Basic Input/Output System)といったものである。ネットワーク3100は構内ネットワーク、広域ネットワーク、イントラネット、エクストラネット、インターネットのような任意の型のネットワークまたはそれらの組み合わせでありうる。仮想閉域網または無線リンクまたは他の任意の好適な代替といった、ネットワーク3100のための他の通信リンクを使ってもよい。
図47に示されるように、装置3010、3020、3030は複合機または「MFD」であってもよい。MFDはスキャナ、コピー機、プリンタ、ファクス機、他のオフィス機器およびそれらの組み合わせのうちの任意の一つまたは複数を組み込んでいたり、これらの機器の任意の一つまたは複数であったりしてもよい。これらの機器の任意の一つまたは組み合わせは一般にMFDと称される。当技術分野ではさまざまな種類のMFDが一般的に知られており、本発明のMFDと一般的な機能およびハードウェアを共有する。そのようなMFDはデジタル・イメージング機能およびインターネット機能を組み合わせており、スチール画像、サウンドまたはビデオを取り込んで、そのようなマルチメディアを有線または無線の接続を使ってさまざまな位置から共有することができる。MFDはウェブ・ページを作成し、添付ファイルのある電子メールを送受信し、画像を編集し、ファイルをFTPし、インターネットをサーフィンし、ファクスを送受信することができる。別の実施形態では、MFDはスキャナ、コピー機およびプリンタの組み合わせの一つである。
MFDはまた、ユーザー認証デバイス3015、3025、3035を含むか、これに接続されている。ユーザー認証デバイスは、キーボードを介して、電子カードまたはメモリから、および/またはユーザーによって入力されたバイオメトリック情報を感知するよう構成されたバイオメトリック機器を介して入力された情報を受け付けるよう構成されている。好適なバイオメトリック機器の例としては、これに限られないが、網膜スキャナ、指紋読み取り器、音声スキャナまたは他の任意の型のバイオメトリック・リーダー装置が含まれる。ユーザーを認証するために使われる他の装置は、非接触スキャナ(proximity scanner)、自動料金所支払い装置、携帯電話などを含みうる。より一般には、認証デバイスは、モニタリング・システム、MFD、文書マネージャ・サーバーまたはバックエンド・アプリケーションにおいてユーザー認証を実行する目的のためにユーザーを識別することのできるいかなる好適なデバイスであってもよい。
本願において「スマートカード」という用語が使用されるかもしれないが、この用語は、ユーザー情報を保存するための、電子装置によって読まれることのできる任意の型のカードまたはメモリ・デバイスを指す。また、カードおよび該カードを読むために使われるデバイスは、カードから直接読むために使われるスキャン・センサーであってもよいし、あるいはまた、カードと物理的に接触することなくデバイスからデータを読むよう構成された非接触センサーであってもよい。
図53で説明されるように、ユーザー認証デバイスは、画像処理装置の中またはその近くに位置していてもよく、画像処理装置と通信していてもいなくてもよい。ある実施形態では、認証デバイスは、ユーザー認証を実行するためにMFDと直接通信してもよい。別の実施形態では、認証デバイスは、ネットワークに接続された、ユーザー認証を実行する機能をもついくつかのシステムの任意のうちの一つに受け取った認証情報を送るために、該ネットワークに接続されてもよい。そのような構成では、ユーザーのクレデンシャルは認証デバイスから、たとえばモニタリング・システム3045または文書マネージャ・サーバー3040に送信される。MFDは次いで、認証の結果を通知され、それによりそのユーザーのMFDへのアクセスを許可または禁止する。認証結果はモニタリング・システム3045から直接MFDに送られてもよいし、あるいは認証デバイスが認証結果を受信したのちに認証デバイスから転送されてもよい。のちにより詳細に論じるように、モニタリング・システム3045における認証は文書マネージャ・サーバー3040およびそれに接続されたさまざまなバックエンド・アプリケーションによって、シングル・サインオンの認証手順を実行するために使用されうる。
MFDのそれぞれおよびユーザー認証デバイスは、情報を伝送するために、いかなる好適な種類の有線または無線接続によって接続されてもよい。さらに、モニタリング・システム3045と認証デバイスとの間の通信は、上で論じた、MFDと文書マネージャとの間のネットワーク3100を介した接続と同様であってもよい。にもかかわらず、認証デバイスとモニタリング・システム3045との間では、ユーザー・クレデンシャルおよび認証結果の交換のために好適な他の任意の接続が用いられてもよい。
ある例示的な実施形態では、認証デバイスはEquitrac Office(商標)システムと対話するよう構成される。このシステムは、ユーザーが、認証デバイスの一つにおいてユーザー認証情報を入力することによって、Equitracシステムに関して認証されることを許容する。該ユーザー認証情報は次いでEquitracサーバー(たとえばモニタリング・システム45)に送られる。ひとたびユーザーがEquitracシステムに関して認証されたら、システムは、文書名、プリンタ、ポート、日時、用紙サイズ、仕上げオプションおよび白黒かカラーかの選択といった属性に基づいて、コピー、印刷およびファクス活動を追跡する。他の型およびブランドの認証デバイスおよびコスト課金システムも本発明とともに使用されてもよい。
図47に示されるように、文書マネージャ・サーバー3040はディレクトリ/アドレス帳サーバー3060(または「ディレクトリ・サーバー」または「グローバル・ディレクトリ」)に接続されている。ディレクトリ・サーバー3060は、個人の名前、住所、ネットワーク・アドレス、電子メール・アドレス、電話/ファクス番号、その他の種類の宛先情報および権限といった情報を含むことができる。ディレクトリ・サーバー3060には他の情報も含めることができる。本発明と両立するディレクトリ・サーバー3060の例は、これに限られないが、Lotus Notes(商標)、Microsoft Exchange(商標)およびLDAP(Lightweight Directory Access Protocol)対応の諸ディレクトリ・サーバーが含まれる。LDAPはユーザーがネットワーク認証を実行し、ネットワーク中の組織、個人、ファイル、デバイスを位置特定することを可能にするソフトウェア・プロトコルである。ディレクトリ・サーバーは、認証デバイスまたは画像処理装置において入力されたユーザー情報を受け取り、ネットワークのためにそのユーザーを認証するよう構成されている。
文書マネージャ・サーバー3040はまた、MFDユーザーのネットワークへの認証をコントロールするネットワーク・ドメイン・コントローラ3050にも接続されていることができる。ネットワーク・ドメイン・コントローラ3050はたとえば、そのドメイン内でのログイン動作のようなセキュリティ認証要求に応答するサーバーである。ネットワーク・ドメイン・コントローラ3050は、任意的にやはりセキュリティ認証を扱うことのできる一つまたは複数のバックアップ用ネットワーク・ドメイン・コントローラによってバックアップされてもよい。ディレクトリ・サーバー3060およびネットワーク・ドメイン・コントローラ3050の例は2002年9月16日に出願された米国出願第10/243,645号に開示されており、その内容全体はここに参照によって組み込まれる。
簡単に言えば、システム3005は、MFD3010〜3030のユーザーのために、該ユーザーが画像処理装置において認証されたときに、ディレクトリ・サーバー3060に保存されている情報へのアクセスを、文書マネージャ・サーバー3040を介して提供する。ディレクトリ・サーバー3060はユーザーのクレデンシャルに関係した選好情報を取得することができ、この選好情報をMFD3010〜3030に送信する。選好情報は、解像度、密度、スキャン・モード、色、用紙サイズ、ファイル・フォーマットまたはMFDによって調整されることのできる任意の追加的な設定といったスキャン設定に関係する情報を含みうる。選好情報はまた、処理された画像の宛先に関係した情報を含みうる。それには個別的な電子メール・アドレス、バックエンド・アプリケーション、中間処理システムまたは処理されたデータを受け付けるよう構成された他の任意のネットワーク・アプリケーションが含まれる。中間処理システムは、のちにより詳細に述べるように、ファイル・フォーマット変換システム、光学式文字認識または同様に好適なシステムを含みうる。また、選好情報は、のちにより詳細に論じるソフトウェア・プラグインまたはMFDの機能の変更に関係する他の任意の情報を含みうる。のちに論じるように、これらのプラグインも、モニタリング・システム3045およびその後は文書マネージャ・サーバー3040における認証成功に続いて、文書マネージャ・サーバーがMFDに保存されているユーザー・クレデンシャル情報にアクセスすることを許容する。
ユーザーはまた、ディレクトリ・サーバー3060に保存されている会社のグローバル・ディレクトリの検索を要求することもできる。文書マネージャ・サーバー3040は、検索要求をディレクトリ・サーバー3060に渡し、ディレクトリ・サーバー3060から検索結果(たとえば、電子メール・アドレスおよび/またはファクス番号)を受け取ることができる。文書マネージャ・サーバー3040はMFD3020に検索結果を渡すことができる。MFD3020は検索結果を一時的に記憶し、表示できる。ユーザーは表示されたある結果(たとえば、電子メール・アドレスまたはファクス番号)を選択し、ある文書をスキャンし、スキャンされた文書が選択された宛先に送信、電子メール送信および/またはファクス送信されるよう要求することができる。
文書マネージャ・サーバー3040は、複数のネットワーク・アプリケーション3045、3050、3060、3070、3080および3090とMFDとの間の仲介エージェントまたはゲートウェイとして作用するよう構成されていることができる。アプリケーション3070、3080および3090はたとえば電子メール・サーバー、ファクス・サーバー、ファイル・フォーマット変換システム、光学式文字認識(OCR)システム、文書管理システムおよびファイル記憶システムまたはそれらの複数の任意の組み合わせを含むことができる。文書管理サーバー3040は、さまざまな文書管理システムまたはファイル記憶システムといった複数のバックエンド・アプリケーションをサポートする機能をもつ。ある好ましい実施形態では、電子メール・サーバーは文書マネージャ・サーバー3040に組み込まれる。文書管理システムの一例は、2001年3月1日に出願された米国出願第09/795,438号および2002年4月5日に出願された米国出願第10/116,162号において開示されている。これらの内容全体はここに参照によって組み込まれる。
アプリケーションは、たとえばグループI〜IIIにグループ分けすることができる。グループIは、電子メール・サーバーおよびファクス・サーバーを含む送達システム・グループであることができ、グループIIはファイル・フォーマット変換システムおよび光学式文字認識システムを含む中間処理グループであることができ、グループIIIは文書管理システムおよびファイル記憶システムを含むバックエンド・アプリケーション・グループであることができる。グループI〜IIIは各カテゴリーからの複数のデバイスを含むことができる。たとえば、文書管理サーバー3040は各グループからの複数のアプリケーションに接続されることができる。文書マネージャ・サーバー3040は、文書を各グループ内のいくつかのアプリケーションに向けることができる。ある好ましい実施形態では、文書マネージャ・サーバー3040は文書を前記送達システム・グループ内のアプリケーションのいくつかに送達するが、その文書を前記中間処理グループ内のアプリケーションの一つまたは複数ならびに前記バックエンド・アプリケーション・グループのアプリケーションの一つまたは複数に送達する。たとえば、文書マネージャ・サーバー3040は文書を電子メール・サーバーおよびファクス・サーバーに、OCRシステムに、そして文書管理システムに送達できる。他の実施例では他の組み合わせも可能である。
ある好ましい実施形態では、MFD3010〜3030と文書マネージャ・サーバー3040は、ネットワーク3100を通じたデータ交換を、プロトコルHTTP(Hypertext Transfer Protocol)またはHTTPS(HTTP over Secure Socket Layer)を使って行う。たとえばTCP/IP、IPX/SPX、NetBEUIまたはNetBIOSといった他のプロトコルが等価に本発明とともに使用できる。好ましくは、MFD3010〜3030と文書マネージャ・サーバー3040がデータを交換するのは、XML(Extensible Markup Language)フォーマットを使って行われる。HTMLのような他のフォーマットも等価に本発明とともに使用できる。
ある実施形態では、文書マネージャ・サーバー3040は、MFD3010〜3030のためのプロファイルを管理するMFDプロファイラー3280(図2に示す)を含むことができる。システム3005の管理者は、文書マネージャ・サーバー3040上のプロファイル・ユーザー・インターフェースを介してプロファイルを生成、変更および維持できる。プロファイルは、文書マネージャ・サーバー3040からMFDに送られた情報(たとえばパラメータ)を含む。この情報に基づいて、MFDは、文書マネージャ・サーバー3040と適正にインターフェースがとれるよう、ユーザー・インターフェースおよび機能を調整できる。前記情報は、バックエンド・アプリケーションの存在または導入に基づいてMFDの動作が修正されることを許容するよう、MFDによって処理されるソフトウェア・プラグインをも含みうる。文書マネージャ・サーバー3040は、該文書マネージャ・サーバー3040に接続されたバックエンド・アプリケーションに対応するソフトウェア・プラグインを含む。たとえば、MFDは、該MFDにとって利用可能なオプション(たとえば特定の送達システム、中間処理システムまたはバックエンド・アプリケーション)を文書マネージャ・サーバー3040を介してユーザーが選択することを許容する選択肢を表示できる。プロファイルに含まれる情報は、文書マネージャ・サーバー3040に接続されたさまざまなアプリケーション3070〜3090の素性(identity)であることができる。プロファイラー3280は、識別情報(たとえばシリアル番号)をMFDから受信し、この識別情報を、そのMFDがレジスタ内に登録されているかどうかを検査するために使う。レジスタとは、たとえば文書マネージャ・サーバー3040のメモリに保存されているデータ・テーブルである。登録されていれば、プロファイラーはそのMFDに該MFDに割り当てられたプロファイルを送る。そのMFDが登録されていなければ、プロファイラーはそのMFDを登録し、該MFDにプロファイルを送ることができる。プロファイラーは二つ以上のプロファイルを保存できる。ある好ましい実施形態では、一つのプロファイルが各MFDに割り当てられ、二つ以上のMFDが同じプロファイルを供給できる。「ソフトウェア・プラグイン」の用語を使ってきたが、いかなる種類のソフトウェア、プログラミングまたはチップでもMFDの動作を修正するために使うことができる。
プロファイル中のパラメータの例は、これに限られないが:
プロファイルID:これはプロファイルを識別するものである;
LDAP有効化パラメータ:これはディレクトリ・サーバー3060を使って文書マネージャ・サーバー3040上でLDAPツリー検索が有効にされているかどうかを示す;
ベース・ドメイン名(DN)パラメータ:これはLDAP検索が有効になっているときにLDAPツリーの検索のデフォルト・フィールドを与える;
ネットワーク認証パラメータ:これはネットワーク・ドメイン・コントローラ3040を使ってネットワーク認証が有効にされているかどうかを示す;
タイムアウト・パラメータ:これは、MFDがリセットになってユーザーがログイン情報の入力を要求されるまでに経過すべき時間期間を示す;
最大結果カウント・パラメータ:これは、返されるLDAP問い合わせ結果の最大数を決める;
ファクス・オプション・パラメータ:これは、文書マネージャ・サーバー3040にファクス・サーバーが接続されているかどうかを示す;
スキャン後処理パラメータ:これは、文書マネージャ・サーバー3040にどのスキャン後処理システムが接続されているかを示す;スキャン後処理システムは、たとえば、電子メール・サーバー、ファイル・フォーマット変換システム、光学式文字認識システムなどを含みうる;
バックエンド・パラメータ:これは、文書マネージャ・サーバー3040にどのバックエンド・アプリケーションが接続されていて、MFDによってアクセスされることができるかを示す;そのようなバックエンド・アプリケーションは、文書管理システムまたはファイル記憶システムまたは他の同様の種類のシステムを含みうる;
ソフトウェア・プラグイン:これは画像処理システムが、一つまたは複数のバックエンド・アプリケーションに関係する個別的な処理タスク(たとえばユーザー認証)を実行することを許容する実行可能ファイルを含む
プロファイル中に他のパラメータが含まれていることもできる。たとえば、特定のユーザーID、デフォルト用紙サイズ、スキャン解像度設定、文書フィーダー条件を反映するパラメータ、画像処理動作に課金するための部局コード、前記特定のユーザーIDのための追加的なスキャン・ジョブ・パラメータまたは任意の追加的なパラメータが使用されうる。
バックエンド・パラメータは、ユーザーがすでにネットワークにログインしており、そのバックエンド・アプリケーションを動作させるために自動的に認証されているかどうかをネットワーク認証に基づいて判定する認証ステップを開始してもよい。バックエンド・パラメータが、そのバックエンド・アプリケーションと適正にインターフェースがとれるためにはそのMFDデバイスのためにソフトウェア・プラグインが要求されることを示す場合、MFDはソフトウェア・プラグインの受領を要求するデータを文書マネージャ・サーバー3040に送信する。
図51A〜51Bを参照しつつのちに開示される認証手順のコンテキストでは、MFDに対応する識別情報を含む要求を文書マネージャがMFDから受け取るときに、プロファイルがアクセスされうる。あるいはまた、プロファイルは、ひとたびユーザーが文書マネージャ・サーバーおよび関連するバックエンド・アプリケーションで認証されたら、アクセスされうる。いずれにせよ、図51A〜51Bで論じられるログイン・テンプレートを形成するためには、各バックエンド・アプリケーションに対応するプラグインが使われる。
図48は、本発明のある実施形態に基づく、MFD3020と文書マネージャ・サーバー3040との間で情報を交換するよう構成されたMFD3020のブラウザー3025を示している。ブラウザー3025の例は、2002年9月16日に出願された米国出願第10/243,643号に開示されており、その内容全体はここに参照によって組み込まれる。ブラウザー3025のさらなる詳細はのちに記述する。図48は、のちに論じる認証機能を実行するよう構成された認証デバイス3260を含む文書マネージャ・サーバー3040のソフトウェア構成要素を示している。文書マネージャ・サーバー3040はまた、システム管理者がシステム3005を管理することを許容する管理デバイス(administration device)3265も含む。たとえば、システム管理者は、管理デバイス3265を介してプロファイラー3280にアクセスして、ユーザー・プロファイルおよび/またはMFDプロファイルを、文書マネージャ・サーバー3040に接続されたMFD3010〜3030のために設定できる。システム管理者はまた、管理デバイス265にアクセスして、のちに図51Aおよび51Bを参照しつつ開示されるシングル・サインオン機能を設定することもできる。文書マネージャ・サーバー3040内にはディレクトリ・ゲートウェイ3270も含まれ、ディレクトリ・サーバー3060と通信するよう構成される。文書マネージャ・サーバー3040は、MFDから受け取られた文書を適切なアプリケーション3070、3080および3090に経路制御〔ルーティング〕するよう構成された文書ルータ3275をも含む。
図48に示されるように、MFD3020は、たとえばMFD3020のスキャン・エンジンを制御するエンジン制御サービス(ECS: engine control service)3200を含む。メモリ制御サービス(MCS: memory control service)3205はMFD3020のメモリへのアクセスを制御する。このMCS3205は、モニタリング・システム3045または他の任意の外部認証システムにログインするのに使われるユーザー・クレデンシャルも記憶する。のちに論じるように、ユーザー・クレデンシャル情報は、認証デバイス3260および/またはプロファイラー3280によって、文書マネージャ・サーバー3040および該文書マネージャ・サーバーに接続されたさまざまなバックエンド・アプリケーションにおいて認証を実行するために、アクセスされうる。
操作パネル制御サービス(OCS: operation panel control service)3215は、MFD3020のタッチパネル式液晶ディスプレイ(LCD)上に表示される出力を生成する。MFD3020のディスプレイおよびユーザー・インターフェースはLCDディスプレイに限定されず、他のいかなる好適なデバイスまたはデバイスの組み合わせでもよいことは注意しておくべきであろう。他のデバイスには、これに限られないが、LCD、発光ダイオード(LED)ディスプレイ、陰極線管(CRT)、プラズマ・ディスプレイ、キーパッドおよび/またはキーボードといったものがある。
システム制御サービス(SCS: system control service)3225は、MFD3020内でセンサーを制御および/またはモニタリングする。たとえば、SCS3225は、タッチスクリーン・センサー、紙づまりセンサーおよびスキャン動作センサーを制御する。したがって、SCS3225は、MFD3020の状態を、センサーからの情報に基づいて管理できる。
ネットワーク制御サービス(NCS: network control service)3220は、ブラウザー3025と文書マネージャ・サーバー3040との間の通信を制御する。任意的に、通信整形デバイスまたはルーチンの形の安全なソケットレイヤー(SSL: secure socket layer)3230が、NCS3220とブラウザー3025との間の通信に追加的なセキュリティを提供する。
コマンド入力サービス(CIS: command input service)3240は、たとえばMFD3020のLCDタッチパネルおよび/またはキーパッドからの入力情報を処理する。MFDのユーザーは、情報およびコマンドを、LCDタッチパネルおよびキーパッドを使って入力できる。CIS3240は、ユーザーによって入力された(たとえば、SCS3225によってCIS3240に転送された)そのような情報およびコマンドを処理できる。CIS3240は、そのような処理に基づいてコマンド(たとえば表示コマンド)を生成し、該コマンドをMFDの他の構成要素に(たとえばLCD上にグラフィックを表示するためにOCS3215に)送信できる。CIS3240はまた、サーバー3040と連絡したブラウザー3025による処理のために、NCS3220と情報およびコマンドを交換することもできる。
従来式のMFDは、ECS、MCS、OCS、NCS、SCSおよびCISを含む。これらは該MFDの各ハードウェア構成要素を実装および制御するためのファームウェアである。しかしながら、本発明では、NCS3220は、ブラウザー3025と通信するよう構成される。たとえば、NCS3220はHTTPプロトコルを使って通信するための追加的な機能を有する。NCS3220はまた、NCS3220がブラウザー3025とサーバー3040との間でデータを交換するよう、サーバー3040と通信するようにも構成される。たとえば、NCS3220は、ユーザー情報をサーバー3040と交換し、プロファイルを受信することができ、電子メール・アドレスの要求を送信することができ、サーバー3040から選択された電子メール・アドレスをじ受信することができ、あるいは、NCS3220はモニタリング・システム3045とユーザー・クレデンシャル情報を交換することができ、認証プロセスの間にモニタリング・システム3045から(およびディレクトリ・サーバー3060から)認証確認を受信することができる。NCS3220はまた、のちに述べる認証手順を実行できる文書マネージャ・サーバー3040からプラグイン情報を受信し、MFDのユーザー・インターフェースを変更することもできる。
ブラウザー3025は、MFD3020のネットワーク制御サービス(NCS)3220と通信するHTTPコマンド・プロセッサ3235を含む。たとえば、MFDキーパッドを介してユーザーが入力した電子メール・アドレスの要求、あるいはLCD上に情報を表示する要求は、NCS3220からブラウザー3025にHTTPコマンド・プロセッサ3235によって渡されることができる。HTTPコマンド・プロセッサ3235は、HTMLフォーマットのデータをブラウザーのHTMLパーサー3250と交換でき、XMLフォーマットのデータをXMLパーサー3255と交換できる。パーサー3250および3255は、HTTPコマンド・プロセッサ3235からのデータをシンタックスについて検査し、該データをHTTPコマンド・プロセッサ3235のために処理することができる。本発明は、コンパイラの一部として通常含まれている、従来式のパーサーを含むことができる。
HTTPコマンド・プロセッサ3235には、のちに論じるようなユーザー認証処理のような個別的なアプリケーションを実装するためのプログラム・コードまたはソフトウェア・プラグインを設けることができる。HTTPコマンド・プロセッサ3235は、前記個別的なアプリケーションの定義に基づいて情報を処理できる。たとえば、HTTPコマンド・プロセッサ3235はユーザーによって提供される、ユーザー・クレデンシャル(たとえば、ユーザー名、パスワード、バイオメトリック識別情報など)のような情報を処理し、この処理に基づいてサーバー3040のためにHTTP要求を生成できる。HTTPコマンド・プロセッサ3235はこのHTTP要求を、サーバー3040に送信してもらうために、NCS3220に送信できる。HTTPコマンド・プロセッサ3235はまた、特定のバックエンド・アプリケーション機能に関係する、または、文書マネージャ・サーバー3040もしくは該文書マネージャ・サーバーに接続されたバックエンド・アプリケーションへのアクセスを得るために必要な認証プロセスに関係するプラグイン情報を受信することもできる。そうしたプラグインはまた、文書マネージャ・サーバー3040に送信される画像ファイルに、ユーザーが、処理命令、メタデータおよび他のインデックス付け情報を追加することを許容する。
HTTPコマンド・プロセッサ3235はまた、サーバー3040から(NCS3220を介して)受信された情報を処理することもできる。たとえば、HTTPコマンド・プロセッサ3235は、サーバー3040によって生成されたHTTP応答を受信できる。該応答は、MFDを動作させるためのパラメータまたはソフトウェア・プラグインをもつプロファイルを含む。これらのソフトウェア・プラグインはまた、文書マネージャ・サーバー3040または該文書マネージャ・サーバーに接続された任意のシステムにおいてユーザーが認証されるために必要でありうるユーザー・クレデンシャル情報をも指示する(indicate)。上記したように、そしてのちに詳細に論じるように、モニタリング・システム3045のために実行される認証手順にプラグインが関連付けられてもよい。この情報は文書マネージャ・サーバー3040によって得られてもよく、追加的なユーザー認証を要求するプラグインのために必要とされるユーザー・クレデンシャルおよび認証情報を埋めるのに使われてもよい。HTTPコマンド・プロセッサ3235はこの情報を処理して、この情報に従ってMFDを制御するためのコマンドを生成する。たとえば、MFDに、適切なボタンがあるメニューを表示すること、あるいは特定のユーザーIDのためのスキャン・ジョブ・パラメータに従ってスキャンすることを要求できる。もう一つの例として、HTTPコマンド・プロセッサ3235はLCDパネルのためのグラフィック描画コマンドを生成できる。HTTPコマンド・プロセッサ3235はコマンドを実行してもらうために適切なMFDファームウェア(たとえばOCS3215)に送信できる。
図49および図50は、外部システム、たとえばモニタリング・システム3045において認証デバイス3015、3025、3035のうちの任意のものを介して認証を実行している間に実行される例示的なステップを描いたフローチャートである。
具体的には、図49に描かれたプロセスは、カード型の認証デバイスを使ってモニタリング・システム3045において認証を実行する方法を示している。ステップ3300では、ユーザーがカードを認証デバイスに挿入する。図53で説明されるように、認証デバイス3015〜3035はMFD3010〜3030内に位置されてもよいし、あるいはMFD3010〜3030の外部に位置されてモニタリング・システム3045のような外部システムと通信するよう構成されてもよい。光学式リーダーのような他の種類の認証デバイスが使われることもでき、認証デバイスの種類および設計によっては認証デバイスにカードを実際に挿入することは必要ない。この実施形態での認証デバイスは、たとえば、カード読み取り器およびユーザーが暗証番号または該ユーザーに関連するその他の個人的な情報を入力できるようにするインターフェースである。さらに、モニタリング・システムは認証プロセスを個々に実行してもよく、認証の結果をMFD3010〜3030と通信してもよい。
ステップ3305でユーザーは暗証番号(PIN: personal identification number)の入力を促される。この促しは、カード読み取りの前でも、後でも、同時でもよい。あるいはまた、ユーザーは該ユーザーの身体的属性に関係したバイオメトリック情報を入力することを求められてもよい。これは、ユーザーの指紋を読むこと、ユーザーの網膜をスキャンすること、ユーザーの声を感知すること、あるいはユーザーの顔認識を実行することを含みうる。入力されたバイオメトリック情報は次いで数学的な表現に変換されてもよい。その数学的な表現が、カードまたはモニタリング・システムに保存されているユーザーの指定されたバイオメトリック情報の数学的モデルと比較されるのである。
ステップ3310では、カード情報および関連するPINまたはバイオメトリック情報(たとえばクレデンシャル)がモニタリング・システムに送られる。モニタリング・システムは、ユーザー・クレデンシャルを特定のユーザーに関連付けるデータベースを含み、受信されたクレデンシャル情報に基づいてユーザーの識別および認証を可能にしている。ステップ3315では、受信されたユーザー・クレデンシャル情報がモニタリング・システムのデータベースに保存されているユーザーにマッピングされる。ステップ3320では、モニタリング・システムは、受信されたクレデンシャル情報が権限のあるユーザーに対応するか権限のないユーザーに対応するかを判定する。ステップ3325では、ユーザーがみつからないか、あるいはMFDにアクセスする権限がなかった場合、モニタリング・システムはMFDにそのユーザーが該デバイスにアクセスすることを防止するよう通知する。あるいはまた、ステップ3320でユーザーがシステムにアクセスする権限があると見出された場合は、ユーザーのクレデンシャルおよび任意的には該ユーザーに関係した追加的な情報がモニタリング・システム3045にキャッシュされ、のちに文書マネージャ・サーバー3040がアクセスできるようにされる。ステップ3335では、モニタリング・システム3045はMFDデバイスに、そのユーザーがシステムにアクセスする権限があることを通知する。ステップ3340で、MFDはユーザーにそのデバイスへのアクセスを認め、ユーザー・インターフェースをロック解除して、ユーザーが文書マネージャ・サーバーを介して他の諸システムにアクセスすることを許容する。
カードに保存され、モニタリング・システムのデータベースのあるユーザーと相関付けされうるユーザー・クレデンシャル情報の一例は、デジタル署名である。モニタリング・システムは受信したデジタル署名の有効性を判定し、それに従ってMFDへのアクセスを許諾または無効化しうる。このデジタル署名は次いでモニタリング・システムにキャッシュされ、のちの認証手順のために文書マネージャ・サーバーのプラグインが簡単にアクセスして、ユーザーに対応するプロファイルを取得できるようにされる。
図50は、図49に描かれたのと同様のプロセスを描いているが、バイオメトリック認証デバイスを使ったユーザー認証の実行に向けられている。上記したように、認証デバイス3015〜3035は、網膜スキャナ、指紋読み取り器、音声スキャナまたは他の任意の種類のバイオメトリック・デバイスのうちのいずれでも、あるいはそれらの組み合わせでもよい。
ステップ3400で、ユーザーは認証デバイスにバイオメトリック情報を呈示する。認証デバイスはバイオメトリック情報を、上記のバイオメトリック・スキャン/検出機構のいずれかを使って検出する。光学式リーダーのような他の種類の認証デバイスを使うこともでき、認証デバイスの種類および設計によっては実際にカードを認証デバイスに挿入することは必要ない。ステップ3405では、バイオメトリック情報が検出され、通常のよく知られた方法によって数学的な等価物にマッピングされ、その上でモニタリング・システムに識別および/または認証のために送信される。ステップ3410では、モニタリング・システム3045はデータベースを検索して、受信された検出されたバイオメトリック情報に対する一致があるかどうかを調べる。ステップ3415で一致がみつからなかった場合、モニタリング・システム3045はMFDに、そのユーザーは該デバイスにアクセスする権限がないことを通知する。MFDはそれに従ってユーザーへのアクセスを拒否する。
しかしながら、ステップ3415で一致がみつかった場合、モニタリング・システムは、受信されたバイオメトリック情報に対応するユーザーがMFDにアクセスする権限があるかどうかを判定する。ユーザーに権限がある場合、ステップ3425で、モニタリング・デバイスは、ユーザーのクレデンシャルをデータベースから取得して、該クレデンシャルをキャッシュ・メモリに保存して(ステップ3430)、のちにその後の認証のために文書マネージャ・サーバー3040がアクセスできるようにする。キャッシュされるクレデンシャル情報は、バイオメトリック情報だけを含んでいてもよいが、好ましくはモニタリング・システムのデータベースに保存されている、受信されたバイオメトリック情報に一致する追加的な情報をも含む。この追加的な保存された情報は、文書マネージャ・サーバー3040によって認証目的のために使用される、ユーザーの素性、ユーザーのユーザー名、パスワードまたはその他の追加的なユーザー情報を含みうる。ユーザー・クレデンシャル情報がキャッシュされる(すなわちステップ3425および3430)前または後に実行されうるステップ3435は、MFDに、そのユーザーが該MFDにアクセスする権限があることを通知することを含む。するとMFDはユーザー・インターフェースをロック解除して、そのユーザーに該デバイスにアクセスすることを許容しうる。
図49および図50は、上で論じたように、認証デバイスおよび外部モニタリング・システムを使ったユーザー認証を実行することに関係する。その際、ユーザーから受け取られるかモニタリング・システムのデータベースから取得されるかするユーザー・クレデンシャルはモニタリング・システムにキャッシュされて、文書マネージャ・サーバー3040での認証手順による効率的なアクセスを許容する。図51Aおよび51Bは、キャッシュされたユーザー・クレデンシャル情報がアクセスされて、文書マネージャ・サーバー3040および該文書マネージャ・サーバーに接続されたさまざまなサービスでの、より簡単なユーザー認証を許容するプロセスを示している。
プロセスは、上記したようにモニタリング・システム3045のような外部システムでの認証で始まる(すなわち、ステップ3500)。ステップ3502では、MFDのユーザー・インターフェースがロック解除され、ユーザーは、該ユーザーがMFDを操作できるようにするインターフェースを呈示される。ユーザー・インターフェース上に呈示されるオプションは、上で論じたように、MFDの通常の処理機能を含みうる。そしてまた、文書マネージャ・サーバーを介してログインして、バックエンド・サービスにアクセスするオプションをも含みうる。
ステップ3505は、ユーザーが文書マネージャ・サーバーおよび関係するバックエンド・アプリケーションにアクセスしたがっているかどうかを判定する。ユーザーが文書マネージャ・サーバー3040に関係したサービスへのアクセスを要求しない場合、フローはステップ3510に進み、ユーザーは通常の動作を実行するためにMFDにアクセスすることが許可される。プロセスはそこで終わる。ユーザーは再び文書マネージャ・サーバーにアクセスすることを選びうることを注意しておくべきであろう。その時点で、プロセスは3515で再開される。ステップ3505でアクセスが要求されていると判定された場合には、フローはステップ3507に進み、文書マネージャ・サーバーに要求が送られる。この要求は、要求元MFDを識別する情報を含む。たとえば、IPアドレス、MACアドレス、MFDシリアル番号または他の同様の識別情報といったものである。さらに、この要求は、MFDのユーザーがアクセスを要求した選択されたバックエンド・サービスを特定してもよい。MFDはまた、上で詳細に論じたように、MFDを識別する受け取られた情報に基づいて、要求元MFDに対応していると同定されるユーザー・プロファイルにどのサービスが対応するかを自動的に判別するために、プロファイルにアクセスしてもよい。
ステップ3515では、文書マネージャは、MFDにおけるユーザー入力またはプロファイラー3280から取得されたプロファイルに基づいて、要求元MFDに対してどのサービスが利用可能にされるべきかを判別する。ステップ3520では、文書マネージャ・サーバーは、要求されたサービスで認証を要求するものを判別する。サービスが認証を要求しなければ、ユーザーは追加的な認証の必要なしにそのサービスへのアクセスを認められる。あるいはまた、サービスが認証を要求している場合には、ステップ3525で、認証のために必要とされるユーザー・クレデンシャルを指示する(indicate)テンプレートが、このサービスに対応するプラグインによって生成される。ステップ3530では、文書マネージャ・サーバーは、要求されたサービスそれぞれに対応する認証テンプレートのために利用可能なデフォルト・クレデンシャルがあるかどうかを判定する。これらのデフォルト・クレデンシャルは、そのサービスに対応するプラグインの一部であってもよいし、あるいは識別されたMFDに対応する上述のプロファイル情報に基づいて埋められてもよい。ステップ3530がサービスのために利用可能なデフォルト・クレデンシャルがあると判定する場合、フローは、デフォルト・クレデンシャルを埋めるステップ3535に進む。各サービスのためのテンプレートは独自的であってもよく、ユーザー名を必要とするだけのサービスもあれば、ユーザー名およびパスワードを要求するサービスもあり、ユーザー・クレデンシャルを一切必要としないサービスもありうる。
ひとたびデフォルト・ログイン情報および要求元MFDに対応するプロファイル情報に基づいて各サービス(たとえばプラグイン)に対応する認証テンプレートが完成したら、何らかの追加的なユーザー・クレデンシャルがあればそれを取得するようモニタリング・システムにアクセスされる。ステップ3540では、文書マネージャ・サーバーは、上記した要求元MFDに対応する取得された一意的な情報(たとえばIPアドレス、MACアドレス、機械シリアル番号など)を安全にし(secure)、ステップ3545で、この情報を使ってモニタリング・システム3045にキャッシュされている追加的なユーザー・クレデンシャル情報を取得する。追加的な保存されているユーザー・クレデンシャル情報は、認証デバイスを介してモニタリング・システムに提出されたいかなるクレデンシャルをも、また、受け取られたユーザー・クレデンシャルに基づいてモニタリング・システムのデータベースから取得された、そのユーザーに対応するいかなる追加的な保存されたユーザー・クレデンシャル情報をも含む。そのような情報は、ユーザーの識別情報、ユーザー名、パスワードまたは要求されたサービスそれぞれについて認証テンプレートを完成させるために使われうるいかなる追加的なクレデンシャルをも含みうる。ユーザーはすでにモニタリング・システム3045を介して認証されているので、文書マネージャ・サーバーはこの追加的なユーザー・クレデンシャル・データは信頼されたデータであるとみなし、追加的に必要となるいかなるユーザー・クレデンシャルを埋めるのにも、このデータが使われることを許容する。
ステップ3550では、モニタリング・システムから取得された追加的なユーザー・クレデンシャル情報は、個別のテンプレートを完成するために文書マネージャ・サーバーによって使われ、文書マネージャ・サーバーは、ログイン手順を完成させるのに必要なユーザー・クレデンシャル情報を含んだマスター・テンプレートを生成する。このマスター・テンプレートは典型的には、ユーザー・ログインのためにMFDで表示を生成するために使われるものである。ステップ3555は、すべての必要なユーザー・クレデンシャルを含むマスター・テンプレートが完成されているかどうかを判定する。テンプレートが完成でなければ、ステップ3560でフラグがセットされる。このフラグは、要求されたサービスすべてにユーザーが認証されるためには追加的なクレデンシャルが必要とされていることを示す。マスター・テンプレートが完成していれば、フラグはセットされない。ステップ3565では、マスター・テンプレートはMFDに送られる。
マスター認証テンプレートを受信したのち、ステップ3570でMFDはそのテンプレートが表示のためのフラグが付いているかどうかを判定する。そのテンプレートに表示のためのフラグが付いていれば、ステップ3580でMFDにユーザー・インターフェースが表示され、ステップ3585でユーザーは、認証プロセスを完了させるために追加的なユーザー・クレデンシャルを入力するよう促される。ステップ3590では、追加的なクレデンシャルを入力したのち、ユーザーは表示されたログイン・ボタンを選択し、ステップ3595で追加的なユーザー・クレデンシャルが文書マネージャ・サーバーに認証のために送り返される。あるいはまた、ユーザーによって追加的なクレデンシャルが必要とされない場合、ステップ3595で前記クレデンシャルが文書マネージャ・サーバーに認証のために送り返される。マスター・テンプレートが完成していれば、文書マネージャ・サーバーは任意的に、テンプレートをMFDに送り返さなくてもよく、単に上で論じたようにユーザー認証を実行して、認証されたユーザーのプロファイルに対応するデータをMFDに送ってもよいことを注意しておくべきであろう。さらに、たとえマスター・テンプレートが完成していたとしても、MFDは、ログイン・ボタンを表示して、ユーザーに自動的に埋められたユーザー・クレデンシャル情報を文書マネージャ・サーバーに提出することを強制してもよい。ひとたび認証手順が完了すると、文書マネージャ・サーバーは、認証されたMFDおよび/またはユーザーに対応するプロファイルに従ってサービスを提供する。これは2005年3月30日に出願された米国出願第11/092,831号に開示されており、その内容全体はここに参照によって組み込まれる。
図52は、ログアウト動作の間に実行されるステップを示している。ステップ3600では、文書マネージャ・サーバーに接続されたサービス(たとえばバックエンド・アプリケーション)またはモニタリング・システム3045が、認証されたユーザーおよび/またはMFDのためのログアウト要求を生成する。ログアウト要求は、ユーザーの口座残高が要求された処理を続けるために不十分であるため、当該サービスとの通信がタイムアウトになったため、あるいはログアウトが望ましい他のいかなる状況についても生成されうる。ステップ3605では、文書マネージャがログアウト要求を受け取る。次に、ステップ3610はログアウト要求が拒否されるべきかどうかをMFDの状態に基づいて判定する。具体的には、ログアウト要求は、次の例示的な条件のもとで拒否されうる:文書マネージャと通信している一時的な通信スレッドが走っているとき、仕掛かりのジョブがあるとき、など。ログアウト要求の拒否が許容される場合、文書マネージャはステップ3615でログアウト要求を拒否するオプションを有する。しかしながら、ステップ3610がログアウト要求が拒否されるべきではないと判定する場合、フローはステップ3620に進み、MFDからのすべてのサービスとの通信を終了する。ステップ3625で、ユーザーおよび/またはMFDは、バックエンド・サービスまたはモニタリング・システム3045で生成された要求に従って、すべてのサービスからログアウトされる。
シングル・サインオン機能と組み合わされた強制ログアウト・システムは、モニタリング・システム3045および文書マネージャ・サーバー3040に、協調されたユーザー認証および強制されたログアウト手順をシステム・レベルで実行することを許容する。
図53は、本発明を実装するために使われるハードウェアの概観を示している。認証デバイス1205は、MFD3010〜3030の中に、MFD3010〜3030のところに、あるいはMFD3010〜3030の周囲に位置している。先述したように、認証デバイス1205は、MFD3010〜3030の外の位置にあってもよく、必要なときにMFD3010〜3030との通信を提供するのでもよい。先述したように、メモリ・リーダー、非接触センサー、バイオメトリック・センサーまたは任意の所望されるデバイスといったデバイスが認証デバイスとして使用されうる。認証デバイス1205および/またはバイオメトリック感知デバイス1200と、MFD3010〜3030と、モニタリング・システム3045とは、無線接続または有線接続3100を介して、よく知られたプロトコルおよび信号伝送技術を使って、通信状態にある。認証デバイス1205をバイオメトリック・デバイス1200と一緒に実装して多要素ユーザー認証を提供してもよいことを注意しておくべきであろう。バイオメトリック検出デバイス1200は、指紋、網膜スキャン、音声認識、顔認識要素または他の任意の所望される特徴といったユーザー特徴を検出するための機構を含みうる。入力されたバイオメトリック情報は、カード自身に保存されているバイオメトリック・パラメータに対して、あるいはモニタリング・システム3045に保存されているバイオメトリック・データと比較されうる。入力されたバイオメトリック情報がカードまたはモニタリング・システム3045に保存されているバイオメトリック情報に一致すれば、ユーザーはシステムへのアクセスを成功裏に認められる。これらのデバイス間の対話および各デバイスの役割は上で詳細に記載している。図53はまた、文書マネージャ・サーバー3040、LDAPサーバー3060およびネットワーク・アプリケーション・サーバー3070〜3090をも示している。これらについては下記でより詳細に述べる。
図54〜図55は、MFD3020の例を示している。この例は、中央処理装置(CPU)3931および該CPU3931に内部バス3932によって接続されたさまざまな要素を含んでいる。CPU3931は、MFD3020の状態をモニタリングしながら複数のタスクにサービスする。CPU3931に接続された要素は、読み出し専用メモリ(ROM)3933、ランダム・アクセス・メモリ(RAM)3934、ハードディスク・ドライブ(HDD)3935、フロッピー(登録商標)ディスク3907を受け容れられるフロッピー(登録商標)ディスク・ドライブ(FDD)3936、通信インターフェース(I/F)3938およびモデム・ユニット3939を含んでいる。さらに、コントロール・パネル3937、スキャナ・ユニット3940、プリンタ・ユニット3941および画像処理装置3942がCPU3931にバス3932によって接続されることができる。I/F3938およびモデム・ユニット3939の両方は通信ネットワーク3900に接続される。
ある好ましい実施形態では、MFD3020のためのプログラム・コード命令は、ICカードを介してHDD3935上に保存される。あるいはまた、プログラム・コード命令はフロッピー(登録商標)3907に保存されてもよく、その場合、プログラム・コード命令はFDD3936によって読まれ、RAM3934に転送され、CPU3931によって実行される。これらの命令は、上記のMFDの機能を実行する命令であってもよい。これらの命令はMFD3020が文書マネージャ・サーバー3040と、ブラウザー3025を介して対話し、該MFD3020のコントロール・パネル3937および画像処理ユニットを制御することを許可する。
MFD3020の起動の際、プログラム・コード命令は、CPU3931によって読まれ、RAM3934に転送され、CPU3931によって実行されうる。あるいはまた、プログラム・コード命令はROM3933にロードされてもよい。したがって、本発明においては、フロッピー(登録商標)ディスク3907、HDD3935、RAM3934およびROM3933のいずれも、プログラム・コード命令を保存することのできるコンピュータ可読記憶媒体に対応することが理解される。本発明に基づく命令を保存できる他のデバイスおよび媒体としては、たとえば、磁気ディスク、DVDを含む光ディスク、MOのような光磁気ディスクおよびPCカード、コンパクトフラッシュ(登録商標)・カード、スマート・メディア、メモリースティックなどのような半導体メモリ・カードが含まれる。
ある好ましい実施形態では、コントロール・パネル3937は、MFD3020のユーザーが文書マネージャ・サーバー3040と対話できるようにする情報を表示するユーザー・インターフェースを含む。ディスプレイ画面はLCD、プラズマ・ディスプレイ装置または陰極線管CRTディスプレイであってもよい。ディスプレイ画面はコントロール・パネル3937と一体であったり、コントロール・パネル3937に埋め込まれていたりする必要はなく、単に有線または無線接続によってコントロール・パネル3937に結合されているのでよい。コントロール・パネル3937は、情報を入力し、あるいはさまざまな動作を要求するためのキーを含みうる。あるいはまた、コントロール・パネル3937およびディスプレイ画面はキーボード、マウス、リモコン、ディスプレイ画面のタッチ、音声認識もしくは目の動きの追跡またはそれらの組み合わせによって操作されてもよい。
図56は、本発明に基づく、サーバー3040、3050、3060またはモニタリング・システム3045に対応するサーバーのブロック図である。図57は、サーバーの概略的な表現である。サーバー3040、3045、3050、3060は、システム・バス1500によっていくつかの他のデバイスと通信する中央処理装置1000(CPU)を含んでいる。サーバー3040、3045、3050、3060は、認証、経路制御および文書の管理機能を実装するのに使われる一時記憶値を収容するランダム・アクセス・メモリ(RAM)1900を含んでいる。
十分なメモリおよび処理能力をもつ従来式のパーソナル・コンピュータまたはコンピュータ・ワークステーションも、サーバー3040、3045として動作するよう構成されうる。中央処理装置1000は、大容量データ伝送や、通信およびデータベース検索を処理する際の著しい数の数学的計算の実行のために構成されている。
ROM1800は好ましくは半導体の形で含まれるが、アプリケーション・ソフトウェアおよび一時結果を収容するために光媒体を含めて他の読み出し専用メモリの形を使ってもよい。ROM1800はCPU1000による使用のためのシステム・バス1500に接続する。ROM1800は、CPU1000によって実行されるとき、上で論じたような、MFDからのスキャンされた文書に関連する種々の認証、経路制御および管理機能を実行できるコンピュータ可読命令を含む。入力コントローラ1600はシステム・バス1500に接続し、キーボード1610およびマウス1620のようなポインティングデバイスのような周辺設備とのインターフェースを提供する。入力コントローラ1600は、PS2ポートの形のマウス・ポートあるいはたとえばユニバーサル・シリアル・バス(USB)ポートといった種々のポートを含んでいてもよい。入力コントローラ1600のためのキーボード・ポートはミニDINポートの形であるが、他のコネクタを使ってもよい。入力コントローラ1600はサウンドカード接続を提供し、それによりサウンドカード上の外部ジャックがユーザーがマイクロホン・スピーカーまたは外部音源を取り付けることを許容する。入力コントローラ1600はまた、シリアル・ポートまたはパラレル・ポートも含みうる。
ディスク・コントローラ1400は、IDEコントローラの形であり、リボン・ケーブルを介してフロッピー(登録商標)ディスク・ドライブ1410やハードディスク・ドライブ1420、CD-ROMドライブ1180およびコンパクト・ディスク1190に接続する。さらに、PCI拡張スロットがディスク・コントローラ1400に、またはCPU1000を収容するマザーボードに設けられている。向上されたグラフィック・ポート拡張スロットが設けられ、メイン・メモリへの高速アクセスをもつ3Dグラフィックを提供する。ハードディスク1210は、読み取りも書き込みも可能でありうるCD-ROMを含んでいてもよい。通信コントローラ1300は、たとえばイーサネット(登録商標)接続によってネットワーク1310への接続を提供する。ネットワーク1310はネットワーク101であってもよい。ある実施形態では、ネットワーク1310および通信コントローラ1300への接続は、ケーブルモデム接続、DSL接続、ダイヤルアップ・モデム接続および通信コントローラ1300に接続する同様のものを含む複数の接続によってなされる。
入出力コントローラ1200Xはまた、外部ハードディスク1210、プリンタ1220といった外部構成要素に、RS232ポート、SCSIバス、イーサネット(登録商標)またはこれに限られないがTCP/IP、IPX、IPX/SPXまたはNetBEUIといった任意の所望されるネットワーク・プロトコルをサポートする他のネットワーク接続によって接続を提供する。プリンタ1220がMFD3010〜3030であることができる。
ディスプレイ・コントローラ1100はシステム・バス1500を陰極線管(CRT)1110のようなディスプレイ装置に相互接続する。CRTが示されているが、LCDまたはプラズマ・ディスプレイ装置のような多様なその他のディスプレイ装置を使ってもよい。
本記載において述べられている機構およびプロセスは、本明細書の教示に従ってプログラムされている通常の汎用マイクロプロセッサ(単数または複数)を使って実装されうる。そのことは当業者には理解されるであろう。本開示の教示に基づいて、適切なソフトウェア・コーディングは技能のあるプログラマーによってすぐ用意できる。これもソフトウェア技術の当業者には明らかであろう。特に、本発明に基づく、認証、経路制御および文書管理のためのコンピュータ・プログラム・プロダクトは、これに限られないが、C、C++、フォートランおよびベーシックを含むいくつものコンピュータ言語で書くことができる。そのことは、当業者には認識されるであろう。本発明はまた、特定用途向け集積回路を用意することによって、あるいは通常のコンポーネント回路の適切なネットワークを相互接続することによって実装されてもよい。そのことは当業者にはすぐ明らかであろう。このように、本発明は、明細書に示された実装に限定されるものではなく、ウェブ・インターフェース、httpなどの代替であるインターフェースを生成する通常のプログラミングおよび諸方法を使ってもよい。
このように、本発明はコンピュータ・ベースのプロダクトを含む。該プロダクトは、記憶媒体上に収容され、本発明に基づくプロセスを実行するようコンピュータをプログラムするために使うことができる命令を含みうる。この記憶媒体は、これに限られないが、フロッピー(登録商標)ディスク、光ディスク、CD-ROM、光磁気ディスクを含む任意の型のディスク、ROM、RAM、EPROM、EEPROM、フラッシュメモリ、磁気カードもしくは光カードまたは電子的な命令を記憶するために好適な任意の型の媒体を含むことができる。
有利なことに、本発明は、2005年3月30日に出願された米国出願第11/092,836号、2005年3月30日に出願された米国出願第11/092,831号、2005年3月30日に出願された米国出願第11/092,829号、2001年3月1日に出願された米国出願第09/795,438号、2002年9月16日に出願された米国出願第10/243,645号および2002年11月15日に出願された米国出願第10/294,607号に開示されている文書を管理するためのシステムおよび方法に組み込まれることができる。これらの内容全体はここに参照によって組み込まれる。
明らかに、上記の教示に照らして本発明の数多くの追加的な修正および変形が可能である。したがって、付属の請求項の範囲内で、本発明はここに具体的に記載されている以外の仕方で実施されることもできることは理解されるものとする。