当前位置: 首页 > 专利查询>谷歌公司专利>正文

建立全双工双向通信的方法和系统技术方案

技术编号:16105624 阅读:66 留言:0更新日期:2017-08-30 00:08
本申请涉及建立全双工双向通信的方法和系统。在此描述了用于降低成本但是提高在客户端和服务器之间流送数据时的性能的系统和方法。本发明专利技术的实施例涉及降低通过常规数据流送的成本但是提高其性能,在常规数据流送中,使用两个TCP连接,一个用于每个业务流的方向。进一步实施例允许服务器不是在两个TCP连接而是在单个TCP连接上使用对双向流的基于RPC的通信协议与一个或多个客户端通信。在一个实施例中,这通过从客户端到服务器发送初始握手实现。如果服务器接收握手,则客户端将请求流流送至服务器,并且服务器同时通过建立全双工流的同一单个TCP连接将响应流流送至客户端。

【技术实现步骤摘要】
建立全双工双向通信的方法和系统分案说明本申请属于申请日为2011年11月02日的中国专利技术专利申请201180053899.8的分案申请。
技术介绍
超文本传输协议(HTTP)是无状态的远程过程调用(RPC)类型协议,其要求客户端和服务器之间的通信并且遵循严格的请求-响应模式。HTTP将数据从客户端流送到服务器或从服务器流送到客户端。当前,从客户端到服务器和从服务器到客户端的双向流送要求两个传输控制协议(TCP)连接,以分别在客户端和服务器之间流送数据。第一TCP连接由客户端用来将请求流送到服务器,而第二TCP连接由服务器用来将响应流送到客户端。例如,对于客户端到服务器通信,方法包括HangingGET、长轮询、以及轮询。HangingGET方法包括未决(pending)RPC协议,其允许服务器在任何时间将响应数据流送到客户端。来自客户端的请求不包括初始握手请求,并且该请求不包含数据。长轮询方法类似于HangingGET方法,但是来自服务器的响应对于服务器发送至客户端的每条数据被终止。客户端被要求初始化新RPC协议,以接收下一个消息。轮询方法要求客户端通过周期性地生成新RPC协议以从服务本文档来自技高网...
建立全双工双向通信的方法和系统

【技术保护点】
一种用于通过遵循一系列全双工双向通信语义来通过基于远程过程调用的通信协议提供具有全双工能力的客户端以建立全双工双向通信流的计算机实现的方法,包括:经由网络通过在所述具有全双工能力的客户端和服务器之间的单个协议连接发起全双工通信,其中,所述具有全双工能力的客户端被配置成通过将初始握手发送至所述服务器来占用所述服务器,所述初始握手包括请求和主体;响应于所述初始握手请求从所述服务器接收一个或多个响应报头,所述一个或多个响应报头信令通知所述服务器对所述初始握手的接受,其中,所述服务器对所述初始握手的接受建立了在所述具有全双工能力的客户端与所述服务器之间的通信;在所述服务器通过所述单个协议连接经由所述网...

【技术特征摘要】
2010.11.08 US 61/411,321;2011.09.26 US 13/245,1041.一种用于通过遵循一系列全双工双向通信语义来通过基于远程过程调用的通信协议提供具有全双工能力的客户端以建立全双工双向通信流的计算机实现的方法,包括:经由网络通过在所述具有全双工能力的客户端和服务器之间的单个协议连接发起全双工通信,其中,所述具有全双工能力的客户端被配置成通过将初始握手发送至所述服务器来占用所述服务器,所述初始握手包括请求和主体;响应于所述初始握手请求从所述服务器接收一个或多个响应报头,所述一个或多个响应报头信令通知所述服务器对所述初始握手的接受,其中,所述服务器对所述初始握手的接受建立了在所述具有全双工能力的客户端与所述服务器之间的通信;在所述服务器通过所述单个协议连接经由所述网络接受所述初始握手之后,通过所述具有全双工能力的客户端将客户端请求流流送至所述服务器;在所述具有全双工能力的客户端通过所述单个协议连接流送所述客户端请求流的同时,通过所述单个协议连接接受来自所述服务器的响应流;以及当所述客户端请求流和所述响应流同时通过所述单个协议连接通信时,通过所述基于远程过程调用的通信协议使能所述全双工双向通信流。2.根据权利要求1所述的方法,其中,所述单个协议连接是单个传输控制协议。3.根据权利要求1所述的方法,其中,所述基于远程过程调用的通信协议是超文本传输协议。4.根据权利要求1所述的方法,进一步包括:通过向与所述服务器相关联的服务器应用流送URL参数或报头来向所述服务器应用告知所述具有全双工能力的客户端的能力,以参与全双工双向通信。5.根据权利要求1所述的方法,进一步包括:使用客户端代理、网络代理、和服务器代理中的一个或多个来建立在所述具有全双工能力的客户端和所述服务器之间的全双工通信,其中,每个代理使用一个或多个过滤规则来允许客户端请求流仅在所述客户端请求流通过基于远程过程调用的通信协议的情况下才访问所述网络。6.根据权利要求5所述的方法,其中,所述客户端代理、所述网络代理、和所述服务器代理中的一个或多个被配置成缓冲来自所述具有全双工能力的客户端的客户端请求流,所述缓冲使得所述具有全双工能力的客户端从全双工双向通信切换至使用多于单个连接的另一个协议。7.一种用于通过遵循一系列全双工双向通信语义来通过基于远程过程调用的通信协议提供具有全双工能力的服务器以建立全双工双向通信流的计算机实现的方法,包括:经由网络通过在所述具有全双工能力的服务器和客户端之间的单个协议连接完成全双工通信,其中,所述具有全双工能力的服务器被配置成接受来自所述客户端的初始握手,所述初始握手包括请求和主体;通过将一个或多个响应报头发送至所述客户端来对所述初始握手作出响应,所述一个或多个响应报头信令通知所述具有全双工能力的服务器对所述初始握手的接受,其中,所述具有全双工能力的服务器对所述初始握手的接受建立了在所述具有全双工能力的服务器与所述客户端之间的通信;将由所述具有全双工能力的服务器接收的请求流传送至服务器应用;所述服务器应用通过所述单个协议连接经由所述网络将包括对所述请求流的应用响应的服务器响应流流送至所述客户端;以及当所述服务器响应流和所述请求流同时使用所述单个协议连接时,通过所述基于远程过程调用的通信协议使能全双工双向通信流。8.根据权利要求7所述的方法,其中,所述单个协议连接是单个传输控制协议。9.根据权利要求7所述的方法,其中,所述基于远程过程调用的通信协议是超文本传输协议。10.根据权利要求7所述的方法,进一步包括:使用客户端代理、网络代理、和服务器代理中的一个或多个来建立在所述具有全双工能力的服务器和所述客户端之间的全双工通信,其中,每个代理使用一个或多个过滤规则来允许服务器响应流仅在所述服务器响应流通过基于远程过程调用的通信协议的情况下才访问所述网络。11.根据权利要求10所述的方法,其中,所述客户端代理、所述网络代理、和所述服务器代理中的一个或多个被配置成缓冲来自所述具有全双工能力的服务器的服务器响应流,所述缓冲使得所述服务器应用从全双工双向通信切换至使用多于单个连接的另一个协议。12.一种用...

【专利技术属性】
技术研发人员:朱文博凯文·于
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1