用于减少往返和改进体验质量的跨层管道传送优化的制作方法

文档序号:6595138阅读:198来源:国知局
专利名称:用于减少往返和改进体验质量的跨层管道传送优化的制作方法
用于减少往返和改进体验质量的跨层管道传送优化本申请要求2008年8月6日提交的美国临时专利申请序列号61/086,513的优先权,该申请的内容通过参考全部结合于本文中。
背景技术
图1示出了示例性移动无线网络例如3G/UMTS网络中的网络元件。无线网络包含无线电接入网(RAN)和核心网络(CN)。GGSN(网关GPRS服务节点)将移动无线网络连接到IP核心网络。网关GPRS支持节点(GGSN)是GPRS (通用分组无线电服务)网络的主要组件。GGSN负责GPRS网络和外部分组交换网络诸如因特网和X. 25网络之间的兼容性。当从外部网络来看时,GGSN表现为到子网的路由器,因为GGSN对GPRS基础设施隐藏外部网络。当GGSN接收到寻址到特定用户的数据时,它检查该用户是否是活动的。如果是,则GGSN向服务移动用户的SGSN转发数据。然而,如果移动用户是不活动的,则丢弃该数据,或者发起寻呼过程以定位并通知移动装置。对于在GPRS网络内始发的数据,GGSN 将这些移动台始发的分组路由到正确的外部网络。GGSN将来自SGSN的GPRS分组转换成适当的分组数据协议(PDP)格式(例如IP 或X. 25),并在对应的分组数据网络上将它们发送出去。对于入局分组,PDP地址被转换成目的地用户的GSM(全球移动通信系统)地址。改写地址的分组然后被发送到负责的SGSN。 为了实现这个功能,GGSN将用户的当前SGSN地址及其相关联的简档存储在其位置寄存器中。GGSN负责IP地址分配,并且是所连接用户设备(UE)的默认路由器。GGSN还执行认证功能。服务GPRS支持节点(SGSN)负责从和向其地理服务区内的移动站递送数据分组。 它的任务包含分组路由和传送、移动性管理(附连/分开和位置管理)、逻辑链路管理以及认证和收费功能。SGSN的位置寄存器存储向这个SGSN注册的所有GPRS用户的位置信息和用户简档。无线电网络控制器(或RNC)是无线电接入网中的掌控元件,并且负责控制连接到它的节点B。RNC执行无线电资源管理、一些移动性管理功能,并且是在向和从移动台发送用户数据先前进行加密的点。RNC连接到分组交换核心网络中的SGSN(服务GPRS支持节点)ο节点B是用于表示UMTS/3GPP体系结构中的基站收发器站(BTS)的术语。与在所有蜂窝系统诸如GSM中一样,节点B (或BTS)含有用于直接与在它周围自由移动的用户设备通信的(一个或多个)射频发射器和(一个或多个)接收器。UE包括所有用户设备,包含手机、智能电话和计算设备。不管底层物理传输媒介如何,大多数因特网应用程序使用客户端-服务器体系结构,其中客户端和服务器是使用TCP/IP协议通过因特网通信的两个不同装置中的两个不同应用程序(层7)。在图2中示出了典型事务处理(transaction)所遵循的操作序列。虽然这个示例示出了访问网站,但是所示出的序列也可应用于许多其它应用。例如,当访问因特网站点诸如www. yahoo, com上的黄页时,用户首先起动客户端应用程序,如在步骤1中所示出的。在这个示例中,客户端应用程序优选将是web浏览器。用户然后录入他想要访问的站点的域名。客户端装置生成对默认DNS服务器的DNS查询,如在步骤2 中所示出的,DNS服务器然后将域名翻译成IP地址。在步骤3中,DNS服务器返回含有对应于预期站点名称的一个或多个IP地址的响应。在步骤4中,客户端侧然后生成TCP连接 (TCP/SYN)请求以连接到在DNS响应中含有的IP地址下的服务器的端口号(例如HTTP端口)。应用程序服务器然后返回确认(TCP/SYN-ACK),如在步骤5中所示出的。在步骤6中, 客户端用TCP/ACK进行响应,并建立TCP连接。客户端应用程序(即浏览器)然后向服务器发送HTTP请求,如在步骤7中所示出的。在步骤9中,服务器返回HTTP响应,该响应包含www. yahoo, com的主页,其含有对黄页的链接。用户然后选择黄页链接。可根据正被返回的页的大小来交换多个TCP分组。在以上序列中,如果在一个TCP分组和更多TCP分组(如果该页较大的话)中含有 HTTP响应,则存在用于接收站点首页的最少3个往返。即使在单个TCP分组(http响应) 中含有网页内容,但是在客户端应用程序看到任何网页内容之前,最少3个往返过去了。在边际链接上,诸如在无线移动环境中,“空中带宽”(OTA Bff)和往返时间可以改变很大。例如在3G网络中,往返时间在好的条件下可以从100毫秒改变到200毫秒,而在差的无线条件下更大得多(秒的数量级)。由此,在显示第一页之前用户将看到的延迟在最好的条件下可以是300到600毫秒。因为与无线网络特别是3G网络相关联的冗长且不可预测的延迟,如果存在一种可以减少用户与远程服务器之间所需的往返数的系统和方法将是有利的。

