(57)【要約】【課題】１つのアイテムが複数の親フォルダを持つことのできるフォルダ階層構造を、１つのアイテムが１つの親フォルダしか持てないツリー構造に変換するための好適なしくみを提供する。【解決手段】データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造を用いるデータ管理方法は、フォルダに登録されているデータまたはフォルダである子アイテムと、前記子アイテムが登録されているフォルダである親フォルダとのペアを示す関係データに属性情報を付与する。この属性情報は、１つの子アイテムが複数の親フォルダに登録されている場合に、当該複数の親フォルダのうちの１つを選択するために参照されるもので、属性情報に基づいてそれぞれの子アイテムが１つの親フォルダに登録されるように関係データを選択することにより、フォルダ階層構造の少なくとも一部を、１つの子アイテムが単一のフォルダに属するツリー構造へ変換する。【選択図】  図１
2010176574.tif 000002
【特許請求の範囲】
【請求項１】
データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造を用いるデータ管理方法であって、
フォルダに登録されているデータまたはフォルダである子アイテムと、前記子アイテムが登録されているフォルダである親フォルダとのペアを示す関係データを管理する関係データ管理工程と、
前記関係データ管理工程によって管理されている関係データの各々に属性情報を付与し、管理する属性管理工程と、
１つの子アイテムが複数の親フォルダに登録されている場合には、前記１つの子アイテムと前記複数の親フォルダの各々とのペアに対応する複数の関係データに付与されている属性情報に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することにより、前記フォルダ階層構造の少なくとも一部を、１つの子アイテムが単一のフォルダに登録されているツリー構造へ変換する変換工程とを有することを特徴とするデータ管理方法。
【請求項２】
前記属性情報はアクセス履歴を含み、
前記属性管理工程では、子アイテムへのアクセスに応じて、そのアクセス経路にある当該子アイテムとその親フォルダのペアに付与されている関係データのアクセス履歴を更新し、
前記変換工程では、前記アクセス履歴に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項１に記載のデータ管理方法。
【請求項３】
前記アクセス履歴はアクセス頻度を含み、
前記変換工程では、前記複数の関係データのうちアクセス頻度が最も高い関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項２に記載のデータ管理方法。
【請求項４】
前記アクセス履歴はアクセス日時を含み、
前記変換工程では、前記複数の関係データのうちアクセス日時が最も新しい関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項２に記載のデータ管理方法。
【請求項５】
前記属性情報として、対応する関連データに記録されている子アイテムと親フォルダの関係が主であるか従であるかを示す情報をユーザに設定させる設定工程を更に有し、ここで、主であることを示す情報は同一の子アイテムを示す関連データのうちの唯一つの関連データにのみ付与可能であり、
前記変換工程では、前記複数の関係データのうち主であることを示す情報が設定された関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項１に記載のデータ管理方法。
【請求項６】
前記複数の関係データのうち、親フォルダに対して現在のユーザがアクセス権を有する関係データを抽出する抽出工程を更に有し、
前記変換工程では前記抽出工程で抽出された関係データの親フォルダの中から前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項１に記載のデータ管理方法。
【請求項７】
前記複数の関係データのうち前記変換工程で選択されなかった関係データによって関係づけられている親フォルダと子アイテムについて、前記ツリー構造においてその親フォルダに対応するフォルダへ、その子アイテムに対応するアイテムのショートカットまたはリンクを登録する登録工程を更に有することを特徴とする請求項１乃至６のいずれか１項に記載のデータ管理方法。
【請求項８】
データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造を用いるデータ管理装置であって、
フォルダに登録されているデータまたはフォルダである子アイテムと、前記子アイテムが登録されているフォルダである親フォルダとのペアを示す関係データを管理する関係データ管理手段と、
前記関係データ管理手段によって管理されている関係データの各々に属性情報を付与し、管理する属性管理手段と、
１つの子アイテムが複数の親フォルダに登録されている場合には、前記１つの子アイテムと前記複数の親フォルダの各々とのペアに対応する複数の関係データに付与されている属性情報に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することにより、前記フォルダ階層構造の少なくとも一部を、１つの子アイテムが単一のフォルダに登録されているツリー構造へ変換する変換手段とを備えることを特徴とするデータ管理装置。
【請求項９】
前記属性情報はアクセス履歴を含み、
前記属性管理手段は、子アイテムへのアクセスに応じて、そのアクセス経路にある当該子アイテムとその親フォルダのペアに付与されている関係データのアクセス履歴を更新し、
前記変換手段は、前記アクセス履歴に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項８に記載のデータ管理装置。
【請求項１０】
前記アクセス履歴はアクセス頻度を含み、
前記変換手段は、前記複数の関係データのうちアクセス頻度が最も高い関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項９に記載のデータ管理装置。
【請求項１１】
前記アクセス履歴はアクセス日時を含み、
前記変換手段は、前記複数の関係データのうちアクセス日時が最も新しい関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項９に記載のデータ管理装置。
【請求項１２】
前記属性情報として、対応する関連データに記録されている子アイテムと親フォルダの関係が主であるか従であるかを示す情報をユーザに設定させる設定手段を更に備え、ここで、主であることを示す情報は同一の子アイテムを示す関連データのうちの唯一つの関連データにのみ付与可能であり、
前記変換手段では、前記複数の関係データのうち主であることを示す情報が設定された関係データを選択することにより、前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項８に記載のデータ管理装置。
【請求項１３】
前記複数の関係データのうち、親フォルダに対して現在のユーザがアクセス権を有する関係データを抽出する抽出手段を更に備え、
前記変換手段は前記抽出手段により抽出された関係データの親フォルダから前記１つの子アイテムが登録されている１つの親フォルダを選択することを特徴とする請求項８に記載のデータ管理装置。
【請求項１４】
前記複数の関係データのうち前記変換手段で選択されなかった関係データによって関係づけられている親フォルダと子アイテムについて、前記ツリー構造においてその親フォルダに対応するフォルダへ、その子アイテムに対応するアイテムのショートカットまたはリンクを登録する登録手段を更に備えることを特徴とする請求項８乃至１３のいずれか１項に記載のデータ管理装置。
【請求項１５】
請求項１乃至７のいずれか１項に記載されたデータ管理方法をコンピュータに実行させるコンピュータプログラム。
【請求項１６】
請求項１乃至７のいずれか１項に記載されたデータ管理方法をコンピュータに実行させるコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフォルダ階層を用いたデータ管理に関する。
【背景技術】
【０００２】
データを管理する方法として、フォルダを用いてデータを分類する方法が一般に用いられている。データをフォルダに登録し、さらにそのフォルダを別のフォルダに登録することで、ユーザの望むデータ分類体系をフォルダ階層構造によって具現化している。このフォルダ階層構造を構築する方法は、データおよびフォルダを１つのフォルダにのみ登録可能なもの（以下、ツリー構造）と、複数のフォルダに登録可能なもの（以下、非ツリー構造）に大別される。ツリー構造を用いた従来技術にはＭｉｃｒｏｓｏｆｔＷｉｎｄｏｗｓ（登録商標）のＦＡＴ（ファイルアロケーションテーブル）やＮＴＦＳ（ニューテクノロジーファイルシステム）がある。また非ツリー構造を用いた従来技術には、１つのフォルダを複数のフォルダで共有する方法（特許文献１）や、Ｕｎｉｘ（登録商標）ファイルシステムのリンクなどがある。
【０００３】
ここで、非ツリー構造を用いるシステムとツリー構造を用いるシステムが混在する環境において前者から後者にデータをエクスポートする場合、前者のフォルダ階層構造をツリー構造に変換する必要がある。これを行う従来技術には、例えばＵｎｉｘ（登録商標）からＷｉｎｄｏｗｓ（登録商標）へデータをエクスポートするソフトウェアのＳａｍｂａ（非特許文献１）がある。
【特許文献１】特開平１１−１３４２３３号公報
【非特許文献１】日本  Ｓａｍｂａ  ユーザ会、”Ｓａｍｂａとは”、〈URL:http://wiki.samba.gr.jp/mediawiki/index.php/Samba%E3%81%A8%E3%81%AF〉
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術を用いて非ツリー構造を用いるシステムからツリー構造を用いるシステムにフォルダをエクスポートする場合には、
・複数のフォルダに登録されているデータが登録先のフォルダ毎に重複してコピーされてしまう、
・複数のフォルダに登録されているフォルダがエクスポートできない、
等の課題があった。
【０００５】
例えば前述したＳａｍｂａでは、Ｕｎｉｘ（登録商標）ファイルシステム上でハードリンクを持つデータは、リンク先のそれぞれのフォルダの下に重複してコピーされ、またデータやフォルダのシンボリックリンクはコピーすることができない。こうした重複や欠落などが原因でコピー元のフォルダ階層構造と不一致が生じている部分をユーザが手動で修復する必要があるため、システムを跨いだデータのエクスポートを容易に行う上での妨げになっていた。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、１つのアイテムが複数の親フォルダを持つことのできるフォルダ階層構造を、１つのアイテムが１つの親フォルダしか持てないツリー構造に変換するための好適なしくみを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための、本発明の一態様によるデータ管理方法は、
データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造を用いるデータ管理方法であって、
フォルダに登録されているデータまたはフォルダである子アイテムと、前記子アイテムが登録されているフォルダである親フォルダとのペアを示す関係データを管理する関係データ管理工程と、
前記関係データ管理工程によって管理されている関係データの各々に属性情報を付与し、管理する属性管理工程と、
１つの子アイテムが複数の親フォルダに登録されている場合には、前記１つの子アイテムと前記複数の親フォルダの各々とのペアに対応する複数の関係データに付与されている属性情報に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することにより、前記フォルダ階層構造の少なくとも一部を、１つの子アイテムが単一のフォルダに登録されているツリー構造へ変換する変換工程とを有する。
【０００８】
上記の目的を達成するための、本発明の一態様によるデータ管理装置は以下の構成を備える。すなわち、
データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造を用いるデータ管理装置であって、
フォルダに登録されているデータまたはフォルダである子アイテムと、前記子アイテムが登録されているフォルダである親フォルダとのペアを示す関係データを管理する関係データ管理手段と、
前記関係データ管理手段によって管理されている関係データの各々に属性情報を付与し、管理する属性管理手段と、
１つの子アイテムが複数の親フォルダに登録されている場合には、前記１つの子アイテムと前記複数の親フォルダの各々とのペアに対応する複数の関係データに付与されている属性情報に基づいて前記１つの子アイテムが登録されている１つの親フォルダを選択することにより、前記フォルダ階層構造の少なくとも一部を、１つの子アイテムが単一のフォルダに登録されているツリー構造へ変換する変換手段とを備える。
【発明の効果】
【０００９】
本発明によれば、１つのアイテムが複数の親フォルダを持つことのできるフォルダ階層構造を、１つのアイテムが１つの親フォルダしか持てないツリー構造に適切に変換することができる。
【発明を実施するための最良の形態】
【００１０】
＜第１実施形態＞
以下に、図を参照しながら本発明を実施する第１の形態を説明する。
【００１１】
図１は、本実施形態におけるデータ管理装置１００のモジュール構成図である。アイテム管理部１０１は、ユーザの作成した文書やフォルダなどのアイテムを記憶部１０７に保存し、またユーザからの要求に応じて記憶部１０７からアイテムを取得する機能を提供する。関係データ管理部１０２は、フォルダにアイテムを登録した際に、フォルダとアイテムとの間の関係を管理する関係データ（図３により後述する）を生成し、記憶部１０７に保存する。また、フォルダを開く際に当該フォルダに関連する関係データを記憶部１０７から取得する。関係属性付与部１０３は、関係データ管理部１０２が生成した関係データに関係属性データ（図３により後述する）を付与、更新する。即ち、関係属性付与部１０３は、関係データ管理部１０２によって管理されている関係データに対応した属性情報である関係属性を管理する属性管理部として機能する。この属性情報は、ツリー構造を用いたシステムへアイテムを適用するにあたり、１つの子アイテムが複数の親フォルダに属する場合に、当該複数の親フォルダのうちの１つを選択するために参照される。この結果、ツリー構造においては、当該子フォルダは選択された１つの親フォルダ、即ち、単一の親フォルダに属することになる。関係データ選択部１０４は、アイテムをツリー構造のファイルシステムへエクスポートする際に関係属性データに基づいて関係データを選択する。フォルダ階層構造構築部１０５は、記憶部１０７に登録されている関係データに基づいてユーザに提示する階層構造（データやフォルダであるアイテムを複数のフォルダに登録することが可能なフォルダ階層構造）を構築する。フォルダ選択部１０６は、操作対象となるフォルダを選択する。通信部１０８は、外部のデータ管理装置との間でデータの送受信を行う。ユーザ管理部１０９は、データ管理装置１００にアクセスするユーザを管理する。
【００１２】
図２は、データ管理装置１００に用いられるコンピュータシステムの構成図である。ＣＰＵ２０１は、ＯＳ（Operating System）および各種アプリケーションプログラムを実行し、コンピュータ装置各部の制御を行う。ＲＯＭ２０２は、ＣＰＵ２０１が実行するプログラムや演算用のパラメータのうちの固定的なデータを格納する。ＲＡＭ２０３は、ＣＰＵ２０１の作業領域やデータの一時記憶領域を提供する。ＲＯＭ２０２およびＲＡＭ２０３は、バス２０４を介してＣＰＵ２０１に接続される。キーボードなどの入力装置２０５、ＣＲＴ、液晶ディスプレイなどの表示装置２０６、ハードディスク装置、ＭＯ、ＣＤ−ＲＯＭ等の外部記憶装置２０７は、インタフェース２０８を介してバス２０４に接続されている。また、バス２０４は通信装置２０９を介してネットワークと接続される。図１により示された各部は、ＣＰＵ２０１がＲＡＭ２０３にロードされたプログラムを実行して図２に示される各装置を用いた制御を行うことにより実現される。
【００１３】
図３はデータ管理装置１００で用いる各データのデータ構造例を示す図である。図３の（ａ）はアイテムのデータ構造の一例である。アイテムには、装置内でアイテムを一意に特定するアイテム識別子３０１と、アイテムがフォルダか否かを示すアイテム種別３０２、アイテム名称３０３、データの実体３０４が含まれる。
【００１４】
図３の（ｂ）は関係データ管理部１０２により生成、管理される関係データのデータ構造の一例である。関係データにおいて、親フォルダ識別子３１１は親フォルダのアイテム識別子３０１を保持する。子アイテム識別子３１２は当該フォルダに登録されているアイテムのアイテム識別子３０１を保持する。このように、関係データには、フォルダに登録されているデータまたはフォルダである子アイテムと、子アイテムが登録されているフォルダである親フォルダとのペアが記録される。なお、登録日時３１３は、子アイテムが親フォルダに登録された日時を保持する。なお、関係データは、親フォルダ識別子と子アイテム識別子のペアによって装置内で一意に特定される。
【００１５】
図３の（ｃ）は、関係属性付与部１０３が関係データの各々に対して付与する関係属性データのデータ構造の一例である。本実施形態では、関係属性として、ユーザ毎のアクセスカウンタ（詳細は後述する）を用いるものとする。親フォルダ識別子３２１、子アイテム識別子３２２は、それぞれ関係属性データが付与されている関係データの親フォルダ識別子３１１、子アイテム識別子３１２と同じである。ユーザ識別子３２３は、関係データを取得して子アイテムにアクセスしたユーザの識別子である。アクセスカウンタ３２４は、この関係属性データが付与されている関係データが示す親フォルダの子アイテムとして当該子アイテムがアクセスされた回数を示す。このように、関係属性データによれば、アクセスカウンタ３２４によるアクセス回数がユーザ毎に保持されることになる。関係属性データは、親フォルダ識別子３２１、子アイテム識別子３２２、ユーザ識別子３２３の３つ１組によって装置内で一意に特定される。
【００１６】
本実施形態においては以上のデータ構造を用いるが、本発明を実施可能なデータの構造はこれに限定されるものではない。
【００１７】
まず、本実施形態における関係データ管理の基本動作を説明する。ここでは図４に示すフォルダ階層構造でアイテムが登録されている場合を例に説明する。この状態で、記憶部１０７に保存されているアイテム、関係データおよび関係属性データを図５に示す。なお、図５では説明上必要のないアイテム、関係データ、関係属性データは省略してある。
【００１８】
まず、フォルダを開く際の処理について図１２のフローチャートを参照して述べる。ユーザが開きたいフォルダを選択してアイテム管理部１０１に子アイテムの取得を指示する（ステップＳ１２０１）。本例では、ここでは“１課”フォルダ４０２が選択されたものとする。アイテム管理部１０１は選択されたフォルダからアイテム識別子３０１（ここでは“ID0005”となる）を取得し、当該アイテム識別子を親フォルダ識別子３１１に持つ関係データの取得を関係データ管理部１０２に要求する（ステップＳ１２０２）。関係データ管理部１０２は親フォルダ識別子３１１が“ID0005”の関係データを記憶部１０７から取得し、そのリストをアイテム管理部１０１に返す（ステップＳ１２０３）。ここでは、関係データ５０３，関係データ５０４の２つが掲載されたリストが返される。
【００１９】
次に、アイテム管理部１０１は、関係データ管理部１０２から取得した関係データのリストから子アイテム識別子３１２を抽出する。本例の場合、関係データ５０３と関係データ５０４からそれぞれ“ID0007”と“ID0008”が抽出される。そして、アイテム管理部１０１はアイテム識別子が“ID0007”と“ID0008”であるアイテムデータ５０１とアイテムデータ５０２を記憶部１０７から取得し、これを“１課”フォルダ４０２の子アイテムとしてユーザに提示する（ステップＳ１２０４）。その結果、“１課”フォルダ４０２の子アイテムとして、“未決”フォルダ４０４（ID0007）と“見積書”データ４０５（ID0008）がユーザに提示される。最後に、現在開いているフォルダのアイテム識別子（ここでは“ID0005”）を記憶部１０７に記憶する（ステップＳ１２０５）。なお、ステップＳ１２０５におけるアイテム識別子の記憶には例えばＲＡＭ２０３が用いられる。以上がフォルダを開く際の関係データの処理に関する説明である。
【００２０】
次に、アイテムにアクセスする際の処理について図１３のフローチャートを参照して述べる。なお、以下では、一例として“１課”フォルダ４０２から“見積書”データ４０５にアクセスする場合を例として説明する。
【００２１】
ユーザは、“１課”フォルダ４０２を開いて取得した子アイテムの中から特定のアイテム（ここでは“見積書”データ４０５とする）を選択して任意の操作をアイテム管理部１０１に指示する（ステップＳ１３０１）。アイテムの操作が指示されたら、アイテム管理部１０１は現在開いているフォルダと当該アイテムの間の関係を更新するべく関係属性付与部１０３に指示を与える。ステップ１２０５でＲＡＭ２０３に記憶されたアイテム識別子は現在開いているフォルダの識別子である。したがって、アイテム管理部１０１は、
・ＲＡＭ２０３に記憶されている識別子を親フォルダ識別子３２１に持ち、
・指定されたアイテムのアイテム識別子を子アイテム識別子３２２に持ち、
・操作しているユーザのユーザ識別子をユーザ識別子３２３に持つ関係属性データの更新を関係属性付与部１０３に依頼する（ステップＳ１３０２）。本例では、ＲＡＭ２０３に記憶されたアイテム識別子が“ID0005”、指定されたアイテムの識別子が“ID0008”となる。また、ユーザ識別子は“User_D1”であるとする。
【００２２】
関係属性付与部１０３は親フォルダ識別子３２１が“ID0005”、子アイテム識別子３２２が“ID0008”、ユーザ識別子３２３が“User_01”である関係属性データを記憶部１０７から取得する（ステップＳ１３０３）。そして、ステップＳ１３０３で該当する関係属性データを取得できたら、当が関係属性データのアクセスカウンタ３２４のカウント値を１つ増やして記憶部１０７に保存する（ステップＳ１３０４、Ｓ１３０５）。本例では、関係属性データ５０５が取得され、そのアクセスカウンタが更新される。本例では、関係属性データ５０５のアクセスカウンタが１５から１６に更新される。一方、ステップＳ１３０３で該当する関係属性データが取得できなかった場合は、新規に関係属性データを作成し、アクセスカウンタに１を設定して記憶装置に保存する（ステップＳ１３０４、Ｓ１３０６）。以上がアイテムにアクセスする際の関係データの処理である。
【００２３】
次に、アイテムをフォルダに登録する処理について図１４のフローチャートを参照して述べる。ここでは、図４に示す状態から“未決”フォルダ４０４を“経費”フォルダ４０１に登録する場合を例に述べる。ユーザは、入力装置２０５を介して、親フォルダと、当該親フォルダに登録されるべき子アイテムを指定してアイテム管理部１０１にフォルダへの登録を指示する（ステップＳ１４０１）。アイテム管理部１０１は指定された親フォルダと子アイテムの識別子を指定して関係データ管理部に関係データの新規作成を指示する（ステップＳ１４０２）。ここでは親フォルダの識別子として“ID0004”が、子アイテムの識別子として“ID0007”が指定される。なお、“未決”フォルダ４０４に“経費”フォルダ４０１が属するように登録することも可能である。また、そのような登録を可とする方法と不可とする方法のいずれも有り得る。関係データ管理部１０２は指定されたアイテム識別子のペアの組み合わせを持つ関係データを記憶部１０７から検索する（ステップＳ１４０３）。そして、そのような関係データが登録済みでないことを確認したら、新規に関係データを作成して記憶部１０７に保存する（ステップＳ１４０４、Ｓ１４０５）。続いて、関係属性付与部１０３は、作成した関係データが持つ親フォルダ識別子と子アイテム識別子および操作しているユーザのユーザ識別子を持つ関係属性データを新規作成し、そのアクセスカウンタに１を設定する。そして、この新規作成した関係属性データを記憶部１０７に保存する（ステップＳ１４０６）。
【００２４】
図６に“未決”フォルダ４０４が“経費”フォルダ４０１の子アイテムとして登録された後のフォルダ階層の状態を示す。また、図７に、上記処理によって新規作成された関係データ７０６と関係属性データ７０７を示す。以上がアイテムをフォルダに登録する際の関係データの処理である。
【００２５】
引き続いて、データ管理装置１００から、ツリー構造を用いる外部のデータ管理装置にフォルダをコピーする処理について図１５のフローチャートを参照して説明する。ここでは図６に示す状態において“経費”フォルダ４０１を外部のＰＣ（ホスト名“MyPC”）で稼動しているデータ管理装置上の“作業”フォルダの直下にコピーする場合を例に説明する。また、“経費”フォルダ４０２の子アイテムとして“未決”フォルダ４０１へのアクセスが５０回行われたものとする。なお、外部のデータ管理装置上のフォルダを指定する方法としてはＵＮＣやＵＲＬなどが存在するが、本発明はこれを規定するものではない。ここではＵＮＣを用いて“\\MyPc\作業”と表すものとし、ＵＮＣでコピー先が指定された場合にアイテム管理装置は外部へのコピーとしてこれを扱うものとする。
【００２６】
ユーザが、入力装置２０５を介して、コピーするフォルダとコピー先フォルダを選択してアイテム管理部１０１にフォルダのコピーを指示すると、アイテム管理部１０１はこの指示を受け付ける（ステップＳ１５０１）。そして、アイテム管理部１０１はコピーするフォルダからアイテム識別子（ここでは“経費”フォルダ４０１の識別子“ID0004”）を取得する。そして、アイテム管理部１０１は、取得したアイテム識別子（“ID0004”）を指定してフォルダ選択部１０６にコピー範囲の取得を指示する（ステップＳ１５０２）。フォルダ選択部１０６は、指定されたアイテム識別子（“ID0004”）が示すフォルダを起点として、それよりも下位の階層に存在する全ての関係データを関係データ管理部１０２から取得する（ステップＳ１５０３）。ここでは、図８及び下記に示すように、“経費”フォルダ４０１の下位の階層に存在している７件の関係データが取得される。
【００２７】
親フォルダ    子アイテム
1．  “経費”      “１課”
2．  “経費”      “2008年”
3．  “経費”      “未決”
4．  “１課”      “未決”
5．  “１課”      “見積書”
6．  “2008年”    “見積書”
7．  “未決”      “決済書”
【００２８】
フォルダ選択部１０６は取得した関係データのリストをアイテム管理部１０１に返す。続いてアイテム管理部１０１はフォルダ選択部１０６から取得した関係データのリストを関係データ選択部１０４に引き渡して、関係データの選択を指示する（ステップＳ１５０４）。本実施形態においてフォルダのコピー先のデータ管理装置はツリー構造を用いているとしたので、アイテム管理部１０１は、各アイテムがただ１つの親フォルダを持つように関係データを選択することを関係データ選択部１０４に指示する。
【００２９】
本実施形態では、アイテムの親フォルダが複数存在した時にその中から１つを選ぶ方法として、ユーザが当該アイテムにアクセスするために開いた回数が最も多い親フォルダを選択する方法を採用する。つまり、ユーザが最もよく利用するフォルダパス上にアイテムを配置する方法を用いる。そこで、まず関係データ選択部１０４は、アイテム管理部１０１から渡された関係データのリストから、子アイテムが重複している関係データを抽出する（ステップＳ１５０５）。本例では、図８の関係データ８０３と８０４、および関係データ８０５と８０６が抽出される。次に、抽出した関係データから親フォルダ識別子と子アイテム識別子を取得し、これら２つの識別子と操作しているユーザのユーザ識別子を持った関係属性データを記憶部１０７から取得する（ステップＳ１５０６）。ここでは、図９に示されるように、関係データ８０３〜８０６のそれぞれについて１件ずつの関係属性データ９０１〜９０４が取得される。
【００３０】
ステップＳ１５０６で関係属性データが取得されたならば、取得した関係属性データからアクセスカウントを取得し、子アイテム識別子が重複しているもの同士で比較して、最大のものを選択する（ステップＳ１５０７、Ｓ１５０８）。すなわち、“未決”フォルダについては関係属性データ９０１と９０２のアクセスカウンタを比較し、５０：１５で関係属性データ９０１に対応する関係データ８０３が選択される。すなわち、“経費”フォルダ４０１が“未決”フォルダ４０４の親フォルダに選択される。同じく“見積書”データ４０５については関係属性データ９０３と９０４のアクセスカウンタが比較され、５：１０で関係属性データ９０４に対応する関連データ８０６が選択される。すなわち、“見積書”データ４０５については“２００８年”フォルダ４０３が親フォルダに選択される。最後に、子アイテムが重複していなかった関係データ８０１，８０２，８０７と選択した関係データ８０３，８０６とを合わせた関係データのリスト（図１０）をアイテム管理部１０１に返す（ステップＳ１５０９）。
【００３１】
関係データ選択部から関係データのリストを取得したら、アイテム管理部１０１は通信部１０８を介してコピー先フォルダの下に“経費”フォルダ以下のアイテムをコピーする。まず、関係データ８０１の親フォルダ識別子が示す“経費”フォルダ４０１をコピー先である“作業”フォルダの直下にコピーする。次に関係データ８０１の子アイテム識別子が示す“１課”フォルダ４０２をコピーし、関係データ８０１に基づいて“経費”フォルダ４０１の子アイテムに登録する。以下同様にして関係データ選択部１０４から取得した全ての関係データの親フォルダと子アイテムについてコピーとフォルダへの登録を繰り返すことで、コピー先にフォルダ階層を構築する（ステップＳ１５１０）。図１１にコピー元のフォルダ階層（非ツリー構造）をコピー先でのフォルダ階層（ツリー構造）に変換した様子を示す。上述したように、“未決”フォルダ４０４に対応する“未決”フォルダ１１０４は“経費”フォルダ４０１に対応する“経費”フォルダ１１０１のみに登録される。同様に、“見積書”データ４０５に対応する“見積書”１１０５は、“2008年”フォルダ４０３に対応する“2008年”フォルダ１１０３のみに登録される。
【００３２】
ここで、操作しているユーザがアクセスしたことのないアイテムがコピー範囲内に含まれていた場合、すなわち当該ユーザに関する関係属性データが作成されていなかった場合はアクセスカウンタに基づいた親フォルダの選択を行うことができない。その場合、本実施形態では関係データの登録日時を比較して先に登録されている方の関係データに基づいてコピー先のフォルダ階層を構築する（ステップＳ１５１２）。なお、ステップＳ１５０５〜Ｓ１５０８，Ｓ１５１２の処理は、子アイテムが重複する関係データについて、子アイテム毎に実行される。
【００３３】
以上のように、第１実施形態によれば、非ツリー構造を用いるシステムからツリー構造を用いるシステムにデータをエクスポートする際に、データが重複してコピーされたり欠落したりすることがなくなる。そのため、ユーザにとって有用なツリー構造が自動的にエクスポート先で構築される。すなわち、ユーザは非ツリー構造を用いるシステムでの使用感を損なわずにツリー構造を用いるシステムでもデータにアクセスすることができ、システムを跨いだデータのエクスポートが容易になる。
【００３４】
なお、上記実施形態では、子アイテムの重複する親フォルダから１つの親フォルダを選択するために関係属性データとして記録されているユーザ毎のアクセスカウンタを用いたがこれに限られるものではない。例えば、関係属性データにユーザ毎のアクセス日時を記録しておき、関係データ選択部１０４はアクセス日時が最も新しい関係データを選択するようにしてもよい。即ち、関係属性データにアクセス履歴に関わる情報を保持するようにしておき、関係データ選択部１０４は、このアクセス履歴に基づいて関係データを選択するようにできる。この場合、関係属性付与部１０３は、ステップＳ１３０５において、子アイテムへのアクセスに応じて、そのアクセス経路にある、当該アクセスされた子アイテムと親フォルダのペアに対する関係データのアクセス履歴を更新することになる。
【００３５】
＜第２実施形態＞
第２実施形態の基本的なモジュール構成およびデータ構造は第１実施形態に準じる。
【００３６】
第１実施形態ではデータ管理装置１００から、ツリー構造を用いる外部のデータ管理装置にフォルダをコピーする際に、複数の親フォルダを有する子アイテムに対して１つの親フォルダを選択する構成に関するものであった。しかしながら、本発明は非ツリー構造を用いるシステムのアイテムをツリー構造を用いるシステムにコピーする構成に限られるものではない。第２実施形態では、ツリー構造を用いる外部のデータ管理装置からデータ管理装置１００にアクセスしてフォルダ階層を閲覧表示する構成について説明する。
【００３７】
まず、外部のデータ管理装置が、通信部１０８を介してアイテム管理部１０１にフォルダ階層の閲覧要求を行う。閲覧要求には、少なくともデータ管理装置１００において有効なユーザ識別子と閲覧するフォルダのアイテム識別子が含まれるものとする。閲覧要求を受理したアイテム管理部１０１は、指定されたフォルダより下位のフォルダ階層を外部のデータ管理装置に提示する。ここで、外部のデータ管理装置はツリー構造を用いているとしたので、アイテム管理部１０１は各アイテムがただ１つの親フォルダを持つようにフォルダ階層構造を構築して提示する。そのような親フォルダの選択方法については第１実施形態と同様の構成、処理により実現されるので、ここでの説明は省略する。
【００３８】
＜第３実施形態＞
次に、第３の実施形態の説明を行う。上記第１及び第２の実施形態では、複数の親フォルダを有する子アイテムに対して１つの親フォルダを選択する際に、関係属性データに記録されているユーザ毎のアクセスカウンタ３２４の値を参照した。これに対して第３実施形態では関係属性データに関係データ間の主従関係を保持させ、この情報を用いて親フォルダを選択する。なお、本実施形態の基本的なモジュール構成およびデータ構造は第１実施形態に準じる。
【００３９】
図１６は、第３実施形態による関係属性データのデータ構成例を示す図である。本実施形態の関係属性データは、親フォルダ識別子３２１、子アイテム識別子３２２と主従フラグ１６０１で構成される。
【００４０】
まずアイテムをフォルダに登録する処理であるが、第３実施形態では親フォルダと子アイテムと主従どちらの関係として登録するかのユーザによる指定をアイテム管理部１０１が受け付ける。ここで、主の関係は１つのアイテムに対して１つしか登録することができないとする。したがって、アイテムが複数の親フォルダを持つ場合、本実施形態においては主の関係を持つ１つの親フォルダと、従の関係を持つ１以上の親フォルダとに分類されることになる。すなわち、主であることを示す情報は、同一の子アイテムを有する関連データのうちの唯一つの関連データにのみ付与可能である。また、この主であること或いは従であることを示す情報は、所定のユーザインターフェースを介して、例えば親フォルダへの子アイテムの登録時にユーザが設定するようにする。
【００４１】
次に、第３実施形態による、ツリー構造を用いている外部のデータ管理装置にフォルダをコピーする処理について図１７のフローチャートを参照して述べる。基本的な手順は第１実施形態に準じるので、ここでは関係データ選択部１０４での処理、即ち１つの子アイテムに複数の親フォルダが存在する場合に１つの親フォルダを選択する処理、について説明する。図１７に示す処理は、図１５のステップＳ１５０４〜Ｓ１５０８、Ｓ１５１２の部分を置き換えるものである。
【００４２】
関係データ選択部１０４は、アイテム管理部１０１からコピー範囲内の関係データのリストを取得すると（ステップＳ１７０１）、子アイテムが重複している関係データを抽出する（ステップＳ１７０２）。次に、関係データ選択部１０４は、抽出した関係データに対応する関係属性データを取得し（ステップＳ１７０３）、主従フラグ１６０１を比較する（ステップＳ１７０４）。関係データ選択部１０４は、主従フラグ１６０１が主に設定されている関係属性データが存在したら、それに対応する関係データを選択する（ステップＳ１７０５、Ｓ１７０６）。他方、関係データ選択部１０４は、子アイテムが重複している関係データの関係属性データにおいて主従フラグ１６０１が主に設定されているものが存在しなかったら、登録日時が最も古い関係データを選択する（ステップＳ１７０７）。これ以降、関係データ選択部が選択した関係データに基づいてアイテムをコピーする処理については第１実施形態と同様である。
【００４３】
なお、Ｓ１７０２〜１７０７の処理は、子アイテムが重複する関係データについて、子アイテム毎に実行される。
【００４４】
＜第４実施形態＞
次に、第４実施形態の説明を行う。
【００４５】
上述の各実施形態においては、アイテムのアクセス権を考慮していなかったが、第４実施形態ではアイテムにアクセス権が設定できるものとする。以下、第４実施形態による、ツリー構造を用いている外部のデータ管理装置にフォルダをコピーする処理について図１８のフローチャートを参照して述べる。なお、第４実施形態の基本的な処理は第１〜第３実施形態に準じるので、以下では、関係データ選択部１０４での処理、即ち１つの子アイテムに複数の親フォルダが存在する場合に１つの親フォルダを選択する処理、について説明する。図１８に示す処理は、図１５のステップＳ１５０４〜Ｓ１５０８、Ｓ１５１２の部分を置き換えるものである。
【００４６】
関係データ選択部１０４は、アイテム管理部１０１からコピー範囲内の関係データのリストを取得すると（ステップＳ１８０１）、子アイテムが重複している関係データを抽出する（ステップＳ１８０２）。次に、関係データ選択部１０４は、抽出した関係データから親フォルダ識別子を取得して、当該親フォルダに対する現在の操作者のアクセス権を判定する（ステップＳ１８０３）。なお、アクセス権の有無は、親フォルダとユーザＩＤとの間のアクセス権を示すテーブル等を用意しておき、このテーブルを参照して判断するようにうすればよい。たとえば、当該テーブルに「親フォルダ、ユーザＩＤ」を組で持つレコードを登録し、レコードの有無でアクセス権を判定することができる。そして、関係データ選択部１０４は、アクセス権のある親フォルダに対応した関係データだけを再抽出する（ステップＳ１８０４、Ｓ１８０５）。そして、再抽出された関係データが１つだけ存在する場合は当該関係データを選択し、複数存在する場合はそれら再抽出した関係データの中から１つの関係データを選択する（ステップＳ１８０６，Ｓ１８０７）。複数の関係データから１つを洗濯する処理は、第１実施形態の選択処理（ステップＳ１５０５〜Ｓ１５０８，Ｓ１５１２）や第３実施形態における選択処理（ステップＳ１７０２〜Ｓ１７０７）に準じるのでここでの説明は省略する。なお、ステップＳ１８０５でアクセス権のある親フォルダが１つも抽出されなかった場合そのアイテムはコピーされないが、このようなアイテムは元々コピー範囲内のフォルダを辿ってアクセスすることができないアイテムに相当するので問題ではない。
【００４７】
なお、以上の各実施形態においては、関係データ選択部が関係属性データに基づいて選択する関係データを一意に定めることができない場合に、関係データの登録日時が最も古いものを選択するとしたが、本発明はこれに限定されるものではない。例えば、一意に定めることができない関係データに関してはユーザに選択させるようにしてもよい。そのためのユーザインターフェースを提供するための構成は、当業者には明らかである。
【００４８】
＜第５実施形態＞
次に、第５実施形態の説明を行う。
【００４９】
以上の各実施形態は、ツリー構造を用いる外部のデータ管理装置へフォルダをコピーする際に、複数の親フォルダを持つ子アイテムに対して１つの親フォルダを選択してコピー先のフォルダ階層構造を構築するものであった。第５実施形態は、第１〜第４実施形態の処理に加え、外部のデータ管理装置が１つのアイテムを複数の親フォルダに擬似的に登録する機能を持つ場合に、その機能を利用するものである。例えばコピー先の外部データ管理装置がＭｉｃｒｏｓｏｆｔＷｉｎｄｏｗｓ（登録商標）の場合、前述の実施形態で示した方法で各アイテムの親フォルダから１つを選択してフォルダ階層構造を構築し、選択しなかった親フォルダの下に各アイテムのショートカットを登録する。また、コピー先の外部データ管理がＵｎｉｘ（登録商標）ファイルシステムの場合は、選択しなかった親フォルダの下に各アイテムのリンクを登録する。
【００５０】
例えば、図１１に示されるコピー先のツリー構造において、“１課”フォルダ１１０２には“未決”フォルダ１１０４と“見積書”データ１１０６へのショートカットが登録される。
【００５１】
以上のような第５実施形態によれば、フォルダ階層を上から辿ってアイテムにアクセスする限りにおいて、コピー先においてもコピー元と同等の操作感を得ることができる。なお、本実施形態においても親フォルダを１つに限定する機能は必須であり、本発明の本質に変更がないことは言うまでもない。
【００５２】
なお、ツリー構造を用いる外部のデータ管理装置へフォルダをコピーする際に、コピー元で複数の親フォルダに登録されていたアイテムについては、複数の親フォルダを持つことを当該アイテムの属性情報として外部のデータ管理装置に保持させても良い。
【００５３】
また、関係データ選択部１０４における親フォルダの選択方法は上述した実施形態のみに限定されるものではない。例えば、他にも親フォルダの作成日順で最新のもの、親フォルダの名称順で先頭のもの、全ユーザのアクセス頻度が最大のもの、ユーザ毎の優先順位が最高のもの選択するようにしてもよい。また、全ユーザのアクセス数の合計（全てのユーザの関係属性データのアクセスカウンタの合計）を用いてもよい。この場合、親フォルダ識別子と子アイテム識別子の組み合わせに対して一つの関係属性データを用意し、ユーザに関わらず当該組み合わせに従ったアクセスが発生した場合にカウンタを更新するようにできる。したがって、この場合、関係属性データにユーザ識別子は不要となる。また、フォルダ内の他のアイテムとの関連性等に基づいて１つの親フォルダを選択するようにしてもよい。例えば、「フォルダ内の全てのアイテムに共通の親を選択する」、「ＨＴＭＬファイルとＨＴＭＬ中の画像ファイルは同じ親フォルダを選択する」といった例があげられる。
【００５４】
以上、実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００５５】
尚、本発明は、ソフトウェアのプログラムをシステム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによって前述した実施形態の機能が達成される場合を含む。この場合、供給されるプログラムは実施形態で図に示したフローチャートに対応したコンピュータプログラムである。
【００５６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００５８】
コンピュータプログラムを供給するためのコンピュータ読み取り可能な記憶媒体としては以下が挙げられる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【００５９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムをハードディスク等の記録媒体にダウンロードすることが挙げられる。この場合、ダウンロードされるプログラムは、圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布するという形態をとることもできる。この場合、所定の条件をクリアしたユーザに、インターネットを介してホームページから暗号を解く鍵情報をダウンロードさせ、その鍵情報を使用して暗号化されたプログラムを実行し、プログラムをコンピュータにインストールさせるようにもできる。
【００６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどとの協働で実施形態の機能が実現されてもよい。この場合、ＯＳなどが、実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【００６２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれて前述の実施形態の機能の一部或いは全てが実現されてもよい。この場合、機能拡張ボードや機能拡張ユニットにプログラムが書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行なう。
【図面の簡単な説明】
【００６３】
【図１】第１実施形態におけるデータ管理装置のモジュール構成例を示すブロック図である。
【図２】第１実施形態のデータ管理装置を実現するコンピュータの構成例を示すブロック図である。
【図３】第１実施形態で用いるアイテム、関係データ、関係属性データのデータ構造の例を示す図である。
【図４】第１実施形態の説明で用いられるフォルダ階層構造の例を示す図である。
【図５】図４に示したフォルダ階層構造におけるアイテム、関連データ、関係属性データのデータ例を示す図である。
【図６】第１実施形態の説明で用いるフォルダ階層構造を示す図である。
【図７】図６に示したフォルダ階層構造におけるアイテム、関連データ、関係属性データのデータ例を示す図である。
【図８】第１実施形態において、フォルダ選択部が選択した関係データのリストを示す図である。
【図９】第１実施形態において、関係データ選択部が選択した関係属性データのリストを示す図である。
【図１０】第１実施形態において、関係データ選択部が選択した関係データのリストを示す図である。
【図１１】第１実施形態における、外部のデータ管理装置へのフォルダコピーの例を説明する図である。
【図１２】第１実施形態の、フォルダを開く処理を示すフローチャートである。
【図１３】第１実施形態の、アイテムを操作する処理を示すフローチャートである。
【図１４】第１実施形態の、アイテムをフォルダに登録する処理を説明するフローチャートである。
【図１５】第１実施形態の、ツリー構造を用いた外部のデータ管理装置へフォルダをコピーする処理を示すフローチャートである。
【図１６】第３実施形態における関係属性データのデータ構成例を示す図である。
【図１７】第３実施形態における関係データ選択部の処理を示すフローチャートである。
【図１８】第４実施形態における関係データ選択部の処理を示すフローチャートである。
【図１】
2010176574.tif 000003
【図２】
2010176574.tif 000004
【図３】
2010176574.tif 000005
【図４】
2010176574.tif 000006
【図５】
2010176574.tif 000007
【図６】
2010176574.tif 000008
【図７】
2010176574.tif 000009
【図８】
2010176574.tif 000010
【図９】
2010176574.tif 000011
【図１０】
2010176574.tif 000012
【図１１】
2010176574.tif 000013
【図１２】
2010176574.tif 000014
【図１３】
2010176574.tif 000015
【図１４】
2010176574.tif 000016
【図１５】
2010176574.tif 000017
【図１６】
2010176574.tif 000018
【図１７】
2010176574.tif 000019
【図１８】
2010176574.tif 000020