CN102687487A - 用于提供客户端高速缓存的方法和设备 - Google Patents

用于提供客户端高速缓存的方法和设备 Download PDF

Info

Publication number
CN102687487A
CN102687487A CN2010800599554A CN201080059955A CN102687487A CN 102687487 A CN102687487 A CN 102687487A CN 2010800599554 A CN2010800599554 A CN 2010800599554A CN 201080059955 A CN201080059955 A CN 201080059955A CN 102687487 A CN102687487 A CN 102687487A
Authority
CN
China
Prior art keywords
equipment
session
script file
request
client
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
CN2010800599554A
Other languages
English (en)
Other versions
CN102687487B (zh
Inventor
付岩
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=44188755&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN102687487(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN102687487A publication Critical patent/CN102687487A/zh
Application granted granted Critical
Publication of CN102687487B publication Critical patent/CN102687487B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

提供一种用于在网络通信中提供客户端高速缓存的方法。客户端高速缓存模块从设备接收对关联于web内容的脚本文件的请求,所述脚本文件支持在所述设备出的客户端高速缓存。客户端高速缓存模块识别所述请求是经由支持连接重用的连接接收的。客户端高速缓存模块确定所述请求是否是首次请求。如果请求是首次请求,则客户端一致性模块从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,并且经由所述连接发起对于所述脚本文件的后续请求。如果请求是后续请求,则客户端高速缓存模块将所述脚本文件中的会话变量标记为可在所述设备处高速缓存,并且至少部分地使得脚本文件向所述设备发送。

Description

用于提供客户端高速缓存的方法和设备
背景技术
网络服务提供商和设备制造商继续受到通过例如提供拼写网络服务向消费者递送价值和便利的挑战。一个极大改进用户体验的网络特征是例如会话变量的客户端高速缓存,其中,所述会话变量为网络服务提供例如个性化、自动用户认证和其它形式会话持久化的特征。特别地,客户端持久化或高速缓存使客户端设备能够本地存储信息,其中,所述信息用于认证、会话跟踪(例如状态维护)等,以及用于记住关于用户的特定信息,例如服务习惯选择、浏览历史、之前的活动等。当用户开始服务会话(例如web浏览会话)并且然后在稍后的时间继续该会话时,该信息可以然后被用于提供用户服务体验上的连续性。然而,因为用于提供所述持久化的信息(例如登录证书、网站访问历史等)可能是敏感的,所以服务提供商和设备制造商面临重大技术挑战,所述挑战在于,在提供来自客户端高速缓存机制的增加的功能的同时,保护信息不被公开或恶意利用。
发明内容
因此,存在对可替换方法的需求,所述可替换方法用于提供克服上面提到的限制的客户端高速缓存。
根据一个实施例,一种方法包括,从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存。所述方法还包括,识别所述请求是经由支持连接重用的连接接收的。所述方法进一步包括,确定所述请求是否是首次请求。如果所述请求是首次请求,则所述方法包括,从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对于所述脚本文件的后续请求。如果所述请求是后续请求,则所述方法还包括,在所述脚本文件中将所述会话变量标记为可在所述设备处高速缓存,以及至少部分地使得所述脚本文件向所述设备发送。
根据另一实施例,一种设备,包括至少一个处理器和至少一个包括计算机程序代码的存储器,所述至少一个存储器和所述计算机程序代码被配置为,通过使用所述至少一个处理器,至少部分地使得所述设备从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存。还导致所述设备,识别所述请求是经由支持连接重用的连接接收的。进一步导致所述设备,确定所述请求是否是首次请求。如果所述请求是首次请求,则进一步导致所述设备,从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对于所述脚本文件的后续请求。如果所述请求是后继请求,则进一步导致所述设备,在所述脚本文件中将所述会话变量标记为可在所述设备处高速缓存,以及至少部分地使得所述脚本文件向所述设备发送。
根据另一实施例,一种计算机可读存储介质,携带一个或更多一个或更多指令的序列,所述一个或更多一个或更多指令的序列当被一个或更多处理器执行时,至少部分地使得设备从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存。还导致所述设备,识别所述请求是经由支持连接重用的连接接收的。进一步导致所述设备,确定所述请求是否是首次请求。如果所述请求是首次请求,则进一步导致所述设备,从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对于所述脚本文件的后续请求。如果所述请求是后继请求,则进一步导致所述设备,在所述脚本文件中将所述会话变量标记为可在所述设备处高速缓存,以及至少部分地使得所述脚本文件向所述设备发送。
根据另一实施例,一种设备包括这样的装置,所述装置用于从设备接收对于与关联于web内容的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存。所述设备还包括这样的装置,所述装置用于识别所述请求是经由支持连接重用的连接接收的。所述设备进一步包括这样的装置,所述装置用于确定所述请求是否是首次请求。如果所述请求是首次请求,则所述设备进一步包括这样的装置,所述装置用于从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对于所述脚本文件的后续请求。如果所述请求是后续请求,则所述设备包括这样的装置,所述装置用于在所述脚本文件中将所述会话变量标记为可在所述设备处高速缓存,以及,至少部分地使得所述脚本文件向所述设备发送。
从以下详细描述中,简单地通过示出包括所设想的用于实现本发明的最佳模式的许多特定实施例和实现,本发明的仍然其它方面、特征和优势是显而易见的。全部在不脱离本发明的精神和范围的情况下,本发明还能够做出其它的并且不同的实施例,并且可以在各个显而易见的方面修改其若干细节。相应地,应当把附图和说明书看作本质上是示例性的,并且不是限制性的。
附图说明
在附图的图中,作为示例并且不作为限制示出了本发明的实施例,其中:
图1是根据一个实施例的能够提供客户端高速缓存的系统的图;
图2是根据一个实施例的客户端高速缓存模块的部件的图;
图3是根据一个实施例的向设备提供对于web内容的首个请求的客户端高速缓存的过程的流程图;
图4是根据一个实施例的用户从服务器请求web内容的过程的流程图;
图5是根据一个实施例的向设备提供对于web内容的后续请求的客户端高速缓存的过程的流程图;
图6是时序图,其示出了根据一个实施例的用于提供客户端高速缓存的消息序列和过程;
图7是根据一个实施例的示例性用户界面的图,所述用户界面用于提供与客户端高速缓存相关的数据;
图8是可以用于实现本发明的一个实施例的硬件的图;
图9是可以用于实现本发明的一个实施例的芯片组的图;以及
图10是可以用于实现本发明的一个实施例的移动终端(例如手机)的图。
具体实施方式
公开了用于提供客户端高速缓存的方法、设备和计算机程序的示例。在以下描述中,为了说明目的,阐述了大量特定细节,以便提供对本发明的实施例的深入理解。然而,对于本领域的技术人员显而易见,可以在没有这些特定细节或具有等价安排的情况下实践本发明的实施例。在其它情况下,以框图形式示出了众所周知的结构和设备,以便避免不必要地使本发明的实施例晦涩难懂。
图1是根据一个实施例的能够提供客户端高速缓存的系统的图。如前面指出的,许多应用在用户设备(即客户端)上而非仅在服务器上存储用于完成或继续应用(例如web应用)功能和任务的数据。这样,应用可以在需要时降低服务器负载并且在客户端上完成互联网任务,由此还减少网络带宽和资源使用。在用户设备处所存储或高速缓存的数据一般称为客户端持久数据。在一个实施例中,客户端持久数据是偶发连接计算(OCC)需求的解决方案,其中,所述偶发连接计算对于这样的体系结构或框架进行计算,所述体系结构或框架允许在未连接到互联网时运行web应用的某些方面。OCC是基于以下观点的软件体系结构:终端用户应该能够甚至在临时被断开时或在无线连接出故障或否则不可用时继续与互联网应用一起运转。因此,对于将可在缺少互联网连接时运转的应用,该用于所需的数据需要被存储在客户现场设备上。
另外,应当设想,当不存在网络连接,但服务或应用仍然优选或被配置为在客户设备上存储用于维持功能连续性的数据时,也可以使用OCC原理。历史上,使用cookie是最受欢迎的存储客户端持久化数据的方法中的一个。cookie(例如浏览器cookie或超文本传输协议(HTTP)cookie)一般是由例如web浏览器或其它应用存储在用户设备上的少量文本。cookie由一个或更多包含有限位数信息的名值对组成,所述信息例如是用户习惯选择、购物车内容、基于服务器的会话的标识符或由网站使用的其它数据。然而,对于使用cookie,存在问题和缺点。例如,cookie是特定于单一域或web页面的。换句话说,每两个来自不同域的服务器将需要不同的cookie,即使该两个服务器提供可以共享公共登录证书的相关服务(例如,由位于不同域的公共服务提供商提供的日历和电子邮件服务)。相应地,用户为访问所述相关网站可能不得不输入冗余信息。进一步地,存储和管理随着用户访问更多网站而始终增长的cookie列表需要更多存储器空间和资源。在某些情况下,cookie可以降低系统安全性,因为其可以被入侵者用于攻击系统或盗取用户数据。现在,对于许多用户和甚至网络运营商来说禁用或拦截cookie是常见的,使得客户端持久化或高速缓存的促进对许多用户不可用。
此外,基于脚本语言(例如JavaScript)的客户端持久化或高速缓存已通常限于提供存储在全局变量中的静态持久化信息,所述全局变量不能被改变或删除。该限制主要从以下情况下发生:当脚本文件首次在用户设备处被高速缓存(例如由用户设备的浏览器应用)时,脚本文件保持被高速缓存,并且通常不能使用动态信息(例如持久化或状态信息)来更新。换句话说,在将脚本文件用于提供客户端持久化或高速缓存的传统使用中,一旦嵌入在web内容中的脚本首次被加载并与伴随的web内容一起被高速缓存,则该文件不能被更新为反映关于该web内容的使用活动。相应地,任何所述持久化或其它被高速缓存的信息将不得不在用户与内容进行交互之前是提前已知的并被嵌入在内容中,由此限制了所述形式的脚本文件的可能应用。
为解决该问题,图1的系统100引入了由服务器使用程序脚本提供客户端高速缓存的能力,其中,所述程序脚本是可在该脚本的初始访问和高速缓存之后动态更新的。特别地,系统100使能够区分对包括同一脚本文件的web内容的两个或更多请求。在首次访问脚本时,系统100可以请求会话配置信息。然后在后续访问时,系统100可以将会话配置信息并入脚本以便进行在客户设备处的高速缓存和使用。通过使用如此处描述的方法中引入的用于生成脚本的两步骤过程,系统100克服了脚本文件当用于提供客户端高速缓存时的静态内容限制。基于脚本的客户端持久化或高速缓存还有优势地克服了传统cookie的限制,所述限制例如是有限的数据能力(例如由于cookie的较小尺寸)、可应用于仅一个域(例如,由cookie提供的持久化是有限的并且受约束于安全漏洞)。
如图1中所示,系统100包括用户设备(UE)101,该用户设备101具有经由通信网络105到一个或更多web服务器103a-103n的连接。在一个实施例中,UE 101可以利用由服务器103a-103n中的一个或更多管理的客户端持久化或高速缓存来从网站访问信息或web内容。例如,UE 101使用浏览器应用(例如会话客户端111)向服务器103a-103n中的至少一个发送对web内容的请求。一旦接收到请求,则web服务器103生成包括脚本文件(例如JavaScript文件)的web内容代码(例如超文本标记语言(HTML)代码),其中,所述脚本文件用于存储web会话信息和提供客户端持久化。在一个实施例中,服务器103用于生成客户端持久化脚本文件的客户端高速缓存模块107。脚本文件提供用于以下的逻辑:(1)创建用于存储用户标识、认证或其它会话相关信息的会话变量;(2)将会话变量存储在脚本文件中;以及然后(3)在UE 101处(例如在UE 101的本地高速缓存器113中)高速缓存包含会话变量的脚本文件。已高速缓存的会话变量可以然后在将来请求同一web内容和/或会话时被从本地高速缓存器113中检索出,并被用于提供客户端持久化。
在一个实施例中,当UE 101的会话客户端111访问所请求web内容中所引用的脚本文件时,脚本文件导致客户端持久化模块107确定该请求是否是用于访问该内容的首次请求(即,客户端持久化文件已被创建之前的请求,或不存在任何之前的会话信息的请求)。如果该请求是首次请求,则客户端持久化模块107基于从UE 101或UE 101的用户收集的会话配置信息创建会话变量,将那些变量存储为会话变量,并且立即指示会话客户端111刷新包括伴随的脚本文件的web内容的提供(render)。在进行刷新时,客户端高速缓存模块107检测到会话客户端111正在第二次(或后续)请求对内容和脚本文件的访问。同时,刷新使能够清除web内容中提供的初始脚本文件,从而客户端高速缓存模块107可以高速缓存已更新版本的脚本文件(例如,被修改为包含会话配置变量的版本的脚本文件)。特别地,第二次请求的检测和区分导致例如客户端高速缓存模块107a完成脚本文件创建过程,其通过将会话变量保存在脚本文件中,将脚本文件标记为用于在UE 101处进行高速缓存,以及将脚本文件发送到UE 101。
应当指出,此处描述的过程取决于客户端高速缓存模块107a区分对于同一web内容的两次请求的能力。然而,多数web内容当前使用HTTP来递送,其中,HTTP被一般地定义为无状态客户/服务器协议。因此,HTTP服务器通常不能识别对于相同源的两个请求之间的任何差别。因此,使用HTTP区分所述请求是重大技术挑战。为解决该挑战,客户端高速缓存模块107a利用UE 101与服务器103之间支持连接重用的连接(例如持久连接)的可用性来创建和在脚本文件中高速缓存会话变量。当用在此处时,支持连接重用的连接是指可以使用同一连接处理多个请求/响应事务的连接。例如,HTTP的当前版本(例如1.1)引入KeepAlive连接作为支持连接重用的一种类型的连接。这些类型的连接可以也被称为持久连接。因为多个请求可以在同一连接上被处理,KeepAlive连接的本质使客户端高速缓存模块107a能够在请求在同一连接(例如持久连接)上被接收时确定对同一web资源的请求的相对顺序。这样,客户端高速缓存模块107a可以顺序地生成会话变量,将其并入脚本文件(即更新脚本文件),以及在UE101处高速缓存已更新的脚本文件。
应当指出,尽管关于HTTP 1.1KeepAlive连接描述了系统100的各种实施例,但应当设想,此处描述的方法适用于任何持久连接、支持web服务器与客户端之间的连接重用的其它类型连接,或者用于确定对同一web内容或资源的两个请求的相对顺序的机制。例如,在特定实施例中,系统100可以利用将HTTP与传输层安全(TLS)/安全套接字层(SSL)合并的超文本传输协议安全(HTTPS)来提供加密和服务器的安全标识。特别地,HTTPS在此处描述的方法中的使用使系统100即使客户端在服务器上产生了新套接字连接也能够使用关联于每个HTTPS连接的会话标识符(会话ID)来关联客户端与服务器对。此在多个套接字连接上关联客户端与服务器对的能力使系统100能够为已配对客户端与服务器之间的多个请求重用连接。连接的重用接着使系统100能够确定请求的相对顺序或序列。
会话客户端111可以然后使用已高速缓存的脚本文件和会话变量来提供所请求的web内容,并且在多个web会话之间提供客户端持久化。例如,UE 101的用户可以关闭会话客户端111,重启其,并且再次请求同一会话。在此情况下,UE 101已在本地高速缓存器113中具有了会话变量(例如在已高速缓存的脚本文件内),并且因此,用户将不被客户端高速缓存模块107提示提供配置数据,除非用户选择重载会话或提前使会话数据被从本地高速缓存器113中移除。
作为示例,系统100的通信网络105包括一个或更多网络,所述网络例如是数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或其任意组合。应当设想,数据网络可以是任意局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网络(例如互联网)或任意其它合适的分组交换网络,所述分组交换网络例如是商业拥有的私有分组交换网络,例如私有电缆或光纤网络。另外,无线网络可以是例如蜂窝网络,并且可以利用包括增强数据速率的全球演进(EDGE)、通用分组无线电业务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等的各种技术,以及例如微波接入全球互连(WiMAX)、长期演进(LTE)网络、码分复用(CDMA)、宽带码分复用(WCDMA)、无线高保真(WiFi)、卫星、移动自组网络(MANET)等的任意其它合适的无线介质。
UE 101是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站、单元、设备、多媒体计算机、多媒体图形输入板、互联网节点、发报机、桌面计算机、膝上电脑、个人数字助理(PDA)或其任意组合。还设想,UE 101可以支持任意类型的与用户的界面(例如“可穿戴”电路等)。
作为示例,UE 101和客户端高速缓存模块107a-107n使用已熟知的、新的或仍在开发中的协议相互或与通信网络105的其它部件进行通信。在该上下文中,协议包括一组规则,所述规则定义通信网络105内的网络节点如何基于在通信链路上发送的信息相互进行交互。协议在每个节点内在不同运转层上起作用,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到对由那些信号指示的信息的格式化,到识别运行在计算机系统上的哪个软件应用发送或接收该信息。用于在网络上交换信息的协议的概念上的不同层在开放系统互连(OSI)参考模型中描述。
网络节点之间的通信通常通过交换离散的数据分组来实现。每个分组通常包括(1)关联于特定协议的报头信息,以及(2)净荷信息,所述净荷信息跟随在报头信息之后,并且包含可以独立于该特定协议而被处理的信息。在某些协议中,分组包括(3)尾部信息,该尾部信息跟随在净荷之后,并且指示净荷的结束。报头包括例如分组的源、其目的地、净荷的长度以及被协议使用的其它属性的信息。通常,用于特定协议的净荷中的数据包括用于不同协议的报头和净荷,其中,所述不同协议与OSI参考模型的不同的、较高层相关联。用于特定协议的报头通常指示被包含在其净荷中的下一个协议的类型。可以说较高层协议被封装在较低层协议中。被包括在穿过例如互联网的多个异构网络的分组中的报头通常包括如由OSI参考模型定义的物理(1层)报头、数据链路(2层)报头、互联网(3层)报头和传输(4层)报头以及各种应用报头(5层、6层和7层)。
图2是根据一个实施例的客户端高速缓存模块的部件的图。作为示例,客户端高速缓存模块107包括一个或更多用于使用脚本文件提供客户端持久化的部件。应当设想,这些部件的功能可以被合并到一个或更多部件中,或者可以由具有等价功能的其它部件来实施。在该实施例中,客户端高速缓存模块107包括至少一个处理器201或其它控制逻辑,所述处理器201或其它控制逻辑用于执行至少一个用于实施客户端高速缓存模块107的功能的算法。例如,处理器201与连接检测器203进行交互,以便识别对于同一web内容或会话的特定一个或多个请求是否是经由支持连接重用的连接(例如KeepAlive连接或其它持久连接)接收的。在一个实施例中,连接检测器203可以访问会话客户端111用于与web服务器103进行通信的套接字(例如传输控制协议(TCP)套接字)。连接检测器203可以获取关联于套接字的标识符(例如套接字标识符(ID)),以便将对应连接识别为支持连接重用的连接(例如持久连接)。另外或可替换地,web服务器103可以使用不同的工作进程/线程来处理对于web资源的每个新到来请求。工作进程/线程然后在同一连接中处理客户端与web服务器103之间的进一步请求。由此,连接检测器203可以确定关联于合适的工作进程/线程的标识符,以便识别持久或可重用连接。
在识别连接之后,如关于图1描述的那样,处理器201与脚本模块205进行交互以便生成可高速缓存的会话变量。特别地,脚本模块205确定客户端持久化脚本何时被首次高速缓存在UE 101处(例如,何时不存在之前保存的会话数据或会话数据已被清除)。如关于图1描述的那样,使用支持连接重用的连接来实施所述检测。如果确定脚本文件首次被高速缓存,则脚本模块205与数据收集模块207进行交互,以便从UE 101或UE 101的用户收集会话配置信息。在一个实施例中,数据收集模块207发起向UE101的用于收集信息的表单的发送。当接收到会话配置信息时,数据收集模块207可以将该信息作为会话变量存储在会话数据库109中以便进行处理。然后,当脚本模块205检测到对脚本文件的第二次或后续请求时,脚本模块205可以将会话变量并入脚本文件,并且将文件和变量标记为用于在UE 101处进行高速缓存。
图3是根据一个实施例的用于提供客户端高速缓存的过程的流程图。在一个实施例中,客户端高速缓存模块107实施过程300,并且在例如图9中所示的包括处理器和存储器的芯片组中被实现。在步骤301中,客户端高速缓存模块107从UE 101接收到对于访问web内容的请求。该请求可以包括对于会话脚本的请求。作为对该请求的响应,客户端高速缓存模块107确定该请求是否是在UE 101与web服务器103之间的支持连接重用的连接上接收的(步骤303)。在一个实施例中,模块107可以验证用于进行通信的HTTP版本以及其是否支持所述连接(例如KeepAlive连接或其它持久连接)。如果请求不是在持久或可重用连接上接收的,则过程300结束。如果请求是在持久或可重用连接上接收的,则客户端高速缓存模块107确定该脚本文件请求(以及后续的高速缓存)是否是首次请求(步骤305)。如之前描述的,为区分首次请求与后续请求,服务器可以识别不同KeepAlive连接,所述识别是通过由服务器进行的用于识别KeepAlive连接的几种方法中的任一个。例如,由于客户端高速缓存模块107可以访问被web服务器103和UE 101的会话客户端111用于进行通信的TCP套接字,所以套接字ID可以被用于区分KeepAlive会话。此外,web服务器103可以使用不同的工作进程/线程来处理每个新的到来请求。通常,特定工作进程/线程将也在同一KeepAlive连接中处理进一步的请求。因此,客户端高速缓存模块107可以使用工作进程/线程ID来识别不同的KeepAlive会话。
如果请求是首次请求,则客户端高速缓存模块107将脚本标记为被请求了一次,从而,下一次其被请求时,客户端高速缓存模块107知道该脚本之前已被请求了一次,并且应当使用会话信息(如果可用的话)来更新。由于这是首次请求,所以客户端高速缓存模块107生成用于在主动请求的UE与被请求的web内容之间进行通信的会话。为创建会话,如在步骤309中所示的那样,客户端高速缓存模块从主动请求的UE 101收集会话配置信息。配置信息可以包括用户标识和认证信息、UE 101规格、被请求的网站地址、任何可能影响用户对被请求网站内容的访问的规则等。会话配置信息的某些部分可以从设备规格自动地收集,然而,例如用户标识或登录证书的信息的剩余部分从UE 101的用户来收集。为收集用户相关的信息,客户端高速缓存模块107向用户提供用于输入会话配置信息的界面。在收集会话配置信息(例如,或者自动地从UE 101,或者手工地从用户)之后,客户端高速缓存模块107使用收集的信息指定会话变量(步骤311)。会话变量被包括在更新的会话脚本文件中,其中,所述更新的会话脚本文件将在检测到对访问该脚本文件的第二个请求时被发送到UE 101。相应地,客户端高速缓存模块107发起第二个请求,其是通过例如指示会话客户端111刷新或重载被请求的web内容(步骤313)。
由于刷新和重载,当客户端高速缓存模块107返回到步骤305以确定对于web内容和脚本文件的请求是否是首个请求时,模块107确定该请求是第二个请求,并且不是首个请求。这意味着,用于被请求会话的会话变量已被指定。换句话说,客户端高速缓存模块107已完成了如关于步骤307到313所描述的用于生成会话变量的过程。从在步骤307中标记的脚本得知这是第二个请求,客户端高速缓存模块107把在步骤311中指定的会话变量标记为可高速缓存的,从而UE 101能够将变量存储在其本地高速缓存113中(步骤315)。在步骤317中,客户端高速缓存模块107将会话变量发送到UE 101。例如,会话变量被包括在会话脚本文件中,以及,脚本文件与web内容一起被发送到UE 101。换句话说,因为web内容包括嵌入的脚本文件,所以对脚本文件的第二个请求导致更新的脚本文件(例如包括会话变量的脚本文件)的发送,以便在UE 101处进行高速缓存。
在另一实施例中,客户端高速缓存模块107可以限制会话变量的范围,以便防止入侵者获取对会话变量的访问,所述获取是通过例如邀请用户访问恶意网站、在网站中放置对原始服务器上的会话的引用、将浏览器设置改变为代替从服务器而从本地高速缓存加载会话,或将浏览器设置为将会话变量发回恶意站点。作为示例,模块107可以通过代替全局变量而使用本地变量作为会话变量来限制变量的范围。此外,模块107可以对被允许访问变量的网站施加限制。表1的样例代码是所述范围限制的一种实现。
表1
Figure BDA00001828221600131
表1中的window.location.host是保留变量,其识别当前页面被下载自的网站的主机名。因此,通过使用该技术,会话变量的范围被灵活地设置。例如,网站“sample1.com”可以建立会话变量并允许“sample2.com”使用该变量。相反,传统cookie对会话变量有严格限制,从而cookie会话变量可以仅在该cookie被建立所在的初始web服务器的范围内被使用。
图4是根据一个实施例的、用户从服务器请求web内容的过程的流程图。在一个实施例中,UE 101的会话客户端111实施过程400,并且可以在例如图9中所示的包括处理器和存储器的芯片组中被实现。在一个实施例中,UE 101激活会话客户端111,以便获得使用客户端持久化或高速缓存对web内容的访问。在步骤401中,会话客户端111生成对于UE 101与web服务器103之间用于所述内容的通信建立请求,并且将该请求发动到服务器103。因为web内容包括客户端持久化,所以会话请求还包括对可以提供客户端持久化的脚本文件的请求。在步骤403中,会话客户端111从服务器接收到对于提供与会话建立相关的信息(例如用户ID、密码等)的请求。在一个实施例中,服务器数据收集请求可以包括用于手工输入会话配置信息的表单。另外或可替换地,服务器103(例如经由客户端高速缓存模块107)可以直接从UE 101(例如从本地高速缓存器113)读取会话配置信息。如果用户信息被服务器经过步骤407认可(例如信息包括任何用于检索内容的认证信息),则会话客户端111从服务器接收会话发起允许(步骤409)。作为示例,所述允许可以包括用于如关于图3的步骤313描述的那样发起对脚本文件的第二个请求的命令或消息(例如刷新命令)。当接收到允许和/或刷新命令时,会话客户端111使用包括在允许消息中的信息在步骤411中向服务器发送对脚本文件的第二个请求。在步骤413中,会话客户端111接收到所请求的脚本文件,该脚本文件包括按照过图3的步骤317生成的会话变量。由于服务器已将会话变量标记为可在客户端高速缓存,所以会话客户端111在本地高速缓存器113中刷新并存储会话变量(步骤415)。在步骤417中,会话客户端111通过由服务器生成的会话并且使用来自UE 101的本地高速缓存器113的会话变量与网站进行通信。
在另一实施例中,会话客户端111可以向服务器103发送这样的请求,所述请求已被使用持久化或其它已高速缓存的信息进行了调整。换句话说,会话客户端111基于存储在本地高速缓存器113中的会话变量修改内容请求,使得该请求将特别要求提供之前会话的继续的内容。服务器103然后返回仅满足已调整请求的内容。另外,会话客户端111可以在对来自服务器103的内容的请求中包括认证报头。该认证从客户端高速缓存中找到,并且服务器103返回所请求的内容。
图5是根据一个实施例的过程的流程图,该过程用于向设备提供用于web内容的后续请求的客户端高速缓存。如图3中可见的,首次UE 101请求特定网站的web内容时,UE 101与网站之间的通信会话(例如web会话)由对应的web服务器103生成。作为创建该web会话的一部分,如之前描述的那样,web服务器103的客户端高速缓存模块107生成并在UE101的本地高速缓存器113中高速缓存会话变量。因此,对于UE 101的会话客户端111产生的对同一web内容或网站的任何后续请求,会话变量可以由会话客户端111从本地高速缓存器113中检索出。相应地,在步骤501中,服务器103从UE接收到对web内容的请求,其中,该web内容之前已被同一UE 101经由会话客户端111请求过。web服务器向会话客户端111返回所请求的web内容。作为响应,会话客户端通过从本地高速缓存器113检索参考客户端持久化脚本来提供web内容。特别地,会话客户端111从已高速缓存的脚本文件中提取会话变量,并且应用会话变量以提供和呈现内容。这样,内容可以以由之前web会话确定的状态被呈现。
图6是时序图,示出了根据一个实施例的用于提供客户端持久化的消息序列和过程。网络进程用竖线来代表。从一个进程传递到另一个的消息用水平箭头来代表。由进程实施的步骤用文本来指示。图6中所代表的进程是UE 101的会话客户端111和web服务器103。图6的示例讨论用于使用JavaScript和HTTP提供客户端持久化的过程600。
在605处,会话客户端111请求包括客户端持久化支持的web服务器103上的网页。web服务器103返回网页作为“session.php”,其中,“session.php”进一步引用客户端持久化脚本文件“session-js.php”。当接收到网页时,会话客户端111产生用于提供session.php网页的对session-js.php脚本的请求(在607处)。在本示例中,web服务器103确定该请求是会话客户端111首次请求session-js.php脚本(在609处),并且在session-js.php脚本中为会话客户端111或会话客户端111的用户生成用于生成新会话的表单(在611处)。
在613处,会话客户端111的用户填充表单,以及,会话客户端111将表单结果发送到web服务器103上的单独网页“interim.php”。当接收到interim.php网页时,web服务器103根据表单中提供的信息准备会话信息(在617处)。同时,web服务器103将浏览器重定向回session.php网页,以便在会话客户端111处刷新网页和对应脚本(在619处)。
作为重定向的响应,会话客户端111产生向web服务器103对session.php网页的另一请求(在621处)。当提供session.php网页时,会话客户端111还基于来自web服务器103的重定向或刷新命令产生对在session.php网页中所引用的session-js.php脚本的另一请求(在623处)。web服务器103接收到已重定向的对session-js.php脚本的请求,并且确定该已重定向的请求是对于session-js.php脚本的第二个请求(在625处)。相应地,web服务器103从在617处收集的信息创建会话变量,并且在session-js.php脚本中返回会话变量(在627处)。在发送更新的脚本之前,web服务器103还将会话变量标记为可在客户端处(例如在UE 101处)高速缓存。更新的session-js.php然后被会话客户端111用于基于会话变量完成session.php网页的提供。
在一个实施例中,JavaScript可以当作与web内容相关联的脚本文件的语言被使用。表2是使用JavaScript并且关于图6的过程被描述的会话的样例实现。
表2:样例实现
Figure BDA00001828221600161
Figure BDA00001828221600171
表2的第一个组件(COMPONENT1)是初始化组件,在其中定义了会话变量的主机名和位置。表2的组件2(COMPONENT2)是如在图3中讨论的脚本文件。回头参考图6的过程605,会话客户端111使用GET命令向web服务器103请求,并且要求session.php网页,其中,该session.php网页是表2中的组件4。
如在表2的组件4(COMPONENT4)中可见的,session.php网页如在图6的过程607中反映的那样引用session-js.php脚本。session-js.php脚本被示为表2的组件2。脚本session-js.php被服务器执行使得服务器103如根据图6的过程609那样检查这是否是对该文件脚本的第一个请求并创建新会话。在611处,服务器向UE发送对会话配置所需的用户数据的请求。在613处,用户将所请求的信息输入由服务器103提供的界面中,并且根据过程615,会话客户端111通过interim.php将该信息发送给服务器103,其中,interim.php是表2的组件3(COMPONENT3)。在图6的617处,服务器103基于通过interim.php从用户接收的配置信息准备脚本文件(例如session-js.php)的内容,以及在619处,服务器103第二次将用户定向到session.php。过程621和623是过程605和607的第二次重复,其中,session.php的提供将调用session-js.php。然而与609处不同,服务器103知道这是对session-js.php的第二个请求(在625处)。因此,服务器103将在过程617中准备的会话变量标记为可高速缓存,并根据过程627将所述变量发送给会话客户端111。
所描述的方法未对会话变量施加任何限制,这意味着变量可以甚至是编程语言(例如JavaScript)的函数。把会话变量建立在脚本语言的基础上有利地使脚本文件能够支持更多样和更高质量的客户端持久化功能。相反,如之前指出的,cookie是较小有限尺寸的字符串,其功能容易和例行地被限制,或否则受限于规范、运营商、用户、应用(例如浏览器)等。此外,在所描述的方法中,会话变量可以被灵活地配置为被一个或更多网站使用,而cookie通常可以仅在其最初被设置所在的网站上使用。所引入的过程还有利地使客户端持久化脚本能够被动态地更新,以便反映变化的会话变量和情况。
图7是根据一个实施例的用于提供与客户端高速缓存相关的数据的示例性用户界面的图。如之前描述的,为在UE 101与网站之间生成对话,web服务器103可以从用户请求会话配置信息。在此情况下,服务器103可以创建表单并将其发送到UE 101的会话客户端111,以便用户和/或UE101填完整并将其返回给服务器103。图7是请求所述信息的样例用户界面。在本示例中,用户和/或UE 101将输入用于认证目的的用户ID和密码。取决于所请求的web内容,服务器103可以还要求其它信息,例如用户的邮政编码、年龄和使用下拉菜单的感兴趣类别,以便能够为用户提供更好或定制的服务。
此处描述的用于提供客户端高速缓存的过程可以经由软件、硬件(例如通用处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)、固件或其组合来有利地实现。下面详述用于实施所描述的功能的所述示例性应用。
图8示出了计算机系统800,其中,本发明的实施例可以在其上被实现。尽管关于特定设备或装置示出了计算机系统800,但应当设想,在图8内,其它设备或装置(例如网络单元、服务器等)可以部署所示的系统800的硬件和部件。计算机系统800被编程为(例如经由计算机程序代码或指令)如此处描述的那样提供客户端高速缓存,并且包括例如总线810的通信设备,所述通信设备用于在计算机系统800的其它内部和外部部件之间传递信息。信息(也称为数据)被表示为可测量现象的物理表达,所述可测量现象通常是电压,但在其它实施例中包括例如磁、电磁、压力、化学、生物、分子、原子、次原子、量子作用的现象。例如,例如北和南磁场、或零和非零电压代表二进制数字(位)的两个状态(0,1)。其它现象可以代表更高基数的数字。测量前对多个同时定量状态的叠加代表定量位(qubit)。一个或更多数字的序列构成数字数据,所述数字数据被用于代表数量或字符的代码。在某些实施例中,称为模拟数据的信息用特定范围内的接近连续的可测量值来表示。计算机系统800或其部分构成这样的装置,所述装置用于实施提供客户端高速缓存的一个或更多步骤。
总线810包括一个或更多并行的信息导线,从而信息可以快速地在耦合到总线810的设备之间传输。用于处理信息的一个或更多处理器802与总线810相耦合。
处理器802如由计算机程序代码指定的那样对信息实施一组操作,其中,所述计算机程序代码与提供客户端高速缓存相关。计算机程序代码是用于将处理器和/或计算机系统运转为实施指定功能的一组指令或提供指令的语句。代码例如可以用被编译为处理器的原生指令集的计算机编程语言来书写。代码可以还直接使用原生指令集(例如机器语言)来书写。所述一组操作包括从总线810取入信息以及将信息放到总线810上。所述一组操作通常还包括比较信息的两个或更多单元、移动信息的单元的位置以及合并信息的两个或更多单元,其中,所述合并例如是通过加或乘或例如或、异或(XOR)和与的逻辑运算。可以被处理器实施的所述一组操作中的每个操作通过称为指令的信息向处理器表示,所述指令例如是一个或更多数字的运算码。例如运算码序列的将由处理器802执行的操作序列构成处理器指令,所述处理器指令也称为计算机系统指令,或简单地称为计算机指令。处理器可以特别单独或组合地被实现为机械、电、磁、光、化学或量子部件。
计算机系统800还包括耦合到总线810的存储器804。例如随机访问存储器(RAM)或其它动态存储设备的存储器804存储包括处理器指令的信息,所述信息用于提供客户端高速缓存。动态存储器允许存储在其中的信息被计算机系统800改变。RAM允许存储在称为存储器地址的位置处的信息单元独立于相邻地址处的信息而被存储和检索。存储器804还被处理器802用于存储执行处理器指令期间的临时值。计算机系统800还包括耦合到总线810的用于存储包括指令的静态信息的只读存储器(ROM)806或其它静态存储设备,其中,所述静态信息不被计算机系统800改变。某些存储器由易失性存储器组成,所述易失性存储器在失去供电时丢失存储在其中的信息。非易失性(持久)存储器设备808也耦合到总线810,其例如是磁盘、光盘或闪存卡,用于存储包括指令的信息,所述信息甚至在计算机系统800被关闭或否则失去供电时也存留。
从例如包含被人类用户操作的字母数字键的键盘或传感器的外部输入设备812将用于提供客户端高速缓存的包括指令的信息提供给总线810,以便被处理器使用。传感器检测其附近的状况,并且将那些检测变换为与用于在计算机系统800中表示信息的可测量现象相兼容的物理表达。主要用于与人类进行交互的耦合到总线810的其它外部设备包括:显示设备814,其例如是阴极射线管(CRT)或液晶显示器(LCD)、或等离子屏幕或打印机,用于呈现文本或图像;以及指点设备816,其例如是鼠标或轨迹球或光标方向键、或运动传感器,用于控制呈现在显示器814上的小光标图像的位置,以及发出与呈现在显示器814上的图形元素相关联的命令。在一些实施例中,例如,在其中计算机系统800在没有人类输入的情况下自动实施全部功能的实施例中,省略外部输入设备812、显示设备814和指点设备816中的一个或更多。
在所示的实施例中,例如专用集成电路(ASIC)820的专用硬件耦合到总线810。专用硬件被配置为实施这样的操作,所述操作不被处理器802对于专门目的足够快地实施。专用IC的示例包括用于为显示器814生成图形的图形加速器卡、用于对在网络上发送的消息进行加密和解密的密码板、语音识别以及与例如机械臂和医学扫描装置的特殊外部设备的接口,其用于重复实施某些复杂的操作序列,所述复杂操作序列在硬件中被更高效地实现。
计算机系统800还包括一个或更多耦合到总线810的通信接口870的实例。通信接口870提供与使用其自己的处理器运转的多种外部设备的单向或双向通信耦合,所述外部设备例如是打印机、扫描仪和外部磁盘。通常,耦合是通过连接到本地网络880的网络链路878,其中,具有其自己的处理器的多种外部设备连接到本地网络880。例如,通信接口870可以是个人计算机上的并行端口或串行端口或通用串行总线(USB)端口。在某些实施例中,通信接口870是为对应类型电话线路提供信息通信连接的综合服务数字网络(ISDN)卡或数字用户线路(DSL)卡或电话调制解调器。在某些实施例中,通信接口870是电缆调制解调器,该电缆调制解调器将总线810上的信号转换为用于同轴电缆上的通信连接的信号,或转换为用于光缆上的通信连接的光信号。作为另一示例,通信接口870可以是局域网(LAN)卡,该局域网卡用于提供与例如以太网的兼容LAN的通信连接。也可以实现无线链路。对于无线链路,通信接口870发送或接收或发送并接收携带例如数字数据的信息流的电、声或电磁信号,所述电磁信号包括红外和光信号。例如,在例如像蜂窝电话的移动电话的无线手持设备中,通信接口870包括称为无线电收发器的无线电频带电磁发送器和接收器。在特定实施例中,通信接口870使能连接到用于向UE 101提供客户端高速缓存的通信网络105。
术语“计算机可读介质”当用在此处时是指任意参与向处理器802提供信息的介质,所述信息包括用于执行的指令。所述介质可以采取许多形式,包括但不限于计算机可读存储介质(例如非易失性介质、易失性介质)和传输介质。例如非易失性介质的非瞬态介质例如包括例如存储设备808的光或磁盘。易失性介质例如包括动态存储器804。传输介质例如包括同轴电缆、铜线、光缆以及在没有线或缆的情况先行进通过空间的载波,所述载波例如是声波和包括无线电、光和红外波的电磁波。信号包括通过传输介质传输的人造的幅度、频率、相位、极性或其它属性上的瞬时变化。常见形式的计算机可读介质例如包括软盘、软磁盘、硬盘、磁带、任何其它磁介质、CD-ROM、CDRW、DVD、任何其它光介质、打孔卡、纸带、光标记表、具有孔或其它光可识别标记的图案的任何其它物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或卡带、载波或计算机可以从其读取的任意其它介质。术语计算机可读存储介质此处被用于指除传输介质外的任意计算机可读介质。
被编码在一个或更多现实介质中的逻辑包括计算机可读存储介质和例如ASIC 820的专用硬件上的处理器指令的一个或这两者。
网络链路878通常使用传输介质通过一个或更多网络提供与其它设备的信息通信,其中,该其它设备使用或处理所述信息。例如,网络链路878可以通过本地网络880提供与主机计算机882或与由互联网服务提供商(ISP)运营的装置884的连接。ISP装置884接着通过现在通常称为互联网890的网络的公共全球分组交换通信网络提供数据通信服务。
连接到互联网的称为服务器主机892的计算机是这样的进程的宿主,该进程响应于在互联网上接收的信息而提供服务。例如,服务器主机892是这样的进程的宿主,该进程提供代表视频数据的信息,该视频数据用于在显示器814处呈现。应当设想,系统800的部件可以以各种配置被部署在例如主机882和服务器892的其它计算机系统中。
本发明的至少一些实施例涉及将计算机系统800用于实现此处描述的技术中的一些或全部。根据本发明的一个实施例,那些技术被计算机系统800响应于处理器执行包含在存储器804中的一个或更多一个或更多处理器指令的序列而实施。所述也称为计算机指令、软件和程序代码的指令可以被从例如存储设备808或网络链路878的另一计算机可读介质读入存储器804中。包含在存储器804中的指令序列的执行使得处理器802实施此处描述的方法步骤中的一个或更多。在可替换实施例中,例如ASIC 820的硬件可以代替或与软件结合地被用于实现本发明。由此,除非此处明确指出,否则本发明的实施例不限于硬件和软件的任意特定组合。
通过通信接口870在网络链路878和其它网络上发送的信号携带去往和来自计算机系统800的信息。计算机系统800可以通过网络链路878和通信接口870特别通过网络880、890发送和接收包括程序代码的信息。在一个使用互联网890的示例中,服务器主机892通过互联网890、ISP装置884、本地网络880和通信接口870发送用于特定应用的程序代码,其中,所述程序代码是从计算机800发送的消息所请求的。接收的代码可以在其被接收时被处理器802执行,或者可以被存储在存储器804或存储设备808或其它非易失性存储中以便稍后执行,或者这两者都被进行。这样,计算机系统800可以获得采用载波上的信号形式的应用程序代码。
在将一个或更多指令或数据序列携带到处理器802以便执行时,可以涉及各种形式的计算机可读介质。例如,指令和数据可以初始被携带在例如主机882的远程计算机的磁盘上。远程计算机将指令和数据加载到其动态存储器中,并且使用调制解调器在电话线上发送指令和数据。计算机系统800本地的调制解调器在电话线上接收指令和数据,并且使用红外发送器将指令和数据转换为红外载波上的信号,其中,红外载波充当网络链路878。充当通信接口870的红外检测器接收到携带在红外信号中的指令和数据,并且将代表指令和数据的信息放到总线810上。总线810将信息携带到存储器804,其中,处理器802从存储器804检索并使用与指令一起被发送的数据中的一些执行指令。在存储器804中接收的指令和数据,在被处理器802执行之前或之后,可以可选地被存储在存储设备808中。
图9示出了芯片组900,其中,本发明的实施例可以在芯片组900上实现。芯片组900被编程为如此处描述的那样提供客户端高速缓存,并且例如包括被并入一个或更多物理包(例如芯片)中的、关于图8描述的处理器和存储器部件。作为示例,物理包包括一个或更多材料、部件和/或电线在结构化设备(例如底板)上的排列,所述结构化设备用于提供例如物理长度、尺寸保护和/或电作用限制的一个或更多特征。应当设想,在特定实施例中,芯片组可以在单一芯片中实现。芯片组900或其部分构成这样的装置,所述装置用于实施提供客户端高速缓存的一个或更多步骤。
在一个实施例中,芯片组900包括例如总线901的通信设备,总线901用于在芯片组900的部件之间传递信息。处理器903具有到总线901的连接,其用于执行和处理存储在例如存储器905中的指令和信息。处理器903可以包括一个或更多处理核心,其中,每个核心被配置为独立地实施。多核处理器使能进行在单一物理包内的多处理。多核处理器的示例包括两个、四个、八个或更多数量的处理核心。可替换地或另外,处理器903可以包括一个或更多微处理器,所述微处理器被经由总线901串联地配置为,使能进行指令、关联和多线程的独立执行。处理器903可以还附带用于实施特定处理功能和任务的一个或更多专用部件,例如一个或更多数字信号处理器(DSP)907、或者一个或更多专用集成电路(ASIC)909。DSP 907通常被配置为,独立于处理器903实时地处理现实世界信号(例如声音)。类似地,ASIC 909可以被配置为,实施不被通用处理器容易地实施的专业功能。用于帮助实施此处描述的发明功能的其它专业部件包括一个或更多现场可编程门阵列(FPGA)(未示出)、一个或更多控制器(未示出)或者一个或更多其它专用计算机芯片。
处理器903和附属部件具有经由总线901到存储器905的连接。存储器905包括用于存储可执行指令的动态存储器(例如RAM、磁盘、可写光盘等)和静态存储器(例如ROM、CD-ROM等)这两者,所述可执行指令当被执行时实施此处描述的发明步骤来提供客户端高速缓存。存储器905还存储与发明步骤的执行相关联或由发明步骤的执行生成的数据。
图10是根据一个实施例的用于通信的移动终端(例如手机)的示例性部件的图,该移动终端能够在图1的系统中运转。在某些实施例中,移动终端1000或其部分构成这样的装置,所述装置用于实施提供客户端高速缓存的一个或更多步骤。一般地,通常在前端和后端特征方面定义无线电接收器。接收器的前端包括无线电频率(RF)电路的全部,而后端包括基带处理电路的全部。当用在本申请中时,术语“电路”是指这两者:(1)仅硬件实现(例如用仅模拟和/或数字电路的实现),以及(2)电路和软件(和/或固件)的组合(例如,在适用的特定上下文中,是指包括数字信号处理器的处理器、软件和存储器的组合,所述处理器、软件和存储器一起运转使得例如移动电话或服务器的设备实施各种功能)。“电路”的该定义适用于此术语在本申请中包括任何权利要求中的全部使用。作为进一步的示例,当用在本申请中并且在适用的特定上下文中时,术语“电路”将还覆盖仅一个处理器(或多个处理器)及它的(或它们的)附属软件和/或固件的实现。在适用的特定上下文中,术语“电路”将还覆盖例如移动电话中的基带集成电路或应用处理器集成电路,或者蜂窝网络设备或其它网络设备中的类似集成电路。
电话的相关内部部件包括主控制单元(MCU)1003、数字信号处理器(DSP)1005以及包括麦克风增益控制单元和扬声器增益控制单元的接收器/发送器单元。主显示单元1007向用户提供显示,以便支持实施或支持提供客户端高速缓存的步骤的各种应用和应用终端功能。显示器1007包括显示器电路,该显示器电路被配置为,显示移动终端(例如移动电话)的用户界面的至少一部分。另外,显示器1007和显示器电路被配置为,促进用于对移动终端的至少一些功能进行控制。音频功能电路1009包括麦克风1011以及对来自麦克风1011的语音信号输出进行方法的麦克风放大器。从麦克风1011输出的放大的语音信号被馈入编/解码器(CODEC)1013。
无线电部分1015放大功率并且转换频率以便经由天线1017与包括在移动通信系统中的基站进行通信。如本领域中已知的那样,功率放大器(PA)1019和发送器/调制电路运转地响应于MCU 1003,其中,来自PA1019的输出耦合到双工器1021或环形器或天线开关。PA 1019还耦合到电池接口和功率控制单元1020。
在使用中,移动终端1001的用户对麦克风1011说话,以及他的或她的语音与任何检测到的背景噪声一起被转换成模拟电压。模拟电压然后通过模拟到数字转换器(ADC)1023被转换成数字信号。控制单元1003将数字信号选路到DSP 1005中以便在其中进行处理,所述处理例如是语音编码、信道编码、加密和间插。在一个实施例中,已处理的语音信号被未单独示出的单元进行编码,所述编码使用例如全球演进(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等的蜂窝传输协议,以及例如微波接入(WiMAX)、长期演进(LTE)网络、码分复用(CDMA)、宽带码分复用(WCDMA)、无线高保真(WiFi)、卫星等的任意其它合适的无线介质。
已编码的信号然后被选路到均衡器1025,以便对在通过空气传输期间发生的例如相位和幅度失真的任何频率相关损坏进行补偿。在对位流进行均衡化之后,调制器1027将信号与在RF接口1029中生成的RF信号合并。作为频率或相位调制的示例,调制器1027生成正弦波。为准备用于传输的信号,向上转换器1031将从调制器1027输出的正弦波与由合波器1033生成的正弦波合并,以便达到期望的传输频率。信号然后通过PA 1019被发送,以便将信号增大到合适的功率水平。在实际系统中,PA 1019充当可变增益放大器,其增益由DSP 1005根据从网络基站接收到的信息进行控制。信号然后在双工器1021中被进行滤波,并且可选地被发送到天线耦合器1035,以便匹配用于提供最大功率传输的阻抗。最后,信号经由天线1017被发送到本地基站。可以提供自动增益控制(AGC)来控制接收器的最终阶段的增益。信号可以被从该处转发到远端电话,该远端电话可以是另一蜂窝电话、其它移动电话或连接到公共电话交换网(PSTN)或其它电话网络的陆地线路。
发送到移动终端1001的语音信号经由天线1017被接收,并且立即被低噪声放大器(LNA)1037放大。向下转换器1039降低载波频率,而解调器1041剥除RF留下仅数字位流。信号然后经过均衡器1025,并且被DSP 1005处理。全部在可以被实现为中央处理单元(CPU)(未示出)的主控制单元(MCU)1003的控制下,数字到模拟转换器(DAC)1043对信号进行转换,以及产生的输出通过扬声器1045被发送给用户。
MCU 1003接收包括来自键盘1047的输入信号的各种信号。键盘1047和/或结合其它用户输入部件(例如麦克风1011)的MCU 1003包括用于管理用户输入的用户界面电路。MCU 1003运行用户界面软件来促进用户对移动终端1001用于提供客户端高速缓存的至少一些功能的控制。MCU1003还分别向显示器1007和语音输出开关控制器递送显示命令和开关命令。进一步地,MCU 1003与DSP 1005交换信息,并且可以访问可选地包含的SIM卡1049和存储器1051。另外,MCU 1003执行终端所需的各种控制功能。取决于实现,DSP 1005可以实施对语音信号的多种常规数字处理功能中的任一个。另外,DSP 1005根据由麦克风1011检测到的信号确定本地环境的背景噪声水平,并且将麦克风1011的增益设置为这样的水平,该水平被选择用于对移动终端1001的用户的自然趋势进行补偿。
CODEC 1013包括ADC 1023和DAC 1043。存储器1051存储包括来电音数据的各种数据,并且能够存储包括例如经由全球互联网接收的音乐数据的其它数据。软件模块可以驻留在RAM存储器、闪存器、寄存器或本领域中已知的任意其它形式的可写存储介质中。存储器设备1051可以但不限于是单一存储器、CD、DVD、ROM、RAM、EEPROM、光存储器或能够存储数字数据的任意其它非易失性存储介质。
可选地包含的SIM卡1049例如携带重要信息,所述重要信息例如是蜂窝电话号码、提供服务的载波、订阅详情和安全信息。SIM卡1049主要作用为,在无线电网络上标识移动终端1001。卡1049还包含存储器,该存储器用于存储个人电话号码簿、文本消息以及用户特定的移动终端设置。
尽管已结合许多实施例和实现描述了本发明,但本发明并非如此受限,而是覆盖落在所附权利要求的范围内的各种显而易见的修改和等价安排。尽管在权利要求中以特定组合表述了本发明的特征,但应当设想,这些特征可以以任意组合和顺序来安排。

Claims (23)

1.一种方法,包括:
从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存;
识别所述请求是经由支持连接重用的连接接收的;
确定所述请求是否是首次请求;
如果所述请求是首次请求,则从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对所述脚本文件的后续请求;以及
如果所述请求是后续请求,则在所述脚本文件中将所述会话变量标记为可在所述设备处进行高速缓存,并且,至少部分地使得所述脚本文件向所述设备发送。
2.根据权利要求1的方法,进一步包括:
从所述设备接收对于与所述脚本文件相关联的web内容的另一请求;以及
至少部分地使得基于所述高速缓存的会话变量提供所述web内容。
3.根据权利要求1-2中任一个的方法,其中,所述会话变量是所述设备本地的,并且仅适用于所述相关联的web内容。
4.根据权利要求1-2中任一个的方法,其中,所述会话配置信息适用于多个域,所述方法进一步包括:
在所述会话变量中指定所述多个域。
5.根据权利要求1-4中任一个的方法,其中,在预定时间段之后,或在所述设备的用户请求时,所述脚本文件被从所述设备移除。
6.根据权利要求1-5中任一个的方法,其中,所述连接是超文本传输协议(HTTP)Keep-Alive连接,以及其中,对所述连接的所述识别是基于对应于所述HTTP Keep-Alive连接的传输控制协议(TCP)套接字标识符、工作进程标识符、线程标识符或其组合。
7.根据权利要求1-6中任一个的方法,其中,所述脚本文件是JavaScript文件。
8.一种设备,包括:
至少一个处理器;以及
至少一个包括计算机程序代码的存储器,
所述至少一个存储器和所述计算机程序代码被配置为,通过使用所述至少一个处理器,使得所述设备实施至少以下,
从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存;
识别所述请求是经由支持连接重用的连接接收的;
确定所述请求是否是首次请求;
如果所述请求是首次请求,则从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对于所述脚本文件的后续请求;以及
如果所述请求是后续请求,则在所述脚本文件中将所述会话变量标记为可在所述设备处进行高速缓存,并且至少部分地使得所述脚本文件向所述设备发送。
9.根据权利要求8的设备,其中,进一步使得所述设备:
从所述设备接收对于与所述脚本文件相关联的所述web内容的另一请求;以及
至少部分地使得基于所述高速缓存的会话变量提供所述web内容。
10.根据权利要求8-9中任一个的设备,其中,所述会话变量是所述设备本地的,并且仅适用于所述相关联的web内容。
11.根据权利要求8-9中任一个的设备,其中,所述会话配置信息应用于多个域,以及进一步使得所述设备:
在所述会话变量中指定所述多个域。
12.根据权利要求8-11中任一个的设备,其中,在预定时间段之后,或在所述设备的用户请求时,所述脚本文件被从所述设备移除。
13.根据权利要求8-12中任一个的设备,其中,所述连接是超文本传输协议(HTTP)Keep-Alive连接,以及其中,对所述连接的所述识别是基于对应于所述HTTP Keep-Alive连接的传输控制协议(TCP)套接字标识符、工作进程标识符、线程标识符或其组合。
14.根据权利要求8-13中任一个的设备,其中,所述脚本文件是JavaScript文件。
15.根据权利要求8-14中任一个的设备,其中,所述设备是移动电话,所述移动电话进一步包括:
用户界面电路和用户界面软件,被配置为,促进用户通过使用显示器对所述移动电话的至少某些功能的控制,以及被配置为,对用户输入做出响应;以及
显示器和显示电路,其被配置为,显示所述移动电话的用户界面的至少一部分,所述显示器和显示电路被配置为,促进用户对所述移动电话的至少某些功能的控制。
16.一种计算机可读存储介质,携带一个或更多一个或更多指令的序列,所述指令当被一个或更多处理器执行时,使得所述设备至少实施以下步骤:
从设备接收对于与web内容相关联的脚本文件的请求,所述脚本文件支持在所述设备处进行客户端高速缓存;
识别所述请求是经由支持连接重用的连接接收的;
确定所述请求是否是首次请求;
如果所述请求是首次请求,则从所述设备收集用于所述web内容的会话配置信息,基于所述会话配置信息在所述脚本文件中指定会话变量,以及,经由所述连接发起对所述脚本文件的后续请求;以及
如果所述请求是后续请求,则在所述脚本文件中将所述会话变量标记为可在所述设备处进行高速缓存,并且,至少部分地使得所述脚本文件向所述设备发送。
17.根据权利要求16的计算机可读存储介质,其中,使得所述设备进一步实施:
从所述设备接收对于与所述脚本文件相关联的所述web内容的另一请求;以及
至少部分地使得基于所述高速缓存的会话变量提供所述web内容。
18.根据权利要求16-17中任一个所述的计算机可读存储介质,其中,所述会话变量是所述设备本地的,并且仅适用于所述关联的web内容。
19.根据权利要求18的计算机可读存储介质,其中,所述会话配置信息适用于多个域,以及,使得所述设备进一步实施:
在所述会话变量中指定所述多个域。
20.根据权利要求16的计算机可读存储介质,其中,所述连接是超文本传输协议(HTTP)Keep-Alive连接,以及其中,对所述连接的所述识别是基于对应于所述HTTP Keep-Alive连接的传输控制协议(TCP)套接字标识符、工作进程标识符、线程标识符或其组合。
21.一种设备,包括用于实施根据权利要求1-7中任一个的方法的装置。
22.一种计算机可读存储介质,携带一个或更多一个或更多指令的序列,所述指令当被一个或更多处理器执行时,使得设备至少实施根据权利要求1-7中任一个的方法。
23.一种计算机程序产品,携带一个或更多一个或更多指令的序列,所述指令当被一个或更多处理器执行时,使得设备至少实施根据权利要求1-7中任一个的方法。
CN201080059955.4A 2009-12-31 2010-10-25 用于提供客户端高速缓存的方法和设备 Expired - Fee Related CN102687487B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/651,089 US8335819B2 (en) 2009-12-31 2009-12-31 Method and apparatus for providing client-side caching
US12/651,089 2009-12-31
PCT/FI2010/050842 WO2011080381A1 (en) 2009-12-31 2010-10-25 Method and apparatus for providing client-side caching

Publications (2)

Publication Number Publication Date
CN102687487A true CN102687487A (zh) 2012-09-19
CN102687487B CN102687487B (zh) 2015-05-06

Family

ID=44188755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080059955.4A Expired - Fee Related CN102687487B (zh) 2009-12-31 2010-10-25 用于提供客户端高速缓存的方法和设备

Country Status (4)

Country Link
US (1) US8335819B2 (zh)
EP (1) EP2520073A4 (zh)
CN (1) CN102687487B (zh)
WO (1) WO2011080381A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104854844A (zh) * 2012-12-13 2015-08-19 高通股份有限公司 在通信系统中的客户端设备的web浏览器上加载重定向的web资源
CN106464710A (zh) * 2014-03-12 2017-02-22 亚马逊技术有限公司 基于配置文件的高速缓存管理
CN106462544A (zh) * 2014-03-31 2017-02-22 亚马逊科技公司 分布式存储系统中的会话管理
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185566B2 (en) 2009-01-15 2012-05-22 Microsoft Corporation Client-based caching of remote files
US8656020B1 (en) * 2010-01-21 2014-02-18 Google Inc. Delta compression of files in web applications
PL2702524T3 (pl) * 2011-04-27 2018-02-28 Seven Networks Llc Wykrywanie i filtrowanie złośliwego oprogramowania, oparte na obserwacji ruchu wykonywanego w rozproszonym układzie zarządzania ruchem w sieciach mobilnych
US9577824B2 (en) * 2011-09-23 2017-02-21 CSC Holdings, LLC Delivering a content item from a server to a device
US9152732B2 (en) 2011-11-02 2015-10-06 Microsoft Technology Licensing, Llc. Browser cache assist for accessing web-based content
US9213673B2 (en) * 2012-02-23 2015-12-15 Via Technologies, Inc. Networked applications with client-caching of executable modules
US9253011B2 (en) 2012-09-27 2016-02-02 Intuit Inc. Session-server affinity for clients that lack session identifiers
US9288225B1 (en) * 2013-04-17 2016-03-15 Ca, Inc. Server port sharing based on shared socket
WO2014200631A1 (en) 2013-06-11 2014-12-18 Seven Networks, Inc. Optimizing keepalive and other background traffic in a wireless network
US10235459B1 (en) 2013-07-25 2019-03-19 Google Llc Creating entries in at least one of a personal cache and a personal index
WO2015123658A1 (en) 2014-02-14 2015-08-20 Sonic Blocks, Inc. Modular quick-connect a/v system and methods thereof
CN106302571B (zh) 2015-05-14 2020-07-28 微软技术许可有限责任公司 用于对服务器连接进行维护和高速缓存的系统和方法
CN105610906A (zh) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 转发请求的方法、装置及系统
CN106933890B (zh) * 2015-12-31 2021-08-06 北京冠群信息技术股份有限公司 一种静态化页面的处理方法及装置
JP6685508B2 (ja) * 2016-07-19 2020-04-22 富士ゼロックス株式会社 端末装置
US10813169B2 (en) 2018-03-22 2020-10-20 GoTenna, Inc. Mesh network deployment kit
US10887287B2 (en) * 2018-05-11 2021-01-05 Citrix Systems, Inc. Connecting client devices to anonymous sessions via helpers
US20200257968A1 (en) * 2019-02-08 2020-08-13 Adobe Inc. Self-learning scheduler for application orchestration on shared compute cluster
US11675868B2 (en) * 2020-08-07 2023-06-13 Kount Inc. Dynamic service worker code for storing information in web browser

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1830192A (zh) * 2003-07-31 2006-09-06 国际商业机器公司 用于异步地处理请求的方法、系统和程序产品
US20070299928A1 (en) * 2006-06-22 2007-12-27 Pooja Kohli Maintaining sessions using cookie updation
US7343398B1 (en) * 2002-09-04 2008-03-11 Packeteer, Inc. Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols
US20080082832A1 (en) * 2006-09-29 2008-04-03 Mcdougal Monty D Configurable Data Access Application For Highly Secure Systems
US7395275B1 (en) * 1999-11-16 2008-07-01 Dana Automotive Systems Group, Llc System and method for disposing of assets
CN101212491A (zh) * 2006-12-27 2008-07-02 国际商业机器公司 使用客户端的高速缓存来备份服务器上数据的设备和方法
JP4219967B1 (ja) * 2008-01-15 2009-02-04 株式会社Cskホールディングス 接続管理装置及び接続管理プログラム
CN101421974A (zh) * 2003-12-18 2009-04-29 提维股份有限公司 安全的多媒体传输系统
US20090217301A1 (en) * 2008-02-21 2009-08-27 Microsoft Corporation Identity persistence via executable scripts

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6397217B1 (en) * 1999-03-04 2002-05-28 Futuretense, Inc. Hierarchical caching techniques for efficient dynamic page generation
US7035907B1 (en) * 2000-09-13 2006-04-25 Jibe Networks, Inc. Manipulating content objects to control their display
US6910066B1 (en) 2001-03-05 2005-06-21 Principal Financial Services, Inc. System, method, and apparatus for applet caching
US20020138555A1 (en) * 2001-03-23 2002-09-26 Yu Allen Kai-Lang Client enhanced server-side cache system
US6748386B1 (en) * 2001-04-24 2004-06-08 Nec Corporation System and method for automated construction of URL, cookie, and database query mapping
US20030211447A1 (en) * 2001-11-01 2003-11-13 Telecommunications Research Associates Computerized learning system
EP1318461A1 (en) 2001-12-07 2003-06-11 Sap Ag Method and computer system for refreshing client-data
EP1532539B1 (en) * 2002-06-06 2015-12-09 Pulse Secure, LLC Method and system for providing secure access to private networks
US7363340B2 (en) * 2002-07-18 2008-04-22 International Business Machines Corporation Method and system for generating auxiliary-server cache identifiers
DE10394048D2 (de) * 2002-11-06 2005-09-22 Tellique Kommunikationstechnik Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung
US20040243852A1 (en) * 2003-05-28 2004-12-02 Rosenstein Adam H. Method, system and software for state signing of internet resources
US7496607B2 (en) 2003-08-29 2009-02-24 Yahoo! Inc. Method and system for maintaining synchronization between a local data cache and a data store
US7441011B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
US20060031751A1 (en) 2004-05-26 2006-02-09 Shai Ehud Method for creating editable web sites with increased performance & stability
US20060010173A1 (en) 2004-06-30 2006-01-12 Kilday Roger W Methods and systems for client-side, on-disk caching
US20060106807A1 (en) * 2004-11-18 2006-05-18 Microsoft Corporation System and method for transferring a file in advance of its use
US7467389B2 (en) 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices
US10114620B2 (en) * 2005-08-31 2018-10-30 International Business Machines Corporation Manager superclass method for displaying a component in different segments of a web page
CN101495990B (zh) * 2005-12-02 2011-09-14 思杰系统有限公司 用于提供从代理服务器到虚拟计算环境的身份验证证明以访问远程资源的方法和设备
US8065275B2 (en) * 2007-02-15 2011-11-22 Google Inc. Systems and methods for cache optimization
US8560669B2 (en) * 2007-09-26 2013-10-15 Quantcast Corporation Tracking identifier synchronization
US7962547B2 (en) * 2009-01-08 2011-06-14 International Business Machines Corporation Method for server-side logging of client browser state through markup language
US8453225B2 (en) * 2009-12-23 2013-05-28 Citrix Systems, Inc. Systems and methods for intercepting and automatically filling in forms by the appliance for single-sign on

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395275B1 (en) * 1999-11-16 2008-07-01 Dana Automotive Systems Group, Llc System and method for disposing of assets
US7343398B1 (en) * 2002-09-04 2008-03-11 Packeteer, Inc. Methods, apparatuses and systems for transparently intermediating network traffic over connection-based authentication protocols
CN1830192A (zh) * 2003-07-31 2006-09-06 国际商业机器公司 用于异步地处理请求的方法、系统和程序产品
CN101421974A (zh) * 2003-12-18 2009-04-29 提维股份有限公司 安全的多媒体传输系统
US20070299928A1 (en) * 2006-06-22 2007-12-27 Pooja Kohli Maintaining sessions using cookie updation
US20080082832A1 (en) * 2006-09-29 2008-04-03 Mcdougal Monty D Configurable Data Access Application For Highly Secure Systems
CN101212491A (zh) * 2006-12-27 2008-07-02 国际商业机器公司 使用客户端的高速缓存来备份服务器上数据的设备和方法
JP4219967B1 (ja) * 2008-01-15 2009-02-04 株式会社Cskホールディングス 接続管理装置及び接続管理プログラム
US20090217301A1 (en) * 2008-02-21 2009-08-27 Microsoft Corporation Identity persistence via executable scripts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIGUO HAN,LIPING DI,PEISHENG ZHAO,XIAOYAN ZHAO: "Using Ajax for Desktop-like Geospatial Web Application Development", 《IEEE/IEE ELECTRONIC LIBRARY (IEL) 数据库》, 12 August 2009 (2009-08-12) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104854844A (zh) * 2012-12-13 2015-08-19 高通股份有限公司 在通信系统中的客户端设备的web浏览器上加载重定向的web资源
CN104854844B (zh) * 2012-12-13 2018-05-22 高通股份有限公司 在通信系统中的客户端设备的web浏览器上加载重定向的web资源
CN106464710A (zh) * 2014-03-12 2017-02-22 亚马逊技术有限公司 基于配置文件的高速缓存管理
CN106464710B (zh) * 2014-03-12 2020-12-25 亚马逊技术有限公司 基于配置文件的高速缓存管理方法和系统
CN106462544A (zh) * 2014-03-31 2017-02-22 亚马逊科技公司 分布式存储系统中的会话管理
US10264071B2 (en) 2014-03-31 2019-04-16 Amazon Technologies, Inc. Session management in distributed storage systems
US10372685B2 (en) 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
CN106462544B (zh) * 2014-03-31 2020-04-21 亚马逊科技公司 分布式存储系统中的会话管理

Also Published As

Publication number Publication date
EP2520073A4 (en) 2013-09-18
WO2011080381A1 (en) 2011-07-07
CN102687487B (zh) 2015-05-06
EP2520073A1 (en) 2012-11-07
US20110161403A1 (en) 2011-06-30
US8335819B2 (en) 2012-12-18

Similar Documents

Publication Publication Date Title
CN102687487B (zh) 用于提供客户端高速缓存的方法和设备
US10110695B1 (en) Key resource prefetching using front-end optimization (FEO) configuration
CN102082817B (zh) 用于确保用户代理信息传输的方法和设备
CN102763395B (zh) 提供基于认证上下文的会话的方法和装置
CN105190621B (zh) 用于内容的异步分发的方法和装置
CN103907329A (zh) 用于实现离线web应用执行的方法和装置
CN102754098B (zh) 用于安全跨站脚本的方法和装置
US11016716B2 (en) Picture interface display method and apparatus according to jump protocol
CN103003797B (zh) 用于分配计算闭包的方法和装置
CN102763397A (zh) 用于提供认证会话共享的方法和装置
US8606329B2 (en) Method and apparatus for rendering web pages utilizing external rendering rules
CN104965848B (zh) 一种前端资源加载方法及装置
CN102918529B (zh) 索引生成和使用的方法和装置
CN103907113A (zh) 用于分布式脚本处理的方法和装置
CN105051685B (zh) 用于使得网络资产能够访问本地应用的系统和方法
CN103262077A (zh) 用于用户标识的基于设备标识符的解决方案的方法和装置
CN102804726B (zh) 用于消息路由优化的方法和设备
CN104885486A (zh) 对访问在线用户群组进行基于位置的授权
CN102349314B (zh) 基于用户地理位置来访问内容的方法和装置
CN104798082A (zh) 用于提供用于数据流的隐私策略的方法和装置
CN102428488A (zh) 显示购买信息的方法和装置
CN106874471A (zh) 信息推送方法和装置
CN106878460A (zh) 通信处理方法及装置
CN102656597A (zh) 用于将消息和附件组织为会话的方法和装置
CN102349278A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160125

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj

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

Granted publication date: 20150506

Termination date: 20171025