CN102577318A - 用于应用范围管理的方法和装置 - Google Patents

用于应用范围管理的方法和装置 Download PDF

Info

Publication number
CN102577318A
CN102577318A CN2009801617063A CN200980161706A CN102577318A CN 102577318 A CN102577318 A CN 102577318A CN 2009801617063 A CN2009801617063 A CN 2009801617063A CN 200980161706 A CN200980161706 A CN 200980161706A CN 102577318 A CN102577318 A CN 102577318A
Authority
CN
China
Prior art keywords
application
range
web
processor
application platform
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
CN2009801617063A
Other languages
English (en)
Other versions
CN102577318B (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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN102577318A publication Critical patent/CN102577318A/zh
Application granted granted Critical
Publication of CN102577318B publication Critical patent/CN102577318B/zh
Active 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/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了用于使得能够在Web应用和应用范围之间的通信的应用范围平台和方法,Web应用适于在用户设备的第一处理器上运行并且可经由用户设备的Web客户端访问,应用范围可在应用范围平台上执行。应用范围平台包括适于创建和管理事件触发应用范围的进程管理器、Web服务器和适于使Web应用经由所述Web客户端与应用范围平台通信的通信接口。应用范围平台适于在第二处理器上运行,并与作为具有应用范围功能的Web应用的Web应用通信,而与处理器、Web客户端和/或所述Web应用的状态无关。

Description

用于应用范围管理的方法和装置
技术领域
本发明总体涉及用于管理应用范围的方法和装置。具体地,本发明涉及用于管理在Web应用与相关联的应用范围之间的交互的增强机制。
背景技术
随着万维网(WWW)在变为应用开发的终极平台的方向上前进,不断开发出新的特征,这使得Web应用出现并表现得与其对应的桌面应用更加类似。通常将这样一种特征称为Web工作器(Web Worker),可以将其视为与线程等效的浏览器JavaScript。Web工作器允许应用在单独的JavaScript范围中将任务延期以在后台执行,其中,消息传递API使得Web工作器可以与主应用线程通信。可以在应用中的不同窗口之间共享其他类型的Web工作器(通常称为共享的Web工作器),且Web工作器通常直到将与共享Web工作器相连接的最后一个打开的窗口加以关闭才会终止。
持久性Web工作器指代比它们的父应用寿命更长的Web工作器,并在后台继续它们的执行进程,且潜在地甚至在Web浏览器本身已被关闭之后还继续它们的执行进程。虽然持久性Web工作器必须在单独的进程中运行,以能够比Web浏览器寿命更长,持久性Web工作器与它们的Web浏览器紧密结合。
虽然持久性Web工作器可以使得Web应用能够在后台继续运行,很多电池供电的设备(例如,膝上型计算机、上网本和蜂窝电话)将不能够在扩展的时间段期间保持向CPU供电,而该供电是保持持久性Web工作器运行的主要要求。
发明内容
本发明的目标是解决上述问题。具体地,本发明的目标是提供如下的机制:使得在驻留在应用范围平台上的持久性应用范围与驻留在用户设备上的Web应用之间能够发起和恢复通信,而与Web应用、与向应用范围提供Web应用访问的Web客户端、以及甚至与支持Web客户端的处理器的状态无关。
根据一个方面,提供了用于使得能够在Web应用和应用范围之间进行通信的应用范围平台,能够经由用户设备的Web客户端来访问Web应用,Web客户端适于在第一处理器上运行,应用范围能够在所述应用范围平台上执行,同时应用范围平台适于在第二处理器上运行。
根据一个示例实施例,应用范围平台包括进程管理器和Web服务器,进程管理器适于创建和管理事件触发的应用范围,Web服务器适于使得能够经由Web客户端在应用范围平台与应用范围平台之间进行Web应用交互。应用范围适于与作为支持应用范围的Web应用的Web应用通信,而与第一处理器、Web客户端和/或所述Web应用的状态无关。
进程管理器可适于通过应用共享密钥机制将Web应用与应用范围相关联。
进程管理器通常还适于通过如下方式创建应用范围:检索指令,并响应于从Web应用接收创建应用范围的请求,将所述指令加载到应用范围中。
用于创建应用范围的指令可以包括任何类型的可执行代码,例如,JavaScript、Java或Flash。
应用范围通常可以包括具有可执行代码形式的指令,所述指令使得应用范围能够监视针对至少一个触发事件的至少一个活动。进行监视的应用范围还可以包括如下指令:响应于识别出触发事件的发生,使得应用范围能够调用用户设备的共享资源和/或相关联的Web应用。
进程管理器通常还适于:响应于从Web应用或者从相关联的应用范围接收到这种请求,对Web应用和相关联的应用范围进行重新连接。
根据所建议的备选实施例中的任何实施例,应用范围平台还可以包括构成指令的系统范围,其使得所述应用范围能够访问一个或多个共享资源。
系统范围还可以适于:经由D总线机制访问一个或多个共享资源。这种共享资源中的全部或一些可以或者适于在第一处理器上运行,或者在除第一处理器之外的处理器上运行,或者在上述处理器的组合上运行。
通常系统范围还可以适于提供一个或多个使能器,每个使能器适于:响应于识别出预定事件的触发而从相关联的应用范围被调用。这种使能器中的每一个可以构成应用程序接口(API),每个API可以例如是:适于接收和处理从网络节点接收到的更新的网络API;适于向用户通知触发事件的通知API;适于使得能够从用户设备的数据源获取数据的传感器API;适于使得能够将共享数据存储在共享存储区域上/从共享存储区域下载共享数据的存储API。
除了提供共享存储区域之外,共享资源可以是网络连接(例如,用于获得对互联网的访问的网络连接)或者用户设备功能(例如GPS或定位功能)。
在典型的实施例中,应用范围平台适于:使得能够通过应用远程过程调用机制(例如,RPC或REST)来进行在Web应用与相关联的应用范围之间的通信。在使用RPC的情况下,可以应用可扩展标记语言(XML)RPC或者JavaScript对象符号(JSON)RPC。
可以在作为用户设备的组成部分的实体上,或者在与用户设备物理分离的实体上实现应用范围平台。前一备选在很多情况下可以是优选的,特别是由于将所有功能布置在相同的设备上。然而,在例如应用范围平台是固定装置的情况下,其中,电源不是关键问题,且一个或多个便携式用户设备可以访问应用范围平台,则后一备选可以是优选的。
根据另一方面,提供了用户设备中用于使Web应用能够与在应用范围平台上运行的应用范围通信的装置。用户设备包括Web客户端,Web客户端可以例如是Web浏览器,其适于在第一处理器上运行并使得能够在Web应用与应用范围平台之间进行通信。Web应用包括具有可执行代码形式的指令,该指令使Web应用能够在应用范围平台上创建应用范围,应用范围平台在第二处理器上运行。用户设备还包括通信接口(CI),CI使得应用范围能够调用Web应用,而与第一处理器、Web客户端和/或Web应用的状态无关。
如果不要求自动调用相关联的Web应用,响应于触发事件,应用范围可以适于代之以调用共享资源,共享资源包括适于呈现从应用范围提供的通知的显示器装置。通常将这种通知提供给共享资源,以向用户通知在正在运行的应用范围中的触发事件,由此使用户能够选择是再次开始相关联的Web应用,还是忽略该通知。
根据又一方面,提供了使得能够在应用范围平台和Web应用之间进行通信的方法,其中,Web应用是经由用户设备的Web客户端可访问的,以及所述Web客户端适于在第一处理器上运行,而应用范围平台适于在第二处理器上运行。当从Web应用接收到用于创建与Web应用相关联的事件触发的应用范围的请求时,发起要在应用范围平台上执行的根据上述实施例中的任意实施例的方法。响应于接收到这种请求,通过获取可执行指令并通过将这些指令加载到所请求的应用范围中,来创建所请求的应用范围。一旦创建,应用范围开始根据指令运行。在运行时,应用范围适于:无论何时要求,便调用相关联的Web应用,而与第一处理器、Web客户端和/或Web应用的状态无关。
所建议的方法可以包括以下其他步骤:监视针对至少一个触发事件的至少一个活动,以及响应于识别出触发事件来执行活动。这种活动可以包括激活第一处理器、Web客户端和/或调用Web应用。预定事件还可以触发调用共享资源,以使得应用范围可以例如利用从共享资源获得的数据。
调用步骤可以包括其他步骤:向用户设备提供对触发事件的通知,由此使用户能够选择是恢复相应的Web应用还是忽略该通知。
根据一个实施例,可以向用户设备的共享资源提供通知,用户设备包括可以在其上向用户显示通知的显示装置。一旦已经使用通知向用户警告了触发事件,用户可以选择继续在Web应用与相关联的应用范围之间的交互。
通常可以经由进程间通信系统来执行所建议的激活和/或调用步骤,例如远程过程调用(RPC)机制或者具象状态转移(REST)机制。
从以下的详细描述,可以理解本发明的其他特征及其好处。
附图说明
现在将通过示例实施例并参考附图来更详细地描述本发明,在附图中:
图1a是示出示例场景的简化信令图,涉及在Web应用和相关联的应用范围之间的交互;
图1b是示出另一示例场景的另一简化信令图,涉及在Web应用和相关联的应用范围之间的交互;
图2是示出根据一个示例实施例的用户设备功能和包括应用范围平台在内的相关联装置的功能的配置的简化框图;
图3是示出根据一个示例实施例的与开始Web应用相关联的用于发起对应用范围服务的状态的状态请求的过程的流程图;
图4是概括性地示出根据一个示例性实施例的用于执行应用范围的过程的另一流程图。
具体实施方式
要求保护的本发明指的是:即使当Web应用本身未运行,关闭了访问Web应用所经由的Web客户端和/或已暂停了运行Web客户端的处理器时,也始终能够使得Web应用对外部事件作出反应的方法和装置。
已知的Web工作器解决方案基于持久性Web工作器与Web浏览器紧密集成的概念,从而使得将运行Web浏览器的一个或多个主要进程与包含公共后台逻辑的进程相分离变得复杂。
因此提出了如下概念:经由Web浏览器或者任何其他类型的Web客户端(例如,Web运行部件)所访问的Web应用在第一处理器上运行,而可被称为在Web应用的后台运行的后台进程的应用范围在第二处理器上运行。通过将不同的处理器分别应用于Web客户端/Web应用和相关联的应用范围,可以提供更加增强的机制,以使得能够从应用范围对Web应用进行基于事件的调用。因此,因为其撤销相关联的Web应用的扩展能力,在本文档中讨论的应用范围也可以被称为持久性应用范围。
可以将所建议的概念作为服务(在下文中将该服务称为应用范围使能器服务)提供,以及因此作为装置提供,该装置适于提供根据所建议的任何实施例的一个或多个应用范围并向支持应用范围的Web应用提供这种服务。
在本文档全文中,应用范围指的是以可执行代码的形式提供的指令的集合,当创建和运行指令的集合时,该指令的集合将执行一个或多个预定的任务。应用范围构成了公共的指令,其已被预先定义以支持所有应用范围的一般功能。为了创建或者激活应用范围,必须获取应用范围特有的指令/代码并将其加载到公共指令中,以使得可以获得将要根据相应Web应用的要求来配置的应用范围。
在典型的场景中,上述的第一处理器可以是用户设备(通常是移动用户设备,例如,移动电话、PDA或膝上型计算机)的主CPU,而第二处理器可以是例如应用处理器或者需要低功率电平来运行的任何其他类型的处理器。可以将第二处理器布置在例如移动宽带模块或者其他任何独立的实体上。
可以在一个单独的实体上布置该两个处理器以及在相应处理器上运行的相关联的功能。
通过使分离的处理器分别负责Web客户端和应用范围平台,与运行Web客户端的更耗电的第一处理器的通常情况相比,第一处理器和应用范围平台可以基于更长的期限来保持上电,以及因为应用范围调用相关联的Web应用的可能性,即使当Web应用和/或Web客户端不活跃时,在无需让用户冒忽视任何关注更新的风险的情况下,可以关闭Web应用。
现在将参考图1a和1b的信令图,更详细地描述基于上述一般概念的过程,图1a和1b是在用户设备100上运行的Web应用103如何可以与在应用范围平台104上运行的相关应用范围111互动的示意说明图。指出了图1a和1b是简化的示意说明图,以及Web应用通常可以在任何类型的用户设备上运行,用户设备在本上下文中一般而言将是便携式的,然而其也可以是固定的用户设备。
如上已经提到的,Web应用103和访问Web应用所经由的Web客户端(未示出)在第一处理器上运行,而应用范围平台在另一处理器上运行。Web客户端通常是Web浏览器或者支持Web运行(WRT)部件的Web客户端。
还指出了虽然将Web应用103和应用范围平台104示出为彼此分离,可以在分离的物理实体上提供它们,或者在一个单个的物理实体上提供它们。在前者的情况下,两个设备都可以适于例如经由常规的短距离通信协议(例如,Bluetooth或Wi-Fi)来彼此通信。
根据图1a,如第一步骤1:1所指示的,访问Web应用103的用户可在一开始暴露与从Web应用103访问应用范围使能器服务的Web应用能力有关的当前状态。Web应用是否将能够访问这种服务是取决于服务开发者的问题,以使得服务开发者可以选择使用对一个或多个应用范围进行应用的能力来增强Web应用,这可以通过多种不同的方式来支持Web应用。在典型的场景中,可以通过与开始相应的Web应用相关联地运行引导脚本来发起这种状态请求,引导脚本包括用于询问应用范围使能器服务的当前状态的代码。
如果发现应用范围使能器服务对于WeB应用可用,Web应用可以请求应用范围,特别是适于要创建或者重新连接(如果之前已经从Web应用创建了这种应用范围)的Web应用的应用范围,如下一步骤1:2所指示的。备选地,用户可以给出接受或拒绝这种请求的选项。
在获取web应用特有的指令(如后续步骤1:4所指示的)之前,在应用范围平台104处,该请求激活适于将公共指令加载在所请求的应用范围中的逻辑(如下一步骤1:3所指示的),以使得可以创建或者重新连接应用范围。公共指令和Web应用特有的指令都是以可执行代码的形式提供的,例如,JavaScript代码、Python代码或其组合。
可以将在应用范围中运行的代码视为构成相关联的Web应用的一部分,由此通常从Web应用所驻留的服务器获取该代码,然而也可以从另一服务器获得所要求的指令中的一些或全部。
一旦加载了,则根据指令执行应用范围,如步骤1:5所指示。根据又一备选,相关指令可以是构成Web应用的指令的一部分,以及在这种场景下,向应用范围平台104提供的请求可以包括执行所请求的应用范围111所需的全部指令或其一部分。
在步骤1:5处发起的处理可以涉及或多或少的复杂任务,例如,针对数据更新来监视外部服务器上的特定应用,下载这种数据以及向相关联的Web应用提供所下载的数据(可选地,在对数据进行处理之后)。应用范围通常还包括用于确定访问Web应用所经由的Web客户端(未示出)和/或Web应用103的状态何时从打开或活跃改变到关闭或不活跃状态的处理步骤。可以例如通过使用D总线机制来监视这种状态改变。
此外,应用范围111将被配置为确定第一处理器是否正在运行或者是否暂停,并从而确定是否首先必须激活或者唤醒该处理器,或者是否仅需要打开Web客户端和/或Web应用。
如后续步骤1:6所指示的,应用范围111的处理通常将被一个或多个事件所中断,该一个或多个事件是被预定来触发特定的预定活动的。例如,可以通过在外部实体上发生的事件来触发活动,例如,对从外部源可访问的新数据的检测,其可以触发数据下载;在用户设备上已发生的内部活动,例如,要到时的定时器,其可以例如导致预定计算的执行。还可以在Web应用运行所在的用户设备上触发活动,例如,当所监视的用户设备的电池电平降到低于预定阈值时。
如另一步骤1:6’所指示的(其可以发生在图1a的步骤1:5之后的任何时间,但是在根据步骤1:6的发生触发事件之前),在Web应用103运行所在的第一处理器暂停。可以例如由于定时器超时而发起这种暂停步骤,主要目的是节省用户设备上的能量。
在下一步骤1:7a中,在应用范围平台104上运行的意识到第一处理器现在被暂停的应用范围111发送调用、激活或唤醒被暂停的处理器的请求。通常可以经由用户设备100的CI(未示出)向用户设备100发送这种请求,其中,CI可以适于例如通过应用D总线机制来唤醒处理器。
如步骤1:7’所指示的,这种请求首先激活第一处理器的唤醒进程。一旦处理器已被激活,如下一步骤1:8’所指示的,打开Web客户端,之后如后续步骤1:9’所指示的,最终也激活相关的Web应用103。一旦Web应用已被再次激活,可以开始应用范围111和Web应用103之间的其他交互。
图1b是场景的另一说明图,示出了根据另一示例实施例的如何可以执行在应用范围平台104上运行的应用范围111的处理。
作为前提,假设上述参考图1a描述的步骤中的至少一些已经发生,使得已经在应用范围平台104上创建或重新连接应用范围111。
如步骤1:8所指示的,触发预定事件,由此指示应用范围111与驻留在用户设备100上的共享资源116进行交互。因此,如另一步骤1:9所指示的,应用范围111调用相应的共享资源116,使得可以从该资源获得数据。
应用范围111还可以包括代码,该代码被配置为使得运行中的进程能够向用户设备100提供对所触发的事件的通知。使用后续的触发步骤1:10和后续的通知步骤1:11来指示独立于以上作为示例的触发事件而执行的这种场景,在步骤1:11中,通知了另一共享资源117。共享资源117可以是例如小的显示器,其位于膝上型计算机或蜂窝电话的盖子的外部上,或者是可以向用户警告触发事件的任何其他类型的用户接口。
通常,可以向用户设备提供通知(例如,小的弹出窗口)而无需调用相应的Web应用,但是并非无需调用支持Web客户端的处理器,该处理器通常是用户设备的主CPU。在这种情况下,被通知的用户可以基于通知中提供的信息来决定其是否希望开始Web应用103。用图1b中的另一步骤1:12示出了这种选项。如果用户在步骤1:12中已经选择开始Web应用103,他可以继续与应用范围111交互,如后续步骤1:13所指示的。
应用范围111通常继续运行,直到进程自身终止,例如,直到已经成功执行了一个或多个预定任务,或者直到从相关联的Web应用103主动终止,或者由用户主动终止。在图1b中,如最后的步骤1:14所指示,应用范围111被进程自身所终止。
图2是示出根据一个示例实施例的配置的框图,该配置包括装置105和用户设备100,其被配置为执行根据以上建议的方法步骤中的一些或者全部。
根据图2,用户设备100包括第一处理器101和Web客户端102,其使得用户可以访问一个或多个支持应用范围的Web应用103a、103b、103c(即,Web应用),这些Web应用适于与在应用范围平台104上的第二处理器106上运行的应用范围进行通信和交互。
在图2中,将装置105呈现为分离的设备,其提供应用范围平台104和第二处理器106。然而,如以上已经提到的,用户设备100’可以代之以被配置为在一个单个设备上提供第一和第二处理器以及相应的相关功能。
应用范围平台104可以提供一个或多个应用范围111a、111b、111c,每个应用范围已被预先配置为执行指令,以通过执行一个或多个事件触发的任务来支持特定的Web应用。
根据所要求保护的本发明,应用范围平台104不需要任何常规的图形用户界面(GUI)组件,由此简化了应用范围平台104的实现,该应用范围平台104需要低的功率电平来运行。取代必须依赖常规的GUI,应用范围平台104具有内建的Web服务器114。
Web应用使用Web服务器114来询问或探测是否已经在用户设备100、100’上安装了应用范围平台104,并且通常还用于获取没有包括在通常非常小的引导文件中的部分引导代码,引导代码是当开始Web应用时运行的。下面将参考图3更详细地描述该开始过程。
Web服务器114还包括基于HTTP的管理控制台115,管理控制台115在Web客户端102和Web服务器114之间提供了接口,其既允许用户管理应用范围111a、111b、111c以例如使得可以改变应用范围的处理指令,也允许用户终止应用范围。
应用范围平台104还包括进程管理器113,进程管理器113适于响应于来自Web应用的请求,创建、管理和终止应用范围111a、111b、111c。进程管理器113包括逻辑,逻辑适于响应于经由CI接收这种请求,创建应用范围111a、111b、111c。在图2中,进程管理器113与系统范围107共享CI 109,然而取决于配置,其可以具有分离的CI。
通过获取公共指令来创建应用范围,一旦公共指令被加载到Web特有的指令中,该公共指令相应地开始运行。
一旦已经创建了应用范围111a、111b、111c,进程管理器113还可以或者响应于从Web应用103a、103b、103c接收到的请求或者响应于从用户接收到的请求,管理和终止应用范围,用户可以经由Web客户端102和Web服务器114访问进程管理器113。
只要对应用范围平台上电,或者直到从对应的Web应用自动地,或者响应于适当的指令,或者响应于请求关闭应用范围的用户交互,显式地关闭应用范围为止,应用范围111a、111b、111c都将会持续。此外,当例如已经完全执行一个或多个预定任务时,应用范围可以自己终止。
应用范围平台104通常还可以包括被称为系统范围107的功能实体,系统范围107适于管理驻留在用户设备100上的一个或多个共享资源116,该一个或多个共享资源116可以经由一个或多个可信应用程序接口(API)API 1...API n在活跃的应用范围111a、111b、111c之间共享。系统范围107可以提供使能器实现,不管何时需要共享资源116,都可以从应用范围111a、111b、111c调用该使能器实现。共享资源可以例如是提供对互联网的访问的网络连接、用于使得能够向用户通知事件的显示装置、或者可以存储共享数据以用于以后的检索的存储器装置。在要求让预先高速缓存的数据对于第一处理器101可用的情况下,共享存储器装置是可用的选项。
此外,功能(例如,全球定位系统(GPS)功能)或传感器(例如,温度传感器)可以构成其他类型的共享资源,可以使用该其他类型的共享资源作为用于运行应用范围的数据源。
运行中的需要访问共享资源116的应用范围111a、111b、111c可以经由系统范围107和CI 109、118的API来访问资源。通过调用系统范围107的通知API,应用范围111a、111b、111c可以例如能够向用户通知触发事件。
一旦已经创建应用范围111a、111b、111c,Web应用103a、103b、103c可以经由通信接口(CI)108、109、112、118提供的通信链路与相关的应用范围111a、111b、111c通信。在其最简单的形式中,Web客户端102可以具有插件或者任何其他的扩展,然而优选地,应用取决于Web套接字或HTTP Comet的通信链路。这种通信链路可以支持远程过程调用(RPC)机制,或者具象状态转移(Representational StateTransfer,REST)机制。
此外,可以在已建立的通信链路上的专用信道中传输对所执行的计算的结果进行指示的应用范围的日志消息(例如,文本消息),由此使得这些消息能够显示在相关联的Web应用103a、103b、103c中。
Web应用可以通过执行构成相应的Web应用的一部分的指令来访问应用范围使能器服务。通常可以在Web应用中将这种指令作为引导脚本来实现。引导脚本或者对应的代码通常包括短指令,该短指令适于发起状态请求过程以检查应用范围使能器服务的存在,以及使Web应用能够创建新的所要求的应用范围,或者重新连接到在较早阶段已经创建的应用范围。
现在,将在下面参考图3的流程图来更详细地描述发起过程,发起过程描述了运行中的Web应用103a、103b、103c如何可以建立与应用范围平台104的联系,使得可以创建或者重新连接应用范围。
在第一步骤3:1中,从Web应用发起状态请求,通常通过激活引导脚本来发起。取决于这种请求所触发的状态事件,Web应用可以执行不同的选项。引导脚本还可以适于针对一个定制状态事件或者定制状态事件的集合来注册接听器,以使得能够进行对从状态请求获得的结果的自动处理。
如果在后续步骤3:2中确定已经安装了应用范围使能器服务,则在后续步骤3:3中确定当前是否存在针对Web应用而运行的任何应用范围,以及如果是这种情况,如另一步骤3:4所指示的,Web应用可以重新连接到该应用范围。
再次参考图2,Web应用130a、103b、103c可以经由CI 108访问进程管理器113,指示进程管理器113重新连接到相应的应用范围111a、111b、111c。
另一方面,如果在步骤3:2中发现没有安装应用范围使能器服务,可以执行另一检查(如另一步骤3:5所指示的),其中,用户可以选择接受或拒绝针对Web应用的应用范围使能器服务,即,接受或拒绝Web应用103a、103b、103c访问应用范围平台104和可以从平台提供的、具有Web应用特有的应用范围形式的服务。如果接受访问,如步骤3:6所指示的,将应用范围使能器服务下载到Web应用,以及再次重复从步骤3:1开始的上述处理,然而,这次是访问应用范围平台及其服务。开始应用范围使能器服务所需的指令将通常从服务高速缓存120或者应用范围平台104的任何其他对应装置获取。备选地,与开始相应的Web应用相关联地,可以无条件下载服务,特别是如果当运行Web应用提供的服务时,应用范围是强制性的情况下。
另一方面,如果用户不需要应用范围使能器服务,代之以在步骤3:9终止所描述的发起过程,以及已开始的Web应用将通过常规的、不支持应用范围的模式来运行。
如果在步骤3:2中,代之以发现应用范围使能器服务已经安装并对于Web应用可用,然而在后续的步骤3:3中,发现当前没有活跃的应用范围,则如步骤3:8所指示的,Web应用可以请求创建新的应用范围。然而,如之前的步骤3:7所指示的,用户可以首先选择接受或拒绝Web应用进行的这种请求。如果用户不接受新应用范围的创建,发起进程在步骤3:9处终止,以及已开始的Web应用将以常规的、不支持应用范围的模式运行,而如果相反,用户准许了请求,如步骤3:8所指示的,在步骤3:9中终止发起过程之前创建所请求的应用范围。在后者情况下,Web应用通常相应地连接到进程管理器,或者适于通过执行相关指令/代码来创建相应的应用范围的对应功能单元。更具体地,Web应用可以转发URL,URL指向请求中的应用范围特有的代码,由此使得可以下载相关的附加代码,以及使得可以创建所请求的应用范围。备选地,请求可以包括进程管理器创建应用范围所必需的、所有或部分相关的应用范围特有的指令。
图4是流程图,示出了根据一个示例实施例的应用范围平台处的应用范围的一般处理步骤。在步骤4:1处开始,假设已经触发连接事件,根据图3的步骤3:8,已经创建了应用范围;或者已经触发了重新连接事件,以及根据图3的步骤3:4,基于已经下载的代码,已经重新连接到了相应的应用范围。
如下一步骤4:2所指示的,根据指令开始应用范围的执行。
如另一步骤4:4所指示的,应用范围被配置为响应于识别相关联的基于事件的触发器,执行特定的事件。这种事件可以例如包括调用共享资源的步骤,可以从该共享资源取得特定数据、进行处理和/或提供给Web应用。取决于相关联的Web应用的要求,应用范围可以包括一个或多个事件触发器。应用范围还可以被配置为向相关联的Web应用或者向包括UI装置的共享资源提供预定事件的通知。以后续的步骤4:5来指示这种事件执行进程。
如步骤4:6所指示的,正常执行所描述的处理,直到当例如可以响应于接收来自相关联的Web应用的请求而终止应用范围时;响应于应用范围代码的预定终止触发器(例如,响应于完成一个或多个预定任务),或者作为用户通过与Web服务器/管理控制台交互来主动关闭应用范围的结果,应用范围终止。
贯穿本文档,要将用于表达逻辑设备、实体或节点的术语(例如“进程管理器”、“系统范围”、“应用范围”和“应用范围平台”)仅解释为作为示例的表达,可以通过多种其他的备选方式来对其进行表达。
此外,虽然已参考特定的示例实施例对所描述的装置和方法步骤进行了描述,本描述一般仅旨在示出所描述的发明概念,并且不应被用作对由所附权利要求限定的范围的限制。
缩写
Figure BDA0000148263270000141
Figure BDA0000148263270000151

Claims (27)

1.一种应用范围平台,用于使得能够在Web应用和应用范围之间进行通信,经由用户设备的Web客户端能够访问所述Web应用,所述应用范围能够在所述应用范围平台上执行,所述Web客户端适于在第一处理器上运行,其中,所述应用范围平台包括:
-进程管理器,适于创建和管理作为事件触发的应用范围的应用范围;以及
-Web服务器和通信接口,适于使得能够经由所述Web客户端在所述应用范围平台和所述应用范围平台之间进行Web应用交互,所述应用范围平台适于在第二处理器上运行,
其中,所述应用范围适于调用作为支持应用范围的Web应用的所述Web应用,而与所述第一处理器、所述Web客户端和/或所述Web应用处于打开还是关闭状态无关。
2.根据权利要求1所述的应用范围平台,其中,所述进程管理器适于:通过应用共享密钥机制,将支持应用范围的Web应用与应用范围相关联。
3.根据权利要求1或2所述的应用范围平台,其中,所述进程管理器适于通过如下方式创建应用范围:响应于从Web应用接收创建应用范围的请求,获取具有可执行代码形式的指令,以及将所述指令加载到所述应用范围中。
4.根据权利要求3所述的应用范围平台,其中,所述应用范围包括指令,该指令使应用范围能够监视针对至少一个触发事件的至少一个活动。
5.根据权利要求3或4所述的应用范围平台,其中,所述应用范围包括如下指令:
响应于识别出触发事件的发生,使应用范围能够调用所述用户设备的共享资源和/或相关联的Web应用。
6.根据权利要求1-5中任一项所述的应用范围平台,其中,所述进程管理器适于:响应于从所述Web应用或者从所述应用范围接收到这种请求,将Web应用与相关联的应用范围重新连接。
7.根据权利要求1-6中任一项所述的应用范围平台,还包括:
系统范围,构成使所述应用范围能够使用所述共享资源中的一项或多项的指令。
8.根据权利要求7所述的应用范围平台,其中,所述系统范围适于使所述应用范围能够经由所述通信接口访问一个或多个共享资源。
9.根据权利要求8所述的应用范围平台,其中,所述访问是经由D总线机制提供的。
10.根据权利要求8或9所述的应用范围平台,其中,所述共享资源适于在所述第一处理器上运行。
11.根据权利要求8、9或10所述的应用范围平台,其中,所述共享资源适于在除了所述第一处理器之外的处理器上运行。
12.根据权利要求7-11中任一项所述的应用范围平台,其中,所述系统范围适于提供一个或多个使能器,每个使能器适于响应于识别出触发的预定事件而从所述应用范围调用。
13.根据权利要求12所述的应用范围平台,其中,所述一个或多个使能器中的每一个使能器是应用程序接口API。
14.根据权利要求13所述的应用范围平台,其中,所述一个或多个API是以下至少一项:
网络API,适于接收和处理从网络节点接收到的更新;
通知API,适于向相关联的支持应用范围的Web应用通知事件;
传感器API,适于使得能够从所述用户设备的数据源获取数据;
存储API,适于使得能够将共享数据存储在共享存储区域上/从共享存储区域下载共享数据。
15.根据前述权利要求中任一项所述的应用范围平台,其中,所述应用范围平台适于:通过应用远程过程调用机制来使得能够在Web应用和相关联的应用范围之间进行通信。
16.根据前述权利要求中任一项所述的应用范围平台,其中,在与所述用户设备物理上分离的实体上实现所述应用范围平台。
17.根据前述权利要求中任一项所述的应用范围平台,其中,将所述应用范围平台实现为所述用户设备的组成部分。
18.一种用户设备,用于使Web应用能够与在应用范围平台上运行的应用范围通信,所述用户设备包括:
-Web客户端,适于在第一处理器上运行,以及使得能够在所述Web应用与所述应用范围平台之间进行通信,所述Web应用包括使其能够在所述应用范围平台上创建应用范围的可执行指令,其中,所述应用范围平台在第二处理器上运行;以及
-通信接口,使所述应用范围能够调用所述Web应用,而与所述第一处理器、所述Web客户端和/或所述Web应用处于打开还是关闭状态无关。
19.根据权利要求18所述的用户设备,还包括共享资源,所述共享资源包括用户接口装置,所述用户接口装置适于向用户呈现从所述应用范围提供的通知。
20.一种用于使得能够在应用范围平台和Web应用之间进行通信的方法,所述Web应用是能够经由用户设备的Web客户端以及通信接口来访问的,其中,所述Web客户端适于在第一处理器上运行,所述方法包括在所述应用范围平台上执行的以下步骤:
-从所述Web应用接收创建与所述Web应用相关联的事件触发的应用范围的请求;
-通过获取可执行指令并将所述指令加载到所述应用范围中,创建所述应用范围;以及
-执行所述应用范围,
其中,所述应用范围平台适于在第二处理器上运行,以及所述应用范围适于调用所述相关联的Web应用,而与所述第一处理器、所述Web客户端和/或所述Web应用处于打开还是关闭状态无关。
21.根据权利要求20所述的方法,所述方法包括由所述应用范围执行的以下步骤:
-监视针对至少一个触发事件的至少一个活动;以及
-响应于识别出触发事件来执行活动。
22.根据权利要求20或21所述的方法,其中,所述执行步骤包括以下步骤:
激活所述第一处理器和所述Web客户端中的一个或两个,和/或
调用所述Web应用。
23.根据权利要求20、21或22所述的方法,其中,所述执行步骤包括调用共享资源的步骤。
24.根据权利要求20-23中任一项所述的方法,其中,所述执行步骤包括向所述用户设备提供对所述触发事件的通知的步骤。
25.根据权利要求24所述的方法,其中,所述通知步骤包括向所述用户设备的共享资源的用户接口装置提供通知。
26.根据权利要求22-25中任一项所述的方法,其中,所述激活和/或调用步骤是经由进程间通信系统来执行的。
27.根据权利要求26所述的方法,其中,所述进程间通信系统基于远程过程调用RPC机制或具象状态转移REST机制。
CN200980161706.3A 2009-10-01 2009-10-01 用于应用范围管理的方法和装置 Active CN102577318B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2009/051094 WO2011040848A1 (en) 2009-10-01 2009-10-01 A method and arrangements for application scope management

Publications (2)

Publication Number Publication Date
CN102577318A true CN102577318A (zh) 2012-07-11
CN102577318B CN102577318B (zh) 2015-07-15

Family

ID=43826503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980161706.3A Active CN102577318B (zh) 2009-10-01 2009-10-01 用于应用范围管理的方法和装置

Country Status (6)

Country Link
US (1) US9674262B2 (zh)
EP (2) EP2484094B1 (zh)
KR (1) KR101768236B1 (zh)
CN (1) CN102577318B (zh)
BR (1) BR112012007376B1 (zh)
WO (1) WO2011040848A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110506258A (zh) * 2017-03-16 2019-11-26 西门子股份公司 用于可编程逻辑控制器(plc)的基于设备的工程的方法和系统
CN112199064A (zh) * 2020-10-14 2021-01-08 Vidaa美国公司 一种浏览器应用与系统平台的交互方法及显示设备

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075663B2 (en) * 2010-05-12 2015-07-07 Samsung Electronics Co., Ltd. Cloud-based web workers and storages
US20150205489A1 (en) 2010-05-18 2015-07-23 Google Inc. Browser interface for installed applications
US9178766B2 (en) 2010-06-28 2015-11-03 Amazon Technologies, Inc. Provisioning multiple network resources
US20120066345A1 (en) * 2010-09-14 2012-03-15 Cyril Rayan Emergency communications platform
US10089152B1 (en) * 2012-03-19 2018-10-02 Amazon Technologies, Inc. Using scripts to bootstrap applications with metadata from a template
US8825817B1 (en) 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US8949930B1 (en) 2012-03-19 2015-02-03 Amazon Technologies, Inc. Template representation of security resources
US8694961B2 (en) 2012-04-03 2014-04-08 Microsoft Corporation Thread-agile execution of dynamic programming language programs
US9628438B2 (en) 2012-04-06 2017-04-18 Exablox Consistent ring namespaces facilitating data storage and organization in network infrastructures
US20140047360A1 (en) * 2012-08-09 2014-02-13 Google Inc. Background application page architecture for web applications
US9058219B2 (en) 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9143550B2 (en) * 2012-12-01 2015-09-22 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent HTTP-based communications
US9552382B2 (en) 2013-04-23 2017-01-24 Exablox Corporation Reference counter integrity checking
JP2016526717A (ja) 2013-06-12 2016-09-05 エグザブロックス・コーポレーション ハイブリッドガベージコレクション
EP3011428A4 (en) 2013-06-19 2017-02-22 Exablox Corporation Data scrubbing in cluster-based storage systems
US9934242B2 (en) 2013-07-10 2018-04-03 Exablox Corporation Replication of data between mirrored data sites
KR102384872B1 (ko) * 2013-07-18 2022-04-11 삼성전자주식회사 디스플레이를 구비한 휴대 단말기 및 그 휴대 단말기의 동작 방법
US10248556B2 (en) 2013-10-16 2019-04-02 Exablox Corporation Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session
US9985829B2 (en) * 2013-12-12 2018-05-29 Exablox Corporation Management and provisioning of cloud connected devices
US9774582B2 (en) 2014-02-03 2017-09-26 Exablox Corporation Private cloud connected device cluster architecture
JP2017504924A (ja) 2014-02-04 2017-02-09 エグザブロックス・コーポレーション ファイルシステムのコンテンツベースの編成
US20170060924A1 (en) 2015-08-26 2017-03-02 Exablox Corporation B-Tree Based Data Model for File Systems
US9846553B2 (en) 2016-05-04 2017-12-19 Exablox Corporation Organization and management of key-value stores
WO2024015117A1 (en) * 2022-07-14 2024-01-18 Qusecure, Inc System and methods for persistently implementing post-quantum security via service workers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139151A1 (en) * 2002-12-17 2004-07-15 International Business Machines Corporation Apparatus and method for selecting a web service in response to a request from a client device
US6883024B2 (en) * 2000-12-18 2005-04-19 International Business Machines Corporation Method and apparatus for defining application scope and for ensuring finite growth of scaled distributed applications
CN101123750A (zh) * 2006-03-29 2008-02-13 捷讯研究有限公司 便于推送内容的后台处理的装置和相关方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292825B1 (en) 1998-11-12 2001-09-18 International Business Machines Corporation Service application with pull notification
AU2000231428A1 (en) * 2000-03-10 2001-09-17 Shenzhen Liming Network Systems Co., Ltd. A platform of information switch
US7325042B1 (en) * 2002-06-24 2008-01-29 Microsoft Corporation Systems and methods to manage information pulls
US20070106739A1 (en) 2005-11-08 2007-05-10 David Clark Wireless messaging using notification messages in a wireless communication network
US7587399B2 (en) * 2005-12-30 2009-09-08 Sap Ag Integrated software toolset for a web server
US8045236B2 (en) * 2006-03-29 2011-10-25 Research In Motion Limited Apparatus, and associated method, for facilitating background processing of push content
US8341595B2 (en) * 2007-05-30 2012-12-25 Roam Data Inc System and method for developing rich internet applications for remote computing devices
US20090077091A1 (en) * 2007-09-18 2009-03-19 Gilad Khen System for development and hosting of network applications
US8683247B2 (en) * 2008-06-12 2014-03-25 Advanced Micro Devices, Inc. Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor
US9176747B2 (en) * 2009-02-17 2015-11-03 Sandisk Il Ltd. User-application interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883024B2 (en) * 2000-12-18 2005-04-19 International Business Machines Corporation Method and apparatus for defining application scope and for ensuring finite growth of scaled distributed applications
US20040139151A1 (en) * 2002-12-17 2004-07-15 International Business Machines Corporation Apparatus and method for selecting a web service in response to a request from a client device
CN101123750A (zh) * 2006-03-29 2008-02-13 捷讯研究有限公司 便于推送内容的后台处理的装置和相关方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ERICSSON LABS: "Web Background Service", 《HTTP://LABS.ERICSSON.COM/APIS/WEB-BACGROUND-SERVICE/DOCUMENTATION》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110506258A (zh) * 2017-03-16 2019-11-26 西门子股份公司 用于可编程逻辑控制器(plc)的基于设备的工程的方法和系统
CN110506258B (zh) * 2017-03-16 2023-09-12 西门子股份公司 用于可编程逻辑控制器(plc)的基于设备的工程的方法和系统
CN112199064A (zh) * 2020-10-14 2021-01-08 Vidaa美国公司 一种浏览器应用与系统平台的交互方法及显示设备

Also Published As

Publication number Publication date
BR112012007376B1 (pt) 2023-02-14
EP3493506A1 (en) 2019-06-05
US20120179808A1 (en) 2012-07-12
US9674262B2 (en) 2017-06-06
BR112012007376A2 (pt) 2018-06-12
EP2484094B1 (en) 2019-04-10
WO2011040848A1 (en) 2011-04-07
KR101768236B1 (ko) 2017-08-14
EP2484094A1 (en) 2012-08-08
EP2484094A4 (en) 2013-06-12
CN102577318B (zh) 2015-07-15
KR20120091041A (ko) 2012-08-17

Similar Documents

Publication Publication Date Title
CN102577318A (zh) 用于应用范围管理的方法和装置
CN107203419B (zh) 应用程序中的模块间调用方法、装置及系统
CN100419684C (zh) 为软件中的程序模块创建快捷方式及启动方法
Carlson et al. Dynamix: An open plug-and-play context framework for android
CN105765923B (zh) 客户端-服务器远程访问系统中提供客户端到非托管服务的连接的方法
KR102137097B1 (ko) 소모 전류 저감 방법 및 이를 지원하는 전자 장치
EP1699207B1 (en) Network request execution after fulfillment of associated criteria
KR101512118B1 (ko) 웹 어플리케이션에 리소스 성능들의 노출
CN110651241A (zh) 将多个移动设备连接到智能家庭助理账户
CN107071052B (zh) 一种给物联网设备提供云后端服务的装置、系统和方法
US20080313257A1 (en) Method and Apparatus for Policy-Based Transfer of an Application Environment
KR20140027507A (ko) 웹 애플리케이션 아키텍처
CN101160563A (zh) 用于托管并执行组件应用程序的方法和系统
CN109716735B (zh) 用于在于一个或多个应用平台上执行的隔离的应用之间共享应用数据的系统和方法
US20170046147A1 (en) Systems and methods for assisted driver, firmware and software download and installation
US20150113423A1 (en) System and method to configure a field device
Doukas et al. COMPOSE: Building smart & context-aware mobile applications utilizing IoT technologies
JP2021535461A (ja) ウェブ・アプリケーション実行のためのクライアント・アプリケーション
US11036518B1 (en) Automated management of scheduling a computer hardware reboot
US11586452B2 (en) Predicting and creating a session on a user's computing device
AU2018234352B2 (en) Electronic device and method for providing emergency call, and server therefor
Spanoudakis et al. An ambient intelligence application integrating agent and service-oriented technologies
Ito et al. Application Push & Play–Proposal on Dynamic Execution Environment Combined with Personal Devices and Cloud Computing.-
US20130007725A1 (en) Method, apparatus and system for transmitting an application using a plurality of computers
CN103412740B (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