Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:
First, a system for managing document use using duplicate shortcuts will be described.
In this system, the original file of a digital document is managed by the document management server 10 and security of the digital document is ensured by not storing the file of the digital document in the client terminal 20. Instead of the file of the digital document itself, a file called a duplicate shortcut (referred to hereinafter as duplicate SC) that includes information for accessing the digital document is kept in the client terminal 20. The duplicate SC may include identification information for management called a duplicate ID, access information, such as a host name of the document management server 10 or an URL (Uniform Resource Locator) for the document read request, and an attribute for the duplicate SC. One example of information included in a duplicate SC: “id=1234567, host=foo.fujixerox.co.jp, createDate=2005/05/24 11:12:34”
In this example, “id=1234567” represents the duplicate ID, “host=foo.fujixerox.co.jp” represents the host name of the document management server 10, and “createDate=2005/05/24 11:12:34” represents the creation date and time, which is one attribute of the duplicate SC. To prevent data leakage, the duplicate shortcut does not include the actual digital document. However, so that the user can identify the digital document for the duplicate SC, part of the digital document, such as the information from only the first page, or a thumbnail image from each page of the digital document may be included in the duplicate SC as a low-quality sample of the digital document.
The access information that is included in the duplicate SC is used when the client terminal 20, which uses the duplicate SC, accesses the document management server 10 that manages the original corresponding to the duplicate SC. However, if a server is provided on the network (and this server address is included in the duplicate SC or known by a viewer 22) for resolving the access information for the document management server 10 that manages the corresponding original from the duplicate ID, the access information for the document management server 10 need not be included in the duplicate SC.
As shown in
In this system, every time a user performs an operation with respect to an original digital document on the document management server 10 by using a duplicate SC on the client terminal 20, the document management server 10 issues a new duplicate ID for updating and updates the duplicate ID within the duplicate SC on the client terminal 20 with the new duplicate ID. In this manner, every time an operation is performed on a digital document using a duplicate SC in this system, the duplicate ID within the duplicate SC is renewed. For example, if a user X requests a duplicate file of a digital document from the document management server 10 by using a duplicate SC and then acquires and reads the duplicate file, the value of the duplicate ID within the duplicate SC located in the client terminal 20 of the user X changes before and after the read operation. Therefore, if an instance is considered where the user X attaches a copy of the duplicate SC to an e-mail and sends the e-mail to another user Y, the duplicate ID in the duplicate SC that the user Y receives will differ depending on whether it was sent before or after the read operation. If a user requests an operation on a digital document using a duplicate SC, the duplicate ID included in the duplicate SC is sent from the client terminal 20 to the document management server 10 so that the document management server 10 can recognize from the received duplicate ID that the duplicate SC, which was the basis of the request, corresponds to a step of a certain operation (such as before or after reading by the user X). Furthermore, if the duplicate ID is associated with identification information for the original digital document (referred to as the document ID) and the user ID of the user (or user ID where the duplicate ID was issued) who performed the operation causing the issuance of the duplicate ID, and stored at the document management server 10, the user operation and the document subjected to the operation can be determined from the duplicate ID so that the distribution of digital documents can be tracked in detail.
The duplicate ID represents unique identification information within the system and corresponds to each operation that a user performs with respect to a digital document. The duplicate ID may be a serial number that is incremented with each operation. However, from the viewpoint of hindering attacks based on guessing by third parties, a value generated by using a generation rule that ensures high uniqueness and is difficult to guess may be used, such as a sufficiently long random number. Furthermore, a hash value (having a sufficiently large number of digits) of attribute information that changes with the issuance of each duplicate ID, such as the generated date and time of the duplicate ID, or a hash value of a combination of fixed attribute information, such as the identification information of an original corresponding to the duplicate ID, with changing attribute information, can also be used for the duplicate ID.
As shown in
The original document database 11 stores and manages digital documents as originals that have been uploaded from the client terminal 20. Within the framework of this system, only a digital document stored in the original document database 11 is handled as an original. Within this framework, even if a copy of the digital document exists on the network, it can be handled as being unrelated to the original. In particular, if the viewer 22 in the client terminal 20 does not store a duplicate document file in the file system as described hereinabove, the possibility of copies of the original being circulated on the network can be greatly reduced.
The original document registration unit 13 registers the digital document, which has been uploaded from the client terminal 20 and is to be registered as an original, into the original document database 11. At this time, the original document registration unit 13 assigns unique identification information referred to as a “document ID” to the original digital document file to be registered. The document ID may be a random number or a hash value of the document.
In response to an operation request from a user, the duplicate SC provider unit 15 issues a duplicate SC for a digital document within the original document database 11 to the user. In response to an operation request from the user, the duplicate document provider unit 17 creates and provides to the user a duplicate file of the requested digital document.
If the document management server 10 executes a process in response to an operation request from the user via the client terminal 20, the log management unit 19 records information relating to the operation as an event log. As shown in
The document management server 10 may be organized using a web server and a web application. In this case, the document management server 10 provides a web page as a user interface screen to the client terminal 20.
Next, to clarify the mechanism of the system for managing document use, an operation of the system will be described with reference to
First, a user P01 issues a registration request of digital document “O” 100 to the document management server 10 from a client terminal 20-P01. The digital document 100 may be within the local file system of the client terminal 20-P01 or in a file server or a document server on the network. This registration request may be performed via a user interface provided by the viewer 22. The user interface provides a directory screen showing a tree directory of a network file system or a file system, and the selection of a document to be registered is received on this directory screen from the user P01. Furthermore, the user interface may provide a search screen through which a user enters search conditions. The digital documents matching these conditions are searched from a local file system or a network file server and the search results are presented to the user from which the user may select a document to be registered. A registration request issued by the client terminal 20 includes a user ID that identifies the user P01 and the digital document 100 (body data of the document 100 or link information for the body data) to be the target. The user ID that is presented by the user P01 when logging in to the system or the client terminal 20-P01 may be used for the user ID included in the registration request.
At the document management server 10 that receives the registration request, the original document registration unit 13 acquires the body data of the digital document 100 included in the request (or acquires the body data using a link if the link to the body data is included in the request) and attaches a unique document ID “D01” to the digital document. Then, the body data of the digital document 100 is associated with the document ID “D01” and registered into the original document database 11. If the digital document 100 that is sent from the client terminal 20 is not in a document format of the system (such as PDF, for example), the document management server 10 may register the digital document 100 into the original document database 11 after converting into the document format of the system.
Next, the duplicate SC provider unit 15 generates a unique duplicate ID “a”, generates a duplicate SC 102 that includes the duplicate ID “a” and the host name of the document management server 10, and transmits the duplicate SC 102 to the client terminal 20-P01, such as in a response to the registration request. Furthermore, at the document management server 10, the log management unit 19 records the second line of the table shown in
The client terminal 20-P01, which receives the duplicate SC 102 together with the response for registration success, registers the duplicate SC 102 into a file system 24-P01. At this time, the original digital document 100 within the file system 24-P01 may be deleted and a file for the duplicate SC 102 may be stored instead. If this is performed, the original body data of the digital document 100 is stored only in the document management server 10 so it becomes easy to ensure that it is the actual original.
If the user issues a request to the document management server 10 for the registration of the digital document 100 located in a file server on the network, the document management server 10 may send the duplicate SC 102 to the file server. The file server that stores the digital document 100 and receives this request may delete the digital document 100 and instead store the duplicate SC 102. In this case, the user P01 can view the duplicate SC 102 located on the file server on a directory screen of the network file system or the like.
It is assumed here that the user P01 transmits the duplicate SC 102 for the digital document “O” 100 to a user P03, such as by an attachment to an e-mail. Then, the duplicate SC 102 is stored, as a shortcut to the digital document “O”, into a file system 24-P03 of a client terminal 20-P03 of the user P03. To read the digital document “O”, the user P03 opens the duplicate SC 102 at the viewer 22 and enters a read command. The viewer 22 obtains the duplicate ID “a” and the host name of the document management server 10 from the duplicate SC 102, accesses the document management server 10 using the host name, and transmits a read request 104 accompanying the duplicate ID “a”. This read request 104 includes the user ID of the user P03. In subsequent steps also, when the user transmits a request or other data to the document management server 10, the document management server 10 can determine which user is accessing since either the ID of the user is included in the request or the user has logged into the document management server 10 prior to the transmission.
At the document management server 10 that received the read request 104, the duplicate document provider unit 17 starts. The duplicate document provider unit 17 obtains a record having the document ID “a” accompanying the read request 104 as the “provided duplicate ID”, for example, from the log management unit 19, obtains the body data of the digital document “O” indicated by the document ID “D01” in the record from the original document database 11, and creates a copy of the document. Then, the duplicate document provider unit 17 creates a duplicate ID “b” for updating and sets it in the duplicate ID attribute of the file of the copy to create a duplicate file 106. The duplicate file 106 includes the copy of the original document and the duplicate ID “b”. The duplicate file 106 is returned to the client terminal 20-P03 as a response to the read request 104.
Furthermore, the log management unit 19 creates and records a log record, such as the third line in the table of
The viewer 22 of the client terminal 20-P03 opens and displays the body data of the document in the received duplicate file 106. Since the duplicate file 106 is attached with a attribute indicating “save disabled”, the viewer 22 does not save the duplicate file 106 into the file system 24-P03. For example, a user interface screen in which a selection to save the duplicate file 106 is not available is provided on the viewer 22. Furthermore, the viewer 22 rewrites the duplicate ID “a” in the duplicate SC 102 stored in the file system 24-P03 to the updated duplicate ID “b” which is included in the duplicate file 106 so that the shortcut to the digital document “O” is renewed. As a result, the duplicate SC 102 in the file system 24-P03 is rewritten into a duplicate SC 108 that includes the duplicate ID “b”.
When considering a case where the user P03 sends the duplicate SC for the digital document “O” to another user, the duplicate SC 102 including the duplicate ID “a” is sent if the sending is prior to the reading of the duplicate file 106 by the user P03. However, if the sending is after the reading of the duplicate by the user P03, the duplicate SC 108 including the duplicate ID “b” is sent.
Next, a case will be considered where a user P04 acquires a digital document, which is managed by the document management server 10. In this case, the user P04 issues a request to the document management server 10 from a client terminal 20-P04 for a directory screen or search screen. A directory screen or search screen for selecting a digital document that is registered within the original document database 11 is generated by the document management server 10 and returned to the client terminal 20-P04. The user P04 finds the desired digital document “O” via the screens. When the user issues a command to acquire the digital document, the client terminal 20 sends an acquisition request 112 accompanying the identification information (such as document ID “D01”) of the digital document “O” to the document management server 10. This is received at the document management server 10 where the duplicate SC provider unit 15 generates a new duplicate ID “c”, generates a duplicate SC 114 including the new duplicate ID “c”, and returns the duplicate SC 114 to the client terminal 20-P04. Then, the log management unit 19 creates a record (fourth line in the table shown in
The client terminal 20-P04 stores the received duplicate SC 114 into a file system 24-P04. When a user selects the duplicate SC 114 and issues a read command, the viewer 22 issues a read request 116 accompanying the duplicate ID “c”. In response, the document management server 10 creates a copy of the original corresponding to the duplicate ID “c”, creates a duplicate ID “d” for updating and sets it to the file attribute of the copy, and creates a duplicate file 118 including the copy and the duplicate ID “d”, and returns it to the client terminal 20-P04. Furthermore, the log management unit 19 records a record, such as the fifth line in the table shown in
The viewer 22 of the client terminal 20-P04 opens and displays the duplicate file 118 and changes the duplicate ID of the duplicate SC 114 within the file system 24-P04 to the duplicate ID “d” for updating which is included in the duplicate file 118. As a result, the shortcut corresponding to the digital document “O” held by the client terminal 20-P04 becomes a duplicate SC 120.
After the user P04 reads the duplicate of the digital document “O”, the duplicate SC 120 is transmitted to a user P08. When the user P08 uses the duplicate SC 120 to issue a read request 122, the document management server 10 provides a duplicate file 124 including a duplicate ID “e” for updating to the client terminal 20-P08 and records a log record shown as the sixth line in the table of
The destination user ID for the duplicate ID in the operational event was recorded in the log data illustrated in
The configuration and processing of the system for managing document use to be the basis for the embodiment were detailed hereinabove. A summary of the features of this system:
In the aforementioned example, the log record illustrated in
Furthermore, such operations as document registration, acquisition of the duplicate SC, and document reading were illustrated in the aforementioned example of the system for managing document use. However, besides these operations, all system operations among those relating to the original document can be applied to the aforementioned characteristic processing.
In the aforementioned system, the operation history for a digital document can be provided to the user reading the document.
For example, the flow of reading a digital document shown in
In this example, the document management server 10 executes a process, such as shown in
Namely, the document management server 10 first searches the log management unit 19 for the log record having the duplicate ID that is sent accompanying the read request as the value of the “provided duplicate ID”. Then, from the items in the log record, the values of the items to be provided to the user are extracted and the information of the extracted items is appended (S1) to the end of the operation history buffer (not shown). The operation history buffer is a temporary storage region that has been prepared for organizing the operation history to be provided to the user. The items in the log record to be provided to the user may be pre-registered, such as by a system administrator, in the document management server 10.
Next, the document management server 10 checks (S2) whether or not a value for the “old duplicate ID” is found in the log record that was acquired in step S1. If an old duplicate ID is found, a search is made for a log record having the old duplicate ID as the value of the “provided duplicate ID” from the log management unit 19, and the values of the items to be provided from the searched log record are extracted and appended (S3) to the operation history buffer. Then, the process returns to step S2 where it is judged whether or not the old duplicate ID exists in the log record obtained in step S3.
The aforementioned processing is repeated until the judgment result of step S2 is “no”. The judgment result of step S3 becomes “no” when the value of the “old duplicate ID” in the log record obtained in step S1 or S3 is null and this signifies that the highest level (that is “the root” of the tree which represent the derivation relationship) has been reached in the derivation relationship (such as in
Although not shown in the accompanying drawings, there is the case where the “event” of the log record of the highest duplicate ID is not “document registration”. In such a case, a search may be made for a log record of a “document registration” event having the document ID of the requested digital document from the log management unit 19 and appended to the operation history. Furthermore, when the document management server 10 provides the duplicate file to the user in response to the read request, the information on the log record of the duplicate provision event may be appended to the operation history and provided.
According to the aforementioned process, such as the flow of
In the system described hereinabove, when the user requests to read a document using the duplicate SC, the history of operations appearing while traversing the tree of the derivation relationship of the duplicate IDs from the duplicate ID of the duplicate SC until the root node (referred to hereinafter as “root”) is provided to the user. Described in another way, in the system, any operation history not appearing in a path traversing the derivation relationship from the duplicate ID in the duplicate SC until the root is not provided to the user so that any information unrelated to the distribution path of the duplicate SC, which is used for the read request by the user, is not disclosed to the user.
An example was given hereinabove where operation history is included in the duplicate file provided to the user corresponding to the read request. Besides this, a command may be prepared for obtaining the operation history for a duplicate SC received by a user. In this case, an operation history acquisition command may be provided as an option when opening a duplicate SC. When the user selects this command, the document management server 10 generates and provides (to the user) operation history information that includes the history of each step until the root of the derivation relationship from the duplicate ID that is included in the duplicate SC.
Furthermore, a derivative duplicate ID may be obtained through a predetermined procedure for the duplicate ID that is received accompanying the read request, and the aforementioned process may be executed using the derivative duplicate ID as the duplicate ID that is received accompanying the read request.
As a procedure for obtaining the derivative duplicate ID, a method exists for selecting, as a derivative duplicate ID, the last duplicate ID that was issued among descendent duplicate IDs of the duplicate ID that is received accompanying the read request. Furthermore, another method exists for selecting, as a derivative duplicate ID, a duplicate ID, for which attribute information recorded in association with the duplicate ID, satisfies a predetermined condition among the duplicate IDs positioned as descendents of the duplicate ID that is received accompanying the read request. For example, attribute information called “version information” recorded in association with the duplicate ID matching character string “final version” is selected as the derivative duplicate ID from among the duplicate IDs positioned as descendents of the received duplicate ID accompanying the read request.
Next, an instance is considered where a digital document, which has been registered in the document management server 10, has its contents updated while being distributed from user to user. The registered digital document may be distributed by branching into multiple paths with a separate update being performed in each path. As one distribution form for a digital document, a method can be considered where an update is added to the digital document and that update only influences the distribution paths for the digital document that are downstream from the update. A mechanism for implementing this updating method using the duplicate SC will be described hereinafter.
Specifically, a document flow shown in
The recording of the document update can be performed, for example, by accumulating document data for the update version that is included in the update request 130 while performing version management. Namely, as shown in
When the update is recorded in this manner, the document management server 10 generates a duplicate SC 132 that includes a new duplicate ID “e” and returns it to the client terminal 20-P04 of user P04. Then, a log record of the update process is generated and registered into the log management unit 19.
In the example of
An example of the log data recorded in the aforementioned flow is shown in
In this example, a “document version” is included as one item of the log record. At a document registration event in response to the document registration request 100 (refer to
Moreover, although not shown in
Next, the procedure of the document management server 10 will be described with reference to
In this procedure, when a read request is received from a user, the document management server 10 acquires (S11) the log record with the duplicate ID accompanying the read request having the value of “provided duplicate ID” from the log management unit 19. Then, it is judged (S12) whether or not a version number has been registered in the item for “document version” in the log record. If a version number is not included, the log record having the value of the “old duplicate ID” in the log record as the value of the “provided duplicate ID” is acquired (S13) and it is judged whether or not a version number has been registered in the item for “document version” in the acquired log record.
On the other hand, if it is judged in step S12 that a version number has been registered in the log record, the document management server 10 extracts document data identified by the combination of document ID and version number in the log record from the original database 11a and creates a duplicate file that includes the document data and provides (S14) it to the requesting user.
According to the aforementioned procedure, with the duplicate ID in the duplicate SC that is used in the read request as the origin, in the process tracing the derivation relationship tree from the origin to the root, the first document data corresponding to the version number that is found is provided to the requesting user.
For example, in the example of
Furthermore, in the example shown in
In this system, the derivation relationship of the duplicate IDs represents the flow of digital document delivery between users, namely, the information along the distribution paths. Therefore, in this system, even if the digital document is distributed by branching into multiple paths, a duplicate file that includes the document data for the newest version is provided in the path from the root to the duplicate ID in response to the read request that used the duplicate ID.
Although updating of the content of the digital document was managed with the overall management method in the aforementioned example, this is only one example. As another example, the difference in document content before and after an update may be stored into the document management server 10. The difference can be created from a program for creating differences, such a program corresponding to the “diff” command in the UNIX (registered trademark) operating system. The differential data may be created by the viewer 22, which performed the document editing tasks, and may be sent together with the update request to the document management server 10. Furthermore, instead of this, the viewer 22 may send the updated document data itself to the document management server 10 and the document management server 10 may create the differential data. In any case, the document management server 10 assigns an identification number to the differential data and stores it to a storage device, such as the original database 11.
In this method for managing the differences (hereinafter referred to as the “differential management method”), when the document management server 10 updates the digital document, log data that includes the identifier (differential ID) of the differential data is generated as shown in
One example of a procedure in the system for the differential management method is shown in
In this procedure, when a read request is received from a user, the document management server 10 acquires (S21) the log record with the duplicate ID accompanying the read request having the value of “provided duplicate ID” from the log management unit 19. Then, it is judged (S22) whether or not a value has been registered in the item for “differential ID” in the log record. If a differential ID has been registered, the differential data corresponding to the differential ID is acquired from the storage device and appended (S23) to a buffer for differential data storage. Then, it is judged (S24) whether or not a value has been registered in the log record for “old duplicate ID”. If a value has been registered, the log record having the duplicate ID as the value of “provided duplicate ID” is acquired (S25) from the log management unit 19 and the execution returns to step S22. In step S22, it is judged whether or not the log record that was acquired in step S25 includes the differential ID. The aforementioned procedure is repeated until it is judged at step S24 that an old duplicate ID has not been registered in the log record.
If it was judged in step S24 that an old duplicate ID has not been registered in the log record, this signifies that the root in the derivation relationship tree for the digital document has been reached. At this time, the differential data items for the updates that have been added to the original digital document are arranged in reverse sequence of the updates in the buffer for differential data storage. The document management server 10 acquires the original document data corresponding to the document ID in the log record from the original database 11 and applies (S26) the differential data items that have accumulated in the buffer for differential data storage in reverse sequence of the updates, namely, in chronological sequence of the updates. Then, the resulting document data is integrated into the duplicate file and provided to the requesting user (S27).
The differential management method can provide a duplicate file that reflects all the updates in the path from the root to the duplicate ID for the read request using the duplicate ID.
A case where updates are added to a digital document body was described hereinabove. However, updates to a digital document may assume other modes, such as adding other additional data to the digital document body or attaching a document attachment to the digital document body. An example of additional data is tag data (annotation data) that may be added to an arbitrary position on an arbitrary page of a digital document. This sort of additional data or document attachment can be handled in the same manner as the differential data. Namely, the additional data and document attachment may be appended with identification information and stored into the storage device within the document management server 10 and the identification information may be recorded into the log record of the append operation for the data. In the case for tag data, not only the content of the tag but also information on the position where it is to be applied is recorded. Then, if there is a read request, with the duplicate ID accompanying the request as the origin, the derivation relationship tree is traced from the origin to the root, the additional data or document attachment that was recorded to each node (or log record) on the retroactive path is provided to the user together with a copy of the original. In the case for tags, a file is created and provided by positioning all tags on the copy of the original. In one operation event, both additional data and a document attachment may be added to the digital document and the addition of additional data or document attachment may be executed simultaneously with the updating of the digital document body.
A mechanism for controlling the use of digital document by users using the derivation relationship of the duplicate IDs will be described next.
The control of the use of digital documents includes read control and document update control. In the example hereinafter, control information can be set for the node (or each log record) of the derivation relationship tree and control is performed for reading and document updating on the basis of the control information.
Settable control information includes the following.
This control information can be set to the node where the event type is “document update” in the derivation relationship tree (namely, the log record where the event type is “document update” in the log data) and specifies the time limit for access to the update information at the node.
This control information can be set by the user who performed the update in the document update event. Furthermore, it is also possible to allow the user who performed the update or a privileged user, such as a system administrator, to set the control information after the document update.
To set the control information after the document update, the user who performed the update may use the duplicate SC that is received as a result of the update event. Namely, in this case, an operation item for setting the control information may be provided in the operation option of the duplicate SC, and when this operation item is selected as the duplicate SC is opened, the viewer 22 provides a user interface for setting control information. Control information that is input using this user interface may be transmitted to the document management server 10 together with the duplicate ID of the duplicate SC. The document management server 10 writes the received control information to the control information field in the log record having the duplicate ID, which was received accompanying the control information, as the value of “provided duplicate ID”. To prevent a general user other than the one who performed the update from setting the control information, the document management server 10 may perform user authentication when a request to set control information is received.
A privileged user, such as a system administrator, may set the control information by using the same duplicate SC as in the case of the user who performed the update. Furthermore, it is possible so that the control information is set by accessing the node only through an interface that is allowed to privileged users. In this case, the document management server 10 performs user authentication for the user attempting to use the interface and judges whether or not the user is a privileged user.
The value of the access time limit can be specified in the form of year-month-day-time. The update information held by the node for which an access time limit has been set (namely, document data of the version recorded in the log record corresponding to the node, or differential data, additional data or document attachment) cannot be read after the access time limit expires.
In a system recording the document update using the overall management method, when the access time limit that has been set for a node expires, the document data of the version held by the node and the document data of the version held by a downstream (descendent) node in the derivation relationship tree cannot be read. Furthermore, when the access time limit that has been set at a node expires, it is possible to completely prevent read requests that use the duplicate IDs of downstream nodes from being accepted.
In a system recording the document update using the differential management method (including methods for adding additional data or document attachment), when the access time limit that has been set for a node expires, the differential data, additional data, and document attachment held by that node cannot be read. On the other hand, it is possible to set the read access to the differential data, additional data, and document attachment held by an upstream or downstream node so as to be unaffected by the access time limit. Or, it is possible to set the differential data, additional data, and document attachment held by a node, which has been set with a time limit, and by each downstream node to be unreadable.
In yet another example, it is possible to set the differential data, additional data, and document attachment held by a node, whose access time limit has been expired, and by each upstream and downstream node to be unreadable. In this case, if a duplicate SC holding a duplicate ID of a node, whose access time limit has been expired, or descendent nodes is used, no update information can be read and only the original can be read.
This control information can be set to a node (namely, log record), for which the event type is “document update” in the derivation relationship tree, and specify the maximum number of accesses to the update information at the node. At the document update event, this control information may be set by the user who performed the update. Furthermore, it is possible to allow the user who performed the update or a privileged user, such as a system administrator, to set the control information after the document update. The same method for the access time limit may be used for the user who performed the update or a privileged user to set the control information.
The update information held by the node for which the number of accesses has been set cannot be read after the number of read operations reaches the number of accesses. The value of the number of accesses may be set per user or as a total number among all users, and the use of either may be determined by the system administrator.
The restriction on reading in the overall management method and the differential management method when the set number of accesses is reached may be implemented in the same manner as when the access time limit is reached.
This control information can be set to an arbitrary node in the derivation relationship tree. If this control information has been set to a node and a user opens a digital document using a duplicate SC from that node (namely, a duplicate ID at a descendent node in the tree), this inhibits any update and append operations to the digital document. The update and append operations include updating the document content, appending additional data, and attaching a document, and the disabling may be set individually for each item.
This control information may be set by a privileged user, such as a system administrator, or a user who has been pre-registered into the system and has the right to set the update and append disable restrictions. When a command to set this control information is received from a user, the document management server 10 judges whether the user has the right to perform the setting and then sets the control information only if the user does have the right.
When a user issues a read request for a digital document to the document management server 10 by using a duplicate SC, the document management server 10 checks by tracing the derivation relationship tree from the duplicate ID of the duplicate SC to the root as to whether there is any node that has been set with control information to disable the update and append operations. If such a node is found, an attribute to disable the update and append operations is set for the duplicate file that is provided to the user. If the attribute to disable the update and append operations has been set, the viewer 22 that opens the duplicate file may be set so as not to accept update and append inputs for a document.
Furthermore, instead of setting the attribute to disable the update and append operations to the duplicate file to be provided, when an update information is uploaded from the viewer 22, the document management server 10 may be set to stop the update of a digital document according to the update information if there is a node that has been set with control information to disable the update and append operations along the derivation relationship tree from the duplicate ID accompanying the update information to the root.
This control information can be set to an arbitrary node in the derivation relationship tree and specifies the restriction on access to a digital document that uses a descendent duplicate SC of a node that has been set with this control information. The types of access restriction may include a complete read disable restriction and a conditional read restriction. The conditional read restriction may permit reading only from a particular subnet or only by a user having a particular position. In the former case, a parameter of the access restriction specifies information, such as an address range showing the particular subnet. Furthermore, the “particular position” of the latter case may be selected from the job titles defined in the organization information management database that is connected to the system and set as one parameter of the access restriction. For example, if a node has been set with an access restriction allowing read operations only to section chiefs or higher in the XX division, when a user attempts to open a digital document using a duplicate SC derived from that node, the document management server 10 obtains the position of the user from the organization information management database. Reading is permitted if the position satisfies the condition specified in the access restriction and reading is not permitted if the position does not satisfy the condition. Namely, when the user issues a read request for a digital document to the document management server 10 by using a duplicate SC, the document management server 10 checks whether or not there is a node that has been set with control information for access restriction along the path in the derivation relationship tree from the duplicate ID of the duplicate SC to the root. If such a node is found, the value of the control information determines whether or not the duplicate file is to be provided to the user. If there are multiple nodes that have been set with access restrictions along the path and there is at least one condition that does not permit the read operation for that user, the duplicate file may be set so as not to be provided to the user.
This control information may be set by a privileged user, such as a system administrator, or by a user who has been pre-registered into the system and has the right to perform this setting. When a command to set this control information is received from a user, the document management server 10 judges whether the user has the right to perform the setting and then sets the control information only if the user does have the right.
This control information specifies a digital document of a certain stage is to be displayed when updates are performed on the digital document body. When employing document updates in the overall management method, document versions can be specified, such as “display version X” (where X is the version number), “display the first version that is found while tracing the derivation relationship tree”, and “display the original (document registered at the document registration event)”. Furthermore, when performing document updates in the differential management method, documents can be specified, such as “display the document to reflect all differential data while tracing the derivation relationship tree (from the duplicate SC used by the user to the root)”, display the document to reflect the differential data from the root of the derivation relationship tree (path until the duplicate SC used by the user) to a particular node” (where the particular node is set as a parameter of this control information), and “display the original”. This control information can be set to an arbitrary node in the derivation relationship tree.
When a user attempts to open a digital document using a duplicate SC (namely, when a request for a duplicate file is issued to the document management server 10), the document management server 10 traces the derivation relationship tree to the root with the duplicate ID of the duplicate SC as the origin. The value of the first instance of this control information that is found determines the document content of the duplicate file to be provided to the user. For example, if the first instance of the control information for “display document designation” that is found is “to display version X”, a duplicate file that includes the document data for version X is provided to the user.
Furthermore, instead of following the first instance of the control information that is found while tracing the derivation relationship tree to the root, the following type of control is also possible. Namely, if a node that has been set with a value for the “designation of document for display” having a stricter condition than a node that was passed before is reached while tracing the derivation relationship tree, the former has priority. For example, in one method, the older the version that is permitted for display, the stricter the condition that is set. According to this method, the designation of “display the original” becomes the strictest condition. A sequence of strictness for the designation of the display document may be pre-registered into the system. In this method, the display is determined in accordance with the strictest condition while tracing the derivation relationship tree to the root.
Whether to use the first condition that is encountered or the strictest condition while tracing the derivation relationship tree to the root may be pre-registered into the system.
This control information controls the display format of additional data or document attachment for a digital document. The display format has several levels for displaying the additional data or document attachment that has been set to each node in the derivation relationship tree, such as “display only the newest information”, “display all information”, “display no information”. This control information can be set to an arbitrary node in the derivation relationship tree.
When a user attempts to open a digital document by using a duplicate SC, for example, the document management server 10 traces the derivation relationship tree toward the root with the duplicate ID of the duplicate SC as the origin and determines the document content of the duplicate file to be provided to the user in accordance with the value of the first instance of the control information that is found in the trace. If the first instance of the control information for “display control of additional data and document attachment” that is found is “display only the newest information”, a duplicate file is provided to the user, where the duplicate file includes the digital document of the original to which only the first detected additional data or document attachment has been added.
Furthermore, instead of following the first instance of the control information that is found while tracing the derivation relationship tree, the following type of control is also possible. Namely, if a node that has been set with control information for “display control of additional data and document attachment” having a stricter display restriction than the value of “display control for update information” in a node that was passed before is reached while tracing the derivation relationship tree, the former node has priority. According to this method, the strictest display restriction while tracing the derivation relationship tree to the root can be employed. A sequence of strictness for the value of the display restriction may be pre-registered into the system.
Whether to use the first control information that is encountered while tracing the derivation relationship tree or the strictest control information when tracing to the root may be pre-registered into the system.
Specific examples of control information were described hereinabove. These types of control information can be set at nodes in the derivation relationship tree. The derivation relationship tree shows the hierarchical relationship between duplicate IDs and may be created from log data of the log management unit 19 as described hereinabove. Therefore, for example, the control information may be set as one item in the log record. An example of this is shown in
In the example of
The specific examples (1) to (6) of control information except for (3) described hereinabove relate to public conditions for the update information associated to each node (or update conditions provided to users).
According to the aforementioned exemplary embodiment, if the same digital document is distributed by branching into multiple paths, the operation history of the digital document at a path can be provided for a user on that path. Furthermore, if the digital document is updated individually at each path, data that reflects the updates at a path can be provided for a user on that path. Moreover, this exemplary embodiment enables control information to be set to a node in the derivation relationship tree and the information (updated content, additional data, and so forth) to be provided to a user to be controlled in accordance with control information appearing along a path from a duplicate ID, which is sent to the document management server 10 when a user request the use of a document, to the root of the derivation relationship tree. As a result, for every distribution path of the digital document that is distributed by branching into a tree-configuration, the information to be provided to a user on the path can be controlled.
In the aforementioned exemplary embodiment, the tree showing the derivation relationship among duplicate IDs was expressed from log data stored in the log management unit 19. However, the derivation relationship tree may be created separately from the log data and may be maintained and updated in response to an executed operation.
The “digital document” in the aforementioned exemplary embodiment is not only limited to document data created with a word processor or spreadsheet program but also may include various types of data, such as audio data, image data, video data, multimedia data, and so forth. Therefore, the concept of “reading” a “digital document” includes the playback of audio data, image data, video data, and multimedia data. Namely, the “reading” of a “digital document” in the aforementioned exemplary embodiment includes a generally wide use of digital documents. In other words, in response to an “acquisition request” for a digital document from a user in a system using duplicate SC, the document management server 10 provides a duplicate SC associated to that digital document to the user, and in response to a “usage request” for a digital document using the duplicate SC, a duplicate file that includes a copy of the digital document (or a copy that reflects the differential data or additional data) is provided to the user for “use”.
The document management server 10 forming the system described hereinabove is typically implemented by executing on a general-purpose computer a program that describes the function or processing of each aforementioned part. The computer may have a circuit configuration as shown in
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The exemplary embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2006-172736 | Jun 2006 | JP | national |