CN1503528A - 用于媒体数据卸载处理的系统、设备和方法 - Google Patents

用于媒体数据卸载处理的系统、设备和方法 Download PDF

Info

Publication number
CN1503528A
CN1503528A CNA2003101198454A CN200310119845A CN1503528A CN 1503528 A CN1503528 A CN 1503528A CN A2003101198454 A CNA2003101198454 A CN A2003101198454A CN 200310119845 A CN200310119845 A CN 200310119845A CN 1503528 A CN1503528 A CN 1503528A
Authority
CN
China
Prior art keywords
media
packet
decoding devices
data
network interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2003101198454A
Other languages
English (en)
Inventor
D��D����ķ
D·D·波姆
��˹��ŵ��
P·L·康诺尔
M·V·蒙特卡尔沃
�ű�����
S·P·杜巴尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1503528A publication Critical patent/CN1503528A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines

Abstract

描述了一种将数据包从一网络接口控制器(NIC)转发到一个或多个媒体解码设备的系统和方法。所述NIC可以包含一用于传输的I/O接口,用以和一主处理系统或者所述的一个或多个媒体解码设备相通信。在所述NIC处接收的数据包可以被独立于所述主处理系统地转发到所述的一个或多个媒体解码设备。

Description

用于媒体数据卸载处理的系统、设备和方法
技术领域
在此公开的主题涉及计算平台。尤其是,在此公开的主题涉及用于通过一通信网络传输数据或接收数据的计算平台。
背景技术
计算平台一般包含使得驻留(hosted)在一主处理系统上的过程能够与一通信网络中的节点进行通信的外围设备,诸如网络接口控制器(NIC)。计算平台还典型地包含能够在驻留在一主处理系统上的设备驱动程序的控制下生成声音或图像的设备,诸如音频或视频解码器。
现有技术图1显示了处理平台10,所述处理平台10包含有耦合到一个中央处理单元(CPU)14的系统存储器12,用于提供一个主处理系统。NIC 20、视频输出设备22和音频输出设备24通过一条设备总线16耦合到所述主处理系统。典型地,设备总线16和前端总线18可以被提供到几个核心逻辑主板芯片组中的任何一个中,所述核心逻辑主板芯片组诸如是包含由Intel公司出售的存储器控制器集线器(MCH)和输入/输出控制器集线器(ICH)设备的核心逻辑芯片组。
发明内容
典型的,NIC20从一个通信网络中接收被封装在数据帧中的数据包。典型地,NIC20把接收的数据包传输到在系统存储器12中的预定义缓冲区单元中,以由主处理系统进一步进行处理。为了生成声音或图像,驻留在主处理系统上的设备驱动程序,典型地把数据从在系统存储器12中的预定义缓冲区单元中传输到视频输出设备22或者音频输出设备。当从这些驱动程序中接收了数据后,视频输出设备22或音频输出设备24典型地把接收的数据解码成为用于驱动诸如显示器或音频扬声器的媒体输出设备的信号。
附图说明
将参考下列图对本发明的非限制性的和非穷举的实施例加以描述,在贯穿各种图中,除非另作说明,否则相似的参考数字指示相似的部件。
图1表示了一个现有技术处理平台的示意图。
图2表示了一个依据本发明一个实施例的、用于从一个通信网络向一个处理平台传输媒体数据的系统。
图3表示了依据如图2所示系统的实施例的一个处理平台的示意图,其中所述处理平台包含一个网络接口控制器(NIC),用于独立于主处理系统地把媒体数据传输到一个或多个媒体解码设备。
图4表示依据如图3所示的处理平台的一个实施例的处理平台的示意图,其中所述处理平台包含一个转换器,用于将数据从NIC转发到一个或多个媒体解码设备。
图5表示依据如图3所示处理平台的一个实施例说明如下过程的流程图,所述过程响应于媒体事件启动从NIC到一个或多个媒体解码设备的数据传送。
图6表示依据如图3所示的处理平台的一个实施例说明如下过程的流程图,所述过程将在NIC处接收的数据包转发到一个或多个媒体解码设备。
具体实施方式
在整个说明书中对“一个实施例”或者“一实施例”的引用是指结合所述实施例描述的一个特定特征、结构、或者特点被包含在本发明的至少一个实施例中。因此,短语“在一个实施例”或“一个实施例”在整个说明书的各个位置的出现不一定都是指同一个实施例。此外,特定特征、结构、或特点可以组合在一个或多个实施例中。
在此提到的“机器可读指令”是可以被一个或多个机器在执行一个或多个逻辑操作时所理解的语句。例如,机器可读指令可以包含在对一个或多个数据对象执行一个或多个操作时可被一个处理器编译器解释的指令。然而,这仅仅是机器可读指令的一个例子,而且本发明中的实施例并不局限于这个方面的含义。
在此提到的“存储介质”涉及能够保持可由一个或多个机器理解的语句的介质。例如,存储介质可以包含用于存储机器可读指令或者数据的一个或多个存储设备。此种存储设备可以包含诸如光学、磁或者半导体存储介质之类的存储介质。然而,这仅仅是存储介质的一个例子,而且本发明中的实施例并不局限于这个方面的含义。
在此提到的“逻辑”涉及用于执行一个或多个逻辑操作的结构。例如,逻辑可以包含根据一个或多个输入信号提供一个或多个输出信号的电路。这种电路可以包含一接收数字输入并且提供数字输出的有限状态机,或是响应于一个或多个模拟输入信号提供一个或多个模拟输出信号的电路。可以在专用集成电路(ASIC)或者现场可编程门阵列(FPGA)中提供这种电路。此外,逻辑也可以包括保存在存储器中的机器可读的指令,其中所述逻辑与处理电路协同执行这种机器可读指令。然而,这些仅仅是可以提供逻辑的结构的例子,而且本发明中的实施例并不局限于这个方面的含义。
在此讨论的“处理系统”涉及用于实现计算任务的硬件和软件资源的组合。然而,这仅仅是处理系统的一个例子,而且本发明中的实施例并不局限于这个方面的含义。“主处理系统”涉及一种适于和“外围设备”通信的处理系统。例如,外围设备可以向驻留在主处理系统上的一个应用程序提供输入或是从其中接收输出。然而,这些仅仅是主处理系统和外围设备的例子,而且本发明中的实施例并不局限于这个方面。
在此提到的“数据总线”涉及用于在设备之间传输数据的电路。例如,数据总线可以在主处理系统和外围设备之间传输数据。然而,这仅仅是数据总线的一个例子,而且本发明中的实施例并不局限于这个方面。在此提到的“总线事务”涉及在一个总线结构中相耦合的设备之间的交互,其中,一个设备通过总线结构传输寻址到其它设备的数据。
在此提到的“网络接口控制器”(NIC)涉及一种向通信网络传输数据或是从其中接收数据的设备。NIC可以包含适于耦合到通信网络中的传输介质的“网络接口”。例如,网络接口可以包含向特定传输介质传输数据或是从其中接收数据的一种或多个物理通信电路,还包括用于采用介质无关格式传输或接收数据的介质无关接口。然而,这些仅仅是NIC和网络接口的例子,而且本发明中的实施例并不局限于这个方面。
NIC还可以包含一种与其它设备通信的“输入/输出(I/O)接口”。例如,I/O接口可以将NIC耦合到如下设备,所述设备与一条数据总线或一个转换器相耦合,以便依据一种协议来传输数据或是接收数据。然而,这仅仅是I/O接口的一个例子,而且本发明中的实施例并不局限于这个方面。
在此提到的“数据包”涉及将从源传输到目的地的一些数据。数据包可以包含一个“有效负载”部分,它包含了将要在目的地接收的一条消息或一条消息的一部分。数据包还可以包含一个“首部”部分,它包含诸如与包的目的地相关联的“目的地地址”之类的信息。可以依据网络通信协议定义这样的目的地地址。然而,这些仅仅是数据包、有效负载、首部和目的地地址的例子,而且本发明中的实施例并不局限于这些方面。
在此提到的“媒体数据”涉及表示语句的已编码数据。例如,媒体数据可以包含表示音频信号或视觉图像的已编码数据。媒体数据可以以几种媒体编码格式中的任何一种被编码,以便在源和目的地之间进行传输。然而,这些仅仅是媒体数据和媒体编码格式的例子,而且本发明中的实施例并不局限于这些方面。
在此提到的“媒体解码设备”涉及用于处理媒体数据的设备。例如,媒体解码设备可以处理已编码的媒体数据以生成音频信号或视频信号。然而,这仅仅是媒体解码设备的一个例子,而且本发明中的实施例并不局限于这个方面。
在此提到的“媒体事件”涉及将呈现一个或多个媒体语句的时间周期。例如,媒体事件可以表示在响应媒体数据生成声音或图像期间的周期。然而,这仅仅是媒体事件的一个例子,而且本发明中的实施例并不局限于这个方面。
在此提到的“转发引擎”涉及根据目的地信息向目的地转发数据的逻辑。例如,转发引擎可以根据所接收的数据包的首部中的信息,向目的地转发接收的数据包或是接收的数据包的一部分。然而,这仅仅是转发引擎的一个例子,而且本发明中的实施例并不局限于这个方面。
在此提到的“会话信息”涉及把数据包与媒体事件的一个或多个方面相关联的信息。例如,可以把会话信息与数据包的一部分进行比较,以确定所述数据包是否与媒体事件相关联。此外,会话信息可以包含使数据包与媒体事件的诸如音频部分或视频部分的组成部分相关联的信息。然而,这仅仅是会话信息的例子,而且本发明中的实施例并不局限于这个方面。
简要来说,本发明中的实施例涉及一种从NIC向一个或多个媒体解码设备转发数据包的系统和方法。NIC可以和任一主处理系统和一个或多个媒体解码设备进行通信。NIC可以独立于主处理系统地向一个或多个媒体解码设备转发所接收的数据包中的媒体数据。然而,这仅仅是本发明的一个实施例例子,而且其它实施例并不局限于这个方面。
图2显示了一个依据本发明一个实施例的用于将媒体数据104从一个通信网络102传输到一个处理平台106的系统100。通信网络102可以包含一个源节点,它依据与NIC 112相关联的一个网络地址向NIC 112传输数据。例如,与网络102相关联的因特网服务供应商(ISP)(未显示)可以依据诸如传输控制协议/网际协议(TCP/IP)或用户数据报协议(UDP)的几种网络通信协议中的任何一种向NIC 112传输媒体数据104。然而,这些仅仅是可以被用来在一个通信网络中的节点之间传输媒体数据的一种网络协议的例子,并且可以使用其它通信协议。在NIC 112处接收的数据包可以包含用于标识作为接收数据包的一个目的地的NIC 112、视频控制器114或音频控制器116的目的地信息(例如,在包首部中)。所述数据包还可以包含如下信息(例如,在TCP/IP包首部中的会话标识符或端口号),所述信息使该数据包与在一个会话中的数据包流的一部分相关联。
NIC 112可以适于利用包含例如双绞线电缆、同轴电缆或光纤电缆的几种类型的数据传输介质中的任何一种与通信网络102相耦合。可选地,NIC 112可以通过无线数据链路耦合到通信网络102。然而,这些仅仅是可以被用来从一个通信网络向NIC传输数据的数据传输介质的例子,并且本发明的实施例并不局限于这些方面。NIC 112还可以适于根据诸如IEEE Std.802.3的Ethernet协议版本或依据IEEE Std.802.11的无线局域网(WLAN)协议版本的数据链路协议接收数据。然而,这些仅仅是可以被用来从一个通信网络向NIC传输数据的数据链路协议的例子,并且本发明的实施例并不局限于这些方面。
依据一个实施例,媒体数据104可以包含可用来生成声音或图像的已编码的音频数据或视频数据。然而,这些仅仅是媒体数据类型的例子,而且本发明中的实施例并不局限于这些方面。可以使用几种媒体编码或压缩技术中的任何一种来编码媒体数据104,这些编码或压缩技术包含基于标准的编码技术,诸如MPEG、JPEG、AVI、MP3、WMA、RealAudio、RealVideo、Divx、Ogg Vorbis和H.263。然而,这些仅仅是编码和/或压缩媒体数据的技术的例子,并且其它技术(包含有产权的编码和压缩技术)也可以使用。
在接收到包含媒体数据104的数据包时,NIC 112根据数据包中的信息把接收的媒体数据转发到视频控制器114或者音频控制器116。从NIC 116接收到音频数据时,音频控制器116可以依据压缩格式解码和/或解压缩音频数据,用以向扬声器110提供一个信号以便生成声音。类似地,从NIC 116接收到视频数据时,视频控制器可以解码和/或解压缩视频数据,用以向显示器108提供一个信号以便生成图像。
图3显示了依据如图2所示的系统的一个实施例的处理平台200的示意图,其中所述处理平台200包含NIC 220,用于独立于主处理系统地把数据传输到一个或多个媒体解码设备。中央处理单元(CPU)214和系统存储器212可以被通过一条前端总线218耦合以形成一个主处理系统,所述主处理系统用于驻留操作系统、应用程序和与外围设备进行通信的设备驱动程序。设备总线216可以把NIC220和诸如音频输出设备224和视频输出设备222的媒体解码设备耦合到主处理系统。设备总线216和前端总线218可以被形成在母板芯片组的核心逻辑中。在一个实施例中,视频输出设备222可以通过一个高级图形端口(AdvancedGraphics Port,AGP)(未显示)被耦合到设备总线216,其中所述AGP耦合到母板芯片组的一个存储器控制器集线器中或是被形成在其中。然而,这仅仅是视频输出设备如何耦合到一条设备总线的一个例子,而且本发明中的实施例并不局限于这些方面。
CPU 212可以包含市场上买得到的几种CPU中的任何一个,诸如由Intel公司出售的Celeron、Pentium、Xeon、或Itanium系列的处理器。然而,这些仅仅是可以用在主处理系统中的CPU的例子,而且本发明中的实施例并不局限于这些方面。系统存储器212可以包含几种类型存储介质中的任何一种,这些存储介质包括诸如动态随机存取存储器(DRAM)、同步DRAM或双速率DRAM。然而,这些仅仅是可以用于形成一个系统存储器的存储介质的例子,而且本发明中的实施例并不局限于这些方面。驻留在主处理系统上的操作系统可以包含来自以下几种市场上买得到的操作系统中的任何一个的操作系统模块,诸如微软公司出售的Windows系列、Sun微系统公司出售的Solaris或在开放源代码团体中可得到的Linux系列。然而,这些仅仅是可以驻留在主处理系统上的操作系统的例子,而且本发明中的实施例并不局限于这些方面。
依据一个实施例,NIC 220可以独立于主处理系统地把数据传输到视频输出设备222或者音频输出设备224。在从通信网络中接收数据包时,NIC 220可以通过设备总线216将接收到的数据包中的媒体数据转发到一个目的地媒体解码设备,而不必在系统存储器212中存储数据包或媒体数据。
依据一个实施例,NIC 220可以包含如下逻辑,所述逻辑用于依据一种数据链路协议接收从一通信网络接收的数据帧中的数据包。例如,NIC 220可以包含一物理层设备和一媒体访问控制器(MAC),用以从一个数据传输介质中接收数据帧。NIC 220还可以包含一卸载引擎,它依据一个网络协议处理所接收的数据包,用以为接收的数据包确定一个目的地。在依据TCP/IP协议而格式化数据包一个实施例中,例如,NIC 220可以包含一TCP/IP卸载引擎(TOE)(未显示),用于执行TCP/IP处理。TOE可以包含如下微控制器或ASIC,所述微控制器或ASIC形成在NIC 220中或与其相耦合。然而,这些仅仅是TOE如何提供在一个NIC中的例子,而且本发明中的实施例并不局限于这些方面。
依据一个实施例,一个被标识为TCP/IP包的接收的数据包可以包含首部信息,它可以被提供给TOE用来进行TCP/IP处理,以便确定例如用于所述数据包的目的地。TOE还可以根据例如源或目的地端口号或包序列号的、在TCP/IP首部中的会话标识符和/或信息,把接收的数据包与在一会话中的特定数据流相关联。数据包然后可以被与一个特定媒体事件或特定介质解码设备相关联,以便接收数据包中的媒体数据。除了将目的地与一个媒体会话相关联之外,NIC 220还可以检测与数据包的有效负载中的媒体数据相关联的一种特定媒体数据类型(例如视频数据或者音频数据)和/或媒体编码格式,用以确定对应于所检测到的媒体数据类型和/或媒体编码格式的特定目的地媒体解码设备。
根据一个实施例,可以根据几种加密格式诸如IP安全(IPSec)或者安全套接字层(SSL)中的任何一种的加密格式,将所接收的数据包中的全部或者部分媒体数据加密。然而,这些仅仅是可以用于加密已分包的媒体数据的加密格式的例子,而且本发明中的实施例并不局限于这些方面。除了执行包级处理(例如TCP/IP处理)之外,NIC 220可以包含在向目的地媒体解码设备转发媒体数据之前解密媒体数据的逻辑。可选地,媒体解码设备可以包含如下解密逻辑,所述解密逻辑用于对由NIC 220转发的媒体数据进行解密。然而,这些仅仅是媒体数据如何被解密的例子,而且本发明中的实施例并不局限于这些方面。
在图3所示的处理平台200的另一个替换实施例中,NIC 220可以包含将所接收数据包中的媒体数据解码并且提供解码后的媒体信号(例如,以NTSC格式解码了的视频信号)以驱动一个输出设备的逻辑。在其它替换方案中,NIC 220可以至少部分地将所接收的数据包中的媒体数据解码,并且部分地把解码后的媒体数据转发到媒体解码设备,用以补充解码成为用以驱动一个输出设备的媒体信号。然而,这些仅仅是NIC如何在转发到目的地之前执行媒体数据解码的例子,并且本发明中的实施例并不局限于这些方面。
依据一个实施例,NIC 220可以利用包含直接存储器访问(DMA)写事务的数据总线事务转发来自所接收数据包中的媒体数据,在直接存储器访问(DMA)写事务中NIC 220充当总线主方。视频输出设备222和音频输出设备224都可以包含如下存储器(例如缓冲存储器),所述存储器可通过在设备总线216上的、寻址到接收者媒体解码设备的总线事务进行寻址。使用本领域公知的普通技术,视频输出设备222和音频输出设备224都可以被配置(例如在总线枚举过程期间)为要求寻址到一个或多个预定地址的总线事务。例如,由主处理系统控制的枚举程序可以设置与在数据总线上的媒体解码设备相关联的基地址寄存器(BAR),以确定媒体解码设备要求哪些总线事务。因此,NIC 220可以通过启动寻址到媒体解码设备的DMA写事务,独立于主处理系统地把来自所接收的数据包的媒体数据转发到一个媒体解码设备(例如,视频输出设备222或者音频输出设备224)。
图4显示了依据如图3所示的处理平台200的一个实施例的处理平台300的示意图,其中所述处理平台包含转换器316,用于从NIC 320向一个或多个媒体解码设备转发数据。CPU 312可以通过一个根组件(root complex)318耦合到系统存储器314以提供一个主处理系统。根组件318和转换器316可以被包含在如下核心逻辑主板芯片组中,所述核心逻辑主板芯片组依据在2002年7月16日制定的PCI Express Base Specification.(PCI投递基本规格)Rev.1.0中描述的外设部件互连(Peripheral Components Interconnect,PCI)投递(Express)I/O体系结构而形成。转换器316可以包含多个端口,其中包含耦合到根组件318的上行端口326以及耦合到NIC 320、视频输出设备322和音频输出设备324的下行端口328。NIC 320、视频输出设备322和音频输出设备324可以被配置为如在PCI Express Base Specification(PCI投递基本规格)第一章中提供的“端点”设备。
依据一个实施例,NIC 320可以在独立于驻留在主处理系统上的过程的情况下,通过转换器316把在接收的数据包中的媒体数据转发到视频输出设备322或者音频输出设备325。在从一个通信系统中接收到一个数据包时,NIC 320可以依据一种网络协议(例如TCP/IP)处理所接收的数据包以确定一个目的地。根据此目的地,NIC 320然后利用例如启动一个寻址到媒体解码设备的DMA写事务,通过转换器316,将来自数据包的媒体数据转发到与一个下行端口328相耦合的媒体解码设备。
应当理解,NIC 320可以使用端点到端点的路由协议来依据PCI Express BaseSpecification(PCI投递基本规格)把媒体数据转发到视频输出设备322或者音频输出设备324。虽然图4显示了耦合到共用转换器316的下行端口328的音频输出设备324、NIC 320和视频输出设备322,但是应当理解可以使用一个以上的转换器来通过一个根节点耦合这些设备。另外,一个或多个NIC 320、视频输出设备322和音频输出设备324可以直接耦合到一个根组件,而其它设备耦合到一个转换器的下行端口。然而,这些仅仅是NIC如何可以独立于主处理系统地向终点设备转发媒体数据的例子,并且本发明中的实施例并不局限于这些方面。
图5显示依据如图3所示的处理平台200的一个实施例说明如下过程400的流程图,过程400响应于媒体事件而启动从NIC到一个或多个媒体解码设备的数据传送。过程400可以在存储介质(例如系统存储器212)中存储的机器可读指令的控制下,由主处理系统加以执行。在块402,在主处理系统上的过程可以检测一个媒体事件的启动。媒体事件的启动可以由一个应用程序通过例如检测“播放”命令或者排列媒体的标题(例如排列歌曲或者视频的剪辑)来进行检测。可选地,通过媒体服务器依据“握手”协议检测如下一个或多个数据包的接收,可以检测一个媒体事件,其中所述一个或多个数据包作为对由主处理系统传输的请求的确认的一部分。然而,这些仅仅是可以检测媒体事件如何启动的例子,而且本发明中的实施例并不局限于这些方面。
媒体事件(在块402处检测到的)可以被表征为“会话”,在所述会话期间,可以从一个媒体服务器中接收数据包并且对其进行处理(例如,用于驱动媒体输出设备)。可以依据几种媒体编码格式或媒体类型(例如,MPEG、AVI、MP3、JPEG、WMA;H.263、RealAudio或RealVideo)中的任何一种,格式化在媒体事件中接收的数据包中的媒体数据。可以在块402检测媒体事件时检测媒体类型。菱形块404确定媒体卸载系统是否能够根据相关联的媒体类型处理数据包中的媒体数据。
菱形块408可以根据与媒体数据相关联的媒体类型,确定用于处理(将在媒体事件期间接收的在数据包中的)媒体数据的媒体解码设备的可用性。例如,菱形块408可以确定耦合到一条数据总线的如下媒体解码设备的可用性,所述媒体解码设备能够根据一种特殊的媒体编码格式来解码媒体数据。菱形块408还可以确定这些媒体解码设备中的任何设备是否能够请求数据总线上的DMA写事务(例如,任何媒体解码设备是否包含足够的可由所述数据总线访问的可寻址存储器)。依据一个实施例,菱形块408可以在数据总线枚举和/或试图将媒体数据转发到一个或多个媒体解码设备期间,根据由主处理系统形成的配置表确定这种媒体解码设备的可用性。然而,这些仅仅是确定用于解码以一种特定格式编码的媒体数据的媒体解码设备的可用性的例子,而且本发明中的实施例并不局限于这些方面。
如果在菱形块404和408确定支持媒体卸载,则块410可以向NIC 220传输会话信息,并且块412可以向一个或多个媒体解码设备传输输出信息。这种会话信息可以使NIC 220能够将一个接收的数据包与一个媒体事件相关联,并且将媒体数据转发到一个媒体解码设备。这种用于使一个输入的数据包与所述媒体事件相关联的会话信息可以包含如下信息,所述信息将与数据包中的诸如TCP/IP首部(例如,源或目的地端口号或包序列号)的信息进行比较。可选地,这种会话信息可以与封装在所述数据包的有效负载部分中的会话标识符进行比较。然而,这些仅仅是在一个接收数据包中的、与媒体事件相关联的信息的例子,而且本发明中的实施例并不局限于这些方面。
在块410传输到NIC 220的会话信息还可以包含例如与每个媒体解码设备相关联的地址信息(例如,DMA总线事务可以寻址到的地址)、解密格式或密钥以及用于使输入的数据包与媒体事件相关联的信息。然而,这些仅仅是可以提供给NIC以执行卸载处理的会话信息的例子,并且本发明的实施例并不局限于这些方面。
所述会话信息可以使NIC 220能够将每个数据包中的媒体数据与一个能够处理媒体数据的目的地媒体解码设备相关联。例如,NIC 220可以在存储器(未显示)中构造一个查找表,用以将所接收的数据包中的信息与每个目的地媒体解码设备的地址信息相关联(其中所接收的数据包中的信息例如是会话标识符和/或诸如源或目的地端口号或包序列号的在TCP/IP首部中的信息)。NIC 220随后可以根据与在数据包中的信息相关联的地址信息,把来自一个接收的数据包中的媒体数据转发到一个目的地媒体解码设备。
在块412传输到媒体解码设备的输出信息可以包含例如用于标识数据编码的信息、压缩或加密格式、或用于处理从NIC 220接收的媒体数据的加密密钥。输出信息还可以包含任何数据格式,媒体解码设备将采用这种数据格式接收从NIC转发的媒体数据。然而,这些仅仅是可以提供给一个处理媒体数据的媒体解码设备的输出信息的例子,并且本发明的实施例并不局限于这些方面。块414通知NIC 220开始向媒体解码设备转发媒体数据。
尽管依据过程400的实施例,块412表示了从主处理系统向媒体解码设备提供输出信息,但是在替换实施例中,NIC 220继块414之后相对于主处理系统来说透明地把输出信息提供给媒体解码设备。在一个实施例中,主处理系统可以把输出信息提供给NIC 220,并且NIC 220随后把输出信息转发给媒体解码设备。可选地,NIC 220可以独立于主处理系统地从一个存储器设备(未显示)向媒体解码设备提供输出信息。
图6显示了依据如图3所示的处理平台的一个实施例说明如下过程500的流程图,过程500用于将NIC 220接收的数据包转发到一个或多个媒体解码设备。在一个实施例中,可以继在图5中说明的过程400之后或是响应于所述过程,执行过程500。过程500还可以由NIC 220中的诸如嵌入式微控制器之类的如下逻辑来执行,所述逻辑用于执行在嵌入式存储设备中所存储的机器可读指令。可选地,过程500可以受到嵌入到NIC 220中或与其相耦合的ASIC或FPGA中的逻辑的控制。然而,这些仅仅是与NIC相结合一起实现以便处理以及独立于主处理系统地向设备转发媒体数据的逻辑的例子,并且本发明中的实施例并不局限于这些方面。
在块502,NIC 220可以从一个通信网络中接收源于例如一个耦合到通信网络的媒体服务器的数据包。菱形块504可以确定在所接收的数据包中的信息(例如,会话标识符和/或在TCP/IP首部中的诸如包序列号或者源或目的地端口号的信息)是否和一个与媒体事件相关联的会话信息(例如在块410处提供给NIC220的会话信息)相匹配。例如,菱形块504可以通过访问一个TCP/IP卸载高速缓存表来关联接收的数据包中的信息,以获得与媒体事件相关联的会话信息。如果在所接收数据包中的信息与媒体事件相关联,则块512可以执行卸载处理,所述卸载处理包含例如依据一种网络通信协议处理包的首部信息以便关联目的地媒体解码设备的地址(例如依据查找表处理TCP/IP首部),以及有效负载内容的任意解密。然而,这仅仅是卸载处理的例子,而且本发明中的实施例并不局限于这些方面。
在块512,NIC 220可以另外把来自所接收数据包中的媒体数据处理为处于如下的格式,所述格式能够被要接收所述数据包的媒体解码设备处理。例如,对于要被转发到一个特定的媒体解码设备的数据包,块512可以从所述数据包中分离出首部信息,并且把有效负载媒体数据与来自其它数据包的媒体数据组合成将要转发的重组数据结构。另外,NIC 220还可以将数据包的有效负载中的全部或者部分媒体数据解码,并且把解码了的媒体数据转发给一个目的地媒体解码设备。媒体解码设备然后可以在解码了的媒体数据上执行某些补充解码或者不执行补充解码,以产生驱动媒体输出设备的信号。对于能够接收在网络协议数据包(例如,TCP/IP数据包)中的媒体数据的另一个特定媒体解码设备而言,块512可以仅仅按原样转发所接收的数据包。然而,这些仅仅是NIC如何根据一个特定目的地设备处理数据包的例子,而且本发明中的实施例并不局限于这些方面。。
在块514,NIC 220可以根据在块510处确定的目的地信息,独立于主处理系统地把来自所接收的数据包的媒体数据(在块510和512被处理)转发到一个目的地媒体解码设备(例如,视频输出设备222或者音频输出设备224)。例如,NIC 220可以启动一个寻址到目的地媒体解码设备的DMA写事务(例如,寻址到由所述目的地媒体解码设备要求的地址的DMA写事务)。块516然后可以向在主处理系统的过程提供一状态更新消息。
虽然已经说明和描述了目前被认为是本发明实施例的例子,但是本领域技术人员将会理解在不背离本发明的真正范围的情况下,可以进行其它各种修改,并且可以用等效物替代。另外,在不背离在此描述的主要发明构思的情况下,可以进行许多修改以使本发明的示范适应于特定情况。因此,本发明不局限于这些公开的特定实施例,而是包含落入附加权利要求范围之内的所有实施例。

