(57)【要約】セクション化した地形の編集技法を本明細書に説明する。一部の例では、ビデオゲームの仮想領域の少なくとも一部に関連する地形は、複数の地形セクションに分割されてよい。地形セクションのそれぞれは、関連するセクションに関する地形データを格納する１つまたは複数の関連するデータ集合を有してよい。これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することが可能となり得、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプに関連する、複数の異なる関連データ集合を有してよい。これは、複数の異なるユーザが同時にチェックアウトして同じ地形セクションの異なる地形データへのロックを取得することを可能にすることによって、さらなる効率性を提供し得る。【選択図】図１
2019524178.tif 000002
【特許請求の範囲】
【請求項１】
セクション化した地形の編集のためのコンピューティングシステムであって、
１つまたは複数のプロセッサと、
内部に命令を格納する１つまたは複数のメモリであって、前記１つまたは複数のプロセッサによる実行時に、前記コンピューティングシステムに、
ビデオゲームに関連する仮想領域の少なくとも一部の地形を複数の地形セクションに分割することと、
前記複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションのそれぞれは前記複数の地形データ集合の少なくとも１つの関連する地形データ集合を有する、前記保持することと、
地形編集インターフェース内の第１の地形セクションの地形を編集するために、前記複数の地形セクションの前記第１の地形セクションに関連する前記複数の地形データ集合の第１の地形データ集合を第１のユーザにチェックアウトすることと、
前記第１のユーザから、前記第１の地形データ集合をチェックインすることと、
前記第１のデータ集合が前記第１のユーザにチェックアウトされる間に、前記第１のデータ集合に対して前記第１のユーザによって行われる１つまたは複数の編集に関連するデータを、前記第１のデータ集合に保存することと
を備える動作を実行させる前記メモリと
を備え、
前記第１の地形データ集合が前記第１のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第２の地形セクションに関連する前記複数の地形データ集合の第２の地形データ集合を第２のユーザにチェックアウト可能にする、前記コンピューティングシステム。
【請求項２】
前記複数の地形データ集合の地形データ集合の第１のグループは前記第１の地形セクションに関連し、前記地形データ集合の第１のグループは複数のタイプの地形編集操作に関連する、請求項１に記載のコンピューティングシステム。
【請求項３】
前記地形データ集合の第１のグループは異なるユーザに同時にチェックアウト可能になる、請求項２に記載のコンピューティングシステム。
【請求項４】
前記地形データ集合の第１のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項２に記載のコンピューティングシステム。
【請求項５】
セクション化した地形を編集する方法であって、
コンテンツアイテムに関連する仮想領域の少なくとも一部の地形のために、複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションのそれぞれは前記複数の地形データ集合の少なくとも１つの関連する地形データ集合を有する、前記保持することと、
第１の地形セクションの地形を編集するために、前記複数の地形セクションの前記第１の地形セクションに関連する前記複数の地形データ集合の第１の地形データ集合を第１のユーザにチェックアウトすることと、
前記第１のユーザから、前記第１の地形データ集合をチェックインすることと、
前記第１のデータ集合が前記第１のユーザにチェックアウトされる間に、前記第１のデータ集合に関連する前記第１のユーザによって行われる１つまたは複数の編集に対応するデータを、前記第１のデータ集合に保存すること、とを備え、
前記第１の地形データ集合が前記第１のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第２の地形セクションに関連する前記複数の地形データ集合の第２の地形データ集合を第２のユーザにチェックアウト可能にする、前記方法。
【請求項６】
前記複数の地形データ集合の地形データ集合の第１のグループは前記第１の地形セクションに関連し、前記地形データ集合の第１のグループは複数のタイプの地形編集操作に関連する、請求項５に記載の方法。
【請求項７】
前記地形データ集合の第１のグループは異なるユーザに同時にチェックアウト可能になる、請求項６に記載の方法。
【請求項８】
前記地形データ集合の第１のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項６に記載の方法。
【請求項９】
前記第１のユーザによってチェックアウトされる、前記第１のユーザによって書き込み可能である、または前記第１のユーザによって読み取り専用でアクセス可能であることの少なくとも１つである少なくとも１つの関連する地形データ集合を、地形セクションが有するかどうかの１つまたは複数の表示を前記第１のユーザに提供することをさらに備える、請求項５に記載の方法。
【請求項１０】
前記１つまたは複数の表示は１つまたは複数の色分けされた地形セクション境界を備える、請求項９に記載の方法。
【請求項１１】
地形セクションがロックされているか、または部分的にロックされている１つまたは複数の表示を前記第１のユーザに提供することをさらに備える、請求項５に記載の方法。
【請求項１２】
前記第１のユーザが読み取り専用アクセスを有する地形セクションに関連する地形データをメモリからアンロードすることをさらに備える、請求項５に記載の方法。
【請求項１３】
前記第１の地形セクションの前記地形の少なくとも一部の図形表示を表示することを提供することをさらに備える、請求項５に記載の方法。
【請求項１４】
前記コンテンツアイテムに関連する前記仮想領域の少なくとも一部の前記地形を前記複数の地形セクションに分割することをさらに備える、請求項５に記載の方法。
【請求項１５】
前記コンテンツアイテムはビデオゲームを備える、請求項５に記載の方法。
【請求項１６】
内部に命令を格納する１つまたは複数の非一時的なコンピュータ可読記憶媒体であって、１つまたは複数のコンピューティングデバイスによる実行時に、１つまたは複数の計算ノードに、
コンテンツアイテムに関連する仮想領域の少なくとも一部の地形のために、複数の地形セクションに関連する複数の地形データ集合を保持することであって、前記複数の地形セクションの第１の地形セクションは前記複数の地形データ集合の関連する地形データ集合の第１のグループを有する、前記保持することと、
前記第１の地形セクションの地形を編集するために、前記第１の地形セクションに関連する前記地形データ集合の第１のグループの第１の地形データ集合を第１のユーザにチェックアウトすることと、
前記第１のユーザから、前記第１の地形データ集合をチェックインすることと、
前記第１のデータ集合が前記第１のユーザにチェックアウトされる間に、前記第１のデータ集合に関連する前記第１のユーザによって行われる１つまたは複数の編集に対応するデータを、前記第１のデータ集合に保存することと
を備える動作を実行させ、
前記第１の地形データ集合が前記第１のユーザにチェックアウトされる時間の少なくとも一部の間に、前記第１の地形セクションに関連する前記地形データ集合の第１のグループの第２の地形データ集合を第２のユーザにチェックアウト可能にする、前記１つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記地形データ集合の第１のグループは複数のタイプの地形編集操作に関連する、請求項１６に記載の１つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記第１の地形データ集合が前記第１のユーザにチェックアウトされる時間の少なくとも一部の間に、前記複数の地形セクションの第２の地形セクションに関連する前記複数の地形データ集合の第３の地形データ集合を前記第２のユーザにチェックアウト可能にする、請求項１６に記載の１つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記地形データ集合の第１のグループは、地形の高さデータに関連する地形データ集合、地形の植生データに関連する地形データ集合、地形のテクスチャデータに関連する地形データ集合及び地形のレイヤデータに関連する地形データ集合を備える、請求項１６に記載の１つまたは複数の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記動作は、前記第１のユーザによってチェックアウトされる、前記第１のユーザによって書き込み可能である、または前記第１のユーザによって読み取り専用でアクセス可能であることの少なくとも１つである少なくとも１つの関連する地形データ集合を、地形セクションが有するかどうかの１つまたは複数の表示を前記第１のユーザに提供することをさらに備える、請求項１６に記載の１つまたは複数の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１６年６月１３日に出願された米国仮出願第１５／１８０，６４０号の利益を主張し、その開示の全体が参照により本明細書に組み込まれる。
【背景技術】
【０００２】
近年、ビデオゲーム及び他のメディアアイテムなど、電子的に提示されるコンテンツアイテムの人気は著しく高まっている。一部の例では、さらに多くのプレイヤを魅了しゲームの人気を高めるために、ビデオゲームの設計者は非常に詳細な視覚特性を有する複雑な仮想ゲーム世界を作成し得る。仮想ゲーム世界の重要な態様の１つは、その地形の設計である。多くの場合、ビデオゲームの設計者は地形の設計に膨大な時間と労力を費やし得る。一部の場合、設計者は地形の高さ、地形の植生、地形のテクスチャ、地形のレイヤ及び他の地形の特性に関する特性を編集し得る。地形の設計には膨大な作業量が必要となる場合があり得るため、多くの場合、複数の設計者及び他のユーザがそのプロセスに参加し互いに協力する必要があり得る。しかしながら、従来の開発インターフェースでは、多くの場合、地形の設計者間で効果的な共同作業を行うことが制限されていることがある。例えば、従来の開発インターフェースは、１つの大きなファイルに地形データを格納することによって作動することがあり、これは複数のユーザが同時に共同作業を行う有効性を低減し得るか、または全面的に妨害し得る。これにより、ゲーム開発プロセスのコスト及び複雑性が高まり、結果的に、望ましくない混乱及び遅延が発生し得る。
【０００３】
以下の詳細な説明は、添付の図面とあわせて読むことにより、より良好に理解され得る。例示の目的上、本開示の様々な態様の実施形態例が図面に示されるが、本発明は、開示される特定の方法及び手段に限定されない。
【図面の簡単な説明】
【０００４】
【図１】本開示により使用され得る、セクション化した地形の編集システムの例を例示する図である。
【図２Ａ】本開示により使用され得る、セクション化した地形データの例を例示する図である。
【図２Ｂ】本開示により使用され得る、セクション化した地形データの例を例示する図である。
【図３】本開示により使用され得る、セクション化した地形の編集システムの別の例を例示する図である。
【図４】本開示により使用され得る、地形編集インターフェースの例を例示する図である。
【図５Ａ】本開示により使用され得る、地形セクションアクセスレベルの指示の例を例示する図である。
【図５Ｂ】本開示により使用され得る、地形セクションアクセスレベルの指示の例を例示する図である。
【図６Ａ】本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。
【図６Ｂ】本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。
【図６Ｃ】本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。
【図６Ｄ】本開示により使用され得る、地形セクションのロード及びアンロードの例を例示する図である。
【図７Ａ】本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。
【図７Ｂ】本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。
【図７Ｃ】本開示により使用され得る、地形セクションのロックステータスの指示の例を例示する図である。
【図８】本開示により使用され得る、セクション化した地形の編集プロセスの例を例示するフロー図である。
【図９】本開示により使用され得る、データを送信及び提供するシステムの例を例示する図である。
【図１０】本開示により使用され得る、コンピューティングシステムの例を例示する図である。
【発明を実施するための形態】
【０００５】
セクション化した地形の編集の技法を本明細書に説明する。特に、一部の例では、ビデオゲームまたは他の電子的に提示されたコンテンツアイテムの仮想領域の少なくとも一部に関連する地形は、複数の地形セクションに分割されてよい。地形セクションのそれぞれは、これらが関連付けられているセクションに関する地形データを格納する１つまたは複数の関連するデータ集合を有してよい。このように地形を編成して地形に関連する地形データを格納することは、地形の設計及び編集に関していくつかの利点を提供し得る。例えば、様々な異なる地形の設計者及び他のユーザは、異なる地形セクションのチェックアウト及びロックの取得を同時に行い得る。これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ得、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
【０００６】
一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプにする、複数の異なる関連データ集合を有してよい。例えば、一部の場合、各地形セクションは、高さデータに関連するデータ集合、植生データに関連する別のデータ集合、テクスチャデータに関連する別のデータ集合及びレイヤデータに関連する別のデータ集合を有してよい。各地形セクションに対する複数のデータ集合の使用は、例えば、複数の異なるユーザが同じ地形セクションの異なる地形データを同時にチェックアウトしてロックを取得することを可能にすることによって、さらなる効率性を提供し得る。例えば、一部の場合、あるユーザが特定のセクションの高さデータをチェックアウトして編集している間に、別のユーザは同じセクションの植生データを同時にチェックアウトして編集してよい。
【０００７】
さらに、一部の例では、ユーザが編集のために地形セクションを効率的に選択し、ユーザが実行を望む編集操作のタイプ（例えば、高さ、植生、テクスチャ、レイヤなど）を選択し、地形セクションをチェックアウトし、別様にはアクセス権を取得して地形セクションを操作することが可能な、使い易く直感型のユーザインターフェースが提供され得る。一部の場合、インターフェースはさらに、様々な地形セクションのステータス情報を便利かつ自然な方法で提供し得る。例えば、一部の場合、１つまたは複数の地形セクションに関連するユーザのアクセスレベル（例えば、チェックアウト、書き込み可能、読み取り専用など）は、色分けされたセクション境界など、１つまたは複数の表示を使用するインターフェースによって示され得る。さらに、一部の例では、例えば、異なるそれぞれのユーザアクセスレベルを有する異なるタイプの地形データを有するセクションを示すために、多色の（例えば、破線）セクションの境界が使用され得る。別の例として、１つまたは複数の地形セクションのロックステータス（例えば、完全にロックされる、部分的にロックされる、ロックされないなど）が、１つまたは複数の表示を使用するインターフェースによって示されてもよい。
【０００８】
地形編集インターフェースはさらに、様々な他の操作を実行することが可能になり得る。例えば、一部の場合、特定のユーザが特定の地形セクションへの読み取り専用アクセスを有する場合、そのインターフェースは、ユーザがその地形セクションに関連する地形データをアンロードすることを可能にし得る。これにより、ユーザのシステムによってロードされるデータ量が削減され、複雑性が軽減され、性能が向上する可能性があり得る。さらに、そのセクションの地形データは読み取り専用で編集できないため、ユーザがそのセクションに地形データをロードしても得られる利益は（存在するにせよ）最低限であり得る。さらに、一部の例では、後に必要な場合には、アンロードされた地形セクションのデータを再ロードしてもよい。
【０００９】
図１は、本開示により使用され得る、セクション化した地形の編集システムの例を例示する図である。図１に示す通り、いくつかのクライアント１１０Ａ〜Ｎは、ビデオゲーム及び他のメディアアイテムなどの電子的に提示されるコンテンツアイテムの地形データを設計及び編集するための地形編集インターフェース１１１Ａ〜Ｎを実行してよい。以下で詳細に説明する通り、地形編集インターフェース１１１Ａ〜Ｎは、一般に、高さ、植生、テクスチャ、レイヤ及び他の特性などの様々なタイプの地形特性の設計及び編集を可能にし得る。一部の例では、設計及び編集プロセスを支援するために、地形編集インターフェースは、地形の全てまたは一部の図形表示を表示し得る。さらに図１に示す通り、地形編集インターフェース１１１Ａ〜Ｎは、クライアント１１０Ａ〜Ｎを介して、例えば、１つまたは複数のサーバ計算ノードを実行し得るセクション地形データマネージャ１２０と通信し得る。クライアント１１０Ａ〜Ｎ及びセクション地形データマネージャ１２０は、例えば、インターネットなどの１つまたは複数のローカルエリアネットワーク（ＬＡＮ）または１つまたは複数のワイドエリアネットワーク（ＷＡＮ）など、１つまたは複数の通信ネットワークを介して通信し得る。
【００１０】
セクション地形データマネージャ１２０は、地形が設計及び編集されているビデオゲームまたは他のコンテンツアイテムの仮想領域２１０に関する情報を受信し得る。図１に示す通り、セクション地形データマネージャ１２０は、仮想領域２１０をいくつかの異なる地形セクション２１１〜２２６に分割し得る。例えば、各地形セクション２１１〜２２６には、仮想領域２１０内の地形セクション２１１〜２２６を識別して定義する特定の関連座標値（例えば、Ｘ座標値及びＹ座標値）または他の位置識別子が割り当てられ得る。特に図１の例に示す通り、仮想領域２１０は、サイズの等しい１６個の四角形である地形セクション２１１〜２２６に分割された、四角形の仮想領域である。しかしながら、これは、地形セクションの単なる非限定的な例であり、開示された技法は、任意の形状及びサイズの仮想領域を、互いに同じまたは異なる形状及び／またはサイズを有する任意の数のセクションに分割するために利用され得ることに留意されたい。
【００１１】
以下で詳細に説明する通り、セクション地形データマネージャ１２０は、一般に、セクション化された地形データ１２１を管理することがあり、これには、保存、更新ならびにアクセス制御及び提供が含まれる。セクション化された地形データ１２１は、高さデータ、植生データ、テクスチャデータ、レイヤデータ及び他のデータなど、仮想領域２１０に関連する地形データを含む。特に、一部の例では、セクション化した地形データは、拡張可能マークアップ言語（ＸＭＬ）または地形データが関連付けられている地形の様々な特性を記述する他の言語もしくはフォーマットのデータを含み得る。一部の例では、セクション化された地形データ１２１は、地形セクション２１１〜２２６のそれぞれに対して、１つまたは複数の個別の（例えば、独立してアクセス可能な）データ集合を含み得る。例えば、次に図２Ａを参照すると、セクション化された地形データ１２１Ａの例は、地形セクション２１４に関連する地形データを含む地形データ集合２３４を含むことが分かる。セクション化された地形データ１２１Ａはさらに、地形セクション２１８に関連する地形データを含む別の個別のデータ集合２３８を含む。セクション化された地形データ１２１Ａはさらに、他の地形セクション２１１〜２１３、２１５〜２１７及び２１９〜２２６のそれぞれに関連する他の個別のデータ集合（図示せず）を含み得る。
【００１２】
このように地形及び地形に関連する地形データを分割することは、地形の設計及び編集に関していくつかの利点を提供し得る。例えば、様々な異なる地形の設計者及び他のユーザは、異なる地形セクションのチェックアウト及びロックの取得を同時に行い得る。上記の通り、これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。特に図１の例では、クライアント１１０Ａは、チェックアウトして地形セクション２１１の地形データのロックを取得したことが示される（クライアント１１０Ａに隣接する破線の地形セクション２１１を図示することによって示される）。さらに、クライアント１１０Ｂは、チェックアウトして地形セクション２１５の地形データのロックを取得した（クライアント１１０Ｂに隣接する破線の地形セクション２１５を図示することによって示される）。さらに、クライアント１１０Ｎは、チェックアウトして地形セクション２２０及び２２１の地形データのロックを取得した（クライアント１１０Ｎに隣接する破線の地形セクション２２０及び２２１を図示することによって示される）。
【００１３】
一部の例では、データをチェックアウトし、編集し、チェックインするプロセスは、クライアント１１０Ａ〜Ｎ及び地形データマネージャ１２０によってまとめて実行されてよい。例えば、一部の場合、クライアント１１０Ａは、地形編集インターフェース１１１Ａを介して、地形セクション２１１に関連する地形データをチェックアウトする要求をセクション地形データマネージャ１２０に発行し得る。セクション地形データマネージャは、その後、地形セクション２１１に関連する地形データ集合にロックを適用してよく、これにより、クライアント１１０Ａのユーザ以外のユーザは、地形セクション２１１がロックされている間は、地形セクション２１１に関連する地形データ集合への変更を保存することができない。クライアント１１０Ａは、その後、地形編集インターフェース１１１Ａを使用して、地形セクション２１１の地形の様々な編集を行い得る。クライアント１１０Ａは、その後、地形編集インターフェース１１１Ａを介して、地形セクション２１１に関連する地形データをチェックインする要求をセクション地形データマネージャ１２０に発行し得る。セクション地形データマネージャ１２０は、その後、地形セクション２１１に関連する地形データ集合への１つまたは複数の編集に関連するデータを保存し、データ集合のロックを解除し得る。
【００１４】
一部の例では、各地形セクションは、例えば、地形編集操作の異なるタイプに関連する、複数の異なる関連データ集合を有してよい。例えば、一部の場合、各地形セクションは、高さデータに関連するデータ集合、植生データに関連する別のデータ集合、テクスチャデータに関連する別のデータ集合及びレイヤデータに関連する別のデータ集合を有してよい。地形の高さデータは、例えば、様々な地形の地理的タイプ（例えば、山、崖、谷、水域など）に基づき得るなど、仮想領域内の様々な位置（例えば、Ｘ、Ｙ座標値）の高さの値に関連するデータを含み得る。地形の植生データは、例えば、地形の植生タイプ（例えば、草、植物、葉など）、場所、量、密度及び他のデータに関連するデータを含み得る。テクスチャデータは、例えば、拡散テクスチャ、位置的明度、テクスチャレイヤ及び他のデータに関連するデータを含み得る。地形のレイヤデータは、例えば、地形オブジェクト（例えば、石、木など）、場所、量、密度及び他のデータに関連するデータを含み得る。
【００１５】
次に図２Ｂを参照すると、セクション化された地形データ１２１Ｂの例は、地形セクション２１４に関連する地形データを含む複数の個別のデータ集合２３４Ａ〜Ｄを含み得ることが分かる。特に、高さデータ集合２３４Ａは、地形セクション２１４に関連する地形の高さデータを含む。植生データ集合２３４Ｂは、地形セクション２１４に関連する地形の植生データを含む。テクスチャデータ集合２３４Ｃは、地形セクション２１４に関連する地形のテクスチャデータを含む。レイヤデータ集合２３４Ｄは、地形セクション２１４に関連する地形のレイヤデータを含む。セクション化された地形データ１２１Ｂはさらに、地形セクション２１８に関連する地形データを含む複数の個別のデータ集合２３８Ａ〜Ｄを含む。セクション化された地形データ１２１Ｂはさらに、他の地形セクション２１１〜２１３、２１５〜２１７及び２１９〜２２６のそれぞれに関連する他の複数の個別のデータ集合（図示せず）を含み得る。
【００１６】
上記の通り、各地形セクションに対する複数のデータ集合の使用は、例えば、複数の異なるユーザが同時にチェックアウトして同じ地形セクションの異なる地形データへのロックを取得することを可能にすることによって、さらなる効率性を提供し得る。次に図３を参照すると、複数の異なるユーザが、同時にチェックアウトして同じ地形セクションの異なるタイプの地形データを編集する例が示されている。特に図３の例では、クライアント１１０Ａは、チェックアウトして地形セクション２１１の高さデータのロックを取得したことが示される（クライアント１１０Ａに隣接する破線ボックス２１１Ａによって示される）。さらに、クライアント１１０Ｂは、チェックアウトして地形セクション２１１の植生データのロックを取得した（クライアント１１０Ｂに隣接する破線ボックス２１１Ｂによって示される）。さらに、クライアント１１０Ｎは、チェックアウトして地形セクション２１１のテクスチャ及びレイヤデータのロックを取得した（クライアント１１０Ｎに隣接する破線ボックス２１１Ｂ及び２１１Ｃによって示される）。
【００１７】
ゆえに、上記の通り、セクション化された地形及び地形データは、地形の編集及び設計のための効率的で信頼可能なマルチユーザによる共同作業を可能にし得る。開示された技法による地形編集インターフェースの一部の特性の例を、ここで詳細に説明する。特に、次に図４を参照すると、地形編集インターフェース１１１の例は、セクション編集領域４５０及びチェックアウト・セクション・ツール４１０を含む。一般に、セクション編集領域４５０では、高さ、植生、テクスチャ、レイヤ及び他の地形特性の編集など、様々なタイプの地形編集操作の実行が可能になり得る。特に図４の例では、セクション編集領域４５０は、地形セクション２１１〜２２６の表示を含む。一部の例では、セクション編集領域４５０は、セクション編集領域４５０が含む地形セクション内の地形の図形表示を提供し得る。例えば、セクション編集領域４５０は、例えば、高さ、植生、テクスチャ、レイヤ及び他の地形の特性など、地形特性の図形描写を含む、地形セクション２１１〜２２６の図形表示を含み得る。セクション編集領域４５０では、さらに、ユーザが様々な地形セクションを選択してナビゲートすることが可能になり得る。
【００１８】
以下で詳細に説明する通り、チェックアウト・セクション・ツール４１０は、チェックアウト、戻る、ロード、アンロード、更新、データ表示、チェックイン、セクション境界の表示、セクション情報の表示及びその他など、地形セクション及び地形セクションに関連するデータ集合に関する様々な操作を実行可能にし得る。特に、チェックアウトボタン４２１により、ユーザは、１つまたは複数の地形セクションに関連する１つまたは複数のデータ集合をチェックアウトすることが可能になり得る。例えば、一部の場合、ユーザは、セクション編集領域４５０にある１つまたは複数の地形セクションをチェックアウトのために選択し得る。特に図４の例では、地形セクション２１６、２１７、２２０及び２２１が選択されていることが分かり、これらは地形セクションを囲む太線で示される。一部の例では、地形セクション２１６、２１７、２２０及び２２１は、マウス、タッチスクリーン、キーボード及び／または他の入力制御を使用して選択され得る。地形セクションを選択することに加えて、選択された地形セクションに関連する１つまたは複数の特定のタイプのデータも、例えば、チェックアウト・セクション・ツール４１０のチェックボックス４１１〜４１４を使用して選択され得る。特に、チェックボックス４１１は高さデータ集合を選択するためのものであり、チェックボックス４１２は植生データ集合を選択するためのものであり、チェックボックス４１３はテクスチャデータ集合を選択するためのものであり、チェックボックス４１４はレイヤデータ集合を選択するためのものである。特に図４の例では、植生チェックボックス４１２及びテクスチャチェックボックス４１３が選択されている。しかしながら、他の例では、例えば、チェックボックス４１１〜４１４のいずれかまたは全てを含む、チェックボックス４１１〜４１４の他の異なる組み合わせが選択され得ることに留意されたい。
【００１９】
一部の例では、１つまたは複数の地形セクション（例えば、図４のセクション２１６、２１７、２２０及び２２１）及び１つまたは複数のデータタイプ（例えば、図４の植生及びテクスチャ）を選択すると、ユーザは、チェックアウト・セクション・ツール４１０を使用して、これらの選択に関して１つまたは複数の操作を実行し得る。特に、チェックアウトボタン４２１を選択すると、上述の通り、選択されたデータタイプの選択されたセクションがチェックアウトされることがある。戻るボタン４２２の選択により、選択されたデータタイプの選択されたセクションに戻り、選択されたセクションに対する編集が取り消され、選択されたセクションは最後の保存状態または同期状態に戻る。ボタン４２３または４２４の選択により、選択されたセクションがロードまたはアンロードされることがあり、これについては、図６Ａ〜Ｃを参照して以下で詳細に説明する。チェックインボタン４２７を選択すると、上述の通り、選択されたデータタイプの選択されたセクションがチェックインされることがある。一部の場合、例えば、意図しないチェックインまたは間違ったチェックインを避けるために、チェックインの確認を要求するポップアップメッセージなど、地形データをチェックインするための他のコントロール、チェックアウト・セクション・ツール４１０の外部のコントロール及びその他が使用され得る。
【００２０】
更新ボタン４２５の選択は、全ての地形セクション２１１〜２２６に作用することがあり、地形セクション２１１〜２２６のロック状態を、セクション地形データマネージャ１２０からの対応する状態と同期させることがある。更新ボタン４２５は、例えば、ユーザが最近オフラインで作業した（例えば、セクション地形データマネージャ１２０に接続されていない）場合、または特定のデータ集合がセクション地形データマネージャ１２０にチェックインされている場合に使用されることがあり得る。データ表示ボタン４２６の選択は、基礎となるＸＭＬまたはセクション化された地形データ１２１内の１つまたは複数のデータ集合の他のデータをユーザに表示させ得る。ボタン４２１〜４２７に加えて、チェックアウト・セクション・ツール４１０は、地形編集インターフェース１１１のユーザへの情報の表示のためのさらなるオプションを提供し得るチェックボックス４４１及び４４２をさらに含む。特に、チェックボックス４４１は、例えば、図４に図示したようなセクション２１１〜２２６の境界をセクション編集領域４５０に表示させるために選択され得る。チェックボックス４４１を選択解除する（例えば、チェックを外す）と、セクション境界が表示されないことがある。以下でさらに詳細に説明する通り、チェックボックス４４２は、セクション編集領域４５０に、例えば、チェックアウトされているかどうか、書き込み可能かどうか、読み取り専用かどうか及び他の情報など、様々な地形セクション２１１〜２２６に関する情報を表示させるために選択され得る。
【００２１】
図４の地形編集インターフェース１１１は、非限定的な地形編集インターフェースの例として提供されるに過ぎず、開示された技法に従って、追加または代替的なコントロール及び機能性を有する多くの他のインターフェースを使用してよいことに留意されたい。例えば、一部の場合、ユーザにチェックアウトされていない地形セクション及び／または地形データのタイプ（例えば、高さ、植生、テクスチャ、レイヤ）をユーザが編集し始める場合、地形編集インターフェース１１１は、地形セクション及び／または地形データタイプがユーザにチェックアウトされないこと及び／または他のユーザによってロックされていることを、例えば、ポップアップメッセージまたは他の表示を使用してユーザに促し得る。一部の例では、他のユーザに連絡して地形セクション及び／またはデータタイプのチェックアウトを要求するために、あるいは別様には他のユーザとさらに共同作業するために、連絡先情報及び／またはインターフェース（例えば、チャット、電子メール、テキスト、電話など）がユーザに提供され得る。さらに、一部の例では、ユーザにチェックアウトされた地形セクション及び／または地形データタイプをユーザが編集している場合であっても、地形編集インターフェース１１１は、ユーザによって行われた編集が無効になり得ること、あるいは別様には別のユーザによって行われる編集に悪影響を及ぼすことを判断し得る。例えば、第１のユーザが地形セクションの高さを編集している間に、これらの高さの編集が、同じ地形セクション内の第２のユーザによって行われる勾配制限を有するテクスチャ編集を無効にする可能性があると判断し得る。このような例では、他に影響を受けるユーザ（複数可）の連絡先または他の情報と併せて、警告または他の表示が潜在的に競合している第１または第２のユーザに表示されてよい。
【００２２】
ゆえに、上述の通り、地形編集インターフェース１１１は、チェックアウト及び選択されたセクション及び選択された地形データタイプについての様々な他の操作の実行を可能にし得る。一部の例では、地形編集インターフェース１１１が、例えば、ユーザが地形セクションに関連する自分のアクセスレベル（例えば、チェックアウトされる、ローカルに書き込み可能、読み取り専用など）を迅速かつ容易に判断できるように、様々な地形セクションのステータス情報を提供することは有益となり得る。一部の場合、地形編集インターフェース１１１は、色分けされたセクション境界などの１つまたは複数の視覚指示を使用してこのステータス情報を提供し得る。次に図５Ａを参照し、地形セクションアクセスレベルの視覚指示の一部の例を、ここで詳細に説明する。特に、図５Ａは、地形編集インターフェースのセクション編集領域内に表示され得るような、６つの地形セクション５１１〜５１６の表示の例を図示する。図５Ａに示す通り、地形セクション５１１〜５１６のそれぞれは、地形編集インターフェースのユーザに対して少なくとも部分的に異なるアクセスレベルステータスを有する。特に、地形セクション５１１は、完全に読み取り専用のステータスを有し、これはユーザがセクション５１１の全てのデータタイプ（例えば、高さ、植生、テクスチャ、レイヤ）への読み取り専用アクセスを有することを意味する。特定の地形セクションへの読み取り専用アクセスを有するデータタイプは、その地形セクションでは編集できない。地形セクション５１２は、完全に書き込み可能なステータスを有し、これはユーザがセクション５１２の全てのデータタイプへの書き込み可能なアクセスを有することを意味する。特定の地形セクションにおいて書き込み可能なアクセスを有するデータタイプは、その地形セクションにおいて編集可能であるが、他のユーザによってチェックアウトされ得る。地形セクション５１３は、完全にチェックアウトされるステータスを有し、これはユーザがセクション５１３の全てのデータタイプをチェックアウトしたことを意味する。地形セクション５１４及び５１５は、部分的に読み取り専用及び部分的にチェックアウトされるステータスを有し、これはユーザがセクション５１４及び５１５のそれぞれの１つまたは複数のデータタイプへの読み取り専用アクセスを有し、セクション５１４及び５１５のそれぞれの１つまたは複数のデータタイプをチェックアウトしたことを意味する。地形セクション５１６は、部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを有し、これはユーザがセクション５１６の１つまたは複数のデータタイプへの読み取り専用アクセスを有し、セクション５１６の１つまたは複数のデータタイプをチェックアウトし、セクション５１６の１つまたは複数のデータタイプへの書き込み可能アクセスを有することを意味する。
【００２３】
さらに図５Ａに示す通り、セクション５１４とセクション５１５との間の境界を除いて、セクション５１１〜５１６の境界がそれぞれ図示されている。図５Ａの例では、上述の通り、セクション５１４及び５１５が同一のステータス（すなわち、部分的にチェックアウトされる及び部分的に読み取り専用）を共有するため、セクション５１４及び５１５の間の境界は示されていない。ゆえに、これらのセクション間の境界を取り消すことにより、ユーザは、それらが同一のステータスを共有していることを迅速かつ容易に識別することができる。さらに、図５Ａの例では、表示された境界は、ユーザがそれらの境界で囲まれた特定の地形セクションのステータスを迅速かつ容易に識別するのを支援するために色分けされてよい。例えば、図５Ａのそれぞれ表示された地形セクション境界は、対応する境界の色を示す略語を含む色表示タブ５００を有する。具体的には、キー５１０に示す通り、略語Ｒは赤色の実線の境界を指し、完全に読み取り専用のステータスを指す。略語Ｂは青色の実線の境界を指し、これは完全に書き込み可能なステータスを指す。略語Ｇは緑色の実線の境界を指し、これは完全にチェックアウトされるステータスを指す。略語ＲＧは赤色及び緑色の破線の境界を指し、これは部分的に読み取り専用及び部分的にチェックアウトされるステータスを指す。略語ＲＧＢは赤色、緑色及び青色の破線の境界を指し、これは部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを指す。
【００２４】
図５Ａの例では、地形セクション５１１が完全に読み取り専用であることを示すために、地形セクション５１１は赤色の実線の境界で囲まれる（または部分的に囲まれる）。地形セクション５１１の上部及び左側の境界は、他の表示された地形セクションのいずれとも共有されない、非共有境界であることに留意されたい。ゆえに、この例では、地形セクション５１１の上部及び左側の境界の色表示タブ５００は、赤い実線を使用して示されることを指す略語Ｒを含む。対照的に、地形セクション５１１の下部及び右側の境界は、他の地形セクションと共有される、共有境界である。例えば、地形セクション５１１の右側の境界は、地形セクション５１２と共有される。ゆえに、この例では、地形セクション５１１の右側の境界の色表示タブ５００は、この境界が（地形セクション５１１に対応する）赤色の実線または（地形セクション５１２に対応する）青色の実線のいずれかを使用して表示され得ることを指す略語Ｒ／Ｂを含む。キー５１０によって示される通り、色表示タブ５００内のフォワードスラッシュ（／）記号は、隣接するいずれかの地形セクションの色（複数可）を含み得る共有境界を示す。
【００２５】
地形セクション５１１に加えて、図５Ａはさらに、地形セクション５１１が完全に書き込み可能であることを示すために、地形セクション５１２は青色の実線の境界で囲まれる（または部分的に囲まれる）。地形セクション５１３が完全にチェックアウトされることを示すために、地形セクション５１３は緑色の実線の境界で囲まれる（または部分的に囲まれる）。地形セクション５１４及び５１５は、地形セクション５１４及び５１５が部分的に読み取り専用及び部分的にチェックアウトされることを示すために、赤色及び緑色の破線の境界で囲まれる（または部分的に囲まれる）。地形セクション５１６は、地形セクション５１６が部分的に読み取り専用、完全にチェックアウトされる、及び部分的に書き込み可能であることを示すために、赤色、緑色及び青色の破線の境界で囲まれる（または部分的に囲まれる）。一部の例では、図５Ａの色分けされた境界表示は、一部の場合には、例えば、基礎となる図形または他のデータの干渉またはブロックを最小限（存在する場合）に抑えつつ、ユーザによって容易に認識され識別可能であり得るなど、いくつかの理由により有利であり得る。しかしながら、図５Ａの色分けされた境界表示は、地形セクションのステータスの単に一部の表示例に過ぎず、多くの他の追加または代替的な表示が、他の視覚的、音声的、触覚的及びさらなる表示タイプを含む開示された技法に従って使用され得ることに留意されたい。
【００２６】
一部の例では、地形編集インターフェースは、様々な地形セクションのステータスのより詳細な説明を提供し得る。次に図５Ｂを参照すると、地形編集インターフェースは、各地形セクション５１１〜５１６についてそれぞれの個々のデータタイプのステータスの視覚指示を提供することがあることが分かる。例えば、地形セクション５１６の場合、地形セクション５１６を囲む（または部分的に囲む）赤色、緑色及び青色の境界は、部分的に読み取り専用、部分的にチェックアウトされる及び部分的に書き込み可能なステータスを示し得る。しかしながら、この色分けされた境界があっても、ユーザは、どのデータタイプ（例えば、高さ、植生、テクスチャ、レイヤなど）が読み取り専用か、書き込み可能か、またはチェックアウトされるかを認識できない。しかしながら、図５Ｂの例では、付加的なテキスト情報が地形セクション５１６に表示され、これは、地形セクション５１６について、ユーザが高さデータをチェックアウトし、植生データへの書き込み可能なアクセス権を有し、テクスチャ及びレイヤデータへの読み取り専用アクセスを有することを示す。さらに、付加的なテキスト情報が、地形セクション５１４及び５１５に表示され、これは、地形セクション５１４及び５１５について、ユーザは植生データをチェックアウトし、高さ、テクスチャ及びレイヤデータへの読み取り専用アクセスを有することを示す。一部の例では、ユーザは、例えば、セクション情報表示ボタン４４２を選択することによって、図５Ａ及び／または図５Ｂに示すような地形セクションのステータス情報を、図４のチェックアウト・セクション・ツール４１０を使用して表示することを要求し得る。
【００２７】
上記の通り、地形編集インターフェース１１１は、一部の場合、様々な地形セクションの地形の図形表示を表示し得る。理解される通り、地形特性の図形表示は、地形の設計及び編集のプロセスにおいて地形の設計者を支援し得る。しかしながら、地形特性の図形表示に関連する１つの欠点は、一部の場合、特に、大量の地形を含む大きな仮想領域を表示する場合、大量のデータをメモリにロードする必要があり得ることである。一部の場合、これは、応答速度を下げる可能性があり得、別様には、地形編集インターフェース１１１の性能を阻害し得る。一部の例では、メモリに格納されたデータ量の削減を支援するために、地形編集インターフェースは、完全に読み取り専用な地形セクションの地形データをアンロードできるようにしてよく、これによって、表示された地形の複雑性を管理し、地形編集インターフェース１１１の応答性及び性能を改善することに役立ち得る。さらに、一部の例では、このデータが後続的にユーザによって望まれる場合、ユーザはさらに、例えば、地形特性が再度ユーザに表示され得るよう、地形編集インターフェース１１１にデータを再ロードすることを要求し得る。
【００２８】
地形セクションのロード及びアンロードの一部の例を、ここで図６Ａ〜図６Ｄに関して説明する。特に、図６Ａを参照すると、ユーザは、地形セクション５１１を囲む太線の境界によって示されるように、完全に読み取り専用の地形セクション５１１を選択したことが分かる。図６Ａの例では、地形セクション５１１の地形データが現在ロードされている。しかしながら、さらにアンロードボタン４２４を囲む太線によって示されるように、ユーザは、アンロードボタン４２４を選択するプロセス中であることが図６Ａにおいて分かる。選択後、アンロードボタン４２４は地形セクション５１１に関連する地形データを、地形編集インターフェース１１１によってメモリからアンロードさせる。図６Ｂは、アンロードボタン４２４の選択後の地形セクション５１１を表す。図６Ｂに示す通り、地形セクション５１１に関連する地形データは、図６Ｂの地形セクション５１１上に表示された太線Ｘによって示されるように、メモリからアンロードされた。地形セクション５１１の地形データのアンロードは、地形セクション５１１の地形特性の図形表現をセクション編集領域４５０に表示することを中止し得る。これによって、一部の例では、図６Ｂに示すＸで塞ぐのとは対照的に、地形セクション５１１の領域は、代わりに、ブラックボックスまたはその領域の地形の図形表示が取り消されたという他の表示で塞がれてもよい。
【００２９】
上記の通り、一部の例では、ユーザは、地形データがアンロードされた地形セクションの地形データをロードまたは再ロードしてもよい。次に図６Ｃを参照すると、ユーザは、図６Ｃの地形セクション５１１を囲む太線の境界によって示されるように、読み取り専用の地形セクション５１１を再度選択したことが分かる。図６Ｃの例では、地形セクション５１１を塞ぐＸによって示されるように、地形セクション５１１の地形データが現在アンロードされている。しかしながら、さらにロードボタン４２３を囲む太線の境界によって示されるように、ユーザは、ロードボタン４２３を選択するプロセス中であることが図６Ｃにおいて分かる。選択後、ロードボタン４２３は地形セクション５１１に関連する地形データを、地形編集インターフェース１１１によってメモリにロードさせる。図６Ｄは、ロードボタン４２３の選択後の地形セクション５１１を表す。図６Ｄに示す通り、地形セクション５１１に関連する地形データは、図６Ｂ及び図６Ｃの地形セクション５１１上に以前に表示された太線Ｘの削除によって示されるように、メモリにロードされた。地形セクション５１１の地形データのロードは、地形セクション５１１の地形特性の図形表現をセクション編集領域４５０に再び表示することを可能にし得る。
【００３０】
図５Ａ及び図５Ｂに関して上に記載した通り、地形編集インターフェース１１１は、様々な地形セクションのユーザのアクセスレベル（例えば、チェックアウト、書き込み可能、読み取り専用など）に関する表示を提供し得る。さらに、一部の例では、地形編集インターフェース１１１はさらに、１つまたは複数の地形セクションのロックステータス（例えば、完全にロックされる、部分的にロックされる、ロックされないなど）に関する表示を提供し得る。次に図７Ａ〜図７Ｃを参照すると、地形セクションのロックステータスの視覚指示の一部の例を、ここで詳細に説明する。特に、図７Ａは、地形編集インターフェースのセクション編集領域内に表示され得るような、地形セクション７１１の表示の一例を図示する。図７Ａに示す通り、地形セクション７１１は、完全にロックされているテキスト表示を含み、これは、地形編集インターフェース１１１の１人または複数の他のユーザによって全てのデータタイプ（例えば、高さ、植生、テクスチャ、レイヤ）がチェックアウトされていることを意味する。次に図７Ｂを参照すると、地形セクション７１１が部分的にロックされているテキスト表示を含む第２の例が示されており、これは、地形編集インターフェース１１１の少なくとも１人の他のユーザによって少なくとも１つのデータタイプがチェックアウトされていることを意味する。しかしながら、図７Ｂの表示は、どの個別データタイプが、どの特定の他のユーザによってチェックされているかを特定しないことに留意されたい。最後に、図７Ｃを参照すると、地形セクション７１１が、どの個別データタイプが、どの特定の他のユーザによってチェックアウトされているかを示すテキスト表示を含む第３の例が示されている。特に、図７Ｃは、この例では、ユーザＸによって高さデータがチェックアウトされ、植生、テクスチャ及びレイヤデータは読み取り専用であるため、他のユーザにチェックアウトされないことを示している。上記の通り、一部の例では、図７Ｃの表示を見ているユーザが、ユーザＸに連絡し、地形セクション７１１のチェックアウト及び／またはさらなる共同作業を要求するために、連絡先情報及び／または通信インターフェースをユーザＸに提供してもよい。
【００３１】
図８は、本開示により使用され得る、セクション化された地形の編集プロセスの例を例示するフロー図である。図示の通り、図８のプロセスは、動作８１０で開始し、ここでは、ビデオゲームなどの電子的に提示されるコンテンツアイテムに関連する仮想領域の少なくとも一部の地形が複数の地形セクションに分割される。動作８１０は、例えば、異なる座標（例えば、Ｘ座標、Ｙ座標）の範囲もしくは値または他の位置識別子を関連付けるか、または異なる地形セクションに割り当てることによって実行され得る。特に図１の例では、仮想領域２１０は、サイズの等しい１６個の四角形である地形セクション２１１〜２２６に分割される。上記の通り、開示された技術に従って、地形セクションの他の量、形状、サイズなども使用され得る。
【００３２】
動作８１２では、複数の地形セクションに関連する複数の地形データ集合が、例えば、図１のセクション地形データマネージャ１２０によって保持される。上記の通り、一部の例では、複数の地形セクションのそれぞれは、複数の地形データ集合の少なくとも１つの関連する地形データ集合を有し得る。例えば、一部の場合、各地形セクションの全ての地形データは、例えば、図２Ａに示す通り、地形セクションに関連する単一の地形データ集合内に維持されてよい。他の例では、１つまたは複数の地形セクションは、例えば、複数の異なるタイプの地形編集操作に関連する複数の関連する地形データ集合の関連するグループをそれぞれ有してよい。例えば、図２Ｂに示すような一部の場合、各地形セクションは、地形の高さデータに関連するデータ集合、地形の植生データに関連するデータ集合、地形のテクスチャデータに関連するデータ集合及び地形のレイヤデータに関連するデータ集合を含む、関連する地形データ集合グループを有し得る。上記の通り、一部の例では、同一のデータ集合グループ内の地形データ集合を、同じまたは異なるユーザによって同時にチェックアウトするために利用可能にしてよい。
【００３３】
動作８１４では、第１の地形セクションに関連する第１の地形データ集合が、例えば、地形編集インターフェース１１１及び／またはセクション地形データマネージャ１２０によって第１のユーザにチェックアウトされる。第１の地形データ集合は、地形編集インターフェース１１１内の第１の地形セクションの地形の編集のために、チェックアウトされ得る。上記の通り、一部の例では、第１のユーザは、図４のセクション編集領域４５０内の第１の地形セクションを選択し、図４のチェックアウト・セクション・ツール４１０内の地形データタイプを（例えば、チェックボックス４１１〜４１４を介して、または他のコントロールを介して）選択し、チェックアウトコントロール（例えば、チェックアウトボタン４２１）を選択することによって、第１の地形データ集合のチェックアウトを要求し得る。他の例では、例えば、第１のユーザが地形編集インターフェース内の関連する地形データを編集する場合、及び第１の地形データ集合がまだ第１のユーザにチェックアウトされていないと判断された場合では、第１のユーザは第１のデータ集合をチェックアウトするように促され得る。上記の通り、第１の地形データ集合を第１のユーザにチェックアウトすることは、第１の地形データ集合のロックを含む及び／またはトリガして、第１のデータ集合が第１のユーザによってチェックアウト／ロックされている間には第１のユーザ以外のユーザが第１の地形データ集合への変更を保存できないようにし得る。
【００３４】
動作８１５Ａでは、第１の地形データ集合が第１のユーザにチェックアウトされる時間の少なくとも一部の間に、１つまたは複数の他の地形セクションに関連する１つまたは複数の他の地形データ集合は、第１のユーザ以外の１人または複数のユーザにチェックアウト可能になる。例えば、図１に示す通り、第１のユーザ（例えば、クライアント１１０Ａのユーザ）は、地形セクション２１１に関連する地形データ集合をチェックアウトしてよく、第２のユーザ（例えば、クライアント１１０Ｂのユーザ）は、地形セクション２１５に関連する地形データ集合を同時にチェックアウトしてよく、第３のユーザ（例えば、クライアント１１０Ｎのユーザ）は、地形セクション２２０及び２２１に関連する地形データ集合を同時にチェックアウトしてよい。上記の通り、これにより、複数の異なるユーザが、地形の異なる部分を同時に編集することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
【００３５】
８１５Ｂでは、第１の地形セクションに関連する他の地形データ集合が存在しない場合、プロセスは動作８１６に進む。８１５Ｂでは、対照的に、第１の地形セクションに関連する他の地形データ集合が存在する場合、プロセスは動作８１５Ｃに進み、ここで、第１の地形セクションに関連する１つまたは複数の他の地形データ集合が第１のユーザ以外の１人または複数のユーザに利用可能になる。例えば、図１に示す通り、第１のユーザ（例えば、クライアント１１０Ａのユーザ）は、地形セクション２１１の地形の植生データに関連する地形データ集合をチェックアウトしてよく、第２のユーザ（例えば、クライアント１１０Ｂのユーザ）は、地形セクション２１１の地形の高さデータに関連する地形データ集合を同時にチェックアウトしてよく、第３のユーザ（例えば、クライアント１１０Ｎのユーザ）は、地形セクション２１１の地形のテクスチャデータ及び地形のレイヤデータに関連する地形データ集合を同時にチェックアウトしてよい。上記の通り、これにより、複数の異なるユーザが、異なるタイプの編集操作を地形の同じ部分に同時に実行することができ、これらのユーザの編集の保存が成功し、他のユーザによって行われた編集と競合しないという期待及び信頼が得られる。
【００３６】
動作８１６では、一定の期間が経過後、第１の地形データ集合が、例えば、地形編集インターフェース１１１及び／またはセクション地形データマネージャ１２０によって第１のユーザからチェックインされる。上記の通り、一部の例では、第１のユーザは、チェックインボタン４２７及び／または他のコントロールを使用して、第１の地形データ集合のチェックインを要求し得る。さらに上記の通り、第１の地形データ集合を第１のユーザからチェックインすることは、第１の地形データ集合のロック解除を含む及び／またはトリガして、第１のユーザ以外のユーザが第１の地形データ集合をチェックアウトできるようにし得る。動作８１８では、第１のデータ集合が第１のユーザにチェックアウトされる間に、第１の地形データ集合に関連して第１のユーザによって行われる１つまたは複数の編集に対応するデータは、第１のデータ集合に保存される。第１の地形データ集合への第１のユーザの編集が適切に保存されることを確認するために、動作８１８で行われるデータの保存は、第１の地形データ集合を任意の他のユーザにチェックアウトすることを許可する前に行われ得ることに留意されたい。
【００３７】
さらに上記の通り、図８の編集プロセスと組み合わせて、開示された技法による地形編集インターフェースは、地形編集操作で効率的に共同作業を行うのを支援するためのいくつかの追加の機能を提供し得る。例えば、上記の通り、地形編集インターフェースは、地形セクションが、第１のユーザによってチェックアウトされる、第１のユーザによって書き込み可能である、または第１のユーザによって読み取り専用でアクセス可能であることの少なくとも１つである、少なくとも１つの関連する地形データ集合を有するかどうかの１つまたは複数の表示を提供し得る。これらの表示には、例えば、図５Ａ〜図５Ｂの例に示すような、１つまたは複数の色分けされた地形セクションの境界を含み得る。さらに、一部の例では、地形編集インターフェースは、図６Ａ〜図６Ｄの例に示すように、ユーザが読み取り専用アクセス権を有する地形セクションに関連する地形データをメモリからアンロードすることを可能にし得る。さらに、一部の例では、地形編集インターフェースは、図７Ａ〜図７Ｃの例に示すように、地形セクションがロックされている他のユーザの表示と共に、地形セクションがロックされているか、または部分的にロックされているという１つまたは複数の表示を提供する。地形編集インターフェースの他の多くの追加機能については、さらに上で詳細に説明しており、ここでは繰り返さない。
【００３８】
データを送信及び提供するシステムの例を、ここで詳細に説明する。特に、図９は、本明細書に記載される実施形態が実装され得るコンピューティング環境の例を例示する。図９は、コンピューティングリソースを、通信ネットワーク７３を介してユーザコンピュータ７２ａ及び７２ｂを介して（これらは本明細書では、単数でコンピュータ７２または複数でコンピュータ７２と呼ばれる場合がある）ユーザ７０ａ及び７０ｂ（これらは本明細書では単数でユーザ７０または複数でユーザ７０と呼ばれる場合がある）に提供することができるデータセンタ８５の例を概略的に例示する図である。データセンタ８５は、アプリケーションを永続的にまたは必要に応じて実行するためにコンピューティングリソースを提供するように構成されてよい。データセンタ８５によって提供されるコンピューティングリソースは、例えば、ゲートウェイリソース、ロードバランシングリソース、ルーティングリソース、ネットワーキングリソース、コンピューティングリソース、揮発性及び不揮発性メモリリソース、コンテンツ配信リソース、データ処理リソース、データストレージリソース、データ通信リソースなどの様々なタイプのリソースを含んでよい。コンピューティングリソースの各タイプは、いくつかの特殊な構成において利用可能であってよい。例えば、データ処理リソースは、様々なウェブサービスを提供するように構成され得る仮想マシンインスタンスとして利用可能であってよい。加えて、リソースの組み合わせは、ネットワークを介して利用可能になる場合があり、１つまたは複数のウェブサービスとして構成される場合もある。インスタンスは、例えば、アプリケーションサービス、メディアサービス、データベースサービス、プロセッシングサービス、ゲートウェイサービス、ストレージサービス、ルーティングサービス、セキュリティサービス、暗号化サービス、ロードバランシングサービス、アプリケーションサービスなどのウェブサービスを含めたアプリケーションを実行するように構成されてよい。これらのサービスは、セットアプリケーションまたはカスタムアプリケーションによって構成可能な場合があり、サイズ、実行、コスト、レイテンシ、タイプ、持続期間、アクセシビリティで及び任意の他の寸法で構成可能であってよい。これらのウェブサービスは、１つまたは複数のクライアントに利用可能なインフラストラクチャとして構成される場合もあり、１つまたは複数のクライアントのプラットフォームまたはソフトウェアとして構成された１つまたは複数のアプリケーションを含むことができる。これらのウェブサービスは、１つまたは複数の通信プロトコルを介して利用可能になり得る。これらの通信プロトコルは、例えば、ハイパーテキストトランスファプロトコル（ＨＴＴＰ）またはＨＴＴＰ以外のプロトコルを含んでよい。このような通信プロトコルはまた、例えば、伝送制御プロトコル（ＴＣＰ）などのより信頼できるトランスポート層プロトコル、及びユーザデータグラムプロトコル（ＵＤＰ）などの信頼性の低いトランスポート層プロトコルを含む場合もある。データストレージリソースは、ファイルストレージデバイス、ブロックストレージデバイスなどを含む場合がある。
【００３９】
コンピューティングリソースの各タイプまたは構成は、例えば、多くのプロセッサ、大容量メモリ及び／または大規模ストレージ容量で構成された大規模リソース、ならびにより少ないプロセッサ、小容量メモリ及び／またはより小規模のストレージ容量で構成された小規模リソースなど、様々なサイズで利用可能であってよい。顧客は、例えば、いくつかの小規模な処理リソースをウェブサーバとして割り当て、及び／または１つの大規模な処理リソースをデータベースサーバとして割り当てるように選択してよい。
【００４０】
データセンタ８５は、コンピューティングリソースを提供するサーバ７６ａ及び７６ｂ（これらは本明細書では、単数でサーバ７６または複数でサーバ７６と呼ばれる場合がある）を含んでよい。これらのリソースは、ベアメタルリソースとしてまたは仮想マシンインスタンス７８ａ〜ｄ（これらは本明細書では、単数で仮想マシンインスタンス７８または複数での仮想マシンインスタンス７８と呼ばれる場合がある）として利用可能であってよい。仮想マシンインスタンス７８ｃ及び７８ｄは、セクション化された地形編集仮想マシン（「ＳＴＥＶＭ」）インスタンスである。ＳＴＥＶＭ仮想マシンインスタンス７８ｃ及び７８ｄは、シングルトン調整技法の及び／または本開示及び上記の詳細な記載に従って開示された技法の、全てもしくは任意の一部を実行するように構成されてよい。理解される通り、図９に例示される特定の例は、各サーバ内に１つのＳＴＥＶＭ仮想マシンを含んでいるが、これは単なる一例である。サーバは、２つ以上のＳＴＥＶＭ仮想マシンを含む場合がある、またはＳＴＥＶＭ仮想マシンを全く含まない場合もある。
【００４１】
コンピューティングハードウェアの仮想化技術の可用性は、顧客に対して大規模なコンピューティングリソースを提供し、コンピューティングリソースが複数の顧客の間で有効にかつ安全に共有されることを可能にする利点を有する。例えば、仮想化技術は、各ユーザに、物理的コンピューティングデバイスによってホストされる１つまたは複数の仮想マシンインスタンスを提供することによって、物理的コンピューティングデバイスを複数のユーザ間で共有することを可能にすることができる。仮想マシンインスタンスは、別個の論理コンピューティングシステムとして作用する特定の物理的コンピューティングシステムのソフトウェアエミュレーションであってよい。このような仮想マシンインスタンスは、所与の物理的コンピューティングリソースを共有する複数のオペレーティングシステムの間に分離をもたらす。さらに一部の仮想化技術は、例えば、複数の別個の物理的コンピューティングシステムにまたがる複数の仮想プロセッサを有する単一の仮想マシンインスタンスなど、１つまたは複数の物理リソースにまたがる仮想リソースを提供する場合もある。
【００４２】
図９を参照すると、通信ネットワーク７３は、例えば、接続されたネットワークの公的にアクセス可能なネットワークであってよく、場合によっては、インターネットなど様々な別個の関係者によって操作される場合もある。他の実施形態では、通信ネットワーク７３は、例えば、権利を認められないユーザに対して全体的にまたは一部がアクセス不可能な企業または大学のネットワークなどのプライベートネットワークである場合もある。さらに他の実施形態では、通信ネットワーク７３は、インターネットへのアクセス権及び／またはインターネットからのアクセス権を有する１つまたは複数のプライベートネットワークを含む場合もある。
【００４３】
通信ネットワーク７３は、コンピュータ７２へのアクセス権を提供してよい。ユーザコンピュータ７２は、ユーザ７０またはデータセンタ８５の他の顧客によって利用されるコンピュータであってよい。例えば、ユーザコンピュータ７２ａまたは７２ｂは、サーバ、デスクトップまたはラップトップパーソナルコンピュータ、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント（ＰＤＡ）、電子書籍リーダ、ゲームコンソール、セットトップボックスまたはデータセンタ８５にアクセスすることが可能な任意の他のコンピューティングデバイスであってよい。ユーザコンピュータ７２ａまたは７２ｂは、インターネット（例えば、ケーブルモデムまたはデジタルサブスクライバライン（ＤＳＬ）を介して）に直接接続されてよい。２つのユーザコンピュータ７２ａ及び７２ｂのみが図示されているが、複数のユーザコンピュータが存在し得ることを理解されたい。
【００４４】
ユーザコンピュータ７２はまた、データセンタ８５によって提供されるコンピューティングリソースの態様を構成するのに利用される場合もある。この点において、データセンタ８５は、ユーザコンピュータ７２上で実行中のウェブブラウザアプリケーションプログラムの使用を通してその動作の態様が構成され得るゲートウェイまたはウェブインターフェースを提供する場合がある。あるいは、ユーザコンピュータ７２上で実行中のスタンドアローンアプリケーションプログラムが、構成動作を実行するためにデータセンタ８５によって公開されるアプリケーションプログラミングインターフェース（ＡＰＩ）にアクセスする場合もある。データセンタ８５において利用可能な様々なウェブサービスの動作を構成するための他の機構も利用可能である。
【００４５】
図９に示されるサーバ７６は、上記に記載したコンピューティングリソースを提供するのに適切に構成されたサーバであってよく、１つまたは複数のウェブサービス及び／またはアプリケーションを実行するためにコンピューティングリソースを提供してよい。一実施形態において、コンピューティングリソースは、仮想マシンインスタンス７８である場合もある。仮想マシンインスタンスの例では、サーバ７６の各々は、仮想マシンインスタンス７８を実行することが可能なインターフェースマネージャ８０ａまたは８０ｂ（これらは本明細書では単数でインスタンスマネージャ８０または複数でのインスタンスマネージャ８０と呼ばれる場合がある）を実行するように構成されてよい。インスタンスマネージャ８０は、仮想マシンモニタ（ＶＭＭ）、または例えば、サーバ７６上での仮想マシンインスタンス７８の実行を可能にするように構成された別のタイプのプログラムであってよい。上記で論じた通り、仮想マシンインスタンス７８の各々は、アプリケーションの全てまたは一部を実行するように構成されてよい。
【００４６】
上に開示された実施形態は仮想マシンインスタンスの文脈を考察しているが、他のタイプの実装も本明細書に開示された概念及び技術を用いて利用することができることを理解されたい。例えば、本明細書に開示される実施形態は、仮想マシンインスタンスを利用しないコンピュータシステムと共に利用される場合もある。
【００４７】
図９に示されるデータセンタ８５の例では、ルータ７１は、サーバ７６ａ及び７６ｂを相互に接続するのに利用されてよい。ルータ７１はまた、通信ネットワーク７３に接続されるゲートウェイ７４に接続される場合がある。ルータ７１は、１つまたは複数のロードバランサに接続されてよく、単独でまたは組み合わせて、例えば、パケットまたは他のデータ通信をそのような通信の特徴（例えば、ソース及び／または宛先アドレス、プロトコル識別子、サイズ、処理要件などを含めたヘッダ情報）及び／またはプライベートネットワークの特徴（例えば、ネットワークトポロジに基づいたルートなど）に基づいて必要に応じて送信することによってデータセンタ８５のネットワークの範囲内での通信を管理してよい。簡素化のために、コンピューティングシステム及びこの例の他のデバイスの様々な態様は、特定の従来の詳細を示すことなく例示されることを理解されたい。追加のコンピューティングシステム及び他のデバイスが他の実施形態では相互に接続される場合もあり、様々な方法で相互に接続されてよい。
【００４８】
図９に示されるデータセンタ８５の例では、サーバマネージャ７５はまた、サーバ７６ａ及びサーバ７６ｂへの通信、サーバ７６ａ及びサーバ７６ｂからの通信及び／またはサーバ７６ａとサーバ７６ｂの間での直接的な通信に対して少なくとも一部が利用される。図９は、ゲートウェイ７４とサーバマネージャ７５との間に位置決めされたルータ７１を図示しているが、これは単に構成の一例である。いくつかのケースでは、例えば、サーバマネージャ７５は、ゲートウェイ７４とルータ７１との間に位置決めされてよい。サーバマネージャ７５は、一部のケースでは、ユーザコンピュータ７２から入力される通信の一部を検査して、入力通信を受信する及び／または処理するために１つまたは複数の適切なサーバ７６を決定してよい。サーバマネージャ７５は、同一性、場所またはユーザコンピュータ７２に関連する他の属性、通信が関連するタスクの性質、通信が関連するタスクの優先順位、通信が関連するタスクの継続期間、通信が関連するタスクのサイズ及び／または推定される利用法などの要因ならびに多くの他の要因に基づいて入力通信を受信及び／または処理するために適切なサーバを決定してよい。サーバマネージャ７５は、例えば、通信またはそのようなタスクに関連する他の動作を管理するのを支援するために、状態情報及び様々なタスクに関連付けられた他の情報を収集する、または別様にはそれに対するアクセス権を有してよい。
【００４９】
図９に例示されたネットワークトポロジは大幅に簡素化されていること、ならびにより多くのネットワーク及びネットワークデバイスが、本明細書に開示された様々なコンピューティングシステムを相互接続するために利用され得ることを理解されたい。これらのネットワークトポロジ及びデバイスは、当業者には明白であろう。
【００５０】
図９に図示されるデータセンタ８５は、単なる例示であり、他の実装も利用され得ることも理解されたい。サーバ、ゲートウェイまたは他のコンピューティングデバイスは、相互に作用し合い、記載されるタイプの機能性を実行することができるハードウェアまたはソフトウェアの任意の組み合わせを備え、これには、デスクトップまたは他のコンピュータ、データベースサーバ、ネットワークストレージデバイス及び他のネットワークデバイス、ＰＤＡ、タブレット、携帯電話、無線電話、ポケベル、電子手帳、インターネット家電、テレビジョン関連システム（例えば、セットトップボックス及び／またはパーソナル／デジタルビデオレコーダを使用する）ならびに適切な通信能力を含む種々の他の消費者製品が含まれるが、これらに限定されないことも理解されたい。
【００５１】
少なくとも一部の実施形態では、本明細書中に記載する技術の１つまたは複数の一部または全てを実装するサーバは、１つまたは複数のコンピュータアクセス可能媒体を含むか、あるいは１つまたは複数のコンピュータアクセス可能媒体にアクセスするように構成されたコンピュータシステムを含み得る。図１０は、１つまたは複数のコンピュータアクセス可能媒体を含むか、あるいは１つまたは複数のコンピュータアクセス可能媒体にアクセスするように構成されたコンピュータシステムを図示する。例示された実施形態では、コンピューティングデバイス１５は、入力／出力（Ｉ／Ｏ）インターフェース３０を介して、システムメモリ２０に連結される、１つまたは複数のプロセッサ１０ａ、１０ｂ及び／または１０ｎ（本明細書中では、「プロセッサ１０」として単数でまたは「プロセッサ（複数）１０」として複数で呼ばれ得る）を含む。コンピューティングデバイス１５は、Ｉ／Ｏインターフェース３０に連結されるネットワークインターフェース４０をさらに含む。
【００５２】
様々な実施形態において、コンピューティングデバイス１５は、１つのプロセッサ１０を含むユニプロセッサシステム、またはいくつかのプロセッサ１０（例えば、２つ、４つ、８つ、または別の好適な数）を含むマルチプロセッサシステムであってよい。プロセッサ１０は、命令を実行することが可能な任意の好適なプロセッサであってよい。例えば、様々な実施形態では、プロセッサ１０は、ｘ８６、ＰｏｗｅｒＰＣ、ＳＰＡＲＣもしくはＭＩＰＳ  ＩＳＡまたは任意の他の適切なＩＳＡなど、様々な命令セットアーキテクチャ（ＩＳＡ）のいずれかを実装する組み込み型プロセッサであってよい。マルチプロセッサシステムにおいて、プロセッサ１０の各々は、同じＩＳＡを一般的に実装し得るが、必ずしもそうでなくてもよい。
【００５３】
システムメモリ２０は、プロセッサ（複数可）１０によってアクセス可能な命令及びデータを記憶するように構成されてよい。様々な実施形態では、システムメモリ２０は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、同期ダイナミックＲＡＭ（ＳＤＲＡＭ）、不揮発性／フラッシュ（登録商標）タイプメモリまたは任意の他のタイプのメモリなど、任意の適切なメモリ技術を使用して実装されてよい。例示された実施形態では、上記のそれらの方法、技術及びデータ等の１つまたは複数の所望の機能を実装するプログラム命令及びデータは、コード２５及びデータ２６として、システムメモリ２０内に記憶されるように示される。
【００５４】
一実施形態では、Ｉ／Ｏインターフェース３０は、プロセッサ１０、システムメモリ２０及びネットワークインターフェース４０または他の周辺インターフェースを含む、デバイス内の任意の周辺デバイス間のＩ／Ｏトラフィックを調整するように構成され得る。一部の実施形態では、Ｉ／Ｏインターフェース３０は、１つの構成要素（例えば、システムメモリ２０）からのデータ信号を、別の構成要素（例えば、プロセッサ１０）による使用に好適な形式に変換するように、任意の必要なプロトコル、タイミングまたは他のデータ変換を行なってよい。一部の実施形態では、Ｉ／Ｏインターフェース３０は、例えば、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス規格、またはユニバーサル・シリアル・バス（ＵＳＢ）規格の異形などの様々なタイプの周辺バスを通じて取り付けられるデバイスに対するサポートを含んでよい。一部の実施形態では、Ｉ／Ｏインターフェース３０の機能は、例えば、ノースブリッジ及びサウスブリッジなどの２つ以上の個別の構成要素に分割されてよい。さらに、一部の実施形態では、システムメモリ２０へのインターフェースなど、Ｉ／Ｏインターフェース３０の機能性のうちの一部または全ては、プロセッサ１０に直接組み込まれてよい。
【００５５】
ネットワークインターフェース４０は、データが、コンピューティングデバイス１５と、例えば、他のコンピュータシステムなどまたはデバイスなどの、ネットワーク５０に取り付けられる他のデバイス６０の間で交換されることを可能にするように構成され得る。様々な実施形態では、ネットワークインターフェース４０は、例えば、イーサネットネットワークのタイプなどの任意の好適な有線または無線汎用データネットワークを介した通信をサポートし得る。さらに、ネットワークインターフェース４０は、アナログ音声ネットワークまたはデジタルファイバ通信ネットワーク等の電気通信／テレフォニネットワークを介した、ファイバチャネルＳＡＮ（ストレージエリアネットワーク）などのストレージエリアネットワークを介した、または任意の他の好適なタイプのネットワーク及び／またはプロトコルを介した通信をサポートしてよい。
【００５６】
一部の実施形態では、システムメモリ２０は、対応する方法及び装置の実施形態を実装するための上述されるようなプログラム命令及びデータを格納するように構成されたコンピュータアクセス可能媒体の一実施形態であってよい。しかしながら、他の実施形態では、プログラム命令及び／またはデータは、異なるタイプのコンピュータアクセス可能媒体において、受信、送信または記憶されてよい。一般的に、コンピュータアクセス可能媒体は、Ｉ／Ｏインターフェース３０を介してコンピューティングデバイス１５に連結される、磁気もしくは光媒体、例えば、ディスクもしくはＤＶＤ／ＣＤなどの非一時的記憶媒体またはメモリ媒体を含んでよい。非一時的なコンピュータアクセス可能な記憶媒体はさらに、システムメモリ２０または他のタイプのメモリとしてコンピューティングデバイス１５の一部の実施形態に含まれ得る、ＲＡＭ（例えば、ＳＤＲＡＭ、ＤＤＲ  ＳＤＲＡＭ、ＲＤＲＡＭ、ＳＲＡＭ等）、ＲＯＭ（読み取り専用メモリ）等などの、任意の揮発性または不揮発性媒体を含み得る。さらに、コンピュータアクセス可能媒体は、ネットワークインターフェース４０を介して実装されてよい、ネットワーク及び／または無線リンクなどの通信媒体を介して伝送される電気、電磁気もしくはデジタル信号などの送信媒体または信号を含んでよい。
【００５７】
インターネット及び／または他のネットワークを介して、分散しているクライアントのセットにアクセス可能な１つまたは複数のウェブサービス（様々なタイプのクラウドベースのコンピューティングまたはストレージなど）を提供するために、企業または公共部門の団体などのエンティティによって設定されたネットワークは、プロバイダネットワークと称され得る。このようなプロバイダネットワークには、プロバイダネットワークによって提供されるインフラ及びウェブサービスを実装し分散するために必要とされる、多数のデータセンタがホストする様々なリソースプール、例えば、物理的及び／または仮想化コンピュータサーバ、ストレージデバイス、ネットワーク機器等の集合が含まれ得る。リソースは、一部の実施形態では、インスタンスとして、関連サービスセットとして等、ストレージのためのストレージキャパシティの量、処理のための処理能力などのウェブサービスに関する様々なユニットでクライアントに提供され得る。仮想コンピューティングインスタンスには、例えば、指定された計算能力（ＣＰＵのタイプ及び数、メインメモリサイズなどを指示することによって指定され得る）及び指定されたソフトウェアスタック（例えば、ハイパーバイザ上で実行され得ることになるオペレーティングシステムの特定のバージョン）を有する１つまたは複数のサーバが含まれ得る。
【００５８】
コンピューティングノードとも称され得る計算ノードは、コモディティハードウェアコンピュータ、仮想マシン、ウェブサービス、コンピューティングクラスタ及びコンピューティング機器などの様々なコンピューティング環境で実装され得る。これらのコンピューティングデバイスまたは環境のうちいずれかは、便宜上、計算ノードとして記載され得る。
【００５９】
いくつかの異なるタイプのコンピューティングデバイスは、例えば、コンピュータサーバ、ストレージデバイス、ネットワークデバイスなど、様々な実施形態においてプロバイダネットワークのリソースを実装するために、単独でまたは組み合わせて使用され得る。一部の実施形態では、クライアントまたはユーザには、例えば、ユーザにアドミニストレータログイン及びパスワードを与えることによって、リソースインスタンスへの直接アクセスが提供され得る。他の実施形態では、プロバイダネットワークオペレータは、例えば、クライアントが、インスタンスまたは実行プラットフォームに直接アクセスする必要なしに、クライアントの代わりに、アプリケーションに好適な実行プラットフォーム（アプリケーションサーバインスタンス、Ｊａｖａ（商標）仮想マシン（「ＪＶＭ」）、汎用目的または特殊目的のオペレーティングシステム、Ｒｕｂｙ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、Ｃ、Ｃ＋＋などの様々なインタープリタ型またはコンパイル型プログラミング言語をサポートするプラットフォームまたは高性能コンピューティングプラットフォームなど）上で、指定されたクライアントアプリケーションの実行要件及びアプリケーションの計画実行をクライアントが指定することを可能にし得る。所与の実行プラットフォームは、一部の実装では、１つまたは複数のリソースインスタンスを利用し得、他の実装では、複数の実行プラットフォームが、単一のリソースインスタンスにマッピングされ得る。
【００６０】
多くの環境では、様々なタイプの仮想化コンピューティング、ストレージ及び／または他のネットワークアクセス可能な機能性を実装するプロバイダネットワークのオペレータは、顧客が、様々なリソース取得モードでリソースに対するアクセスを予約または購入することを可能にし得る。コンピューティングリソースプロバイダは、顧客が所望のコンピューティングリソースを選択かつ起動し、コンピューティングリソースにアプリケーション構成要素を配置し、環境で実行しているアプリケーションを維持するための設備を提供し得る。加えて、コンピューティングリソースプロバイダは、顧客が、アプリケーションに割り当てられたリソースの数及びタイプを、アプリケーションの変更の要求またはそのキャパシティ要件として、手動または自動スケーリングのいずれかで、迅速かつ容易にスケールアップまたはスケールダウンするための設備をさらに提供し得る。コンピューティングリソースプロバイダにより提供されるコンピューティングリソースは、インスタンスと呼ばれ得る別個のユニットにおいて利用可能とされ得る。インスタンスは、物理的なサーバハードウェアプラットフォーム、サーバで実行する仮想マシンインスタンスまたはその２つの何らかの組み合わせを表し得る。様々なタイプ及び構成のインスタンスが、様々なオペレーティングシステム（「ＯＳ」）及び／またはハイパーバイザを実行する様々なサイズのリソースを含んで、様々なインストールされたソフトウェアアプリケーション、ランタイムなどとともに利用可能とされ得る。インスタンスはさらに、特定の可用性ゾーンで利用可能とされ得、例えば、論理領域、フォールトトレラント領域、データセンタまたは基盤となっているコンピューティングハードウェアの他の地理的位置を表す。インスタンスは、インスタンスの冗長性を高めるために、可用性ゾーン内でまたは可用性ゾーン全体でコピーされ得、インスタンスは、特定の可用性ゾーン内でまたは可用性ゾーンにわたって移行され得る。一例として、可用性ゾーンにおける特定のサーバとのクライアントの通信のレイテンシは、異なるサーバとのクライアントの通信のレイテンシよりも少なくてよい。このように、インスタンスは、全体的なクライアントの体験を高めるために、高いレイテンシのサーバから低いレイテンシのサーバに移動され得る。
【００６１】
一部の実施形態では、プロバイダネットワークは、複数の地理的領域に編成されてもよく、各領域は、１つまたは複数の可用性ゾーンを含んでよい。次いで、可用性ゾーン（可用性コンテナとも呼ばれ得る）は、所与の可用性ゾーン内のリソースが他の可用性ゾーン内の不具合から隔離または防護され得るように構成された１つまたは複数の別個の場所またはデータセンタを備えてよい。つまり、１つの可用性ゾーン内の不具合が、任意の他の可用性ゾーン内に不具合をもたらすことは予期されない場合がある。したがって、リソースインスタンスの可用性プロファイルは、異なる可用性ゾーン内のリソースインスタンスの可用性プロファイルから独立していることが意図される。クライアントは、それぞれの可用性ゾーンにおいて複数のアプリケーションインスタンスを起動させることで、彼らのアプリケーションを単一の場所での不具合から保護することが可能になり得る。同時に、一部の実装では、安価かつ低レイテンシのネットワーク接続が、同一の地理的領域内に存在するリソースインスタンス間に提供され得る（かつ、同一の可用性ゾーンのリソース間のネットワーク送信は早くさえなり得る）。
【００６２】
上記の通り、コンテンツはコンテンツプロバイダから１つまたは複数のクライアントに提供され得る。コンテンツは、本明細書で使用する場合、任意の提示可能な情報を指し、コンテンツアイテムという用語は、本明細書で使用する場合、任意のそのような提示可能な情報の何らかの集合を指す。コンテンツプロバイダは、コンテンツをクライアントに提供するためのサービスを提供し、例えば、１つまたは複数のコンテンツを提供してよい。サービスを提供するコンテンツは、１つまたは複数のサーバ上にあってよい。サービスを提供するコンテンツは、１つまたは複数の顧客の要望を満たすように拡張可能であり、入力されるクライアントの要求の数及びタイプに基づいて機能を増減してよい。サービスを提供するコンテンツの一部はさらに、要求側のクライアントと共に短縮された待ち時間の位置に配置されるように移動されてよい。例えば、コンテンツプロバイダは、特定のクライアントに物理的に及び／または論理的に最も近いサービスを提供するコンテンツに関連付けられたシステムまたはネットワークの「エッジ」を判定してよい。コンテンツプロバイダはその後、例えば、リソースを「スピンアップする」すなわちリソースを移動させる、または別様には特定のクライアントと相互に作用するために判定されたエッジに関連付けられたコンポーネントを利用する場合もある。このようなエッジの判定プロセスは、一部の場合では、特定のクライアントと相互作用するのに十分に適したコンポーネントを特定し利用するための有効な技術を提供し得、また一部の実施形態では、コンテンツプロバイダと１つまたは複数のクライアントとの間の通信のための待ち時間を短縮し得る。
【００６３】
加えて、一定の方法またはプロセスブロックは、一部の実装では省略され得る。本明細書中で記載される方法及びプロセスはまた、いずれかの特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切である他の順序で実行することができる。例えば、記載されるブロックまたは状態は、具体的に開示されたもの以外の順序で実行されてよい、または、複数のブロックまたは状態が、単一のブロックまたは状態として組み合わされる場合もある。例示的なブロックまたは状態は、直列に、並列に、または何らかの他の態様で実行され得る。ブロックまたは状態は、開示された例示的な実施形態に追加または削除され得る。
【００６４】
様々なアイテムがメモリまたはストレージに格納されて用いられているものとして例示され、これらのアイテムまたはその一部はメモリ管理及びデータの完全性の目的でメモリと他のストレージデバイスの間で転送され得ることも理解されるであろう。代替として、他の実施形態では、ソフトウェアモジュール及び／またはシステムの一部または全部は、別のデバイスのメモリで実行され、コンピュータ間通信を介して例示されたコンピューティングシステムと通信し得る。さらに、一部の実施形態では、システム及び／またはモジュールの一部または全ては、少なくとも部分的にファームウェア及び／またはハードウェア内など他の方法で実装されるまたは設けられる場合もあり、これには１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、標準的な集積回路、コントローラ（例えば、適切な命令を実行することによる、ならびにマイクロコントローラ及び／または埋め込み式コントローラを含む）、フィールドプログラマブルアレイ（ＦＰＧＡ）、コンプレックスプログラマブル論理デバイス（ＣＰＬＤ）などが含まれるが、これに限定されるわけではない。モジュール、システム及びデータ構造の一部または全てはまた、適切な接続を介して適切なドライブによって読み取られるコンピュータ可読媒体、例えば、ハードディスク、メモリ、ネットワークまたは携帯可能なメディア製品上に記憶される場合もある（例えばソフトウェア命令または構造化データとして）。システム、モジュール及びデータ構造も、無線ベース媒体及び有線／ケーブルベース媒体を含む様々なコンピュータ可読伝送媒体で生成データ信号として伝送され得（例えば、搬送波または他のアナログもしくはデジタル伝播信号の一部として）、様々な形式をとり得る（例えば、単一もしくは多重アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして）。このようなコンピュータプログラム製品は、他の実施形態では、他の形式も取り得る。したがって、本発明は、他のコンピュータシステム構成で実施され得る。
【００６５】
別途具体的に記述されない限りまたは用いられている文脈内でそれ以外に理解されない限り、とりわけ、「することができる」、「できるであろう」、「可能性がある」、「してよい」、「例えば」などの本明細書中で用いられる条件的言語は、特定の特徴、要素及び／またはステップを特定の実施形態が含み、一方で他の実施形態が含まないことを伝えるために一般に使用される。ゆえに、そのような条件的言語は、概して、特徴、要素及び／またはステップが、１つまたは複数の実施形態に任意の方法で要求されるか、または１つまたは複数の実施形態が、作者のインプットもしくはプロンプトを用いて、もしくは用いずに、これらの特徴、要素及び／またはステップが含まれるか、もしくは任意の特定の実施形態において行われるべきであるかを決定するための論理を必ず含むことを含意することは意図されていない。用語「備える」、「含む」、「有する」などは同義であり、オープンエンド様式で包含的に用いられ、追加の要素、特徴、行為、動作などを排除しない。さらに、用語「または」は、その包含的な趣旨で（排除的な趣旨ではなく）用いられ、例えば、要素のリストをつなぐのに用いられた際に、用語「または」はリストの要素の１つ、いくつかまたは全てを意味する。
【００６６】
特定の例示的な実施形態を記載してきたが、これらの実施形態は例としてのみ提示したものであり、本明細書中に開示する発明の範囲を限定する意図はない。ゆえに、前述の説明のいずれも、任意の特定の特徴、特性、ステップ、モジュールまたはブロックが必要であるまたは必須であることを意味する意図はない。実際のところ、本明細書中に記載される新規の方法及びシステムは、様々な他の形式で具現化されてよく、さらに、本明細書中に記載される方法及びシステムの形式の様々な省略、置換及び変更は、本明細書中に開示する発明の趣旨から逸脱することなくなされ得る。添付の特許請求の範囲及びそれらの均等物は、本明細書中に開示される発明の特定の範囲及び趣旨に収まるような形式または修正を包含するように意図されている。
【図１】
2019524178.tif 000003
【図２Ａ】
2019524178.tif 000004
【図２Ｂ】
2019524178.tif 000005
【図３】
2019524178.tif 000006
【図４】
2019524178.tif 000007
【図５Ａ】
2019524178.tif 000008
【図５Ｂ】
2019524178.tif 000009
【図６Ａ】
2019524178.tif 000010
【図６Ｂ】
2019524178.tif 000011
【図６Ｃ】
2019524178.tif 000012
【図６Ｄ】
2019524178.tif 000013
【図７Ａ】
2019524178.tif 000014
【図７Ｂ】
2019524178.tif 000015
【図７Ｃ】
2019524178.tif 000016
【図８】
2019524178.tif 000017
【図９】
2019524178.tif 000018
【図１０】
2019524178.tif 000019
【国際調査報告】
2019524178.tif 000020
2019524178.tif 000021
2019524178.tif 000022