CN1695134B - 动态带宽控制 - Google Patents
动态带宽控制 Download PDFInfo
- Publication number
- CN1695134B CN1695134B CN038059355A CN03805935A CN1695134B CN 1695134 B CN1695134 B CN 1695134B CN 038059355 A CN038059355 A CN 038059355A CN 03805935 A CN03805935 A CN 03805935A CN 1695134 B CN1695134 B CN 1695134B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- network
- upgrading
- data object
- 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.)
- Expired - Lifetime
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
与一个多用户网络应用有关的在一个计算机网络上从一个拥有所述数据对象的网络用户到一个正在更新的用户的数据传送,通过定义所述数据对象的数据域的一个子集的传送来得到,这样所述数据域的子集由所述正在更新的用户来指定,并且小于或等于包括为所有数据域定义所述数据对象的更新值的完全的更新传送。每个数据对象由多个数据域来定义,这样所述数据对象数据域的一个子集的传送保证了数据更新所利用的网络带宽将从其中用于一个正在被更新的对象的所有定义的数据域通过网络被传送的情况减少。
Description
技术领域
本发明总体上涉及计算机网络并且,更具体地,涉及由多用户在一个计算机网络上执行的应用。
背景技术
计算机网络,如局域网和因特网,正在越来越多地被用作团体之间各种交易和交互的中枢。从其中银行客户可以在一个计算机网络上启动金融交易的在线银行到其中游戏者可以在因特网上参与实时游戏的在线游戏,业务提供者正越来越多地在计算机网络上支持多种业务。目前有多种不同的计算机网络配置可以促进交易和交互的发生。
许多在线应用包括多用户应用,该应用是在一个计算机系统上执行的计算机程序并且允许多个地理上分开的参与者与计算机程序以及在一个应用环境中的其他参与用户进行交互。例如,在线游戏是一个流行的多用户应用,该程序正在日益流行。一个在线飞行器模拟游戏可以使多个参与者能够在一个虚拟的空间中驾驶他们各自的虚拟飞行器,并且可以使这些参与者能够与在同一个空间中的在他们的飞行器中的其他参与者进行交互。每个参与者拥有对他们各自的虚拟飞行器的飞行动作的控制。即每个参与者拥有包含一个飞行器的应用对象的所有权。这样,该在线飞行器游戏应用提供一个单个的应用环境或世界,其中多个参与者操作他们各自的对象。
在一个多用户应用环境中,如在线游戏,具有明显的地理上分散的应用用户,如游戏参与者,每个参与者一般地负责一个或多个将被应用的本地用户修改或操作的数据对象。这些数据对象为“自有的”数据对象并且每个用户与一个或多个这样的相应的应用对象有关。
例如,在一个在线游戏环境中,每个参与者将一般地负责保持关于参与者的竞争者或登陆该游戏应用环境的状态数据。该参与者的游戏登陆典型地由一个数据对象来表示。在一个交易的多用户环境中,一个用户可能负责与一个账目有关的数据,该帐目由一个数据对象来表示。在两个应用环境中,各个用户如上所述“拥有”所述数据对象,或者所述游戏参与对象或者所述交易帐目对象,因为该用户负责更新在该应用环境中的该用户的数据对象。在一个游戏的关中,该用户典型地拥有对游戏应用的共享对象空间中的相应的数据对象的运动的控制,并且典型地也负责保持关于该数据对象状态的数据(并因此拥有该数据对象)。
为了支持多用户应用环境中的用户间的实时交互,需要共享关于该应用环境中的每个参与者的相应的数据对象的信息。一个用户的数据对象的状态可以由数据域的一个集合来定义,该数据域的值在该用户的交互过程中可以改变。例如,在一个游戏应用中,一个用户的所述数据对象在一个游戏环境中将改变位置,并且在一个交易应用中,一个用户的所述数据对象将具有改变的交易历史和账目结算。
为了共享网络用户中的用户的数据对象的状态信息,需要共享定义该数据对象的不同数据域的值。例如,在一个飞行器模拟多用户应用中,其中每个用户由一个飞行器数据对象来表示,与飞行器的状态信息有关的所述数据域可以包括飞行器大小、飞行器速度、三维空间中的高度、外形详情(如战斗损伤或控制外表位置)、虚拟环境详情(如建筑、天气、以及地形),等等。这样的状态信息允许在各参与者处的计算机适当地明了游戏的发展并且确定由每个其他参与者正在执行的动作。这允许每个参与者在参与者的观看显示器上出示适当地呈递的虚拟形象,并且允许其他的参与者也照样做。在一个交易应用环境中,所述数据域可能包括用户名、账目信息、账目结算、等等。这样的信息将允许多用户确定有关一个特定交易的账目的详情。
一些在线多用户应用依照一个应用更新时间间隔通过发送网络更新消息给所有的用户来传达有关各个用户应用对象的状态的详情。对于一个在线游戏,一个作为游戏的参与者的用户将负责为该网络用户所拥有的应用对象保持一组最新的数据域。如果在该网络用户所拥有的所述应用对象如一个模拟游戏中的一个飞行器的状态中发生了变化,然后该自有用户必须通过更新的消息传达这些变化给其他的网络参与者。这样,每个拥有一个数据对象的网络用户将准备和发送更新的消息给其他的网络客户机告知在他们的数据对象中的变化。以这种方式,来自每个自有用户的更新的消息将传达所述数据域中的变化给其他的网络客户机。这样,所有的网络用户参与者将被告知精确的数据对象状况信息。
不幸地是,通过所述更新的消息传达的以及在所有参与者中共享的数据的数量可能是繁重的。如上所述,在一个飞行器模拟应用中需要更新一个游戏参与者的应用对象的虚拟形象的数据域可以包括信息如飞行器大小、速度、以及高度、外形详情(如外部损伤或控制外表位置)、虚拟环境详情(如建筑、天气、以及地形),等等。必须在所有的应用参与者中共享的信息的数量可以很大使得它可以导致带宽饱和。即,一些用户可能具有有限的网络带宽,并且可能难以通过由网络应用所生成的应用环境足够快地实时接收更新的消息而保持“在比赛中”。
一个允许具有有限的带宽的用户来参与多用户应用如在线游戏的方式为减少数据对象的数量,其中这些数据对象的详情在所有的用户中共享。这可以例如通过将应用环境分割成兴趣区域来取得,这样在一个应用环境兴趣区域中的用户不被提供关于其他应用环境区域中的应用对象的信息。一个拥有所述应用环境的一个区域中的一个数据对象的用户不必发送更新的数据域给所述应用环境的其他区域中的用户。这减少了各自有用户在网络上必须被发送的信息的数量。每个用户不必下载各自的及每一个由网络客户机为该应用传送的更新的消息。这样的一个系统例如被描述在由R.Waters与J.Allred申请的美国专利No.5,841,980分布式处理系统中。在适当的位置具有这样的分布式处理,一个用户可以省去为一个应用对象下载和处理所有的更新消息。这意味着参与者的实时交互将不被更新消息的处理所减慢。
然而,即使具有一个有限的共享环境,与一个数据对象有关的数据域的数量可以充分地多或详细,这样一个用户的带宽仍然可以根据与所有的在用户的虚拟环境兴趣区域中的应用对象有关的处理的需要而被占用。事实上,所述用于同一个应用环境区域中的应用对象的更新消息可以包括许多数据,所述数据从网络客户机的观点看并不重要。这可以是这样的情况,例如如果所述应用对象更新消息包括用于详细地呈递所需的所有的绘图信息,虽然该应用对象并未与用户看到详情的观察视野充分地近。并且,即使一个用户具有保留的可用带宽,如果网络数据通信量确实不包括用于所有数据对象的所有数据域而不管每个参与的用户处的需要,对于网络运行更为有效。
这样,当前的多用户应用不是关于应用对象更新的最高效率而配置的。即使在分割一个应用环境为独特的更新区域基础上上的减少的数据传送仍旧可以占用参与者的带宽资源并且生成不需要的网络数据通信量。这样,需要一个改进的更有效的在线多用户应用环境。本发明满足了这一需要。
发明内容
在一个计算机网络上的与一个多用户网络应用的一个数据对象有关的从一个拥有所述数据对象的网络用户到一个正在更新的用户的数据传送,通过定义该数据对象的数据域的一个子集的传送来获得,这样该数据域的所述子集由所述正在更新的用户来指定且小于或等于包含用于定义该数据对象的所有数据域的更新值的完全的更新传送。因为每个数据对象由多个数据域来定义,该数据对象数据域的一个子集的传送保证了为数据更新而被利用的网络带宽将从其中为一个正在被更新的对象的所有定义数据域在该网络上被传送的情形中减少。
根据本发明,一个数据更新请求消息从该正在更新的用户发送到自有用户,这样该请求消息指定正在更新的用户想要的更新数据的一个子集。该正在更新的用户确定将被正在更新用户处的网络应用的处理所需要的所述数据域子集。当该指定的更新数据的子集由该正在更新用户所接收,用于该应用对象的由所述正在更新用户保持的相应的数据域用接收的子集数据来更新。这样,不需要该正在更新用户总是为定义该数据对象的所有数据域请求与接收更新数据。更确切地,该正在更新用户可以请求用于该应用对象的一个减少的更新数据的子集。这可以减少由正在更新用户执行多用户网络应用以及更新该应用对象的状态所需的带宽。
本发明的其他的特征和优势将在下面的优选实施例的描述中显而易见,所述优选实施例通过示例的方式示出了本发明的原理。
附图说明
本发明的目的、优势以及特征通过下面的结合附图的详细描述中更易于理解,其中:
图1为根据本发明构造的一个计算机网络的一个图;
图2示出了在图1的系统中的一个正在更新用户处的用来提供选择性的应用对象更新操作的处理的流程图;
图3示出了一个请求一个应用用户指定连接速度从而显示一个数据更新子集的显示器屏幕选择菜单;
图4示出了在图1的系统中的一个对象自有用户处的处理的流程图;
图5示出了图1所示的网络中的一个计算机的硬件组成的一个框图;
图6示出了图1所示的所述网络的一个网络节点处的一个计算机娱乐系统的硬件组成的一个框图。
具体实施方式
图1为根据本发明构造的一个计算机网络100的一个图。多客户机计算机102、104、106在一个网络108上相互通信。一个或多个服务器计算机110也可以在网络上与所述客户机通信。所述计算机在网络上相互通信并在一个多用户应用环境的处理中相互协作。所述计算机102、104、106可以包括例如:计算机如传统的桌上型个人计算机;娱乐控制台装置如日本东京的索尼计算机公司提供的“游戏站2”游戏控制台系统;或者其他的可以提供或参与到一个多用户应用程序设计环境中的计算机平台。如图1所示的三个客户机只是用于说明的目的,但是系统100可以包括更大或更小数量的客户机。应该理解计算机在其上进行通信的网络108可以包括实现计算机102、104、106之间的数据通信的多种网络配置。适合的网络包括例如客户机-服务器和对等的计算机网络配置。
网络客户机102、104、106参与其中的所述应用程序设计环境是一个其中每个客户机负责至少一个应用数据对象的环境。在一个在线游戏应用的环境中,例如,每个客户机可以对应为一个游戏竞争者或在所述客户机机器处作为用户登陆。因此,每个客户机将保持一个定义一个竞争者的数据对象。即,每个数据对象由一组数据域来定义,如熟悉这样的对象导向程序设计概念的本领域的技术人员所理解的。该客户机如上所述拥有所述数据对象的所有权。在一个商业应用中,例如,每个数据对象可能对应为一个交易或者一个用户或客户的商业账目。
由用户102、104、106为一个相应的数据对象保持的数据将指定允许数据对象充分运行在所述多用户应用环境中所需的所有的参数。例如,在一个多游戏者飞行器模拟应用中,每个用户保持对应于一个由用户在各自的客户机处操作的虚拟飞行器的一个(所述自有的)数据对象。完全地定义一个对应每个用户的飞行器的数据对象的数据域将包括数据域例如飞行器大小、速度、三维空间中的高度、外形详情(如外部损伤或控制外表位置)、虚拟环境详情(如建筑、天气、以及地形),等等。可能用于定义一个飞行模拟网络应用中的一个飞行器的所述数据域的一个例子如下面的表1中所提供的:
表1
用于飞行器数据对象的数据域
数据域 | 值(单位) |
位置X | 3维空间 |
位置Y | 3维空间 |
位置Z | 3维空间 |
速度X | 千米/小时&空间中的朝向 |
速度Y | 千米/小时&空间中的朝向 |
速度Z | 千米/小时&空间中的朝向 |
数据域 | 值(单位) |
态度 | 朋友/敌人 |
阻力板位置 | 倾斜角度 |
损伤值 | 损伤等级0-10 |
副翼位置 | 倾斜角度 |
着陆拦阻装置位置 | 上/下 |
飞行器序列号 | 包括文字与数字的数据 |
其它数据域以及那些表1中所列出的数据域可能也被用于完整地定义一个飞行器,用于呈递所述网络应用的一个适当的视频形象,如光开或关、补燃器开/关、飞行员的身份,等等。
每个自有的用户周期地更新定义其各自的应用对象的所述数据域,并且各个自有用户具有发送一个更新消息给正在执行该网络应用的所有的其他网络用户的能力,这样所述更新的消息包含由自有用户所保持的数据。如下面进一步描述的,系统100的处理可以是这样的,每个正在更新网络用户(即,远离一个自有用户的一个用户)可以从各自的自有用户请求减少数量的数据域用于一个对象的更新,从而减少用于保持关于所述应用对象的本地数据的带宽要求以及减少用于传送更新数据的网络通信量。
图2示出了在图1的系统中的一个更新用户处的用来提供选择性的应用对象更新操作的处理的流程图,其中在所述更新操作中一个正在更新的用户可以为由另一个用户所拥有的一个应用对象请求所述数据域的一个更新子集。图2所示的操作用一个网络用户的观点描述为根据一个由一个远端网络用户所拥有的应用对象来请求一个来自所述远端网络用户的更新。然而,应该理解到系统中的每个正在更新的用户正在执行类似的操作,并且对于系统中的任何特定的正在更新的用户,所有的其他用户对于所述正在更新的用户来说是远端客户机,并且所述特定的正在更新的网络用户被视为本地网络客户机。
在图2的如流程图逻辑框202所示的第一个操作中,一个多用户网络应用在一个网络用户处开始,并且一个或多个应用对象由该用户所检测。检测到的数据对象由该网络应用的其他用户所拥有。在所述计算机处理系统的一个示范性实施例中,一个应用对象为根据所述网络应用保持在一个共享的目标空间中的一个数据对象,这样每个正在运行所述应用的网络用户将被告知所述对象存在于所述共享的对象空间中。即,应用数据对象将存在于一个共享的数据空间中,这样所有的应用用户将被告知所述数据对象并且这样这些数据对象可以通过数据更新消息和各用户处的本地处理彼此交互。每个数据对象由一组包括参数和对象方法的数据域来定义,如本领域的技术人员所能理解的。定义一个飞行器对象的所述数据域的一个例子被提供在上面的表1中。
在一个多游戏者游戏应用中,例如,一个如图1所示的服务器可以为所述共享的数据空间保持所有应用数据对象的一个集合,为每个用户竞争者对应一个对象,连同所述虚拟游戏世界中的相关条目的数据对象一起,其中所述虚拟游戏世界中的一个网络客户机处的每个用户负责对应于所述用户的一个数据对象。应用用户可以从任一网络服务器获得对象更新,其中所述网络服务器接收来自每个自有用户(网络客户机)的更新。在另一个实施例中,每个网络客户机将为他们的相应的用户保持各自的数据对象,并且该网络客户机将交换直接来自于每个自有用户的与他们的各自的应用对象相关的数据,将数据副本保持在他们各自的用户机器中。
接下来,在流程图的逻辑框204中,所述正在更新的用户执行操作来更新对应所述正在更新用户的所述应用对象的当前状态。一个类似的更新操作在系统的每个网络客户机处局部地发生。这样,每个各自的应用数据对象的当前状态由拥有所述数据对象的网络客户机周期地更新。在逻辑框206中,所述正在更新的客户机确定所述对于关于应用数据对象的本地信息的更新要求而不是由所述正在更新的用户所拥有的对象(即,远端自有用户的数据对象)。根据本发明,一个正在更新的用户不需要请求一个包含用于定义所述远端数据对象的所有数据域的数据的更新。
在一个传统的网络应用系统中,一个更新消息典型地包括用于定义一个数据对象的所有数据域的数据。在图1所示的系统中,所述正在更新的用户可以确定定义一个网络应用数据对象的数据域的一个子集,这样所述指定的从一个远端自有用户接收的更新数据子集小于或等于包含所述应用对象的完全更新数据消息的数据域的数目。这样以来,一个正在更新的用户具有对将从一个远端自有用户发送的所述更新数据的控制,并且因此一个正在更新的用户具有对高效地接收来自一个自有用户的一个更新数据传送所需的带宽的控制。
要求的所述更新数据子集的确定可以是一个手工的用户选择的活动,或者该确定可以是所述网络应用的一个自动处理特征。例如,所述网络应用可以提供一个可选择的菜单给一个正在更新的用户,其中所述可选择的菜单请求所述用户手工地指定被请求的更新信息的范围,如在一个完全更新和一个简化的更新子集之间的选择。所述用户对于所述更新数据子集的选择可以根据用户的网络连接带宽给出。
来自可用的数据域组中的更新数据子集的选择可以手工地选择或可以由所述用户计算机自动地确定与选择,并且又可以被一次性地设置并且其后被保持用于所述网络应用的执行,或者可以在所述应用第一次被启动时被初始地设置并且在其后的网络运行操作期间被周期地调整。例如,所述网络应用可以获得所述用户网络连接所述用户操作系统的带宽速度并且可以在该应用启动时自动地确定合适的数据子集选择。其后,该网络应用可以根据本地(正在更新的用户)应用对正在更新的数据对象的需要或兴趣程度在每次请求更新的时候或根据一个不同的应用更新时间表动态地确定所述更新数据子集。所述兴趣程度可以是所述正在更新的用户与所述数据对象交互的一种活动。
所述动态确定在例如下面的情况中尤为有用,其中所述正在更新的用户的交互很强烈,如当飞行器在一组要求更完整的数据域的兴趣增加的区域(封闭形式)中,或者飞行器在一个对于所述网络应用来说更为有限的数据子集是足够的兴趣减少的区域(在一个遥远的空间中飞行)中时。在这两个示范性飞行器模拟情形中,正在更新的用户的兴趣程度依赖于数据对象对虚拟应用空间中的正在更新的用户的接近。在数据对象中的用户兴趣程度可以由下面的来指示,例如应用空间中的正在更新的用户相对于所述数据对象(如在视觉上清楚的或模糊的)的位置、在所述应用中的分组或联系(如同盟或敌人),或所述网络应用的目的或目标(从而基于应用目标确定相对于自有用户的兴趣程度)。其它的标准可以根据正在执行的网络应用被用于确定正在更新的用户的兴趣程度。
一个根据连接带宽在一个更新子集中选择数据域的数目的例子如图3所描述的,其中示出了所述网络应用的一个显示器屏幕选择菜单302,要求用户指定连接速度,或者一个模拟的调制解调器连接速度,或者几种宽带连接速度中的一个。当该用户选择一种连接速度时,在本地客户机处的网络应用将用一个相应的更新数据子集来生成更新请求消息。例如,对于一个T1连接,所述应用将自动地选择来自自有用户的完全的更新数据消息,但对于一个模拟调制解调器连接,所述应用将自动地选择来自自有用户的减少数量的数据。作为一个例子,所述自动确定可以根据通过所述客户机操作系统获知的系统信息被执行。其它的选择被请求的信息的范围的方案将会由本领域的技术人员所想到。不管使用的确定技术是什么,根据本发明的处理提供了一个具有指定数据域的数目的能力的本地客户机,它将从一个远端客户机请求与一个应用数据对象有关的数据更新。这样以来,本地客户机不被要求为所有的正在定义的数据域请求与接受更新数据,所述所有的正在定义的数据域否则为一个应用数据对象被提供在一个更新数据消息中。
所述数据子集选择的间隔尺寸可以包括一个逐数据域的选择以包含所述更新数据子集,或可以来自一组预定的数据域子集集合中。例如,图3的用户菜单可以提供数据域子集的菜单。在其中数据域子集的选择由所述网络应用自动地确定的情况中,该子集可以包括几个数据域子集中的一个。例如,在一个飞行器飞行模拟的网络应用中,完整地定义一个飞行器对象的所述数据域可能对应上面表1所列的域。对于一个具有56K的模拟调制解调器连接的用户(图3的窗口显示中的第一个按钮),所述网络应用可以自动地选择如下表2所列的参数的一个简化的数据域子集(称作子集1)。
表2
用于飞行器数据对象的数据域的子集1
数据域 | 值(单位) |
位置X | 3维空间 |
位置Y | 3维空间 |
位置Z | 3维空间 |
速度X | 千米/小时&空间中的朝向 |
速度Y | 千米/小时&空间中的朝向 |
速度Z | 千米/小时&空间中的朝向 |
对于一个具有线缆调制解调器或DSL连接(图3的窗口显示中的第二个按钮)的用户,所述网络应用可以自动地选择如下面表3所列的参数的一个简化的数据域子集(称作子集2)。
表3
用于飞行器数据对象的数据域的子集2
数据域 | 值(单位) |
位置X | 3维空间 |
位置Y | 3维空间 |
位置Z | 3维空间 |
速度X | 千米/小时&空间中的朝向 |
速度Y | 千米/小时&空间中的朝向 |
速度Z | 千米/小时&空间中的朝向 |
态度 | 朋友/敌人 |
损伤值 | 损伤等级0-10 |
着陆拦阻装置位置 | 上/下 |
这样,可用的更新数据子集的子集2包括比子集1更多的数据域,但不如一个完全的更新消息一样多的数据域,所述完全的更新消息将包括表1中所列的对于所有的对象定义的数据域的当前数据域值。其它的按钮和数据子集可以为其它的如无线LAN连接、无线因特网蜂窝连接,等等连接带宽所包括。在一个类似的方式中,其它的数据域更新子集可以被提供来根据可用的用户带宽提供用于选择更新子集的不同的间隔尺寸。提供的间隔尺寸可以由本领域的技术人员根据提供的网络应用来确定。
返回图2,在由逻辑框208指定的下一个操作中,本地客户机发送所述更细请求消息给远端客户机。所述更细请求消息的格式取决于正在由所有的客户机102、104、106(图1)正在操作的所述网络应用。一个自有用户更新它的数据对象常规的做法是使用一个更新广播时间表(本地更新)。在所示系统中,每个正在更新的用户(远离自有用户)可以产生一个指定应用对象数据域的一个更新子集的远端对象广播时间表。这样以来,自有用户(本地客户机)知道所述正在更新客户机正在请求什么信息,以及所述更新消息的其他的详情(如更新频率、带宽设置,等等)。
根据本发明,所述更新请求消息将包含一个将被远端正在更新的客户机所识别的与一个完全的或完整的数据更新消息相比作为指定更新数据的一个子集的域或参数。如上所述,所述更新数据组可以为完全的更新组(即,一个具有一个数据对象的所有的定义域的值的更新消息),或者所述更新数据组可以为一个减少数量的数据域,该数据域为包含完全数据更新消息的数据域的一个子集。在任一情况中,从正在更新客户机接收更新数据请求消息的远端客户机(所述数据对象自有的客户机)将通过提供所述请求的数据量来响应。正在更新用户然后将从所述自有用户接收所述更新数据子集消息,如流程图中逻辑框210所示。
在由逻辑框212所示的最后一个更新处理操作中,所述更新请求用户将所述更新的数据合并到本地对象数据空间用于相应的应用对象。该操作可以包括例如更新有关自有客户机的数据对象的本地客户机的数据,以及可以包括更新一个示出了自有客户机的应用对象的虚拟显示形象。其他的网络应用的处理然后可以继续。
图4示出了根据在运行该网络应用的其他(远端)网络客户机处正在更新用户在图1的系统中的一个数据对象自有客户机处的处理的流程图。自有用户将更新由自有用户拥有的所述数据对象的数据域并且接收来自网络应用的其他用户的更新请求消息。在由流程图的逻辑框402所示的第一个操作中,包括在一个自有用户处启动多用户网络应用环境。如上所述,所述网络应用可以包括一个在线游戏关、一个交易导向关、或任何其他的支持一个多用户共享的对象数据空间的应用。
在所述共享的对象数据空间中,每个参与的用户拥有一个或多个应用对象的所有权。例如,在一个在线游戏关的环境中,每个对象自有用户具有一个表示该应用环境中的自有用户竞争者的应用对象的所有权。每个自有用户必须为拥有的应用对象周期地执行一个更新操作,其中所述应用对象的状态根据定义数据对象的数据域被更新。该更新操作如图4中的逻辑框404所示。
因为每个自有用户在所述网络应用的共享对象数据空间中操作,每个自有用户知道也在共享对象数据空间中操作的其他的用户(网络的节点,或客户机)。根据所述网络应用,每个参与的用户将周期地生成一个更新数据请求消息。该更新数据请求消息被发送到每个远端自有用户。如上所述,根据所述网络应用的配置,更新数据请求消息可以被发送到一个中心应用服务器,该服务器根据消息中指定的数据子集响应每个更新消息。在任一情况中,在逻辑框406中,更新数据请求消息在一个存储对应于一个数据对象的所有定义数据域的数据的网络客户机处被接收,这样所述更新数据请求消息请求一个更新数据子集。在逻辑框408中,更新数据子集被传送到在所述更新数据请求消息中识别的正在更新的用户。
上面的操作被描述在一个示范性的在线游戏应用的环境中,如一个飞行器飞行模拟。这样的一个应用可以包括例如包括三个用户的一个共享的对象空间,所述三个用户在一个网络游戏应用中合作操作三个相应的同盟飞行器,而三个其它的用户在他们自己中合作操作三个相应的敌方飞行器。每个用户将个别地更新定义他们各自的飞行器的所有的数据域,如上面表1所列的数据域。在三个同盟飞行器的情况中,如果该三个同盟飞行器操作在封闭的形式(根据三维虚拟空间)下,那么对于三个同盟飞行器的每个用户来说接收完全的数据更新非常重要。例如,三个封闭形式的同盟飞行器中的一个决定着陆,那么,对于各同盟飞行器用户的计算机处适当的虚拟形象而言,知道着陆飞行器的表1数据域的阻力板位置、副翼位置、着陆拦阻装置位置的状态很重要。在位于所述应用虚拟空间中的一个更远的位置的三个敌方飞行器的情况中,只有兴趣数据域将可能是根据位置X、位置Y、位置Z以及相应的速度信息的范围数据。显然这组减少的对象数据域可以由表2的子集1分组来提供。显然,表2具有比用于传送完全的数据更新域(表1)需要更少的带宽。
本领域的技术人员可以理解其它的网络应用也可以由上面所描述的数据更新子集特征来提供。例如,相对更大带宽要求的流数据应用可以利用所述数据更新子集特征,所述特征包括传送包含图像、声音、音频数据的流数据并且可以由网络用户动态的请求的应用。这样,网络应用用户、流数据、以及多边(形)数据可以构成一个虚拟世界。每个应用用户具有对预定的数据对象(即,由一组预定的数据域定义的数据对象)的网络控制。每个网络应用用户将因此为用户对其具有所有权的对象进行更新。在更新一个流对象如一个图像流对象的用户的情况中,该图像流将对于一些应用对象是可见的,为伴随语音或声音的面孔,而对于其它应用用户,该图像流将被看到只是屏幕上的噪声。即,一些正在更新的用户可以仅指定包含音频数据的数据域,而其它正在更新的用户可以指定包含图像数据而不包含音频数据的数据域,或其它的根据可用带宽或本地用户兴趣或其它参数定义所述流对象的数据域的组合。这样,根据本发明,每个应用用户将从正在接收的每个图像流(以及其它数据)指定想要的分辨率,并且将具有对所接收的远端更新消息的控制。所述控制图像流的网络用户(客户机和服务器)仅发送由每个正在更新的用户所请求的适当的更新数据子集。如上所述,每个正在更新的用户可以根据它的操作情况确定想要的更新数据子集。
应该理解到如上所述的“自有用户”可以包含在所述网络共享对象空间中负责一个或多个对象的任何的网络用户(节点)。即,该网络应用可以被配置,这样单个用户拥有该应用的所有对象。这可以是这样的情况,例如,当一个服务器拥有该应用空间中的所有对象,并且与请求数据更新的客户机机器进行通信。在那样的情况中,所有的网络应用客户机然后变成正在更新的用户,该用户从所述网络应用的自有用户(服务器)请求对象更新。这样,所述网络应用可以被配置,这样一个自有用户包含一个网络节点处的一个客户机机器,并且每个客户机在所述应用的共享对象空间中,拥有一个或多个相应的对象,或者该网络应用可以被配置,这样,对一个应用有一个自有用户,如一个应用服务器,该服务器为网络应用的所有其它用户提供对象更新。
本领域的技术人员将理解如何在对于网络应用有一个自有用户如一个应用服务器的情况中实施上面所述的动态带宽控制。如上所述,对于一个网络应用,一个自有用户是一个负责保持关于一个用户与网络应用交互的状态数据的用户。这样,如果对于所述网络应用只有一个自有用户,那么该用户(服务器)将负责保持对应于每个应用用户的对象有关的状态信息。例如,在一个网络游戏关中,一个客户机用户可以控制共享对象空间中的用户运动,但是该服务器将拥有该对象并且因此将保持与共享空间中的客户机用户的相应对象有关的状态数据。这样,每个客户机用户将从自有用户(服务器)请求更新。
这样,网络应用的每个用户可以拥有网络应用共享数据空间的一个相应的数据对象的所有权,或者,网络应用的一个单个网络节点可以拥有对对应于用户的网络应用共享数据空间的所有数据对象的所有权。在单个的对象自有节点的情况中,该节点典型地被引作一个应用服务器。根据图1,在该段的第一关中,客户机节点102、104、106拥有他们各自的数据对象。在该段第二关中,单个用户(服务器)110拥有对代表每个客户机102、104、106的数据对象的所有权。
下面提到的操作可以根据网络应用执行,作为安装在合适的网络计算设备上。图5和图6是根据一个本发明的适合于如上所述的操作的网络计算设备的框图。
如图1的框图所示的网络计算设备(客户机和服务器)包含一个计算机网络系统100的节点。图5是图1的系统100中的一个计算机的框图,示出了包括在提供所述服务器和客户机的功能体的一个计算机中的硬件组成。本领域的技术人员将能够理解到图1所示的服务器和客户机可以具有一个类似的计算机结构,或者可以具有与能力和这里所描述的各自的功能一致的可替换的结构。图5结构尤为适合图1所示的服务器计算机110。
图5示出了示范性的计算机500,该计算机例如可能包含任何一个网络计算机102、104、106、110。每个计算机500在一个中央处理单元(CPU)502的控制下运作,如可以从美国的加利福尼亚的SantaClara的Intel公司获得的一个奔腾微处理器以及相关的集成电路芯片。一个计算机用户可以从一个键盘和计算机鼠标504输入指令或数据,并且可以在显示器506处看到输入和计算机输出。该显示器典型地为一个图像监控器或平面显示器。该计算机500也包括一个直接存取存储设备(DASD)508,如一个硬盘驱动器。存储器510典型地包括易失半导体随机访问存储器(RAM)。每个计算机优选地包括一个接受一个程序产品存储设备514的程序产品阅读器512,所述程序产品阅读器可以从设备514中阅读数据(以及随意地向其写入数据)。所述程序产品阅读器可以包括例如一个磁盘驱动器,并且该程序产品存储设备可以包含可移动的存储介质如软磁盘、一个CD-R光盘、一个CD-RW光盘、或DVD光盘。
每个计算机500可以与计算机网络502(如因特网或一个企业内部互联网)上的其它的计算机通过一个网络接口518进行通信,所述网络接口518能够在网络520与所述计算机之间通过一个连接522进行通信。该网络接口518典型地包含例如一个网络接口卡(NIC)以及一个允许在多个网络上进行通信的调制解调器。
所述CPU502在暂时存储在所述计算机500的存储器510中的程序设计步骤的控制下运行。当执行所述程序设计步骤时,该计算机执行它的功能。这样,所述程序设计步骤实现所述各自的客户机或服务器的功能体。该程序设计步骤可以通过所述程序产品存储设备514或通过所述网络连接522从DASD508处接收。所述程序产品存储驱动器512可以接收一个在上面记录阅读程序设计步骤的程序产品514,并且传送所述程序设计步骤到存储器510中用于CPU502的执行。如上所述,所述程序产品存储设备可以包含已经记录计算机可读指令的任何一个多样可移动介质,该多样可移动介质包括软磁盘和CD-ROM存储光盘。其他合适的程序产品存储设备可以包括磁带和半导体存储芯片。这样以来,根据本发明的用于操作所需的所述处理步骤可以被收录在一个程序产品上。
可选地,所述程序步骤可以通过网络520接收到所述运行存储器510中。在该网络方法中,所述计算机在网络通信由熟知的方法已经在网络连接522上建立之后通过所述网络接口518接收包括程序步骤的数据到所述存储器510中,其中所述熟知的方法为本领域的技术人员所理解而不需进一步的解释。程序步骤然后由CPU502所执行因而包含一个计算机处理。
应该理解到如图1所示的网络系统100的所有网络计算机可以具有一个与图5所示的类似的结构,这样根据图5的计算机500描述的详情将被理解应用到系统100的所有的计算机上。应该理解任何一个网络计算机可以具有一个可选的结构,只要该计算机可以与图1所示的其他的计算机通信并且可以支持这里描述的功能体。
例如,图1的客户机计算机102、104、106的任何一个可以包括一个计算机娱乐系统,如图6所示的一个图像游戏控制台系统600。图6是所述图像游戏控制台系统600的示范性的硬件配置的一个框图。
所述图像游戏控制台系统600包括一个与一个主存储器605有关的中央处理单元(CPU)601。该CPU601在存储在OS-ROM660或从一个游戏程序存储介质到所述主存储器605传送的程序设计步骤的控制下运行。该CPU601被配置来处理信息并且根据所述程序设计步骤执行指令。
该CPU601通过一个专用总线625被通信地耦合到一个输入/输出处理器(IOP)620。该IOP620耦合该CPU601到所述OS-ROM660,所述OS-ROM660由存储程序指令的非易失存储器组成,如一个操作系统。所述指令在主单元600的启动时优选地通过所述IOP620传送到所述CPU。
该CPU601通过一个专用总线615被通信地耦合到一个图形处理单元(GPU)610。该GPU610是一个被配置来执行制图处理和根据从CPU610接收的指令程序设计图像的制图处理器。例如,所述GPU610可以基于由所述CPU601生成并从CPU601接收的显示列表呈递一个图形图像。所述GPU可以包括一个用于存储图像数据的缓存器。该GPU610输出图像到一个连接到所述控制台系统600的A/V输出设备690。
所述IOP620根据存储在一个IOP存储器630中的指令来控制所述CPU601和多数外围设备之间的数据交换。外围设备可以包括一个或多个输入控制器622、一个存储卡640、一个USB645,以及一个IEEE1394串行总线650。此外,总线655被通信地耦合到所述IOP620。总线655被连结到几个附加设备,包括所述OS-ROM660、一个声音处理单元(SPU)665、一个光盘控制单元670,以及一个硬盘驱动器(HDD)680。
所述SPU665根据从所述CPU601和IOP620接收的指令被配置用来生成声音,如音乐、声音效果,以及语音。该SPU665可以包括一个存储波形数据的声音缓存器。所述SPU665生成声音信号并且传送该信号给扬声器。
所述光盘控制单元670被配置来控制一个程序阅读器,该程序阅读器可以包括例如一个光盘驱动器,该光盘驱动器接受可移动存储介质如软磁盘、CD-ROM光盘、CD-R光盘、CD-RW光盘、DVD光盘,等等。
存储卡640可以包括一个所述CPU601可以写和存储数据的存储介质。优选地,所述存储卡640可以被插入IOP620或从IOP620移除。一个用户可以使用存储卡640存储或保存数据。而且,所述视频游戏系统600优选地被提供至少一个硬盘驱动器(HDD)680给要写入和存储的数据。
一个数据I/O接口,如IEEE1394串行总线650或通用串行总线(USB)645接口,被优选地通信耦合到所述IOP620上用来允许数据被传入和传出所述视频游戏系统600,如图1所示的网络。
这样,如上所述的实施例提供了在一个计算机网络上从一个远端客户机到一个本地客户机用于一个多用户网络应用的改进的数据传送。所述改进的数据传送通过为所述远端客户机的一个网络应用对象确定指定数量的更新数据来处理,这样指定的数量小于或等于用于所述应用对象的一个完全更新数据消息。一个请求消息从本地客户机发送到要求来自远端客户机的指定数量的更新数据的所述远端客户机。当所述指定数量的更新数据在本地客户机处接收时,用于所述应用对象的本地客户机数据状态由所接收的更新数据更新。具有这些操作,不需要本地客户机总是请求来自远端客户机的所有应用对象上的完全的更新数据消息,但相反本地客户机可以请求用于一个应用对象的状态的减少数量的更新数据。这可以减小本地客户机执行多用户网络应用和更新应用对象的数据状态所要求的带宽。
本发明根据当前优选实施例描述如上,这样本发明的理解可以被传达。然而,有许多用于本系统并且这里并非特定描述的但对本发明很适用的应用的配置。本发明因此不应该被视作局限于这里所描述的特定实施例,但更适合地,应该理解本发明关于多用户应用具有广泛的可用性。在附属权力要求的范围内的所有的修改、变化、或相当的配置以及执行应该因此为视为在本发明的范围内。
Claims (23)
1.一种计算机网络数据传送的方法,该方法包括:
确定一个与一个数据对象有关的更新数据子集,所述数据对象由自有网络的用户计算机保持在一个多用户网络应用共享数据空间中,以使得所述更新数据子集指定小于或等于用于所述数据对象的完全的数据更新的一组数据域,其中所述确定由正在更新的用户计算机来执行;
从保持对应于所述数据对象的本地副本的所述正在更新的用户计算机发送一个请求来自所述自有网络的用户计算机的确定的更新数据子集的一个网络数据更新请求消息;
接收所述数据对象的更新数据,该更新数据包含由正在更新的用户计算机确定的一组数据域;并且
在所述正在更新的用户计算机处用接收的更新数据子集来更新所述数据对象的本地副本。
2.如权利要求1所述的方法,其中,确定所述更新数据子集包含确定一个可用的网络带宽并按照所述可用带宽来确定所述更新数据子集。
3.如权利要求2所述的方法,其中,确定可用的带宽包括接收一个用户选择的带宽值。
4.如权利要求2所述的方法,其中,确定可用的带宽包括从正在更新的用户计算机来接收系统资源信息。
5.如权利要求1所述的方法,其中,确定所述更新数据子集包括根据一个正在更新的用户计算机对数据对象的兴趣程度确定所述更新数据子集的一组数据域。
6.如权利要求5所述的方法,其中,所述正在更新的用户计算机的兴趣程度由所述正在更新的用户计算机与所述共享数据空间中的数据对象的交互来确定。
7.如权利要求1所述的方法,其中,所述请求消息指定一个小于为所述网络应用而完整定义数据对象的数据域的更新数据子集。
8.如权利要求1所述的方法,其中,所述对数据对象的本地副本进行更新包括呈递一个包括所述更新的数据对象的表示的视频显示。
9.如权利要求1所述的方法,其中,所述网络应用包括在网络上传送流数据。
10.如权利要求1所述的方法,其中,所述网络应用的每个用户计算机具有所述网络应用共享数据空间的一个相应的数据对象的所有权。
11.如权利要求1所述的方法,其中,所述网络应用的一个单个网络节点具有所述网络应用共享数据空间的所有用户相应数据对象的所有权。
12.一种在计算机网络上从一个数据对象自有用户到一个正在更新的用户进行数据传送的方法,该方法包括:
在自有用户处为定义一个多用户网络应用中的一个数据对象的一组数据域而确定更新数据;
确定为所述多用户网络应用指定与一个数据对象有关的一个更新数据子集的在一个正在更新的用户处的一个更新数据消息,这样所述更新数据子集指定小于或等于包含由自有用户确定的所述更新数据的数据域的数目的数据对象的数据域;并且
从所述正在更新的用户发送请求所述更新数据子集的更新数据消息给所述自有用户。
13.一种网络计算机设备,用于在计算机网络上传送数据,该计算机设备包括:
一个处理器,用于执行一个多用户网络应用,以使得该计算机设备包括所述网络应用的一个本地客户机;
确定装置,用于确定一个与一个数据对象有关的更新数据子集,所述数据对象由一个自有的网络用户计算机保持在一个多用户网络应用共享数据空间中,这样所述更新数据子集指定小于或等于用于所述数据对象的完全的数据更新的一组数据域,其中所述确定由正在更新的用户计算机来执行;
通信装置,用于从一个保持对应于所述数据对象的本地副本的所述正在更新的用户计算机发送一个网络数据更新请求消息,该网络数据更新请求消息请求来自所述自有网络用户计算机的确定的更新数据子集;以及
接收装置,用于接收数据对象的更新数据,该更新数据包含由所述正在更新的用户计算机确定的一组数据域;
其中,所述处理器周接收的更新数据子集来更新所述数据对象的本地副本。
14.如权利要求13所述的计算机设备,其中,所述确定装置确定一个可用的网络带宽并且根据所述可用带宽来选择所述更新数据子集。
15.如权利要求13所述的计算机设备,其中,所述确定装置通过接收一个用户选择的带宽值来确定可用的网络带宽。
16.如权利要求13所述的计算机设备,其中,所述确定装置通过从所述正在更新的用户计算机来接收系统资源信息而确定可用的带宽。
17.如权利要求13所述的计算机设备,其中,所述确定装置通过根据一个正在更新的用户计算机对数据对象的兴趣程度来确定所述更新数据子集的一组数据域而确定更新数据子集。
18.如权利要求17所述的计算机设备,其中,所述确定装置根据正在更新的用户计算机与共享数据空间中的数据对象的交互来确定正在更新的用户计算机的兴趣程度。
19.如权利要求13所述的计算机设备,其中,所述请求消息指定一个小于为所述网络应用而完整定义数据对象的数据域的更新数据子集。
20.如权利要求13所述的计算机设备,其中,所述处理器通过呈递一个包括所述更新的应用对象数据的表述的视频显示而为所述正在更新的用户计算机来更新所述数据对象的本地副本。
21.如权利要求13所述的计算机设备,其中,所述网络应用包括在网络上传送流数据。
22.如权利要求13所述的计算机设备,其中,所述网络应用的每个用户计算机具有所述网络应用共享数据空间的一个相应的数据对象的所有权。
23.如权利要求13所述的计算机设备,其中,所述网络应用的一个单个网络节点具有所述网络应用共享数据空间的所有用户的相应的数据对象的所有权。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/341,278 | 2003-01-09 | ||
US10/341,278 US7426539B2 (en) | 2003-01-09 | 2003-01-09 | Dynamic bandwidth control |
PCT/US2003/024308 WO2004063935A1 (en) | 2003-01-09 | 2003-08-04 | Dynamic bandwidth control |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1695134A CN1695134A (zh) | 2005-11-09 |
CN1695134B true CN1695134B (zh) | 2010-04-28 |
Family
ID=32711485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038059355A Expired - Lifetime CN1695134B (zh) | 2003-01-09 | 2003-08-04 | 动态带宽控制 |
Country Status (8)
Country | Link |
---|---|
US (4) | US7426539B2 (zh) |
EP (2) | EP2284695B1 (zh) |
JP (1) | JP4572119B2 (zh) |
KR (1) | KR100598481B1 (zh) |
CN (1) | CN1695134B (zh) |
AU (1) | AU2003265352A1 (zh) |
TW (1) | TWI263154B (zh) |
WO (1) | WO2004063935A1 (zh) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426539B2 (en) * | 2003-01-09 | 2008-09-16 | Sony Computer Entertainment America Inc. | Dynamic bandwidth control |
US8407308B2 (en) * | 2003-12-16 | 2013-03-26 | International Business Machines Corporation | Adaptive and configurable application sharing system using manual and automatic techniques |
US9344466B1 (en) * | 2004-01-30 | 2016-05-17 | Leidos, Inc. | Methods and systems for facilitating online collaboration and distribution of geospatial data |
US8376855B2 (en) | 2004-06-28 | 2013-02-19 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US8870639B2 (en) | 2004-06-28 | 2014-10-28 | Winview, Inc. | Methods and apparatus for distributed gaming over a mobile device |
US10226698B1 (en) | 2004-07-14 | 2019-03-12 | Winview, Inc. | Game of skill played by remote participants utilizing wireless devices in connection with a common game event |
CA2580615C (en) * | 2004-09-20 | 2014-02-18 | Camiant, Inc. | Method for dynamic rate adaptation based on selective passive network monitoring |
US20060230428A1 (en) * | 2005-04-11 | 2006-10-12 | Rob Craig | Multi-player video game system |
US10721543B2 (en) | 2005-06-20 | 2020-07-21 | Winview, Inc. | Method of and system for managing client resources and assets for activities on computing devices |
US8118676B2 (en) * | 2005-07-08 | 2012-02-21 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks |
US8284842B2 (en) * | 2005-07-08 | 2012-10-09 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks and a reference grid |
US8270439B2 (en) * | 2005-07-08 | 2012-09-18 | Activevideo Networks, Inc. | Video game system using pre-encoded digital audio mixing |
US9061206B2 (en) * | 2005-07-08 | 2015-06-23 | Activevideo Networks, Inc. | Video game system using pre-generated motion vectors |
US7970017B2 (en) * | 2005-07-13 | 2011-06-28 | At&T Intellectual Property I, L.P. | Peer-to-peer synchronization of data between devices |
US8074248B2 (en) | 2005-07-26 | 2011-12-06 | Activevideo Networks, Inc. | System and method for providing video content associated with a source image to a television in a communication network |
US8149530B1 (en) | 2006-04-12 | 2012-04-03 | Winview, Inc. | Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming |
US9919210B2 (en) | 2005-10-03 | 2018-03-20 | Winview, Inc. | Synchronized gaming and programming |
US9511287B2 (en) | 2005-10-03 | 2016-12-06 | Winview, Inc. | Cellular phone games based upon television archives |
US20070093297A1 (en) * | 2005-10-26 | 2007-04-26 | Waterleaf Ltd. | On-line, real-time game playing with search facility |
US9056251B2 (en) | 2006-01-10 | 2015-06-16 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US8002618B1 (en) | 2006-01-10 | 2011-08-23 | Winview, Inc. | Method of and system for conducting multiple contests of skill with a single performance |
US10556183B2 (en) | 2006-01-10 | 2020-02-11 | Winview, Inc. | Method of and system for conducting multiple contest of skill with a single performance |
US11082746B2 (en) * | 2006-04-12 | 2021-08-03 | Winview, Inc. | Synchronized gaming and programming |
JP4064430B2 (ja) * | 2006-07-26 | 2008-03-19 | 株式会社コナミデジタルエンタテインメント | ゲームシステム、ゲーム端末およびサーバ装置 |
JP4064429B2 (ja) * | 2006-07-26 | 2008-03-19 | 株式会社コナミデジタルエンタテインメント | ゲームシステム、ゲーム端末およびサーバ装置 |
US8266221B2 (en) * | 2006-12-29 | 2012-09-11 | Sap Ag | Technique for data management in a distributed environment |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
EP3145200A1 (en) | 2007-01-12 | 2017-03-22 | ActiveVideo Networks, Inc. | Mpeg objects and systems and methods for using mpeg objects |
US7876940B2 (en) * | 2007-01-30 | 2011-01-25 | International Business Machines Corporation | Universal image processing |
US8238624B2 (en) | 2007-01-30 | 2012-08-07 | International Business Machines Corporation | Hybrid medical image processing |
US8331737B2 (en) | 2007-04-23 | 2012-12-11 | International Business Machines Corporation | Heterogeneous image processing system |
US8326092B2 (en) | 2007-04-23 | 2012-12-04 | International Business Machines Corporation | Heterogeneous image processing system |
US8462369B2 (en) | 2007-04-23 | 2013-06-11 | International Business Machines Corporation | Hybrid image processing system for a single field of view having a plurality of inspection threads |
US7945802B2 (en) * | 2007-09-17 | 2011-05-17 | International Business Machines Corporation | Modifying time progression rates in a virtual universe |
US8675219B2 (en) | 2007-10-24 | 2014-03-18 | International Business Machines Corporation | High bandwidth image processing with run time library function offload via task distribution to special purpose engines |
US9135073B2 (en) | 2007-11-15 | 2015-09-15 | International Business Machines Corporation | Server-processor hybrid system for processing data |
US9332074B2 (en) * | 2007-12-06 | 2016-05-03 | International Business Machines Corporation | Memory to memory communication and storage for hybrid systems |
US8229251B2 (en) | 2008-02-08 | 2012-07-24 | International Business Machines Corporation | Pre-processing optimization of an image processing system |
US9442850B1 (en) * | 2008-03-25 | 2016-09-13 | Blue Coat Systems, Inc. | Efficient directory refresh operations in wide area file systems |
US8379963B2 (en) | 2008-03-28 | 2013-02-19 | International Business Machines Corporation | Visual inspection system |
US9716918B1 (en) | 2008-11-10 | 2017-07-25 | Winview, Inc. | Interactive advertising system |
US8369243B2 (en) * | 2009-04-28 | 2013-02-05 | Sony Computer Entertainment America Inc. | Minimizing bandwidth costs for online games |
US8194862B2 (en) * | 2009-07-31 | 2012-06-05 | Activevideo Networks, Inc. | Video game system with mixing of independent pre-encoded digital audio bitstreams |
CA2814070A1 (en) | 2010-10-14 | 2012-04-19 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
US9204203B2 (en) | 2011-04-07 | 2015-12-01 | Activevideo Networks, Inc. | Reduction of latency in video distribution networks using adaptive bit rates |
US20130013666A1 (en) * | 2011-07-07 | 2013-01-10 | International Business Machines Corporation | Monitoring data access requests to optimize data transfer |
WO2013106390A1 (en) | 2012-01-09 | 2013-07-18 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
US10275128B2 (en) | 2013-03-15 | 2019-04-30 | Activevideo Networks, Inc. | Multiple-mode system and method for providing user selectable video content |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
EP3005712A1 (en) | 2013-06-06 | 2016-04-13 | ActiveVideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
CN104244414B (zh) * | 2013-06-09 | 2018-12-07 | 中国移动通信集团广东有限公司 | 基于终端的共享网络带宽的分配方法、装置与终端 |
US9274828B2 (en) * | 2013-11-03 | 2016-03-01 | Maestrano Pty Ltd. | Systems and methods for event driven object management and distribution among multiple client applications |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
FR3051080B1 (fr) * | 2016-05-09 | 2022-07-22 | Delphi Int Operations Luxembourg Sarl | Ensemble de connexion et procede d'assemblage de cet ensemble de connexion |
US11551529B2 (en) | 2016-07-20 | 2023-01-10 | Winview, Inc. | Method of generating separate contests of skill or chance from two independent events |
JP2018033706A (ja) | 2016-08-31 | 2018-03-08 | 株式会社スクウェア・エニックス | プログラム、及びシステム |
US11308765B2 (en) | 2018-10-08 | 2022-04-19 | Winview, Inc. | Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input |
US11956231B1 (en) * | 2019-05-30 | 2024-04-09 | Apple Inc. | Authority transfer for virtual objects in shared computer-generated reality environments |
US11221871B2 (en) * | 2019-10-25 | 2022-01-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Enabling a management function on a compute node in response to a user workload ownership level |
US11921876B1 (en) * | 2023-06-14 | 2024-03-05 | Snowflake Inc. | Organization-level global data object on data platform |
US11909743B1 (en) | 2023-07-13 | 2024-02-20 | Snowflake Inc. | Organization-level account on data platform |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841980A (en) * | 1996-05-15 | 1998-11-24 | Rtime, Inc. | Distributed system for communication networks in multi-user applications |
US5983263A (en) * | 1998-01-02 | 1999-11-09 | Intel Corporation | Method and apparatus for transmitting images during a multimedia teleconference |
US6167433A (en) * | 1997-08-01 | 2000-12-26 | Muse Technologies, Inc. | Shared multi-user interface for multi-dimensional synthetic environments |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US707236A (en) * | 1901-11-27 | 1902-08-19 | Thomas F Kelly | Indicating mechanism for post-office boxes. |
US5008853A (en) * | 1987-12-02 | 1991-04-16 | Xerox Corporation | Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment |
US5913032A (en) * | 1994-04-04 | 1999-06-15 | Inprise Corporation | System and methods for automatically distributing a particular shared data object through electronic mail |
US5736982A (en) * | 1994-08-03 | 1998-04-07 | Nippon Telegraph And Telephone Corporation | Virtual space apparatus with avatars and speech |
US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
CA2180891C (en) * | 1995-07-12 | 2010-01-12 | Junichi Rekimoto | Notification of updates in a three-dimensional virtual reality space sharing system |
US5956028A (en) * | 1995-09-14 | 1999-09-21 | Fujitsu Ltd. | Virtual space communication system, three-dimensional image display method, and apparatus therefor |
US6219045B1 (en) * | 1995-11-13 | 2001-04-17 | Worlds, Inc. | Scalable virtual world chat client-server system |
US5838909A (en) * | 1996-05-23 | 1998-11-17 | Sandcastle, Inc. | Reducing latency when synchronizing access to a multi-user database over a network |
US6412017B1 (en) * | 1996-07-01 | 2002-06-25 | Microsoft Corporation | Urgent replication facility |
IL119082A (en) * | 1996-08-16 | 2001-04-30 | Virtue Ltd | A method for creating graphic characters |
US6049809A (en) * | 1996-10-30 | 2000-04-11 | Microsoft Corporation | Replication optimization system and method |
US6041312A (en) * | 1997-03-28 | 2000-03-21 | International Business Machines Corporation | Object oriented technology framework for accounts receivable and accounts payable |
US6425016B1 (en) * | 1997-05-27 | 2002-07-23 | International Business Machines Corporation | System and method for providing collaborative replicated objects for synchronous distributed groupware applications |
US5966512A (en) * | 1997-06-05 | 1999-10-12 | International Business Machines Corporation | Groupware save operation |
US5893106A (en) * | 1997-07-11 | 1999-04-06 | International Business Machines Corporation | Object oriented server process framework with interdependent-object creation |
JPH11177628A (ja) | 1997-12-15 | 1999-07-02 | Mitsubishi Electric Corp | 広域環境用3次元仮想空間共有システム |
US6105055A (en) * | 1998-03-13 | 2000-08-15 | Siemens Corporate Research, Inc. | Method and apparatus for asynchronous multimedia collaboration |
US6338086B1 (en) * | 1998-06-11 | 2002-01-08 | Placeware, Inc. | Collaborative object architecture |
US6697869B1 (en) * | 1998-08-24 | 2004-02-24 | Koninklijke Philips Electronics N.V. | Emulation of streaming over the internet in a broadcast application |
US6230171B1 (en) * | 1998-08-29 | 2001-05-08 | International Business Machines Corporation | Markup system for shared HTML documents |
US6563517B1 (en) * | 1998-10-02 | 2003-05-13 | International Business Machines Corp. | Automatic data quality adjustment to reduce response time in browsing |
JP2001197147A (ja) | 2000-01-17 | 2001-07-19 | Canon Inc | データ通信制御装置、データ通信制御方法、記憶媒体および端末装置 |
JP2001232068A (ja) | 2000-02-22 | 2001-08-28 | Namco Ltd | ゲーム装置、処理方法、記録媒体およびネットワーク・ゲーム装置システム |
WO2001069384A2 (en) * | 2000-03-14 | 2001-09-20 | Buzzpad, Inc. | Method and apparatus for forming linked multi-user groups of shared software applications |
US6672961B1 (en) * | 2000-03-16 | 2004-01-06 | Sony Computer Entertainment America Inc. | Computer system and method of displaying images |
WO2002015041A2 (en) * | 2000-08-17 | 2002-02-21 | Trendium, Inc. | Systems, methods and computer program products that can reduce xml data transfer through networks |
US20020049812A1 (en) * | 2000-09-05 | 2002-04-25 | Yuval Nahon | System and method for directing shared data |
US6826523B1 (en) * | 2000-11-01 | 2004-11-30 | Sony Computer Entertainment America Inc. | Application development interface for multi-user applications executable over communication networks |
JP2002189622A (ja) | 2000-12-21 | 2002-07-05 | Nec Corp | 更新データの配信システム、配信方法、及び記録媒体 |
US20030018719A1 (en) * | 2000-12-27 | 2003-01-23 | Ruths Derek Augustus Samuel | Data-centric collaborative computing platform |
US7225225B2 (en) * | 2001-03-30 | 2007-05-29 | Sharp Laboratories Of America, Inc. | Selective synchronization of web browsers |
US6665385B2 (en) * | 2001-04-23 | 2003-12-16 | Cardionet, Inc. | Medical monitoring system having multipath communications capability |
US7039723B2 (en) * | 2001-08-31 | 2006-05-02 | Hinnovation, Inc. | On-line image processing and communication system |
US7007236B2 (en) * | 2001-09-14 | 2006-02-28 | Accenture Global Services Gmbh | Lab window collaboration |
US6938070B2 (en) * | 2001-12-17 | 2005-08-30 | Dassault Systemes | Conflict resolution for collaborative work system |
US7711847B2 (en) * | 2002-04-26 | 2010-05-04 | Sony Computer Entertainment America Inc. | Managing users in a multi-user network game environment |
US6996584B2 (en) * | 2002-05-14 | 2006-02-07 | Pervasive Software, Inc. | System and method of maintaining functional client side data cache coherence |
US7065249B2 (en) * | 2002-07-25 | 2006-06-20 | Microsoft Corp. | System and method for image editing |
US20040111398A1 (en) * | 2002-12-09 | 2004-06-10 | International Business Machines Corporation | Performance mechanism for presenting integrated information in a graphical user interface |
US20040127242A1 (en) * | 2002-12-31 | 2004-07-01 | Dashevsky Jane Y. | Apparatus and associated methods for the synchronization of shared content |
US7426539B2 (en) * | 2003-01-09 | 2008-09-16 | Sony Computer Entertainment America Inc. | Dynamic bandwidth control |
-
2003
- 2003-01-09 US US10/341,278 patent/US7426539B2/en not_active Expired - Lifetime
- 2003-08-04 EP EP10011054A patent/EP2284695B1/en not_active Expired - Lifetime
- 2003-08-04 CN CN038059355A patent/CN1695134B/zh not_active Expired - Lifetime
- 2003-08-04 EP EP03815179A patent/EP1474752B1/en not_active Expired - Lifetime
- 2003-08-04 JP JP2004566428A patent/JP4572119B2/ja not_active Expired - Fee Related
- 2003-08-04 KR KR1020047013086A patent/KR100598481B1/ko active IP Right Grant
- 2003-08-04 AU AU2003265352A patent/AU2003265352A1/en not_active Abandoned
- 2003-08-04 WO PCT/US2003/024308 patent/WO2004063935A1/en active IP Right Grant
- 2003-08-11 TW TW092121970A patent/TWI263154B/zh not_active IP Right Cessation
-
2008
- 2008-06-20 US US12/143,627 patent/US7779075B2/en not_active Expired - Lifetime
-
2010
- 2010-07-16 US US12/838,207 patent/US8010606B2/en not_active Expired - Lifetime
-
2011
- 2011-07-28 US US13/193,081 patent/US8260860B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5841980A (en) * | 1996-05-15 | 1998-11-24 | Rtime, Inc. | Distributed system for communication networks in multi-user applications |
US6167433A (en) * | 1997-08-01 | 2000-12-26 | Muse Technologies, Inc. | Shared multi-user interface for multi-dimensional synthetic environments |
US5983263A (en) * | 1998-01-02 | 1999-11-09 | Intel Corporation | Method and apparatus for transmitting images during a multimedia teleconference |
Also Published As
Publication number | Publication date |
---|---|
WO2004063935A1 (en) | 2004-07-29 |
US8010606B2 (en) | 2011-08-30 |
US8260860B2 (en) | 2012-09-04 |
US20110289152A1 (en) | 2011-11-24 |
JP4572119B2 (ja) | 2010-10-27 |
US7779075B2 (en) | 2010-08-17 |
EP1474752B1 (en) | 2013-03-06 |
KR100598481B1 (ko) | 2006-07-11 |
EP1474752A1 (en) | 2004-11-10 |
US20040139158A1 (en) | 2004-07-15 |
EP2284695A2 (en) | 2011-02-16 |
CN1695134A (zh) | 2005-11-09 |
EP2284695A3 (en) | 2011-06-08 |
KR20050044752A (ko) | 2005-05-12 |
JP2006515449A (ja) | 2006-05-25 |
US7426539B2 (en) | 2008-09-16 |
TW200412525A (en) | 2004-07-16 |
US20080263154A1 (en) | 2008-10-23 |
TWI263154B (en) | 2006-10-01 |
EP1474752A4 (en) | 2007-09-05 |
EP2284695B1 (en) | 2013-03-13 |
US20100281116A1 (en) | 2010-11-04 |
AU2003265352A1 (en) | 2004-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1695134B (zh) | 动态带宽控制 | |
EP2297649B1 (en) | Providing access to virtual spaces that are associated with physical analogues in the real world | |
US5964660A (en) | Network multiplayer game | |
US8784214B2 (en) | Method and system for establishing location-based leaderboard | |
US9550125B2 (en) | Dynamic and scalable topology for virtual world environments | |
EP2752226B1 (en) | User organizing device, user organizing method, and cloud computing system | |
CN103917957A (zh) | 虚拟盘的带宽节制 | |
CN103890815A (zh) | 用于主管可被远程自动创建、主管和终止的瞬变虚拟世界的方法和系统 | |
JP2007505673A (ja) | ネットワークを利用したゲーム・システム | |
WO2002098526A1 (en) | System and method for distributing a multi-client game/application over a communications network | |
CN102945309A (zh) | 实现基于计算机活动的挑战 | |
CN114257830B (zh) | 直播游戏互动方法、系统、装置及计算机设备 | |
CN111672132B (zh) | 游戏的控制方法、控制装置、服务器和存储介质 | |
JP7403715B2 (ja) | データ処理方法及び装置、機器、記憶媒体 | |
CN107864386B (zh) | 一种互动平台管理方法及系统 | |
CN105979352A (zh) | 一种线下互动平台管理方法及系统 | |
CN107801056A (zh) | 一种互动平台管理方法及系统 | |
CN106101816A (zh) | 一种线下互动平台管理方法及系统 | |
CN103139198B (zh) | 信息处理系统、信息处理服务器和信息处理方法 | |
CN113457141B (zh) | 资源处理方法和装置、存储介质及电子设备 | |
US20230293988A1 (en) | Software application streaming system | |
WO2024174586A1 (zh) | 元素显示方法、装置、设备、介质及程序产品 | |
US20240316453A1 (en) | Information processing method and apparatus, storage medium, and electronic device |
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 | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20100428 |