JP2023029888A - 拡張現実モバイルエッジコンピュータ - Google Patents
拡張現実モバイルエッジコンピュータ Download PDFInfo
- Publication number
- JP2023029888A JP2023029888A JP2022187351A JP2022187351A JP2023029888A JP 2023029888 A JP2023029888 A JP 2023029888A JP 2022187351 A JP2022187351 A JP 2022187351A JP 2022187351 A JP2022187351 A JP 2022187351A JP 2023029888 A JP2023029888 A JP 2023029888A
- Authority
- JP
- Japan
- Prior art keywords
- client
- results
- edge node
- clients
- peer
- 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
Links
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 6
- 230000009471 action Effects 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims description 30
- 230000003993 interaction Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims 2
- 238000012545 processing Methods 0.000 abstract description 13
- 230000002452 interceptive effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 6
- 238000013481 data capture Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 241001609370 Puschkinia scilloides Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/216—Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/332—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/34—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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/65—Generating 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/567—Integrating service provisioning from a plurality of service providers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5566—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Child & Adolescent Psychology (AREA)
- Environmental & Geological Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】ゲームサーバを介して行動をルーティングすることなく、ピアツーピア(P2P)プロトコルを使用して、同じエッジノードに接続されたクライアント間でゲーム行動が通信され、レイテンシを短縮できる拡張現実モバイルエッジコンピュータを提供する。【解決手段】共有拡張現実体験内の行動の処理は、通信ネットワークのエッジノード(セルタワー等)とサーバの間で分割される。その結果、現在の状態の計算は実際の場所に基づいて自然に分割される可能性があり、状態のアップデートは通常、エッジノードによって提供され、サーバはマスタ状態に基づいて競合解決を提供する(例えば、行動が異なるエッジノードに接続されている場合、互いに干渉する可能性がある)。【選択図】図1
Description
本開示は、拡張現実(AR)、特に低遅延の共有AR体験を提供するための階層型ネットワークアーキテクチャに関する。
この出願は、参照により組み込まれる、2019年2月25日に出願された米国仮出願第62/810,115号の利益を主張している。
並行現実のゲームシステムにおいて、プレーヤは、コンピュータ装置を介して、少なくとも実世界の一部と並行する共有仮想世界と相互作用する。仮想世界におけるプレーヤの位置は、実世界のプレーヤの位置に基づく。しかしながら、行動が主に仮想世界を参照して行われるとき、仮想世界は、プレーヤが互いに関与することの障壁になる可能性がある。プレーヤは、他のプレーヤが遠隔または非現実的と思いながら、仮想世界と関わる。その結果、多くの個人が実世界の1つの地理的領域でプレイしていても、ゲーム体験は社会的ではなく個人的に感じ得る。
並行現実のゲームシステムは、他の1つまたは複数のプロトコルを使用し、プレーヤが関わる仮想現実のゲームのステートをアップデートし、変更(例えば、ゲームにおける他のプレーヤの行動の結果)を反映してもよい。UDP(User Datagram Protocol)のような通信プロトコルは、コンピュータネットワークを使用してデータを交換するためのルールのシステムを定義する。UDPは、データグラムの配信、順序付け、または非重複を保証することなく、コネクションレス通信モデルに準拠している。UDPを利用して通信するコンピュータ機器は、ヘッダとペイロードを含む通信の基本単位であるデータグラムを、コンピュータネットワークを経由して他の機器へ送信する。
UDPのようなコネクションレス通信プロトコルは、データを送信する前にコンピュータデバイス間の接続を確立するTCP(Transmission Control Protocol)のようなコネクション指向の通信プロトコルに比べて、一般的にオーバーヘッドとレイテンシが低い。しかしながら、既存のコネクションレス通信プロトコルは、既存の技術で対応されているよりも短い遅延を必要とするデータ転送には不十分である。例えば、60フレーム/秒(FPS)でストリーミングする並行現実ゲームセッションでは、現在の手法で提供されるよりも1桁低いレイテンシが必要になる場合がある。このようなゲームセッションでは、フレームは約16ミリ秒間隔で配置されるが、現在の通信プロトコルでは通常、約100ミリ秒(またはそれ以上)のレイテンシが発生する。
したがって、これらの既存のコネクションレス通信プロトコルのレイテンシは、並行現実ゲームシステムのプレーヤと仮想世界の間に障壁を提供する。これらの既存の通信プロトコルでは、プレーヤは現在のゲーム状態と関わらず、最近のゲーム状態のみと関わる。例えば、並行現実ゲームでは、プレーヤは古い場所(例えば、オブジェクトが100ミリ秒前にあった場所)の仮想オブジェクトを視認し得るが、実際の仮想位置データは仮想オブジェクトの新しい場所を有している(例えば、仮想オブジェクトが別のプレーヤによって移動されている)。クライアントと並列現実ゲームをホストまたは調整するサーバとの間の通信におけるこのレイテンシは、不満なユーザ体験を招き得る。この問題は、レイテンシが、あるプレーヤの行動が他のプレーヤの仮想世界のビューに表示されるまでの間の顕著な遅延の原因となるため、特に、1人よりも多くのユーザがゲームに参加しているときに深刻になり得る。
拡張現実(AR)システムは、コンピュータで生成されたコンテンツで実世界のビューを補完する。ARの並行現実ゲームへの組込みは、現実と仮想世界の統合を改善し得る。ARは、また、プレーヤが相互作用する共有ゲーム体験に参加する機会を彼らに提供することにより、プレーヤ間の相互作用性を高め得る。例えば、戦車バトルゲームにおいて、プレーヤは、互いの戦車を破壊しようと試みながら、実世界の位置の周囲で仮想的な戦車を操縦し得る。他の例において、タグバトルゲームでは、プレーヤは、ポイントを獲得するためにエネルギーボールでお互いにタグを付けようとし得る。
従来のARセッション技術は、ゲームサーバがマスタゲーム状態を維持し、ネットワーク(例えば、インターネット)を介してプレーヤデバイスのローカルゲーム状態をマスタゲーム状態に定期的に同期させることを含む。しかしながら、プレーヤのローカルゲーム状態の同期は、かなりの量の時間(例えば~100ms)をとり、これはゲーム体験に害を及ぼす。プレーヤは、事実上、現在のゲーム状態ではなく、過去のゲーム状態と相互作用している。この問題は、レイテンシが、あるプレーヤの行動が他のプレーヤの仮想世界のビューに表示されるまでの間の顕著な遅延の原因となるため、特に、1人よりも多くのユーザがARゲームに参加しているときに深刻になり得る。例えば、あるプレーヤが仮想世界においてARオブジェクトを移動させ、他のプレーヤは、100ms(またはそれ以上)後まで移動したことを認識できない場合があり、これは人が知覚し得る遅延である。このように、別のプレーヤが以前の場所にあるオブジェクトと相互作用しようと試み、ゲームが(例えば、プレーヤが要求した行動の実行を拒否することにより)レイテンシを修正すると不満を感じ得る。
この問題やその他の問題は、ネットワークのエッジノード(例えばセルタワー)でゲーム状態の処理を実行することによって解決し得る。その結果、ゲーム状態の計算は、競合の解決を提供するサーバによって維持されるマスタゲーム状態(例えば、近くのセルタワーに接続されているプレーヤの行動が互いに潜在的に干渉する)をともなって、現実世界の場所に基づいて自然に分割され得る。レイテンシは、また、ゲームサーバを介してアップデートをルーティングせずに、同じエッジノードに接続されたクライアント間でゲームのアップデートを交換するピアツーピア(P2P)プロトコルを使用して低減し得る。例えば、これらのアプローチを使用すると、レイテンシは~10msまたはそれ以下に低減し得る。さらに、これにより帯域幅の可用性が向上し、より多くのプレーヤが共通のAR体験を共有し得る。
一実施形態では、エッジノードによって共有AR体験を提供するための方法は、エッジノードでクライアントから接続要求を受信し、接続要求に基づいてクライアントの共有AR体験を識別することを含む。この方法は、また、共有AR体験のマップデータとローカルゲーム状態をクライアントに提供することを含んでいる。エッジノードは、共有AR体験内の仮想アイテムとの所望の相互作用を示す行動要求をクライアントから受信し、エッジノードによって維持されるローカルゲーム状態に基づいて行動要求の結果を判断する。この方法はさらに、エッジノードに接続された複数のクライアントに結果を提供し、この結果を、サーバによって維持されるマスタゲーム状態と検証することを含む。結果は、結果が最初に複数のクライアントに提供された後に検証され得る。
図及び以下の説明は、例示のみを目的として特定の実施形態を説明している。当業者は、本明細書で例示される構造及び方法の代替的な実施形態が本明細書で説明される原理から逸脱せずに採用されることができることを以下の説明から容易に認識するであろう。ここで、いくつかの実施形態が詳細に参照されることとなり、それらの例示は、添付の図面において示されている。実行可能な場合は常に、類似または類似の機能を示すため、類似または類似の参照番号が図で使用される。要素が共通の数字とそれに続く異なる文字を共有する場合、要素は類似または同一である。数字だけで、そのような要素の任意の1つまたは任意の組み合わせを指す。以下に説明する実施形態は、並行現実ゲームに関するが、当技術分野の技術者の1人は、開示された技術が他のタイプの共有AR体験に使用され得ることを認識するであろう。
[コンピュータ環境の例]
図1は、ARコンテンツがクライアント130に提供されるネットワーク化されたコンピュータ環境の一実施形態を示している。ARコンテンツは、プレーヤが実世界の少なくとも一部と並行する共有仮想世界で相互作用する並列現実ゲームの一部であってもよい。示される実施形態において、ネットワーク化されたコンピュータ環境は、サーバ110、セルタワー120、及び2つのクライアント130を含む。簡単のため、2つのクライアント130のみが示されているが、実際には、より多くの(例えば、10または100)クライアント130がセルタワー120に接続され得る。他の実施形態において、ネットワーク化されたコンピュータ環境は、異なるまたは追加の構成要素を含み得る。例えば、ネットワーク化されたコンピュータ環境は、セルタワー120ではなく、エッジノードとしてWiFiルータを使用するローカルエリアネットワーク(LAN)であってもよい。さらに、機能は、説明されているのとは異なる方法で構成要素間で分散されてもよい。
図1は、ARコンテンツがクライアント130に提供されるネットワーク化されたコンピュータ環境の一実施形態を示している。ARコンテンツは、プレーヤが実世界の少なくとも一部と並行する共有仮想世界で相互作用する並列現実ゲームの一部であってもよい。示される実施形態において、ネットワーク化されたコンピュータ環境は、サーバ110、セルタワー120、及び2つのクライアント130を含む。簡単のため、2つのクライアント130のみが示されているが、実際には、より多くの(例えば、10または100)クライアント130がセルタワー120に接続され得る。他の実施形態において、ネットワーク化されたコンピュータ環境は、異なるまたは追加の構成要素を含み得る。例えば、ネットワーク化されたコンピュータ環境は、セルタワー120ではなく、エッジノードとしてWiFiルータを使用するローカルエリアネットワーク(LAN)であってもよい。さらに、機能は、説明されているのとは異なる方法で構成要素間で分散されてもよい。
サーバ110は、通信ネットワーク内のクライアント130にサービスを提供する1つまたは複数のコンピュータデバイスである。サーバ110は、通信ネットワークのエッジノード(例えば、セルタワー120)を介してクライアント130と通信する。一実施形態において、サーバ110は、並列現実ゲームのマスタゲーム状態、つまり、最終的には、並列現実ゲームのグラウンドトゥルース状態を維持する。この文脈において、マスタゲーム状態は、マスタゲーム状態とローカルゲーム状態との間で競合が生じる場合、マスタゲーム状態が支配するという点で、グラウンドトゥルー状態に対応する。これは、2つのローカルゲーム状態(例えば、ネットワーク内の隣接するセルタワー120によって維持される2つのローカルゲーム状態)が重複する地理的領域に対応する場合に特に有用であり得る。したがって、両方のセルタワー120に接続されたデバイスは、異なるARセッションに接続されている間、(マスタゲーム状態で)同じゲームコンテンツと相互作用し得る。
セルタワー120は、クライアント130を経由して通信ネットワークと接続するためのエッジノードである。上記のように、コンピュータネットワークは、セルタワー120に加えて、またはセルタワー120に代えて、同様の通信を可能にする他のエッジノードを含み得る。一実施形態では、セルタワーは、ARデータを格納し、接続されたクライアント130にARサービスを提供するように構成された1つまたは複数のコンピュータデバイスを含む。クライアント130は、セルタワーに比較的近くに配置され、それに直接接続するため、クライアントにデータ及びサービスを提供する際の遅延時間は、サーバ110よりも充分に短くなり得る。セルタワー120の様々な実施形態は、図4を参照して、以下により詳細に説明される。
クライアント130は、パーソナルコンピュータ、ラップトップ、タブレット、スマートフォン等のコンピュータデバイスである。並行現実ゲームを含む実施形態では、クライアント130は、典型的には、接続された、または内蔵のカメラを有し、プレーヤが容易に携帯できるスマートフォンまたはタブレットである。クライアント(例えば、クライアント130A)は、P2Pメッセージをセルタワー120に送信することによって通信することができ、セルタワー120は、それらを同じセルタワーに接続された他のクライアント(例えば、クライアント130B)に転送する。クライアント130は、また、サーバ110にメッセージを送信することによって(セルタワー120を介して)サーバ110と通信を交わし、それらを受信者に転送してもよい。例えば、クライアント130Aは、この方法で異なるセルタワー120またはサーバ110に接続されている別のクライアント130Bにメッセージを送信してもよい。
一実施形態において、クライアント通信は、サーバ110またはピアツーピア(P2P)を介する経路に設定される。サーバ110を介する経路に設定される通信は、第1のクライアント130Aからセルタワー120を介してサーバ110に行き、次にセルタワー120を通って第2のクライアント130Bに戻り得る。一方、P2P通信は、第1のクライアント130Aからセルタワー120に行き、次に第2のクライアント130Bに直接行ってもよい。場合によっては、通信が信号ブースター等の他の中間デバイス(またはノード)を通過し得ることに注意する。ここで使用されているように、サーバ110を通過せずに、送信クライアント130Aからターゲットクライアント130Bにルーティングされている場合、その通信はP2Pと見なされる。これは、通信がターゲットクライアント130Bに送信される前に通信をサーバ110に送信する必要性をバイパスすることによって、レイテンシを短縮し得る。例えば、メッセージ(例えば、データグラム)は、ターゲットクライアント130Bが送信クライアント130Aと同じセルタワー120に接続されている場合にP2Pで送信され得て、そうでない場合、サーバ110を介してルーティングされ得る。他の実施形態において、クライアント130は、完全にP2P通信を使用して通信する。
一実施形態では、クライアント130は、調整サービス(例えば、サーバでホストされ、TCPを介して通信される)を使用して、IPアドレスを同期させる。したがって、クライアント130は、公開されているIPアドレスまたはローカルエリアネットワーク(LAN)を使用して(例えば、UDPを介して)通信することができる。例えば、第1のクライアント130Aは、TCPを介して調整サービスに要求を送信し、ローカルAR共有体験に参加することができる。調整サービスは、AR体験を提供する(例えば、同じセルタワー120を介して)ARセッションに接続された第2のクライアント130BのIPアドレスを第1のクライアント130Aに提供してもよい。調整サービスは、また、第1のクライアントのIPアドレスを第2のクライアント130Bに提供してもよく、または第1のクライアント130Aは、(調整サービスによって提供されるように)第2のクライアントのIPアドレスを使用してそれを直接提供してもよい。いくつかの実施形態では、調整サービスは、第2のクライアントのIPアドレスが提供される前に、第2のクライアント130Bに第1のクライアント130Aを承認するように促してもよい(例えば、ユーザ確認を要求するか、または承認されたクライアント130のリストをチェックして第2のクライアント130Bに接続することによって)。
他の利点の中でも、図1に示される方法でネットワーク化されたコンピュータ環境を構築することは、計算の効率的な分散を可能にする。情報は、短い遅延時間でクライアント130間でP2P交換され得て、プレーヤが現実の世界で相互作用するのと同様の方法で、共有AR体験内で相互作用することを可能にする。同様に、セルタワー120は、クライアント130に提供するマップデータを判断し、接続されたクライアント130間でゲーム状態を同期させることができる。セルタワー120は、サーバ110で同じ状態を全体的に同期することから生じるよりも少ないラグでゲーム状態を同期し得る。そして、サーバ110は、より長期的な処理やコンフリクトの解決に使用し得る。例えば、サーバ110は、異なるセルタワー120によって処理される地理的領域間の接続を管理し、セルタワーによって行われた判断を再確認し(そして必要に応じて修正を行い)、追加のセキュリティチェックを実行し、クライアント130から受信したデータを分析して不正行為を検出し、全体的なデータ(例えば、単一のセルタワーのカバレッジよりも大きい地域の合計チームスコア)等を維持してもよい。
P2Pプロトコルの例
図2は、図1のネットワーク化されたコンピュータ環境での使用に適したデータグラム200の一実施形態を示している。前述のように、データグラム200は通信の基本単位である。示される実施形態において、データグラム200は、ペイロード202及びヘッダ204を含み、後者は、インジケータとしても知られるP2Pフラグ206を含む。ヘッダ204は、送信元ポート、宛先ポート、データグラム200の長さ、及びデータグラム200のチェックサム等、データグラム200の態様を指定するメタデータである。ペイロード202は、データグラム200によって通信されるデータである。他の実施形態では、データグラム200は、異なるまたは追加の構成要素を含み得る。
図2は、図1のネットワーク化されたコンピュータ環境での使用に適したデータグラム200の一実施形態を示している。前述のように、データグラム200は通信の基本単位である。示される実施形態において、データグラム200は、ペイロード202及びヘッダ204を含み、後者は、インジケータとしても知られるP2Pフラグ206を含む。ヘッダ204は、送信元ポート、宛先ポート、データグラム200の長さ、及びデータグラム200のチェックサム等、データグラム200の態様を指定するメタデータである。ペイロード202は、データグラム200によって通信されるデータである。他の実施形態では、データグラム200は、異なるまたは追加の構成要素を含み得る。
ペイロード202は、受信クライアントまたは複数のクライアント130への配信を目的としたデータグラム200のコンテンツを含む。一実施形態では、ヘッダ204は、P2Pフラグ206が追加されたUDPヘッダと同様であってもよい。ヘッダ204は、また、追加のメタデータを含んでもよい。P2Pフラグ206は、データグラム200がサーバ110に送信されるか、またはP2Pが別のクライアント130に送信されるかを判断するために使用される。他の実施形態では、P2Pフラグ206は、同様の機能を提供するヘッダ内の1つまたは複数の他のインジケータで置き換えられる。
図3は、一実施形態に関する、エッジノード(例えば、セルタワー120)でP2P通信プロトコルを使用するための処理を示すフローチャートである。図3において、セルタワー120は、クライアント130Aからデータグラム200を受信する305。セルタワー120は、データグラム200を分析し310、データグラム200をP2Pで送信するか、サーバ110を介して送信するか否かを判断する。一実施形態では、P2Pフラグ206は、データグラム200がP2Pメッセージであることを示し、セルタワー120は、クライアント130Aに接続された1つまたは複数のクライアント130にデータグラム200を送信する315。例えば、データグラム200のヘッダ204が、宛先ポートがクライアント130Bのポートであることを示している場合、セルタワー120は、データグラム200をクライアント130Bに送信する315。あるいは、セルタワーは、ローカルARセッションに関与している接続されたクライアント130のリストを維持し、データグラム200を、ローカルARセッションに関与している全てのクライアント130(またはプレーヤのチームメイトに対応するもの等のクライアントのサブセット)に送信してもよい315。一方、P2Pフラグ206が、データグラム200がサーバ110に送られることを示している場合、セルタワー120は、データグラム200をサーバ110に送信する320。
他の実施形態では、送信クライアント130Aは、可能である場合、データグラム200がP2Pで送信されるべきであることを示すためにP2Pフラグ206を設定してもよい。セルタワー120は、データグラム200を受信し305、分析し310、データグラム200をP2Pで送信するべきであることをP2Pフラグ206が示すと仮定して、ターゲットクライアント130Bが現在セルタワー120に接続されているか否かを判定する(例えば、ターゲットクライアント130Bの識別子を、現在接続されているクライアント130のリストと比較することにより)。ターゲットクライアント130Bがセルに接続されている場合、セルタワー120は、サーバ110を経由する代わりに、データグラム200をターゲットクライアント130Bに直接送信する315。一方、ターゲットクライアント130Bがセルタワー120に接続されていない場合、セルタワー120は、データグラム200をサーバ110に送信し、ターゲットクライアント130Bに送信する(例えば、現在接続されている第2のセルタワー120を介して)。例えば、サーバ110は、どのセルタワー120がどのクライアントデバイス130に現在または最近接続されているかについてのデータベースまたは他のリストを維持してもよい。いくつかの実施形態では、セルタワー120は、データグラム200をターゲットクライアント130Bとサーバ110の両方に送信してもよい。
他の実施形態では、P2Pフラグ206は、ARセッション、ユーザ、デバイス、ゲームアカウント等のエンティティの識別子であってもよい。セルタワー120は、データグラム200がP2P(または可能であればP2P)に送信されるべきであるP2Pフラグ206のリストを維持する。セルタワー120は、データグラム200を受信し305、分析し310、それがサーバ110またはP2Pのどちらを介して送信されるべきかを判断する。P2Pフラグ206がリスト上のエンティティの識別子を含む場合、データグラム200はP2Pメッセージであり、セルタワー120は、識別されたエンティティに関連付けられた1つまたは複数のクライアント130Bにデータグラム200を送信する315。例えば、データグラム200のヘッダ204がターゲットクライアント130Bの識別子を含む場合、セルタワー120は、データグラム200をターゲットクライアント130Bに送信する315。他の例を挙げると、P2Pフラグ206がARセッションを識別する場合、データグラム200は、そのセッションに接続された全てのクライアント130に送信され、それがゲームアカウントである場合、データグラムは、そのゲームアカウント等に関連する1つまたは複数のクライアントに送信される。一方、P2Pフラグ206がリスト上にないエンティティを識別する場合、セルタワー120は、エンティティに関連付けられたクライアント130に転送されるように、P2Pフラグ206をサーバ110に送信する320。あるいは、リストは、P2P送信されないメッセージのP2Pフラグ206を示してもよく、この場合、P2Pフラグ206がリストにない場合のデフォルトの動作は、対応するデータグラムP2Pをターゲットクライアント130Bに送信することである。
エッジノードの例
図4は、通信ネットワークにおけるエッジノードの一実施形態を示している。示される実施形態において、エッジノードは、ルーティングモジュール410、データ取込みモジュール420、ARセッションモジュール430、マップ処理モジュール440、権限チェックモジュール450、及びローカルデータ格納部460を含むセルタワー120である。セルタワー120は、また、データを交換するためにサーバ110及びクライアント130への接続を確立するためのハードウェア及びファームウェアまたはソフトウェア(図示せず)を含む。例えば、セルタワー120は、光ファイバーまたは他の有線インターネット接続を介してサーバ110に接続してもよく、クライアント130は、ワイヤレス接続(例:4Gまたは5G)を使用する。他の実施形態では、セルタワー120は、異なるまたは追加の構成要素を含み得る。さらに、機能は、説明されているのとは異なる方法で構成要素間に分散され得る。
図4は、通信ネットワークにおけるエッジノードの一実施形態を示している。示される実施形態において、エッジノードは、ルーティングモジュール410、データ取込みモジュール420、ARセッションモジュール430、マップ処理モジュール440、権限チェックモジュール450、及びローカルデータ格納部460を含むセルタワー120である。セルタワー120は、また、データを交換するためにサーバ110及びクライアント130への接続を確立するためのハードウェア及びファームウェアまたはソフトウェア(図示せず)を含む。例えば、セルタワー120は、光ファイバーまたは他の有線インターネット接続を介してサーバ110に接続してもよく、クライアント130は、ワイヤレス接続(例:4Gまたは5G)を使用する。他の実施形態では、セルタワー120は、異なるまたは追加の構成要素を含み得る。さらに、機能は、説明されているのとは異なる方法で構成要素間に分散され得る。
ルーティングモジュール410は、データパケットを受信し、それらのパケットを1つまたは複数の受信デバイスに送信する。一実施形態では、ルーティングモジュール410は、クライアント130からデータグラム200を受信し、図3を参照して前述した方法を使用して受信したデータグラムの送信先を判断する。ルーティングモジュール410は、また、特定のクライアント130またはセルタワー120に接続されている全てのクライアントのいずれかにアドレス指定されたサーバからデータパケットを受信してもよい。ルーティングモジュール410は、データパケットがアドレス指定されるクライアント130にデータパケットを転送する。
データ取込みモジュール420は、セルタワー120が接続されたクライアント130を介してプレーヤに共有AR体験を提供するために使用する1つまたは複数のソースからデータを受信する。一実施形態において、データ取込みモジュール420は、(例えば、第3のパーティサービスから)実世界の状態に関するリアルタイムまたは実質的にリアルタイムの情報を受信する。例えば、データ取込みモジュール420は、セルタワー120を取り巻く地理的領域の気象条件を示す気象サービスから気象データを定期的に(例えば、毎時)受信してもよい。別の例として、データ取込みモジュール420は、公園、美術館、または他の公共スペースの営業時間を検索してもよい。さらに別の例として、データ取込みモジュール420は、セルタワー120を取り巻く地理的領域内の道路を走行している車両の数を示す交通データを受信してもよい。実世界の状態に関するそのような情報は、仮想世界と実世界との間の協働を改善するために使用され得る。
ARセッションモジュール430は、セルタワー120を取り巻く地理的領域内のプレーヤが共有AR体験に参加することができるARセッションを管理する。一実施形態では、クライアント130は、ARゲームを実行している間にセルタワー120に接続し、ARセッションモジュール430は、クライアント130をゲームのARセッションに接続する。セルタワー120に接続するゲームの全てのプレーヤは、単一のARセッションを共有してもよく、またはプレーヤは、複数のARセッションに分割してもよい。例えば、特定のARセッションに最大数のプレーヤがいてもよい(例えば、10、20、100等)。様々なARセッションが存在する場合、新たに接続するクライアント130は、ランダムにセッションに配置され得るか、またはクライアント130は、プレーヤが参加するセッションを選択できるようにするためのユーザインターフェース(UI)を提供してもよい。したがって、プレーヤは友人とARセッションに参加することを選択してもよい。いくつかの実施形態では、プレーヤは、アクセス保護されている(例えば、参加するためにパスワードまたはコードを要求する)プライベートARセッションを確立し得る。
様々な実施形態では、ARオブジェクト(例えば、生物、車両等)が実世界の特徴と相互作用するように見える(例えば、障害物を通過するのではなく飛び越える)ことを可能にするために、ARセッションモジュール430は、接続されたクライアント130の近くの実世界を表す地図データ(例えば、ローカルデータ格納部460に格納されている)を提供する。ARセッションモジュール430は、クライアント130の位置データ(例えば、GPS位置)を受信し、クライアントを取り巻く地理的領域(例えば、クライアントの現在位置の閾値距離内)の地図データを提供してもよい。
マップデータは、実世界の1つまたは複数の異なるタイプの表現を含むことができる。例えば、マップデータは、点群モデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(GIS)モデル、建物認識モデル、景観認識モデル等を含むことができる。マップデータは、様々な詳細レベルで特定のタイプの複数の表現を含んでもよい。例えば、マップデータは、それぞれが異なる数のポイントを含む2つ以上の点群モデルを含んでもよい。
クライアント130は、マップデータを、クライアント130上の1つまたは複数のセンサによって収集されたデータと比較して、クライアントの位置を精緻化してもよい。例えば、クライアント130上のカメラによって撮影された画像を点群モデルにマッピングすることにより、クライアントの位置及び向きを正確に判断してもよい(例えば、1cm及び0.1度以内)。クライアント130は、判断された位置及び向きを、プレーヤによって取られた行動(例えば、撮影、相互作用する仮想アイテムの選択、仮想アイテムのドロップ等)とともにARセッションモジュール430に戻す。したがって、ARセッションモジュール430は、ARセッションに参加する全てのプレーヤのゲームのステータスをアップデートし、ARセッションにおけるプレーヤの位置を正確に反映することができる。
マップ処理モジュール440は、現在の状態に基づいてマップデータをアップデートする(例えば、データ取込みモジュール420からのデータ)。実世界は静的ではないので、ローカルデータ格納部460内の地図データは、現在の実世界の状態を表し得ない。例えば、バーモント州の同じ公園の小道は、季節によって外観が大きく相違し得る。夏には、小道が明らかであり、周囲の木々が葉で覆われている可能性がある。一方、冬には、雪の吹きだまりによって小道が塞がれ、木々がむき出しになっている可能性がある。マップ処理モジュール440は、そのような変化を近似するようにマップデータを変換してもよい。
一実施形態において、マップ処理モジュール440は、現在の状態データを検索して変換を識別し、その変換をマップデータに適用する。様々な条件の変換は、ヒューリスティックルールによって定義するか、トレーニング済みの機械学習モデルの形式をとるか、両方の試みを組み合わせて使用してもよい。例えば、地図処理モジュール440は、現在の気象条件データを受信し、現在の気象条件の変換を行い、その変換をマップデータに適用してもよい。あるいは、マップ処理モジュール440は、変換されたマップを事前に計算し、それらを(例えば、ローカルデータ格納部460に)格納してもよい。このような場合、クライアント130がセルタワー120に接続すると、マップ処理モジュール440は、現在の状態を判断し、事前に計算されたマップデータの適切なバージョンを選択し、そのバージョンをクライアント130に提供する。
権限チェックモジュール450は、異なるクライアント130のゲーム状態間の同期を維持する。一実施形態では、権限チェックモジュール450は、クライアント130から受信されたゲーム行動が、ARセッションモジュール430によって維持されているゲーム状態と一致していることを確認する。例えば、2人のプレーヤの両方が同じゲーム内アイテムをピックアップしようとする場合、権限チェックモジュール450は、どちらのプレーヤがアイテムを受け取るかを判断する(例えば、要求に関連付けられたタイムスタンプに基づいて)。説明したように、P2Pセルタワー120でのプロトコル及びローカル処理は、プレーヤによって要求された行動(例えば、仮想オブジェクトの獲得)の結果を直接提供することにより、ARセッション中にプレーヤの行動が他のプレーヤのクライアントへ130で見られるまでのレイテンシを大幅に短縮し得る。したがって、権限チェックモジュール450によって発生し、解決される行動間の競合の例の可能性(及び数)が減少し、AR体験が改善され得る。
権限チェックモジュール450はまた、ゲーム状態のローカルコピーとサーバ110によって維持されるマスタゲーム状態との間の同期を維持してもよい。一実施形態において、権限チェックモジュール450は、定期的に(例えば、1秒から10秒ごとに)、サーバ110からゲーム状態に関する全体的なアップデートを受信する。権限チェックモジュール450は、これらのアップデートをゲーム状態のローカルコピーと比較し、不一致を解決する。例えば、アイテムをピックアップするというプレーヤの要求が最初に権限チェックモジュール450によって承認されたが、サーバ110からのゲームアップデートが、プレーヤがピックアップを試みる前にアイテムが他のプレーヤによってピックアップされた(またはそうでなければ利用できなくなった)ことを示す場合、権限チェックモジュール450は、アイテムがプレーヤの在庫から削除されるべきであることを示すアップデートをプレーヤのクライアント130に送信してもよい。
この処理は、異なるセルタワー120によって提供されるカバーの範囲の間の境界の近くに位置するクライアント130に価値を提供し得る。この場合、異なるセルタワー120に接続されたプレーヤは、両方とも同じ仮想的な要素と相互作用し得る。したがって、個々のセルタワー120は、要素との競合する相互作用を最初に承認する可能性があるが、サーバ110は、競合を検出し、アップデートを送信して競合を解決する(例えば、セルタワー120の1つに、行動の最初の承認を取り消し、それに応じてそのローカルゲーム状態をアップデートするように指示する)。
ローカルデータ格納部460は、セルタワー120によって使用されるデータを格納するように構成された1つまたは複数の非一時的なコンピュータ可読媒体である。一実施形態において、格納されたデータは、マップデータ、現在の状態データ、現在(または最近)接続されたクライアント130のリスト、P2Pフラグのリスト、地理的領域のゲーム状態のローカルコピー等を含んでもよい。ローカルデータ格納部460は単一のエンティティとして示されているが、データは複数の記憶媒体に分割されてもよい。さらに、いくつかのデータは通信ネットワークの他の場所に保存され、リモートでアクセスされてもよい。例えば、セルタワー120は、必要に応じて、現在の状態データにリモートで(例えば、サードパーティのサーバから)アクセスしてもよい。
方法の例
図5は、一実施形態に関する共有AR体験を提供する方法500を示す。図5のステップは、方法500を実行するエッジノード(例えば、セルタワー120)の観点から示されている。しかしながら、いくつか、または全てのステップは、他のエンティティまたは構成要素によって実行されてもよい。さらに、いくつかの実施形態は、ステップを並行して実行してもよく、異なる順序でステップを実行してもよく、または異なるステップを実行してもよい。
図5は、一実施形態に関する共有AR体験を提供する方法500を示す。図5のステップは、方法500を実行するエッジノード(例えば、セルタワー120)の観点から示されている。しかしながら、いくつか、または全てのステップは、他のエンティティまたは構成要素によって実行されてもよい。さらに、いくつかの実施形態は、ステップを並行して実行してもよく、異なる順序でステップを実行してもよく、または異なるステップを実行してもよい。
図5に示す実施形態において、方法500は、セルタワー120がクライアント130から接続要求を受信して開始する510。接続要求は、クライアント130の識別子、ゲームの識別子、プレーヤ識別子(例えば、ユーザ名)、クライアント130の現在位置データ(例えば、GPS位置)等のうちの1つまたは複数を含んでもよい。接続要求は、複数の部分に分割されてもよい。例えば、クライアント130は、最初にセルタワー120との通信チャネルを確立してもよく、次に、クライアント130上で実行されるARゲームは、共有ARセッションに参加する要求を送信して、共有AR体験を提供してもよい。
セルタワー120は、クライアント130の共有ARセッションを識別する520。特定の共有ARセッションは、クライアント130上で実行される特定のARゲーム、プレーヤに関する情報、プレーヤについての情報(例えば、セルタワーは、プレーヤの連絡先や、ゲーム内のプロフィールが似ている他のプレーヤと接続する傾向があってもよい。)、進行中のARセッションにすでに接続しているプレーヤの数等に基づいて選択されてもよい。一実施形態において、クライアント130は、セルタワー120と通信される、接続する共有ARセッションを識別する(例えば、プレーヤ入力に基づいて)。場合によっては、利用できる共有ARセッションが1つしかない場合があることに注意されたい。その場合、セルタワー120は、クライアント130をその共有ARセッションに自動的に接続してもよい。
セルタワー120は、クライアント130に共有ARセッションのためのマップデータ及びローカルゲーム状態を提供する530。一実施形態において、セルタワーは、クライアント130から受信した位置データ(例えば、GPSデータ)を使用して、利用可能なマップデータのサブセットを識別して、クライアントに提供する530。例えば、セルタワー120は、クライアント130の閾値距離内(例えば、100メートル以内)の実世界の位置を記述する地図データを提供してもよい。前述のように、マップデータは、クライアント130の周りの実世界の地理的領域を表す1つまたは複数のモデルを含んでもよい。クライアント130は、マップデータを使用して、共有ARセッション内でクライアント130の位置を見つけ、ローカルゲーム状態(例えば、仮想アイテム、クリーチャー、サイン等)に基づくARコンテンツを含むAR体験を提示する。
セルタワー120は、クライアント130から行動要求を受信する540。行動要求は、仮想アイテム、仮想キャラクター、仮想クリーチャー、または他のプレーヤ等、ARエクスペリエンス内のプレーヤとコンテンツとの間の任意の所望の相互作用を表してもよい。例えば、プレーヤは、仮想アイテムのピックアップ、仮想アイテムのドロップ、仮想アイテムの使用、仮想アイテムとの関り、仮想キャラクターとの会話、仮想クリーチャーの攻撃、別のプレーヤの攻撃等を希望してもよい。当業者は、ARゲームの特定の性質に応じて、実行され得る可能性のある広範囲の可能な行動を認識するであろう。
セルタワー120は、ゲーム状態に基づいて行動要求の結果を判定する550。結果は、特定の行動に応じて、様々なレベルの複雑さを持つ可能性がある一連のルールに基づくものであってもよい。例えば、行動が仮想アイテムのピックアップである場合、セルタワーが別のプレーヤがアイテムをすでにピックアップ、移動、または破壊したと判断しない限り、行動が単純に成功するようにしてもよい。前述のように、開示された技術を使用してレイテンシを短縮することは、珍しい事象である得る。一方、行動が仮想クリーチャーへの攻撃である場合、結果は一連の計算と仮想ダイスの役割に基づくものであってもよい。当業者は、行動の結果の判断に使用され得る広範囲の可能なルールセット及びアプローチを認識するであろう。
セルタワー120は、接続されたクライアント130に行動の結果を提供する560。一実施形態では、セルタワー120は、ARセッションに接続された全てのクライアント130に結果を提供する。他の実施形態では、セルタワー120は、実世界の閾値距離(例えば、100m)内で行動を実行するプレーヤのクライアント130のみに結果を提供する。開示された技術の結果のレイテンシは比較的低い(例えば、10ms以下)ので、プレーヤは、行動の結果を実質的にリアルタイムで体験し得る。したがって、プレーヤは、共有AR体験で互いに直接関わっているという印象を受け得る。
セルタワー120は、サーバ110によって維持されるマスタゲーム状態を用いて行動の結果を検証する570。いくつかの実施形態において、セルタワー120は、マスタゲーム状態から見て行動が有効である場合に限り、サーバ110に指示を送信してマスタゲーム状態をアップデートし、ローカルゲーム状態においてプレーヤによって行われた全ての行動を反映する。一実施形態では、セルタワー120は、定期的に(例えば、1秒から10秒ごとに)、ローカルゲーム状態がマスタゲーム状態と一致しているかを検証する。前述のように、これは、セルタワー120によってカバーされる領域の端で、異なるセルタワー120に接続されたプレーヤの行動が互いに干渉する可能性がある場合を取り扱うのに特に有用であり得る。ローカルゲーム状態とマスタゲーム状態との間の不一致が検出された場合、セルタワー120は、接続されたクライアント130にアップデートを行わせ、それらのゲーム状態をマスタゲーム状態に同期させてもよい。さらに、いくつかの実施形態では、セルタワー120は、検証のために行動及びその結果をサーバに送信してもよく、結果がマスタゲーム状態と競合することをサーバが示す場合、セルタワー120は、ローカルゲーム状態をアップデートして、その結果を取り消してもよい。
コンピュータシステムの例
図6は、一実施形態に関する、図1のネットワーク化されたコンピュータ環境100における使用に適したコンピュータ600の例を示す高次の機能ブロック図である。例示的なコンピュータ600は、チップセットに結合された少なくとも1つのプロセッサ602を含む。簡単のため、プロセッサ602は単一のエンティティとして言及しているが、対応する機能は、マルチコアプロセッサの使用、特定の動作の特殊なプロセッサへの割り当て(例えば、グラフィック処理)を含む様々な方法を使用して複数のプロセッサに分散され、マルチコアプロセッサを使用して、特定の処理を特殊なプロセッサ(例えばグラフィック処理ユニット)に割り当て、及び分散コンピュータ環境全体で操作を分割してもよいことを理解されたい。プロセッサ602へのいかなる言及も、そのようなアーキテクチャを含むと解釈されるべきである。
図6は、一実施形態に関する、図1のネットワーク化されたコンピュータ環境100における使用に適したコンピュータ600の例を示す高次の機能ブロック図である。例示的なコンピュータ600は、チップセットに結合された少なくとも1つのプロセッサ602を含む。簡単のため、プロセッサ602は単一のエンティティとして言及しているが、対応する機能は、マルチコアプロセッサの使用、特定の動作の特殊なプロセッサへの割り当て(例えば、グラフィック処理)を含む様々な方法を使用して複数のプロセッサに分散され、マルチコアプロセッサを使用して、特定の処理を特殊なプロセッサ(例えばグラフィック処理ユニット)に割り当て、及び分散コンピュータ環境全体で操作を分割してもよいことを理解されたい。プロセッサ602へのいかなる言及も、そのようなアーキテクチャを含むと解釈されるべきである。
チップセット604は、メモリコントローラハブ620及びI/Oコントローラハブ622を含む。メモリ606及びグラフィックアダプタ612は、メモリコントローラハブ620に結合されて、ディスプレイデバイス618は、グラフィックアダプタ612に結合される。ストレージデバイス608、キーボード610、ポインティングデバイス614、及びネットワークアダプタ616は、I/Oコントローラハブ622に結合される。コンピュータ600の他の実施形態は、異なるアーキテクチャを有する。
図6に示す実施形態において、ストレージデバイス608は、ハードドライブ、コンパクトデスク、リードオンリーメモリ(CD-ROM)、DVD、またはソリッドステートメモリのような非一時的なコンピュータ可読記憶媒体である。メモリ606は、プロセッサ602によって使用される命令及びデータを保持する。ポインティングデバイス614は、マウス、トラックボール、タッチスクリーン、または他のタイプのポインティングデバイスであり、キーボード610(オンスクリーンキーボードであってもよい)と組み合わせて使用され、コンピュータシステム600にデータを入力する。グラフィックアダプタ612は、画像及び他の情報をディスプレイデバイス618に表示する。ネットワークアダプタ616は、コンピュータシステム600を1つまたは複数のコンピュータネットワークに結合する。
図1のエンティティに使用されるコンピュータのタイプは、実施形態及びエンティティによって必要とされるパワーに依存して変更することができる。例えば、サーバ110には、説明されている機能を提供するために連携して動作する複数のブレードサーバを含む分散データベースシステムを含んでもよい。さらに、コンピュータは、キーボード610、グラフィックアダプタ612、及びディスプレイデバイス618等、上記のコンポーネントの一部を欠くことができる。
さらなる検討事項
上記の説明のいくつかの部分は、アルゴリズムのプロセスまたは操作の観点から実施形態を説明している。これらのアルゴリズムの説明及び表現は、データ処理技術における当業者によって一般的に用いられ、彼らの仕事の趣旨を効果的に他の当業者に伝える。これらの演算は、機能的、計算的、または論理的に説明されている一方で、コンピュータプログラム、または等価電気回路、マイクロコード等によって実装されると理解される。さらに、普遍性を消失することなく、時にはこれらの演算の配列をモジュールと称すると便利であることも分かる。
上記の説明のいくつかの部分は、アルゴリズムのプロセスまたは操作の観点から実施形態を説明している。これらのアルゴリズムの説明及び表現は、データ処理技術における当業者によって一般的に用いられ、彼らの仕事の趣旨を効果的に他の当業者に伝える。これらの演算は、機能的、計算的、または論理的に説明されている一方で、コンピュータプログラム、または等価電気回路、マイクロコード等によって実装されると理解される。さらに、普遍性を消失することなく、時にはこれらの演算の配列をモジュールと称すると便利であることも分かる。
本明細書で使用される場合、「一実施形態」または「実施形態」への全ての言及は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書における様々な場所において、「一実施形態において」という表現の説明は、必ずしも全てが同一の実施形態を参照しているわけではない。
いくつかの実施形態は、それらの派生物と共に「結合された」及び「接続された」という表現を使用して説明され得る。これらの用語は、互いに同義語として意図されていないことに理解されたい。例えば、ある実施形態は、「接続した」という用語を用いて説明し、2つまたはそれより多くの要素が互いに直接物理的、または電気的に接続していることを示してもよい。別の例示において、ある実施形態は、「結合した」という用語を用いて説明し、2つまたはそれより多くの要素が直接物理的、または電気的に接続していることを示してもよい。また、「結合した」という用語は、どのようなやり方であっても、2つまたはそれより多くの要素が互いに直接接触していないが、依然として互いに協働または相互作用することを意味してもよい。実施形態は、この文脈において限定されない。
本明細書で使用される場合、「含む」、「含んでいる」、「含む」、「含んでいる」、「有する」、「有している」またはそれらの他の任意の用語の変形は、非排他的な内容をカバーすることを意図する。例えば、要素のリストを備えるプロセス、方法、条項、もしくは装置は、必ずしもそれらの要素のみに限定されるのではなく、そのようなプロセス、方法、条項、もしくは装置に明示的に記載されていない、または内在する他の要素を含んでもよい。さらに、そうではないと明示的に述べられていない限り、「または」は、包括的な「または」に言及し、排他的な「または」に言及しない。例えば、状態AまたはBは、以下のいずれかを充足する:Aは真であり(または現在)Bは偽(または現在でない)である、Aは偽であり(または現在でない)Bは真(または現在)である、及びAとBの両方が真(または現在)である。
さらに、「a」または「an」の使用は、実施形態の要素及び構成要素を説明するために採用される。これは、単に簡単のためであり、本システムの一般的な意味を与えるものに過ぎない。本説明は、1つまたは少なくとも1つを含むものであり、また、そうでないことを意味することが明らかでない限り、単数形が複数形を含むように読まれるべきである。
最後に、特定の実施形態及び用途が例示及び説明されてきたが、これらの実施形態は例示的であることが理解されるべきである。開示された例に対する様々な修正、変更、及び変形は、当業者には明らかであり得る。したがって、開示された実施形態は、保護の範囲を制限すると見なされるべきではない。むしろ、保護の範囲は、以下のクレームによってのみ制限されるべきである。
Claims (20)
- 通信ネットワークのエッジノードによって共有拡張現実(AR)体験を提供するための方法であって、
前記エッジノードにおいて、クライアントからの接続要求を受信することと、
前記接続要求に基づいて前記クライアントの共有ARセッションを識別することと、
前記クライアントに、前記共有ARセッションによって提供されるAR体験の、前記エッジノードによって維持されるマップデータ及びローカル状態を提供することと、
前記クライアントから行動要求を受信することであって、前記行動要求は、前記AR体験における仮想アイテムとの所望の相互作用を示すことと、
前記AR体験の前記ローカル状態に基づいて、前記行動要求の結果を判断することと、
前記エッジノードに接続された複数のクライアントに、前記結果を提供することと、
前記結果を前記複数のクライアントに提供した後、サーバによって維持されている前記AR体験のマスタ状態を用いて、前記結果を検証することであって、前記検証は、前記結果が前記マスタ状態と競合しないことを検証することを含む、ことと、を含む方法。 - 前記エッジノードは、複数のクライアント及び前記サーバに接続されたセルタワーである、請求項1に記載の方法。
- 前記行動要求は、データグラムに含まれ、前記方法は、
前記データグラムを分析し、前記データグラムのフラグに基づいて、前記結果をピアツーピアに送信するか否かを決定することと、
前記結果をピアツーピアに送信すると決定することに応答し、前記エッジノードにおいて前記複数のクライアントのうちの1つまたは複数に前記結果を直接提供することと、
前記結果をピアツーピアに送信しないと決定することに応答し、前記結果を前記サーバに提供することと、
をさらに含む、請求項1に記載の方法。 - 前記マップデータは、点群モデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(GIS)モデル、建物認識モジュール、及び景観認識モデルのうちの1つまたは複数を含む、請求項1に記載の方法。
- 前記クライアントの位置を受信することと、
利用可能なマップデータのサブセットを識別して前記クライアントにマップデータとして提供することであり、前記利用可能なマップデータのサブセットは、前記クライアントの前記位置から閾値距離内であることと、
をさらに含む、請求項1に記載の方法。 - 前記マスタ状態は、複数の異なるローカル状態を使用して計算され、各ローカル状態は、異なる実世界の場所にある異なるエッジノードによって維持される、請求項1に記載の方法。
- 前記AR体験の前記マスタ状態を用いて前記結果を検証することは、
前記結果が前記マスタ状態と競合するという前記サーバからの指示を受信することに応答して、前記ローカル状態をアップデートして前記結果を取り消すことと、
前記結果が取り消されたことを示すアップデートを前記複数のクライアントのそれぞれに送信することと、
を含む、請求項1に記載の方法。 - プロセッサによって実行可能な命令を含む非一時的なコンピュータ可読記憶媒体であって、前記命令は、
ネットワークと通信するエッジノードにおいて、クライアントから接続要求を受信するための命令と、
前記接続要求に基づいて前記クライアントの共有ARセッションを識別するための命令と、
前記クライアントに、前記共有ARセッションによって提供されるAR体験の、前記エッジノードによって維持されるマップデータ及びローカル状態を提供するための命令と、
前記クライアントから行動要求を受信するための命令であって、前記行動要求が前記AR体験における仮想アイテムとの所望の相互作用を示す命令と、
前記AR体験のローカル状態に基づいて、前記行動要求の結果を判断するための命令と、
前記エッジノードに接続された複数のクライアントに、前記結果を提供するための命令と、
前記結果を前記複数のクライアントに提供した後、サーバによって維持されている前記AR体験のマスタ状態を用いて、前記結果を検証するための命令であって、前記検証は、前記結果が前記マスタ状態と競合しないことを検証することを含む、命令と、
を含む非一時的なコンピュータ可読記憶媒体。 - 前記エッジノードは、複数のクライアント及び前記サーバに接続されたセルタワーである、請求項8に記載の非一時的なコンピュータ可読記憶媒体。
- 前記行動要求は、データグラムに含まれ、前記命令は、
前記データグラムを分析し、前記データグラムのフラグに基づいて、前記結果をピアツーピアに送信するか否かを決定するための命令と、
前記結果をピアツーピアに送信すると決定することに応答し、前記エッジノードにおいて前記複数のクライアントのうちの1つまたは複数に前記結果を直接提供するための命令と、
前記結果をピアツーピアに送信しないと決定することに応答し、前記結果を前記サーバに提供するための命令と、
をさらに含む、請求項8に記載の非一時的なコンピュータ可読記憶媒体。 - 前記マップデータは、点群モデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(GIS)モデル、建物認識モジュール、及び景観認識モデルのうちの1つまたは複数を含む、請求項8に記載の非一時的なコンピュータ可読記憶媒体。
- 前記命令は、
前記クライアントの位置を受信するための命令と、
利用可能なマップデータのサブセットを識別して前記クライアントにマップデータとして提供するための命令であって、前記利用可能なマップデータのサブセットは、前記クライアントの前記位置から閾値距離内である命令と、
をさらに含む、請求項8に記載の非一時的なコンピュータ可読媒体。 - 前記マスタ状態は、複数の異なるローカル状態を使用して計算され、各ローカル状態は、異なる実世界の場所にある異なるエッジノードによって維持される、請求項8に記載の非一時的なコンピュータ可読媒体。
- 前記結果を前記複数のクライアントに提供した後、前記サーバによって維持されているマスタゲーム状態を用いて前記結果を検証するための前記命令は、
前記結果が前記マスタ状態と競合するという前記サーバからの指示を受信することに応答して、前記ローカル状態をアップデートして前記結果を取り消すための命令と、
前記結果が取り消されたことを示すアップデートを前記複数のクライアントのそれぞれに送信するための命令と、を含む、請求項8に記載の非一時的なコンピュータ可読媒体。 - コンピュータネットワークのエッジノードであって、前記エッジノードは、
前記エッジノードに接続された1つまたは複数のクライアントのリストを格納するローカルデータ格納部と、
ルーティングモジュールであり、
追加のクライアントからの接続要求を受信することと、
前記接続要求に基づいて前記追加のクライアントの共有ARセッションを識別することと
前記追加のクライアントに、前記共有ARセッションによって提供されるAR体験の、前記エッジノードによって維持されるマップデータ及びローカル状態を提供することと、
前記追加のクライアントから行動要求を受信することであって、前記行動要求が前記AR体験における仮想アイテムとの所望の相互作用を示すことと、
前記AR体験の前記ローカル状態に基づいて、前記行動要求の結果を判断することと、
前記エッジノードに接続された1つまたは複数のクライアントに、前記結果を提供することと、
前記結果を前記エッジノードに接続された前記1つまたは複数のクライアントに提供した後、サーバによって維持されている前記AR体験のマスタ状態を用いて前記結果を検証することであって、前記検証は、前記結果が前記マスタ状態と競合しないことを検証することを含む、ことと、
を含む操作を実行するように構成されたルーティングモジュールと、
を備えた、エッジノード。 - 前記行動要求は、データグラムに含まれ、前記操作は、
前記データグラムを分析し、前記データグラムのフラグに基づいて、前記結果をピアツーピアで送信するか否かを決定することと、
前記結果をピアツーピアに送信すると決定することに応答し、前記リスト上の前記1つまたは複数のクライアントに前記結果を直接提供することと、
前記結果をピアツーピアに送信しないと決定することに応答し、前記結果を前記サーバに提供することと、
をさらに含む、請求項15に記載のエッジノード。 - 前記マップデータは、点群モデル、平面マッチングモデル、ラインマッチングモデル、地理情報システム(GIS)モデル、建物認識モジュール、及び景観認識モデルのうちの1つまたは複数を含む、請求項15に記載のエッジノード。
- 前記操作は、
前記追加のクライアントの位置を受信することと、
利用可能なマップデータのサブセットを識別して前記追加のクライアントにマップデータとして提供することであり、前記利用可能なマップデータのサブセットは、前記追加のクライアントの前記位置から閾値距離内であることと、
をさらに含む、請求項15に記載のエッジノード。 - 前記マスタ状態は、複数の異なるローカル状態を使用して計算され、各ローカル状態は、異なる実世界の場所にある異なるエッジノードによって維持される、請求項15に記載のエッジノード。
- 前記AR体験の前記マスタ状態を用いて前記結果を検証することは、
前記結果が前記マスタ状態と競合するという前記サーバからの指示を受信することに応答して、前記ローカル状態をアップデートして前記結果を取り消すことと、
前記結果が取り消されたことを示すアップデートを前記1つまたは複数のクライアントのそれぞれに送信することと、
含む、請求項15に記載のエッジノード。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962810115P | 2019-02-25 | 2019-02-25 | |
US62/810,115 | 2019-02-25 | ||
PCT/IB2020/051614 WO2020174404A1 (en) | 2019-02-25 | 2020-02-25 | Augmented reality mobile edge computing |
JP2021549841A JP7185068B2 (ja) | 2019-02-25 | 2020-02-25 | 拡張現実モバイルエッジコンピュータ |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021549841A Division JP7185068B2 (ja) | 2019-02-25 | 2020-02-25 | 拡張現実モバイルエッジコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023029888A true JP2023029888A (ja) | 2023-03-07 |
Family
ID=72142647
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021549841A Active JP7185068B2 (ja) | 2019-02-25 | 2020-02-25 | 拡張現実モバイルエッジコンピュータ |
JP2022187351A Pending JP2023029888A (ja) | 2019-02-25 | 2022-11-24 | 拡張現実モバイルエッジコンピュータ |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021549841A Active JP7185068B2 (ja) | 2019-02-25 | 2020-02-25 | 拡張現実モバイルエッジコンピュータ |
Country Status (9)
Country | Link |
---|---|
US (2) | US11420116B2 (ja) |
EP (1) | EP3918579A4 (ja) |
JP (2) | JP7185068B2 (ja) |
KR (2) | KR20230132894A (ja) |
CN (2) | CN113728362B (ja) |
AU (2) | AU2020228333B2 (ja) |
CA (2) | CA3130880C (ja) |
TW (1) | TW202040981A (ja) |
WO (1) | WO2020174404A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11077365B2 (en) | 2018-06-27 | 2021-08-03 | Niantic, Inc. | Low latency datagram-responsive computer network protocol |
WO2020174404A1 (en) | 2019-02-25 | 2020-09-03 | Niantic, Inc. | Augmented reality mobile edge computing |
CA3165313A1 (en) | 2019-12-20 | 2021-06-24 | Niantic, Inc. | Data hierarchy protocol for data transmission pathway selection |
US11833423B2 (en) | 2020-09-29 | 2023-12-05 | Activision Publishing, Inc. | Methods and systems for generating level of detail visual assets in a video game |
US11724188B2 (en) * | 2020-09-29 | 2023-08-15 | Activision Publishing, Inc. | Methods and systems for selecting a level of detail visual asset during the execution of a video game |
US11717753B2 (en) * | 2020-09-29 | 2023-08-08 | Activision Publishing, Inc. | Methods and systems for generating modified level of detail visual assets in a video game |
JP6913809B1 (ja) * | 2020-10-21 | 2021-08-04 | 株式会社Cygames | ゲームシステム、エッジ側サーバ、クラウド側サーバ、ゲーム端末及びゲーム制御方法 |
US20220147616A1 (en) * | 2020-11-11 | 2022-05-12 | Red Hat, Inc. | Implementing trusted clients using secure execution environments |
CN113628347A (zh) * | 2021-07-16 | 2021-11-09 | 炫彩互动网络科技有限公司 | 基于边缘计算的云ar实景共享方法及系统 |
CN113706721A (zh) * | 2021-09-07 | 2021-11-26 | 中国计量大学 | 一种基于增强现实技术的电梯检验方法及系统 |
TWI823146B (zh) * | 2021-09-14 | 2023-11-21 | 仁寶電腦工業股份有限公司 | 用於即時mr互動應用之邊緣渲染運算方法及系統 |
CN115242774A (zh) * | 2022-06-24 | 2022-10-25 | 浪潮通信技术有限公司 | 边缘计算网关配置传输方法及装置 |
TWI817825B (zh) * | 2022-11-11 | 2023-10-01 | 財團法人資訊工業策進會 | 擴增實境互動系統、伺服器以及行動裝置 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473404B1 (en) | 1998-11-24 | 2002-10-29 | Connect One, Inc. | Multi-protocol telecommunications routing optimization |
US6865169B1 (en) | 1999-11-02 | 2005-03-08 | Ipwireless, Inc. | Cellular wireless internet access system using spread spectrum and internet protocol |
TW463840U (en) | 2000-05-26 | 2001-11-11 | Great Asia Engineering Consult | Construction device for retaining wall and foundation pile of caisson type |
SE520129C2 (sv) * | 2000-10-27 | 2003-05-27 | Terraplay Systems Ab | Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer |
US7616961B2 (en) | 2002-04-29 | 2009-11-10 | Harris Corporation | Allocating channels in a mobile ad hoc network |
US8149707B2 (en) | 2003-02-12 | 2012-04-03 | Rockstar Bidco, LP | Minimization of radio resource usage in multi-hop networks with multiple routings |
EP1678886B1 (en) | 2003-10-27 | 2009-02-18 | Nokia Corporation | Method and devices for relayed peer-to-peer communications between terminals in mobile networks |
US20170310500A1 (en) | 2005-03-16 | 2017-10-26 | Icontrol Networks, Inc. | Controlling Data Routing in Premises Management Systems |
WO2006125454A1 (en) | 2005-05-23 | 2006-11-30 | Telefonaktiebolaget L.M. Ericsson (Publ.) | Traffic diversion in an ethernet-based access network |
US20070104190A1 (en) | 2005-11-07 | 2007-05-10 | Nokia Corporation | User datagram protocol packet processing on network elements |
US7839815B2 (en) | 2006-02-10 | 2010-11-23 | Alcatel-Lucent Usa Inc. | Triggering migration of a network access agent associated with an access terminal |
US8787366B2 (en) | 2007-06-29 | 2014-07-22 | Qualcomm Incorporated | Community driven program access system and method |
US8407605B2 (en) * | 2009-04-03 | 2013-03-26 | Social Communications Company | Application sharing |
WO2009070713A1 (en) | 2007-11-29 | 2009-06-04 | Bigfoot Networks, Inc. | Remote message routing device and methods thereof |
JP5599781B2 (ja) | 2008-04-29 | 2014-10-01 | ノキア シーメンス ネットワークス オサケユキチュア | 簡易化したローカル経路指定 |
US8619756B2 (en) | 2009-07-15 | 2013-12-31 | Qualcomm Incorporated | Systems and methods for providing resource allocation meeting communication constraints for multi-hop network data flows |
US9992762B2 (en) | 2010-02-25 | 2018-06-05 | James Michael Graziano | Reverse path communication system |
JP2011188358A (ja) | 2010-03-10 | 2011-09-22 | Panasonic Corp | Vpn装置及びip通信装置 |
US8402515B2 (en) | 2010-05-06 | 2013-03-19 | Jonathan Weizman | Apparatus and method for establishing a peer-to-peer communication session with a client device |
JP5507350B2 (ja) * | 2010-06-11 | 2014-05-28 | 任天堂株式会社 | 携帯型情報端末、携帯型情報端末制御プログラム、携帯型情報システム、および、携帯型情報端末制御方法 |
KR101763887B1 (ko) | 2011-01-07 | 2017-08-02 | 삼성전자주식회사 | 디바이스간 동기화된 인터랙션을 제공하는 콘텐츠 동기화 장치 및 방법 |
KR101292463B1 (ko) * | 2011-01-27 | 2013-07-31 | 주식회사 팬택 | 원격으로 증강현실 서비스를 공유하는 증강현실 시스템 및 그 방법 |
CN107105007B (zh) | 2011-02-21 | 2020-06-12 | 黑莓有限公司 | 对等节点、对等应用服务器和存储介质 |
CN102843349B (zh) | 2011-06-24 | 2018-03-27 | 中兴通讯股份有限公司 | 实现移动增强现实业务的方法及系统、终端及服务器 |
US20130034047A1 (en) | 2011-08-05 | 2013-02-07 | Xtreme Labs Inc. | Method and system for communicating with web services using peer-to-peer technology |
CN102984186A (zh) | 2011-09-05 | 2013-03-20 | 中兴通讯股份有限公司 | 会话建立方法及装置 |
CA3164530C (en) | 2011-10-28 | 2023-09-19 | Magic Leap, Inc. | System and method for augmented and virtual reality |
US20140362749A1 (en) | 2011-12-02 | 2014-12-11 | No Strings Toys, Llc | Wireless devices and control method |
US20130178257A1 (en) * | 2012-01-06 | 2013-07-11 | Augaroo, Inc. | System and method for interacting with virtual objects in augmented realities |
JP6048784B2 (ja) * | 2012-02-16 | 2016-12-21 | 任天堂株式会社 | ゲームシステム、ゲーム制御方法、携帯型ゲーム装置及びゲーム制御プログラム |
EP2645667A1 (en) | 2012-03-27 | 2013-10-02 | Alcatel-Lucent | Apparatus for updating and transmitting augmented reality data |
US20140015858A1 (en) | 2012-07-13 | 2014-01-16 | ClearWorld Media | Augmented reality system |
US9148484B2 (en) | 2013-07-15 | 2015-09-29 | Federico Fraccaroli | Method, system and apparatus for providing a mediated sensory experience to users positioned in a shared location |
WO2014031899A1 (en) | 2012-08-22 | 2014-02-27 | Goldrun Corporation | Augmented reality virtual content platform apparatuses, methods and systems |
CN102968549B (zh) * | 2012-10-17 | 2016-01-20 | 北京大学 | 基于智能移动终端设备的多人在线交互方法与系统 |
CA2896985A1 (en) | 2013-01-03 | 2014-07-10 | Meta Company | Extramissive spatial imaging digital eye glass for virtual or augmediated vision |
GB2513345B (en) | 2013-04-23 | 2017-07-26 | Gurulogic Microsystems Oy | Data communication system and method |
US9413797B2 (en) | 2013-04-23 | 2016-08-09 | Gurulogic Microsystems Oy | Data communication system and method |
CN105794177A (zh) * | 2013-12-01 | 2016-07-20 | 交互数字专利控股公司 | 使用基于策略的决策引擎的体验质量优化 |
CN103760972B (zh) * | 2013-12-18 | 2017-03-01 | 微软技术许可有限责任公司 | 跨平台的增强现实体验 |
US10142444B2 (en) | 2014-07-01 | 2018-11-27 | Trinity Mobile Networks, Inc. | Methods, devices, and systems for implementing centralized hybrid wireless self-organizing networks |
KR101608172B1 (ko) * | 2014-12-22 | 2016-03-31 | 주식회사 넥슨코리아 | 객체를 제어하는 방법 및 장치 |
US11627639B2 (en) | 2015-01-26 | 2023-04-11 | Ievgen Verzun | Methods and apparatus for HyperSecure last mile communication |
JP5937709B1 (ja) | 2015-01-29 | 2016-06-22 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 通信制御装置、通信制御方法及び通信制御プログラム |
US10382322B2 (en) | 2015-11-20 | 2019-08-13 | Sap Se | Data routing for electronic devices |
US10201755B2 (en) * | 2016-02-25 | 2019-02-12 | Pick A Play Networks Inc. | System and method for providing a platform for real time interactive game participation |
US10238965B2 (en) * | 2016-04-28 | 2019-03-26 | Sony Interactive Entertainment America Llc | Cloud gaming device handover |
KR101940720B1 (ko) * | 2016-08-19 | 2019-04-17 | 한국전자통신연구원 | 공간 기반 증강현실을 위한 콘텐츠 저작 장치 및 그 방법 |
US10812936B2 (en) | 2017-01-23 | 2020-10-20 | Magic Leap, Inc. | Localization determination for mixed reality systems |
CN106656800B (zh) | 2017-02-21 | 2020-04-14 | 网宿科技股份有限公司 | 一种路径选取方法及系统、网络加速节点及网络加速系统 |
US20180262432A1 (en) * | 2017-03-10 | 2018-09-13 | Vidscale, Inc. | Vertical packet aggregation using a distributed network |
US10885714B2 (en) * | 2017-07-07 | 2021-01-05 | Niantic, Inc. | Cloud enabled augmented reality |
US10717005B2 (en) * | 2017-07-22 | 2020-07-21 | Niantic, Inc. | Validating a player's real-world location using activity within a parallel reality game |
US11077365B2 (en) | 2018-06-27 | 2021-08-03 | Niantic, Inc. | Low latency datagram-responsive computer network protocol |
US10911381B2 (en) * | 2018-12-27 | 2021-02-02 | Verizon Media Inc. | Presenting and sharing augmented reality objects |
WO2020174404A1 (en) | 2019-02-25 | 2020-09-03 | Niantic, Inc. | Augmented reality mobile edge computing |
US11182966B2 (en) * | 2019-06-24 | 2021-11-23 | At&T Intellectual Property I, L.P. | System for collaboration of augmented reality events |
-
2020
- 2020-02-25 WO PCT/IB2020/051614 patent/WO2020174404A1/en unknown
- 2020-02-25 KR KR1020237030530A patent/KR20230132894A/ko not_active Application Discontinuation
- 2020-02-25 CA CA3130880A patent/CA3130880C/en active Active
- 2020-02-25 JP JP2021549841A patent/JP7185068B2/ja active Active
- 2020-02-25 KR KR1020217030620A patent/KR102577903B1/ko active Application Filing
- 2020-02-25 CA CA3218625A patent/CA3218625A1/en active Pending
- 2020-02-25 EP EP20763709.1A patent/EP3918579A4/en active Pending
- 2020-02-25 AU AU2020228333A patent/AU2020228333B2/en active Active
- 2020-02-25 CN CN202080028046.8A patent/CN113728362B/zh active Active
- 2020-02-25 CN CN202410364300.1A patent/CN118055131A/zh active Pending
- 2020-02-25 US US16/800,551 patent/US11420116B2/en active Active
- 2020-02-25 TW TW109106080A patent/TW202040981A/zh unknown
-
2022
- 2022-07-22 US US17/871,030 patent/US11794101B2/en active Active
- 2022-11-24 JP JP2022187351A patent/JP2023029888A/ja active Pending
-
2023
- 2023-08-25 AU AU2023219969A patent/AU2023219969A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2020228333B2 (en) | 2023-05-25 |
JP2022523215A (ja) | 2022-04-21 |
CA3130880A1 (en) | 2020-09-03 |
CA3130880C (en) | 2024-01-02 |
CN113728362A (zh) | 2021-11-30 |
TW202040981A (zh) | 2020-11-01 |
EP3918579A4 (en) | 2022-04-13 |
KR102577903B1 (ko) | 2023-09-14 |
EP3918579A1 (en) | 2021-12-08 |
US11794101B2 (en) | 2023-10-24 |
JP7185068B2 (ja) | 2022-12-06 |
KR20210121289A (ko) | 2021-10-07 |
US11420116B2 (en) | 2022-08-23 |
WO2020174404A1 (en) | 2020-09-03 |
CN113728362B (zh) | 2024-04-16 |
AU2023219969A1 (en) | 2023-09-14 |
AU2020228333A1 (en) | 2021-10-28 |
KR20230132894A (ko) | 2023-09-18 |
CN118055131A (zh) | 2024-05-17 |
US20220355195A1 (en) | 2022-11-10 |
CA3218625A1 (en) | 2020-09-03 |
US20200269132A1 (en) | 2020-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7185068B2 (ja) | 拡張現実モバイルエッジコンピュータ | |
JP7033219B2 (ja) | 低レイテンシデータグラム応答性コンピュータネットワークプロトコル | |
CN115136559A (zh) | 用于数据传输路径选择的数据层次结构协议 | |
US20220407804A1 (en) | Routing using partial message parsing | |
TWI840844B (zh) | 使用部分訊息解析之路由 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230227 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240513 |