CN102804161A - 应用共享 - Google Patents
应用共享 Download PDFInfo
- Publication number
- CN102804161A CN102804161A CN2010800251495A CN201080025149A CN102804161A CN 102804161 A CN102804161 A CN 102804161A CN 2010800251495 A CN2010800251495 A CN 2010800251495A CN 201080025149 A CN201080025149 A CN 201080025149A CN 102804161 A CN102804161 A CN 102804161A
- Authority
- CN
- China
- Prior art keywords
- window
- network node
- sharer
- order
- observer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/04815—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
Abstract
在共享者网络节点(12)的本地显示器(508)上的屏幕布局(506)中标识多个窗口(510-514)中与软件进程相关联的窗口。在共享者网络节点(12)上,当所标识窗口(510-514)排列在屏幕布局(506)中且没有被屏幕布局(506)中的任何其他窗口遮挡时,生成所标识窗口(510-514)的图像。将图像从共享者网络节点(12)传送到观察者网络节点(14)。同样,接收从共享者和观察者网络节点上的输入设备事件导出的命令。接收到的命令被处理成命令序列,该命令序列被传递到在共享者网络节点(12)上执行的共享进程。根据接收到的命令序列在共享者网络节点(12)上呈现与共享进程相关联的窗口(510-514)。生成所呈现窗口(510-514)的图像,并且将其从共享者网络节点(12)传送到观察者网络节点(14)。
Description
发明背景
当面对面通信不切实际时,人们往往依赖于一种或多种技术解决方案来满足其通信需求。这些解决方案通常被设计成模拟面对面通信的一个或多个方面。传统电话系统实现了呼叫者之间的语音通信。即时消息接发(也称为“聊天”)通信系统使用户能够经由即时消息服务器互连的即时消息计算机客户端实时地传达文本消息。一些即时消息接发系统另外允许用户在虚拟环境中由用户可控图形对象(称为“头像”)来表示。交互式虚拟现实通信系统使远程位置中的用户能够通过多个实时通道来通信并且通过操纵其在三维虚拟空间中的相应头像来彼此交互。这些通信模式通常各自可处理通信之间的一些形式的数据共享。
公共形式的数据共享是应用共享,其包括将应用数据从一个节点(称为“共享者节点”)传送到一个或多个其他节点(称为“观察者节点”)。应用共享具有各种有用应用,包括提供远程技术支持、远程协作、以及演示、文档和图像的远程呈现。在一些提出的系统中,共享者节点上的应用共享程序周期性地收集来自共享者节点上的链接式显示驱动程序进程的制图命令(例如,用于绘制线和曲线的GUI调用、渲染字体和处理调色板)、将制图命令封装成命令分组,并且将命令分组发送到每一个观察者节点上的各个对应应用共享程序,各个对应应用共享程序准确地构成共享者显示器的共享视图。然而,这种应用共享方法要求每个观察者节点通过将命令分组中的制图命令传递到显示进程(例如,MicrosoftWindows操作系统所提供的GDI界面)来渲染其共享应用自己的版本。
需要的是经改进的应用共享装置及方法。
发明概述
在一个方面,本发明的特征在于一种方法,根据该方法,在共享者网络节点的本地显示器上的屏幕布局中标识多个窗口中与软件进程相关联的窗口。在共享者网络节点上,当所标识窗口排列在屏幕布局中且没有被屏幕布局中的任何其他窗口遮挡时,生成所标识窗口的合成图像。将合成图像从共享者网络节点传送到观察者网络节点。
在一方面,本发明的特征在于一种方法,根据该方法,接收从共享者网络节点上的本地输入设备事件导出的本地生成的命令。还接收从远程观察者网络节点上的远程输入设备事件导出的远程生成的命令。接收到的命令被处理成命令序列。将命令序列传递到在共享者网络节点上执行的共享进程。在共享者网络节点的本地显示器上的屏幕布局中,根据接收到的命令序列来呈现与共享进程相关联的一个或多个窗口。当在屏幕布局中呈现所述一个或多个窗口时,生成这些窗口的图像。将图像从共享者网络节点传送到观察者网络节点。
本发明的特征还在于,可用于实现以上描述的发明性方法的装置以及存储使计算机实现以上描述的发明性方法的计算机可读指令的计算机可读介质。
根据包括附图和权利要求书的以下描述,本发明的其他特征和优点将变得显而易见。
附图简述
图1是包括第一网络节点和第二网络节点的网络通信环境的实施例的示图。
图2是应用共享方法的实施例的流程图。
图3是共享者网络节点的显示器上的屏幕布局的实施例的示图。
图4A是观察者网络节点的显示器上的屏幕布局的实施例的示图。
图4B是观察者网络节点的显示器上的屏幕布局的实施例的示图。
图5是应用共享类模型的实施例的示图。
图6是实现应用共享进程的实施例中的方法的应用共享组件的实施例的示图。
图7是实现应用共享进程的实施例中的方法的应用共享组件的实施例的示图。
图8是实现应用共享进程的实施例中的方法的应用共享组件的实施例的示图。
图9是实现应用共享进程的实施例中的方法的应用共享组件的实施例的示图。
图10是实现应用共享进程的实施例中的方法的应用共享组件的实施例的示图。
图11A和11B是应用共享方法的实施例的流程图。
图12是共享者网络节点的显示器上的屏幕布局的实施例的示图。
图13是确定与共享软件进程相关联的窗口的分层次序的方法的实施例的流程图。
图14是结合观察者网络节点的实施例来实现应用共享进程的实施例的共享网络节点的实施例的框图。
图15是应用共享方法的实施例的流程图。
图16是包括图1的第一网络节点、图1的第二网络节点和虚拟环境创建器的网络通信环境的实施例的示图。
图17是包括呈现虚拟区域的描绘的图形用户界面的网络节点的实施例的示图。
图18是示出客户端网络节点的实施例的组件的图16的网络通信环境的框图。
图19是图形用户界面的实施例的示图。
图20是图形用户界面的实施例的示图。
图21是图形用户界面的实施例的示图。
图22是图形用户界面的实施例的示图。
图23是图形用户界面的实施例的示图。
图24是图形用户界面的实施例的示图。
图25是图形用户界面的实施例的示图。
发明的详细描述
在以下描述中,相同附图标记用于标识相同元素。此外,附图旨在以图解方式示出示例性实施例的主要特征。附图既不旨在描绘实际实施例的每个特征,也不意在描绘所描绘元素的相对尺寸,并且不是按比例绘制的。
I.术语定义
“窗口”是通常包括用户界面的显示器的视觉区域。窗口通常显示软件进程的输出,并且通常使用户能够输入用于软件进程的命令或数据。具有父窗口的窗口被称为“子窗口”。没有父窗口、或其父窗口是桌面窗口的窗口被称为“顶层窗口”。“桌面”是绘制图形用户界面(GUI)的背景且用作所有软件进程所显示的所有窗口的基础的系统定义的窗口。
术语“窗口抓取”是指从另一软件进程的显示输出提取数据的进程。提取进程由“抓取器”(scraper)软件进程执行。
“分层次序”(也称为“z次序”)是沿与呈现GUI的显示器垂直的轴(通常称为“z轴”)叠加诸如图形用户界面(GUI)中的窗口之类的二维对象的排序。
“合成”是将来自单独的源的视觉元素组合成单个合成图像(在本文中也称为“帧”)。
术语“遮挡”意味着通过覆盖或仿佛通过覆盖来隐蔽或隐藏的动作或进程。
“通信者”是通过一个或多个网络连接与其他人通信或以其他方式交互的人,其中该通信或交互可以在或可以不在虚拟区域的上下文中发生。“用户”是正在操作出于描述目的定义特定观点的特定网络节点的通信者。“共享者”是正在操作共享者网络节点的通信者。“观察者”是正在操作观察者网络节点的通信者。
用户的“实时联系人”是已经由实时通信平台与该用户通信的通信者或其他人。
“计算机”是根据临时或永久地存储在计算机可读介质上的计算机可读指令来处理数据的任何机器、设备或装置。“操作系统”是管理和协调任务的执行以及计算和硬件资源的共享的计算机系统的软件组件。“软件进程”(也称为软件、应用程序、计算机软件、计算机应用程序、程序、以及计算机程序)是计算机可解释并实行以执行一个或多个特定任务的指令集。软件进程可具有执行的一个或多个“线程”。“共享软件进程”是其输出与观察者网络节点共享的软件进程。“计算机数据文件”是持久地存储数据以供软件应用程序使用的信息块。
“数据库”是以可由计算机搜索的标准化格式呈现的经组织记录集合。数据库可被存储在单个计算机上的单个计算机可读数据存储介质上,或者其可跨一个或多个计算机上的多个计算机可读数据存储介质分发。
“数据宿”(在本文中简称为“宿”)是接收数据的设备(例如,计算机)、设备的一部分、或软件中的任一个。
“数据源”(在本文中简称为“源”)是产生数据的设备(例如,计算机)、设备的部分、或软件中的任一个。
“网络节点”(也简称为“节点”)是通信网络中的结或连接点。示例性网络节点包括,但不限于,终端、计算机和网络交换机。“服务器”网络节点是网络上的、对信息或服务请求作出响应的主机计算机。“客户端”网络节点是网络上的、向服务器请求信息或服务的计算机。“网络连接”是两个通信网络节点之间的链路。术语“本地网络节点”是指当前为首要讨论主题的网络节点。术语“远程网络节点”是指通过网络通信链路连接到本地网络节点的网络节点。“连接句柄”是可用于建立与网络节点上的通信者、资源、或服务的网络连接的指针或标识符(例如,统一资源标识符(URI))。“共享者网络节点”是正在与另一网络节点共享内容的网络节点,该另一网络节点被称为“观察者网络节点”。“网络通信”可包括通过网络连接从一个网络节点向另一个网络节点传送或以其他方式传达的任何类型的信息(例如,文本、语音、音频、视频、电子邮件消息、数据文件、运动数据流、以及数据分组)。
“通信者交互”是通信者和另一网络实体之间的任何类型的直接或间接动作或影响,该另一网络实体可包括例如另一通信者、虚拟区域、或网络服务。示例性类型的通信者交互包括通信者彼此实时地通信、通信者进入虚拟区域、以及通信者请求访问来自网络服务的资源。
“在场(presence)”是指联网实体(例如,通信者、服务、或设备)通信的能力和意愿,其中这种意愿影响检测和获取关于网络上的实体的状态的能力以及连接到该实体的能力。
“实时数据流”是在连续流中被构造和处理且被设计成无延迟地或仅以觉察不到的延迟接收的数据。实时数据流包括语音、视频、用户移动、面部表情以及其他物理现象的数字表示,以及计算环境内的可受益于快速传输、快速执行、或快速传输和快速执行两者的数据,包括例如头像移动指令、文本聊天、实时数据馈送(例如,传感器数据、机器控制指令、交易流和股价信息馈送)、以及文件传输。
“虚拟区域”(也称为“区域”或“场所”)是计算机管理的空间或场景的表示。虚拟区域通常是一维、二维、或三维表示;尽管在一些实施例中,虚拟区域可对应于单个点。虚拟区域时常被设计成模拟物理的真实世界空间。例如,使用传统计算机监视器,虚拟区域可被视觉化为计算机生成的三维空间的二维图形。然而,虚拟区域不要求相关联视觉化来实现交换规则。虚拟区域通常是指虚拟区域方案的实例,其中该方案以变量的形式定义虚拟区域的结构和内容,而实例以已从特定上下文解出的值的形式定义虚拟区域的结构和内容。
“虚拟区域应用”(也称为“虚拟区域规范”)是对在创建虚拟环境时使用的虚拟区域的描述。虚拟区域应用通常包括对与虚拟区域的一个或多个区段(zone)相关联的几何、物理、和实时交换规则的定义。
“虚拟环境”是包括至少一个虚拟区域且支持通信者之间的实时通信的计算机管理的空间的表示。
“区段”是虚拟区域中与至少一个交换规则或支配规则相关联的区域。“交换规则”是根据一个或多个条件先例来指定一个或多个实时数据源与一个或多个实时数据宿的连接或断开的指令。交换规则控制实时数据流在虚拟区域的上下文中通信的网络节点之间的交换(例如,路由、连接、以及断开)。支配规则控制通信者对资源(例如,区域、区域的地区、该区域或地区的内容)的访问、该访问的范围、以及该访问的后继结果(例如,要求必须记录与该访问相关的审计记录)。“可渲染区段”是与相应视觉化相关联的区段。
虚拟区域中的“位置”是指虚拟区域中的点或面积或体积的位置。点通常由定义虚拟区域中的点的一维、二维、或三维坐标(例如,笛卡尔坐标、极坐标、或球面坐标)的单个集合来表示。坐标可被定义为建立位置的任何单个或多个数字。面积通常由定义虚拟区域中闭合二维形状的边界的三个或三个以上共面顶点的三维坐标来表示。体积通常由定义虚拟区域中的三维形状的闭合边界的四个或四个以上非共面顶点的三维坐标来表示。
“空间状态”是描述用户在虚拟区域中在场之处的属性。空间状态属性通常针对用户在场的区段中的每一个具有相应值(例如,区段_ID值)。
“地标”是对虚拟区域中的位置的存储引用(例如,超链接)。地标通常可被选择以将虚拟区域中的相关联位置的视图呈现给用户。动词“放置地标”意味着创建地标的动作或操作。
在虚拟区域的上下文中,“对象”是虚拟区域中的可与虚拟区域的几何结构分离开来有用地处理的任何类型的离散元素。示例性对象包括门、入口、窗、观察屏、以及扬声器。对象通常具有与虚拟区域的属性和特性分离且不同的属性或特性。“头像”是表示虚拟区域中的通信者的对象。
术语“双击”是指键入或输入执行命令的动作或操作(例如,双击计算机鼠标左键或通过单击与执行命令相关联的用户界面按钮,例如进入区段或观察对象)。术语“Shift-点击(shift-click)”是指在激活字母数字输入设备的Shift键时键入或输入选择命令的动作或操作(例如,点击计算机鼠标左键)。术语“Shift-双击”是指在激活字母数字输入设备的Shift键时键入或输入执行命令的动作或操作。
如本文中所使用的,术语“包括”意味着包括但不限于此,术语“包含”意味着包含但不限于此。术语“基于”意味着至少部分地基于。
II.引言
在本文中描述的实施例实现了具有高保真度、实时性能、观察者身临其境和隐私保护的应用共享。在一些实施例中,与软件进程的每个线程相关联的屏幕内容可被确定并合成为没有其他窗口内容的相应合成图像(或帧)。与网络节点上的一个或多个软件应用程序线程相关联的窗口的内容可被传播到其他网络节点,而没有被其他软件进程可能生成的屏幕内容(例如,包含应用程序内容、消息、或对话框的窗口)遮挡的危险,由此通过使位于用户的即时控制外部的进程有时生成的屏幕内容重叠来防止共享窗口内容的损坏。该特征避免了共享者中断呈现以移除遮挡屏幕内容的需求,由此为共享窗口内容的观察者创建更身临其境的协作体验。另外,共享者不必担心隐私信息将与预期屏幕内容一起被无意地共享,由此维护共享者的隐私。
一些实施例还实现了多通道应用共享,其中两个或两个以上通信者同时彼此共享应用和屏幕内容。这些实施例通常包括允许每个接收者将一个共享窗口与另一个区分开的界面。
III.应用共享
A.引言
图1示出示例性网络通信环境10的实施例,该网络通信环境10包括由网络18互连的第一网络节点12和第二网络节点14。第一网络节点12包括计算机可读存储器20、处理器22、以及输入/输出(I/O)硬件24(包括显示器)。处理器22执行存储在存储器20中的至少一个通信应用程序26。第二网络节点14通常以与第一网络节点12基本相同的方式配置。在操作中,通信应用程序26通常在第一和第二网络节点12、14之间提供一种或多种模式的通信(例如,文本、语音、音频和视频)。另外,通信应用程序26实现第一和第二网络节点12、14之间的单向或双向应用共享。
通信应用程序的实施例可实现一种或多种以下应用共享模式:
●共享给定进程所创建的所有窗口;
●只共享一个窗口而不共享任何其他窗口;
●共享给定窗口和所有子窗口,其中子窗口可属于创建给定窗口的相同进程或者它们可属于不同进程。
●共享多个应用。例如,使不同进程所创建的窗口构成单个帧,而不是独立地共享应用中的每一个。
图2示出应用共享方法的实施例,该应用共享方法由在第一和第二网络节点12、14中的一个或两者上运行的通信应用程序26来实现。该进程通常响应于来自观察者网络节点的、共享与在共享者网络节点上运行的软件进程相关的一个或多个文档来执行。
根据图2的方法,通信应用程序26在共享者网络节点的显示器上的屏幕布局中标识多个窗口中与软件进程相关联的窗口(图2,框500)。在一些实施例中,通信应用程序26可标识屏幕布局中的、与软件进程相关联的所有窗口,或者其可标识屏幕布局中的与分配给软件进程的线程的句柄相匹配的部分窗口。在一些情况下,该进程包括标识父窗口和软件进程线程创建的至少一个相关联子窗口。在一些实施例中,通信应用程序26标识指定组的软件进程所创建的所有窗口。
当所标识窗口排列在屏幕布局中且没有被屏幕布局中的任何其他窗口遮挡时,通信应用程序26生成所标识窗口的合成图像(图2,框502)。在一些实施例中,该进程包括:确定所标识窗口相对于彼此的分层次序,该分层次序与屏幕布局中的所标识窗口的相对分层次序相对应;针对所标识窗口中的每一个,取回窗口的相应图像;以及根据所确定的分层次序,将取回的图像合成为合成图像。在一些实施例中,确定分层次序的过程包括:针对屏幕布局中的窗口中的每一个,生成使相应z次序值与窗口的相应窗口句柄相关联的z次序列表;以及从z次序列表导出所标识窗口的分层次序。导出分层次序的过程通常包括:针对z次序列表中的z次序值中的每一个,使相关联窗口句柄与所标识窗口的相应一个的窗口句柄相匹配;以及根据z次序列表中的、与多个z次序值中确定为与所标识窗口的窗口句柄相匹配的z次序值相关联的相应z次序值,按照分层次序对所标识窗口排序。
除了防止被其他窗口遮挡以外,一些实施例还防止遮挡所选窗口,因为窗口部分地位于屏幕外或完全位于屏幕外(例如,位于包含屏幕布局的可视桌面窗口外部)。例如,所标识窗口各自的相应图像被存储在相应存储缓冲器中,并且生成合成图像的过程包括从相应存储缓冲器取回图像中的每一个和将取回的图像合成为合成图像。例如,在一些示例性实施例中,窗口中的每一个是经由对Microsoft Win32应用编程接口(API)的程序性调用将其屏幕数据存储在相应存储缓冲器中的分层窗口,该Microsoft Win32 API在MicrosoftWindows操作系统版本2000和稍后的版本中是可用的。这些操作系统提供通过置位WS_EX_LA YERED窗口式样比特来调用的扩展窗口式样。与特定窗口相关联的WS_EX_LAYERED式样比特可由共享软件进程在窗口创建时间(例如,经由CreateWindowEx API调用)设置,或者其可由通信应用程序26在创建之后置位(例如,经由具有GWL_EXSTYLE的SetWindowLong API调用)。在为窗口置位WS_EX_LA YERED窗口式样比特的情况下,操作系统将窗口的绘制重新定向到屏幕外位图和缓冲器,该窗口随后可由通信应用程序26访问用以生成合成图像。类似的分层窗口功能从其他操作系统(例如,基于UNIX的操作系统上的X-Windows)可得到。
在已生成合成图像之后,通信应用程序26将合成图像传送到第一和第二网络节点12、14中的观察者网络节点(即,第一和第二网络节点中接收合成图像的网络节点)(图2,框504)。在一些实施例中,该进程包括将合成图像传送到请求(或订阅)观察共享者网络节点上的共享内容的远程网络节点中的每一个。通过共享者网络节点和观察者网络节点之间所建立的相应实时数据流连接,将合成图像(和后续更新)传送到订阅观察者网络节点。
图3示出第一网络节点12的显示器508上的屏幕布局506的实施例,第一网络节点12作为共享者网络节点。屏幕布局506包括第一窗口510、作为子窗口514的父窗口的第二窗口512、第三窗口516、以及第四窗口518。第一窗口510、第二窗口512及其子窗口514由第一软件进程(例如,MicrosoftWord文档处理软件进程)的相应线程创建,第三窗口由第二软件进程(例如,MicrosoftExcel电子表格软件进程)的线程创建,而第四窗口518由第三软件进程(例如,MicrosoftOutlook个人信息管理器软件进程)的线程创建。第一和第二窗口510、512是其相应软件进程线程创建(例如,任选地有在MicrosoftWindows应用程序环境中置位的WS_EX_LAYERED比特的WinMain入口点函数创建)的主窗口。在MicrosoftWindows应用程序环境中,子窗口514的外观的各方面通常受其父窗口512的影响。例如,父窗口512通常定义用于将子窗口514定位于显示器508上的坐标系。另外,在一些实现中,可修剪子窗口514,以使子窗口514的部分不会出现在其父窗口512的边界外部。
图4A示出第二网络节点14的显示器522上的第一屏幕布局520的实施例,第二网络节点14根据第一应用共享示例作为观察者网络节点。在该示例中,第一网络节点12上的通信者作为已选定为与第二网络节点14共享第一软件进程(App1)的所有窗口的共享者。由此,屏幕布局520由包括相应区域526、528、530的合成图像524组成,合成图像524示出第一窗口510、第二窗口512和子窗口514,这些窗口由在第一网络节点14上运行的第一软件进程的相应线程创建。当第一窗口510、第二窗口512和子窗口514排列在第一网络节点14上的屏幕布局506中时,区域526、528、530示出第一窗口510、第二窗口512和子窗口514。区域526、528、530也没有被第一网络节点14上的屏幕布局506中的任何其他窗口遮挡。例如,第三窗口516和第四窗口518(其遮挡屏幕布局506中的第一窗口510、第二窗口512和子窗口514的下部)从合成图像524中略去;另外,第一窗口510、第二窗口512和子窗口514的在屏幕布局506中被遮挡的部分已被合成图像524中的第一窗口510、第二窗口512和子窗口514的适当内容替代。
图4B示出第二网络节点14的显示器522上的第二屏幕布局532的实施例,第二网络节点14根据第二应用共享示例作为观察者网络节点。在该示例中,第一网络节点12上的通信者作为已选定来共享只与第一软件进程(App1)的线程中的一个相关联的所有窗口的共享者。由此,屏幕布局532由包括相应区域536、538的合成图像534组成,这些区域536、538示出第二窗口512和子窗口514。当第二窗口512和子窗口514排列在第一网络节点14上的屏幕布局506中时,区域536、538示出第二窗口512和子窗口514。区域536、538也没有被第一网络节点14上的屏幕布局506中的任何其他窗口遮挡。例如,第一窗口510、第三窗口516和第四窗口518从合成图像534中略去;另外,第二窗口512和子窗口514的在屏幕布局506中被遮挡的部分已被合成图像534中的第二窗口512和子窗口514的适当内容替代。
B.应用共享的实施例
1.引言
在一些实施例中,在共享者网络节点已公布可用于共享的一个或多个应用程序或文档且至少一个观察者已订阅所公布的应用程序或文档中的至少一个之后,发起应用共享。在一些实施例中,共享者可向与虚拟区域相关联的观察屏对象公布共享应用或文档,并且观察者可通过激活虚拟区域中的观察屏对象(例如,通过用用户输入设备双击观察屏对象)来订阅共享内容。
通常准许观察者对共享内容的两种类型访问权之一:只允许观察者被动地观察共享内容的观察访问权;以及允许观察者观察、控制、编辑和操纵共享内容的控制访问权。准许观察者访问权的类型可由共享者或由与其中共享发生的内容相关联的一个或多个支配规则(例如,与虚拟区域的区段相关联的支配规则,如以下在第IV部分描述的)设置。
共享内容通常以共享者显示器上的、与共享应用或文档相关联的窗口的流送位图的形式从共享者网络节点流送到观察者网络节点。每个窗口的位图可单独地流送、或已经被合成。位图通常在流送之前被压缩。如果观察者只有观察访问权,则观察者只能被动地观察共享者显示器上的共享窗口的图像。如果观察者有控制访问权,则观察者网络节点可将用户输入设备(例如,键盘、计算机鼠标、触摸板和触摸屏)生成的远程控制命令传送到共享者网络节点,用以控制、编辑和操纵共享者网络节点上的共享内容。
2.应用共享服务
在一些实施例中,通信应用程序26的应用共享功能由抓取器模块提供,该抓取器模块是实现应用共享的平台特定部分的应用共享服务的插件。本实施例实现其中共享应用所创建的所有窗口与订阅网络节点自动地共享的应用共享模式。该部分描述了在提供分层窗口功能的MicrosoftWindows应用程序环境中实现的抓取器模块和应用共享服务的示例性实施例。
a.类
图5示出应用共享类模型的实施例。在该模型中,框540、542、544、546和548定义应用共享服务和抓取器模块之间的接口,框550、552、554是实现抓取器模块的类,而框556、558是使用这些接口的应用共享服务中的类。
b.方法
(i)起动方法和停止方法
在应用共享服务调用抓取器模块上的任何方法之前,其调用起动方法,而在关闭期间,其调用停止方法。在所示的实施例中,在调用起动方法之前和在调用停止方法之后,不可作出调用。
在起动方法中,抓取器模块起动监听WinEvent(窗口事件)的线程。抓取器模块监听WinEvent,从而在创建/破坏以及显示/隐藏窗口和菜单时获得通知。
在停止方法中,抓取器模块停止所有应用监视器并且随后关闭正在监听WinEvent的线程。
当接收到WinEvent通知时,抓取器模块获得用于窗口的线程标识符(ID)和进程ID。抓取器模块随后根据进程ID查找监视器,并且通知应用监视器关于该事件。响应于已破坏窗口的通知,由于进程ID和线程ID不可用,因此抓取器模块向所有应用监视器通知该事件。
(ii)get_sharable_application(获得_可共享_应用)方法
如图6所示,应用共享服务可请求抓取器模块提供可共享的应用程序列表。作为响应,抓取器模块建立ID列表和桌面上的最顶层重叠窗口的标题,该桌面在共享者网络节点的显示器上呈现。在所示的实施例中,从当前正在共享者网络节点上运行的进程建立该列表。在其他实施例中,该列表还包括在节点上“可运行”的进程。例如,这可能包括共享者可能想共享、但当前未运行的所有MicrosoftWord文档、或共享者可能想共享、但当前未运行的另一应用程序(例如,计算器应用程序)。
(iii)start_share_application(开始_共享_应用)方法
参考图7,当应用共享服务起动共享应用时,抓取器模块创建将负责抓取应用窗口的应用监视器的实例。应用监视器枚举桌面上的所有最顶层窗口。应用监视器使用该枚举的结果作为窗口的初始列表。应用监视器确定初始列表中的哪些窗口属于正在共享的应用。应用监视器随后繁衍抓取器线程。抓取器线程负责抓取应用窗口的内容,从而将所有应用的窗口构成最终位图,以及将位图帧发送到所有订阅网络节点。
(iv)stop_share_application(停止_共享_应用)方法
参考图8,停止应用共享负责适度地停止应用监视器。在该过程中,应用监视器将关闭抓取线程,该应用监视器确保不再生成样本。此后,其通知取消订阅的所有订阅网络节点。一旦对应用监视器的所有引用都消失,则将破坏监视器。
(v)get_shared_applications(获取_共享_应用)方法
该方法返回正在共享的应用列表。
(vi)订阅方法
参考图9,订阅方法期望将对订阅者的引用和要共享进程的ID作为参数。订阅者是实现stream_subscriber_itf(流_订阅者_接口)的类(参见图5),如在图5所示的类模型中示出的。抓取器模块根据应用ID来查找监视器,并且将订阅者添加到监视器。下一次应用监视器生成帧,其同样将该帧送给该订阅者。
(vii)取消订阅方法
参考图10,订阅方法期望将对订阅者的引用和要共享进程的ID作为参数。该方法根据ID查找共享应用,并且告诉其移除被引用的订阅者。在移除被引用的订阅者时,应用监视器将通知订阅者关于该状态改变。应用监视器还检查共享进程状态,并且如果该进程存在,则应用监视器将通知所有订阅者关于该状态改变、取消所有订阅者的订阅,并且由于监视器上什么都没有,因此其本身将终止。
c.窗口抓取
每个应用监视器具有在周期性基础上唤醒并执行窗口抓取的线程。
图11A和11B示出示例性窗口抓取方法的实施例。
根据图11A和11B的方法,抓取器模块确定与共享软件进程相关联的所有窗口的z次序,并且根据z次序排列所有窗口(图11B,框560)。
抓取器模块确定涵盖与共享软件进程相关联的所有窗口的边界矩形(图11B,框562)。例如,图12示出包括MicrosoftWord主窗口566和另存为(Save As)对话框568的屏幕布局564。抓取器模块计算矩形570,矩形570是涵盖包括任何屏幕外内容的两个窗口的最小边界框(例如,与位于可视桌面窗口572外部的主窗口566的底部相对应的阴影区域571)。边界矩形570定义要共享的所有窗口的合成位图的尺寸。
针对与共享软件进程相关联的窗口中的每一个,抓取器模块调用抓取函数(图11B,框576)。如果窗口不是分层窗口(图11B,框578),则抓取函数经由具有GWL_EXSTYLE的SetWindowLong API调用置位与该窗口相关联的WS_EX_LAYERED比特(图11B,框580)。抓取函数随后抓取分层窗口(图11B,框582)。在该过程中,抓取器模块取回包括被其他窗口遮挡或位于可视桌面窗口外部的部分(例如,图12所示的阴影区域571)的窗口的图像,并且将取回的图像绘制成合成图像。根据z次序抓取窗口,从而在最终合成图像中的所有窗口图像的顶部绘制最顶层窗口。在抓取器模块已评估出边界矩形之后,抓取器模块捕获共享窗口的屏幕图像。在MicrosoftWindows应用程序环境中,针对窗口中的每一个,抓取器模块对取回窗口的显示设备上下文(DC)的句柄的GDI(图形设备接口)作出GetDC()函数调用。抓取器模块执行对每个窗口的迭代捕获。在该过程中,针对正在共享的每个窗口调用BitBlt(),并且每个窗口的图像数据根据屏幕显示器中窗口的相对位置(在x、y和z轴上)在目标DC中叠加。BitBlt函数执行对应于像素块的图像数据从指定源设备上下文到目标设备上下文的位块传输。屏幕图像构成初始合成图像。执行迭代BitBlt()请求自动地滤除来自非期望窗口的屏幕数据,并且允许发送各个窗口压缩位图,而不是仅仅压缩合成位图。
在完成抓取过程之后,抓取器模块创建合成图像的设备无关位图(图11B,框584)。抓取器模块随后从位图的字节创建样本(图11B,框586)。该样本是所捕获位图的时间序列中的位图。在一些实施例中,样本是当前合成图像。当前样本描绘在当前时刻如何显示共享应用。连续样本给观察者共享应用不只是图像序列、而是活的应用的感觉。一旦创建样本,则应用共享服务将样本一个接一个地呈现给所有订阅网络节点(图11B,框588)。只有当已作出合成图像的改变时,样本通常才被传送到订阅网络节点,直到传送了最后一个样本。样本通常在传送到订阅网络节点之前被压缩。抓取器模块随后进入休眠,直到抓取另一图像的下一个排定时刻(图11B,框590)。应用共享服务同时(即,在相同时间段期间,例如,在抓取周期之间的时间段期间)将合成图像的样本传送到订阅远程网络节点中的每一个。
图13示出抓取器模块确定与共享软件进程相关联的窗口的当前z次序的方法的实施例(图11B,框560)。
抓取器模块从与共享软件进程相关联的所有顶层窗口的初始列表开始(图13,框600)。初始列表可从图11A和11B所示的抓取过程的前一迭代获取。替换地,初始列表可通过查询应用环境来直接获取。例如,在一些实施例中,在MicrosoftWindows应用程序环境中实现抓取器模块。在这些实施例中,每个软件进程线程具有通过调用RegisterClass(注册类)函数来注册主窗口的窗口类的称为WinMain的入口点函数,并且通过调用CreateWindowEx函数来创建主窗口。在创建窗口之后,创建函数返回具有HWND数据类型且唯一地标识该窗口的窗口句柄;窗口句柄用于将软件进程动作定向到该窗口。在这些实施例中,抓取器模块通过调用EnumWindows函数来获取与共享软件进程相关联的各个顶层窗口的句柄,EnumWindows函数枚举桌面上的所有窗口、并且随后通过调用GetWindowThreadProcessId来查询该窗口所属的进程。
抓取器模块确定当前与共享软件进程相关联的所有窗口的z次序(图13,框602)。当在MicrosoftWindows应用程序环境中实现时,抓取器模块通过调用EnumChildWindows函数来获取桌面窗口上的各个窗口的句柄,EnumChildWindows函数通过将句柄传递到每个子窗口、进而传递到抓取器模块的回调函数来以z次序枚举属于桌面窗口的子窗口。抓取器模块遍历桌面上的所有窗口递归地迭代,并且标识属于共享软件应用程序的那些窗口。在该过程中,抓取器模块标识与共享软件应用程序的顶层窗口相对应的那个桌面的子窗口。针对匹配顶层窗口中的每一个,抓取器模块调用遍历匹配顶层窗口的子窗口递归地迭代的函数;该函数递归地调用本身。
抓取器模块根据所确定的z次序对与软件进程相关联的顶层窗口的初始列表排序(图13,框604)。
抓取器模块将顶层窗口的初始列表中未包括在经排序列表中的任一窗口附加到经排序列表(图11,框606)。该步骤用于覆盖可能已错过的任何窗口(例如,在开始排序进程之后删除的窗口)。
抓取器模块用顶层窗口的经排序列表来代替初始列表(图13,框608)。
d.远程访问
如果观察者只有观察访问权,则共享者网络节点上的应用共享服务只将共享窗口内容的合成图像(以样本的形式)传送到观察者网络节点的订阅节点。观察者网络节点上的观察者只能被动地观察共享者显示器上的共享窗口的合成图像。
另一方面,如果观察者具有控制访问权,则共享者网络节点上的应用共享服务将共享窗口内容的合成图像(以样本的形式)传送到观察者网络节点的订阅节点。另外,抓取器模块将从观察者网络节点接收到的命令与共享者网络节点上的共享者所生成的命令组合,并且将命令的组合集传递到共享应用。这允许观察者控制、编辑和操纵共享者网络节点上的共享应用。命令通常从通过观察者和共享者网络节点上的一个或多个用户输入设备(例如,键盘、计算机鼠标、触摸板、以及触摸屏)生成的事件导出。
图14示出第一网络节点610的实施例610和第二网络节点612的实施例612。在所示的实施例中,第一网络节点610(称为“共享者网络节点610”)与第二网络节点612(称为“观察者网络节点612”)共享与共享进程616相关联的窗口内容614。共享者网络节点610包括呈现窗口内容614的显示器618、显示进程620、通信应用程序26的实施例622、以及网络层624。类似地,观察者网络节点612包括显示器626、显示进程628、通信应用程序26的实施例630、以及网络层632。
显示进程620、628分别提供共享者网络节点610和观察者网络节点612的显示设施。显示设施控制在共享者和观察者显示器618、626上写视觉内容。在一些实施例中,显示设施包括图形设备接口(例如,在MicrosoftWindows应用程序环境中可用的GDI),该图形设备接口提供可被软件进程调用以在显示器618、626上呈现视觉内容的函数。
网络层624、632分别提供共享者网络节点610和观察者网络节点612的联网设施。网络设施包括,例如,联网通信协议栈和执行与通过网络18发送和接收信息相关联的进程的联网硬件。
通信应用程序622、630分别将各种通信设施(包括应用共享设施)提供给共享者网络节点610和观察者网络节点612。在所示的实施例中,共享者网络节点610上的通信应用程序622在共享者的显示器上生成共享窗口内容614的合成图像634、通过网络18将合成图像634传送到观察者网络节点612以供在观察者的显示器626上呈现、并且准许对共享窗口内容614的观察者远程控制访问。观察者网络节点612上的通信应用程序630控制合成图像634在显示器626上的呈现,将用户输入变换成命令,并且将命令传送到共享者网络节点610。
图15示出图14所示的应用共享上下文中的共享者网络节点610实现的应用共享方法的实施例。
根据图15的方法,共享者网络节点610上的通信应用程序622捕获与共享软件进程相关联的窗口的合成图像(图15,框637)。在一些实施例中,以上所述的窗口捕获进程用于捕获合成图像。通信应用程序622将合成图像传送到观察者网络节点612(图15,框639)。在该过程中,通信应用程序将合成图像的样本传递到网络层624,网络层624将样本转换成网络格式,并且通过网络18将经转换样本传送到观察者网络节点612。
通信应用程序622接收从共享者网络节点610上所生成的本地输入设备事件导出的命令(图15,框640)。同时,通信应用程序622接收从在观察者网络节点612上生成的远程输入设备事件导出的命令(图15,框642)。在该上下文中,命令是执行任务的指示或指令,其中指示或指令从一个或多个输入设备上的用户动作(或输入)发起的输入设备事件(例如,点击计算机鼠标的一个或多个按钮或者计算机键盘的键)的解释导出。诸如计算机鼠标、触摸板和触摸屏事件之类的一些指针输入设备事件被绑定到在显示器上呈现的图形用户界面中的指针(或光标)的位置。这些类型的输入设备事件通常被转换成包括描述输入类型(例如,左击、右击、左键双击、滚轮等)的输入类型参数值和描述相对于上下文有关的坐标系在何处键入输入的位置参数值两者的命令。
共享者和观察者网络节点610、612上的操作系统通常将指针输入设备事件转换成用户命令,其中相对于图形用户界面的主窗口(例如,MicrosoftWindows应用程序环境中的桌面窗口)的坐标系来定义位置参数值。通信应用程序622接收到的共享者的输入命令(图15,框640)是操作系统生成的用户命令,这些命令还用于控制对共享者网络节点610上的用户模式软件进程(例如,共享进程616)的操作。另一方面,通信应用程序622接收到的观察者的输入命令(图15,框642)通常是操作系统生成的用户输入命令的版本。具体而言,在将观察者命令传送到共享者网络节点610之前,观察者网络节点612上的通信应用程序630将操作系统生成的命令中的位置参数值从显示器626上的图形用户界面的主窗口的坐标系重新映射到合成图像634的坐标系。例如,在所示实施例中,位置参数值被重新映射到在合成图像634的左上角具有原点(0,0)且具有沿合成图像634的底部和左边缘延伸的x和y轴的坐标系。
通信应用程序622将接收到的命令处理成命令序列(图15,框644)。在该过程中,通信应用程序622通常将观察者命令中的位置参数值从合成图像634的坐标系重新映射到显示器618上图形用户界面的主窗口的坐标系。通信应用程序随后将接收到的命令排列成按接收时间排序的序列,并且将命令的所得序列存储在存储缓冲器中。
通信应用程序622将命令序列传递到共享进程616(图15,框646)。在该进程中,针对每个命令,通信应用程序通常调用允许其指定Windows将向其发送命令的窗口的Win32 API函数。
共享进程616调用显示进程620所提供的一个或多个图形设备接口函数,从而在共享者显示器618上、根据接收到的命令序列来呈现与共享软件进程616相关联的窗口(图15,框648)。
根据指定更新时间表,重复该进程(图15,框640-652)。
IV.示例性操作环境
A.系统体系结构
1.引言
图16示出包括第一网络节点12(称为“第一客户端网络节点”)、第二网络节点14(称为“第二客户端网络节点”)和通过网络18互连的虚拟环境创建器16的示例性网络通信环境10的实施例。结合图1如上所述地配置第一客户端网络节点12和第二客户端网络节点14。虚拟环境创建器16包括提供网络基础设施服务环境30的至少一个服务器网络节点28。通信应用程序26和网络基础设施服务环境30一起提供用于创建空间虚拟通信环境(在本文中也简称为“虚拟环境”)的平台(在本文中称为“平台”)。
在一些实施例中,网络基础设施服务环境30根据虚拟区域应用34来管理第一和第二客户端节点12、14在虚拟区域32中的会话。虚拟区域应用34由虚拟区域32主存,并且包括对虚拟区域32的描述。在第一和第二客户端网络节点12、14上操作的通信应用程序26根据从网络基础设施服务环境30接收到的数据来呈现虚拟区域32的相应视图,并且提供用于从通信者接收命令的相应接口。通信者通常在虚拟区域32中由相应头像来表示,该头像响应于通信者在其相应网络节点输入的命令在虚拟区域32中四处移动。虚拟区域32的每个通信者的视图通常是从该通信者的头像的观点来呈现的,这增加了该通信者所体验的身临其境的程度。每个通信者通常能够观察虚拟区域32中在他或她的头像周围的任何部分。在一些实施例中,通信应用程序26基于通信者的头像在虚拟区域32中的位置在第一和第二客户端网络节点12、14以及共享虚拟区域32的其他网络节点之间建立实时数据流连接。
网络基础设施服务环境30还维护包含通信者之间的交互的记录38的关系数据库36。每项交互记录38描述一对通信者之间的交互的上下文。
2.网络环境
网络18可包括局域网(LAN)、城域网(MAN)和广域网(WAN)(例如,因特网)中的任一个。网络18通常包括多个不同计算平台和支持网络节点之间各种各样不同媒体类型(例如,文本、语音、音频、以及视频)传输的传输设施。
通信应用程序26(参见图13)通常在包括软件和硬件资源的客户端网络节点上操作,这些软件和硬件资源与管理策略、用户偏好(包括关于用户在场的输出以及用户与区域和其他用户的连接的偏好)、以及其他设置一起定义影响对与其他网络节点的实时连接的管理的本地配置。网络节点之间的网络连接可以各种不同流处置拓扑来排列,包括对等体系结构、服务器仲裁的体系结构、以及组合对等和服务器仲裁的体系结构的各方面的混合式体系结构。在皆于2007年10月24日提交的美国专利申请No.11/923,629和11/923,634中描述了这些类型的示例性拓扑。
3.网络基础结构服务
网络基础结构服务环境30通常包括在建立和管理客户端节点12、14和其他网络节点之间的网络连接的过程中与通信应用程序26协作的一个或多个网络基础结构服务(参见图13)。网络基础结构服务可在单个网络节点上运行,或者可跨多个网络节点分发。网络基础结构服务通常在一个或多个专用网络节点(例如,服务器计算机或执行诸如路由和交换之类的一个或多个边缘服务的网络设备)上运行。然而,在一些实施例中,网络基础结构服务中的一个或多个在通信者的网络节点中的至少一个上运行。网络基础结构服务环境30的示例性实施例中所包括的网络基础结构服务有账户服务、安全服务、区域服务、集合服务、以及交互服务。
账户服务
账户服务管理虚拟环境的通信者账户。账户服务还管理客户端网络节点可用于向网络基础结构服务中的任一个认证它们自己的认证令牌的创建和颁发。
安全服务
安全服务控制通信者对虚拟环境的资产和其他资源的访问。安全服务所实现的访问控制方法通常基于一种或多种能力(其中准许具有适当能力或许可的实体访问)和访问控制列表(其中准许具有列表上的身份的实体访问)。在已准许特定通信者访问资源之后,该通信者通常使用其他网络基础结构服务所提供的功能在网络通信环境10中交互。
区域服务
区域服务管理虚拟区域。在一些实施例中,区域服务根据受一组约束47制约的虚拟区域应用34来远程地配置在第一和第二客户端网络节点12、14上操作的通信应用程序26(参见图13)。约束47通常包括对访问虚拟区域的控制。访问控制一般基于一种或多种能力(其中准许具有适当能力或许可的通信者或客户端节点访问)和访问控制列表(其中准许具有列表上的身份的通信者或客户端节点访问)。
区域服务还根据请求实体的能力来管理与虚拟区域相关联的网络连接、维护虚拟区域的全局状态信息、以及用作参与虚拟区域32所定义的上下文中的共享通信会话的客户端网络节点的数据服务器。全局状态信息包括该虚拟区域中的所有对象及其在该虚拟区域中的相应位置的列表。区域服务发送配置客户端网络节点的指令。区域服务还向请求加入通信会话的其他客户端网络节点注册并传送初始化信息。在该过程中,区域服务可根据虚拟区域应用34向每个加入的客户端网络节点传送在该客户端网络节点上呈现虚拟区域32所需的组件(例如,插件)列表。区域服务还确保客户端网络节点在发生通信故障的情况下可同步到全局状态。区域服务通常经由与虚拟区域相关联的支配规则来管理通信者与这些虚拟区域的交互。
集合服务
集合服务根据请求实体的能力来管理在场信息的收集、存储和分发,并且为网络节点提供彼此通信的机制(例如,通过管理连接句柄的分发)。集合服务通常将在场信息存储在在场数据库中。集合服务通常经由通信者私人偏好来管理通信者彼此的交互。
交互服务
交互服务维护包含通信者之间的交互的记录38的关系数据库36。对于通信者之间的每次交互,网络基础结构服务环境30中的一项或多项服务(例如,区域服务)将交互数据传送到交互服务。作为响应,交互服务生成一项或多项相应交互记录,并且将其存储在关系数据库中。每项交互记录描述一对通信者之间的交互的上下文。例如,在一些实施例中,交互记录包含各个通信者的标识符、交互场所(例如,虚拟区域实例)的标识符、对交互场所的分层结构的描述(例如,对交互空间如何与一更大区域相关的描述)、交互的开始时间和结束时间、以及在交互期间共享或记录的所有文件和其他数据流的列表。因此,对于每次实时交互,交互服务跟踪其何时发生、在何处发生、以及在交互期间在所涉及(例如,进入和退出)的通信者、被激活/停用的对象和共享的文件的方面发生了什么。
交互服务还支持根据请求实体的能力对关系数据库36的查询。交互服务基于虚拟区域以经排序次序(例如,最频繁或最新近)呈现对交互数据库记录的查询结果。查询结果可被用于驱动对通信者已在哪些虚拟区域中遇见的联系人的频率排序、以及在不论虚拟区域的情况下该通信者已遇见的联系人的排序和对该通信者最频繁出入的虚拟区域的排序。查询结果还可被应用开发者用作基于关系使某些任务自动化的启发式系统的部分。这种类型的启发的示例是许可已经拜访一特定虚拟区域5次以上的通信者不必经默认的敲门就进入的启发、或者允许在一特定时间存在于一区域中的通信者修改和删除在同一时间同一区域中存在的另一通信者所创建的文件的启发。对关系数据库36的查询可与其他搜索相组合。例如,对关系数据库的查询可与对针对使用位于网络基础结构服务环境30的域外部的通信系统(例如,Skype、Facebook和Flickr)与联系人交互所生成的联系人历史数据的查询相组合。
4.虚拟区域
通信应用程序26和网络基础结构服务环境30通常管理在虚拟区域的实例所定义的通信上下文中与网络节点的实时连接。虚拟区域实例可与相对于抽象坐标所定义的抽象(非几何)虚拟空间相对应。替换地,虚拟区域实例可与相对于与特定视觉化相关联的一维、二维或三维几何坐标所定义的视觉虚拟空间相对应。抽象虚拟区域可以与或可以不与相应视觉化相关联,而视觉虚拟区域与相应视觉化相关联。
如上所解释的,通信者通常由具有相关联视觉化的虚拟区域中的相应头像来表示。头像响应于通信者在其相应网络节点输入的命令在虚拟区域中四处移动。在一些实施例中,虚拟区域实例的通信者的视图通常是从该通信者的头像的观点来呈现的,并且每个通信者通常能够观察到该视觉虚拟区域中在他或她的头像周围的任何部分,从而增加了通信者体验到的身临其境的程度。
图17示出计算机系统48实现的示例性网络节点的实施例。计算机系统48包括显示监视器50、计算机鼠标52、键盘54、扬声器56、58、以及话筒60。显示监视器50显示图形用户界面62。图形用户界面62是可包括多个窗口、图标和指针64的基于窗口的图形用户界面。在所示的实施例中,图形用户界面62呈现对与表示艺廊的三维视觉化相关联的共享虚拟区域66的二维描绘。通信者在该虚拟区域66中由相应头像68、70、72来表示,每个头像可在该虚拟区域66的上下文中具有相应角色(例如,馆长、艺术家和访客)。
如在下文中详细解释的,虚拟区域66包括区段74、76、78、80、82,这些区段与支配虚拟区域66中的头像68-72表示的网络节点之间的实时数据流的交换的相应规则相关联。(在典型的通信会话期间,在图16中划界出区段74-82的虚线对于通信者而言是不可见的,尽管可能存在与这些区段边界相关联的视觉线索。)交换规则规定在网络节点中的每一个上执行的本地连接进程如何基于通信者的头像68-72在虚拟区域66的区段74-82中的位置来建立与其他网络节点的通信。
虚拟区域由包括对该虚拟区域的几何元素的描述以及一个或多个规则(包括交换规则和支配规则)的规范来定义。交换规则支配网络节点之间的实时流连接。支配规则控制通信者对诸如虚拟区域本身、具有虚拟区域的地区、以及虚拟区域内的对象之类的资源的访问。在一些实施例中,虚拟区域的几何元素根据COLLADA-Digital Asset Schema Release 1.4.1 April 2006 specification(2006年4月COLLADA-数字资产方案发布1.4.1规范,可从http://www.khronos.org/collada/得到)进行了描述,而交换规则根据在美国专利申请No.11/923,629和11/923,634中描述的COLLADA流参考规范使用可扩展标记语言(XML)文本格式(在本文称为虚拟空间描述格式(VSDL))进行描述。
虚拟区域的几何元素通常包括虚拟区域的物理几何形状和碰撞几何形状。物理几何形状描述虚拟区域的形状。物理几何形状通常由三角形、四边形、或多边形的表面构成。颜色和纹理被映射到物理几何形状上以创建虚拟区域的更真实外观。例如,可通过将光线绘制到视觉几何形状上并修改光线附近的纹理、颜色、或亮度来提供照明效果。碰撞几何形状描述确定对象可在虚拟区域中移动的方式的不可见表面。碰撞几何形状可与视觉几何形状一致、与视觉几何形状的更简单近似相对应、或与对虚拟区域设计者的应用专用要求相关。
交换规则通常包括对用于根据虚拟区域中的位置来连接实时数据流的源和宿的条件的描述。每个规则通常包括定义该规则所应用的实时数据流类型、以及在该规则应用的虚拟区域中的位置或诸位置的属性。在一些实施例中,规则各自可任选地包括指定源的所需角色、宿的所需角色、流的优先级别、以及所请求的流处置拓扑的一个或多个属性。在一些实施例中,如果没有为虚拟区域的特定部分定义显式交换规则,则可向虚拟区域的该部分应用一个或多个隐式或默认交换规则。一个示例性默认交换规则是根据策略规则将区域内的每个源连接到每个兼容宿的规则。策略规则可全局地应用于客户端节点之间的所有连接,或者只应用于与各个客户端节点的相应连接。策略规则的示例是接近度策略规则,该规则仅允许源与关联于虚拟区域中彼此在规定距离(或半径)内的相应对象的兼容宿的连接。
在一些实施例中,支配规则与虚拟区域相关联,以控制谁访问该虚拟区域、谁访问其内容、访问该虚拟区域的内容的范围是什么(例如,用户关于该内容能做什么)、以及访问那些内容的后继结果是什么(例如,记录跟踪,诸如审计日志和支付要求)。在一些实施例中,整个虚拟区域或该虚拟区域的区段与“支配网格”相关联。在一些实施例中,支配网格是以与美国专利申请No.11/923,629和11/923,634中所描述的区段网格的实现相类似的方式来实现的。支配网格使软件应用程序开发者能够将支配规则与虚拟区域或虚拟区域的区段相关联。这避免了为虚拟区域中的每个文件创建各个许可的需求,并且避免了处理在需要取决于上下文分别对待同一文档时可能产生的复杂性的需求。
在一些实施例中,虚拟区域与使该虚拟区域的一个或多个区段与数字版权管理(DRM)功能相关联的支配网格相关联。DRM功能控制对虚拟区域、或该虚拟区域内的一个或多个区段、或该虚拟区域内的对象中的一个或多个的访问。在每次通信者越过该虚拟区域内的支配网格边界时触发DRM功能。DRM功能确定是否许可触发动作,并且如果是,则确定许可动作的范围是什么、是否需要支付、以及是否需要生成审计记录。在虚拟区域的示例性实现中,相关联支配网格被配置成使得如果通信者能够进入该虚拟区域,则他或她能够对与该虚拟区域相关联的所有文档执行动作,包括操纵文档、查看文档、下载文档、删除文档、修改文档和重新上传文档。以此方式,虚拟区域可变成在由该虚拟区域所定义的上下文中共享和讨论的信息的储存库。
在美国专利申请No.61/042714(提交于2008年4月4日)、11/923,629(提交于2007年10月24日)和11/923,634(提交于2007年10月24日)中描述了关于虚拟区域的规范的附加细节。
5.通信应用程序
在一些实施例中,通信应用程序26包括:
a.本地人机接口设备(HID)和音频回放设备;
b.So3D图形显示、头像和物理引擎;
c.系统数据库和存储设施。
a.本地人机接口设备(HID)和音频回放设备
本地HID使通信者在参与虚拟区域通信会话时能够向客户端网络节点输入命令和其他信号。示例性HID包括计算机键盘、计算机鼠标、触摸屏显示器、以及话筒。
音频回放设备使通信者能够回放在虚拟区域通信会话期间接收到的音频信号。示例性音频回放设备包括用于操纵(例如,混频和施加特殊效果)音频信号的音频处理硬件(例如,声卡)、以及用于输出声音的扬声器。
b.So3D图形显示、头像、和物理引擎
So3D引擎是控制虚拟区域和虚拟区域内的对象在显示监视器上的相应视图的呈现的三维视觉化引擎。So3D引擎通常与图形用户界面驱动器和HID设备通过接口连接,以呈现虚拟区域的视图并允许通信者控制通信应用程序26的操作。
在一些实施例中,So3D引擎从区域服务接收图形渲染指令。So3D引擎还可读取包含渲染通信者在虚拟区域中的头像所需的图像的本地通信者头像数据库。基于该信息,So3D引擎从通信者在虚拟区域内的头像的角度(位置和方向)生成虚拟区域和该虚拟区域内的对象的视觉表示(即,图像)。该视觉表示通常被传递到操作系统的图形渲染组件,该图形渲染组件驱动图形渲染硬件在客户端网络节点上渲染虚拟区域的视觉表示。
通信者可通过经由HID设备(例如,计算机鼠标)输入视图控制命令来控制所呈现的虚拟区域的视图。So3D引擎根据视图控制命令来更新虚拟区域的视图。So3D引擎还根据从区域服务26接收到的经更新的对象位置信息来更新虚拟区域在显示监视器上的图形表示。
c.系统数据库和存储设施
系统数据库和存储设施存储平台所使用的各种类型的信息。通常由存储设施存储的示例性信息包括在场数据库、关系数据库、头像数据库、真实用户id(RUID)数据库、样式(art)高速缓存数据库、以及区域应用数据库。该信息可被存储在单个网络节点上,或者其可跨多个网络节点分发。
6.客户端节点体系结构
通信者通常从客户端网络节点连接到网络18。客户端网络节点通常由通用计算机系统或专用通信计算机系统(或“控制台”,诸如启用网络的视频游戏控制台)来实现。客户端网络节点执行建立与其他网络节点的实时数据流连接的通信过程,并且通常执行呈现该通信者所进入的每个虚拟区域的视图的视觉化渲染过程。
图18示出计算机系统120实现的客户端网络节点的实施例。计算机系统120包括处理单元122、系统存储器124、以及将处理单元122耦合到计算机系统120的各个组件的系统总线126。处理单元122可包括一个或多个数据处理器,这些数据处理器各自可以是各种市场上可买到的计算机处理器中的任一种的形式。系统存储器124包括通常与定义对软件应用程序可用的地址的软件应用程序寻址空间相关联的一个或多个计算机可读介质。系统存储器124可包括存储基本输入/输出系统(BIOS)的只读存储器(ROM)和随机存取存储器(RAM),该BIOS包含用于计算机系统120的启动例程。系统总线126可以是存储器总线、外围总线或本地总线,并且可与各种总线协议(包括PCI、VESA、Microchannel、ISA和EISA)中的任一种兼容。计算机系统120还包括持久存储存储器128(例如,硬盘驱动器、软盘驱动器、CD ROM驱动器、磁带驱动器、闪存设备、以及数字视频盘),持久存储存储器128连接到系统总线126,并且包含为数据、数据结构和计算机可执行指令提供非易失或持久存储的一个或多个计算机可读介质盘。
通信者可使用一个或多个输入设备130(例如,一个或多个键盘、计算机鼠标、话筒、相机、操纵杆、诸如Wii输入设备之类的物理运动传感器、以及触摸板)与计算机系统120交互(例如,输入命令或数据)。信息可通过在显示监视器132上呈现给通信者的图形用户界面(GUI)来呈现,显示监视器132由显示控制器134控制。计算机系统120还可包括其他输入/输出硬件(例如,诸如扬声器和打印机之类的外围输出设备)。计算机系统120通过网络适配器136(也称为“网络接口卡”或NIC)连接到其他网络节点。
多个程序模块可被存储在系统存储器124中,包括应用编程接口138(API)、操作系统(OS)140(例如,可从美国华盛顿州雷蒙德市的微软公司可得到的Windows XP操作系统)、通信应用程序26、驱动器142(例如,GUI驱动器)、网络传输协议144、以及数据146(例如,输入数据、输出数据、程序数据、注册表、以及配置设置)。
7.服务器节点体系结构
在一些实施例中,虚拟环境创建器16的一个或多个服务器网络节点由与客户端网络节点120类型相同的相应通用计算机系统实现,不同之处在于每个服务器网络节点通常包括一个或多个服务器软件应用程序。
在其他实施例中,虚拟环境创建器16的一个或多个服务器网络节点由执行边缘服务(例如,路由和交换)的相应网络设备实现。
B.示例性通信会话
回到图17,在通信会话期间,每个客户端网络节点生成相应的一组实时数据流(例如,运动数据流、音频数据流、聊天数据流、文件传递数据流、以及视频数据流)。例如,每个通信者操纵生成运动数据流的一个或多个输入设备(例如,计算机鼠标52和键盘54),这些运动数据流控制他或她的头像在虚拟区域66中的移动。另外,在计算机系统48附近本地生成的通信者的语音和其他声音由话筒60捕获。话筒60生成可转换为实时音频流的音频信号。将音频流的相应副本传送到虚拟区域66中的头像表示的其他网络节点。将在这些其他网络节点处本地生成的声音转换成实时音频信号,并且将其传送到计算机系统48。计算机系统48将其他网络节点生成的音频流转换由扬声器56、58渲染的音频信号。可将运动数据流和音频流从每一个通信者节点直接或间接传送到其他客户端网络节点。在一些流处置拓扑中,客户端网络节点各自接收其他客户端网络节点传送的实时数据流的副本。在其他流处置拓扑中,一个或多个客户端网络节点接收从源自(或发源于)网络节点中的另外一些的实时数据流导出的一个或多个流混合。
在一些实施例中,区域服务维护全局状态信息,该全局状态信息包括虚拟区域的当前规范、位于该虚拟区域中的对象的当前注册表、以及当前正由主存区域服务的网络节点生成的任何流混合的列表。对象注册表针对虚拟区域中的每个对象通常包括相应对象标识符(例如,唯一地标识该对象的标签)、使得能建立与关联于该对象的网络节点的网络连接的连接句柄(例如,URI,诸如IP地址)、以及标识与该对象相关联的实时数据源和宿(例如,与该对象相关联的网络节点的源和宿)的接口数据。对象注册表通常还包括针对每个对象的一个或多个任选角色标识符;这些角色标识符可被通信者或区域服务显式分配给这些对象,或者可从这些对象或该用户的其他属性中推断出。在一些实施例中,对象注册表还包括每个对象在虚拟区域中的当前位置,这些当前位置由区域服务从对接收自与虚拟区域中的对象相关联的网络节点的实时运动数据流的分析确定。在这点上,区域服务从与虚拟区域中的对象相关联的网络节点接收实时运动数据流、基于这些运动数据跟踪进入、离开虚拟区域和在虚拟区域中四处移动的通信者的头像和其他对象。区域服务根据被跟踪对象的当前位置来更新对象注册表。
在管理与其他网络节点的实时数据流连接的过程中,区域服务为客户端网络节点中的每一个维护一组配置数据,包括接口数据、区段列表、以及当前位于虚拟区域中的对象的位置。针对与客户端网络节点中的每一个相关联的每个对象,接口数据包括与该对象相关联的实时数据流类型的所有源和宿的相应列表。区段列表是虚拟区域中当前被与相应客户端网络节点相关联的头像占据的所有区段的注册表。当通信者首次进入一虚拟区域中时,区域服务通常用位置初始化信息来初始化当前对象位置数据库。此后,区域服务用对象在虚拟区域中的当前位置来更新当前对象位置数据库,这些当前位置是从对接收自共享该虚拟区域的其他客户端网络节点的实时运动数据流的分析确定的。
C.与空间虚拟通信环境通过接口连接
除了本地人机接口设备(HID)和音频回放设备、So3D图形显示、头像、和物理引擎、以及系统数据库和存储设施以外,通信应用程序26还包括使用户能与空间虚拟通信环境通过接口连接的图形导航和交互接口(在本文中称为“探寻器接口”)。探寻器接口包括使用户能够在虚拟环境中导航的导航控件、以及使用户能够控制他或她与虚拟通信环境中的其他通信者交互的交互控件。导航控件和交互控件通常对使用任何类型的输入设备(包括计算机鼠标、触摸板、触摸屏显示器、键盘、以及视频游戏控制器)作出的用户选择作出响应。探寻器接口是在每个客户端网络节点上操作的应用。探寻器接口是用户可在他或她的桌面上始终保持和运行的小型、轻量级接口。探寻器接口允许用户启动虚拟区域应用、并向用户提供对实时联系人和实时协作场所(或区域)的即时访问。探寻器接口与实时通信应用程序和/或底层操作系统的实时通信组件整合在一起,以使探寻器接口可发起并接收与其他网络节点的实时通信。虚拟区域通过探寻器接口与用户的桌面整合在一起,以使用户可将文件上传到虚拟环境创建器16所创建的虚拟环境中、通过使用与虚拟环境无关但仍然存在于虚拟区域中的本地客户端软件应用程序来使用与虚拟区域相关联地存储的文件、以及更一般地将虚拟区域内的在场和位置作为与其他操作系统功能相类似的其操作环境的一方面而不只是仅若干应用之一来对待。
空间虚拟通信环境通常可被建模为场所(在本文中也称为“位置”)和对象的空间分层结构。空间分层结构包括从顶层到底层范围的层级的经排序序列。空间分层结构的后继层级中的场所各自被包含在前一层级中的相应场所中。空间分层结构中的对象各自被包含在相应场所中。空间分层结构的层级通常关联于与地理、架构、或市区象征一致的相应视觉化,并且被相应地标记。每个虚拟区域的区段由相应网格定义,其中一些网格定义可包含对象(例如,头像和道具,诸如观察屏对象和开会对象)的物理环境的元素(例如,与建筑物相关联的空间,诸如房间和院子)。
探寻器接口的导航控件允许用户根据与场所和对象的底层空间分层结构绑定的导航模型穿过虚拟环境中的路径。网络基础结构服务环境30记录用户所穿过的路径。在一些实施例中,网络基础结构服务环境30记录包括随着用户在虚拟区域中导航向用户呈现的虚拟区域的时间排序视图列表的历史。每个视图通常对应于虚拟区域的相应可渲染区段的视图。在这些实施例中,导航控件使用户能够移到该历史中的所选一些区段。导航控件还包括示出空间分层结构中对应于用户观察到的虚拟区域的当前视图的位置的深度路径的图形表示。在一些实施例中,深度路径的图形表示包括到虚拟区域的空间分层结构模型中在当前视图上方的每个先前层级的相应视图的相应用户可选链路。
探寻器接口的交互控件允许用户管理与其他通信者的交互。用户可用的交互选项通常取决于用户在场的区段。在一些实施例中,在特定区段中在场的通信者可用的交互选项与在该区段中不在场的其他通信者可用的选项不同。细节程度和用户的交互性通常取决于用户在特定区段中是否在场。在一个示例性实施例中,如果用户在虚拟区域外,则向该用户提供在该虚拟区域内发生的交互的最低程度的细节(例如,该用户可以看到楼层平面图的轮廓、背景纹理、以及该区域的植物,但是该用户无法看到其他通信者出现在该区域中何处);如果用户在虚拟区域内但在该区域的特定区段外,则向该用户提供在该特定区段内发生的交互的中等程度的细节(例如,该用户可看到其他通信者出现在该区域内何处,看到他们的当前状态的视觉化--交谈、键入聊天消息,无论他们的耳机和话筒是否开启--以及看到是否有任何观察屏是活跃的);如果用户在该区域的特定区段内,则向该用户提供该特定区段发生的交互的完全程度的细节(例如,该用户可看到正在观察屏上共享的文件的缩略图,听到并向该区域中的其他通信者讲话,以及看到该区段中的通信者生成的聊天消息的日志的元素)。在一些实施例中,与虚拟区域的区段相关联的交换和支配规则控制网络基础结构服务如何区分在特定区段中在场的那些人和在特定区段中不在场的那些人。
图19示出在窗口162中显示且包括一个或多个选项卡164的探寻器接口的实施例160,其中每个选项卡具有浏览区域166和工具栏168。
选项卡164中的每一个通常与虚拟环境的相应视图相关联。在所示的实施例中,在表164中呈现的视图(标记为“我的区域”)与相应虚拟区域集合相关联,该虚拟区域集合可以是虚拟环境中的默认虚拟区域集合、或者其可以是交互数据库上的相应过滤器标识的虚拟区域集合。具体而言,选项卡164与三个虚拟区域(即,Acme、Sococo帮助区域、以及个人空间)的集合相关联,该集合可以是与该用户相关联的区域的默认集合、或者可由标识与该用户相关联的所有区域(例如,该用户已交互的所有区域)的过滤器标识。可通过选择“+”按钮170来创建附加选项卡。
每个选项卡的浏览区域166示出虚拟环境的与该选项卡相关联的元素的图形表示。例如,在所示的实施例中,浏览区域166示出与选项卡164相关联的虚拟区域的顶层视图172、174、176。用户可通过选择这些虚拟区域中的任一个的相应图形表示来导航到该虚拟区域的空间分层结构模型中的下一较低层。
工具栏168包括探寻器接口基于用户在虚拟环境中的当前位置自动选择的导航和交互工具的自适应集合。在所示的实施例中,工具栏168包括后退按钮178、前进按钮180、地标按钮182、以及主页按钮184。后退按钮178对应于使用户能够递增地向后移到该用户曾穿过的区段历史中的先前一些区段的后退控件。前进按钮180对应于使用户能够递增地向前移到该用户曾穿过的区段历史中的后继一些区段的前进控件。地标按钮182提供了用于将链接存储到各区段的放置地标控件、以及用于查看到先前已放置地标的区段的链接列表的地标导航控件。响应于用户对放置地标控件的选择,通过与到虚拟区域中的相应位置的超链接相关联地存储当前视图中示出的位置的图像来创建地标。响应于用户对地标导航控件的选择,向用户呈现地标窗口。地标窗口包括该用户已经做了地标的所有位置的实况视觉化。地标窗口中的图像各自与相应用户可选超链接相关联。响应于用户对地标窗口中的超链接之一的选择,在探寻器接口窗口162的浏览区域166中自动显示对应于与所选超链接相关联的位置的虚拟区域的视图。主页按钮184对应于使用户返回到虚拟环境中的指定“主页”位置的视图(例如,图19中所示的视图)的控件。
参照图20,响应于用户对图19中所示的Acme虚拟区域的图形表示172的选择,平台将该用户移入该虚拟区域的默认区段、自动建立该用户在默认区段中的在场性、以及自动建立该用户与占据所选区段的每个其他通信者之间的网络连接。基于由区域设计者建立的交换规则,该平台复用默认区段中的所有通信者的指定实时数据流(例如,来自话筒和扬声器的流),以使得他们既能看到彼此的子图形或头像又能彼此通信(例如,讲和听)。
探寻器接口在选项卡164的浏览区域166中示出Acme虚拟区域的俯视图或楼层平面图,并向用户提供默认的交互选项集合。在所示的实施例中,在虚拟区域的院子区段190中自动建立在场性,且用户的话筒和默认扬声器(例如,耳机)开启。在图20中所示的楼层平面图中,用户由圆形子图形192表示;Acme虚拟区域中的其他用户也由相应的圆形子图形194-202表示。用户的扬声器的状态通过用户子图形192上是否存在耳机图形203来描绘:当扬声器开启时,存在耳机图形203,而在扬声器关闭时,不存在耳机图形203。用户的话筒的状态通过用户子图形192上是否存在话筒图形206以及围绕用户子图形192的一系列同心圆204来描绘:在话筒开启时,存在话筒图形206和同心圆204,而在话筒关闭时,不存在话筒图形206和同心圆204。耳机图形203、同心圆204和话筒图形206用作对用户的声音回放和话筒设备的状态的视觉提醒。
除了后退按钮178、前进按钮180、地标按钮182以及主页按钮184之外,工具栏168还包括起源于主页按钮184并且包括主页按钮184的一系列一个或多个面包屑(breadcrumb)按钮207。面包屑按钮207对应于后继用户可选链接的分层序列。每个后继链接对应于该虚拟区域的分层模型中的相应层级的视图,其中每个后继层级被先前一些层级包含。在所示的实施例中,面包屑按钮207包括主页按钮184和对应于图20中所示的Acme虚拟区域的当前视图的Acme按钮208。面包屑按钮207向用户提供对虚拟环境的不同层级的相应视图的单按钮选择访问。工具栏168还包括按钮210和设置按钮212。
在一区域被选择或关注时,按钮210表现为两个人的肖像表示且被标记为“成员”,并允许成员和仲裁人看到与一区域相关联的人的列表。在音频或聊天区段被关注时,按钮210具有不同的图像(例如,向下指到平面上的箭头的图像以表示获取操作)且被标记为“获取”。响应于用户对按钮210的选择,在用户界面中显示Acme虚拟区域166的所有成员的列表。用户可选择该列表中的任何通信者并点击在用户界面中呈现的获取按钮;作为响应,该平台向所选通信者传送在指定的区段之一中加入该用户的邀请。
设置按钮212向用户提供对用于指定与当前区域相关联的默认设置的一组控件的访问。
用户可以各种不同的方式从图20中所示的Acme虚拟区域的视图导航回退到图19中所示的视图。例如,用户可选择以下任一者:后退按钮178、主页按钮184、或在图20中所示的Acme虚拟区域的图形表示边界外的区段211的任何部分。
用户可导航到Acme虚拟区域的任何区段。在一些实施例中,为了移到一区段,用户传送用于执行在监视器上显示的区段之一的命令(例如,通过选择该区段并随后点击(工具栏中的)进入按钮,或者作为捷径,双击该区段),并且作为响应,平台在对应于该区段对象的区段中描绘用户的头像。响应于区段执行命令,探寻器接口勾勒出该区段(向用户指示其被选择)并更新面包屑按钮207以在层次中显示所选区段位置。该选择特有的工具栏按钮也将出现在面包屑按钮207右侧。
用户还可与一区段中存在的任何对象(例如,屏幕、表格、或文件)交互。在一些实施例中,为了与对象交互,用户传送用于执行在监视器上显示的对象之一的命令(例如,通过选择该对象并随后点击(工具栏中的)查看按钮,或者作为捷径,双击该对象),并且作为响应,平台关于该对象执行操作(例如,呈现该对象的放大视图、打开交互界面窗口等)。响应于对象执行命令,探寻器接口勾勒出或另行突出该道具(向用户指示其被选择)并更新面包屑按钮207以在层次中显示所选对象位置。该选择特有的工具栏按钮也将出现在面包屑按钮207右侧。
参考图21,在一些实施例中,响应于用户进入主体空间213,平台自动建立该用户与占据所选区段的每个其他通信者之间的网络连接。用户也可通过选择一空间并点击进入按钮来进入该空间(并因此建立在该空间中的在场性);这导致平台将用户的子图形从其当前位置(即,院子)移到所选空间(即,主体)。在用户从一处移到另一处时,用户的扬声器和话筒的设置通常不变。
图22示出了其中用户已双击图21中所示的主体空间213的视图中的墙对象290的情形。
响应于用于执行墙对象290的用户命令,探寻器接口在选项卡164的浏览区域166中呈现墙对象290的内容以及主体空间213围绕墙对象290的区域的2.5维视图。在图22中所示的实施例中,所选墙对象290对应于主体空间213的北墙。北墙包含呈现在北墙对象290上的一对查看屏对象289、291(分别标记为“2”和“3”)。观察屏对象289、291可被用于呈现与主体空间213的北墙相关联的数据文件的内容。该2.5维视图还示出分别位于北墙对象290左侧和右侧的西墙对象293和东墙对象295。西墙对象293和东墙对象295各自包括可被用于呈现相应数据文件的内容的相应观察屏对象293、295(分别标记为“1”和“4”)。
该接口还在小地图256中示出主体空间213以及Acme空间围绕主体空间213的区域的视图。小地图256还示出主体空间213中所选北墙对象290的突出视图292。
在选项卡164的工具栏168中示出的面包屑按钮207包括对应于该虚拟区域的分层空间模型中的当前层级的北墙按钮294。工具栏168包括左旋按钮296和右旋按钮298,它们允许用户将当前视图左旋和右旋九十度(90°)从而用户可在主体空间213的2.5维视图的中心查看区域中查看主空间的不同墙的内容。用户还可双击小地图256中示出的诸墙中不同的一个墙以改变在主体空间213的2.5维视图的中心查看区域中呈现的内容。
图23示出了用户已在图22中所示的主体空间213的视图中的北墙上选择观察屏对象291(标记为“3”)之后的探寻器接口。用户可能已通过双击选项卡164的浏览区域166中示出的2.5维视图的中心查看区域中示出的观察屏对象291的任何部分或通过双击图22中所示的小地图256中的相应观察屏对象执行了观察屏对象291。响应于用户双击图22中所示的观察屏对象291,选项卡164的浏览区域166示出观察屏对象291以及北墙对象290围绕观察屏对象291的区域的放大视图,如图23中所示。用户可双击图22中所示的浏览区域166中北墙对象290围绕观察屏对象291的任何区域以返回图22中所示的主体空间213的浏览区域和小地图视图。在图23中所示的实施例中,小地图256示出墙对象290的内容连同主体空间围绕墙对象290的区域的2.5维视图;该视图对应于虚拟区域的分层空间模型中的前一层。面包屑按钮207包括对应于该虚拟区域的分层空间模型中的当前层级的屏3按钮302。工具栏168包括共享按钮304,其允许用户指定将在观察屏对象291(即,屏3)上呈现其内容的共享数据文件并藉此允许主体空间213中的所有通信者同时共享该数据文件。在浏览区域166中示出的观察屏对象291包括也允许用户指定该共享数据文件的共享链接306。
参考图24,响应于用户对共享按钮304或共享链接306的选择,探寻器接口打开单独的选择源接口窗口310,其允许用户指定将在观察屏对象291上共享其内容的数据文件,如以上IV部分所描述的。选择源接口包括用于接收数据文件标识符(例如,本地数据文件存储路径名或统一资源标识符(URI))的文本框312以及使得用户能浏览对应该数据文件标识符的不同位置的浏览按钮314。数据文件标识符可位于客户端节点12或另一网络节点上。选择源接口窗口310还包括收藏夹按钮316,其允许用户浏览先前加入书签的文件、应用程序、或数据文件标识符的URI的列表。
参考图25,在用户已在选择源接口中选择数据文件标识符之后,通信应用程序26市场所选数据文件的缩略图图像。在一些实施例中,调用抓取器模块来包含所选数据文件的缩略图图像。在一些实施例中,缩略图图像可以是与所选数据文件相关联的共享应用的主窗口的样本。在浏览区域166和小地图256两者中的观察屏对象291上显示缩略图图像。在所示的实施例中,指定的数据文件对应于包含饼分图的幻灯片的PowerPoint数据文件。用户可通过选择清除图标318来终止在观察屏对象291上呈现该数据文件。
一个或多个滚出去可订阅共享应用的窗口,从而通过点击(或双击)观察屏对象291上示出的缩略图图像来示出所选数据文件的内容。每个滚出去可根据任何支配规则来查看、控制、编辑或操纵呈现在观察屏对象192上的共享窗口内容,这些支配规则与所选数据文件或包含观察屏对象291的相关联。通过观察者具有对共享窗口内容的控制访问,作为观察者可通过使用观察者的网络节点上的一个或多个输入设备来将命令输入到在共享网络节点上执行的共享进程,如以上IV部分所描述的。假设可通过共享者网络节点和观察者网络节点之间的网络连接来实现实时性能,共享数据文件的编辑和其他操纵通常将显示给合作者中的每一个,好像它们在同一网络节点上进行一样。
V.结论
在本文中描述的实施例实现了与高保真度、实时性能、观察者身临其境和隐私保护的应用共享。一些实施例还实现了多通道应用共享,其中两个或两个以上通信者同时彼此共享应用程序和屏幕内容。这些实施例通常包括允许每个观察者将一个共享窗口与另一个区分开的界面。
其他实施例也落在权利要求的范围之内。
Claims (31)
1.一种方法,包括:
在共享者网络节点(12)的本地显示器(508)上的屏幕布局(506)中,标识与软件进程相关联的窗口(510-514);
在所述共享者网络节点(12)上,当所标识窗口(510-514)排列在所述屏幕布局(506)中且没有被所述屏幕布局(506)中的任何其他窗口遮挡时,生成所标识窗口(510-514)的合成图像(524);以及
将所述合成图像(524)从所述共享者网络节点(12)传送到观察者网络节点(14)。
2.如权利要求1所述的方法,其特征在于,所述标识包括标识所述屏幕布局(506)中的、与所述软件进程相关联的全部窗口(510-514)。
3.如权利要求1所述的方法,其特征在于,所述标识包括标识所述屏幕布局(506)中的多个窗口(510-514)中的与分配给所述软件进程的句柄相匹配的窗口。
4.如权利要求3所述的方法,其特征在于,所述标识包括标识父窗口和所述软件进程创建的至少一个相关联子窗口(514)。
5.如权利要求1所述的方法,其特征在于,所述生成包括:
确定所标识窗口(510-514)相对于彼此的分层次序,所述分层次序与所述屏幕布局(506)中的所标识窗口(510-514)的相对分层次序相对应;
针对所标识窗口(510-514)中的每一个,取回所述窗口的相应图像;以及
根据所确定的分层次序将取回的图像合成为所述合成图像(524)。
6.如权利要求5所述的方法,其特征在于,所述确定包括
针对所述屏幕布局(506)中的窗口(510-514)中的每一个,生成使相应z次序值与所述窗口的相应窗口句柄相关联的z次序列表,以及
从所述z次序列表导出所标识窗口(510-514)的分层次序。
7.如权利要求6所述的方法,其特征在于,所述导出包括:
针对所述z次序列表中的z次序值中的每一个,使所述相关联窗口句柄与所标识窗口(510-514)的相应一个的窗口句柄相匹配;以及
根据所述z次序列表中的、与所述z次序值中确定为与所标识窗口(510-514)的窗口句柄相匹配的z次序值相关联的相应z次序值,按所述分层次序对所标识窗口(510-514)排序。
8.如权利要求5所述的方法,其特征在于,所述生成另外包括确定所述屏幕布局(506)中的所标识窗口(510-514)的二维位置。
9.如权利要求1所述的方法,其特征在于:
所述标识包括标识所述窗口中与指定组的软件进程相关联的窗口;以及
所述生成包括
确定所标识窗口(510-514)相对于彼此的分层次序,所述分层次序与所述屏幕布局(506)中的所标识窗口(510-514)的相对分层次序相对应,
针对所标识窗口(510-514)中的每一个,取回所述窗口的相应图像,以及
根据所确定的分层次序将取回的图像合成为所述合成图像(524)。
10.如权利要求1所述的方法,其特征在于,所述生成包括生成所标识窗口(510-514)的合成图像(524),所述合成图像(524)包括位于包含所述屏幕布局(506)的可见桌面窗口外部的所标识窗口(510-514)的任何内容。
11.如权利要求1所述的方法,其特征在于,每一个所标识窗口(510-514)的相应图像被存储在相应存储缓冲器中,并且所述生成包括从相应存储缓冲器取回所述图像中的每一个并将取回的图像合成为所述合成图像。
12.如权利要求1所述的方法,还包括将与软件应用程序相关联的窗口(510-514)设置成分层窗口式样,以使每一个所标识窗口(510-514)的相应图像存储在相应存储缓冲器中。
13.如权利要求1所述的方法,其特征在于,响应于来自所述观察者网络节点(14)的观察与所述软件进程相关联的屏幕数据的请求,执行所述传送。
14.如权利要求13所述的方法,还包括响应于来自一个或多个其他观察者网络节点(14)中的每一个的观察与所述软件进程相关联的屏幕数据的相应请求,将所述合成图像(524)从所述共享者网络节点(12)传送到所述其他观察者网络节点(14),其中所述合成图像(524)同时传送到远程网络节点中的每一个。
15.如权利要求1所述的方法,其特征在于,在虚拟区域定义的上下文中执行所述标识、生成和传送,其中所述共享者网络节点(12)处的共享者和所述观察者网络节点(14)处的观察者两者都在场。
16.如权利要求15所述的方法,还包括:
在所述本地显示器(508)上,显示所述虚拟区域的区段的空间布局;
在所述本地显示器(508)上,呈现导航控件和交互控件,其中所述导航控件使所述共享者能够指定在所述虚拟区域中的何处建立在场,而所述交互控件使所述共享者能够管理与所述虚拟区域中的观察者的交互。
响应于经由所述导航控件接收到的输入,在一个或多个所述区段中的每一个中确立所述共享者的相应在场;以及
在所述本地显示器(508)上,在所述共享者和观察者分别在场的区段中的每一个中描绘所述共享者和观察者的相应图形表示。
17.如权利要求16所述的方法,其特征在于,所标识窗口(510-514)包含与所述软件进程相关联的至少一个数据文件的内容,并且还包括:
响应于所述共享者的输入,使所述数据文件与所述区段的相应一个中的观察屏对象相关联;以及
响应于来自所述观察者网络节点(14)的观察所述观察屏对象上的数据文件的请求,执行所述标识、生成和传送。
18.如权利要求17所述的方法,还包括在所述观察屏对象上呈现所述合成图像(524)。
19.如权利要求17所述的方法,还包括在多个网络节点上执行所述标识、生成和传送,并且在所述虚拟区域中的不同相应观察屏对象上呈现相应合成图像。
20.如权利要求19所述的方法,还包括
针对呈现所述合成图像的相应一个的观察屏对象中的每一个,示出操作相应网络节点的相应共享者的图形描绘,相应合成图像从所述相应网络节点传送。
21.如权利要求1所述的方法,还包括
发送共享与在所述观察者网络节点(14)上执行的软件进程相关联的屏幕数据的请求;以及
在所述共享者网络节点(12),接收来自所述观察者网络节点(14)的共享屏幕数据的相应合成图像(524),其中所述接收和传送同时执行。
22.其中含有计算机可读程序代码的至少一种计算机可读介质(128、124),所述计算机可读程序代码适于由计算机(52)执行以实现包括以下步骤的方法:
在共享者网络节点(12)的本地显示器(508)上的屏幕布局(506)中,标识多个窗口(510-514)中与软件进程相关联的窗口;
在所述共享者网络节点(12)上,当所标识窗口(510-514)排列在所述屏幕布局(506)中且没有被所述屏幕布局(506)中的任何其他窗口遮挡时,生成所标识窗口(510-514)的合成图像(524);以及
将所述合成图像(524)从所述共享者网络节点(12)传送到观察者网络节点(14)。
23.一种装置,包括:
本地显示器(508);
存储计算机可读指令的计算机可读介质(128、124);以及
耦合到所述计算机可读介质的数据处理单元(122),其可用于执行所述指令,且至少部分地基于所述指令的执行,所述指令可用于执行包括以下步骤的操作:
在本地显示器(508)上的屏幕布局(506)中,标识多个窗口(510-514)中与软件进程相关联的窗口;
当所标识窗口(510-514)排列在所述屏幕布局(506)中且没有被所述屏幕布局(506)中的任何其他窗口遮挡时,生成所标识窗口(510-514)的合成图像(524);以及
将所述合成图像(524)传送到远程观察者网络节点(14)。
24.一种方法,包括:
接收从共享者网络节点(12)上的本地输入设备事件导出的本地生成的命令;
接收从远程观察者网络节点(14)上的远程输入设备事件导出的远程生成的命令;
将接收到的命令处理成命令序列;
将所述命令序列传递到在所述共享者网络节点(12)上执行的共享进程;
在所述共享者网络节点(12)的本地显示器(508)上的屏幕布局(506)中,根据接收到的命令序列来呈现与所述共享进程相关联的一个或多个窗口(510-514);
当在所述屏幕布局(506)中呈现所述一个或多个窗口(510-514)时,生成所述一个或多个窗口(510-514)的图像;以及
将图像从所述共享者网络节点(12)传送到所述观察者网络节点(14)。
25.如权利要求24所述的方法,其特征在于,所述处理包括将所述远程生成的命令中的屏幕位置参数值从所述共享者网络节点(12)接收到的共享应用图像的坐标系重新映射到所述本地显示器(508)上的主窗口的坐标系。
26.如权利要求25所述的方法,其特征在于,所述处理包括将(i)具有重新映射的屏幕位置参数值的远程生成的命令和(ii)所述本地生成的命令排列成所述命令序列。
27.如权利要求26所述的方法,其特征在于,所述排列包括基于从所述本地输入设备事件导出所述本地生成的命令的相应时间和接收到所述远程生成的命令的相应时间,对(i)具有重新映射的屏幕位置参数值的远程生成的命令和(ii)所述本地生成的命令排序。
28.如权利要求25所述的方法,还包括将从所述远程输入设备事件导出的命令中的屏幕位置参数值从所述观察者网络节点(14)的远程显示器(508)上的主窗口的坐标系重新映射到所述共享应用图像的坐标系。
29.如权利要求28所述的方法,其特征在于,在所述观察者网络节点(14)上执行所述重新映射,并且还包括将具有重新映射的屏幕位置参数值的远程生成的命令传送到所述共享网络节点(12)。
30.其中含有计算机可读程序代码的至少一种计算机可读介质(128、124),所述计算机可读程序代码适于由计算机(52)执行以实现包括以下步骤的方法:
接收从共享者网络节点(12)上的本地输入设备事件导出的本地生成的命令;
接收从远程观察者网络节点(14)上的远程输入设备事件导出的远程生成的命令;
将接收到的命令处理成命令序列;
将所述命令序列传递到在所述共享者网络节点(12)上执行的共享进程;
在所述共享者网络节点(12)的本地显示器(508)上的屏幕布局(506)中,根据接收到的命令序列来呈现与所述共享进程相关联的一个或多个窗口(510-514);
当在所述屏幕布局(506)中呈现所述一个或多个窗口(510-514)时,生成所述一个或多个窗口(510-514)的图像;以及
将图像从所述共享者网络节点(12)传送到所述观察者网络节点(14)。
31.一种装置,包括:
本地显示器(508);
存储计算机可读指令的计算机可读介质(128、124);以及
耦合到所述计算机可读介质的数据处理单元(122),其可用于执行所述指令,且至少部分地基于所述指令的执行,所述指令可用于执行包括以下步骤的操作:
接收从与所述本地显示器(508)相关联的本地输入设备事件导出的本地生成的命令;
接收从远程观察者网络节点(14)上的远程输入设备事件导出的远程生成的命令;
将接收到的命令处理成命令序列;
将所述命令序列传递到由所述数据处理单元执行的共享进程;
在所述本地显示器(508)上的屏幕布局(506)中,根据接收到的命令序列来呈现与所述共享进程相关联的一个或多个窗口(510-514);
当在所述屏幕布局(506)中呈现所述一个或多个窗口(510-514)时,生成所述一个或多个窗口(510-514)的图像;以及
将所述图像传送到所述观察者网络节点(14)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/418,270 | 2009-04-03 | ||
US12/418,270 US8407605B2 (en) | 2009-04-03 | 2009-04-03 | Application sharing |
PCT/US2010/028088 WO2010114724A2 (en) | 2009-04-03 | 2010-03-22 | Application sharing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102804161A true CN102804161A (zh) | 2012-11-28 |
Family
ID=42827176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800251495A Pending CN102804161A (zh) | 2009-04-03 | 2010-03-22 | 应用共享 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8407605B2 (zh) |
EP (2) | EP2414948A4 (zh) |
KR (1) | KR20110134940A (zh) |
CN (1) | CN102804161A (zh) |
IL (1) | IL215387A0 (zh) |
WO (1) | WO2010114724A2 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595715A (zh) * | 2013-11-08 | 2014-02-19 | 腾讯科技(成都)有限公司 | 用于桌面直播的信息共享方法及装置 |
CN104238885A (zh) * | 2014-09-11 | 2014-12-24 | 吴涛军 | 一种适用于多设备内容显示的自动布局以及内容显示的方法及装置 |
CN105204797A (zh) * | 2014-06-23 | 2015-12-30 | 纬创资通股份有限公司 | 屏幕分享方法以及使用该方法的装置 |
CN105892976A (zh) * | 2016-04-29 | 2016-08-24 | 广州视睿电子科技有限公司 | 实现多屏互动的方法及装置 |
CN107346119A (zh) * | 2017-08-24 | 2017-11-14 | 苏睿 | 协同控制方法、装置及系统 |
CN107632808A (zh) * | 2017-09-25 | 2018-01-26 | 上海闻泰信息技术有限公司 | 显示屏幕自动变换终端及其变换方法 |
CN107657698A (zh) * | 2017-10-10 | 2018-02-02 | 覃和平 | 一种门禁统一支付的方法 |
CN108463800A (zh) * | 2015-11-26 | 2018-08-28 | 巴科股份有限公司 | 内容共享协议 |
CN108475163A (zh) * | 2016-02-16 | 2018-08-31 | 三星电子株式会社 | 用于合成屏幕的方法和电子设备 |
CN109684590A (zh) * | 2018-12-25 | 2019-04-26 | 威创集团股份有限公司 | 一种浏览器网页数据共享方法及装置 |
CN111338590A (zh) * | 2020-02-19 | 2020-06-26 | 北京翼鸥教育科技有限公司 | 一种屏幕共享的发起、响应方法及互动系统 |
CN112269886A (zh) * | 2020-11-11 | 2021-01-26 | 游密科技(深圳)有限公司 | 共享图像采集方法、窗口共享方法和共享图像采集装置 |
CN112286431A (zh) * | 2020-10-30 | 2021-01-29 | 联想(北京)有限公司 | 一种视频共享内容的处理方法、装置及电子设备 |
CN112559110A (zh) * | 2021-02-22 | 2021-03-26 | 全时云商务服务股份有限公司 | 一种基于windows系统的放大镜穿透窗口的方法 |
CN112911329A (zh) * | 2021-02-03 | 2021-06-04 | 广州虎牙科技有限公司 | 窗口直播方法、装置、电子设备和计算机可读存储介质 |
CN114741063A (zh) * | 2022-04-06 | 2022-07-12 | 山东赤子城网络技术有限公司 | 一种基于Lua语言的编程框架实现方法及系统 |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9633089B1 (en) | 2002-05-25 | 2017-04-25 | hopTo Inc. | Aggregated search |
US9198084B2 (en) | 2006-05-26 | 2015-11-24 | Qualcomm Incorporated | Wireless architecture for a traditional wire-based protocol |
US8667144B2 (en) | 2007-07-25 | 2014-03-04 | Qualcomm Incorporated | Wireless architecture for traditional wire based protocol |
US7769806B2 (en) | 2007-10-24 | 2010-08-03 | 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 |
US8397168B2 (en) * | 2008-04-05 | 2013-03-12 | Social Communications Company | Interfacing with a spatial virtual communication environment |
SE533322C2 (sv) * | 2007-12-21 | 2010-08-24 | Tat The Astonishing Tribe Ab | Förfarande, modul och anordning för att visa grafisk information |
US8811294B2 (en) | 2008-04-04 | 2014-08-19 | Qualcomm Incorporated | Apparatus and methods for establishing client-host associations within a wireless network |
US9514444B2 (en) | 2009-01-15 | 2016-12-06 | Sococo, Inc. | Encapsulating virtual area based communicant assemblies |
CN102084354A (zh) | 2008-04-05 | 2011-06-01 | 社会传播公司 | 基于共享虚拟区域通信环境的装置和方法 |
CN102362269B (zh) | 2008-12-05 | 2016-08-17 | 社会传播公司 | 实时内核 |
US9398089B2 (en) | 2008-12-11 | 2016-07-19 | Qualcomm Incorporated | Dynamic resource sharing among multiple wireless devices |
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 |
US9065874B2 (en) | 2009-01-15 | 2015-06-23 | Social Communications Company | Persistent network resource and virtual area associations for realtime collaboration |
US8412729B2 (en) | 2009-04-22 | 2013-04-02 | Genarts, Inc. | Sharing of presets for visual effects or other computer-implemented effects |
US8671360B2 (en) * | 2009-06-17 | 2014-03-11 | Brigham Young University | Distributing multiple client windows using a display server |
US9264248B2 (en) | 2009-07-02 | 2016-02-16 | Qualcomm Incorporated | System and method for avoiding and resolving conflicts in a wireless mobile display digital interface multicast environment |
EP2461248A4 (en) | 2009-07-31 | 2013-02-13 | Nec Corp | CONTROLLER, SERVICE DELIVERY SYSTEM, AND METHOD FOR PROVIDING A VIRTUAL INFRASTRUCTURE |
US8271905B2 (en) | 2009-09-15 | 2012-09-18 | International Business Machines Corporation | Information presentation in virtual 3D |
US20110138313A1 (en) * | 2009-12-03 | 2011-06-09 | Kevin Decker | Visually rich tab representation in user interface |
US9582238B2 (en) * | 2009-12-14 | 2017-02-28 | Qualcomm Incorporated | Decomposed multi-stream (DMS) techniques for video display systems |
US8898577B2 (en) * | 2010-03-09 | 2014-11-25 | Microsoft Corporation | Application sharing with occlusion removal |
US9417691B2 (en) * | 2010-03-26 | 2016-08-16 | Nokia Technologies Oy | Method and apparatus for ad-hoc peer-to-peer augmented reality environment |
JP5740826B2 (ja) * | 2010-03-29 | 2015-07-01 | セイコーエプソン株式会社 | 画像表示装置、画像情報処理装置及び画像情報処理方法 |
US8762881B2 (en) * | 2010-07-15 | 2014-06-24 | Salesforce.Com, Inc. | Taking screenshots of a failed application |
US8839112B2 (en) | 2010-08-10 | 2014-09-16 | Microsoft Corporation | Cloning or extending a computer desktop on a wireless display surface |
US9400585B2 (en) | 2010-10-05 | 2016-07-26 | Citrix Systems, Inc. | Display management for native user experiences |
FR2968495B1 (fr) * | 2010-12-06 | 2019-03-15 | Isard | Procede de partage d'apprentissage partiel d'une application logicielle |
US8847985B2 (en) | 2010-12-30 | 2014-09-30 | International Business Machines Corporation | Protecting screen information |
US9413803B2 (en) | 2011-01-21 | 2016-08-09 | Qualcomm Incorporated | User input back channel for wireless displays |
US8964783B2 (en) | 2011-01-21 | 2015-02-24 | Qualcomm Incorporated | User input back channel for wireless displays |
US9787725B2 (en) | 2011-01-21 | 2017-10-10 | Qualcomm Incorporated | User input back channel for wireless displays |
US10135900B2 (en) | 2011-01-21 | 2018-11-20 | Qualcomm Incorporated | User input back channel for wireless displays |
US9582239B2 (en) | 2011-01-21 | 2017-02-28 | Qualcomm Incorporated | User input back channel for wireless displays |
US9065876B2 (en) | 2011-01-21 | 2015-06-23 | Qualcomm Incorporated | User input back channel from a wireless sink device to a wireless source device for multi-touch gesture wireless displays |
US10108386B2 (en) | 2011-02-04 | 2018-10-23 | Qualcomm Incorporated | Content provisioning for wireless back channel |
US8674957B2 (en) | 2011-02-04 | 2014-03-18 | Qualcomm Incorporated | User input device for wireless back channel |
US9503771B2 (en) | 2011-02-04 | 2016-11-22 | Qualcomm Incorporated | Low latency wireless display for graphics |
US9142193B2 (en) * | 2011-03-17 | 2015-09-22 | Intellitact Llc | Linear progression based window management |
JP2012203889A (ja) * | 2011-03-28 | 2012-10-22 | Fujitsu Ltd | 画面共有方法、画面共有装置、及びプログラム |
US20120317501A1 (en) * | 2011-06-09 | 2012-12-13 | Anthony Constantine Milou | Communication & Collaboration Method for Multiple Simultaneous Users |
WO2013039748A2 (en) * | 2011-09-16 | 2013-03-21 | Social Communications Company | Capabilities based management of virtual areas |
US8754892B2 (en) | 2011-10-28 | 2014-06-17 | International Business Machines Corporation | Visualization of virtual image relationships and attributes |
US9612724B2 (en) | 2011-11-29 | 2017-04-04 | Citrix Systems, Inc. | Integrating native user interface components on a mobile device |
JP5857722B2 (ja) * | 2011-12-20 | 2016-02-10 | ソニー株式会社 | 情報処理装置、情報処理方法及びプログラム |
KR101410416B1 (ko) * | 2011-12-21 | 2014-06-27 | 주식회사 케이티 | 원격 제어 방법, 시스템 및 원격 제어 사용자 인터페이스 |
US9525998B2 (en) | 2012-01-06 | 2016-12-20 | Qualcomm Incorporated | Wireless display with multiscreen service |
WO2013119802A1 (en) | 2012-02-11 | 2013-08-15 | Social Communications Company | Routing virtual area based communications |
US20130254681A1 (en) * | 2012-03-26 | 2013-09-26 | International Business Machines Corporation | Proxying an active link from a shared computer |
KR101980620B1 (ko) * | 2012-04-03 | 2019-05-21 | 엘지전자 주식회사 | 싱크 디바이스, 소스 디바이스 및 그들의 제어 방법 |
JP6050023B2 (ja) * | 2012-04-26 | 2016-12-21 | 任天堂株式会社 | ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 |
EP2856280A4 (en) * | 2012-06-01 | 2016-05-18 | Sas Ip | USER INTERFACE AND METHOD FOR DATA NAVIGATION IN THE USER INTERFACE OF TECHNICAL ANALYSIS APPLICATIONS |
WO2013181026A1 (en) * | 2012-06-02 | 2013-12-05 | Social Communications Company | Interfacing with a spatial virtual communications environment |
JP2014021511A (ja) * | 2012-07-12 | 2014-02-03 | Sony Corp | 表示制御装置、表示制御方法、プログラム、及び通信システム |
US20140075377A1 (en) | 2012-09-10 | 2014-03-13 | Samsung Electronics Co. Ltd. | Method for connecting mobile terminal and external display and apparatus implementing the same |
US9383975B1 (en) * | 2013-01-28 | 2016-07-05 | Richard Stanley Fencel | Projection of software and integrated circuit diagrams into actual 3D space |
US20140298192A1 (en) * | 2013-03-27 | 2014-10-02 | General Electric Company | Display system and method |
JP6381187B2 (ja) * | 2013-08-09 | 2018-08-29 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
EP3039529A4 (en) * | 2013-08-30 | 2017-08-16 | ZAG Holdings Inc. | View sharing and dual permission remote browsing methods and systems |
US10270871B2 (en) | 2014-04-08 | 2019-04-23 | Dropbox, Inc. | Browser display of native application presence and interaction data |
CN103929497B (zh) * | 2014-04-30 | 2017-09-15 | 天脉聚源(北京)传媒科技有限公司 | 一种实时推送消息的方法及服务器 |
US9467329B2 (en) * | 2014-05-29 | 2016-10-11 | Blackberry Limited | Coordinating activity views across operating system domains |
JP6407623B2 (ja) | 2014-08-14 | 2018-10-17 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報表示方法および情報処理システム |
JP6407622B2 (ja) * | 2014-08-14 | 2018-10-17 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、画像データ送信方法および情報処理システム |
JP6407624B2 (ja) | 2014-08-14 | 2018-10-17 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびユーザ情報表示方法 |
US9621650B2 (en) | 2014-09-30 | 2017-04-11 | Google Inc | Mobile application state identifier framework |
CN106416170A (zh) * | 2014-11-03 | 2017-02-15 | 华为技术有限公司 | 分享屏幕的方法、分享设备及接收设备 |
US20160139785A1 (en) * | 2014-11-16 | 2016-05-19 | Cisco Technology, Inc. | Multi-modal communications |
JP6312866B2 (ja) * | 2015-01-23 | 2018-04-18 | マクセル株式会社 | 表示装置および表示方法 |
US9846528B2 (en) | 2015-03-02 | 2017-12-19 | Dropbox, Inc. | Native application collaboration |
WO2016154426A1 (en) * | 2015-03-26 | 2016-09-29 | Wal-Mart Stores, Inc. | System and methods for a multi-display collaboration environment |
US9733993B2 (en) | 2015-07-02 | 2017-08-15 | Microsoft Technology Licensing, Llc | Application sharing using endpoint interface entities |
US9733915B2 (en) | 2015-07-02 | 2017-08-15 | Microsoft Technology Licensing, Llc | Building of compound application chain applications |
US9860145B2 (en) | 2015-07-02 | 2018-01-02 | Microsoft Technology Licensing, Llc | Recording of inter-application data flow |
US10198252B2 (en) | 2015-07-02 | 2019-02-05 | Microsoft Technology Licensing, Llc | Transformation chain application splitting |
US10261985B2 (en) | 2015-07-02 | 2019-04-16 | Microsoft Technology Licensing, Llc | Output rendering in dynamic redefining application |
US9658836B2 (en) | 2015-07-02 | 2017-05-23 | Microsoft Technology Licensing, Llc | Automated generation of transformation chain compatible class |
US9712472B2 (en) | 2015-07-02 | 2017-07-18 | Microsoft Technology Licensing, Llc | Application spawning responsive to communication |
US9785484B2 (en) | 2015-07-02 | 2017-10-10 | Microsoft Technology Licensing, Llc | Distributed application interfacing across different hardware |
US10031724B2 (en) | 2015-07-08 | 2018-07-24 | Microsoft Technology Licensing, Llc | Application operation responsive to object spatial status |
US10198405B2 (en) | 2015-07-08 | 2019-02-05 | Microsoft Technology Licensing, Llc | Rule-based layout of changing information |
US10277582B2 (en) | 2015-08-27 | 2019-04-30 | Microsoft Technology Licensing, Llc | Application service architecture |
US10248933B2 (en) | 2015-12-29 | 2019-04-02 | Dropbox, Inc. | Content item activity feed for presenting events associated with content items |
US10620811B2 (en) | 2015-12-30 | 2020-04-14 | Dropbox, Inc. | Native application collaboration |
EP3400864A4 (en) * | 2016-01-04 | 2019-08-28 | Shenzhen Mindray Bio-Medical Electronics Co., Ltd | SYSTEM AND METHOD FOR CONTROLLING COORDINATION BETWEEN MEDICAL DEVICES, MEDICAL WORKPLACE AND COMMUNICATION DEVICE |
KR102458444B1 (ko) * | 2016-01-05 | 2022-10-25 | 삼성전자주식회사 | 전자 장치 및 그 동작 방법 |
US10382502B2 (en) | 2016-04-04 | 2019-08-13 | Dropbox, Inc. | Change comments for synchronized content items |
US10212113B2 (en) | 2016-09-19 | 2019-02-19 | Google Llc | Uniform resource identifier and image sharing for contextual information display |
US10496734B2 (en) * | 2016-09-26 | 2019-12-03 | Microsoft Technology Licensing, Llc | Intelligent navigation via a transient user interface control |
US20180113603A1 (en) * | 2016-10-25 | 2018-04-26 | Prysm, Inc. | Floating asset in a workspace |
US10455188B2 (en) * | 2016-11-18 | 2019-10-22 | Microsoft Technology Licensing, Llc | Correlating UI with CPU stacks for profiling sessions |
US10303496B2 (en) * | 2016-12-01 | 2019-05-28 | Raja Singh Tuli | System for reducing user-perceived lag in text data input and exchange with a server |
US20190129576A1 (en) * | 2017-10-27 | 2019-05-02 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Processing of corresponding menu items in response to receiving selection of an item from the respective menu |
US10586071B2 (en) | 2017-11-24 | 2020-03-10 | International Business Machines Corporation | Safeguarding confidential information during a screen share session |
US10687021B2 (en) | 2017-11-27 | 2020-06-16 | Blue Jeans Network, Inc. | User interface with a hierarchical presentation of selection options for selecting a sharing mode of a video conference |
CN108829528B (zh) * | 2018-06-11 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 内容分享方法和装置、消息处理方法和装置 |
US11077365B2 (en) | 2018-06-27 | 2021-08-03 | Niantic, Inc. | Low latency datagram-responsive computer network protocol |
US10866929B2 (en) * | 2018-07-20 | 2020-12-15 | Slack Technologies, Inc. | Group-based communication interface with subsidiary file communications |
JP7185068B2 (ja) | 2019-02-25 | 2022-12-06 | ナイアンティック, インコーポレイテッド | 拡張現実モバイルエッジコンピュータ |
CN110221798A (zh) * | 2019-05-29 | 2019-09-10 | 华为技术有限公司 | 一种投屏方法、系统及相关装置 |
CA3165313A1 (en) | 2019-12-20 | 2021-06-24 | Niantic, Inc. | Data hierarchy protocol for data transmission pathway selection |
CN115623257A (zh) * | 2020-04-20 | 2023-01-17 | 华为技术有限公司 | 投屏显示方法、系统、终端设备和存储介质 |
US11789602B1 (en) * | 2022-04-18 | 2023-10-17 | Spatial Systems Inc. | Immersive gallery with linear scroll |
CN114942812A (zh) * | 2022-05-31 | 2022-08-26 | 上海嘉车信息科技有限公司 | 多媒体信息共享方法、装置和电子设备 |
US11836412B1 (en) | 2023-02-20 | 2023-12-05 | International Business Machines Corporation | Screen sharing recall |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308199B1 (en) * | 1997-08-11 | 2001-10-23 | Fuji Xerox Co., Ltd. | Cooperative work support system for managing a window display |
US20020165922A1 (en) * | 2001-04-13 | 2002-11-07 | Songxiang Wei | Application based screen sampling |
US20030077561A1 (en) * | 2001-10-18 | 2003-04-24 | Abraham Alsop | Web server for printable whiteboards |
US20030197739A1 (en) * | 2002-04-23 | 2003-10-23 | Bauer Jason M. | Distribution of application windows in a computing device display |
CN1678994A (zh) * | 2002-09-30 | 2005-10-05 | 微软公司 | 用于提供访问用户界面信息的系统和方法 |
US20060031779A1 (en) * | 2004-04-15 | 2006-02-09 | Citrix Systems, Inc. | Selectively sharing screen data |
Family Cites Families (254)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4271408A (en) | 1978-10-17 | 1981-06-02 | Stanley Electric Co., Ltd. | Colored-light emitting display |
US5745711A (en) * | 1991-10-23 | 1998-04-28 | Hitachi, Ltd. | Display control method and apparatus for an electronic conference |
EP0622930A3 (en) | 1993-03-19 | 1996-06-05 | At & T Global Inf Solution | Division of applications for computer arrangement with collaboration. |
US5471318A (en) | 1993-04-22 | 1995-11-28 | At&T Corp. | Multimedia communications network |
US5491743A (en) | 1994-05-24 | 1996-02-13 | International Business Machines Corporation | Virtual conference system and terminal apparatus therefor |
EP0766847B1 (en) | 1994-06-17 | 2001-10-31 | Intel Corporation | Apparatus and method for application sharing in a graphic user interface |
US5727155A (en) * | 1994-09-09 | 1998-03-10 | Intel Corporation | Method and apparatus for dynamically controlling a remote system's access to shared applications on a host system |
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 |
US6304283B1 (en) * | 1995-01-31 | 2001-10-16 | Canon Kabushiki Kaisha | Conference apparatus and method for realistically reproducing image data and shared board data |
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 |
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 |
US6570587B1 (en) | 1996-07-26 | 2003-05-27 | Veon Ltd. | System and method and linking information to a video |
US5764916A (en) | 1996-09-27 | 1998-06-09 | Ichat, Inc. | Method and apparatus for real time communication over a computer network |
US6862625B1 (en) | 1996-09-27 | 2005-03-01 | Avaya Technology Corp. | Method and apparatus for real time network communication |
US6057856A (en) | 1996-09-30 | 2000-05-02 | Sony Corporation | 3D virtual reality multi-user interaction with superimposed positional information display for each user |
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 |
JP3679526B2 (ja) * | 1996-10-31 | 2005-08-03 | キヤノン株式会社 | 画像共有装置、画面制御方法及びコンピュータ可読メモリ |
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 |
US6567980B1 (en) | 1997-08-14 | 2003-05-20 | Virage, Inc. | Video cataloger system with hyperlinked output |
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 |
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 |
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 |
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 |
US6215498B1 (en) | 1998-09-10 | 2001-04-10 | Lionhearth Technologies, Inc. | Virtual command post |
JP3846666B2 (ja) | 1998-09-24 | 2006-11-15 | 富士通株式会社 | 共有画面制御装置 |
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 |
US6342906B1 (en) * | 1999-02-02 | 2002-01-29 | International Business Machines Corporation | Annotation layer for synchronous collaboration |
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 |
US6909443B1 (en) * | 1999-04-06 | 2005-06-21 | Microsoft Corporation | Method and apparatus for providing a three-dimensional task gallery computer interface |
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차원 가상 현실 공간에서의 전자 상거래 시스템 및 그 방법 |
US6480191B1 (en) | 1999-09-28 | 2002-11-12 | Ricoh Co., Ltd. | Method and apparatus for recording and playback of multidimensional walkthrough narratives |
US6735708B2 (en) | 1999-10-08 | 2004-05-11 | Dell Usa, L.P. | Apparatus and method for a combination personal digital assistant and network portable device |
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 | 住空間関連商品の販売支援方法と課金方法及びそのためのシステムと記録媒体 |
JP2001154966A (ja) | 1999-11-29 | 2001-06-08 | Sony Corp | コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体 |
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 | 삼성전자주식회사 | 멀티미디어 파일 작성용 저작장치 및 방법 |
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 |
KR100369640B1 (ko) | 2000-03-03 | 2003-01-29 | 신유진 | 3차원 가상 현실 공간에서의 박람회 개최 시스템 및 그방법 |
JP3345600B2 (ja) | 2000-04-10 | 2002-11-18 | コナミ株式会社 | ゲームシステムおよびコンピュータ読取可能な記憶媒体 |
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 |
US6714222B1 (en) | 2000-06-21 | 2004-03-30 | E2 Home Ab | Graphical user interface for communications |
US20020026388A1 (en) | 2000-08-01 | 2002-02-28 | Chris Roebuck | 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 | サーバ装置、ユーザ端末装置、仮想空間システム、ユーザ情報配信方法、ユーザ情報表示方法、ユーザ情報配信表示方法、及び記憶媒体 |
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 |
US8117281B2 (en) * | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
US7203741B2 (en) | 2000-10-12 | 2007-04-10 | Peerapp Ltd. | Method and system for accelerating receipt of data in a client-to-client network |
JP2002123479A (ja) | 2000-10-17 | 2002-04-26 | Hitachi Ltd | ディスク制御装置およびそのキャッシュ制御方法 |
JP2002123478A (ja) | 2000-10-17 | 2002-04-26 | Isao:Kk | チャットシステム、チャット情報処理装置、チャット情報処理方法、および、記録媒体 |
AU2001238104A1 (en) | 2000-11-17 | 2002-05-27 | Wheretheheckisit.Com, Llp | Virtual directory |
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 |
JP2002224447A (ja) | 2001-01-31 | 2002-08-13 | Square Co Ltd | ビデオゲーム装置およびその制御方法、ならびにビデオゲームのプログラムおよびそのプログラムを記録したコンピュータ読取り可能な記録媒体。 |
US7076503B2 (en) | 2001-03-09 | 2006-07-11 | Microsoft Corporation | Managing media objects in a database |
US20060161624A1 (en) * | 2001-04-13 | 2006-07-20 | Elaine Montgomery | Methods and apparatuses for dynamically sharing a portion of a display for 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 |
US7188317B1 (en) * | 2001-06-13 | 2007-03-06 | Microsoft Corporation | Dynamic multiple window display having independently linked windows |
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 | メッセージ交換方法、コンピュータ、管理装置、記録媒体 |
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 |
US7415502B2 (en) | 2001-11-16 | 2008-08-19 | Sbc Technology Resources, Inc. | Method and system for intelligent routing based on presence detection |
KR100453225B1 (ko) | 2001-12-26 | 2004-10-15 | 한국전자통신연구원 | 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법 |
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 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
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 |
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 |
US7028266B2 (en) * | 2002-04-05 | 2006-04-11 | Microsoft Corporation | Processing occluded windows during application sharing |
US7062712B2 (en) | 2002-04-09 | 2006-06-13 | Fuji Xerox Co., Ltd. | Binding interactive multichannel digital document system |
US7454760B2 (en) * | 2002-04-22 | 2008-11-18 | Rosebud Lms, Inc. | Method and software for enabling n-way collaborative work over a network of computers |
US6976846B2 (en) | 2002-05-08 | 2005-12-20 | Accenture Global Services Gmbh | Telecommunications virtual simulator |
US7293243B1 (en) * | 2002-05-22 | 2007-11-06 | Microsoft Corporation | Application sharing viewer presentation |
US7356563B1 (en) | 2002-06-06 | 2008-04-08 | Microsoft Corporation | Methods of annotating a collaborative application display |
US7640300B2 (en) | 2002-06-10 | 2009-12-29 | Microsoft Corporation | Presence and notification system for maintaining and communicating information |
US8161411B2 (en) | 2003-04-25 | 2012-04-17 | Apple Inc. | Graphical user interface for browsing, searching and presenting media items |
KR20040011825A (ko) | 2002-07-30 | 2004-02-11 | 김동현 | 인터넷 망을 기반으로 한 가상백화점 관리 시스템 및 그관리 방법 |
US7844662B2 (en) | 2002-10-17 | 2010-11-30 | At&T Intellectual Property Ii, L.P. | Merging instant messaging (IM) chat sessions |
US7035942B2 (en) | 2002-09-17 | 2006-04-25 | Bellsouth Intellectual Property Corp. | Server-based message protocol translation |
JP2004135051A (ja) | 2002-10-10 | 2004-04-30 | Sony Corp | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム |
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 |
US7474741B2 (en) | 2003-01-20 | 2009-01-06 | Avaya Inc. | Messaging advise in presence-aware networks |
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 | オンラインサービス提供システム、コミュニケーション管理装置とそのプログラム、ならびにコミュニケーション管理方法 |
US7213228B2 (en) * | 2003-03-17 | 2007-05-01 | Macrovision Corporation | Methods and apparatus for implementing a remote application over a network |
US8484576B2 (en) * | 2003-04-17 | 2013-07-09 | Supersonic Aerospace International, Llc | System and method for customizing multiple windows of information on a display |
US7260784B2 (en) * | 2003-05-07 | 2007-08-21 | International Business Machines Corporation | Display data mapping method, system, and program product |
CA2525939C (en) | 2003-05-16 | 2015-09-22 | Picasa, Inc. | Networked chat and media sharing systems and methods |
US7467356B2 (en) | 2003-07-25 | 2008-12-16 | Three-B International Limited | Graphical user interface for 3d virtual display browser using virtual display windows |
DE602004026232D1 (de) | 2003-09-16 | 2010-05-06 | Research In Motion Ltd | Verfahren zur Erzeugung einer Peer-to-Peer-Sofortmitteilungslösung ohne die Verwendung eines Instant-Messaging-Servers |
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 |
US20050080666A1 (en) * | 2003-10-09 | 2005-04-14 | Laura Treibitz | Doll history software |
US20050080866A1 (en) | 2003-10-14 | 2005-04-14 | Kent Larry G. | Selectively displaying time indications for instant messaging (IM) messages |
US7817163B2 (en) * | 2003-10-23 | 2010-10-19 | Microsoft Corporation | Dynamic window anatomy |
US7305438B2 (en) | 2003-12-09 | 2007-12-04 | International Business Machines Corporation | Method and system for voice on demand private message chat |
US10152190B2 (en) * | 2003-12-15 | 2018-12-11 | Open Invention Network, Llc | Systems and methods for improved application sharing in a multimedia collaboration session |
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 |
KR100566263B1 (ko) | 2004-03-26 | 2006-03-29 | 삼성전자주식회사 | 스케쥴 내용에 따라 메신저 상태 정보를 변경하는 메신저서비스 제공 시스템 및 방법 |
JP2005286749A (ja) | 2004-03-30 | 2005-10-13 | Matsushita Electric Ind Co Ltd | 映像復号化装置およびそれを用いた映像伝送システム |
US7680885B2 (en) | 2004-04-15 | 2010-03-16 | Citrix Systems, Inc. | Methods and apparatus for synchronization of data set representations in a bandwidth-adaptive manner |
US7908663B2 (en) | 2004-04-20 | 2011-03-15 | Microsoft Corporation | Abstractions and automation for enhanced sharing and collaboration |
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 |
US7996785B2 (en) * | 2004-06-30 | 2011-08-09 | Microsoft Corporation | Systems and methods for integrating application windows in a virtual machine environment |
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 |
KR20060060788A (ko) | 2004-11-30 | 2006-06-05 | 전경열 | 캐릭터를 이용한 가상현실 시스템 및 가상현실 구현방법 |
US20060167996A1 (en) * | 2005-01-13 | 2006-07-27 | Orsolini Garry S | System and method for enabling electronic presentations |
US7657837B2 (en) * | 2005-04-06 | 2010-02-02 | Ericom Software Ltd. | Seamless windows functionality to remote desktop sessions regarding z-order |
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 |
US20060271877A1 (en) * | 2005-05-25 | 2006-11-30 | Citrix Systems, Inc. | A system and methods for selective sharing of an application window |
US7396281B2 (en) | 2005-06-24 | 2008-07-08 | Disney Enterprises, Inc. | Participant interaction with entertainment in real and virtual environments |
US20070011232A1 (en) * | 2005-07-06 | 2007-01-11 | Microsoft Corporation | User interface for starting presentations in a meeting |
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 |
US7925000B2 (en) | 2005-08-29 | 2011-04-12 | Avaya Inc. | Managing held telephone calls from a remote telecommunications terminal |
US7765483B2 (en) * | 2005-09-12 | 2010-07-27 | Microsoft Corporation | Filtering obscured data from a remote client display |
WO2007033354A2 (en) | 2005-09-13 | 2007-03-22 | Spacetime3D, Inc. | System and method for providing three-dimensional graphical user interface |
US8146002B2 (en) | 2005-12-08 | 2012-03-27 | International Business Machines Corporation | Screen sharing session with selective pop-ups |
US7489772B2 (en) | 2005-12-30 | 2009-02-10 | Nokia Corporation | Network entity, method and computer program product for effectuating a conference session |
US7783592B2 (en) | 2006-01-10 | 2010-08-24 | Aol Inc. | Indicating recent content publication activity by a user |
JP4643454B2 (ja) | 2006-01-10 | 2011-03-02 | 株式会社東芝 | 動画像復号装置及び動画像復号方法 |
US8185437B2 (en) | 2007-07-12 | 2012-05-22 | Utbk, Inc. | Systems and methods to provide communication connections via partners |
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 |
US7996776B2 (en) * | 2006-02-27 | 2011-08-09 | Microsoft Corporation | Shared telepointer |
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 | キヤノン株式会社 | 記憶装置および記憶装置の処理方法 |
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 |
US7689926B2 (en) | 2006-03-31 | 2010-03-30 | Microsoft Corporation | Selective window exclusion for captured content |
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 |
US20080091692A1 (en) | 2006-06-09 | 2008-04-17 | Christopher Keith | 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 |
US20070299778A1 (en) | 2006-06-22 | 2007-12-27 | Microsoft Corporation | Local peer-to-peer digital content distribution |
US7933955B2 (en) | 2006-07-11 | 2011-04-26 | Igor Khalatian | One-click universal screen sharing |
US7680480B2 (en) | 2006-07-20 | 2010-03-16 | Avaya Inc. | Determining user availability based on a past 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 |
US7616624B2 (en) | 2006-07-20 | 2009-11-10 | Avaya Inc. | Determining user availability based on the expected duration of a new event |
US20080033941A1 (en) | 2006-08-07 | 2008-02-07 | Dale Parrish | Verfied network identity with authenticated biographical information |
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 |
CN101170572A (zh) | 2006-10-23 | 2008-04-30 | 日电(中国)有限公司 | 基于p2p sip技术实现的多媒体网络通信系统 |
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 |
US8554868B2 (en) | 2007-01-05 | 2013-10-08 | Yahoo! Inc. | Simultaneous sharing communication interface |
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 |
GB0703974D0 (en) | 2007-03-01 | 2007-04-11 | Sony Comp Entertainment Europe | Entertainment device |
WO2008106196A1 (en) | 2007-03-01 | 2008-09-04 | Sony Computer Entertainment America Inc. | Virtual world avatar control, interactivity and communication interactive messaging |
JP2010533006A (ja) | 2007-03-01 | 2010-10-21 | ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー | 仮想世界とコミュニケーションを取るためのシステムおよび方法 |
US8108799B2 (en) | 2007-03-30 | 2012-01-31 | Microsoft Corporation | Remoting of windows presentation framework based applications in a non-composed desktop |
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 |
US20080262911A1 (en) | 2007-04-20 | 2008-10-23 | Utbk, Inc. | Methods and Systems to Search in Virtual Reality for Real Time Communications |
US20080263460A1 (en) | 2007-04-20 | 2008-10-23 | Utbk, Inc. | Methods and Systems to Connect People for Virtual Meeting in Virtual Reality |
US20080262910A1 (en) | 2007-04-20 | 2008-10-23 | Utbk, Inc. | Methods and Systems to Connect People via Virtual Reality for Real Time Communications |
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 |
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 |
US20090096810A1 (en) * | 2007-10-11 | 2009-04-16 | Green Brian D | Method for selectively remoting windows |
US8407605B2 (en) | 2009-04-03 | 2013-03-26 | Social Communications Company | Application sharing |
US7769806B2 (en) | 2007-10-24 | 2010-08-03 | Social Communications Company | Automated real-time data stream switching in a shared virtual area communication environment |
US7844724B2 (en) | 2007-10-24 | 2010-11-30 | Social Communications Company | Automated real-time data stream switching in a shared virtual area communication environment |
US20090288007A1 (en) | 2008-04-05 | 2009-11-19 | Social Communications Company | Spatial interfaces for realtime networked communications |
US8930472B2 (en) | 2007-10-24 | 2015-01-06 | Social Communications Company | Promoting communicant 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 |
US9357025B2 (en) | 2007-10-24 | 2016-05-31 | Social Communications Company | Virtual area based telephony communications |
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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信を制御する技術 |
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 |
CN101539856B (zh) * | 2008-03-17 | 2013-01-16 | 国际商业机器公司 | 在应用共享软件中恢复被遮挡窗口的方法和装置 |
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 |
CN102084354A (zh) | 2008-04-05 | 2011-06-01 | 社会传播公司 | 基于共享虚拟区域通信环境的装置和方法 |
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 |
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 |
US8365076B2 (en) | 2008-06-10 | 2013-01-29 | International Business Machines Corporation | System for concurrently managing multiple avatars |
US20100058202A1 (en) | 2008-08-28 | 2010-03-04 | Mohamed Rostom | Method system and program product for providing enabling an interactive and social search engine |
US8384738B2 (en) * | 2008-09-02 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | Compositing windowing system |
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 |
US20100131868A1 (en) * | 2008-11-26 | 2010-05-27 | Cisco Technology, Inc. | Limitedly sharing application windows in application sharing sessions |
EP2377089A2 (en) | 2008-12-05 | 2011-10-19 | Social Communications Company | Managing interactions in a network communications environment |
CN102362269B (zh) | 2008-12-05 | 2016-08-17 | 社会传播公司 | 实时内核 |
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 |
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 |
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 |
JP5669418B2 (ja) | 2009-03-30 | 2015-02-12 | アバイア インク. | グラフィカルな接続表示を用いて通信セッションを要求する来入するリクエストを管理するシステムと方法。 |
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 |
US8442189B2 (en) | 2009-06-22 | 2013-05-14 | Avaya Inc. | Unified communications appliance |
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 |
US20110231781A1 (en) | 2010-03-19 | 2011-09-22 | International Business Machines Corporation | System and method for virtual object sharing and management in virtual worlds |
WO2012034044A2 (en) | 2010-09-11 | 2012-03-15 | Social Communications Company | Relationship based presence indicating in virtual area contexts |
WO2012135231A2 (en) | 2011-04-01 | 2012-10-04 | Social Communications Company | Creating virtual areas for realtime communications |
WO2013039748A2 (en) | 2011-09-16 | 2013-03-21 | Social Communications Company | Capabilities based management of virtual areas |
-
2009
- 2009-04-03 US US12/418,270 patent/US8407605B2/en active Active
-
2010
- 2010-03-22 EP EP10759209A patent/EP2414948A4/en not_active Withdrawn
- 2010-03-22 EP EP13167909.4A patent/EP2645267A1/en not_active Withdrawn
- 2010-03-22 KR KR1020117026253A patent/KR20110134940A/ko not_active Application Discontinuation
- 2010-03-22 CN CN2010800251495A patent/CN102804161A/zh active Pending
- 2010-03-22 WO PCT/US2010/028088 patent/WO2010114724A2/en active Application Filing
-
2011
- 2011-09-26 IL IL215387A patent/IL215387A0/en unknown
-
2015
- 2015-03-23 US US14/666,298 patent/USRE46309E1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6308199B1 (en) * | 1997-08-11 | 2001-10-23 | Fuji Xerox Co., Ltd. | Cooperative work support system for managing a window display |
US20020165922A1 (en) * | 2001-04-13 | 2002-11-07 | Songxiang Wei | Application based screen sampling |
US20030077561A1 (en) * | 2001-10-18 | 2003-04-24 | Abraham Alsop | Web server for printable whiteboards |
US20030197739A1 (en) * | 2002-04-23 | 2003-10-23 | Bauer Jason M. | Distribution of application windows in a computing device display |
CN1678994A (zh) * | 2002-09-30 | 2005-10-05 | 微软公司 | 用于提供访问用户界面信息的系统和方法 |
US20060031779A1 (en) * | 2004-04-15 | 2006-02-09 | Citrix Systems, Inc. | Selectively sharing screen data |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595715B (zh) * | 2013-11-08 | 2017-02-15 | 腾讯科技(成都)有限公司 | 用于桌面直播的信息共享方法及装置 |
CN103595715A (zh) * | 2013-11-08 | 2014-02-19 | 腾讯科技(成都)有限公司 | 用于桌面直播的信息共享方法及装置 |
CN105204797A (zh) * | 2014-06-23 | 2015-12-30 | 纬创资通股份有限公司 | 屏幕分享方法以及使用该方法的装置 |
CN104238885A (zh) * | 2014-09-11 | 2014-12-24 | 吴涛军 | 一种适用于多设备内容显示的自动布局以及内容显示的方法及装置 |
CN104238885B (zh) * | 2014-09-11 | 2019-09-10 | 吴涛军 | 一种适用于多设备内容显示的自动布局以及内容显示的方法及装置 |
US11430411B2 (en) | 2015-11-26 | 2022-08-30 | Barco Nv | Content sharing protocol |
CN108463800A (zh) * | 2015-11-26 | 2018-08-28 | 巴科股份有限公司 | 内容共享协议 |
CN108475163A (zh) * | 2016-02-16 | 2018-08-31 | 三星电子株式会社 | 用于合成屏幕的方法和电子设备 |
CN105892976B (zh) * | 2016-04-29 | 2019-02-01 | 广州视睿电子科技有限公司 | 实现多屏互动的方法及装置 |
CN105892976A (zh) * | 2016-04-29 | 2016-08-24 | 广州视睿电子科技有限公司 | 实现多屏互动的方法及装置 |
CN107346119A (zh) * | 2017-08-24 | 2017-11-14 | 苏睿 | 协同控制方法、装置及系统 |
CN107632808A (zh) * | 2017-09-25 | 2018-01-26 | 上海闻泰信息技术有限公司 | 显示屏幕自动变换终端及其变换方法 |
CN107657698A (zh) * | 2017-10-10 | 2018-02-02 | 覃和平 | 一种门禁统一支付的方法 |
CN109684590A (zh) * | 2018-12-25 | 2019-04-26 | 威创集团股份有限公司 | 一种浏览器网页数据共享方法及装置 |
CN111338590A (zh) * | 2020-02-19 | 2020-06-26 | 北京翼鸥教育科技有限公司 | 一种屏幕共享的发起、响应方法及互动系统 |
CN112286431A (zh) * | 2020-10-30 | 2021-01-29 | 联想(北京)有限公司 | 一种视频共享内容的处理方法、装置及电子设备 |
CN112286431B (zh) * | 2020-10-30 | 2022-09-23 | 联想(北京)有限公司 | 一种视频共享内容的处理方法、装置及电子设备 |
CN112269886A (zh) * | 2020-11-11 | 2021-01-26 | 游密科技(深圳)有限公司 | 共享图像采集方法、窗口共享方法和共享图像采集装置 |
CN112911329A (zh) * | 2021-02-03 | 2021-06-04 | 广州虎牙科技有限公司 | 窗口直播方法、装置、电子设备和计算机可读存储介质 |
CN112911329B (zh) * | 2021-02-03 | 2023-08-25 | 广州虎牙科技有限公司 | 窗口直播方法、装置、电子设备和计算机可读存储介质 |
CN112559110A (zh) * | 2021-02-22 | 2021-03-26 | 全时云商务服务股份有限公司 | 一种基于windows系统的放大镜穿透窗口的方法 |
CN114741063A (zh) * | 2022-04-06 | 2022-07-12 | 山东赤子城网络技术有限公司 | 一种基于Lua语言的编程框架实现方法及系统 |
CN114741063B (zh) * | 2022-04-06 | 2023-08-22 | 山东赤子城网络技术有限公司 | 一种基于Lua语言的编程框架实现方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
IL215387A0 (en) | 2011-12-29 |
EP2414948A4 (en) | 2012-12-05 |
WO2010114724A2 (en) | 2010-10-07 |
EP2645267A1 (en) | 2013-10-02 |
WO2010114724A3 (en) | 2011-01-13 |
US20100257450A1 (en) | 2010-10-07 |
US8407605B2 (en) | 2013-03-26 |
EP2414948A2 (en) | 2012-02-08 |
USRE46309E1 (en) | 2017-02-14 |
KR20110134940A (ko) | 2011-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102804161A (zh) | 应用共享 | |
CN102356386A (zh) | 与空间虚拟通信环境接口 | |
CN102483819A (zh) | 用于实时联网通信的空间界面 | |
JP6417408B2 (ja) | 空間的イベントマップを備えた共同システム | |
KR101565665B1 (ko) | 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법 | |
US7290216B1 (en) | Method and apparatus for implementing a scene-graph-aware user interface manager | |
CN102725748A (zh) | 用于空间通信环境的网络浏览器接口 | |
CN107667338A (zh) | 用于在协作系统中对对象进行分组的对象组处理和选择手势 | |
JP2018524661A (ja) | 共同システムにおける仮想作業空間ビューポート・フォロー・モード | |
JP2009519627A (ja) | メディアのコンカレントコラボレーションのためのシステム、方法及びコンピュータプログラム製品 | |
CN102362283A (zh) | 管理网络通信环境中的交互 | |
EP2279472A2 (en) | Shared virtual area communication environment based apparatus and methods | |
CN110506264A (zh) | 针对实时协作的实况墨水呈现 | |
WO1998000812A1 (fr) | Appareil et procede de formation d'un espace serveur | |
Suzuki et al. | Virtual real-time 3D object sharing for supporting distance education and training | |
CN117608728A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN109831423A (zh) | 一种基于增强现实的互动系统及互动方法 | |
JP2008165665A (ja) | マルチプラットフォーム・システム |
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: 1178279 Country of ref document: HK |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121128 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1178279 Country of ref document: HK |