CN105051685A - 用于使得网络资产能够访问本地应用的系统和方法 - Google Patents
用于使得网络资产能够访问本地应用的系统和方法 Download PDFInfo
- Publication number
- CN105051685A CN105051685A CN201480014051.8A CN201480014051A CN105051685A CN 105051685 A CN105051685 A CN 105051685A CN 201480014051 A CN201480014051 A CN 201480014051A CN 105051685 A CN105051685 A CN 105051685A
- Authority
- CN
- China
- Prior art keywords
- wireless device
- contextual information
- executable code
- context
- content
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
一种用于允许网络资产访问本地应用的方法,所述方法包括:提供无线设备上的本地应用,发送针对内容的请求,接收内容,所述内容包括可执行代码,运行可执行代码以访问与无线设备相关的上下文信息,发送上下文信息,以及在无线设备中接收基于上下文信息的上下文内容。
Description
背景技术
以来自网站的内容形式的信息通常被提供给许多不同类型的设备和用户。不断接收越来越多的网站内容的一种类型的设备和用户是无线设备和移动用户。无线设备可以是便携式计算设备、平板计算机、智能电话,或者能够浏览并接收网站内容的任意其它便携式或无线设备。
移动无线计算设备上的网络浏览器提供了访问在线信息的主要方式。一些用户可以在无线设备上安装一个或多个应用,但是对于大多数用户来说,通常使用对设备而言是本地的网络浏览器或者下载到设备的网络浏览器来访问在线内容。符合W3C(万维网联盟)规范的网络浏览器以及一些网络浏览器可以包括另外的能力。然而,网络浏览器不能完全桥接它们被安装在其上的设备的本地应用程序接口(API),并且因此,网络应用与本地应用相比在功能上是有限的。
根据HTML5进行操作的大多数网络应用还没有广泛利用的一种能力是:通过使用网络套接字接口,使得可执行代码(即,Javascript代码)能够访问在其上运行浏览器的相同平台上的应用的能力。例如,如果期望网络应用基于访问该网络应用的用户相对于用户的日常生活的位置(例如,用户的位置;例如,在家中、在工作、在健身房、在学校等)来调整其行为,则将需要一种主动地监视用户的位置并构造这些位置随时间的历史或数据库的能力。然而,在现有网络浏览器的情况下这是不可能的,因为只有在活跃的网络浏览期间可以访问用户位置,并且由于应用和浏览器生命周期限制,无法利用在基于HTML5的网络浏览器的背景下工作的Javascript代码来实现“主动监视”的概念。例如,HTML5应用可能不会控制它的工作器(worker)中的一个工作器的生命周期,在资源冲突的情况下,浏览器会随时关闭该应用。术语“工作器”是指HTML5中可以作为后台进程在其自己的线程中执行的JavaScript。因此,使用在用户携带并使用设备时会随时间聚合的信息,网站不能够根据与访问该网站的设备的用户相关的非平凡(non-trivial)上下文信息(contextualinformation)来调整其内容传送。
一些大规模网站(例如仅作为例子,Yahoo(www.yahoo.com))具有鼓励它们的用户下载本地应用以优化用户在该网站的体验的能力。可惜的是,这些网站通常提供非常特定的服务,例如,电子邮件、新闻、即时消息传送,并且它们仍然具有在本地应用中没有捕获的网络资产(webproperty)(与主题网站相同域下的其它网站)。
因此,当用户正在它们的站点上进行浏览时允许网络资产访问特定于用户的信息以及个人信息以向用户提供丰富的体验会是令人期望的。
发明内容
一种用于允许网络资产访问本地应用的方法的实施例包括:提供无线设备上的本地应用,发送针对内容的请求,接收内容,所述内容包括可执行代码,运行所述可执行代码以访问与所述无线设备相关的上下文信息,发送所述上下文信息,以及在所述无线设备中接收基于所述上下文信息的上下文内容。
一种无线设备的实施例包括:本地应用;网络浏览器,其被配置为发送针对内容的请求以及接收所述内容,所述内容包括可执行代码;以及处理器,其被配置为运行所述可执行代码以访问位于所述无线设备上的上下文信息。所述网络浏览器被配置为发送所述上下文信息,并且所述无线设备被配置为接收基于所述上下文信息的上下文内容。
附图说明
在附图中,除非另有指示,否则类似的附图标记指代贯穿各种视图中的类似部件。对于具有诸如“102a”或“102b”等字母符号标示的附图标记,字母符号标示可以对出现在相同附图中的两个类似部件或要素进行区分。当旨在用附图标记来包含所有附图中具有相同附图标记的所有部件时,可以省略用于附图标记的字母符号标示。
图1是示出了用于使得网络资产能够访问本地应用的一种系统的实施例的功能框图。
图2是示出了用于使得网络资产能够访问本地应用的一种方法的实施例的呼叫流程图。
图3是描述了用于使得网络资产能够访问本地应用的一种方法的实施例的流程图。
图4是示出了用于使得网络资产能够访问本地应用的一种方法的替代实施例的呼叫流程图。
图5是描述了用于使得网络资产能够访问本地应用的一种方法的替代实施例的流程图。
图6是示出了在其中可以实现用于使得网络资产能够访问本地应用的系统和方法的一种无线设备的例子的框图。
具体实施方式
本文使用词语“示例性的”来表示“用作示例、实例或说明”。本文中被描述为“示例性的”任何方面不一定解释为比其它方面优选或有利。
在本描述中,术语“应用”还可以包括具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,本文提到的“应用”还可以包括在自然状态下不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
术语“内容”还可以包括具有可执行内容的文件,例如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,本文提到的“内容”还可以包括在自然状态下不可执行的文件,例如可能需要打开的文档或需要存取的其它数据文件。
如本描述中所使用的,术语“组件”、“数据库”、“模块”、“系统”等旨在指代与计算机相关的实体,硬件、固件、硬件和软件的组合、软件或者执行中的软件。例如,组件可以是但不限于:在处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。通过说明的方式,在计算设备上运行的应用和计算设备两者都可以是组件。一个或多个组件可以驻留在执行的进程和/或线程内,并且组件可以集中在一个计算机上和/或分布在两个或多个计算机之间。此外,可以通过其上存储有各种数据结构的各种计算机可读介质来执行这些组件。组件可以通过本地的和/或远程的过程的方式,例如根据具有一个或多个数据分组的信号(例如,来自与本地系统、分布式系统中另一个组件进行交互的一个组件的数据,和/或通过信号的方式越过诸如互联网之类的网络与其它系统进行交互的一个组件的数据)来进行通信。
如本文所使用的,术语“用户设备”包括能够从网站接收内容并向网站发送信息的设备。用户设备可以是固定设备、无线设备或移动设备。
如本文所使用的,术语“无线设备”是指能够访问网络资产或网站的任意便携式或无线计算设备。如本文所使用的,术语“用户设备”与术语“无线设备”可互换。
如本文所使用的,术语“用户”是指接收用户设备或无线设备上的内容并向网站发送信息的个体。
如本文所使用的,术语“上下文(context)”是指用户、用户设备或无线设备的任意或所有属性,例如物理的、逻辑的、社交的以及其它上下文信息。
如本文所使用的,术语“上下文感知元数据”和“上下文元数据”是指对用户、用户设备或无线设备的上下文进行描述或定义的元数据。
如本文所使用的,术语“上下文感知内容”是指被传送给用户设备或无线设备并且对于用户的上下文是特制的内容。
如本文所使用的,术语“网络资产”是指具有一个或多个网站的实体,其中所述一个或多个网站具有一个或多个网页。
在一个实施例中,一种用于使得网络资产能够访问本地应用的系统和方法包括:使得本地应用能够嵌入一种系统,例如上下文感知应用,并且实现本地的(对于下载本地应用的无线设备而言)网络套接字交互,使得特定于本地应用的开发者(例如,Yahoo)的网络资产能够从本地功能中获益。例如,如果Yahoo在它们的本地应用中嵌入上下文感知应用,并且上下文感知应用打开无线设备上的本地连接以允许Yahoo资产(网站)对其访问,则如果Yahoo的网络资产嵌入可执行代码(例如,JavaScript代码)来与无线设备进行通信(例如,经由网络套接字连接),并且如果无线设备的用户安装了Yahoo的本地应用(其嵌入上下文感知应用),那么Yahoo的网络资产可以通过用户的无线设备访问用户的上下文数据。上下文感知应用使得网络资产可获得用户的上下文数据,以允许网络资产向无线设备提供上下文感知内容。以Yahoo为例,在无线设备的用户下载并启动了本地的Yahoo应用之后,当通过该无线设备进行访问时,这将允许Yahoo在它们所有的网站上显示上下文广告。
图1是示出了用于使得网络资产能够访问本地应用的一种系统的实施例的功能框图。系统100包括无线设备102,其通过网络104连接到网络服务器106。无线设备102可以是任意移动计算设备,例如蜂窝电话、平板计算设备,或者能够访问万维网并且可以通过通信信道103连接到网络104的任意其它无线设备。虽然被描绘为无线通信信道,但是通信信道103可以是任意通信信道。网络服务器106可以通过通信信道105连接到网络104。虽然被描绘为有线通信信道,但是通信信道105可以是任意通信信道。网络服务器106可以是超文本传输协议(HTTP)服务器,其能够通过网络104向无线设备102提供来自网络资产120的内容。在一个实施例中,网络服务器106保持并且可以传送来自一个或多个网站107的以一个或多个网页108的形式的内容。要理解的是,网页108可以包括各种基于网络的内容,包括HTML内容,并且虽然示出了单个网页108,但是要理解的是,网络资产120可以包括具有多个网页108的多个网站107。网络104可以是任意广域网或局域网,并且在一个实施例中,可以是万维网。
在图1中将无线设备102示出为能够访问万维网的高度简化的无线设备。本领域技术人员将理解,无线设备102包括许多另外的组件,为简单起见从图1中省略了这些组件。无线设备102包括网络浏览器110和本地应用115。
举例而言,本地应用115可以是由网络资产120或者由网站107提供的、并且被下载到或者另外安装在无线设备102中的应用。举例而言,本地应用115可以从网络服务器106被下载到无线设备102。本地应用115可以是由网络资产120或网站107提供的应用、链接到网络资产120或网站107的应用、或者另外与网络资产120或网站107相关联的应用。举例而言,当网络浏览器110用于访问网络资产120、由网络资产120维护的网站107或网页108时,网站107可以向无线设备102提供本地应用115,作为向无线设备102的用户提供丰富的或改善的用户体验的方式。
在一个实施例中,本地应用115可以包括应用程序117。在一个实施例中,应用程序117可以是上下文感知模块或应用,或者是能够收集并保持与无线设备102相关的和/或与无线设备102的用户相关的上下文信息的任何模块或应用。在这方面,应用程序117可以被称为“监听器(listener)”应用或“上下文”应用,因为它能够访问与无线设备102相关的上下文信息。在替代的实现方式中,本地应用115可以包括单独的或集成的模块,该模块提供了可以在无需使用单独的应用程序117的情况下来收集、保持并访问与无线设备102相关的上下文信息的功能。然而,在本文所描述的一个实施例中,应用程序117可以是包括在本地应用115中的或者另外与其相关联的上下文感知应用,并且将被称为上下文应用程序117。上下文应用程序117可以收集、保持并访问与无线设备102和/或无线设备102的用户相关的上下文信息。术语“上下文信息”是指与用户简档、用户浏览习惯、用户位置相关的任意信息,或者与无线设备102的用户相关的任意其它上下文信息。
网站107或者网页108还可以向无线设备102传送可执行代码112。在一个实施例中,可执行代码112可以是Javascript代码;然而,其它的可执行代码是可能的。在一个实施例中,当网络浏览器110访问网页108时,将可执行代码112与网站107所提供的HTML内容一起提供给网络浏览器110。网络浏览器110还包括Javascript引擎130。Javascript引擎130被配置为执行可执行代码112,例如Javascript代码。在一个实施例中,由网络浏览器110上的Javascript引擎130来执行可执行代码112,并且通过请求本地应用115打开相对于本地应用115的TCP(传输控制协议)端口来允许网络浏览器110与本地应用115进行交互。在一个实施例中,网络浏览器110上的Javascript引擎130运行可执行代码112并且允许本地应用115打开到无线设备102上的上下文应用程序117的网络套接字连接,以访问包含在无线设备102上的上下文应用程序117中的数据。在一个实施例中,由本地应用115访问的数据属于由上下文应用程序117保持的、或者另外由本地应用115保持的上下文信息。
在替代的实施例中,对可执行代码112的执行将使得Javascript引擎130从上下文应用程序117下载网页118,网页118包含附加的可执行代码125。在防止与跨站脚本(XSS)(其会损害无线设备102的安全性)相关的安全性破坏中,这种实现方式可能是有用的。在该实施例中,可执行代码125允许网络浏览器110直接从上下文应用程序117获得上下文信息而无需与网络资产交换脚本。在一个实施例中,可执行代码112可以包括用于允许从上下文应用程序117下载附加的可执行代码125的指令。
图2是示出了用于使得网络资产能够访问本地应用的一种方法的实施例的呼叫流程图200。图表200示出了图1中的各个单元的操作以供参考。举例而言,呼叫202表示无线设备102上的网络浏览器110向网络服务器106发送针对网页108的HTTP请求。
呼叫204表示网络服务器106向无线设备102上的网络浏览器110发送包括可执行代码112的HTML内容。在一个实施例中,与HTML内容包括在一起的可执行代码112是JavaScript代码。由无线设备102上的JavaScript引擎130来执行可执行代码112。
呼叫206表示从网络浏览器110向无线设备102上的上下文应用程序117(也被称为“本地主机(localhost)”)发出的HTTP呼叫。呼叫206表示对可执行代码112的执行使得网络浏览器110请求本地应用115打开到无线设备102上的相对于本地应用115的TCP(传输控制协议)端口的网络套接字连接,以允许网络浏览器110访问包含在上下文应用程序117中的上下文数据。
呼叫208表示本地应用115打开到无线设备102上的浏览器110的网络套接字连接。
呼叫210表示无线设备102上的网络浏览器110运行可执行代码112,并且表示网络浏览器110请求本地应用115打开到无线设备102上的相对于本地应用115的TCP端口的网络套接字连接,以允许网络浏览器110访问包含在上下文应用程序117中的上下文数据。向网络服务器106发送上下文数据。
呼叫212表示网络服务器106基于从无线设备102接收的上下文信息,来向无线设备102提供上下文内容。
图3是描述了用于使得网络资产能够访问本地应用的一种方法的实施例的流程图。在框302中,无线设备102向网络服务器106请求网页108。
在框304中,网络服务器向无线设备102发送包括可执行代码的HTML内容。在一个实施例中,HTML内容包括JavaScript代码112。
在框306中,无线设备102上的网络浏览器110运行可执行代码112,并且请求本地应用115打开到相对于本地应用115的TCP端口的网络套接字连接,以允许网络浏览器110访问包含在无线设备102上的上下文应用程序117中的、或者可由其访问的上下文内容数据。
在框308中,网络浏览器与本地应用115进行交互,以从无线设备102上的上下文应用程序117中提取上下文信息。在一个实施例中,本地应用115可以包括被称为“监听器”的功能单元,该功能单元总是在运行并且累积与无线设备102相关的简档、历史以及其它实时数据。
在框310中,无线设备102上的网络浏览器110向网络服务器106和网站108发送上下文信息。
在框312中,网络服务器106基于与无线设备102相关的上下文信息,来向无线设备提供上下文内容。
图4是示出了用于使得网络资产能够访问本地应用的一种方法的替代实施例的呼叫流程图400。图表400示出了图1中的各个单元的操作以供参考,并且涉及一个实施例,在该实施例中,从上下文应用程序117向网络浏览器110提供附加的可执行代码125(图1),以允许向网络浏览器110传送上下文信息而无需与网络资产交换脚本,从而使在跨站脚本(XSS)(其中在无线设备和网络资产之间传送脚本)情况下可能的安全性破坏的可能性最小化。
举例而言,呼叫402表示无线设备102上的网络浏览器110向网络服务器106发送针对网页108的HTTP请求。
呼叫404表示网络服务器106向无线设备102上的网络浏览器110发送包括可执行代码112的HTML内容。在一个实施例中,与HTML内容包括在一起的可执行代码112是JavaScript代码。由无线设备102上的JavaScript引擎130来执行可执行代码112。在一个实施例中,可执行代码112可以包括用于允许从上下文应用程序117下载附加的可执行代码125的指令。
呼叫406表示从网络浏览器110向无线设备102上的应用程序117(也被称为“本地主机”)发出的呼叫,该呼叫请求具有附加脚本形式的附加的可执行代码。在该实施例中,附加脚本可以具有可执行代码125的形式,其中可执行代码125允许网络浏览器110直接从上下文应用程序117获得上下文信息而无需与网络资产交换脚本。
呼叫408表示应用程序117利用具有附加脚本形式的附加的可执行代码125(图1)来对网络浏览器110进行响应,所述附加脚本允许网络浏览器110和上下文应用程序117进行通信,同时使在跨站脚本(XSS)情况下可能的安全性破坏的可能性最小化。
呼叫412表示从网络浏览器110向无线设备102上的应用程序117(也被称为“本地主机”)发出的HTTP呼叫。呼叫412表示对可执行代码112的执行使得网络浏览器110请求本地应用115打开到无线设备102上的相对于本地应用115的TCP(传输控制协议)端口的网络套接字连接,以允许网络浏览器110访问包含在上下文应用程序117中的上下文数据。
呼叫414表示本地应用115打开到无线设备102上的浏览器110的网络套接字连接。
呼叫416表示无线设备102上的网络浏览器110运行可执行代码112和可执行代码125,并且表示网络浏览器110请求本地应用115打开到无线设备102上的相对于本地应用115的TCP端口的网络套接字连接,以允许浏览器110访问包含在应用程序117中的上下文数据。向网络服务器106发送所述上下文数据。
呼叫418表示网络服务器106基于从无线设备102接收的上下文信息,来向无线设备102提供上下文内容。
图5是描述了用于使得网络资产能够访问本地应用的一种方法的替代实施例的流程图。在框502中,无线设备102向网络服务器106请求网页108。
在框504中,网络服务器向无线设备102发送包括可执行代码的HTML内容。在一个实施例中,HTML内容包括JavaScript代码112。
在框506中,网络浏览器110运行可执行代码,并且向上下文应用程序117请求具有附加脚本形式的附加的可执行代码。
在框508中,上下文应用程序117利用含有具有附加脚本形式的附加的可执行代码125(图1)的网页118来答复网络浏览器110,所述附加脚本允许网络浏览器110和应用程序117进行通信,同时使在跨站脚本(XSS)情况下可能的安全性破坏的可能性最小化。
在框512中,无线设备102上的网络浏览器110运行可执行代码112,并且请求本地应用115打开到相对于本地应用115的TCP端口的网络套接字连接,以允许网络浏览器110访问包含在无线设备102上的上下文应用程序117中的上下文内容数据。
在框514中,网络浏览器110与本地应用115进行交互,以从无线设备102上的应用程序117中提取上下文信息。在一个实施例中,本地应用115可以包括被称为“监听器”的功能单元,该功能单元总是在运行并且累积与无线设备102相关的简档、历史以及其它实时数据。
在框516中,无线设备102上的网络浏览器110向网络服务器106和网站108发送上下文信息。
在框518中,网络服务器106基于与无线设备102相关的上下文信息,来向无线设备提供上下文内容。
图6是示出了无线设备600的一个例子的框图,在无线设备600中,可以实现用于使得网络资产能够访问本地应用的系统和方法。在一个实施例中,无线设备600可以是“蓝牙”无线通信设备、便携式蜂窝电话、WiFi使能通信设备,或者可以是任意其它通信设备。可以在任意通信设备中实现用于使得网络资产能够访问本地应用的系统和方法的实施例。图6中所示出的无线设备600旨在作为蜂窝电话的简化例子,并且旨在示出在其中可以实现用于使得网络资产能够访问本地应用的系统和方法的许多可能的应用中的一个应用。本领域技术人员将理解,省略了便携式蜂窝电话的操作以及因此省略了实现细节。在一个实施例中,无线设备600包括通过系统总线632连接在一起的基带子系统610和RF子系统620。系统总线632可以包括将上述元件耦合到一起并使得它们能够互操作的物理连接和逻辑连接。在一个实施例中,RF子系统620可以是无线收发机。虽然为清楚起见没有示出细节,但是RF子系统620通常包括发送模块630,发送模块630具有调制、上变频和放大电路,用于准备基带信息信号以供发送,包括接收模块640,接收模块640具有放大、过滤和下变频电路,用于接收RF信号并将其下变频到基站信息信号以恢复数据,以及包括前端模块(FEM)650,前端模块650包括同向双工器(diplexer)电路、双工器(duplexer)电路,或者如本领域技术人员已知的能够从接收信号中分离出发送信号的任意其它电路。天线660连接到FEM650。
基带子系统610通常包括处理器602(其可以是通用或专用微处理器)、存储器614、应用软件604、模拟电路元件606以及数字电路元件608,这些元件通过系统总线612耦合。系统总线612可以包括用于将上述元件耦合到一起并使得它们能够互操作的物理连接和逻辑连接。
输入/输出(I/O)元件616通过连接624连接到基带子系统610,并且存储器元件618通过连接626耦合到基带子系统610。I/O元件616可以包括例如麦克风、小键盘、扬声器、指向设备、用户接口控制元件,以及允许用户提供输入命令并从无线设备600接收输出的任意其它设备或系统。
存储器618可以是任意类型的易失性或非易失性存储器,并且在一个实施例中,可以包括闪存。存储器618可以永久地安装在无线设备600中,或者可以是可移动存储元件,例如可移动存储卡。
处理器602可以是执行应用软件604以控制无线设备600的操作和功能的任意处理器。存储器614可以是易失性或者非易失性存储器,并且在一个实施例中,可以是存储应用软件604的非易失性存储器。
模拟电路606和数字电路608包括将I/O元件616所提供的输入信号转换成要发送的信息信号的信号处理、信号转换和逻辑单元。类似地,模拟电路606和数字电路608包括用于生成信息信号的信号处理元件,所述信息信号包含从接收到的信号中恢复的信息。数字电路608可以包括例如数字信号处理器(DSP)、现场可编程门阵列(FPGA),或者任意其它处理设备。由于基带子系统610包括模拟和数字元件二者,因此它可以被称为混合信号设备(MSD)。
基带子系统610还包括网络浏览器110的实例,网络浏览器110的实例包括JavaScript引擎130和可执行代码112的实例。存储器614包括数据库642和本地应用115的实例,本地应用115的实例包括上下文应用程序117的实例。在示例性的实施例中,数据库642存储从上下文应用程序117获得的、与无线设备600相关的上下文数据。在用于使得网络资产能够访问本地应用的系统和方法的实施例中,网络浏览器110上的JavaScript引擎130运行可执行代码112,并且请求本地应用115打开到相对于本地应用115的TCP端口的网络套接字连接644,以允许网络浏览器110访问包含在数据库642中的上下文内容数据。图6中使用箭头646示出了这种交互,并且使用箭头652将这种交互示出为上下文应用程序117和Javascript引擎130之间的直接连接。所述端口可以是TCP端口或者用于向无线设备600上的网络浏览器110或其它元件揭示本地应用115和上下文应用程序117的其它手段。可执行代码112(或者如果包括的话,附加的可执行代码125)与本地应用115进行交互,以提取从上下文应用程序117中获得的、并且存储在数据库642中的上下文信息,而无需与网络资产交换脚本。图6中使用箭头648示出了这种交互。在一个实施例中,本地应用115可以包括被称为“监听器”的功能单元,该功能单元总是在运行并且累积与无线设备600相关的简档、历史以及其它实时数据。
无线设备600上的网络浏览器110然后向网络服务器106和网站108发送上下文信息,使得网站108能够基于上下文信息来向无线设备600提供上下文内容。
鉴于上面的公开内容,编程领域的技术人员能够基于例如本说明书中的流程图和关联的描述,毫无困难地编写计算机代码或者标识适当的硬件和/或电路来实现所公开的发明。因此,对于充分理解如何实施和使用本发明,特定的程序代码指令集或详细的硬件设备的公开内容并不被视为是必需的。在上面描述中并且结合可以说明各种过程流程的图更详细地解释了所要求保护的计算机实现的过程的创造性的功能。
在一个或多个示例性的方面中,可以在硬件、软件、固件或其任意组合中实现所描述的功能。如果在软件中实现,则所述功能可以作为一条或多条指令或代码存储在计算机可读介质上或者在计算机可读介质上进行传输。计算机可读介质包括计算机存储介质和通信介质两者,通信介质包括促进计算机程序从一个地方传送到另一地方的任何介质。存储介质可以是可由计算机存取的任何可用介质。通过举例而非限制性的方式,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备,或者可用于携带或存储具有指令或数据结构形式的期望的程序代码并且可以由计算机存取的任何其它介质。
此外,任何连接被适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字用户线(“DSL”)或诸如红外线、无线电以及微波之类的无线技术从网站、服务器或其它远程源来传输的,则同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电以及微波之类的无线技术被包括在介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当被包括在计算机可读介质的范围内。
虽然已经详细地说明和描述了精选的方面,但是应当理解,在不脱离如由所附的权利要求所定义的本发明的精神和范围的情况下,可以在其中做出各种替换和变更。
Claims (35)
1.一种用于允许网络资产访问本地应用的方法,包括:
提供无线设备上的本地应用;
发送针对内容的请求;
接收内容,所述内容包括可执行代码;
运行所述可执行代码以访问与所述无线设备相关的上下文信息;
发送所述上下文信息;以及
在所述无线设备中接收基于所述上下文信息的上下文内容。
2.根据权利要求1所述的方法,其中,发送所述上下文信息包括向内容提供商发送所述上下文信息。
3.根据权利要求2所述的方法,其中,所述本地应用与所述内容提供商相关联,并且接收所述上下文内容包括从所述内容提供商接收所述上下文内容。
4.根据权利要求2所述的方法,其中,运行所述可执行代码以访问所述上下文信息包括:打开在其上正在运行所述可执行代码的所述无线设备上的端口,并且通过使用与所述本地应用相关联的上下文感知模块来访问存储在所述无线设备上的上下文信息。
5.根据权利要求4所述的方法,其中,打开所述无线设备上的所述端口包括:
在所述无线设备上,向上下文感知应用转发HTTP请求;以及
在所述无线设备上,打开所述本地应用和网络浏览器之间的网络套接字,所述网络套接字允许将所述上下文信息从所述上下文感知应用传送到所述网络浏览器。
6.根据权利要求4所述的方法,其中,所述上下文感知应用为了上下文信息持续地监视所述端口。
7.根据权利要求1所述的方法,还包括:
从所述本地应用接收附加的可执行代码;以及
运行所述附加的可执行代码以直接地从所述本地应用访问所述上下文信息,其中,所述附加的可执行代码允许与所述本地应用交互而无需与所述网络资产交换脚本。
8.一种用于允许网络资产访问本地应用的方法,包括:
接收针对内容的请求;
发送内容,所述内容包括可执行代码;
接收上下文信息;以及
基于所述上下文信息来发送上下文内容。
9.根据权利要求8所述的方法,其中,所述针对内容的请求是从具有本地应用的无线设备接收的,所述本地应用与内容提供商相关。
10.根据权利要求9所述的方法,其中,所述可执行代码允许对所述无线设备上的上下文信息的访问。
11.根据权利要求10所述的方法,其中,接收所述上下文信息允许所述内容提供商向所述无线设备发送所述上下文内容。
12.根据权利要求11所述的方法,其中,所述可执行代码还包括附加的可执行代码,其被配置为:允许所述无线设备上的网络浏览器访问位于所述无线设备上的附加的可执行代码。
13.一种无线设备,包括:
本地应用;
网络浏览器,其被配置为:发送针对内容的请求并且接收所述内容,所述内容包括可执行代码;
处理器,其被配置为:运行所述可执行代码以访问位于所述无线设备上的上下文信息;
所述网络浏览器被配置为:发送所述上下文信息;以及
所述无线设备被配置为:接收基于所述上下文信息的上下文内容。
14.根据权利要求13所述的无线设备,其中,所述上下文信息被发送给内容提供商。
15.根据权利要求14所述的无线设备,其中,所述本地应用与所述内容提供商相关联,并且接收所述上下文内容包括从所述内容提供商接收所述上下文内容。
16.根据权利要求14所述的无线设备,还包括与所述本地应用相关联的上下文感知应用,并且其中,运行所述可执行代码以访问所述上下文信息包括:打开所述无线设备上的相对于所述本地应用的端口,并且通过使用所述上下文感知应用来访问存储在所述无线设备上的上下文信息。
17.根据权利要求16所述的无线设备,其中,打开所述无线设备上的所述端口包括:
在所述无线设备上,向所述上下文感知应用转发HTTP请求;以及
在所述无线设备上,打开所述本地应用和浏览器之间的网络套接字,所述网络套接字允许将所述上下文信息从所述上下文感知应用传送到所述网络浏览器。
18.根据权利要求16所述的无线设备,其中,所述上下文感知应用为了上下文信息持续地监视所述端口。
19.根据权利要求16所述的无线设备,还包括:
与所述本地应用相关联的附加的可执行代码;以及
所述处理器运行所述附加的可执行代码以直接地从所述本地应用访问所述上下文信息,其中,所述附加的可执行代码允许与所述本地应用交互而无需与所述网络资产交换脚本。
20.一种其上存储有服务器可执行指令的非暂时性服务器可读介质,所述服务器可执行指令被配置为使得无线设备执行包括以下各项的操作:
提供无线设备上的本地应用;
发送针对内容的请求;
接收内容,所述内容包括可执行代码;
运行所述可执行代码以访问与所述无线设备相关的上下文信息;
发送所述上下文信息;以及
在所述无线设备中接收基于所述上下文信息的上下文内容。
21.根据权利要求20所述的非暂时性介质,其中,发送所述上下文信息包括向内容提供商发送所述上下文信息。
22.根据权利要求21所述的非暂时性介质,其中,所述本地应用与所述内容提供商相关联,并且接收所述上下文内容包括从所述内容提供商接收所述上下文内容。
23.根据权利要求21所述的非暂时性介质,其中,运行所述可执行代码以访问所述上下文信息包括:打开在其上正在运行所述可执行代码的所述无线设备上的端口,并且通过使用与所述本地应用相关联的上下文感知模块来访问存储在所述无线设备上的上下文信息。
24.根据权利要求23所述的非暂时性介质,其中,打开所述无线设备上的所述端口包括:
在所述无线设备上,向上下文感知应用转发HTTP请求;以及
在所述无线设备上,打开所述本地应用和网络浏览器之间的网络套接字,所述网络套接字允许将所述上下文信息从所述上下文感知应用传送到所述网络浏览器。
25.根据权利要求23所述的非暂时性介质,其中,所述上下文感知应用为了上下文信息持续地监视所述端口。
26.根据权利要求20所述的非暂时性介质,还包括:
从所述本地应用接收附加的可执行代码;以及
运行所述附加的可执行代码以直接地从所述本地应用访问所述上下文信息,其中,所述附加的可执行代码允许与所述本地应用交互而无需与所述网络资产交换脚本。
27.一种其上存储有服务器可执行指令的非暂时性服务器可读介质,所述服务器可执行指令被配置为使得网络服务器执行包括以下各项的操作:
接收针对内容的请求;
发送内容,所述内容包括可执行代码;
接收上下文信息;以及
基于所述上下文信息来发送上下文内容。
28.根据权利要求27所述的非暂时性介质,其中,所述针对内容的请求是从具有本地应用的无线设备接收的,所述本地应用与内容提供商相关。
29.根据权利要求28所述的非暂时性介质,其中,所述可执行代码允许对所述无线设备上的上下文信息的访问。
30.根据权利要求10所述的非暂时性介质,其中,接收所述上下文信息允许所述内容提供商向所述无线设备发送所述上下文内容。
31.根据权利要求30所述的非暂时性介质,其中,所述可执行代码还包括附加的可执行代码,其被配置为:允许所述无线设备上的网络浏览器访问位于所述无线设备上的附加的可执行代码。
32.一种无线设备,包括:
本地应用;
用于发送针对内容的请求并且接收所述内容的网络浏览单元,所述内容包括可执行代码;
用于运行所述可执行代码以访问位于所述无线设备上的上下文信息的处理器单元;以及
其中,所述网络浏览器单元发送所述上下文信息并且接收基于所述上下文信息的上下文内容。
33.根据权利要求32所述的无线设备,其中,所述上下文信息被发送给内容提供商。
34.根据权利要求33所述的无线设备,其中,所述本地应用与所述内容提供商相关联,并且接收所述上下文内容包括从所述内容提供商接收所述上下文内容。
35.根据权利要求33所述的无线设备,还包括与所述本地应用相关联的上下文感知应用,并且其中,运行所述可执行代码以访问所述上下文信息包括:打开所述无线设备上的相对于所述本地应用的端口,并且通过使用所述上下文感知应用来访问存储在所述无线设备上的上下文信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/798,703 US9203891B2 (en) | 2013-03-13 | 2013-03-13 | System and method to enable web property access to a native application |
US13/798,703 | 2013-03-13 | ||
PCT/US2014/022250 WO2014164391A1 (en) | 2013-03-13 | 2014-03-10 | System and method to enable web property access to a native application |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105051685A true CN105051685A (zh) | 2015-11-11 |
CN105051685B CN105051685B (zh) | 2018-04-13 |
Family
ID=50543652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480014051.8A Expired - Fee Related CN105051685B (zh) | 2013-03-13 | 2014-03-10 | 用于使得网络资产能够访问本地应用的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9203891B2 (zh) |
EP (1) | EP2972822B1 (zh) |
JP (1) | JP6009714B2 (zh) |
KR (1) | KR101680509B1 (zh) |
CN (1) | CN105051685B (zh) |
WO (1) | WO2014164391A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133077A (zh) * | 2016-02-29 | 2017-09-05 | 深圳秀豹科技有限公司 | 一种网页端调用本地应用功能的方法及装置 |
CN107370775A (zh) * | 2016-05-11 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种启动应用的方法和系统 |
CN116956273A (zh) * | 2017-06-16 | 2023-10-27 | 谷歌有限责任公司 | 受限计算机环境中的交叉源通信 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189622B2 (en) * | 2013-04-30 | 2015-11-17 | Vmware, Inc. | Static redirection for objective C |
US9311407B2 (en) * | 2013-09-05 | 2016-04-12 | Google Inc. | Native application search results |
US10949487B2 (en) * | 2015-04-20 | 2021-03-16 | Hyland Switzerland Sàrl | Systems and methods for accessing computing device resources |
JP6554350B2 (ja) * | 2015-07-14 | 2019-07-31 | 株式会社Phone Appli | サービスシステム |
CN107370778B (zh) * | 2016-05-11 | 2020-06-30 | 阿里巴巴集团控股有限公司 | 一种启动应用的方法和系统 |
CN107015870B (zh) * | 2016-09-19 | 2020-11-03 | 创新先进技术有限公司 | 实现web页面与本地应用通信的方法、装置和电子设备 |
WO2018160199A1 (en) * | 2017-03-03 | 2018-09-07 | Google Llc | Systems and methods for detecting improper implementation of presentation of content items by applications executing on client devices |
JP6451963B1 (ja) * | 2017-10-09 | 2019-01-16 | 治 寺田 | 通信システム |
US10826895B1 (en) * | 2018-10-04 | 2020-11-03 | State Farm Mutual Automobile Insurance Company | System and method for secure authenticated user session handoff |
US10630718B2 (en) * | 2018-11-27 | 2020-04-21 | BehavioSec Inc | Detection of remote fraudulent activity in a client-server-system |
US12028351B2 (en) | 2021-11-15 | 2024-07-02 | International Business Machines Corporation | Protecting against API attacks by continuous auditing of security compliance of API usage relationship |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811704A (zh) * | 2005-01-26 | 2006-08-02 | 微软公司 | 用于知晓上下文的平台的系统和方法 |
US20090287646A1 (en) * | 2008-05-19 | 2009-11-19 | Qualcomm Incorporated | System and method for presenting a contextual action for an indicator |
CN102165483A (zh) * | 2008-09-29 | 2011-08-24 | 微软公司 | 动态地将数据变换为预期接收者的上下文 |
CN102804177A (zh) * | 2009-04-23 | 2012-11-28 | 诺基亚公司 | 提供自适应上下文模型框架的方法、装置和计算机程序产品 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752042A (en) | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
AU2582401A (en) | 1999-12-17 | 2001-06-25 | Dorado Network Systems Corporation | Purpose-based adaptive rendering |
US7437312B2 (en) | 2000-08-23 | 2008-10-14 | Bizrate.Com | Method for context personalized web browsing |
US20030050964A1 (en) | 2001-09-07 | 2003-03-13 | Philippe Debaty | Method and system for context manager proxy |
US20040221021A1 (en) | 2003-04-30 | 2004-11-04 | Domer Jason A. | High performance managed runtime environment application manager equipped to manage natively targeted applications |
US7706739B2 (en) * | 2005-03-11 | 2010-04-27 | Openwave Systems Inc. | Broadcast system and method for cellular networks |
US7873710B2 (en) | 2007-02-06 | 2011-01-18 | 5O9, Inc. | Contextual data communication platform |
US8352967B2 (en) | 2008-11-10 | 2013-01-08 | Google Inc. | Safe browser plugins using native code modules |
US20110213655A1 (en) | 2009-01-24 | 2011-09-01 | Kontera Technologies, Inc. | Hybrid contextual advertising and related content analysis and display techniques |
US20100229045A1 (en) | 2009-03-09 | 2010-09-09 | Quantia Communications, Inc. | Computer Method and Apparatus Providing Invocation of Device-Specific Application Through a Generic HTTP Link |
US8868637B2 (en) | 2009-09-02 | 2014-10-21 | Facebook, Inc. | Page rendering for dynamic web pages |
JP5682181B2 (ja) * | 2010-08-25 | 2015-03-11 | 日本電気株式会社 | 通信制御機能を有する通信装置、方法、プログラム |
FR2964766B1 (fr) | 2010-09-09 | 2013-04-26 | Mobilegov France | Procede de generation de pages web personnalisees |
KR20120067830A (ko) | 2010-12-16 | 2012-06-26 | 한국전자통신연구원 | 모바일 웹 지도 서비스 시스템 및 이를 위한 서비스 단말 |
JP5857443B2 (ja) * | 2011-05-12 | 2016-02-10 | ソニー株式会社 | コンテンツ共有システム |
US9198038B2 (en) * | 2011-06-13 | 2015-11-24 | Qualcomm Incorporated | Apparatus and methods of identity management in a multi-network system |
-
2013
- 2013-03-13 US US13/798,703 patent/US9203891B2/en not_active Expired - Fee Related
-
2014
- 2014-03-10 KR KR1020157028643A patent/KR101680509B1/ko active IP Right Grant
- 2014-03-10 CN CN201480014051.8A patent/CN105051685B/zh not_active Expired - Fee Related
- 2014-03-10 EP EP14719127.4A patent/EP2972822B1/en active Active
- 2014-03-10 WO PCT/US2014/022250 patent/WO2014164391A1/en active Application Filing
- 2014-03-10 JP JP2016500924A patent/JP6009714B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1811704A (zh) * | 2005-01-26 | 2006-08-02 | 微软公司 | 用于知晓上下文的平台的系统和方法 |
US20090287646A1 (en) * | 2008-05-19 | 2009-11-19 | Qualcomm Incorporated | System and method for presenting a contextual action for an indicator |
CN102027470A (zh) * | 2008-05-19 | 2011-04-20 | 高通股份有限公司 | 用于呈现上下文动作的系统和方法 |
CN102165483A (zh) * | 2008-09-29 | 2011-08-24 | 微软公司 | 动态地将数据变换为预期接收者的上下文 |
CN102804177A (zh) * | 2009-04-23 | 2012-11-28 | 诺基亚公司 | 提供自适应上下文模型框架的方法、装置和计算机程序产品 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133077A (zh) * | 2016-02-29 | 2017-09-05 | 深圳秀豹科技有限公司 | 一种网页端调用本地应用功能的方法及装置 |
CN107370775A (zh) * | 2016-05-11 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种启动应用的方法和系统 |
CN107370775B (zh) * | 2016-05-11 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种启动应用的方法和系统 |
US10698700B2 (en) | 2016-05-11 | 2020-06-30 | Alibaba Group Holding Limited | Method and system for starting application |
US10866815B2 (en) | 2016-05-11 | 2020-12-15 | Advanced New Technologies Co., Ltd. | Method and system for starting application |
CN116956273A (zh) * | 2017-06-16 | 2023-10-27 | 谷歌有限责任公司 | 受限计算机环境中的交叉源通信 |
Also Published As
Publication number | Publication date |
---|---|
WO2014164391A1 (en) | 2014-10-09 |
EP2972822B1 (en) | 2020-10-28 |
US20140280694A1 (en) | 2014-09-18 |
KR20150132312A (ko) | 2015-11-25 |
JP2016517571A (ja) | 2016-06-16 |
US9203891B2 (en) | 2015-12-01 |
EP2972822A1 (en) | 2016-01-20 |
JP6009714B2 (ja) | 2016-10-19 |
CN105051685B (zh) | 2018-04-13 |
KR101680509B1 (ko) | 2016-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105051685A (zh) | 用于使得网络资产能够访问本地应用的系统和方法 | |
US20130246504A1 (en) | Method for subscribing to notification, apparatus and system | |
CN103944944A (zh) | 分享网页链接的方法、电子设备及系统 | |
WO2018208664A1 (en) | Matching and attribution of user device events | |
US8789177B1 (en) | Method and system for automatically obtaining web page content in the presence of redirects | |
US20110252150A1 (en) | System and Method for Processing User Information | |
CN103617267A (zh) | 社交化扩展搜索方法及装置、系统 | |
US9235693B2 (en) | System and methods thereof for tracking and preventing execution of restricted applications | |
CN105701198A (zh) | 页面验证方法和装置 | |
US20140157104A1 (en) | Dynamic sharing and updating of a web page | |
CN104023073A (zh) | 一种资源的推送方法、系统及装置 | |
CN108228457B (zh) | 移动终端的测试代理方法及装置、计算机可读存储介质 | |
KR101342407B1 (ko) | 싱글 사인온 기반 통합 인증 서비스 제공 방법 | |
CN105224870A (zh) | 可疑病毒应用上传的方法和装置 | |
KR101712138B1 (ko) | 사용자 서버를 이용한 파일 제어 시스템 및 방법 | |
CN102012925B (zh) | 页面数据生成方法、数据复核方法及数据交易录入系统 | |
WO2015073065A1 (en) | Automatically transitioning a user from a call to action to an enrollment interface | |
KR20130072907A (ko) | 단축 url 생성 방법 및 이를 지원하는 시스템 | |
CN105338091A (zh) | 高传输效率的个性化信息界面显示方法和装置 | |
KR102259595B1 (ko) | 이동통신단말 기반 sms를 이용한 파일 전송 서비스 제공 시스템 | |
CN109768921B (zh) | 数据透传方法和相应的即时通讯终端 | |
KR101342405B1 (ko) | 쌍방향 싱글 사인온 서비스 제공 방법 | |
EP3057291B1 (en) | Method for providing a third party service associated with a network-accessible site | |
WO2014084771A1 (en) | Dynamic sharing and updating of a web page | |
CN104767667A (zh) | 一种web网页多屏共享的方法及终端设备、网站服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180413 |
|
CF01 | Termination of patent right due to non-payment of annual fee |