专利名称:使用散列表的atm首部压缩的制作方法
技术领域:
本发明一般涉及异步传输模式(ATM)信元的压缩,尤其涉及使用散列表的ATM信元首部的压缩。
背景技术:
基于异步传输模式(ATM)的技术频繁地在数据通信系统内使用来提供电路交换的可靠性和分组路由选择的灵活性和效率。ATM在诸如异步DSL(ADSL)的基于数字用户线路(xDSL)的系统内尤其有用。
ATM提供固定大小的信元的传输,所述信元因此可以组合成帧。参见图1,图示了常规的ATM信元100。ATM信元100通常由53个字节构成,其中的五个包括ATM首部,它包含用于网络管理的信息。通常,ATM首部包括普通流控制(GFC)字段102、一个或多个虚路径标识符(VPI)字段104、106、一个或多个虚通道标识符(VCI)字段108-114、负载类型标记(PTI)字段116、拥塞丢失优先权(CLP)字段118和首部错误控制(HEC)字段120。53字节ATM信元100的其余48个字节通常预留作为负载字段122。
虽然在ATM中信元首部、帧首部和超帧首部对于正确的网络管理来说是必需的,但是将理解它们的使用通常限制了在ATM线路上的额定数据传输速率。为了说明,因为53字节的ATM信元100中仅48字节代表负载数据,所以常规的ATM具有逐个信元大约90.5%的效率。相对于首部大小提高负载的大小将允许以更高的比特率传输负载数据。因此,用于提高ATM信元内负载大小与首部大小的比值的处理将是有利的。
发明内容
本发明减轻或解决了已知解决方案中的上述限制以及已知解决方案中其它未详细说明的缺点。对于本领域的技术人员来说,与本发明有关的多个优点是显而易见的,其中包括设计和资源的经济性、透明操作以及成本节省等。
在此所公开的是通过用缩小的一字节首部替代原先的五字节首部来压缩ATM信元的示例性技术。首部表可以保存在发送端上,由此根据应用于首部的散列函数生成的表格索引将首部存储在表格表目内。首部表的复本可以保存在接收端上,并可以通过使用首部表内容填充空信元来更新。在此还公开了首部登记和管理散列冲突的技术。
根据本发明的一种实施例,一种用于通过网络从发送设备向接收设备传送一个或多个异步传输模式(ATM)信元的方法。该方法包括至少部分地根据第一ATM信元的首部为第一ATM信元确定一个索引,使用此索引识别第一首部表的第一表目,第一首部表格由发送设备保存并具有存储首部数据的多个表目,至少部分地根据第一ATM信元首部与在第一首部表的第一表目上存储的首部数据的比较,使用缩小的首部替换第一ATM信元的首部以生成缩小的ATM信元,其中缩小的首部包括索引数据,并发送缩小后的ATM信元以由接收设备接收。
根据本发明的另一个实施例,提供了一种从发送设备向接收设备传送一个或多个异步传输模式(ATM)信元的方法。该方法包括在接收设备上从发送设备接收具有缩小首部的第一缩小ATM信元,所述缩小首部包括索引数据,使用所述索引数据来识别第一首部表的第一表目,第一首部表由接收设备保存并包括多个存储首部数据的表目,使用在第一首部表的第一表目上存储的首部数据替换第一缩小ATM信元的缩小首部以生成未缩小的ATM信元。
根据本发明的又一个实施例,提供了一种发送设备,用于通过网络传送一个或多个异步传输模式(ATM)信元以由接收设备接收。该发送设备包括一个首部表格,包括用于存储首部数据的多个表目;和一个压缩模块,能够访问首部表格。压缩模块适合于至少部分地根据第一ATM信元的首部来为第一ATM信元确定一个索引,使用此索引识别首部表的第一表目,并至少部分地根据第一ATM信元的首部与在首部表第一表目内存储的首部之间的比较,使用缩小的首部替换第一ATM信元的首部以生成缩小的ATM信元,所述缩小的首部包括索引数据。发送设备还包括,用于发送缩小的ATM信元以由接收设备接收的装置。
根据本发明的另一个实施例,提供了一种通过网络从发送设备接收一个或多个异步传输模式(ATM)信元的接收设备。该接收设备包括用于接收包括缩小首部的缩小ATM信元的装置,所述缩小首部包括索引数据;一个首部表格,包括用于存储首部的多个表目;和一个解压缩模块,可操作地连接到用于接收缩小ATM信元的装置,并能够访问首部表。解压缩模块适合于使用缩小首部的索引数据来识别首部表的第一表目,所述第一表目存储首部数据,并使用第一表目存储的首部数据替换第一缩小ATM信元的缩小首部以生成未缩小的ATM信元。
根据本发明的又一个实施例,提供了一种通过网络传送一个或多个异步传输模式(ATM)信元的系统。该系统包括一个发送设备,此设备包括具有用于存储首部数据的多个表目的第一首部表和能够访问第一首部表的压缩模块。所述压缩模块适合于至少部分地根据第一ATM信元的首部为第一ATM信元确定一个索引,使用此索引识别第一首部表的第一表目,并至少部分地根据第一ATM信元的首部与在第一首部表的第一表目上存储的首部数据的比较,使用缩小的首部替换第一ATM信元的首部以生成一个缩小的ATM信元,所述缩小的首部包括索引数据。发送设备还包括用于通过网络发送缩小的ATM信元的装置。该系统还包括一个接收设备,可操作地通过网络连接到发送设备,并包括用于通过网络接收缩小ATM信元的装置;具有用于存储首部数据的多个表目的第二首部表,第二首部表基本上等同于第一首部表;可操作地连接到用于接收第一缩小ATM信元的装置和能够访问第二首部表的解压缩模块。解压缩模块适合于使用缩小ATM信元的缩小首部的索引数据来识别第二首部表的第一表目,第二首部表的第一表目存储有首部数据,并使用在第二首部表的第一表目上存储的首部数据替换缩小ATM信元的缩小首部以生成基本上等同于第一ATM信元的第二ATM信元。
根据本发明的又一个实施例,提供了一种计算机可读介质,用于通过网络将一个或多个异步传输模式(ATM)信元从发送设备传送到接收设备。该计算机可读介质包括一组适合于控制处理器的一组可执行指令,用于控制处理器在接收设备上从发送设备接收包括缩小首部的第一缩小ATM信元,缩小的首部包括索引数据,使用该索引数据识别第一首部表的第一表目,第一首部表由接收设备保存并具有存储首部数据的多个表目,并使用在第一首部表的第一表目上存储的首部数据替换第一缩小ATM信元的缩小首部以生成一个未缩小的ATM信元。
参考下面描述的附图,在随后的描述中将能够看出本发明的其它特征和优点。
结合附图,根据下面的详细描述,本发明的目的和优点对于本领域的普通技术人员来说将是显而易见的,在附图中使用类似的参考字符来表示类似的单元,在附图中图1是图示常规异步传输模式(ATM)信元的示意图。
图2是图示根据本发明至少一种实施例的具有使用散列表的ATM首部压缩的示例性数据传输系统的示意图。
图3是图示根据本发明至少一种实施例的示例性缩小ATM信元的示意图。
图4是图示根据本发明至少一种实施例的用于更新缩小ATM信元的接收设备的示例性空信元的示意图。
图5是图示根据本发明至少一种实施例的使用散列表压缩ATM信元的示例性技术的流程图。
图6是图示根据本发明至少一种实施例的解压缩缩小ATM信元的示例性技术的流程图。
具体实施例方式
通过提供涉及使用散列表的ATM信元压缩和解压缩的多个具体实施例和细节,下面的描述将提供对本发明全面的理解。然而,将理解本发明并不限制于这些具体的实施例和细节,它们仅是示例性的。还将理解本领域的普通技术人员按照已知的系统和方法,根据具体的设计和其它需要,将能够以任意数量的可选实施例为了其预定的目的和利益来实现本发明。
现在,参见图2,图示根据本发明至少一种实施例的示例性基于ATM的系统200。系统200包括可操作地通过由一个或多个传输介质(例如铜线对、光纤和无线)构成的网络连接的数据发送设备202和数据接收设备204。发送设备202和接收设备204共同构成实现ATM的多种数据通信系统中的任一种通信系统。例如,发送设备202可以包括数字用户线(DSL)客户基础(premise)设备(也称作DSL“调制解调器”),接收设备204可以包括DSL中心局(也称作DSL接入复用器或DSLAM)。此外,在许多这样的系统中,数据通信是双向的。因此,发送设备202也可以是接收设备204,反之亦然。
发送设备202和接收设备204可以实施为软件、硬件或者其组合。为了说明,设备202、204可以分别实现网络接口、存储器和一个或多个处理器,并可以包括存储在存储器内和适合于控制一个或多个处理器以执行在此所述的功能的一组或多组可执行指令。
在所图示的实施例中,发送设备202包括ATM首部压缩模块206,适合于使用相应的缩小首部替换将要发送的所有或部分ATM信元的首部,生成缩小或“压缩”的ATM信元。ATM首部压缩模块206可以保存首部错误校验和(HEC)表格208、首部表格210和/或选中计数器表格212以促进输出ATM信元的压缩。如在下文中更详细地描述的,输出ATM信元的首部可以通过一个或多个散列函数来处理以生成散列表索引。在首部表格210内在散列表索引上存储的首部,如果存在的话,可以与输出ATM信元的首部相互比较。在散列表首部和输出ATM信元首部基本上不匹配时,则ATM信元(例如ATM信元222)可以以不改动的形式发送给接收设备204。
如果散列表首部和输出ATM信元首部(例如ATM信元224)基本上匹配,则可以使用例如具有散列表索引的缩小一字节首部替换输出ATM信元的五字节首部。然后,可以将所生成的具有缩小首部的缩小ATM信元(例如缩小ATM信元228)发送给接收设备204。下面参考图3来描述具有缩小首部的缩小ATM信元的示例性格式。
如果在所索引的散列表表目上未存储首部,则可以将此输出ATM信元(例如ATM信元226)的首部存储在此散列表表目上,并可以使用具有散列表项目索引的缩小首部来替换输出ATM信元的五字节首部。在通过在所指示的散列表表目上存储首部来更新首部表格210之后和在发送输出ATM信元之前,ATM首部压缩模块206可以生成一个空信元232,它具有代表更新首部表格210至少一部分的数据。随后,发送设备202可以将此空信元232发送给接收设备204,以便接收设备204可以更新其首部表格240以基本上匹配首部表格210的内容。下面参考图4描述空信元232的一种示例性格式。
在接收设备204上可以以常规方式来处理未缩小的ATM信元(例如ATM信元222)。缩小ATM信元(例如ATM信元228和230)通常需要额外的处理。为了说明,一旦接收到缩小ATM信元228,ATM首部解压缩模块236可以从缩小首部中提取首部表格索引以识别出首部表格240的一个表目。ATM解压缩模块236随后可以使用在所识别出的表目上存储的首部替换ATM信元228的缩小首部,从而将缩小的ATM信元228转换成原始未缩小ATM信元224的基本上(或完全)的等效物,所述缩小的ATM信元228是基于它得到的。
如上面指出的,当将新首部添加给首部表格210或替换或删除旧首部时,首部表格210的内容可以改变。因此,一旦接收到具有首部表格210的更新内容的空信元232时,在使用更新的首部表格240处理随后的缩小ATM信元之前,ATM首部解压缩模块236可修改以更新首部表格240的内容以基本上匹配首部表格210。
现在参见图3,图示根据本发明至少一种实施例的包括缩小的一字节首部的示例性缩小ATM信元300。在所图示的例子中,缩小的首部最好包括标记比特302,它具有将信元300标识为缩小ATM信元的数值(例如0x01)。缩小首部还可以包括用于存储散列表210表目索引的散列表索引字段304和用于存储原先的五字节首部的散列表240(图2)。缩小的首部还可以包括PTI比特0字段308以存储原先的五字节首部的PTI字段116(图1)的最低有效比特。预留字段306和奇偶字段310也可以在缩小首部内实现。
与常规ATM信元100的情况相同(图1),缩小ATM信元300最好包括48字节的负载字段312。因此,ATM信元300的总大小最好为49字节(1字节首部,48字节负载)。通过使用缩小的一字节首部替换部分或所有输出ATM信元的原始五字节首部,可以提高负载大小与整个信元大小的比值。例如,虽然常规ATM信元的负载仅包括总信元容量的90.5%,但是具有缩小一字节首部的缩小ATM信元的负载包括总信元容量的97.96%以上,提供了超过7%的负载吞吐量的提高。此外,在最差的情况下,与常规ATM技术相比,负载吞吐量不受影响。因此,以保存表格208、210、212和240(图2)的最小处理努力为代价,可以实现负载吞吐量上的显著提高。
现在参见图4,图示了根据本发明至少一种实施例的图2的用于更新接收设备204的散列表240的示例性空信元400。在所图示的例子中,空信元400包括用于将此信元400标识为缩小ATM信元的标记字段402、更新标记字段406、预留字段408、414和416以及奇偶字段410。空信元400还可以包括空信元索引字段404以允许接收设备204将此信元识别为空信元。空信元400最好包括HEC字段418以为首部提供错误保护。如上面所指出的,在至少一种实施例中,使用空信元400来将散列表210的更新传送到接收设备204。因此,空信元400可以包括首部表格字段420。在至少一种实施例中,首部表格210是一个十一个表目的表格,每个表目具有四个字节,总共44字节(4字节×11个表目)。在这种情况下,首部表格字段420可以结合信元400的44个字节,以便该首部表格210的部分或全部内容可以在单个空信元400内发送。在其它的实施例中,首部表格字段420可以更大或更小以存储首部表格210表目的一个更小或更大的部分,或者容纳不同大小的首部表格。为了保护首部表格字段420的内容,空信元400还可以包括循环冗余编码(CRC)字段412以存储首部表格字段420内容的CRC。
现在参见图5,图示根据本发明至少一种实施例的图2的ATM首部压缩模块206的示例性操作500。操作500在步骤502上初始化,其中将一个或多个散列函数应用于输出ATM信元的首部以根据首部的数值生成散列表索引。只要合适,可以使用多种散列函数中的任一种函数。在至少一种实施例中,最好将散列函数实施为即插(plug-in)型的模块,它可以被替换或选择以处理不同的VPI/VCI分配。在至少一种实施例中,ATM首部压缩模块206可以使用下面的散列函数 等式1其中HASH(x)代表所获得的首部表格索引,Bi代表首部字节i,i=0至4(即不包括首部第五字节的HEC字节)。总之,等式1代表ATM信元首部前四个字节的比特6、5和4之和。此外,当执行散列函数时,PTI字段116(图1)的最低有效比特(LSB)可以被屏蔽以将压缩技术适应于ATM适配层5(AAL5)首部格式。
在步骤502,作为将散列函数应用于输出ATM信元首部的结果生成首部表格索引。在步骤504,由ATM压缩模块206访问与所获得的首部表格索引相对应的首部表格210的表目,如果表目为空(即在表目内未存储正确的首部),则在步骤506,可以将原始首部的前四个字节(例如GFC字段102、VPI字段104和106、VCI字段108-114、PTI字段116和CLP字段118的数值)存储在首部表格210的相应表格表目内。因为作为步骤506的结果已经改变了首部表格,所以发送设备202可以建立包含在首部表格210内存储的部分或全部首部数值的空信元400(图4),并在步骤508将空信元400发送给接收设备204。然后,接收设备204可以通过使用空信元400的首部表格字段420的内容替换首部表格240的内容来更新此首部表格240。在使用空信元更新接收设备204之后,在步骤510,发送设备202可以使用缩小的一字节首部来替换输出ATM信元的原始首部,所述一字节首部包括标记字段302、PTI-比特0字段308和奇偶字段310的合适值(图3)。此外,在首部表格索引字段304内(图3),缩小首部最好包括用于存储原始首部的四个字节的首部表格表目的首部表格索引。然后,可以将所获得的具有缩小首部的缩小ATM信元发送给接收设备204。
然而,如果在步骤504相应的首部表格表目不为空,则在步骤512,ATM首部压缩模块206可以检查散列冲突。通过比较输出ATM信元的四个首部字节的数值与在首部表格表目内存储的四个首部字节可以识别出散列冲突。如果它们基本上匹配,则未发生散列冲突,并可以在步骤510使用缩小的一字节首部来替换ATM信元的原始首部,所述缩小的一字节首部具有在缩小首部的首部表格索引字段304(图5)上存储的首部表格索引。然后,可以将所获得包括缩小首部的缩小ATM信元发送给接收设备204(图2)。另外,对应于首部表格表目的选中计数器表格212的表目的值(即“选中计数”)在步骤514中可被递增。如下面所讨论的,可以使用选中计数器表格212的选中计数来定期地删除所存储的不是繁烦使用的首部。
本发明的至少一种实施方式可以在基于ATM的系统内有利地使用,除了额外的操作和维护(OAM)VPI/VCI信道之外,所述系统具有至多八个顺序的VPI或VCI信道。因此,可以将首部表格210的表目1至8分配给八个VPI/VCI信道中相应的一个,留下表目9至11用于其它用途。如果在步骤512输出ATM信元的四个首部字节基本上并不匹配所存储的首部字节,则可以比较输出ATM信元的首部字节与在预先确定的可用表目上存储的数值(例如假设第九表目,表目10和11为其它用途预留)。如果首部字节基本上匹配,则在步骤518可以递增选中计数器表格212的选中计数器数值,并可以在步骤510使用具有首部表格索引9的缩小的一字节首部(对应于在表目9上存储的首部)来替换原始的五字节首部。然后,可以将所获得的缩小ATM信元发送给接收设备204。如果原始首部的四个字节与在首部表格表目9上存储的四个字节基本上不匹配,则可以在步骤520递增遗漏计数器,并且在步骤522上可以在未对接收设备204的首部进行修改的情况下发送输出ATM信元。
一旦在步骤524生成另一个输出ATM信元,则可以重复步骤502-522。可以有利地定期更新散列表210以删除很少使用的首部,从而替换地存储其它的首部。因此,在发送一定数量的ATM信元之后(例如在离散的多频音(DMT)系统内每第69帧),在步骤526,ATM压缩模块206可以评估在选中计数表格212内存储的相应首部表格表目的选中计数值。可以使用零值重新初始化具有很低选中计数值的(即相对来说很少使用的)那些表目,因而随后可以存储新的首部。类似地,如果遗漏计数器高于某个阈值,则可以有利地使用更可能使用的另一个首部值来替换在第九表目内存储的首部。
现在参见图6,图示根据本发明至少一种实施例的图2的ATM解压缩模块236的示例性操作600。操作600在步骤602初始化,其中从发送设备202接收ATM信元(图2)。如果ATM信元是未缩小的ATM信元,则此ATM信元可以绕过ATM首部解压缩模块236,并在步骤604以常规的方式处理。反之,如果ATM信元是包含更新散列表信息的空信元,则在步骤606,ATM首部解压缩模块236可以使用空信元的首部表格字段420(图4)的内容来替换首部表格240的内容。如果所接收的ATM信元是一个缩小的ATM信元,则可以在步骤608使用在首部表格索引字段304内(图3)存储的值来访问首部表格240的相应表目。然后,ATM解压缩模块236可以在步骤610使用在相应首部表格表目内存储的首部替换缩小的首部以将缩小的ATM信元重新转换成未缩小的ATM信元。在至少一种实施例中,可以在接收设备204上根据所恢复的四个首部字节重新建立首部的第五字节即HEC字段。然后,可以在步骤604由接收设备204进一步处理缩小的ATM。
将理解在某些情况下,尤其在ATM/DMT系统内,缩小ATM信元的使用将导致维持正确信元边界中的困难。因此,在至少一种实施例中,将信元边界标记(CBI)添加给DMT成帧结构作为DMT超帧的第二开销字节。CBI最好包括0至52之间的数值。CBI代表在符号(第二DMT符号)开始之后的字节数量,所述符号是信元的开始,无论是缩小的、未缩小的、还是空的。
根据在此公开的本发明的描述和实施方式,本发明的其它实施例、用途和优点对于本领域的技术人员来说是显而易见的。说明书和附图应当仅被视为示例性的,因此,本发明的保护范围将仅由权利要求书及其等价范围来限制。
权利要求
1.一种通过网络从发送设备向接收设备传送一个或多个异步传输模式(ATM)信元的方法,该方法包括至少部分地根据第一ATM信元的一个首部为第一ATM信元确定一个索引;使用此索引识别第一首部表格的第一表目,所述第一首部表格由发送设备保存,并包括多个存储首部数据的表目;至少部分地根据第一ATM信元的首部与在第一首部表格的第一表目上存储的首部数据之间的比较,使用缩小的首部替换第一ATM信元的首部以生成缩小的ATM信元,其中所述缩小的首部包括索引数据;和发送所述缩小的ATM信元以由接收设备接收。
2.如权利要求1所述的方法,其中当第一ATM信元的首部基本上匹配在第一首部表格第一表目上存储的首部数据时,使用所述缩小的首部来替换第一ATM信元的首部。
3.如权利要求1所述的方法,还包括步骤至少部分地根据第二ATM信元的一个首部确定用于第二ATM的第二索引;使用第二索引识别第一首部表格的第二表目;当第二ATM信元的首部基本上不匹配在第一首部表格的第二表目上存储的首部数据时,发送第二ATM信元以由接收设备接收。
4.如权利要求1所述的方法,还包括步骤当在第一表目上存储的首部数据很少使用时,清除第一首部表格的第一表目。
5.如权利要求1所述的方法,还包括步骤当第一表目为空时,在第一首部表格的第一表目上存储第一ATM信元的首部;和发送第二ATM信元以由接收设备接收,所述第二ATM信元包括代表包括第一表目的第一首部表格的至少一部分的数据。
6.如权利要求5所述的方法,还包括步骤至少部分地根据代表第一首部表格至少一部分的数据来更新由接收设备保存的第二首部表格的一个或多个表目,其中第二首部表格由接收设备使用以使用相应的未缩小首部来替换所述缩小的首部,并基本上与第一首部表格等效。
7.如权利要求1所述的方法,还包括步骤使用缩小ATM信元的缩小首部的索引数据来识别由接收设备保存的第二首部表格的第一表目,其中第二首部表格与第一首部表格基本上等同;和使用在第二首部表格第一表目上存储的首部数据替换缩小ATM信元的缩小首部,以在接收设备上生成第二ATM信元,其中第二ATM信元与第一ATM信元基本上等同。
8.如权利要求7所述的方法,还包括步骤当第二表目为空时,在第一首部表格的第一表目内存储第一ATM信元的首部;和将第三ATM信元发送给接收设备,该第三ATM信元包括代表包含第一表目的第一首部表格至少一部分的数据。
9.如权利要求8所述的方法,还包括步骤至少部分地根据代表第一首部表格至少一部分的数据来更新第二首部表格的一个或多个表目。
10.如权利要求8所述的方法,其中在发送第一ATM信元之前发送第三ATM信元。
11.如权利要求1所述的方法,其中确定索引的步骤包括对第一ATM信元的首部的至少一部分执行散列函数。
12.如权利要求11所述的方法,其中散列函数用下式来表示 其中HASH(x)代表索引,Bi代表第一ATM信元首部的字节i,i=0至4。
13.如权利要求1所述的方法,其中缩小的首部还包括将缩小的首部标识为缩小首部的标记字段。
14.如权利要求1所述的方法,其中发送设备包括数字用户线路(DSL)调制解调器。
15.如权利要求1所述的方法,其中接收设备包括数字用户线路(DSL)调制解调器。
16.如权利要求1所述的方法,其中发送缩小的ATM信元以由接收设备接收的步骤包括通过中间设备将缩小的ATM信元发送给接收设备。
17.一种将一个或多个异步传输模式(ATM)信元从发送设备传送给接收设备的方法,该方法包括在接收设备上从发送设备接收包括一个缩小首部的第一缩小ATM信元,所述缩小首部包括索引数据;使用所述索引数据识别出第一首部表格的第一表目,第一首部表格由接收设备保存,并包含存储首部数据的多个表目;和使用在第一首部表格的第一表目上存储的首部数据替换第一缩小ATM信元的缩小首部以生成一个未缩小的ATM信元。
18.如权利要求17所述的方法,其中至少部分地从代表第一缩小ATM信元的缩小首部的未缩小表示来获得索引数据。
19.如权利要求17所述的方法,其中通过将散列函数应用于缩小首部的未缩小表示的至少一部分,来获得索引数据。
20.如权利要求19所述的方法,其中散列函数用下式来表示 其中HASH(x)代表索引数据,Bi代表首部的字节i,i=0至4。
21.如权利要求17所述的方法,还包括步骤在接收设备上接收第二ATM信元,该第二ATM信元包括代表一个或多个首部的表格至少一部分的数据;和至少部分地根据代表一个或多个首部的表格至少一部分的数据,来更新首部表格的一个或多个表目。
22.一种用于通过网络传送一个或多个异步传输模式(ATM)信元以由接收设备接收的发送设备,该发送设备包括包括用于存储首部数据的多个表目的首部表格;压缩模块,能够访问首部表格,并适合于至少部分地根据第一ATM信元的首部,确定用于第一ATM信元的索引;使用此索引识别出首部表格的第一表目;和至少部分地根据第一ATM信元的首部与在首部表格第一表目上存储的首部之间的比较,使用缩小的首部替换第一ATM信元的首部以生成一个缩小的ATM信元,该缩小的首部包括索引数据;和用于发送缩小的ATM信元以由接收设备接收的装置。
23.如权利要求22所述的发送设备,其中当第一ATM信元的首部基本上匹配在第一首部表格第一表目上存储的首部数据时,使用所述缩小的首部来替换第一ATM信元的首部。
24.如权利要求22所述的发送设备,其中压缩模块还适合于至少部分地根据第二ATM信元首部确定用于第二ATM的第二索引;使用第二索引识别所述首部表格的第二表目;当第二ATM信元的首部基本上不匹配在所述首部表格的第二表目上存储的首部数据时,提供第二ATM信元以发送给接收设备。
25.如权利要求22所述的发送设备,其中压缩模块还适合于当在第一表目上存储的首部数据很少使用时,清除所述首部表格的第一表目。
26.如权利要求22所述的发送设备,其中压缩模块还适合于当第一表目为空时,在所述首部表格的第一表目上存储第一ATM信元的首部;和提供第二ATM信元以发送给接收设备,所述第二ATM信元包括代表包括第一表目的所述首部表格的至少一部分的数据。
27.如权利要求26所述的发送设备,其中压缩模块在提供缩小的ATM信元以传输之前提供第二ATM信元来传输。
28.如权利要求22所述的发送设备,其中压缩模块适合于通过对第一ATM信元的首部的至少一部分执行散列函数来确定索引。
29.如权利要求28所述的发送设备,其中散列函数用下式来表示 其中HASH(x)代表索引,Bi代表第一ATM信元首部的字节i,i=0至4。
30.如权利要求22所述的发送设备,其中发送设备包括数字用户线路(DSL)调制解调器。
31.如权利要求22所述的发送设备,其中用于发送缩小的ATM信元以由接收设备接收的装置包括通过中间设备将缩小的ATM信元发送给接收设备的装置。
32.一种用于通过网络从发送设备接收一个或多个异步传输模式(ATM)信元的接收设备,该接收设备包括用于接收包括缩小首部的缩小ATM信元的装置,所述缩小首部包括索引数据;具有用于存储首部数据的多个表目的首部表格;解压缩模块,可操作地连接到用于接收缩小ATM信元并访问首部表格的装置,该解压缩模块适合于使用缩小首部内的索引数据识别出所述首部表格的第一表目,第一表目存储有首部数据;和使用在第一表目上存储的首部数据替换第一缩小ATM信元的缩小首部以生成一个未缩小的ATM信元。
33.如权利要求32所述的接收设备,其中至少部分地从代表缩小首部的未缩小表示来获得索引数据。
34.如权利要求33所述的接收设备,其中通过将散列函数应用于缩小首部的未缩小表示的至少一部分来获得索引数据。
35.如权利要求34所述的接收设备,其中散列函数用下式来表示 其中HASH(x)代表索引数据,Bi代表缩小首部的未缩小表示的字节i,i=0至4。
36.如权利要求32所述的接收设备,还包括装置用于接收第二ATM信元,该第二ATM信元包括代表一个或多个首部的表格的至少一部分的数据,其中解压缩模块还适合于至少部分地根据代表一个或多个首部的表格至少一部分的数据来更新首部表格的一个或多个表目。
37.一种用于通过网络传送一个或多个异步传输模式(ATM)信元的系统,该系统包括一个发送设备,包括具有用于存储首部数据的多个表目的第一首部表格;压缩模块,能够访问首部表格,并适合于至少部分地根据第一ATM信元的首部确定用于第一ATM信元的索引;使用此索引识别出第一首部表格的第一表目;和至少部分地根据第一ATM信元的首部与在第一首部表格第一表目上存储的首部数据之间的比较,使用缩小的首部替换第一ATM信元的首部以生成一个缩小的ATM信元,该缩小的首部包括索引数据;和用于通过网络发送缩小的ATM信元的装置;和一个接收设备,通过网络可操作地连接到发送设备,并包括用于通过网络接收缩小ATM信元的装置;第二首部表格,具有用于存储首部数据的多个表目,该第二首部表格与第一首部表格基本上等同;解压缩模块,可操作地连接到用于接收第一缩小ATM信元并访问首部表格的装置,该解压缩模块适合于使用缩小ATM信元的缩小首部的索引数据识别出第二首部表格的第一表目,第二首部表格的第一表目存储有首部数据;和使用在第二首部表格的第一表目上存储的首部数据替换缩小ATM信元的缩小首部,以生成与第一ATM信元基本上等同的第二ATM信元。
38.如权利要求37的系统,其中当第一ATM信元的首部基本上匹配在第一首部表格的第一表目上存储的首部数据时,使用缩小的首部来替换第一ATM信元的首部。
39.如权利要求37的系统,其中压缩模块还适合于至少部分地根据第三ATM信元的首部确定用于第三ATM信元的第二索引;使用第二索引识别第一首部表格的第二表目;和当第三ATM信元的首部基本上不匹配在第一首部表格的第二表目上存储的首部数据时,提供第三ATM信元以通过网络传输。
40.如权利要求37所述的系统,其中压缩模块还适合于当第一表目为空时在第一首部表格的第一表目内存储第一ATM信元的首部;和提供第三ATM信元以发送给接收设备,第三ATM信元具有代表包含第一表目的第一首部表格的至少一部分的数据。
41.如权利要求40的系统,其中解压缩模块还适合于至少部分地根据代表第一首部表格至少一部分的数据来更新第二首部表格的一个或多个表目。
42.如权利要求37的系统,其中压缩模块适合于通过对第一ATM信元的首部的至少一部分执行散列函数来确定索引。
43.如权利要求42所述的系统,其中散列函数用下式来表示 其中HASH(x)代表索引,Bi代表第一ATM信元首部的字节i,i=0至4。
44.如权利要求37所述的系统,其中用于发送缩小的ATM信元以由接收设备接收的装置包括用于通过中间设备将缩小的ATM信元发送给接收设备的装置。
45.一种通过网络从发送设备向接收设备传送一个或多个异步传输模式(ATM)信元的计算机可读介质,该计算机可读介质包括一组可执行的指令以控制处理器来至少部分地根据第一ATM信元首部为第一ATM信元确定一个索引;使用此索引识别第一首部表格的第一表目,所示第一首部表格由发送设备保存,并包括多个存储首部数据的表目;使用缩小的首部替换第一ATM信元的首部以至少部分地根据第一ATM信元的首部与在第一首部表格的第一表目上存储的首部数据之间的比较生成缩小的ATM信元,其中所述缩小的首部包括索引数据;和提供所述缩小的ATM信元以发送给接收设备。
46.如权利要求45所述的计算机可读介质,其中当第一ATM信元的首部基本上匹配在第一首部表格第一表目上存储的首部数据时,使用所述缩小的首部来替换第一ATM信元的首部。
47.如权利要求45所述的计算机可读介质,还包括可执行的指令适合于控制处理器以至少部分地根据第二ATM信元首部确定用于第二ATM的第二索引;使用第二索引识别第一首部表格的第二表目;当第二ATM信元的首部基本上不匹配在第一首部表格的第二表目上存储的首部数据时,提供第二ATM信元以发送给接收设备。
48.如权利要求45所述的计算机可读介质,还包括可执行的指令适合于控制处理器以当第一表目为空时,在第一首部表格的第一表目上存储第一ATM信元的首部;和提供第二ATM信元以发送给接收设备,所述第二ATM信元包括代表包括第一表目的第一首部表格的至少一部分的数据。
49.如权利要求45所述的计算机可读介质,其中可执行的指令适合于控制处理器以确定包括可执行指令的索引,对第一ATM信元的首部的至少一部分执行散列函数。
50.如权利要求49所述的计算机可读介质,其中散列函数用下式来表示 其中HASH(x)代表索引,Bi代表第一ATM信元首部的字节i,i=0至4。
51.一种将一个或多个异步传输模式(ATM)信元从发送设备传送给接收设备的计算机可读介质,该计算机可读介质包括一组可执行的指令以控制处理器来在接收设备上从发送设备接收包括一个缩小首部的第一缩小ATM信元,所述缩小首部包括索引数据;使用索引数据识别出第一首部表格的第一表目,第一首部表格由接收设备保存,并包含存储首部数据的多个表目;和使用在第一首部表格的第一表目上存储的首部数据替换第一缩小ATM信元的缩小首部以生成一个未缩小的ATM信元。
52.如权利要求51所述的计算机可读介质,其中至少部分地从代表第一缩小ATM信元的缩小首部的未缩小表示来获得索引数据。
53.如权利要求51所述的计算机可读介质,其中通过将散列函数应用于缩小首部的未缩小表示的至少一部分来获得索引数据。
54.如权利要求53所述的计算机可读介质,其中散列函数用下式来表示 其中HASH(x)代表索引,Bi代表首部的字节i,i=0至4。
55.如权利要求51所述的计算机可读介质,还包括可执行的指令适合于控制处理器以在接收设备上接收第二ATM信元,该第二ATM信元具有代表一个或多个首部的表格至少一部分的数据;和至少部分地根据代表一个或多个首部的表格至少一部分的数据来更新首部表格的一个或多个表目。
全文摘要
公开了一种使用缩小的首部替换原始首部来压缩ATM信元的示例性技术。首部表格可以保存在发送端上,由此根据应用于首部的散列函数所生成的表格索引来在表格表目内存储首部。首部表格的一个复本可保存在接收端上,并可以通过使用首部表格的内容填充空信元来更新。一旦在接收端上接收到一个缩小的ATM信元,则可以使用根据在接收端上保存的首部表格复本获得的完整首部来替换缩小的首部。本发明还提供了登记和管理散列冲突的技术。
文档编号H03M7/30GK1599358SQ200410048030
公开日2005年3月23日 申请日期2004年6月4日 优先权日2003年6月5日
发明者吴岩, 毕松, 蒂莫西·伯尔尼米扎 申请人:格鲁斯番维拉塔公司