CN101785255B - 用于网络设备的数据流控制 - Google Patents
用于网络设备的数据流控制 Download PDFInfo
- Publication number
- CN101785255B CN101785255B CN200880105181.7A CN200880105181A CN101785255B CN 101785255 B CN101785255 B CN 101785255B CN 200880105181 A CN200880105181 A CN 200880105181A CN 101785255 B CN101785255 B CN 101785255B
- Authority
- CN
- China
- Prior art keywords
- message
- data flow
- network
- packet
- order
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 3
- 239000011232 storage material Substances 0.000 claims description 3
- 239000012634 fragment Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 17
- 239000003795 chemical substances by application Substances 0.000 description 13
- 230000004913 activation Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 206010034703 Perseveration Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C2201/00—Transmission systems of control signals via wireless link
- G08C2201/40—Remote control systems using repeaters, converters, gateways
- G08C2201/41—Remote control of gateways
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种用于网络设备的数据流控制的方法和装置。一种装置的某些实施例包括用于接收与数据流相关联的命令的权标的接收器,其中该命令是多种命令类型中的一种。该权标具有固定大小和格式,并且该权标在数据分组的一个字段中提供。该装置还包括网络单元,该网络单元基于该权标来确定命令的类型,解析数据分组中的用于命令数据的一组字段,并执行该命令。
Description
技术领域
本发明的各实施例一般涉及网络领域,并且更具体地涉及用于网络设备的数据流控制的方法和装置。
背景
随着个人电子娱乐选择的增加,存在更多的动机来将各种媒体设备一起连接在网络中以共享数据、增加方便性、并更充分地使用每一元件。例如,家庭中的某些设备可以连接在一起。在这样的环境中,存在流传输关于音频、视频、游戏和其他用途的数字媒体内容的多个潜在源和用户。
在一娱乐网络中,媒体流形式的数据可以在网络设备之间传输。可以使用常规技术来在网络内控制媒体流。存在用于控制媒体流的传递的各种协议。这些技术的示例包括RTSP(实时流传输协议)和DLNA(数字生活网络联盟)。这些和类似的协议一般基于HTTP(超文本传输协议)、XML(可扩展标记语言)架构、或其他基于文本的协议。
然而,常规协议对低资源设备,尤其是对于没有足够的缓冲或处理能力来处理可变长度串或管理到若干其他设备的开放连接的设备而言太过重量级。如果娱乐网络中的设备是用有限资源来实现的,则常规协议实际上在该网络中可能难以实现。
发明概述
提供了一种用于网络设备的数据流控制的方法和装置。
在本发明的第一方面,一种装置可包括用于接收与数据流相关联的命令的权标的接收器,其中该命令是多种命令类型中的一种。该权标具有固定大小和格式,并且该权标在数据分组的一个字段中提供。该装置还包括网络单元,该网络单元基于该权标来确定命令的类型,解析数据分组中的用于命令数据的一组字段,并执行该命令。
在本发明的第二方面,一种装置可包括用于生成与数据流相关联的命令的权标的网络单元,其中该命令是多个命令中的一个。该权标具有固定大小和格式并且在数据分组的一个字段中提供,该数据分组具有用于命令数据的零个或更多个字段。该装置还可包括发送数据分组的发送器。
在本发明的第三方面,一种网络包括第一网络设备,其中该第一网络设备生成关于数据流的命令的权标。该权标包含在数据分组的一个字段中并且表示多种命令类型中的一种,该字段具有用于多种命令类型中的每一种的固定大小和格式。该网络包括第二网络设备,其中该第二网络设备接收命令的权标,解码该权标以确定命令类型,并执行关于数据流的命令。
在本发明的第四方面,一种用于控制数据的流传输的方法可包括生成控制网络中的数据流的命令,该命令包括表示多种命令类型中的一种的权标,并且该权标具有固定大小和格式。发送该命令。该方法还包括解码该命令,这包括基于该权标来确定命令的类型。
附图简述
本发明的各实施例在各附图中是作为示例而非作为限制示出的,在附图中相同的附图标记指代相同的元素。
图1是娱乐网络的实施例的图示;
图2是提供数据控制命令的交换的系统的实施例的图示;
图3是网络设备的实施例的图示;
图4是用于媒体控制命令的数据分组的实施例的图示;
图5是在娱乐网络中传输的数据分组的实施例的图示;
图6是用于娱乐网络的媒体控制命令的实施例的图示;
图7是用于为媒体流建立资源的媒体控制命令的示例的图示;
图8是示出娱乐网络中的媒体控制过程的实施例的流程图;以及
图9是网络设备的实施例的图示。
详细描述
本发明的各实施例一般涉及用于网络设备的数据流控制。
如此处所使用的,“娱乐网络”意指用于在设备之间传递媒体内容(包括音乐、音频/视频、游戏、照片、以及其他)的互连网络。娱乐网络可包括个人娱乐网络(如家庭中的网络)、商业环境中的娱乐网络、或娱乐设备的任何其他网络。在这样的网络中,某些网络设备可以是媒体内容的源,如数字电视调谐器、电缆机顶盒、视频存储服务器、和其他源设备。其他设备可以显示或使用媒体内容,如数字电视机、家庭影院系统、音频系统、游戏系统、以及其他设备。此外,某些设备旨在存储或传输媒体内容,如视频和音频存储服务器。某些设备可以执行多个媒体功能。在某些实施例中,各网络设备可以共同位于单个局域网中。在其他实施例中,各网络设备可以跨多个网络段,如通过局域网之间的隧道。娱乐网络可包括多个数据编码和加密过程。
在某些实施例中,网络中的数据流控制命令在固定大小、固定格式的消息中携带。在某些实施例中,流控制命令包括权标,该权标包含诸如整数等表示一组可能的流控制命令中的一个的数值。在某些实施例中,流控制命令由具有有限的处理或缓冲能力的低资源网络设备来传输和接收。
常规流控制协议一般作为具有可变长度消息的可靠字节流来携带。然而,常规协议在利用低资源网络设备的网络中造成困难,如在其中处理或缓冲能力有限的娱乐网络中。低资源设备可包括但不限于,片上系统(SoC)解决方案、嵌入式处理器系统、手持式计算设备或其他手持式设备、以及其中处理能力或存储器能力有限的其他设备或系统。在某些实施例中,低资源设备可包括媒体和娱乐设备,包括诸如图1所示并在以下描述的设备。
在某些实施例中,媒体流控制是通过使用小的、固定大小的消息来携带流控制命令来实现的。在某些实施例中,对这些消息的使用使得接收器处的缓冲需求成为确定性的,从而简化缓冲管理并降低对有限资源的压力。另外,使用固定消息能够降低媒体流控制中的逻辑复杂度,因为例如在整个消息超过容量时不需要部分解码并因此可忽略该消息。在某些实施例中,固定消息大小可以是64字节,但这只是一个示例,并且在不同的实施例中,更小或更大的大小是可能的。
在某些实施例中,随后在联网协议中使用数据流控制协议。在某些实施例中,用于携带数据流控制消息的底层协议可以是任何标准联网协议,包括但不限于UDP/IP(用户数据报协议/网际协议)或TCP/IP(传输控制协议/网际协议)。在某些实施例中,流控制协议可以是用于在通过娱乐网络进行通信时使用网络设备和代理的娱乐协议的一部分或子协议。
在某些实施例中,网络中的数据流控制利用基于权标的消息格式。在某些实施例中,命令可包括已确定位置和大小的、包含数值的字段,该数值表示消息中所包含的特定命令类型的权标。在某些实施例中,向每一流控制命令和相关联的参数分配一个固定大小和格式的数字权标。在某些实施例中,该字段的每一可能的值都表示一特定命令类型或参数,任何未分配的值是被忽略的未定义的命令。相反,在常规过程中,流控制命令一般按已知方案作为文本串来传递。将权标用作流控制参数可允许固定大小的消息收发并减少具有有限资源的网络设备的处理。
在某些实施例中,流控制可包括但不限于涉及以下各项的命令:
(a)在源和一个或多个目的地之间建立流;
(b)播放流;
(c)暂停流;
(d)拆卸分配给流的资源;以及
(e)获取并设置流参数,其可包括播放速度、播放位置、以及其他流更改。
在一个示例中,流控制命令可被格式化成单个字节(8位),其中该字节的256个值中的每一个都指示不同的命令。此外,建立命令的目的地参数可包括按网络字节顺序的四字节IP地址和按网络字节顺序的两字节端口号。在这样的示例中,播放速度参数可以编码成按网络字节顺序的四字节定点值。其他参数和字段也可按固定字节增量来实现。包括这样的字段的消息因此可以具有固定长度以便低资源设备进行处理。在某些实施例中,分组过滤样式设计可基于消息正文的各个字段来将消息引导(vector)至适当的消息处理程序。尽管基于文本的协议(如在常规系统中)易于由人类阅读,但所得实现是处理和存储器密集的。另外,解释器可以在固定格式的权标和文本串之间进行转换以使得人类操作员可以在诸如调试等操作时阅读。
在某些实施例中,消息处理程序可以实现为硬件状态机。使用硬件状态机可以允许简化网络设备的系统设计。然而,各实施例可被实现为硬件、软件、或硬件和软件的组合。
低资源环境的又一约束是维护开放网络连接所必需的状态可能相当大。在某些实施例中,操作允许减少需要维护的开放连接的数量。在某些实施例中,被用来携带流控制协议的固定大小的消息的格式可包括用于标识消息类型和目的地的字段。流控制可以是一种消息类型,但许多消息类型是可能的。在某些实施例中,硬件状态机被配置成将特定类型的消息引导至特定消息处理程序。这允许将来自不同协议的消息多路复用到同一连接上,从而减少所需开放连接的数量。
在某些实施例中,消息的目标字段还可用于共享连接。例如,流控制协议的多个客户机可以共享单个连接,且硬件状态机自动将消息引导至适当的客户机。
在某些实施例中,共享连接的能力可被用来在不影响网络设备的性能的情况下减少网络设备在操作中必须维护的状态的数量。在某些实施例中,由固定大小、固定格式流控制消息收发提供给接收器的好处也与发送器相关。对于发送器,需要更少的资源来生成固定大小、固定格式消息,并且同样可以实现硬件状态机。
图1是娱乐网络的实施例的图示。在该图示中,娱乐网络系统100提供任何兼容的媒体设备到该网络的连接。该连接被示为到娱乐网络105的连接。在某些实施例中,这些设备如不具有中心网络服务器的的网络那样操作。通过该娱乐网络,媒体数据流可以在任何连接设备之间传输。另外,可以通过该网络来遥控这些设备。设备可经由任何已知连接器和连接协议(包括同轴电缆、以太网电缆、和火线)以及经由Wi-Fi、蓝牙和其他无线技术的无线连接来连接到该网络。
在某些实施例中,设备可包括任何媒体源或接收者。在图1中,办公室110可以经由网关122提供到网络105的因特网连接120。从因特网接收到的数据可包括任何流传输媒体源,包括但不限于,所购买的音频文件(如下载的音乐文件)、视频文件(如电影、电视、以及其他)、以及计算机游戏。办公室110还可连接到利用监视器126的个人计算机124,监视器126除其他功能之外可显示某些媒体流或操作某些计算机游戏。
娱乐网络还可与卧室112中的设备相连接,这些设备可包含例如向电视机132提供数据的机顶盒130。另外,卧室(或任何其他地方)可包含媒体存储单元128。媒体存储单元128可接收来自连接到网络105的任何源的数据并可向连接到网络105的任何数据接收者提供数据。媒体存储单元128可包含对于该网络的任何类型的媒体流数据。
该系统还可包括接收来自例如电缆或光纤系统134或圆盘式卫星天线网络136的输入的客厅114。来自这些源的输入可被提供给连接到网络105和第二电视机140的机顶盒138。同样连接到网络105以便在客厅电视机140上显示的可以是视频游戏单元142。可能存在具有联网设备的任何数量的其他房间,如包含连接到网络105的第三电视机144的厨房。也可能存在其他网络设备,包括但不限于,可包括遍布于房屋的扬声器的立体声音响系统。
另外,任何数量的移动个人电子设备可连接到该网络。这些设备可经由电缆或经由无线信号连接,包括但不限于蓝牙、Wi-Fi、红外线或其他类似无线通信协议。每一这样的协议都需要到该网络的接口(其在图1中未示出),如Wi-Fi基站。这样的移动个人电子设备可包括数字照相机146、蜂窝电话148、个人音乐设备150、或摄像机152。另外,当汽车154靠近网络105时(如当在房屋的车库中时),该汽车中包含的移动系统可连接到该网络。在移动个人电子设备处于该网络的范围内时,该设备可例如自动连接到该网络。当连接时,这些设备可用于通过该网络获取数据或向该网络提供数据,包括对这些设备的可能的自动更新或下载。在一个示例中,用户能够通过该网络访问移动个人电子设备中的任何一个中所包含的数据,如经由机顶盒138在客厅电视机140上访问存储在数字照相机146上的照片。
在某些实施例中,图1中示出的网络设备是已被设计成具有有限网络处理和缓冲能力的低资源设备。在某些实施例中,媒体控制命令以数据分组的方式在所示设备之间进行交换,每一数据分组都具有固定大小并且各个命令由权标来标识。
图2是提供流控制命令的交换的系统的实施例的图示。在该图示中,设备A205、设备B230、设备C255、和其他设备275连接在娱乐网络中。在某些实施例中,每一设备包括允许在网络上通信的网络接口。例如,设备A205包括网络接口220,设备B230包括网络接口245,且设备C255包括网络接口265。
在某些实施例中,设备A205可被配置成向设备B230传输包含媒体控制命令的数据分组225。在某些实施例中,数据分组225对于多个不同媒体控制命令中的任一个都具有固定大小,该数据分组中所包含的命令由该数据分组的预定义字段中的权标值来标识。数据分组255还可包括用于与该命令相关的数据的零个或更多个字段。这些字段可以是可变大小,各字段依赖于数据分组255中所包含的媒体控制命令的类型。使用基于权标的命令结构可允许诸如在使用状态机来进行命令操作时简化处理。在某些实施例中,每一网络设备将包括用于媒体命令处理的状态机,如设备A205的状态机215、设备B230的状态机240、以及设备C255的状态机265所示。
在一示例中,媒体控制命令经由数据分组225传输到设备B230以影响媒体数据流。媒体数据流可被传递给任何网络设备,包括将数据返回到作出请求的设备(设备A205)。在该特定示例中,媒体数据流250被定向到设备C255,并还可被定向到一个或多个其他设备275。该命令可以与媒体数据流的存在时间的任何方面相关,包括但不限于,数据流的建立、数据流的操作、数据流的拆卸、关于数据流的查询、或媒体流的其他方面。
在某些实施例中,媒体流命令是将导致来自接收者的响应的请求。在图2中,这被示为从设备B230到设备A205的数据分组280,该数据分组可包含对从设备A205发送到设备B230的数据分组225中所包含的请求的响应。
图3是网络设备的实施例的图示。在某些实施例中,网络设备305是具有诸如以太网MAC地址等至少一个物理网络接口的实体。如图3所示,该网络设备包括两个网络接口310和315。在某些实施例中,网络设备因此是物理实体。在某些实施例中,网络设备包括一个或多个代理,每一代理是驻留在网络设备上的逻辑实体。网络设备上可存在多个代理。例如,图3示出网络设备305,网络接口310经由通信管理器320提供对代理330、335和340的访问并经由通信管理器325提供对代理345和350的访问,并且经由通信管理器330提供对代理355和360的访问。在某些实施例中,独立于网络设备IP地址并跨设备复位操作,向每一代理分配全局唯一标识符来将该代理与其他代理区分开。以此方式,旨在针对代理355的命令可定址到该代理的唯一地址,并且该消息随后通过网络接口315定向到代理355。
在某些实施例中,代理担当网络设备内的通信端点并且提供一组特定能力和相关联的行为。代理可包括媒体数据源、媒体数据存储设备、媒体数据控制器、以及其他元件。在一个示例中,代理可以提供视频流传输服务。在该示例中,该代理响应于各个消息来查询和控制媒体流,并且在被指示时,该代理可自发地将媒体流传递给另一代理。在某些实施例中,在任何时刻代理都具有不超过一个的活动媒体会话,从而允许相对简单的操作。由于代理可以发送和接收消息、响应于这些消息来修改内部状态、并且具有执行持续动作作为副作用的能力,所以该代理可被看作担当活动对象。
在某些实施例中,一个或多个代理是等价类的成员。等价类的各成员具有相同或等价的行为,并可以向用户表示为单个代理。在一个示例中,用于调谐电视信号的调谐器代理的池可以是一个等价类的各成员,并且这些代理可以作为例如“实况电视”呈现给用户。在某些实施例中,诸如代理360的代理ID364等代理ID可包括设备ID、组ID、以及实例。以此形式,等价类370的各成员由代理ID的设备ID和组ID来表示。
在某些实施例中,代理可通过通信管理器来在娱乐网络上通信。在某些实施例中,每个设备可存在一个或多个通信管理器,如图3中的通信管理器320、325和330。在某些实施例中,多个代理可由单个通信管理器来管理,如代理330、335和340由通信管理器320来管理。在某些实施例中,通信管理器负责路由进出绑定到该通信管理器的代理的消息。该过程可包括向对同一网络设备本地的其他代理传递消息、将来自各个代理的消息多路复用至到远程网络设备上的代理的外出连接上、以及处理广播请求。在某些实施例中,代理可只绑定到一个通信管理器,并且通信管理器可只绑定到一个网络接口。
在某些实施例中,显示器管理器是管理显示设备上的资源的代理。具体地,显示器管理器负责授予对显示资源和屏幕几何形状的访问。在某些实施例中,每一显示设备对于每一组相关I/O设备(如视频输出、图形输出、音频输出、以及用户输入)只具有一个显示器管理器。在某些实施例中,代理与会话管理器一起工作来协调媒体内容的传递和在显示设备上的显示,从而授予对显示设备资源的访问。在某些实施例中,显示器管理器表示用户会话的起始点并将控制委托给会话管理器。
在某些实施例中,会话管理器是为活动用户协调媒体内容集合的代理。在某些实施例中,一旦选择,会话管理器就发起与对应的显示器管理器的远程屏上(on-screen)显示会话,并开始执行管理网络中的其他设备的应用程序。在某些实施例中,显示器管理器向会话管理器转发输入事件并授予对其显示资源的访问权,会话管理器可将该访问权委托给其他代理,从而允许其他代理将内容传递给显示器。在一个示例中,显示器管理器可以向在机顶盒内执行的会话管理器授予访问权。会话管理器可发起与该显示器的远程UI(用户界面)会话,并允许网络设备的用户选择要从远程视频存储设备播放的视频。在某些实施例中,会话管理器可将访问权传递给视频服务器,并指示视频服务器将媒体流传递到显示器。在某些实施例中,会话管理器维护管理用户在利用媒体内容时的体验所必需的状态。
图4是用于媒体控制命令的数据分组的实施例的图示。在某些实施例中,数据分组400可包括首部410、消息正文415、以及尾部420。在某些实施例中,数据分组400对任何类型的消息都具有固定长度425。在一个示例中,该固定长度是64字节,但可以使用任何更小或更大的长度。首部可包括指示消息正文415中所包含的消息的类型的消息类型字段435。在某些实施例中,消息类型字段435是固定长度的并且包含指示消息类型的数字权标,每一可能的权标值指示一种类型的消息或未定义消息。在某些实施例中,可包含在消息正文中的消息类型包括媒体控制命令。
在某些实施例中,消息正文415对媒体控制命令430而言是固定长度的。在某些实施例中,消息正文415可包括指示消息正文415中所包含的命令的类型的命令类型字段。在某些实施例中,消息类型字段435是固定长度的并且包含指示命令类型的数字权标,每一可能的权标值指示一种类型的命令或未定义命令。
图5是在娱乐网络中传输的数据分组的实施例的图示。在某些实施例中,数据分组500长64字节,但在网络中可以使用任何大小。在某些实施例中,数据分组可包括首部502、正文504、以及尾部506。在某些实施例中,首部502包括目的地代理标识符508,该标识符在一个示例中可以是一64位字段。在某些实施例中,该字段按网络字节顺序发送并且标识应向其传递该消息的代理。在某些实施例中,特定值(作为一个可能的示例,如十六进制值0xFFFFFFFFFFFFFFFF)可以指示该消息应作为广播被传递到所有可能的代理。在某些实施例中,值0可以指示无效或未指定的代理,并且接收代理忽略具有被设为0的目的地标识符字段的消息。
在某些实施例中,首部502还包括源代理标识符字段510,作为一个示例,该字段同样被示为一64位字段。在某些实施例中,源代理标识符字段510按网络字节顺序发送并且标识消息所源自的代理。如果源是未知的,则该值可被设为0。在某些实施例中,保留特定值(作为一个可能的示例,如十六进制值0xFFFFFFFFFFFFFFFF)并且该特定值作为源标识符是无效的,并且接收代理忽略在源字段中具有该值的消息。
在某些实施例中,首部包括消息标识符字段512,例如在图5中被示为一32位字段。在某些实施例中,消息标识符字段按网络字节顺序发送并且表示被用作标识各个消息的cookie的应用程序专用值。该值可由代理用来拒绝非预期消息。在一个示例中,请求消息可包括特定消息标识符,并且响应随后需要包括同一标识符,这允许请求者拒绝旧的或重复的响应。
在某些实施例中,版本字段可以指示网络协议的当前版本以便在不同的版本之间进行区分。在一个示例中,位0到3形成版本辅号码514,并且位4到7形成版本主号码516。例如,对于版本1.0,当前主号码是1并且当前辅号码是0。
在某些实施例中,首部502可包括消息类型字段518,其被示为一8位字段但可以使用任何数量的位。在某些实施例中,该字段指示正文504中所包含的消息的类型。在一实施例中,网络协议是允许在其中封装各种域专用协议的容器协议。在某些实施例中,消息字段518在各协议之间是有区别的。在一示例中,如果代理接收具有不可识别的消息类型值的消息,则该代理将忽略该消息并且不发送对该消息的响应。在某些实施例中,这些协议可包括提供媒体控制命令的协议(媒体源协议),这一协议能够控制来自源代理的媒体内容(音频、视频、图像、图形、以及任何其他媒体)的传输。
在某些实施例中,首部包括分段信息字段520,其在图5中被示为例如一16位字段。在某些实施例中,该字段旨在提供关于消息分段的信息。在某些实施例中,该字段按网络字节顺序发送并且被用来支持跨多个消息的交换。在一示例中,该字段中的位0可用作关于该消息是否是交换的最后一部分的指示符,即值1指示该消息是最后片段而值0指示后面还有片段。在该示例中,位1到15然后可指示交换中的片段总数,其中值0可被保留以指示片段数量未被指定并且因此必须监视最后片段指示符。分段信息字段可被用来帮助接收器管理其存储器。
在某些实施例中,数据分组500的正文504包含该消息的净荷。在所示示例中,消息正文524是一36字节字段,但可以使用任何大小。在某些实施例中,消息正文524的格式取决于消息类型518。
在某些实施例中,数据分组500可带有尾部506。在某些实施例中,尾部506可包含在网络数据传输时提供安全性的安全消息签名526。然而,可以为网络中的数据传输建立其他安全机制,并且尾部506可包括其他信息。
图6是用于网络的控制命令的实施例的图示。控制命令可包括例如用于控制娱乐网络的媒体数据的命令。在该图示中,控制命令600可例如在图5所示的数据分组600中携带,如消息正文524中。在某些实施例中,控制命令600可以具有固定长度。在一个示例中,媒体控制命令600的固定长度是40字节,但取决于特定实施例,媒体控制命令的长度可以更大或更小。
在某些实施例中,媒体控制命令600可包括首部602和正文604,它们在图6中被示为例如一4字节首部和一36字节正文。在某些实施例中,版本可由首部602中的主版本字段616和辅版本字段614来指示。在某些实施例中,首部还可包括包含表示该命令所表达的命令类型的权标的命令类型字段618。在不同的实施例中,控制消息的可能的命令类型可以变化,每一命令类型可能具有不同的消息结构。例如,在某些实现中,表1中示出的命令类型可以是针对媒体数据源代理定义的,媒体数据源代理是发送媒体数据内容的代理。
值 | 类型 | 描述 |
0 | 空/无效 | 未定义消息 |
1 | 建立请求 | 建立资源以将媒体内容片段传递到目标代理的请求。 |
2 | 建立响应 | 对建立资源以传递媒体内容片段的请求的响应。 |
3 | 播放请求 | 开始向目标代理发送媒体内容的请求。 |
4 | 播放响应 | 对开始向目标代理发送媒体内容的请求的响应。 |
5 | 暂停请求 | 暂停向目标代理传递内容片段的请求。 |
6 | 暂停响应 | 对暂停传递内容片段的请求的响应。 |
7 | 拆卸请求 | 拆卸与传递媒体内容片段相关联的资源的请求。 |
8 | 拆卸响应 | 对拆卸与内容传递相关联的资源的请求的响应。 |
9 | 加入请求 | 加入活动会话的请求。 |
10 | 加入响应 | 对加入活动会话的请求的响应。 |
11 | 离开请求 | 离开活动会话的请求。 |
值 | 类型 | 描述 |
12 | 离开响应 | 对离开活动会话的请求的响应。 |
13 | 获取会话信息请求 | 对活动源会话的当前信息的请求。 |
14 | 获取会话信息响应 | 对于对活动源会话的当前信息的请求的响应。 |
15 | 获取速率请求 | 对目标代理所支持的最近传输速率的请求。 |
16 | 获取速度响应 | 对于对目标代理所支持的最近传输速率的请求的响应。 |
17 | 设置速率请求 | 为活动源会话设置传输速率的请求。 |
18 | 设置速率响应 | 对为活动源会话设置传输速率的请求的响应。 |
19 | 获取绝对位置请求 | 对活动源会话在媒体流中的绝对位置的请求。 |
20 | 获取绝对位置响应 | 对于对媒体流中的绝对位置的请求的响应。 |
21 | 设置绝对位置请求 | 设置活动源会话在媒体流中的绝对位置的请求。 |
22 | 设置绝对位置响应 | 对设置媒体流中的绝对位置的请求的响应。 |
23 | 设置相对位置请求 | 设置活动源会话在媒体流中的相对位置的请求。 |
24 | 设置相对位置响应 | 对设置媒体流中的相对位置的请求的响应。 |
25 | 获取持续时间请求 | 对活动会话的媒体内容的以秒计的持续时间的请求。 |
值 | 类型 | 描述 |
26 | 获取持续时间响应 | 对于对活动会话的媒体内容的以秒计的持续时间的请求的响应。 |
27 | 获取偏移量请求 | 对活动源会话的媒体流中的字节偏移量的请求。 |
28 | 获取偏移量响应 | 对于对活动源会话的媒体流中的字节偏移量的请求的响应。 |
29 | 设置偏移量请求 | 设置活动源会话的媒体流中的字节偏移量的请求。 |
30 | 设置偏移量响应 | 对设置媒体流中的字节偏移量的请求的响应。 |
31 | 获取最多目标请求 | 对活动会话可支持的目标的最大数量的请求。 |
32 | 获取最多目标响应 | 对于对活动会话可支持的目标的最大数量的请求的响应。 |
33 | 获取接合请求 | 对关于目标代理所管理的内容片段的接合数据的请求 |
34 | 获取接合响应 | 对于对关于目标代理所管理的内容片段的接合数据的请求的响应 |
35 | 事件通知 | 用于活动源会话的异步事件通知。 |
表1-对于媒体数据源代理的命令类型
在某些实现中,表2中示出的命令类型可以是针对媒体存储代理定义的,媒体存储代理是接收和存储媒体数据内容的代理。
值 | 类型 | 描述 |
0 | 空/无效 | 未定义消息 |
1 | 建立请求 | 建立资源以便在目标代理处记录媒体内容片段的请求。 |
2 | 建立响应 | 对建立资源以记录媒体内容片段的请求的响应。 |
3 | 记录请求 | 记录到目标代理的传入媒体内容的请求。 |
4 | 记录响应 | 对记录传入媒体内容的请求的响应。 |
5 | 暂停请求 | 暂停记录到目标代理的内容片段的请求。 |
6 | 暂停响应 | 对暂停记录内容片段的请求的响应。 |
7 | 拆卸请求 | 拆卸与记录媒体内容片段相关联的资源的请求。 |
8 | 拆卸响应 | 对拆卸与记录媒体内容片段相关联的资源的请求的响应。 |
9 | 获取会话信息请求 | 对活动记录会话的当前记录信息的请求。 |
10 | 获取会话信息响应 | 对于对活动记录会话的当前记录信息的请求的响应。 |
11 | 设置反向信道请求 | 设置活动记录会话的反向信道的网络地址的请求。 |
12 | 设置反向信道响应 | 对设置活动记录会话的反向信道的网络地址的请求的响应。 |
13 | 获取预留请求 | 获取活动记录会话的当前空间预留的请求。 |
14 | 获取预留响应 | 对获取活动记录会话的当前空间预留的请求的响应。 |
15 | 设置预留请求 | 设置活动记录会话的当前空间预留的请求。 |
16 | 设置预留响应 | 对设置活动记录会话的当前空间预留的请求的响应。 |
17 | 事件通知 | 用于活动记录会话的异步事件通知。 |
18 | 展开请求 | 展开作为环形缓冲区存储在目标代理处的内容的请求。 |
19 | 展开响应 | 对展开作为环形缓冲区来存储的内容的请求的响应。 |
20 | 附加请求 | 建立资源以附加到目标代理处的现有内容片段的请求。 |
21 | 附加响应 | 对建立资源以附加到现有内容片段的请求的响应。 |
22 | 删除请求 | 删除目标代理所管理的内容片段的请求。 |
23 | 删除响应 | 对删除内容片段的请求的响应。 |
24 | 获取接合请求 | 对关于目标代理所管理的内容片段的接合数据的请求。 |
25 | 获取接合响应 | 对于对关于目标代理所管理的内容片段的接合数据的请求的响应。 |
26 | 设置接合请求 | 设置关于目标代理所管理的内容片段的接合数据的请求。 |
27 | 设置接合响应 | 对设置关于目标代理所管理的内容片段的接合数据的请求的响应。 |
28 | 获取空间请求 | 对目标代理所管理的存储空间量的请求。 |
29 | 获取空间响应 | 对于对总存储空间量的请求的响应。 |
表2-对于媒体数据存储代理的命令类型
在某些实现中,表3中示出的命令类型可以是针对媒体显示代理定义的,媒体显示代理是接收和显示媒体数据内容的代理。
值 | 类型 | 描述 |
0 | 空/无效 | 未定义消息 |
1 | 建立请求 | 建立资源以便在目标代理处显示媒体内容片段的请求。 |
2 | 建立响应 | 对建立资源以显示媒体内容片段的请求的响应。 |
3 | 激活请求 | 激活目标显示代理以解码和显示传入媒体内容的请求。 |
4 | 激活响应 | 对激活目标显示代理以解码和显示传入媒体内容的请求的响应。 |
5 | 暂停请求 | 暂停向目标设备显示内容片段的请求。 |
6 | 暂停响应 | 对暂停显示内容片段的请求的响应。 |
7 | 拆卸请求 | 拆卸与显示媒体内容片段相关联的资源的请求。 |
8 | 拆卸响应 | 对拆卸与显示媒体内容片段相关联的资源的请求的响应。 |
9 | 获取会话信息请求 | 对活动显示会话的当前信息的请求。 |
10 | 获取会话信息响应 | 对于对活动显示会话的当前信息的请求的响应。 |
11 | 设置反向信道请求 | 设置活动显示会话的反向信道的网络地址的请求。 |
12 | 设置反向信道响应 | 对设置活动显示会话的反向信道的网络地址的请求的响应。 |
13 | 获取速率请求 | 对活动显示会话的目标代理所支持的最近解码速率的请求。 |
14 | 获取速率响应 | 对于对活动显示会话的目标代理所支持的最近解码速率的请求的响应。 |
15 | 获取显示器管理器请求 | 对目标代理的显示器管理器的标识符的请求。 |
16 | 获取显示器管理器响应 | 对于对目标代理的显示器管理器的标识符的请求的响应。 |
17 | 事件通知 | 用于活动显示会话的异步事件通知。 |
表3-对于媒体数据显示代理的命令类型
在某些实施例中,首部可包括响应码字段620。这一字段(例如被示为8位)可以指示请求消息的返回状态。在某些实施例中,对于命令类型不是响应类型的任何媒体源命令,响应码字段620可具有值0。在某些实施例中,如果代理返回未定义的响应码,则接收器将该响应当作无效响应。首部还可包括一个或多个保留字段622以便对网络媒体命令协议作出进一步修改。
最后,控制命令600可包括相关命令类型的字段628。在某些实施例中,这些字段将根据数据分组中所包括的特定命令类型而变化。
图7是用于为数据流建立资源的控制命令的示例的图示。在该示例中,命令700包括首部602和正文604,首部包括辅版本字段614、主版本字段616、命令类型字段618(此处被示为用于建立请求的命令类型1)、响应码字段620(此处被示为响应码=0,因为建立请求不是响应)、以及保留字段622。
在某些实施例中,命令700的正文604可包括:标志字段724,其表示表达与其他消息字段相关的信息的标志位图或如何处理请求(例如,特定位位置中的值1指示相关联的标志的正值,而值0指示负值);端口计数字段726,其表示可用于传递特定内容片段的端口的数量;初始目标端口字段728,其表示目标设备处的顺序端口范围内的初始端口;目标IP地址字段730,其表示应向其传递内容的目标IPv4地址;内容标识符字段732,其表示目标代理应当传递的内容片段的标识符;远程代理标识符字段734,其表示形成活动记录会话的远程端点的代理的标识符;以及一个或多个保留字段736。图7中示出的各字段是作为特定命令类型的一个示例示出的,并且用于任何其他命令类型的字段将随处理该命令的需要而变化。
图8是示出网络中的数据控制过程的实施例的流程图。在该图示中,可以在一网络设备的代理和另一网络设备或同一网络设备的一个或多个其他代理之间建立连接。在某些实施例中,该连接可用于多个目的,并且因此未必是出于特定数据流操作的目的而建立的。在建立连接后,代理可以接收包含控制命令的数据分组804。
在某些实施例中,可以确定该数据分组是否具有正确大小806。在某些实施例中,正确大小是通过将数据分组的大小与网络的固定分组大小进行比较来确定的。在某些实施例中,如果数据分组不具有正确大小,则忽略该消息810。在某些实施例中,如果数据分组具有正确大小,则确定该数据分组是否被定址到代理808。如果否,则忽略该消息810。如果是,则获取权标以确定消息正文中所包含的消息的类型,并且如果该消息是控制命令,则确定数据分组中所存在的命令的类型812。代理确定该代理是否识别出该命令类型814。在某些实施例中,如果权标是未定义的或者如果权标对应于不适用于代理的命令类型,则该代理无法识别出该命令类型814。如果未识别出该命令,则忽略该消息810。如果识别出该命令,则可以确定该命令的预期字段816并且解析用于命令数据的、命令的各字段。如果该命令中的字段不匹配命令类型820,则出错830。(可能存在图8未示出的其他出错情况。)如果需要对该命令的响应822,则向该命令的发送者发送响应824。随后执行该命令826。在某些实施例中,相关操作的完成可能不会导致关闭连接,因为该连接可具有多种用途。在不再需要该连接时,可以关闭该连接828。
图9是网络设备的实施例的图示。在该图示中,网络设备905可以是诸如娱乐网络等网络中的任何设备,包括但不限于图1中示出的设备。例如,该网络设备可以是电视机、机顶盒、存储单元、游戏控制台、或其他媒体设备。在某些实施例中,网络设备905包括提供网络功能的网络单元810。网络功能包括但不限于生成、传输、存储、和接收媒体数据流。网络单元910可被实现为嵌入式系统。网络单元910可被实现为单个片上系统(SoC)或被实现为多个组件。
在某些实施例中,网络单元910包括用于处理数据的处理器。对数据的处理可包括生成数据流,操纵数据流以便传输或存储,以及解密和解码数据流以便使用。网络设备还可包括支持网络操作的存储器,如DRAM(动态随机存取存储器)920或其他类似存储器和闪存825或其他非易失性存储器。
网络设备905还可包括用于经由一个或多个网络接口955分别在网络上发送数据或从网络接收数据的发送器930和/或接收器940。发送器930或接收器940可以连接到有线传输电缆(包括例如以太网电缆950)或连接到无线单元。有线传输电缆还可包括同轴电缆、电源线、或可用于数据传输的任何其他电缆或导线。发送器930或接收器940可以用一条或多条线(如用于数据发送的线935和用于数据接收的线945)来耦合到网络单元以便进行数据传输和控制信号。还可能存在附加连接。网络设备905还可包括此处未示出的用于该设备的媒体操作的众多组件。
在以上描述中,出于说明目的阐述了众多具体细节以便提供对本发明的全面理解。然而,对本领域技术人员将显而易见的是,没有这些具体细节也可实践本发明。在其他情况下,公知结构和设备以框图的形式示出。在所示组件之间可能有中间结构。此处所描述或示出的各组件可具有未示出或描述的附加输入或输出。所示元件或组件还能以不同的排列或次序来安排,包括对任何字段重新排序或修改字段大小。
本发明可包括各种过程。本发明的过程可由硬件组件来执行或可以用机器可执行指令来实现,这可被用于使得用这些指令来编程的通用或专用处理器或逻辑电路执行这些过程。或者,这些过程可由硬件和软件的组合来执行。
本发明的各部分可以作为计算机程序产品来提供,计算机程序产品可包括其上存储有计算机程序指令的计算机可读介质,计算机程序指令可被用来对计算机(或其他电子设备)进行编程以执行根据本发明的过程。机器可读介质可包括,但不限于,软盘、光盘、CD-ROM(紧致盘只读存储器)、以及磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适于存储电子指令的其它类型的介质/机器可读介质。此外,本发明还可作为计算机程序产品来下载,其中该程序可以从远程计算机传送到作出请求的计算机。
许多方法是以其最基本的形式来描述的,但可以对这些方法中的任一个添加或删除过程并且可以对所描述的消息中的任一个添加或减去信息,而不背离本发明的基本范围。对本领域技术人员显而易见的是,能够作出许多进一步的修改和调整。各具体实施例不是为了限制本发明而是为了说明本发明而提供的。本发明的范围不是由以上提供的各具体示例来确定的,而是仅由所附权利要求书来确定的。
当提到元件“A”耦合至元件“B”或与其相耦合时,元件A可直接耦合至元件B,或通过例如元件C间接地耦合。当说明书或权利要求书声明组件、特征、结构、过程、或特性A“引起”组件、特征、结构、过程或特性B时,它意味着“A”至少是“B”的部分起因,但还可能有帮助引起“B”的至少一个其它组件、特征、结构、过程或特性。如果说明书指示“可”、“可能”或“可以”包括组件、特征、结构、过程或特性,则不一定必须包括该特定组件、特征、结构、过程或特性。如果说明书或权利要求引用“一”或“一个”元件,这不意味着仅有一个所描述的元件。
实施例是本发明的实现或示例。在本说明书中对“一实施例”、“一个实施例”、“某些实施例”或“其他实施例”的引用意味着结合这些实施例描述的特定特征、结构或特性被包括在至少某些实施例中,但不一定被包括在所有实施例中。“一实施例”、“一个实施例”、或“某些实施例”的多次出现不一定都指代相同的实施例。应当理解,在对本发明的示例性实施例的以上描述中,出于流水线化本发明以及帮助理解各发明性方面中的一个或多个的目的,本发明的各个特征有时被一起分组在单个实施例、附图、或对实施例或附图的描述中。然而,本发明的方法不应被解释为反映所要求保护的发明需要比在每一权利要求中明确表述的特征更多的特征的意图。相反,如所附权利要求书所反映的,各发明性方面在于比单个在以上公开的实施例的所有特征要少的特征。因此,权利要求书据此特意合并到本说明书中,每一权利要求都独立地代表本发明的一单独实施例。
Claims (21)
1.一种提供数据流控制的装置,包括:
被配置成接收固定分组大小的数据分组的接收器,其中每一个数据分组包括:
固定大小的消息类型字段,所述消息类型字段定义了包含在所述数据分组中的消息的消息类型,所述消息类型是多个消息类型之一,所述多个消息类型包括数据流控制类型,所述接收器基于每个消息的消息类型字段确定每个所接收消息的消息类型;
如果数据分组的消息类型字段指示消息是数据流控制消息,所述数据分组还包括与数据流相关联的命令的权标,所述命令具有命令类型,所述命令类型是用于数据流控制消息的多种命令类型中的一种,所述权标具有固定大小、格式和数值,一组数值中的每个数值表示所定义的命令类型中的一种;以及
包括消息处理程序的网络单元,所述消息处理程序包括处理所定义的命令类型的硬件状态机,其中所述网络单元被配置成基于控制消息的权标的数值来确定每个所接收数据流控制消息的命令类型并解析所接收数据分组中的、用于命令数据的零个或更多个字段,所述网络单元被配置成实现多个命令类型;以及
发送数据流的发送器,所述发送器根据所接收数据流控制消息中包含的命令对数据流进行操作。
2.如权利要求1所述的装置,其特征在于,每个数据流控制消息具有用于命令数据的零个或更多个字段,并且所述零个或更多个字段中每一个的指定大小和格式是基于数据流控制消息的命令类型的。
3.如权利要求1所述的装置,其特征在于,所述装置提供对每个所接收数据流控制消息的响应,所述响应被包含在固定分组大小的数据分组中。
4.如权利要求3所述的装置,其特征在于,对每个所接收数据流控制消息的所述响应是数据流控制消息的多个所定义响应类型中的一个。
5.如权利要求1所述的装置,其特征在于,所述装置被配置成忽略含有包括未包含在所定义命令类型的一组值中的值的数据流控制消息的数据分组。
6.如权利要求5所述的装置,其特征在于,所述装置被配置成忽略具有与固定分组大小不匹配的数据大小的数据分组。
7.如权利要求1所述的装置,其特征在于,所述装置包括一个或多个代理,每个代理是所述装置上的逻辑实体,并且其中所述一个或多个代理中的第一代理是第一数据流控制消息的命令的目的地代理,所述网络单元将所述命令引导至所述第一代理。
8.如权利要求1所述的装置,其特征在于,所述装置是低资源设备,所述低资源设备具有用于处理命令的有限的处理或存储器能力。
9.如权利要求8所述的装置,其特征在于,所述装置包括包含具有嵌入式处理器的设备、具有片上系统(SoC)的设备以及手持式设备的组中的一个或多个。
10.如权利要求1所述的装置,其特征在于,所述装置包括包含所述消息处理程序的多个消息处理程序,所述装置还包括基于所接收消息的消息类型将所接收消息引导至多个消息处理程序的第二硬件状态机。
11.一种提供数据流控制的网络,包括:
第一网络设备,所述第一网络设备被配置成生成关于数据流的命令的权标,所述权标被包含在第一数据分组的一字段中,所述第一数据分组包括定义所述第一数据分组的消息类型的消息类型字段,所述消息类型字段包含指示所述数据分组是数据流控制消息的值,所述权标在数值中表示数据流控制消息的多种命令类型中的一种,所述字段具有用于多种所定义命令类型中的每一种的固定大小和格式,所述第一数据分组具有固定大小;以及
第二网络设备,所述第二网络设备被配置成基于每个所接收数据分组的消息类型字段确定每个所接收数据分组的消息类型,以及在确定第一数据分组是数据流控制消息时,所述第二网络设备接收所述命令的权标,解码所述权标以确定该权标的数值所表示的第一命令类型,并执行关于数据流的命令,所述第二网络设备包括:
包括被配置成处理数据流控制消息的所定义命令的硬件状态机的消息处理程序,以及
发送数据流的发送器,所述发送器根据命令进行操作。
12.如权利要求11所述的网络,其特征在于,所述命令类型是包括以下各项的组中的一个或多个:
(a)在所述第二网络设备和一个或多个目的地之间建立数据流;
(b)播放所述数据流;
(c)暂停所述数据流;
(d)拆卸分配给所述数据流的资源;以及
(e)获取并设置所述数据流的参数。
13.如权利要求11所述的网络,其特征在于,如果所述数据分组不与数据分组的所述固定大小相匹配,则所述第二网络设备忽略所述命令。
14.一种用于控制数据的流传输的方法,包括:
在第一网络设备处生成控制网络中的数据流的命令,所述命令包括表示多种命令类型中的一种命令类型的权标,所述权标具有固定大小和格式并具有数值;
在数据分组中从所述第一网络设备向第二网络设备发送所述命令,所述数据分组具有固定大小,所述数据分组包括固定大小的消息类型字段、指示所述数据分组包含数据流控制消息的消息类型字段值、是多个消息类型之一的数据流控制;
在第二网络设备处接收所述数据分组,并且基于消息类型字段确定所述数据分组是数据流控制消息;
在第二网络设备处解码所述命令,解码所述命令包括基于所述权标的数值来确定所述命令类型,解析所述数据分组的一个或多个数据字段,其中所述数据字段的每一个的大小和格式是基于命令类型的,以及利用具有被配置成处理所定义命令的硬件状态机的消息处理程序来处理所述命令;以及
基于所述命令控制数据流。
15.如权利要求14所述的方法,其特征在于,所述网络是娱乐网络。
16.如权利要求14所述的方法,其特征在于,所述命令由第一网络代理生成,所述第一网络代理是第一网络设备的逻辑实体。
17.如权利要求16所述的方法,其特征在于,所述命令由第二网络代理接收,所述第二网络代理是第二网络设备的逻辑实体,所述硬件状态机将所述命令引导至所述第二网络代理。
18.一种提供数据流控制的网络设备,包括:
网络接口,所述网络接口被配置成经由用于数据流控制消息的控制协议在网络上通信,数据流控制是在网络上接收的数据分组的多个消息类型之一,所述网络接口基于每个数据分组中固定大小的消息类型字段确定每个所接收数据分组的消息类型,用于数据流控制消息的所述控制协议包括使用在所接收数据分组中收到的权标来表示数据流控制的多种命令类型中的命令类型,所述权标具有固定大小和格式并且所述数据分组是固定大小的;
处理经由所述网络接口在数据流控制消息中接收的命令的消息处理程序,所述消息处理程序包括处理所定义命令的硬件状态机;以及
被配置成经由所述网络接口操作的一个或多个代理,所述硬件状态机将第一所接收命令引导至一个或多个代理的第一代理;
其中处理所述命令包括基于每个所接收数据流控制消息的权标的数值确定命令类型,以及解析数据流控制消息中用于命令数据的零个或更多个字段。
19.如权利要求18所述的网络设备,其特征在于,所述一个或多个代理中的一个代理被配置成经由使用所述控制协议来发送的命令来遥控另一网络设备。
20.如权利要求18所述的网络设备,其特征在于,所述一个或多个代理可包括媒体数据源代理、媒体数据存储代理、以及媒体数据显示代理中的一个或多个。
21.如权利要求20所述的网络设备,其特征在于,媒体数据源代理发送包含媒体数据内容的数据流,媒体数据存储代理接收并存储媒体数据内容,而媒体数据显示代理接收并显示媒体数据内容。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/828,223 | 2007-07-25 | ||
US11/828,223 US8149711B2 (en) | 2007-07-25 | 2007-07-25 | Data stream control for network devices |
PCT/US2008/069099 WO2009014875A1 (en) | 2007-07-25 | 2008-07-02 | Data stream control for network devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101785255A CN101785255A (zh) | 2010-07-21 |
CN101785255B true CN101785255B (zh) | 2016-03-09 |
Family
ID=39932184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880105181.7A Active CN101785255B (zh) | 2007-07-25 | 2008-07-02 | 用于网络设备的数据流控制 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8149711B2 (zh) |
EP (1) | EP2179544A1 (zh) |
JP (1) | JP5174166B2 (zh) |
KR (1) | KR20100050517A (zh) |
CN (1) | CN101785255B (zh) |
TW (1) | TWI371193B (zh) |
WO (1) | WO2009014875A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738732B2 (en) | 2005-09-14 | 2014-05-27 | Liveperson, Inc. | System and method for performing follow up based on user interactions |
US7954133B2 (en) * | 2007-10-22 | 2011-05-31 | Sony Ericsson Mobile Communications Ab | Digital living network alliance (DLNA) enabled portable electronic devices, DLNA management consoles and related methods of operating DLNA enabled portable electronic devices |
US8762313B2 (en) | 2008-07-25 | 2014-06-24 | Liveperson, Inc. | Method and system for creating a predictive model for targeting web-page to a surfer |
US8289867B2 (en) * | 2008-08-01 | 2012-10-16 | Qualcomm Atheros, Inc. | Message routing mechanism for communication networks |
US8805844B2 (en) | 2008-08-04 | 2014-08-12 | Liveperson, Inc. | Expert search |
US9892417B2 (en) | 2008-10-29 | 2018-02-13 | Liveperson, Inc. | System and method for applying tracing tools for network locations |
WO2011060442A2 (en) * | 2009-11-16 | 2011-05-19 | Citrix Systems, Inc. | Methods and systems for selective implementation of progressive display techniques |
US20110213932A1 (en) * | 2010-02-22 | 2011-09-01 | Takuma Chiba | Decoding apparatus and decoding method |
CN101984638B (zh) * | 2010-11-10 | 2013-05-15 | 河海大学常州校区 | 用于处理跨IPv4和IPv6网络的存储代理系统及方法 |
US8918465B2 (en) | 2010-12-14 | 2014-12-23 | Liveperson, Inc. | Authentication of service requests initiated from a social networking site |
US9350598B2 (en) | 2010-12-14 | 2016-05-24 | Liveperson, Inc. | Authentication of service requests using a communications initiation feature |
US8806569B2 (en) * | 2011-02-07 | 2014-08-12 | Tufin Software Technologies Ltd. | Method and system for analyzing security ruleset by generating a logically equivalent security rule-set |
US9578030B2 (en) | 2011-02-07 | 2017-02-21 | Tufin Software Technologies Ltd. | Method and system for analyzing security ruleset by generating a logically equivalent security rule-set |
GB2511975B (en) * | 2011-12-21 | 2021-02-03 | Intel Corp | Incorporating access control functionality into a system on a chip (SoC) |
US8805941B2 (en) | 2012-03-06 | 2014-08-12 | Liveperson, Inc. | Occasionally-connected computing interface |
US9563336B2 (en) | 2012-04-26 | 2017-02-07 | Liveperson, Inc. | Dynamic user interface customization |
US9672196B2 (en) | 2012-05-15 | 2017-06-06 | Liveperson, Inc. | Methods and systems for presenting specialized content using campaign metrics |
US9087393B2 (en) * | 2013-03-07 | 2015-07-21 | Apple Inc. | Network display support in an integrated circuit |
US9634951B1 (en) * | 2014-06-12 | 2017-04-25 | Tripwire, Inc. | Autonomous agent messaging |
AU2016270937B2 (en) | 2015-06-02 | 2021-07-29 | Liveperson, Inc. | Dynamic communication routing based on consistency weighting and routing rules |
US11153359B2 (en) * | 2015-09-29 | 2021-10-19 | Sony Group Corporation | User equipment and media streaming network assistance node |
CN105610969B (zh) * | 2016-01-26 | 2018-12-18 | 上海新储集成电路有限公司 | 一种统计终端用户到Web服务器的数据请求的方法 |
CN107659379B (zh) * | 2016-08-03 | 2020-09-18 | 平安科技(深圳)有限公司 | 请求反馈方法及业务服务器 |
WO2018034989A1 (en) | 2016-08-14 | 2018-02-22 | Liveperson, Inc. | Systems and methods for real-time remote control of mobile applications |
US10340945B2 (en) * | 2017-07-24 | 2019-07-02 | iDensify LLC | Memory compression method and apparatus |
US10972397B2 (en) | 2017-09-29 | 2021-04-06 | Futurewei Technologies, Inc. | Self-driving packets with conditional commands |
EP3477896B1 (en) * | 2017-10-26 | 2020-02-19 | Mitsubishi Electric R&D Centre Europe B.V. | Efficient scheduling telecommunication scheme using a first cyclic ethernet protocol and a second cyclic ethernet protocol |
JP7106984B2 (ja) * | 2018-05-22 | 2022-07-27 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、情報処理システム及びプログラム |
CN114301992A (zh) * | 2021-12-29 | 2022-04-08 | 北京半导体专用设备研究所(中国电子科技集团公司第四十五研究所) | 一种数据传输方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226360A (zh) * | 1996-07-01 | 1999-08-18 | 汤姆森消费电子有限公司 | 从远程网络发射触发命令并控制广播台交互节目内容的协议和系统 |
US6631453B1 (en) * | 2001-02-14 | 2003-10-07 | Zecurity | Secure data storage device |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1582563A (en) * | 1977-06-21 | 1981-01-14 | Texas Instruments Ltd | Digital control system and a method of transmitting control data in such a system |
JPS60227547A (ja) | 1984-04-25 | 1985-11-12 | Mitsubishi Electric Corp | デイジタルリモ−トコントロ−ル装置 |
US4689022A (en) * | 1984-04-30 | 1987-08-25 | John Peers | System for control of a video storage means by a programmed processor |
CA2153445C (en) * | 1994-09-08 | 2002-05-21 | Ashok Raj Saxena | Video optimized media streamer user interface |
US6141702A (en) * | 1997-07-30 | 2000-10-31 | Sony Corporation Of Japan | Model and command set for an AV/C-based disc media player recorder |
US6272144B1 (en) * | 1997-09-29 | 2001-08-07 | Agere Systems Guardian Corp. | In-band device configuration protocol for ATM transmission convergence devices |
KR100677069B1 (ko) | 1999-07-29 | 2007-02-01 | 삼성전자주식회사 | 디지털 인터페이스로 연결된 기기들간의 커넥션 관리 방법 및 이를 위한 명령 구조 |
US7376814B1 (en) | 1999-09-07 | 2008-05-20 | Nxp B.V. | Method for forming variable length instructions in a processing system |
US7649901B2 (en) * | 2000-02-08 | 2010-01-19 | Mips Technologies, Inc. | Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing |
JP2001282467A (ja) * | 2000-03-30 | 2001-10-12 | Matsushita Electric Ind Co Ltd | Sdカード認証領域へのデータリード/ライトの方法およびデータ通信装置 |
DE60205923T2 (de) * | 2001-09-27 | 2006-05-18 | Matsushita Electric Industrial Co., Ltd., Kadoma | Übertragungsverfahren, sendegerät und empfangsgerät |
JP3920186B2 (ja) * | 2001-09-27 | 2007-05-30 | 松下電器産業株式会社 | 伝送方法、送信装置および受信装置 |
US20040221313A1 (en) * | 2003-02-14 | 2004-11-04 | Depietro Mark | Method and apparatus for augmenting functionality of broadcast content receivers |
US20050093770A1 (en) * | 2003-10-31 | 2005-05-05 | De Bonet Jeremy S. | System and method for a data format for command encapsulation |
US7447775B1 (en) * | 2003-11-07 | 2008-11-04 | Cisco Technology, Inc. | Methods and apparatus for supporting transmission of streaming data |
-
2007
- 2007-07-25 US US11/828,223 patent/US8149711B2/en active Active
-
2008
- 2008-07-02 JP JP2010518264A patent/JP5174166B2/ja active Active
- 2008-07-02 WO PCT/US2008/069099 patent/WO2009014875A1/en active Application Filing
- 2008-07-02 CN CN200880105181.7A patent/CN101785255B/zh active Active
- 2008-07-02 KR KR1020107004055A patent/KR20100050517A/ko not_active Application Discontinuation
- 2008-07-02 EP EP08772394A patent/EP2179544A1/en not_active Withdrawn
- 2008-07-08 TW TW097125791A patent/TWI371193B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1226360A (zh) * | 1996-07-01 | 1999-08-18 | 汤姆森消费电子有限公司 | 从远程网络发射触发命令并控制广播台交互节目内容的协议和系统 |
US6631453B1 (en) * | 2001-02-14 | 2003-10-07 | Zecurity | Secure data storage device |
Also Published As
Publication number | Publication date |
---|---|
TWI371193B (en) | 2012-08-21 |
KR20100050517A (ko) | 2010-05-13 |
JP5174166B2 (ja) | 2013-04-03 |
JP2010534884A (ja) | 2010-11-11 |
WO2009014875A1 (en) | 2009-01-29 |
TW200922214A (en) | 2009-05-16 |
US20090028047A1 (en) | 2009-01-29 |
EP2179544A1 (en) | 2010-04-28 |
CN101785255A (zh) | 2010-07-21 |
US8149711B2 (en) | 2012-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101785255B (zh) | 用于网络设备的数据流控制 | |
US9148756B2 (en) | Output of content from the internet on a media rendering device | |
CA2827387C (en) | Method and apparatus for the seamless playback of content | |
US20210160092A1 (en) | Communication, Monitoring and Control Architecture and Method | |
US10172116B2 (en) | Messaging abstraction in a mobile device server | |
CN102577245B (zh) | 使用外部网络连接的ue控制本地网络ue上的外部网络媒体 | |
US8621576B2 (en) | System and method of multimedia access | |
KR20180061314A (ko) | 멀티미디어 리소스 재생 시스템, 방법 및 서버 | |
US10779141B2 (en) | Device and method for a gateway for the consistent updating of the services of a home network | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
CN104754370A (zh) | 跨终端的多媒体数据传输方法、装置、客户端和系统 | |
CN113542904A (zh) | 一种视频投屏播放方法、装置、电子设备及存储介质 | |
JP2015525014A (ja) | 同じ意味の複数の信号を取り込む方法 | |
EP2566177B1 (en) | Electronic apparatus and method for transferring contents on cloud system to device connected to DLNA | |
EP3160101B1 (en) | Multi-media resource management method, cloud server and electronic device | |
CN114040232A (zh) | 投屏系统、方法、电子设备和存储介质 | |
KR101231821B1 (ko) | 컨텐츠 이어보기 서비스 제공 방법 및 장치 | |
CN104519025A (zh) | 远程媒体文件播放方法、系统和移动终端设备 | |
KR102079339B1 (ko) | 클라우드 시스템상의 컨텐츠를 디엘엔에이로 연결된 디바이스로 전달하는 전자 장치 및 방법 | |
KR20030058395A (ko) | 홈 네트워크 디바이스, 홈 네트워크 콘트롤 디바이스, 홈네트워크의 미디어 데이터 다운로드 방법 | |
CN113453084A (zh) | 节目播放方法和装置 | |
CN104065659B (zh) | 一种dlna设备隐身的方法及主、从dlna设备 | |
KR101133571B1 (ko) | 컨버전스 서비스 전달 시스템 | |
JP5034346B2 (ja) | コンテンツ配信サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20151224 Address after: oregon Applicant after: LATTICE SEMICONDUCTOR CORPORATION Address before: American California Applicant before: Silicon Image Inc. A. Delaware C. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |