CN103907329A - 用于实现离线web应用执行的方法和装置 - Google Patents

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

Info

Publication number
CN103907329A
CN103907329A CN201280050480.1A CN201280050480A CN103907329A CN 103907329 A CN103907329 A CN 103907329A CN 201280050480 A CN201280050480 A CN 201280050480A CN 103907329 A CN103907329 A CN 103907329A
Authority
CN
China
Prior art keywords
data
content
web
web cookie
partly
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.)
Pending
Application number
CN201280050480.1A
Other languages
English (en)
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
Application filed by Nokia Oyj filed Critical Nokia Oyj
Publication of CN103907329A publication Critical patent/CN103907329A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供一种用于使用一个或多个web cookie来提供内容的客户侧缓存的方案。数据缓存模块确定来自设备的请求,该请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。数据缓存模块处理内容数据用于在一个或多个web cookie中存储,然后使得基于该请求的、经由一个或多个web cookie向至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。

Description

用于实现离线WEB应用执行的方法和装置
背景技术
网络服务提供商和设备制造商不断受到例如通过提供有吸引力的网络服务来向消费者递送价值和便利的挑战。一个极大地提高用户的体验的网络特征是在互联网浏览器、web服务或其他基于网络的工具的离线使用期间的录入的内容的客户端侧存留或缓存。客户端侧存留或缓存使得客户端设备能够本地存储如下信息,该信息用于认证、会话跟踪(例如,状态维护)等,以及用于记忆关于用户的特定信息,例如服务偏好、浏览历史、以前的活动或者诸如此类的。此外,许多基于网络的工具被配置为支持在数据录入过程期间录入的用户提供的内容的缓存。这些信息可以被用来在用户开始服务会话(例如,web浏览会话)并且然后在之后的时间恢复会话时提供用户服务体验的连续性。然而,这种能力在设备处的web浏览器或其他基于网络的工具没有被配置为支持客户端侧缓存的情况下或当网络不可用时受到限制。
发明内容
因此,需要一种用于提供内容的客户端侧缓存的可替换方案。
根据一个实施例,一种方法包括确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。该方法还包括处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。该方法进一步包括至少部分使得至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
根据另一实施例,一种装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,至少一个存储器和计算机程序代码被配置成与至少一个处理器一起至少部分使该装置:确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。还使该装置处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。进一步使该装置至少部分使得至少部分基于所述请求的、经由所述一个或多个webcookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。
根据另一实施例,一种计算机可读存储介质承载一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时至少部分使装置确定来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。还使该装置处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理。进一步使得该装置至少部分使得至少部分基于所述请求的、经由所述一个或多个webcookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输。
根据另一实施例,一种装置包括用于确定来自设备的请求的装置,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。该装置还包括用于处理和/或促进所述内容数据的用于在一个或多个web cookie中存储的处理的装置。该装置进一步包括用于至少部分使得至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的内容数据的传输的装置。
此外,针对本发明的各种示例实施例,以下项可适用:一种方法包括:促进(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2)信息和/或(3)至少一个信号,(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的任何方法(或者过程)或者任何方法(或者过程)的组合(或者包括至少部分由该任何方法(或者过程)或者任何方法(或者过程)组合来派生的)。
针对本发明的各种示例实施例,以下项也可适用:一种方法包括促进访问至少一个接口,至少一个接口被配置成允许访问至少一个服务,至少一个服务被配置成执行在本申请中公开的网络或者服务提供商方法(或者过程)中的任何网络或者服务提供商方法(或者过程)或者任何网络或者服务提供商方法(或者过程)组合。
针对本发明的各种示例实施例,以下项也可适用:一种方法包括促进创建和/或促进修改(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能,该(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法或者过程中的一种方法或者过程或者任何方法或者过程组合所产生的数据和/或信息,和/或在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的至少一个信号。
针对本发明的各种示例实施例,以下项也可适用:一种方法包括创建和/或修改(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能,该(1)至少一个设备用户接口要素和/或(2)至少一个设备用户接口功能至少部分地基于在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的数据和/或信息,和/或在本申请中公开为与本发明的任何实施例相关的方法(或者过程)中的一种方法(或者过程)或者任何方法(或者过程)组合所产生的至少一个信号。
在各种示例实施例中,可以在服务提供商侧上或者在移动设备侧上或者以在服务提供商与移动设备之间(在两侧上执行活动)的任何共享方式来实现方法(或者过程)。
针对本发明的各种示例实施例,以下项适用:一种装置,包括用于执行根据原始提交的权利要求1-10、21-30和46-48中任一项的方法的装置。
仅通过举例说明包括设想的用于实现本发明的最佳模式的多个具体实施例和实现方式,从以下详细描述中容易清楚本发明的更多其他方面、特征和优点。本发明也能够有其他和不同实施例并且可以在各种明显方面修改它的若干细节而都未脱离本发明的精神和范围。因而附图和说明书将视为在性质上为示例性而非限制性的。
附图说明
在附图的各图中举例而言而非通过限制来举例说明本发明的实施例:
图1是根据一个实施例的能够使用一个多个web cookie来提供内容的客户端侧缓存的系统的示图;
图2是根据一个实施例的数据缓存模块的部件的示图;
图3A-3D是根据各种实施例的用于使用一个多个web cookie来提供内容的客户端侧缓存的过程的流程图;
图4A-4C是根据各种实施例的用于描绘用于支持客户端侧缓存的浏览器和web服务器之间的交互的用户接口的示图;
图5是可以用来实施本发明的实施例的硬件的示图;
图6是可以用来实施本发明的实施例的芯片组的示图;以及
图7是可以用来实施本发明的实施例的移动终端(例如手持机)的示图。
具体实施方式
公开了用于使用一个多个web cookie来提供内容的客户端侧缓存的方法、装置和计算机程序的示例。在下文描述中,出于说明的目的,阐述许多具体细节以便提供对本发明实施例的透彻理解。然而,本领域技术人员清楚,无这些具体细节仍可实现或者可以用等效布置来实现本发明的实施例。在其他实例中,以框图形式示出公知结构和设备以免不必要地模糊本发明的实施例。
图1是根据一个实施例的能够使用一个或多个web cookie(小甜饼)来提供客户端侧缓存的系统。在某些实施例中,系统100被配置为支持诸如web浏览器、互联网门户应用、web服务应用或之类的基于网络的工具的离线和/或在线执行。离线执行可以例如包括在对web服务器103a-103n、通信网络105或之类的受限的访问或没有对其的访问的情况下的基于网络的工具的各种特征的功能操作。这可以例如包括需要用户在支持网络的用户设备(即用户设备(UE))101处进行的数据和其他内容(例如,图像数据、音频数据)的录入和交换的任何操作。
许多应用除了唯一地在服务器之外还在用户设备(即,客户端侧)上存储数据以便完成或继续应用(例如,web应用)功能和任务,即离线执行。以此方式,应用程序可以减少服务器负载并且在需要时在客户端侧上完成互联网任务。在用户设备处存储或缓存的数据通常被称为客户端侧存留数据。一些web浏览器、互联网门户以及之类的被配置为无困难地支持用户的在线和离线执行二者。例如,支持HTML5特征的web浏览器内置使得内容被离线捕获并且随后在在线使用期间被提供至目标web服务器的语义。HTML5协议调用浏览器以读取引用了各种资源的URL的列表,浏览器需要该URL的列表以离线地访问目标web服务、下载资源、本地缓存它们、并且在它们改变时自动地保持本地存储的副本为最新。通过这个方案,一旦建立了在线执行,就提供数据的最最新的版本。
不幸地,未被配置为执行HTML5或其它协议的设备不能够支持在线和离线执行二者。举例而言,在许多发展中国家,用户经常使用无成熟的HTML5浏览器的移动设备。此外,这些国家可能不具有用户需要的用来维持在线执行的可靠网络连接。因此,用户在它们的能力上受到限制,以实现给予的受限的网络访问和次佳的浏览器可用性的在线和离线执行二者。而且,这样的用户不能在离线时创建新内容以及当用户在之后在线时上传内容。
为了解决这一问题,图1的系统100引入采用将一个或多个webcookie用作客户端侧数据缓存的装置和机构的能力。更具体而言,系统100使得被用户在设备(即用户设备(UE))101处定向到至少一个web服务器103a的内容被分离并且存储到一个或多个webcookie。如图1所示,系统100包括用户设备(UE)101,其具有经由通信网络105到一个或多个web服务器103a-103n的连接性。在一个实施例中,UE101可以从由服务器103a-103n中的一个或多个所管理的网站访问信息或web内容。此外,通过设备处的输入——即,经由键盘、小键盘、触摸输入、声音输入、或其他输入装置——生成的内容可以被传送到服务器103a-103n以促进会话交互。
例如,UE101使用浏览器应用(例如,基于网络的工具111)向服务器103a-103n中的至少一个发送对web内容的请求。在收到请求后,web服务器103在响应中生成web内容代码(例如,超文本标记语言(HTML)代码),例如用于浏览器111进行的呈现或执行。在UE101和相应服务器103a-103n之间的、包括当离线状态被确定时的客户端/服务器交互通过传送所存储到高速缓冲113中的web cookie来实现。根据本文的示例性实施例,系统100响应于针对网络和/或会话的在线状态的确定而促进传输过程。
web cookie(例如,浏览器cookie或超文本传输协议(HTTP)cookie)可以包括例如用于被存储到运行应用(例如,web浏览器)的本地设备的文本或其他数据的任何小部分。web cookie由包含受限的信息位的一个或多个名称-值对所组成,该信息比如用户偏好、购物车内容、用于基于服务器的会话的标识符、或由网站使用的其他数据。这例如包括内容的存储而不管内容的大小。
举例而言,这个内容存储过程由可操作以与用户设备UE101的基于网络的工具(例如,web浏览器)111通信的数据缓存模块115来执行。数据缓存模块115被配置为:(1)确定在基于网络的工具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,。
由数据缓存模块进行的跨一个或多个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分配多个不同的路径,内容存储的能力得以增加而不是被限制。
要在设备处生成的存储路径的数目可以基于如在前述示例中所指出的1:1比例模型。因此,定义的存储路径的数目至少等于用来存储内容所需要的web cookie的数目。例如,用于确定分布合计一个兆字节的内容所需要的存储路径的相对数目的计算如下所示:
内容的总大小÷web cookie的最大大小
对于4096字节的典型的web cookie大小,1MB(1048576字节)的内容必须跨至少256个cookie(1048576字节÷每web cookie的4096字节)进行封装/分布。因此,数据缓存模块115必须创建至少256个存储路径以便将相应的web cookie存取/存储到本地缓存113。可替换地,存储路径的数目可以基于其他变量,包括本地缓存113的容量、设备处理速度、操作系统能力、网络延迟和访问状态等,在设备处生成。因此,应当注意数据缓存模块115可以被配置为考虑任何指定的限制和访问策略,例如包括用于调节/限制对于整个或每个web服务器103a-103n被允许存储的web cookie的数目的策略。另外,如之后将要讨论的,超出所确定的数目的至少一个附加存储路径是必要的,需要用于存取与各种web cookie中的每个有关的数据和所生成的关联存储路径。
在某些实施例中,数据缓存模块115还使得在检测到与web服务器103a-103n的活动连接和/或会话时,向服务器103a-103n传输一个或多个web cookie。结果,所存储到每个web cookie的内容还根据网络连接、会话或者其组合的建立或重建进行传送。内容在web服务器103a-103n提取和/或加载由各个web cookie所传送的内容时由web服务器103a-103n所重构。为了确保内容的适当重构,数据缓存模块115指定一个或多个web cookie中的至少一个作为主记录。主记录可以例如包括用于传送一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分的信息。此外,主记录可以指示与一个或多个web cookie相关联的一个或多个存储路径、相对于相应存储路径的从本地缓存访问一个或多个web cookie的序列、或者其组合。
为了避免不必要的数据被上传到web服务器103a-103n,存储路径应当仅被保留用于存储在离线执行期间生成的内容。如此,数据缓存模块确保浏览器111不对指定的存储路径上或之下的URL产生HTTP请求。数据缓存模块115还执行关于存储路径的各种安全措施,例如包括执行一个或多个存储路径的连接、随机化、加长、混淆、修改或者其组合。同样地,存储在一个或多个web cookie中的内容数据也可以被连接等。这可以防止第三方入侵者(即恶意网站)的能力以免确定存储路径或相关联的内容。
应当注意在某些情况下,web服务器103a-103n在其配备有URL重写引擎(未示出)以实现相同的效果的情况下不需要在它的会话数据库109a-109n内维持对存储路径的任何引用。如此,重写引擎可以在接收和提取一个或多个web cookie的相关内容时修改在主记录中指示的存储路径。
举例而言,系统100的通信网络105包括一个或者多个网络,比如数据网络(未示出)、无线网络(未示出)、电话网络(未示出)或者其任何组合。设想数据网络可以是任何局域网(LAN)、城域网(MAN)、广域网(WAN)、公共数据网(例如互联网)或者任何其他适当分组交换网络,比如商业上拥有的专有分组交换网络,例如专有线缆或者光纤网络。此外,无线网络例如可以是蜂窝网络并且可以运用各种技术,包括全球演进增强数据速率(EDGE)、通用分组无线电服务(GPRS)、全球移动通信系统(GSM)、网际协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等,以及任何其他适当无线介质,例如全球微波接入互操作性(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星、移动自组织网络(MANET)以及之类的。
UE101是任何类型的移动终端、固定终端或者便携终端,该终端包括移动手持机、站、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、个人数字助理(PDA)、或者其任何组合。也设想UE101可以支持与用户的任何类型的接口(比如“可佩戴”电路装置等)。UE101使用公知、新型或者仍在开发中的协议与web服务器103a-103n和通信网络105的其他部件通信。在这一上下文中,协议包括用于定义通信网络105内的网络节点如何基于在通信链路上发送的信息而彼此进行交互的一组规则。协议在每个节点内的不同操作层起作用,从生成和接收各种类型的物理信号,到选择用于传输那些信号的链路,到那些信号所指示的信息格式,到识别计算机系统上执行的哪些软件应用发送或接收该信息。用于在网络上交换信息的概念上不同的协议层在开放式系统互连(OSI)参考模型中有所描述。
网络节点间的通信通常受到交换离散数据分组的影响。每个数据分组典型地包括(1)与特定协议相关联的报头信息,以及(2)跟在报头信息之后并且包含可以独立于该特定协议进行处理的信息的有效载荷信息。在一些协议中,分组包括(3)跟在有效载荷之后并且指示有效载荷信息结束的报尾信息。报头包括诸如分组来源、其目的地、有效载荷长度以及协议所使用的其它属性的信息。通常,针对特定协议的有效载荷中的数据包括针对与OSI参考模型的不同的更高层相关联的不同协议的报头和有效载荷。针对特定协议的报头典型地指示其有效载荷中所包含的下一个协议的类型。更高层的协议被认为封装在更底层的协议中。如OSI参考模型所定义的,包括在穿过多个异构网络(诸如互联网)的分组中的报头典型地包括物理(第1层)报头、数据链路(第2层)报头、互连网络(第3层)报头和传输(第4层)报头,以及各种应用报头(第5层、第6层、第7层)。
图2是根据一个实施例的数据缓存模块的部件的示图。举例而言,数据缓存模块115包括一个或多个用于使用一个或多个webcookie提供内容的客户端侧缓存的一个或多个部件。设想到这些部件的功能可以在一个或者多个部件中组合或者由等效功能的其他部件执行。此外,当与UE101一起参考图1被提供时,数据缓存模块115还可以被实现为服务器103a-103n的活动部件以促进与UE101的客户端/服务器交互。对数据缓存模块115的部件的下文的描述适用于任何实施方式。
在这一实施例中,数据缓存模块115至少包括处理器201或者用于执行至少一个用于促进各种其他模块203-207的操作的算法的其他控制逻辑。例如,处理器201与连接检测器203进行交互以识别网络和/或会话的离线或在线状态。在一个实施例中,连接检测器203可以具有对会话由客户端111使用的用来与web服务器103进行通信的套接字(例如,传输控制协议(TCP)套接字)的访问权。连接检测器203可以获得与套接字相关联的标识符(例如,套接字标识符(ID))以识别对应的连接是活动的(例如,持续的连接)。可替换地,连接检测器203可以采用其他状态确定消息的使用,包括使用不同的工作者进程/线程以识别持续的或可重复使用的连接。处理结果可以例如包括活动连接、非活动连接、活动会话、非活动会话、或者它们的组合。
在识别连接之后,处理器201与脚本处理模块205进行交互,以便生成如参考图1所描述的一个或多个web cookie。如之前所述,一个或多个web cookie存储意图用于定向到web服务器的内容的至少一部分。在某些实施例中,脚本处理模块205调节跨各个webcookie的内容的分布。脚本处理模块205还使得在设备处执行一个或多个脚本处理,以使得内容数据在一个或多个web cookie中的存储。这例如包括确定以接收用于定向到服务器的内容,访问内容的大小、确定要与用于容纳内容的相应一个或多个web cookie中的每一个相关联的创建的web路径的数目,以及之类的。脚本处理模块205还从至少一个web服务器接收一个或多个web cookie。
传输模块207连同连接检测器一起操作以响应于确定的连接和/或会话的在线状态自动地触发一个或多个web cookie的传输。设想到了传输模块207可以在web服务器需要时支持一个或多个webcookie的顺序传输,成批的/背负式(piggybacked)数据传输等。主记录可以被提供用于web服务器的初始传送,用于实现一个或多个web cookie的适当访问/获取并且/或者服务器处的内容的重构。
图3A-3D是根据各种实施例的用于使用一个多个web cookie来提供内容的客户端侧缓存的过程的流程图。在一个实施例中,数据缓存模块115执行过程300,并且例如由如图6所示的包括处理器和存储器的芯片组来实现。在步骤301,数据缓存模块115确定来自设备的请求,该请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据。如之前所述,内容数据可以通过设备的各种输入机制来接收,包括通过键盘、小键盘、终端、麦克风、照相机、录像机、触摸、语音或之类的方式。此外,设想到内容可以被意图用于传输到web服务器或者用于在设备处的存储(例如,至少在存储目的地上)。例如,在一个示例中,用户可以在第一会话中创建内容,但是其在用户能够完成创建内容(例如,电子邮件)之前被中断。用户然后能够使用本文描述的各种实施方式存储内容或其他相关内容(例如,提醒用户如何继续进行电子邮件的记录)用于之后的访问或处理。在这种情况下,内容用于在设备处(例如,在如本文所讨论的比如缓存或其他存储路径的存储目的地处)的本地使用并且不传送至服务器。在步骤303,数据缓存模块115处理和/或促进内容数据的用于在一个或多个web cookie中存储的处理。在某些实施例中,设想到数据缓存模块115可以支持非文本内容(即,视频数据)的存储。在这种情形下,视频数据可以被以二进制形式进行编码并且进而分布在相应的一个或多个webcookie中用于在web服务器处的后续重构(解码)。
根据步骤305,数据缓存模块115使得基于请求的、经由一个或多个web cookie向至少一个web服务器、至少一个存储目的地或者其组合的内容的传输。至少部分基于状态的从关于至少一个web服务器的离线到在线的改变来促进这一过程。因此,如之前所述,响应于网络连接和/或web会话的建立或重建来执行一个或多个webcookie的传输,以支持连续的、持续的会话体验。
在过程306的步骤307,数据缓存模块115处理和/或促进内容数据的大小的处理以确定用于存储内容数据的一个或多个webcookie的数目。根据步骤309,数据缓存模块115使得基于该数目的、在设备处的一个或多个存储路径的创建。如之前所述,一个或多个存储路径用于设备处的一个或多个web cookie的存储。一个或多个存储路径允许由web服务器响应于网络连接和/或web会话的建立或重建来访问所存储到相应的一个或多个web cookie的内容。
在过程310,给出用于管理关于一个或多个web cookie的各个存储路径的分布的步骤。在步骤311,数据缓存模块使得用于在一个或多个web cookie上存储的内容数据的分布。在另一步骤313,数据缓存模块115确定以指定一个或多个web cookie中的至少一个作为用于分布的主记录。主记录至少部分指示一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分、与一个或多个webcookie相关联的一个或多个存储路径、一个或多个web cookie的访问序列、或者其组合。因此,根据步骤315,数据缓存模块115使得基于所确定的要被创建的存储路径的数目的、用于在一个或多个webcookie上进行存储的内容数据的分布。应当注意一个或多个webcookie的访问序列还可以对应于响应于检测到与web服务器的在线状态的一个或多个web cookie的传输的速度、次序或序列。
根据步骤317,数据缓存模块115可以连同web服务器进行操作以支持各种数据屏蔽和/或限制特征。数据缓存模块使得与一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
作为用于促进基于一个或多个web cookie的web会话的另一个方式,数据缓存模块115使得至少部分基于在设备和web服务器之间的会话的状态、内容数据的传输状态或者其组合的、存储在一个或多个web cookie中的内容数据的连接。这对应于过程318的步骤319。根据步骤321,数据缓存模块115使得在设备的用户接口中的内容数据的回显(echo)。回显过程提供验证web服务器接收到一个或多个web cookie的方式。
在另一步骤323,使得在设备处处理一个或多个脚本以使得内容数据在一个或多个web cookie中的存储。脚本可以对应于用于支持内容数据的编码、存储和引用的任何脚本处理语言。根据步骤325,模块115从至少一个web服务器接收一个或多个web cookie。
图4A-4C是根据各种实施例的用于描绘用于支持客户端侧缓存的浏览器和web服务器之间的交互的用户接口的示图。出于说明的目的,关于使服务器初始在线执行、接着离线执行的浏览器的用例描述附图。举例而言,浏览器所参与的web服务器是Echo服务,其是用于使得web服务器向回发送它从浏览器接收的相同数据的副本的服务。用于基于确定的离线状态实现Echo服务的示例性源代码稍后参考表2进行介绍。
在图4A,用户(向)用于允许Echo服务的专用服务器加载由URL http://127.0.0.1/echClient.php所引用的网页。这对应于与web服务器的在线状态。用户然后在数据录入窗401键入文本串“1”并且随后键入“2”,然后选择“OK”动作按钮405以提交数据。响应包括将“online:”连接到录入的串(例如,1,2)并且将它们作为文本403返回到浏览器以便呈现“online:1”和“online:2”的web服务器。应当注意,在选择“OK”动作按钮405后,还可以使得内容被存储到一个或多个web cookie并且根据一个或多个存储路径被存储到设备的本地缓存。在一些实施例中,如果设备在线,则内容可以被直接发送到适当的服务器而不用被本地存储。因此,这一动作也可以在在线执行期间执行。
在之后的时间,用户关闭浏览器400,使得中止和web服务器的会话并且web服务器执行Echo服务(例如,离线状态)。在其他实例中,到通信网络105的活动连接可能会丢失。用户然后打开浏览器,并选择激活它用于离线执行,对应于图4B。如之前所述,离线和/或在线状态可以由用户直接指定或者被相应地检测。
一旦浏览器被调用,用户再次在浏览器中键入URL http://127.0.0.1/echClient.php。结果,用户仍然可以在数据输入窗409输入字符串,但字符串由于离线状态不被发送到web服务器。取而代之,一个或多个web cookie存储所录入的字符串。这使得浏览器400向用户界面UI回显所录入的字符串,但是它们被连接以不同的词,“offline:”,以示区别。举例而言,当用户录入字符串“3”时,字符串“offline:3”411被返回。用户还录入文本字符串“4”和“5”,然后关闭浏览器400。
参考图4C,用户在之后的时间重新打开浏览器400并建立与服务器的连接(例如,在线状态)。再次,用户访问URL http://127.0.0.1/echClient.php以便加载Echo服务。已经确定了在线状态,使得web浏览器传送包含相应内容/字符串“3”、“4”和“5”的一个或多个web cookie。web服务器基于用于一个或多个web cookie的相应的一个或多个存储路径,即如在主记录中所指定的,来从设备的本地缓存访问字符串。响应于接收到web cookie,服务器返回如连接的“online:”的字符串,对应于文本显示415。用户还可以继续录入其他字符串。
在一个实施例中,JavaScript可以被用作与web内容相关联的脚本处理文件的语言。表2是使用JavaScript和HTML编码会话的样本实现。为了说明的目的,使用对应于图3A-3D的处理的各种执行,在代码的各个部分给出简要描述。
表2
Figure BDA0000490670390000151
Figure BDA0000490670390000161
Figure BDA0000490670390000171
Figure BDA0000490670390000181
Figure BDA0000490670390000191
Figure BDA0000490670390000201
Figure BDA0000490670390000211
本文描述的用于提供客户端侧缓存的过程可以有利地经由软件、硬件(例如,处理器、数字信号处理(DSP)芯片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等)、固件或者软件和/或固件和/或硬件的组合来实施。下文具体描述这样的用于执行描述的功能的示例硬件。
图5图示本发明的实施例可以在其上实施的计算机系统500。虽然关于特定设备或者装备描绘计算机系统500,但是设想图5内的其他设备或者装备(例如网元、服务器等)可以部署系统500的所示硬件和部件。计算机系统500被编程(例如经由计算机程序代码或者指令)以如本文描述的那样提供内容的客户端侧缓存并且包括通信机制,比如用于在计算机系统500的其他内部与外部部件之间传递信息的总线510。信息(也称为数据)被表示为可测量现象的物理表示,典型的为电压,但是在其他实施例中包括诸如磁的、电磁的、压力的、化学的、生物的、分子的、原子的、亚原子和量子的交互之类的现象。例如,北磁场和南磁场、或者零和非零电压表示二进制数位(比特)的两个状态(0、1)。其他现象可以表示更高基数的数位。在测量之前的多个同时量子状态的叠加表示量子比特(qubit)。一个或多个数位的序列构成用来表示字符数字或字符代码的数字数据。在一些实施例中,由特定范围内的接近连续的可测量值表示被称为模拟数据的信息。计算机系统500或者其一部分构成用来执行提供内容的客户端侧缓存的一个或多个步骤的模块。
总线510包括一个或者多个并行信息导体,从而在耦合到总线510的设备之间快速传送信息。用于处理信息的一个或者多个处理器502与总线510耦合。
一个处理器(或者多个处理器)502对计算机程序代码指定的信息执行与提供内容的客户端侧缓存有关的一组操作。该计算机程序代码是用于处理器和/或计算机系统的操作以执行指定功能的指令或者提供指令的语句的集合。例如可以用编译成处理器的原生指令集的计算机编程语言编写代码。也可以使用原生指令集(例如机器语言)来直接编写代码。操作集包括从总线510带入信息以及将信息置于总线510上。操作集通常还包括诸如通过相加或相乘或类似“或”(OR)、“异或”(XOR)和“与”(AND)之类的逻辑操作对两个或多个信息单元进行比较、对信息单元进行移位、以及将两个或更多信息单元组合。通过被称为指令的信息(例如一个或多个数位的操作代码)向处理器表示可由处理器执行的操作集中的每个操作。将由处理器502执行的操作序列(例如操作代码序列)构成处理器指令,其也被称为计算机系统指令或者简单地被称为计算机指令。除了别的以外,处理器可以被实现为机械的、电的、磁的、光的、化学的或者量子的组件,其中所述组件为单独形式或者组合形式。
计算机系统500也包括耦合到总线510的存储器504。存储器504,比如随机存取存储器(RAM)或者任何其他动态存储设备,存储信息,该信息包括用于提供内容的客户端侧缓存的处理器指令。动态存储器允许其中存储的信息由计算机系统500改变。RAM允许在称为存储器地址的位置存储的信息单位与在邻近地址的信息独立地存储和获取。存储器504也由处理器502用来在执行处理器指令期间存储临时值。计算机系统500也包括耦合到总线510的只读存储器(ROM)506或者任何其他静态存储设备,该ROM或者其他静态存储设备用于存储计算机系统500未改变的包括指令的静态信息。一些存储器由在失去电力时丢失在其上存储的信息的易失性存储装置组成。非易失性(持续)存储设备508,比如磁盘、光盘或者闪卡,也耦合到总线510,该非易失性(持续)存储设备用于存储即使在计算机系统500被关断或者以别的方式失去电力时仍然持续的包括指令的信息。
从诸如人类用户操作的包含字母数字键的键盘、麦克风、红外(IR)遥控装置、操作杆、游戏手柄、手写笔、触摸屏或传感器的外部输入设备512向总线510提供包括用于提供内容的客户端侧缓存的指令在内的信息,以供处理器使用。传感器检测在其附近的状况并且将这些检测转换为与用于对计算机系统500中的信息进行表示的可测量现象兼容的物理表示。主要用于与人类交互的耦合到总线510的其它外部设备包括诸如阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)显示器、等离子屏幕或打印机之类的用于呈现文字或图像的显示设备514,以及诸如鼠标、轨迹球、光标方向键或者运动传感器之类的用于控制呈现于显示器514上的小光标图像的位置以及发出与呈现于显示器514上的图形元素相关联的命令的指点设备516,。在一些实施例中,例如在计算机系统500在没有人类输入的情况下而自动执行所有功能的实施例中,省略了外部输入设备512、显示设备514和指点设备516中的一个或多个。
在所例示的实施例中,诸如专用集成电路(ASIC)520之类的专用硬件耦合到总线510。该专用硬件被配置为执行出于特定目的处理器502不能快速地执行的操作。应用特定IC的示例包括用于为显示器514产生图像的图形加速卡、用于对通过网络发送的消息进行加密和解密的密码板、语言识别、以及到特殊外部设备的接口,该特殊外部设备例如为重复地执行某些复杂操作序列的、更有效地以硬件实现的机械手以及医疗扫描设备。
计算机系统500还包括耦合到总线510的通信接口570的一个或者多个实例。通信接口570提供耦合到诸如打印机、扫描仪和外部磁盘之类的各种外部设备的单向或双向的通信,这些外部设备使用其自己的处理器来操作。通常而言,该耦合利用连接到本地网络580的网络链路578,其中具有其自己的处理器的各种外部设备连接到本地网络580。例如,通信接口570可以是个人计算机上的并行端口、串行端口或者通用串行总线(USB)端口。在一些实施例中,通信接口570为综合业务数字网(ISDN)卡、数字用户线(DSL)卡或者提供到相应类型的电话线的信息通信连接的电话调制解调器。在一些实施例中,通信接口570为用于将总线510上的信号转换为通过同轴电缆的通信连接的信号,或者转换为通过光纤线缆的通信连接的光信号的电缆调制解调器。作为另一个示例,通信接口570可以为局域网(LAN)卡,用于提供到诸如以太网之类的可兼容LAN的数据通信连接。也可以实现为无线链路。对于无线链路,通信接口570发送或接收或者既发送又接收承载诸如数字数据之类的信息流的包括红外和光信号在内的电的、声的或电磁信号。例如,在诸如类似于蜂窝电话的移动电话之类的无线手持设备中,通信接口570包括被称为无线电收发器的无线电波段的电磁发射机和接收机。在某些实施例中,通信接口570能够实现用于向UE101提供内容的客户端侧缓存的到通信网络105的理解。
本文所使用的术语计算机可读介质是指参与向处理器502提供包括执行指令在内的信息的任意介质。这种介质可以采用许多形式,包括但不限于计算机可读存储介质(例如,非易失性介质、易失性介质)和传输介质。非暂态介质(例如非易失性介质)包括例如光或磁盘,如存储设备508。易失性介质包括例如动态存储器504。传输介质包括例如双绞线电缆、同轴电缆、铜线、光缆以及不利用电线或者电缆而是经过空间传输的诸如声波和电磁波(包括无线电波,光波和红外波)之类的载波。信号包括幅度、频率、相位、极化或通过传输介质传输的其它物理属性中人为的瞬态变化。通常形式的计算机可读介质包括例如软盘、软磁盘、硬盘、磁带、任何其他磁介质、CD-ROM、CDRW、DVD、任何其他光介质、穿孔卡、纸带、光学标记板、具有孔的模式或其他光学可识别标记的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、EEPROM、闪存、任何其他存储芯片或卡盘、载波或计算机可读的任何其他介质。这里所使用的术语计算机可读存储介质是指除了传输介质之外的任何计算机可读介质。
编码于一个或多个有形介质中的逻辑包括计算机可读介质和诸如ASIC520之类的专用硬件两者中的一个或两者之上的处理器指令。
网络链路578典型地使用经过一个或多个网络的传输介质向使用或对信息进行处理的其他设备提供该信息通信。例如,网络链路578可以通过本地网络580向主机计算机582或者互联网服务提供商(ISP)操作的设备584提供连接。ISP设备584继而通过公共的世界范围的分组交换通信网网络(现在通常称作互联网590)来提供数据通信服务。
被称为服务器主机592、连接到互联网的计算机主控响应于通过互联网接收到的信息而提供服务的处理。例如,服务器主机592主控提供表示用于在显示器514上呈现的视频数据的信息的处理。可以预期可以将系统500的组件部署在其他计算机系统之内的多种配置(例如主机582和服务器592)中。
本发明的至少一些实施例涉及使用计算机系统500实现本文描述的一些或所有技术。基于本发明的一个实施例,计算机系统500响应于处理器502执行存储器504中包含的一个或多个处理器指令的一个或多个序列而执行这些技术。这些指令也被称为计算机指令、软件和程序代码,其可以从诸如存储设备508或者网络链路578之类的其他计算机可读介质读入存储器504中。存储器504中包含的指令序列的执行使得处理器502执行本文描述的一个或多个方法步骤。在可替换的实施例中,诸如ASIC520之类的硬件可以代替软件或者与软件组合来实现本发明。因此,除非本文明确提出,否则本发明的实施例并不局限于硬件和软件的任何特定组合。
经由通信接口570通过网络链路578以及其他网络发送的信号承载去往和来自计算机系统500的信息。计算机系统500可以通过网络580和590以及其他网络,通过网络链路578和通信接口570发送和接收包括程序代码在内的信息。在使用互联网590的示例中,服务器主机592通过互联网590、ISP设备584、本地网络580和通信接口570发送由计算机500发送的消息所请求的用于特定应用的程序代码。所接收的代码可以在其被接收时由处理器502执行,或者可以将其存储在存储器504中,或者存储在存储设备508或其他非易失性存储器中以便以后执行,或者既存储于存储器504中又存储在存储设备508或任何其他非易失性存储器中。通过这种方式,计算机系统500可以获得载波上的信号形式的应用程序代码。
在将一个或多个指令序列以及数据两者或两者之一传送到处理器502以供其执行的过程中可以使用多种形式的计算机可读介质。例如,指令和数据可以在初始时承载于诸如主机582之类的远程计算机的磁盘上。远程计算机将该指令和数据加载到它的动态存储器中,并将使用调制解调器通过电话线发送该指令和数据。计算机系统500本地的调制解调器在电话线上接收该指令和数据,并且使用红外发射机将该指令和数据转换为作为网络链路578的红外载波上的信号。作为通信接口570的红外检测器接收到红外信号中承载的指令和数据,并且将表示指令和数据的信息置于总线510上。总线510将信息传送到存储器504上,处理器502使用随指令一起发送的数据中的一些数据从存储器504获取并执行指令。可选择地,可以将存储器504已接收的指令和数据在它们被处理器502执行之前或之后存储在存储设备508上。
图6图示本发明的实施例可以在其上实施的芯片或芯片组。芯片组600被编程用于如本文描述的那样提供内容的客户端侧缓存,并且包括例如参照图5描述的合并于一个或多个物理封装(例如芯片)中的处理器和存储器部件。举例来说,物理封装包括结构组合件(例如基板)上的一种或多种材料、部件和/或线路的布置,以便提供诸如物理强度、保留尺寸和/或电交互限制之类的一个或多个特性。设想在某些实施例中,可以在单个芯片中实施芯片组600。还设想在某些实施例中,可以实施芯片组或者芯片600为单个“片上系统”。还设想在某些实施例中,例如将未使用单独ASIC并且如本文公开的所有相关功能将由一个或者多个处理器执行。芯片组或者芯片600或者其部分构成用于执行一个或者多个步骤的装置,该一个或者多个步骤提供与功能的可用性关联的用户接口导航信息。芯片组或者芯片600或者其部分构成用于执行提供内容的客户端侧缓存的一个或者多个步骤的装置。
在一个实施方式中,芯片组600包括诸如总线601之类的通信机制,用于在芯片组600的部件间传递信息。处理器603连接到总线601,以执行指令并且处理存储在例如存储器605中的信息。处理器603可以包括一个或多个被配置为独立地运行的处理核。多核处理器能够在单个物理封装之内进行多重处理。多核处理器的示例包括两个、四个、八个或者更多个处理核。可替换地或者附加地,处理器603可以包括被配置为经由总线601串联的一个或多个微处理器,以便实现指令的独立执行、流水线处理以及多线程处理。处理器603还可以附带一个或多个专用部件(例如一个或多个数字信号处理器(DSP)607、或者一个或多个专用集成电路(ASIC)609),以便执行某些处理功能和任务。DSP607典型地被配置为独立于处理器603对真实信号(例如声音)进行实时处理。类似地,ASIC609可以被配置为执行多个通用处理器不容易执行的特定功能。辅助于执行本文描述的本发明的功能的其他专用部件可以包括一个或多个现场可编程门阵列(FPAG),一个或多个控制器或者一个或多个其他专用计算机芯片。
在一个实施例中,芯片组或者芯片600仅包括一个或者多个处理器以及支持和/或涉及和/或用于一个或者多个处理器的一些软件和/或固件。
处理器603以及随附组件经由总线601连接到存储器605。存储器605既包括动态存储器(例如RAM、磁盘、可写光盘等)还包括静态存储器(例如ROM、CD-ROM等),用于存储可执行指令,当这些指令被执行时,它们执行本文所描述的创新性步骤,以提供内容的客户端侧缓存。存储器605还对与执行创新性步骤相关联的或者由执行创新性步骤产生的数据进行存储。
图7是根据一个实施例的能在图1的系统中操作的用于通信的移动终端(例如,手持机)的示例性组件的示图。在某些实施例中,移动终端701或其中一部分构成执行提供内容的客户端侧缓存的一个或多个步骤的装置。通常而言,无线电接收机经常按照前端和后端特性来定义。接收机的前端包括全部射频(RF)电路,而后端包括全部基带处理电路。如在本申请中使用的,术语“电路”是指如下两者:(1)仅硬件实现(例如仅以模拟和/或数字电路实现),以及(2)电路和软件(和/或固件)的组合(例如,如果应用于特殊环境,指一起工作的一个或多个处理器(包括一个或多个数字信号处理器)、软件和一个或多个存储器的组合,以使得诸如移动电话或服务器之类的装置执行各种功能)。这里定义的“电路”适用于本申请(包括权利要求)中对该术语的所有使用。作为另一个示例,如在本申请中使用的以及如果适用于特殊环境,术语“电路”还将涵盖仅一个(或多个)处理器及其所附软件和/或固件的实现。如果用于特殊的环境,术语“电路”还将涵盖例如移动电话中的基带集成电路或应用处理器集成电路、或者蜂窝网络设备或其他网络设备中的类似的集成电路。
电话的相关内部组件包括主控单元(MCU)703、数字信号处理器(DSP)705、以及包括麦克风增益控制单元和扬声器增益控制单元的接收机/发射机单元。主显示单元707为用户提供显示,以支持执行或支持提供内容的客户侧缓存的步骤的各种应用和移动终端功能。显示器707包括被配置为用于显示移动终端(例如,移动电话)的至少一部分用户界面的显示电路。此外,显示器707和显示电路被配置为辅助对移动终端的至少一些功能的用户控制。音频功能电路709包括麦克风711和对麦克风711的语音信号输出进行放大的麦克风放大器。经放大的来自麦克风711的语音信号输出被馈送至编码器/解码器(CODEC)713。
无线电部分715进行功率放大和频率转换,以便经由天线717与移动通信系统中包含的基站进行通信。功率放大器(PA)719和发射机/调制电路操作地响应于MCU703,其中如所属领域已知的那样,PA719的输出耦合到双工器721或者环行器或者天线开关。PA719还耦合到电池接口和电源控制单元720。
在使用中,移动终端701的用户对着麦克风711讲话,并且他或她的声音随着任意已检测的背景噪声一起被转换成模拟电压。所述模拟电压随后通过模数转换器(ADC)723被转换成数字信号。控制单元703将数字信号路由到DSP705中,以便在其中进行诸如语音编码、信道编码、加密和交织之类的处理。在一个实施例中,由未单独示出的单元,使用诸如用于全球演进的增强数据速率(EDGE)、通用分组无线业务(GPRS)、全球移动通信系统(GSM)、互联网协议多媒体子系统(IMS)、通用移动电信系统(UMTS)等之类的蜂窝传输协议,以及使用任何其他合适的无线介质(例如微波接入(WiMAX)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星等),或者其任意组合,对已处理的语音信号进行编码。
编码后的信号随后被路由到均衡器725,用来补偿通过空中传输期间产生的任意频率相关损失(例如相位和幅度失真)。在对比特流进行均衡后,调制器727将信号和RF接口729产生的RF信号组合。调制器727通过频率或相位调制的方式产生正弦波。为了准备用于传输的信号,上变频器731将调制器727正弦波输出和合成器产生的另一个正弦波进行结合,以实现所期望的传输频率。随后通过PA719发送该信号,以便将信号提高到适当的功率水平。在实际系统中,PA719为可变增益放大器,其增益由DSP705根据从网络基站接收的信息进行控制。随后在双工器721中对信号进行过滤,并且可选地将其发送到天线耦合器735以进行阻抗匹配,从而提供最大功率传输。最终,经由天线717将信号发送到本地基站。可以提供自动增益控制(AGC),以控制接收机最后阶段的增益。信号可以从那里转发到远程电话,该远程电话可以为另一个蜂窝电话、其他移动电话或连接到公共交换电信网络(PSTN)或者其他电信网络的座机。
向移动终端701发送的语音信号经由天线717接收,并且立即经由低噪声放大器(LNA)737放大。下变频器739降低载频,而解调器741除去RF仅保留数字比特流。随后信号经过均衡器725,并由DSP705处理。数模转换器(DAC)743对信号进行转换,并且通过扬声器745将所得输出发送给用户,所有这些都在可以作为中央处理单元(CPU)来实现的主控单元(MCU)703的控制之下。
MCU703接收包括从键盘747输入的信号在内的各种信号。键盘747和/或MCU703与其他用户输入组件(例如麦克风711)组合在一起包括管理用户输入的用户界面电路。MCU703运行用户界面软件以辅助用户控制移动终端701的至少一些功能,从而提供内容的客户端侧缓存。MCU703还分别向显示器707和语音输出开关控制器传递显示命令和交换命令。进一步地,MCU703与DSP705交换信息,并且可以访问可选地结合的SIM卡749和存储器751。此外,MCU703执行终端所需的各种控制功能。取决于实现方式,DSP705可以对语音信号执行多种常规数字处理功能中的任意功能。此外,DSP705根据麦克风711检测的信号确定本地环境的背景噪声水平,并且将麦克风711的增益设置为选定的水平,以便对移动终端701的用户的自然倾向进行补偿。
CODEC713包括ADC723和DAC743。存储器751存储包括呼入音调数据在内的各种数据,并且能够存储包括经由例如全球互联网接收的音乐数据在内的其他数据。软件模块可以驻留在RAM存储器、闪存、寄存器或者本领域已知的任意其他形式的可写存储介质中。存储设备751可以是但不限于单个存储器、CD、DVD、ROM、RAM、EEPROM、光存储器、磁盘存储装置、闪存存储装置、或者能够存储数字数据的任何其他非易失性的存储介质。
例如,可选地结合的SIM卡749承载诸如蜂窝电话号码、运营商提供的服务、订阅详情以及安全信息之类的重要信息。SIM卡749主要服务于识别无线电网络上的移动终端701。SIM卡749还包括用来存储个人电话号码登记、文本消息以及用户特定移动终端设置的存储器。
虽然已经结合许多实施例和实施方式对本发明进行了描述,但是本发明并不局限于此,而是覆盖了落入所附权利要求的范围之内的各种明显的修改和等效设置。虽然本发明的特征被表达为权利要求之间的特定组合,但是可以预期这些特征可以以任意的组合和顺序来进行排列。

Claims (38)

1.一种方法,包括促进(1)数据和/或(2)信息和/或(3)至少一个信号的处理和/或处理(1)数据和/或(2)信息和/或(3)至少一个信号,所述(1)数据和/或(2)信息和/或(3)至少一个信号至少部分地基于以下项:
来自设备的请求,所述请求指定定向到至少一个web服务器、至少一个存储目的地、或者其组合的内容数据;
所述内容数据的用于在一个或多个web cookie中存储的处理;以及
至少部分基于所述请求的、经由所述一个或多个web cookie向所述至少一个web服务器、至少一个存储目的地、或者其组合的所述内容数据的传输。
2.根据权利要求1所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
所述设备具有关于所述至少一个web服务器的离线状态的至少一个确定;
其中经由所述一个或多个web cookie的所述内容数据的所述传输至少部分基于所述设备具有关于所述至少一个web服务器的离线状态的确定。
3.根据权利要求1所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
用来确定用于存储所述内容数据的所述一个或多个web cookie的数目的所述内容数据的大小的处理;以及
至少部分基于所述数目而在所述设备处的一个或多个存储路径的创建;
其中所述一个或多个存储路径用于所述一个或多个web cookie在所述设备处的存储。
4.根据权利要求3所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
用于在所述一个或多个web cookie上存储的所述内容数据的分布;以及
用来指定所述一个或多个web cookie中的至少一个作为用于所述分布的主记录的至少一个确定;
其中所述主记录至少部分指示所述一个或多个web cookie中的哪些包含所分布的内容数据的一个或多个部分、与所述一个或多个web cookie相关联的所述一个或多个存储路径、所述一个或多个webcookie的访问序列、或者其组合。
5.根据权利要求3-4中任一项所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
至少部分基于所述数目而用于在所述一个或多个web cookie上存储的所述内容数据的分布。
6.根据权利要求3-5中任一项所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
与所述一个或多个存储路径相关联的一个或多个路径标识符的随机化、加长、混淆、修改或者其组合。
7.根据权利要求6所述的方法,其中所述一个或多个路径标识符的所述随机化、所述加长、所述混淆、所述修改或者其组合经由与所述至少一个web服务器相关联的重写引擎。
8.根据权利要求1-7中任一项所述的方法,其中所述(1)数据和/或(2)信息和/或(3)至少一个信号还至少部分地基于以下项:
至少部分基于在所述设备和所述web服务器之间的会话的状态、所述内容数据的所述传输的状态、或者其组合而在所述一个或多个web cookie中存储的所述内容数据的连接。
9.根据权利要求8所述的方法,其中所述连接至少部分包括附加对应于离线会话状态的离线令牌、对应于在线会话状态的在线令牌、或者其组合。
10.根据权利要求1-9中任一项所述的方法,其中所述(1)数据和/或(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相关联的所述一个或多个存储路径、所述一个或多个webcookie的访问序列、或者其组合。
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中任一项所述的方法。
CN201280050480.1A 2011-09-02 2012-08-30 用于实现离线web应用执行的方法和装置 Pending CN103907329A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/224,905 US20130060885A1 (en) 2011-09-02 2011-09-02 Method and apparatus for enabling offline web application execution
US13/224,905 2011-09-02
PCT/FI2012/050835 WO2013030454A1 (en) 2011-09-02 2012-08-30 Method and apparatus for enabling offline web application execution

Publications (1)

Publication Number Publication Date
CN103907329A true CN103907329A (zh) 2014-07-02

Family

ID=47753998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280050480.1A Pending CN103907329A (zh) 2011-09-02 2012-08-30 用于实现离线web应用执行的方法和装置

Country Status (4)

Country Link
US (1) US20130060885A1 (zh)
EP (1) EP2745491A4 (zh)
CN (1) CN103907329A (zh)
WO (1) WO2013030454A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5812915B2 (ja) * 2012-03-28 2015-11-17 京セラ株式会社 携帯端末、データ管理方法およびデータ管理プログラム
US9178746B2 (en) 2012-07-03 2015-11-03 Google Inc. Browser-based fetch of external libraries
US9396126B2 (en) * 2013-01-30 2016-07-19 Google Inc. Clearing an application cache
US20140289609A1 (en) * 2013-03-20 2014-09-25 Tencent Technology (Shenzhen) Company Limited Method For Implementing Off-Line Application and Apparatus Therefor
CN104063269B (zh) * 2013-03-20 2019-01-08 腾讯科技(深圳)有限公司 一种实现离线应用的方法及装置
US9197612B2 (en) 2013-08-08 2015-11-24 Symbol Technologies, Llc Apparatus and method for deploying encrypted mobile off-line web applications
US9351060B2 (en) 2014-02-14 2016-05-24 Sonic Blocks, Inc. Modular quick-connect A/V system and methods thereof
JP6338453B2 (ja) * 2014-05-30 2018-06-06 キヤノン株式会社 情報端末、制御方法及びプログラム
CN104461632B (zh) * 2014-12-09 2017-06-16 东软集团股份有限公司 一种Web App加载方法及装置
JP6399965B2 (ja) * 2015-04-24 2018-10-03 三菱電機エンジニアリング株式会社 クライアント装置及びプログラム実行方法
US10713286B2 (en) 2017-06-27 2020-07-14 Microsoft Technology Licensing, Llc Storage of point of interest data on a user device for offline use
CN112564932A (zh) * 2019-09-26 2021-03-26 北京比特大陆科技有限公司 目标服务器掉线通知方法及装置
US20210119930A1 (en) * 2019-10-31 2021-04-22 Intel Corporation Reliable transport architecture
US11470142B2 (en) 2021-02-16 2022-10-11 StackBlitz, Inc. Network browser engine
US11829812B2 (en) * 2021-10-14 2023-11-28 Dish Wireless L.L.C. Application programming interface obfuscation systems and methods

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182357A1 (en) * 2002-03-01 2003-09-25 Brian Chess Client-side caching of pages with changing content
US20080270527A1 (en) * 2007-04-26 2008-10-30 Microsoft Corporation Extended browser data storage

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714926B1 (en) * 1999-02-02 2004-03-30 Amazon.Com, Inc. Use of browser cookies to store structured data
AU2582401A (en) * 1999-12-17 2001-06-25 Dorado Network Systems Corporation Purpose-based adaptive rendering
US20020083145A1 (en) * 2000-12-22 2002-06-27 Nortel Networks Limited Method and system for online/offline services
JP2002269151A (ja) * 2001-03-09 2002-09-20 Fujitsu Ltd イベント連動型情報表示システム及びイベント連動型情報表示方法
US7188216B1 (en) * 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US20050216844A1 (en) * 2004-03-03 2005-09-29 Error Brett M Delayed transmission of website usage data
US7240192B1 (en) * 2003-03-12 2007-07-03 Microsoft Corporation Combining a browser cache and cookies to improve the security of token-based authentication protocols
BRPI0418630A (pt) * 2004-03-12 2007-05-29 Thomson Licensing transferência de servidor remoto automática em uma unidade geográfica
US8886706B1 (en) * 2005-03-31 2014-11-11 Google Inc. Server-based backup system for user data
US20080052742A1 (en) * 2005-04-26 2008-02-28 Slide, Inc. Method and apparatus for presenting media content
US7908649B1 (en) * 2005-09-20 2011-03-15 Netapp, Inc. Method and apparatus for providing efficient authorization services in a web cache
US20070239725A1 (en) * 2006-03-28 2007-10-11 Microsoft Corporation Active cache offline access and management of project files
US20080071616A1 (en) * 2006-09-15 2008-03-20 Speedus Corp. System and Method for Ensuring Delivery of Advertising
US7917615B2 (en) * 2007-07-12 2011-03-29 Sextant Navigation, Inc. Apparatus and method for real-time monitoring and controlling of networked appliances using an intermediate server
US20100250921A1 (en) * 2009-03-27 2010-09-30 Gil Spencer Authorizing a Login Request of a Remote Device
US8281233B2 (en) * 2009-06-15 2012-10-02 Microsoft Corporation Architecture to expose internal business data on a website
US8578465B2 (en) * 2009-07-21 2013-11-05 Cisco Technology, Inc. Token-based control of permitted sub-sessions for online collaborative computing sessions
EP2302509B1 (en) * 2009-09-29 2012-09-26 Citrix Systems, Inc. Synchronization of server-side cookies with client-side cookies
US8850219B2 (en) * 2010-05-13 2014-09-30 Salesforce.Com, Inc. Secure communications
US9225532B2 (en) * 2010-12-06 2015-12-29 Verizon Patent And Licensing Inc. Method and system for providing registration of an application instance

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030182357A1 (en) * 2002-03-01 2003-09-25 Brian Chess Client-side caching of pages with changing content
US20080270527A1 (en) * 2007-04-26 2008-10-30 Microsoft Corporation Extended browser data storage

Also Published As

Publication number Publication date
EP2745491A4 (en) 2015-09-02
US20130060885A1 (en) 2013-03-07
WO2013030454A1 (en) 2013-03-07
EP2745491A1 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
CN103907329A (zh) 用于实现离线web应用执行的方法和装置
CN105190621B (zh) 用于内容的异步分发的方法和装置
CN104081742B (zh) 用于提供联合服务账户的方法和装置
CN103907113A (zh) 用于分布式脚本处理的方法和装置
CN102754098B (zh) 用于安全跨站脚本的方法和装置
CN103003797B (zh) 用于分配计算闭包的方法和装置
CN102687487B (zh) 用于提供客户端高速缓存的方法和设备
US8640225B2 (en) Method and apparatus for validating resource identifier
CN104303531B (zh) 用于提供位置保密的方法和装置
CN102918529B (zh) 索引生成和使用的方法和装置
CN103262077A (zh) 用于用户标识的基于设备标识符的解决方案的方法和装置
CN104798082A (zh) 用于提供用于数据流的隐私策略的方法和装置
US9350533B2 (en) Method and apparatus for delivering encrypted content to web browsers based on entropy of the content
CN104885486A (zh) 对访问在线用户群组进行基于位置的授权
CN102939579A (zh) 绑定用户接口元素和粒度反映处理的方法和装置
CN103959249A (zh) 用于提供应用集市的方法和装置
CN103688244A (zh) 用于为分布式计算提供端到端隐私的方法和装置
CN102598035A (zh) 用于扩增的社交联网消息收发的方法和设备
CN102082817A (zh) 用于确保用户代理信息传输的方法和设备
CN102713904A (zh) 利用可缩放的数据结构的方法和装置
CN103891392A (zh) 用于基于电话簿的应用共享的方法和装置
CN103444159A (zh) 用于定制设备内容的方法和装置
CN103703460A (zh) 用于针对实时推荐的协同过滤的方法和装置
CN104685489A (zh) 用于在协作的同时交换状态更新的方法和装置
US10019746B2 (en) Microsites architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160111

Address after: Espoo, Finland

Applicant after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Applicant before: Nokia Oyj

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140702