WO2018151536A1 - 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 - Google Patents
멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 Download PDFInfo
- Publication number
- WO2018151536A1 WO2018151536A1 PCT/KR2018/001948 KR2018001948W WO2018151536A1 WO 2018151536 A1 WO2018151536 A1 WO 2018151536A1 KR 2018001948 W KR2018001948 W KR 2018001948W WO 2018151536 A1 WO2018151536 A1 WO 2018151536A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- game
- server
- api
- tenants
- api server
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Definitions
- the present invention relates to a method and apparatus for automatically generating auto scaling call rules for individual tenants in a multi-tenancy environment. More specifically, the present invention relates to a method and apparatus for a backend as a service (BaaS) for creating / managing a game API (application programming interface) server with one click on a cloud basis.
- a backend as a service BaaS
- game API application programming interface
- the current mobile game server development process is being carried out in a copy and paste manner that reuses the previous code because of the “similarity of functions” described in the previous section.
- a new game When a new game is added, it copies the previously written server code from the repository, modifying and reusing only part of it.
- the object of the present invention is to solve all the above-mentioned problems.
- Another object of the present invention is to provide a Baas (Backend as a Service) for game developers more convenient game development.
- API application programming interface
- the system automatically sets the auto-scaling call rules for each tenant to generate the auto-scaling call rules for each tenant with only minimal operational data for each tenant, and also automatically performs the autoscaling call rules for each tenant. The purpose.
- a method for automatically generating an autoscaling calling rule for each tenant in a multi-tenancy environment may be performed by a backend as a service (BaaS) management server operating in a cloud-based multi-tenancy environment from a plurality of tenants.
- a backend as a service (BaaS) management server operating in a cloud-based multi-tenancy environment from a plurality of tenants.
- API application programing interface
- a processor operatively connected, wherein the processor receives a request for a game application programming interface (API) server from the plurality of tenants in a cloud-based multi-tenancy environment, and according to the request, the game API
- API application programming interface
- the plurality of tenants may be provided with functions necessary for game development and running based on the game API server.
- BaaS for more convenient game development of a game developer can be provided.
- game developers can more conveniently develop the game with less human / material resources.
- system automatically sets the auto scaling call rule for each tenant to generate an auto scaling call rule for each tenant with minimal operational data for each tenant, and automatically performs the auto scaling call rule for each tenant.
- FIG. 1 is a conceptual diagram illustrating a development method for an existing back-end server.
- FIG. 2 is a conceptual diagram illustrating a game BaaS according to an embodiment of the present invention.
- FIG. 3 is a conceptual diagram illustrating a method of providing a game API server based on a cloud according to an embodiment of the present invention.
- FIG. 4 is a conceptual diagram illustrating a service providing method through a game API server according to an exemplary embodiment of the present invention.
- FIG. 5 is a conceptual diagram illustrating a traffic demand prediction method specialized for a mobile game server according to an embodiment of the present invention.
- FIG. 6 is a conceptual diagram illustrating a game API server operating method according to an embodiment of the present invention.
- FIG. 7 is a conceptual diagram illustrating a structure of a BaaS management server according to an embodiment of the present invention.
- FIG. 8 is a conceptual diagram illustrating the operation of BaaS according to an embodiment of the present invention.
- FIG. 9 is a conceptual diagram illustrating an operation of a BaaS management server according to an embodiment of the present invention.
- FIG. 10 is a conceptual diagram illustrating an operation of a BaaS management server according to an embodiment of the present invention.
- FIG. 11 is a conceptual diagram illustrating a method for automatically generating auto scaling call rules for individual tenants in a multi-tenancy environment according to an embodiment of the present invention.
- FIG. 12 is a conceptual diagram illustrating a method for automatically setting a tenant auto scaling call rule according to an embodiment of the present invention.
- the mobile game may be driven based on an application (APP, application) installed on the device and a back-end application programming interface (API) server that performs invisible functions.
- the back-end API server for mobile games has similar features such as membership / login / item / chart / ranking / character / ranking / level regardless of game genre and size. Due to these characteristics, the production process of the mobile game server can be standardized and automated.
- BaaS Backend as a Service
- Creating a game using the game server BaaS can dramatically reduce production time and costs. With the introduction of the game server BaaS, we can catch two rabbits: reduced costs and shorter development time. You can also add these savings to your game production to make your games even higher.
- the game server BaaS may provide 1 game API server automatic production function, 2 server auto scaling, 3 game management function, and the like.
- Game server BaaS according to an embodiment of the present invention can create and provide a game API server for game developers within a certain time with just one click. Through this, domestic game developers can shorten the production period and cost of the game, and can create high-quality games by investing the reduced production period and the cost in other development.
- FIG. 1 is a conceptual diagram illustrating a development method for an existing back-end server.
- FIG. 2 is a conceptual diagram illustrating a game BaaS according to an embodiment of the present invention.
- the game BaaS may provide a game developer with one-click on a cloud server a back-end server that provides a game API used in a game.
- the mobile game may operate based on a game API server that is in charge of an app installed on the device and a member registration, login, item purchase function, and the like.
- Game API server for these functions is composed of standardized functions regardless of game genre and size and can be automated.
- the game BaaS may automatically generate / provide an integrated DB (database) and a game API server according to a game genre / interlocked SNS / item type / character type / ranking type.
- it may be a cloud service of a multi-tenancy environment that provides a service to a plurality of game servers, and the service may be provided for each tenant.
- the game BaaS may directly develop a game app without going through a separate game API server production step.
- FIG. 3 is a conceptual diagram illustrating a method of providing a game API server based on a cloud according to an embodiment of the present invention.
- FIG. 3 a network for the game BaaS is disclosed.
- the BaaS management server may provide a game API server by interworking with each tenant (eg, a game server) in a cloud-based multi-tenancy environment.
- the game API server implements APIs available to game developers. Game developers can implement the game by selectively utilizing the API required for the game among the available APIs implemented in the game API server.
- the BaaS management server may provide a game developer with a game API server that implements all APIs that can be provided in advance, or provide a game API server that implements only APIs required by the game developer.
- the BaaS management server may check the load on the API server provided to perform the game and perform scale up / scale out of the game API server.
- the BaaS management server may predict the load (eg, central processing unit (CPU) load, memory load, etc.) of the game API server through a separate prediction unit or prediction server.
- the prediction unit (or separate prediction server) of the BaaS management server may perform load prediction based on a separate game API server rather than a game API server provided to a real game developer in order to predict the load of the game API server.
- Cloud services in a multi-tenancy environment that provides services to a plurality of clients (game servers) like the present invention require traffic control for each tenant. Traffic control can be handled to some extent by auto scaling, but the call rule of auto scaling has a problem that can be generated only after accumulating operational data.
- the tenant may be a game server serviced by a BaaS management server according to an embodiment of the present invention.
- BaaS management server according to an embodiment of the present invention can provide a cloud service of a multi-tenancy environment providing a service to a plurality of tenants.
- the game BaaS provides a simpler software development kit (SDK) for connecting the application and the game API server, so that instead of the complex code (e.g. 100 lines) for connecting the existing application to the game API server,
- SDK software development kit
- the connection between the application and the game API server may be performed through code (for example, two lines).
- BaaS-based multi-tenancy service is composed of a server infrastructure consisting of infrastructure as code (IaC), REST (Representational State State Transfer) API, the SDK for the client, the REST API is an interface between the back end and the client It is responsible for collecting metrics such as when and how many times the SDK accesses the REST API.
- IaC infrastructure as code
- REST Real-Representational State State Transfer
- FIG. 4 is a conceptual diagram illustrating a service providing method through a game API server according to an exemplary embodiment of the present invention.
- FIG. 4 a method of implementing necessary functions on a game based on a game API server provided by a BaaS management server in a game developer device is disclosed.
- the game developer device may set a project name of a game to be developed and select a project type of the game. For example, if a game developer wants to develop a sports game, the sports game may be selected as the project type.
- the game developer device may select a character API server, a skill API server, an item API server, and the like among game API servers provided by the BaaS management server.
- Existing game developers have set up a separate backend API server for the development / implementation of characters, skills, and items used in games when developing games, and separately developed functions for characters, skills, and items.
- the game API server includes a character API server, skill API server, item API server for the development / setting of the character, skill, item, etc. of the sports game, the game developer is required API server Optionally available.
- the game developer does not need to set up a separate backend API server for functions such as characters, skills, and items to be used in the game, and develop functions for characters, skills, and items, and the character API server and skills included in the game API server.
- Such a game API server may be provided by grouping into a game API server group.
- the state of the server, whether the server is automatically expanded, etc. may be additionally set through the game developer device.
- the game BaaS may provide an event management function, a game information management function, a maintenance function, a push sending function, an error report function, a game log function, a ranking management function, a server setting function, and the like.
- a game API server for developing characters, skills, items, and the like related to a game may be provided through a game information management function.
- a game API server for push sending may be provided to game users through a push sending function.
- a game API server for social login may be provided through a game log function.
- a game API server for a notification management function, a member management function, and the like may be provided through BaaS.
- FIG. 5 is a conceptual diagram illustrating a traffic demand prediction method specialized for a mobile game server according to an embodiment of the present invention.
- the game BaaS may perform a search for a pattern after classifying traffic by day.
- a mobile game server with an Intelligence Load Balancer (hereinafter referred to as ILB) can apply an automatic server scale out function without any separate measurement and analysis process.
- ILB Mobile games do not distribute traffic, but tend to focus on specific periods of time. ILB can take advantage of a predefined event calendar to preemptively generate unusual traffic. Mobile game servers using ILB can operate without interruption by automatic server expansion even in the event of traffic explosion. ILB can automatically perform AutoScale Up and AutoScale Out for game API servers.
- FIG. 6 is a conceptual diagram illustrating a game API server operating method according to an embodiment of the present invention.
- Game BaaS can support the use of Scale Out without advanced technical personnel by setting the Scale Out rule with the game genre / standardized traffic pattern.
- FIG. 7 is a conceptual diagram illustrating a structure of a BaaS management server according to an embodiment of the present invention.
- the BaaS management server may have a plurality of hierarchical structures.
- the plurality of hierarchical structures may include a business layer 700, a cache layer 710, a persistence layer 720, and an analysis layer 730.
- the business layer 700 may include a plurality of game API servers.
- the plurality of game API servers may be servers for providing functions used by game developers.
- the plurality of game API servers may include a subscription API server, a login API server, an item API server, a character API server, and the like.
- a game developer device using a BaaS and / or a game server (hereinafter referred to as a game server) may provide a user device with necessary functions in cooperation with at least one API server among a plurality of API servers.
- SDK software development kit
- game developers can utilize a plurality of game API servers provided by the BaaS management server.
- the BaaS management server can be used as a template by creating a docker image of standardized functions such as subscription, login, items, charts, ranking, and payment.
- the docker image stored when the new game server is generated may be distributed to the called server so that the game API server may be activated at the same time as the game server is created.
- Information transmitted from each game server through the plurality of game API servers may be stored in a data storage layer such as a cache layer 710 and / or a persistence layer 720.
- a data storage layer such as a cache layer 710 and / or a persistence layer 720.
- the game server is provided with the user login function through the login API server included in the BaaS management server, the user login information is stored in the cache layer 710 and / or the persistence layer 720 through the game API server.
- the game API server may call data stored in the cache layer 710 and / or persistence layer 720 as needed, and the cache layer 710 and / or persistence layer 720 transfer the called data to the game API server.
- the cache layer 710 may provide a fast API query function based on a memory map.
- the cache layer 710 may be implemented to store data frequently called through a plurality of API servers.
- the cache layer 710 may store data that requires fast processing or frequently called among data stored / managed in the persistence layer 720.
- the persistence layer 720 is a layer responsible for data processing (creation / modification / deletion / selection (search)) of data.
- Persistence layer 720 may be implemented for data storage / management for the operation of a plurality of API server.
- Table 1 below shows exemplary storage solutions and types of each of the persistence layer 720 and the cache layer 710.
- the analysis layer 730 may be implemented to manage the operations of the business layer 700, the cache layer 710, and the persistence layer 720 through state analysis of the BaaS management server.
- the analysis layer 730 may serve as an intelligence load balancer (ILB) for load balancing a plurality of game API servers.
- ILB intelligence load balancer
- the analysis layer 730 dynamically collects traffic for a certain period of time (eg, day / time) to dynamically generate an AutoScale calling rule.
- Game server operators can use the AutoScale environment without the need for advanced server management personnel, and mobile game servers with ILB can run uninterrupted even under heavy traffic.
- the analysis layer 730 determines data to be stored / managed in the cache layer 710, data to be stored / managed in the persistence layer 720, and data on the cache layer 710 and / or persistence layer 720. You can save / manage the data.
- FIG. 8 is a conceptual diagram illustrating the operation of BaaS according to an embodiment of the present invention.
- FIG. 8 illustrates a management method for a plurality of game API servers to be linked with a game server.
- a plurality of game API servers may operate in conjunction with game servers 810, 820, and 830.
- BaaS may operate in conjunction with a plurality of game servers 810, 820, and 830 for each of a plurality of games, and the plurality of game API servers provided by BaaS may be matched with game servers 810, 820, and 830. Can be.
- the plurality of game API servers may correspond to the game server in various ways.
- a plurality of game API servers may be grouped into game API server groups 850 and 860, respectively, and game API server groups 850 and 860 may be matched with at least one game server 810, 820, 830. have.
- One game API server group 850 and 860 may be a collection of all APIs provided by BaaS.
- one game API server group 850 and 860 may include a membership API, a login API, an item API, a chart API, a ranking API, a payment API, and the like.
- the throughput required by game server 1 810 exceeds a threshold throughput that can be processed through one game API server group 1 850, then another plurality of game API server group 2 860 may be gamed.
- the server 1 810 may be additionally matched to satisfy the throughput required by the game server 1 810.
- game server 1 810 determines whether the throughput required by game server 1 810 is less than the threshold throughput that can be processed through one game API server group 1 850.
- another game server 820 provided with services based on the BaaS management server.
- the service may be provided using the same game API server group 1 (850) as game server 1 (810). That is, one game API server group 1 850 may provide a service to a plurality of different game servers 810 and 820.
- scaling such as server expansion / server reduction may be performed in consideration of throughput of a plurality of game API server groups.
- the analysis layer establishes a matching relationship between the game API server group and the game server by analyzing the throughput required by the game server to determine whether to scale to the server, such as server expansion, server maintenance, or server shrinkage. Can be done.
- FIG. 9 is a conceptual diagram illustrating an operation of a BaaS management server according to an embodiment of the present invention.
- FIG. 9 illustrates a management method for a plurality of game API servers to be linked with a game server.
- At least one game API server among a plurality of game API servers provided as BaaS may be separated, and BaaS may be provided to the game server based on the separated at least one game API server.
- separation of the game API server with high throughput among the plurality of game API servers included in the business layer may be performed, and allocation of a separate server resource to the separated game API server and management of server resources May be performed to provide BaaS.
- the analysis result of the analysis layer, the login API throughput among the membership API, login API, item API, chart API, ranking API, payment API included in the game API server group 900 may be greater than or equal to the threshold throughput.
- the login API 920 may be separated from the game API server group 900 and managed as a separate game API server group 950.
- the analysis layer may provide a service to the game server by applying separate server scaling to the separated game API server group 950.
- game server 1 and game server 2 may be provided with a subscription API, login API, item API, chart API, ranking API, payment API function through game API server group 1, game server 1 and game server.
- the server allocated to the game API server group 1 can be expanded or reduced according to the throughput required in 2.
- the game server 1 may be provided with the login API function through the separate API server group 1, and the game server 2 may be provided with the login API function through the separate API server group 2.
- Scaling of the servers included in the separate API server group 1 may be performed according to the login related throughput required by the game server 1.
- Expansion / contraction of the servers included in the separate API server group 2 may be performed according to the login related throughput required by the game server 2.
- separate separation may be performed for at least one game API server among the plurality of game API servers included in the game API server group according to the determination of the separation layer.
- Separate game scaling may be applied to the game API server group and the game API server group.
- FIG. 10 is a conceptual diagram illustrating an operation of a BaaS management server according to an embodiment of the present invention.
- FIG. 10 a management method of a plurality of game API servers to be linked with a game server is disclosed.
- a plurality of game API server management method over time is disclosed.
- the BaaS management server may collect throughput of each of the plurality of game API servers over time, and predict the throughput of each of the plurality of game API servers over time to group the plurality of game API servers.
- the BaaS management server may perform throughput analysis for each time slot for each of a plurality of game API server groups matching the plurality of game servers and a plurality of game API servers included in the plurality of game API server groups.
- the API server may mean a game API server.
- the first game API server group 1010 may include a first API server 1 1013, a first API server 2 1016, and a first API server 3 1019.
- the second game API server group 1020 may include a second API server 1 1023, a second API server 2 1026, and a second API server 3 1029.
- the third game API server group 1030 may include a third API server 1 1033, a third API server 2 1036, and a third API server 3 1039.
- API server 1 1013, 1023, 1033 may be a login server
- API server 2 1016, 1026, 1036 may be a subscription server
- API server 3 1019, 1029, 1039 may be an item server.
- first API server 1 1013, first API server 2 1016, first API server 3 1019), second API server 1 1023, second API server 2 (1026), second API server 3 (1029), (third API server 1 (1033), third API server 2 (1036), third API server 3 (1039) may be adaptively grouped. Can be.
- the total time may be divided into a plurality of time intervals, and the game API server group may be changed according to the plurality of time intervals.
- first API server 1 (10) 1013, first API server 2 (20) 1016, first API server 3 (30) 1019), (second API server 1 (30) 1023, 2nd API server 2 (10) 1026, 2nd API server 3 (20, 1029)), (3rd API server 1 (50) 1033, 3rd API server 2 (10) 1036, the third API server 3 (10, 1039) may be assumed to be required.
- the parenthesis next to the server is an arbitrary representation of throughput.
- the first API server 2 (20) 1016, the first API server 3 (30) 1019, the second API server 3 (20) ( 1029), the third API server 2 (10) 1036 and the third API server 3 (10) 1039 may be set as the second 'game API group 1050 to process a request of the game server.
- the game API group may be adaptively regrouped in consideration of the required throughput for each game API server over time, and accordingly, server scaling may be efficiently performed while reducing the required amount of server resources.
- FIG. 11 is a conceptual diagram illustrating a method for automatically generating auto scaling call rules for individual tenants in a multi-tenancy environment according to an embodiment of the present invention.
- the cloud service 1100 of a multi-tenancy environment that provides a service to a plurality of clients (game servers) as in the present invention may adaptively adjust traffic for each of the plurality of tenants 1110, 1120, and 1150. This is necessary.
- Tenants 1110, 1120, and 1150 may be game servers serviced by the BaaS management server according to an embodiment of the present invention. Traffic control can be handled to some extent with the existing auto scaling, but the current auto scaling call rule is set and generated by humans after the accumulation of operational data.
- autoscaling may not operate normally until sufficient operational data is accumulated, and setting of the autoscaling calling rules based on the judgment of a person may result in each tenant 1110.
- traffic expansion may not be properly handled.
- the autoscaling call rule for each tenant is generated using only minimal operational data, and the autoscaling call rule is automatically performed. Aim.
- each tenant 1110, 1120, 1150 operates its own service with an architecture and an interface provided by a multi-tenancy provider (BaaS provider). This may mean that even though the services between tenants 1110, 1120, and 1150 are different, the back end infrastructure and the interface used are the same.
- BaaS provider multi-tenancy provider
- the BaaS-based multi-tenancy service may be composed of a server infrastructure configured with infrastructure as code (IaC), a REST API, and a client SDK.
- IaC infrastructure as code
- REST API is responsible for the interface between the backend and the client, and can collect metrics such as when and how many times the SDK accesses the REST API.
- REST APIs can be included in the business layer.
- the analysis layer may collect operational data for each of the tenants 1110, 1120, and 1150 and generate rules.
- the analysis layer can include a flexible, scalable data store, a log collector that collects operational data, and a data visualization tool that analyzes the collected operational data and outputs them as rules.
- operation data for tenants 1110, 1120, and 1150 may be collected in a data store.
- Operational data is collected by the log collector of the analysis layer, and the log collector can be built in the IaC infrastructure for multi-tenant to proceed with the collection.
- Data collected by the log collector are the interface call time (YYMMDDHHMM), the calling interface, and the parameters passed to the interface.
- call time data The most important of these is call time data.
- the call time can be collected in minutes. Collecting operational data, in seconds or microseconds, is not a good fit for generating autoscaling rules and can be a waste of computing power because the time that autoscale takes is minutes.
- Operational data can be divided into individual tenant data and multi-tenant data.
- the data per individual tenant may be operational data associated with individual tenants, and the data per multi-tenant may be operational data associated with multiple tenants.
- the main tenant data of an individual tenant may include traffic information by day, traffic information by hour, and traffic information by event.
- Day traffic information may include information on traffic by day. All services have different traffic by day depending on the characteristics of the service. Traffic information for each day of the week may be collected through a search and registration request for traffic information for each day of the service.
- the time zone traffic information may include information on time zone traffic. According to the characteristics of the service, the traffic trend varies according to time zones, and there are some services in which more than 90% of traffic flows in a specific time zone. Tenants 1110, 1120, and 1150 that provide this type of service are very difficult to manage traffic in a multi-tenancy environment. Therefore, the information on the traffic trends according to time zones may be collected through the time-domain traffic trend information search and registration request.
- the traffic information per event may include information about traffic for each event.
- a game service may show a sharp increase in traffic during the vacation season and a webtoon service may show a pattern of increasing traffic on holidays such as Children's Day and Christmas.
- the characteristics that affect time such as holidays, vacations, etc. in the area where the service is provided are collectively called 'events', and the event information may vary from country to country.
- the analysis layer analyzes traffic information by day, hourly traffic information, and traffic information by event to define traffic patterns and set auto scaling call rules.
- the auto scaling call rule set according to the defined traffic pattern information may be stored in a relational database of a persistent layer that can be accessed and used by the auto scaling call rule system.
- a traffic pattern may be defined as below based on the traffic information of each day and the hourly information, and an auto scaling call rule may be set.
- game API server call records for each of a plurality of game API servers included in a game API server group may be collected.
- the game API server call record may include information about time (year / month / day / hour / minute, YYMMDD HH: MM), called uniform resource locator (URL), and passed parameters.
- the number of calls can be counted in minutes based on the game API call history. For example, a day could be split into minutes for the login API server, resulting in a count of minute calls. That is, the number of minute calls for each of the plurality of game API servers may be counted based on the API call records for each of the plurality of game API servers.
- the above process may be repeated on a weekly basis, and the minute share of each day of the plurality of game API servers may be calculated based on the number of minute calls to each of the plurality of game API servers aggregated on a daily basis.
- the minute share by day is grouped by week so that the share of minute by week is calculated for each of the plurality of game API servers.
- the average value of the daily minute share of each of the plurality of game API servers for each day of the week may be calculated. For example, the average share value of Monday's minutes, the average share of Tuesday's items, and the like of the item API server of the game API server may be determined.
- the weighted average value may be calculated by setting a higher weight as the adjacent value based on the current time point when calculating the daily minute share average value for each of the plurality of game API servers. Based on the current point in time, the daily share of the weekly share before 1 week is assigned a weight higher than the daily share of the weekly share before 2 weeks, and the weighted average value to which the weight value is applied may be calculated.
- information (or inflection point information) about an interval (or a time point) requiring server scaling is stored in a storage unit (for example, a relational database management system (RDBMS)).
- RDBMS relational database management system
- the RDBMS is a data storage structure contained in the persistent layer.
- a schedule for auto scaling is registered in the scaling scheduler server based on information on a section (or time point) that requires server scaling registered in the RDBMS, and is assigned to each of a plurality of game API servers based on the schedule for auto scaling. You can scale server resources.
- a traffic pattern may be defined as below based on event information of each event, and an auto scaling call rule may be set.
- the lifespan of a mobile game can be short, and therefore setting up an autoscaling calling rule based on a record of a yearly event can be meaningless. For example, if a game-related event is provided for a specific game on Children's Day 2017, it may be meaningless to predict the traffic by using the data on Children's Day 2018. In addition, events provided within one area may have an average effect.
- an event day is registered in the analysis layer, and when the event registration date ends, the event for each of the plurality of game API servers
- the increase / decrease of the share may be determined by comparing the minute share of the registration date with the minute share of the corresponding day.
- the increase and decrease of the occupancy may be determined for each of the plurality of game API servers.
- the occupancy increase / decrease of each game may be determined at the event of a plurality of events, and the average value of the occupancy increase / decrease of the game may be determined at the event of a plurality of events.
- the average value of occupancy increase / decrease for each game may be determined for each event type.
- an average value of share increase / decrease by game by event category may be determined by classifying an event category (for example, a subscription event or an item presentation event), or by game by event category according to a category of an event to be performed.
- Auto scaling may be performed for each of the plurality of game API servers based on the average value of occupancy increase and decrease.
- Information on the average value of the share increase / decrease by game at the event may be registered in the storage unit (eg, RDBMS).
- the schedule for autoscaling at the event is based on the information on the average value of the share increase / decrease by game (or the average value of share increase / decrease by game by event category) stored in the storage and the average value of daily share share by event.
- the server resources allocated to each of the plurality of game API servers may be scaled based on the schedule for auto scaling.
- the plurality of game API servers are based on the average value of the share increase / decrease of the share per game and the average share of the Wednesday minute share for each of the plurality of game API servers. Auto scaling on server resources allocated to each may be performed.
- FIG. 12 is a conceptual diagram illustrating a method for automatically setting a tenant auto scaling call rule according to an embodiment of the present invention.
- traffic pattern information of a tenant is defined through a method of collecting and analyzing traffic operation data for each tenant, it is possible to set an auto scaling call rule.
- the areas where autoscaling should be applied are the server instance (or business layer) responsible for the REST API, and the persistent layer where the data is stored. Therefore, both the server instance and the persistent layer may be scalable environments.
- a server computing resource for generating call rules 2) a server computing resource for changing auto scaling call rules, and 3) a scheduler for changing call rules to generate an auto scaling call rule.
- Both 1) and 2) can be configured as functional micro servers of cloud services such as Amazon Web Service (AWS) Lambda and Azure Function.
- Azure Amazon Web Service
- a server computing resource for calling rule generation is defined as a call rule generator 1200
- a server computing resource for autoscaling calling rule change is called a call rule changer 1220
- a call rule change scheduler is defined as a scheduler 1240. Can be.
- the call rule generator 1200 may register a pattern defined by the scheduler.
- the scheduler 1240 may register days of the week and time when autoscaling is to be performed, events and server computing resources to be prepared, and times when autoscaling ends.
- the scheduler 1240 may execute the call rule changer at a predetermined time, and the call rule changer 1220 may apply the day / time / event / server computing resource registered in the scheduler 1240 to the tenant's server infrastructure. .
- Embodiments according to the present invention described above can be implemented in the form of program instructions that can be executed by various computer components and recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device may be modified with one or more software modules to perform the processing according to the present invention, and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
레이어Layer | 스토리지 솔루션Storage Solution | 타입Type | 사용 용도 |
Persistent | MariaDB | RDBMS | 결제, 회원 정보 관리정형 데이터 관리ACID Transaction |
DynamoDB | NoSQL | 게임 데이터 관리BASE Transaction수평적 확장 | |
Elastic Search | NoSQLSearch Engine | 로그 데이터 관리비정형 데이터 분석 | |
Cache | Redis | in-Memory Store | 캐싱 데이터 관리 |
Claims (10)
- 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법은,클라우드 기반의 멀티 테넌시 환경에서 동작하는 BaaS(backend as a service) 관리 서버가 복수의 테넌트로부터 게임 API(application programing interface) 서버에 대한 요청을 수신하는 단계; 및상기 BaaS 관리 서버가 상기 요청에 따라 상기 게임 API 서버를 제공하는 단계를 포함하되,상기 복수의 테넌트는 상기 게임 API 서버를 기반으로 게임 개발 및 구동에 필요한 기능을 제공받는 것을 특징으로 하는 방법.
- 제1항에 있어서,상기 BaaS 관리 서버는 상기 복수의 테넌트 각각의 운영 데이터를 고려하여 오토 스케일링 호출 규칙을 생성하고, 상기 오토 스케일링 호출 규칙을 기반으로 상기 게임 API 서버에 대한 오토 스케일링을 수행하고,상기 운영 데이터는 상기 복수의 테넌트 각각에 대한 요일별 트래픽 정보, 시간대별 트래픽 정보 및 이벤트별 트래픽 정보를 포함하는 것을 특징으로 하는 방법.
- 제2항에 있어서,상기 게임 API 서버는 상기 복수의 테넌트에 의해 제공되는 게임의 구동을 위한 기능을 제공하고,상기 게임 API 서버는 회원가입 API 서버, 로그인 API 서버, 아이템 API 서버, 캐릭터 API 서버 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
- 제3항에 있어서,상기 BaaS 관리 서버가 상기 복수의 테넌트 각각과 상기 게임 API 서버의 연결을 위한 SDK(software development kit)를 제공하는 단계를 더 포함하고,상기 SDK를 기반으로 상기 게임 서버와 상기 게임 API 서버가 연결되고,상기 BaaS 관리 서버는 상기 복수의 테넌트 각각에서 SDK를 기반으로 REST(Representational State Transfer) API로 접근하는 시점 및 횟수에 대한 지표를 수집하여 상기 운영 데이터를 결정하고,상기 REST API는 상기 BaaS 관리 서버와 복수의 테넌트 각각 간의 인터페이스를 담당하는 것을 특징으로 하는 방법.
- 제4항에 있어서,상기 BaaS 관리 서버는 비즈니스 레이어, 캐시 레이어, 퍼시스턴스 레이어 및 분석 레이어를 포함하고,상기 비즈니스 레이어는 상기 게임 API 서버를 포함하는 복수의 게임 API 서버를 포함하고,상기 캐시 레이어 및 상기 퍼시스턴스 레이어는 데이터에 대한 저장 및/또는 관리를 위해 구현되고,상기 분석 레이어는 상기 복수의 게임 API 서버에 대한 스케일링, 상기 캐시 레이어와 상기 퍼시스턴스 레이어에 저장되는 데이터를 관리하기 위해 구현되는 것을 특징으로 하는 방법.
- 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙을 자동 생성하는 BaaS(backend as a service) 관리 서버는,복수의 테넌트와의 통신을 위해 구현되는 통신부; 및상기 통신부와 동작 가능하게(operatively) 연결된 프로세서를 포함하되,상기 프로세서는 클라우드 기반의 멀티 테넌시 환경에서 상기 복수의 테넌트로부터 게임 API(application programing interface) 서버에 대한 요청을 수신하고,상기 요청에 따라 상기 게임 API 서버를 제공하도록 구현되되,상기 복수의 테넌트는 상기 게임 API 서버를 기반으로 게임 개발 및 구동에 필요한 기능을 제공받는 것을 특징으로 하는 BaaS 관리 서버.
- 제6항에 있어서,상기 프로세서는 상기 복수의 테넌트 각각의 운영 데이터를 고려하여 오토 스케일링 호출 규칙을 생성하고, 상기 오토 스케일링 호출 규칙을 기반으로 상기 게임 API 서버에 대한 오토 스케일링을 수행하고,상기 운영 데이터는 상기 복수의 테넌트 각각에 대한 요일별 트래픽 정보, 시간대별 트래픽 정보 및 이벤트별 트래픽 정보를 포함하는 것을 특징으로 하는 BaaS 관리 서버.
- 제7항에 있어서,상기 게임 API 서버는 상기 복수의 테넌트에 의해 제공되는 게임의 구동을 위한 기능을 제공하고,상기 게임 API 서버는 회원가입 API 서버, 로그인 API 서버, 아이템 API 서버, 캐릭터 API 서버 중 적어도 하나를 포함하는 것을 특징으로 하는 BaaS 관리 서버.
- 제8항에 있어서,상기 프로세서는 상기 복수의 테넌트 각각과 상기 게임 API 서버의 연결을 위한 SDK(software development kit)를 제공하도록 구현되고,상기 SDK를 기반으로 상기 게임 서버와 상기 게임 API 서버가 연결되고,상기 프로세서는 상기 복수의 테넌트 각각에서 SDK를 기반으로 REST(Representational State Transfer) API로 접근하는 시점 및 횟수에 대한 지표를 수집하여 상기 운영 데이터를 결정하고,상기 REST API는 상기 BaaS 관리 서버와 복수의 테넌트 각각 간의 인터페이스를 담당하는 것을 특징으로 하는 BaaS 관리 서버.
- 제9항에 있어서,상기 프로세서는 비즈니스 레이어, 캐시 레이어, 퍼시스턴스 레이어 및 분석 레이어를 포함하고,상기 비즈니스 레이어는 상기 게임 API 서버를 포함하는 복수의 게임 API 서버를 포함하고,상기 캐시 레이어 및 상기 퍼시스턴스 레이어는 데이터에 대한 저장 및/또는 관리를 위해 구현되고,상기 분석 레이어는 상기 복수의 게임 API 서버에 대한 스케일링, 상기 캐시 레이어와 상기 퍼시스턴스 레이어에 저장되는 데이터를 관리하기 위해 구현되는 것을 특징으로 하는 BaaS 관리 서버.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019562534A JP6830695B2 (ja) | 2017-02-14 | 2018-02-14 | マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置 |
CN201880010780.4A CN110267717B (zh) | 2017-02-14 | 2018-02-14 | 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170019803 | 2017-02-14 | ||
KR10-2017-0019803 | 2017-02-14 | ||
KR1020180018306A KR102024164B1 (ko) | 2017-02-14 | 2018-02-14 | 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 |
KR10-2018-0018306 | 2018-02-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018151536A1 true WO2018151536A1 (ko) | 2018-08-23 |
Family
ID=63169474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/001948 WO2018151536A1 (ko) | 2017-02-14 | 2018-02-14 | 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018151536A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851512A (zh) * | 2019-10-10 | 2020-02-28 | 上海易点时空网络有限公司 | 用于开源框架的数据配置方法及装置 |
CN113824675A (zh) * | 2020-09-17 | 2021-12-21 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282630A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Backend custom code extensibility |
US20150057078A1 (en) * | 2013-08-20 | 2015-02-26 | Microsoft Corporation | Integrated game development cloud computing platform |
US20160092339A1 (en) * | 2014-09-26 | 2016-03-31 | Oracle International Corporation | Efficient means to test server generated applications on mobile device |
US20160323377A1 (en) * | 2015-05-01 | 2016-11-03 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
-
2018
- 2018-02-14 WO PCT/KR2018/001948 patent/WO2018151536A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282630A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Backend custom code extensibility |
US20150057078A1 (en) * | 2013-08-20 | 2015-02-26 | Microsoft Corporation | Integrated game development cloud computing platform |
US20160092339A1 (en) * | 2014-09-26 | 2016-03-31 | Oracle International Corporation | Efficient means to test server generated applications on mobile device |
US20160323377A1 (en) * | 2015-05-01 | 2016-11-03 | Amazon Technologies, Inc. | Automatic scaling of resource instance groups within compute clusters |
Non-Patent Citations (1)
Title |
---|
AMAZON GAMELIFT DEVELOPER GUIDE, 16 January 2017 (2017-01-16), Retrieved from the Internet <URL:https://web.archive.org/web/20170116031349/http://docs.aws.amazon.com:80/gamelift/latest/developerguide/gamelift-dg.pdf> * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851512A (zh) * | 2019-10-10 | 2020-02-28 | 上海易点时空网络有限公司 | 用于开源框架的数据配置方法及装置 |
CN110851512B (zh) * | 2019-10-10 | 2022-07-12 | 上海易点时空网络有限公司 | 用于开源框架的数据配置方法及装置 |
CN113824675A (zh) * | 2020-09-17 | 2021-12-21 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
CN113824675B (zh) * | 2020-09-17 | 2023-08-08 | 京东科技控股股份有限公司 | 管理登录态的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020017844A1 (ko) | 클라우드 플랫폼에서 복수의 클러스터 및 어플리케이션을 모니터링하는 방법 | |
WO2018203635A1 (ko) | 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법 | |
WO2020224250A1 (zh) | 智能合约的触发方法、装置、设备及存储介质 | |
WO2020017846A1 (ko) | 클라우드 플랫폼에서 어플리케이션 컨테이너의 볼륨(스토리지) 프로비저닝 방법 | |
WO2020253135A1 (zh) | 自动化分析方法、用户设备、存储介质及装置 | |
WO2018151536A1 (ko) | 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 | |
WO2021027143A1 (zh) | 信息推送方法、装置、设备及计算机可读存储介质 | |
WO2014027834A1 (ko) | 광고 효과 분석 장치 및 방법 | |
WO2014029111A1 (zh) | 一种用户行为处理系统及方法 | |
WO2020233060A1 (zh) | 事件通知方法、事件通知服务器、存储介质及装置 | |
WO2022108427A1 (ko) | 5g 기반 iot 환경을 위한 지능형 트러스트 인에이블러 시스템 | |
WO2010005252A2 (ko) | 온라인 광고에 대한 과금을 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
WO2020122291A1 (ko) | 인공지능 기반의 공동주택 관리업무지시 자동화 장치 및 방법 | |
WO2017039121A1 (ko) | 노출 순위를 기반으로 하는 바이럴 마케팅 서비스 제공 시스템 | |
WO2011074714A1 (ko) | 지능형 맞춤화된 학습서비스 방법 | |
KR102024164B1 (ko) | 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치 | |
WO2021133076A1 (ko) | 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업단가 관리 방법 및 장치 | |
WO2017196074A1 (ko) | 매출 보상금 지급 방법 및 이를 실행하는 서버 | |
CN112000443A (zh) | 一种业务数据处理方法、装置及电子设备 | |
WO2020032502A1 (ko) | 에너지 빅데이터 수집에 기반한 에너지 분석 및 솔루션 제시 플랫폼을 위한 방법 | |
WO2015093737A1 (ko) | 컨텐츠 노출을 이용한 어플리케이션 배포/실행 시스템 및 방법 | |
WO2023033444A1 (ko) | 이슈 기반 뉴스 정보 제공을 위한 서비스 제공 장치 및 방법 | |
WO2022075560A1 (ko) | 에너지 데이터 중개 시스템 및 방법 | |
WO2022092690A1 (ko) | 시공간 특성에 따른 긱 서비스 예측 시스템 및 그 방법 | |
WO2019098428A1 (ko) | 사용자 별 확장 가능 관리 테이블을 이용한 erp 펑션 제공 방법 및 이를 수행하는 erp 펑션 제공 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18754043 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019562534 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 29/10/2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18754043 Country of ref document: EP Kind code of ref document: A1 |