CN101409675A - 网络分组净荷压缩 - Google Patents
网络分组净荷压缩 Download PDFInfo
- Publication number
- CN101409675A CN101409675A CNA2008101785456A CN200810178545A CN101409675A CN 101409675 A CN101409675 A CN 101409675A CN A2008101785456 A CNA2008101785456 A CN A2008101785456A CN 200810178545 A CN200810178545 A CN 200810178545A CN 101409675 A CN101409675 A CN 101409675A
- Authority
- CN
- China
- Prior art keywords
- packet payload
- network
- payload
- speed cache
- compression
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
描述了涉及网络分组净荷压缩/解压缩的方法和装置。在实施例中,未压缩的分组净荷在计算系统的各个组件之间传输之前可以进行压缩。例如,分组净荷在在网络接口卡或控制器(NIC)与存储设备(例如,包括主系统存储器和/或高速缓存)之间以及在处理器(或处理器核)与存储设备(例如,包括主系统存储器和/或高速缓存)之间传输之前可以进行压缩。还公开了其它实施例。
Description
技术领域
本公开一般涉及电子领域。更具体地,本发明实施例一般涉及网络分组净荷压缩和/或解压缩。
背景技术
网络已经成为信息处理技术的一个组成部分。经过连续几代的发展,网络已经能够传送大量的数据。然而,随着通过网络传送的数据规模不断增加,对移动大量数据的计算设备组件的需求也不断增加。例如,在10G比特的以太网络中,数据与网络往返移动的速率能够达到10Gb/s或1.25GB/s(减去一些分组报头和以太网开销)。这些增加的负荷会导致延迟、带宽需求、能耗和实现成本等的增加。
附图说明
参照附图进行了详细描述。在附图中,参考标记最左侧的数字表示第一次出现该参考标记的附图。在不同的附图中使用相同的附图标记指示相同的项。
图1示出了网络环境实施例的各种组件,该网络环境可以用来实现在此讨论的各个实施例。
图2和图5示出了计算系统实施例的方框图,该计算系统可以用来实现在此讨论的一些实施例。
图3示出了根据一个实施例的描述符格式。
图4示出了根据一个实施例的方法的流程图。
具体实施方式
在下面的描述中,阐明了大量的具体细节以提供对各个实施例的全面理解。然而,在没有这些具体细节的情况下,本发明的各种实施例也可以实现。在其它实例中,没有具体描述公知方法、过程、组件和电路以避免掩盖本发明的具体实施例。此外,本发明实施例的不同方面可以使用不同的手段来执行,诸如集成半导体电路(“硬件”),组织成一个或多个程序的计算机可读指令(“软件”),或硬件和软件的某种组合。本公开中提及“逻辑”的目的是指硬件,软件,或其某种组合。
此处讨论的一些实施例可以压缩在网络接口控制器(NIC)和存储设备(例如,包括主系统存储器和/或高速缓存)之间、以及在处理器(或处理器核)和存储设备(例如,包括主系统存储器和/或高速缓存)之间传输的数据的某些部分(比如“分组净荷”)。例如,从处理器核和NIC的角度来看,这些技术可以降低带宽使用、能耗、成本(例如,否则可能需要更加复杂/昂贵的系统设计)和/或延迟,从而可以改善整个平台的性能和/或效率。
图1示出了网络环境100的实施例的各种组件,网络环境100可以用来实现在此讨论的各个实施例。该环境100包括网络102,以支持在各种设备之间进行通信,其中各种设备诸如:服务器计算机104、台式计算机106(例如,工作站或台式计算机)、膝上型(或笔记本)计算机108、再现设备110(例如,网络打印机、复印机、传真机、扫描仪、多功能一体机等)、无线接入点112、个人数字助理或智能电话114、机架式计算系统(未示出)等。网络102可以是任意类型的计算机网络,包括内部网、互联网和/或其组合。
设备104-114可以通过有线和/或无线连接耦合至网络102。因此,网络102可以是有线和/或无线网络。例如,如图1所示,无线接入点112可以耦合到网络102以使得其它无线功能设备(比如设备114)能够与网络102进行通信。在一个实施例中,无线接入点112可以包括业务管理能力。此外,在设备104-114之间通信的数据可以被加密(或受密码保护),例如,用来限制非授权接入。
网络102可以使用任意类型的通信协议,例如,以太网、快速以太网、千兆以太网、广域网(WAN)、光分布式数据接口(FDDI)、令牌环网、专用线、模拟调制解调、数字用户线(DSL和其变形如高比特率DSL(HDSL)、集成服务数字网络DSL(IDSL)等)、异步传输模式(ATM)、光缆调制解调和/或火线(FireWire)。
通过网络102的无线通信可以基于以下网络或系统中的一个或多个:无线局域网(WLAN)、无线广域网(WWAN)、码分多址(CDMA)蜂窝无线电话通信系统、全球移动通信系统(GSM)蜂窝无线电话系统、北美数字蜂窝(NADC)蜂窝无线电话系统、时分多址(TDMA)系统、扩展TDMA(E-TDMA)蜂窝无线电话系统、第三代合作伙伴计划(3G)系统如宽带CDMA(WCDMA)等。此外,网络通信可以通过下列设备来建立:内部网络接口设备(比如,与计算系统出现在相同的物理封装内)或者外部网络接口设备(比如,相对于其耦合到的计算系统该设备拥有独立的封装和/或电源)如网络接口控制器(NIC)。
图2示出了根据本发明实施例的计算系统200的方框图。该计算系统200包括一个或多个中央处理单元(CPU)或处理器202-1到202-P(可能在此处称为“多个处理器202”或“处理器202”)。多个处理器202可能经由互连网络(或总线)204进行通信。多个处理器202可以包括通用处理器、网络处理器(其处理在计算机网络102上通信的数据)或其它类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,多个处理器202可以具有单核或多核设计。具有多核设计的多个处理器202可以在相同的集成电路(IC)管芯上集成不同类型的处理器核。此外,具有多核设计的多个处理器202可以实施为对称或非对称的多处理器。在实施例中,在此论述的各种操作可以由系统200的一个或多个组件来执行。
芯片组206也可以与互连网络204进行通信。芯片组206可以包括图形存储器控制集线器(GMCH)208。GMCH 208可以包括与存储器212进行通信的存储器控制器210。存储器212可以存储数据,包括由处理器202或计算系统200中包括的任何其它设备来执行的指令序列。在本发明的一个实施例中,存储器212可以包括一个或多个易失性存储(或存储器)设备,诸如随机访问存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储设备。非易失性存储器也可以作为硬盘来使用。其它设备也可以经由互连网络204进行通信,诸如多个CPU和/或多个系统存储器。
GMCH 208也可以包括与图形加速器216进行通信的图形接口214。在本发明的一个实施例中,图形接口214可以经由加速图形端口(AGP)与图形加速器216进行通信。在本发明的一个实施例中,显示器(诸如平板显示器、阴极射线管显示器(CRT)、投影屏等)可以通过例如信号转换器与图形接口214进行通信,该信号转换器可以将在存储设备如视频存储器或系统存储器中存储的图像的数字表示转换为由显示器解释并显示的显示信号。由显示设备产生的显示信号可以在由显示器解释并随后显示在显示器上之前经过各种控制设备。
集线器接口218可以允许GMCH 208和输入/输出控制集线器(ICH)220进行通信。ICH 220可以为与计算系统200进行通信的I/O设备提供接口。ICH220可以通过外设桥(或控制器)224来与总线222进行通信,其中外设桥(或控制器)224例如,外设组件互连(PCI)桥、通用串行总线(USB)控制器或其它类型的外设桥或控制器。桥224可以在处理器202与外围设备之间提供数据路径。可以采用其它类型的拓扑结构。此外,多个总线可以与ICH 220进行通信,例如通过多个桥或控制器。此外,在本发明的各个实施例中,与ICH 220进行通信的其它外设可以包括:电子集成驱动器(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并口、串口、软驱、数字输出支持(比如,数字视频接口(DVI))或其它设备。
总线222可以与音频设备226、一个或多个磁盘驱动器228以及一个或多个网路接口设备230(其与计算机网络102进行通信并且可以遵循参照图1所讨论的各种类型通信协议中的一个或多个通信协议)进行通信。在实施例中,网络接口设备230可以是NIC。其它设备可以经由总线222进行通信。此外在本发明的一些实施例中,各种组件(诸如网络接口设备230)可以与GMCH 208进行通信。另外,处理器202和GMCH 208可以组合以形成单个芯片。此外在本发明的其它实施例中,图形加速器216可以包括在GMCH 208中。
此外,计算系统200可以包含易失性和/或非易失性存储器(或存储设备)。例如,非易失性存储器可以包括下列介质中的一个或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电EPROM(EEPROM)、磁盘驱动器(比如,228)、软盘、压缩盘ROM(CD-ROM)、数字多功能盘(DVD)、闪存、磁光盘或可以存储电子数据(例如,包括指令)的其它类型的非易失性机器可读介质。在实施例中,系统200的组件可以按点对点(PtP)结构进行布置。例如,处理器、存储器和/或输入/输出设备可以通过如参照图5所论述的多个点对点接口来互连。
如图2所示,存储器212可以包括一个或多个操作系统(O/S)232,或应用程序234。存储器212也可以存储一个或多个设备驱动程序、分组缓冲238、描述符236(其在一些实施例中指向缓冲器238)、协议驱动等,以便于通过网络102进行通信。存储器212中的程序和/或数据可以互换到磁盘228中作为存储器管理操作的一部分。应用程序234可以(在处理器202上)执行以利用耦合到网络102的一个或多个计算设备(例如图1中的设备104-114)来传送一个或多个分组。在实施例中,分组可以是一个或多个符号和/或数值的序列,该符号和/或数值可以通过从至少一个发送者发送到至少一个接收者(例如,通过诸如网络102这样的网络)的一个或多个电信号进行。例如,每个分组包括报头,该报头包括各种信息,这些信息可以用于路由和/或处理该分组,比如源地址、目的地址、分组类型等。每个分组也可以具有包括原始数据(或内容)的净荷,该分组通过计算机网络(比如网络102)在不同计算设备(比如图1中的设备104-114)之间传输该原始数据。
在实施例中,应用程序234可以利用O/S 232例如通过设备驱动(未示出)来与系统200的各种元件进行通信。因此,设备驱动包括网络适配器230专用命令来在O/S 232和网络适配器230之间提供通信接口。此外,在一些实施例中,网络适配器230可以包括(网络)协议层用于实现物理通信层以便通过网络102向远程设备发送网络分组以及从远程设备接收网络分组。网络102可以包括任意类型的计算机网络,例如参照图1所论述的那些计算机网络。网络适配器230还可以包括DMA引擎,其可以将分组写入到在存储器212中的分配给可用描述符236的缓冲器238。另外,网络适配器230可以包括网络适配器控制器254,其可以包括硬件(例如,逻辑电路)和/或可编程处理器(例如多个处理器202)来执行与适配器相关的操作。在实施例中,适配器控制器254可以是MAC(媒体访问控制)组件。网络适配器230还可以包括存储器256,例如任意类型的易失性/非易失性存储器,并且可以包括一个或多个高速缓存。
如图2所示,网络适配器230可以包括压缩/解压缩逻辑260(其可以实现为硬件、软件或其组合)来分别对从网络102接收的或发送到网络102的分组净荷进行压缩和/或解压缩。在实施例中,逻辑260可以是可选的,并且适配器控制器254对净荷执行压缩和/或解压缩。
另外,一个或多个处理器202可以包括压缩/解压缩逻辑263,比如,以便允许处理器202在将已压缩的净荷存储到存储设备之前对分组净荷进行压缩和/或解压缩,其中的存储设备例如存储器212(例如,在缓冲器238内)和/或高速缓存264。例如在一个实施例中,在存储器212中(例如,通过网络适配器230)存储的已压缩净荷可以由逻辑263解压缩随后存储到一个高速缓存264中。此外,高速缓存264中存储的已解压缩的净荷(例如,通过逻辑263解压缩)可以在将其存储到存储器212中(比如在缓冲器238内)之前由逻辑263进行压缩,并且随后在通过网络102传输之前由网络适配器230进行解压缩。可选地,多个处理器202而不是单个逻辑263,可以根据指令(比如,存储在例如存储器212和/或高速缓存264的存储设备中)来压缩/解压缩数据。
此外,高速缓存264可以是共享或专用高速缓存。高速缓存264可以包括各种级别,例如一级(L1)高速缓存、二级(L2)高速缓存、中级高速缓存(MLC)或末级高速缓存(LLC)中的一个或多个。另外,可以在除了或包括图2所示位置之外的位置中提供高速缓存264。例如在一些实施例中,高速缓存264可以耦合至总线204。
图3示出了根据一个实施例的描述符格式300。在一些实施例中,一个或多个描述符236可以具有图3所示的格式。如图所示,描述符300可以包括:物理地址字段302(比如,用于指示存储设备中存储的相应的净荷数据的物理地址)、净荷原始长度字段304(比如,用于指示例如在压缩之前初始净荷的长度)、分组状态和杂项字段306(比如,用于指示相应分组的状态和其它信息)、压缩后净荷长度字段308(比如,用于指示压缩后净荷的长度)以及压缩类型字段310(比如,用于指示所使用的压缩类型)。
通常,可以用任意压缩类型来压缩净荷。例如,存在多种压缩方法比如Lempel-Ziv,如果净荷包含高重复模式则该压缩方法可以基于字典结构(dictionary construction)或平凡压缩(trivial compression)来将分组净荷压缩至更小。压缩量取决于分组内模式的重复程度。在此描述的实施例不排除实现任意形式的压缩或多个压缩方法,这些压缩方法可以应用在包含不同类型数据的分组净荷。一种实现可以使用两个或更多个不同的压缩方法来压缩净荷,并且选取压缩结果更优的方法。在一个实施例中,可以使用IBM的MXT压缩方法。也可以使用专注于较小块(较小的多个高速缓存行,比如128到512字节块)的方法。
图4示出了根据实施例用于压缩和/或解压缩分组净荷的方法400的流程图。在一些实施例中,参照图1-3和/或图5所讨论的一个或多个组件可以用来执行方法400的一个或多个操作。
参照图1-4,在操作402处,可以确定是否已经接收到分组净荷。例如,一个处理器202和/或网络适配器230可以在操作402处接收分组净荷。在操作404处,可以确定是否要更改所接收分组净荷的大小。例如,操作404可以确定所接收的分组净荷是已压缩的(例如,通过参照描述符如描述符300中的字段)并且解压缩该分组净荷。对于没有被压缩的分组净荷,操作404可以确定是否要压缩所接收的分组净荷。
在一个实施例中,基于与阈值的比较,操作404可以确定是否要压缩分组净荷。例如,小于阈值的分组净荷可以不进行压缩,而具有更大大小的净荷可以进行压缩。此外,在操作404处可以考虑分组净荷内容的类型。例如,时间敏感数据比如音频流或视频流可以不压缩。可选地,非时间敏感数据比如图像和/或文本文件可以压缩。在实施例中,操作404可以由网络适配器230和/或处理器202(或由其中包含的逻辑)来执行。
在操作408处,可以确定是否如在此所讨论的,例如参照图2和图3所讨论的,对净荷进行压缩或解压缩。在操作410处,执行压缩/解压缩(例如,根据在参照图3所讨论的相应的描述符中所指示的压缩类型)。在操作412处,存储已压缩/解压缩的净荷,例如在此如参照图2和图3所讨论的。
在实施例中,当分组来自网络102时,其与NIC(例如,网络适配器230)中的(或由NIC访问的)描述符相关联。该描述符包含存储器地址(例如,在存储器212或直接高速缓存访问(DCA)实现情况下的高速缓存264中的位置地址),NIC将分组存储在该地址。另外,NIC在描述符(例如参照图3所讨论的)内准备(例如,写)状态信息,一般向多个处理器202通知关于分组的属性和状态。然后,该NIC应用直接存储器访问(DMA)将分组和描述符传送至存储器212或者DCA至高速缓存264。
例如,在输出流程中(当将分组传送到网络102时),处理器202可以从高速缓存264中读取未压缩数据并将其压缩,将数据写入到存储器212内新的存储器位置。随后处理器可以创建描述符,该描述符指示净荷已压缩并提供指向新的存储器位置的指针。在实施例中,在写入到与NIC(例如,网络适配器230)相关的寄存器之后,该NIC执行描述符、报头和压缩净荷的DMA传输。如果在高速缓存264中找到描述符和净荷,则该NIC也可以从高速缓存264中获取数据(比如,使用DCA)。然后,NIC解压缩净荷,并且创建最终的分组以在网络102上发送出去。
因此,在一些实施例中,至少一些关键数据路径可以通过减少在其上传输的字节数目而变得更加高效,其中关键数据路径例如包括PCI Express、系统互连和/或存储器互连。压缩能够为其它程序和非网络数据提供额外的带宽空间。通过减少NIC访问主存储器的时间(通过访问更少的字节),则对该资源的约束更少。这会由于需要支持更高网络带宽而进一步增强。此外,使用更小的净荷大小(例如,由于压缩)可以使NIC与存储器的延迟更短。此外,减少多个芯片之间或芯片内的交互数目可以降低系统200和/或500的组件的能耗,这些组件包括例如,NIC、芯片组、处理机和主存储器。另外,由于压缩/解压缩可以由驱动程序来执行或由现有的存储器复制例程来抽象,因此不会对系统软件架构产生影响。在一些实施例中,现有的DMA和描述符机制可以用来指示分组净荷是否已被压缩。此外,网络协议不需更改。此外,一些实施例可以用于与安全有关的加密/解密方案。
图5示出了根据本发明实施例的计算系统500,该计算系统500以点对点(PtP)结构进行布置。具体地,图5示出了一种系统,其中处理器、存储器和输入/输出设备通过多个点对点接口进行互连。参照图1-4所讨论的操作可以由系统500的一个或多个组件来执行。
如图5所示,系统500可以包括若干处理器,为了清楚起见仅示出了其中的两个处理器502和504。处理器502和504可以分别包括一个或多个高速缓存264和/或逻辑263。存储器510和/或512可以存储各种数据,如参照图4中的存储器212所讨论的数据。
在实施例中,处理器502和504可以是参照图4所讨论的处理器402中的一个。处理器502和504可以分别使用点对点(PtP)接口电路516和518经由PtP接口514进行数据交换。此外,在本发明的一些实施例中,处理器502和504可以包括高速(例如通用)I/O总线通道以便于与各种组件(例如I/O设备)进行通信。此外,处理器502和504可以分别使用点对点接口电路526、528、530和532经由单独的PtP接口522和524来与芯片组520进行数据交换。芯片组520也可以经由图形接口536来与图形电路534进行数据交换,比如使用PtP接口电路537。
在处理器502和504中可以提供本发明的至少一个实施例。例如,在处理器502和/或504上可以提供参照图2所讨论的一个或多个组件(比如逻辑263)。然而本发明的其它实施例可以存在于图5的系统500中的其它电路、逻辑单元或设备中。此外,本发明的其它实施例可以分布于图5所示的若干电路、逻辑单元或设备中。
芯片组502可以利用PtP接口电路541与总线540进行通信。总线540可以与一个或多个设备进行通信,这些设备比如总线桥542和I/O设备543。总线桥542可以经由总线544与其它设备进行通信,其中其它设备例如键盘/鼠标545、通信设备546(比如调制解调器、网络接口设备或可以与网络102通信的其它通信设备,包括例如图2的网络适配器230)、音频I/O设备547和/或数据存储设备548。数据存储设备548可以存储代码549,该代码可以由处理器502和/或504执行。
在本发明的各种实施例中,比如参照图1-5在此所讨论的操作可以作为硬件(例如逻辑电路)、软件、固件或其组合来实现,这些硬件、软件、固件或其组合可以作为计算机程序产品来提供,该计算机程序产品包括机器可读或计算机可读介质,其上存储有可以用来对计算机(例如包括处理器)进行编程以执行在此所讨论的过程的指令(或软件程序)。机器可读介质可以包括如在此所讨论的存储设备。
另外,这种计算机可读介质可以如同计算机程序产品进行下载,其中该程序可以经由通信链路(例如,总线、调制解调器或网络连接)通过包含在载波或其它传播介质中的数据信号的方式来从远程计算机(例如服务器)传送到请求计算机(例如客户端)。
说明书中提及“一个实施例”或“实施例”表示结合该实施例所描述的具体特征、结构、和/或特性包括在至少一个实现中。说明书中不同地方出现的语句“在一个实施例”可以或可以不全部指相同的实施例。
此外,在说明书和权利要求中,可以使用术语“耦合”和“连接”及其派生词。在本发明的一些实施例中,“连接”可以用来指示两个或更多元件彼此直接物理或电性接触。“耦合”可以表示两个或更多元件直接物理或电性接触。然而,“耦合”也可以表示两个或更多元件并不彼此直接接触,但是仍然可以相互协作或相互作用。
因此,尽管使用具体针对结构特征和/或方法行为的语言描述了本发明的实施例,但是可以理解,所要求保护的主题并不局限于所描述的具体特征或行为。此外,这些具体特征和行为作为所要求保护的主题的实例形式来公开。
Claims (15)
1、一种网络输入/输出(I/O)系统,包括:
第一逻辑,用来在存储设备中存储已压缩的分组净荷之前接收未压缩的分组净荷并且将所述未压缩的分组净荷进行压缩;以及
第二逻辑,用来基于在与所述已压缩的分组净荷对应的描述符中存储的一个或多个比特来解压缩所存储的分组净荷,其中所述一个或多个所存储的比特指示所存储的分组净荷之前已被压缩。
2、如权利要求1所述的系统,其中所述第一逻辑是网络适配器,并且所述未压缩的分组净荷是从计算机网络接收的。
3、如权利要求1所述的系统,其中所述第一逻辑基于所述分组净荷的大小与阈值的比较来对所述未压缩的分组净荷进行压缩。
4、如权利要求1所述的系统,其中所述第一逻辑基于所述分组净荷的类型来对所述未压缩的分组净荷进行压缩。
5、如权利要求4所述的系统,其中处理器从耦合到所述处理器的高速缓存接收所述未压缩的分组净荷。
6、如权利要求5所述的系统,其中所述高速缓存包括共享高速缓存或专用高速缓存中的一个或多个。
7、如权利要求5所述的系统,其中所述高速缓存包括一级(L1)高速缓存、二级(L2)高速缓存、中级高速缓存(MLC)或末级高速缓存(LLC)中的一个或多个。
8、如权利要求1所述的系统,其中所述描述符包括:物理地址字段,用来指示相应的分组净荷数据的物理地址;净荷原始长度字段,用来指示压缩前的原始净荷长度;一个或多个分组状态和杂项字段,用来指示相应的分组的状态和其它信息;压缩后净荷长度字段,用来指示压缩后的净荷的长度;以及压缩类型字段,用来指示所使用的压缩类型。
9、如权利要求1所述的系统,其中所述存储设备包括一个或多个主存储器或高速缓存。
10、如权利要求9所述的系统,其中所述高速缓存包括共享高速缓存或专用高速缓存中的一个或多个。
11、如权利要求9所述的系统,其中所述高速缓存包括一级(L1)高速缓存、二级(L2)高速缓存、中级高速缓存(MLC)或末级高速缓存(LLC)中的一个或多个。
12、一种方法,包括:
接收分组净荷;
基于在与所述分组净荷相关的所存储的描述符中的一个或多个比特,确定是否对所述分组净荷进行压缩或解压缩;
根据所述确定来压缩或解压缩所述分组净荷;以及
将所压缩或所解压缩的分组净荷存储在存储设备中。
13、如权利要求12所述的方法,其中仅在确定所述分组净荷大于阈值之后或者仅基于所述分组净荷的类型来执行所述压缩。
14、如权利要求12所述的方法,还包括从网络接收所述分组净荷。
15、如权利要求12所述的方法,还包括将已解压缩的分组发送到网络。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/906,162 US8001278B2 (en) | 2007-09-28 | 2007-09-28 | Network packet payload compression |
US11/906,162 | 2007-09-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101409675A true CN101409675A (zh) | 2009-04-15 |
Family
ID=40435702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101785456A Pending CN101409675A (zh) | 2007-09-28 | 2008-09-28 | 网络分组净荷压缩 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8001278B2 (zh) |
CN (1) | CN101409675A (zh) |
DE (1) | DE102008049017A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430554A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 通过使用数据的可压缩性作为高速缓存插入的标准来提高存储高速缓存性能 |
WO2024066668A1 (en) * | 2022-09-30 | 2024-04-04 | International Business Machines Corporation | Fast memory clear of system memory |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8509237B2 (en) * | 2009-06-26 | 2013-08-13 | Wisconsin Alumni Research Foundation | Architecture and system for coordinated network-wide redundancy elimination |
CN102754078B (zh) * | 2009-09-30 | 2015-05-20 | 阿尔特拉公司 | 使用压缩和解压缩的增强型多处理器波形数据交换 |
CN102792735B (zh) * | 2010-03-10 | 2017-01-18 | 联想创新有限公司(香港) | 通信终端、通信系统以及通信方法 |
US8799994B2 (en) | 2011-10-11 | 2014-08-05 | Citrix Systems, Inc. | Policy-based application management |
US20140040979A1 (en) | 2011-10-11 | 2014-02-06 | Citrix Systems, Inc. | Policy-Based Application Management |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US9215225B2 (en) | 2013-03-29 | 2015-12-15 | Citrix Systems, Inc. | Mobile device locking with context |
US9286471B2 (en) | 2011-10-11 | 2016-03-15 | Citrix Systems, Inc. | Rules based detection and correction of problems on mobile devices of enterprise users |
US20140032733A1 (en) | 2011-10-11 | 2014-01-30 | Citrix Systems, Inc. | Policy-Based Application Management |
US8930690B2 (en) * | 2012-03-21 | 2015-01-06 | Microsoft Corporation | Offloading packet processing for networking device virtualization |
US9158686B2 (en) | 2012-03-30 | 2015-10-13 | Altera Corporation | Processing system and method including data compression API |
US9026568B2 (en) | 2012-03-30 | 2015-05-05 | Altera Corporation | Data compression for direct memory access transfers |
US8613070B1 (en) | 2012-10-12 | 2013-12-17 | Citrix Systems, Inc. | Single sign-on access in an orchestration framework for connected devices |
US9516022B2 (en) | 2012-10-14 | 2016-12-06 | Getgo, Inc. | Automated meeting room |
US8910239B2 (en) | 2012-10-15 | 2014-12-09 | Citrix Systems, Inc. | Providing virtualized private network tunnels |
US20140109176A1 (en) | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Configuring and providing profiles that manage execution of mobile applications |
US20140109171A1 (en) | 2012-10-15 | 2014-04-17 | Citrix Systems, Inc. | Providing Virtualized Private Network tunnels |
US9170800B2 (en) | 2012-10-16 | 2015-10-27 | Citrix Systems, Inc. | Application wrapping for application management framework |
US20140108793A1 (en) | 2012-10-16 | 2014-04-17 | Citrix Systems, Inc. | Controlling mobile device access to secure data |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
US9606774B2 (en) | 2012-10-16 | 2017-03-28 | Citrix Systems, Inc. | Wrapping an application with field-programmable business logic |
US10275375B2 (en) * | 2013-03-10 | 2019-04-30 | Mellanox Technologies, Ltd. | Network interface controller with compression capabilities |
US8813179B1 (en) | 2013-03-29 | 2014-08-19 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US9355223B2 (en) | 2013-03-29 | 2016-05-31 | Citrix Systems, Inc. | Providing a managed browser |
US9369449B2 (en) | 2013-03-29 | 2016-06-14 | Citrix Systems, Inc. | Providing an enterprise application store |
US9455886B2 (en) | 2013-03-29 | 2016-09-27 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US9985850B2 (en) | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US20140297840A1 (en) | 2013-03-29 | 2014-10-02 | Citrix Systems, Inc. | Providing mobile device management functionalities |
WO2022108497A1 (en) * | 2020-11-20 | 2022-05-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for efficient input/output transfer in network devices |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI107000B (fi) * | 1999-02-17 | 2001-05-15 | Nokia Mobile Phones Ltd | Otsikon pakkaaminen reaaliaikaisissa palveluissa |
US6601104B1 (en) * | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6625671B1 (en) * | 1999-05-03 | 2003-09-23 | Computer Network Technology Corporation | Compression of buffered data |
US6608841B1 (en) * | 1999-12-30 | 2003-08-19 | Nokia Networks Oy | System and method for achieving robust IP/UDP/RTP header compression in the presence of unreliable networks |
US20020095513A1 (en) * | 2001-01-16 | 2002-07-18 | Freddie Lin | Multilayer lossless data compression across a network |
JP4187940B2 (ja) * | 2001-03-06 | 2008-11-26 | 株式会社エヌ・ティ・ティ・ドコモ | パケット伝送方法及びシステム、並びにパケット送信装置、受信装置、及び送受信装置 |
US6944357B2 (en) * | 2001-05-24 | 2005-09-13 | Microsoft Corporation | System and process for automatically determining optimal image compression methods for reducing file size |
US20030028673A1 (en) * | 2001-08-01 | 2003-02-06 | Intel Corporation | System and method for compressing and decompressing browser cache in portable, handheld and wireless communication devices |
US20020099858A1 (en) * | 2001-08-06 | 2002-07-25 | Muse Corporation | Network communications protocol |
US7106733B2 (en) * | 2002-03-20 | 2006-09-12 | Intel Corporation | Method and apparatus for network header compression |
US20040076150A1 (en) * | 2002-10-17 | 2004-04-22 | Miao Kai X. | Method and apparatus for storing a media file |
JP3853765B2 (ja) * | 2002-11-08 | 2006-12-06 | Necインフロンティア株式会社 | パケット圧縮方式及びパケット復元方式並びにパケット圧縮方法及びパケット復元方法 |
EP2528000B1 (en) * | 2003-05-23 | 2017-07-26 | IP Reservoir, LLC | Intelligent data storage and processing using FPGA devices |
US7424482B2 (en) * | 2004-04-26 | 2008-09-09 | Storwize Inc. | Method and system for compression of data for block mode access storage |
US7496586B1 (en) * | 2004-05-26 | 2009-02-24 | Sun Microsystems, Inc. | Method and apparatus for compressing data in a file system |
US7739577B2 (en) * | 2004-06-03 | 2010-06-15 | Inphase Technologies | Data protection system |
US7529845B2 (en) * | 2004-09-15 | 2009-05-05 | Nokia Corporation | Compressing, filtering, and transmitting of protocol messages via a protocol-aware intermediary node |
US7620071B2 (en) * | 2004-11-16 | 2009-11-17 | Intel Corporation | Packet coalescing |
US20070014332A1 (en) * | 2005-07-12 | 2007-01-18 | John Santhoff | Ultra-wideband communications system and method |
US8311059B2 (en) * | 2005-09-07 | 2012-11-13 | Emulex Design & Manufacturing Corporation | Receive coalescing and automatic acknowledge in network interface controller |
US7620870B2 (en) * | 2005-11-22 | 2009-11-17 | Cisco Technology, Inc. | Data compression method and system |
US7761591B2 (en) * | 2005-12-16 | 2010-07-20 | Jean A. Graham | Central work-product management system for coordinated collaboration with remote users |
US20070239897A1 (en) * | 2006-03-29 | 2007-10-11 | Rothman Michael A | Compressing or decompressing packet communications from diverse sources |
US10075182B2 (en) * | 2006-10-13 | 2018-09-11 | Qualcomm Incorporated | Message compression |
US8683228B2 (en) * | 2007-01-16 | 2014-03-25 | Terry Lee Stokes | System and method for WORM data storage |
US7975109B2 (en) * | 2007-05-30 | 2011-07-05 | Schooner Information Technology, Inc. | System including a fine-grained memory and a less-fine-grained memory |
US20090022171A1 (en) * | 2007-07-19 | 2009-01-22 | Storlink Semiconductors, Inc. | Interrupt coalescing scheme for high throughput tcp offload engine |
-
2007
- 2007-09-28 US US11/906,162 patent/US8001278B2/en not_active Expired - Fee Related
-
2008
- 2008-09-25 DE DE102008049017A patent/DE102008049017A1/de not_active Withdrawn
- 2008-09-28 CN CNA2008101785456A patent/CN101409675A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430554A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 通过使用数据的可压缩性作为高速缓存插入的标准来提高存储高速缓存性能 |
WO2024066668A1 (en) * | 2022-09-30 | 2024-04-04 | International Business Machines Corporation | Fast memory clear of system memory |
Also Published As
Publication number | Publication date |
---|---|
US8001278B2 (en) | 2011-08-16 |
DE102008049017A1 (de) | 2009-04-16 |
US20090089454A1 (en) | 2009-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101409675A (zh) | 网络分组净荷压缩 | |
US7613109B2 (en) | Processing data for a TCP connection using an offload unit | |
US9411775B2 (en) | iWARP send with immediate data operations | |
CN104580011B (zh) | 一种数据转发装置和方法 | |
CN103765853A (zh) | 用于装置通信信道包的数据修改 | |
CN101827072A (zh) | 虚拟内存协议分段卸载 | |
US20210089492A1 (en) | Rdma data sending and receiving methods, electronic device, and readable storage medium | |
EP3270322B1 (en) | Encrypting system level data structures | |
EP3465450B1 (en) | Improving throughput in openfabrics environments | |
WO2022143536A1 (zh) | 基于APSoC的国密计算方法、系统、设备及介质 | |
JP6021132B2 (ja) | 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法 | |
US20090086729A1 (en) | User datagram protocol (UDP) transmit acceleration and pacing | |
US8873388B2 (en) | Segmentation interleaving for data transmission requests | |
US8086879B2 (en) | Powering on devices via intermediate computing device | |
WO2021036189A1 (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
US10877911B1 (en) | Pattern generation using a direct memory access engine | |
CN114095572A (zh) | 数据搬运方法及装置 | |
US11038856B2 (en) | Secure in-line network packet transmittal | |
WO2024198573A1 (zh) | 一种流量控制方法、装置及系统 | |
EP4154086B1 (en) | Power saving techniques for layer-to-layer interface | |
WO2023228426A1 (ja) | フレーム伝送システム、5gコア装置、5g端末、トランスレータ、フレーム伝送方法、およびフレーム伝送プログラム | |
CN117290897A (zh) | 加解密电路、处理系统及电子设备 | |
CN116260778A (zh) | 一种外接内存装置、外接内存访问方法及网络系统 | |
KR20190041257A (ko) | 자원 제약적인 IoT 시스템을 위한 경량화된 데이터 송수신 방법 | |
JP2010287972A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090415 |