CN103125108A - 建立发射控制协议连接的***和方法 - Google Patents

建立发射控制协议连接的***和方法 Download PDF

Info

Publication number
CN103125108A
CN103125108A CN2011800456841A CN201180045684A CN103125108A CN 103125108 A CN103125108 A CN 103125108A CN 2011800456841 A CN2011800456841 A CN 2011800456841A CN 201180045684 A CN201180045684 A CN 201180045684A CN 103125108 A CN103125108 A CN 103125108A
Authority
CN
China
Prior art keywords
tcp
url
condition
rto
satisfies
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.)
Granted
Application number
CN2011800456841A
Other languages
English (en)
Other versions
CN103125108B (zh
Inventor
拉吉夫·K·维贾亚库马尔
伊德列阿斯·米尔
萨姆森·吉姆
马克·巴普斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN103125108A publication Critical patent/CN103125108A/zh
Application granted granted Critical
Publication of CN103125108B publication Critical patent/CN103125108B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

本发明揭示一种建立发射控制协议TCP连接的方法,并且所述方法可包括作为超文本传送协议HTTP请求的一部分接收统一资源定位符URL。此外,所述方法可包括使用所述URL搜索主机数据库和确定所述URL的主机数据是否可供使用。所述方法还可包括针对URL主机和针对一个或一个以上子资源主机执行域名业务DNS查找,其中所有DNS查找是在所述URL的主机数据可供使用时在大体上相同时间并行执行的。

Description

建立发射控制协议连接的***和方法
技术领域
背景技术
便携式计算装置(PCD)普遍存在。这些装置可包括蜂窝式电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机以及其它便携式电子装置。许多这些便携式计算装置包括网络浏览器,其可以允许用户接入因特网,以便下载内容、查看内容等等。通常,当用户将统一资源定位符(URL)输入到网络浏览器中时,针对所述URL执行DNS查找,并且可建立发射控制协议(TCP)连接。然后,可针对所述URL从主机服务器接收主HTML文件或主资源。所述主HTML文件可使网络浏览器指向一个或一个以上额外主机服务器,以便请求并得到一个或一个以上子资源。所述用于执行额外主机服务器的DNS查找且建立TCP连接的过程可能实质上缓慢,并且可能需要大量的开销。
所以,需要一种建立发射控制协议连接的改进的***和方法。
发明内容
附图说明
在图式中,除非另有指示,否则相同参考标号贯穿各种视图指代相同部分。
图1是处于封闭位置的便携式计算装置(PCD)的第一方面的前视平面图;
图2是处于打开位置的PCD的所述第一方面的前视平面图;
图3是PCD的第二方面的框图;
图4是建立无线便携式计算装置的TCP连接的***的软件架构的第一方面的图;
图5是说明建立TCP连接的方法的第一方面的流程图的第一部分;
图6是说明建立TCP连接的方法的第一方面的流程图的第二部分;
图7是说明建立TCP连接的方法的第二方面的流程图;
图8是说明建立TCP连接的方法的第二方面的流程图的第一部分;
图9是说明建立TCP连接的方法的第三方面的流程图的第二部分;
图10是说明建立发射控制协议(TCP)连接的方法的第四方面的流程图;
图11是说明建立TCP连接的方法的第五方面的流程图;以及
图12是说明建立TCP连接的方法的第六方面的流程图。
具体实施方式
本文中使用词语“示范性”意指“充当实例、例子或说明”。本文中描述为“示范性”的任何方面不必解释为比其它方面优选或有利。
在此描述中,术语“应用程序”还可包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件以及补码。此外,本文中提到的“应用程序”还可包含实质上不可执行的文件,例如可能需要打开的文档或其它需要存取的数据文件。
术语“内容”还可包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件以及补码。此外,本文中提到的“内容”还可包括实质上不可执行的文件,例如可能需要打开的文档或其它需要存取的数据文件。
本描述中使用的术语“组件”、“数据库”、“模块”、“***”及其类似物是既定参考计算机相关实体,其是硬件、固件、硬件与软件的组合、软件或执行中软件。举例来说,组件可为但不限于在处理器上运行的过程、处理器、对象、可执行码、执行线程、程序和/或计算机。借助于说明,在计算装置上运行的应用程序以及所述计算装置两者都可能是组件。一个或一个以上组件可驻留在过程和/或执行线程内,且组件可局限于一个计算机上和/或分布在两个或两个以上计算机之间。此外,这些组件可从各种计算机可读媒体执行,所述计算机可读媒体具有存储在其上的各种数据结构。组件可借助于本地和/或远程过程通信,例如,根据具有一个或一个以上数据包(例如,来自一个组件的数据,所述组件与本地***、分布式***和/或借助于信号跨越例如因特网的网络与其它***中的另一组件相互作用)的信号。
首先参看图1和图2,展示了示范性的便携式计算装置(PCD),并且其总体上标示为100。如图所示,PCD100可包括外壳102。外壳102可包括上部外壳部分104以及下部外壳部分106。图1展示上部外壳部分104可包含显示器108。在特定方面中,显示器108可能是触摸屏显示器。上部外壳部分104还可包括轨迹球输入装置110。另外,如图1所示,上部外壳部分104可包括通电按钮112以及断电按钮114。如图1所示,PCD100的上部外壳部分104可包括多个指示灯116以及一个扬声器118。每一指示灯116可能是发光二极管(LED)。
在特定方面中,如图2中所描绘,上部外壳部分104可以相对于下部外壳部分106移动。具体来说,上部外壳部分104可以相对于下部外壳部分106滑动。如图2所示,下部外壳部分106可包括多按钮键盘120。在特定方面中,多按钮键盘120可以是标准QWERTY键盘。多按钮键盘120可以在上部外壳部分104相对于下部外壳部分106移动时露出。图2进一步说明PCD100可包括位于下部外壳部分106上的复位按钮122。
参看图3,展示了便携式计算装置(PCD)的示范性的非限制性方面,且其总体上标示为100。如图所示,PCD100包括芯片上***322,其包括数字信号处理器324和模拟信号处理器326,二者耦合在一起。芯片上***322可包括两个以上处理器。举例来说,所属领域的技术人员应理解,芯片上***322可包括多核处理器和ARM11处理器。
如图3中所说明,显示器控制器328和触摸屏控制器330耦合到数字信号处理器324。而在芯片上***322外部的触摸屏显示器108又耦合到显示器控制器328和触摸屏控制器330。
图3进一步说明视频编码器334(例如逐行倒相(PAL)编码器、顺序传送彩色与存储(SECAM)编码器或全国电视***委员会制式(NTSC)编码器)耦合到数字信号处理器324。此外,视频放大器336耦合到视频编码器334和触摸屏显示器108。此外,视频端口338耦合到视频放大器336。如图3中所描绘,通用串行总线(USB)控制器340耦合到数字信号处理器324。此外,USB端口342耦合到USB控制器340。存储器344和订户身份模块(SIM)卡346也可耦合到数字信号处理器324。此外,如图3中所示,可将数码相机348耦合到数字信号处理器324。在示范性方面中,数码相机348是电荷耦合装置(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如图3中进一步说明,立体声音频编解码器350可耦合到模拟信号处理器326。此外,音频放大器352可耦合到立体声音频编解码器350。在示范性方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图3展示了麦克风放大器358也可以耦合到立体声音频编解码器350。另外,麦克风360可耦合到麦克风放大器358。在特定方面中,调频(FM)无线电调谐器362可耦合到立体声音频编解码器350。此外,FM天线364耦合到FM无线电调谐器362。此外,立体声头戴式耳机366可耦合到立体声音频编解码器350。
图3进一步说明,射频(RF)收发器368可耦合到模拟信号处理器326。RF开关370可耦合到RF收发器368和RF天线RF天线372。如图3所示,小键盘374可耦合到模拟信号处理器326。此外,具有麦克风的单声道耳机376可耦合到模拟信号处理器326。此外,振动器装置378可耦合到模拟信号处理器326。图3还展示了电力供应器380可耦合到芯片上***322。在特定方面中,电力供应器380是直流电(DC)电力供应器,其向PCD100的需要电力的各种组件提供电力。另外,在特定方面中,电力供应器是可再充电的DC电池或DC电力供应器,其来源于连接到AC电源的交流电(AC)/DC变压器。
图3进一步说明PCD100还可包括网卡388,其可用于接入数据网络,例如局域网、个域网或任何其它网络。网卡388可以是蓝牙网卡、WiFi网卡、个域网(PAN)卡、个域网超低电力技术(PeANUT)网卡,或在本领域中众所周知的任何其它网卡。另外,可将网卡388并入到芯片中,即,网卡388可能是芯片中的完整解决方案并且可能不是单独的网卡388。
图3展示了PCD100还可包括网络浏览器382,其可存储在存储器344内。网络浏览器382可用于搜索因特网、接入在线内容、下载电影、下载音乐、观看电影或其组合。
如图3中所描绘,触摸屏显示器108、视频端口338、USB端口342、相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声头戴式耳机366、RF开关370、RF天线372、小键盘374、单声道耳机376、振动器378以及电力供应器380在芯片上***322的外部。
在特定方面中,本文所述的方法步骤中的一者或一者以上可作为计算机程序指令(例如,作为网络浏览器382的一部分)存储在存储器344中。这些指令可由处理器324、326执行,以便执行本文中所述的方法。此外,处理器324、326、存储器344、网络浏览器382或其组合可充当用于执行本文所述的方法步骤中的一者或一者以上以便建立一个或一个以上TCP连接的装置。
图4是为无线便携式计算装置100建立TCP连接的应用程序子***402的软件架构的第一方面的图。应用程序子***402可包含移动网络浏览器382,其由数字信号处理器或中央处理单元324(见图3)执行,且其可支持需要一个或一个以上TCP连接的网页。
如所属领域的技术人员所理解且如下文所述,移动网络浏览器应用程序或模块382可与驻留在因特网协议(“IP”)层422上的传送通信协议(“TCP”)模块416A-C通信。
如所属领域的技术人员所理解,IP层422与网络缓冲层424通信。IP层422与调制解调器子***404通信,所述调制解调器子***由第二中央处理单元或模拟信号处理器326(参见图3)执行。
移动网络浏览器模块382包含HTTP堆栈412和域名服务器模块414。网络浏览器模块382可以是动态的,因为其可连续地监视应用程序子***402以及调制解调器子***404的元件。
如所属领域的技术人员所理解,网络浏览器382的DNS模块414可负责将基于文本的域名翻译成数字因特网协议(IP)地址。DNS模块414可将IP地址传达回到HTTP堆栈412,HTTP堆栈412又可将其中继到TCP连接模块416A-C中的一者。
当HTTP堆栈412从TCP连接模块416A-C中的一者传回元对象(例如网页)时,HTTP堆栈模块412还可向客户端网络浏览器模块382提供某些状态信息。状态信息可包括但不限于:高速调度控制信道(“HS-SCCH”)有效状态,高速传输块大小(“HS-TBS”),第一层块错误率(“L1BLER”),无线电链路控制协议数据单元(“RLC PDU”)大小,无线电链路控制下行链路业务数据单元(“RLC DL SDU”)接收(“Rx”)字节,高速下行链路分组接入(“HSDPA”)用户设备(“UE”)类别,媒体接入控制上行链路缓冲区状态报告(“MAC UL BSR”),增强型上行链路发射时间间隔(“EUL TTI”),增强型传输格式组合索引(“ETFCI”)表格索引,ETCFI,新发射(“Tx”)次数;无线电链路控制上行链路业务数据单元(“RLC UL SDU”)字节发射(“Tx”);分集发射/分集接收(“DTX/DRX”)模式,增强型上行链路用户设备(“EUL UE”)类别,媒体接入控制发射层传输块大小(“MAC TL TBS”),分组数据汇聚协议下行链路业务数据单元(“PDCP DL SDU”)字节接收(“Rx”),媒体接入控制上行链路传输块大小(“MAC UL TBS”),分组数据汇聚协议上行链路业务数据单元(“PDCP UL SDU”)字节发射(“Tx”),以及用户设备类别(“UE类别”)。
如所属领域的技术人员所理解,传输控制协议(“TCP”)连接模块416A-C在通用连网的开放***互连(“OSI”)模型的传输层中操作。TCP连接模块416负责将应用程序数据块封装到适合于传送到网络基础结构以向目的地主机发射的数据单元(数据报、片段)中,或者通过抽取网络数据报且将其有效负载传递到移动网络浏览器382来管理反向事务。
TCP连接模块416可提供信息,其包含但不限于重新发射超时(“RTO”),公告接收器窗(“Rx窗”),发射-接收器处理量(“Tx/Rx处理量”),包统计数据,TCP连接总数,估计往返时间(“RTT”),接收字节数目,循序包数目,以及TCP发射窗大小。
因特网协议(“IP”)模块422与TCP连接模块416和网络缓冲层424通信。IP模块422的任务是将来自移动网络浏览器的突出的协议数据报(包)基于其地址传递到服务器。IP模块422定义数据报封装的寻址方法和结构。IP模块422可利用第四版因特网协议(“IPv4”)以及第六版因特网协议(“IPv6”),其在本文件中有效部署。然而,其它版本的因特网协议(包括尚未研发的将来的因特网协议)也包括在本发明的范围内。
网络缓冲层424与IP模块422和调制解调器子***404通信。网络缓冲层424可含有所有硬件特定接口方法,例如以太网和其它IEEE802封装方案。网络缓冲层424可探测本地网络的拓扑。其可发现路由器和相邻主机,且其可负责发现链路上的其它节点。网络缓冲层424可确定其它节点的链路层地址,找到可用的路由器,并维护关于到其它活动邻近节点的路径的可到达性信息。
网络浏览器模块382可与http堆栈412以及TCP模块416通信。网络浏览器模块382还可与一个或一个以上传感器(例如卫星导航***模块,如全球定位***(GPS)模块438)通信。
调制解调器子***404可包含无线电链路控制(“RLC”)层434,媒体接入控制(“MAC”)层432,物理(“PHY”)层430,无线电-中继器控制(“RRC”)模块456,以及卫星导航***,如全球定位***(“GPS”)143。调制解调器子***404的这些元件可负责与例如图3中所说明的RF收发器368的通信硬件通信。
调制解调器子***404的所述元件中的每一者可向网络浏览器模块382发送消息或从其接收查询。举例来说,RRC模块436可传达信息,例如(但不限于)高速下行链路分组接入(“HSDPA”)类别信息,增强型上行链路层(“EUL”)类别信息,以及不连续接收/发射(“DRX/DTX”)配置(“Config”)信息。
RLC模块434可传达处理量以及无线电链路控制(“RCL”)协议数据单元(“PDU”)大小。MAC层432可传达上行链路(“UL”)信息,例如(但不限于)缓冲区状态报告(“BSR”)信息和增强型专用信道(“EDCH”)传输格式(“TF”)信息。物理层430可传达下行链路(“DL”)信息,例如(但不限于)高速传输块大小(“HS-TBS”),调制,信道质量指示(“CQI”),块错误率(“BLER”)测量,多输入/多输出(“MIMO”),接收器(“Rx”)自动增益控制(“AGC”),以及均衡器集成电路(“EQ/IC”)接收器(“Rx”)分集(“D”)。物理层430还可传达上行链路(“UL”)信息,例如(但不限于)BLER,调制,以及发射器(“Tx”)自动增益控制(“AGC”)。
如所属领域的技术人员所理解,RRC模块436、RLC模块434、MAC模块432以及PHY模块430可形成演进型高速分组接入***(“HSPA”)816(见以下图8)。同时,GPS模块438可向网络浏览器模块382提供信息,例如(但不限于)便携式计算装置100的位置和速度或速率。
通过监视应用程序子***402和调制解调器子***404的元件,网络浏览器模块382可通过监视无线网络条件以及便携式计算装置100自身的条件而允许无线便携式计算装置100智能地选择将可能被PCD100的操作员查看的网页。网络浏览器模块382可通过使用监视到的条件来确定将从服务器下载的网页的适当位速率是多少来确定其应当加载的网页的大小和类型。
基于由应用程序子***402和调制解调器子***404提供的数据的一些监视到的条件包括但不限于:存储器条件,包括当前缓冲区的大小和缓冲区的增长被便携式计算装置100消耗的速率;当前和历史WWAN带宽;当前和历史WWAN信号强度;可用IP套接字数据连接的数目;总体视频剪辑长度估计,并且接着是基于信噪比历史/直方图和基于位置的服务(“LBS”)估计网页的每一文件区段的每一统一资源定位符(“URL”)下载时间;通过使用基于位置的技术(例如GPS模块143)通过小区塔识别三角测量或精确经纬度所计算出的便携式计算装置100的速度速率;以及使用加速度计和/或LBS的便携式计算装置100的行进方向。
网络浏览器模块382可计算预定时段,其必须被维持,或者使用较低位速率,直到信噪比持续保持较高和/或BLER持续保持较低为止。网络浏览器模块382还可“打开”或“关闭”调制解调器子***404中的任何类型的接收分集功能,以便使理想网络情形期间的功率最小化,例如当便携式计算装置100静止时,或者当便携式计算装置100正在相对低速条件下操作时,或者当用户正在带着便携式计算装置100行走时。
在操作期间,TCP连接模块416A-C可向网络浏览器382提供连接信息,并且网络浏览器382可使用连接信息以便促进其它TCP连接的高效建立、使用现存的TCP连接,或者其组合。连接信息可包括TCP重新发射超时(RTO)估计,TCP接收窗大小,最后故障包或其组合。
PHY模块430、MAC模块432、RLC模块434、RRC模块436、GPS438或其组合可向网络浏览器382提供调制解调器子***信息。网络浏览器382还可使用调制解调器子***4040信息,以便促进其它TCP连接的高效建立、使用现存的TCP连接,或者其组合。调制解调器子***信息可包括GPS垂直速度、GPS水平速度、HSPA下行链路(DL)的能实现的最大处理量(TP)、HSPA DL的当前TP,或其组合。
可以理解,如本文中所述,网络浏览器382可使用连接信息、调制解调器子***信息或其组合,以便建立新TCP连接或再利用现存的TCP连接。
在典型便携式计算装置(例如移动电话)中,网络浏览器382可从主要主机服务器加载主资源,即主HTML文件。主资源通常包含在用户在链接上点击或输入统一资源定位符(URL)时因特网网络浏览器下载的第一资源。对于网页来说,这通常是超文本标记语言(HTML)文件。如果用户在到图像的链接上点击,则其可以是图像文件,但通常网页的主或主要资源始终是HTML文件。HTML文件通常是仅有的可具有子资源的类型的资源。此外,所属领域的技术人员将术语“HTML”理解为包括XHTML或HTML5。
同时,子资源通常是在主资源内参考或指定的额外文件。通常需要子资源才能完整且正确地显示网页。子资源可以是各种类型的文件,包括但不限于其它第二HTML文件(相对于由第一HTML文件参考的主或第一HTML文件(主资源)的文件)、CSS文件、JavaScript文件、闪存文件和图像文件。
主要主机可将网络浏览器导引到一个或一个以上次要主机服务器,所述次要主机服务器各自具有不同域名。对于每一不同域名,在建立TCP连接之前执行DNS查找。逐次执行的增加的DNS查找可能会实质性减缓TCP连接的建立,和网络浏览器对资源和子资源的检索。本文揭示的方法和***可实质性加快DNS查找和TCP连接的建立。
参看图5和图6,展示了建立TCP连接的方法的第一方面,并且大体上将其标示为500。方法500可在框502中从一个do环路开始,其中当将统一资源定位符(URL)输入到网络浏览器中时,执行以下步骤。URL可以是超文本传送协议(HTTP)请求的一部分。在框504中,网络浏览器382可用当前URL来搜索在存储器资源334内维护的主机数据库403。主机数据库403可包含通过URL来加索引的一列表的主机,如服务器。这些列表的主机是含有与URL相关联的内容最后一次被加载在装置上时针对特定URL加载的资源和子资源的服务器。当PCD100的用户导航到特定URL时,可咨询数据库403,并且如果找到条目,则针对数据库条目中列举的每一主机(在发布任何GET命令之前)与主资源加载并行地执行DNS查找和TCP连接。
移动到决策框506,网络浏览器382可确定对于当前URL主机数据是否可供使用。如果对于当前URL主机数据不可供使用,则方法500可继续到图6的框602。举例来说,当首次接入特定URL时,主机数据可能不可使用。
返回到决策框506,如果对于当前URL主机数据可供使用,则方法500将继续到框508,并且网络浏览器382可针对URL主机并针对主机数据中记录的每一子资源主机执行DNS查找。各种查找可大体上并行(即,大体上同时)执行。移动到框510,网络浏览器382可使用图4的TCP模块416中的一者来针对URL主机并针对主机数据中记录的每一子资源主机建立TCP连接。TCP连接可大体上并行建立,即TCP连接可大体上同时建立。在框512中,网络浏览器382可将来自URL主机的所有资源和来自所有子资源主机的所有子资源加载到存储器资源344中。
继续到决策框514,网络浏览器382可确定是否完整地加载了与URL相关联的网页。如果未完整加载,则方法500可返回到框512并如本文所述继续。否则的话,如果完整加载了与URL相关联的网页,则方法500可继续到框516,并且网络浏览器382可用针对与当前URL相关联的最近页加载而接触的实际一组主机来更新主机数据库403。
在决策框518中,网络浏览器382可确定是否输入了另一URL。如果输入了,则方法500可返回到框504,并且方法500可如本文所述继续。相反,如果未输入另一URL,则方法500可继续到框520,并且网络浏览器382可维护主机数据库403。在特定方面中,可通过URL名称为主机数据库403加索引。然后,方法500可结束。
返回到决策框506,如果对于当前URL主机数据不可供使用,则方法500可移动到图6的框602。在框602中,网络浏览器382可针对URL主机执行DNS查找。在框604中,网络浏览器382可使用图4的TCP模块416中的一者为URL主机建立TCP连接。此外,在框606中,网络浏览器382可针对URL主机执行HTTP GET命令。在框608中,网络浏览器382可从URL主机接收资源。在框610中,网络浏览器382可将来自URL主机的资源加载到存储器资源344中。
移动到框612,网络浏览器382可针对子资源主机执行DNS查找。随后,在框614中,网络浏览器382可为子资源主机建立TCP连接。在框616中,网络浏览器382可针对子资源主机执行HTTP GET命令。在框618中,网络浏览器382可从子资源主机接收子资源。此外,在框620中,网络浏览器382可加载从子资源主机接收的子资源。
继续到决策框622,网络浏览器382可确定对于当前URL是否存在另一子资源。如果存在,则方法500可返回到框612,并且方法500可如本文所述继续。在决策框622中,如果针对当前URL不存在另一子资源,则方法500可继续到框624,并且网络浏览器382可记录从其加载了当前URL的子资源的所有子资源主机。然后,在框626中,网络浏览器382可将当前主机数据存储在主机数据库内。在框628中,网络浏览器382可使当前子资源主机数据与当前URL相关联。随后,方法500可返回到图5的决策框518,并且方法500可如本文所述从决策框518继续。
现在参看图7,展示了建立TCP连接的方法的第二方面并且将其总体上标示为700。为了清楚起见,在PCD100、DNS服务器704、第一主机服务器706A和第二主机服务器706B的上下文中描述方法700。
在步骤710和712中开始,PCD100可将第一查询和第二查询发射到DNS服务器704。第一查询711A和第二查询711B可并联发射,即,在实质上相同时间发射。在步骤714A和714B中,PCD100可从DNS服务器704接收第一响应和第二响应。第一响应714A可将PCD100导引到第一主机706A,并且第二响应714B可将PCD100导引到第二主机706B。第一主机706A可提供将在PCD100中(例如,在网络浏览器382中)加载的一个或一个以上主要资源,并且第二主机706B可提供一个或一个以上子资源。
在步骤718中,PCD100可将第一HTTP GET命令715A发射到第一主机706。此外,在步骤720中,PCD100可将第二HTTP GET命令715B发射到第二主机708。HTTPGET命令715A、715B可并联发射,即,在实质上相同时间发射。在步骤722中,PCD100可从第一主机706A接收一个或一个以上主资源717A-C。此外,在步骤724中,PCD100可从第二主机708接收一个或一个以上子资源719A、719B。
在特定方面中,PCD100中的网络浏览器382可加载主资源,即,主HTML文件,并且随后,PCD100中的网络浏览器382可加载子资源。一旦被加载,主资源和子资源便可建立网页,用于经由PCD100中的显示器来观看。
现在参看图8和图9,展示了建立一个或一个以上发射控制协议(TCP)连接的方法的第三方面,并且将其总体上标示为800。在步骤802中开始,GPS监视器804可监视或以其它方式确定与便携式计算装置(PCD)相关联的GPS垂直速度。在步骤806中,GPS监视器804可确定与PCD相关联的GPS水平速度。然后,在步骤808中,GPS监视器804可将GPS垂直速度输出到网络浏览器382。此外,在步骤812中,GPS监视器802可将GPS水平速度输出到网络浏览器382。
移动到步骤814,高速包接入(HSPA)***816(上文所描述的)可确定HSPA下行链路(DL)的能实现的最大处理量(TP)。此外,在步骤818中,HSPA***816可确定HSPA DL的当前TP。在步骤820中,HSPA***816可将HSPADL的能实现的最大TP输出到网络浏览器382。此外,在步骤822中,HSPA***816可将HSPA DL的当前TP输出到网络浏览器382。
在步骤824中,发射控制协议(TCP)模块416可确定TCP重新发射超时(RTO)的估计。另外,在步骤828中,TCP模块416可确定TCP接收窗大小。在步骤830中,TCP模块416可确定最后故障包830。移动到步骤832,TCP模块416可将TCP RTO估计输出到网络浏览器382。此外,在步骤834中,TCP模块416可将TCP接收窗大小输出到网络浏览器382。
继续到框836,网络浏览器382可确定移动速度。移动速度可使用下式确定:
移动速度=√(vertspeed2+horzspeed2)
其中,
vertspeed是在步骤802中确定的GPS垂直速度;以及
horzspeed是在步骤804中确定的GPS水平速度。
在框838中,网络浏览器382可根据下式确定HSPA TP余裕空间:
HSPA TP余裕空间=最大TP-当前TP
其中,
最大TP是在步骤814中确定的能实现的最大HSPATP;以及
当前TP是在步骤818中确定的当前HSPADL TP。
在框840中,网络浏览器382可计算估计TP余裕空间。举例来说,如果移动速度满足移动速度条件,则可将TP余裕空间计算为零。否则的话,如果移动速度并不满足移动速度条件,则可将TP余裕空间设置为等于上文在步骤838中确定的TP HSPA余裕空间。移动速度条件可以是移动速度阈值,并且如果移动速度大于阈值,则可视为满足移动速度条件。举例来说,所述阈值可以是每小时一英里,每小时两英里,每小时三英里等等。从框840开始,方法800可继续到图9的框902,并且随后方法800可如下文所描述继续。
继续到框842,网络浏览器382可根据下式确定TCP窗利用率大小:
TCP窗利用率=HSPA DL TP*TCP RTO/TCP接收窗大小
其中,
HSPA DL TP是在步骤818中确定的当前HSPA DL TP;
TCP RTO是在步骤824中确定的TCP RTO估计;以及
TCP接收窗大小是在步骤828中确定的TCP接收窗大小。
从框842开始,方法800可继续到图9的框902,并且随后方法800可如下文所描述继续。
在图9的框902中,网络浏览器382可起始HTTP请求。移动到决策框904,网络浏览器382可确定TCP连接当前是否打开。如果TCP连接当前未打开,则方法800可继续到框918,并且网络浏览器382可打开新TCP连接。然后,方法800可结束。
返回到决策框904,如果网络浏览器382确定TCP连接打开,则方法800可继续到决策框908。在决策框908中,网络浏览器382可确定主机是否在HTTP第1.1版或更高版本上操作。如果主机不是在HTTP第1.1版或更高版本上操作,则方法800可继续到下文描述的框918。然后,方法800可结束。
返回到决策框908,如果主机是在HTTP第1.1版或更高版本上操作,则方法800可继续到决策框912。在决策框912中,网络浏览器382可确定在框840中确定的TP余裕空间是否满足TP余裕空间条件。举例来说,TP余裕空间条件可以是TP余裕空间阈值,并且如果TP余裕空间大于所述TP余裕空间阈值,则所述TP余裕空间可满足TP余裕空间条件。在特定方面中,所述TP余裕空间阈值可包括示范性的值,例如(但不限于)250Kbps、500Kbps和1Mbps等等。
在决策框912中,如果TP余裕空间不大于TP余裕空间阈值,则方法800可继续到框910,并且网络浏览器382可向现存TCP连接提交HTTP请求。然后,方法800可结束。返回到决策框912,如果TP余裕空间大于TP余裕空间阈值,则方法800可继续到决策框914。
在决策框914中,网络浏览器382可确定在步骤824中确定的TCP RTO是否满足TCP RTO条件。举例来说,所述TCP RTO条件可以是TCP RTT阈值,并且如果TCP RTO小于TCP RTT阈值,则TCP RTO可满足TCP RTO条件。在特定方面中,TCP RTT阈值可包括但不限于50ms、200ms等的值。
在决策框914中,如果TCP RTO小于TCP RTT阈值,则方法800可继续到框918,并且网络浏览器382可打开新TCP连接。然后,方法800可结束。返回到决策框914,如果TCP RTO大于(不小于)TCP RTT阈值,则方法800可继续回到上文所描述的步骤910,并且网络浏览器382可向现存的TCP连接提交HTTP请求。
参看图10,展示了建立一个或一个以上发射控制协议(TCP)连接的方法的第四方面,并且将其总体上标示为1000。在框1002中开始,网络浏览器382可估计一个或一个以上网络资源的不久以后的性能。在框1004中,网络浏览器382可预报将要下载的项目的数目。此外,在框1006中,网络浏览器382可预报将要下载的项目的大小。在框1008中,至少部分基于网络资源的不久以后的性能、将要下载的项目的数目、将要下载的项目的大小或其组合,网络浏览器382可利用现存的TCP连接或打开新TCP连接。方法1000可随后结束。
为了估计一个或一个以上网络资源的不久以后的性能,可考虑以下因素:无线电链路度量值、移动性度量值、TCP度量值或其组合。无线电链路度量值可包括块错误率(BLER)、信噪比(SNR)、实现的处理量(TP)、RTT或其组合。
可了解,BLER可以是不正确地传送的数据包的数目除以传送包的数目。SNR可以是信号功率与可能损害信号的噪声功率的比率。处理量可以是通信信道上的成功消息传递的平均速率。处理量可以用位每秒(位/s或bps)来测量。RTT可以是信号脉冲或包从特定来源行进到特定目的地并且再次返回所需的时间。
移动性度量值可包括装置是否静止、装置是否正移动、装置的垂直速度、装置的水平速度、装置的速度或其组合。TCP度量值可包括关于丢弃和故障包的统计数据、当前连接处理量、当前堵塞和接收器窗大小、RTO估计或其组合。
在特定方面中,对于将要下载的其余对象的预报可在已剖析HTML、已建立DOM树且已作出关于哪些所需的对象不在高速缓冲存储器中的确定之后发生。估计未高速缓存的资源的大小可以基于以下各项来确定:一个或一个以上HTTP度量值、mime类型的任何未完成的请求、资源展示文件、高速缓冲存储器中现存的到期内容或其组合。
HTTP度量值可包括:关于未完成的请求的内容长度信息(如果已经接收到标头);从服务器接收到的HTTP版本信息,其可指示服务器是否支持HTTP1.1;或其组合。mime类型的未完成的请求可包括预期的mime类型的新请求。预期的mime类型的新请求可以根据URL和文件扩展名来推断。或者,预期的mime类型可以由浏览器借助封闭标记(例如<img>或<script>)来分开提供。
资源展示文件可包括例如可在gzip文件中获得的页上的内容的索引。可针对资源展示文件优先高速缓存资源展示,无论其是网页支持的还是客户端浏览器建立的。高速缓冲存储器中的现存到期内容可用于估计内容的大小,举例来说,如果高速缓冲存储器中存在12kB的到期脚本,则假定经更新的脚本将具有类似大小是合理的。
以上度量值中的一些或全部将充当对决策框执行引擎的输入,所述引擎将确定打开新套接字、再利用现存的空闲套接字、将请求管线化到现存的繁忙套接字上,或使请求排队以便稍后处理。决策框执行引擎可以是网络浏览器382、网络浏览器应用程序382的一部分(即,插件)、单独的应用程序或其组合。
图11描绘建立一个或一个以上发射控制协议(TCP)连接的方法的第五方面,总体上标示为1100。在框1102中开始,网络浏览器382可起始HTTP请求。移动到决策框1104,网络浏览器382可确定TCP连接当前是否打开。如果TCP连接当前未打开,则方法1100可继续到框1106,并且网络浏览器382可打开新TCP连接。然后,方法1100可结束。
返回到决策框1104,如果网络浏览器382确定TCP连接打开,则方法1100可继续到决策框1108。在决策框1108中,网络浏览器382可确定当前在打开的TCP连接或套接字上接收到的资源或子资源的以位为单位的总大小是否已知。如果已知,则方法1100可继续到框1110,并且网络浏览器382可确定下载完成时间。可以使用下式确定下载完成时间:
DLT=(STot-SRx)/T
其中,
DLT=下载完成时间;
STOT=当前资源的以位为单位的总大小;
SRX=已经接收的位的数目;以及
T=以位每秒为单位的当前下行链路TCP处理量。
从框1110,方法1100可继续到决策框1112。在决策框1112中,网络浏览器382可确定下载完成时间是否满足下载完成时间条件。举例来说,下载完成时间条件可以是RTT,并且如果下载完成时间大于RTT,即如果完成当前资源的下载可能花费的预期时间量大于建立新套接字连接需要的预期时间量,则下载完成时间可满足下载完成时间条件。
在决策框1112中,如果下载完成时间大于RTT,则方法1100可继续到框1106,并且网络浏览器382可打开新TCP连接。然后,方法1100可结束。
返回到决策框1112,如果下载完成时间不大于RTT,则方法1100可继续到框1114,并且网络浏览器382可向现存TCP连接提交HTTP请求。然后,方法1100可结束。
返回到决策框1108,如果STot不是已知的,则方法1100可继续到框1116。在框1116中,网络浏览器可确定平均对象大小SAVG。SAVG可以是基于mime类型的未完成的请求的资源对象的平均大小。可以在逐主机的基础上基于已经从当前主机接收的对象的大小、历史信息或其组合来动态地确定SAVG。在另一方面中,可以基于通过为从多个其它网站接收的类似资源的大小求平均值来计算的预定常量来确定SAVG
从框1116,方法1100可继续到框1118,并且网络浏览器382可确定估计下载完成时间DLEST。可以根据下式确定估计下载完成时间:
DLEST=(SAVG-SRX)/T
其中,
DLEST=估计下载完成时间;
SAVG=以位为单位的平均对象大小;
SRX=已经接收的位的数目;以及
T=以位每秒为单位的当前下行链路TCP处理量。
从框1118,方法1100可继续到决策框1120。在决策框1120中,网络浏览器382可确定估计下载完成时间是否满足估计下载完成时间条件。举例来说,估计下载完成时间条件可以是RTT,并且如果估计下载完成时间大于RTT,则估计下载完成时间可满足所述条件。在决策框1120中,如果估计下载完成时间大于RTT,则方法1100可继续到框1106,并且网络浏览器382可打开新TCP连接。然后,方法1100可结束。
返回到决策框1112,如果估计下载完成时间不大于RTT,则方法1100可继续到框1114,并且网络浏览器382可向现存TCP连接提交HTTP请求。然后,方法1100可结束。
图12描绘建立一个或一个以上发射控制协议(TCP)连接的方法的第六方面,并且将其总体上标示为1200。在框1202中开始,网络浏览器382可起始HTTP请求。移动到决策框1204,网络浏览器382可确定TCP连接当前是否打开。如果TCP连接当前未打开,则方法1200可继续到框1206,并且网络浏览器382可打开新TCP连接。然后,方法1200可结束。
返回到决策框1204,如果网络浏览器382确定TCP连接打开,则方法1200可继续到决策框1208。在决策框1208中,网络浏览器382可确定TCP连接是否在使用受限发射窗大小以避免堵塞。
如果TCP连接未在使用受限发射窗大小以便避免堵塞,则方法1200可继续到框1210。在框1210中,网络浏览器382可向现存TCP连接提交HTTP请求。然后,方法1200可结束。
返回到决策框1208,如果TCP连接在使用受限发射窗大小以避免堵塞,则方法1200可继续到框1206。在框1206中,窗浏览器应用程序可打开新TCP连接。然后,方法1200可结束。
应理解的是,本文中所描述的方法步骤不需要必然按所描述的顺序执行。另外,例如“然后”、“随后”、“接下来”等词并不希望限制所述步骤的顺序。这些词仅用来引导读者浏览对所述方法步骤的描述。此外,将本文中所描述的方法描述为在便携式计算装置(PCD)上可执行的。PCD可以是移动电话装置、便携式数字助理装置、智能本计算装置、上网本计算装置、膝上型计算装置、桌上型计算装置或其组合。此外,不同的方法步骤可以用任何顺序组合以便形成新方法。
使用本文所述的配置,可使用本文中的***和方法实质性加快DNS查找。此外,本文中的***和方法可用于高效建立新TCP连接、再利用TCP连接或其组合。
在一个方面中,一个装置(例如存储在装置上的网络浏览器382)可在存储器344中维护所有以下主机的通过URL加索引的数据库,这些主机是最后一次在图5中说明的装置上加载与URL相关联的内容时针对特定URL从其加载子资源的主机。当用户导航到特定URL时,可咨询数据库403,并且如果找到条目,则针对数据库条目中列出的每一主机与主资源加载并行地执行DNS查找和TCP连接建立。此外,在页被完整加载之后,可用针对最近加载接触的实际的一组主机来更新数据库403。浏览器可选择删除最近加载中未接触的任何主机,或者使旧列表与新列表合并。
此方法可用于蜂窝式覆盖区的边缘上。在此类区域中,即使下载性能可能仍然充分(例如300kbps),但上行链路性能可能削弱到几乎不能使用的状态,例如4kbps。常规计算装置中HTTP GET命令所遵循的当前且常规的DNS查找方法相当于上行链路接入至少延迟到传回HTTP对象的时间为止且仅在加载了主资源之后。尽管所提议的方法可执行最终可能不需要的某些DNS查找,但是在加载主资源之前起始DNS查找和使DNS查找排队而非使其被后续HTTP GET命令任务隔开会产生较好的上行链路性能。
在一个或一个以上示范性方面中,所描述的功能可在硬件、软件、固体或其任何组合中实施。如果在软件中实施,则可将所述功能作为一个或一个以上指令或代码在计算机程序产品上存储或传输,所述计算机程序产品例如是机器可读媒体,即,计算机可读媒体。计算机可读媒体包括计算机存储媒体与包括促进将计算机程序从一处传送到另一处的任何媒体的通信媒体两者。存储媒体可以是可通过计算机存取的任何可用媒体。借助于实例而非限制,此类计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于以指令或数据结构形式携载或存储所要程序代码且可由计算机存取的任何其它媒体。同样,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(例如红外线、无线电和微波)从网站、服务器或其它远程源传输软件,那么将所述同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电和微波)包括在媒体的定义中。如本文所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读媒体的范围内。
虽然已经详细说明和描述了所选择的方面,但是人们将理解,在不脱离如所附权利要求书所界定的本发明的精神和范围的情况下,可在其中进行各种替代和更改。

Claims (39)

1.一种建立发射控制协议TCP连接的方法,所述方法包含:
作为超文本传送协议HTTP请求的一部分接收统一资源定位符URL;
用所述URL搜索主机数据库;
确定所述URL的主机数据是否可供使用;以及
针对URL主机和针对一个或一个以上子资源主机执行域名业务DNS查找,其中所有DNS查找是在所述URL的主机数据可供使用时在大体上相同时间并行执行的。
2.根据权利要求1所述的方法,其进一步包含:
针对所述URL主机和针对所述一个或一个以上子资源主机中的每一者建立至少一个TCP连接。
3.如权利要求2所述的方法,其进一步包含:
加载主资源;以及
加载一个或一个以上子资源。
4.根据权利要求3所述的方法,其进一步包含:
在所述URL的网页被完整加载时更新所述主机数据库。
5.根据权利要求3所述的方法,其中所述方法进一步包含预报将要在已剖析HTML文件之后下载的其余的对象。
6.根据权利要求1所述的方法,其进一步包含:
确定发射控制协议TCP连接是否打开;以及
在所述TCP连接打开时确定主机是否正在HTTP第1.1版或更高版本上操作。
7.根据权利要求6所述的方法,其进一步包含:
确定处理量TP余裕空间是否满足TP余裕空间条件。
8.根据权利要求7所述的方法,其进一步包含:
确定TCP重新发射超时RTO是否满足TCP RTO条件;以及
在所述TCP RTO不满足所述TCP RTO条件时向现存TCP连接提交所述HTTP请求。
9.根据权利要求8所述的方法,其进一步包含:
在所述TCP RTO满足所述TCP RTO条件时打开新TCP连接;以及
在所述TCP RTO不满足所述TCP RTO条件时确定TCP窗利用率是否满足TCP窗利用率条件。
10.根据权利要求9所述的方法,其进一步包含:
在所述TCP窗利用率满足所述TCP窗利用率条件时打开新TCP连接;以及
在所述TCP窗利用率不满足所述TCP窗利用率条件时向现存TCP连接提交所述HTTP请求。
11.一种装置,所述装置包含:
用于作为超文本传送协议HTTP请求的一部分接收统一资源定位符URL的装置;
用于使用所述URL搜索主机数据库的装置;
用于确定所述URL的主机数据是否可供使用的装置;以及
用于针对URL主机和针对一个或一个以上子资源主机执行域名业务DNS查找的装置,其中所有DNS查找是在所述URL的主机数据可供使用时在大体上相同时间并行执行的。
12.根据权利要求11所述的装置,其进一步包含:
用于针对所述URL主机和针对所述一个或一个以上子资源主机中的每一者建立至少一个连接的装置。
13.根据权利要求12所述的装置,其进一步包含:
用于加载主资源的装置;以及
用于加载一个或一个以上子资源的装置。
14.根据权利要求13所述的装置,其进一步包含用于预报将要在已剖析HTML文件之后下载的其余的对象的装置。
15.根据权利要求11所述的装置,其进一步包含:
用于在所述URL的网页被完整加载时更新所述主机数据库的装置。
16.根据权利要求11所述的装置,其进一步包含:
用于确定发射控制协议TCP连接是否打开的装置;以及
用于在所述TCP连接打开时确定主机是否正在HTTP第1.1版或更高版本上操作的装置。
17.根据权利要求16所述的装置,其进一步包含:
用于确定处理量TP余裕空间是否满足TP余裕空间条件的装置。
18.根据权利要求17所述的装置,其进一步包含:
用于确定TCP重新发射超时RTO是否满足TCP RTO条件的装置;以及
用于在所述TCP RTO不满足所述TCP RTO条件时向现存TCP连接提交所述HTTP请求的装置。
19.根据权利要求18所述的装置,其进一步包含:
用于在所述TCP RTO满足所述TCP RTO条件时打开新TCP连接的装置;以及
用于在所述TCP RTO不满足所述TCP RTO条件时确定TCP窗利用率是否满足TCP窗利用率条件的装置。
20.根据权利要求19所述的装置,其进一步包含:
用于在所述TCP窗利用率满足所述TCP窗利用率条件时打开新TCP连接的装置;以及
用于在所述TCP窗利用率不满足所述TCP窗利用率条件时向现存TCP连接提交所述HTTP请求的装置。
21.一种装置,其包含:
存储器;
处理器,其可由所述存储器存取,其中所述处理器可操作以:
作为超文本传送协议HTTP请求的一部分接收统一资源定位符URL;
用所述URL搜索主机数据库;
确定所述URL的主机数据是否可供使用;以及
针对URL主机和针对一个或一个以上子资源主机执行域名业务DNS查找,其中所有DNS查找是在所述URL的主机数据可供使用时在大体上相同时间并行执行的。
22.根据权利要求21所述的装置,其中所述处理器进一步可操作以:
针对所述URL主机和针对所述一个或一个以上子资源主机中的每一者建立TCP连接。
23.根据权利要求22所述的装置,其中所述处理器进一步可操作以:
加载主资源;以及
加载一个或一个以上子资源。
24.根据权利要求23所述的装置,其中所述处理器进一步可操作以:预报将要在已剖析HTML文件之后下载的其余的对象。
25.根据权利要求23所述的装置,其中所述处理器进一步可操作以:
在所述URL的网页被完整加载时更新所述主机数据库。
26.根据权利要求25所述的装置,其中所述处理器进一步可操作以:
确定发射控制协议TCP连接是否打开;以及
在所述TCP连接打开时确定主机是否正在HTTP第1.1版或更高版本上操作。
27.根据权利要求26所述的装置,其中所述处理器进一步可操作以:
确定处理量TP余裕空间是否满足TP余裕空间条件。
28.根据权利要求27所述的装置,其中所述处理器进一步可操作以:
确定TCP重新发射超时RTO是否满足TCP RTO条件;以及
在所述TCP RTO不满足所述TCP RTO条件时向现存TCP连接提交所述HTTP请求。
29.根据权利要求28所述的装置,其中所述处理器进一步可操作以:
在所述TCP RTO满足所述TCP RTO条件时打开新TCP连接;以及
在所述TCP RTO不满足所述TCP RTO条件时确定TCP窗利用率是否满足TCP窗利用率条件。
30.根据权利要求29所述的装置,其中所述处理器进一步可操作以:
在所述TCP窗利用率满足所述TCP窗利用率条件时打开新TCP连接;以及
在所述TCP窗利用率不满足所述TCP窗利用率条件时向现存TCP连接提交所述HTTP请求。
31.一种用于为无线便携式计算装置建立发射控制协议TCP连接的计算机程序产品,所述计算机程序产品包含:
用于作为超文本传送协议HTTP请求的一部分接收统一资源定位符URL的至少一个指令;
用于使用所述URL搜索主机数据库的至少一个指令;
用于确定所述URL的主机数据是否可供使用的至少一个指令;以及
用于针对URL主机和针对一个或一个以上子资源主机执行域名业务DNS查找的至少一个指令,其中所有DNS查找是在所述URL的主机数据可供使用时在大体上相同时间并行执行的。
32.根据权利要求31所述的计算机程序产品,其进一步包含:
用于针对所述URL主机和针对所述一个或一个以上子资源主机中的每一者建立至少一个连接的至少一个指令。
33.根据权利要求32所述的计算机程序产品,其进一步包含:
用于加载主资源的至少一个指令;以及
用于加载一个或一个以上子资源的至少一个指令。
34.根据权利要求33所述的计算机程序产品,其进一步包含:
用于在所述URL的网页被完整加载时更新所述主机数据库的至少一个指令。
35.根据权利要求34所述的计算机程序产品,其进一步包含:
用于确定发射控制协议TCP连接是否打开的至少一个指令;以及
用于在所述TCP连接打开时确定主机是否正在HTTP第1.1版或更高版本上操作的至少一个指令。
36.根据权利要求35所述的计算机程序产品,其进一步包含:
用于确定处理量TP余裕空间是否满足TP余裕空间条件的至少一个指令。
37.根据权利要求36所述的计算机程序产品,其进一步包含:
用于确定TCP重新发射超时RTO是否满足TCP RTO条件的至少一个指令;以及
用于在所述TCP RTO不满足所述TCP RTO条件时向现存TCP连接提交所述HTTP请求的至少一个指令。
38.根据权利要求37所述的计算机程序产品,其进一步包含:
用于在所述TCP RTO满足所述TCP RTO条件时打开新TCP连接的至少一个指令;以及
用于在所述TCP RTO不满足所述TCP RTO条件时确定TCP窗利用率是否满足TCP窗利用率条件的至少一个指令。
39.根据权利要求38所述的计算机程序产品,其进一步包含:
用于在所述TCP窗利用率满足所述TCP窗利用率条件时打开新TCP连接的至少一个指令;以及
用于在所述TCP窗利用率不满足所述TCP窗利用率条件时向现存TCP连接提交所述HTTP请求的至少一个指令。
CN201180045684.1A 2010-09-28 2011-07-26 建立发射控制协议连接的***和方法 Expired - Fee Related CN103125108B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/892,214 2010-09-28
US12/892,214 US8909732B2 (en) 2010-09-28 2010-09-28 System and method of establishing transmission control protocol connections
PCT/US2011/045301 WO2012044393A1 (en) 2010-09-28 2011-07-26 System and method of establishing transmission control protocol connections

Publications (2)

Publication Number Publication Date
CN103125108A true CN103125108A (zh) 2013-05-29
CN103125108B CN103125108B (zh) 2015-10-07

Family

ID=44511517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180045684.1A Expired - Fee Related CN103125108B (zh) 2010-09-28 2011-07-26 建立发射控制协议连接的***和方法

Country Status (6)

Country Link
US (1) US8909732B2 (zh)
EP (1) EP2622823B1 (zh)
JP (1) JP5662582B2 (zh)
KR (1) KR101436956B1 (zh)
CN (1) CN103125108B (zh)
WO (1) WO2012044393A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131907A (zh) * 2016-08-23 2016-11-16 广州慧睿思通信息科技有限公司 一种基于软件切换多制式小区搜索方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577961B2 (en) * 2010-01-28 2013-11-05 Qualcomm Innovation Center, Inc. Methods and apparatus for obtaining content with reduced access times
WO2014130807A1 (en) 2013-02-21 2014-08-28 Fastly Inc. Dynamic secure packet block sizing
CN105488175B (zh) * 2015-12-01 2019-02-12 福建天晴数码有限公司 一种提高页面内容显示速度的方法及***
CN105550338B (zh) * 2015-12-23 2018-11-23 北京大学 一种基于HTML5应用缓存的移动Web缓存优化方法
CN108476244A (zh) * 2016-01-13 2018-08-31 三星电子株式会社 通过利用网络延迟来缩短页面加载时间的方法和***
EP3381158B1 (en) 2016-10-17 2021-03-10 Google LLC Machine learning based identification of broken network connections
US10826870B2 (en) * 2019-03-21 2020-11-03 Wangsu Science & Technology Co., Ltd. Method, device and server for processing access request

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005094041A1 (en) * 2004-03-22 2005-10-06 Qualcomm Incorporated Http acceleration over a network link
CN1957579A (zh) * 2004-03-22 2007-05-02 高通股份有限公司 网络链路上的http加速
US20080228938A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching objects for caching using qos
CN101682621A (zh) * 2007-03-12 2010-03-24 思杰***有限公司 用于高速缓存操作的***和方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8022A (en) * 1851-04-08 Sawing-machine
US4004A (en) * 1845-04-16 Wooden bbidge
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6928471B2 (en) 2001-05-07 2005-08-09 Quest Software, Inc. Method and apparatus for measurement, analysis, and optimization of content delivery
US20020198962A1 (en) * 2001-06-21 2002-12-26 Horn Frederic A. Method, system, and computer program product for distributing a stored URL and web document set
US7206932B1 (en) * 2003-02-14 2007-04-17 Crystalvoice Communications Firewall-tolerant voice-over-internet-protocol (VoIP) emulating SSL or HTTP sessions embedding voice data in cookies
US8015259B2 (en) * 2002-09-10 2011-09-06 Alan Earl Swahn Multi-window internet search with webpage preload
US7953820B2 (en) * 2002-09-11 2011-05-31 Hughes Network Systems, Llc Method and system for providing enhanced performance of web browsing
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US20050015434A1 (en) * 2003-04-29 2005-01-20 Yu He Mobile device with surrogate access to the internet and other networks
JP2007006214A (ja) 2005-06-24 2007-01-11 Nippon Telegr & Teleph Corp <Ntt> リソース情報検索システム、リゾルバ及びプログラム
US7730187B2 (en) 2006-10-05 2010-06-01 Limelight Networks, Inc. Remote domain name service
US20070204223A1 (en) * 2006-02-27 2007-08-30 Jay Bartels Methods of and systems for personalizing and publishing online content
JP2008022157A (ja) 2006-07-11 2008-01-31 Murata Mach Ltd ネットワーク端末及びネットワーク複合機
US20080208961A1 (en) 2007-02-23 2008-08-28 Hostway Corporation Parallel retrieval system
US8412767B2 (en) * 2007-07-18 2013-04-02 Network Solutions Inc. Mobile content service
WO2010024893A1 (en) * 2008-08-26 2010-03-04 Ringleader Digital Nyc Uniquely identifying network-distributed devices without explicitly provided device or user identifying information
US8725727B2 (en) * 2008-09-24 2014-05-13 Sony Corporation System and method for determining website popularity by location
US9268871B2 (en) 2008-10-16 2016-02-23 Qualcomm Incorporated Methods and apparatus for obtaining content with reduced access times
US8359402B2 (en) * 2008-11-19 2013-01-22 Seachange International, Inc. Intercept device for providing content
US8577961B2 (en) 2010-01-28 2013-11-05 Qualcomm Innovation Center, Inc. Methods and apparatus for obtaining content with reduced access times

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005094041A1 (en) * 2004-03-22 2005-10-06 Qualcomm Incorporated Http acceleration over a network link
CN1957579A (zh) * 2004-03-22 2007-05-02 高通股份有限公司 网络链路上的http加速
US20080228938A1 (en) * 2007-03-12 2008-09-18 Robert Plamondon Systems and methods for prefetching objects for caching using qos
CN101682621A (zh) * 2007-03-12 2010-03-24 思杰***有限公司 用于高速缓存操作的***和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
VLADISLAV SHKAPENYUK 等: "Design and Implementation of a High-Performance Distributed Web Crawler", 《PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE’02)》, vol. 18, no. 2, 26 February 2002 (2002-02-26), pages 357 - 368, XP010588251, DOI: 10.1109/ICDE.2002.994750 *
ZHEN LIU 等: "Traffic model and performance evaluation of Web servers", 《PERFORMANCE EVALUATION》, vol. 46, no. 2, 17 August 2001 (2001-08-17), pages 77 - 100 *
陈晓苏 等: "基于HTTP1.1的WEB信息还原关键技术研究", 《电脑开发与应用》, vol. 20, no. 4, 30 April 2007 (2007-04-30) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131907A (zh) * 2016-08-23 2016-11-16 广州慧睿思通信息科技有限公司 一种基于软件切换多制式小区搜索方法
CN106131907B (zh) * 2016-08-23 2019-07-30 广州慧睿思通信息科技有限公司 一种基于软件切换多制式小区搜索方法

Also Published As

Publication number Publication date
CN103125108B (zh) 2015-10-07
EP2622823B1 (en) 2014-07-16
JP2013546041A (ja) 2013-12-26
US8909732B2 (en) 2014-12-09
WO2012044393A1 (en) 2012-04-05
KR20130076881A (ko) 2013-07-08
US20120079060A1 (en) 2012-03-29
KR101436956B1 (ko) 2014-09-02
EP2622823A1 (en) 2013-08-07
JP5662582B2 (ja) 2015-02-04

Similar Documents

Publication Publication Date Title
JP5878614B2 (ja) ワイヤレスハンドヘルドコンピューティングデバイスの媒体再生品質を最適化するためのシステムおよび方法
US9465777B2 (en) System and method of performing domain name server pre-fetching
CN111937364B (zh) 无线网络***中处理数据路径创建的方法和***
CN103125108A (zh) 建立发射控制协议连接的***和方法
CN109152095A (zh) 用于终端的无线网络连接方法
CN103259861A (zh) 一种录制和观看网络视频的方法及***
CN113572836B (zh) 一种数据传输方法、装置、服务器及存储介质
JP2021505081A (ja) ビデオ伝送方法、ビデオ伝送装置、およびビデオ伝送システム、ならびにコンピュータ可読記憶媒体
CN104471904A (zh) 基于实时网络动态的内容优化
CN108347460B (zh) 资源访问方法及装置
CN105681370A (zh) 文件同步方法、服务器及客户端
US20040107293A1 (en) Program obtainment method and packet transmission apparatus
KR102147053B1 (ko) 컨텐츠 전송 서비스 기반의 api 제공 방법 및 이를 위한 캐시 장치
CN112822270B (zh) 一种网络***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151007

Termination date: 20190726

CF01 Termination of patent right due to non-payment of annual fee