Management server, service server, and program

The information system addresses server failure resilience by dynamically transferring terminal devices and managing server status across multiple servers, ensuring continuous service availability through intelligent load balancing and management.

JP7822078B2Active Publication Date: 2026-03-02DIARKIS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025005907
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-01-16
Publication Date
2026-03-02
Estimated Expiration
2040-07-31

AI Technical Summary

Technical Problem

Conventional information systems are not resistant to failures in service servers, leading to disruptions in service provision to terminal devices.

Method used

An information system comprising multiple service servers and a management server, where each service server maintains and shares status information with the management server, enabling dynamic transfer of terminal devices to other servers upon failure conditions, and includes mechanisms for shutdown and startup of servers to maintain service continuity.

Benefits of technology

The system ensures resilience against service server failures by seamlessly transferring services to other servers, reducing communication and processing loads, and allowing appropriate shutdown and startup of servers, thus ensuring continuous service availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007822078000001
    Figure 0007822078000001
  • Figure 0007822078000002
    Figure 0007822078000002
  • Figure 0007822078000003
    Figure 0007822078000003
Patent Text Reader

Abstract

To solve the problem that it has not been conventionally possible to provide an information system that is resistant to failures in a service server.SOLUTION: An information system comprises: a self-state storage unit for storing self-state information; an other state storage unit for storing state information of other service servers; a service unit for providing a service to a terminal apparatus; a state transmission unit for transmitting the self-state information to a management server; a state receiving unit for receiving other state information from the management server; a first determination unit for determining whether or not the self-state information satisfies a first condition; and a transfer processing unit for performing transfer processing which is processing for allowing one or more terminal apparatus to which the service unit provides the service, to receive the service from other service servers if it is determined that the first condition is satisfied. The information system is capable of providing an information system that is resistant to failures in the service server.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] Conventionally, there have been systems that provide mechanisms that allow 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 multiple game terminals via a communications 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 the first game terminal that sent the group request, the game server opens an area room corresponding to the first game terminal. When such a second game terminal is present, the game server associates the first game terminal with the area room associated with the second game terminal. When multiple game terminals are matched in the area room, the game server provides common game setting information to the game terminals associated with the area room. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-110674 Summary of the Invention [Problem to be solved by the invention]

[0005] However, the conventional technology has not been able 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, if a game server goes down, for example, 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 that provide 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 regarding the status of the service server is stored, an other-status storage unit in which one or more other status information regarding the status of other service servers is stored, a service unit that provides services to one or more terminal devices, a status transmission unit that transmits its own status information to the management server, a status receiving unit that receives one or more other status information from the management server, an other-status accumulation unit that accumulates the one or more other status information received by the status receiving unit in the other-status storage unit, a first judgment unit that determines whether its own status information satisfies a first condition, and a transfer processing unit that 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 if the first judgment unit determines that the first condition is satisfied, and the management server comprises a management receiving unit that receives its own status information from each of the two or more service servers, and a management transmitting unit that transmits, to each of the two or more service servers, at least one other status information that is not the status information of the destination service server, from 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 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 that uses one or more other status information to determine another service server from which any one or more terminal devices, among the one or more terminal devices to which the service unit provides services, will receive services, and a transfer processing means that performs transfer processing so that any one or more terminal devices to which the service unit provides services can receive services 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 terminal devices.

[0010] Furthermore, in the information system of the third invention, 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 is an information system that provides a service to the terminal device identified by the terminal identifier corresponding to the transfer request using the terminal service information included in 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 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 one or more other status information received by the status receiving unit to the management server, the management receiving unit also receives specific information from the service server, and if the version indicated in 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 one or more other status information to each of two or more service servers.

[0013] This configuration makes it possible to reduce the amount of communication between the service server and the management server.

[0014] Furthermore, the information system of the fifth invention is an information system in which, compared to any one of the first to fourth inventions, 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] This configuration can reduce the amount of processing on the management server.

[0016] Furthermore, 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 approximately periodically, and the management transmission unit transmits one or more other status information to each of two or more service servers approximately periodically.

[0017] This configuration makes it possible to reduce the amount of communication between the service server and the management server.

[0018] Furthermore, the information system of the seventh invention is an information system in which, compared 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 a self-status storage unit.

[0019] This configuration allows the device to update its own status information.

[0020] Furthermore, the information system of the eighth invention is an information system in which, compared to any one of the first to seventh inventions, the service server further comprises 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] Furthermore, 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 the 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 in which, compared to any one of the first to ninth inventions, 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 the first condition.

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

[0026] Furthermore, the information system of the eleventh invention is an information system in which, compared to any one of the first to tenth inventions, the service server further comprises a startup unit that performs startup processing 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] Furthermore, the information system of the twelfth invention is an information system in which, relative to any one of the first to eleventh inventions, the service server further comprises 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 conditions in response to the sending of the terminal selection request, and a group list configuring means for configuring a group list including the one or more terminal identifiers received by the terminal identifier receiving means.

[0031] With this configuration, it is possible to create groups of terminal devices more appropriately.

[0032] Furthermore, the information system of the fourteenth invention is an information system in which, compared to the thirteenth invention, it further comprises a user attribute value storage unit that stores one or more user attribute values ​​of terminal devices for which the service unit provides services, 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, from the terminal devices for which the service unit provides services, one or more terminal devices corresponding to user attribute values ​​that match the terminal selection request received by the selection request receiving unit, 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 the fifteenth invention is an information system according to any one of the first to fourteenth inventions, wherein 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. [Effects 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 explanation of the drawings]

[0037] [Figure 1] Conceptual diagram of information system A in embodiment 1 [Figure 2] Block diagram of Information System A [Figure 3] Block diagram of the service server 1 that constitutes the information system A [Figure 4] A flowchart illustrating an example of the operation of the service server 1 [Figure 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 illustrating an example of the transfer process [Figure 11] A flowchart illustrating an example of the operation of the management server 2 [Figure 12] A flowchart illustrating an example of the operation of the external server 3 [Figure 13] A flowchart illustrating 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 INVENTION

[0038] Hereinafter, embodiments of an information system and the like will be described with reference to the drawings. Note that components with the same reference numerals in the embodiments perform similar operations, and therefore 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 the status information of the other service servers to each service server. As a result, each service server also manages the status information of the other service servers. If the status information of a service server satisfies a first condition, the service server references the status information of the other service servers and determines another service server from which a terminal device receiving a service from that service server or a terminal device accessing that service server should receive a service. A transfer process is then performed so that the terminal device can receive a service from that other service server. Various methods, such as a communication method and communication frequency between the service server and the management server, can be considered. Furthermore, the service server updates its own status information normally, frequently, or constantly.

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

[0041] In this embodiment, an information system will be described that performs processing to activate a dormant service server when the service server satisfies the 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 this embodiment. The information system A comprises 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 services to the terminal device 4. The services provided by the service server 1 are not limited to games. In other words, the users of the terminal devices can play games using the service server 1 and the management server 2. However, the services that the service server 1 provides to the terminal device 4 are not limited to games. The services that the service server 1 provides 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 services is not limited to games.

[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 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 the 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 shutdown instructions and startup instructions to the service servers 1. Note that the status information received by the management server 2 and the status information received by the external server 3 do not have 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, ASP servers, cloud servers, etc. However, the types of the service server 1, management server 2, and external server 3 are not important.

[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 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 generally 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 according to this embodiment. Fig. 3 is a block diagram of a service server 1 that constitutes 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, for example, a self-state storage unit 111, an other-state storage unit 112, a terminal service information storage unit 113, and a user attribute value storage unit 114.

[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 determination unit 124, a transfer processing unit 125, a shutdown 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 initiation 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), the service server's own identifier, and one or more other service server identifiers.

[0059] The service server identifier is information that identifies 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 state information is stored in the self state storage unit 111. The state information is information relating to the state of the service server 1. The self state information is state information of the service server 1 itself.

[0061] The state may be one or both of two types of state: static state, which is information that does not change constantly, or dynamic state, which may change almost constantly. In other words, the state information may be static state information, dynamic state information, or both static 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 identifies the services that the service server 1 can provide. The processing target information can also be considered as information that identifies 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 game room for which the service can be provided, and a stage identifier that identifies a game stage for which the service can be provided. The processing capacity information is information that identifies 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 relating to the load on the service server 1. The load information is, for example, the number of terminals, the processor operating rate (e.g., CPU operating rate), and the load level. The number of terminals is the number of terminal devices 4 to which the service server 1 provides services.

[0064] The other state storage unit 112 stores one or more other state information. The other state information is the 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 is usually associated with 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 also 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 for which a service is being provided. The terminal service information is information about the status of the terminal device 4 for which the service unit 121 is providing a 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 game to be restarted. The terminal service information is, for example, information for specifying information or a scene being output in VR. The terminal service information is, for example, information for specifying information or a scene being output in AR. The terminal service information includes, for example, a terminal identifier for identifying the terminal device 4 of the other party in the chat and the content 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. Examples of the user attribute value include the user's game level, name, gender, age, and an identifier of the organization to which the user belongs (e.g., company name, company ID). The user attribute value can 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, an other status accumulation unit 123, a first determination unit 124, a transfer processing unit 125, a shutdown unit 126, a startup unit 127, and a grouping unit 128.

[0069] The processing unit 12 determines, for example, whether a second condition (to be described later) is satisfied. The processing unit 12 also determines, for example, whether a third condition (to be described later) is satisfied.

[0070] The processing unit 12, for example, associates the received one or more 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] Service unit 121 typically provides a service to one or more terminal devices 4, acquires terminal service information including the results of providing the service, and stores the terminal service information in terminal service information storage unit 113 in pairs with the terminal identifier. Note that the content and data structure of the terminal service information typically differ depending on the service. Furthermore, the processes by which service unit 121 provides a service and acquires the terminal service information can be realized using 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 this 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 self-status storage unit 111. The status update unit 122, for example, constantly acquires the own status information and stores it in the self-status storage unit 111. The status update unit 122, for example, periodically acquires the status information and stores it in the self-status storage unit 111. The timing at which the status update unit 122 updates the status information does not matter. Furthermore, periodically acquiring information may be considered to include constantly acquiring information. The purpose of periodically acquiring information is that it is sufficient that the information is acquired 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 the processor. The technology for acquiring the number of terminals and the operating rate of the processor is well known, so detailed description will be omitted.

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

[0077] Other state accumulation unit 123 accumulates one or more pieces of other state information received by state receiving unit 141 in other state storage unit 112. Other state accumulation unit 123 associates each of the one or more pieces of state information received by state receiving unit 141 with a service server identifier and accumulates them in other state storage unit 112. Other state accumulation unit 123 normally accumulates all of the state information received by state receiving unit 141 in other state storage unit 112. It is possible for its own state information to be included in all of this state 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 determining unit 124 determines whether its own status information satisfies the first condition. For example, the first determining unit 124 determines whether 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 that is 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 included 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 referred to as "total number of terminals" as appropriate) 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 as or greater than)."

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

[0083] The first determination unit 124 determines, for example, whether the processing target information included in the request is included in the processing target information included in its own status information (whether the service unit 121 can provide the service corresponding to the request). In this case, the first condition is that "the processing target information included in the request is not included in the processing target information included in 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 included in the request transmitted from the terminal device 4 is not included in the processing target information included in its own status information.

[0084] The first determination unit 124 determines, for example, 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 using another service server identifier acquired by the transfer server determination means 1251 to transmit to the service server 1 identified by the service server identifier.

[0087] The transfer server determination means 1251 uses one or more other state information to determine the service server 1 of the transfer destination. The service server 1 of the transfer destination is the service server 1 that should 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 from 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 status information to determine, for example, another service server 1 from which the terminal device 4 from which access has been initiated should receive a service. The terminal device 4 from which access has been initiated is usually the terminal device 4 that has sent the first request in 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 other service server 1 to be determined is, for example, a service server 1 that can handle a request from the terminal device 4. The transfer server determination means 1251 determines, for example, a service server 1 that can provide 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, for example, detects, from the other state storage unit 112, other state information including processing target information that corresponds to the processing target information included in the received request, and acquires the other service server identifier that pairs with the other state information.

[0092] The transfer server determination means 1251 determines, for example, from among the service servers 1 that can provide the service corresponding to the processing target information included in the received request, the service server 1 that corresponds to the other status information with the smallest load indicated by the load information as the service server 1 to be transferred.

[0093] The transfer processing means 1252 performs a transfer process for 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 determining 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 composes a transfer request in which the terminal identifier and the terminal service information are associated. Next, the transfer processing means 1252 transmits the transferred 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 pairs 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 requests from the terminal device 4.

[0098] The shutdown unit 126 performs shutdown processing when the second condition is satisfied. The shutdown processing is processing for shutting down the service server 1. The shutdown processing is, for example, processing for shutting down the service server 1. The shutdown processing is, for example, processing for 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 an activation signal.

[0099] The second condition is, for example, that a down instruction has been received from an external device. A down instruction is an instruction to shut down. The external device is, for example, an external server 3. The external device may also be, for example, another service server 1 or a 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 proportion 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 the second condition is satisfied.

[0103] When the third condition is satisfied, the activation unit 127 performs activation processing to activate the inactive service server 1. The activation processing is, for example, to change 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 dormant service server 1 is itself. The startup process is a process of starting the service server 1. The startup process may also be a process of changing from a sleep state to a state where the 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 users' game levels, the attribute value condition is, for example, "the levels must match" or "the levels must be close enough to satisfy a predetermined condition." Examples of "the levels must be close enough to satisfy a predetermined condition" include "the difference in level is equal to or less than a threshold," "the difference in level is less than a threshold," and "the difference in level is within the top N people (the smaller the difference, the higher the ranking)."

[0107] The grouping unit 128 realizes the above processing by, for example, the processing of a request sending means 1281, a terminal identifier receiving means 1282, and a 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 configuration means 1283 configures a group list including users corresponding to one or more user attribute values ​​received by user attribute value receiving unit 143 and terminal identifiers corresponding to each of two or more users constituting the group.

[0111] The group list configuration means 1283 configures 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 for which the service unit 121 provides a service, and acquires a terminal identifier corresponding to the selected user. The group list configuration means 1283, for example, acquires a terminal identifier that identifies the terminal device 4 for which the service unit 121 provides a service, acquires one or more user attribute values ​​that pair 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 constitutes a group list.

[0113] The group list construction means 1283 may construct a group list that includes 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 configuration means 1283 may configure a group list including the terminal identifiers corresponding to the one or more users selected by the group list configuration means 1283 itself and the 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 that matches 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. The terminal selection means 1284 determines, for example, whether or not one or more user attribute values ​​that are paired with the terminal identifier of a 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 that is 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 processing results of 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 slight differences in the transmission intervals are acceptable. "Approximately periodically" may also mean always.

[0119] It is preferable that the status transmission unit 131 obtains the latest status information of its own from the 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 latest version of one or more pieces of other status information received by the status reception unit 141. The identification information is, for example, the latest one or more pieces of other status information, or a hash value created from the latest one or more pieces of other status information and the latest own status information. The identification information is, for example, information obtained by encrypting the latest one or more pieces of other status information, or the latest one or more pieces of 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 pieces of other status information, and its data structure, etc., is not important.

[0121] It is preferable that status transmission unit 131 transmits its own status information and specific information together, but they may also transmit them separately.

[0122] The group list transmitting unit 132 transmits the group list to the terminal device 4. The group list transmitting unit 132 normally transmits the group list constructed by the group list constructing means 1283 to the terminal device 4 that has transmitted the 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 content, 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 usually 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. A terminal selection request normally includes one or more user attribute values.

[0128] Various types of information are stored in the management storage unit 21 that constitutes the management server 2. The various types of information are, for example, a group of status information having status information for each of two or more service servers 1. Each of the two or more status 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 group of status information. The latest group of status information includes the status information for each of two or more service servers 1.

[0129] The management receiving unit 22 receives its own status information from each of 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, such as storing 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 constructs specific information using state information of two or more service servers 1, and stores the two or more pieces of state information in the management storage unit 21 in association with the specific information. Note that the management processing unit 23 acquires the specific information, for example, using two or more pieces of state information. For example, the management processing unit 23 applies two or more pieces of state information to a hash function to acquire the specific information, which is a hash value. For example, the management processing unit 23 encrypts two or more pieces of state information to acquire the specific information.

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

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

[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 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 its own status information received by the management receiving unit 22 to the two or more service servers 1, respectively.

[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] If 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 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 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 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 an inactive 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 shutdown 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"), and acquires the service server identifier paired with the load information that satisfies the second condition as information on the destination to which the 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, acquires the service server identifier paired with the load information indicating that the service server is down as information to which to send a startup instruction.

[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 a 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 terminal selection requests. Note that a terminal selection request may also be considered an example of a request.

[0152] The means for inputting various instructions and information may be any means, 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 are processing for configuring various instructions and information received by the terminal receiving unit 42 into instructions and information to be transmitted. For example, the various types of processing are processing for configuring information received by the terminal receiving unit 45 into information to be transmitted. For example, the various types of processing are processing for configuring a request associated with the terminal identifier using the request received by the terminal receiving 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 terminal identifiers.

[0155] The terminal receiving unit 45 receives various types of information from the service server 1. The various types of information include, for example, the results of processing a request and 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 displaying on a display, projection using a projector, printing on a printer, sound output, transmission to an external device, storage on a recording medium, and delivery of processing results to other processing devices or other programs.

[0158] The storage unit 11, self-state storage unit 111, other-state storage unit 112, terminal service information storage unit 113, user attribute value storage unit 114, management storage unit 21, external storage unit 31, and terminal storage unit 41 are preferably non-volatile recording media, but can also be realized with 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 input via an input device may be stored in the storage unit 11 etc.

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

[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 usually 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 by a combination of driver software for an output device and the 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 determines 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 sent 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 processes the request received in step S401. Note that the result of the processing on the request is usually sent to the terminal device 4.

[0171] (Step S406) Service unit 121 acquires terminal service information including the result of the processing in step S405, and stores 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 determines whether 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 processing proceeds to step S408, and if one or more user attribute values ​​are not included, the processing proceeds to step S409.

[0173] (Step S408) The processing unit 12 stores one or more user attribute values ​​included in the request received in step S401 in the user attribute value storage unit 114 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 self state storage unit 111, and updates its own state information. 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 in FIG.

[0177] (Step S412) The grouping unit 128 performs processing to configure a group list. An example of such list configuration processing will be described with reference to the flowchart in 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 determines 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. Alternatively, the determination process of step S414 may be omitted 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 state information group.

[0182] (Step S417) The status receiving unit 141 determines 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 predetermined time-out period has elapsed without the status information group being received.

[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, other status accumulation unit 123 accumulates each piece of status information constituting the status information group received in step S417 in other status storage unit 112 in association with the service server identifier.

[0185] Furthermore, 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 pairs with the specific information.

[0186] (Step S419) The user attribute value receiving unit 143 determines 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 determines 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 of acquiring terminal identifiers that constitute 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 one or more terminal identifiers here.

[0191] (Step S424) The processing unit 12 determines 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, or 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 less than a threshold value), etc.

[0192] (Step S425) The down-down unit 126 performs down-down processing. The process returns 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 determines 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 may be, for example, that a startup instruction has been 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 determines 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 the 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 in Fig. 10. Return to step S401.

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

[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) The first judging unit 124 acquires current self-state information from the 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 the first condition (for example, the maximum number of terminals that can provide the service) from the storage unit 11.

[0202] (Step S503) The first judging 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 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 the request is within the range that can be processed by the service server 1).

[0204] For example, when the received request is the first access and the request is accepted, the first judgment unit 124 judges whether 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) The first judging unit 124 assigns information indicating "not to transfer" to the variable "judgment result."

[0206] (Step S505) First judging unit 124 assigns information indicating "transfer" to the variable "judgment result." 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 determines 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 S603) 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 the 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 acquired load information being the smallest.

[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. If there is an unprocessed request sent from the terminal device 4, the transfer processing means 125 acquires the request. Then, the transfer processing unit 125 composes information to be sent, including the terminal service information. The information to be sent 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 etc. acquired in step S608 to the other service server 1 identified by the service server identifier acquired in step S607.

[0217] (Step S610) The transfer processing means 1252 disconnects communication with the terminal device 4. 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 determines whether or not more terminals are required than the terminal selected in step S701. If terminals are required, the process proceeds to step S703; if terminals are not required, the process proceeds to step S707. Note that the requirement of terminals means the requirement of users of groups that constitute the group list. The conditions for such a determination are stored in the storage unit 11. The conditions for such a determination are, for example, "the maximum number of people that constitute 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 determines 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 determines whether or not it has received selection results from all of the other service servers 1 that sent the selection requests. If it has received selection results from all of the other service servers 1, it proceeds to step S706, and if it has not received selection results from all of the other service servers 1, it 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 identifier included in the selection result received in step S704.

[0225] The terminal identifiers acquired here normally include the terminal identifier of the terminal device 4 that has transmitted the terminal selection request. Furthermore, 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 configuration 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 configuration means 1283 configures a group list including two or more terminal identifiers acquired in step S706, and 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 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 are "user's game level," the terminal selection means 1284 obtains, for example, an attribute value condition such as "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 the counter i.

[0232] (Step S803) The terminal selection means 1284 determines 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; if there is no i-th terminal device 4, the process proceeds to step S808.

[0233] The terminal selection means 1284 determines, for example, whether or not there is an i-th terminal identifier stored in the terminal service information storage unit 113. In other words, 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. Note that the one or more user attribute values ​​are, for example, the "user's game level."

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

[0236] (Step S806) The terminal selecting means 1284 acquires the 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," and returns to the upper level processing.

[0240] (Step S810) The terminal selection means 1284 assigns information indicating "no selection" to the variable "selection result." 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 shutdown unit 126 determines 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 countdown unit 126 assigns 1 to the counter i.

[0245] (Step S904) The shutdown unit 126 determines 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 determined that it is OK to interrupt the service, the process proceeds to step S905, and if it is determined 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 determines whether or not the conditions are met. Preferably, the conditions for interruption are conditions related to the terminal service information (for example, the provision of the service has reached a stored dividing stage). However, the conditions for interruption are not specified.

[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 countdown unit 126 increments the counter i by one.

[0249] (Step S907) The down unit 126 determines 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 there is the i-th terminal service information, the process returns to step S904; if there is no i-th terminal service information, the process returns to step S901.

[0250] (Step S908) The down unit 126 determines 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; 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 processing in step S909, associates the terminal service information with the terminal identifier associated with the received request, and stores the information in terminal service information storage unit 113. Proceed to step S906.

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

[0254] In the flowchart of FIG. 9, it is sufficient to carry out the transfer process for all terminal devices 4 currently being provided with the service before carrying out the process 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 of FIG.

[0256] (Step S1001) The terminal service information storage means 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 starting means 1255 starts communication with the terminal device 4 identified by the terminal identifier acquired in step S1002.

[0260] (Step S1005) The transfer processing unit 125 determines whether or not a request exists in the received transfer request. If a request exists, the process proceeds to step S405 in Fig. 4, and if no request exists, 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 it has received status information from the service server 1 in association with the service server identifier. If it has received status information, it proceeds to step S1102, and if it has not received status information, it proceeds to step S1104.

[0263] (Step S1102) The management processing unit 23 stores the status 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, which state information group includes the 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 determines 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 send a group of status information.

[0266] (Step S1105) 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 determines whether the identification information received in step S1104 and the latest identification information acquired in step S1105 have a predetermined relationship (for example, match). 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 group of state information corresponding to the latest specified information. Each piece of state information constituting the acquired group of state information 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 transmitted the specific information. Return to step S1101.

[0270] 11, the management transmission unit 24 transmits the latest set of status information to the service server 1 that does not hold the latest set of status information. However, the management transmission unit 24 may transmit the latest set of status information to the service server 1 at an appropriate timing. The appropriate timing may be, for example, approximately periodically or constantly.

[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 determines whether or not it has received load information in association with the service server identifier. If it has received load information, it proceeds to step S1202, and if it has not received load information, it 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 in the terminal device 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 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 determines 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 determines whether 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 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 determines 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 asleep and determines whether or not a service server 1 to be started exists, using the load information in the external storage unit 31. If a service server 1 to be started exists, the process proceeds to step S1213; if a service server 1 to be started does not exist, 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 determines whether or not an instruction, etc. has been received from the 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 etc. accepted in step S1301. Note that the device processing unit 43 reads out the terminal identifier in the terminal storage unit 41, for example, and composes a request associated with the terminal identifier. Note that 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 transmitting unit 44 associates the request constructed in step S1302 with the terminal identifier and transmits it to the service server 1 that receives the service. Note that the terminal storage unit 41 stores the service server identifier (e.g., IP address) of the service server 1, and the terminal transmitting unit 44 transmits the request using this service server identifier.

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

[0293] (Step S1305) The device processing unit 43 uses the processing result received in step S1304 to compose a processing result to be output. The terminal output unit 46 outputs the processing result. The process returns to step S1301.

[0294] (Step S1306) The terminal processing unit 43 determines 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 associates the one or more user attribute values ​​acquired in step S1307 with the terminal identifier stored in the terminal storage unit 41 and transmits them to the service server 1. 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 when the user is registered. The timing at which the one or more user attribute values ​​are transmitted does not matter.

[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 the status information group, 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, thereby reducing the amount of processing by the management server 2.

[0301] Furthermore, according to this embodiment, it is possible to appropriately shut down the service server 1. In particular, by transferring the terminal device 4 to which the service is to be provided to another service server 1 before shutting down the service server 1, it is possible to appropriately shut down the service server 1.

[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] Furthermore, 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 processing in this embodiment may be implemented by software. This software may be distributed by software download or the like. Furthermore, 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 implementing the service server 1 in this embodiment is the following program. Specifically, this program causes 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 statuses of other service servers is stored to function as a service unit that provides services 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 the 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, if the first determination unit determines that the first condition is satisfied, a transfer processing unit that 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.

[0307] The software that realizes 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 status information other than 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] 14 shows the appearance of a computer that executes the programs described herein to realize the service server 1 and the like of the various embodiments described above. The above-described 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 that causes computer system 300 to execute functions such as those of service server 1 of the above-described 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 functions such as the service server 1 of the above-described embodiment. The program need only include instructions that call appropriate functions (modules) in a controlled manner to achieve the desired results. How the computer system 300 operates is well known, and a detailed description thereof 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 transmission step (processing that can only be performed by hardware).

[0314] The computer that executes the program may be a single computer or a plurality of computers, that is, it may perform centralized processing or 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] Furthermore, 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] As described above, the information system according to the present invention has the 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 Devices 11 Storage area 12 Processing section 13 Transmitter 14 Receiving unit 21 Management Storage Unit 22 Management Receiving Unit 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 Unit 111 Self-state storage unit 112 Other state storage unit 113 Terminal service information storage unit 114 User attribute value storage section 121 Service Department 122 Status Update Unit 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 Receiving Unit 143 User attribute value receiving unit 144 Selection request receiver 1251 Transfer server determination means 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 Composition Method 1284 Terminal Selection Method 1285 Terminal identifier transmission means

Claims

1. A service server constituting an information system including two or more service servers and a management server that provides services to one or more terminal devices, The service server a self-status storage unit in which self-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 status of other service servers is stored; a service unit that provides services 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 state storage unit that stores the one or more other state information received by the state receiving unit in the other state storage unit; a first determination unit that determines whether the self status information satisfies a first condition; a transfer processing unit that, when the first determination unit determines that the first condition is satisfied, 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, using the one or more other state information; The management server a management receiving unit that receives status information of 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 status information of the server itself received by the management receiving unit; The transfer processing unit a transfer server determination means for determining another service server from which any one or more terminal devices among the one or more terminal devices to which the service unit provides a service, using the one or more other status information; A service server constituting an information system, comprising a transfer processing means for performing transfer processing so that any one or more terminal devices to which the service unit provides services can receive services from another service server determined by the transfer server determination means.

2. The transfer processing unit 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 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 2. The service server according to claim 1, wherein the service server 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.

3. The service server 3. The service server according to claim 1, further comprising a shutdown unit that performs a shutdown process when the second condition is satisfied.

4. The down portion is 4. The service server according to claim 3, wherein said transfer processing unit performs said shutdown processing after said transfer processing for all terminal devices to which said service unit provides services has been completed.

5. The service server further comprising a request receiving unit that receives a request from a terminal device; The first determination unit 5. The service server according to claim 1, wherein the service server refers to the state information of the service server itself to determine whether the request satisfies a first condition.

6. The service server A service server according to any one of claims 1 to 5, further comprising a startup unit that performs startup processing to start up a dormant service server when a startup instruction is received from another service server or the management server.

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

8. A management server constituting an information system including two or more service servers and a management server that provides services to one or more terminal devices, The service server a self-status storage unit in which self-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 status of other service servers is stored; a service unit that provides services 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 state storage unit that stores the one or more other state information received by the state receiving unit in the other state storage unit; a first determination unit that determines whether the self status information satisfies a first condition; a transfer processing unit that, when the first determination unit determines that the first condition is satisfied, 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, using the one or more other state information; The management server a management receiving unit that receives status information of 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 status information of the server itself received by the management receiving unit; The transfer processing unit a transfer server determination means for determining another service server from which any one or more terminal devices among the one or more terminal devices to which the service unit provides a service, using the one or more other status information; A management server that constitutes an information system equipped with a transfer processing means that performs transfer processing so that any one or more terminal devices to which the service department provides services can receive services from another service server determined by the transfer server determination means.

9. The management server a management storage unit for storing a status information group having status information corresponding to two or more service server identifiers for identifying the service server, the status information group corresponding to specific information for specifying the latest version of the one or more status information; The status transmission unit transmitting to the management server identification information identifying the latest version of one or more other state information; The management receiving unit receiving the specific information from the service server; The management server a management processing unit that determines whether the specific information received by the management receiving unit and the latest specific information in the management storage unit have a predetermined relationship, and acquires the status information group corresponding to the latest specific information if the predetermined relationship does not exist; The management transmission unit 9. The management server according to claim 8, wherein the status information group is a collection of status information associated with a service server identifier, and the management server transmits the status information group to the service server that transmitted the specific information.

10. Computer, A program for causing a device to function as the service server according to any one of claims 1 to 7.

11. Computer, A program for causing the management server according to claim 8 or 9 to function.

Citation Information

Patent Citations

  • Distributed data storage server system and data transmission method for distributed data storage server

    JP2003248669A

  • Distributed processing system

    JP2010086145A

  • Order processing method, program, add network system

    JP2012009939A

  • Communication type game system allowing group to play

    JP2020110674A