US20050165728A1 - Service providing system, computer which executes program providing service and repository service control program - Google Patents

Service providing system, computer which executes program providing service and repository service control program Download PDF

Info

Publication number
US20050165728A1
US20050165728A1 US11/033,664 US3366405A US2005165728A1 US 20050165728 A1 US20050165728 A1 US 20050165728A1 US 3366405 A US3366405 A US 3366405A US 2005165728 A1 US2005165728 A1 US 2005165728A1
Authority
US
United States
Prior art keywords
program
service
computer
repository
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/033,664
Inventor
Takashi Aosawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Assigned to NEC CORPORATION reassignment NEC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AOSAWA, TAKASHI
Publication of US20050165728A1 publication Critical patent/US20050165728A1/en
Priority to US11/979,306 priority Critical patent/US7778991B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage

Definitions

  • the present invention relates to a service providing system which provides services which are provided by a program executed on a computer through a network to other computer, and more particularly, to a service providing system enabling service which can not be provided due to a failure or maintenance of a computer to be provided from other computer.
  • the first problem is that it is necessary to install the program on other computer and activate an alternative program.
  • the program When abnormality of a program is detected in one of the plurality of computers, the program is re-started at the computer in which the program abnormality is detected. When the program abnormality is not eliminated even by the re-starting, the program will be executed on other computer.
  • a plurality of computers are connected through a network, with each computer being provided with a monitoring means for monitoring an operation condition which means stores an operation condition of each computer in a monitoring information repository (which is a data base to be internally used by a system) connected with each computer through the network.
  • Operation conditions include a CPU load and a memory free capacity of a computer.
  • the monitoring means detects abnormality of other computer, based on information of the monitoring information repository, select an alternative computer having a small CPU load or a small memory free capacity and take over the processing to the selected computer.
  • First object of the present invention is to provide a service providing system, a computer and a repository service control program which eliminate the above-described shortcomings of the conventional art and which, in a service providing system in which a program operating on a computer provides services to other computer through a network, when a failure, maintenance or the like of the computer prevents service provision, enable provision of the same service from other computer.
  • Second object of the present invention is to provide a service providing system, a computer and a repository service control program which, in the above-described system, when a failure, maintenance or the like of the computer prevents service provision, enable a computer receiving the services to obtain location information of an alternative computer that provides the services to continuously receive the services.
  • a system of providing, through a network, service which is provided by a program executed on a computer to other computer comprises a unit which provides the service that can not be provided by the computer from other computer than the computer in question, and a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates.
  • the repository service unit is provided in a specific computer among a plurality of the computers.
  • the repository service unit is provided in a specific computer among a plurality of the computers, and the repository service unit conducts processing of replying, to a request from the program operating on any of the computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • the system comprises a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates, wherein the repository service unit is provided in a specific computer among a plurality of the computers, and the repository service unit further conducts processing of replying, to an inquiry from the program activated, with the location information of the computer having the repository service unit.
  • the processing of replying with the location information searches the repository data base for location information of a computer on which the predetermined program operates which information is inquired by a program operating on any of the computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
  • the processing of rewriting data of the repository data base rewrites the data of the repository data base in response to a request from the program and replies to the program with a result of rewriting.
  • the processing of making a service request by the program to other computer checks whether the program has location information of the other computer and when the program fails to have the information, requests the location information from the repository service unit.
  • the repository service unit is provided in a specific computer among a plurality of the computers, wherein the plurality of computers each include a program starting unit which starts a program that provides the service and a service provision information data base which stores information about a kind of the service and information about a kind of service to be started at the time of starting the computer.
  • the program starting unit is started simultaneously with activation of the computer.
  • the program starting unit is started simultaneously with activation of the computer, and processing of starting the program starting unit refers to information of the service provision information data base and when activation is necessary, starts the repository service unit and when there exists other program required to be started, starts the program in question.
  • the program starting unit is started simultaneously with activation of the computer, and main processing of the program starting unit includes processing of, after accepting a request from programs of the plurality of computers, referring to the service provision information data base to determine whether service corresponding to the request can be started or not and when the service can be started, starting or re-starting a program which provides the service in question.
  • the repository service unit is provided in a part of computers among a plurality of the computers.
  • system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers.
  • the system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, a monitoring unit which monitors operation of the monitoring service unit, and a data sharing unit for sharing location information data managed by the repository service unit among the computers.
  • processing of the monitoring unit searches the monitoring service unit to continue checking operation of the monitoring service unit.
  • system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, and processing of the monitoring service unit monitors the repository service unit provided at the part of computers and when none of the repository service units operates, starts any of the repository service units.
  • system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, and initial processing of the repository service unit refrains from starting the repository service unit when other repository service unit operates.
  • a computer which executes a program that provides service through a network comprises a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates, wherein the repository service unit conducts processing of replying, to a request from the program operating on any of the computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • the repository service unit further conducts processing of replying, to an inquiry from the program activated, with the location information of the computer having the repository service unit.
  • the processing of replying with the location information searches the repository data base for location information of a computer on which the predetermined program operates which information is inquired by a program operating on any of the computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
  • the processing of rewriting data of the repository data base rewrites the data of the repository data base in response to a request from the program and replies to the program with a result of rewriting.
  • the computer comprises a program starting unit which starts a program that provides the service, and a service provision information data base which stores information about a kind of the service and information about a kind of service to be started at the time of starting the computer.
  • processing of starting the program starting unit refers to information of the service provision information data base and when activation is necessary, starts the repository service unit and when there exists other program required to be started, starts the program in question.
  • a repository service control program executed on a computer on which a program operates that provides service through a network, comprising the function of a function of providing service of managing location information for uniquely identifying, on the network, a function of replying, to a request from a program operating on any of computers connected to the network, with location information of a computer which activates a predetermined program, and a function of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • FIG. 1 is a block diagram showing a structure of a service providing system according to a first embodiment of the present invention
  • FIG. 2 is a flow chart for use in explaining operation of activation processing of a program starting unit according to the first embodiment of the present invention
  • FIG. 3 is a flow chart for use in explaining operation of main processing of the program starting unit according to the first embodiment of the present invention
  • FIG. 4 is a flow chart for use in explaining operation of a repository service unit according to the first embodiment of the present invention
  • FIG. 5 is a flow chart for use in explaining operation of service activation reception processing according to the first embodiment of the present invention.
  • FIG. 6 is a flow chart for use in explaining operation of location information inquiry processing according to the first embodiment of the present invention.
  • FIG. 7 is a flow chart for use in explaining operation of repository registration processing according to the first embodiment of the present invention.
  • FIG. 8 is a flow chart for use in explaining activation processing of a program according to the first embodiment of the present invention.
  • FIG. 9 is a flow chart for use in explaining service requesting processing according to the first embodiment of the present invention.
  • FIG. 10 is a diagram showing one example of data stored in a service provision information DB according to the first embodiment of the present invention.
  • FIG. 11 is a block diagram showing a structure of a service providing system according to a second embodiment of the present invention.
  • FIG. 12 is a flow chart for use in explaining processing of a monitoring unit according to the second embodiment of the present invention.
  • FIG. 13 is a flow chart for use in explaining main processing of monitoring service according to the second embodiment of the present invention.
  • FIG. 14 is a flow chart for use in explaining a flow of initial processing of a repository service unit according to the second embodiment of the present invention.
  • FIG. 15 is a diagram showing one example of data stored in a service provision information DB according to the second embodiment of the present invention.
  • FIG. 1 is a block diagram showing a structure of a service providing system according to a first embodiment of the present invention.
  • a computer 1 , a computer 2 , a computer 3 and a computer 4 are connected through a network 100 .
  • the computer 1 , the computer 2 and the computer 4 have the same structure.
  • the computer 3 is equivalent to the structure of the computer 1 with a repository service unit 35 (repository is a data base used by the system) added.
  • the repository service unit 35 is connected to a repository data base (DB) 5 .
  • the computer 3 includes a service provision information DB 31 , a program starting unit 32 , a program A 33 which provides service A, a program B 34 which provides service B and the repository service unit 35 .
  • programs which provide services here have two kinds, the program A 33 and the program B 34 as an example, the number of kinds of programs is arbitrary.
  • the service provision information DB 31 is capable of storing information about kinds of services which can be provided by the computer 3 and information about kinds of programs to be started at the time of starting the program starting unit 32 .
  • the program starting unit 32 determines whether to start the repository service unit 35 and can start the unit when necessary. In addition, when an inquiry about whether certain service can be provided is made through the network 100 , make a reply with reference to the service provision information DB 31 . When a request for service provision is made, start a relevant program if possible with reference to the service provision information DB 31 .
  • the program A 33 and the program B 34 are both programs which provide services and are execution files. Both programs send and receive information through the network 100 to provide services to other computer or its own computer and contents of the services are arbitrary. Among examples of contents are processing such as execution of routine computation, information management and specific hardware control.
  • the program A 33 and the program B 34 are stored in a storage device of the computer 3 .
  • the repository service unit 35 is capable of managing service information and accepting a request for reading and writing information from/to the repository DB 5 . It also enables data to be shared between services operating on the computers 1 , 2 , 3 and 4 .
  • the repository service unit 35 accepts a request from a program of other computers 1 , 2 and 4 or other program of its own computer 3 transmitted through the network 100 . Upon receiving a request for use from each computer, the unit reads/writes data from/to the repository DB 5 .
  • the unit has location information for identifying a computer on which a program operates (hereinafter referred to as location information) and provides the information upon a request from other service.
  • the repository service unit 35 inquires of program stating units 12 , 22 , 32 and 42 of the respective computers whether the service in question can be provided or not and asks a program starting unit which has made a reply that the provision is possible to start the program whose location information (computer numbers 1 to 4 here) is requested.
  • location information is assumed to be the computer numbers 1 , 2 , 3 and 4 , which is one example only, any information can be used that can identify a computer such as a computer lot number or a name of place where the computer is disposed.
  • the repository DB 5 stores service information such as data from the repository service unit 35 and data necessary for starting a program of each computer.
  • the structure of the computers 1 , 2 and 4 is the same as the structure of the computer 3 with the only difference in that the repository service unit 35 is not provided. Since the structures of the computers 1 , 2 and 4 are the same, the description will be made of the structure of the computer 1 .
  • a service provision information DB 11 is capable of storing information about a kind of service operable on the computer 1 and information about a kind of program to be activated at the time of starting a program.
  • the program starting unit 12 makes a reply with reference to the service provision information DB 11 .
  • the unit refers to the service provision information DB 11 and starts the relevant program when possible.
  • a program A 13 and a program B 14 are both programs which provide services and are execution files.
  • the program A 13 is the same as the program A 33 of the computer 3 and the program B 14 is the same as the program B 34 of the computer 3 .
  • the program A 13 and the program B 14 are stored in a storage device of the computer 1 .
  • Both programs send and receive information through the network 100 to provide services to other computers or their own computers, and their contents are arbitrary.
  • contents are processing such as execution of routine computation, information management and specific hardware control.
  • FIG. 2 is a flow chart for use in explaining operation of activation processing of the program starting unit 32 according to the present embodiment. Main part of FIG. 1 will be referred to when necessary.
  • Step 201 when first starting the program starting unit 32 (Step 201 ), refer to the service provision information DB 31 (Step 202 ) to determine whether the repository service unit 35 should be started or not (Step S 203 ) and when necessary, start the repository service unit 35 (Step 204 ).
  • Step 206 determine whether there exists other program to be started.
  • Step 207 When there is a program to be started, start the relevant program (Step 207 ) to repeat Steps 206 and 207 until there remains no program to be started. After finishing the foregoing activation processing, shift to the main processing of the program starting unit (Step 208 ).
  • FIG. 3 is a flow chart for use in explaining main processing operation of the program starting unit 32 according to the present embodiment.
  • the program starting unit 32 first accepts a request from a program of other computer or from other program of its own computer which is sent through the network 10 (Step 301 ).
  • Step 302 Determine whether the request is for starting or re-starting-a program (hereinafter referred to as start/re-start for abbreviation) (Step 302 ) and when the request is for starting/re-starting, refer to the service provision information DB 31 (Step 303 ) to determine whether a program corresponding to the request can be activated (Step 304 ).
  • Step 305 When the program can be activated, start/re-start the relevant program of its own computer (Step 305 ) and again return to Step 301 to accept a new request.
  • Step 306 determine whether the request is a request for checking whether the program can be started or not.
  • Step 307 When the request is for checking whether the program can be started or not, refer to the service provision information DB 31 (Step 307 ) to return a check result to a requesting source (Step 308 ).
  • Step 301 After making a reply, again return to Step 301 to accept a new request.
  • FIG. 4 is a flow chart for use in explaining operation of the repository service unit 35 according to the present embodiment.
  • the repository service unit 35 accepts a request from a program of other computer or from other program of its own computer which is transmitted through the network 100 (Step 401 ).
  • Step 402 Analyze the contents of the request at Step 402 to shift to the service activation reception processing (Step 403 ), or location information inquiry reception (Step 404 ) or repository registration processing (Step 405 ).
  • Step 401 When the request is one that can not be processed or when each processing is completed, return to Step 401 to accept a new request.
  • FIG. 5 is a flow chart for use in explaining operation of service activation reception processing according to the present embodiment.
  • the service activation reception processing is processing of, upon receiving a notification from a program of an activated computer, returning location information of the repository service unit 35 to the program.
  • the program starting units 12 , 22 , 32 and 42 start the programs of their own computers (Step 501 ).
  • the program notifies by broadcast (transmission to all the terminals connected to the network) that the program has been started (Step 502 ).
  • Contents of the notification include a kind of service and location information of a computer in which the service starts.
  • the repository service unit 35 obtains the notification and stores the same in the repository DB 5 (Step 503 ).
  • the repository service unit 35 returns the location information of the repository service unit 35 to the started program (Step 504 ).
  • the started program is allowed to communication with the repository service unit 35 .
  • FIG. 6 is a flow chart for use in explaining operation of location information inquiry processing according to the present embodiment.
  • the location information inquiry processing is processing of, upon receiving a request from an activated program, replying to the program in question with a program in operation and its location information.
  • the repository service unit 35 first searches the repository DB 5 with a kind of service as a key item (Step 601 ).
  • Step 602 confirm its existence because its location data is stored in the repository DB 5 (Step 602 ).
  • Step 603 check whether the service in question is actually in operation or not by using the location information.
  • Step 604 reply to a program having asked for an inquiry for location information with the location information to end the processing.
  • Step 602 when the determination is made at Step 602 that there exists no relevant service in the repository DB 5 , make broadcasting flow through the network 100 (Step 605 ) to ask a computer which can activate the relevant program for a reply (Step 607 ).
  • Step 610 When receiving no reply from any of the computers, make a reply that no relevant program exists (Step 610 ) to end.
  • Step 607 when receiving a reply from a plurality of computers which can activate service at Step 607 , select an arbitrary one of them to ask the selected computer for activating the program (Step 608 ).
  • Step 609 reply to the program which has requested location information inquiry with the location information of the computer to which the activation request is made.
  • Step 606 delete the location information from the repository DB 5 (Step 606 ).
  • Step 605 proceed to conduct the same processing as that of a case where the location information fails to exist in the repository DB 5 .
  • FIG. 7 is a flow chart for use in explaining operation of repository registration processing according to the present embodiment.
  • Step 701 conduct data addition to the repository DB 5 , or deletion or modification of the same in response to a request from an activated program at Step 701 (Step 701 ).
  • Step 702 Return the results of the processing to a requesting source program.
  • FIG. 8 is a flow chart for use in explaining program activation processing according to the present embodiment. Main part of FIG. 1 will be referred to as necessary.
  • the program first notifies by broadcasting that the service is started through the network 100 (Step 801 ).
  • Step 802 wait for a reply from the repository service unit 35 (Step 802 ).
  • Step 803 When receiving a reply from the repository service unit 35 , store the location information of the repository service unit 35 (Step 803 ) to execute main processing of the service (Step 804 ).
  • FIG. 9 is a flow chart for use in explaining service requesting processing in a case where the program makes a request to other program according to the present embodiment.
  • a requesting source program checks whether it has location information of required service (Step 901 ).
  • Step 903 When having the location information of the required service, ask a program of the location information for required service (Step 903 ).
  • Step 902 when failing to have the location information of the required service, ask the repository service unit 35 for location information of the service in question to obtain the same.
  • Step 903 using the obtained location information, ask a program of the location information for service.
  • Step 904 After requesting, wait for a reply of the service (Step 904 ) and when receiving no reply, return to Step 902 to request location information of the service in question (Step 902 ).
  • FIG. 10 shows one example of data stored in the service provision information DB 31 , the service provision information DB 11 and a service provision information DB 21 in FIG. 1 according to the present embodiment.
  • Step 201 Start the program starting unit 32 (Step 201 ) and then refer to the data in the service provision information DB 31 (Step 202 ).
  • the program starting unit 32 refers to the data of the service provision information DB 31 shown in FIG. 10 to obtain information that the repository service unit 35 “starts at the time of starting the computer”.
  • the program starting unit 32 determines that the repository service unit 35 should be started (Step 203 ) to start the repository service unit 35 (Step 204 ).
  • Step 205 Reference to the data of the service provision information DB 31 (Step 205 ) finds that there is no other service to be started (Step 206 ).
  • the program starting unit 32 starts main processing (Step 208 ).
  • FIGS. 4, 5 and 8 will be referred to, the numbers of the figures and the step numbers will be denoted in the description.
  • the main part of FIG. 1 will be referred to as required.
  • Reference to the data of the service provision information DB 11 finds that the program A 13 is started by the program starting unit 12 at the time of starting the computer 1 .
  • notification is given by broadcast that the program A 13 is started (Step 801 in FIG. 8 ).
  • the repository service unit 35 waiting at a request reception state receives the notification that the program A 13 is started.
  • Step 402 in FIG. 4 confirming that the notification is about service activation (Step 402 in FIG. 4 ) to start the service activation reception processing (Step 403 in FIG. 4 ).
  • the flow of the processing has been described in FIG. 5 .
  • Step 501 in FIG. 5 Record in the repository DB 5 that the program A 13 is started on the computer 1 (Step 501 in FIG. 5 ) to transmit the location information of the repository service unit 35 to the program A 13 on the computer 1 (Step 502 in FIG. 5 ).
  • the program A 13 Upon receiving the notification (Step 802 in FIG. 8 ), the program A 13 stores that the repository service unit 35 operates on the computer 3 (Step 803 in FIG. 8 ). Thereafter, shift to the main processing of the program (Step 804 in FIG. 8 ).
  • the program A 23 When a program A 23 of the computer 2 makes a request for service to the program B 24 yet to be started, the program A 23 first checks the location of the program B 24 (Step 901 in FIG. 9 ).
  • the program A 23 Since at this time point, the program A 23 is yet to obtain the location of the program B 24 , it inquires of the repository service unit 35 about the location information of the service B (Step 902 in FIG. 9 ).
  • the repository service unit 35 accepts the request (Step 401 in FIG. 4 ).
  • Step 404 in FIG. 4 determines that the request is for location information inquiry to conduct location information inquiry processing.
  • the flow of this processing has been described in FIG. 6 .
  • the repository service unit 35 searches the repository DB 5 to check whether the program of the service B is started or not (Step 601 in FIG. 6 ).
  • Step 602 in FIG. 6 determination is made that the service B fails to exist.
  • the program starting units 12 , 22 , 32 and 42 are operating to accept a request (Step 301 in FIG. 3 ).
  • the service B determines whether the request is one for checking whether the program can be started or not (Step 306 in FIG. 3 ).
  • the program starting units 12 , 22 , 32 and 42 refer to the service provision information DBs 11 , 21 , 31 and 41 of the computers 1 , 2 , 3 and 4 in question, respectively (Step 307 in FIG. 3 ).
  • the program starting units 12 , 22 , 32 and 42 are operating, respectively, to wait at a request reception state (Step 301 in FIG. 3 ).
  • the program starting unit 22 of the computer 2 receives a request for starting the program B 24 to refer to the service provision information DB 21 (Step 303 in FIG. 3 ).
  • Step 304 in FIG. 3 Since the reference finds that the service B can be started (Step 304 in FIG. 3 ), start the program B 24 (Step 305 in FIG. 3 ).
  • the repository service unit 35 having made the service B activation request replies to the program A 23 of the computer 2 with the computer 2 as the location information of the service B (Step 609 in FIG. 6 ).
  • the program A 23 receives the information (Step 902 in FIG. 9 ) to make a service request to the program B 24 of the computer 2 (Step 903 in FIG. 9 ).
  • Step 904 in FIG. 9 While the program A 23 of the computer 2 receives a reply from the program B 24 of the same computer 2 (Step 904 in FIG. 9 ), if no reply is received, return to Step 902 to repeat the same processing.
  • the program B 24 of the computer 2 has made a service request to the program A 13 several times and obtains the fact that the program A 13 is operating on the computer 1 as information (Step 901 ).
  • Step 903 make a request to the program A 13 (Step 903 ).
  • the computer 1 develops a failure, so that no reply is received from the program 13 A which provides the service A.
  • Step 904 the program B 24 of the computer 2 (Step 904 ) returns to Step 902 to inquire of the repository service unit 35 about location information of the service A.
  • Reference to FIG. 10 finds that the program of the service A is operable only on the computer 1 and the computer 2 . However, because the computer 1 has a failure, only the computer 2 is operable in practice. While the repository service unit 35 searches for a computer which can operate the service A, only the computer 2 responds, so that the unit makes a request for activating the program A 23 to the computer 2 and replies to the program B 24 with the location information of the program A 23 . The program B 24 receives the information (Step 902 ) and makes a service request to the program A 23 operating on the computer 2 (Step 903 ) to receive a reply (Step 904 ).
  • the repository service waits at a request reception state (Step 401 ).
  • the repository service unit 35 starts repository registration processing (Step 405 in FIG. 4 ).
  • the repository service unit 35 stores data whose registration is requested in the repository DB 5 (Step 701 in FIG. 7 ).
  • Step 702 in FIG. 7 return a response to the requesting source that the storage processing succeeds or fails.
  • the function of the repository service unit 35 of the computer 3 can be realized not only by hardware but also as software by executing, on the computer 3 , a repository service control program (application) 50 which executes the above-described functions.
  • the repository service control program 50 is stored in a magnetic disk, a semiconductor memory or other recording medium and loaded from the recording medium into the computer 3 as a computer processing device to control operation of the computer processing device, thereby realizing the above-described respective functions.
  • the repository service unit 35 is provided in the computer 3
  • the unit is not necessarily provided within a computer and can be provided outside a computer as long as it is within the system.
  • location information of the repository service unit can be assigned a different number irrespective of location information of the computer.
  • a computer which receives service is allowed to always obtain location information of a computer on which a program that provides the service operates, when the computer is not allowed to receive the service due to a failure, maintenance or the like of the computer which provides the information, the computer can receive the service continuously from an alternative computer.
  • FIG. 11 is a block diagram showing a structure of a service providing system according to a second embodiment of the present invention.
  • the service provision information DB, the program starting unit and the program of each computer are the same as those of the first embodiment described with reference to FIG. 1 and these components are all the same in every computer.
  • the present embodiment has a structure different from that of the first embodiment shown in FIG. 1 in that repository service units 25 , 35 and 45 are provided in a plurality of computers. Moreover, a data sharing unit 6 , a monitoring unit 7 , and monitoring service units 27 and 47 are additionally provided. In the following, additionally provided units will be described.
  • the data sharing unit 6 is a means which shares data of the respective repository service units 25 , 35 and 45 .
  • the unit 6 provides the repository service units 25 , 35 and 45 with a function of enabling the computers 2 , 3 and 4 connected to the data sharing unit 6 to read/write from/to the repository DB 5 .
  • the repository DB 5 can be made read/written from the computers 2 , 3 and 4 through the data sharing unit 6 .
  • For the data sharing unit 6 existing techniques are used. Used, for example, are file sharing by NFS (Network File System), a disk which can be multi-path wired and an application function of a data base.
  • NFS Network File System
  • the data sharing function enables the computers 2 , 3 and 4 connected to the data sharing unit 6 to activate the repository service units 25 , 35 and 45 .
  • the monitoring service units 27 and 47 have the function of respectively monitoring the repository service unit 25 and the repository service unit 45 of the computers connected to the network and when detecting the unit being not operating, starting the repository service unit of the computer in which each unit is provided.
  • the monitoring unit 7 monitors the monitoring service units 27 and 47 .
  • FIG. 12 is a flow chart for use in explaining processing of the monitoring unit 7 according to the present embodiment.
  • the processing is started in another thread or another process at the time of starting the repository service units 25 , 35 and 45 .
  • Step 1201 search for monitoring service
  • Step 1202 Check a search result (Step 1202 ) and when failing to find the monitoring service, return to Step 1201 to again search for monitoring service.
  • Step 1203 check whether the service is actually in operation.
  • search for monitoring service (Step 1201 ).
  • Step 1203 When the service is in operation, continue checking operation (Step 1203 ).
  • activation processing and main processing of the monitoring service units 27 and 47 The activation processing prior to the main processing can be conducted in the same manner as that of the program activation processing shown in FIG. 8 . In the following, the description will be made of the main processing.
  • FIG. 13 is a flow chart for use in explaining the main processing of the monitoring service units 27 and 47 according to the present embodiment.
  • the main processing is equivalent to Step 804 in FIG. 8 .
  • the description will be made with respect to a case of the monitoring service unit 27 .
  • the monitoring service unit 27 continues checking whether the repository service units 25 , 35 and 45 are in operation (Step 1301 ).
  • the monitoring service unit 27 gives to the program starting units 12 , 22 , 32 and 42 an instruction to re-start all the services (Step 1303 ).
  • FIG. 14 is a flow chart for use in explaining a flow of initial processing of the repository service units 25 , 35 and 45 according to the present embodiment.
  • the initial processing is used when there exist a plurality of repository service units. In the following, the description will be made of a case of the repository service unit 25 .
  • the repository service unit 25 first searches for repository service unit by broadcasting (Step 1401 ).
  • the monitoring unit 7 is started in another thread or another process.
  • the repository service unit 25 determines whether other repository service is in operation or not (Step 1402 ) and when it is already operating, ends the processing (Step 1405 ).
  • Step 1403 When no other repository service is in operation, start the monitoring service (Step 1403 ).
  • the repository service main processing to follow is the same as that in FIG. 4 .
  • FIG. 15 shows one example of data to be stored in the service provision information DB 31 , the service provision information DB 41 and the service provision information DB 21 .
  • the repository service is provided by the computer 3 and the monitoring service is provided by the computers 4 and 2 .
  • the monitoring service unit 47 operating on the computer 4 senses operation stop of the repository service unit 35 (Step 1301 in FIG. 13 ) to start the repository service unit 45 (Step 1302 in FIG. 13 ).
  • the repository service unit 45 is activated (Step 1401 in FIG. 14 ).
  • the monitoring unit 7 is started in another thread or another process.
  • Step 1402 in FIG. 14 search for other repository service (Step 1402 in FIG. 14 ) to check whether repository service is operating on other computer (Step 1403 in FIG. 14 ).
  • the monitoring service unit 47 which has started the repository service unit 45 gives to all the programs a re-start instruction (Step 1303 in FIG. 13 ).
  • location information of the repository service units stored in all the programs is updated from the computer 3 to the computer 4 .
  • the first embodiment has a shortcoming that because the repository service unit 35 is provided only on the computer 3 , repository service can not be provided when the computer 3 develops a failure.
  • provision of repository service and monitoring of repository service by a plurality of computers enable provision of repository service to be continued at the time of a failure of a computer, thereby enhancing the failure-resistant function of the service providing system.
  • the service providing system, the computer and the repository service control program according to the present invention achieve the following effects.
  • a computer which receives service is allowed to always obtain location information of a computer on which a program that provides the service operates, when the computer is not allowed to receive the service due to a failure, maintenance or the like of the computer which provides the information, the same service can be continuously received from an alternative computer.

Abstract

In a service providing system which provides, through a network, service which is provided by a program executed on a computer to other computer, a unit is provided for providing service which can not be provided by the computer to other computer than the computer in question.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to a service providing system which provides services which are provided by a program executed on a computer through a network to other computer, and more particularly, to a service providing system enabling service which can not be provided due to a failure or maintenance of a computer to be provided from other computer.
  • 2. Description of the Related Art
  • Conventionally proposed as a method of coping with a situation where a computer fails to operate due to a failure or maintenance of the computer is increasing redundancy. This method copes with such a situation by shifting execution of a program to other computer, in which even when one computer stops operation, operation can be continued by other computer. This method, however, has the following problems.
  • Consider a case where with a program being executed on one computer, the program provides services to a plurality of other computers through a network. There will be a case where for one reason or another, for example, due to a failure or maintenance of a computer the program needs to be shifted to other computer in order to continue service provision.
  • In this case, the first problem is that it is necessary to install the program on other computer and activate an alternative program.
  • Next, when a computer which provides services is changed, a computer which will receive the service is not allowed to detect change of location of the computer providing the service. This prevents the computer which receives the service from accessing the computer which provides the service and accordingly prevents the same from receiving the service, which is the second problem.
  • Examples of methods which solve these problems are recited in Japanese Patent Laying-Open (Kokai) No. 2001-22709 (Literature 1) and Japanese Patent Laying-Open (Kokai) No. 2000-47894 (Literature 2), for example.
  • In the method disclosed in Literature 1, a plurality of computers are connected through a network, with each computer having a means for detecting abnormality of a program.
  • When abnormality of a program is detected in one of the plurality of computers, the program is re-started at the computer in which the program abnormality is detected. When the program abnormality is not eliminated even by the re-starting, the program will be executed on other computer.
  • In the method disclosed in Literature 2, a plurality of computers are connected through a network, with each computer being provided with a monitoring means for monitoring an operation condition which means stores an operation condition of each computer in a monitoring information repository (which is a data base to be internally used by a system) connected with each computer through the network. Operation conditions include a CPU load and a memory free capacity of a computer.
  • When the monitoring means detects abnormality of other computer, based on information of the monitoring information repository, select an alternative computer having a small CPU load or a small memory free capacity and take over the processing to the selected computer.
  • The above-described conventional techniques have the following shortcomings.
  • In a case where a program is executed on one computer and the program provides services to a plurality of other computers through a network, according to the method disclosed in Literature 1, the first problem of the necessity of installing the program on other computer to activate a program as an alternative can be solved by executing the program on other computer.
  • When a computer which provides services is changed, however, a computer which receives the services is incapable of detecting the change of location of the computer providing the services, so that it can not access the computer which provides the services. As a result, the second problem can not be solved that an access from the computer receiving the services to the computer providing the services is disabled to prevent service provision.
  • On the other hand, according to the method disclosed in Literature 2, when the monitoring means detects abnormality of other computer, an alternative computer having a small CPU load or a small memory free capacity is selected based on the information of the monitoring information repository to take over the processing to the selected computer. Therefore, the first problem of the need of installing the program on other computer to activate an alternative program can be solved.
  • However, because change of location of a computer which provides service can not be detected, an access from the computer receiving the services to the computer providing the services is impossible. Therefore, similarly to the method disclosed in Literature 1, the second problem that the computer receiving the services is not allowed to receive services from the computer which provides the services can not be solved.
  • SUMMARY OF THE INVENTION
  • First object of the present invention is to provide a service providing system, a computer and a repository service control program which eliminate the above-described shortcomings of the conventional art and which, in a service providing system in which a program operating on a computer provides services to other computer through a network, when a failure, maintenance or the like of the computer prevents service provision, enable provision of the same service from other computer.
  • Second object of the present invention is to provide a service providing system, a computer and a repository service control program which, in the above-described system, when a failure, maintenance or the like of the computer prevents service provision, enable a computer receiving the services to obtain location information of an alternative computer that provides the services to continuously receive the services.
  • According to the first aspect of the invention, a system of providing, through a network, service which is provided by a program executed on a computer to other computer, comprises a unit which provides the service that can not be provided by the computer from other computer than the computer in question, and a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates.
  • In the preferred construction, the repository service unit is provided in a specific computer among a plurality of the computers.
  • In another preferred construction, the repository service unit is provided in a specific computer among a plurality of the computers, and the repository service unit conducts processing of replying, to a request from the program operating on any of the computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • In another preferred construction, the system comprises a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates, wherein the repository service unit is provided in a specific computer among a plurality of the computers, and the repository service unit further conducts processing of replying, to an inquiry from the program activated, with the location information of the computer having the repository service unit.
  • In another preferred construction, the processing of replying with the location information searches the repository data base for location information of a computer on which the predetermined program operates which information is inquired by a program operating on any of the computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
  • In another preferred construction, the processing of rewriting data of the repository data base rewrites the data of the repository data base in response to a request from the program and replies to the program with a result of rewriting.
  • In another preferred construction, the processing of making a service request by the program to other computer checks whether the program has location information of the other computer and when the program fails to have the information, requests the location information from the repository service unit.
  • In another preferred construction, the repository service unit is provided in a specific computer among a plurality of the computers, wherein the plurality of computers each include a program starting unit which starts a program that provides the service and a service provision information data base which stores information about a kind of the service and information about a kind of service to be started at the time of starting the computer.
  • In another preferred construction, the program starting unit is started simultaneously with activation of the computer.
  • In another preferred construction, the program starting unit is started simultaneously with activation of the computer, and processing of starting the program starting unit refers to information of the service provision information data base and when activation is necessary, starts the repository service unit and when there exists other program required to be started, starts the program in question.
  • In another preferred construction, the program starting unit is started simultaneously with activation of the computer, and main processing of the program starting unit includes processing of, after accepting a request from programs of the plurality of computers, referring to the service provision information data base to determine whether service corresponding to the request can be started or not and when the service can be started, starting or re-starting a program which provides the service in question.
  • In another preferred construction, the repository service unit is provided in a part of computers among a plurality of the computers.
  • In another preferred construction, the system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers.
  • In another preferred construction, the system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, a monitoring unit which monitors operation of the monitoring service unit, and a data sharing unit for sharing location information data managed by the repository service unit among the computers.
  • In another preferred construction, processing of the monitoring unit searches the monitoring service unit to continue checking operation of the monitoring service unit.
  • In another preferred construction, the system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, and processing of the monitoring service unit monitors the repository service unit provided at the part of computers and when none of the repository service units operates, starts any of the repository service units.
  • In another preferred construction, the system further comprises a monitoring service unit which monitors operation of the repository service unit is provided in the part of computers, and initial processing of the repository service unit refrains from starting the repository service unit when other repository service unit operates.
  • According to the second aspect of the invention, a computer which executes a program that provides service through a network, comprises a repository service unit which provides service of managing location information for uniquely identifying, on the network, a computer on which predetermined the program operates, wherein the repository service unit conducts processing of replying, to a request from the program operating on any of the computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • In the preferred construction, the repository service unit further conducts processing of replying, to an inquiry from the program activated, with the location information of the computer having the repository service unit.
  • In another preferred construction, the processing of replying with the location information searches the repository data base for location information of a computer on which the predetermined program operates which information is inquired by a program operating on any of the computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
  • In another preferred construction, the processing of rewriting data of the repository data base rewrites the data of the repository data base in response to a request from the program and replies to the program with a result of rewriting.
  • In another preferred construction, the computer comprises a program starting unit which starts a program that provides the service, and a service provision information data base which stores information about a kind of the service and information about a kind of service to be started at the time of starting the computer.
  • In another preferred construction, processing of starting the program starting unit refers to information of the service provision information data base and when activation is necessary, starts the repository service unit and when there exists other program required to be started, starts the program in question.
  • According to a further aspect of the invention, a repository service control program executed on a computer on which a program operates that provides service through a network, comprising the function of a function of providing service of managing location information for uniquely identifying, on the network, a function of replying, to a request from a program operating on any of computers connected to the network, with location information of a computer which activates a predetermined program, and a function of rewriting data of a repository data base which stores the location information in response to a request from the program.
  • Other objects, features and advantages of the present invention will become clear from the detailed description given herebelow.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be understood more fully from the detailed description given herebelow and from the accompanying drawings of the preferred embodiment of the invention, which, however, should not be taken to be limitative to the invention, but are for explanation and understanding only.
  • In the drawings:
  • FIG. 1 is a block diagram showing a structure of a service providing system according to a first embodiment of the present invention;
  • FIG. 2 is a flow chart for use in explaining operation of activation processing of a program starting unit according to the first embodiment of the present invention;
  • FIG. 3 is a flow chart for use in explaining operation of main processing of the program starting unit according to the first embodiment of the present invention;
  • FIG. 4 is a flow chart for use in explaining operation of a repository service unit according to the first embodiment of the present invention;
  • FIG. 5 is a flow chart for use in explaining operation of service activation reception processing according to the first embodiment of the present invention;
  • FIG. 6 is a flow chart for use in explaining operation of location information inquiry processing according to the first embodiment of the present invention;
  • FIG. 7 is a flow chart for use in explaining operation of repository registration processing according to the first embodiment of the present invention;
  • FIG. 8 is a flow chart for use in explaining activation processing of a program according to the first embodiment of the present invention;
  • FIG. 9 is a flow chart for use in explaining service requesting processing according to the first embodiment of the present invention;
  • FIG. 10 is a diagram showing one example of data stored in a service provision information DB according to the first embodiment of the present invention;
  • FIG. 11 is a block diagram showing a structure of a service providing system according to a second embodiment of the present invention;
  • FIG. 12 is a flow chart for use in explaining processing of a monitoring unit according to the second embodiment of the present invention;
  • FIG. 13 is a flow chart for use in explaining main processing of monitoring service according to the second embodiment of the present invention;
  • FIG. 14 is a flow chart for use in explaining a flow of initial processing of a repository service unit according to the second embodiment of the present invention; and
  • FIG. 15 is a diagram showing one example of data stored in a service provision information DB according to the second embodiment of the present invention.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT
  • The preferred embodiment of the present invention will be discussed hereinafter in detail with reference to the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be obvious, however, to those skilled in the art that the present invention may be practiced without these specific details. In other instance, well-known structures are not shown in detail in order to unnecessary obscure the present invention.
  • In the following, preferred embodiments of the present invention will be described in detail with reference to the drawings.
  • FIG. 1 is a block diagram showing a structure of a service providing system according to a first embodiment of the present invention.
  • With reference to FIG. 1, a computer 1, a computer 2, a computer 3 and a computer 4 are connected through a network 100. The computer 1, the computer 2 and the computer 4 have the same structure. The computer 3 is equivalent to the structure of the computer 1 with a repository service unit 35 (repository is a data base used by the system) added. The repository service unit 35 is connected to a repository data base (DB) 5.
  • Description will be first made of the structure of the computer 3 having the repository service unit 35 and then of the structure of the computers 1, 2 and 4.
  • The computer 3 according to the present embodiment includes a service provision information DB 31, a program starting unit 32, a program A33 which provides service A, a program B34 which provides service B and the repository service unit 35. Although programs which provide services here have two kinds, the program A33 and the program B34 as an example, the number of kinds of programs is arbitrary.
  • The service provision information DB 31 is capable of storing information about kinds of services which can be provided by the computer 3 and information about kinds of programs to be started at the time of starting the program starting unit 32.
  • With reference to the service provision information DB 31, the program starting unit 32 determines whether to start the repository service unit 35 and can start the unit when necessary. In addition, when an inquiry about whether certain service can be provided is made through the network 100, make a reply with reference to the service provision information DB 31. When a request for service provision is made, start a relevant program if possible with reference to the service provision information DB 31.
  • The program A33 and the program B34 are both programs which provide services and are execution files. Both programs send and receive information through the network 100 to provide services to other computer or its own computer and contents of the services are arbitrary. Among examples of contents are processing such as execution of routine computation, information management and specific hardware control. The program A33 and the program B34 are stored in a storage device of the computer 3.
  • The repository service unit 35 is capable of managing service information and accepting a request for reading and writing information from/to the repository DB 5. It also enables data to be shared between services operating on the computers 1, 2, 3 and 4.
  • The repository service unit 35 accepts a request from a program of other computers 1, 2 and 4 or other program of its own computer 3 transmitted through the network 100. Upon receiving a request for use from each computer, the unit reads/writes data from/to the repository DB 5.
  • In addition, with respect to the computers connected to the network 100, the unit has location information for identifying a computer on which a program operates (hereinafter referred to as location information) and provides the information upon a request from other service.
  • When requested location information of service not in operation on any of the computers connected to the network 100, the repository service unit 35 inquires of program stating units 12, 22, 32 and 42 of the respective computers whether the service in question can be provided or not and asks a program starting unit which has made a reply that the provision is possible to start the program whose location information (computer numbers 1 to 4 here) is requested.
  • Although in the present embodiment, location information is assumed to be the computer numbers 1, 2, 3 and 4, which is one example only, any information can be used that can identify a computer such as a computer lot number or a name of place where the computer is disposed.
  • The repository DB 5 stores service information such as data from the repository service unit 35 and data necessary for starting a program of each computer.
  • Next, the structure of the computers 1, 2 and 4 will be described.
  • The structure of the computers 1, 2 and 4 is the same as the structure of the computer 3 with the only difference in that the repository service unit 35 is not provided. Since the structures of the computers 1, 2 and 4 are the same, the description will be made of the structure of the computer 1.
  • With reference to the computer 1 shown in FIG. 1, a service provision information DB 11 is capable of storing information about a kind of service operable on the computer 1 and information about a kind of program to be activated at the time of starting a program.
  • When inquired whether certain service can be provided through the network 100, the program starting unit 12 makes a reply with reference to the service provision information DB 11. When asked to start a program through the network 100, the unit refers to the service provision information DB 11 and starts the relevant program when possible.
  • A program A13 and a program B14 are both programs which provide services and are execution files. The program A13 is the same as the program A33 of the computer 3 and the program B14 is the same as the program B34 of the computer 3. The program A13 and the program B14 are stored in a storage device of the computer 1.
  • Both programs send and receive information through the network 100 to provide services to other computers or their own computers, and their contents are arbitrary. Among examples of contents are processing such as execution of routine computation, information management and specific hardware control.
  • Next, operation of the present embodiment will be described in detail with reference to the drawings.
  • First, description will be made of activation processing of the program starting units 12, 22, 32 and 42 and main processing of the same. Next, description will be made of operation of the repository service unit 35 and service activation reception processing, location information inquiry processing and repository registration processing which are repository services. Description will be then made of program activation processing and service requesting processing of a program which provides services. With respect to activation processing of the program starting units 12, 22, 32 and 42, the description will be made of a case of the program starting unit 32.
  • FIG. 2 is a flow chart for use in explaining operation of activation processing of the program starting unit 32 according to the present embodiment. Main part of FIG. 1 will be referred to when necessary.
  • With reference to FIG. 2, when first starting the program starting unit 32 (Step 201), refer to the service provision information DB 31 (Step 202) to determine whether the repository service unit 35 should be started or not (Step S203) and when necessary, start the repository service unit 35 (Step 204).
  • Next, with reference to the service provision information DB 31 (Step 205), determine whether there exists other program to be started (Step 206).
  • When there is a program to be started, start the relevant program (Step 207) to repeat Steps 206 and 207 until there remains no program to be started. After finishing the foregoing activation processing, shift to the main processing of the program starting unit (Step 208).
  • FIG. 3 is a flow chart for use in explaining main processing operation of the program starting unit 32 according to the present embodiment.
  • With reference to FIG. 3, the program starting unit 32 first accepts a request from a program of other computer or from other program of its own computer which is sent through the network 10 (Step 301).
  • Determine whether the request is for starting or re-starting-a program (hereinafter referred to as start/re-start for abbreviation) (Step 302) and when the request is for starting/re-starting, refer to the service provision information DB 31 (Step 303) to determine whether a program corresponding to the request can be activated (Step 304).
  • When the program can be activated, start/re-start the relevant program of its own computer (Step 305) and again return to Step 301 to accept a new request.
  • When the designated program can not be started, again return to Step 301 to accept a new request.
  • On the other hand, when the request accepted at Step 301 is not for program start/re-start, determine whether the request is a request for checking whether the program can be started or not (Step 306).
  • When the request is for other processing, again return to Step 301 to accept a new request.
  • When the request is for checking whether the program can be started or not, refer to the service provision information DB 31 (Step 307) to return a check result to a requesting source (Step 308).
  • After making a reply, again return to Step 301 to accept a new request.
  • FIG. 4 is a flow chart for use in explaining operation of the repository service unit 35 according to the present embodiment.
  • With reference to FIG. 4, first, the repository service unit 35 accepts a request from a program of other computer or from other program of its own computer which is transmitted through the network 100 (Step 401).
  • Analyze the contents of the request at Step 402 to shift to the service activation reception processing (Step 403), or location information inquiry reception (Step 404) or repository registration processing (Step 405).
  • When the request is one that can not be processed or when each processing is completed, return to Step 401 to accept a new request.
  • In the following, service activation reception processing, location information inquiry reception and repository registration processing will be described.
  • FIG. 5 is a flow chart for use in explaining operation of service activation reception processing according to the present embodiment. The service activation reception processing is processing of, upon receiving a notification from a program of an activated computer, returning location information of the repository service unit 35 to the program.
  • With reference to FIG. 5, first, the program starting units 12, 22, 32 and 42 start the programs of their own computers (Step 501).
  • The program notifies by broadcast (transmission to all the terminals connected to the network) that the program has been started (Step 502).
  • Contents of the notification include a kind of service and location information of a computer in which the service starts.
  • The repository service unit 35 obtains the notification and stores the same in the repository DB 5 (Step 503).
  • Next, the repository service unit 35 returns the location information of the repository service unit 35 to the started program (Step 504).
  • Because the location information is obtained, the started program is allowed to communication with the repository service unit 35.
  • FIG. 6 is a flow chart for use in explaining operation of location information inquiry processing according to the present embodiment. The location information inquiry processing is processing of, upon receiving a request from an activated program, replying to the program in question with a program in operation and its location information.
  • With reference to FIG. 6, the repository service unit 35 first searches the repository DB 5 with a kind of service as a key item (Step 601).
  • In a case where the relevant program has been activated before, confirm its existence because its location data is stored in the repository DB 5 (Step 602).
  • When it is confirmed that the relevant program was activated before, check whether the service in question is actually in operation or not by using the location information (Step 603).
  • When the program is in operation, reply to a program having asked for an inquiry for location information with the location information (Step 604) to end the processing.
  • Next, when the determination is made at Step 602 that there exists no relevant service in the repository DB 5, make broadcasting flow through the network 100 (Step 605) to ask a computer which can activate the relevant program for a reply (Step 607).
  • When receiving no reply from any of the computers, make a reply that no relevant program exists (Step 610) to end.
  • On the other hand, when receiving a reply from a plurality of computers which can activate service at Step 607, select an arbitrary one of them to ask the selected computer for activating the program (Step 608).
  • Thereafter, reply to the program which has requested location information inquiry with the location information of the computer to which the activation request is made (Step 609) to end the processing.
  • Next, in a case where the determination is made at Step 603 that while location information of the computer having the relevant program activated exists in the repository DB 5, the program is not actually in operation, delete the location information from the repository DB 5 (Step 606).
  • Thereafter, proceed to Step 605 to conduct the same processing as that of a case where the location information fails to exist in the repository DB 5.
  • FIG. 7 is a flow chart for use in explaining operation of repository registration processing according to the present embodiment.
  • With reference to FIG. 7, conduct data addition to the repository DB 5, or deletion or modification of the same in response to a request from an activated program at Step 701 (Step 701).
  • Return the results of the processing to a requesting source program (Step 702).
  • Next, description will be made of processing of starting a program which will provide service and processing of requesting service of the program.
  • FIG. 8 is a flow chart for use in explaining program activation processing according to the present embodiment. Main part of FIG. 1 will be referred to as necessary.
  • With reference to FIG. 8, the program first notifies by broadcasting that the service is started through the network 100 (Step 801).
  • Thereafter, wait for a reply from the repository service unit 35 (Step 802).
  • When receiving no reply, again return to Step 801 to notify that the service is started.
  • When receiving a reply from the repository service unit 35, store the location information of the repository service unit 35 (Step 803) to execute main processing of the service (Step 804).
  • FIG. 9 is a flow chart for use in explaining service requesting processing in a case where the program makes a request to other program according to the present embodiment.
  • With reference to FIG. 9, first, a requesting source program checks whether it has location information of required service (Step 901).
  • When having the location information of the required service, ask a program of the location information for required service (Step 903).
  • On the other hand, when failing to have the location information of the required service, ask the repository service unit 35 for location information of the service in question to obtain the same (Step 902).
  • Next, using the obtained location information, ask a program of the location information for service (Step 903).
  • After requesting, wait for a reply of the service (Step 904) and when receiving no reply, return to Step 902 to request location information of the service in question (Step 902).
  • When receiving a reply, end the service requesting processing.
  • In the following, operation according to the present embodiment will be described in detail with respect to a specific example of information.
  • FIG. 10 shows one example of data stored in the service provision information DB 31, the service provision information DB 11 and a service provision information DB 21 in FIG. 1 according to the present embodiment.
  • In the following, a flow of repository service activation will be described by using the service provision information DB 31 shown in FIG. 10. Since the following description will be made with reference to FIG. 2, the step numbers in FIG. 2 will be denoted in the description. In addition, the main part of FIG. 1 will be referred to as required.
  • First, start up the program starting unit 32 by the computer 3 in FIG. 1. Ordinarily, this processing is conducted automatically at the time of start-up of the computer 3.
  • Start the program starting unit 32 (Step 201) and then refer to the data in the service provision information DB 31 (Step 202).
  • The program starting unit 32 refers to the data of the service provision information DB 31 shown in FIG. 10 to obtain information that the repository service unit 35 “starts at the time of starting the computer”.
  • Next, the program starting unit 32 determines that the repository service unit 35 should be started (Step 203) to start the repository service unit 35 (Step 204).
  • Reference to the data of the service provision information DB 31 (Step 205) finds that there is no other service to be started (Step 206).
  • Thereafter, the program starting unit 32 starts main processing (Step 208).
  • Next, by using the data of the service provision information DB 11 shown in FIG. 10, a flow at the time of starting a program will be described. Since FIGS. 4, 5 and 8 will be referred to, the numbers of the figures and the step numbers will be denoted in the description. In addition, the main part of FIG. 1 will be referred to as required.
  • Reference to the data of the service provision information DB 11 finds that the program A13 is started by the program starting unit 12 at the time of starting the computer 1. When the program A13 is started on the computer 1, notification is given by broadcast that the program A13 is started (Step 801 in FIG. 8).
  • The repository service unit 35 waiting at a request reception state (Step 401 in FIG. 4) receives the notification that the program A13 is started.
  • In addition, confirming that the notification is about service activation (Step 402 in FIG. 4) to start the service activation reception processing (Step 403 in FIG. 4). The flow of the processing has been described in FIG. 5.
  • Record in the repository DB5 that the program A13 is started on the computer 1 (Step 501 in FIG. 5) to transmit the location information of the repository service unit 35 to the program A13 on the computer 1 (Step 502 in FIG. 5).
  • Upon receiving the notification (Step 802 in FIG. 8), the program A13 stores that the repository service unit 35 operates on the computer 3 (Step 803 in FIG. 8). Thereafter, shift to the main processing of the program (Step 804 in FIG. 8).
  • Next, as another specific example, by using the service provision information DB 21 shown in FIG. 10, description will be made of a flow of processing in which when a request is made to a program B24 of the service B yet to be started, the program B24 will be automatically started. Since the following description will be made with reference to FIGS. 3, 4, 6 and 9, the numbers of the respective figures and the step numbers will be denoted in the description. In addition, the main part of FIG. 1 will be referred to as required.
  • When a program A23 of the computer 2 makes a request for service to the program B24 yet to be started, the program A23 first checks the location of the program B24 (Step 901 in FIG. 9).
  • Since at this time point, the program A23 is yet to obtain the location of the program B24, it inquires of the repository service unit 35 about the location information of the service B (Step 902 in FIG. 9).
  • The repository service unit 35 accepts the request (Step 401 in FIG. 4).
  • Next, determine that the request is for location information inquiry to conduct location information inquiry processing (Step 404 in FIG. 4). The flow of this processing has been described in FIG. 6.
  • The repository service unit 35 searches the repository DB 5 to check whether the program of the service B is started or not (Step 601 in FIG. 6).
  • Since at this time point, the program of the service B is yet to be started, determination is made that the service B fails to exist (Step 602 in FIG. 6).
  • Next, search for a computer which can start the program of the service B by broadcast (Step 605 in FIG. 6).
  • On the computers 1, 2, 3 and 4, the program starting units 12, 22, 32 and 42 are operating to accept a request (Step 301 in FIG. 3).
  • Here, the service B determines whether the request is one for checking whether the program can be started or not (Step 306 in FIG. 3).
  • The program starting units 12, 22, 32 and 42 refer to the service provision information DBs 11, 21, 31 and 41 of the computers 1, 2, 3 and 4 in question, respectively (Step 307 in FIG. 3).
  • With reference to FIG. 10, since the service B exists only in the service provision information DB 21, only the program starting unit 22 of the computer 2 responds to the repository service unit 35.
  • Since what is obtained by the repository service unit 35 is data from the computer 2, make a request for activating the service B to the program starting unit 22 of the computer 2 (step 608 in FIG. 6).
  • As is already described, on the computers 1, 2, 3 and 4, the program starting units 12, 22, 32 and 42 are operating, respectively, to wait at a request reception state (Step 301 in FIG. 3).
  • The program starting unit 22 of the computer 2 receives a request for starting the program B 24 to refer to the service provision information DB 21 (Step 303 in FIG. 3).
  • Since the reference finds that the service B can be started (Step 304 in FIG. 3), start the program B24 (Step 305 in FIG. 3).
  • The repository service unit 35 having made the service B activation request replies to the program A23 of the computer 2 with the computer 2 as the location information of the service B (Step 609 in FIG. 6).
  • The program A23 receives the information (Step 902 in FIG. 9) to make a service request to the program B24 of the computer 2 (Step 903 in FIG. 9).
  • While the program A23 of the computer 2 receives a reply from the program B24 of the same computer 2 (Step 904 in FIG. 9), if no reply is received, return to Step 902 to repeat the same processing.
  • Thus, because seen from the side of the service A, activation of the service B is conducted irrespective of the program A23 of the service A, a service request can be made without considering location and an activation state of the service B.
  • Next, as another specific example, description will be made of a flow of processing conducted in a case where with the program A13 operating on the computer 1, the computer 1 develops a failure, so that with the service A stopped, the program B24 of the computer 2 makes a service request to a program of the service A. For the description with reference to FIGS. 9 and 10, the step numbers in FIG. 9 will be denoted in the description. The main part of FIG. 1 will be referred to as required.
  • The program B24 of the computer 2 has made a service request to the program A13 several times and obtains the fact that the program A13 is operating on the computer 1 as information (Step 901).
  • Therefore, make a request to the program A13 (Step 903). However, the computer 1 develops a failure, so that no reply is received from the program 13A which provides the service A.
  • Noticing no reply, the program B24 of the computer 2 (Step 904) returns to Step 902 to inquire of the repository service unit 35 about location information of the service A.
  • Reference to FIG. 10 finds that the program of the service A is operable only on the computer 1 and the computer 2. However, because the computer 1 has a failure, only the computer 2 is operable in practice. While the repository service unit 35 searches for a computer which can operate the service A, only the computer 2 responds, so that the unit makes a request for activating the program A23 to the computer 2 and replies to the program B24 with the location information of the program A23. The program B24 receives the information (Step 902) and makes a service request to the program A23 operating on the computer 2 (Step 903) to receive a reply (Step 904).
  • Thus, even when certain service stops due to a failure of a computer, if the service is operable on other computer, it is possible to continue the service provision.
  • Next, description will be made of a flow of preserving data in the repository DB 35 in FIG. 1 by the program. For the description with reference to FIGS. 4 and 7, the numbers of figures and the step numbers will be denoted in the description. In addition, the main part of FIG. 1 will be referred to as required.
  • The repository service waits at a request reception state (Step 401).
  • When the program makes a request for repository registration of data to the repository service unit 35, the repository service unit 35 starts repository registration processing (Step 405 in FIG. 4).
  • The repository service unit 35 stores data whose registration is requested in the repository DB 5 (Step 701 in FIG. 7).
  • Then, return a response to the requesting source that the storage processing succeeds or fails (Step 702 in FIG. 7).
  • By the program, always storing data required by the program itself into the repository DB 5 enables the program, which is re-started, to return to a state as of before re-start with ease.
  • The function of the repository service unit 35 of the computer 3 according to the present embodiment can be realized not only by hardware but also as software by executing, on the computer 3, a repository service control program (application) 50 which executes the above-described functions. The repository service control program 50 is stored in a magnetic disk, a semiconductor memory or other recording medium and loaded from the recording medium into the computer 3 as a computer processing device to control operation of the computer processing device, thereby realizing the above-described respective functions.
  • Although the present embodiment has been described with respect to a case where the repository service unit 35 is provided in the computer 3, the unit is not necessarily provided within a computer and can be provided outside a computer as long as it is within the system. In this case, location information of the repository service unit can be assigned a different number irrespective of location information of the computer.
  • According to the foregoing described embodiment, in a service providing system in which a program operating on a computer provides services to other computer through a network, because a computer which receives service is allowed to always obtain location information of a computer on which a program that provides the service operates, when the computer is not allowed to receive the service due to a failure, maintenance or the like of the computer which provides the information, the computer can receive the service continuously from an alternative computer.
  • Next, a second embodiment of the present invention will be described in detail with reference to the figures.
  • FIG. 11 is a block diagram showing a structure of a service providing system according to a second embodiment of the present invention.
  • The service provision information DB, the program starting unit and the program of each computer are the same as those of the first embodiment described with reference to FIG. 1 and these components are all the same in every computer.
  • The present embodiment has a structure different from that of the first embodiment shown in FIG. 1 in that repository service units 25, 35 and 45 are provided in a plurality of computers. Moreover, a data sharing unit 6, a monitoring unit 7, and monitoring service units 27 and 47 are additionally provided. In the following, additionally provided units will be described.
  • The data sharing unit 6 is a means which shares data of the respective repository service units 25, 35 and 45. In addition, the unit 6 provides the repository service units 25, 35 and 45 with a function of enabling the computers 2, 3 and 4 connected to the data sharing unit 6 to read/write from/to the repository DB 5. In other words, the repository DB 5 can be made read/written from the computers 2, 3 and 4 through the data sharing unit 6.
  • For the data sharing unit 6, existing techniques are used. Used, for example, are file sharing by NFS (Network File System), a disk which can be multi-path wired and an application function of a data base. The data sharing function enables the computers 2, 3 and 4 connected to the data sharing unit 6 to activate the repository service units 25, 35 and 45.
  • The monitoring service units 27 and 47 have the function of respectively monitoring the repository service unit 25 and the repository service unit 45 of the computers connected to the network and when detecting the unit being not operating, starting the repository service unit of the computer in which each unit is provided.
  • The monitoring unit 7 monitors the monitoring service units 27 and 47.
  • Next, operation of the present embodiment will be described in detail with reference to the drawings.
  • FIG. 12 is a flow chart for use in explaining processing of the monitoring unit 7 according to the present embodiment. The processing is started in another thread or another process at the time of starting the repository service units 25, 35 and 45.
  • First, using the function of repository service, search for monitoring service (Step 1201).
  • Check a search result (Step 1202) and when failing to find the monitoring service, return to Step 1201 to again search for monitoring service.
  • When the monitoring service is found, check whether the service is actually in operation (Step 1203).
  • When the service in not in operation, search for monitoring service (Step 1201).
  • When the service is in operation, continue checking operation (Step 1203).
  • Next, description will be made of activation processing and main processing of the monitoring service units 27 and 47. The activation processing prior to the main processing can be conducted in the same manner as that of the program activation processing shown in FIG. 8. In the following, the description will be made of the main processing.
  • FIG. 13 is a flow chart for use in explaining the main processing of the monitoring service units 27 and 47 according to the present embodiment. The main processing is equivalent to Step 804 in FIG. 8. In the following, the description will be made with respect to a case of the monitoring service unit 27.
  • With reference to FIG. 13, the monitoring service unit 27 continues checking whether the repository service units 25, 35 and 45 are in operation (Step 1301).
  • When the unit is not in operation, start the repository service 25 (Step 1302).
  • Thereafter, by broadcasting, the monitoring service unit 27 gives to the program starting units 12, 22, 32 and 42 an instruction to re-start all the services (Step 1303).
  • FIG. 14 is a flow chart for use in explaining a flow of initial processing of the repository service units 25, 35 and 45 according to the present embodiment. The initial processing is used when there exist a plurality of repository service units. In the following, the description will be made of a case of the repository service unit 25.
  • With reference to FIG. 14, the repository service unit 25 first searches for repository service unit by broadcasting (Step 1401).
  • Simultaneously, the monitoring unit 7 is started in another thread or another process.
  • The repository service unit 25 determines whether other repository service is in operation or not (Step 1402) and when it is already operating, ends the processing (Step 1405).
  • When no other repository service is in operation, start the monitoring service (Step 1403).
  • The repository service main processing to follow is the same as that in FIG. 4.
  • In the following, operation according to the present embodiment will be described in detail with respect to a specific example of data.
  • FIG. 15 shows one example of data to be stored in the service provision information DB 31, the service provision information DB 41 and the service provision information DB 21. With reference to FIG. 15, the repository service is provided by the computer 3 and the monitoring service is provided by the computers 4 and 2.
  • With the repository service unit 35 operating on the computer 3 and the monitoring service unit 47 operating on the computer 4, a condition in which the computer 3 develops a failure will be described. Because the description will be made with reference to FIGS. 12, 13 and 14, the figure numbers and the step numbers will be denoted in the description. In addition, the main part of FIG. 1 will be referred to as required.
  • When the computer 3 develops a failure, operation of the repository service unit 35 stops. The monitoring service unit 47 operating on the computer 4 senses operation stop of the repository service unit 35 (Step 1301 in FIG. 13) to start the repository service unit 45 (Step 1302 in FIG. 13).
  • The repository service unit 45 is activated (Step 1401 in FIG. 14).
  • Simultaneously, the monitoring unit 7 is started in another thread or another process.
  • Next, search for other repository service (Step 1402 in FIG. 14) to check whether repository service is operating on other computer (Step 1403 in FIG. 14).
  • Next, the monitoring service unit 47 which has started the repository service unit 45 gives to all the programs a re-start instruction (Step 1303 in FIG. 13).
  • As a result, location information of the repository service units stored in all the programs is updated from the computer 3 to the computer 4.
  • The first embodiment has a shortcoming that because the repository service unit 35 is provided only on the computer 3, repository service can not be provided when the computer 3 develops a failure. According to the present embodiment, provision of repository service and monitoring of repository service by a plurality of computers enable provision of repository service to be continued at the time of a failure of a computer, thereby enhancing the failure-resistant function of the service providing system.
  • The service providing system, the computer and the repository service control program according to the present invention achieve the following effects.
  • First, in a service providing system in which a program operating on a computer provides service to other computer through a network, because a computer which receives service is allowed to always obtain location information of a computer on which a program that provides the service operates, when the computer is not allowed to receive the service due to a failure, maintenance or the like of the computer which provides the information, the same service can be continuously received from an alternative computer.
  • Second, because in the above-described system, a computer which receives service is always allowed to obtain location information of a computer on which a program that provides the service operates, at the time of a failure, maintenance or the like of a computer which provides information, access to an alternative computer will be extremely easy which would be difficult when location information can not be obtained.
  • Although the invention has been illustrated and described with respect to exemplary embodiment thereof, it should be understood by those skilled in the art that the foregoing and various other changes, omissions and additions may be made therein and thereto, without departing from the spirit and scope of the present invention. Therefore, the present invention should not be understood as limited to the specific embodiment set out above but to include all possible embodiments which can be embodies within a scope encompassed and equivalents thereof with respect to the feature set out in the appended claims.

Claims (25)

1. A system of providing, through a network, service which is provided by a program executed on a computer to other computer, comprising:
a unit which provides said service that can not be provided by said computer from other computer than the computer in question; and
a repository service unit which provides service of managing location information for uniquely identifying, on said network, a computer on which predetermined said program operates.
2. The system as set forth in claim 1, wherein said repository service unit being provided in a specific computer among a plurality of said computers.
3. The system as set forth in claim 1, wherein
said repository service unit is provided in a specific computer among a plurality of said computers, and
said repository service unit conducts processing of replying, to a request from said program operating on any of said computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores said location information in response to a request from said program.
4. The system as set forth in claim 1, wherein
said repository service unit is provided in a specific computer among a plurality of said computers, and
said repository service unit further conducts processing of replying, to an inquiry from said program activated, with said location information of said computer having said repository service unit.
5. The system as set forth in claim 3, wherein
the processing of replying with said location information searches said repository data base for location information of a computer on which said predetermined program operates which information is inquired by a program operating on any of said computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
6. The system as set forth in claim 3, wherein
the processing of rewriting data of said repository data base rewrites the data of said repository data base in response to a request from said program and replies to said program with a result of rewriting.
7. The system as set forth in claim 3, wherein
the processing of making a service request by said program to other computer checks whether said program has location information of said other computer and when the program fails to have the information, requests said location information from said repository service unit.
8. The system as set forth in claim 1, wherein
said repository service unit being provided in a specific computer among a plurality of said computers, and
said plurality of computers each include a program starting unit which starts a program that provides said service and a service provision information data base which stores information about a kind of said service and information about a kind of service to be started at the time of starting said computer.
9. The system as set forth in claim 8, wherein
said program starting unit is started simultaneously with activation of said computer.
10. The system as set forth in claim 8, wherein
said program starting unit is started simultaneously with activation of said computer, and
processing of starting said program starting unit refers to information of said service provision information data base and when activation is necessary, starts said repository service unit and when there exists other program required to be started, starts the program in question.
11. The system as set forth in claim 8, wherein
said program starting unit is started simultaneously with activation of said computer, and
main processing of said program starting unit includes processing of, after accepting a request from programs of said plurality of computers, referring to said service provision information data base to determine whether service corresponding to said request can be started or not and when the service can be started, starting or re-starting a program which provides the service in question.
12. The system as set forth in claim 1, wherein
said repository service unit being provided in a part of computers among a plurality of said computers.
13. The system as set forth in claim 12, wherein
a monitoring service unit which monitors operation of said repository service unit is provided in said part of computers.
14. The system as set forth in claim 12, wherein
a monitoring service unit which monitors operation of said repository service unit is provided in said part of computers, and which further comprises:
a monitoring unit which monitors operation of said monitoring service unit, and
a data sharing unit for sharing location information data managed by said repository service unit among the computers.
15. The system as set forth in claim 14, wherein
processing of said monitoring unit searches said monitoring service unit to continue checking operation of said monitoring service unit.
16. The system as set forth in claim 12, wherein
a monitoring service unit which monitors operation of said repository service unit is provided in said part of computers, and
processing of said monitoring service unit monitors said repository service unit provided at said part of computers and when none of said repository service units operates, starts any of the repository service units.
17. The system as set forth in claim 12, wherein
a monitoring service unit which monitors operation of said repository service unit is provided in said part of computers, and
initial processing of said repository service unit refrains from starting said repository service unit when other repository service unit operates.
18. A computer which executes a program that provides service through a network, comprising:
a repository service unit which provides service of managing location information for uniquely identifying, on said network, a computer on which predetermined said program operates, wherein
said repository service unit conducts processing of replying, to a request from said program operating on any of said computers, with location information of a computer which activates a predetermined program and processing of rewriting data of a repository data base which stores said location information in response to a request from said program.
19. The computer as set forth in claim 18, wherein
said repository service unit further conducts processing of replying, to an inquiry from said program activated, with said location information of said computer having said repository service unit.
20. The computer as set forth in claim 18, wherein
the processing of replying with said location information searches said repository data base for location information of a computer on which said predetermined program operates which information is inquired by a program operating on any of said computers and when service by the program in question is in operation, replies to the program having made an inquiry with location information of the computer on which the program in question operates.
21. The computer as set forth in claim 18, wherein
the processing of rewriting data of said repository data base rewrites the data of said repository data base in response to a request from said program and replies to said program with a result of rewriting.
22. The computer as set forth in claim 18, further comprising:
a program starting unit which starts a program that provides said service, and a service provision information data base which stores information about a kind of said service and information about a kind of service to be started at the time of starting said computer.
23. The computer as set forth in claim 22, wherein processing of starting said program starting unit refers to information of said service provision information data base and when activation is necessary, starts said repository service unit and when there exists other program required to be started, starts the program in question.
24. A repository service control program executed on a computer on which a program operates that provides service through a network, comprising the function of:
a function of providing service of managing location information for uniquely identifying, on said network;
a function of replying, to a request from a program operating on any of computers connected to said network, with location information of a computer which activates a predetermined program; and
a function of rewriting data of a repository data base which stores said location information in response to a request from said program.
25. The repository service control program as set forth in claim 24, further comprising
a function of replying, to an inquiry from said program activated, with said location information of said computer having said repository service unit.
US11/033,664 2004-01-15 2005-01-13 Service providing system, computer which executes program providing service and repository service control program Abandoned US20050165728A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/979,306 US7778991B2 (en) 2004-01-15 2007-11-01 Service providing system, computer which executes program providing service and repository service control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004008518A JP2005202698A (en) 2004-01-15 2004-01-15 Service provision system, computer, and repository service control program
JP2004-008518 2004-01-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/979,306 Continuation US7778991B2 (en) 2004-01-15 2007-11-01 Service providing system, computer which executes program providing service and repository service control program

