Information Systems

The information system addresses the issue of service server failures by implementing a network of service servers and a management server that enables seamless transfer of terminal devices, ensuring continuous service and system resilience.

JP7675430B2Active Publication Date: 2025-05-13DIARKIS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021127166
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-08-03
Publication Date
2025-05-13
Estimated Expiration
2040-07-31

AI Technical Summary

Technical Problem

Existing information systems are not resistant to failures in service servers that provide services to terminal devices, leading to disruptions in services when a game server goes down.

Method used

An information system comprising two or more service servers and a management server that store and manage state information, allowing for seamless transfer of terminal devices to another service server when the first condition is met, thereby ensuring continuous service.

Benefits of technology

The system ensures that services can continue uninterrupted even if a service server fails, by automatically transferring terminal devices to another service server, thus enhancing system resilience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007675430000001
    Figure 0007675430000001
  • Figure 0007675430000002
    Figure 0007675430000002
  • Figure 0007675430000003
    Figure 0007675430000003
Patent Text Reader

Abstract

Conventionally, it has not been possible to provide an information system that is resistant to failures in service servers. [Solution] An information system that is resistant to failures of a service server can be provided by an information system that includes a self-status storage unit in which its own status information is stored, an other-status storage unit in which status information of other service servers is stored, a service unit that provides services to terminal devices, a status transmission unit that transmits its own status information to a management server, a status reception unit that receives other status information from the management server, a first judgment unit that judges whether its own status information satisfies a first condition, and a transfer processing unit that, if it is determined that the first condition is met, performs a transfer process that allows any one or more terminal devices to which the service unit provides a service to receive a service from another service server.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information system that provides services to a plurality of terminal devices. [Background technology]

[0002] Conventionally, there have been systems that provide a mechanism for multiple players to easily enjoy the same game via a communication network (see Patent Document 1).

[0003] A game server constituting such a system is connected to a plurality of game terminals via a communication network. When a second game terminal making a group request with the same room ID as the first game terminal is not present within a predetermined distance from a first game terminal that has transmitted a group request, the game server opens an area room corresponding to the first game terminal, and when such a second game terminal is present, associates the first game terminal with the area room to which the second game terminal is associated. When matching between a plurality of game terminals is established in the area room, common game setting information is provided to the game terminals associated with the area room. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2020-110674 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, in the conventional technology, it has not been possible to provide an information system that is resistant to failures in the service server that provides services to terminal devices. In other words, in the conventional technology, for example, if a game server goes down, the provision of a game service to terminal devices cannot be continued. [Means for solving the problem]

[0006] The information system of the first invention is an information system comprising two or more service servers providing services to one or more terminal devices and a management server, wherein the service server comprises a self-status storage unit in which its own status information relating to the status of the service server is stored, an other-status storage unit in which one or more other status information relating to the statuses of other service servers is stored, a service unit providing services to one or more terminal devices, a status transmission unit which transmits its own status information to the management server, a status receiving unit which receives the one or more other status information from the management server, an other-status storage unit which accumulates the one or more other status information received by the status receiving unit in the other-status storage unit, a first judgment unit which judges whether its own status information satisfies a first condition, and a transfer processing unit which performs a transfer process which is a process for any one or more terminal devices to which the service unit provides a service to receive a service from another service server when the first judgment unit judges that the first condition is satisfied, and the management server comprises a management receiving unit which receives its own status information from each of the two or more service servers, and a management transmitting unit which transmits to each of the two or more service servers at least one other status information which is not status information of the destination service server, out of the two or more pieces of its own status information received by the management receiving unit.

[0007] With this configuration, it is possible to provide an information system that is resistant to failures in the service servers that provide services to the terminal devices.

[0008] In addition, the information system of the second invention is an information system in which, compared to the first invention, the transfer processing unit is equipped with a transfer server determination means which uses one or more other status information to determine another service server from which any one or more terminal devices to which the service unit is providing service will receive service, and a transfer processing means which performs transfer processing so that any one or more terminal devices to which the service unit is providing service can receive service from the other service server determined by the transfer server determination means.

[0009] With this configuration, it is possible to provide an information system that is resistant to failures in the service servers that provide services to the terminal devices.

[0010] Furthermore, the information system of the third invention is an information system in which, compared to the first or second invention, the transfer processing unit is equipped with a transfer request receiving means for receiving a transfer request including terminal service information, which is information associated with a terminal identifier and is information regarding the status of the terminal device for which the service unit is providing a service, and a communication initiation means for initiating communication with the terminal device identified by the terminal identifier corresponding to the transfer request, and the service unit uses the terminal service information included in the transfer request to provide a service to the terminal device identified by the terminal identifier corresponding to the transfer request.

[0011] With this configuration, it is possible to provide an information system that is resistant to failures in the service servers that provide services to the terminal devices.

[0012] Furthermore, the information system of the fourth invention is an information system in which, compared to any one of the first to third inventions, the status sending unit also sends specific information identifying the latest version of the one or more other status information received by the status receiving unit to the management server, the management receiving unit also receives the specific information from the service server, and when the version indicated by the specific information received by the management receiving unit does not match the version corresponding to the latest two or more status information received by the management receiving unit, the management sending unit sends the one or more other status information to each of two or more service servers.

[0013] With this configuration, the amount of communication between the service server and the management server can be reduced.

[0014] In addition, the information system of the fifth invention is an information system according to any one of the first to fourth inventions, in which the status receiving unit receives status information of all two or more service servers from the management server, and the management transmitting unit transmits all of the self-status information of the two or more service servers received by the management receiving unit to each of the two or more service servers.

[0015] With this configuration, the amount of processing on the management server can be reduced.

[0016] In addition, the information system of the sixth invention is an information system in which, compared to any one of the first to fifth inventions, the status transmission unit transmits its own status information to the management server on an approximately regular basis, and the management transmission unit transmits one or more other status information to each of two or more service servers on an approximately regular basis.

[0017] With this configuration, the amount of communication between the service server and the management server can be reduced.

[0018] In addition, the information system of the seventh invention is an information system in which, with respect to any one of the first to sixth inventions, the service server further comprises a status update unit that acquires the service server's own status information and stores it in the self-status storage unit.

[0019] With this configuration, the self-status information can be updated.

[0020] In addition, the information system of the eighth invention is an information system according to any one of the first to seventh inventions, in which the service server further includes a down unit that performs down processing to go down when the second condition is satisfied.

[0021] With this configuration, the service server can be shut down appropriately.

[0022] In addition, the information system of the ninth invention is an information system in which, compared to the eighth invention, the down unit performs down processing after the transfer processing unit has completed transfer processing for all terminal devices to which the service unit is providing services.

[0023] With this configuration, before shutting down the service server, the terminal device to which the service is provided is transferred to another service server, so that the service server can be shut down appropriately.

[0024] Furthermore, the information system of the tenth invention is an information system according to any one of the first to ninth inventions, in which the service server further includes a request receiving unit that receives a request from a terminal device, and the first judgment unit refers to its own status information and judges whether the request satisfies a first condition.

[0025] With this configuration, the terminal device to which the service is to be provided can be appropriately transferred to another service server.

[0026] In addition, the information system of the eleventh invention is an information system according to any one of the first to tenth inventions, wherein the service server further includes a startup unit that performs a startup process to start up a dormant service server when a third condition is satisfied.

[0027] With this configuration, the service server can be started appropriately.

[0028] In addition, the information system of the twelfth invention is an information system in which the service server further includes a user attribute value receiving unit that receives one or more user attribute values ​​from a terminal device, a grouping unit that acquires two or more terminal identifiers that identify terminal devices that satisfy attribute value conditions corresponding to the one or more user attribute values ​​received by the user attribute value receiving unit and acquires a group list having the two or more terminal identifiers, and a group list sending unit that sends the group list to the terminal device.

[0029] With this configuration, groups of terminal devices can be created appropriately.

[0030] Furthermore, the information system of the thirteenth invention is an information system in which, compared to the twelfth invention, the grouping unit comprises a request sending means for sending a terminal selection request including one or more user attribute values ​​received by the user attribute value receiving unit to one or more other service servers, a terminal identifier receiving means for receiving terminal identifiers of one or more terminal devices that satisfy the attribute value condition in response to the sending of the terminal selection request, and a group list constructing means for constructing a group list including the one or more terminal identifiers received by the terminal identifier receiving means.

[0031] With this configuration, groups of terminal devices can be created more appropriately.

[0032] In addition, the information system of the fourteenth invention is an information system further comprising a user attribute value storage unit that stores one or more user attribute values ​​of a terminal device for which the service unit provides a service in correspondence with a terminal identifier, and a selection request receiving unit that receives a terminal selection request from another service server, and the grouping unit further comprises terminal selection means that selects one or more terminal devices corresponding to the user attribute values ​​that match the terminal selection request received by the selection request receiving unit from among the terminal devices for which the service unit provides a service, and acquires a terminal identifier that identifies each of the one or more terminal devices 4, and terminal identifier transmission means that transmits the one or more terminal identifiers acquired by the terminal selection means to the service server that sent the terminal selection request.

[0033] With this configuration, groups of terminal devices can be created more appropriately.

[0034] The information system of a fifteenth aspect of the present invention is an information system according to any one of the first to fourteenth aspects of the present invention, in which the service provided by the service server to one or more terminal devices is a game.

[0035] With this configuration, even if a failure occurs in one of the service servers that provides services to the terminal device, the user can continue to enjoy the game. Effect of the Invention

[0036] According to the information system of the present invention, it is possible to provide an information system that is resistant to failures in the service server that provides services to terminal devices. [Brief description of the drawings]

[0037] [Figure 1] Conceptual diagram of information system A in embodiment 1. [Diagram 2] Block diagram of Information System A [Diagram 3] Block diagram of the service server 1 that constitutes the information system A [Figure 4] A flowchart for explaining an example of the operation of the service server 1. [Diagram 5] A flowchart illustrating an example of the first determination process. [Figure 6] A flowchart illustrating an example of the transfer process. [Figure 7] A flowchart illustrating an example of the list configuration process. [Figure 8] A flowchart illustrating an example of the terminal selection process [Figure 9] A flowchart illustrating an example of the down process. [Figure 10] A flowchart for explaining an example of the transfer process. [Figure 11] A flowchart for explaining an example of the operation of the management server 2. [Figure 12] A flowchart for explaining an example of the operation of the external server 3. [Figure 13] A flowchart for explaining an example of the operation of the terminal device 4 [Figure 14] Overview of the computer system [Figure 15] Block diagram of the computer system DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0038] Hereinafter, an embodiment of an information system and the like will be described with reference to the drawings. In the embodiments, components with the same reference numerals perform similar operations, so that repeated description may be omitted.

[0039] (Embodiment 1) In this embodiment, an information system including two or more service servers and a management server will be described. The service server provides services to one or more terminal devices and transmits status information to the management server. The service server also receives status information of other service servers from the management server. The management server receives status information from each service server and transmits status information of other service servers to each service server. As a result, each service server also manages status information of other service servers. When the status information of one service server satisfies a first condition, the service server refers to the status information of the other service servers, and determines another service server from which a terminal device receiving a service from the one service server or a terminal device that has accessed the one service server should receive a service, and performs a transfer process for the one terminal device to receive a service from the other service server. Note that various methods and the like are possible for the communication method between the service server and the management server, the frequency of communication, and the like. Furthermore, the service server normally updates its own status information frequently or constantly.

[0040] In addition, in this embodiment, an information system will be described that performs processing for shutting down a service server when the service server satisfies the second condition.

[0041] In addition, in this embodiment, an information system will be described that performs processing for activating a suspended service server when the service server satisfies a third condition.

[0042] In this embodiment, an information system that performs matchmaking between two or more terminal devices will be described.

[0043] Furthermore, in this embodiment, an information system further comprising an external server that controls the start-up and shutdown of the service server will be described.

[0044] 1 is a conceptual diagram of an information system A according to the present embodiment. The information system A includes two or more service servers 1, a management server 2, an external server 3, and two or more terminal devices 4.

[0045] The service server 1 is a server that provides a service to the terminal device 4. Any service may be provided by the service server 1. The service may be, for example, a game. That is, a user of the terminal device may play a game using the service server 1 and the management server 2. However, the service provided by the service server 1 to the terminal device 4 is not limited to a game. The service provided by the service server 1 to the terminal device 4 may be, for example, an information display service using AR (Augmented Reality), an information display service using VR (Virtual Reality), chat, or TV conferencing, and the content of the service may be of any type.

[0046] The management server 2 is a server that manages the status of each of the two or more service servers 1. The management server 2 receives status information from each of the two or more service servers 1, and transmits status information of the other service servers 1 to each service server 1. The status information transmitted by the management server 2 may be a group of status information that is status information of all the service servers 1.

[0047] The external server 3 is a server that receives status information of each of two or more service servers 1 and transmits a shutdown instruction or a startup instruction to the service server 1. Note that the status information received by the management server 2 and the status information received by the external server 3 do not need to be the same type of information.

[0048] The terminal device 4 is a terminal that receives the provision of a service. The terminal device 4 is usually a terminal that receives the provision of a service from the service server 1.

[0049] The service server 1, management server 2, and external server 3 are, for example, an ASP server, a cloud server, etc. However, the service server 1, management server 2, and external server 3 may be of any type.

[0050] The terminal device 4 may be, for example, a so-called personal computer, a tablet terminal, a smartphone, or the like, and the type of the terminal device 4 is not important.

[0051] Two or more service servers 1, a management server 2, an external server 3, and two or more terminal devices 4 are typically capable of communicating with each other via a network such as the Internet or a LAN.

[0052] Fig. 2 is a block diagram of an information system A in this embodiment. Fig. 3 is a block diagram of a service server 1 constituting the information system A.

[0053] The service server 1 includes a storage unit 11, a processing unit 12, a transmission unit 13, and a reception unit 14. The storage unit 11 includes a self state storage unit 111, a other state storage unit 112, a terminal service information storage unit 113, and a user attribute value storage unit 114, for example.

[0054] The processing unit 12 includes, for example, a service unit 121, a status update unit 122, a different status accumulation unit 123, a first judgment unit 124, a transfer processing unit 125, a down unit 126, a startup unit 127, and a grouping unit 128. The transfer processing unit 125 includes, for example, a transfer server determination means 1251, a transfer processing means 1252, a transfer request receiving means 1253, a terminal service information accumulation means 1254, and a communication start means 1255. The grouping unit 128 includes, for example, a request sending means 1281, a terminal identifier receiving means 1282, a group list configuration means 1283, a terminal selection means 1284, and a terminal identifier sending means 1285. The sending unit 13 includes, for example, a status sending unit 131, and a group list sending unit 132. The receiving unit 14 includes, for example, a status receiving unit 141, a request receiving unit 142, a user attribute value receiving unit 143, and a selection request receiving unit 144.

[0055] The management server 2 includes a management storage unit 21, a management receiving unit 22, a management processing unit 23, and a management transmitting unit 24.

[0056] The external server 3 includes an external storage unit 31, an external receiving unit 32, an external processing unit 33, and an external transmitting unit .

[0057] The terminal device 4 includes a terminal storage unit 41, a terminal reception unit 42, a terminal processing unit 43, a terminal transmission unit 44, a terminal reception unit 45, and a terminal output unit 46.

[0058] Various types of information are stored in the storage unit 11 constituting the service server 1. The various types of information include, for example, state information (to be described later), terminal service information (to be described later), user attribute values ​​(to be described later), attribute value conditions (to be described later), a service server identifier of the server itself, and one or more other service server identifiers.

[0059] The service server identifier is information for identifying the service server 1. The service server identifier is, for example, an ID, an IP address, or a MAC address. However, the service server identifier may be any information that can identify the service server 1.

[0060] Own status information is stored in the self status storage section 111. The status information is information relating to the status of the service server 1. The self status information is status information of the service server 1 itself.

[0061] The state is one or both of two types of state: a static state, which is information that does not change constantly, and a dynamic state, which can change almost constantly. In other words, the state information is static state information, dynamic state information, or both static state information and dynamic state information.

[0062] The static state information is, for example, processing target information and processing capacity information. The processing target information is information that specifies the services that the service server 1 can provide. The processing target information may be considered as information that specifies the range of services that the service server 1 can handle. The processing target information is, for example, a command identifier that identifies a processable command, a room identifier that identifies a room of a game for which the service can be provided, and a stage identifier that identifies a stage of a game for which the service can be provided. The processing capacity information is information that specifies the processing capacity of the service server 1. The processing capacity information is, for example, the maximum number of terminal devices 4 that can provide the service, and information indicating the processor capacity (for example, the CPU clock speed and number of cores). Note that the static state information is, for example, information received by the receiving unit 14 from the terminal device 4 of the system administrator and accumulated by the processing unit 12.

[0063] The dynamic state information is, for example, load information. The load information is information related to the load of the service server 1. The load information is, for example, the number of terminals, the processor operation rate (e.g., CPU operation rate), and the load level. The number of terminals is the number of terminal devices 4 to which the service server 1 provides a service.

[0064] The other state storage unit 112 stores one or more other state information. The other state information is state information of the other service server 1. Usually, the self state information and the other state information are the same type of information. The other state information usually corresponds to the other service server identifier of the other service server 1.

[0065] The terminal service information storage unit 113 stores terminal service information for one or more terminal devices 4. The terminal service information is usually associated with a terminal identifier that identifies the terminal device 4. Each of the one or more terminal devices 4 is a terminal device for which the service unit 121 provides a service. The terminal identifier is information that identifies the terminal device 4. The terminal identifier may be a user identifier that identifies a user who uses the terminal device 4. The terminal identifier is, for example, an ID, an IP address, a MAC address, a telephone number, a user ID, or an email address.

[0066] The terminal service information is information about the terminal device 4 providing the service. The terminal service information is information about the status of the terminal device 4 for which the service unit 121 is providing the service. The terminal service information is, for example, information about the status of a game in progress. The terminal service information is, for example, information for enabling the restart of a game. The terminal service information is, for example, information for identifying information or a scene output in VR. The terminal service information is, for example, information for identifying information or a scene output in AR. The terminal service information includes, for example, a terminal identifier for identifying the terminal device 4 of the other party in a chat and the contents of the chat so far.

[0067] The user attribute value storage unit 114 stores one or more user attribute values ​​for one or more users. The one or more users are users who use one or more terminal devices 4. The one or more user attribute values ​​are associated with a terminal identifier. The one or more terminal devices 4 are terminal devices for which the service unit 121 provides services. The user attribute value is an attribute value of a user. The user attribute value is, for example, a user's game level, name, gender, age, an identifier of the organization to which the user belongs (for example, company name, company ID), etc. The user attribute value may be any information related to the user.

[0068] The processing unit 12 performs various types of processing. The various types of processing are, for example, processing performed by a service unit 121, a status update unit 122, a different status accumulation unit 123, a first determination unit 124, a transfer processing unit 125, a down unit 126, a startup unit 127, and a grouping unit 128.

[0069] The processing unit 12 determines, for example, whether a second condition, which will be described later, is satisfied. Also, the processing unit 12 determines, for example, whether a third condition, which will be described later, is satisfied.

[0070] The processing unit 12, for example, associates the one or more received user attribute values ​​with the terminal identifier and stores them in the user attribute value storage unit 114. The one or more user attribute values ​​are received, for example, by the user attribute value receiving unit 143. The one or more user attribute values ​​are included, for example, in the received request.

[0071] The service unit 121 provides a service to one or more terminal devices 4. As described above, the content of the service is not important. The service may be, for example, a game, VR, AR, or the like.

[0072] The service unit 121 normally provides a service to one or more terminal devices 4, acquires terminal service information including the results of the provision of the service, and stores the terminal service information in the terminal service information storage unit 113 in pairs with the terminal identifier. Note that the contents and data structure of the terminal service information normally differ depending on the service. Also, the process by which the service unit 121 provides a service and acquires the terminal service information can be realized by various known technologies.

[0073] Providing a service means, for example, performing processing in response to a request received from the terminal device 4. The result of such processing is transmitted to the terminal device 4, for example.

[0074] The status update unit 122 acquires the service server 1's own status information and stores it in the own status storage unit 111. The status update unit 122, for example, constantly acquires the own status information and stores it in the own status storage unit 111. The status update unit 122, for example, periodically acquires the status information and stores it in the own status storage unit 111. There is no restriction on the timing at which the status update unit 122 updates the status information. Furthermore, periodically acquiring information may be considered to include constantly acquiring information. The purpose of periodically acquiring information is that it is sufficient to acquire information approximately periodically, and the intervals at which the information is acquired may vary slightly.

[0075] The status update unit 122 acquires, for example, the number of terminals, which is the number of terminal devices 4 providing the service. The status update unit 122 acquires, for example, the operating rate of a processor. The technology for acquiring the number of terminals and the operating rate of a processor is well known, and therefore detailed description thereof will be omitted.

[0076] As a result of the update process performed by the state update section 122, the self state storage section 111 normally stores the latest state information of the device itself.

[0077] Other status accumulation unit 123 accumulates one or more pieces of other status information received by status receiving unit 141 in other status storage unit 112. Other status accumulation unit 123 accumulates one or more pieces of status information received by status receiving unit 141 in other status storage unit 112 in association with a service server identifier. Other status accumulation unit 123 normally accumulates all of the status information received by status receiving unit 141 in other status storage unit 112. It is possible that the state information of the unit itself is included in all of the status information.

[0078] As a result of the processing by the other status accumulation unit 123, the other status storage unit 112 normally stores the latest status information of one or more other service servers 1 in association with the service server identifier.

[0079] The first determination unit 124 determines whether or not its own status information satisfies a first condition. For example, the first determination unit 124 determines whether or not the first condition is satisfied using only its own status information.

[0080] The first condition is a condition for transferring the terminal device 4 that has sent a request to another service server 1. The first condition is a condition for transferring the terminal device 4 currently receiving a service or the terminal device 4 that has newly accessed to another service server 1.

[0081] The first determination unit 124 determines, for example, whether the number of terminals contained in its own status information satisfies a first condition. In this case, the first condition is, for example, "the number of terminals is equal to or less than a threshold", "the number of terminals is less than a threshold", "the ratio of the number of terminals to the number of terminal devices 4 supported by all service servers 1 (hereinafter, appropriately referred to as "total number of terminals") is equal to or less than a threshold", "the ratio of the number of terminals to the total number of terminals is less than a threshold", or "the number of terminals is so large as to satisfy a predetermined condition compared with the number of terminals that the service server can support (for example, the same or greater, etc.)".

[0082] The first determination unit 124 determines whether or not a first condition is satisfied by using, for example, its own status information and the received request. The first determination unit 124 determines whether or not a request satisfies the first condition by referring to, for example, its own status information.

[0083] The first determination unit 124, for example, determines whether or not the processing target information held by the request is included in the processing target information held by its own status information (whether or not the service unit 121 is able to provide the service corresponding to the request). In this case, the first condition is that "the processing target information held by the request is not included in the processing target information held by its own status information." For example, as the game progresses and the game reaches the next stage, the first determination unit 124 determines that the processing target information held by the request transmitted from the terminal device 4 is not included in the processing target information held by its own status information.

[0084] The first determination unit 124, for example, determines that the processing of the current stage in the service being provided (for example, a game) has been completed. In this case, the first condition is, for example, that the processing of one stage has been completed, or that it has become necessary to move to another room in the game. In this case, the storage unit 11 stores, for example, information for determining the processing of the stage of the service (for example, a game).

[0085] The transfer processing unit 125 performs a transfer process. The transfer process is a process for one or more terminal devices to which the service unit 121 provides a service to receive a service from another service server. The transfer process is, for example, a process for one or more terminal devices 4 to which the service unit 121 provides a service to receive a service from another service server 1 determined by the transfer server determination means 1251.

[0086] The transfer process is, for example, a process of acquiring terminal service information corresponding to the terminal identifier of the terminal device 4 to be transferred from the terminal service information storage unit 113, and transmitting the terminal service information to the transfer destination service server 1. The transfer process also includes, for example, a process of disconnecting communication with the terminal device 4 to be transferred. The process of transmitting to the transfer destination service server 1 is a process of transmitting to the service server 1 identified by another service server identifier acquired by the transfer server determination means 1251, using the service server identifier acquired by the transfer server determination means 1251.

[0087] The transfer server determination means 1251 determines the transfer destination service server 1 by using one or more other state information. The transfer destination service server 1 is the service server 1 that is to provide the service to the terminal device 4.

[0088] The transfer server determination means 1251 uses one or more other status information to determine, for example, another service server 1 from which any one or more terminal devices 4 will receive service among one or more terminal devices 4 to which the service unit 121 is providing service.

[0089] The transfer server determination means 1251 uses one or more other state information to determine, for example, another service server 1 from which the terminal device 4 from which the access is initiated should receive a service. The terminal device 4 from which the access is initiated is usually the terminal device 4 that has sent the first request among a series of one or more requests.

[0090] The transfer server determination means 1251 normally determines another service server 1 from which the terminal device 4 should receive a service when the first judging unit 124 judges that the first condition is satisfied.

[0091] The determined other service server 1 is, for example, a service server 1 capable of handling a request from the terminal device 4. The transfer server determination means 1251 determines, for example, a service server 1 capable of providing a service corresponding to the processing target information included in the received request as the transfer destination service server 1. The transfer server determination means 1251 detects, for example, other state information including processing target information corresponding to the processing target information included in the received request from the other state storage unit 112, and acquires the other service server identifier paired with the other state information.

[0092] The transfer server determination means 1251 determines, for example, from among the service servers 1 capable of providing a service corresponding to the processing target information included in the received request, the service server 1 corresponding to other status information with the smallest load indicated by the load information as the service server 1 to which the service is to be transferred.

[0093] The transfer processing means 1252 performs a transfer process for allowing one or more terminal devices to which the service unit 121 provides a service to receive a service from another service server 1 determined by the transfer server determination means 1251 .

[0094] The transfer processing means 1252, for example, acquires the terminal identifier of the terminal device 4 to be transferred. The transfer processing means 1252 also acquires terminal service information paired with the terminal identifier from the terminal service information storage unit 113. Next, the transfer processing means 1252 configures a transfer request in which the terminal identifier and the terminal service information are associated with each other. Next, the transfer processing means 1252 transmits the transfer medical school to another service server 1 determined by the transfer server determination means 1251. Next, the transfer processing means 1252 disconnects communication with the terminal device 4.

[0095] The transfer request receiving means 1253 receives a transfer request. The transfer request receiving means 1253 receives a transfer request transmitted from another service server 1.

[0096] The terminal service information accumulation means 1254 accumulates the terminal service information included in the transfer request received by the transfer request reception means 1253 in the terminal service information storage unit 113 in a pair with the terminal identifier included in the transfer request.

[0097] The communication initiation means 1255 initiates communication with the terminal device 4 identified by the terminal identifier included in the transfer request. After that, the request receiving unit 142 can receive a request from the terminal device 4.

[0098] The down unit 126 performs a down process when the second condition is satisfied. The down process is a process for shutting down the service server 1. The down process is, for example, a process of shutting down the service server 1. The down process is, for example, a process of putting the service server 1 into a sleep state. The sleep state is a state in which the service server 1 can be started up by receiving a start-up signal.

[0099] The second condition is, for example, that a down instruction is received from an external device. A down instruction is an instruction to shut down. The external device is, for example, the external server 3. The external device may be, for example, another service server 1 or the management server 2.

[0100] The second condition is, for example, a condition related to the own status information. The second condition is, for example, that the load of the load information contained in the own status information is small enough to satisfy a predetermined condition. The second condition is, for example, that the number or ratio of terminal devices 4 providing the service is small enough to satisfy a predetermined condition. The second condition is, for example, that the number of terminal devices 4 providing the service is "0".

[0101] It is preferable that the shutdown unit 126 performs the shutdown process after the handover processing unit 125 completes the handover process for all the terminal devices 4 to which the service unit 121 provides the service.

[0102] The processing unit 12 may include a second determination unit (not shown) that determines whether or not a second condition is satisfied.

[0103] When the third condition is satisfied, the activation unit 127 performs activation processing for activating the inactive service server 1. The activation processing is, for example, changing the state from a sleep state to a state in which normal services can be provided.

[0104] The third condition is, for example, that a startup instruction has been received from an external device. The external device is, for example, the external server 3. The external device may be, for example, another service server 1 or the management server 2. The suspended service server 1 is itself. The startup process is a process of starting up the service server 1. The startup process may also be a process of changing from a sleep state to a state in which a service can be provided.

[0105] The processing unit 12 may include a third determination unit (not shown) that determines whether or not a third condition is satisfied.

[0106] The grouping unit 128 acquires two or more terminal identifiers that identify terminal devices 4 that satisfy the attribute value condition, and acquires a group list having two or more terminal identifiers. The attribute value condition is a condition for one or more user attribute values ​​received by the user attribute value receiving unit 143. The attribute value condition is, for example, a condition using one or more user attribute values ​​received by the user attribute value receiving unit 143. For example, if the one or more user attribute values ​​received by the user attribute value receiving unit 143 are the game levels of users, the attribute value condition is, for example, "the levels match" or "the levels are close enough to satisfy a predetermined condition." Examples of "the levels are close enough to satisfy a predetermined condition" include "the difference in levels is equal to or less than a threshold," "the difference in levels is less than a threshold," and "the difference in levels is within the top N people (the smaller the difference, the higher the ranking)."

[0107] Grouping section 128 realizes the above processing by, for example, the processing of request sending means 1281, terminal identifier receiving means 1282, and group list configuring means 1283.

[0108] The request sending means 1281 sends a terminal selection request to one or more other service servers 1. The terminal selection request is a request to select users who form a group with a user corresponding to one or more user attribute values ​​received by the user attribute value receiving unit 143. The selection of a user is the selection of a terminal device 4. The terminal selection request includes one or more user attribute values ​​received by the user attribute value receiving unit 143. The terminal selection request is, for example, a command sent from the terminal device 4.

[0109] In response to the transmission of the terminal selection request, the terminal identifier receiving means 1282 receives the terminal identifiers of one or more terminal devices 4 that satisfy the attribute value condition. Note that the terminal selection request may be an example of a request transmitted from the terminal device 4, or may be transmitted from another service server 1.

[0110] Group list constructing means 1283 constructs a group list including users corresponding to one or more user attribute values ​​received by user attribute value receiving section 143 and terminal identifiers corresponding to each of two or more users constituting a group.

[0111] The group list constructing means 1283 constructs a group list including, for example, one or more terminal identifiers received by the terminal identifier receiving means 1282 .

[0112] The group list configuration means 1283, for example, selects users who constitute a group with a user corresponding to one or more user attribute values ​​received by the user attribute value receiving unit 143 from one or more users corresponding to the terminal device 4 to which the service unit 121 provides a service, and acquires a terminal identifier corresponding to the selected user. The group list configuration means 1283 acquires, for example, a terminal identifier that identifies the terminal device 4 to which the service unit 121 provides a service, acquires one or more user attribute values ​​that are paired with the terminal identifier from the user attribute value storage unit 114, and if the one or more user attribute values ​​satisfy an attribute value condition, acquires the terminal identifier as information that configures the group list.

[0113] The group list construction means 1283 may construct a group list including only terminal identifiers corresponding to users corresponding to one or more user attribute values ​​received by the user attribute value receiving unit 143 and terminal identifiers corresponding to one or more users selected by the group list construction means 1283.

[0114] The group list constructing means 1283 may construct a group list including terminal identifiers corresponding to one or more users selected by the group list constructing means 1283 itself and one or more terminal identifiers received by the terminal identifier receiving means 1282 .

[0115] The terminal selection means 1284 selects one or more terminal devices 4 corresponding to a user attribute value matching a terminal selection request received by the selection request receiving unit 144, which will be described later, from among the terminal devices 4 for which the service unit 121 provides a service, and acquires a terminal identifier that identifies each of the one or more terminal devices 4. For example, the terminal selection means 1284 determines whether or not one or more user attribute values ​​paired with the terminal identifier of the terminal device 4 for which the service unit 121 provides a service satisfy an attribute value condition based on one or more user attribute values ​​included in the terminal selection request, and acquires a terminal identifier paired with the one or more satisfied user attribute values.

[0116] The terminal identifier transmitting means 1285 transmits one or more terminal identifiers acquired by the terminal selecting means 1284 to the service server 1 that has transmitted the terminal selection request.

[0117] The transmitting unit 13 transmits various types of information, such as its own status information, a group list, and the results of processing in the service unit 121.

[0118] The status transmission unit 131 transmits its own status information to the management server 2. It is preferable that the status transmission unit 131 transmits its own status information to the management server 2 approximately periodically. However, the timing at which the status transmission unit 131 transmits its own status information to the management server 2 does not matter. "Approximately periodically" means that a slight difference in the transmission interval is acceptable. "Approximately periodically" may also mean all the time.

[0119] It is preferable that the status transmission unit 131 obtains the latest own status information from the own status storage unit 111 and transmits the status information to the management server 2.

[0120] It is preferable that the status transmission unit 131 also transmits the identification information to the management server 2. The identification information is information that identifies the version of the latest one or more other status information received by the status reception unit 141. The identification information is, for example, a hash value created from the latest one or more other status information, or the latest one or more other status information and the latest own status information. The identification information is, for example, information obtained by encrypting the latest one or more other status information, or the latest one or more other status information and the latest own status information. However, the identification information may be any information that can identify the version of the latest one or more other status information, and its data structure, etc., is not important.

[0121] It is preferable for status transmission unit 131 to transmit its own status information and specific information together, but they may also be transmitted separately.

[0122] Group list transmitting section 132 transmits the group list to terminal device 4. Group list transmitting section 132 normally transmits the group list constructed by group list constructing means 1283 to terminal device 4 that has transmitted a group list request.

[0123] The receiving unit 14 receives various types of information, such as other status information, requests, user attribute values, and selection requests.

[0124] The status receiving unit 141 receives a group of status information including one or more other status information from the management server 2. The status receiving unit 141 may receive status information of all two or more service servers 1 from the management server 2. The status information of all service servers 1 includes their own status information. The status information received by the status receiving unit 141 is associated with a service server identifier.

[0125] The request receiving unit 142 receives a request from the terminal device 4. The request is a request for providing a service. The request received by the request receiving unit 142 is associated with a terminal identifier. The contents, data structure, etc. of the request may be of various types and are not important.

[0126] The user attribute value receiving unit 143 receives one or more user attribute values ​​from the terminal device 4. The user attribute value receiving unit 143 normally receives one or more user attribute values ​​associated with a terminal identifier.

[0127] The selection request receiving unit 144 receives a terminal selection request from another service server 1. The terminal selection request normally includes one or more user attribute values.

[0128] Various types of information are stored in the management storage unit 21 constituting the management server 2. The various types of information are, for example, a state information group having state information of each of two or more service servers 1. Each of the two or more state information corresponds to a service server identifier that identifies the service server 1. The various types of information are also specific information. The specific information corresponds to the latest state information group. The latest state information group includes state information of each of two or more service servers 1.

[0129] The management receiving unit 22 receives its own status information from each of the two or more service servers 1. It is preferable that the management receiving unit 22 also receives specific information from the service server 1. The management receiving unit 22 receives the status information or specific information from the service server 1 in association with the service server identifier of the service server 1.

[0130] The management processing unit 23 performs various types of processing. For example, the various types of processing are processing for storing the status information received by the management receiving unit 22 in the management storage unit 21. For example, the management processing unit 23 stores the status information received by the management receiving unit 22 in the management storage unit 21 in association with a service server identifier.

[0131] It is preferable that the management processing unit 23 configures specific information using state information of two or more service servers 1, and stores the two or more state information in the management storage unit 21 in association with the specific information. The management processing unit 23 acquires specific information, for example, using two or more pieces of state information. For example, the management processing unit 23 provides two or more pieces of state information to a hash function, and acquires specific information that is a hash value. For example, the management processing unit 23 encrypts two or more pieces of state information, and acquires specific information.

[0132] The management processing unit 23 may determine whether or not the specific information received from the service server 1 has a predetermined relationship with the specific information stored in the management storage unit 21. Such a determination process is called specific information determination. Note that the predetermined relationship may be, for example, a match, or a value output by applying one piece of specific information to a predetermined function and a match with the other piece of specific information.

[0133] The management transmitting unit 24 transmits, from among the two or more pieces of its own status information received by the management receiving unit 22, at least one piece of other status information that is not the status information of the destination service server 1, to each of the two or more service servers.

[0134] It is preferable that the management transmitting unit 24 transmits all of the two or more pieces of status information received by the management receiving unit 22 to each of the two or more service servers.

[0135] For example, when the specific information received from the service server 1 does not have a predetermined relationship with the specific information stored in the management storage unit 21, the management transmission unit 24 transmits the latest two or more pieces of status information to the service server 1 that sent the specific information.

[0136] It is preferable that the management transmitting unit 24 transmits one or more other pieces of status information to each of two or more service servers 1 when the version indicated by the specific information received by the management receiving unit 22 does not match the version corresponding to the latest two or more pieces of status information received by the management receiving unit 22.

[0137] It is preferable that the management transmitting unit 24 transmits all of the two or more pieces of self-status information received by the management receiving unit 22 to the two or more service servers 1 .

[0138] It is preferable that the management transmission unit 24 transmits one or more pieces of status information to two or more service servers 1 approximately periodically.

[0139] It is preferable that the management transmission unit 24 transmits one or more pieces of status information in response to a request from the service server 1.

[0140] It is preferable that the management transmission unit 24 transmits one or more status information when, in response to a request from the service server 1, the management processing unit 23 determines that the specific information does not have a predetermined relationship as a result of the specific information determination made by the management processing unit 23.

[0141] When the management processing unit 23 determines that the specific information received from the service server 1 does not have a predetermined relationship with the specific information stored in the management storage unit 21, it is preferable that the management transmission unit 24 transmits one or more other status information to the service server 1.

[0142] Various types of information are stored in the external storage unit 31 constituting the external server 3. The various types of information are, for example, load information of each of the two or more service servers 1. It is preferable that the load information is associated with a service server identifier.

[0143] The external receiving unit 32 receives load information from each of the two or more service servers 1. The external receiving unit 32 receives the load information associated with a service server identifier.

[0144] The external processing unit 33 performs various types of processing. For example, the various types of processing is processing for storing the load information received by the external receiving unit 32 in the external storage unit 31 in association with a service server identifier. For example, the various types of processing is processing for determining whether or not to send a startup instruction to the suspended service server 1 using one or more pieces of load information in the external storage unit 31. For example, the various types of processing is processing for determining whether or not to send a down instruction to the service server 1 using one or more pieces of load information in the external storage unit 31.

[0145] The external processing unit 33, for example, determines whether the load information satisfies a predetermined second condition (for example, "the number of terminals currently receiving the service is less than or equal to a threshold value"), and acquires a service server identifier paired with the load information that satisfies the second condition as information on the destination to which a down instruction is to be sent.

[0146] The external processing unit 33, for example, determines whether the load information of one or more service servers 1 satisfies a predetermined third condition (for example, "the total load amount is large enough to satisfy a predetermined condition"), and if the third condition is satisfied, obtains the service server identifier paired with the load information indicating that the service server is down, as information to which a startup instruction is to be sent.

[0147] The external transmission unit 34 transmits a down instruction to, for example, the service server 1 to which the external processing unit 33 has determined that the down instruction should be transmitted. The external transmission unit 34 transmits the start-up instruction to, for example, the service server 1 to which the external processing unit 33 has determined that the start-up instruction should be transmitted.

[0148] The external transmission unit 34 transmits the down instruction to, for example, the service server 1 identified by the acquired service server identifier as the destination to which the down instruction is to be transmitted.

[0149] The external transmission unit 34 transmits the start-up instruction to, for example, the service server 1 identified by the service server identifier acquired by the external processing unit 33 as the destination to which the start-up instruction is to be transmitted.

[0150] Various types of information are stored in the terminal storage unit 41 constituting the terminal device 4. The various types of information are, for example, a terminal identifier and one or more user attribute values.

[0151] The terminal reception unit 42 receives various instructions and information. The various instructions and information are, for example, various requests and a terminal selection request. Note that a terminal selection request may also be considered as an example of a request.

[0152] The means for inputting various instructions and information may be anything, such as a touch panel, a game controller, a keyboard, a mouse, or a menu screen.

[0153] The device processing unit 43 performs various types of processing. For example, the various types of processing is processing for configuring various instructions and information accepted by the terminal accepting unit 42 into instructions and information to be transmitted. For example, the various types of processing is processing for configuring information received by the terminal receiving unit 45 into information to be transmitted. For example, the various types of processing is processing for configuring a request associated with the terminal identifier using the request accepted by the terminal accepting unit 42 and the terminal identifier of the terminal storage unit 41.

[0154] The terminal transmitting unit 44 transmits various instructions and information to the service server 1. The various instructions and information are, for example, requests associated with a terminal identifier.

[0155] The terminal receiving unit 45 receives various information from the service server 1. The various information includes, for example, The result of processing the request is a group list.

[0156] The terminal output unit 46 outputs various information, such as the result of processing a request and a group list.

[0157] Here, output is a concept that includes display on a display, projection using a projector, printing on a printer, sound output, transmission to an external device, storage on a recording medium, and handing over the processing results to other processing devices or other programs, etc.

[0158] The storage unit 11, the self-state storage unit 111, the other-state storage unit 112, the terminal service information storage unit 113, the user attribute value storage unit 114, the management storage unit 21, the external storage unit 31, and the terminal storage unit 41 are preferably non-volatile recording media, but can also be realized using volatile recording media.

[0159] There is no restriction on the process by which information is stored in the storage unit 11, etc. For example, information may be stored in the storage unit 11, etc. via a recording medium, information transmitted via a communication line, etc. may be stored in the storage unit 11, etc., or information inputted via an input device may be stored in the storage unit 11, etc.

[0160] The processing unit 12, the service unit 121, the status update unit 122, the other status accumulation unit 123, the first judgment unit 124, the transfer server determination means 1251, the transfer processing unit 125, the down unit 126, the startup unit 127, the grouping unit 128, the group list configuration means 1283, the terminal selection means 1284, the management processing unit 23, the external processing unit 33, and the terminal processing unit 43 can usually be realized by a processor, a memory, or the like. The processing procedure of the processing unit 12, etc. is usually realized by software, and the software is recorded in a recording medium such as a ROM. However, it may be realized by hardware (dedicated circuit). The processor is, for example, a CPU, an MPU, a GPU, etc., but the type is not limited.

[0161] The request transmitting means 1281, the terminal identifier transmitting means 1285, the transmitting unit 13, the status transmitting unit 131, the group list transmitting unit 132, the management transmitting unit 24, the external transmitting unit 34, and the terminal transmitting unit 44 are typically realized by wireless or wired communication means, but may also be realized by broadcasting means.

[0162] The terminal identifier receiving means 1282, the receiving unit 14, the status receiving unit 141, the request receiving unit 142, the user attribute value receiving unit 143, the selection request receiving unit 144, the management receiving unit 22, the external receiving unit 32, and the terminal receiving unit 45 are usually realized by wireless or wired communication means, but may also be realized by means for receiving broadcasts.

[0163] The terminal reception unit 42 can be realized by a device driver for an input means such as a touch panel, a game controller, or a keyboard, or by control software for a menu screen.

[0164] The terminal output unit 46 may or may not include an output device such as a display, a speaker, etc. The terminal output unit 46 may be realized by driver software for an output device, or a combination of driver software for an output device and an output device, etc.

[0165] Next, an example of the operation of the information system A will be described. First, an example of the operation of the service server 1 will be described with reference to the flowchart of FIG.

[0166] (Step S401) The request receiving unit 142 determines whether or not a request has been received in association with a terminal identifier from the terminal device 4. If a request has been received, the process proceeds to step S402, and if a request has not been received, the process proceeds to step S414.

[0167] (Step S402) The processing unit 12 judges whether or not the request received in step S401 is a terminal selection request. If it is a terminal selection request, the process proceeds to step S412, and if it is not a terminal selection request, the process proceeds to step S403.

[0168] (Step S403) The first determination unit 124 performs a first determination process to determine whether or not to transfer the terminal device 4 that has transmitted the request to another service server 1. An example of the first determination process will be described with reference to the flowchart of FIG.

[0169] (Step S404) If the result of the first judgment is "transfer", the process proceeds to step S411, and if the result is "not transfer", the process proceeds to step S405.

[0170] (Step S405) The service unit 121 performs processing for the request received in step S401. Note that, normally, the result of the processing for the request is transmitted to the terminal device 4.

[0171] (Step S406) Service unit 121 acquires terminal service information including the result of the process in step S405, and accumulates the terminal service information in terminal service information storage unit 113 in association with the terminal identifier associated with the received request.

[0172] (Step S407) The processing unit 12 judges whether or not the request received in step S401 includes one or more user attribute values ​​of the user of the terminal device 4 that sent the request. If one or more user attribute values ​​are included, the process proceeds to step S408, and if one or more user attribute values ​​are not included, the process proceeds to step S409.

[0173] (Step S408) The processing unit 12 accumulates, in the user attribute value storage unit 114, one or more user attribute values ​​included in the request received in step S401 in association with the terminal identifier associated with the request.

[0174] (Step S409) The status update unit 122 acquires the status information of the service server 1. Note that the status information acquired here is usually dynamic status information.

[0175] (Step S410) The state update unit 122 accumulates the state information acquired in step S409 in the own state storage unit 111, and updates its own state information. Then, the process returns to step S401.

[0176] (Step S411) The transfer processing unit 125 and the like perform the transfer processing. Return to step S401. An example of the transfer processing will be described with reference to the flowchart of FIG.

[0177] (Step S412) The grouping unit 128 performs a process of forming a group list. An example of such a list forming process will be described with reference to the flowchart of FIG.

[0178] (Step S413) The terminal identifier transmitting means 1285 transmits the group list constructed in step S412 to the terminal device 4 that has transmitted the request. The process returns to step S401.

[0179] (Step S414) The processing unit 12 judges whether it is time to request the transmission of a status information group including status information of one or more other service servers 1. If it is time to request the transmission of a status information group, proceed to step S415, and if it is not time to request the transmission of a status information group, proceed to step S419. The timing to request the transmission of a status information group may be, for example, periodically or constantly. Also, the judgment process of step S414 may not be performed, and the transmission of a status information group may always be requested.

[0180] (Step S415) The processing unit 12 acquires specific information corresponding to the current latest state information group stored in the other state storage unit 112. Note that the specific information may be stored in the other state storage unit 112 in association with the current latest state information group, or may be acquired using the current latest state information group immediately before transmission.

[0181] (Step S416) The transmission unit 13 transmits the specific information acquired in step S415 to the management server 2. Note that the transmission of such specific information is a request for a group of status information.

[0182] (Step S417) The status receiving unit 141 judges whether or not a status information group has been received from the management server 2. If a status information group has been received, the process proceeds to step S418, and if a status information group has not been received, the process returns to step S401. Note that a case in which a status information group has not been received refers to, for example, a case in which a status information group has not been received after waiting for a predetermined timeout period.

[0183] (Step S418) The other state accumulation unit 123 accumulates the group of state information received in step S417 in the other state storage unit 112. The process returns to step S401.

[0184] Each piece of status information constituting the status information group received in step S417 is associated with a service server identifier that identifies the service server 1 corresponding to the status information. That is, the other status accumulation unit 123 accumulates each piece of status information constituting the status information group received in step S417 in the other status storage unit 112 in association with the service server identifier.

[0185] Also, it is preferable that the other state accumulation unit 123 acquires specific information using the state information group received in step S417, and accumulates the state information group in the other state storage unit 112 in combination with the specific information.

[0186] (Step S419) The user attribute value receiving unit 143 judges whether or not one or more user attribute values ​​have been received from the terminal device 4. If one or more user attribute values ​​have been received, the process proceeds to step S420; if one or more user attribute values ​​have not been received, the process proceeds to step S421. Note that the user attribute value receiving unit 143 normally receives one or more user attribute values ​​associated with a terminal identifier. Note that the terminal device 4 that has transmitted one or more user attribute values ​​is normally a terminal device 4 for which the service unit 121 is providing a service.

[0187] (Step S420) The processing unit 12 stores the one or more user attribute values ​​received in step S419 in association with the terminal identifier in the user attribute value storage unit 114. The process returns to step S401.

[0188] (Step S421) The selection request receiving unit 144 judges whether or not a selection request has been received from another service server 1. If a selection request has been received, the process proceeds to step S422, and if a selection request has not been received, the process proceeds to step S424.

[0189] (Step S422) The processing unit 12 performs a terminal selection process. An example of the terminal selection process will be described with reference to the flowchart in Fig. 8. The terminal selection process is a process for acquiring terminal identifiers constituting a group list corresponding to a selection request.

[0190] (Step S423) The terminal identifier transmitting means 1285 transmits the one or more terminal identifiers acquired in step S422 to the other service server 1 that has transmitted the selection request. Return to step S401. Note that there may be cases where it is not possible to transmit the one or more terminal identifiers here.

[0191] (Step S424) The processing unit 12 judges whether or not the second condition is satisfied. If the second condition is satisfied, the process proceeds to step S425, and if the second condition is not satisfied, the process proceeds to step S426. The second condition is, for example, that a down instruction has been received from the external server 3, that the load indicated by the load information is small enough to satisfy the condition (for example, that the terminal device 4 to which the service unit 121 provides a service is equal to or smaller than a threshold), etc.

[0192] (Step S425) The down-down unit 126 performs down-down processing. Return to step S401. An example of the down process will be described with reference to the flowchart in FIG.

[0193] (Step S426) The processing unit 12 judges whether or not a third condition is satisfied. If the third condition is satisfied, the process proceeds to step S427, and if the third condition is not satisfied, the process proceeds to step S428. The third condition is, for example, that a start instruction is received from the external server 3.

[0194] (Step S427) The starting unit 127 starts the service server 1. The process returns to step S401.

[0195] (Step S428) The receiving unit 14 judges whether or not a transfer request has been received. If a transfer request has been received, the process proceeds to step S429, and if a transfer request has not been received, the process returns to step S401.

[0196] (Step S429) The processing unit 12 performs a transferred process which is a process corresponding to the transfer request. An example of the transferred process will be described with reference to the flowchart of Fig. 10. Return to step S401.

[0197] 4, the processing unit 12, for example, periodically or constantly acquires the load information of the service server 1. Then, it is preferable that the transmission unit 13 transmits the acquired load information to the external server 3 periodically or constantly.

[0198] In the flowchart of FIG. 4, the process ends when the power is turned off or an interrupt occurs to end the process.

[0199] Next, an example of the first determination process in step S403 will be described with reference to the flowchart in FIG.

[0200] (Step S501) First judging unit 124 acquires its current state information from self state storage unit 111.

[0201] (Step S502) The first determination unit 124 acquires a first condition. For example, the first determination unit 124 acquires processing target information from the received request, and configures a first condition (for example, processing target information) having the processing target information. For example, the first determination unit 124 reads out the first condition (for example, the maximum number of terminals that can be provided with the service) from the storage unit 11.

[0202] (Step S503) The first judgment unit 124 judges whether or not its own status information acquired in step S501 satisfies the first condition acquired in step S502. If the first condition is satisfied, the process proceeds to step S504, and if the first condition is not satisfied, the process proceeds to step S505.

[0203] The first judgment unit 124 judges, for example, whether or not the processing target information included in the received request is included in one or more pieces of processing target information included in its own status information (whether or not the request is within the range that the service server 1 can process).

[0204] For example, when the received request is the first access and the request is accepted, the first judgment unit 124 judges whether or not the increase in the number of terminal devices 4 providing the service will exceed the "maximum number of terminals that can provide the service" contained in its own status information.

[0205] (Step S504) First judging unit 124 assigns information indicating "not to transfer" to a variable "judgment result".

[0206] (Step S505) First judging unit 124 assigns information indicating "transfer" to a variable "judgment result." Then, the process returns to the upper level process.

[0207] Next, an example of the transfer process in step S411 will be described with reference to the flowchart in FIG.

[0208] (Step S601) The transfer server determination means 1251 assigns 1 to a counter i.

[0209] (Step S602) The transfer server determination means 1251 judges whether or not the i-th other state information is stored in the other state storage unit 112. If the i-th other state information is stored, the process proceeds to step S603, and if the i-th other state information is not stored, the process proceeds to step S607.

[0210] (Step S 603 ) The transfer server determination means 1251 acquires the i-th other state information from the other state storage unit 112 .

[0211] (Step S604) The transfer server determination means 1251 uses the i-th other status information to determine whether or not the other service server 1 corresponding to the other status information can provide a service to the terminal device 4 to be transferred. If the service can be provided, the process proceeds to step S605, and if the service cannot be provided, the process proceeds to step S606.

[0212] (Step S605) The transfer server determination means 1251 acquires a service server identifier paired with the i-th other state information from the other state storage unit 112, and temporarily stores the service server identifier in a buffer (not shown).

[0213] (Step S606) The transfer server determination means 1251 increments the counter i by 1. The process returns to step S602.

[0214] (Step S607) The transfer server determination means 1251 acquires load information paired with one or more service server identifiers temporarily stored in a buffer (not shown) from the other status storage unit 112. Then, the transfer server determination means 1251 acquires the service server identifier of the service server with the smallest acquired load information.

[0215] (Step S608) The transfer processing means 1252 acquires the terminal identifier of the terminal device 4 to be transferred. The transfer processing means 1252 also acquires terminal service information paired with the terminal identifier from the terminal service information storage unit 113. Furthermore, if there is an unprocessed request among the requests transmitted from the terminal device 4, the transfer processing unit 125 acquires the request. Then, the transfer processing unit 125 composes information to be transmitted, including the terminal service information. The information to be transmitted includes, for example, the terminal identifier, the terminal service information, and the request.

[0216] (Step S609) The transfer processing means 1252 transmits the terminal service information and the like acquired in step S608 to the other service server 1 identified by the service server identifier acquired in step S607.

[0217] (Step S610) The handover processing means 1252 disconnects communication with the terminal device 4. Then, the process returns to the upper level processing.

[0218] Next, an example of the list construction process in step S412 will be described with reference to the flowchart in FIG.

[0219] (Step S701) The grouping unit 128 performs a terminal selection process to select a terminal from among the terminal devices 4 for which the service unit 121 provides a service. An example of the terminal selection process will be described with reference to the flowchart of FIG.

[0220] (Step S702) The grouping unit 128 judges whether or not more terminals than the terminal selected in step S701 are required. If terminals are required, the process proceeds to step S703, and if terminals are not required, the process proceeds to step S707. Note that the need for terminals means that users of the groups that make up the group list are required. The conditions for such judgment are stored in the storage unit 11. The conditions for such judgment are, for example, "the maximum number of people that make up a group."

[0221] (Step S703) The request sending means 1281 sends a selection request to one or more other service servers 1. The selection request has one or more user attribute values ​​or attribute value conditions.

[0222] (Step S704) The terminal identifier receiving means 1282 judges whether or not a selection result has been received from another service server 1. If a selection result has been received, the process proceeds to step S705, and if a selection result has not been received, the process returns to step S704. The selection result includes one or more terminal identifiers, or information indicating no selection.

[0223] (Step S705) The grouping unit 128 judges whether or not the selection results have been received from all the other service servers 1 that sent the selection requests. If the selection results have been received from all the other service servers 1, the process proceeds to step S706, and if the selection results have not been received from all the other service servers 1, the process returns to step S704.

[0224] (Step S706) The group list configuration means 1283 acquires terminal identifiers that constitute the group list, using the terminal identifier acquired in step S701 and the terminal identifiers included in the selection result received in step S704.

[0225] The terminal identifier acquired here usually includes the terminal identifier of the terminal device 4 that has transmitted the terminal selection request. If there is a predetermined number of terminals that configure the group list, and the total number of the terminal identifiers acquired in step S701 and the terminal identifiers included in the selection result received in step S704 exceeds the predetermined number of terminals, the group list configuring means 1283 selects, for example, a terminal identifier corresponding to a user attribute value that is less different from (for example, the same as) the user attribute value corresponding to the terminal selection request.

[0226] (Step S707) The group list constructing means 1283 constructs a group list including two or more terminal identifiers acquired in step S706, and then returns to the upper level processing.

[0227] In the flowchart of FIG. 7, the process of step S701 may be omitted.

[0228] Next, an example of the terminal selection process in step S422 will be described with reference to the flowchart in FIG.

[0229] (Step S801) The terminal selection means 1284 acquires an attribute value condition by using one or more user attribute values ​​included in the selection request. If the selection request includes an attribute value condition, the terminal selection means 1284 acquires the attribute value condition included in the selection request.

[0230] For example, if one or more user attribute values ​​included in the selection request is “user's game level”, the terminal selection means 1284 obtains, for example, an attribute value condition “matching the user's game level”, or “the difference from the user's game level is equal to or less than a threshold”, or “the difference from the user's game level is less than a threshold”.

[0231] (Step S802) The terminal selecting means 1284 assigns 1 to a counter i.

[0232] (Step S803) The terminal selection means 1284 judges whether or not there is an i-th terminal device 4 for which the service unit 121 is providing a service. If there is an i-th terminal device 4, the process proceeds to step S804, and if there is no i-th terminal device 4, the process proceeds to step S808.

[0233] The terminal selection means 1284 judges, for example, whether or not there is an i-th terminal identifier stored in the terminal service information storage unit 113. That is, the terminal identifier and the terminal service information are stored in the terminal service information storage unit 113 only while the service unit 121 is providing a service.

[0234] (Step S804) The terminal selection means 1284 acquires one or more user attribute values ​​paired with the terminal identifier that identifies the i-th terminal device 4 from the user attribute value storage unit 114. The one or more user attribute values ​​are, for example, the "user's game level."

[0235] (Step S805) The terminal selection means 1284 judges whether or not one or more user attribute values ​​acquired in step S804 satisfy the attribute value condition acquired in step S801. If the attribute value condition is satisfied, the process proceeds to step S806, and if the attribute value condition is not satisfied, the process proceeds to step S807.

[0236] (Step S806) The terminal selecting means 1284 acquires a terminal identifier corresponding to the i-th terminal device 4 from the terminal service information storage unit 113, and temporarily stores the terminal identifier in a buffer (not shown).

[0237] (Step S807) The terminal selecting means 1284 increments the counter i by 1. The process returns to step S803.

[0238] (Step S808) The terminal selection means 1284 judges whether or not the terminal identifier exists in a buffer (not shown). If the terminal identifier exists, the process proceeds to step S809, and if the terminal identifier does not exist, the process proceeds to step S810.

[0239] (Step S809) The terminal selection means 1284 assigns one or more terminal identifiers stored in a buffer (not shown) to the variable “selection result.” Then, the process returns to the upper level process.

[0240] (Step S810) The terminal selection means 1284 assigns information indicating "no selection" to the variable "selection result." Then, the process returns to the upper level process.

[0241] Next, an example of the down process in step S425 will be described with reference to the flowchart in FIG.

[0242] (Step S901) The down unit 126 judges whether or not there is a terminal device 4 currently providing a service by the service unit 121. If there is a terminal device 4 currently providing a service, the process proceeds to step S902, and if there is no terminal device 4 currently providing a service, the process proceeds to step S911.

[0243] (Step S902) The down unit 126 acquires, from the terminal service information storage unit 113, terminal service information paired with the terminal identifiers of all terminal devices 4 currently providing services.

[0244] (Step S903) The count-down unit 126 assigns 1 to the counter i.

[0245] (Step S904) The down unit 126 judges whether or not it is OK to interrupt the service based on the terminal service information paired with the i-th terminal identifier. If it is judged that it is OK to interrupt the service, the process proceeds to step S905, and if it is judged that it is not OK to interrupt the service, the process proceeds to step S908.

[0246] The conditions for interruption are stored in the storage unit 11, and the down unit 126 judges whether or not the conditions are met. In addition, it is preferable that the conditions for interruption are conditions related to the terminal service information (for example, the provision of the service has reached a division stage stored in the information). However, the conditions for interruption are not limited.

[0247] (Step S905) The handover processing unit 125 and the like perform handover processing of the terminal device 4 identified by the i-th terminal identifier.

[0248] (Step S906) The down unit 126 increments the counter i by one.

[0249] (Step S907) The down unit 126 judges whether or not there is the i-th terminal service information corresponding to the terminal device 4 for which the service unit 121 is providing the service. If the i-th terminal service information exists, the process returns to step S904, and if the i-th terminal service information does not exist, the process returns to step S901.

[0250] (Step S908) The down unit 126 judges whether or not a request has been received from the terminal device 4 identified by the i-th terminal identifier. If a request has been received, the process proceeds to step S909, and if a request has not been received, the process proceeds to step S906.

[0251] (Step S909) The service unit 121 processes the received request.

[0252] (Step S910) Service unit 121 acquires terminal service information including the result of the process in step S909, associates the terminal service information with the terminal identifier associated with the received request, and accumulates the information in terminal service information storage unit 113. Go to step S906.

[0253] (Step S911) Shutdown unit 126 performs processing for shutting down service server 1. Then, the process returns to the upper level processing.

[0254] In the flowchart of FIG. 9, it is sufficient to carry out transfer processing for all terminal devices 4 currently being provided with services before carrying out processing for downtime, and the procedure for this is not important.

[0255] Next, an example of the transfer process in step S429 will be described with reference to the flowchart in FIG.

[0256] (Step S1001) The terminal service information storage unit 1254 acquires the terminal service information included in the received transfer request.

[0257] (Step S1002) The terminal service information storage unit 1254 acquires the terminal identifier included in the received transfer request.

[0258] (Step S1003) The terminal service information accumulation means 1254 accumulates the terminal service information acquired in step S1001 in the terminal service information storage unit 113 in association with the terminal identifier acquired in step S1002.

[0259] (Step S1004) The communication initiation means 1255 initiates communication with the terminal device 4 identified by the terminal identifier acquired in step S1002.

[0260] (Step S1005) The transfer processing unit 125 judges whether or not a request is present in the received transfer request. If a request is present, the process proceeds to step S405 in Fig. 4, and if no request is present, the process returns to the upper processing.

[0261] Next, an example of the operation of the management server 2 will be described with reference to the flowchart of FIG.

[0262] (Step S1101) The management receiving unit 22 determines whether or not status information has been received from the service server 1 in association with the service server identifier. If status information has been received, the process proceeds to step S1102, and if status information has not been received, the process proceeds to step S1104.

[0263] (Step S1102) The management processing unit 23 accumulates the state information received in step S1101 in the management storage unit 21 in association with the service server identifier.

[0264] (Step S1103) The management processing unit 23 acquires specific information using the state information group including the state information received in step S1101 and including state information of two or more service servers 1. Then, the management processing unit 23 stores the specific information in the management storage unit 21 in association with the state information group including the state information received in step S1101. Return to step S1101.

[0265] (Step S1104) The management receiving unit 22 judges whether or not specific information has been received from the service server 1. If specific information has been received, the process proceeds to step S1105, and if specific information has not been received, the process returns to step S1101. Note that the reception of specific information here is a request to transmit a group of status information.

[0266] (Step S 1105 ) The management processing unit 23 acquires the latest specific information stored in the management storage unit 21 .

[0267] (Step S1106) The management processing unit 23 judges whether or not the specific information received in step S1104 and the latest specific information acquired in step S1105 have a predetermined relationship (for example, coincidence). If they have the predetermined relationship, the process returns to the upper process, and if they do not have the predetermined relationship, the process proceeds to step S1107.

[0268] (Step S1107) The management processing unit 23 acquires a state information group corresponding to the latest specific information. Each state information constituting the acquired state information group is associated with a service server identifier.

[0269] (Step S1108) The management transmission unit 24 transmits the status information group acquired in step S1107, which is a collection of status information associated with the service server identifier, to the service server 1 that has transmitted the specific information. Return to step S1101.

[0270] 11, the management transmission unit 24 transmits the latest status information group to the service server 1 that does not hold the latest status information group. However, the management transmission unit 24 may transmit the latest status information group to the service server 1 at an appropriate timing. An appropriate timing is, for example, approximately periodically, constantly, etc.

[0271] In the flowchart of FIG. 11, the process ends when the power is turned off or an interrupt occurs to end the process.

[0272] Next, an example of the operation of the external server 3 will be described with reference to the flowchart of FIG.

[0273] (Step S1201) The external receiving unit 32 judges whether or not load information has been received in association with a service server identifier. If load information has been received, the process proceeds to step S1202, and if load information has not been received, the process proceeds to step S1203.

[0274] (Step S1202) The external processing unit 33 stores the load information received in step S1201 in the external storage unit 31 in association with the service server identifier.

[0275] (Step S1203) The external processing unit 33 acquires the second condition stored in the external storage unit 31. The second condition is a condition for shutting down the service server 1. For example, the second condition is "the number of terminals among the terminal devices 4 to which the service is provided is 0".

[0276] (Step S1204) The external processing unit 33 acquires the third condition stored in the external storage unit 31. The third condition is a condition for starting up the service server 1. The third condition is, for example, that the load indicated by the total load information of two or more service servers 1 is large enough to satisfy a predetermined condition. The third condition is, for example, that the total number of terminals, which is the total load information of two or more service servers 1, is equal to or greater than a threshold value.

[0277] (Step S1205) External processing unit 33 assigns 1 to counter i.

[0278] (Step S1206) The external processing unit 33 judges whether or not the i-th load information exists in the external storage unit 31. If the i-th load information exists, the process proceeds to step S1207, and if the i-th load information does not exist, the process returns to step S1201.

[0279] (Step S1207) The external processing unit 33 judges whether or not the i-th load information satisfies the second condition acquired in step S1203. If the second condition is satisfied, the process proceeds to step S1208, and if the second condition is not satisfied, the process proceeds to step S1211.

[0280] (Step S1208) The external processing unit 33 acquires from the external storage unit 31 the service server identifier that is paired with the i-th load information.

[0281] (Step S1209) The external transmission unit 34 transmits a down instruction to the service server 1 identified by the service server identifier acquired in step S1208. The external processing unit 33 rewrites the load information paired with the service server identifier acquired in step S1208 to information indicating that the service server 1 is down.

[0282] (Step S1210) External processing unit 33 increments counter i by 1. The process returns to step S1206.

[0283] (Step S1211) The external processing unit 33 judges whether or not one or more pieces of load information (for example, total load information) stored in the external storage unit 31 satisfy the third condition acquired in step S1204. If the third condition is satisfied, the process proceeds to step S1212, and if the third condition is not satisfied, the process proceeds to step S1210.

[0284] (Step S1212) The external processing unit 33 is currently in sleep mode and determines whether or not there is a service server 1 to be started, using the load information in the external storage unit 31. If there is a service server 1 to be started, the process proceeds to step S1213, and if there is no service server 1 to be started, the process proceeds to step S1210.

[0285] (Step S1213) The external processing unit 33 is currently in sleep mode and acquires from the external storage unit 31 the service server identifier of the service server 1 to be started.

[0286] (Step S1214) The external transmitting unit 34 transmits a start instruction to the service server 1 identified by the service server identifier acquired in step S1213. Then, the process proceeds to step S1210.

[0287] In the flowchart of FIG. 12, the process ends when the power is turned off or an interrupt occurs to end the process.

[0288] Next, an example of the operation of the terminal device 4 will be described with reference to the flowchart of FIG.

[0289] (Step S1301) The terminal reception unit 42 judges whether or not an instruction, etc. has been received from a user. If an instruction, etc. has been received, the process proceeds to step S1302, and if an instruction, etc. has not been received, the process proceeds to step S1306.

[0290] (Step S1302) The device processing unit 43 composes a request using the instruction accepted in step S1301. The device processing unit 43, for example, reads out a terminal identifier from the terminal storage unit 41 and composes a request associated with the terminal identifier. The request is usually generated by a user's operation on the terminal device 4. However, the request may also be generated by autonomous processing of the terminal device 4.

[0291] (Step S1303) The terminal transmission unit 44 transmits the request constructed in step S1302 to the service server 1 that receives the service in association with the terminal identifier. Note that the terminal storage unit 41 stores the service server identifier (e.g., IP address) of the service server 1, and the terminal transmission unit 44 transmits the request using the service server identifier.

[0292] (Step S1304) The terminal reception unit 42 judges whether or not a processing result corresponding to the transmission of the request has been received. If the processing result has been received, the process proceeds to step S1305, and if the processing result has not been received, the process returns to step S1304.

[0293] (Step S1305) The device processing unit 43 composes a processing result to be output using the processing result received in step S1304. The terminal output unit 46 outputs the processing result. Return to step S1301.

[0294] (Step S1306) The terminal processing unit 43 judges whether or not to transmit one or more user attribute values. If the user attribute values ​​are to be transmitted, the process proceeds to step S1307, and if the user attribute values ​​are not to be transmitted, the process returns to step S1301.

[0295] (Step S1307) The device processing unit 43 acquires one or more user attribute values ​​stored in the device storage unit 41.

[0296] (Step S1308) The terminal transmitting unit 44 transmits the one or more user attribute values ​​acquired in step S1307 to the service server 1 in association with the terminal identifier stored in the terminal storage unit 41. Return to step S1301. Note that the one or more user attribute values ​​are transmitted when the request is first transmitted. Also, the one or more user attribute values ​​are transmitted at the time of user registration. There is no restriction on the timing at which the one or more user attribute values ​​are transmitted.

[0297] In the flowchart of FIG. 13, the process ends when the power is turned off or an interrupt occurs to end the process.

[0298] As described above, according to this embodiment, an information system A that is resistant to failures in the service server that provides services to the terminal device 4 can be provided.

[0299] Furthermore, according to this embodiment, by using the specific information to determine whether or not to transmit a set of status information, the amount of communication between the service server 1 and the management server 2 can be reduced.

[0300] Furthermore, according to this embodiment, the management server 2 transmits the same set of status information to all service servers 1, so that the amount of processing by the management server 2 can be reduced.

[0301] Moreover, according to this embodiment, it is possible to shut down the service server 1 appropriately. In particular, before shutting down the service server 1, the terminal device 4 to which the service is to be provided is transferred to another service server 1, so that the service server 1 can be shut down appropriately.

[0302] Furthermore, according to this embodiment, the terminal device 4 to which the service is to be provided can be appropriately transferred to another service server 1.

[0303] Furthermore, according to this embodiment, it is possible to properly start up the service server 1. This allows the processing of the entire information system A to continue properly.

[0304] Moreover, according to this embodiment, groups of terminal devices 4 can be created appropriately.

[0305] Furthermore, according to this embodiment, when information system A is used for a game, even if a failure occurs in one of service servers 1 that provides services to terminal device 4, the user can continue to enjoy the game.

[0306] The process in this embodiment may be realized by software. This software may be distributed by software download or the like. This software may be recorded on a recording medium such as a CD-ROM and distributed. This also applies to other embodiments in this specification. The software for realizing the service server 1 in this embodiment is the following program. That is, this program is a program for making a computer that can access a self-status storage unit in which its own status information regarding the status of the service server is stored and an other-status storage unit in which one or more other status information regarding the status of other service servers is stored function as a service unit that provides a service to one or more terminal devices, a status transmission unit that transmits the self-status information to the management server, a status reception unit that receives one or more other status information from the management server, an other-status storage unit that accumulates the one or more other status information received by the status reception unit in the other-status storage unit, a first determination unit that determines whether the self-status information satisfies a first condition, and, when the first determination unit determines that the first condition is satisfied, a transfer processing unit that performs a transfer process that is a process for any one or more terminal devices to which the service unit provides a service to receive a service from another service server.

[0307] Moreover, the software for realizing the management server 2 in this embodiment is the following program. That is, this program causes a computer to function as a management receiving unit that receives its own status information from each of two or more service servers, and a management transmitting unit that transmits, to each of the two or more service servers, at least one or more pieces of other status information that are not the status information of the destination service server, out of the two or more pieces of its own status information received by the management receiving unit.

[0308] Fig. 14 shows the appearance of a computer that executes the programs described in this specification to realize the service server 1 and the like of the various embodiments described above. The above-mentioned embodiments can be realized by computer hardware and a computer program executed thereon. Fig. 14 is an overview of this computer system 300, and Fig. 15 is a block diagram of the system 300.

[0309] In FIG. 14, a computer system 300 includes a computer 301 including a CD-ROM drive, a keyboard 302, a mouse 303, and a monitor 304.

[0310] 15, computer 301 includes, in addition to CD-ROM drive 3012, MPU 3013, bus 3014 connected to CD-ROM drive 3012 etc., ROM 3015 for storing programs such as a boot-up program, RAM 3016 connected to MPU 3013 for temporarily storing instructions of application programs and providing temporary storage space, and hard disk 3017 for storing application programs, system programs, and data. Although not shown here, computer 301 may further include a network card for providing connection to a LAN.

[0311] A program for causing computer system 300 to execute functions such as those of service server 1 of the above-mentioned embodiment may be stored on CD-ROM 3101, inserted into CD-ROM drive 3012, and then transferred to hard disk 3017. Alternatively, the program may be transmitted to computer 301 via a network (not shown) and stored on hard disk 3017. The program is loaded into RAM 3016 when executed. The program may also be loaded directly from CD-ROM 3101 or the network.

[0312] The program does not necessarily include an operating system (OS) or a third party program that causes the computer 301 to execute the functions of the service server 1 of the above-mentioned embodiment. The program only needs to include an instruction portion that calls appropriate functions (modules) in a controlled manner to obtain a desired result. How the computer system 300 operates is well known, and a detailed description will be omitted.

[0313] In addition, in the above program, the steps of transmitting information and receiving information do not include processing performed by hardware, such as processing performed by a modem or interface card in the transmitting step (processing that is performed only by hardware).

[0314] The program may be executed by a single computer or a plurality of computers. That is, the program may be executed by a centralized processing or a distributed processing.

[0315] Furthermore, in each of the above embodiments, it goes without saying that two or more communication means present in one device may be physically realized by one medium.

[0316] In each of the above embodiments, each process may be realized by centralized processing in a single device, or may be realized by distributed processing in a plurality of devices.

[0317] The present invention is not limited to the above-described embodiment, and various modifications are possible, and it goes without saying that these modifications are also included within the scope of the present invention. [Industrial Applicability]

[0318] INDUSTRIAL APPLICABILITY As described above, the information system according to the present invention has an effect of being able to provide an information system that is resistant to failures in the service server that provides services to terminal devices, and is useful as an information system, etc. [Explanation of symbols]

[0319] 1 Service Server 2 Management Server 3 External Server 4 Terminal Equipment 11 Storage area 12 Processing section 13 Transmitter 14 Receiving section 21 Management Storage Unit 22 Management Receiving Department 23 Management Department 24 Management and Transmission Unit 31 External storage section 32 External receiver 33 External Processing Unit 34 External Transmission Unit 41 Terminal storage section 42 Terminal Reception 43 Terminal Processing Section 44 Terminal transmitter 45 Terminal receiving section 45 Terminal receiving section 46 Terminal Output Section 111 Self-state storage unit 112 Other status storage unit 113 Terminal service information storage unit 114 User attribute value storage section 121 Service Department 122 Status Update Section 123 Other State Storage Unit 124 First Judgment Department 125 Transfer Processing Section 126 Down Section 127 Starting part 128 Grouping section 131 Status transmission unit 132 Group list transmitter 141 Status receiver 142 Request Reception Unit 143 User attribute value receiving unit 144 Selection request receiving unit 1251 Transfer server determination method 1252 Transfer Processing Method 1253 Transfer request receiving means 1254 Terminal service information storage means 1255 Communication initiation means 1281 Request transmission means 1282 Terminal identifier receiving means 1283 Group list construction method 1284 Terminal Selection Method 1285 Terminal Identifier Transmission Means

Claims

1. An information system comprising two or more service servers providing services to one or more terminal devices and a management server, The service server includes: a self-status storage unit in which self-status information relating to the status of the service server is stored; an other state storage unit in which one or more other state information related to the states of other service servers is stored; a service unit that provides a service to one or more terminal devices; a status transmission unit that transmits the self status information to the management server; a status receiving unit for receiving one or more other status information from the management server; an other status storage unit that stores the one or more pieces of other status information received by the status receiving unit in the other status storage unit; a first determination unit that determines whether the self status information satisfies a first condition; a transfer processing unit that performs a transfer process for allowing one or more terminal devices to which the service unit provides a service to receive a service from another service server by using the one or more other state information when the first determination unit determines that the first condition is satisfied, The management server includes: a management receiving unit for receiving status information of the service servers from each of the two or more service servers; a management transmitting unit that transmits, to each of the two or more service servers, one or more pieces of status information other than the status information of the destination service server out of the two or more pieces of self status information received by the management receiving unit; The transfer processing unit includes: a transfer server determination means for determining another service server from which one or more of the one or more terminal devices to which the service unit provides a service is to be received, using the one or more other state information; and a transfer processing means for performing a transfer process for allowing one or more terminal devices to which the service is provided by the service unit to receive a service from another service server determined by the transfer server determination means.

2. The management server includes: a management storage unit in which a state information group having state information corresponding to each of two or more service server identifiers for identifying a service server and corresponding to specific information for specifying the latest version of the one or more state information is stored; The status transmission unit is transmitting to the management server identification information identifying a version of the one or more other state information that is the most recent; The management receiving unit is receiving the specific information from the service server; The management server includes: a management processing unit that determines whether the specific information received by the management receiving unit and the latest specific information of the management storage unit have a predetermined relationship, and acquires the state information group corresponding to the latest specific information when the predetermined relationship is not met, The management transmission unit is 2. The information system according to claim 1, wherein the group of status information is a collection of status information associated with a service server identifier, and the group of status information is transmitted to the service server that transmitted the specific information.

3. The transfer processing unit includes: a transfer request receiving means for receiving a transfer request including terminal service information, which is information associated with a terminal identifier and is information regarding a state of a terminal device for which the service unit is providing a service; A communication initiation means for initiating communication with a terminal device identified by a terminal identifier corresponding to the transfer request, The service department includes:

3. The information system according to claim 1, wherein a service is provided to a terminal device identified by a terminal identifier corresponding to the transfer request, using terminal service information included in the transfer request.

4. The status receiving unit is receiving status information of all two or more service servers from the management server; The management transmission unit is 4. The information system according to claim 1, wherein all of the two or more pieces of self state information received by the management receiving unit are transmitted to the two or more service servers.

5. The status transmission unit is Transmitting said status information to said management server on an approximately regular basis; The management transmission unit is 5. The information system according to claim 1, wherein the one or more other pieces of status information are transmitted to each of the two or more service servers approximately periodically.

6. The service server includes:

6. The information system according to claim 1, further comprising a status update unit that acquires the service server's own status information and stores it in the own status storage unit.

7. The service server includes:

7. The information system according to claim 1, further comprising a shutdown unit that performs a shutdown process for shutting down the information system when the second condition is satisfied.

8. The down portion is 8. The information system according to claim 7, wherein said handover processing unit performs said down process after said handover process has been completed for all terminal devices for which said service unit provides services.

9. The service server includes: A request receiving unit that receives a request from a terminal device, The first determination unit, 9. The information system according to claim 1, further comprising: a processor configured to refer to said own status information and determine whether said request satisfies a first condition.

10. The service server includes:

10. The information system according to claim 1, further comprising a startup unit that performs startup processing to start up a paused service server when a startup instruction is received from another service server or the management server.

11. 11. The information system according to claim 1, wherein the service provided by the service server to one or more terminal devices is a game.

Citation Information

Patent Citations

  • Wide area load distribution device and method therefor

    JP2000132524A

  • Distributed processing system

    JP2010086145A

  • Order processing method, program, add network system

    JP2012009939A

  • Communication type game system allowing group to play

    JP2020110674A