CN101169730A - 虚拟环境中管理等待时间敏感的交互的方法、系统和装置 - Google Patents
虚拟环境中管理等待时间敏感的交互的方法、系统和装置 Download PDFInfo
- Publication number
- CN101169730A CN101169730A CNA2007101674406A CN200710167440A CN101169730A CN 101169730 A CN101169730 A CN 101169730A CN A2007101674406 A CNA2007101674406 A CN A2007101674406A CN 200710167440 A CN200710167440 A CN 200710167440A CN 101169730 A CN101169730 A CN 101169730A
- Authority
- CN
- China
- Prior art keywords
- simulation
- server
- virtual interacting
- client computer
- interacting environment
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000003993 interaction Effects 0.000 title 1
- 238000004088 simulation Methods 0.000 claims abstract description 105
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A63F13/12—
-
- 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
-
- 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/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- 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
-
- 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/538—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 performing operations on behalf of the game client, e.g. rendering
-
- 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/5526—Game data structure
- A63F2300/5533—Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
-
- 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- 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/80—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 specially adapted for executing a specific type of game
- A63F2300/8017—Driving on land or water; Flying
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种结构和方法包括代表虚拟交互环境中的对象的特征的数据结构。所述设备还包括执行所述虚拟交互环境中的所述对象的特征的第一模拟的客户端模拟器以及执行所述虚拟交互环境中的所述对象的特征的第二模拟的服务器模拟器。所述设备还包括使所述第一和所述第二模拟同步的同步器。
Description
技术领域
本发明一般地涉及虚拟交互环境,更具体地说,涉及用于在虚拟交互环境中管理等待时间敏感的交互的系统和方法。
背景技术
运行交互虚拟环境(例如,视频游戏或飞行模拟器)的计算机系统可在客户端/服务器环境中运行。所述客户端和服务器可以通过计算机网络(例如,专用网或因特网)进行通信。在此类客户端/服务器环境中,对虚拟交互环境的模拟通常是分离的。也就是说,客户端或服务器都执行对虚拟交互环境的模拟。
无论是客户端还是服务器执行模拟,所述模拟都是确定虚拟交互环境的后续状态。给定虚拟交互环境中的对象在当前状态中的相关特征,则模拟将确定后续状态中每个后续的相关特征。例如,在虚拟交互环境的第一状态中,球可能是红色的并在与地面碰撞之后变形。在后续状态中,球可能仍为红色,但是可能以特定速度向上弹起。对于每个后续状态,模拟至少根据先前状态的特征来确定上述这些特征,例如大小、颜色、变形度、速度、方向、旋转矢量等。
当客户端计算模拟时,可以优化对用户输入的响应时间,因为这消除了由与服务器通信引起的等待时间。因此,在历史上,通常在客户端上处理交互虚拟环境的计算。
但是,某些交互虚拟环境已变得如此复杂,以致处理需求可能超出客户端上可用的单个处理器的能力。例如,模拟流水相对来说是计算密集的。此外,多用户虚拟交互环境通常需要更强的计算能力。通常比客户端具有更强计算能力的服务器一般更适于执行此类复杂的模拟。但是此方法具有上述限制,即,与服务器的通信延迟了响应时间。
因此,本领域存在克服上述问题的需要。
发明内容
在本发明的第一方面,提供了一种设备,所述设备包括代表虚拟交互环境中的对象的特征的数据结构。所述设备还包括执行所述虚拟交互环境中的所述对象的特征的第一模拟的客户端模拟器以及执行所述虚拟交互环境中的所述对象的特征的第二模拟的服务器模拟器。所述设备还包括使所述第一和所述第二模拟同步的同步器。
在本发明的第二方面,提供了一种装置,所述装置包括用于通过内推、外推和近似中的至少一项来模拟虚拟交互环境的装置。所述装置还包括用于在服务器计算机上接收在客户端计算机上存在的所述虚拟交互环境的状态的装置。所述装置还包括将在所述服务器上存在的所述虚拟交互环境的状态与在所述客户端计算机上存在的所述虚拟交互环境的状态同步以在所述客户端计算机上提供精细模拟的装置。所述装置还包括用于将在所述服务器上存在的所述虚拟交互环境的状态传输到所述客户端计算机的装置。
在本发明的第三方面,提供了一种方法,所述方法包括通过内推、外推和近似中的至少一项来模拟虚拟交互环境。所述方法还包括在服务器计算机上接收在客户端计算机上模拟的所述虚拟交互环境的状态。所述方法还包括将在所述服务器上模拟的所述虚拟交互环境的状态传输到所述客户端计算机。所述方法还包括使在所述服务器计算机上模拟的所述虚拟交互环境的状态与在所述客户端计算机上模拟的所述虚拟交互环境的状态同步以在所述客户端计算机上提供精细模拟。
在本发明的第四方面,提供了一种计算机程序产品,所述计算机程序产品包括包含计算机可读程序的计算机可用介质,其中当在计算机上执行时,所述计算机可读程序将导致所述计算机在客户端计算机上模拟虚拟交互环境,以及在服务器计算机上模拟虚拟交互环境。所述计算机程序产品还导致计算机将在所述服务器计算机上存在的所述虚拟交互环境的状态传输到所述客户端计算机,以及将在所述客户端计算机上存在的所述虚拟交互环境的状态传输到所述服务器计算机。所述计算机程序产品还导致计算机使在所述服务器计算机上存在的所述虚拟交互环境的状态与在所述客户端计算机上存在的所述虚拟交互环境的状态同步。
附图说明
图1示出了用于实现本发明的一个方面的环境;以及
图2是流程中的操作序列的示例性实例。
具体实施方式
本发明涉及在虚拟环境中管理等待时间敏感的交互。在实施例中,本发明更具体地涉及用于在客户端/服务器环境中模拟虚拟交互环境,以最小化或消除客户端与服务器间通信所导致的等待时间,并使得可访问服务器的处理能力的系统和方法。
根据本发明的一个方面,所述方法包括确定客户端和服务器的通信的特定属性,例如等待时间和带宽。可以将这些属性存储在表中或其他适当的数据结构格式中。取决于客户端与服务器的距离以及网络连接质量等因素,这些属性不仅会根据网络的不同而变化,而且会根据客户端的不同而变化,即使这些客户端位于同一网络中。
根据本发明的再一方面,所述方法包括确定等待时间阈值,所述等待时间阈值也可以存储在表中或其他适当的数据结构格式中。所述等待时间阈值将用于确定模拟是由服务器执行,还是由客户端和服务器两者并行执行。例如,用户可能执行优选地在十六分之一秒内被模拟的操作,但是,将用户输入传递到服务器,在服务器上处理此信息,然后将服务器的响应传递回客户端所用的时间可能比该时间要长。在此情况下,客户端将执行模拟以确保系统响应时间不超过等待时间阈值。由客户端执行的模拟可以是比由服务器执行的模拟更粗略的模拟。
在实施例中,还将用户输入传输到服务器,然后服务器也将执行模拟。由服务器执行的模拟可以是比由客户端执行的模拟更精细的模拟。服务器有权访问有关整个虚拟世界的信息,服务器可以利用此信息来产生更精确的模拟。服务器模拟将被传输回客户端,并且将解析客户端模拟与服务器模拟之间的差异。
参考附图,图1示出了用于根据本发明的实施例管理过程的用户100和示例性环境105。在此方面,环境105包括可执行此处所述过程(例如,模拟虚拟交互环境)的计算机基础设施110。具体地说,计算机基础设施110示为包括计算设备115,后者包含模拟器120,模拟器120使得计算设备115可操作以执行此处所述的至少某些过程。计算设备115示为包括处理器125、存储器130、输入/输入(I/O)接口135和总线140。进而,计算设备115示为与外部I/O设备/资源145和存储系统150通信。如本领域公知的,通常,处理器125执行计算机程序代码,所述代码存储在存储器130和/或存储系统150中。在执行计算机程序代码时,处理器125可从存储器130、存储系统150和/或I/O接口135读取数据和/或向存储器130、存储系统150和/或I/O接口135写入数据。总线140提供计算设备115中的每个组件之间的通信链路。I/O设备145可以包括任何允许个人与计算设备115进行交互的设备,或任何允许计算设备115使用任意类型的通信链路与一个或多个其他计算设备进行通信的设备。
在任何情况下,计算设备115都可以包括任何能够执行其上安装的计算机程序代码的通用计算制品(例如,个人计算机、服务器、便携设备等)。但是可以理解,计算设备115只是可以执行此处所述过程的各种可能的等价计算设备的代表。在此方面,在其他实施例中,由计算设备115提供的功能可以由包括通用和/或专用硬件和/或计算机程序代码的任意组合的计算制品来实现。在每个实施例中,可以分别使用标准编程和工程技术来创建程序代码和硬件。
类似地,计算机基础设施110仅是用于实现本发明的各种类型的计算机基础设施的例示。例如,在一个实施例中,计算机基础设施110包括两个或更多通过任意类型的通信链路(例如网络、共享存储器等)通信以执行此处所述过程的计算设备(例如,客户端和服务器)。进而,在执行此处所述的过程时,计算机基础设施110中的一个或多个计算设备可以使用任意类型的通信链路与计算机基础设施110外部的一个或多个其他计算设备通信。在任一情况下,所述通信链路都包括各种类型的有线和/或无线链路的任意组合;包括一种或多种类型的网络(例如,因特网、广域网、局域网、虚拟专用网等)的任意组合;以及/或者利用各种类型的传输技术和协议的任意组合。如此处所述的,模拟器120使得计算机基础设施110能够设置虚拟交互环境中的对象的特征155。
参考图2,本发明的方法可以在包括客户端设备200和服务器设备300的计算环境中实现,其中客户端200通过网络与服务器300通信。在S410,客户端200接收来自用户的输入。此用户输入可以是例如通过键盘、鼠标、操纵杆或触摸屏的任何已知形式的用户输入。
在实施例中,客户端200判定来自服务器的响应时间是否将超过已设定的阈值。客户端200根据客户端200与服务器300之间的通信的特定属性(例如,通信网络的等待时间和/或带宽)来做出此判定。这些属性可以在登录网络或设置应用时设定,并且可以以表的形式存储,当用户与其虚拟环境交互时,可以随时间的推移更新该表。此更新可能是必须的,因为由于系统故障、变化的工作负荷等,大型计算机系统的性能特征可能不是静态的。如果客户端200确定来自服务器的响应时间将超过设定的阈值(所述阈值也根据不同类型的输入而变化,例如,棒球球棒的虚拟摆动会需要比防守外场腾空球更快的响应),则客户端可以执行用户输入的模拟,而不是等待来自服务器300的响应。
在S420,客户端200根据以下项来执行客户端模拟:(1)虚拟交互环境的初始状态;以及(2)在S410处接收的用户输入。所述客户端模拟描绘虚拟交互环境的后续状态。所述客户端模拟包括用户状态和实体状态。例如,在模拟飞行的虚拟交互环境中,用户状态包括有关飞机特征(例如,高度、速度、方向等)的信息,并且实体状态包括有关环境提醒(例如,其他飞机、地面状况等)的信息。此外,所述客户端模拟可以基于从服务器300接收的输入。来自服务器300的输入将在下面详细讨论。
在S420处执行的客户端模拟可以是相对粗略的模拟。此客户端模拟可被外推、内推或以其他方式被估算、近似或平均,以便逼进将在服务器300上执行的更精细的模拟。当外推时,客户端200可以根据每个对象在先前状态的特征来执行粗略模拟。当内推时,客户端200可以根据以下项来执行粗略模拟:(1)每个对象在先前状态中的特征;以及(2)从服务器300接收的预测后续状态的输入。
在S430,客户端200根据在S420执行的客户端模拟来创建虚拟交互环境的后续状态的客户端模型。本领域的技术人员将理解,在S440处,根据客户端模拟来呈现客户端模型,并在S450将所述呈现展示给用户。
在S460,服务器300从客户端200接收用户状态输入。(本领域的技术人员将理解,在实施例中,客户端200与服务器300之间的任何通信都可以由客户端200或服务器300发起,并且可以是也可以不是响应于请求或查询。因此,此处所述的通信可以被等同地理解为“已传输”或“已接收”)。在S460接收的用户状态输入报告客户端200模拟的用户的后续状态。例如,在此过程,向客户端查询信息,服务器接收信息并根据例如动作、位置、变化、操作等待时间等融合来自客户端的状态变化。此信息可以基于客户端的任何操作,例如操纵杆移动、鼠标移动或键盘敲击。
在S470,服务器300可以根据以下项来执行服务器模拟:(1)虚拟交互环境的初始状态;以及(2)在S460接收的用户状态输入。与在S420执行和以上讨论的客户端模拟类似,服务器模拟包括用户状态和实体状态。但是,服务器模拟结合了来自任何其他用户的输入,并可以比客户端200执行的模拟更精细。当客户端模拟已对对象的一个或多个特征进行外推、内推或以其他方式估算、近似或平均时,服务器模拟描绘虚拟交互环境中该对象的一个或多个实际特征。例如,在上述飞行模拟实例中,客户端模拟器可以从世界的当前状态外推出用户飞机下的沙漠延伸到地平线,但是,服务器模拟可以描绘地平线上的山脉。服务器模拟部分基于从每个用户接收的用户状态输入,以及基于初始服务器模型(将在下面更详细地讨论)。
在S480,服务器300根据在S470执行的服务器模拟来创建世界的后续状态的服务器模型。所述服务器模拟和服务器模型创建了信息循环,以使服务器模型的每次更新都基于最新的模拟,并且每个服务器模拟都基于最新的服务器模型。
在S490,服务器从客户端200接收实体状态输入。在实施例中,实体状态输入基于客户端模型。与在S460接收的用户状态输入相比,实体状态输入包括有关用户对象以外的对象的特征的信息。也就是说,当客户端200对用户对象以外的对象的操作进行外推、内推或以其他方式估算、近似或平均以便执行粗略模拟时,客户端200将此粗略模拟传送给服务器300。
在S500,服务器300根据在S480和S490的输入来管理网络场景。在此处理状态,可以将相对粗略的客户端模拟与更精细的服务器模拟进行同步。此同步可以是基本上实时的过程,并可以用于验证和解析客户端计算机与服务器计算机之间的状态差异。此外,服务器300可以预测虚拟交互环境的未来状态。
在S510,客户端200从服务器接收实体状态输入。此信息包括虚拟交互环境的同步后的后续状态。此外,此信息可以包括来自服务器的预测的实体状态信息。在S510从服务器接收的实体状态输入可以以某种固定频率传输,也可以根据客户端模拟与服务器模拟之间的差异程度在认为必要时传输。所述信息是根据例如模拟、等待时间和带宽要求等从服务器接收的融合后的精确信息。
在S420执行的客户端模拟(已在上面详细讨论)可以部分基于在S510处从服务器接收的实体状态输入。如果是这样,则将虚拟交互环境的同步后的后续状态结合到下一客户端模拟中。在一个实施例中,将在用户不易察觉的时刻将同步后的实体状态输入结合到客户端模拟中。例如,在上述飞行模拟环境中,如果客户端模拟了延伸到地平线的沙漠,但是服务器300稍后传输的服务器模拟描绘了地平线上的山脉,则在用户的飞机飞出云层时,将所述山脉结合到客户端模拟中,结果是用户不会因先前未描绘的对象的突然出现而转移注意力。优选地,在客户端模拟与服务器模拟的偏离程度达到将使用户注意到何时发生同步之前,将客户端模拟与服务器模拟同步。同步可以通过若干帧进行过渡或混和以避免出现间歇效果。例如,如果对对象的非常粗略的表示执行客户端模拟以减少计算要求并对非常精细的表示执行了服务器模拟,则可以通过若干帧将服务器输出过渡为客户端状态。
此外,如果来自服务器的实体状态输入包括预测的实体状态信息,则客户端模拟可以部分地根据预测的状态来内推后续状态。例如,在上述飞行模拟环境中,假设用户将继续以几乎相同的方向和几乎相同的速度飞行,则服务器300可以将预测的实体状态(包括对地平线上的山脉的服务器模拟)传输到客户端200。在此情况下,如果用户没有像预测的那样继续飞行,则客户端200可以使其在S420执行的内推基于预测的实体状态,并将山脉结合到客户端模拟中。
以下提供了伪代码的一个实例。
.....
服务器在时间t0执行
服务器计算初始状态
服务器根据初始力向量执行若干模拟
当玩家退出时
以每秒100帧循环
服务器将一个或多个结果状态发送到客户端
服务器从客户端获得新的输入
服务器执行新的模拟
结束循环
完成
客户端开始在时间t0执行
当玩家继续时
以每秒50帧循环
客户端获得输入
确定是否可在客户端或服务器上执行模拟
如果客户端根据当前输入和先前状态执行
从服务器提供
否则在服务器上执行
呈现新的帧
结束循环
完成
虽然根据实施例描述了本发明,但是本领域的技术人员将认识到,本发明可以进行修改并在所附权利要求的精神和范围之内。
Claims (20)
1.一种设备,所述设备包括:
数据结构,其代表虚拟交互环境中的对象的特征;
客户端模拟器,其执行所述虚拟交互环境中的一个或多个所述对象的所述特征的第一模拟;
服务器模拟器,其执行所述虚拟交互环境中的一个或多个所述对象的所述特征的第二模拟;以及
同步器,其同步所述第一和所述第二模拟。
2.根据权利要求1的设备,其中所述第二模拟是比所述第一模拟更精细的模拟。
3.根据权利要求1的设备,其中:
服务器计算机从客户端计算机接收所述第一模拟;以及
所述服务器计算机将同步后的模拟传输到所述客户端计算机。
4.根据权利要求1的设备,还包括网络属性的数据结构,所述属性包括网络的等待时间或带宽。
5.根据权利要求4的设备,还包括处理器,所述处理器查询所述网络属性的数据结构以判定所述客户端模拟器是否将执行所述第一模拟。
6.一种装置,所述装置包括:
用于通过内推、外推和近似中的至少一项来模拟虚拟交互环境的装置;
用于在服务器计算机上接收在客户端计算机上存在的所述虚拟交互环境的状态的装置;
用于使在所述服务器上存在的所述虚拟交互环境的状态与在所述客户端计算机上存在的所述虚拟交互环境的状态同步以在所述客户端计算机上提供精细模拟的装置;以及
用于将在所述服务器上存在的所述虚拟交互环境的状态传输到所述客户端计算机的装置。
7.根据权利要求6的装置,其中所述用于模拟的装置包括模拟器。
8.根据权利要求6的装置,其中所述用于接收的装置位于所述服务器计算机上。
9.根据权利要求6的装置,还包括用于管理网络场景的装置。
10.根据权利要求6的装置,还包括根据创建的服务器模型来执行服务器模拟。
11.一种方法,所述方法包括:
通过内推、外推和近似中的至少一项来模拟虚拟交互环境;
在服务器计算机上接收在客户端计算机上模拟的所述虚拟交互环境的状态;
将在所述服务器上模拟的所述虚拟交互环境的状态传输到所述客户端计算机;以及
使在所述服务器计算机上模拟的所述虚拟交互环境的状态与在所述客户端计算机上模拟的所述虚拟交互环境的状态同步以在所述客户端计算机上提供精细的模拟。
12.根据权利要求11的方法,还包括根据网络等待时间或带宽要求来判定客户端计算机是否将等待来自服务器计算机的输入。
13.根据权利要求11的方法,其中通过检验、验证和解析差异中的至少一项来执行所述同步步骤。
14.根据权利要求11的方法,还包括使在所述服务器计算机上模拟的所述虚拟交互环境的所述状态融合到所述客户端计算机上的模拟中。
15.根据权利要求11的方法,还包括确定执行所述融合步骤的最佳点。
16.一种系统,所述系统包括:
用于在客户端计算机上模拟虚拟交互环境的装置;
用于在服务器计算机上模拟虚拟交互环境的装置;
用于将在所述服务器计算机上存在的所述虚拟交互环境的状态传输到所述客户端计算机的装置;
用于在所述服务器计算机上接收在所述客户端计算机上存在的所述虚拟交互环境的状态的装置;以及
用于使在所述服务器计算机上存在的所述虚拟交互环境的状态与在所述客户端计算机上存在的所述虚拟交互环境的状态同步的装置。
17.根据权利要求16的系统,其中还包括用于在与所述服务器计算机的通信超过等待时间阈值时,在所述客户端计算机上模拟所述虚拟交互环境的装置。
18.根据权利要求16的系统,其中还包括用于确定将所述服务器计算机上存在的所述虚拟交互环境的同步后的模拟与所述客户端计算机上存在的所述虚拟交互环境的模拟进行融合的最佳时刻的装置。
19.根据权利要求17的系统,其中由所述客户端计算机执行的所述模拟是比由所述服务器计算机执行的模拟更粗略的模拟。
20.根据权利要求16的系统,其中通过内推、外推或近似中的至少一项来执行所述客户端计算机上的所述模拟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/552,709 | 2006-10-25 | ||
US11/552,709 US7925485B2 (en) | 2006-10-25 | 2006-10-25 | System and apparatus for managing latency-sensitive interaction in virtual environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101169730A true CN101169730A (zh) | 2008-04-30 |
CN101169730B CN101169730B (zh) | 2010-09-08 |
Family
ID=39365601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101674406A Active CN101169730B (zh) | 2006-10-25 | 2007-10-24 | 虚拟环境中管理等待时间敏感的交互的方法、系统和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7925485B2 (zh) |
CN (1) | CN101169730B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600306B2 (en) * | 2009-01-31 | 2017-03-21 | International Business Machines Corporation | Client-side simulated virtual universe environment |
US8719823B2 (en) * | 2009-03-04 | 2014-05-06 | Vmware, Inc. | Managing latency introduced by virtualization |
US9560131B2 (en) * | 2013-06-14 | 2017-01-31 | Disney Enterprises, Inc. | Efficient synchronization of behavior trees using network significant nodes |
US11165842B2 (en) | 2013-10-25 | 2021-11-02 | Louis Gurtowski | Selective capture with rapid sharing of user or mixed reality actions and states using interactive virtual streaming |
US10027731B2 (en) | 2013-10-25 | 2018-07-17 | Louis Gurtowski | Selective capture with rapid sharing of user computer or mixed reality actions, states using interactive virtual streaming |
US9893974B2 (en) * | 2015-10-11 | 2018-02-13 | Microsoft Technology Licensing, Llc | Synchronization of data for colliding bodies |
WO2018005671A1 (en) * | 2016-06-28 | 2018-01-04 | Against Gravity Corp. | Systems and methods for transferring object authority in a shared virtual environment |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
CN110678239B (zh) | 2017-10-10 | 2024-02-09 | 谷歌有限责任公司 | 利用游戏元数据和量度的分布式基于样本的游戏剖析以及支持第三方内容的游戏api平台 |
EP3700640B1 (en) | 2018-03-22 | 2021-05-26 | Google LLC | Methods and systems for rendering and encoding content for online interactive gaming sessions |
US11077364B2 (en) * | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
EP4141781B1 (en) | 2018-04-10 | 2024-03-20 | Google LLC | Memory management in gaming rendering |
CN112204529A (zh) | 2018-11-16 | 2021-01-08 | 谷歌有限责任公司 | 用于复杂系统分析的实时交互式仿真的影子追踪 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6126548A (en) * | 1997-10-08 | 2000-10-03 | Illusion, Inc. | Multi-player entertainment system |
US6697869B1 (en) * | 1998-08-24 | 2004-02-24 | Koninklijke Philips Electronics N.V. | Emulation of streaming over the internet in a broadcast application |
US6415317B1 (en) * | 1999-10-01 | 2002-07-02 | Joshua Michael Yelon | Software system for reducing the appearance of latency in a multi-user environment |
US6628287B1 (en) * | 2000-01-12 | 2003-09-30 | There, Inc. | Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment |
US6868434B1 (en) * | 2000-08-07 | 2005-03-15 | Sun Microsystems, Inc. | System and method for testing server latencies using multiple concurrent users in a computer system |
US7373500B2 (en) * | 2003-04-15 | 2008-05-13 | Sun Microsystems, Inc. | Secure network processing |
CN1570946B (zh) * | 2004-04-28 | 2010-05-26 | 赖银樑 | 交互式网路运动模拟系统 |
US20050278642A1 (en) * | 2004-06-10 | 2005-12-15 | Chang Nelson L A | Method and system for controlling a collaborative computing environment |
WO2006099596A1 (en) * | 2005-03-17 | 2006-09-21 | Massachusetts Institute Of Technology | System for and method of motion and force synchronization with time delay reduction in multi-user shared virtual environments |
-
2006
- 2006-10-25 US US11/552,709 patent/US7925485B2/en active Active
-
2007
- 2007-10-24 CN CN2007101674406A patent/CN101169730B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101169730B (zh) | 2010-09-08 |
US7925485B2 (en) | 2011-04-12 |
US20080102955A1 (en) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101169730B (zh) | 虚拟环境中管理等待时间敏感的交互的方法、系统和装置 | |
Fujimoto | Parallel and distributed simulation systems | |
Stytz | Distributed virtual environments | |
Masaracchia et al. | Digital twin for 6G: Taxonomy, research challenges, and the road ahead | |
CN109033234B (zh) | 一种基于状态更新传播的流式图计算方法及系统 | |
CN101382968A (zh) | 一种先进综合式航空电子仿真系统及其仿真方法 | |
EP3014446A1 (en) | Asynchronous message passing for large graph clustering | |
CN103886638A (zh) | 在划分为多个区域的三维场景中对对象的物理行为仿真 | |
CN108052364A (zh) | 一种基于远程操作的图像显示方法、装置、设备及存储介质 | |
CN111859638A (zh) | 一种实时高效分布式虚实结合仿真系统及构建方法 | |
CN109568948A (zh) | 网络游戏中对象的运动状态同步方法及装置 | |
CN108919831A (zh) | 一种能够实现在浏览器中实时模拟无人机飞行场景的方法 | |
CN102063534B (zh) | 高炉大修工程进度三维模拟装置及方法 | |
CN115314499A (zh) | 适用于电力领域的多终端协同工作方法及系统 | |
Wilson et al. | A framework for linking distributed simulations using software agents | |
CN116933551A (zh) | 一种联合仿真系统、方法、设备及存储介质 | |
Wang et al. | C3Meta: a context-aware cloud-edge-end collaboration framework toward green metaverse | |
CN110263251A (zh) | 一种基于上下文模型的运维知识推送方法及装置 | |
Pendergast | A comparative analysis of groupware application protocols | |
CN112036510A (zh) | 模型生成方法、装置、电子设备及存储介质 | |
JP5462326B2 (ja) | 仮想空間情報処理システム、当該システムのサーバ装置、当該サーバ装置で実行されるプログラム、及び仮想空間情報処理方法 | |
CN102685024B (zh) | 基于微博的即时通信数据统一处理系统和方法 | |
Xu et al. | Integration of Mixture of Experts and Multimodal Generative AI in Internet of Vehicles: A Survey | |
Lee et al. | Entity-centric scalable concurrency control for distributed interactive applications | |
Capin et al. | A taxonomy of networked virtual environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |