特許第5945010号(P5945010)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エンパイア テクノロジー ディベロップメント エルエルシーの特許一覧

特許5945010負荷分散システム、方法、プログラム、記録媒体
<>
  • 特許5945010-負荷分散システム、方法、プログラム、記録媒体 図000002
  • 特許5945010-負荷分散システム、方法、プログラム、記録媒体 図000003
  • 特許5945010-負荷分散システム、方法、プログラム、記録媒体 図000004
  • 特許5945010-負荷分散システム、方法、プログラム、記録媒体 図000005
  • 特許5945010-負荷分散システム、方法、プログラム、記録媒体 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5945010
(24)【登録日】2016年6月3日
(45)【発行日】2016年7月5日
(54)【発明の名称】負荷分散システム、方法、プログラム、記録媒体
(51)【国際特許分類】
   G06F 9/50 20060101AFI20160621BHJP
   A63F 13/358 20140101ALI20160621BHJP
【FI】
   G06F9/46 465Z
   A63F13/358
【請求項の数】28
【全頁数】18
(21)【出願番号】特願2014-556529(P2014-556529)
(86)(22)【出願日】2012年2月14日
(65)【公表番号】特表2015-512089(P2015-512089A)
(43)【公表日】2015年4月23日
(86)【国際出願番号】US2012024995
(87)【国際公開番号】WO2013122572
(87)【国際公開日】20130822
【審査請求日】2014年8月12日
【早期審査対象出願】
(73)【特許権者】
【識別番号】509348786
【氏名又は名称】エンパイア テクノロジー ディベロップメント エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100109586
【弁理士】
【氏名又は名称】土屋 徹雄
(72)【発明者】
【氏名】スンイル・キム
【審査官】 井上 宏一
(56)【参考文献】
【文献】 特開2011−186834(JP,A)
【文献】 特開2011−206219(JP,A)
【文献】 特開2010−269047(JP,A)
【文献】 特開2009−233098(JP,A)
【文献】 特開2006− 81895(JP,A)
【文献】 特開2008−097184(JP,A)
【文献】 特開2011−183074(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/46 −9/54
A63F 13/358
(57)【特許請求の範囲】
【請求項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つの請求項に記載のプログラムが記録された、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【背景技術】
【0001】
クラウドコンピューティング技術の誕生、およびスマートフォン、タブレット、およびデジタルテレビジョンなどの高性能電子装置の普及により、ユーザの間に、自分の装置を用いて高品質のゲームを楽しもうという気運が高まっている。クラウドベース環境では、高性能を有する(例えば、高い処理能力を備える)ゲームサーバは、高品質のゲームアプリケーションを動作させる、または実行し、かつゲームサーバに接続された複数のユーザ装置にゲームサービスを提供することができる。このような場合、ユーザは、自分のユーザ装置でゲームを楽しむことができるが、ユーザ装置には、高品質のゲームアプリケーションを動作させるための十分な処理能力を有していない可能性がある。しかし、多数のユーザが、ゲームサーバに対して同時にアクセスしたとき、サーバは、期待される高性能をユーザ装置のそれぞれに提供するための処理能力が不足するおそれがある。
【発明の概要】
【課題を解決するための手段】
【0002】
一例では、負荷分散システムは、 ゲームサーバのリソースの使用量を測定するように構成されたリソース使用量測定ユニットと、前記測定されたリソースの使用量と所定の閾値とを比較し、当該測定されたリソースの使用量が前記所定の閾値を超えたことが決定されたときに、前記ゲームサーバに接続している複数のクライアント装置について、ゲームのための処理の状態を判定し、判定の結果に基づいて、所定のゲームイベントが発生しようとしていることにより、非インタラクティブなメディアファイルの再生を許容できる、一つ又は複数のクライアント装置を決定する決定ユニットと、当該決定された1つ又は複数のクライアント装置に、前記ゲームサーバから非インタラクティブなメディアファイルをストリーム配信するように構成された送信ユニットと、を備える。
【0003】
他の例では、複数のクライアント装置が接続するゲームサーバの負荷を低減するために、負荷低減システムの制御下で行われる方法は、負荷低減システムのコントローラは、負荷分散プログラムに基づいて、前記ゲームサーバのリソース使用量を測定すること、 前記測定されたリソース使用量を所定の閾値と比較すること、前記測定されたリソース使用量が前記所定の閾値を超えたことの決定に応じて、前記ゲームサーバに接続しているクライアント装置のうち所定のゲームイベントが発生しようとしている、一つ又は複数のクライアント装置を決定すること、および、当該1つまたは複数のクライアント装置、非インタラクティブなメディアファイルをストリーム配信することを実行する。
【0004】
さらに他の例では、複数のクライアント装置が接続するゲームサーバの負荷を低減することを、コンピュータに実行させるためのプログラムは、前記ゲームサーバのリソースの使用量を測定すること、当該測定されたリソース使用量が所定の閾値を超えたことの決定に応じて、前記ゲームサーバに接続している複数のクライアント装置のうち所定のゲームイベントが発生しようとしているクライアント装置を判定すること、前記判定されたクライアント装置から、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定すること、および 前記非インタラクティブなメディアファイルを、前記ゲームサーバから、前記決定された1つまたは複数のクライアント装置にストリーム配信することを含
【0005】
前述の要約は例示的なものに過ぎず、何らかの意味で限定することを意図していない。上記で述べた例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以下の詳細な説明を参照すれば明らかになろう。
【0006】
本開示の前述の、および他の特徴は、添付図面と併せて、以下の説明および添付の特許請求の範囲からさらに明らかになろう。これらの図面は、本開示によるいくつかの実施形態を示しているに過ぎないこと、したがって、その範囲を限定するものと見なされるべきではないことを理解した上で、本開示は、添付の図面を使用することにより、さらなる特殊性および詳細について述べるものとする。
【図面の簡単な説明】
【0007】
図1】本明細書で述べる少なくともいくつかの実施形態により構成された、複数のクライアント装置が、ネットワークを介してクラウドベースのゲームサービスを提供するゲームサーバに接続されているクラウドベースのゲームシステムの説明例を概略的に示す図である。
図2】本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するための例示的なアーキテクチャを示す概略的なブロック図である。
図3】本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するためのプロセスの例示的なフローチャートである。
図4】本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するために使用できるコンピュータプログラム製品を示す図である。
図5】本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに、負荷分散スキームを提供するために使用できる例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【0008】
以下の詳細な説明では、その一部を形成する添付図面に対して参照が行われる。図面中、文脈がその他の形を規定しない限り、同様の記号は、通常、同様のコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲で述べられる例示的な実施形態は、限定することを意味していない。本明細書で提示される主題の趣旨または範囲から逸脱することなく、他の実施形態を使用することができ、かつ他の変更を行うことができる。本明細書で概略的に述べられ、かつ図面で示された本開示の諸態様は、広い範囲の様々な構成で配置され、置換され、組み合わされ、分離され、かつ設計されうるが、そのすべてが、本明細書で明示的に企図されていることが容易に理解されよう。
【0009】
本開示は、概して、クラウドベースのゲームシステムに対する負荷分散スキームに関連する、特に方法、装置、システム、デバイス、およびコンピュータプログラム製品に関する。
【0010】
ゲームサーバが、ネットワークを介して複数のクライアント装置にクラウドベースのゲームサービスを提供するクラウドベースのゲームシステムに関する技術が、概して述べられる。いくつかの例では、多すぎるクライアント装置が、同時に同じゲームサーバにアクセスしたとき、ゲームサーバに課せられる処理負荷は、ゲームサーバが負担できる負荷よりも多くなりうる。このような場合、ゲームサーバは、ゲームサーバに接続された複数のクライアント装置の少なくともいくつかに対して、例えば、非インタラクティブなビデオファイル、および非インタラクティブなオーディオファイルなど、非インタラクティブなメディアファイルを提供する、またはストリーム配信することができる。非インタラクティブなメディアファイルをストリーム配信することは、実際のインタラクティブなゲームファイルを提供するほど多くの処理能力を必要としないので、非インタラクティブなメディアファイルをストリーム配信することは、ゲームサーバに対する全体的な処理負荷を低下させることができる。
【0011】
いくつかの例では、ゲームサーバは、ゲームサーバのリソース使用量が所定の閾値を超えたとき、ゲームサーバに接続された複数のクライアント装置の中から、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。より具体的には、ユーザに対する高品質な体験を維持することに関するものを含む様々な理由のために、ゲームサーバは、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントは、ゲームを開始すること、ゲームにおける新しい段階もしくは新しい場所に入ること、ゲームにおけるミッションを完了すること、ゲームアイテムを取得すること、他のキャラクタと会うもしくは会話すること、または何らかの他の事前に規定されたゲームの中間目標(milestone)のうちの少なくとも1つに関連付けることができる。次いで、ゲームサーバは、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができ、また所定のゲームイベントが生ずると、決定または特定されたクライアント装置に非インタラクティブなメディアファイルをストリーム配信することができる。
【0012】
例えば、ユーザが、クラウドベースのゲームサーバにより提供された格闘ゲームを行っているとき、ユーザの装置を介して、ユーザにより操作されたゲームキャラクタは、部屋に入り、敵のキャラクタに会い、敵のキャラクタと格闘を開始することができる。ゲームサーバのリソースが十分にある場合、ゲームを進めることができ、ユーザの装置を介してユーザにより操作されるゲームキャラクタは、敵のキャラクタと格闘することができる。他方で、ゲームサーバのリソースが、課せられた処理負荷を満たすには十分ではない場合、ユーザの装置は、それに代えて、(ゲームサーバによりユーザの装置に提供される、またはストリーム配信される非インタラクティブなメディアファイルである)動画を受け取り、かつ再生することができ、その場合、例えば、ユーザの装置を介して、ユーザにより別の形で操作されたゲームキャラクタは、その最近のインタラクティブな時点でゲームを進行させるのではなく、敵と会って会話を行う。したがって、格闘は、ユーザの装置上で非インタラクティブな動画の再生が完了した後に開始することができる。
【0013】
図1は、本明細書で述べる少なくともいくつかの実施形態により構成された、ネットワークを介してクラウドベースのゲームサービスを提供するゲームサーバに、複数のクライアント装置が接続されたクラウドベースのゲームシステムの説明例を概略的に示す。
【0014】
図1で示すように、ゲームサーバ100は、ネットワーク120を介して、複数のクライアント装置110−1、110−2、110−3、・・・、110−nにクラウドベースのゲームサービスを提供することができる。クライアント装置110−1、110−2、110−3、・・・、110−nの例は、これだけに限らないが、移動電話、スマートフォン、携帯情報端末(PDA)、タブレット、移動ゲーム機、ラップトップコンピュータ、デスクトップコンピュータ、または通信機能を有する任意の他の装置を含むことができる。
【0015】
いくつかの実施形態では、ゲームサーバ100は、例えば、リソース使用量測定ユニットにより、そのリソース使用量を監視または測定することができる。いくつかの実施形態では、リソース使用量は、ゲームサーバ100の中央処理装置(CPU)のリソース使用量、ゲームサーバ100のグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバ100のメインメモリのリソース使用量、および/またはゲームサーバ100のグラフィックメモリのリソース使用量などに関連付けることができる。
【0016】
いくつかの実施形態では、ゲームサーバ100は、例えば、リソース使用量測定ユニットにより、測定されたリソース使用量を所定の閾値と比較することができる。いくつかの実施形態では、所定の閾値は、ゲームサーバ100の処理能力と関連付けることができる。例としてであって、限定するものではないが、処理能力は、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量などに関連付けることができる。
【0017】
いくつかの実施形態では、ゲームサーバ100は、例えば、決定ユニットにより、リソース使用量が所定の閾値を超えると判定されたとき、クライアント装置110−1、110−2、110−3、・・・、110−nの中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例としてであって、限定するものはないが、非インタラクティブなメディアファイルは、非インタラクティブなビデオファイル、非インタラクティブなオーディオファイル、非インタラクティブな画像ファイル、非インタラクティブなテキストファイル、あるいはゲームサーバ100が、例えば、レンダリングプロセスなどの複雑な処理を行うことなく、クライアント装置にストリーム配信するだけでよい他の任意のメディアファイルとすることができる。
【0018】
いくつかの実施形態では、ゲームサーバ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を決定または特定することができる。
【0019】
いくつかの実施形態では、ゲームサーバ100は、例えば、決定ユニットにより、1つまたは複数の候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバ100は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバ100の利用可能な処理能力を考慮に入れることにより、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例えば、図1で示す例では、ゲームサーバ100は、ゲームサーバ100の処理能力、およびゲームサーバ100の測定されたリソース使用量を考慮すると、3つの候補クライアント装置110−1、110−2、および110−3の中で、2つのクライアント装置にだけ非インタラクティブなメディアファイルをストリーム配信することが必要であると判定することができる。
【0020】
いくつかの実施形態では、ゲームサーバ100は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、ゲームサーバ100は、1つまたは複数の候補クライアント装置のそれぞれに対する非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。例えば、図1に示す例では、ゲームサーバ100が、以前に非インタラクティブなメディアファイルを、クライアント装置110−1に対して2回、クライアント装置110−2に対して5回、クライアント装置110−3に対して10回提供している、またはストリーム配信している場合、ゲームサーバ100は、遅延または他の処理負担をクライアント装置の中で公平に分散させるようにするために、所定のゲームイベントが生じると、非インタラクティブなメディアファイルをクライアント装置110−1および110−2にストリーム配信するように決定することができる。
【0021】
非インタラクティブなメディアファイルをストリーム配信することは、レンダリングなどの複雑なグラフィック処理を必要とするゲームプレイを提供するよりも少ないゲームサーバ100のリソースを使用すればよいので、ゲームサーバ100の処理負荷は、クライアント装置110−1、110−2、110−3、・・・、110−nのいくつかのものに非インタラクティブなメディアファイルをストリーム配信することにより低減されうる。
【0022】
図2は、本明細書で述べられる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するための例示的なアーキテクチャを示す概略的なブロック図を示している。
【0023】
図示のように、負荷分散システム200は、リソース使用量測定ユニット210、決定ユニット220、および送信ユニット230を含むことができる。別々のコンポーネントとして示されているが、様々なコンポーネントは、さらなるコンポーネントへと分割すること、より少ないコンポーネントに組み合わせること、または全く削除することができるが、それもまた開示される主題の範囲に含まれるように企図されている。
【0024】
リソース使用量測定ユニット210は、ゲームサーバ(例えば、ゲームサーバ100)のリソース使用量を測定するように構成することができる。例としてであって、限定するものではないが、ゲームサーバのリソース使用量は、ゲームサーバの中央処理装置(CPU)のリソース使用量、ゲームサーバのグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバのメインメモリのリソース使用量、および/またはゲームサーバのグラフィックメモリのリソース使用量などに関連付けることができる。
【0025】
決定ユニット220は、リソース使用量測定ユニット210により測定されたリソース使用量に少なくとも部分的に基づいて、ゲームサーバに接続された複数のクライアント装置(例えば、クライアント装置110−1、110−2、110−3、・・・、110−n)の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定するように構成することができる。いくつかの実施形態では、決定ユニット220は、リソース使用量測定ユニット210により測定されたリソース使用量を所定の閾値と比較することができる。例としてであって、限定するものではないが、所定の閾値は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力と関連付けることができる。
【0026】
いくつかの実施形態では、決定ユニット220は、ゲームサーバの、またはそれに対応するリソース使用量が、所定の閾値を超えると判定されたとき、ゲームサーバに接続された複数のクライアント装置の中で、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントの例は、これだけに限らないが、ゲームのプレイヤによりゲームを開始すること、プレイヤによりゲームにおける新しい段階に入ること、プレイヤによりゲームにおける新しい場所に入ること、プレイヤによりゲームにおけるミッションを完了すること、プレイヤによりゲームアイテムを取得すること、プレイヤによりゲームにおける他のキャラクタと会うこと、プレイヤによりゲームにおける他のキャラクタと会話すること、ゲームで場面変化が生ずること、ならびにそれが生じたときにプレイヤを極度にいらいらさせることのないゲーム停止など、任意の他のイベントを含むことができる。
【0027】
いくつかの実施形態では、決定ユニット220は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、決定ユニット220は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。
【0028】
いくつかの実施形態では、決定ユニット220は、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、決定ユニット220は、遅延または他の処理負担をクライアント装置の中で公平に分散させるように、候補クライアント装置のそれぞれに対する以前の非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。
【0029】
送信ユニット230は、所定のゲームイベントが生ずると、決定ユニット220により決定されたクライアント装置に、非インタラクティブなメディアファイルを送信、またはストリーム配信するように構成することができる。非インタラクティブなメディアファイルをストリーム配信することは、レンダリングなどの複雑なグラフィック処理を必要とするゲームプレイを提供するよりも少ないゲームサーバのリソースを使用すればよいので、ゲームサーバ100の処理負荷は、クライアント装置のいくつかのものに非インタラクティブなメディアファイルをストリーム配信することにより低減されうる。
【0030】
図3は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するためのプロセスの例示的なフローチャートを示す。
【0031】
図3のプロセスは、ゲームサーバ100などのゲームサーバ、および/または上記で述べたリソース使用量測定ユニット210、決定ユニット220、および送信ユニット230を含む負荷分散システム200などの負荷分散システムで実施することができる。例示的なプロセスは、1つまたは複数のブロック300、310、320、330、および/または340により示された、1つまたは複数のオペレーション、アクション、または機能を含むことができる。別々のブロックとして示されているが、望ましい実装形態に応じて、様々なブロックを、さらなるブロックへと分割する、より少ないブロックへと組み合わせる、または削除することができる。処理は、ブロック300で開始することができる。
【0032】
ブロック300で、ゲームサーバまたは負荷分散システムは、ゲームサーバのリソース使用量を測定することができる。例としてであって、限定するものではないが、ゲームサーバのリソース使用量は、ゲームサーバの中央処理装置(CPU)のリソース使用量、ゲームサーバのグラフィック処理ユニット(GPU)のリソース使用量、ゲームサーバのメインメモリのリソース使用量、および/またはゲームサーバのグラフィックメモリのリソース使用量などに関連付けることができる。処理は、ブロック300からブロック310へと進むことができる。
【0033】
ブロック310で、ゲームサーバまたは負荷分散システムは、測定されたリソース使用量を所定の閾値と比較することができる。例としてであって、限定するものではないが、所定の閾値は、例えば、中央処理装置(CPU)の処理能力、グラフィック処理ユニット(GPU)の処理能力、メインメモリの容量、および/またはグラフィックメモリの容量など、ゲームサーバの処理能力に関連付けることができる。測定されたリソース使用量が所定の閾値を超えた場合(YES(はい))、処理はブロック310からブロック320へと進むことができる。そうではない場合、処理は、ブロック300に戻ることになる。
【0034】
ブロック320で、ゲームサーバまたは負荷分散システムは、ゲームサーバに接続された複数のクライアント装置の中で、所定のゲームイベントがそれぞれで生じようとしている1つまたは複数の候補クライアント装置を決定または特定することができる。所定のゲームイベントの例は、これだけに限らないが、ゲームのプレイヤによりゲームを開始すること、プレイヤによりゲームにおける新しい段階に入ること、プレイヤによりゲームにおける新しい場所に入ること、プレイヤによりゲームにおけるミッションを完了すること、プレイヤによりゲームアイテムを取得すること、プレイヤによりゲームにおける他のキャラクタと会うこと、プレイヤによりゲームにおける他のキャラクタと会話すること、ゲームで場面変化が生ずること、およびユーザにおける体験品質のどんな乱れも低減させるように意図された時点でゲームを停止することを含む、任意の他のゲームの中間目標を含むことができる。処理は、ブロック320からブロック330に進むことができる。
【0035】
ブロック330で、ゲームサーバまたは負荷分散システムは、1つまたは複数の候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバまたは負荷分散システムは、ゲームサーバの処理能力に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定または特定することができる。いくつかの実施形態では、ゲームサーバまたは負荷分散システムは、候補クライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置をランダムに決定または特定することができる。代替の実施形態では、ゲームサーバまたは負荷分散システムは、遅延または他の処理負担をクライアント装置の中で公平に分散させるようにするために、1つまたは複数の候補クライアント装置のそれぞれに対する以前の非インタラクティブなメディアファイルのストリーム配信数に少なくとも部分的に基づいて、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を選択することができる。処理は、ブロック330からブロック340に進むことができる。
【0036】
ブロック340で、ゲームサーバまたは負荷分散システムは、決定された、または特定されたクライアント装置に対して、非インタラクティブなメディアファイルを送信またはストリーム配信することができる。処理は、ブロック340からブロック300に進むことができる。非インタラクティブなメディアファイルのストリーム配信は、実際のインタラクティブなゲームファイルを提供するほど多くの処理能力を必要としないので、非インタラクティブなメディアファイルのストリーム配信は、ゲームサーバに対する全体の処理負荷を低下させることができる。
【0037】
当業者であれば、本明細書で開示される、このおよび他のプロセスならびに方法に関して、プロセスおよび方法で実施される機能は、異なる順序で実施できることが理解されよう。さらに、概要を述べたステップおよびオペレーションは、例として提供されているに過ぎず、ステップおよびオペレーションのいくつかのものは、開示された実施形態の本質から逸脱することなく、任意選択のものとすることができ、より少ないステップおよびオペレーションへと組み合わせることができ、あるいはさらなるステップおよびオペレーションへと拡張することもできる。
【0038】
図4は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するために使用できるコンピュータプログラム製品を示している。
【0039】
プログラム製品400は、信号伝達媒体402を含むことができる。信号伝達媒体402は、例えば、プロセッサにより実行されたとき、図1図3に関して上記で述べた機能を提供できる1つまたは複数の命令404を含むことができる。例として、命令404は、ゲームサーバのリソース使用量が所定の閾値を超えたとき、ゲームサーバに接続された複数のクライアント装置の中で、非インタラクティブなメディアファイルをストリーム配信すべき1つまたは複数のクライアント装置を決定するための1つまたは複数の命令と、決定された1つまたは複数のクライアント装置に非インタラクティブなメディアファイルをストリーム配信するための1つまたは複数の命令とを含むことができる。したがって、例えば、図2を参照すると、負荷分散システム200が、命令404に応じて、図3で示すブロックの1つまたは複数のものを行うことができる。
【0040】
いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、ハードディスクドライブ、CD、DVD、デジタルテープ、メモリなど、コンピュータ可読媒体406を含むことができる。いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、メモリ、読取り/書込み(R/W)CD、R/W DVDなどの記録可能な媒体408を含むことができる。いくつかの実施形態では、信号伝達媒体402は、これだけに限らないが、デジタル通信媒体および/またはアナログ通信媒体(例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンク)など、通信媒体410を含むことができる。したがって、例えば、プログラム製品400を、RF信号伝達媒体402により負荷分散システム200の1つまたは複数のモジュールに伝達することができ、その場合、信号伝達媒体402は、無線通信媒体410(例えば、IEEE802.11規格に準拠する無線通信媒体)により伝達される。
【0041】
図5は、本明細書で述べる少なくともいくつかの実施形態により構成された、クラウドベースのゲームシステムに負荷分散スキームを提供するために使用できる例示的なコンピューティングデバイスを示すブロック図である。
【0042】
これらの例では、コンピューティングデバイス500の要素は、クラウドベースのゲームシステムのために配置または構成することができる。非常に基本的な構成502では、コンピューティングデバイス500は、通常、1つまたは複数のプロセッサ504、およびシステムメモリ506を含む。メモリバス508は、プロセッサ504とシステムメモリ506の間で通信するために使用することができる。
【0043】
望ましい構成に応じて、プロセッサ504は、これだけに限らないが、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタルシグナルプロセッサ(DSP)、またはそれらの任意の組合せを含む任意のタイプとすることができる。プロセッサ504は、レベル1キャッシュ510およびレベル2キャッシュ512など、1つまたは複数レベルのキャッシング、プロセッサコア514、およびレジスタ516を含むことができる。例示的なプロセッサコア514は、論理演算装置(ALU)、浮動少数点演算ユニット(FPU)、デジタルシグナル処理コア(DSPコア)、またはそれらの任意の組合せを含むことができる。例示的なメモリコントローラ518はまた、プロセッサ504と共に使用することができるが、あるいはいくつかの実装形態では、メモリコントローラ518は、プロセッサ504の内側部分とすることができる。
【0044】
望ましい構成に応じて、システムメモリ506は、これだけに限らないが、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、またはそれらの任意の組合せを含む任意のタイプとすることができる。システムメモリ506は、オペレーティングシステム520、1つまたは複数のアプリケーション522、およびプログラムデータ524を含むことができる。アプリケーション522は、図2で示した負荷分散システム200のアーキテクチャに関して述べたアクションを含む、または図3で示したフローチャートに関して述べたアクションを含む、本明細書で述べられた機能を実施するように構成できる命令526を含むことができる。いくつかの例では、アプリケーション522は、本明細書で述べた負荷分散システムに対する命令を実施するなど、プログラムデータ524を用いてオペレーティングシステム520上で動作するように構成することができる。
【0045】
コンピューティングデバイス500は、基本構成502と任意の必要なデバイスおよびインターフェースとの間の通信を容易にするためのさらなる特徴または機能、およびさらなるインターフェースを有することができる。例えば、バス/インターフェースコントローラ530は、ストレージインターフェースバス534を介して、基本構成502と、1つまたは複数のデータ記憶装置532との間の通信を容易にするために使用することができる。データ記憶装置532は、取外し式ストレージ536、非取外し式ストレージ538、またはそれらの組合せとすることができる。取外し式ストレージ536および非取外し式ストレージ538の例は、そのいくつかを挙げると、フレキシブルなディスクドライブおよびハードディスクドライブ(HDD)などの磁気ディスク装置、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブなどの光ディスクドライブ、半導体ドライブ(SSD)、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性、取外し式および非取外し式媒体を含むことができる。
【0046】
システムメモリ506、取外し式ストレージ536、および非取外し式ストレージ538は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、これだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは所望の情報を記憶するために使用でき、かつコンピューティングデバイス500がアクセスできる任意の他の媒体を含む。このようなコンピュータ記憶媒体はいずれも、コンピューティングデバイス500の一部とすることができる。
【0047】
コンピューティングデバイス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との通信を容易にするように構成することができる。
【0048】
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または搬送波もしくは他のトランスポート機構などの変調されたデータ信号における他のデータにより実施することができ、また任意の情報送達媒体を含むことができる。「変調されたデータ信号」とは、情報を信号中で符号化するような方法で、その特性の1つまたは複数のものを設定もしくは変化させた信号とすることができる。例としてであって、限定するものではないが、通信媒体は、有線ネットワークもしくは直接の有線接続などの有線媒体、ならびに音響、高周波(RF)、マイクロ波、赤外線(IR)などの無線媒体、および他の無線媒体を含むことができる。本明細書で使用される場合、コンピュータ可読媒体という用語は、記憶媒体と通信媒体を共に含むことができる。
【0049】
コンピューティングデバイス500は、携帯電話、携帯情報端末(PDA)、パーソナルメディアプレーヤ装置、無線ウェブ監視装置、パーソナルヘッドセット装置、特定用途向け装置、または上記の機能のいずれかを含むハイブリッド装置など、小型のフォームファクタを有する可搬型(またはモバイル)電子装置の一部として実装することができる。コンピューティングデバイス500はまた、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとして実施することもできる。
【0050】
本開示は、様々な態様を例示するように意図された、本出願で述べられた特定の実施形態によって限定されない。当業者には明らかであろうが、本出願の趣旨および範囲から逸脱することなく、多くの変更および変形を行うことが可能である。本明細書で列挙されたものに加えて、本開示の範囲に含まれる機能的に均等な方法および装置は、前述の記述から当業者には明らかであろう。このような変更および変形は、添付の特許請求の範囲に含まれるように意図されている。本開示は、このような特許請求の範囲が権利を有する均等な形態の全範囲と併せて、添付の特許請求の範囲によってのみ限定されるべきである。本開示は、当然であるが変化しうる特定の方法、試薬、化合物、組成、または生体系に限定されないことを理解されたい。本明細書で使用される専門用語は、特定の実施形態だけを記述するためのものであり、限定することを意図していないこともまた理解されたい。
【0051】
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【0052】
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(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」の可能性を含むことが理解されよう。
【0053】
さらに、本開示の特徴または態様が、マーカッシュ群に関して記述される場合、当業者であれば、本開示はまた、それにより、マーカッシュ群の任意の個々の構成要素、または構成要素の下位の群により記述されることが理解されよう。
【0054】
当業者であれば理解されるように、記述を提供することなど、任意のかつすべての目的に関して、本明細書で開示されるすべての範囲はまた、任意の、かつすべての可能な下位の範囲、およびその下位の範囲の組合せを包含する。いずれの列挙された範囲も、その範囲が十分に説明されており、かつ少なくとも等しい半分、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個のセルを有する群を指し、以下同様である。
【0055】
前述の内容から、本開示の様々な実施形態は、例示のために本明細書で述べられてきており、様々な変更を本開示の範囲および趣旨から逸脱することなく行うことが可能であることが理解されよう。したがって、本明細書で開示された様々な実施形態は、限定することを意図しておらず、その真の範囲および趣旨は、添付の特許請求の範囲によって示される。
図1
図2
図3
図4
図5