用于实现离线web应用执行的方法和装置制造方法

文档序号:7992633阅读:108来源:国知局
用于实现离线web应用执行的方法和装置制造方法
【专利摘要】提供一种用于使用一个或多个web?cookie来提供内容的客户侧缓存的方案。数据缓存模块确定来自设备的请求,该请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。数据缓存模块处理内容数据用于在一个或多个web?cookie中存储,然后使得基于该请求的、经由一个或多个web?cookie向至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。
【专利说明】用于实现离线WEB应用执行的方法和装置
【背景技术】
[0001]网络服务提供商和设备制造商不断受到例如通过提供有吸引力的网络服务来向消费者递送价值和便利的挑战。一个极大地提高用户的体验的网络特征是在互联网浏览器、web服务或其他基于网络的工具的离线使用期间的录入的内容的客户端侧存留或缓存。客户端侧存留或缓存使得客户端设备能够本地存储如下信息,该信息用于认证、会话跟踪(例如,状态维护)等,以及用于记忆关于用户的特定信息,例如服务偏好、浏览历史、以前的活动或者诸如此类的。此外,许多基于网络的工具被配置为支持在数据录入过程期间录入的用户提供的内容的缓存。这些信息可以被用来在用户开始服务会话(例如,web浏览会话)并且然后在之后的时间恢复会话时提供用户服务体验的连续性。然而,这种能力在设备处的web浏览器或其他基于网络的工具没有被配置为支持客户端侧缓存的情况下或当网络不可用时受到限制。

【发明内容】

[0002]因此,需要一种用于提供内容的客户端侧缓存的可替换方案。
[0003]根据一个实施例,一种方法包括确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。该方法还包括处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。该方法进一步包括至少部分使得至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
[0004]根据另一实施例,一种装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,至少一个存储器和计算机程序代码被配置成与至少一个处理器一起至少部分使该装置:确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。还使该装置处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。进一步使该装置至少部分使得至少部分基于所述请求的、经由所述一个或多个webcookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。
[0005]根据另一实施例,一种计算机可读存储介质承载一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时至少部分使装置确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。还使该装置处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。进一步使得该装置至少部分使得至少部分基于所述请求的、经由所述一个或多个webcookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。
[0006]根据另一实施例,一种装置包括用于确定来自设备的请求的装置,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。该装置还包括用于处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理的装置。该装置进一步包括用于至少部分使得至少部分基于所述请求的、经由所述一个或多个webcookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输的装置。
[0007]此外,针对本发明的各种示例实施例,以下项可适用:一种方法包括:促进(I)数据和/或(2 )信息和/或(3 )至少一个信号的处理和/或处理(I)数据和/或(2 )信息和/或(3 )至少一个信号,(I)数据和/或(2 )信息和/或(3 )至少一个信号至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的任何方法(或者过程)或者任何方法(或者过程)的组合(或者包括至少部分由该任何方法(或者过程)或者任何方法(或者过程)组合来派生的)。
[0008]针对本发明的各种示例实施例,以下项也可适用:一种方法包括促进访问至少一个接口,至少一个接口被配置成允许访问至少一个服务,至少一个服务被配置成执行在本申请中公开的网络或者服务提供商方法(或者过程)中的任何网络或者服务提供商方法(或者过程)或者任何网络或者服务提供商方法(或者过程)组合。
[0009]针对本发明的各种示例实施例,以下项也可适用:一种方法包括促进创建和/或促进修改(I)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能,该(I)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法或者过程中的一种方法或者过程或者任何方法或者过程组合所产生的数据和/或信息,和/或在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的至少一个信号。
[0010]针对本发明的各种示例实施例,以下项也可适用:一种方法包括创建和/或修改(I)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能,该(I)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的数据和/或信息,和/或在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的至少一个信号。
[0011 ] 在各种示例实施例中,可以在服务提供商侧上或者在移动设备侧上或者以在服务提供商与移动设备之间(在两侧上执行活动)的任何共享方式来实现方法(或者过程)。
[0012]针对本发明的各种示例实施例,以下项适用:一种装置,包括用于执行根据原始提交的权利要求1-10、21-30和46-48中任一项的方法的装置。
[0013]仅通过举例说明包括设想的用于实现本发明的最佳模式的多个具体实施例和实现方式,从以下详细描述中容易清楚本发明的更多其他方面、特征和优点。本发明也能够有其他和不同实施例并且可以在各种明显方面修改它的若干细节而都未脱离本发明的精神和范围。因而附图和说明书将视为在性质上为示例性而非限制性的。
【专利附图】

【附图说明】
[0014]在附图的各图中举例而言而非通过限制来举例说明本发明的实施例:
[0015]图1是根据一个实施例的能够使用一个多个web cookie来提供内容的客户端侧缓存的系统的示图;
[0016]图2是根据一个实施例的数据缓存模块的部件的示图;
[0017]图3A-3D是根据各种实施例的用于使用一个多个web cookie来提供内容的客户端侧缓存的过程的流程图;
[0018]图4A-4C是根据各种实施例的用于描绘用于支持客户端侧缓存的浏览器和web服务器之间的交互的用户接口的示图;
[0019]图5是可以用来实施本发明的实施例的硬件的示图;
[0020]图6是可以用来实施本发明的实施例的芯片组的示图;以及
[0021]图7是可以用来实施本发明的实施例的移动终端(例如手持机)的示图。
【具体实施方式】
[0022]公开了用于使用一个多个web cookie来提供内容的客户端侧缓存的方法、装置和计算机程序的示例。在下文描述中,出于说明的目的,阐述许多具体细节以便提供对本发明实施例的透彻理解。然而,本领域技术人员清楚,无这些具体细节仍可实现或者可以用等效布置来实现本发明的实施例。在其他实例中,以框图形式示出公知结构和设备以免不必要地模糊本发明的实施例。
[0023]图1是根据一个实施例的能够使用一个或多个web cookie (小甜饼)来提供客户端侧缓存的系统。在某些实施例中,系统100被配置为支持诸如web浏览器、互联网门户应用、web服务应用或之类的基于网络的工具的离线和/或在线执行。离线执行可以例如包括在对web服务器103a-103n、通信网络105或之类的受限的访问或没有对其的访问的情况下的基于网络的工具的各种特征的功能操作。这可以例如包括需要用户在支持网络的用户设备(即用户设备(UE)) 101处进行的数据和其他内容(例如,图像数据、音频数据)的录入和交换的任何操作。
[0024]许多应用除了唯一地在服务器之外还在用户设备(B卩,客户端侧)上存储数据以便完成或继续应用(例如,web应用)功能和任务,即离线执行。以此方式,应用程序可以减少服务器负载并且在需要时在客户端侧上完成互联网任务。在用户设备处存储或缓存的数据通常被称为客户端侧存留数据。一些web浏览器、互联网门户以及之类的被配置为无困难地支持用户的在线和离线执行二者。例如,支持HTML5特征的web浏览器内置使得内容被离线捕获并且随后在在线使用期间被提供至目标web服务器的语义。HTML5协议调用浏览器以读取引用了各种资源的URL的列表,浏览器需要该URL的列表以离线地访问目标web服务、下载资源、本地缓存它们、并且在它们改变时自动地保持本地存储的副本为最新。通过这个方案,一旦建立了在线执行,就提供数据的最最新的版本。
[0025]不幸地,未被配置为执行HTML5或其它协议的设备不能够支持在线和离线执行二者。举例而言,在许多发展中国家,用户经常使用无成熟的HTML5浏览器的移动设备。此外,这些国家可能不具有用户需要的用来维持在线执行的可靠网络连接。因此,用户在它们的能力上受到限制,以实现给予的受限的网络访问和次佳的浏览器可用性的在线和离线执行二者。而且,这样的用户不能在离线时创建新内容以及当用户在之后在线时上传内容。
[0026]为了解决这一问题,图1的系统100引入采用将一个或多个webcookie用作客户端侧数据缓存的装置和机构的能力。更具体而言,系统100使得被用户在设备(即用户设备(UE)) 101处定向到至少一个web服务器103a的内容被分离并且存储到一个或多个webcookie。如图1所示,系统100包括用户设备(UE) 101,其具有经由通信网络105到一个或多个web服务器103a-103n的连接性。在一个实施例中,UElOl可以从由服务器103a-103n中的一个或多个所管理的网站访问信息或web内容。此外,通过设备处的输入——即,经由键盘、小键盘、触摸输入、声音输入、或其他输入装置——生成的内容可以被传送到服务器103a-103n以促进会话交互。
[0027]例如,UElOl使用浏览器应用(例如,基于网络的工具111)向服务器103a_103n中的至少一个发送对web内容的请求。在收到请求后,web服务器103在响应中生成web内容代码(例如,超文本标记语言(HTML)代码),例如用于浏览器111进行的呈现或执行。在UElOl和相应服务器103a-103n之间的、包括当离线状态被确定时的客户端/服务器交互通过传送所存储到高速缓冲113中的web cookie来实现。根据本文的示例性实施例,系统100响应于针对网络和/或会话的在线状态的确定而促进传输过程。
[0028]web cookie (例如,浏览器cookie或超文本传输协议(HTTP)cookie)可以包括例如用于被存储到运行应用(例如,web浏览器)的本地设备的文本或其他数据的任何小部分。web cookie由包含受限的信息位的一个或多个名称-值对所组成,该信息比如用户偏好、购物车内容、用于基于服务器的会话的标识符、或由网站使用的其他数据。这例如包括内容的存储而不管内容的大小。
[0029]举例而言,这个内容存储过程由可操作以与用户设备UE101的基于网络的工具(例如,web浏览器)111通信的数据缓存模块115来执行。数据缓存模块115被配置为:Cl)确定在基于网络的工具111和一个或多个web服务器103a-103n之间的网络连接和/或会话的状态;(2)确定用来实现在基于网络的工具111的离线执行期间的所输入到所述工具的内容的存储所需要的web cookie的数目;以及(3)使得基于所确定的所需要的web cookie的数目、网络连接、会话状态、或者其组合生成用户存储内容所需要的一个或多个webcookie。关于后者,数据缓存模块115使得基于网络的工具111生成超文本传输协议(HTTP) web cookie用于使用活动脚本处理语言分布(例如,解析)内容。举例而言,当确定浏览器111和服务器(多个)103a-103n之间的网络连接或者一度活动的会话处于非活动(例如,离线执行)时,数据缓存模块115执行用于暂时存储任何生成的内容的JavaScript。编译器可以根据浏览器的相应协议和特征进行配置使得该执行在内容生成时被触发。一旦生成,一个或多个webcookie然后被存储到驻留在UE101的本地数据库,即本地缓存113,。
[0030]由数据缓存模块进行的跨一个或多个web cookie的内容的分布基于各种因素来执行。这可以包括例如要存储的内容的相对大小、基于其大小确定的针对内容的存储所需要的web cookie的数目、或者其组合。许多基于网络的工具11对允许要由每个UE101或每个web服务器103a_103n生成的web cookie的数目和大小设定限制。然而,为了克服这个限制,数据缓存模块使得一个或多个web cookie跨相应的一个或多个存储路径进行分布。该一个或多个存储路径引用本地缓存113中的web cookie的位置。在某些一些实施例中,该路径可以以统一资源定位符(URL)的形式,即直接存取存储器位置、指针等。例如,一个web cookie可以引用http://www.example, com/store/1的存储路径标识符,而第二web cookie引用http://www.example, com/store/2的存储路径标识符。通过对用于内容的不同的部分的多个不同的web cookie分配多个不同的路径,内容存储的能力得以增加而不是被限制。
[0031]要在设备处生成的存储路径的数目可以基于如在前述示例中所指出的1:1比例模型。因此,定义的存储路径的数目至少等于用来存储内容所需要的web cookie的数目。例如,用于确定分布合计一个兆字节的内容所需要的存储路径的相对数目的计算如下所示:
[0032]内容的总大小+web cookie的最大大小
[0033]对于4096字节的典型的web cookie大小,1MB( 1048576字节)的内容必须跨至少256个cookie (1048576字节+每web cookie的4096字节)进行封装/分布。因此,数据缓存模块115必须创建至少256个存储路径以便将相应的web cookie存取/存储到本地缓存113。可替换地,存储路径的数目可以基于其他变量,包括本地缓存113的容量、设备处理速度、操作系统能力、网络延迟和访问状态等,在设备处生成。因此,应当注意数据缓存模块115可以被配置为考虑任何指定的限制和访问策略,例如包括用于调节/限制对于整个或每个web服务器103a_103n被允许存储的web cookie的数目的策略。另外,如之后将要讨论的,超出所确定的数目的至少一个附加存储路径是必要的,需要用于存取与各种webcookie中的每个有关的数据和所生成的关联存储路径。
[0034]在某些实施例中,数据缓存模块115还使得在检测到与web服务器103a_103n的活动连接和/或会话时,向服务器103a_103n传输一个或多个web cookie。结果,所存储到每个web cookie的内容还根据网络连接、会话或者其组合的建立或重建进行传送。内容在web服务器103a_103n提取和/或加载由各个web cookie所传送的内容时由web服务器103a-103n所重构。为了确保内容的适当重构,数据缓存模块115指定一个或多个webcookie中的至少一个作为主记录。主记录可以例如包括用于传送一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分的信息。此外,主记录可以指示与一个或多个web cookie相关联的一个或多个存储路径、相对于相应存储路径的从本地缓存访问一个或多个web cookie的序列、或者其组合。
[0035]为了避免不必要的数据被上传到web服务器103a_103n,存储路径应当仅被保留用于存储在离线执行期间生成的内容。如此,数据缓存模块确保浏览器111不对指定的存储路径上或之下的URL产生HTTP请求。数据缓存模块115还执行关于存储路径的各种安全措施,例如包括执行一个或多个存储路径的连接、随机化、加长、混淆、修改或者其组合。同样地,存储在一个或多个web cookie中的内容数据也可以被连接等。这可以防止第三方入侵者(即恶意网站)的能力以免确定存储路径或相关联的内容。
[0036]应当注意在某些情况下,web服务器103a_103n在其配备有URL重写引擎(未示出)以实现相同的效果的情况下不需要在它的会话数据库109a-109n内维持对存储路径的任何引用。如此,重写引擎可以在接收和提取一个或多个web cookie的相关内容时修改在主记录中指示的存储路径。
[0037]举例而言,系统100的通信网络105包括一个或者多个网络,比如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或者其任何组合。设想数据网络可以是任何局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网(例如互联网)或者任何其他适当分组交换网络,比如商业上拥有的专有分组交换网络,例如专有线缆或者光纤网络。此外,无线网络例如可以是蜂窝网络并且可以运用各种技术,包括全球演进增强数据速率(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、网际协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等,以及任何其他适当无线介质,例如全球微波接入互操作性(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星、移动自组织网络(MANET)以及之类的。
[0038]UElOl是任何类型的移动终端、固定终端或者便携终端,该终端包括移动手持机、站、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、个人数字助理(PDA)、或者其任何组合。也设想UElOl可以支持与用户的任何类型的接口(比如“可佩戴”电路装置等)。UElOl使用公知、新型或者仍在开发中的协议与web服务器103a-103n和通信网络105的其他部件通信。在这一上下文中,协议包括用于定义通信网络105内的网络节点如何基于在通信链路上发送的信息而彼此进行交互的一组规则。协议在每个节点内的不同操作层起作用,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到那些信号所指示的信息格式,到识别计算机系统上执行的哪些软件应用发送或接收该信息。用于在网络上交换信息的概念上不同的协议层在开放式系统互连
(OSI)参考模型中有所描述。
[0039]网络节点间的通信通常受到交换离散数据分组的影响。每个数据分组典型地包括
(I)与特定协议相关联的报头信息,以及(2)跟在报头信息之后并且包含可以独立于该特定协议进行处理的信息的有效载荷信息。在一些协议中,分组包括(3)跟在有效载荷之后并且指示有效载荷信息结束的报尾信息。报头包括诸如分组来源、其目的地、有效载荷长度以及协议所使用的其它属性的信息。通常,针对特定协议的有效载荷中的数据包括针对与OSI参考模型的不同的更高层相关联的不同协议的报头和有效载荷。针对特定协议的报头典型地指示其有效载荷中所包含的下一个协议的类型。更高层的协议被认为封装在更底层的协议中。如OSI参考模型所定义的,包括在穿过多个异构网络(诸如互联网)的分组中的报头典型地包括物理(第I层)报头、数据链路(第2层)报头、互连网络(第3层)报头和传输(第4层)报头,以及各种应用报头(第5层、第6层、第7层)。
[0040]图2是根据一个实施例的数据缓存模块的部件的示图。举例而言,数据缓存模块115包括一个或多个用于使用一个或多个web cookie提供内容的客户端侧缓存的一个或多个部件。设想到这些部件的功能可以在一个或者多个部件中组合或者由等效功能的其他部件执行。此外,当与UElOl—起参考图1被提供时,数据缓存模块115还可以被实现为服务器103a-103n的活动部件以促进与UElOl的客户端/服务器交互。对数据缓存模块115的部件的下文的描述适用于任何实施方式。
[0041]在这一实施例中,数据缓存模块115至少包括处理器201或者用于执行至少一个用于促进各种其他模块203-207的操作的算法的其他控制逻辑。例如,处理器201与连接检测器203进行交互以识别网络和/或会话的离线或在线状态。在一个实施例中,连接检测器203可以具有对会话由客户端111使用的用来与web服务器103进行通信的套接字(例如,传输控制协议(TCP)套接字)的访问权。连接检测器203可以获得与套接字相关联的标识符(例如,套接字标识符(ID))以识别对应的连接是活动的(例如,持续的连接)。可替换地,连接检测器203可以采用其他状态确定消息的使用,包括使用不同的工作者进程/线程以识别持续的或可重复使用的连接。处理结果可以例如包括活动连接、非活动连接、活动会话、非活动会话、或者它们的组合。
[0042]在识别连接之后,处理器201与脚本处理模块205进行交互,以便生成如参考图1所描述的一个或多个web cookie。如之前所述,一个或多个web cookie存储意图用于定向到web服务器的内容的至少一部分。在某些实施例中,脚本处理模块205调节跨各个webcookie的内容的分布。脚本处理模块205还使得在设备处执行一个或多个脚本处理,以使得内容数据在一个或多个web cookie中的存储。这例如包括确定以接收用于定向到服务器的内容,访问内容的大小、确定要与用于容纳内容的相应一个或多个web cookie中的每一个相关联的创建的web路径的数目,以及之类的。脚本处理模块205还从至少一个web服务器接收一个或多个web cookie。
[0043]传输模块207连同连接检测器一起操作以响应于确定的连接和/或会话的在线状态自动地触发一个或多个web cookie的传输。设想到了传输模块207可以在web服务器需要时支持一个或多个web cookie的顺序传输,成批的/背负式(piggybacked)数据传输等。主记录可以被提供用于web服务器的初始传送,用于实现一个或多个web cookie的适当访问/获取并且/或者服务器处的内容的重构。
[0044]图3A-3D是根据各种实施例的用于使用一个多个web cookie来提供内容的客户端侧缓存的过程的流程图。在一个实施例中,数据缓存模块115执行过程300,并且例如由如图6所示的包括处理器和存储器的芯片组来实现。在步骤301,数据缓存模块115确定来自设备的请求,该请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。如之前所述,内容数据可以通过设备的各种输入机制来接收,包括通过键盘、小键盘、终端、麦克风、照相机、录像机、触摸、语音或之类的方式。此外,设想到内容可以被意图用于传输到web服务器或者用于在设备处的存储(例如,至少在存储目的地上)。例如,在一个示例中,用户可以在第一会话中创建内容,但是其在用户能够完成创建内容(例如,电子邮件)之前被中断。用户然后能够使用本文描述的各种实施方式存储内容或其他相关内容(例如,提醒用户如何继续进行电子邮件的记录)用于之后的访问或处理。在这种情况下,内容用于在设备处(例如,在如本文所讨论的比如缓存或其他存储路径的存储目的地处)的本地使用并且不传送至服务器。在步骤303,数据缓存模块115处理和/或促进内容数据的用于在一个或多个web cookie中存储的处理。在某些实施例中,设想到数据缓存模块115可以支持非文本内容(S卩,视频数据)的存储。在这种情形下,视频数据可以被以二进制形式进行编码并且进而分布在相应的一个或多个web cookie中用于在web服务器处的后续重构(解码)。
[0045]根据步骤305,数据缓存模块115使得基于请求的、经由一个或多个web cookie向至少一个web服务器、至少一个存储目的地或者其组合的内容的传输。至少部分基于状态的从关于至少一个web服务器的离线到在线的改变来促进这一过程。因此,如之前所述,响应于网络连接和/或web会话的建立或重建来执行一个或多个web cookie的传输,以支持连续的、持续的会话体验。
[0046]在过程306的步骤307,数据缓存模块115处理和/或促进内容数据的大小的处理以确定用于存储内容数据的一个或多个web cookie的数目。根据步骤309,数据缓存模块115使得基于该数目的、在设备处的一个或多个存储路径的创建。如之前所述,一个或多个存储路径用于设备处的一个或多个web cookie的存储。一个或多个存储路径允许由web服务器响应于网络连接和/或web会话的建立或重建来访问所存储到相应的一个或多个webcookie的内容。[0047]在过程310,给出用于管理关于一个或多个web cookie的各个存储路径的分布的步骤。在步骤311,数据缓存模块使得用于在一个或多个web cookie上存储的内容数据的分布。在另一步骤313,数据缓存模块115确定以指定一个或多个web cookie中的至少一个作为用于分布的主记录。主记录至少部分指示一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分、与一个或多个webcookie相关联的一个或多个存储路径、一个或多个web cookie的访问序列、或者其组合。因此,根据步骤315,数据缓存模块115使得基于所确定的要被创建的存储路径的数目的、用于在一个或多个web cookie上进行存储的内容数据的分布。应当注意一个或多个web cookie的访问序列还可以对应于响应于检测到与web服务器的在线状态的一个或多个web cookie的传输的速度、次序或序列。
[0048]根据步骤317,数据缓存模块115可以连同web服务器进行操作以支持各种数据屏蔽和/或限制特征。数据缓存模块使得与一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
[0049]作为用于促进基于一个或多个web cookie的web会话的另一个方式,数据缓存模块115使得至少部分基于在设备和web服务器之间的会话的状态、内容数据的传输状态或者其组合的、存储在一个或多个web cookie中的内容数据的连接。这对应于过程318的步骤319。根据步骤321,数据缓存模块115使得在设备的用户接口中的内容数据的回显(echo)ο回显过程提供验证web服务器接收到一个或多个web cookie的方式。
[0050]在另一步骤323,使得在设备处处理一个或多个脚本以使得内容数据在一个或多个web cookie中的存储。脚本可以对应于用于支持内容数据的编码、存储和引用的任何脚本处理语言。根据步骤325,模块115从至少一个web服务器接收一个或多个web cookie。
[0051]图4A-4C是根据各种实施例的用于描绘用于支持客户端侧缓存的浏览器和web服务器之间的交互的用户接口的示图。出于说明的目的,关于使服务器初始在线执行、接着离线执行的浏览器的用例描述附图。举例而言,浏览器所参与的web服务器是Echo服务,其是用于使得web服务器向回发送它从浏览器接收的相同数据的副本的服务。用于基于确定的离线状态实现Echo服务的示例性源代码稍后参考表2进行介绍。
[0052]在图4A,用户(向)用于允许Echo服务的专用服务器加载由URLhttp://127.0.0.1/echClient.php所引用的网页。这对应于与web服务器的在线状态。用户然后在数据录入窗401键入文本串“ I ”并且随后键入“2”,然后选择“0K”动作按钮405以提交数据。响应包括将“online: ”连接到录入的串(例如,I, 2)并且将它们作为文本403返回到浏览器以便呈现“online:1”和“0nline:2”的web服务器。应当注意,在选择“0K”动作按钮405后,还可以使得内容被存储到一个或多个web cookie并且根据一个或多个存储路径被存储到设备的本地缓存。在一些实施例中,如果设备在线,则内容可以被直接发送到适当的服务器而不用被本地存储。因此,这一动作也可以在在线执行期间执行。
[0053]在之后的时间,用户关闭浏览器400,使得中止和web服务器的会话并且web服务器执行Echo服务(例如,离线状态)。在其他实例中,到通信网络105的活动连接可能会丢失。用户然后打开浏览器,并选择激活它用于离线执行,对应于图4B。如之前所述,离线和/或在线状态可以由用户直接指定或者被相应地检测。
[0054]一旦浏览器被调用,用户再次在浏览器中键入URL http://127.0.0.1/echClient.php。结果,用户仍然可以在数据输入窗409输入字符串,但字符串由于离线状态不被发送到web服务器。取而代之,一个或多个web cookie存储所录入的字符串。这使得浏览器400向用户界面Π回显所录入的字符串,但是它们被连接以不同的词,“offline:”,以示区别。举例而言,当用户录入字符串“3”时,字符串“offline:3”411被返回。用户还录入文本字符串“ 4 ”和“ 5 ”,然后关闭浏览器400。
[0055]参考图4C,用户在之后的时间重新打开浏览器400并建立与服务器的连接(例如,在线状态)。再次,用户访问URL http://127.0.0.1/echClient.php以便加载Echo服务。已经确定了在线状态,使得web浏览器传送包含相应内容/字符串“ 3 ”、“4”和“ 5 ”的一个或多个web cookie。web服务器基于用于一个或多个web cookie的相应的一个或多个存储路径,即如在主记录中所指定的,来从设备的本地缓存访问字符串。响应于接收到webcookie,服务器返回如连接的“online:”的字符串,对应于文本显示415。用户还可以继续录入其他字符串。
[0056]在一个实施例中,JavaScript可以被用作与web内容相关联的脚本处理文件的语言。表2是使用JavaScript和HTML编码会话的样本实现。为了说明的目的,使用对应于图3A-3D的处理的各种执行,在代码的各个部分给出简要描述。
[0057]表2
[0058]
【权利要求】
1.一种方法,包括促进(I)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(I)数据和/或(2)信息和/或(3)至少一个信号,所述(I)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于以下项: 来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据; 所述内容数据的用于在一个或多个web cookie中存储的处理;以及 至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
2.根据权利要求1所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 所述设备具有关于所述至少一个web服务器的离线状态的至少一个确定; 其中经由所述一个或多个web cookie的所述内容数据的所述传输至少部分基于所述设备具有关于所述至少一个web服务器的离线状态的确定。
3.根据权利要求1所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 用来确定用于存储所述内容数据的所述一个或多个web cookie的数目的所述内容数据的大小的处理;以及 至少部分基于所述数目而在所述设备处的一个或多个存储路径的创建; 其中所述一个或多个存储路径用于所述一个或多个web cookie在所述设备处的存储。
4.根据权利要求3所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 用于在所述一个或多个web cookie上存储的所述内容数据的分布;以及 用来指定所述一个或多个web cookie中的至少一个作为用于所述分布的主记录的至少一个确定; 其中所述主记录至少部分指示所述一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分、与所述一个或多个web cookie相关联的所述一个或多个存储路径、所述一个或多个webcookie的访问序列、或者其组合。
5.根据权利要求3-4中任一项所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 至少部分基于所述数目而用于在所述一个或多个web cookie上存储的所述内容数据的分布。
6.根据权利要求3-5中任一项所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 与所述一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
7.根据权利要求6所述的方法,其中所述一个或多个路径标识符的所述随机化、所述加长、所述混淆、所述修改或者其组合经由与所述至少一个web服务器相关联的重写引擎。
8.根据权利要求1-7中任一项所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:至少部分基于在所述设备和所述web服务器之间的会话的状态、所述内容数据的所述传输的状态、或者其组合而在所述一个或多个web cookie中存储的所述内容数据的连接。
9.根据权利要求8所述的方法,其中所述连接至少部分包括附加对应于离线会话状态的离线令牌、对应于在线会话状态的在线令牌、或者其组合。
10.根据权利要求1-9中任一项所述的方法,其中所述(I)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项: 用来至少部分使得所述内容数据在所述一个或多个web cookie中的存储的、在所述设备处的一个或多个脚本的处理;以及 从所述至少一个web服务器的所述一个或多个web cookie的接收。
11.一种装置,包括: 至少一个处理器;以及 至少一个包括用于一个或者多个程序的计算机程序代码的存储器, 所述至少一个存储器和所述计算机程序代码被配置成与所述至少一个处理器一起使所述装置至少执行以下操作: 确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据; 处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理;以及至少部分使得至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
12.根据权利要求11所述的装置,其中还使所述装置: 确定所述设备具有关于所述至少一个web服务器的离线状态; 其中经由所述一个或多个web cookie的所述内容数据的所述传输至少部分基于所述设备具有关于所述至少一个web服务器的离线状态的确定。
13.根据权利要求11-12中任一项所述的装置,其中还使所述装置: 处理和/或促进用来确定用于存储所述内容数据的所述一个或多个web cookie的数目的所述内容数据的大小的处理;以及 至少部分使得至少部分基于所述数目而在所述设备处的一个或多个存储路径的创建; 其中所述一个或多个存储路径用于所述一个或多个web cookie在所述设备处的存储。
14.根据权利要求13所述的装置,其中还使所述装置: 至少部分使得用于在所述一个或多个web cookie上存储的所述内容数据的分布;以及 确定以指定所述一个或多个web cookie中的至少一个作为用于所述分布的主记录;其中所述主记录至少部分指示所述一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分、与所述一个或多个web cookie相关联的所述一个或多个存储路径、所述一个或多个web cookie的访问序列、或者其组合。
15.根据权利要求13-14中任一项所述的装置,其中还使所述装置: 至少部分使得至少 部分基于所述数目而用于在所述一个或多个web cookie上存储的所述内容数据的分布。
16.根据权利要求13-15中任一项所述的装置,其中还使所述装置: 至少部分使得与所述一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
17.根据权利要求16所述的装置,其中所述一个或多个路径标识符的所述随机化、所述加长、所述混淆、所述修改或者其组合经由与所述至少一个web服务器相关联的重写引擎。
18.根据权利要求11-17中任一项所述的装置,其中还使所述装置: 至少部分使得至少部分基于在所述设备和所述web服务器之间的会话的状态、所述内容数据的所述传输的状态、或者其组合而在所述一个或多个web cookie中存储的所述内容数据的连接。
19.根据权利要求18所述的装置,其中所述连接至少部分包括附加对应于离线会话状态的离线令牌、对应于在线会话状态的在线令牌、或者其组合。
20.根据权利要求11-19中任一项所述的装置,其中还使所述装置: 处理和/或促进用来至少部分使得所述内容数据在所述一个或多个web cookie中的存储的在所述设备处的一个或多个脚本的处理;以及 从所述至少一个web服务器接收所述一个或多个web cookie。
21.—种方法,包括: 确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据; 处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理;以及至少部分使得至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
22.根据权利要求21所述的方法,还包括: 确定所述设备具有关于所述至少一个web服务器的离线状态; 其中经由所述一个或多个web cookie的所述内容数据的所述传输至少部分基于所述设备具有关于所述至少一个web服务器的离线状态的确定。
23.根据权利要求21和22中任一项所述的方法,还包括: 处理和/或促进用来确定用于存储所述内容数据的所述一个或多个web cookie的数目的所述内容数据的大小的处理;以及 至少部分使得至少部分基于所述数目而在所述设备处的一个或多个存储路径的创建; 其中所述一个或多个存储路径用于所述一个或多个web cookie在所述设备处的存储。
24.根据权利要求23所述的方法,还包括: 至少部分使得用于在所述一个或多个web cookie上存储的所述内容数据的分布;以及 确定以指定所述一个或多个web cookie中的至少一个作为用于所述分布的主记录;其中所述主记录至少部分指示所述一个或多个web cookie中的哪些包含所分布的内容数据的一个或 多个部分、与所述一个或多个web cookie相关联的所述一个或多个存储路径、所述一个或多个webcookie的访问序列、或者其组合。
25.根据权利要求23和24中任一项所述的方法,还包括: 至少部分使得至少部分基于所述数目的、用于在所述一个或多个web cookie上存储的所述内容数据的分布。
26.根据权利要求23-25中任一项所 述的方法,还包括: 至少部分使得与所述一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
27.根据权利要求26所述的方法,其中所述一个或多个路径标识符的所述随机化、所述加长、所述混淆、所述修改或者其组合仅由与所述至少一个web服务器相关联的重写引擎。
28.根据权利要求21-27中任一项所述的方法,还包括: 至少部分使得至少部分基于在所述设备和所述web服务器之间的会话的状态、所述内容数据的所述传输的状态、或者其组合而在所述一个或多个web cookie中存储的所述内容数据的连接。
29.根据权利要求28所述的方法,其中所述连接至少部分包括附加对应于离线会话状态的离线令牌、对应于在线会话状态的在线令牌、或者其组合。
30.根据权利要求21-29中任一项所述的方法,还包括: 处理和/或促进用来至少部分使得所述内容数据在所述一个或多个web cookie中的存储的在所述设备处的一个或多个脚本的处理;以及 从所述至少一个web服务器接收所述一个或多个web cookie。
31.根据权利要求11-20中任一项所述的装置,其中所述装置是移动电话,所述移动电话还包括: 用户接口电路装置和用户接口软件,配置成促进通过使用显示器而对所述移动电话的至少一些功能进行的用户控制,并且配置成对用户输入进行响应;以及 显示器和显示电路装置,配置成显示所述移动电话的用户接口的至少一部分,所述显示器和显示电路装置被配置成促进对所述移动电话的至少一些功能进行的用户控制。
32.—种计算机可读存储介质,承载一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时使装置至少执行根据权利要求1-10或21-30中任一项所述的方法。
33.一种装置,包括用于执行根据权利要求1-10或21-30中任一项所述的方法的装置。
34.根据权利要求33所述的装置,其中所述装置是移动电话,所述移动电话还包括: 用户接口电路装置和用户接口软件,配置成促进通过使用显示器而对所述移动电话的至少一些功能进行的用户控制并且配置成对用户输入进行响应;以及 显示器和显示电路装置,配置成显示所述移动电话的用户接口的至少一部分,所述显示器和显示电路装置被配置成促进对所述移动电话的至少一些功能进行的用户控制。
35.一种计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时使装置至少执行根据权利要求1-10或21-30中任一项所述的方法的步骤。
36.一种方法,包括促进访问至少一个接口,所述至少一个接口被配置成允许访问至少一个服务,所述至少一个服务被配置成执行根据权利要求1-10或21-30中任一项所述的方法。
37.一种方法,包括促进(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2 )信息和/或(3 )至少一个信号,所述(1)数据和/或(2 )信息和/或(3)至少一个信号至少部分地基于根据权利要求1-10或21-30中任一项所述的方法。
38.一种方法,包括促进创建和/或促进修改(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接 口功能,所述(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能至少部分地基于根据权利要求1-10或21-30中任一项所述的方法。
【文档编号】H04L29/06GK103907329SQ201280050480
【公开日】2014年7月2日 申请日期:2012年8月30日 优先权日:2011年9月2日
【发明者】付岩 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1