用于确定远程设备媒体性能的系统和方法

文档序号:6421736阅读:172来源:国知局
专利名称:用于确定远程设备媒体性能的系统和方法
技术领域
本发明涉及从一个计算设备到一个远程计算设备的媒体和相关媒体服务的远程提供。尤其是,本发明涉及用于远程装置的框架结构来说明它们的用于远程计算会话目的的媒体性能。
背景远程计算使计算系统具有给终端和运行在PC以及非PC桌面上的终端仿真器提供基于操作系统的应用的能力。这样的环境可以是小客户机结构,那里的应用处理主要出现在中央服务器上,但是也可以是分布式的。由于请求访问上述应用的客户机在许多不同的桌面平台(Macintosh,UNIX,和其它)都是可用的,服务器实际上从任一桌面提供对应用的访问,从而提供给企业和消费者一个具有较低所有权价格的计算环境的扩展。
例如,被称为多点计算机应用的一种远程计算,通过允许将在一个站点执行的计算机应用上的查看在会话中通知给其它站点,能够在计算机间实现应用的共享。这样的通信通过预定协议实现。在特定情况下,每个站点可以通过发送远程输入,比如远程键盘和点击设备信息,来控制共享的计算机应用。因此能够实现单一应用实例的远程查看和控制,以提供应用在本地运行的错觉。同样,一些不同类型的“共享应用”远程计算为在多个站点的多个实例的同步提供相同的执行计算机应用。一个会话通常包括在一个或多个客户机实体上执行的目标,该实体通过一个协议来共同合作以在会话中共享一个或多个应用。这样的一个协议定义了在客户机实体间和会话之间的交互。终端服务器和远程桌面协议实现了一个示例性的远程计算环境。


图1A概括举例说明了类似终端服务器的远程计算的远程计算是如何在服务器和客户机之间进行操作的。服务器S和客户机C通过任一有线或无线的网络连接NC来通信。应用A在服务器S上执行。表示与应用A一起实现的操作的用户界面被发送到客户机C。于是在客户机上再现或显示用户界面,比如,显示D,客户机C的用户连同服务器S一起执行操作,就好像应用在本地运行一样。通过RDP或其它协议将与应用A相关的客户机C的输入传回到服务器S,由远程计算服务器软件来接收,并且在服务器S上代表客户机C执行与应用A相关的操作。
在最近的十年,主PC的媒体重现功能发展迅速。而且,能够由主PC重现的音频和/或视频的媒体格式的数目已经增加了。幸运地,存储器已经与媒体桌面一起发展以处理媒体中的增加,无论是流动内容存储,还是永久存储在磁盘上。因此,将现在的主PC的媒体重现性能传送到远程设备是可以实现的。
共同转让的共同未决申请号为10/413.846(846申请),申请日为2003年4月15日,标题为“在资源受限操作系统中的应用程序界面和结构”的US专利中,描述了用于远程发送媒体内容的多种技术。根据在846申请中所讨论的,在计算设备间用于迅速和高质量地将媒体内容传输到一个或多个远程末端的示例性协同合作展示在图1B中并在下面进行描述。
图1B提供了一个适于将媒体传输到远程设备的示例性操作环境200的高水平的概述。一个本地PC201描述了一个计算内容202,其包括一用户界面部分204和媒体部分206。为了高质量地传输计算内容202,用户界面通过用户界面信道210来通信,并且媒体部分206经由一网络211通过媒体信道208来通信。远程部分212通过它们各自的信道接收用户界面部分204和媒体部分206。媒体和用户界面部分相合成用于在远程终点213上重现计算内容202。
本地PC201可以是一个常规的PC,比如计算机110,以及多种其它计算设备。其它示例性计算设备包括笔记本电脑,输入板PC,或服务器。本地PC201可以是任何能够重现媒体部分206的用户电子设备。如在下边更加详细描述的,本地PC201能够随同各个部分一起使用来远程分配媒体表示内容。而且,可以将由本地PC201实现的DRM计划应用在分布式的媒体表示内容上。
在优选实施例中,计算内容202是可以在PC201本地观察到的媒体内容。但是计算内容202不应该解释为限制到单个实例。而且,本发明期待多个计算内容202中的每个都能用具体例子说明并由相应终端接收。计算内容202包括用户界面部分204和媒体部分206。
用户界面部分204包括典型地组成用户界面的图形和图像。用户界面部分204包括图标,主音频,背景图象和应用,比如word处理应用,电子表格处理应用,数据库应用等等。实际上,不是媒体部分的任何部分都是用户界面部分204的一部分。媒体播放器和相关的操作系统媒体部分是与用户界面部分204协同使用的软件实例。
媒体部分206包括丰富媒体或增强带宽的元件,该元件组成了媒体事件。以下是示例性媒体部分的非穷举列表包括视频和/或音频显示的流动媒体显示,包括电缆电视(CATV)的电视节目,卫星,按次付费或广播的节目,数字压缩媒体内容,无线电节目,记录的媒体事件(源于VCR,DVD播放器,CD播放器,个人视频录像机等等),实时媒体事件,照相机供给等等。
因此,具有位于家庭办公室的本地PC201的用户能够使用PC在家庭活动室的电视(第一远程终点213)上观看因特网上的流动视频节目。而且,使用相同的PC,孩子可以同时在另一个电视(第二远程终点213)上观看存储在本地PC201上的视频。
注意,这些情况能够扩展为多种情况。例如,第三用户能够同时观察输入到与第三远程终点213距离很远的本地PC201中的摄像机供给。第四用户能够使用本地PC201来遥控第四计算内容202的实例以在不具有频道选择器的监视器上观看远程电视节目。
用户界面信道210将用户界面部分204传递到远程部分212。由Redmond,Washingtond的微软公司提供的终端服务器和终端客户机服务提供了一个示例性的用户界面信道210。任一远程协议能够用于通过用户界面信道210来传输数据。示例性协议包括T-120系列协议和HTTP(超文本传输协议)。
媒体信道208与用户界面信道210相互独立。媒体信道208用于传输带宽增强内容,比如视频和其它上边所列出的内容。媒体部分206提供了用于数据与用户界面部分204分离流动的通信管道。因此,媒体部分206相对于用户界面部分在频带之外同步地发送。一个通过媒体部分206传输数据的示例性协议包括,但不限制为,传输控制协议(TCP)。
网络211可以是任何通信网络,但是作为局域网(LAN)进行描述。如今,局域网中有许多变型,包括以太网,电话线网络,电力线网络,以及无线网络。无线网络不限制为无线电和扩频网络并且使用比如802.11a,802.11b,以及802.11g协议。本领域普通熟练技术人员很容易理解并且也可以使用其它网络。
在上面所提及的每种情况中,用户界面部分204与媒体部分206一起显示在各自的远程终点213上。这使得远程用户能够远程操作本地PC201。远端用户想要实施的典型动作包括命令,比如停止,快进,倒带以及常规的能够实现动作的计算机指令,所述指令能够实现比如调整重放窗口和调整音量和图像质量的动作。理论上,一套标准输入指令会奏效,如果远程媒体设备是标准的,远程媒体设备的用户能够从所述指令中选择,但是根据在图1C中举例说明的,远程媒体设备和媒体类型是完全不同的组。
仅仅是为了示例的目的,图1C举例说明了多种媒体,比如音乐(MP3,WMV等),流动音频/视频,照片(JPEGS,GIF等),电影文件(MOV,MPEG等),广告,广播媒体(无线电,TV,电缆等),图形数据等。图1C也举例说明了为某种目的以某种方式重现媒体的多种设备。这些设备包括,但是不限制为,电视,无线电,调谐器,DVD播放器,VCR,MP3播放器,智能显示设备,膝上型电脑,游戏机,遥控设备,蜂窝电话,PDA,数字图形结构等等。在媒体类型和设备间的示例性而非限制性的连接说明了每种类型的设备可能具有或不具有重现讨论中的媒体类型的能力。因此,远程设备的媒体重现能力是完全不同的。而且,即使一个设备支持重现特殊格式的能力,那么在显示在主设备的用户界面性能和显示在远程设备上的用户界面性能之间依然存在不同。需要有一个用于从主机设备到远程设备传输用户界面性能的用户界面提取层。
例如,一个MP3播放器可能能够或不能够存储或重现视频。膝上型电脑可能比其它设备具有更重要和更好的存储、处理能力和分辨率。通用远程设备可以具有特殊的触摸屏性能。因此,用户将从与通用格式的用户类似的桌面媒体内容的自动设计中受益,所述的通用格式使得考虑选择远程设备的性能变得有意义。如今,不存在这样的能力,除非开发者为了得到关于特殊设备的目标,将单一服务器软件和单一客户机软件电路连接。
对于远程设备来说需要有一种机制或结构来向主机设备声明它的媒体重现性能的。当它们涉及到远程设备的媒体内容时,对于远程设备来说将更需要有一种机制或结构来向主机设备声明它的用户界面性能。因此,在本技术领域中非常需要对于远程计算机制,使得当远程设备涉及到计算系统中的媒体时能够声明它的性能,所述计算系统包括至少一个主机设备和一个或多个远程设备。
发明概述考虑到上面所述的技术缺点,本发明提供了用于在联网计算环境中提供媒体设备性能确定机制的系统和方法。一些现在的操作系统和应用传递一组远程特征以形成一个远程媒体消耗设备的联网生态系统。这些设备连接到主机并且通过远程协议和技术显示远程媒体内容。在这方面,本发明的设备性能确定机制使得远程媒体消耗设备能够指定一套通用的从主机远程发送到媒体消耗设备的媒体性能。所述机制是动态的和可扩展的。
本发明的其它优点和特征在下面描述。
附图概述用于根据本发明来声明媒体性能的系统和方法将参考附图来进一步描述,其中图1A举例说明一个示例性的现有技术远程计算环境;图1B举例说明用于向远程设备远程传送媒体内容的示例性远程计算环境;图1C举例说明当开始时不同的媒体种类和媒体设备是怎样提供媒体内容的;图2A是表示具有多个计算设备的示例性网络环境的方框图,本发明能够在其中实施;图2B是表示示例性的非限制性服务器计算设备的方框图,本发明能够在其中实施;图2C是一个通用远程设备的方框图,与此相关本发明能够实施使得通用远程设备能够声明它的媒体性能;图3A和3B是本发明的可扩展的媒体性能声明机制相应示例性实施例的框图和流程图4是本发明的媒体性能声明机制示例性、非限制性的实施例的流程图;图5举例说明了本发明的一个用于建立媒体性能标记的工具的示例性、非限制性的用户界面;以及图6举例说明了本发明与主机设备相关的使用,该主机设备具有与通用本地遥控内容一起使用的对象处理程序。
本发明的详述概述在消费者与它们的计算机之间交互作用方面,最近的改进包括联网设备的宽生态系统的引进,该联网设备在多种设备(比如电子家庭远程媒体设备,智能显示器,x盒,袖珍PC,便携式DVD设备等等)上遍及整个家庭,来传递娱乐内容(比如TV,音乐,视频,照片,DVD`s,等等)。为了优化由主PC启用的媒体内容,必须知道基于设备性能的将要遥控的远程会话的种类和会话性能。如今,在比如典型远程媒体设备、智能显示器、通用TS会话等设备之间的差别已经是公知的了。因此,不同会话的类型要求不同的远程媒体会话。随着时间的过去,媒体将可以被更多的设备(例如x盒,袖珍PC,便携式DVD设备等等)远程访问。如在下面更加详细描述的,确定本发明设备性能的机制能满足这些需要。
根据所提及的,一些现今的操作系统,比如Windows媒体中心编辑(MCE),传递一组充足的远程特性以实现远程媒体消耗设备的生态系统。这些设备连接到主机,比如MCE PC,并通过终端服务或其它远程技术显示远程的媒体内容。为了增强这样的生态系统,本发明的自动设备性能声明和确定机制使得远程设备能够指定一组常规的媒体性能和应该远传到该设备的相应UI。
示例性的联网和分布式环境本领域中一个普通技术人员能够理解,本发明能够连同任一计算机或其它客户机或服务器设备来实施,其能够作为计算机网络的一部分或者在分布式计算环境中使用。在这方面,本发明适合于任一具有任意数目存储器或存储元件的计算机系统或环境,以及任意数目的应用和在任意数目存储单元或音量产生的程序,其连同依照本发明的远程媒体内容一起来使用。本发明适用于带有服务器计算机和在网络环境或者分布式计算环境中配置的客户计算机的环境,具有远程或本地存储器。本发明也能够应用于独立计算设备,具有编程语言功能,用于生成、接收和发送与远程或本地服务有关的信息的翻译和执行能力。由于用于数字媒体的网络资源比以前更多,本发明尤其与那些在网络或分布式计算环境中操作的计算设备相关,因此依照本发明的媒体性能声明技术能够在那些环境中更高效地应用。
分布式计算通过计算设备和系统间的交换提供计算资源和服务的共享。这些资源和服务包括信息的交换,用于文件的高速缓冲存储器和磁盘存储器。分布式计算利用网络连接,允许客户机平衡它们的集中能力和存储以有益于整个公司。在这方面,多种设备可以具有能够包含本发明的媒体性能确定程序的应用、目标或资源。
图2A提供了一个示例性联网或分布式计算环境的示意图。分布式计算环境包括计算目标10a,10b,等以及计算目标或设备110a,110b,110c等。这些目标可能包括程序,方法,数据存储,可编程逻辑等。目标可能包括相同或不同设备的多个部分,比如PDA,音频/视频设备,MP3播放器,个人计算机等。经由通信网络14,每个目标能够与另一个目标通信。这个网络本身可能包括其它计算目标并提供服务给图2A系统的计算设备,并且本身可以表示多个互联的网络。根据本发明的一个方面,每个目标10a,10b,等或者110,110b,110c等可以包含能够使用接口的应用,例如API,或其它目标,软件,固件和/或硬件,以根据本发明来请求或使用媒体性能确定程序。
可以理解,一个目标,比如110c,可以在另一计算设备10a,10b,等或者110a,110b等上处理。因此,尽管已描述的物理环境可以显示如同计算机的连接设备,这样的举例说明只是示例性的,并且物理环境可以可选地描述为包括多种数字设备,比如PDA,电视,MP3播放器等,软件目标,比如接口,COM目标,或任一用来连通媒体内容的设备。
有多种系统,部分和支持分布计算环境的网络配置。例如,计算系统能够通过有线或无线系统、局域网或宽分布式网络连接在一起。当前,许多网络耦合到因特网,因特网提供了用于宽分布式计算的基础机构并且包含许多不同网络。任一种基础机构能够用于示例性的通信,以得到依照本发明的远程媒体内容的提供。
在家庭网络环境中,具有至少四个完全不同的网络传送媒体,每个可以支持一个单一协议,比如电力线,数据(有线和无线的),声音(例如,电话)和娱乐媒体。大多数家用控制设备,比如灯开关和电器,可以使用电力线来连接。数据服务能够作为宽带进入家庭(例如DSL或电缆调制解调器),并且在家庭内通过使用无线(比如家庭RF或802.11B)或有线(比如家庭PNA,Cat5,以太网,甚至电力线)连接来访问。声音业务可以以有线(比如Cat3)或无线(例如蜂窝电话)的方式进入家庭,并且能够使用Cat3绞线在家庭内分布。娱乐媒体,或者其它图形数据可以通过卫星或电缆进入家庭,并典型地使用同轴电缆分布在家庭中。IEEE1394和DVI对于媒体设备组也是数字互连的。所有这些网络环境和作为协议标准出现的一些其它事物能够互连以形成一个网络,比如能够通过因特网连接到外边世界的企业内部互联网。简而言之,存在完全不同的资源用于数据的存储和传输,从而,更进一步,计算设备将需要不同的共享数据的方式,比如对于程序目标的数据存取和使用事件,它需要或者使用根据本发明的媒体性能声明和确定机制。
因特网通常是指利用TCP/IP协议的网络和网关的集合,它在计算机联网技术中是公知的。TCP/IP是“传输控制协议/因特网协议”的首字母缩写。因特网能够描述为由执行网络协议的计算机相互连接的、在地理上为分布式的远程计算机网络的一个系统,所述协议允许用户在网络上交互和共享信息。由于这些广播信息共享,比如因特网的远程网络因此发展成开放系统,对此,开发者能够设计用于实现特殊操作或服务的软件应用,基本上没有限制。
因此,网络基础结构成为网络拓扑的主机,比如客户机/服务器,对等网络,混合机构。“客户机”是使用不相关的另一类或组的服务的一类或一组的中成员。因此,在计算机中,客户机是一个程序,也就是一般来说的指令或任务,它需要另一程序提供的服务。客户机使用请求的服务而不必知道任何关于其它程序或服务本身的工作细节。在客户机/服务器机构中,尤其一个联网系统,客户机通常是一个能访问由例如服务器的另一个计算机提供的共享网络资源的计算机。在图2A的示例中,计算机110a,110b等能够被认为是客户机并且计算机10a,10b等能够被认为是服务器,服务器10a,10b等保留接下来在客户机110a,110b等中复制的数据,尽管任一计算机能够根据环境被认为是客户机,服务器,或者两者皆是。例如,计算机110a可以是一MCE主PC,以及计算设备10a,10b等可以是远程媒体消耗设备。这些计算设备中的任一设备都可以处理数据或者请求包含本发明的媒体性能确定机制的服务或任务。
服务器典型地是一个在远程或本地网络上能够访问的远程计算系统,例如因特网。客户机程序在第一计算机系统中启用,服务器程序在第二计算机系统中启用,通过通信介质与另一个进行通信,由此提供分布式功能并且允许多种客户机去利用服务器的信息聚集性能。任一按照本发明的媒体性能确定技术使用的软件目标能够越过多个计算设备或目标来分配。
客户机和服务器使用由协议层提供的功能能够与另一个进行通信。例如,超文本传输协议(HTTP)是一个与万维网(WWW)或“环球网”联合使用的通用协议。例如,RDP是用于远程计算的通用协议。典型地,例如因特网协议(IP)地址的计算机网络地址和例如通用资源定位符(URL)的其它参考能够互相识别服务器或客户计算机。网络地址也可以认为是URL地址。可以通过通信介质来提供通信,比如,客户机和服务器能够通过用于高性能通信的TCP/IP连接来彼此耦合。
因此,图2A举例说明了一个示例性的联网或分布式的环境,具有一个经由网络/总线来与客户机通信的服务器,本发明能够在其中实施。更详细地,多个服务器10a,10b等经由通信网络/总线14,可以是LAN,WAN,企业内部网,因特网等等,与多个客户机或远程计算设备110a,110b,110c,110d,110e,等进行通信,例如便携式计算机,手持式计算机,小客户机,联网电器或其它设备,比如根据本发明的VCR,TV,烘箱,灯,加热器等等。当它到达存储器,用户界面,重现等时,期望本发明可以应用到任何带有唯一媒体性能的计算设备。
网络环境中,通信网络/总线14是因特网,例如服务器10a,10b等可以是环球网服务器,客户机110a,110b,110c,110d,110e等能够通过多个已知协议中任何一种例如HTTP来与其进行通信。服务器10a,10b等也可以充当客户机110a,110b,110c,110d,110e,等,可以以分布式计算环境为特征。
通信在适当的地方可以是有线的或是无线的。客户机110a,110b,110c,110d,110e等可以或不用通过通信网络/总线14来通信,并且可能具有与之相关的独立通信。例如,在TV或VCR的例子中,可以有或没有在其中进行控制的联网方面。每个客户计算机110a,110b,110c,110d,110e等以及服务器计算机10a,10b等可以装配不同的应用程序模块或目标135,并且连接或访问不同类型的存储元件或目标,能够通过它来存储文件或数据流或者能够下载、传输或转移文件或数据流的一部分。计算机10a,10b,110a,110b等中的一个或多个能够负责数据库20或其它存储元件的维护和更新,比如用于存储根据本发明处理的数据的数据库或存储器20。因此,本发明能够在计算机网络环境中使用,该环境带有能够访问和与计算机网络/总线14交互的客户机110a,110b等,和能够与客户机110a,110b等交互的服务器计算机10a,10b等,以及其它类似的设备和数据库20。
示例性计算设备图2B以及接下来的讨论意在提供一个合适的计算环境的简要概述,本发明可以与该环境相关来实施。然而,应该理解的是,各种各样手持的、便携的以及其它计算设备和计算目标都可以与本发明一起相关使用,也就是,无论何处媒体都处在计算环境中。尽管一个通用计算机在下面作为示例主机来描述,但只是一个例子,本发明可以用一个具有网络/总线互用性和交互作用的小客户机来实施。因此,本发明可以在联网主机服务环境中实施,其中包含非常少或者最小的客户机资源,比如,客户机装置仅仅在其中作为到网络/总线的接口来进行服务的联网环境,例如在电器中设置中一个目标。实际上,依照本发明,无论是存储数据的地方,或是检索到数据的地方,或是将数据发送到另一个计算机的地方都是用于常规媒体内容发送操作的理想的、或合适的环境。
尽管没有要求,但是本发明能够通过由设备或目标服务的开发者来使用的操作系统来实施,和/或包括在连同依照本发明的常规媒体内容的性能声明或传递的描述来操作的应用软件中。软件可以用计算机可执行指令的传统概念来描述,比如由一个或多个计算机执行的程序模块,例如是客户机工作站,服务器或其它设备。一般来说,程序模块包括子程序,程序,目标,组件,数据结构以及执行特殊任务或者实施特殊抽象数据类型的类似物。典型地,程序模块的功能在不同实施例中能够根据需要来组合或分配。而且,本领域熟练技术人员可以理解,本发明能够与其它计算机系统配置和协议一起实施。其它已知的适合与本发明一起使用的计算系统、环境和/或配置包括,但不限制于,个人计算机(PC),自动取款机(ATM),服务器计算机,手持式或膝上式设备,多处理器系统,基于微处理器的系统,可编程消耗电子部件,网络PC,电器仪表,光源,环境控制元件,小型机,大型计算机等等。本发明也可以在分布式计算环境中实施,在那里由通过通信网络/总线或者其它数据传输介质连接的远程处理设备来执行任务。在分布式网络环境中,程序模块可以位于包括记忆体储存器设备的本地和远程计算机存储媒体中,并且客户机节点可以轮流作为服务器节点来工作。
图2B因此举例说明了一个合适的计算系统环境100的实例,本发明可在此环境中实施,尽管上面已经进行清楚描述,但是计算系统环境100只是一个合适的计算环境的例子,并且不打算对本发明的使用范围或者功能建议任何的限制。计算环境100不应被解释为与计算环境100中说明的任一组件或组件的组合有相关的依赖性或要求。
参照图2B,用于实施本发明的示例系统包括一个计算机110形式的通用计算设备。计算机110的组件可能包括,但不以此为限,处理单元120,系统存储器130,以及把各种系统部件,包括系统存贮器304耦合至处理器120的系统总线121。系统总线121可以是包括存贮器总线或者存贮器控制器、外围设备总线和使用各种总线结构中任一种的本地总线的若干总线结构类型中的任意一种。举例来说,但不限制,这些结构包括工业标准结构(1SA)总线、微信道结构(MCA)总线、扩展工业标准结构(EISA)总线、视频电子标准协会(VESA)局部总线,以及外围部件互连(PCI)总线(也称为中间层Mezzanine总线)。
计算机110典型地包括各种计算机可读介质,这些计算机可读介质可能是任何可利用的介质,它可由计算机110访问,并且包括易失性介质和非易失性介质、可移动式和不可移动式介质。通过实例,但不作限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移动式和不可移动式介质,该介质在任何一种用于信息存储的方法和技术中实施,所述的信息例如是计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括,但不以此为限,RAM,POM,EEPROM,闪存或其它存储技术,CDROM,数字通用光盘(DVD)或其它光盘存储器,盒式磁带,磁带,磁盘存储器或其它的磁存储装置,或其它任一种能够用于存储想要的信息并且能由计算机110访问的介质。通信介质典型地包含(embody)计算机可读指令,数据结构,程序模块或其它在比如载波或其它传送机构的已调制数据信号中的数据,并且,所述通信介质包括任何一种信息传递介质。术语“已调制数据信号”是指具有一个或多个它的特征集或者以在信号中编码信息的方式改变的信号。举例来说,但不限制,通信介质包括有线介质,例如有限网络或直接有线连接,以及无线媒体,和无线介质,例如声波、RF、红外线和其它无线介质。上述的任意一种组合也应包括在计算机可读介质的范围内。
系统存储器130包括以易失性和/或非易失性存贮器为形式的计算机存储介质,比如,只读存贮器(ROM)131和随机访问存储器(RAM)132。基本输入/输出系统(BIOS)133,包括基本的子程序,它帮助在计算机110内的部件之间传送信息,比如,当启动的时候,典型地被存贮在ROM131中的信息。RAM132典型地包括数据和/或程序模块,它可立即被处理器单元120访问和/或当前正被处理器单元120操作。举例来说,但不限制,图2B示出操作系统134,应用程序135,其它程序模块136以及程序数据137。
计算机110也可以包括其它可移动式/不可移动式的、易失性/非易失性的计算机存贮介质。只是举例来说,图2B示出了一个硬盘驱动器141,用来读取或者写非移动式、非易失性的磁性介质,磁盘驱动器151,用于读取或者写可移动式、非易失性的磁盘152,以及光盘驱动器155,用来读取或者写可移动式、非易失性光盘156,比如,CD-ROM或者其它光介质。其它的能够在示例操作环境中使用的可移动式//不可移动式的、易失性/非易失性的计算机存贮介质包括但不限制于,盒式磁带,闪存卡,数字通用盘,数字视频带,固态RAM,固态ROM等等。硬盘驱动器141典型地通过例如接口140的非移动式存储器接口连接到系统总线121,磁盘驱动器151和光盘驱动器155典型地通过例如接口150的移动式存储器接口连接到系统总线121。
在图2B中示出的并在上面讨论过的驱动器和它们的相关计算机存储介质提供了计算机可读指令、数据结构、程序模块、以及其它用于计算机110的数据的存储。图2B中,例如,硬盘驱动器141被举例说明来存储操作系统144,应用程序145,其它程序模块146以及程序数据147。注意,这些组件可能与操作系统134、应用程序135、其它程序模块136以及程序数据137相同或者不同。这里给予操作系统144、应用程序145、其它程序模块146以及程序数据147不同的号码,以在最小限度上说明它们是不同的复制品。用户可以通过输入设备,比如键盘162和点击设备161,通常指鼠标、跟踪球或者触摸板来输入命令和信息到计算机110。其它输入设备(未示出)可能包括话筒、控制杆、游戏板、卫星反射器、扫描仪等等。这些和其它的输入设备通常通过耦合于系统总线121的用户输入接口160连接到处理单元120,但是也可采用其它的接口和总线结构来连接,例如平行端口、游戏端口或者通用串行总线(USB)。图形接口182,例如北桥(Northbridge),也可能连接到系统总线121。北桥(Northbridge)是一个与CPU或主处理单元120通信的芯片组,并且假定用于加速图形接口(AGP)通信的响应性。一个或多个图形处理单元(GPU)184可以与图形接口182通信。在这方面,GPU184一般包括芯片上的记忆体存储器,例如寄存器存储器,并且GPU184与视频存储器186通信,其中本发明的各种应用变形可能具有冲突(impact)。然而,GPU184只是协同处理器的一个示例,因此计算机110中可能包括各种协同处理装置,并且可能包括各种程序上的阴影,比如象素和顶点阴影。监视器191或者其它类型的显示设备也经由接口连接到系统总线121,比如视频接口190,其能轮流与视频存储器186通信。除监视器191之外,计算机也可能包括其它外部输出设备,比如扬声器197和打印机196,其能够通过输出外部接口来连接。
计算机110可以在用逻辑连接到一台或多台远程计算机的网络或分布式环境下进行操作,比如用远程计算机180。远程计算机180可以是个人计算机,服务器,路由器,网络PC,同等设备或其它通用网络结点,并典型地包括许多或所有上面相对于计算机110描述过的元件,尽管在图2B中仅仅示出了一个记忆体存储器181。图2B中描述的逻辑连接包括局域网(LAN)171以及广域网(WAN)173,但也可以包括其它网络/总线。这样的网络环境在家庭、办公室、企业级计算机网络、企业内部互联网以及因特网中是很常见的。
当用在LAN局域网环境下时,计算机110经过网络接口或者适配器170连接到局域网LAN171上去。当用在WAN网络环境下时,计算机110典型地包括有调制解调器172或者其它用于在WAN173上建立通讯的装置,比如因特网。调制解调器172可以是内置的或外置的,可以经由用户输入接口160或者其它合适的结构连结到系统总线121上。在网络的环境中,相对于计算机110描述过的程序模块或者其中的部分,可能贮存在远程记忆体储存器设备中。通过示例,但不限制,图2B示出了驻留在存储设备181上的远程应用程序185。将会理解到,所示出的网络连结是示例性的,也可以使用在计算机之间建立通讯链路的其它装置。
示例的远程设备图2C和以下的讨论意在提供一个合适的计算环境的简要概括的描述,该环境用于根据本发明的远程媒体设备。然而,应该理解,各种各样手持的、便携的以及其它计算设备和计算物体都可以与本发明一起使用,也就是,无论在何处设备可以希望要求用于设备的常规远程媒体内容的传递。还根据媒体性能,这些设备的不同利用具有重大优点的本发明,给不同的远程设备定做出远程媒体内容。因此,下面描述的通用远程计算机只是一个实例,本发明可以与任一个具有网络/总线互用性和交互作用的客户机一起来实施。因此,本发明可以在网络主机服务的环境中实施,其中包含非常少或者最小的客户机资源,比如,一个网络环境,其中客户机装置仅仅作为到网络/总线的接口来进行服务,例如设置在电器中的一个目标。本质上,依照本发明,无论是存储数据的地方,或是检索到数据的地方,或是将数据发送到另一个计算机的地方都是用于远程媒体内容技术发送操作的理想的、或合适的环境。
尽管没有要求,本发明能够部分地通过由设备或目标的服务的开发者来使用的一个操作系统来实施,和/或包括在连同本发明的组件来操作的应用软件中。软件可以用计算机执行指令的传统概念来描述,比如由一个或多个计算机执行的程序模块,例如是客户机工作站,服务器或其它设备。本领域熟练技术人员可以理解,本发明能够与其它计算机系统配置和协议一起实施。
图2C因此示出了一个合适的计算系统环境100a的例子,本发明能够在其中实施,尽管上面已经说清楚,计算环境100a仅仅是一个用于远程设备的合适的计算环境的实例,并不意在对本发明的使用范围和功能建议任何限制。计算环境100不应被解释为与实例操作环境100a中示出的任一组件或组件的组合有相关的依赖性或要求。
参照图2C,用于实施本发明的示例远程设备包括一个以计算机110a为形式的通用计算设备。计算机110a的组件可能包括,但不以此为限,处理单元120a,系统存储器130a,以及把包括系统存贮器的各种系统组件耦合至处理器120a的系统总线121a。系统总线121a可以是包括存贮器总线或者存贮器控制器、外围设备总线和使用各种总线结构中任一种的本地总线的若干总线结构类型中的任意一种。
计算机110a典型地包括各种计算机可读介质。这些计算机可读介质可能是任何可由计算机110a访问的可利用的介质。通过实例,但不是作为限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括易失性和非易失性、可移动式和不可移动式介质,该介质在任何一种用于信息存储的方法和技术中实施,所述的信息例如是计算机可读指令、数据结构、程序模块或其它的数据。计算机存储介质包括,但不以此为限,RAM,POM,EEPROM,闪存或其它存储技术,CDROM,数字通用光盘(DVD)或其它光盘存储器,盒式磁带,磁带,磁盘存储器或其它的磁存储器设备,或其它任一种能够用于存储想要的信息并且能由计算机110访问的媒体。通信介质典型地包含(embody)计算机可读指令,数据结构,程序模块或其它在比如载波或其它传送机构的已调制数据信号中的数据,并且,通信介质包括任何一种信息传递介质。术语“已调制数据信号”是指具有一个或多个它的特征集或者以在信号中编码信息的方式改变的信号。通过实例,但不以此为限,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声波、RF、红外线和其它无线介质。上述的任意一种组合也应包括在计算机可读介质的范围内。
系统存储器130a可以包括以易失性和/或非易失性存贮器为形式的计算机存储介质,比如,只读存贮器(ROM)和/或随机访问存储器(RAM)。基本输入/输出系统(BIOS),包括基本的子程序,它帮助在计算机110内的部件之间传送信息,比如,当启动的时候,典型地被存贮在存储器130a中的信息。存储器130a典型地包括数据和/或程序模块,它可立即被处理器单元120a访问和/或当前正被处理器单元120a操作。举例来说,但不限制,存储器130a也可能包括操作系统,应用程序,其它程序模块以及程序数据。
计算机110a也可能包括其它可移动式/不可移动式的、易失性/非易失性的计算机存贮介质。举例来说,计算机110a可能包括硬盘驱动器,用来读取或者写非移动式、非易失性的磁性介质,磁盘驱动器,用于读取或者写可移动式、非易失性的磁盘,和/或光盘驱动器,用来读取或者写可移动式、非易失性光盘,比如,CD-ROM或者其它光介质。其它的能够在示例操作环境中使用的可移动式/不可移动式的、易失性/非易失性的计算机存贮介质包括但不限制于,盒式磁带,闪存卡,数字通用盘,数字视频带,固态RAM,固态ROM等等。硬盘驱动器典型地通过例如一个接口的非移动式存储器接口连接到系统总线121a,磁盘驱动器或光盘驱动器典型地通过例如一个接口的移动式存储器接口连接到系统总线121。
用户可以通过比如键盘和点击设备等输入设备来输入命令和信息到计算机110a,该点击设备通常指鼠标、跟踪球或者触摸板。其它的输入设备可能包括话筒、控制杆、游戏板、卫星反射器、扫描仪等等。这些和其它的输入设备通常通过用户输入140a和耦合于系统总线121a的相关接口连接到处理单元120a,但是也可采用其它的接口和总线结构来连接,例如平行端口、游戏端口或者通用串行总线(USB)。图形子系统也可能连接到系统总线121a。监视器或者其它类型的显示设备也经由例如输出接口的接口连接到系统总线121a,其能轮流与视频存储器通信。除监视器之外,计算机也可能包括其它外部输出设备,比如扬声器和打印机,它们能够通过输出接口来连接。
计算机110a可以在使用逻辑连接到一台或多台其它远程计算机的网络或分布式环境下进行操作,比如远程计算机170a,它轮流具有与设备110a不同的媒体性能。远程计算机170a可以是个人计算机,服务器,路由器,网络PC,同等设备或其它通用网络节点,或任何一种远程媒体消费或传输设备,并可以包括任一或所有上面关于计算机110a描述过的元件。图2C中描述的逻辑连接包括网络171a,局域网(LAN)或者广域网(WAN),但也可以包括其它网络/总线。这样的网络环境在家庭、办公室、企业级计算机网络、企业内部互联网以及因特网中是很常见的。
当用在LAN局域网环境下时,计算机110a通过网络接口或者适配器连接到LAN171a。当用在WAN网络环境下时,计算机110a典型地包括有调制解调器或者其它用于在WAN上建立通讯的装置,比如因特网。调制解调器可以是内置的或外置的,可以经由用户输入接口140a或者其它合适的结构连结到系统总线121a上。在网络的环境中,关于计算机110a描述过的程序模块或者其中的部分,可能贮存在远程记忆体储存器设备中。将会理解到,所示出的网络连结是示例性的,也可以使用在计算机之间建立通讯链路的其它装置。
示例性的分布式计算框架或结构根据个人计算和因特网的集中,个中分布式计算框架已在发展。提供给个人和类似的企业用户一个用于应用程序和计算设备的无缝可协同操作的Web激活接口,该接口用于计算行为增强Web浏览器或网络导航。
例如,MICROSOFT的管理编码平台,也就是.NET,包括服务器,构件块服务,比如基于Web的数据存储和可下载的设备软件。一般来讲,.NET平台提供(1)使整个范围的计算设备一起工作和使得在其上的用户信息自动更新和同步的能力,(2)增强的用于网页的交互性能,通过大量使用XML而不是HTML来得到,(3)使用于管理不同应用的,来自于中心起始点的用户产品和服务的特色用户化在线服务访问和发送,例如电子邮件,或者软件,例如OFFICE.NET,(4)集中数据存储,它增加了访问信息的效率和简易性,以及在用户和设备之间的信息的同步,(5)整合不同通信介质的能力,比如电子邮件,传真,和电话,(6)对于开发者,创建可重复利用模块的能力,从而增加生产力并减少程序错误的数量,以及(7)许多其它跨平台和语言综合特点。
虽然这里的一些示例性的实施例是结合驻留在计算设备中的软件来描述的,但是本发明的一个或多个也可能经由操作系统、应用编程接口(API)或“中间人”目标、控制目标、硬件、固件、中间语言指令或目标等等来实施,从而使本发明的方法能够包含于经由所有的语言和管理编码所允许的服务中,或由所述服务支持或访问,比如.NET码,以及在其它分布式计算结构中的编码。
远程桌面协议和终端服务会话的概述微软远程桌面协议(RDP)是一个能够用于将媒体内容从主机传送到远程媒体消费设备的协议的实例。RDP为运行在服务器上的基于Windows的应用软件提供在网络连接上的远程显示和输入能力。RDP被设计成支持不同类型的网络拓扑结构和多种LAN协议。
在服务器上,通过使用协议将重现信息构造入网络数据包并通过网络发送到客户机,RDP使用它自己的视频驱动器来重现显示输出。在客户机上,RDP接收重现数据并把数据包翻译为相应的图象设备接口(API)呼叫。对于输入路径,客户机鼠标和键盘活动从客户机到服务器被重新定向。在服务器上,RDP用户使用它自己的虚拟键盘和鼠标驱动器来接收键盘和鼠标的活动。从一个非限制特征的立场来看,RDP包括加密,带宽减少特征,漫游断开,剪贴板映射,打印重定向,虚信道,远程控制以及网络负载平衡。
终端服务提供一个示例性的远程计算环境作为服务器的扩展,比如WindowsNT服务器。只使用小客户机,用户能够完全脱离服务器而体验服务器桌面操作系统和应用。使用终端服务器,提供给用户从以下任一类型的桌面来访问基于Windows的应用的权力(A)低价硬件,通常指基于Windows的终端,它由第三方硬件卖主来销售,(B)Windows桌面操作系统,比如Windows 95或者微软Windows NT工作站,通过运行终端服务器客户机作为在本地桌面环境下的视窗,以及(C),基于X的终端,基于UNIX的桌面以及苹果的麦金托什机,MS-DOS和其它联网的计算机(通过附加软件)。
终端服务器包括三个主要部分终端服务器多用户核心,远程桌面协议(RDP)和小客户机软件。
终端服务器是提供了在其它设备上主持多重、同步的客户机会话能力的多用户服务器核心。终端服务器能够直接处理运行在多种基于Windows和不基于Windows的硬件上的兼容的多用户客户机桌面。标准的基于Windows的应用不需要修改就能在终端服务器上运行,并且所有标准的基于WindowsNT的管理基础结构和技术都能够用于管理客户机桌面。这样,公司能够利用由Windows环境提供的应用和工具的充足选择。
RDP是允许小客户机在网络上与终端服务器通信的终端服务器的协议。这个协议是基于国际电信同盟(ITU)T.120协议的,一个国际化的,标准的多路会议协议。调谐RDP以用于高带宽的企业环境,并支持加密会话。
小客户机部分是一个软件,在包括基于Windows的终端设备和个人计算机的桌面硬件上表示或显示一个Windows用户界面。
终端服务器的目标管理者提供了不相冲突的不同会话的应用软件和系统程序。给在会话中创建的每个目标名称添加一个唯一识别号码,该号码是与创建它(会话ID)的个人会话相关的。终端服务器服务是完全独立于协议的,因此它能够使用RDP或例如Citrix`s ICA的第三方附加协议。
RDP是允许多信道的协议,允许对于传送连续的设备通信和从服务器来的显示数据,以及加密的客户机鼠标和键盘数据,来分配虚拟信道。虚信道是软件的扩展,能够给终端服务应用增添功能的增强。功能的增强的例子包括对于特殊类型硬件,音频,或者其它由终端服务RDP提供的核心功能的附加物的支持。RDP提供了多个虚信道的多元化管理。
虚信道应用包括两部分,客户端部分和服务器端部分。服务器端部分是运行在终端服务器上的可执行程序。客户机端部分是一个当终端服务客户机程序运行时装载在客户计算机的存储器中的DLL。
虚信道能够独立于RDP协议给终端服务客户机增添功能性的增强。使用虚信道支持,不用更新客户机或服务器软件,或者RDP协议,就能够添加新的特点。
几个其它性能也是T120.标准定义的一部分,包括,例如,多点数据传递,它运许来自一个应用的数据被实时地传递到多个用户。组播传递允许数据传输的可靠传递服务。它增加了对于消费者的性能,而同时减少了网络基础结构上的负载。RDP有益于连通性目的,因为它提供了一个可扩展的基础,从所述基础中可以建立更多能力。这是部分的,因为RDP为数据传输以及多点传输的供应提供了高达64,000的单独信道。
RDP设计用于支持许多不同类型的网络拓扑结构,比如ISDN,POTS,以及许多LAN协议,比如IPX,网络基本输入输出系统,TCP/IP,等等。
包括在通过RDP堆栈来发送和接收数据中的活动基本上与现今用于通用LAN网络的7层OSI(开放式系统互联)模型标准相同。来自应用或服务的将要传输的数据通过协议堆栈来传递,部分地,直接传递到信道,基于网络协议加密、包裹、构造、封包,最后寻址并通过有线线路发送到客户机。
返回的数据以相反的方式工作,数据包被除去它的地址,然后打开,解密等等,直到数据被应用使用。协议堆栈修改的一部分出现在第4层和第7层之间,在那里数据被加密,包裹和构造,指向一个信道,以及列入优先权。
有利地,使用RDP,处理协议堆栈的复杂性远离应用开发者。应用开发者简单地编写应用和由终端服务器实施的RDP堆栈,并且它的客户机连接照顾剩余的。
当开始的时候,终端服务器引导并装入核心操作系统,终端服务器被启动并开始等待会话连接。给予每个连接一个唯一的会话识别符或者“会话ID”,以代表一个到终端服务器的单个会话,每个在会话中创建的过程使用一个相关的会话ID来“标记”,以使它的名字空间与其它的会话名字空间相区别。但用户登录到一个能够实现终端服务的计算机时,通过识别唯一会话ID,为用户开始会话。由于每个到终端服务客户机的登录接收到一个独立的会话ID,用户过程与同时登录到多个计算机相似,比如办公室计算机和家用计算机。
控制台(终端服务器键盘,鼠标和视频)会话是首先被装载的,并作为特殊情况客户机连接来对待和被分配会话ID0。控制台会话作为一个普通系统会话开始,带有配置的显示器,鼠标以及装载的键盘驱动器。
创建控制台会话之后,终端服务器服务于是呼叫会话管理者以创建两个(通过默认)等待客户机连接的空闲客户机会话。对于创建空闲会话,会话管理者执行客户机服务器运行子系统程序,给那个程序分配一个新会话。
不同于控制台会话,设置客户机会话装载到用于显示器、键盘和鼠标的各自的驱动器。新显示驱动器是远程桌面协议(RDP)显示设备驱动器,使用RDP驱动器来替换鼠标和键盘驱动器。这些驱动器允许RDP客户机会话是远程可用的和交互式的。最后,终端服务器也调用一个用于RDP协议的连接接收器线,它在TCP端口上监听用于RDP客户机的连接。阻止带有不同会话ID的程序访问另一个会话的数据。
在一个示例性实施中,客户机通过TCP端口启动一个到终端服务器的的连接。终端服务器RDP接收器线检测会话请求并创建一个新RDP堆栈事例来处理新会话请求。接听线将呼入会话移交到新RDP堆栈事例并继续在用于进一步连接尝试的TCP端口上监听。在客户机会话连接以处理会话配置细节的协商时创建每个RDP堆栈。
用户登录后,如果在单一应用模式中,桌面或者应用对于用户显示。当用户选择一个要运行的应用时,鼠标指令传到终端服务器,它将选择的应用装入到新的虚拟内存空间。
如果用户决定断开会话,程序和所有虚拟内存空间保留,并且如果物理内存需要用于其它程序,它们移出到物理盘。RDP的另外一个好处在于能够依据用户对于会话的需要来改变会话显示屏的分辨率。例如,如果用户以前连接到终端服务器为800×600的分辨率,并且已经断开,然后移动到一个只支持640×480分辨率的另一个计算机并重新连到已有的会话,桌面将被矫正以支持新的分辨率。
典型地,退出系统是很容易实施的。一旦用户从会话中退出,所有与会话ID相关的程序被终止,并释放任一分配给对话的内存。
远程设备媒体性能的声明和确定根据所提及的,一些现今的操作系统,比如,Windows媒体中心编辑(MCE),传递很多组远程特征以实现远程媒体消耗设备的生态系统。这些设备连接到主机,比如MCE PC,并且经由终端服务器和RDP或其它远程技术来显示远程发送的内容。本发明的设备性能确定机制因此使得远程设备能够指定将被远程传送到设备的媒体性能的定制集。
根据讨论,对于在其上远程发送的会话类型,为了优化主机PC媒体内容,基于设备的会话性能由根据本发明的远程设备来声明。因此提供给不同类型的会话以不同的媒体内容。用于根据本发明来声明和确定设备性能的机制使得媒体内容的配置对于远程设备来说是适当的。
图3A和3B分别示出了用于本发明多种实施例的示例性框图和流程图。图3A举例说明了远程媒体设备310根据主PC300所能理解的结构来声明它的媒体性能。于是,使用结构规定的规则来解释性能声明的主PC300,能够传递常规消耗媒体内容到远程设备。图3B举例说明了用于在主PC300和远程媒体设备310之间交换的示例性过程。在320,根据协议来创建远程计算会话,比如用在主机300和设备310之间的RDP。在330,设备310通过本发明的机制声明它所拥有的一组媒体性能。在340,主机接收到声明,在350,该主机把声明翻译成可由主机300理解的一组简明的媒体功能,以在会话期间应用于到远程设备310的媒体内容的传递。
在示例性实施例和图4的流程图中所举例说明的,性能确定机制根据以下过程工作。在400,初始化一个RDP会话,在410,主PC打开一个虚信道并在420监视此信道,直到完成超时周期,例如60秒。如果远程客户机在430通过此虚信道建立一个连接并在440在用于设备的性能信息串中传递,则在450媒体中心UI使用合适的激活功能来显示给远程设备。在460如果在确定的超时周期内没有传输有效性能信息串,在470就假定一组普通设备性能。在下面的表I中定义一个示例性、非限制性默认设置。在一个实施例中,性能信息串经由一个由RDP定义的虚信道传送到主PC。
表I-示例性媒体性能特性和设备设置为了方便客户机的性能信息串的创建,在另一个实施例中,本发明提供一个客户机性能标记生成器(CCTB)工具500,如在图5中示出的示例性UI。CCTB工具500用于创建一组用于传达设备性能到主PC的标记。为了创建标记,从列表510中简单地选择相关设备性能,如果合适(在图5中,“远程_媒体_设备”是友好名字,在这里也使用以指代能够连同本发明使用的示例性的远程媒体设备),给设备分配一个友好名字。用于性能标记的值显示在第一栏520。信息串的UTF-8编码显示显示在第二栏530。在这个实施例中,UFT-8编码信息串通过一个虚信道传送到主PC,以指示设备性能。在本发明实施例中的UFT-8编码信息串的使用只是一个设计选择。注意,任何格式能够用于描述第一栏520的值,因此本发明不应解释为限制于UFT-8编码信息串的使用。
图6示出了本发明的一个实施例,其中主PC媒体环境具有一个“10-foot UI”媒体内容。在该实施例中,主PC600具有一个设计成与遥控设备620一起工作的媒体对象处理程序(shell)605。因此,胜于在主PC600的键盘和鼠标等处需要做的,用户可以经由遥控设备620来操作主PC600的媒体中心。因为根据本发明,媒体内容的远程发送设计为无缝的和自动的,在本实施例中,在远程设备610将它的媒体性能信息串发送到主机设备600后,并且在将常规媒体内容远程发送到设备610后,远程设备620可以用于控制媒体内容的任一部分,如,或在主PC600或者在远程设备610,因为远程内容与“10-foot UI”媒体对象处理程序(shell)605联系在一起。
本发明的另一个关键方面是它提供了一个用于声明媒体性能的可扩展的机制。虽然RDP自己具有一个用于某些设备性能的广播机制,但它不是可扩展机制,它不是以远程媒体状况为目标的。在这方面,虽然主机和远程设备之间的媒体情况在过去是硬连线,在新的远程媒体消耗设备需要一类新的将被设置的媒体性质的方面来说,本发明能够被修改以使用新性能集。例如,工具500能够被修改成包括附加特性,从而可以产生和翻译相应的媒体性能信息串。换句话说,信息串本身是可扩展的,导致了潜在媒体特性的非限制的数目。
而且,本发明是动态的,也就是,如果远程设备和主PC已经建立了会话,并且远程设备由于某些原因从网络断开,如果同时,媒体特性已经改变,于是一旦重新连接,本发明动态地将媒体性能信息串与设备的新条件相适应。因此,例如,如果在远程设备断开后,远程设备连接到具有更高显示屏分辨率的监视器上,一旦重新连接,更高显示屏分辨率经由根据本发明的媒体性能信息串来声明。
用于示例设备的示例性远程发送异常根据通过展示在表I中的设备和特性间的差别举例说明的,在主PC上具有一些既不能远程传送到远程媒体设备,也不能在远程传送时以特殊方式处理的媒体特征。本发明的媒体性能确定机制使得这样的异常存在,并且在远程媒体内容会话期间自动和动态地处理。
对于一个具体的例子,不带有键盘或鼠标的远程设备称为远程_媒体_设备,在这里考虑使得用户能够无线地将桌面媒体内容在不同情况中传送到远程媒体设备,例如,看电视,听音乐,看照片等。使用远程_媒体_设备,对于一般的或者默认的会话具有许多潜在的异常。因此,为了证明本发明的价值,接下来的描述说明了对称为远程_媒体_设备的设备的一般会话的示例性、非限制的异常,其是由本发明的媒体性能声明机制来自动和动态处理的。
动态地,中心锁定开始菜单设计在非激活的远程_媒体_设备会话上不工作。因此,远程_媒体_设备会话使用非激活开始菜单设计,在那里高亮光标移动而不是菜单本身。关于窗口控制和用户名,对于远程_媒体_设备远程内容,去除了最小化/最大化/关闭/退出按钮,并且,远程_媒体_设备用户不能使用快速用户开关或者控制窗口设置。CD功能,比如CD复制,在远程会话中是不支持的。由于显象是完全加强的带宽、处理器和存储器,因此在远程_媒体_设备上不支持显象。“更多信息”按钮对于在远程_媒体_设备会话上的拍照是无效的。DVD功能也没有远程发送到远程_媒体_设备。因此,“播放DVD”菜单项将从用于远程_媒体_设备会话的开始菜单中去除,并且关于DVD的设置也将去除。
阿尔法混合(Alpha-blended)资产在远程_媒体_设备显示屏的视频上错误地显示。因此,客户资产用于远程_媒体_设备会话以避免单象素阿尔法(alpha)问题。阿尔法(alpha)椭圆需要大量用户阿尔法(alpha)GDI编码并且不对远程_媒体_设备会话实施。选取框滚动需要D3D重现并且在远程_媒体_设备上是无效的。远程_媒体_设备通过默认使用TV外壳。同样,由于某些按钮名字在当前按钮集合中不适合,在远程_媒体_设备上使用一较小文本尺寸来定址截取的按钮标识。
在远程_媒体_设备会话中装入帮助和支持中心(HSC),因为不用键盘/鼠标没有方法来关闭HSC,HSC对于大多数TV显示屏的分辨率是可用的。因此,没有到HSC的链路显示在远程_媒体_设备会话上。对于所有首次运行/设置网页,帮助链路在远程_媒体_设备会话中是可以去除的。由于在远程媒体设备上没有键盘和鼠标是可用的,所以没有弹出显示。
将在主机上作为新用户来建立远程_媒体_设备客户机。远程_媒体_设备远程会话将被设置成在全屏独占地运行,并且默认为“一直在最上面”运行,阻止任何欺诈弹出通过UI来显示。而且,远程媒体设备帐户不接收任何ActiveX控制的安装。
完全动态等待按钮在远程_媒体_设备会话中没有示出。代替地,示出一个通用版本,其在较低帧率是活跃的,并且不需要基于D3D的动画设计。根据鼠标运动显示的覆盖将不在远程_媒体_设备远程会话中示出,因为没有鼠标。对于远程_媒体_设备的设备,所有前板显示(FPD)事件被发送到“空”FED设备以确保它们没有被发送到主PC的FPD。
因此,可以明白,有多种能够由本发明的结构自动设置的媒体性能特性,用于声明到主机设备的媒体性能。因为本发明提供可扩展成附加媒体性能的结构,并且因为本发明在远程媒体内容会话开始的时候动态地使用,与主PC协同合作远程操作的不同媒体设备的数目是没有限制的。由于本发明对会话自动操作,用户仅仅需要打开远程设备,并且观察传递到远程设备的专用媒体内容。例如,在以上描述的远程_媒体_设备中,所有上面的异常将自动处理。远程_媒体_设备将向主PC声明它的媒体性能信息串,据此,主PC将解释设备的媒体性能,并相应传递远程媒体内容。
实施本发明的方式有多种,例如,一个适当的API,工具箱,驱动码,操作系统,控制,单机或可下载的软件目标等等,它能够启动应用和服务来使用本发明的媒体性能声明机制。本发明期望本发明从API(或其它软件目标),以及从软件或通过本发明的机构来接收或传输媒体性能的硬件的立场来使用。因此,这里描述的本发明的不同实施方式可能具有整个在硬件,部分在硬件和部分在软件,以及整个在软件的不同方式。
根据上面提及的,当本发明的示例性实施例与多种计算设备和网络结构相关描述时,下面的内容可以应用到任何计算设备或想要在其中远程发送媒体内容的系统中。例如,本发明的运算法则和以及硬件实施方式可以应用于计算设备的操作系统,作为设备上的单独目标,作为另一个目标的一部分,作为可再用控制,作为可从服务器下载的目标,作为在设备或目标和网络之间的“中间人”,作为分布式的目标,作为硬件,在存储器中,上述的任一组合而被提供,等等。当在这里选择示例性程序语言、名字和实例作为各种选择的代表时,这些语言、名字和实例是不受限制的。本领域熟练技术人员将理解,提供目标编码和术语的方式有很多,所述的方式得到与本发明不同实施例得到的相同、相似和相等的功能。
根据所提及的,这里描述的多种技术可以结合硬件或软件,或者适当地结合二者的组合来实施。因此,本发明的方法和设备,或其中某些方面或部分,可以表现为体现在有形媒体中的程序码(如指令)的形式,比如软磁盘,CD-ROM,硬驱动器,或任何可机读的存储媒介,其中,当程序码装载到例如计算机的机器并由机器执行时,该机器就变成一个用于实践本发明的设备。在程序码在可编程计算机上执行的情况下,计算设备通常包括处理器,处理器可读的存储媒介(包括易失和非易失存储器和/或存储元件),至少一个输入设备,至少一个输出设备。例如通过数据处理API的使用,可用控制器等等,一个或多个可能实施或利用本发明媒体性能机制的程序,可以更好地在高水平程序上或面向对象的程序语言中实施,以与计算机系统通信。然而,理想的话,程序能够在汇编语言和机器语言中实施,在任何情况中,语言可能是编译过或解释过的语言,并且可能与硬件工具相结合。
本发明的方法和设备也能够通过以在一些传输介质上传输的程序码的形式上体现的通信来实践,比如在电线或通过电缆,通过光导纤维,或者通过任意其它传输形式,,其中,当程序码由机器接收并装载以及执行时,比如EPROM,门阵列,可编程逻辑设备(PLD),客户计算机等等,机器就变成用于实践本发明的设备。当在通用处理器上实施时,程序码与处理器组合来提供操作调用本发明功能的唯一设备。另外,与本发明结合使用的任何存储技术一定是硬件和软件的组合。
尽管本发明已经结合不同附图的优选实施例描述过,但要理解,不与其偏离的情况下,可以使用其它类似的实施例,或者可以对已描述的用于执行与本发明功能相同的实施例作出修改和添加。例如,当本分明的示例性网络环境与联网环境相关描述时,例如,对等或分布式的联网环境,本领域熟练技术人员将承认本发明不限制于此,并且在本发明应用中描述的方法可以应用到任何计算设备或环境,无论有线或无线,比如游戏控制台,手持式计算机,便携式计算机等等,并且能够应用到通过通信网络连接并在该网络上交互的任一数量的计算设备中。而且,应该强调,包括手持式设备操作系统和其它应用特殊操作系统的多种计算机平台是期望的,尤其当无线联网设备的数量连续增加的时候。
尽管示例性实施例涉及与RDP相关使用本发明,但是本发明不限为此,相反地,可以实施任一协议来提供一个通用结构,用于在传递远程媒体性能到设备之前,比如在远程会话开始的时候声明设备媒体性能。此外,本发明能够在多个处理芯片或设备之中或之上执行,并且存储可能类似地在多个设备上受影响。因此,本发明不应该限制为任一单个实施例,而应该解释为与附加权利要求书的宽度和范围一致。
权利要求
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.一种包括用于实施权利要求11的方法的装置的计算设备。
18.一种携带用于执行权利要求11的方法的计算机可执行指令的调制数据信号。
19.一个用于构造至少一个媒体性能标记的工具,包括性能指定部分,用于使得用户能够指定至少一个远程设备的媒体特性;以及处理部分,在应用到远程媒体性能会话时,用于将指定的至少一个远程设备的媒体特性转换成至少一个用于描述远程设备媒体性能的媒体性能标记。
20.根据权利要求19的工具,进一步包括用于显示关于指定所述至少一个远程设备媒体特性的选项以及用于显示至少一个由所述转换产生的媒体性能标记的用户界面。
21.根据权利要求19的工具,其中在所述转换之后,所述至少一个媒体性能标记根据信息串格式来编码。
22.一种为了从主机设备提供远程媒体内容给远程设备的用于定义远程设备媒体性能的可扩展数据结构,包括至少一个标记,其中每个标记定义一个用于远程媒体内容的远程设备的媒体性能。
23.一种包括具有计算机可执行指令的计算机可执行模块的计算机可读媒介,该指令用于在主机设备和远程设备之间实现常规远程计算媒体内容,包括用于根据远程会话协议来例示具有主机设备的远程会话的装置;用于自动传输至少一个基于远程设备媒体性能的媒体性能标记到主机设备的装置;以及用于响应于所述传输,在远程设备接收对远程设备来说是简明的常规远程媒体的装置。
24.根据权利要求23的计算机可读介质,进一步包括用于响应于所述连接来自动产生所述至少一个基于远程设备媒体性能的媒体性能标记的装置。
25.根据权利要求23的计算机可读介质,其中所述远程会话是终端服务器会话,并且所述远程协议是远程桌面协议。
26.根据权利要求23的计算机可读介质,进一步包括用于从所述远程会话断开所述远程设备的装置,一旦重新连接所述远程会话,在重新连接的时刻用于重新产生所述至少一个基于远程设备媒体性能的媒体性能标记的装置。
27.根据权利要求23的计算机可读介质,其中至少一个媒体性能标记是一个信息串。
28.根据权利要求23的计算机可读介质,其中所述用于初始化远程会话的装置包括用于在具有遥控性能的主机设备的对象处理程序和远程设备之间建立远程会话的装置。
29.一种用于在主机设备和远程设备之间实现常规远程计算媒体内容的计算机可读介质,包括用于初始化主机设备的远程桌面协议会话的装置;用于打开虚信道的装置;用于监视用于远程设备的虚信道以建立连接的装置;用于一旦远程设备连接,通过虚信道接收至少一个用于远程设备的媒体性能标记的装置;以及用于根据所述至少一个媒体性能标记传输常规媒内容用户界面到远程设备的装置。
30.根据权利要求29的计算机可读媒介,其中如果在一个超时周期内没有接收到有效的至少一个媒体性能标记,就假定一组通用设备性能,并且所述用于传输的装置包括用于传输一个通用媒体内容用户界面到远程设备的装置。
31.根据权利要求29的计算机可读媒介,其中所述用于监视的装置包括用于直到超时周期完成都一直监视虚信道的装置。
32.根据权利要求29的计算机可读媒介,其中所述连接包括到具有遥控性能的主机设备的对象处理程序的连接。
33.根据权利要求29的计算机可读媒介,其中所述远程桌面协议会话是一个终端服务器会话。
全文摘要
提供了用于在联网计算环境中提供媒体设备性能确定机制的系统和方法。一些现今的操作系统和应用传递一组远程特征以实现远程媒体消耗设备的联网生态系统。这些设备连接到主机并且通过遥控协议和技术来显示远程媒体内容。在这方面,本发明的设备性能确定机构使得一个远程设备能够指定一组常规的应该从主机远程传送到远程设备的媒体性能。
文档编号G06F15/16GK1604531SQ20041006848
公开日2005年4月6日 申请日期2004年7月23日 优先权日2003年9月30日
发明者C·H·舒梅克, C·-C·腾, H·C·维多斯, J·C·吉布森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1