以下、本発明の実施形態について添付した図面を参照しながら説明する。
図1は、本実施形態に係るファイル管理システムの構成を示す概略図である。図示のように、本ファイル管理システムは、PCやMFP等の複数のクライアント端末500と、クライアント端末500からアップロードされたファイル又はフォルダを管理するファイル管理装置の実施形態であるファイル管理サーバ400と、各クライアント端末500とファイル管理サーバ400とを互いに通信可能に接続するネットワークNとから構成されている。
ファイル管理サーバ400は、先に提案したファイル管理装置と同様、図41に示したような行列状のプレースを使用して、クライアント端末500からアップロードされたファイルを管理することができる。
図2は、図1に示したファイル管理サーバ400のハードウェア構成図である。
図示のように、ファイル管理サーバ400は、プログラムを実行して装置全体を制御し、後述する各機能部(図6参照)を実現するCPU41と、プログラムや各種データを記憶しているROM42と、CPU41がプログラムをロードするRAM43と、マウスやキーボード等の入力デバイスから構成される操作部44と、液晶モニタ等の表示デバイスから構成され、図41に示したようなプレースマップ画面を表示するための表示部45と、HDD(Hard Disc Drive)等の記憶デバイスであり、各種プログラムやデータを記憶する第1の記憶手段である記憶部46と、後述するサムネイル画像やコメントデータ等をクライアント端末に送信する送信手段であるI/F部47と、各部を接続するバス48とを備えている。
記憶部46は、ユーザ(クライアント端末500)から送信されたファイルを管理するとともに、このファイルの管理を行う構成単位を示したファイル管理情報(後述するplaceIDフォルダ:図3参照)等の設定情報を、上記送信されたファイルと設定情報とを関連づけて所定のフォルダ構造で記憶・管理する。
次に、記憶部46が記憶するファイル管理情報(後述するplaceIDフォルダ:図3参照)等の設定情報の管理構造について説明する。図3は、記憶部46に記憶された上記設定情報等を管理するフォルダ構造を示す図である。図示のように、記憶部46は、上記設定情報等を保持するためのツリー状のフォルダ構造を有しており、このフォルダ構造は、プレースマップ画面を表示するための設定情報を格納するマップ管理部210と、プレースマップ画面上の領域P(プレース)の設定情報を格納したプレース管理部310とから成っている。
マップ管理部210のMapconfフォルダは、マップ管理部210のルートフォルダである。このMapconfフォルダは、本システムを利用するユーザ(ユーザID)毎に用意されたユーザフォルダ(user1、user2等)から構成されている。このユーザフォルダ内には、ユーザフォルダ名に対応するユーザID用のプレースマップ画面についての設定情報(プレースマップ情報:placeMap.xml)が格納されるとともに、このユーザID用のアイコン画像(usericon.jpg)や、このユーザIDのユーザの氏名や連絡先(例えば、E−mailアドレス)等、ユーザに関連する情報を記録するための「userConfig.dat」が格納されている。
図4は、プレースマップ画面の一例であり、図5はそのプレースマップ画面についての設定情報であるplaceMap.xmlの例を示した図である。図5に示すように、placeMap.xmlはXML形式で記述されている(1行目参照)。また、2行目のタグには、このplaceMap.xmlが更新された日時(updateTime)と、前回終了直前に操作が行われた図4に示す領域P(プレース)のプレース名(preCurrentID)とが記述されている。placeMap.xmlには、<layer name=“X”、tag=“Y”>と、</layer>とのタグから構成されるレイヤ設定部201が複数個記述されている。ここで「X」、「Y」はnull又は任意の文字列を意味する。
図4に示したプレースマップ画面を所定の表示手段で表示するときは、具体的には、表示制御手段が、プレースマップ情報(placeMap.xml)に記述(格納)されたレイヤ設定部201の順番に応じた順序で、各レイヤ設定部201に対応するレイヤ(領域L)を画面上方から順次描画する。つまり、プレースマップ情報内に記述されたレイヤ設定201の順序は、レイヤの描画位置(表示位置)と直接的な関係を有している。
レイヤ設定部201にレイヤ名が登録されているとき、即ち「layer name=“X”」の「X」に任意の文字列が登録されているときは、この文字列が図4に示すレイヤ上に設けられたレイヤ名領域L1に描画される。例えば、図5に示す2番目のレイヤ設定201では、レイヤ名に「お気に入り」と登録されており、この場合、図4に示すように、このレイヤ設定201に対応する2行目のレイヤに設けられたレイヤ名領域L1に「お気に入り」と描画される。なお、「X」がnullのとき、即ちレイヤ名が未登録の場合には、未登録の旨の文字列(例えば、図4に示す「未設定」等)を表示してもよいし、null(無表示)としてもよい。また、レイヤ自体を表示しない態様としてもよいが、レイヤ名が登録されている場合には、このレイヤ名をレイヤ名領域L1に表示することが好ましい。
各レイヤ設定部201には、図5に示すように<placeID=“Z”>で表されるタグであるプレース設定202が複数個記述されている。ここで「Z」はnull又は任意の文字列を意味する。プレース設定部202は、図4に示す領域P(プレース)と対応しており、プレースは、プレース設定202が属するレイヤ設定201のレイヤと関連付けた状態で表示される。図4に示すプレースマップ画面を表示するときは、このレイヤ設定201内に記述されたプレース設定202の順番に応じた順序で、各プレース設定202に対応するシンボル画像であるプレース画像(placeicon.jpg:図3参照)がレイヤの左方から右方にかけて順次描画される。つまり、レイヤ設定201内に記述されたプレース設定202の順序は、プレースマップ画面におけるプレース画像を行列状に描画するための位置情報を示している。
ここで、プレース設定202にプレース名が登録されているとき、即ち「placeID=“Z”」の「Z」に任意の文字列が登録されているときは、上記表示制御手段は、この文字列を対応するプレース上に描画する。例えば、図5に示す第2位(上から2番目)のレイヤ設定201では、上から2番目のプレース設定202のプレース名に「My Place」が登録されている。この場合、プレースマップ画面においては、図4に示すようにこのレイヤ設定201及びプレース設定202に対応する2行目のレイヤの中央のプレース上に、「My Place」と表示される。
なお、「Z」がnullのとき、即ち、プレース名が登録されていない場合には、未登録の旨の文字列(例えば、図4に示すように「New Place!」等)を表示する態様としてもよいし、null(無表示)としてもよい。また、後述するようにプレース設定202と対応付けてアイコン画像(placeicon.jpg:図3参照)が登録されているときは、このアイコン画像が対応するプレース上に描画される。
また、レイヤ設定201において、「tag=“Y”」には、図1に示したクライアント端末500から入力された各レイヤ(レイヤ設定201)を特徴付ける索引(インデックス)であるレイヤ属性が登録される。このレイヤ属性には、例えば、図4に示した第2位のレイヤ設定201のように「お気に入り」や「写真」等の任意の文字列を登録することができる。レイヤに登録されたレイヤ属性は、当該レイヤ上に表示された各プレースに継承され、各プレースに共通の大項目として機能する。
なお、プレースマップ情報(placeMap.xml)の初期状態では、レイヤ名及びレイヤ属性が未登録のレイヤ設定201が複数(例えば3つ)記述されている。また、各レイヤ設定201には、同数からなるプレース名及びプレース属性が未登録のプレース設定202が複数(例えば3つ)記述されている。
再び図3に示した記憶部46に記憶されたフォルダ構造について説明する。プレース管理部310には、上述した各プレースに関する種々の設定情報が格納されている。即ち、プレース管理部310のPlaceconfフォルダはプレース管理部310のルートフォルダであって、このPlaceconfフォルダの下位に、ファイル管理情報に対応するplaceIDフォルダ(placeID、placeID2…)と、属性やプレース名の登録が行われる前の、即ち未登録状態のプレースに関する設定情報が格納されているDEF_PLACEフォルダとが格納されている。
placeIDフォルダは、マップ管理部210のプレースマップ情報(placeMap.xml)に記述された図5に示すプレース設定部202の各々と対応するものであって、各プレース設定部202から対応するplaceIDフォルダを参照することができる。具体的には、プレース名登録時にこのプレース名と同一のフォルダ名のフォルダがplaceIDフォルダとして生成され、各プレース設定部202とplaceIDフォルダとが対応付けられる。なお、プレース名が未登録のプレース設定部202については、DEF_PLACEフォルダが参照される。
placeIDフォルダの下位には、placeIDフォルダに対応するプレース(以下、対応プレースという)に対するファイルの登録情報が格納されている。
このファイル登録情報のうち、place.xml(プレース情報)には、このplace.xmlを格納するplaceIDフォルダの対応プレースに関する情報、例えばユーザ(クライアント端末500)から入力された各プレースを特徴付けるためのインデックスである上記プレース属性やコメント等が登録されている。なお、このプレース属性には、単語や記号等の任意の文字列を登録することができる。
プレース属性は、上述したレイヤ属性とは独立して登録することができ、レイヤ属性が各プレースに共通の大項目として機能するのに対し、プレース属性はプレース毎の小項目として機能する。即ち、図4に示すプレースマップ画面では、レイヤとプレース(領域P)とにより、各ファイルを大項目−小項目の単位で系統立てて管理することができる。
placeicon.jpgは、図4に示すプレースマップ画面において、placeicon.jpgが格納された各placeIDフォルダに対応するプレース上に描画するアイコン画像(シンボル画像)である。なお、アイコン画像として格納される画像のフォーマットはこれに限らない。また、ユーザからアイコン画像の登録が行われていない場合には、予め用意されたデフォルトの画像データを表示するようにしてもよい。
YYYYMMフォルダは、対応プレースにファイルが登録された年月を表すフォルダであって、後述する図6に示す設定変更部413によりファイルが登録される年月毎に生成される。ここで「YYYY」は年(西暦)を、「MM」は月を表している。このYYYYMMフォルダの下位には、対応プレースにファイルが登録された日を表すDDフォルダが存在し、上記設定変更部413によりファイルが登録された日毎に生成される。即ち、YYYYMMフォルダ及びDDフォルダ内のデータによって、プレースに対してファイルが登録された年月日を確認することができる。
DDフォルダの下位には、プレースに登録された各々のファイルに対応するcontentsIDフォルダが格納される。ここで、contentsIDフォルダのフォルダ名には、このプレースに登録されたファイルのファイル名(拡張子部分を除く)が付与される。なお、これに限らず、例えば各ファイル名に連番からなる数値を順次付与するようにしてもよい。
contentsIDフォルダの下位には、このcontentsIDフォルダに対応するファイルに関する情報が記述されたcontent.xmlと、ファイルのサムネイル画像であるthumbnail.jpgと、ファイルのオリジナルデータであるoriginal.jpg等が格納されている。ここで、content.xml(ファイル情報)には、contentsIDフォルダに対応するファイルが実際に格納された格納位置や、このファイルに登録された後述するファイル属性等のファイルに関する情報が記述されている。なお、このファイルのオリジナルデータとして、original.jpgの他に、画像データであればoriginal.png、ドキュメントデータであればoriginal.doc等が格納される。
DEF_PLACEフォルダには、上述したplaceIDフォルダと同様の構成で、未登録状態のプレースに関する設定情報が格納されている。プレース情報は属性の記述がされていない初期状態で保持されているものとし、YYYYMMフォルダ以下は存在しないものとする。
また、プレース管理部310には、placeIDフォルダ毎に、このplaceIDフォルダ(即ち、プレース)の所有者及び共有者となるユーザのユーザIDを記録したmember.xml(メンバリスト)が格納されている。メンバリストに記録されたユーザIDが複数であるときは、このプレースがメンバリストに記録されたユーザID間で共有される。以下、共有状態にあるプレースを共有プレースという。
なお、メンバリストに記録されるユーザIDのうち、このメンバリストが格納されたplaceIDフォルダに対応するプレースを作成したユーザのユーザIDには、このプレースの所有者であることを識別する識別情報が付与されている。また、このプレースの共有者となるユーザのユーザIDについては、後述するアクセス権限が付与されている。
以上で説明したように、記憶部46は、マップ管理部210においてユーザ毎のプレースマップ表示を行うデータ、例えばレイヤ設定部201やプレース設定部202を管理するとともに、プレース管理部310においてそれぞれのプレースマップ表示におけるプレースのデータ、例えばプレースに登録されるファイルデータ等を管理しているから、記憶部46から上記各データを用いることで、図4に示すプレースマップ表示を行うことができる。
図6は、ファイル管理サーバ400の機能ブロック図である。ファイル管理サーバ400は、図示のように、図1に示したクライアント端末500(ユーザ)からのログインを認証する認証手段であるログイン制御部411と、図2に示した記憶部46に記憶されているユーザ毎のファイルを管理するファイル管理手段であるファイル管理部412と、I/F部47を介したクライアント端末500からの指令等により記憶部46の設定情報を変更する生成手段である設定変更部413と、設定変更部413によりプレース行列の設定変更、即ち、例えば図3に示すplace.xmlの内容変更があったときに、設定変更に基づいてプレース行列を再構成するプレース行列再構成部414と、I/F部47を介したクライアント端末500からの指令等により記憶部46内のファイルを検索する検索部415とを備え、これら各部はCPU41と、ROM42又は記憶部46に記憶された各種プログラムとの協働により実現する。
次に、図6に示したファイル管理サーバ400の各機能部の詳細について説明する。
ログイン制御部411は、クライアント端末500から後述するログイン要求を受け付け、このログイン要求に含まれたユーザID、パスワードの組を、記憶部46に予め記憶された照合用データと比較して正規のユーザか否かの認証を行う。なお、この照合用データには、正規ユーザとして登録されたユーザのユーザIDと、パスワードとの組が予め含まれている。ユーザIDは各ユーザを識別する識別情報であって、例えば、ニックネーム等の任意の文字列や、免許書番号等の数値を用いてもよい。
ファイル管理部412は、ログイン制御部411により正規ユーザと判定されたユーザについて、クライアント端末500の表示部55におけるユーザインターフェース表示を行うための図3に示した設定情報やファイル等を記憶部46から抽出し、当該ユーザのログインを行ったクライアント端末500に送信する。
また、ファイル管理部412は、ログイン制御部411によりログインが許可されたユーザIDについて、このユーザIDに対応する図3に示したマップ管理部210のプレースマップ情報(placeMap.xml)と、プレース管理部310のplaceIDフォルダとを記憶部46から読み出し、クライアント端末500に送信する。具体的には、ファイル管理部412は、ログインが許可されたユーザIDに対応するユーザフォルダ(「user1」、「user2」等:図3参照)を特定すると、このユーザフォルダのマップ管理部210からプレースマップ情報(placeMap.xml)を読み出すとともに、このプレースマップ情報に記述されたplaceID(図5参照)に対応し、かつ、このユーザIDをメンバリスト(member.xml:図3参照)に含まれているplaceIDフォルダをプレース管理部310から読み出す。
また、ファイル管理部412は、ログインが許可されたユーザIDに対応するユーザフォルダ(「user1」、「user2」等:図3参照)がマップ管理部210に存在しないとき、即ち、ユーザが新規のユーザIDでログインするとき、このユーザID名のユーザフォルダをマップ管理部210に生成し、このユーザフォルダの下位にマップ管理部210及びプレース管理部310を新たに生成する。なお、新たに生成されるマップ管理部210のプレースマップ情報は、プレースが未設定の状態であるものとし、初期状態として例えば3行3列のプレース行列が設定されているものとする。
さらに、ファイル管理部412は、設定変更部413、プレース行列再構成部414により設定情報が更新されると、この更新後の設定情報をクライアント端末500宛に送信することで、当該クライアント端末500に保持されている設定情報を更新する。なお、送信する設定情報は、変更された部分のみを差分データとしてもよいし、ログイン中のユーザIDに関係する全ての設定情報としてもよい。
また、ファイル管理部412は、後述するように、特定のプレースに属するファイルの閲覧を指令する閲覧要求をクライアント端末500から受け付けると、このファイルのサムネイル画像(thumnail.jpg:図3参照)を記憶部46から読み出し、当該閲覧要求を送信したクライアント端末500宛に送信する。
設定変更部413は、ファイルの登録(アップロード)や削除、レイヤ名・プレース名の設定変更、プレースの移動や削除等、プレースマップ画面にかかる設定変更を指令した要求をクライアント端末500から受け付けると、この要求内容に応じて記憶部46の設定情報を更新する。
プレース行列再構成部414は、設定変更部413により変更されたプレースマップ情報の設定内容に応じて、プレースマップ画面でのプレース行列を構成するレイヤの個数やプレースの個数を変更し、プレース行列を再構成する。
検索部415は、各レイヤ、プレース、ファイルに付与された属性情報(タグ)や、特定の文字列(以下、キーワードという)を検索キーとする検索要求をクライアント端末500から受け付けると、この検索キーに該当するファイルを記憶部46から検索する。
また、検索部415は、検索キーに該当するファイルを記憶部46から検索すると、検索したファイルに対応するcontentsIDフォルダを図3に示すプレース管理部310から特定し、このcontentsIDフォルダ以下の各種データとともに、contentsIDフォルダが属するDDフォルダ及びYYYYMMフォルダのツリー構造を、図2に示すRAM43や記憶部46の他の記憶領域にコピーする。
続いて、検索部415は、コピーしたcontentsIDフォルダを、YYYYMMフォルダ及びDDフォルダが表す年月日でマージし、検索結果のファイル群からなるplaceIDフォルダを生成し、検索要求に対する検索結果としてクライアント端末500に送信する。ここで、placeIDフォルダのプレース情報(place.xml)には、各contentsIDフォルダ名と、contentsIDフォルダのオリジナル(上記コピー元のcontentsIDフォルダ)が格納されたplaceIDフォルダのプレース情報の内容とが関連付けて記述されている。
次に、図1に示したクライアント端末500について説明する。
図7は、クライアント端末500のハードウェア構成を示した図である。図示のように、クライアント端末500は、プログラムを実行して装置全体を制御し、後述する各機能部(図8参照)を実現するCPU51と、プログラムや各種データを記憶しているROM52と、CPU51がプログラムをロードするRAM53と、マウスやキーボード等の入力デバイスから構成される操作部54と、液晶モニタ等の表示デバイスから構成される表示部55と、HDD等の記憶デバイスであり、各種プログラムやデータを記憶する記憶部56と、外部装置との通信を制御するI/F部57と、メモリカード等の補助記憶装置が着脱自在に構成されたアダプタ部58と、各部を接続するバス59とを備えている。
図8は、クライアント端末500の機能ブロック図である。
クライアント端末500は、ファイル管理サーバ400へログインするためのログイン処理部511と、ファイル管理サーバ400から受信した各種データに基づいて、ファイルのサムネイル画像等をリスト状に表示する表示制御部512と、ユーザからの上記プレースマップ画面等に対する設定変更(placeID等の生成要求等)を受け付け、ファイル管理サーバ400に送信する送信手段である設定変更受付部513と、操作部54から入力された検索キー等を受け付ける検索条件受付部514とを備えている。
ログイン処理部511は、ファイル管理サーバ400へのログインを行うためのログイン画面を表示部55に表示させ、ユーザがログイン画面からユーザIDとパスワードを入力すると、これらの情報を含んだログイン要求をファイル管理サーバ400に送信する。
図9は、ログイン処理部511の制御により表示部55に表示されるログイン画面の一例を示した図である。この図に示すように、ログイン画面には、ユーザID(quanpID)が入力される領域A31と、パスワードが入力される領域A32とが表示される。ログイン処理部511は、ファイル管理サーバ400へのログインを指示するボタンB31が押下されたことを検出すると、領域A31、A32に入力されたユーザIDとパスワードとを少なくとも含むログイン要求をファイル管理サーバ400に送信する。
図8において、表示制御部512は、I/F部57を介してファイル管理サーバ400から受信した各種データに基づいて、上述したプレースマップ画面等のユーザインターフェースを表示部55に表示させる。
また、表示制御部512は、ログイン時や設定変更時にファイル管理サーバ400から送信される設定情報を受け取ると、その設定情報を図3に示すツリー構造でRAM53又は記憶部56に記憶する。
さらに、表示制御部512は、操作部54を介してユーザから画面表示にかかる操作を受け付けると、RAM53又は記憶部56に記憶されている設定情報に基づいて、プレースマップ画面やプレースビュー画面、ファイルビュー画面等を表示部55に表示する。
図10は、表示制御部512により表示部55に表示されるプレースマップ画面の一例を示す図である。この図では、ユーザIDが“理光太郎”のプレースマップ画面を示しており、表示制御部512は、このユーザIDを領域A41に表示する。また、このプレースマップ画面では、“家族”、“お気に入り”、“仕事”の3つのレイヤ名が既に設定されており、レイヤ名“家族”にはプレース名“パーティ”、“サッカー”、“旅行”の3つのプレースが、レイヤ名“お気に入り”には、プレース名“Home”、“音楽”の2つのプレースが、レイヤ名“仕事”にはプレース名“資料_環境経営”のプレースが夫々設定されている。ここで、各プレースの下部に表示されている数値は、自己のプレースに格納(アップロード)されたファイルの総数を表している。なお、ファイル総数は、各プレースの「placeID」フォルダの下位に格納された「contentsID」の総数から導出することができる。
領域A42は、ファイル検索のキーワードとなる検索キーが入力される領域である。また、ボタンB41は、領域A42に入力された検索キーについての検索を指令するためのボタンであって、このボタンB41が押下されると、領域A42に入力された検索キーが検索条件受付部514に通知される。なお、プレースマップ画面のうち、特定のレイヤが選択されている場合には、検索キーとともにこのレイヤが検索範囲として検索条件受付部514に通知される。
図8において、設定変更受付部513は、プレースマップ画面やプレースビュー画面等に対する設定変更を受け付け、この変更内容に応じた設定変更要求をファイル管理サーバ400に送信することで、ファイル管理サーバ400に設定変更を要求する。ここで、設定変更にかかる操作とは、上述したレイヤ名の登録、変更、削除や、レイヤ属性の登録、変更、削除、プレース名の登録、変更、削除等であって、設定変更受付部513は、操作部54を介してこれらの操作を受け付けると、その操作内容と、現在ログイン中のユーザのユーザIDとを少なくとも含んだ情報を、変更要求としてクライアント端末500に送信する。
検索条件受付部514は、検索キーとなるキーワードや、後述する検索方法等の検索条件の入力を受け付け、これらの検索条件と、現在ログイン中のユーザのユーザIDとを少なくとも含んだ検索要求をファイル管理サーバ400に送信することで、ファイル管理サーバ400にファイルの検索を要求する。
以下、ファイル管理サーバ400と、クライアント端末500との間で行われるファイル管理処理の動作について説明する。
[プレースマップ画面の表示]
まず、クライアント端末500の表示部55にプレースマップ画面が表示されるまでの動作について説明する。図11は、ファイル管理サーバ400と、クライアント端末500との間で行われるプレースマップ画面の表示に関する処理の流れを示すフローチャートである。なお、本処理の前提として、クライアント端末500を操作するユーザのユーザID及びパスワードは、ファイル管理サーバ400に既に登録されているものとする。また、クライアント端末500のユーザに対し、他のユーザから後述する共有プレースの招待は行われていないものとする。
まず、ログイン処理部511は、ファイル管理サーバ400へのアクセスに先がけ、図9に示すようなログイン画面を表示部55に表示させる(ステップS101)。ログイン処理部511は、上述したボタンB31押下の検出により、ファイル管理サーバ400へのログインが指示されたと判定すると、ログイン画面に入力されたユーザIDとパスワードとを少なくとも含んだログイン要求を、ファイル管理サーバ400に送信する(ステップS102)。
一方、ファイル管理サーバ400では、ログイン制御部411が、クライアント端末500からのログイン要求を受け付けると、このログイン要求に含まれているユーザIDとパスワードとの組を、記憶部46に保持されている照合用データと比較することで正規のユーザか否かの認証を行う(ステップS111)。
ステップS111での認証の結果、ログイン要求に含まれたユーザIDとパスワードとの組が照合用データと一致しないと判定した場合、即ち、正規のユーザでないと判定した場合には(ステップS112;No)、ログイン制御部411は、ログインを許可しない旨の応答情報を、ログイン要求を送信したクライアント端末500宛に送信し(ステップS113)、処理を終了する。
また、ステップS112において、ログイン要求に含まれたユーザIDとパスワードとの組が照合用データと一致すると判定した場合、即ち、正規のユーザと判定した場合には(ステップS112;Yes)、ログイン制御部411は、ログインを許可する旨の応答情報を、ログイン要求を送信したクライアント端末500宛に送信し(ステップS114)、ステップS115の処理に移行する。
クライアント端末500では、ログイン処理部511が、ファイル管理サーバ400からの応答情報を取得し、この応答情報がログインを許可するものか否かを判定する(ステップS103)。ここで、ログインを許可しない旨の応答情報であった場合(ステップS103;No)、ログイン処理部511は、ステップS101に戻り、ログイン画面を表示部55に再度表示させる。このとき、ユーザID又はパスワードに誤りがある旨の情報を表示部55に表示する態様としてもよい。また、ステップS103において、ログインを許可する旨の応答情報であった場合(ステップS103;Yes)、ログイン処理部511は、ステップS104の処理に移行する。
一方、ファイル管理サーバ400では、ログイン制御部411により正規のユーザと判定されると、ファイル管理部412は、ログイン要求に含まれたユーザIDに対応する設定情報(プレースマップ情報等)を記憶部46から読み出し(ステップS115)、ログイン要求を送信したクライアント端末500宛に送信する(ステップS116)。なお、クライアント端末500のユーザが共有プレースの招待等を受けている場合、プレースマップ情報に記述されたplaceid名(<place id=“Z”>のZ)と、当該ユーザのユーザIDをメンバリストに含む「placeID」フォルダ名との間に相違が生じるが、この例については後述する。
クライアント端末500では、表示制御部512が、ファイル管理サーバ400から送信された設定情報を受信すると、この設定情報を図3に示したようなツリー構造の状態でRAM53又は記憶部56に保持する(ステップS104)。次いで、表示制御部512は、ステップS104で保持した設定情報に基づいて、プレースマップ画面表示処理を実行することで、表示部55に図10に示したようなプレースマップ画面を表示させる(ステップS105)。
図12は、プレースマップ画面表示処理の手順を示したフローチャートである。まず、表示制御部512は、プレースマップ情報に記述されたレイヤ設定部201から、描画対象とするレイヤ設定部201を一つ選択する(ステップS1111)。なお、本実施形態では、上位に記述されたレイヤ設定部201から順次描画対象に設定するものとするが、本発明ではこれに限定されない。
次いで、表示制御部512は、プレースビュー画面において、先に描画されたレイヤの下段に、描画対象のレイヤ設定201に対応するレイヤを描画する(ステップS1112)。なお、レイヤの描画が行われていない初回時には、表示画面内の予め定められた位置に描画対象のレイヤを描画する。
続いて、表示制御部512は、描画対象のレイヤ設定部201にレイヤ名が登録されているか否かを判定し、登録されていないと判定した場合には(ステップS1113;No)、ステップS1115の処理に直ちに移行する。また、ステップS1113において、レイヤ名が登録されていると判定した場合(ステップS1113;Yes)、表示制御部21は、ステップS1112で描画したレイヤのレイヤ名領域L1にレイヤ名を描画し(ステップS1114)、ステップS1115の処理に移行する。
表示制御部512は、描画対象のレイヤ設定201に記述されたプレース設定部202から、描画対象とするプレース設定部202を一つ選択する(ステップS1115)。なお、本実施形態では、上位に記述されたプレース設定部202から順次描画対象に設定するものとするが、本発明ではこれに限定されない。
続いて、表示制御部512は、ステップS1112で描画したレイヤにおいて、先に描画されたプレースの右列に、描画対象のプレース設定202に対応するプレースをステップS1112で描画したレイヤ上に描画する(ステップS1116)。なお、プレースの描画が行われていない初回時には、レイヤ上の予め定められた位置に描画対象のプレースを描画する。
次いで、表示制御部512は、描画対象のプレース設定202に対応する「placeID」フォルダ内にアイコン画像が格納されているか否かを判定し、格納されていないと判定した場合には(ステップS1117;No)、ステップS1119の処理に直ちに移行する。また、ステップS1117において、アイコン画像が格納されていると判定した場合(ステップS1117;Yes)、表示制御部21は、ステップS1116で描画したプレース上にアイコン画像を描画し(ステップS1118)、ステップS1119の処理に移行する。
ステップS1119では、表示制御部512は、描画対象のプレース設定202にプレース名が登録されているか否かを判定し、登録されていないと判定した場合には(ステップS1119;No)、ステップS1121の処理に直ちに移行する。また、ステップS1119において、プレース名が登録されていると判定した場合(ステップS1119;Yes)、表示制御部512は、ステップS1116で描画したプレース上にプレース名を描画し(ステップS1120)、ステップS1121の処理に移行する。
ステップS1121では、表示制御部512が、描画対象のレイヤ設定部201に記述されている全てのプレース設定部202を描画対象としたか否かを判定する(ステップS1121)。ここで、未処理のプレース設定部202が存在すると判定した場合には(ステップS1121;No)、ステップS1115に戻り、未処理のプレース設定部202を描画対象とする。
ステップS1121において、描画対象のレイヤ設定部201に記述された全てのプレース設定202を描画対象にしたと判定した場合には(ステップS1121;Yes)、プレースマップ情報に記述された全てのレイヤ設定部201を描画対象としたか否かを判定する(ステップS1122)。ここで、未処理のレイヤ設定部201が存在すると判定した場合には(ステップS1122;No)、ステップS1111に戻り、未処理のレイヤ設定部201を描画対象とする。また、ステップS1122において、全てのレイヤ設定部を描画対象にしたと判定した場合には(ステップS1122;Yes)、図11のステップS106の処理に移行する。
図11のステップS106では、プレースマップ画面が表示されている際、設定変更受付部513は、その設定内容の変更を指示する操作が入力されたか否かを監視する。そして、プレースマップ画面の設定変更を指示する操作が入力されたと判定した場合(ステップS106;Yes)、設定変更受付部513は、この操作内容を指令する情報と、現在ログイン中のユーザのユーザIDとを少なくとも含んだ設定変更要求をファイル管理サーバ400に送信する(ステップS107)。
一方、ファイル管理サーバ400では、設定変更部413がクライアント端末500から送信された設定変更要求を受け付けると、この設定変更要求に含まれているユーザIDに対応する設定情報を記憶部46から特定する(ステップS117)。次いで、設定変更部413は、ステップS117で特定した各設定情報に対し設定変更要求に含まれている操作内容に応じた設定情報を更新した後(ステップS118)、このユーザIDのプレースマップ情報に対してプレース行列再構成処理を実行する(ステップS119)。
図13は、プレース行列再構成処理の手順を示すフローチャートである。まず、プレース行列再構成部414は、ステップS2111の処理でプレース名の登録が行われたか否かを判定し、プレース名登録以外の他の処理が行われたと判定した場合には(ステップS2111;No)、ステップS2113の処理に移行する。
一方、ステップS2111において、プレース名の登録が行われたと判定した場合(ステップS2111;Yes)、プレース行列再構成部414は、プレース名が登録されたプレースのプレース設定に基づいて、端部判定処理を実行する(ステップS2112)。
図14は、ステップS2112の端部判定処理の手順を示すフローチャートである。まず、プレース行列再構成部414は、プレース名の登録が行われたプレースに対応するプレース設定部202と、このプレース設定部202が記述されたレイヤ設定部201とをプレースマップ情報から特定する(ステップS211211)。
次いで、プレース行列再構成部414は、ステップS211211で特定したレイヤ設定部201内に記述された、特定したプレース設定部202の位置、即ち順位を検出する(ステップS211212)。以下、ステップS211212で検出した順位を「プレース順位」という。
次に、プレース行列再構成部414は、ステップS211212で検出したプレース順位を確認し、このプレース順位を最上位と判定した場合には(ステップS211213;最上位)、プレースマップ情報に記述された各レイヤ設定部201での最上位のプレース設定部202の上部に、未登録状態のプレース設定部202を夫々追加し(ステップS211214)、ステップS211216の処理に移行する。
また、ステップS211213において、最下位と判定した場合には(ステップS211213;最下位)、プレースマップ情報に記述された各レイヤ設定部201での最下位のプレース設定部202の下部に、未登録状態のプレース設定部202を夫々追加し(ステップS211215)、ステップS211216の処理に移行する。
また、ステップS211213において、プレース順位が最上位又は最下位以外の順位と判定した場合には(ステップS211213;その他)、ステップS211216の処理に直ちに移行する。
続いて、プレース行列再構成部414は、プレースマップ情報に記述された、ステップS211211で特定したレイヤ設定部201の位置、即ち順位を検出する(ステップS211216)。以下、ステップS211216で検出した順位を「レイヤ順位」という。
次に、プレース行列再構成部414は、ステップS211216で検出したレイヤ順位を確認し、このレイヤ順位を最上位と判定した場合には(ステップS211217;最上位)、プレースマップ情報に記述された最上位のレイヤ設定部201の上部に、未登録状態のレイヤ設定201を追加し(ステップS211218)、図13のステップS2113の処理に移行する。
また、ステップS211217において、最下位と判定した場合には(ステップS211217;最下位)、プレース行列再構成部23は、プレースマップ情報に記述された最下位のレイヤ設定201の下部に、未登録状態のレイヤ設定部201を追加し(ステップS211219)、図13のステップS2113の処理に移行する。
また、ステップS211217において、レイヤ順位が最上位又は最下位以外の順位と判定した場合には(ステップS211217;その他)、図13のステップS2113の処理に直ちに移行する。
図13のステップS2113では、プレース行列再構成部414は、プレース名の削除が行われたか否かを判定し、プレース名削除以外の他の操作が行われたと判定した場合には(ステップS2113;No)、ステップS2115の処理に移行する。
一方、ステップS2113において、プレース行列再構成部414は、プレース名の削除が行われたと判定した場合(ステップS2113;Yes)、プレース名の削除が行われたプレースのプレース設定202に基づいて、登録状態判定処理を実行する(ステップS2114)。
図15は、ステップS2114の登録状態判定処理の手順を示すフローチャートである。まず、プレース行列再構成部414は、プレース名の削除が行われたプレースに対応するプレース設定部202と、このプレース設定部202が記述されたレイヤ設定201とをプレースマップ情報から特定する(ステップS211411)。
続いて、プレース行列再構成部414は、ステップS211411で特定したレイヤ設定部201内に記述された、特定したプレース設定部202の位置、即ちプレース順位を検出すると(ステップS211412)、このプレース順位に対応する各レイヤ設定部201でのプレース設定部202に、プレース名が登録済みのプレース設定202が存在するか否かを判定する(ステップS211413)。ここで、プレース名が登録済みのプレース設定部202が存在すると判定した場合(ステップS211413;Yes)、ステップS211415の処理に直ちに移行する。
また、ステップS211413において、プレース行列再構成部414は、プレース名が登録済みのプレース設定部202が存在しないと判定した場合(ステップS211413;No)、プレースマップ情報に記述された全てのレイヤ設定201から、検出したプレース順位に対応するプレース設定202を削除し(ステップS211414)、ステップS211415の処理に移行する。
続いて、プレース行列再構成部23は、ステップS211411で特定したレイヤ設定部201内に、プレース名が登録済みのプレース設定部202が存在するか否かを判定する(ステップS211415)。ここで、プレース名が登録済みのプレース設定部202が存在すると判定した場合(ステップS211415;Yes)、図13のステップS2115の処理に直ちに移行する。
また、ステップS211415において、プレース名が登録済みのプレース設定部202が存在しないと判定した場合(ステップS211415;No)、プレース行列再構成部414は、プレースマップ情報からステップS2141で特定したレイヤ設定部201自体を削除し(ステップS211416)、図13のステップS2115の処理に移行する。
図13のステップS2115では、プレース行列再構成部414は、プレースの移動が行われたか否かを判定し、プレースの移動以外の他の操作が行われたと判定した場合には(ステップS2115;No)、図11のステップS120の処理に移行する。
一方、ステップS2115において、プレース行列再構成部414は、プレースの移動が行われたと判定した場合には(ステップS2115;Yes)、移動元と移動先のプレース位置に対応するプレース設定に基づいて、隣接判定処理を実行する(ステップS2116)。
図16は、ステップS2116の隣接判定処理の手順を示すフローチャートである。まず、プレース行列再構成部414は、移動元となったプレース位置に対応するプレース設定部202と、このプレース設定202が記述されたレイヤ設定部201とをプレースマップ情報から特定する(ステップS211611)。
次いで、プレース行列再構成部414は、ステップS211611で特定したレイヤ設定部201内に記述された、特定したプレース設定部202の位置、即ちプレース順位を検出する(ステップS211612)。
次に、プレース行列再構成部414は、ステップS211612で検出したプレース順位を確認し、このプレース順位が上から2位又は下から2位の位置にあるか否かを判定する(ステップS211613)。ここで、プレース順位が上から2位又は下から2位の位置以外と判定した場合には(ステップS211613;No)、図11のステップS120の処理に直ちに移行する。
一方、ステップS211613において、プレース行列再構成部414は、プレース順位が上から2位又は下から2位の位置にあると判定した場合(ステップS211613;Yes)、プレースマップ情報に記述された、ステップS211611で特定したレイヤ設定部201の位置、即ちレイヤ順位を検出する(ステップS211614)。
次いで、プレース行列再構成部414は、ステップS211614で検出したレイヤ順位を確認し、このレイヤ順位が上から2位又は下から2位の位置にあるか否かを判定する(ステップS211615)。ここで、レイヤ順位が上から2位又は下から2位の位置以外と判定した場合には(ステップS211615;No)、図11のステップS120の処理に直ちに移行する。
一方、ステップS211615において、プレース行列再構成部414は、レイヤ順位が上から2位又は下から2位の位置にあると判定した場合(ステップS211615;Yes)、ステップS211611で特定した移動元のプレース設定部202と、レイヤ設定部201とについて登録状態判定処理を実行する(ステップS211616)。なお、ステップS211616の登録状態判定処理は、図15で説明した図13のステップS2114の登録状態判定処理と同様であるため説明を省略する。
続いて、プレース行列再構成部414は、移動先となったプレース位置に対応するプレース設定部202と、このプレース設定部202が記述されたレイヤ設定部201とをプレースマップ情報から特定する(ステップS211617)。
次いで、プレース行列再構成部414は、ステップS211617で特定した移動先のプレース設定部202と、レイヤ設定部201とについて端部判定処理を実行した後(ステップS211618)、図11のステップS120の処理に移行する。なお、ステップS211618の端部判定処理は、図14で説明した図13のステップS2112の端部判定処理と同様であるため説明を省略する。
ステップS119のプレース行列再構成処理で設定内容が変更されたプレースマップ情報は、ステップS120の処理で再度読み出されることになるため、更新後のプレースマップ画面が表示部15に表示される。
このように、各レイヤ設定部201に属するプレース設定部202の各々をファイルの管理単位を表すプレースとして同一階層で表示し、特定のプレースが選択された場合に、当該プレースのプレース設定部202に関連付けて記憶されたファイルのサムネイル画像を表示画面に表示する。これにより、ファイルの管理単位間の関係を直感的に把握することが可能となり、ファイルの管理を効率的に行うことができる。また、プレースを行列状に配置して表示することで、ファイルの管理単位間の関係を整列した状態で確認することができるため、ファイルの管理単位間の関係をより直感的に把握することが可能となる。
図11のステップS119の後、ファイル管理部412は、ステップS118で更新が行われた設定情報を記憶部46から読み出し、設定変更要求を送信したクライアント端末500宛に送信し(ステップS120)、処理を終了する。
例えば、ステップS106において、図10に示したプレースマップ画面のレイヤ名“お気に入り”に属するプレース名“音楽”のプレース位置を、プレース名“Home”の左隣のプレースに移動する操作が指示されたとすると、設定変更受付部513は、このプレース位置の移動を指示する情報(例えば、移動元プレースと移動先プレースを指定する情報)と、ユーザ名“理光太郎”とを少なくとも含んだ設定変更要求をクライアント端末500に送信する。
この場合、設定変更部413は、ステップS117において、ユーザ名“理光太郎”に関するプレース設定のうち、移動元と移動先のプレース設定を入れ替えることで、プレースの移動を実行する。なお、ステップS119のプレース行列再構成処理では、ステップS2116の隣接判定処理が実行されることになるが、本例の場合プレースマップの拡大・縮小は行わない。
また、上記の操作に引き続き、プレース名“Home”の右隣のプレースに、プレース名“映像”を登録する操作が行われたとすると、設定変更受付部513は、このプレース位置にプレース名“映像”の登録を指令する情報と、ユーザ名“理光太郎”とを少なくとも含む設定変更要求をクライアント端末500に送信する。なお、プレース名登録の際には、図17に示すようなプレース名の登録を支援する画面を設定変更受付部513が表示する態様としてもよい。
図17において、領域A51はプレースの所有者となるユーザIDを示すための領域であって、現在ログイン中のユーザIDが編集不可能な状態で表示される。領域A52はこのプレースが属するレイヤのレイヤ名を示すための領域であって、変更が指令されたプレースが属するレイヤ名が編集不可能な状態で表示される。領域A53はプレース名入力のための領域、領域A54はプレース属性入力のための領域となっており、既にプレース属性が設定されているような場合には、このプレース属性が領域A55に表示される。また、領域A56には、このプレースに関連付けたいコメント等、任意の文字列を入力することができる。
ボタンB51は、このプレース上に表示するアイコン画像の選択のための支援画面を表示するためのボタンである。即ち、このボタンB51が押下されると、設定変更受付部513は、図18に示すようなアイコン画像の選択を支援する画面を表示させる。この画面では、記憶部56に記憶された画像ファイルや、予め用意されているアイコン画像の中から、任意のアイコン画像を選択することができる。アイコン画像が選択された後、ボタンB511が押下されると、この画面に入力・設定された内容が、設定変更受付部513に通知される。この場合、設定変更受付部513は、選択されたアイコン画像を設定変更要求に含めて送信する。なお、ボタンB512が押下された場合、設定変更受付部513は、図18の画面表示を消去する。
図17のボタンB52が押下されると、この画面に入力・設定された内容が、設定変更受付部513に通知される。一方、ボタンB53が押下された場合、設定変更受付部513は、この画面の表示を消去する。なお、図17、18に示した支援画面は一例であって、画面構成はこの図示例に限定されない。
一方、設定変更部413では、プレース名“映像”の登録を指令する情報と、ユーザ名“理光太郎”とを少なくとも含む設定変更要求をクライアント端末500から受け付けると、ユーザ名“理光太郎”に係るプレース設定のうち、プレース名の登録が指令されたプレース位置のプレース設定にプレース名“映像”を設定するとともに、このプレースのメンバリストにユーザID“理光太郎”を所有者として登録等することで、図17の画面で入力・設定された情報を設定情報に反映させる。なお、プレースのアイコン画像が設定変更要求に含まれていた場合には、このアイコン画像を所定の位置(placeIDフォルダの下位)に格納する。
図19は、上述した2つの操作が行われた後、表示制御部512により表示部55に表示されたプレースマップ画面の一例を示す図である。この図に示すように、プレース名“音楽”の移動と、プレース名“映像”の登録が、指示されたプレースに反映されている。
このように、各レイヤ情報に関連付けられたプレース情報の各々をファイルの管理単位を表すプレース画像として同一階層で表示することで、ファイルの管理単位間の関係を直感的に把握することが可能となり、ファイルの管理を効率的に行うことができる。また、プレース画像を行列状に配置して表示することで、ファイルの管理単位間の関係を整列した状態で確認することができるため、ファイルの管理単位間の関係をより直感的に把握することが可能となる。
[共有メンバの設定]
次に、メンバリストの設定が変更される際の動作について説明する。図20は、ファイル管理サーバ400と、クライアント端末500との間で行われる共有プレースの設定変更に関する処理の流れを示したフローチャートである。なお、本処理の前提として、クライアント端末500の表示部55には、プレースマップ画面が既に表示されているものとする。
まず、設定変更受付部513は、表示部55に表示されているプレースマップ画面において、特定のプレースに対し共有メンバの設定変更が指示されるまで待機する(ステップS131;No)。ここで、「共有メンバ」とは、各プレースのメンバリストに含まれているユーザを意味する。
ステップS131において、共有メンバの設定変更が指示されたと判定した場合(ステップS131;Yes)、設定変更受付部513は、RAM53又は記憶部56に保持した設定情報のうち、共有メンバの設定変更が指示されたプレースのメンバリストに基づいて、共有メンバの設定変更を支援する画面を表示部55に表示させる(ステップS132)。
図21は、ステップS132で表示される共有メンバの設定を支援する画面の一例を示す図である。同図において領域A61は、共有メンバの設定が指示されたプレースのプレース名が表示される領域である。共有メンバの設定が指示されたプレースにプレース名(placeID)が登録されている場合、設定変更受付部513は、このプレース名を領域A61に表示する。なお、プレース名が登録されていない場合、図19に示したように、プレース名の入力を促す文字列を表示し、共有メンバの設定完了とともにプレース名の登録を行う態様としてもよい。
領域A62は、共有メンバの設定が指示されたプレースを共有するメンバ(ユーザID)が表示される領域である。設定変更受付部513は、共有メンバの設定が指示されたプレースのメンバリストを読み出し、このメンバリストに登録されているユーザIDを領域A62に一覧表示する。クライアント端末500のユーザは、領域A62に表示されたユーザIDを選択することが可能であり、後述するボタンB61と組み合わせて用いることで、特定のユーザを本プレースの共有メンバから削除することが可能である。
領域A63は、領域A61に表示されたプレースのメンバリストに登録、即ち、このプレースの共有メンバとして招待するユーザのユーザID(以下、招待ユーザIDという)を入力するための領域である。ここで、領域A631は、招待ユーザIDを入力するための領域である。また、領域A632は、このプレースに招待するユーザのE−mailアドレスを入力するための領域である。クライアント端末500のユーザは、これら2種類の招待方法を選択的に利用することが可能となっている。なお、E−mailを用いた招待方法の場合、クライアント端末500又はファイル管理サーバ400が備えるメール送信機能を用いて、後述する領域A65に入力されたメッセージとともに、本プレースの共有メンバとして招待する旨が招待先のユーザに通知される。
領域A64は、領域A61に表示されているプレースにおける、招待先のユーザのアクセス権限を設定するための領域である。クライアント端末500のユーザは、領域A64に表示されている「編集者」又は「読者」の何れか一方のラジオボタンを押下することで、領域A63(領域A631)で招待したユーザのアクセス権限を設定することができる。なお、「編集者」とはプレースに対するファイルの書き込み(登録、削除)、及び、ファイルの読み込みが可能な権限を意味し、「読者」とはプレースからファイルの読み込みのみが可能な権限を意味する。
領域A65は、招待先のユーザに対するメッセージを入力するための領域である。クライアント端末500のユーザは、領域A65に任意のメッセージを入力することが可能であり、入力されたメッセージは招待先のユーザに通知されることになる。なお、図21の例では、メッセージを500文字以内に制限する態様としているが、この態様に限らない。
ボタンB61は、共有メンバから特定のユーザIDの削除を指示するためのボタンである。具体的には、領域A62に表示されたユーザIDから特定のユーザIDが選択された後、ボタンB61が押下されると、設定変更受付部513は、現在クライアント端末500を操作するユーザのユーザIDと、共有メンバの設定が指示された操作対象のプレースのプレース名と、削除対象となったユーザIDとを含んだメンバ削除要求をファイル管理サーバ400に送信する。なお、選択されたユーザIDが、このプレースの所有者(オーナー)である場合には、ボタンB61を無効化等することで削除が行えないよう制御してもよい。
ボタンB62は、領域A61に表示されているプレースの共有メンバとして、領域A63で招待したユーザを登録するためのボタンである。具体的には、領域A63(領域A631)〜領域A65に入力又は設定が行われた後、ボタンB62が押下されると、設定変更受付部513は、現在クライアント端末500を操作するユーザのユーザID(以下、操作ユーザIDという)と、共有メンバの設定が指示された設定対象のプレースのプレース名と、領域A63(領域A631)〜領域A65の入力・設定内容とを含んだメンバ登録要求をファイル管理サーバ400に送信する。
なお、領域63でE−mailによる招待方法が選択された場合には、クライアント端末500から招待先のユーザ宛にメールを送信する態様としてもよい。また、ファイル管理サーバ400がメール送信機能を備える場合、この機能を用いて招待先のユーザ宛にメールを送信する態様としてもよい。後者の場合、設定変更受付部513は、現在クライアント端末500の操作ユーザIDと、共有メンバの設定が指示された設定対象のプレースのプレース名と、領域A632〜領域A65の入力・設定内容とを含んだメンバ登録要求をファイル管理サーバ400に送信する。
ボタンB63は、共有メンバ設定の終了を指示するためのボタンである。ボタンB63が押下されると、設定変更受付部513は、図21に示す画面を消去する。
図20の設定変更受付部513は、共有メンバの設定対象となったプレースに対し、ユーザIDの削除やユーザIDの登録の指示を受け付けると、この指示内容に応じたメンバ設定要求(メンバ削除要求又はメンバ登録要求)をファイル管理サーバ400に送信する(ステップS133)。
一方、ファイル管理サーバ400では、設定変更部413がクライアント端末500からメンバ設定要求を受け付けると、このメンバ設定要求に含まれているクライアント端末500の操作ユーザIDと、設定対象のプレースのプレース名とに対応するメンバリストを記憶部56から特定する(ステップS141)。
続いて、設定変更部413は、メンバ設定要求に含まれているクライアント端末500の操作ユーザIDが、ステップS141で特定したメンバリストに所有者として設定されているか否かを判定する(ステップS142)。ここで、所有者として設定されていないと判定した場合(ステップS142;No)、設定変更部413は、操作権限がない旨を示した情報を、メンバ設定要求の送信元となったクライアント端末500に送信し(ステップS143)、本処理を終了する。
また、ステップS142において、操作ユーザIDが所有者として設定されていると判定した場合(ステップS142;Yes)、設定変更部413は、メンバ設定要求の内容に基づいて、当該メンバ設定要求がメンバ削除要求かメンバ登録要求かを判定する(ステップS144)。
ステップS144において、メンバ設定要求がメンバ削除要求と判定した場合(ステップS144;No)、設定変更部413は、ステップS141で特定したメンバリストから、メンバ削除要求で指示された削除対象のユーザIDを削除し(ステップS145)、ステップS148の処理に移行する。
また、ステップS144において、メンバ設定要求がメンバ登録要求と判定した場合(ステップS144;Yes)、設定変更部413は、ステップS141で特定したメンバリストに、メンバ登録要求で指示された招待ユーザIDと、そのアクセス権限とを関連付けて登録する(ステップS146)。さらに、設定変更部413は、メンバ登録要求に含まれた招待ユーザIDに対するメッセージを、この招待ユーザIDのマップ管理部210に格納された「userconfig.dat」に記録し(ステップS147)、ステップS148の処理に移行する。
続くステップS148では、共有メンバの設定変更が正常に終了したことを指示する情報とともに、ステップS145又はS146の処理で更新したメンバリストを、メンバ設定要求を送信したクライアント端末500宛に送信し(ステップS148)、処理を終了する。
一方、クライアント端末500では、設定変更受付部513が、ファイル管理サーバ400から共有メンバの設定変更が正常に終了した旨の情報を受信したか否かを判定する(ステップS134)。ここで、操作権限がない旨の情報を受信したと判定した場合(ステップS134;No)、設定変更受付部513は、共有メンバの設定を変更する権限がない旨を表示部55に表示させ(ステップS135)、処理を終了する。
また、ステップS134において、共有メンバの設定変更が正常に終了した旨の情報を受信した場合(ステップS134;Yes)、設定変更部413は、この情報とともに受信した更新後のメンバリストをRAM53又は記憶部56に保持し直すことで、設定対象となったプレースについてのメンバリストを更新し(ステップS136)、処理を終了する。
なお、本処理ではユーザ登録要求として招待ユーザIDが送信された場合の処理の流れを示したが、招待先ユーザのE−mailアドレスを受け付けた場合には、以下のように対応することで、共有プレースへの参加を円滑に行うことができる。即ち、各ユーザの「userconfig.dat」にE−mailアドレスが登録されているような場合には、招待先ユーザのE−mailアドレスと一致するE−mailアドレスが登録された「userconfig.dat」を検索し、この「userconfig.dat」に対応するユーザIDを、招待先となった共有プレースのメンバリストに登録することとしてもよい。
また、招待先ユーザのE−mailアドレスと一致するE−mailアドレスが「userconfig.dat」中に存在しないような場合には、招待先ユーザのE−mailアドレスを招待先の共有プレースに関連付けて記憶しておき、新たにユーザ登録を行ったユーザのE−mailアドレスが、この招待先ユーザのE−mailアドレスと一致した場合に、新たに登録したユーザのユーザIDを招待先プレースのメンバリストに登録してもよい。
[共有プレースへの参加]
次に、共有プレースの招待を受けたユーザが操作するクライアント端末500と、ファイル管理サーバ400との動作について説明する。図22は、ファイル管理サーバ400と、クライアント端末500との間で行われる共有プレースへの参加に関する処理の流れを示すフローチャートである。本処理の前提として、クライアント端末500を操作するユーザのユーザIDは、ファイル管理サーバ400に登録済みであるものとする。また、ファイル管理サーバ400によりクライアント端末500を操作するユーザのログインが許可されているものとする。なお、本処理は、ファイル管理サーバ400では図11に示したステップS114以降の処理を、クライアント端末500では図11に示したステップS103以降の処理を夫々示している。
まず、ファイル管理サーバ400では、ログイン制御部411により正規のユーザと判定されると、ファイル管理部412は、クライアント端末500からのログイン要求に含まれたユーザIDに対応する設定情報を記憶部46から読み出す(ステップS161)。
続いて、ファイル管理部412は、ステップS161で読み出したプレースマップ情報に定義されている各プレース名と、ログイン要求に含まれたユーザIDが登録されたメンバリストを格納する各「placeID」フォルダのフォルダ名とを比較し(ステップS162)、両プレース名が一致しているか否かを判定する(ステップS163)。なお、プレースマップ情報においては、プレース名が明示的に定義されているものを、ステップS162での比較の対象とする。
ステップS163において、両プレース名が一致していると判定した場合(ステップS163;eq)、ファイル管理部412は、ステップS161で読み出した設定情報を、ログイン要求を送信したクライアント端末500宛に送信し(ステップS164)、処理を終了する。なお、ステップS163;eq→S164の処理は、上述したステップS115→S116(図11)の処理と同様である。
また、ステップS163において、プレースマップ情報に定義されたプレース名の方が、「placeID」フォルダのフォルダ名よりも多いと判定した場合(ステップS163;del)、ファイル管理部412は、ログイン要求に含まれたユーザIDが共有プレースのメンバから削除された、又は、共有プレース自体が削除されたと判断し、当該ユーザIDのプレースマップ情報に対し、プレース行列再構成部414に登録状態判定処理を実行させる(ステップS165)。なお、ステップS165の登録状態判定処理は、上述したステップS2114(図13)の登録状態判定処理と同様であるため、説明を省略する。
続いて、ファイル管理部412は、共有プレースを削除した旨を指示する付加情報とともに、ステップS165で処理されたプレースマップ情報を含むステップS161で読み出した設定情報を、ログイン要求を送信したクライアント端末500宛に送信し(ステップS166)、処理を終了する。なお、付加情報には、削除された共有プレース名として、ステップS163での比較により、プレースマップ情報で剰余したプレース名が含まれる。
また、ステップS163において、プレースマップ情報に定義されたプレース名の方が、「placeID」フォルダのフォルダ名よりも少ないと判定した場合(ステップS163;add)、ファイル管理部412は、ログイン要求に含まれたユーザIDが共有プレースのメンバに招待されていると判断し、ファイル管理部412は、共有プレースへの招待を指示する付加情報とともに、ステップS161で読み出した設定情報を、ログイン要求を送信したクライアント端末500宛に送信した後(ステップS167)、ステップS168に移行する。なお、付加情報には、招待された共有プレース名として、ステップS163での比較により、「placeID」フォルダで剰余したプレース名が含まれるものとする。
一方、クライアント端末500では、表示制御部512が、ファイル管理サーバ400から送信された設定情報を受信すると、この設定情報をRAM53又は記憶部56に保持する(ステップS151)。次いで、表示制御部512は、ステップS151で保持した設定情報に基づいて、プレースマップ画面表示処理を実行することで、表示部55に図10に示したようなプレースマップ画面を表示させる(ステップS152)。
続いて、表示制御部512は、設定情報とともに、付加情報を受信したか否かを判定する(ステップS153)。ここで、付加情報を受信していないと判定した場合には(ステップS153;No)、処理を終了する。
また、ステップS153において、付加情報を受信したと判定した場合(ステップS153;Yes)、表示制御部512は、この付加情報が共有プレースへの招待を指示するものか、共有プレースの削除を指示するものかを判定する(ステップS154)。
ステップS154において、付加情報が共有プレースを削除した旨を指示するものと判定した場合(ステップS154;No)、表示制御部512は、この付加情報に基づいて、削除が行われたプレース名等を通知する画面を表示部55に表示させ(ステップS155)、処理を終了する。
また、ステップS154において、付加情報が共有プレースへの招待を指示するものと判定した場合(ステップS154;Yes)、表示制御部512は、この付加情報と、先に保持した設定情報の「userconfig.dat」と、共有プレースのメンバリストとに基づいて、共有プレースへの参加を確認する画面を表示部55に表示させる(ステップS156)。
図23は、ステップS156で表示部55に表示される共有プレースへの参加を確認するための画面の一例を示した図である。同図において、領域A71は、クライアント端末500を操作するユーザが招待された共有プレースに関する情報が表示される領域である。表示制御部512は、付加情報に含まれた共有プレースのプレース名を表示するとともに、当該共有プレースのメンバリストに基づいて、この共有プレースの所有者(開設者)のユーザIDや、招待されたユーザのアクセス権限を領域A71に表示する。また、領域A72は、領域A71に表示された項目以外の共有プレースに関する情報が表示される領域である。
領域A73は、クライアント端末500を操作するユーザ(招待ユーザID)宛のメッセージが表示される領域である。具体的には、図21の領域A65に入力された情報が表示され、表示制御部512は、「userconfig.dat」に記述された、この共有プレースの所有者からのメッセージを領域A72に表示する。
招待を受けたユーザは、操作部54を介して、ボタンB71〜B73操作することで、招待を受け入れるか否かを通知することができる。ここで、ボタンB71は、招待を受け入れることを通知するためのボタンである。なお、ボタンB71が押下された場合、ユーザから、プレースマップ画面における共有プレースの配置先となるプレース位置が引き続き指定されるものとする。設定変更受付部513は、ボタンB71の押下を受け付けると、招待を受け入れたことを通知する情報とともに、クライアント端末500を操作するユーザのユーザIDと、招待を受けた共有プレースのプレース名と、共有プレースの配置先となるプレース位置とを指定する情報を回答情報として、ファイル管理サーバ400に送信する。
ボタンB72は、招待を拒否することを通知するためのボタンである。設定変更受付部513は、ボタンB72の押下を受け付けると、招待を拒否することを指示する情報とともに、クライアント端末500を操作するユーザのユーザIDと、招待を受けた共有プレースのプレース名とを指示する情報を回答情報として、ファイル管理サーバ400に送信する。また、ボタンB73は、回答を保留することを指示するためのボタンである。設定変更受付部513は、ボタンB73の押下を受け付けると、図23の画面を消去する。
図22のステップS157で、設定変更受付部513は、ステップS156で表示された画面に基づき、ユーザから招待の受け入れを保留することが指示されたと判定すると(ステップS157;保留)、ステップS156で表示した画面を消去し、本処理を終了する。
また、ステップS157において、設定変更受付部513は、ステップS156で表示された画面に基づき、ユーザから招待を拒否することが指示されたと判定すると(ステップS157;拒否)、ステップS156で表示した画面を消去し、招待を拒否することを通知する情報とともに、クライアント端末500を操作するユーザのユーザIDと、招待を受けた共有プレースのプレース名とを回答情報としてファイル管理サーバ400に送信する(ステップS158)。次いで、表示制御部512は、回答情報に対応してファイル管理サーバ400から送信される設定情報を取得するため、ステップS151に戻る。
また、ステップS157において、設定変更受付部513は、ステップS156で表示された画面に基づき、ユーザから招待を受け入れたことが通知されたと判定すると(ステップS157;許諾)、ステップS156で表示した画面を消去し、招待を受け入れたことを示す情報とともに、クライアント端末500を操作するユーザのユーザIDと、招待を受けた共有プレースのプレース名と、共有プレースの配置先となるプレース位置を指定する情報とを回答情報としてファイル管理サーバ400に送信する(ステップS159)。次いで、表示制御部512は、回答情報の送信に対応してファイル管理サーバ400から送信される設定情報を取得するため、ステップS151に戻る。
一方、ファイル管理サーバ400では、設定変更部413がクライアント端末500から送信された回答情報を受け付けると、当該回答情報に含まれる情報に基づいて、この回答情報が招待を受け入れることを示すものか否かを判定する(ステップS168)。ここで、回答情報が招待を拒否することを示すものと判定した場合(ステップS168;No)、設定変更部413は、この回答情報に含まれたプレース名に対応する「placeID」フォルダのメンバリストから、この回答情報に含まれたユーザIDを削除し(ステップS169)、ステップS172の処理に移行する。
また、ステップS168において、回答情報が招待を受け入れることを示すものと判定した場合(ステップS168;Yes)、設定変更部413は、回答情報に含まれたユーザIDのプレースマップ情報をマップ管理部210から特定すると、この回答情報に含まれた共有プレースの配置先となるプレース位置のプレース設定202に、共有プレースのプレース名を設定する(ステップS170)。
次いで、設定変更部413は、ステップS170で設定変更したプレースマップ情報に対し、端部判定処理を施した後(ステップS171)、ステップS172の処理に移行する。なお、ステップS171の端部判定処理は、上述したステップS2112(図13)の端部判定処理と同様であるため、説明を省略する。
続くステップS172において、ファイル管理部412は、設定の変更が行われた設定情報、即ち、ステップS169で処理されたメンバリスト又はステップS170、S171で処理されたプレースマップ情報を、回答情報を送信したクライアント端末500宛に送信し(ステップS172)、処理を終了する。なお、クライアント端末500では、表示制御部512がステップS172で送信された設定情報を受け付けると、この設定情報をステップS151で保持し直すことで設定情報を更新する。
このように、ユーザID毎にプレース画像を提供することができるため、各ユーザは自分専用のプレース画像を用いてファイルの管理を行うことができる。また、特定のプレース画像を複数のユーザで共有することができるため、ファイルの交換等の利用に対応することができる。また、招待を受けたユーザは共有プレースに参加するか否かを選択することができるため、ユーザの利便性を向上させることができる。
[プレースビュー画面の表示]
次に、プレースビュー画面の表示に関する動作について説明する。図24は、ファイル管理サーバ400と、クライアント端末500との間で行われるプレースビュー画面の表示に関する処理の流れを示すフローチャートである。なお、本処理の前提として、クライアント端末500の表示部55には、プレースマップ画面が表示済みであるものとする。
まず、表示制御部512は、プレースマップ画面に表示されたプレースのうち、特定のプレースに対し、プレースビュー画面の表示が指令されるまで待機する(ステップS181;No)。ここで、プレースビュー画面の表示が指令されたと判定すると(ステップS181;Yes)、表示制御部512は、RAM53又は記憶部56に保持されている設定情報のプレース管理部310から、表示対象のプレースの「placeID」フォルダを参照し、プレースビュー画面表示処理を実行する(ステップS182)。
図25は、プレースビュー画面表示処理の手順を示すフローチャートである。まず、表示制御部512は、指定されたプレースのプレース名に対応した「placeID」フォルダを参照する(ステップS1311)。
次いで、表示制御部512は、「placeID」フォルダ内に格納された「YYYYMM」フォルダが表す年月のうち、古いものから順次選択する(ステップS1312)。次に、表示制御部512は、ステップS1312で選択した「YYYYMM」フォルダ内に格納された「DD」フォルダが表す日のうち、古いものから順次選択する(ステップS1313)。
表示制御部512は、ステップS1313で選択した「DD」フォルダ内に格納された「contentsID」フォルダの一つからサムネイル画像を読み出し(ステップS1314)、プレースビュー画面において先に描画されたサムネイル画像と連続する位置に、ステップS1314で読み出したサムネイル画像を描画する(ステップS1315)。なお、サムネイル画像の描画が行われていない初回時には、プレースビュー画面の予め定められた位置に読み出したサムネイル画像を描画する。
続いて、表示制御部512は、ステップS1313で選択した「DD」フォルダ内に格納された全ての「contentsID」フォルダについて、サムネイル画像を読み出したか否かを判定する(ステップS1316)。ここで、未処理の「contentsID」フォルダが存在すると判定した場合には(ステップS1316;No)、ステップS1314の処理に再び戻り、未処理の「contentsID」フォルダからサムネイル画像を読み出す。
ステップS1316において、全ての「contentsID」フォルダからサムネイル画像を読み出したと判定した場合(ステップS1316;Yes)、表示制御部512は、ステップS1312で選択した「YYYYMM」フォルダ内に格納された全ての「DD」フォルダを選択したか否かを判定する(ステップS1317)。ここで、未処理の「DD」フォルダが存在すると判定した場合には(ステップS1317;No)、ステップS1313の処理に戻り、未処理の「DD」フォルダを選択する。
ステップS1317において、全ての「DD」フォルダを選択したと判定した場合(ステップS1317;Yes)、表示制御部512は、ステップS1311で参照した「placeID」フォルダ内に格納された全ての「YYYYMM」フォルダを選択したか否かを判定する(ステップS1318)。ここで、未処理の「YYYYMM」フォルダが存在すると判定した場合には(ステップS1318;No)、ステップS1312の処理に再び戻り、未処理の「YYYYMM」フォルダを選択する。また、ステップS1318において、全ての「YYYYMM」フォルダを選択したと判定した場合には、図24のステップS183の処理に移行する。
ステップS182において、表示制御部512は、プレースビュー画面を表示する。以下、プレースビュー画面の表示形態について詳細に説明する。
図26は、プレースビュー画面の一例を示す図であって、図19に示したプレースマップ画面のうち、プレース名が“パーティ”のプレースのプレースビュー画面を示している。
ここで、領域A81は、表示対象のプレースに登録されたファイルのサムネイル画像を表示するための領域である。図26の表示形態では、表示対象のプレースに登録された各ファイルのサムネイル画像が、ファイルの登録が行われた年月日に応じた順序で投影画として3次元的(立体的)に配列された状態で領域A81に表示される。
カーソルC1は、領域A81に表示されるサムネイル画像の配列を切り替えるためのカーソルボタンである。カーソルC1が上方又は下方に操作されると、表示制御部512は、領域A81に表示中のサムネイル画像の配列を画面奥行き方向(上方)又は手前方向(下方)へ移動することで、時系列的により新しい又はより古いファイルのサムネイル画像列が前面に表示されるように切り替える。
カーソルC3は、プレースビュー画面の表示対象となるプレースを切り替えるためのカーソルボタン(プレース切り替えボタン)である。カーソルC3が画面左方又は右方に操作されると、表示制御部512は、プレースマップ画面での各プレースの配置位置に基づいて、現在表示対象のプレースの左方又は右方に位置するプレースに表示対象を切り替える。同様に、カーソルC3が画面上方又は下方に操作されると、表示制御部512は、プレースマップ画面での各プレースの配置位置に基づいて、現在表示対象のプレースの上方又は下方に位置するプレースに表示の対象を切り替える。そして、表示制御部512は、新たに表示対象となったプレースに対してプレースビュー画面表示処理を実行する。
このカーソルC3により、プレースビュー画面の表示中に、上下左右の何れかの方向への移動を受け付けると、表示制御部512は、現在表示中のプレースビュー画面に対応するプレースから、受け付けた移動方向に配置されたプレースについてのプレースビュー画面表示に切り替える。これにより、各プレースの配置位置に応じた操作により、各プレースが管理するファイルのサムネイル画像を表示することができるため、ユーザはファイルの管理単位間の関係を直感的に把握することが可能となり、ファイルの管理を効率的に行うことができる。なお、カーソルC3は上下左右の4方向に操作することが可能であるものとするが、右上方向や左下方向等、斜め方向も含めた8方向に操作できるようにしてもよい。
図26において、カーソルC4は、領域A81に表示されているプレースビュー画面の表示倍率を変更するためのカーソルボタンである。カーソルC4が画面左方(「−」側)に操作されると、表示制御部512は、この操作量に応じて領域A81に表示したサムネイル画像群の表示サイズを縮小する。また、カーソルC4が画面右方(「+」側)に操作されると、表示制御部512は、この操作量に応じて領域A81に表示されているサムネイル画像群の表示サイズを拡大する。
領域A82には、表示対象のプレースが属するレイヤ名や、表示対象のプレース名、表示対象のプレースに登録されたファイルの合計サイズ等が表示される。なお、これらの各情報は、領域A81に表示されたサムネイル画像を格納するフォルダ名や、当該フォルダの「content.xml」、プレースマップ情報等に基づき、表示制御部512により表示される。
また、ボタンB81〜B83は、プレースビュー画面の表示形態を切り替えるためのボタンである。クライアント端末500を操作するユーザは、ボタンB81〜B83の何れか一つを選択的に押下することで、プレースビュー画面の表示形態を切り替えることが可能となっている。
ここで、ボタンB81は、サムネイル画像群を3次元的に表示することを指示するためのボタンである。表示制御部512は、ボタンB81の押下を受け付けると、サムネイル画像群を図26に示すような3次元的な表示形態のプレースビュー画面を表示する。なお、図26では、サムネイル画像の元となるファイルが画像ファイルである場合の表示例を示しているが、文書等のドキュメントファイルの場合には、その文書内容がサムネイル画像として表示される。
ボタンB82は、サムネイル画像を2次元的に配列して表示する表示形態を指示するためのボタンである。表示制御部512は、ボタンB82の押下を受け付けると、表示対象のプレースに登録されたファイルのサムネイル画像を2次元的に配列して領域A81に表示する。
また、ボタンB83は、サムネイル画像をリスト表示する表示形態を指示するためのボタンである。表示制御部512は、ボタンB83の押下を受け付けると、領域A81にサムネイル画像をリスト表示する。
なお、領域A85は、ファイル検索のキーワードとなる検索キーが入力される領域である。また、ボタンB84は、領域A85に入力された検索キーについての検索を指示するためのボタンであって、このボタンB84が押下されると、領域A85に入力された検索キーが検索条件受付部514に通知される。
図24のステップS183表示で、制御部512は、上述したボタンB81〜83の押下等により表示形態の切り替えが指示されたか否か判定する。ここで、表示形態の切り替えが指示されたと判定すると(ステップS183;Yes)、表示制御部512は、ステップS182に再び戻り、指示された表示形態でプレースビュー画面を表示する。
図27は、プレースビュー画面の別の一例を示す図である。この図において、図26と対応する部分には図26と同一の参照符号を付した。なお、図26のような画面を表示するか図27のような画面を表示するかは、予め操作部54からユーザにより設定されている。この画面では、領域A81に全体に背景(ここでは空と雲)の画像が表示されている。この背景上に半透明のレーンA811〜A814が表示され、中央のレーンA811上にサムネイル画像が表示されている。また、領域A81に表示されたサムネイル画像の表示アングルを切り替えるためのカーソルボタンC2が配置されている。カーソルC2が画面上方又は下方に操作されると、表示制御部512は、この操作量に応じた分だけ、サムネイル画像の配列を表示(描画)する際の視点位置を水平方向又は垂直方向に移動することで表示アングルを切り替える。ここでは、図26よりも右方の視点から見た画像を表示している。
ここで、図27に表示されているサムネイル画像が図41のプレースマップ画面上のプレース名が“Bc”のプレースに対応する場合、中央のレーンA811の右隣のレーンA813上にマウスポインタを載せると、そのレーン上に“Bc”の右隣に位置するプレース名“Bd”とそのアイコンからなる画像D1が表示される。この状態でマウスをクリックすると、中央のレーンA811上に表示されるサムネイル画像が、プレース名が“Bc”のファイルからプレース名“Bd”のファイルに切り替わる。同様に、中央のレーンA811の左隣のレーンA812上にマウスポインタを載せると、そのレーン上に“Bc”の左隣に位置するプレース名“Bb”とそのアイコンからなる画像が表示される。
図28は、図27に示したプレースビュー画面において、サムネイル画像の配列を表示する視点の左右方向の位置を図26と同様、左右の中心にしたものである。また、図29は、図28のプレースビュー画面において、表示されるサムネイル画像の数を奥行き方向に増加させたものである。従来装置では、横方向4枚、奥行き方向6列の固定配置であったが、本実施形態では、奥行き方向の数を6列〜25列の任意の値に設定できるようにした。このとき、奥に配置されている画像程サイズは小さくなるが、最前列から数えて同じ順位の列に配置されているサムネイル画像のサイズは、図28に示す6列表示の場合も図29に示す25列表示の場合も同じである。また、図28、図29に示したプレースビュー画面において、任意のサムネイル画像をマウスポインタで指示した状態でマウスのスクロールボタンを回転させることで、そのサムネイル画像のズームイン(拡大表示)、ズームアウト(縮小表示)が可能である。
図30は、図27〜図29のプレースビュー画面についての設定情報であるUIHistory.xmlの例を示す図である。UIHistory.xmlは記憶部56に記憶されている。ビュー設定部1300には、サムネイル画像の表示列数設定部1301が設けられている。表示列数は6列から25列の範囲で設定可能であり、ここでは6列に設定されている。プレース設定部1200には、プレースID設定部1201、背景画像設定部1202、カメラ水平方向アングル設定部1203、カメラ垂直方向アングル設定部1204等が設けられている。プレースID設定部1201にはファイル名が設定される。背景画像設定部1202、カメラカメラ水平方向アングル設定部1203、カメラ垂直方向アングル設定部1204はプレースID毎に設定されるので、プレースIDにより、各プレースと、その背景画像、並びにサムネイル画像の視点の水平方向及び垂直方向のアングルとの対応を取ることができる。以下、これらの設定情報の作成手順について説明する。
[背景画像の設定]
図31は、プレースのプロパティを示す画面であり、図32は、図31の背景設定ボタン54Bを押したときに表示されるプレースの背景の設定画面である。図31の画面構成は、図17に示した新規共有プレースの開設を支援する画面に背景設定ボタンB54を追加した構成である。図32に示すプレース背景の設定画面では、記憶部56に記憶された背景画像や予め用意されている背景画像の中から、任意の背景画像を選択することができる。また、「プレース背景の設定方法」として、選択した背景画像を共有プレースの共有メンバーに共通の背景とするか又はこのPC(クライアント端末)だけの個別の背景画像とするかをラジオボタンにより選択することができる。
ユーザが、図32に示す設定画面を見ながら、操作部54を用いて、背景画像の選択、及び「プレース背景の設定方法」を行い、OKボタンB541を押すことにより、設定が完了する。設定された背景情報は表示制御部512へ送られる。表示制御部512はプレース毎にその背景情報を記憶部56(図30の背景タイプ設定部1202)に記憶する。プレースビュー画面を表示する際に表示制御部512は背景情報を取得し、その背景情報から背景画像を指定し、表示部55が表示を行う。
[表示列数の設定]
図33に表示列数の設定画面を示す。この画面は、「オプション」タグを選択したときに表示され、この画面上の「3Dビューの表示列」のスライドボタンB55により選択可能である。選択を行い、OKボタンB56を押すことにより、設定が完了する。
ユーザが図33に示す設定画面を見ながら、操作部54を用いて、プレースビュー画面でのサムネイル画像表示列数を設定すると、表示制御部512へ表示列数の情報が送られる。表示制御部512はその情報を記憶部56(図30の表示列数設定部1301)に記憶する。プレースビューを表示する際に、表示制御部512は表示列数の情報を取得し、その情報から表示する枚数を決定し、表示部55が表示を行う。
[視点位置の設定]
前述したように、図27に示すプレースビュー画面でカーソルC2を操作することで、表示アングル(視点)を水平方向及び垂直方向に切り替えることができる。即ち、プレースビュー画面を見ながら、ユーザが操作部54を用いて、カーソルC2を操作し、表示アングル(縦方向、横方向)を指定すると、その動きに合わせて、表示部55が表示を行う。プレースの移動など、プレースビューからビューの切り替えが発生したときに、そのアングル状態を表示制御部512が記憶部65(図30のカメラ水平方向アングル設定部1203、カメラ垂直方向アングル設定部1204)へ送る。プレースビュー画面を表示する際に、表示制御部512は、記憶部65からプレースの表示アングル情報を取得し、その情報から表示するアングルを決定し、表示部55が表示を行う。
ここで、表示アングルは、図27におけるサムネイル画像をその前方から撮影するように配置したカメラの軌道(移動経路)及び向きにより設定する。これらの設定値について、図34〜37を用いて説明する。
図34は、スライダーバー(カーソルC2)の左右方向の位置とカメラの位置との関係を示す表(図34A)、及びその表に対応するカメラの軌道を真上から見たグラフ(図34B)であり、図35は、スライダーバー(カーソルC2)の上下方向の位置とカメラの位置との関係を示す表(図35A)、及びその表に対応するカメラの軌道を真横から見たグラフ(図35B)である。また、図36は、スライダーバー(カーソルC2)の左右方向の位置とカメラのパン角度との関係を示す表、並びにその表に対応するカメラの軌道及び向きを真上から見たグラフであり、図37は、スライダーバー(カーソルC2)の上下方向の位置とカメラのチルト角度との関係を示す表、並びにその表に対応するカメラの軌道及び向きを真横から見たグラフである。ここで、X座標、Y座標、Z座標は、それぞれプレースビュー画面の横方向位置、縦方向位置、奥行き方向位置を表す。
図34Aに示すように、スライダーバーの左端位置を0、右端位置を180とし、スライダーバーの左端位置をX=−90、右端位置をX=90に対応させるとともに、それらの間ではスライダーバーの位置とX座標とをリニアに対応させる。また、Z座標については、スライダーバーの両端でZ=−9.25、中央でZ=11とし、それらの間で左右対象となるようにする。Yの値は固定である。これにより、カメラの軌道は図34Bに示すように、Z軸に対し対称な二次曲線となる。ここで、スラーダーバーの初期値は90であり、そのときのXの値は0、Zの値は11である。図34Bに示されている、4行×2列の「画像」は、図27における1列目及び2列目のサムネイル画像の位置を示しており、3列目以降のサムネイル画像は、図34BのZ軸のマイナス方向に等間隔に並ぶ。
カメラが図34Bに示す軌道上を移動するとき、軌道上の各位置におけるカメラの水平方向アングル(パン角度)は図36に示すようになる。この図の右側のグラフに示されているように、カメラは軌道上の任意の位置でZ軸方向を向くように、水平方向アングルが設定される。
以上、水平方向アングルについて説明した。次に垂直方向アングルについて説明する。図35Aに示すように、スライダーバーの下端位置を0、上端位置を100とし、スライダーバーの下端位置をY=−90、上端位置をY=20に対応させるとともに、それらの間ではスライダーバーの位置とY座標とをリニアに対応させる。Xの値及びZの値は固定である。これにより、カメラの軌道は図35Bに示すように、XZ平面に垂直な直線となる。ここで、スラーダーバーの初期値は50であり、そのときのYの値は10である。図35Bに示されている「画像」は、図27における1列目のサムネイル画像の位置を示しており、2列目以降のサムネイル画像は、図35BのZ軸のマイナス方向に等間隔に並ぶ。
カメラが図35Bに示す軌道上を移動するとき、軌道上の各位置におけるカメラの垂直方向アングル(チルト角度)は図37に示すようになる。この図の右側のグラフに示されているように、カメラは軌道上の任意の位置でX軸方向を向くように、垂直方向アングルが設定される。
図24の説明に戻る。ステップS183で、表示制御部512により、表示形態の切り替えが指示されないと判定された場合(ステップS183;No)、設定変更受付部513は、プレースビュー画面を表示している表示対象のプレースに対して、ファイルの登録が指示されたか否かを判定する(ステップS184)。ここで、ファイルの登録が指示されていないと判定した場合には(ステップS184;No)、ステップS188の処理に直ちに移行する。
ステップS184において、ファイルの登録が指示されたと判定した場合(ステップS184;Yes)、設定変更受付部513は、ファイルの登録を支援する画面を表示部55に表示し、ユーザからの入力を待機する(ステップS185)。
ここで、図38は、ステップS185で表示されるファイルの登録を支援する画面の一例を示した図である。同図において、領域A91は、ファイルの登録を行うプレース名が表示される領域であって、設定変更受付部513は、ファイルの登録が指示されたプレース名を領域Aに表示させる。なお、プレースビュー画面からファイルの登録が指示された場合、このプレースビュー画面で表示されているプレースがファイルの登録対象となるため、当該プレースをファイルの登録先として取り扱う。
領域A92は、登録対象のファイルに関する情報を表示するための領域である。設定変更受付部513は、登録対象に指定されたファイルのファイル名や、ファイルタイプ、ファイルサイズ等の情報を領域A92に表示させる。
領域A93は、登録対象のファイルに付与する属性を入力するための領域であって、ユーザは任意の文字列をファイルの属性(以下、ファイル属性という)として入力することができる。また、領域A94は、登録対象のファイルに対するコメントを入力するための領域であって、ユーザは任意の文字列をファイルについてのコメントとして入力することができる。
ボタンB91は、ファイルの登録(アップロード)を指示するためのボタンである。設定変更受付部513は、ボタンB91の押下を受け付けると、領域A91〜A94に表示及び入力された情報ともに、登録対象のファイルと、クライアント端末500を操作するユーザのユーザIDとをファイル登録要求としてファイル管理サーバ400に送信する。なお、ボタンB92は、ファイルの登録の中止を指令するためのボタンであって、設定変更受付部513は、ボタンB92の押下を受け付けると、表示部55に表示されている図38の画面を消去する。
図24のステップS186で、設定変更受付部513は、ステップS185で表示した画面に基づき、ファイル登録の指示をユーザから受け付けると、上述したファイル登録要求をファイル管理サーバ400に送信する。ここで、ファイル登録要求の送信時に、ファイルのアップロード状況を表す画面を表示部55に表示することとしてもよい。
ステップS186の後、表示制御部512は、ファイル登録要求に対する応答として、ファイルを登録したプレースに関する設定情報をクライアント端末500から受信すると、RAM53又は記憶部56に保持されている設定情報を更新する(ステップS187)。なお、後述する操作不可を指示した情報を受信した場合には、その旨を表示部55に表示する。
また、設定変更受付部513は、プレースビュー画面に表示された特定のファイル(サムネイル画像)に対し、削除が指示されたと判定すると(ステップS184;No→ステップS188;Yes)、削除が指示されたサムネイル画像を格納するフォルダ名(contentsID)と、当該フォルダを格納するプレース名と、現在ログイン中のユーザのユーザIDとを含んだ情報をファイル削除要求としてファイル管理サーバ400に送信する(ステップS189)。
ステップS189の後、表示制御部512は、ファイル削除要求に対する応答として、ファイルを削除したプレースに関する設定情報をクライアント端末500から受信すると、RAM53又は記憶部56に保持した設定情報を更新し(ステップS190)、ステップS182に戻る。なお、後述する操作不可を指示した情報を受信した場合には、その旨を表示部55に表示する。
また、ステップS188において、ファイルの削除が指示されないと判定した場合には(ステップS188;No)、ステップS182の処理に戻る。
一方、ファイル管理サーバ400では、設定変更部413が、ファイル登録要求又はファイル削除要求を受け付けると(ステップS201)、この要求の操作対象となったプレースのメンバリストを参照し、当該プレースが共有プレースか否かを判定する(ステップS202)。ここで、共有プレースではないと判定した場合(ステップS202;No)、ステップS205の処理に直ちに移行する。
ステップS202において、共有プレースと判定した場合(ステップS202;Yes)、設定変更部413は、ステップS201で受け付けた要求に含まれるユーザIDのアクセス権限が、読者(読み込みのみ)か否かを判定する(ステップS203)。アクセス権限が読者と判定した場合(ステップS203;Yes)、設定変更部413は、ファイル操作が不可である旨を示すた情報を、ファイル登録要求又はファイル削除要求を送信したクライアント端末500宛に送信し(ステップS204)、処理を終了する。
また、ステップS203において、アクセス権限が編集者(読み書き可能)と判定した場合(ステップS203;No)、設定変更部413は、ステップS201で受け付けた要求がファイル登録要求かファイル削除要求かを識別する(ステップS205)。ここで、ファイル登録要求と判定した場合(ステップS205;Yes)、設定変更部413は、ファイル登録処理を実行する(ステップS206)。
図39は、ファイル登録処理の手順を示したフローチャートである。まず、設定変更部413は、ファイル登録要求に含まれた登録対象のファイルを記憶部46の所定の領域に格納する(ステップS20601)。ここで、ファイルが記憶される領域は特に問わないものとする。例えば、データベース等により記憶・管理する態様としてもよいし、記憶部46以外の外部記憶装置に格納される態様としてもよい。
続いて、設定変更部413は、日時を計時する図示しない計時手段から現在の年月日を取得し(ステップS20602)、この年月日を表す「YYYYMM」フォルダと「DD」フォルダとを、操作対象となったプレースの下位に所定の構造で生成する(ステップS20603)。なお、現在の年月日に対応する「YYYYMM」及び「DD」フォルダが既に存在する場合には、本処理を省略する。
続いて、設定変更部413は、登録対象となったファイルのファイル名に対応する「contentsID」フォルダを、ステップS20603で生成した「DD」フォルダの下位に生成する(ステップS20604)。次いで、設定変更部413は、ステップS20601で生成したファイルからサムネイル画像を生成すると(ステップS20605)、このサムネイル画像をステップS20604で生成した「contentsID」フォルダに格納する(ステップS20606)。
更に、設定変更部413は、ファイル登録情報に含まれた各種情報(ユーザID、ファイルに関する情報等)や、ステップS20601で格納したファイルの格納先を示す情報を記したファイル情報(content.xml)を生成する(ステップS20607)。ここで、ステップS20601で格納したファイルがドキュメントファイルであった場合、設定変更部413は、当該ファイルの文脈や語彙を解析することで、当該ドキュメントファイルの概要を示した要約を生成し、ファイル情報に記録する。なお、文脈や語彙等の解析は公知の技術を用いる。
次いで、設定変更部413は、ステップS20607で生成したファイル情報を、ステップS20604で生成した「contentsID」フォルダに格納し(ステップS20608)、図24のステップS208の処理に移行する。
図24の説明に戻る。ステップS205において、ファイル削除要求と判定した場合(ステップS205;No)、設定変更部413は、ファイル削除要求に基づいてファイル削除処理を実行する(ステップS207)。
図40は、ステップS207のファイル削除処理の手順を示すフローチャートである。まず、設定変更部413は、ファイル削除要求に含まれたプレース名の「placeID」フォルダから、削除対象のファイル名に対応する「contentsID」フォルダを特定する(ステップS20701)。
続いて、設定変更部413は、ステップS20701で特定した「contentsID」フォルダに格納されたファイル情報を参照し、このファイル情報に記述された格納先から削除対象のファイルを削除する(ステップS20702)。
次いで、設定変更部413は、ステップS20701で特定した「contentsID」フォルダが格納された「DD」フォルダに、他の「contentsID」フォルダが存在するか否かを判定する(ステップS20703)。他のフォルダが存在しないと判定した場合(ステップS20703;No)、設定変更部413は、この「DD」フォルダ自体を削除し(ステップS20704)、図24のステップS208の処理に移行する。
また、ステップS20703において、「DD」フォルダに他の「contentsID」フォルダが存在すると判定した場合には(ステップS20703;Yes)、設定変更部413は、ステップS20701で特定した「contentsID」フォルダのみを削除し(ステップS20705)、図24のステップS208の処理に移行する。
図24に示すように、設定変更部413は、ステップS206又はS207で更新した設定情報を、ファイル登録要求又はファイル削除要求を送信したクライアント端末500宛に送信し(ステップS208)、処理を終了する。クライアント端末500では、ステップS190で設定情報が更新されることにより、更新後の状態を表すプレースビュー画面が表示部55に表示される。
このように、本実施形態のファイル管理装置によれば、 各プレース画像が管理するファイルのサムネイル画像を表示する際に、行列状の表示において隣接するプレース画像のプレース名とアイコンを表示するので、サムネイル画像を見ながら隣接するファイル管理単位の関係を把握することが可能となり、より効率的なファイル管理を行うことができる。
また、 各プレース画像が管理するファイルのサムネイル画像を表示する際に、プレース画像毎に設定した背景画像を合わせて表示するので、ファイルの管理単位が切り替わったことをユーザが直観的に把握することができる。
さらに、各プレース画像が管理するファイルのサムネイル画像を表示する際に、一度に表示できるサムネイル画像の枚数を増やすことや、視点位置(カメラアングル)を変えることで一覧性が向上し、より効率的なファイル検索が可能である。
なお、以上の実施形態は、本発明をクライアント−サーバ型のシステムに適用したものであるが、本発明はスタンドアローン型のシステムに適用することも可能である。
41,51・・・CPU、42,52・・・ROM、43,53・・・RAM、44,54・・・操作部、45,55・・・表示部、46,56・・・記憶部、47,57・・・I/F部、58・・・アダプタ部、201・・・レイヤ設定、202・・・プレース設定、210・・・マップ管理部、310・・・プレース管理部、400・・・ファイル管理サーバ、411・・・ログイン制御部、412・・・ファイル管理部、413・・・設定変更部、414・・・プレース行列再構成部、415・・・検索部、500・・・クライアント端末、511・・・ログイン処理部、512・・・表示制御部、513・・・設定変更受付部、514・・・検索条件受付部、1201・・・プレースID設定部、1202・・・背景画像設定部、1203・・・カメラ水平方向アングル設定部、1204・・・カメラ垂直方向アングル設定部、1301・・・サムネイル画像の表示列数設定部。