Claims (33)

1.一种系统,包含:
一主处理系统;
一个或多个媒体解码设备;以及
一网络接口控制器,所述网络接口控制器包含:
一网络接口,用于从一数据传输介质中接收数据包;
一I/O接口,用于和所述主处理系统以及所述一个或多个媒体解码设备相通信;以及
一转发引擎,用于独立于所述主处理系统地向所述一个或多个媒体解码设备转发所接收的数据包中的媒体数据。
2.如权利要求1所述的系统,其特征在于:所述系统还包括一具有多个端口的转换器,其中至少一个端口耦合到所述I/O接口,而且至少一个端口耦合到所述一个或多个媒体解码设备。
3.如权利要求1所述的系统,其特征在于:所述网络接口控制器还包括一耦合到所述网络接口的物理层设备,用以从一双绞线传输介质中接收所述数据包。
4.如权利要求1所述的系统,其特征在于:所述网络接口控制器还包括一耦合到所述网络接口的物理层设备,用以从一光传输介质中接收所述数据包。
5.如权利要求1所述的系统,其特征在于:所述网络接口控制器还包括一耦合到所述网络接口的物理层设备,用以从一无线传输介质中接收所述数据包。
6.一种网络接口控制器,包含:
一网络接口,用于从一数据传输介质中接收数据包;
一转发引擎,用于进行如下操作:
从一主处理系统接收与一媒体事件相关联的会话信息;以及
独立于所述主处理系统地向一目的地媒体解码设备转发数据包中的、与所述会话信息相关联的媒体数据。
7.如权利要求6所述的网络接口控制器,其特征在于:所述数据转发引擎还包括:如下逻辑,所述逻辑根据所述会话信息,将一接收的数据包与多个媒体解码设备当中的所述目的地媒体解码设备相关联。
8.如权利要求7所述的网络接口控制器,其特征在于:所述网络接口控制器还包括:如下逻辑,所述逻辑启动一直接存储器访问事务用以向所述目的地媒体解码设备转发媒体数据。
9.如权利要求6所述的网络接口控制器,其特征在于:所述网络接口控制器包含:如下逻辑,所述逻辑解密数据包中的、与所述会话信息相关联的至少一部分媒体数据。
10.如权利要求6所述的网络接口控制器,其特征在于:所述数据转发引擎还包括:
根据所述会话信息使多个数据包与一目的地媒体解码设备相关联的逻辑;
把所述多个数据包中的媒体数据部分组合成为一数据结构的逻辑;以及
独立于所述主处理系统地把所述数据结构转发到所述目的地媒体解码设备的逻辑。
11.如权利要求6所述的网络接口控制器,其特征在于:所述转发引擎还包括:如下逻辑,所述逻辑根据所述会话信息的至少一部分与所述接收的数据包中的一部分信息的比较,使所述接收的数据包与所述媒体事件相关联。
12.如权利要求11所述的网络接口控制器,其特征在于:所述接收的数据包中的所述部分信息包含一会话标识符。
13.如权利要求11所述的网络接口控制器,其特征在于:所述接收的数据包中的所述部分信息包含一TCP/IP首部。
14.一种方法,包含:
检测一媒体事件;以及
把与所述媒体事件相关联的会话信息传输到一网络接口控制器,所述会话信息使在所述网络接口控制器处接收的至少一些数据包与一个或多个目的地媒体解码设备相关联。
15.如权利要求14所述的方法,所述方法还包括:
使所述媒体事件与一种或多种媒体编码格式相关联;以及
检测能够处理以所述一种或多种媒体编码格式编码的媒体数据的一个或多个媒体解码设备的存在。
16.如权利要求14所述的方法,其特征在于:所述会话信息包含如下信息,所述信息使接收的数据包中的媒体数据与一目的地媒体解码设备的地址相关联。
17.如权利要求14所述的方法,所述方法还包括:向所述目的地媒体解码设备中的至少一个传输输出信息,所述输出信息用于标识与数据包中的、将要转发所述目的地媒体解码设备的媒体数据相关联的一种媒体编码格式。
18.一个物品,包括:
在上面存储了机器可读的如下指令的存储介质,所述指令用于进行如下操作:
检测一媒体事件;以及
启动与所述媒体事件相关联的会话信息到一网络接口控制器的传输,所述会话信息使在所述网络接口控制器处接收的至少一些数据包与一个或多个目的地媒体解码设备相关联。
19.如权利要求18所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:
使所述媒体事件与一种或多种媒体编码格式相关联;以及
检测能够处理以所述一种或多种媒体编码格式编码的媒体数据的一个或多个媒体解码设备的存在。
20.如权利要求18所述的物品,其特征在于:所述会话信息包含如下信息,所述信息使所述接收的数据包中的媒体数据与一目的地媒体解码设备的地址相关联。
21.如权利要求18所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:启动输出信息到至少一个所述目的地媒体解码设备的传输,所述输出信息用于标识与数据包中的、将要转发到所述目的地媒体解码设备的媒体数据相关联的一种媒体编码格式。
22.一种方法,包含:
从一主处理系统接收会话信息;
从一传输介质中接收数据包;
使至少一些所述接收的数据包与所述会话信息相关联;以及
独立于所述主处理系统地把所述相关联的数据包的部分转发到一个或多个目的地媒体解码设备。
23.如权利要求22所述的方法,所述方法还包括:在将所述相关联数据包的所述部分转发到所述一个或多个目的地媒体解码设备之前,对其进行解密。
24.如权利要求22所述的方法,所述方法还包括:至少部分地根据在所述接收的数据包中的TCP/IP信息,使至少一些所述接收的数据包与所述会话信息相关联。
25.如权利要求22所述的方法,其特征在于:所述数据转发引擎还包括:如下逻辑,所述逻辑根据所述会话信息,将一接收的数据包与多个媒体解码设备当中的所述目的地媒体解码设备相关联。
26.如权利要求22所述的方法,其特征在于:转发与一目的地媒体解码设备相关联的一接收数据包的部分还包括:启动一直接存储器访问事务以把所述接收的数据包中的媒体数据转发到所述目的地媒体解码设备。
27.如权利要求22所述的方法,所述方法还包括:
根据所述会话信息,使多个接收的数据包与一目的地媒体解码设备相关联;
把所述多个数据包中的媒体数据部分组合成为一数据结构;以及
独立于所述主处理系统地把所述数据结构转发到所述目的地媒体解码设备。
28.一种物品,包括:
在上面存储了机器可读的如下指令的存储介质,所述指令用于进行如下操作:
从一主处理系统中接收会话信息;
使至少一些接收的数据包与所述会话信息相关联;以及
独立于所述主处理系统地启动所述相关联数据包的部分到一个或多个目的地媒体解码设备的转发。
29.如权利要求28所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令进行如下操作:解密所述相关联数据包的所述部分。
30.如权利要求28所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:至少部分地根据所述接收的数据包中的TCP/IP信息,使至少一些所述接收的数据包与所述会话信息相关联。
31.如权利要求28所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:根据所述会话信息,使一接收的数据包与多个媒体解码设备当中的一目的地媒体解码设备相关联。
32.如权利要求31所述的物品,其特征在于:存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:启动一直接存储器访问事务以把所述接收的数据包中的媒体数据转发到所述目的地媒体解码设备。
33.如权利要求28所述的物品,其特征在于:所述存储介质还包括在上面存储的机器可读的如下指令,所述指令用于进行如下操作:
根据所述会话信息,使多个接收的数据包与一目的地媒体解码设备相关联;
把所述多个数据包中的媒体数据部分组合成为一数据结构;以及
独立于所述主处理系统地把所述数据结构转发到所述目的地媒体解码设备。
CNA2003101198454A 2002-10-14 2003-10-14 用于媒体数据卸载处理的系统、设备和方法 Pending CN1503528A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/270703 2002-10-14
US10/270,703 US20040073716A1 (en) 2002-10-14 2002-10-14 System, device and method for media data offload processing

Publications (1)

Publication Number Publication Date
CN1503528A true CN1503528A (zh) 2004-06-09

Family

ID=32068992

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2003101198454A Pending CN1503528A (zh) 2002-10-14 2003-10-14 用于媒体数据卸载处理的系统、设备和方法

Country Status (2)

Country Link
US (1) US20040073716A1 (zh)
CN (1) CN1503528A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789952A (zh) * 2009-01-23 2010-07-28 瑞昱半导体股份有限公司 网络工作卸载装置与方法
CN103795704A (zh) * 2012-10-29 2014-05-14 辉达公司 用于利用低延迟数据传输协议卸载计算操作的技术
CN102017544B (zh) * 2008-02-29 2014-05-28 甲骨文美国公司 卸载网络处理的方法和系统

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
US7581077B2 (en) * 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
GB2410106B (en) 2002-09-09 2006-09-13 Commvault Systems Inc Dynamic storage device pooling in a computer system
CA2499073C (en) 2002-09-16 2013-07-23 Commvault Systems, Inc. Combined stream auxiliary copy system and method
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7617333B2 (en) * 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7219183B2 (en) * 2003-01-21 2007-05-15 Nextio, Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7917658B2 (en) * 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US7836211B2 (en) * 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US7457906B2 (en) * 2003-01-21 2008-11-25 Nextio, Inc. Method and apparatus for shared I/O in a load/store fabric
US7188209B2 (en) * 2003-04-18 2007-03-06 Nextio, Inc. Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US8102843B2 (en) * 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US7493416B2 (en) * 2003-01-21 2009-02-17 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7174413B2 (en) * 2003-01-21 2007-02-06 Nextio Inc. Switching apparatus and method for providing shared I/O within a load-store fabric
US7502370B2 (en) * 2003-01-21 2009-03-10 Nextio Inc. Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7698483B2 (en) * 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7512717B2 (en) * 2003-01-21 2009-03-31 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US7664909B2 (en) * 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
WO2004072772A2 (en) * 2003-02-12 2004-08-26 Silverback Systems, Inc. An architecture and api for of transport and upper layer protocol processing acceleration
MXPA05010591A (es) 2003-04-03 2005-11-23 Commvault Systems Inc Sistema y metodo para desempenar dinamicamente operaciones de almacenamiento en una red de computadora.
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
CA2544063C (en) * 2003-11-13 2013-09-10 Commvault Systems, Inc. System and method for combining data streams in pilelined storage operations in a storage network
US8572289B1 (en) * 2003-12-19 2013-10-29 Nvidia Corporation System, method and computer program product for stateless offloading of upper level network protocol operations
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
EP2264956B1 (en) 2004-07-23 2017-06-14 Citrix Systems, Inc. Method for securing remote access to private networks
AU2005266943C1 (en) 2004-07-23 2011-01-06 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
US20060040638A1 (en) * 2004-08-17 2006-02-23 Mcquaide Arnold Jr Hand-held remote personal communicator & controller
US20060041916A1 (en) * 2004-08-17 2006-02-23 Mcquaide Arnold Jr Personal multi-modal control and communications system
CA2587055A1 (en) * 2004-11-05 2006-05-18 Commvault Systems, Inc. Method and system of pooling storage devices
US7536291B1 (en) * 2004-11-08 2009-05-19 Commvault Systems, Inc. System and method to support simulated storage operations
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US20060253605A1 (en) * 2004-12-30 2006-11-09 Prabakar Sundarrajan Systems and methods for providing integrated client-side acceleration techniques to access remote applications
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US20060227768A1 (en) * 2005-04-07 2006-10-12 Dell Products L.P. System and method for communicating between a computer cluster and a remote user interface
US7908555B2 (en) * 2005-05-31 2011-03-15 At&T Intellectual Property I, L.P. Remote control having multiple displays for presenting multiple streams of content
US8605712B1 (en) * 2005-11-21 2013-12-10 At&T Intellectual Property Ii, L.P. Method and apparatus for distributing video with offload engine
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
JP2007272463A (ja) * 2006-03-30 2007-10-18 Toshiba Corp 情報検索装置、情報検索方法および情報検索プログラム
US7729381B2 (en) * 2006-09-15 2010-06-01 At&T Intellectual Property I, L.P. In-band media performance monitoring
US9794378B2 (en) * 2006-11-08 2017-10-17 Standard Microsystems Corporation Network traffic controller (NTC)
US8312323B2 (en) 2006-12-22 2012-11-13 Commvault Systems, Inc. Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved
TWI469055B (zh) * 2008-06-27 2015-01-11 Realtek Semiconductor Corp 網路工作卸載裝置與方法
US20100011432A1 (en) * 2008-07-08 2010-01-14 Microsoft Corporation Automatically distributed network protection
US10523402B1 (en) * 2010-05-07 2019-12-31 William George Pabst Multi-media full duplex packet data splitter
TWI584124B (zh) * 2010-10-06 2017-05-21 鈺群科技股份有限公司 可減少於透過高速週邊元件互連介面作即時傳輸時所需之重傳緩衝器之容量之方法與相關裝置
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US10873613B2 (en) * 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
JP2013097734A (ja) * 2011-11-04 2013-05-20 Ricoh Co Ltd 制御装置、通信制御方法
US9424214B2 (en) * 2012-09-28 2016-08-23 Mellanox Technologies Ltd. Network interface controller with direct connection to host memory
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9667728B2 (en) * 2013-10-31 2017-05-30 Aruba Networks, Inc. Controller offloading
CN103713542A (zh) * 2013-11-11 2014-04-09 青岛中科英泰商用系统有限公司 设急停控制开关和音频接口的多功能触控工业平板计算机
US9648081B2 (en) 2014-04-10 2017-05-09 Mellanox Technologies, Ltd. Network-attached memory
US9898213B2 (en) 2015-01-23 2018-02-20 Commvault Systems, Inc. Scalable auxiliary copy processing using media agent resources
US9904481B2 (en) 2015-01-23 2018-02-27 Commvault Systems, Inc. Scalable auxiliary copy processing in a storage management system using media agent resources
US9996498B2 (en) 2015-09-08 2018-06-12 Mellanox Technologies, Ltd. Network memory
US11010261B2 (en) 2017-03-31 2021-05-18 Commvault Systems, Inc. Dynamically allocating streams during restoration of data
US10686731B2 (en) 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
US11165720B2 (en) 2017-12-19 2021-11-02 Xilinx, Inc. Network interface device
US10686872B2 (en) 2017-12-19 2020-06-16 Xilinx, Inc. Network interface device
US10659555B2 (en) 2018-07-17 2020-05-19 Xilinx, Inc. Network interface device and host processing device
US10838763B2 (en) 2018-07-17 2020-11-17 Xilinx, Inc. Network interface device and host processing device
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0674414B1 (en) * 1994-03-21 2002-02-27 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
EP0684721B1 (en) * 1994-05-24 2000-05-03 Sony Corporation Data bus communication
US5826044A (en) * 1994-06-06 1998-10-20 Kabushiki Kaisha Toshiba Display control system having a PCMCIA interface
US5793961A (en) * 1994-11-18 1998-08-11 Intel Corporation Computer system with data conference capability
US6507362B1 (en) * 1994-12-09 2003-01-14 Neomagic Israel Ltd. Digital image generation device for transmitting digital images in platform-independent form via the internet
US5557320A (en) * 1995-01-31 1996-09-17 Krebs; Mark Video mail delivery system
US5867733A (en) * 1996-06-04 1999-02-02 Micron Electronics, Inc. Mass data storage controller permitting data to be directly transferred between storage devices without transferring data to main memory and without transferring data over input-output bus
US5790792A (en) * 1996-09-04 1998-08-04 Radiant Systems, Inc. Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations
WO1998016885A1 (en) * 1996-10-15 1998-04-23 Ecrm, Incorporated Transferring data from disk storage directly to a peripheral device
US6646677B2 (en) * 1996-10-25 2003-11-11 Canon Kabushiki Kaisha Image sensing control method and apparatus, image transmission control method, apparatus, and system, and storage means storing program that implements the method
JP3101592B2 (ja) * 1997-09-03 2000-10-23 インターナショナル・ビジネス・マシーンズ・コーポレ−ション オーディオ機能を持つ外部記憶装置、及びオーディオ機能を持つ外部記憶装置を搭載可能な情報処理装置
US6151636A (en) * 1997-12-12 2000-11-21 3Com Corporation Data and media communication through a lossy channel using signal conversion
US6385211B1 (en) * 1998-08-19 2002-05-07 Intel Corporation Network controller
US6170021B1 (en) * 1998-10-19 2001-01-02 Hewlett-Packard Company Server computer I/O redirection tool

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102017544B (zh) * 2008-02-29 2014-05-28 甲骨文美国公司 卸载网络处理的方法和系统
CN101789952A (zh) * 2009-01-23 2010-07-28 瑞昱半导体股份有限公司 网络工作卸载装置与方法
CN103795704A (zh) * 2012-10-29 2014-05-14 辉达公司 用于利用低延迟数据传输协议卸载计算操作的技术

Also Published As

Publication number Publication date
US20040073716A1 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
CN1503528A (zh) 用于媒体数据卸载处理的系统、设备和方法
US8537815B2 (en) Accelerating data routing
US7653864B2 (en) Method and apparatus to perform error control
US9807134B2 (en) Method and device for filtering media packets
EP1791060B1 (en) Apparatus performing network processing functions
US8825900B1 (en) Method and apparatus for stateless transport layer tunneling
US7924868B1 (en) Internet protocol (IP) router residing in a processor chipset
US7843968B2 (en) Communication apparatus and applications thereof
US8495241B2 (en) Communication apparatus and method therefor
TWI451725B (zh) 用於錯誤防止之封包式訊框之接收器
US8848713B2 (en) Data routing acceleration
JP5711237B2 (ja) データパケットを分析するための装置、データパケット処理システム、及び処理方法
US20110153049A1 (en) Isochronous audio network software interface
US20110225308A1 (en) Data communication apparatus and method
US20070171829A1 (en) Reception apparatus and method and program
WO2006112120A1 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US20120233344A1 (en) Communication apparatus
US20040237110A1 (en) Display monitor
US7668091B2 (en) Program, storage medium, information transmission apparatus, and information transmission method
US8327252B2 (en) Data receiving apparatus, data receiving method, and computer-readable recording medium
JP3988475B2 (ja) 送信装置、受信装置およびそれらの方法
CN1761241A (zh) 利用加密在分组通信网络中处理语音数据
JP3557201B2 (ja) パケット処理装置、パケット処理方法、およびその方法を利用可能な電話装置
US7437548B1 (en) Network level protocol negotiation and operation
CN1553646A (zh) 一种互联网上传送以太网报文的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication