CN101330525B - System and method for remotely determining the configuration of a multi-media content user - Google Patents

System and method for remotely determining the configuration of a multi-media content user Download PDF

Info

Publication number
CN101330525B
CN101330525B CN 200810136089 CN200810136089A CN101330525B CN 101330525 B CN101330525 B CN 101330525B CN 200810136089 CN200810136089 CN 200810136089 CN 200810136089 A CN200810136089 A CN 200810136089A CN 101330525 B CN101330525 B CN 101330525B
Authority
CN
China
Prior art keywords
information
user
modified
header
computer
Prior art date
Application number
CN 200810136089
Other languages
Chinese (zh)
Other versions
CN101330525A (en
Inventor
乔迪·夏普罗
Original Assignee
索尼株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US51601703P priority Critical
Priority to US60/516,017 priority
Priority to US10/700,409 priority
Priority to US10/700,409 priority patent/US7356575B1/en
Application filed by 索尼株式会社 filed Critical 索尼株式会社
Priority to CN200480032285.12004.10.29 priority
Priority to CN200480032285.1 priority
Publication of CN101330525A publication Critical patent/CN101330525A/en
Application granted granted Critical
Publication of CN101330525B publication Critical patent/CN101330525B/en

Links

Abstract

A method for remotely determining the configuration of a computer of a multimedia content user includes sending player detection code to the user's computer and receiving configuration information regarding the user's computer. A method of determining a connection speed of a computer includes determining a size of a timing block based on an estimated bandwidth and retrieving the timing block. Theconnection speed is determined based on the timing block size and the times at which transfer begins and ends.

Description

远程确定多媒体内容用户的配置的系统和方法 Remote configuration system and method of determining the multimedia content to the user

[0001] 本发明专利申请是国际申请日为2004年10月四日、申请号为200480032^5. 1、 发明名称为“远程确定多媒体内容用户的配置的系统、方法和计算机程序产品”的发明专利申请的分案申请。 [0001] The present invention patent application is the international filing date of October 4, 2004, application number 200 480 032 ^ 5.1, entitled "Remote configuration of multimedia content to determine the user's system, method and computer program product" of invention divisional patent filed.

技术领域 FIELD

[0002] 此处描述的发明涉及信息系统,并且尤其涉及多媒体内容客户端配置信息的检测。 [0002] The invention described herein relates to information systems, and more particularly to detecting the multimedia content client configuration information.

背景技术 Background technique

[0003] 在假定数据网络的可用性和高速数据连接的可用性的情况下,现在让终端用户访问多媒体内容是很普通的。 [0003] In assuming the availability of data networks and the availability of high-speed data connection, let end-users access to multimedia content is common. 许多网络站点现在向用户提供音频与视频。 Many web sites now offer audio and video to users. 理论上,用户简单地点击在网页上给出的链接或者控制,就递送一个或多个多媒体文件。 In theory, users simply click on a link or control on a given page, it delivers one or more multimedia files. 如果用户具有适当的硬件和软件配置,则然后可以播放该文件。 If the user has the appropriate hardware and software configuration, you can then play the file.

[0004] 然而,当前有显著多样的用户配置。 [0004] However, there is currently a significant variety of user configuration. 一些用户具有基于INTEL(英特尔)的个人计算机(PC),而其它用户可能具有APPLE (苹果)MACINT0SH计算机。 Some users have based on INTEL (Intel) personal computer (PC), while other users may have APPLE (Apple) MACINT0SH computer. 还存在不同的操作系统。 There is also a different operating system. 一些用户将具有来自MICROSOFT (微软)公司的MICROSOFT WINDOWS (微软视窗)版本,而其它用户具有来自APPLE (苹果)公司的MAC OS版本。 Some users will have the MICROSOFT WINDOWS (Microsoft Windows) version from MICROSOFT (Microsoft) company, while other users have the MAC OS version from APPLE (Apple) company. 此外,这些操作系统中的每一个现在在用户团体中都具有几个版本。 In addition, these operating systems each user community now has several versions. 此外,现在存在许多软件程序可用于在用户计算机上播放多媒体。 In addition, there are many software programs now available for playing multimedia on the user's computer. 这些播放器包括QUICKTIME (来自苹果公司)、REALPLAYER (来自REALNEI WORKS 公司)、以及WINDOWS MEDIAPLAYFR(来自微软公司)。 These players include QUICKTIME (from Apple), REALPLAYER (from REALNEI WORKS company), as well as WINDOWS MEDIAPLAYFR (from Microsoft). 此外,这些播放器中的每一个都有几个现在在用户团体中使用的版本。 In addition, each player has several of these are now used in the user community version. 最后,不同的用户可能以不同的数据速率进行操作。 Finally, different users may operate at different data rates. 一些用户可能具有高速宽带连接,而其它用户可能具有56K调制解调器连接。 Some users may have a high-speed broadband connection, while other users may have a 56K modem connection.

[0005] 在假定平台、操作系统、播放器、和数据速率具有这样的多样性的情况下,内容供应商受困于如何格式化要递送的内容的问题。 [0005] In the case of assuming that platform, operating system, player, data rates and with such diversity of content providers struggling with how to format the content to be delivered problems. 不正确的格式化将导致与用户配置不兼容的内容的递送。 Incorrectly formatted will result in the user profile is not compatible content delivery. 这导致不可用的内容。 This causes the contents unusable. 如果内容是可用的,则内容可能处于未能充分利用在用户配置中可用的全部特征的格式中,从而使得用户体验的内容并没有像它所能具有的那样的丰富。 If the content is available, the content may be in failure to utilize the full features available in the user configuration format, so that the contents of the user experience is not as rich as it could have.

[0006] 在过去,内容供应商已经通过选择一些通用的用户配置集合来解决了这个问题。 [0006] In the past, content providers have been selected by some common set of user profiles to solve this problem. 例如,供应商可以识别最通用的媒体播放器及其版本。 For example, suppliers can identify the most versatile media player and its version. 供应商为这些播放器中的每一个格式化内容,并且存储内容的这些相配套的版本。 Supplier for these players, each formatted content, and these matched the version stored content. 供应商然后会开发要提供给用户的备忘录, 其实际上询问用户具有哪个媒体播放器,或者如果用户具有一个以上的媒体播放器,则询问哪个播放器是用户优选的。 Suppliers will then develop a memorandum to be provided to the user, it actually asks the user which has a media player, or if the user has more than one media player, then asked which player is preferred by the user. 用户然后进行选择,并且将已经以选定格式预编码的内容递送给用户。 The user may then select, and the format has been selected in the content delivered to the user precoding.

[0007] 这种解决方案具有局限性。 [0007] This solution has limitations. 首先,它是相对不灵活的。 First, it is relatively inflexible. 选项的数目是有限的。 The number of options is limited. 用户的特定配置可能被未必给出作为菜单中的选项。 User-specific configuration possible menu options are not necessarily given as. 而且如果终端用户具有一个以上的他可用的媒体播放器,则用户优选的选择未必已经作为选项而列出。 And if more than one end user has available to him the media player, the user may not have been the preferred choice as an option listed. 此外,上述解决方案每次都要求用户输入。 Further, the solution requires the user to enter each time. 用户可能不想被询问。 Users may not want to be asked. 用户反而可能更喜欢为他解决了格式化问题。 Instead, users may prefer for him to solve formatting problems. 在其它情况下,用户可能不知道菜单所请求的信息。 In other cases, the user may not know the information requested the menu. 用户可能不知道他具有什么版本的媒体播放器。 Users may not know he has what version of the media player. 这种解决方案还要求内容供应商改变他们的菜单,以及每当新的播放器(或者现有播放器的新版本)变得流行时重新编码内容。 This solution also requires content providers to change their menus, as well as re-encoded content whenever a new player (or new versions of existing players) have become popular. 因此,上述解决方案是不灵活的,而且对于用户和供应商来说都是难以承担的。 Thus, the above solution is not flexible, but also for users and suppliers are hard to bear.

[0008] 因此,需要一种用于确定用户的配置以便向用户提供导致最佳视觉体验的、以兼容格式的内容的方法。 [0008] Accordingly, a need exists for determining the user's profile in order to provide the best visual experience leads to a compatible format of the content to the user process. 此外,配置的确定应当以使对用户输入的需要最小化的方式或者以用户友好的方式进行。 Further, it should determine the configuration manner to minimize the need for user input or by a user-friendly way to make. 此外,确定用户连接速度的有效方法也是所期望的。 Moreover, determining an effective method of connection speeds are also desirable.

发明内容 SUMMARY

[0009] 提供了一种用于远程确定多媒体内容用户的计算机配置的方法。 [0009] provided a method for remotely determining the multimedia content of the user computer configuration. 该方法包括发送播放器检测代码到用户的计算机。 The method includes sending player detection code to the user's computer. 接收有关用户计算机的配置信息,其中该配置信息包括有关OS版本、网络浏览器版本、硬件平台、用户接口语言类型、编码格式、或者压缩算法的信息或者这些信息的组合。 Receiving configuration information related to the user's computer, wherein the configuration information includes information about OS version, web browser version, hardware platform, a user interface language type, coding format, or the algorithm combination information or the information compression. 该方法可以包括在接收之前执行在用户的计算机处设置到递送管理服务器域的cookie,而且其中以cookie的形式接收配置信息。 The method may include performing a delivery management server cookie provided to the domain of the user's computer before the reception, and wherein in the form of a cookie receive configuration information.

[0010] 还提供了一种用于远程确定多媒体内容用户的计算机配置的方法,其包括:将播放器检测代码发送到用户的计算机,接收有关用户计算机的配置信息,以及发送修改的信息头指令。 [0010] Also provided is a method for remotely determining the multimedia content of the user computer configuration, comprising: sending player detection code to the user's computer, receiving configuration information regarding the user's computer, and transmitting the modified information header instruction .

[0011] 该方法还可以包括发送唯一的客户端ID。 [0011] The method may further comprise transmitting a unique Client ID. 可以在发送信息之后接收指令,而且该修改的信息可以包括一些未包括在所发送信息中的信息,和/或该修改的信息可以排除一些包括在所发送信息中的信息。 Information may be received after transmitting the instruction information, and the modification may include some number of information included in the transmitted information is not information included in the transmitted information, and / or information that may be modified to exclude. 还可以在接收之前发送修改的信息头指令,而且可以根据该修改的信息头指令准备要接收的配置信息。 Modified information may also be sent prior to receiving the first command, and can be prepared according to the received configuration information to the modified information header instruction.

[0012] 所接收的配置信息可以包括一个或多个诸如硬件适配信息(adaptation)和/或用户接口版本适配信息之类的适配信息。 [0012] The received configuration information may include one or more adaptation information such as hardware adaptation information (Adaptation) and / or the user interface version adaptation information and the like. 可以根据该适配信息准备修改的头信息指令。 You may be prepared according to the modified adaptation information header instruction.

[0013] 还提供了一种用于远程地确定多媒体内容用户的计算机配置的方法,其包括:在用户的计算机处接收来自第二计算机的播放器检测代码,向第二计算机发送有关用户计算机的配置信息,以及接收修改的信息头指令。 [0013] further provided a method for remotely determining the multimedia content of the user computer configuration, comprising: receiving player detection code from a second computer at the user's computer, the computer transmits information about the user of the second computer configuration information, and receiving the modified information header instruction.

[0014] 可以接收唯一的客户端ID。 [0014] may receive a unique Client ID. 客户端ID指针地址可以附加到配置信息上以便发送给第二计算机。 Client ID may be attached to the pointer address to be sent to the second computer configuration information. 可以基于所接收的头指令准备修改的头信息。 It may be based on the received header instruction preparing modified header information. 可以将具有附加的客户端ID 的修改的头信息发送给第二计算机。 Additional client ID having a modified header information may be sent to the second computer. 可以在发送修改的头信息之前接收进一步的配置信息请求。 May receive further configuration information request prior to sending the modified header information. 可以在发送配置信息之后接收指令。 May receive instructions after transmitting the configuration information. 该修改的信息可以包括一些未包括在所发送信息中的信息,和/或可以排除一些包括在所发送信息中的信息。 The modified information may include some information not included in the transmitted information, and includes some of the information / or may be excluded from the transmitted information. 还可以在发送配置信息之前接收指令。 You may also receive instructions prior to sending the configuration information. 可以根据修改的信息头指令准备要发送的配置信息。 To transmit the configuration information may be prepared in accordance with the modified information header instruction. 该配置信息可以包括一个或多个诸如硬件适配信息和/或用户接口版本适配信息之类的适配信息,而且可以根据该适配信息准备修改的头信息指令。 The configuration information may include one or more hardware adaptation information and / or adaptation information, such as user interface version adaptation information and the like, and may be prepared in accordance with the modified header information instruction the adaptation information.

[0015] 还提供了一种用于确定计算机的连接速度的方法,该方法包括:基于估计的带宽确定计时块的大小,标记计时块传输开始时的时间,标记计时块传输结束时的时间,以及基于所确定的计时块大小以及传输开始和结束时的时间确定连接速度。 [0015] further provided a method of determining the connection speed of the computer used, the method comprising: determining the bandwidth estimation based on the size of the timing block, time tag of the block transmission start time, transmission end time of the time-indicating block tag, and based on the determined timing block size and a transmission start time and the end determination connection speed.

[0016] 还提供了一种用于确定计算机的连接速度的方法,该方法包括:接收具有已知大小的数据计时块,接收要开始计时块传输时的启动时间,在该启动时间上开始计时块传输, 标记计时块传输结束时的时间,以及基于计时块大小以及传输开始和结束时的时间确定连 [0016] further provided a method for determining connection speed for a computer, the method comprising: receiving a timing block of data having a known size, the reception start time to begin the timing block transfer start timing on the start-up time block transfer, the time when the timing block transfer end flag, and the timing is determined based on the block size, and even the transmission start time and the end

接速度。 Connection speed.

[0017] 在每种情况下,可以通过下述操作来确定计时块大小:取出估计的带宽信息,确定检取数据以便用足够的分辨率来确定连接速度的估计时间;以及确定将花费所确定的估计时间来进行检取的计时块大小。 [0017] In each case, the following procedure may be determined by the timing block size: remove the estimated bandwidth information, retrieved data in order to determine an estimated time of connection speed with adequate resolution; and determining the determined cost the estimated time for counting the block size seized. 可以以作为首选项页面一部分的标记语言注释的形式接收计时块。 Timing can be received in the form of a block as a preference page markup language part of the comment. 该方法还可以包括在cookie中存储连接速度。 The method may further include storing the connection speed in a cookie. 该方法可以包括将cookie发送到递送管理服务器。 The method may include sending the cookie to the delivery management server. 计时块可以包含随机数据。 Timing block may comprise random data.

[0018] 根据本发明的进一步方面,提供了一种用于远程地确定多媒体内容用户的计算机配置的方法。 [0018] According to a further aspect of the present invention, there is provided a computer-implemented method for remotely determining the configuration of a multimedia content user. 这种方法包括:发送播放器检测代码到用户的计算机,接收有关用户计算机的配置信息,以及基于所接收的配置信息确定在用户计算机上的数字权利管理信息的类型。 This method comprises: sending player detection code to the user's computer, receiving configuration information regarding the user's computer, and based on the received configuration information to determine the type of digital rights management information on the user's computer.

[0019] 还提供了一个或者多个处理器可读存储设备,其上包含有处理器可读代码。 [0019] further provided one or more processor readable storage devices, which contains processor readable code. 该处理器可读代码用于对一个或多个处理器进行编码,以便根据任何一种上述方法执行用于确定多媒体内容用户的计算机配置的方法和/或用于确定计算机的连接速度的方法。 The processor readable code for encoding the one or more processors to perform a method method for determining the multimedia content of the user's computer configuration and / or for determining a connection speed of the computer according to any one of the methods described above.

附图说明 BRIEF DESCRIPTION

[0020] 此处并入并且成为该说明书一部分的附图说明了本发明,并且连同该描述一起, 进一步用来说明本发明的原理以及允许相关领域的技术人员构造和使用该发明。 [0020] The accompanying drawings incorporated herein and becomes a part of this specification, illustrate the present invention, and together with the description, further serve to explain the principles of the invention and allows skilled in the relevant art structure and use the invention.

[0021] 在附图中: [0021] In the drawings:

[0022] 图1说明了本发明实施例的一般体系结构。 [0022] FIG. 1 illustrates the general architecture of an embodiment of the present invention.

[0023] 图2是说明本发明实施例的计算环境的框图。 [0023] FIG. 2 is a block diagram illustrating a computing environment according to the embodiment of the present invention.

[0024] 图3A是说明本发明实施例的总体处理过程的流程图。 [0024] FIG 3A is a flowchart illustrating the overall process procedure of the embodiment according to the present invention.

[0025] 图;3B是说明根据一个实施例、包括接收递送管理器HTTP请求在内的服务器端请求处理的流程图。 [0025] FIG.; 3B illustrates one embodiment of a flowchart of a delivery manager receives the HTTP request including the server-side request processing comprises.

[0026] 图3C是说明根据实施例、包括接收检测URL HTTP请求在内的服务器端请求处理的流程图。 [0026] FIG 3C is a flowchart of an embodiment, detecting includes receiving a request including the URL HTTP server-side request processing.

[0027] 图3D是说明根据本发明实施例的进一步请求处理的流程图。 [0027] FIG 3D is a flowchart illustrating the processing of a request in accordance with a further embodiment of the present invention.

[0028] 图4A是说明根据本发明的实施例的媒体播放器检测处理的流程图。 [0028] FIG. 4A is a flowchart illustrating a process of detecting a media player according to an embodiment of the present invention.

[0029] 图4B是说明根据本发明的示例实施例的客户端视窗媒体播放器(WMP)检测的流程图。 [0029] FIG. 4B is a flowchart of a client Windows media player according to an example embodiment of the present invention (WMP) detection described.

[0030] 图4C是说明根据本发明的另一示例性实施例的客户端RealPlayer (Real)检测的流程图。 [0030] FIG 4C is a flowchart illustrating RealPlayer (Real) detection in accordance with another exemplary embodiment of the client of the present invention ends.

[0031] 图4D是说明根据本发明的示例性实施例的客户端QuickTime (QT)检测的流程图。 [0031] FIG. 4D is a flowchart illustrating client QuickTime exemplary embodiment of the present invention is detected (QT).

[0032] 图5A是说明根据本发明的实施例、向用户给出首选项(preferences)页面的处理的流程图。 [0032] FIG 5A is a diagram illustrating an embodiment according to the present invention, a flowchart of processing to the user preferences (Preferences) given page.

[0033] 图5B是一般地说明根据本发明的实施例的带宽检测方法的流程图。 [0033] FIG 5B is a flowchart of the bandwidth of the detection method of an embodiment of the present invention is generally described.

[0034] 图6A-6C是描述根据本发明的实施例、用于访问媒体内容的例程的流程图。 [0034] Figures 6A-6C is a description of embodiments of the present invention, a flowchart of a routine for access to the media content.

[0035] 图7描述了根据本发明的实施例、可以使用的示例性代码转换器。 [0035] FIG 7 depicts an embodiment of the present invention, the exemplary transcoder may be used.

[0036] 图8是示出根据本发明的实施例、用于各种发布变量的示例性代码转换源类型和目标类型的表格。 [0036] FIG. 8 is a diagram illustrating an embodiment according to the present invention, the exemplary transcoding form the source and target types for all kinds of publishing variables.

[0037] 图9是示出根据本发明实施例的示例性客户端环境变量类型的表格。 [0037] FIG. 9 is a diagram illustrating an exemplary environment variable types of clients according to embodiments of the present invention form.

[0038] 现在,将参考附图描述本发明的优选实施例。 [0038] Now, with reference to the accompanying drawings a preferred embodiment of the present invention. 在附图中,类似的参考数字指示相同或者功能上相似的单元。 In the drawings, like reference numbers indicate identical or functionally similar elements.

[0039] 引入的参考文献 [0039] incorporated by reference

[0040] 下面是参考文献的引用列表,其中的每个参考文献除了是被描述为本发明的背景技术、摘要和发明内容、由此还通过引用并入到以下优选实施例的详细说明中的文献外,还公开了在下面没有详细阐述的、优选实施例中的单元或者特征的替换实施例。 [0040] The following is a list of literature references, each of which is described in detail by reference except that the present invention is described in the background art, abstract and summary, thus also incorporated into the following preferred embodiment by reference in Document outside, without further disclosed in detail in the following, alternative embodiments of elements or features in preferred embodiments of the embodiment. 可以查阅这些参考文献中的一个文献或者两个或多个文献的组合,以获得在此处的详细说明中描述的优选实施例的变体。 You may consult a document in these references or a combination of two or more documents to obtain preferably in the detailed description herein described embodiment variants. 这些参考文献为: These references are:

[0041] 1968年7月授权的美国专利3,394,352 ;1976年2月授权的美国专利3,937,881 ; 1997年8月授权的美国专利5,657,015 ;2003年7月15日授权的美国专利6,593, 860 ;2002 年6月授权的美国专利6,407,680 ;2002年10月15日授权的美国专利6,466,939 ;1999年7月27日授权的美国专利5,928,330;2001年11月13日授权的美国专利6,317,134 ;以及2000年5月30日授权的美国专利6,070,002 ;以及 [0041] US patent in July 1968 authorized 3,394,352; US Patent February 1976 authorized 3,937,881; US ​​Patent in August 1997, authorized 5,657,015; July 15, 2003 Japan issued US patent 6,593, 860; US patent in June 2002 authorized 6,407,680; US Patent October 15, 2002 authorized 6,466,939; 1999 July 27 issued US patents 5,928,330; 2001 November 13 issued US patents 6,317,134; and May 30, 2000 issued US patents 6,070,002; and

[0042] 2003年8月21日公开的美国公开申请2003/0158913,2003年5月15日公开的美国公开申请2003/0093507,2002年7月25日公开的美国公开申请2002/0099858,2002年7月25日公开的美国公开申请2002/0099770,以及2002年7月11日公开的美国公开申请2002/0091800 ;以及 [0042] 2003 August 21 published US Published Application 2003/0158913, 2003 May 15 US Publication Application 2003/0093507, 2002 July 25 published US Published Application 2002 / 0,099,858, 2002 July 25 published US Published application 2002/0099770, and July 11, 2002 published US Published application 2002/0091800; and

[0043] 2003年8月20日提交的美国专利申请10/644,602 ;及 [0043] US patent August 20, 2003, filed 10 / 644,602; and

[0044] Chapman、Nigel 等人所著的“Digital Multimedia,,(John Wiley& Sons Ltd., Copyright 2000);以及 [0044] Chapman, Nigel et al., "Digital Multimedia ,, (John Wiley & Sons Ltd., Copyright 2000); and

[0045] Murray>James D. •入)^¾白勺“Encyclopedia of Graphi cs FileFormats :Second Edition” (0' Reilly & Associates, Inc.,Copyrightl994,1996)。 [0045] Murray> James D. • into) ^ ¾ white spoon "Encyclopedia of Graphi cs FileFormats: Second Edition" (0 'Reilly & Associates, Inc., Copyrightl994,1996).

[0046] 具体实施方式优选实施例的概述 SUMMARY embodiment [0046] DETAILED DESCRIPTION Preferred embodiment

[0047] 公开了一种用于确定终端用户的计算机系统的配置的系统、方法和计算机程序产品。 [0047] discloses a system for determining end-user configuration for a computer system, method and computer program product. 特别是,确定用户的媒体播放器和网络连接速度。 In particular, to determine the user's media player and network connection speed. 然后由第二计算机、优选为递送管理服务器接收这个配置信息。 Then by the second computer, preferably to the delivery management server receives this configuration information. 配置信息用于格式化用于递送给用户的多媒体内容。 Configuration information is used to format the multimedia content for delivery to users. 因为内容根据配置信息进行格式化,所以该内容与用户的配置兼容。 Because the content is formatted according to the configuration information, the configuration is compatible with the user content. 配置确定处理涉及放置在内容供应商的网页中的服务器联络代码。 Determination process involving contact configuration server code in the content provider's Web page. 当用户加载该网页时,服务器联络代码引导浏览器从递送管理服务器检取代码。 When the user loads the page, the server contacted directs the browser from the delivery management server seizure code. 当该代码由用户执行时,确定用户的媒体播放器。 When the code is executed by a user, it determines the user's media player. 这个信息保存在用户处的cookie中,并且发送给递送管理服务器。 This information is stored in a cookie at the user, and transmitted to the delivery management server. 如果配置信息是不确定的或者不完全的,则向用户给出用户可以在其中指示配置的首选项(preferences)页面。 If the configuration information is uncertain or incomplete, it is given preference where the user can indicate configuration (preferences) page to the user. 首选项页面还包含用于确定用户的连接速度的机制。 Preferences page also contains a mechanism for determining the user's connection speed. 该首选项页面还可以向用户进行特定推荐,例如推荐用户选择特定的媒体播放器。 This preference page can also be a specific recommendation to the user, for example, recommend the user to select a particular media player. 首选项页面包含具有已知大小的数据块。 Preferences page contains data blocks with the known size. 测量传输该块所需要的时间,然后计算连接速度并且将其提供给递送管理服务器。 Measuring a transmission time required for the block, and then calculates the connection speed and supplies it to the delivery management server.

[0048] 根据一个优选实施例,配置确定处理涉及放置在内容供应商的网页中的服务器联络代码。 [0048] According to a preferred embodiment, the configuration determination process involves server contact code is placed in the content provider's web page. 当由用户加载该网页时,服务器联络代码引导浏览器从递送管理服务器检取脚本。 When the page is loaded by the user, the server contacted directs the browser from the delivery management server seized script. 当由用户执行该脚本时,确定用户的媒体播放器。 When the script is executed by the user to determine the user's media player. 这个信息保存在用户处的cookie中,并且发送给递送管理服务器。 This information is stored in a cookie at the user, and transmitted to the delivery management server. 该配置信息然后可以由代码转换器使用,该代码转换器根据配置信息格式化媒体内容。 The configuration information may then be used by the transcoder, the transcoder media content formatted according to configuration information.

[0049] 如果配置信息是不确定的或者不完全的,则向用户给出用户可以在其中指示配置的首选项页面。 [0049] If the configuration information is uncertain or incomplete, is given preference page where the user can configure an indication to the user. 通过首选项页面确定的这个配置也存储在cookie中,并且发送给递送管理服务器以允许内容的格式化。 Determined by the preferences page for this configuration is stored in a cookie, delivery format and sent to the management server to allow content. 该首选项页面还可以向用户进行特定的推荐,例如推荐用户选择特定的媒体播放器。 This preference page can also make specific recommendations to the user, for example, recommend the user to select a particular media player.

[0050] 优选实施例的描述 [0050] Description of preferred embodiments

[0051] 此处描述的优选实施例涉及允许远程确定用户的计算机系统配置的系统、方法、 和计算机程序产品。 Example relates to [0051] preferred embodiments described herein allow the system to determine the user's remote computer system configurations, methods, and computer program products. 这允许对发往该计算机的多媒体内容以与用户的配置兼容的方式进行格式化。 This allows the computer to send multimedia content to be compatible with a user configured manner format. 如果获得了足够的配置信息,则可以格式化该内容以便为用户提供最佳可能的媒体体验。 If you get enough of configuration information, you can format the content in order to provide the best possible media experience for the user.

[0052] 要注意到,在后续的描述中,广泛地定义了用户计算机的概念以包括可编程或者已编程设备的完全范围。 [0052] It is noted, in the subsequent description, the concept of user broadly defined to include the full scope of a computer or programmed programmable devices. 用户计算机可以是但不局限于:个人计算机或者其它工作站、膝上型、掌上型、个人数据助理、或者蜂窝电话。 User computer may be but not limited to: a personal computer or other workstation, laptop, palmtop, personal data assistants, or cellular telephone.

[0053] 根据一个优选实施例,服务器联络代码包含在由内容供应商发送给用户的网页中。 [0053] According to a preferred embodiment, the server contact code is contained in the page transmitted by the content provider to the user. 服务器联络代码从递送管理服务器检取一个或多个脚本。 Contact the code server seize one or more scripts from the delivery management server. 该脚本使得能够确定用户的计算机系统的配置信息。 The script can be determined so that the configuration information of the user's computer system. 在本发明的一个实施例中,配置信息包含用户的媒体播放器(一个或多个)的身份(identity)和版本。 In one embodiment of the present invention, the configuration information includes a media player user (s) identity (Identity) and version. 该配置信息然后被返回到递送管理服务器。 The configuration information is then returned to the delivery management server. 该配置信息然后可以用于适当地格式化多媒体内容。 The configuration information may then be used to properly format the multimedia content. 在本发明的一个实施例中,还可以以cookie 的形式将配置信息本地地存储在用户的计算机处。 In one embodiment of the present invention may also be in the form of a cookie configuration information stored locally at the computer user. 在随后的超文本传输协议(HTTP)请求中,可以将cookie发送到递送管理服务器以作为传送配置信息的一种方式。 In the subsequent Hypertext Transfer Protocol (HTTP) request, cookie may be sent to the delivery management server as a way to transfer configuration information.

[0054] 如果配置信息被确定为是不完全或者可能过时的,则打开另外的网页。 [0054] If the configuration information is determined to be incomplete or may be out of date, then the additional page opens. 这是一个首选项页面,在其中用户可以向递送管理服务器指定他的配置(例如,他的可用或者优选的媒体播放器类型和版本,和/或优选的连接速度)。 This is a preferences page in which the user can specify his configuration (e.g., preferably usable or his media player type and version, and / or preferred connection speed) to the delivery management server. 首选项页面还可以用于推荐用户选择特定的媒体播放器。 Preferences page can also be used to recommend the user to select a particular media player.

[0055] 根据一个优选实施例,首选项页面包括已知大小的数据块。 [0055] According to a preferred embodiment, the preferences page includes a data block of known size. 这个块作为首选项页面的一部分而被传输到用户的计算机。 This block is transferred to the user's computer as part of the Preferences page. 测量传输这个数据块所需要的时间,以便确定用户计算机的连接速度。 Measuring the transmission time of this data block is required to determine the connection speed of the user's computer. 连接速度表示另外一部分配置信息。 Connection speed shows another part of the configuration information. 连接速度也以cookie的形式本地存储在用户的计算机处。 Connection speed in a cookie stored at the computer as a local user. 还可以将这个cookie发送到递送管理服务器,以作为将用户的连接速率传送到递送管理服务器的方法。 The cookie also can be sent to the delivery management server as a way to transmit the user is connected to the delivery rate of the management server.

[0056] 优选实施例中的系统基本上支持检测两个事物:服务器到客户端的连接速度(带宽),以及安装在客户端上的媒体播放器(包括播放器版本)。 [0056] The system of the preferred embodiment of the detection basically supports two things: the server is connected to the speed (bandwidth), and installed on the client media player (including the player version) client. 关于连接速度检测,仅仅期望服务器到客户端的估计,这是因为媒体流将由服务器发送到客户端。 Connection speed detection on only a desired server to the client is estimated, because the media stream sent by the server to the client. 一些媒体播放器控制信道数据将从客户端发回到服务器,但是该数据量远远小于发自服务器的实际媒体数据。 Some media player control channel data sent from the client back to the server, but far less than the amount of data sent from the server's actual media data.

[0057] 当检测媒体播放器时,理想的是能够检测所有以下信息:所安装的媒体播放器(例如,QuickTime, Windows Media Player, RealPlayer 等),所安装的媒体播放器的版本(例如,QuickTime 5. 0. 2,WindowsMedia Player 6. 4,RealPlayer 8. 0),以及安装在每个媒体播放器中的各个音频与视频编解码器(用于QuickTime的Sorenson v3, Windows Media Video V8,用于RealPlayer 的Sony ATRAC 等)。 [0057] Upon detection of a media player, it is desirable to be able to detect all of the following information: the installed media player (for example, QuickTime, Windows Media Player, RealPlayer, etc.), the version of the media player installed (for example, QuickTime 5. 0. 2, WindowsMedia player 6. 4, RealPlayer 8. 0), and each audio and video codec installed in each of the media player (for the QuickTime Sorenson v3, Windows media video V8, for RealPlayer for Sony ATRAC, etc.). [0058] 对于通用媒体的应用,知道客户端环境的细节也是有用的。 [0058] For the application of the general media, know the details of the client environment is also useful. 有用的信息包括操作系统版本、网络浏览器版本、硬件平台、和优选的用户接口语言。 Useful information includes operating system version, web browser version, hardware platform, and preferred user interface language. 其中某些信息是容易获得的(通常作为由客户端发送到服务器的HTTP头的一部分),而其它信息是更难以获得或者想要获得是费时的,并且最好定期进行(不是为每个请求进行)。 Some of this information is readily available (as generally sent by the client to the server HTTP header part), while other information is more difficult to obtain or want to obtain is time consuming, and preferably regularly (for each request is not get on). 在这些情况下,在存储在客户端的网络浏览器中的cookie中保存检测到的信息(以及任何用户首选项),是所期望的。 In these cases, save the detected information (and any user preferences) in the cookie stored in the client's web browser, the is desired. 当向通用媒体服务器提出请求时,网络浏览器将自动地将附属的cookie数据发送到该服务器。 When a request to the media server general, the web browser will automatically sent to the attached server cookie data.

[0059] 检测系统 [0059] Detection system

[0060] 根据一个优选实施例的整体体系结构包括嵌入在内容供应商的网页中的服务器联络代码。 [0060] The overall architecture of a preferred embodiment includes an embedded code contacts the server of the content provider web page. 服务器联络代码将用户的浏览器导向递送管理服务器,该服务器发送一个或多个脚本给用户。 Contact the server code is the user's browser to the delivery management server, which sends one or more scripts to the user. 脚本的执行可以识别用户的媒体播放器的类型和版本。 Execution of the script can identify media player type and version of the user. 这个递送管理服务器从用户接收这个信息。 The delivery management server receives this information from the user. 该配置信息可以最终用于格式化用于递送给用户的多媒体内容。 The configuration information may ultimately be used to format the user to a multimedia content for delivery.

[0061] 图1中说明了本发明中的系统的一个实施例。 In [0061] FIG 1 illustrates a system in one embodiment of the present invention. 内容供应商105被示为向用户110 递送信息。 Content provider 105 is shown to deliver information to a user 110. 网页115中包括服务器联络代码120。 Page 115 comprises a server code 120 contacts. 当用户110的浏览器访问服务器联络代码120时,该浏览器与递送管理服务器125建立联系,并且请求一个或者多个播放器检测脚本140。 When the browser accesses the server 110 contacts the user code 120, the browser and the delivery management server 125 to establish contact, and requests the one or more detection script player 140. 服务器125通过将脚本140发送到用户110而做出响应。 125 sent by the script server 140 to the user 110 responds. 以下面将要更详细描述的方式,当被执行时,脚本140确定用户110的配置信息135。 In the manner to be described in greater detail below, when executed, the script 140 determines the configuration information 135 of the user 110. 在本发明的一个实施例中,通过设置包含配置信息135的cookie的处理,将这个配置信息与用户110 —起存储。 In one embodiment of the present invention, by providing the configuration information comprising a cookie process 135, this configuration information with the user 110-- from storage. cookie由用户110保持,并且当用户110提出HTTP请求130以访问内容时,将配置信息135以cookie 的形式发送到递送管理服务器125。 cookie 110 held by the user, and when the user 110 to make an HTTP request to access content 130, configuration information 135 transmitted to the delivery management server 125 in the form of a cookie. 代码转换器(未示出)以由配置信息135指定的方式格式化多媒体内容。 Transcoder (not shown) to the configuration information 135 designated by the mode formatted multimedia content. 所产生的格式化后的内容然后可以通过流式(streaming)服务器(未示出)递送到用户110。 Formatted content may then be generated (not shown) via the server streaming (Streaming) delivered to the user 110.

[0062] 如果配置信息135不可用的(或者需要澄清),则作为脚本140之一提供给用户110的另外的脚本打开一个加载首选项网页150的新窗口。 In addition script [0062] If the configuration information 135 is unavailable (or need clarification), is provided to the user as one script 110 140 150 to open a new web page preferences window loads. 利用这个页面,用户110可以通过在首选项页面150中的用户接口明确地标识配置信息135(例如,播放器类型和版本)。 With this page, the user 110 may explicitly identify the configuration information 135 (for example, the player type and version) through a user interface in the Preferences page 150. 如以前一样,配置信息135可以以cookie的形式保持在用户110处,并且被转发到递送管理服务器125。 As before, the configuration information 135 may be maintained in the form of a cookie at the user 110, and forwarded to the delivery management server 125.

[0063] 在本发明的一个实施例中,可以由递送管理服务器通过首选项页面150向用户进行关于用户可以或者应该选择的特定媒体播放器的推荐。 [0063] In one embodiment of the present invention, it is possible to recommend a particular media player, or the user can be selected by the delivery management server through a user preferences page 150. 这样的推荐基于关于用户的选项的已知内容。 This recommendation is based on the known details about the user's options. 在这样的首选项页面150的一个实施例中,可以通过页面的一部分传送该推荐。 In such a preference page 150 of the embodiment, the recommendation may be transmitted through a portion of the page. 这个部分可以被认为是服务器接口,这是因为服务器通过这个接口与用户进行通信。 This may be considered part of the server interfaces, since the server communicates with the user via this interface.

[0064] 如下面将要更详细描述的那样,首选项页面包括具有已知大小的数据块155。 [0064] As will be described in more detail below, the preferences page includes a data block 155 having a known size. 对块155的传输进行计时,以便确定用户10的连接速度。 Transmission block 155 is clocked, in order to determine the connection speed of the user 10. 在本发明的实施例中,块155(在下文中称为计时(timing)块)并入在首选项页面150中的HTML注释中。 In an embodiment of the present invention, the block 155 (referred to as timing (Timing) block hereinafter) incorporated in the HTML comments preferences page 150.

[0065] 在本发明的某些环境中,递送管理服务器125是这样的服务器集合中的一个服务器。 [0065] In certain environments the present invention, the delivery management server 125 is a server set of such servers. 这里,该递送管理服务器集合借助于此处描述的发明为用户团体服务。 Here, the delivery management server by means of the invention described herein are set for the service user groups. 在假定用户提出内容请求的情况下,将通过平衡由多个用户产生的负载的选择机制,将用户分配给特定递送管理服务器。 Made under the assumption that the user's content request, the load balancing by selection mechanism generated by a plurality of users, assigning users to specific delivery management server.

[0066] 在本发明的一个实施例中,递送管理服务器125的功能体现为到代码转换引擎的 [0066] In one embodiment of the present invention, the delivery management server 125 is embodied as a function of the transcoding engine

10观众网络服务器接口。 10 spectators network server interface. 代码转换引擎通常从内容供应商接收内容,并且以使该内容可由用户110使用的方式格式化(“代码转换”)该内容。 Transcoding engine typically receives content from a content provider, and to make the way by the user 110 uses the content formatting ( "transcoding") of the content. 观众网络服务器接口是在代码转换引擎和用户110之间的网络接口,其允许由用户110请求内容。 Audience network server interface is a network interface between the user and the transcoding engine 110, which allows the user 110 requests content. 观众网络服务器接口接收并且处理来自用户110的内容请求,由此启动所请求的内容的代码转换以及向用户110的递送。 Audience network server interface receives and processes the content request from the user 110, thereby starting the requested content transcoding and delivery to the user 110. 观众网络服务器接口发送对用户110的请求的答复,以将用户110重定向到适当的流式服务器,以便从该流式服务器中接收所请求的媒体内容。 Viewer web server interface to send a reply to the requesting user 110 to user 110 would be redirected to an appropriate streaming server to receive the requested media content from the streaming server. 格式化(“代码转换”)了的内容然后通过流式服务器和/或代理服务器(还有代码转换引擎的一部分)流式传输(stream) 给用户110。 Format ( "transcoding") and a content streaming server and / or proxy server (also part of the transcoding engine) stream (stream) to the user 110 through. 美国专利6,407,680和6,593,860中更详细地描述了这样的代码转换引擎,这些专利通过引用全部并入在此。 U.S. Patent No. 6,407,680 and 6,593,860 described such a transcoding engine in more detail, these patents are incorporated herein by reference in its entirety. 作为选择,递送管理服务器125和观众网络服务器接口可以被实现为分离的服务器。 Alternatively, the delivery management server 125 and the network server viewer interface may be implemented as separate servers.

[0067] 要注意到,此处描述的发明可以在各种组织的环境中实现。 [0067] to be noted that the invention described herein may be implemented in a variety of tissues in the environment. 例如,如上所述的代码转换和递送管理操作可以由递送管理服务执行。 For example, transcoding and delivery management operations as described above may be performed by the delivery management service. 这个服务可以是例如单独的独立于内容供应商105的组织或者企业实体。 This service can be for example a separate independent from the content provider 105 organization or business entity. 在这种情况下,可以由内容供应商105独立于递送管理服务而开发网页115。 In this case, 105 is independent of the service delivery manager 115 pages developed by the content provider. 网页115因此能包括内容供应商105特定的徽标或者其它商标图像和/或“外观(look and feel)”。 Thus web 115 comprises a content provider 105 can be a particular logo or other mark image and / or the "appearance (look and feel)". 同样地,首选项页面150虽然由递送管理服务器125递送给用户110,但是它也可以由内容供应商105独立于递送管理服务而开发。 Similarly, although the preference page 150 of the delivery management server 125 110 delivered to the user, but it can also independently by the content provider 105 to the delivery of services and management development.

[0068] 递送管理服务和内容供应商105的独立性还将允许递送管理服务自己对服务做出改变。 [0068] managing the delivery of services and content providers 105 independence will also allow the delivery of managed services to make their own changes to the service. 递送管理服务将通过添加或修改功能而自由地升级它的服务。 Delivery management service will be free to upgrade its service by adding or modifying functionality. 例如,可以与特定的内容供应商105无关地改进播放器检测脚本140,以便使播放器检测处理更快或者更全面。 For example, provider 105 regardless of improved detection script player 140 with a specific content, so that the player detection process faster or more complete.

[0069] 例如,也可以独立于内容供应商105而升级代码转换处理,以容纳另外的媒体格式或者提供更快的代码转换。 [0069] For example, it may be independent of the content providers 105 and upgrade code conversion processing, in order to accommodate additional media format or faster transcoding. 可以使用硬件、软件或者它们的组合实现递送管理服务器125。 You can use hardware, software, or a combination thereof to achieve delivery management server 125. 特别是,可以使用计算机系统或者其它处理系统实现服务器125。 In particular, it is possible to use a computer system or other processing system 125 implement server. 图2示出了这样的计算机系统200的示例。 FIG 2 shows an example of such a computer system 200. 计算机系统200包括诸如处理器204之类的一个或者多个处理器。 Computer system 200 includes one or more processors, such as processor 204 or the like. 处理器204连接到通信基础设施206 (例如,总线或者网络)。 The processor 204 is connected to a communication infrastructure 206 (e.g., a bus or network). 就这个示例性计算机系统而言,可以描述各种软件实施例。 In terms of this exemplary computer system, the various embodiments may be described in software. 在阅读了这个描述之后,对于本领域技术人员来说,如何使用其它计算机系统和/或计算机体系结构实现本发明将会是显而易见的。 After reading this description, the skilled person how to use other computer systems and / or computer architectures to implement the invention will be apparent.

[0070] 计算机系统200还包括优选为随机存取存储器(RAM)的主存储器208,并且还可以包括辅助存储器210。 [0070] Computer system 200 also includes a main memory preferably a random access memory (RAM) 208, and may further include a secondary memory 210. 辅助存储器210可以包括例如硬盘驱动器212和/或表示磁带驱动器、光盘驱动器等的可移动存储设备驱动器214。 Secondary memory 210 may include, for example, a hard disk drive 212 and / or expressed tape drive, an optical disk drive, etc. The removable storage device drive 214. 可移动存储设备驱动器214以众所周知的方式从可移动存储单元218中进行读取和/或向其进行写入。 The removable storage device drive 214 in a well known manner to read from and / or writing to a removable storage unit 218. 可移动存储单元218表示磁带、光盘等。 Removable storage unit 218 represents a magnetic tape, optical disk, etc. 如所理解的那样,可移动存储单元218包括其中已经存储了计算机软件和/或数据的计算机可用存储介质。 As appreciated, the removable storage unit 218 includes stored therein a computer usable storage medium of the computer software and / or data.

[0071] 辅助存储器210还可以包括其它类似的装置,用于允许将计算机程序或者输入数据加载到计算机系统200中。 [0071] The secondary memory 210 may include other similar means for allowing computer programs or input data is loaded into the computer system 200. 这样的装置可以包括例如可移动存储单元222和接口220。 Such means may comprise, for example, a removable storage unit 222 and an interface 220. 这样的示例可以包括:程序盒和盒接口(诸如在视频游戏设备中可找到的那些),可移动存储器芯片(诸如EPR0M,或者PR0M)以及相关联的插口,及其他允许将软件和数据从可移动存储单元222传输到计算机系统200的可移动存储单元222和接口220。 Such examples may include: a program cartridge and cartridge interface (such as those in video game devices can be found), a removable memory chip (such as EPR0M, or PR0M) and associated socket, and other which allow software and data from a removable storage unit 222 transmitted to the computer system 200 may be removable storage units 222 and interfaces 220.

[0072] 计算机系统200还可以包括通信接口224。 [0072] Computer system 200 may further include a communication interface 224. 通信接口2¾允许软件和数据在计算机系统200和外部设备之间进行传输。 2¾ communications interface allows software and data to be transferred between computer system 200 and external devices. 通信接口2M的示例可以包括调制解调器、网络接口(诸如以太网卡)、通信端口、PCMCIA插槽和卡等。 Examples of communications interface 2M may include a modem, a network interface (such as an Ethernet card), a communications port, PCMCIA slot and card. 经由通信接口2M传输的软件和数据具有信号228的形式,其中信号2¾可以是能够由通信接口2M接收的电、电磁、光或者其它信号。 2M transmitted via the communication interface in the form of software and data signal 228, which may be 2¾ signals capable of being received by communications interface 2M electrical, electromagnetic, optical, or other signals. 这些信号2¾经由通信路径(即,信道)2¾提供给通信接口224。 These signals are provided to communications interface 2¾ 224 via a communications path (i.e., channel) 2¾. 这个信道226 将信号2¾送进和送出计算机系统200,并且可以使用导线或者电缆、光纤、电话线、蜂窝电话链路、射频链路及其他通信信道实现。 This channel 226 and the signal sent out 2¾ computer system 200, and may be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. 在本发明的一个实施例中,信号2¾可以传送由递送管理服务器125所需要的信息,诸如HTTP请求130和配置信息135。 In one embodiment of the present invention, the signal may be transmitted by the delivery 2¾ information management server 125 required, such as HTTP requests 130 and configuration information 135. 信号2¾还可以将诸如脚本140和首选项页面150之类的信息传送到用户110。 2¾ signal also can transmit information such as scripts and preferences page 140 150 110 and the like to the user.

[0073] 在这个文档中,术语“计算机程序介质,,和“计算机可用介质,,用于泛指诸如可移动存储设备驱动器214、安装在硬盘驱动器212中的硬盘、和信号2¾之类的介质。 [0073] In this document, the terms "computer program medium ,, and" computer usable medium ,, refers to a medium such as removable storage device drive 214, a hard disk installed in hard disk drive 212, and signals like 2¾ . 这些计算机程序产品是用于向计算机系统200提供软件的装置。 These computer program products are means for providing software to the computer system 200. 本发明的部分目的是提供这样的计算机程序产品。 Part object of the present invention is to provide a computer program product.

[0074] 计算机程序(也称作计算机控制逻辑)存储在主存储器208和/或辅助存储器210 中。 [0074] Computer programs (also called computer control logic) are stored in main memory 208 and / or 210 in secondary memory. 还经由通信接口2M接收计算机程序。 The computer program also receives via the communication interface 2M. 这样的计算机程序当被执行时允许计算机系统200执行此处所述的本发明的特征。 Such a computer program allows the computer system when executed features of the invention described herein performs 200. 特别是,当被执行时,该计算机程序允许处理器204执行本发明的特征。 In particular, when executed, the computer program allows the processor 204 performs feature of the present invention. 因此,这样的计算机程序表示计算机系统200的控制器。 Accordingly, such computer programs represent controllers of the computer system 200.

[0075] 检测方法 [0075] Detection

[0076] 在根据优选实施例的方法中,确定用户的计算机的配置信息,并且将其发送给递送管理服务器。 [0076] In the method according to the preferred embodiment, the computer determines the user configuration information, and sends it to the delivery management server. 递送管理服务器然后将配置信息传递给代码转换器,代码转换器根据配置信息格式化多媒体内容。 Delivery configuration management server then passes the information to the transcoder, the transcoder according to the configuration information of the multimedia content format. 然后可以把格式化了的内容发送给用户。 You may then send the formatted content to the user.

[0077] 图3A-3D中说明了根据本发明实施例的整体处理。 [0077] FIG explaining the overall process in accordance with an embodiment of the present invention 3A-3D. 该处理从步骤305开始。 The process begins at step 305. 在步骤310,用户开始加载内容供应商的网页。 In step 310, the user starts loading the content provider website. 如Action(章节)11所述,该网页包含引导用户的浏览器到递送管理服务器的服务器联络代码。 As the Action 11 (section), the page containing the user's browser to guide the delivery management server contacts the server code. 在本发明的实施例中,这在内容供应商的网页的HTML头中实现。 In an embodiment of the present invention, this is achieved in the content provider's web page HTML header. 例如,HTML头可以包含以下服务器联络代码:<SCRIPT SRC = ^ttp:// js. genericmedia. net/js"LANGUAGE = javascript></SRC>,其中“ js. genericmedia. net,, 表示递送管理服务器。 For example, HTML server Contact header can include the following codes: <SCRIPT SRC = ^ ttp:.. // js genericmedia net / js.. "LANGUAGE = javascript> </ SRC>, where" js genericmedia net ,, represents the delivery management server .

[0078] 在本发明的一个实施例中,服务器联络代码的执行由用户的动作、诸如点击在内容供应商网页上的控制或者链接或者通过输入显式命令来启动。 [0078] In one embodiment of the present invention, the server contact code is executed by a user action, such as clicking on a control page or a content provider links or be initiated by entering an explicit command. 在替换实施例中,在加载该网页之后自动地执行服务器联络代码。 In an alternative embodiment, the server contact code is automatically executed after loading the page. 在步骤320,用户的浏览器从递送管理服务器中取出播放器检测代码(在上述示例中为“js”)。 320, remove the user's browser player detection code (for the "js" in the above example) from the delivery management server in step. 在步骤325,确定可以由用户使用的媒体播放器。 In step 325, the media player can be used is determined by the user. 下面将更详细地描述这个步骤。 The following steps will be described in more detail. 在步骤330,将媒体播放器的身份记录在用户计算机中的一个或者多个cookie中。 At step 330, the identity of the media player or a plurality of recording a cookie in the user computer's. 下面也将更详细地描述这个步骤。 This step which will also be described in more detail.

[0079] 结合这个步骤,在递送管理服务器处进行关于所接收的配置信息是否足以格式化所请求的多媒体内容的判定(步骤331)。 [0079] This binding step, a determination as to whether the multimedia content of the received configuration information is sufficient to format the requested (step 331) the delivery management server. 如果接收了cookie并且将其验证为具有有效的设置,则送回暗指有效的最小HTTP响应。 If it receives the authentication and cookie having a valid setting, the minimum effective implies HTTP response is sent back. 如果所接收的配置信息足以格式化所请求的多媒体内容,则如下所述,在步骤335处理继续进行。 If the received configuration information is sufficient to format the requested multimedia content is described below, in step 335 the process proceeds. 在参考图3A描述和说明的方法中,可以在步骤320和325之间构造另外的判定点(类似于步骤331)。 In the method described and illustrated with reference to FIGS. 3A, the structure can be further determined at step 320 and 325 between the point (similar to step 331). 也就是说,在一个实施例中, 如果接收了足够的信息,则可以完全跳过播放器检测。 That is, in one embodiment, if enough information is received, the player may be skipped completely detected. 在另一个实施例中,即使当已经接收了足够信息时也还进行一些轻量级的播放器检测。 In another embodiment, even when having received sufficient information may also detect some lightweight player. 但不论是哪种情况,当客户端从服务器请求播放器检测代码时,都可以在步骤320之后执行发送什么播放器检测代码(如果有的话)的判定。 In either case, when the client requests the player detection code from the server, it can send what the player detection code (if any) is performed after step 320 is determined.

[0080] 如果js没有接收到有效的cookie(即,如果用户处的配置信息不充分或者不存在),则在步骤332继续本方法。 [0080] If not received a valid js Cookie (i.e., if the configuration information of the user of the insufficient or does not exist), then the method continues at step 332. 在步骤332,为用户显示首选项页面。 In step 332, the user display preferences page. 在本发明的一个实施例中,这通过向用户发送一段javascript (java脚本)来完成,该javascript打开一个加载首选项页面的新窗口。 In one embodiment of the present invention, this is accomplished by sending some javascript (Java Script) to a user, a new window opens javascript loading preferences page. 该首选项页面允许用户有意地向递送管理服务器指示关于媒体播放器和/或用户的连接速度的用户配置或者首选项。 This preference page allows the user intentionally indication of the media player and / or the user's connection speed of the user profile or preferences to the delivery management server. 在本发明的实施例中,首选项页面还可以向用户推荐选择一个特定的媒体播放器。 In an embodiment of the present invention, the preferences page can also be recommended to the user selects a specific media player. 此外,如下面将要更详细描述的那样,首选项页面包括这样的机制,通过该机制可以确定用户计算机的连接速度,并且将该连接速度转发给递送管理服务器。 Furthermore, as will be described in more detail below, the preferences page includes a mechanism to determine the connection speed of the user's computer through the mechanism, and forwards the connection speed to the delivery management server.

[0081] 在步骤333,由用户的计算机接收由用户提供的首选项。 [0081] In step 333, received by a user's computer by the user provided preferences. 在步骤334,将首选项存储在cookie中。 In step 334, the preferences are stored in a cookie. 然后在步骤335继续处理。 Processing then continues at step 335. 在步骤335,用户通过提出HTTP请求,来请求由内容供应商通过网页使其可用的多媒体内容。 In step 335, the HTTP request is made by the user to make a request by the content provider of multimedia content available through the web. 例如可以通过在内容供应商的网页中的一些区域上进行点击来提出这样的请求。 For example, can make such a request by clicking on a number of content providers in the area of ​​the page. 作为这个请求的一部分,将任何包含配置信息的cookie发送给递送管理服务器。 As part of this request, send any cookie contains the configuration information to the delivery management server. 这些cookie可以例如描述媒体播放器类型和版本。 The cookie can be described, for example media player type and version. 这些cookie还可以存储所测量的连接速度,以及用户可能具有的任何优选连接速度。 The cookie may also store the measured speed connection, and the user may have any of the preferred connection speed. 例如,用户可能希望仅仅使用可用带宽的一部分用于流式传输。 For example, a user may want to use only part of the available streaming bandwidth. 此时,用户将选择比由用户配置所允许的最大值慢的速度。 In this case, the user will choose a slower speed than the maximum configured by the user allows. 该处理在步骤370结束。 The process ends at step 370.

[0082] HTTP请求(“GET”)的一个示例如下所示。 One example of [0082] HTTP request ( "GET") are shown below. 将现有的cookie (gmPlayers, gmPlayerPref,和gmBitratePref)作为GET命令的一部分发送给递送管理服务器。 The existing cookie (gmPlayers, gmPlayerPref, and gmBitratePref) sent as part of the GET command to the delivery management server.

[0083] GET/xc ? [0083] GET / xc? ρ = keith & s = media/Trailer, mo ν & ν = 1ΗΤΤΡ/1. 1 ρ = keith & s = media / Trailer, mo ν & ν = 1ΗΤΤΡ / 1. 1

[0084] Accept:image/gif, image/χ xbitmap, image/jpeg, image/pjpeg, application/ [0084] Accept: image / gif, image / χ xbitmap, image / jpeg, image / pjpeg, application /

[0085] vnd. ms-powerpoint, application/vnd. ms-excel, application/msword, ~k / -k [0085] vnd. Ms-powerpoint, application / vnd. Ms-excel, application / msword, ~ k / -k

[0086] Accept-Language:en-us [0086] Accept-Language: en-us

[0087] Accept-Encoding:gzip, deflate [0087] Accept-Encoding: gzip, deflate

[0088] User-Agent :Mozilla/4. 0 (compatible ;MSIE 5. 5 ;Windows NT 5. 0) . [0088] User-Agent: Mozilla / 4 0 (compatible; MSIE 5. 5; Windows NT 5. 0)

[0089] Host: xc. genericmedia. net [0089] Host:. Xc genericmedia net.

[0090] Connection:Keep-Alive [0090] Connection: Keep-Alive

[0091] Cookie:gmPlayers = vl % 2F % 2FQuickTime_4· 12 % 2F % [0091] Cookie: gmPlayers = vl% 2F% 2FQuickTime_4 · 12% 2F%

2FReal-6. 0. 7. 788% 2FReal-6. 0. 7. 788%

[0092] 2F% 2FWMP-6. 4% 2F% 2F ;gmPlayerPref = real ;gmBitratePref = 300000 . [0092] 2F% 2FWMP-6 4% 2F% 2F; gmPlayerPref = real; gmBitratePref = 300000

[0093] 服务器使用该URL信息和cookie信息来确定将电影“media/trailer, mov”(在用户Keith的帐户中)代码转换为适于RealPlayer G2的3001ibps编码: [0093] The server uses this URL information and cookie information to determine the movie "media / trailer, mov" (Keith's user account) code into 3001ibps coding suitable for the RealPlayer G2:

[0094] HTTP/1. 1200 OK [0094] HTTP / 1. 1200 OK

[0095] Date:Mon, Jul.16,2001 23:52:00GMT [0095] Date: Mon, Jul.16,2001 23: 52: 00GMT

[0096] Server:Apache/1. 3. 14(Unix)mod_perl/ll. 24 [0096] Server:. Apache / 1 3. 14 (Unix) mod_perl / ll 24.

[0097] Connection:close [0097] Connection: close

[0098] Expires:Thu,Dec.1,1994 16:00:00GMT[0099] Pragma:no-cache, no-store, must-revalidate, no-transform [0098] Expires: Thu, Dec.1,1994 16: 00: 00GMT [0099] Pragma: no-cache, no-store, must-revalidate, no-transform

[0100] Transfer-Encoding:chunked [0100] Transfer-Encoding: chunked

[0101] Content-Type: audio/χ-ρη-realaudio 41 [0101] Content-Type: audio / χ-ρη-realaudio 41

[0102] rtsp://64. 124. 76. 136:554/cache/Mlk3JeFIY0209200d7dn-a/Trailer. rm 0 [0102] rtsp: // 64 124. 76. 136:.. 554 / cache / Mlk3JeFIY0209200d7dn-a / Trailer rm 0

[0103] 要注意到,用户可以被配置为具有一个以上的媒体播放器。 [0103] It is noted, a user may be configured to have more than one media player. 如果是这样的话,则如何格式化内容,即选择哪个播放器,可能是不清楚的。 If this is the case, then how to format content, that is, choose which players may be unclear. 此外,用户可能具有一个播放器优于另一个播放器的特定优先选择。 In addition, the user may have a particular preference over another player's player. 首选项页面通过让用户将播放器首选项传送给递送管理服务器,而提供了一种解决这些情况的方法。 Preferences page by allowing users to transfer the player preferences to the delivery management server, and provides a solution to these situations. 在本发明的实施例中,首选项页面可以向用户传送关于哪个媒体播放器可能提供最佳结果的推荐。 In an embodiment of the present invention, preference page which can be transferred recommendation on the media player may provide the best results to the user.

[0104] 还可能存在有上述处理未能肯定地识别用户配置的情况。 [0104] There may also have the above-described process could not positively identify the user's configuration. 例如,播放器检测处理可能未必能够清楚地确定用户的媒体播放器,而且用户可能不十分知道如何回答首选项页面上的询问。 For example, the player detection process may not be able to clearly determine the user's media player, and the user may not quite know how to answer questions on the preferences page. 在此情况下,递送管理服务器可以基于关于用户配置的已知内容进行一或多次推断。 In this case, a delivery management server can be inferred based on known or more content on the user configuration. 例如,如果已知用户具有MACINTOSH平台,则一般可以假定QUICKTIME在该平台上可用,这是因为MACINTOSH计算机经常装有QUICKTIME。 For example, if the user has MACINTOSH platform is known, it is generally assumed to be available on the platform QUICKTIME, since often with QUICKTIME MACINTOSH computer. 其它这样的关联也可以用于推断否则就不可得到的配置信息。 Other such association may be used to infer information not otherwise available to the configuration. 在本发明的实施例中,可以通过经由首选项页面请求用户确认而具有对这样的推断的确认。 In an embodiment of the present invention, by the user via a preference page confirmation request for such confirmation has inferred.

[0105] 图;3B是说明根据发明的实施例、包括接收递送管理器HTTP请求371在内的服务器端请求处理的流程图。 [0105] FIG.; 3B illustrates an embodiment according to the invention, the process includes receiving a flowchart of a delivery HTTP request manager 371 including the server request. 在步骤372检查是否已经接收了递送管理器cookie。 If in step 372 checks have been received delivery manager cookie. 如果没有的话,则在步骤373,向客户端发送包含要发送的代码的HTTP响应以检测URL。 If not, then at step 373, sends HTTP contains code to be sent to the client in response to detecting URL. 如果是的话, 则在步骤374,返回空的HTTP响应。 If so, then at step 374, it returns an empty HTTP response.

[0106] 图3C是说明根据优选实施例、包括接收检测URL HTTP请求375在内的服务器端请求处理的流程图。 [0106] FIG 3C is a diagram illustrating a preferred embodiment, the server comprises receiving the detection URL HTTP request 375 including a flowchart of a process request. 在步骤376,分析HTTP头以确定客户端的配置信息。 In step 376, parses the HTTP header to determine configuration information for the client. 如所述的那样, 所确定的信息中包含操作系统、平台和HTTP客户端或者用户代理。 As described, the determined information included in the operating system, and internet HTTP client or user agent. 如根据此处例如参考图7-9的进一步描述和其他处的描述所理解的那样,有许多可以在步骤376中确定的客户端计算机的特征、特性和变化。 As for example described and further described elsewhere with reference to FIGS. 7-9 according to herein as understood, there are many features of the client computer may be determined in step 376, and changes characteristics. 此外,如图3D所示以及下面更详细的描述所述,可以向客户端指示期望在服务器处接收的特定信息项。 Further, as shown in FIG 3D, and the following more detailed description, the specific information may indicate a desired item received at the server to the client.

[0107] 为了确定客户端的带宽或者连接速度,可以在步骤377中发送Timei^tart (计时器启动)代码。 [0107] In order to determine the bandwidth or the client's connection speed, it may be transmitted Timei ^ tart in step 377 (timer start) code. 在步骤378,将数据块或者计时块发送给客户端以用于带宽测量。 In step 378, the transmission data block or blocks to the client timing for bandwidth measurement. 在步骤379,发送TimerStop (计时器停止)代码。 In step 379, transmission timerstop (timer is stopped) code. 在一个实施例中,在步骤380,根据在由TimerStop时间和TimerMart时间之间的差值而确定的时间期间传递的数据量,计算带宽,并且将其存储在cookie中。 In one embodiment, at step 380, the amount of data transferred during the time difference between the time and the TimerStop TimerMart determined time, computational bandwidth, and stored in a cookie. 如以下更详细描述的那样,并不是固定该时间并且基于在该时间期间发送了多少数据来确定带宽,而是可以固定组块(chunk)大小或者计时块大小并且基于传送该块需要多长时间来确定带宽。 As described in more detail below, the time is not fixed and based on how much data is transmitted during that time determines the bandwidth, but may be a fixed block (the chunk) size or timing block size and the transport block based on how long it requires determines the bandwidth. 有利地是,可以这样选择组块大小或者计时块大小,以便过程持续刚刚超过进行相当准确的带宽确定所需的最少时间。 Advantageously, the chunk size may be selected or timing block size, process continues for more than just reasonably accurate bandwidth determination for the minimum time required. 在步骤381,发送客户端媒体播放器检测代码。 In step 381, the client transmits the media player detection code.

[0108] 检测机制细节 [0108] Detection Mechanism Details

[0109] 在示例性使用情况下,用户可能通常从个人计算机或者PDA (Palm,PocketPC)进行连接。 [0109] In the exemplary use case, the user may typically connect from a personal computer or PDA (Palm, PocketPC). 该连接通常可以经由HTTP而来自于网络浏览器或者可以提出HTTP请求的媒体播放器。 The HTTP connection may generally be derived from the network via a browser or media player may make an HTTP request. [0110] 这类环境的困难方面是客户端设备软件通常可能不被写入或者控制,而是在现有客户端的限制下工作。 [0110] The difficulty with such environmental aspects of client device software is usually written or may not be controlled, but the work within the constraints of existing clients. 更具体地说,可能没有特定的现有浏览器(例如,hternet Explorer, Netscape, Mozilla等),而且因此配置检测算法必须在它们对Javascript的支持下工作并且处理各个浏览器版本的程序错误/奇特之处。 More specifically, you may not have a specific existing browser (e.g., hternet Explorer, Netscape, Mozilla, etc.), and thus the detection algorithm must be configured to work in Javascript and their support for processing of each version of the browser program error / strange place.

[0111] 同样地,不同的媒体播放器支持变化的版本等级以及所安装的编解码器查询。 [0111] Similarly, different media player supports changing release levels and installed codecs query. 在许多情况下(特别是对于老版的播放器),没有办法直接查询是否安装了特定编解码器。 In many cases (especially for the older version of the player), there is no direct way to find out if a particular codec installed. 而是它依赖于已知配置间接地完成。 But it depends on the known configuration done indirectly. 例如,如果媒体播放器是Windows Media Version 7· 0,则可理解该版本具有Windows Media Video 7、Microsoft MPEG4v3、和Microsoft IS0-MPEG4vl视频编解码器。 For example, if the media player is Windows Media Version 7 · 0, you can understand which version has the Windows Media Video 7, Microsoft MPEG4v3, and Microsoft IS0-MPEG4vl video codec.

[0112] 在PDA的情况下,根据当前支持PDA的媒体播放器是有限的这一事实,通常可以简化媒体播放器检测。 [0112] In the case of a PDA, the PDA according to the current support of the media player is limited to the fact that generally the media player can be simplified detection. 例如,在基于I^almOS的PDA上,可能仅有单个视频播放器可用和/ 或仅支持单个视频播放器。 For example, based on a PDA I ^ almOS may be used only a single video player and / or support only a single video player. 作为另一个示例,在PocketPC上,长时间以来,微软的Pocket WindowsMedia Player 是唯一可用的播放器。 As another example, on a PocketPC, since a long time, Microsoft's Pocket WindowsMedia Player is the only available player. RealNetworks 和PacketVideo 也已经引入了用于PDA的播放器。 PacketVideo and RealNetworks has introduced a player for PDA's. 利用有限的播放器选择,检测逻辑经常可以被简化为在给定PDA和(缺省)媒体播放器之间的1:1映射。 Finite player selection, often detection logic can be simplified as given between the PDA 1 and the (default) Media Player: 1 mapping.

[0113] 带宽测量也不容易在HTTP和Javascript的限制下进行估计。 [0113] Bandwidth measurement is not easy to be estimated in the limit HTTP and Javascript. 带宽测量工具通常可以通过计时客户端花费多少时间来接收已知量数据而进行它们的估计。 How much bandwidth measurement tool commonly known amount of time to receive their data were estimated by counting the client can spend. 如果时间测量仅仅限于实际传输数据所花费的时间,以及如果数据大小真正估计了实际传输的位数,则可以获得较高的带宽估计精确度。 If the time measurement is limited to only the actual time it takes to transfer data, if the data size of the real and the estimated number of bits actually transmitted, it is possible to obtain a higher bandwidth estimation accuracy. 理想地,采取多次测量以平均掉异常。 Ideally, take multiple measurements to average out abnormal.

[0114] 在一个示例性实现中,(用于检测机制的)设计要求/限制可以包括: [0114] In one exemplary implementation, (for detection mechanism) design requirements / restrictions may include:

[0115] 必须从网页内部(在网络浏览器中)进行; [0115] must be carried out from the inside page (web browser);

[0116] 代码/脚本必须仅仅使用早已由客户端的现有浏览器支持的语言(例如, Javascript, VBScript, HTML); [0116] Code / scripting language had to be used only by the client's existing browser support (eg, Javascript, VBScript, HTML);

[0117] 用户不必需要安装任何下载的模块/插件; Module [0117] user does not need to install any downloaded / plug;

[0118] 检测应该尽可能快地且尽可能少影响地进行(理想上,用户将不会注意到检测代码正在运行)。 [01] testing should be as fast as possible and as little impact conducted (ideally, the user will not notice detection code is running).

[0119] 为了在上述限制内进行带宽测量,经由HTML和Javascript代码测量带宽,可以是一种方法。 [0119] In order to measure the bandwidth within the above limit, via HTML and Javascript code measurement bandwidth, a method may be. 小的Java小程序可以允许更细粒度以及更复杂的测量算法,但是可能需要下载的小程序和Java运行时环境,这二者都可能违反了设计限制。 Small Java applet may allow more fine-grained and more sophisticated measurement algorithms, but may need to download the applet and the Java Runtime Environment, both of which may violate design constraints.

[0120] 可以通过对客户端接收HTML数据的组块需要多长时间进行计时,来有利地进行带宽测量。 [0120] may be required by the received HTML data chunk to the client how often timing measurements advantageously bandwidth. 优选使用“随机ISSCII数据或者其它随机数据来防止由数据压缩调制解调器、 路由器、和网络服务器进行的压缩(这将减少实际接收的位数,并且因此影响带宽计算)。 为了最小化用户影响,带宽测量计算优选为仅仅运行一次,并且作为选择可以多次运行。可以将数据组块的大小选择为20千字节,以便可以平衡调制解调器用户对方便测量的需要与在大约3001ibpS的LAN连接速度上用户对准确测量的需要。 Preferably to prevent the compressed data modems, routers, network servers, and compression (which would reduce the number of bits actually received, and thus affect the bandwidth calculation) using the "random ISSCII data or other random data. In order to minimize the impact the user, bandwidth measurement calculation is preferably run only once, and the selection may be run multiple times a data set may be selected as the block size of 20 kilobytes, so that the user can easily balance the modem requires measurement of the user on the LAN connection speed of about 3001ibpS accurate measurement needs.

[0121] 此外,由于设计限制,更高级/准确的带宽测量技术可能是不合需要的。 [0121] In addition, due to design limitations, the more advanced / accurate bandwidth measurement technique may be undesirable. 该测量仍然可能有易出现计算错误的缺点。 This measurement may still have shortcomings calculation error prone. 例如,其它的应用或者浏览器窗口可能正在发送数据,因此减慢了传输时间。 For example, other applications or browser window may be sending data, thus slowing down the transmission time. 此外,中间路由器可能正在缓冲数据并且以大的组块来传输数据。 The intermediate routers and data that may be buffered with a large chunk of data to transmit. 此外,数据仍然可能由中间路由器/调制解调器压缩。 Furthermore, the data may still be compressed by the intermediate router / modem. 数据可能在如从防火墙到计算机的最后网络链路上爆发,或者在例如可以分几部分分析/执行Javascript的浏览器中爆发,所有这些或者其中任意一个都错误地减少了传输时间。 Data may last from a network link, such as the outbreak of the firewall to the computer, for example, in outbreaks, or in several portions analysis / execution Javascript browser, or any of all of these have a reduced transmission time error.

[0122] 对于不支持Javascript的客户端,可以使用缺省检测结果。 [0122] For the client does not support Javascript, you can use the default detection result. 用户可以在稍后的日期通过点击链接以进入设置/首选项改变网页来改变他们的首选项。 Users can at a later date by clicking on the link to go to Settings / Preferences to change the page to change their preferences. 可以基于从HTTP请求头中收集的信息(例如操作系统,硬件平台)有利地为不同客户端定制缺省检测结果。 Header based on information collected from the request HTTP (e.g. operating systems, hardware platforms) advantageously customized default detection result for different clients. 在一个实施例中,Macintosh客户端可能把安装了QuickTime作为缺省值,而PocketPC客户端可以具有安装了Pocket Windows Media Player的这个缺省值。 In one embodiment, Macintosh clients may install the QuickTime as the default, and PocketPC clients can have this default value Pocket Windows Media Player installed. 对于经由无线调制解调器载波的连接,缺省带宽可以是561ApS。 For the connection, via a wireless carrier bandwidth, the default may be 561ApS.

[0123] 持久数据 [0123] persistent data

[0124] 一个优选实现利用“cookie”用于在用户会话之间存储持久数据。 [0124] preferably implemented using a "cookie" is used to store persistent data between user sessions. Cookies是由HTTP客户端存储的、与域相关联的名称-值对。 Cookies are stored by the HTTP client, and the name associated with the domain - value pairs. 当客户端提出后续的HTTP请求时,它将附属于HTTP服务器域的cookie与请求一起发送。 When the client makes a subsequent HTTP request, it belongs to the domain cookie with the HTTP server of the request transmitted together. 可以进一步指定Cookies在某一日期之后过期(被删除)。 Cookies can be further specified expiration (to be deleted) after a certain date.

[0125] 可以在一个示例实现中创建/使用单独的cookie用于存储例如所测量的带宽、所检测的媒体播放器(以及它们的版本)、用户比特率首选项、用于流处理的用户媒体播放器首选项和/或用于所下载内容的用户媒体播放器首选项等信息。 [0125] In one example implementation may be created in the / a separate cookie used for storage of the measured bandwidth, the detected media player (and their versions), the bit rate of the user preferences for the user media stream processing player preferences and / or for downloading information content of user preferences and other media players. 每个cookie可以具有它自己的有效期,其可被用来设置这样一个频率,在该频率上,可以认为部分所检测的信息失效并且应该重新检测。 Each cookie may have its own validity period, which can be used to set such a frequency at which the frequency can be considered part of the information and the detected failure should be detected again.

[0126] 具体地说,耗费相对大量时间来进行检测的事物(带宽以及已安装的媒体播放器的版本)可以进行一次,然后仅仅定期地(或者依据用户的请求)重新检测。 [0126] Specifically, a relatively large amount of time-consuming things to detect (version bandwidth and installed media player) may be performed once, and then (or according to the user's request) only periodically re-tested. 典型配置检测实现的困难和复杂度大部分是由于仅仅能够写入/控制服务器端环境而导致的。 Difficulty and complexity of the typical configuration of the detection is achieved since only the most capable of writing / control server environment caused. 有利地,根据优选实施例,不需要总是处理客户端平台、浏览器、媒体播放器、脚本语言、程序错误等,这是因为,例如,它们被认为是不变的。 Advantageously, according to a preferred embodiment, need not always handle client platforms, browsers, media players, scripting languages, program error, etc. This is because, for example, they are considered the same. 根据设计要求,现在可以允许客户端已安装软件的升级/改变,虽然做为选择可以明确地不允许该升级/改变。 According to the design requirements, now allows the client software upgrade / change has been installed, although alternatively can clearly does not allow the upgrade / change.

[0127] 实现示例 [0127] implementation example

[0128] 在根据优选实施例的示例实现中,因为在客户端环境中有多得多的自由度,所以可以避免许多障碍。 [0128] In the exemplary embodiments implemented according to the preferred embodiment, since the degree of freedom in a much more client environment, many obstacles can be avoided. 并不是设计间接查询方法来确定客户端软件配置或者性能,而是从开始起就有利地设计直接查询支持。 Indirect query method is not designed to determine the client software configuration or performance, but it is advantageously designed to support queries directly from the beginning. 同样地,可以指定客户端HTTP头值(和/或添加新的头)以提供详细的客户端信息。 Likewise, the client can specify HTTP header value (and / or add a new header) to provide detailed information about the client.

[0129] 就此而论,图3D是说明根据本发明实施例的进一步请求处理的流程图。 [0129] In this connection, FIG. 3D is a flowchart of a further embodiment of a request process of the present invention is described. 在步骤382,发送修改的信息头指令。 In step 382, ​​transmitting the modified information header instruction. 也就是说,向客户端发送一个请求,以请求与客户端基于标准或者先前的请求而早已发送或者准备发送的信息不同的信息。 In other words, a request is sent to the client, with the client to request a standards-based, or had a previous request to send or prepare different information sent. 在步骤383,发送唯一的客户端ID,以便使所请求并且然后从客户端接收的特定信息与该客户端相关联。 Step 383, the client-specific information transmitted unique client ID, our so requested and then received from a client with the client is associated. 例如,可以请求其它客户端的不同信息。 For example, different information may be requested of other clients. 有利的是,不同的终端用户机器可能具有内置的、用于检测的唯一ID代码。 Advantageously, the machine may have different end users a built-in, a unique ID code detection.

[0130] 客户端操作384-386说明了由于服务器操作382-383而对客户端处理的影响。 [0130] Client Operation 384-386 illustrate the effect due to the operation of the server and the client 382-383 treatment. 在步骤384,客户端应答基于步骤382接收的指令,并且将客户端ID指针地址信息附加到基于步骤383的所请求的头信息中。 In step 384, the client 382 based on the received reply command step, and the additional client ID pointer address information to the header information in step 383 based on the request. 在步骤385,取决于在步骤382的指令中请求的信息,客户端准备修改的头信息。 In step 385, the instruction depending on the requested information in step 382, ​​the client is ready to modify the header information. 在步骤386,客户端应进一步的请求发送具有ID的修改的头信息。 In step 386, the client should send a further request to modify an ID header.

16该子例程在步骤387结束。 16 The subroutine ends at step 387. 该修改的信息可以包括未包括在先前接收的信息中的信息,或者可以包括服务器所期望的、客户端理解的信息。 The modified information may include information not included in the previously received information, or may include the desired information server, the client understood. 这有利地允许了服务器获取所有期望的信息。 This advantageously allows the server to get all the desired information. 该修改的信息也可以排除之前包括的信息,或者排除客户端否则会发送给服务器的信息。 This information can also be modified to exclude the information included in previously excluded or sent to the client or server information. 特别是当一些数据不是服务器处的处理或者用于代码转换和/或提供媒体代码转换服务所期望的时,这可以有利地减少正在发送的数据量。 Particularly when some data processing at the server or not the amount of data for transcoding and / or provide media transcoding when a desired service, which may advantageously reduce being sent.

[0131] 客户端硬件、客户端用户接口版本或者其它客户端配置特征的适配信息可以被包括在由服务器请求和/或从客户端发送的配置信息中。 [0131] client hardware, the client user interface version or other client configuration feature adaptation information may be included in the request by the server and / or the configuration information transmitted from the client. 可以依据这个适配信息准备修改的头信息指令。 It can be prepared in accordance with this modified instructions adaptation header information. 这些适配信息例如可以依据在客户端处的特定浏览器配置。 The adaptation information may be configured in accordance with a particular browser at the client.

[0132] 实现体系结构的设计要求可被设计为提供编写定制客户端软件的更大自由度。 [0132] implementation architecture design requirements can be designed to provide more freedom to write custom client software. 例如,如果没有Javascript的编程限制,则定制的扩展(或许以C/C++编写)可以实现更高级或更准确的带宽测量算法。 For example, if there is no limit Javascript programming, the custom extensions (perhaps written in C / C ++) or may be more advanced and more accurate bandwidth measurement algorithms.

[0133] 可以提供一种形式的持续存储,以便可以从一个会话到另一个会话存储所检测的信息。 [0133] can provide a form of persistent storage, so that information from one session to another session storing the detected. 这可以有利地减少花费在带宽测量上的时间。 This may advantageously reduce the time spent on the measurement bandwidth. 作为选择,可以基于从服务器发送到客户端的数据的定时/时戳,不断地、定期地或者按照要求测量和/或更新带宽估计。 Alternatively, based on the timing / data is sent from the server to the client stamp, continuously, periodically, or in accordance with requirements for measurement and / or update the bandwidth estimation. 在给定会话内,例如,检测信息可以被保持在存储器中,以便它可以由客户端与请求一起发送到服务器。 Within a given session, e.g., the detection information may be held in memory, so that it can be sent to the server along with the request by the client.

[0134] 实现示例细节 [0134] Details of implementing the example

[0135] 如先前所述,客户端性能的直接报告通常比间接查询更容易和更有效。 [0135] As previously described, the client reports directly performance is generally easier and more efficient than indirect query. 对于媒体播放器检测,客户端可以有利地具有快速/容易地知道在客户端上安装了什么媒体播放器的方法。 For media player detection, the client may advantageously have quickly / easily know on what the client media player installation method. 根据一个实施例,在操作系统(或者软件安装管理器)中提供钩子(hooks),以便使检测软件可以直接查询安装了什么媒体播放器软件、其版本是什么、安装了什么版本的编解码器、和/或其它配置信息。 According to one embodiment, there is provided an operating system (or software installation manager) in the hook (Hooks), so that the detection software may directly query installed what media player software, what its version is installed what version of the codec , and / or other configuration information. 如果这样进行实现,以便仅仅安装了一个媒体播放器和/ 或其它的安装不可用,或者检测管理软件被集成到媒体播放器中,则作为替代、让媒体播放器软件直接报告这个信息可能是有利的。 If this is carried out to achieve, so that only the installation of a media player and / or other mounting is not available, or the detection management software is integrated into the media player, then instead, the media player software directly report this information may be advantageous to of.

[0136] 在服务器端,根据所报告的版本信息,可以进行有关客户端的实际媒体播放器性能的直接关联。 [0136] On the server side, according to the version information reported can be directly related to the actual media player about the performance of the client. 例如,人们知道VX^视频编解码器的版本1. 0. 4能够解码用CTZ算法压缩的视频,但该解码器需要视频帧/尺寸大小为8个像素的倍数。 For example, it is known version VX ^ video codec is capable of decoding with 1. 0.4 CTZ video compression algorithm, but the video frame decoder needs / size a multiple of eight pixels. 另一个示例可以是,如果客户端报告了它具有音频编解码器A ABC版本1. 1和音频编解码器A DEF版本3.0,则服务器不能发送用任何其它音频编解码器编码的数据,而且所使用的压缩算法必须可由客户端的音频编解码器之一解码。 Another example may be that if clients report that it has an audio codec A ABC and version 1.1 audio codec A DEF version 3.0, the server can not send any other audio codec encoded data, and the compression algorithm used to decode one of the clients of the audio codec must be.

[0137] 所有的带宽测量算法基本上归结为测量需要多长时间来接收已知大小的数据组块,或者在预定时间段内传输了多少数据。 [0137] substantially all comes down bandwidth measurement algorithms to measure how long it takes to receive the data chunks of known size, or how much data is transmitted in a predetermined time period. 有利地是,下面参考图5B更详细描述了这样一种算法,其包括发送多个数据组块中的一个或者多个,以便可以根据当前粗略估计的带宽改变或者选择组块大小或者计时块大小。 Advantageously, below with reference to FIG. 5B described in more detail a method, comprising transmitting one or more of the plurality of data chunks, or can choose to chunk size or timing block size according to a rough estimate of the current bandwidth change .

[0138] 检测信息可以在服务器端用于确定代码转换的比特率以及媒体播放器的格式/ 版本。 [0138] may be used to determine the format information detection / conversion version code bit rate and a media player on the server side. 以所有可能的带宽和编解码器组合提供代码转换通常是效率低且资源密集的。 Code to provide all possible combinations of bandwidth and a codec conversion are generally inefficient and resource intensive. 所使用的编解码器可以限于例如最普遍安装的编解码器,而且所编码的比特率可以限于支持最普遍目标听众的比特率,例如,201cbpS用于28. 8调制解调器,341ibps用于5½调制解调器, 90kbps用于ISDN,300kbps用于DSL,以及500kbps用于电缆调制解调器。 Codecs used may be limited, for example, the most common mounting codec, bit rate and the encoded bit rate may be limited to support the most common target audience, for example, 201cbpS for 28.8 modem, 341ibps for 5½ modem, 90kbps for ISDN, 300kbps for DSL, cable modems and for 500kbps. [0139] 返回到图3A中的步骤325,在图4A中更详细地描述了执行播放器检测的步骤。 [0139] Returning to step 325 of FIG. 3A described steps player detected more detail in FIG. 4A. 这个处理从步骤405开始。 This process begins with step 405. 在步骤410,进行关于用户具有什么浏览器的确定。 In step 410, a determination of what the user has a browser. 通常,用户的浏览器将是NETSCAPENAVIGATOR的版本,或者INTERNET EXPLORER (IE)的版本。 Typically, the user's browser version NETSCAPENAVIGATOR or INTERNET EXPLORER (IE) version. 如果用户具有NETSCAPE NAVIGATOR,则处理在步骤411继续。 If the user has NETSCAPE NAVIGATOR, processing continues at step 411. 在步骤411,贯穿驻留的mime (多用途的网际邮件扩充协议)类型数组和插件数组执行对给定媒体播放器的字符串搜索。 In step 411, the through MIME (Multipurpose Internet Mail Extensions) type arrays and plug resides array string to be searched for a given media player. mime类型数组是当接收到具有给定mime类型响应时加载什么应用的映射。 mime type of the array when receiving a response having a given mime type mapping what application loading. 任何给定媒体播放器一般具有它自己的mime类型。 Any given media player typically has its own mime types. 插件数组是已经安装了的所有浏览器插件的列表;通常,每个插件都已经登记了相应的mime类型。 Plugins array is a list of all browser plug-ins already installed; usually, each registered plug-ins have been appropriate mime type. 因此,这些数组通常将包含指示驻留在用户计算机上的媒体播放器(一个或多个)的字符串。 Therefore, these arrays will typically comprise a string indicating the user computer resides on a media player (s) is. 例如,QUICKTIME由字符串“QuickTime”指示, 而WINDOWS MEDIAPLAYER 由字符串“video/x-msvideo” 所指示。 For example, QUICKTIME by the string "QuickTime" indication, and WINDOWS MEDIAPLAYER indicated by the character string "video / x-msvideo".

[0140] 如果在步骤413中字符串搜索成功,则在步骤415确定存在播放器。 [0140] If successful at step 413 the search string, then in step 415 determines the presence of the player. 否则,处理在步骤416继续。 Otherwise, processing continues at step 416. 在步骤416,进行关于是否要搜索另一媒体播放器的确定。 In step 416, a determination is made whether to search for another media player. 如果是的话,则处理返回到步骤411,并且实施对另一媒体播放器的字符串搜索。 If so, the process returns to step 411, and another embodiment of a string search of the media player. 因此,虽然本发明可以实现为执行单次搜索,但是在所说明的实施例中,通常将执行多次字符串搜索。 Accordingly, while the present invention may be implemented to perform a single search, but in the illustrated embodiment, typically perform multiple string search. 该处理在步骤417结束。 The process ends at step 417.

[0141] 要注意到,可以使用稍有不同的名称或者属性向浏览器登记给定播放器的不同版本。 [0141] It is noted, you can use a slightly different name or registration attribute to the browser to different versions of a given player. 通过字符串搜索检测这些区别,可以提供关于特定版本的信息。 These differences detected by the string search can provide information about a particular version. 在本发明的实施例中, 字符串搜索使用javascript实现。 In an embodiment of the present invention, a string search using javascript implemented.

[0142] 如果在步骤410中确定用户的浏览器是INTERNETEXPL0RER,则处理在步骤420继续。 [0142] If determined that the user's browser in step 410 is INTERNETEXPL0RER, processing continues at step 420. 此时,要求浏览器为给定媒体播放器和版本实例化一个对象。 In this case, the requirements for a given browser and media player version instantiate an object. 在本发明的实施例中,这个实例化使用Vbscript来进行。 In an embodiment of the present invention, examples of this use Vbscript performed. 例如,将利用以下的语句尝试创建REALPLAYER版本5的对象: For example, use the following statement attempts to create a version of the object REALPLAYER 5:

[0143] CreateObjectC RealPlayer. RealPlayer (tm) ActiveX Control (32-bit)". [0143] CreateObjectC RealPlayer. RealPlayer (tm) ActiveX Control (32-bit) ".

[0144] 如果在步骤425中允许这个实例化,则如步骤430所示,这暗示媒体播放器实际上已存在于用户计算机上。 [0144] If at step 425 to allow the instantiated, as shown in step 430, which implies that the media player actually exist on the user's computer. 该处理然后在步骤440继续。 The process then continues at step 440. 如果在步骤425中不允许给定媒体播放器对象的实例化,则可以假定该媒体播放器不存在于用户计算机上。 If not, in step 425 a given media player object is instantiated, it can be assumed that the media player does not exist on the user's computer. 在步骤440,确定是否应该判断任何其它媒体播放器的存在。 In step 440, it is determined whether there are any other determination should media player. 如果是的话,则处理返回到步骤420,并且进行另一次尝试,这次实例化用于不同媒体播放器的对象。 If so, the process returns to step 420, and another attempt, the object for different instances of a media player. 如果在步骤440中确定将不搜索其它媒体播放器,则该处理在步骤417结束。 If it is determined not to search other media player in step 440, the process ends at step 417. 要注意到,在播放器之间的差别,尤其是在播放器版本之间的差别,可以由在步骤420中如何实例化播放器对象中的相应差别所检测。 It is noted, the difference between the players, in particular, a difference between the version of the player, may be detected in step 420 by the example of how differences in the respective player objects. 此外,对于支持版本查询的播放器对象(例如,QUICKTIME和REALPLAYER),可以向播放器直接询问有关它的版本。 In addition, support for the player object version query (for example, QUICKTIME and REALPLAYER), you can ask about it directly to the version of the player.

[0145] WINDOWS MEDIA PLAYER 检测 [0145] WINDOWS MEDIA PLAYER detection

[0146] 图4B是说明根据本发明的示例实施例的客户端视窗媒体播放器(WMP)检测的流程图。 [0146] FIG. 4B is a flowchart of a client Windows media player according to an example embodiment of the present invention (WMP) detection described. 在步骤441,检查WMP在这个客户端的OS/平台上是否可用。 In step 441, check WMP is available on the client's OS / platform. 如果不可用的话,则在步骤451将WMP版本设置为否,而且该方法移到根据这个示例的RealPlayer检测。 If not, then at step 451 the WMP version is set to NO, and the process moves to RealPlayer detection accordance with this example. 如果是的话,则在步骤442,检查ActiveX在客户端浏览器上是否可用。 If so, then in step 442, check ActiveX is available on the client browser. 如果是的话,则在步骤443, 检查是否可以创建用于WMP 7. 1或者WMP8的ClassID (类别ID)。 If so, then at step 443, to check whether or create a WMP 7. 1 of the ClassID WMP8 (category ID). 如果是的话,则在步骤444,将WMP版本设置为版本7. 1,并且该处理移到在这个示例中,根据图4C的RealPlayer检测。 If so, then at step 444, the WMP version is set to version 7.1, and the process moves on to this example, RealPlayer detection according to FIG. 4C. 如果在步骤443确定不能创建用于WMP 7. 1或者WMP 8的ClassID,则在步骤445, 检查是否可以创建用于WMP 7的ClassID。 If the determination at step 443 can not create a ClassID WMP 7. 1 or WMP 8, then in step 445, check whether the create ClassID WMP 7. 如果是的话,则将WMP版本设置为WMP 7并且处理移到RealPlayer检测。 If so, then WMP version is set to WMP 7 and the processing moves RealPlayer detection. 如果在步骤445确定不能创建用于WMP 7的ClassID,则在步骤447检查是否可以创建用于WMP 6. 4的ClassID,并且如果是的话,则将WMP版本设置为6. 4,以及如果不是的话,则处理移到步骤449。 In step 445 determines if you can not create a ClassID WMP 7, then in step 447 check if you can create a WMP ClassID 6. 4, and if so, then WMP version is set to 6.4, and if not, , the process moves to step 449. 在那里检查是否可以创建WMP对象,以及如果是的话,则将WMP版本设置为是,以及如果不是的话,则将WMP版本设置为否,然后不管怎样,该处理都移到如图4C中所说明的RealPlayer检测。 Check whether you can create objects in WMP there, and if so, then WMP version is set to yes, and if not, then WMP version is set to NO, then in any case, the process will move as illustrated in Figure 4C the RealPlayer detection.

[0147] 如果在步骤442中有关ActiveX在客户端浏览器上是否可用的检查结果是否,则处理移到步骤452。 [0147] If the checking result about the ActiveX browser on the client is available in step 442 whether or not, the process moves to step 452. 在步骤452,检查是否由插件登记了mime类型应用/x-ms-wmd。 In step 452, check whether the widget is registered mime type application / x-ms-wmd. 如果是的话,则将WMP版本设置为版本7,以结束WMP检测过程。 If so, then WMP version to version 7, to end the WMP detection process. 如果不是的话,则在步骤453, 检查是否向插件登记了mime类型应用/χ-msimv。 If not, then at step 453, to check whether the registered mime type application / χ-msimv to the plug. 如果是的话,则将WMP版本设置为版本6. 4,以结束该子例程。 If so, then WMP version set to version 6.4, to end the subroutine. 如果不是的话,则在步骤454,检查是否向插件登记了mime类型应用/x-msplayerf。 If not, then at step 454, to check whether the registered mime type application / x-msplayerf to the plug. 如果是的话,则将WMP版本设置为是,而如果不是的话,则将WMP版本设置为否,并且不管怎样,该处理都移到RealPlayer检测。 If so, then WMP version is set to be, and if not, then WMP version is set to No, and anyway, the process moves to RealPlayer are detected.

[0148] REALPLAYER 检测 [0148] REALPLAYER detected

[0149] 图4C是说明根据本发明的示例实施例的客户端RealPlayer(Real)检测的流程图。 [0149] FIG 4C is a flowchart illustrating RealPlayer (Real) detected by the client according to an exemplary embodiment of the present invention ends. 在步骤455,检查Real在这个客户端的OS/平台上是否可用。 In step 455, check Real is available on the client's OS / platform. 如果不可用,则将Real 版本设置为否,以结束该子例程,并且将该处理移动到QuickTime检测。 If not, then the Real version is set to NO to end the subroutine, and the process moves to QuickTime detection. 如果是的话,则在步骤456,检查ActiveX在这个浏览器上是否可用。 If so, then in step 456, check ActiveX is available on this browser. 如果是的话,则在步骤457,检查是否可以创建RealPlayer G2对象。 If so, then in step 457, check whether you can create RealPlayer G2 object. 如果可以的话,则把Real版本设置为RealPlayerG20bject. GetVersioninfoO,而且处理移到如图4D中所述的QuickTime检测。 If possible, set to put Real version RealPlayerG20bject. GetVersioninfoO, and processing moves to 4D is detected in the QuickTime FIG. 如果不可以的话,则在步骤459,检查是否可以创建RealPlayer对象。 If not, then in step 459, check whether you can create RealPlayer object. 如果可以的话,则将Real版本设置为版本5,以结束该子例程,而如果不可以的话,则处理移到步骤461,在其中检查是否可以创建RealVideo对象。 If so, then the Real version set to version 5, to end the subroutine, and if not, then processing moves to step 461, in which to check whether an object can be created RealVideo. 如果可以的话,则把Real版本设置为版本4,而如果不可以的话,则把Real 版本设置为否,并且不管怎样,都结束该子例程。 If possible, put the Real version to version 4, and if not, then put the Real version is set to No, and anyway, all over the subroutine.

[0150] 如果在步骤456中确定ActiveX在这个浏览器上可用,则该子例程移到步骤464, 如图4C所述,在其中检查是否由插件登记了mime类型音频/χ-pn-realaudio-plugin。 [0150] If it is determined ActiveX is available on this browser in step 456, the subroutine moves to step 464, as described in FIG. 4C, which checks whether the widget is registered mime type of the audio / χ-pn-realaudio -plugin. 在步骤465,将Real版本设置为是。 In step 465, the Real version is set to Yes. 然后,在步骤466,检查是否有包含“RealOne”的插件名称。 Then, in step 466, check if there are plug-in name contains "RealOne" of. 如果有,则在步骤467将Real版本设置为One,以结束该子例程。 If so, then in step 467 the Real version is set to One, to end the subroutine. 如果没有,则在步骤468, 检查是否有包含“RealPlayerG2”的插件名称,并且如果有,则把Real版本设置为G2,以结束该子例程。 If not, then in step 468, check if there are plug-in name contains "RealPlayerG2", and if so, put the Real version is set to G2, to end the subroutine. 如果没有,则在步骤470,检查是否有包含“RealPlayer”的插件名称。 If not, then in step 470, check if there are plug-in name contains "RealPlayer" is. 如果有, 则把Real版本设置为版本5,而且如果没有,则在步骤471,检查是否有包含“RealVideo”的插件名称。 If so, put the Real version set to version 5, and if not, then at step 471, check if there are plug-in name contains "RealVideo" of. 如果有,则把Real版本设置为版本4,并且如果没有,则把Real版本设置为否, 而且不管怎样,该处理都移到图4D并且进行QuickTime检测。 If there is, to put Real version version 4, and if not, put Real version is set to NO, and in any case, the process moves to FIG. 4D are detected and for QuickTime.

[0151 ] QUICKTIME播放器检测 [0151] QUICKTIME Player detection

[0152] 图4D是说明根据本发明的示例实施例的客户端QuickTime(QT)检测的流程图。 [0152] FIG. 4D is a flowchart of a client QuickTime (QT) according to an exemplary embodiment of the present invention detects FIG. 在步骤472,检查QT在这个客户端的OS/平台上是否可用。 In step 472, check QT is available on the client's OS / platform. 如果不可用,则将QT版本设置为否,以结束该子例程。 If not, then the QT version is set to No, to end the subroutine. 如果可用,则在步骤473,检查ActiveX在这个浏览器上是否可用。 If available, then in step 473, check ActiveX is available on this browser. 如果可用的话,则在步骤474,检查是否可以创建QuickTimeCheck对象。 If available, in step 474, check whether you can create QuickTimeCheck object. 如果不可以,则将QT版本设置为否,而且如果可以,则该子例程移到步骤475。 If not, then the QT version is set to No, and if so, the subroutine moves to step 475. 这里通过使用Call (调用) QuickTimeCheckOb jectVersion. IsQuickTimeAvailable ()来检查QuickTime 是否可用。 QuickTime is available here to check by using Call (call) QuickTimeCheckOb jectVersion. IsQuickTimeAvailable (). 如果在步骤475的检查结果是否,则将QT版本设置为否,而且如果步骤475的结果为是,则将QT版本设置为QuickTimeCheckObject. QuickTimeVersion,而且不管怎样,当在步骤482中保存检测结果时都结束该子例程。 If the test results are in step 475, then the QT version is set to No, and if the result of step 475 is yes, then the QT version is set to QuickTimeCheckObject. QuickTimeVersion, and in any case, when all save the test result in step 482 the end of the subroutine.

[0153] 如果在步骤473中确定ActiveX在这个浏览器上不可用,则在步骤478,检查是否由插件登记了mime类型音频/quicktime。 [0153] If it is determined in step 473 ActiveX on this browser is not available, then at step 478, checks whether the widget is registered mime type of audio / quicktime. 如果没有登记,则把QT版本设置为否,并且如果登记了,则在步骤479把QT版本设置为是。 If not registered, put QT version is set to NO, and if registered, at step 479 QT version is set to yes. 然后,在步骤480,检查是否有包含“QuickTimePlug-in”的插件名称。 Then, in step 480, check if there are plug-in name contains "QuickTimePlug-in" of. 如果没有包含,则结束该子例程,并且在步骤482保存检测结果。 If it does not, then the subroutine ends, and a detection result stored at step 482. 如果包含了,则将QT版本设置为QuickTimePlug-in版本,并且然后在步骤482保存该结果,以结束在图4B-4D所说明的处理组。 If included, then the version is set to QT QuickTimePlug-in version, and then save the results at step 482, to end the process in FIGS. 4B-4D group described.

[0154] 参见图3A中的步骤355,根据本发明的实施例,在图5A中更详细地说明向用户呈现首选项页面的步骤。 [0154] Referring to step 355 of FIG. 3A, according to an embodiment of the present invention, illustrated in Figure 5A in greater detail the step of the preferences page presented to the user. 该处理从步骤505开始。 The process begins at step 505. 在步骤510,从递送管理服务器加载首选项页面。 In step 510, the preference page is loaded from the delivery management server. 在步骤515,开始传输存储在首选项页面中的、已知大小的数据块。 In step 515, the preferences page, the data block size of the known transmission start storage. 对这个块的传输进行计时,以确定用户的连接速度。 This transport block is timed to determine the connection speed of the user. 这个块在下文中被表示为计时块。 This block is hereinafter represented as time-indicating block. 在本发明的实施例中,计时块作为HTML注释被包含在首选项页面中。 In an embodiment of the present invention, the timing block is included as an HTML comment in the preferences page. 因此,浏览器为了处理目的而忽略该计时块。 Therefore, the purpose browser in order to process and ignore the timing block.

[0155] 在计时块的传输开始的同时,浏览器记录该计时块传输开始时的时间。 [0155] simultaneously with the start timing of the transmission block, the browser when the timer recording time block transfer begins. 在步骤520,计时块的传输结束,并且浏览器也记录传输结束时的时间。 In step 520, the transmission timing block ends, and the browser also records the time at the end of transmission. 在步骤530,基于传输计时块所需要的时间以及基于块的已知大小,进行关于连接速度、即数据传输率的计算。 In step 530, the transmission timing based on the time required for the block and the known size of the block-based, i.e. calculated on the connection speed data transfer rate. 在步骤535,首选项页面的加载结束,并且为用户显示用户可能具有的可能配置。 In step 535, the end of the page loading preferences, and users may have displayed for the user of possible configurations. 在步骤M0,接收用户对于该配置的输入。 In step M0, receiving a user input for the configuration. 该处理在步骤545结束。 The process ends at step 545.

[0156] 首选项页面还可以在不同于上面关于图3A所述的时间上进行显示。 [0156] preferences page can also be different from the above with respect to FIG. 3A on the time display. 在本发明的实施例中,向用户给予内容供应商的网页中的链接,每当希望时,用户可以通过该链接访问首选项页面。 In an embodiment of the present invention, the content providers be given a link to the web page the user whenever hope, users can access the preferences page through the link. 这允许用户随意地改变所声明的首选项。 This allows the user to freely change the preferences stated. 在本发明的另一个实施例中,定期地、例如每六个月一次向用户显示首选项页面。 In another embodiment of the present invention, periodically, e.g. once every six months display preferences page to the user. 这允许用户进行配置信息的定期更新。 This allows the user to configure information is updated regularly.

[0157] 关于cookie的设置,当浏览器向服务器提出请求时,浏览器仅仅发出与该服务器域相关联的cookie。 [0157] provided on the cookie, when the browser request to the server, the browser cookie is only sent to the server associated with the domain. cookie以以下两种方法之一与新的域相关联: cookie in one of the following two methods associated with the new domain:

[0158] DSet-Cookie :从在新域内的服务器接收报头,或者 [0158] DSet-Cookie: header received from the server in the new domain, or

[0159] 2)由从新域中的服务器加载的页面经由javascript设置cookie。 [0159] 2) by the server to load the new page in the domain settings via javascript cookie.

[0160] 因为播放器检测代码并不总是从递送管理服务器页面运行(例如,其中作为内容供应商的网页头的一部分而加载播放器检测的情况),所以需要设置cookie的方法。 [0160] because the player does not detect the code (for example, part of the page header as a content provider and loading conditions detected by the player) always run from the delivery management server page, you need to set the cookie approach. 其目标是第三方cookie,借此代之以将否则会被设置为原有域(内容供应商域)的cookie设置为递送管理服务器域。 The goal is a third-party cookie, thereby replacing the otherwise will be set to the original domain (the content provider domain) is set to deliver a cookie management server domain. 在本发明的实施例中,这可以通过从javascript内进行dummy image ()(哑图像())请求来进行。 In an embodiment of the present invention, which may (dummy image ()) is performed by the request from the dummy image javascript (). 在假定具有从递送管理服务器域加载图像的请求的情况下,递送管理服务器可以通过送回kt-Cookie :header (报头)来作出应答。 In the request is assumed to have an image loaded from the delivery management server domain, the delivery management server may return kt-Cookie: header (header) to respond.

[0161] 这可以在上述步骤330和334中应用。 [0161] This may be applied in the above-described steps 330 and 334. 例如,可以在用户计算机处构造指向递送管理服务器处的cookie设置脚本的URL。 For example, you can set the script URL cookie delivery management server at the point in the construction of a user computer. 接下来,可以在用户计算机处创建哑图像对象。 Next, you can create a dummy image of an object at a user computer. 这个对象仅用于允许从javascript内向递送管理服务器域提出哑图像请求。 This object is only made for allowing the dummy image delivery request from the domain management server within the javascript. 然后,浏览器提出HTTP请求,以要求从递送管理服务器域加载哑图像;这个请求包括对cookie设置脚本的请求。 The browser then make an HTTP request to request images from dummy load delivery management server domain; this request includes a request for a cookie settings scripts. 递送管理服务器通过将cookie与服务器相关联(即,送回kt-Cookie :header)做出响应。 Delivery Manager server by the cookie associated with the server (ie, returned kt-Cookie: header) to respond. 这将允许将cookie发送到递送管理服务器,即使它们在用户计算机处的存在最初已经由内容供应商或者某些其它域所确定了也是如此。 This will allow cookie will be sent to the delivery management server, even if they exist in the user's computer at first been determined by the content provider or some other domains as well. 该配置信息存储在cookie中。 The configuration information is stored in a cookie.

[0162] 在用户和递送管理服务器之间的这种交换示例如下所述: [0162] This exemplary exchange between the user and the delivery management server as follows:

[0163] GET/ssp/cookieet ? [0163] GET / ssp / cookieet? gmPlayerPref = real HTTP/1. 1 gmPlayerPref = real HTTP / 1. 1

[0164] Accept:image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/ [0164] Accept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application /

[0165] vnd. ms-powerpoint, application/vnd. ms-excel, application/msword, ~k / -k [0165] vnd. Ms-powerpoint, application / vnd. Ms-excel, application / msword, ~ k / -k

[0166] Accept-Language:en-us [0166] Accept-Language: en-us

[0167] Accept-Encoding:gzip, deflate [0167] Accept-Encoding: gzip, deflate

[0168] User-Agent:Mozilla/4. 0(compatible ;MSIE 5. 5 ;Windows NT 5. 0) . [0168] User-Agent: Mozilla / 4 0 (compatible; MSIE 5. 5; Windows NT 5. 0)

[0169] Host:js.genericmedia. net [0169] Host:. Js.genericmedia net

[0170] Connection:Keep-Alive [0170] Connection: Keep-Alive

[0171] Cpokie:gmPlayers = vl % 2F % 2FQuickTime_4· 12 % 2F % 2FReal-6. 0. 7. 788% 2F% 2 [0171] Cpokie: gmPlayers = vl% 2F% 2FQuickTime_4 · 12% 2F% 2FReal-6 0. 7. 788% 2F% 2.

[0172] FWMP-6. 4% 2F% 2F ;gm PlayerPref = wmf ;gm BitratePref = 300000 . [0172] FWMP-6 4% 2F% 2F; gm PlayerPref = wmf; gm BitratePref = 300000

[0173] 服务器然后响应: [0173] The server then in response to:

[0174] HTTP/1. 1200 OK [0174] HTTP / 1. 1200 OK

[0175] Date:Tue,Jun.12,2001 20:08:29GMT [0175] Date: Tue, Jun.12,2001 20: 08: 29GMT

[0176] Server:Apache/1. 3. 14(Unix)mod_perl/l. 24 [0176] Server:. Apache / 1 3. 14 (Unix) mod_perl / l 24.

[0177] Set-Cookie:gmPlayers = vl % 2F % 2FQuickTime_4·12 % 2F % 2FReal-6. 0. 7. 788% [0177] Set-Cookie:. GmPlayers = vl% 2F% 2FQuickTime_4 · 12% 2F% 2FReal-6 0. 7. 788%

[0178] 2F% 2FWMP-6. 4% 2F% 2F ;domain = . genericmedia. net ;path = / ;expires = Mon, Sep.10, . [0178] 2F% 2FWMP-6 4% 2F% 2F;.. Domain = genericmedia net; path = /; expires = Mon, Sep.10,

[0179] 2001 20:08:29GMT [0179] 2001 20: 08: 29GMT

[0180] P3P:CP=〃 IND OUR PRE UNI ONL COM". [0180] P3P: CP = 〃 IND OUR PRE UNI ONL COM ".

[0181] Set-Cookie:gmPlayerPref = real ;domain = . genericmedianet ;path = / ; expires = Mon, [0181] Set-Cookie: gmPlayerPref = real; domain = genericmedianet; path = /; expires = Mon,.

[0182] Sep.10,2001 20:08:29GMT [0182] Sep.10,2001 20: 08: 29GMT

[0183] Connection:close [0183] Connection: close

[0184] Cache-Control:no-cache, max-age = 1 [0184] Cache-Control: no-cache, max-age = 1

[0185] Transfer-Encoding:chunked [0185] Transfer-Encoding: chunked

[0186] Content-Type: text/html [0186] Content-Type: text / html

[0187] 图5B是一般地说明根据本发明的实施例的带宽检测方法的流程图。 [0187] FIG 5B is a flowchart of the bandwidth of the detection method of an embodiment of the present invention is generally described. 在这个实施例中,子例程在步骤550开始,并且在步骤552继续进行以取出估计的带宽信息,例如该信息根据先前的带宽检测或其它方式确定。 In this embodiment, the subroutine starts in step 550, and proceeds to remove the estimated bandwidth information, for example information is determined according to the previous bandwidth detection step 552 or otherwise. 在步骤阳4,确定检取数据的估计时间,以便用足够的分辨率、即使用所估计的带宽信息来确定连接速度。 Step 4 In the male, it is determined estimated time retrieved data in order with sufficient resolution, i.e., using the estimated information to determine bandwidth connection speed. 这里,这个步骤的原因是,我们希望基于这个步骤的结果选择计时块或者组块大小,而且我们希望这个估计时间不短于可以其内在可容忍的分辨率内确定带宽信息的最小时间,并且不比这个最小时间长很多。 Here, the reason for this step is that we want to choose the timing block or chunk size based on a result of this step, and we want to estimate the time is not shorter than the minimum time determines the bandwidth of the information which can be tolerated inherent resolution, and better than the minimum time is much longer. 例如, 如果该估计时间对于具有缓慢连接速度的客户端来说太长了,则该带宽测量将可能涉及对用户的令人讨厌的以及不需要的延迟。 For example, if the estimated time is too long the client has a slow connection speed, the bandwidth of the measurement will likely involve unwanted and annoying delays to the user. 然而,如果例如对于具有非常快连接速度的客户端来说所估计的时间太短了,则在确定中的误差将会太大或者在可容忍的误差范围之外。 However, for example, if the client has a very fast connection speed is the estimated time is too short, the error in the determination will be too large or beyond the tolerable error range.

[0188] 一旦确定了估计时间,则在步骤556确定将花费所估计的时间来进行传送的组块大小或者计时块大小。 [0188] Once the estimated time, then in step 556 determines the estimated time it will take to perform chunk size or timing block size transmitted. 根据优选实施例,在计时块或者组块中使用了诸如随机ASSCII数据之类的随机数据,以便调制解调器将不会压缩该数据并且使通信时间显著短于所估计的时间,并且使结果在分辨率容限范围之外。 According to a preferred embodiment, in the timing block or chunk of data such as a random ASSCII random data, the modem will not be compressed so that the data and the communication time is significantly shorter than the estimated time, and the results Resolution tolerance range.

[0189] 一旦确定了将大致花费所估计时间的计时块大小或者组块大小,就在步骤558中将具有所确定大小的计时块或者数据组块传送到客户端。 [0189] Once the cost will be approximately estimated time or timing block size chunk size, it has determined the size of the timing block or chunk of data to the client in step 558. 测量传送计时块所花费的实际时间。 Measuring the actual transfer takes time measuring block. 然后,在步骤560,基于在步骤558中发送的数据组块或者计时块的大小、以及基于由客户端测量的检取时间,确定带宽。 Then, at step 560, based on the size of data chunks or blocks clocking transmitted in step 558, and retrieved based on the measured time client, determines the bandwidth. 在图5B所说明的子例程在步骤562结束。 Subroutine illustrated in FIG. 5B ends at step 562.

[0190] 根据实施例访问媒体内容 [0190] According to an embodiment of access media content

[0191] 如此处所述,根据优选实施例的系统和方法响应于观众对访问媒体内容的请求, 对点播媒体内容进行代码转换。 [0191] As described herein, the method and system according to the preferred embodiment of the viewer in response to a request to access the media content, on-demand media content transcoding. 另外,在媒体内容的发布之后,作为媒体内容递送处理的一部分,优选实施例实质上“实时”执行媒体内容的代码转换。 Further, after release of the media content, media content delivery as part of the process, for example, substantially "real-time" media content transcoding performed preferred embodiment. 在特定实施例中,在向媒体代码转换引擎(参见通过引用并入在此的美国专利6,407,680和美国专利申请10/644,602) 提交观看媒体内容的请求以及将媒体内容递送给观众客户端之间的延迟将大致为三十秒或者更少。 In certain embodiments, the media transcoding engine (see, herein incorporated by reference U.S. Patent No. 6,407,680 and U.S. Patent Application No. 10 / 644,602) to submit a request to view the media content, and content delivery to a media the delay between the viewer client approximately thirty seconds or less. 然而,本发明不局限于特定的递送时间,并且可以包含大于或者小于三十秒的各种递送时间。 However, the present invention is not limited to a specific delivery time, and may comprise more or less than thirty seconds Various delivery time.

[0192] 图6A-6C描述了根据本发明实施例的一种方法的流程图1500,观众通过该方法访问媒体内容。 [0192] Figures 6A-6C depicts a flowchart of a method according to an embodiment of the present invention 1500, viewers access media content by this method. 然而,本发明不局限于由流程图1500提供的描述。 However, the present invention is not limited to the description provided by the flowchart 1500. 相反,根据此处的示教,在本发明的范围和精神之内的其它功能流程对于本领域的技术人员来说将会是显然的。 In contrast, according to the teachings herein that other functional flow within the scope and spirit of the invention to those skilled in this art will be apparent.

[0193] 在图6A的步骤1502处,观众经由观众客户端将访问媒体内容的请求发送到在媒体代码转换引擎内的观众网络服务器接口。 [0193] At step 1502 of FIG. 6A, the viewer via the viewer requests the client to access the media content is sent to the viewer interface to the network server within the media transcoding engine. 在实施例中,该请求是当观众点击内容供应商网站上的URL时由观众客户端生成的HTTP请求。 In an embodiment, the request is when a viewer clicks on the URL content provider site HTTP requests generated by a viewer client. 如上所述,可以在媒体内容发布处理期间由媒体代码转换引擎提供给内容供应商的URL链接,包含地址信息和源信息,这些信息将观众客户端指向媒体代码转换引擎,并且向媒体代码转换引擎提供有关所请求的媒体内容源的信息。 As described above, it can be published in media content during processing the URL link provided by the media transcoding engine for content providers, including address information and source information that will point viewers client media transcoding engine, and the media transcoding engine provide information about the requested media content source. 在观众网络服务器接口接收了该请求之后,它将该请求转发到任务管理器(再次参见通过引用并入的专利6,407, 680和申请10/644,602)。 After the viewer web server interface receives the request, it forwards the request to the task manager (again see the incorporated by reference patents 6,407, 680 and application 10 / 644,602).

[0194] 在步骤1504,任务管理器分析该请求,以确定是否包括了用于服务于该请求的必要的请求信息。 [0194] In step 1504, the task manager analyzes the request to determine whether the request includes information necessary for servicing the request. 在本发明的其中请求包含HTTP请求的实施例中,任务管理器分析HTTP请求的头,以确定是否包含了用于服务于该请求的必要的信息。 In an embodiment of the present invention wherein the request comprises an HTTP request, the task manager parses the HTTP request header to determine if the necessary information is contained in the request for service. 在实施例中,必要信息至少包括源位置、源类型、目标位置、和目标类型。 In an embodiment, the necessary information includes at least a source location, source type, the target position, and the target type. 源类型和目标类型每个都由至少一个发布变量所定义。 Source and target types each composed of at least one publication as defined variables. 在实施例中,用于媒体内容的发布变量可以包括但不局限于文件格式、比特率、通信协议(一个或多种)、物理介质、压缩算法、数字权利管理信息、或者它们的任何组合。 In an embodiment, the variable release for media content may include, but are not limited to, file format, bit rate, communication protocol (one or more), physical medium, compression algorithm, the digital rights management information, or any combination thereof. 在一个实施例中,为服务于该请求所需要的信息至少包括源位置、源格式、源比特率、目标位置、 目标格式、和目标比特率。 In one embodiment, the information required to service the request includes at least a source location, the source format, bit rate sources, the target position, the target format, and the target bit rate.

[0195] 如果任务管理器确定请求信息不完整,则如步骤1506和1508所示,任务管理器将 [0195] If the task manager determines that the request is incomplete, and then as shown in step 1506, the task manager 1508

22取出必要的信息。 22 taken the necessary information. 例如,如果源类型或者源位置没有包括在该请求中,而且所请求的媒体内容存储在媒体代码转换引擎之内,则任务管理器可以查阅数据库以查找必要的源信息。 For example, if the source or type of source position is not included in the request, and the requested media content stored in the media transcoding engine, the task manager may consult a database to find the source of the necessary information. 作为选择,如果媒体内容相对于媒体代码转换引擎存储在外面,则任务管理器可以执行网络请求,以从内容供应商的网站取出必要的信息。 Alternatively, if the media with respect to media content stored outside of the transcoding engine, the task manager may perform network requests, to take out the necessary information from the content provider site. 例如,任务管理器可以执行HTTP请求、RTSP 请求、或者使用任何其它标准的网络应用协议的请求。 For example, the task manager can perform an HTTP request, RTSP request, the request or any other standard network application protocol. 另外,如果目标类型不可得到,则任务管理器可以通过查询观众客户端来取得所需要的信息。 In addition, if the target type is not available, the task manager can get the information they need by querying the audience client. 如上所述,在实施例中,可以将用于目标位置的最佳目标类型存储为观众客户端上的“cookie”,其可由任务管理器访问。 As described above, in an embodiment, may be stored in an optimal target type of a target location "cookie" on the viewer client, which is accessed by the task manager.

[0196] 在步骤1510,一旦任务管理器具有必要的信息来为该请求服务,则确定为了递送所请求的媒体内容需要执行什么任务。 [0196] In step 1510, once the task manager has the necessary information to service the request, it is determined to deliver the requested media content what tasks need to be performed. 该任务包括递送所请求的媒体内容所必需的全部步骤,并且可以包括:取出所请求的媒体内容,将所请求的媒体内容代码从源类型代码转换为目标类型,以及将代码转换后的媒体内容流式传输到观众客户端。 The task includes all of the steps of the media content necessary to deliver the requested and may include: Remove the requested media content, the media content requested code converted media content to the target type, and transcoding from a source type code streamed to the client viewer. 一旦任务管理器已经确定了需要执行什么任务,则它与资源管理器(再次参见通过引用并入的专利6,407,680和申请10/644,602)进行对接,并且指示资源管理器执行所需要的任务。 Once the task manager has identified the need to perform what tasks it with the resource manager (again see incorporated by reference patent 6,407,680 and application 10 / 644,602) for docking, and instructs the resource manager to perform the required tasks.

[0197] 资源管理器从任务管理器接收用于执行所需要的任务的指令,并且在步骤1512, 将每个任务分配给在该机器群内的一个或者多个机器。 [0197] Resource Manager from the task manager receives instructions for performing the required task, and in step 1512, assign tasks to each of one or more machines in the machine group. 对资源管理器进行编程,以通过可用的资源实现任务的高效执行。 On the Explorer program, through the available resources to achieve efficient execution of tasks. 在实施例中,基于各种因素,其中包括但不限于哪些机器支持用于执行所需任务的必要工具、哪些机器具有可用资源(例如,可用CPU)、以及当为了执行而需要协作时哪些机器可以互相协作来执行任务,确定资源管理器对给定任务的资源分配。 In an embodiment, based on various factors, including but not limited to what is necessary to support the machine tools to perform required tasks, which the machine has available resources (e.g., the CPU can be used), and when required in order to perform the machine which cooperate you can collaborate with each other to perform the task, the resource manager to determine resource allocation for a given task. 还可以对资源管理器进行编程,以基于包括避免网路拥塞在内的各种其它标准来分配任务。 You can also program the resource manager to assign tasks to avoid network congestion, including based on a variety of other criteria. 例如,资源管理器可以被编程为将解压缩和压缩任务分配给同一机器,以便避免可能由在媒体代码转换引擎的内部网络内从一台机器向另一台机器传输未压缩的数据而导致的网路拥塞。 For example, the resource manager may be programmed to decompression and compression tasks assigned to the same machine, in order to avoid possible within the internal network of the media transcoding engine from one machine to another machine uncompressed data transmission caused by network congestion.

[0198] 根据优选实施例,资源管理器在分配任务之后监督这些任务以确保它们被适当地执行。 [0198] They are appropriately performed preferred embodiment, the resource manager monitors these tasks after the assignment according to the task to ensure. 资源管理器通过在数据库中保持全部已分配任务的列表、并且定期与运行给定任务的每台机器的从属监视器进行通信以便确定任务的状态,来监督所分配任务的执行。 Resource managers in a database holding a list of all assigned tasks, and regularly given task and operation of each machine in communication slave monitor to determine the status of the task, performed to monitor the assigned task.

[0199] 在实施例中,资源管理器定期轮询已经向其分配了任务的机器的从属监视器,以确定任务的状态。 [0199] In an embodiment, the resource manager periodically polling the task has been assigned thereto slave machine monitor, to determine the status of the task. 在替换实施例中,从属监视器本身发送定期状态消息到资源管理器,以向资源管理器通知所分配任务的状态。 Embodiment, the slave monitor itself periodically send status messages to the resource manager to notify the state of the tasks assigned to the resource manager in alternative embodiments. 资源管理器将它从从属监视器接收的、有关每个任务以及每台机器的状态的信息存储在数据库中,以便有助于其分配和监视必需任务的功能。 Resource manager stores information it receives from the slave monitor the status of each machine as well as about each task in the database, to facilitate its distribution and monitoring functions necessary tasks.

[0200] 在替换实施例中,从属监视器仅仅启动从资源管理器接收的任务,而任务本身直接向资源管理器报告而不是向从属监视器报告。 [0200] In an alternative embodiment, the slave monitor only started task received from the resource manager, and the task itself directly to the resource manager reported instead of reporting to the slave monitor.

[0201] 资源管理器根据容错例程监视每个分配的任务,该例程允许资源管理器确定何时任务已经失败了,并且允许资源管理器执行用于改正问题以及确保所请求的媒体内容的递送的必要步骤。 [0201] Resource manager allocates tasks each fault tolerant monitoring routine, the routine allows the resource manager to determine when the task has failed, and allows for the implementation of the resource manager to correct the problem and ensure that the media content of the requested the necessary steps to delivery. 例如,如果已经向其分配了任务的机器不对状态查询作出响应长达预定的时间段,则资源管理器可被编程为将任务重新分配到不同的机器并且重新启动未响应的机器。 For example, if the query has been made in response thereto for a predetermined period of time not assigned the task of state machines, the resource manager may be programmed to reassign the task to a different machine and restart the machine is not responding. 另外,在任务的失败还导致一连串分配的相关任务失败时,资源管理器可被编程为停止全部相关的任务,并且重新分配整组任务,以便确保所请求的媒体内容的递送。 In addition, the mission also resulted in failure when a series of related tasks assigned fails, the resource manager can be programmed to stop all related tasks, and reassign the entire set of tasks, in order to ensure the delivery of media content requested. 这些示例不是限制性的,而且基于此处包含的示教,其它容错方案对于本领域的技术人员来说将会是显然的,而且本发明包含这样的其它容错方案。 These examples are not limiting, and based on the teachings contained herein, other fault tolerance schemes to those skilled in the art it will be apparent to, and the present invention includes such other fault tolerance schemes. [0202] 在进一步的实施例中,分别向各个任务分配优先级。 [0202] In a further embodiment, the priorities are respectively assigned to each task. 资源管理器监视新任务,并且当现有任务的优先级低于需要被分配的新任务的优先级时,资源管理器将指示现有任务取消其自己以容纳新的较高优先级的任务。 Resource Manager to monitor the new task, and when the priority of an existing task needs to be below the new task assigned priority, the Explorer will indicate existing mandates cancel its own to accommodate the new higher priority task. 作为选择,从属监视器可以取消现有任务。 Alternatively, the slave monitor may cancel the existing tasks. 低优先级任务的示例包括在观众已经停止观看所请求的内容之后,为观众进行媒体内容的代码转换。 Example include low-priority task after the viewer has to stop watching the requested content, transcoding the media content to viewers.

[0203] 在步骤1514,在已经分配了全部任务之后,任务管理器构造对从观众客户端接收的、访问媒体内容的初始请求的答复。 [0203] In step 1514, after having allocated all the tasks, the task manager is configured to reply received from the viewer clients access the media content of the initial request. 该答复用来将观众客户端重定向到流式服务器或者代理服务器,观众客户端最终将从这些服务器接收所请求的媒体内容。 The viewer will reply to redirect the client to the streaming server or a proxy server, the client ultimately receives viewer requested media content from these servers. 在实施例中,该答复包含HTTP答复。 In an embodiment, the HTTP reply comprising a reply.

[0204] 在步骤1532,进行根据优选实施例的自动源类型检测是否打开的确定。 [0204] In step 1532, a determination is automatic source type detection is turned preferred embodiment of. 系统可以被永久地设置为自动源类型检测打开,或者被永久地设置为自动源类型检测关闭,或者可以有选择地进行切换。 The system may be permanently set to automatically detect the type of open source, or is permanently set to automatically turn off the source type detection, or may be selectively switched. 如果永久地打开或者关闭了自动源类型检测,则该确定不是必需的, 而且本方法可以移到相应的步骤1534或者1536。 If permanently open or close the automatic source type detection, the determination is not necessary, and the method may move to the corresponding step of 1534 or 1536. 在图6B所述的方法中,在进行了上述确定之后,然后该方法移到下一个相应步骤。 After the method of FIG. 6B, after the above determination, then the process moves to respective steps of a. 也就是说,如果打开了自动源类型检测,则在步骤1534,自动地从源服务器或者客户端取出源类型信息。 That is, if automatic source type detection is opened, then at step 1534, source type information is automatically removed from the source server or a client. 优点是,这对于用户来说是较快速和较简单的。 The advantage is that it is faster and simpler for the user. 做为选择,如果关闭了自动源类型检测,则在步骤1536,请求通过源用户接口来自正点播该内容的用户的输入。 Alternatively, if automatic source type detection closed, then at step 1536, a request from the user interface through the source of the n-demand content to a user input. 优点是,具有多个用于内容的源类型的用户可以在这些类型之间做出选择,或者如果源具有防火墙,则不能利用用户输入容易地检测出源类型。 The advantage is, the type having a plurality of sources of content for a user can choose between these types, or if the source has a firewall, using the user input can not be easily detected source type.

[0205] 在步骤1538,进行根据优选实施例的自动目标类型检测是否打开的确定。 [0205] In step 1538, the target type is determined according to the automatic detection of whether the preferred embodiment open. 系统可以被永久地设置为自动目标类型检测打开,或者被永久地设置为自动目标类型检测关闭, 或者可以有选择地进行切换。 The system may be permanently set to automatically open the detection target type, or is permanently set to automatically detect certain types of closing, or may be selectively switched. 如果永久地打开或者关闭了自动目标类型检测,则该确定不是必需的,而且本方法可以移到相应的步骤1540或者1542。 If permanently open or close the automatic destination type detection, the determination is not necessary, and the method may move to the corresponding step 1540 or 1542. 在图6B所述的方法中,在进行了上述确定之后,然后该方法移到下一个相应步骤。 After the method of FIG. 6B, after the above determination, then the process moves to respective steps of a. 也就是说,如果打开了自动目标类型检测,则在步骤1M0,自动地从目标服务器或者客户端取出目标类型信息。 That is, if the destination type detected automatically opened, then at step 1M0, automatically remove certain types of information from the target server or client. 优点是,这对于用户来说是较快速和较简单的。 The advantage is that it is faster and simpler for the user. 做为选择,如果关闭了自动目标类型检测,则在步骤1542,请求通过目标用户接口来自正点播该内容的用户的输入。 Alternatively, if automatic destination type detection off, then at step 1542, requesting via the user interface from the target n-demand content to the user's input. 优点是,具有多个用于内容的目标类型的用户可以在这些类型之间做出选择,或者如果目标具有防火墙,则不能利用用户输入容易地检测出目标类型。 Advantageously, the target having a plurality of types of user content may be used to choose between these types, or if the target has a firewall, can not easily be detected using the user input the target type.

[0206] 基于指定的规则、例如由媒体内容的发布者所提出的规则,或者基于商业规则,可以检测和应用独立于目标类型的进一步标准。 [0206] based on specified rules, such as rules by the publisher of the proposed media content, or based on business rules that can detect and applications independent of the type of objective standards further. 例如,带宽标准可以基于客户的合同,或者按发布者的要求、利用代码转换后的媒体内容插入片尾或者剪辑或者这两者。 For example, the bandwidth can be based on standard customer contract, or according to the requirements of the publisher, use of the media content transcoded clips inserted or credits, or both.

[0207] 在图6C的步骤1516-1526,在机器群内的机器根据从资源管理器接收的所分配任务,执行递送所请求的媒体内容所必需的步骤。 [0207] In the step of FIG. 6C steps 1516-1526, the machine in accordance with the machine group assigned tasks received from the resource manager, performs the requested media content delivery are required. 在本发明的实施例中,媒体内容的递送是流水线处理,其中可以同时进行同一个媒体内容流中的不同部分的取出、代码转换和流式传输。 In an embodiment of the present invention, the delivery of the media content is a pipeline processing in which different parts can be removed with a stream of media content simultaneously, transcoding and streaming. 资源管理器通过媒体代码转换引擎内的资源分配,安排这些步骤的流水线处理。 Converting the resource manager in the allocation of resources by the media code engine, arranged in the pipeline processing of these steps. 这些步骤的流水线处理导致媒体代码转换引擎对所请求媒体的更快递送时间。 These steps result in the pipeline processing media transcoding engine, the requested media faster delivery time.

[0208] 如步骤1516所示,如果所请求的媒体内容早已驻留在已被代码转换为适当目标类型(例如、适当目标格式和比特率或者其它适当的发布变量)的代码转换高速缓存中的话,则由流式服务器在步骤15M实现内容的递送,该流式服务器将代码转换后的媒体内容流式传输到观众客户端。 [0208] As shown in step 1516, if the requested media content already resides in the cache, then the code has been converted to the appropriate destination type (e.g., appropriate target format and bit rate, or other suitable variable release) transcoding delivered by the streaming server in the step 15M implementing content, the streaming media content server transcoded stream transmitted to the client viewer.

[0209] 然而,如果所请求的媒体内容没有驻留在已被代码转换为适当目标类型的代码转换高速缓存中,则如步骤1518所示,在机器群内的一个或者多个发送器服务器开始从源位置中取出所请求的媒体内容作为数据流。 [0209] However, if the requested media content does not reside in the translation cache has been converted to the appropriate target code type code, as shown in step 1518, one or more transmitters within the machine server cluster starts extracted from the source location of the requested media content as a data stream. 如上面关于图3A-;3B和4A-4D所述,在本发明的实施例中,所请求的媒体内容可以最初驻留在媒体代码转换引擎内的主存档内,驻留在媒体代码转换引擎外部的存档中,或者作为直接从内容供应商客户端馈送的流被接收。 As described above with respect to FIGS 3A-; 3B, and the 4A-4D, in the embodiment of the present invention, the requested media content may initially reside within the main archive media transcoding engine, the transcoding engine resides on media external archive, or received directly from a content provider client feed stream. 在所请求的媒体内容驻留在主存档内时,发送器服务器之一在媒体代码转换引擎的内部网络上取出所请求的媒体内容。 When the requested media content resides within the main archive, one server transmits the requested media content is taken out on the internal network of the media transcoding engine.

[0210] 在所请求的媒体内容驻留在媒体代码转换引擎之外的存档中时,发送器服务器之一使用在发布处理期间提供的访问信息来取出所请求的媒体内容。 [0210] When the requested media content archive reside outside the media transcoding engine, one of the transmission server using the access information provided during the release process to remove the requested media content. 在实施例中,在发送器服务器使用访问信息取出所请求的媒体内容之后,所请求的媒体内容可以被暂时高速缓存在主存档中,以允许当媒体代码转换引擎接收到对同一媒体内容的后续请求时,加快对该媒体内容的访问。 After embodiment, using the access information extracted requested media content transmission server, the requested media content may be temporarily cached in the master archive to allow when the media transcoding engine receives subsequent to the same media content when the request to speed up the access to the media content.

[0211] 当所请求的媒体内容是直接从内容供应商客户端馈送的流时,发送器服务器之一从内容供应商网络服务器接口取出流式数据。 [0211] When the requested media content directly from the content provider client feed stream, one sender server interface data stream extracted from the content provider server network. 因为在实际上由观众请求该数据之前,本发明的实施例不取出流式数据并且也不代码转换流式数据,所以由此避免了媒体内容的不必要的代码转换。 Because before the data is actually requested by the viewer, embodiments of the present invention does not remove the streaming data and streaming the transcoded data, thereby avoiding unnecessary transcoding media content.

[0212] 如步骤1520所示,在发送器服务器开始取出所请求的媒体内容之后,如果源类型与目标类型相同(例如,源格式和比特率与目标格式和比特率相同),则没有代码转换是必需的,而且只要取出媒体内容就把该媒体内容传输到流式服务器。 [0212], after the server starts sending the requested media content removed, if the same type as the target in step 1520 the source type (e.g., the source format and bit rate and the target bit rate and the same format), then no transcoding It is necessary, but is simply removed from the media server streaming the media content to put the content to transfer. 如下所述,在步骤1524, 流式服务器然后将该内容流式传输到观众客户端。 Described below, in step 1524, the content streaming server and streamed to the client viewer. 然而,如果源类型与目标类型不相同,则如步骤1522所示,在机器群内的代码转换服务器之一将把媒体内容从源类型代码转换为目标类型。 However, if the source type to the target type is not the same, as shown in step 1522, one of the transcoding server cluster within the machine will media content from the source type to the target type of code. 根据上面关于步骤1512的论述,资源管理器将代码转换任务分配给代码转换服务器,该服务器运行必要的代码转换器软件,以便执行发布变量的适当转换。 According to the discussion above with respect to step 1512, resource manager transcoding tasks assigned to transcoding server, which performs the necessary transcoding software, in order to perform appropriate conversion publish variables. 在实施例中, 代码转换使用各种众所周知的方法之一实现,并且用于将一种类型的媒体内容转换为另一种类型,其包括用于将媒体内容进行代码转换的传统编解码例程。 In an embodiment, the transcoding using one of various well-known methods to achieve, and for converting one type to another type of media content, comprising conventional codec routine for transcoding media content . 下面提供了代码转换操作和示例的进一步描述。 Transcoding operations is provided below and further described in the examples. 在实施例中,在代码转换完成之后,将代码转换后的媒体内容的副本暂时存储在代码转换高速缓存中,以允许当媒体代码转换引擎接收到对被代码转换为同一目标类型的同一媒体内容的后续请求时,加快该媒体内容的递送。 In an embodiment, after the code conversion is completed, the copy of the transcoded media content is temporarily stored in the transcode cache to allow when the media transcoding engine receives the same media is transcoded to the same target type content when subsequent requests, to accelerate the delivery of the media content.

[0213] 在步骤15M,一旦从代码转换器、发送器或者代码转换高速缓存中接收了以适当目标类型的媒体内容,流式服务器之一就将该媒体内容流式传输到观众客户端。 [0213] At step 15M, once converted from the cache transcoder, code transmitter or the receiver to the appropriate destination type media content, one streaming server transmission of the streaming media content to the viewer client. 在实施例中,经由可选的代理服务器将代码转换后的媒体内容流式传输到观众客户端。 In an embodiment, a proxy server via an optional media stream content transcoded transmitted to the client viewer. 在进一步的实施例中,要么流式服务器要么可选的代理服务器保持有关正被递送的媒体内容以及正进行递送的媒体内容的目标类型的使用统计数据,这些使用统计数据由资源管理器使用以用于高速缓存管理目的。 In a further embodiment, the streaming server or a proxy server or an optional holding the target type using the statistics about the media content being delivered, and the media content being delivered, and the use of these statistical data used by Explorer to for cache management purposes.

[0214] 在实施例中,用于将媒体流式传输到观众客户端以及用于在发送器服务器、代码转换器服务器和流式服务器之间流式传输数据的协议是诸如RTSP之类的、用于流式媒体的标准协议。 [0214] In an embodiment, a media stream to the viewer client, and protocol streaming data transmission between the server, the server and the transcoder such as a streaming server for the RTSP or the like, standard protocol for streaming media. 作为选择,可以使用在如TCP/UDP那样的标准网络协议上定义的专有协议。 Alternatively, a proprietary protocol may be used such as a TCP / UDP standard network protocols such as defined above. 在进一步的实施例中,不同的协议可以用来容纳不同的网络基础设施需要。 In a further embodiment, different protocols may be used to accommodate different network infrastructure needs. 例如,可以实现根据网络通信状况动态改变的协议。 For example, the protocol may be implemented in accordance with a dynamically changing network traffic conditions. 然而,这些示例是说明性的。 However, these examples are illustrative. 本发明不限于特定的通信协议或者应用,而且可以使用其它的专有或者非专有的网络通信协议和应用。 The present invention is not limited to a particular communication protocol or application, and may use other proprietary or non-proprietary communication protocols and network applications.

[0215] 在步骤15¾,观众客户端要么从流式服务器要么从代理服务器接收流式媒体。 [0215] In step 15¾, either the viewer or the client from the proxy server receives the streaming media from a streaming server. 此时,观众客户端根据与驻留在观众客户端上的媒体播放器相关联的目标类型,播放媒体内容。 In this case, according to the viewer client associated with the media player residing on the client viewer target type, playing media content. 在本发明的替换实施例中,媒体内容可以作为下载文件而接收并且存储在观众客户端上,用于在稍后时间播放,或者用于传输到替换的媒体播放设备。 Embodiment, the media content may be received as a download file in the alternative embodiment of the present invention and stored in the viewer client for playback at a later time, or for transmission to the alternate media playback apparatus. 在步骤15¾之后,流程图1500结束。 After step 15¾, flowchart 1500 ends.

[0216] 媒体内容示例 [0216] exemplary media content

[0217] 如专利6,407,680中所述,例如,媒体代码转换引擎可以包括一个或多个代码转换器。 [0217] As described in Patent 6,407,680, for example, media transcoding engine may include one or more transcoders. 代码转换器将某些类型的媒体内容(此处称为源类型)转换为另一类型的媒体内容(此处称为目标类型)。 Transcoder certain types of media content (referred to herein as source type) conversion to another type of media content (referred to herein as target type). 代码转换可以涉及许多不同的转换操作。 Transcoding may involve a number of different conversion operations. 所使用的特定转换操作取决于正被转换的媒体内容以及相关联的发布变量。 Specific conversion operation used depends on the media, and publishing content associated with a variable being converted. 这是为什么可能作为目标的客户端的配置信息的有效检测是有利的原因。 This is why you might detect a valid target client configuration information is beneficial reasons. 此处使用的发布变量涉及媒体内容的不同特征。 Different release characteristics variables used herein relates to media content.

[0218] 根据优选实施例,媒体内容是在网络上发布的数字数据。 [0218] Preferred embodiments according to the digital data, the media content published on the web. 在这种情况下,发行物是指已经被格式化以便在网络上递送以及由目标媒体播放器观看的数字数据。 In this case, it refers to publications that has been formatted for delivery on a network, and viewed by the target digital media player data. 用于媒体内容的发布变量可以包括但不局限于文件格式、比特率、通信协议(多个)、物理介质、压缩算法、和/或数字权利管理信息。 Post variables for media content may include, but are not limited to the file format, bit rate, communication protocol (s), physical medium, compression algorithms, and / or digital rights management information.

[0219] 数字数据可以是任何类型的文件格式,其包括当不限于容器格式、位图格式、视频格式、音频格式、矢量格式、元文件格式、场景格式、动画格式、多媒体格式、混合格式、超文本以及超媒体格式、三维数据(3D)格式、虚拟现实建模语言(VRML)格式、字体格式(位图字体、笔划字体、基于样条的轮廓(spline-based outline)字体)、页面描述语言(PDL)格式、以及任何其它类型的图形文件格式或者其他文件格式。 [0219] The digital data may be any type of file formats, including when is not limited to the container format, a bitmap format, video format, audio format, a vector format, metafile format, scenario format, animated, multimedia formats, hybrid format, hypertext and hypermedia format, three-dimensional data (3D) format, virtual reality modeling language (VRML) format, font format (bitmap fonts, stroke fonts, based on the profile spline (spline-based outline) fonts), page description language (PDL) format, as well as any other type of graphics file formats or other file formats. 表格1列出了可以在本发明的实施例中使用的这样的文件格式的示例: Table 1 lists examples of such may be used in file format in the embodiment of the present invention:

[0220] 表格1 [0221] 示例文件格式 [0222] 格式 类型[0223] ADOBE ILLUSTRATOR 元文件[0224] ADOBE PHOTOSHOP 位图[0225] ATARI ST GRAPHICS FORMATS 位图和动画[0226] AUTOCAD DXF 矢量[0227] AUTODESK 3D STUDIO 场景描述[0228] BDF 位图[0229] BRL-CAD 其它[0230] BUFR 其它[0231] CALS RASTER 位图[0232] CGM 元文件[0233] CMU FORMATS 多媒体[0234] DKB 场景描述[0235] DORE RASTER FILE FORMAT 位图[0236 DPX 位图[0237 DR. HALO 位图[0238 DVM MOVIE 动画[0239 ENCAPSULATED POSTSCRIPT 元文件(页面[0240 FACESAVER 位图[0241 FAX FORMATS 位图[0242 FITS 其它[0243 FLI 动画[0244 GEM RASTER 位图[0245 GEM VDI 元文件[0246 GIF 位图[0247 GRASP 动画[0248 GRIB 其它[0249 HARVARD GRAPHICS 元文件[0250 HIERARCHICAL DATA FORMAT 元文件[0251 IFF 位图[0252 IGES 其它[0253 INSET PIX 位图[0254 INTEL DVI 多媒体[0255 JPEG FILE INTERCHANGE FORMAT 位图[0256 KODAK PHOTO CD 位图[0257 KODAK YCC 位图[0258 LOTUS DIF 矢量[0259 LOTUS PIC 矢量[0260 L [0220] Table 1 [0221] Example File Format [0222] format type [0223] ADOBE ILLUSTRATOR metafile [0224] ADOBE PHOTOSHOP bitmap [0225] ATARI ST GRAPHICS FORMATS Bitmap and animation [0226] AUTOCAD DXF vector [0227] AUTODESK 3D STUDIO scene description [0228] BDF bitmap [0229] BRL-CAD other [0230] BUFR other [0231] CALS RASTER bitmap [0232] CGM metafile [0233] CMU FORMATS Display [0234] DKB scene description [0235 ] DORE RASTER fILE FORMAT bitmap [0236 DPX bitmap [0237 DR. HALO bitmap [0238 DVM mOVIE animation [0239 ENCAPSULATED POSTSCRIPT metafile (page [0240 FACESAVER bitmap [0241 FAX FORMATS bitmap [0242 FITS other [0243 FLI animation [0244 GEM RASTER bitmap [0245 GEM VDI metafile [0246 GIF bitmap [0247 GRASP animation [0248 GRIB other [0249 HARVARD GRAPHICS metafile [0250 HIERARCHICAL DATA FORMAT metafile [0251 IFF bitmap [0252 IGES others [0253 INSET PIX bitmap [0254 INTEL DVI Display [0255 JPEG FILE INTERCHANGE FORMAT bitmap [0256 KODAK PHOTO CD bitmap [0257 KODAK YCC bitmap [0258 LOTUS DIF vector [0259 LOTUS PIC vector [0260 L UMENA PAINT 位图[0261 MACINTOSH PAINT 位图[0262 MACINTOSH PICT 元文件[0263 MICROSOFT PAINT 位图[0264 MICROSOFT RIFF 多媒体[0265 MICROSOFT RTF 元文件[0266 MICROSOFT SYLK 矢量[0267 MICROSOFT WINDOWS BITMAP 位图[0268 MICROSOFT WINDOWS METAFILE 元文件[0269 MIFF 位图[0270 MPEG 其它[0271 MTV 场景描述[0272 NAPLPS 元文件[0273 NFF 场景描述[0274 OFF 场景描述[0275] 0S/2BITMAP 位图 UMENA ​​PAINT Bitmap [0261 MACINTOSH PAINT Bitmap [0262 MACINTOSH PICT metafile [0263 MICROSOFT PAINT Bitmap [0264 MICROSOFT RIFF Display [0265 MICROSOFT RTF metafile [0266 MICROSOFT SYLK vector [0267 MICROSOFT WINDOWS BITMAP bitmap [0268 MICROSOFT WINDOWS METAFILE metafile [0269 MIFF bitmap [0270 MPEG other [0271 MTV scene description [0272 NAPLPS metafile [0273 NFF scene description [0274 OFF scenario described in [0275] 0S / 2BITMAP bitmaps

[0276] P3D 场景描述 [0276] P3D scene description

[0277] PBM.,PGM.,PNM.,以及PPM. 位图 [0277] PBM., PGM., PNM., And PPM. Bitmap

[0278] PCX 位图 [0278] PCX bitmap

[0279] PDS 其它 [0279] PDS other

[0280] PICTOR PC PAINT 位图 [0280] PICTOR PC PAINT bitmap

[0281] PIXAR RIB 场景描述 [0281] PIXAR RIB scene description

[0282] PL0T-10 矢量 [0282] PL0T-10 vector

[0283] PNG 位图 [0283] PNG bitmap

[0284] POV 矢量 [0284] POV vector

[0285] PRESENTATION MANAGER METAFILE 元文件 [0285] PRESENTATION MANAGER METAFILE Metafile

[0286] PRT 场景描述 [0286] PRT scene description

[0287] QRT 场景描述 [0287] QRT scene description

[0288] QUICK TIME 其它 [0288] QUICK TIME other

[0289] RADIANCE 场景描述 [0289] RADIANCE scene description

[0290] RAYSHADE 场景描述 [0290] RAYSHADE scene description

[0291] RIX 位图 [0291] RIX bitmap

[0292] RTRACE 场景描述 [0292] RTRACE scene description

[0293] SAF 位图及其它 [0293] SAF bitmaps and other

[0294] SENSE8NFF 场景描述 [0294] SENSE8NFF scene description

[0295] SGI IMAGE FILE FORMAT 位图 [0295] SGI IMAGE FILE FORMAT Bitmap

[0296] SGI INVENTOR 场景描述 [0296] SGI INVENTOR scene description

[0297] SGI YAODL 场景描述 [0297] SGI YAODL scene description

[0298] SGO 矢量 [0298] SGO vector

[0299] SPIFF 位图 [0299] SPIFF bitmap

[0300] SUN ICON 位图 [0300] SUN ICON bitmap

[0301] SUN RASTER 位图 [0301] SUN RASTER Bitmap

[0302] TDDD 位图和动画 [0302] TDDD and bitmap animation

[0303] TGA 位图 [0303] TGA bitmap

[0304] TIFF 位图 [0304] TIFF Bitmap

[0305] TTDDD 位图和动画 [0305] TTDDD and bitmap animation

[0306] URAY 场景描述 [0306] URAY scene description

[0307] UTAH RLE 位图 [0307] UTAH RLE bitmap

[0308] VICAR2 位图 [0308] VICAR2 bitmap

[0309] VIFF 位图 [0309] VIFF bitmap

[0310] VIS-5D 矢量 [0310] VIS-5D vector

[0311] VIVID AND BOB 场景描述 [0311] VIVID AND BOB scene description

[0312] WAVEFRONT OBJ 矢量 [0312] WAVEFRONT OBJ vector

[0313] WAVEFRONT RLA 位图[0314] WORDPERFECT GRAPHICS METAFILE 元文件 [0313] WAVEFRONT RLA bitmap [0314] WORDPERFECT GRAPHICS METAFILE metafile

[0315] XBM 位图 [0315] XBM bitmap

[0316] XPM 位图 [0316] XPM bitmap

[0317] XWD 位图 [0317] XWD bitmap

[0318] ZBR 元文件 [0318] ZBR Metafile

[0319] 参见Murray和vanRyper等人的著作,第1246页。 [0319] and vanRyper see Murray et al writings, p. 1246. 这些示例是说明性的而不用于限制本发明。 These examples are illustrative and are not intended to limit the present invention. 在给出这个描述的情况下,本领域技术人员显然可知,可以使用其他文件格式(现在已知或者在将来开发的文件格式)。 In the case of this description is given, apparent to those skilled in the art, other file formats may be used (either now known or developed in the future file format).

[0320] 即使在相同的文件格式内,也可以根据不同的压缩算法压缩数字内容。 [0320] Even within the same file format, the digital content may be compressed according to different compression algorithms. 例如, 在QUICK TIME 格式化的文件中,可以根据H. 263, CINEPAK、JPEG、QT ANIMATION、或者QT VIDEO标准压缩视频。 For example, in the QUICK TIME formatted file, a video may be compressed in accordance with H. 263, CINEPAK, JPEG, QT ANIMATION, or QT VIDEO standard. 作为进一步的示例,在WINDOWS MEDIA ASF格式化的文件中,可以根据MICROSOFT AUDIO F0RMAT、ACELP、V0XWARE、或者MP3标准压缩音频。 As a further example, in the WINDOWS MEDIA ASF file format, the audio can be compressed according MICROSOFT AUDIO F0RMAT, ACELP, V0XWARE, or MP3 standards. 可以基于根据比特率的选择、或者根据内容的属性进行的优化,进行压缩算法选择。 The selection may be based on the bit rate, or optimization according to the attribute of the content, compression algorithm selection. 例如,可以使用不同的压缩算法更有效地分别压缩其中很少出现运动的视频文件(“说话者头部特写”)和其中有大量运动的视频文件(“高速运动”视频)。 For example, you can use different compression algorithms are more efficient compression which rarely motion video file ( "the speaker talking head") and in which a large number of sports video files ( "fast moving" video).

[0321] 在任何一个压缩算法内,可以有进一步的改变。 [0321] in any of a compression algorithm, there may be further changed. 例如,根据JPEG标准压缩的文件可以是基于YUV的或者基于RGB的。 For example, files compressed according to the JPEG standard may be based on the RGB or YUV.

[0322] 关于优选实施例中的数字权利管理系统,根据本发明的一个方面检测的、在客户端计算机上的媒体播放器确定DRM信息类型、或者它可以处理的使用规则类型。 [0322] For the embodiment of the digital rights management system in the preferred embodiment, in accordance with one aspect of the present invention is detected, on the client computer media player determines the type of the DRM information, or it can be processed using the rule type. 例如, Windows Media Player可以解释和/或处理由微软Windows Media DRM系统提供的使用规则,但是通常不能解释和/或处理由Real的Helix DRM系统提供的那些使用规则。 For example, Windows Media Player can interpret and / or treatment usage rules provided by Microsoft Windows Media DRM system, but often can not explain and / or process using those rules provided by Real's Helix DRM system. 此外, RealOne播放器可以解释和/或处理由Real的Helix DRM系统提供的那些使用规则,但是不能解释和/或处理由微软WindowsMedia DRM系统提供的那些使用规则。 In addition, RealOne Player can interpret and / or process using those rules provided by Real's Helix DRM system, but can not explain and / or use rules to deal with those provided by Microsoft WindowsMedia DRM system. 也就是说,媒体播放器类型通常与它可以解释的DRM类型之间具有一一对应关系。 In other words, the type of media player typically has one to one relationship between the type of DRM and it can be explained.

[0323] 此外,DRM信息或者使用规则信息可以由包括标签以及它们的值的XrML、XML等描述。 [0323] In addition, DRM information or usage rule information may include a tag, and described by their values ​​XrML, XML and the like. DRM信息或者使用规则信息还可以附加到内容上。 DRM information or usage rule information can also be attached to the content. 或者,它可以与内容物理分离,并且通过内容ID等与内容在逻辑上相关联。 Alternatively, it can be physically separated from the content, and the like by the content ID associated with the content logically. DRM信息或者使用规则信息还可以定义怎样和/或何时用户可以使用该关联的内容。 DRM information or usage rule information may also define how and / or when the user can use the content of the association.

[0324] 根据这个发明的一个方面,服务器系统可以自动地检测在客户端计算机上的媒体播放器类型,基于媒体播放器类型确定在客户端计算机上的DRM类型,并且自动地对DRM信息或者使用规则信息进行代码转换,以便能够在客户端计算机上解释和/或处理该信息。 [0324] According to one of this invention, the server system may automatically detect the media player type on the client computer is determined as the DRM type on the client computer-based media player type, and automatically the DRM information or use code conversion rule information to be able to interpret and / or process the information on the client computer. 如美国专利6,407,680所述,DRM信息可以从源类型(例如,MSFT WindowsMedia DRM)代码转换为目标类型(例如,Real Helix)。 As described in U.S. Patent No. 6,407,680, DRM information from the source type (e.g., MSFT WindowsMedia DRM) code into target type (e.g., Real Helix).

[0325] 根据本发明的这个方面,因此提供了一种用于远程确定多媒体内容用户的计算机配置的方法。 [0325] According to this aspect of the present invention, there is thus provided a method for remotely determining the multimedia content of the user computer configuration. 这种有利的方法包括:发送播放器检测代码到用户的计算机,接收有关用户计算机的配置信息,以及基于所接收的配置信息确定在用户计算机上的数字权利管理信息的类型。 This advantageous method comprising: sending player detection code to the user's computer, receiving configuration information regarding the user's computer, and based on the received configuration information to determine the type of digital rights management information on the user's computer.

[0326] 除上面所阐述的发布变量之外,还存在有对于视频数据和音频数据而言唯一的发布变量。 [0326] In addition to publishing the variables set forth above, there have only released for variables in terms of video data and audio data. 视频数据的发布变量包括视频图像的以像素为单位的宽度和高度以及视频的帧速率。 Post variable video data comprises pixels of the frame rate of the video image width and height, and video. 取决于比特率要求和数据的属性,为了确保最佳画面质量,不同的设置可能是必需的。 It depends on the bit rate and data attribute requirements, in order to ensure the best picture quality, different settings may be necessary. 例如,即使具有相同的比特率,一些视频可能以每秒15帧、160X 120像素能较好地观看,而一些其它视频可能以每秒5帧、320X240像素能较好地观看。 For example, even with the same bit rate, a number of video frames per second may be at 15, 160X 120 pixels can better view, while others may be at 5 frames per second video, 320X240 pixels can better view. 在比特率为56Kbps时,画面质量变得非常有限,而且几乎不会优化为以640X480像素分辨率递送视频。 When a bit rate of 56Kbps, the picture quality becomes very limited and hardly optimized for delivering video to a resolution of 640X480 pixels. 另一个用于视频数据的发布变量是每个分量的位数。 Another variable for the release of the video data is the number of bits of each component.

[0327] 用于音频数据的发布变量包括每秒的样本数目、声道数目(例如,单声道、立体声、5声道)以及样本大小(8位、16位等)。 Post variable [0327] for audio data includes the number of samples per second, the number of channels (e.g., mono, stereo, 5-channel) and sample size (8-bit, 16-bit, etc.). 考虑到特定的内容类型和比特率,不同的设置可能是确保音频质量所必需的。 Considering the particular content type and bit rate, different settings may be necessary to ensure that the audio quality. 发布变量还可以包括正被发送的数据包大小,以及对传输协议的选择(例如,TCP对比UDP)。 Post variables can further include the packet size being transmitted, and the selection of a transmission protocol (e.g., TCP contrast UDP).

[0328] 图7示出了一个示例代码转换器,其应请求将源类型媒体内容610代码转换为目标类型媒体内容650。 [0328] FIG. 7 shows an example of a transcoder, which converts the request source code for the type of media content 610 650 certain types of media content. 源类型媒体内容610是以一个或多个分组的形式在网络上递送的数字数据。 The type of media content source 610 in the form of one or more packets over the network to deliver digital data. 形成源类型媒体内容610的数字数据由一个或多个发布变量定义。 Digital data forming the content type of the media source 610 is defined by one or more publishing variables. 图7所示的发布变量包括以下变量中的一个或者多个:源文件格式、源比特率、源物理介质、源通信协议、源编码、或者它们的任何组合。 Published variables shown in Figure 7 comprises one or more of the following variables: the source file format, bit rate sources, the physical source media, source communication protocol, source code, or any combination thereof. 目标类型媒体内容650是以一个或者多个分组的形式在网络上递送给点播媒体内容的终端用户的数字数据。 Certain types of media content 650 in the form of one or more packet-demand media content delivered to the end user of digital data over a network. 形成目标类型媒体内容650的数字数据也由一个或多个发布变量所定义。 Digital data forming certain types of media content 650 is also defined by one or more publishing variables. 图7所示的发布变量包括以下变量中的一个或者多个:目标文件格式、目标比特率、目标物理介质、目标通信协议、目标编码、或者它们的任何组合。 Published variables shown in Figure 7 comprises one or more of the following variables: the target file format, bit rate target, the target physical medium, the target communication protocol, the target encoding, or any combination thereof.

[0329] 图8示出了这样一个示例实现的表格,其中一个或多个代码转换器应请求从源类型媒体内容710代码转换为第一目标类型750。 [0329] FIG 8 illustrates an exemplary implementation of such a table, wherein the one or more transcoders upon request from the source code for the type of media content 710 first target type 750. 图8还示出了这样一个示例实现,其中一个或多个代码转换器将点播内容从源类型媒体内容710代码转换为第二目标类型760。 8 also shows such an example implementation, wherein the one or more transcoders convert the on-demand content from a source type media content 710 to the second object type codes 760. 源类型媒体内容710包括根据以下源发布变量发布的数字数据,这些源发布变量为:物理介质是本地磁盘,通信协议包括文件1/0,文件格式是使用以1¾千位/秒GAps)的比特率的MP3编码的MP3。 The type of media content source 710 comprising a source of digital data released the following published variables, these variables are published sources: a local physical medium is a magnetic disk, communication protocol comprises 1/0 file, the file format is used to 1¾ kbits / sec GAPS) bits MP3 MP3 encoding rate. 第一目标类型媒体内容750包括根据以下目标发布变量而被代码转换用于发布的数字数据,这些发布变量为:物理介质是分组交换网络anternet),通信协议包括WINDOWS MEDIA STREAMING MMS协议,文件格式是使用以56kbps的比特率的MP3编码的WINDOWS MEDIA FILE。 The first destination type media content 750 is digital data comprises a release according to the following target variables transcoding published, these publishing variables: the physical medium is a packet switched network anternet), the communication protocol includes WINDOWS MEDIA STREAMING MMS protocol, a file format at the MP3 encoding bit rate of 56kbps WINDOWS MEDIA FILE. 第二目标类型媒体内容760包括根据以下目标发布变量而被代码转换用于发布的数字数据,这些发布变量为:物理介质是无线网络,通信协议包括HTTP,文件格式是包括以121ibps比特率的MP3编码在内的MP3。 The second type of target media content 760 comprises a digital data released according to the following target variables are released for transcoding, these variables are published: a physical medium is a wireless network, communication protocols including HTTP, file formats include MP3 bit rate to 121ibps coding, including MP3.

[0330] 其它示例如以下的表格所示: [0330] Other examples of the table shown below:

[0331] 表格2-5 :示例代码转换器操作 [0331] Table 2-5: Sample Code converter operation

[0332]表格 2 [0332] Table 2

[0333] 发布变量 源类型 [0333] release source type variable

[0334] 物理介质 盘 [0334] physical media disc

[0335] 通信协议(一种或多种) 文件I/O [0335] Communication protocols (one or more) file I / O

[0336] 容器格式 MPEGl [0336] MPEGl container format

[0337]编码 MPEGl [0337] MPEGl encoder

[0338] [0338]

[0339] 比特率 1. 5Mbps [0339] 1. 5Mbps bit rate

[0340]表格 3 [0340] Table 3

目标类型网络 Target type network

RTSP QUICK TIME S0RENS0N(视频) QDESIGN (音频) 300kbps[0341] 发布变量源类型目标类型[0342] 物理介质有线网络无线网络[0343] 通信协议(一种或多种) H//[' MMS[0344] 容器类型MPEG:[ WINDOWS ME[)工A[0345] 编码MPEG:t MI'EG4(视频)[0346] MSAUDl0(音频)[0347] 比特率1.5Mbps lOOkbps[0348] 表格4 RTSP QUICK TIME S0RENS0N (video) the QDESIGN (audio) 300kbps [0341] source type variable release certain type [0342] a wired network wireless network physical medium [0343] communication protocol (s) H // [ 'MMS [0344 ] container type MPEG: [WINDOWS ME [) ENGINEERING A [0345] encoded MPEG: t MI'EG4 (video) [0346] MSAUDl0 (audio) [0347] bit rate of 1.5Mbps lOOkbps [0348] table 4

Figure CN101330525BD00311

[0349] 发布变量源类型目标类型[0350] 物理介质有线网络有线网络[0351] 通信协议(一种或多种) H//[' R/S['[0352] 容器格式QUICK TIME. [0349] source type variable release certain type [0350] a wired network physical medium Wired Network [0351] communication protocol (s) H // [ 'R / S [' [0352] container format QUICK TIME. REAL[0353] 编码H. REAL [0353] encoding H. 263 REAL[0354] ['R0t'RIETARY G2视频/音频[0355] 比特率56kbps 56kbps[0356] 表格5[0357] 发布变量源类型目标类型[0358] 物理介质盘无线网络[0359] 通信协议(一种或多种) 文件[. 263 REAL [0354] [ 'R0t'RIETARY G2 video / audio [0355] bit rate of 56kbps 56kbps [0356] Table 5 [0357] Publish variable type source target type [0358] wireless network physical media disc [0359] protocol (a or more) file [. /'0 HTTI'[0360] 容器格式MPEG 1 M['3[0361] 编码MPEGl 仅仅音频一MP3. / '0 HTTI' [0360] container format MPEG 1 M [ '3 [0361] audio encoder MPEGl only a MP3. [0362] 比特率1.5Mbps 16kbps[0363] 图9是示出根据本发明实施例的示例客户端环境变量类型的表格。 [0362] bit rate of 1.5Mbps 16kbps [0363] FIG. 9 is a diagram illustrating exemplary client environment variable types of forms in accordance with an embodiment of the present invention. 优选实施例中的系统能够确定进一步的包括操作系统(。S)版本、网络浏览器版本、硬件平台和用户接口语言在内的客户端系统的特征。 System in the preferred embodiment is capable of determining further includes an operating system (.S) version, web browser version, hardware platform, and a user interface language features, including the client system. 即使在包括有利的性能以辨别那种类型n9 os、例如Wind。 Even in the favorable properties including to identify the type n9 os, e.g. Wind. WS、Ma(:或者Linux I正在客户端机器上使用的系统上,这个性能也是有利的改进。例如,即使已知该系统使用Win(1。WS,关于比客户端实际上所具有的版本更新的版本的假定也可能导致媒体流的完全失败,而早很多的版本的保守假定可能导致效率低。[0364] 提供了源类型810(即媒体内容来自该处并且最初为其进行配置)的一个示例,其具有Win(1。w X]'作为它的。S版本,具有Navigat.。r3.o作为它的浏览器版本,安装了奔腾4处理芯片并且使用Navigat。r3.o的.1avas(:ript,作为其用户接口语言。可以与此处根据实施例所描述的客户端配置的确定相类似地提供或者确定这些源类型。然后,将目标类型850说明为是Ma(:。SX操作系统,Omniw()b 4.1网络浏览器版本,G3处理器芯片,以及用:):Omniw()b 4.1的用户接口语言XSH'。一旦根据此处的实施例远程确定了目标类型850, WS, Ma (: Linux I or on the client machine is using the system, the improved performance is advantageous, for example, it is known that this system uses Win (1.WS, than on the client actually has an updated version. version may be assumed to lead to complete failure of the media stream, much earlier version conservative assumption may result in low efficiency. [0364] 810 provides the source type (i.e., where the media content from the original and its configuration) of a example, having Win (1.w X] '.S as its version, having as its Navigat..r3.o browser version, installed Pentium 4 processor chip and the use .1avas Navigat.r3.o ( :. ript, as a user interface language may provide the client is determined according to the herein described embodiments the configuration is similar to or the source type is then determined, the target type is illustrated as 850 Ma (:.. SX operating system , Omniw () b 4.1 web browser version, G3 processor chip, and with :):. Omniw () b 4.1 user Interface language XSH 'once according to embodiments herein, the remote 850 determines the target type , 且还确定了源类型810,则可以使用诸如可能优选为此处通过引用并入的美国专利申请10./'644:,602中所描述的之类的有利代码转换处理,以便将从源提供的媒体内容流式传输到目标,而不管所使用的不同类型的硬件和软件如何。[0365] 这些示例是说明性的而不是用于限制本发明。在给出这个描述的情况下,本领域技术人员显然可知,可以使用现在已知或者将来开发的其他类型的应请求执行的代码转换操作。 And also determines the type of source 810, such as may be used herein may be preferably incorporated by reference by U.S. Patent No. advantageously transcoding process such as described in 10./'644:,602 application, from the source to provide streaming media content to the destination, and how different types of hardware and software, regardless of use. [0365] these examples are illustrative and not intended to limit the present invention. in the case of the given description, the present art apparent to the art, it may be used other types of transcoding operations now known or developed in the future execution of the request.

[0366] 替换实施例 [0366] Alternatively Example

[0367] 此处已经描述了本发明的方法和系统的示例实施例。 [0367] have been described herein methods and systems of the exemplary embodiment of the present invention. 如在别处所述的那样,仅仅为了说明目的而已经描述了这些示范实施例,而不是将其用于限制。 As described elsewhere as, for illustrative purposes only and has been described in these exemplary embodiments, rather than for limiting. 基于此处包含的示教, 对于本领域的技术人员来说,与此处描述的那些实施例稍微不同或者基本上不同的替换实施例是显而易见的。 Embodiment is based on the teachings contained herein, those skilled in the art, those embodiments described herein with slightly different or substantially different alternative be apparent. 例如,本领域的技术人员应当理解:本发明中的代码转换系统和方法不仅局限于媒体内容的代码转换和递送,而且还包含所有类型信息的代码转换和递送,这些类型包括但不限于压缩文件、电子文档、HTML页面、XML文档、以及任何其它可以多种格式存储并且电子地递送的信息。 For example, those skilled in the art will appreciate that: a transcoding system and method of the present invention is not limited to the transcoding and delivery of media content, but also includes transcoding and delivery of all types of information, including but not limited to these types of compressed files , electronic documents, HTML pages, XML documents, and any other storage can be a variety of formats and electronic delivery of information. 其它替换的实施例包括但不局限于本发明中的方法、系统和部件的硬件、软件、以及软件/硬件实现。 Other alternative embodiments include, but are not limited to the hardware of the present invention a method, system and components, software, and software / hardware implementation. 这样的替换实施例落在本发明的范围和精神之内。 Such alternative embodiments within the scope and spirit of the invention.

[0368] 此外,还可以提供用于应请求将媒体内容从源类型代码转换为目标类型的系统和方法,其中该系统包括多个代码转换器,其用于从多个源类型代码转换为多个目标类型,以及其中该系统接收对媒体内容的代码转换请求,响应于该代码转换请求取出媒体内容,基于源类型和目标类型将媒体内容发送到多个代码转换器之一,将媒体内容从源类型代码转换为目标类型,由此生成代码转换后的媒体内容,并且传输该代码转换后的媒体内容。 [0368] In addition, the request may also be provided for media content from the source code for the type of system and method for target type, wherein the system comprises a plurality of transcoders for transcoding from a plurality of multi-source type a target type, and wherein the system receives a request for transcoding media content, the media content in response to the extracted transcoding request, based on the source and target types to send the media content to the one of the plurality of transcoders, the media content from transcoding the source type to the target type, thereby generating transcoded media content, media content and transmit the transcoded. 该系统可以以流水线方式取出、发送、和代码转换媒体内容、以及传输代码转换后的媒体内容。 The system can be removed in a pipelined manner, transmission, and transcoded media content, and the transmission of the transcoded media content. 该系统还提供了将媒体内容发布作为数字数据文件或者流,以用于存档媒体内容,以及高速缓存代码转换后的媒体内容以改进系统效率。 The system also provides a system efficiency of media content distribution files or as a digital data stream to the media content for archiving media content, and a cache to improve the transcoding.

[0369] 此外,在可以根据此处的优选实施例执行并且已经在上面描述过的方法中,已经以所选择的排版顺序描述了其中的操作。 [0369] Further, in the method embodiment may be performed according to the preferred embodiment has been described herein and above, it has been selected to describe the layout order of the operations therein. 然而,已经为了排版方便而选择并因此排序了这些顺序,该顺序不用于暗指用于执行这些操作的任何特定次序。 However, the layout has been chosen for convenience and thus the sorted sequence which is not used to imply any particular order for performing these operations.

Claims (44)

1. 一种用于远程确定多媒体内容用户的计算机配置的方法,包含:(a)发送播放器检测代码到用户计算机;(b)接收有关用户计算机的配置信息;(c)发送修改的信息头指令;(d)接收修改的头信息;以及(e)确定用户计算机的带宽,包括: 将数据块发送给用户计算机,根据在由计时器启动时间和计时器停止时间之间的差值而确定的时间期间传递的数据量来计算带宽。 1. A method for remotely determining the multimedia content of the user computer configuration, comprising: (a) sending player detection code to the user computer; (b) receiving configuration information regarding the user of the computer; (c) information transmitted modified header instructions; (d) receiving the modified header information; and (e) determining the bandwidth of the user's computer, comprising: a transmission data block to a user computer, the timer is stopped according to the start time and the difference between the time determined by the timer in the amount of data transferred during the time to calculate the bandwidth.
2.如权利要求1所述的方法,还包含:在发送修改的信息头指令后发送唯一的客户端ID,其中,所述修改的头信息附加有所述客户端ID。 2. The method according to claim 1, further comprising: a unique client ID transmitted after sending a modified information header instruction, wherein the modified header information attached with the Client ID.
3.如权利要求1所述的方法,步骤(d)在步骤(c)之后进行,并且所述修改的头信息包括一些未包括在先前接收的信息中的信息。 3. The method as claimed in claim 1, step (d) after step (c) carried out, and the modified header information does not include some information included in the previously received information.
4.如权利要求1所述的方法,步骤(d)在步骤(c)之后进行,并且所述修改的头信息排除了一些包括在先前接收的信息中的信息。 4. A method as claimed in claim 1, carried out after step (d) in step (C), and the modified information excluding some of the header information included in the previously received information.
5.如权利要求1所述的方法,在步骤(d)之前发送所述修改的信息头指令,并且根据所述修改的信息头指令准备所接收的配置信息。 5. The method of claim 1 wherein, in step (d) prior to transmitting the modified information header instruction, and prepared according to the received configuration information of the modified information header instruction.
6.如权利要求1所述的方法,所接收的配置信息包括一个或多个适配信息。 6. The method according to claim 1, the received configuration information comprises one or more adaptation information.
7.如权利要求6所述的方法,所述一个或者多个适配信息包含硬件适配信息。 7. The method of claim 6, wherein the adaptation information includes one or more hardware adaptation information.
8.如权利要求6所述的方法,所述一个或者多个适配信息包含用户接口版本适配信息。 8. The method of claim 6, wherein the adaptation information includes one or more user interface version adaptation information.
9.如权利要求6所述的方法,根据该适配信息准备所述修改的信息头指令。 9. The method of claim 6, prepared in accordance with the information of the adaptation information header instruction modification.
10. 一种用于远程确定多媒体内容用户的计算机配置的方法,包含:(a)在用户的计算机处从第二计算机接收播放器检测代码;(b)向第二计算机发送有关用户计算机的配置信息;(c)接收修改的信息头指令;(d)发送修改的头信息;以及(e)确定用户计算机的带宽,包括: 将数据块发送给用户计算机,根据在由计时器启动时间和计时器停止时间之间的差值而确定的时间期间传递的数据量来计算带宽。 10. A method for remotely determining the multimedia content of the user computer configuration, comprising: (a) receiving from the second computer player detection code the user at the computer; (b) transmitting on user configuration of the computer to the second computer information; (c) receiving a modified information header instruction; (d) sending the modified header information; and (e) determining the bandwidth of the computer user, comprising: transmitting a data block to a user computer, based on time by the timer and start counting the amount of data transmitted during a determined time difference between the stop time to calculate the bandwidth.
11.如权利要求10所述的方法,还包含:在接收修改的信息头指令后接收唯一的客户端ID,其中,所述修改的头信息附加有所述客户端ID。 11. The method according to claim 10, further comprising: receiving a unique client ID upon receiving the modified information header instruction, wherein the modified header information attached with the Client ID.
12.如权利要求11所述的方法,还包含:向配置信息附加客户端ID指针地址以便发送给第二计算机。 12. The method of claim 11, further comprising: a second computer to be sent to the additional configuration information to the client ID pointer address.
13.如权利要求10所述的方法,还包含:基于所接收的信息头指令准备修改的头信息。 13. The method of claim 10, further comprising: based on the received header instruction preparing modified header information.
14.如权利要求13所述的方法,还包含:向第二计算机发送具有附加的客户端ID的修改的头信息。 14. The method according to claim 13, further comprising: sending additional client ID having a modified header information to the second computer.
15.如权利要求14所述的方法,还包含:在发送该修改的头信息之前,接收进一步的配置信息请求。 15. The method of claim 14, further comprising: before sending the modified header information, further receiving the configuration information request.
16.如权利要求10所述的方法,步骤(d)在步骤(c)之后进行,并且所述修改的头信息包括一些未包括在先前接收的信息中的信息。 16. The method of claim 10, step (d) after step (c) carried out, and the modified header information does not include some information included in the previously received information.
17.如权利要求10所述的方法,步骤(d)在步骤(c)之后进行,并且所述修改的头信息排除了一些包括在先前接收的信息中的信息。 17. The method of claim 10, the step (d) after step (c) carried out, and the modified information excluding some of the header information included in the previously received information.
18.如权利要求10所述的方法,在步骤(d)之前接收修改的信息头指令,并且根据修改的信息头指令准备所发送的配置信息。 18. The method of claim 10, prior to receiving the modified information header instruction in step (D), and configuration information prepared according to the modification of the transmitted information header instruction.
19.如权利要求10所述的方法,所述发送的配置信息包括一个或多个适配信息。 19. The method according to claim 10, said configuration information includes one or more transmitting adaptation information.
20.如权利要求19所述的方法,所述一个或者多个适配信息包含硬件适配信息。 20. The method of claim 19, wherein the adaptation information includes one or more hardware adaptation information.
21.如权利要求19所述的方法,所述一个或者多个适配信息包含用户接口版本适配信息。 21. The method of claim 19, wherein the adaptation information includes one or more user interface version adaptation information.
22.如权利要求19所述的方法,根据该适配信息准备所述修改的信息头指令。 22. The method according to claim 19, to prepare the modified information header instruction based on the adaptation information.
23. 一种用于远程确定多媒体内容用户的计算机配置的系统,该系统包含:(a)用于发送播放器检测代码到用户计算机的装置;(b)用于接收有关用户计算机的配置信息的装置;(c)用于发送修改的信息头指令的装置;(d)用于接收修改的头信息的装置;以及(e)用于通过下述操作来确定用户计算机的带宽的装置: 将数据块发送给用户计算机,根据在由计时器启动时间和计时器停止时间之间的差值而确定的时间期间传递的数据量来计算带宽。 23. A system for remotely determining the multimedia content of the user computer configuration, the system comprising: (a) sending player detection code to the user's computer means; (b) means for receiving information relating to the user computer configuration (c) means for transmitting the modified information header instruction;; means receives the modified header information in (d) is used; and (e) determining the bandwidth of the user's computer means for operation by the following: data the amount of data block transmitted to the user computer, transmission time period according to a difference between start time and stop the timer and the timer time is determined to calculate the bandwidth.
24.如权利要求23所述的系统,该系统还包含:用于在发送修改的信息头指令后发送唯一的客户端ID的装置,其中,所述修改的头信息附加有所述客户端ID。 24. The system according to claim 23, the system further comprising: means for unique client ID transmitted after transmitting the modified information header instruction, wherein the modified header information attached with the client ID .
25.如权利要求23所述的系统,用于接收修改的头信息的装置在发送修改的信息头指令之后进行操作,并且所述修改的头信息包括一些未包括在先前接收的信息中的信息。 25. The system according to claim 23, the means for receiving the modified header information after sending the modified operation of the first instruction information and the modified header information does not include some information included in the previously received information in .
26.如权利要求23所述的系统,用于接收修改的头信息的装置在发送修改的信息头指令之后进行操作,并且所述修改的头信息排除一些包括在先前接收的信息中的信息。 26. The system according to claim 23, the means for receiving the modified header information after sending the modified operation of the first instruction information and the modification information exclude some header information included in the previously received information.
27.如权利要求23所述的系统,在接收修改的头信息之前发送所述修改的信息头指令,并且根据所述修改的信息头指令准备所接收的配置信息。 27. The system according to claim 23, transmitting the modified information header instruction prior to receiving the modified header information, and prepare received information according to the configuration of the modified information header instruction.
28.如权利要求23所述的系统,所接收的配置信息包括一个或多个适配信息。 28. The system according to claim 23, the received configuration information comprises one or more adaptation information.
29.如权利要求观所述的系统,所述一个或者多个适配信息包含硬件适配信息。 Concept 29. The system of claim, the adaptation information comprises a plurality of hardware or adaptation information.
30.如权利要求观所述的系统,所述一个或者多个适配信息包含用户接口版本适配信息。 Concept 30. The system according to claim adaptation information includes one or more user interface version adaptation information.
31.如权利要求观所述的系统,根据该适配信息准备所述修改的信息头指令。 Concept 31. A system according to claim prepare the modified information header instruction based on the adaptation information.
32. 一种用于远程确定多媒体内容用户的计算机配置的系统,该系统包含: (a)用于在用户的计算机处从第二计算机接收播放器检测代码的装置;(b)用于向第二计算机发送有关用户计算机的配置信息的装置;(c)用于接收修改的信息头指令的装置;(d)用于发送修改的头信息的装置;以及(e)用于通过下述操作来确定用户计算机的带宽的装置: 将数据块发送给用户计算机,根据在由计时器启动时间和计时器停止时间之间的差值而确定的时间期间传递的数据量来计算带宽。 32. A computer system configured to determine a remote multimedia content for a user, the system comprising: (a) for receiving from the second computer player detection code the user at the computer apparatus; (b) for the first second computer configuration information transmitting apparatus relating to the user's computer; (c) means for receiving the modified information header instruction is used; (d) means for transmitting the header information for modifying; and (e) is used by the following operations determining the bandwidth of the user computer device: a transmission data block to a user computer to calculate the amount of data transferred during the startup time by the timer and the timer is stopped and the time difference between the time determined bandwidth.
33.如权利要求32所述的系统,该系统还包含:用于在接收修改的信息头指令后接收唯一的客户端ID的装置,其中,所述修改的头信息附加有所述客户端ID。 33. The system according to claim 32, the system further comprises: a unique device ID is received in the client after receiving the modified information header instruction, wherein the modified header information attached with the client ID .
34.如权利要求33所述的系统,该系统还包含:用于向配置信息附加客户端ID指针地址以便发送给第二计算机的装置。 34. The system according to claim 33, the system further comprising: means for transmitting configuration information to the additional client ID pointer address to the second computer device.
35.如权利要求32所述的系统,该系统还包含:用于基于所接收的信息头指令准备修改的头信息的装置。 35. The system according to claim 32, the system further comprising: head means based on the header information of the received command for modifying prepared.
36.如权利要求35所述的系统,该系统还包含:用于向第二计算机发送具有附加的客户端ID的修改的头信息的装置。 36. The system according to claim 35, the system further comprising: means for sending the modified header information with appended client ID for the second computer.
37.如权利要求36所述的系统,该系统还包含:用于在发送该修改的头信息之前,接收进一步的配置信息请求的装置。 37. The system of claim 36, the system further comprising: means for prior to sending the modified header information, the receiving apparatus further configuration information request.
38.如权利要求32所述的系统,用于发送修改的头信息的装置在接收修改的信息头指令之后进行操作,并且所述修改的头信息包括一些未包括在先前接收的信息中的信息。 38. The system of claim 32 wherein the means for modifying the header information for the transmission operation after receiving the modified information header instruction, and modifying the header information does not include some information included in the previously received information in .
39.如权利要求32所述的系统,用于发送修改的头信息的装置在接收修改的信息头指令之后进行操作,并且所述修改的头信息排除了一些包括在先前接收的信息中的信息。 39. The system of claim 32 wherein the means for modifying the header information for the transmission operation after receiving the modified information header instruction, and the modified information excluding some of the header information included in the previously received information in .
40.如权利要求32所述的系统,在发送修改的头信息之前接收修改的信息头指令,并且根据修改的信息头指令准备所发送的配置信息。 40. The system according to claim 32, receives the modified header before transmitting the modified information header instruction, and prepares configuration information transmitted according to a modified header information instruction.
41.如权利要求32所述的系统,所述发送的配置信息包括一个或多个适配信息。 41. The system according to claim 32, said configuration information includes one or more transmitting adaptation information.
42.如权利要求41所述的系统,所述一个或者多个适配信息包含硬件适配信息。 42. The system of claim 41, wherein the adaptation information includes one or more hardware adaptation information.
43.如权利要求41所述的系统,所述一个或者多个适配信息包含用户接口版本适配信息。 43. The system of claim 41, wherein the adaptation information includes one or more user interface version adaptation information.
44.如权利要求41所述的系统,根据该适配信息准备所述修改的信息头指令。 44. The system according to claim 41, to prepare the modified information header instruction based on the adaptation information.
CN 200810136089 2001-11-09 2004-10-29 System and method for remotely determining the configuration of a multi-media content user CN101330525B (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US51601703P true 2003-10-31 2003-10-31
US60/516,017 2003-10-31
US10/700,409 2003-11-03
US10/700,409 US7356575B1 (en) 2001-11-09 2003-11-03 System, method, and computer program product for remotely determining the configuration of a multi-media content user
CN200480032285.1 2004-10-29
CN200480032285.12004.10.29 2004-10-29

Publications (2)

Publication Number Publication Date
CN101330525A CN101330525A (en) 2008-12-24
CN101330525B true CN101330525B (en) 2011-08-10

Family

ID=37859569

Family Applications (3)

Application Number Title Priority Date Filing Date
CN 200810136089 CN101330525B (en) 2001-11-09 2004-10-29 System and method for remotely determining the configuration of a multi-media content user
CN 200480032285 CN100458747C (en) 2003-10-31 2004-10-29 Method for determining connect speed of computers
CN 200810136090 CN101329637B (en) 2001-11-09 2004-10-29 System and method for remotely determining the configuration of a multi-media content user

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN 200480032285 CN100458747C (en) 2003-10-31 2004-10-29 Method for determining connect speed of computers
CN 200810136090 CN101329637B (en) 2001-11-09 2004-10-29 System and method for remotely determining the configuration of a multi-media content user

Country Status (1)

Country Link
CN (3) CN101330525B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011143916A1 (en) * 2011-01-19 2011-11-24 华为技术有限公司 Media adaptation method and apparatus
JP6019653B2 (en) 2012-03-24 2016-11-02 日本電気株式会社 The information processing system, an information processing method, information processing apparatus and a control method and control program
US8826332B2 (en) * 2012-12-21 2014-09-02 Ustudio, Inc. Media distribution and management platform
CN106341738A (en) * 2015-07-08 2017-01-18 杭州海康威视数字技术股份有限公司 Streaming media network transmission bandwidth calculation method, server and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594699B1 (en) 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870610A (en) 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US6563517B1 (en) 1998-10-02 2003-05-13 International Business Machines Corp. Automatic data quality adjustment to reduce response time in browsing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594699B1 (en) 1997-10-10 2003-07-15 Kasenna, Inc. System for capability based multimedia streaming over a network

Also Published As

Publication number Publication date
CN101329637A (en) 2008-12-24
CN1930558A (en) 2007-03-14
CN100458747C (en) 2009-02-04
CN101329637B (en) 2011-11-16
CN101330525A (en) 2008-12-24

Similar Documents

Publication Publication Date Title
JP5542872B2 (en) Management of media container file
US6671807B1 (en) System and method for regulating the transmission of media data
US8156236B2 (en) Audio-video data switching and viewing system
Elsen et al. Streaming technology in 3G mobile communication systems
US7415529B2 (en) Media streaming of web content data
US5928330A (en) System, device, and method for streaming a multimedia file
US9161087B2 (en) User controlled multi-device media-on-demand system
CN1204725C (en) Information transfer system and information transfer method
US8788575B2 (en) System, method, and computer program product for media publishing request processing
US6757711B2 (en) Method and apparatus for delivering data
US6185602B1 (en) Multi-user interaction of multimedia communication
JP4859072B2 (en) Content timing method and system
CN1689306B (en) System for the delivery and dynamic presentation of large media assets over bandwidth constrained networks
US8560729B2 (en) Method and apparatus for the adaptation of multimedia content in telecommunications networks
CN102740159B (en) Media file format and stored in the adaptive transmission system
KR100922263B1 (en) Intelligent multimedia services
US7383229B2 (en) Access control and metering system for streaming media
US20060053253A1 (en) Caching control for streaming media
US20040162910A1 (en) Methods, data structures, and systems for processing media data streams
US20150089076A1 (en) Method of streaming media to heterogeneous client devices
EP1598741B1 (en) Information processing apparatus and content information processing method
US8145782B2 (en) Dynamic chunking for media streaming
JP3823929B2 (en) Information processing apparatus, information processing method, and content distribution apparatus, content delivery method, and computer program
US6772200B1 (en) System for providing non-intrusive dynamic content to a client device
US6094677A (en) Methods, systems and computer program products for providing insertions during delays in interactive systems

Legal Events

Date Code Title Description
C06 Publication
C10 Request of examination as to substance
C14 Granted