以下、本実施の形態について図面を参照しながら説明する。なお、機能が同じ構成要素及び処理には全図面を通して同じ符合を付与し、重複する説明を省略する。
図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から要求した場合、要求されたファイルを出力装置30に送信する。
登録ユーザから受け付けたファイルをファイル記憶装置に記憶し、出力ユーザが出力装置30からファイルを受け取れるようにすることを「ファイルを登録する」という。
ファイル管理装置20もユーザ端末10と同様に、ファイル管理装置20の管理者とのインターフェースを提供する入出力機能、情報を処理する処理機能、及び通信回線2を通じてデータ通信を行う通信機能を備えた情報機器が用いられる。ファイル管理装置20は複数のユーザ端末10及び複数の出力装置30からの要求を処理する必要があるため、ファイル管理装置20にはユーザ端末10よりも情報の処理性能が高い、例えば「サーバ」や「ワークステーション」と呼ばれるようなコンピュータが用いられる。
このように、ユーザ端末10よりも情報の処理量が多いファイル管理装置20は複数のコンピュータに処理を分散してもよいが、ここでは説明の便宜上、ファイル管理装置20は単体のコンピュータで構築されているものとして説明を行う。また、クラウドコンピューティングサービスを利用してファイル管理装置20を構築してもよい。
出力装置30は例えば公共施設、会社、及び店舗等、街の特定の箇所に設置される装置である。出力装置30が設置される設置場所に制約はないが、ここでは一例として、出力装置30がコンビニエンスストアのように、不特定多数のユーザが事前の許可なく出入りすることができるような店舗に設置されているものとする。
出力装置30もユーザ端末10と同様に、ファイル管理システム1に含まれる台数に制約はなく、M台(Mは1以上の整数)の出力装置30が通信回線2に接続される。個別に出力装置30を表す場合、図1に示すように出力装置30の末尾に符号“-1”~“-M”を付加するが、出力装置30-1~出力装置30-Mを区別して説明する必要のない場合には「出力装置30」のように表記する。
出力装置30はファイル管理装置20と連携して、出力ユーザが要求したファイルを出力する。「ファイルを出力する」とは、ファイルに含まれる情報を認識可能な状態にすることである。ファイルの内容を認識する対象は出力ユーザに限られず情報機器であってもよい。したがって、ファイルの情報を表示装置に表示する形態、用紙等の記録媒体に印字する形態、音声で通知する形態、記憶媒体に記憶する形態、及び通信回線2を介して他の外部装置にファイルを転送する形態は、それぞれファイルの出力例を表す一形態である。
以降では、ファイルには画像が含まれ、出力装置30がファイルによって表される画像を記録媒体に印字することで、ファイルを出力する例について説明する。出力装置30は、本実施の形態に係る情報処理装置の一例である。
図2は、ファイル管理システム1を用いたファイルの提供サービスにおける情報の流れを示したシーケンス図の一例であり、図2を参照しながら、ファイル管理システム1を用いたファイルの提供サービスについて説明する。
まず、登録ユーザはユーザ端末10を操作して、ファイル管理装置20にファイルを送信する(図2:F1)。前述したようにファイルの内容はどのようなものであってもよいが、例えば出力装置30でファイルの内容を記録媒体に印字するような出力動作が行われる場合、登録ユーザが作成したブックカバーやペーパークラフトの印字データがファイル管理装置20に送信される。
登録ユーザからファイルを受け付けたファイル管理装置20は、受け付けたファイルを登録する登録処理を実行する。ファイル管理装置20は、登録処理によってファイルと対応付けた識別情報を生成し、生成した識別情報をファイルの送信元のユーザ端末10に送信し、登録ユーザにファイルの登録が完了したことを通知する(図2:F2)。
識別情報とは、ファイルと一意に対応付けられた識別子のことであり、識別情報を参照することで、ファイル管理装置20に登録された複数のファイルの中から特定のファイルが選択される。この識別情報から特定されるファイルのことを「識別情報に対応したファイル」という。
登録ユーザは、ファイル管理装置20に登録したファイルを他のユーザに利用してもらうため、例えばソーシャルネットワーキングサービス(Social Networking Service:SNS)のような情報の共有手段を用いて、ファイル管理装置20から受信した識別情報を、ファイル管理装置20に登録したファイルがどのような内容を含むファイルなのか、ファイルの概要がわかる紹介情報と共に公開する。以降では、識別情報及び識別情報に対応したファイルの紹介情報を「識別情報等」と表すことがある。
ファイル管理装置20は、登録ユーザが登録したファイルそのものをユーザ端末10に送信する機能を有しないため、識別情報等の公開によってファイル管理装置20に登録されたファイルの存在を知ったユーザの中でファイルの内容に興味を持ち、ファイルを出力したいと思った出力ユーザは出力装置30が設置されている店舗に出かけ、出力したいファイルの識別情報を含む出力要求を出力装置30に入力する。
これにより出力装置30からファイル要求がファイル管理装置20に送信され(図2:F3)、ファイル管理装置20では、登録されたファイルの中から、受け付けた識別情報に対応したファイルを配信する配信処理を実行する。配信処理によって識別情報に対応したファイルがファイル管理装置20から出力装置30に送信されると(図2:F4)、出力装置30では、受け付けたファイルの画像を記録媒体に印字し、出力ユーザに出力する。
なお、ファイルには出力装置30での出力が無料のファイルだけでなく有料のファイルも存在するため、出力装置30で有料のファイルを出力する場合、出力ユーザは所望するファイルに設定された料金の支払いを行う。支払われた料金のデータは例えばファイル管理装置20でファイル毎に管理され、ファイルを登録した登録ユーザの銀行口座等に、ファイルの出力回数に応じた金額が入金される。
ファイル管理装置20に登録されたファイルには、ファイル毎にファイルの有効期限が設定される。ファイル管理装置20に登録されたファイルによってファイル記憶装置の空き容量が逼迫しないように、ファイル管理装置20は、ファイルの有効期限が経過した場合、ファイル記憶装置からファイルを削除する。したがって、図2に示したファイルの提供サービスのシーケンス図は、出力ユーザが所望するファイルの有効期限が経過する前に、出力装置30から出力要求を行う場合のシーケンスを表している。
また、図2では、ファイル管理装置20にファイルを登録した登録ユーザ以外のユーザが出力ユーザとなり、出力装置30でファイルを出力する例を示したが、このように、登録ユーザと出力ユーザが異なるファイルの利用形態を「共同利用」という。なお、ファイルの共同利用は「シェア利用」と呼ばれることもある。
一方で、登録ユーザ自身が出力ユーザとなり出力装置30でファイルを出力する利用形態を「個人利用」という。例えば、登録ユーザが履歴書のように個人的に利用するファイルをファイル管理装置20に登録しておき、立ち寄った店舗の出力装置30で出力するような場合に、ファイルの個人利用が行われる。
個人利用されるファイルは、登録ユーザが個人的に利用することを目的としたファイルであるため、登録ユーザは、個人利用するファイルの識別情報をSNSに公開することはない。
このように登録ユーザは、ファイルを共同利用するだけでなく、個人利用するためにファイルをファイル管理装置20に登録することがある。
登録されたファイルの利用形態が共同利用の場合、複数の出力ユーザがそれぞれ自分の生活圏内にある店舗に設置された出力装置30からファイルを要求することが想定される。したがって、ファイル管理装置20は、利用形態が共同利用のファイルをファイル管理装置20に記憶しておくことが好ましい。
一方、登録されたファイルの利用形態が個人利用の場合、ファイル管理装置20は同じ出力ユーザ(すなわち、登録ユーザ)からしかファイル要求を受け付けることがない。しかも、同じ出力ユーザであれば、生活圏内にある同じ店舗の出力装置30を繰り返し利用する傾向が強い。すなわち、出力ユーザが個人利用を目的としたファイルを何度も出力装置30から出力する場合、当該ファイルはファイル管理装置20に記憶しておくよりも、出力ユーザが利用する出力装置30に記憶しておいた方が、ファイル要求毎にファイル管理装置20から出力装置30にファイルを送信する処理が不要となり、ファイルの出力に要する時間が短縮される。
したがって、ファイル管理装置20はファイルの利用形態が個人利用と特定された場合、当該ファイルをファイルの有効期限が経過する前にファイル管理装置20から削除すると共に、要求されたファイルを出力ユーザが利用した出力装置30に記憶させる。また、ファイル管理装置20は、ファイルの利用形態が共同利用と特定された場合、出力装置30ではなく、ファイル管理装置20で当該ファイルを記憶する。
次に、このようにファイルの利用形態に応じてファイルの記憶場所を切り換えるファイル管理システム1に含まれる各装置の機能構成について説明する。
図3は、ユーザ端末10の機能構成例を示すブロック図である。図3に示すように、ユーザ端末10はユーザインターフェース(User Interface:UI)部11、通信部12、及び制御部13を含む。
UI部11は、ユーザからの指示を受け付けると共に、例えば指示に対するファイル管理装置20からの応答といった各種情報をユーザに通知する。具体的には、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、及び制御部27の各機能部と、ファイルデータベース(Database:DB)28A、ファイル管理DB28B、及び履歴DB28Cを含む。
UI部21は、ファイル管理装置20を操作する管理者からの指示を受け付けるインターフェースを提供すると共に、例えばファイル管理装置20におけるファイルの登録状況や配信状況に関する情報等を管理者に通知する。
特定部22は、登録ユーザによって登録されたファイルの利用形態が個人利用及び共同利用の何れであるかを特定する。
容量取得部23は、ファイル管理システム1に含まれる各々の出力装置30における記憶装置の空き容量を取得して、記憶装置の利用状況を把握する。すなわち、容量取得部23は本実施の形態に係る取得部の一例である。
通信部24は、通信回線2を通じてファイル管理システム1に含まれる他の装置や、ファイル管理システム1に含まれない他の装置との間で各種情報を送受信する。
有効期限判定部25は、例えば予め定めた間隔でファイル記憶装置に記憶される各々のファイルの有効期限を参照し、有効期限切れとなったファイルを制御部27に通知する。
ファイル管理部26は、ファイル記憶装置におけるファイルの記憶及び削除を行うと共に、ファイルの管理に用いられる管理情報であるファイル管理情報及び履歴情報の更新を行う。
制御部27は、管理者の指示及び通信回線2を通じて受け付けた情報の内容に従って上述した各機能部を制御し、ファイル管理装置20で状況に応じた処理が行われるようにファイル管理装置20の動作を統括する。制御部27は、有効期限判定部25から有効期限切れとなったファイルの通知を受け付けた場合、該当するファイルを削除する。
ファイルDB28Aは、登録ユーザが登録したファイルを記憶するファイル記憶装置に構築される記憶機構である。ファイル記憶装置はファイル管理装置20で用いられる記憶装置である。ファイルDB28Aへのファイルの記憶及びファイルDB28Aからのファイルの削除は、ファイル管理部26が制御部27の制御に従って行う。
ファイル管理DB28Bは、ファイル管理装置20に登録されたファイルを管理するファイル管理テーブル4を記憶する記憶機構であり、例えばファイル記憶装置に構築される。
図5は、ファイル管理DB28Bで管理されるファイル管理テーブル4の一例を示す図である。
ファイル管理テーブル4は、ファイル管理装置20に登録された各々のファイルの識別情報、格納情報、有効期限、出力回数、及び利用形態が設定されたファイル管理情報を、登録されたファイル毎に管理するテーブルである。
ファイル管理情報の識別情報には、ファイルに対応付けられた識別情報が設定される。上述したように、登録されたファイルが識別情報によって一意に特定されるのであれば、識別情報はどのような形式で表されてもよいが、図5では識別情報が5桁の数字で表されている例を示している。
ファイル管理情報の格納情報には、登録されたファイルの記憶場所がファイル名と共に設定される。ファイル管理部26は、ファイル管理情報の格納情報を参照して、ファイルDB28Aからファイルを取得したり削除したりする。
ファイル管理情報の有効期限には、ファイルの有効期限が設定される。ファイルの有効期限は予め決められており、例えばユーザ端末10からファイルを受け付けた時間から1週間後の時間が設定される。ファイルの有効期限はファイル管理装置20の管理者によって変更可能であり、例えば受け付けたファイルの種類や登録ユーザに応じて、異なる有効期限を設定するようにしてもよい。有効期限判定部25はファイル管理情報の有効期限を参照することで、各々のファイルの有効期限切れを判定する。
ファイル管理情報の出力回数には、ファイルの有効期限内において出力装置30で出力されたファイルの累計出力回数が設定される。
ファイル管理情報の利用形態には、特定部22によって特定されたファイルの利用形態が設定される。制御部27は、例えばファイル管理情報の利用形態を参照して、ファイルの記憶場所を切り換える制御を行う。
なお、図5に示したファイル管理テーブル4で管理されるファイル管理情報の項目は一例であり、例えばファイルを登録した登録ユーザを一意に識別するために登録ユーザに割り当てたユーザID(Identification:ID)といった他の項目をファイル管理情報に設定してもよい。
履歴DB28Cは、登録されたファイルに対する出力ユーザの要求実績を記憶する記憶機構であり、例えばファイル記憶装置に構築される。
図6は、履歴DB28Cに記憶される履歴テーブル6の一例を示す図である。
履歴テーブル6は、出力ユーザが出力装置30から行ったファイルに関する要求内容を記録した履歴情報を、出力ユーザの要求毎に管理するテーブルである。履歴情報には、例えば識別情報、装置ID、受付日時、及び要求内容が含まれる。
履歴情報の識別情報には、出力ユーザが要求の対象に指定したファイルの識別情報が設定される。
履歴情報の装置IDには、出力ユーザが操作した出力装置30の装置IDが設定される。各々の出力装置30には、出力装置30を一意に識別する装置IDが予め割り当てられており、制御部27は、出力ユーザが出力装置30からファイルに関する要求を行った際に出力装置30から通知される装置IDを、履歴情報の装置IDに設定する。
履歴情報の受付日時には、出力装置30からファイルに関する要求を受け付けた日時が設定される。
履歴情報の要求内容には、出力装置30から受け付けたファイルに関する要求の内容が設定される。ファイルに関する要求は、例えば指定したファイルを出力装置30で出力する「出力」、指定したファイルがファイル管理装置20に登録されているか調べる「検索」、及び指定したファイルの内容を問い合わせる「問い合わせ」等、出力装置30での出力ユーザの操作内容に応じた要求の種類を表す。
このように履歴情報の要求内容には出力装置30における出力ユーザの操作の内容が反映されることから、要求内容は本実施の形態に係る操作履歴の一例である。履歴情報は出力ユーザによってファイルに関する要求が行われる毎に、ファイル管理部26によって履歴テーブル6に記録される。なお、図5に示した履歴テーブル6で管理される履歴情報の項目は一例であり、他の項目をファイル管理情報に設定してもよい。
図7は、出力装置30の機能構成例を示すブロック図である。図7に示すように、出力装置30はUI部31、記憶先判定部32、ファイル要求部33、通信部34、出力部35、ファイル管理部36、及び制御部37の各機能部と、ファイルDB38A及びファイル管理DB38Bを含む。
UI部31は、出力装置30を操作する出力ユーザからの指示を受け付けるインターフェースを提供すると共に、例えば出力ユーザの要求内容に応じた情報等を通知する。
記憶先判定部32は、ファイル管理装置20からファイルを受信した場合、受信したファイルを自装置のファイルDB38Aで記憶するのか、それとも出力装置30では記憶しないのかを判定する。
ファイル要求部33は、出力ユーザが行うファイルに関する要求がファイルの出力である場合で、かつ、要求されたファイルが、記憶先判定部32によってファイル管理装置20に記憶されていると判定された場合、ファイル管理装置20に対してファイルの要求を行う。以降では、出力ユーザによって要求されたファイルを「要求ファイル」ということがある。
通信部34は、通信回線2を通じてファイル管理システム1に含まれる他の装置や、ファイル管理システム1に含まれない他の装置との間で各種情報を送受信する。具体的には、通信部34は、例えば出力ユーザが行うファイルに関する要求をファイル管理装置20に送信すると共に、ファイル管理装置20から送信されたファイルを受信する。
出力部35は、出力ユーザが要求したファイルを出力する。本実施の形態の場合、出力部35はファイルによって表される画像を記録媒体に印字する。
ファイル管理部36は、ファイルの記憶及び削除を行うと共に、ファイルの管理に用いられるファイル情報をファイルの記憶及び削除にあわせて更新を行う。
制御部37は、出力ユーザの指示及び通信回線2を通じて受け付けた情報の内容に従って上述した各機能部を制御し、出力装置30で状況に応じた処理が行われるように出力装置30の動作を統括する。
ファイルDB38Aは、ファイルを記憶する出力装置30の記憶装置に構築される記憶機構である。ファイルDB38Aには、記憶先判定部32によって自装置で記憶すると判定されたファイルが記憶される。ファイルDB38Aへのファイルの記憶及びファイルDB38Aからのファイルの削除は、ファイル管理部36が制御部37の制御に従って行う。
ファイル管理DB38Bは、出力装置30のファイルDB38Aに記憶されるファイルのファイル情報を記憶する記憶機構であり、例えば出力装置30の記憶装置に構築される。
図8は、ファイル管理DB38Bで管理されるファイルテーブル8の一例を示す図である。ファイルテーブル8には、ファイルDB38Aに記憶されるファイルに関する情報が設定されたファイル情報がファイル毎に記憶される。ファイル情報には、例えば識別情報及び格納情報が含まれる。
ファイル情報の識別情報には、ファイルDB38Aに記憶されているファイルの識別情報が設定される。
また、ファイル情報の格納情報には、ファイルDB38Aに記憶されているファイルのファイルDB38Aにおける記憶場所がファイル名と共に設定される。ファイル管理部36は、ファイル情報の格納情報を参照して、ファイルDB38Aからファイルを取得したり削除したりする。
なお、図8に示したファイルテーブル8で管理されるファイル情報の項目は一例であり、例えばファイルDB38Aでファイルの記憶を開始した日時等、他の項目をファイル情報に設定してもよい。
次に、ファイル管理システム1に含まれる各装置における電気系統の要部構成例について説明する。
図9は、ユーザ端末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に通知する装置であり、例えばボタン、タッチパネル、キーボード、及びマウス等が用いられる。
出力ユニット59は、CPU51によって処理された情報を報知する装置であり、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、及び映像をスクリーンに投影するプロジェクタ等が用いられる。
ファイル管理装置20における電気系統の要部構成例も、図9に示したユーザ端末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の一時的な作業領域として使用される。
なお、ファイル管理装置20の入力ユニット68はユーザの指示ではなく、ファイル管理装置20の管理者の指示を受け付ける。
一例として、不揮発性メモリ64にはファイルDB28A、ファイル管理DB28B、及び履歴DB28Cが構築される。
ユーザ端末10のI/O55及びファイル管理装置20のI/O65に接続されるユニットは図9に示したユニットに限られず、他のユニットが接続されてもよい。
一方、図10は出力装置30における電気系統の要部構成例を示す図である。出力装置30は、例えばコンピュータ70を用いて構成される。
コンピュータ70は、出力装置30に係る各機能部を担うCPU71、コンピュータ70を図7に示した各機能部として機能させる情報処理プログラムを記憶するROM72、CPU71の一時的な作業領域として使用されるRAM73、不揮発性メモリ74、及びI/O75を備える。そして、CPU71、ROM72、RAM73、不揮発性メモリ74、及びI/O75がバス76を介して各々接続されている。
一例として、不揮発性メモリ74にはファイルDB38A及びファイル管理DB38Bが構築される。
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に接続されるユニットは、図10に示したユニットに限定されない。出力装置30におけるファイルの出力方法に応じて、必要なユニットが接続される。また、出力装置30はファイルに関する各種サービスを提供するため、画像形成ユニット80を用いた画像形成機能の他、例えばファクシミリ機能、スキャン機能、及びコピー機能といった画像を用いた複数の機能を備えるようにしてもよい。
出力装置30がファクシミリ機能を備える場合、I/O75には、ファクシミリ回線を通じて他のファクシミリ装置との間でファクシミリ通信を行うファクシミリユニットが接続される。出力装置30がスキャン機能を備える場合、I/O75には、CPU71の指示に従って、例えばプラテンガラスに置かれた原稿の内容を光学的に読み取り、原稿の内容を画像データに変換するスキャンユニットが接続される。出力装置30がコピー機能を備える場合、I/O75には上述したスキャンユニットが接続され、CPU71は、スキャンユニットで読み取った原稿の画像データを画像形成ユニット80で記録媒体に印字する。
次に、ファイル管理装置20の動作について詳細に説明する。
図11は、出力装置30からファイル要求を受け付けた場合に、ファイル管理装置20のCPU61によって実行される配信処理の流れの一例を示すフローチャートである。配信処理を規定するファイル管理プログラムは、例えばファイル管理装置20のROM62に予め記憶されている。ファイル管理装置20のCPU61は、ROM62に記憶されるファイル管理プログラムを読み込み、配信処理を実行する。
なお、ファイル管理装置20のファイルDB28Aには、ファイル要求によって要求されたファイルが記憶されているものとする。
ステップS10において、CPU61はファイル管理テーブル4を参照して、ファイル要求によって指定された識別情報を含むファイル管理情報を取得する。そして、CPU61は、取得したファイル管理情報の格納情報を参照して、識別情報に対応したファイルを不揮発性メモリ64から取得する。
ステップS20において、CPU61は、ファイル要求によって指定された識別情報に対応したファイル、すなわち要求ファイルの利用形態を判定する利用形態判定処理を実行する。なお、利用形態判定処理の詳細については後ほど説明する。
ステップS30において、CPU61は、ステップS20の利用形態判定処理によって、要求ファイルの利用形態が特定されたか否かを判定する。
要求ファイルの利用形態が特定された場合にはステップS40に移行し、次にステップS40において、CPU61は、特定された要求ファイルの利用形態が個人利用であるか否かを判定する。要求ファイルの利用形態が個人利用と判定された場合には、ステップS50に移行する。
ステップS50において、CPU61は、ファイルの利用形態(この場合、個人利用)を付加した要求ファイルをファイル要求の送信元である出力装置30に送信する。後ほど説明するように、要求ファイルにファイルの利用形態を個人利用に設定した付加情報を付加することで、送信した要求ファイルが出力装置30に記憶される。要求ファイルの利用形態が個人利用であれば、上述したように、当該要求ファイルの出力要求が再び行われるとすれば、当該要求ファイルを要求した出力装置30から行われる傾向がある。すなわち、要求ファイルをファイル管理装置20で管理するよりも出力装置30で管理した方が、同じ出力装置30に同じファイルを再度送信する必要がなくなる。
したがって、ステップS60において、CPU61は、出力装置30に送信した要求ファイルをファイルDB28Aから削除すると共に、要求ファイルに対応したファイル管理情報を更新する。具体的には、要求ファイルがどの出力装置30で記憶されているかを示すため、CPU61は、ファイル管理情報の格納情報からファイル管理装置20における要求ファイルの記憶先を削除して、例えば要求ファイルの送信先である出力装置30のURL(Uniform Resource Locator)のような、ファイルの記憶先を表す情報を新たに設定する。また、CPU61は、要求ファイルに対応したファイル管理情報の出力回数を1つ増加する。すなわち、CPU61は、要求ファイルをファイルDB28Aから削除しても、要求ファイルに対応したファイル管理情報は削除しないようにする。
また、出力装置30からファイルに関する要求を受け付けたことにより、ステップS90において、CPU61は、図6に示した各項目を設定した履歴情報を作成して履歴テーブル6に追加する。この場合に追加する履歴情報の識別情報には、ファイル要求によって通知されたファイルの識別情報が設定され、装置IDには、同じくファイル要求によって通知された、要求ファイルを出力する出力装置30の装置IDが設定される。また、追加する履歴情報の受付日時には、通信ユニット67でファイル要求を受け付けた日時が設定され、要求内容には、出力装置30からファイル要求を受け付けたことから「出力」が設定される。
CPU61は、例えばCPU61に内蔵されるカレンダ機能を用いて日時情報を取得し、履歴情報の受付日時を設定するが、通信回線2に接続される外部装置の一例である時刻サーバから日時情報を取得してもよい。以上により、図11に示す配信処理を終了する。
一方、ステップS40の判定処理で、要求ファイルの利用形態が個人利用ではないと判定された場合、すなわち、共同利用である判定された場合にはステップS70に移行する。
利用形態判定処理によって要求ファイルの利用形態が共同利用であると判定されたことから、ステップS70において、CPU61は要求ファイルの利用形態が共同利用であることを出力装置30に通知する付加情報を要求ファイルに設定する。
ステップS80において、CPU61はステップS70で設定したファイルの利用形態を付加した要求ファイルを、ファイル要求の送信元である出力装置30に送信する。また、CPU61は、要求ファイルに対応したファイル管理情報の出力回数を1つ増加する。そして、ステップS90を実行して履歴テーブル6に履歴情報を追加し、図11に示す配信処理を終了する。
上述したように、要求ファイルの利用形態が共同利用であれば、ファイル要求を受け付けた出力装置30とは異なる出力装置30からファイル要求を受け付けることが予想される。したがって、個人利用のファイルのようにファイルを出力装置30に送信した後、送信したファイルをファイルDB28Aから削除してしまうと、当該ファイルに対応した識別情報を含むファイル要求を受け付ける毎に、当該ファイルの記憶先である出力装置30からファイルを取得することになるため、CPU61は、要求されたファイルを削除しないようにする。
また、ステップS30の判定処理で、利用形態判定処理を実行しても要求ファイルの利用形態が特定されなかったと判定された場合にはステップS75に移行する。
ステップS75において、CPU61は、ステップS10で取得したファイル管理情報の格納情報に、ファイル管理装置20における要求ファイルの記憶先に加えて、例えばファイル要求の送信元である出力装置30のURLを表す情報を設定する。
ステップS80において、CPU61は要求ファイルの利用形態を出力装置30に通知する付加情報が設定されていない要求ファイルを、ファイル要求の送信元である出力装置30に送信する。そして、CPU61は、要求ファイルに対応したファイル管理情報の出力回数を1つ増加すると共に、ステップS90で履歴テーブル6に履歴情報を追加して図11に示す配信処理を終了する。
要求ファイルの利用形態が特定されなかった場合、当然のことながらファイルの利用形態が共同利用である可能性が残っているため、CPU61は要求ファイルをファイルDB28Aから削除しないようにする。また、後ほど説明するように、要求ファイルにファイルの利用形態を通知する付加情報を設定しないようにすることで、送信した要求ファイルが出力装置30に記憶される。
なお、ファイルの利用形態に関わらず、ファイルDB28Aに記憶される各々のファイルのうち有効期限が経過したファイルは、CPU61によってファイルDB28Aから削除され、削除されたファイルに対応したファイル管理情報もファイル管理テーブル4から削除される。
有効期限が経過したファイルが出力装置30に記憶されている場合には、CPU61は、有効期限が経過したファイルに対応した識別情報を含むファイル削除要求を、有効期限が経過したファイルを記憶する出力装置30に送信し、識別情報に対応したファイルを出力装置30に削除させるようにする。
次に、ステップS20の利用形態判定処理について詳細に説明する。
図12は、ステップS20で実行される利用形態判定処理の流れの一例を示すフローチャートである。
登録ユーザがファイル管理装置20にファイルを登録する場合に、登録ユーザがファイルの利用形態を明確にするため、ファイルの利用形態も一緒に設定することがある。CPU61は登録ユーザからファイルを受け付けた場合、受け付けたファイルに対応した識別情報を生成して、受け付けたファイルをファイルDB28Aに記憶すると共に、受け付けたファイルに対応したファイル管理情報を生成してファイル管理テーブル4に追加する登録処理を実行する。そして、CPU61は受け付けたファイルに利用形態が設定されている場合、生成したファイル管理情報の利用形態に、設定内容に従ったファイルの利用形態を設定する。
受け付けたファイルには利用形態が設定されていないこともあるため、この場合には、ファイルに利用形態が設定されていないことを表す予め定めた符号を、ファイル管理情報の利用形態に設定する。例えば図5に示したファイル管理情報の例では、ハイフンでファイルに利用形態が設定されていないことを表している。
また、出力ユーザが出力装置30でファイル要求を行う場合に、出力したいファイルの利用形態を明確にするため、初回の要求時にファイルの利用形態を設定してファイルの要求を行うことがある。CPU61は出力装置30からファイル要求を受け付けた場合、ファイル要求に要求ファイルの利用形態が設定されていないか確認し、要求ファイルの利用形態が設定されている場合には、要求ファイルの識別情報を含むファイル管理情報の利用形態に、設定内容に従ったファイルの利用形態を設定する。
なお、出力ユーザは必ずしも初回の要求時に要求ファイルの利用形態を設定するわけではなく、2回目以降の要求時に要求ファイルの利用形態を設定することもある。
したがって、CPU61は、例えば履歴テーブル6を参照して、出力装置30から受け付けたファイル要求が初回のファイル要求である場合にステップS10で取得したファイル管理情報の利用形態を参照して、要求ファイルの利用形態が設定されているか否かを判定してもよいが、ステップS100では、出力装置30からファイル要求を受け付ける毎にステップS10で取得したファイル管理情報の利用形態を参照して、要求ファイルの利用形態が設定されているか否かを判定する。要求ファイルの利用形態が設定されている場合にはステップS140に移行する。
ステップS140において、CPU61は、ステップS10で取得したファイル管理情報に設定されている利用形態を要求ファイルの利用形態として取得し、図12に示す利用形態判定処理を終了する。
一方、ステップS100の判定処理で、取得したファイル管理情報に利用形態が設定されていないと判定された場合はステップS110に移行する。
要求ファイルの利用形態が共同利用である場合、複数の出力ユーザがそれぞれ出力装置30を操作するため、要求ファイルに関する履歴情報を参照することで要求ファイルの利用形態が特定されることがある。
したがって、ステップS110において、CPU61は、ファイル要求によって通知された要求ファイルの識別情報を含む履歴情報を履歴DB28Cから抽出する。
抽出した履歴情報に、それぞれ異なる出力装置30からファイルに関する要求が行われたことを表す履歴が含まれている場合には、要求ファイルの利用形態が共同利用であると考えられる。したがって、ステップS120において、CPU61は、抽出した履歴情報に複数の装置IDが記録されているか否かを判定し、複数の装置IDが含まれている場合にはステップS130に移行する。
抽出した履歴情報に複数の装置IDが記録されているということは、複数の出力ユーザが要求ファイルに関する何らかの要求を行ったことになるため、ステップS130において、CPU61は、要求ファイルの利用形態が共同利用であることを出力装置30に通知する付加情報を要求ファイルに設定して、図12に示す利用形態判定処理を終了する。
一方、抽出した各々の履歴情報における装置IDが同じ装置IDである場合、要求ファイルの利用形態を個人利用と特定してもよいが、後から他の出力ユーザが要求ファイルに関する要求を行う可能性もあるため、CPU61は、付加情報に要求ファイルの利用形態を設定することなく利用形態判定処理を終了する。この場合、利用形態判定処理では要求ファイルの利用形態が特定されなかったことになる。
このように、CPU61は、要求ファイルに対応するファイル管理情報の利用形態、及び要求ファイルの履歴情報を参照して、要求ファイルの利用形態を特定する。
なお、本実施の形態では利用形態判定処理の後にファイル要求の履歴情報を追加している(図11のステップS90)ため、利用形態判定処理を実行する時点では、受け付けたファイル要求に対応した履歴情報が履歴テーブル6に追加されていない。したがって、CPU61は抽出した各々の履歴情報における装置IDが同じ装置IDである場合でも、受け付けたファイル要求に設定されている装置IDを参照して、当該装置IDが各々の履歴情報における装置IDと異なっていれば、ステップS120の判定処理で、抽出した履歴情報に複数の装置IDが含まれていると判定してもよい。若しくは、利用形態判定処理を実行するまでに、図11のステップS90の処理を実行すればよい。
次に、出力装置30の動作について説明する。図13は、出力ユーザから出力したいファイルの識別情報を含む出力要求を受け付けた場合に、出力装置30のCPU71によって実行されるファイル出力処理の流れの一例を示すフローチャートである。ファイル出力処理を規定する情報処理プログラムは、例えば出力装置30のROM72に予め記憶されている。出力装置30のCPU71は、ROM72に記憶される情報処理プログラムを読み込み、ファイル出力処理を実行する。
ステップS200において、CPU71はファイルテーブル8を参照することで、受け付けた識別情報に対応した要求ファイルが出力装置30の不揮発性メモリ74に記憶されているか否かを判定する。受け付けた識別情報を含むファイル情報がファイルテーブル8に存在する場合には、不揮発性メモリ74に要求ファイルが記憶されているためステップS270に移行する。
ステップS270において、CPU71は、受け付けた識別情報を含むファイル情報の格納情報を用いて、不揮発性メモリ74から要求ファイルを取得する。
ステップS280において、CPU71は、ステップS270で取得した要求ファイルによって表される画像を記録媒体に印字することで、出力ユーザに対して要求ファイルの出力を行い、図13に示すファイル出力処理を終了する。
一方、ステップS200の判定処理で、識別情報に対応した要求ファイルが出力装置30の不揮発性メモリ74に記憶されていないと判定された場合には、ステップS210に移行する。
この場合、要求ファイルはファイル管理装置20に記憶されているため、CPU71は、出力ユーザが入力した要求ファイルの識別情報を含んだファイル要求を送信する。なお、CPU71は出力ユーザから要求ファイルの利用形態を受け付け、受け付けた利用形態をファイル要求に含めてもよい。出力ユーザが要求ファイルの利用形態を設定した場合には、図12に示した利用形態判定処理において、要求ファイルの利用形態が特定されることになる。
ファイル管理装置20は出力装置30からファイル要求を受け付けると、図11に示した配信処理で説明したように、ファイル要求で指定した識別情報に対応した要求ファイルを送信してくる。
したがって、ステップS220において、CPU71はファイル管理装置20から要求ファイルを受信したか否かを判定する。要求ファイルを受信していない場合にはステップS220の判定処理を繰り返し実行して、要求ファイルの受信を監視する。そして、要求ファイルを受信した場合にはステップS230に移行する。
ステップS230において、CPU71はステップS280と同じく、受信した要求ファイルによって表される画像を記録媒体に印字することで、出力ユーザに対して要求ファイルの出力を行う。
ステップS240において、CPU71は受信した要求ファイルの付加情報を参照して、要求ファイルの利用形態が共同利用に設定されているか否かを判定する。要求ファイルの利用形態が共同利用に設定されていない場合にはステップS250に移行する。
要求ファイルの利用形態が共同利用に設定されていないということは、要求ファイルの利用形態が個人利用に設定されている状況と、利用形態が特定できずに何も設定されていない状況が含まれる。要求ファイルの利用形態が個人利用に設定されていれば、要求ファイルの利用形態は個人利用で確定するが、要求ファイルの利用形態が特定されていない場合には、要求ファイルの利用形態が共同利用である可能性も残る。しかしながら、ここでは要求ファイルの利用形態が共同利用に設定されていなければ個人利用であると仮定する。
したがって、ステップS250において、CPU71は、受信した要求ファイルを自装置の不揮発性メモリ74に記憶する。CPU71は要求ファイルを不揮発性メモリ74に記憶する場合、ファイルが出力装置30の外部に漏えいしてもファイルの内容が復元されないように、要求ファイルを暗号化して不揮発性メモリ74に記憶してもよい。
ステップS260において、CPU71は、要求ファイルの識別情報と、要求ファイルの記憶場所を設定した格納情報を含むファイル情報を生成し、生成したファイル情報をファイルテーブル8に追加して、要求ファイルが出力装置30に記憶されていることを記録する。そして、図13に示すファイル出力処理を終了する。
すなわち、ファイル管理システム1では、利用形態が個人利用のファイルが要求された場合、当該ファイルはファイル管理装置20ではなく、最初にファイルを要求した出力装置30に記憶される。当該ファイルが再度要求される場合には、当該ファイルの要求が行われた出力装置30と同じ出力装置30から要求されるため、要求されたファイルをファイル管理装置20から再度取得する必要がなくなる。
また、ファイル管理システム1では、利用形態が共同利用のファイルが要求された場合、当該ファイルは出力装置30に記憶されず、ファイル管理装置20に記憶される。
更に、ファイル管理システム1では、利用形態が不明のファイルが要求された場合、ファイル管理装置20と出力装置30の両方で当該ファイルが記憶される。その後、出力ユーザが出力装置30に要求ファイルの利用形態を入力してファイルの出力を行ったり、ファイル管理装置20がこれまでのファイルの要求元とは異なる出力装置30からファイル要求を受け付けたりすることによってファイルの利用形態が特定され、特定された利用形態に応じてファイルの記憶先が切り換えられる。
上述したように、ファイルの有効期限はファイル管理装置20で管理されるため、出力装置30はファイルの有効期限を考慮する必要はない。出力装置30はファイル削除要求をファイル管理装置20から受け付けた場合に、ファイル削除要求によって指定されたファイルを削除すれば、結果として有効期限が経過したファイルが削除される。
しかしながら、出力装置30でもファイルの有効期限を監視して、有効期限が経過したファイルを自発的に削除するようにしてもよい。この場合、ファイル管理装置20は出力装置30に送信するファイルにファイルの有効期限を設定し、出力装置30では、ファイルに設定された有効期限をファイル情報に対応付けて、ファイル管理DB38Bで管理すればよい。
なお、ファイル管理装置20は、図11に示した配信処理のステップS50及びS80で出力装置30に要求ファイルを送信する場合、ファイルを要求した出力装置30とは異なる他の出力装置30にも要求ファイルを送信してもよい。ファイル要求を行っていないのにファイル管理装置20からファイルを受け付けた出力装置30では、受け付けたファイルを自装置の不揮発性メモリ74に記憶して、ファイルと共に通知された識別情報と、受け付けたファイルの記憶場所を設定した格納情報を含むファイル情報をファイルテーブル8に追加して、受け付けたファイルが自装置に記憶されていることを記録する。
複数の出力装置30に同じファイルを分散して記憶させておけば、例えば出力装置30から要求されたファイルが装置の入れ替え等によって、誤ってファイル管理装置20、及びファイルの出力要求を受け付けた出力装置30から削除されてしまったような状況であっても、ファイルの復旧が図られることになる。
このように、ファイル管理装置20はファイルのバックアップを目的として、ファイルの要求元とは異なる出力装置30にファイルを送信する場合、他の出力装置30に比べて不揮発性メモリ74の空き容量が多い出力装置30に送信した方が、不揮発性メモリ74の空き容量が逼迫して、出力装置30の動作に悪い影響を与えてしまうというような事象の発生を抑制することができる。
したがって、ファイル管理装置20は、例えば予め定めた間隔で各々の出力装置30における不揮発性メモリ74の空き容量を取得しておき、空き容量が予め定めた容量以上ある出力装置30の中からファイルのバックアップ先となる出力装置30を選択する。この場合、ファイル管理装置20は、空き容量が予め定めた容量以上ある出力装置30のうち、空き容量が最も多い出力装置30にファイルを送信することが好ましい。
予め定めた容量は、例えばこの容量以上の空き容量がなければ出力装置30の動作に悪い影響を与えてしまう容量として設定された容量である。予め定めた容量は、出力装置30の実機による実験やコンピュータシミュレーションによって設定される。
また、バックアップのファイルは1つあればよいため、ファイル管理装置20は同じファイルについては1度だけ、ファイルの要求元とは異なる出力装置30に要求ファイルと同じファイルを送信すればよい。
ファイルの記憶に関して更に言えば、出力装置30からファイル要求を受け付け、ファイル管理装置20が利用形態判定処理を実行した時点において要求ファイルの利用形態が不明であった場合、ファイル管理装置20と出力装置30の両方で当該ファイルが記憶されることを説明した。しかしながら、利用形態判定処理を実行した時点ではファイルの利用形態が特定されなかった場合でも、時間の経過に伴い、ファイルの利用形態の特定につながる情報が得られることがある。したがって、ファイル管理装置20は、出力装置30からファイル要求を受け付けていない状況であっても利用形態の特定を試みる。
図14は、例えば予め定めた間隔毎にファイル管理装置20のCPU61によって実行される定期処理の流れの一例を示すフローチャートである。定期処理を規定するファイル管理プログラムは、例えばファイル管理装置20のROM62に予め記憶されている。ファイル管理装置20のCPU61は、ROM62に記憶されるファイル管理プログラムを読み込み、定期処理を実行する。
ステップS300において、CPU61は、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報で、かつ、まだ選択していない何れか1つのファイル管理情報を選択して、選択したファイル管理情報(以降では、単に「選択ファイル管理情報」という)の識別情報を取得する。
ステップS310において、CPU61は、ステップS300で取得した識別情報を含む全ての履歴情報を履歴テーブル6から抽出する。
ステップS320において、CPU61はステップS310で抽出した各々の履歴情報を参照して、操作内容に応じた異なる種類の要求が履歴情報の要求内容に設定されているか否かを判定する。履歴情報の要求内容が異なるとは、例えば「出力」の他に「問い合わせ」等が設定されている状況を表す。
ファイルの利用形態が個人利用であれば、出力ユーザはファイルの内容を予め把握しているため、ファイルの内容を問い合わせるような操作は行わずにファイルの出力要求だけを行う。すなわち、履歴情報の要求内容に複数種類の内容が設定されている場合には、複数の出力ユーザがファイルを出力しようとして出力装置30を操作したものと考えられる。
したがって、異なる種類の要求が履歴情報の要求内容に設定されている場合にはステップS330に移行し、ステップS330において、CPU61は、選択ファイル管理情報の利用形態に「共同利用」を設定する。
利用形態判定処理を実行した時点では利用形態が不明で、定期処理によって利用形態が共同利用であると特定されたファイルの場合、当該ファイルを最初に要求した出力装置30にもファイルが記憶されている。しかし、利用形態が共同利用のファイルはファイル管理装置20で記憶しておけば十分であるため、当該ファイルを出力装置30に記憶させておいても、出力装置30の不揮発性メモリ74の記憶容量を無駄に消費させるだけである。
したがって、ステップS340において、CPU61は選択ファイル管理情報の格納情報を参照して、ステップS330で利用形態を「共同利用」に設定したファイルが出力装置30にも記憶されているなら、当該出力装置30に対して選択ファイル管理情報の識別情報を含むファイル削除要求を送信し、識別情報に対応したファイルを出力装置30に削除させるようにする。
そして、CPU61は出力装置30に削除させたファイルの出力装置30における記憶先を表す情報を選択ファイル管理情報の格納情報から削除する。すなわち、選択ファイル管理情報の格納情報には、ファイル管理装置20におけるファイルの記憶先のみが設定された状態になる。
ステップS350において、CPU61は、まだステップS300で選択していない未選択のファイル管理情報が存在するか否かを判定する。未選択のファイル管理情報が存在する場合にはステップS300に移行し、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報を全て選択するまで、各々のファイル管理情報について、ステップS320の判定処理で、選択したファイル管理情報の識別情報を含む履歴情報に異なる種類の要求内容が設定されているか否かを判定する。
ステップS320の判定処理で、同じ種類の要求しか履歴情報の要求内容に設定されていないと判定された場合、ステップS360に移行する。
ステップS360において、CPU61は通信回線2を通じて、選択ファイル管理情報の識別情報がSNSに公開されているか否かを判定する。識別情報がSNSに公開されているということは、選択ファイル管理情報の識別情報に対応したファイルの利用形態は共同利用ということになる。したがって、ステップS330に移行して、ステップS330で選択ファイル管理情報の利用形態に「共同利用」が設定される。
一方、識別情報がSNSに公開されていないと判定されたファイルは、出力装置30からファイルに関する複数種類の要求が行われておらず、かつ、複数の出力装置30からファイル要求が行われていないファイルとなる。これらの状況から、当該ファイルの利用形態は個人利用であると推定される。
したがって、選択ファイル管理情報の識別情報がSNSに公開されていない場合はステップS370に移行し、ステップS370において、CPU61は、選択ファイル管理情報の利用形態に「個人利用」を設定する。
利用形態が個人利用のファイルは、最初にファイル要求を送信してきた出力装置30で記憶される方が好ましい。したがって、ステップS380において、CPU61は選択ファイル管理情報の格納情報を参照して、ステップS370で利用形態を「個人利用」に設定したファイルが出力装置30にも記憶されているなら、当該ファイルをファイル管理装置20のファイルDB28Aから削除する。そして、CPU61は、削除したファイルのファイル管理装置20における記憶先を表す情報を選択ファイル管理情報の格納情報から削除する。すなわち、選択ファイル管理情報の格納情報には、出力装置30におけるファイルの記憶先のみが設定された状態になる。そして、ステップS350に移行する。
ステップS350の判定処理で、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報が全て選択されたと判定された場合、図14に示す定期処理を終了する。
ステップS360では、識別情報がSNSで公開されているか否かを判定したが、ブログ等に識別情報を公開していることも考えられるため、CPU61は既存の検索エンジンを利用して、何れかのウェブサイトに識別情報が記載されていないか検索してもよい。
なお、定期処理によって、利用形態が共同利用であるファイルが個人利用のファイルと誤判定されたとしても、ファイル管理情報の格納情報にはファイルを記憶している出力装置30の情報が設定されているため、ファイル管理装置20はファイル管理情報の格納情報に従って出力装置30からファイルを取得して、ファイルの要求元の出力装置30に取得したファイルを送信すればよい。そして、ファイル管理装置20は取得したファイルを自装置のファイルDB28Aに記憶すると共に、ファイルを取得した出力装置30に対して取得したファイルの識別情報を含むファイル削除要求を送信し、識別情報に対応したファイルを当該出力装置30に削除させるようにする。そして、ファイル管理装置20は、現状のファイルの記憶先にあわせて、取得したファイルに対応したファイル管理情報の格納情報を更新する。
このように本実施の形態に係るファイル管理システム1によれば、出力装置30から要求されたファイルの利用形態を特定し、ファイルの利用形態が個人利用であれば、ファイルを要求した出力装置30にファイルを記憶させる。また、ファイルの利用形態が共同利用であれば、ファイル管理装置20でファイルを記憶する。
個人利用のファイルは出力装置30で記憶されることから、全てのファイルをファイル管理装置20で記憶する場合と比較して、ファイル管理装置20で記憶されるファイルの容量が抑制されることになる。
<実施形態の変形例>
これまでは、図11に示したファイル管理装置20で実行される配信処理のステップS20で利用形態判定処理が行われることからもわかるように、ファイル管理装置20は、出力装置30からファイル要求を受け付けたタイミングでファイルの利用形態を特定し、特定したファイルの利用形態に応じてファイル管理装置20及び出力装置30の少なくとも一方でファイルが記憶されるようにファイルの記憶先を切り換える制御を行った。
しかしながら、ファイル要求を受け付けた時点では、要求されたファイルの利用形態が特定できないこともある。したがって、ファイル管理装置20は、出力装置30からファイル要求を受け付けた場合、とりあえず要求されたファイルの利用形態を個人利用に設定してファイル要求を行った出力装置30に送信するようにしてもよい。そして、ファイル管理装置20は、要求されたファイルの有効期限が経過する前に、ファイル管理装置20のファイルDB28Aから要求されたファイルを削除する。
すなわち、本変形例に係るファイル管理装置20は、出力装置30から要求されたファイルを、ファイルの要求元である出力装置30に一旦記憶させる。そして、その後のファイル要求の受付状況、及び定期処理によってファイルの利用形態を特定し、ファイルが正しい利用形態に応じた記憶先に記憶されるようにする。
次に、本変形例に係るファイル管理装置20の動作について詳細に説明する。図15は、出力装置30からファイル要求を受け付けた場合に、ファイル管理装置20のCPU61によって実行される配信処理の流れの一例を示すフローチャートである。
まず、ステップS400において、CPU61はファイル管理テーブル4で管理される、ファイル要求によって指定された識別情報に対応した要求ファイルのファイル管理情報の格納情報を参照して、要求ファイルがファイル管理装置20のファイルDB28Aに記憶されているか否かを判定する。
要求ファイルがファイル管理装置20に記憶されている場合にはステップS440に移行する。なお、要求ファイルがファイル管理装置20に記憶されているということは、出力装置30から受け付けたファイル要求が、当該ファイルに対する初回のファイル要求ということになる。
この場合、ステップS440において、CPU61は、要求ファイルに対応したファイル管理情報の利用形態に「個人利用」を設定すると共に、格納情報にはファイル要求の送信元である出力装置30のURLを設定する。
そして、ステップS450において、CPU61は、利用形態を個人利用に設定した付加情報と共に、要求ファイルをファイル要求の送信元である出力装置30に送信する。要求ファイルを送信した場合、CPU61は、要求ファイルに対応したファイル管理情報の出力回数を1つ増加する。
なお、既に説明したように、ファイル管理装置20はファイルのバックアップのため、利用形態を個人利用に設定した要求ファイルを出力装置30に送信する場合、要求ファイルの送信元である出力装置30と異なる他の出力装置30にも要求ファイルを送信してもよい。この場合、ファイル管理装置20は、例えば予め定めた間隔で各々の出力装置30における不揮発性メモリ74の空き容量を取得しておき、空き容量が予め定めた容量以上ある出力装置30の中からファイルのバックアップ先となる出力装置30を選択する。
ステップS460において、CPU61は、要求ファイルの利用形態が共同利用か否かを判定する。要求ファイルがファイル管理装置20に記憶されている場合には、ステップS440で要求ファイルの利用形態を個人利用に設定したことからもわかるように、要求ファイルの利用形態をとりあえず個人利用として取り扱う。したがって、要求ファイルの利用形態は共同利用ではないと判定される。要求ファイルの利用形態が共同利用でない場合にはステップS470に移行する。
ステップS470において、CPU61は、要求ファイルの利用形態が個人利用であることから、要求ファイルを自装置のファイルDB28Aから削除する。
そして、ステップS480において、CPU61は図11のステップS90と同様の処理を行って履歴テーブル6に履歴情報を追加し、図15に示す配信処理を終了する。
これにより、ファイル管理装置20に記憶されるファイルは、出力装置30からの初回の要求時に出力装置30で記憶されることになる。
一方、ファイル管理装置20は、最初にファイル要求が行われた出力装置30とは異なる出力装置30から、同じファイルに対するファイル要求を受け付けることがある。
このような場合には、ステップS400の判定処理で要求ファイルがファイル管理装置20に記憶されていないと判定されるため、ステップS410に移行する。
ファイル管理装置20に要求ファイルが記憶されていないことから、ステップS410において、CPU61は要求ファイルに対応したファイル管理情報の格納情報を参照して、要求ファイルが記憶されている出力装置30から要求ファイルを取得する。
なお、ファイル管理装置20からファイルの取得が行われた出力装置30では、ファイル管理装置20が取得したファイルに対応したファイル情報がファイルテーブル8から削除されると共に、ファイルDB38Aからも削除される。
ステップS420において、CPU61は、ステップS410で出力装置30から取得した要求ファイルを自装置のファイルDB28Aに記憶する。また、要求ファイルを自装置のファイルDB28Aに記憶したことに伴って、CPU61は、要求ファイルに対応したファイル管理情報の格納情報に、ファイルDB28Aにおける要求ファイルの記憶先を設定する。
ファイルの利用形態が個人利用であれば、出力ユーザは2回目以降のファイルの出力も最初に利用した出力装置30と同じ出力装置30を利用するはずである。この場合、図13に示した出力装置30のファイル出力処理で説明したように、自装置内に要求ファイルが存在するため、ファイル管理装置20に対してファイル要求は行わない。
すなわち、ファイル管理装置20に記憶されていないファイルが出力装置30から要求されるということは、当該ファイルに対して最初にファイル要求を行った出力装置30とは異なる出力装置30から、同じファイルが要求されたということになる。
したがって、ステップS430において、CPU61は要求ファイルに対応したファイル管理情報の利用形態を「共同利用」に設定すると共に、利用形態を共同利用に設定した付加情報を要求ファイルに設定する。
この場合、ステップS450において、CPU61は、利用形態を共同利用に設定した付加情報と共に、要求ファイルをファイル要求の送信元である出力装置30に送信する。
要求ファイルを受信した出力装置30では、図13に示した出力装置30のファイル出力処理で説明したように、要求ファイルの利用形態が付加情報で共同利用に設定されていることから、受信した要求ファイルを出力装置30に記憶しないように動作する。
上述したように、ステップS460において、CPU61は、要求ファイルの利用形態が共同利用か否かを判定する。ファイル管理装置20に記憶されていないファイルを出力装置30から要求された場合、要求ファイルに対応したファイル管理情報の利用形態には「共同利用」が設定されることから、要求ファイルの利用形態は共同利用と判定される。
要求ファイルの利用形態が共同利用の場合にはステップS470を実行することなくステップS480に移行し、ステップS480で、CPU61は図11のステップS90と同様の処理を行って履歴テーブル6に履歴情報を追加し、図15に示す配信処理を終了する。ステップS470を実行しないことで、出力装置30から取得した要求ファイルはファイル管理装置20に記憶されることになる。
このように本変形例に係るファイル管理装置20では、最初に出力装置30から要求されたファイルの利用形態を個人利用と仮定し、その後の出力装置30からのファイル要求の受け付け状況に従ってファイルの実際の利用形態を特定する。しかしながら、既に説明したように、時間の経過に伴ってファイルの利用形態の特定につながる情報が得られることがある。したがって、本変形例においてもファイル管理装置20は、出力装置30からファイル要求を受け付けていない状況であっても利用形態の特定を試みる。
図16は、例えば予め定めた間隔毎にファイル管理装置20のCPU61によって実行される定期処理の流れの一例を示すフローチャートである。
ステップS500において、CPU61は、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報で、かつ、まだ選択していない何れか1つのファイル管理情報を選択して、選択されたファイル管理情報、すなわち選択ファイル管理情報の識別情報を取得する。
ステップS510において、CPU61は、ステップS500で取得した識別情報を含む全ての履歴情報を履歴テーブル6から抽出する。
ステップS520において、CPU61は、ステップS510で抽出した履歴情報に複数の装置IDが記録されているか否かを判定し、複数の装置IDが含まれていない場合にはステップS530に移行する。
なお、ステップS520の判定処理を実行する時点で、抽出した履歴情報に複数の装置IDが記録されていない場合であっても、今後、複数の装置IDが記録されることも考えられるため、抽出した各々の履歴情報の装置IDが同じということだけで、選択ファイル管理情報に対応したファイルの利用形態が共同利用であると特定することは好ましくない。
したがって、ステップS530において、CPU61は更にステップS510で抽出した各々の履歴情報を参照して、操作内容に応じた異なる種類の要求が履歴情報の要求内容に設定されているか否かを判定する。
異なる種類の要求が履歴情報の要求内容に設定されている場合、選択ファイル管理情報に対応したファイルの利用形態は共同利用であると考えられるため、ステップS540に移行する。
一方、ステップS520の判定処理で、抽出した履歴情報に複数の装置IDが記録されていると判定された場合には、この判定結果だけで選択ファイル管理情報に対応したファイルの利用形態は共同利用であると考えられるため、ステップS530の処理を実行することなく、ステップS540に移行する。
したがって、ステップS540において、CPU61は選択ファイル管理情報の利用形態を「共同利用」に設定する。
ステップS550において、CPU61は、選択ファイル管理情報の格納情報を参照して、選択ファイル管理情報に対応したファイルがファイル管理装置20のファイルDB28Aに記憶されているか否かを判定する。
選択ファイル管理情報に対応したファイルがファイル管理装置20に記憶されていないということは、当該ファイルの利用形態は共同利用であるにも関わらず、初回のファイル要求の際にとりあえず個人利用であると設定されて出力装置30で記憶されていることになる。したがって、選択ファイル管理情報に対応したファイルがファイル管理装置20に記憶されていない場合にはステップS560に移行する。
ステップS560において、CPU61は選択ファイル管理情報の格納情報を参照して、選択ファイル管理情報に対応したファイルが記憶されている出力装置30から当該ファイルを取得する。既に説明したように、ファイル管理装置20からファイルの取得が行われた出力装置30では、ファイル管理装置20が取得したファイルに対応したファイル情報がファイルテーブル8から削除されると共に、当該ファイルがファイルDB38Aからも削除される。
ステップS570において、CPU61は、ステップS560で出力装置30から取得したファイルを自装置のファイルDB28Aに記憶する。また、ファイルを自装置のファイルDB28Aに記憶したことに伴って、CPU61は、選択ファイル管理情報の格納情報に、取得したファイルのファイルDB28Aにおける記憶先を設定してステップS590に移行する。
一方、ステップS550の判定処理で、選択ファイル管理情報に対応したファイルがファイル管理装置20に記憶されていると判定された場合には、出力装置30から当該ファイルを取得する必要がないため、ステップS560及びS570の処理を実行することなくステップS590に移行する。
また、ステップS530の判定処理で、抽出した各々の履歴情報における要求内容に同じ種類の要求しか設定されていないと判定された場合には、ステップS580に移行する。
ステップS530の判定処理を実行する時点で、抽出した履歴情報の要求内容に同じ種類の要求しか設定されていないとしても、今後、異なる種類の要求が記録されることも考えられるため、抽出した各々の履歴情報の要求内容が同じということだけで、選択ファイル管理情報に対応したファイルの利用形態が個人利用であると特定することは好ましくない。
したがって、ステップS580において、CPU61は通信回線2を通じて、選択ファイル管理情報の識別情報がSNSに公開されているか否かを判定する。
既に説明したように、識別情報がSNSに公開されているということは、選択ファイル管理情報の識別情報に対応したファイルの利用形態は共同利用ということになる。したがって、選択ファイル管理情報の識別情報がSNSに公開されている場合にはステップS540に移行することで、選択ファイル管理情報の利用形態が「共同利用」に設定され、既に説明したステップS540以降の処理が実行される。
一方、識別情報がSNSに公開されていないと判定されたファイルは、出力装置30からファイルに関する複数種類の要求が行われておらず、かつ、複数の出力装置30からファイル要求が行われていないファイルとなる。すなわち、現状は当該ファイルの利用形態は個人利用であると推定される。したがって、そのままステップS590に移行する。
ステップS590において、CPU61は、まだステップS500で選択していない未選択のファイル管理情報が存在するか否かを判定する。未選択のファイル管理情報が存在する場合にはステップS500に移行し、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報を全て選択するまで、これまでに説明したステップS500~S590の処理を実行する。
ステップS590の判定処理で、ファイル管理テーブル4の中から利用形態が設定されていないファイル管理情報が全て選択されたと判定された場合、図16に示す定期処理を終了する。
このように本変形例に係るファイル管理システム1によれば、出力装置30から要求されたファイルはファイル管理装置20ではなく、とりあえず出力装置30に記憶させるようにし、その後の利用形態の判定結果に応じて、ファイルの記憶先を変更する。
出力装置30から要求されたファイルは、定期処理でファイルの利用形態が特定されるまで出力装置30に記憶されることになるため、ファイル要求を受け付ける毎に要求されたファイルの利用形態を特定し、利用形態が個人利用と特定されたファイルだけをファイル管理装置20から削除する場合と比較して、ファイル管理装置20に記憶されるファイルの容量が抑制されることになる。
以上、実施の形態を用いて本発明について説明したが、本発明は実施の形態に記載の範囲には限定されない。本発明の要旨を逸脱しない範囲で実施の形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた形態も本発明の技術的範囲に含まれる。例えば、本発明の要旨を逸脱しない範囲で処理の順序を変更してもよい。
本実施の形態では、一例として各処理をソフトウェアで実現する形態について説明したが、図11~図16に示した各フローチャートと同等の処理を、例えばASIC(Application Specific Integrated Circuit)に実装し、ハードウェアで処理させるようにしてもよい。この場合、各処理をそれぞれソフトウェアで実現した場合と比較して、処理の高速化が図られる。
また、上述した実施の形態では、各プログラムがROMにインストールされている形態を説明したが、これに限定されるものではない。本発明に係る各プログラムは、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。例えば、本発明に係る各プログラムを、CD(Compact Disc)-ROM、又はDVD(Digital Versatile Disc)-ROM等の光ディスクに記録した形態で提供してもよい。また、本発明に係る各プログラムを、USBメモリ及びフラッシュメモリ等の半導体メモリに記録した形態で提供してもよい。
更に、ファイル管理装置20、及び出力装置30は、それぞれ通信回線2を通じて、通信回線2と接続される外部装置から本発明に係る各プログラムを取得するようにしてもよい。