CN105122237A - 共享应用程序状态 - Google Patents
共享应用程序状态 Download PDFInfo
- Publication number
- CN105122237A CN105122237A CN201480010859.9A CN201480010859A CN105122237A CN 105122237 A CN105122237 A CN 105122237A CN 201480010859 A CN201480010859 A CN 201480010859A CN 105122237 A CN105122237 A CN 105122237A
- Authority
- CN
- China
- Prior art keywords
- application
- resource identifier
- identifier
- internet resources
- treating apparatus
- 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
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/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- 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]
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Abstract
本文揭示了用于共享应用程序状态的技术。根据本发明的一个方面,所述技术包含接收网络资源识别符(18),其指示托管网络应用程序(32)的网络服务器(30)的网址且包含指示所述网络应用程序的状态的一或多个参数(26)。所述技术还包含获得用于产生应用程序资源识别符(16)的指令集(22),所述指令集是基于所述网络资源识别符的第一部分而获得。所述技术进一步包含基于所述网络资源识别符及所述指令集确定一或多个参数值,及基于所述指令集及所述一或多个参数值产生应用程序资源识别符,所述应用程序资源识别符指示经由本机应用程序(124)访问的状态。
Description
技术领域
本发明涉及用于共享应用程序状态的技术。
背景技术
统一资源定位符(URL)是定义例如服务器的资源的网址的字符串。计算装置可使用URL访问资源,所述URL通常经解析以获得资源的IP地址。URL可为静态或动态的。静态URL引用具有静态状态的资源,例如,除非变化是硬编码到网页的代码中否则不会发生改变的网页。在由静态URL引用的资源发生更改的事件中,静态URL不会改变。动态URL引用具有动态状态的资源。经数据库驱动或执行动态脚本的网页可由动态URL引用。例如,提供经数据库驱动的搜索功能的网站可从请求计算装置接收搜索项并在动态网页(例如,具有取决于包含搜索项的一或多个变化参数的内容的网页)中提供对应于搜索项的搜索结果。此网页的动态URL可包含引用托管网页的网络服务器的静态部分,及描述或引用被用于产生动态网页的内容的参数的动态或可变部分。
动态URL允许用户将其他用户引导到资源的具体状态。例如,如果第一用户访问搜索引擎并搜索“泰国餐厅”,那么搜索引擎可利用例如搜索项及用户的计算装置的位置的参数来产生搜索结果。搜索结果可显示包含第一用户附近的泰国餐厅的结果且可产生包含用于确定搜索结果的参数的动态URL。以此方式,第一用户可将动态URL发送到第二用户,所述第二用户可通过使网络浏览器使用动态URL访问网页来浏览相同搜索结果。响应于网络浏览器向动态URL的静态部分中所引用的网络服务器传输网络请求,所述网络服务器可使用动态URL的可变部分中识别的参数执行搜索,且可将搜索结果提供给网络浏览器。
发明内容
本发明的一方面提供一种用于共享应用程序状态的方法。所述方法包含接收解析请求、基于信息产生应用程序资源识别符、基于信息产生网络资源识别符,及确定指令集,所述指令集指示用于访问本机应用程序及网络应用程序中的至少一者的指令,所有方法步骤可在处理装置处执行。解析请求包含对应于多平台应用程序的状态的信息,且可接收自远程计算装置。应用程序资源识别符指示对应于多平台应用程序及状态的本机应用程序。本机应用程序可由远程计算装置执行。网络资源识别符指示托管对应于多平台应用程序及状态的网络应用程序的网络服务器的网址。所述方法进一步包含在处理装置处将应用程序资源识别符、网络资源识别符及指令集传输到远程计算装置。
本发明的实施方案可包含以下特征中的一或多者。在一些实施方案中,多平台应用程序的状态是由一或多个参数值表示。所述一或多个参数值包含在信息中。此外或替代地,产生应用程序资源识别符可包含在处理装置处获得对应于多平台应用程序的应用程序资源识别符模板,应用程序资源识别符模板包含一或多个参数字段;用包含在信息中的一或多个参数值填充应用程序资源识别符模板的一或多个参数字段。
在一些实例中,产生网络资源识别符包含在处理装置处获得对应于多平台应用程序的网络资源识别符模板及用包含在信息中的一或多个参数值填充网络资源识别符模板的一或多个参数字段。网络资源识别符模板包含一或多个参数字段。此外或替代地,网络资源识别符可为动态统一资源定位符。
在一些实施方案中,指令集指示远程计算装置尝试访问本机应用程序及网络应用程序的次序。此外或替代地,指令集可指令远程计算装置只有在成功尝试启动应用程序资源识别符中指示的本机应用程序之后才访问网络资源识别符中指示的网络应用程序。
在一些实例中,应用程序资源识别符是基于信息产生的多个应用程序资源识别符中的一者。多个应用程序资源识别符中的每一者对应于经配置以在不同操作系统上执行的本机应用程序的版本。
本发明的另一方面提供一种用于共享应用程序状态的服务器。所述服务器包含通信装置及处理装置。通信装置经配置以与网络通信。处理装置经配置以接收解析请求、基于信息产生应用程序资源识别符、基于信息产生网络资源识别符、确定指示访问本机应用程序及网络应用程序中的至少一者的指令的指令集,及将应用程序资源识别符、网络资源识别符及指令集传输到远程计算装置。解析请求包含对应于多平台应用程序的状态的信息且可接收自远程计算装置。应用程序资源识别符指示对应于多平台应用程序及状态的本机应用程序。本机应用程序可由远程计算装置执行。网络资源识别符指示托管对应于多平台应用程序及状态的网络应用程序的网址或网络服务器。
在一些实例中,多平台应用程序的状态是由一或多个参数值表示。所述一或多个参数值包含在信息中。此外或替代地,服务器可其进一步包含存储用于产生应用程序资源识别符的多个模板的转换库。处理装置通过以下项产生包含一或多个参数字段的应用程序资源识别符:从转换库获得对应于多平台应用程序的应用程序资源识别符模板及用包含在信息中的一或多个参数值填充应用程序资源识别符模板的一或多个参数字段。
在一些实施方案中,服务器可进一步包含存储用于产生网络资源识别符的多个模板的转换库。处理装置通过以下项产生网络资源识别符:获得包含一或多个参数字段的网络资源识别符模板,及用包含在信息中的一或多个参数字段填充网络资源识别符模板的一或多个参数字段。此外或替代地,网络资源识别符可为动态统一资源定位符。
在一些实例中,指令集指示远程计算装置尝试访问本机应用程序及网络应用程序的次序。此外或替代地,指令集可指令远程计算装置只有在未成功尝试启动应用程序资源识别符中指示的本机应用程序之后才访问网络资源识别符中指示的网络应用程序。
在一些实施方案中,处理装置经配置以产生包含应用程序资源识别符的多个应用程序资源识别符。多个应用程序资源识别符中的每一者对应于经配置以在不同操作系统上执行的本机应用程序的版本。
在本发明的又一方面,提供一种用于访问多平台应用程序的状态的方法。多平台应用程序至少包含可由计算装置执行的本机应用程序及由网络服务器执行的网络应用程序。所述方法包含:接收到资源识别符服务器的链接、基于链接将解析请求传输到资源识别符服务器、响应于解析请求从资源识别符服务器接收应用程序资源识别符、网络资源识别符及指令集,及基于指令集、应用程序资源识别符及网络资源识别符访问本机应用程序及网络应用程序中的一者,所有方法步骤可在处理装置处执行。链接包含资源识别符服务器的第一网址及指示多平台应用程序的状态的信息。解析请求包含信息且请求对应于多平台应用程序的多个资源识别符。应用程序资源识别符指示本机应用程序及状态。网络资源识别符指示网络服务器的第二网址及状态。指令集指示用于访问多平台应用程序的进程。
在一些实例中,状态是由一或多个参数值表示。所述一或多个参数值包含在链接、解析请求、应用程序资源识别符及网络资源识别符中。网络资源识别符可为动态统一资源定位符。指令集可指示处理装置尝试访问本机应用程序及网络应用程序的次序。此外或替代地,指令集可指令处理装置只有在未成功尝试启动应用程序资源识别符中指示的本机应用程序之后才访问网络资源识别符中指示的网络应用程序。
在一些实施方案中,应用程序资源识别符是响应于解析请求接收的多个应用程序资源识别符中的一者。多个应用程序资源识别符中的每一者对应于经配置以在不同操作系统上执行的本机应用程序的版本。此外或替代地,指令集可指令处理装置确定正由处理装置执行的操作系统且尝试启动对应于操作系统的应用程序资源识别符。
在本发明的又一方面,提供一种用于共享应用程序状态的方法。所述方法包含:接收对应于多平台应用程序的状态的信息、基于信息产生应用程序资源识别符、基于信息产生网络资源识别符、确定指示访问本机应用程序及网络应用程序中的至少一者的指令的指令集,及基于指令集、应用程序资源识别符及网络资源识别符访问本机应用程序及网络应用程序中的一者,所有方法步骤可在处理装置处执行。应用程序资源识别符指示对应于多平台应用程序及状态的本机应用程序。本机应用程序可由处理装置执行。网络资源识别符指示托管对应于多平台应用程序及状态的网络应用程序的网络服务器的网址。指令集指示用于访问本机应用程序及网络应用程序中的至少一者的指令。
在一些实例中,多平台应用程序的状态是由一或多个参数值表示。所述一或多个参数值包含在信息中。此外或替代地,产生应用程序资源识别符可包含:获得对应于多平台应用程序的应用程序资源识别符模板,应用程序资源识别符模板包含一或多个参数字段;及用包含在信息中的一或多个参数值填充应用程序资源识别符模板的一或多个参数字段,所有方法步骤可在处理装置处执行。
在一些实例中,产生网络资源识别符包含:获得包含一或多个参数字段且对应于多平台应用程序的网络资源识别符模板,及用包含在信息中的一或多个参数值填充网络资源识别符模板的一或多个参数字段。指令集可指示处理装置尝试访问本机应用程序及网络应用程序的次序。此外或替代地,指令集可指令处理装置只有在未成功尝试启动应用程序资源识别符中指示的本机应用程序之后才访问网络资源识别符中指示的网络应用程序。
在本发明的又一方面,提供一种用于共享应用程序状态的方法。此方法包含在处理装置处接收网络资源识别符,其指示托管网络应用程序的网络服务器的网址且包含指示网络应用程序的状态的一或多个参数。所述方法包含在处理装置处获得用于产生应用程序资源识别符的指令集。指令集是基于网络资源识别符的第一部分而获得。所述方法包含在处理装置处基于网络资源识别符及指令集确定一或多个参数值。所述方法进一步包含在处理装置处基于指令集及一或多个参数值产生应用程序资源识别符。应用程序资源识别符指示经由本机应用程序访问的状态。
在一些实施方案中,所述方法进一步包含基于应用程序资源识别符及网络资源识别符访问本机应用程序及网络应用程序中的一者。获得指令集可包含:基于网络资源识别符的第一部分及预定路径产生对网络服务器的网络请求、将网络请求传输到网络服务器及接收指令集,所有方法步骤可在处理装置处执行。
指令集可指示:网络前缀,其指示网络资源识别符的静态部分的第一格式;本机前缀,其指示应用程序资源识别符的静态部分的第二格式;及变换。变换指示网络资源识别符的网络尾部的第三格式及应用程序资源识别符的网络尾部的第四格式。第三及第四格式分别指示一或多个参数在每一相应网络尾部中的位置。此外或替代地,确定一或多个参数值包含基于第三格式识别网络资源定位符中的一或多个参数及确定所识别参数中的每一者的参数值,所有方法步骤可在处理装置处执行。产生应用程序资源识别符包含在处理装置处基于第四格式将一或多个参数值插入到网络尾部中及将网络尾部增补到本机前缀。
在本发明的又一方面,提供一种计算装置。所述计算装置包含通信装置及处理装置。处理装置经配置以接收网络资源识别符、获得用于产生应用程序资源识别符的指令集、基于网络资源识别符及指令集确定一或多个参数值,及基于指令集及一或多个参数值产生应用程序资源识别符。网络资源识别符指示托管网络应用程序的网络服务器的网址,且包含指示网络应用程序的状态的一或多个参数。指令集是基于网络资源识别符的第一部分而获得。应用程序资源识别符指示经由本机应用程序访问的状态。
计算装置经进一步配置以基于应用程序资源识别符及网络资源识别符访问本机应用程序及网络应用程序中的一者。此外或替代地,计算装置可为用户计算装置。
在一些实例中,处理装置通过以下项获得指令集:产生对网络服务器的网络请求、将网络请求传输到网络服务器及接收指令集。网络服务器是基于网络资源识别符的第一部分及预定路径。
指令集指示:网络前缀,其指示网络资源识别符的静态部分的第一格式;本机前缀,其指示应用程序资源识别符的静态部分的第二格式;及变换。变换指示网络资源识别符的网络尾部的第三格式及应用程序资源识别符的网络尾部的第四格式。第三及第四格式分别指示一或多个参数在每一相应网络尾部中的位置。此外或替代地,处理装置可通过以下项确定一或多个参数值:基于第三格式识别网络资源定位符中的一或多个参数及确定所识别参数中的每一者的参数值。处理装置通过以下项产生应用程序资源识别符:基于第四格式将一或多个参数值插入到网络尾部中及将网络尾部增补到本机前缀。
附图及下文描述中陈述本发明的一或多个实施方案的细节。将从所述描述及图式以及权利要求书明白其它方面、特征及优点。
附图说明
图1是说明经配置以执行本机应用程序及网络浏览器的计算装置的图式,所述网络浏览器允许计算装置访问网络应用程序。
图2A到2E是说明用于在发送计算装置与接收计算装置之间共享应用程序状态的系统的图式。
图3是说明经配置以访问应用程序的所捕捉状态的计算装置的示意图。
图4是说明用于访问多平台应用程序的状态的方法的操作的实例布置的流程图。
图5是说明经配置以确定对应于多平台应用程序的状态的多个资源识别符的资源识别符服务器的示意图。
图6是说明用于确定对应于多平台应用程序的状态的资源识别符的方法的操作的实例布置的流程图。
图7是说明用于确定对应于多平台应用程序的状态的应用程序资源识别符的方法的操作的实例布置的流程图。
各个图式中的相似标号指示相似元件。
具体实施方式
例如智能电话、平板计算机和可穿戴式计算机的移动计算装置迅速成为用户用以访问网络资源(例如,网络服务器及应用服务器)的主要装置。此外,许多实体正在开发多平台应用程序,其允许移动计算装置(以及固定计算装置)的用户在变化的计算环境中访问应用程序的功能。多平台应用程序可包含一或多个“本机应用程序”及一或多个“网络应用程序”。本机应用程序是至少部分由移动或固定计算装置存储并执行的应用程序。“网络应用程序”是至少部分由网络服务器执行且由计算装置的网络浏览器访问的应用程序。例如,多平台应用程序的开发者可开发经设计以由一或多个具体操作系统(例如,由AppleInc.开发的iOS及由GoogleInc.开发的)执行的本机应用程序,及由网络服务器执行且由计算装置的网络浏览器访问的网络应用程序,使得本机应用程序及网络应用程序提供相同或类似功能。因此在一些实施方案中,术语“多平台应用程序”可能并非提及一个实际应用程序,而是提及一组实际应用程序,例如,本机应用程序及网络应用程序。
图1说明经配置以执行本机应用程序及网络浏览器的计算装置10的实例。网络浏览器允许计算装置10访问网络应用程序32。在所说明实例中,企业实体可给用户提供搜索各种服务并读取客户产生的评论的能力。为了提供此功能,实体可开发并提供用户可在计算装置10上直接访问的本机应用程序及用户可经由计算装置10的网络浏览器访问的网络应用程序32。使用本机应用程序或网络应用程序32,用户可输入搜索项且可接收对应于搜索项的结果以及其它参数,例如计算装置10的位置。当计算装置10执行本机应用程序时,本机应用程序可将包含搜索项的应用程序请求及任何其它额外参数传输到应用服务器20,其继而又通过提供搜索结果响应于应用程序请求。
借助于计算装置10的网络浏览器,用户访问对应的网络应用程序32。在此情形中,网络浏览器可将包含搜索项的网络请求及任何其它额外参数传输到网络服务器30,其继而又通过提供显示在网络浏览器中的搜索项响应于网络请求。搜索结果在显示于浏览器中时可由动态统一资源位置(URL)引用,借此在动态URL中指示用于确定搜索结果的参数。在所说明实例中,应用服务器20及网络服务器30两者均可用所接收参数中的一或多者查询搜索数据库40以确定搜索结果。
本发明涉及用于在计算装置之间10共享应用程序状态的技术。例如,在图1的实例中,计算装置10的用户可希望与另一用户共享由本机应用程序获得的搜索结果(即,本机应用程序的状态)。在一些实施方案中,应用程序的状态是以资源识别符的形式共享。资源识别符可包含对本机应用程序或服务于网络应用程序32的网络服务器30的引用及应用程序的状态,使得可从本机应用程序及/或网络应用程序32访问应用程序的状态。如本文使用,术语资源识别符可为任何基于字符的数字及/或字母数字串,其指示多平台应用程序、本机应用程序、网络应用程序32及/或任何其它类型的应用程序。资源识别符的实例包含应用程序资源识别符及网络资源识别符。应用程序资源识别符包含对本机应用程序的引用及应用程序的状态。网络资源识别符包含托管网络应用程序32的网络服务器30的网址及应用程序的状态。网络资源识别符的实例是动态URL。在一些实施方案中,应用程序的状态可由指示状态的一或多个参数值定义。例如,在搜索应用程序的背景中,定义状态的参数值可包含搜索项及请求计算装置10的位置。在媒体播放器应用程序的背景中,参数值可包含用户名、播放列表及/或正播放的媒体文件。应注意,本发明涉及具有可由一或多个参数值表示的状态的任何类型的多平台应用程序。
图2A说明用于在发送计算装置8与接收计算装置10之间共享应用程序状态的实例系统2A。虽然所说明实例将发送计算装置8及接收计算装置10描绘为移动计算装置,但是发送计算装置8及/或接收计算装置10可为固定计算装置及/或任何其它适当类型的计算装置。
在操作中,发送计算装置8的用户可希望共享本机应用程序或网络应用程序32的当前状态。用户可命令发送计算装置8捕捉本机应用程序或网络应用程序32的当前状态。用户可命令发送计算装置8将状态传输到另一用户或接收计算装置10。例如,用户可命令发送计算装置8用电子邮件、SMS消息或其它方式将本机或网络应用程序32的状态传输到另一用户或接收计算装置10。响应于此命令,发送计算装置8产生到资源识别符服务器50的链接12。链接12可包含资源识别符服务器50的网址及对应于多平台应用程序及其状态的信息。在一些实施方案中,链接12是动态URL,借此动态URL的静态部分是网络识别符服务器50的网址,且可变部分含有所述信息。所述信息可包含对多平台应用程序的引用及指示状态的一或多个参数。对多平台应用程序的引用的实例可包含多平台应用程序的名称、多平台应用程序的假名、多平台应用程序的缩写、与应用程序相关联的域名,及/或唯一地识别多平台应用程序与其它多平台应用程序的代码。指示状态的一或多个参数取决于应用程序而改变。例如,基于搜索的应用程序的状态可包含搜索项、用户的用户名、发送计算装置8的位置及/或任何其它适当参数。视频游戏的状态可包含用户名、当前等级及/或任何其它适当参数。音乐共享应用程序的状态可包含播放列表识别符、播放列表中的歌名、用户名及/或任何其它适当参数。
发送计算装置8可以任何适当方式捕捉状态。在一些实施方案中,发送计算装置8的操作系统可包含应用编程接口(API)命令,其允许本机应用程序或网络浏览器在从用户接收此请求时捕捉其当前状态。在被调用时,操作系统、本机应用程序或网络浏览器可捕捉应用程序的当前参数,其接着被编码到链接12中。API可定义链接12的具体格式使得所有链接12是以一致方式产生。
发送计算装置8可接着将链接12传输到用户(例如电子邮件)或接收计算装置10(例如SMS消息)。应注意,到“用户”的传输包含到与用户相关联的账户的传输,使得可从任何数目的计算装置访问所述账户。虽然链接12被示为直接传达到接收计算装置10,但是可存在可促进将此类链接传输到接收计算装置10的额外装置,例如电子邮件服务器、SMS服务器、卫星及/或各种网络。此外或替代地,链接12可经由短程传输协议(例如或近场通信(“NFC”))直接传达到接收计算装置10。
接收计算装置10接收链接12并将解析请求14传输到资源识别符服务器50,资源识别符服务器50的网址提供在链接12中。解析请求14可包含提供在链接12中的信息,例如对多平台应用程序的引用及定义应用程序的所捕捉状态的一或多个参数。如本文使用,术语“解析请求”可包含对资源识别符服务器50的任何请求,其请求一或多个资源识别符且引用应用程序(例如,多平台应用程序、本机应用程序或网络应用程序32)及应用程序的状态。可从链接12确定对应用程序的引用及应用程序的状态。
资源识别符服务器50接收解析请求14并基于解析请求14中含有的信息确定对应于多平台应用程序的多个资源识别符。在一些实施方案中,资源识别符服务器50确定一或多个应用程序资源识别符16及一或多个网络资源识别符18。应用程序资源识别符16可包含对本机应用程序的引用及指示多平台应用程序的所捕捉状态的一或多个参数。网络资源识别符18包含托管网络应用程序32的网络服务器30的网址及指示所捕捉状态的一或多个参数。在一些实施方案中,网络资源识别符18是动态URL。资源识别符服务器50进一步确定指令集22。指令集22包含命令接收计算装置10访问本机应用程序及网络应用程序32中的一者的指令。例如,指令集22可使接收计算装置10首先尝试打开本机应用程序,且如果没有发现本机应用程序,那么尝试访问网络服务器30处的网络应用程序32。资源识别符服务器50将应用程序资源识别符16、网络资源识别符18及指令集22传输到接收计算装置10。
接收计算装置10接收应用程序资源识别符16、网络资源识别符18及指令集22并根据指令集22访问应用程序。如果指令集22指令接收计算装置10首先尝试访问本机应用程序,那么接收计算装置10尝试启动应用程序资源识别符16中指示的本机应用程序。如果成功,那么接收计算装置10可必须将所述一或多个参数提供到应用服务器20以访问本机应用程序上的先前所捕捉状态。然而,一些本机应用程序可不需要访问应用服务器20,使得可通过本机应用程序使用所述一或多个参数来脱机访问所捕捉状态。如果接收计算装置10不能启动本机应用程序,那么接收计算装置10可将网络请求提供给网络服务器30,所述网络请求包含基于网络资源识别符18的一或多个参数。例如,如果网络资源识别符18是动态URL,那么接收计算装置10的网络浏览器可根据已知协议访问动态URL中指示的网络服务器30。
现描述根据本发明的一些实施方案的系统2A的说明实例。根据实例,发送计算装置8的用户执行称作ZYXplayer的音乐播放器本机应用程序。在此实例中,ZYXplayer的功能还可经由从位于网址www.ZYXplayer.com处的网络服务器30服务的网络应用程序32加以利用。如果用户希望发送他当前收听的播放列表到另一用户,那么用户可命令ZYXplayer本机应用程序捕捉应用程序的当前状态。ZYXplayer本机应用程序可捕捉ZYXplayer的状态,包含例如用户的用户名(例如JohnDoe)及播放列表识别符(例如播放列表编号1234)。ZYXplayer本机应用程序或发送计算装置8的操作系统可接着基于应用程序及应用程序的状态产生到资源识别符服务器50的链接。例如,如果资源识别符服务器50具有www.appURL.org的域名,那么到资源识别符服务器50的链接12可为“http://www.AppURL.org/mpappinfo?application=zyxplayer&username=JohnDoe&playlistid=1234”。用户可命令发送计算装置8将链接12传输到另一用户或另一用户的接收计算装置10。例如,用户可将链接12“剪切并粘贴”到电子邮件或SMS消息中或可命令ZYXplayer本机应用程序直接将链接12发送到用户或接收计算装置10。
接收计算装置10接收链接12并将解析请求14传输到资源识别符服务器50。在此实例中,解析请求14可包含对“ZYXplayer”的引用、“JohnDoe”的用户名参数及“1234”的播放列表参数。在一些实施方案中,解析请求14可包含额外信息,例如接收计算装置10的操作系统类型。
资源识别符服务器50基于解析请求14中接收的信息产生两个或两个以上资源识别符。资源识别符服务器50可产生识别已知ZYXplayer本机应用程序的一或多个应用程序资源识别符16及识别ZYXplayer网络应用程序32的一或多个网络资源识别符18。例如,资源识别符服务器50可产生以下实例应用程序资源识别符16:“ZYXplayer::iOS::username=JohnDoe&playlist=1234”及“ZYXplayer::ANDROID::username=JohnDoe&playlist=1234”。在此实例中,应用程序资源识别符16引用本机应用程序的iOS及版本。然而,在一些实施方案中,资源识别符服务器50可经配置以只产生对应于接收计算装置10的操作系统的单个应用程序资源识别符16。资源识别符服务器50进一步产生以下实例网络资源识别符18:http://www.ZYXplayer.com/state?username=JohnDoe&playlistid=1234。以此方式,资源识别符服务器50已产生接收计算装置10可用来访问ZYXplayer多平台应用程序的功能以获得JoneDoe的播放列表1234的资源识别符。
资源识别符服务器50经进一步配置以确定指令集22以发送到接收计算装置10。在此实例中,指令集22可为指令接收计算装置10确定其操作系统且接着打开由对应于其操作系统的应用程序资源识别符16识别的本机应用程序的指令集。如果接收计算装置10不能打开本机应用程序,那么指令集22可进一步指令接收计算装置10将网络请求传输到网络资源识别符18中识别的网址。
资源识别符服务器50将应用程序资源识别符16、网络资源识别符18及指令集22传输到接收计算装置10。接收计算装置10可执行指令集22,借此首先尝试启动ZYXplayer本机应用程序。如果接收计算装置10成功地启动ZYXplayer本机应用程序,那么接收计算装置10可接着尝试从ZYXplayer应用服务器20检索JohnDoe的播放列表1234。然而,如果接收计算装置10不能启动ZYXplayer本机应用程序,那么接收计算装置10可启动网络浏览器(如果还未启动)并将网络请求传输到位于地址http://www.ZYXplayer.com处的网络服务器30,使得网络请求包含用户名及播放列表识别符参数。响应于网络请求,ZYXplayer网络服务器30可在ZYXplayer网络应用程序32中提供JohnDoe的播放列表1234。
图2B说明用于在发送计算装置8与接收计算装置10之间共享应用程序状态的替代系统2B。在图2B的变动中,发送计算装置8捕捉应用程序的状态并将解析请求14发送到资源识别符服务器50。资源识别符服务器50确定应用程序资源识别符16、网络资源识别符18及指令集22并将其传输到接收计算装置10。在此变动中,解析请求14进一步指示接收者用户或接收计算装置10,使得资源识别符服务器50可已知将应用程序资源识别符16、网络资源识别符18及指令集22传输到何处。资源识别符服务器50可将应用程序资源识别符16、网络资源识别符18及指令集22捆绑到被发送到接收计算装置10或用户的电子邮件账户的脚本中,使得用户可起始脚本以访问多平台应用程序的状态。
图2C说明用于在发送计算装置8与接收计算装置10之间共享应用程序状态的替代系统2C。在图2C的变动中,发送计算装置8捕捉应用程序的状态并将解析请求14发送到资源识别符服务器50。资源识别符服务器50确定应用程序资源识别符16、网络资源识别符18及指令集22并将其传输回到发送计算装置8。在此变动中,解析请求14无需指示接收者用户或接收计算装置10,因为应用程序资源识别符16、网络资源识别符18及指令集22已被返回到发送计算装置8。发送计算装置8在接收到应用程序资源识别符16、网络资源识别符18及指令集22时可将其传输到接收者用户或接收计算装置10。资源标识服务器50可将应用程序资源识别符16、网络资源识别符18及指令集22捆绑到被发送到发送计算装置8的脚本中,发送计算装置8继而又可将脚本转发到接收计算装置10。
图2D说明用于在发送计算装置8与接收计算装置10之间共享应用程序状态的替代系统2D。在图2D的变动中,发送计算装置8捕捉应用程序的状态,并基于所捕捉状态确定应用程序资源识别符16、网络资源识别符18及指令集22。在确定了应用程序资源识别符16、网络资源识别符18及指令集22时,发送计算装置8将其传输到接收计算装置10。发送计算装置8可将应用程序资源识别符16、网络资源识别符18及指令集22捆绑到被发送到接收计算装置10的脚本中。
图2E说明用于在发送计算装置8与接收计算装置10之间共享应用程序状态的替代系统2E。在图2E的变动中,发送计算装置8捕捉应用程序的状态并将对多平台应用程序的引用24及指示所捕捉状态的一或多个参数26发送到接收计算装置10。接收计算装置接着基于对多平台应用程序的引用24及一或多个参数26确定应用程序资源识别符16、网络资源识别符18及指令集22。
前述实例只是作为实例而提供且不旨在有所限制。系统2A、2B、2C、2D及2E可经配置以允许共享任何类型的应用程序的应用程序状态。此外,应用程序资源识别符16、网络资源识别符18及指令集22只是作为实例而提供且不旨在限制本发明的范围。
图3说明经配置以访问应用程序的所捕捉状态的计算装置10的实例。在所说明实例中,计算装置10是包含处理装置110、用户接口112、通信装置114及存储器装置116的移动计算装置。计算装置10还可包含额外或替代组件。虽然被描绘为移动计算装置,但是计算装置10也可替代地为固定计算装置或任何其它适当计算装置。
处理装置110包含一或多个物理处理器及存储由一或多个处理器执行的计算机可读指令的一或多个计算机可读媒体(例如只读存储器及/或随机存取存储器)。在其中处理装置110包含两个或两个以上处理器的实施方案中,处理器可以分布式或个别方式执行。处理装置110可执行计算装置10的操作系统120。操作系统120可执行网络浏览器122及一或多个本机应用程序124。操作系统120经进一步配置以处置至用户接口112及通信装置114的输入/来自用户接口112及通信装置114的输出。操作系统120还可管理存储器装置116上的数据存储。
用户接口112可包含提供输出给用户及/或从用户接收输入的一或多个装置。用户接口112可包含但不限于触摸屏、触控板、键盘、鼠标、显示装置、麦克风及/或扬声器中的一或多者。
通信装置114包含经配置以经由网络发送并接收数据的一或多个适当装置。通信装置114可使用任何已知或未来开发的通信标准来执行无线或有线通信。在一些实施方案中,通信装置114可包含经配置以使用IEEE802.11无线协议执行无线通信的一或多个天线及/或经配置以根据移动电信技术标准(例如,2G、3G或4G)中的任何一者执行无线通信的一或多个天线。在一些实施方案中,通信装置114包含用于执行有线通信的一或多个端口。通信装置114使得计算装置10能够与应用服务器20、网络服务器30、资源识别符服务器50及任何其它网络装置通信。
存储器装置116可包含一或多个存储媒体。存储媒体的实例可包含但不限于硬盘驱动器、光盘驱动器及闪速存储器。存储器装置116可存储包括本机应用程序124的计算机可读指令以及任何其它适当数据。
在操作中,操作系统120从另一装置接收链接12。如先前讨论,可在例如电子邮件、SMS消息或独立应用程序中接收链接12。在接收到链接12时,操作系统120可自动地“打开”网络浏览器122中的链接12或用户可选择经由用户接口112打开链接。
网络浏览器122分析链接12,并识别资源识别符服务器50的域名及包含对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26的信息。网络浏览器122接着将解析请求14传输到资源识别符服务器50。网络浏览器122产生解析请求14,使得对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26包含在解析请求14中。响应于解析请求14,网络浏览器122接收两个或两个以上资源识别符,例如应用程序资源识别符16及网络资源识别符18及指令集22。如先前讨论,指令集22可为指示用于访问本机应用程序124及网络应用程序32中的一者的次序的指令集。例如,指令可使网络浏览器122首先尝试启动地址资源识别符16中指示的本机应用程序124。当网络浏览器122成功地启动本机应用程序124时,网络浏览器122可将应用程序资源识别符16中的一或多个参数26传递到本机应用程序124。然而,如果计算装置10不具有安装在其上的本机应用程序124的版本,那么网络浏览器122尝试启动本机应用程序124可能不成功。如果网络浏览器122不能启动本机应用程序124,那么指令集22可命令网络浏览器122向网络资源识别符18中指示的网络服务器30请求网络应用程序32。在一些实施方案中,指令集22可进一步命令网络浏览器122向用户显示购买或以其它方式获得本机应用程序124的选项。指令集22可指令网络浏览器122执行并未明确提及的其它动作。此外,指令集22无需由网络浏览器122执行;相反地,指令集22可由操作系统120或本机应用程序124执行。应注意,虽然已描绘并描述网络浏览器122,但是可连接到网络服务器30或应用服务器20的任何适当客户端可实施在图3的计算装置10上。
图3的计算装置10只是作为实例而提供且不旨在限制本发明的范围。预期计算装置10的变动且计算装置10的变动是在本发明的范围内。
图4说明用于访问多平台应用程序的状态的方法150的操作的实例布置。在一些实施方案中,方法150是由计算装置10的处理装置110执行。
在操作160处,计算装置10接收到资源识别符服务器50的链接12。可在到用户(例如,电子邮件)或计算装置10(例如,SMS消息)的通信中接收链接12,或可通过网络浏览器122在例如网页中接收链接12。链接12可为或可包含动态URL,使得动态URL的域名部分引用资源识别符服务器50,且继域名之后的部分包含对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26。
在操作164处,网络浏览器122或操作系统120将解析请求14传输到资源识别符服务器50。解析请求14包含对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26。在一些实施方案中,解析请求14可进一步包含正由计算装置10执行的操作系统的类型。解析请求14的传输可由用户经由计算装置10的用户接口112或由操作系统120或网络浏览器122自动地起始。
在操作168处,网络浏览器122或操作系统120从资源识别符服务器50接收一或多个应用程序资源识别符16、一或多个网络资源识别符18及指令集22。如先前讨论,应用程序资源识别符16可包含本机应用程序124的识别符及用于访问应用程序的状态的一或多个参数26。在一些实施方案中,每一应用程序资源识别符16可进一步包含所识别本机应用程序124经配置用于的操作系统的类型。此外或替代地,每一应用程序资源识别符16可包含本机应用程序124的版本。例如,如果本机应用程序124是以“免费版本”及“收费版本”提供,那么应用程序资源识别符16中的一者可识别本机应用程序124的免费版本且应用程序资源识别符16中的另一者可识别本机应用程序124的收费版本。
网络资源识别符18可包含服务于网络应用程序32的网络服务器30的网址及用于访问应用程序的状态的一或多个参数26。在一些实施方案中,每一网络资源识别符18是动态URL,使得用于访问状态的一或多个参数26包含在URL的可变部分中。应注意,网络资源识别符18可此外或替代地包含托管网络应用程序32的网络服务器30的IP地址。在可从移动网站及“完整版本”网站访问网络应用程序32的情形中,第一网络资源识别符18可指示对应于移动网站的网址且第二网络资源识别符18可指示对应于完整版本网站的网址。
指令集22可包含向网络浏览器122或操作系统120提供借以访问本机应用程序124及网络应用程序32的次序的指令。例如,指令集22可指令网络浏览器122首先尝试启动本机应用程序124的收费版本,接着当操作系统120不能启动本机应用程序124的收费版本时尝试启动“免费版本”。在此情形中,指令集22可定义用于打开应用程序资源识别符16的次序。类似地,指令集22可指令网络浏览器122确定操作系统类型,并打开对应于针对相同类型的操作系统配置的本机应用程序124的应用程序资源识别符16。如果操作系统122不能启动本机应用程序124,那么指令集22可进一步指令网络浏览器122访问网络应用程序32。在一些实施方案中,指令集22是代码或呈另一解释编程语言或脚本语言的其它代码。在一些实施方案中,指令集22是呈编译语言的代码。
在操作172处,网络浏览器122或操作系统120基于指令集22及所接收的资源识别符访问本机应用程序124及网络应用程序32中的一者。例如,网络浏览器122可执行指令集22(例如,代码)并尝试启动本机应用程序124。如果成功,那么网络浏览器122可将包含在应用程序资源识别符16中的一或多个参数值传递到已启动的应用程序。如果不成功,那么网络浏览器122可被指令启动网络应用程序32。在此情形中,网络浏览器122提供网络请求给网络资源识别符18中指示的网络服务器30,网络请求包含指示应用程序的状态的一或多个参数26。通过执行指令集22,计算装置能够访问多平台应用程序在链接12中最初指示的状态下的功能。
方法150只是作为实例而提供且不旨在有所限制。预期方法150的变动且方法150的变动是在本发明的范围内。例如,方法150可经改变使得计算装置10并不实际提供解析请求14给资源识别符服务器50。在此类实施方案中,发送计算装置8可提供解析请求14给资源识别符服务器50,且计算装置10从资源识别符服务器50或发送计算装置8接收应用程序资源识别符16、网络资源识别符18及指令集22。
现在参考图5,说明资源识别符服务器50的实例。虽然展示了一个资源识别符服务器50,但是术语“资源识别符服务器”是指以个别或分布式方式操作的一或多个物理机器。在所说明实例中,资源识别符服务器50包含但不限于处理装置210、通信装置212及存储器装置214。处理装置210可执行请求分析模块216及识别符产生模块218。存储器装置214可存储转换库220。
处理装置210包含一或多个物理处理器及存储由一或多个处理器执行的计算机可读指令的一或多个计算机可读媒体(例如只读存储器及/或随机存取存储器)。在其中处理装置210包含两个或两个以上处理器的实施方案中,处理器可以分布式或个别方式执行。
通信装置212包含经配置以经由网络发送并接收数据的一或多个适当装置。通信装置212可使用任何已知或未来开发的通信标准来执行有线及/或无线通信。
存储器装置214可包含一或多个存储媒体。存储媒体的实例可包含但不限于硬盘驱动器、光盘驱动器、磁带驱动器及闪速存储器。如提及,存储器装置214存储转换库220。转换库220可存储用于产生资源识别符的模板或变换。模板可定义对应于本机或网络应用程序32的资源识别符的结构且包含由应用程序接受且由参数值填充的一或多个参数字段。例如,用于产生ZYXplayer本机应用程序的应用程序资源识别符16的模板可具有以下格式:ZYXplayer::<Operating_System>::username=<用户名>&playlist=<playlist_number>,其中<Operating_System>、<用户名>及<playlist_number>是用实际参数值填充的参数字段。类似地,用于产生对应于ZYXplayer网络应用程序32的网络资源识别符18的模板可具有以下格式:http://www.ZYXplayer.com/username=<username>&playlistid=<playlist_number>。在一些实施方案中,模板可包含定义模板的各种属性或字段的参数值的规则。例如,规则可定义特定参数的可接受值。应注意,模板或变换可被分解为前缀部分及动态部分或“网络尾部”部分。此外,由本发明提供的格式只是作为实例而提供且不旨在限制本发明的范围。
多平台应用程序的每一应用程序开发者可注册对应于多平台应用程序的数据,其包含用于产生资源识别符的模板、用于使用模板的规则及对应于多平台应用程序的额外元数据。例如,应用程序开发者可注册多平台应用程序的名称、应用程序资源识别符16的格式、网络资源识别符18的格式、出现在应用程序资源识别符16中的本机应用程序124的名称、本机应用程序124经配置以在其上执行的操作系统、服务于网络应用程序32的网络服务器30的域名、可包含在资源识别符中的参数26的不同类型及/或不同类型的参数26的可接受变量类型。在一些实施方案中,转换库220被实施为数据库,使得可至少按多平台应用程序名称搜索转换库220。响应于接收到对特定多平台应用程序的查询,转换库220可返回用于产生特定多平台应用程序的资源识别符的规则及/或模板。
在一些实施方案中,转换库220可进一步存储指令集22或用于产生指令集22的指令集模板。在此类实施方案中,每一开发者可提供用于访问多平台应用程序的状态的指令。例如,每一开发者可提交代码,其定义网络浏览器122或操作系统120如何访问多平台应用程序的状态。在此类情形中,指令集22可存储在转换库220中且可链接到其对应多平台应用程序的条目。在一些实施方案中,指令集22是可用于任何多平台应用程序的通用指令集。以下提供通用指令集的伪代码实例:
分析应用程序资源识别符;
从应用程序资源识别符识别本机应用程序名称;
从应用程序资源识别符识别一或多个参数;
用一或多个参数启动本机应用程序;
如果成功地启动本机应用程序,那么结束脚本;
否则,将网络请求传输到网络资源识别符中指示的网址;
结束;
在另一实例中,资源识别符服务器50可确定多个应用程序资源识别符16,使得每一应用程序资源识别符16对应于不同操作系统类型。以下提供此情形的伪代码实例:
确定装置的操作系统类型;
识别具有操作系统类型的应用程序资源识别符;
分析所识别的应用程序资源识别符;
从应用程序资源识别符识别本机应用程序名称;
从应用程序资源识别符识别一或多个参数;
用一或多个参数启动本机应用程序;
如果成功地启动本机应用程序,那么结束脚本;
否则,将网络请求传输到网络资源识别符中指示的网址;
结束;
前述伪代码实例只是作为实例而提供且不旨在有所限制。实例可被实施为呈任何适当程序设计或脚本语言的指令集22。
在操作中,请求分析模块216经由通信装置212从计算装置10接收解析请求14。响应于接收到解析请求14,请求分析模块216从解析请求14提取多平台应用程序的引用24(例如,名称)及一或多个参数26。
识别符产生模块218产生应用程序资源识别符16及网络资源识别符18。在一些实施方案中,识别符产生模块218从请求分析模块216获得对多平台应用程序的引用24及一或多个参数26。识别符产生模块218用对多平台应用程序的引用24查询转换库220。转换库220返回对应于多平台应用程序的模板。在一些实施方案中,转换库220返回可对于特定多平台应用程序产生的每一可能资源识别符的模板。例如,如果ZYXplayer应用程序包含用于iOS及的本机应用程序124,那么转换库220可返回用于产生用于本机应用程序124的iOS版本的应用程序资源识别符16的第一模板、用于产生用于本机应用程序124的版本的应用程序资源识别符16的第二模板,及用于产生用于ZYX播放器应用程序的网络应用程序32版本的网络资源识别符18的第三模板。替代地,转换库220可返回用于应用程序资源识别符16的单个模板,借此识别符产生模块218可通过用其上可执行本机应用程序124的各种操作系统填充定义操作系统类型的参数字段产生多个应用程序资源识别符16。在获得模板时,识别符产生模块218通过用从解析请求14提取的一或多个参数值填充模板的参数字段来产生各种资源识别符。
识别符产生模块218可进一步确定连同资源识别符一起传输的指令集。指令集22可为通用指令集22或多平台应用程序所特有的指令集22。此外,在一些实施方案中,识别符产生模块218可经配置以将一或多个地址资源识别符及一或多个网络资源识别符18插入到指令集22中。识别符产生模块218可经由通信装置212将一或多个应用程序资源识别符16、一或多个网络资源识别符18及指令集22传输到请求计算装置10。
图5的资源识别符服务器50只是作为实例而提供且不旨在限制本发明的范围。预期资源识别符服务器50的变动且资源识别符服务器50的变动是在本发明的范围内。
图6说明用于确定对应于多平台应用程序的状态的资源识别符的方法250的操作的实例布置。在一些实施方案中,方法250是由资源识别符服务器50的计算装置210执行。
在操作260处,请求分析模块216接收并分析解析请求14。如先前讨论,解析请求14包含定义对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26的信息。请求分析模块216可识别对多平台应用程序的引用24以及一或多个参数26,请求分析模块216可将引用24及一或多个参数26提供给识别符产生模块218。
在操作264处,识别符产生模块218获得用于产生资源识别符的模板。识别符产生模块218可用对多平台应用程序的引用24查询转换库220。转换库220返回对应于多平台应用程序的模板,且在一些实施例中返回应用于模板的规则。
在操作268处,识别符产生模块218基于信息及模板产生至少一个应用程序资源识别符16及至少一个网络资源识别符18。如先前讨论,每一模板包含至少一个参数字段。因此,识别符产生模块218用解析请求14中接收的一或多个参数值填充每一所检索模板的参数字段。在其中应用程序开发者提供在不同操作系统上执行的本机应用程序124的情形中,识别符产生模块218可产生一个以上应用程序资源识别符16,使得每一应用程序资源识别符16对应于本机应用程序124的不同版本。类似地,在应用程序开发者维护移动网站及“完整版本”网站的情况下,识别符产生模块218可产生对应于移动网站的第一网络资源识别符18及对应于完整版本网站的第二网络资源识别符18。
在操作272处,识别符产生模块218确定用于访问多平台应用程序的状态的指令集22。如先前讨论,指令集22可为关于任何数目的多平台应用程序的通用指令集。在此类实施方案中,识别符产生模块218从存储器装置214检索通用指令集。在其中每一指令集22经配置用于特定多平台应用程序的实施方案中,识别符产生模块218可从例如转换库220检索关于多平台应用程序的指令集22。在一些实施方案中,识别符产生模块218可进一步将所产生的资源识别符插入到指令集22中。
在操作276处,识别符产生模块218将一或多个应用程序资源识别符16、一或多个网络资源识别符18及指令集22传输到计算装置10。
图6的方法250只是作为实例而提供且不旨在有所限制。此外,预期方法250的变动且方法250的变动是在本发明的范围内。例如,方法250可经修改以在用户计算装置10上执行。在此类实施方案中,用户计算装置10可从发送计算装置8接收对多平台应用程序的引用24及一或多个参数26,且可脱机产生资源识别符。在此类实施方案中,转换库220及识别符产生模块218可由计算装置10的处理装置110执行。
如先前讨论,用户计算装置10或8可经配置以确定对应于应用程序状态的资源识别符。例如,图2E说明经配置以确定对应于应用程序状态的一或多个资源识别符的用户计算装置10。在此类实施方案中,用户计算装置10可执行客户端,例如网络浏览器122或应用程序资源识别符客户端。用户计算装置10可接收对多平台应用程序的引用24及指示应用程序的状态的一或多个参数26。在一些实施方案中,可以动态URL的形式接收引用24及参数26。用户计算装置10可基于引用24及参数26确定应用程序资源识别符16。例如,用户计算装置10可接收对ZYXplayer应用程序的引用24及一或多个参数26。基于引用24,计算装置10的客户端可产生应用程序资源识别符16并启动ZYXplayer本机应用程序。
在一些此类实施方案中,用户计算装置10可将网络请求传输到由引用24指示的网络服务器30。网络请求可包含网络服务器30的文件系统中的指令集(例如,代码)的路径。响应于接收到网络请求,网络服务器30将存储在由路径指示的位置处的指令集22提供到用户计算装置10。用户计算装置10接收指令集22并基于指令集22及所接收的参数26产生应用程序资源识别符16。用户计算装置10接着可尝试使用应用程序资源识别符16或网络资源识别符18访问应用程序。
指令集22可提供包含用于产生应用程序资源识别符16的格式或模板的变换。此外,变换可包含用于产生网络资源识别符18的格式或模板。变换可为包含用于产生资源识别符16的格式或模板的对象。例如,变换可包含用于产生应用程序资源识别符16的模板,包含如何从网络资源识别符16分析参数26并将参数26格式化为应用程序资源识别符16。指令集22还可包含以下字段:应用程序的名称;对应于网络应用程序32的网络前缀;对应于本机应用程序124的本机前缀;变换的标题;识别应用程序的主页的网络资源识别符18的主页的变换的描述;识别底层应用程序的图标图像的图标识别符;及各种版次(edition)数据。网络前缀可提供网络资源识别符18的根,例如对应于网络应用程序32的域名。在一些实施方案中,网络前缀可匹配网络请求被传输到的资源识别符。本机前缀是应用程序资源识别符16的根。本机前缀指示将要启动的本机应用程序124。版次数据可包含:指示用户可在其中下载应用程序的页面的下载资源识别符、本机应用程序124的各种版次已被编程用于的操作系统、每一版次的名称及每一版次的图标资源识别符。
图7说明用于访问可由用户计算装置10且特定地说与用户计算装置10相关联的客户端(例如,网络浏览器122)执行的应用程序的状态的方法300的操作的实例集合。虽然为了解释目的参考网络浏览器122,但是客户端可能是指例如操作系统级API函数、程序设计库函数、网络浏览器122的附加组件、扩展或插件、在加载时间运行且追溯地尝试在本机应用程序124中打开网页URL的在应用程序的网站上执行的程序,及/或拦截在指向特定应用程序域的超链接上的点击事件的网页上的函数。
在操作310处,用户计算装置10接收网络资源识别符18。网络资源识别符18可接收自另一用户计算装置8或远程服务器,例如搜索引擎。网络资源识别符18可包含网络服务器30的网址及指示应用程序的状态的一或多个参数26。例如,用户计算装置10可接收葡萄相关主题的微博应用程序的网络资源识别符18,例如http://grapes.example.com/concord.html?u=Jenny&c=red。在此实例中,微博应用程序也可经由本机应用程序124访问。
在操作312处,网络浏览器122可产生对网络服务器30的网址的网络请求。网络请求可包含到指令集22的路径。例如,网络浏览器122可在网络请求中包含路径“appurl.json”,使得指令集22的网络资源识别符18是呈http://grapes.example.com/appurl.json形式的静态URL。应注意,在一些实施方案中,网络服务器30可预留到指令集22的预定路径(例如,appurl.json),使得可在[domain_name]/appurl.json处访问任何网络服务器30的指令集22。
在操作314处,网络浏览器122从网络服务器30接收指令集22。如先前提及,指令集22可包含网络前缀、本机前缀及一或多个变换。在葡萄微博应用程序的实例中,指令集22可包含以下指令:
指令集22包含网络前缀、本机前缀及变换的定义。在此实例中,由葡萄微博应用程序接收的参数26包含页面、用户及颜色。变换提供用于将参数26包含在应用程序资源识别符16及网络资源识别符18中的格式或模板。前述指令集22只是作为实例而提供。
在操作316处,网络浏览器122基于指令集22识别网络资源识别符18中的参数26。在一些实施方案中,网络浏览器122基于指令集22中含有的网络前缀字段识别网络资源识别符18的域名部分。网络资源识别符18的剩余部分(例如,网络资源识别符18的“动态部分”或“网络尾部”)可与域名部分隔离。网络浏览器122可扫描网络资源识别符18的网络尾部以基于定义在变换中的网络资源识别符18的网络尾部部分的格式确定各种参数值。在接下来的实例中,网络浏览器122可推断葡萄微博应用程序接收“页面”参数、“颜色”参数及“用户”参数。此外,在所接收的网络资源识别符18中,参数值是页面=“concord”;颜色=“红色”;且用户=“Jenny”。
在操作318处,网络浏览器122可基于指令集22及一或多个参数26产生应用程序资源识别符16。网络浏览器122可用应用程序的本机前缀取代网络资源识别符18的动态部分。在接下来的实例中,网络浏览器122可用“grapes.example.com:pages/”取代“http://grapes.example.com/”。换句话来说,网络浏览器122可基于指令集22中定义的本机前缀产生应用程序资源识别符16的静态部分。网络浏览器122可将参数值插入到变换中定义的本机应用程序124的网络尾部部分的格式中。继续上述实例,本机应用程序124的网络尾部部分可呈“concord/Jenny?col=red”的形式。网络浏览器122可通过增补网络尾部到本机前缀来产生应用程序资源识别符16。在此实例中,应用程序资源识别符16是:“grapes.example.com:pages/concord/Jenny?col=red”。
在操作320处,网络浏览器122访问由一或多个参数26指示的状态下的应用程序。网络浏览器122可首先尝试使用应用程序资源识别符16启动本机应用程序124。如果未成功,那么网络浏览器122可使用所接收的网络资源识别符18访问网络应用程序32。在一些实施方案中,指令集22可包含网络浏览器122借以尝试访问应用程序的次序。例如,如果变换包含一个以上本机前缀(例如,本机应用程序124的不同版次的变换),那么指令集22可包含用于在尝试启动第二本机版本(例如,应用程序的免费版本)之前尝试启动第一本机应用程序124(例如,应用程序的收费版本)的指令,且如果两次尝试均未成功,那么访问网络应用程序32。
应注意,虽然参看图7描述的技术是关于用户计算装置10加以描述,但是所述技术亦可由资源识别符服务器50实施。此外,虽然图7的操作是关于网络浏览器122描述,但是应注意所述操作可由任何适当客户端执行。例如,操作可由经配置以打开应用程序资源识别符16的应用程序资源识别符客户端执行。
如所描述,在一些实施方案中,计算装置10上的客户端接收用于产生应用程序资源识别符16的指令(例如,a.json文件)。在此类实施方案中,指令可从应用程序提供者的网络服务器30(如图7的实施方案中讨论)传递或可从第三方(例如,图5的资源识别符服务器50)传递。
应注意,本发明进一步涉及拓宽当前资源识别方案以包含本机应用程序124。以此方式,操作系统可实施http触发的应用程序启动。根据http触发的应用程序启动,操作系统可经配置以自动地启动应用程序而不执行变换。例如,在操作系统中,经配置用于的应用程序可利用意图特征以执行http触发的应用程序启动。在另一实例中,经编程用于应用程序的应用程序可注册调用筛选器以执行http触发的应用程序启动。以此方式,单个引用方案(例如,静态及动态URL)可用于以类似于客户端使用静态或动态URL访问网页的方式启动本机应用程序124。
这里描述的系统及技术的各个实施方案可以数字电子及/或光学电路、集成电路、经特殊设计的ASIC(专用集成电路)、计算机硬件、固件、软件及/或其组合实现。此类各个实施方案可包含可在包含至少一个可编程处理器的可编程系统上执行及/或解释的一或多个计算机程序中的实施方案,所述可编程处理器可为专用或通用的,其经耦合以从存储系统、至少一个输入装置及至少一个输出装置接收数据及指令,及将数据及指令传输到存储系统、至少一个输入装置及至少一个输出装置。
此类计算机程序(又称作程序、软件、软件应用程序或代码)包含用于可编程处理器的机器指令,且可以高级程序及/或面向对象的程序设计语言及/或汇编/机器语言实施。如本文使用,术语“机器可读媒体”及“计算机可读媒体”是指用于提供机器指令及/或数据给可编程处理器的任何计算机程序产品、非暂时性计算机可读媒体、设备及/或装置(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包含接收作为机器可读信号的机器指令的机器可读媒体。术语“机器可读信号”是指用于提供机器指令及/或数据给可编程处理器的任何信号。
本说明书中描述的主题及功能操作的实施方案可以数字电子电路或计算机软件、固件或硬件(包含本说明书中揭示的结构及其结构等效物)或其中的一或多者的组合实施。此外,本说明书中描述的主题可被实施为一或多个计算机程序产品,即,编码在计算机可读媒体上以供数据处理设备执行或控制数据处理设备的操作的计算机程序指令的一或多个模块。计算机可读媒体可为机器可读存储装置、机器可读存储衬底、存储器装置、实现机器可读传播信号的物质的组合物或其中的一或多者的组合。术语“数据处理设备”、“计算装置”及“计算处理器”涵盖用于处理数据的所有设备、装置及机器,包含(例如)可编程处理器、计算机或多个处理器或计算机。除了硬件以外,所述设备还可包含产生用于正讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议堆栈、数据库管理系统、操作系统或其中的一或多者的组合的代码。传播信号是人工产生的信号,例如,经产生以编码信息以便传输到适当接收器设备的机器产生的电、光学或电磁信号。
计算机程序(又称作应用程序、程序、软件、软件应用程序、脚本或代码)可以程序设计语言(包含编译或解释语言)的任何形式写入,且其可以任何形式部署,包含被部署为独立程序或模块、组件、子常式或适用于在计算环境中使用的其它单元。计算机程序不一定对应于文件系统中的文件。程序可存储在保存其它程序或数据(例如存储在标记语言文档中的一或多个脚本)的文件的部分中、专用于正讨论的程序的单个文件中或多个协调文件(例如,存储一或多个模块、子程序或代码的部分的文件)中。计算机程序可被部署为在一个计算机或多个计算机上执行,所述多个计算机位于一个位区处或跨多个位区分布且由通信网络互连。
本说明书中描述的程序及逻辑流可由一或多个可编程处理器执行,所述可编程处理器执行一或多个计算机程序以通过作用于输入数据及产生输出来执行功能。程序及逻辑流还可由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,且设备也可被实施为所述专用逻辑电路。
适用于执行计算机程序的处理器包含,例如,通用及专用微处理器两者及任何种类的数字计算机的任何一或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令及数据。计算机的基本元件是用于执行指令的处理器及用于存储指令及数据的一或多个存储器装置。通常,计算机还将包含用于存储数据的一或多个大容量存储装置(例如,磁盘、磁光盘或光盘),或操作地耦合以从一或多个大容量存储装置接收数据或将数据传送到一或多个大容量存储装置,或两者。然而,计算机不一定具有此类装置。此外,计算机可被嵌入在另一装置(例如,只举少数几个实例,移动电话、个人数字助手(PDA)、移动音频播放器、全球定位系统(GPS)接收器)中。适用于存储计算机程序指令及数据的计算机可读媒体包含所有形式的非易失性存储器、媒体及存储器装置,包含(例如)半导体存储器装置,例如,EPROM、EEPROM及闪速存储器装置;磁盘,例如,内置硬盘或可抽换式磁盘;磁光盘;及CDROM及DVD-ROM光盘。处理器及存储器可由专用逻辑电路增补或并入在专用逻辑电路中。
为提供与用户的交互,本发明的一或多个方面可实施于计算机上,所述计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏)且任选地具有键盘及定点装置,例如,鼠标或轨迹球,用户可通过其提供输入给计算机。其它种类的装置还可用于提供与用户的交互;例如,提供给用户的反馈可为任何形式的传感反馈,例如,视觉反馈、听觉反馈或触觉反馈;及来自用户的输入可以任何形式接收,包含声音、语音或触觉输入。此外,计算机可通过以下项与用户交互:发送文档到由用户使用的装置且从所述装置接收文档;例如,通过响应于接收自网络浏览器的请求发送网页到用户的客户端装置上的网络浏览器。
本发明的一或多个方面可实施于计算系统中,所述计算系统包含后台组件(例如,作为数据服务器)或包含中间件组件(例如,应用服务器)或包含前端组件(例如,具有图形用户接口或网络浏览器的客户端计算机,通过图形用户接口或网络浏览器,用户可与本说明书中描述的主题的实施方案交互)或一或多个此类后台、中间件或前端组件的任何组合。系统的组件可由数字数据通信(例如,通信网络)的任何形式或媒体互连。通信网络的实例包含局域网(“LAN”)及广域网(“WAN”)、跨网(例如,因特网)及对等网络(例如,点对点对等网络)。
计算系统可包含客户端及服务器。客户端及服务器通常彼此远距且通常通过通信网络交互。客户端及服务器的关系借助于在相应计算机上运行且彼此之间具有客户端-服务器关系的计算机程序而出现。在一些实施方案中,服务器将数据(例如,HTML页面)传输到客户端装置(例如,用于向与客户端装置交互的用户显示数据及从所述用户接收用户输入的目的)。产生于客户端装置处的数据(例如,用户交互的结果)可接收自服务器处的客户端装置。
虽然本说明书含有许多细节,但是此类细节不应被解释为限制本发明的范围或权利要求书,反而应描述为本发明的特定实施方案所特有的特征。本说明书中在独立实施方案的背景中描述的某些特征还可组合地在单个实施方案中实施。相反地,单个实施方案的背景中描述的各种特征还可在多个实施方案中单独地或以任何适当子组合实施。此外,虽然特征在上文被描述为作用于某些组合且甚至最初也是如此要求的,但是来自所要求组合的一或多个特征在一些情况中可从所述组合除去,且所要求组合可针对子组合或子组合的变动。
类似地,虽然在图式中以特定次序描绘操作,但是不应将此理解为要求以所示特定次序或以顺序次序执行此类操作或执行所有所说明的操作以实现所需结果。在某些境况中,多任务处理及并行处理可能是有利的。此外,上文描述实施例中的各种系统组件的分离不应被理解为要求在所有实施例中进行此分离,而应理解为所描述的程序组件及系统通常可一起集成在单个软件产品中或封装到多个软件产品中。
已描述了多个实施方案。然而,将了解,在不脱离本发明的精神及范围的情况下可作出各种修改。因此,其它实施方案是在以下权利要求书的范围内。例如,权利要求书中叙述的动作可以不同次序执行且仍然实现所需结果。
Claims (44)
1.一种方法,其包括:
在处理装置(110)处接收网络资源识别符(18),其指示托管网络应用程序(32)的网络服务器(30)的网址且包含指示所述网络应用程序(32)的状态的一或多个参数(26);
在所述处理装置(110)处获得用于产生应用程序资源识别符(16)的指令集(22),所述指令集(22)是基于所述网络资源识别符(18)的第一部分而获得;
在所述处理装置(110)处基于所述网络资源识别符(18)及所述指令集(22)确定一或多个参数值;以及
在所述处理装置(110)处基于所述指令集(22)及所述一或多个参数值产生应用程序资源识别符(16),所述应用程序资源识别符(16)指示经由本机应用程序(124)访问的所述状态。
2.根据权利要求1所述的方法,其进一步包括基于所述应用程序资源识别符(16)及所述网络资源识别符(18)访问所述本机应用程序(124)及所述网络应用程序(32)中的一者。
3.根据权利要求1所述的方法,其中获得所述指令集(22)包含:
在所述处理装置(110)处基于所述网络资源识别符(18)的所述第一部分及预定路径产生对所述网络服务器(30)的网络请求;
在所述处理装置(110)处将所述网络请求传输到所述网络服务器(30);以及
在所述处理装置(110)处接收所述指令集(22)。
4.根据权利要求1所述的方法,其中所述指令集(22)指示:网络前缀,其指示所述网络资源识别符(18)的静态部分的第一格式;本机前缀,其指示所述应用程序资源识别符(16)的静态部分的第二格式;以及变换,所述变换指示所述网络资源识别符(18)的网络尾部的第三格式及所述应用程序资源识别符(16)的网络尾部的第四格式,其中所述第三及第四格式分别指示所述一或多个参数(26)在每一相应网络尾部中的位置。
5.根据权利要求4所述的方法,其中确定所述一或多个参数值包含:
在所述处理装置(110)处基于所述第三格式识别网络资源定位符中的所述一或多个参数(26);以及
在所述处理装置(110)处确定所述所识别参数(26)中的每一者的所述参数值。
6.根据权利要求4所述的方法,其中产生所述应用程序资源识别符(16)包含:
在所述处理装置(110)处基于所述第四格式将所述一或多个参数值插入到所述网络尾部中;以及
在所述处理装置(110)处将所述网络尾部增补到所述本机前缀。
7.一种计算装置(10),其包括:
通信装置(114);
处理装置(110),其经配置以:
接收网络资源识别符(18),其指示托管网络应用程序(32)的网络服务器(30)的网址且包含指示所述网络应用程序(32)的状态的一或多个参数(26);
获得用于产生应用程序资源识别符(16)的指令集(22),所述指令集(22)是基于所述网络资源识别符(18)的第一部分而获得;
基于所述网络资源识别符(18)及所述指令集(22)确定一或多个参数值;以及
基于所述指令集(22)及所述一或多个参数值产生应用程序资源识别符(16),所述应用程序资源识别符(16)指示经由本机应用程序(124)访问的所述状态。
8.根据权利要求7所述的计算装置(10),其中所述计算装置(10)经进一步配置以基于所述应用程序资源识别符(16)及所述网络资源识别符(18)访问所述本机应用程序(124)及所述网络应用程序(32)中的一者。
9.根据权利要求8所述的计算装置(10),其中所述计算装置(10)是用户计算装置(10)。
10.根据权利要求7所述的计算装置(10),其中所述处理装置(110)通过以下项获得所述指令集(22):
基于网络资源识别符(18)的所述第一部分及预定路径产生对所述网络服务器(30)的网络请求;
将所述网络请求传输到所述网络服务器(30);以及
接收所述指令集(22)。
11.根据权利要求7所述的计算装置(10),其中所述指令集(22)指示:网络前缀,其指示所述网络资源识别符(18)的静态部分的第一格式;本机前缀,其指示所述应用程序资源识别符(16)的静态部分的第二格式;以及变换,所述变换指示网络资源识别符(18)的网络尾部的第三格式及所述应用程序资源识别符(16)的网络尾部的第四格式,其中所述第三及第四格式分别指示所述一或多个参数(26)在每一相应网络尾部中的位置。
12.根据权利要求11所述的计算装置(10),其中所述处理装置(110)通过以下项确定所述一或多个参数值:
基于所述第三格式识别网络资源定位符中的所述一或多个参数(26);以及
确定所述所识别参数(26)中的每一者的所述参数值。
13.根据权利要求12所述的计算装置(10),其中所述处理装置(110)通过以下项产生所述应用程序资源识别符(16):
基于所述第四格式将所述一或多个参数值插入到所述网络尾部中;以及
将所述网络尾部增补到所述本机前缀。
14.一种方法,其包括:
在处理装置(210)处接收解析请求(14),所述解析请求(14)包含对应于多平台应用程序的状态的信息;
在所述处理装置(210)处基于所述信息产生应用程序资源识别符(16),所述应用程序资源识别符(16)指示对应于所述多平台应用程序及所述状态的本机应用程序(124),所述本机应用程序(124)可由远程计算装置(10)执行;
在所述处理装置(210)处基于所述信息产生网络资源识别符(18),所述网络资源识别符(18)指示托管对应于所述多平台应用程序及所述状态的网络应用程序(32)的网络服务器的网址;
在所述处理装置(210)处确定指令集(22),所述指令集(22)指示访问所述本机应用程序(124)及所述网络应用程序(32)中的至少一者的指令;以及
在所述处理装置(210)处将所述应用程序资源识别符(16)、所述网络资源识别符(18)及所述指令集(22)传输到所述远程计算装置(10)。
15.根据权利要求14所述的方法,其中所述多平台应用程序的所述状态是由一或多个参数值表示,所述一或多个参数值包含在所述信息中。
16.根据权利要求15所述的方法,其中产生所述应用程序资源识别符(16)包含:
在所述处理装置(210)处获得对应于所述多平台应用程序的应用程序资源识别符模板,所述应用程序资源识别符模板包含一或多个参数字段;以及
在所述处理装置(210)处用包含在所述信息中的所述一或多个参数值填充所述应用程序资源识别符模板的所述一或多个参数字段。
17.根据权利要求14所述的方法,其中产生所述网络资源识别符(18)包含
在所述处理装置(210)处获得对应于所述多平台应用程序的网络资源识别符模板,所述网络资源识别符模板包含一或多个参数字段;以及
在所述处理装置(210)处用包含在所述信息中的所述一或多个参数值填充所述网络资源识别符模板的所述一或多个参数字段。
18.根据权利要求17所述的方法,其中所述网络资源识别符(18)是动态统一资源定位符。
19.根据权利要求13所述的方法,其中所述指令集(22)指示所述远程计算装置(10)尝试访问所述本机应用程序(124)及所述网络应用程序(32)的次序。
20.根据权利要求19所述的方法,其中所述指令集(22)指令所述远程计算装置(10)只有在未成功尝试启动所述应用程序资源识别符(16)中指示的所述本机应用程序(124)之后才访问所述网络资源识别符(18)中指示的所述网络应用程序(32)。
21.根据权利要求13所述的方法,其中所述应用程序资源识别符(16)是基于所述信息产生的多个应用程序资源识别符(16)中的一者,所述多个应用程序资源识别符(16)中的每一者对应于经配置以在不同操作系统上执行的所述本机应用程序(124)的版本。
22.根据权利要求13所述的方法,其中所述解析请求(14)是接收自所述远程计算装置(10)。
23.一种服务器(50),其包括:
通信装置(212),其经配置以与网络通信;
处理装置(210),其经配置以:
接收解析请求(14),所述解析请求(14)包含对应于多平台应用程序的状态的信息;
基于所述信息产生应用程序资源识别符(16),所述应用程序资源识别符(16)指示对应于所述多平台应用程序及所述状态的本机应用程序(124),所述本机应用程序(124)可由远程计算装置(10)执行;
基于所述信息产生网络资源识别符(18),所述网络资源识别符(18)指示托管对应于所述多平台应用程序及所述状态的网络应用程序(32)的网络服务器(30)的网址;
确定指令集(22),所述指令集(22)指示访问所述本机应用程序(124)及所述网络应用程序(32)中的至少一者的指令;以及
将所述应用程序资源识别符(16)、所述网络资源识别符(18)及所述指令集(22)传输到所述远程计算装置(10)。
24.根据权利要求23所述的服务器(50),其中所述多平台应用程序的所述状态是由一或多个参数值表示,所述一或多个参数值包含在所述信息中。
25.根据权利要求24所述的服务器(50),其进一步包括存储用于产生资源识别符的多个模板的转换库(220),
其中所述处理装置(210)通过以下项产生所述应用程序资源识别符(16):
从所述转换库(220)获得对应于所述多平台应用程序的应用程序资源识别符模板,所述应用程序资源识别符模板包含一或多个参数字段;以及
用包含在所述信息中的所述一或多个参数值填充所述应用程序资源识别符模板的所述一或多个参数字段。
26.根据权利要求24所述的服务器(50),其进一步包括存储用于产生资源识别符的多个模板的转换库(220),
其中所述处理装置(210)通过以下项产生所述网络资源识别符(18):
获得对应于所述多平台应用程序的网络资源识别符模板,所述网络资源识别符模板包含一或多个参数字段;以及
用包含在所述信息中的所述一或多个参数值填充所述网络资源识别符模板的所述一或多个参数字段。
27.根据权利要求26所述的服务器(50),其中所述网络资源识别符(18)是动态统一资源定位符。
28.根据权利要求23所述的服务器(50),其中所述指令集(22)指示所述远程计算装置(10)尝试访问所述本机应用程序(124)及所述网络应用程序(32)的次序。
29.根据权利要求28所述的服务器(50),其中所述指令集(22)指令所述远程计算装置(10)只有在未成功尝试启动所述应用程序资源识别符(16)中指示的所述本机应用程序(124)之后才访问所述网络资源识别符(16)中指示的所述网络应用程序(32)。
30.根据权利要求23所述的服务器(50),其中所述处理装置(210)经配置以产生包含所述应用程序资源识别符(16)的多个应用程序资源识别符(16),所述多个应用程序资源识别符(16)中的每一者对应于经配置以在不同操作系统上执行的所述本机应用程序(124)的版本。
31.根据权利要求23所述的服务器(50),其中所述解析请求(14)是接收自所述远程计算装置(10)。
32.一种用于访问多平台应用程序的指定状态的方法,所述多平台应用程序至少包含可由计算装置(10)执行的本机应用程序(124)及由网络服务器(30)执行的网络应用程序(32),所述方法包括:
在计算装置(110)的处理装置(210)处接收到资源识别符服务器的链接,所述链接包含所述资源识别符服务器的第一网址及指示所述多平台应用程序的状态的信息;
在所述处理装置(210)处基于所述链接将解析请求(14)传输到所述资源识别符服务器,所述解析请求(14)包含所述信息且请求对应于所述多平台应用程序的多个资源识别符;
在所述处理装置(210)处响应于所述解析请求(14)从所述资源识别符服务器接收应用程序资源识别符(16)、网络资源识别符(18)及指令集(22),所述应用程序资源识别符(16)指示所述本机应用程序(124)及所述状态,所述网络资源识别符(18)指示所述网络服务器(30)的第二网址及所述状态,且所述指令集(22)指示用于访问所述多平台应用程序的进程;以及
在所述处理装置(210)处基于所述指令集(22)、所述应用程序资源识别符(16)及所述网络资源识别符(18)访问所述本机应用程序(124)及所述网络应用程序(32)中的一者。
33.根据权利要求32所述的方法,其中所述状态是由一或多个参数值表示,所述一或多个参数值包含在所述链接、所述解析请求(14)、所述应用程序资源识别符(16)及所述网络资源识别符(18)中。
34.根据权利要求32所述的方法,其中所述网络资源识别符(18)是动态统一资源定位符。
35.根据权利要求32所述的方法,其中所述指令集(22)指示所述处理装置(210)尝试访问所述本机应用程序(124)及所述网络应用程序(30)的次序。
36.根据权利要求35所述的方法,其中所述指令集(22)指令所述处理装置(210)只有在未成功尝试启动所述应用程序资源识别符(16)中指示的所述本机应用程序(124)之后才访问所述网络资源识别符(18)中指示的所述网络应用程序(30)。
37.根据权利要求32所述的方法,其中所述应用程序资源识别符(16)是响应于所述解析请求(14)接收的多个应用程序资源识别符(16)中的一者,所述多个应用程序资源识别符(16)中的每一者对应于经配置以在不同操作系统上执行的所述本机应用程序(124)的版本。
38.根据权利要求37所述的方法,其中所述指令集(22)指令所述处理装置(210)确定正由所述处理装置(210)执行的操作系统且尝试启动对应于所述操作系统的所述应用程序资源识别符(16)。
39.一种方法,其包括:
在处理装置(110)处接收对应于多平台应用程序的状态的信息;
在所述处理装置(110)处基于所述信息产生应用程序资源识别符(16),所述应用程序资源识别符(16)指示对应于所述多平台应用程序及所述状态的本机应用程序(124),所述本机应用程序(124)可由所述处理装置(110)执行;
在所述处理装置(110)处基于所述信息产生网络资源识别符(18),所述网络资源识别符(18)指示托管对应于所述多平台应用程序及所述状态的网络应用程序(32)的网络服务器(30)的网址;
在所述处理装置(110)处确定指令集(22),所述指令集指示用于访问所述本机应用程序(124)及所述网络应用程序(32)中的至少一者的指令;以及
在所述处理装置(110)处基于所述指令集(22)、所述应用程序资源识别符(16)及所述网络资源识别符(18)访问所述本机应用程序(124)及所述网络应用程序(32)中的一者。
40.根据权利要求39所述的方法,其中所述多平台应用程序的所述状态是由一或多个参数值表示,所述一或多个参数值包含在所述信息中。
41.根据权利要求40所述的方法,其中产生所述应用程序资源识别符(16)包含:
在所述处理装置(110)处获得对应于所述多平台应用程序的应用程序资源识别符模板,所述应用程序资源识别符模板包含一或多个参数字段;以及
在所述处理装置(110)处用包含在所述信息中的所述一或多个参数值填充所述应用程序资源识别符模板的所述一或多个参数字段。
42.根据权利要求40所述的方法,其中产生所述网络资源识别符(18)包含
在所述处理装置(110)处获得对应于所述多平台应用程序的网络资源识别符模板,所述网络资源识别符模板包含一或多个参数字段;以及
在所述处理装置(110)处用包含在所述信息中的所述一或多个参数值填充所述网络资源识别符模板的所述一或多个参数字段。
43.根据权利要求39所述的方法,其中所述指令集(22)指示所述处理装置(110)尝试访问所述本机应用程序(124)及所述网络应用程序(32)的次序。
44.根据权利要求43所述的方法,其中所述指令集(22)指令所述处理装置只有在未成功尝试启动所述应用程序资源识别符(16)中指示的所述本机应用程序(124)之后才访问所述网络资源识别符(18)中指示的所述网络应用程序(32)。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361769945P | 2013-02-27 | 2013-02-27 | |
US61/769,945 | 2013-02-27 | ||
US13/954,874 US9553919B2 (en) | 2013-02-27 | 2013-07-30 | Techniques for sharing application states |
US13/954,874 | 2013-07-30 | ||
PCT/US2014/018733 WO2014134189A1 (en) | 2013-02-27 | 2014-02-26 | Sharing application states |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105122237A true CN105122237A (zh) | 2015-12-02 |
Family
ID=51389359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480010859.9A Pending CN105122237A (zh) | 2013-02-27 | 2014-02-26 | 共享应用程序状态 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9553919B2 (zh) |
EP (1) | EP2962216B1 (zh) |
CN (1) | CN105122237A (zh) |
WO (1) | WO2014134189A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516295A (zh) * | 2015-12-03 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 网络请求处理方法和装置 |
CN107180049A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 搜索方法及装置 |
CN110493175A (zh) * | 2019-07-01 | 2019-11-22 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和存储介质 |
CN111666512A (zh) * | 2019-03-07 | 2020-09-15 | 北京嗨动视觉科技有限公司 | 服务器信息收发方法、装置和系统 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10061796B2 (en) * | 2014-03-11 | 2018-08-28 | Google Llc | Native application content verification |
JP6388375B2 (ja) * | 2014-06-04 | 2018-09-12 | キヤノン株式会社 | 情報処理装置及びその制御方法 |
US10210263B1 (en) * | 2014-06-24 | 2019-02-19 | Google Llc | Native application search results |
US20160036923A1 (en) * | 2014-08-03 | 2016-02-04 | Microsoft Corporation | Efficient Migration of Application State Information |
US20160048319A1 (en) * | 2014-08-18 | 2016-02-18 | Microsoft Technology Licensing, Llc | Gesture-based Access to a Mix View |
US9621650B2 (en) * | 2014-09-30 | 2017-04-11 | Google Inc | Mobile application state identifier framework |
US20160132205A1 (en) * | 2014-11-07 | 2016-05-12 | Ebay Inc. | System and method for linking applications |
US20160188742A1 (en) * | 2014-12-30 | 2016-06-30 | Quixey, Inc. | Bookmarking Search Results |
US10063510B2 (en) * | 2015-03-24 | 2018-08-28 | Facebook, Inc. | Techniques to share and remix media through a messaging system |
US10101878B2 (en) * | 2015-07-06 | 2018-10-16 | Microsoft Technology Licensing, Llc | Sharing map context including result cards |
US9891970B2 (en) | 2015-09-03 | 2018-02-13 | Facebook, Inc. | Techniques to share application data through a messaging system |
CN106775790B (zh) * | 2015-11-19 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 一种控件调用方法以及装置 |
US10223400B2 (en) | 2015-12-17 | 2019-03-05 | Facebook, Inc. | Techniques to configure media packages |
US20170185617A1 (en) * | 2015-12-29 | 2017-06-29 | Quixey, Inc. | Data Object Based Application State Sharing Methods for User Devices |
US10257284B2 (en) * | 2015-12-30 | 2019-04-09 | Samsung Electronics Co., Ltd. | Broadcasting local function templates to proximate mobile computing devices |
US9984132B2 (en) * | 2015-12-31 | 2018-05-29 | Samsung Electronics Co., Ltd. | Combining search results to generate customized software application functions |
CN109992424B (zh) * | 2017-12-29 | 2024-04-02 | 北京华胜天成科技股份有限公司 | 本地网络的业务关联关系的确定方法及装置 |
US11144720B2 (en) * | 2019-08-26 | 2021-10-12 | Roblox Corporation | Determining canonical content for a game |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1492656A (zh) * | 2002-10-25 | 2004-04-28 | �Ҵ���˾ | 在多通道上共享应用程序会话信息的方法、装置和系统 |
US20040122925A1 (en) * | 2002-12-20 | 2004-06-24 | Udo Offermann | Enabling access to an application through a network portal |
US20050066037A1 (en) * | 2002-04-10 | 2005-03-24 | Yu Song | Browser session mobility system for multi-platform applications |
CN1945535A (zh) * | 2005-08-23 | 2007-04-11 | 捷讯研究有限公司 | 在电子设备之间传送软件状态的方法和系统 |
US20070106721A1 (en) * | 2005-11-04 | 2007-05-10 | Philipp Schloter | Scalable visual search system simplifying access to network and device functionality |
CN101067812A (zh) * | 2006-12-21 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种保持网页当前数据信息的方法及系统 |
CN102202355A (zh) * | 2011-05-24 | 2011-09-28 | 上海聚力传媒技术有限公司 | 一种用于在用户设备间切换当前网络应用的方法与设备 |
CN102739627A (zh) * | 2011-04-14 | 2012-10-17 | 深圳市快播科技有限公司 | 视频切换播放方法及系统 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527882B2 (en) * | 1998-06-12 | 2013-09-03 | Gregory J. Swartz | System and method for iconic software environment management |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US9176754B2 (en) | 2008-07-16 | 2015-11-03 | Google Inc. | Method and system for executing applications using native code modules |
WO2011160139A1 (en) | 2010-06-18 | 2011-12-22 | Sweetlabs, Inc. | Systems and methods for integration of an application runtime environment into a user computing environment |
US20110320475A1 (en) | 2010-06-25 | 2011-12-29 | Nokia Corporation | Methods, apparatuses and computer program products for extending the capabilities of platform-independent applications on devices |
US8433800B2 (en) * | 2011-02-28 | 2013-04-30 | Mskynet Inc. | Smart link system and method |
US8762360B2 (en) * | 2011-05-06 | 2014-06-24 | Microsoft Corporation | Integrating applications within search results |
US8171137B1 (en) | 2011-05-09 | 2012-05-01 | Google Inc. | Transferring application state across devices |
US8640093B1 (en) * | 2011-06-24 | 2014-01-28 | Amazon Technologies, Inc. | Native web server for cross-platform mobile apps |
US9201946B2 (en) | 2012-04-26 | 2015-12-01 | Quixey, Inc. | Application representation for application editions |
US9372901B2 (en) | 2012-04-27 | 2016-06-21 | Quixey, Inc. | Searching for software applications based on application attributes |
US9569500B2 (en) | 2012-04-27 | 2017-02-14 | Quixey, Inc. | Providing a customizable application search |
US9600530B2 (en) | 2012-04-27 | 2017-03-21 | Quixey, Inc. | Updating a search index used to facilitate application searches |
US9552414B2 (en) | 2012-05-22 | 2017-01-24 | Quixey, Inc. | Dynamic filtering in application search |
US9002821B2 (en) * | 2013-01-16 | 2015-04-07 | Google Inc. | Indexing application pages of native applications |
US9135346B2 (en) * | 2013-06-07 | 2015-09-15 | Google Inc. | Index data for native applications |
-
2013
- 2013-07-30 US US13/954,874 patent/US9553919B2/en active Active
-
2014
- 2014-02-26 EP EP14757403.2A patent/EP2962216B1/en active Active
- 2014-02-26 WO PCT/US2014/018733 patent/WO2014134189A1/en active Application Filing
- 2014-02-26 CN CN201480010859.9A patent/CN105122237A/zh active Pending
-
2017
- 2017-01-23 US US15/413,300 patent/US10027742B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066037A1 (en) * | 2002-04-10 | 2005-03-24 | Yu Song | Browser session mobility system for multi-platform applications |
CN1492656A (zh) * | 2002-10-25 | 2004-04-28 | �Ҵ���˾ | 在多通道上共享应用程序会话信息的方法、装置和系统 |
US20040122925A1 (en) * | 2002-12-20 | 2004-06-24 | Udo Offermann | Enabling access to an application through a network portal |
CN1945535A (zh) * | 2005-08-23 | 2007-04-11 | 捷讯研究有限公司 | 在电子设备之间传送软件状态的方法和系统 |
US20070106721A1 (en) * | 2005-11-04 | 2007-05-10 | Philipp Schloter | Scalable visual search system simplifying access to network and device functionality |
CN101067812A (zh) * | 2006-12-21 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种保持网页当前数据信息的方法及系统 |
CN102739627A (zh) * | 2011-04-14 | 2012-10-17 | 深圳市快播科技有限公司 | 视频切换播放方法及系统 |
CN102202355A (zh) * | 2011-05-24 | 2011-09-28 | 上海聚力传媒技术有限公司 | 一种用于在用户设备间切换当前网络应用的方法与设备 |
Non-Patent Citations (2)
Title |
---|
RENATA BANDELLONI: "User Interface Migration of Web Applications with Task continuity and Platform Adaptation Support", 《PISA UNIVERSITY》 * |
刘晨亮,刘利章,扬艺山: "多点应用程序共享方案的设计", 《微型机与应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516295A (zh) * | 2015-12-03 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 网络请求处理方法和装置 |
CN107180049A (zh) * | 2016-03-11 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 搜索方法及装置 |
CN107180049B (zh) * | 2016-03-11 | 2020-12-18 | 阿里巴巴集团控股有限公司 | 搜索方法及装置 |
CN111666512A (zh) * | 2019-03-07 | 2020-09-15 | 北京嗨动视觉科技有限公司 | 服务器信息收发方法、装置和系统 |
CN111666512B (zh) * | 2019-03-07 | 2024-02-02 | 北京嗨动视觉科技有限公司 | 服务器信息收发方法、装置和系统 |
CN110493175A (zh) * | 2019-07-01 | 2019-11-22 | 联想(北京)有限公司 | 一种信息处理方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20140244786A1 (en) | 2014-08-28 |
EP2962216A1 (en) | 2016-01-06 |
US9553919B2 (en) | 2017-01-24 |
US20170134480A1 (en) | 2017-05-11 |
US10027742B2 (en) | 2018-07-17 |
EP2962216A4 (en) | 2016-11-16 |
EP2962216B1 (en) | 2019-11-13 |
WO2014134189A1 (en) | 2014-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105122237A (zh) | 共享应用程序状态 | |
CN109145078B (zh) | 对本机应用的应用页面建索引 | |
EP3161678B1 (en) | Deep links for native applications | |
US10713324B2 (en) | Search results for native applications | |
US20220035600A1 (en) | API Specification Generation | |
CN102393857B (zh) | 一种用网页进行本地调用的方法和系统 | |
US9547721B2 (en) | Native application search results | |
US9594477B1 (en) | Using deep links to restore interactive state of a web page | |
CN105074700A (zh) | 产生含有到应用程序的状态链接的搜索结果 | |
CN103577597A (zh) | 基于当前浏览页面的关键词搜索系统 | |
CN103577595A (zh) | 基于当前浏览页面的关键词推送方法及装置 | |
CN103577596A (zh) | 基于当前浏览页面的关键词搜索方法及装置 | |
CN103577392A (zh) | 基于当前浏览页面的关键词推送方法及装置 | |
US20230106266A1 (en) | Indexing Access Limited Native Applications | |
CN103838862A (zh) | 一种视频搜索的方法、装置及终端 | |
AU2016101498B4 (en) | Data Interchange System | |
EP3304293A1 (en) | Code caching system | |
CN111666074B (zh) | 一种web应用定制的方法、相关装置及系统 | |
CN113590985B (zh) | 页面跳转配置方法、装置、电子设备和计算机可读介质 | |
CN113645506A (zh) | 一种图片合成方法、装置、电子设备及存储介质 | |
NZ625325B2 (en) | Data interchange system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180110 Address after: Gyeonggi Do, South Korea Applicant after: Samsung Electronics Co., Ltd. Address before: American California Applicant before: QUIXEY INC. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151202 |