CN101484886A - 动态共享基于应用的屏幕采样的一部分显示的方法和装置 - Google Patents
动态共享基于应用的屏幕采样的一部分显示的方法和装置 Download PDFInfo
- Publication number
- CN101484886A CN101484886A CN200680053599.9A CN200680053599A CN101484886A CN 101484886 A CN101484886 A CN 101484886A CN 200680053599 A CN200680053599 A CN 200680053599A CN 101484886 A CN101484886 A CN 101484886A
- Authority
- CN
- China
- Prior art keywords
- window
- person
- presenting
- sharing application
- zone
- 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
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/75—Indicating network or usage conditions on the user display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Abstract
在一种实施例中,本发明包括:检测与呈现者设备相关联的资料,其中所述资料指示隐藏窗口;选择性地与出席者设备共享桌面内容并排除所述隐藏窗口,其中所述桌面内容与所述呈现者设备相对应;检测所述桌面内容中的内容窗口的状态改变;以及基于所述内容窗口的状态改变来更新所述资料。
Description
技术领域
本发明涉及数据会议系统,更具体地说,本发明涉及数据会议期间的应用(application)共享。
背景技术
数据会议系统使得不同地点的计算机用户可以经由计算机网络进行通信并且共享在用户计算机之一上存储和/或执行的应用。每个用户的计算机包括使得用户能够共享应用的数据会议软件程序。在数据会议期间共享应用的用户在这里称为呈现者(presenter)。在数据会议期间接收所共享的应用的用户在这里称为查看者。
用于在数据会议期间共享应用的传统技术是与查看者共享呈现者的计算机屏幕中的预定义区域。利用该技术,呈现者的计算机捕捉呈现者的计算机屏幕的预定义部分内的图像(例如,整个计算机屏幕或者计算机屏幕中的矩形部分)。所捕捉的呈现者的计算机屏幕的预定义部分内的图像然后被发送给查看者的计算机屏幕。然后,查看者的计算机在查看者的计算机屏幕上显示所发送的图像。从而,在呈现者的计算机屏幕的预定义部分内显示的任何窗口的副本被显示在查看者的计算机屏幕上。
该应用共享技术的缺点在于在呈现者的计算机屏幕的预定义部分(例如,整个计算机屏幕或计算机屏幕的矩形部分)内显示的所有应用窗口都被捕捉并发送到查看者。呈现者无法选择性地与查看者共享应用窗口。因此,如果呈现者不想共享应用窗口,那么呈现者必须注意不将这种应用窗口置于呈现者计算机屏幕的预定义部分内。
所需要的是一种用于在数据会议期间共享应用的改进方法。
发明内容
在一种实施例中,本发明包括:检测与呈现者设备相关联的资料,其中资料指示隐藏窗口;与出席者设备选择性地共享桌面内容并且排除隐藏窗口,其中桌面内容对应于出席者设备;检测桌面内容中的内容窗口的状态改变;以及基于内容窗口的状态改变来更新资料。
附图说明
为了更彻底地理解本发明以及进一步的实施例、方面和优点,现在结合附图来参考以下描述,其中:
图1是根据本发明一些实施例的示例性数据会议系统的框图。
图2是根据本发明一些实施例的示例性的基于应用的屏幕采样方法的流程图。
图3A和3B分别示出根据本发明一些实施例的在数据会议期间的呈现者计算机屏幕和查看者计算机屏幕。
图4是根据本发明一些实施例的示例性的基于OpenGL应用的屏幕采样方法的流程图。
图5A和5B分别示出根据本发明一些实施例的在数据会议期间的呈现者计算机屏幕和查看者计算机屏幕。
图6是根据本发明一些实施例的示例性的基于DirectDraw应用的屏幕采样方法的流程图。
图7A和7B分别示出根据本发明一些实施例的在数据会议期间的呈现者计算机屏幕和查看者计算机屏幕。
图8是图示出与本发明一个实施例相符的系统的简化框图。
图9是与本发明一起使用的示例性记录。
图10、图11、图12和图13是与本发明一个实施例相符的流程图。
图14A、图14B、图15A、图15B、图16A和图16B图示出示出本发明一个实施例的示例性桌面。
具体实施方式
通过参考图1至图16来最好地理解本发明的优选实施例及其优点。相似的标号用于各附图中相似和相应的组件。这里所使用的术语“共享应用窗口”指代属于呈现者打算与查看者共享的应用的窗口,术语“非共享应用窗口”指代属于呈现者不打算与查看者共享的应用的窗口。
提到的设备包括诸如台式计算机、便携式计算机、个人数字助理、视频电话、有线电话、蜂窝电话之类的由用户使用的设备,以及能够接收/发送电子信号的设备。
提到的内容包括音频、视频、图形和/或文本数据。
提到的窗口指的是用于显示内容的区域。
提到的桌面指的是相应设备的显示区域的整个部分。
提到的协作会话包括多个设备,这些设备配置为查看由这些设备之一提交的内容。
提到的参与设备包括参与协作会话的设备。
提到的呈现者设备(presenter device)包括作为参与者并且共享与其他参与者共享的内容的设备。
提到的出席者设备(attendee device)包括作为参与者并且接收由另一参与设备所共享的内容的设备。出席者能够查看由呈现者设备提供的内容。在一些实例中,出席者设备能够修改由呈现者设备所共享的内容。
数据会议系统
图1是根据本发明一些实施例的示例性数据会议系统100的框图。呈现者计算机110经由全球区域计算机网络130连接到服务器计算机140。查看者计算机120经由全球区域计算机网络130连接到服务器计算机140。呈现者可以使用呈现者计算机110来连接到服务器计算机140。一旦相连,呈现者就可以开始数据会议。查看者可以使用查看者计算机120以连接到服务器计算机140。一旦相连,查看者就可以加入由呈现者开始的数据会议。一旦数据会议已经建立,呈现者就可以与查看者共享应用,等等。为了清楚,系统100被示出为仅具有单个呈现者计算机110、单个查看者计算机120、以及单个服务器计算机140。然而应当认识到,多个呈现者计算机110、多个查看者计算机120、以及多个服务器计算机140可以与本发明一起使用。还应当认识到,呈现者计算机110和/或查看者计算机120可以是能够彼此通信并能够在屏幕上显示图像的任何类型的电子设备。例如,呈现者计算机110和/或查看者计算机120可以是个人数字助理(PDA)、蜂窝电话,或其他类似设备。
呈现者计算机110包括处理器111、存储器112、操作系统软件113、应用软件114和呈现者应用共享软件115。处理器111可以是任何合适的处理器,例如奔腾处理器家族的成员。存储器112可以是任何类型的合适存储器,例如DRAM、SRAM、磁硬盘驱动器、光硬盘驱动器或其任何组合。操作系统软件113可以是任何类型的合适操作系统软件,例如基于Microsoft Windows的操作系统软件。应用软件114可以是字处理应用、电子表格应用、计算机辅助制图应用或任何其他类型的应用。
呈现者应用共享软件115可以是使得呈现者和查看者能够共享应用、文档等的任何类型的合适软件。呈现者应用共享软件115包括以下软件组件:共享应用窗口监视器116、非共享应用窗口监视器117、OpenGL监视器118,以及DirectDraw监视器119。每个这些软件组件的功能在下面详细讨论。呈现者应用共享软件115还包括为了清楚而未示出或讨论的其他软件组件。呈现者应用共享软件115的示例是由加利福尼亚州圣何塞的WebEx通信公司提供的可下载插件。
查看者计算机120包括与呈现者计算机110的处理器111、存储器112、操作系统软件113和应用软件114类似的处理器121、存储器122、操作系统软件123和应用软件124。查看者计算机120还包括查看者应用共享软件125,其可以与呈现者应用共享软件115类似或相同。查看者应用共享软件125接收来自呈现者计算机的应用窗口的图像并且在查看者的计算机屏幕上显示图像,等等。
服务器计算机140包括处理器141、存储器142、操作系统软件143和服务器应用共享软件144。服务器应用共享软件144可以是使得呈现者和查看者可以进行数据会议的任何类型的合适软件。
数据会议系统100的细节在以下美国专利申请和专利中有进一步描述,这些专利申请和专利中的每一个都通过引用而整体结合于此:在2000年12月29日提交的美国专利序号为09/751,424的共同待决、共同转让申请“Distributed Network System Architecture For CollaborativeComputing”;在2000年12月29日提交的美国专利序号为09/751,807的共同待决、共同转让申请“Fault-Tolerant Distributed System ForCollaborative Computing”;在2000年12月29日提交的美国专利序号为09/751,548的共同待决、共同转让申请“Scalable Distributed System ForCollaborative Computing”;在2000年12月29日提交的美国专利序号为09/751,595的共同待决、共同转让申请“Distributed MeetingManagement”;在2000年12月29日提交的美国专利序号为09/752,376的共同待决、共同转让申请“Fault Tolerant Server Architecture ForCollaborative Computing”;在2000年12月29日提交的美国专利序号为09/751,806的共同待决、共同转让申请“Distributed ApplicationSharing”;在2000年12月29日提交的美国专利序号为09/753,193的共同待决、共同转让申请“Distributed Document Sharing”;在2000年12月29日提交的美国专利序号为09/752,284的共同待决、共同转让申请“Secure Communications System For Collaborative Computing”;在2000年12月29日提交的美国专利序号为09/751,519的共同待决、共同转让申请“Fault Tolerant Server For Collaborative Computing”;在2000年12月29日提交的美国专利序号为09/752,377的共同待决、共同转让申请“Quality Of Service Maintenance For Distributed CollaborativeComputing”;在1999年11月17日提交的美国专利序号为09/442,424的共同待决、共同转让申请“Instant Document Sharing”;在1999年12月23日提交的美国专利序号为09/471,938的共同待决、共同转让申请“Instant Sharing of Documents in a Viewer Server”;在2000年6月9日提交的美国专利序号为09/591,377的共同待决、共同转让申请“ViewerDocument Serving”;在2000年2月29日提交的美国专利序号为09/515,684的共同待决、共同转让申请“Instantaneous Viewer Control of anUnattended Server”;在1996年2月29日提交的美国专利序号为08/609,025的共同待决、共同转让申请“Method for Creaing Peer-to-PeerConnections Over an Interconnected Network to Facilitate Conferencing AmongUsers”;在2000年5月12日提交的美国专利序号为09/195,801的共同待决、共同转让申请“Method for Establishing a Communication ConnectionBetween Two or More Users Via a Network of Interconnected Computers”;在1999年12月24日提交的美国专利序号为09/449,011的共同待决、共同转让申请“Emulating a Persistent Connection Using HTTP”;专利号为5,623,603的美国专利“Method of Transferring Data at Adjustable Levels ofPriorities to Provide Optimum Response to User Demands”;专利号为5,577,188的美国专利“Method to Provide for Virtual Screen Overlay”;以及专利号为5,944,791的美国专利“Collaborative Web Browser”。基于应用的屏幕采样
本发明提供一种用于在数据会议期间共享应用的改进方法。如上所述,传统的应用共享技术捕捉呈现者的计算机屏幕的预定义部分(例如,整个屏幕或整个屏幕内的矩形)并将呈现者的计算机屏幕的预定义部分内的图像提供给查看者。有窗口位于呈现者的计算机屏幕的预定义部分内的所有应用被呈现者的计算机捕捉,发送到查看者的计算机,并且显示在查看者的计算机屏幕上,无论呈现者是否打算与查看者共享这些应用窗口。结果,呈现者可能不注意地与查看者共享其不打算与查看者共享的应用窗口。如下所述,本发明的应用共享方法克服了这些缺点。
图2是根据本发明一些实施例的示例性的基于应用的屏幕采样方法200的流程图。方法200是在数据会议期间执行的。方法200假定呈现者已经预先定义或者预先指定了应用,作为数据会议期间的共享应用。
在步骤202中,每个共享应用窗口的位置和大小被确定。如果共享应用只有一个窗口,那么该窗口的位置和大小被确定。如果共享应用具有多个窗口,那么这些窗口中的每一个窗口的位置和大小被确定。
通过监视并截取共享应用对图形显示子系统作出的函数调用(functioncall),可以动态地确定每个共享应用窗口的位置和大小。图形显示子系统接收函数调用,并且作为响应而使适当的图形或图像被绘制在呈现者的计算机屏幕上。例如,如果应用运行在基于Microsoft Windows的计算机上,那么应用可以调用图形设备接口(GDI)函数,以便在呈现者的计算机屏幕上绘制图像。函数调用提供用于确认特定窗口所属的应用、窗口的位置和窗口的大小的信息。因此,通过监视并截取函数调用,窗口的位置和大小可被确定。该步骤可由共享应用窗口监视器116(图1)执行。
如果呈现者的计算机在Windows环境下工作,那么可以通过监视“GetRandomRgn”函数来确定每个共享应用窗口的位置和大小。GetRandomRgn函数原型如下:
int GetRandomRgn(HDC hdc,HRGN hrgn,INT iNum)
微软公司在发行Windows 2000时首次公开了GetRandomRgn函数原型。然而,微软公司在该次公开中未提供iNum的定义。该公开陈述了iNum必须是SYSRGN(预定义值)。申请人已经发现通过将inum设置为值4可以确定窗口的可视区域。例如,以下处理可被用于确定假设窗口hWnd的可视区域:
HDC hdc=GetWindowDC(hWnd)//获取窗口的图形内容
HRGN hRegion=CreateRectRgn(0,0,0,0)//创建空区域
GetRandomRgn(hDC,hRegion,4)//hRegion现在是窗口的可视区域
在步骤204中,每个非共享应用窗口的位置和大小被确定。如果非共享应用只有一个窗口,那么该窗口的位置和大小被确定。如果非共享应用具有多个窗口,那么这些窗口中的每一个窗口的位置和大小被确定。
通过监视并截取非共享应用对图形显示子系统作出的函数调用,可以动态地确定每个非共享应用窗口的位置和大小(如上面在步骤202中所述)。该步骤可由非共享应用窗口监视器117(图1)执行。
在步骤S206中,每个叠盖区域的位置和大小被确定。叠盖区域是呈现者的计算机屏幕上的非共享应用窗口叠盖共享窗口的区域。如果非共享应用窗口都没有叠盖共享应用窗口,那么没有叠盖区域。如果多个非共享应用窗口叠盖共享应用窗口,那么存在多个叠盖区域。
通过将每个共享应用窗口的位置和大小与每个非共享应用窗口的位置和大小相比较,可以确定每个叠盖区域的位置和大小。
在步骤208中,背景区域被确定。背景区域是呈现者的计算机屏幕上的未被共享应用窗口占据的区域。背景区域包括呈现者的计算机屏幕中的被非共享应用窗口占据的区域。
通过将每个共享应用窗口的位置和大小与呈现者的整个计算机屏幕的位置和大小相比较,可以确定背景区域。
在步骤210中,对应于每个共享应用窗口的图像的截屏被捕捉。在该步骤中,每个共享应用窗口内的图像被捕捉,使得其可被提供给查看者。该步骤被周期性地(例如,每秒五次)执行,使得对呈现者的计算机屏幕上的图像的改变被立即反映在查看者的计算机屏幕上。
通过捕捉呈现者的计算机上的帧缓冲器中的对应于共享应用窗口的部分,可以捕捉对应于每个共享应用窗口的图像的截屏。因为步骤202确定了共享应用窗口的大小和位置,所以共享应用窗口在帧缓冲器内的位置是已知的。
在步骤212中,每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序被监视。如果共享应用窗口或非共享应用窗口的位置、大小或顺序发生改变,那么方法200返回到步骤202。如果共享应用窗口和非共享应用窗口的位置、大小和顺序未改变,那么方法200继续进行到步骤214。
通过监视并截取共享和非共享应用对图形显示子系统作出的函数调用,可以动态地监视呈现者的计算机屏幕上的每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序(如上面在步骤202中所述)。
在步骤214中,将对应于每个共享应用窗口的图像的截屏发送到查看者的计算机,并且如有必要则将每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小发送到查看者的计算机。如果自从前一截屏被发送到查看者的计算机以来共享应用窗口和非共享应用窗口的位置、大小和顺序尚未改变,那么共享应用窗口的位置和大小、叠盖区域的位置和大小以及背景区域的位置和大小无需被重新发送到查看者的计算机。另一方面,如果自从前一截屏被发送到查看者的计算机以来共享应用窗口或非共享应用窗口的位置、大小或顺序已经改变,那么共享应用窗口的更新后位置和大小、叠盖区域的更新后位置和大小和/或背景区域的更新后位置和大小被发送到查看者的计算机。这确保了查看者的计算机屏幕准确地反映当前呈现者的计算机屏幕上的显示。在发送之前,可以使用诸如GZIP或JPEG之类的图像压缩技术来压缩对应于每个共享应用窗口的图像的截屏。
一旦查看者的计算机已经接收到对应于每个共享应用窗口的图像的截屏,并且如果发送了每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小,那么查看者应用共享软件125可以在查看者的计算机屏幕上显示图像。为此,查看者应用软件125执行以下处理。第一,查看者应用软件125基于背景区域的位置和大小来生成或绘制背景区域。可以用任意颜色或图像对背景区域进行填充或着色。第二,查看者应用软件125生成或绘制对应于每个共享应用窗口的位置和大小的窗口。第三,查看者应用共享软件125在每个共享应用窗口内生成或绘制对应于每个共享应用窗口的图像。第四,查看者应用软件125生成或绘制对应于每个叠盖区域的位置和大小的叠盖区域。可以用任意颜色或图像对叠盖区域进行填充或着色。本领域技术人员将认识到,该处理可被修改以实现相同结果,并且所有这种修改都属于本发明的范围内。
图3A和3B示出基于应用的屏幕采样方法如何在数据会议期间工作的一个示例。图3A示出呈现者的计算机屏幕300。呈现者的计算机屏幕300包括背景区域302、共享应用窗口304和306、非共享应用窗口308、310和312,以及叠盖区域314。图3B示出查看者的计算机屏幕300’。查看者的计算机屏幕300’包括背景区域302、共享应用窗口304和306,以及叠盖区域314。
在数据会议已经开始之后,呈现者选择一个或多个应用以与查看者共享。查看者应用共享软件115接收呈现者的选择,然后如下执行本发明的基于应用的共享方法。第一,呈现者应用共享软件115确定呈现者的计算机屏幕300上的每个共享应用窗口的位置和大小(步骤202)。为此,共享应用窗口监视器116监视用于定义共享应用窗口304和306的位置和大小的适当函数调用。第二,呈现者应用共享软件115确定呈现者的计算机屏幕300上的每个非共享应用窗口的位置和大小(步骤204)。为此,非共享应用窗口监视器117监视用于定义非共享应用窗口308、310和312的位置和大小的适当函数调用。第三,呈现者应用共享软件115确定叠盖区域的位置和大小(步骤206)。这可以通过由呈现者应用共享软件115将共享应用窗口304的位置和大小与非共享应用窗口310的位置和大小相比较来确定。注意到,共享应用窗口306中叠盖非共享应用窗口312的部分不是叠盖区域,这是因为非共享应用窗口312未叠盖共享应用窗口306。第四,呈现者应用共享软件115确定背景区域302(步骤208)。呈现者应用共享软件115可以通过将共享应用窗口304和306的位置和大小与整个计算机屏幕300的位置和大小相比较来确定背景区域。第五,呈现者应用共享软件115捕捉共享应用窗口304和306内的图像的截屏(步骤210)。呈现者应用共享软件115可以通过捕捉对应于共享应用窗口304和306的位置和大小的截屏来执行该步骤。第六,呈现者应用共享软件115确定任何共享应用窗口或任何非共享应用窗口的位置、大小或顺序是否已经改变(步骤212)。呈现者应用共享软件115可以通过监视用于定义共享应用窗口304和306以及非共享应用窗口308、310和312的位置、大小和顺序的函数调用来执行该步骤。因为共享应用窗口和非共享应用窗口的位置、大小和顺序在该示例中尚未改变,所以呈现者应用共享软件115继续进行到处理中的下一步骤(即步骤214)。第七,呈现者应用共享软件115发送共享应用窗口304和306内的图像的截屏,并且如有必要则发送共享应用窗口304和306的位置和大小、叠盖区域314的位置和大小以及背景区域302的位置和大小(步骤214)。该示例假定共享应用窗口304和306的位置和大小、叠盖区域312的位置和大小以及背景区域302的位置和大小不改变。因此,共享应用窗口304和306的位置和大小、叠盖区域312的位置和大小以及背景区域302的位置和大小仅需被发送到查看者的计算机一次。此后,只有呈现者的计算机屏幕上的共享应用窗口304和306内的图像的更新后截屏需要被周期性地发送到查看者的计算机。
基于应用的屏幕采样方法200至少提供以下优点。第一,其使得呈现者可以将应用定义或指定为共享应用和非共享应用。属于共享应用和非共享应用的窗口被监视,并且只有属于共享应用的窗口被显示在查看者的计算机屏幕上。因此,呈现者无需担心不注意地共享其不打算与查看者共享的应用窗口或一部分应用窗口。第二,呈现者现在可以通过将非共享应用窗口置于共享应用窗口之上来有意地遮蔽一部分共享应用窗口。
基于OpenGL应用的屏幕采样
本发明提供了一种用于在数据会议期间共享使用OpenGL的应用的改进方法。OpenGL是一种公知的应用程序接口(API),其被应用用来在呈现者的计算机屏幕上绘制图形(例如,2D和3D图形)。为了使用OpenGL生成图形,应用首先启动OpenGL。应用然后调用OpenGL函数。作为这些函数调用的结果,OpenGL内部地调用作为OpenGL子系统的glFlash、glDraw和/或glEscape。最后,glFlash、glDraw或glEscape子系统使得图形被绘制在呈现者的计算机屏幕上。
图4是根据本发明一些实施例的示例性的基于OpenGL应用的屏幕采样方法400的流程图。方法400是在数据会议期间执行的。方法400假定呈现者已经预先定义或者预先指定了应用,作为数据会议期间的共享应用。
在步骤402中,每个共享应用窗口的每个非OpenGL区域的位置和大小被确定。非OpenGL区域是共享应用窗口内的不由OpenGL绘制的区域。如果共享应用只有一个窗口,那么该窗口中的非OpenGL区域的位置和大小被确定。如果共享应用具有多个窗口,那么这些窗口的每一个窗口中的非OpenGL区域的位置和大小被确定。
通过监视并截取共享应用对图形显示子系统作出的函数调用,可以动态地确定每个共享应用窗口的每个非OpenGL区域的位置和大小(如上面在步骤202中所述)。
在步骤404中,每个共享应用窗口的每个OpenGL区域的位置和大小被确定。OpenGL区域是共享应用窗口内的由OpenGL绘制的区域。如果共享应用只有一个窗口,那么该窗口中的OpenGL区域的位置和大小被确定。如果非共享应用具有多个窗口,那么这些窗口的每一个窗口中的OpenGL区域的位置和大小被确定。
通过监视并截取应用所作出的OpenGL函数调用,可以动态地确定每个共享应用窗口的OpenGL区域的位置和大小。例如,通过监视并截取对OpenGL的glFlash、glDraw和glEscape子系统的函数调用,可以动态地确定属于共享应用的每个窗口的OpenGL区域的位置和大小。因此,通过监视并截取对OpenGL或者对OpenGL的glFlash、glDraw和/或glEscape子系统的函数调用,共享应用窗口内的每个OpenGL区域的位置和大小可被确定。该步骤可由OpenGL监视器118(图1)执行。
在步骤406中,每个非共享应用窗口的位置和大小被确定。如果非共享应用只有一个窗口,那么该窗口的位置和大小被确定。如果非共享应用具有多个窗口,那么这些窗口中的每一个窗口的位置和大小被确定。
通过监视并截取非共享应用对图形显示子系统作出的函数调用,可以动态地确定每个非共享应用窗口的位置和大小(如上面在步骤202中所述)。
在步骤408中,每个叠盖区域的位置和大小被确定。叠盖区域是呈现者的计算机屏幕上的非共享应用窗口叠盖共享窗口中的非OpenGL区域或OpenGL区域的区域。如果非共享应用窗口都没有叠盖共享应用窗口中的非OpenGL区域或OpenGL区域,那么没有叠盖区域。如果多个非共享应用窗口叠盖共享应用窗口中的非OpenGL区域或OpenGL区域,那么存在多个叠盖区域。
通过将每个共享应用窗口中的非OpenGL区域和OpenGL区域的位置和大小与每个非共享应用窗口的位置和大小相比较,可以确定每个叠盖区域的位置和大小。
在步骤410中,背景区域被确定。背景区域是呈现者的计算机屏幕上的未被共享应用窗口占据的区域(即,不是非OpenGL区域或OpenGL区域)。背景区域包括呈现者的计算机屏幕中的被非共享应用窗口占据的区域。
通过将每个共享应用窗口中的非OpenGL区域和OpenGL区域的位置和大小与呈现者的整个计算机屏幕的位置和大小相比较,可以确定背景区域。
在步骤412中,对应于每个共享应用窗口的非OpenGL区域和OpenGL区域的图像的截屏被捕捉。在该步骤中,每个共享应用窗口(即,非OpenGL区域和OpenGL区域)内的图像被捕捉,使得其可被提供给查看者。该步骤被周期性地(例如,每秒五次)执行。因此,随着呈现者的计算机屏幕上的图像发生改变,这些改变被立即反映在查看者的计算机屏幕上。
通过捕捉呈现者的计算机上的帧缓冲器中的对应于非OpenGL区域和OpenGL区域的部分,可以捕捉对应于非OpenGL区域和OpenGL区域的图像的截屏。因为步骤402和404确定了共享应用窗口的非OpenGL区域和OpenGL区域的大小和位置,所以共享应用窗口在帧缓冲器内的位置是已知的。
在步骤414中,每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序被监视。如果共享应用窗口或非共享应用窗口的位置、大小或顺序发生改变,那么方法400返回到步骤402。如果共享应用窗口和非共享应用窗口的位置、大小和顺序未改变,那么方法400继续进行到步骤412。
通过监视并截取共享应用对图形显示子系统作出的函数调用,可以动态地监视呈现者的计算机屏幕上的每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序(如上所述)。
在步骤416中,将对应于每个共享应用窗口的非OpenGL区域和OpenGL区域的图像的截屏发送到查看者的计算机,并且如有必要则将每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小发送到查看者的计算机。如果自从前一截屏被发送到查看者的计算机以来共享应用窗口和非共享应用窗口的位置、大小和顺序尚未改变,那么共享应用窗口的位置和大小、叠盖区域的位置和大小以及背景区域的位置和大小无需被重新发送到查看者的计算机。另一方面,如果自从前一截屏被发送到查看者的计算机以来共享应用窗口或非共享应用窗口的位置、大小或顺序已经改变,那么共享应用窗口的更新后位置和大小、叠盖区域的更新后位置和大小和/或背景区域的更新后位置和大小被发送到查看者的计算机。这确保了查看者的计算机屏幕准确地反映当前呈现者的计算机屏幕上的显示。在发送之前,可以使用诸如GZIP或JPEG之类的图像压缩技术来压缩对应于每个共享应用窗口的图像的截屏。
一旦查看者的计算机已经接收到对应于每个共享应用窗口的非OpenGL区域和OpenGL区域的图像的截屏,并且如果发送了每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小,那么查看者应用共享软件125可以在查看者的计算机屏幕上显示图像。为此,查看者应用软件125执行以下处理。第一,查看者应用软件125基于背景区域的位置和大小来生成或绘制背景区域。可以用任意颜色或图像对背景区域进行填充或着色。第二,查看者应用软件125生成或绘制对应于每个共享应用窗口的位置和大小的窗口。第三,查看者应用共享软件125在每个共享应用窗口内生成或绘制对应于每个共享应用窗口的非OpenGL区域和OpenGL区域的图像。第四,查看者应用软件125生成或绘制对应于每个叠盖区域的位置和大小的叠盖区域。可以用任意颜色或图像对叠盖区域进行填充或着色。本领域技术人员将认识到,该处理可被修改以实现相同结果,并且所有这种修改都属于本发明的范围内。
图5A和5B示出基于应用的屏幕采样方法如何在数据会议期间工作的一个示例。图5A示出呈现者的计算机屏幕500。呈现者的计算机屏幕500包括背景区域502、共享应用窗口504和506、非共享应用窗口508、510和512,以及叠盖区域514。共享应用窗口504包括OpenGL区域518,该区域是由OpenGL绘制的区域。共享应用窗口504中的位于OpenGL区域518之外的区域被称为非OpenGL区域,该区域是不由OpenGL绘制的区域。图5B示出查看者的计算机屏幕500’。查看者的计算机屏幕500’包括背景区域502、共享应用窗口504和506,以及叠盖区域514。共享应用窗口504包括OpenGL区域518。共享应用窗口504的OpenGL区域518和非OpenGL区域的一部分被叠盖区域514遮蔽。
在数据会议已经开始之后,呈现者选择一个或多个应用以与查看者共享。查看者应用共享软件115接收呈现者的选择,然后如下执行本发明的基于OpenGL应用的共享方法。第一,呈现者应用共享软件115确定呈现者的计算机屏幕500上的每个共享应用窗口内的非OpenGL区域的位置和大小(步骤402)。为此,共享应用窗口监视器116监视用于定义共享应用窗口504和506的非OpenGL区域的位置和大小的函数调用。第二,呈现者应用共享软件115确定呈现者的计算机屏幕500上的每个共享应用窗口内的OpenGL区域的位置和大小(步骤404)。为此,OpenGL监视器118监视由应用作出的定义了共享应用窗口504的OpenGL区域的位置和大小的函数调用。第三,呈现者应用共享软件115确定呈现者的计算机屏幕500上的每个非共享应用窗口的位置和大小(步骤406)。为此,非共享应用窗口监视器117监视用于定义非共享应用窗口508、510和512的位置和大小的函数调用。第四,呈现者应用共享软件115确定叠盖区域的位置和大小(步骤408)。呈现者应用共享软件115可以通过将共享应用窗口504的非OpenGL区域和OpenGL区域的位置和大小与非共享应用窗口510的位置和大小相比较来确定叠盖区域。注意到,共享应用窗口506中的叠盖非共享应用窗口512的部分不是叠盖区域,这是因为非共享应用窗口512未叠盖共享应用窗口506。第五,呈现者应用共享软件115确定背景区域502(步骤410)。呈现者应用共享软件115可以通过将共享应用窗口504和506的位置和大小与整个计算机屏幕500的位置和大小相比较来确定背景区域。第六,呈现者应用共享软件115捕捉共享应用窗口的非OpenGL区域和OpenGL区域内的图像的截屏(步骤412)。呈现者应用共享软件115可以通过捕捉对应于共享应用窗口504和506(包括非OpenGL区域和OpenGL区域)的位置和大小的截屏来执行该步骤。第七,呈现者应用共享软件115确定任何共享应用窗口或任何非共享应用窗口的位置、大小或顺序是否已经改变(步骤414)。呈现者应用共享软件115可以通过监视用于定义共享应用窗口504和506以及非共享应用窗口508、510和512的位置、大小和顺序的函数调用来执行该步骤。因为共享应用窗口和非共享应用窗口的位置、大小和顺序在该示例中尚未改变,所以呈现者应用共享软件115继续进行到处理中的下一步骤(即步骤416)。第八,呈现者应用共享软件115发送共享应用窗口504和506的非OpenGL区域和OpenGL区域内的图像的截屏,并且如有必要则发送共享应用窗口504和506的位置和大小、叠盖区域514的位置和大小以及背景区域502的位置和大小(步骤416)。该示例假定共享应用窗口504和506的位置和大小、叠盖区域512的位置和大小以及背景区域502的位置和大小不改变。因此,共享应用窗口504和506的位置和大小、叠盖区域514的位置和大小以及背景区域502的位置和大小仅需被发送到查看者的计算机一次。此后,只有呈现者的计算机屏幕上的共享应用窗口504和506内的图像的更新后截屏需要被周期性地发送到查看者的计算机。
基于应用的屏幕采样方法400至少提供以下优点。第一,其使得呈现者可以将应用定义或指定为共享应用和非共享应用。属于共享应用和非共享应用的窗口被监视,并且只有属于共享应用窗口的窗口被显示在查看者的计算机屏幕上。因此,呈现者无需担心不注意地共享其不打算与查看者共享的应用窗口或一部分应用窗口。第二,呈现者现在可以通过将非共享应用窗口置于共享应用窗口之上来有意地遮蔽一部分共享应用窗口。第三,呈现者可以共享使用OpenGL来生成图像的应用。
基于DirectDraw应用的屏幕采样
本发明提供了一种用于在数据会议期间共享使用DirectDraw的应用的改进方法。DirectDraw是一种公知的基于Windows的API,其被用于创建2D图形。许多应用使用DirectDraw在呈现者的计算机屏幕上绘制图形。与OpenGL和其他一般windows API不同,DirectDraw是基于COM的。为了使用DirectDraw生成图形,应用首先启动DirectDraw。应用然后获取对应于DirectDraw的COM接口。接着,应用调用DirectDraw COM接口来访问DirectDraw函数。最后,DirectDraw COM接口调用内部函数来渲染图形。
图6是根据本发明一些实施例的示例性的基于DirectDraw应用的屏幕采样方法600的流程图。方法600是在数据会议期间执行的。方法600假定呈现者已经预先定义或者预先指定了应用,作为数据会议期间的共享应用。
在步骤602中,每个共享应用窗口的每个非DirectDraw区域的位置和大小被确定。非DirectDraw区域是共享应用窗口内的不由DirectDraw绘制的区域。如果共享应用只有一个窗口,那么该窗口中的非DirectDraw区域的位置和大小被确定。如果共享应用具有多个窗口,那么这些窗口的每一个窗口中的非DirectDraw区域的位置和大小被确定。
通过监视并截取共享应用对图形显示子系统作出的函数调用,可以动态地确定每个共享应用窗口的每个非DirectDraw区域的位置和大小(如上面在步骤202中所述)。
在步骤604中,每个共享应用窗口的每个DirectDraw区域的位置和大小被确定。DirectDraw区域是共享应用窗口内的由DirectDraw绘制的区域。如果共享应用只有一个窗口,那么该窗口中的DirectDraw区域的位置和大小被确定。如果非共享应用具有多个窗口,那么这些窗口的每一个窗口中的DirectDraw区域的位置和大小被确定。
通过监视DirectDraw COM接口,可以确定每个共享应用窗口的每个DirectDraw区域的位置和大小。如上所述,DirectDraw不同于OpenGL和其他一般windows API;DirectDraw是基于COM的。因为Direct Draw是基于COM的,因此不可以监视由应用对DirectDraw直接作出的函数调用来确定每个应用共享窗口的每个DirectDraw区域的位置和大小。然而,申请人已经发现,通过动态地监视DirectDraw COM接口并截取用于定义每个共享应用窗口的每个DirectDraw区域的位置和大小的信息,可以确定每个共享应用窗口的每个DirectDraw区域的位置和大小。该步骤可由DirectDraw监视器119(图1)执行。
在步骤606中,每个非共享应用窗口的位置和大小被确定。如果非共享应用只有一个窗口,那么该窗口的位置和大小被确定。如果非共享应用具有多个窗口,那么这些窗口中的每一个窗口的位置和大小被确定。
通过监视并截取共享应用对图形显示子系统作出的函数调用(如上面在步骤202中所述),可以动态地确定非共享应用窗口的位置和大小。
在步骤608中,每个叠盖区域的位置和大小被确定。叠盖区域是呈现者的计算机屏幕上的非共享应用窗口叠盖共享应用窗口中的非DirectDraw区域或DirectDraw区域的区域。如果非共享应用窗口都没有叠盖共享应用窗口中的非DirectDraw区域或DirectDraw区域,那么没有叠盖区域。如果多个非共享应用窗口叠盖共享应用窗口中的非DirectDraw区域或DirectDraw区域,那么存在多个叠盖区域。
通过将每个共享应用窗口中的非DirectDraw区域和DirectDraw区域的位置和大小与每个非共享应用窗口的位置和大小相比较,可以确定每个叠盖区域的位置和大小。
在步骤610中,背景区域被确定。背景区域是呈现者的计算机屏幕上的未被共享应用窗口占据的区域(即,不是非DirectDraw区域或DirectDraw区域)。背景区域包括呈现者的计算机屏幕中的被非共享应用窗口占据的区域。
通过将每个共享应用窗口中的非DirectDraw区域和DirectDraw区域的位置和大小与呈现者的整个桌面的位置和大小相比较,可以确定背景区域。
在步骤612中,对应于每个共享应用窗口的非DirectDraw区域和DirectDraw区域的图像的截屏被捕捉。在该步骤中,每个共享应用窗口(即,非DirectDraw区域和DirectDraw区域)内的图像被捕捉,使得其可被提供给查看者。该步骤被周期性地(例如,每秒五次)执行。因此,随着呈现者的计算机屏幕上的图像发生改变,这些改变被立即反映在查看者的计算机屏幕上。
通过捕捉呈现者的计算机上的帧缓冲器中的对应于非DirectDraw区域和DirectDraw区域的部分,可以捕捉对应于非DirectDraw区域和DirectDraw区域的图像的截屏。因为步骤602和604确定了共享应用窗口的非DirectDraw区域和DirectDraw区域的大小和位置,所以共享应用窗口在帧缓冲器内的位置是已知的。
在步骤614中,每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序被监视。如果共享应用窗口或非共享应用窗口的位置、大小或顺序发生改变,那么方法600返回到步骤602。如果共享应用窗口和非共享应用窗口的位置、大小和顺序未改变,那么方法600继续进行到步骤612。
通过监视并截取共享应用对图形显示子系统作出的函数调用,可以动态地监视呈现者的计算机屏幕上的每个共享应用窗口和每个非共享应用窗口的位置、大小和顺序(如上所述)。
在步骤616中,将每个共享应用窗口的非DirectDraw区域和DirectDraw区域内的图像的截屏发送到查看者的计算机,并且如有必要则将每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小发送到查看者的计算机。如果自从前一截屏被发送到查看者的计算机以来共享应用窗口和非共享应用窗口的位置、大小或顺序尚未改变,那么共享应用窗口的位置和大小、叠盖区域的位置和大小以及背景区域的位置和大小无需被重新发送到查看者的计算机。另一方面,如果自从前一截屏被发送到查看者的计算机以来共享应用窗口或非共享应用窗口的位置、大小或顺序已经改变,那么共享应用窗口的更新后位置和大小、叠盖区域的更新后位置和大小和/或背景区域的更新后位置和大小被发送到查看者的计算机。这确保了查看者的计算机屏幕准确地反映当前呈现者的计算机屏幕上的显示。在发送之前,可以使用诸如GZIP或JPEG之类的图像压缩技术来压缩对应于每个共享应用窗口的图像的截屏。
一旦查看者的计算机已经接收到对应于每个共享应用窗口的非DirectDraw区域和DirectDraw区域的图像的截屏,并且如果发送了每个共享应用窗口的位置和大小、每个叠盖区域的位置和大小以及背景区域的位置和大小,那么查看者应用共享软件125可以在查看者的计算机屏幕上显示图像。为此,查看者应用软件125执行以下处理。第一,查看者应用软件125基于背景区域的位置和大小来生成或绘制背景区域。可以用任意颜色或图像对背景区域进行填充或着色。第二,查看者应用软件125生成或绘制对应于每个共享应用窗口的位置和大小的窗口。第三,查看者应用共享软件125在每个共享应用窗口内生成或绘制对应于每个共享应用窗口的非DirectDraw区域和DirectDraw区域的图像。第四,查看者应用软件125生成或绘制对应于每个叠盖区域的位置和大小的叠盖区域。可以用任意颜色或图像对叠盖区域进行填充或着色。本领域技术人员将认识到,该处理可被修改以实现相同结果,并且所有这种修改都属于本发明的范围内。
图7A和7B示出基于应用的屏幕采样方法600如何在数据会议期间工作的一个示例。图7A示出呈现者的计算机屏幕700。呈现者的计算机屏幕700包括背景区域702、共享应用窗口704和706、非共享应用窗口708、710和712,以及叠盖区域714。共享应用窗口704包括DirectDraw区域718,该区域是由DirectDraw绘制的区域。共享应用窗口704中的位于DirectDraw区域718之外的区域被称为非DirectDraw区域,该区域是不由DirectDraw绘制的区域。图7B示出查看者的计算机屏幕700’。查看者的计算机屏幕700’包括背景区域702、共享应用窗口704和706,以及叠盖区域714。共享应用窗口704包括DirectDraw区域718。共享应用窗口704的DirectDraw区域718和非DirectDraw区域的一部分被叠盖区域714遮蔽。
在数据会议已经开始之后,呈现者选择一个或多个应用以与查看者共享。查看者应用共享软件115接收呈现者的选择,然后如下执行本发明的基于DirectDraw应用的共享方法。第一,呈现者应用共享软件115确定呈现者的计算机屏幕700上的每个共享应用窗口内的非DirectDraw区域的位置和大小(步骤602)。为此,共享应用窗口监视器116监视用于定义共享应用窗口704和706的非DirectDraw区域的位置和大小的函数调用。第二,呈现者应用共享软件115确定呈现者的计算机屏幕700上的每个共享应用窗口内的DirectDraw区域的位置和大小(步骤604)。为此,DirectDraw监视器118监视DirectDraw COM接口并截取用于定义共享应用窗口704的DirectDraw区域的位置和大小的信息。第三,呈现者应用共享软件115确定呈现者的计算机屏幕700上的每个非共享应用窗口的位置和大小(步骤606)。为此,非共享应用窗口监视器117监视用于定义非共享应用窗口708、710和712的位置和大小的函数调用。第四,呈现者应用共享软件115确定叠盖区域的位置和大小(步骤608)。呈现者应用共享软件115可以通过将共享应用窗口704的非DirectDraw区域和DirectDraw区域的位置和大小与非共享应用窗口710的位置和大小相比较来确定叠盖区域。注意到,共享应用窗口706中的叠盖非共享应用窗口712的部分不是叠盖区域,这是因为非共享应用窗口712未叠盖共享应用窗口706。第五,呈现者应用共享软件115确定背景区域702(步骤610)。呈现者应用共享软件115可以通过将共享应用窗口704和706的位置和大小与整个计算机屏幕700的位置和大小相比较来确定背景区域。第六,呈现者应用共享软件115捕捉共享应用窗口704和706的非DirectDraw区域和DirectDraw区域内的图像的截屏(步骤612)。呈现者应用共享软件115可以通过捕捉对应于共享应用窗口704和706(包括非DirectDraw区域和DirectDraw区域)的位置和大小的截屏来执行该步骤。第七,呈现者应用共享软件115确定任何共享应用窗口或任何非共享应用窗口的位置、大小或顺序是否已经改变(步骤614)。呈现者应用共享软件115可以通过监视用于定义共享应用窗口704和706以及非共享应用窗口708、710和712的位置、大小和顺序的函数调用来执行该步骤。因为共享应用窗口和非共享应用窗口的位置、大小和顺序在该示例中尚未改变,所以呈现者应用共享软件115继续进行到步骤616。第八,呈现者应用共享软件115发送共享应用窗口704和706的非DirectDraw区域和DirectDraw区域内的图像的截屏,并且如有必要则发送共享应用窗口704和706的位置和大小、叠盖区域714的位置和大小以及背景区域702的位置和大小(步骤616)。该示例假定共享应用窗口704和706的位置和大小、叠盖区域714的位置和大小以及背景区域702的位置和大小不改变。因此,共享应用窗口704和706的位置和大小、叠盖区域714的位置和大小以及背景区域702的位置和大小仅需被发送到查看者的计算机一次。此后,只有呈现者的计算机屏幕上的共享应用窗口704和706内的图像的更新后截屏需要被周期性地发送到查看者的计算机。
基于应用的屏幕采样方法600至少提供以下优点。第一,其使得呈现者可以将应用定义或指定为共享应用和非共享应用。属于共享应用和非共享应用的窗口被监视,并且只有属于共享应用窗口的窗口被显示在查看者的计算机屏幕上。因此,呈现者无需担心不注意地共享其不打算与查看者共享的应用窗口或一部分应用窗口。第二,呈现者现在可以通过将非共享应用窗口置于共享应用窗口之上来有意地遮蔽一部分共享应用窗口。第三,呈现者可以共享使用DirectDraw来生成图像的应用。
应当认识到,方法600的步骤604可被修改,使得任何COM接口(不只是DirectDraw COM接口)可被监视。因此,本发明还提供了用于监视任何COM接口的一般方法。
图8图示出系统800的一种实施例。在一种实施例中,系统800实现于服务器140中。在另一实施例中,系统800实现于电子设备110中。在又一实施例中,系统800实现于电子设备110和服务器140两者中。
在一种实施例中,系统800包括窗口检测模块810、外部渲染模块820、存储模块830、接口模块840、控制模块850、修改检测模块860、内部渲染模块870,以及窗口选择模块880。
在一种实施例中,控制模块850与窗口检测模块810、外部渲染模块820、存储模块830、接口模块840、修改检测模块860、内部渲染模块870以及窗口选择模块880进行通信。在一种实施例中,控制模块850协调窗口检测模块810、外部渲染模块820、存储模块830、接口模块840、修改检测模块860、内部渲染模块870以及窗口选择模块880之间的任务、请求和通信。
在一种实施例中,窗口检测模块810检测由充当呈现者设备的参与设备使用的窗口。在一种实施例中,该窗口用于查看内容。在一种实施例中,该窗口用于查看作为协作会话之一部分的内容。在另一实施例中,窗口用于查看机密信息。窗口检测模块810配置为检测用于在呈现者设备的桌面内显示内容的任何数目的窗口。
在一种实施例中,外部渲染模块820渲染用于在作为协作会话的出席者设备的参与设备上显示的内容。
在一种实施例中,接口检测模块840检测光标何时在参与协作会话的设备上移动。在另一实施例中,接口检测模块840监视源自参与协作会话的设备的语音传输。在又一实施例中,接口检测模块840检测由参与协作会话的设备进行的任何活动。
在一种实施例中,存储模块830存储记录,该记录包括与参与协作会话的每个设备相关联的资料(profile)。在图9中的记录900中示出了示例性资料。
在一种实施例中,接口模块840接收来自电子设备110之一的信号。在一种实施例中,电子设备110参与协作会话。在另一实施例中,接口模块840向电子设备110之一递送信号。
在一种实施例中,修改检测模块860监视对由于查看呈现者设备上的私有内容而被遮住的内容进行的改变或修改。在一种实施例中,出席者设备修改由呈现者设备共享的内容,由于阻隔呈现者设备进行查看的其他私有内容,呈现者设备看不到由出席者修改的内容。
在一种实施例中,内部渲染模块870渲染用于在协作会话内的呈现者设备上显示的内容。
在一种实施例中,窗口选择模块880选择将要在呈现者设备上显示并对一个或多个出席者设备保密的窗口或内容区域。
图8中的系统800是为了示例性目的而示出的,并且仅仅是本发明的一个实施例。在不脱离本发明范围的情况下,可以向系统800加入另外的模块。类似地,在不脱离本发明范围的情况下,可以组合或删除模块。
图9图示出与本发明一起使用的示例性记录900。在一种实施例中,记录900图示出与协作会话期间的特定参与设备的资料信息相关联的示例性记录。
在一种实施例中,存在多个记录,使得每个记录900与特定参与设备相关联。另外,每个设备对应于多个记录,其中特定设备的每个记录900对应于特定协作会话。
在一种实施例中,记录900包括参与设备身份字段910、选择隐藏窗口字段920、以及缺省设定字段930。在一种实施例中,记录900驻留在存储模块830中。在一种实施例中,记录900描述通过系统800检测的属性。
在一种实施例中,参与设备身份字段910包括与参与设备的唯一身份有关的信息。在一种实施例中,参与设备的用户的唯一名称被用于参与设备身份字段910中。在另一实施例中,唯一的号码标识符被用于参与设备身份字段910中。
在一种实施例中,选择隐藏窗口字段920标识出在参与者标识中标识出的设备希望哪个或哪些窗口不被协作会话中的其他参与设备看见。
在一种实施例中,设备指定将不被其他参与设备查看的一个或多个特定窗口。例如,与特定参与设备的聊天窗口可被标识并免于被其他参与设备查看。虽然该聊天窗口可被包括在呈现者设备的桌面内,但是该聊天窗口被标记为隐藏窗口并免于被一个或多个出席者设备查看。
在另一实施例中,设备指定将免于被其他参与设备查看的一类窗口。例如,在呈现者设备处可见的任何聊天窗口可被标识并免于被其他参与者查看。在另一示例中,属于特定应用的任何窗口可被标识并免于被其他参与者查看。例如,与有关的窗口可被确认并免于被其他参与者查看。
在一种实施例中,缺省设定字段930包括预定设定,这些预定设定指示将被标识并免于被其他参与者查看的窗口的类型。
如图10、图11、图12和图13所示的流程图是本发明的一个实施例。在不脱离本发明精神的情况下,可以按照不同顺序来执行这些流程图中的各块。另外,在不脱离本发明精神的情况下,可以删除、添加或组合各块。
图10中的流程图图示出根据本发明一个实施例、精炼协作会话的参与设备的用户的资料。
在块1010中,由参与设备的用户来选择特定资料。在一种实施例中,通过用户标识来认证用户的身份。在另一实施例中,通过包括但不限于密码的登录例程来进一步确认用户的身份。
在块1020中,由与特定资料相关联的用户来选择隐藏窗口。当窗口被选择为隐藏窗口时,在该窗口内显示的内容配置为对与特定资料相关联的参与设备的用户示出并对其他参与设备隐藏。
例如,在由第一参与设备和第二参与设备出席的协作会话中,如果窗口被使用第一参与设备的用户选择为隐藏,那么该窗口可被第一参与设备查看并且对第二参与设备隐藏。另外,即使在协作会话期间第一参与设备是呈现者设备并且第二参与设备是出席者设备(其中第一参与设备的桌面被与第二参与设备共享),该隐藏窗口仍然对第二参与设备隐藏。
在一种实施例中,通过标识第一参与设备和另一方之间的诸如聊天窗口之类的特定窗口来选择隐藏窗口。例如,参与设备可以标识在该参与设备和另一特定方之间发生的聊天窗口。
在块1030中,存储资料,所述资料包括指示窗口是隐藏还是共享的窗口状态。在一种实施例中,资料被存储在诸如图9的记录900之类的记录中。
在块1040中,针对隐藏窗口的改变偏好来监视参与设备。例如,如果用户共享当前为隐藏的窗口,那么改变被检测到。类似地,如果用户使当前与其他参与者共享的窗口变为隐藏,那么改变也被检测到。在一种实施例中,对窗口状态的改变在协作会话期间是实时作出的。
如果在块1050中检测到对窗口状态的改变,那么在块1060中更新新的窗口状态。在一种实施例中,在块1040中不断地监视窗口状态。
如果在块1050中未检测到对窗口状态的改变,那么在块1040中不断地监视窗口状态。
图11中的流程图图示出根据本发明一个实施例、在协作会话期间从呈现者设备向参与设备共享桌面。
在块1110中,与协作会话的呈现者设备相关联的窗口状态信息被接收。在一种实施例中,窗口状态信息描述窗口是共享的还是隐藏的。在一种实施例中,窗口状态信息存储在图9中的记录900中。在一种实施例中,呈现者设备的桌面内的每个窗口的窗口状态信息被接收。
在块1120中,当前在呈现者设备上显示的窗口被检测。在一种实施例中,检测与窗口有关的各种信息,例如与窗口相关联的应用、窗口的标题,等等。
在块1130中,如果在呈现者设备上未示出隐藏窗口,那么外部渲染模块820和内部渲染模块870所显示的图像是相同的并且在块1140中被显示。在一种实施例中,内部渲染模块870所显示的图像在呈现者设备上示出,并且外部渲染模块820所显示的图像在一个或多个出席者设备上示出。
在块1130中,如果有隐藏窗口在呈现者设备上示出,那么外部渲染模块820所显示的图像在块1160中被显示,并且内部渲染模块870所显示的图像在块1150中被显示。
在块1150中,内部渲染模块870向呈现者设备显示图像。在一种实施例中,隐藏窗口与协作会话所关联的任何共享内容同时显示在呈现者设备的桌面上。
在某些实例中,窗口被层叠于彼此之上。在一种示例中,隐藏窗口示出为位于共享内容之上。在后续附图中示出并在下面描述了示出在共享内容之上显示的隐藏窗口的示图。在一种实施例中,隐藏窗口完全遮住隐藏窗口之下的共享内容。在另一实施例中,隐藏窗口是半透明的并且允许查看隐藏窗口之下的共享内容。
在一种实施例中,当由呈现者设备查看时,在视觉上可以将隐藏窗口与共享窗口区分开。在一种实施例中,隐藏窗口和共享窗口被示出为以不同的颜色、图案等显示,以便在视觉上可以在显示于呈现者设备上的隐藏窗口和共享窗口之间进行区分。
在块1160中,外部渲染模块820向一个或多个出席者设备显示图像。在一种实施例中,向一个或多个出席者设备示出共享窗口。然而,不向所述一个或多个出席者设备显示隐藏窗口。
图12中的流程图图示出根据本发明一个实施例、在协作会话期间从呈现者设备向参与设备共享桌面。
在块1210中,当前在呈现者设备上显示的隐藏窗口被检测。在一种实施例中,通过如在块1110中描述的窗口状态信息来确定隐藏窗口。
在块1220中,由出席者设备对在呈现者设备和出席者设备都可以访问的共享窗口上显示的内容进行的修改被检测。
在一种实施例中,所述修改包括内容的注释、内容的删除,或者加入另外的内容。
在块1230中,如果对共享窗口中内容的修改不位于隐藏窗口之下,那么外部渲染模块820和内部渲染模块870所显示的修改后内容是相同的并且在块1140中被显示。在一种实施例中,内部渲染模块870所显示的修改后内容在呈现者设备上示出,并且外部渲染模块820所显示的修改后内容在一个或多个出席者设备上示出。
在块1230中,如果对共享窗口中内容的修改位于隐藏窗口之下,那么外部渲染模块820所显示的修改后内容在块1260中被显示,并且内部渲染模块870所显示的修改后内容在块1250中被显示。
在块1250中,内部渲染模块870向呈现者设备显示隐藏窗口。在一种实施例中,修改后内容中不被隐藏窗口覆盖的部分与隐藏窗口同时被显示给呈现者设备。
在一种实施例中,隐藏窗口是不透明的并且完全覆盖隐藏窗口之下的修改后内容。在该实施例中,隐藏窗口之下的修改后内容不被显示给呈现者设备。
在另一实施例中,隐藏窗口是半透明的并且部分地覆盖隐藏窗口之下的修改后内容。在该实施例中,隐藏窗口之下的修改后内容被部分地显示给呈现者设备。另外,随着修改后内容被改变,修改后内容被显示给呈现者设备。
在块1260,外部渲染模块820向出席者设备显示修改后内容。在一种实施例中,向出席者设备示出共享窗口。然而,不向出席者设备显示隐藏窗口。
图13中的流程图图示出根据本发明一个实施例、在协作会话期间向参与者设备显示屏幕。
在块1310中,当前在呈现者设备上显示的隐藏窗口被检测。在一种实施例中,通过窗口状态信息来确定隐藏窗口。
在块1320中,隐藏窗口的移动被检测。在一种实施例中,隐藏窗口的移动包括扩大隐藏窗口、最小化隐藏窗口、移动隐藏窗口的位置,等等。
在块1330中,如果未检测到隐藏窗口的移动,那么外部渲染模块1320和内部渲染模块1370所显示的修改后内容是相同的并且在块1340中被显示。在一种实施例中,修改后内容被显示在共享窗口中,并且包括由出席者设备或呈现者设备作出的对内容的注释、内容的删除或另外内容的添加。
在块1330中,如果隐藏窗口的移动被检测到,那么在块1350中确定隐藏窗口是否曾覆盖修改后内容。
在块1350中,如果隐藏窗口未曾覆盖修改后内容,那么外部渲染模块1320和内部渲染模块1370所显示的修改后内容是相同的并且在块1340中被显示。
在块1350中,如果隐藏窗口曾覆盖修改后内容,那么在块1360中内部渲染模块1370在新位置向呈现者设备显示隐藏窗口并且在原始位置向呈现者设备显示曾被隐藏窗口覆盖的修改后内容。在一种实施例中,修改后内容中未被隐藏窗口覆盖的部分与隐藏窗口同时被显示给呈现者设备。
在块1370中,外部渲染模块820向出席者设备显示修改后内容。在一种实施例中,向出席者设备示出共享窗口。然而,不向出席者设备显示隐藏窗口。
在图14A、图14B、图15A、图15B、图16A和图16B中示出示例性截屏,这些截屏图示出呈现者设备和出席者设备在参与协作会话时的桌面。
图14A图示出呈现者桌面1400,该桌面示出呈现者设备所显示的示例性桌面。在一种实施例中,呈现者桌面1400包括诸如人员1410、窗口1420和窗口1430之类的对象。
图14B图示出出席者桌面1450,该桌面示出由出席者设备在与呈现者设备的协作会话期间显示的示例性桌面。在一种实施例中,出席者桌面1450反映如图14A所示的呈现者桌面1400所共享的桌面。为了清楚,呈现者桌面1400和出席者桌面1450之间的共同元素也共享共同的标号。例如,出席者桌面1450中的人员1410、窗口1420和窗口1430与呈现者桌面1400中的共同元素号码相符。
在一种实施例中,呈现者桌面1400不包含隐藏窗口。因为没有隐藏窗口,因此呈现者桌面1400的人员1410、窗口1420和窗口1430也在出席者桌面1450上示出。
图15A图示出呈现者桌面1500,该桌面示出呈现者设备所显示的示例性桌面。在一种实施例中,呈现者桌面1500包括人员1510、窗口1520、窗口1530,以及注释1540。
图15B图示出出席者桌面1550,该桌面示出由出席者设备在与呈现者设备的协作会话期间显示的示例性桌面。在一种实施例中,出席者桌面1550反映如图15A所示的呈现者桌面1500所共享的桌面。为了清楚,呈现者桌面1500和出席者桌面1550之间的共同元素也共享共同的标号。例如,出席者桌面1550中的人员1510、窗口1520和注释1540与呈现者桌面1500中的共同元素号码相符。
在一种实施例中,呈现者桌面1500包括作为隐藏窗口的窗口1530。因为窗口1530是隐藏窗口,因此呈现者桌面1500中的人员1510、窗口1520和注释1540在出席者桌面1550上示出。
在一种实施例中,呈现者桌面1500示出定位为部分地覆盖人员1510并完全覆盖注释1540的窗口1530。在一种实施例中,窗口1530是半透明的并且允许部分地查看呈现者屏幕1500上被窗口1530覆盖的人员1510和注释1540。在另一实施例中,窗口1530是不透明的,并且在呈现者桌面1500上人员1510的部分和注释1540被窗口1530覆盖。
在一种实施例中,呈现者桌面1500包括作为隐藏窗口的窗口1530。因为窗口1530是隐藏窗口,因此呈现者桌面1500中的人员1510、窗口1520和注释1540也在出席者桌面1550上示出。
在一种实施例中,呈现者桌面1500示出定位为部分地覆盖人员1510并完全覆盖注释1540的窗口1530。在一种实施例中,窗口1530是半透明的并且允许部分地查看呈现者屏幕1500上被窗口1530覆盖的人员1510和注释1540。在另一实施例中,窗口1530是不透明的,并且在呈现者桌面1500上人员1510的部分和注释1540被窗口1530覆盖。
在一种实施例中,在呈现者设备所共享的桌面上,注释1540是由出席者设备创建的。
在一种实施例中,出席者桌面1550指导人员1510变为动画。在该实施例中,窗口1530是半透明的并且允许在呈现者桌面上部分地查看人员1510,所述人员具有出席者桌面所指导的动画。
图16A图示出呈现者桌面1600,该桌面示出呈现者设备所显示的示例性桌面。在一种实施例中,呈现者桌面1600包括人员1610、窗口1620、窗口1630,以及注释1640。
图16B图示出出席者桌面1650,该桌面示出由出席者设备在与呈现者设备的协作会话期间显示的示例性桌面。在一种实施例中,出席者桌面1650反映如图16A所示的呈现者桌面1600所共享的桌面。出席者桌面1650是呈现者桌面1600的表示视图。为了清楚,呈现者桌面1600和出席者桌面1650之间的共同元素也共享共同的标号。例如,出席者桌面1650中的人员1610、窗口1620和注释1640与呈现者桌面1600中的共同元素号码相符。
在一种实施例中,呈现者桌面1600包括作为隐藏窗口的窗口1630。因为窗口1630是隐藏窗口,因此呈现者桌面1600中的人员1610、窗口1620和注释1640也在出席者桌面1650上示出。
在一种实施例中,呈现者桌面1600示出定位为部分地覆盖人员1610的窗口1630。在一种实施例中,窗口1630是半透明的并且允许部分地查看呈现者屏幕1600上被窗口1630覆盖的人员1610。在另一实施例中,窗口1630是不透明的,并且在呈现者桌面1600上人员1610的部分被窗口1630覆盖。
在一种实施例中,图10A的窗口1030与图16B的窗口1630相对应。在一种实施例中,图10A中的窗口1030表示起点并且完全覆盖注释1040。在一种实施例中,窗口1630表示终点并且位于注释1640左侧。在窗口1630移开之后,注释1640以全视图示出。
替代实施例
本发明的方法步骤的执行顺序本质上仅是说明性的。可以按照任何顺序或并行地执行这些步骤,除否本文另有所指。本发明的方法可以由在任何类型的一个或多个计算机上操作的硬件、固件、软件或其任何组合执行。实现本发明的软件可以包括在任何计算机可读介质(例如,ROM、RAM、磁性介质、任何形式的光盘(CD)、DVD等)中存储的任何形式的计算机指令(例如,源代码、目标代码、解释代码等)。这种软件也可以呈实现于在传导介质上传播的载波中的计算机可读数据信号的形式。
虽然已经示出并描述了本发明的具体实施例,但是本领域技术人员将会明白,在不脱离本发明更广方面的情况下可以作出改变和修改,因此所附权利要求书将把属于本发明实质精神的所有这种改变和修改包括在其范围内。
Claims (19)
1.一种方法,包括:
检测对应于呈现者设备的资料,其中所述资料包括隐藏窗口选择;
在所述呈现者设备的桌面内容中搜索以寻找与所述隐藏窗口选择相对应的隐藏窗口;
与出席者设备共享所述桌面内容;
对所述出席者设备隐藏所述隐藏窗口;以及
检测来自所述呈现者设备的所述隐藏窗口选择的改变。
2.如权利要求1所述的方法,其中,所述隐藏窗口包括内容。
3.如权利要求1所述的方法,还包括检测从所述隐藏窗口到共享窗口的切换。
4.如权利要求1所述的方法,还包括检测从共享窗口到另一隐藏窗口的切换。
5.如权利要求1所述的方法,还包括基于所述隐藏窗口选择的改变来更新所述资料。
6.如权利要求1所述的方法,还包括在所述呈现者设备上显示包括所述隐藏窗口的桌面内容。
7.如权利要求1所述的方法,还包括突出显示所述呈现者设备内的所述隐藏窗口。
8.如权利要求1所述的方法,还包括在所述出席者设备上显示不包括所述隐藏窗口的桌面内容。
9.如权利要求1所述的方法,其中,所述隐藏窗口是半透明的。
10.如权利要求1所述的方法,其中,所述隐藏窗口是不透明的。
11.一种系统,包括:
存储模块,配置为存储与出席者设备相关联的资料,该资料包括隐藏窗口选择;
窗口检测模块,配置为基于所述资料来识别共享窗口和隐藏窗口;
外部渲染模块,配置为向出席者设备显示所述共享窗口。
12.如权利要求11所述的系统,还包括窗口选择模块,该窗口选择模块配置为识别所述隐藏窗口。
13.如权利要求11所述的系统,其中,所述隐藏窗口是半透明的。
14.如权利要求11所述的系统,其中,所述隐藏窗口是不透明的。
15.如权利要求11所述的系统,还包括接口模块,该接口模块配置为允许所述出席者设备修改所述共享窗口。
16.如权利要求11所述的系统,还包括内部渲染模块,该内部渲染模块配置为向呈现者设备显示所述共享窗口和所述隐藏窗口。
17.一种方法,包括:
检测与呈现者设备相关联的资料,其中所述资料指示隐藏窗口;
选择性地与出席者设备共享桌面内容并排除所述隐藏窗口,其中所述桌面内容与所述呈现者设备相对应;
检测所述桌面内容中的内容窗口的状态改变;以及
基于所述内容窗口的状态改变来更新所述资料。
18.根据权利要求17所述的方法,其中,所述改变是从共享状态到隐藏状态的改变。
19.根据权利要求17所述的方法,其中,所述改变是从隐藏状态到共享状态的改变。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/323,193 | 2005-12-29 | ||
US11/323,193 US20060161624A1 (en) | 2001-04-13 | 2005-12-29 | Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101484886A true CN101484886A (zh) | 2009-07-15 |
Family
ID=38218894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680053599.9A Pending CN101484886A (zh) | 2005-12-29 | 2006-12-29 | 动态共享基于应用的屏幕采样的一部分显示的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20060161624A1 (zh) |
EP (1) | EP1966715A4 (zh) |
CN (1) | CN101484886A (zh) |
WO (1) | WO2007076547A2 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143156A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 桌面共享处理方法和设备 |
CN102209115A (zh) * | 2011-05-26 | 2011-10-05 | 华中科技大学 | 一种虚拟桌面系统中不同用户之间的协同方法 |
CN103957235A (zh) * | 2011-02-21 | 2014-07-30 | 北京奇虎科技有限公司 | 一种拖动图像的传输显示方法和系统 |
CN104185057A (zh) * | 2014-08-08 | 2014-12-03 | 广东欧珀移动通信有限公司 | 一种Wi-Fi Display显示方法及装置 |
CN104239806A (zh) * | 2014-09-16 | 2014-12-24 | 三星电子(中国)研发中心 | 在屏幕共享中进行信息保护的方法及手持设备 |
CN104333770A (zh) * | 2014-11-20 | 2015-02-04 | 广州华多网络科技有限公司 | 一种视频直播的方法以及装置 |
CN104427289A (zh) * | 2013-09-02 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2015139493A1 (zh) * | 2014-03-21 | 2015-09-24 | 华为技术有限公司 | 桌面共享的方法和共享设备 |
CN106034114A (zh) * | 2015-03-12 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 多媒体信息分享方法及装置 |
CN113709577A (zh) * | 2020-05-21 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 视频会话方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8521830B2 (en) * | 2003-12-22 | 2013-08-27 | International Business Machines Corporation | Pull-configured distribution of imagery |
US7966558B2 (en) * | 2006-06-15 | 2011-06-21 | Microsoft Corporation | Snipping tool |
KR100788698B1 (ko) * | 2006-07-13 | 2007-12-26 | 삼성전자주식회사 | 디스플레이 서비스 방법 및 그 방법을 수행할 수 있는네트워크 디바이스와 저장 매체 |
JP2008242367A (ja) * | 2007-03-29 | 2008-10-09 | Fuji Xerox Co Ltd | 表示制御装置、表示装置、表示システム及びプログラム |
US20090096810A1 (en) * | 2007-10-11 | 2009-04-16 | Green Brian D | Method for selectively remoting windows |
US8397168B2 (en) | 2008-04-05 | 2013-03-12 | Social Communications Company | Interfacing with a spatial virtual communication environment |
US8407605B2 (en) * | 2009-04-03 | 2013-03-26 | Social Communications Company | Application sharing |
US8191001B2 (en) | 2008-04-05 | 2012-05-29 | Social Communications Company | Shared virtual area communication environment based apparatus and methods |
CN101539856B (zh) * | 2008-03-17 | 2013-01-16 | 国际商业机器公司 | 在应用共享软件中恢复被遮挡窗口的方法和装置 |
US8661355B1 (en) | 2008-10-10 | 2014-02-25 | Cisco Technology, Inc. | Distinguishing shared and non-shared applications during collaborative computing sessions |
US8185828B2 (en) * | 2009-04-08 | 2012-05-22 | Cisco Technology, Inc. | Efficiently sharing windows during online collaborative computing sessions |
US8343516B2 (en) * | 2009-06-26 | 2013-01-01 | Taris Biomedical, Inc. | Solid drug tablets for implantable drug delivery devices |
WO2012024205A2 (en) | 2010-08-16 | 2012-02-23 | Social Communications Company | Promoting communicant interactions in a network communications environment |
CN103248946B (zh) * | 2012-02-03 | 2018-01-30 | 海尔集团公司 | 一种视频图像快速传输的方法及系统 |
US9557878B2 (en) * | 2012-04-25 | 2017-01-31 | International Business Machines Corporation | Permitting participant configurable view selection within a screen sharing session |
US20130290874A1 (en) * | 2012-04-27 | 2013-10-31 | Kar-Han Tan | Programmatically adjusting a display characteristic of collaboration content based on a presentation rule |
CN103475850A (zh) * | 2013-08-14 | 2013-12-25 | 深圳市华视瑞通信息技术有限公司 | 共享应用程序之窗口遮挡识别方法 |
CA2932781A1 (en) * | 2013-08-30 | 2015-03-05 | Zag Holdings Inc. | View sharing and dual permission remote browsing methods and systems |
US9612730B2 (en) * | 2014-01-13 | 2017-04-04 | Cisco Technology, Inc. | Viewing different window content with different attendees in desktop sharing |
CN104331297A (zh) * | 2014-11-28 | 2015-02-04 | 广东威创视讯科技股份有限公司 | 一种渲染引擎的绘制方法及装置 |
JP6374854B2 (ja) * | 2015-11-10 | 2018-08-15 | 株式会社オプティム | 画面共有システム及び画面共有方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5062060A (en) * | 1987-01-05 | 1991-10-29 | Motorola Inc. | Computer human interface comprising user-adjustable window for displaying or printing information |
US5577188A (en) * | 1994-05-31 | 1996-11-19 | Future Labs, Inc. | Method to provide for virtual screen overlay |
EP0766847B1 (en) * | 1994-06-17 | 2001-10-31 | Intel Corporation | Apparatus and method for application sharing in a graphic user interface |
US5623603A (en) * | 1994-11-02 | 1997-04-22 | Fls Acquistion Corporation | Method of transferring data at adjustable levels of priorities to provide optimum response to user demands |
US6167432A (en) * | 1996-02-29 | 2000-12-26 | Webex Communications, Inc., | Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users |
US7167897B2 (en) * | 1996-05-08 | 2007-01-23 | Apple Computer, Inc. | Accessories providing a telephone conference application one or more capabilities independent of the teleconference application |
US5944791A (en) * | 1996-10-04 | 1999-08-31 | Contigo Software Llc | Collaborative web browser |
JP3753207B2 (ja) * | 1997-08-11 | 2006-03-08 | 富士ゼロックス株式会社 | 共同作業支援システムおよび共同作業支援方法 |
WO1999026153A2 (en) * | 1997-11-18 | 1999-05-27 | Stellar Computing | Method for establishing a communication connection between two or more users via a network of interconnected computers |
US6601087B1 (en) * | 1998-11-18 | 2003-07-29 | Webex Communications, Inc. | Instant document sharing |
JP3280330B2 (ja) * | 1998-12-16 | 2002-05-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信方法、クライアント端末、サーバ、通信システム、通信を制御するためのソフトウエア・プロダクトを格納した記録媒体 |
US7284203B1 (en) * | 1999-07-27 | 2007-10-16 | Verizon Laboratories Inc. | Method and apparatus for application sharing interface |
US6789119B1 (en) * | 1999-11-24 | 2004-09-07 | Webex Communication, Inc. | Emulating a persistent connection using http |
US6714214B1 (en) * | 1999-12-07 | 2004-03-30 | Microsoft Corporation | System method and user interface for active reading of electronic content |
US6654032B1 (en) * | 1999-12-23 | 2003-11-25 | Webex Communications, Inc. | Instant sharing of documents on a remote server |
US6763501B1 (en) * | 2000-06-09 | 2004-07-13 | Webex Communications, Inc. | Remote document serving |
US7203755B2 (en) * | 2000-12-29 | 2007-04-10 | Webex—Communications, Inc. | System and method for application sharing in collaborative setting |
US20030164853A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed document sharing |
US6567813B1 (en) * | 2000-12-29 | 2003-05-20 | Webex Communications, Inc. | Quality of service maintenance for distributed collaborative computing |
US6925645B2 (en) * | 2000-12-29 | 2005-08-02 | Webex Communications, Inc. | Fault tolerant server architecture for collaborative computing |
US20030167302A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Scalable distributed network system for collaborative computing |
US20030167418A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Fault-tolerant server for collaborative computing |
WO2002054264A1 (en) * | 2000-12-29 | 2002-07-11 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
US20030167304A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed meeting management |
US7069298B2 (en) * | 2000-12-29 | 2006-06-27 | Webex Communications, Inc. | Fault-tolerant distributed system for collaborative computing |
US6901448B2 (en) * | 2000-12-29 | 2005-05-31 | Webex Communications, Inc. | Secure communications system for collaborative computing |
US20030085922A1 (en) * | 2001-04-13 | 2003-05-08 | Songxiang Wei | Sharing DirectDraw applications using application based screen sampling |
US7418664B2 (en) * | 2002-04-03 | 2008-08-26 | Microsoft Corporation | Application sharing single document sharing |
US7266779B2 (en) * | 2002-04-22 | 2007-09-04 | Microsoft Corporation | Application sharing security |
US10152190B2 (en) * | 2003-12-15 | 2018-12-11 | Open Invention Network, Llc | Systems and methods for improved application sharing in a multimedia collaboration session |
-
2005
- 2005-12-29 US US11/323,193 patent/US20060161624A1/en not_active Abandoned
-
2006
- 2006-12-29 WO PCT/US2006/062748 patent/WO2007076547A2/en active Application Filing
- 2006-12-29 CN CN200680053599.9A patent/CN101484886A/zh active Pending
- 2006-12-29 EP EP06848770.1A patent/EP1966715A4/en not_active Withdrawn
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143156A (zh) * | 2010-12-31 | 2011-08-03 | 华为技术有限公司 | 桌面共享处理方法和设备 |
WO2012088899A1 (zh) * | 2010-12-31 | 2012-07-05 | 华为技术有限公司 | 桌面共享处理方法和设备 |
CN102143156B (zh) * | 2010-12-31 | 2014-06-04 | 华为技术有限公司 | 桌面共享处理方法和设备 |
CN103957235A (zh) * | 2011-02-21 | 2014-07-30 | 北京奇虎科技有限公司 | 一种拖动图像的传输显示方法和系统 |
CN102209115A (zh) * | 2011-05-26 | 2011-10-05 | 华中科技大学 | 一种虚拟桌面系统中不同用户之间的协同方法 |
CN104427289A (zh) * | 2013-09-02 | 2015-03-18 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104427289B (zh) * | 2013-09-02 | 2019-03-29 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2015139493A1 (zh) * | 2014-03-21 | 2015-09-24 | 华为技术有限公司 | 桌面共享的方法和共享设备 |
CN104185057A (zh) * | 2014-08-08 | 2014-12-03 | 广东欧珀移动通信有限公司 | 一种Wi-Fi Display显示方法及装置 |
CN104185057B (zh) * | 2014-08-08 | 2017-07-28 | 广东欧珀移动通信有限公司 | 一种Wi‑Fi Display显示方法及装置 |
CN104239806A (zh) * | 2014-09-16 | 2014-12-24 | 三星电子(中国)研发中心 | 在屏幕共享中进行信息保护的方法及手持设备 |
CN104333770A (zh) * | 2014-11-20 | 2015-02-04 | 广州华多网络科技有限公司 | 一种视频直播的方法以及装置 |
CN104333770B (zh) * | 2014-11-20 | 2018-01-12 | 广州华多网络科技有限公司 | 一种视频直播的方法以及装置 |
US10924772B2 (en) | 2014-11-20 | 2021-02-16 | Guangzhou Huaduo Network Technology Co., Ltd. | Method and device for live video broadcast |
CN106034114A (zh) * | 2015-03-12 | 2016-10-19 | 腾讯科技(深圳)有限公司 | 多媒体信息分享方法及装置 |
CN113709577A (zh) * | 2020-05-21 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 视频会话方法 |
CN113709577B (zh) * | 2020-05-21 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 视频会话方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1966715A4 (en) | 2016-11-23 |
WO2007076547A3 (en) | 2009-02-19 |
WO2007076547A2 (en) | 2007-07-05 |
US20060161624A1 (en) | 2006-07-20 |
EP1966715A2 (en) | 2008-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101484886A (zh) | 动态共享基于应用的屏幕采样的一部分显示的方法和装置 | |
JP7263442B2 (ja) | モバイルアプリケーションのリアルタイム遠隔制御のためのシステムおよび方法 | |
US20060161622A1 (en) | Methods and apparatuses for selectively sharing a portion of a display for application based screen sampling using direct draw applications | |
US8185828B2 (en) | Efficiently sharing windows during online collaborative computing sessions | |
KR101124766B1 (ko) | 연락처 센터에서 통신을 관리하는 방법 | |
CN101535973B (zh) | 用于在协作对话期间动态共享显示器的一部分的方法和设备 | |
US9386270B2 (en) | Displaying information about at least one participant in a video conference session | |
EP3293955A1 (en) | Information processing device, information processing method and information processing program | |
US20160234276A1 (en) | System, method, and logic for managing content in a virtual meeting | |
US20060161623A1 (en) | Methods and apparatuses for selectively sharing a portion of a display for application based screen sampling | |
US20100153858A1 (en) | Uniform virtual environments | |
US20100131868A1 (en) | Limitedly sharing application windows in application sharing sessions | |
US20160078449A1 (en) | Two-Way Interactive Support | |
US20150012831A1 (en) | Systems and methods for sharing graphical user interfaces between multiple computers | |
US20120209954A1 (en) | Systems and Methods for Online Session Sharing | |
WO2012158576A2 (en) | Presenting or sharing state in presence | |
US8661355B1 (en) | Distinguishing shared and non-shared applications during collaborative computing sessions | |
CN105988790B (zh) | 一种信息处理方法、发送终端及接收终端 | |
CN106134134A (zh) | 即时消息传递 | |
WO2022028239A1 (zh) | 图像处理方法、装置、设备以及计算机可读存储介质 | |
CN111290722A (zh) | 屏幕分享方法、装置、系统、电子设备和存储介质 | |
CN112272328B (zh) | 弹幕推荐方法及相关装置 | |
CN107924298A (zh) | 用于在触摸屏计算机之间交互式共享应用和数据的方法以及用于实现该方法的计算机程序 | |
CN109729303A (zh) | 会议提供装置及所述装置中的连接终端变更方法 | |
US20170346863A1 (en) | Monitoring Network Events |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090715 |