The present invention will now be described in detail with reference to the drawings showing a preferred embodiment thereof.
Referring to
The server 100 includes a CPU 101 for overall control of the server, a program memory 102 storing a control program for the overall control of the server, and an internal memory 103 used for data processing.
The server 100 further includes a communication interface 104 that communicates via the network 120 with external devices (the client PCs 110 in
The client PCs 110 are arranged to cause the server 100 to store electronic data and read out and peruse electronic data stored in the server 100.
More specifically, the basic process is implemented by the CPU 101 of the server 100 shown in
Referring to
If it is determined at the step S202 that the processing request accepted in the step S201 has been supplied from a client PC 110 located in a domain to which the server 100 belongs, the process proceeds to a step S203 that performs user authentication and confirms the content of the request. For the user authentication, there may be adopted any of several known authentication techniques such as requesting the client PC 110 to send the desired one of user IDs, which have been set in advance on a user-by-user basis.
On the other hand, if it is determined at the step S202 that the processing request has been supplied from a server located outside the domain to which the server 100 belongs, the process proceeds to step S900 that implements a “process routine for data reception from another server”, which will be described in detail later.
Next, the content of the requested processing is determined in step S204, and the process is branched to a process routine determined in accordance with the result of determination in the step S204.
If it is determined at the step S204 that a “data readout process” has been requested, the process proceeds to step S300. If a “data save process” has been requested, the process proceeds to step S400. If “another process” has been requested, the process proceeds to step S500.
The “other process” includes client PC registration/setting, user authentication registration/setting, security registration/setting, etc., and further includes data transmission to another server as will be described later.
The following are explanations on the aforementioned process routines.
At step S301 in
It is determined at the step S302 that normal access is possible, the relevant electronic data is read out in step S303 from the large-capacity storage unit 106. Then, in step S304, the relevant electronic data is outputted via the network 120 to the client PC 110 from which the processing request has been issued.
Subsequently, an output data name, client name, user name, time, etc. are recorded in a step S305, whereupon the present process is completed. In the recording, the output data name, etc., may be recorded as a log in the server 100 or as attribute information for the relevant data.
Referring to
If it is determined in the step S401 that normal processing can be carried out, the process proceeds to a step S402 that determines whether or not the electronic data to be saved in the server 100 should be handled as an object of original certification. The meaning of “handling electronic data as an object of original certification” is to attach the electronic data with attribute information indicating that the electronic data is the original, so that such electronic data may be managed separately from the other data. If it is determined in the step S402 that the electronic data is not required to be handled as an object of original certification, but should be saved as normal electronic data in the server 100, the process proceeds to a step S600 that implements a normal save process routine.
It is determined in the step S402 that the electronic data should be handled as an object of original certification, the process proceeds to a step S403 that receives the data from the client (the client PC 110). Next, how the data should be saved is determined in step S404. In this embodiment, data to be saved in the server 100 are classified into three types A, B and C as shown below.
Data of type A is data for which there is no relevant data in the server 100. A folder is newly prepared, into which the data of type A is saved in step S405.
Data of type B is data which is relevant to already-saved data in an existing folder and should be saved together with the already-saved data. The data of type B is saved in the existing folder in which the data of type B is grouped with the already-saved data. Alternatively, the already-saved data is retained as old version data in the existing folder, and the data of type B is obtained as updated version data by modifying the already-save data. The data of type B is saved in the existing folder together with the old version data in step S406.
Data of type C is data which is relevant to already-saved data in an existing folder and should be saved in place of the already-saved data. The data of type C is obtained as updated version data by modifying the already-save data, and the already-saved data is replaced by the data of type C in step S407. Thus, the old version data is erased, and only the new version electronic data is retained. It should noted that, in this case, alterations from the old version data to the new version data are saved as differences in attribute information.
In the case of electronic data of type A, a new folder is created, in which the data is saved in step S405. If electronic data is of type B, the data is saved in an existing folder in step S406 so as to be associated with relevant data in the folder. Alternatively, new version data obtained by updating old version data is saved together with the old version data and version management data. If electronic data is of type C, old version data is replaced by new version data in step S407.
In a step S408, attribute information is attached to the electronic data of whatever type. The attribute information includes information indicating that the electronic data is the original, information indicating the client PC having requested the save processing, and information indicating the user having instructed execution of the processing. Furthermore, feature information such as a hash value is extracted from each of the electronic data and the attribute information. The extracted feature information is added as alteration detection information to the electronic data. The alteration detection information is used for subsequent determination to determine whether or not the electronic data is the original. In the determination, the feature information is extracted from the electronic data, which is an object of the determination, and is compared with the feature information extracted and added in advance. If both the pieces of feature information agree with each other, it is guaranteed that the electronic data is the original (with no illegal alteration).
Based on the content of a request confirmed in the step S203 in
If it is determined at the step S501 that the data transmission to the other server is unnecessary, the content of processing is confirmed in a step S502, and appropriate processing is implemented in a step S503. For example, client PC registration/setting, user authentication registration/setting, security registration/setting, etc. are carried out, as adjustments between the server 100 and the client. In this step, registration of the other party and setting of conditions are performed prior to execution of transmission/reception between the server 100 and another server.
In step S601 in
If it is determined in step S602 that the received data is new data, a new folder is created and the received data is saved into the new folder (step S603). If it is determined that the received data is relevant to data saved in an existing folder, the received data is saved in the existing folder (step S604). If it is determined that data should be rewritten, old version data is overwritten by the received data for updating (step S605), whereupon the present process is completed.
Referring to
It should be noted that, although not shown in the drawings, the process proceeds to the step S700 to implement the error process, if a result cannot be obtained in any determination loop or if time is up in any waiting loop in the flowcharts.
Next, an explanation will be given of a process in which the server 100 transfers data attached with the original attribute to another server. It should be noted that for convenience of explanation, a server that stores electronic data before data transfer will be referred to as “server A (the transfer source side)”, whereas a server that stores electronic data after data transfer will be referred to as “server B (the transfer destination side)”.
More specifically,
When there is a request for data transmission to another server, a step S801 in
Based on the above-described confirmed points, next step S802 determines whether or not data transmission can be carried out (determination unit in server A). If there is an unclear point or defect, in step S803 server A requests the user to make resetting, whereupon the process returns to the step S801.
It should be noted that although illustrations are omitted, the process returns to the step S700 that implements the error process, if conditions cannot be set in the loop from the step S801 to the step S803. Also, the process proceeds to the step S700, if the subsequent processing cannot be executed in accordance with the procedure explained here or if time is up in any waiting loop in the subsequent processing.
If it is determined in step S802 that data transfer can be made, the process proceeds to step S804 in which a duplicate of the electronic data attached with the original attribute is created, thereby creating new electronic data (duplication unit in server A). Attribute information is added to the newly created electronic data (addition unit in server A). The attribute information includes information indicating that the new electronic data is a duplicate, date of data creation, information indicating that the corresponding original has been transferred, information identifying a destination to which the original has been transferred (server B), and information indicating a user having requested the transfer process. The reason why the attribute information of “duplicate” is added to the duplicate data is that there must be one and only one electronic data that has the “original” attribute and that the duplicate data must be managed as the “duplicate” to prevent the presence of a plurality of originals.
If the preparation for data transmission is completed, in step S805 server A asks server B on the transmission destination side about whether data transmission via the network 120 is possible. Flowchart connectors A, B1, B2, C, and D shown in
Steps S806 and S807 form a loop, in which server A waits for a response from the transmission destination server B. If a response is supplied from the transmission destination server B via the flowchart connector B1, the step S806 responds to the response, and the process proceeds via the step S807 to a step S808 that determines whether or not data transmission is possible.
If the step S808 determines that data transmission to the transmission destination server B is not possible, the process waits until data transmission becomes possible. If server A in step S808 determines that data transmission to the server B is possible, data transmission to the server B is started in step S809 (data transmission unit in server A).
In step S809, server A first carries out negotiation with the transmission destination server B, and starts data transmission after safety, assuredness, and stability are ensured. The data is transmitted via the connector C to the transmission destination server B. From a physical viewpoint, the data is transmitted via the network 120.
Based on a termination signal notified to server A from the transmission destination server B via the connector D, step S810 determines whether or not the data transmission is normally terminated. If it is determined there is an abnormality, the process proceeds to the step S700 that implements the error process. On the other hand, if the step S810 determines that the data transmission is terminated normally, the duplicate retained in the transmission source server A is write/edit inhibited, an indication that the transfer of the original has been completed is added to the attribute information, and the attribute information is saved, in a step S811 (edition unit and control unit in server A). Then, the present process is completed.
It should be noted that the connector B2 is for receiving a rejection signal, which is supplied from the transmission destination server B that refuses data reception when the step S805 supplies a data transmission request to the server B via the connector A. If the rejection signal is received via the connector B2, the process proceeds to the step S700 that implements the error process, and data transmission to the server B is completed.
More specifically,
Referring to
If it is determined in the step S902 that the data from the server A should be received, the process proceeds to step S904 that sends back a reply to indicate that the request for data reception has been accepted to the server A via the connector B1. Next, in step S905 server B prepares for data reception from server A. Specifically, a folder for data save is created, and so on.
Next, it is determined in step S906 whether or not the preparation for data reception has been completed. If not, the steps S905 and S906 form a waiting loop until the preparation for data reception has been completed. If it is determined that the preparation for data reception is completed, the process proceeds to step S907 in which server B receives data from server A via connector C (data reception unit in server B). From a physical viewpoint, the data is received from the server A via the network 120.
Next, in step S908 it is determined whether or not the data has been normally received, and the result of this determination is notified to server A via the connector D. If it is determined in the step S908 that the data has not been normally received, the process proceeds to a step S909 that notifies the server A that the reception result is NG (no good). Then, the process proceeds to step S700 in which server B implements the error process to notify the user of the reception result.
If it is determined in step S908 that the data has been normally received, the process proceeds to step S910 in which server A is notified that the reception result is OK. Then, the process proceeds to step S911 in which settings for managing the data sent from the server A as the original (original management unit in server B) are recorded in the attribute information, whereupon the present process is terminated.
The electronic data management system of this embodiment is intended for use in managing the originals, such as hospital medical charts, on the transfer source side before data transfer and on the transfer destination side after data transfer. The following is an explanation of a method for tracking the location of the original using the electronic data storage system of this embodiment.
First, the server A processes a request from a client in the step S502 in
If the original has been transferred to the server B, a duplicate is stored in a write-inhibited state in the large-capacity storage unit 106, as described above. Therefore, the transfer destination server B can be identified based on attribute information attached to the duplicate that can be read out from the storage unit. Furthermore, the original after data transfer and the history of attribute information after data transfer can be searched by asking server B about it.
If the original is retrieved from server B, it is possible to read out the attribute information (original attribute) attached to the original (electronic data) to identify the transfer source server A. Furthermore, the original before data transfer and the history of attribute information before data transfer can be searched by asking server A about it.
It should be noted that search for the original is permitted only when there is an authority to access the original and the server on which it is stored.
It is to be understood that the present invention may also be accomplished by supplying a system or an apparatus with a storage medium in which a program code of software, which realizes the functions of the above described embodiment is stored and by causing a computer (or CPU or MPU) of the system or apparatus to read out and execute the program code stored in the storage medium.
In that case, the program code itself read from the storage medium realizes the functions of the above described embodiment, and therefore the program code and the storage medium in which the program code is stored may constitute the present invention.
Examples of the storage medium for supplying the program code include a floppy (registered trademark) disk, a hard disk, and a magnetic-optical disk, an optical disk such as a CD-ROM, a CD-R, a CD-RW, a DVD-ROM, a DVD-RAM, a DVD-RW, a DVD+RW, a magnetic tape, a nonvolatile memory card, and a ROM. The program code may be downloaded via a network.
Further, it is to be understood that the functions of the above described embodiment may be accomplished not only by executing the program code read out by a computer, but also by causing an OS (operating system) or the like which operates on the computer to perform a part or all of the actual operations based on instructions of the program code.
Further, it is to be understood that the functions of the above described embodiment may be accomplished by writing a program code read out from the storage medium into a memory provided on an expansion board inserted into a computer or a memory provided in an expansion unit connected to the computer and then causing a CPU or the like provided in the expansion board or the expansion unit to perform a part or all of the actual operations based on instructions of the program code.
While the present invention has been described with reference to an exemplary embodiment, it is to be understood that the invention is not limited to the disclosed exemplary embodiment. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2006-253206, filed Sep. 19, 2006, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2006-253206 | Sep 2006 | JP | national |