JP2011076139A - Document management device, information processing apparatus, system and program for managing document - Google Patents
Document management device, information processing apparatus, system and program for managing document Download PDFInfo
- Publication number
- JP2011076139A JP2011076139A JP2009223729A JP2009223729A JP2011076139A JP 2011076139 A JP2011076139 A JP 2011076139A JP 2009223729 A JP2009223729 A JP 2009223729A JP 2009223729 A JP2009223729 A JP 2009223729A JP 2011076139 A JP2011076139 A JP 2011076139A
- Authority
- JP
- Japan
- Prior art keywords
- document
- data
- hash value
- information processing
- processing apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、文書管理装置、情報処理装置、文書管理システム、および文書管理プログラムに関し、特に文書データを共有する場合の文書データの管理を行うための技術に関する。 The present invention relates to a document management apparatus, an information processing apparatus, a document management system, and a document management program, and more particularly to a technique for managing document data when document data is shared.
データ管理システムには従来から、データを管理するサーバと、当該サーバにネットワークを介してデータ通信可能に接続されたクライアントとによって構成される、クライアント・サーバ型のデータ管理システムが存在する。また、このようなデータ管理システムには、サーバで管理されるデータと同じデータをクライアントでも保持し、サーバで管理されるデータが更新された場合に、クライアントが保持するデータの更新を行うものが存在する。そしてこのような更新を行う場合、サーバとクライアントとの間でデータの送受信を行うことになるので、更新の回数が増大すれば、ネットワークのトラフィックに大きな負担がかかり、文書管理システムのパフォーマンスが低下する。そこで、このような更新を行う際に、予めデータの内容の同一性を判別して、更新対象となるデータの内容が同一である場合にまで更新を行わないようにし、無駄なデータの送受信を防止してデータ管理システムのパフォーマンスの低下を回避する技術が存在する(例えば、特許文献1)。 2. Description of the Related Art Conventionally, there is a client / server type data management system that includes a server that manages data and a client that is connected to the server via a network so that data communication is possible. In such a data management system, the same data as the data managed by the server is held by the client, and when the data managed by the server is updated, the data held by the client is updated. Exists. When such updates are performed, data is transmitted and received between the server and the client, so if the number of updates increases, the network traffic is overwhelmed and the performance of the document management system decreases. To do. Therefore, when performing such an update, the identity of the contents of the data is determined in advance so that the update is not performed until the contents of the data to be updated are the same. There is a technique for preventing the deterioration of the performance of the data management system (for example, Patent Document 1).
例えば、上記特許文献1では、自機が保持するマスターデータベースの列データからダイジェストデータを作成することができるサーバを備えるデータベースダウンロードシステムにおいて、最新のダイジェストデータと、クライアントによる直近の列データダウンロード時のダイジェストデータとを比較することにより、マスターデータベースの列データが直近のダウンロード時から更新されているか否かを判断する技術が開示されている。
For example, in
とこで、上記クライアント・サーバ型のデータ管理システムには、サーバが文書管理装置であり、クライアントが情報処理装置であって、管理対象が文書データであるような文書管理システムが存在する。このような文書管理システムにおいては、近年におけるパーソナルコンピュータの所有率の増加や、携帯性に優れるパーソナルコンピュータの普及により、クライアントである情報処理装置の台数が増加する傾向にある。従って、情報処理装置が保持するデータの更新を文書管理装置に対して要求することができる文書管理システムであれば、情報処理装置から文書管理装置に対して、非常に多くの更新要求が行われることになる。 In the client / server type data management system, there is a document management system in which a server is a document management apparatus, a client is an information processing apparatus, and a management target is document data. In such a document management system, the number of information processing apparatuses serving as clients tends to increase due to the recent increase in ownership of personal computers and the spread of personal computers with excellent portability. Therefore, if the document management system can request the document management apparatus to update the data held by the information processing apparatus, a large number of update requests are made from the information processing apparatus to the document management apparatus. It will be.
このような環境下では、上述したような、情報処理装置が保持する文書データの更新を行う際に更新対象となる文書データの内容が同一である場合にまで文書データの更新を行わないようにするため、データの内容の同一性を判別する技術が適用されることも多い。このような技術が適用されれば、文書管理システムのパフォーマンスの低下はある程度回避される。しかし、それでも、少なくともその更新要求のたびに、文書管理装置と情報処理装置との間で、更新対象となるデータのやりとりを行い、それぞれが保持しているデータの中身を解析して同一性の判別を行う必要がある。ゆえに、上述のような文書管理システムにおいては、データ同一性の判別処理そのものが大きな負担となる。 In such an environment, when updating the document data held by the information processing apparatus as described above, the document data is not updated until the contents of the document data to be updated are the same. Therefore, a technique for determining the identity of data contents is often applied. If such a technique is applied, the performance degradation of the document management system is avoided to some extent. However, at least for each update request, the document management device and the information processing device exchange data to be updated, analyze the contents of the data held by each, and verify the identity. It is necessary to make a determination. Therefore, in the document management system as described above, the data identity discrimination process itself is a heavy burden.
このような判別処理に関して、従来から、データが持つ更新日付を用いてデータの内容を判別する技術がある。すなわち、文書管理装置が保持するデータと情報処理装置が保持するデータの更新日付を比較し、データが持つ更新日付が同じであるなら、データの内容が同じであるものと判断して、文書管理装置から情報処理装置へデータの送信を行わないようにし、データが持つ更新日付が異なるならば、データの内容が異なるものであると判断して、データの送信を行う、というものである。この技術では、判別を行うために、文書管理装置と情報処理装置との間で、更新対象となるデータそのものではなく、更新日付データのみを送受信すればよいので、文書管理システムにかかる負担は大きく抑えられることになる。 Conventionally, there is a technique for discriminating the contents of data using the update date of the data. That is, the update date of the data held by the document management device is compared with the update date of the data held by the information processing device, and if the update date held by the data is the same, the content of the data is determined to be the same, and the document management Data is not transmitted from the apparatus to the information processing apparatus, and if the update date of the data is different, it is determined that the data content is different, and the data is transmitted. In this technology, in order to perform the determination, it is only necessary to transmit / receive only the update date data, not the data to be updated, between the document management apparatus and the information processing apparatus. It will be suppressed.
しかし、このような技術にも、次の2つの問題点がある。第1に、例えば、ひとつのフォルダに複数の文書データが記憶されている場合、それら複数の文書データの全てについて同一性の判別を行う際には複数の文書データのそれぞれについて更新日付の比較を行わなければならない。そのため、フォルダに格納される文書データの数が多くなればなるほど、更新日付の送受信回数や比較回数が増大し、文書管理システムにおける処理負担が大きくなる。また例えば、ひとつの文書データが複数の文書構成要素から構成される場合にも同様のことが言える。すなわち、ひとつの文書データの同一性を判断する際には複数の文書構成要素のそれぞれについて更新日付の比較を行わなければならないため、文書データを構成する文書構成要素の数が多くなればなるほど、更新日付の比較回数が増大し、処理負担が増大するという問題がある。第2に、データの更新日付が異なっても、データの内容が同じである場合があり、このような場合、文書管理装置と情報処理装置との間で無駄なデータの送受信が行われ、文書管理システムの処理負担が増大するという問題がある。 However, this technique also has the following two problems. First, for example, when a plurality of document data is stored in one folder, when the identity of all the plurality of document data is determined, the update dates are compared for each of the plurality of document data. It must be made. For this reason, the greater the number of document data stored in the folder, the greater the number of transmission / reception of the update date and the number of comparisons, and the greater the processing load on the document management system. For example, the same can be said when one document data is composed of a plurality of document components. In other words, when determining the identity of one document data, it is necessary to compare the update date for each of a plurality of document components, the more the number of document components constituting the document data, There is a problem in that the number of comparisons of update dates increases and the processing load increases. Second, even if the data update date is different, the data contents may be the same. In such a case, useless data transmission / reception is performed between the document management apparatus and the information processing apparatus, and the document There is a problem that the processing load of the management system increases.
上記第2の問題点に関して、例えば特許文献1のように、データの内容に対応したダイジェストデータを比較してデータ内容の同一性を判別する技術によれば、解決することが可能である。しかし、そのような技術であっても、上記第1の問題点を解決できない。すなわち、文書データが複数の文書構成要素から構成されており、かつそのような文書構成要素の数が多い場合には、ダイジェストデータの比較回数も多くなり、文書データが全体として同一であるか否かを判別する際には効率的な判別が行えず、文書管理システムに負担をかけることになる。
The second problem can be solved by a technique for comparing the digest data corresponding to the data contents and determining the identity of the data contents as in
本発明は、上記2つの問題点を解決するためになされたものであり、情報処理装置が保持する文書データの更新の際に行われる、送信対象の文書データの内容の同一性を判別する処理において、文書管理装置と情報処理装置との間で無駄なデータの送受信を行わないようにするとともに、データの比較回数を抑えることによって、文書管理システムのパフォーマンス低下を回避するようにした文書管理装置、情報処理装置、文書管理システム、文書管理プログラム、および情報処理プログラムを提供することを目的としている。 The present invention has been made to solve the above two problems, and is a process for determining the identity of the content of document data to be transmitted, which is performed when document data held by the information processing apparatus is updated. Management apparatus that prevents unnecessary data transmission / reception between the document management apparatus and the information processing apparatus and avoids a decrease in the performance of the document management system by suppressing the number of data comparisons An object of the present invention is to provide an information processing apparatus, a document management system, a document management program, and an information processing program.
上記目的を達成するため、請求項1にかかる発明は、所定の記憶部に複数の文書データを記憶する文書データ記憶手段を有し、ネットワークを介して接続された情報処理装置とデータ通信を行うことによって前記記憶部に記憶された複数の文書データと、前記情報処理装置における所定の記憶領域に記憶された複数の文書データとの同一性を保持するように管理する文書管理装置であって、前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶された複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、前記記憶部に記憶された複数の文書データと、前記所定の記憶領域に記憶された複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成された合成ダイジェストデータの比較により判定するデータ判別手段と、を備えることを特徴とする構成である。
To achieve the above object, the invention according to
また請求項2にかかる発明は、請求項1記載の文書管理装置において、前記データ判別手段は、前記記憶部に記憶された複数の文書データのうち、前記所定の記憶領域に記憶された文書データと内容が異なるものを、前記統合ダイジェストデータ生成手段により生成された文書ダイジェストデータの比較により特定することを特徴とする構成である。 According to a second aspect of the present invention, in the document management apparatus according to the first aspect, the data discriminating unit stores the document data stored in the predetermined storage area among the plurality of document data stored in the storage unit. What is different from the contents is specified by comparing the document digest data generated by the integrated digest data generating means.
また請求項3にかかる発明は、請求項1または2に記載の文書管理装置において、前記記憶部に記憶される文書データは、複数の文書構成要素から構成されており、各文書構成要素の内容に対応したダイジェストデータを生成するダイジェストデータ生成手段を更に備え、前記統合ダイジェストデータ生成手段は、前記記憶部に記憶された文書データを構成する複数の文書構成要素のそれぞれから生成した複数のダイジェストデータに基づいて、各文書データの内容に対応した文書ダイジェストデータを生成することを特徴とする構成である。 According to a third aspect of the present invention, in the document management apparatus according to the first or second aspect, the document data stored in the storage unit is composed of a plurality of document components, and the contents of each document component A digest data generating unit that generates digest data corresponding to the document data, wherein the integrated digest data generating unit generates a plurality of digest data generated from each of a plurality of document constituent elements constituting the document data stored in the storage unit. Based on the above, document digest data corresponding to the contents of each document data is generated.
また請求項4にかかる発明は、請求項3に記載の文書管理装置において、前記データ判別手段は、前記記憶部に記憶された文書データを構成する複数の文書構成要素のうち、前記所定の記憶領域に記憶された文書データを構成する文書構成要素と内容が異なるものを、前記ダイジェストデータ生成手段により生成されたダイジェストデータの比較により特定することを特徴とする構成である。 According to a fourth aspect of the present invention, in the document management apparatus according to the third aspect, the data discriminating unit is configured to store the predetermined storage among the plurality of document constituent elements constituting the document data stored in the storage unit. What is different from the document constituent elements constituting the document data stored in the area is specified by comparing the digest data generated by the digest data generating means.
また請求項5にかかる発明は、所定の記憶部に複数の文書データを記憶する文書データ記憶手段を有し、ネットワークを介して接続された情報処理装置とデータ通信を行うことによって前記記憶部に記憶された複数の文書データと、前記情報処理装置における所定の記憶領域に記憶された複数の文書データとの同一性を保持するように管理する文書管理装置であって、前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶された複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、前記記憶部に記憶された複数の文書データと、前記所定の記憶領域に記憶された複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成された合成ダイジェストデータの比較により判定させるために、前記情報処理装置に対して前記合成ダイジェストデータを送信するデータ送信手段と、を備えることを特徴とする構成である。 According to a fifth aspect of the present invention, there is provided document data storage means for storing a plurality of document data in a predetermined storage unit, and the storage unit is configured to perform data communication with an information processing apparatus connected via a network. A document management device that manages a plurality of stored document data and a plurality of document data stored in a predetermined storage area in the information processing device so as to maintain the same, and is stored in the storage unit The document digest data corresponding to the contents of each document data is generated, and based on the plurality of document digest data generated from each of the plurality of document data stored in the storage unit, the contents of the plurality of document digest data are changed. Integrated digest data generating means for generating corresponding composite digest data, and a plurality of document data stored in the storage unit; In order to determine whether there is a different content from the plurality of document data stored in the predetermined storage area by comparing the composite digest data generated by the integrated digest data generation unit, the information And a data transmission means for transmitting the combined digest data to a processing device.
また請求項6にかかる発明は、請求項5に記載の文書管理装置とネットワークを介してデータ通信可能に接続される情報処理装置であって、所定の記憶領域に複数の文書データを記憶するデータ記憶手段と、前記文書管理装置における所定の記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記文書管理装置において生成された合成ダイジェストデータの比較により判定するデータ判別手段と、を備えることを特徴とする構成である。 According to a sixth aspect of the present invention, there is provided an information processing apparatus connected to the document management apparatus according to the fifth aspect of the present invention via a network so as to be capable of data communication, wherein the data stores a plurality of document data in a predetermined storage area. Whether there are different contents between the storage means, the plurality of document data stored in the predetermined storage unit of the document management apparatus, and the plurality of document data stored in the predetermined storage area And a data discriminating means for judging by comparing the composite digest data generated in the document management apparatus.
また請求項7にかかる発明は、情報処理装置と文書管理装置とがネットワークを介して相互にデータ通信可能に接続され、前記情報処理装置と前記文書管理装置とのそれぞれで保持される複数の文書データの同一性を保持するように管理する文書管理システムであって、前記文書管理装置は、所定の記憶部に複数の文書データを記憶する文書データ記憶手段と、前記記憶部に記憶される各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶される複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、を備え、前記情報処理装置は、所定の記憶領域に複数に文書データを記憶するデータ記憶手段を備え、前記文書管理装置および前記情報処理装置の少なくとも一方は、前記記憶部に記憶されている複数の文書データと、前記記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成される合成ダイジェストデータの比較により判定するデータ判別手段を備えることを特徴とする構成である。 According to a seventh aspect of the present invention, there is provided a plurality of documents in which an information processing apparatus and a document management apparatus are connected to each other via a network so as to be able to perform data communication with each other, and are held by each of the information processing apparatus and the document management apparatus. A document management system that manages data so as to maintain the sameness, wherein the document management device includes a document data storage unit that stores a plurality of document data in a predetermined storage unit, and each of the storage units stored in the storage unit Document digest data corresponding to the content of the document data is generated, and based on the plurality of document digest data generated from each of the plurality of document data stored in the storage unit, the content of the plurality of document digest data is supported Integrated digest data generation means for generating composite digest data, and the information processing apparatus stores the composite digest data in a predetermined storage area. And at least one of the document management device and the information processing device includes a plurality of document data stored in the storage unit and a plurality of document data stored in the storage area. It is a configuration characterized by comprising data discriminating means for judging whether there is a document whose content differs from that of the document data by comparing the synthesized digest data generated by the integrated digest data generating means.
また請求項8にかかる発明は、所定の記憶部に複数の文書データを記憶する文書データ記憶手段を有する文書管理装置によって実行され、ネットワークを介して前記文書管理装置に接続された情報処理装置とデータ通信を行うことによって前記記憶部に記憶された複数の文書データと、前記情報処理装置における所定の記憶領域に記憶された複数の文書データとの同一性を保持するための文書管理プログラムであって、前記文書管理装置に、前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成するステップと、前記記憶部に記憶された複数の文書データのそれぞれから生成された複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成するステップと、前記記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記合成ダイジェストデータの比較により判定するステップと、を実行させることを特徴とする構成である。 According to an eighth aspect of the present invention, there is provided an information processing apparatus which is executed by a document management apparatus having document data storage means for storing a plurality of document data in a predetermined storage unit and connected to the document management apparatus via a network. A document management program for maintaining identity between a plurality of document data stored in the storage unit and a plurality of document data stored in a predetermined storage area in the information processing apparatus by performing data communication. Generating a document digest data corresponding to the content of each document data stored in the storage unit in the document management device, and a plurality of document data generated from each of the plurality of document data stored in the storage unit On the basis of the document digest data, composite digest data corresponding to the contents of the plurality of document digest data is generated. Whether or not there is a different content between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. And a step of determining by comparing the two.
また請求項9にかかる発明は、所定の記憶部に複数の文書データを記憶する文書データ記憶手段を有する文書管理装置によって実行され、ネットワークを介して前記文書管理装置に接続された情報処理装置とデータ通信を行うことによって前記記憶部に記憶された複数の文書データと、前記情報処理装置における所定の記憶領域に記憶された複数の文書データとの同一性を保持するための文書管理プログラムであって、前記文書管理装置に、前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成するステップと、前記記憶部に記憶された複数の文書データのそれぞれから生成された複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成するステップと、前記記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記合成ダイジェストデータの比較により判定させるために、前記情報処理装置に対して前記合成ダイジェストデータを送信するステップと、を実行させることを特徴とする構成である。 The invention according to claim 9 is an information processing apparatus that is executed by a document management apparatus having a document data storage unit that stores a plurality of document data in a predetermined storage unit, and that is connected to the document management apparatus via a network. A document management program for maintaining identity between a plurality of document data stored in the storage unit and a plurality of document data stored in a predetermined storage area in the information processing apparatus by performing data communication. Generating a document digest data corresponding to the content of each document data stored in the storage unit in the document management device, and a plurality of document data generated from each of the plurality of document data stored in the storage unit On the basis of the document digest data, composite digest data corresponding to the contents of the plurality of document digest data is generated. Whether or not there is a different content between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. In order to make a determination based on the comparison, the step of transmitting the synthesized digest data to the information processing apparatus is executed.
本発明によれば、情報処理装置が保持するデータの更新の際に行われる、送信対象のデータの内容の同一性を判別する処理において、送信対象のデータの内容に対応したダイジェストデータを統合して生成する文書ダイジェストデータおよび合成ダイジェストデータを判定に用いることにより、文書管理装置と情報処理装置との間で無駄なデータの送受信を行わないようにするとともに、データの比較回数を抑えることができる。それ故、文書管理システムのパフォーマンス低下を回避することが可能となる。 According to the present invention, digest data corresponding to the content of the data to be transmitted is integrated in the process of determining the identity of the content of the data to be transmitted, which is performed when the data held by the information processing apparatus is updated. By using the document digest data and composite digest data generated in this way for the determination, it is possible to prevent unnecessary data transmission / reception between the document management apparatus and the information processing apparatus and to reduce the number of data comparisons. . Therefore, it is possible to avoid the performance degradation of the document management system.
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. In the embodiments described below, members that are common to each other are denoted by the same reference numerals, and redundant descriptions thereof are omitted.
図1は、本実施形態における文書管理システムの一構成例を示す図である。この文書管理システムは、いわゆるクライアント・サーバ型の文書管理システムであり、サーバとして機能する文書管理装置1と、クライアントとして機能する複数の情報処理装置11(11a、11b、・・・)とを備えている。文書管理装置1および複数の情報処理装置11のそれぞれは、LANやWANなどのネットワーク10を介して相互にデータ通信可能に接続されている。
FIG. 1 is a diagram illustrating a configuration example of a document management system according to the present embodiment. This document management system is a so-called client-server type document management system, and includes a
文書管理システムは、文書管理装置1と情報処理装置11とで同一の文書データを保持し、文書管理装置1で保持する文書データが更新されると、情報処理装置11がその更新された文書データを文書管理装置1からダウンロードすることにより、文書管理装置1と情報処理装置11とのそれぞれで保持される文書データの整合性を保持するように構成される。それ故、文書管理装置1は、ネットワーク10を介して、情報処理装置11において保持される文書データに対応した文書データを保持する。ここで、文書管理装置1に保持される文書データと、情報処理装置11に保持される文書データとの対応関係は、文書データの所定のプロパティ、例えばファイル名などによって判断される。つまり、文書管理装置1に保持される文書データのプロパティと、情報処理装置11に保持される文書データのプロパティとが互いに一致すれば、それらの文書データは互いに対応するデータである。
In the document management system, the
図1の例では、文書管理装置1は文書データ100aを保持している。このとき、情報処理装置11aは、文書データ100aと同一プロパティを有する文書データ100bを保持し、情報処理装置11bは、文書データ100aと所定の同一プロパティを有する文書データ100cを保持する。この場合、文書管理装置1に保持される文書データ100aと、情報処理装置11a,11aのそれぞれで保持される文書データ100b,100cとは互いに対応するデータである。
In the example of FIG. 1, the
図2は、本実施形態における文書データ100の一例を示す図である。ここで、文書データ100は、文書管理装置1で保持される文書データ100aおよび情報処理装置11a,11aのそれぞれで保持される文書データ100b,100cを総称するものである。この文書データ100は、複数の文書構成要素190から構成される。文書構成要素190として、例えば文書本体データ101や、サムネイル102や、データベース103や、およびセキュリティ情報104などが挙げられる。文書本体データ101とは、例えばテキストファイルなどの文書ファイル本体のことをいう。サムネイル102は、文書本体データ101のサムネイルデータである。データベース103は、文書本体データ101のプロパティ情報、例えば文書本体データ101のオーナ情報やアクセス権等を管理するデータベースデータである。セキュリティ情報104は、電子署名等の、文書本体データ101のセキュリティに関するデータである。
FIG. 2 is a diagram showing an example of the
文書データ100は、文書構成要素190として、少なくとも文書本体データ101を含む。また文書データ100は、文書本体データ101以外の3つの文書構成要素を含むか否かは任意である。つまり、文書データ100が、文書本体データ101のみから構成されている場合もあり、また文書本体データ101、データベース103、およびセキュリティ情報104という3つの文書構成要素190から構成されている場合もある。尚、データベース103は必ずしも文書本体データ101のプロパティ情報を管理するものに限られず、他の情報を管理するものであってもよい。また、文書データ100は、文書構成要素190として、これ以外のデータを含んでいてもよい。
The
図1に戻り、文書管理装置1は、文書データ100aを構成するデータとして、文書構成要素190aを保持している。この文書構成要素190aは、情報処理装置11aにおいて保持される文書データ100bを構成する文書構成要素190bに対応する。また文書構成要素190aは、情報処理装置11bにおいて保持される文書データ100cを構成する文書構成要素190cに対応する。文書管理装置1に保持される文書構成要素190aと、情報処理装置11a,11bに保持される文書構成要素190b,190cとの対応関係は、同種の文書構成要素であるか否かにより判断され、例えばデータの拡張子などで判断される。そして文書データ100aの文書構成要素190aと、文書データ100b,100cの文書構成要素190b,190cとが、同種の文書構成要素であれば、それらは互いに対応した文書構成要素となる。
Returning to FIG. 1, the
図1の例では、文書管理装置1が保持する文書データ100aには、文書構成要素190aが含まれている。このとき、情報処理装置11aが保持する文書データ100bには、文書構成要素190aと同種の文書構成要素190b含まれ、情報処理装置11bが保持する文書データ100cには、文書構成要素190aと同種の文書構成要素190cが含まれる。具体的には、文書管理装置1が保持する文書データ100aにサムネイル102が含まれていれば、情報処理装置11aが保持する文書データ100bにも、それに対応するサムネイル102が含まれる。同様に、文書データ100aにデータベース103が含まれれば、情報処理装置11bが保持する文書データ100cにもそれに対応するデータベース103が含まれる。
In the example of FIG. 1, the
本実施形態の文書管理システムは、文書管理装置1で保持される文書データ100aの内容と、各情報処理装置11で保持される文書データ100b,100cの内容とが同一になるように、文書管理装置1と情報処理装置11との間でネットワーク10を介してデータの送受信を行うように構成されている。ここで、文書データ100aと文書データ100bの内容が同一であるとは、文書データ100aに含まれる文書構成要素190aの内容と、文書データ100bに含まれる文書構成要素190bの内容が、全て同一であることをいう。例えば、文書データ100aが、文書本体データ101aと、サムネイル102aと、データベース103aと、セキュリティ情報104aとから構成されており、文書データ100bが、文書本体データ101bと、サムネイル102bと、データベース103bと、セキュリティ情報104bとから構成されている場合に、文書本体データ101aと101bとが同一内容であり、サムネイル102aと102bとが同一内容であり、データベース103aと103bとが同一内容であり、およびセキュリティ情報104aと104bとが同一内容であるなら、文書データ100aの内容と文書データ100bの内容は同一である。同様に、文書データ100aと文書データ100cの内容が同一であるとは、文書構成要素190aの内容と文書構成要素190cの内容が全て同一であることをいう。
The document management system according to the present embodiment is configured so that the contents of the
また文書管理装置1は、文書データ100aを所定のフォルダ200aに記憶して管理する。そして情報処理装置11aは、文書管理装置1におけるフォルダ200aに対応するフォルダ200bに文書データ100bを記憶して管理する。同様に、情報処理装置11aは、文書管理装置1におけるフォルダ200aに対応するフォルダ200cに文書データ100cを記憶して管理する。ここで、文書管理装置1におけるフォルダ200aと、情報処理装置11におけるフォルダ200b,200cとの対応関係は、それぞれのフォルダの所定のプロパティ、例えばフォルダ名などによって判断される。つまり、文書管理装置1のフォルダ200aのプロパティと、情報処理装置11のフォルダ200b,200cのプロパティとが互いに一致すれば、それらのフォルダは互いに対応するフォルダである。図1の例では、文書管理装置1は、文書データ100aをフォルダ200aに格納している。このとき、情報処理装置11aは、文書データ100bを、フォルダ200aと同一フォルダ名のフォルダ200bに格納し、情報処理装置11bは、文書データ100cを、フォルダ200aと同一フォルダ名のフォルダ200cに格納する。
The
したがって、本実施形態の文書管理システムでは、文書管理装置1における文書データ100aのデータ保持構造と、情報処理装置11における文書データ100b,100cのデータ保持構造とが同一となっており、文書管理装置1と情報処理装置11とのそれぞれで同一の文書データを共有して保持するようになっている。
Therefore, in the document management system of this embodiment, the data holding structure of the
情報処理装置11(11a、11b・・)は、例えば市販のパーソナルコンピュータ(PC)などで構成される。情報処理装置11aは、文書管理装置1が保持する文書データ100aを、ネットワーク10を介して更新することができる。すなわち、文書管理装置1が保持している文書データ100aの内容を、文書管理装置1に対して文書データ100bを送信することによって、文書管理装置1に書き換えさせることができる。また、情報処理装置11は、自機が保持する文書データ100bの内容を、ネットワーク10を介して文書管理装置1から受信した文書データ100aにより更新することができる。同様に、情報処理装置11bも、文書管理装置1が保持する文書データ100aを自機が保持する文書データ100cによって更新でき、また自機が保持する文書データ100cを、文書管理装置1が保持する100aによって更新できる。
The information processing apparatus 11 (11a, 11b,...) Is configured by, for example, a commercially available personal computer (PC). The
本実施形態の文書管理システムにおいて、情報処理装置11のユーザが文書データ100を利用する際、情報処理装置11が参照する文書データ100は当該情報処理装置11において保持している文書データ100である。すなわち、ユーザは、情報処理装置11で保持される文書データ100を閲覧等することになる。ここで例えば、情報処理装置11aのユーザが文書データ100bに対する編集作業を行って、文書データ100bを更新すると、それに伴い、情報処理装置11は、更新された文書データ100bを文書管理装置1に送信して文書データ100aの内容を、更新された文書データ100bの内容に更新する。すると、情報処理装置11bは、文書管理装置1が保持する文書データ100aとは異なる内容の文書データ100cを保持することになる。この状態で、情報処理装置11bが、そのまま自機で保持する文書データ100cをユーザに表示すれば、ユーザは、文書管理装置1が保持する文書データ100aと異なる内容の文書データ100cを利用することになり、文書の統一が図れない。
In the document management system of this embodiment, when a user of the
そのため、本実施形態におけるクライアント・サーバ型の文書管理システムでは、各情報処理装置11において保持される文書データ100b,100cが利用される際、文書管理装置1において保持される文書データ100aが更新されて異なるデータとなっているか否かを判断し、その結果、異なるデータに更新されていれば、情報処理装置11が文書管理装置1から更新された文書データ100aをダウンロードし、その文書データ100aにより、各情報処理装置11において保持されている文書データ100b,100cを更新するように構成される。その結果、各情報処理装置11では、この更新された文書データ100b,100cに基づいてユーザに対する表示を行うことができるようになり、システム全体で利用される文書の統一が行える。
Therefore, in the client-server type document management system according to the present embodiment, when the
以下、このような文書管理システムについて更に詳しく説明する。尚、文書管理システムに設けられる複数の情報処理装置11のそれぞれは情報処理装置11aと同様の機能および構成であるので、以下においては情報処理装置11として、情報処理装置11aを例に挙げて説明する。
Hereinafter, such a document management system will be described in more detail. Since each of the plurality of
図3は、文書管理装置1のハードウェア構成の一例を示すブロック図である。図3に示すように文書管理装置1は、制御部20と、ネットワークインタフェース23と、記憶装置30とを備え、これらがデータバス24を介して接続されている。制御部20は、CPU21とメモリ22とを備えており、CPU21が、記憶装置30に記憶されているプログラム33を読み出して実行することにより、各部の動作を制御する。メモリ22は、CPU21がプログラム33を実行する際に一時的なデータなどを記憶するためのものである。
FIG. 3 is a block diagram illustrating an example of a hardware configuration of the
ネットワークインタフェース23は、ネットワーク10を介して情報処理装置11とデータ通信を行うためのものである。
The
記憶装置30は、例えばハードディスク装置などの不揮発性記憶装置によって構成される。この記憶装置30には、文書管理装置1に予めインストールされたプログラム33が記憶される。また記憶装置30には、文書データ100aを格納する文書データ記憶部31、および文書管理装置1において生成されるハッシュ値および統合ハッシュ値を格納するハッシュ値・統合ハッシュ値記憶部32が設けられる。尚、ハッシュ値および統合ハッシュ値とは、文書データの内容等に対応した一定長のデータのことであるが、これについては後述する。また文書データ記憶部31には、上述したように、情報処理装置11のフォルダ200bと対応するフォルダ200aが文書データ100aを記憶するための記憶領域(記憶部)として設けられる。
The
図4は、情報処理装置11aのハードウェア構成の一例を示すブロック図である。図4に示すように情報処理装置11aは、制御部40と、ネットワークインタフェース43と、表示部44と、入力部45と、記憶装置50とを備え、これらがデータバス46を介して接続されている。
FIG. 4 is a block diagram illustrating an example of a hardware configuration of the
制御部40は、CPU41とメモリ42とを備えており、CPU41が記憶装置50に記憶されているプログラム53および54を読み出して実行することにより、各部の制御や、各種の演算処理を行う。メモリ42はプログラム53および54の実行時に一時的に生成されるデータなどを記憶する。
The
ネットワークインタフェース43は、ネットワーク10を介して文書管理装置1とデータ通信を行うためのものである。
The
表示部44は、文書データに基づいて文書情報を表示したり、その他の情報を表示したりする表示手段であり、例えば液晶ディスプレイなどで構成される。また入力部45は、ユーザが操作することにより各種信号を入力する入力手段であり、例えばキーボードやマウスなどを備えて構成される。
The
記憶装置50は、例えばハードディスク装置などの不揮発性記憶装置によって構成される。この記憶装置50には、情報処理装置11に予めインストールされたプログラム53および54が記憶される。システムプログラム53は、オペレーティングシステムである。また、アプリケーションプログラム54は、自機が保持する文書データ100bを閲覧したり、また文書管理装置1が保持する文書データ100aを更新したり、等するためのプログラムである。また記憶装置50には、文書データ100bを格納する文書データ記憶部51、および文書管理装置1から受信するハッシュ値および統合ハッシュ値を格納するハッシュ値・統合ハッシュ値記憶部52が設けられる。ここで、文書データ記憶部51には、上述したように、文書管理装置1のフォルダ200aと対応するフォルダ200bが文書データ100bを記憶するための記憶領域として設けられる。
The
上述したように、情報処理装置11aは、自機で保持する文書データ100bにより、文書管理装置1で保持される文書データ100aを更新することができる。同様に、他の情報処理装置11bも、文書管理装置1で保持される文書データ100aを更新することがある。他の情報処理装置11bが文書管理装置1で保持される文書データ100aを更新した場合、情報処理装置11aで保持する文書データ100bは文書管理装置1の文書データ100aと異なった内容のデータとなる。そこで、情報処理装置11aは、自機が保持する文書データ100bを文書管理装置1が保持する文書データ100aで更新することによって、文書データ100bが文書データ100aと同一の内容となるようにしている。本実施形態では、情報処理装置11aが文書管理装置1からダウンロードして文書データ100bを更新する処理は、例えばユーザが情報処理装置11aに対して文書データ100bを閲覧等するなどの指示を行った際に行われるようになっている。
As described above, the
このとき、本実施形態では、文書管理装置1で保持される文書データ100aに含まれる文書構成要素190aのうち、情報処理装置11aで閲覧対象等として選択された文書データ100bに含まれる文書構成要素190bと内容が異なるものが存在するか否かを判別し、内容の異なるものが存在すればその文書構成要素190aを特定する。このような判別処理は、情報処理装置11aにおいて行っても良いし、また文書管理装置1で行っても良い。そして文書構成要素190bと内容の異なる文書構成要素190aが特定されると、文書管理装置1が、情報処理装置11aに対して、その特定された文書構成要素190aのみを送信する。これにより、情報処理装置11aが保持する文書データ100bの更新を行うことができる。本実施形態では、このような判別処理を情報処理装置11aで行う場合を例示する。情報処理装置11aにおいて判別処理を行うことで、例えば文書管理装置1とネットワーク10を介して接続されている情報処理装置11の台数が多い場合でも、文書管理装置1の処理パフォーマンスへの負担が大きく軽減することができる。
At this time, in the present embodiment, among the document
情報処理装置11aが判別処理を行う際、文書管理装置1で生成されるハッシュ値(ダイジェストデータ)を参照して判別を行う。以下、詳しく説明する。本実施形態においては、文書構成要素190aまたは文書構成要素190bの内容に対応したデータであるハッシュ値(ダイジェストデータ)と、文書データ100aまたは文書データ100bの内容に対応したデータである文書ハッシュ値(文書ダイジェストデータ)と、フォルダ200aまたはフォルダ200bの内容に対応したデータであるフォルダハッシュ値(合成ダイジェストデータ)、の3種類のハッシュ値を用いて、文書構成要素190bと異なる内容の文書構成要素190aが存在するか否かを判別する。尚、フォルダハッシュ値が対応するフォルダの内容については、後述する。
When the
まず文書管理装置1において行われる処理について説明する。文書管理装置1は、複数の文書構成要素190aのそれぞれから、各文書構成要素190aの内容に対応したハッシュ値を生成する。次に文書データ100aの内容に対応した文書ハッシュ値と、フォルダ200aの内容に対応したフォルダハッシュ値とを生成する。文書管理装置1では、これら各種ハッシュ値を文書データ100aのデータ保持構造に対応付けて記憶しておく。そして、情報処理装置11aから、文書構成要素190aの送信要求があった場合、文書管理装置1は、文書構成要素190aと共に、それらハッシュ値を情報処理装置11aに送信する。これにより情報処理装置11aでは、文書データ100bのデータ保持構造に対応したハッシュ値が保持されることになる。
First, processing performed in the
文書管理装置1で保持される文書データ100a又はその文書構成要素190aと、情報処理装置11aで保持される文書データ100b又はその文書構成要素190bとが同一の内容であれば、文書管理装置1で保持される各種ハッシュ値と、情報処理装置11aで保持される各種ハッシュ値とが一致した値となる。これに対し、文書管理装置1で保持される文書データ100a又はその文書構成要素190aと、情報処理装置11aで保持される文書データ100b又はその文書構成要素190bとが互いに異なる内容となっていれば、文書管理装置1で保持される各種ハッシュ値と、情報処理装置11aで保持される各種ハッシュ値とが異なる値となる。
If the
そのため、本実施形態では、情報処理装置11aが上記判別処理を行う際、文書管理装置1においてその時点で保持されている各種ハッシュ値を取得し、情報処理装置11aで保持しているハッシュ値との比較を行う。具体的には、文書ハッシュ値およびフォルダハッシュ値を比較することにより、文書データ100aと文書データ100bの内容が異なっているか否かを判別し、その後、文書構成要素ごとのハッシュ値を用いて文書構成要素190bと内容の異なる文書構成要素190aを特定する。これにより、例えば文書データ100aと文書データ100bの内容が同一である場合に、これらの文書データの文書ハッシュ値を比較すれば、文書構成要素190aと文書構成要素190bとを個別に比較することなしに、文書構成要素190aと文書構成要素190bとは全て同一データ内容の文書構成要素で構成されていることが判明する。また、フォルダ200aのフォルダハッシュ値とフォルダ200bのフォルダハッシュ値とを比較すれば、それぞれのフォルダ200a,200bに複数の文書データが記憶されている場合であっても、それらを個別に比較することなしに全ての文書データが同一内容であることが判明する。この場合、各文書データに含まれる複数の文書構成要素190のそれぞれについて個別に比較することなく、文書構成要素190aと文書構成要素190bとが全て同一内容であることが明らかになる。
Therefore, in the present embodiment, when the
このように本実施形態では、文書管理装置1で保持される複数の文書構成要素190aのうち、情報処理装置11aで保持される文書構成要素190bと内容が異なるものが存在するかを判別する際、フォルダハッシュ値、文書ハッシュ値およびハッシュ値の順でハッシュ値比較を行っていく。このような判別手法を用いれば、異なる内容の文書構成要素を全て特定するために必要なデータの比較回数を抑えることができ、文書管理システムのパフォーマンスの低下を回避することができるようになる。
As described above, in the present exemplary embodiment, when determining whether there is a
ここで、本実施形態においては、文書ハッシュ値およびフォルダハッシュ値を総称して統合ハッシュ値という。従って、上述した判別手法では、まず統合ハッシュ値を用いて、フォルダ200aの内容とフォルダ200bの内容が異なるか否かを判別し、異なる場合は次に文書データ100aの内容と文書データ100bの内容が異なるか否かを判別する。そしてさらに異なる場合には、その後、ハッシュ値を用いて文書構成要素190bと内容が異なる文書構成要素190aを特定することになる。
Here, in the present embodiment, the document hash value and the folder hash value are collectively referred to as an integrated hash value. Therefore, in the above-described determination method, first, using the integrated hash value, it is determined whether or not the contents of the
このような本実施形態の文書管理システムにおいて、ユーザが情報処理装置11aを用いて文書データ100bを利用しようとした場合、まず、データ判別を行わせるために、情報処理装置11aに対して文書管理装置1が生成したハッシュ値および統合ハッシュ値を送信する。そして情報処理装置11aが、文書管理装置1から受信したハッシュ値および統合ハッシュ値を用いてデータ判別を行った後、文書構成要素190bと内容が異なる文書構成要素190aが存在すれば、その文書構成要素190aの送信を文書管理装置1に対して要求する。これにより、文書管理装置1は要求のあった文書構成要素190aのみを情報処理装置11aに送信する。そして情報処理装置11bは、自機で保持している文書構成要素190bを、文書管理装置1から受信した文書構成要素190aにより更新する。このような一連の処理を行うことで、文書データ100aと、文書データ100bとが同一のデータ内容として構成される。つまり、文書管理装置1と情報処理装置11aとでデータの同一性が保持される。
In such a document management system of the present embodiment, when a user tries to use the
そして本実施形態では、上述の判別処理をハッシュ値および統合ハッシュ値を用いて行うので、従来の方法に比べデータ処理の負担が軽減されることとなり、文書管理システム全体のパフォーマンスの低下を回避できる。尚、上述した例では、主として情報処理装置11aと文書管理装置1との関係について説明したが、他の情報処理装置11bについても同様である。
In this embodiment, since the above-described determination process is performed using a hash value and an integrated hash value, the data processing burden is reduced as compared with the conventional method, and a decrease in the performance of the entire document management system can be avoided. . In the example described above, the relationship between the
次に上記のような動作を実現するための、文書管理装置1における具体的な内部機能について説明する。図5は、文書管理装置1の制御部20がプログラム33を実行することによって実現される詳細な機能構成を示すブロック図である。尚、図5では、文書管理装置1が保持する文書データ100aの更新後、新たに更新後の文書データ100aについてハッシュ値・統合ハッシュ値を生成する機能、および、ユーザが情報処理装置11aを操作して文書データ100bを閲覧等しようとした場合に、文書データ100aと文書データ100bとを同一内容にするため、文書管理装置1が情報処理装置11aに文書構成要素190aを送信する機能に関するブロックのみを示しており、それ以外の機能については図示を省略している。
Next, specific internal functions in the
図5に示すように、制御部20は、プログラム33を実行することにより、文書データ更新部60、ハッシュ値生成部61、統合ハッシュ値生成部62、文書ハッシュ値生成部63、フォルダハッシュ値生成部64、ハッシュ値・統合ハッシュ値送信部65、文書構成要素送信部66として機能する。
As shown in FIG. 5, the
文書データ更新部60は、文書管理装置1が保持する文書データ100aの更新を行う。具体的には、情報処理装置11aから文書構成要素190bが送信されてきた場合に、文書データ記憶部31に格納されている文書構成要素190aを、当該送信されてきた文書構成要素190bに書き換える。これにより、文書構成要素190aの内容は、送信されてきた文書構成要素190bの内容と同一になる。
The document
ハッシュ値生成部61は、文書データ更新部60により文書データ100aが更新された場合に機能し、文書データ更新部60により書き換えられた文書構成要素190aから、ハッシュ値を生成する。具体的には、文書データ更新部60により書き換えられた文書構成要素190aを、記憶装置30に格納されている所定のハッシュ関数に入力し、文書構成要素190aの内容に対応した一定長のデータであるハッシュ値の出力を得る。つまり、ハッシュ値生成部61は、文書データ更新部60により書き換えられた文書構成要素190aの、書き換え後の内容に対応するハッシュ値を生成する。ここで、ハッシュ関数とは、入力したデータの内容に対応した、一定長のデータを出力する関数のことをいう。ハッシュ関数は、入力されるデータの内容が異なる場合は、異なるデータをハッシュ値として出力する。従って、ハッシュ関数の出力であるハッシュ値を比較すれば、文書構成要素190bと内容が異なる文書構成要素190aを特定できる。そしてハッシュ値生成部61は、上述のようにして生成したハッシュ値により、ハッシュ値・統合ハッシュ値記憶部32に設けられたハッシュ値記憶部34に記憶されているハッシュ値を更新する。具体的には、ハッシュ値記憶部34に記憶されている、文書データ更新部60による書き換え前の文書構成要素190aのハッシュ値を、上述のようにして新たに生成した書き換え後の文書構成要素190aのハッシュ値に書き換える。
The hash
図6(a)は、文書データ更新部60により更新された文書データ110aの文書ハッシュ値生成概念図である。ここで、文書データ110aは、文書データ100aの一例である。すなわち、文書管理装置1が文書データ110aを保持し、文書データ110aと同一のプロパティを有する文書データ110bを、情報処理装置11aが保持していると仮定する。尚、図6では、文書構成要素190aは文書本体データ111a、サムネイル112a、データベース113a、およびセキュリティ情報114aの4つであり、これらは全て文書データ更新部60により書き換えられているものとする。この場合、ハッシュ値生成部61は、文書本体データ111aをハッシュ関数80に入力し、その文書本体データ111aの内容に対応したハッシュ値311aを得る。またサムネイル112aをハッシュ関数80に入力し、そのサムネイル112aの内容に対応したハッシュ値312aを得る。またデータベース113aをハッシュ関数80に入力し、そのデータベース113aの内容に対応したハッシュ値313aを得る。またセキュリティ情報114aをハッシュ関数80に入力し、そのセキュリティ情報114aの内容に対応したハッシュ値314aを得る。以上のようにしてハッシュ値生成部61は、文書データ更新部60により更新された文書データ110aに含まれる各文書構成要素190aのハッシュ値を生成する。
FIG. 6A is a conceptual diagram of document hash value generation of the
統合ハッシュ値生成部62は、文書ハッシュ値生成部63とフォルダハッシュ値生成部64とを備えている。文書ハッシュ値生成部63は文書ハッシュ値を生成し、フォルダハッシュ値生成部64はフォルダハッシュ値を生成する。ハッシュ値生成部61により新たにハッシュ値が生成された場合に文書ハッシュ値生成部63が機能し、文書ハッシュ値生成部63による文書ハッシュ値の生成が終わった後、フォルダハッシュ値生成部64が機能する。
The integrated hash
文書ハッシュ値生成部63は、文書データ更新部60により更新された文書データ100aにつき、文書データ100aを構成する複数の文書構成要素190aのそれぞれに基づいて文書データ100aの内容に対応した文書ハッシュ値を生成する。具体的には、文書データ100aを構成する複数の文書構成要素190aのそれぞれの内容に対応した複数のハッシュ値を、ハッシュ関数に入力し、当該文書データ100aの内容に対応した一定長のデータである文書ハッシュ値の出力を得る。このとき、文書データ更新部60により書き換えられた文書構成要素190aについては、ハッシュ値生成部61において生成されたハッシュ値を用い、文書データ更新部60により書き換えられていない文書構成要素190aについては、ハッシュ値記憶部34から読み込んだハッシュ値を用いることになる。つまり、文書ハッシュ値生成部63は、文書データ更新部60により更新された文書データ100aの、更新後の内容に対応した文書ハッシュ値を生成する。このような文書ハッシュ値は、ハッシュ値と同様、ハッシュ関数に入力される複数のハッシュ値のうちの少なくとも1つが異なる値であれば、異なる値のハッシュ値として出力される。そのため、文書ハッシュ値を比較すれば、文書データ100aを構成する複数の文書構成要素190aのそれぞれの内容と、文書データ100bを構成する複数の文書構成要素190bのそれぞれの内容とが異なるか否かを判別できる。
The document hash
図6(b)は、文書データ110aの文書ハッシュ値生成概念図である。文書ハッシュ値生成部63は、図6(a)においてハッシュ値生成部61が文書本体データ111aから生成したハッシュ値311aと、ハッシュ値生成部61がサムネイル112aから生成したハッシュ値312aと、ハッシュ値生成部61がデータベース113aから生成したハッシュ値313aと、およびハッシュ値生成部61がセキュリティ情報114aから生成したハッシュ値314aとをハッシュ関数80に入力し、文書データ110aの内容に対応した文書ハッシュ値410aを得る。
FIG. 6B is a conceptual diagram of document hash value generation of the
上述のようにして文書ハッシュ値生成部63が文書ハッシュ値を生成した後、フォルダハッシュ値生成部64は、文書データ更新部60により更新された文書データ100aを格納しているフォルダ200aについて、フォルダハッシュ値を生成する。具体的には、フォルダ200aが下位フォルダを持つか否かにより、以下の2つの生成方法が実行される。
After the document hash
(1)下位フォルダを持たないフォルダ200aについては、当該フォルダに格納されている全ての文書データ100aの内容に対応した複数の文書ハッシュ値から、その複数の文書ハッシュ値に対応したフォルダハッシュ値を生成する。具体的には、当該フォルダに格納されている複数の文書データ100aのそれぞれの内容に対応した複数の文書ハッシュ値を、記憶装置30に格納されているハッシュ関数に入力し、その複数の文書ハッシュ値に対応した一定長のデータであるフォルダハッシュ値の出力を得る。このとき、文書データ更新部60により更新された文書データ100aについては、文書ハッシュ値生成部63において生成された文書ハッシュ値を用い、文書データ更新部60により更新されていない文書データ100aについては、統合ハッシュ値記憶部35から読み込んだ文書ハッシュ値を用いることになる。
(1) For a
図7(a)は、下位フォルダを持たないフォルダ210aのフォルダハッシュ値生成概念図である。ここで、フォルダ210aはフォルダ200aの一例である。すなわち、文書管理装置1がフォルダ210aを有し、フォルダ210aと同一のプロパティを有するフォルダ210bを、情報処理装置11aが有していると仮定する。尚、図7では全ての文書データ100aが文書データ更新部60により更新されたものとする。フォルダ210aには、文書データ100aの一例である文書データ110a、文書データ120a、および文書データ130aが格納されている。文書データ110aの文書ハッシュ値410a、文書データ120aの文書ハッシュ値420a、および文書データ130aの文書ハッシュ値430aを、上述した文書ハッシュ値生成方法により文書ハッシュ値生成部63が生成した後、フォルダハッシュ値生成部64は、文書ハッシュ値420と、文書ハッシュ値420と、文書ハッシュ値440とをハッシュ関数80に入力して、文書ハッシュ値420の内容、文書ハッシュ値430の内容、および文書ハッシュ値440の内容に対応した、フォルダ210aのフォルダハッシュ値510aを得る。
FIG. 7A is a conceptual diagram of folder hash value generation for the
(2)下位フォルダを持つフォルダ200aについては、当該フォルダ200aに格納されている全ての文書データ100aの内容に対応した複数の文書ハッシュ値と、1つ下位のフォルダのフォルダハッシュ値とから、その複数の文書ハッシュ値および1つ下位のフォルダのフォルダハッシュ値に対応したフォルダハッシュ値を生成する。具体的には、フォルダ200aに格納されている各文書データ100aの内容に対応した複数の文書ハッシュ値と、1つ下位のフォルダのハッシュ値とを、記憶装置30に格納されているハッシュ関数に入力し、その複数の文書ハッシュ値および1つ下位のフォルダのフォルダハッシュ値に対応した一定長のデータであるフォルダハッシュ値の出力を得る。このとき、文書データ更新部60により更新された文書データ100aについては、文書ハッシュ値生成部63において生成された文書ハッシュ値を用い、文書データ更新部60により更新されていない文書データ100aについては、統合ハッシュ値記憶部35から読み込んだ文書ハッシュ値を用いることになる。また、1つ下位のフォルダが文書データ更新部60により更新された文書データを格納している場合はフォルダハッシュ値生成部64によって生成されたフォルダハッシュ値を用いる。さらに、1つ下位のフォルダが文書データ更新部60により更新されていない文書データのみを格納する場合は、統合ハッシュ値記憶部35から読み込んだフォルダハッシュ値を用いる。
(2) For a
図7(b)は、下位フォルダが存在するフォルダ220aのフォルダハッシュ値生成の概念図である。ここで、フォルダ220aはフォルダ200aの一例である。フォルダ220aには、文書データ100aの一例である文書データ140aおよび文書データ150aが格納されており、その1つ下位のフォルダとしてフォルダ210aが存在する。文書データ140aの文書ハッシュ値440aおよび文書データ150aの文書ハッシュ値450aを、上述した文書ハッシュ値生成方法により文書ハッシュ値生成部63が生成した後、フォルダハッシュ値生成部64は、フォルダ210aのフォルダハッシュ値510aを、上述した下位フォルダが存在しない場合のフォルダハッシュ値生成方法により生成する。そしてフォルダハッシュ値生成部64は、文書ハッシュ値440aと、文書ハッシュ値450aと、フォルダハッシュ値510aとをハッシュ関数80に入力して、文書ハッシュ値440aの内容、文書ハッシュ値450aの内容、およびフォルダハッシュ値510aの内容に対応した、フォルダ220aのフォルダハッシュ値520aを得る。
FIG. 7B is a conceptual diagram of folder hash value generation for the
つまり、フォルダハッシュ値生成部64は、文書データ更新部60により文書データ100aが更新された場合、その更新後の文書データ100aを格納しているフォルダおよびその上位フォルダの全てについて、それらフォルダに格納されている全ての文書データ100aの文書ハッシュ値の内容と、1つ下位のフォルダのフォルダハッシュ値の内容とに対応したハッシュ値を生成する。ここで、下位のフォルダが存在しない場合のフォルダハッシュ値は、そのフォルダに格納されている全ての文書データ100aの文書ハッシュ値の内容に対応している。また、下位のフォルダが存在する場合のフォルダハッシュ値は、そのフォルダに格納されている全ての文書データ100aの内容と、そのフォルダよりも下位のフォルダ全てに格納されている全ての文書データ100aの内容に対応している。従って、フォルダハッシュ値を比較すれば、そのフォルダ、およびそのフォルダより下位のフォルダに格納されている文書データ100aのうちで、文書データ100bと内容が異なるものが存在するか否かを判定することができる。このようにフォルダハッシュ値は、そのフォルダに格納されている全ての文書データ100aおよびその文書データ100aを構成する全ての文書構成要素190aの内容を反映したダイジェストデータとなっている。
That is, when the
そして統合ハッシュ値生成部62は、上述のようにして生成した文書ハッシュ値およびフォルダハッシュ値を、ハッシュ値・統合ハッシュ値記憶部32に設けられた統合ハッシュ値記憶部35に格納する。このとき、統合ハッシュ値生成部62は、統合ハッシュ値記憶部35に既に格納されている文書ハッシュ値およびフォルダハッシュ値を、上述のようにして生成した文書ハッシュ値およびフォルダハッシュ値で書き換えることにより、文書ハッシュ値およびフォルダハッシュ値を更新する。
The integrated hash
ハッシュ値・統合ハッシュ値送信部65は、情報処理装置11aにおいてユーザが文書データ100bを閲覧等しようとした場合に情報処理装置11aから送信される、ハッシュ値・統合ハッシュ値要求を受信した場合に機能し、情報処理装置11bにハッシュ値および統合ハッシュ値を送信する。具体的には、フォルダ200aのフォルダハッシュ値、文書データ100aの文書ハッシュ値、および文書構成要素190aのハッシュ値を、ハッシュ値・統合ハッシュ値記憶部32から読み込み、これを情報処理装置11aに送信する。
The hash value / integrated hash
文書構成要素送信部66は、データ判別処理を終えた情報処理装置11aから送信される文書構成要素送信要求を受信した場合に、当該送信要求された文書構成要素190aを送信する。具体的には、情報処理装置11aが送信した文書構成要素送信要求から、送信対象となる文書構成要素190aを特定し、特定した文書構成要素190aを文書データ記憶部31から読み込んで、情報処理装置11aに送信する。
When the document
次に情報処理装置11aにおける具体的な内部機能について説明する。図8は、情報処理装置11aの制御部40がシステムプログラム53およびアプリケーションプログラム54を実行することによって実現される詳細な機能構成を示すブロック図である。尚、図8では、例えばユーザが文書データ100bが格納されているフォルダ200bを選択してクリック操作した場合に、文書データ100aと文書データ100bを同一内容にするため、文書管理装置1から送信されてくるハッシュ値・統合ハッシュ値により、文書構成要素190bと異なる内容の文書構成要素190aが存在するが否かを判定し、存在するならば、その文書構成要素190aの送信要求を行い、その文書構成要素190aによって情報処理装置11aが保持する文書構成要素190bを更新する機能に関するブロックのみを示しており、それ以外の機能については図示を省略している。
Next, specific internal functions in the
図8に示すように、制御部40は、プログラム53および54を実行することにより、文書データ管理部70、ハッシュ値・統合ハッシュ値要求部71、データ判別部72、文書構成要素要求部73、データ更新部74として機能する。
As shown in FIG. 8, the
文書データ管理部70は、文書データ100bの内容を変更したり、閲覧等できるように、文書データを管理する。具体的には、文書データ管理部70は、アプリケーションプログラム54の機能によって、文書データ記憶部51に格納されている文書構成要素190bを読み込んだユーザが、その文書構成要素190bの内容を変更した場合、変更後の文書構成要素190bを文書管理装置1に送信し、また文書データ記憶部51に格納されている変更前の文書構成要素190bの内容を、当該変更後の文書構成要素190bの内容に書き換える。尚、文書管理装置1に送信された変更後の文書構成要素190bは、文書データ更新部60によって処理されることになる。また、ユーザが、例えば文書データ100bを閲覧等しようとして、入力部45を介してフォルダ200bをクリックすれば、文書データ管理部70に設けられたハッシュ値・統合ハッシュ値要求部71が機能し、文書管理装置1に対して、フォルダ200aのフォルダハッシュ値、文書データ100aの文書ハッシュ値、および文書構成要素190aのハッシュ値の送信を要求する。
The document
データ判別部72は、ハッシュ値・統合ハッシュ値要求部71が文書管理装置1に対してハッシュ値および統合ハッシュ値を要求した場合に機能し、文書構成要素190bと異なる文書構成要素190aが文書管理装置1で保持されている場合、これを特定する。具体的には、データ判別部72は、まず、文書管理装置1からハッシュ値および統合ハッシュ値を受信し、受信したハッシュ値および統合ハッシュ値を用いて、文書データ100bと内容が異なる文書データ100aが存在するか否かを判別する。異なるデータが存在している場合、次にその文書データ100aに含まれる複数の文書構成要素190aのうち、文書構成要素190bと内容が異なる文書構成要素190aを全て特定する。また、データ判別部72は、文書管理装置1から受信したハッシュ値および統合ハッシュ値を、メモリ42に一時的に格納する。
The
文書構成要素要求部73は、文書管理装置1に対して、データ判別部72が行う上記データ判別方法によって特定された文書構成要素190aの送信要求を行う。
The document
データ更新部74は、文書構成要素要求部73が送信要求を行った場合に機能し、文書構成要素190bと、ハッシュ値および統合ハッシュ値とを更新する。具体的には、まず、文書構成要素要求部73が文書管理装置1に対して送信要求した文書構成要素190aを受信し、文書データ記憶部51に格納されている文書構成要素190bの内容を、当該受信した文書構成要素190aの内容に書き換える。そして、ハッシュ値・統合ハッシュ値記憶部52に格納されている、上述の書き換えを行う前の文書構成要素190bのハッシュ値、その文書構成要素190bにより構成される文書データ100bの文書ハッシュ値、その文書データ100bを格納するフォルダ200bのフォルダハッシュ値、およびそのフォルダ200aの上位フォルダのフォルダハッシュ値を、上述した、データ判別部72が一時的にメモリ42に格納したハッシュ値・統合ハッシュ値に書き換える。
The
このデータ更新部74による文書構成要素190bの更新により、文書管理装置1と情報処理装置11aとで、文書データ100aと文書データ100bは、全て同一内容となる。従って、ユーザは、情報処理装置11aにより、文書管理装置1で保持されている文書データ100aと同一内容の文書データ100bを閲覧等することができるようになる。また、上述のように文書構成要素190bが更新されることにより、情報処理装置11aは、自機が保持する文書構成要素190bの内容と対応しないハッシュ値、自機が保持する文書データ100bの内容と対応しない文書ハッシュ値、および自機が保持するフォルダ200bの内容と対応しないフォルダハッシュ値、を保持することになるが、データ更新部74によりハッシュ値および統合ハッシュ値が更新されれば、情報処理装置11aは、自機が保持する文書構成要素190bの内容、文書データ100bの内容、およびフォルダ200bの内容と対応したハッシュ値および統合ハッシュ値を保持することになる。従って、再びユーザがフォルダ200bをクリックして、データ判別部72が、データ判別を行うことになっても、ハッシュ値・統合ハッシュ値記憶部52に格納されたハッシュ値・統合ハッシュ値を用いて行えばよいので、自機が保持する文書構成要素190bのハッシュ値、自機が保持する文書データ100bの文書ハッシュ値、および自機が保持するフォルダ200bのフォルダハッシュ値を生成する必要はなく、文書管理システムのパフォーマンスの低下を回避することができる。
By updating the
また、本実施形態において、データ判別は、文書管理装置1が行わずに情報処理装置11が行うこととしている。これにより、文書管理装置1にかかる処理負担を軽減させている。特に、文書管理装置1とネットワーク10を介しデータ通信可能に接続されている情報処理装置11の数が多くなればなるほど、文書管理装置1に対する情報処理装置11からのデータ処理要求が多くなり文書管理装置1の処理負担が増えるので、情報処理装置11がデータ判別を行うことによる、文書管理システムのパフォーマンス低下回避の効果が大きくなる。
In the present embodiment, the data discrimination is performed by the
図9は、文書管理装置1が情報処理装置11aから文書構成要素190bを受信する場合の処理手順の一例を示すフローチャートである。文書管理装置1は、情報処理装置11aから、文書構成要素190bを受信したか否かを監視している(ステップS101)。文書管理装置1が文書構成要素190bを受信したならば(ステップS101でYES)、文書データ更新部60が機能し、受信した文書構成要素190bにより文書管理装置1が保持する文書データ100aの更新を行う(ステップS102)。その後、ハッシュ値生成部61が機能し、ステップS101で受信した文書構成要素190bのハッシュ値を生成し(ステップS103)、生成したハッシュ値によりハッシュ値記憶部34に格納されているハッシュ値の更新を行う(ステップS104)。すると統合ハッシュ値生成部62が機能し、ステップS103においてハッシュ値生成部61が生成したハッシュ値から、統合ハッシュ値を生成する(ステップS105)。そしてその後、統合ハッシュ値生成部62は、ステップS105において生成した統合ハッシュ値により、ハッシュ値・統合ハッシュ値記憶部32における統合ハッシュ値記憶部35に格納されている統合ハッシュ値を更新して(ステップS106)、処理を終了する。
FIG. 9 is a flowchart illustrating an example of a processing procedure when the
図10は、文書管理装置1が情報処理装置11aからハッシュ値・統合ハッシュ値要求を受信する場合の処理手順の一例を示すフローチャートである。文書管理装置1は、情報処理装置11aから、ハッシュ値・統合ハッシュ値要求を受信したか否かを監視している(ステップS201)。文書管理装置1がハッシュ値・統合ハッシュ値要求を受信したならば(ステップS201でYES)、ハッシュ値・統合ハッシュ値送信部65が機能し、フォルダ200a、文書データ100a、および文書構成要素190aのハッシュ値・統合ハッシュ値を、情報処理装置11aに送信する(ステップS202)。その後、文書管理装置1は、所定時間以内に、情報処理装置11aから文書構成要素送信要求を受信したか否かを監視する(ステップS203)。文書構成要素送信要求を受信した場合は(ステップS203でYES)、文書構成要素送信部66が機能し、受信した文書構成要素送信要求から、送信対象の文書構成要素190aを特定する(ステップS204)。そしてステップS204で特定した文書構成要素190aを情報処理装置11aに送信して(ステップS205)、処理を終了する。一方、ステップS203で所定時間以内に文書構成要素送信要求を受信しなかった場合は(ステップS203でNO)、文書構成要素190aの送信をせずに処理を終了する。
FIG. 10 is a flowchart illustrating an example of a processing procedure when the
図11は、情報処理装置11aにおいてユーザがフォルダ200bをクリックする場合の処理手順の一例を示すフローチャートである。文書データ管理部70は、フォルダ200bが入力部45を介してクリックされるか否かを監視している(ステップS301)。共有フォルダ200bがクリックされた場合(ステップS301でYES)、文書データ管理部70に備わるハッシュ値・統合ハッシュ値要求部71が機能し、文書管理装置1に対して、フォルダ200a、文書データ100a、および文書構成要素190aのハッシュ値・統合ハッシュ値の送信を要求する(ステップS302)。その後、データ判別部72が機能し、文書管理装置1からハッシュ値・統合ハッシュ値を受信したか否かを監視する(ステップS303)。ハッシュ値・統合ハッシュ値を受信したならば(ステップS303でYES)、データ判別部72が機能して、受信したハッシュ値・統合ハッシュ値をメモリ42に一時的に格納し(ステップS304)、その後データ判別処理を行う(ステップS305)。このデータ判別処理において、文書データ100bと異なる内容の文書データ100aが存在すると判定された場合(ステップS306でYES)、文書構成要素要求部73が機能し、データ判別処理において特定された文書構成要素190aの送信を、文書管理装置1に対して要求する(ステップS307)。すると、データ更新部74が機能し、文書管理装置1から文書構成要素190aを受信したか否かを監視する(ステップS308)。文書構成要素190aを受信した場合(ステップS308でYES)、文書データ記憶部51に格納されている文書構成要素190bの内容を、当該受信した文書構成要素190aの内容に書き換える(ステップS309)。また、ハッシュ値・統合ハッシュ値記憶部52に格納されているハッシュ値・統合ハッシュ値を、ステップS304でデータ判別部72が一時的にメモリ42に格納したハッシュ値・統合ハッシュ値に書き換え(ステップS310)、処理を終了する。一方、ステップS305のデータ判別処理において、文書データ100bと異なる内容の文書データ100aが存在しないと判定された場合(ステップS306でNO)、文書構成要素およびハッシュ値・統合ハッシュ値の更新は行わずに処理を終了する。
FIG. 11 is a flowchart illustrating an example of a processing procedure when the user clicks the
図12は、データ判定処理(図11のステップS305)の詳細な処理手順の一例を示すフローチャートである。まず、データ判別部72は、メモリ42に格納されたフォルダ200a、文書データ100a、および文書構成要素190aのハッシュ値・統合ハッシュ値を読み込み、更にハッシュ値・統合ハッシュ値記憶部52からフォルダ200b、文書データ100b、および文書構成要素190bのハッシュ値・統合ハッシュ値を読み込む(ステップS401)。ここでメモリ42に格納されているハッシュ値・統合ハッシュ値は、図11のステップS304において格納したものであり、ハッシュ値・統合ハッシュ値記憶部52に格納されているハッシュ値・統合ハッシュ値は、図11のステップS310において更新されたハッシュ値・統合ハッシュ値を含んでいる。次にフォルダ200aのうちの最上位フォルダおよび200bのうちの最上位フォルダを特定し(ステップS402)、フォルダ200aのうちの最上位フォルダのフォルダハッシュ値とフォルダ200bのうちの最上位フォルダのフォルダハッシュ値とを比較する(ステップS403)。フォルダハッシュ値が等しい場合は(ステップS404でYES)、何もせずにデータ判別処理を終了する。フォルダハッシュ値が異なる場合は(ステップS404でNO)、次に当該フォルダ200bに格納されている文書データ100bと当該フォルダ200aに格納されている文書データ100aとで文書ハッシュ値が異なるものが存在するか否かを判定する(ステップS405)。存在する場合は(ステップS405でYES)、当該文書データ100aと当該文書データ100bとで文書ハッシュ値とを比較する(ステップS406)。文書ハッシュ値が異なる文書データ100aおよび文書データ100bが存在する場合は(ステップS407でYES)、当該文書データ100aに含まれる文書構成要素190aのハッシュ値と、当該文書データ100bに含まれる文書構成要素190bのハッシュ値とを比較する(ステップS408)。そして、文書構成要素190bと異なるハッシュ値を有する文書構成要素190aを特定し(ステップS409)、次に下位のフォルダが存在するか否かを判定する(ステップS410)。下位のフォルダが存在しない場合は(ステップS410でNO)、データ判定処理を終了する。一方、当該フォルダ200aに文書データ100aが存在しないか(ステップS405でNO)、当該フォルダに文書データは存在するが(ステップS405でYES)、文書ハッシュ値が異なる文書データが存在しないか(ステップS407でNO)、または当該フォルダに文書データが存在し、それらの文書データのうちで異なる文書ハッシュ値を有するものも存在するが、更に下位のフォルダが存在する場合は(ステップS410でYES)、当該フォルダの1つ下位のフォルダを特定し(ステップS411)、再びステップS403以降の上記プロセスを繰り返す。
FIG. 12 is a flowchart illustrating an example of a detailed processing procedure of the data determination process (step S305 in FIG. 11). First, the
図13、図14、および図15は、いずれも図12におけるデータ判別処理を、具体例により説明するための図である。図例では、文書管理装置1における文書データ記憶部31のデータ保持構造として、最上位フォルダのフォルダ220aを備え、このフォルダ220aに、文書データ140a及び150aと、その下位フォルダとなるフォルダ210aとが格納されている。フォルダ210aには、文書データ110a,120a,130aが格納されている。また、情報処理装置11aにおいて文書データ記憶部51には、文書管理装置1のデータ保持構造と対応するように、最上位フォルダのフォルダ220bを備え、このフォルダ220bに、文書データ140b及び150bと、その下位フォルダとなるフォルダ210bとが格納されている。フォルダ210bには、文書データ110b,120b,130bが格納されている。そして図13、図14、および図15では文書管理装置1のデータ保持構造に対応したハッシュ値及び統合ハッシュ値と、情報処理装置11aのデータ保持構造に対応したハッシュ値及び統合ハッシュ値との比較を行う場合を例示する。
13, FIG. 14, and FIG. 15 are diagrams for explaining the data determination processing in FIG. 12 by a specific example. In the illustrated example, the data storage structure of the document
図13は、文書データ110aの内容と文書データ110bの内容が異なる場合の図である。この例では、文書本体データ111aの内容と文書本体データ111bの内容とが異なっており、またセキュリティ情報114aの内容とセキュリティ情報114bの内容とが異なっている。この場合、文書本体データ111aのハッシュ値と、文書本体データ111bのハッシュ値が異なる。またセキュリティ情報114aのハッシュ値と、セキュリティ情報114bのハッシュ値も異なる。そのため、文書データ110aの文書ハッシュ値と、文書データ110bの文書ハッシュ値が異なることとなり、さらにフォルダ210aのフォルダハッシュ値と、フォルダ210bのフォルダハッシュ値とが異なることとなる。その結果、最上位フォルダであるフォルダ220aのフォルダハッシュ値と、フォルダ220bのフォルダハッシュ値とが異なることとなる。
FIG. 13 is a diagram when the contents of the
この場合、データ判別処理において文書管理装置1および情報処理装置11aのデータ保持構造に基づき、最上位フォルダであるフォルダ220aのフォルダハッシュ値とフォルダ220bのフォルダハッシュ値との比較が行われる。これらフォルダハッシュ値が互いに異なる値であるので、次に、文書データ140a,150aの文書ハッシュ値と、文書データ140b,150bの文書ハッシュ値との比較が個別に行われる。これらはいずれも等しい値となるので、次に、その下位のフォルダ210a,210bが特定され、フォルダ210aのフォルダハッシュ値とフォルダ210bのフォルダハッシュ値との比較が行われる。これらフォルダハッシュ値が互いに異なる値である。そのため、次に、文書データ110a,120a,130aの文書ハッシュ値と、文書データ110b,120b,130bの文書ハッシュ値との比較が個別に行われる。その結果、文書ハッシュ値が互いに異なる文書データ110a,110bが特定される。そのため、文書データ110aを構成する文書構成要素111a,112a,113a,114aの各ハッシュ値と、文書データ110bを構成する文書構成要素111b,112b,113b,114bの各ハッシュ値とが比較され、文書管理装置1で保持されている文書本体データ111aとセキュリティ情報114aとの2つの文書構成要素が、情報処理装置11aで保持している文書構成要素と異なった内容であることを特定することができる。
In this case, based on the data holding structure of the
この例では、文書管理装置1と情報処理装置11aのそれぞれが、4つの文書構成要素からなる5つの文書データを保持している。そのため、文書管理装置1と情報処理装置11aのそれぞれで保持される文書構成要素の数は20個である。この場合において、例えば従来のような比較処理を行えば、異なる内容の文書構成要素を全て特定するために20回の比較処理が必要になる。これに対し、本実施形態のように、ハッシュ値および統合ハッシュ値を用いた比較処理によれば、フォルダ220a、文書データ140a、文書データ150a、フォルダ210a、文書データ130a、文書データ120a、文書データ110a、文書本体データ111a、サムネイル112a、データベース113a、およびセキュリティ情報114aのハッシュ値又は統合ハッシュ値の比較処理を行えば良いので、合計11回の比較処理で、文書管理装置1と情報処理装置11aとで保持される異なる内容の文書構成要素を全て特定することが可能である。
In this example, each of the
次に、図14は、文書データ140aの文書構成要素であるサムネイル107の内容が異なっている場合の図である。この例では、サムネイル107aのハッシュ値と、サムネイル107bのハッシュ値とが異なっており、それに伴って文書データ140aの文書ハッシュ値と、文書データ140bの文書ハッシュ値とも異なっている。
Next, FIG. 14 is a diagram in the case where the contents of the thumbnail 107 which is the document component of the
この場合、データ判別処理において文書管理装置1および情報処理装置11aのデータ保持構造に基づき、最上位フォルダであるフォルダ220aのフォルダハッシュ値とフォルダ220bのフォルダハッシュ値との比較が行われる。これらフォルダハッシュ値が互いに異なる値であるので、次に、文書データ140a,150aの文書ハッシュ値と、文書データ140b,150bの文書ハッシュ値との比較が個別に行われる。そして文書データ140aの文書ハッシュ値と、文書データ140bの文書ハッシュ値とが異なることになる。そして文書データ140aを構成する文書構成要素106a,107a,108a,109aの各ハッシュ値と、文書データ140bを構成する文書構成要素106b,107b,108b,109bの各ハッシュ値とが比較され、文書管理装置1で保持されているサムネイル107aの1つの文書構成要素が、情報処理装置11aで保持している文書構成要素と異なった内容であることを特定することができる。
In this case, based on the data holding structure of the
この例では、ハッシュ値および統合ハッシュ値を用いた比較処理により、上述のようにフォルダ220a、文書データ140a、文書データ150a、フォルダ220a、文書本体データ106a、サムネイル107a、データベース108a、およびセキュリティ情報109aのハッシュ値又は統合ハッシュ値の比較処理を行えば良いので、合計8回の比較処理で、文書管理装置1と情報処理装置11aとで保持される異なる内容の文書構成要素を全て特定することが可能である。
In this example, the
次に、図15は、全ての文書データの内容が等しい場合の図である。この場合、文書管理装置1と情報処理装置11aとで保持される、フォルダ、文書データ、および文書構成要素のハッシュ値又は統合ハッシュ値は全て等しい。この例では、フォルダ220aのフォルダハッシュ値と、フォルダ220bのフォルダハッシュ値とが比較されると、それらフォルダハッシュ値は互いに等しいので、その時点で異なる内容の文書構成要素が存在しないということを特定することができる。したがって、この場合の比較処理の回数は、1回となり、効率的にデータ判別処理を終了することができる。
Next, FIG. 15 is a diagram when the contents of all the document data are equal. In this case, the hash value or integrated hash value of the folder, document data, and document constituent elements held in the
このように本実施形態では、文書管理装置1と情報処理装置11とで異なる内容の文書データを保持しているか否かの判別を行う際、または、異なる内容の文書構成要素を特定する際に、ハッシュ値および統合ハッシュ値を用いることにより、従来よりも少ない比較回数で判別や特定を行うことができるようになる。そのため、文書管理システムのパフォーマンスの低下を回避することが可能である。そして、このような比較が行われた後、この比較結果に基づいて、文書管理装置1から情報処理装置11へ異なる内容の文書構成要素が送信され、情報処理装置11において当該文書構成要素の更新が行われれば、ユーザは、文書管理装置1が保持する文書データと同一内容の文書データを、情報処理装置11で利用することができるようになる。
As described above, in this embodiment, when it is determined whether or not the
(変形例)
以上、本発明に関するいくつかの実施形態について説明したが、本発明は上述した内容に限られるものではなく、種々の変形例が適用可能である。以下でいくつかの変形例を挙げる。
(Modification)
As mentioned above, although several embodiment regarding this invention was described, this invention is not limited to the content mentioned above, A various modification is applicable. Some variations are given below.
例えば上記実施形態においては、特に図11において示されるように、情報処理装置11がハッシュ値および統合ハッシュ値の送信要求を文書管理装置1に対して行うのは、ユーザがフォルダを選択してクリック操作した際に行われるように設定されているが、これに限らず、例えば定期的に行ってもよいし、また情報処理装置11の電源がオンとなった時に行うようにしてもよい。また、フォルダのクリック操作に限られず、例えば文書データの選択操作が行われた場合に行うこととしてもよい。またその他の入力操作であってもよい。
For example, in the above embodiment, as shown in FIG. 11 in particular, the
また上記実施形態においては、ハッシュ値を生成するハッシュ関数と、文書ハッシュ値を生成するハッシュ関数と、フォルダハッシュ値を生成するハッシュ関数とが同一のハッシュ関数である場合を例示したが、これに限られるものではない。 In the above embodiment, the hash function for generating the hash value, the hash function for generating the document hash value, and the hash function for generating the folder hash value are exemplified as the same hash function. It is not limited.
また上記実施形態においては、ハッシュ値および統合ハッシュ値の生成は、文書管理装置1が行うものとされているが、情報処理装置11が行ってもよいし、文書管理装置1と情報処理装置11との双方が行うようにしてもよい。
In the above embodiment, generation of the hash value and the integrated hash value is performed by the
また上記実施形態においては、文書管理装置1と情報処理装置11とで異なる内容の文書データを保持しているか否かのデータ判別処理を情報処理装置11で行う場合を例示したが、これに限られるものでもない。例えば、文書管理装置1で上述したデータ判別処理(図12)を行うようにしても良い。ただし、この場合、文書管理装置1が、情報処理装置11に対してハッシュ値および統合ハッシュ値の送信要求することにより、情報処理装置11におけるデータ保持構造に対応したハッシュ値および統合ハッシュ値を情報処理装置11から取得することが必要になる。
In the above-described embodiment, the case where the
また上記実施形態においては、データ判別処理を行う際、文書管理装置1から情報処理装置11に対してハッシュ値と統合ハッシュ値の双方をまとめて送信する場合を例示したが、これに限られるものでもない。すなわち、まず最上位フォルダに対応するフォルダハッシュ値を送信し、そのフォルダハッシュ値が異なる値と判定されれば、次に文書ハッシュ値や下位フォルダのフォルダハッシュ値などを送信するようにして、統合ハッシュ値とハッシュ値とを段階的に送信する構成としてもよい。この場合、ハッシュ値送受信時におけるネットワーク4のトラフィック量を軽減することができるという利点がある。
In the above-described embodiment, the case where both the hash value and the integrated hash value are collectively transmitted from the
1 文書管理装置
11 情報処理装置
20、40 制御部
30 記憶装置(文書データ記憶手段)
50 記憶装置(データ記憶手段)
61 ハッシュ値生成部(ダイジェストデータ生成手段)
62 統合ハッシュ値生成部(統合ダイジェストデータ生成手段)
72 データ判別部(データ判別手段)
100,100a,100b 文書データ
101 文書本体データ(文書構成要素)
102 サムネイル(文書構成要素)
103 データベース(文書構成要素)
104 セキュリティ情報(文書構成要素)
190 文書構成要素
200,200a,200b フォルダ(記憶領域、記憶部)
DESCRIPTION OF
50 Storage device (data storage means)
61 Hash value generator (digest data generator)
62. Integrated hash value generator (integrated digest data generator)
72 Data discrimination unit (data discrimination means)
100, 100a, 100b
102 Thumbnail (document component)
103 Database (document component)
104 Security information (document component)
190
Claims (9)
前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶された複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、
前記記憶部に記憶された複数の文書データと、前記所定の記憶領域に記憶された複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成された合成ダイジェストデータの比較により判定するデータ判別手段と、
を備えることを特徴とする文書管理装置。 Document data storage means for storing a plurality of document data in a predetermined storage unit, a plurality of document data stored in the storage unit by performing data communication with an information processing apparatus connected via a network, A document management apparatus that manages to maintain identity with a plurality of document data stored in a predetermined storage area in the information processing apparatus,
Generate document digest data corresponding to the contents of each document data stored in the storage unit, and based on the plurality of document digest data generated from each of the plurality of document data stored in the storage unit, Integrated digest data generation means for generating composite digest data corresponding to the contents of the document digest data;
It is generated by the integrated digest data generation means whether there are different contents between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. Data discriminating means for judging by comparison of composite digest data;
A document management apparatus comprising:
前記記憶部に記憶された複数の文書データのうち、前記所定の記憶領域に記憶された文書データと内容が異なるものを、前記統合ダイジェストデータ生成手段により生成された文書ダイジェストデータの比較により特定することを特徴とする請求項1記載の文書管理装置。 The data discrimination means includes
Among the plurality of document data stored in the storage unit, the one having contents different from the document data stored in the predetermined storage area is specified by comparing the document digest data generated by the integrated digest data generation unit. The document management apparatus according to claim 1.
各文書構成要素の内容に対応したダイジェストデータを生成するダイジェストデータ生成手段を更に備え、
前記統合ダイジェストデータ生成手段は、
前記記憶部に記憶された文書データを構成する複数の文書構成要素のそれぞれから生成した複数のダイジェストデータに基づいて、各文書データの内容に対応した文書ダイジェストデータを生成することを特徴とする請求項1または2記載の文書管理装置。 The document data stored in the storage unit is composed of a plurality of document components,
A digest data generating means for generating digest data corresponding to the contents of each document component;
The integrated digest data generation means includes:
The document digest data corresponding to the contents of each document data is generated based on a plurality of digest data generated from each of a plurality of document constituent elements constituting the document data stored in the storage unit. Item 3. The document management apparatus according to Item 1 or 2.
前記記憶部に記憶された文書データを構成する複数の文書構成要素のうち、前記所定の記憶領域に記憶された文書データを構成する文書構成要素と内容が異なるものを、前記ダイジェストデータ生成手段により生成されたダイジェストデータの比較により特定することを特徴とする請求項3記載の文書管理装置。 The data discrimination means includes
Among the plurality of document constituent elements constituting the document data stored in the storage unit, those having different contents from the document constituent elements constituting the document data stored in the predetermined storage area are converted by the digest data generating means. 4. The document management apparatus according to claim 3, wherein the document management apparatus is specified by comparing the generated digest data.
前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶された複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、
前記記憶部に記憶された複数の文書データと、前記所定の記憶領域に記憶された複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成された合成ダイジェストデータの比較により判定させるために、前記情報処理装置に対して前記合成ダイジェストデータを送信するデータ送信手段と、
を備えることを特徴とする文書管理装置。 Document data storage means for storing a plurality of document data in a predetermined storage unit, a plurality of document data stored in the storage unit by performing data communication with an information processing apparatus connected via a network, A document management apparatus that manages to maintain identity with a plurality of document data stored in a predetermined storage area in the information processing apparatus,
Generate document digest data corresponding to the contents of each document data stored in the storage unit, and based on the plurality of document digest data generated from each of the plurality of document data stored in the storage unit, Integrated digest data generation means for generating composite digest data corresponding to the contents of the document digest data;
It is generated by the integrated digest data generation means whether there are different contents between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. Data transmitting means for transmitting the combined digest data to the information processing apparatus to make a determination by comparing the combined digest data;
A document management apparatus comprising:
所定の記憶領域に複数の文書データを記憶するデータ記憶手段と、
前記文書管理装置における所定の記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記文書管理装置において生成された合成ダイジェストデータの比較により判定するデータ判別手段と、
を備えることを特徴とする情報処理装置。 An information processing apparatus connected to the document management apparatus according to claim 5 via a network so that data communication is possible,
Data storage means for storing a plurality of document data in a predetermined storage area;
Whether or not there is a document having different contents between a plurality of document data stored in a predetermined storage unit in the document management apparatus and a plurality of document data stored in the predetermined storage area. Data discriminating means for judging by comparing the composite digest data generated in the management device;
An information processing apparatus comprising:
前記文書管理装置は、
所定の記憶部に複数の文書データを記憶する文書データ記憶手段と、
前記記憶部に記憶される各文書データの内容に対応した文書ダイジェストデータを生成し、前記記憶部に記憶される複数の文書データのそれぞれから生成した複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成する統合ダイジェストデータ生成手段と、
を備え、
前記情報処理装置は、
所定の記憶領域に複数に文書データを記憶するデータ記憶手段を備え、
前記文書管理装置および前記情報処理装置の少なくとも一方は、
前記記憶部に記憶されている複数の文書データと、前記記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記統合ダイジェストデータ生成手段により生成される合成ダイジェストデータの比較により判定するデータ判別手段を備えることを特徴とする文書管理システム。 An information processing apparatus and a document management apparatus are connected to each other via a network so as to be able to perform data communication with each other, so that the identity of a plurality of document data held by the information processing apparatus and the document management apparatus is maintained. A document management system for managing
The document management apparatus includes:
Document data storage means for storing a plurality of document data in a predetermined storage unit;
Generate document digest data corresponding to the contents of each document data stored in the storage unit, and based on the plurality of document digest data generated from each of the plurality of document data stored in the storage unit, Integrated digest data generation means for generating composite digest data corresponding to the contents of the document digest data;
With
The information processing apparatus includes:
Data storage means for storing a plurality of document data in a predetermined storage area;
At least one of the document management device and the information processing device is:
The integrated digest data generation means generates whether or not there is a different content between the plurality of document data stored in the storage unit and the plurality of document data stored in the storage area. A document management system comprising data discriminating means for judging by comparing composite digest data.
前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成するステップと、
前記記憶部に記憶された複数の文書データのそれぞれから生成された複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成するステップと、
前記記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記合成ダイジェストデータの比較により判定するステップと、
を実行させることを特徴とする文書管理プログラム。 The storage unit is executed by a document management apparatus having a document data storage unit that stores a plurality of document data in a predetermined storage unit, and performs data communication with an information processing apparatus connected to the document management apparatus via a network. A document management program for maintaining the sameness between a plurality of document data stored in the information processing apparatus and a plurality of document data stored in a predetermined storage area in the information processing apparatus.
Generating document digest data corresponding to the contents of each document data stored in the storage unit;
Generating synthesized digest data corresponding to the contents of the plurality of document digest data based on a plurality of document digest data generated from each of the plurality of document data stored in the storage unit;
It is determined by comparing the composite digest data whether there are different contents between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. And steps to
A document management program characterized by causing
前記記憶部に記憶された各文書データの内容に対応した文書ダイジェストデータを生成するステップと、
前記記憶部に記憶された複数の文書データのそれぞれから生成された複数の文書ダイジェストデータに基づいて、前記複数の文書ダイジェストデータの内容に対応した合成ダイジェストデータを生成するステップと、
前記記憶部に記憶されている複数の文書データと、前記所定の記憶領域に記憶されている複数の文書データとで内容が異なるものが存在するか否かを、前記合成ダイジェストデータの比較により判定させるために、前記情報処理装置に対して前記合成ダイジェストデータを送信するステップと、
を実行させることを特徴とする文書管理プログラム。 The storage unit is executed by a document management apparatus having a document data storage unit that stores a plurality of document data in a predetermined storage unit, and performs data communication with an information processing apparatus connected to the document management apparatus via a network. A document management program for maintaining the sameness between a plurality of document data stored in the information processing apparatus and a plurality of document data stored in a predetermined storage area in the information processing apparatus.
Generating document digest data corresponding to the contents of each document data stored in the storage unit;
Generating synthesized digest data corresponding to the contents of the plurality of document digest data based on a plurality of document digest data generated from each of the plurality of document data stored in the storage unit;
It is determined by comparing the composite digest data whether there are different contents between the plurality of document data stored in the storage unit and the plurality of document data stored in the predetermined storage area. To send the combined digest data to the information processing apparatus,
A document management program characterized by causing
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009223729A JP2011076139A (en) | 2009-09-29 | 2009-09-29 | Document management device, information processing apparatus, system and program for managing document |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009223729A JP2011076139A (en) | 2009-09-29 | 2009-09-29 | Document management device, information processing apparatus, system and program for managing document |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011076139A true JP2011076139A (en) | 2011-04-14 |
Family
ID=44020099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009223729A Withdrawn JP2011076139A (en) | 2009-09-29 | 2009-09-29 | Document management device, information processing apparatus, system and program for managing document |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011076139A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215637A (en) * | 2016-05-30 | 2017-12-07 | ローム株式会社 | Data holding device and data holding system |
-
2009
- 2009-09-29 JP JP2009223729A patent/JP2011076139A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017215637A (en) * | 2016-05-30 | 2017-12-07 | ローム株式会社 | Data holding device and data holding system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4047487B1 (en) | File storage method, terminal, and storage medium | |
EP3408744B1 (en) | Providing access to a hybrid application offline | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
US8078649B2 (en) | Method and system for centrally deploying and managing virtual software applications | |
CN113261000B (en) | Dynamic shared data object masking | |
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
US8407241B2 (en) | Content mesh searching | |
US8620817B2 (en) | Method and system for creating license management in software applications | |
US9195849B2 (en) | Cloud application installed in client terminal connected to cloud server | |
US20180121672A1 (en) | Restricting access to content | |
US10242100B2 (en) | Managing cached data in a network environment | |
JP2004005491A (en) | Pier-to-pier file sharing method and its device | |
WO2008097689A1 (en) | Context sensitive caching on removable storage | |
US9875212B1 (en) | Managing cached information corresponding to a distributed storage system | |
US20150113011A1 (en) | File system directory attribute correction | |
US11620310B1 (en) | Cross-organization and cross-cloud automated data pipelines | |
US8621182B1 (en) | Management of object mapping information corresponding to a distributed storage system | |
US8316213B1 (en) | Management of object mapping information corresponding to a distributed storage system | |
JP5911378B2 (en) | Document management server, computer program, and document management method | |
US20020092012A1 (en) | Smart-caching system and method | |
JP2011076139A (en) | Document management device, information processing apparatus, system and program for managing document | |
US8521771B1 (en) | Management of class-associated object mapping information corresponding to a distributed storage system | |
US20190155790A1 (en) | Event-based synchronization in a file sharing environment | |
KR101345802B1 (en) | System for processing rule data and method thereof | |
KR101319465B1 (en) | File providing system for n-screen service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121204 |