Abstract:
In order to provide information for making a decision when using composite services, there are provided means for calculating evaluation of combinations of services and means for visualizing the evaluations are provided. For this purpose, a method applied to a system having storage means includes receiving a selection of a plurality of service groups from one user; and computing an evaluation of combinations of services composed by selecting one service from among respective service groups of the plurality of service groups selected, based on evaluation information stored in the storage means.

Description:
FIELD OF THE INVENTION 
   The present invention relates to a technique for evaluating services provided via the Internet, and more particularly to a technique for evaluating combinations of services. 
   BACKGROUND 
   In recent years, to improve the efficiency of company processes and to enable prompt reactions to a change in business environment, a demand has arisen for changes in IT processes in which various types of services provided on a network are combined. With an increase in the types of services provided by various kinds of service providers, it has become necessary for a company on the service user side to configure an optimal combination of services. On the other hand, service integrators act as hubs for providing various services, and thus release information on directories according to the types of services, and provide these services for fees according to traffic volume. 
   In this regard, Japanese Unexamined Patent Publication (Kokai) No. 2005-78525 discloses a technique of searching a service, in case of using Web Services, according to a policy from among various services, and a technique of searching a single service as a target. Japanese Unexamined Patent Publication (Kokai) No. 2004-110620 discloses a technique of establishing integrated Web Services for dynamically integrating a plurality of Web Services, and dynamically integrating a plurality of Web services into a single Web service. In addition, Japanese Unexamined Patent Publication (Kokai) No. 2003-248728 discloses a technique of autonomously determining, in case of using Web Services, a service to be used. Furthermore, Japanese Unexamined Patent Publication (Kokai) No. 2005-32150 discloses a technique of obtaining directory information on a Web Service corresponding to a search condition. 
   However, none of these disclose a quantitative evaluation to determine what services should be selected and how the services should be combined on the user side so as to be most likely to meet the policy of the user side. 
   SUMMARY OF THE INVENTION 
   Aspects of the present invention provide means for calculating evaluations in reference to combinations of services and means for visualizing the evaluations, in order to provide information for making a decision when a user&#39;s company compositely uses services. 
   Aspects of the invention include a method applied to a system having storage means, the method containing a step of receiving a selection of a plurality of service groups from one user, and a step of computing a combination of services being composed by selecting one service from among respective service groups of the concerned plurality of service groups selected, based on evaluation information stored in the storage means. 
   Other aspects of the invention include a system containing storage means for storing evaluation information, input means for receiving a selection of a plurality of service groups from one user, and computing means for computing a combination of services being composed by selecting one service from among respective service groups of the concerned plurality of service groups selected, based on the concerned evaluation information. 
   Other aspects of the invention include a computer program product causing a computer to achieve a storage function of storing evaluation information, an input function of receiving a selection of a plurality of service groups from one user, and a computing function of computing a combination of services being composed by selecting one service from among respective service groups of the concerned plurality of service groups selected, based on the concerned evaluation information. 
   Furthermore, aspects of the invention include a method containing a step of mounting, on a system having storage means, a storage function of storing evaluation information, an input function of receiving a selection of a plurality of service groups from one user, and a computing function of computing a combination of services being composed by selecting one service from among respective service groups of the concerned plurality of service groups, based on the concerned evaluation information. 
   Thus, according to the present invention, in order to provide information for making a decision in case that a user&#39;s company compositely uses services, means for calculating evaluations in reference to combination of services and means for visualizing the evaluations may be provided. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     An embodiment of the present invention will be described below, appropriately referring to the drawings, wherein: 
       FIG. 1  is a diagram for describing a network system which includes an integration server (system); 
       FIG. 2  is a schematic diagram for describing a hardware configuration of the integration server; 
       FIG. 3  is a diagram for schematically describing contents stored in a hard disk drive; 
       FIG. 4  is a flowchart for describing a procedure performed by a system integrator from when expanding the function of the integration server to when doing maintenance; 
       FIG. 5  is a flowchart for more specifically describing an operation of the system; 
       FIG. 6  is a flowchart for more specifically describing a step of quantifying one combination of services to evaluate the same; 
       FIG. 7  is a flowchart for more specifically describing a step of re-evaluating combinations of services (a plural number) receiving high evaluation marks; and 
       FIG. 8  shows another exemplary window screen displayed on the display apparatus of the client. 
   

   DETAILED DESCRIPTION 
     FIG. 1  shows a whole network system including an integration server (system)  1 . In the network system, the integration server  1  owned by a service integrator, a plurality of service servers owned by a plurality of web service providers (SP( 1 ) to SP(M) respectively, and a plurality of clients  2  owned by a plurality of existing users C( 1 ) to C(N) are interconnected to one another via the Internet  3 . Each web service provider SP provides a plurality of types of services or the same type of a plurality of services to the existing users C( 1 ) to C(N) via the integration server  1 . That is to say, each web service provider SP registers contents of services provided by itself in a database in the integration server  1 . 
   The service integrator composes service directories based on the contents of services registered by the web service providers SP and releases the service directories to the existing users and potential new users. A user operates the client  2  to search and compare necessary web services based on the service directories in the integration server  1 , and thereby selects integrated services (a combination of a plurality of types of services) necessary for the user. The service integrator receives a certain margin from the service providers SP according to the types of services selected by the existing users or according to the number of transactions to services also used by the existing users. 
     FIG. 2  is a schematic diagram for describing a hardware configuration of the integration server  1 . Note that the clients  2  also have the same hardware configuration. The integration server  1  includes a CPU peripheral unit having a CPU  101 , a RAM  120  and a graphics controller  146  which are interconnected to one another by a host controller  110 , an I/O unit having a communication interface  144 , a hard disk drive (auxiliary storage apparatus)  124  and a CD-ROM drive  126  which are connected to the host controller  110  by an I/O controller  140 , and a legacy I/O unit (e.g., a flexible disk drive  128 ) having a ROM  122  and an I/O chip  142  which are connected to the I/O controller  140 . 
   The host controller  110  connects the RAM  120  with the CPU  101  and the graphics controller  146  which access the RAM  120  at a high transfer rate. The CPU  101  operates based on programs stored in the ROM  122  and the RAM  120 , and controls each unit. The graphics controller  146  obtains image data being generated on a frame buffer provided in the RAM  120  by the CPU  101 , etc., and displays the image on a display apparatus  148 . Instead of this, the graphics controller  146  may include therein a frame buffer storing image data generated by the CPU  101 , etc. 
   The I/O controller  140  connects the host controller  110  with the communication interface  144 , the hard disk drive  124 , and the CD-ROM drive  126  which are relatively high-speed I/O apparatuses. The communication interface  144  may communicate with other apparatuses via a network  3 . The hard disk drive  124  stores program products and data used by the computer. The CD-ROM drive  126  reads a program product or data from a CD-ROM  130 , and provides the read program product or data to the I/O chip  142  through the RAM  120 . 
   In addition, to the I/O controller  140 , the ROM  122  and relatively low-speed I/O apparatuses (e.g., the flexible disk drive  128 ) such as the I/O chip  142 , etc. are connected. The ROM  122  stores a boot program executed by the CPU  101  at the time of start-up of the computer, a program depending on the hardware of the computer, or the like. The flexible disk drive  128  reads a program or data from a flexible disk  132 , and provides the program or data to the I/O chip  142  through the RAM  120 . The I/O chip  142  connects various types of I/O apparatuses through the flexible disk drive  128 , and for example, a parallel port, a serial port, a keyboard port, a mouse port or the like. 
   Next, a software configuration of the integration server  1  will be described. Computer programs (operating system and application programs for the server) are provided to the integration server  1  by being stored in a storage medium such as the flexible disk  132 , the CD-ROM  130 , a DVD-ROM, an IC card, or the like, or via a network. The programs are read from a storage medium and are installed on the integration server  1  through the I/O chip  142 . Alternatively, the programs are read from other computer on the network and are installed on the integration server  1  through the communication interface  144  to be executed on the integration server  1 . The functions of the computer program will be sequentially disclosed according to the following description. 
     FIG. 3  is a diagram for schematically describing the contents stored in the hard disk drive  124 . In the hard disk drive  124 , a service DB and a user DB are stored. The service DB includes a service item ID for identifying a service, an item of a service provider SP for identifying a service provider providing the service, an item of a type k of service for identifying the type of the service, an item of the number of users n for indicating the number of users using (subscribe to) the service, an item of the number of transactions t indicating the number of (cumulative) transactions for the service used (during a certain period of time), an item of the maximum number of transactions tMAX for indicating the number of transactions per unit of time when the service can be used, an item of a failure rate f for indicating the failure rate of the service, an item of an average response time r for indicating the average response time for the service, and an item of a price p for indicating the price of the service. Also, the user DB includes an item of a user ID for identifying a user, an item of a used service for identifying a service used (subscribed to) by the user, and an item of the number of transactions T for indicating the (cumulative) number of transactions for the service actually used by the user (during a certain period of time). Such information is inputted in advance. Both transaction items, t and T are appropriately updated according to use by users. Note that in the hard disk drive  124 , other information is also stored, which will be described later. 
   And now, a system integrator (a trader who collectively undertakes businesses such as planning, building, and operation of an information processing system corresponding to the problems after having analyzed the contents of businesses of a client) shown in  FIG. 1  provides the following services to the service integrator. Briefly, although the service integrator could provide a user with integrated services in which a plurality of services is combined, the service integrator could not propose combinations of services meeting the requirements of the user from among multiple combinations. On the other hand, if it is possible to have the user evaluated combinations of services, and to propose a combination of services having received high evaluation marks to the user, it enables to provide integrated services more satisfying the requirements of the user. Here, the case in which the system integrator adds a new function to the integration server  1  to provide higher value-added services to users will be described as the embodiment. 
     FIG. 4  is a flowchart for describing a procedure performed by the system integrator from when expanding the function of the integration server  1  to when doing maintenance. First, the system integrator examines an integration server (an old system)  1  in the current state (S 1  in  FIG. 4 ). According to the examination, the system integrator identifies a function to be newly implemented on the integration server  1 . The system integrator develops a computer program product exercising the new function and installs the same on the integration server  1 , thereby implementing the new function (S 2  in  FIG. 4 ). The system integrator conducts testing to determine whether or not an integration server (new system)  1 ′ implemented with the new function properly exercises desired functions (the new function and a conventional function) (S 3  in  FIG. 4 ). After the testing is completed, the system integrator brings the integration server  1 ′ into operation (S 4  in  FIG. 4 ). Thereafter, according to a need (S 5  in  FIG. 4 ), the system integrator does maintenance (S 6  in  FIG. 4 ). Note that details of the implemented new function will be disclosed in the operation of the system (S 4  in  FIG. 4 ). 
     FIG. 5  is a flowchart for more specifically describing the operation of the system (S 4  in  FIG. 4 ). The integration server  1 ′ starts a process on condition that the integration server  1 ′ receives a selection of a plurality of service groups from a client  2 (N+1) of a new user C (N+1) via the Internet  3  (S 10  in  FIG. 5 ), and receives a second evaluation criterion (S 11  in  FIG. 5 ). Here, the description will be performed taking, as an example, the case that the new user C(N+1) selects, as service groups, three types of service groups, a customer relation management (hereinafter referred to as “CRM”) service group, a human resources (hereinafter referred to as “HR”) service group, and a logistics (hereinafter referred to as “LOGISTICS”) service group. In addition, here, the description will be performed taking, as an example, the case that the new user inputs, as the second evaluation criterion, an upper limit pmax of the prices of combinations of services. The upper limit pmax is stored in the hard disk drive  124 . 
   Subsequently, the integration server  1 ′ selects a first evaluation criterion (S 11  in  FIG. 5 ). The first evaluation criterion represents a plurality of coefficients c (c(n), c(t), c(tmax), c(f), c(r), and c(p)) which are stored in the hard disk drive  124  upon implementing the new function (S 2  in  FIG. 4 ) (the coefficients are all constant numbers). Then, based on information stored in the service DB, information stored in the user DB, a plurality of relevant information R (R 1 , R 2 , and R 3 ) (each of them is a constant number) stored in the hard disk drive  124  upon implementing the new function (S 2  in  FIG. 4 ), and the first evaluation criterion, the integration server  1 ′ quantifies one combination of services and evaluates the combination (S 13  in  FIG. 5 ). Generally, there are a lot of such combinations of services. For example, when the CRM service group has one (1) piece of service, the HR service group has m pieces of services (“m” is a natural number), and the LOGISTICS service group has n pieces of services (“n” is a natural number), there are (l×m×n) ways of combinations of services. The integration server  1 ′ evaluates all those combinations of services (S 13  and S 14  in  FIG. 5 ). 
     FIG. 6  is a flowchart for more specifically describing a step (S 13  in  FIG. 5 ) of quantifying one combination of services and evaluates the combination. First, the integration server  1 ′ quantifies each of services composing one combination of services and evaluates the service to obtain an evaluation value E 1 (s) of the service (S 30  in  FIG. 6 ). Here, description will be performed assuming that the new user C (N+1) selects, as service groups, the foregoing three types (CRM, HR, and LOGISTICS) of service groups (S 10  in  FIG. 5 ). In this case, the integration server  1 ′ quantifies one service s(i) selected from one CRM service group to evaluate the same, quantifies one service s(j) selected from m pieces of HR service groups to evaluate the same, and quantifies one service s(k) selected from n pieces of LOGISTICS service groups to evaluate the same. For example, in case of seeking an evaluation value E 1 (s(i)) of the service s(i), the integration server  1 ′ can obtain the same according to the numerical expression ( 1 ) shown in S 30  in  FIG. 6 , based on the number of users n using (subscribe to) the service s(i), the number of transactions t in which the service s(i) was used, the maximum number of transactions tMAX per unit of time when the service s(i) can be used, the failure rate f of the service s(i), the average response time r of the service s(i), and the price p indicating the price of the service s(i), and coefficients (the first evaluation criterion c), c(n), c(t), c(tmax), c(f), c(r), and c(p) corresponding to each of the above items, which are stored in the service DB. Similarly, it is possible to seek an evaluation value E 1 (s(j)) of the service s(j) and an evaluation value E 1 (s(k)) of the service s(k). 
   Subsequently, the integration server  1 ′ quantifies each link among the services composing one combination of services and evaluates the same to obtain an evaluation value E 1  (l) thereof (S 31  in  FIG. 6 ). Here, the integration server  1 ′ obtains an evaluation value E 1 (ij) of a link between the service s(i) being a CRM service and the service s(j) being an HR service, an evaluation value E 1 (jk) of a link between the service s(j) being an HR service and the service s(k) being a LOGISTICS service, and an evaluation value E 1 (ki) of a link between the service s(k) being a LOGISTICS service and the service s(i) being a CRM service. For example, in case of seeking the evaluation value E 1 (ij) of the link between the service s(i) and the service s(j), it is possible to obtain the same according to the numerical expression ( 2 ) shown in S 31  in  FIG. 6 , based on relevant information R 1 , the number of existing users N(ij) using both of the service s(i) and the service s(j), and the evaluation value E 1 (s(i)) of the service s(i) and the evaluation value E 1 (s(j)) of the service s(j) which are obtained at the previous step (S 30  in  FIG. 6 ). That is to say, it is possible to seek the evaluation value E 1  (ij) of the link according to the numerical expression that the evaluation value E 1  (ij)=relevant information R 1 ×the number of existing users N (ij)×(evaluation value E 1 (s(i))+evaluation value E 1 (sj)). Note that the relevant information R 1  is a value proportional to a general degree of association between the CRM service and the HR service. Also, it is possible to seek the number of existing users N by searching and counting the user DB. Similarly, it is possible to seek the evaluation value E 1 (jk) of the link between the service s(j) and the service s(k), and the evaluation value E 1 (ki) of the link between the service s(k) and the service s(i). 
   Then, the integration server  1 ′ quantifies one combination of services and evaluates the same to obtain an evaluation value E 1  thereof (S 32  in  FIG. 6 ). Here, an evaluation value E 1 (ijk) of the combination of the service s(i) being a CRM service, the service s(j) being an HR service, and the service s(k) being a LOGISTICS service are obtained. It is possible to seek the evaluation value E 1 (ijk) according to the numerical expression ( 3 ) shown in S 32  in  FIG. 6 , based on the evaluation values E 1 (ij), E 1 (jk), and E 1 (ki) of the links which were obtained at the previous step (S 31  in  FIG. 6 ). That is to say, it is possible to seek the evaluation value E 1 (ijk) of the combination of services according to the numerical expression that the evaluation value E 1 (ijk)=evaluation values E 1 (ij)+E 1 (jk)+E 1 (ki). 
   Similarly, the integration server  1 ′ obtains an evaluation value E 1  (a first evaluation result) for all of (l×m×n) ways of combinations of services (S 13  and S 14  in  FIG. 5 ). 
   Subsequently, the integration server  1 ′ selects a second evaluation criterion (S 15  in  FIG. 5 ). Then, based on the second evaluation criterion, the integration server  1 ′ re-evaluates combinations of services (a plural number) having received high evaluation marks in the previous evaluations (S 13  and S 14  in  FIG. 5 ) and thereby obtains a second evaluation result (S 16  in  FIG. 5 ). 
     FIG. 7  is a flowchart for more specifically describing a step (S 16  in  FIG. 5 ) of re-evaluating combinations of services (a plural number) having received high evaluation marks. First, the integration server  1 ′ calculates the prices of a combination of services having the highest evaluation value E 1  from among the (l×m×n) ways of combinations of services. For example, when the evaluation value E 1 (ijk) of the combination of the service s(i) being a CRM service, the service s(j) being an HR service, and the service s(k) being a LOGISTICS service is the highest, the integration server  1 ′ computes the price of that combination by summing up the price of the service s(i), the price of the service s(j), and the price of the service s(k). Note that the price of each service is stored in the service DB. When the price of the combination of services is compared with an upper limit price pmax having received from the new user C(N+1) as the second evaluation criterion (S 40  in  FIG. 7 ), and the price of the combination is lower than or equal to the upper limit price pmax, such combination is stored as a combination of the best second evaluation result (S 41  in  FIG. 7 ). On the other hand, when the price of the combination is higher than the upper limit price pmax, a combination of services of a next first evaluation result whose price is lower than or equal to the upper limit price pmax is stored, as a combination of the best second evaluation result (S 42  in  FIG. 7 ). 
   Then, the integration server  1 ′ sends these evaluation results to the client  2 (N+1) (S 17  in  FIG. 5 ). The client  2 (N+1) having received the evaluation results graphically displays the evaluation results to the new user C(N+1)(S 18  in  FIG. 5 ). 
   An exemplary window screen displayed on a display apparatus of the client  2 (N+1) might contain the top 10 sets of combinations of services listed in descending order of the first evaluation results (including a combination of services of the best first evaluation result) and a combination of services of the best second evaluation result are displayed. Each combination of services is composed of one service selected from the CRM service group, one service selected from the HR service group, and one service selected from the LOGISTICS service group. Services being included in each combination of services are represented by circular nodes, and by linear links connecting among the nodes. 
   Here, nodes and links showing a combination of services corresponding to the best first evaluation result, nodes and links showing a combination of services corresponding to the best second evaluation result, and nodes and links showing the remaining combinations of services may differ in the display format thereof (thickness and colors). As a result, for example, it becomes apparent that if not considering the price, it is best to select a service s( 1 ) as a CRM service, a service s(d) as an HR service, and a service s(iii) as a LOGISTICS service, and that, if considering the price (among combinations of services not exceeding the upper limit price), it is best to select a service s( 4 ) as a CRM service, a service s(b) as an HR service, and a service s(ii) as a LOGISTICS service. In addition, it is possible to make the representation format of a node showing each service to differ according to the evaluation value E 1 (s) of each service. For example, it is possible to represent a node having a relatively high evaluation value E 1 (s) as being thicker and to represent a node having a relatively low evaluation value E 1 (s) as being thinner. In addition, it is possible to make the representation format of a link showing a link among respective services to differ according to the evaluation value E 1 ( 1 ) of a link among respective services. For example, it is possible to represent a link having a relatively high evaluation value E 1 ( 1 ) as being thicker, and to represent a link having a relatively low evaluation value E 1 ( 1 ) as being thinner. 
   Furthermore, when the new user C(N+1) selects each node, the evaluation of a corresponding service may be displayed.  FIG. 8  shows an exemplary window screen displayed on the display apparatus of the client  2 (N+1). Here, the evaluation of a certain service is displayed in the form of a radar chart centering on the number of users using (subscribing to) the service, the number of transactions, the failure rate, and the price. Note that the number of users is displayed, however, each user&#39;s anonymity is ensured. 
   When the new user C(N+1) selects one combination of services (S 19  in  FIG. 5 ), as a result of reviewing the evaluation results, the integration server  1 ′ updates the number of users n of a relevant service in the service DB and registers the new user C(N+1) in the user DB (S 20  in  FIG. 5 ). Also, when the new user C(N+1) actually uses the service, the integration server  1 ′ updates the number of transactions t of a relevant service in the service DB and the number of relevant usage transactions T in the user DB (S 20  in  FIG. 5 ). 
   One embodiment of the present invention was described as above. Nonetheless, it is a matter of course that the present invention is not limited to the present embodiment. It is also possible to set, as the second evaluation criterion, the degree of reliability (probability of not breaking down) instead of the upper limit price. Furthermore, it is also possible to set coefficients c:(c(n), c(t), c(tmax), c(f), c(r), and c(p)) which are different from the first evaluation criterion according to the policy of a user. For example, when the user places more emphasis on reliability, it is possible to set the coefficient c(r) as to be a greater value. In addition, when the user places more emphasis on cost, it is possible to set the coefficient c(p)as to be a greater value. Furthermore, in case of seeking the evaluation value E 1 (ij) of a link, it is allowed to use the number of transactions T(ij) of existing users instead of the number of existing users N(ij).