Publications (1)

Publication Number Publication Date
US20050165728A1 true US20050165728A1 (en) 2005-07-28

Family

ID=34792233

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/033,664 Abandoned US20050165728A1 (en) 2004-01-15 2005-01-13 Service providing system, computer which executes program providing service and repository service control program
US11/979,306 Expired - Fee Related US7778991B2 (en) 2004-01-15 2007-11-01 Service providing system, computer which executes program providing service and repository service control program

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/979,306 Expired - Fee Related US7778991B2 (en) 2004-01-15 2007-11-01 Service providing system, computer which executes program providing service and repository service control program

Country Status (2)

Country Link
US (2) US20050165728A1 (en)
JP (1) JP2005202698A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184340A1 (en) * 2007-01-30 2008-07-31 Seiko Epson Corporation Application Execution System, Computer, Application Execution Device, And Control Method And Program For An Application Execution System

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5341317B2 (en) * 2007-01-30 2013-11-13 セイコーエプソン株式会社 Application execution system, computer, application execution method and program for application execution system
JP5494710B2 (en) * 2012-04-10 2014-05-21 セイコーエプソン株式会社 Application execution system, application execution method and program for application execution system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023441A1 (en) * 2000-02-16 2001-09-20 Fumihiko Nishio Service providing apparatus, transmitting apparatus, receiving apparatus, and receiving method
US20020073146A1 (en) * 2000-12-13 2002-06-13 Mathias Bauer Method and apparatus of selecting local or remote processing
US20030110170A1 (en) * 2001-12-07 2003-06-12 Fujitsu Limited Delivery noticing method, delivery noticing system, central apparatus, server computer and recording medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07311745A (en) 1994-05-19 1995-11-28 Toshiba Corp Distributed processing system
JPH09223031A (en) 1996-02-19 1997-08-26 Nippon Steel Corp Program control method and device therefor
JPH1125060A (en) 1997-06-30 1999-01-29 Oki Electric Ind Co Ltd Distributed processing system
JP3062155B2 (en) 1998-07-31 2000-07-10 三菱電機株式会社 Computer system
JP2001022709A (en) 1999-07-13 2001-01-26 Toshiba Corp Cluster system and computer-readable storage medium storing program
JP2003256390A (en) 2002-02-27 2003-09-12 Mitsubishi Electric Corp Distributed object system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010023441A1 (en) * 2000-02-16 2001-09-20 Fumihiko Nishio Service providing apparatus, transmitting apparatus, receiving apparatus, and receiving method
US20020073146A1 (en) * 2000-12-13 2002-06-13 Mathias Bauer Method and apparatus of selecting local or remote processing
US20030110170A1 (en) * 2001-12-07 2003-06-12 Fujitsu Limited Delivery noticing method, delivery noticing system, central apparatus, server computer and recording medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184340A1 (en) * 2007-01-30 2008-07-31 Seiko Epson Corporation Application Execution System, Computer, Application Execution Device, And Control Method And Program For An Application Execution System
US9167030B2 (en) 2007-01-30 2015-10-20 Seiko Epson Corporation Application execution system, computer, application execution device, and control method and program for an application execution system

