以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
図1は、本実施の形態に係るファイル管理システム1のシステム構成例を示す図である。ファイル管理システム1は、ユーザ端末10、ファイル管理装置20、及び出力装置30を含み、ユーザ端末10、ファイル管理装置20、及び出力装置30はそれぞれ通信回線2に接続されている。
ファイル管理システム1における通信回線2は有線回線であっても無線回線であってもよく、また、有線回線と無線回線が混在した回線であってもよい。更に、通信回線2は専用回線であっても、インターネットのように不特定多数の装置と回線を共有する公衆回線であってもよい。
ユーザ端末10は、ファイル管理装置20にファイルの登録を行うユーザ(以降、「登録ユーザ」という)、またはファイル管理装置20に登録されたファイルを出力装置30から出力するユーザ(以降、「出力ユーザ」という)が使用する装置である。ユーザ端末10には、例えばデスクトップコンピュータ、タブレット型コンピュータ、スマートフォン、及びウェアラブル端末のように、ユーザとのインターフェースを提供する入出力機能、情報を処理する処理機能、及び通信回線2を通じてデータ通信を行う通信機能を備えた情報機器が用いられる。なお、登録ユーザ及び出力ユーザを含むファイル管理システム1の利用者を総称して「ユーザ」という。
本実施の形態に係る「ファイル」とは特定の情報を表現する、予め定められた形式に沿ってまとめられたデータの集合体のことである。
ファイル管理システム1に含まれるユーザ端末10の台数に制約はなく、N台(Nは1以上の整数)のユーザ端末10が通信回線2に接続される。個別にユーザ端末10を表す場合、図1に示すようにユーザ端末10の末尾に符号“−1”〜“−N”を付加するが、ユーザ端末10−1〜ユーザ端末10−Nを区別して説明する必要のない場合には「ユーザ端末10」のように表記する。1人のユーザが複数のユーザ端末10を所有していてもよい。
ファイル管理装置20は、登録ユーザから受け付けたファイルを記憶装置に記憶し、出力ユーザがファイル管理装置20に記憶されたファイルを出力装置30から要求した場合、要求されたファイルを記憶装置から取得してユーザに提供する装置である。登録ユーザから受け付けたファイルを記憶装置に記憶し、少なくとも1人のユーザが記憶装置に記憶された所望するファイルの提供を受けられるようにすることを「ファイルを登録する」という。
ファイル管理装置20もユーザ端末10と同様に、ファイル管理装置20の管理者とのインターフェースを提供する入出力機能、情報を処理する処理機能、及び通信回線2を通じてデータ通信を行う通信機能を備えた情報機器が用いられる。ファイル管理装置20は複数のユーザ端末10及び出力装置30からの要求を並行して処理する必要があるため、ファイル管理装置20にはユーザ端末10よりも情報の処理性能が高い、例えば「サーバ」や「ワークステーション」と呼ばれるコンピュータが用いられる。
ユーザ端末10よりも情報の処理量が多いファイル管理装置20は複数の情報機器に処理を分散してもよく、例えば、クラウドコンピューティングサービスを用いてファイル管理装置20を実現してもよい。
出力装置30は例えば公共施設、会社、及び店舗40のように、ユーザが居住する住宅と異なる場所に設置される装置である。出力装置30が設置される設置場所はユーザが居住する住宅以外であればどこでもよいが、ここでは一例として、出力装置30がコンビニエンスストアのように不特定多数のユーザが事前の許可なく出入りすることができる店舗40に設置されている例について説明する。
図1では説明の便宜上、出力装置30を備えた店舗40を1つしか記載していないが、実際には出力装置30を備えた複数の店舗40が存在し、各々の店舗40の出力装置30が通信回線2に接続されている。1つの店舗40に備えられる出力装置30の台数にも制約はなく、1つの店舗40が複数の出力装置30を備えていてもよい。
出力装置30はファイル管理装置20と連携して、出力ユーザが指定したファイルを出力する。「ファイルを出力する」とは、ファイルの内容を認識可能な状態にすることである。ファイルの内容を認識する対象は出力ユーザに限られず電子機器であってもよい。したがって、ファイルの内容を表示装置に表示する形態、用紙等の記録媒体に印字する形態、音声で通知する形態、記憶媒体に記憶する形態、及び出力装置30を介して他の電子機器にファイルを転送する形態は、それぞれファイルの出力例を表す一形態である。以降では一例として、出力装置30がファイルの内容を記録媒体に印字し、ファイルの内容を出力ユーザに通知するものとする。出力装置30は、本実施の形態に係る情報処理装置の一例である。
図2は、ファイル管理システム1を用いたファイルの提供サービスにおける情報の流れを示したシーケンス図の一例であり、図2を参照しながら、ファイル管理システム1を用いたファイルの提供サービスについて説明する。
まず、登録ユーザはユーザ端末10を操作して、他のユーザに利用してもらいたいファイルをファイル管理装置20に送信する(図2:F1)。ファイル管理装置20に送信するファイルの内容は、出力装置30におけるファイルの出力形態に沿ったものであればどのような内容であってもよいが、例えば出力装置30でファイルの内容を記録媒体に印字するようなサービスが行われる場合、登録ユーザが作成したブックカバーやペーパークラフトの印字データがファイル管理装置20に送信される。
登録ユーザからファイルを受け付けたファイル管理装置20は、受け付けたファイルに対する登録処理を実行する。ファイル管理装置20は、登録処理においてファイルと対応付けた識別情報を生成し、生成した識別情報をファイルの送信元のユーザ端末10に送信して、登録ユーザにファイルの登録が完了したことを通知する(図2:F2)。
識別情報とは、ファイルと一意に対応付けられた識別子のことであり、識別情報を参照することで、ファイル管理装置20に登録された複数のファイルの中から特定のファイルが1つ選択される。
登録ユーザは、ファイル管理装置20に登録したファイルを他のユーザに利用してもらうため、例えばメーリングリストやソーシャルネットワーキングサービス(Social Networking Service:SNS)を用いて、ユーザ端末10で受信した識別情報を、他のユーザにファイル管理装置20に登録したファイルがどのような内容を含むファイルなのか、ファイルの内容の概要がわかる紹介情報と共に公開する。以降では、識別情報及び識別情報に対応したファイルの紹介情報を「識別情報等」と表すことがある。
他のユーザに識別情報等を公開する方法は通信回線2を通じた方法に限定されず、例えば識別情報等を記載したビラの配布や、テレビやラジオを通じた識別情報等の通知であってもよい。
ファイル管理装置20は、登録ユーザが登録したファイルそのものをユーザ端末10に送信する機能を有しないため、識別情報等の公開によってファイルの存在を知ったユーザの中でファイルの内容に興味を持ち、ファイルを出力したいと思った出力ユーザは店舗40に出かけ、所望するファイルの識別情報を出力装置30に入力する。
出力ユーザが入力した識別情報は、出力装置30からファイル管理装置20に送信され(図2:F3)、ファイル管理装置20では、登録されたファイルの中から、受け付けた識別情報に対応したファイルを配信する配信処理を実行する。配信処理によって識別情報に対応したファイルがファイル管理装置20から出力装置30に送信されると(図2:F4)、出力装置30では、受け付けたファイルの内容を記録媒体に印字し、出力ユーザにファイルを出力する。
なお、ファイルには出力装置30での出力が無料のファイルだけでなく有料のファイルも存在するため、出力装置30で有料のファイルを出力する場合、出力ユーザは所望するファイルに設定された料金の支払いを行う。支払われた料金のデータは例えばファイル管理装置20でファイル毎に管理され、ファイルを登録した登録ユーザの銀行口座等に、ファイルの出力回数に応じた金額が入金される。
図2では、ファイル管理装置20にファイルを登録した登録ユーザ以外のユーザが出力装置30でファイルを出力する例を示したが、このように、登録ユーザと出力ユーザが異なるファイルの利用形態を「シェア利用」ということがある。一方、登録ユーザがファイル管理装置20に登録したファイルの識別情報を公開せず、登録ユーザ自身が出力装置30でファイルを出力する利用形態を「個人利用」ということがある。本実施の形態に係るファイルの提供サービスは、ファイルのシェア利用を前提としている。
なお、ファイル管理装置20に登録されたファイルには、ファイル毎にファイルの有効期限が設定される。ファイル管理装置20に登録されたファイルによって、登録されたファイルを記憶する記憶装置の空き容量が逼迫しないように、ファイル管理装置20は、ファイルの有効期限が経過した場合、記憶装置からファイルを削除する。したがって、図2に示したファイルの提供サービスのシーケンス図は、出力ユーザが所望するファイルの有効期限が経過する前に、出力装置30からファイルを出力する場合のシーケンスを表している。
しかしながら、後述するようにファイル管理システム1では、図2を用いて説明したファイルの提供サービスに加え、有効期限が経過したファイルをファイル管理装置20の記憶装置から削除しても、有効期限が経過したファイルを出力ユーザが要求してきた場合、要求されたファイルを出力装置30から出力するサービスを提供する。
次に、こうした有効期限が経過したファイルも出力ユーザに提供することができるファイル管理システム1に含まれる各装置の機能構成について説明する。
図3は、ユーザ端末10の機能構成例を示すブロック図である。図3に示すように、ユーザ端末10はユーザインターフェース(User Interface:UI)部11、通信部12、及び制御部13を含む。
UI部11は、ユーザからの指示を受け付けると共に、指示に対する応答といった各種情報をユーザに通知する。具体的には、UI部11は登録ユーザからファイルの登録指示を受け付け、ファイル管理装置20に登録したファイルの識別情報を通知する。また、UI部11は、例えば登録ユーザから識別情報等をSNSに投稿する投稿指示を受け付けると共に、SNSの投稿内容を通知する。
通信部12は、通信回線2を通じてファイル管理システム1に含まれる他の装置や、ファイル管理システム1に含まれない他の装置との間で各種情報を送受信する。以降では、ファイル管理システム1に含まれない他の装置を「外部装置」という。
制御部13は、UI部11から受け付けた指示及び通信部12から受け付けた情報に従って、各々に対応した処理が行われるようにユーザ端末10を制御する。
図4は、ファイル管理装置20の機能構成例を示すブロック図である。図4に示すように、ファイル管理装置20はUI部21、通信部22、制御部23、登録部24、生成部25、及び有効期限判定部26の各機能部と、ファイルデータベース(Database:DB)27及びファイル管理DB28を含む。
UI部21は、ファイル管理装置20の管理者からの指示を受け付けると共に、指示に対する応答や、ファイル管理装置20に登録されたファイルに関する情報といった各種情報を管理者に通知する。
通信部22は、通信回線2を通じてファイル管理システム1に含まれる他の装置や外部装置との間で各種情報を送受信する。
制御部23は、UI部21から受け付けた指示及び通信部22から受け付けた情報に従って、各々に対応した処理が行われるようにファイル管理装置20を制御する。
登録部24は制御部23の制御に従って、ユーザ端末10から受け付けたファイルをファイルDB27に登録すると共に、登録したファイルの登録情報29をファイル管理DB28に登録する。ファイルの登録情報29とは、ファイルに関する各種情報を集約した情報であり、ファイル管理装置20がファイルを管理する上で参照される情報である。
また、登録部24は制御部23の制御に従って、指定されたファイル(例えば有効期限が経過したファイル)をファイルDB27から削除すると共に、削除したファイルの登録情報29をファイル管理DB28から削除する。
生成部25は制御部23の制御に従って、ユーザ端末10から受け付けたファイルの識別情報を生成する。
また、生成部25は、出力ユーザが有効期限の経過したファイルを要求したとしても、要求されたファイルが出力装置30で出力されるように、ユーザ端末10からファイルの識別情報を受け付けた場合、制御部23の制御に従って、識別情報に対応したファイルの秘匿ファイルを予め生成する。生成された秘匿ファイルは制御部23による制御によって、識別情報の送信元のユーザ端末10に送信される。
「秘匿ファイル」とは、それ単体では内容が閲覧されないように処理されたファイルである。したがって、ユーザ端末10で秘匿ファイルを受け付けたしたとしても、出力ユーザはユーザ端末10で秘匿ファイルの内容を閲覧することができない。しかしながら、秘匿ファイルの秘匿化を解除することができる鍵情報を用いることで、秘匿ファイルの内容が閲覧されるようになる。ファイル管理装置20は出力装置30にしか鍵情報を送信しないため、出力ユーザは有効期限が経過したファイルを出力する場合、出力装置30に秘匿ファイルを入力して、出力装置30でファイル管理装置20から送信された鍵情報を用いて秘匿ファイルの秘匿化を解除してもらい、秘匿化されたファイルの出力を行う。
秘匿ファイルは鍵情報を用いることでファイルの内容が閲覧されるのであれば、どのようなファイル形態であってもよい。例えばファイルにパスワードを設定し、正しいパスワードが入力されなければファイルの内容が閲覧できないようにしたファイルは秘匿ファイルの一例であり、パスワードが鍵情報の一例となる。
また、例えば暗号鍵を用いてファイルを暗号化し、暗号化に用いられた暗号鍵を用いなければファイルの内容が閲覧できないようにしたファイルも秘匿ファイルの一例であり、この場合、暗号化に用いた暗号鍵が鍵情報の一例となる。
本実施の形態では、生成部25が暗号鍵を用いてファイルを暗号化し、暗号ファイルを生成する例について説明する。すなわち、暗号ファイルは本実施の形態に係る秘匿ファイルの一例である。
有効期限判定部26は、制御部23の制御に従って、識別情報に対応したファイルの有効期限が有効期限内であるのか、それとも有効期限を経過しているのかを判定する。
制御部23は、ユーザ端末10から識別情報を受け付けた場合で、かつ、受け付けた識別情報に対応したファイルの有効期限が有効期限内であると有効期限判定部26によって判定された場合、受け付けた識別情報に対応したファイルの暗号ファイルを生成し、生成された暗号ファイルが識別情報の送信元のユーザ端末10に送信されるように生成部25及び通信部22を制御する。
また、制御部23は、出力装置30から識別情報を受け付けた場合で、かつ、受け付けた識別情報に対応したファイルの有効期限が有効期限内であると有効期限判定部26によって判定された場合、受け付けた識別情報に対応したファイルが出力装置30に送信されるように通信部22を制御する。一方、制御部23は、出力装置30から識別情報を受け付けた場合で、かつ、受け付けた識別情報に対応したファイルの有効期限が経過していると有効期限判定部26によって判定された場合、受け付けた識別情報に対応したファイルの暗号鍵が出力装置30に送信されるように通信部22を制御する。
ファイルDB27は、登録ユーザがファイル管理装置20に登録したファイルを記憶する記憶領域である。ファイルDB27はファイル管理装置20に内蔵された記憶装置に構築してもよいが、通信回線2に接続された外部装置の一例であるファイルサーバに構築してもよい。
ファイル管理DB28は、ファイルの登録情報29をファイル毎に記憶する記憶領域である。ファイル管理DB28もファイルDB27と同じく、ファイル管理装置20に内蔵された記憶装置、または通信回線2に接続された外部装置の一例であるファイルサーバの何れに構築してもよい。
図5は、ファイル管理DB28に記憶されるファイルの登録情報29の一例を示す図である。
ファイルの登録情報29では、例えば識別情報、ファイル情報、有効期限、及び暗号鍵がファイル毎に対応付けられて管理される。
登録情報29の識別情報には、ファイルに対応付けられた識別情報が設定される。登録されたファイルが識別情報によって一意に特定されるのであれば、識別情報はどのような形式で表されてもよいが、例えば識別情報は文字で表される。識別情報に用いられる文字の種類に制約はなく、例えば英文字、数字、及び記号や、これらの文字の組み合わせが用いられる。図5の例で識別情報が5桁の数字で表されているように、以降では、識別情報が文字で表されている場合について説明を行う。
登録情報29のファイル情報には、登録されたファイルのファイルDB27における記憶場所がディレクトリ形式で設定される。ディレクトリ形式とは、ファイル名にファイルの記憶場所を表すディレクトリ情報を付加した表示方法である。制御部23はファイル情報を参照することで、識別情報に対応したファイルをファイルDB27から取得する。なお、ファイルが外部装置に記憶されている場合、ファイル情報にはファイルのURL(Uniform Resource Locator)が設定される。図5に示すファイルの登録情報29におけるファイル情報は、ファイルDB27がファイル管理装置20に内蔵された記憶装置に構築されている場合の設定例を示している。
登録情報29の有効期限にはファイルの有効期限が設定される。ファイルの有効期限は予め決められており、例えば登録ユーザのユーザ端末10からファイルを受け付けた時間から1週間後の時間が設定される。ファイルの有効期限はファイル管理装置20の管理者によって変更可能であり、また、例えば受け付けたファイルの種類や登録ユーザに応じて、ファイル毎に異なる有効期限が設定されてもよい。
登録情報29の暗号鍵には、ファイルに対する暗号ファイルの生成に用いる暗号鍵が設定される。暗号鍵には、例えばランダムに生成された文字列が用いられる。暗号鍵は、何れかのファイルの暗号鍵が外部に漏えいしたとしても、他のファイルにおける暗号ファイルの内容が閲覧されないように、ファイル毎に異なる値が設定されることが好ましい。
図6は、出力装置30の機能構成例を示すブロック図である。図6に示すように、出力装置30はUI部31、通信部32、制御部33、出力部34、及び復号部35の各機能部を含む。
UI部31は、出力装置30を操作する出力ユーザからの指示を受け付けると共に、指示に対する応答やファイルの出力に係る処理状況といった各種情報を出力ユーザに通知する。
通信部32は、通信回線2を通じてファイル管理システム1に含まれる他の装置や外部装置との間で各種情報を送受信する。
制御部33は、UI部31から受け付けた指示及び通信部32から受け付けた情報に従って、出力ユーザがUI部31に入力した識別情報に対応するファイルが出力されるように出力装置30を制御する。
具体的には、制御部33は、出力ユーザがUI部31から入力した識別情報に対して、識別情報に対応したファイルを通信部32で受信した場合には、出力部34を制御して、受信したファイルを出力する。また、制御部33は、出力ユーザがUI部31から入力した識別情報に対して、識別情報に対応した暗号鍵を通信部32で受信した場合には、UI部31を制御して、当該鍵情報で暗号化された暗号ファイルを入力するよう出力ユーザに報知する。更に、制御部33は、受信した暗号鍵で暗号ファイルが復号化されるように復号部35を制御すると共に、復号化したファイルを出力するように出力部34を制御する。
出力部34は制御部33の制御に従って、出力ユーザが入力した識別情報に対応したファイルの内容を記録媒体に印字し、出力ユーザが所望したファイルを出力する。
復号部35は制御部33の制御に従って、ファイル管理装置20から送信された暗号鍵を用いて識別情報に対応した暗号ファイルを復号し、暗号ファイルを暗号鍵で暗号化される前の元のファイルに復元する。
次に、ファイル管理システム1に含まれる各装置における電気系統の要部構成例について説明する。
図7は、ユーザ端末10における電気系統の要部構成例を示す図である。既に説明したように、ユーザ端末10は例えばコンピュータ50を用いて構成される。
コンピュータ50は、ユーザ端末10に係る各機能部を担うCPU(Central Processing Unit)51、コンピュータ50を図3に示した各機能部として機能させるユーザ端末プログラムを記憶するROM(Read Only Memory)52、CPU51の一時的な作業領域として使用されるRAM(Random Access Memory)53、不揮発性メモリ54、及び入出力インターフェース(I/O)55を備える。そして、CPU51、ROM52、RAM53、不揮発性メモリ54、及びI/O55がバス56を介して各々接続されている。
不揮発性メモリ54は、不揮発性メモリ54に供給される電力が遮断されても、記憶した情報が維持される記憶装置の一例であり、例えば半導体メモリが用いられるがハードディスクを用いてもよい。不揮発性メモリ54は、必ずしもコンピュータ50に内蔵されている必要はなく、例えばメモリカードのようにコンピュータ50に着脱される可搬型の記憶装置であってもよい。
I/O55には、例えば通信ユニット57、入力ユニット58、及び出力ユニット59が接続される。
通信ユニット57は通信回線2に接続され、通信回線2に接続する各装置との間でデータ通信を行う通信プロトコルを備える。
入力ユニット58は、ユーザからの指示を受け付けてCPU51に通知する装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。ユーザの指示が音声で行われる場合、入力ユニット58としてマイクが用いられることがある。
出力ユニット59は、CPU51によって処理された情報を報知する装置であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及び映像をスクリーンに投影するプロジェクタ等が用いられる。情報を音声で報知する場合には、出力ユニット59としてスピーカーが用いられることがある。
ファイル管理装置20における電気系統の要部構成例も、図7に示したユーザ端末10における電気系統の要部構成例と同じになり、ファイル管理装置20はコンピュータ60を用いて構成される。
したがって、ファイル管理装置20では、ユーザ端末10のCPU51、ROM52、RAM53、不揮発性メモリ54、I/O55、バス56、通信ユニット57、入力ユニット58、及び出力ユニット59を、それぞれCPU61、ROM62、RAM63、不揮発性メモリ64、I/O65、バス66、通信ユニット67、入力ユニット68、及び出力ユニット69に読み替える。
CPU61は、図4に示したファイル管理装置20に係る各機能部を担う。ROM62には、コンピュータ60を図4に示した各機能部として機能させるファイル管理プログラムが記憶される。RAM63は、CPU61の一時的な作業領域として使用される。なお、入力ユニット68はユーザの指示ではなく、ファイル管理装置20の管理者の指示を受け付ける。なお、ユーザ端末10のI/O55及びファイル管理装置20のI/O65に接続されるユニットは図7に示したユニットに限られず、他のユニットが接続されてもよい。
一方、図8は出力装置30における電気系統の要部構成例を示す図である。出力装置30は、例えばコンピュータ70を用いて構成される。
コンピュータ70は、出力装置30に係る各機能部を担うCPU71、コンピュータ70を図6に示した各機能部として機能させる出力プログラムを記憶するROM72、CPU71の一時的な作業領域として使用されるRAM73、不揮発性メモリ74、及びI/O75を備える。そして、CPU71、ROM72、RAM73、不揮発性メモリ74、及びI/O75がバス76を介して各々接続されている。
I/O75には、例えば通信ユニット77、入力ユニット78、出力ユニット79、画像形成ユニット80、及び課金ユニット81が接続される。
通信ユニット77は通信回線2に接続され、通信回線2に接続する各装置との間でデータ通信を行う通信プロトコルを備える。
入力ユニット78は、出力ユーザからの指示を受け付けてCPU71に通知する装置であり、例えばボタン及びタッチパネル等が用いられる。出力ユーザの指示が音声で行われる場合、入力ユニット78としてマイクが用いられることがある。また、メモリカードのデータを読み書きするカードスロットやUSB(Universal Serial Bus)ポートのように、データの入出力を行う入出力装置も入力ユニット78の一例である。
出力ユニット79は、CPU71によって処理された情報を報知する装置であり、例えば液晶ディスプレイ及び有機ELディスプレイが用いられる。情報を音声で報知する場合には、出力ユニット79としてスピーカーが用いられることがある。
画像形成ユニット80は、CPU71の指示に従って、ファイルの内容を記録媒体に印字するユニットである。画像形成ユニット80における印字方式はどのような方式であってもよく、例えば電子写真方式であっても、インクジェット方式であってもよい。
課金ユニット81は、出力装置30で出力するファイルが有料のファイルである場合に、出力ユーザから料金を徴収し、支払いが行われたことをCPU71に通知する装置である。課金ユニット81は、例えば、電子マネー、クレジットカード、バーコードを用いた電子決済、現金、及びプリペイドカードの少なくとも1つの料金の支払い方法に対応する。
なお、出力装置30のI/O75に接続されるユニットは、図8に示したユニットに限定されない。出力装置30におけるファイルの出力方法に応じて、必要なユニットが接続される。また、出力装置30はユーザに各種サービスを提供するため、例えばファクシミリ機能、スキャン機能、及びコピー機能といった画像の形成に関する複数の機能を備えていてもよい。
出力装置30がファクシミリ機能を備える場合、I/O75には、図示しないファクシミリ回線を通じて他のファクシミリ装置との間でファクシミリ通信を行うファクシミリユニットが接続される。出力装置30がスキャン機能を備える場合、I/O75には、CPU71の指示に従って、例えばプラテンガラスに置かれた原稿の内容を光学的に読み取り、原稿の内容を画像データに変換するスキャンユニットが接続される。出力装置30がコピー機能を備える場合、I/O75には上述したスキャンユニットが接続され、CPU71は、スキャンユニットで読み取った原稿の画像データを画像形成ユニット80で記録媒体に印字する。
次に、出力ユーザから有効期限が経過したファイルを要求された場合であっても、出力ユーザに要求されたファイルが出力装置30から提供されるようにファイルを管理するファイル管理装置20の動作について説明する。
図9は、登録ユーザが操作するユーザ端末10からファイルを受け付けた場合に、ファイル管理装置20のCPU61によって実行される登録処理の流れの一例を示すフローチャートである。また、図10は、本実施の形態に係る情報の流れを示したシーケンス図の一例である。登録処理を規定するファイル管理プログラムは、例えばファイル管理装置20のROM62に予め記憶されている。ファイル管理装置20のCPU61は、ROM62に記憶されるファイル管理プログラムを読み込み、登録処理を実行する。
ユーザ端末10からファイルを受け付けた場合(図10:F1)、CPU61は登録処理を実行するが、まず、ステップS10において、CPU61は、受け付けたファイルに対する識別情報を生成する。本実施の形態に係る識別情報には文字が用いられているが、登録されたファイルが一意に特定されるのであれば、識別情報はどのような形式で表されてもよい。したがって、CPU61は識別情報を画像で表してもよい。
図11は、画像を用いた識別情報の例を示す図である。図11(A)は画像にバーコードを用いた例であり、バーコードを読み取ることでファイルに対して設定した識別情報が得られるようになっている。
また、図11(B)は識別情報を表す画像として、受け付けたファイルの内容を縮小して作成したサムネイル画像を用いた例である。公知の画像認識技術を用いれば、サムネイル画像で表されるファイルの内容が読み取れるため、ファイルのサムネイル画像をそのまま識別情報としてもよいが、CPU61はサムネイル画像を生成する場合、ファイルに対して設定した識別情報がサムネイル画像と重畳して表示されるようにサムネイル画像を加工する。
元のファイルの内容と異なるように、サムネイル画像に加工を加えることで、登録ユーザが他のユーザにファイルを利用してもらうためサムネイル画像を公開したとしても、ファイルの内容そのものが公開されないようになる。したがって、サムネイル画像に加工を加えることなくファイルの識別情報として公開した場合よりも、ファイルの不正な2次利用が抑制されることになる。
なお、CPU61はサムネイル画像を生成する場合、ファイルの識別情報の他にファイルの有効期限等、他の情報を表示してもよい。
ステップS20において、CPU61は、受け付けたファイルに対して有効期限を設定する。
ステップS30において、CPU61は、受け付けたファイルに対する暗号鍵を生成する。
ステップS40において、CPU61は、受け付けたファイルをファイルDB27に記憶し、ファイルDB27におけるファイルのディレクトリ情報を一時的にRAM63に記憶する。
ステップS50において、CPU61は、ステップS10で生成した識別情報と、ステップS20で設定したファイルの有効期限と、ステップS30で生成した暗号鍵と、ステップS40でファイルDB27に記憶したファイルのディレクトリ情報を用いて、受け付けたファイルの登録情報29を生成する。そして、CPU61は、生成した登録情報29をファイル管理DB28に記憶する。
ステップS60において、CPU61は通信ユニット67を制御して、ステップS10で生成した識別情報をファイルの送信元のユーザ端末10に送信する(図10:F2)。
ファイル管理装置20から識別情報を受け取った登録ユーザは、登録したファイルをシェア利用するため、既に説明したように、例えばSNSに識別情報等を投稿して識別情報等を公開する。
なお、ファイル管理装置20で文字またはバーコードで表された識別情報が生成された場合、登録ユーザは他のユーザにファイルのシェア利用を促すため、例えばファイルのサムネイル画像のように、シェア利用するファイルの概要がわかるような紹介情報を別途作成する必要がある。しかしながら、ファイル管理装置20で識別情報としてサムネイル画像が生成された場合、サムネイル画像にはファイルの内容やファイルの識別情報及び有効期限といったファイルの概要が含まれるため、当該サムネイル画像をSNSに投稿するだけで、シェア利用するファイルの識別情報を含むファイルの概要が公開されることになる。
既に説明したように、公開されたファイルの識別情報等を見て、ファイルの内容に興味を持ち、ファイルを出力したいと思った出力ユーザは店舗40に出かけ、所望するファイルの識別情報を出力装置30に入力すればよいが、中には様々な事情により、ファイルの有効期限までに店舗40に出かけられない出力ユーザも存在する。
ファイルの有効期限が経過した場合、ファイル管理装置20からファイルが削除されてしまうため、ファイルの有効期限までに店舗40に出かけられない出力ユーザは所望するファイルの有効期限内に、公開されたファイルの識別情報をユーザ端末10に入力して、所望するファイルの識別情報をファイル管理装置20に送信する(図10:F5)。
図12は、ファイルの有効期限が経過した後でも出力装置30からファイルが出力されるように申請する申請画面15Aの一例を示す図である。申請画面15Aは出力ユーザの指示に従い、ユーザ端末10の出力ユニット59に表示される。出力ユーザは、例えばキーボードを押下して申請画面15Aにファイルの識別情報を入力して、「申請する」ボタンを押下する。「申請する」ボタンを押下することで、申請画面15Aに入力したファイルの識別情報がファイル管理装置20に送信される。
なお、ファイルの識別情報に画像が用いられている場合には、図13に示すような申請画面15Bが用いられる。出力ユーザが所望するファイルの識別情報を表す画像を選択して申請画面15Bの上に移動する「ドロップ」と呼ばれる操作を行うか、または「参照」ボタンを押下して、所望するファイルの識別情報を表す画像を選択することで、申請画面15Bに識別情報が入力される。識別情報が文字で生成されている場合には、出力ユーザは識別情報を参照しながら申請画面15Aに文字を入力する必要があるため、文字の入力ミスが発生することがある。しかしながら、識別情報が画像で生成されている場合には、画像を選択するだけで申請画面15Bに識別情報が入力されるため、識別情報が文字で生成されている場合と比較して、識別情報の入力ミスが抑制される。
一方、識別情報が文字で生成されている場合、出力ユーザは識別情報を用紙等に転記したり、暗記したりすることができるが、識別情報が画像(特にバーコード)で生成されている場合、画像から識別情報を把握することが困難な場合があるため、ファイル管理装置20から受信した画像そのものがないと申請画面15Bに識別情報を入力できない状況が発生することがある。
図14は、出力ユーザが操作するユーザ端末10から識別情報を受け付けた場合に、ファイル管理装置20のCPU61によって実行される暗号化処理の流れの一例を示すフローチャートである。
暗号化処理を規定するファイル管理プログラムは、例えばファイル管理装置20のROM62に予め記憶されている。ファイル管理装置20のCPU61は、ROM62に記憶されるファイル管理プログラムを読み込み、暗号化処理を実行する。
ステップS100において、CPU61は、ユーザ端末10から受け付けた識別情報が設定されているファイルの登録情報29をファイル管理DB28から取得する。説明の便宜上、受け付けた識別情報が設定されているファイルの登録情報29を「対象登録情報29」ということにする。更に、CPU61は取得した対象登録情報29のファイル情報を参照して、ファイルDB27から識別情報に対応したファイルを取得する。
ステップS110において、CPU61は、受け付けた識別情報に対応した暗号鍵を対象登録情報29から取得する。
ステップS120において、CPU61は、ステップS110で取得した暗号鍵を用いて、ステップS100で取得したファイルを暗号化し、識別情報に対応したファイルの暗号ファイルを生成する。暗号鍵を用いたファイルの暗号化には、例えばDES(Data Encryption Standard)のような公知の暗号化手法が用いられる。
ステップS130において、CPU61は通信ユニット67を制御して、ステップS120で生成した識別情報に対応したファイルの暗号ファイルを、識別情報の送信元のユーザ端末10に送信する(図10:F6)。
これにより、ファイルの有効期限内に出力装置30でファイルを出力することができない出力ユーザは、所望するファイルの暗号ファイルを取得することになる。
CPU61は、ステップS100で受け付けた識別情報が設定されているファイルの登録情報29が存在しない場合、識別情報に対応したファイルの有効期限が経過したためファイルの登録情報29が削除されたものとして取り扱う。この場合、CPU61は、要求されたファイルの有効期限が経過しているため暗号ファイルが送信できないことを出力ユーザに知らせる通知を、識別情報の送信元のユーザ端末10に送信する。
なお、CPU61は、生成した暗号ファイルはファイルDB27に記憶することなく削除する。これにより、例えば暗号ファイルの生成元となったファイルの有効期限が経過するまで暗号ファイルをファイルDB27に記憶しておく場合よりも、ファイルDB27が構築される記憶装置の空き容量が増加することになる。
また、CPU61は、ステップS120で暗号ファイルを生成する代わりに、図9に示した登録処理の中で予め暗号ファイルを生成してファイルDB27に記憶し、ファイルDB27における暗号ファイルの記憶場所を示したファイル情報を登録情報29に記憶していてもよい。この場合、ユーザ端末10から識別情報を受け付ける度に暗号ファイルを生成する必要がなくなるが、ファイルの有効期限が経過するまで暗号ファイルもファイルDB27に記憶されることになる。したがって、図14に示す暗号化処理のステップS120で暗号ファイルを生成する場合よりも、ファイルDB27が構築される記憶装置の空き容量が減少する。
その上、必ずしもファイルの有効期限内に店舗40に出かけられないユーザがいるとは限らないため、ファイルDB27に記憶した暗号ファイルが1度も利用されないこともある。したがって、ファイルDB27が構築される記憶装置の記憶容量が無駄に消費される場合がある。
後述するように、出力ユーザが出力装置30で有効期限が経過したファイルを出力するためには、ファイルの識別情報と、当該識別情報に対応したファイルの暗号ファイルが必要になる。
したがって、ユーザ端末10でファイルの識別情報と暗号ファイルが別々に記憶されると、例えば暗号ファイルがユーザ端末10に複数記憶されている場合、どの暗号ファイルがどの識別情報と対応している暗号ファイルなのかわからなくなってしまうことがある。
そのため、CPU61は、ステップS130で暗号ファイルをユーザ端末10に送信する場合、ユーザ端末10から受け付けた識別情報と、生成した暗号ファイルを対応付けてユーザ端末10に送信するようにしてもよい。具体的には、CPU61は、ユーザ端末10から受け付けた識別情報と生成した暗号ファイルを組み合わせて一緒にユーザ端末10に送信する。これにより、ユーザ端末10では識別情報と暗号ファイルが対応付けられて記憶されることになる。
この他、CPU61は、暗号ファイルのファイル名に識別情報を含めることで、識別情報と暗号ファイルを対応付けるようにしてもよい。
所望するファイルの暗号ファイルを取得した出力ユーザは、ユーザ端末10の一例であるスマートフォン、またはメモリカード等の半導体メモリに暗号ファイルを記憶して、ファイルの有効期限が経過した後に店舗40に出かけ、出力装置30からファイルの出力を行う。
なお、識別情報が画像で表されている場合には、ユーザ端末10や半導体メモリに識別情報を表す画像も記憶しておく。識別情報が文字で表されている場合には、例えば出力ユーザは識別情報を用紙等に転記しておけば、ユーザ端末10や半導体メモリに識別情報を記憶しておく必要はない。
有効期限が経過したファイルを出力する出力ユーザは、まず当該ファイルの識別情報を出力装置30に入力する。
図15は、出力装置30の出力ユニット79に表示される、識別情報が文字で表されている場合に対応した識別情報の入力画面36Aの例を示す図である。例えば出力ユニット79にはタッチパネルが重畳して配置されているため、出力ユーザは入力画面36Aに備えられたキーボードを押下して所望するファイルの識別情報を出力装置30に入力し、「確認」ボタンを押下することで、ファイル管理装置20に送信される識別情報が確定する。
なお、出力装置30がマイクと音声認識機能を備えている場合、出力ユーザは音声で識別情報を出力装置30に入力してもよい。
一方、図16は、識別情報が画像で表されている場合に対応した、識別情報の入力画面36Bの例を示す図である。入力画面36Bには、メモリカードによる識別情報の入力、ユーザ端末10との赤外線通信を用いた識別情報の入力、及びユーザ端末10との無線LANやブルートゥース(登録商標)を用いた無線通信による識別情報の入力に対応したボタンが備えられている。また、入力画面36Bには、カメラを用いた画像の読み取りによる識別情報の入力、USBメモリによる識別情報の入力、及びCD(Compact Disc)−ROMやDVD(Digital Versatile Disc)−ROM等の光ディスクによる識別情報の入力に対応したボタンが備えられている。
カメラを用いた画像の読み取りとは、例えばユーザ端末10の出力ユニット79に識別情報を表す画像を表示し、出力装置30に備えられているカメラに、出力ユニット79に表示した識別情報を表す画像を読み取らせることで識別情報を入力する形態である。特に識別情報を表す画像がバーコードである場合、カメラを用いた画像の読み取りによって、出力装置30の内部で識別情報を文字に変換してもよい。
出力ユーザが入力画面36Bの何れかのボタンを押下して、自分に適した認証情報の入力形態を選択すると、選択した識別情報の入力形態によって、出力装置30に認証情報が読み込まれる。
例えば出力ユーザが出力装置30のカードスロットに識別情報を表す画像を記憶したメモリカードを挿入して、メモリカードによる識別情報の入力を選択した場合、メモリカードから識別情報を表す画像が読み込まれる。
図17は、出力装置30に読み込まれた識別情報を表す画像を選択する選択画面36Cの例を示す図である。ユーザ端末10やメモリカード等に記憶されている識別情報を表す画像が出力装置30に読み込まれると、読み込まれた画像が選択画面36Cの一覧表示領域37に表示される。出力ユーザが一覧表示領域37から所望するファイルの識別情報に対応した画像を選択すると、選択した画像が選択表示領域38に表示され、出力ユーザが「これで決定」ボタンを押下することで、ファイル管理装置20に送信される画像が確定する。
図18は、出力ユーザが出力装置30に所望するファイルの識別情報を入力した場合に、出力装置30のCPU71によって実行される出力処理の流れの一例を示すフローチャートである。
出力処理を規定する出力プログラムは、例えば出力装置30のROM72に予め記憶されている。出力装置30のCPU71は、ROM72に記憶される出力プログラムを読み込み、出力処理を実行する。
ステップS200において、CPU71は通信ユニット77を制御して、入力された識別情報をファイル管理装置20に送信する(図10:F7)。識別情報が文字で入力された場合には、CPU71は識別情報を文字データとして送信し、識別情報が画像で入力された場合には、CPU71は入力された画像の画像データを識別情報として送信する。
後述するように、識別情報を受け付けたファイル管理装置20は配信処理を実行して、出力装置30に応答を通知する(図10:F8)。
出力ユーザが有効期限の経過したファイルの識別情報を出力装置30に入力した場合には、ファイル管理装置20からの応答として識別情報に対応した暗号鍵が通知される。一方、出力ユーザが有効期限内のファイルの識別情報を出力装置30に入力した場合には、ファイル管理装置20からの応答として識別情報に対応したファイルが通知される。
したがって、ステップS220において、CPU71は、ファイル管理装置20から識別情報に対する応答を受け付けたか否かを判定する。応答を受け付けていない場合には、ステップS210の判定処理を繰り返し実行して応答の通知を監視する。応答を受け付けた場合には、応答をRAM73に記憶してステップS220に移行する。
ステップS220において、CPU71は受け付けた応答がファイルであるか否かを判定する。受け付けた応答がファイルである場合にはステップS290に移行し、ステップS290において、CPU71は画像形成ユニット80を制御して、受信したファイルを記録媒体に印字してファイルの出力を行った後、図18に示す出力処理を終了する。なお、CPU71はファイルを出力した場合、RAM73からファイルを削除する。出力したファイルをRAM73から削除することで、ファイルを出力した後もRAM73にファイルが記憶され続ける場合と比較して、出力装置30を通じた第3者へのファイルの漏えいが抑制されることになる。
一方、受け付けた応答がファイルでない場合、すなわち、暗号鍵を受け付けた場合には、ステップS230に移行する。
なお、受け付けた応答の種別は、応答に含まれる応答種別を参照することで得られる。例えばファイルであれば“1”、暗号鍵であれば“2”というように、予め定められた値が応答種別に設定されている。
出力装置30はファイル管理装置20から暗号鍵を受け付けたとしても、暗号鍵を用いて復号する暗号ファイルを所有していない。したがって、暗号鍵を受信しただけではファイルを出力することができないため、ステップS230において、CPU71は、出力ユーザに暗号ファイルの入力を促す報知を行い、出力ユーザに暗号ファイルの要求を行う。具体的には、CPU71は出力ユニット79を制御して、出力ユニット79に暗号ファイルの入力を促す画面を表示したり、音声で暗号ファイルを入力するように要求したりする。
暗号ファイルの入力を促す報知によって、出力ユーザは事前に取得していた暗号ファイルを出力装置30に入力する。入力された暗号ファイルは、出力装置30のRAM73に記憶される。
図19は、暗号ファイルを受け付ける受付画面39の一例を示す図である。暗号ファイルの受付画面39には、暗号ファイルを入力するための入力ボタン39Aが存在する。
入力ボタン39Aが押下された場合、図16の識別情報の入力画面36Bに示したような各種入力形態に対応したボタンが受付画面39に表示される。すなわち、暗号ファイルの入力には、暗号ファイルが記憶されたユーザ端末10と出力装置30を無線で接続して、出力装置30に暗号ファイルを入力する形態や、暗号ファイルが記憶された半導体メモリを出力装置30に装着して、出力装置30に暗号ファイルを入力する形態が用いられる。しかしながら、暗号ファイルの内容を画面に表示しても意味のある情報は表示されないため、カメラを用いた暗号ファイルの読み取りには対応しない。
出力装置30に暗号ファイルが入力されると、ファイルの出力を続行する続行指示がCPU71に通知される。
一方、出力ユーザの中には、暗号ファイルを所持していなかったり、どの暗号ファイルが出力装置30に入力した識別情報に対応するファイルの暗号ファイルかわからなくなってしまったりするユーザが存在する。したがって、暗号ファイルの受付画面39には、ファイルの出力を中止する中止指示を出力装置30に通知する確認ボタン39Bも配置されている。
したがって、出力ユーザはファイルの出力を続行する場合には入力ボタン39Aを押下した後、暗号ファイルを出力装置30に入力し、ファイルの出力を中止する場合には確認ボタン39Bを押下する。
ステップS240において、CPU71は、出力ユーザからファイル出力に関する指示を受け付けたか否かを判定する。ファイル出力に関する指示を受け付けていない場合には、ステップS240の判定処理を繰り返し実行して、出力ユーザから指示が行われるまで待機する。一方、ファイル出力に関する指示を受け付けた場合にはステップS250に移行する。
ステップS250において、CPU71は、受け付けた指示が中止指示であるか否かを判定する。中止指示を受け付けた場合にはステップS320に移行し、ステップS320において、CPU71は、RAM73に記憶されているファイル管理装置20から受け付けた暗号鍵を削除して、図18に示す出力処理を終了する。ファイルの出力が中止された場合にはRAM73から暗号鍵が削除されるため、ファイルの出力を中止した後もRAM73に暗号鍵を記憶し続ける場合と比較して、出力装置30を通じた第3者への暗号鍵の漏えいが抑制されることになる。
一方、ステップS250の判定処理において、受け付けた指示が中止指示ではないと判定された場合、すなわち、受け付けた指示が続行指示であると判定された場合、ステップS260に移行する。
ステップS260において、CPU71は、ファイル管理装置20から受け付けた暗号鍵を用いて、続行指示と共に受け付けた暗号ファイルの復号を行い、暗号鍵で暗号化される前の元のファイルを取得する。当然のことながら、入力した識別情報と対応していない別のファイルの暗号ファイルを出力ユーザが誤って入力してしまった場合には、暗号ファイルの復号に失敗することになる。
したがって、ステップS270において、CPU71は、暗号ファイルの復号に成功したか否かを判定する。暗号ファイルの復号に失敗した場合には、ステップS300に移行する。
ステップS300において、CPU71は出力ユニット79を制御して、暗号ファイルの復号に失敗したことを通知する画面を出力ユニット79に表示させ、出力ユーザにファイルの出力を終了することを通知する。そして、ステップS310において、CPU71は情報の漏えいを抑制するため、RAM73に記憶されているファイル管理装置20から受け付けた暗号鍵、及び出力ユーザから受け付けた暗号ファイルをRAM73から削除して、図18に示す出力処理を終了する。
一方、ステップS270の判定処理で暗号ファイルの復号に成功したと判定された場合には、ステップS280に移行する。
ステップS280において、CPU71は情報の漏えいを抑制するため、RAM73に記憶されているファイル管理装置20から受け付けた暗号鍵、及び出力ユーザから受け付けた暗号ファイルをRAM73から削除する。
そして、ステップS290において、CPU71は画像形成ユニット80を制御して、暗号ファイルから復号したファイルを記録媒体に印字してファイルの出力を行った後、RAM73からファイルを削除して、図18に示す出力処理を終了する。
なお、ファイルが有料に設定されている場合、CPU71は、料金の支払いが完了した後に通知される支払い完了通知が課金ユニット81から通知されていることを確認してから、ステップS290でファイルを出力するようにする。
このように出力装置30では、出力ユーザが識別情報に対応したファイルの有効期限が経過しているのか、それとも有効期限内なのかを意識することなく、出力装置30に識別情報を入力するという共通の操作を行うことで、ファイルの出力が行われる。出力装置30は、出力ユーザが入力した識別情報に対するファイル管理装置20からの応答種別によって、ファイルを出力するまでに行う処理を切り換えるが、出力装置30がファイルを出力するために必要な操作を出力ユーザに報知しながら処理を進めるため、出力ユーザが出力装置30の指示に従って操作を行えば、識別情報に対応したファイルが出力されることになる。
次に、出力装置30から識別情報を受け付けたファイル管理装置20の動作について説明する。
図20は、出力装置30から識別情報を受け付けた場合に、ファイル管理装置20のCPU61によって実行される配信処理の流れの一例を示すフローチャートである。
配信処理を規定するファイル管理プログラムは、例えばファイル管理装置20のROM62に予め記憶されている。ファイル管理装置20のCPU61は、ROM62に記憶されるファイル管理プログラムを読み込み、配信処理を実行する。
ステップS400において、CPU61は、出力装置30から受け付けた識別情報が設定されているファイルの登録情報29、すなわち、対象登録情報29をファイル管理DB28から取得する。更に、CPU61は取得した対象登録情報29のファイル情報を参照して、ファイルDB27から識別情報に対応したファイルの有効期限を取得する。
なお、識別情報が画像で表されている場合には、CPU61は公知の画像認識手法を用いて、画像から識別情報を取得する。
ステップS410において、CPU61は現在の日時情報を取得して、ステップS400で取得したファイルの有効期限が経過しているか否かを判定する。CPU61は、例えばCPU61に内蔵されるカレンダ機能を用いて日時情報を取得するが、通信回線2に接続される外部装置の一例である時刻サーバから日時情報を取得してもよい。
ファイルの有効期限が経過している場合にはステップS420に移行し、ステップS420において、CPU61は、対象登録情報29から暗号鍵を取得する。
そして、ステップS430において、CPU61は通信ユニット67を制御して、ステップS420で取得した暗号鍵を識別情報の送信元の出力装置30に送信する(図10:F8)。
一方、ファイルの有効期限が経過していない場合にはステップS440に移行し、ステップS440において、CPU61は、取得した対象登録情報29のファイル情報を参照して、ファイルDB27から識別情報に対応したファイルを取得する。
ステップS450において、CPU61は通信ユニット67を制御して、ステップS440で取得したファイルを識別情報の送信元の出力装置30に送信する(図2:F4)。以上により図20に示した配信処理を終了する。
このように本実施の形態に係るファイル管理システム1によれば、ファイル管理装置20がユーザ端末10から有効期限が経過していないファイルの識別情報を受け付けた場合、識別情報に対応したファイルの暗号ファイルを生成してユーザ端末10に送信する。ファイルの有効期限が経過すればファイル管理装置20で管理されるファイルは削除されるが、これによりファイルの有効期限が経過した後も、ユーザ端末10にファイルから生成された暗号ファイルが記憶されることになる。
したがって、有効期限が経過したファイルの識別情報が出力装置30に入力された場合、ファイル管理装置20が当該ファイルの暗号鍵を出力装置30に送信することで、出力装置30で出力ユーザが所有する暗号ファイルが暗号鍵で復号され、ファイルの有効期限が経過した後であっても、出力ユーザが所望するファイルが出力装置30から出力される。
暗号ファイルはユーザ端末10に記憶されるため、ファイル管理装置20で暗号ファイルを記憶しておく必要がない。その代わり、ファイル管理装置20は、ファイルの有効期限内に店舗40に出かけられない出力ユーザの存在に備えて暗号鍵を記憶しておく必要がある。しかし、暗号鍵はファイルや暗号ファイルに比べて無視できる程度の容量しかないため、ファイル管理システム1は、ファイル管理装置20における記憶装置の空き容量を逼迫させることなく、有効期限が経過したファイルの出力に対応できるようになる。
なお、図20に示したファイル管理装置20の配信処理では、出力装置30から受け付けた識別情報に対応したファイルの有効期限が経過している場合、当該ファイルの暗号鍵を出力装置30に送信したが、既に説明したように、出力ユーザの中にはファイルの出力を中止する出力ユーザが存在する。
この場合、図18のステップS320で暗号鍵は出力装置30から削除されるが、送信する必要のない暗号鍵が短期間であってもファイル管理装置20の外部に出ることになる。暗号ファイルは出力ユーザが所有しているため、暗号鍵が漏えいすると出力装置30以外で暗号ファイルの復号が行われる可能性があり、復元されたファイルが登録ユーザの許可なく不正に2次利用されてしまう恐れがある。また暗号鍵によって復号されるファイルが有料のファイルであれば、金銭的な被害も発生することになる。
したがって、以降では、必要時にしかファイル管理装置20の外部に暗号鍵を送信しないファイル管理システム1の動作について説明する。
図21は、出力装置30から識別情報を受け付けた場合に、ファイル管理装置20のCPU61によって実行される配信処理の流れの変形例を示すフローチャートである。
図21に示す配信処理が図20に示した配信処理と異なる点は、ステップS412〜S416の処理が追加された点であり、その他の処理は図20に示した配信処理と同じである。したがって、ステップS412〜S416の処理について説明する。
ステップS410の判定処理で、ステップS400で取得したファイルの有効期限が経過していると判定された場合にはステップS412が実行される。
ステップS412において、CPU61は通信ユニット67を制御して、識別情報に対応したファイルの有効期限が経過していることを表す期限切れ通知を、識別情報の送信元の出力装置30に送信する。
出力装置30ではファイル管理装置20から期限切れ通知を受信したことで、要求したファイルの有効期限が経過していることが出力ユーザに報知され、出力装置30の出力ユニット79には、図19に示した暗号ファイルの受付画面39が表示される。出力ユーザが入力ボタン39Aを押下して出力装置30に暗号ファイルを入力した場合には、ファイル管理装置20に続行指示が送信され、出力ユーザが確認ボタン39Bを押下した場合には、ファイル管理装置20に中止指示が送信される。
したがって、ステップS414において、CPU61は、出力装置30から続行指示または中止指示の何れかの指示を受け付けたか否かを判定する。何れの指示も受け付けていない場合にはステップS414の判定処理を繰り返し実行して、何れかの指示が送信されるまで待機する。一方、出力装置30から何れかの指示を受け付けた場合にはステップS416に移行する。
ステップS416において、CPU61は、出力装置30から受け付けた指示が中止指示であるか否かを判定する。受け付けた指示が中止指示でない場合、すなわち、続行指示を受け付けた場合には、出力装置30に復号の対象となる暗号ファイルが存在するため、ステップS420に移行し、ステップS420以降の処理で出力装置30に暗号鍵を送信する。
一方、ステップS416の判定処理で出力装置30から受け付けた指示が中止指示であると判定された場合、出力装置30に暗号鍵を送信することなく、図21に示す配信処理を終了する。すなわち、出力ユーザがファイルの出力を中止した場合には、ファイル管理装置20は出力装置30に暗号鍵を送信しないようにする。
これに対して、図22は、出力ユーザが出力装置30に所望するファイルの識別情報を入力した場合に、出力装置30のCPU71によって実行される出力処理の流れの変形例を示すフローチャートである。図22に示す出力処理は、図21に示したファイル管理装置20の配信処理に対応する出力装置30の出力処理である。
図22に示す出力処理が図18に示した出力処理と異なる点は、ステップS252、及びS254が追加され、ステップS320がステップS330に置き換えられた点であり、その他の処理は図18に示した出力処理と同じである。したがって、ステップS252、S254、及びS330の処理について説明する。
ステップS250の判定処理で、暗号ファイルの受付画面39を通じて出力ユーザから受け付けた指示が中止指示ではなく続行指示と判定された場合、ステップS252が実行される。
ステップS252において、CPU71は通信ユニット77を制御して、出力ユーザから受け付けた続行指示をファイル管理装置20に送信する。
図21で既に説明したように、ファイル管理装置20は出力装置30から続行指示を受け付けた場合、識別情報に対応したファイルの暗号鍵を送信する。したがって、ステップS254において、CPU71は、ファイル管理装置20から暗号鍵を受け付けたか否かを判定する。暗号鍵を受け付けていない場合にはステップS254の判定処理を繰り返し実行して、暗号鍵を受け付けるまで待機する。
一方、暗号鍵を受け付けた場合にはステップS260に移行し、CPU71は受け付けた暗号鍵で暗号ファイルの復号を行う。
また、ステップS250の判定処理で、暗号ファイルの受付画面39を通じて出力ユーザから受け付けた指示が中止指示であると判定された場合、ステップS330に移行する。
ステップS330において、CPU71は通信ユニット77を制御して、出力ユーザから受け付けた中止指示をファイル管理装置20に送信する。これにより、ファイル管理装置20から出力装置30に暗号鍵が送信されないようになるため、送信する必要のない暗号鍵が短期間であってもファイル管理装置20の外部に出ないように制御される。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
本実施の形態では、一例として各処理をソフトウェアで実現する形態について説明したが、図9、図14、図18、図20〜図22に示した各フローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)に実装し、ハードウェアで処理させるようにしてもよい。この場合、各処理をそれぞれソフトウェアで実現した場合と比較して、処理の高速化が図られる。
また、上述した実施の形態では、各プログラムがROMにインストールされている形態を説明したが、これに限定されるものではない。本発明に係る各プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る各プログラムを、CD−ROM、又はDVD−ROM等の光ディスクに記録した形態で提供してもよい。また、本発明に係る各プログラムを、USBメモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。更に、ユーザ端末10、ファイル管理装置20、及び出力装置30は、それぞれ通信回線2を通じて、通信回線2と接続される外部装置から本発明に係る各プログラムを取得するようにしてもよい。