JP6830695B2 - マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置 - Google Patents

マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置 Download PDF

Info

Publication number
JP6830695B2
JP6830695B2 JP2019562534A JP2019562534A JP6830695B2 JP 6830695 B2 JP6830695 B2 JP 6830695B2 JP 2019562534 A JP2019562534 A JP 2019562534A JP 2019562534 A JP2019562534 A JP 2019562534A JP 6830695 B2 JP6830695 B2 JP 6830695B2
Authority
JP
Japan
Prior art keywords
game
server
api
tenants
baas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019562534A
Other languages
English (en)
Other versions
JP2020509513A (ja
Inventor
オヒョン クォン
オヒョン クォン
Original Assignee
エーエフアイ インコーポレイテッド
エーエフアイ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エーエフアイ インコーポレイテッド, エーエフアイ インコーポレイテッド filed Critical エーエフアイ インコーポレイテッド
Priority claimed from PCT/KR2018/001948 external-priority patent/WO2018151536A1/ko
Publication of JP2020509513A publication Critical patent/JP2020509513A/ja
Application granted granted Critical
Publication of JP6830695B2 publication Critical patent/JP6830695B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Description

本発明はマルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置に関する。より詳細には、クラウド基盤でゲームAPI(application programming interface)サーバーをワンクリックで生成/管理するBaaS(Backend as a Service)のための方法および装置に関する。
韓国コンテンツ振興院が発刊した「2015ゲーム白書」によると、2014年基準モバイルゲームの平均開発期間は10ヶ月であり、製作人員は7.6名という。平均労銀を代入して計算すると、1個のゲームの製作に略2億4千万ウォンが入る。ところが、このようにして制作したゲームの平均利用期間は4ヶ月(14.7週)しかならない。すなわち、モバイルゲームは製作期間の半分もならない短い寿命を有しているのである。したがって、製作期間を低減するとゲーム開発会社の収益率を高めることができる。しかし、製作期間を低減するためには人員をさらに投入しなければならず、結果として費用が増加するため開発会社には代案がなかった。すなわち、ゲーム開発のための資源は多く入るのに反し、ゲームの流行周期が短いためゲーム開発会社が経営上の問題点を有することになる。
現在のモバイルゲームサーバーの開発過程は、以前の項目で口述した「機能の類似性」を理由に、以前のコードを再使用するコピーアンドペースト(Copy + Paste)方式で進行されている。新しいゲームが追加されると、以前に作成したサーバーコードを保存所からコピーして一部のみを修正、再使用するのである。
このため、類似するサーバーコードをプロジェクト別に管理しなければならないリポジトリ(repository)管理問題、同一の配布環境をプロジェクトが追加されるたびに設定しなければならないインフラ管理の問題、サーバーコードをそれぞれのサーバーに個別伝送しなければならないコード配布の問題が持続的に発生している。
本発明は前述した問題点をすべて解決することをその目的とする。
また、本発明は、ゲーム開発者のより便利なゲーム開発のためのBaaS(Backend as a Service)を提供することを他の目的とする。
また、本発明は、ゲーム開発のためのあらかじめ生成されたAPI(application programming interface)サーバーを提供することによって、ゲーム開発者がより便利に少ない人的/物的資源でゲームを開発できるようにすることを他の目的とする。
また、本発明は、テナント別にオートスケーリング呼び出し規則をシステムが自動で設定して、テナント別に最小限の運営データだけでテナント別オートスケーリング呼び出し規則を生成し、また、テナント別オートスケーリング呼び出し規則を自動で遂行することを他の目的とする。
前記目的を達成するための本発明の代表的な構成は次の通りである。
本発明の一態様によると、マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法は、クラウド基盤のマルチテナンシー環境で動作するBaaS(backend as a service)管理サーバーが複数のテナントからゲームAPI(application programing interface)サーバーに対する要請を受信する段階と前記BaaS管理サーバーが前記要請により前記ゲームAPIサーバーを提供する段階を含むものの、前記複数のテナントは前記ゲームAPIサーバーに基づいてゲームの開発および駆動に必要な機能が提供され、前記BaaS管理サーバーは、前記複数のテナントのそれぞれの曜日別トラフィック情報、時間帯別トラフィック情報およびイベント別トラフィック情報を含む運営データを分析してトラフィックパターンを定義し、前記トラフィックパターンを用いて前記テナントごとにオートスケーリング呼び出し規則を動的に生成し、前記オートスケーリング呼び出し規則に基づいて前記ゲームAPIサーバーに対するオートスケーリングを遂行し得る。
本発明の他の態様によると、マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則を自動生成するBaaS(backend as a service)管理サーバーは、複数のテナントとの通信のために具現される通信部と前記通信部と動作可能に(operatively)連結されたプロセッサを含むものの、前記プロセッサはクラウド基盤のマルチテナンシー環境で前記複数のテナントからゲームAPI(application programing interface)サーバーに対する要請を受信し、前記要請により前記ゲームAPIサーバーを提供するように具現され得るものの、前記複数のテナントは前記ゲームAPIサーバーに基づいてゲームの開発および駆動に必要な機能が提供され、前記プロセッサは、前記複数のテナントのそれぞれの曜日別トラフィック情報、時間帯別トラフィック情報およびイベント別トラフィック情報を含む運営データを分析してトラフィックパターンを定義し、前記トラフィックパターンを用いて前記テナントごとにオートスケーリング呼び出し規則を動的に生成し、前記オートスケーリング呼び出し規則に基づいて前記ゲームAPIサーバーに対するオートスケーリングを遂行し得る。
本発明によると、ゲーム開発者のより便利なゲーム開発のためのBaaSが提供され得る。
また、ゲーム開発のためのあらかじめ生成されたAPIを提供することによって、ゲーム開発者がより便利に少ない人的/物的資源でゲームを開発できるようにすることができる。
また、テナント別にオートスケーリング呼び出し規則をシステムが自動で設定して、テナント別に最小限の運営データだけでテナント別オートスケーリング呼び出し規則を生成し、テナント別オートスケーリング呼び出し規則を自動で遂行することを他の目的とする。
既存のバックエンドサーバーについての開発方式を示した概念図。 本発明の実施例に係るゲームBaaSを示した概念図。 本発明の実施例に係るクラウド基盤でゲームAPIサーバーを提供する方法を示した概念図。 本発明の実施例に係るゲームAPIサーバーを通じてのサービス提供方法を示した概念図。 本発明の実施例に係るモバイルゲームサーバーに特化したトラフィック需要予測方法を示した概念図。 本発明の実施例に係るゲームAPIサーバー運営方法を示した概念図。 本発明の実施例に係るBaaS管理サーバーの構造を示した概念図。 本発明の実施例に係るBaaSの動作を示した概念図。 本発明の実施例に係るBaaS管理サーバーの動作を示した概念図。 本発明の実施例に係るBaaS管理サーバーの動作を示した概念図。 本発明の実施例に係るマルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法を示した概念図。 本発明の実施例に係るテナント別オートスケーリング呼び出し規則を自動で設定する方法を示した概念図。
後述する本発明についての詳細な説明は、本発明が実施され得る特定の実施例を例示として図示する添付図面を参照する。このような実施例は当業者が本発明を実施できるほど充分かつ詳細に説明される。本発明の多様な実施例は互いに異なるが相互排他的である必要はないことが理解されるべきである。例えば、本明細書に記載されている特定の形状、構造および特性は本発明の精神と範囲を逸脱することなく一実施例から他の実施例に変更されて具現され得る。また、それぞれの実施例内の個別の構成要素の位置または配置も本発明の精神と範囲を逸脱することなく変更され得ることが理解されるべきである。したがって、後述する詳細な説明は限定的な意味として行われるものではなく、本発明の範囲は特許請求の範囲の請求項が請求する範囲およびそれと均等なすべての範囲を包括するものと受け入れられるべきである。図面で類似する参照符号は多様な側面に亘って同一または類似する構成要素を示す。
以下では、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施できるようにするために、本発明の多様な好ましい実施例に関して添付された図面を参照して詳細に説明する。
モバイルゲームは、デバイスに設置されるアプリケーション(APP、application)と目に見えない機能を担当するバックエンドAPI(application programming interface)サーバーに基づいて駆動され得る。モバイルゲームのためのバックエンドAPIサーバーには、ゲームのジャンル、規模にかかわらず、会員加入/ログイン/アイテム/チャート/ランキング/キャラクター/ランキング/レベルなどの類似する機能が存在する。このような特性のため、モバイルゲームサーバーの製作過程は標準化/自動化が可能である。
BaaS(Backend as a Service)は、よく使われるサーバー機能をクラウドAPIの形態で提供することによって、毎回別途に開発することなく容易に利用可能なように助けるサービスである。ゲームサーバーBaaSを利用してゲームを製作すると、製作期間と費用を大幅に節減できる。ゲームサーバーBaaSを導入すれば、製作人員の縮小を通じての費用節減と開発期間の短縮の両方を捕らえることができる。また、このように節約したリソースをゲーム製作に追加に投入することによって、さらにレベルの高いゲームを作ることができる。
本発明の実施例に係るゲームサーバーBaaSは、(1)ゲームAPIサーバー自動製作機能、(2)サーバー自動拡張(Auto Scaling)、(3)ゲーム管理機能などを提供することができる。本発明の実施例に係るゲームサーバーBaaSは、ワンクリックだけで一定時間以内にゲーム開発者のためのゲームAPIサーバーを生成および提供することができる。これを通じて、国内のゲーム開発会社はゲームの製作期間と費用を低減することができ、低減した製作期間と費用を他の開発に投資して良質のゲームを生成することができる。
図1は、既存のバックエンドサーバーについての開発方式を示した概念図である。
図1を参照すると、既存のゲーム開発者は、ゲームに使われるチャット機能、データベース機能、ランキング機能などのために、別途のバックエンドAPIサーバーを自体で開発していた。このようなバックエンドAPIサーバーについての自体開発はゲームの開発期間を長期化させる。また、別途の自体バックエンドAPIサーバーに対する管理によって管理負担が増加している。
図2は、本発明の実施例に係るゲームBaaSを示した概念図である。
図2を参照すると、本発明の実施例に係るゲームBaaSは、ゲームで使われるゲームAPIを提供するバックエンドサーバーをクラウドサーバー上でワンクリックでゲーム開発者に提供することができる。
モバイルゲームはデバイスに設置されるアプリケーション(App)および会員加入、ログイン、アイテム購買機能などを担当するゲームAPIサーバーに基づいて動作することができる。
モバイルゲームを具現するために共通して要求される機能として、会員加入/ログイン/アイテム/チャート/ランキング/キャラクター/アイテムなどの標準化された機能が存在し得る。このような機能のためのゲームAPIサーバーはゲームのジャンル、規模にかかわらず、標準化された機能で構成されて自動化が可能である。本発明の実施例に係るゲームBaaSは、ゲームジャンル/連動SNS/アイテムの形態/キャラクターの類型/ランキングの類型などにより統合されたDB(database)とゲームAPIサーバーを自動生成/提供することができる。
本発明の実施例によると、複数のゲームサーバーにサービスを提供するマルチテナンシー(multi−tenancy)環境のクラウドサービスであり得、テナント別にサービスを提供することができる。
既存の場合、ゲーム開発者が別途のゲームAPIサーバーを製作する段階を経なければならなかったのに対し、本発明の実施例に係るゲームBaaSは別途のゲームAPIサーバーの製作段階を経ることなくゲームアプリケーションを開発することができる。
図3は、本発明の実施例に係るクラウド基盤でゲームAPIサーバーを提供する方法を示した概念図である。
図3ではゲームBaaSのためのネットワークが開示される。
図3を参照すると、BaaS管理サーバーは、クラウド基盤マルチテナンシー(multi−tenancy)環境でそれぞれのテナント(例えば、ゲームサーバー)と連動してゲームAPIサーバーを提供することができる。
ゲームAPIサーバーにはゲーム開発者が活用可能なAPIが具現されている。ゲーム開発者はゲームAPIサーバーに具現された提供可能なAPIのうち、ゲームに必要なAPIを選択的に活用してゲームを具現することができる。
BaaS管理サーバーは、あらかじめ提供可能なすべてのAPIが具現されたゲームAPIサーバーをゲーム開発者に提供してもよく、ゲーム開発者が必要とするAPIのみが具現されたゲームAPIサーバーをゲーム開発者に提供してもよい。
また、BaaS管理サーバーは、ゲームを遂行するために提供されたAPIサーバーにかかる負荷をチェックして、ゲームAPIサーバーに対するスケールアップ(scale up)/スケールアウト(scale out)を遂行することができる。本発明の実施例に係るBaaS管理サーバーは、別途の予測部または予測サーバーを通じてゲームAPIサーバーの負荷(例えば、CPU(central processing unit)負荷、メモリー負荷など)を予測することができる。BaaS管理サーバーの予測部(または別途の予測サーバー)はゲームAPIサーバーの負荷を予測するために、実際のゲーム開発者に提供されるゲームAPIサーバーではない別途のゲームAPIサーバーに基づいて負荷予測を遂行することができる。
本発明のように複数のクライアント(ゲームサーバー)にサービスを提供するマルチテナンシー(multi−tenancy)環境のクラウドサービスは、テナント別にトラフィック調節が必要である。トラフィック調節はオートスケーリングである程度対処ができるのであるが、オートスケーリングの呼び出し規則は運営データを蓄積した後でのみ生成が可能な問題がある。テナントは本発明の実施例に係るBaaS管理サーバーによってサービスされるゲームサーバーであり得る。本発明の実施例に係るBaaS管理サーバーは、複数のテナントにサービスを提供するマルチテナンシー環境のクラウドサービスを提供することができる。
また、ゲームBaaSはより簡単にアプリケーションとゲームAPIサーバーの連結のためのSDK(software development kit)が提供されて、既存のアプリケーションとゲームAPIサーバーとの連結のための複雑なコード(例えば、100行)の代わりに簡単なコード(例えば、2行)を通じてアプリケーションとゲームAPIサーバー間の連結が遂行され得る。
本発明の実施例に係るBaaS基盤のマルチテナンシーサービスはIaC(Infrastructure as Code)で構成されたサーバーインフラとREST(Representational State Transfer)API、クライアント用SDKで構成され、REST APIはバックエンドとクライアント間のインターフェースを担当し、SDKからREST APIに接近する時点と回数などの指標を収集することができる。
図4は、本発明の実施例に係るゲームAPIサーバーを通じてのサービス提供方法を示した概念図である。
図4ではゲーム開発者装置でBaaS管理サーバーによって提供されたゲームAPIサーバーに基づいてゲーム上で必要な機能を具現する方法が開示される。
図4を参照すると、ゲーム開発者装置(またはゲームサーバー)は開発しようとするゲームのプロジェクトの名前を設定し、ゲームのプロジェクト類型を選択することができる。例えば、ゲーム開発者がスポーツゲームを開発しようとする場合、プロジェクト類型でスポーツゲームが選択され得る。
また、ゲーム開発者装置はBaaS管理サーバーによって提供されるゲームAPIサーバーのうち、キャラクターAPIサーバー、スキルAPIサーバー、アイテムAPIサーバーなどを選択することができる。既存のゲーム開発者の場合、ゲームの開発時にゲームで使われるキャラクター、スキル、アイテムなどの開発/具現のための別途のバックエンドAPIサーバーを設定し、別途にキャラクター、スキル、アイテムのための機能を開発した。
しかし、本発明の実施例に係るゲームAPIサーバーは、スポーツゲームのキャラクター、スキル、アイテムなどの開発/設定のためのキャラクターAPIサーバー、スキルAPIサーバー、アイテムAPIサーバーを含み、ゲーム開発者は必要なAPIサーバーを選択的に活用することができる。ゲーム開発者はゲーム上で使われるキャラクター、スキル、アイテムなどの機能のための別途のバックエンドAPIサーバーの設定およびキャラクター、スキル、アイテムのための機能を開発する必要なく、ゲームAPIサーバーに含まれるキャラクターAPIサーバー、スキルAPIサーバー、アイテムAPIサーバーを通じてゲームに使われるキャラクター、スキル、アイテムの特性を設定することによって、簡単にゲームのためのキャラクター、スキル、アイテムを開発することができる。このようなゲームAPIサーバーは、ゲームAPIサーバーグループにグルーピングして提供されてもよい。
また、ゲーム開発者装置を通じてサーバーの状態、サーバーの自動拡張の有無などがさらに設定され得る。
左側を参照すると、ゲームBaaSはイベント管理機能、ゲーム情報管理機能、維持管理機能、プッシュ発送機能、エラー報告書機能、ゲームログ機能、ランキング管理機能、サーバー設定機能などを提供することができる。
例えば、ゲーム情報管理機能を通じて、ゲームに関連したキャラクター、スキル、アイテムなどの開発のためのゲームAPIサーバーが提供され得る。プッシュ発送機能を通じてゲームユーザーにプッシュ発送のためのゲームAPIサーバーが提供され得る。また、ゲームログ機能を通じてソーシャルログインのためのゲームAPIサーバーが提供され得る。これだけでなく、公知管理機能、会員管理機能などのためのゲームAPIサーバーがBaaSを通じて提供され得る。
図5は、本発明の実施例に係るモバイルゲームサーバーに特化したトラフィック需要予測方法を示した概念図である。
図5を参照すると、ゲームBaaSは曜日別トラフィックを分類した後、パターンについての検索を遂行することができる。Intelligence Load Balancer(以下、ILB)が適用されたモバイルゲームサーバーは、別途の測定、分析過程を進行せずとも自動サーバー拡張機能(Scale Out)を適用することができる。
モバイルゲームはトラフィックが分散せず、特定期間に集中する特徴を示す。ILBはあらかじめ定義されたイベントカレンダーを活用して、異常なトラフィックの発生に先制して対応することができる。ILBを活用するモバイルゲームサーバーはトラフィック急増の状況においても自動サーバー拡張によって、中断することなく運営が可能である。ILBはゲームAPIサーバーに対する自動スケールアップ(Auto Scale Up)と自動スケールアウト(Auto Scale Out)を自動で遂行することができる。
図6は、本発明の実施例に係るゲームAPIサーバー運営方法を示した概念図である。
既存の場合、物理的サーバー拡張(Scale Out)を支援するモバイルゲームサーバーを構築するためには、単一サーバー、スケールアップ(Scale Up)、スケールアウト(Scale Out)環境をすべて経験した高級なサーバー人材が要求される。しかし、スケールアウトサーバー構築経験を保有した高級な技術人材は全体のサーバー開発人材のうち極少数であり、このため、中規模以下のゲーム開発社はスケールアウト(Scale Out)を構成することができず、サーバーの障害に積極的に対応することができずにいる。このため、ゲームの成功時点から(同時接続10,000人以上/単一サーバー対応不可)サーバー障害が発生してサービスが失敗する矛盾的な状況が発生している。
本発明の実施例に係るゲームBaaSはゲームジャンル/定形化されたトラフィックパターンでScale Outルールを設定するため、高級な技術人材がないScale Out使用を支援することができる。
以下、本発明の実施例では具体的なBaaS構造とBaaSの動作が開示される。
図7は、本発明の実施例に係るBaaS管理サーバーの構造を示した概念図である。
図7を参照すると、BaaS管理サーバーは複数の階層構造を有することができる。複数の階層構造は、ビジネスレイヤ(business layer)700、キャッシュレイヤ(cache layer)710、パーシステンスレイヤ(persistence layer)720、分析レイヤ(analysis layer)730を含むことができる。
ビジネスレイヤ700は、複数のゲームAPIサーバーを含むことができる。複数のゲームAPIサーバーはゲーム開発者が使う機能を提供するためのサーバーであり得る。例えば、複数のゲームAPIサーバーは、会員加入APIサーバー、ログインAPIサーバー、アイテムAPIサーバー、キャラクターAPIサーバーなどを含むことができる。BaaSを利用するゲーム開発者装置および/またはゲームサーバー(以下、ゲームサーバー)は、複数のAPIサーバーのうち少なくとも一つのAPIサーバーと連動してゲームで必要な機能を使用者装置に提供することができる。BaaS管理サーバーからゲームサーバーに提供されるSDK(software development kit)に基づいて、ゲーム開発者はBaaS管理サーバーで提供される複数のゲームAPIサーバーを活用することができる。
BaaS管理サーバーは、会員加入、ログイン、アイテム、チャート、ランキング、決済などと標準化された機能をドッカ―イメージ(docker image)に作ってテンプレートで活用することがである。新規ゲームサーバー生成時に保存されたドッカ―イメージは呼び出しされたサーバーに配布され、ゲームサーバーの生成とともにゲームAPIサーバーが活性化され得る。
ゲームサーバーから複数のゲームAPIサーバーのそれぞれを通じて伝送される情報は、キャッシュレイヤ710および/またはパーシステンスレイヤ720のようなデータ保存階層に保存され得る。例えば、ゲームサーバーがBaaS管理サーバーに含まれるログインAPIサーバーを通じて使用者ログイン機能が提供される場合、使用者ログイン情報がゲームAPIサーバーを通じてキャッシュレイヤ710および/またはパーシステンスレイヤ720に保存され得る。ゲームAPIサーバーは必要に応じてキャッシュレイヤ710および/またはパーシステンスレイヤ720に保存されたデータを呼び出すことができ、キャッシュレイヤ710および/またはパーシステンスレイヤ720は呼び出しされたデータをゲームAPIサーバーに提供することができる。
キャッシュレイヤ710はメモリマップ(memory map)基盤の高速API照会機能を提供することができる。キャッシュレイヤ710は複数のAPIサーバーを通じて頻繁に呼び出されるデータを保存するために具現され得る。キャッシュレイヤ710はパーシステンスレイヤ720で保存/管理されるデータのうち、迅速な処理が必要であるか頻繁に呼び出されるデータを保存することができる。
パーシステンスレイヤ720はデータ処理(データの生成/修正/削除/選択(検索))を担当する階層である。パーシステンスレイヤ720は複数のAPIサーバーの動作のためのデータ保存/管理のために具現され得る。
下記の表1はパーシステンスレイヤ720とキャッシュレイヤ710のそれぞれのストレージソリューションとタイプを例示的に示した表である。
Figure 0006830695
分析レイヤ730はBaaS管理サーバーの状態分析を通じてビジネスレイヤ700、キャッシュレイヤ710、パーシステンスレイヤ720の動作に対する管理のために具現され得る。
分析レイヤ730は複数のゲームAPIサーバーの負荷バランシングのためのILB(Intelligence Load Balancer)としての役割を遂行することができる。分析レイヤ730は、一定期間(例えば、曜日/時間)別トラフィックを収集してオートスケール(Auto Scale)呼び出し規則を動的に生成する。ゲームサーバー運営者は、高級なサーバー管理人材がなくてもオートスケール(Auto Scale)環境を利用することができ、ILBが適用されたモバイルゲームサーバーはトラフィック急増状況においても中断することなく運営され得る。
また、分析レイヤ730はキャッシュレイヤ710で保存/管理されるデータ、パーシステンスレイヤ720で保存/管理されるデータを決定し、キャッシュレイヤ710および/またはパーシステンスレイヤ720上でデータに対する保存/管理を遂行することがである。
図8は、本発明の実施例に係るBaaSの動作を示した概念図である。
図8ではゲームサーバーと連動する複数のゲームAPIサーバーに対する管理方法が開示される。
図8を参照すると、ゲームサーバー810、820、830がBaaSを要請する場合、複数のゲームAPIサーバーがゲームサーバー810、820、830と連動して動作することができる。BaaSは複数のゲームのそれぞれのための複数のゲームサーバー810、820、830と連動して動作することができ、BaaSによって提供される複数のゲームAPIサーバーはゲームサーバー810、820、830とマッチングされ得る。
複数のゲームAPIサーバーは多様な方式でゲームサーバーと対応することができる。
例えば、複数のゲームAPIサーバーがゲームAPIサーバーグループのそれぞれ850、860にグルーピングされ、ゲームAPIサーバーグループ850、860は少なくとも一つのゲームサーバー810、820、830とマッチングされ得る。一つのゲームAPIサーバーグループ850、860はBaaSで提供されるすべてのAPIの集合であり得る。例えば一つのゲームAPIサーバーグループ850、860は、会員加入API、ログインAPI、アイテムAPI、チャートAPI、ランキングAPI、決済APIなどを含むことができる。
例えば、ゲームサーバー1 810により要求される処理量が一つのゲームAPIサーバーグループ1 850を通じて処理可能な臨界処理量を超過する場合、他の複数のゲームAPIサーバーグループ2 860がゲームサーバー1 810と追加的にマッチングされてゲームサーバー1 810により要求される処理量を満足させることができる。
その反対に、ゲームサーバー1 810により要求される処理量が一つのゲームAPIサーバーグループ1 850を通じて処理可能な臨界処理量より小さい場合、BaaS管理サーバーに基づいてサービスが提供される他のゲームサーバー820がゲームサーバー1 810と同じゲームAPIサーバーグループ1 850を使ってサービスが提供され得る。すなわち、一つのゲームAPIサーバーグループ1 850が複数の互いに異なるゲームサーバー810、820にサービスを提供することができる。
前記のような方式で、複数のゲームAPIサーバーグループの処理量を考慮してサーバー拡張/サーバー縮小のようなスケーリングが遂行され得る。分析レイヤはゲームサーバーによって要求される処理量に対する分析を通じてゲームAPIサーバーグループとゲームサーバー間のマッチング関係を設定して、サーバー拡張、サーバー維持またはサーバー縮小のようなサーバーに対するスケーリングの有無を決定し、サーバースケーリングを遂行することができる。
図9は、本発明の実施例に係るBaaS管理サーバーの動作を示した概念図である。
図9ではゲームサーバーと連動する複数のゲームAPIサーバーに対する管理方法が開示される。
図9を参照すると、BaaSとして提供される複数のゲームAPIサーバーのうち少なくとも一つのゲームAPIサーバーが分離され、分離された少なくとも一つのゲームAPIサーバーに基づいてBaaSがゲームサーバーに提供され得る。
分析レイヤの分析結果、ビジネスレイヤに含まれる複数のゲームAPIサーバーのうち処理量が多いゲームAPIサーバーに対する分離が進行され得、分離されたゲームAPIサーバーに別途のサーバー資源に対する割当およびサーバー資源に対する管理が遂行されてBaaSが提供され得る。
例えば、分析レイヤの分析結果、ゲームAPIサーバーグループ900に含まれる会員加入API、ログインAPI、アイテムAPI、チャートAPI、ランキングAPI、決済APIのうち、ログインAPI処理量が臨界処理量以上であり得る。このような場合、ログインAPI920はゲームAPIサーバーグループ900から分離されて分離ゲームAPIサーバーグループ950として管理され得る。
分析レイヤは、分離ゲームAPIサーバーグループ950に対して別途のサーバースケーリングを適用してゲームサーバーにサービスを提供することができる。例えば、ゲームサーバー1およびゲームサーバー2は、ゲームAPIサーバーグループ1を通じて会員加入API、ログインAPI、アイテムAPI、チャートAPI、ランキングAPI、決済API機能が提供され得、ゲームサーバー1およびゲームサーバー2で要求される処理量によりゲームAPIサーバーグループ1に割り当てられるサーバーが拡張または減少し得る。
ゲームサーバー1は分離APIサーバーグループ1を通じてログインAPI機能が提供され得、ゲームサーバー2は別途の分離APIサーバーグループ2を通じてログインAPI機能が提供され得る。ゲームサーバー1で要求されるログイン関連処理量により分離APIサーバーグループ1に含まれるサーバーのスケーリングが遂行され得る。ゲームサーバー2で要求されるログイン関連処理量により分離APIサーバーグループ2に含まれるサーバーの拡張/縮小が遂行され得る。
すなわち、分離レイヤの決定により、ゲームAPIサーバーグループに含まれる複数のゲームAPIサーバーのうち少なくとも一つのゲームAPIサーバーに対する別途分離が進行され得る。ゲームAPIサーバーグループと分離ゲームAPIサーバーグループは別途のサーバースケーリングが適用され得る。
図10は、本発明の実施例に係るBaaS管理サーバーの動作を示した概念図である。
図10ではゲームサーバーと連動する複数のゲームAPIサーバーに対する管理方法が開示される。特に、時間による複数のゲームAPIサーバー管理方法が開示される。
図10を参照すると、BaaS管理サーバーは時間による複数のゲームAPIサーバーのそれぞれの処理量を収集し、時間による複数のゲームAPIサーバーのそれぞれの処理量を予測して複数のゲームAPIサーバーをグルーピングすることができる。
BaaS管理サーバーは、複数のゲームサーバーとマッチングされる複数のゲームAPIサーバーグループと複数のゲームAPIサーバーグループに含まれる複数のゲームAPIサーバーのそれぞれに対する時間帯別処理量分析を遂行することができる。以下、APIサーバーはゲームAPIサーバーを意味し得る。
第1ゲームAPIサーバーグループ1010は、第1APIサーバー1 1013、第1APIサーバー2 1016、第1APIサーバー3 1019を含むことができる。
第2ゲームAPIサーバーグループ1020は、第2APIサーバー1 1023、第2APIサーバー2 1026、第2APIサーバー3 1029を含むことができる。
第3ゲームAPIサーバーグループ1030は第3APIサーバー1 1033、第3APIサーバー2 1036、第3APIサーバー3 1039を含むことができる。
例えば、APIサーバー1 1013、1023、1033はログインサーバー、APIサーバー2 1016、1026、1036は会員加入サーバー、APIサーバー3 1019、1029、1039はアイテムサーバーであり得る。
時間による処理量を考慮して(第1APIサーバー1 1013、第1APIサーバー2 1016、第1APIサーバー3 1019)、(第2APIサーバー1 1023、第2APIサーバー2 1026、第2APIサーバー3 1029)、(第3APIサーバー1 1033、第3APIサーバー2 1036、第3APIサーバー3 1039)、それぞれが適応的にグルーピングされ得る。
全体時間は複数の時間区間に分割され得、複数の時間区間によりゲームAPIサーバーグループが変化され得る。
第1時間に(第1APIサーバー1(10)1013、第1APIサーバー2(20)1016、第1APIサーバー3(30)1019)、(第2APIサーバー1(30)1023、第2APIサーバー2(10)1026、第2APIサーバー3(20)1029)、(第3APIサーバー1(50)1033、第3APIサーバー2(10)1036、第3APIサーバー3(10)1039)の処理量が必要な場合が仮定され得る。サーバーのそばの括弧は処理量を数値で任意的に表現したものである。
前記のっような場合、第1APIサーバー1(10)1013、第2APIサーバー1(30)1023、第2APIサーバー2(10)1026、第3APIサーバー1(50)1033が第1′ゲームAPIサーバーグループ1050に設定され、第1APIサーバー2(20)1016、第1APIサーバー3(30)1019、第2APIサーバー3(20)1029、第3APIサーバー2(10)1036、第3APIサーバー3(10)1039が第2′ゲームAPIグループ1050に設定されてゲームサーバーの要請を処理することができる。
前記のように、時間によるゲームAPIサーバー別の必要処理量を考慮して、適応的にゲームAPIグループを再グルーピングすることができ、それにより必要なサーバー資源の量を減少させつつ、効率的にサーバースケーリングが遂行され得る。
図11は、本発明の実施例に係るマルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法を示した概念図である。
図11を参照すると、本発明のように複数のクライアント(ゲームサーバー)にサービスを提供するマルチテナンシー環境のクラウドサービス1100は、複数のテナント1110、1120、1150のそれぞれに対する適応的なトラフィック調節が必要である。テナント1110、1120、1150は本発明の実施例に係るBaaS管理サーバーによってサービスされるゲームサーバーであり得る。トラフィック調節は既存のオートスケーリングである程度対処が可能であるが、現在のオートスケーリングの呼び出し規則は運営データの蓄積後に人によって設定されて生成されている。すなわち、マルチテナンシー環境のクラウドサービス1100では、運営データが十分に蓄積される時までオートスケーリングが正常に動作しない可能性があり、人の判断によるオートスケーリング呼び出し規則の設定は結果として、それぞれのテナント1110、1120、1150のサービスの初期にトラフィック拡張に正常に対応することができない。
テナント1110、1120、1150のサービスの性格により曜日、時間などのトラフィック運営データは互いに異なるため、すでに作られたオートスケーリング呼び出し規則をリサイクルすることも難しい。また、オートスケーリング呼び出し規則は人間の経験に基づくため、人が直接設定しなければならない問題がある。このような理由によって、マルチテナンシークラウドサーバーを使うテナント1110、1120、1150は、サービスの初期に発生するトラフィック障害に積極的に対応することができない。
本発明の実施例に係るマルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法では、最小限の運営データだけでテナント別オートスケーリング呼び出し規則を生成し、また、オートスケーリング呼び出し規則を自動で遂行することを目標とする。
マルチテナンシー環境で、各テナント1110、1120、1150はマルチテナンシー事業者(BaaS提供者)が提供するアーキテクチャーとインターフェースで自分のサービスを運営する。これはテナント1110、1120、1150間のサービスが異なっても使うバックエンドインフラとインターフェースが同じであることを意味し得る。
したがって、個別テナント1110、1120、1150が使うインタフェース別呼び出し時点、呼び出し回数などを収集すればパターン化することが可能である。テナント1110、1120、1150別によく呼び出すインターフェースでトラフィックが集中される曜日と時間情報などの運営データを収集して規則を探すのである。前述した通り、BaaS基盤のマルチテナンシーサービスは、IaC(Infrastructure as Code)で構成されたサーバーインフラとREST API、クライアント用SDKで構成され得る。このうちREST APIがバックエンドとクライアント間のインターフェースを担当し、SDKからREST APIに接近する時点と回数などの指標を収集することができる。REST APIはビジネスレイヤに含まれ得る。
分析レイヤはテナント1110、1120、1150別に運営データを収集して規則を生成することができる。分析レイヤは柔軟に拡張可能なデータ保存所、運営データを収集するログ収集器、収集した運営データを分析して規則として出力するデータ視角化道具を含むことができる。分析レイヤ上でまずテナント1110、1120、1150別運営データをデータ保存所に収集することができる。運営データの収集は分析レイヤのログ収集器が担当し、マルチテナントのためのIaCインフラにログ収集器をあらかじめ内蔵して収集を進行することができる。ログ収集器によって収集されるデータは、インタフェース呼び出し時間(YYMMDDHHMM)と呼び出したインタフェース、インターフェースに伝達されるパラメーターである。
このうち最も重要なものは呼び出し時間データである。呼び出し時間は分単位で収集され得る。オートスケールが遂行される時間が数分単位であるため、秒またはマイクロ秒単位の運営データを収集することは、オートスケーリング規則生成の目的に符合せず、コンピューティングパワーの浪費要因となり得る。
運営データは個別テナント別データと多重テナント別データに区分することができる。個別テナント別データは個別テナントと関連した運営データであり、多重テナント別データは多重テナントと関連した運営データであり得る。
個別テナントの主な運営データは曜日別トラフィック情報、時間別トラフィック情報、イベント別トラフィック情報を含むことができる。
曜日別トラフィック情報は曜日別トラフィックに対する情報を含むことができる。すべてのサービスはサービスの特性により曜日別トラフィックが異なる。サービス別曜日別トラフィック情報検索、登録要請を通じて曜日別トラフィック推移に対する情報が収集され得る。
時間帯別トラフィック情報は時間帯別トラフィックに対する情報を含むことができる。サービスの特性により時間帯別トラフィック推移は異なり、特定の時間帯に90%以上のトラフィックが集中されるサービスも存在する。このような類型のサービスを提供するテナント1110、1120、1150は、マルチテナンシー環境でトラフィック管理をすることが非常に難しい。したがって、時間帯別トラフィック推移情報検索、登録要請を通じて時間帯別トラフィック推移に対する情報が収集され得る。
イベント別トラフィック情報はイベント別トラフィックに対する情報を含むことができる。ゲームサービスを例にすると、休みシーズンにトラフィックが急増するパターンを示し、ウェブ漫画サービスは子供の日、クリスマスなど公休日にトラフィックが増加するパターンを示し得る。サービスを提供する地域の公休日、休みなど、時間に影響を与える特徴を「イベント」と通称して呼び、イベント情報は国家別に異なり得る。このようなイベント情報をデータ視角化道具に登録すればイベント別トラフィックを分析することができる。
分析レイヤは曜日別トラフィック情報、時間別トラフィック情報、イベント別トラフィック情報を分析してトラフィックパターンを定義し、オートスケーリング呼び出し規則を設定することができる。定義されたトラフィックパターン情報により設定されたオートスケーリング呼び出し規則は、オートスケーリング呼び出し規則システムが接近して使用できるパーシステンスレイヤの関係データベースなどに保存することができる。
本発明の実施例によると、曜日別トラフィック情報および時間別情報に基づいて下記のようにトラフィックパターンが定義され、オートスケーリング呼び出し規則が設定され得る。
まずゲームAPIサーバーグループに含まれる複数のゲームAPIサーバーのそれぞれに対するゲームAPIサーバー呼び出し記録が収集され得る。ゲームAPIサーバー呼び出し記録は、時間(年/月/日/時間/分、YYMMDD HH:MM)、呼び出したURL(uniform resource locator)、伝達されたパラメーターに対する情報を含むことができる。
1日単位集計の終了後にゲームAPI呼び出し記録に基づいて分単位で呼び出し数が集計され得る。例えば、ログインAPIサーバーに対して一日が分単位に分割されて分単位呼び出し数が集計され得る。すなわち、複数のゲームAPIサーバーのそれぞれに対するAPI呼び出し記録に基づいて複数のゲームAPIサーバーのそれぞれに対する分単位呼び出し数が集計され得る。
週単位で前記のような過程が繰り返され、一日単位で集計された複数のゲームAPIサーバーのそれぞれに対する分単位呼び出し数に基づいて、複数のゲームAPIサーバーのそれぞれに対する曜日別分単位占有率が算出され得る。曜日別分単位占有率は週単位でグルーピングされて複数のゲームAPIサーバーのそれぞれに対して週単位曜日別分単位占有率が算出され得る。例えば、現在の時点を基準として、1週間前(月曜日分単位占有率1、火曜日分単位占有率1、水曜日分単位占有率1、木曜日分単位占有率1、金曜日分単位占有率1、土曜日分単位占有率1、日曜日分単位占有率1)、2週間前(月曜日分単位占有率2、火曜日分単位占有率2、水曜日分単位占有率2、木曜日分単位占有率2、金曜日分単位占有率2、土曜日分単位占有率2、日曜日分単位占有率2)、3週間前(月曜日分単位占有率3、火曜日分単位占有率3、水曜日分単位占有率3、木曜日分単位占有率3、金曜日分単位占有率3、土曜日分単位占有率3、日曜日分単位占有率3)等のように、複数のゲームAPIサーバーのそれぞれに対して週単位曜日別分単位占有率が算出され得る。
週単位曜日別分単位占有率に基づいて該当曜日別に複数のゲームAPIサーバーのそれぞれに対する日別分単位占有率の平均値が算出され得る。例えば、ゲームAPIサーバーのうち、アイテムAPIサーバーの月曜日分単位占有率平均値、火曜日分単位占有率平均値等が決定され得る。
本発明の実施例によると、複数のゲームAPIサーバーのそれぞれに対する日別分単位占有率平均値を算出時に、現在の時点を基準として隣接した値であるほど高い加重値を設定して加重平均値が算出されてもよい。現在の時点を基準として1週間前の日別分単位占有率は2週間前の日別分単位占有率より高い加重値が割り当てられ、加重値を適用した加重平均値が日別分単位占有率の平均値が算出され得る。
複数のゲームAPIサーバーのそれぞれに対する日別分単位占有率平均値を考慮して、サーバースケーリングが必要な区間(または時点)に対する情報(または変曲点情報)を保存部(例えば、RDBMS(relational database management system))に登録することができる。RDBMSはパーシステンスレイヤに含まれたデータ保存構造である。
RDBMSに登録されたサーバースケーリングが必要な区間(または時点)に対する情報に基づいて、スケーリングスケジューラーサーバーにオートスケーリングのためのスケジュールが登録され、このようなオートスケーリングのためのスケジュールに基づいて複数のゲームAPIサーバーのそれぞれに割り当てられるサーバー資源をスケーリングすることができる。
また、本発明の実施例によると、イベント別トラフィック情報に基づいて下記のようにトラフィックパターンが定義され、オートスケーリング呼び出し規則が設定され得る。
モバイルゲームの寿命が短い可能性があるため、年単位イベントに対する記録に基づいてオートスケーリング呼び出し規則を設定することは無意味な場合があり得る。例えば、特定ゲームに対して2017年子供の日にゲーム関連イベントを提供した場合、該当データを2018年子供の日に使ってトラフィックを予測するのは無意味であり得る。また、一つの地域内で提供されたイベントは平均的な効果を有し得る。
前述した方法に基づいて複数のゲームAPIサーバーのそれぞれに対する日別分単位占有率に対する情報を知っている場合、分析レイヤにイベント日が登録され、イベント登録日が終了すると、複数のゲームAPIサーバーのそれぞれに対してイベント登録日の分単位占有率と最近の該当曜日の分単位占有率を比較して占有率の増減幅が決定され得る。占有率の増減幅は複数のゲームAPIサーバーのそれぞれに対して決定され得る。
複数のイベントに対してイベント時のゲーム別占有率の増減幅が決定され、複数のイベントに対するイベント時のゲーム別占有率の増減幅の平均値が決定され得る。
本発明の実施例によると、イベントの種類別にイベント時のゲーム別占有率の増減幅の平均値が決定されてもよい。例えば、イベントカテゴリー(例えば、会員加入イベント、アイテム贈呈イベントなど)を分類してイベントカテゴリー別ゲーム別占有率の増減幅の平均値が決定されてもよく、遂行されるイベントのカテゴリーによりイベントカテゴリー別ゲーム別占有率の増減幅の平均値を基盤とした複数のゲームAPIサーバーのそれぞれに対するオートスケーリングが遂行され得る。
イベント時のゲーム別占有率の増減幅の平均値(またはイベントカテゴリー別ゲーム別占有率の増減幅の平均値)に対する情報が保存部(例えば、RDBMS)に登録され得る。保存部に保存されたイベント時のゲーム別占有率の増減幅の平均値(またはイベントカテゴリー別ゲーム別占有率の増減幅の平均値)に対する情報と日別分単位占有率の平均値に対する情報に基づいてイベント時のオートスケーリングのためのスケジュールが登録され得、このようなオートスケーリングのためのスケジュールに基づいて複数のゲームAPIサーバーのそれぞれに割り当てられるサーバー資源がスケーリングされ得る。例えば、水曜日にアイテム贈呈イベントが遂行される場合、複数のゲームAPIサーバーのそれぞれに対する、1)アイテム贈呈イベント時のゲーム別占有率の増減幅の平均値と水曜日分単位占有率の平均値に基づいて複数のゲームAPIサーバーのそれぞれに割り当てられるサーバー資源に対するオートスケーリングが遂行され得る。
図12は、本発明の実施例に係るテナント別オートスケーリング呼び出し規則を自動で設定する方法を示した概念図である。
図12を参照すると、テナント別トラフィック運営データを収集して分析する方法を通じてテナントのトラフィックパターン情報が定義されると、オートスケーリング呼び出し規則を設定することが可能である。
オートスケーリングが適用されなければならない部分は、REST APIを担当するサーバーインスタンス(またはビジネスレイヤ)、データが保存されるパーシステンスレイヤである。したがって、サーバーインスタンスとパーシステンスレイヤはともにスケーリングが可能な環境であり得る。
本発明の実施例によると、オートスケーリング呼び出し規則を生成するために、1)呼び出し規則生成用サーバーコンピューティング資源、2)オートスケーリング呼び出し規則変更用サーバーコンピューティング資源、3)呼び出し規則変更用スケジューラーが必要である。1)、2)ともにAWS(Amazon Web Service)Lambda、Azure Functionなどのクラウドサービスの関数型マイクロサーバーで構成することができる。
以下では、呼び出し規則生成用サーバーコンピューティング資源は呼び出し規則生成器1200、オートスケーリング呼び出し規則変更用サーバーコンピューティング資源は呼び出し規則変更器1220、呼び出し規則変更用スケジューラーはスケジューラー1240という用語で定義され得る。
呼び出し規則生成器1200はスケジューラーにより定義されたパターンを登録することができる。スケジューラー1240には、オートスケーリングが遂行されなければならない曜日、時間、イベントと準備されなければならないサーバーコンピューティング資源、オートスケーリングが終了する時間が登録され得る。スケジューラー1240は定められた時間に呼び出し規則変更器を実行し、呼び出し規則変更器1220はスケジューラー1240に登録された曜日/時間/イベント/サーバーコンピューティング資源などをテナントのサーバーインフラに適用することができる。オートスケーリングパターンが終了する時間には基本的なオートスケーリング規則を復元適用してサーバーコンピューティングの浪費を防止することができる。
以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて遂行され得るプログラム命令語の形態で具現されて、コンピュータ読み取り可能な記録媒体に記録され得る。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるかコンピュータソフトウェア分野の当業者に公知とされている使用可能なものであり得る。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD−ROMおよびDVDのような光気録媒体、フロプティカルディスク(floptical disk)のような磁気−光媒体(magneto−optical medium)、およびROM、RAM、フラッシュメモリなどのような、プログラム命令語を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを使ってコンピュータによって実行され得る高級な言語コードも含まれる。ハードウェア装置は、本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールに変更され得、その逆も同じである。
以上、本発明が具体的な構成要素などのような特定の事項と限定された実施例および図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明は前記実施例に限定されるものではなく、本発明が属する技術分野で通常の知識を有する者であれば、このような記載から多様な修正と変更を試みることができる。
したがって、本発明の思想は前記説明された実施例に限定されてさだめられてはならず、後述する特許請求の範囲だけでなくこの特許請求の範囲と均等なまたはこれから等価的に変更されたすべての範囲は本発明の思想の範疇に属するものと言える。

Claims (10)

  1. マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法は、
    クラウド基盤のマルチテナンシー環境で動作するBaaS(backend as a service)管理サーバーが複数のテナントからゲームAPI(application programing interface)サーバーに対する要請を受信する段階;および
    前記BaaS管理サーバーが前記要請により前記ゲームAPIサーバーを提供する段階を含むものの、
    前記複数のテナントは前記ゲームAPIサーバーに基づいてゲームの開発および駆動に必要な機能が提供され
    前記BaaS管理サーバーは、前記複数のテナントのそれぞれの曜日別トラフィック情報、時間帯別トラフィック情報およびイベント別トラフィック情報を含む運営データを分析してトラフィックパターンを定義し、前記トラフィックパターンを用いて前記テナントごとにオートスケーリング呼び出し規則を動的に生成し、
    前記オートスケーリング呼び出し規則に基づいて前記ゲームAPIサーバーに対するオートスケーリングを遂行することを特徴とする、方法。
  2. 前記BaaS管理サーバーは、呼び出し規則生成器を有し、
    前記呼び出し規則生成器は、前記運営データを分析して得られる前記トラフィックパターンを用いて、予め定められた時間に前記オートスケーリング呼び出し規則を変更することを特徴とする、請求項1に記載の方法。
  3. 前記ゲームAPIサーバーは前記複数のテナントによって提供されるゲームの駆動のための機能を提供し、
    前記ゲームAPIサーバーは、会員加入APIサーバー、ログインAPIサーバー、アイテムAPIサーバー、キャラクターAPIサーバーのうち少なくとも一つを含むことを特徴とする、請求項2に記載の方法。
  4. 前記BaaS管理サーバーが前記複数のテナントのそれぞれと前記ゲームAPIサーバーの連結のためのSDK(software development kit)を提供する段階をさらに含み、
    前記SDKに基づいて前記BaaS管理サーバーと前記ゲームAPIサーバーが連結され、
    前記BaaS管理サーバーは前記複数のテナントのそれぞれでSDKに基づいて、REST(Representational State Transfer)APIに接近する時点および回数に対する指標を収集して前記運営データを決定し、
    前記REST APIは前記BaaS管理サーバーと複数のテナントのそれぞれ間のインターフェースを担当することを特徴とする、請求項3に記載の方法。
  5. 前記BaaS管理サーバーはビジネスレイヤ、キャッシュレイヤ、パーシステンスレイヤおよび分析レイヤを含み、
    前記ビジネスレイヤは前記ゲームAPIサーバーを含む複数のゲームAPIサーバーを含み、
    前記キャッシュレイヤおよび前記パーシステンスレイヤはデータに対する保存および/または管理のために具現され、
    前記分析レイヤは前記複数のゲームAPIサーバーに対するスケーリング、前記キャッシュレイヤと前記パーシステンスレイヤに保存されるデータを管理するために具現されることを特徴とする、請求項4に記載の方法。
  6. マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則を自動生成するBaaS(backend as a service)管理サーバーは、
    複数のテナントとの通信のために具現される通信部;および
    前記通信部と動作可能に(operatively)連結されたプロセッサを含むものの、
    前記プロセッサはクラウド基盤のマルチテナンシー環境で前記複数のテナントからゲームAPI(application programing interface)サーバーに対する要請を受信し、
    前記要請により前記ゲームAPIサーバーを提供するように具現されるものの、
    前記複数のテナントは前記ゲームAPIサーバーに基づいてゲームの開発および駆動に必要な機能が提供され
    前記プロセッサは、前記複数のテナントのそれぞれの曜日別トラフィック情報、時間帯別トラフィック情報およびイベント別トラフィック情報を含む運営データを分析してトラフィックパターンを定義し、前記トラフィックパターンを用いて前記テナントごとにオートスケーリング呼び出し規則を動的に生成し、
    前記オートスケーリング呼び出し規則に基づいて前記ゲームAPIサーバーに対するオートスケーリングを遂行することを特徴とする、BaaS管理サーバー。
  7. 記運営データは、前記複数のテナントのそれぞれに対する曜日別トラフィック情報、時間帯別トラフィック情報およびイベント別トラフィック情報を含み、
    前記プロセッサは、呼び出し規則生成部を有し、
    前記呼び出し規則生成部は、前記運営データを分析して得られる前記トラフィックパターンを用いて、予め定められた時間に前記オートスケーリング呼び出し規則を変更することを特徴とする、請求項6に記載のBaaS管理サーバー。
  8. 前記ゲームAPIサーバーは前記複数のテナントによって提供されるゲームの駆動のための機能を提供し、
    前記ゲームAPIサーバーは、会員加入APIサーバー、ログインAPIサーバー、アイテムAPIサーバー、キャラクターAPIサーバーのうち少なくとも一つを含むことを特徴とする、請求項7に記載のBaaS管理サーバー。
  9. 前記プロセッサは、前記複数のテナントのそれぞれと前記ゲームAPIサーバーの連結のためのSDK(software development kit)を提供するように具現され、
    前記SDKに基づいて前記BaaS管理サーバーと前記ゲームAPIサーバーが連結され、
    前記プロセッサは、前記複数のテナントのそれぞれでSDKに基づいてREST(Representational State Transfer)APIに接近する時点および回数に対する指標を収集して前記運営データを決定し、
    前記REST APIは前記BaaS管理サーバーと複数のテナントのそれぞれ間のインターフェースを担当することを特徴とする、請求項8に記載のBaaS管理サーバー。
  10. 前記プロセッサは、ビジネスレイヤ、キャッシュレイヤ、パーシステンスレイヤおよび分析レイヤを含み、
    前記ビジネスレイヤは前記ゲームAPIサーバーを含む複数のゲームAPIサーバーを含み、
    前記キャッシュレイヤおよび前記パーシステンスレイヤは、データに対する保存および/または管理のために具現され、
    前記分析レイヤは、前記複数のゲームAPIサーバーに対するスケーリング、前記キャッシュレイヤと前記パーシステンスレイヤに保存されるデータを管理するために具現されることを特徴とする、請求項9に記載のBaaS管理サーバー。
JP2019562534A 2017-02-14 2018-02-14 マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置 Active JP6830695B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20170019803 2017-02-14
KR10-2017-0019803 2017-02-14
PCT/KR2018/001948 WO2018151536A1 (ko) 2017-02-14 2018-02-14 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치
KR1020180018306A KR102024164B1 (ko) 2017-02-14 2018-02-14 멀티 테넌시 환경에서의 개별 테넌트별 오토 스케일링 호출 규칙 자동 생성 방법 및 장치
KR10-2018-0018306 2018-02-14

Publications (2)

Publication Number Publication Date
JP2020509513A JP2020509513A (ja) 2020-03-26
JP6830695B2 true JP6830695B2 (ja) 2021-02-17

Family

ID=63452924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019562534A Active JP6830695B2 (ja) 2017-02-14 2018-02-14 マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置

Country Status (3)

Country Link
JP (1) JP6830695B2 (ja)
KR (1) KR102024164B1 (ja)
CN (1) CN110267717B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102366871B1 (ko) * 2021-09-11 2022-02-23 정규일 클라우드 기반 모바일 BaaS의 지능형 데이터 캐싱 추천 서버 및 방법
KR102537906B1 (ko) * 2022-01-07 2023-05-30 주식회사 저스트큐 위탁 판매를 위한 관리 서버의 오토 스케일링 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711847B2 (en) * 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US8151199B2 (en) * 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
US9342333B2 (en) * 2013-03-14 2016-05-17 Microsoft Technology Licensing, Llc Backend custom code extensibility

Also Published As

Publication number Publication date
JP2020509513A (ja) 2020-03-26
CN110267717A (zh) 2019-09-20
KR102024164B1 (ko) 2019-09-23
CN110267717B (zh) 2023-06-27
KR20180093834A (ko) 2018-08-22

Similar Documents

Publication Publication Date Title
CN108446975B (zh) 一种额度管理方法及装置
JP2022160488A (ja) キー付きネットワークデータストリームを処理するパラメータ化アプリケーションのダイナミック実行
CN101820428B (zh) 基于协议组合机制的组合服务优化方法和装置
CN107567696A (zh) 计算集群内的资源实例群组的自动扩展
Konjaang et al. Meta-heuristic approaches for effective scheduling in infrastructure as a service cloud: A systematic review
CN107851105A (zh) 具有副本位置选择的分布式存储系统
US20220092117A1 (en) System and method of creating different relationships between various entities using a graph database
KR20030086268A (ko) 서비스 제공자의 실적을 모니터링하는 시스템 및 방법
JP6830695B2 (ja) マルチテナンシー環境での個別テナント別オートスケーリング呼び出し規則自動生成方法および装置
CN107679992A (zh) 基于保单服务的区域划分方法、系统、服务器和存储介质
CN108959048A (zh) 模块化环境的性能分析方法、装置及可存储介质
CN112926858A (zh) 电力营销业务运营指标设计方法及装置
CN108536570B (zh) 数据直播间灰度压测的方法、装置及系统
CN103426050B (zh) 业务课题分析支持系统
JP2003288476A (ja) 生産ラインの統合ライン能力評価・管理運用システム、および、その統合ライン能力評価・管理運用方法
WO2021173168A1 (en) Contact center call volume prediction
JP6626327B2 (ja) ガントチャート生成プログラム、ガントチャート生成装置、および、ガントチャート生成方法
JP7471091B2 (ja) ジョブ実行支援システム、及びジョブ実行支援方法
Konstantinou et al. COCCUS: self-configured cost-based query services in the cloud
CN109165238A (zh) 一种用于生成周期指标数据的数据处理方法及装置
CA3119490A1 (en) Contact center call volume prediction
US10810640B1 (en) Automated time tracking of events in a calendar and use of the same to generate invoices
US20240311347A1 (en) Intelligent cloud portal integration
Hu et al. Project status reporting system (PSRS) for pipeline relocation programs
JP4304214B2 (ja) ジョブ管理システム、ジョブ管理方法及びジョブ管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210113

R150 Certificate of patent or registration of utility model

Ref document number: 6830695

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250