Also Published As

Publication number Publication date
US7778991B2 (en) 2010-08-17
JP2005202698A (en) 2005-07-28
US20080071729A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
US7770064B2 (en) Recovery of application faults in a mirrored application environment
US20080294764A1 (en) Storage medium bearing hba information provision program, hba information provision method and hba information provision apparatus
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
CN100485676C (en) Apparatus, system, and method for file system serialization reinitialization
US8230191B2 (en) Recording medium storing allocation control program, allocation control apparatus, and allocation control method
US7603449B1 (en) System and method for inquiry caching
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US20090024768A1 (en) Connection management program, connection management method and information processing apparatus
US7778991B2 (en) Service providing system, computer which executes program providing service and repository service control program
JP2000148683A (en) On-line system, data transmission managing method for the on-line system, and recording medium where program for managing data transmission is recorded
US6266697B1 (en) System automatically maintaining client under control of client, and a recording medium therefor
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JP4305475B2 (en) Computer system, management computer, and computer selection method
JP2003006170A (en) Method for performing program in environment of plural computers
US7536422B2 (en) Method for process substitution on a database management system
CN112839099A (en) Distributed byte lock detection control method and device
US20050289385A1 (en) Method and system for managing of job execution
EP1107119A2 (en) Extending cluster membership and quorum determinations to intelligent storage systems
US6883010B2 (en) Facilitating failover to a secondary file server in a highly available file system
US7043735B2 (en) System and method to dynamically select and locate server objects based on version information of the server objects
CN111209096B (en) Information processing apparatus and information processing method
JP4095212B2 (en) Data storage device
US7770054B2 (en) Apparatus, system, and method to prevent queue stalling
JP2000003271A (en) Software managing device and computer readable recording medium for recording program
KR0160353B1 (en) Method of loading using multiple memory buffer in full electronic switching system

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AOSAWA, TAKASHI;REEL/FRAME:015654/0105

Effective date: 20050105

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION