Server system, and server system management method

The server system with a management tier server dynamically reallocates roles and traffic to spare servers, addressing reliability and latency issues, providing seamless operation under heavy loads.

JP2025179152APending Publication Date: 2025-12-09SUPERCELL
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025145889
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-04-07
Filing Date
2025-09-03
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

Conventional computing systems face challenges in managing resources and traffic, leading to poor connection quality, server crashes, and unreliability, especially under heavy load conditions, with existing solutions being expensive and time-consuming.

Method used

A server system with a management tier server that monitors and reroutes user equipment to spare servers in case of failure, ensuring seamless operation by dynamically reallocating roles and traffic.

Benefits of technology

The system provides reliable, fast, and robust server performance, reducing latency and preventing crashes, ensuring uninterrupted service even under high load demands.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025179152000001_ABST
    Figure 2025179152000001_ABST
Patent Text Reader

Abstract

To provide a server system for managing traffics of each of a plurality of internal servers to disperse a load.SOLUTION: The present invention is directed to a server system 100 having a first server 102 for executing a first role, the other server 104 for executing other roles, a standby server 106, and a management layer server 120. The management layer server allocates user equipment 108, 110, 112 of a first group to the first server 102 and allocates user equipment 114, 116, 118 of the other group to the other server 104, and analyzes information of states of the first server and the other server to determine operation states of these servers. If the operation state of the first server indicates anything wrong, the management layer server updates the role of the standby server to the first role to re-allocate the user equipment of the first group to the standby server. If the operation state of the other server indicates anything wrong, the management layer server updates the role of the other standby server to the other role to reallocate the user equipment of the other group to the other server.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to a server system having multiple servers that communicate with user equipment over a data network and run applications thereon, and more particularly to a server system configured to manage traffic and distribute load among the servers therein.

[0002] A computing system that includes multiple user devices connected via a data network typically includes multiple servers that interact to accomplish designated tasks for the individual computing systems. Each server within such a computing system typically includes a number of resources that it utilizes to perform its functions. During operation, as the load on the computing system increases, one or more of these resources may become a bottleneck, ultimately leading to poor connection quality, server crashes, or system malfunctions.

[0003] Traditionally, these problems have often been solved by investing in more resources. For example, to address performance degradation, servers may be equipped with more memory, faster central processing units (CPUs), multiple CPUs, or more disk drives to prevent system overload and crashes. These solutions are generally expensive, require more processing, and require more time. Furthermore, solutions exist that utilize technologies such as DSL and cable modems to provide high-speed switching and routing. However, even with these technologies, it is generally difficult to provide high-quality service to users while mitigating the possibility of server crashes, resulting in user discomfort.

[0004] Even more problematic is the situation where many users access the same software, such as a particular game. If a problem occurs in the server system, there is a risk that the service will be stopped, adversely affecting all users.

[0005] Therefore, in light of the foregoing discussion, there exists a need to overcome the aforementioned limitations associated with conventional computing systems for managing resources and traffic.

[0006] The present disclosure seeks to provide a server system. The present disclosure also seeks to provide a server system management method. The present disclosure seeks to provide a solution to the existing problems of load imbalance and unreliability in systems with multiple users using user equipment. It is an object of the present disclosure to at least partially overcome the problems in the prior art and provide a solution that provides deterministic management of servers in a network. Furthermore, the present disclosure improves the reliability of server systems under heavy load demands, eliminates unpredictable performance issues such as system crashes due to heavy loads, and reduces latency and capacity issues.

[0007] In a first aspect, an embodiment of the present disclosure provides a server system, the server system comprising: a first server configured to perform a first role; at least one other server configured to perform at least one other role; At least one spare server; a management tier server; The management layer server comprises: assigning a first group of user equipment to access the first server and assigning at least one other group of user equipment to access the at least one other server; receiving status information transmitted from the first server and status information transmitted from the at least one other server; analyzing the status information to determine an operational status of the first server and an operational status of the at least one other server; When the operation status of the first server indicates a failure state, updating a role of a first spare server among the at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role, and reassigning user equipment of the at least one other group to the at least one other spare server; The method is configured to perform the following steps.

[0008] In a second aspect, an embodiment of the present disclosure provides a server system management method, the method comprising: Executing a first role on a first server; performing at least one other role on at least one other server; assigning a first group of user equipment to access the first server and assigning at least one other group of user equipment to access the at least one other server; receiving status information from the first server and status information from the at least one other server; determining an operational status of the first server and an operational status of the at least one other server by analyzing the status information; When the operational status of the first server indicates a failure state, updating a role of a first spare server among at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role, and reassigning user equipment of the at least one other group to the at least one other spare server; Includes.

[0009] In a third aspect, an embodiment of the present disclosure provides a method for managing a server system including a first server for executing a first software according to a first role, at least one other server for executing at least one other software according to a second role, at least one spare server having a third role, and a management layer server, the method comprising: providing a list of roles to the management tier server; assigning a first group of user devices to access the first software executable running on the first server and assigning at least one other group of user devices to access the at least one other software executable running on the at least one other server; transmitting, by the first server and the at least one other server, status information to the management tier server; receiving, by the management tier server, the status information and analyzing the received status information to determine a first operational status of the first server and a second operational status of the at least one other server; notifying, by the management tier server, the first role as a vacant role when the first operational status indicates a failure in the first server, and notifying, by the management tier server, the second role as a vacant role when the second operational status indicates a failure in the at least one other server; updating the third role of the at least one spare server as the notified vacant role; executing third software in accordance with the updated third role in the at least one spare server; reassigning user equipment of the group that was assigned to the failed server to access the third software executable running on the at least one spare server; Includes.

[0010] Embodiments of the present disclosure substantially eliminate or at least partially address the aforementioned problems in the prior art and provide a reliable, fast and robust server system that mitigates latency and the possibility of server crashes, thereby providing a seamless and uninterrupted experience for users using user equipment.

[0011] Additional aspects, advantages, features, and objects of the present disclosure will become apparent from the following detailed description of illustrative embodiments, taken in conjunction with the drawings and the appended claims.

[0012] It will be appreciated that features of the present disclosure are capable of being combined in various combinations without departing from the scope of the present disclosure as defined by the appended claims. [Brief explanation of the drawings]

[0013] The foregoing summary and the following detailed description of exemplary embodiments will be better understood when read in conjunction with the accompanying drawings. For the purpose of illustrating the disclosure, there are shown in the drawings example structures of the disclosure. However, the disclosure is not limited to the particular methods and instrumentalities disclosed herein. Moreover, persons skilled in the art will appreciate that the drawings are not to scale. Wherever possible, like elements have been designated by like reference numerals.

[0014] Embodiments of the present disclosure will now be described, by way of example only, with reference to the following figures: [Figure 1] FIG. 1 is a block diagram of an exemplary server system according to one embodiment of the present disclosure. [Figure 2A] FIG. 1 is a block diagram of an exemplary network environment in accordance with various embodiments of the present disclosure. [Figure 2B]FIG. 1 is a block diagram of an exemplary network environment in accordance with various embodiments of the present disclosure. [Figure 3] FIG. 2 is a block diagram illustrating functional elements employed in a server system for rerouting a user of user equipment from one server to another, in accordance with one embodiment of the present disclosure. [Figure 4] FIG. 2 is a block diagram illustrating the architecture of a management layer server communicating with a switch according to one embodiment of the present disclosure. [Figure 5A] 1 is a flowchart illustrating steps of a server system management method according to one embodiment of the present disclosure. [Figure 5B] 1 is a flowchart illustrating steps of a server system management method according to one embodiment of the present disclosure.

[0015] In the drawings, underlined symbols are used to represent the element in which they are located or adjacent. Symbols without underlines refer to the element identified by the line connecting them. Symbols without underlines and associated with an arrow are used to identify the entire element to which the arrow points. Detailed Description of the Embodiments

[0016] The following detailed description sets forth embodiments of the present disclosure and ways in which they may be practiced. While certain ways of practicing the present disclosure are disclosed, those skilled in the art will recognize that other embodiments are possible for implementing or practicing the present disclosure.

[0017] In a first aspect, an embodiment of the present disclosure provides a server system, the server system comprising: a first server configured to perform a first role; at least one other server configured to perform at least one other role; At least one spare server; a management tier server; The management layer server comprises: assigning a first group of user equipment to access the first server and assigning at least one other group of user equipment to access the at least one other server; receiving status information transmitted from the first server and status information transmitted from the at least one other server; analyzing the status information to determine an operational status of the first server and an operational status of the at least one other server; When the operation status of the first server indicates a failure state, updating a role of a first spare server among the at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role, and reassigning user equipment of the at least one other group to the at least one other spare server; The method is configured to perform the following steps.

[0018] In a second aspect, an embodiment of the present disclosure provides a server system management method, the method comprising: Executing a first role on a first server; performing at least one other role on at least one other server; assigning a first group of user equipment to access the first server and assigning at least one other group of user equipment to access the at least one other server; receiving status information from the first server and status information from the at least one other server; determining an operational status of the first server and an operational status of the at least one other server by analyzing the status information; When the operational status of the first server indicates a failure state, updating a role of a first spare server among at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role, and reassigning user equipment of the at least one other group to the at least one other spare server; Includes.

[0019] In a third aspect, an embodiment of the present disclosure provides a method for managing a server system including a first server for executing a first software according to a first role, at least one other server for executing at least one other software according to a second role, at least one spare server having a third role, and a management layer server, the method comprising: providing a list of roles to the management tier server; assigning a first group of user devices to access the first software executable running on the first server and assigning at least one other group of user devices to access the at least one other software executable running on the at least one other server; transmitting, by the first server and the at least one other server, status information to the management tier server; receiving, by the management tier server, the status information and analyzing the received status information to determine a first operational status of the first server and a second operational status of the at least one other server; notifying, by the management tier server, the first role as a vacant role when the first operational status indicates a failure in the first server, and notifying, by the management tier server, the second role as a vacant role when the second operational status indicates a failure in the at least one other server; updating the third role of the at least one spare server as the notified vacant role; executing third software in accordance with the updated third role in the at least one spare server; reassigning user equipment of the group that was assigned to the failed server to access the third software executable running on the at least one spare server; Includes.

[0020] The present disclosure provides a server system for managing multiple servers in a network, for example, involved in rerouting traffic from one server to another in the event of a failure. The server system may be employed in a variety of applications, such as online gaming applications that require high speed, reliability, and robustness. Other tasks and applications that may incorporate the principles of the present invention include, but are not limited to, database management systems, application service providers, enterprise data centers, modeling and simulation systems, graphics rendering systems, complex computational analysis systems, and the like. While the principles of the present invention may be described with respect to a particular application, it will be recognized that many other tasks and applications may be performed using the server system without limitation.

[0021] Among the many benefits of the present server system and method is improved performance for a given role across a wide range of loads. Furthermore, the present server system improves server reliability, even under high load demands. The present disclosure aims to reduce uncertain performance characteristics, such as computing system crashes due to high loads, common in conventional systems. The present server system is also employed to address issues such as latency and load capacity. Furthermore, the present server system aims to efficiently utilize hardware resources and achieve better performance. In particular, when employed in gaming applications, the server system provides uninterrupted, fast, and continuous service and performance, even among users in different geographic locations.

[0022] For purposes of this disclosure, an exemplary network environment will be considered in which a server system includes a first server, at least one other server, at least one backup server, and a management tier server, connected to each other via a communications network. Throughout this disclosure, the term "communications network" refers to an arrangement of interconnected programmable and / or non-programmable components, whether available or known at the time of filing or subsequently developed, configured to facilitate data communication between one or more electronic devices and / or databases. Furthermore, a communications network may include, but is not limited to, one or more peer-to-peer networks, hybrid peer-to-peer networks, etc. Here, a communications network may be a collection of individual networks interconnected and functioning as a single larger network. Such individual networks may be wired, wireless, or a combination thereof. Examples of such individual networks include, but are not limited to, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a wireless LAN (WLAN), a wireless WAN (WWAN), a wireless MAN (WMAN), the Internet, a second generation (2G) telecommunications network, a third generation (3G) telecommunications network, a fourth generation (4G) telecommunications network, and a Worldwide Interoperability for Microwave Access (WiMAX) network.

[0023] It will be appreciated that the network environment may be implemented in various ways depending on various possible scenarios. In one example scenario, the network environment may be implemented by a spatially arranged arrangement of server system components, such as a first server, at least one other server, at least one spare server, and a management tier server. In another example scenario, the network environment may be implemented by a spatially distributed arrangement of the first server, at least one other server, at least one spare server, and a management tier server, which are communicatively connected to each other via a communication network. In yet another example scenario, the first server, at least one other server, at least one spare server, and a management tier server may be implemented via a cloud server.

[0024] Throughout this disclosure, the term "server," as used in "first server," "at least one other server," "at least one backup server," and "management layer server," refers to a deployment of at least one server configured to improve cybersecurity in an organization. The term "server" generally refers to an application, program, process, or device in a client-server relationship that responds to requests for information or services from other applications, programs, processes, or devices (clients) on a communications network. The term "server" also includes software that enables the act of providing information or services. The term "client" generally refers to an application, program, process, or device in a client-server relationship that requests information or services from other applications, programs, processes, or devices (servers) on a communications network. It is important to note that the terms "client" and "server" are relative, as an application may be a client to one application and a server to another. The term "client" also includes software that enables a connection between a requesting application, program, process, or device and a server, such as an FTP client. As used herein, a client may refer to a plurality of user devices associated with a first group of user devices and at least one other group of user devices communicatively connected to a server arrangement via a communications network. Examples of user devices include, but are not limited to, mobile phones, smartphones, mobile internet devices (MIDs), tablet computers, ultra-mobile personal computers (UMPCs), phablet computers, personal digital assistants (PDAs), web pads, personal computers (PCs), handheld computers, laptop computers, desktop computers, etc.

[0025] The server system can be deployed to a third party, such as an organization, as part of a service that provides third-party Virtual Private Network (VPN) services as a secure deployment vehicle or builds VPNs on demand as needed for specific deployments. A VPN is any combination of technologies that can be used to secure connections over insecure or untrusted networks. VPNs improve security and reduce operational costs. A VPN utilizes a public network (usually the Internet) to connect remote sites and users of user equipment to each other. Instead of using a real connection, such as a dedicated line, a VPN uses a "virtual" connection routed over the Internet from a company's private network to the remote site. Access to software via a VPN can be provided as a service by building a VPN specifically for the purpose of delivering or executing process software (i.e., the software resides elsewhere). Here, the lifespan of the VPN is limited to a predetermined period of time or a predetermined number of deployments based on a paid fee. In another example, the solution of the present invention as a service can be deployed and integrated into an organization's IT infrastructure.

[0026] In particular, the first server is configured to perform a first role, and at least one other server is configured to perform at least one other role. Throughout this disclosure, the term "role," as used in "first role" and "at least one other role," refers to a function performed by a server to execute a software application, such as a game application. It will be understood that a game application may include multiple functionalities and / or processes that must be processed and executed synchronously to achieve a game application result provided to end users, such as a first group of users using a first group of user equipment and other groups of users using other groups of user equipment. A role may be a dedicated task or subtask associated with executing any application, such as a game application, performed by each of the first server and the at least one other server. Examples of different roles include, but are not limited to, network interfacing, storage processing, graphics processing, command processing, application processing, system management processing, protocol processing, delivery of static content, such as web pages, MP3 files, HTTP object files, audio stream files, video stream files, and the like, delivery of dynamic content, such as instructions or commands that require repetitive processing, and the like. As an example, a server system may include multiple servers, including a first server and at least one other server. In this specification, each of the multiple servers is configured to perform a different role according to the requirements of the server system.

[0027] In some embodiments, the first server operates first executable software according to a first role, and at least one other server operates at least one other executable software according to at least one other role. Throughout this disclosure, the term "executable software," as used in "first executable software" and "at least one other executable software," refers to a collection or set of instructions executable by the first server and / or at least one other server to configure the first server and / or at least one other server to perform tasks, such as a first role and at least one other role. Furthermore, executable software may be stored on a storage medium, such as RAM, a hard disk, an optical disk, or the like, and is intended to include so-called "firmware," which is software stored in ROM or the like. In some embodiments, the term "executable software" refers to a software application. Such executable software may be structured in various ways. For example, executable software may include components structured as libraries, internet-based programs stored on a remote server, or the like, source code, interpreted code, object code, directly executable code, or the like. It will be appreciated that this software may invoke calls to system-level code or other software, such as residing on a server, to perform specific functions. Furthermore, the executable software may be pre-configured and pre-integrated with an operating system, thereby creating a software appliance. As an example, the executable software may be online gaming software. In some embodiments, the first executable software and the at least one other executable software are the same. In this case, the first server and the at least one other server run the same software, and the first server and the at least one other server perform the same role. In some embodiments, the first executable software and the at least one other executable software are different.In this case, different software runs on the first server and the at least one other server, and the first server and the at least one other server perform different roles. Hereinafter, for simplicity and clarity, the "first server" and the "at least one other server" may be referred to interchangeably as the "primary server."

[0028] In particular, the at least one spare server is configured to take over for any of the primary servers that experience a failure or breakdown. In particular, the at least one spare server is configured to provide sufficient bandwidth to enable rerouting of traffic from any of the primary servers to the spare server in the event of a failure of that primary server. It will be appreciated that the at least one spare server is configured to run the same executable software as any of the failed primary servers, thereby providing uninterrupted access of the server to multiple user devices.

[0029] In some embodiments, the first server, at least one other server, and at least one spare server are interconnected in a distributed manner via a communications network, creating a virtual distributed interconnection backplane between individual components, such as servers, routers, switches, management layers, etc., throughout the network, which may be configured to operate together in a deterministic manner as described herein. As an example, the server system may employ wavelength division multiplexing (WDM) or dense wavelength division multiplexing (DWDM) and optical interconnect technologies (e.g., in combination with optical / optical interface-based systems), INFINIBAND, LIGHTNING I / O, etc. Advantageously, this configuration may be used, for example, to enable separate servers to be physically separate from one another and / or operated by two or more entities that are distinct or external to one another (e.g., two or more different service providers). In this example, one or more processing functionalities may be located physically separate from one or more other processing functionalities (e.g., located in separate chassis, located in separate buildings, located in separate cities / countries, etc.). However, in other embodiments, some components may be located in a common local facility if desired.

[0030] The management tier server is further configured to manage traffic for the one or more primary servers by accessing information regarding the operational status of the first server and the at least one other server, and to reroute traffic to at least one backup server in the event of a failure of one or more primary servers. It will be appreciated that the management tier server is configured to optimize bandwidth utilization and enable density decisions for traffic management to improve system reliability. In particular, the management tier server is communicatively coupled with each of the first server, the at least one other server, and the at least one backup server to continuously monitor the operational status of each of the primary servers, determine whether any primary server is overloaded or in a failed state, and enable rerouting traffic to the at least one backup server in the event of a failure of one or more primary servers.

[0031] In particular, the management layer server is configured to assign a first group of user equipment to access a first server and assign at least one other group of user equipment to access at least one other server. In particular, different sets of user equipment are associated with different main servers, and each of the user equipment in the groups is assigned to perform a different role. In one example, depending on the number of main servers and associated roles in the system, the first group of user equipment is assigned to a first server configured to perform a first role, the at least one other group of user equipment is assigned to at least one other server configured to perform a second role, the third group of user equipment is assigned to a third server configured to perform a third role, and so on. In some embodiments, the user equipment in the groups may be dynamically assigned to a main server, or the user equipment in the groups may be assigned based on a common criterion or characteristic, such as a main server. In one example, the first group of user equipment may reside in one geographic location, and the other groups of user equipment may reside in other geographic locations. In this specification, based on the geographical locations of the users, the first group of user equipment is assigned to a first server, and the other group of user equipment is assigned to the other server. The first group of user equipment technically refers to each user equipment, and vice versa. In practice, the management layer server is configured to assign the first group of users to access the first server with the user equipment associated with the first group of users, and to assign the at least one other group of users to access at least one other server with the user equipment associated with the at least one other group of users. In this way, the first group of users is associated with the first group of user equipment. At least one other group of users is associated with at least one other group of user equipment.

[0032] Furthermore, the management tier server is configured to receive status information transmitted from the first server and from at least one other server. It will be understood that the status information relates to the current operating status of each main server. The status information of each main server is continuously monitored by the management tier server. As an example, the first server and at least one other server are configured to constantly transmit status information to the management tier server at regular or irregular time intervals. Examples of such status information include signals or messages such as "ACTIVE," "INACTIVE," "SYSTEM FAILURE," and "SYSTEM OVERLOADED," which may be transmitted to the management tier server to indicate the operating status of each main server. In another example, the status information is received from each main server by polling. Specifically, polling is performed by checking the status by pinging and reading the response received from the main server.

[0033] Further, the management tier server is configured to analyze the status information to determine the operational status of the first server and the operational status of the at least one other server. For example, the operational status of the first server and the at least one other server may be analyzed as “ACTIVE,” “INACTIVE,” “SYSTEM FAILURE,” “SYSTEM OVERLOADED,” etc. based on the status information received from each main server. It will be appreciated that the management tier server may be configured to determine various operational states as needed. However, for simplicity and clarity, the following will consider two operational states: an operational state (a state in which the main server is up and running) and a faulty state (a state in which the main server is unresponsive and / or crashed). In some embodiments, the operational status may also be determined by determining the time difference between the moment of analysis and the moment of receipt of the status information. As an example, if the time difference between the moment of analysis of the status information and the moment of receipt of the status information is greater than a predetermined time difference, the operational status indicates a faulty state. It will be appreciated that such a server system can prevent system latency that may occur due to delayed responses from the main server or delayed analysis of context information.

[0034] In some embodiments, several other parameters may also be monitored to analyze the performance of the main server, including, but not limited to, processing engine bandwidth, Fibre Channel bandwidth, number of available drives, Input / Output Operations Per Second (IOPS) per drive and Redundant Array of Inexpensive Disks (RAID) level of the storage devices, memory available for caching data blocks, bandwidth of the table lookup engine, available RAM for connection control structures and available outgoing network bandwidth, shared resources (such as RAM) used by the streaming application per stream along with connection control structures and buffers, bandwidth available for message passing between subsystems, bandwidth available for data passing between various servers, etc.

[0035] In some embodiments, the management tier comprises multiple layers that function as monitoring engines for the management tier servers. For example, the management tier servers may comprise a status acquisition layer that acquires status information for each primary server, a role management layer that assigns different roles to different primary and backup servers and maintains a structured list of them, and a resource management layer that handles load balancing and rerouting traffic from primary servers to backup servers in the event of a failure.

[0036] In some embodiments, the server system further includes a database arrangement for storing the roles of each of the primary server and the backup server. The database arrangement is also configured to store the operational status of each of the primary server and the backup server. In particular, such information is constantly updated in real time or near real time. Throughout this disclosure, the term "database arrangement" as used herein refers to the arrangement of at least one database in which the management layer server can store the role of each server, the operational status of each server, and the like. The term "database arrangement" generally refers to hardware, software, firmware, or a combination thereof for storing information in an organized (i.e., structured) manner so that the information can be easily stored, accessed (i.e., searched), updated, and analyzed. The term "database arrangement" also includes a database server that provides the aforementioned database services to the server system. It will be understood that the database arrangement implements a data repository.

[0037] A computer system may include a processor and memory. The processor may be one or more known processing devices, such as microprocessors manufactured by Intel™ or AMD™, or microprocessors licensed by ARM. The processor may comprise a single-core or multi-core processor that simultaneously performs parallel processing. For example, the processor may be a single-core processor configured with virtual processing technology. In particular embodiments, the processor may use logical processors to simultaneously execute and control multiple processes. The processor may implement virtual machine technology or other known technology that provides the ability to execute, control, operate, manipulate, and store multiple software processes, applications, programs, etc. In another embodiment, the processor may include a multi-core processor configuration (e.g., dual-core, quad-core, etc.) configured to provide parallel processing functionality so that the computer system can simultaneously execute multiple processes. Those skilled in the art will appreciate that other types of processor configurations that provide the functionality disclosed herein may be implemented. Additionally, memory may include volatile or non-volatile, magnetic, semiconductor, solid-state, tape, optical, removable, non-removable, or other types of storage devices or tangible (i.e., non-transitory) computer-readable media that store one or more programs, such as an app(s).

[0038] The programs may include an operating system (not shown) that, when executed by one or more processors, performs known operating system functions. By way of example, operating systems may include Microsoft Windows®, Unix, Linux®, Android®, and Apple operating systems, as well as PDA-type operating systems such as Microsoft CE®, or other types of operating systems. Thus, the disclosed embodiments may operate and function on computer systems running any type of operating system. The computer system may also include communications software, such as web browser software, tablet or smart handheld device network software, etc., that, when executed by the processor, provides for communication with a network and / or local network.

[0039] In some embodiments, the management tier server is further configured to report the first role as a first available role when the operational status of the first server indicates a failure state of the first server, and to report at least one other role as at least one other available role when the operational status of at least one other server indicates a failure state of the first server. Specifically, when the operational status of the first server indicates a failure state, the management tier server sends a polling signal indicating that the first role is available, and one of the spare servers can assume the first role. Similarly, when the operational status of another server indicates a failure state of the first server, the management tier server sends a polling signal indicating that the other role is available. As used herein, the term "available role" refers to a task, function, or program that is not currently running on any server and is therefore free to be executed by any server. As described above, the role management tier is configured to maintain a list of each role for each server and continuously update this list in real time. Reporting roles has the advantage of eliminating the need to individually poll each server for availability. If the server that receives the notification can fulfill its role, it can be executed faster than polling each server individually. For example, if there are hundreds of servers, checking the availability of each server individually can take a long time, which may result in a long interruption of the service provided to the user equipment. Notification can be performed using, for example, multicast or broadcast protocols. Notification can be performed by unicast (for example, using the User Datagram Protocol) to reduce the response load.

[0040] The management layer server is further configured to, when the operational status of the first server indicates a failure state, update the role of a first spare server of the at least one spare server to the first role and reassign the first group of user equipment to the first spare server of the at least one spare server. In such a case, a communication link between the first group of user equipment and the first server may be interrupted, and a new communication link may be established between the first group of user equipment and the first spare server of the at least one spare server. It will be appreciated that the operational status of the spare server is determined before assigning the first group of user equipment to a specific spare server. In particular, the first role originally performed by the first server is assigned to be performed by the spare server. In some embodiments, when the operational status of the first server indicates a failure state, the management layer server is further configured to, when the operational status of the first server indicates a failure state, determine a current execution state of the first role and update the role of the first spare server of the at least one spare server to the current execution state.

[0041] Furthermore, the management layer server is configured, when the operational status of the at least one other server indicates a failure state, to update the role of the other one of the at least one spare servers to the at least one other role and reassign the user equipment of the at least one other group to the at least one other spare server. In such a case, a communication link between the user equipment of the other group and the other server may be interrupted, and a new communication link may be established between the user equipment of the other group and the other one of the at least one spare server. It will be understood that the operational status of the spare server is determined before assigning the user equipment of the other group to a specific spare server. In particular, the other role that was originally performed by the other server is assigned to be performed by the specific spare server. In some embodiments, when the operational status of the at least one other server indicates a failure state, the management layer server is further configured, when the operational status of the at least one other server indicates a failure state, to determine a current execution state of the at least one other role and update the at least one other role of the at least one other spare server of the at least one spare server to the current execution state.

[0042] In fact, this role updating configuration allows for efficient use of network resources (spare servers). Each spare server can be configured to take on any role (the first available role or another available role), which reduces the number of spare servers. Therefore, there is no need to prepare a dedicated spare server for each possible role. Notification of an available role can be achieved, for example, by sending a message to the spare server. The message can be sent using, for example, a multicast protocol, which allows the message to reach the spare server faster than polling each spare server one by one.

[0043] Throughout this disclosure, the term "current execution state" as used herein refers to the ongoing functional state of each of the first server and at least one other server before the server fails, is overloaded, or experiences a signal interruption. Specifically, user equipment associated with each server is configured to acquire and store disk images over a period of time. Here, the disk images may include timestamps and instruction codes executed at the particular timestamps, indicating the execution state of the server. For example, in the case of a game application, the disk image may correspond to a level in the game or a timestamp (including the instruction set) at which the game was paused. Furthermore, the acquired disk images are shared with a management layer server, which is configured to share the disk images with spare servers assigned to fill vacant roles.

[0044] In some embodiments, the server system further includes a proxy server layer. The proxy server layer is configured to reroute the reassigned user equipment of the first group to at least one spare server and to reroute the reassigned user equipment of at least one other group to at least one other spare server. Throughout this disclosure, the term "proxy server layer" refers to an intermediary interface between the server and user equipment associated with the first group of user equipment and the other groups of user equipment. In particular, the proxy server layer is configured to request some service from the server, such as a file, a connection, a web page, or other resource available from the first server and / or the other servers. It will be understood that the proxy server layer performs one or more operations, such as providing anonymity to users, using caching to improve performance, and improving security, as known in the art. Furthermore, the server system includes routers, switches, and switch fabrics for performing the rerouting of the first group of user equipment and the other groups of user equipment to specific spare servers. A technical effect of using the above proxy server layer configuration is to enable uninterrupted service for device users. Indeed, reconfiguring the proxy server allows signals from user equipment to be rerouted to spare servers as needed. This will prevent major session stalls and improve usability.

[0045] The present disclosure also relates to a method for improving cybersecurity, to which the various embodiments and modifications disclosed above apply mutatis mutandis.

[0046] In some embodiments, the method further includes notifying the first role as a first vacant role when the operational status of the first server indicates a failure state of the first server, and notifying at least one other role as at least one other vacant role when the operational status of the at least one other server indicates a failure state of the server.

[0047] In some embodiments, the method further includes operating, on the first server, the first executable software according to the first role, and operating, on at least one other server, at least one other executable software according to at least one other role.

[0048] In some embodiments, the first executable software and at least one other executable software are the same. This is advantageous in systems where multiple users are accessing the same executable software, such as the same game, on their respective user equipment. A possible scenario is where a first group of users' user equipment is initially configured to use a first server (running the first executable software), and at least one other group of users accesses at least one other server (running the same first executable software) on their respective user equipment. This means that all users are effectively accessing the same software (e.g., the same game) through their respective user equipment. If the first server fails, the first group of users using the first server on their respective user equipment may experience a service outage (until a backup server is configured to take the role of the first server), but the at least one other group of users using their respective user equipment on their respective at least one other group will not experience a service outage.

[0049] In some embodiments, the first executable software is different from the at least one other executable software.

[0050] In some embodiments, the method further includes, when the operational status of the first server indicates a fault state, determining a current execution state of the first role, and updating the role of a first spare server of the at least one spare server to the current execution state, thereby enabling the first role to be quickly enabled.

[0051] In some embodiments, the method further includes, when the operational status of the at least one other server indicates a fault state, determining a current running state of the at least one other role, and updating the at least one other role of the at least one other spare server of the at least one spare server to the current running state, thereby enabling the first role to be quickly activated.

[0052] In some embodiments, the method further includes determining a time difference between when the status information is analyzed and when the status information is received, analyzing whether this difference is greater than a predetermined time difference, and considering the operational status to indicate a fault condition if the time difference is greater than the predetermined time difference. This provides a fail-safe mechanism in case the server becomes unable to communicate for any reason. The server may, for example, be powered off, its operating system may have crashed, it may be undergoing maintenance, or an application or service may have crashed.

[0053] In some embodiments, the method further includes configuring the proxy server layer to reroute the reassigned user equipment of the first group to at least one spare server and to reroute the reassigned user equipment of the at least one other group to at least one other spare server.

[0054] In some embodiments, the method further includes configuring at least one additional spare server in case at least one spare server is updated to the first role or one other role. This has the advantage of ensuring a sufficient number of spare servers in case another server crashes. Furthermore, according to additional or alternative embodiments, the notified role may be the role of the spare server.

[0055] Referring to FIG. 1 , a block diagram of an exemplary server system 100 is shown in accordance with one embodiment of the present disclosure. As shown, the server system 100 includes a first server 102, at least one other server 104, and at least one spare server 106. Furthermore, the server system 100 includes a first group of user devices 108, 110, and 112 assigned to the first server 102 and at least one other group of user devices 114, 116, and 118 assigned to the other server 104. Here, the spare server 106 is in a standby state because no user devices are assigned to it. Furthermore, the server system 100 includes a management layer server 120 communicatively connected to the first server 102, the at least one other server 104, and the at least one spare server 106. Here, the management layer server 120 is configured to determine the operational status of each of the first server 102, at least one other server 104, and at least one spare server 106 for resource management and traffic rerouting upon failure of the first server 102 and / or the other servers 104.

[0056] 1 is merely an example and should not unduly limit the scope of the claims herein. It will be understood that the specific designation of server system 100 is provided by way of example and is not to be construed as limiting system 100 to any particular number of servers, management layer servers, and user devices. Those skilled in the art will recognize that numerous modifications, alternatives, and variations of the disclosed embodiments are possible.

[0057] 2A and 2B, block diagrams of a network environment of a system 200 according to various embodiments of the present disclosure are shown. As shown, the network environment 200 includes a management tier server 202 (e.g., the management tier server of FIG. 1) communicatively coupled to a first server 204 (e.g., the first server of FIG. 1), a first backup server 206 (e.g., at least one backup server of FIG. 1), and at least one other server 208 (e.g., at least one other server of FIG. 1). Additionally, the network environment 200 includes a database arrangement 210 configured to store the current execution state of each of the servers 204, 206, and 208. Additionally, the network environment 200 includes a proxy server tier 212.

[0058] 2A , a first group of users associated with a first group of user devices 214A, 214B, and 214C are connected to a first server 204 via a proxy server layer 212, and at least one other group of users (a second group of users) associated with at least one other group of user devices 216A, 216B, and 216C are connected to at least one other server 208 via a proxy server layer 212. Here, the first server 204 operates first executable software according to a first role, and the at least one other server 208 operates second executable software according to a second role. Furthermore, the first server 204 and the at least one other server 208 are configured to send status information to the management layer server 202. Here, the first server 204 and the at least one other server 208 send status information as "ACTIVE", thereby maintaining connections between the user equipment 214A, 214B, 214C and the first server 204, and between the user equipment 216A, 216B, 216C and the at least one other server 208.

[0059] As shown in FIG. 2B , the first server 204 and at least one other server (also referred to as the second server) 208 are configured to send status information to the management layer server 202. Here, the first server 204 sends the status information as “FAILED,” and the at least one other server 208 sends the status information as “ACTIVE” to the management layer server 202. In this case, the management layer server 202 is configured to notify the first role as an available role and assign user devices 214A, 214B, and 214C associated with the first group of user devices to the first backup server 206. Here, rerouting of the first group of users is performed by the proxy server layer 212. Furthermore, the first backup server 206 is configured to execute first execution software according to the first role. Specifically, the first backup server 206 accesses the current execution status from the database arrangement 210. Furthermore, as described above, at least one other server 208 is assigned so that at least one other group of users (second group of users) associated with user devices 216A, 216B, and 216C are connected to at least one other server 208 via proxy server layer 212. Here, at least one other server 208 operates second executable software according to a second role. Here, backup server 206 sends status information as “ACTIVE” to management layer server 202, thereby maintaining the connections between user devices 214A, 214B, and 214C and backup server 206. Also, at least one other server 208 sends status information as “ACTIVE” to management layer server 202, thereby maintaining the connections between user devices 216A, 216B, and 216C and at least one other server 208. For clarity of expression, at least one other server can be considered a second server relative to the first server. At least one other group of user equipment (and respective users) may be considered a second group for clarity of presentation.

[0060] Referring to FIG. 3, a block diagram illustrating functional elements employed in a server system 300 for rerouting user equipment from one server to another is shown, in accordance with one embodiment of the present disclosure. As shown, the server system 300 includes an administrative tier server 302 in communication with a router 304 that reroutes traffic from one server to another. The router 304 is further connected to a first server 306 and a backup server 308. User equipment 310 and 312 are assigned to the first server 306 and the backup server 308 via switches 314 and 316, respectively. As shown, the user equipment 310 includes a memory 310A configured to store its current execution state. Furthermore, the user equipment 312 includes a memory 312A configured to store its current execution state. Furthermore, status information of the first server 306 is transmitted to the administrative tier server 302. If the status information is "ACTIVE," the router 304 establishes a link "A" between the first server 306 and the user equipment 310, 312. If the status information is "FAILED," the router 304 establishes a link "B" between the backup server 308 and the user equipment 310, 312, as shown.

[0061] Referring to FIG. 4, a block diagram illustrating the architecture of a management layer server 400A in communication with a switch 400B is shown, according to one embodiment of the present disclosure. As shown, the management layer server 400A includes a processor 402 provided with a random access memory (RAM) 404, a flash memory 406, a BIOS 408, and an operating system (OS) 410. The management layer server 400A also includes a power supply 412. The primary function of the management layer server 400A is configured to improve server operation efficiency. The processor 402 operates at low power consumption and a low clock frequency. The processor 402 controls and processes signals from the switch 400B. In response to a polling request, the processor reads status information from the RAM 418 of the switch 400B to determine the operating status of user devices. The flash memory 406 is configured to store boot code from the BIOS 408 and code from the OS 410 to enable operation of the management layer server 400A. RAM 404 is configured to store the updated role of each server and to maintain a structured list of each server's operational status.

[0062] As shown, switch 400B communicates with management layer server 400A via bus 414. Switch 400B includes a processor 416 for controlling its operation and for determining the destination of each data packet to ensure reliable transmission of data. In addition, processor 416 maintains a list of various parameters corresponding to the operating status of the server. Such information is stored in RAM 418 or non-volatile memory 420 of switch 400B.

[0063] 5A and 5B, a flowchart 500 illustrating steps of a server system management method according to an embodiment of the present disclosure is shown. In step 502, a first server performs a first role. In step 504, at least one other server performs at least one other role. In step 506, a first group of user equipment is assigned to access the first server, and at least one other group of user equipment is assigned to access at least one other server. In step 508, status information is received from the first server and at least one other server. In step 510, the operational status of the first server and the operational status of the at least one other server are determined by analyzing the status information. In step 512, when the operational status of the first server indicates a fault state, the role of a first spare server of the at least one spare server is updated to the first role, and the user equipment of the first group is reassigned to the first spare server of the at least one spare server. In step 514, when the operation status of the at least one other server indicates a failure state, the role of another one of the at least one spare server is updated to at least one other role, and user equipment of at least one other group is reassigned to the at least one other spare server.

[0064] The embodiments of the present disclosure described above can be modified without departing from the scope of the disclosure, which is defined in the appended claims. The terms "including," "comprising," "incorporating," "having," "being," and the like, as used to describe and claim the present disclosure, are intended to be interpreted in a non-exclusive manner, i.e., allowing for the presence of items, components, or elements not expressly described. Also, reference to the singular is to be interpreted as referring to the plural as well.

Claims

1. a first server configured to perform a first role; at least one other server configured to perform at least one other role; at least one spare server; a management tier server; The management layer server comprises: classifying a plurality of user equipment into a first group and at least one other group based on geographic location; assigning user equipment of the first group to access the first server and assigning user equipment of the at least one other group to access the at least one other server; receiving status information transmitted from the first server and status information transmitted from the at least one other server; analyzing the status information to determine an operational status of the first server and an operational status of the at least one other server; When the operational status of the first server indicates a failure state, updating a role of a first spare server among the at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role and reassigning user equipment of the at least one other group to the at least one other spare server; A server system configured to implement the above.

2. 2. The server system of claim 1, wherein the management layer server is further configured to notify the first role as a first vacant role when the operational status of the first server indicates a failure state of the first server, and to notify the at least one other role as at least one other vacant role when the operational status of the at least one other server indicates a failure state of the at least one other server.

3. 3. The server system according to claim 1, wherein the first server operates a first executable software in accordance with the first role, and the at least one other server operates at least one other executable software in accordance with the at least one other role.

4. 4. The server system of claim 3, wherein the first executable software and the at least one other executable software are the same.

5. 4. The server system of claim 3, wherein the first executable software and the at least one other executable software are different.

6. 6. The server system of claim 1, wherein when the operational status of the first server indicates a failure state, the management layer server is further configured to determine a current execution state of the first role and update a role of the first spare server among the at least one spare server to the current execution state.

7. 7. The server system of claim 1, wherein when the operational status of the at least one other server indicates a failure state, the management layer server is further configured to determine a current execution state of the at least one other role and update the at least one other role of the at least one other spare server among the at least one spare server to the current execution state.

8. The server system according to claim 1 , wherein the operating status indicates a malfunction when a time difference between when the status information is analyzed and when the status information is received is greater than a predetermined time difference.

9. further comprising a proxy server layer; 9. The server system of claim 1, wherein the proxy server layer is configured to reroute the reassigned user equipment of the first group to the at least one spare server and to reroute the reassigned user equipment of the at least one other group to the at least one other spare server.

10. Executing a first role in a first server; performing at least one other role on at least one other server; classifying a plurality of user equipment into a first group and at least one other group based on geographic location; assigning user equipment of the first group to access the first server and assigning user equipment of the at least one other group to access the at least one other server; receiving status information from the first server and status information from the at least one other server; determining an operational status of the first server and an operational status of the at least one other server by analyzing the status information; When the operational status of the first server indicates a failure state, updating a role of a first spare server among at least one spare server to the first role and reassigning user equipment of the first group to the first spare server among the at least one spare server; When the operation status of the at least one other server indicates a failure state, updating a role of another one of the at least one spare servers to the at least one other role and reassigning user equipment of the at least one other group to the at least one other spare server; A server system management method comprising:

11. 11. The server system management method of claim 10, further comprising: notifying the first role as a first vacant role when the operational status of the first server indicates a failure state of the first server; and notifying the at least one other role as at least one other vacant role when the operational status of the at least one other server indicates a failure state of the at least one other server.

12. 12. The server system management method of claim 10 or 11, further comprising: operating, in the first server, first executable software in accordance with the first role; and operating, in the at least one other server, at least one other executable software in accordance with the at least one other role.

13. 13. The server system management method of claim 12, wherein the first executable software and the at least one other executable software are the same.

14. 13. The method of claim 12, wherein the first executable software and the at least one other executable software are different.

15. 15. The server system management method according to claim 10, further comprising: determining a current execution state of the first role when the operational status of the first server indicates a faulty state; and updating a role of the first spare server among the at least one spare server to the current execution state.

16. 16. A server system management method according to claim 10, further comprising: determining a current execution state of the at least one other role when the operational status of the at least one other server indicates a fault state; and updating the at least one other role of the at least one other spare server among the at least one spare server to the current execution state.

17. determining a time difference between the moment of analysis of the situation information and the moment of receipt of the situation information; analyzing whether the time difference is greater than a predetermined time difference; determining that the operating condition indicates a fault condition if the time difference is greater than the predetermined time difference; The server system management method according to any one of claims 10 to 16, further comprising:

18. 18. The server system management method of claim 10, further comprising: configuring a proxy server layer to reroute the reassigned first group of user equipment to the at least one spare server and to reroute the reassigned at least one other group of user equipment to the at least one other spare server.

19. 18. The server system management method according to claim 10, further comprising: configuring at least one additional spare server in case the at least one spare server is updated to the first role or the one other role.

20. 1. A method for managing a server system comprising a first server for executing first software according to a first role, at least one other server for executing at least one other software according to a second role, at least one spare server having a third role, and a management layer server, the method comprising: providing a list of roles to the management tier server; classifying a plurality of user equipment into a first group and at least one other group based on geographic location; assigning user devices of the first group to access the first software executable running on the first server and assigning user devices of the at least one other group to access the at least one other software executable running on the at least one other server; transmitting, by the first server and the at least one other server, status information to the management tier server; receiving, by the management tier server, the status information and analyzing the received status information to determine a first operational status of the first server and a second operational status of the at least one other server; notifying, by the management layer server, the first role as a vacant role when the first operational status indicates a failure in the first server, and notifying, by the management layer server, the second role as a vacant role when the second operational status indicates a failure in the at least one other server; updating the third role of the at least one spare server as the notified vacant role; executing third software in accordance with the updated third role in the at least one spare server; reassigning user equipment of the group that was assigned to the failed server to access the third software executable running on the at least one spare server; A server system management method comprising:

Citation Information

Patent Citations

  • Proxy server, communication system, communication method, and program

    JP2008102823A

  • Service management device, method, and program

    JP2008186359A

  • Information processing unit, information processing method and program

    JP2012027903A

  • Node device, cluster system, fail-over method and program

    JP2014089506A

  • System and method for ensuring high availability in an enterprise IMS network

    US20140095688A1