用于提供多模式传输层压缩的系统和方法_6

文档序号:8322270阅读:来源:国知局
如对象,例如客户端证书。在一个实施例中,来自服务器 106的响应包括解压缩的数据。在另一个实施例中,来自服务器106的响应包括压缩的数 据。在一些实施例中,来自服务器106的响应包括压缩和解压缩的数据。
[0115] 在步骤515,设备200和/或多模式压缩引擎400确定是否压缩从服务器106接收 或拦截的响应。设备200可基于与响应相关的诸如内容、协议、源和目的信息的任一信息来 确定压缩或不压缩。在一个实施例中,设备200,诸如经由多模式压缩引擎400,检查或分析 对于一个或多个对象425的响应的内容。在一些实施例中,设备200确定对象425的类型 或内容。在其它实施例中,设备200确定响应是否已经被压缩或具有任一压缩的部分。例 如,在一个实施例中,设备200确定响应的对象是否已经被压缩。在另一个实施例中,设备 200确定在响应中使用的协议类型。在一些实施例中,设备200从诸如目的和/或源IP地 址、或目的和/或源端口的任一网络或IP层信息确定是否压缩响应。
[0116] 如果设备200决定不压缩响应,在步骤520,设备200发送响应到客户端102而不 执行压缩。在一个实施例中,设备200确定响应已经被压缩。在另一个实施例中,设备200 确定响应被解压缩并基于对象425的类型,压缩策略410指示响应不应被设备200压缩。例 如,压缩策略410可指示如果响应比预定的长度短,则响应不应该被压缩。在另一示例中, 压缩策略410可指示响应是否包括来自不应压缩响应的应用的二进制数据。在另一个实施 例中,设备200基于跟踪基于对象425的内容或类型的响应的压缩统计,或基于来自服务器 106或服务270的响应的压缩能力统计来确定不压缩响应。例如,如果随着时间的来自服务 器106的响应的压缩能力不再符合预定的压缩能力阈值,设备200可以不继续压缩来自服 务器106的响应。
[0117] 在步骤535,在一些实施例中,设备200决定压缩该响应。在一个实施例中,设备 200和/或多模式压缩引擎200确定响应的对象425的内容或类型可以被压缩到符合预定 压缩能力阈值的尺寸。在一些实施例中,设备200基于压缩策略410决定压缩响应,该压缩 策略410指示对象420的内容或类型应该由设备200压缩。在另一个实施例中,压缩策略 410指示以压缩来自服务器106或服务270的响应。在一个实施例中,设备200基于压缩策 略410决定压缩响应,该压缩策略410指示应该基于响应所使用的协议或协议类型来压缩 响应。
[0118] 进一步到步骤525,在一个实施例中,设备200,诸如经由多模式压缩引擎400,从 多个压缩类型420中识别一种压缩类型用于压缩响应。例如,设备200基于压缩策略410 选择压缩类型420。在一些实施例中,设备200基于对象425的内容或类型、响应所使用的 协议或协议类型或响应所识别的网络或IP层来选择压缩类型420。在另一个实施例中,客 户端102和/或客户端代理120对设备200识别压缩类型420以用于发送到客户端102的 响应。在又一个实施例中,设备200基于用于先前响应的选择类型来选择压缩类型420。在 一些实施例中,设备200基于客户端102和/或服务器106的属性来选择压缩类型420。在 一个实施例中,设备200基于响应所使用的、或客户端102和服务器106之间的协议类型来 选择压缩类型420。在一些实施例中,设备200对于响应的第一对象425选择第一压缩类型 420,并对于响应的第二对象425选择第二压缩类型420。
[0119] 在步骤530,设备200,诸如经由多模式压缩引擎400,基于所识别或所选择的压缩 类型420来压缩响应。在一个实施例中,设备200使用所选择的压缩类型420来压缩传输 层包的整个有效载荷。在另一个实施例中,设备200使用所选择的压缩类型420来压缩响 应的有效载荷的一部分。在一些实施例中,设备200使用所选择的压缩类型420压缩响应 的对象425。在又一个实施例中,设备200用所选择的压缩类型420来压缩响应的第一对象 425和第二对象425。在一些实施例中,设备200用第一所选择的压缩类型420来压缩响应 的第一对象425,用第二所选择的压缩类型420来压缩响应的第二对象。
[0120] 在步骤535,设备200发送所压缩的响应到客户端代理120或客户端102。在一个 实施例中,设备200以压缩形式发送多个响应到客户端代理120。在其它实施例中,设备200 以压缩形式分别发送每个响应到客户端代理120。在一些实施例中,设备200发送压缩类型 420到客户端代理120。在一个实施例中,设备200通过所压缩的响应的有效载荷来识别压 缩类型420。在另一个实施例中,设备200通过到客户端代理120的传输层连接上的通信或 通过到客户端代理120的带外或其它通信信道来识别压缩类型420。
[0121] 在步骤540,客户端代理120解压缩所压缩的响应并提供解压缩的内容给应用,诸 如web浏览器。在一个实施例中,客户端代理120在接收时解压缩所压缩的响应。在其它 实施例中,客户端代理120在接收到预定数目的响应或经由响应接收到预定数量的数据时 解压缩所压缩的响应。在一个实施例中,客户端代理120解压缩整个响应。在一些实施例 中,客户端代理120解压缩响应的一部分。在另一个实施例中,客户端代理120解压缩响应 的每个压缩的对象425。在一些实施例中,客户端代理120通过客户端102的网络堆栈310 来提供响应的解压缩的内容。在其它实施例中,客户端代理120通过应用程序接口或功能 调用对解压缩的响应或其内容进行通信。在又一个实施例中,客户端代理120提供压缩的 响应给客户端102的应用,且该应用解压缩该内容。
[0122] 在一些实施例中,客户端代理120,对于客户端102的应用或用户透明地接收所压 缩的响应,解压缩所压缩的响应并提供解压缩的响应给应用。例如,在一个实施例中,诸如 web浏览器的该应用可以不支持由设备200来压缩响应所使用的压缩类型420。利用客户 端代理120,虽然应用可以尚未认出所压缩的内容,但该应用可接收解压缩的内容。如此,在 一些实施例中,以对应用透明的方式或者非侵入的方式,客户端代理120和设备200对响应 执行压缩,以加速响应的传送。
[0123] 虽然上述以从服务器106到客户端102的响应的角度对方法500的实施例进行了 一般性描述,但是在一些实施例中方法500可以被用于压缩从客户端102到服务器106的 请求。例如,客户端102可将包括一个或多个对象425的请求发送到服务器106。多模式 压缩引擎400可确定压缩该请求或这些对象,并基于压缩策略410或经由请求所识别的信 息来选择压缩类型420,其中所识别的信息为诸如协议、对象425的类型或内容、或与任一 网络或IP相关的信息。设备200可使用所确定或选择的压缩类型来压缩请求并随后发送 该压缩的请求到服务器106。此外,方法500可以双向地实现用于请求和响应二者,以提供 去往和来自客户端102、或去往和来自服务器106的压缩。如此,在一个实施例中,设备200 的多模式压缩技术可以被用于经由同一传输层连接以对于客户端102上的应用和/或服务 器106上的服务270透明的方式发送压缩和未压缩的内容。
[0124] 另外,方法500可被实现以便设备200可以应用不同压缩类型420到每个客户端 102和/或服务器106。例如,设备200可以对于第一客户端102a使用第一和/或第二压 缩类型420来压缩内容,对于第二客户端102b使用第二和/或第三压缩类型来压缩内容。 在另一个示例中,设备可使用第一压缩类型420来压缩来自第一服务器106的响应并且可 使用第二或第三压缩类型420来压缩来自第二服务器106b的响应。方法500也可被实现 以便设备200在不同时间对于同一客户端和/或服务器使用不同的压缩技术。例如,设备 200可使用第一压缩类型420来压缩来自第一服务器106a的第一响应,并随后可使用第二 压缩类型420来压缩来自第一服务器106a的随后的响应。在一些实施例中,压缩策略410 可以动态地或实时地被改变,以应用不同的压缩类型420到由设备200压缩的网络通信。
[0125] 鉴于此处所述的设备200和客户端代理120的结构、功能和操作,多模式压缩引擎 400和技术500提供用于在客户端102和服务器106之间的同一传输层连接上传输压缩和 未压缩的内容。设备200和/或客户端代理120可以以不依靠客户端102上的应用和/或 服务器106上的应用270的压缩能力或压缩感知的方式,来加速或提高在客户端和服务器 之间的内容传送或网络通信传输的速度。另外,设备200可以基于压缩策略和/或与诸如 IP层信息、协议、或通信的对象的内容或类型的通信相关的信息来应用多个压缩技术的其 中一个到网络通信。以这种方式,设备200可以应用更佳的、更期望的或更适合的压缩技术 到该通信,这又可以帮助进一步加速通信的传送。
【主权项】
1. 一种用于在由设备在客户端和服务器之间建立的传输层连接上对压缩和未压缩内 容进行通信的方法,所述方法包括如下步骤: (a)在客户端和服务器之间由设备建立传输层连接; 化)由所述设备接收来自所述服务器的、对第一客户端请求的第一响应,和接收来自所 述服务器的、对第二客户端请求的第二响应; (C)由所述设备发送所述第一响应到所述客户端; (d) 由所述设备响应压缩策略从多个压缩类型中识别第一压缩类型用于压缩对所述客 户端的所述第二响应中的第一对象,W及从多个压缩类型中识别第二压缩类型用于压缩对 所述客户端的所述第二响应中的第二对象,所述压缩策略基于所述第一对象的通信协议识 别第一压缩类型,W及基于所述第二对象的通信协议识别第二压缩类型,并且部分地基于 一段时间所述服务器的多个响应的压缩能力统计与预定压缩能力阔值的比较; (e) 由所述设备将所述第二响应中的第一对象和所述第二响应中的第二对象的压缩能 力与所述预定压缩能力阔值进行比较; (f) 当所述一段时间所述服务器的压缩能力统计满足所述预定压缩能力阔值时,由所 述设备基于所述所识别的第一压缩类型来压缩所述第二响应中的第一对象W及基于所述 所识别的第二压缩类型来压缩所述第二响应中的第二对象; (g) 由所述设备发送所述压缩的第二响应到客户端代理; 化)由所述设备基于来自所述服务器的第一响应和第二响应来更新所述服务器的压缩 能力统计;W及 (i)由所述客户端代理解压缩所述压缩的第二响应并提供未压缩的第二响应给所述客 户端上的应用。
2. 根据权利要求1所述的方法,包括由所述设备确定包括在所述第一响应或所述第二 响应的其中之一中的对象的类型。
3. 根据权利要求2所述的方法,包括由所述设备基于所述对象的类型来识别用于压缩 所述第二响应的所述压缩类型。
4. 根据权利要求3所述的方法,包括通过所述设备配置识别与所述对象的类型相关的 所述压缩类型的规则。
5. 根据权利要求1所述的方法,其中识别第一压缩类型还包括由所述设备基于压缩策 略所指示的、响应中的对象从多个压缩类型中识别用于压缩所述第二响应的所述第一压缩 类型。
6. 根据权利要求1所述的方法,其中所述压缩类型包括下述之一;gzip压缩、deflate 压缩和delta压缩。
7. 根据权利要求1所述的方法,包括对于对所述客户端的第立响应,由所述设备从所 述多个压缩类型中识别第二压缩类型,基于所述第二压缩类型来压缩所述第=响应,并将 所压缩的第=响应发送到所述客户端。
8. 根据权利要求1所述的方法,包括:对于对第二客户端的第=响应,由所述设备从所 述多个压缩类型中识别第二压缩类型,基于所述第二压缩类型来压缩所述第=响应,并将 所压缩的第=响应发送到所述第二客户端。
9. 根据权利要求1所述的方法,包括由所述设备经由所述客户端和所述服务器之间的 所述传输层连接建立加酱套接字协议层(SSL)会话。
10. 根据权利要求1所述的方法,包括由所述设备使用下述技术中的一个或多个来加 速所述第一响应或所述压缩的第二响应的其中之一的传输: 传输控制协议(TCP)连接池; TCP连接多路复用; TCP缓冲讯 高速缓存。
11. 一种用于在由设备在客户端和服务器之间建立的传输层连接上对压缩和未压缩内 容进行通信的系统,所述系统包括: 用于在客户端和服务器之间由设备建立传输层连接的装置; 用于由所述设备接收来自所述服务器的、对第一客户端请求的第一响应,和接收来自 所述服务器的、对第二客户端请求的第二响应的装置; 用于由所述设备发送所述第一响应到所述客户端的装置; 用于由所述设备响应压缩策略,从多个压缩类型中识别第一压缩类型用于压缩对所述 客户端的所述第二响应中的第一对象,W及从多个压缩类型中识别第二压缩类型用于压缩 对所述客户端的所述第二响应中的第二对象的装置,所述压缩策略基于所述第一对象的通 信协议识别第一压缩类型,W及基于所述第二对象的通信协议识别第二压缩类型,并且部 分地基于一段时间所述服务器的多个响应的压缩能力统计与预定压缩能力阔值的比较; 用于由所述设备将所述第二响应中的第一对象和所述第二响应中的第二对象的压缩 能力与所述预定压缩能力阔值进行比较的装置; 用于当所述一段时间所述服务器的压缩能力统计满足所述预定压缩能力阔值时,由所 述设备基于所述所识别的第一压缩类型来压缩所述第二响应中的第一对象W及基于所述 所识别的第二压缩类型来压缩所述第二响应中的第二对象的装置; 用于由所述设备发送所述压缩的第二响应到客户端代理的装置; 用于由所述设备基于来自所述服务器的第一响应和第二响应来更新所述服务器的压 缩能力统计的装置;W及 用于由所述客户端代理解压缩所述压缩的第二响应并提供未压缩的第二响应给所述 客户端上的应用的装置。
12. 根据权利要求11所述的系统,包括用于由所述设备确定包括在所述第一响应或所 述第二响应的其中之一中的对象的类型的装置。
13. 根据权利要求12所述的系统,包括用于由所述设备基于所述对象的类型来识别用 于压缩所述第二响应的所述压缩类型的装置。
14. 根据权利要求13所述的系统,包括用于通过所述设备配置识别与所述对象的类型 相关的所述压缩类型的规则的装置。
15. 根据权利要求11所述的系统,包括用于由所述设备基于压缩策略指示的、响应中 的对象从多个压缩类型中识别用于压缩所述第二响应的所述第一压缩类型的装置。
16. 根据权利要求11所述的系统,其中所述压缩类型包括下述之一;gzip压缩、 deflate压缩和delta压缩。
17. 根据权利要求11所述的系统,包括用于对于对所述客户端的第=响应、由所述设 备从所述多个压缩类型中识别第二压缩类型的装置,所述装置基于所述第二压缩类型来压 缩所述第=响应,并将所压缩的第=响应发送到所述客户端。
18. 根据权利要求11所述的系统,包括用于对于对第二客户端的第=响应、由所述设 备从所述多个压缩类型中识别第二压缩类型的装置,所述装置基于所述第二压缩类型来压 缩所述第=响应,并将所压缩的第=响应发送到所述第二客户端。
19. 根据权利要求11所述的系统,包括用于由所述设备经由在所述客户端和所述服务 器之间的所述传输层连接建立加密套接字协议层(SSL)会话的装置。
20. 根据权利要求11所述的系统,包括用于由所述设备使用下述技术中的一个或多个 来加速所述第一响应或所述压缩的第二响应的其中之一的传输的装置: 传输控制协议(TCP)连接池; TCP连接多路复用; TCP缓冲讯 高速缓存。
【专利摘要】本发明所公开的系统和方法用于通过由设备在客户端和服务器之间建立的传输层连接上对压缩和未压缩内容进行通信。一种方法包括如下步骤:在客户端和服务器之间由设备建立传输层连接;并由该设备接收来自该服务器的、对第一客户端请求的第一响应和来自该服务器的、对第二客户端请求的第二响应。该第一响应和该第二响应具有未压缩数据。该方法包括由该设备发送该第一响应到该客户端。该设备从多个压缩类型中识别第一压缩类型用于压缩对该客户端的该第二响应,基于所识别的压缩类型来压缩该第二响应,并发送该压缩的第二响应到该客户端。
【IPC分类】H04L29-06, H04L29-08
【公开号】CN104639560
【申请号】CN201510088928
【发明人】B·布尚, C·温卡塔拉曼, 何军晓, S·南琼达斯瓦米, S·维朱诺夫, A·谢蒂, S·安娜玛莱萨米
【申请人】思杰系统有限公司
【公开日】2015年5月20日
【申请日】2007年8月2日
【公告号】CA2659268A1, CN101523850A, EP2050250A1, US8244883, US20080034119, WO2008017027A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1