図1は画像処理システムGSSの全体的な構成の例を示す図、図2は画像形成装置1のハードウェア構成の例を示す図、図3は画像形成装置1および汎用コンピュータ2のソフトウェア構成の例を示す図、図4は汎用コンピュータ2のハードウェア構成の例を示す図である。
画像処理システムGSSは、図1に示すように、2つのローカルエリアネットワークNWA、NWBによって構成される。
ローカルエリアネットワークNWAは、複数台の画像形成装置1A1、1A2、…、複数台の汎用コンピュータ2A1、2A2、…、ゲートウェイ3A、および通信回線LAなどによって構成される。
ローカルエリアネットワークNWBも同様に、複数台の画像形成装置1B1、1B2、…、複数台の汎用コンピュータ2B1、2B2、…、ゲートウェイ3B、および通信回線LBなどによって構成される。
以下、画像形成装置1A1、1A2、…、1B1、1B2、…を「画像形成装置1」と総称する。同様に、汎用コンピュータ2A1、2A2、…、2B1、2B2、…を「汎用コンピュータ2」と総称する。
ゲートウェイ3A、3Bは、他のネットワークと専用回線、公衆回線、またはインターネット回線などを介して接続するためのルータなどの装置である。ゲートウェイ3A、3Bによって、ローカルエリアネットワークNWA、NWBの装置同士は、接続し通信を行うことができる。
画像形成装置1は、コピー機能、スキャン機能、FAX機能、プリント機能、スキャン機能、およびボックス機能などの様々な機能を集約した画像処理装置である。複合機またはMFP(Multi Function Peripherals)などと呼ばれることもある。
画像形成装置1は、図2に示すように、コントロール部100、プリンタ部10i、およびスキャナ部10jなどによって構成される。
スキャナ部10jは、用紙に記されている、文書、数式、記号、写真、図表、またはイラストなどからなる原稿の画像を、光学的に読み取って画像データを生成する。
プリンタ部10iは、スキャナ部10jで得られた画像データ、汎用コンピュータ2から送信されてきた画像データ、またはFAX機能を有する他の装置から送信されてきた画像データ(FAXデータ)などに基づいて画像を用紙に印刷する。
コントロール部100は、CPU10a、システムRAM10b、画像RAM10c、ROM10d、ハードディスク10e、操作パネル10f、ネットワークインタフェース10g、およびFAXモデム10hなどによって構成され、プリンタ部10iおよびスキャナ部10jの制御、画像データの補正、画像データのフォーマットの変換、および他の装置との通信などを行う。
操作パネル10fは、タッチパネル式の液晶パネル、スタートボタン、および各種の機能を選択するためのファンクションボタンなどによって構成される。
ネットワークインタフェース10gは、他の装置を相手にTCP/IPなどのプロトコルによってデータ通信を行うためのNIC(Network Interface Card)である。FAXモデム10hは、FAX機能を有する他の装置を相手にFAXプロトコルによってデータ通信を行うためのインタフェースである。
ROM10dには、図3に示すように、プラットホームサービス51、ユニット管理プログラム61、ドキュメントデータユニット操作プログラム41、および各種の制御プログラムなどが記憶されている。
プラットホームサービス51は、操作パネル10fに画面を表示するサービスおよび通信用のプロトコルスタックのサービスなど、画像形成装置1の基本的なサービスを提供するプログラムである。つまり、プラットホームサービス51は画像形成装置1のオペレーティングシステムであると、言える。
ユニット管理プログラム61は、後に説明するドキュメントデータユニット7および代行認証ユニット8の管理を行うプログラムである。ドキュメントデータユニット操作プログラム41は、ドキュメントデータユニット7に関する操作をユーザが行うためのUI(User Interface)を提供する。
これらのプログラムは、画像形成装置1の起動時などに、適宜、システムRAM10bにロードされ、CPU10aによって実行される。そのほか、システムRAM10bには、これらのプログラムを実行するのに必要なデータが適宜、ロードされる。
ハードディスク10eには、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる、パーソナルコンピュータにおけるフォルダまたはディレクトリなどに相当する保存領域が設けられている。つまり、ボックス機能のための保存領域を提供する。ユーザは、自分のボックスに画像ファイルなどのドキュメントデータを保存しておくことができる。さらに、後に説明するドキュメントデータユニット7のファイルを保存しておくこともできる。
また、ROM10dに記憶されているプログラムの一部または全部をハードディスク10eに記憶させておくこともできる。
画像RAM10cには、スキャナ部10jによって得られた画像データ、汎用コンピュータ2などから送信されてきた画像データ、またはボックスから呼び出された画像データなどが記憶される。
画像形成装置1の各部は、例えば次のように、互いに連携し各機能を実現する。コピー機能を実行する際には、スキャナ部10jは原稿の画像を読み取って画像データを生成する。この画像データは、画像RAM10cに一旦記憶され、プリンタ部10iに送られる。プリンタ部10iは、この画像データを用いて原稿の画像の印刷(プリント)を行う。
スキャン機能を実行する際には、スキャナ部10jは原稿の画像を読み取って画像データを生成する。この画像データは、画像RAM10cに一旦記憶される。CPU10aは、その画像データを汎用の画像フォーマット(TIFF、GIF、またはPDFなど)にエンコードする。そして、エンコードされた画像データは、ユーザの指示に応じて、ネットワークインタフェース10gによって他の装置に送信されまたはハードディスク10eのボックスに格納される。
FAX送信機能を実行する際には、スキャナ部10jは原稿の画像を読み取って画像データを生成する。この画像データは、画像RAM10cに一旦記憶される。CPU10aは、FAXのプロトコルに応じた解像度および圧縮形式にその画像データを変換し、FAXモデム10hは、ユーザが指定したFAX番号にダイアルし繋がった相手にその画像データ(FAXデータ)を送信する。
FAX受信機能を実行する際には、FAXモデム10hが受信した画像データ(FAXデータ)が、画像RAM10cに一旦記憶される。そして、CPU10aはその画像データを印字できる形式に変換し、プリンタ部10iは変換された画像データを用いて画像の印刷を行う。
プリンタ機能を実行する際には、ネットワークインタフェース10gが受信した、ページ記述言語で記述されている画像データが、画像RAM10cに一旦記憶される。そして、プリンタ部10iはその画像データを用いて画像の印刷を行う。
または、ボックス機能を用いてプリンタ機能を実行する際には、CPU10aは、ボックスに蓄積されているドキュメントデータを画像RAM10cに呼び出し、そのドキュメントデータを印字できる形式に変換し、プリンタ部10iは変換されたドキュメントデータを用いて画像の印刷を行う。印刷は、制限のない限り何度でも行うことができる。
図1に戻って、汎用コンピュータ2は、通常、画像形成装置1の端末装置として用いられるパーソナルコンピュータまたはワークステーションであって、図4に示すように、CPU20a、システムRAM20b、ROM20c、ハードディスク20d、液晶パネル20e、キーボード20f、ポインティングデバイス20g、ネットワークインタフェース(NIC)20h、および画像RAM20iなどによって構成される。
ROM20cまたはハードディスク20dには、図3に示した画像形成装置1のROM10dと同様に、プラットホームサービス52、ユニット管理プログラム62、ドキュメントデータユニット操作プログラム42、および各種の制御プログラムなどが記憶されている。
プラットホームサービス52は、汎用コンピュータ2の基本的なサービスを提供するオペレーティングシステムである。
ユニット管理プログラム62は、画像形成装置1のユニット管理プログラム61と同様に、後に説明するドキュメントデータユニット7および代行認証ユニット8の管理を行うプログラムである。ドキュメントデータユニット操作プログラム42は、画像形成装置1のドキュメントデータユニット操作プログラム41と同様に、ドキュメントデータユニット7に関する操作をユーザが行うためのUIを提供する。
これらのプログラムは、汎用コンピュータ2の起動時などに、適宜、システムRAM20bにロードされ、CPU20aによって実行される。
図5はドキュメントデータユニット7の構成の例を示す図、図6は代行認証ユニット8の構成の例を示す図、図7は続柄情報704の例を示す図、図8は許可要求画面HG1の例を示す図、図9はメッセージを送信するためのパケットのフォーマットの例を示す図、図10は履歴画面HG4の例を示す図である。
ドキュメントデータユニット7は、文書、数式、記号、写真、図表、またはイラストなどからなるドキュメント(書類)の画像を再現するためのデータである。しかし、単にドキュメントの画像を再現するだけのデータではなく、プログラムが包含されており、他のドキュメントデータユニット7または代行認証ユニット8と通信を行ったり、複製に関する世代の管理を行ったり、ドキュメントデータ700へのアクセスの際のユーザの認証の管理を行ったりする。つまり、ドキュメントデータユニット7は、ドキュメントのデータとプログラムとが纏められたユニットであり、自立型のデータである、と言える。
ドキュメントデータユニット7は、図5に示すように、ドキュメントデータ700、ドキュメントデータユニット制御プログラム701、ドキュメントデータアクセス手段702、ユニット間通信手段703、続柄情報704、ユニット認証管理手段705、ユニット代行認証管理手段706、履歴管理手段707、およびドキュメントデータユニットインタフェース708などによって構成される。
各ドキュメントデータユニット7には、他のドキュメントデータユニット7および代行認証ユニット8と識別するための「ユニットID」という識別情報が対応付けられている。
また、ドキュメントデータユニット7を複製(コピー)することができる。以下、複製物から見て、複製元を「親」または「1世代上のドキュメントデータユニット」などと記載する。一方、複製元から見て、複製物を「子」または「1世代下のドキュメントデータユニット」などと記載する。さらに、複製元から見て、複製物の複製物を「孫」または「2世代下のドキュメントデータユニット」などと記載する。
代行認証ユニット8は、ドキュメントデータユニット7の代わりに認証の処理を行う。ドキュメントデータユニット7と同様に、代行認証ユニット8も、データとプログラムとが纏められたユニットであり、自立型のデータである。代行認証ユニット8にも、ユニークなユニットIDが対応付けられている。
以下、ドキュメントデータユニット7から見て、そのドキュメントデータユニット7の親の代わりに認証の管理を行ってくれる代行認証ユニット8を「親代行ユニット」と記載する。そのドキュメントデータユニット7自身の代わりに認証の処理を行ってくれる代行認証ユニット8を「代行ユニット」と記載する。
代行認証ユニット8は、図6に示すように、代行認証情報制御プログラム801、ユニット間通信手段803、続柄情報804、ユニット認証管理手段805、履歴管理手段807、および代行認証ユニットインタフェース808などによって構成される。
ところで、上述の通り、画像形成装置1にはプラットホームサービス51、ユニット管理プログラム61、およびドキュメントデータユニット操作プログラム41が用意されており、汎用コンピュータ2にはプラットホームサービス52、ユニット管理プログラム62、およびドキュメントデータユニット操作プログラム42が用意されている。
プラットホームサービス51、52は、上述の通り、それぞれの装置のオペレーティングシステムである。以下、プラットホームサービス51、52を「プラットホームサービス5」と総称する。
ユニット管理プログラム61、62は、それぞれ、プラットホームサービス51、52のAPI(Application Program Interface)に応じて記述されている。また、ユニット管理プログラム61、62は、ドキュメントデータユニット7および代行認証ユニット8の処理のための共通のインタフェースを有している。したがって、ドキュメントデータユニット7は、ユニット管理プログラム61が起動している画像形成装置1およびユニット管理プログラム62が起動している汎用コンピュータ2のどちらでも、使用することができる。代行認証ユニット8も、同様に使用することができる。ユニット管理プログラム61、62は、例えば、Java(商標登録)のような、デバイスに依存しない言語によって記述することができる。または、ユニット管理プログラム61、62を構成する各モジュールを実行するための実行エンジンを画像形成装置1および汎用コンピュータ2に設けてもよい。
以下、ユニット管理プログラム61、62を「ユニット管理プログラム6」と総称する。ユニット管理プログラム6をCPU10aまたはCPU20aで実行することによって、ユニット管理手段が実現される。
ユニット管理プログラム6は、図3に示すように、そのユニット管理プログラム6と同じプラットホームに蓄積されているドキュメントデータユニット7および代行認証ユニット8を一元的に管理する。
例えば、ユニット管理プログラム6は、下記のサービスを提供する。ドキュメントデータユニット7同士の通信またはドキュメントデータユニット7と代行認証ユニット8との間の通信が発生した場合に、その通信をルーティングする。ドキュメントデータユニット7がプラットホーム上のリソースを使用する場合に、プラットホームサービス5のサービスルーチンをコールし、処理変換を行う。
なお、ユニット管理プログラム6は、バックグランドサービス(デーモン)としてシステムに常駐し動作する。
ドキュメントデータユニット操作プログラム41、42は、上述の通り、ドキュメントデータユニット7に関する操作をユーザが行うためのUIを提供する。以下、ドキュメントデータユニット操作プログラム41、42を「ドキュメントデータユニット操作プログラム4」と総称する。
ドキュメントデータユニット操作プログラム4をCPU10aまたはCPU20aで実行することによって、ユーザが行ったドキュメントデータユニットに対する操作を受け付ける手段、その操作の内容をユニット管理プログラム6によるユニット管理手段に伝える手段、画面の表示の制御の手段などが実現される。
図5において、ドキュメントデータユニット7のドキュメントデータ700は、ドキュメントの画像を再現するためのデータである。ドキュメントデータ700として、例えば、GIF、PDF、JPEG、またはTIFFなどのフォーマットのデータまたはページ記述言語で記述されたデータを用いることができる。
ドキュメントデータ700は、暗号キーAKによって暗号化されている。暗号キーAKの内容(文字列)は、ドキュメントデータ700ごとに異なるのが望ましい。以下、共通鍵暗号方式が用いられる場合を例に説明する。
ドキュメントデータユニットインタフェース708は、上述の、ユニット管理プログラム61、62共通のインタフェースである。
ドキュメントデータユニット制御プログラム701は、ドキュメントデータ700の振舞いまたは取扱いを決定し、決定した内容に応じてドキュメントデータアクセス手段702、ユニット間通信手段703、ユニット認証管理手段705、ユニット代行認証管理手段706、および履歴管理手段707を制御する。つまり、ドキュメントデータユニット制御プログラム701をCPU10aまたはCPU20aで実行することによって、ドキュメントデータユニット制御手段が実現される。
ドキュメントデータアクセス手段702は、ドキュメントデータユニット制御プログラム701からの要求に従って、ドキュメントデータ700のアクセスに関する次のような処理を行う。
すなわち、ドキュメントデータアクセス手段702は、ドキュメントデータ700を暗号キーAKによって復号し、それを画像形成装置1または汎用コンピュータ2に供給する。または、そのドキュメントデータアクセス手段702自身を含むドキュメントデータユニット7全体の複製を行う。または、ドキュメントデータ700の内容を編集(更新)する。
ドキュメントデータアクセス手段702の処理の内容は、Javaなどに基づいてプログラムとしてドキュメントデータユニット7の中に記述されている。そして、そのプログラムを実行することによって、ドキュメントデータアクセス手段702が実現される。後に順次説明するドキュメントデータユニット7の残りの手段および代行認証ユニット8の各手段についても、同様である。
続柄情報704には、図7に示すように、そのドキュメントデータユニット7自身の親、下の世代(子、孫、…)、代行ユニット、または親代行ユニットである各ドキュメントデータユニットに関する情報(ユニットID、保存されている場所(ドキュメント位置)、および復号のための必要なキー(ドキュメントデータアクセス手段キー)が含まれている。
位置は、図示するような番号であってもよいし、ドメイン名などの汎用的な識別情報であってもよい。また、そのドキュメントデータユニット7が移動すると、それに応じて変更される。
さらに、続柄情報704には、そのドキュメントデータユニット7自身の所有者に関する情報が含まれる。ただし、所有者に関する情報の場合は、各フィールドは、次の事項を示す。「ユニットID」は、その所有者を識別する情報(例えば、ユーザアカウント)を示す。「ドキュメント位置」は、その所有者に対してメッセージを通知する際の通知先(例えば、電子メールアドレスなど)を示す。「ドキュメントデータアクセス手段キー」は、使用されない。
図5に戻って、ユニット認証管理手段705は、ドキュメントデータ700を複製しまたはドキュメントデータ700を用いてプリントを行うなど、ドキュメントデータユニット7に関する操作を認めるか否かの認証処理を、所定のルールに基づいて行う。
例えば、ユーザに対してユーザIDおよびパスワードを求め、ユーザが特定のユーザIDおよびパスワードを正しく入力した場合にのみ、それを認める。
または、ドキュメントデータ700を複製しまたはドキュメントデータ700を用いてプリントを行う回数を、制限しておく。そして、複製またはプリントの要求(リクエスト)があった場合に、今までの複製またはプリントの回数が、制限の回数に達していなければ、それを認める。
または、要求元がそのユニット認証管理手段705のドキュメントデータユニット7と同一のプラットホームに存在する場合は要求を認め、異なるプラットホームに存在する場合は要求を拒否するようにしてもよい。
これらのルールは、ドキュメントデータユニット7を所有する所有者が決めることができる。また、ルールを示すデータは、認証ルールデータ7NRとしてユニット認証管理手段705に内包されている。
要求を認めるか否かをそのドキュメントデータユニット7の所有者に対して問い合わせてもよい。この場合は、そのドキュメントデータユニット7の続柄情報704に記載されている所有者の通知先に宛てて、要求を認めるべき旨のメッセージを発信する。または、現在その所有者がログインしている画像形成装置1または汎用コンピュータ2に対して、要求を認めるべき旨のメッセージを発信する。その所有者が現在どの画像形成装置1および汎用コンピュータ2にもログインしていない場合は、次回その所有者がログインした画像形成装置1または汎用コンピュータ2に対してメッセージを発信する。
そして、図8のような許可要求画面HG1をその所有者に対して表示し、その所有者が「OK」ボタンを押したら、要求を認める。「拒否」ボタンを押したら、要求を拒否する。
ただし、ドキュメントデータユニット7に親がある場合は、ユニット認証管理手段705は、原則として、当該親に対して、認証を行うように要求する。さらに、当該親にも親が存在する場合は、それに対して認証を行うように要求する。つまり、ドキュメントデータユニット7が1世代目でない場合(2世代目以下である場合)は、認証の要求が順番に1つずつ上の世代に中継され、1世代目に届けられる。そして、1世代目のユニット認証管理手段705が上記の認証の処理を行う。認証の結果は、1つずつ下の世代に中継され要求元に届けられる。
後に順次説明する、世代間の通信も同様に、目的のデータを、1つずつ世代を遡らせまたは下らせるようにして、行われる。
そのドキュメントデータユニット7が親との通信ができない場合は、親代行ユニットである代行認証ユニット8に、認証を行うように要求する。
ユニット間通信手段703は、他のドキュメントデータユニット7との通信のための処理を行う。例えば、所定のプロトコルによって、ドキュメントデータユニット7に固有の操作情報をやり取りする。
通信相手である他のドキュメントデータユニット7が、同一のプラットホームに存在する場合は、そのプラットホームのユニット管理プログラム6を介して通信を行う。この場合は、実際には、通信回線を介さないので、論理的な通信であると言える。以下、通信回線を介さない論理的な通信も、単に「通信」と記載する。
通信相手である他のドキュメントデータユニット7が異なるプラットホームに存在する場合は、ネットワーク上のアプリケーションレイヤ上で、本発明に係るドキュメントデータユニットのシステムの規格に従ったパケットを生成し、ルーティングを行いながら双方のプラットホームサービス5およびユニット管理プログラム6を介して通信する。
具体的には、図9に示すような所定のフォーマットのパケットによって、操作情報をやりとりする。
図9において、ヘッダ部には、発信元であるドキュメントデータユニット7または代行認証ユニット8のユニットIDおよびその格納アドレス(ドキュメント位置)と、発信先(相手方)であるドキュメントデータユニット7または代行認証ユニット8のユニットIDおよびその格納アドレスとが、格納される。サイズ情報部には、次に説明するボディ部のサイズを示す情報が格納される。
ボディ部には、通信の目的物である可変長データが格納される。この可変長データは、コマンドデータ、詳細データ、およびドキュメントデータユニットルーティングデータなどによって構成される。
コマンドデータは、複製(コピー)、閲覧、編集、または関連付けなどの、ドキュメントデータユニット7の操作についての、リクエストの内容を示す。または、リクエストに対する応答の内容を示す。
詳細データは、コマンドデータに関する詳細なパラメータがセットされる。例えば、ドキュメントの座標(x,y)の位置に「Confidential」という文字を挿入する編集をドキュメントデータ700に対して施すリクエストに係る場合は、
I(挿入): “Confidential”(文字列),x,y
というようなデータがセットされる。
ドキュメントデータユニットルーティングデータは、孫と子との間または子と親との間などでリクエストまたは応答を転送する際の中継の状況を示す。中継が行われるごとに、その内容が追記される。
このパケットは、ユニット管理プログラム6が発行し通信する場合がある。その場合は、ユニットIDおよびドキュメントデータユニット格納アドレスには、プラットホームを示す識別子が示される。
なお、ドキュメントデータユニット7は、分散オブジェクトとして実装されるため、ネットワークを跨って複数のデバイス上に実装することができる。
本実施形態では、ドキュメントデータユニットインタフェース708は、「ドキュメントパケット」とよばれる通信パケットを内部的に流すようにしており、内部のプログラム(手段)同士は、メッセージ方式での通信を行う。プラットホームの外部にデータを流す場合は、さらにネットワーク通信上のパケットでカプセル化して通信する。これは、TCP/IPなどのネットワークの階層化モデルの一般的な考え方に従う。
その他の情報も、2つのドキュメントデータユニット7間で同様にやり取りされる。また、ドキュメントデータユニット7と代行認証ユニット8との間でも、同様の方法で情報がやり取りされる。
図5に戻って、ユニット代行認証管理手段706は、代行認証に関する全般的な管理を行う。例えば、続柄情報704に示される自らの親代行ユニットである代行認証ユニット8に対して、自らの親の代わりに認証の管理を行わせるための処理を行う。または、ユニット代行認証管理手段706は、自らの代行認証ユニット8を作成することの許可を与える。そのための情報(許可を与える方法および条件などに関する情報。つまり、アクセスに関する情報)も、ユニット代行認証管理手段706が有する。
履歴管理手段707は、そのドキュメントデータユニット7の編集(更新)の状況、複製物の配付および編集の状況、そのほか種々のイベントの実行の状況に関する情報を履歴情報7RYとして記憶し管理する。そして、図10のような、履歴情報7RYの内容を記載した履歴画面HG4を表示させる。
なお、上述の通り、ドキュメントデータユニット制御プログラム701、ユニット管理プログラム6、ドキュメントデータユニット操作プログラム4、またはプラットホームサービス5などのプログラムをCPU10aまたはCPU20aに実行させることによって、種々の手段が実現される。以下、各手段を、説明の簡単のため、それを実現するためのプログラムで呼ぶことがある。したがって、例えば、ユニット管理手段がドキュメントデータユニット制御手段に対してデータを与えることを、「ユニット管理プログラム6がドキュメントデータユニット制御プログラム701にデータを与える」のように記載する。しかし、厳密には、この処理は、ユニット管理プログラム6およびドキュメントデータユニット制御プログラム701をCPU10aまたはCPU20aで実行することによって実現される。次に説明する代行認証ユニット8の各部についても、同様である。
図6において、代行認証ユニット8の代行認証情報制御プログラム801は、ドキュメントデータユニット7からの要求に応じてユニット間通信手段803、続柄情報804、ユニット認証管理手段805、履歴管理手段807、および代行認証ユニットインタフェース808の制御を行う。すなわち、認証の代行のための全体的な振舞いを決定しそれに基づいて各部の制御を行う。
ユニット間通信手段803は、ドキュメントデータユニット7との通信のための処理を行う。通信の方法の例は、前に図9で説明した通りである。
続柄情報804には、図7で説明したドキュメントデータユニット7の続柄情報704と同様に、その代行認証ユニット8の続柄に関する情報が含まれている。ただし、続柄情報804において、「親」は、その代行認証ユニット8によって代行され得るドキュメントデータユニット7の親(つまり、認証の管理の代行の依頼元となり得るドキュメントデータユニット7の親の親)を示す。また、「子」は、その代行認証ユニット8によって代行され得るドキュメントデータユニット7の子を示す。
ユニット認証管理手段805は、代行の依頼元であるドキュメントデータユニット7のドキュメントデータ700を複製しまたはそのドキュメントデータ700を用いてプリントを行うなど、そのドキュメントデータユニット7に関する操作を認めるか否かの認証処理を行う。つまり、そのドキュメントデータユニット7の親の代わりに、認証処理を行う。認証処理の方法は、ドキュメントデータユニット7のユニット認証管理手段705と同様である。ただし、代行による認証の場合は、そうでない場合に比べて、操作の制限が厳しいことがある。これについては、後に説明する。
履歴管理手段807は、代行の依頼元のドキュメントデータユニット7の編集(更新)の状況、複製物の配付および編集の状況、そのほか種々のイベントの実行の状況に関する情報を履歴情報8RYとして記憶し管理する。
代行認証ユニットインタフェース808は、ユニット管理プログラム61、62共通のインタフェースである。
次に、画像形成装置1および汎用コンピュータ2がドキュメントデータユニット7に関してどのような処理を行うのか、画像形成装置1および汎用コンピュータ2においてドキュメントデータユニット7がどのように働くのかを、および認証の管理の代行がどのように行われるのかを、具体的に説明する。
〔電源投入時のプログラムの起動および操作用の画面の表示〕
図11は操作画面HG0の例を示す図、図12は画面の支配権のやり取りに関する処理の流れの例を説明するフローチャート、図13はドキュメントデータユニット操作画面HG2の例を示す図、図14は汎用コンピュータ2の起動時の処理の流れの例を説明するフローチャートである。
画像形成装置1に電源が投入されると、プラットホームサービス51、MFP制御プログラム(OSレベルでの画像形成装置1のシステムプログラム)、およびユニット管理プログラム61の順にプログラムが起動する。つまり、システムRAM10bにロードされる。そのほか、システムRAM10bには、これらのプログラムが動作するために必要なデータもロードされる。
これらのプログラムが起動したら、操作パネル10fの液晶パネルには、図11のような操作画面HG0が表示される。ここで、ユーザは、自分の所望する処理を実行するように、画像形成装置1に対してコマンドを与えることができる。従来通り、原稿の複写(コピー)、FAX送信、または原稿のスキャンなどを実行させるためのコマンドを与えることもできるが、ドキュメントデータユニット7に関する処理を実行させるためのコマンドを与えることもできる。
図12において、ユーザが「BOX」ボタンを押すと、プラットホームサービス51によって、そのイベントが検知され(#1001)、「BOX」ボタンが押された旨を知らせるメッセージがMFP制御プログラムおよびユニット管理プログラム61に通知される(#1002)。
すると、従来はMFP制御プログラムが行っている画面の制御処理がMFP制御プログラムから放棄され(#2001)、画面の制御処理の実行権がユニット管理プログラム61に譲渡される(#2002)。
ユニット管理プログラム61によってドキュメントデータユニット操作プログラム41がロードされ、画面の制御処理の実行権がドキュメントデータユニット操作プログラム41に移る(#3001)。
そして、図13のようなドキュメントデータユニット操作画面HG2を液晶パネルに表示させる。ドキュメントデータユニット操作プログラム41による画面に関する処理は、プラットホームサービス51の既存のGUI(Graphical User Interface)ライブラリをコールすることによって実現される。
なお、ドキュメントデータユニット7を操作するための画面は、ドキュメントデータユニット操作画面HG2以外にも幾つか用意されており、ユーザは、自分が画像形成装置1に実行させた処理の内容に応じて、適宜、画面を切り換えることができる。そして、画像形成装置1に処理対象のドキュメントデータユニット7を指定し処理のコマンドを与えることができる。
その後、ファンクションボタンの中から「BOX」ボタン以外のボタンが押されたことがプラットホームサービス51によって検知されると(#1003)、その旨を知らせるメッセージがユニット管理プログラム61およびMFP制御プログラムに通知される(#1004)。
すると、画面の制御処理の実行権が、ユニット管理プログラム61によって放棄され(#3002)、MFP制御プログラムに譲渡される(#3004)。この際に、ドキュメントデータユニット操作プログラム41がシステムRAM10bからアンロードされる(#3003)。
そして、通常通り、MFP制御プログラムによる画面の制御処理が再開される(#2002)。
図14において、汎用コンピュータ2に電源が投入されると、プラットホームサービス52および種々のシステムプログラムが起動する(#1011)。さらに、プラットホームサービス52によってユニット管理プログラム62がコールされて起動する(#1012、#2011)。このユニット管理プログラム62は、システムRAM20bに常駐する。つまり、デーモンとして起動する。
ユーザがGUIから所定のコマンドを入力すると(#1013)、プラットホームサービス52によってドキュメントデータユニット操作プログラム4がコールされ起動する(#1014、#3011)。
〔ドキュメントデータユニット7および代行認証ユニット8の起動〕
図15はドキュメントデータユニット7の起動時の処理の流れの例を説明するフローチャートである。
図15において、ユーザがドキュメントデータユニット操作画面HG2(図13参照)などを見ながら、画像形成装置1に対して処理対象のドキュメントデータユニット7を指定し処理のコマンドを与えると、ドキュメントデータユニット操作プログラム4は、その指定およびコマンドの内容を示すメッセージをユニット管理プログラム6に通知する(#1021)。
ユニット管理プログラム6は、そのメッセージに示されるドキュメントデータユニット7のドキュメントデータユニット制御プログラム701をシステムRAM10bにロードし(#2021)、そのメッセージを、ドキュメントデータユニットインタフェース708を介してそのドキュメントデータユニット制御プログラム701に通知する(#2022)。
これにより、ユーザが指定したドキュメントデータユニット7を操作する準備が整う。ドキュメントデータユニット7の起動の手順は、画像形成装置1および汎用コンピュータ2のどちらでも同じである。
その後、適宜、ドキュメントデータアクセス手段702ないしドキュメントデータユニットインタフェース708がドキュメントデータユニット制御プログラム701によって起動される。
代行認証ユニット8の起動の手順も、ドキュメントデータユニット7の起動の手順と基本的に同様である。ただし、起動の対象は、ユーザではなく、ドキュメントデータユニット7によって指定される。
すなわち、ステップ#2021において、対象である代行認証ユニット8の代行認証情報制御プログラム801をシステムRAM10bにロードする。ステップ#2022において、ドキュメントデータユニット7から与えられたコマンドの内容を示すメッセージを、代行認証ユニットインタフェース808を介して代行認証情報制御プログラム801に通知する。その後、適宜、代行認証ユニット8の残りの各部が代行認証情報制御プログラム801によって起動される。
そのほか、ドキュメントデータユニット7の起動は、アクセスの要求が他のドキュメントデータユニット7からあった場合にも行われる。
〔ドキュメントデータユニット7の新規作成〕
図16はボックス操作画面HG3の例を示す図、図17は新規のドキュメントデータユニット7の生成の処理の流れの例を説明するフローチャートである。
ユーザは、新しいドキュメントデータユニット7を生成したい場合は、所定の操作を行うことによって、図16のようなボックス操作画面HG3を操作パネル10fの液晶パネルに表示させる。そして、原稿を画像形成装置1の原稿台にセットし、そのドキュメントデータユニット7の保存場所を指定し、「スタート」ボタンを押す。
すると、画像形成装置1において、ドキュメントデータユニット7を生成するための処理が、図17に示す手順で実行される。
プラットホームサービス5およびMFP制御プログラムによって、原稿の画像の読取りを開始するようにスキャナ部10jが制御される(#1031)。これと前後してまたは並行して、ユニット管理プログラム6に対して、原稿の画像データをドキュメントデータユニット化するように要求する(#1032)。
すると、ユニット管理プログラム6は、新しいドキュメントデータユニット7のためにユニークなユニットIDを発行し(#2031)、ドキュメントデータユニット制御プログラム701ないしドキュメントデータユニットインタフェース708を、用意されているプログラムおよびデータをコピーするなどして生成する(#2032)。
さらに、ユニット管理プログラム6は、スキャナ部10jなどによって電子データ化される原稿の画像データをプラットホームサービス5などから受け取り、ドキュメントデータ700を生成する(#1033、#2033)。そして、ユニットIDおよびドキュメントデータ700ないしドキュメントデータユニットインタフェース708を組み合わせることによって、ドキュメントデータユニット7が生成される。このドキュメントデータユニット7は、ユーザが指定した場所に保存される。ドキュメントデータ700は、必要に応じて、暗号化される。
読取りが終了したら、その旨がプラットホームサービス5などによってユニット管理プログラム6に通知される(#1034)。
なお、ユニットIDは、プラットホームごとにユニークに割り振られているIDとプラットホームの中だけでユニークに生成されたIDとの組合せによって構成されている。
ドキュメントデータ700として、書類の作成用のアプリケーションソフトで作成されたファイルを用いてもよい。
〔ドキュメントデータユニット7の複製(親がない場合)〕
図18および図19は親がないドキュメントデータユニット7の複製の処理の流れの例を説明するフローチャート、図20はドキュメントデータユニット複製操作画面HG50の例を示す図、図21は続柄情報704の例を示す図である。
ドキュメントデータユニット7は、自らを複製することによって子を生成する。子を生成する手順は、自らがオリジナルである場合(つまり、親がない場合)と親がある場合とによって、相違点がある。
親がない場合は、図18および図19に示す手順で複製の処理が行われ、子が生成される。
ユーザは、図20のようなドキュメントデータユニット複製操作画面HG50を操作パネル10fの液晶パネルに表示させる。そして、複製元とするドキュメントデータユニット7のユニットIDおよび複製物(子)の保存場所を指定し、「スタート」ボタンを押す。
なお、複製を行う際に、ユーザは、複製元とするドキュメントデータユニット7の代わりに認証の管理を行ってくれる代行認証ユニット8を生成させることができる。これについての説明は、複製の処理の説明の後で行う。
「スタート」ボタンが押されると、その画像形成装置1または汎用コンピュータ2において、そのユニットIDおよびコマンドがドキュメントデータユニット操作プログラム4によってユニット管理プログラム6に伝えられる(図18の#1041)。
ユニット管理プログラム6は、そのユニットIDに係るドキュメントデータユニット7(以下、「ドキュメントデータユニットA」と記載する。)のドキュメントデータユニット制御プログラム701を、プラットホームサービス5にロードさせる(#2041)。
ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701の起動後、ユニット管理プログラム6は、そのドキュメントデータユニット制御プログラム701に対して、ドキュメントデータユニットAを複製するように指示する(#2042)。
なお、その後、そのドキュメントデータユニット制御プログラム701の配下の各手段、データ、または情報も、適宜、起動する。後に他のフローチャートを用いて順次説明する、他の目的に係る処理においても、同様である。
ドキュメントデータユニット制御プログラム701は、自らの続柄情報704を参照することによって、ドキュメントデータユニットAに親が存在するか否かを確認する(#3041)。
親がないことが確認できたら、ドキュメントデータユニットAの複製物を格納するためのリソース(ハードディスクへの保存の領域)を確保するようにユニット管理プログラム6に要求する(#3042)。
ユニット管理プログラム6は、リソースを確保できることが確認できたら、それをプラットホームサービス5に確保させ(#2043)、確保できた旨およびそのリソースの識別情報(書込みポインタ)をドキュメントデータユニット制御プログラム701に対して回答する(#2044)。
すると、ドキュメントデータユニット制御プログラム701は、ドキュメントデータユニットの複製物(子)のためのユニークなユニットIDをユニット管理プログラム6に発行してもらう(#3043、#2045)。
リソースおよびユニットIDが準備できたら、ドキュメントデータユニット制御プログラム701は、続柄情報704以外のドキュメントデータユニットAの構成要素を複製することによって生成する(図19の#3044)。さらに、図21(a)のような、複製物にとっての親つまりドキュメントデータユニットAに関する情報およびその複製物を所有するユーザ(所有者)に関する情報を記載した続柄情報704を生成する(#3045)。
生成したドキュメントデータ700ないしドキュメントデータユニットインタフェース708をドキュメントデータユニットのフォーマットに従って組み合わせることによって、ドキュメントデータユニットAの複製物が完成する(#3046)。そして、その複製物は、確保されたリソースにユニット管理プログラム6を介して保存される(#3047、#2046)。
ただし、ドキュメントデータユニット制御プログラム701は、自らが所有する暗号キーAKを用いてその複製物のドキュメントデータ700を暗号化しておく。
さらに、ドキュメントデータユニット制御プログラム701は、複製物を生成したことに伴って、そのドキュメントデータユニットA自らの修正を行う(#3048)。具体的には、図21(b)のように、ドキュメントデータユニットA自身の続柄情報704に、その複製物(つまり、子)の情報を追記する。その複製物を暗号化するのに使用した暗号キーAKを今回新たに発行した場合は、それを保持する。
これにより、ドキュメントデータユニットAの複製の処理が完了する。今回の処理の内容のログは、履歴管理手段707によって履歴情報7RYに追記される。
処理が完了した旨がドキュメントデータユニット制御プログラム701によってユニット管理プログラム6に通知されると(#3049)、ドキュメントデータユニットAはユニット管理プログラム6によってアンロードされる(#2047)。
〔代行認証ユニット8の新規作成〕
図22は作成方法選択画面HG51の例を示す図、図23は代行認証ユニット作成画面HG52の例を示す図、図24は詳細条件設定画面HG53の例を示す図、図25は代行認証ユニット8を生成する処理の流れの例を説明するフローチャートである。
上に述べたように、ユーザは、ドキュメントデータユニット7の複製の操作を行う際に、そのドキュメントデータユニット7の代行認証ユニット8を生成させることもできる。代行認証ユニット8の生成を所望する場合は、図20に示すドキュメントデータユニット複製操作画面HG50において、「代行認証設定」ボタンを押す。
すると、ドキュメントデータユニット操作プログラム4は、図22のような作成方法選択画面HG51を表示させる。
ユーザは、そのドキュメントデータユニット7による認証が不能である場合に代行認証ユニット8にそれを代行させることを禁止するのであれば、「禁止」ボタンを押す。
「禁止」ボタンが選択された状態で、「スタート」ボタンが押されると、ドキュメントデータユニット7の複製の処理が開始されるが、代行認証ユニット8の生成の処理は実行されない。
一方、代行認証ユニット8に認証を代行させることを許可するのであれば、「許可」ボタンを押す。さらに、そのドキュメントデータユニット7の複製物へのアクセスなどに関する種々の詳細な制限をユーザ自身で設定する場合は、「手動作成」ボタンを押し、ユニット管理プログラム6に設定させる場合は、「自動作成」ボタンを押す。そして、「スタート」ボタンを押す。
「手動作成」ボタンが選択された状態で「スタート」ボタンが押されると、ドキュメントデータユニット操作プログラム4は、図23のような代行認証ユニット作成画面HG52を表示させる。ここで、ユーザは、「する」ボタンを押し、さらに「詳細条件設定」ボタンを押す。
すると、ドキュメントデータユニット操作プログラム4は、図24のような詳細条件設定画面HG53を表示させる。ここで、ユーザは、そのドキュメントデータユニット7の複製物へのアクセスなどに関する種々の詳細な制限を設定することができる。
例えば、その複製物へのアクセスが可能な装置を制限することができる。または、その複製物へのアクセスが可能なユーザを制限することができる。または、その複製物に含まれるドキュメントデータ700の閲覧、その複製物のさらなる複製、そのドキュメントデータ700の編集、またはそのドキュメントデータ700によって再現される画像のプリントなどの処理ごとにかつユーザごとに許否を制限することができる。
設定が完了したら、ユーザは、「スタート」ボタンを押す。すると、ドキュメントデータユニット7の複製の処理が行われるが、これと前後してまたは並行して、図25に示す手順でそのドキュメントデータユニット7の代行認証ユニット8を生成する処理が行われる。
図24の詳細条件設定画面HG53で設定されたアクセスなどに関する制限の情報がドキュメントデータユニット操作プログラム4によって取得され(#1051)、代行認証ユニット8を新たに生成すべき旨の要求がユニット管理プログラム6に対してなされる(#1052)。
すると、ユニット管理プログラム6は、新しい代行認証ユニット8のためにユニークなユニットIDを発行し(#2051)、代行認証情報制御プログラム801、ユニット間通信手段803、続柄情報804、ユニット認証管理手段805、履歴管理手段807、および代行認証ユニットインタフェース808を、用意されているプログラムおよびデータをコピーするなどして生成する(#2052)。
さらに、ユニット管理プログラム6は、ステップ#1051で取得されたアクセスなどに関する制限の情報をプラットホームサービス5から受け取り、そのドキュメントデータユニット7の認証ルールデータ7NRを取得し、その情報およびその認証ルールデータ7NRに示される制限の両方を示す代行時認証ルールデータ8NRを生成する(#1053、#2053)。つまり、認証ルールデータ7NRに示される制限に、ユーザが設定した制限を加えた代行時認証ルールデータ8NRを生成する。この代行時認証ルールデータ8NRは、後に説明すように、ドキュメントデータユニット7の代わりに認証を行う際に使用される。
そして、ユニットID、代行認証情報制御プログラム801、ユニット間通信手段803、続柄情報804、ユニット認証管理手段805、履歴管理手段807、および代行認証ユニットインタフェース808を組み合わせることによって、代行認証ユニット8が生成される。代行時認証ルールデータ8NRは、ユニット認証管理手段805に内包される。
この代行認証ユニット8は、前後してまたは並行して実行されているドキュメントデータユニット7の複製の処理によって生成される複製物(子)と同じ装置、つまり、図20で指定された保存場所に、保存される。
さらに、代行認証情報制御プログラム801は、その代行認証ユニット8の続柄情報804を生成する際またはそれ以降の適当なタイミングで、次のような内容が示されるように、続柄情報804を更新する。
今回の複製物のユニットIDと続柄「子」との組合せが示されるようにする。さらに、ドキュメントデータユニット7に親がある場合(つまり、後に「ドキュメントデータユニット7の複製(親がある場合)」のセクションで説明する処理によってドキュメントデータユニット7の複製を行った場合)は、当該ドキュメントデータユニット7の親(つまり、今回得られた複製物の親の親)のユニットIDと続柄「親」との組合せが示されるようにする。
さらに、そのドキュメントデータユニット7および複製物それぞれのドキュメントデータユニット制御プログラム701は、それぞれの続柄情報704に、次のような内容を追記する。
そのドキュメントデータユニット7のドキュメントデータユニット制御プログラム701は、今回生成された代行認証ユニット8のユニットIDと続柄「代行ユニット」との組合せを、自らの続柄情報704に追記する。
複製物のドキュメントデータユニット制御プログラム701は、今回生成された代行認証ユニット8のユニットIDと続柄「親代行ユニット」との組合せを、自らの続柄情報704に追記する。
図22の作成方法選択画面HG51において「自動作成」ボタンが選択された状態で「スタート」ボタンが押された場合も、基本的に同様の手順で、代行認証ユニット8の生成が行われる。ただし、ステップ#1051において、アクセスなどに関する制限の情報として、デフォルトの制限を示す情報が取得され、ステップ#1053において、そのデフォルトの制限の情報およびそのドキュメントデータユニット7の認証ルールデータ7NRに示される制限の情報の両方を示す代行時認証ルールデータ8NRが生成される。
〔ドキュメントデータユニット7の複製(親がある場合)〕
図26、図27、および図28は親があるドキュメントデータユニット7の複製の処理の流れの例を説明するフローチャートである。
複製するドキュメントデータユニット7に親がある場合は、図26、図27、および図28に示す手順で複製の処理が行われる。
ここでは、図18および図19で説明した複製の処理によって生成されたドキュメントデータユニットAの複製物(以下、「ドキュメントデータユニットB」と記載する。)を複製する際の処理の手順について、説明する。両ドキュメントデータユニットは、同一のプラットホームにあるものとする。
ユーザは、ドキュメントデータユニットBを複製したい場合は、ドキュメントデータユニット複製操作画面HG50(図20参照)を表示させる。そして、そのドキュメントデータユニットBを管理している画像形成装置1または汎用コンピュータ2に対して、ドキュメントデータユニットBのユニットIDおよび複製物の保存場所を指定し、「スタート」ボタンを押す。
すると、その画像形成装置1または汎用コンピュータ2において、そのユニットIDおよびコマンドがドキュメントデータユニット操作プログラム4によってユニット管理プログラム6に伝えられる(図26の#1061)。
ユニット管理プログラム6は、そのユニットIDに係るドキュメントデータユニット7つまりドキュメントデータユニットBのドキュメントデータユニット制御プログラム701(以下、「ドキュメントデータユニット制御プログラム701B」と記載する。)を、プラットホームサービス5にロードさせる(#2061)。
ドキュメントデータユニット制御プログラム701Bの起動後、ユニット管理プログラム6は、ドキュメントデータユニット制御プログラム701Bに対して、ドキュメントデータユニットBを複製するように指示する(#2062)。
ドキュメントデータユニット制御プログラム701Bは、ドキュメントデータユニットB自身の続柄情報704を参照することによって、ドキュメントデータユニットB自身に親が存在するか否かを、確認する(#3061)。なお、ここまでの処理の流れは、親がない場合と同様である。
親があることが確認できたら、ユニット管理プログラム6を介して、親つまりドキュメントデータユニットAに対して複製を許可するように要求する(#3062)。
すると、ユニット管理プログラム6は、ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701(以下、「ドキュメントデータユニット制御プログラム701A」と記載する。)を、プラットホームサービス5にロードさせる(#2063)。
ユニット管理プログラム6は、ドキュメントデータユニットBの複製を許可するようにドキュメントデータユニットAに対して要求する(#2064)。
すると、ドキュメントデータユニット制御プログラム701Aは、自らの続柄情報704を参照することによって、ドキュメントデータユニットA自身に親が存在するか否かを確認する(#4061)。
親が存在しないことが確認できたら、ドキュメントデータユニット制御プログラム701Aは、複製を行うことを許可すべきか否かを、ドキュメントデータユニットAのユニット認証管理手段705に判断させる(図27の#4062)。
このとき、ユニット認証管理手段705は、自らが有する認証ルールデータ7NRに示される条件を要求元が有しているか(つまり、制限の対象に該当しないか)をチェックし、複製の許否を判断する。
複製を行うことを許可すると判断した場合は、ドキュメントデータユニット制御プログラム701Aは、ユニット管理プログラム6を介して、複製を許可する旨の応答のメッセージおよびドキュメントデータユニットBのドキュメントデータ700を暗号化するのに使用した暗号キーAK(つまり、そのドキュメントデータ700にアクセスするための手段)をドキュメントデータユニットBに与える(#4063、#2065)。
すると、ドキュメントデータユニット制御プログラム701Bは、親のない場合と同様に、ドキュメントデータユニットBの複製物を格納するためのリソースの確保およびユニットIDの発行のための処理を、ユニット管理プログラム6に実行させる(#3063〜#3067、#2066〜#2068)。そして、そのユニットIDを用いて、ドキュメントデータユニットBの複製物を生成する。なお、ドキュメントデータユニットBのドキュメントデータ700は、ドキュメントデータユニットAから送られてきた暗号キーAKによって復号することができる。
ただし、親のない場合と同様に、複製元および複製物それぞれの続柄情報704の内容同士およびドキュメントデータアクセス手段702の暗号キーAK同士は、相違する。
ドキュメントデータユニット制御プログラム701Aは、下の世代つまり本例ではドキュメントデータユニットBを複製したことを示す情報(ログ)が履歴情報7RYを追記するように履歴管理手段707を制御する(#4064)。
図28に進んで、親のない場合と同様に、ドキュメントデータユニット制御プログラム701Bは、ユニット管理プログラム6を介して、確保されたリソースにドキュメントデータユニットBの複製物を保存させる(#3068、#2069)。そのドキュメントデータ700は、ドキュメントデータユニットBが所有する暗号キーAKによって暗号化されて保存される。
さらに、親のない場合と同様に、複製物を生成したことに伴って、そのドキュメントデータユニットB自らの続柄情報704などの修正を行う(#3069)。そして、修正されたドキュメントデータユニットBを保存し直す処理を、ユニット管理プログラム6を介してプラットホームサービス5に実行させる(#3070、#2070)。
ドキュメントデータユニット制御プログラム701Aも、子の複製物が生成されたことに伴って、そのドキュメントデータユニットA自らの続柄情報704などの修正を行う(#4065)。そして、修正されたドキュメントデータユニットAを保存し直す処理を、ユニット管理プログラム6を介してプラットホームサービス5に実行させる(#4066、#2071)。
処理が完了した旨がドキュメントデータユニット制御プログラム701Aおよび701Bによってユニット管理プログラム6に通知されると(#4067、#3071)、ドキュメントデータユニットA、Bはユニット管理プログラム6によってアンロードされる(#2072)。
図29、図30、図31、および図32は3世代目のドキュメントデータユニット7の複製の処理の流れの例を説明するフローチャートである。
複製するドキュメントデータユニット7の親があり、かつ、その親にも親がある場合は、図29、図30、図31、および図32の手順で複製の処理が行われる。
ここでは、図26、図27、および図28で説明した複製の処理によって生成されたドキュメントデータユニットBの複製物(以下、「ドキュメントデータユニットC」と記載する。)を複製する際の処理の手順について、説明する。ドキュメントデータユニットA、B、Cは、同一のプラットホームにあるものとする。
ユーザは、ドキュメントデータユニットCを複製したい場合は、ドキュメントデータユニットA、Bを複製する場合と同様に、ドキュメントデータユニット複製操作画面HG50(図20参照)を表示させる。そして、ドキュメントデータユニットCを管理している画像形成装置1または汎用コンピュータ2に対して、ドキュメントデータユニットCのユニットIDおよび複製物の保存場所を指定し、「スタート」ボタンを押す。
すると、その画像形成装置1または汎用コンピュータ2において、そのユニットIDおよびコマンドがドキュメントデータユニット操作プログラム4によってユニット管理プログラム6に伝えられる(#1081)。
すると、図26のステップ#2061〜#2064、#3061〜#3062、および#4061と同様に、ドキュメントデータユニットCのドキュメントデータユニット制御プログラム701(以下、「ドキュメントデータユニット制御プログラム701C」と記載する。)が起動され、ドキュメントデータユニットCの親つまりドキュメントデータユニットBが検索され、ドキュメントデータユニットBが起動され、およびドキュメントデータユニットBの親が検索される(#2081〜#2084、#3081〜#3082、および#4081)。ただし、ステップ#4081においては、図26の場合とは異なり、検索の結果、ドキュメントデータユニットAが見つかる。
ドキュメントデータユニット制御プログラム701Bは、自らの親つまりドキュメントデータユニットAに対して、ドキュメントデータユニットCの複製を許可するようにユニット管理プログラム6を介して要求する(図30の#4082)。
すると、ユニット管理プログラム6は、ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701つまりドキュメントデータユニット制御プログラム701Aを起動させる(#2085)。
ユニット管理プログラム6は、ドキュメントデータユニットCの複製を許可するようにドキュメントデータユニットAに対して要求する(#2086)。
ドキュメントデータユニット制御プログラム701Aは、自らの続柄情報704を参照することによって、ドキュメントデータユニットA自身に親が存在するか否かを確認する(#5081)。
親が存在しないことが確認できたら、ドキュメントデータユニット制御プログラム701Aは、複製を行うことを許可すべきか否かを、ドキュメントデータユニットAのユニット認証管理手段705に判断させる(#5082)。ユニット認証管理手段705は、自らの認証ルールデータ7NRを用いてそれを判断する。
複製を行うことを許可すると判断した場合は、ドキュメントデータユニット制御プログラム701Aは、複製を許可する旨の応答のメッセージをドキュメントデータユニットBに与える(#5083)。
すると、複製対象の親であるドキュメントデータユニットBは、複製を許可する旨の応答のメッセージおよびドキュメントデータユニットCのドキュメントデータ700を暗号化するのに使用した暗号キーAK(つまり、そのドキュメントデータ700にアクセスするための手段)をドキュメントデータユニットCに与える(#4083)。
なお、ステップ#5083、#4083の各処理は、ユニット管理プログラム6を介して行われる。
ドキュメントデータユニットCは、図18および図27で説明したように、ドキュメントデータユニットCの複製物を格納するためのリソースの確保およびユニットIDの発行のための処理を、ユニット管理プログラム6に実行させる(#3083〜図31の#3084、#2087〜#2089)。そして、そのユニットIDを用いて、ドキュメントデータユニットCの複製物を生成する(#3085〜#3087)。ドキュメントデータユニットCのドキュメントデータ700は、ドキュメントデータユニットBから送られてきた暗号キーAKによって復号することができる。
ドキュメントデータユニット制御プログラム701A、701Bは、下の世代つまり本例ではドキュメントデータユニットCを複製したことを示す情報(ログ)を、ドキュメントデータユニットA、Bそれぞれの履歴情報7RYに記録させる(#5084、#4084)。
そして、図19、図27、および図28などで説明したように、ドキュメントデータユニット制御プログラム701Cは、ユニット管理プログラム6を介して、確保されたリソースにドキュメントデータユニットCの複製物を保存させる(#3088、#2090)。そのドキュメントデータ700は、ドキュメントデータユニットCが所有する暗号キーAKによって暗号化され保存される。
さらに、図19、図27、および図28などで説明したように、複製物を生成したことに伴って、そのドキュメントデータユニットC自らの続柄情報704などの修正を行う(#3089)。そして、修正されたドキュメントデータユニットCを保存し直す処理を、ユニット管理プログラム6を介してプラットホームサービス5に実行させる(#3090、#2091)。
ドキュメントデータユニット制御プログラム701A、701Bも、それぞれ、下の世代の複製物が生成されたことに伴って、そのドキュメントデータユニットA、B自らの続柄情報704などの修正を行い、修正されたドキュメントデータユニットA、Bを保存し直す処理を、ユニット管理プログラム6を介してプラットホームサービス5に実行させる(図32の#5085、#5086、#2093、#4085、#4086、#2092)。
そして、処理が完了した旨がドキュメントデータユニット制御プログラム701A、701B、および701Cによってユニット管理プログラム6に通知されると(#5087、#4087、図30の#3091)、ドキュメントデータユニットA、B、Cはユニット管理プログラム6によってアンロードされる(#2094)。
このように、n世代目(第n世代)のドキュメントデータユニット7を複製する場合は、(n−1)世代目のドキュメントデータユニット、(n−2)世代目のドキュメントデータユニット、…、を中継し、1世代目のドキュメントデータユニットに対して、複製することを許可するように要求される。そして、許可された場合に、n世代目のドキュメントデータユニット7が複製される。
なお、ドキュメントデータユニットB、Cの複製時にドキュメントデータユニットB、Cの代行認証ユニット8を生成したい場合は、ユーザは、ドキュメントデータユニットAの複製時と同様に、図20のドキュメントデータユニット複製操作画面HG50が表示されているときに「スタート」ボタンを押す前に、「代行認証設定」ボタンを押しておく。そして、順次表示される作成方法選択画面HG51(図22参照)、代行認証ユニット作成画面HG52(図23参照)、および詳細条件設定画面HG53(図24参照)において、アクセスなどに関する制限を設定する。
すると、ユニット管理プログラム6によって、前に図25で説明した手順で、ドキュメントデータユニットB、Cの代行認証ユニット8が生成される。
〔ドキュメントデータユニット7の閲覧〕
図33および図34はドキュメントデータユニット7の閲覧の処理の流れの例を説明するフローチャートである。
ユーザは、ドキュメントデータユニット7に含まれるドキュメントデータ700によって再現されるドキュメントを用紙に印刷させたり液晶パネルに表示させたりすることによって、閲覧することができる。または、パーソナルコンピュータに転送させ、そのパーソナルコンピュータにおいてドキュメントを閲覧することもできる。この際に、一番上の世代のドキュメントデータユニットのユニット認証管理手段705による認証を受ける必要がある。この点は、前に述べた複製の場合と同様である。
以下、図18および図19で説明した複製の処理によって生成されたドキュメントデータユニットAの複製物であるドキュメントデータユニットBのドキュメントを閲覧する際の処理の手順について、図33および図34を参照しながら説明する。両ドキュメントデータユニットは、同一のプラットホームにあるものとする。
ユーザは、ドキュメントデータユニットBのドキュメントを閲覧したい場合は、そのドキュメントデータユニットBを管理している画像形成装置1または汎用コンピュータ2に対して、そのドキュメントデータユニットBのユニットIDを指定するとともに閲覧のコマンドを与える。
すると、その画像形成装置1または汎用コンピュータ2において、そのユニットIDおよびコマンドがドキュメントデータユニット操作プログラム4によってユニット管理プログラム6に伝えられる(図33の#1101)。
ユニット管理プログラム6は、そのユニットIDに係るドキュメントデータユニット7のドキュメントデータユニット制御プログラム701つまりドキュメントデータユニット制御プログラム701Bを、プラットホームサービス5にロードさせる(#2101)。
ドキュメントデータユニット制御プログラム701Bの起動後、ユニット管理プログラム6は、ドキュメントデータユニット制御プログラム701Bに対して、ドキュメントデータユニットBのドキュメントの閲覧のための処理を実行するように指示する(#2102)。
ドキュメントデータユニット制御プログラム701Bは、ドキュメントデータユニットB自身の続柄情報704を参照することによって、ドキュメントデータユニットB自身に親が存在するか否かを、確認する(#3101)。
親があることが確認できたら、閲覧を許可するように、ユニット管理プログラム6を介して、親つまりドキュメントデータユニットAに対して要求する(#3102)。
すると、ユニット管理プログラム6は、ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701つまりドキュメントデータユニット制御プログラム701Aを、プラットホームサービス5にロードさせる(#2103)。
ユニット管理プログラム6は、ドキュメントデータユニットBのドキュメントの閲覧を許可するようにドキュメントデータユニットAに対して要求する(#2104)。
すると、ドキュメントデータユニット制御プログラム701Aは、自らの続柄情報704を参照することによって、ドキュメントデータユニットA自身に親が存在するか否かを確認する(#4101)。
親が存在しないことが確認できたら、ドキュメントデータユニット制御プログラム701Aは、閲覧を許可すべきか否かを、ドキュメントデータユニットAのユニット認証管理手段705に判断させる(図34の#4102)。ユニット認証管理手段705は、自らの認証ルールデータ7NRを用いてそれを判断する。
閲覧を許可すると判断した場合は、ドキュメントデータユニット制御プログラム701Aは、ユニット管理プログラム6を介して、閲覧を許可する旨の応答のメッセージおよびドキュメントデータユニットBのドキュメントデータ700を暗号化するのに使用した暗号キーAK(つまり、そのドキュメントデータ700にアクセスするための手段)をドキュメントデータユニットBに与える(#4103、#2105)。
ドキュメントデータユニット制御プログラム701Bは、ドキュメントデータユニットAから送られてきた暗号キーAKによってドキュメントデータユニットBのドキュメントデータ700を復号し(#3103)、ユニット管理プログラム6を介してそのドキュメントデータ700をドキュメントデータユニット操作プログラム4に与える(#3104、#2106)。
ドキュメントデータユニット操作プログラム4は、そのドキュメントデータ700を用いて、閲覧のための出力の処理を行う(#1102)。例えば、液晶パネルへの表示によって閲覧のための出力を行う場合は、表示サービスをプラットホームサービス5にコールする。すると、プラットホームサービス5は、そのドキュメントデータ700に基づいてドキュメントの画像を再現し、それを液晶パネルに表示させる。
ドキュメントデータユニット制御プログラム701Aは、下の世代つまり本例ではドキュメントデータユニットBが閲覧されたことを示す情報を履歴情報7RYに追記するように履歴管理手段707を制御する(#4104)。
その後、ドキュメントデータユニット制御プログラム701Bは、処理の終了の通知をユニット管理プログラム6に対して与える(#3105)。すると、ドキュメントデータユニットA、Bは、ユニット管理プログラム6によってアンロードされる(#2107)。
このように、一番上の世代のユニット認証管理手段705による認証が得られた場合に、閲覧のための処理を実行する。閲覧に係るドキュメントデータユニット7に親がない場合も、2世代以上、上の世代がある場合も、同様の考え方である。
つまり、前者の場合は、そのドキュメントデータユニット7自身のユニット認証管理手段705が認証を行う。後者の場合は、1つ上の世代のドキュメントデータユニット、さらに1つ上の世代のドキュメントデータユニット、…、の順に要求が1世代目のドキュメントデータユニットに中継され、1世代目のドキュメントデータユニットのユニット認証管理手段705が認証を行う。
〔ドキュメントデータの編集〕
図35および図36はドキュメントデータの編集の処理の流れの例を説明するフローチャートである。
ユーザは、従来と同様の操作を行うことによって、ドキュメントデータ700によって再現される画像を修正したりトリミングまたはノイズ除去などの処理を施したりすることができる。それに応じて、そのドキュメントデータ700は、編集(更新)される。さらに、そのドキュメントデータ700に係るドキュメントデータユニット7から遡って最も上のドキュメントデータユニットの履歴管理手段707によって管理される履歴情報7RYが更新される。
以下、図18および図19で説明した複製の処理によって生成されたドキュメントデータユニットBのドキュメントデータ700を編集する際の処理の手順について、図35および図36を参照しながら説明する。なお、ドキュメントデータユニットA、Bは、同一のプラットホームにあるものとする。
ユーザが、ドキュメントデータユニットBを指定するとともに編集のコマンドを入力すると、それらがドキュメントデータユニット操作プログラム4によってユニット管理プログラム6に伝えられる(図35の#1121)。
ユニット管理プログラム6は、ドキュメントデータユニットBのドキュメントデータユニット制御プログラム701(701B)を、プラットホームサービス5にロードさせる(#2121)。
ユニット管理プログラム6は、ドキュメントデータユニット制御プログラム701Bに対して、ドキュメントデータユニットBのドキュメントデータ700の編集のための処理を開始するように指示する(#2122)。
すると、ドキュメントデータユニット制御プログラム701Bは、ドキュメントデータユニットB自身の続柄情報704を参照することによって、ドキュメントデータユニットB自身に親が存在するか否かを、確認する(#3121)。
親が存在することが確認できたら、ドキュメントデータ700の編集を許可するように、ユニット管理プログラム6を介して、親つまりドキュメントデータユニットAに対して要求する(#3122)。
すると、ユニット管理プログラム6は、ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701(701A)を、プラットホームサービス5にロードさせる(#2123)。
ユニット管理プログラム6は、ドキュメントデータユニットBのドキュメントデータ700の編集を許可するようにドキュメントデータユニットAに対して要求する(#2124)。
すると、ドキュメントデータユニット制御プログラム701Aは、自らの続柄情報704を参照することによって、ドキュメントデータユニットA自身に親が存在するか否かを確認する(#4121)。
親が存在しないことが確認できたら、ドキュメントデータユニット制御プログラム701Aは、編集を許可すべきか否かを、ドキュメントデータユニットAのユニット認証管理手段705に判断させる(#4122)。ユニット認証管理手段705は、自らの認証ルールデータ7NRを用いてそれを判断する。
編集を許可すると判断した場合は、ドキュメントデータユニット制御プログラム701Aは、ユニット管理プログラム6を介して、編集を許可する旨の応答のメッセージおよびドキュメントデータユニットBのドキュメントデータ700を暗号化するのに使用した暗号キーAK(つまり、そのドキュメントデータ700にアクセスするための手段)をドキュメントデータユニットBに与える(図36の#4123、#2125)。
この暗号キーAKによって、ドキュメントデータ700は復号され、ドキュメントの画像が従来通りに再現される。ここで、ユーザは、そのドキュメントの画像を修正したり種々の処理を施したりする(#1122)。そして、ユーザがそのドキュメントの画像に対して行った作業の情報(編集情報)が、ドキュメントデータユニット操作プログラム4によってドキュメントデータユニットA、Bに送られる(#1123)。
ドキュメントデータユニット制御プログラム701Bは、ドキュメントデータユニット操作プログラム4からの編集情報に基づいてドキュメントデータ700を更新(編集)する(#3123)。
そして、編集されたドキュメントデータ700は、ドキュメントデータユニットAから送られてきた暗号キーAKによって再び暗号化されて保存される(#3124、#2126)。
また、ドキュメントデータユニットAの履歴管理手段707は、今回の編集の内容および日時などのログを自らの履歴情報7RYに追記する(#4124)。
ユーザが編集の終了のコマンドを入力すると、終了の通知がユニット管理プログラム6を介してドキュメントデータユニット操作プログラム4からドキュメントデータユニット制御プログラム701Bに送られる(#1124、#2127)。ドキュメントデータユニット制御プログラム701Bがそれに応答すると(#3125)、ドキュメントデータユニットA、Bがユニット管理プログラム6によってアンロードされる(#2128)。
編集されたドキュメントデータ700のドキュメントデータユニット7に親がない場合は、今回の編集の内容および日時などを、そのドキュメントデータユニット7自身の履歴管理手段707の履歴情報7RYに追記する。または、3世代以上に渡る場合は、一番上の世代の履歴管理手段707の履歴情報7RYに追記する。認証に関する考え方も、ドキュメントデータユニット7の複製および閲覧の場合と同様である。
〔認証の処理を代行認証ユニット8に代行させる場合〕
図37は認証の全体的な処理の流れの例を説明するフローチャートである。
上に説明したように、ドキュメントデータユニット7の複製、閲覧、または編集の動作は、そのドキュメントデータユニット7よりも上の世代が存在する場合は、1世代目のドキュメントデータユニットによる認証が得られなければ、実行されない。認証の要求は、1つ上の世代のドキュメントデータユニット、さらに1つ上の世代のドキュメントデータユニット、…、の順に1世代目のドキュメントデータユニットまで中継される。
しかし、上の世代のいずれかのドキュメントデータユニットと通信を行うことができなければ、要求が1世代目に届けられないので認証が不能になる。例えば、電源がオフであり、ネットワーク機能がオフであり、または通信が不通になる障害が発生している画像形成装置1または汎用コンピュータ2に保存されているドキュメントデータユニットとは、通信を行うことができない。
このような場合は、そのドキュメントデータユニットの代わりに、そのドキュメントデータユニットの代行認証ユニット8が、認証のための処理を行う。
ここで、代行認証ユニット8が起動し処理を行うタイミングを、図37のフローチャートを参照しながら説明する。
あるドキュメントデータユニット7が、認証の要求を1つ上の世代つまり自らの親に対して行うために、自らの続柄情報704を参照し、親の保存場所を検索する(#1−a)。
続柄情報704に親が記載されていなければ(#1−bでNo)、そのドキュメントデータユニット7自身が1世代目なので、自ら認証の処理を自らの認証ルールデータ7NRに基づいて実行する(#1−h)。そして、認証の条件が満たされていれば(#1−kでYes)、ユーザが行おうとした複製、閲覧、または編集を許可する(#1−m)。満たされていなければ(#1−kでNo)、拒否する(#1−n)。
一方、続柄情報704に親が記載されていれば(#1−bでYes)、当該親に対してアクセスを試みる(#1−c)。アクセスに成功した場合は(#1−dでYes)、当該親に認証の要求を受信し、当該親自身の親(1つ上の世代のドキュメントデータユニット)を当該親自信の続柄情報704を参照して検索する(#1−a)。
このようにして、認証の要求が世代をどんどん遡り1世代目に届いたら(1−bでNo)、当該1世代目のドキュメントデータユニットが自らの認証ルールデータ7NRに基づいて認証の処理を実行する(#1−h)。そして、認証の条件が満たされていれば(#1−kでYes)、ユーザが行おうとした複製、閲覧、または編集を許可する(#1−m)。満たされていなければ(#1−kでNo)、拒否する(#1−n)。
1世代目に届くまでに、アクセスしたいドキュメントデータユニットへのアクセスができない場合は(#1−dでNo)、当該ドキュメントデータユニットの代行認証ユニット8を検索し(#1−e)、それが見つかれば(#1−fでYes)、それにアクセスする(#1−g)。なお、見つからない場合は(#1−fでNo)、ユーザが行おうとした複製、閲覧、または編集を拒否する(#1−n)。
すると、代行認証ユニット8は、続柄が「親」であるドキュメントデータユニットが自らの続柄情報804に示されていない場合は(#1−iでNo)、自らが1代目の代行の役割を担う。そこで、その代行認証ユニット8は、自らの代行時認証ルールデータ8NRに基づいて認証の処理を実行する(#1−h)。そして、認証の条件が満たされていれば(#1−kでYes)、ユーザが行おうとした複製、閲覧、または編集を許可する(#1−m)。満たされていなければ(#1−kでNo)、拒否する(#1−n)。なお、前に説明した通り。代行時認証ルールデータ8NRには、認証ルールデータ7NRよりも厳しい制限が設定されている。よって、ドキュメントデータユニット7が認証を行う場合よりも、複製、閲覧、または編集が拒否されることが多い。
一方、続柄が「親」であるドキュメントデータユニットが続柄情報804に示されている場合は(#1−iでYes)、そのドキュメントデータユニットにアクセスし認証の要求を転送する(#1−c)。その後の処理は、上述の通りである。
次に、代行認証ユニット8に係る処理の具体例を、図38〜図43を参照しながら順次説明する。
〔代行認証ユニット8の生成を伴うドキュメントデータユニット7の複製〕
図38はドキュメントデータユニット7の複製および代行認証ユニット8の生成を同じタイミングで行う場合の処理の手順の例を説明するための図である。
ドキュメントデータユニットAを複製する処理およびドキュメントデータユニットAの代行認証ユニット8を生成する処理は、前に、図18〜図19および図25で個々に説明した。次に、両処理がどのようにして並行的に行われるのかを、図38を参照して説明する。
ユーザが、ドキュメントデータユニットAを有する画像形成装置1A1の操作パネル10fを操作することによって、複製の対象としてドキュメントデータユニットAをドキュメントデータユニット複製操作画面HG50(図20参照)に指定し、かつ、代行時の制限を作成方法選択画面HG51(図22参照)、代行認証ユニット作成画面HG52(図23参照)、または詳細条件設定画面HG53(図24参照)に指定すると(図38の丸数字1)、ドキュメントデータユニットAが未だ起動していない場合はそれが起動され、指定された内容がドキュメントデータユニット制御プログラム701に通知される(丸数字2)。ユーザは、画像形成装置1A1のクライアントであるパーソナルコンピュータからこれらを指定することもできる(丸数字1’)。後に図39および図41で説明する例においても、同様である。なお、本例では、複製物の保存場所として、画像形成装置1A2が指定されたものとする。
ドキュメントデータユニット制御プログラム701は、自らの続柄情報704に基づいて、自らに親がないことを確認し、複製が可能であることをユニット認証管理手段705に認証させ、複製の指示を発行する(丸数字3)。
すると、この指示がドキュメントデータユニットAのユニット管理プログラム6およびプラットホームサービス5によって、通信回線LAを介して画像形成装置1A2に転送される(丸数字4)。
画像形成装置1A2において、プラットホームサービス5によって係る指令が受け付けられると、ユニット管理プログラム6によってドキュメントデータユニットAの複製物(つまり、ドキュメントデータユニットB)およびドキュメントデータユニットAの代行認証ユニット8が生成される(丸数字5、6)。なお、ドキュメントデータユニットBおよび代行認証ユニット8には、それぞれ、新規のユニットIDが発行される。
そして、ドキュメントデータユニットBおよび代行認証ユニット8それぞれのユニットIDおよび今回の複製のログが、画像形成装置1A2、1A1それぞれのプラットホームサービス5などを介してドキュメントデータユニットAに通知される(丸数字7、8)。ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701は、自らの続柄情報704にドキュメントデータユニットBおよび代行認証ユニット8と自らとの関係(続柄)の情報を書き込み、そのログを履歴情報7RYに書き込む。
〔1代目との通信が不能である場合のドキュメントデータユニット7の複製、印刷〕
図39は1代目との通信が不能である場合のドキュメントデータユニット7の複製の処理の手順の例を説明するための図、図40はメッセージ画面HG6の例を示す図である。
上の世代のドキュメントデータユニット7との通信が不能である場合の、認証のための処理の手順は、前に図37で説明した通りである。次に、ドキュメントデータユニットCの複製物(以下、「ドキュメントデータユニットD」と記載する。)を生成しようとしたがドキュメントデータユニットAとの通信が不能である場合を例に、認証のための処理および複製の処理の手順を、図39を参照して説明する。
ユーザが、ドキュメントデータユニットCを有する画像形成装置1A3の操作パネル10fを操作することによって、複製の対象としてドキュメントデータユニットCをドキュメントデータユニット複製操作画面HG50(図20参照)に指定すると(図39の丸数字1)、ドキュメントデータユニットCが未だ起動していない場合はそれが起動され、指定された内容がドキュメントデータユニット制御プログラム701に通知される(丸数字2)。本例では、複製物(ドキュメントデータユニットD)の保存場所として、画像形成装置1A3が指定されたものとする。
ドキュメントデータユニット制御プログラム701は、自らの続柄情報704に基づいて、自らの親がドキュメントデータユニットBであることを確認すると、ドキュメントデータユニットBに対して、複製の許可の要求を発行する(丸数字3)。
その要求はドキュメントデータユニットBの保存場所である画像形成装置1A2に転送される(丸数字4)。
画像形成装置1A2において、プラットホームサービス5によって係る要求が受け付けられると、ドキュメントデータユニットBが起動していなければ、ユニット管理プログラム6によってそれが起動され、その要求がドキュメントデータユニットBのドキュメントデータユニット制御プログラム701に届けられる(丸数字5)。
すると、ドキュメントデータユニット制御プログラム701は、自らの続柄情報704に基づいて、自らの親がドキュメントデータユニットAであることを確認すると、ドキュメントデータユニットAに対して、複製の許可の要求を発行する(丸数字6)。その要求は、ドキュメントデータユニットAの保存場所である画像形成装置1A1に向かう(丸数字7)。
ところが、その要求が画像形成装置1A1に届けられないことを検知すると(丸数字8)、自らの続柄情報704に基づいて、ドキュメントデータユニットAの代行認証ユニット8を確認し、その要求をその代行認証ユニット8に転送する(丸数字9)。
その代行認証ユニット8を有する装置(本例では、画像形成装置1A2)のユニット管理プログラム6は、その代行認証ユニット8を起動し、その要求をその代行認証ユニット8に届ける(丸数字10)。
すると、その代行認証ユニット8の代行認証情報制御プログラム801は、自らの続柄情報804に基づいて、ドキュメントデータユニットAに親がないことを確認し、複製を許可してもよいことをユニット認証管理手段805に認証させ、複製の許可を発行する(丸数字11)。なお、認証は、ユニット認証管理手段805が有する代行時認証ルールデータ8NRに基づいて行われる。その許可は、画像形成装置1A3に転送される(丸数字12)。
画像形成装置1A3において、係る許可がドキュメントデータユニットCに与えられると(丸数字13)、ドキュメントデータユニットCのドキュメントデータユニット制御プログラム701は、自らのドキュメントデータ700などをユニット管理プログラム6に送る(丸数字14)。すると、ユニット管理プログラム6によってドキュメントデータユニットCの複製物つまりドキュメントデータユニットDが生成される(丸数字15)。この際に、ドキュメントデータユニットDに対して新規のユニットIDが発行される。
そして、ドキュメントデータユニットDのユニットIDおよび今回の複製に関するログが、ドキュメントデータユニットBおよび代行認証ユニット8に通知される(丸数字16、17、18)。ドキュメントデータユニットBのドキュメントデータユニット制御プログラム701は、自らの続柄情報704に、ドキュメントデータユニットDと自らとの関係(続柄)の情報を書き込み、履歴情報7RYにそのログを書き込む。代行認証ユニット8は、自らの続柄情報804に、ドキュメントデータユニットDと自らとの関係(続柄)の情報を書き込み、履歴情報8RYにそのログを書き込む。
なお、図39の例では、代行認証ユニット8が複製を許可した場合について説明したが、許可しなかった場合は、ドキュメントデータユニットCの複製は行われない。そして、図40のような、1代目であるドキュメントデータユニットAへのアクセスの不能および代行認証ユニット8による認証の失敗を知らせるメッセージを記載したメッセージ画面HG6を、画像形成装置1A3の操作パネル10fに表示させる。
図41は1代目との通信が不能である場合のドキュメントデータユニット7に係るドキュメントの印刷の処理の手順の例を説明するための図である。
図39では、ドキュメントデータユニットAとの通信が不能である場合の、ドキュメントデータユニットCの複製のための処理の手順を説明した。次に、ドキュメントデータユニットAとの通信が不能である場合の、ドキュメントデータユニットCのドキュメントデータ700によって再現されるドキュメントを用紙に印刷するための処理の手順を、図41を参照して説明する。
図41における丸数字1〜14の処理の内容は、図39における丸数字1〜14の処理の内容と基本的に同じである。ただし、図41の丸数字1では、ドキュメントデータユニットCは、ユーザが所望するドキュメントのドキュメントデータ700を有するドキュメントデータユニット7として指定される。丸数字3では、印刷の許可の要求を発行する。丸数字11では、印刷を許可してもよいことを認証する。
ドキュメントデータユニットCのドキュメントデータユニット制御プログラム701は、印刷の許可が得られると(図41の丸数字13)、自らのドキュメントデータ700をユニット管理プログラム6に送る(丸数字14)。
すると、ユニット管理プログラム6およびプラットホームサービス5は、そのドキュメントデータ700に基づいてドキュメントが印刷されるようにプリンタ部10iを制御する(丸数字15)。
そして、今回の印刷に関するログが、ドキュメントデータユニットBおよび代行認証ユニット8に通知される(丸数字16、17、18)。ドキュメントデータユニットBおよび代行認証ユニット8は、自らの履歴情報8RYにそのログを書き込む。
〔認証の代行後の処理〕
図42は代行認証履歴通知処理の流れの例を説明するフローチャート、図43は代行認証履歴通知処理の流れの例を説明するための図である。
代行認証ユニット8がドキュメントデータユニット7の代わりに認証を行うのは、そのドキュメントデータユニット7が下の世代と通信を行うことができない場合であって、一時的なものである。つまり、通信が復旧したら、その後の要求に係る認証は、そのドキュメントデータユニット7が行う。したがって、通信が不能であった時間帯のドキュメントに関するログを、復旧後、そのドキュメントデータユニット7の履歴情報7RYにも反映させる必要がある。
次に、通信が不能であったドキュメントデータユニットAの履歴情報7RYに、通信が不能であった時間帯のドキュメントに関するログを反映させる場合の処理の手順を、図42および図43を参照して説明する。
ドキュメントデータユニットAの代行認証ユニット8を有する装置のユニット管理プログラム6は、ドキュメントデータユニットAとの通信が不能になった後、所定の時間が経過するごとに(図42の#2−aでYes)、ドキュメントデータユニットAへのアクセスを試み(#2−b)、アクセスすることができたら(#2−cでYes)、履歴情報8RYをドキュメントデータユニットAに送信するように、代行認証ユニット8に対して指令する(図43の丸数字1)。
すると、代行認証ユニット8は、自らの履歴情報8RYをドキュメントデータユニットAに宛てて送信する(#2−d、丸数字2)。
ドキュメントデータユニットAのドキュメントデータユニット制御プログラム701は、代行認証ユニット8からの履歴情報8RYを受信すると(丸数字4)、その履歴情報8RYに記載されているログの中から、自らの履歴情報7RYに記載されていないものを検索し、検索したログを自らの履歴情報7RYに書き込む。
これにより、ドキュメントデータユニットAは、再び、下の世代からの要求に応じて、認証の処理を行うことができるようになる。
〔オブジェクトのコピーを集めてドキュメントデータユニット7を作成する例〕
図44は複数の親と子との関係の例を示す図、図45はドキュメントデータユニットδの例を示す図、図46は複数の親から認証を受ける例を示す図、図47は一部の親による認証が不能である場合の例を示す図である。
前に「ドキュメントデータユニット7の新規作成」で説明した通り、新規のドキュメントデータユニット7のドキュメントデータ700は、スキャナ部10jで原稿を読み取ったりアプリケーションソフトで作成されたファイルを用いたりすることによって、作成された。
ところで、一般に、PDFのデータは、テキスト、写真、および絵など様々なオブジェクトのデータによって構成され得る。また、TIFFのデータには複数のページのデータが含まれており、ユーザは、1つのページを1つのオブジェクトとして取り扱うことができる。これらのオブジェクトのデータをコピーして集め、新たなドキュメントのデータを作成することが可能である。
本実施形態においても同様に、ユーザは、既存の各ドキュメントデータユニット7のドキュメントデータ700の中からオブジェクトを任意に選んで、新たなドキュメントデータユニット7のドキュメントデータ700を作成することができる。
この方法によって、次のように新たなドキュメントデータユニット7を作成することができる。
ユーザは、画像形成装置1または汎用コンピュータ2を操作して、前に「ドキュメントデータユニット7の閲覧」で説明した方法で、コピーしたいオブジェクトが含まれるドキュメントデータユニット7を順次、開く。また、書類の作成用のアプリケーションソフトを起動し、いわゆる白紙のドキュメントを開いておく。そして、従来のパーソナルコンピュータの操作と同様にして、各ドキュメントデータユニット7からオブジェクトをコピーし、白紙のドキュメントに貼り付けていく。これにより、新規のドキュメントデータユニット7のドキュメントデータ700が完成する。
画像形成装置1または汎用コンピュータ2は、基本的に前に説明した通り、ドキュメントデータ700以外の構成要素を用意し、ドキュメントデータユニット7を生成する。
ただし、ここでは、続柄情報704を、複製元(コピー元)ごとに用意する。例えば、図44に示すように3つのドキュメントデータユニット7(以下、それぞれを「ドキュメントデータユニットα」、「ドキュメントデータユニットβ」、および「ドキュメントデータユニットγ」と記載する。)からオブジェクトをコピーして新規のドキュメントデータユニット7(以下、「ドキュメントデータユニットδ」を生成する場合は、図45に示すように、ドキュメントデータユニットα、β、γごとの続柄情報704が用意される。
さらに、各オブジェクトα1、β2、γ3の認証ルールデータ7NRとして、各ドキュメントデータユニットα、β、γそれぞれの認証ルールデータ7NRをコピーして用意する。
つまり、オブジェクトα1、β2、γ3ごとに、それぞれの親(または、親を含む上位階層)のリンク情報およびアクセス認証情報に則る。
生成されたドキュメントデータユニットδには、複数の親が存在することになる。ドキュメントデータユニットδの子を生成したり、ドキュメントデータユニットδを編集しまたは閲覧したりする場合も、ドキュメントデータユニットδの親の認証を得る必要がある。認証の方法は、基本的に、前に「ドキュメントデータユニット7の複製(親がある場合)」で説明した通りである。ただし、ドキュメントデータユニットδには複数の親があるので、原則として、図46に示すようにすべての親の認証を得なければならない。
しかし、そうすると、図47に示すように、ドキュメントデータユニットδから一部の親へのアクセスが不能になった場合に、子の生成などができなくなってしまう。また、すべての親からの認証を得るのに時間が掛かってしまう。これらの不具合は、親(複製元)の数が多ければ多いほど、顕著に現れる。
そこで、複数の親を持つドキュメントデータユニット7についての認証の処理を、次のように行ってもよい。
〔複数の親を持つドキュメントデータユニット7の認証の処理〕
図48は先頭のオブジェクトの親による認証の例を示す図、図49は選択されたオブジェクトの親による認証の例を示す図である。
ドキュメントデータユニットδは、基本的に前に「ドキュメントデータユニット7の複製(親がある場合)」で説明した手順で、自らの子を生成する。ただし、本例では、図44に示すように、3つの親(ドキュメントデータユニットα、β、γが存在する。
そこで、ドキュメントデータユニットδは、複製を許可するように(つまり、認証するように)、一部の親に対してのみに要求する。
例えば、ドキュメントデータユニットδは、図48に示すように、ドキュメントデータユニットδのドキュメントを構成するオブジェクトのうち先頭のオブジェクトα1の親(つまり、ドキュメントデータユニットα)に対して要求する。ドキュメントデータユニットαの存在は、オブジェクトα1の続柄情報704を参照すれば分かる。
または、ドキュメントデータユニットδは、図49に示すように、ユーザまたは作成者が任意に指定した親に対して要求する。親の指定は、ドキュメントデータユニットδの複製時に行わせてもよいし、ドキュメントデータユニットδを作成する際に作成者に行わせておいてもよい。
そして、いずれか1つのオブジェクトの親からの認証が得られたら、ドキュメントデータユニットδは、自らの子を生成したり、自らのドキュメントの閲覧および編集をユーザに行わせたりする。
もちろん、アクセス可能な親に対して要求するのは、言うまでもない。先頭の親へのアクセスが不能である場合は、2番目の親に要求すればよい。以下、アクセスできるまで、次の親に要求すればよい。また、ユーザまたは作成者に、親を1つだけ指定させるのではなく、要求先の親の優先順位を付けさせておいてもよい。そうすれば、1番目に指定された親へのアクセスが不能である場合にも、次の順番の親から認証を得ることができる。
なお、認証を求める親の数は、1つに限られない。例えば、任意の割合(例えば、全体の半数)の親に認証を求めてもよい。
また、複数の親の中から任意に選択した親に認証を行ってもらう、つまり、任意に選択した親の認証条件を適用する、という技術的思想は、自立型のデータの場合でなくても、適用することができる。
本実施形態によると、サーバを用いることなく、データの在所をより確実に把握することができる。
例えば、原本(1代目、第1世代)のドキュメントデータ700を含むドキュメントデータユニット7の複製が、どこに配布されているのかを、続柄情報704に示される親子関係を辿って追跡することによって、容易に知ることができる。
しかも、原本のドキュメントデータ700を含むドキュメントデータユニット7に対して認証の要求を行うことができない場合は、代行認証ユニット8に認証を代行させることができる。よって、データの使用の許否をより確実に判断することができる。
また、配布された複製物がどのように編集されたのかも、1代目の履歴管理手段707によって管理される履歴情報を見るだけで、把握することができる。
また、本実施形態によると、オブジェクトごとに異なる親を持つドキュメントデータユニット7であっても、いずれかの親を選択して認証を求めるので、認証に要する時間が長くなるのを抑制することができる。また、一部の親との通信が不能である場合にも、認証を得ることができる。
本実施形態では、ドキュメントデータ700を使用するイベントとして、複製、閲覧、および編集を例に挙げたが、他のイベントの場合にも本発明を適用することができる。
本実施形態では、ドキュメントデータ700の暗号化および復号を共通鍵暗号方式に基づいて行ったが、公開鍵暗号方式に基づいて行ってもよい。この場合は、ドキュメントデータ700を公開鍵で暗号化し、その公開鍵のペアである秘密鍵を親に保持させておけばよい。そして、そのドキュメントデータ700を使用するイベントが生じた際に、親は、認証することができたら、復号のためにその秘密鍵を与えればよい。
その他、画像処理システムGSS、画像形成装置1、汎用コンピュータ2の全体または各部の構成、処理内容、処理順序、ドキュメントデータユニット7の構成、代行認証ユニット8の構成などは、本発明の趣旨に沿って適宜変更することができる。