发明内容
本发明减轻了现有技术的问题。本发明公开了与应用程序激活无关的用户输入收集以及随后向网络转发该输入连同在底层部分填充的协议分组,诸如DNS请求、TCP-SYN数据、本地浏览器参数和应用程序数据分组。增强型服务器侧应用程序,例如增强型DNS服务器,接收多部分消息,处理其部分消息并将其余消息递送给随后服务器。在备选部署环境诸如代理中,该代理接收多个应用程序的整个数据,并代表客户端应用程序完成以上步骤,由此最小化初始客户端与服务器之间的往返。本发明进一步将关于客户端侧的以上多部分消息扩展成包含附加应用程序数据, 例如在目标网站诸如yahoo处处理的“黄页”、“餐馆”。客户端侧收集用户输入,并朝网络 (服务器)发送。目标服务器处理所接收的输入以向客户端返回更多最优的网页内容,由此最小化用于向用户呈现相关内容的交互步骤(以及相关联的往返)。本发明的附加部分包含客户端装置在多部分消息中连同用户录入的输入一起添加在可用和相关时的位置信息。位置信息使得服务器能够进一步确定相对于用户输入的适当的内容,由此最小化用于确定感兴趣的正确页的交互步骤。应该注意,虽然说明书和操作示例下面组合了 DNS解析、TCP连接建立和HTTP请求/响应等以将往返从3减少到1,但是这些方法也同样可应用于组合部分步骤。例如,DNS 解析和TCP连接建立可以组合为一个步骤,留下HTTP请求/响应作为第二步骤,由此将步骤的总数从3减少到2。类似地,TCP连接建立可与发送HTTP请求步骤组合。其它组合也是可能的,并且在本发明的范围内。当前发明的另一方面涉及相对于启动应用程序而收集用户输入。为了起动应用程序,在现状中使用的步骤包含用户首先选择应用程序,该应用程序呈现一个或多个选择窗口,用户选择一个窗口,然后输入流被附连到所选的应用程序窗口。备选地,在其它操作系统(OS)环境中,OS组件诸如外壳将第一输入关键字与应用程序名称相匹配(通过将字符串或文件类型与应用程序相匹配),并激活应用程序。当前发明提出了其中用户首先录入参数然后选择一个或多个应用程序来处理参数的录入输入的后缀顺序。参数由一个或多个本地或远程应用程序处理。当前发明的另一个方面是除了用户录入的输入之外还获得关于客户端装置的附加参数。这种参数的示例包含用户的大致位置、时刻(time of day)或用户简档,并与用户录入的输入一起朝目标远程服务器转发。


为了便于更全面地理解本公开,现在参考附图,在附图中相似的特征用相似的数字参考。这些图不应该解释为限制本公开,而旨在仅是示例性的。 图1是代表性移动无线网络; 图2是在现有技术中执行的协议序列; 图3代表第一实施例; 图4a是根据第一实施例的第一协议序列; 图4b是根据第一实施例的第二协议序列; 图5代表第二实施例; 图6是根据第二实施例的协议序列;以及图7示出了客户端侧软件为确定多部分消息内容而使用的序列。
具体实施例方式图3示出了本发明的第一实施例,并且代表具有含有本发明中描述的增强的一个或多个装置的示例网络配置。结合图1描述的那些组件具有相同的功能,除非另外指出。这个实施例不利用内嵌(inline)代理。在这个实施例中,用户设备(UE)含有应用程序启动环境(ALE),这将在后面更详细地描述。简单地说,ALE通过接受典型地同时在多个消息中含有的信息来实现往返的减少。就本公开而言,含有这个功能性的装置或软件被称为“ALE 服务器”。在某些实施例中,ALE服务器可以是具有相关联软件的单独硬件组件。在其它实施例中,ALE服务器只是驻留在网络中预先存在的组件上的专用软件。图3还标识了 ALE服务器的几个可能位置,包括DNS服务器、应用程序服务器和⑶N/高速缓存。与ALE服务器结合的是优选位于用户设备上的客户端侧应用程序。用户装置在以下示例中优选是智能移动电话或具有移动无线接入卡的膝上型电脑。在图4a和4b中示出了在这个实施例中使用当前发明的操作序列。如上所述,在现有技术环境中,用户激活应用程序,然后将输入录入到应用程序窗口。在本发明中,收集输入而不用应用程序的上下文以便于解析输入与激活应用程序之间的重叠。在当前发明中,输入收集和解析可以由OS组件(诸如命令行外壳)或称为应用程序启动环境(ALE)的新应用程序客户端进行。下面更详细地描述ALE的操作。在本发明中,用户可录入“yahoo”、“yp”并选择浏览器应用程序。ALE客户端(或 OS组件)收集这个用户输入,并将“yahoo”翻译为誦.yahoo, com而将“yp”翻译为yahoo 网站上的黄页。这个翻译可以通过参考最近的浏览历史以找到包含相同字、关键字或字母序列的网站来执行。备选地,频繁使用的网站和缩写词可以由装置编成书签,并可以被参考以确定输入的文本是否是先前编成书签的站点。虽然以上说明书详述了客户端侧(ALE客户端)基于历史和其它机制来执行将用户输入翻译成应用程序数据,但是在备选实施例中,客户端侧也可以向服务器侧(例如在 www. yahoo, com下的服务器)传递部分数据(例如“yp”),并且服务器可执行该翻译。由此, 客户端侧确定目标处理实体,并且在多部分消息中传递用户输入部分。在其它应用程序中, 客户端提供未缩写输入,诸如“www.yahoo.com yellow pages ie7,,。在这个示例中,由于选择了 Web浏览器应用程序,因此ALE客户端识别出整个事务处理需要DNS解析、TCP连接、HTTP请求和发送附加应用程序数据(如在图2中所示出的)。 基于这个知识,ALE客户端可构造包含如下一项或多项的多部分消息
(a)DNS请求、用于接收DNS响应的本地UDP端口号,
(b)TCP SYN (具有本地TCP数据)、本地TCP端口号,
(c)具有已知浏览器参数的http请求,
(d)应用程序数据,诸如期望的网页,即"黄页",以及
(e)可选地,根据客户端装置类型的本地可用信息。示例参数可包括但不限于
a.地理坐标,如果移动装置具有GPS能力或移动装置向其注册的BTS的大致位置的
话,
b.时刻,以及
c.用户简档。然后转发这个级联的信息,如在图4a和4b的步骤2中所示出的。在当前发明中, 这个信息的接收方可以是增强型DNS服务器(其是具有针对多部分消息的软件增强的传统 DNS服务器)或称为ALE服务器的新服务器应用程序。ALE服务器是可位于DNS服务器、应用程序服务器或代理装置中的逻辑实体,并含有实现这些特征所必需的软件。在步骤3中,增强型DNS服务器或ALE服务器接收多部分消息,将DNS名称解析为主机地址,并且如在图4a的步骤3a中所示出的,向初始客户端发送DNS响应。在步骤4中, 增强型DNS服务器或ALE服务器向解析的主机地址转发其余多部分消息。在步骤5中,在主机地址下的服务器接收TCP连接数据(TPC SYN)、浏览器参数和应用程序数据。服务器可用允许处理多部分消息的软件来增强,或合并与本地服务器通信的ALE服务器。在一个实施例中,服务器向初始客户端返回TCP-SYN-ACK,并向http服务器传递浏览器参数和应用程序数据。在步骤6中,http服务器随后通过在步骤5中建立的连接来返回HTTP响应。由此,虽然初始客户端请求是多部分/多应用程序消息,但是每个应用程序可向初始客户端返回其自己的响应。在这个实施例中,DNS响应由DNS服务器递送,TCP/SYN-ACK由在主机地址下的服务器返回,并且HTTP响应由http服务器返回。这三个单独的响应模拟在图2 中在步骤3、5和9中所示出的3个响应。
在图4b中所示出的备选实施例中,来自服务器侧的响应(即DNS响应、TCP/ SYN-ACK和HTTP响应)被组合为多部分消息并被发送到初始客户端,如在图4b的步骤6中所示出的。用这个备选,增强型DNS服务器将DNS名称解析为主机地址,并向解析的主机地址转发DNS响应连同多部分消息的其余部分,如在步骤4中所示出的。在主机地址下的服务器处理TCP-SYN数据,构造TCP/SYN-ACK,向应用程序服务器转发浏览器参数和应用程序数据。在步骤6中,应用程序服务器然后构造包含DNS响应、TCP/SYN-ACK和HTTP响应的多部分消息并转发到初始客户端(浏览器)。应该注意,虽然图4b的实施例将响应组合为多部分消息,但是在图4a的较早实施例中也实现了往返减少,其中响应由对应的服务器侧应用程序直接返回到客户端。这种减少是基于向客户端发送这些响应而不需要与客户端的附加交互的事实。由此,服务器尽可能实际地发送每个响应,而不等待与客户端的任何附加通信或交互。在另外的实施例中,附加参数可以由ALE客户端生成并传递到ALE服务器。例如, 假设用户输入是“yahoo yp pizza ie”,ALE客户端对于这个输入生成多部分消息。ALE客户端也可在消息中传递附加客户端相关参数。例如,在以上消息中,客户端的位置可提供有用信息,因为有可能用户正在寻找附近比萨店的电话号码。在这种情况下,还可传递附加参数,诸如“GPS坐标”。在另一个实施例中,该店可能在某些天关闭,或者具有有限小时。由此,包含“GPS坐标”和“时刻” 二者可能是待传递到ALE服务器的有用参数。视情况而定, 也可传递对用户装置特定的其它参数。图3和4中示出的实施例假设附加软件功能性(ALE)被合并在网络中的各种组件中。在备选实施例中,合并了内嵌代理,其合并了 ALE服务器的功能性。具体地说,该代理具有为实现下面描述的序列所需的软件。图5示出了第二实施例并且代表内嵌代理的网络配置和备选位置。例如,在3G/ UMTS网络中,备选位置包括(1) RNC与SGSN之间的IuPS接口,(2) SGSN与GGSN之间的 Gn接口,或(3) GGSN与因特网之间的GGSN北部的Gi接口。该代理优选定位成使得到应用程序、DNS和http服务器的所有通信都经由有线网络。图6示出了当与内嵌代理一起使用时的协议序列。首先,与在所有先前示例中一样,在步骤1中用户录入“yahoo”、“yp”并选择浏览器应用程序。类似于先前示例,ALE客户端收集用户输入,并将yahoo翻译为誦.yahoo, com,将 “yp”翻译为yahoo站点上的黄页。与先前一样,这个翻译可以通过参考最近的浏览历史以找到包含相同字、关键字或字母序列的网站来执行。备选地,频繁使用的网站和缩写词可以由装置编成书签并可以被参考以确定输入的文本是否是先前编成书签的站点。如上面所描述的,由于选择了 Web浏览器,因此客户端装置(经由OS或软件应用程序)识别出它需要DNS请求和TCP连接。它构造包含一个或多个如下组件的多部分消息
(a)DNS请求连同用于接收UDP响应的本地UDP端口号,
(b)TCP SYN(具有已知客户端数据)连同本地TCP端口号,
(c)具有已知浏览器参数的http请求,
(d)应用程序数据,诸如“黄页”,以及
(e)可选地,根据客户端装置类型的本地可用信息。示例参数包括但不限于a.地理坐标,如果移动装置具有GPS能力或移动装置向其注册的BTS的大致位置的
话,
b.时刻,以及
c.用户简档。这个多部分消息然后被转发到代理装置,如在步骤2中所示出的。该代理支持分离TCP (Split-TCP)操作,并且因此可以维持到客户端的单独TCP 连接以及到服务器的不同TCP连接,并且在两个连接之间进行分组转发。该代理向默认DNS服务器转发DNS查询(如在步骤6中所示出的)。同时,它生成到客户端的DNS响应(具有其自己的主机地址)(如在步骤3中所示出的)以及到客户端的TCP/SYN-ACK (如在步骤4中所示出的)。该代理本地缓冲应用程序数据。应该注意,该代理具有作为单独响应(如在步骤3和4中所示出的)或作为单个消息响应来返回DNS响应和TCP/SYN-ACK的选项。这两个实施例都不需要与客户端的附加往返。在步骤7中该代理从目标服务器接收DNS响应,并发起到在DNS响应中含有的主机地址的TCP连接,如在步骤8中所示出的。在建立了到应用程序服务器的TCP连接之后,在步骤11中该代理向应用程序服务器(HTTP服务器)发送缓冲的应用程序数据。在步骤12中应用程序服务器向该代理返回HTTP响应,并且在步骤14中该代理向客户端转发该响应。以上说明书示出了用作ALE服务器锚点的无线网络与有线网络之间的内嵌代理装置。由此,它正在终止多部分消息并使用代理与归属服务器(DNS、Yahoo等)之间的标准协议。由此,该示例使用本公开中描述的方法通过无线网络减少往返,但是在有线网络中使用现有技术机制。由此,意图是最小化通过其中往返时间大的无线电接入网的往返。换句话说,在图6中所示出的协议中存在大量往返。然而,最小化了通过无线网络发生的往返数,因为这是通信路径中等待时间的主要来源。这个实施例具有另外的优点 在这个实施例中影响最小的改变量。例如,客户端和代理需要具有增强的ALE功能性。然而,DNS、应用程序服务器和http服务器根据现有技术协议操作,由此最小化对整个网络的改变并加速这个新技术的运用。在另一个实施例中,上面概述的方法可以通过在有线网络上使用多分组来进一步增强,如在图4b中所示出的。与在先前示例中一样,在当前发明中概述的方法也可以通过在有线网络上转发多部分消息而用在有线网络上。虽然以上示例所有都示出了客户端发送含有DNS、TCP和应用程序数据的单个消息,但是应该理解,客户端可构建包括少于所有所需数据的多部分消息。例如,客户端可发送具有DNS和TCP信息的第一消息以及具有应用程序数据的随后消息。本发明只要求目标将信息级联成比传统上递送的更少的消息。描述了可以使用的各种协议以及ALE装置的布局,将更详细地描述ALE模块的功能。在本地应用程序启动环境(ALE)中,将描述两个方面,即1)收集用户输入以及2)生成多层分组。常规上,当用户录入输入时,由软件组件解析它。例如,如果在活动应用程序窗口中写输入,则该软件应用程序解析该输入。在命令行输入的情况下,操作系统诸如imix或Iinux收集该输入并确定如何处理它。下面描述一个此类示例。当用户录入xyztestl. bat时,仅在录入.bat和CR之后,OS识别出这是.bat文件, 在路径中搜索该文件,并激活批处理器。在当前发明中,收集输入、解析等可以由OS环境或由有点类似于批处理器但比批处理器更智能的称为“应用程序启动环境(ALE)客户端”的新应用程序以类似方式进行。ALE客户端通过收集输入并确定向其它节点发送请求和/或数据的最高效方式来工作。例如,如果输入是“ie7 yahoo yp Marlboro restaurants”,则本发明执行如下步骤, 如在图7中所示出的。首先,客户端基于应用程序是浏览器(在这种情况下是Internet Explorer 7)的知识而将“yahoo”翻译成“www. yahoo, com"(基于历史或另一个算法),如在框700中所示出的。ALE客户端然后基于应用程序是浏览器并且目标是yahoo服务器的知识和历史而将“yp”翻译成“黄页”,如在框710中所示出的。备选地,ALE客户端识别出数据是去往在 www. yahoo, com下的目标服务器,并传递原始数据。在另一个备选中,ALE客户端在多部分消息中作为“不相关联数据”传递它未将其与处理步骤或应用程序相关联的用户输入,并且当它们的关联性变得清楚时,随后的服务器解析该不相关联数据。ALE客户端识别出对于网站访问,DNS查询需要被发送到DNS服务器,如在框720 中所示出的。ALE客户端还识别出TCP连接需要被发送到由DNS服务器标识的地址,尽管该地址仍未知,如在步骤730中所示出的。最后,ALE客户端识别出,http请求需要被发送到具有本地浏览器参数的应用程序服务器,如在框740中所示出的。在现有技术实现中,例如在浏览器应用程序中,如在图2中所示出的,通过应用程序发送对应的协议分组并在继续下一步骤之前等待响应,顺序地执行以上步骤。在当前发明中,这些步骤是ALE软件应用程序的先行处理步骤。当它处理输入字符串时,它理解以上步骤。因此,在框720中,它构造具有www. yahoo, com的DNS查询分组以及用于接收响应的本地UDP端口号。在框730中,它构造TCP-SYN分组(具有要由DNS 服务器返回的缺失远程IP地址)以及本地TCP端口号。在框740中,ALE客户端构造具有本地浏览器参数而没有DNS或TCP数据的知识的http请求。ALE客户端然后将这3个分组组合为多分段分组,其中每个分段含有TLV参数(类型、长度、值)。在另一个实施例中,第四参数被附加到每个分段,其定义目标协议(或应用程序),因此这将是PTLV列表。ALE将这个请求发送到具有用于支持这个多部分消息的扩展的DNS服务器。定义附加DNS服务器扩展以实现这个功能性。备选地,在本发明中称为“ALE服务器”的新应用程序类型驻留在 DNS服务器或其它地方中,例如在内嵌代理中。多部分消息将被发送到ALE服务器。ALE服务器剥离其处理步骤,并将其余步骤转交到下一 ALE服务器(或对应的应用程序服务器)。 因此对于以上5个步骤,PTLV可构造为具有3个或更多单独PLTV分段的消息,如下面所示
(1) DNS,dns-数据-类型、长度、“驟w. yahoo, com”,(2) TCP,连接-数据-类型、长度、“连接参数”,(3) HTTP,http-请求-数据-类型、长度、浏览器-参数-数据,(4)可选位置信息-数据-类型、长度、位置数据,(5)可选时刻信息-数据-类型、长度、时刻数据。虽然以上示例示出了当要访问网页时创建的步骤和消息,但是相同的方法论也可以用于其它应用。例如,也可使用本发明来执行从远程服务器的文件传送、或者电子邮件的检索或发送。另一个应用程序是虚拟专用网络(VPN)的用户。假设用户正在通过VPN访问企业网并且正在下载文件。在这个示例中,ALE客户端软件收集用户输入,诸如文件名称、目标目录/路径(如果可应用的话)以及应用程序名称(诸如FTP、PPT),并且构造多部分消息并将其朝位于企业网中的ALE服务器转发。ALE客户端软件然后同时起动本地应用程序和客户端协议实体以接收多部分消息的响应。在接收到后,ALE服务器软件解析多部分消息并将它转发到对应的接收器,与在先前示例中一样。另一个考虑是收集和处理用户数据所用的方法。在移动手机环境中,为了起动语音呼叫,用户录入期望的电话号码,然后点击“呼叫”按钮。这在本发明中称为“后缀应用程序启动”,因为在激活应用程序之前录入应用程序数据。由此,语音应用程序在被激活时使用先前录入的输入作为参数。然而对于web浏览应用程序,在现有技术中,用户启动web浏览器,其呈现输入窗口,并且OS环境将键盘输入绑定到浏览器的输入窗口。在其它OS和浏览器环境中,用户需要指向浏览器输入窗口(例如工具条)然后键入输入。在录入输入例如www. yahoo, com之后,如果用户想要使用不同的浏览器,例如FireFox代替Internet Explorer,则用户必须启动新应用程序,然后重新录入输入。虽然诸如剪切和粘贴以及其它键盘/指示装置操作的机制试图减少用户点击,但是它们在移动手机装置上是麻烦的。本发明还定义类似于语音呼叫激活的应用程序激活的后缀类型。在本发明的后缀应用程序激活方法中,OS组件诸如外壳或输入驱动器或者新软件应用程序(部分ALE客户端)收集与任何应用程序都不相关联的输入。“ALE客户端”缓冲用户输入,并在应用程序激活时将它传递给应用程序,类似于拨打语音呼叫。ALE客户端软件处理缓冲的输入,并基于所选的应用程序、自动完成和为应用程序启动所需的动作而建立上下文。例如,如果用户输入是“yahoo”并且激活的应用程序是浏览器,则ALE客户端软件确定DNS查找、TCP连接和HTTP请求是所需的。备选地,ALE客户端软件向激活的应用程序传递缓冲的输入,该应用程序解析输入并确定所需的步骤,诸如DNS查找、TCP连接和 HTTP请求等。这个后一方法要求应用程序(例如web浏览器)并行处理步骤,而不用发出每个请求并在继续下一步骤之前等待响应。上面描述的后缀方法便于通过输入处理器保留先前录入的不相关联输入并传递到启动的下一应用程序而对多个应用程序传递相同的输入。本发明中定义的后缀启动方法便于向备选目的地发送相同的应用程序参数组 (而不用用户首先录入或激活应用程序,然后录入每个应用程序的参数)或者向相同目的地发送相同参数和不同本地应用程序。例如,命令
Yahoo,黄页,餐馆,(IE7,FireFox)
可以导致生成两个多部分消息,第一分组具有IE7浏览器参数而第二分组具有 FireFox参数,并且归属服务器(或代理)建立到客户端的两个连接,由此减少用户在用不同目标服务器或客户端应用程序来实现相同目标时将必须采取的串行步骤。本文描述的所有应用程序和软件都是在计算机可读介质上含有的计算机可执行指令。例如,软件和应用程序可存储在只读存储器、可重写存储器中或在嵌入式处理单元内。这个软件在其上执行的具体计算机是应用程序相关的并且不受本发明的限制。
权利要求
1.一种用于减少客户端与一个或多个远程服务器之间通过网络的往返通信的方法, 包括a.提供用于收集来自用户的输入的客户端侧软件应用程序,所述输入选自由软件应用程序标识、软件应用程序参数和远程服务器信息组成的组;b.使用所述客户端侧软件应用程序来分析所述用户输入;确定包含DNS请求的一组所需协议和应用程序步骤;基于所述用户输入来构造多部分消息,其中所述多部分消息包含与多个协议和/或应用程序相关联的部分;以及从所述一个或多个远程服务器接收响应;c.朝支持接收这种多部分消息的网络装置发送所述多部分消息;d.使用所述网络装置来接收所述多部分消息,标识所述多部分消息的所述DNS请求部分,将域名解析为应用程序服务器的地址,并从所述多部分消息中移除所述DNS请求;e.使用所述网络装置来朝所述应用程序服务器转发所述多部分消息的其余部分;f.使用所述应用程序服务器来接收所述多部分消息的所述其余部分,标识所述消息的网络协议部分,完成与所述客户端装置的协议握手;以及g.使用所述应用程序服务器来解码所述多部分消息中包含应用程序参数的部分,并通过在步骤f中建立的网络连接向所述客户端发送应用程序响应。
2.如权利要求1所述的方法,其中所述协议握手和所述应用程序响应在多部分响应消息中发送到所述客户端。
3.如权利要求1所述的方法,其中所述网络装置在接收到所述多部分消息之后执行如下步骤a.识别出所述多部分消息中它支持的部分;b.确定所述部分的参数;c.用所述确定的参数来填充所述多部分消息的其它部分;以及d.朝应用程序服务器转发所述多部分消息。
4.如权利要求3所述的方法,其中所述网络是DNS服务器,所述确定的参数包括所述应用程序服务器的IP地址,并且所述网络装置将所述IP地址填充到所述多部分消息的网络协议部分中。
5.如权利要求3所述的方法,其中所述应用程序服务器接收由所述网络装置转发的所述多部分消息的其余部分,并且完成处理多部分消息的所述其余部分。
6.如权利要求5所述的方法,其中所述多部分消息的所述其余部分的所述处理包括 建立与所述客户端的传输层连接,并且向所述应用程序服务器转交所述应用程序请求。
7.如权利要求3所述的方法,其中第二网络装置接收所述转发的多部分消息,并且在接收到所述多部分消息之后,执行如下步骤a.处理所述消息的一部分;b.移除所述消息的所述处理的部分;c.从完成的处理来填充其余消息的一部分;以及d.朝所述应用程序服务器转发所述其余消息。
8.如权利要求1所述的方法,其中所述客户端侧软件应用程序接收用户输入,并且确定用于完成所述用户请求的对应网络协议以及所述客户端装置中的相关联应用程序。
9.如权利要求1所述的方法,其中所述网络装置接收所接收多部分消息的每部分的响应,构造多部分响应消息,并向所述客户端发送所述响应。
10.如权利要求1所述的方法,其中所述网络装置在标识所述多部分消息的所述DNS 请求部分之后向所述客户端发送DNS响应,并将所述域名解析为应用程序服务器的地址。
11.一种用于减少客户端与一个或多个远程服务器之间通过因特网的往返通信的方法,包括a.使用客户端装置中的软件应用程序来构造多部分消息,所述多部分消息包括从自所述客户端装置的用户接收的输入中导出的应用程序和网络协议部分,其中所述网络协议部分包括DNS请求、TCP SYN请求和/或UDP/应用程序数据以及其它网络/传输协议信息,并且所述应用程序部分包括对应的应用程序信息,并且其中所述协议和应用程序部分只包括在所述客户端装置中可用的本地信息,并且其中在所述客户端中不可用的信息被标记成这样使得由所述一个或多个远程服务器填充,b.朝所述一个或多个远程服务器发送所述多部分消息。
12.如权利要求11所述的方法,还包括a.使用所述客户端装置中的所述软件应用程序来标识和启动本地应用程序和网络协议实体,接收并处理来自所述多部分消息的响应。
13.如权利要求11所述的方法,其中所述应用程序部分包括选自由本地已知的地理位置信息、对蜂窝网络环境中的所述客户端装置已知的扇区、小区或区域信息、和时刻信息组成的组的信息。
14.如权利要求11所述的方法,其中所述对应的应用程序信息包括http请求。
15.如权利要求11所述的方法,其中在所述客户端中不可用的所述信息包括IP地址。
16.一种用于减少客户端与一个或多个远程服务器之间通过网络的往返通信的方法, 包括a.提供用于收集来自用户的输入的客户端侧软件应用程序,所述输入选自由软件应用程序标识、软件应用程序参数和远程服务器信息组成的组;b.使用所述客户端侧软件应用程序来分析所述用户输入;确定包含DNS请求的一组所需协议和应用程序步骤;基于所述用户输入来构造多部分消息,其中所述多部分消息包含与多个协议和/或应用程序相关联的部分;并且从所述一个或多个远程服务器接收响应;c.朝支持接收这种多部分消息的代理装置发送所述多部分消息;d.在所述客户端与所述远程服务器之间的路径中定位所述代理装置,其中所述代理执行如下步骤i.标识所述多部分消息的一部分; .通过使用来自所述部分的信息构造对应的标准消息来执行所述消息的该部分的代理操作;iii.向相关服务器转发所述标准消息;iv.从所述相关服务器接收响应;v.并向初始服务器返回响应。
17.如权利要求16所述的方法,其中所述代理装置还执行如下步骤a.用从所述相关服务器接收的所述响应来填充所述多部分消息的适当部分;b.通过如下步骤来处理所述多部分消息的下一部分i.通过使用来自所述填充部分的信息构造第二对应的标准消息来执行所述多部分消息的所述下一部分的代理操作; .向第二相关服务器转发所述第二标准消息;iii.从所述第二相关服务器接收响应;iv.并向初始服务器返回第二响应。
18.如权利要求16所述的方法,其中所述代理装置当与所述远程服务器通信时利用标准消息。
19.如权利要求16所述的方法,其中所述代理位于无线电接入网中以减少无线网络中的往返。
20.如权利要求16所述的方法,其中所述代理位于公共陆地移动网(PLMN)中。
21.如权利要求20所述的方法,其中所述代理位于GGSN与因特网之间。
22.如权利要求16所述的方法,其中所述代理收集所述接收的多部分消息的每部分的响应,构造多部分响应消息,并向所述客户端发送所述响应。
23.一种分离用户输入和应用程序启动的方法,包括a.提供用于与应用程序激活或启动无关地收集用户输入的软件应用程序;其中所述软件应用程序i.接受所述用户在其中提供所述应用程序参数、协议类型和应用程序名称的用户输入;以及 .生成多部分消息;其中所述多部分消息包括可标识部分,其中每个部分含有哪个应用程序或协议应该处理该部分的唯一标识以及对应的本地协议参数和选项。
24.如权利要求23所述的方法,其中所述应用程序允许所述用户指定多个应用程序、 协议或目标。
25.如权利要求23所述的方法,其中所述应用程序以后缀格式接收所述用户输入。
全文摘要
公开了用于通过网络管道传送、捎带和传输跨层参数以减少往返时间的方法。应用程序激活,诸如通过因特网访问网站,当前使用几种协议,包括DNS名称解析、建立TCP连接、发送HTTP请求和得到含有网页数据的HTTP响应,之后可以向用户显示来自网站的数据。这种操作采取通过转接网的几次往返,并且在最好的情况下在无线接入网中大约是100到200毫秒。公开了一种生成多部分消息以减少这些往返的方法、以及一种最小化客户端侧往返同时利用有线网络中的标准消息传送的代理装置。本发明包括当指定应用程序开头(前缀)或指定应用程序结尾(后缀)时的客户端侧用户参数收集。
文档编号G06F15/167GK102171673SQ200980139491
公开日2011年8月31日 申请日期2009年8月5日 优先权日2008年8月6日
发明者R·拉哈文, S·K·科瓦尔 申请人:莫维克网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1