JP2019524178A - セクション化した地形の編集 - Google Patents

セクション化した地形の編集 Download PDF

Info

Publication number
JP2019524178A
JP2019524178A JP2018564857A JP2018564857A JP2019524178A JP 2019524178 A JP2019524178 A JP 2019524178A JP 2018564857 A JP2018564857 A JP 2018564857A JP 2018564857 A JP2018564857 A JP 2018564857A JP 2019524178 A JP2019524178 A JP 2019524178A
Authority
JP
Japan
Prior art keywords
terrain
data
user
section
data set
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.)
Pending
Application number
JP2018564857A
Other languages
English (en)
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2019524178A publication Critical patent/JP2019524178A/ja
Pending legal-status Critical Current

Links

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/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
    • A63F13/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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
    • A63F13/63Generating 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 by the player, e.g. authoring using a 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/825Fostering virtual characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

セクション化した地形の編集技法を本明細書に説明する。一部の例では、ビデオゲームの仮想領域の少なくとも一部に関連する地形は、複数の地形セクションに分割されてよい。地形セクションのそれぞれは、関連するセクションに関する地形データを格納する1つまたは複数の関連するデータ集合を有してよい。これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することが可能となり得、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプに関連する、複数の異なる関連データ集合を有してよい。これは、複数の異なるユーザが同時にチェックアウトして同じ地形セクションの異なる地形データへのロックを取得することを可能にすることによって、さらなる効率性を提供し得る。【選択図】図1

Description

関連出願の相互参照
本出願は、2016年6月13日に出願された米国仮出願第15/180,640号の利益を主張し、その開示の全体が参照により本明細書に組み込まれる。
近年、ビデオゲーム及び他のメディアアイテムなど、電子的に提示されるコンテンツアイテムの人気は著しく高まっている。一部の例では、さらに多くのプレイヤを魅了しゲームの人気を高めるために、ビデオゲームの設計者は非常に詳細な視覚特性を有する複雑な仮想ゲーム世界を作成し得る。仮想ゲーム世界の重要な態様の1つは、その地形の設計である。多くの場合、ビデオゲームの設計者は地形の設計に膨大な時間と労力を費やし得る。一部の場合、設計者は地形の高さ、地形の植生、地形のテクスチャ、地形のレイヤ及び他の地形の特性に関する特性を編集し得る。地形の設計には膨大な作業量が必要となる場合があり得るため、多くの場合、複数の設計者及び他のユーザがそのプロセスに参加し互いに協力する必要があり得る。しかしながら、従来の開発インターフェースでは、多くの場合、地形の設計者間で効果的な共同作業を行うことが制限されていることがある。例えば、従来の開発インターフェースは、1つの大きなファイルに地形データを格納することによって作動することがあり、これは複数のユーザが同時に共同作業を行う有効性を低減し得るか、または全面的に妨害し得る。これにより、ゲーム開発プロセスのコスト及び複雑性が高まり、結果的に、望ましくない混乱及び遅延が発生し得る。
以下の詳細な説明は、添付の図面とあわせて読むことにより、より良好に理解され得る。例示の目的上、本開示の様々な態様の実施形態例が図面に示されるが、本発明は、開示される特定の方法及び手段に限定されない。
本開示により使用され得る、セクション化した地形の編集システムの例を例示する図である。 本開示により使用され得る、セクション化した地形データの例を例示する図である。 本開示により使用され得る、セクション化した地形データの例を例示する図である。 本開示により使用され得る、セクション化した地形の編集システムの別の例を例示する図である。 本開示により使用され得る、地形編集インターフェースの例を例示する図である。 本開示により使用され得る、地形セクションアクセスレベルの指示の例を例示する図である。 本開示により使用され得る、地形セクションアクセスレベルの指示の例を例示する図である。 本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。 本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。 本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。 本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。 本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。 本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。 本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。 本開示により使用され得る、セクション化した地形の編集プロセスの例を例示するフロー図である。 本開示により使用され得る、データを送信及び提供するシステムの例を例示する図である。 本開示により使用され得る、コンピューティングシステムの例を例示する図である。
セクション化した地形の編集の技法を本明細書に説明する。特に、一部の例では、ビデオゲームまたは他の電子的に提示されたコンテンツアイテムの仮想領域の少なくとも一部に関連する地形は、複数の地形セクションに分割されてよい。地形セクションのそれぞれは、これらが関連付けられているセクションに関する地形データを格納する1つまたは複数の関連するデータ集合を有してよい。このように地形を編成して地形に関連する地形データを格納することは、地形の設計及び編集に関していくつかの利点を提供し得る。例えば、様々な異なる地形の設計者及び他のユーザは、異なる地形セクションのチェックアウト及びロックの取得を同時に行い得る。これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ得、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプにする、複数の異なる関連データ集合を有してよい。例えば、一部の場合、各地形セクションは、高さデータに関連するデータ集合、植生データに関連する別のデータ集合、テクスチャデータに関連する別のデータ集合及びレイヤデータに関連する別のデータ集合を有してよい。各地形セクションに対する複数のデータ集合の使用は、例えば、複数の異なるユーザが同じ地形セクションの異なる地形データを同時にチェックアウトしてロックを取得することを可能にすることによって、さらなる効率性を提供し得る。例えば、一部の場合、あるユーザが特定のセクションの高さデータをチェックアウトして編集している間に、別のユーザは同じセクションの植生データを同時にチェックアウトして編集してよい。
さらに、一部の例では、ユーザが編集のために地形セクションを効率的に選択し、ユーザが実行を望む編集操作のタイプ(例えば、高さ、植生、テクスチャ、レイヤなど)を選択し、地形セクションをチェックアウトし、別様にはアクセス権を取得して地形セクションを操作することが可能な、使い易く直感型のユーザインターフェースが提供され得る。一部の場合、インターフェースはさらに、様々な地形セクションのステータス情報を便利かつ自然な方法で提供し得る。例えば、一部の場合、1つまたは複数の地形セクションに関連するユーザのアクセスレベル(例えば、チェックアウト、書き込み可能、読み取り専用など)は、色分けされたセクション境界など、1つまたは複数の表示を使用するインターフェースによって示され得る。さらに、一部の例では、例えば、異なるそれぞれのユーザアクセスレベルを有する異なるタイプの地形データを有するセクションを示すために、多色の(例えば、破線)セクションの境界が使用され得る。別の例として、1つまたは複数の地形セクションのロックステータス(例えば、完全にロックされる、部分的にロックされる、ロックされないなど)が、1つまたは複数の表示を使用するインターフェースによって示されてもよい。
地形編集インターフェースはさらに、様々な他の操作を実行することが可能になり得る。例えば、一部の場合、特定のユーザが特定の地形セクションへの読み取り専用アクセスを有する場合、そのインターフェースは、ユーザがその地形セクションに関連する地形データをアンロードすることを可能にし得る。これにより、ユーザのシステムによってロードされるデータ量が削減され、複雑性が軽減され、性能が向上する可能性があり得る。さらに、そのセクションの地形データは読み取り専用で編集できないため、ユーザがそのセクションに地形データをロードしても得られる利益は(存在するにせよ)最低限であり得る。さらに、一部の例では、後に必要な場合には、アンロードされた地形セクションのデータを再ロードしてもよい。
図1は、本開示により使用され得る、セクション化した地形の編集システムの例を例示する図である。図1に示す通り、いくつかのクライアント110A〜Nは、ビデオゲーム及び他のメディアアイテムなどの電子的に提示されるコンテンツアイテムの地形データを設計及び編集するための地形編集インターフェース111A〜Nを実行してよい。以下で詳細に説明する通り、地形編集インターフェース111A〜Nは、一般に、高さ、植生、テクスチャ、レイヤ及び他の特性などの様々なタイプの地形特性の設計及び編集を可能にし得る。一部の例では、設計及び編集プロセスを支援するために、地形編集インターフェースは、地形の全てまたは一部の図形表示を表示し得る。さらに図1に示す通り、地形編集インターフェース111A〜Nは、クライアント110A〜Nを介して、例えば、1つまたは複数のサーバ計算ノードを実行し得るセクション地形データマネージャ120と通信し得る。クライアント110A〜N及びセクション地形データマネージャ120は、例えば、インターネットなどの1つまたは複数のローカルエリアネットワーク(LAN)または1つまたは複数のワイドエリアネットワーク(WAN)など、1つまたは複数の通信ネットワークを介して通信し得る。
セクション地形データマネージャ120は、地形が設計及び編集されているビデオゲームまたは他のコンテンツアイテムの仮想領域210に関する情報を受信し得る。図1に示す通り、セクション地形データマネージャ120は、仮想領域210をいくつかの異なる地形セクション211〜226に分割し得る。例えば、各地形セクション211〜226には、仮想領域210内の地形セクション211〜226を識別して定義する特定の関連座標値(例えば、X座標値及びY座標値)または他の位置識別子が割り当てられ得る。特に図1の例に示す通り、仮想領域210は、サイズの等しい16個の四角形である地形セクション211〜226に分割された、四角形の仮想領域である。しかしながら、これは、地形セクションの単なる非限定的な例であり、開示された技法は、任意の形状及びサイズの仮想領域を、互いに同じまたは異なる形状及び/またはサイズを有する任意の数のセクションに分割するために利用され得ることに留意されたい。
以下で詳細に説明する通り、セクション地形データマネージャ120は、一般に、セクション化された地形データ121を管理することがあり、これには、保存、更新ならびにアクセス制御及び提供が含まれる。セクション化された地形データ121は、高さデータ、植生データ、テクスチャデータ、レイヤデータ及び他のデータなど、仮想領域210に関連する地形データを含む。特に、一部の例では、セクション化した地形データは、拡張可能マークアップ言語(XML)または地形データが関連付けられている地形の様々な特性を記述する他の言語もしくはフォーマットのデータを含み得る。一部の例では、セクション化された地形データ121は、地形セクション211〜226のそれぞれに対して、1つまたは複数の個別の(例えば、独立してアクセス可能な)データ集合を含み得る。例えば、次に図2Aを参照すると、セクション化された地形データ121Aの例は、地形セクション214に関連する地形データを含む地形データ集合234を含むことが分かる。セクション化された地形データ121Aはさらに、地形セクション218に関連する地形データを含む別の個別のデータ集合238を含む。セクション化された地形データ121Aはさらに、他の地形セクション211〜213、215〜217及び219〜226のそれぞれに関連する他の個別のデータ集合(図示せず)を含み得る。
このように地形及び地形に関連する地形データを分割することは、地形の設計及び編集に関していくつかの利点を提供し得る。例えば、様々な異なる地形の設計者及び他のユーザは、異なる地形セクションのチェックアウト及びロックの取得を同時に行い得る。上記の通り、これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。特に図1の例では、クライアント110Aは、チェックアウトして地形セクション211の地形データのロックを取得したことが示される(クライアント110Aに隣接する破線の地形セクション211を図示することによって示される)。さらに、クライアント110Bは、チェックアウトして地形セクション215の地形データのロックを取得した(クライアント110Bに隣接する破線の地形セクション215を図示することによって示される)。さらに、クライアント110Nは、チェックアウトして地形セクション220及び221の地形データのロックを取得した(クライアント110Nに隣接する破線の地形セクション220及び221を図示することによって示される)。
一部の例では、データをチェックアウトし、編集し、チェックインするプロセスは、クライアント110A〜N及び地形データマネージャ120によってまとめて実行されてよい。例えば、一部の場合、クライアント110Aは、地形編集インターフェース111Aを介して、地形セクション211に関連する地形データをチェックアウトする要求をセクション地形データマネージャ120に発行し得る。セクション地形データマネージャは、その後、地形セクション211に関連する地形データ集合にロックを適用してよく、これにより、クライアント110Aのユーザ以外のユーザは、地形セクション211がロックされている間は、地形セクション211に関連する地形データ集合への変更を保存することができない。クライアント110Aは、その後、地形編集インターフェース111Aを使用して、地形セクション211の地形の様々な編集を行い得る。クライアント110Aは、その後、地形編集インターフェース111Aを介して、地形セクション211に関連する地形データをチェックインする要求をセクション地形データマネージャ120に発行し得る。セクション地形データマネージャ120は、その後、地形セクション211に関連する地形データ集合への1つまたは複数の編集に関連するデータを保存し、データ集合のロックを解除し得る。
一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプに関連する、複数の異なる関連データ集合を有してよい。例えば、一部の場合、各地形セクションは、高さデータに関連するデータ集合、植生データに関連する別のデータ集合、テクスチャデータに関連する別のデータ集合及びレイヤデータに関連する別のデータ集合を有してよい。地形の高さデータは、例えば、様々な地形の地理的タイプ(例えば、山、崖、谷、水域など)に基づき得るなど、仮想領域内の様々な位置(例えば、X、Y座標値)の高さの値に関連するデータを含み得る。地形の植生データは、例えば、地形の植生タイプ(例えば、草、植物、葉など)、場所、量、密度及び他のデータに関連するデータを含み得る。テクスチャデータは、例えば、拡散テクスチャ、位置的明度、テクスチャレイヤ及び他のデータに関連するデータを含み得る。地形のレイヤデータは、例えば、地形オブジェクト(例えば、石、木など)、場所、量、密度及び他のデータに関連するデータを含み得る。
次に図2Bを参照すると、セクション化された地形データ121Bの例は、地形セクション214に関連する地形データを含む複数の個別のデータ集合234A〜Dを含み得ることが分かる。特に、高さデータ集合234Aは、地形セクション214に関連する地形の高さデータを含む。植生データ集合234Bは、地形セクション214に関連する地形の植生データを含む。テクスチャデータ集合234Cは、地形セクション214に関連する地形のテクスチャデータを含む。レイヤデータ集合234Dは、地形セクション214に関連する地形のレイヤデータを含む。セクション化された地形データ121Bはさらに、地形セクション218に関連する地形データを含む複数の個別のデータ集合238A〜Dを含む。セクション化された地形データ121Bはさらに、他の地形セクション211〜213、215〜217及び219〜226のそれぞれに関連する他の複数の個別のデータ集合(図示せず)を含み得る。
上記の通り、各地形セクションに対する複数のデータ集合の使用は、例えば、複数の異なるユーザが同時にチェックアウトして同じ地形セクションの異なる地形データへのロックを取得することを可能にすることによって、さらなる効率性を提供し得る。次に図3を参照すると、複数の異なるユーザが、同時にチェックアウトして同じ地形セクションの異なるタイプの地形データを編集する例が示されている。特に図3の例では、クライアント110Aは、チェックアウトして地形セクション211の高さデータのロックを取得したことが示される(クライアント110Aに隣接する破線ボックス211Aによって示される)。さらに、クライアント110Bは、チェックアウトして地形セクション211の植生データのロックを取得した(クライアント110Bに隣接する破線ボックス211Bによって示される)。さらに、クライアント110Nは、チェックアウトして地形セクション211のテクスチャ及びレイヤデータのロックを取得した(クライアント110Nに隣接する破線ボックス211B及び211Cによって示される)。
ゆえに、上記の通り、セクション化された地形及び地形データは、地形の編集及び設計のための効率的で信頼可能なマルチユーザによる共同作業を可能にし得る。開示された技法による地形編集インターフェースの一部の特性の例を、ここで詳細に説明する。特に、次に図4を参照すると、地形編集インターフェース111の例は、セクション編集領域450及びチェックアウト・セクション・ツール410を含む。一般に、セクション編集領域450では、高さ、植生、テクスチャ、レイヤ及び他の地形特性の編集など、様々なタイプの地形編集操作の実行が可能になり得る。特に図4の例では、セクション編集領域450は、地形セクション211〜226の表示を含む。一部の例では、セクション編集領域450は、セクション編集領域450が含む地形セクション内の地形の図形表示を提供し得る。例えば、セクション編集領域450は、例えば、高さ、植生、テクスチャ、レイヤ及び他の地形の特性など、地形特性の図形描写を含む、地形セクション211〜226の図形表示を含み得る。セクション編集領域450では、さらに、ユーザが様々な地形セクションを選択してナビゲートすることが可能になり得る。
以下で詳細に説明する通り、チェックアウト・セクション・ツール410は、チェックアウト、戻る、ロード、アンロード、更新、データ表示、チェックイン、セクション境界の表示、セクション情報の表示及びその他など、地形セクション及び地形セクションに関連するデータ集合に関する様々な操作を実行可能にし得る。特に、チェックアウトボタン421により、ユーザは、1つまたは複数の地形セクションに関連する1つまたは複数のデータ集合をチェックアウトすることが可能になり得る。例えば、一部の場合、ユーザは、セクション編集領域450にある1つまたは複数の地形セクションをチェックアウトのために選択し得る。特に図4の例では、地形セクション216、217、220及び221が選択されていることが分かり、これらは地形セクションを囲む太線で示される。一部の例では、地形セクション216、217、220及び221は、マウス、タッチスクリーン、キーボード及び/または他の入力制御を使用して選択され得る。地形セクションを選択することに加えて、選択された地形セクションに関連する1つまたは複数の特定のタイプのデータも、例えば、チェックアウト・セクション・ツール410のチェックボックス411〜414を使用して選択され得る。特に、チェックボックス411は高さデータ集合を選択するためのものであり、チェックボックス412は植生データ集合を選択するためのものであり、チェックボックス413はテクスチャデータ集合を選択するためのものであり、チェックボックス414はレイヤデータ集合を選択するためのものである。特に図4の例では、植生チェックボックス412及びテクスチャチェックボックス413が選択されている。しかしながら、他の例では、例えば、チェックボックス411〜414のいずれかまたは全てを含む、チェックボックス411〜414の他の異なる組み合わせが選択され得ることに留意されたい。
一部の例では、1つまたは複数の地形セクション(例えば、図4のセクション216、217、220及び221)及び1つまたは複数のデータタイプ(例えば、図4の植生及びテクスチャ)を選択すると、ユーザは、チェックアウト・セクション・ツール410を使用して、これらの選択に関して1つまたは複数の操作を実行し得る。特に、チェックアウトボタン421を選択すると、上述の通り、選択されたデータタイプの選択されたセクションがチェックアウトされることがある。戻るボタン422の選択により、選択されたデータタイプの選択されたセクションに戻り、選択されたセクションに対する編集が取り消され、選択されたセクションは最後の保存状態または同期状態に戻る。ボタン423または424の選択により、選択されたセクションがロードまたはアンロードされることがあり、これについては、図6A〜Cを参照して以下で詳細に説明する。チェックインボタン427を選択すると、上述の通り、選択されたデータタイプの選択されたセクションがチェックインされることがある。一部の場合、例えば、意図しないチェックインまたは間違ったチェックインを避けるために、チェックインの確認を要求するポップアップメッセージなど、地形データをチェックインするための他のコントロール、チェックアウト・セクション・ツール410の外部のコントロール及びその他が使用され得る。
更新ボタン425の選択は、全ての地形セクション211〜226に作用することがあり、地形セクション211〜226のロック状態を、セクション地形データマネージャ120からの対応する状態と同期させることがある。更新ボタン425は、例えば、ユーザが最近オフラインで作業した(例えば、セクション地形データマネージャ120に接続されていない)場合、または特定のデータ集合がセクション地形データマネージャ120にチェックインされている場合に使用されることがあり得る。データ表示ボタン426の選択は、基礎となるXMLまたはセクション化された地形データ121内の1つまたは複数のデータ集合の他のデータをユーザに表示させ得る。ボタン421〜427に加えて、チェックアウト・セクション・ツール410は、地形編集インターフェース111のユーザへの情報の表示のためのさらなるオプションを提供し得るチェックボックス441及び442をさらに含む。特に、チェックボックス441は、例えば、図4に図示したようなセクション211〜226の境界をセクション編集領域450に表示させるために選択され得る。チェックボックス441を選択解除する(例えば、チェックを外す)と、セクション境界が表示されないことがある。以下でさらに詳細に説明する通り、チェックボックス442は、セクション編集領域450に、例えば、チェックアウトされているかどうか、書き込み可能かどうか、読み取り専用かどうか及び他の情報など、様々な地形セクション211〜226に関する情報を表示させるために選択され得る。
図4の地形編集インターフェース111は、非限定的な地形編集インターフェースの例として提供されるに過ぎず、開示された技法に従って、追加または代替的なコントロール及び機能性を有する多くの他のインターフェースを使用してよいことに留意されたい。例えば、一部の場合、ユーザにチェックアウトされていない地形セクション及び/または地形データのタイプ(例えば、高さ、植生、テクスチャ、レイヤ)をユーザが編集し始める場合、地形編集インターフェース111は、地形セクション及び/または地形データタイプがユーザにチェックアウトされないこと及び/または他のユーザによってロックされていることを、例えば、ポップアップメッセージまたは他の表示を使用してユーザに促し得る。一部の例では、他のユーザに連絡して地形セクション及び/またはデータタイプのチェックアウトを要求するために、あるいは別様には他のユーザとさらに共同作業するために、連絡先情報及び/またはインターフェース(例えば、チャット、電子メール、テキスト、電話など)がユーザに提供され得る。さらに、一部の例では、ユーザにチェックアウトされた地形セクション及び/または地形データタイプをユーザが編集している場合であっても、地形編集インターフェース111は、ユーザによって行われた編集が無効になり得ること、あるいは別様には別のユーザによって行われる編集に悪影響を及ぼすことを判断し得る。例えば、第1のユーザが地形セクションの高さを編集している間に、これらの高さの編集が、同じ地形セクション内の第2のユーザによって行われる勾配制限を有するテクスチャ編集を無効にする可能性があると判断し得る。このような例では、他に影響を受けるユーザ(複数可)の連絡先または他の情報と併せて、警告または他の表示が潜在的に競合している第1または第2のユーザに表示されてよい。
ゆえに、上述の通り、地形編集インターフェース111は、チェックアウト及び選択されたセクション及び選択された地形データタイプについての様々な他の操作の実行を可能にし得る。一部の例では、地形編集インターフェース111が、例えば、ユーザが地形セクションに関連する自分のアクセスレベル(例えば、チェックアウトされる、ローカルに書き込み可能、読み取り専用など)を迅速かつ容易に判断できるように、様々な地形セクションのステータス情報を提供することは有益となり得る。一部の場合、地形編集インターフェース111は、色分けされたセクション境界などの1つまたは複数の視覚指示を使用してこのステータス情報を提供し得る。次に図5Aを参照し、地形セクションアクセスレベルの視覚指示の一部の例を、ここで詳細に説明する。特に、図5Aは、地形編集インターフェースのセクション編集領域内に表示され得るような、6つの地形セクション511〜516の表示の例を図示する。図5Aに示す通り、地形セクション511〜516のそれぞれは、地形編集インターフェースのユーザに対して少なくとも部分的に異なるアクセスレベルステータスを有する。特に、地形セクション511は、完全に読み取り専用のステータスを有し、これはユーザがセクション511の全てのデータタイプ(例えば、高さ、植生、テクスチャ、レイヤ)への読み取り専用アクセスを有することを意味する。特定の地形セクションへの読み取り専用アクセスを有するデータタイプは、その地形セクションでは編集できない。地形セクション512は、完全に書き込み可能なステータスを有し、これはユーザがセクション512の全てのデータタイプへの書き込み可能なアクセスを有することを意味する。特定の地形セクションにおいて書き込み可能なアクセスを有するデータタイプは、その地形セクションにおいて編集可能であるが、他のユーザによってチェックアウトされ得る。地形セクション513は、完全にチェックアウトされるステータスを有し、これはユーザがセクション513の全てのデータタイプをチェックアウトしたことを意味する。地形セクション514及び515は、部分的に読み取り専用及び部分的にチェックアウトされるステータスを有し、これはユーザがセクション514及び515のそれぞれの1つまたは複数のデータタイプへの読み取り専用アクセスを有し、セクション514及び515のそれぞれの1つまたは複数のデータタイプをチェックアウトしたことを意味する。地形セクション516は、部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを有し、これはユーザがセクション516の1つまたは複数のデータタイプへの読み取り専用アクセスを有し、セクション516の1つまたは複数のデータタイプをチェックアウトし、セクション516の1つまたは複数のデータタイプへの書き込み可能アクセスを有することを意味する。
さらに図5Aに示す通り、セクション514とセクション515との間の境界を除いて、セクション511〜516の境界がそれぞれ図示されている。図5Aの例では、上述の通り、セクション514及び515が同一のステータス(すなわち、部分的にチェックアウトされる及び部分的に読み取り専用)を共有するため、セクション514及び515の間の境界は示されていない。ゆえに、これらのセクション間の境界を取り消すことにより、ユーザは、それらが同一のステータスを共有していることを迅速かつ容易に識別することができる。さらに、図5Aの例では、表示された境界は、ユーザがそれらの境界で囲まれた特定の地形セクションのステータスを迅速かつ容易に識別するのを支援するために色分けされてよい。例えば、図5Aのそれぞれ表示された地形セクション境界は、対応する境界の色を示す略語を含む色表示タブ500を有する。具体的には、キー510に示す通り、略語Rは赤色の実線の境界を指し、完全に読み取り専用のステータスを指す。略語Bは青色の実線の境界を指し、これは完全に書き込み可能なステータスを指す。略語Gは緑色の実線の境界を指し、これは完全にチェックアウトされるステータスを指す。略語RGは赤色及び緑色の破線の境界を指し、これは部分的に読み取り専用及び部分的にチェックアウトされるステータスを指す。略語RGBは赤色、緑色及び青色の破線の境界を指し、これは部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを指す。
図5Aの例では、地形セクション511が完全に読み取り専用であることを示すために、地形セクション511は赤色の実線の境界で囲まれる(または部分的に囲まれる)。地形セクション511の上部及び左側の境界は、他の表示された地形セクションのいずれとも共有されない、非共有境界であることに留意されたい。ゆえに、この例では、地形セクション511の上部及び左側の境界の色表示タブ500は、赤い実線を使用して示されることを指す略語Rを含む。対照的に、地形セクション511の下部及び右側の境界は、他の地形セクションと共有される、共有境界である。例えば、地形セクション511の右側の境界は、地形セクション512と共有される。ゆえに、この例では、地形セクション511の右側の境界の色表示タブ500は、この境界が(地形セクション511に対応する)赤色の実線または(地形セクション512に対応する)青色の実線のいずれかを使用して表示され得ることを指す略語R/Bを含む。キー510によって示される通り、色表示タブ500内のフォワードスラッシュ(/)記号は、隣接するいずれかの地形セクションの色(複数可)を含み得る共有境界を示す。
地形セクション511に加えて、図5Aはさらに、地形セクション511が完全に書き込み可能であることを示すために、地形セクション512は青色の実線の境界で囲まれる(または部分的に囲まれる)。地形セクション513が完全にチェックアウトされることを示すために、地形セクション513は緑色の実線の境界で囲まれる(または部分的に囲まれる)。地形セクション514及び515は、地形セクション514及び515が部分的に読み取り専用及び部分的にチェックアウトされることを示すために、赤色及び緑色の破線の境界で囲まれる(または部分的に囲まれる)。地形セクション516は、地形セクション516が部分的に読み取り専用、完全にチェックアウトされる、及び部分的に書き込み可能であることを示すために、赤色、緑色及び青色の破線の境界で囲まれる(または部分的に囲まれる)。一部の例では、図5Aの色分けされた境界表示は、一部の場合には、例えば、基礎となる図形または他のデータの干渉またはブロックを最小限(存在する場合)に抑えつつ、ユーザによって容易に認識され識別可能であり得るなど、いくつかの理由により有利であり得る。しかしながら、図5Aの色分けされた境界表示は、地形セクションのステータスの単に一部の表示例に過ぎず、多くの他の追加または代替的な表示が、他の視覚的、音声的、触覚的及びさらなる表示タイプを含む開示された技法に従って使用され得ることに留意されたい。
一部の例では、地形編集インターフェースは、様々な地形セクションのステータスのより詳細な説明を提供し得る。次に図5Bを参照すると、地形編集インターフェースは、各地形セクション511〜516についてそれぞれの個々のデータタイプのステータスの視覚指示を提供することがあることが分かる。例えば、地形セクション516の場合、地形セクション516を囲む(または部分的に囲む)赤色、緑色及び青色の境界は、部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを示し得る。しかしながら、この色分けされた境界があっても、ユーザは、どのデータタイプ(例えば、高さ、植生、テクスチャ、レイヤなど)が読み取り専用か、書き込み可能か、またはチェックアウトされるかを認識できない。しかしながら、図5Bの例では、付加的なテキスト情報が地形セクション516に表示され、これは、地形セクション516について、ユーザが高さデータをチェックアウトし、植生データへの書き込み可能なアクセス権を有し、テクスチャ及びレイヤデータへの読み取り専用アクセスを有することを示す。さらに、付加的なテキスト情報が、地形セクション514及び515に表示され、これは、地形セクション514及び515について、ユーザは植生データをチェックアウトし、高さ、テクスチャ及びレイヤデータへの読み取り専用アクセスを有することを示す。一部の例では、ユーザは、例えば、セクション情報表示ボタン442を選択することによって、図5A及び/または図5Bに示すような地形セクションのステータス情報を、図4のチェックアウト・セクション・ツール410を使用して表示することを要求し得る。
上記の通り、地形編集インターフェース111は、一部の場合、様々な地形セクションの地形の図形表示を表示し得る。理解される通り、地形特性の図形表示は、地形の設計及び編集のプロセスにおいて地形の設計者を支援し得る。しかしながら、地形特性の図形表示に関連する1つの欠点は、一部の場合、特に、大量の地形を含む大きな仮想領域を表示する場合、大量のデータをメモリにロードする必要があり得ることである。一部の場合、これは、応答速度を下げる可能性があり得、別様には、地形編集インターフェース111の性能を阻害し得る。一部の例では、メモリに格納されたデータ量の削減を支援するために、地形編集インターフェースは、完全に読み取り専用な地形セクションの地形データをアンロードできるようにしてよく、これによって、表示された地形の複雑性を管理し、地形編集インターフェース111の応答性及び性能を改善することに役立ち得る。さらに、一部の例では、このデータが後続的にユーザによって望まれる場合、ユーザはさらに、例えば、地形特性が再度ユーザに表示され得るよう、地形編集インターフェース111にデータを再ロードすることを要求し得る。
地形セクションのロード及びアンロードの一部の例を、ここで図6A〜図6Dに関して説明する。特に、図6Aを参照すると、ユーザは、地形セクション511を囲む太線の境界によって示されるように、完全に読み取り専用の地形セクション511を選択したことが分かる。図6Aの例では、地形セクション511の地形データが現在ロードされている。しかしながら、さらにアンロードボタン424を囲む太線によって示されるように、ユーザは、アンロードボタン424を選択するプロセス中であることが図6Aにおいて分かる。選択後、アンロードボタン424は地形セクション511に関連する地形データを、地形編集インターフェース111によってメモリからアンロードさせる。図6Bは、アンロードボタン424の選択後の地形セクション511を表す。図6Bに示す通り、地形セクション511に関連する地形データは、図6Bの地形セクション511上に表示された太線Xによって示されるように、メモリからアンロードされた。地形セクション511の地形データのアンロードは、地形セクション511の地形特性の図形表現をセクション編集領域450に表示することを中止し得る。これによって、一部の例では、図6Bに示すXで塞ぐのとは対照的に、地形セクション511の領域は、代わりに、ブラックボックスまたはその領域の地形の図形表示が取り消されたという他の表示で塞がれてもよい。
上記の通り、一部の例では、ユーザは、地形データがアンロードされた地形セクションの地形データをロードまたは再ロードしてもよい。次に図6Cを参照すると、ユーザは、図6Cの地形セクション511を囲む太線の境界によって示されるように、読み取り専用の地形セクション511を再度選択したことが分かる。図6Cの例では、地形セクション511を塞ぐXによって示されるように、地形セクション511の地形データが現在アンロードされている。しかしながら、さらにロードボタン423を囲む太線の境界によって示されるように、ユーザは、ロードボタン423を選択するプロセス中であることが図6Cにおいて分かる。選択後、ロードボタン423は地形セクション511に関連する地形データを、地形編集インターフェース111によってメモリにロードさせる。図6Dは、ロードボタン423の選択後の地形セクション511を表す。図6Dに示す通り、地形セクション511に関連する地形データは、図6B及び図6Cの地形セクション511上に以前に表示された太線Xの削除によって示されるように、メモリにロードされた。地形セクション511の地形データのロードは、地形セクション511の地形特性の図形表現をセクション編集領域450に再び表示することを可能にし得る。
図5A及び図5Bに関して上に記載した通り、地形編集インターフェース111は、様々な地形セクションのユーザのアクセスレベル(例えば、チェックアウト、書き込み可能、読み取り専用など)に関する表示を提供し得る。さらに、一部の例では、地形編集インターフェース111はさらに、1つまたは複数の地形セクションのロックステータス(例えば、完全にロックされる、部分的にロックされる、ロックされないなど)に関する表示を提供し得る。次に図7A〜図7Cを参照すると、地形セクションのロックステータスの視覚指示の一部の例を、ここで詳細に説明する。特に、図7Aは、地形編集インターフェースのセクション編集領域内に表示され得るような、地形セクション711の表示の一例を図示する。図7Aに示す通り、地形セクション711は、完全にロックされているテキスト表示を含み、これは、地形編集インターフェース111の1人または複数の他のユーザによって全てのデータタイプ(例えば、高さ、植生、テクスチャ、レイヤ)がチェックアウトされていることを意味する。次に図7Bを参照すると、地形セクション711が部分的にロックされているテキスト表示を含む第2の例が示されており、これは、地形編集インターフェース111の少なくとも1人の他のユーザによって少なくとも1つのデータタイプがチェックアウトされていることを意味する。しかしながら、図7Bの表示は、どの個別データタイプが、どの特定の他のユーザによってチェックされているかを特定しないことに留意されたい。最後に、図7Cを参照すると、地形セクション711が、どの個別データタイプが、どの特定の他のユーザによってチェックアウトされているかを示すテキスト表示を含む第3の例が示されている。特に、図7Cは、この例では、ユーザXによって高さデータがチェックアウトされ、植生、テクスチャ及びレイヤデータは読み取り専用であるため、他のユーザにチェックアウトされないことを示している。上記の通り、一部の例では、図7Cの表示を見ているユーザが、ユーザXに連絡し、地形セクション711のチェックアウト及び/またはさらなる共同作業を要求するために、連絡先情報及び/または通信インターフェースをユーザXに提供してもよい。
図8は、本開示により使用され得る、セクション化された地形の編集プロセスの例を例示するフロー図である。図示の通り、図8のプロセスは、動作810で開始し、ここでは、ビデオゲームなどの電子的に提示されるコンテンツアイテムに関連する仮想領域の少なくとも一部の地形が複数の地形セクションに分割される。動作810は、例えば、異なる座標(例えば、X座標、Y座標)の範囲もしくは値または他の位置識別子を関連付けるか、または異なる地形セクションに割り当てることによって実行され得る。特に図1の例では、仮想領域210は、サイズの等しい16個の四角形である地形セクション211〜226に分割される。上記の通り、開示された技術に従って、地形セクションの他の量、形状、サイズなども使用され得る。
動作812では、複数の地形セクションに関連する複数の地形データ集合が、例えば、図1のセクション地形データマネージャ120によって保持される。上記の通り、一部の例では、複数の地形セクションのそれぞれは、複数の地形データ集合の少なくとも1つの関連する地形データ集合を有し得る。例えば、一部の場合、各地形セクションの全ての地形データは、例えば、図2Aに示す通り、地形セクションに関連する単一の地形データ集合内に維持されてよい。他の例では、1つまたは複数の地形セクションは、例えば、複数の異なるタイプの地形編集操作に関連する複数の関連する地形データ集合の関連するグループをそれぞれ有してよい。例えば、図2Bに示すような一部の場合、各地形セクションは、地形の高さデータに関連するデータ集合、地形の植生データに関連するデータ集合、地形のテクスチャデータに関連するデータ集合及び地形のレイヤデータに関連するデータ集合を含む、関連する地形データ集合グループを有し得る。上記の通り、一部の例では、同一のデータ集合グループ内の地形データ集合を、同じまたは異なるユーザによって同時にチェックアウトするために利用可能にしてよい。
動作814では、第1の地形セクションに関連する第1の地形データ集合が、例えば、地形編集インターフェース111及び/またはセクション地形データマネージャ120によって第1のユーザにチェックアウトされる。第1の地形データ集合は、地形編集インターフェース111内の第1の地形セクションの地形の編集のために、チェックアウトされ得る。上記の通り、一部の例では、第1のユーザは、図4のセクション編集領域450内の第1の地形セクションを選択し、図4のチェックアウト・セクション・ツール410内の地形データタイプを(例えば、チェックボックス411〜414を介して、または他のコントロールを介して)選択し、チェックアウトコントロール(例えば、チェックアウトボタン421)を選択することによって、第1の地形データ集合のチェックアウトを要求し得る。他の例では、例えば、第1のユーザが地形編集インターフェース内の関連する地形データを編集する場合、及び第1の地形データ集合がまだ第1のユーザにチェックアウトされていないと判断された場合では、第1のユーザは第1のデータ集合をチェックアウトするように促され得る。上記の通り、第1の地形データ集合を第1のユーザにチェックアウトすることは、第1の地形データ集合のロックを含む及び/またはトリガして、第1のデータ集合が第1のユーザによってチェックアウト/ロックされている間には第1のユーザ以外のユーザが第1の地形データ集合への変更を保存できないようにし得る。
動作815Aでは、第1の地形データ集合が第1のユーザにチェックアウトされる時間の少なくとも一部の間に、1つまたは複数の他の地形セクションに関連する1つまたは複数の他の地形データ集合は、第1のユーザ以外の1人または複数のユーザにチェックアウト可能になる。例えば、図1に示す通り、第1のユーザ(例えば、クライアント110Aのユーザ)は、地形セクション211に関連する地形データ集合をチェックアウトしてよく、第2のユーザ(例えば、クライアント110Bのユーザ)は、地形セクション215に関連する地形データ集合を同時にチェックアウトしてよく、第3のユーザ(例えば、クライアント110Nのユーザ)は、地形セクション220及び221に関連する地形データ集合を同時にチェックアウトしてよい。上記の通り、これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
815Bでは、第1の地形セクションに関連する他の地形データ集合が存在しない場合、プロセスは動作816に進む。815Bでは、対照的に、第1の地形セクションに関連する他の地形データ集合が存在する場合、プロセスは動作815Cに進み、ここで、第1の地形セクションに関連する1つまたは複数の他の地形データ集合が第1のユーザ以外の1人または複数のユーザに利用可能になる。例えば、図1に示す通り、第1のユーザ(例えば、クライアント110Aのユーザ)は、地形セクション211の地形の植生データに関連する地形データ集合をチェックアウトしてよく、第2のユーザ(例えば、クライアント110Bのユーザ)は、地形セクション211の地形の高さデータに関連する地形データ集合を同時にチェックアウトしてよく、第3のユーザ(例えば、クライアント110Nのユーザ)は、地形セクション211の地形のテクスチャデータ及び地形のレイヤデータに関連する地形データ集合を同時にチェックアウトしてよい。上記の通り、これにより、複数の異なるユーザが、異なるタイプの編集操作を地形の同じ部分に同時に実行することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
動作816では、一定の期間が経過後、第1の地形データ集合が、例えば、地形編集インターフェース111及び/またはセクション地形データマネージャ120によって第1のユーザからチェックインされる。上記の通り、一部の例では、第1のユーザは、チェックインボタン427及び/または他のコントロールを使用して、第1の地形データ集合のチェックインを要求し得る。さらに上記の通り、第1の地形データ集合を第1のユーザからチェックインすることは、第1の地形データ集合のロック解除を含む及び/またはトリガして、第1のユーザ以外のユーザが第1の地形データ集合をチェックアウトできるようにし得る。動作818では、第1のデータ集合が第1のユーザにチェックアウトされる間に、第1の地形データ集合に関連して第1のユーザによって行われる1つまたは複数の編集に対応するデータは、第1のデータ集合に保存される。第1の地形データ集合への第1のユーザの編集が適切に保存されることを確認するために、動作818で行われるデータの保存は、第1の地形データ集合を任意の他のユーザにチェックアウトすることを許可する前に行われ得ることに留意されたい。
さらに上記の通り、図8の編集プロセスと組み合わせて、開示された技法による地形編集インターフェースは、地形編集操作で効率的に共同作業を行うのを支援するためのいくつかの追加の機能を提供し得る。例えば、上記の通り、地形編集インターフェースは、地形セクションが、第1のユーザによってチェックアウトされる、第1のユーザによって書き込み可能である、または第1のユーザによって読み取り専用でアクセス可能であることの少なくとも1つである、少なくとも1つの関連する地形データ集合を有するかどうかの1つまたは複数の表示を提供し得る。これらの表示には、例えば、図5A〜図5Bの例に示すような、1つまたは複数の色分けされた地形セクションの境界を含み得る。さらに、一部の例では、地形編集インターフェースは、図6A〜図6Dの例に示すように、ユーザが読み取り専用アクセス権を有する地形セクションに関連する地形データをメモリからアンロードすることを可能にし得る。さらに、一部の例では、地形編集インターフェースは、図7A〜図7Cの例に示すように、地形セクションがロックされている他のユーザの表示と共に、地形セクションがロックされているか、または部分的にロックされているという1つまたは複数の表示を提供する。地形編集インターフェースの他の多くの追加機能については、さらに上で詳細に説明しており、ここでは繰り返さない。
データを送信及び提供するシステムの例を、ここで詳細に説明する。特に、図9は、本明細書に記載される実施形態が実装され得るコンピューティング環境の例を例示する。図9は、コンピューティングリソースを、通信ネットワーク73を介してユーザコンピュータ72a及び72bを介して(これらは本明細書では、単数でコンピュータ72または複数でコンピュータ72と呼ばれる場合がある)ユーザ70a及び70b(これらは本明細書では単数でユーザ70または複数でユーザ70と呼ばれる場合がある)に提供することができるデータセンタ85の例を概略的に例示する図である。データセンタ85は、アプリケーションを永続的にまたは必要に応じて実行するためにコンピューティングリソースを提供するように構成されてよい。データセンタ85によって提供されるコンピューティングリソースは、例えば、ゲートウェイリソース、ロードバランシングリソース、ルーティングリソース、ネットワーキングリソース、コンピューティングリソース、揮発性及び不揮発性メモリリソース、コンテンツ配信リソース、データ処理リソース、データストレージリソース、データ通信リソースなどの様々なタイプのリソースを含んでよい。コンピューティングリソースの各タイプは、いくつかの特殊な構成において利用可能であってよい。例えば、データ処理リソースは、様々なウェブサービスを提供するように構成され得る仮想マシンインスタンスとして利用可能であってよい。加えて、リソースの組み合わせは、ネットワークを介して利用可能になる場合があり、1つまたは複数のウェブサービスとして構成される場合もある。インスタンスは、例えば、アプリケーションサービス、メディアサービス、データベースサービス、プロセッシングサービス、ゲートウェイサービス、ストレージサービス、ルーティングサービス、セキュリティサービス、暗号化サービス、ロードバランシングサービス、アプリケーションサービスなどのウェブサービスを含めたアプリケーションを実行するように構成されてよい。これらのサービスは、セットアプリケーションまたはカスタムアプリケーションによって構成可能な場合があり、サイズ、実行、コスト、レイテンシ、タイプ、持続期間、アクセシビリティで及び任意の他の寸法で構成可能であってよい。これらのウェブサービスは、1つまたは複数のクライアントに利用可能なインフラストラクチャとして構成される場合もあり、1つまたは複数のクライアントのプラットフォームまたはソフトウェアとして構成された1つまたは複数のアプリケーションを含むことができる。これらのウェブサービスは、1つまたは複数の通信プロトコルを介して利用可能になり得る。これらの通信プロトコルは、例えば、ハイパーテキストトランスファプロトコル(HTTP)またはHTTP以外のプロトコルを含んでよい。このような通信プロトコルはまた、例えば、伝送制御プロトコル(TCP)などのより信頼できるトランスポート層プロトコル、及びユーザデータグラムプロトコル(UDP)などの信頼性の低いトランスポート層プロトコルを含む場合もある。データストレージリソースは、ファイルストレージデバイス、ブロックストレージデバイスなどを含む場合がある。
コンピューティングリソースの各タイプまたは構成は、例えば、多くのプロセッサ、大容量メモリ及び/または大規模ストレージ容量で構成された大規模リソース、ならびにより少ないプロセッサ、小容量メモリ及び/またはより小規模のストレージ容量で構成された小規模リソースなど、様々なサイズで利用可能であってよい。顧客は、例えば、いくつかの小規模な処理リソースをウェブサーバとして割り当て、及び/または1つの大規模な処理リソースをデータベースサーバとして割り当てるように選択してよい。
データセンタ85は、コンピューティングリソースを提供するサーバ76a及び76b(これらは本明細書では、単数でサーバ76または複数でサーバ76と呼ばれる場合がある)を含んでよい。これらのリソースは、ベアメタルリソースとしてまたは仮想マシンインスタンス78a〜d(これらは本明細書では、単数で仮想マシンインスタンス78または複数での仮想マシンインスタンス78と呼ばれる場合がある)として利用可能であってよい。仮想マシンインスタンス78c及び78dは、セクション化された地形編集仮想マシン(「STEVM」)インスタンスである。STEVM仮想マシンインスタンス78c及び78dは、シングルトン調整技法の及び/または本開示及び上記の詳細な記載に従って開示された技法の、全てもしくは任意の一部を実行するように構成されてよい。理解される通り、図9に例示される特定の例は、各サーバ内に1つのSTEVM仮想マシンを含んでいるが、これは単なる一例である。サーバは、2つ以上のSTEVM仮想マシンを含む場合がある、またはSTEVM仮想マシンを全く含まない場合もある。
コンピューティングハードウェアの仮想化技術の可用性は、顧客に対して大規模なコンピューティングリソースを提供し、コンピューティングリソースが複数の顧客の間で有効にかつ安全に共有されることを可能にする利点を有する。例えば、仮想化技術は、各ユーザに、物理的コンピューティングデバイスによってホストされる1つまたは複数の仮想マシンインスタンスを提供することによって、物理的コンピューティングデバイスを複数のユーザ間で共有することを可能にすることができる。仮想マシンインスタンスは、別個の論理コンピューティングシステムとして作用する特定の物理的コンピューティングシステムのソフトウェアエミュレーションであってよい。このような仮想マシンインスタンスは、所与の物理的コンピューティングリソースを共有する複数のオペレーティングシステムの間に分離をもたらす。さらに一部の仮想化技術は、例えば、複数の別個の物理的コンピューティングシステムにまたがる複数の仮想プロセッサを有する単一の仮想マシンインスタンスなど、1つまたは複数の物理リソースにまたがる仮想リソースを提供する場合もある。
図9を参照すると、通信ネットワーク73は、例えば、接続されたネットワークの公的にアクセス可能なネットワークであってよく、場合によっては、インターネットなど様々な別個の関係者によって操作される場合もある。他の実施形態では、通信ネットワーク73は、例えば、権利を認められないユーザに対して全体的にまたは一部がアクセス不可能な企業または大学のネットワークなどのプライベートネットワークである場合もある。さらに他の実施形態では、通信ネットワーク73は、インターネットへのアクセス権及び/またはインターネットからのアクセス権を有する1つまたは複数のプライベートネットワークを含む場合もある。
通信ネットワーク73は、コンピュータ72へのアクセス権を提供してよい。ユーザコンピュータ72は、ユーザ70またはデータセンタ85の他の顧客によって利用されるコンピュータであってよい。例えば、ユーザコンピュータ72aまたは72bは、サーバ、デスクトップまたはラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント(PDA)、電子書籍リーダ、ゲームコンソール、セットトップボックスまたはデータセンタ85にアクセスすることが可能な任意の他のコンピューティングデバイスであってよい。ユーザコンピュータ72aまたは72bは、インターネット(例えば、ケーブルモデムまたはデジタルサブスクライバライン(DSL)を介して)に直接接続されてよい。2つのユーザコンピュータ72a及び72bのみが図示されているが、複数のユーザコンピュータが存在し得ることを理解されたい。
ユーザコンピュータ72はまた、データセンタ85によって提供されるコンピューティングリソースの態様を構成するのに利用される場合もある。この点において、データセンタ85は、ユーザコンピュータ72上で実行中のウェブブラウザアプリケーションプログラムの使用を通してその動作の態様が構成され得るゲートウェイまたはウェブインターフェースを提供する場合がある。あるいは、ユーザコンピュータ72上で実行中のスタンドアローンアプリケーションプログラムが、構成動作を実行するためにデータセンタ85によって公開されるアプリケーションプログラミングインターフェース(API)にアクセスする場合もある。データセンタ85において利用可能な様々なウェブサービスの動作を構成するための他の機構も利用可能である。
図9に示されるサーバ76は、上記に記載したコンピューティングリソースを提供するのに適切に構成されたサーバであってよく、1つまたは複数のウェブサービス及び/またはアプリケーションを実行するためにコンピューティングリソースを提供してよい。一実施形態において、コンピューティングリソースは、仮想マシンインスタンス78である場合もある。仮想マシンインスタンスの例では、サーバ76の各々は、仮想マシンインスタンス78を実行することが可能なインターフェースマネージャ80aまたは80b(これらは本明細書では単数でインスタンスマネージャ80または複数でのインスタンスマネージャ80と呼ばれる場合がある)を実行するように構成されてよい。インスタンスマネージャ80は、仮想マシンモニタ(VMM)、または例えば、サーバ76上での仮想マシンインスタンス78の実行を可能にするように構成された別のタイプのプログラムであってよい。上記で論じた通り、仮想マシンインスタンス78の各々は、アプリケーションの全てまたは一部を実行するように構成されてよい。
上に開示された実施形態は仮想マシンインスタンスの文脈を考察しているが、他のタイプの実装も本明細書に開示された概念及び技術を用いて利用することができることを理解されたい。例えば、本明細書に開示される実施形態は、仮想マシンインスタンスを利用しないコンピュータシステムと共に利用される場合もある。
図9に示されるデータセンタ85の例では、ルータ71は、サーバ76a及び76bを相互に接続するのに利用されてよい。ルータ71はまた、通信ネットワーク73に接続されるゲートウェイ74に接続される場合がある。ルータ71は、1つまたは複数のロードバランサに接続されてよく、単独でまたは組み合わせて、例えば、パケットまたは他のデータ通信をそのような通信の特徴(例えば、ソース及び/または宛先アドレス、プロトコル識別子、サイズ、処理要件などを含めたヘッダ情報)及び/またはプライベートネットワークの特徴(例えば、ネットワークトポロジに基づいたルートなど)に基づいて必要に応じて送信することによってデータセンタ85のネットワークの範囲内での通信を管理してよい。簡素化のために、コンピューティングシステム及びこの例の他のデバイスの様々な態様は、特定の従来の詳細を示すことなく例示されることを理解されたい。追加のコンピューティングシステム及び他のデバイスが他の実施形態では相互に接続される場合もあり、様々な方法で相互に接続されてよい。
図9に示されるデータセンタ85の例では、サーバマネージャ75はまた、サーバ76a及びサーバ76bへの通信、サーバ76a及びサーバ76bからの通信及び/またはサーバ76aとサーバ76bの間での直接的な通信に対して少なくとも一部が利用される。図9は、ゲートウェイ74とサーバマネージャ75との間に位置決めされたルータ71を図示しているが、これは単に構成の一例である。いくつかのケースでは、例えば、サーバマネージャ75は、ゲートウェイ74とルータ71との間に位置決めされてよい。サーバマネージャ75は、一部のケースでは、ユーザコンピュータ72から入力される通信の一部を検査して、入力通信を受信する及び/または処理するために1つまたは複数の適切なサーバ76を決定してよい。サーバマネージャ75は、同一性、場所またはユーザコンピュータ72に関連する他の属性、通信が関連するタスクの性質、通信が関連するタスクの優先順位、通信が関連するタスクの継続期間、通信が関連するタスクのサイズ及び/または推定される利用法などの要因ならびに多くの他の要因に基づいて入力通信を受信及び/または処理するために適切なサーバを決定してよい。サーバマネージャ75は、例えば、通信またはそのようなタスクに関連する他の動作を管理するのを支援するために、状態情報及び様々なタスクに関連付けられた他の情報を収集する、または別様にはそれに対するアクセス権を有してよい。
図9に例示されたネットワークトポロジは大幅に簡素化されていること、ならびにより多くのネットワーク及びネットワークデバイスが、本明細書に開示された様々なコンピューティングシステムを相互接続するために利用され得ることを理解されたい。これらのネットワークトポロジ及びデバイスは、当業者には明白であろう。
図9に図示されるデータセンタ85は、単なる例示であり、他の実装も利用され得ることも理解されたい。サーバ、ゲートウェイまたは他のコンピューティングデバイスは、相互に作用し合い、記載されるタイプの機能性を実行することができるハードウェアまたはソフトウェアの任意の組み合わせを備え、これには、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワークストレージデバイス及び他のネットワークデバイス、PDA、タブレット、携帯電話、無線電話、ポケベル、電子手帳、インターネット家電、テレビジョン関連システム(例えば、セットトップボックス及び/またはパーソナル/デジタルビデオレコーダを使用する)ならびに適切な通信能力を含む種々の他の消費者製品が含まれるが、これらに限定されないことも理解されたい。
少なくとも一部の実施形態では、本明細書中に記載する技術の1つまたは複数の一部または全てを実装するサーバは、1つまたは複数のコンピュータアクセス可能媒体を含むか、あるいは1つまたは複数のコンピュータアクセス可能媒体にアクセスするように構成されたコンピュータシステムを含み得る。図10は、1つまたは複数のコンピュータアクセス可能媒体を含むか、あるいは1つまたは複数のコンピュータアクセス可能媒体にアクセスするように構成されたコンピュータシステムを図示する。例示された実施形態では、コンピューティングデバイス15は、入力/出力(I/O)インターフェース30を介して、システムメモリ20に連結される、1つまたは複数のプロセッサ10a、10b及び/または10n(本明細書中では、「プロセッサ10」として単数でまたは「プロセッサ(複数)10」として複数で呼ばれ得る)を含む。コンピューティングデバイス15は、I/Oインターフェース30に連結されるネットワークインターフェース40をさらに含む。
様々な実施形態において、コンピューティングデバイス15は、1つのプロセッサ10を含むユニプロセッサシステム、またはいくつかのプロセッサ10(例えば、2つ、4つ、8つ、または別の好適な数)を含むマルチプロセッサシステムであってよい。プロセッサ10は、命令を実行することが可能な任意の好適なプロセッサであってよい。例えば、様々な実施形態では、プロセッサ10は、x86、PowerPC、SPARCもしくはMIPS ISAまたは任意の他の適切なISAなど、様々な命令セットアーキテクチャ(ISA)のいずれかを実装する組み込み型プロセッサであってよい。マルチプロセッサシステムにおいて、プロセッサ10の各々は、同じISAを一般的に実装し得るが、必ずしもそうでなくてもよい。
システムメモリ20は、プロセッサ(複数可)10によってアクセス可能な命令及びデータを記憶するように構成されてよい。様々な実施形態では、システムメモリ20は、スタティックランダムアクセスメモリ(SRAM)、同期ダイナミックRAM(SDRAM)、不揮発性/フラッシュ(登録商標)タイプメモリまたは任意の他のタイプのメモリなど、任意の適切なメモリ技術を使用して実装されてよい。例示された実施形態では、上記のそれらの方法、技術及びデータ等の1つまたは複数の所望の機能を実装するプログラム命令及びデータは、コード25及びデータ26として、システムメモリ20内に記憶されるように示される。
一実施形態では、I/Oインターフェース30は、プロセッサ10、システムメモリ20及びネットワークインターフェース40または他の周辺インターフェースを含む、デバイス内の任意の周辺デバイス間のI/Oトラフィックを調整するように構成され得る。一部の実施形態では、I/Oインターフェース30は、1つの構成要素(例えば、システムメモリ20)からのデータ信号を、別の構成要素(例えば、プロセッサ10)による使用に好適な形式に変換するように、任意の必要なプロトコル、タイミングまたは他のデータ変換を行なってよい。一部の実施形態では、I/Oインターフェース30は、例えば、ペリフェラル・コンポーネント・インターコネクト(PCI)バス規格、またはユニバーサル・シリアル・バス(USB)規格の異形などの様々なタイプの周辺バスを通じて取り付けられるデバイスに対するサポートを含んでよい。一部の実施形態では、I/Oインターフェース30の機能は、例えば、ノースブリッジ及びサウスブリッジなどの2つ以上の個別の構成要素に分割されてよい。さらに、一部の実施形態では、システムメモリ20へのインターフェースなど、I/Oインターフェース30の機能性のうちの一部または全ては、プロセッサ10に直接組み込まれてよい。
ネットワークインターフェース40は、データが、コンピューティングデバイス15と、例えば、他のコンピュータシステムなどまたはデバイスなどの、ネットワーク50に取り付けられる他のデバイス60の間で交換されることを可能にするように構成され得る。様々な実施形態では、ネットワークインターフェース40は、例えば、イーサネットネットワークのタイプなどの任意の好適な有線または無線汎用データネットワークを介した通信をサポートし得る。さらに、ネットワークインターフェース40は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワーク等の電気通信/テレフォニネットワークを介した、ファイバチャネルSAN(ストレージエリアネットワーク)などのストレージエリアネットワークを介した、または任意の他の好適なタイプのネットワーク及び/またはプロトコルを介した通信をサポートしてよい。
一部の実施形態では、システムメモリ20は、対応する方法及び装置の実施形態を実装するための上述されるようなプログラム命令及びデータを格納するように構成されたコンピュータアクセス可能媒体の一実施形態であってよい。しかしながら、他の実施形態では、プログラム命令及び/またはデータは、異なるタイプのコンピュータアクセス可能媒体において、受信、送信または記憶されてよい。一般的に、コンピュータアクセス可能媒体は、I/Oインターフェース30を介してコンピューティングデバイス15に連結される、磁気もしくは光媒体、例えば、ディスクもしくはDVD/CDなどの非一時的記憶媒体またはメモリ媒体を含んでよい。非一時的なコンピュータアクセス可能な記憶媒体はさらに、システムメモリ20または他のタイプのメモリとしてコンピューティングデバイス15の一部の実施形態に含まれ得る、RAM(例えば、SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM(読み取り専用メモリ)等などの、任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータアクセス可能媒体は、ネットワークインターフェース40を介して実装されてよい、ネットワーク及び/または無線リンクなどの通信媒体を介して伝送される電気、電磁気もしくはデジタル信号などの送信媒体または信号を含んでよい。
インターネット及び/または他のネットワークを介して、分散しているクライアントのセットにアクセス可能な1つまたは複数のウェブサービス(様々なタイプのクラウドベースのコンピューティングまたはストレージなど)を提供するために、企業または公共部門の団体などのエンティティによって設定されたネットワークは、プロバイダネットワークと称され得る。このようなプロバイダネットワークには、プロバイダネットワークによって提供されるインフラ及びウェブサービスを実装し分散するために必要とされる、多数のデータセンタがホストする様々なリソースプール、例えば、物理的及び/または仮想化コンピュータサーバ、ストレージデバイス、ネットワーク機器等の集合が含まれ得る。リソースは、一部の実施形態では、インスタンスとして、関連サービスセットとして等、ストレージのためのストレージキャパシティの量、処理のための処理能力などのウェブサービスに関する様々なユニットでクライアントに提供され得る。仮想コンピューティングインスタンスには、例えば、指定された計算能力(CPUのタイプ及び数、メインメモリサイズなどを指示することによって指定され得る)及び指定されたソフトウェアスタック(例えば、ハイパーバイザ上で実行され得ることになるオペレーティングシステムの特定のバージョン)を有する1つまたは複数のサーバが含まれ得る。
コンピューティングノードとも称され得る計算ノードは、コモディティハードウェアコンピュータ、仮想マシン、ウェブサービス、コンピューティングクラスタ及びコンピューティング機器などの様々なコンピューティング環境で実装され得る。これらのコンピューティングデバイスまたは環境のうちいずれかは、便宜上、計算ノードとして記載され得る。
いくつかの異なるタイプのコンピューティングデバイスは、例えば、コンピュータサーバ、ストレージデバイス、ネットワークデバイスなど、様々な実施形態においてプロバイダネットワークのリソースを実装するために、単独でまたは組み合わせて使用され得る。一部の実施形態では、クライアントまたはユーザには、例えば、ユーザにアドミニストレータログイン及びパスワードを与えることによって、リソースインスタンスへの直接アクセスが提供され得る。他の実施形態では、プロバイダネットワークオペレータは、例えば、クライアントが、インスタンスまたは実行プラットフォームに直接アクセスする必要なしに、クライアントの代わりに、アプリケーションに好適な実行プラットフォーム(アプリケーションサーバインスタンス、Java(商標)仮想マシン(「JVM」)、汎用目的または特殊目的のオペレーティングシステム、Ruby、Perl、Python、C、C++などの様々なインタープリタ型またはコンパイル型プログラミング言語をサポートするプラットフォームまたは高性能コンピューティングプラットフォームなど)上で、指定されたクライアントアプリケーションの実行要件及びアプリケーションの計画実行をクライアントが指定することを可能にし得る。所与の実行プラットフォームは、一部の実装では、1つまたは複数のリソースインスタンスを利用し得、他の実装では、複数の実行プラットフォームが、単一のリソースインスタンスにマッピングされ得る。
多くの環境では、様々なタイプの仮想化コンピューティング、ストレージ及び/または他のネットワークアクセス可能な機能性を実装するプロバイダネットワークのオペレータは、顧客が、様々なリソース取得モードでリソースに対するアクセスを予約または購入することを可能にし得る。コンピューティングリソースプロバイダは、顧客が所望のコンピューティングリソースを選択かつ起動し、コンピューティングリソースにアプリケーション構成要素を配置し、環境で実行しているアプリケーションを維持するための設備を提供し得る。加えて、コンピューティングリソースプロバイダは、顧客が、アプリケーションに割り当てられたリソースの数及びタイプを、アプリケーションの変更の要求またはそのキャパシティ要件として、手動または自動スケーリングのいずれかで、迅速かつ容易にスケールアップまたはスケールダウンするための設備をさらに提供し得る。コンピューティングリソースプロバイダにより提供されるコンピューティングリソースは、インスタンスと呼ばれ得る別個のユニットにおいて利用可能とされ得る。インスタンスは、物理的なサーバハードウェアプラットフォーム、サーバで実行する仮想マシンインスタンスまたはその2つの何らかの組み合わせを表し得る。様々なタイプ及び構成のインスタンスが、様々なオペレーティングシステム(「OS」)及び/またはハイパーバイザを実行する様々なサイズのリソースを含んで、様々なインストールされたソフトウェアアプリケーション、ランタイムなどとともに利用可能とされ得る。インスタンスはさらに、特定の可用性ゾーンで利用可能とされ得、例えば、論理領域、フォールトトレラント領域、データセンタまたは基盤となっているコンピューティングハードウェアの他の地理的位置を表す。インスタンスは、インスタンスの冗長性を高めるために、可用性ゾーン内でまたは可用性ゾーン全体でコピーされ得、インスタンスは、特定の可用性ゾーン内でまたは可用性ゾーンにわたって移行され得る。一例として、可用性ゾーンにおける特定のサーバとのクライアントの通信のレイテンシは、異なるサーバとのクライアントの通信のレイテンシよりも少なくてよい。このように、インスタンスは、全体的なクライアントの体験を高めるために、高いレイテンシのサーバから低いレイテンシのサーバに移動され得る。
一部の実施形態では、プロバイダネットワークは、複数の地理的領域に編成されてもよく、各領域は、1つまたは複数の可用性ゾーンを含んでよい。次いで、可用性ゾーン(可用性コンテナとも呼ばれ得る)は、所与の可用性ゾーン内のリソースが他の可用性ゾーン内の不具合から隔離または防護され得るように構成された1つまたは複数の別個の場所またはデータセンタを備えてよい。つまり、1つの可用性ゾーン内の不具合が、任意の他の可用性ゾーン内に不具合をもたらすことは予期されない場合がある。したがって、リソースインスタンスの可用性プロファイルは、異なる可用性ゾーン内のリソースインスタンスの可用性プロファイルから独立していることが意図される。クライアントは、それぞれの可用性ゾーンにおいて複数のアプリケーションインスタンスを起動させることで、彼らのアプリケーションを単一の場所での不具合から保護することが可能になり得る。同時に、一部の実装では、安価かつ低レイテンシのネットワーク接続が、同一の地理的領域内に存在するリソースインスタンス間に提供され得る(かつ、同一の可用性ゾーンのリソース間のネットワーク送信は早くさえなり得る)。
上記の通り、コンテンツはコンテンツプロバイダから1つまたは複数のクライアントに提供され得る。コンテンツは、本明細書で使用する場合、任意の提示可能な情報を指し、コンテンツアイテムという用語は、本明細書で使用する場合、任意のそのような提示可能な情報の何らかの集合を指す。コンテンツプロバイダは、コンテンツをクライアントに提供するためのサービスを提供し、例えば、1つまたは複数のコンテンツを提供してよい。サービスを提供するコンテンツは、1つまたは複数のサーバ上にあってよい。サービスを提供するコンテンツは、1つまたは複数の顧客の要望を満たすように拡張可能であり、入力されるクライアントの要求の数及びタイプに基づいて機能を増減してよい。サービスを提供するコンテンツの一部はさらに、要求側のクライアントと共に短縮された待ち時間の位置に配置されるように移動されてよい。例えば、コンテンツプロバイダは、特定のクライアントに物理的に及び/または論理的に最も近いサービスを提供するコンテンツに関連付けられたシステムまたはネットワークの「エッジ」を判定してよい。コンテンツプロバイダはその後、例えば、リソースを「スピンアップする」すなわちリソースを移動させる、または別様には特定のクライアントと相互に作用するために判定されたエッジに関連付けられたコンポーネントを利用する場合もある。このようなエッジの判定プロセスは、一部の場合では、特定のクライアントと相互作用するのに十分に適したコンポーネントを特定し利用するための有効な技術を提供し得、また一部の実施形態では、コンテンツプロバイダと1つまたは複数のクライアントとの間の通信のための待ち時間を短縮し得る。
加えて、一定の方法またはプロセスブロックは、一部の実装では省略され得る。本明細書中で記載される方法及びプロセスはまた、いずれかの特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切である他の順序で実行することができる。例えば、記載されるブロックまたは状態は、具体的に開示されたもの以外の順序で実行されてよい、または、複数のブロックまたは状態が、単一のブロックまたは状態として組み合わされる場合もある。例示的なブロックまたは状態は、直列に、並列に、または何らかの他の態様で実行され得る。ブロックまたは状態は、開示された例示的な実施形態に追加または削除され得る。
様々なアイテムがメモリまたはストレージに格納されて用いられているものとして例示され、これらのアイテムまたはその一部はメモリ管理及びデータの完全性の目的でメモリと他のストレージデバイスの間で転送され得ることも理解されるであろう。代替として、他の実施形態では、ソフトウェアモジュール及び/またはシステムの一部または全部は、別のデバイスのメモリで実行され、コンピュータ間通信を介して例示されたコンピューティングシステムと通信し得る。さらに、一部の実施形態では、システム及び/またはモジュールの一部または全ては、少なくとも部分的にファームウェア及び/またはハードウェア内など他の方法で実装されるまたは設けられる場合もあり、これには1つまたは複数の特定用途向け集積回路(ASIC)、標準的な集積回路、コントローラ(例えば、適切な命令を実行することによる、ならびにマイクロコントローラ及び/または埋め込み式コントローラを含む)、フィールドプログラマブルアレイ(FPGA)、コンプレックスプログラマブル論理デバイス(CPLD)などが含まれるが、これに限定されるわけではない。モジュール、システム及びデータ構造の一部または全てはまた、適切な接続を介して適切なドライブによって読み取られるコンピュータ可読媒体、例えば、ハードディスク、メモリ、ネットワークまたは携帯可能なメディア製品上に記憶される場合もある(例えばソフトウェア命令または構造化データとして)。システム、モジュール及びデータ構造も、無線ベース媒体及び有線/ケーブルベース媒体を含む様々なコンピュータ可読伝送媒体で生成データ信号として伝送され得(例えば、搬送波または他のアナログもしくはデジタル伝播信号の一部として)、様々な形式をとり得る(例えば、単一もしくは多重アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして)。このようなコンピュータプログラム製品は、他の実施形態では、他の形式も取り得る。したがって、本発明は、他のコンピュータシステム構成で実施され得る。
別途具体的に記述されない限りまたは用いられている文脈内でそれ以外に理解されない限り、とりわけ、「することができる」、「できるであろう」、「可能性がある」、「してよい」、「例えば」などの本明細書中で用いられる条件的言語は、特定の特徴、要素及び/またはステップを特定の実施形態が含み、一方で他の実施形態が含まないことを伝えるために一般に使用される。ゆえに、そのような条件的言語は、概して、特徴、要素及び/またはステップが、1つまたは複数の実施形態に任意の方法で要求されるか、または1つまたは複数の実施形態が、作者のインプットもしくはプロンプトを用いて、もしくは用いずに、これらの特徴、要素及び/またはステップが含まれるか、もしくは任意の特定の実施形態において行われるべきであるかを決定するための論理を必ず含むことを含意することは意図されていない。用語「備える」、「含む」、「有する」などは同義であり、オープンエンド様式で包含的に用いられ、追加の要素、特徴、行為、動作などを排除しない。さらに、用語「または」は、その包含的な趣旨で(排除的な趣旨ではなく)用いられ、例えば、要素のリストをつなぐのに用いられた際に、用語「または」はリストの要素の1つ、いくつかまたは全てを意味する。
特定の例示的な実施形態を記載してきたが、これらの実施形態は例としてのみ提示したものであり、本明細書中に開示する発明の範囲を限定する意図はない。ゆえに、前述の説明のいずれも、任意の特定の特徴、特性、ステップ、モジュールまたはブロックが必要であるまたは必須であることを意味する意図はない。実際のところ、本明細書中に記載される新規の方法及びシステムは、様々な他の形式で具現化されてよく、さらに、本明細書中に記載される方法及びシステムの形式の様々な省略、置換及び変更は、本明細書中に開示する発明の趣旨から逸脱することなくなされ得る。添付の特許請求の範囲及びそれらの均等物は、本明細書中に開示される発明の特定の範囲及び趣旨に収まるような形式または修正を包含するように意図されている。

Claims (20)

  1. セクション化した地形の編集のためのコンピューティングシステムであって、
    1つまたは複数のプロセッサと、
    内部に命令を格納する1つまたは複数のメモリであって、前記1つまたは複数のプロセッサによる実行時に、前記コンピューティングシステムに、
    ビデオゲームに関連する仮想領域の少なくとも一部の地形を複数の地形セクションに分割することと、
    前記複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションのそれぞれは前記複数の地形データ集合の少なくとも1つの関連する地形データ集合を有する、前記保持することと、
    地形編集インターフェース内の第1の地形セクションの地形を編集するために、前記複数の地形セクションの前記第1の地形セクションに関連する前記複数の地形データ集合の第1の地形データ集合を第1のユーザにチェックアウトすることと、
    前記第1のユーザから、前記第1の地形データ集合をチェックインすることと、
    前記第1のデータ集合が前記第1のユーザにチェックアウトされる間に、前記第1のデータ集合に対して前記第1のユーザによって行われる1つまたは複数の編集に関連するデータを、前記第1のデータ集合に保存することと
    を備える動作を実行させる前記メモリと
    を備え、
    前記第1の地形データ集合が前記第1のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第2の地形セクションに関連する前記複数の地形データ集合の第2の地形データ集合を第2のユーザにチェックアウト可能にする、前記コンピューティングシステム。
  2. 前記複数の地形データ集合の地形データ集合の第1のグループは前記第1の地形セクションに関連し、前記地形データ集合の第1のグループは複数のタイプの地形編集操作に関連する、請求項1に記載のコンピューティングシステム。
  3. 前記地形データ集合の第1のグループは異なるユーザに同時にチェックアウト可能になる、請求項2に記載のコンピューティングシステム。
  4. 前記地形データ集合の第1のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項2に記載のコンピューティングシステム。
  5. セクション化した地形を編集する方法であって、
    コンテンツアイテムに関連する仮想領域の少なくとも一部の地形のために、複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションのそれぞれは前記複数の地形データ集合の少なくとも1つの関連する地形データ集合を有する、前記保持することと、
    第1の地形セクションの地形を編集するために、前記複数の地形セクションの前記第1の地形セクションに関連する前記複数の地形データ集合の第1の地形データ集合を第1のユーザにチェックアウトすることと、
    前記第1のユーザから、前記第1の地形データ集合をチェックインすることと、
    前記第1のデータ集合が前記第1のユーザにチェックアウトされる間に、前記第1のデータ集合に関連する前記第1のユーザによって行われる1つまたは複数の編集に対応するデータを、前記第1のデータ集合に保存すること、とを備え、
    前記第1の地形データ集合が前記第1のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第2の地形セクションに関連する前記複数の地形データ集合の第2の地形データ集合を第2のユーザにチェックアウト可能にする、前記方法。
  6. 前記複数の地形データ集合の地形データ集合の第1のグループは前記第1の地形セクションに関連し、前記地形データ集合の第1のグループは複数のタイプの地形編集操作に関連する、請求項5に記載の方法。
  7. 前記地形データ集合の第1のグループは異なるユーザに同時にチェックアウト可能になる、請求項6に記載の方法。
  8. 前記地形データ集合の第1のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項6に記載の方法。
  9. 前記第1のユーザによってチェックアウトされる、前記第1のユーザによって書き込み可能である、または前記第1のユーザによって読み取り専用でアクセス可能であることの少なくとも1つである少なくとも1つの関連する地形データ集合を、地形セクションが有するかどうかの1つまたは複数の表示を前記第1のユーザに提供することをさらに備える、請求項5に記載の方法。
  10. 前記1つまたは複数の表示は1つまたは複数の色分けされた地形セクション境界を備える、請求項9に記載の方法。
  11. 地形セクションがロックされているか、または部分的にロックされている1つまたは複数の表示を前記第1のユーザに提供することをさらに備える、請求項5に記載の方法。
  12. 前記第1のユーザが読み取り専用アクセスを有する地形セクションに関連する地形データをメモリからアンロードすることをさらに備える、請求項5に記載の方法。
  13. 前記第1の地形セクションの前記地形の少なくとも一部の図形表示を表示することを提供することをさらに備える、請求項5に記載の方法。
  14. 前記コンテンツアイテムに関連する前記仮想領域の少なくとも一部の前記地形を前記複数の地形セクションに分割することをさらに備える、請求項5に記載の方法。
  15. 前記コンテンツアイテムはビデオゲームを備える、請求項5に記載の方法。
  16. 内部に命令を格納する1つまたは複数の非一時的なコンピュータ可読記憶媒体であって、1つまたは複数のコンピューティングデバイスによる実行時に、1つまたは複数の計算ノードに、
    コンテンツアイテムに関連する仮想領域の少なくとも一部の地形のために、複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションの第1の地形セクションは前記複数の地形データ集合の関連する地形データ集合の第1のグループを有する、前記保持することと、
    前記第1の地形セクションの地形を編集するために、前記第1の地形セクションに関連する前記地形データ集合の第1のグループの第1の地形データ集合を第1のユーザにチェックアウトすることと、
    前記第1のユーザから、前記第1の地形データ集合をチェックインすることと、
    前記第1のデータ集合が前記第1のユーザにチェックアウトされる間に、前記第1のデータ集合に関連する前記第1のユーザによって行われる1つまたは複数の編集に対応するデータを、前記第1のデータ集合に保存することと
    を備える動作を実行させ、
    前記第1の地形データ集合が前記第1のユーザにチェックアウトされる時間の少なくとも一部の間に、前記第1の地形セクションに関連する前記地形データ集合の第1のグループの第2の地形データ集合を第2のユーザにチェックアウト可能にする、前記1つまたは複数の非一時的なコンピュータ可読記憶媒体。
  17. 前記地形データ集合の第1のグループは複数のタイプの地形編集操作に関連する、請求項16に記載の1つまたは複数の非一時的なコンピュータ可読記憶媒体。
  18. 前記第1の地形データ集合が前記第1のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第2の地形セクションに関連する前記複数の地形データ集合の第3の地形データ集合を前記第2のユーザにチェックアウト可能にする、請求項16に記載の1つまたは複数の非一時的なコンピュータ可読記憶媒体。
  19. 前記地形データ集合の第1のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項16に記載の1つまたは複数の非一時的なコンピュータ可読記憶媒体。
  20. 前記動作は、前記第1のユーザによってチェックアウトされる、前記第1のユーザによって書き込み可能である、または前記第1のユーザによって読み取り専用でアクセス可能であることの少なくとも1つである少なくとも1つの関連する地形データ集合を、地形セクションが有するかどうかの1つまたは複数の表示を前記第1のユーザに提供することをさらに備える、請求項16に記載の1つまたは複数の非一時的なコンピュータ可読記憶媒体。
JP2018564857A 2016-06-13 2017-06-07 セクション化した地形の編集 Pending JP2019524178A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/180,640 US10245512B2 (en) 2016-06-13 2016-06-13 Sectional terrain editing
US15/180,640 2016-06-13
PCT/US2017/036348 WO2017218259A1 (en) 2016-06-13 2017-06-07 Sectional terrain editing

Publications (1)

Publication Number Publication Date
JP2019524178A true JP2019524178A (ja) 2019-09-05

Family

ID=59227903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018564857A Pending JP2019524178A (ja) 2016-06-13 2017-06-07 セクション化した地形の編集

Country Status (6)

Country Link
US (1) US10245512B2 (ja)
EP (1) EP3468684A1 (ja)
JP (1) JP2019524178A (ja)
KR (1) KR102191661B1 (ja)
CN (1) CN109562297A (ja)
WO (1) WO2017218259A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109718541B (zh) * 2018-11-07 2022-07-15 苏州蜗牛数字科技股份有限公司 一种模型交互实现方法
CN112750181B (zh) * 2021-01-22 2024-05-31 珠海优特电力科技股份有限公司 图形处理方法和装置、存储介质及电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058397A (en) 1997-04-08 2000-05-02 Mitsubishi Electric Information Technology Center America, Inc. 3D virtual environment creation management and delivery system
US5897642A (en) * 1997-07-14 1999-04-27 Microsoft Corporation Method and system for integrating an object-based application with a version control system
CN1568466A (zh) * 2001-09-26 2005-01-19 交互设备有限公司 用于传递媒体信号的系统和方法
TW200306109A (en) * 2002-04-17 2003-11-01 Nagravision Sa Digital data ciphering method
US8207966B2 (en) * 2004-05-26 2012-06-26 Sony Online Entertainment Llc Terrain editor tool for rule-based procedural terrain generation
US8115765B2 (en) * 2004-05-26 2012-02-14 Sony Online Entertainment Llc Rule-based procedural terrain generation
TWI267003B (en) * 2005-07-05 2006-11-21 Inventec Corp Development system and method for computer game
WO2007027847A2 (en) * 2005-09-01 2007-03-08 Geosim Systems Ltd. System and method for cost-effective, high-fidelity 3d-modeling of large-scale urban environments
US8010507B2 (en) * 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
US20090083268A1 (en) * 2007-09-25 2009-03-26 International Business Machines Corporation Managing variants of artifacts in a software process
CN102819391B (zh) * 2012-07-24 2015-04-22 华平信息技术(南昌)有限公司 一种多场景下具有并行性的多点触摸手势反馈系统及方法
US9747582B2 (en) 2013-03-12 2017-08-29 Dropbox, Inc. Implementing a consistent ordering of operations in collaborative editing of shared content items
CN104050708A (zh) * 2014-06-09 2014-09-17 无锡梵天信息技术股份有限公司 一种3d游戏引擎lod系统的实现方法

Also Published As

Publication number Publication date
KR102191661B1 (ko) 2020-12-17
KR20190028437A (ko) 2019-03-18
US10245512B2 (en) 2019-04-02
US20170354890A1 (en) 2017-12-14
CN109562297A (zh) 2019-04-02
WO2017218259A1 (en) 2017-12-21
EP3468684A1 (en) 2019-04-17

Similar Documents

Publication Publication Date Title
US11321108B2 (en) User interface for managing a distributed virtual switch
US20170083292A1 (en) Visual content development
US11023267B2 (en) Composite virtual machine template for virtualized computing environment
US20150106518A1 (en) Managing virtual network ports
US9405579B2 (en) Seamless extension of local computing power
US20190034297A1 (en) Auto-Calculation of Recovery Plans for Disaster Recovery Solutions
US11605033B2 (en) Quantum computing task translation supporting multiple quantum computing technologies
US20210158199A1 (en) Quantum computing service supporting local execution of hybrid algorithms
JP2023057535A (ja) コンピュータ実装方法、システムおよびコンピュータプログラム(ワークロード実行のための動的スケーリング)
CN117616395A (zh) 迁移期间应用的连续活跃度和完整性
JP2019524178A (ja) セクション化した地形の編集
CN110515697A (zh) 一种虚拟机迁移方法、装置、存储介质及计算机设备
US11650869B2 (en) Quantum computing service with local edge devices supporting multiple quantum computing technologies
US11704715B2 (en) Quantum computing service supporting multiple quantum computing technologies
US10610780B1 (en) Pre-loaded content attribute information
Quintero et al. IBM Platform Computing Solutions Reference Architectures and Best Practices
US10419283B1 (en) Methods, systems, and computer readable mediums for template-based provisioning of distributed computing systems
US11122053B2 (en) Flexible rights management for cloud-based access to computing resources
US10305733B1 (en) Defining software infrastructure using a physical model
US11689411B1 (en) Hardware resource management for management appliances running on a shared cluster of hosts
US11082496B1 (en) Adaptive network provisioning
US20230229478A1 (en) On-boarding virtual infrastructure management server appliances to be managed from the cloud
US11977922B2 (en) Resource reuse for pipeline workloads
US10545989B1 (en) Selective data replication
Mušić et al. Digital transformation with a lightweight on-premise PaaS

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210310