首页> 中国专利> 在通信系统中的客户端设备的web浏览器上加载重定向的web页面

在通信系统中的客户端设备的web浏览器上加载重定向的web页面

摘要

在一实施例中,客户端设备向代理服务器传送对初始web页面的请求。代理服务器响应于客户端设备的请求而代表客户端设备请求初始web页面。代理服务器随后执行web页面重定向规程,其独立于与客户端设备的交互并且导致代理服务器获得web页面内容。代理服务器将web页面内容连同用于在客户端设备上模拟客户端设备上的代理客户端应用与移动web浏览器之间的web页面重定向规程的指令一起递送给客户端设备上的代理客户端应用。客户端设备上的代理客户端应用随后如所指令地模拟在代理服务器处发生的web页面重定向规程。

著录项

  • 公开/公告号CN104854843A

    专利类型发明专利

  • 公开/公告日2015-08-19

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201380064938.3

  • 申请日2013-12-12

  • 分类号

  • 代理机构上海专利商标事务所有限公司;

  • 代理人周敏

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 10:26:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-11-29

    未缴年费专利权终止 IPC(主分类):H04L29/08 专利号:ZL2013800649383 申请日:20131212 授权公告日:20181009

    专利权的终止

  • 2018-10-09

    授权

    授权

  • 2015-12-30

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131212

    实质审查的生效

  • 2015-08-19

    公开

    公开

说明书

根据35 U.S.C.§119的优先权要求

本专利申请要求由与本申请相同的发明人于2012年12月13日提交的题 为“LOADING A RE-DIRECTED WEB PAGE ON A WEB BROWSER OF A  CLIENT DEVICE IN A COMMUNICATIONS SYSTEM(在通信系统中的客户端 设备的web浏览器上加载重定向的web页面)”的临时申请No.61/736,981的优 先权,该临时申请被转让给本申请受让人并由此通过援引明确纳入于此。

发明背景

1.发明领域

本发明的各实施例涉及在通信系统中的客户端设备的web浏览器上加载 重定向的web页面。

2.相关技术描述

无线通信系统已经历了数代的发展,包括第一代模拟无线电话服务(1G)、 第二代(2G)数字无线电话服务(包括过渡的2.5G和2.75G网络)、以及第 三代(3G)高速数据、具有因特网能力的无线服务。目前在用的有许多不同类 型的无线通信系统,包括蜂窝以及个人通信服务(PCS)系统。已知蜂窝系统 的示例包括蜂窝模拟高级移动电话系统(AMPS),以及基于码分多址(CDMA)、 频分多址(FDMA)、时分多址(TDMA)、TDMA的全球移动接入系统(GSM) 变型的数字蜂窝系统,以及使用TDMA和CDMA技术两者的更新的混合数字 通信系统。

使用上述通信系统或其它类型的接入网(例如,WiFi等)的客户端设备(例 如,移动设备,诸如蜂窝电话)通常执行经由因特网从一个或多个web服务器 加载web页面的web浏览应用。对web页面的初始加载通常将需要在给定客户 端设备以及提供该web页面的web服务器处进行处理(例如,DNS解析、web 页面重定向等),之后才能在该给定客户端设备上加载该web页面。在web页 面重定向的情形中,给定客户端设备通常将向web服务器请求初始web页面、 接收来自web服务器的重定向命令,并且随后基于该重定向命令来请求另一 web页面。该web页面重定向规程延迟了web页面的加载,并且还消耗了附加 资源,因为针对该web页面发出了两个分开的请求(即,初始请求以及随后的 重定向请求)。

概述

在一实施例中,客户端设备向代理服务器传送对初始web页面的请求。代 理服务器响应于客户端设备的请求而代表客户端设备请求初始web页面。代理 服务器随后执行web页面重定向规程,该web页面重定向规程独立于与客户端 设备的交互并且导致代理服务器获得web页面内容。代理服务器将web页面内 容连同用于在客户端设备上模拟该客户端设备上的代理客户端应用与移动web 浏览器之间的web页面重定向规程的指令一起递送给客户端设备上的代理客户 端应用。客户端设备上的代理客户端应用随后如所指令地模拟在代理服务器处 发生的web页面重定向规程。

附图简述

对本发明的各实施例及其许多伴随优点的更完整领会将因其在参考结合 附图考虑的以下详细描述时变得更好理解而易于获得,附图仅出于解说目的被 给出而不对本发明构成任何限定,并且其中:

图1解说了根据本发明的一实施例的无线通信系统的高级系统架构。

图2A解说了根据本发明的一实施例的客户端-服务器架构。

图2B解说了根据本发明的另一实施例的客户端-服务器架构。

图3解说了根据本发明的实施例的用户装备(UE)的示例。

图4解说了根据本发明的一实施例的包括被配置成执行功能性的逻辑的通 信设备。

图5解说了经由客户端设备上的移动web浏览器来加载web页面的常规过 程。

图6解说了经由客户端设备上的移动浏览器来加载web页面的常规过程, 其中HTTP代理服务器向移动设备返回重定向web页面而非请求的web页面。

图7解说了根据本发明的一实施例的代理重定向规程。

图8解说了在第二次加载web页面的过程期间的图5的过程的继续。

图9解说了根据本发明的一实施例的图7的过程的继续。

图10和11分别解说了根据本发明的一实施例的图7和9的过程的经修改 实现,其准许代理服务器在替换web页面的第二次(或稍后)加载的重定向规 程期间获取关于替换或重定向web页面的cookie。

详细描述

本发明的各方面在以下针对本发明具体实施例的描述和有关附图中被公 开。可以设计替换实施例而不会脱离本发明的范围。另外,本发明中众所周知 的元素将不被详细描述或将被省去以免湮没本发明的相关细节。

措辞“示例性”和/或“示例”在本文中用于意指“用作示例、实例或解说”。 本文描述为“示例性”和/或“示例”的任何实施例不必被解释为优于或胜过其 他实施例。同样,术语“本发明的各实施例”并不要求本发明的所有实施例都 包括所讨论的特征、优点、或工作模式。

此外,许多实施例是根据将由例如计算设备的元件执行的动作序列来描述 的。将认识到,本文描述的各种动作能由专用电路(例如,专用集成电路 (ASIC))、由正被一个或多个处理器执行的程序指令、或由这两者的组合来 执行。另外,本文描述的这些动作序列可被认为是完全体现在任何形式的计算 机可读存储介质内,其内存储有一经执行就将使相关联的处理器执行本文所描 述的功能性的相应计算机指令集。因此,本发明的各种方面可以用数种不同形 式来体现,所有这些形式都已被构想落在所要求保护的主题内容的范围内。另 外,对于本文描述的每个实施例,任何此类实施例的对应形式可在本文中被描 述为例如“被配置成执行所描述的动作的逻辑”。

客户端设备(在本文中被称为用户装备(UE))可以是移动的或静止的, 并且可以与无线电接入网(RAN)通信。如本文所使用的,术语“UE”可以互 换地被称为“接入终端”或“AT”、“无线设备”、“订户设备”、“订户终 端”、“订户站”、“用户终端”或UT、“移动终端”、“移动站”及其各 种变型。一般地,UE可以经由RAN与核心网通信,并且通过核心网,UE能 够与外部网络(诸如因特网)连接。当然,连接到核心网和/或因特网的其他机 制对于UE而言也是可能的,诸如通过有线接入网、WiFi网络(例如,基于IEEE 802.11等)等。UE可以通过数种类型设备中的任何设备来实现,包括但不限 于PC卡、致密闪存设备、外置或内置调制解调器、无线或有线电话等。UE籍 以向RAN发送信号的通信链路被称为上行链路信道(例如,反向话务信道、 反向控制信道、接入信道等)。RAN籍以向UE发送信号的通信链路被称为下 行链路或前向链路信道(例如,寻呼信道、控制信道、广播信道、前向话务信 道等)。如本文所使用的,术语话务信道(TCH)可以指上行链路/反向或下行 链路/前向话务信道。

图1解说了根据本发明的一实施例的无线通信系统100的高级系统架构。 无线通信系统100包含UE 1…N。UE 1…N可包括蜂窝电话、个人数字助理 (PDA)、寻呼机、膝上型计算机、台式计算机等。例如,在图1中,UE 1…2 被解说为蜂窝呼叫电话,UE 3…5被解说为蜂窝触摸屏电话或智能电话,而UE N被解说为台式计算机或PC。

参照图1,UE 1…N被配置成在物理通信接口或层(在图1中被示为空中 接口104、106、108和/或直接有线连接)上与接入网(例如,RAN 120、接入 点125等)通信。空中接口104和106可符合给定的蜂窝通信协议(例如,CDMA、 EVDO、eHRPD、GSM、EDGE、W-CDMA、LTE等),而空中接口108可符 合无线IP协议(例如,IEEE 802.11)。RAN 120包括通过空中接口(诸如, 空中接口104和106)服务UE的多个接入点。RAN 120中的接入点可被称为 接入节点或AN、接入点或AP、基站或BS、B节点、演进型B节点等。这些 接入点可以是陆地接入点(或地面站)或卫星接入点。RAN 120被配置成连接 到核心网140,核心网140可以执行各种各样的功能,包括在RAN 120服务的 UE与RAN 120或不同的RAN一起服务的其他UE之间桥接电路交换(CS) 呼叫,并且还可中介分组交换(PS)数据与外部网络(诸如因特网175)的交 换。因特网175包括数个路由代理和处理代理(出于方便起见未在图1中示出)。 在图1中,UE N被示为直接连接到因特网175(即,与核心网140分开,诸如 通过WiFi或基于802.11的网络的以太网连接)。因特网175可藉此用于经由 核心网140在UE N与UE 1…N之间桥接分组交换数据通信。图1还示出与RAN  120分开的接入点125。接入点125可以独立于核心网140地(例如,经由光 通信系统,诸如FiOS、线缆调制解调器等)连接到因特网175。空中接口108 可通过局部无线连接(诸如在一个示例中是IEEE 802.11)服务UE 4或UE 5。 UE N被示为具有到因特网175的有线连接的台式计算机,诸如到调制解调器 或路由器的直接连接,在一示例中该路由器可对应于接入点125自身(例如, 对于具有有线和无线连通性两者的Wi-Fi路由器)。

参照图1,服务器170被示为连接到因特网175、核心网140、或这两者。 服务器170可被实现为多个结构上分开的服务器,或者替换地可对应于单个服 务器。如下文将更详细地描述的,服务器170被配置成支持一个或多个通信服务 (例如,IP语音(VoIP)会话、即按即说(PTT)会话、群通信会话、社交联网 服务等)以用于能经由核心网140和/或因特网175连接到服务器170的UE、和/ 或向UE提供内容(例如,web页面下载)。

图2A解说了根据本发明的一实施例的客户端-服务器架构。参照图2A, 客户端设备200(例如,UE)包括多个移动应用1…N以及传输层205。传输 层205被配置成将来自移动应用1…N的数据转换成分组以供传送至接入网220 (例如,RAN 120、AP 125等)和/或接收来自接入网220的分组以供递送至更 高层,诸如移动应用1…N之一。传输层205包括常规传输控制协议(TCP)/ 因特网协议(IP)层或栈210。如本领域已知的,数据可被移动应用1…N中的 任一个转发给TCP/IP栈210并且随后被转换成数据分组,这些数据分组被排 队以供客户端设备220传送至指定的目标服务器(例如,Facebook服务器、 Netflix服务器等),并且客户端设备200处的传入数据分组可在TCP/IP栈210 处被处理以供递送至更高层,诸如移动应用1…N之一。传输层205进一步包 括客户端应用管理器应用215,其在下文被称为设备上代理(POD)215。如以 下更详细描述的,POD 215被配置成与至少包括移动web浏览应用的移动应用 1…N中的一个或多个对接。POD 215的功能之一是通过与外部代理服务器225 (其在下文被称为移动最优化数据(MOD)服务器225)的协调代表移动web 浏览应用来执行专门的重定向处置规程。

在图2A中,POD 215没有必要与驻留在客户端设备200上的每个移动应 用交互和/或与用于移动应用1…N的网络接入的每个实例交互。由此,图2A 解说了其中用于应用1的在客户端设备200与接入网220之间交换的数据被 TCP/IP栈210处置,同时用于应用2…N的在客户端设备与接入网220之间交 换的数据(例如,web页面请求的传送、针对web页面的重定向命令的接收等) 被POD 215而非TCP/IP栈210处置的示例。

进一步地,图2A中解说的是接入网220,其可对应于RAN 120、AP 125、 有线以太网路由器或调制解调器(未示出)等等。虽然接入网220的结构组件 (例如,B节点等)未在图2A中详细解说,但接入网220被示为包括MOD 225。 接入网220进而连接至因特网175,因特网175可被各种服务器(诸如,应用 服务器170A-170B和web服务器170C-170D)接入。MOD 225可在接入网220 的不同网络位置处实现,包括但不限于客户端设备200的服务B节点(或基站 或演进型B节点)、RNC(或BSC)等等。如以下将更详细解释的,MOD 225 负责与客户端设备200上的POD 215对接,并且代表在其上执行的一个或多个 移动应用来与客户端设备200交换数据分组。MOD 220还可代表客户端设备 200上的移动web浏览应用来执行与web页面重定向相关联的操作,诸如对来 自目标web服务器的重定向命令作出响应,而不将重定向命令转发回(在重定 向之前)发出对初始web页面的请求的客户端设备220。从在客户端设备200 上执行的移动web浏览应用和提供web页面内容的目标web服务器两者的角度 来看,POD 215和MOD 225的操作是透明的,以使得任何专用的MOD-POD 规程不一定需要对移动web浏览应用和/或目标web服务器的标准操作进行修 改。

图2B解说了根据本发明的另一实施例的客户端-服务器架构。图2B类似 于图2A,不同之处在于MOD 225位于接入网220(例如,经由因特网175可 抵达的因特网目的地)之外。图2B在其他方面类似于图2A,并且出于简洁起 见将不作进一步描述。

图3解说了根据本发明的实施例的UE(即,客户端设备)的示例。参照 图3,UE 300A被解说为发起呼叫的电话,而UE 300B被解说为触摸屏设备(例 如,智能电话、平板计算机等)。如图3所示,UE 300A的外壳配置有天线305A、 显示器310A、至少一个按钮315A(例如,PTT按钮、电源按钮、音量控制按 钮等)和按键板320A以及其他组件,如本领域已知的。同样,UE 300B的外 壳配置有触摸屏显示器305B、外围按钮310B、315B、320B和325B(例如, 电源控制按钮、音量或振动控制按钮、飞机模式切换按钮等)、至少一个前面 板按钮330B(例如,Home(主界面)按钮等)以及其他组件,如本领域已知 的。尽管未被显式地示为UE 300B的一部分,但UE 300B可包括一个或多个 外部天线和/或被构建到UE 300B的外壳中的一个或多个集成天线,包括但不 限于Wi-Fi天线、蜂窝天线、卫星定位系统(SPS)天线(例如,全球定位系 统(GPS)天线),等等。

虽然UE(诸如UE 300A和300B)的内部组件可以用不同硬件配置来实施, 但在图3中,内部硬件组件的基本高级UE配置被示为平台302。平台302可 接收并执行传送自RAN 120的、可能最终来自核心网140、因特网175和/或其 他远程服务器和网络(例如应用服务器170、web URL等)的软件应用、数据 和/或命令。平台302还可独立地执行本地存储的应用而无需RAN交互。平台 302可包括收发机306,收发机306可操作地耦合到专用集成电路(ASIC)308 或其他处理器、微处理器、逻辑电路、或其他数据处理设备。ASIC 308或其他 处理器执行与无线设备的存储器310中的任何驻留程序相对接的应用编程接口 (API)312层。存储器312可包括只读或随机存取存储器(RAM和ROM)、 EEPROM、闪存卡、或计算机平台常用的任何存储器。平台302还可包括能存 储未在存储器312中活跃地使用的应用以及其它数据的本地数据库314。本地 数据库314通常为闪存单元,但也可以是如本领域已知的任何辅助存储设备(诸 如磁介质、EEPROM、光学介质、带、软盘或硬盘、或诸如此类)。

