CN101981558B - 用于管理远程会话中的多媒体操作的系统和方法 - Google Patents
用于管理远程会话中的多媒体操作的系统和方法 Download PDFInfo
- Publication number
- CN101981558B CN101981558B CN200980112501.6A CN200980112501A CN101981558B CN 101981558 B CN101981558 B CN 101981558B CN 200980112501 A CN200980112501 A CN 200980112501A CN 101981558 B CN101981558 B CN 101981558B
- Authority
- CN
- China
- Prior art keywords
- media
- client computer
- server
- platform
- user interface
- 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.)
- Active
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/01—Protocols
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- 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
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4143—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
-
- 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/544—Remote
-
- 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
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
描述了与管理终端服务情形中的多媒体传输相关的技术。在一示例中,一种方法将用户界面组件从服务器发送到远程客户机。该示例性方法还流传输媒体组件,以便与用户界面组件相结合地呈现在远程客户机上,并且其中服务器跟踪但不显示该媒体呈现。
Description
背景
可以包括协作会话的远程会话可以在本地计算机和远程计算机之间提供远程化(remoting)体验。协作可以涉及在远程计算机上重新创建本地计算机的图形用户界面的一部分或全部的外观。可以使用诸如远程化之类的一种或多种技术来在远程计算机上重新创建图形用户界面。最终在远程计算机上重新创建的协作会话可以由一个或多个参数来管控,这些参数可以与本地计算机的在远程计算机处重新创建的那部分相关联。
协作会话的一个常见的示例可以是与用于回放多媒体文件的媒体操作相关的操作。用于远程化这样的会话的技术可以涉及将媒体数据从本地计算机传输到远程计算机。媒体数据可以包括与旨在被播放的多媒体文件相关联的数据、处理数据、呈现数据等等。本地计算机上的多媒体文件可以通过将媒体数据远程化到远程计算机来在远程计算机上远程播放。媒体数据并非呈现到本地计算机上,而是呈现到远程计算机上。
概述
提供本概述是为了介绍用于管理远程会话中的多媒体操作的概念。这些概念在以下详细描述中进一步描述。本概述并不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
参考附图来描述“详细描述”。在附图中,附图标记中最左边的数字标识该附图标记首次出现的附图。在各附图中,使用相同的标号来指示相同的特征和组件。
图1是示出了用于管理协作会话中的多媒体操作的示例性网络的框图。
图2是示出了管理基于计算机的网络中的协作会话中的多媒体操作的流程图。
图3是用于管理协作会话中的多媒体操作的映射表的示例性图示。
图4是示出了媒体平台的一个或多个示例性组件的框图。
图5是示出了用于管理协作会话中的多媒体操作的示例性过程的流程图。
图6是示出了示例性通用计算机环境的框图。
详细描述
下面描述的方法和系统涉及协作会话和处理协作会话中的媒体回放操作。协作会话可以在客户机计算机(下文简称“客户机”)和服务器计算机(下文简称“服务器”)之间提供远程化体验。协作可以涉及在客户机上表示服务器的图形用户界面(GUI)的一部分或全部。在某些协作情形下,出于各种原因,诸如媒体回放命令之类的媒体操作可以与GUI的其余部分分开处理。例如,可以单独地处理媒体回放命令以节省服务器和客户机之间的网络带宽。在这样的情况下,媒体能以未经处理的或经部分处理的形式从服务器重定向到客户机。然后,客户机可以处理该媒体,并将经处理的媒体与GUI的其余部分集成以创建服务器GUI的表示。
媒体或媒体文件可以根据不同的格式存储,如符合MPEG等等的格式以及其他格式。对媒体文件的处理可以由使用被配置成处理该媒体文件的格式的一个或多个媒体平台的媒体播放器来完成。媒体处理可以涉及诸如媒体回放命令之类的媒体操作。这样的媒体操作可以是平台专用的。在协作情形下,客户机和服务器可以支持或者可以不支持相同的媒体平台。例如,服务器上支持的媒体平台所专用的媒体回放命令对于客户机上支持的媒体平台而言可能没有意义。
各示例性实现可以提供允许在服务器和客户机之间在协作会话中有效地传达媒体操作的抽象功能。例如,对媒体操作的抽象可以便于协作会话中的用户媒体回放命令的执行。在这样的情况下,某些实现可以将服务器的平台专用媒体回放命令转换成通用媒体回放命令。然后,可以将通用媒体回放命令转换成客户机上支持的媒体平台的平台专用媒体回放命令。然后,客户机可以执行该媒体回放命令,并将结果与客户机的GUI的其余部分集成。
在一实现中,媒体被发送到客户机以供处理而非在服务器上处理,平台专用命令可以在服务器处截取。如所讨论的,服务器和客户机可以具有或者可以不具有相同的平台。因此,服务器的平台专用命令在客户机上可能不被理解。本发明的实现可以便于服务器和客户机之间的有效通信,以便用户的媒体回放命令可以独立于服务器和客户机上所使用的平台来在客户机上执行。例如,本发明的一些实现可以将服务器的平台专用命令转换为通用媒体回放命令。然后,可以将通用媒体回放命令发送到客户机。客户机可以将通用命令转换成由客户机支持的平台所专用的命令。然后,客户机的平台可以处理该命令以在客户机设备上取得所需的效果(即,播放、暂停、停止等等)。
示例性系统
图1示出了用于实现协作会话和处理这些协作会话中的媒体操作的示例性系统100。系统100可以包括经由网络106耦合到客户机104的服务器102。服务器桌面110可以显示在服务器102上。类似地,客户机桌面112可以显示在客户机104上。
所描述的实现是在通常在当前时间点遇到的计算环境的上下文中的。各示例可以通过由诸如个人计算机(即,PC)之类的计算机执行的诸如程序模块之类的计算机可执行指令或代码装置来实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。
各示例可以在除PC以外的计算机系统配置中实现。例如,各实施例可以在手持式设备、多处理器系统、基于微处理器的或可编程的消费电子产品、网络PC、小型计算机、大型计算机蜂窝电话等等中实现。此外,随着技术持续发展,各实现还可以在尚未标识的各类设备上实现。例如,随着处理能力的单位成本继续下降和无线技术的发展,类似当今的蜂窝电话的计算设备可以在单个移动设备中执行当今的PC、摄像机、蜂窝电话等等的功能。此单个设备可以在一种情形下充当服务器,并且在另一种情形下充当客户机。这只是所描述的实现的许多现有和正在开发的示例中的一个。
各示例可以其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。此外,如此处所使用的术语“服务器”和“客户机”并不暗示两个设备的任何相对能力。客户机可以比服务器具有更多、更小或相等的处理能力。相反地,在本说明书中,名称“服务器”和客户机描述了两个组件的相对关系。例如,第一或服务器设备的计算环境被远程化到第二或客户机设备。为便于说明,本文中所提供的示例涉及单个服务器和单个客户机;然而,这只是一个可能的配置。可以理解,在其他实现中,可以包括支持多个客户机的一个或多个服务器。在某些实现中,第一计算机可以充当第二计算机的服务器,而第二计算机又充当第三计算机的服务器。
如所讨论的,协作会话可以在服务器102和客户机104之间提供远程化体验。协作可以涉及在客户机上表示服务器的图形用户界面(GUI)的一部分或全部。在此情况下,GUI被表示成服务器桌面110。具体而言,协作可以创建在服务器102上运行的一个或多个应用程序实际在客户机104上运行的感觉。
协作会话的示例可以包括远程终端会话情形和一个或多个呈现情形等等。在远程终端会话情形下,可以在客户机104上生成来自服务器的显示区(例如,服务器桌面110)的GUI以作为表示或远程化桌面114。呈现情形可以涉及远程化在服务器上运行的特定应用程序的GUI而并非整个桌面110。在这样的情形下,该应用程序的服务器GUI(例如,图形窗口)可以用于在客户机上生成该应用程序的表示。例如,服务器桌面110包括媒体播放器图形窗口116。呈现会话可以在客户机104上生成图形窗口116的表示118,而没有服务器的桌面110的其余部分。媒体处理可以在服务器102上由媒体播放器120经由存储在服务器102上的媒体平台122来实现。类似地,媒体处理也可以在客户机104上由媒体播放器124经由存储在客户机104上的媒体平台126来实现。
如所讨论的,与协作会话相对应的大多数过程可以出现在服务器102上;然而,在协作会话中,媒体操作可以至少部分地在客户机104上处理。例如,媒体回放命令可以表示一个或多个类型的媒体操作。由用户在客户机104处生成的媒体回放命令(即,用户命令)可以被转发到服务器102以供处理。服务器102根据服务器102的配置来处理用户命令。例如,服务器102基于媒体平台122来处理用户命令。在这样的情况下,对用户命令的处理可以基于媒体平台122所专用的用户命令来生成专用媒体回放命令。
协作会话可以截取平台专用媒体回放命令,并可以将该命令发送到客户机以供执行。在某些情况下,客户机的媒体平台126,可能不理解服务器的媒体平台122所专用的媒体回放命令。为此,系统100可以包括可以便于服务器102和客户机104之间的媒体相关通信的协作媒体抽象层130。例如,在本示例中,协作媒体抽象层130可以抽象或通用化媒体平台122所专用的媒体回放命令。然后,可以将通用化的媒体回放命令转换成客户机的媒体平台126所专用的媒体回放命令。
因此,协作媒体抽象层130可以便于协作会话中的用户命令的执行。此外,除媒体回放命令示例以外,协作媒体抽象层130可以便于在进行协作会话的服务器102和客户机104之间的通信传递媒体操作。
在某些情况下,通用媒体回放命令可以被客户机104理解,而不管服务器102和客户机104的配置差异如何。例如,客户机104和服务器102可以具有不同的操作系统、相同操作系统的不同版本、或不同的媒体平台等等。下面结合图2和图3进一步地详细描述实现了对协作会话中的多媒体操作的管理的系统的工作。
图2示出了在相关图1介绍的概念上构建的系统200。在此情况下,相关于远程终端会话来描述系统200。可以理解,类似的概念可以同样地适用于其他协作会话。在本实现中,系统200包括可以通过网络206进行通信的服务器202和客户机204。服务器202包括媒体平台208和远程终端会话(即“RTS”)媒体抽象模块210。客户机204包括媒体平台212和RTS媒体抽象模块214。
在此实现中,服务器202可以将与服务器的桌面216相关的数据发送到客户机204,以供在客户机204处生成诸如远程桌面218之类的远程表示。与远程桌面218相关联的数据可以包括用户界面组件220和媒体组件222。
用户界面组件220可以包括通常构成用户界面的图形和图像。用户界面组件220可以包括图标,主机音频,背景图像和诸如与文字处理应用程序、电子表格应用程序、数据库应用程序、媒体应用程序等等相关联的GUI等应用程序表示。事实上,不是媒体组件222的任何组件都是用户界面组件220的一部分。当与媒体组件222相比时,用户界面组件220可以是相对静态的,并且相对来说是低数据密集的。相比之下,媒体组件222可能是相对动态的,并且是高数据密集的。
如所讨论的,媒体组件222可以是高数据密集的,因为它们包括构成媒体呈现或媒体事件的媒体丰富的元素。与媒体组件222相关联的数据的传输可以是带宽密集的。媒体组件222的示例包括,但不限于,包括视频和/或音频呈现的流媒体呈现,诸如有线电视(CATV)、卫星、按观看计费的或广播的节目之类的电视节目;数字压缩媒体体验;无线电节目;记录的媒体事件(例如,以VCR、DVD播放器、CD播放器、个人录像机等等作为源);实时媒体事件;以及照像机馈源等等。
为解释起见,在服务器桌面216上以及在客户机的远程桌面218上都示出了媒体组件222。可以理解,服务器桌面216的部分或全部可以不必显示在服务器202的显示设备上。在这样的实现中,媒体组件222(或其一部分)可以只出现在客户机上。例如,即使服务器不连接到显示设备,服务器桌面也可以被远程化到客户机。
远程桌面218的数据可以通过网络206从服务器202发送到客户机204。在一实现中,与用户界面组件220和媒体组件222相关联的数据可以分别通过用户界面信道224和媒体信道226来发送。
用户界面信道224可以将用户界面组件220传递到客户机204。在一实现中,位于美国华盛顿州雷德蒙市的微软公司所提供的Terminal(终端服务器)和Terminal Client(终端客户机)服务可以提供示例性用户界面信道224。可以使用可远程化协议通过用户界面信道224来发送数据。示例性协议和数据格式包括,远程桌面协议(RDP)、T-120系列协议或HTML(超文本标记语言以及其许多变体)等等。由Systems所开发的独立计算体系结构(ICA)提供了可以支持远程终端会话的另一个示例。
媒体信道226可以与用户界面信道224分开或集成在一起。可以使用媒体信道226来发送诸如上面所列出的视频及其他媒体类型之类的带宽密集的体验。在此情况下,媒体信道226可为媒体组件222提供通信管道以用于与用户界面组件220进行分开的流传输。因此,媒体组件222可以相对于用户界面组件在带外但同步地发送。通过媒体组件226发送数据的示例性协议可以包括,但不限于,传输控制协议(TCP)以及RDP连接上的虚拟信道。
换言之,本发明的实现可以将与远程桌面相关的数据传递分为两支。诸如用户界面组件220之类的服务器桌面216的相对低数据密集的组件可以在服务器202上处理,并随后发送到客户机204。诸如媒体组件222之类的相对高数据密集的组件能以未经处理的或较少处理的形式发送到客户机204。处理随后可以由客户机204完成并与低数据密集的组件相结合,以在客户机204处创建远程桌面218。可以在服务器处跟踪影响媒体呈现的事件(即,媒体操作),以便可以维持媒体呈现与远程桌面218的其他部分的相对关系。
在本示例性情形下,用户界面组件220与媒体组件222相组合或联合以在客户机204处生成远程桌面218。客户机204处的用户可以通过与远程桌面218进行交互来远程地操作服务器202。例如,客户机204处的用户可以将鼠标光标移动到远程桌面218上的应用程序上方,并通过点击对应的图标来打开应用程序。同样,用户可以通过远程桌面向应用程序发出命令。例如,对于媒体应用程序,用户可以利用鼠标点击来发出诸如开始回放(开始)、停止回放(停止)、快进、倒带、暂停以及设置音量之类的用户命令等等。本发明的实现便于远程终端会话情形下的用户命令的执行。
为解释起见,考虑其中客户机204处的用户输入与远程桌面218相关的用户媒体回放命令(用户命令)的假设情形。用户命令可以作为远程终端会话的一部分经由网络206从客户机204中继到服务器202,如作为命令230概括地表示的。命令230可以通过UI信道224或通过不同的信道来发送。命令230可以在服务器202上由媒体平台208处理成平台专用媒体命令。如所讨论的,媒体平台208的媒体处理可以作为远程终端会话的一部分被截取,并发送到客户机204以供进一步处理。
客户机的媒体平台212可以与诸如媒体平台208之类的服务器的媒体平台相同,或者也可以不同,并且如此可以理解或者也可以不理解所截取的服务器202的平台专用媒体命令。服务器的RTS抽象模块210可以接收所截取的平台专用媒体命令。RTS抽象模块210可以将所截取的平台专用媒体命令转换成通用或抽象的媒体命令。该通用媒体命令可以从服务器的RTS媒体抽象模块210发送到客户机的RTS媒体抽象模块214,如作为命令232概括地表示的。客户机的RTS媒体抽象模块214可以将诸如命令232之类的通用媒体命令转换成客户机的媒体平台212所专用的媒体命令。然后,客户机的媒体平台212可以执行该客户机专用媒体命令以实现用户命令。下面将相关于图3来描述用于实现远程终端会话中的媒体命令抽象的更详细的示例。
图3提供了系统200如何实现上文相关于图2所描述的媒体操作抽象的示例。在此情况下,分别位于服务器202和客户机204处的RTS媒体抽象模块210、214通过远程终端会话(RTS)映射表302、304实现媒体操作抽象。例如,服务器的RTS媒体抽象模块210可以接收服务器的媒体平台208所专用的媒体命令。在一实现中,由服务器的RTS媒体抽象模块210接收到的命令可以响应于可能与媒体文件的回放相关联的事件所专用的一个或多个动作。例如,当客户机204处的一个或多个用户访问媒体文件以便进行回放时,服务器的RTS媒体抽象模块210可以接收命令。
服务器的RTS媒体抽象模块210可以利用RTS映射表302将接收到的媒体操作映射成通用或抽象媒体操作。根据RTS映射表302所抽象的媒体操作可以发送到客户机的RTS媒体抽象模块214。客户机的RTS媒体抽象模块214可以使用另一个RTS映射表304。RTS映射表304可以将所抽象的媒体操作转换成客户机的媒体平台212所专用的媒体操作。然后,客户机的媒体平台212可以执行该媒体操作。为解释起见,假设服务器的媒体平台208是Media(媒体基础)平台,而客户机的媒体平台212是平台。在此示例中,RTS映射表302可以将在306A-306I概括地表示的Media平台专用操作分别转换成在308A-308I概括地表示的对应的通用媒体操作。类似地,RTS映射表304可以将在310A-310I概括地表示的通用媒体操作转换成在312A-312I概括地表示的对应的平台专用操作。例如,假设基于Media Foundation平台的RTS媒体抽象模块210从媒体平台208接收操作306A,即“IMFClockStateSink::OnClockStarted”。RTS媒体抽象模块210可以利用映射表302将操作306A转换成通用媒体操作命令308A,即“StartPlayback(开始回放)”。RTS媒体抽象模块210可以将通用媒体操作命令“StartPlayback”308A发送到客户机204上的RTS媒体抽象模块214。
诸如通用命令308A之类的通用媒体操作命令可以基于RTS映射表304来映射到客户机的媒体平台212的对应命令。例如,RTS媒体抽象模块214可以在RTS映射表304中定位从服务器202接收到的通用媒体操作命令“StartPlayback”。在此情况下,通用媒体操作命令“StartPlayback”被表示为310A。RTS映射表304可以将通用媒体操作命令“StartPlayback”310转换成被表示为命令312A的平台专用媒体操作“IMediaControl::Run”。RTS媒体抽象模块214可以将DShow平台专用媒体操作“IMFMediaSession::Start”312A发送到客户机平台212(平台),从而允许客户机的平台212理解并执行该DShow专用媒体操作。可以通过跨映射表302、304的单个行水平地移动来进行其他映射。可以理解,分别位于服务器202和客户机204处的RTS映射表302、304可以包括其他命令和将平台专用命令关联到通用命令的映射或进行反向关联的映射。
在一实现中,RTS映射表302、304可以被配置成在还有待于开发的媒体平台之间转换。尽管此处所示出的RTS映射表302、304包括两个特定媒体平台之间的转换,但是其他映射表可以包括多个转换。例如,服务器的媒体平台208可以是DShow和Media Foundation,而客户机的媒体平台可以是Quick平台和平台。因此,在某些实现中,RTS映射表302、304可以提供服务器媒体平台和客户机媒体平台之间的转换。
此外,通过对媒体操作进行抽象,RTS映射表302、304可以比其他可能的解决方案更简单。例如,服务器RTS映射表302可能不需要考虑可以在客户机204上使用的所有可能的媒体平台。换言之,诸如RTS映射表302之类的服务器的媒体表可以与客户机的媒体平台212无关(即,服务器的媒体表不必基于客户机的媒体平台配置来进行配置)。对于客户机的媒体表212也同样如此。此外,服务器的RTS映射表302也可以不必随着可在客户机204上使用的新媒体平台的开发而更新。相反,服务器RTS映射表302可以将服务器202上存在的任何媒体平台所专用的诸如操作306A-306I之类的媒体操作转换成诸如308A-308I之类的对应的抽象或通用媒体操作。然后,客户机RTS映射表304可以将诸如308A-308之类的通用媒体操作转换成诸如操作310A-310I之类的客户机204上的媒体平台212所专用的媒体操作。客户机RTS映射表304不必考虑服务器202上使用的或可以使用的所有不同的媒体平台。相反,客户机RTS映射表304可以简单地将通用媒体操作310A-310I转换成在客户机204上操作的媒体平台212所专用的媒体操作。
所示RTS映射表302、304只是表示可以利用文字处理文档实现的一个可能实现。
图4是用于支持远程终端会话中的媒体操作抽象的系统400的选择性组件的示例性表示。图4涉及服务器402和客户机404之间的远程终端会话的媒体组件。在此实现中,终端服务会话需要远程桌面协议(RDP)配置,上面示出了其示例。作为补充或替换,系统400可以用于远程终端会话以外的其他协作情形。
服务器400可以包括第一媒体平台406和第二媒体平台408。媒体平台406与媒体源410相关联。媒体平台406包括几何形状跟踪器模块412、RTS媒体抽象模块414、目的地模块416,以及包括RTS媒体抽象模块420的分发管理器模块418。媒体平台406还包括视频解码器422、视频效果模块424、视频呈现器426、RTS媒体抽象模块428、音频解码器430、音频效果模块432、音频呈现器434、RTS媒体抽象模块436、以及音频发送器438。服务器还包括可以与媒体平台406进行通信的媒体播放器440。
客户机的媒体平台408可以包括RTS媒体抽象模块442、几何形状跟踪模块444,包括RTS媒体抽象模块448的多媒体模块446。客户机的媒体平台408还可以包括RTS媒体抽象模块450、音频接收器模块452、音频解码器454、音频效果模块456,以及音频呈现器458。媒体平台408还可以包括RTS媒体抽象模块460、视频接收器462、视频解码器464、视频效果模块466,以及视频呈现器468。客户机还包括可以与媒体平台408进行通信的媒体播放器470。
在此示例中,服务器的媒体平台406可以作为服务器操作系统(未示出)的一部分而存在以允许回放媒体,以便与该操作系统进行交互的应用程序可以控制媒体的回放而无需“知道”该媒体的格式的特定细节。类似地,客户机的媒体平台408可以作为客户机操作系统(未示出)的一部分而存在以允许回放媒体,以便与该操作系统进行交互的应用程序可以控制媒体的回放而无需知道该媒体。例如,媒体平台406可以允许诸如媒体播放器440之类的应用程序运行,而无需媒体播放器440知道与所回放的媒体的格式有关的细节。以类似的方式,客户机的媒体平台408可以允许媒体播放器470作为服务器操作系统的一部分来运行以允许回放媒体,以便与该操作系统进行交互的应用程序可以控制媒体的回放而无需知道媒体格式的特定细节。在服务器402上运行的媒体平台406可以与在客户机404上运行的媒体平台408相同。在其他情况下,服务器402上的媒体平台406可以是与在客户机404上操作的媒体平台408不同的产品和/或版本。在前一和后一种情况下,下面所描述的组件都可以允许媒体操作在服务器和客户机之间高效地传递。
在此示例中,服务器的媒体平台406可以经由目的地模块416来检测它是否在远程终端会话中运行。目的地模块416可以是定义在哪里进行呈现(例如,窗口、磁盘文件等等)以及呈现发生了什么的对象。此外,服务器媒体平台406可以确定源连接到客户机,如具有在本地呈现媒体的能力的客户机404。分发管理器418可以确定服务器的媒体平台406连接到客户机404,并且客户机404具有在本地呈现媒体的能力。分发管理器418还可以建立远程终端会话策略,以允许将媒体远程化到客户机404。分发管理器418可以与客户机404上的诸如多媒体组件模块444之类的多媒体客户端插件建立虚拟信道连接。该虚拟信道连接可以允许在服务器402和客户机404之间交换与远程终端会话相关的控制信息。
通过分发管理器418和多媒体组件模块444之间的虚拟信道连接交换的控制信息的一个方面涉及远程终端会话中的媒体操作。分发管理器418和多媒体组件模块444可以使用它们各自的RTS媒体抽象模块420、446来协商如何处理远程终端会话中的媒体操作。服务器402和客户机404中的任何一个都可以启动关于媒体操作的协商。在某些实现中,媒体操作协商可以作为用于建立远程终端会话的启动过程的一部分来启动。在其他实现中,媒体操作协商可以响应于诸如在远程终端会话中接收到的用户的媒体回放命令之类的媒体操作而开始。
在一说明性示例中,响应于用户的媒体回放命令,服务器402可以确定来自媒体源410的媒体的媒体格式。出于解释的目的,假设服务器402确定源媒体格式是MPEG IV。服务器的RTS媒体抽象模块420可以查询诸如客户机404之类的客户机是否支持MPEG IV媒体格式。例如,服务器的RTS媒体抽象模块420可以向客户机的RTS抽象模块448查询客户机是否支持诸如MPEG IV之类的特定媒体格式。这样的查询的示例在RTS映射表302、304中作为在308E和310E所示的通用媒体操作“检查格式支持(CheckFormatSupport)”来提供。客户机的RTS媒体抽象模块448可以回头查询,以询问服务器402可以使用什么媒体平台来支持该媒体格式。然后,客户机404可以利用来自服务器402的信息来确定客户机404是否支持该媒体格式。另选地,客户机404可以确定它具有支持该媒体格式的诸如媒体平台408之类的媒体平台。在后一种情况下,客户机404可以指示服务器402继续流传输该媒体。例如,客户机404通过客户机的RTS媒体抽象模块448可以具有完全不同于服务器402上的媒体平台406的媒体平台408。在这样的情况下,在协作会话的诸如回放、暂停等等之类的操作进行之前,可以对由客户机404支持的平台执行检查。在另一种情况下,并非等待服务器,客户机的RTS媒体抽象模块448可以主动地将与客户机404相关联的与客户机404所支持的媒体格式相关的能力和/或在客户机404操作的媒体平台通知给服务器402。
此外,利用虚拟信道连接允许分发管理器418和多媒体组件446建立分布式拓扑结构。分布式拓扑结构可以执行各种功能。例如,分布式拓扑结构可以包括服务器402上的网络发送器和客户机404上的网络接收器。网络接收器又分别连接到客户机404上的音频和/或视频呈现器458、468。在此特定配置中,在服务器402上示出了视频发送器472和音频发送器438,而在客户机404上示出了对应的视频接收器462和音频接收器452。
在远程桌面媒体呈现情形下,媒体可以作为流以未经处理的或部分地处理的形式被定向到客户机404。例如,在服务器402处,媒体平台406可以截取否则将在服务器402处由诸如视频解码器422、视频效果模块424、视频呈现器438、音频解码器430、音频效果432和音频呈现器434处理的媒体。该媒体可以被重定向到相应的视频和音频发送器472、438以便流传输到客户机404。流传输可以通过各个信道进行。例如,可以使用RDP通过虚拟信道在带内流传输该媒体。这样的配置重用现有的RDP连接并允许RDP处理穿越防火墙并建立安全的经认证的上下文的各种细节以及其他任务。作为替换或补充,媒体可以通过边带用户数据报协议(UDP)或传输控制协议(TCP)连接来流传输。在某些实现中,可以使用带外配置。例如,在特定配置中,与通过RDP的连接可用的带宽相比,带外连接在该连接上有更大带宽可用。
在客户机404上,在多媒体模块446上接收流传输的媒体,多媒体模块446又将该流传输的媒体分别传递到视频和音频接收器462、452。视频和音频接收器462、452分别将该媒体传递到客户机侧转换器和接收器,包括视频解码器464、视频效果466、视频呈现器468、音频解码器454、音频效果456以及音频呈现器458。然后,在客户机404处解码和呈现该媒体。由于音频和视频是以编码形式流传输的,因此该编码媒体中所包含的任何同步工具都可在客户机404处用于维持正确的音频视频同步。为便于解释,将未经处理的媒体从服务器402流传输到客户机404。
在其他实现中,可以发生对媒体的某些处理。例如,假设根据上文所描述的远程桌面情形,用户请求播放在源处在假设的编解码器AA中编码的媒体。在此示例中,源可以包含解码假设的编解码器AA的组件,但是客户机可以不包含;然而,源和客户机两者都可以具有第二假设的编解码器格式BB的编解码器能力。在这样的情况下,源可以解码该媒体,然后在将该媒体流传输到客户机404之前将该媒体重新编码成BB格式。这只是一个示例,它表示根据上文和下文所描述的概念可以在系统组件中进行的对媒体的各种级别的处理。
几何形状跟踪组件(即几何形状跟踪器)412、444能够注册和跟踪与终端服务会话的目标窗口相关的任何变化。例如,几何形状跟踪器412能够注册目标窗口的唯一标识符并跟踪上文所描述的远程桌面上的目标窗口。几何形状跟踪器412可以跟踪服务器侧与由另一个窗口对目标窗口的剪辑、目标窗口的位置、以及目标窗口的大小相关的更改。然后,通过远程桌面协议将这些更改中继到客户机404,在那里这些更改被定向到客户机侧多媒体模块446。
几何形状跟踪可以是提供窗口几何形状变化的通知系统的诸如Terminal平台之类的平台的一个特征。每当窗口的几何形状变化时,都可以生成包含新几何形状的事件,并将它们发送到源处的通知接收器。在此示例中,客户机充当源。当窗口被移动、最小化/最大化或被另一个窗口剪辑时,窗口几何形状可以变化。
在某些情况下,应用程序可以决定在客户机上呈现媒体,而并非从服务器发送预先呈现的位图。为了做到这一点,应用程序在服务器和客户机端都创建一个窗口。服务器窗口充当占位符并能够接受全部输入,而实际媒体可以由客户机端的应用程序呈现和绘制。客户机窗口恰好在服务器窗口上绘制,以便分发对用户而言是透明的。由于所有输入实际上是对服务器窗口起作用的,因此几何形状变化将反映在服务器处。应用程序跟踪对服务器窗口的这些更改并相应地更新客户机窗口以使两个窗口在几何形状上是同步的。
示例性方法
现在将参考图1-4描述用于协作会话以及处理协作会话中的媒体操作的示例性过程。这些过程可以在计算机可执行指令的一般上下文中描述。一般而言,计算机可执行指令可以包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、过程、模块、功能等等。这些过程还可以在其中功能由通过通信网络链接的远程处理设备完成的分布式计算环境中实现。在分布式计算环境中,计算机可执行指令可以位于包括存储器存储设备的本地和远程计算机存储介质中。
图5示出了用于协作会话以及处理协作会话中的媒体回放操作的示例性方法500。描述方法的次序并不旨在被解释为限制,并且任意数量的所描述的框可以按任何次序组合以实现该方法。此外,该方法还可以用任何合适的硬件、软件、固件或其组合来实现。
在框502,接收与同媒体文件相关的一个或多个动作相关联的命令。接收到的命令是与接收该命令的计算设备相关联的媒体平台所专用的。该命令可以从可通过网络访问该媒体文件的另一个计算设备生成。例如,服务器的RTS媒体抽象模块210可以接收对该服务器的媒体平台208专用的媒体命令。这样的命令可以响应于诸如媒体文件被访问之类的某些动作而生成。
在框504,将接收到的平台专用命令与一个或多个通用媒体操作相关联。该通用操作可以对用于回放该媒体文件的各种应用程序通用。在一个实现中,基于映射将该平台专用命令与一个或多个通用操作相关联。例如,服务器的RTS媒体抽象模块210可以利用RTS映射表302来将接收到的媒体操作(如由命令306A-306I所指示的)映射到通用或抽象媒体操作(如由308A-308I所指示的)。基于服务器202的平台的示例包括但不限于MediaFoundation。
在框506,将通用操作发送到请求访问媒体文件的计算设备。例如,可以将通用操作从服务器202发送到客户机204。在一个实现中,服务器的RTS媒体抽象模块210将通用命令从服务器202发送到客户机204。
在框508,作出请求的设备接收通用命令并将它们与平台专用命令相关联。例如,客户机的RTS媒体抽象模块214接收由服务器的RTS媒体抽象模块210所发送的通用命令。客户机的RTS媒体抽象模块214可以使用另一RTS映射表304。RTS映射表304可以将所抽象的媒体操作转换侧客户机的媒体平台212所专用的媒体操作。然后,客户机的媒体平台212可以执行该媒体操作。客户机204上的媒体平台的示例包括但不限于平台。因此,通过将平台专用命令抽象成通用操作,可以将服务器202的平台专用命令转换成客户机204的平台专用命令。
示例性计算环境
图6示出了示例性通用计算机环境600,该环境600可以用来实现此处所描述的技术并可以表示此处所描述的元件的全部或部分。计算机环境600只是计算环境的一个示例,而非旨在对计算机和网络体系结构的使用范围或功能提出任何限制。计算机环境600也不应被解释成对于示例计算机环境600中所示出的任一组件或其组合有任何依赖或要求。
计算机环境600包括计算机602的形式的通用的基于计算的设备。计算机602可以是,例如,台式计算机、手持式计算机、笔记本或膝上型计算机、服务器计算机、游戏控制台等等。计算机602的组件可以包括,但不限于,一个或多个处理器或处理单元604、系统存储器606,以及将包括处理器604的各种系统组件耦合到系统存储器606的系统总线608。
系统总线608表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例,这样的体系结构可以包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为夹层总线的外围部件互连(PCI)总线。
计算机602通常包括各种计算机可读介质。这样的介质可以是可由计算机602访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器606包括诸如随机存取存储器(RAM)610之类的易失性存储器形式的和/或诸如只读存储器(ROM)612之类的非易失性存储器形式的计算机可读介质。示出了通常存储在ROM 612中的基本输入/输出系统(BIOS)614,它包含诸如在启动过程中帮助在计算机602内的各元件之间传输信息的基本例程。RAM 610通常包含可由处理单元604立即访问和/或目前正在由处理单元604进行操作的数据和/或程序模块。
计算机602还也可以包括其他可移动的/不可移动的、易失性/非易失性的计算机存储介质。作为示例,图6示出了用于读写不可移动、非易失性磁性介质(未示出)的硬盘驱动器616。此外,图6示出了用于读写可移动、非易失性磁盘620(例如,“软盘”)的磁盘驱动器618,另外,图6示出了用于读写诸如CD-ROM、DVD-ROM或其他光学介质之类的可移动、非易失性光盘624的光盘驱动器622。硬盘驱动器616、磁盘驱动器618以及光盘驱动器622各自都通过一个或多个数据媒体接口626连接到系统总线608。或者,硬盘驱动器616、磁盘驱动器618以及光盘驱动器622可以通过一个或多个接口(未示出)连接到系统总线608。
磁盘驱动器以及它们相关联的计算机可读介质为计算机602提供了计算机可读指令、数据结构、程序模块以及其他数据的非易失性存储。虽然该示例示出了硬盘616、可移动磁盘620以及可移动光盘624,但可以理解,诸如磁带盒或其他磁存储设备、闪存卡、CD-ROM、数字多功能盘(DVD)或其他光存储、随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)等等之类的可以存储可由计算机访问的数据的其他类型的计算机可读介质也可以用于实现该示例性计算系统和环境。
可以有任意数量的程序模块存储在硬盘616、磁盘620、光盘624、ROM612和/或RAM 610上,作为示例,包括操作系统626、一个或多个应用程序628、其他程序模块630、以及程序数据632。这样的操作系统626、一个或多个应用程序628,其他程序模块630以及程序数据632中的每一个(或其某种组合)可以实现支持分布式文件系统的常驻组件的全部或部分。
用户可以经由诸如键盘634和定点设备636(例如,“鼠标”)之类的输入设备向计算机602输入命令和信息。其他输入设备638(未具体示出)可以包括话筒、操纵杆、游戏垫、碟形卫星天线、串行端口、扫描仪,等等。这些及其他输入设备经由耦合到系统总线608的输入/输出接口640连接到处理单元604,但也可以通过其他接口和总线结构来进行连接,如并行端口、游戏端口、通用串行总线(USB)端口。
监视器642或其他类型的显示设备也可以经由诸如视频适配器644之类的接口连接到系统总线608。除了监视器642之外,其他输出外围设备可以包括可经由输入/输出接口640连接到计算机602的组件,诸如扬声器(未示出)和打印机646。
计算机602可以使用到诸如远程的基于计算的设备648之类的一个或多个远程计算机的逻辑连接来在联网环境中操作。作为示例,远程的基于计算的设备648可以是个人计算机、便携式计算机、服务器计算机、路由器、网络计算机、对等设备或其他常见网络节点等等。远程的基于计算的设备648被示为可以包括此处相对于计算机602所描述的元件和特征中的许多或全部的便携式计算机。
计算机602和远程计算机648之间的逻辑连接被描绘成局域网(LAN)660和一般广域网(WAN)652。这样的联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN网络环境中实现时,计算机602经由网络接口或适配器654连接到局域网660。当在WAN网络环境中实现时,计算机602通常包括调制解调器656或用于通过广域网652建立通信的其他装置。调制解调器656,对计算机602而言可以是内置或外置的,可以经由输入/输出接口640或其他适当的机制连接到系统总线608。可以理解,所示出的网络连接只是示例性的,并且可以使用在计算机602和648之间建立通信链路的其他手段。
在联网环境中,如用计算环境600示出的环境,相对于计算机602所描述的程序模块或其各部分可以存储在远程存储器存储设备中。作为示例,远程应用程序658驻留在远程计算机648的存储器设备上。为了说明,应用程序及诸如操作系统之类的其他可执行程序组件在此处被示为各分离的框,但可以认识到,这些程序和组件在不同的时间驻留在基于计算的设备602的不同存储组件中,并由该计算机的数据处理器来执行。
各种模块和技术可以在由一台或多台计算机或其他设备执行的诸如程序模块之类的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以按需在各个实施例中进行组合或分布。
这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质来发送。计算机可读介质可以是可由计算机访问的任何可用介质。作为示例而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
或者,该框架的各部分可以用硬件或硬件、软件和/或固件的组合来实现。例如,可以设计或编程一个或多个专用集成电路(ASIC)或可编程逻辑器件(PLD)以实现该框架的一个或多个部分。
结论
尽管已经用对结构特征和/或方法专用的语言描述了用于管理协作会话中的多媒体操作的各实施例,但可以理解,所附权利要求书的主题不必受所描述的具体特征或方法的限制。相反,这些具体特征和方法是作为用于管理协作会话中的多媒体操作的示例性实现来公开的。
Claims (19)
1.一种用于管理远程会话中的多媒体操作的方法,所述方法包括:
通过媒体信道发送与媒体组件相关联的媒体数据,而通过用户界面信道发送用户界面组件;
接收协作会话中的服务器(102)上所支持的媒体平台(208)专用的媒体回放命令;
将所述平台专用媒体回放命令转换成通用媒体回放命令以供传输到客户机(204);以及
将所述通用媒体回放命令发送到所述客户机,其中所述客户机将所述通用媒体回放命令转换成所述客户机的媒体平台专用的媒体回放命令。
2.如权利要求1所述的方法,其特征在于,还包括在客户机处在媒体呈现窗口中呈现用户界面并跟踪对该媒体呈现窗口的更改。
3.如权利要求1所述的方法,其特征在于,在用户界面组件上将媒体应用程序实例化成媒体呈现窗口,并且其中跟踪包括向所述媒体呈现窗口分配唯一标识符,并且其中将对媒体呈现窗口的更改中继到所述客户机以允许相对于所述用户界面组件来定向所述媒体呈现窗口。
4.如权利要求1所述的方法,其特征在于,还包括通过由所述协作会话所建立的第一网络信道发送命令,并通过第二不同的信道流传输数据。
5.如权利要求4所述的方法,其特征在于,所述第二不同的信道是由所述协作会话建立的。
6.如权利要求1所述的方法,其特征在于,还包括在流传输之前:
确定所述媒体的格式;
评估所述客户机以所述格式解码并呈现所述媒体的能力。
7.如权利要求6所述的方法,其特征在于,在所述客户机缺乏以现有格式解码并呈现所述媒体的能力的情况下,还包括解码所述媒体并以所述客户机被配置成处理的第二不同的格式来重新编码所述媒体。
8.如权利要求1所述的方法,其特征在于,还包括:
与所述客户机建立虚拟信道连接,
协商由源和所述客户机两者都支持的格式;以及,
与所述客户机建立分布式拓扑结构。
9.如权利要求8所述的方法,其特征在于,所述建立分布式拓扑结构包括在所述源处插入网络发送器和在所述客户机处插入网络接收器。
10.一种用于管理远程会话中的多媒体操作的服务器(102),包括:
包括构成用户界面的图形和图像的用户界面组件(220);以及
包括要通过所述用户界面组件播放的媒体呈现数据的媒体组件(222),其中所述媒体呈现数据是通过媒体信道来发送的,而所述用户界面组件是通过用户界面信道来发送的,并且其中将平台专用命令转换成通用媒体回放命令或在远程终端会话客户机上支持的媒体平台,其中所述客户机将所述通用媒体回放命令转换成所述客户机的媒体平台专用的媒体回放命令。
11.如权利要求10所述的服务器,其特征在于,所述用户界面组件包括媒体应用程序窗口。
12.如权利要求11所述的服务器,其特征在于,所述媒体组件被配置成在所述媒体应用程序窗口内的媒体呈现目标窗口中呈现。
13.如权利要求12所述的服务器,其特征在于,通过相对于所述媒体应用程序窗口跟踪所述媒体呈现目标窗口来跟踪所述媒体呈现数据。
14.如权利要求13所述的服务器,其特征在于,所述跟踪包括将所述媒体呈现目标窗口相对于所述媒体应用程序窗口的相对位置中继到远程客户机。
15.如权利要求13所述的服务器,其特征在于,所述跟踪包括在所述服务器桌面上插入表示所述媒体呈现目标窗口的占位符并跟踪影响所述占位符的任何更改。
16.如权利要求10所述的服务器,其特征在于,还包括确定所述远程客户机支持什么媒体格式。
17.如权利要求10所述的服务器,其特征在于,还包括与所述远程客户机建立分布式拓扑结构。
18.如权利要求10所述的服务器,其特征在于,发送和流传输是在终端服务会话中发生的。
19.一种用于管理远程会话中的多媒体操作的系统,所述系统包括:
用于通过媒体信道发送与媒体组件相关联的媒体数据,而通过用户界面信道发送用户界面组件的装置;
用于接收协作会话中的服务器上所支持的媒体平台专用的媒体回放命令的装置;
用于将所述平台专用媒体回放命令转换成通用媒体回放命令以供传输到客户机的装置;以及
用于将所述通用媒体回放命令发送到所述客户机的装置,其中所述客户机将所述通用媒体回放命令转换成所述客户机的媒体平台专用的媒体回放命令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/060,620 US8433812B2 (en) | 2008-04-01 | 2008-04-01 | Systems and methods for managing multimedia operations in remote sessions |
US12/060,620 | 2008-04-01 | ||
PCT/US2009/036409 WO2009154816A2 (en) | 2008-04-01 | 2009-03-06 | Systems and methods for managing multimedia operations in remote sessions |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101981558A CN101981558A (zh) | 2011-02-23 |
CN101981558B true CN101981558B (zh) | 2014-03-05 |
Family
ID=41118756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980112501.6A Active CN101981558B (zh) | 2008-04-01 | 2009-03-06 | 用于管理远程会话中的多媒体操作的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8433812B2 (zh) |
EP (1) | EP2274682A4 (zh) |
KR (1) | KR101596530B1 (zh) |
CN (1) | CN101981558B (zh) |
MX (1) | MX2010010520A (zh) |
RU (1) | RU2504829C2 (zh) |
WO (1) | WO2009154816A2 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789070B2 (en) * | 2007-12-06 | 2014-07-22 | Wyse Technology L.L.C. | Local device virtualization |
US8433812B2 (en) * | 2008-04-01 | 2013-04-30 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
US8170123B1 (en) | 2008-04-15 | 2012-05-01 | Desktone, Inc. | Media acceleration for virtual computing services |
US9311115B2 (en) | 2008-05-13 | 2016-04-12 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US9870130B2 (en) * | 2008-05-13 | 2018-01-16 | Apple Inc. | Pushing a user interface to a remote device |
US8970647B2 (en) * | 2008-05-13 | 2015-03-03 | Apple Inc. | Pushing a graphical user interface to a remote device with display rules provided by the remote device |
US20100293462A1 (en) * | 2008-05-13 | 2010-11-18 | Apple Inc. | Pushing a user interface to a remote device |
US20090284476A1 (en) * | 2008-05-13 | 2009-11-19 | Apple Inc. | Pushing a user interface to a remote device |
US8793331B2 (en) * | 2008-05-16 | 2014-07-29 | Wyse Technology L.L.C. | Multimedia redirection |
EP2131271A1 (en) * | 2008-06-04 | 2009-12-09 | NEC Corporation | Method for enabling a mobile user equipment to drag and drop data objects between distributed applications |
US8543935B2 (en) * | 2008-08-20 | 2013-09-24 | Red Hat, Inc. | Full-screen heterogeneous desktop display and control |
US8375138B2 (en) * | 2008-11-05 | 2013-02-12 | Fh Innovations, Ltd | Computer system with true video signals |
US9135024B2 (en) * | 2008-11-30 | 2015-09-15 | Red Hat Israel, Ltd. | Playing multimedia content at remote graphics display client |
US20100169791A1 (en) * | 2008-12-31 | 2010-07-01 | Trevor Pering | Remote display remote control |
US9106696B2 (en) * | 2009-04-15 | 2015-08-11 | Wyse Technology L.L.C. | Method and apparatus for portability of a remote session |
US20110154214A1 (en) * | 2009-12-18 | 2011-06-23 | Microsoft Corporation | Offloading Content Retrieval And Decoding In Pluggable Content-Handling Systems |
CN102148842B (zh) * | 2010-02-08 | 2014-06-04 | 联想(北京)有限公司 | 一种远程桌面体系的音频处理方法和设备 |
WO2012072651A1 (en) * | 2010-11-29 | 2012-06-07 | Dvdperplay Sa | Method and collaboration system |
US8904289B2 (en) * | 2011-04-21 | 2014-12-02 | Touchstream Technologies, Inc. | Play control of content on a display device |
US9767195B2 (en) * | 2011-04-21 | 2017-09-19 | Touchstream Technologies, Inc. | Virtualized hosting and displaying of content using a swappable media player |
US9130899B1 (en) | 2011-04-27 | 2015-09-08 | Cisco Technology, Inc. | Integrated user interface for unified communications applications |
US20120284632A1 (en) * | 2011-05-06 | 2012-11-08 | Cisco Technology, Inc. | Integrated Rendering of Streaming Media in Virtualized Desktop Environment |
WO2011157180A2 (zh) * | 2011-06-03 | 2011-12-22 | 华为技术有限公司 | 一种在线应用处理方法、装置及系统 |
US9225763B2 (en) * | 2011-06-07 | 2015-12-29 | Cisco Technology, Inc. | Distributed overlay browser for transparent streaming media support in virtualized desktop environment |
US10976981B2 (en) * | 2011-07-15 | 2021-04-13 | Vmware, Inc. | Remote desktop exporting |
US11750673B2 (en) | 2011-08-01 | 2023-09-05 | Spring Design, Inc. | User interface content state synchronization across devices |
US10298642B2 (en) | 2016-02-17 | 2019-05-21 | Quickbiz Holdings Limited, Apia | User interface content state synchronization across devices |
WO2013016949A1 (en) * | 2011-08-01 | 2013-02-07 | Quickbiz Holdings Limited | User interface content state synchronization across devices |
US9250928B2 (en) * | 2011-10-18 | 2016-02-02 | Mcafee, Inc. | Cooperative mobile analytics |
TWI451268B (zh) | 2011-11-08 | 2014-09-01 | Inst Information Industry | 提供虛擬桌面之雲端系統、於虛擬桌面播放多媒體之方法以及其電腦可讀取記錄媒體 |
US9467305B2 (en) | 2012-03-07 | 2016-10-11 | Vmware, Inc. | Multitenant access to multiple desktops on host machine partitions in a service provider network |
US9055139B1 (en) | 2012-03-12 | 2015-06-09 | Cisco Technology, Inc. | Display protocol interception in the network for services and network-based multimedia support for VDI |
KR101325840B1 (ko) * | 2012-03-13 | 2013-11-05 | 주식회사 팬택 | 싱크 장치를 관리하는 방법, 이를 위한 소스 장치 및 무선랜 시스템 |
JP5620434B2 (ja) * | 2012-05-02 | 2014-11-05 | 株式会社オプティム | オペレータシステム、オペレータサーバ、リモートサポート方法、オペレータサーバ用プログラム、サポート対象電化製品、及び、サポート作業画面表示装置 |
US9185150B2 (en) * | 2012-05-06 | 2015-11-10 | Citrix Systems, Inc. | System and method for monitoring and selectively sharing an image in an image library |
US9798508B2 (en) | 2012-07-16 | 2017-10-24 | Microsoft Technology Licensing, Llc | Implementing previously rendered frame buffer information in a customized GUI display |
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 |
JP6221214B2 (ja) * | 2012-09-26 | 2017-11-01 | 富士通株式会社 | システム、端末装置および画像処理方法 |
EP2738721A1 (de) * | 2012-11-28 | 2014-06-04 | Deutsche Telekom AG | Verfahren und System zur Präsentation bei kollaborativer Zusammenarbeit |
GB2524920B (en) * | 2013-01-31 | 2020-11-04 | Hewlett Packard Development Co | Remote client application |
CN104053015A (zh) * | 2013-03-11 | 2014-09-17 | 中兴通讯股份有限公司 | 一种传输媒体数据的方法及虚拟桌面服务器 |
US20140298182A1 (en) * | 2013-04-01 | 2014-10-02 | Infosys Limited | Centralized administration tool for operating with existing host system having non-centralized administrative functions |
EP3012739A1 (en) * | 2014-10-20 | 2016-04-27 | TISOFT Wojciech Jedrzejewski | System for synchronizing web browsers |
US20170046013A1 (en) * | 2015-08-14 | 2017-02-16 | Microsoft Technology Licensing, Llc | Web-browser based desktop and application remoting solution |
CN106339193B (zh) * | 2016-08-31 | 2020-06-09 | 武汉三好教育科技股份有限公司 | 一种无线手持交互方法及手持交互式多媒体系统 |
US10592227B2 (en) * | 2016-09-16 | 2020-03-17 | Oracle International Corporation | Versioned intelligent offline execution of software configuration automation |
US10673801B2 (en) * | 2017-11-29 | 2020-06-02 | International Business Machines Corporation | Dynamic communication session management |
US10581939B2 (en) * | 2018-01-26 | 2020-03-03 | Citrix Systems, Inc. | Virtual computing system providing local screen sharing from hosted collaboration applications and related methods |
US10819817B2 (en) * | 2019-02-04 | 2020-10-27 | Dell Products L.P. | HTML5 multimedia redirection |
US11032157B2 (en) * | 2019-05-16 | 2021-06-08 | Microsoft Technology Licensing, Llc | Adaptable real-time communications plugin for virtual desktop infrastructure solutions |
US11487559B2 (en) * | 2019-10-07 | 2022-11-01 | Citrix Systems, Inc. | Dynamically switching between pointer modes |
US10887633B1 (en) * | 2020-02-19 | 2021-01-05 | Evercast, LLC | Real time remote video collaboration |
US11457483B2 (en) | 2020-03-30 | 2022-09-27 | Citrix Systems, Inc. | Managing connections between a user device and peripheral devices |
KR102551470B1 (ko) | 2022-11-18 | 2023-07-05 | 조정원 | 건물의 실내에서 소금을 제조하는 방법 |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452435A (en) * | 1993-03-31 | 1995-09-19 | Kaleida Labs, Inc. | Synchronized clocks and media players |
US5596696A (en) * | 1993-05-10 | 1997-01-21 | Object Technology Licensing Corp. | Method and apparatus for synchronizing graphical presentations |
US5574934A (en) * | 1993-11-24 | 1996-11-12 | Intel Corporation | Preemptive priority-based transmission of signals using virtual channels |
US5831609A (en) * | 1994-06-17 | 1998-11-03 | Exodus Technologies, Inc. | Method and system for dynamic translation between different graphical user interface systems |
SG82587A1 (en) * | 1997-10-21 | 2001-08-21 | Sony Corp | Recording apparatus, recording method, playback apparatus, playback method, recording/playback apparatus, recording/playback method, presentation medium and recording medium |
US6412031B1 (en) * | 1998-02-10 | 2002-06-25 | Gateway, Inc. | Simultaneous control of live video device access by multiple applications via software locks and in accordance with window visibility of applications in a multiwindow environment |
US6448980B1 (en) * | 1998-10-09 | 2002-09-10 | International Business Machines Corporation | Personalizing rich media presentations based on user response to the presentation |
TW392111B (en) * | 1998-12-16 | 2000-06-01 | Mustek Systems Inc | Sharing system for sharing peripheral device via network |
US7178106B2 (en) * | 1999-04-21 | 2007-02-13 | Sonic Solutions, A California Corporation | Presentation of media content from multiple media sources |
US6701383B1 (en) * | 1999-06-22 | 2004-03-02 | Interactive Video Technologies, Inc. | Cross-platform framework-independent synchronization abstraction layer |
US6615199B1 (en) * | 1999-08-31 | 2003-09-02 | Accenture, Llp | Abstraction factory in a base services pattern environment |
US6687745B1 (en) * | 1999-09-14 | 2004-02-03 | Droplet, Inc | System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection |
AU1115001A (en) * | 1999-10-22 | 2001-05-08 | Activesky, Inc. | An object oriented video system |
US6389467B1 (en) * | 2000-01-24 | 2002-05-14 | Friskit, Inc. | Streaming media search and continuous playback system of media resources located by multiple network addresses |
US6466939B1 (en) * | 2000-03-31 | 2002-10-15 | Microsoft Corporation | System and method for communicating video data in a digital media device |
US20020019843A1 (en) * | 2000-04-26 | 2002-02-14 | Killian Robert T. | Multiprocessor object control |
EP1158740B1 (en) * | 2000-05-24 | 2009-09-16 | Sony Deutschland GmbH | Quality of Service negotiation |
AU2001266820A1 (en) * | 2000-06-09 | 2001-12-17 | The Trustees Of Columbia University In The City Of New York | Distributed computer system using a graphical user interface toolkit |
US6738356B1 (en) * | 2000-08-10 | 2004-05-18 | Convedia Corporation | Object oriented video merging system |
US20020129359A1 (en) * | 2000-11-27 | 2002-09-12 | Lichner Randall Manton | Cross platform system and method for the management and distribution of pay per view video on demand |
US7200855B2 (en) * | 2001-05-24 | 2007-04-03 | Vixs Systems, Inc. | Method and apparatus of multiplexing a plurality of channels in a multimedia system |
US7116894B1 (en) * | 2002-05-24 | 2006-10-03 | Digeo, Inc. | System and method for digital multimedia stream conversion |
US20040010560A1 (en) * | 2002-07-10 | 2004-01-15 | Sandage David A. | Method and apparatus to transmit infrared signals generated from a computer application using a remote device |
FR2843516B1 (fr) * | 2002-08-12 | 2004-12-24 | France Telecom | Procede de diffusion en temps reel de fichiers multimedias au cours d'une visioconference, sans rupture de communication, et interface homme-machine pour la mise en oeuvre |
US6909878B2 (en) * | 2002-08-20 | 2005-06-21 | Ixi Mobile (Israel) Ltd. | Method, system and computer readable medium for providing an output signal having a theme to a device in a short distance wireless network |
TW200411465A (en) * | 2002-11-19 | 2004-07-01 | Xepa Corp | An accounting and management system for self-provisioning digital services |
US20040128548A1 (en) * | 2002-12-31 | 2004-07-01 | Honeywell International Inc. | Generic communication server engine |
US8291009B2 (en) * | 2003-04-30 | 2012-10-16 | Silicon Graphics International Corp. | System, method, and computer program product for applying different transport mechanisms for user interface and image portions of a remotely rendered image |
US7729919B2 (en) * | 2003-07-03 | 2010-06-01 | Microsoft Corporation | Combining use of a stepwise markup language and an object oriented development tool |
US7613767B2 (en) * | 2003-07-11 | 2009-11-03 | Microsoft Corporation | Resolving a distributed topology to stream data |
US7574514B2 (en) * | 2003-09-30 | 2009-08-11 | Sharp Laboratories Of America, Inc. | Systems and methods for identifying original streams of media content |
MXPA06003890A (es) * | 2003-10-06 | 2006-07-03 | Disney Entpr Inc | Sistema y metodo de control de reproduccion y caracteristica para reproductores de video. |
US8196044B2 (en) * | 2004-01-05 | 2012-06-05 | Microsoft Corporation | Configuration of user interfaces |
US7716371B2 (en) * | 2004-04-20 | 2010-05-11 | Demand Media, Inc. | Method, system, and computer program product for synchronizing information within a global computer network |
US8869043B2 (en) * | 2004-06-07 | 2014-10-21 | Avaya Inc. | System for presenting applications on instant messaging clients |
US8103546B1 (en) * | 2004-08-16 | 2012-01-24 | Lightningcast Llc | Advertising content delivery |
US7590750B2 (en) * | 2004-09-10 | 2009-09-15 | Microsoft Corporation | Systems and methods for multimedia remoting over terminal server connections |
AU2005306362C1 (en) | 2004-11-19 | 2014-08-28 | Tivo Solutions Inc. | Method and apparatus for secure transfer and playback of multimedia content |
US20060111971A1 (en) * | 2004-11-24 | 2006-05-25 | Microsoft Corporation | System and method for on-line and off-line advertising in content delivered to a display screen |
US20060282855A1 (en) * | 2005-05-05 | 2006-12-14 | Digital Display Innovations, Llc | Multiple remote display system |
WO2007027154A1 (en) * | 2005-08-31 | 2007-03-08 | Encentuate Pte Ltd | Fortified authentication on multiple computers using collaborative agents |
US20070074258A1 (en) * | 2005-09-20 | 2007-03-29 | Sbc Knowledge Ventures L.P. | Data collection and analysis for internet protocol television subscriber activity |
US8150960B2 (en) * | 2005-11-23 | 2012-04-03 | Microsoft Corporation | Event forwarding |
US20070124737A1 (en) | 2005-11-30 | 2007-05-31 | Ava Mobile, Inc. | System, method, and computer program product for concurrent collaboration of media |
US11004090B2 (en) * | 2005-12-24 | 2021-05-11 | Rich Media Club, Llc | System and method for creation, distribution and tracking of advertising via electronic networks |
US10380602B2 (en) * | 2005-12-24 | 2019-08-13 | Rich Media Club, Llc | System and method for creation, distribution and tracking of advertising via electronic networks |
WO2007075897A2 (en) * | 2005-12-24 | 2007-07-05 | Rich Media Club, Llc | System and method for the creation, distribution and tracking of advertising via electronic networks |
US20070271338A1 (en) * | 2006-05-18 | 2007-11-22 | Thomas Anschutz | Methods, systems, and products for synchronizing media experiences |
US20080007651A1 (en) * | 2006-06-23 | 2008-01-10 | Broadcom Corporation, A California Corporation | Sub-frame metadata distribution server |
WO2008018860A1 (en) | 2006-08-07 | 2008-02-14 | Digital Display Innovation, Llc | Multiple remote display system |
US20080134012A1 (en) * | 2006-11-30 | 2008-06-05 | Sony Ericsson Mobile Communications Ab | Bundling of multimedia content and decoding means |
US20120022915A1 (en) * | 2007-10-23 | 2012-01-26 | Pierre Carion | Method and system for collection and use of wireless application activity information |
JP2011520302A (ja) * | 2007-12-10 | 2011-07-14 | デラックス・デジタル・スタジオズ,インコーポレイテッド | マルチメディアデバイスを連係させる際に使用するための方法およびシステム |
US8433812B2 (en) * | 2008-04-01 | 2013-04-30 | Microsoft Corporation | Systems and methods for managing multimedia operations in remote sessions |
-
2008
- 2008-04-01 US US12/060,620 patent/US8433812B2/en active Active
-
2009
- 2009-03-06 RU RU2010140138/08A patent/RU2504829C2/ru active
- 2009-03-06 CN CN200980112501.6A patent/CN101981558B/zh active Active
- 2009-03-06 WO PCT/US2009/036409 patent/WO2009154816A2/en active Application Filing
- 2009-03-06 KR KR1020107021671A patent/KR101596530B1/ko active IP Right Grant
- 2009-03-06 EP EP09767129A patent/EP2274682A4/en not_active Withdrawn
- 2009-03-06 MX MX2010010520A patent/MX2010010520A/es active IP Right Grant
-
2013
- 2013-04-30 US US13/874,126 patent/US20130275495A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN101981558A (zh) | 2011-02-23 |
MX2010010520A (es) | 2010-10-25 |
RU2504829C2 (ru) | 2014-01-20 |
KR101596530B1 (ko) | 2016-02-22 |
US20090248802A1 (en) | 2009-10-01 |
RU2010140138A (ru) | 2012-04-10 |
US8433812B2 (en) | 2013-04-30 |
WO2009154816A3 (en) | 2010-02-18 |
EP2274682A4 (en) | 2012-08-22 |
KR20110007114A (ko) | 2011-01-21 |
EP2274682A2 (en) | 2011-01-19 |
US20130275495A1 (en) | 2013-10-17 |
WO2009154816A2 (en) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101981558B (zh) | 用于管理远程会话中的多媒体操作的系统和方法 | |
US7590750B2 (en) | Systems and methods for multimedia remoting over terminal server connections | |
TWI334569B (en) | System and method of dual-screen interactive digital television | |
US8473628B2 (en) | Dynamically altering playlists | |
US7844661B2 (en) | Composition of local media playback with remotely generated user interface | |
US20110087726A1 (en) | Cloud server, client terminal, device, and method of operating cloud server and client terminal | |
US8438492B2 (en) | Apparatus and method for providing user interface service in a multimedia system | |
US20120096368A1 (en) | Cloud-based virtual clipboard | |
CN102696035A (zh) | 用于选择性地限制受复制保护的数字媒体内容的易地播放的系统、方法及程序应用 | |
US20080285939A1 (en) | Proxy editing and rendering for various delivery outlets | |
EP3311565B1 (en) | Low latency application streaming using temporal frame transformation | |
US9418165B2 (en) | Context recognition through screensharing | |
US20110091183A1 (en) | Information processing apparatus and data transfer method | |
US20110093891A1 (en) | Information processing apparatus and video content data playback method | |
KR20150096440A (ko) | 분산 크로스-플랫폼 사용자 인터페이스 및 애플리케이션 프로젝션 | |
US11211063B2 (en) | Multimedia device for processing voice command | |
CN111539217B (zh) | 一种用于自然语言内容标题消歧的方法、设备和系统 | |
US8984540B2 (en) | Multi-user computer system | |
US10796695B2 (en) | Multimedia device for processing voice command | |
WO2022121778A1 (zh) | 声音信息处理方法及装置、计算机存储介质、电子设备 | |
US9762704B2 (en) | Service based media player | |
KR20200115314A (ko) | 클라우드 스트리밍 서비스에서의 사용자 인터페이스 화면 복구 방법 및 이를 위한 장치 | |
WO2024093700A1 (zh) | 服务流转方法、装置及存储介质 | |
CN117812345A (zh) | 一种显示设备及交互媒资的播放方法 | |
KR20240003882A (ko) | 데스크탑 서비스 제공방법 및 이를 이용하는 운영서버 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150429 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150429 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |