Abstract:
A computer readable medium stores a data management program that manages data, provides the data to a client connected over a network, and is capable of performing communications in accordance with a plurality of types of protocols, the data management program causing a computer to execute a process for the data management, the process comprising managing an access right to the data; managing basic policy information concerning a protocol used for providing the data to the client; managing protocol information that sets, for each protocol, data capable of using the protocol as a protocol used for providing the data; analyzing an environment of the client when a data request from the client is received; and determining a protocol used for providing the requested data according to the analyzed client environment, the access right, the basic policy information and the protocol information.

Description:
BACKGROUND 
     1. Technical Field 
     The present invention relates to a storage medium having stored therein a data management program, a computer data signal, device and method for management of data, a protocol switching device and method, and a storage medium having stored therein a protocol switching program, and more particularly to a storage medium having stored therein a data management program to provide a client with data in response to a request from the client, a computer data signal, device and method for management of data, a protocol switching device and method, and a storage medium having stored therein a protocol switching program. 
     2. Related Art 
     In recent years, a network device, such as a digital multifunctional device connected to a network, has a Web server function, and a client on the network can browse data stored in the network device using a Web browser or the like. 
     Since applications used for data communications vary depending on clients, an automatic selection is desirable for an optimum protocol in accordance with the clients. 
     SUMMARY 
     According to an aspect of the invention, there is provided a computer readable medium storing a data management program that manages data, provides the data to a client connected over a network, and is capable of performing communications in accordance with a plurality of types of protocols, the data management program causing a computer to execute a process for the data management, the process comprising managing an access right to the data; managing basic policy information concerning a protocol used for providing the data to the client; managing protocol information that sets, for each protocol, data capable of using the protocol as a protocol used for providing the data; analyzing an environment of the client when a data request from the client is received; and determining a protocol used for providing the requested data according to the analyzed client environment, the access right, the basic policy information and the protocol information. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein: 
         FIG. 1  illustrates an example of a schematic structure of a data management device according to an examplary embodiment of the invention; 
         FIG. 2  illustrates an example of data information managed by a data management section; 
         FIG. 3  illustrates an example of access information managed by an access right management section; 
         FIG. 4  illustrates an example of user information managed by a user information management section; 
         FIG. 5  illustrates an example of policy information managed by a policy information management section; 
         FIG. 6  illustrates an example of protocol information managed by a protocol information management section; and 
         FIG. 7  is a flow chart illustrating a procedure of a communications protocol determination processing performed by a data management device. 
     
    
    
     DETAILED DESCRIPTION 
     examplary embodiment of a storage medium having stored therein a data management program, a data-managing computer data signal, device and method, a protocol switching device and method, and a storage medium having stored therein a protocol switching program according to the present invention will be described in detail with reference to the accompanying figures. 
       FIG. 1  illustrates an example of a schematic structure of a data management device  1  according to an examplary embodiment of the invention. 
     As shown in  FIG. 1 , the data management device  1  is connected to clients  2  such as plural PCs and the like through a network and provides the clients  2  with the data being managed through the network. 
     As shown in  FIG. 1 , the data management device  1  comprises a data management section  3 , an access right management section  4 , a user information management section  5 , a policy information management section  6 , a protocol information management section  7 , a requesting user information analyzing section  8 , and a protocol determination section  9 . 
     The data management device  1  can be realized in hardware by a general-purpose server computer, and the processing functions possessed by each of these components  3  to  9  can be shown by executing on the server computer the data management program according to the invention. Each of the components  3  to  9  can also be configured in hardware by using ICs and the like. 
     The data management section  3  manages information related to data (hereinafter called “data information”) stored in a storage device.  FIG. 2  illustrates an example of the data information managed by the data management section  3 . As shown in  FIG. 2 , a data ID and a storage space for data indicated by the data ID are managed as the data information. In addition, a summary of data, a keyword of data, etc. can also be managed as the data information. 
     The access right management section  4  holds an access right to data being managed (hereinafter called “access information”) by the data management section  3  and controls the access right of the user to data.  FIG. 3  illustrates an example of the access information managed by the access right management section  4 . As shown in  FIG. 3 , the data ID, the user ID with the access right to data indicated by the data ID being set, and an access right of the user ID (for example, R, W, M) are managed as the access information. 
     The user information management section  5  manages information such as a user ID, a name, etc. about the user (hereinafter called “user information”).  FIG. 4  illustrates an example of the user information managed by the user information management section  5 . As shown in  FIG. 4 , the user ID and the user&#39;s full name indicated by the user ID are managed as the user information. In addition, information on member, etc. to which the user belongs can also be managed as the user information. 
     The policy information management section  6  manages a policy which is a basic policy of the whole data management device  1  (hereinafter called “policy information”), and manages the policy information on a protocol to the whole request as a type of policy therein. 
       FIG. 5  illustrates an example of the policy information managed by the policy information management section  6 . The policy information shown in  FIG. 5  relates to switching between SSL (Secure Socket Layer) and non-SSL. For example, in the data management device  1  in which the policy information shown in  FIG. 5  is set, “enable” is set for the policy of “use of SSL”, whereby a protocol with respect to the whole request to the data management device  1  is set such that the SSL is always used. Further, “c08263a7-d721-403d-9196-09c73598267d” is set for the policy of“non-SSL connection admission user list”, whereby a request from user ID for “c08263a7-d721-403d-9196-09c73598267d” is set such that the SSL does not necessarily have to use. Further, “enable” is set for the policy of “SSL is not used in local access”, whereby it is set not to use the SSL in local access. Further, “enable” is set for the policy of “display of data unobtainable unless SSL is used”, whereby it is set to indicate data that cannot be obtained unless the SSL is used. 
     The protocol information management section  7  manages data that can use the protocol at the time of providing the protocol with data (hereinafter called “protocol information”). 
       FIG. 6  illustrates an example of the protocol information managed by the protocol information management section  7 . In the protocol information shown in  FIG. 6 , data is set that is capable of using the protocol when the data is provided to an any protocol, and excluding information to the data is also set. For example, in the data management device  1  in which the protocol information shown in  FIG. 6  is set, “excluded ACL (Access Control List) (access right): M” is set for data ID “fc77e817-da45-470c-9bdc-aed61ec5f3cd”, whereby it is set that only the user having access right “M” to data ID “fc77e817-da45-470c-9bdc-aed61ec5f3cd” does not necessarily have to use a protocol set to make a request for data indicated by the data ID “fc77e817-da45-470c-9bdc-aed61ec5f3cd”. Further, “excluded USER (user): “5c12e675-46d7-400e-8a72-a45934d83b5f”” is set for data ID “aca622ce-8793-42eb-a0cb-cae8f7659ebb”, whereby it is set that only the user ID “5c12e675-46d7-400e-8a72-a45934d83b5f” does not necessarily have to use a protocol set to make a request for data indicated by the data ID “aca622ce-8793-42eb-a0cb-cae8f7659ebb”. 
     The requesting user information analyzing section  8  analyzes a login state of the user having made a request to the data management device  1  for data, environments (for example, address information etc.) of the client  2 , and a protocol used for the data request by the client  2  (hereinafter called “the request protocol”). 
     The protocol determination section  9  executes processing to determine a protocol used to provide the requested data according to the login state of the user and the environments of the client  2  analyzed by the requesting user information analyzing section  8 , the policy related to the protocol of the data management device  1  being managed by the policy information management section  6 , the access right of the user to the requested data being managed by the access right management section  4 , and the protocol information being managed by the protocol information management section  7 . 
     Then, the procedure of the communications protocol determination processing executed by the data management device will be described with reference to the flow chart shown in  FIG. 7 . 
     When a data request from a client is received (step S 701 ), the requesting user information analyzing section  8  analyzes the login state of the user, the environments of the client and the requested protocol (step S 702 ). The protocol determination section  9  checks whether the requested protocol satisfies the policy information being managed by the policy information management section (step  703 ), and if the requested protocol satisfies the policy information (YES in step  704 ), the procedure advances to step S 705 , but if the requested protocol does not satisfy the policy information (NO in step S 704 ), the procedure advances to step S 708 . 
     Where the requested protocol satisfies the policy information (YES in step S 704 ), the protocol determination section  9  checks whether the requested protocol is appropriate according to the protocol information being managed by the protocol information management section  7  (step S 705 ), and if the requested protocol is appropriate (YES in step S 706 ), the procedure advances to step S 707 , but if the requested protocol is not appropriate (NO in step S 706 ), the procedure advances to step S 708 . 
     Where the requested protocol is appropriate (YES in step S 706 ), the client is provided with data in accordance with the requested protocol (step S 707 ), and the procedure of the protocol determination processing is terminated. 
     Where the requested protocol does not satisfy the policy information in step S 704  (NO in step S 704 ) or where the requested protocol is not appropriate in step S 706  (NO in step S 706 ), error or connection protocol information and reconnection information are informed to the client (step S 708 ). Where a data re-request from the client is received (YES in step S 709 ), the procedure returns to step S 702 , and where a data re-request from the client is not received (NO in step S 709 ), the procedure of the protocol determination processing is terminated. 
     Where a reconnection request is notified to the client, the client satisfies the policy information according to the reconnection information, and where an appropriate protocol is used according to the protocol information to make a data re-request to the data management device, it is not necessary to check again whether the policy information is satisfied and to check whether the requested protocol is appropriate. Therefore, where reconnection is made by the client after the reconnection request is notified to the client, data may be provided in accordance with the requested protocol to the client without executing the above checks. Specifically, the procedure of the protocol determination processing may be terminated even when the data re-request from the client is received in step S 709  of the flow chart shown in  FIG. 7  (YES in step S 709 ). As processing of execution, for example, where the client  2  requests the data management device  1  for data through an RMI (Remote Method Invocation) connection, if the data management device  1  adopts the policy of use of SSL, the reconnection information that requests the use of SSL is notified to the client  2 , and the client  2  switches the protocol to the RMI over SSL to make reconnection according to the reconnection information, thereby to obtain the data from the data management device  1 . 
     When the client  2  requests the data management device  1  for data in accordance with HTTP, if the data management device  1  has the SSL use policy, reconnection information (redirect status  302 ) that requests the use of SSL is notified to the client  2 , and the client  2  switches the protocol to HTTPS to make reconnection according to the request and can obtain the data from the data management device  1 . 
     In other words, in response to the data request from the client  2 , the policy of the data management device  1 , the access right to the requested data and the environment of the client  2  at the time of the data request are considered to determine a protocol used for provision of data, and switching of the protocol is requested to the client  2  if necessary. Thus, the switching of protocols considering the relationship with the server environment and the request environment of the client  2  described in connection with the subject can be realized. 
     The foregoing description of the exemplary embodiments of the present invention bas 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.