(57)【要約】      （修正有）【課題】アドレスが変更されたデータの変更前アドレスに対してリンクファイルからのアクセス要求があった場合、その要求を変更後アドレスへ転送し、無効リンクの発生を抑止する技術を提供する。【解決手段】ＤＭＳ１４１は、記憶装置１４０のデータ記憶部１４５に記憶されるデータの作成・移動・削除等の監視機能と、当該データに対するクライアントからのアクセス要求の監視機能を有する。アドレス管理部１４２は、データの変更前アドレスと変更後アドレスの対応を管理する機能を有する。アクセス転送部１４３は、変更前アドレスに対するリンクファイルからのアクセス要求を変更後アドレスに転送する機能を有する。アドレス管理ＤＢ１４４は、アドレス管理部１４２にて管理する変更前後アドレスの対応情報を保存する。データ記憶部１４５は、クライアントからの要求により作成・移動・名称変更・削除されるデータを記憶する記憶部である。【選択図】図１
2015064804.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとネットワークを介して接続される記憶装置であって、
前記クライアントからアクセスされるデータを保持するデータ記憶部と、
前記クライアントから前記データへのアクセス要求を監視するデータ管理部と、
前記データ記憶部が保持するデータの変更前アドレスと作成日時と変更後アドレスと変更日時とを対応付けて管理するアドレス管理部と、
前記クライアントからの前記アクセス要求を転送するアクセス転送部とを有し、
前記アクセス転送部は、前記データ管理部が前記クライアントからのアクセス要求がリンクファイルからのアクセス要求であると判断した場合、前記アドレス管理部から前記リンクファイルが示すリンク先アドレスと一致する第１の変更前アドレスを検索し、対応する第１の変更後アドレスに前記アクセス要求を転送することを特徴とする記憶装置。
【請求項２】
請求項１に記載の記憶装置であって、
前記アクセス転送部は、前記第１の変更後アドレスをリンク先アドレスとして前記アドレス管理部から一致する第２の変更前アドレスを検索し、前記第２の変更前アドレスに対応する変更日時が空値であった場合に、前記第１の変更後アドレスに前記アクセス要求を転送することを特徴とする記憶装置。
【請求項３】
請求項２に記載の記憶装置であって、
前記アクセス転送部は、前記第１の変更前アドレスおよび前記第２の変更前アドレスを検索する際、前記リンクファイルの更新日時が前記作成日時以降であり前記変更日時より前であるレコードを対象に検索することを特徴とする記憶装置。
【請求項４】
請求項１から請求項３のいずれかに記載の記憶装置であって、
前記第１の変更後アドレスは、前記記憶装置とネットワークを介して接続される他の記憶装置のアドレスであることを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理システムおよび記憶装置に関し、特に、特定のファイルまたはフォルダ（以降、総称して「データ」と表記）に対するリンクファイル（ショートカット）を作成することにより、該データへのアクセスを簡略化するデータ管理システムおよび記憶装置において、データのアドレス変更等に伴う無効リンクの発生を抑止する技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１がある。この特許文献１には、「実体ファイルの移動に伴うショートカット（複製標識）でのリンクの不正状態の発生を回避するための技術を提供する。」と記載されている。特許文献１で提案されているファイル管理方法は、該ファイル管理方法独自の方法により作成されたリンクファイルの使用を前提としており、従来の方法でユーザによって作成されたリンクファイルの使用を想定していない。
【０００３】
また、別の背景技術として特許文献２には、「リンク先ファイルのロケーションが変更されたときのリンク先情報の変更を円滑に行うことのできるファイル管理方法およびシステムを実現する。」と記載されている。特許文献２で提案されているファイル管理方法は２種類である。一方は、あるデータのアドレス変更が生じた時点において、該データに対するリンクファイルのリンク先を一括更新することを前提としており、逐次的な対応を想定していない。もう一方は、アドレス変更が生じた場合に、変更前アドレスに仮ファイルを配置する前提のため、一度使用したアドレスに別ファイルを配置すること（アドレスの再利用）を想定していない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１５３８４号公報
【特許文献２】特開平８−１６１２１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のファイル管理方式では、アドレスＡに存在するデータＤに対するリンクファイルＬが存在する場合において、データＤの名称変更などに伴って該データのアドレスＡがアドレスＢに変更された場合、リンクファイルＬはアドレスＡをリンク先として指定しているため、データＤへアクセス不能（無効リンク）となる。リンクファイルＬがデータＤへアクセスするためには、アドレス変更を実施したユーザに問い合わせ等の方法で変更後アドレスＢを入手し、当該リンクファイルのリンク先を手作業によりアドレスＡからアドレスＢへ修正する必要がある。
【０００６】
今日では、複数のユーザがファイルサーバのデータを共有することや、インターネットを通じて不特定多数のユーザにデータ（ホームページ等）を公開することが一般的である。したがって、あるデータのアドレスを変更することにより、多数のユーザのリンクファイルが無効リンクとなるため、ユーザによるリンクファイルの修正作業が必要となってしまう。また、変更後アドレスを入手できない場合は、該データへアクセスすることが不可能（ロスト）となってしまう。
【０００７】
本発明は、アドレスが変更されたデータの変更前アドレスに対してリンクファイルからのアクセス要求があった場合、その要求を変更後アドレスへ転送し、無効リンクの発生を抑止する技術の提供を目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、クライアントとネットワークを介して接続される記憶装置であって、クライアントからアクセスされるデータを保持するデータ記憶部と、クライアントからデータへのアクセス要求を監視するデータ管理部と、データ記憶部が保持するデータの変更前アドレスと作成日時と変更後アドレスと変更日時とを対応付けて管理するアドレス管理部と、クライアントからのアクセス要求を転送するアクセス転送部とを有し、アクセス転送部は、データ管理部がクライアントからのアクセス要求をリンクファイルからの要求であると判断した場合、アドレス管理部から、リンクファイルが示すリンク先アドレスと一致する変更前アドレスを検索し、対応する変更後アドレスにアクセス要求を転送する記憶装置を提供する。
【発明の効果】
【０００９】
本発明によれば、データの移動・名称変更等による無効リンクの発生を抑止することができる。
【図面の簡単な説明】
【００１０】
【図１】データ管理システムの構成を示すブロック図である。
【図２】データが作成された場合のアドレス管理ＤＢの例を示す図である。
【図３】データが移動・名称変更された場合のアドレス管理ＤＢの例を示す図である。
【図４】データが削除された場合のアドレス管理ＤＢの例を示す図である。
【図５】アドレス転送部の処理内容を示すフローチャートである。
【図６】アドレス管理ＤＢの第１の例を示す図である。
【図７】アドレス管理ＤＢの第２の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて説明する。
図１は、本実施形態におけるデータ管理システムの構成を示すブロック図である。クライアント１１０および１２０が通信ネットワーク１３０を介して記憶装置１４０（クライアントやファイルサーバ等）と接続されており、クライアントは記憶装置１４０に存在するデータへアクセスする。記憶装置１４０は、ＤＭＳ（Document Management System）１４１、アドレス管理部１４２、アクセス転送部１４３、アドレス管理ＤＢ１４４、データ記憶部１４５を具備する。
【００１２】
ＤＭＳ１４１は、記憶装置１４０のデータ記憶部１４５に記憶されるデータの作成・移動・削除等の監視機能と、当該データに対するクライアントからのアクセス要求の監視機能を有する。アドレス管理部１４２は、データの変更前アドレスと変更後アドレスの対応を管理する機能を有する。アクセス転送部１４３は、変更前アドレスに対するリンクファイルからのアクセス要求を変更後アドレスに転送する機能を有する。アドレス管理ＤＢ１４４は、アドレス管理部１４２にて管理する変更前後アドレスの対応情報を保存する。データ記憶部１４５は、クライアントからの要求により作成・移動・名称変更・削除されるデータを記憶する記憶部である。
【００１３】
記憶装置１４０は、一般的なクライアントやファイルサーバ等で実現されており、ＣＰＵやメモリ、ハードディスク等を備えている。ＤＭＳ１４１、アドレス管理部１４２、アクセス転送部１４３はそれぞれメモリまたはハードディスクに記憶されたプログラムをＣＰＵが実行することにより実現される。また、アドレス管理ＤＢ１４４、データ記憶部１４５は、メモリまたはハードディスクにより実現される。
【００１４】
アドレス管理部１４２とアクセス転送部１４３の処理についてより詳細に説明する。
アドレス管理部１４２は、データ記憶部１４５のデータが作成、変更、削除等されることに伴い、アドレス管理ＤＢ１４４の内容を更新する。アドレス管理部１４２は、アドレス管理ＤＢ１４４によって、データの変更前アドレス、変更後アドレスに加え、データが作成された日時（作成日時）、データのアドレスが変更された日時（変更日時）を１レコードとして変更前後アドレスを管理する。例えば、変更前アドレスが「C:/doc/aaa.txt」、変更後アドレスが「C:/doc/bbb.txt」、作成日時が「2013/01/01 09:00:00」、変更日時が「2013/02/01 12:00:00」のレコードは、2013年1月1日9時から2013年2月1日12時の期間に「C:/doc/aaa.txt」に存在したデータのアドレスが、2013年2月1日12時に「C:/doc/bbb.txt」へ変更されたことを意味する。なお、変更日時が空値のレコードは、アドレスが変更されていない、すなわち該レコードの変更前アドレスに現存するデータであることを意味する。また、変更後アドレスがDELのレコードは、該データが削除済みであることを意味する。
【００１５】
ＤＭＳ１４１がクライアントからの要求により行われるデータ記憶部１４５上におけるデータの作成・移動・名称変更・削除を検知すると、検知した内容がアドレス管理部１４２に通知され、アドレス管理ＤＢ１４４のレコードが更新される。
【００１６】
（１）データの作成
ＤＭＳ１４１がクライアントからの要求によりデータ記憶部１４５に新たにデータの作成が行われたことを検知した場合のアドレス管理部１４２の動作を説明する。アドレス管理部１４２は、作成されたデータに対応するレコードをアドレス管理ＤＢ１４４に追加する。追加レコードの変更前アドレスは作成されたデータのアドレス、作成日時はデータが作成された日時とする。アドレス変更は行われていないため、変更後アドレスと変更日時は空値とする。
図２は、データ記憶部１４５内のフォルダ「C:/doc」にファイル「aaa.txt」を2013年3月1日18:54:12に作成した場合のアドレス管理ＤＢ１４４の例である。
【００１７】
（２）データの移動・名称変更
ＤＭＳ１４１がクライアントからの要求によりデータ記憶部１４５内のデータの移動または名称変更が行われたことを検知した場合のアドレス管理部１４２の動作を説明する。アドレス管理部１４２は、データの移動または名称変更に伴うアドレス変更をアドレス管理ＤＢ１４４に反映するため、アドレス変更されたデータに対応するレコードの更新と、アドレス変更後データに対応するレコードの追加の２つの処理を実施する。前者は、アドレス変更されたデータの旧アドレスを用いてアドレス管理ＤＢ１４４の変更前アドレスを前方一致検索し、該当レコードのうち作成日時がアドレス変更された日時以前であり、かつ変更後アドレスと変更日時が空値のレコードに対し、変更後アドレスを変更後の新アドレスで更新し、変更日時をアドレス変更された日時で更新する。後者は、アドレス変更後のデータについて新たなレコードを作成するために、変更前アドレスを新アドレス、作成日時をアドレス変更された日時、変更後アドレスと変更日時を空値とするレコードをアドレス管理ＤＢ１４４に追加する。
図３は、2013年3月20日12:40:56にデータ記憶部１４５内のフォルダ「C:/doc」を「C:/old」へ名称変更した場合のアドレス管理ＤＢ１４４の例である。
【００１８】
（３）データの削除
ＤＭＳ１４１がクライアントからの要求によりデータ記憶部１４５内のデータの削除が行われたことを検知した場合のアドレス管理部１４２の動作を説明する。アドレス管理部１４２は、削除されたデータに対応するレコードに削除情報を反映するため、削除されたデータのアドレスでアドレス管理ＤＢ１４４の変更前アドレスを前方一致検索し、該当レコードのうち作成日時が削除日時以前であり、かつ変更後アドレスと変更日時が空値のレコードについて、変更後アドレスを「DEL」、変更日時を削除された日時に更新する。
図４は、2013年3月24日15:59:01にデータ記憶部１４５内のフォルダ「C:/old」を削除した場合のアドレス管理ＤＢ１４４の例である。
【００１９】
次に、アクセス転送部１４３の処理内容を説明する。
ＤＭＳ１４１がデータ記憶部１４５のデータに対するクライアントからのアクセス要求がリンクファイルからのアクセス要求であることを検知すると、アクセス転送部１４３は、アドレス管理ＤＢ１４４からアクセス要求対象のデータに対応するレコードを検索し、当該データのアドレスが変更されている場合は変更後アドレスへ自動的にアクセス要求を転送する。
【００２０】
図５は、アクセス転送部１４３の処理内容を示すフローチャートである。
ＤＭＳ１４１がリンクファイルからデータへのアクセス要求を検知すると、ステップ５１０、５２０において、当該リンクファイルの更新日時Ｄとリンク先アドレスＬを取得する。
【００２１】
ステップ５３０では、アドレス管理ＤＢ１４４より、リンク先アドレスＬが変更前アドレスと完全一致し、かつ以下（ａ）（ｂ）のいずれかの条件を満たすレコードを検索する。
（ａ）変更日時が空値ではなく、更新日時Ｄが作成日時以降で変更日時より前である。
（ｂ）変更日時が空値であり、更新日時Ｄが作成日時以降である。
【００２２】
ステップ５４０では、ステップ５０３で検索したレコードの変更日時が空値である場合、ステップ５５０に進む。空値でない場合は、ステップ５６０に進む。
【００２３】
ステップ５５０では、検索したレコードの変更日時が空値であることから、リンク先アドレスＬによって示されるリンク先データはアドレス変更またはデータ削除が生じておらず現存であると判断する。したがって、アクセス転送部１４３は、該レコードの変更前アドレス（つまり、リンク先アドレスＬそのもの）が示すリンク先アドレスへアクセス要求を転送し、処理を終了する。
【００２４】
ステップ５６０では、検索したレコードの変更日時が空値でないため、リンク先アドレスＬによって示されるリンク先データにはアドレス変更またはデータ削除が生じていると判断し、当該レコードの変更後アドレスの内容に応じて、DELの場合はステップ５７０に、DEL以外の場合はステップ５８０に進む。
【００２５】
ステップ５７０では、検索したレコードの変更後アドレスがDELであるため、リンク先アドレスＬによって示されるリンク先データは削除されていると判断する。したがって、アクセス転送部１４３は、リンク先データは削除済みであることを示す結果をアクセス要求元であるクライアントに返却し処理を終了する。
【００２６】
ステップ５８０では、検索したレコードの変更後アドレスがDEL以外であるため、リンク先アドレスＬによって示されるリンク先データはアドレス変更が生じていると判断する。この場合、当該レコードに格納されている変更後アドレスおよび変更日時をそれぞれ新たなリンク先アドレスＬおよび更新日時Ｄとして、ステップ５３０の処理へ戻り、アドレス変更後のデータに対応するレコードを検索する。この繰り返しを検索結果レコードの変更日時が空値もしくは変更後アドレスがDELとなるまで実施することにより、複数回のアドレス変更が生じている場合においても、リンク先データの現状のアドレスを取得することができる。
【００２７】
続いて、より具体的にアクセス転送部１４３の動作を説明する。
図６は、本実施形態におけるアドレス管理ＤＢ１４４の例を示す図である。図６では、アドレス「http://www.user.com/」に存在するファイルＦ「docA.txt」を「docB.txt」に名称変更した後、ファイルＦとは異なるファイルＦ’が、名称変更前のファイルＦと同一アドレス（http://www.user.com/docA.txt）に作成された場合を示している。
【００２８】
ファイルＦ’が作成された時点でのアドレス管理ＤＢ１４４の内容は６４０である。ここで、ファイルＦを名称変更する前の時点において、ファイルＦをリンク先とするリンクファイルＬ（リンク先：http://www.user.com/docA.txt、更新日時：2013年3月2日10:00:24）が作成されていたとする。６４０の状態において、リンクファイルＬによりファイルＦへアクセスすると、アクセス転送部はアドレス「http://www.user.com/docA.txt」と日時「2013年3月2日10:00:24」を元に６４０を検索し、No3のレコードを得る。該レコードは変更日時が空値でなく、変更先アドレスがDELでないため、変更後アドレス「http://www.user.com/docB.txt」と変更日時「2013年3月5日10:41:30」を元に再度６４０を検索し、No4のレコードを得る。該レコードは変更日時が空値のため、該レコードの変更前アドレスへアクセス要求を転送することにより、ファイルＦの名称変更後アドレスである「http://www.user.com/docB.txt」へアクセスすることができる。
【００２９】
続いて、所定の記憶装置１４０内におけるデータ移動でなく、通信ネットワークを介して接続される他の記憶装置に対してデータ移動が行われた場合について説明する。
図７は、本実施形態におけるアドレス管理ＤＢ１４４の例を示す図である。アドレス管理ＤＢ１４４に対する処理は、所定の記憶装置内におけるアドレス変更時と同様、変更前アドレスに対応レコードの更新と、変更後アドレスに対応するレコードの追加を有する。
【００３０】
記憶装置Ｈのフォルダ「C:/usr」にファイルＦ「dat.txt」が存在している状態において、ファイルＦが別の記憶装置Ｉのフォルダ「C:/file」に移動されたとする。移動前における記憶装置Ｈと記憶装置Ｉのアドレス管理ＤＢの内容はそれぞれ７１０、７２０である。記憶装置Ｈのファイル「C:/usr/dat.txt」を記憶装置Ｉの「C:/file」配下へ移動すると、記憶装置ＩのＤＭＳにより、ファイルＦが記憶装置Ｈから記憶装置Ｉへ移動されたことが検知される。記憶装置Ｉのアドレス管理部は、７４０のように、記憶装置Ｉ上にファイルＦが作成されたことを記憶装置Ｉのアドレス管理ＤＢに反映すると共に、移動元記憶装置Ｈのアドレス管理部に対し、ファイルＦのアドレスが記憶装置Ｉ上のアドレスに変更されたことを通知する。記憶装置Ｈのアドレス管理部は、７３０のように、通知内容を元にファイルＦに対応するレコードを更新する。なお、アドレスの先頭に「記憶装置名!」を付与することにより、対象の記憶装置を識別している。
【００３１】
記憶装置ＨにファイルＦが存在した時点で作成されたリンクファイルＬ（リンク先：C:/usr/dat.txt、更新日時：2013年2月25日10:04:32）によるアクセス要求が発生すると、記憶装置Ｈのアクセス転送部は自記憶装置のアドレス管理ＤＢをアドレス「C:/usr/dat.txt」、日時「2013年2月25日10:04:32」で検索し、No3のレコードを得る。該レコードの変更後アドレスは別記憶装置Ｉのアドレスであるため、該レコードの変更後アドレスから記憶装置名を除去した「C:/file/dat.txt」と変更日時「2013年3月2日08:33:18」を元に、記憶装置Ｉのアクセス転送部に対して処理を依頼する。その後は、実施例１と同処理を記憶装置Ｉのアクセス転送部が実施することで変更後アドレス「C:/file/dat.txt」が得られるため、ファイルＦの記憶装置を跨った移動後アドレスへアクセスすることができる。
【００３２】
上述した本実施形態によれば、データのアドレス変更が生じた場合に、リンクファイルから変更前アドレスに対するアクセスが自動的に変更後アドレスへ転送されるため、アドレス変更に伴う無効リンクの発生を抑止することができる。これにより、ユーザはリンクファイルのリンク先を手作業により修正する手間を省くことができると共に、変更後アドレスを入手できない場合に、該データへアクセスすることが不可能となる状況を防止することができる。また、複数ユーザで共有しているデータの移動・名称変更等により各ユーザの該データに対するリンクファイルが無効となる事態を懸念する必要がなくなるため、安易に該データを移動・名称変更することができる。
【符号の説明】
【００３３】
１１０、１２０：クライアント、１３０：通信ネットワーク、１４０：記憶装置、１４１：ＤＭＳ（Document Management System）、１４２：アドレス管理部、１４３：アクセス転送部、１４４：アドレス管理ＤＢ、１４５：データ記憶部
【図１】
2015064804.tif 000003
【図２】
2015064804.tif 000004
【図３】
2015064804.tif 000005
【図４】
2015064804.tif 000006
【図５】
2015064804.tif 000007
【図６】
2015064804.tif 000008
【図７】
2015064804.tif 000009