CN102007730A - 在共享虚拟区域通信环境中的自动化实时数据流交换 - Google Patents

在共享虚拟区域通信环境中的自动化实时数据流交换 Download PDF

Info

Publication number
CN102007730A
CN102007730A CN2008801232884A CN200880123288A CN102007730A CN 102007730 A CN102007730 A CN 102007730A CN 2008801232884 A CN2008801232884 A CN 2008801232884A CN 200880123288 A CN200880123288 A CN 200880123288A CN 102007730 A CN102007730 A CN 102007730A
Authority
CN
China
Prior art keywords
real time
time data
data stream
virtual region
network node
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
Application number
CN2008801232884A
Other languages
English (en)
Other versions
CN102007730B (zh
Inventor
戴维·范维
保罗·J·布罗迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Social Communications Co
Original Assignee
Social Communications Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Social Communications Co filed Critical Social Communications Co
Publication of CN102007730A publication Critical patent/CN102007730A/zh
Application granted granted Critical
Publication of CN102007730B publication Critical patent/CN102007730B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Abstract

描述共享虚拟区域(28)的网络节点之间(52、54、56、64、404)交换实时数据流连接。在一个方面,交换涉及存储虚拟区域规范(60、180)。虚拟区域规范(60、180)包括一个或多个交换规则的说明,其各自根据虚拟区域(28)中的位置限定相应实时数据流类型的源(66)和该实时数据流类型的汇(68)之间的相应连接。实时数据流连接在与相应对象(30、32、34)关联的网络节点(52、54、56、64、404)之间建立,对象中的每个与实时数据流类型中的一个或多个的源(66)和汇(68)中的至少一个关联。实时数据流连接基于一个或多个交换规则、与对象(30、32、34)关联的相应源(66)和汇(68)以及在虚拟区域(28)中的对象(30、32、34)的相应位置建立。

Description

在共享虚拟区域通信环境中的自动化实时数据流交换
背景技术
当面对面交流不实际时,人们常常依赖一个或多个技术方案以满足他们的交流需要。这些方案典型地设计成模拟面对面交流的一个或多个方面。传统的电话系统使打电话者之间的语音交流成为可能。即时消息(也称为“聊天”)通信系统使用户能够通过由即时消息服务器互连的即时消息计算机客户端实时传送文本消息。一些即时消息系统另外允许用户在虚拟环境中由用户可控图形对象(称为“化身”)表示。交互式虚拟现实通信系统使在偏远区域的用户能够在多个实时通道上通信并且通过在共享三维虚拟空间中操纵他们相应化身彼此互动。
对基于化身的虚拟现实通信系统的兴趣随着具有高处理能力和高带宽网络连接的计算机系统增加的可用性而增长。这样的虚拟现实系统的主要目的是创建用户可以在其中使用实时数据流(例如音频、视频和文本聊天流)通信和互动的虚拟空间。虚拟空间典型地由计算机图形规范限定,其描述空间的可视几何构造、映射到可视几何形状上的颜色和纹理、控制用户在空间内如何机动的碰撞性质和例如回响和吸声性质等空间的听觉性质。
在典型的虚拟现实系统中,用户中的每个通过是由系统支持的实时数据流中的一个或多个的源、汇或源和汇两者的接口通信。默认情况下,虚拟现实系统典型地连接虚拟空间中表示的每个源到虚拟空间中表示的每个汇,服从全局交换规则、本地用户偏好和在虚拟空间内的对象的性质中指定的条件。这些条件典型地根据对象之间的相对距离来指定。例如,一些系统配置使得如果化身之间的间距超过最大阈值距离则实时数据流连接不建立。另外,一些对象已经设计成影响数据流如何渲染。例如,屏障对象阻碍来自特定方向的视图和声音。其他对象设计成当用户的化身在这些对象的交互区域内时影响与用户的化身关联的交互区域。例如,平台适配器对象增加在虚拟平台的互动空间内的化身的音频互动空间的尺寸,并且表适配器对象折叠位于虚拟表的所有化身的互动空间至跨越虚拟表的公共互动空间。
发明内容
在一个方面,本发明的特征是在共享虚拟区域的网络节点之间交换实时数据流连接的方法。根据该方法,存储虚拟区域规范。虚拟区域规范包括一个或多个交换规则的说明,每个交换规则限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接(根据在虚拟区域中的位置)。一个或多个实时数据流连接建立在与相应对象关联的网络节点之间,该对象中的每个与实时数据流类型中的一个或多个的源和汇中的至少一个关联。实时数据流连接基于一个或多个交换规则、与对象关联的相应源和汇以及在虚拟区域中的对象的相应位置建立。
在另一方面,本发明的特征是用于在共享虚拟区域的网络节点之间交换实时数据流连接的设备。该设备包括计算机可读存储器和处理单元。计算机可读存储器可运行成存储虚拟区域规范,其包括一个或多个交换规则的说明,每个交换规则限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接(根据在虚拟区域中的位置)。处理单元可运行成建立与相应对象关联的网络节点之间的一个或多个实时数据流连接,这些相应对象中的每个与实时数据流类型中的一个或多个的源和汇中的至少一个关联,其中处理单元基于一个或多个交换规则、与对象关联的相应源和汇以及在虚拟区域中的对象的相应位置建立一个或多个实时数据流连接。
在另一个方面,本发明的特征是存储计算机可读指令的一个或多个计算机可读介质,该指令当由计算机执行时使计算机执行操作,其包括:存储虚拟区域规范,其包括一个或多个交换规则的说明,其各自根据虚拟区域中的位置限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接;以及建立与相应对象关联的网络节点之间的一个或多个实时数据流连接,这些对象中的每个与实时数据流类型中的一个或多个的源和汇中的至少一个关联,其中建立基于一个或多个交换规则、与对象关联的相应源和汇以及在虚拟区域中的对象的相应位置。
在另一个方面,本发明的特征是构建虚拟区域的方法。响应于用户输入,在显示监视器上创建虚拟区域的模型。该模型包括在显示监视器上呈现的虚拟区域的几何要素。响应于用户输入,一个或多个交换规则与虚拟区域的模型关联。交换规则中的每个根据虚拟区域中的位置限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接。产生描述虚拟区域的模型和一个或多个关联交换规则的虚拟区域规范。虚拟区域规范存储在计算机可读存储介质中。
在另一个方面,本发明的特征是用于在共享虚拟区域的网络节点之间交换实时数据流连接的网络交换机。该网络交换机包括计算机可读存储器和处理单元。计算机可读存储器可运行成存储虚拟区域规范,其包括一个或多个交换规则的说明,每个交换规则根据虚拟区域中的位置限定相应实时数据流类型的源和实时数据流类型的汇之间的相应连接。计算机可读存储器还可运行成存储包括描述到网络目的地的路由的网络拓扑信息的表格。处理单元可运行成转发网络节点之间的实时数据流包,该节点中的每个与在虚拟区域中的相应位置和实时数据流类型中的一个或多个的源和汇中的至少一个关联。处理单元基于网络拓扑信息和一个或多个交换规则转发一个或多个实时数据流包。
本发明的实施例可包括下列特征中的一个或多个。
虚拟区域规范典型地包括虚拟区域中的一个或多个分区的说明。该一个或多个交换规则典型地将分区中的一个或多个与以下关联:(i)源于分区的相应实时数据流类型和(ii)相应实时数据流类型汇入其中的相应一个分区。建立实时数据流连接的过程典型地包括查明第一和第二对象关于分区中的一个或多个的位置,和基于查明的位置建立一个或多个实时数据流连接。建立实时数据流连接的过程可还包括识别由对象中的给定的一个占用的所有分区,和确定一个或多个交换规则将其与识别的分区关联的实时数据流类型的目标集。建立实时数据流连接的过程可还包括:查明其中排除给定对象的包含在如一个或多个交换规则限定的那样的目标集中的实时数据流类型源于其中的并且该目标集中的实时数据流类型汇入其中的分区中的一个或多个分区中的对象;确定实时数据流的可连接集,其中每个是以下至少其中之一:(i)源于与查明的对象关联的网络节点中的一个或多个和(ii)汇入与查明的对象关联的网络节点中的一个或多个;以及基于与实时数据流的可连接集关联的源和汇的匹配确定要求的实时数据流数据的集。
交换规则中的至少一个可使相应源角色标识符与实时数据流类型中的给定的一个关联;并且建立实时数据流连接的过程可包括基于源角色标识符与分别与对象(与给定实时数据流类型的源关联)中的一个或多个关联的角色标识符的比较建立实时数据流连接中的一个或多个。
交换规则中的至少一个可使相应汇角色标识符与实时数据流类型中的给定的一个关联;并且建立实时数据流连接的过程可包括基于汇角色标识符与分别与对象(与实时数据流类型的汇关联)中的一个或多个关联的角色标识符的比较建立实时数据流连接中的一个或多个。
建立实时数据流连接的过程另外可基于至少一个接近策略规则,其仅允许与虚拟区域中彼此的规定距离内的相应对象关联的其中的源与其中的兼容的汇的连接。
可维护对象寄存器(register)。对象寄存器典型地包括在虚拟区域中的每个对象的相应对象标识符、使网络连接能够与与对象关联的网络节点建立的连接数据,和识别分别与对象关联的所有实时数据流源类型和汇类型的接口数据。对象寄存器典型地发送到与在虚拟区域中的对象关联的网络节点中的一个或多个。接口数据可从网络节点中的给定的一个接收。接口数据典型地包括与给定网络节点关联的每个对象的与给定网络节点关联的所有实时数据流源类型和实时数据流汇类型的列表。对象寄存器典型地用从给定网络节点接收的接口数据更新。更新的对象寄存器典型地发送到与列在对象寄存器中的对象关联的网络节点中的一个或更多其他的网络节点。
可确定传递实时数据流数据的规定集到网络节点中的给定的一个的实时数据流处理拓扑;虚拟区域规范可规定在虚拟区域的一个或多个分区中的一个或多个实时数据流类型的流属性值;并且确定实时数据流拓扑的过程典型地包括基于由虚拟区域规范规定的一个或多个流属性值选择实时数据流处理拓扑。
虚拟区域规范可指派第一流优先级属性值给第一实时数据流类型并且可指派与第一流优先级属性值不同的第二流优先级属性值给第二实时数据流类型;并且选择实时数据流处理拓扑的过程可包括选择其根据不同的第一和第二流优先级属性值不同地确定第一和第二实时数据流类型优先级的拓扑作为流处理拓扑。
虚拟区域规范可指派第一流拓扑属性值给第一实时数据流类型并且可指派与第一流拓扑属性值不同的第二流拓扑属性值给第二实时数据流类型;并且选择实时数据流处理拓扑的过程可包括根据不同的第一和第二流拓扑属性值对第一和第二实时数据流类型选择不同的流处理拓扑。对第一实时数据流类型选择的流处理拓扑可采用混合流格式传递其中第一类型的实时数据流到给定网络节点,并且对第二实时数据流类型选择的流处理拓扑可采用未混合流格式传递其中第二类型的实时数据流到给定网络节点。
建立实时数据流连接的过程可包括创建通过相应链路的一个或多个实时数据流连接,链路中的每个具有相应链路带宽并且传送一个或多个实时数据流的相应发送集。
虚拟区域规范可指派一个或多个相应带宽水平给一个或多个实时数据流类型中的每个;并且创建连接的过程可基于由虚拟区域规范分别指派给一个或多个实时数据流类型的一个或多个带宽水平。虚拟区域规范可指派相应最小带宽水平给一个或多个实时数据流类型中的每个;并且创建连接的过程可包括基于由虚拟区域规范分别指派给一个或多个实时数据流类型的一个或多个最小带宽水平确定链路中的每个的相应最小链路带宽水平以及仅创建其相应链路带宽满足确定的相应最小链路带宽水平的链路。虚拟区域规范可指派多个带宽水平的相应集给一个或多个实时数据流类型中的每个;并且创建连接的过程可包括试图创建以至少部分基于由虚拟区域规范指派的带宽水平确定的第一候选链路带宽水平的链路的给定的一个,并且响应于失败创建以第一候选链路带宽水平的给定链路,尝试创建以至少部分基于由虚拟区域规范指派的带宽水平确定的第二候选链路带宽水平的给定链路。
虚拟区域规范可指派相应流优先级属性值给一个或多个实时数据流类型中的每个;并且创建连接的过程可包括至少部分基于由虚拟区域规范分别指派给一个或多个实时数据流类型的一个或多个流优先级属性值对链路中的每个分配相应链路带宽给相应发送集中的一个或多个实时数据流。
可确定传递实时数据流数据的指定集给网络节点的给定的一个的实时数据流处理拓扑。在该过程中,确定给定网络节点和与在虚拟区域中的对象关联的其他网络节点中的一个或多个的带宽能力,并且流处理拓扑基于发现的带宽能力选择。
本发明的其他特征和优势将从包括附图和权利要求的下列说明变得明显。
附图说明
图1是网络节点的实施例的图解视图,其包括呈现共享虚拟区域的二维描绘的图形用户界面。
图2A是共享虚拟区域通信环境的实施例的图解视图,其中网路节点采用对等架构通信。
图2B是共享虚拟区域通信环境的实施例的图解视图,其中网路节点采用服务器居间架构通信。
图3是共享虚拟区域通信环境的实施例的框图,其包括三个网络节点的源和汇之间的实时数据流连接的示范集。
图4示出网络节点的实施例的框图,其包括源的示范集和汇的示范集。
图5是图形用户界面的实施例的图解视图,其示出包括与相应实时数据流交换规则关联的分区的虚拟区域的透视图。
图6是图形用户界面的实施例的图解视图,其示出在图5中示出的三维虚拟区域的平面图。
图7是在共享虚拟区域通信环境的实施例中连接到区域服务器网络节点和两个其他区域客户端网络节点的区域客户端网络节点的实施例的框图。
图8是在图7中示出的共享虚拟区域通信环境的实施例的图解视图。
图9是由区域客户端网络节点和区域服务器网络节点执行的方法的实施例的流程图。
图10是流交换管理器的实施例通过其而处理从区域服务器接收的配置数据的方法的实施例的流程图。
图11示出在图6中示出的虚拟区域的平面图,其中虚拟区域其中有四个化身对象。
图12是确定传递要求的数据流数据到区域客户端网络节点的实时数据流连接的方法的实施例的流程图。
图13是在共享虚拟区域的网络节点之间交换实时数据流连接的方法的实施例的流程图。
图14是在共享虚拟区域的网络节点之间交换实时数据流连接的方法的实施例的流程图。
图15是包括具有增强链路管理功能的网络适配器的主机系统的框图。
图16是在图15中示出的网络适配器的实施例的框图。
图17是确定传递要求的数据流数据到区域客户端网络节点的一个或多个实时数据流处理拓扑的方法的实施例的流程图。
图18是实时数据流处理拓扑的实施例的图解视图。
图19是实时数据流处理拓扑的实施例的图解视图。
图20是实时数据流处理拓扑的实施例的图解视图。
图21是实时数据流处理拓扑的实施例的图解视图。
图22是实时数据流处理拓扑的实施例的图解视图。
图23是共享虚拟区域通信环境的实施例的框图,其包括根据在虚拟区域规范中限定的交换规则管理实时数据流连接的网络交换机的实施例。
具体实施方式
在下列说明中,相似标号用于标识相似要素。此外,附图意在采用图解方式图示示范性实施例的主要特征。附图不意在描绘实际实施例的每个特征也不意在描绘描绘的要素的相对尺寸,并且不按比例绘制。
I.概述
本文描述的实施例提供在共享虚拟区域通信环境中交换实时数据流连接的系统和方法。这些实施例使用于连接通过共享虚拟区域通信的网络节点之间的实时数据流的交换规则能够明确地依赖于虚拟区域的规范。
这些实施例允许虚拟区域的设计者不仅控制虚拟区域的形状和外形,而且控制通信者通过实时数据流互相连接所采用的方式。这样,区域设计者能够优化在共享虚拟区域的通信者之间为特定的通信目的或为特定的通信环境(例如,个人空间、艺廊、音乐厅、礼堂、会议室和会所)建立的实时数据流连接。
另外,通过使自动交换规则依赖于在虚拟区域中的位置,这些实施例减少在连接和断开通信者节点中涉及的复杂性并且增加系统的可缩放性(如与基于在虚拟空间内的对象的属性和性质建立和终止连接的系统和使信号处理功能与流路由、连接和断开功能紧密关联的系统比较)。
II.术语定义
“虚拟区域”是计算机管理的空间或场景的表示。虚拟区域可是二维或三维表示。时常,虚拟区域设计成模拟物理、真实世界空间。例如,使用传统计算机监视器,虚拟区域可可视化为三维计算机产生空间的二维图形。然而,虚拟区域不需要关联的可视化以实现交换规则。
“虚拟区域规范”是在创建共享虚拟区域通信环境中使用的虚拟区域说明。
“分区”是与至少一个规则关联的虚拟区域的区,该规则用于交换(例如,路由、连接和断开)通过共享虚拟区域通信的网络节点之间的实时数据流。
“通信者”是在共享虚拟区域通信会话中通信或另外参与的人。
“对象”是在虚拟区域中独立于虚拟区域的几何构造的任何类型的分立要素。对象典型地具有与虚拟区域的属性和性质分离和不同的属性或性质。
“化身”是表示在虚拟区域中的通信者的对象。
在虚拟区域中的“位置”指在虚拟区域中点或面积或体积的位置。点典型地由在虚拟区域中限定点的二维或三维坐标(例如x、y、z)的单个集表示。面积典型地由在虚拟区域中限定封闭的二维形状的边界的三个或更多共面顶点的三维坐标表示。体积典型地由在虚拟区域中限定封闭的三维形状的边界的四个或更多不共面顶点的三维坐标表示。
“网络节点”是在通信网络中的结点或连接点。示范性网络节点包括但不限于终端、计算机和网络交换机。
“计算机”是根据暂时或永久存储在机器可读介质上的机器可读指令(例如,软件)处理数据的机器。执行特定任务的这样的指令集称为程序或软件程序。
“实时数据流”是采用连续流构建和处理的数据并且设计成接收而不具有延迟或仅具有感觉不到的延迟;实时数据流包括语音、视频、用户移动、面部表情和其他物理现象的数字表示以及在计算环境(其可通过快速发送、快速执行或快速发送和快速执行两者获益)内的数据,其包括例如化身移动指令、文本聊天、实时数据供给(例如,传感器数据、机器控制指令、事务流和库存配额信息供给)和文件传送。
“数据源”(本文简单地称为“源”)是始发数据的装置、装置(例如,计算机)的一部分或软件中的任何。
“数据汇”(本文简单地称为“汇”)是接收数据的装置、装置(例如,计算机)的一部分或软件中的任何。
“交换规则”是规定必须满足以便连接或断开一个或多个实时数据源和一个或多个实时数据汇的一个或多个条件的指令。
“流混合”是相同类型的两个或更多实时数据流的组合(例如,音频、视频、聊天和运动数据)。
“收发交换机”是通过从网络节点接收模拟或数字信号并且发送接收的信号(或接收的信号的副本)到一个或多个其他网络节点而交叉连接网络节点(例如,客户端、服务器和网络装置)的网络装置。
“流处理拓扑”是实时数据流(其中每个可是混合流或未混合流)在其上传递到一个或多个网络节点的网络路由的组织。
III.介绍
本文描述的实施例提供在共享虚拟区域通信环境中交换实时数据流连接的系统和方法。通信者典型地从执行具有二维和三维可视化能力的通信软件程序的相应副本的相应网络节点访问这样的环境。通信软件程序控制在相应网络节点呈现虚拟区域的相应视图的客户端进程并且建立与其他网络节点的实时数据流连接。通信者典型地在虚拟区域中由相应化身表示,其响应于由通信者在他们相应网络节点输入的输入指令在虚拟区域各处移动。通信者的虚拟区域视图典型地从通信者的化身的视角呈现,其增加由通信者体验的投入水平。每个通信者典型地能够观看在他的或她的化身周围的虚拟区域的任何部分。
图1示出网络节点10的实施例,其由包括显示监视器12、计算机鼠标14、键盘16、扬声器18、20和麦克风22的计算机系统实现。显示监视器12显示图形用户界面24。图形用户界面24是基于视窗的图形用户界面,其可以包括多个视窗、图标和指针26。在图示的实施例中,图形用户界面24呈现表示艺廊的共享三维虚拟区域28的二维描绘。通信者在虚拟区域28中由相应化身30、32、34表示,其中每个化身可具有相应角色(例如,管理者、艺术家和参观者)。
如下文详细说明的,虚拟区域28包括分区36、38、40、42、44,其与支配由在虚拟区域28中的化身30-34表示的网络节点之间的实时数据流的交换的相应规则关联。(在典型的通信会话期间,在图1中给分区36-44划界的虚线对于通信者是不可见的,尽管可有与这样的区域边界关联的可视线索。)交换规则规定在网络节点中的每个上执行的本地连接进程如何基于在虚拟区域28的分区36-44中的通信者的化身30-34的位置建立与其他网络节点的通信。
在通信会话期间,通信者网络节点中的每个产生实时数据流(例如,运动数据流、音频数据流、聊天数据流、文件传送数据流和视频数据流)的相应集。例如,每个通信者操作一个或多个产生运动数据流(其控制他的或她的化身在虚拟区域28中的移动)的输入装置(例如,计算机鼠标14和键盘16)。另外,在网络节点10的附近本地产生的通信者的语音和其他声音由麦克风22捕捉。麦克风22产生转换为实时音频流的音频信号。音频流的相应副本发送到在虚拟区域28中由化身表示的其他网络节点。在这些其他网络节点本地产生的声音转换为实时音频信号并且发送到网络节点10。网络节点10转换接收的本地产生的音频流为由扬声器18、20渲染的音频信号。运动数据流和音频流可从通信者节点中的每个直接或间接发送到其他通信者网络节点。在一些流处理拓扑中,通信者网络节点中的每个接收由其他通信者网络节点发送的实时数据流的副本。在其他流处理拓扑中,通信者网络节点中的一个或多个接收由源(始发)于网络节点中的其他节点的实时数据流得出的一个或多个流混合。
图2A是共享虚拟区域通信环境50的实施例的图解视图,其中三个网路节点52、54、56采用对等架构通过通信网络58互连。通信网络58可是局域网(LAN)或全球通信网络(例如,互联网)。网络节点52-56由相应计算机表示。
在该架构中,网络节点52-56中的每个发送例如在虚拟区域中的化身移动等状态变化到其他网络节点中的每个。网络节点中之一(典型地发起通信会话的网络节点)作为区域服务器工作。在图示的实施例中,网络节点52承担区域服务器的角色。区域服务器网络节点52维护全局状态信息并且充当其他网络节点54、56的数据服务器。全局状态信息包括在虚拟区域中的对象中的所有和它们在虚拟区域中相应位置的列表。区域服务器网络节点52周期性地发送全局状态信息到其他网络节点54、56。区域服务器网络节点52还寄存并且发送初始化信息到请求加入通信会话的其他网络节点。在该过程中,区域服务器网络节点52发送虚拟区域规范60的副本到每个加入的网络节点,该副本可存储在本地或远程数据库中。区域服务器网络节点52还确保如果发生通信故障则其他网络节点54、56可以同步于全局状态。
如下文详细说明的,虚拟区域规范60包括虚拟区域的几何要素的说明和支配网络节点之间的实时流连接的一个或多个交换规则。几何要素的说明允许在网络节点52-56上运行的相应通信应用程序用以在相应显示监视器上向通信者呈现虚拟区域的相应视图。交换规则规定在网络节点52-56中的每个上执行的连接进程如何基于通信者的化身在虚拟区域中的位置而建立与其他网络节点的通信。
图2B是共享虚拟区域通信环境62的实施例的图解视图,其中网络节点52-56(在该架构中称为“区域客户端网络节点”)采用由区域服务器64居间的架构通信。在该实施例中,区域服务器64承担在图2A中示出的对等架构实施例中由网络节点52执行的区域服务器功能。在这点上,区域服务器64维护全局状态信息并且充当区域客户端网络节点52-56的数据服务器。如下文详细说明的,该架构允许区域客户端节点52-56之间的实时数据流交换采用多种拓扑而被处理,包括对等拓扑、完全服务器居间拓扑(其中区域服务器64作为网络节点52-56之间的通信代理工作)和混合拓扑(其结合对等拓扑和完全服务器居间拓扑的方面)。
图3示出在共享虚拟区域通信环境的实施例中的三个网络节点52-56的源和汇之间的实时数据流连接的示范集。为了便于图示,在图3中的箭头中的每个表示一个或多个实时数据流的相应集。根据本文描述的实施例,在图3中示出的连接基于在共享虚拟区域的规范中限定的交换规则、通信者的化身在共享虚拟区域中的位置和在网络节点52-56中的每个上可用的特定源和汇而建立。
图4示出网络节点52的示范性实施例,其包括源的示范集66和汇的示范集68。每个源是发起数据的网络节点52的装置或部件并且每个汇是接收数据的网络节点52的装置或部件。源的集66包括音频源70(例如,音频捕捉装置,例如麦克风等)、视频源72(例如,视频捕捉装置,例如摄像机等)、聊天源74(例如,文本捕捉装置,例如键盘)、运动数据源76(例如,指针装置,例如计算机鼠标等)和“其他”源78(例如,文件共享源或定制实时数据流的源)。汇的集68包括音频汇(例如,音频渲染装置,例如扬声器或耳机等)、视频汇82(例如,视频渲染装置,例如显示监视器等)、聊天汇84(例如,文本渲染装置,例如显示监视器等)、运动数据汇86(例如,移动渲染装置,例如显示监视器等)和“其他”汇88(例如,用于打印共享文件的打印机,用于渲染与那些已经描述的不同的实时数据流的装置,或处理实时流用于分析或定制显示的软件)。
如由在图4中示出的网络节点实施例示范的,网络节点中的每个可能具有很多种可用的源和汇。通过使区域设计者能够控制连接如何在源和汇之间建立,本文描述的实施例向区域设计者提供对通信者在他们在虚拟区域中通信和另外互动时的感觉体验的许多控制。这样,区域设计者能够为特定通信目的或为特定通信环境(例如,艺廊、音乐厅、礼堂、会议室和会所)优化虚拟区域。
IV.规定虚拟区域
A.介绍
共享虚拟区域由包括虚拟区域的几何要素的说明和支配网络节点之间的实时流连接的一个或多个交换规则的规范限定。
虚拟区域的几何要素典型地包括虚拟区域的物理几何构造和碰撞几何构造。物理几何构造描述虚拟区域的形状。物理几何构造典型地由三角形、四边形或多边形的表面构成。颜色和纹理映射到物理几何构造上以形成虚拟区域的更真实的外形。灯光效果可例如通过绘制灯到可视几何构造上并且修改靠近灯的纹理、颜色或强度而提供。碰撞几何构造描述确定对象采用其可以在虚拟区域中移动的方式的不可见表面。碰撞几何构造可与可视几何构造一致,对应于可视几何构造的更简单的近似,或与设计者的具体应用要求有关。
交换规则典型地包括根据在虚拟区域中的位置的用于连接实时数据流的源和汇的条件的说明。每个规则典型地包括限定规则应用于其中的实时数据流类型和规则应用在其中的虚拟区域中的位置或多个位置的属性。在一些实施例中,规则中的每个可选地可包括规定源的要求的角色、汇的要求的角色、流的优先级水平和要求的流处理拓扑的一个或多个属性。在一些实施例中,如果没有对虚拟区域的特定部分限定的明确的交换规则,一个或多个隐含或默认交换规则可应用于虚拟区域的那个部分。一个示范性默认交换规则是在区域内连接每个源到每个兼容汇的规则,服从策略规则。策略规则可全局应用于区域客户端之间的所有连接或仅应用于与个体区域客户端的相应连接。策略规则的示例是仅允许与在虚拟区域中彼此的规定距离(或半径)内的相应对象关联的源与兼容汇的连接的接近策略规则。
B.规定虚拟区域的示范性方式
1.规定虚拟区域的几何要素
可使用很多种不同的三维图形设计工具和游戏级设计编辑程序以规定虚拟区域的几何要素。一般而言,虚拟区域的几何要素的规范可以采用任何类型的三维描述语言描述,其包括但不限于VRML(参见,例如http://www.web3d.org/x3d/specifications/vrml)、X3D(参见,例如http://www.web3d.org/x3d/specifications/x3d)、COLLADA(参见,例如http://www.COLLADA.org)和U3D(参见,例如http://www.w3.org)。
在一些实施例中,虚拟区域规范根据COLLADA描述虚拟区域的几何要素,COLLADA是基于XML的数字资产交换模式,其包括“标签”或“要素”(即,由“<”和“>”框入的字)和“属性”(即,属性名=“value”)。在这些实施例中的一些中,虚拟区域的几何要素的COLLADA描述使用例如SketchUp(可从美国加利福尼亚Mountain View的Google公司获得)、Maya或3ds Max(都可从美国加利福尼亚San Rafael的Autodesk获得)等三维图形工具创建。
2.规定与虚拟区域关联的交换规则
a.概述
在一些实施例中,虚拟区域规范描述与虚拟区域关联的根据COLLADA模式的下列基于XML的扩展的交换规则。下文呈现的模型描述为对COLLADA的建议扩展-数字资产模式版本1.4.12006年4月规范(可从http://www.khronos.org/collada/获得)。该扩展在本文中成为“COLLADA流参考”。
b.COLLADA流参考
根据COLLADA流参考限定的交换规则指典型地限定在系统级的源和汇。在一些实施例中,构成COLLADA基础的XML系统的可扩展性特征用于描述具体应用的流类型。在其他实施例中,支持的流类型在系统中更新。COLLADA流参考允许区域开发者对给定区域限定新的流类型。在这些情况下,如果通信者的系统当进入区域时遇到未知的流类型,系统激活开发者规定的方法以用处理该流类型必需的信息更新系统并且在通信者的系统内配置适当的流处理。
典型地,在流源类型(例如“语音”等)和实际本地流源(例如,特定麦克风)和与该源关联的任何信号处理或其他流处理插件(例如,基于语音产生化身移动的压缩器/限制器或运动数据流源)之间存在连接。类型“语音”典型地由系统限定使得任何区域设计者可以使用它,而不要求每个设计者独自限定该类型。在另一方面,优选或要求的规定特定插件是应用设计的普通部件。COLLADA流参考使通信者能够指派像语音的流源类型给麦克风、纪录或音乐源;以及限定处理程序(handler)内的插件。
相似的情况对汇起作用。像“语音”的流类型的汇典型地以系统级建立(例如耳机或麦克风)。可以有由通信者或区域设计者规定的另外的插件(例如,基于距离的衰减器水平和基于相对位置的立体声声响)。
下文限定描述分区和用于连接流源和汇的规则(根据分区)的COLLADA流参考的要素。
i.<zone_mesh(分区_网格)>
<zone_mesh>标签限定分区的边界。
(1)介绍
包含或引用足够描述基本几何网格的信息。
(2)概念
<zone_mesh>的定义与<mesh(网格)>相同,除代替完整说明(<source(源)>、<vertices(顶点)>、<polygons(多边形>等等)它可简单地指向另一个<geometry(几何构造)>以得到它的形状。后者的情况典型地意味该<geometry>的凸壳应该计算以用作分区边界(由可选的convex_hull_ofattribute指示)。
这是非常有用的,因为它允许重新使用<mesh>(例如用于渲染的一个)用于流处理以最小化文档尺寸并且维护到原始<mesh>的链路。在该意义上,<zone_mesh>类似于用于物理引擎的COLLADA<convex_mesh>要素。
要求的体积属性指示分区是网格体积的内部还是外部。
描述<convex_mesh>的最小方式是规定它的顶点(通过<vertices>要素和它的对应源)并且让输入者计算该点云的凸壳。
(3)属性
<zone_mesh>要素具有下列属性:
  体积   文本   指示分区边界是网格的外部还是内部体积。要求的。
  convex_hull_of   xs:anyURI   <geometry>的URI字符串,用于计算其的凸壳。可选的。
(4)相关要素
<convex_mesh>要素涉及下列要素:
具体值    在模式中限定的要素的数量
母要素    几何构造
子要素    参见下列子段
其他      无
(5)子要素
如果存在的话,子要素必须按下列顺序出现:<source>、<vertices>、基本要素、<extra>(其中基本要素是<lines>、<linestrips>、<polygons>、<polylist>、<triangles>、<trifans>或<tristrips>的任意组合)。
  名称/示例   说明   默认   具体值
  <source>   提供网格的顶点数据的整体  1或更多
  <vertices>   描述网格顶点属性并且建立它们的拓扑身份   1
  <lines>   包含线基元  0或更多
  <linestrips>   包含线带基元  0或更多
  <polygons>   包含可包含孔的多边形基元  0或更多
  <polylist>   包含不可包含孔的多边形基元  0或更多
  <triangles>   包含三角形基元  0或更多
  <trifans>   包含三角扇形基元  0或更多
  <tristrips>   包含三角带基元  0或更多
  <extra>  0或更多
(6)示例
这里是基本<zone_mesh>要素的示例。
<geometry id=″myZoneMesh″>
     <zore_mesh volume=″intenor″>
          <source>...</source>
          <vertices>...</vertices>
          <polygons>...</polygons>
     </zone_mesh>
</geometry>
这里是<zone_mesh>要素的另一个示例。
<geometry id=″myArbitraryMesh″>
     <mesh>
     ...
     </mesh>
</geometry>
<geometry id=″myZoneMesh″>
     <zone_mesh volume=″exterior″convex_hull_of=″#myArbitraryMesh″/>
</geometry>
ii.<stream>
<stream>标签限定在<zone>内的交换规则。
<stream>要素具有下列属性:
  类型  在分区内的源的流类型
  来自  具体应用角色标识符,默认是所有。(可选的)
  优先级  数字优先级值或对产生数字优先级值的逻辑树的引用(可选的)
  拓扑  允许流是服务器混合的或者默认直接连接或者引用确定流是否应该是服务器混合的或默认直接连接的逻辑树(可选的)
  优选带宽  默认带宽,用以分配给分区内的流类型(可选的)
  最小带宽  由在分区内的流类型需要的最小带宽(可选的)
iii.<sink(汇)>
<sink>标签是通过分区和用户角色限定流的目的地的<stream>的子要素。
<sink>要素具有下列属性:
  id   名称
  zone   目的分区的名称
  type   在目的分区内的汇的流类型(可选的)
  to   具体应用角色标识符,默认是所有。(可选的)
  radius   在其内源和汇应该连接的距离(可选的)
c.COLLADA流参考-示例1
这里是两个分区:zonename1和zonename2的说明的示例。
<geometry id=″myRoomMesh″>                       
     <zone_meshvolume=″interior_″convex_hull_of=″#myArbitraryMesh″/>
</geometry>
...
<library_zones>                     
    <zone id=″zonename1″bourdary=″myRoomMesh″ >
          <stream type=″voice″from=″participant″>
              <sink id=″voice_primary″zone=″zonename1″/>
              <sink id=″voice_monitor″zone=″zonename2″to=″moderator″
                 radius=10/>
          </stream>
          <stream type=″chat″>
              <sink id=″chat_primary″zone=″zonename1″/>
          </stream>
          <stream type=″audio″from=″moderator″>
             <sink id=″room_music″zone=″zonename1″to=1″moderator″/>
          </stream>
    </zone>            
    <zone id=zonename2″boundary=″anotherMesh″>
          ...
    </zone>
</library_zones>
在该示例中,<geometry>要素是COLLADA要素,其描述在场景(例如,虚拟房间)中的体积的形状。<zone_mesh>要素是如上文限定的COLLADA流参考要素,其建立分区边界和现有网格之间的关系。<library_zones>要素声明<zone>要素的集,其包含分区“zonename1”和“zonename2”。
zonename1的边界对应于由URI“#myArbitraryMesh”引用的<geometry>计算的凸壳的内部体积。Zonename2的边界对应于由“anotherMesh”限定的几何网格。
与zonename1关联的第一交换规则规定源于zonename1的每个语音数据流的一个副本发送到在zonename1中能够汇语音数据流并且具有“参与者”角色属性的每个对象。第一交换规则还规定源于zonename1的每个语音数据流的副本发送到在zonename2中能够汇语音数据流并且具有“仲裁者”角色属性的每个对象。与zonename1关联的第二交换规则规定源于zonename1的每个聊天数据流的一个副本发送到在zonename1中能够汇聊天数据流的每个对象。与zonename1关联的第三交换规则规定源于zonename1并且与“仲裁者”角色属性关联的每个音频数据流的一个副本发送到在zonename1中能够汇音频数据流并且不与仲裁者角色属性关联的每个对象。
d.COLLADA流参考-示例2
这里是模拟音乐厅的虚拟区域的COLLADA流参考说明的示例,其包含两个分区:StageZone(舞台分区)和AudienceZone(听众分区)。
<geometry id=″RoomMesh″>
   <zone_mesh volume=″interior″convex_hull_of=″#FullRoomMesh″/>
</geometry>
<geometry id=″StageMesh″>
   <zone_mesh volume=″interior″convex_hull_of=″#StageMesh″/>
</geometry>
...
<library_zones>
    <zone id=″StageZone″boundary=″StageMesh″>
       <streamtype=″voice″from=″lead_singer″priority=1 topology=direct>
          <sink id=″singer_voice″zone=″AudienceZone″to=″audience″/>
          <sink id=″singer_monitor″zone=″StageZone″to=″all_performers″/>
       </stream>
    ...
    </zone>
    <zone id=″AudienceZone″boundary=″RoomMesh″>
       <stream type=″voice″priority=2>
          <sink id=″fan_voice″zone=″AudienceZone″/>
      </stream>
      <stream type=″chat″topology=server_mix>
         <sink id=″chat_primary″zone=″AudienceZone″/>
      </stream>
   </zone>
</library_zones>
在该示例中,StageZone的边界对应于由“StageMesh”限定的几何网格。AudienceZone的边界对应于由“RoomMesh”限定的几何网格。
与StageZone关联的交换规则规定源于StageZone并且与“lead_singer”属性关联的每个语音数据流的一个副本发送到在AudienceZone中能够汇语音数据流并且具有“audience”角色属性的每个对象。语音数据流的副本将被发送且具有优先级等级1并且具有直接流处理拓扑的偏好。交换规则还规定源于StageZone并且与“lead_singer”属性关联的每个语音数据流的副本发送到在StageZone中能够汇语音数据流并且具有“all_performers”角色属性的每个对象。
与AudienceZone关联的第一交换规则规定源于AudienceZone的每个语音数据流的一个副本以优先级等级2被发送到在AudienceZone中能够汇语音数据流的每个对象。与AudienceZone关联的第二交换规则规定源于AudienceZone的每个聊天数据流的一个副本发送到在AudienceZone中能够汇具有服务器混合的偏好的聊天数据流的每个对象。
C.创建虚拟区域规范
图5示出用于创建虚拟区域的规范的三维图形设计工具的图形用户界面90的实施例。图形用户界面90包括绘图区域92、菜单94和工具栏96。
菜单94提供对绘图工具、命令和设置的使用。在图5A中示出的菜单94的示范集包括文件、编辑、视图、视角、绘图、工具、窗口和帮助。菜单94的集还包括Sococo分区菜单98,其提供对用于限定在虚拟区域中的分区和流连接的工具的使用。这些工具可是三维图形设计工具的组成部分或可提供为对三维图形工具的插件扩展的一部分,例如SketchUp(可从美国加利福尼亚Mountain View的Google公司获得)、Maya或3ds Max(都可从美国加利福尼亚San Rafael的Autodesk获得)。
工具栏96包含工具和控制的用户定义集。在图5中示出的工具栏96的示范集对应于典型在三维图形设计工具(例如SketchUp 6三维图形设计软件应用程序)中找到的工具和命令。
绘图区域92是区域设计者创建虚拟区域的三维模型的地方。在图5中,图形用户界面90的绘图区域92示出三维虚拟区域100的透视图。在图6中,图形用户界面90的绘图区域92示出虚拟区域100的平面图。虚拟区域100的几何要素(例如,墙壁、天花板、地板、柱子、长凳和电灯器具)典型地使用典型地在三维图形设计工具中找到的标准工具和命令限定,例如SketchUp 6三维图形设计软件应用程序。
如在图5和6中示出的,除几何要素外,虚拟区域100另外包括分区101、102、104、106、108、110、112,其由虚线边界划界。分区101-112中的每个与一个或多个相应实时数据流交换规则关联。分区102-112使用通过Sococo分区菜单98可使用的工具和命令规定。在一些实施例中,区域设计者可使用标准三维图形设计工具规定分区101-112中每个的边界然后选择Sococo分区设计工具中的一个或多个以使边界与相应<zone_mesh>标签关联并且规定该<zone_mesh>标签的属性。在这些实施例中的一些中,Sococo分区设计工具引导用户通过限定每个分区的过程使得它可以使用上文描述的COLLADA流参考规范表示(例如<zone>、<stream>和<sink>标签)。
V.第一系统架构实施例
A.一般系统概述
通信者典型地从相应网络节点访问共享虚拟区域通信环境。这些网络节点中的每个典型地由通用计算机系统或专用通信计算机系统(或“控制台”)实现。每个网络节点执行通信进程,其呈现在每个网络节点的虚拟区域的相应视图并且建立与其他网络节点的实时数据流连接。
图7示出服务器居间的共享虚拟区域通信环境120的实施例,其中网络节点52-56(在该架构中称为“区域客户端网络节点”或简单地“区域客户端”)和区域服务器64由通信网络58互连。在该实施例中,区域客户端网络节点52-56中的每个通过下文关于区域客户端服务器网络节点52所描述的类型的相应计算机系统实现;区域服务器64还通过下文描述的相同类型的通用计算机系统实现。
如在图7中示出的,区域客户端网络节点52通过包括处理单元122、系统存储器124和系统总线126(其耦合处理单元122于计算机系统的各个部件)的计算机系统实现。处理单元122可包括一个或多个数据处理器,其中的每个可采用各种商用计算机处理器中的任何一个的形式。系统存储器124可包括只读存储器(ROM),其存储包含计算机系统的启动例程的基本输入/输出系统(BIOS)和随机存取存储器(RAM)。系统总线126可是存储器总线,外围总线或本地总线,并且可与多种总线协议中的任何兼容,包括PCI、VESA、Microchannel、ISA和EISA。计算机系统还包括持久储存存储器128(例如,硬盘驱动器、软盘驱动器、CD ROM驱动器、磁带驱动器、闪存装置和数字视盘),其连接到系统总线126并且包含一个或多个计算机可读取介质盘,其提供数据、数据结构和计算机可执行指令的非易失性或持久存储。通信者可使用一个或多个输入装置130(例如,一个或多个键盘、计算机鼠标、麦克风、照相机、操纵杆、例如Wii装置等的物理运动传感器和触摸板)与计算机系统互动(例如输入命令或数据)。信息可通过在显示监视器132(其由显示控制器134控制)呈现给通信者的二维图形用户界面(GUI)或三维GUI中的任何呈现。计算机系统能够还可包括外围输出装置,例如扬声器和打印机。计算机系统通过网络适配器136(也称为“网络接口卡”或NIC)连接到其他区域客户端网络节点54、56和区域服务器64。
许多程序模块可存储在系统存储器124中,包括但不限于操作系统140(例如,可从美国华盛顿Redmond的微软公司获得的Windows
Figure BPA00001171971100241
操作系统)、通信应用程序142、GUI驱动器144和数据146。数据146的示范类型包括输入数据、输出数据和程序数据,例如注册表(或配置数据库)148。
操作系统140包括提供基础操作系统服务(例如,存储器管理、进程和线程管理、安全、输入/输出和进程间通信)用于在计算机系统上创建运行期间执行环境的执行程序。注册表148典型地包含下列信息:启动和配置系统需要的参数;控制操作系统140的运行的系统范围软件设置;安全数据库;和每个用户概况设置。原生操作系统(OS)应用程序编程接口(API)150将执行程序的基础操作系统服务暴露于通信应用程序142和其他用户应用程序。如本文使用的,术语“服务”(或“服务模块”)指提供一个或多个功能的集的操作系统的部件。
在一些实施例中,通信应用程序142包括控制虚拟区域和在虚拟区域中的对象的相应视图在显示监视器132上的呈现的进程和控制区域客户端网络节点52和其他区域客户端网络节点54、56和区域服务器64之间的实时数据流的交换的进程。通信应用程序142与GUI驱动器144和用户输入130接口以呈现虚拟区域的视图并且允许通信者控制通信应用程序142的运行。
通信应用程序142的实施例可通过一个或多个不限于任何特定的硬件、固件或软件配置的分离模块(或数据处理部件)实现。一般来说,这些模模块可采用任何计算或数据处理环境实现,包括采用数字电子电路(例如,具体应用集成电路,例如数字信号处理器(DSP)等)或采用计算机硬件、固件、装置驱动器或软件。在一些实施例中,模块的功能性结合进入单个数据处理部件。在一些实施例中,模块中的一个或多个中的每个的相应功能性由多个数据处理部件的相应集执行。在一些实现中,用于实现由通信应用程序142的实施例执行的方法的进程指令(例如,机器可读代码,例如计算机软件等)以及它产生的数据存储在一个或多个机器可读介质中。适用于有形体现这些指令和数据的存储装置包括非易失性计算机可读存储器的所有形式,包括例如半导体存储装置,例如EPROM、EEPROM和闪存装置、例如内部硬盘和抽取式硬盘等的磁盘、磁光盘、DVD-ROM/RAM和CD-ROM/RAM。通信应用程序142的实施例可采用很多种电子装置中的任何一个实现,其包括个人计算装置(例如,桌面计算机、移动计算机和通信装置)、网络装置(例如,服务器计算机、路由器、交换机和集线器)、游戏控制台、有线电视和混合机顶盒和调制解调器。
存储在系统存储器124中的执行环境还包括用于发送和接收实时数据流的网络传输协议152的集。
在一些实施例中,在网络58上通信根据传输控制协议/互联网协议(TCP/IP)实行。协议的TCP部分通过将消息分成较小包、在通信网络的另一端重组这些包并且重新发送任何沿该通路丢失的包而提供传输功能。协议的IP部分通过指派在目的网络的目标节点和目的网络的地址给数据包而提供路由功能。使用TCP/IP协议传送的每个数据包包括包含TCP和IP信息的标头部分。IP协议不提供包传递给通信栈的上层的保证。在另一方面,TCP协议提供面向连接的、端到端传输服务,具有保证的顺次包传递。这样,TCP协议提供可靠的传输层连接。
在其他实施例中,在网络58上通信可根据用户数据报协议/互联网协议(UDP/IP)实行。UDP可在当不要求可靠传递时的情况下代替TCP使用。例如,UDP/IP可用于实时音频和视频业务流,其中丢失的数据包被简单地忽略,其因为任意下列原因:没有时间重新发送或整体数据质量的任何下降是可接受的。
一些实施例可使用Java媒体框架(JMF),其支持装置捕捉、编码、解码、渲染和实时传输协议(RTP)。多种网络协议可在区域客户端网络节点52-56(包括对等联网框架、仅仅或与UDP或多播协议结合使用TCP socket的集中式服务器)之间发送和接收RTP数据中使用
执行环境还包括硬件链路水平和访问协议,其可对应于开放系统互连(OSI)参考模型的数据链路和物理层。
在图示的实施例中,区域客户端网络节点52-56和区域服务器64之间的通信根据TCP/IP协议实行。在这些实施例中,计算机系统在它使用TCP/IP通信之前确定它的网络接口中的每个的IP地址。该过程可涉及联系服务器以动态获得它的网络接口中的一个或多个的IP地址。计算机系统可使用动态主机配置协议(DHCP)以向DHCP服务器提出IP地址的请求。在这点上,在系统启动请求分配指示的网络接口的IP地址时计算机系统广播DHCP请求包。当接收到DHCP请求包时,DHCP服务器分配IP地址给计算机系统用于与指示的网络接口一起使用。计算机系统然后存储IP地址(在来自服务器的响应中)作为当使用IP协议通信时与该网络接口关联的IP地址。
B.示范性系统架构
图8示出在图7中示出的服务器居间的、共享虚拟区域通信环境120的实施例160,其中区域客户端网络节点52-56在由区域服务器64居间的架构中通信。
区域服务器64维护全局状态信息并且充当区域客户端网络节点52-56的数据服务器。在由区域服务器维护的全局状态信息中的是虚拟区域的当前规范180、在虚拟区域中的对象的当前寄存器182和当前正由区域服务器64产生的任何流混合的列表184。
如上文说明的,虚拟区域规范180包括虚拟区域的几何要素的说明和一个或多个交换规则。交换规则中的每个根据虚拟区域中的位置限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接。在一些实施例中,虚拟区域的几何要素根据COLLADA-数字资产模式版本1.4.1规范描述,并且交换规则根据提出的上文描述的COLLADA流参考规范描述。
对象寄存器182典型地包括虚拟区域中的每个对象的相应对象标识符(例如,唯一标识对象的标记)、使网络连接能够与与对象关联的网络节点建立的连接数据(例如,IP地址)和标识与对象关联的实时数据源和汇(例如,与对象关联的网络节点的源和汇)的接口数据。对象寄存器182还典型地包括每个对象的一个或多个可选角色标识符,其可由通信者或区域服务器64明确地指派给对象,或可从对象的其他属性推导出。在一些实施例中,对象寄存器182还包括在虚拟区域中的对象中的每个的当前位置,如由区域服务器64从区域客户端网络节点52-56接收到的实时运动数据流的分析确定的。在这点上,区域服务器64从区域客户端网络节点52-56接收实时运动数据流,基于运动数据追踪通信者的化身和其他对象(进入、离开和在虚拟区域中到处移动)。区域服务器64根据追踪的对象的当前位置更新对象寄存器182。
在图8中示出的实施例中,区域客户端网络节点52包括通信应用程序142的实施例(参见图7),其包括通信模块162、三维可视化引擎164、聊天引擎165和音频处理引擎166。其他网络节点54、56中的每个典型地包括通信应用程序142的实施例,其与关于区域客户端网络节点52描述的那个相同或相似。
通信模块162控制区域客户端网络节点52和其他区域客户端网络节点54、56和区域服务器64之间的实时数据流的交换。通信模块162包括流交换管理器168和带宽监视器170。流交换管理器168处理与区域客户端网络节点52关联的化身和其他对象到和从虚拟区域的进入和离开。流交换管理器168还自动确定如何交换(例如,路由、连接和断开)区域客户端网络节点52和其他区域客户端网络节点54、56和区域服务器64之间的实时数据流。流交换管理器168基于包含在虚拟区域规范中的交换规则、在虚拟区域中的化身和其他对象的当前位置和与在虚拟区域中的化身和其他对象关联的实时数据流类型做出这些确定。在一些实施例中,流交换管理器168还将区域客户端网络节点52、其他网络节点54、56或区域服务器64中的任何的上传和下载带宽约束包括在这些确定中。另外,流交换管理器168响应于事件(例如,上传和下载带宽故障,和请求进入或离开虚拟区域)、周期性地或既响应于事件也周期性地重新评价连接的当前集。作为当前连接的重新评价的结果,流交换管理器168可例如采取任意下列动作:从区域服务器64请求流混合、从区域服务器丢弃流混合、断开与其他区域客户端网络节点54、56中的一个或多个的一个或多个直接链路,或形成其他区域客户端网络节点54、56中的一个或多个的一个或多个直接链路。
在管理实时数据流连接的交换的过程中,流交换管理器168维护配置数据集,包括接口数据186、分区列表188和当前在虚拟区域中的对象的位置192。接口数据186包括与区域客户端网络节点52关联的每个对象的与该对象关联的实时数据流类型的所有源和汇的相应列表。分区列表188是在当前由与区域客户端网络节点52关联的化身占用的虚拟区域中的所有分区的寄存器。当通信者首先进入虚拟区域时,流交换管理器168典型地用从区域服务器64下载的位置初始化信息初始化当前对象位置数据库192。之后,流交换管理器64用对象在虚拟区域中的当前位置(如从例如计算机鼠标171、区域客户端网络节点54、56和区域服务器64中的一个或多个接收的实时运动数据流的分析确定的)更新当前对象位置数据库192。在一些实施例中,对象位置192纳入对象寄存器190。由流交换管理器168维护的配置数据还分别包括对象寄存器182、流混合列表184和虚拟区域规范180的副本190、192、196;这些副本190、194和196典型地从区域服务器64下载并且表示这些数据的本地高速缓存。
三维可视化引擎164在显示监视器132上呈现虚拟区域和在虚拟区域中的任意对象的视图。在该过程中,三维可视化引擎164读取虚拟区域规范数据196、对象寄存器190和当前对象位置数据库192。在一些实施例中,三维可视化引擎164还读取包含虚拟区域中渲染通信者的化身需要的图像的通信者化身数据库198。基于该信息,三维可视化引擎164产生从通信者的化身在虚拟区域中的视角(位置和方向)的虚拟区域和在虚拟区域中的对象的透视表示(即,图像)。三维可视化引擎164然后在显示监视器132上渲染虚拟区域的透视表示。在一些实施例中,三维可视化引擎164确定通信者的化身的可见性以便限制必须交换、处理和渲染到虚拟区域的在监视器132上可见的部分的数据量。
在一些实施例中,三维可视化引擎164另外可运行成产生虚拟区域的平面图表示。在这些实施例中,通信者可引导三维可视化引擎164以在显示监视器132上渲染虚拟区域的透视表示和虚拟区域的平面图表示中的一个或二者。
通信者可以通过从输入装置(例如,计算机鼠标171)发送命令到通信模块162控制虚拟区域或化身在虚拟区域中的位置的呈现的视图。三维可视化引擎164根据在当前对象位置数据库192中更新的位置更新虚拟区域和对象在虚拟区域中的位置的视图并且在显示监视器132上重新渲染虚拟区域的图形表示的更新版本。三维可视化引擎164可周期性地或仅响应于对象中的一个或多个在虚拟区域中的移动更新渲染的图像。
聊天引擎165提供用于输出从区域客户端网络节点52的本地文本输入装置(例如,键盘)接收的聊天(文本)消息和输入从其他区域客户端网络节点54、56接收的聊天流的接口。聊天引擎165转换由通信者通过文本输入装置输入的聊天(文本)消息为实时聊天流,其可以发送到其他网络节点54、56。聊天引擎165还转换输入聊天流为文本信号,其可以在显示监视器132上渲染。
音频处理引擎166产生音频信号,其由在通信者的耳机176中的扬声器172、174渲染,并且转换由在耳机176中的麦克风178产生的音频信号为实时音频流,其可以发送到其他区域客户端网络节点54、56。
VI.实时数据流的自动化交换
A.介绍
如上文说明的,共享虚拟区域由包括虚拟区域的几何要素的说明和一个或多个支配网络节点之间的实时流连接的交换规则的规范限定。交换规则典型地包括根据在虚拟区域中的位置连接实时数据流的源和汇的条件的说明。每个规则典型地包括限定规则应用于其中的实时数据流类型和规则应用在其中的在虚拟区域中的位置或多个位置的属性。在一些实施例中,规则中的每个可选地可包括规定源的要求的角色、汇的要求的角色、流的要求的优先级水平和要求或优选的流拓扑的一个或多个属性。
当对象进入虚拟区域、对象在虚拟区域内移动和对象离开虚拟区域时蕴含交换规则。
B.虚拟区域进入
图9示出区域客户端(在该章节中称为“进入区域客户端”)藉此进入虚拟区域的方法的实施例。
通信者通过在区域客户端网络节点上启动通信应用程序142(参见图7)开始通信会话(图9,框200)。通信应用程序142向通信者呈现通信者通过其可以与应用程序142互动的图形用户界面。图形用户界面典型地向通信者提供登录共享虚拟区域的选项。
响应于登录共享虚拟区域的命令的接收,通信应用程序142发送登录消息到区域服务器64(图9,框202)。登录消息典型地包括用于标识和验证通信者的登录信息。
区域服务器64验证包含在登录消息中的登录信息(图9,框204)并且向区域客户端通知该结果(图9,框206)。
如果验证成功(图9,框207),通信应用程序142发送接口数据到区域服务器64(图9,框209)。接口数据包括将进入区域的每个对象的和分别与对象关联的所有实时数据流源类型和汇类型的标识。如果验证失败(图9,框207),通信应用程序142停止登录会话并且向通信者通知失败的登录尝试(图9,框208)。
区域服务器64更新对象寄存器190(参见图9)以包括与进入的区域客户端关联的对象和与这些对象关联的实时数据流源类型和汇类型(图9,框210)。区域服务器64发送配置数据到进入的区域客户端(图9,框212)。配置数据包括虚拟区域规范180的副本(参见图8)和更新的对象寄存器182的副本(参见图8)。在一些实施例中,配置数据另外包括流混合列表的副本(参见图8),其标识当前正由区域服务器64产生的区域客户端实时数据流的混合(或组合)。区域服务器64还发送更新的对象寄存器180的相应副本到与在虚拟区域中的对象关联的其他区域客户端(图9,框214)。如上文说明的,区域服务器64从区域客户端节点52-56接收实时运动数据流,基于运动数据追踪进入和离开虚拟区域的通信者的化身和其他对象,并且根据追踪的对象的当前位置更新对象寄存器182。区域服务器64周期性地发送更新的对象寄存器182到与在虚拟区域中的对象关联的区域客户端。
在进入的区域客户端网络节点上执行的通信应用程序142如下文详细描述的那样处理虚拟区域规范和对象寄存器(图9,框216)。通信应用程序142然后基于在虚拟区域规范中限定的交换规则、与对象寄存器182的接收的副本中列出的对象关联的相应源和汇,和在虚拟区域中的对象的相应位置,在进入的区域客户端网络节点和在对象寄存器中列出的其他区域客户端中的一个或多个之间建立一个或多个实时数据流连接(图9,框218)。在建立这些连接的过程中,通信应用程序142发起并且配置使在进入的区域客户端网络节点上可用的实时数据流的捕捉、回放、流传输和编码变换成为可能的部件模块。这些部件典型地包括聊天引擎165、音频处理引擎166和其他部件(例如,用于编码从本地视频捕捉装置接收的视频数据和解码从远程网络节点接收的实时视频流包的视频处理引擎)。
C.处理配置数据以确定要求的实时数据流连接的集
图10是方法的实施例的流程图,根据该方法,流交换管理器168(图8)的实施例处理从区域服务器64接收的配置数据(在图9的方法的框216中)以便确定要求的实时数据流连接的集。如上文说明的,配置数据包括虚拟区域规范180的副本(参见图8)和更新的对象寄存器182的副本(参见图8)。在一些实施例中,配置数据另外包括流混合列表(参见图8),其标识当前正由区域服务器64产生的区域客户端实时数据流的混合(或组合)。
流交换管理器168用从区域服务器64接收的对象寄存器182的副本初始化本地对象寄存器190(参见图8)(图10,框220)。流交换管理器168还用从区域服务器64接收的流混合列表184的副本初始化本地流混合列表194(参见图8)(图10,框222)。流交换管理器168另外用从区域服务器64接收的虚拟区域规范180的副本初始化本地虚拟区域规范高速缓存196(参见图8)(图10,框220)。
流交换管理器168从虚拟区域规范196和通信者的化身在虚拟区域中的位置建立占用分区的列表188(参见图8)(图10,框226)。在该过程中,流交换管理器168从包含化身在虚拟区域中的当前位置的坐标的当前对象位置数据库192检索通信者的化身在虚拟区域中的当前位置。这些坐标从输入装置(例如计算机鼠标171等)接收的实时运动数据流确定。流交换管理器168然后比较通信者的化身的当前位置与在虚拟区域规范196中的分区定义。流交换管理器168从与通信者的化身的当前位置一致的虚拟区域规范中的所有分区编制占用分区列表188。例如,在一些实施例中,占用分区列表188由其的网格包含通信者的化身的当前位置的所有分区构成。
流交换管理器168确定对在占用分区列表中的分区限定的目标实时数据流类型的集(图10,框228)。流交换管理器168然后从目标实时数据流类型的集、对象在虚拟区域中的位置和在虚拟区域规范中限定的交换规则确定要求的实时数据流数据的集(图10,框230)。
在一些示范性实施例中,流交换管理器168查明包含在如一个或多个交换规则限定的那样的目标集中的实时数据流类型源于其中的并且该目标集中的实时数据流类型汇入其中的分区中的一个或多个分区中的排除给定对象的对象。流交换管理器168基于查明的对象确定实时数据流的可连接集。可连接流中的每个至少是以下其中之一:(i)源于与查明的对象关联的网络节点中的一个或多个和(ii)汇入与查明的对象关联的网络节点中的一个或多个。流交换管理器168然后基于与实时数据流的可连接集关联的源和汇的匹配确定要求的实时数据流数据的集。
在这些实施例的一些中,要求的实时数据流数据集对应于可以汇入由通信者化身占用的分区的实时数据流(根据交换规则和在区域客户端网络节点上可用的汇)。在这些实施例中,流交换管理器168确定这些汇中对关联的网络节点具备汇流能力的占用的分区所限定的汇,然后基于其他对象在虚拟区域中的位置和交换规则确定那些汇的所有源。在该过程中,流交换管理器168从所有实时汇类型(例如音频、聊天、视频、运动数据)编制目标实时数据流类型集,这些实时汇类型与通信者的化身关联并且限定为对于由通信者的化身占用的任意分区的汇类型。流交换管理器168然后从交换规则确定目标实时数据流类型中的每个可以源于其中的所有目标源分区。流交换管理器168从对象寄存器190和当前对象位置数据库192识别在目标源分区中的所有对象,这些目标源分区能够根据交换规则从它们的当前位置获取目标实时数据流类型中的一个或多个。流交换管理器168从与在对象寄存器190中的识别的对象关联的连接数据编制要求的实时数据流数据的集。
在一个说明性的示例中,图11示出虚拟艺廊区域100(参见,例如,图5和6)的平面图,在当它其中有四个化身对象A、B、C、D时。化身A和B位于分区101,而化身C和D位于分区108。为了该说明性示例的目的:
●化身A-D中的每个与语音、视频和聊天源类型以及汇类型关联;
●对于分区101的交换规则规定:
●与分区101内的化身关联的每个语音源将连接到在分区101内的每个语音汇,
●与分区101内的化身关联的每个视频源将连接到在分区101内的每个视频汇,和
●与分区101内的化身关联的每个聊天源将连接到在分区101内的每个聊天汇;
●分区108的交换规则仅规定与分区108内的化身关联的每个语音源将连接到在分区108内的每个语音汇;并且
●流交换管理器168在分区交换规则之上实现接近策略规则,其仅允许与在虚拟区域中彼此的规定距离(或半径)rp内的相应对象关联的源与兼容汇的连接。
在该示例中,分区交换规则和接近策略规则提供确定如何在化身A、B、C和D之间建立连接的相应交换条件。
在运行中,每当化身B位于接近分区232时,在与化身A关联的区域客户端节点上运行的流交换管理器168的实例将请求连接到源于与化身B关联的区域客户端节点的实时语音、视频和聊天流,接近分区232由在化身A周围的规定距离rp限定。同样,每当化身A位于化身B的规定距离rp内时,在与化身B关联的区域客户端节点上运行的流交换管理器168的实例将请求连接到源于与化身A关联的区域客户端节点的实时语音、视频和聊天流。由于化身B当前在化身A的接近区域232的外部,反之亦然,与化身A和B关联的节点在图11中示出的当前示范性状态中将不彼此连接。
由于分区108仅允许语音连接,在与化身C关联的区域客户端节点上运行的流交换管理器168的实例将请求仅连接到源于与化身D关联的区域客户端节点的实时语音流(假定满足在接近策略规则中规定的接近条件)。相似地,在与化身D关联的区域客户端节点上运行的流交换管理器168的实例将请求仅连接到源于与化身C关联的区域客户端节点的实时语音流(假定满足在接近策略规则中规定的接近条件)。
由于分区101和108的交换规则不允许分区101和108之间的连接,与化身A和B关联的源和汇将不连接到与化身C和D关联的任意源和汇(即使满足在接近策略规则中规定的接近条件)。
在一些实施例中,区域客户端52-56中的至少一个包括网络适配器(例如,以太网接口卡),其提供到网络58的连接性并且进一步设置成执行区域客户端流交换管理器168的功能中的一个或多个,其包括执行图10的方法需要的功能。
D.建立实时数据流连接
1.确定要求的实时数据流连接
在一些示范性实施例中,在流交换管理器168确定实时数据流数据的集(其使网络节点52能够参与与在共享虚拟区域内的其他网络节点的协作通信会话)(图10,框230)之后,流交换管理器168确定实时数据流连接,其将产生要求的数据流数据传递到区域客户端网络节点52。
在这些实施例中的一些中,流交换管理器168至少部分基于给定的网络节点的带宽能力确定传递实时数据流的集到给定的网络节点的实时数据流处理拓扑。在该过程中,流交换管理器168确定从得自实时数据流的组合的未混合实时数据流和流混合接收实时数据流中的每个所采用的相应形式。流交换管理器168还确定网络路由,在其上实时流中的每个从直接对等网络路由和由其他网络节点中的一个或多个居间的网络路由接收。在流处理拓扑确定后,流交换管理器168根据确定的流处理拓扑在给定网络节点和其他网络节点之间建立实时数据流连接。
图12示出确定实时数据流连接的拓扑的方法的实施例,该连接传递要求的数据流数据到区域客户端网络节点。
根据该方法,流交换管理器168确定区域客户端网络节点52是否具有足够的带宽以直接从其他区域客户端网络节点接收要求的实时数据流数据240的集(图12,框242)。在该过程中,其他的区域客户端网络节点发送链路请求到区域客户端网络节点52。链路请求指示用于发送区域客户端网络节点52需要的实时数据流的相应集的相应带宽要求(参见下文的§V.D.2)。流交换管理器168比较建立要求的直接连接所需要的总带宽与如由带宽监视器170(参见图8)报告的对于区域客户端网络节点52当前可用的下载带宽。
如果可用带宽至少等于总体要求的带宽,流交换管理器168建立与提供要求的实时数据流数据的其他区域客户端网络节点的直接连接(图12,框244)。在该过程中,通信应用程序142和它的关联的运行环境,在区域客户端网络节点52和其他的区域客户端网络节点54、56中的一个或多个和区域服务器64之间创建socket(例如,TCPsocket或性能优化的专用实时socket)。创建的socket典型地对于每个实时数据流类型包括一个传送实时数据流的socket,和一个用于传送与关联的实时数据流包的发送和接收关联的控制信息(例如,服务信息的质量)的socket。通信应用程序142处理和编码实时数据流,包括记录它们并且将它们渲染至客户端用户界面中。例如,本地产生的音频数据、视频数据和聊天数据典型地被捕捉、编码和分成包(例如,RTP包),其发送到网络58。
如果可用的带宽小于要求的带宽(图12,框242),流交换管理器168检查流混合列表194(参见图8)以确定提供要求的实时数据流数据的流混合当前是否由区域服务器64产生(图12,框246)。如果需要的流混合是可用的,流交换管理器168建立与区域服务器64的连接,需要的实时数据流混合的副本在该连接上从区域服务器64发送到区域客户端网络节点52(图12,框248)。如果需要的流混合是不可用的,流交换管理器168发送流混合请求到区域服务器64(图12,框250)
在一些实施例中,区域服务器64执行区域客户端流交换管理器168的功能中的一个或多个。在这些实施例中,区域服务器64在网络节点52-54之间建立一个或多个实时数据流连接,其中网络节点52-56与相应对象关联,每个该对象与实时数据流类型中的一个或多个的源和汇中的至少一个关联。区域服务器64根据图10和12的方法中的一个或二者、基于一个或多个交换规则、与对象关联的相应源和汇和在虚拟区域中的对象的相应位置建立一个或多个实时数据流连接。
1.实时数据流连接
a.介绍
在一些实施例中,网络节点之间的连接在两层中建立:链路和通道(channel)。
在存在直接从一个节点发送到另一个的至少一个流的任何时候,在两个网络节点之间建立链路。链路典型地是单向的并且由发送器请求并且由接收器接收或拒绝。如果被拒绝,通过链路上行和下行(分别)与区域服务器(如本文描述的,混合或收发)通信可仍是可能的。链路表示由实时通信的两个节点分配的全带宽。该分配基于可用的总网络带宽、在任何给定时间期望的带宽量和链路数目动态地确定。增加和放弃链路是不断进行的动态过程。复杂区域内的或从区域到区域的移动是当链路连接和断开在不断进行的系统行为中起重要作用时的示例。
每个链路分成传送相应实时数据流的通道。通道分配给已经分配到链路的总带宽内的特定流。通道带宽可以基于总链路带宽和在链路内的通道的数目和优先级的变化而动态变化。通道的激活或去激活提供可由网络节点的链路层使用的信息以改变两个节点之间的期望的带宽。该信息还可在节点之间共享以建立分配给链路的带宽水平。
在每个节点的所有链路之中的带宽的要求的上下文中,由这些实施例提供的连接框架使发送和接收网络节点能够做出关于如何对于在两个节点之间在任何给定的时间需要的流的集使用可用带宽的决定。当增加或减小用于同步文件传送或视频供给的带宽量时,降低或增加语音通道的比特率是该分配决定过程的示例。连接框架还使接收网络节点能够基于链路内的可用通道带宽做出关于服务器混合与单独流发送的决定。
如可选地由虚拟区域规范修改的系统设置,提供用于确定链路和通道的相对带宽分配和流类型和拓扑的优先级的参数。由于这些可变的和动态的要求,网络节点和区域服务器(或其他高带宽中间节点)之间的上行和下行链路典型地具有本地带宽的高优先级,因为这些链路可被需要用来发送各种不同节点之间的链路和通道。由于在链路、通道或二者的节点处的带宽限制,对于虚拟区域设计者创建不可以由给定节点运行的虚拟区域是可能的。
带宽通常是稀缺的资源(与CPU时间、硬盘空间、图形渲染能力等等相比)。节点连接分层成链路和链路内的通道使虚拟区域设计者以及系统管理员能够对在一个或多个实时会话中涉及的任何给定节点当带宽饱和时将如何响应进行控制。分层允许个体链路被有效地管理以为了最小和最大带宽目的。分层还提供对选择哪些节点将接收链路(与通过区域服务器要求链路相比)进行控制。
在一个说明性示例中,假定第一网络节点和第二网络节点通过共享虚拟区域通信。第一和第二节点中的每个要求来自另一个的语音流和运动数据流。为了满足该需要,第一和第二节点中的每个建立与区域服务器的相应上行链路,其被分成语音通道和运动数据通道。区域服务器收发它从第一和第二网络节点接收的语音流,并且混合它从第一和第二网络节点接收的运动数据流。区域服务器建立与第一和第二网络节点的相应下行链路并且在相应下行链路中分配的语音和运动数据通道中发送语音和运动数据流。当第一和第二节点连接时,它们可参加文件传送,其将然后要求在链路中的新的通道。如果对于合理的数据传输率没有足够的带宽可用,发送者可以降低它的比特率用于较低质量的语音对话,通过区域服务器链路收发文件传送流,或另外根据在第一和第二网络节点的相应系统设置中的逻辑或由虚拟区域规范规定的行为调整通道和链路。
如果第三网络节点请求进入虚拟区域,第一和第二网络节点中的每个将要求来自第三网络节点的语音和运动数据流并且第三网络节点将要求来自第一和第二网络节点中的每个的语音和运动数据流(如果带宽允许)。如果带宽的最小量是不可用于直接从第三网络节点接收要求的流,第一和第二网络节点将增加到区域服务器的上行链路带宽、从区域服务器的下行链路带宽或二者。备选地,第一和第二网络节点将需要一个或多个服务器混合。如果仍然存在不足带宽而不能建立由虚拟区域规范要求的所有连接,第三网络节点可被阻止进入虚拟区域,或第一和第二网络节点中的一个或二者可从实时会话掉线,在该情况下,掉线的网络节点可需要重试或通过更快的网络连接连接。
随后,当第三网络节点离开虚拟区域时,第一、第二和第三网络节点中的每个需要断开并且释放分配给与第一网络节点的连接的链路和带宽,其可使第一和第二网络节点重新分配可用的带宽给在它们之间的链路。
在一些实施例中,第一和第二网络节点具有确定在分配任何带宽给第三网络节点之前它们已经彼此建立的链路的优先级的能力。在一些实施例中,在虚拟区域规范中的交换规则确定连接的优先级。例如,在一些虚拟区域设计中,与某些角色属性(例如,仲裁者)关联的网络节点将具有比其他网络节点更高的连接优先级从而将一直被允许链接到虚拟区域。在其他虚拟区域设计中,连接由它们相应年龄排序,其中较老的连接比较年轻的连接排得更高。在这些虚拟区域中,与最老的连接关联的节点将是最后以从通信会话中掉线的。
b.创建链路
图13示出在共享虚拟区域的网络节点之间交换实时数据流连接的方法的示范性实施例,其中链路通过在之前章节中描述的类型的链路建立。图13的方法典型地由网络节点中的每个的流交换管理器168执行,该每个网络节点是由共享虚拟区域的其他网络节点要求的实时数据流中一个或多个的源。
对于一个或多个接收网络节点中的每个,流交换管理器168确定在其上发送一个或多个实时数据流的相应发送集的相应链路,其中链路中的每个具有相应链路带宽(图13,框440)。链路中的每个典型地是从相应发送网络节点到相应接收网络节点的相应单向链路。然而,在一些实施例中,链路中的一个或多个可以是双向的(例如,半双工或全双工)链路。
对于链路中的每个,流交换管理器168在分别分配给在相应发送集中的一个或多个实时数据流的一个或多个通道之间分派相应链路带宽并且在分别分配的通道上发送在相应发送集中的一个或多个实时数据流到相应接收网络节点(图13,框442)。在一些实施例中,流交换管理器168采用基于与相应接收网络节点关联的至少一个属性确定的量分配相应带宽。该属性可对应于任意下列示范性属性:由与接收网络节点关联的化身占用的虚拟区域中的位置;与接收网络节点关联的链路优先级等级;和指派给与接收网络节点关联的化身的角色标识符。在一些实施例中,相应链路带宽的分派基于分别与在相应发送集中的一个或多个实时数据流关联的一个或多个流优先级等级。
在一些实施例中,对于链路中的每个,流交换管理器168查明在相应发送集中的一个或多个实时数据流中的每个的一个或多个相应带宽水平并且基于查明的带宽水平分配相应链路带宽给链路。在一些实施例中,流交换管理器168通过检查发送网络节点的系统级设置和检查对于指派给共享虚拟区域的任意分区内的任何流类型的任何带宽水平的虚拟区域规范而查明这些带宽水平。每个实时数据流类型典型地与至少一个系统级的带宽水平关联。例如,区域客户端网络节点中的每个典型地包括向语音流提供不同的压缩水平的语音编解码器和为视频流提供不同的压缩水平的视频编解码器。这些编解码器中的每个典型地可设置成提供从默认低(例如,优选的或目标)压缩水平到高压缩水平的压缩水平的相应范围。虚拟区域规范可为一个或多个实时数据流类型中的每个规定一个或多个具体区域的带宽水平。这些水平可包括优选的带宽水平、最小带宽水平和在优选的和最小的带宽水平之间的一个或多个带宽水平。
在一些实施例中,对于链路中的每个,流交换管理器168为在相应发送集中的实时数据流中的每个识别相应最小带宽水平,并且从一个或多个识别的相应最小带宽水平计算相应最小链路带宽水平。流交换管理器168响应于确定任意链路可用的带宽长达限定的时段不能满足相应最小链路带宽水平而典型地使该任意链路掉线。
在一些实施例中,对于链路中的每个,流交换管理器168对于在相应发送集中的实时数据流中的一个或多个中的每个识别在从相应第一优选的带宽水平(例如,默认的带宽水平)到相应第二优选的带宽水平(例如,最小带宽水平)排序的各自优先等级顺序中的至少两个相应带宽水平。流交换管理器168至少部分基于识别的第一优选带宽水平计算相应目标链路带宽水平和至少部分基于识别的第二优选带宽水平计算相应撤退链路带宽水平。对于接收网络节点中的每个,流交换管理器168尝试以目标链路带宽水平建立到接收网络节点的相应链路。在该过程中,流交换管理器168比较目标链路带宽水平与发送相应发送集可用的带宽的当前量;接收网络节点还比较目标链路带宽水平与接收相应发送集可用的带宽的当前量。响应于失败建立以目标链路带宽水平的到接收网络节点的相应链路,流交换管理器168尝试以撤退链路带宽水平建立到接收网络节点的相应链路。
图14示出在之前的段落中描述的实施例的示范性实现。根据该实施例,流交换管理器168确定每个链路的当前相应候选链路带宽水平(图14,框444)和一个或多个可选的相应撤退候选链路带宽水平(图14,框446)。流交换管理器168尝试以当前相应候选链路带宽水平建立当前链路(图14,框448)。如果链路建立(图14,框450),流交换管理器168处理下一个链路(图14,框444)。否则,流交换管理器168确定是否存在对于当前链路可用的任何其他候选链路带宽水平(图14,框452)。如果是这样的,流交换管理器168改变当前相应候选链路带宽水平为下一个更低的链路带宽水平(图14,框454),并且尝试建立以新的候选链路带宽水平的当前链路(图14,框448)。如果不再有候选链路带宽水平(图14,框452),流交换管理器168报告当前链路的错误并且对下一个链路重复该过程(图14,框444)。
响应于失败建立任意链路,为了适应现有的带宽限制,那些链路通向的接收网络节点可试图放弃发送数据集中的至少一个可选的实时数据流。备选地,这样的接收网络节点可试图建立在相应网络路由上提供要求的实时数据流数据的链路,这些网络路由由其他的网络节点中的一个或多个居间。例如,接收网络节点可请求来自区域服务器64的链路,该区域服务器64提供采用未混合格式或混合格式的要求的实时数据流数据。
在一些实施例中,链路可是安全的。安全的链路可具有下面的安全性质中的一个或多个:验证、完整性和保密。验证的链路使用验证技术(例如评价作为公共密钥基础结构的一部分的证书,例如由Verisign提供的那一个)以帮助确保每个节点实际上连接到已知的其他节点,而不是冒名顶替的节点。完整性技术(例如使用与SHA算法关联的安全hashing过程)被采用以确保在发送和接收之间对链路内容做出的任何改变可以探测到。保密技术(例如基于共享密钥在发送之前用AES加密算法加密链路内容和在使用之前解密链路内容)帮助确保链路的内容不可以被偷听者轻易获悉。这些技术可选择性地组合以获得对于特定通信会话的期望的安全性质。当采用安全链路时,系统设置和应用程序设计参数可调整以考虑与建立安全链路关联的额外开销。例如,链路可以保持在低(或甚至零)带宽长达更长的时间以避免如果带宽变成可用的而需要重建链路。
b.具有增强的链路管理功能的示范性实施例
在§V.D.2中描述的流交换管理器168的增强的链路管理功能性可在任何计算或数据处理环境中实现,其包括在数字电子电路(例如,具体应用集成电路,例如数字信号处理器(DSP)等)中或在计算机硬件、固件、装置驱动器或软件中。在一些实施例中,这些功能性采用专用硬件模块实现,例如网络适配器和网络交换机。这样的模块的实施例可配置成提供任意下列增强的链路管理功能的加速性能:链路创建;链路路由;从给定的网络节点发送的多个链路之间的带宽分配;和给定链路内的通道之间的带宽管理。
图15示出示范性应用环境460,具有增强的链路管理功能的网络适配器462可在其中工作。网络适配器462纳入主机系统464内,其包括通信控制器466和介质存取控制(MAC)接口468。网络适配器462在主机系统464和网络介质470之间过渡。网络介质470是物理介质,从主机系统464到一个或多个其他网络节点472的链路在其上或通过其建立。在自由空间中的导线、纤维、电磁波是网络介质的三个示范性类型。
主机系统464和其他网络节点472中的每个可是任何类型连接到网络的装置或系统(例如,个人计算机、计算机工作站、网络交换机、网络集线器和网络中继器)。主机通信控制器466使主机系统464能够共享对网络介质470的访问。MAC接口468连接通信控制器466到网络适配器462。MAC接口的一个示范性类型是不受介质限制的接口(MII),其提供支持与并行通信控制器466通信的并行接口。MAC接口的另一个示范性类型是IEEE 802.03服从通用串行接口(GPSI),其支持与串行通信控制器466的串行通信。
图16示出网络适配器462的实施例,其包括主机接口端口474、网络介质接口端口476、处理单元478、收发器480和存储器482。主机接口端口474可连接到MAC接口468。网络介质接口端口476可连接到网络介质470。在图示的实施例中,网络接口端口476提供收发器480和网络介质470之间的物理接口。
处理单元478典型地是执行MAC层功能的MAC处理单元,MAC层功能包括但不限于确保主机系统464和一个或多个其他网络节点472与正确的帧格式和协议通信。另外,处理单元478可运行成执行在§V.D.2中描述的链路和通道管理功能。为了帮助这些功能的执行,处理单元478在存储器482中存储虚拟区域规范、链路表486和通道表488的副本484。如本文说明的,虚拟区域规范484可包含影响链路和通道的管理的任意下列参数值:根据流类型的优选的、最小的和中间的带宽水平;流类型优先级;流处理拓扑优先级;和指派给与共享虚拟区域的网络节点关联的对象(例如,化身)的角色标识符。链路表486包含建立的与其他网络节点472的当前链路的列表,以及当前链路之间的带宽的分配。通道表488包含当前链路中的每个的分配给在该链路上发送的实时数据流的相应通道的列表,以及链路内的相应通道之间的带宽的分配。
2.管理实时数据流连接
图17示出确定实时数据流连接的方法的实施例,该实时数据流连接传递要求的数据流数据到区域客户端网络节点。在该过程中,区域服务器64确定最佳流处理拓扑,其提供要求的实时数据流数据到区域客户端网络节点52。
区域服务器64根据当前流处理拓扑管理区域客户端网络节点之间的连接(图17,框251)。在该点上,区域服务器64维护全局状态数据,其包括虚拟区域的定义和在虚拟区域中的所有化身和其他对象的当前对象状态数据。在该过程中,区域服务器64追踪在虚拟区域中的对象并且在一些实施例中,区域服务器64维护最近历史数据高速缓存,其用于区域客户端网络节点的实时同步。区域服务器64还响应于对象进入虚拟区域、对象离开虚拟区域和带宽故障重新评价连接。
响应于从请求区域客户端网络节点请求实时数据流数据的接收(图17,框262),区域服务器64发现与在对象寄存器190(参见图8)中的对象关联的区域客户端网络节点的带宽能力(图17,框254)。在一些实施例中,区域客户端网络节点中的每个或动态地或周期性地发送它的当前上传带宽能力和它的当前下载带宽能力到区域服务器64。
区域服务器64选择实时数据流处理拓扑,其传递实时数据流数据到请求区域客户端网络节点(图17,框256)。区域服务器64典型地基于区域客户端网络节点的发现的带宽能力选择拓扑。在一些实施例中,区域服务器64选择流处理拓扑,其中请求网络节点和其他网络节点接收最大数量的未混合实时数据流。这样的未混合实时数据流使区域客户端网络节点能够渲染具有更高质量的并且具有对这些流应用局部处理(例如,对在立体声声景中的更逼真场所化身进行音频立体声声响处理或衰减器包络处理(fader envelope processing)中的一种或两种)的选项的流以获得更投入的体验或特定的应用目标(例如,5.1音频处理或专用的化身运动)。
在一些实施例中,虚拟区域规范规定在虚拟区域中的一个或多个分区中的一个或多个实时数据流类型的流属性值。在这些实施例中,区域服务器64基于由虚拟区域规范规定的一个或多个流属性值选择流处理拓扑。在一些示范性虚拟区域设计中,虚拟区域规范指派第一流优先级属性值给第一实时数据流类型并且指派与第一流优先级属性值不同的第二流优先级属性值给第二实时数据流类型。例如在上文描述的第二COLLADA流参考示例中,源于StageZone并且与“lead_singer”角色属性关联的语音流被指派优先级等级1,而源于AudienceZone的语音流与优先级等级2关联。关于虚拟区域设计规范的这些类型,区域服务器64试图选择流处理拓扑,其根据不同的第一和第二流优先级属性值不同地确定第一和第二实时数据流类型的优先级。例如,关于第二COLLADA流参考示例,面临带宽可用性约束,区域服务器64将在对源于StageZone的lead_singer语音流创建和发送流混合之前,对源于AudienceZone的语音流创建和发送流混合。
在一些示范性区域设计中,虚拟区域规范指派第一流拓扑属性值给第一实时数据流类型并且指派与第一流拓扑属性值不同的第二流拓扑属性值给第二实时数据流类型。例如在上文描述的第二COLLADA流参考示例中,源于StageZone并且与lead_singer角色属性关联的语音流被指派“direct”拓扑属性值,而源于AudienceZone的聊天流与“server_mix”的拓扑属性值关联。关于虚拟区域设计规范的这些类型,区域服务器64试图根据不同的第一和第二流拓扑属性值为第一和第二实时数据流类型选择不同的流处理拓扑。例如,在一些情况中,区域服务器64为第一实时数据流类型选择流处理拓扑,其传递第一类型的实时数据流到给定网络节点和其他网络节点中的一个或多个(采用混合流格式,例如,源于在第二COLLADA流参考示例中的AudienceZone的聊天流),并且为第二实时数据流类型选择流处理拓扑,其传递第二类型的实时数据流到给定网络节点和其他网络节点中的一个或多个(采用未混合流格式,例如,源于StageZone并且与在第二COLLADA流参考示例中的leader_singer角色属性关联的语音流)。
区域服务器64与区域客户端协商以重新配置流处理拓扑成选择的拓扑(图17,框258)。在该过程中,区域服务器64与区域客户端协商以建立区域客户端和可选地区域服务器64(其传递要求的数据流数据到请求区域客户端网络节点)之间的连接集。在一些情况下,区域服务器64发送一个或多个实时数据流的相应请求到区域客户端,该实时数据流将中继到请求区域客户端节点或与其他实时数据流结合成流混合,其将被传递有要求的实时数据流数据到请求区域客户端网络节点。
如果选择的拓扑不要求来自区域服务器64的流(图17,框260),区域服务器64根据当前流处理拓扑管理区域客户端网络节点之间的连接(图17,框251)。例如,在一些情况下(参见,例如图22),选择的拓扑直接从区域客户端网络节点的一个或多个传递要求的实时数据流数据到请求区域客户端网络节点,消除对区域服务器64发送该数据的需要。
如果选择的拓扑不要求来自区域服务器64的流(图17,框260),区域从流混合列表184(参见图8)确定要求的服务器流是否可用(即,当前正产生)(图17,框262)。要求的服务器流可采用源于其他区域客户端网络节点中的一个的实时数据流的副本的形式,或采用当前正从两个或更多实时数据流(区域服务器64正从除了请求区域客户端网络节点之外的区域客户端网络节点接收的)产生的流混合的形式。如果要求的流是可用的(图17,框262),区域服务器64发送要求的服务器流的副本到请求区域客户端网络节点(图17,框270),并且根据当前流处理拓扑管理区域客户端连接(图17,框251)。
如果要求的流是不可用的(图17,框262),区域服务器64获得要求的服务器流(图17,框264)。在该过程中,区域服务器64可产生从其他区域客户端网络节点中的一个接收到的实时数据流的副本,或它可产生来自从除了请求区域客户端网络节点之外的区域客户端网络节点接收到的两个或更多实时数据流的流混合。如果新的流混合产生(图17,框266),区域服务器64更新流混合列表184(图17,框268),发送要求的服务器流到请求区域客户端(图17,框270),并且根据当前流处理拓扑管理区域客户端连接(图17,框251)。如果新的流混合没有产生(图17,框266),区域服务器64发送要求的服务器流到请求区域客户端(图17,框270),并且根据当前流处理拓扑管理区域客户端连接(图17,框251)。
4.示范性实时数据流处理拓扑
该章节描述可由在图17中示出的方法的框256中的区域服务器64选择的流处理拓扑的示范性拓扑。
a.示范性服务器混合流处理拓扑
图18示出实时数据流处理拓扑280的实施例,其中区域服务器64分别从区域客户端网络节点52-56接收实时数据流集282、284、286。这些数据流集282-286包括根据虚拟区域规范和它们的位置连接共享虚拟区域中的对象所要求的所有实时数据流。这些流中的每个由区域客户端52-56分成包。每个包包括标头,其包含识别包的源的源标识符字段、序列号和其他信息。
区域服务器64从接收的数据流集282-286产生相应流混合的集288、290、292,其中每个集288-292包括实时数据流类型(例如,音频、视频、聊天和运动数据),其由区域客户端节点52-56中的相应一个要求。在该过程中,区域服务器64按类型(例如,视频、音频、聊天、运动数据和控制)和按源标识符分离输入的实时数据流包,并且按序列号重新组装这些包。区域服务器64然后将相同类型的流组合成相应一个流混合并且发送相应的流混合的集228-292到相应一个区域客户端网络节点52-56。
如与在图19中示出的对等拓扑相比,拓扑280降低了每个区域客户端要求的网络连接的数量,从而降低了每个区域客户端和它们的网络上的负载;然而增加了区域服务器64上的负载。
b.示范性对等客户端混合流处理拓扑
图19示出对等实时数据流处理拓扑300的实施例,其中区域客户端网络节点52-56中的每个发送要求的实时数据流中的每个的相应副本到其他区域客户端网络节点52-56中的每个。从而,在图19中图示的示例中,区域客户端52发送流的第一集302到区域客户端54和流的第二集304到区域客户端56;区域客户端54发送流的第一集306到区域客户端52和流的第二集308到区域客户端56;并且区域客户端56发送流的第一集310到区域客户端52和流的第二集312到区域客户端54。这些流302-312包括根据虚拟区域规范和它们的位置连接共享虚拟区域中的对象所要求的所有实时数据流。流中的每个被分成包,其的每个包包括标头,其包含识别包的源的源标识符字段、序列号和其他信息。
区域客户端网络节点52-56中的每个从实时数据流产生相应流混合,这些实时数据流对于每个要求的实时数据流类型(例如,音频、视频、聊天和运动数据)从其他区域客户端网络节点被接收。在该过程中,每个区域客户端按类型(例如,视频、音频、聊天、运动数据和控制)和按源标识符分离输入的实时数据流包,并且按序列号重新组装包。每个区域客户端然后按相互关联的时间戳和源ID对重新组装的包流顺序化以在渲染期间维护实时数据流之间的同步。
拓扑300的可缩放性受区域客户端网络节点上的重上传要求约束。当使用单播发送以发送要求的实时数据流时,拓扑300也将重负载置于网络上,如在图19中示出的。在一些实施例中,本地网络负载通过配置区域客户端网络节点52-56中的每个以发送要求的数据流中的每个的单个相应多播发送到一个或多个交换机,其将多播流的副本分发到其他网络节点而被减轻。
c.示范性对等客户端混合流处理拓扑
图20示出对等实时数据流处理拓扑320的实施例,其最小化四个区域客户端网络节点52-56和322之间的连接。在拓扑320中,区域客户端网络节点52-56、322中的每个发送要求的实时数据流中的每个的相应副本到区域客户端网络节点52-56、322中的两个其他网络节点。从而,在图20中图示的示例中,区域客户端52发送流的第一集324到区域客户端56和流的第二集326到区域客户端322;区域客户端54发送流的第一集328到区域客户端322和流的第二集330到区域客户端56;区域客户端56发送流的第一集332到区域客户端52和流的第二集334到区域客户端54;并且区域客户端322发送流的第一集336到区域客户端52和流的第二集338到区域客户端54。另外,区域客户端52-56、322中的每个充当收发交换机,其中继从其他区域客户端中的一个接收的实时数据流的集到区域客户端中的另一个。特别地,区域客户端52从区域客户端322中继流的集336的副本340到区域客户端56;区域客户端54从区域客户端56中继流的集334的副本342到区域客户端322;区域客户端56从区域客户端52中继流的集324的副本344到区域客户端54;并且区域客户端322从区域客户端54中继流的集328的副本346到区域客户端52。这些流集324-346包括根据虚拟区域规范和它们的位置连接共享虚拟区域中的对象所要求的所有实时数据流。这些流中的每个被分成包,其的每个包括标头,其包含识别包的源的源标识符字段、序列号和其他信息。
区域客户端网络节点52-56、322中的每个从实时数据流产生相应流混合,这些实时数据流对于每个要求的实时数据流类型(例如,音频、视频、聊天和运动数据)从其他区域客户端网络节点接收。在该过程中,每个区域客户端按类型(例如,视频、音频、聊天、运动数据和控制)和按源标识符分离输入的实时数据流包,并且按序列号重新组装这些包。每个区域客户端然后按相互关联的时间戳和源ID使重新组装的包流顺序化以在渲染期间维护实时数据流之间的同步。
拓扑320的可缩放性受区域客户端网络节点上的重上传要求约束。当使用单播发送以发送要求的实时数据流时拓扑320也将重负载置于网络上,如在图20中示出的。在一些实施例中,本地网络负载通过配置区域客户端网络节点52-56、322中的每个以发送复制的要求的数据流中的每个的单个相应多播发送到一个或多个交换机,其将多播流的副本分发到其他网络节点而被减少。
d.示范性服务器居间客户端混合流处理拓扑
图21示出服务器居间实时数据流处理拓扑350的实施例,其中区域服务器64充当收发交换机,其中继区域客户端网络节点52-56之间的实时数据流。在拓扑350中,区域客户端网络节点52-56中的每个上传要求的实时数据流的相应集352、354、356到区域服务器64,其根据它们相应要求中继上传的流的要求的副本到区域客户端网络节点52-56。从而,在图21中图示的示例中,区域服务器64发送由区域客户端52上传的流集352的相应副本358、360到其他区域客户端54、56中的每个;区域服务器64发送由区域客户端54上传的流集354的相应副本362、364到其他区域客户端52、56中的每个;并且区域服务器64发送由区域客户端56上传的流集356的相应副本366、368到其他区域客户端52、54中的每个。流集358-368包括根据虚拟区域规范和它们的位置连接共享虚拟区域中的对象所要求的所有实时数据流。这些流中的每个被分成包,其的每个包括标头,其包含识别包的源的源标识符字段、序列号和其他信息。
区域客户端网络节点52-56中的每个从实时数据流产生相应流混合,这些实时数据流对于每个要求的实时数据流类型(例如,音频、视频、聊天和运动数据)从区域服务器网络节点64接收。在该过程中,每个区域客户端按类型(例如,视频、音频、聊天、运动数据和控制)和按源标识符分离输入的实时数据流包,并且按序列号重新组装这些包。每个区域客户端然后按相互关联的时间戳和源ID使重新组装的包流顺序化以在渲染期间维护实时数据流之间的同步。
e.示范性动态流处理拓扑
在一些实施例中,区域服务器64动态地确定实时数据流处理拓扑,其传递实时数据流的规定集到给定的网络节点。在该过程中,区域服务器64选择拓扑作为流处理拓扑,该拓扑涉及通过中心网络节点在第一集中的网络节点之间交换实时数据流和在第二集中的网络节点之间在直接对等网络连接上交换实时数据流。节点的第一集可与节点的第二集不同。如上文说明的,网络节点中的每个具有与在虚拟区域中的相应位置关联的至少一个对象和实时数据流类型中的一个或多个的源和汇中的至少一个。区域服务器64基于一个或多个交换规则和确定的实时数据流处理拓扑在第一集中的网络节点之间转发实时数据流包。
图22示出实时数据流处理拓扑370的实施例,其动态地组合上文描述的流处理拓扑的要素。特定地,在图22中示出的示范性拓扑中,区域客户端网络节点52-56通过对等连接和服务器居间连接的动态组合接收要求的实时数据流,其中区域服务器64必要时担当区域客户端网络节点之间的收发交换机。
在拓扑370中,区域客户端网络节点52-56中的每个上传要求的实时数据流的相应集372、374、376到区域服务器64。在图22中图示的示例中,区域服务器64中继由区域客户端52上传的流集372的副本378到区域客户端54;区域服务器64中继由区域客户端54上传的流集374的相应副本380、382到其他区域客户端52、56中的每个;并且区域服务器64中继由区域客户端56上传的流集376的副本384到区域客户端54。另外,区域客户端52直接从区域客户端54接收要求的流集386,并且区域客户端56直接从区域客户端52接收要求的流集388。流集378-388包括根据虚拟区域规范和它们的位置连接共享虚拟区域中的对象所要求的所有实时数据流。这些流中的每个被分成包,其的每个包括标头,其包含识别包的源的源标识符字段、序列号和其他信息。
区域客户端网络节点52-56中的每个从实时数据流中产生相应流混合,这些实时数据流对于每个要求的实时数据流类型(例如,音频、视频、聊天和运动数据)从其他区域客户端网络节点接收。在该过程中,每个区域客户端按类型(例如,视频、音频、聊天、运动数据和控制)和按源标识符分离输入的实时数据流包,并且按序列号重新组装包。每个区域客户端然后按相互关联的时间戳和源ID使重新组装的包流顺序化以在渲染期间维护实时数据流之间的同步。
拓扑370使在区域客户端网络节点52-56上可用的带宽能够最优化使得区域客户端网络节点52-56接收最大数量的未混合实时数据流。
VII.第二系统架构实施例
图23示出共享虚拟区域通信环境400的实施例,其包括区域客户端网络节点52-56、区域服务器网络节点64的实施例402和网络交换机404。共享虚拟区域通信环境400的要素的结构和操作与上文描述的共享通信环境的要素的结构和操作是相同的,不同在于,区域服务器64和客户端通信应用程序142(参见图7)中的至少一个的实时数据流交换功能性中的一个或多个已经纳入网络交换机404,其使网络交换机404能够根据上文描述的方法中的一个或多个执行自动化实时数据流交换。
网络交换机404是计算机网络装置,其包括存储器405、包括至少一个计算机处理器的处理单元407和网络适配器403,网络交换机404通过网络适配器403连接到区域客户端网络节点54、56和区域服务器402。在运行中,网络交换机404通过检查数据包、确定包的源和转发包到它们相应目的地而连接网子段。对于每个包,网络交换机比较目的地和源硬件地址与网子段和地址的表。如果子段是相同的,包被丢弃;否则,网络交换机404转发包到适合的子段。网络交换机404典型地基于转发表409确定包转发到其中的网络目的地,该转发表409包含用于包转发的优选路由。网络交换机404典型地通过应用路由算法到路由表411产生转发表409,该路由表411包含到在网络交换机404附近的网络目的地的路由。在转发表409和路由表411中的路由典型地由描述网络交换机404和网络目的地之间的网络拓扑的信息规定。网络交换机404不转发坏的或方向偏离的包。网络交换机404可在OSI层中的一层或多层上操作,这些OSI层包括物理层、数据链路层、网络层和传输层。网络交换机404的示范性实现包括但不限于网络交换机、网络路由器和网络集线器。
在一些实施例中,网络交换机404在共享虚拟区域的网络节点之间交换实时数据流连接。网络适配器403从区域服务器402接收虚拟区域规范406。虚拟区域规范406包括根据虚拟区域中的位置分别限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接的一个或多个交换规则的说明。计算机可读存储器405存储虚拟区域规范406和路由表411和转发表409中的一个或两者,其中表409、411中的每个包括描述到网络目的地的路由的网络拓扑信息。处理单元407转发网络节点52-56中的两个或更多之间的实时数据流包,其中网络节点52-56中的每个与虚拟区域中的相应位置和实时数据流类型中的一个或多个的源和汇中的至少一个关联。处理单元407基于网络拓扑信息和一个或多个交换规则转发一个或多个实时数据流包。
在一些实施例中,网络交换机执行区域客户端流交换管理器168的功能中的一个或多个。在这些实施例中,处理单元407在网络节点52-54之间建立一个或多个实时数据流连接,其中网络节点52-56与相应对象关联,这些相应对象中的每个与实时数据流类型中的一个或多个的源和汇中的至少一个关联。处理单元407根据图10和12-14的方法中的一个或两个、基于一个或多个交换规则、与对象关联的相应源和汇以及在虚拟区域中对象相应位置建立一个或多个实时数据流连接。
在一些实施例中,网络交换机404执行区域服务器网络节点的功能中的一个或多个。特定地,网络交换机404执行区域服务器64(参见,例如,图8)的实时数据流交换功能中的一些或所有。在这点上,网络交换机404从区域服务器64接收配置数据。配置数据包括虚拟区域规范180的副本(参见图8)和对象寄存器182的副本(参见图8)。网络交换机404用虚拟区域规范180的副本初始化本地虚拟区域规范高速缓存406和用对象寄存器182的副本初始化本地对象寄存器408。周期性地、响应于事件(例如,化身移动)或周期性地并且响应于事件,网络交换机404用从基于从区域客户端52-56接收的运动数据追踪进入、离开以及在虚拟区域中到处运动的通信者的化身和其他对象获得的信息更新本地对象寄存器408。网络交换机404确定实时数据流连接,其根据图17的方法传递要求的数据流数据到区域客户端网络节点52-56。该过程包括确定最佳流处理拓扑,其提供要求的实时数据流数据到区域客户端网络节点52-56。
在一些实施例中,网络交换机404动态地确定实时数据流处理拓扑,其传递实时数据流的规定集到给定网络节点。在该过程中,处理单元407选择拓扑作为流处理拓扑,该拓扑涉及通过中心网络节点在第一集中的网络节点之间交换实时数据流和在第二集(其典型地与第一集不同)中的网络节点之间在直接对等网络连接上交换实时数据流。如上文说明的,网络节点中的每个与在虚拟区域中的相应位置和实时数据流类型中的一个或多个的源和汇中的至少一个关联。处理单元407基于一个或多个交换规则和确定的实时数据流处理拓扑在第一集中的网络节点之间转发实时数据流包。
VIII.总结
本文描述的实施例提供在共享虚拟区域通信环境中交换实时数据流连接的系统和方法。这些实施例使得用于连接通过共享虚拟区域通信的网络节点之间的实时数据流的交换规则能够明确地依赖于虚拟区域的规范。这些实施例允许虚拟区域的设计者不仅控制虚拟区域的形状和外形,而且控制通信者通过实时数据流互相连接所采用的方式。另外,通过使自动交换规则依赖于在虚拟区域中的位置,这些实施例减少在连接和断开通信者节点中涉及的复杂性并且增加系统的可缩放性,如与基于在虚拟空间内的对象的属性和性质建立和终止连接的系统和使信号处理功能与流路由、连接和断开功能紧密关联的系统比较。
其他的实施例在权利要求的范围内。

Claims (26)

1.一种在共享虚拟区域的网络节点之间交换实时数据流连接的方法,其中改进包括:
存储虚拟区域规范(60、180),其包括一个或多个交换规则的说明,每个交换规则根据在所述虚拟区域(28)中的位置限定相应实时数据流类型的源(66)和该实时数据流类型的汇(68)之间的相应连接;以及
建立与相应对象(30、32、34)关联的网络节点(52、54、56、64、404)之间的一个或多个实时数据流连接,所述相应对象中的每个与所述实时数据流类型中的一个或多个的源(66)和汇(68)中的至少一个关联,其中所述建立基于所述一个或多个交换规则、与所述对象(30、32、34)关联的相应源(66)和汇(68)以及在所述虚拟区域(28)中的对象(30、32、34)的相应位置。
2.如权利要求1所述的方法,其中:
所述虚拟区域规范(60、180)包括所述虚拟区域(28)中的一个或多个分区(36、38、40、44、44)的说明;
所述一个或多个交换规则将其中一个或多个分区(36、38、40、44、44)与以下关联:(i)源于该分区的相应实时数据流类型和(ii)相应实时数据流类型汇入其中的相应一个分区;以及
所述建立包括查明所述对象(30、32、34)关于所述分区(36、38、40、44、44)中的一个或多个的位置,并且基于所述查明的位置建立所述一个或多个实时数据流连接。
3.如权利要求2所述的方法,其中所述建立包括:
识别由所述对象(30、32、34)中的给定的一个对象占用的所有分区(36、38、40、44、44);以及
确定所述一个或多个交换规则将其与所识别的分区(36、38、40、44、44)所关联的实时数据流类型的目标集。
4.如权利要求3所述的方法,其中所述建立包括:
查明对象(30、32、34)中的排除给定对象的包含在如一个或多个交换规则限定的那样的目标集中的实时数据流类型源于其中的并且该目标集中的实时数据流类型汇入其中的分区(36、38、40、44、44)中的一个或多个分区中的对象;
确定实时数据流的可连接集,其中每个是以下至少其中之一:(i)源于与查明的对象(30、32、34)关联的网络节点中的一个或多个和(ii)汇入与查明的对象(30、32、34)关联的网络节点(52、54、56、64、404)中的一个或多个;以及
基于与实时数据流的可连接集关联的源和汇的匹配确定要求的实时数据流数据的集。
5.如权利要求1所述的方法,其中所述交换规则中的至少一个使相应源角色标识符与所述实时数据流类型中的给定的一个关联,并且所述建立包括基于源角色标识符与分别与与给定实时数据流类型的源(66)关联的一个或多个对象(30、32、34)关联的角色标识符的比较建立所述实时数据流连接中的一个或多个。
6.如权利要求1所述的方法,其中所述交换规则中的至少一个使相应汇角色标识符与所述实时数据流类型中的给定的一个关联,并且所述建立包括基于汇角色标识符与分别与与该实时数据流类型的汇(68)关联的一个或多个对象(30、32、34)关联的角色标识符的比较建立所述实时数据流连接中的一个或多个。
7.如权利要求1所述的方法,其中所述建立另外基于至少一个接近策略规则,其仅允许与在所述虚拟区域(28)中的彼此的规定距离内的相应对象(30、32、34)关联的其中的源(66)与其中的兼容的汇(68)的连接。
8.如权利要求1所述的方法,还包括:
维护对象寄存器(182),其中所述对象寄存器(182)包括所述虚拟区域(28)中的每个对象(30、32、34)的相应对象标识符、使网络连接能够用与该对象(30、32、34)关联的网络节点(52、54、56、64、404)建立的连接数据,和识别分别与该对象(30、32、34)关联的所有实时数据流源类型和汇类型的接口数据;
发送所述对象寄存器(182)到与所述虚拟区域(28)中的对象(30、32、34)关联的所述网络节点(52、54、56)中的一个或多个。
9.如权利要求8所述的方法,还包括:
从所述网络节点(52、54、56、64、404)中的给定的一个接收接口数据,其中所述接口数据包括与所述给定网络节点(52、54、56、64、404)关联的每个对象(30、32、34)的与所述给定网络节点关联的所有实时数据流源类型和实时数据流汇类型的列表;
用从所述给定网络节点(52、54、56、64、404)接收的所述接口数据更新所述对象寄存器(182);以及
发送所述更新的对象寄存器(182)到与列在所述对象寄存器中的对象关联的所述网络节点(52、54、56、64、404)中的一个或更多其他的网络节点。
10.如权利要求1所述的方法,还包括确定传递实时数据流数据的规定集到所述网络节点(52、54、56、64、404)中的给定的一个的实时数据流处理拓扑,其中所述虚拟区域规范(60、180)规定所述虚拟区域(28)的一个或多个分区(36、38、40、44、44)中的一个或多个实时数据流类型的流属性值,并且所述确定包括基于由所述虚拟区域规范(60、180)规定的所述一个或多个流属性值选择所述实时数据流处理拓扑。
11.如权利要求10所述的方法,其中所述虚拟区域规范(60、180)指派第一流优先级属性值给第一实时数据流类型并且指派与所述第一流优先级属性值不同的第二流优先级属性值给第二实时数据流类型,并且所述选择包括根据所述不同的第一和第二流优先级属性值选择不同地确定所述第一和第二实时数据流类型优先级的拓扑作为所述流处理拓扑。
12.如权利要求10所述的方法,其中所述虚拟区域规范(60、180)指派第一流拓扑属性值给第一实时数据流类型并且指派与所述第一流拓扑属性值不同的第二流拓扑属性值给第二实时数据流类型,并且所述选择包括根据所述不同的第一和第二流拓扑属性值对所述第一和第二实时数据流类型选择不同的流处理拓扑。
13.如权利要求12所述的方法,其中对所述第一实时数据流类型选择的流处理拓扑采用混合流格式传递其中第一类型的实时数据流到给定网络节点(52、54、56、64、404),并且对所述第二实时数据流类型选择的流处理拓扑采用未混合流格式传递其中第二类型的实时数据流到给定网络节点(52、54、56、64、404)。
14.如权利要求1所述的方法,其中所述建立包括创建通过相应链路的所述一个或多个实时数据流连接,所述链路中的每个具有相应链路带宽并且传送一个或多个实时数据流的相应发送集。
15.如权利要求14所述的方法,其中所述虚拟区域规范(60、180)指派一个或多个相应带宽水平给一个或多个实时数据流类型中的每个,并且所述创建基于由所述虚拟区域规范(60、180)分别指派给所述一个或多个实时数据流类型的所述一个或多个带宽水平。
16.如权利要求15所述的方法,其中所述虚拟区域规范(60、180)指派相应最小带宽水平给一个或多个实时数据流类型中的每个,并且所述创建包括基于由所述虚拟区域规范(60、180)分别指派给所述一个或多个实时数据流类型的所述一个或多个最小带宽水平确定所述链路中的每个的相应最小链路带宽水平以及仅创建其相应链路带宽满足所确定的相应最小链路带宽水平的链路。
17.如权利要求15所述的方法,其中:
所述虚拟区域规范(60、180)指派相应的多个带宽水平的集给一个或多个实时数据流类型中的每个;以及
所述创建包括试图创建以至少部分基于由所述虚拟区域规范(60、180)指派的所述带宽水平确定的第一候选链路带宽水平的其中给定的一个链路,并且响应于失败创建以所述第一候选链路带宽水平的所述给定链路,尝试创建以至少部分基于由所述虚拟区域规范(60、180)指派的所述带宽水平确定的第二候选链路带宽水平的所述给定链路。
18.如权利要求14所述的方法,其中:
所述虚拟区域规范(60、180)指派相应流优先级属性值给一个或多个实时数据流类型中的每个,以及
所述创建包括至少部分基于由所述虚拟区域规范(60、180)分别指派给所述一个或多个实时数据流类型的所述一个或多个流优先级属性值对所述链路中的每个分配相应链路带宽给相应发送集中的一个或多个实时数据流。
19.一种用于在共享虚拟区域的网络节点之间交换实时数据流连接的设备,其中改进包括:
计算机可读存储器(124、128),其可运行成存储虚拟区域规范(60、180),其包括一个或多个交换规则的说明,每个交换规则根据在所述虚拟区域(28)中的位置限定相应实时数据流类型的源(66)和该实时数据流类型的汇(68)之间的相应连接;以及
处理单元(122、136、403、407),其可运行成建立与相应对象(30、32、34)关联的网络节点(52、54、56、64、404)之间的一个或多个实时数据流连接,所述相应对象中的每个与所述实时数据流类型中的一个或多个的源(66)和汇(68)中的至少一个关联,其中所述处理单元(122、136、403、407)基于所述一个或多个交换规则、与所述对象(30、32、34)关联的相应源(66)和汇(68)以及在所述虚拟区域(28)中的对象(30、32、34)的相应位置建立一个或多个实时数据流连接。
20.如权利要求19所述的设备,其中:
所述虚拟区域规范(60、180)包括在所述虚拟区域(28)中的一个或多个分区(36、38、40、44、44)的说明;
所述一个或多个交换规则将其中一个或多个分区(36、38、40、44、44)与以下关联:(i)源于该分区的相应实时数据流类型和(ii)相应实时数据流类型汇入其中的相应一个分区;以及
所述处理单元(122、136、403、407)可运行成查明所述对象(30、32、34)关于所述分区(36、38、40、44、44)中的一个或多个的位置,并且基于所述查明的位置建立所述一个或多个实时数据流连接。
21.如权利要求19所述的设备,其中所述处理单元(122、136、403、407)可运行成:
识别由所述对象(30、32、34)中的给定的一个占用的所有分区(36、38、40、44、44);
确定所述一个或多个交换规则将其与所识别的分区(36、38、40、44、44)关联的实时数据流类型的目标集;
查明对象(30、32、34)中的排除给定对象的包含在如一个或多个交换规则限定的那样的目标集中的实时数据流类型源于其中的并且该目标集中的实时数据流类型汇入其中的分区(36、38、40、44、44)中的一个或多个分区中的对象;
确定实时数据流的可连接集,其中每个是以下至少其中之一:(i)源于与查明的对象(30、32、34)关联的网络节点(52、54、56、64、404)中的一个或多个和(ii)汇入与查明的对象(30、32、34)关联的网络节点(52、54、56、64、404)中的一个或多个;以及
基于与实时数据流的所述可连接集关联的源(66)和汇(68)的匹配确定要求的实时数据流数据的集。
22.如权利要求19所述的设备,其中所述交换规则中的至少一个使相应角色标识符与所述实时数据流类型中的给定的一个关联,并且所述处理单元(122、136、403、407)基于所述角色标识符与分别与所述对象(30、32、34)中的与(i)所述给定实时数据流类型的源(66)和(ii)所述给定实时数据流类型的汇(68)中的至少一个关联的一个或多个对象关联的角色标识符的比较建立所述实时数据流连接中的一个或多个。
23.一种存储计算机可读指令的计算机可读介质,当由计算机执行时使所述计算机执行操作,其包括:
存储虚拟区域规范,其包括一个或多个交换规则的说明,每个交换规则根据在所述虚拟区域中的位置限定相应实时数据流类型的源和该实时数据流类型的汇之间的相应连接;以及
建立与相应对象关联的网络节点之间的一个或多个实时数据流连接,所述相应对象中的每个与所述实时数据流类型中的一个或多个的源和汇中的至少一个关联,其中所述建立基于所述一个或多个交换规则、与所述对象关联的相应源和汇以及在所述虚拟区域中的对象的相应位置。
24.一种用于在共享虚拟区域的网络节点之间交换实时数据流连接的网络交换机,其中所述改进包括:
计算机可读存储器(405),其可运行成存储虚拟区域规范(406),其包括一个或多个交换规则的说明,每个交换规则根据在所述虚拟区域(28)中的位置限定相应实时数据流类型的源(66)和该实时数据流类型的汇(68)之间的相应连接;以及
处理单元(407),其可运行成转发在网络节点(404、52、54、56)之间的实时数据流包,所述节点中的每个与在所述虚拟区域(28)中的相应位置和所述实时数据流类型中的一个或多个中的源(66)和汇(68)中的至少一个关联,其中所述处理单元(407)基于所述网络拓扑信息和所述一个或多个交换规则转发所述一个或多个实时数据流包。
25.如权利要求24所述的网络交换机,其中所述处理单元(407)可运行成确定传递实时数据流数据的规定集到所述网络节点(52、54、56、404)的给定的一个的实时数据流处理拓扑,其中在确定所述实时数据流处理拓扑中,所述处理单元(407)发现所述给定的网络节点和与在所述虚拟区域(28)中的对象(30、32、34)关联的其他网络节点中的一个或多个的带宽能力并且基于所述发现的带宽能力选择所述流处理拓扑。
26.一种构建虚拟区域的方法,其中所述改进包括:
响应于用户输入,在显示监视器(132)中创建所述虚拟区域(100)的模型,其中所述模型包括在所述显示监视器(132)中呈现的所述虚拟区域(100)的几何要素;
响应于用户输入,使一个或多个交换规则与所述虚拟区域(100)的模型关联,其中所述交换规则中的每个根据在所述虚拟区域(100)中的位置限定相应实时数据流类型的源(66)和该实时数据流类型的汇(68)之间的相应连接;
产生描述所述虚拟区域(100)的所述模型和所述一个或多个关联交换规则的虚拟区域规范(60、180);以及
存储所述虚拟区域规范(60、180)在计算机可读存储介质(124、128)中。
CN200880123288.4A 2007-10-24 2008-10-16 在共享虚拟区域通信环境中的自动化实时数据流交换 Expired - Fee Related CN102007730B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/923629 2007-10-24
US11/923,629 US7769806B2 (en) 2007-10-24 2007-10-24 Automated real-time data stream switching in a shared virtual area communication environment
PCT/US2008/080219 WO2009055305A1 (en) 2007-10-24 2008-10-16 Automated real-time data stream switching in a shared virtual area communication environment

Publications (2)

Publication Number Publication Date
CN102007730A true CN102007730A (zh) 2011-04-06
CN102007730B CN102007730B (zh) 2014-09-03

Family

ID=40579933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880123288.4A Expired - Fee Related CN102007730B (zh) 2007-10-24 2008-10-16 在共享虚拟区域通信环境中的自动化实时数据流交换

Country Status (9)

Country Link
US (6) US7769806B2 (zh)
EP (1) EP2208313A4 (zh)
JP (2) JP5200109B2 (zh)
KR (1) KR101511403B1 (zh)
CN (1) CN102007730B (zh)
HK (1) HK1153061A1 (zh)
IL (1) IL205287A0 (zh)
MY (1) MY152413A (zh)
WO (1) WO2009055305A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685783A (zh) * 2012-09-19 2014-03-26 索尼公司 信息处理系统和存储介质
CN106362400A (zh) * 2016-10-12 2017-02-01 大连文森特软件科技有限公司 具有在线编辑功能的vr游戏系统
CN108337910A (zh) * 2015-12-22 2018-07-27 英特尔公司 用于软件定义的互连交换机的架构
CN116208433A (zh) * 2021-11-30 2023-06-02 富联精密电子(天津)有限公司 虚拟会议室的音频处理方法、装置及存储介质
TWI807504B (zh) * 2021-11-30 2023-07-01 新加坡商鴻運科股份有限公司 虛擬會議室之音訊處理方法、裝置及存儲介質

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101496387B (zh) 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
US8570859B1 (en) * 2006-07-21 2013-10-29 Sprint Spectrum L.P. Hybrid mesh network
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US9357025B2 (en) * 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US11876707B2 (en) * 2007-10-24 2024-01-16 Sococo, Inc. Routing virtual area based communications
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US9009603B2 (en) * 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
US8397168B2 (en) * 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US8191001B2 (en) 2008-04-05 2012-05-29 Social Communications Company Shared virtual area communication environment based apparatus and methods
US20130073707A1 (en) * 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8804627B2 (en) * 2007-12-19 2014-08-12 Qualcomm Incorporated Method and apparatus for improving performance of erasure sequence detection
US8584024B2 (en) * 2008-02-01 2013-11-12 International Business Machines Corporation Avatar cloning in a virtual world
US8797377B2 (en) 2008-02-14 2014-08-05 Cisco Technology, Inc. Method and system for videoconference configuration
US20090234948A1 (en) * 2008-03-11 2009-09-17 Garbow Zachary A Using Multiple Servers to Divide a Virtual World
US9514444B2 (en) 2009-01-15 2016-12-06 Sococo, Inc. Encapsulating virtual area based communicant assemblies
US20090265642A1 (en) * 2008-04-18 2009-10-22 Fuji Xerox Co., Ltd. System and method for automatically controlling avatar actions using mobile sensors
US10037565B2 (en) * 2008-07-24 2018-07-31 International Business Machines Corporation System and method for prioritization of rendering policies in virtual environments
TW201008249A (en) * 2008-08-11 2010-02-16 Acer Inc Processing apparatus and processing methods for image quality
US8694658B2 (en) 2008-09-19 2014-04-08 Cisco Technology, Inc. System and method for enabling communication sessions in a network environment
US20110196964A1 (en) * 2008-10-14 2011-08-11 Srikanth Natarajan Managing event traffic in a network system
US9015599B2 (en) * 2008-10-16 2015-04-21 At&T Intellectual Property I, L.P. Devices, methods and computer-readable media for providing control of switching between media presentation screens
US8156054B2 (en) 2008-12-04 2012-04-10 At&T Intellectual Property I, L.P. Systems and methods for managing interactions between an individual and an entity
KR101490548B1 (ko) 2008-12-05 2015-02-05 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
US9065874B2 (en) 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
US20130283166A1 (en) 2012-04-24 2013-10-24 Social Communications Company Voice-based virtual area navigation
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US9319357B2 (en) 2009-01-15 2016-04-19 Social Communications Company Context based virtual area creation
US10356136B2 (en) 2012-10-19 2019-07-16 Sococo, Inc. Bridging physical and virtual spaces
US9069851B2 (en) 2009-01-15 2015-06-30 Social Communications Company Client application integrating web browsing and network data stream processing for realtime communications
WO2010087797A1 (en) * 2009-01-30 2010-08-05 Hewlett-Packard Development Company, L.P. Methods and systems for establishing collaborative communications between devices using ambient audio
US8659637B2 (en) 2009-03-09 2014-02-25 Cisco Technology, Inc. System and method for providing three dimensional video conferencing in a network environment
US10482428B2 (en) * 2009-03-10 2019-11-19 Samsung Electronics Co., Ltd. Systems and methods for presenting metaphors
US9489039B2 (en) 2009-03-27 2016-11-08 At&T Intellectual Property I, L.P. Systems and methods for presenting intermediaries
US8659639B2 (en) 2009-05-29 2014-02-25 Cisco Technology, Inc. System and method for extending communications between participants in a conferencing environment
US8386930B2 (en) * 2009-06-05 2013-02-26 International Business Machines Corporation Contextual data center management utilizing a virtual environment
EA201290026A1 (ru) * 2009-06-25 2012-07-30 Астразенека Аб Способ лечения пациента, имеющего риск развития язвы, связанной с приемом нестероидных противовоспалительных средств (nsaid)
US8615713B2 (en) * 2009-06-26 2013-12-24 Xerox Corporation Managing document interactions in collaborative document environments of virtual worlds
US9082297B2 (en) 2009-08-11 2015-07-14 Cisco Technology, Inc. System and method for verifying parameters in an audiovisual environment
US8402098B2 (en) * 2009-08-13 2013-03-19 Clark C. Dircz System and method for intelligence gathering and analysis
US8271905B2 (en) * 2009-09-15 2012-09-18 International Business Machines Corporation Information presentation in virtual 3D
JP5393380B2 (ja) * 2009-09-29 2014-01-22 沖電気工業株式会社 信号処理装置及びプログラム、並びに、通信システム
US8655964B2 (en) 2009-12-14 2014-02-18 At&T Intellectual Property I, Lp Unified location and presence, communication across real and virtual worlds
US8463918B2 (en) * 2010-01-22 2013-06-11 Microsoft Corporation Loss tolerant protocol for remoting desktop graphics
US9137338B2 (en) 2010-01-22 2015-09-15 Microsoft Technology Licensing, Llc Multi-link remote protocol
US8782237B2 (en) 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US20110209183A1 (en) * 2010-02-25 2011-08-25 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data based on audio/video interface
US9225916B2 (en) 2010-03-18 2015-12-29 Cisco Technology, Inc. System and method for enhancing video images in a conferencing environment
US9313452B2 (en) 2010-05-17 2016-04-12 Cisco Technology, Inc. System and method for providing retracting optics in a video conferencing environment
EP3425954B1 (en) * 2010-06-18 2024-04-03 LG Electronics Inc. Method for transmitting buffer status report from terminal to base station in a wireless communication system and apparatuses therefor
US20120016926A1 (en) * 2010-07-15 2012-01-19 Vivox Inc. Scalable techniques for providing real-time per-avatar streaming data in virtual reality systems that employ per-avatar rendered environments
WO2012021173A2 (en) 2010-08-12 2012-02-16 Net Power And Light Inc. System architecture and methods for experiential computing
US9172979B2 (en) 2010-08-12 2015-10-27 Net Power And Light, Inc. Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences
WO2012021902A2 (en) 2010-08-13 2012-02-16 Net Power And Light Inc. Methods and systems for interaction through gestures
US8639809B2 (en) * 2010-08-20 2014-01-28 International Business Machines Corporation Predictive removal of runtime data using attribute characterizing
US20120050456A1 (en) * 2010-08-27 2012-03-01 Cisco Technology, Inc. System and method for producing a performance via video conferencing in a network environment
US20120060101A1 (en) * 2010-08-30 2012-03-08 Net Power And Light, Inc. Method and system for an interactive event experience
US8896655B2 (en) 2010-08-31 2014-11-25 Cisco Technology, Inc. System and method for providing depth adaptive video conferencing
US8599934B2 (en) 2010-09-08 2013-12-03 Cisco Technology, Inc. System and method for skip coding during video conferencing in a network environment
WO2012034044A2 (en) * 2010-09-11 2012-03-15 Social Communications Company Relationship based presence indicating in virtual area contexts
US8949717B2 (en) * 2010-10-18 2015-02-03 Yehonatan Rafael Maor Method of controlling avatars
EP2630630A2 (en) 2010-10-21 2013-08-28 Net Power And Light, Inc. System architecture and method for composing and directing participant experiences
US8599865B2 (en) 2010-10-26 2013-12-03 Cisco Technology, Inc. System and method for provisioning flows in a mobile network environment
US8699457B2 (en) 2010-11-03 2014-04-15 Cisco Technology, Inc. System and method for managing flows in a mobile network environment
US9338394B2 (en) 2010-11-15 2016-05-10 Cisco Technology, Inc. System and method for providing enhanced audio in a video environment
US9143725B2 (en) 2010-11-15 2015-09-22 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8902244B2 (en) 2010-11-15 2014-12-02 Cisco Technology, Inc. System and method for providing enhanced graphics in a video environment
US8730297B2 (en) 2010-11-15 2014-05-20 Cisco Technology, Inc. System and method for providing camera functions in a video environment
US8542264B2 (en) 2010-11-18 2013-09-24 Cisco Technology, Inc. System and method for managing optics in a video environment
US8723914B2 (en) 2010-11-19 2014-05-13 Cisco Technology, Inc. System and method for providing enhanced video processing in a network environment
US9111138B2 (en) 2010-11-30 2015-08-18 Cisco Technology, Inc. System and method for gesture interface control
US9276972B2 (en) * 2010-12-14 2016-03-01 Microsoft Technology Licensing, Llc Real-time media optimization over remoted sessions
US8692862B2 (en) 2011-02-28 2014-04-08 Cisco Technology, Inc. System and method for selection of video data in a video conference environment
WO2012135231A2 (en) * 2011-04-01 2012-10-04 Social Communications Company Creating virtual areas for realtime communications
US8670019B2 (en) 2011-04-28 2014-03-11 Cisco Technology, Inc. System and method for providing enhanced eye gaze in a video conferencing environment
US8786631B1 (en) 2011-04-30 2014-07-22 Cisco Technology, Inc. System and method for transferring transparency information in a video environment
US8934026B2 (en) 2011-05-12 2015-01-13 Cisco Technology, Inc. System and method for video coding in a dynamic environment
US8863222B2 (en) * 2011-05-23 2014-10-14 Broadcom Corporation Multiplexing, synchronizing, and assembling multiple audio/video (A/V) streams in a media gateway
US8793215B2 (en) 2011-06-04 2014-07-29 Recommind, Inc. Systems and methods for publishing datasets
TWI533198B (zh) * 2011-07-22 2016-05-11 社交通訊公司 於虛擬區域及實體空間之間通訊的技術
WO2013026048A2 (en) 2011-08-18 2013-02-21 Utherverse Digital, Inc. Systems and methods of virtual world interaction
US8947493B2 (en) 2011-11-16 2015-02-03 Cisco Technology, Inc. System and method for alerting a participant in a video conference
WO2013078062A1 (en) * 2011-11-23 2013-05-30 Social Communications Company Creating and managing virtual areas
US8682087B2 (en) 2011-12-19 2014-03-25 Cisco Technology, Inc. System and method for depth-guided image filtering in a video conference environment
WO2013119802A1 (en) * 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
US8924939B2 (en) * 2012-05-09 2014-12-30 International Business Machines Corporation Streams debugging within a windowing condition
WO2013181026A1 (en) 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
US9816370B2 (en) * 2012-09-19 2017-11-14 Honeywell International Inc. System and method for optimizing an operation of a sensor used with wellbore equipment
US9419866B2 (en) * 2012-11-01 2016-08-16 Huawei Technologies Co., Ltd. Method, node, and monitoring center detecting network fault
US20180225885A1 (en) * 2013-10-01 2018-08-09 Aaron Scott Dishno Zone-based three-dimensional (3d) browsing
US9940404B2 (en) * 2013-10-01 2018-04-10 Aaron Scott Dishno Three-dimensional (3D) browsing
WO2015052479A1 (en) * 2013-10-08 2015-04-16 Arkessa Limited Internet of things
US9660836B2 (en) 2014-05-06 2017-05-23 Lattice Semiconductor Corporation Network topology discovery
US9584344B2 (en) 2014-05-09 2017-02-28 Lattice Semiconductor Corporation Stream creation with limited topology information
TWI578243B (zh) * 2015-09-21 2017-04-11 Yun Qi Management Method of Digital Assets Share and Expected Transfer
CN105721469B (zh) * 2016-02-18 2019-09-20 腾讯科技(深圳)有限公司 音频数据处理方法、服务器、客户端以及系统
US10530818B2 (en) * 2016-03-30 2020-01-07 Sony Interactive Entertainment Inc. Server-based sound mixing for multiuser voice chat system
USD852813S1 (en) * 2017-03-01 2019-07-02 Sylvan Grenfell Rudduck Display screen with a graphical user interface
CN108573519B (zh) 2017-03-14 2022-02-11 阿里巴巴集团控股有限公司 三维图形文件生成和在客户端展示三维图形的方法及装置
CN107480246B (zh) * 2017-08-10 2021-03-12 北京中航安通科技有限公司 一种关联人员的识别方法及装置
US10582159B2 (en) 2017-11-06 2020-03-03 Blue Jeans Network, Inc. System and methods for aggregated meeting joining for video conferences with built in resilience to allow for a common meeting experience
US10922438B2 (en) 2018-03-22 2021-02-16 Bank Of America Corporation System for authentication of real-time video data via dynamic scene changing
US11362889B2 (en) * 2018-10-15 2022-06-14 Cdw Llc System and method for automated information technology services management
US11855834B2 (en) 2020-06-02 2023-12-26 Apple Inc. Traffic sink interface
US11838336B2 (en) * 2020-08-27 2023-12-05 Varty Inc. Virtual events-based social network
US11302085B2 (en) 2020-09-15 2022-04-12 Facebook Technologies, Llc Artificial reality collaborative working environments
US11854230B2 (en) 2020-12-01 2023-12-26 Meta Platforms Technologies, Llc Physical keyboard tracking
CN114095557B (zh) * 2022-01-21 2022-04-12 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
US20240031530A1 (en) * 2022-07-20 2024-01-25 Katmai Tech Inc. Using zones in a three-dimensional virtual environment for limiting audio and video

Family Cites Families (396)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414801A (en) * 1991-06-11 1995-05-09 Virtus Corporation Computerized method and apparatus using containment relationships to represent objects in a three-dimensional space, and for moving therethrough
US5745711A (en) 1991-10-23 1998-04-28 Hitachi, Ltd. Display control method and apparatus for an electronic conference
US6608636B1 (en) 1992-05-13 2003-08-19 Ncr Corporation Server based virtual conferencing
US5675746A (en) 1992-09-30 1997-10-07 Marshall; Paul S. Virtual reality generator for use with financial information
US5471318A (en) * 1993-04-22 1995-11-28 At&T Corp. Multimedia communications network
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
US5491743A (en) 1994-05-24 1996-02-13 International Business Machines Corporation Virtual conference system and terminal apparatus therefor
US5627978A (en) * 1994-12-16 1997-05-06 Lucent Technologies Inc. Graphical user interface for multimedia call set-up and call handling in a virtual conference on a desktop computer conferencing system
US5874960A (en) 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
CA2180891C (en) 1995-07-12 2010-01-12 Junichi Rekimoto Notification of updates in a three-dimensional virtual reality space sharing system
US5737533A (en) 1995-10-26 1998-04-07 Wegener Internet Projects Bv System for generating a virtual reality scene in response to a database search
US6219045B1 (en) 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5880731A (en) * 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US5960173A (en) 1995-12-22 1999-09-28 Sun Microsystems, Inc. System and method enabling awareness of others working on similar tasks in a computer work environment
US5793365A (en) 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US5889843A (en) * 1996-03-04 1999-03-30 Interval Research Corporation Methods and systems for creating a spatial auditory environment in an audio conference system
EP0795991A1 (en) * 1996-03-11 1997-09-17 Hewlett-Packard Company Communications system
FI102867B1 (fi) 1996-03-20 1999-02-26 Helsingin Puhelin Oyj Menetelmä ja laitteisto virtuaalitodellisuuden ja reaalimaailman kytkemiseksi toisiinsa reaaliaikaisen tietoliikenneyhteyden, kuten esimerkiksi puhelinyhteyden muodostamiseksi
US6323857B1 (en) * 1996-04-19 2001-11-27 U.S. Philips Corporation Method and system enabling users to interact, via mutually coupled terminals, by reference to a virtual space
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
JP3685877B2 (ja) 1996-07-19 2005-08-24 富士通株式会社 通信装置
US6570587B1 (en) 1996-07-26 2003-05-27 Veon Ltd. System and method and linking information to a video
JP3139615B2 (ja) * 1996-08-08 2001-03-05 日本電信電話株式会社 3次元仮想空間音通信方法とその装置
US6275490B1 (en) * 1996-08-21 2001-08-14 Netspeak Corporation Method and apparatus for establishing communications from browser application
US6421047B1 (en) * 1996-09-09 2002-07-16 De Groot Marc Multi-user virtual reality system for simulating a three-dimensional environment
US6862625B1 (en) 1996-09-27 2005-03-01 Avaya Technology Corp. Method and apparatus for real time network communication
US5764916A (en) * 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US6057856A (en) 1996-09-30 2000-05-02 Sony Corporation 3D virtual reality multi-user interaction with superimposed positional information display for each user
US5926179A (en) 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US5890172A (en) 1996-10-08 1999-03-30 Tenretni Dynamics, Inc. Method and apparatus for retrieving data from a network using location identifiers
US6785708B1 (en) * 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US7263526B1 (en) * 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
US5982372A (en) 1996-11-14 1999-11-09 International Business Machines Corp. Visual metaphor for shortcut navigation in a virtual world
US7145898B1 (en) 1996-11-18 2006-12-05 Mci Communications Corporation System, method and article of manufacture for selecting a gateway of a hybrid communication system architecture
US6335927B1 (en) 1996-11-18 2002-01-01 Mci Communications Corporation System and method for providing requested quality of service in a hybrid network
US6119166A (en) * 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
US7379961B2 (en) 1997-04-30 2008-05-27 Computer Associates Think, Inc. Spatialized audio in a three-dimensional computer-based scene
US6014145A (en) * 1997-07-07 2000-01-11 International Business Machines Corporation Navagation with optimum viewpoints in three-dimensional workspace interactive displays having three-dimensional objects with collision barriers
JP3753207B2 (ja) 1997-08-11 2006-03-08 富士ゼロックス株式会社 共同作業支援システムおよび共同作業支援方法
US6567980B1 (en) 1997-08-14 2003-05-20 Virage, Inc. Video cataloger system with hyperlinked output
US5862625A (en) * 1997-09-25 1999-01-26 Parker; Barbara A. Expandable-portable trellis systems with hydro application
US6005578A (en) 1997-09-25 1999-12-21 Mindsphere, Inc. Method and apparatus for visual navigation of information objects
GB9721667D0 (en) 1997-10-14 1997-12-10 Philips Electronics Nv Virtual environment navigation aid
GB9722343D0 (en) 1997-10-22 1997-12-17 British Telecomm Distributed virtual environment
JPH11177628A (ja) * 1997-12-15 1999-07-02 Mitsubishi Electric Corp 広域環境用3次元仮想空間共有システム
JP3855430B2 (ja) 1998-01-23 2006-12-13 ソニー株式会社 情報処理装置および方法、情報処理システム、並びに記録媒体
US6833863B1 (en) 1998-02-06 2004-12-21 Intel Corporation Method and apparatus for still image capture during video streaming operations of a tethered digital camera
US6396509B1 (en) 1998-02-21 2002-05-28 Koninklijke Philips Electronics N.V. Attention-based interaction in a virtual environment
US6275493B1 (en) * 1998-04-02 2001-08-14 Nortel Networks Limited Method and apparatus for caching switched virtual circuits in an ATM network
US6426778B1 (en) 1998-04-03 2002-07-30 Avid Technology, Inc. System and method for providing interactive components in motion video
US6380952B1 (en) 1998-04-07 2002-04-30 International Business Machines Corporation System for continuous display and navigation in a virtual-reality world
EP0950956A1 (en) 1998-04-17 1999-10-20 BRITISH TELECOMMUNICATIONS public limited company Computer network
US6362817B1 (en) * 1998-05-18 2002-03-26 In3D Corporation System for creating and viewing 3D environments using symbolic descriptors
US5999206A (en) 1998-05-22 1999-12-07 Futaba Denshi Kogyo Kabushiki Kaisha Device for expanding light-amount correction dynamic range
US5999208A (en) * 1998-07-15 1999-12-07 Lucent Technologies Inc. System for implementing multiple simultaneous meetings in a virtual reality mixed media meeting room
US6119147A (en) * 1998-07-28 2000-09-12 Fuji Xerox Co., Ltd. Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space
US6731314B1 (en) 1998-08-17 2004-05-04 Muse Corporation Network-based three-dimensional multiple-user shared environment apparatus and method
JP2000076487A (ja) 1998-09-03 2000-03-14 Sony Corp 情報処理装置および方法、並びに提供媒体
US8332478B2 (en) 1998-10-01 2012-12-11 Digimarc Corporation Context sensitive connected content
JP3826604B2 (ja) 1998-10-16 2006-09-27 富士ゼロックス株式会社 プレゼンテーション資料のシナリオ生成装置およびシナリオ生成方法
US6389458B2 (en) 1998-10-30 2002-05-14 Ideaflood, Inc. Method, apparatus and system for directing access to content on a computer network
WO2005015880A1 (en) 1998-12-29 2005-02-17 Tpresence, Inc. Computer network architecture for persistent, distributed virtual environments
US6370565B1 (en) * 1999-03-01 2002-04-09 Sony Corporation Of Japan Method of sharing computation load within a distributed virtual environment system
US7168048B1 (en) 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US7007235B1 (en) 1999-04-02 2006-02-28 Massachusetts Institute Of Technology Collaborative agent interaction control and synchronization system
US6388688B1 (en) 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
GB2349055B (en) * 1999-04-16 2004-03-24 Mitel Corp Virtual meeting rooms with spatial audio
US6763371B1 (en) * 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US7006616B1 (en) 1999-05-21 2006-02-28 Terayon Communication Systems, Inc. Teleconferencing bridge with EdgePoint mixing
US7222309B2 (en) 1999-06-02 2007-05-22 Earthlink, Inc. System and method of a web browser with integrated features and controls
US7308080B1 (en) 1999-07-06 2007-12-11 Nippon Telegraph And Telephone Corporation Voice communications method, voice communications system and recording medium therefor
US6292188B1 (en) 1999-07-28 2001-09-18 Alltrue Networks, Inc. System and method for navigating in a digital information environment
KR19990078775A (ko) 1999-08-06 1999-11-05 신유진 3차원 가상 현실 공간에서의 전자 상거래 시스템 및 그 방법
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6480191B1 (en) 1999-09-28 2002-11-12 Ricoh Co., Ltd. Method and apparatus for recording and playback of multidimensional walkthrough narratives
US6772195B1 (en) 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
JP2001195491A (ja) 1999-11-02 2001-07-19 Matsushita Electric Works Ltd 住空間関連商品の販売支援方法と課金方法及びそのためのシステムと記録媒体
US7581191B2 (en) 1999-11-15 2009-08-25 Xenogen Corporation Graphical user interface for 3-D in-vivo imaging
JP2001154966A (ja) * 1999-11-29 2001-06-08 Sony Corp コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体
US7028267B1 (en) * 1999-12-07 2006-04-11 Microsoft Corporation Method and apparatus for capturing and rendering text annotations for non-modifiable electronic content
US6708172B1 (en) 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
US20060184886A1 (en) * 1999-12-22 2006-08-17 Urbanpixel Inc. Spatial chat in a multiple browser environment
US6721741B1 (en) 2000-01-24 2004-04-13 Friskit, Inc. Streaming media search system
KR100694028B1 (ko) 2000-01-25 2007-03-12 삼성전자주식회사 멀티미디어 파일 작성용 저작장치 및 방법
US7689696B2 (en) * 2000-01-31 2010-03-30 Telecommunication Systems, Inc. System and method for re-directing requests from browsers for communications over non-IP based networks
US6559863B1 (en) 2000-02-11 2003-05-06 International Business Machines Corporation System and methodology for video conferencing and internet chatting in a cocktail party style
US20010034740A1 (en) 2000-02-14 2001-10-25 Andruid Kerne Weighted interactive grid presentation system and method for streaming a multimedia collage
US7240093B1 (en) 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
US6396837B1 (en) * 2000-03-03 2002-05-28 3Com Corporation Method and system for mapping virtual connections to asymmetric digital subscriber line latency paths
KR100369640B1 (ko) 2000-03-03 2003-01-29 신유진 3차원 가상 현실 공간에서의 박람회 개최 시스템 및 그방법
US7111060B2 (en) * 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
US7392306B1 (en) 2000-04-07 2008-06-24 Aol Llc Instant messaging client having an embedded browser
JP3345600B2 (ja) 2000-04-10 2002-11-18 コナミ株式会社 ゲームシステムおよびコンピュータ読取可能な記憶媒体
US6728356B1 (en) * 2000-04-14 2004-04-27 Lucent Technologies Inc. Method and apparatus for providing telephony services by switch-based processing of media streams
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US7124164B1 (en) 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
JP4325075B2 (ja) 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
KR100382854B1 (ko) 2000-05-04 2003-05-09 주식회사 쿼터뷰 아바타행위 기록/재생을 이용한 메시지전달 시스템 및 방법
US6784901B1 (en) 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
US20060067500A1 (en) 2000-05-15 2006-03-30 Christofferson Frank C Teleconferencing bridge with edgepoint mixing
IL136408A0 (en) 2000-05-28 2001-06-14 Kaufman Yosef A jigsaw puzzle system
US20010037367A1 (en) * 2000-06-14 2001-11-01 Iyer Sridhar V. System and method for sharing information via a virtual shared area in a communication network
US6714222B1 (en) 2000-06-21 2004-03-30 E2 Home Ab Graphical user interface for communications
JP3633888B2 (ja) 2000-07-28 2005-03-30 株式会社ソニー・コンピュータエンタテインメント 情報提供システム、方法及びコンピュータプログラム
JP4657631B2 (ja) 2000-07-28 2011-03-23 株式会社ソニー・コンピュータエンタテインメント 情報提供システム、方法及びコンピュータプログラム
CA2354717A1 (en) 2000-08-01 2002-02-01 Chris Roebuck A method of distributing a product, providing incentives to a consumer, and collecting data on the activities of a consumer
US7054508B2 (en) 2000-08-03 2006-05-30 Canon Kabushiki Kaisha Data editing apparatus and method
JP2002149580A (ja) 2000-11-15 2002-05-24 Canon Inc サーバ装置、ユーザ端末装置、仮想空間システム、ユーザ情報配信方法、ユーザ情報表示方法、ユーザ情報配信表示方法、及び記憶媒体
US20030182001A1 (en) 2000-08-25 2003-09-25 Milena Radenkovic Audio data processing
KR20020017558A (ko) * 2000-08-31 2002-03-07 김종민 가상 공간 상에서의 북마킹 시스템 및 방법
JP2002083320A (ja) 2000-09-07 2002-03-22 Sony Corp 仮想会話支援システム及び仮想会話支援、並びに記憶媒体
US7036082B1 (en) * 2000-09-21 2006-04-25 Nortel Networks Limited Controlling communications through a virtual reality environment
US7203741B2 (en) 2000-10-12 2007-04-10 Peerapp Ltd. Method and system for accelerating receipt of data in a client-to-client network
JP2002123478A (ja) 2000-10-17 2002-04-26 Isao:Kk チャットシステム、チャット情報処理装置、チャット情報処理方法、および、記録媒体
GB2368223B (en) 2000-10-17 2004-01-07 Hewlett Packard Co Associating parties with communication sessions
JP2002123479A (ja) 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US20020083193A1 (en) 2000-11-03 2002-06-27 Henry Terefenko Parallel network data transmission
US7149743B2 (en) 2000-11-17 2006-12-12 Heck.Com, Llc Virtual directory
US20030177187A1 (en) 2000-11-27 2003-09-18 Butterfly.Net. Inc. Computing grid for massively multi-player online games and other multi-user immersive persistent-state and session-based applications
US20020116458A1 (en) 2000-12-14 2002-08-22 Jonathan Bricklin Web-based dating service
US20020075305A1 (en) * 2000-12-18 2002-06-20 Beaton Brian F. Graphical user interface for a virtual team environment
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP2002224447A (ja) 2001-01-31 2002-08-13 Square Co Ltd ビデオゲーム装置およびその制御方法、ならびにビデオゲームのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体。
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
US7076503B2 (en) 2001-03-09 2006-07-11 Microsoft Corporation Managing media objects in a database
US20080059571A1 (en) * 2001-03-14 2008-03-06 Khoo Soon H Displaying Advertising Messages in the Unused Portion and During a Context Switch Period of a Web Browser Display Interface
US20020165922A1 (en) 2001-04-13 2002-11-07 Songxiang Wei Application based screen sampling
US20020178072A1 (en) 2001-05-24 2002-11-28 International Business Machines Corporation Online shopping mall virtual association
US20020188959A1 (en) 2001-06-12 2002-12-12 Koninklijke Philips Electronics N.V. Parallel and synchronized display of augmented multimedia information
US20030002634A1 (en) 2001-06-29 2003-01-02 Virad Gupta Event notification in a unified message system using an event notification server
US7133900B1 (en) 2001-07-06 2006-11-07 Yahoo! Inc. Sharing and implementing instant messaging environments
US7203753B2 (en) * 2001-07-31 2007-04-10 Sun Microsystems, Inc. Propagating and updating trust relationships in distributed peer-to-peer networks
CA2456858A1 (en) 2001-08-09 2003-02-20 Information Decision Technologies Llc Augmented reality-based firefighter training system and method
US20030043200A1 (en) 2001-08-09 2003-03-06 Urbanpixel Inc Interactive multi-level mapping in a multiple browser environment
JP2003058482A (ja) 2001-08-14 2003-02-28 Fujitsu Ltd エリアチャットルーム提供方法,端末側エリアチャット処理方法,エリアチャットルーム提供処理プログラム記録媒体,エリアチャットルーム提供装置
JP2003067317A (ja) * 2001-08-30 2003-03-07 Fuji Xerox Co Ltd メッセージ交換方法、コンピュータ、管理装置、記録媒体
US7660875B2 (en) 2001-08-31 2010-02-09 Sony Corporation Bidirectional remote communication via browser plug-in
US20030065558A1 (en) 2001-09-12 2003-04-03 Cameron Shaw Method and apparatus for multi-vendor powered business portal with intelligent service promotion and user profile gathering
US7284201B2 (en) * 2001-09-20 2007-10-16 Koninklijke Philips Electronics N.V. User attention-based adaptation of quality level to improve the management of real-time multi-media content delivery and distribution
US20030077561A1 (en) 2001-10-18 2003-04-24 Abraham Alsop Web server for printable whiteboards
US7415502B2 (en) 2001-11-16 2008-08-19 Sbc Technology Resources, Inc. Method and system for intelligent routing based on presence detection
US7673246B2 (en) 2001-12-12 2010-03-02 Canon Kabushiki Kaisha Image information processing apparatus and method, virtual space presentation apparatus, information administration apparatus, and control methods thereof
US7644144B1 (en) * 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
KR100453225B1 (ko) 2001-12-26 2004-10-15 한국전자통신연구원 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법
WO2003058518A2 (en) 2002-01-07 2003-07-17 Stephen James Crampton Method and apparatus for an avatar user interface system
AUPR989802A0 (en) 2002-01-09 2002-01-31 Lake Technology Limited Interactive spatialized audiovisual system
US7058896B2 (en) 2002-01-16 2006-06-06 Silicon Graphics, Inc. System, method and computer program product for intuitive interactive navigation control in virtual environments
JP3829722B2 (ja) 2002-01-23 2006-10-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7051049B2 (en) * 2002-02-21 2006-05-23 International Business Machines Corporation Real-time chat and conference contact information manager
US7689667B2 (en) 2002-02-21 2010-03-30 International Business Machines Corporation Protocol to fix broken links on the world wide web
US7336779B2 (en) * 2002-03-15 2008-02-26 Avaya Technology Corp. Topical dynamic chat
US20030177019A1 (en) 2002-03-18 2003-09-18 Santos Richard A. System and method for visual representation of an electroni community
US20040128350A1 (en) * 2002-03-25 2004-07-01 Lou Topfl Methods and systems for real-time virtual conferencing
US7263660B2 (en) 2002-03-29 2007-08-28 Microsoft Corporation System and method for producing a video skim
US7418664B2 (en) 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7062712B2 (en) 2002-04-09 2006-06-13 Fuji Xerox Co., Ltd. Binding interactive multichannel digital document system
US7483945B2 (en) 2002-04-19 2009-01-27 Akamai Technologies, Inc. Method of, and system for, webcasting with just-in-time resource provisioning, automated telephone signal acquisition and streaming, and fully-automated event archival
US7036089B2 (en) 2002-04-23 2006-04-25 Hewlett-Packard Development Company, L.P. Distribution of application windows in a computing device display
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US7016978B2 (en) * 2002-04-29 2006-03-21 Bellsouth Intellectual Property Corporation Instant messaging architecture and system for interoperability and presence management
US6976846B2 (en) 2002-05-08 2005-12-20 Accenture Global Services Gmbh Telecommunications virtual simulator
US7640300B2 (en) 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
GB2391420A (en) * 2002-07-25 2004-02-04 Samsung Electronics Co Ltd Method for serving audio and image communication in web browser using session initiation protocol
KR20040011825A (ko) 2002-07-30 2004-02-11 김동현 인터넷 망을 기반으로 한 가상백화점 관리 시스템 및 그관리 방법
US7802008B2 (en) * 2002-08-12 2010-09-21 Matsushita Electric Industrial Co., Ltd. Quality of service management in network gateways
US20040210634A1 (en) 2002-08-23 2004-10-21 Miguel Ferrer Method enabling a plurality of computer users to communicate via a set of interconnected terminals
US7035942B2 (en) 2002-09-17 2006-04-25 Bellsouth Intellectual Property Corp. Server-based message protocol translation
US7844662B2 (en) 2002-10-17 2010-11-30 At&T Intellectual Property Ii, L.P. Merging instant messaging (IM) chat sessions
US7434167B2 (en) 2002-09-30 2008-10-07 Microsoft Corporation Accessibility system and method
US6724416B1 (en) 2002-10-01 2004-04-20 Jianxin Liu Image transceiving telephone with integrated digital camera
JP2004135051A (ja) 2002-10-10 2004-04-30 Sony Corp 情報処理システム、サービス提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
AU2003260923A1 (en) * 2002-10-21 2004-05-04 Koninklijke Philips Electronics N.V. Method of and system for presenting media content to a user or group of users
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
WO2004045154A1 (en) 2002-11-13 2004-05-27 Intel Corporation Multi-modal web interaction over wireless network
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US7386799B1 (en) * 2002-11-21 2008-06-10 Forterra Systems, Inc. Cinematic techniques in avatar-centric communication during a multi-user online simulation
US7298834B1 (en) 2002-11-22 2007-11-20 3Com Corporation System and method for large capacity conference calls
US7676542B2 (en) 2002-12-02 2010-03-09 Sap Ag Establishing a collaboration environment
US7474741B2 (en) * 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
US20040158610A1 (en) * 2003-02-10 2004-08-12 Davis Joel A. Client proxying for instant messaging
US20040179039A1 (en) 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate
JP2004272579A (ja) 2003-03-07 2004-09-30 Toshiba Corp オンラインサービス提供システム、コミュニケーション管理装置とそのプログラム、ならびにコミュニケーション管理方法
US7200675B2 (en) 2003-03-13 2007-04-03 Microsoft Corporation Summary-based routing for content-based event distribution networks
EP2357623A1 (en) 2003-04-25 2011-08-17 Apple Inc. Graphical user interface for browsing, searching and presenting media items
CN1997980B (zh) 2003-05-16 2011-07-06 谷歌公司 网络化聊天和媒体共享系统和方法
US8347313B2 (en) * 2003-05-21 2013-01-01 Resilient Networks, Inc. Method and apparatus for automating organization of processes
JP4331203B2 (ja) * 2003-06-04 2009-09-16 株式会社ソニー・コンピュータエンタテインメント ピアツーピアネットワークのためのコンテンツ分散型オーバーレイネットワーク
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7467356B2 (en) 2003-07-25 2008-12-16 Three-B International Limited Graphical user interface for 3d virtual display browser using virtual display windows
EP1668841B1 (en) 2003-09-16 2008-11-26 Research In Motion Limited A method for creating a peer-to-peer immediate messaging solution without using an instant messaging server
US7503006B2 (en) 2003-09-25 2009-03-10 Microsoft Corporation Visual indication of current voice speaker
US7813488B2 (en) 2003-09-29 2010-10-12 Siemens Enterprise Communications, Inc. System and method for providing information regarding an identity's media availability
US20050080866A1 (en) * 2003-10-14 2005-04-14 Kent Larry G. Selectively displaying time indications for instant messaging (IM) messages
US8528003B2 (en) * 2003-10-27 2013-09-03 Yahoo! Inc. Communication among browser windows
US7975035B2 (en) 2003-12-01 2011-07-05 International Business Machines Corporation Method and apparatus to support application and network awareness of collaborative applications using multi-attribute clustering
ITPI20030101A1 (it) 2003-12-05 2005-06-06 Cdc Srl Metodo ed apparato per la gestione della globalita'
US7305438B2 (en) 2003-12-09 2007-12-04 International Business Machines Corporation Method and system for voice on demand private message chat
WO2005059699A2 (en) 2003-12-15 2005-06-30 Quantum Matrix Holdings, Llc System and method for multi-dimensional organization, management, and manipulation of data
US7734691B2 (en) * 2003-12-18 2010-06-08 International Business Machines Corporation Providing collaboration services to a wireless device
JP2005182331A (ja) 2003-12-18 2005-07-07 Sony Corp 情報処理システム、サービス提供装置および方法、情報処理装置および方法、並びに、プログラムおよび記録媒体
US7707503B2 (en) 2003-12-22 2010-04-27 Palo Alto Research Center Incorporated Methods and systems for supporting presentation tools using zoomable user interface
US7852997B2 (en) * 2004-01-28 2010-12-14 Managed Inventions, Llc Internet telephony communications adapter for web browsers
US7843959B2 (en) 2004-01-30 2010-11-30 Telefonaktiebolaget Lm Ericsson Prioritising data elements of a data stream
US7478402B2 (en) 2004-02-12 2009-01-13 Microsoft Corporation Configurable message pipelines
US7985138B2 (en) 2004-02-17 2011-07-26 International Business Machines Corporation SIP based VoIP multiplayer network games
US7800614B2 (en) 2004-02-17 2010-09-21 Oracle America, Inc. Efficient communication in a client-server scene graph system
KR100566263B1 (ko) 2004-03-26 2006-03-29 삼성전자주식회사 스케쥴 내용에 따라 메신저 상태 정보를 변경하는 메신저서비스 제공 시스템 및 방법
JP2005286749A (ja) 2004-03-30 2005-10-13 Matsushita Electric Ind Co Ltd 映像復号化装置およびそれを用いた映像伝送システム
DE602005007653D1 (de) 2004-04-12 2008-08-07 Ind Academic Coop Verfahren, Vorrichtungen und Speichermedien zur Bereitstellung von Multimedia-Diensten unter Berücksichtung der Endeinrichtungsfähigkeiten
US20060031779A1 (en) 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US7908663B2 (en) 2004-04-20 2011-03-15 Microsoft Corporation Abstractions and automation for enhanced sharing and collaboration
JP2005326987A (ja) 2004-05-13 2005-11-24 Sony Corp オーディオ信号伝送システム、オーディオ信号伝送方法、サーバー、ネットワーク端末装置、プログラム及び記録媒体
US7546342B2 (en) 2004-05-14 2009-06-09 Microsoft Corporation Distributed hosting of web content using partial replication
US7529690B2 (en) 2004-05-22 2009-05-05 Altaf Hadi System and method for delivering real time remote buying, selling, meeting, and interacting in a virtual reality environment
US7860922B2 (en) * 2004-08-18 2010-12-28 Time Warner, Inc. Method and device for the wireless exchange of media content between mobile devices based on content preferences
US20060048064A1 (en) 2004-08-31 2006-03-02 Microsoft Corporation Ambient display of data in a user interface
US7707249B2 (en) * 2004-09-03 2010-04-27 Open Text Corporation Systems and methods for collaboration
US7945619B1 (en) 2004-09-20 2011-05-17 Jitendra Chawla Methods and apparatuses for reporting based on attention of a user during a collaboration session
US7342587B2 (en) 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7995064B2 (en) * 2004-10-12 2011-08-09 Imvu, Inc. Computer-implemented chat system having dual channel communications and self-defining product structures
US7711681B2 (en) 2004-11-05 2010-05-04 Accenture Global Services Gmbh System for distributed information presentation and interaction
EP1820159A1 (en) 2004-11-12 2007-08-22 MOK3, Inc. Method for inter-scene transitions
KR20060060788A (ko) 2004-11-30 2006-06-05 전경열 캐릭터를 이용한 가상현실 시스템 및 가상현실 구현방법
ATE443308T1 (de) 2005-01-26 2009-10-15 Alcatel Lucent Verfahren zum absetzen eines notrufes in einem lokalen informationsnetz, endgerät, netzübergänge und servereinrichtung für ein solches verfahren
US7460495B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Serverless peer-to-peer multi-party real-time audio communication system and method
EP1710973A1 (en) * 2005-04-06 2006-10-11 Alcatel Specific stream redirection of a multimedia telecommunication
US20060242235A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Presence monitoring in a serverless peer-to-peer system
US20060244818A1 (en) * 2005-04-28 2006-11-02 Comotiv Systems, Inc. Web-based conferencing system
US20070064851A1 (en) * 2005-09-02 2007-03-22 Sbc Knowledge Ventures Lp Method for synchronizing a customer edge router or customer premise equipment associated therewith
US7506264B2 (en) 2005-04-28 2009-03-17 International Business Machines Corporation Method and apparatus for presenting navigable data center information in virtual reality using leading edge rendering engines
US7396281B2 (en) 2005-06-24 2008-07-08 Disney Enterprises, Inc. Participant interaction with entertainment in real and virtual environments
KR100686382B1 (ko) 2005-07-08 2007-02-22 엔에이치엔(주) 싱크 서버를 이용한 메신저 알림 시스템 및 방법
US7734692B1 (en) 2005-07-22 2010-06-08 Oracle America, Inc. Network collaboration system with private voice chat
US8588210B2 (en) 2005-07-22 2013-11-19 Motorola Solutions, Inc. Method and apparatus for floor control in a communication system
US20070050838A1 (en) 2005-08-25 2007-03-01 Derek Liu Multi-protocol game engine
US7925000B2 (en) * 2005-08-29 2011-04-12 Avaya Inc. Managing held telephone calls from a remote telecommunications terminal
JP2007072739A (ja) 2005-09-07 2007-03-22 Hitachi Communication Technologies Ltd 多地点会議システム、多地点会議装置およびクライアント端末
WO2007033354A2 (en) 2005-09-13 2007-03-22 Spacetime3D, Inc. System and method for providing three-dimensional graphical user interface
US20080214204A1 (en) 2005-11-01 2008-09-04 Jorey Ramer Similarity based location mapping of mobile comm facility users
US9454735B2 (en) 2005-09-26 2016-09-27 Nokia Corporation Integrating data with a contact
US20070077993A1 (en) 2005-09-30 2007-04-05 Midgley Timothy M Method and apparatus for collecting user game play data and crediting users in a gaming environment
US20070094325A1 (en) * 2005-10-21 2007-04-26 Nucleoid Corp. Hybrid peer-to-peer data communication and management
US20070098238A1 (en) 2005-10-31 2007-05-03 Pere Obrador Imaging methods, imaging systems, and articles of manufacture
US7827288B2 (en) 2005-12-08 2010-11-02 International Business Machines Corporation Model autocompletion for composite services synchronization
US20070133436A1 (en) 2005-12-09 2007-06-14 Sun Microsystems, Inc. Audio bridge for network conferencing
US7489772B2 (en) 2005-12-30 2009-02-10 Nokia Corporation Network entity, method and computer program product for effectuating a conference session
JP4643454B2 (ja) 2006-01-10 2011-03-02 株式会社東芝 動画像復号装置及び動画像復号方法
US8266214B2 (en) * 2006-01-24 2012-09-11 Simulat, Inc. System and method for collaborative web-based multimedia layered platform with recording and selective playback of content
US8185437B2 (en) 2007-07-12 2012-05-22 Utbk, Inc. Systems and methods to provide communication connections via partners
US7643436B2 (en) 2006-02-01 2010-01-05 Sun Microsystems, Inc. Apparatus and method for combining network conferences that are not co-located
US20070184855A1 (en) 2006-02-03 2007-08-09 Research In Motion Limited Visual representation of contact location
US20070192427A1 (en) 2006-02-16 2007-08-16 Viktors Berstis Ease of use feature for audio communications within chat conferences
US20080086696A1 (en) 2006-03-03 2008-04-10 Cadcorporation.Com Inc. System and Method for Using Virtual Environments
JP4617268B2 (ja) 2006-03-14 2011-01-19 キヤノン株式会社 記憶装置および記憶装置の処理方法
US20070220111A1 (en) * 2006-03-15 2007-09-20 Andrew Lin Personal communications browser client for remote use in enterprise communications
US20070286366A1 (en) 2006-03-17 2007-12-13 Scott Deboy Chat presence system
US7567844B2 (en) 2006-03-17 2009-07-28 Honeywell International Inc. Building management system
DE102007010127A1 (de) * 2006-03-22 2007-10-04 Mediatek Inc. Verfahren zum Verbessern der Leistung der Dienste eines Multi-Task Systems und ein entsprechendes Multi-Task System
US8478859B2 (en) 2006-03-22 2013-07-02 Cisco Technology, Inc. Providing an aggregate reachability status
US20070233785A1 (en) 2006-03-30 2007-10-04 International Business Machines Corporation Communicating using collaboration spaces
AU2006341412B2 (en) 2006-03-31 2011-06-16 Heulab Pte Ltd Instant message for a virtual learning community
US8199761B2 (en) 2006-04-20 2012-06-12 Nokia Corporation Communications multiplexing with packet-communication networks
KR20070105088A (ko) 2006-04-25 2007-10-30 함현주 캐릭터를 기반으로 하는 쇼핑몰 시스템 및 운영방법
US20080052373A1 (en) 2006-05-01 2008-02-28 Sms.Ac Systems and methods for a community-based user interface
US8223186B2 (en) 2006-05-31 2012-07-17 Hewlett-Packard Development Company, L.P. User interface for a video teleconference
WO2008005149A2 (en) 2006-06-09 2008-01-10 Brilig Llc Information collection in multi-participant online communities
US7643459B2 (en) 2006-06-16 2010-01-05 Alcatel-Lucent Usa Inc. Methods, devices and architectures for establishing peer-to-peer sessions
US20070291034A1 (en) 2006-06-20 2007-12-20 Dones Nelson C System for presenting a navigable virtual subway system, and method for operating and using the same
US7734705B1 (en) 2006-06-21 2010-06-08 Wheeler Jr Roland E System and method for flexibly managing heterogeneous message delivery
US20070299778A1 (en) * 2006-06-22 2007-12-27 Microsoft Corporation Local peer-to-peer digital content distribution
US7680480B2 (en) * 2006-07-20 2010-03-16 Avaya Inc. Determining user availability based on a past event
US7616624B2 (en) 2006-07-20 2009-11-10 Avaya Inc. Determining user availability based on the expected duration of a new event
US8295206B2 (en) * 2006-07-20 2012-10-23 Avaya Inc. Rule-based system for determining user availability
US7680098B2 (en) * 2006-07-20 2010-03-16 Avaya Inc. Determining group availability on different communication media
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20080033941A1 (en) 2006-08-07 2008-02-07 Dale Parrish Verfied network identity with authenticated biographical information
US7991401B2 (en) 2006-08-08 2011-08-02 Samsung Electronics Co., Ltd. Apparatus, a method, and a system for animating a virtual scene
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8374092B2 (en) 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US7958453B1 (en) 2006-09-29 2011-06-07 Len Bou Taing System and method for real-time, multi-user, interactive and collaborative environments on the web
US20080208605A1 (en) 2006-10-20 2008-08-28 Citrix Systems, Inc. Systems and methods for responding to the occurrence of an event
CN101170572A (zh) 2006-10-23 2008-04-30 日电(中国)有限公司 基于p2p sip技术实现的多媒体网络通信系统
US20080098123A1 (en) * 2006-10-24 2008-04-24 Microsoft Corporation Hybrid Peer-to-Peer Streaming with Server Assistance
EP2098010A1 (en) 2006-11-30 2009-09-09 WANLESS, James Andrew A method and system for providing automated real-time contact information
US7765259B2 (en) * 2006-12-05 2010-07-27 Avaya Inc. System and method for aggregation of user conversations and visualizing personal communications map
US8706169B2 (en) 2006-12-28 2014-04-22 Yahoo! Inc. Interface overlay
US8654954B2 (en) 2007-01-03 2014-02-18 Alcatel Lucent System and method for controlling access to conference calls
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
US7696992B2 (en) 2007-01-16 2010-04-13 Motorola, Inc. Method and apparatus to facilitate multi-setting virtual reality experiences
CN101237336B (zh) 2007-02-01 2011-10-05 华为技术有限公司 进行多方通信的方法、系统及装置
US9530142B2 (en) 2007-02-13 2016-12-27 Claudia Juliana Minsky Method and system for creating a multifunctional collage useable for client/server communication
US20080209075A1 (en) 2007-02-22 2008-08-28 Yahoo! Inc. Synchronous delivery of media content and real-time communication for online dating
JP2010533006A (ja) 2007-03-01 2010-10-21 ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 仮想世界とコミュニケーションを取るためのシステムおよび方法
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US20080215975A1 (en) 2007-03-01 2008-09-04 Phil Harrison Virtual world user opinion & response monitoring
WO2008106196A1 (en) 2007-03-01 2008-09-04 Sony Computer Entertainment America Inc. Virtual world avatar control, interactivity and communication interactive messaging
US8437281B2 (en) 2007-03-27 2013-05-07 Cisco Technology, Inc. Distributed real-time data mixing for conferencing
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
FR2914523B1 (fr) 2007-03-30 2009-09-25 Thales Sa Procede et systeme de routage multipologie.
US20080250115A1 (en) 2007-04-04 2008-10-09 Vaidy Iyer Enterprise Notification System
US20080252637A1 (en) 2007-04-14 2008-10-16 Philipp Christian Berndt Virtual reality-based teleconferencing
US20080263460A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People for Virtual Meeting in Virtual Reality
US8601386B2 (en) * 2007-04-20 2013-12-03 Ingenio Llc Methods and systems to facilitate real time communications in virtual reality
US20080262911A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Search in Virtual Reality for Real Time Communications
US20080262910A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People via Virtual Reality for Real Time Communications
US8000328B1 (en) * 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US7840668B1 (en) 2007-05-24 2010-11-23 Avaya Inc. Method and apparatus for managing communication between participants in a virtual environment
US20080301557A1 (en) 2007-06-04 2008-12-04 Igor Kotlyar Systems, methods and software products for online dating
WO2009000028A1 (en) 2007-06-22 2008-12-31 Global Coordinate Software Limited Virtual 3d environments
WO2009019671A1 (en) 2007-08-09 2009-02-12 Markport Limited Network resource management
JP5163007B2 (ja) * 2007-08-15 2013-03-13 ソニー株式会社 ズームレンズ及び撮像装置
US20090077475A1 (en) * 2007-09-17 2009-03-19 Areae, Inc. System for providing virtual spaces with separate places and/or acoustic areas
US8243116B2 (en) 2007-09-24 2012-08-14 Fuji Xerox Co., Ltd. Method and system for modifying non-verbal behavior for social appropriateness in video conferencing and other computer mediated communications
US20090089685A1 (en) 2007-09-28 2009-04-02 Mordecai Nicole Y System and Method of Communicating Between A Virtual World and Real World
US8245241B2 (en) 2007-10-02 2012-08-14 International Business Machines Corporation Arrangements for interactivity between a virtual universe and the world wide web
US8209384B2 (en) * 2007-10-23 2012-06-26 Yahoo! Inc. Persistent group-based instant messaging
US20090288007A1 (en) 2008-04-05 2009-11-19 Social Communications Company Spatial interfaces for realtime networked communications
US8191001B2 (en) 2008-04-05 2012-05-29 Social Communications Company Shared virtual area communication environment based apparatus and methods
US20130073707A1 (en) 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US9357025B2 (en) 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US9813522B2 (en) 2008-12-05 2017-11-07 Sococo, Inc. Managing interactions in a network communications environment
US8732236B2 (en) 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US7844724B2 (en) 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US20090112997A1 (en) 2007-10-25 2009-04-30 Cisco Technology, Inc. Utilizing Presence Data Associated with Web Item
US20090113314A1 (en) 2007-10-30 2009-04-30 Dawson Christopher J Location and placement of avatars in virtual worlds
US20090128567A1 (en) 2007-11-15 2009-05-21 Brian Mark Shuster Multi-instance, multi-user animation with coordinated chat
JP5258020B2 (ja) 2008-01-25 2013-08-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信を制御する技術
US8739180B2 (en) 2008-01-25 2014-05-27 International Business Machines Corporation Processing of MTOM messages
CN101499080A (zh) 2008-02-01 2009-08-05 网秦无限(北京)科技有限公司 在移动终端上快捷获取信息服务的方法和系统
US8584024B2 (en) * 2008-02-01 2013-11-12 International Business Machines Corporation Avatar cloning in a virtual world
US20090222742A1 (en) 2008-03-03 2009-09-03 Cisco Technology, Inc. Context sensitive collaboration environment
US20090234948A1 (en) 2008-03-11 2009-09-17 Garbow Zachary A Using Multiple Servers to Divide a Virtual World
US8605863B1 (en) * 2008-03-18 2013-12-10 Avaya Inc. Method and apparatus for providing state indication on a telephone call
KR101467767B1 (ko) 2008-03-31 2014-12-03 엘지전자 주식회사 단말기 및 이것의 인스턴트 메시징 서비스 수행 방법
US8531447B2 (en) 2008-04-03 2013-09-10 Cisco Technology, Inc. Reactive virtual environment
US8312380B2 (en) 2008-04-04 2012-11-13 Yahoo! Inc. Local map chat
US20120246582A1 (en) 2008-04-05 2012-09-27 Social Communications Company Interfacing with a spatial virtual communications environment
US20090259948A1 (en) 2008-04-15 2009-10-15 Hamilton Ii Rick A Surrogate avatar control in a virtual universe
FI123499B (fi) 2008-05-05 2013-06-14 Sensinode Oy Menetelmä ja laite viestien prosessoimiseksi
US9268454B2 (en) 2008-05-14 2016-02-23 International Business Machines Corporation Trigger event based data feed of virtual universe data
US8248404B2 (en) 2008-05-19 2012-08-21 International Business Machines Corporation Event determination in a virtual universe
US8042051B2 (en) 2008-05-30 2011-10-18 International Business Machines Corporation Apparatus for navigation and interaction in a virtual meeting place
US20090307189A1 (en) 2008-06-04 2009-12-10 Cisco Technology, Inc. Asynchronous workflow participation within an immersive collaboration environment
US8365076B2 (en) 2008-06-10 2013-01-29 International Business Machines Corporation System for concurrently managing multiple avatars
US7576542B1 (en) * 2008-06-26 2009-08-18 General Electric Co. System and apparatus for providing electrical and cooling interconnections in a magnetic resonance imaging (MRI) system
US20100058202A1 (en) 2008-08-28 2010-03-04 Mohamed Rostom Method system and program product for providing enabling an interactive and social search engine
US8082245B2 (en) 2008-09-11 2011-12-20 International Business Machines Corporation Providing location information within a virtual world
US9384469B2 (en) 2008-09-22 2016-07-05 International Business Machines Corporation Modifying environmental chat distance based on avatar population density in an area of a virtual world
US8468253B2 (en) * 2008-12-02 2013-06-18 At&T Intellectual Property I, L.P. Method and apparatus for multimedia collaboration using a social network system
KR101490548B1 (ko) 2008-12-05 2015-02-05 소우셜 커뮤니케이션즈 컴퍼니 실시간 커널
WO2010065887A2 (en) 2008-12-05 2010-06-10 Social Communications Company Pervasive realtime framework
US20100162121A1 (en) * 2008-12-22 2010-06-24 Nortel Networks Limited Dynamic customization of a virtual world
US20100169796A1 (en) * 2008-12-28 2010-07-01 Nortel Networks Limited Visual Indication of Audio Context in a Computer-Generated Virtual Environment
US8542232B2 (en) * 2008-12-28 2013-09-24 Avaya Inc. Method and apparatus for monitoring user attention with a computer-generated virtual environment
US9064023B2 (en) * 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment
US20110004701A1 (en) 2008-12-29 2011-01-06 Debashish Panda Provisioning highly available services for integrated enterprise and communication
US20100169799A1 (en) * 2008-12-30 2010-07-01 Nortel Networks Limited Method and Apparatus for Enabling Presentations to Large Numbers of Users in a Virtual Environment
US8424075B1 (en) 2008-12-31 2013-04-16 Qurio Holdings, Inc. Collaborative firewall for a distributed virtual environment
US9065874B2 (en) 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
US8453062B2 (en) 2009-02-13 2013-05-28 International Business Machines Corporation Virtual world viewer
US20100228560A1 (en) * 2009-03-04 2010-09-09 Avaya Inc. Predictive buddy list-reorganization based on call history information
US8275623B2 (en) 2009-03-06 2012-09-25 At&T Intellectual Property I, L.P. Method and apparatus for analyzing discussion regarding media programs
US8499085B2 (en) * 2009-03-16 2013-07-30 Avaya, Inc. Advanced availability detection
US8386255B2 (en) * 2009-03-17 2013-02-26 Avaya Inc. Providing descriptions of visually presented information to video teleconference participants who are not video-enabled
US20100246570A1 (en) * 2009-03-24 2010-09-30 Avaya Inc. Communications session preparation method and apparatus
JP2011040036A (ja) * 2009-03-30 2011-02-24 Avaya Inc グラフィカル・ユーザ・インターフェースを用いて通信セッションを管理するシステムと方法。
US20100262550A1 (en) * 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
US8396960B2 (en) 2009-05-08 2013-03-12 Canon Kabushiki Kaisha Efficient network utilization using multiple physical interfaces
US8051195B1 (en) 2009-06-04 2011-11-01 Qurio Holdings, Inc. Method and system for providing data streams in a virtual environment
US20100325206A1 (en) 2009-06-18 2010-12-23 Umeshwar Dayal Providing collaborative business intelligence
US8442189B2 (en) 2009-06-22 2013-05-14 Avaya Inc. Unified communications appliance
US7921150B1 (en) 2009-10-23 2011-04-05 Eastman Kodak Company Method for viewing videos on distributed networks
US8924261B2 (en) 2009-10-30 2014-12-30 Etsy, Inc. Method for performing interactive online shopping
US20110169927A1 (en) 2010-01-13 2011-07-14 Coco Studios Content Presentation in a Three Dimensional Environment
US8689307B2 (en) 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US20110231781A1 (en) 2010-03-19 2011-09-22 International Business Machines Corporation System and method for virtual object sharing and management in virtual worlds
JP5204155B2 (ja) 2010-06-21 2013-06-05 株式会社スクウェア・エニックス ビデオゲームシステム
WO2012024205A2 (en) 2010-08-16 2012-02-23 Social Communications Company Promoting communicant interactions in a network communications environment
WO2012034044A2 (en) 2010-09-11 2012-03-15 Social Communications Company Relationship based presence indicating in virtual area contexts
US8863256B1 (en) 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
US9270784B2 (en) 2011-02-16 2016-02-23 Masque Publishing, Inc. Peer-to-peer communications
WO2012135231A2 (en) 2011-04-01 2012-10-04 Social Communications Company Creating virtual areas for realtime communications
US8612279B2 (en) 2011-06-27 2013-12-17 Cisco Technology, Inc. Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item
WO2013026048A2 (en) 2011-08-18 2013-02-21 Utherverse Digital, Inc. Systems and methods of virtual world interaction
US8935328B2 (en) 2011-09-15 2015-01-13 Ramakrishna J Tumuluri System and method for collaborative 3D visualization and real-time interaction on a computer network
US9311160B2 (en) 2011-11-10 2016-04-12 Verizon Patent And Licensing Inc. Elastic cloud networking
WO2013078062A1 (en) 2011-11-23 2013-05-30 Social Communications Company Creating and managing virtual areas
WO2013119802A1 (en) 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
EP2785007B1 (en) 2013-03-28 2015-09-16 British Telecommunications public limited company Managing streamed communication
US9137162B2 (en) 2013-07-23 2015-09-15 Sap Se Network traffic routing optimization
US11245588B2 (en) 2013-10-30 2022-02-08 Micro Focus Llc Modifying realized topologies
CN105830031B (zh) 2013-12-18 2020-12-11 瑞典爱立信有限公司 用于选择媒体处理单元的方法和网络节点

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685783A (zh) * 2012-09-19 2014-03-26 索尼公司 信息处理系统和存储介质
CN103685783B (zh) * 2012-09-19 2018-04-06 索尼公司 信息处理系统和存储介质
CN108337910A (zh) * 2015-12-22 2018-07-27 英特尔公司 用于软件定义的互连交换机的架构
CN108337910B (zh) * 2015-12-22 2023-02-21 英特尔公司 用于软件定义的互连交换机的架构
CN106362400A (zh) * 2016-10-12 2017-02-01 大连文森特软件科技有限公司 具有在线编辑功能的vr游戏系统
CN116208433A (zh) * 2021-11-30 2023-06-02 富联精密电子(天津)有限公司 虚拟会议室的音频处理方法、装置及存储介质
TWI807504B (zh) * 2021-11-30 2023-07-01 新加坡商鴻運科股份有限公司 虛擬會議室之音訊處理方法、裝置及存儲介質

Also Published As

Publication number Publication date
JP5723905B2 (ja) 2015-05-27
KR101511403B1 (ko) 2015-04-10
US20230208902A1 (en) 2023-06-29
US20200336529A1 (en) 2020-10-22
EP2208313A1 (en) 2010-07-21
US20100268843A1 (en) 2010-10-21
MY152413A (en) 2014-09-30
JP2013137781A (ja) 2013-07-11
KR20100096110A (ko) 2010-09-01
CN102007730B (zh) 2014-09-03
US20090113066A1 (en) 2009-04-30
US7769806B2 (en) 2010-08-03
IL205287A0 (en) 2010-12-30
US20120159354A1 (en) 2012-06-21
US20180020032A1 (en) 2018-01-18
JP2011502305A (ja) 2011-01-20
US11595460B2 (en) 2023-02-28
US10659511B2 (en) 2020-05-19
WO2009055305A1 (en) 2009-04-30
HK1153061A1 (zh) 2012-03-16
US8578044B2 (en) 2013-11-05
EP2208313A4 (en) 2013-09-11
US9762641B2 (en) 2017-09-12
JP5200109B2 (ja) 2013-05-15

Similar Documents

Publication Publication Date Title
CN102007730B (zh) 在共享虚拟区域通信环境中的自动化实时数据流交换
CN101953115A (zh) 在共享虚拟区域通信环境中的自动化实时数据流交换
US11418440B2 (en) Routing virtual area based communications
CN102362269B (zh) 实时内核
CN114115518A (zh) 实现虚拟环境中的交互的系统和方法
US20240106747A1 (en) Routing Virtual Area Based Communications
TWI492592B (zh) 在共享虛擬區通訊環境中之自動化即時資料串流交換技術
CN105553811A (zh) Sdn架构中基于多vtn组合的网络业务实现方法
Haibo et al. The Application of Network Video Conference System in E-government

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1153061

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1153061

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140903

Termination date: 20161016