相应地,本发明的一实施例可包括具有执行本文描述的功能的能力的UE (例如,UE 300A、300B等)。如将由本领域技术人员领会的,各种逻辑元件 可实施在在分立元件、在处理器上执行的软件模块、或软件与硬件的任何组合 中以实现本文公开的功能性。例如,ASIC 308、存储器312、API 310和本地数 据库314可以全部协作地用来加载、存储和执行本文公开的各种功能,且用于 执行这些功能的逻辑因此可分布在各种元件上。替换地,该功能性可被纳入到 一个分立的组件中。因此,图3中的UE 300A和300B的特征将仅被视为解说 性的,且本发明不限于所解说的特征或布局。

UE 300A和/或300B与RAN 120之间的无线通信可以基于不同的技术,诸 如CDMA、W-CDMA、时分多址(TDMA)、频分多址(FDMA)、正交频分 复用(OFDM)、GSM、或可在无线通信网络或数据通信网络中使用的其他协 议。如上文所讨论的以及本领域中已知的,可以使用各种网络和配置来将语音 传输和/或数据从RAN传送到UE。因此,本文提供的解说并非意图限定本发明 的各实施例,而仅仅是帮助描述本发明的各实施例的各方面。

图4解说了包括被配置成执行功能性的逻辑的通信设备400。通信设备400 可对应于上文提及的通信设备中的任一者,包括但不限于UE 300A或300B、 RAN 120的任何组件、核心网140的任何组件,与核心网140和/或因特网175 耦合的任何组件(例如,服务器170)等。因此,通信设备400可对应于配置 成通过图1的无线通信系统100与一个或多个其它实体通信(或促成与一个或 多个其它实体的通信)的任何电子设备。

参照图4,通信设备400包括被配置成接收和/或传送信息的逻辑405。在 一示例中,如果通信设备400对应于无线通信设备(例如,UE 300A或300B、 AP 125、BS、RAN 120中的B节点或演进型B节点等),则被配置成接收和/ 或传送信息的逻辑405可包括无线通信接口(例如,蓝牙、WiFi、2G、CDMA、 W-CDMA、3G、4G、LTE等),诸如无线收发机和相关联的硬件(例如,RF 天线、调制解调器、调制器和/或解调器等)。在另一示例中,被配置成接收和 /或传送信息的逻辑405可对应于有线通信接口(例如,串行连接、USB或火线 连接、可籍以接入因特网175的以太网连接等)。因此,如果通信设备400对 应于某种类型的基于网络的服务器(例如,服务器170等),则被配置成接收 和/或传送信息的逻辑405在一示例中可对应于以太网卡,该以太网卡经由以太 网协议将基于网络的服务器连接至其它通信实体。在进一步示例中,被配置成 接收和/或传送信息的逻辑405可包括传感或测量硬件(例如,加速计、温度传 感器、光传感器、用于监视本地RF信号的天线等),通信设备400可藉由该 传感或测量硬件来监视其本地环境。被配置成接收和/或传送信息的逻辑405还 可包括在被执行时准许被配置成接收和/或传送信息的逻辑405的相关联硬件 执行其接收和/或传送功能的软件。然而,被配置成接收和/或传送信息的逻辑 405不单单对应于软件,并且被配置成接收和/或传送信息的逻辑405至少部分 地依赖于硬件来实现其功能性。

参照图4,通信设备400进一步包括被配置成处理信息的逻辑410。在一 示例中,被配置成处理信息的逻辑410可至少包括处理器。可由被配置成处理 信息的逻辑410执行的处理类型的示例实现包括但不限于执行确定、建立连接、 在不同信息选项之间作出选择、执行与数据有关的评价、与耦合至通信设备400 的传感器交互以执行测量操作、将信息从一种格式转换为另一种格式(例如, 在不同协议之间转换,诸如,.wmv到.avi等),等等。例如,包括在被配置成 处理信息的逻辑410中的处理器可对应于被设计成执行本文所描述功能的通用 处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列(FPGA)或其 他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合。 通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处 理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合, 例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个 微处理器、或任何其它此类配置。被配置成处理信息的逻辑410还可包括在被 执行时准许被配置成处理信息的逻辑410的相关联硬件执行其(诸)处理功能 的软件。然而,被配置成处理信息的逻辑410不单单对应于软件,并且被配置 成处理信息的逻辑410至少部分地依赖于硬件来实现其功能性。

参照图4,通信设备400进一步包括被配置成存储信息的逻辑415。在一 示例中,被配置成存储信息的逻辑415可至少包括非瞬态存储器和相关联的硬 件(例如,存储器控制器等)。例如,包括在被配置成存储信息的逻辑415中 的非瞬态存储器可对应于RAM存储器、闪存、ROM存储器、EPROM存储器、 EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任 何其他形式的存储介质。被配置成存储信息的逻辑415还可包括在被执行时准 许配置成存储信息的逻辑415的相关联硬件执行其存储功能的软件。然而,被 配置成存储信息的逻辑415不单单对应于软件,并且被配置成存储信息的逻辑 415至少部分地依赖于硬件来实现其功能性。

参照图4,通信设备400进一步可任选地包括被配置成呈现信息的逻辑 420。在一示例中,被配置成呈现信息的逻辑420可至少包括输出设备和相关 联的硬件。例如,输出设备可包括视频输出设备(例如,显示屏、能承载视频 信息的端口(诸如USB、HDMI等))、音频输出设备(例如,扬声器、能承 载音频信息的端口(诸如话筒插孔、USB、HDMI等))、振动设备和/或信息 可藉由其被格式化以供输出或实际上由通信设备400的用户或操作者输出的任 何其它设备。例如,如果通信设备400对应于如图3中示出的UE 300A或UE  300B,则被配置成呈现信息的逻辑420可包括UE 300A的显示器310A或UE  300B的触摸屏显示器305B。在进一步示例中,对于某些通信设备(诸如不具 有本地用户的网络通信设备(例如,网络交换机或路由器、远程服务器(诸如 服务器170)等))而言,被配置成呈现信息的逻辑420可被省略。被配置成 呈现信息的逻辑420还可包括在被执行时准许被配置成呈现信息的逻辑420的 相关联硬件执行其呈现功能的软件。然而,被配置成呈现信息的逻辑420不单 单对应于软件,并且被配置成呈现信息的逻辑420至少部分地依赖于硬件来实 现其功能性。

参照图4,通信设备400进一步可任选地包括被配置成接收本地用户输入 的逻辑425。在一示例中,被配置成接收本地用户输入的逻辑425可至少包括 用户输入设备和相关联的硬件。例如,用户输入设备可包括按钮、触摸屏显示 器、键盘、相机、音频输入设备(例如,话筒或可携带音频信息的端口(诸如 话筒插孔等))、和/或可用来从通信设备400的用户或操作者接收信息的任何 其它设备。例如,如果通信设备400对应于如图3所示的UE 300A或UE 300B, 则被配置成接收本地用户输入的逻辑425可包括按键板320A、按钮315A或 310B到325B中的任何一个按钮、触摸屏显示器305B等。在进一步示例中, 对于某些通信设备(诸如不具有本地用户的网络通信设备(例如,网络交换机 或路由器、远程服务器(诸如服务器170)等))而言,被配置成接收本地用 户输入的逻辑425可被省略。被配置成接收本地用户输入的逻辑425还可包括 在被执行时准许被配置成接收本地用户输入的逻辑425的相关联硬件执行其 (诸)输入接收功能的软件。然而,被配置成接收本地用户输入的逻辑425不 单单对应于软件,并且被配置成接收本地用户输入的逻辑425至少部分地依赖 于硬件来实现其功能性。

参照图4,尽管被配置的逻辑405到425在图4中被示出为分开或相异的 块,但将领会,相应各个被配置的逻辑藉由其来执行其功能性的硬件和/或软件 可部分交迭。例如,用于促成被配置的逻辑405到425的功能性的任何软件可 被存储在与被配置成存储信息的逻辑415相关联的非瞬态存储器中,从而被配 置的逻辑405到425各自部分地基于由被配置成存储信息的逻辑415所存储的 软件的操作来执行其功能性(即,在这一情形中为软件执行)。同样地,直接 与被配置的逻辑之一相关联的硬件可不时地被其它被配置的逻辑借用或使用。 例如,被配置成处理信息的逻辑410的处理器可在数据由被配置成接收和/或传 送信息的逻辑405传送之前将此数据格式化为恰适格式,从而被配置成接收和 /或传送信息的逻辑405部分地基于与被配置成处理信息的逻辑410相关联的硬 件(即,处理器)的操作来执行其功能性(即,在这一情形中为数据传输)。

一般而言,除非另外明确声明,如贯穿本公开所使用的短语“配置成…的 逻辑”旨在援用至少部分用硬件实现的实施例,而并非旨在映射到独立于硬件 的纯软件实现。同样,将领会,各个框中的被配置的逻辑或“被配置成…的逻 辑”并不限于具体的逻辑门或元件,而是一般地指代执行本文描述的功能性的 能力(经由硬件或硬件和软件的组合)。因此,尽管共享措词“逻辑”,但如 各个框中所解说的被配置的逻辑或“被配置成…的逻辑”不必被实现为逻辑门 或逻辑元件。从以下更详细地描述的各实施例的概览中,各个框中的逻辑之间 的其它交互或协作将对本领域普通技术人员而言变得清楚。

图5解说了经由客户端设备上的移动web浏览器加载web页面的常规过 程。参照图5,在500,移动web浏览器确定要取回给定web页面。出于方便 解释起见,图5被解说为使得HTTP代理服务器调控客户端设备与主存给定web 页面的目标服务器之间的交互,并且给定web页面在图5中被解说为对应于 www.cnn.com(或cnn.com)。然而,将领会,其他常规web页面加载规程可 完全绕过HTTP代理服务器并且可被引导以加载任何其他web页面。在图5中, 假定移动web浏览器不具有500处的关于给定web页面的任何重定向的专门知 识(例如,重定向通常被视为暂时的并且常规移动web浏览器通常将不高速缓 存重定向信息以供重用)。移动web浏览器向HTTP代理服务器传送对给定 web页面的请求(505),并且HTTP代理服务器将对给定web页面的请求转 发给与该给定web页面相关联的目标服务器(510)。目标服务器使用到替换 web页面的302重定向来对该请求作出响应(515),该替换web页面诸如是 给定web页面的移动版本(例如,www.edition.cnn.com或edition.cnn)。将领 会,302重定向中的“302”仅仅是重定向响应码示例。一般而言,以下描述出 于一致性而重用302作为响应码,但将容易地理解,也可使用其他响应码以用 于本文所描述的任何重定向。响应于来自目标服务器的302重定向,HTTP代 理服务器向客户端设备上的移动web浏览器发出对替换web页面的新请求 (520)。响应于该重定向消息,移动web浏览器向HTTP代理服务器传送对 替换web页面的请求(525),并且HTTP代理服务器将对替换web页面的请 求转发给与该替换web页面相关联的目标服务器(530)。在图5中,与给定 web页面和替换web页面相关联的目标服务器被示为同一服务器,但相应web 页面可替换地被不同服务器主存。目标服务器使用200 OK消息、关于替换web 页面的请求内容、以及关于替换web页面的cookie(例如, Cookie[edition.cnn.com],其关于web页面www.edition.cnn.com)来响应对替换 web页面的请求(535)。HTTP代理服务器将200 OK消息、关于替换web页 面的请求内容、以及关于替换web页面的cookie转发给客户端设备上的移动 web浏览器(540),并且移动web浏览器使用页面内容来加载替换web页面 并高速缓存关于替换web页面的cookie以供将来尝试加载替换web页面(545)。

如将领会的,将重定向消息推送回客户端设备上的移动web浏览器以使得 移动web浏览器可发起加载替换web页面的另一个单独尝试相对而言是低效 的。然而,如果HTTP代理服务器简单地尝试自己对302重定向消息作出响应 而不涉及客户端设备上的移动web浏览器,则会产生问题,如将关于图6描述 的。

参照图6,600到615对应于500到515,并因此为了简明起见将不再作进 一步描述。在620,取代如图5的520中将重定向消息发送回客户端设备上的 移动web浏览器,HTTP代理服务器取而代之自己请求替换web页面。相应地, 目标服务器使用200 OK消息、关于替换web页面的请求内容、以及关于替换 web页面的cookie(例如,Cookie[edition.cnn.com],其关于web页面 www.edition.cnn.com)来响应HTTP代理服务器对替换web页面的请求(625)。 HTTP代理服务器将200 OK消息、关于替换web页面的请求内容、以及关于 替换web页面的cookie转发给客户端设备上的移动web浏览器(630)。

然而,如本领域普通技术人员将领会的,包括HTML页面在内的许多web 资源要求移动web浏览器知晓从其下载资源的确切URL。其一个原因是使得移 动web浏览器能准确下载嵌入式资源的相对URL。在图6中,移动web浏览 器在605要求给定web页面(例如,www.cnn.com),但移动web浏览器在630 接收到不同web页面的内容(例如,www.edition.cnn.com)。因此,当移动 web浏览器实际上正在加载www.edition.cnn.com的内容时,移动web浏览器混 淆地认为它正在加载www.cnn.com的内容。出于此原因,当替换web页面正被 加载时,移动web浏览器可在635发出对嵌入式资源的相对URL的请求,并 且HTTP代理服务器将针对给定web页面的相关资源请求转发给目标服务器 (640)。然而,该资源是相关于替换web页面(并非给定web页面)的,从 而目标服务器返回404未找到错误消息(645)。出于此原因,移动web浏览 器将不能够在其显示器上加载替换web页面的相关资源(650)。

图7解说了根据本发明的一实施例的代理(或MOD)重定向的MOD-POD 实现。不同于图6,MOD可按将不导致关于替换(或重定向的)web页面的相 关资源加载问题的方式经由与POD的协调来代表客户端设备实现重定向。

参照图7,假定客户端设备如图2A或2B中关于客户端设备200所示地实 现,从而客户端设备被置备有POD 215,并且POD 215被配置成与MOD 225 通信。在700,移动web浏览器确定500要取回给定web页面。类似于图5-6, 为了方便解释,给定web页面在图7中被解说为对应于www.cnn.com。.在图 7中的700,假定给定web页面早先尚未被移动web浏览器请求,或者至少自 从移动web浏览器的高速缓存被清空以来未被移动web浏览器请求。因此,移 动web浏览器没有关于在700给定web页面的任何重定向或cookie的专门知 识。移动web浏览器尝试向相关联的目标服务器或HTTP代理服务器传送对给 定web页面的请求(705),但POD 215截取所尝试的请求并向MOD 225传送 该请求(710)。MOD 225将对给定web页面的请求转发给与给定web页面相 关联的目标服务器(715)。目标服务器使用到替换web页面的302重定向来 对该请求作出响应(720),该替换web页面诸如是给定web页面的移动版本 (例如,www.edition.cnn.com)。

在725,取代如图5的520中将重定向消息发送回客户端设备上的移动web 浏览器,MOD 225取而代之自己请求替换web页面。相应地,目标服务器使用 200 OK消息、以及关于替换web页面的请求内容来响应MOD对替换web页 面的请求(730)。

在图6的630,HTTP代理服务器简单地将重定向的内容转发给移动web 浏览器,就像它正在提供初始请求的web页面的内容一样,这在移动web浏览 器处加载web页面时导致错误。相应地,MOD 225将200 OK消息和关于替换 web页面的请求内容连同用于在客户端设备上模仿替换web页面的302重定向 规程的指令集(或“脚本”)一起转发给POD 215(735)。因此,取代向移 动web浏览器呈现重定向的内容(就像它是初始请求的内容一样),MOD 225 要求POD 215在具有移动web浏览器的客户端设备上重新创建(或模仿)从 720到730的重定向规程。735处可提供的脚本类型的一个示例如下:

HTTP/1.1 200 OKServer:nginx/1.2.1Date:Sun,08 Jul 2012 14:12:53  GMTContent-Length:21442Connection:closeContent-Type: application/MOD-WebScriptIskNextResponse:http://www.cnn.com/HTTP/1.1302  Moved TemporarilyServer:nginxDate:Sun,08 Jul 2012 14:12:58  GMTSet-Cookie:CG=IL:--:--;path=/Cache-Control:private, no-cacheVary:*Location:http://edition.cnn.com/IskNextResponse:http://edition.cnn .com/

HTTP/1.1 200 OKServer:nginxDate:Sun,08 Jul 2012 14:12:58  GMTContent-Type:text/html;charset=UTF-8IskContenType:text/html; charset=UTF-8Connection:keep-aliveSet-Cookie:CG=IL:--:--; path=/Cache-Control:max-age=60,privateVary:Accept-Encoding, User-AgentX-UA-Profile:desktopContent-Length:20798

参照图7,POD 215接收735的传输并且通过向移动web浏览器发送对替 换web页面的302重定向消息来实现“哄骗的”重定向规程(740),其提示 移动web浏览器用对替换web页面的请求来作出响应(745),对替换web页 面的请求被POD 215截取并且POD 215用200 OK消息和对替换web页面的请 求内容来响应该请求(750)。此时,移动web浏览器在理解它已被重定向到 替换web页面的情况下加载web页面(755),从而不发生图6中的加载错误。

将重定向规程从客户端设备自身外包到代理服务器(诸如,图6中的HTTP 代理服务器)难以实现的另一个原因涉及cookie管理。Web服务器通常使用 200 OK消息和页面内容(例如,在图5的535、图6的625、图7的730等) 来将关于web页面的cookie提供给该web页面的新请求方,如图8中所示。 为了提供关于图8-11的上下文,应领会,在常规cookie管理协议下,cookie 的范围被限定到始发cookie的特定域,并且接收cookie的web浏览器排他性 地向其相应的始发服务器进行发送。

图8解说了在第二次加载给定web页面的过程期间的图5的过程的继续。 图8类似于图5,不同之处在于,不同于图5的对替换web页面525和530的 请求,825和830处发送的请求包括由移动web浏览器在540获得且在545高 速缓存的替换web页面(例如,Cookie[edition.cnn.com])的cookie。通过在830 将cookie提供给目标服务器,目标服务器能够将移动web浏览器标识为对替换 web站点的重复访问,并且可加载因用户而异的设置(诸如举例而言内容的恰 适语言等)。

然而,在代理服务器代表客户端设备处置重定向的系统中(诸如图6或图 7中),代理服务器将处置重定向规程并且代理服务器没有必要知晓关于替换 web页面的cookie。例如,即使HTTP代理服务器在图6的630处将200 OK 消息和页面内容转发给移动web浏览器,HTTP代理服务器也不自己高速缓存 关于替换web页面的相关联cookie,并且由此不能在下一次HTTP代理服务器 尝试代表移动web浏览器加载替换web页面时使用该cookie。

为了解释此场景可产生的潜在问题,以下描述了图9作为图7的继续,其 假定图7在MOD 225不维护在图7的过程期间交换的任何cookie的记录的情 况下执行。

参照图9,在图7的755之后,假定客户端设备上的移动web浏览器具有 关于替换web页面的cookie(例如,Cookie[edition.cnn.com])、但不具有关于 给定web页面的cookie(由于重定向)(900),并且MOD 225不维护在图7 的过程期间交换的任何cookie的记录(905)。在这些假定下,如果移动web 浏览器确定要再次请求给定web页面(910),则移动浏览器尝试在915请求 该给定web页面,但不在其请求中提供关于给定web页面的cookie(因为其不 可用),并且也将不会在其请求中提供关于替换web页面的cookie(因为替换 web页面尚未被请求)。POD 215截取所尝试的请求并将该请求传送给MOD 225 (920),但出于以上关于915讨论的相同原因,所传送的请求也不包括cookie。 MOD 225将对给定web页面的请求转发给与给定web页面相关联的目标服务 器(925)。目标服务器使用到替换web页面的302重定向来对该请求作出响 应(930),该替换web页面诸如是给定web页面的移动版本(例如, www.edition.cnn.com)。此时,MOD 225不知晓关于替换web页面的cookie (例如,参见905),即使客户端设备上的移动web浏览器已高速缓存了该 cookie。因此,935到965实质上对应于725到755,从而目标服务器在不知晓 来自前一次替换web页面在图7处被加载的、客户端设备的cookie的情况下提 供页面内容。

图10和11解说了根据本发明的一实施例的图7和9的过程的经修改实现, 其准许MOD 225在替换web页面的第二次(或稍后)加载的重定向规程期间 获取关于替换web页面的cookie。

参照图10,1000到1030对应于图7的700到730,并因此为了简明起见 将不作进一步描述。在1035,MOD 225生成关于给定web页面的“打包”cookie (例如,Cookie[***cnn.com])。1035处生成的打包cookie不是从主存给定web 页面的web服务器提供的实际cookie,而是将被MOD 225使用以能够标识关 于替换web页面的cookie的伪cookie。因此,MOD 225维持对可被用于打包 cookie的函数或算法的访问以解包(或重构)原始cookie。在一示例中,打包 cookie可在MOD 225处通过向关于替换web页面的cookie应用base64(64基) 来生成,并且打包cookie可稍后被解包(参见图11的1125)以重构关于替换 web页面的cookie。在进一步示例中,打包cookie可在MOD 225处通过向关 于替换web页面的cookie应用加密函数或算法(例如,其在一个实现中可基于 base64)来生成,并且打包cookie可稍后通过应用解密函数或算法来解包(参 见图11的1125)以重构关于替换web页面的cookie。

在1040,MOD 225将200 OK消息、关于替换web页面的请求内容、关 于替换web页面的cookie以及打包cookie连同用于在客户端设备上模仿替换 web页面的302重定向规程的指令集(或“脚本”)一起转发给POD 215。1040 类似于图7的735,不同之处在于,1040的传输进一步包括打包cookie,其被 配置成被移动web浏览器解读成关于给定web页面(即,初始请求的web页面 或即www.cnn.com、而非替换web页面或即www.edition.cnn.com)的cookie。

参照图10,POD 215接收1040的传输并通过向移动web浏览器发送关于 替换web页面的302重定向消息来实现“哄骗的”重定向规程(1045)。然而, 1045的302重定向消息进一步包括打包cookie,就像打包cookie是关于给定 web页面的cookie一样。因此,将打包cookie包括在1045的302重定向消息 内使得由移动web浏览器接收到的302重定向消息不同于MOD 225在1020从 web服务器接收到的302重定向消息。

移动web浏览器高速缓存关于给定web页面的打包cookie(1050)。移动 web浏览器还用对替换web页面的请求来响应302重定向消息(1055),对替 换web页面的请求被POD 215截取,并且POD 215用200 OK消息、关于替换 web页面的请求内容以及关于替换web页面的cookie来响应该请求(1060)。 此时,移动web浏览器在理解它已被重定向到替换web页面的情况下加载web 页面(1065)。

参照图10,在图10的1065之后,假定客户端设备上的移动web浏览器 具有关于替换web页面的cookie(例如,Cookie[edition.cnn.com])并且还具有 打包cookie(例如,Cookie[***cnn.com]),移动web浏览器将该cookie解读 为关于给定web页面的cookie(1100)。在这些假定下,如果移动web浏览器 确定要再次请求给定web页面(1110),则移动浏览器尝试在1115请求给定 web页面,同时在其请求中提供打包cookie作为关于给定web页面的cookie。 POD 215截取所尝试的请求并向MOD 225传送具有打包cookie的请求(1120)。 MOD 225检测到打包cookie并使用打包cookie来查找关于替换web页面的 cookie(1125)(例如,通过向打包cookie应用算法或函数(诸如基于base64 的函数)以推导或重构关于替换web页面的cookie)。如上所述,用来重构或 “解包”cookie的算法或函数可以是解密函数,其逆转先前在初始打包规程期 间向cookie应用的加密。

MOD 225将对给定web页面的请求转发给与给定web页面相关联的目标 服务器(1130)(不具有打包cookie,因为打包cookie不会被目标服务器识别)。 目标服务器使用到替换web页面的302重定向来对该请求作出响应(1135), 该替换web页面诸如是给定web页面的移动版本(例如,www.edition.cnn.com)。 此时,MOD 225基于来自1125的查找操作得知关于替换web页面的cookie。 相应地,MOD 225向相关联的目标服务器请求替换web页面,同时提供关于替 换web页面的cookie(例如,Cookie[edition.cnn.com])。虽然未在图11中显 式示出,但应1140的请求来提供cookie尤其准许替换web页面的页面内容以 选择性的方式被加载以用于客户端设备。相应地,目标服务器使用200 OK消 息和关于替换web页面的请求内容来响应MOD对替换web页面的请求(1145)。 此时,图11的1150到1170实质上对应于945到965(除了包括关于替换web 页面的cookie是可任选的以外,因为目标服务器被提供该cookie并因此知晓请 求方客户端设备已具有cookie),如此出于简洁起见将不进一步描述。

本领域技术人员将领会,信息和信号可使用各种不同技术和技艺中的任何 一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、 信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、 光场或光粒子、或其任何组合来表示。

此外,本领域技术人员将领会,结合本文中所公开的实施例描述的各种解 说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或 两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、 模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性 是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术 人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现 决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑框、模块、以及电路可用 设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用 集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分 立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处 理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、 控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如 DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理 器、或任何其它此类配置。

结合本文中所公开的实施例描述的方法、序列和/或算法可直接在硬件中、 在由处理器执行的软件模块中、或者在这两者的组合中体现。软件模块可驻留 在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄 存器、硬盘、可移动盘、CD-ROM、或者本领域中所知的任何其他形式的存储 介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写 信息。替换地,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC 中。ASIC可驻留在用户终端(例如,UE)中。替换地,处理器和存储介质可 作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其 任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代 码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储 介质和通信介质两者,包括促成计算机程序从一地向另一地转移的任何介质。 存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的 计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、 磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的期 望程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算 机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户 线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服 务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或 诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如 本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、 数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数 据,而碟(disc)用激光以光学方式再现数据。上述的组合应当也被包括在计 算机可读介质的范围内。

尽管上述公开示出了本发明的解说性实施例,但是应当注意到,在其中可 作出各种更换和改动而不会脱离如所附权利要求定义的本发明的范围。根据本 文中所描述的本发明实施例的方法权利要求的功能、步骤和/或动作不必按任何 特定次序来执行。此外,尽管本发明的要素可能是以单数来描述或主张权利的, 但是复数也是已料想了的,除非显式地声明了限定于单数。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号