CN112352413B - 低时延数据报响应的计算机网络协议 - Google Patents
低时延数据报响应的计算机网络协议 Download PDFInfo
- Publication number
- CN112352413B CN112352413B CN201980043252.3A CN201980043252A CN112352413B CN 112352413 B CN112352413 B CN 112352413B CN 201980043252 A CN201980043252 A CN 201980043252A CN 112352413 B CN112352413 B CN 112352413B
- Authority
- CN
- China
- Prior art keywords
- datagram
- point
- determining
- augmented reality
- client device
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
-
- 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/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
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
- 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/53—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 details of basic data processing
- A63F2300/534—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 details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Child & Adolescent Psychology (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了用于提供共享增强现实环境的系统和方法。具体地,通过使用点对点协议来减少通信的时延,以确定将数据报发送到何处。数据报描述在共享增强现实环境内发生的动作,并且数据报的处理在通信网络(例如,蜂窝塔)的中间节点和服务器之间被划分。结果,当数据报被标记为点对点时,中间节点可以提供对客户端设备的本地状态的更新,并且以其他方式提供对服务器上的主状态的更新。这可以减少通信的时延,并且允许基于位置的并行现实游戏的用户看到动作在共享增强现实环境中更快地发生。
Description
技术领域
本公开涉及计算机网络协议,并且具体地涉及用于在彼此物理邻近度内的设备之间提供低时延无线通信的协议。
背景技术
计算机网络(诸如互连网)是交换数据的互连的计算设备的集合。诸如用户数据报协议(UDP)的通信协议定义了用于使用计算机网络来交换数据的规则系统。UDP在没有数据报的受保证的传递、排序或非重复性的情况下,遵守无连接通信模型。数据报是针对通信的基本单位并且包括报头和有效载荷。报头是元数据,指定数据报的各方面,诸如,源端口、目的地端口、数据报的长度、以及数据报的校验和。有效载荷是由数据报传达的数据。使用UDP进行通信的计算设备经由计算机网络来彼此传输数据报。
诸如UDP的无连接通信协议通常比诸如传输控制协议(TCP)的面向连接的通信协议具有更低的开销和时延,面向连接的通信协议在传输数据之前在计算设备之间建立连接。但是,现有的无连接通信协议不足以进行需要比现有技术所提供的时延更短的数据传输。例如,以每秒60帧(FPS)流式传输的增强现实(AR)环境可能需要比当前技术所提供的时延低一个数量级的时延。在这样的AR环境中,帧以大约十六毫秒的间隔被隔开,而当前网络协议通常提供大约一百毫秒(或更长)的时延。
这样,利用现有技术,用户不与AR环境的当前状态交互,仅与最近状态交互。使用客户端通过计算机网络而与AR环境进行交互的用户可以与AR位置性数据的旧状态进行交互。例如,在AR游戏中,玩家可以在旧位置(例如,对象之前在此为100毫秒)处看到AR对象,而AR位置性数据实际上具有针对该对象的新位置(例如,AR对象已被另一玩家移动)。客户端与托管或协调AR游戏的服务器之间的通信中的时延可能导致令人沮丧的用户体验。在多个用户参与AR游戏的情况下,该问题可能尤其严重,因为时延可能会导致在AR环境中其他玩家的视图中出现的一个玩家的动作之间的明显延迟。
发明内容
增强现实(AR)系统利用计算机生成的内容来补充现实世界的视图。将AR并入并行现实游戏中可以改进现实世界与虚拟世界之间的整合。AR还可以通过为玩家提供机会以供参与他们互动的共享游戏体验来增加玩家之间的互动性。例如,在坦克大战游戏中,玩家可能会在现实世界位置周围对虚拟坦克进行导航,以试图摧毁对方的坦克。坦克的移动可能会受到现实世界地理环境的限制(例如,坦克在河流中的移动速度较慢、在道路上的移动速度更快、在墙壁上无法移动等)。
现有的AR会话技术涉及服务器维护主状态并且经由网络(例如,互联网)来将环境在客户端设备处的本地状态周期性地同步到主状态。但是,同步设备的本地状态可能会花费大量时间(例如,~100毫秒),这对游戏体验是不利的。结果,玩家正在与过去的游戏状态而不是当前的游戏状态交互。在多于一个的用户参与AR游戏的情况下,该问题可能尤其严重,因为时延会导致在其他玩家的视图中出现的一个玩家的动作之间的明显延迟。例如,如果一个玩家在世界中移动了AR对象,则其他玩家可能直到一百毫秒(或更长)之后才看到它已移动,这是人类可以感知的延迟。这样,另一玩家可能会尝试与在其先前位置中的对象进行交互,并且在游戏校正时延(例如,通过拒绝实现玩家所请求的动作或最初实现动作,然后在玩家的客户端设备接下来与服务器同步时撤消动作)之后感到沮丧。
该问题和其他问题可以通过在中间节点(例如,蜂窝塔)处进行处理数据报而被解决。时延可以使用点对点(P2P)协议而被减少,点对点协议在无需经由游戏服务器路由更新的情况下,在被连接到同一边缘节点的客户端之间交换游戏更新。例如,使用这些方法,时延可以被减少到~10毫秒或更短。此外,这可以增加带宽可用性,使得更多的玩家能够共享共同的AR体验。
在一个实施例中,用于更新共享AR环境的游戏状态的方法包括:在中间节点处接收被寻址到目标客户端设备的数据报。数据报包括与在共享增强现实环境中发生的动作相关的数据以及数据报是否是P2P的指示符。中间节点(诸如,蜂窝塔)基于指示符来确定数据报是否是点对点。如果数据报是P2P,则中间节点向目标客户端设备发送数据报,以根据所发生的动作来更新共享AR环境在目标客户端设备处的本地状态。否则,如果数据报不是P2P,则中间节点根据所发生的动作,向服务器发送数据报,以更新共享AR环境在服务器处的主状态。在进一步的实施例中,中间节点还向服务器发送其向目标客户端设备发送的数据报的一些或全部数据报,以更新主共享AR状态。
附图说明
图1图示了根据一个实施例的其中可以使用所公开的协议的计算机网络。
图2图示了根据一个实施例的根据所公开的协议所配置的数据报。
图3是根据一个实施例图示了图1的蜂窝塔的框图。
图4图示了根据一个实施例的用于使用低时延数据报响应的计算机网络协议的过程。
图5是图示了根据一个实施例的适于在图1所示的计算机网络内使用的示例计算机的高级框图。
具体实施方式
附图和以下描述仅通过例示的方式描述了某些实施例。本领域技术人员将从以下的描述中容易地认识到,在不脱离所描述的原理的情况下,可以采用结构和方法的备选实施例。现在将参考若干实施例,实施例的示例在附图中图示。在可行的地方,在附图中使用相同或相似的附图标记来指示相同或相似的功能。如果元素使用相同的数字以及之后的不同字母,则这些元素相似或相同。单独的数字指代这样的元素中的任一个或任何组合。
示例计算环境
如本文所公开的,数据报响应的计算机网络协议(“所公开的协议”)可以降低计算机网络时延(例如,在一个实施例中,时延为~10毫秒)。图1图示了根据一个实施例的使用所公开的协议进行通信的计算机网络。为了清楚起见,该图图示了使用框图的简化示例。计算机网络包括两个客户端110A、110B、服务器120和蜂窝塔130。在一些其他实施例中,计算机网络可以包括更少、附加或其他组件,诸如,附加的客户端、服务器120、蜂窝塔130、或其他网络节点。例如,计算机网络可以是使用一个或多个WiFi路由器而不是蜂窝塔130作为网络节点的局域网(LAN)。
客户端110A、110B是诸如个人计算机、膝上型计算机、平板计算机、智能电话等计算设备。客户端110A、110B可以使用所公开的协议进行通信。服务器120类似地是能够经由所公开的协议进行通信的计算设备。客户端110A、110B可以使用所公开的协议、或者在一些实施例中可以使用不同的协议来与服务器120通信。例如,客户端110A、110B可以使用所公开的协议彼此通信,但是使用TCP来与服务器120通信。在一个实施例中,每个客户端110A、110B包括本地AR模块,并且服务器120包括主AR模块。每个本地AR模块向其他客户端上的本地AR模块和/或服务器120上的主AR模块传达AR数据。
蜂窝塔130是充当针对诸如客户端110A、110B的最终节点的中间节点的网络节点。如上所述,在一些其他实施例中,计算机网络可以包括替换蜂窝塔130或附加于蜂窝塔130但是启用类似的通信的其他网络节点。蜂窝塔130增加消息可以被通信的范围。例如,客户端110A可以将消息发送到蜂窝塔130,蜂窝塔130继续将消息传输到客户端110B,其中在没有蜂窝塔130的情况下,客户端110A将不能与客户端110B通信。
在一个实施例中,客户端110A、110B通信可以通过服务器120或点对点(P2P)而被路由。通过服务器120被路由的通信可以经由蜂窝塔130而从第一客户端110A去往服务器120,然后通过蜂窝塔130回到第二客户端110B。相反,P2P通信可以从第一客户端110A去往蜂窝塔130,然后直接到达第二客户端110B。请注意,在某些情况下,通信可以传递通过诸如信号增强器的其他中间设备。如本文中所使用的,如果通信在不传递通过服务器120的情况下被路由到目标客户端110B,则它被认为是P2P。例如,如果目标客户端110B被连接到与发送客户端110A相同的蜂窝塔130,则消息(例如,数据报)可以被P2P发送,并且以其他方式经由服务器被路由。在另一实施例中,客户端110A、110B完全使用P2P进行通信。此外,在一些实施例中,UDP打孔可以被用于在两个或更多客户端之中建立连接。
在一个实施例中,客户端110A、110B使用协调服务(例如,被托管在服务器处并且经由TCP与之通信)来同步IP地址。客户端110A、110B然后可以使用面向公众的IP地址或局域网(LAN)来进行通信(例如,经由UDP)。例如,第一客户端110A可以经由TCP来向协调服务发送加入本地AR共享环境的请求。协调服务可以向第一客户端110A提供(例如,经由同一蜂窝塔130)与AR环境连接的第二客户端110B的IP地址。协调服务还可以将第一客户端的IP地址提供给第二客户端110B,或者第一客户端110A可以使用第二客户端的IP地址来直接提供(由协调服务提供)。在一些实施例中,协调服务可以在第二客户端的IP地址被提供之前,提示第二客户端110B批准第一客户端110A(例如,通过请求用户确认或检查与第二客户端110B连接的经批准的客户端的列表)。
图2图示了根据一个实施例的根据所公开的协议所配置的数据报200。数据报200包括有效载荷202,有效载荷202如上所述是数据报200的内容。数据报200还包括报头204,报头204的一部分是P2P标志206,P2P标志206也被称为指示符。报头可以类似于UDP报头加上P2P标志206,或者除P2P标志之外可以包含不同的或附加的元数据。P2P标志被用于确定数据报200是被发送到服务器120还是被P2P发送到另一客户端110A、110B。在一些其他实施例中,P2P标志206被报头内提供类似功能的一个或多个其他指示符替换。
蜂窝塔130从客户端110A接收405数据报200,并且基于P2P标志206来确定如何路由数据报。在一个实施例中,P2P标志206可以由发送客户端110A设置,以指示如果可能,数据报200应当被P2P发送。蜂窝塔130分析数据报200,假设P2P标志206指示数据报200应当被P2P发送,确定目标客户端110B当前是否被连接到蜂窝塔(例如,通过将目标客户端110B的标识符与当前连接的客户端的列表相比较)。如果目标客户端110B被连接到蜂窝塔130,则数据报200在不经由服务器120的情况下被发送到蜂窝塔130。相反,如果目标客户端110B未被连接到蜂窝塔130,则数据报200被发送到服务器120,以继而被发送到目标客户端110B(例如,经由其当前被连接的第二蜂窝塔130)。例如,服务器120可以维护哪些蜂窝塔130当前或最近已被连接到哪些客户端设备110A、110B的数据库或其他列表。在一些实施例中,蜂窝塔130可以将数据报200发送给目标客户端110B和服务器120两者。
在另一实施例中,P2P标志206可以是AR会话、用户、设备、游戏账户等的标识符。蜂窝塔130维护如下P2P标志206的列表,针对P2P标志206的数据报200应当被P2P发送(或如果可能是P2P)。蜂窝塔130对数据报200进行分析410,以确定其应当经由服务器120被发送还是P2P发送。如果P2P标志206在列表上包括标识符,则数据报200是P2P消息,并且蜂窝塔130将数据报200发送415到目标客户端。例如,如果数据报200的报头204指示目的地端口是客户端110B的端口,则蜂窝塔130将数据报200发送415到客户端110B。相反,如果P2P标志206指示数据报200不是P2P消息,则蜂窝塔130将P2P标志206发送420到服务器120。备选地,列表可以指示针对将不被P2P发送的消息的P2P标志206,在这种情况下,如果P2P标志206不在列表上,则默认行为是将对应的数据报P2P发送到目标客户端(例如,客户端110B)。
示例中间节点
图3是图示了中间节点的一个实施例的框图。在所示的实施例中,中间节点是蜂窝塔130,蜂窝塔130包括路由模块310、数据摄取模块320、AR环境模块330、地图处理模块340、权限检查模块350、以及本地数据存储库360。蜂窝塔130还包括用于建立到服务器120和客户端110A、110B的连接以用于交换数据的硬件和固件或软件(未示出)。例如,蜂窝塔130可以经由光纤或其他有线互联网连接而连接到服务器120并且使用无线连接(例如,4G或5G)而连接到客户端110A、110B。在一些其他实施例中,蜂窝塔130可以包括不同或附加的组件。附加地,功能可以以与所描述的方式不同的方式而分布在元件之中。
路由模块310接收数据分组并且将那些分组发送到一个或多个接收者设备。在一个实施例中,路由模块310从客户端110A、110B接收数据报200并且使用参考图4描述的方法来确定将所接收的数据报发送到哪里。路由模块310还可以从服务器接收被寻址到特定客户端110A、110B或与蜂窝塔连接的所有客户端的数据分组。路由模块310将数据分组转发给它们被寻址到的客户端110A、110B。
数据摄取模块320从一个或多个源接收数据,蜂窝塔130使用一个或多个源经由所连接的客户端110A、110B来向玩家提供共享的AR体验。在一个实施例中,数据摄取模块320实时地或基本实时地接收(例如,从第三方服务)有关现实世界状况的信息。例如,数据摄取模块320可以从气象服务周期性地(例如,每小时)接收气象数据,气象数据指示蜂窝塔周围的地理区域中的气象状况。作为另一示例,数据摄取模块320可以取回公园、博物馆或其他公共场所的开放时间。作为又一示例,数据摄取模块320可以接收交通数据,交通数据指示在蜂窝塔130周围的地理区域中的道路上行驶了多少车辆。关于现实世界状况的这样的信息可以被用于改进虚拟世界和现实世界之间的协同。
AR环境模块330对AR环境进行管理,在AR环境中,围绕蜂窝塔130的地理区域中的玩家可以参与共享AR体验。在一个实施例中,客户端110A、110B在执行AR游戏的同时连接到蜂窝塔130,并且AR环境模块330将客户端连接到用于游戏的AR环境。连接到蜂窝塔130的游戏的所有玩家可以共享单个AR环境,或者玩家可以被划分在多个AR环境之中。例如,在特定的AR环境中可以存在最大数量的玩家(例如,十个、二十个、一百个等)。在存在多个AR环境的情况下,新连接的客户端110A、110B可以被随机地放置在会话中,或者客户端可以提供用户接口(UI)以使得玩家能够选择要加入的会话。因此,玩家可以选择与朋友一起参与AR环境。在一些实施例中,玩家可以建立受访问保护的私有AR环境(例如,要求密码或代码来加入)。
在各种实施例中,为了使得AR对象(例如,生物、车辆等)看起来与现实世界的特征交互(例如,跳过障碍物而不是通过障碍物),AR环境模块330为所连接的客户端110A、110B提供地图数据(例如,被存储在本地数据存储库360中),地图数据表示客户端的邻近度中的现实世界。AR环境模块330可以接收客户端110A、110B的位置数据(例如,GPS位置),并且提供针对客户端周围(例如,在客户端当前定位的阈值距离内)的地理区域的地图数据。
所接收的地图数据可以包括现实世界的一个或多个表示。例如,地图数据可以包括点云模型、平面匹配模型、线匹配模型、地理信息系统(GIS)模型、建筑物识别模型、景观识别模型等。地图数据还可以包括给定类型在不同细节水平处的多于一个的表示。例如,地图数据可以包括两个或更多个点云模型,每个点云模型包括不同数量的点。
客户端110A、110B可以将地图数据与由一个或多个传感器收集的数据进行比较,以提炼客户端的位置。例如,通过将由客户端110A、110B上的相机捕获的图像映射到点云模型,客户端的位置和定向可以被准确地确定(例如,至一厘米和0.1度内)。客户端110A、110B将所确定的位置和定向连同玩家所采取的任何动作(例如,射击、选择要与之交互的虚拟物品、放置虚拟物品等)一起提供给AR环境模块330。因此,AR环境模块330可以为参与AR环境的所有玩家更新游戏的状态。
地图处理模块340基于当前状况来更新地图数据(例如,来自数据摄取模块320的数据)。因为现实世界不是静态的,所以本地数据存储库360中的地图数据可能不表示当前的现实世界状况。例如,佛蒙特州的同一公园步道在不同季节可能看起来有很大不同。在夏季,步道可能会很清晰,并且周围的树木将被树叶覆盖。相反,在冬天,步道可能会被雪的飘移阻挡,树木可能会光秃秃。地图处理模块340可以将地图数据变换为近似这样的变化。
在一个实施例中,地图处理模块340取回当前状况数据来标识变换并且将该变换应用于地图数据。针对不同状况的变换可以通过启发式规则而被定义、采用经训练的机器学习模型的形式、或者使用两种方法的组合。例如,地图处理模块340可以接收当前气象状况数据、为当前气象状况选择变换、并且将该变换应用于地图数据。备选地,地图处理模块340可以预先计算经变换的地图并且将其存储(例如,在本地数据存储库360中)。在该情况下,当客户端110A、110B连接到蜂窝塔时,地图处理模块确定当前状况、选择适当的预先计算的地图数据的版本、并且将该版本提供给客户端。
权限检查模块350维持不同客户端110A、110B的游戏状态之间的同步。在一个实施例中,权限检查模块350确认从客户端110A、110B接收的游戏动作与由AR环境模块330维持的游戏状态一致。例如,如果两个玩家都试图拾取相同的游戏中的物品,则权限检查模块350确定哪个玩家接收物品(例如,基于与请求相关联的时间戳)。如所描述的,在蜂窝塔处使用P2P协议和本地处理可以显著减少在其他玩家的客户端处看到的玩家的动作的时延。因此,出现并且正在由权限检查模块350解决的这样的冲突的实例的可能性(和数量)被减少。因此,AR体验可以被改进。
权限检查模块350还可以在其AR环境的状态的副本(中间节点状态)与由服务器120维持的主状态之间保持同步。在一个实施例中,权限检查模块350从服务器120周期性地(例如,每隔1到10秒)接收有关AR环境的状态的全局更新。权限检查模块350将这些更新与中间节点状态进行比较并且解决任何差异。例如,如果玩家拾取物品的请求最初被权限检查模块350批准,但是来自服务器120的游戏更新指示该物品在玩家试图拾取之前被另一玩家拾取(或以其他方式变得不可用),则权限检查模块350可以向玩家的客户端发送更新,以指示物品应当从玩家的库存被移除。
该过程可以为位于不同蜂窝塔130所提供的覆盖范围(coverage)之间的边界邻近的客户端110A、110B提供值。在该情况下,连接到不同蜂窝塔130的玩家都可以与同一虚拟元素交互。因此,每个单独的蜂窝塔130最初可能会批准与元素的冲突的交互,但是服务器120将检测冲突并且发送更新来解决冲突(例如,指示其中一个蜂窝塔撤消其对动作的最初批准并且相应地更新其本地状态)。
本地数据存储库360是被配置为存储由蜂窝塔使用的数据的一个或多个非瞬态计算机可读介质。在一个实施例中,所存储的数据可以包括地图数据、当前状况数据、当前(或最近)连接的客户端110A、110B的列表、针对地理区域的游戏状态的本地副本等。尽管本地数据存储库360被示出为单个实体,但是数据可以跨多个存储介质被拆分。此外,这些数据中的一些数据可以被存储在通信网络中的其他位置,并且可以被远程访问。例如,蜂窝塔130可以根据需要来远程(例如,从第三方服务器)访问当前状况数据。
示例方法
图4图示了根据一个实施例的用于使用低时延数据报响应的计算机网络协议的过程。蜂窝塔130接收405被寻址到客户端110A(目标客户端设备)的数据报200。在一些其他实施例中,蜂窝塔130可以是执行与该实施例的蜂窝塔130相同的操作的另一类型的中间节点。数据报200可能已从另一客户端设备(诸如,客户端110B)被发送到蜂窝塔130。数据报200还描述在共享AR环境中发生的动作,诸如与并行现实游戏相关联的动作,在并行现实游戏中,玩家在现实世界中的位置与其在游戏世界中的位置相关。
蜂窝塔130分析410数据报200,以基于其P2P标志206来确定数据报是否是P2P。如果数据报200是P2P,则蜂窝塔130向客户端110A发送415数据报200,以更新共享AR环境在客户端110A处的本地状态,以示出动作。如果数据报200不是P2P,则蜂窝塔130向服务器120发送420数据报200,以更新共享AR环境的主状态,以示出动作及其对AR环境的影响。在一些实施例中,蜂窝塔130在将它们发送给客户端110A之后,还向服务器120发送P2P数据报的一些或全部。因此,客户端110A、110B可以基于P2P消息来同步它们的本地状态,而服务器120维持可以被用于解决不同客户端的本地状态之间的差异的主状态。通过将针对P2P数据报的服务器120旁路,当数据报不需要在AR环境的本地状态被更新之前由服务器120进行处理时,蜂窝塔130可以改进在AR环境中发生的动作的时延。在各种实施例中,本地状态利用在1毫秒与10毫秒之间、1毫秒与15毫秒之间、1毫秒与20毫秒之间、或1毫秒与30毫秒之间的时延而被更新。
在一些实施例中,蜂窝塔130遵循多个步骤以确定数据报200是否是P2P。蜂窝塔130分析指示符或P2P标志206,以确定数据报200是否应当被P2P发送。蜂窝塔130然后确定客户端110A当前是否被连接到蜂窝塔130。如果是,则蜂窝塔130确定数据报200是P2P并且可以被直接发送给客户端110A而不是服务器120。如果蜂窝塔130当前未被连接到客户端110A,则即使P2P标志206指示数据报是P2P,蜂窝塔130也将数据报200发送到服务器120。
图4中的过程可以关于被并入并行现实游戏中的示例共享AR环境来进一步描述,在并行现实游戏中,玩家彼此之间投掷光球,其他玩家实时躲避或捕捉。当在该示例中与客户端110B相关联的发送玩家向与客户端110A相关联的目标玩家投掷光球时,客户端110B创建描述该动作(例如,投掷光球)的数据报200。动作在玩家之间,并且应当在共享AR环境中迅速发生,因此客户端110B在数据报200上指示数据报200是P2P。客户端110B将数据报200发送到蜂窝塔130,蜂窝塔130确定对数据报200做什么。由于数据报是P2P,因此蜂窝塔130将数据报200发送到客户端110A而不是服务器120。客户端110A接收数据报200,并且将来自有效载荷202的数据集成到共享AR环境的本地状态中(例如,向目标玩家示出发送玩家向其投掷了光球)。通过不将数据报200发送到服务器120,时延被减少。在足够低的时延的情况下,动作可以实时发生在目标玩家的本地演示中,使得游戏继续进行得更快。这也可以允许玩家体验彼此之间直接交互的感觉。例如,在虚拟接球游戏中,一个玩家可以投掷虚拟球,并且通过将他们的客户端放置在该球的轨迹中来见证另一玩家接住虚拟球。
在将数据报200发送到客户端110A之后,蜂窝塔130可以将数据报200或数据报200的副本发送到服务器120。这样,共享AR环境的主状态被更新,以示出发送玩家向目标玩家投掷了光球。将数据报300发送到服务器120可以提供用于解决时间上比时延更近的不同玩家执行的动作之间的冲突的方式。附加地,当客户端110A、110B被连接到另一蜂窝塔时,服务器120可以处理从数据报200向其他蜂窝塔发送信息(例如,当客户端110A、110B切换到相邻蜂窝塔时,玩家利用与不同蜂窝塔连接的客户端110A、110B来向另一玩家发送消息)。在一些实施例中,蜂窝塔可以确定当前被连接到蜂窝塔130和共享AR环境的客户端110A、110B的组(例如,连接到蜂窝塔和AR环境的所有客户端),并且将数据报发送到客户端110A、110B的组,使得与那些客户端110A、110B相关联的玩家可以看到动作快速、看似实时(例如,延迟小于10毫秒)地发生。
图5是图示了根据一个实施例的适于在图1中所示的计算机网络内使用的示例计算机500的高级框图。示例计算机500包括被耦合到芯片集504的至少一个处理器502。芯片集504包括存储器控制器集线器520和输入/输出(I/O)控制器集线器522。存储器506和图形适配器512被耦合到存储器控制器集线器520并且显示器518被耦合到图形适配器512。存储设备508、键盘510、指点设备514、以及网络适配器516被耦合到I/O控制器集线器522。计算机500的一些其他实施例具有不同的架构。
在图5所示的实施例中,存储设备508是非瞬态计算机可读存储介质,诸如,硬盘驱动装置、光盘只读存储器(CD-ROM)、DVD或固态存储器设备。存储器506保持处理器502所使用的指令和数据。指点设备514是鼠标、跟踪球、触摸屏或其他类型的指点设备,并且与键盘510(可以是屏幕键盘510)组合使用来将数据输入到计算机系统500中。图形适配器512在显示器518上显示图像和其他信息。网络适配器516将计算机系统500耦合到一个或多个计算机网络。
图1的实体所使用的计算机的类型可以根据实施例和实体所需的处理能力而变化。例如,服务器120可以包括分布式数据库系统,分布式数据库系统包括一起工作来提供所描述的功能的多个刀片服务器。此外,计算机可以缺少上述某些组件,诸如,键盘510、图形适配器512和显示器518。
在不脱离所描述的概念的情况下,本领域技术人员可以对本文所公开的装置和技术进行多种使用和修改,并且可以与之背离。例如,本公开中图示或描述的组件或特征不限于所图示或描述的位置、设置或上下文。根据本公开的装置的示例可以包括比参考一个或多个前述附图描述的组件更多、更少或不同的组件。本公开因此不限于本文描述的特定实现方式,而是应当被赋予与所附权利要求及其等同物一致的可能的最广范围。
Claims (20)
1.一种方法,包括:
在蜂窝塔处,从与共享增强现实环境连接的发送客户端设备接收数据报,所述数据报包括与所述共享增强现实环境中的动作有关的数据、以及所述数据报是否是点对点的指示符;
基于所述指示符来确定所述数据报是否是点对点的;
响应于确定所述数据报是点对点的,向与所述共享增强现实环境连接的一个或多个目标客户端设备发送所述数据报,以根据所述动作来更新所述共享增强现实环境在所述一个或多个目标客户端设备处的本地状态;以及
响应于确定所述数据报不是点对点的,向服务器发送所述数据报,以根据所述动作来更新所述共享增强现实环境在所述服务器处的主状态。
2.根据权利要求1所述的方法,其中所述指示符被包括在所述数据报的报头部分中。
3.根据权利要求1所述的方法,其中确定所述数据报是否是点对点的包括:
基于所述指示符,确定所述数据报应当被点对点发送;
基于所述数据报的报头,标识特定目标客户端设备;
确定所述特定目标客户端设备当前是否被连接到所述蜂窝塔;以及
响应于所述特定目标客户端设备当前被连接到所述蜂窝塔,确定所述数据报是点对点的。
4.根据权利要求3所述的方法,其中响应于确定所述特定目标客户端设备当前未被连接到所述蜂窝塔,所述数据报被发送到所述服务器。
5.根据权利要求1所述的方法,其中所述共享增强现实环境的所述本地状态以1毫秒至20毫秒之间的时延根据所述动作被更新。
6.根据权利要求1所述的方法,其中向一个或多个目标客户端设备发送所述数据报包括:
标识当前被连接到所述蜂窝塔和所述共享增强现实环境的客户端设备;以及
向经标识的所述客户端设备发送所述数据报,以根据所述动作来更新每个客户端设备的所述共享增强现实环境的本地状态。
7.根据权利要求1所述的方法,其中响应于确定所述数据报是点对点的,所述数据报也被发送到所述服务器。
8.根据权利要求1所述的方法,其中确定所述数据报是否是点对点的包括:
将所述指示符与由所述蜂窝塔维持的指示符列表相比较;以及
响应于所述指示符被包括在所述指示符列表中,确定所述数据报是点对点的。
9.根据权利要求8所述的方法,其中所述指示符标识以下至少一项:AR会话、用户、设备或游戏账户。
10.一种非瞬态计算机可读存储介质,包括由处理器可执行的指令,所述指令包括:
用于在蜂窝塔处从与共享增强现实环境连接的发送客户端设备接收数据报的指令,所述数据报包括与所述共享增强现实环境中的动作有关的数据、以及所述数据报是否是点对点的指示符;
用于基于所述指示符来确定所述数据报是否是点对点的指令;
响应于确定所述数据报是点对点的,用于向与所述共享增强现实环境连接的一个或多个目标客户端设备发送所述数据报、以根据所述动作来更新所述共享增强现实环境在所述一个或多个目标客户端设备处的本地状态的指令;以及
响应于确定所述数据报不是点对点的,用于向服务器发送所述数据报、以根据所述动作来更新所述共享增强现实环境在所述服务器处的主状态的指令。
11.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述指示符被包括在所述数据报的报头部分中。
12.根据权利要求10所述的非瞬态计算机可读存储介质,其中确定所述数据报是否是点对点的包括:
基于所述指示符,确定所述数据报应当被点对点发送;
基于所述数据报的报头,标识特定目标客户端设备;
确定所述特定目标客户端设备当前是否被连接到所述蜂窝塔;以及
响应于所述特定目标客户端设备当前被连接到所述蜂窝塔,确定所述数据报是点对点的。
13.根据权利要求12所述的非瞬态计算机可读存储介质,其中响应于确定所述特定目标客户端设备当前未被连接到所述蜂窝塔,所述数据报被发送到所述服务器。
14.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述共享增强现实环境在所述目标客户端设备处的所述本地状态以1毫秒至20毫秒之间的时延根据所述动作而被更新。
15.根据权利要求10所述的非瞬态计算机可读存储介质,其中向一个或多个目标客户端设备发送所述数据报包括:
标识当前被连接到所述蜂窝塔和所述共享增强现实环境的客户端设备;以及
向经标识的所述客户端设备发送所述数据报,以根据所述动作来更新每个客户端设备的所述共享增强现实环境的本地状态。
16.根据权利要求10所述的非瞬态计算机可读存储介质,其中响应于确定所述数据报是点对点的,所述数据报也被发送到所述服务器。
17.根据权利要求10所述的非瞬态计算机可读存储介质,其中确定所述数据报是否是点对点的包括:
将所述指示符与由所述蜂窝塔维持的指示符列表相比较;以及
响应于所述指示符被包括在所述指示符列表中,确定所述数据报是点对点的。
18.根据权利要求10所述的非瞬态计算机可读存储介质,其中所述指示符标识以下至少一项:AR会话、用户、设备或游戏账户。
19.一种蜂窝塔,包括:
本地数据存储库,存储与所述蜂窝塔连接的客户端设备的列表;以及
路由模块,被配置为执行包括以下的操作:
接收寻址到目标客户端设备的数据报,其中所述数据报包括与共享增强现实环境中的动作有关的数据;
确定所述目标客户端设备是否在所述列表中;
响应于所述目标客户端设备在所述列表中,确定所述数据报是点对点的;
响应于确定所述数据报是点对点的,向所述目标客户端设备发送所述数据报,以根据所述动作来更新所述共享增强现实环境在所述目标客户端设备处的本地状态;以及
响应于确定所述数据报不是点对点的,向服务器发送所述数据报,以根据所述动作来更新所述共享增强现实环境在所述服务器处的主状态。
20.根据权利要求19所述的蜂窝塔,其中所述数据报在所述数据报的报头部分中还包括所述数据报是否是点对点的指示符,并且其中确定所述数据报是点对点的还响应于所述指示符。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862690578P | 2018-06-27 | 2018-06-27 | |
US62/690,578 | 2018-06-27 | ||
US16/450,904 US11077365B2 (en) | 2018-06-27 | 2019-06-24 | Low latency datagram-responsive computer network protocol |
US16/450,904 | 2019-06-24 | ||
PCT/US2019/038984 WO2020005939A1 (en) | 2018-06-27 | 2019-06-25 | Low latency datagram-responsive computer network protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112352413A CN112352413A (zh) | 2021-02-09 |
CN112352413B true CN112352413B (zh) | 2022-04-12 |
Family
ID=68987506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980043252.3A Active CN112352413B (zh) | 2018-06-27 | 2019-06-25 | 低时延数据报响应的计算机网络协议 |
Country Status (9)
Country | Link |
---|---|
US (3) | US11077365B2 (zh) |
EP (1) | EP3815343A4 (zh) |
JP (1) | JP7033219B2 (zh) |
KR (1) | KR102276899B1 (zh) |
CN (1) | CN112352413B (zh) |
AU (1) | AU2019292191B2 (zh) |
CA (1) | CA3104510C (zh) |
TW (1) | TWI722461B (zh) |
WO (1) | WO2020005939A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7591630B2 (en) | 2003-08-29 | 2009-09-22 | Casepick Systems, Llc | Materials-handling system using autonomous transfer and transport vehicles |
US11077365B2 (en) | 2018-06-27 | 2021-08-03 | Niantic, Inc. | Low latency datagram-responsive computer network protocol |
EP3918579A4 (en) | 2019-02-25 | 2022-04-13 | Niantic, Inc. | AUGMENTED REALITY MOBILE EDGE COMPUTATION |
AU2020409015A1 (en) | 2019-12-20 | 2022-08-25 | Niantic, Inc. | Data hierarchy protocol for data transmission pathway selection |
CN111603764B (zh) * | 2020-05-28 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 一种云游戏的处理方法及设备 |
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 |
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 |
EP4370223A1 (en) * | 2021-07-16 | 2024-05-22 | Niantic, Inc. | Reducing latency in anticheat dataflow |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843349A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 实现移动增强现实业务的方法及系统、终端及服务器 |
CN102984186A (zh) * | 2011-09-05 | 2013-03-20 | 中兴通讯股份有限公司 | 会话建立方法及装置 |
Family Cites Families (56)
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 |
US8503431B2 (en) * | 2006-08-25 | 2013-08-06 | Wireless Wonders Ltd. | Mobile phone related indirect communication system and method |
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 |
US8654709B2 (en) * | 2008-04-29 | 2014-02-18 | Nokia Siemens Networks Oy | Decentrallizing core network functionalities |
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 | 주식회사 팬택 | 원격으로 증강현실 서비스를 공유하는 증강현실 시스템 및 그 방법 |
WO2012115616A1 (en) | 2011-02-21 | 2012-08-30 | Research In Motion Limited | On the managed peer-to-peer sharing in cellular networks |
US20130034047A1 (en) * | 2011-08-05 | 2013-02-07 | Xtreme Labs Inc. | Method and system for communicating with web services using peer-to-peer technology |
CN104011788B (zh) | 2011-10-28 | 2016-11-16 | 奇跃公司 | 用于增强和虚拟现实的系统和方法 |
CA2857961A1 (en) * | 2011-12-02 | 2013-06-06 | 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 | 北京大学 | 基于智能移动终端设备的多人在线交互方法与系统 |
US9720505B2 (en) | 2013-01-03 | 2017-08-01 | Meta Company | Extramissive spatial imaging digital eye glass apparatuses, methods and systems for virtual or augmediated vision, manipulation, creation, or interaction with objects, materials, or other entities |
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 |
EP3918579A4 (en) * | 2019-02-25 | 2022-04-13 | Niantic, Inc. | AUGMENTED REALITY MOBILE EDGE COMPUTATION |
US11182966B2 (en) | 2019-06-24 | 2021-11-23 | At&T Intellectual Property I, L.P. | System for collaboration of augmented reality events |
-
2019
- 2019-06-24 US US16/450,904 patent/US11077365B2/en active Active
- 2019-06-25 AU AU2019292191A patent/AU2019292191B2/en active Active
- 2019-06-25 EP EP19826018.4A patent/EP3815343A4/en active Pending
- 2019-06-25 JP JP2020572883A patent/JP7033219B2/ja active Active
- 2019-06-25 KR KR1020217002620A patent/KR102276899B1/ko active IP Right Grant
- 2019-06-25 WO PCT/US2019/038984 patent/WO2020005939A1/en unknown
- 2019-06-25 CN CN201980043252.3A patent/CN112352413B/zh active Active
- 2019-06-25 CA CA3104510A patent/CA3104510C/en active Active
- 2019-06-27 TW TW108122701A patent/TWI722461B/zh active
-
2021
- 2021-05-19 US US17/325,137 patent/US11497995B2/en active Active
-
2022
- 2022-09-22 US US17/950,880 patent/US11833420B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843349A (zh) * | 2011-06-24 | 2012-12-26 | 中兴通讯股份有限公司 | 实现移动增强现实业务的方法及系统、终端及服务器 |
CN102984186A (zh) * | 2011-09-05 | 2013-03-20 | 中兴通讯股份有限公司 | 会话建立方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI722461B (zh) | 2021-03-21 |
KR20210013654A (ko) | 2021-02-04 |
CN112352413A (zh) | 2021-02-09 |
TW202007123A (zh) | 2020-02-01 |
EP3815343A4 (en) | 2021-08-11 |
US11497995B2 (en) | 2022-11-15 |
US11077365B2 (en) | 2021-08-03 |
KR102276899B1 (ko) | 2021-07-15 |
EP3815343A1 (en) | 2021-05-05 |
US11833420B2 (en) | 2023-12-05 |
JP7033219B2 (ja) | 2022-03-09 |
WO2020005939A1 (en) | 2020-01-02 |
CA3104510A1 (en) | 2020-01-02 |
US20210268376A1 (en) | 2021-09-02 |
AU2019292191A1 (en) | 2021-02-18 |
US20230022262A1 (en) | 2023-01-26 |
CA3104510C (en) | 2022-01-11 |
AU2019292191B2 (en) | 2021-10-21 |
US20200001180A1 (en) | 2020-01-02 |
JP2021524696A (ja) | 2021-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112352413B (zh) | 低时延数据报响应的计算机网络协议 | |
KR102577903B1 (ko) | 증강 현실 모바일 에지 컴퓨팅 | |
CN115136559A (zh) | 用于数据传输路径选择的数据层次结构协议 | |
TWI849064B (zh) | 擴增實境行動邊緣計算 | |
US20220407804A1 (en) | Routing using partial message parsing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |