CN103548307B - 通过计算机网络传输数据的方法和系统 - Google Patents
通过计算机网络传输数据的方法和系统 Download PDFInfo
- Publication number
- CN103548307B CN103548307B CN201180068664.6A CN201180068664A CN103548307B CN 103548307 B CN103548307 B CN 103548307B CN 201180068664 A CN201180068664 A CN 201180068664A CN 103548307 B CN103548307 B CN 103548307B
- Authority
- CN
- China
- Prior art keywords
- data
- endpoint
- session
- response
- service
- 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 title claims abstract description 32
- 238000005457 optimization Methods 0.000 claims abstract description 43
- 230000004048 modification Effects 0.000 claims abstract description 36
- 238000012986 modification Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 77
- 230000008859 change Effects 0.000 claims description 4
- 238000000151 deposition Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000002123 temporal effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000065695 Teredo Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910052757 nitrogen Inorganic materials 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了一种计算机实现的方法,其用于对计算机网络中的第一与第二端点之间的数据传输进行透明优化。端点之间具有直接建立的数据会话。在整个会话期间,每个端点以相同的方式对至少对其自身的数据会话进行识别。该方法包括步骤:利用网络优化服务在会话中透明中继端点之间的数据;以及利用网络优化服务对至少某些从第二端点向第一端点传送的数据进行透明修改或存储,从而对端点之间的数据通信进行优化,其中,对至少某些数据的透明修改包括更改数据、替代数据、或插入额外的数据,使得第一端点收到与第二端点发送的数据不同的数据。
Description
相关申请的交叉引用
本申请要求于2010年12月30日提交的名称为“METHODS AND SYSTEMS FORTRANSMISSION OF DATA OVER COMPUTER NETWORKS”的美国临时专利申请No.61/428,527的优先权,在此通过引用将其并入本文。
背景技术
本申请总体涉及通过计算机网络(如因特网、局域网、广域网、无线网络等)的数据传输。
过去3至5年,企业和客户的宽带网络都经历了显著的和持续的流量增长。这些流量增长是通过引入更快的终端用户连通性选择、采用各种带宽加强应用程序、引入各种可连接网络的消费电子产品驱动的。
为了应对由宽带增长导致的网络堵塞、应用程序性能下降、持续性地对网络进行升级的需求,宽带网络操作员引入了各种网络优化方案和服务,其目的是控制网络成本、容纳网络规模的增长、提高因特网应用程序的性能和安全性、为操作员创造新的收入来源。
这些方案包括内容缓存、视频转码和翻译、内容自适应、内容过滤、入侵监测和保护等等。
所有这些方案类别都共享一些公共部署需求。它们应当以透明的方式部署,从而因特网应用程序可以在不进行改变的情况下运行。
同样,对于某些网络优化方案,经常需要修改因特网内容流量和/或其内容载荷自身。
此外,网络优化方案需要解决经常运行于10Gbps、40Gbps、100Gbps规模的现代宽带网络的规模需求。
通常的基于网络的优化的方案结构包括结合网络元件(例如,路由、交换或专用DPI设备)部署的网络优化平台,该网络元件位于数据路径中并将业务流传输方向改变至网络优化平台。
网络元件通常利用有选择性地重定向网络业务流,以将业务流量与所使用的网络优化服务进行匹配。
网络优化服务通常使用应用程序代理结构。通过其他方式可以在两个端点‘A’和‘B’(例如,Internet浏览器与Web服务器)之间创建的一个连接由代理‘P’终止,并且一方面在A与P之间以及另一方面在P与B之间创建不同的两个传输会话(TCP或UDP)。建立连接后,代理‘P’在两个会话之间在应用程序级别中继数据。
代理结构带来了显著的性能损失,这是由于需要为流经网络的各会话保持传输(TCP或UDP)栈、复制数据以在应用程序级别中继数据并且执行从数据帧到应用程序缓冲器及反向的转换。
由于这些限制,代理结构将网络优化应用程序的吞吐量限制为每标准的基于Intel的服务器的1至2Gbps,以及将同时支持流量限制为为数万。该性能限制实际上妨碍了这些优化方案将网络规模以经济方式增大到10/40/100Gbps网络规模。
因此,需要能够消除应用程序代理结构的上述瓶颈的网络优化平台的替代结构。
发明内容
根据一个或多个实施例,提供了一种计算机实现的方法,该方法用于对计算机网络中的第一与第二端点之间的数据传输进行透明优化。端点之间具有直接建立的数据会话。在整个会话期间,每个端点以相同的方式对至少对其自身的数据会话进行识别。该方法包括步骤:利用网络优化服务在会话中透明中继端点之间的数据;利用网络优化服务对至少某些从第二端点向第一端点传送的数据进行透明修改或存储,从而对端点之间的数据通信进行优化,其中,对至少某些数据的透明修改包括更改数据、替代数据、或插入额外的数据,使得第一端点收到与第二端点发送的数据不同的数据。
根据一个或多个实施例,提供了一种优化服务,其用于对计算机网络中的第一与第二端点之间的数据传输进行透明优化。端点之间具有直接建立的数据会话。在整个会话期间,每个端点以相同的方式对至少对其自身的数据会话进行识别。该优化服务配置为:利用网络优化服务在会话中透明中继端点之间的数据;以及利用网络优化服务对至少某些从第二端点向第一端点传送的数据进行透明修改或存储,从而对端点之间的数据通信进行优化,其中,对至少某些数据的透明修改包括更改数据、替代数据、或插入额外的数据,使得第一端点收到与第二端点发送的数据不同的数据。
在下面的详细描述中,提供了本发明的若干实施例。需要认识到的是,本发明能够适用于其它或不同的实施例,并且能够对它的一些细节进行若干方面的修改,这些修改不脱离本发明的范围。相应地,附图和说明用于说明性的目的,而不是约束或限制性的目的,本申请的范围是由权利要求限定的。
附图说明
图1为示出了根据本发明的一个或多个实施例的在端点之间创建会话的流程图。
图2A和图2B(共同地作为图2)为示出了根据本发明的一个或多个实施例的优化服务的部署的示意图。
图3为示出了根据本发明的一个或多个实施例的运行于随道中的优化服务的部署的示意图。
图4为示出了根据本发明的一个或多个实施例的响应缓存的流程图。
图5为示出了根据本发明的一个或多个实施例的数据修改的流程图。
图6为示出了根据本发明的一个或多个实施例的新请求引入的流程图。
图7为示出了根据本发明的一个或多个实施例的示例性网络结构的流程图。
使用相同或类似的引用符号来标示共同的或类似的元件。
具体实施方式
本文所披露的若干实施例都针对用于优化计算机网络中直接建立了会话的端点之间的数据传输的服务。该优化服务对至少一些在端点之间传输的数据进行透明修改或存储、或者对端点引入新的请求,从而对端点间的数据通信进行优化。在整个会话期间,每个端点以相同的方式识别对于它的会话。
本文所使用的术语“网络节点”是指任何连接到基于IP的网络的设备,其包括(但不限于)计算机服务器、个人计算机(包括台式电脑、笔记本、平板电脑)、智能手机及其它连接网络的设备。
[28]本文所使用的术语“端点”是指通过基于IP的网络的双向进程间通信流的末端,其存在于连接到这种网络的网络节点上。端点的例子包括(但不限于)TCP sockets、SCTP sockets、UDP sockets、原始IP sockets。
[29]优化服务作为基于IP的网络上的网络节点间的数据中继中所包含的设备的一部分运行。这种设备的例子包括(但不限于)家用网关、WiFi热点、防火墙、路由器、地铁以太网交换机、光学交换机、DPI设备、计算机服务器、应用程序网关、电缆调制解调器终端系统(CMTS)、光线路终端(OLT)、宽带网络网关(BNG)、宽带访问服务器(BRAS)、DSL访问多路复用器(DSLAM)、网关GPRS支持节点(GGSN)、PDN网关(PGW)。
[30]如图1和图2中所示,在基于IP的计算机网络上有两个端点‘A’和‘B’(例如,ISP用户和基于因特网的Web服务器),它们之间建立了数据会话‘S’。如果是TCP协议,则会话创建阶段包含TCP会话握手,其中包括网络及传送参数协商。
[31]端点A和B之间的会话S包含由A向B发送的数据请求,以及在某些情况下,为由A向B发送的数据响应。该会话可选择地包括两个端点所发出的请求和响应。
[32]每个端点通常用至少5元组对数据会话S进行识别:本地端点的IP地址和端口、远程端点的IP地址和端口及所使用的协议(例如,TCP、UDP等)。如果网络地址转换(NAT)发生在A和B之间的网络中,由端点A和B定义的会话S可能会不同。
[33]通过计算发出和收到的字节和/或帧,端点A和B可选择地记录发出和收到的数据。为了检测封包流失和重发、避免堵塞、控制堵塞等,端点A和B还可记录远程端点发出和收到的数据。
[34]在整个会话期间,由各个端点识别的会话不会变化。
[35]根据一个或多个实施例,端点A与B之间建立会话S后,优化服务‘C’面向端点A创建透明的端点CA,如根据RFC1122的TCP/IP模型所定义的,在网络和传输级别,该端点将会作为端点B呈现给端点A。
[36]如图1所示,服务C可选择性地创建两个透明的端点CA和CB,其中端点CA将会作为端点B呈现给端点A,端点CB将会作为端点A呈现给端点B。
[37]根据一个或多个实施例,服务C仅在其处理的某些会话中按照[0035-0036]创建透明的端点,这一决定是服务C根据至少一个变量作出的,所述变量包括,例如,时间信息、序数信息、频率信息、端点识别信息、会话识别信息、网络状态信息、外部策略信息。
根据一个或多个实施例,通过置于会话端点之间的数据路径中,或者通过使用一个或多个位于数据路径中并将特定数据会话重定向至服务C的专用重定向设备(例如,负载平衡器、路由器、DPI设备等),服务C可对A与B之间的会话中的所有数据帧进行中继,如图2A和2B中所描绘。
根据一个或多个实施例,服务C可仅对A与B之间的会话中的部分数据帧进行中继。例如,从会话中的某帧开始,重定向设备可将会话S重定向至服务C,其利用会话的7层分析来决定是否应当将会话重定向至服务C。
当服务器C在端点A和端点B之间对数据帧进行中继而不创建透明的端点时,可以在物理级别(例如,通过切换端口至端口的数据帧)、或者链路级别(例如,通过改变MAC地址和/或VLAN标签)、或者通过二者的组合来进行这一操作。
根据一个或多个实施例,服务器C可选择性地对其处理的会话进行网络地址转换(NAT)。
[42]作为中继的一部分,C对连接状态进行连续不断地跟踪和存储,包括下面组中的所有或部分变量:
-静态会话标示符(端点地址和端口编号、所使用的传输协议)
-每个端点的动态传输状态,包括(但不限于)每个端点发出和确认的数据的顺序标示符
-会话和各单独端点的协商传输属性,包括(但不限于)TCP选项,如选择性的ACK、时间戳、缩放窗口等
-每个方向上发送的数据帧的动态网络级属性,包括(但不限于)IP DSCP、IP TOS、IPv6流标签
-每个方向上发送的数据帧的动态链路级属性,包括(但不限于)来源和目的地MAC地址、802.1Q VLAN标签、802.1P优先级位、QinQ堆栈式VLAN标签
-每个方向上发送的数据帧的动态电路级属性,包括(但不限于)进端口和出端口的识别、物理端口属性
[43]根据一个或多个实施例,服务C为A与B之间的一个或多个会话S’提供数据修改和缓存服务,所述一个或多个会话S’在两个端点T1和T2之间建立的隧道中穿过服务C,如图3中所示。
[44]服务C支持的隧道协议可包括(但不限于),L2TP、PPPoE、PPPoA、L2TP、GRE、GTP-U、IP in IP、MPLS、Teredo、6RD、6to4、和PMIP。
根据一个或多个实施例,如图3中所示,服务C通过端点A与B之间的穿过隧道的多个连接对端点T1和T2之间的隧道会话的状态进行跟踪。
如下面将要详细讨论的,根据若干实施例的服务C提供了许多会话修改和其它能力,包括(a)数据响应缓存(b)修改数据请求和数据响应(c)引入新请求。
(a)响应缓存
按照如上述[0030-0034]中详细描述的创建端点A与B之间的数据会话S后,从端点A到端点B的数据查询到达服务器C。
根据一个或多个实施例,服务C对数据查询进行分析以将其与之前存储的数据响应进行匹配。为此,C根据至少一个变量对从端点A收到的查询进行分析,所述变量是从以下组中选择的,该组包括:时间信息、序数信息、频率信息、客户信息、识别信息。
如果在存储器中找到了匹配的响应,C自行将存储的响应发送给端点A。
根据一个或多个实施例,如果服务C先前存储了匹配响应,则服务C不将该查询中继给端点B,而是自行对查询进行响应。
根据一个或多个选择性实施例,服务C将收到的来自端点A的查询中继至端点B、接收来自端点B的响应或其一部分、对收到的来自端点A的数据查询和收到的来自端点B的数据响应(或其一部分)与服务C之前存储的数据响应进行匹配。
这样,如果服务C识别出相匹配的存储响应,则将该存储响应(或其一部分)发送至端点A。这样,服务C阻断对收到的来自端点B的响应的中继。
如果C正在发送数据响应,则可导致B在它这一端上结束数据会话S,或者停止发送响应。
[54]当会话S中向端点A和B发送新的数据帧,而该数据帧不是来自对面端点时,服务C使用对面端点的IP和端口地址及其不断地存储的会话状态,如上面的[0042]中所描述。
[55]假定端点A和B分别以X0和Y0开始对它们在会话S中的数据流进行排序,如图4中所示。当服务C收到来自端点A的需要C响应的来自端点B的数据查询时,服务C可能已经将NA字节的数据从A中继到B并将NB字节的数据从B中继到A,其中NA和NB可大于或等于零。
[56]服务C对端点A和B的序列及每个端点确认的数据进行追踪。当服务C开始将其响应发送给端点A时,它以Y0+NB开始对其数据进行排序,其接续之前端点B所使用的数据序列,而预期来自端点A的新数据从X0+NA开始,其接续之前端点A发送的数据序列。可以说,C以TCP序列号Y0+NB和确认号X0+NA对端点CA进行初始化。
[57]因此,C发送的数据对端点A显示为A与B之间的会话的无缝接续。
[58]如果端点B向端点A发送的排序为Y0和Y0+NB之间的数据包在C和A之间的网段丢失,则服务C开始发送它的排序为Y0+NB及更高的数据后,端点A通过返还确认号小于Y0+NB的帧来做出响应。根据一个或多个实施例,C将这样的数据包中继给端点B,导致端点B重新发送所丢失的数据包。这样,C需仅将Y0与Y0+NB之间的范围内的数据中继返还至端点A。
[59]同样,当服务C将其自身数据(即,不是从其它端点接收到的数据)发送给端点B时,服务C使用如它所看到的会话S中的端点A的当前状态。
[0054-0059]中所描述的服务C完成的对发送和接收数据的排序同样适用于根据各个数据字节TCP类语义及其它语义,包括,但不限于,两个端点之间交换的各个帧的排序。
服务C可利用使用如上面的[0043-0044]中所描述的多级会话追踪而存储的数据,将如[0054-0059]所描述的相同的数据排序方法应用到同一会话内的多个协议层,包括但不限于通过PPP和PPP类似协议的TCP/IP会话、通过UDP/IP隧道等的TCP/IP会话、通过IPv4隧道的IPv6中创建的会话。
根据一个或多个实施例,为了发送之前存储的数据响应或其它数据,服务C透明地创建传送端点CA(例如,TCP/IP或UDP/IP插口),以允许其如端点A和B一样能够对数据包丢失和重发、堵塞检测和避免及传输数据进行传输的其它方面进行处理。
服务C可创建单独一个面向端点A的端点CA,或者一对分别面向A和B的端点CA和CB。面向端点A的端点CA将具有相对端点B的地址(根据[0054]的IP地址IPB和端口PB)以及端点B的传送状态,端点B的传送状态是作为创建端点CA前的会话跟踪的结果由服务C存储的。同样,端点CB具有端点A的属性(IP地址IPA和端口PA)。
根据一个或多个实施例,当数据请求和数据响应在端点A与B之间进行中继时,服务C对它们进行存储,端点A和B不变成传输级端点。
根据其他实施例,服务C可对来自多个端点中的一个端点的数据响应进行检索,或者从另一个数据源接收它。
根据一个或多个实施例,服务C对来自端点A和B的数据查询进行响应。
根据一个或多个实施例,服务C根据下面组中的至少一个变量对来自端点A和/或B的数据查询进行响应,所述组包括:配置信息、时间信息、频率信息、序数信息、系统负载信息、网络状态信息、客户信息、和识别信息。
根据一个或多个实施例,端点A向端点B发送查询QA1,对于该查询,服务C通过发送之前存储的响应RC1进行响应。收到响应RC1后,端点A发送另一个数据查询QA2。如果服务C没有存储与查询QA2匹配的响应,则服务C将该查询中继给端点B、接收响应RB2并将其中继给端点A。
[69]作为服务C发送至端点A响应RC1的结果,端点A和端点B的发送和接收数据的计数可能会不同。为了转换回中继模式(其中查询和响应重新在A与B之间中继),服务C对其在A与B之间中继的数据帧的排序实施不断的修改,例如图4中所示。例如,当收到来自端点A的请求QA2时,作为RC1响应的一部分,端点A报告收到了多达Y3’的数据,这反映了从端点CA收到的数据。同时,端点B发送了多达序列Y2的数据,作为它与端点CB通信的一部分。
[70]同样,端点B收到的与端点A发送的数据的计数(分别为X3’与X4)也不匹配。
[71]为了消除Y3’与Y2之间以及X3’与X4之间的差异,当在A与B之间中继数据时,服务C在两个方向上对发送数据和接收数据的序列进行修改。
此外,端点A可通过使用之前存储的响应RC3来初始化另一个查询QA3,该查询可以由服务C答复。
换言之,服务C可交替进行:①响应来自一个或两个端点的查询②在两个端点之间进行查询和响应的中继。
(b)查询和响应修改
根据一个或多个实施例,按照如[0028-0031]描述的创建会话S后,服务C对A与B两个端点之间进行中继的数据查询和/或数据响应进行修改,如图5中所示出的例子。
根据一个或多个实施例,服务C不使用传送端点来发送修改的数据,而是继续跟踪端点A与B的传送状态,并且当数据包丢失时依靠发送端点来重新发送数据。
由于中继数据的部分修改,服务C可能需要更改协议的帧校验和来反映新的有效载荷。
如果C对从A发送给B的数据进行修改,则修改的数据的数据包丢失可能发生在C与B之间。如果这样,服务C将反映该丢失的数据帧从B中继至A,使端点A重新发送丢失的帧,并且使服务C重新实施修改。C利用存储的会话状态信息对重新发送的帧进行跟踪,并重新实施修改。
根据其它实施例,为了将修改的数据发送给端点B,服务C创建面向端点B的新传送端点CB。该端点CB使用端点A的IP地址IPA和端口PA,并与之前从端点A中继至端点B的帧接续地对修改数据进行中继。
当服务C创建端点CB用于向端点B发送修改数据时,服务C可选择性地创建端点CA以便于与端点A的通信,例如,为了接收来自端点A的数据响应。与端点CB相同,端点CA使用相对端点B的IP地址IPB和端口PB,并与之前从端点B中继至端点A的帧接续地与端点B进行通信。
修改数据发送完成后,服务C退回到对A与B之间的帧进行中继,同时对收到和发出数据的序列进行必要的调整,如[0069-0071]中所述。
根据一个或多个实施例,服务C对从端点A中继到端点B的数据查询和/或响应进行修改,作为端点性能协商的一部分,从而影响会话S的格式、协议及其它属性。
根据一个或多个实施例,服务C对端点A发出的数据查询的参数进行修改,从而取消端点A报告的某种性能。例如,服务C可修改端点A报告的以压缩格式接收响应的性能,以使得相对端点B以压缩格式发送它的响应。
随后,服务C收到压缩的响应RB10,并通过解压缩有效载荷对其进行修改,并将其以修改格式发送给端点A,从而使B与C之间的网络优化并改进其性能。
[84]根据一个或多个实施例,服务C对收到的来自端点B的响应RB11进行修改,包括(但不限于):以不同格式对文字数据进行渲染、根据端点设备性能进行图像修改、视频质量的改变、将音频和/或视频数据转码成不同的格式等。
[0084]中描述的对响应的修改可用于许多目的,包括改善服务C与接收修改数据的端点之间的网络资源的利用率、根据端点应用程序性能调整数据响应、改善应用程序性能等。
根据一个或多个实施例,服务C可对端点A与B之间中继的数据响应进行修改,该修改关于在一个或两个端点可用的数据项目或部分数据项目,如点对点协议(如Bittorrent、eDonkey等)中所使用的。
(c)引入新请求
根据一个或多个实施例,除了和/或取代各端点发出的查询,服务C可在会话S中向端点A和/或端点B引入新的请求,如图6中所示。
根据一个或多个实施例,服务C可使用端点方法对来自端点A和B的新查询进行发送并接收响应,如[0035-0037]和[0054-0059]中所述。
根据一个或多个实施例,服务C包括缓存响应和响应修改、引入具有响应缓存的新请求、在同一会话S中中继端点之间的数据。
根据一个或多个实施例,服务C结合一个或两个端点的报告对数据可用性响应进行修改,从而通过在其中包含服务C所存储的数据项目(或部分数据项目)和/或排除服务C未存储的数据项目(或部分数据项目),来改善服务C的缓存命中率。
根据其它的实施例,服务C根据一个或两个端点的报告对数据可用性信息进行修改,从而促使端点对当前未被服务C存储的数据项目(或部分数据项目)进行发送,作为填充服务C所管理的缓存的一种方式。
根据一个或多个实施例,服务C对端点A和端点B之间的数据查询进行修改以禁用端到端加密,从而允许后续的数据响应的缓存。
根据一个或多个实施例,服务C对其发送给端点的修改数据响应进行存储,并且可对存储的修改数据响应的副本进行检索,而不是急于实施修改。
根据一个或多个实施例,如果存储的数据响应的副本与修改需要相匹配,则服务C可发送通过上面所述的响应缓存机制存储的数据响应。
根据一个或多个实施例,可利用通过上面所述的响应缓存机制存储的数据响应的副本作为数据修改的输入,而不是使端点B发送所有的数据响应。
根据一个或多个实施例,为了引发最佳响应缓存所需的端点响应,服务C可在会话S中引入新的请求。
这种数据响应可包括(但不限于),已经存储在服务C中的内容对象的丢失部分、已经被表示为常用但还未被服务C存储的内容对象、与服务C已知的其它对象相关联的内容对象(例如,HTML页面引用的对象或用于自适应比特率视频的额外的回放等级等)。
根据一个或多个实施例,提供了一种用于对两个端点A与B之间的至少一个通信会话进行透明修改的系统,该系统需要端点A和B之间首先建立数据会话,该会话包括至少一个IP网络节点,该节点设计并配置为提供服务(a)至(c)中的至少一种服务,如上面所述。
根据一个或多个实施例,该优化系统可驻留在单独一个或多个服务供应网络、专用托管区域、数据中心、企业或住宅楼宇中,如下面的图7中所描述。
根据一个或多个实施例,该系统包括多个位于不同物理位置的组件。
根据一个或多个实施例,在A与B之间的同一连接S的数据路径中可存在多个串联的系统。
根据一个或多个实施例,该优化服务可在与多个端点中的一个所驻存的同一网络节点上运行。
根据一个或多个实施例,多个优化服务可串联运行,如图7中所示。
根据一个或多个实施例,多个优化服务可并联运行,例如作为通过重定向设备完成的会话负载平衡的一部分。
根据一个或多个实施例,多个优化服务实例可串联和/或并联运行,其中每个优化服务实例执行不同的和/或相同的数据修改和存储操作。
根据一个或多个实施例,多个优化服务实例可串联和/或并联运行,其中每个优化实例配合另一个实例合作执行不同的数据修改和存储操作。
上面描述的优化服务进程可以软件、硬件、固件及其任意组合来实现。优选地,这些进程以一个或多个计算机程序实现,这些计算机程序运行于可编程设备上,该可编程设备包括处理器、处理器可读取的存储媒介(包括例如易失性和非易失性存储器和/或存储元件)、输入和输出设备。每个计算机程序可以是驻留在设备的随机存取存储器中的代码模块形式的一组指令(程序代码)。这组指令可存储在另一个计算机存储器(例如,硬盘驱动器,或者可移动存储器中,如光盘、外部硬盘、记忆卡、闪存驱动器)中或者存储在另一个计算机系统中并通过因特网或其它网络下载,直到设备需要时。
这样,已经描述了若干说明性实施例,应当理解的是,该领域内的技术人员可轻易地进行若干的更改、修改和改进。这些更改、修改和改进意在构成本公开的一部分,并且意在位于本公开的精神和范围内。尽管本文讨论的一些例子包含了详细的功能或结构元件的组合,但是应当了解的是,根据本发明,这些功能和元件可以以其它方式组合,从而实现相同或不同的目的。特别是,连同某个实施例讨论的步骤、元件和特征不是为了排除于其它实施例中的类似的或其它作用之外。
此外,本文描述的元件和组件可进一步划分为额外的组件或连接到一起,从而形成较少的用于执行相同功能的组件。例如,优化服务可包括一个或多个物理机器,或在一个或多个物理机器上运行的一个或多个虚拟机器。此外,优化服务可包括通过因特网或其它网络连接的一组计算机或许多分布式计算机。
相应地,前面的描述及附图仅作为实例,而不是意在限制本发明。
Claims (19)
1.一种计算机实现的方法,该方法用于对计算机网络中的位于第一端点和第二端点之间的数据传输进行透明优化,所述端点之间具有直接建立的数据会话,在整个会话期间,每个端点以相同的方式对至少对其自身的数据会话进行识别,该方法包括:
利用网络优化服务在所述会话中透明中继所述两个端点之间的数据;
通过所述网络优化服务对所述会话的状态进行连续的跟踪和存储,包括跟踪:每个端点发送和接收了哪些数据;
基于所述会话的存储的状态利用所述网络优化服务来选择性地创建面向所述第一端点的第一透明端点,其中所述第一透明端点对于所述第一端点显示为所述第二端点,从而所述第一端点与所述第一透明端点开始通信,而非与所述第二端点开始通信;以及
利用网络优化服务对至少某些从第二端点向第一端点传送的数据进行透明修改和/或存储,从而对端点之间的数据通信进行优化,其中,对至少某些数据的透明修改包括以下至少一个:更改所述数据、插入额外的数据或者使所述第一透明端点发送所述数据而不是使所述第二端点发送所述数据,使得第一端点收到与第二端点发送的应用程序级别数据不同的数据。
2.如权利要求1所述的方法,其中,会话包括TCP或UDP会话。
3.如权利要求1所述的方法,其中,会话是通过标识符识别的,这些标识符包括:第一端点的IP地址和传输端口、第二端点的IP地址和传输端口、所使用的传输协议,并且其中,标识符在整个会话期间不改变。
4.如权利要求1所述的方法,其中,优化服务或与优化服务通信的重定向服务位于第一和第二端点之间的数据路径中。
5.如权利要求1所述的方法,其中,跟踪和存储所述会话的状态的步骤包括对以下会话属性中的至少一个进行跟踪和存储:传送级属性、链路级属性、和网络级属性。
6.如权利要求1所述的方法,其中,中继数据的步骤还包括创建面向第二端点的第二透明端点,其中第二透明端点对于第二端点显示为第一端点,从而第二端点与第二透明端点通信而不是与所述第一端点通信。
7.如权利要求1所述的方法,其中,中继数据的步骤包括通过重定向设备接收两个端点之间通信的数据,并且其中,中继数据的步骤包括只对第一和第二端点之间的会话中的一部分数据帧进行中继。
8.如权利要求1所述的方法,其中,跟踪包含监控多层隧道。
9.如权利要求1所述的方法,其中,透明修改的步骤包括:对来自第一端点的针对第二端点的数据查询和/或从第二端点接收到的对所述数据查询的数据响应进行分析,将数据查询和数据响应与之前存储的数据响应进行匹配,以及将之前存储的数据响应发送给第一端点,同时将来自第二端点的数据响应的中继中断。
10.如权利要求9所述的方法,还包括使第二端点在其一端结束会话或者暂缓发送数据响应。
11.如权利要求9所述的方法,其中,发送之前存储的数据响应包括:利用第二端点的IP和端口地址及会话的会话状态作为第一和第二端点之间的会话的接续。
12.如权利要求9所述的方法,其中,匹配的步骤是基于选自下面组中的至少一个变量进行的:时间信息、序数信息、频率信息、客户信息、识别信息。
13.如权利要求1所述的方法,其中,透明修改的步骤包括:
对来自第一端点的针对第二端点的第一数据查询进行分析,将第一数据查询与之前存储的数据响应进行匹配,将之前存储的数据响应通过单独的透明端点发送给第一端点;以及
接收来自第一端点的针对第二端点的第二数据查询,确定响应于第二数据查询的数据响应未存储在优化服务中,将第二数据查询中继至第二端点,接收来自第二端点的符合第二查询的数据响应,以及在不使用单独的透明端点的情况下将来自第二端点的数据响应中继至第一端点,同时修改该响应的传送参数,从而使其呈现为第一与第二端点之间的会话的接续。
14.如权利要求1所述的方法,其中,透明修改数据的步骤包括:以不同格式渲染文本数据、根据端点设备性能对数据进行调整、改变视频质量、压缩数据、或将音频和/或视频数据转码成不同的格式。
15.如权利要求1所述的方法,其中,透明修改的步骤包括:对从一个端点到另一个端点的数据查询或响应的参数进行调整,从而影响会话的属性。
16.如权利要求1所述的方法,其中,透明修改数据的步骤包括:对从一个端点至另一个端点的数据查询或响应的参数进行修改以影响后续数据查询或响应的属性,从而提高会话中数据查询的缓存能力。
17.如权利要求1所述的方法,其中,透明修改数据的步骤包括:将之前存储的数据响应用于后续的数据响应的修改。
18.如权利要求1所述的方法,其中,透明修改数据的步骤包括:通过优化服务对端点报告的数据可用性响应进行修改从而改善缓存命中率,或者如果端点交换有关数据可用性的信息,则使一个端点发送当前未存储在优化服务中的数据项目。
19.如权利要求1所述的方法,还包括引入新的请求以使一个端点发送用于数据缓存的数据响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201061428527P | 2010-12-30 | 2010-12-30 | |
US61/428,527 | 2010-12-30 | ||
PCT/US2011/068172 WO2012092586A2 (en) | 2010-12-30 | 2011-12-30 | Methods and systems for transmission of data over computer networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103548307A CN103548307A (zh) | 2014-01-29 |
CN103548307B true CN103548307B (zh) | 2018-05-29 |
Family
ID=45973904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180068664.6A Active CN103548307B (zh) | 2010-12-30 | 2011-12-30 | 通过计算机网络传输数据的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (7) | US20120102148A1 (zh) |
EP (2) | EP3518504B1 (zh) |
JP (1) | JP6035248B2 (zh) |
CN (1) | CN103548307B (zh) |
WO (1) | WO2012092586A2 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8655986B2 (en) * | 2011-05-06 | 2014-02-18 | Allot Communications Ltd. | Data path processing |
US8817815B2 (en) * | 2011-12-22 | 2014-08-26 | Cisco Technology, Inc. | Traffic optimization over network link |
US9356904B1 (en) * | 2012-05-14 | 2016-05-31 | Google Inc. | Event invitations having cinemagraphs |
US9705729B2 (en) | 2012-06-01 | 2017-07-11 | Dell Products L.P. | General client engine with load balancing for client-server communication |
US9185180B2 (en) * | 2012-08-20 | 2015-11-10 | Cisco Technology, Inc. | Hybrid caching system |
US9716740B2 (en) | 2013-06-14 | 2017-07-25 | Dell Products L.P. | Web-based transcoding to clients for client-server communication |
US9300669B2 (en) * | 2013-06-14 | 2016-03-29 | Dell Products L.P. | Runtime API framework for client-server communication |
US9407725B2 (en) | 2013-06-14 | 2016-08-02 | Dell Products L.P. | Generic transcoding service for client-server communication |
CN105009512B (zh) * | 2013-11-15 | 2018-09-07 | 华为技术有限公司 | 维护关联ma设置方法、装置及系统 |
CN104202229B (zh) * | 2014-09-13 | 2017-10-27 | 潍坊学院 | 一种无源光网络olt设备qinq报文处理方法及系统 |
EP3253004B1 (en) * | 2015-01-29 | 2021-11-24 | NTT Communications Corporation | Communication control device, communication control method, and communication control program |
GB2539003B (en) | 2015-06-03 | 2018-05-09 | Openwave Mobility Inc | A method and apparatus for managing connections in a communication network |
WO2018096609A1 (ja) * | 2016-11-24 | 2018-05-31 | 株式会社日立製作所 | 計算機、通信制御方法、及びプログラム |
WO2018222007A1 (en) * | 2017-06-02 | 2018-12-06 | Samsung Electronics Co., Ltd. | Methods and systems for accounting for data usage in mptcp |
CN109218820A (zh) * | 2018-11-14 | 2019-01-15 | 广州市百果园信息技术有限公司 | 一种视频渲染器及视频渲染方法 |
CN113268316A (zh) * | 2021-04-19 | 2021-08-17 | 广东荟萃网络科技有限公司 | 基于地址转换的多活动进程数据交换系统及其工作方法 |
CN114928661A (zh) * | 2022-05-31 | 2022-08-19 | 杭州迪普科技股份有限公司 | 会话保持方法和装置 |
Family Cites Families (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3289358A (en) | 1964-05-21 | 1966-12-06 | Longobardi Felice | Razor blade holder and stropper for a hone and strop |
US5307413A (en) * | 1991-07-19 | 1994-04-26 | Process Software Corporation | Method and apparatus for adding data compression and other services in a computer network |
JPH0827769B2 (ja) | 1992-10-30 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 通信インターフェースの生成システム及びその方法 |
US5526358A (en) | 1994-08-19 | 1996-06-11 | Peerlogic, Inc. | Node management in scalable distributed computing enviroment |
US5623601A (en) * | 1994-11-18 | 1997-04-22 | Milkway Networks Corporation | Apparatus and method for providing a secure gateway for communication and data exchanges between networks |
US5657452A (en) * | 1995-09-08 | 1997-08-12 | U.S. Robotics Corp. | Transparent support of protocol and data compression features for data communication |
JP2000515692A (ja) | 1995-12-12 | 2000-11-21 | ザ ボード オブ トラスティーズ オブ ザ ユニバーシティー オブ イリノイ | 性質限定システム上でリアルタイムの動画及び音声情報を伝送し読み出すための方法及び装置 |
US6003084A (en) * | 1996-09-13 | 1999-12-14 | Secure Computing Corporation | Secure network proxy for connecting entities |
US5884046A (en) | 1996-10-23 | 1999-03-16 | Pluris, Inc. | Apparatus and method for sharing data and routing messages between a plurality of workstations in a local area network |
US5852717A (en) | 1996-11-20 | 1998-12-22 | Shiva Corporation | Performance optimizations for computer networks utilizing HTTP |
US6424992B2 (en) | 1996-12-23 | 2002-07-23 | International Business Machines Corporation | Affinity-based router and routing method |
US5950198A (en) | 1997-03-24 | 1999-09-07 | Novell, Inc. | Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers |
US6311215B1 (en) * | 1997-03-25 | 2001-10-30 | Intel Corporation | System for dynamic determination of client communications capabilities |
US5907678A (en) | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US5987376A (en) | 1997-07-16 | 1999-11-16 | Microsoft Corporation | System and method for the distribution and synchronization of data and state information between clients in a distributed processing system |
US5960404A (en) | 1997-08-28 | 1999-09-28 | International Business Machines Corp. | Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation |
US6003045A (en) | 1997-09-17 | 1999-12-14 | International Business Machines Corporation | Accessing stored files from multiple storage devices |
US6105029A (en) | 1997-09-17 | 2000-08-15 | International Business Machines Corporation | Retrieving network files through parallel channels |
US5950205A (en) | 1997-09-25 | 1999-09-07 | Cisco Technology, Inc. | Data transmission over the internet using a cache memory file system |
US6240461B1 (en) | 1997-09-25 | 2001-05-29 | Cisco Technology, Inc. | Methods and apparatus for caching network data traffic |
US6185598B1 (en) | 1998-02-10 | 2001-02-06 | Digital Island, Inc. | Optimized network resource location |
US6460087B1 (en) | 1998-02-25 | 2002-10-01 | Kdd Corporation | Method of transferring file |
US6085251A (en) | 1998-04-02 | 2000-07-04 | The United States Of America As Represented By The Secretary Of The Air Force | Implementing a parallel file transfer protocol |
US6018780A (en) | 1998-05-19 | 2000-01-25 | Lucent Technologies Inc. | Method and apparatus for downloading a file to a remote unit |
US6199107B1 (en) | 1998-07-22 | 2001-03-06 | Microsoft Corporation | Partial file caching and read range resume system and method |
US6219786B1 (en) | 1998-09-09 | 2001-04-17 | Surfcontrol, Inc. | Method and system for monitoring and controlling network access |
US6286084B1 (en) | 1998-09-16 | 2001-09-04 | Cisco Technology, Inc. | Methods and apparatus for populating a network cache |
US6304914B1 (en) | 1998-09-22 | 2001-10-16 | Microsoft Corporation | Method and apparatus for pre-compression packaging |
US6622157B1 (en) | 1998-09-28 | 2003-09-16 | Certeon, Inc. | Extending network services using mobile agents |
US7293099B1 (en) * | 1998-09-29 | 2007-11-06 | Sun Microsystems, Inc. | Heterogeneous network file access |
US6970602B1 (en) * | 1998-10-06 | 2005-11-29 | International Business Machines Corporation | Method and apparatus for transcoding multimedia using content analysis |
US6389462B1 (en) | 1998-12-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for transparently directing requests for web objects to proxy caches |
US6434608B1 (en) | 1999-02-26 | 2002-08-13 | Cisco Technology, Inc. | Methods and apparatus for caching network traffic |
JP4299911B2 (ja) * | 1999-03-24 | 2009-07-22 | 株式会社東芝 | 情報転送システム |
US6263371B1 (en) | 1999-06-10 | 2001-07-17 | Cacheflow, Inc. | Method and apparatus for seaming of streaming content |
US6993476B1 (en) * | 1999-08-26 | 2006-01-31 | International Business Machines Corporation | System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework |
US6976165B1 (en) | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
US6339785B1 (en) | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
US6742023B1 (en) | 2000-04-28 | 2004-05-25 | Roxio, Inc. | Use-sensitive distribution of data files between users |
US6366907B1 (en) | 1999-12-15 | 2002-04-02 | Napster, Inc. | Real-time search engine |
US20020010866A1 (en) | 1999-12-16 | 2002-01-24 | Mccullough David J. | Method and apparatus for improving peer-to-peer bandwidth between remote networks by combining multiple connections which use arbitrary data paths |
AU2001243218A1 (en) * | 2000-02-24 | 2001-09-03 | Shin-Ping Liu | Content distribution system |
US7240100B1 (en) * | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
US6996616B1 (en) | 2000-04-17 | 2006-02-07 | Akamai Technologies, Inc. | HTML delivery from edge-of-network servers in a content delivery network (CDN) |
US6865600B1 (en) | 2000-05-19 | 2005-03-08 | Napster, Inc. | System and method for selecting internet media channels |
US20020049760A1 (en) | 2000-06-16 | 2002-04-25 | Flycode, Inc. | Technique for accessing information in a peer-to-peer network |
CA2415888C (en) * | 2000-08-04 | 2008-10-21 | Avaya Technology Corporation | Intelligent demand driven recognition of url objects in connection oriented transactions |
US7212726B2 (en) * | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
US7010578B1 (en) | 2000-09-21 | 2006-03-07 | Akamai Technologies, Inc. | Internet content delivery service with third party cache interface support |
US7203741B2 (en) | 2000-10-12 | 2007-04-10 | Peerapp Ltd. | Method and system for accelerating receipt of data in a client-to-client network |
TW532040B (en) * | 2000-10-20 | 2003-05-11 | Koninkl Philips Electronics Nv | Method and system for transferring a communication session |
US7111057B1 (en) * | 2000-10-31 | 2006-09-19 | Akamai Technologies, Inc. | Method and system for purging content from a content delivery network |
US6940835B2 (en) * | 2000-12-28 | 2005-09-06 | Nortel Networks Limited | Application-level mobility support in communications network |
US7043644B2 (en) | 2001-01-31 | 2006-05-09 | Qurio Holdings, Inc. | Facilitating file access from firewall-protected nodes in a peer-to-peer network |
JP3771453B2 (ja) * | 2001-02-20 | 2006-04-26 | 株式会社エヌ・ティ・ティ・ドコモ | Tcp中継装置及びシーケンス番号変換方法 |
US7054912B2 (en) * | 2001-03-12 | 2006-05-30 | Kabushiki Kaisha Toshiba | Data transfer scheme using caching technique for reducing network load |
US7024460B2 (en) * | 2001-07-31 | 2006-04-04 | Bytemobile, Inc. | Service-based compression of content within a network communication system |
US7454485B2 (en) | 2001-06-29 | 2008-11-18 | Intel Corporation | Providing uninterrupted media streaming using multiple network sites |
US7089304B2 (en) | 2001-08-30 | 2006-08-08 | Microsoft Corporation | Metered Internet usage |
WO2003036492A1 (en) * | 2001-09-18 | 2003-05-01 | Idetic, Inc. | Clientless electronic mail mime attachment re-delivery system via the web to reduce network bandwidth usage |
JP4053269B2 (ja) * | 2001-09-27 | 2008-02-27 | 株式会社東芝 | データ転送装置およびデータ転送方法 |
US7469299B2 (en) * | 2001-10-25 | 2008-12-23 | Verizon Business Global Llc | Bridging user agent and a proxy server for supporting network services |
US7278157B2 (en) * | 2002-03-14 | 2007-10-02 | International Business Machines Corporation | Efficient transmission of IP data using multichannel SOCKS server proxy |
US6868439B2 (en) | 2002-04-04 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection |
US6963996B2 (en) * | 2002-04-30 | 2005-11-08 | Intel Corporation | Session error recovery |
WO2003096669A2 (en) * | 2002-05-10 | 2003-11-20 | Reisman Richard R | Method and apparatus for browsing using multiple coordinated device |
US7801945B1 (en) * | 2002-07-03 | 2010-09-21 | Sprint Spectrum L.P. | Method and system for inserting web content through intermediation between a content server and a client station |
US7395355B2 (en) | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
JP2004070860A (ja) * | 2002-08-09 | 2004-03-04 | Hitachi Ltd | ストリームコンテンツ配送システムおよびプロキシサーバ |
JP4309629B2 (ja) | 2002-09-13 | 2009-08-05 | 株式会社日立製作所 | ネットワークシステム |
EP1561320A1 (en) * | 2002-09-30 | 2005-08-10 | Corposoft Ltd. | Method and devices for prioritizing electronic messages |
US7793342B1 (en) * | 2002-10-15 | 2010-09-07 | Novell, Inc. | Single sign-on with basic authentication for a transparent proxy |
DE10394048D2 (de) * | 2002-11-06 | 2005-09-22 | Tellique Kommunikationstechnik | Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung |
US7403995B2 (en) * | 2003-01-08 | 2008-07-22 | Outhink, Inc. | Symmetrical bi-directional communication |
US20040187083A1 (en) * | 2003-03-18 | 2004-09-23 | Tracey Bryan D. | System and method for reducing the size of wireless communications |
US8473620B2 (en) * | 2003-04-14 | 2013-06-25 | Riverbed Technology, Inc. | Interception of a cloud-based communication connection |
JP4395662B2 (ja) * | 2003-06-12 | 2010-01-13 | キャミアント,インク. | Pcmmアプリケーションマネージャ |
US20050060410A1 (en) * | 2003-09-11 | 2005-03-17 | Nokia Corporation | System and method for proxy-based redirection of resource requests |
US7616625B1 (en) * | 2003-10-22 | 2009-11-10 | Sprint Communications Company L.P. | System and method for selective enhanced data connections in an asymmetrically routed network |
US7945648B2 (en) * | 2003-10-27 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Methods and systems for dynamically configuring a network component to reroute media streams |
US7564792B2 (en) * | 2003-11-05 | 2009-07-21 | Juniper Networks, Inc. | Transparent optimization for transmission control protocol flow control |
JP4171910B2 (ja) * | 2004-03-17 | 2008-10-29 | 日本電気株式会社 | 並列処理システム及び並列処理プログラム |
US20080005349A1 (en) | 2004-04-16 | 2008-01-03 | Utstarcom | Distributed multimedia streaming system |
US20060026286A1 (en) * | 2004-07-06 | 2006-02-02 | Oracle International Corporation | System and method for managing user session meta-data in a reverse proxy |
US7600230B2 (en) * | 2004-07-06 | 2009-10-06 | Oracle International Corporation | System and method for managing security meta-data in a reverse proxy |
JP4558396B2 (ja) | 2004-07-14 | 2010-10-06 | 株式会社東海理化電機製作所 | 入力制御装置 |
JP2006139398A (ja) | 2004-11-10 | 2006-06-01 | Nippon Telegr & Teleph Corp <Ntt> | キャッシュサーバ及びコンテンツ選定保持方法 |
US7523092B2 (en) * | 2004-12-14 | 2009-04-21 | International Business Machines Corporation | Optimization of aspects of information technology structures |
US11477093B2 (en) * | 2004-12-14 | 2022-10-18 | Kyndryl, Inc. | Coupling of a business component model to an information technology model |
US7797739B2 (en) * | 2004-12-14 | 2010-09-14 | International Business Machines Corporation | Automated verification of correctness of aspects of an information technology system |
US8028334B2 (en) * | 2004-12-14 | 2011-09-27 | International Business Machines Corporation | Automated generation of configuration elements of an information technology system |
US20060212584A1 (en) | 2005-03-15 | 2006-09-21 | Qian Xiang Shi Ji (Beijing) Technology Development Co. Ltd. | Method and system for accelerating downloading of web page content by a peer-to-peer network |
JP4407556B2 (ja) * | 2005-03-29 | 2010-02-03 | 日本電気株式会社 | セッション中継装置、セッション中継方法およびプログラム |
IES20050376A2 (en) * | 2005-06-03 | 2006-08-09 | Asavie R & D Ltd | Secure network communication system and method |
US7602778B2 (en) * | 2005-06-29 | 2009-10-13 | Cisco Technology, Inc. | System and methods for compressing message headers |
US8630299B1 (en) * | 2005-09-30 | 2014-01-14 | At&T Intellectual Property Ii, L.P. | Customer premises equipment border element for voice over internet protocol services |
US20070076664A1 (en) * | 2005-09-30 | 2007-04-05 | Yafan An | Handoff decision making for heterogeneous network environments |
US20070076696A1 (en) * | 2005-09-30 | 2007-04-05 | Yafan An | Use of SIP messages for location services |
FR2892256A1 (fr) * | 2005-10-14 | 2007-04-20 | France Telecom | Procede et serveur d'invocation des serveurs d'application dans un reseau sip |
US7307552B2 (en) * | 2005-11-16 | 2007-12-11 | Cisco Technology, Inc. | Method and apparatus for efficient hardware based deflate |
US7926108B2 (en) * | 2005-11-23 | 2011-04-12 | Trend Micro Incorporated | SMTP network security processing in a transparent relay in a computer network |
US7738448B2 (en) * | 2005-12-29 | 2010-06-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for generating and sending signaling messages |
CN100531212C (zh) * | 2006-01-21 | 2009-08-19 | 华为技术有限公司 | 一种协商设备信息的系统、方法 |
US7649909B1 (en) * | 2006-06-30 | 2010-01-19 | Packeteer, Inc. | Adaptive tunnel transport protocol |
US7561081B2 (en) * | 2006-07-12 | 2009-07-14 | Qualcomm Incorporated | Method and apparatus for optimization of SigComp UDVM performance |
US20080205388A1 (en) * | 2007-02-22 | 2008-08-28 | Microsoft Corporation | Discovery of network devices logically located between a client and a service |
US7706266B2 (en) * | 2007-03-12 | 2010-04-27 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
CN101282167B (zh) * | 2007-04-05 | 2012-10-10 | 中兴通讯股份有限公司 | 一种mmr系统中透明中继和非透明中继共存的信号传输方法 |
EP2153340A4 (en) | 2007-05-08 | 2015-10-21 | Riverbed Technology Inc | HYBRID SEGMENT ORIENTED FILE SERVER, AND WAN ACCELERATOR |
US7787418B2 (en) * | 2007-06-08 | 2010-08-31 | Intel Corporation | Apparatus and method to support VoIP calls for mobile subscriber stations |
IL184305A0 (en) * | 2007-06-28 | 2008-03-20 | Oleg Golobrodsky | Method, apparatus and system for enabling communications between users |
US20090031381A1 (en) * | 2007-07-24 | 2009-01-29 | Honeywell International, Inc. | Proxy video server for video surveillance |
FI20075631A0 (fi) * | 2007-09-10 | 2007-09-10 | Nokia Siemens Networks Oy | Menetelmä, radiojärjestelmä ja tukiasema |
JP2009089197A (ja) * | 2007-10-01 | 2009-04-23 | Fujitsu Ltd | 中継装置 |
FI120996B (fi) * | 2007-10-30 | 2010-05-31 | Teliasonera Ab | Optimointimenetelmä ja -laite kommunikaatioverkossa |
US8583810B2 (en) | 2008-01-04 | 2013-11-12 | Red Hat, Inc. | Session affinity cache and manager |
EP2248038A4 (en) | 2008-01-07 | 2013-10-16 | Peerapp Ltd | METHOD AND SYSTEM FOR TRANSFERRING DATA IN A COMPUTER NETWORK |
US8320250B2 (en) * | 2008-02-12 | 2012-11-27 | Nvidia Corporation | Method and arrangement for TCP flow control |
JP4540720B2 (ja) * | 2008-04-02 | 2010-09-08 | 株式会社エヌ・ティ・ティ・ドコモ | データ通信端末、プロキシ装置、データ通信システム、及びデータ通信方法 |
US8219802B2 (en) * | 2008-05-07 | 2012-07-10 | International Business Machines Corporation | System, method and program product for consolidated authentication |
WO2009138076A2 (de) * | 2008-05-15 | 2009-11-19 | Lysatiq Gmbh | Verfahren zum optimieren einer paketorientierten datenübertragung und computerprogramm-produkt |
US8463941B1 (en) * | 2008-06-16 | 2013-06-11 | Riverbed Technology, Inc. | Cross-session protocol acceleration and its application to storage area network file systems |
US8041893B1 (en) | 2008-09-09 | 2011-10-18 | Vignette Software Llc | System and method for managing large filesystem-based caches |
US20100070588A1 (en) * | 2008-09-15 | 2010-03-18 | Yahoo! Inc. | Reliability for instant messaging based on end point acknowledgements |
WO2010042580A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for allocating bandwidth by an intermediary for flow control |
US20100106841A1 (en) * | 2008-10-28 | 2010-04-29 | Adobe Systems Incorporated | Handling Proxy Requests in a Computing System |
US9135024B2 (en) * | 2008-11-30 | 2015-09-15 | Red Hat Israel, Ltd. | Playing multimedia content at remote graphics display client |
EP2380320A1 (en) * | 2008-12-23 | 2011-10-26 | Movik Networks | Transparent interaction with multi-layer protocols via selective bridging and proxying |
WO2010125230A1 (en) * | 2009-04-30 | 2010-11-04 | Nokia Corporation | Data transmission optimization |
US8856869B1 (en) * | 2009-06-22 | 2014-10-07 | NexWavSec Software Inc. | Enforcement of same origin policy for sensitive data |
US8971335B2 (en) * | 2009-07-02 | 2015-03-03 | Exafer Ltd | System and method for creating a transitive optimized flow path |
WO2011022405A2 (en) * | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
US20120089481A1 (en) * | 2009-11-24 | 2012-04-12 | Chain Reaction Ecommerce, Inc. | Securing sensitive information with a trusted proxy frame |
US8903891B2 (en) * | 2010-06-24 | 2014-12-02 | Sap Se | User interface communication utilizing service request identification to manage service requests |
US9178854B2 (en) * | 2010-07-09 | 2015-11-03 | Cisco Technology, Inc. | Differentiation of multiple media endpoints behind an address translation device |
-
2011
- 2011-12-30 JP JP2013547704A patent/JP6035248B2/ja not_active Expired - Fee Related
- 2011-12-30 US US13/341,409 patent/US20120102148A1/en not_active Abandoned
- 2011-12-30 WO PCT/US2011/068172 patent/WO2012092586A2/en active Application Filing
- 2011-12-30 EP EP19163542.4A patent/EP3518504B1/en active Active
- 2011-12-30 CN CN201180068664.6A patent/CN103548307B/zh active Active
- 2011-12-30 EP EP11854377.6A patent/EP2659623B1/en active Active
-
2015
- 2015-04-03 US US14/678,537 patent/US10225340B2/en active Active
-
2019
- 2019-03-01 US US16/290,775 patent/US10841373B2/en not_active Expired - Fee Related
-
2020
- 2020-04-01 US US16/837,595 patent/US11082488B2/en active Active
-
2021
- 2021-06-18 US US17/351,926 patent/US12069129B2/en active Active
-
2023
- 2023-05-15 US US18/317,908 patent/US12126680B2/en active Active
-
2024
- 2024-10-22 US US18/923,658 patent/US20250047742A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20150358405A1 (en) | 2015-12-10 |
US12126680B2 (en) | 2024-10-22 |
US10841373B2 (en) | 2020-11-17 |
US10225340B2 (en) | 2019-03-05 |
US20230283662A1 (en) | 2023-09-07 |
US20200236166A1 (en) | 2020-07-23 |
EP3518504B1 (en) | 2020-09-16 |
US12069129B2 (en) | 2024-08-20 |
JP2014504822A (ja) | 2014-02-24 |
WO2012092586A3 (en) | 2013-01-17 |
EP2659623B1 (en) | 2019-03-20 |
US20120102148A1 (en) | 2012-04-26 |
EP2659623A2 (en) | 2013-11-06 |
EP2659623A4 (en) | 2017-07-19 |
US20190208015A1 (en) | 2019-07-04 |
EP3518504A1 (en) | 2019-07-31 |
JP6035248B2 (ja) | 2016-11-30 |
US20210314401A1 (en) | 2021-10-07 |
WO2012092586A2 (en) | 2012-07-05 |
US11082488B2 (en) | 2021-08-03 |
CN103548307A (zh) | 2014-01-29 |
US20250047742A1 (en) | 2025-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12126680B2 (en) | Optimizing data transmission between a first endpoint and a second endpoint in a computer network | |
US11799760B2 (en) | Router device using flow duplication | |
US7680051B2 (en) | Optimizing TCP traffic via an SCTP association | |
US8396954B2 (en) | Routing and service performance management in an application acceleration environment | |
JP7142722B2 (ja) | 伝送制御方法および装置 | |
WO2018067328A1 (en) | Router with bilateral tcp session monitoring | |
EP3574617B1 (en) | Method and apparatus for managing routing disruptions in a computer network | |
US12184537B2 (en) | Method and network device for multi-path communication | |
WO2018233376A9 (zh) | 传输报文的方法、代理服务器和计算机可读存储介质 | |
Morais et al. | 5G Transport Payload: Ethernet-Based Packet-Switched Data | |
Pfeifer | IPv6 Fragment Header Deprecated draft-bonica-6man-frag-deprecate-02 | |
Ratliff et al. | RFC 5578: PPP over Ethernet (PPPoE) Extensions for Credit Flow and Link Metrics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |