JP5945010B2 - 負荷分散システム、方法、プログラム、記録媒体 - Google Patents

負荷分散システム、方法、プログラム、記録媒体 Download PDF

Info

Publication number
JP5945010B2
JP5945010B2 JP2014556529A JP2014556529A JP5945010B2 JP 5945010 B2 JP5945010 B2 JP 5945010B2 JP 2014556529 A JP2014556529 A JP 2014556529A JP 2014556529 A JP2014556529 A JP 2014556529A JP 5945010 B2 JP5945010 B2 JP 5945010B2
Authority
JP
Japan
Prior art keywords
game
game server
client device
player
processing unit
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.)
Expired - Fee Related
Application number
JP2014556529A
Other languages
English (en)
Other versions
JP2015512089A (ja
Inventor
スンイル・キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of JP2015512089A publication Critical patent/JP2015512089A/ja
Application granted granted Critical
Publication of JP5945010B2 publication Critical patent/JP5945010B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • 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
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an MPEG-stream for transmitting to a mobile phone or a thin client
    • 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
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/45Controlling the progress of the video game
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Description

クラウドコンピューティング技術の誕生、およびスマートフォン、タブレット、およびデジタルテレビジョンなどの高性能電子装置の普及により、ユーザの間に、自分の装置を用いて高品質のゲームを楽しもうという気運が高まっている。クラウドベース環境では、高性能を有する(例えば、高い処理能力を備える)ゲームサーバは、高品質のゲームアプリケーションを動作させる、または実行し、かつゲームサーバに接続された複数のユーザ装置にゲームサービスを提供することができる。このような場合、ユーザは、自分のユーザ装置でゲームを楽しむことができるが、ユーザ装置には、高品質のゲームアプリケーションを動作させるための十分な処理能力を有していない可能性がある。しかし、多数のユーザが、ゲームサーバに対して同時にアクセスしたとき、サーバは、期待される高性能をユーザ装置のそれぞれに提供するための処理能力が不足するおそれがある。
一例では、負荷分散システムは、 ゲームサーバのリソースの使用量を測定するように構成されたリソース使用量測定ユニットと、前記測定されたリソースの使用量と所定の閾値とを比較し、当該測定されたリソースの使用量が前記所定の閾値を超えたことが決定されたときに、前記ゲームサーバに接続している複数のクライアント装置について、ゲームのための処理の状態を判定し、判定の結果に基づいて、所定のゲームイベントが発生しようとしていることにより、非インタラクティブなメディアファイルの再生を許容できる、一つ又は複数のクライアント装置を決定する決定ユニットと、当該決定された1つ又は複数のクライアント装置に、前記ゲームサーバから非インタラクティブなメディアファイルをストリーム配信するように構成された送信ユニットと、を備える。
他の例では、複数のクライアント装置が接続するゲームサーバの負荷を低減するために、負荷低減システムの制御下で行われる方法は、負荷低減システムのコントローラは、負荷分散プログラムに基づいて、前記ゲームサーバのリソース使用量を測定すること、 前記測定されたリソース使用量を所定の閾値と比較すること、前記測定されたリソース使用量が前記所定の閾値を超えたことの決定に応じて、前記ゲームサーバに接続しているクライアント装置のうち所定のゲームイベントが発生しようとしている、一つ又は複数のクライアント装置を決定すること、および、当該1つまたは複数のクライアント装置、非インタラクティブなメディアファイルをストリーム配信することを実行する。
さらに他の例では、複数のクライアント装置が接続するゲームサーバの負荷を低減することを、コンピュータに実行させるためのプログラムは、前記ゲームサーバのリソースの使用量を測定すること、当該測定されたリソース使用量が所定の閾値を超えたことの決定に応じて、前記ゲームサーバに接続している複数のクライアント装置のうち所定のゲームイベントが発生しようとしているクライアント装置を判定すること、前記判定されたクライアント装置から、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定すること、および 前記非インタラクティブなメディアファイルを、前記ゲームサーバから、前記決定された1つまたは複数のクライアント装置にストリーム配信することを含
前述の要約は例示的なものに過ぎず、何らかの意味で限定することを意図していない。上記で述べた例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照すれば明らかになろう。
本開示の前述の、および他の特徴は、添付図面と併せて、以下の説明および添付の特許請求の範囲からさらに明らかになろう。これらの図面は、本開示によるいくつかの実施形態を示しているに過ぎないこと、したがって、その範囲を限定するものと見なされるべきではないことを理解した上で、本開示は、添付の図面を使用することにより、さらなる特殊性および詳細について述べるものとする。
本明細書で述べる少なくともいくつかの実施形態により構成された、複数のクライアント装置が、ネットワークを介してクラウドベースのゲームサービスを提供するゲームサーバに接続されているクラウドベースのゲームシステムの説明例を概略的に示す図である。 本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するための例示的なアーキテクチャを示す概略的なブロック図である。 本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するためのプロセスの例示的なフローチャートである。 本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するために使用できるコンピュータプログラム製品を示す図である。 本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するために使用できる例示的なコンピューティングデバイスを示すブロック図である。
以下の詳細な説明では、その一部を形成する添付図面に対して参照が行われる。図面中、文脈がその他の形を規定しない限り、同様の記号は、通常、同様のコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲で述べられる例示的な実施形態は、限定することを意味していない。本明細書で提示される主題の趣旨または範囲から逸脱することなく、他の実施形態を使用することができ、かつ他の変更を行うことができる。本明細書で概略的に述べられ、かつ図面で示された本開示の諸態様は、広い範囲の様々な構成で配置され、置換され、組み合わされ、分離され、かつ設計されうるが、そのすべてが、本明細書で明示的に企図されていることが容易に理解されよう。
本開示は、概して、クラウドベースのゲームシステムに対する負荷分散スキームに関連する、特に方法、装置、システム、デバイス、およびコンピュータプログラム製品に関する。
ゲームサーバが、ネットワークを介して複数のクライアント装置にクラウドベースのゲームサービスを提供するクラウドベースのゲームシステムに関する技術が、概して述べられる。いくつかの例では、多すぎるクライアント装置が、同時に同じゲームサーバにアクセスしたとき、ゲームサーバに課せられる処理負荷は、ゲームサーバが負担できる負荷よりも多くなりうる。このような場合、ゲームサーバは、ゲームサーバに接続された複数のクライアント装置の少なくともいくつかに対して、例えば、非インタラクティブなビデオファイル、および非インタラクティブなオーディオファイルなど、非インタラクティブなメディアファイルを提供する、またはストリーム配信することができる。非インタラクティブなメディアファイルをストリーム配信することは、実際のインタラクティブなゲームファイルを提供するほど多くの処理能力を必要としないので、非インタラクティブなメディアファイルをストリーム配信することは、ゲームサーバに対する全体的な処理負荷を低下させることができる。
いくつかの例では、ゲームサーバは、ゲームサーバのリソース使用量が所定の閾値を超えたとき、ゲームサーバに接続された複数のクライアント装置の中から、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。より具体的には、ユーザに対する高品質な体験を維持することに関するものを含む様々な理由のために、ゲームサーバは、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントは、ゲームを開始すること、ゲームにおける新しい段階もしくは新しい場所に入ること、ゲームにおけるミッションを完了すること、ゲームアイテムを取得すること、他のキャラクタと会うもしくは会話すること、または何らかの他の事前に規定されたゲームの中間目標(milestone)のうちの少なくとも1つに関連付けることができる。次いで、ゲームサーバは、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができ、また所定のゲームイベントが生ずると、決定または特定されたクライアント装置に非インタラクティブなメディアファイルをストリーム配信することができる。
例えば、ユーザが、クラウドベースのゲームサーバにより提供された格闘ゲームを行っているとき、ユーザの装置を介して、ユーザにより操作されたゲームキャラクタは、部屋に入り、敵のキャラクタに会い、敵のキャラクタと格闘を開始することができる。ゲームサーバのリソースが十分にある場合、ゲームを進めることができ、ユーザの装置を介してユーザにより操作されるゲームキャラクタは、敵のキャラクタと格闘することができる。他方で、ゲームサーバのリソースが、課せられた処理負荷を満たすには十分ではない場合、ユーザの装置は、それに代えて、(ゲームサーバによりユーザの装置に提供される、またはストリーム配信される非インタラクティブなメディアファイルである)動画を受け取り、かつ再生することができ、その場合、例えば、ユーザの装置を介して、ユーザにより別の形で操作されたゲームキャラクタは、その最近のインタラクティブな時点でゲームを進行させるのではなく、敵と会って会話を行う。したがって、格闘は、ユーザの装置上で非インタラクティブな動画の再生が完了した後に開始することができる。
図1は、本明細書で述べる少なくともいくつかの実施形態により構成された、ネットワークを介してクラウドベースのゲームサービスを提供するゲームサーバに、複数のクライアント装置が接続されたクラウドベースのゲームシステムの説明例を概略的に示す。
図1で示すように、ゲームサーバ100は、ネットワーク120を介して、複数のクライアント装置110−1、110−2、110−3、・・・、110−nにクラウドベースのゲームサービスを提供することができる。クライアント装置110−1、110−2、110−3、・・・、110−nの例は、これだけに限らないが、移動電話、スマートフォン、携帯情報端末(PDA)、タブレット、移動ゲーム機、ラップトップコンピュータ、デスクトップコンピュータ、または通信機能を有する任意の他の装置を含むことができる。
いくつかの実施形態では、ゲームサーバ100は、例えば、リソース使用量測定ユニットにより、そのリソース使用量を監視または測定することができる。いくつかの実施形態では、リソース使用量は、ゲームサーバ100の中央処理装置(CPU)のリソース使用量、ゲームサーバ100のグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバ100のメインメモリのリソース使用量、および/またはゲームサーバ100のグラフィックメモリのリソース使用量などに関連付けることができる。
いくつかの実施形態では、ゲームサーバ100は、例えば、リソース使用量測定ユニットにより、測定されたリソース使用量を所定の閾値と比較することができる。いくつかの実施形態では、所定の閾値は、ゲームサーバ100の処理能力と関連付けることができる。例としてであって、限定するものではないが、処理能力は、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量などに関連付けることができる。
いくつかの実施形態では、ゲームサーバ100は、例えば、決定ユニットにより、リソース使用量が所定の閾値を超えると判定されたとき、クライアント装置110−1、110−2、110−3、・・・、110−nの中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例としてであって、限定するものはないが、非インタラクティブなメディアファイルは、非インタラクティブなビデオファイル、非インタラクティブなオーディオファイル、非インタラクティブな画像ファイル、非インタラクティブなテキストファイル、あるいはゲームサーバ100が、例えば、レンダリングプロセスなどの複雑な処理を行うことなく、クライアント装置にストリーム配信するだけでよい他の任意のメディアファイルとすることができる。
いくつかの実施形態では、ゲームサーバ100は、例えば、決定ユニットにより、リソース使用量が所定の閾値を超えると判定されたとき、クライアント装置110−1、110−2、110−3、・・・、110−nの中で、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントの例は、これだけに限らないが、ゲームのプレイヤによりゲームを開始すること、プレイヤによりゲームにおける新しい段階に入ること、プレイヤによりゲームにおける新しい場所に入ること、プレイヤによりゲームにおけるミッションを完了すること、プレイヤによりゲームアイテムを取得すること、プレイヤによりゲームにおける他のキャラクタと会うこと、プレイヤによりゲームにおける他のキャラクタと会話すること、ゲームで場面変化が生ずること、任意の他の事前に規定されたゲームに関するイベントもしくは中間目標、あるいはさらにユーザの高品質体験を乱すことを回避するように意図された時点でのゲーム停止も含むことができる。例えば、図1で示す例では、クライアント装置110−1のユーザ、すなわち、プレイヤ130−1は、ゲームの新しい段階に入ろうとしており、クライアント装置110−2のユーザ、すなわち、プレイヤ130−2は、ゲームのミッションを完了しようとしており、さらにクライアント装置110−3のユーザ、すなわち、プレイヤ130−3は、新しいゲームアイテムを取得しようとしていることが想定されうる。このような場合、ゲームサーバ100は、ゲームサーバ100に課せられた処理負荷を低減するために、非インタラクティブなメディアファイルをストリーム配信すべき候補クライアント装置として、クライアント装置110−1、110−2、および110−3を決定または特定することができる。
いくつかの実施形態では、ゲームサーバ100は、例えば、決定ユニットにより、1つまたは複数の候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバ100は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバ100の利用可能な処理能力を考慮に入れることにより、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例えば、図1で示す例では、ゲームサーバ100は、ゲームサーバ100の処理能力、およびゲームサーバ100の測定されたリソース使用量を考慮すると、3つの候補クライアント装置110−1、110−2、および110−3の中で、2つのクライアント装置にだけ非インタラクティブなメディアファイルをストリーム配信することが必要であると判定することができる。
いくつかの実施形態では、ゲームサーバ100は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、ゲームサーバ100は、1つまたは複数の候補クライアント装置のそれぞれに対する非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例えば、図1に示す例では、ゲームサーバ100が、以前に非インタラクティブなメディアファイルを、クライアント装置110−1に対して2回、クライアント装置110−2に対して5回、クライアント装置110−3に対して10回提供している、またはストリーム配信している場合、ゲームサーバ100は、遅延または他の処理負担をクライアント装置の中で公平に分散させるようにするために、所定のゲームイベントが生じると、非インタラクティブなメディアファイルをクライアント装置110−1および110−2にストリーム配信するように決定することができる。
非インタラクティブなメディアファイルをストリーム配信することは、レンダリングなどの複雑なグラフィック処理を必要とするゲームプレイを提供するよりも少ないゲームサーバ100のリソースを使用すればよいので、ゲームサーバ100の処理負荷は、クライアント装置110−1、110−2、110−3、・・・、110−nのいくつかのものに非インタラクティブなメディアファイルをストリーム配信することにより低減されうる。
図2は、本明細書で述べられる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するための例示的なアーキテクチャを示す概略的なブロック図を示している。
図示のように、負荷分散システム200は、リソース使用量測定ユニット210、決定ユニット220、および送信ユニット230を含むことができる。別々のコンポーネントとして示されているが、様々なコンポーネントは、さらなるコンポーネントへと分割すること、より少ないコンポーネントに組み合わせること、または全く削除することができるが、それもまた開示される主題の範囲に含まれるように企図されている。
リソース使用量測定ユニット210は、ゲームサーバ(例えば、ゲームサーバ100)のリソース使用量を測定するように構成することができる。例としてであって、限定するものではないが、ゲームサーバのリソース使用量は、ゲームサーバの中央処理装置(CPU)のリソース使用量、ゲームサーバのグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバのメインメモリのリソース使用量、および/またはゲームサーバのグラフィックメモリのリソース使用量などに関連付けることができる。
決定ユニット220は、リソース使用量測定ユニット210により測定されたリソース使用量に少なくとも部分的に基づいて、ゲームサーバに接続された複数のクライアント装置(例えば、クライアント装置110−1、110−2、110−3、・・・、110−n)の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定するように構成することができる。いくつかの実施形態では、決定ユニット220は、リソース使用量測定ユニット210により測定されたリソース使用量を所定の閾値と比較することができる。例としてであって、限定するものではないが、所定の閾値は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力と関連付けることができる。
いくつかの実施形態では、決定ユニット220は、ゲームサーバの、またはそれに対応するリソース使用量が、所定の閾値を超えると判定されたとき、ゲームサーバに接続された複数のクライアント装置の中で、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントの例は、これだけに限らないが、ゲームのプレイヤによりゲームを開始すること、プレイヤによりゲームにおける新しい段階に入ること、プレイヤによりゲームにおける新しい場所に入ること、プレイヤによりゲームにおけるミッションを完了すること、プレイヤによりゲームアイテムを取得すること、プレイヤによりゲームにおける他のキャラクタと会うこと、プレイヤによりゲームにおける他のキャラクタと会話すること、ゲームで場面変化が生ずること、ならびにそれが生じたときにプレイヤを極度にいらいらさせることのないゲーム停止など、任意の他のイベントを含むことができる。
いくつかの実施形態では、決定ユニット220は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、決定ユニット220は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。
いくつかの実施形態では、決定ユニット220は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、決定ユニット220は、遅延または他の処理負担をクライアント装置の中で公平に分散させるように、候補クライアント装置のそれぞれに対する以前の非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。
送信ユニット230は、所定のゲームイベントが生ずると、決定ユニット220により決定されたクライアント装置に、非インタラクティブなメディアファイルを送信、またはストリーム配信するように構成することができる。非インタラクティブなメディアファイルをストリーム配信することは、レンダリングなどの複雑なグラフィック処理を必要とするゲームプレイを提供するよりも少ないゲームサーバのリソースを使用すればよいので、ゲームサーバ100の処理負荷は、クライアント装置のいくつかのものに非インタラクティブなメディアファイルをストリーム配信することにより低減されうる。
図3は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するためのプロセスの例示的なフローチャートを示す。
図3のプロセスは、ゲームサーバ100などのゲームサーバ、および/または上記で述べたリソース使用量測定ユニット210、決定ユニット220、および送信ユニット230を含む負荷分散システム200などの負荷分散システムで実施することができる。例示的なプロセスは、1つまたは複数のブロック300、310、320、330、および/または340により示された、1つまたは複数のオペレーション、アクション、または機能を含むことができる。別々のブロックとして示されているが、望ましい実装形態に応じて、様々なブロックを、さらなるブロックへと分割する、より少ないブロックへと組み合わせる、または削除することができる。処理は、ブロック300で開始することができる。
ブロック300で、ゲームサーバまたは負荷分散システムは、ゲームサーバのリソース使用量を測定することができる。例としてであって、限定するものではないが、ゲームサーバのリソース使用量は、ゲームサーバの中央処理装置(CPU)のリソース使用量、ゲームサーバのグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバのメインメモリのリソース使用量、および/またはゲームサーバのグラフィックメモリのリソース使用量などに関連付けることができる。処理は、ブロック300からブロック310へと進むことができる。
ブロック310で、ゲームサーバまたは負荷分散システムは、測定されたリソース使用量を所定の閾値と比較することができる。例としてであって、限定するものではないが、所定の閾値は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力に関連付けることができる。測定されたリソース使用量が所定の閾値を超えた場合(YES(はい))、処理はブロック310からブロック320へと進むことができる。そうではない場合、処理は、ブロック300に戻ることになる。
ブロック320で、ゲームサーバまたは負荷分散システムは、ゲームサーバに接続された複数のクライアント装置の中で、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントの例は、これだけに限らないが、ゲームのプレイヤによりゲームを開始すること、プレイヤによりゲームにおける新しい段階に入ること、プレイヤによりゲームにおける新しい場所に入ること、プレイヤによりゲームにおけるミッションを完了すること、プレイヤによりゲームアイテムを取得すること、プレイヤによりゲームにおける他のキャラクタと会うこと、プレイヤによりゲームにおける他のキャラクタと会話すること、ゲームで場面変化が生ずること、およびユーザにおける体験品質のどんな乱れも低減させるように意図された時点でゲームを停止することを含む、任意の他のゲームの中間目標を含むことができる。処理は、ブロック320からブロック330に進むことができる。
ブロック330で、ゲームサーバまたは負荷分散システムは、1つまたは複数の候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバまたは負荷分散システムは、ゲームサーバの処理能力に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバまたは負荷分散システムは、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、ゲームサーバまたは負荷分散システムは、遅延または他の処理負担をクライアント装置の中で公平に分散させるようにするために、1つまたは複数の候補クライアント装置のそれぞれに対する以前の非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を選択することができる。処理は、ブロック330からブロック340に進むことができる。
ブロック340で、ゲームサーバまたは負荷分散システムは、決定された、または特定されたクライアント装置に対して、非インタラクティブなメディアファイルを送信またはストリーム配信することができる。処理は、ブロック340からブロック300に進むことができる。非インタラクティブなメディアファイルのストリーム配信は、実際のインタラクティブなゲームファイルを提供するほど多くの処理能力を必要としないので、非インタラクティブなメディアファイルのストリーム配信は、ゲームサーバに対する全体の処理負荷を低下させることができる。
当業者であれば、本明細書で開示される、このおよび他のプロセスならびに方法に関して、プロセスおよび方法で実施される機能は、異なる順序で実施できることが理解されよう。さらに、概要を述べたステップおよびオペレーションは、例として提供されているに過ぎず、ステップおよびオペレーションのいくつかのものは、開示された実施形態の本質から逸脱することなく、任意選択のものとすることができ、より少ないステップおよびオペレーションへと組み合わせることができ、あるいはさらなるステップおよびオペレーションへと拡張することもできる。
図4は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するために使用できるコンピュータプログラム製品を示している。
プログラム製品400は、信号伝達媒体402を含むことができる。信号伝達媒体402は、例えば、プロセッサにより実行されたとき、図1〜図3に関して上記で述べた機能を提供できる1つまたは複数の命令404を含むことができる。例として、命令404は、ゲームサーバのリソース使用量が所定の閾値を超えたとき、ゲームサーバに接続された複数のクライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定するための1つまたは複数の命令と、決定された1つまたは複数のクライアント装置に非インタラクティブなメディアファイルをストリーム配信するための1つまたは複数の命令とを含むことができる。したがって、例えば、図2を参照すると、負荷分散システム200が、命令404に応じて、図3で示すブロックの1つまたは複数のものを行うことができる。
いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、ハードディスクドライブ、CD、DVD、デジタルテープ、メモリなど、コンピュータ可読媒体406を含むことができる。いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、メモリ、読取り/書込み(R/W)CD、R/W DVDなどの記録可能な媒体408を含むことができる。いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、デジタル通信媒体および/またはアナログ通信媒体(例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンク)など、通信媒体410を含むことができる。したがって、例えば、プログラム製品400を、RF信号伝達媒体402により負荷分散システム200の1つまたは複数のモジュールに伝達することができ、その場合、信号伝達媒体402は、無線通信媒体410(例えば、IEEE802.11規格に準拠する無線通信媒体)により伝達される。
図5は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するために使用できる例示的なコンピューティングデバイスを示すブロック図である。
これらの例では、コンピューティングデバイス500の要素は、クラウドベースのゲームシステムのために配置または構成することができる。非常に基本的な構成502では、コンピューティングデバイス500は、通常、1つまたは複数のプロセッサ504、およびシステムメモリ506を含む。メモリバス508は、プロセッサ504とシステムメモリ506の間で通信するために使用することができる。
望ましい構成に応じて、プロセッサ504は、これだけに限らないが、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)、またはそれらの任意の組合せを含む任意のタイプとすることができる。プロセッサ504は、レベル1キャッシュ510およびレベル2キャッシュ512など、1つまたは複数レベルのキャッシング、プロセッサコア514、およびレジスタ516を含むことができる。例示的なプロセッサコア514は、論理演算装置(ALU)、浮動少数点演算ユニット(FPU)、デジタルシグナル処理コア(DSPコア)、またはそれらの任意の組合せを含むことができる。例示的なメモリコントローラ518はまた、プロセッサ504と共に使用することができるが、あるいはいくつかの実装形態では、メモリコントローラ518は、プロセッサ504の内側部分とすることができる。
望ましい構成に応じて、システムメモリ506は、これだけに限らないが、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、またはそれらの任意の組合せを含む任意のタイプとすることができる。システムメモリ506は、オペレーティングシステム520、1つまたは複数のアプリケーション522、およびプログラムデータ524を含むことができる。アプリケーション522は、図2で示した負荷分散システム200のアーキテクチャに関して述べたアクションを含む、または図3で示したフローチャートに関して述べたアクションを含む、本明細書で述べられた機能を実施するように構成できる命令526を含むことができる。いくつかの例では、アプリケーション522は、本明細書で述べた負荷分散システムに対する命令を実施するなど、プログラムデータ524を用いてオペレーティングシステム520上で動作するように構成することができる。
コンピューティングデバイス500は、基本構成502と任意の必要なデバイスおよびインターフェースとの間の通信を容易にするためのさらなる特徴または機能、およびさらなるインターフェースを有することができる。例えば、バス/インターフェースコントローラ530は、ストレージインターフェースバス534を介して、基本構成502と、1つまたは複数のデータ記憶装置532との間の通信を容易にするために使用することができる。データ記憶装置532は、取外し式ストレージ536、非取外し式ストレージ538、またはそれらの組合せとすることができる。取外し式ストレージ536および非取外し式ストレージ538の例は、そのいくつかを挙げると、フレキシブルなディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスク装置、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光ディスクドライブ、半導体ドライブ(SSD)、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、取外し式および非取外し式媒体を含むことができる。
システムメモリ506、取外し式ストレージ536、および非取外し式ストレージ538は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、これだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは所望の情報を記憶するために使用でき、かつコンピューティングデバイス500がアクセスできる任意の他の媒体を含む。このようなコンピュータ記憶媒体はいずれも、コンピューティングデバイス500の一部とすることができる。
コンピューティングデバイス500はまた、バス/インターフェースコントローラ530を介して、様々なインターフェースデバイス540(例えば、出力インターフェース542、周辺インターフェース544、および通信装置546)から、基本構成502への通信を容易にするためのインターフェースバス540を含むことができる。例示的な出力インターフェース542は、グラフィック処理ユニット548およびオーディオ処理ユニット550を含み、それは、1つまたは複数のA/Vポート552を介してディスプレイまたはスピーカなどの様々な外部装置に伝達するように構成することができる。例示的な周辺インターフェース544は、シリアルインターフェースコントローラ554またはパラレルインターフェースコントローラ556を含み、それは、1つまたは複数のI/Oポート558を介して、入力装置(例えば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)または他の周辺装置(例えば、プリンタ、スキャナなど)などの外部装置と通信するように構成することができる。例示的な通信装置546は、ネットワークコントローラ560を含み、それは、1つまたは複数の通信ポート564を経由し、ネットワーク通信リンク介して、1つまたは複数の他のコンピューティングデバイス562との通信を容易にするように構成することができる。
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他のトランスポート機構などの変調されたデータ信号における他のデータにより実施することができ、また任意の情報送達媒体を含むことができる。「変調されたデータ信号」とは、情報を信号中で符号化するような方法で、その特性の1つまたは複数のものを設定もしくは変化させた信号とすることができる。例としてであって、限定するものではないが、通信媒体は、有線ネットワークもしくは直接の有線接続などの有線媒体、ならびに音響、高周波(RF)、マイクロ波、赤外線(IR)などの無線媒体、および他の無線媒体を含むことができる。本明細書で使用される場合、コンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含むことができる。
コンピューティングデバイス500は、携帯電話、携帯情報端末(PDA)、パーソナルメディアプレーヤ装置、無線ウェブ監視装置、パーソナルヘッドセット装置、特定用途向け装置、または上記の機能のいずれかを含むハイブリッド装置など、小型のフォームファクタを有する可搬型(またはモバイル)電子装置の一部として実装することができる。コンピューティングデバイス500はまた、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施することもできる。
本開示は、様々な態様を例示するように意図された、本出願で述べられた特定の実施形態によって限定されない。当業者には明らかであろうが、本出願の趣旨および範囲から逸脱することなく、多くの変更および変形を行うことが可能である。本明細書で列挙されたものに加えて、本開示の範囲に含まれる機能的に均等な方法および装置は、前述の記述から当業者には明らかであろう。このような変更および変形は、添付の特許請求の範囲に含まれるように意図されている。本開示は、このような特許請求の範囲が権利を有する均等な形態の全範囲と併せて、添付の特許請求の範囲によってのみ限定されるべきである。本開示は、当然であるが変化しうる特定の方法、試薬、化合物、組成、または生体系に限定されないことを理解されたい。本明細書で使用される専門用語は、特定の実施形態だけを記述するためのものであり、限定することを意図していないこともまた理解されたい。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(例えば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(例えば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(例えば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
さらに、本開示の特徴または態様が、マーカッシュ群に関して記述される場合、当業者であれば、本開示はまた、それにより、マーカッシュ群の任意の個々の構成要素、または構成要素の下位の群により記述されることが理解されよう。
当業者であれば理解されるように、記述を提供することなど、任意のかつすべての目的に関して、本明細書で開示されるすべての範囲はまた、任意の、かつすべての可能な下位の範囲、およびその下位の範囲の組合せを包含する。いずれの列挙された範囲も、その範囲が十分に説明されており、かつ少なくとも等しい半分、3分の1、4分の1、5分の1、10分の1などへと分解可能であることが容易に理解できるはずである。非限定的な例として、本明細書で論ずる各範囲は、下側3分の1、中央3分の1、および上側3分の1などへと容易に分解することができる。当業者であればまた理解されるように、「最高で〜まで」、「少なくとも」、および同様のものなどのすべての言語は、記載された数を含み、その後に続いて、上記で論じた下位の範囲へと分解できる範囲を指す。最後に、当業者であれば理解されるように、範囲は個々の構成要素を含む。したがって、例えば、1〜3個のセルを有する群は、1、2、または3個のセルを有する群を指す。同様に、1〜5個のセルを有する群は、1、2、3、4、または5個のセルを有する群を指し、以下同様である。
前述の内容から、本開示の様々な実施形態は、例示のために本明細書で述べられてきており、様々な変更を本開示の範囲および趣旨から逸脱することなく行うことが可能であることが理解されよう。したがって、本明細書で開示された様々な実施形態は、限定することを意図しておらず、その真の範囲および趣旨は、添付の特許請求の範囲によって示される。

Claims (28)

  1. ゲームサーバのリソースの使用量を測定するように構成されたリソース使用量測定ユニットと、
    前記測定されたリソースの使用量と所定の閾値とを比較し、当該測定されたリソースの使用量が前記所定の閾値を超えた場合に、前記ゲームサーバに接続している複数のクライアント装置のなかから、各クライアント装置におけるゲームの進行状態に基づいて、所定のゲームイベントが発生しようとしているクライアント装置を決定する決定ユニットと、
    当該決定されたクライアント装置に、前記ゲームサーバから非インタラクティブなメディアファイルをストリーム配信するように構成された送信ユニットと、
    を備える、前記ゲームサーバのための負荷分散システム。
  2. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    当該ゲームサーバのリソースの使用量は、これらの少なくとも1つの使用量に関連付けられている、請求項1に記載の負荷分散システム。
  3. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    当該ゲームサーバの処理能力が、前記中央処理装置(CPU)の処理能力、前記グラフィック処理ユニット(GPU)の処理能力、前記メインメモリの容量、および、前記グラフィックメモリの容量のうちの少なくとも1つに関連付けられ、
    前記所定の閾値が、前記ゲームサーバの処理能力に基づいて定められた閾値である、請求項1に記載の負荷分散システム。
  4. 前記所定のゲームイベントが、ゲームを前記ゲームのプレイヤにより開始すること、前記プレイヤにより前記ゲームにおける新しい段階に入ること、前記プレイヤにより前記ゲームにおける新しい場所に入ること、前記プレイヤにより前記ゲームにおけるミッションを完了すること、前記プレイヤによりゲームアイテムを取得すること、前記プレイヤにより前記ゲームにおける他のキャラクタと会うこと、前記プレイヤにより前記ゲームにおける前記他のキャラクタと会話すること、および、前記ゲームで場面変化が生ずることのうちの少なくとも1つに関連付けられる、請求項1に記載の負荷分散システム。
  5. 前記決定ユニットが、前記所定のゲームイベントが発生しようとしているクライアント装置を候補クライアント装置とし、当該候補クライアント装置の中から、前記非インタラクティブなメディアファイルをストリーム配信すべきクライアント装置をランダム又は所定条件に基づいて選択するように構成される、請求項1に記載の負荷分散システム。
  6. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    前記ゲームサーバのリソースの使用量に関連する、当該ゲームサーバの処理能力が、前記中央処理装置(CPU)の処理能力、前記グラフィック処理ユニット(GPU)の処理能力、前記メインメモリの容量、および、前記グラフィックメモリの容量のうちの少なくとも1つに関連付けられている、請求項5に記載の負荷分散システム。
  7. 前記決定ユニットが、前記所定のゲームイベントが発生しようとしているクライアント装置に対してメディアファイルをストリーム配信した数に少なくとも部分的に基づいて、前記非インタラクティブなメディアファイルをストリーム配信すべきクライアント装置を選択するようにさらに構成される、請求項1に記載の負荷分散システム。
  8. 前記非インタラクティブなメディアファイルが、非インタラクティブなビデオファイル、非インタラクティブなオーディオファイル、非インタラクティブな画像ファイル、および非インタラクティブなテキストファイルのうちの少なくとも1つを含む、請求項1に記載の負荷分散システム。
  9. 複数のクライアント装置が接続するゲームサーバの負荷を低減するために、負荷低減システムの制御下で行われる方法であって、
    前記負荷低減システムのコントローラは、負荷分散プログラムに基づいて、
    前記ゲームサーバのリソースの使用量を測定すること、
    前記測定されたリソースの使用量を所定の閾値と比較すること、
    前記測定されたリソースの使用量が前記所定の閾値を超えている場合に、前記ゲームサーバに接続しているクライアント装置のなかから、各クライアント装置におけるゲームの進行状態に基づいて、所定のゲームイベントが発生しようとしているクライアント装置を決定すること、および、
    前記決定されたクライアント装置に、非インタラクティブなメディアファイルをストリーム配信すること
    を実行する前記方法。
  10. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    当該ゲームサーバのリソースの使用量は、これらの少なくとも1つの使用量に関連付けられている、請求項9に記載の方法。
  11. 前記所定の閾値が、前記ゲームサーバのリソースの使用量に関連する、当該ゲームサーバの処理能力に基づいて定められた閾値である、請求項9に記載の方法。
  12. 前記所定のゲームイベントが、ゲームを前記ゲームのプレイヤにより開始すること、前記プレイヤにより前記ゲームにおける新しい段階に入ること、前記プレイヤにより前記ゲームにおける新しい場所に入ること、前記プレイヤにより前記ゲームにおけるミッションを完了すること、前記プレイヤによりゲームアイテムを取得すること、前記プレイヤにより前記ゲームにおける他のキャラクタと会うこと、前記プレイヤにより前記ゲームにおける他のキャラクタと会話すること、および前記ゲームで場面変化が生ずることのうちの少なくとも1つに関連付けられている、請求項9に記載の方法。
  13. 前記コントローラは、前記所定のゲームイベントが発生しようとしているクライアント装置を候補クライアント装置とし、当該候補クライアント装置の中から、前記非インタラクティブなメディアファイルをストリーム配信すべきクライアント装置をランダム又は所定条件に基づいて選択すること
    実行する、請求項9に記載の方法。
  14. 前記コントローラは、前記ゲームサーバのリソースの使用量に関連する、当該ゲームサーバの処理能力に少なくとも部分的に基づいて、前記クライアント装置を選択することを実行する、請求項13に記載の方法。
  15. 前記コントローラは、前記候補クライアント装置に対して非インタラクティブなメディアファイルをストリーム配信した数に少なくとも部分的に基づいて、前記クライアント装置を選択することを実行する、請求項13に記載の方法。
  16. 前記非インタラクティブなメディアファイルが、非インタラクティブなビデオファイル、非インタラクティブなオーディオファイル、非インタラクティブな画像ファイル、および非インタラクティブなテキストファイルのうちの少なくとも1つを含む、請求項9に記載の方法。
  17. 複数のクライアント装置が接続するゲームサーバの負荷を低減することを、コンピュータに実行させるためのプログラムであって、
    当該プログラムは、前記コンピュータに、
    前記ゲームサーバのリソースの使用量を測定すること、
    当該測定されたリソースの使用量が所定の閾値を超えた場合に、前記ゲームサーバに接続している複数のクライアント装置のうち所定のゲームイベントが発生しようとしているクライアント装置を判定すること、
    前記判定されたクライアント装置のなかから、各クライアント装置におけるゲームの進行状態にに基づいて、非インタラクティブなメディアファイルをストリーム配信すべきクライアント装置を決定すること、および
    前記非インタラクティブなメディアファイルを、前記ゲームサーバから、前記決定されたクライアント装置にストリーム配信すること
    実行させる、前記プログラム。
  18. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    当該ゲームサーバのリソースの使用量は、これらの少なくとも1つの使用量に関連付けられている、請求項17に記載のプログラム。
  19. 前記所定の閾値が、前記ゲームサーバのリソースの使用量に関連する、当該ゲームサーバの処理能力に基づいて定められた閾値である、請求項17に記載のプログラム。
  20. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、 前記ゲームサーバの前記処理能力が、前記中央処理装置(CPU)の処理能力、前記グラフィック処理ユニット(GPU)の処理能力、前記メインメモリの容量、および、前記グラフィックメモリの容量のうちの少なくとも1つに関連付けられている、請求項19に記載のプログラム。
  21. 前記決定することが、
    前記所定のゲームイベントが生じようとしているクライアント装置を候補クライアント装置とし、および
    前記ゲームサーバのリソースの使用量に関連する、当該ゲームサーバの処理能力に少なくとも部分的に基づいて、前記候補クライアント装置から前記非インタラクティブなメディアファイルをストリーム配信すべきクライアント装置を選択すること
    を含む、請求項17に記載のプログラム。
  22. 前記所定のゲームイベントが、ゲームを前記ゲームのプレイヤにより開始すること、前記プレイヤにより前記ゲームにおける新しい段階に入ること、前記プレイヤにより前記ゲームにおける新しい場所に入ること、前記プレイヤにより前記ゲームにおけるミッションを完了すること、前記プレイヤによりゲームアイテムを取得すること、前記プレイヤにより前記ゲームにおける他のキャラクタと会うこと、前記プレイヤにより前記ゲームにおける他のキャラクタと会話すること、および、前記ゲームで場面変化が生ずることのうちの少なくとも1つに関連付けられている、請求項21に記載のプログラム。
  23. 前記ゲームサーバは、中央処理装置(CPU)、グラフィック処理ユニット(GPU)、メインメモリ、および、グラフィックメモリを備え、
    前記ゲームサーバの前記処理能力が、前記中央処理装置(CPU)の処理能力、前記グラフィック処理ユニット(GPU)の処理能力、前記メインメモリの容量、および、前記グラフィックメモリの容量のうちの少なくとも1つに関連付けられている、請求項21に記載のプログラム。
  24. 前記非インタラクティブなメディアファイルが、非インタラクティブなビデオファイル、非インタラクティブなオーディオファイル、非インタラクティブな画像ファイル、および非インタラクティブなテキストファイルのうちの少なくとも1つを含む、請求項17に記載のプログラム。
  25. 前記所定のゲームイベントが発生しようとしているクライアント装置に配信されようとしていたインタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量が、前記非インタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量より大きい、請求項1記載のシステム。
  26. 前記所定のゲームイベントが発生しようとしているクライアント装置に配信されようとしていたインタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量が、前記非インタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量より大きい請求項9記載の方法。
  27. 前記所定のゲームイベントが発生しようとしているクライアント装置に配信されようとしていたインタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量が、前記非インタラクティブなメディアファイルに対する前記ゲームサーバのリソースの必要量より大きい請求項19記載のプログラム。
  28. 請求項17〜24、及び、27の何れか1つの請求項に記載のプログラムが記録された、コンピュータが読み取り可能な記録媒体。
JP2014556529A 2012-02-14 2012-02-14 負荷分散システム、方法、プログラム、記録媒体 Expired - Fee Related JP5945010B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/024995 WO2013122572A1 (en) 2012-02-14 2012-02-14 Load balancing in cloud-based game system

Publications (2)

Publication Number Publication Date
JP2015512089A JP2015512089A (ja) 2015-04-23
JP5945010B2 true JP5945010B2 (ja) 2016-07-05

Family

ID=48946028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014556529A Expired - Fee Related JP5945010B2 (ja) 2012-02-14 2012-02-14 負荷分散システム、方法、プログラム、記録媒体

Country Status (5)

Country Link
US (3) US8795087B2 (ja)
JP (1) JP5945010B2 (ja)
KR (1) KR101595075B1 (ja)
CN (1) CN104011700B (ja)
WO (1) WO2013122572A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323581B1 (en) * 2011-03-31 2016-04-26 Emc Corporation Space inheritance
US9348430B2 (en) * 2012-02-06 2016-05-24 Steelseries Aps Method and apparatus for transitioning in-process applications to remote devices
KR101595075B1 (ko) 2012-02-14 2016-02-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드 기반 게임 시스템에서의 부하 균형
EP2763038A3 (en) * 2013-02-01 2017-03-01 Samsung Electronics Co., Ltd Method and apparatus for processing multimedia content on a graphic cloud
US20140274408A1 (en) * 2013-03-14 2014-09-18 Zynga Inc. Methods and systems for provisioning a game container within a cloud computing system
WO2015012786A1 (en) * 2013-07-22 2015-01-29 Empire Technology Development Llc Game load management
EP3089113A4 (en) * 2013-12-26 2017-11-15 Kabushiki Kaisha Square Enix (also trading as "Square Enix Co., Ltd." Rendering system, control method, program, and recording medium
DK178380B1 (en) * 2014-07-01 2016-01-25 Magma Giessereitechnologie Gmbh Method of beam tracking for use in a simulation or calculation process
US9860789B2 (en) * 2014-12-30 2018-01-02 Fortinet, Inc. Load balancing for a cloud-based wi-fi controller based on local conditions
CN104780164B (zh) 2015-03-25 2016-12-21 腾讯科技(深圳)有限公司 一种运行游戏客户端的方法和装置
US10737183B1 (en) * 2015-10-27 2020-08-11 BlueStack Systems, Inc. Smart streaming
CN105872098B (zh) * 2016-06-03 2019-04-26 腾讯科技(深圳)有限公司 数据处理方法、负载均衡器和交互式应用服务器及系统
CN108066986B (zh) * 2017-10-26 2021-04-02 咪咕互动娱乐有限公司 一种流媒体确定方法及装置和存储介质
US10522006B2 (en) 2018-01-09 2019-12-31 Erik Alexander Methods and systems for interactive gaming
CN108200185B (zh) * 2018-01-15 2020-12-04 杭州迪普科技股份有限公司 一种实现负载均衡的方法及装置
CN109274718A (zh) * 2018-08-23 2019-01-25 郑州云海信息技术有限公司 一种基于云计算的共享单车数据处理系统
CN109120700A (zh) * 2018-08-23 2019-01-01 郑州云海信息技术有限公司 一种基于云计算的居民区私有车位共享租赁系统
CN109491715B (zh) * 2018-11-06 2021-10-22 深圳市风云实业有限公司 基于Windows NT的应用管理方法、装置及终端
US11938406B2 (en) * 2019-06-07 2024-03-26 Nvidia Corporation Dynamic allocation of compute resources for highlight generation in cloud gaming systems
US11200775B2 (en) 2020-02-10 2021-12-14 Igt Electronic gaming machine with wireless communication capabilities
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
TWI765374B (zh) * 2020-10-15 2022-05-21 捷欣企業股份有限公司 料片結構
JP2023046337A (ja) * 2021-09-23 2023-04-04 株式会社セガ 情報処理装置及び実行切替システム
CN113877199B (zh) * 2021-12-07 2022-03-11 北京蔚领时代科技有限公司 一种适用于云游戏场景的线路调度方法及装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560717B1 (en) 1999-12-10 2003-05-06 Art Technology Group, Inc. Method and system for load balancing and management
US9047609B2 (en) 2000-11-29 2015-06-02 Noatak Software Llc Method and system for dynamically incorporating advertising content into multimedia environments
US20090119168A1 (en) 2001-11-14 2009-05-07 Retaildna, Llc System and method for providing an incentive based on the hardware used to place an order
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7584353B2 (en) * 2003-09-12 2009-09-01 Trimble Navigation Limited Preventing unauthorized distribution of media content within a global network
US7458894B2 (en) * 2004-09-15 2008-12-02 Microsoft Corporation Online gaming spectator system
US7868891B2 (en) 2004-09-16 2011-01-11 Nvidia Corporation Load balancing
JP4645649B2 (ja) 2005-03-14 2011-03-09 パナソニック株式会社 切替元デバイス、切替先デバイス、高速デバイス切替システムおよびシグナリング方法
US7901294B2 (en) 2006-02-24 2011-03-08 Igt Method and apparatus for enabling a player to simultaneously control game play on multiple gaming devices
US8968077B2 (en) * 2006-04-13 2015-03-03 Idt Methods and systems for interfacing with a third-party application
US20070293319A1 (en) 2006-06-20 2007-12-20 Microsoft Corporation Transfer of Features Between Gaming Devices
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
JP4644175B2 (ja) * 2006-10-10 2011-03-02 日本放送協会 アクセス負荷制御装置およびそのプログラム、ならびに、投稿受付システム
CN101378390B (zh) * 2007-08-27 2012-04-18 神乎科技股份有限公司 一种分布式运算的推拉式信息服务系统以及方法
US8200810B2 (en) * 2007-12-13 2012-06-12 Highwinds Holdings, Inc. Content delivery network
US8392580B2 (en) 2008-02-20 2013-03-05 Research In Motion Limited Methods and systems for facilitating transfer of sessions between user devices
JP5345796B2 (ja) * 2008-03-27 2013-11-20 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US8167703B2 (en) 2008-04-02 2012-05-01 Wms Gaming Inc. Gaming system having alternate wagering game configurations
US20100094728A1 (en) * 2008-09-12 2010-04-15 James Denning Method and system for distributing media content and processing payments and/or voluntary data collection
JP5064441B2 (ja) * 2009-05-25 2012-10-31 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム処理方法、ならびに、プログラム
US8620879B2 (en) 2009-10-13 2013-12-31 Google Inc. Cloud based file storage service
EP2319597A1 (en) * 2009-10-13 2011-05-11 Crytek GmbH A system of providing data for entertaining presentations to at least one audience
US20110119293A1 (en) * 2009-10-21 2011-05-19 Randy Gilbert Taylor Method And System For Reverse Pattern Recognition Matching
US9524138B2 (en) 2009-12-29 2016-12-20 Nvidia Corporation Load balancing in a system with multi-graphics processors and multi-display systems
JP2011186834A (ja) * 2010-03-09 2011-09-22 Copcom Co Ltd ゲームプログラム、記録媒体、及びコンピュータ装置
JP5174066B2 (ja) * 2010-03-10 2013-04-03 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームサーバ、ゲーム装置、ゲームシステムの制御方法、ゲームサーバの制御方法、ゲーム装置の制御方法、及びプログラム
JP5371857B2 (ja) * 2010-03-29 2013-12-18 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲームシステムの制御方法、及びプログラム
US8359361B2 (en) * 2010-05-06 2013-01-22 Microsoft Corporation Techniques to share media files through messaging
US8342948B2 (en) 2010-06-02 2013-01-01 Bally Gaming, Inc. System, apparatus and method for saving game state and for utilizing game states on different gaming devices
US9421460B2 (en) 2010-08-31 2016-08-23 Sony Interactive Entertainment Inc. Offline Progress of console game via portable device
EP2614653A4 (en) * 2010-09-10 2015-04-15 Nokia Corp METHOD AND APPARATUS FOR ADAPTIVE CONTINUOUS DIFFUSION
US20120079606A1 (en) 2010-09-24 2012-03-29 Amazon Technologies, Inc. Rights and capability-inclusive content selection and delivery
US20120102185A1 (en) 2010-10-20 2012-04-26 Sony Computer Entertainment America Inc. Resource management of server hosts in online game environment
US8435121B1 (en) 2010-11-05 2013-05-07 Amazon Technologies, Inc. Providing remote access to games designed for a single-machine experience
US20120142429A1 (en) 2010-12-03 2012-06-07 Muller Marcus S Collaborative electronic game play employing player classification and aggregation
KR101662726B1 (ko) * 2010-12-29 2016-10-14 삼성전자주식회사 전자 기기의 스크롤 방법 및 장치
US20120252582A1 (en) 2011-03-30 2012-10-04 Electronic Arts Inc. Metagame Translation
US8719627B2 (en) 2011-05-20 2014-05-06 Microsoft Corporation Cross-cloud computing for capacity management and disaster recovery
US8543582B1 (en) * 2011-08-26 2013-09-24 Google Inc. Updateable metadata for media content
US10862784B2 (en) * 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices
US20150356104A9 (en) * 2011-10-04 2015-12-10 Electro Industries/Gauge Tech Systems and methods for collecting, analyzing, billing, and reporting data from intelligent electronic devices
KR101595075B1 (ko) 2012-02-14 2016-02-17 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 클라우드 기반 게임 시스템에서의 부하 균형
WO2015012786A1 (en) 2013-07-22 2015-01-29 Empire Technology Development Llc Game load management

Also Published As

Publication number Publication date
CN104011700B (zh) 2016-10-26
US20160036901A1 (en) 2016-02-04
KR20140084190A (ko) 2014-07-04
JP2015512089A (ja) 2015-04-23
US20140302929A1 (en) 2014-10-09
WO2013122572A1 (en) 2013-08-22
KR101595075B1 (ko) 2016-02-17
US8795087B2 (en) 2014-08-05
US9237115B2 (en) 2016-01-12
US20130210526A1 (en) 2013-08-15
US9531797B2 (en) 2016-12-27
CN104011700A (zh) 2014-08-27

Similar Documents

Publication Publication Date Title
JP5945010B2 (ja) 負荷分散システム、方法、プログラム、記録媒体
KR101523861B1 (ko) 범용 프로세서와 그래픽 프로세서 사이의 부하 분산
US9357015B2 (en) Enhanced content consumption
US20130067050A1 (en) Playback manager
US9760967B2 (en) System and method of dynamically throttling CPU frequency for gaming workloads
US9233304B2 (en) Load balancing for game
US9526989B2 (en) Method and apparatus for receiving game streaming data, and method and server for transmitting game streaming data
US20130210527A1 (en) Player matching in a game system
US9694282B2 (en) Importing audio to affect gameplay experience
US20140282112A1 (en) Facilitating group activities in a virtual environment
US9358467B2 (en) Game load management
JP2021072965A (ja) ゲームリプレイ方法およびシステム
KR20120136967A (ko) 환율 개념을 적용한 게임 제공 방법, 시스템, 이를 위한 서비스장치 및 이를 위한 단말기
TW202125273A (zh) 線上服務存取控制裝置及方法
JP6974773B1 (ja) 情報処理装置、プログラム及び情報処理方法
US9761030B2 (en) Scene image generator
US11872487B2 (en) Real time interconnected game context and data sharing plugin framework
JP6873182B2 (ja) コンピュータプログラム、およびコンピュータ装置
JP6764962B2 (ja) コンピュータプログラム、およびコンピュータ装置
JP6764964B2 (ja) コンピュータプログラム、およびコンピュータ装置
TW202125272A (zh) 線上服務存取控制裝置及方法
JP2020163186A (ja) コンピュータプログラム、およびコンピュータ装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150522

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150624

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160217

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: 20160517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160526

R150 Certificate of patent or registration of utility model

Ref document number: 5945010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees