在多装置间连续浏览内容的制作方法

文档序号:7796427阅读:140来源:国知局
在多装置间连续浏览内容的制作方法
【专利摘要】本公开涉及在多装置间连续浏览内容。提供了用于将浏览器数据从桌面网络客户(例如,桌面网络浏览器)自动同步化至移动装置上的网络客户的配置。特别是,包括在所述桌面网络客户上一个或多个访问网页的导航历史数据的会话数据可与移动装置同步化。一开始,来自所述桌面网络客户的会话数据可在网络上接收。在一些配置中,通知然后可被传输至移动装置,以用于指示会话数据是可用于与所述移动装置上的移动网络客户同步化。然后所述会话数据被传输至所述移动网络客户。在所述移动装置上,所接收的会话数据可显示在所述移动网络客户的窗口。
【专利说明】在多装置间连续浏览内容
[0001]本申请是申请号为201210520842.0、 申请日期:为2012年12月6日、发明名称为
“在多装置间连续浏览内容”的申请的分案申请。
【技术领域】
[0002]本公开涉及在多装置间连续浏览内容。
【背景技术】
[0003]在已知的网络客户(例如,网络浏览器冲,可在所述网络客户中显示网络内容。例如,网络内容可包括文字以及图形(例如,图像或照片,等等)的混合物。不同的网络客户可用于显示网络内容。例如,桌面网络客户可显示网络内容。在另一个范例中,在移动装置上的移动网络客户可显示网络内容。

【发明内容】

[0004]本主题技术允许自动同步化来自一个或多个网络客户的会话数据。本主题技术决定了来自所述一个或多个网络客户的更新会话数据是否是可用的。更新的会话数据指示了所述一个或多个网络客户上的浏览活动,且包括基于用户输入的网页窗体元素数据。然后,如果所述更新的会话数据是可用的,本主题技术在网络上从所述一个或多个网络客户接收更新的会话数据。
[0005]本主题技术还允许存储来自一个或多个网络客户的会话数据,以用于与第一网络客户同步化。本主题技术决定了在所述一个或多个网络客户中的更新会话数据是否是可用的,其中所述更新会话数据包括基于用户输入的网页窗体元素数据。然后,如果所述更新会话数据是可用的,本主题技术传输用于所述更新会话数据的请求。然后从所述一个或多个网络客户接收所述更新会话数据。然后本主题技术存储所述更新会话数据。
[0006]本主题技术又另一方面提供了 一种用于自动同步化来自一个或多个网络客户的会话数据的系统。所述系统包括内存、一个或多个处理器以及存储在内存中并配置成用于被所述一个或多个处理器执行的一个或多个模块。所述系统包括配置成用以决定更新会话数据在所述一个或多个网络客户上是否是可用的会话监控模块,其中所述更新会话数据指示在所述一个或多个网络客户上的浏览活动,且包括基于用户输入的网页窗体元素数据。所述系统还包括配置成用以在如果所述更新会话数据可用时传输通知至第一网络客户的通知模块。此外,所述系统包括配置成用以在网络上将所述更新会话数据传输至所述第一网络客户的同步化模块。
[0007]本主题技术还允许决定在一个或多个网络客户中的更新会话数据是否是可用的,其中所述更新会话数据包括基于用户输入的网页窗体元素数据。如果所述更新会话数据是可用的,本主题技术传输用于所述更新会话数据的请求。然后从所述一个或多个网络客户接收所述更新会话数据。本主题技术存储所述更新会话数据。此外,本主题技术在网络上将所述更新会话数据传输至第一网络客户。[0008]要了解的是,从下述详细的描述,对于本领域的技术人员而言,本主题技术的其它配置将变得容易看出,其中以示例的方式示出并描述了本主题技术的各种配置。如同将认识到的是,本主题技术能够有其它以及不同的配置,且其数个细节能够有在各种其它方面的修饰,全都不背离本主题技术的范围。因此,附图以及详细的描述本质上被视为示例性的,且非限制性的。
【专利附图】

【附图说明】
[0009]在附带的权利要求书中提出了本主题技术的创新特征。然而,为了解释的目的,在下述图标中提出了本主题技术的数种配置。
[0010]图1在概念上示例了用于将会话数据从桌面网络客户自动同步化至移动装置的范例过程。
[0011]图2在概念上示例了用于存储来自桌面网络客户的会话数据而与移动网络客户同步化的范例过程。
[0012]图3在概念上示例了可实施本主题技术一些配置的图形用户接口。
[0013]图4在概念上示例了范例计算环境。
[0014]图5在概念上示例了范例应用编程接口(API)架构。
[0015]图6是移动装置架构的范例。
[0016]图7在概念上示例了一种系统,可使用所述系统来实施本主题技术的一些实施。【具体实施方式】
[0017]下面提出的详细描述意欲作为本主题技术各种配置的描述,且不意欲用以代表本主题技术可实施的唯一配置。附带的图示在本文中被并入,并构成详细描述的一部分。为了提供本主题技术的完整了解的目的,详细描述包括具体的细节。然而,对于本领域的技术人员而言,将清楚且显而易见的是,本主题技术不限于本文中所提出的具体细节,且没有这些具体细节也可实施本主题技术。在一些例子中,为了避免模糊本主题技术的概念,熟知的结构以及组件以区块图形式示出。
[0018]本主题技术提供了从桌面网络客户(例如,桌面网络浏览器)至移动装置上的网络客户的浏览器数据的自动同步化。在与所述桌面网络客户会话的期间,用户可通过导航至一个或多个不同的网页而与所述桌面网络客户互动,在所述一个或多个不同的网页中,一个或多个卷标窗口可显示前述网页。在一个范例中,所述用户将搜寻寻问提交至搜寻引擎,且搜寻结果项目可在相应的卷标窗口中由所述桌面网络客户显示。所述用户可随后在不同的卷标窗口中打开其中一个所述搜寻结果项目。在一些例子中,所述用户可希望具有所述会话的状态,包括同步化至另一个装置的卷标窗口活动,例如在移动装置(例如,手机、智能电话、平板计算器,等等)上的移动网络客户(例如,移动网络浏览器)。然而,来自所述桌面网络客户的用于访问网页的卷标窗口活动的用户的会话数据不容易与移动网络客户同步化,以至于所述移动网络客户可再显示所述卷标窗口活动(例如,从所述桌面网络客户上的所述会话)。
[0019]为了满足前述问题,提供了一种用于将会话数据从桌面网络客户同步化至移动装置的过程。在一个范例中,当更新成所述桌面网络客户的会话数据发生时(例如,当所述用户浏览不同的网页时),所述移动装置可签署以从通知服务器接收通知。例如,当所述用户通过导航至一个或多个网页而与所述桌面网络客户互动时,所述桌面网络客户可将更新会话数据传输至用于存储的远程服务器(例如,存储服务器)。一些配置的通知服务器追踪更新成所述远程服务器上的所述会话数据的更新,且可周期性地将一个或多个通知传输至指示更新会话数据为可用的所述移动装置。然后在接收所述通知之后,所述移动装置可从所述远程服务器接收所述更新会话数据。当在所述移动装置上启动移动网络客户时,所述更新会话数据(例如,在一个或多个卷标窗口中)在所述移动网络客户上可让所述用户接入。所述更新会话数据可包括来自所述桌面网络客户的访问网页的导航历史。
[0020]除了上述数据之外,本主题技术可包括额外类型的用于在浏览内容或会话中将数据同步化至移动装置的数据。例如,可同步化用于持续网页窗体元素的数据。在一个范例中,可在桌面网络客户网络一的网络搜寻引擎中执行搜寻(例如通过在所述网络搜寻引擎的网页上的文字方块窗体元素中输入一个或多个搜寻寻问关键词)。然后可将输入于所述网络搜寻引擎的网页中的文字方块窗体元素中的一个或多个搜寻寻问关键词同步化至所述移动装置,以至于示于所述移动装置上的所述网络搜寻引擎的网页上的所述文字方块窗体元素被自动地以相同的关键词填入(例如,如同所述桌面网络客户中所输入的)。此外,包括书签、密码/自动填入数据、omnibox数据(例如,有关打入的URL的统计资料、先前的寻问,等等)、文字字段、文字区域、选择弹出等等其它类型的数据可被同步化至所述移动装置。本文中未具体提及的其它类型数据可被同步化至所述移动装置,且仍在本主题技术的范围内。
[0021]虽然上述范例描述了将会话数据从所述桌面网络客户同步化至所述移动网络客户,应了解的是,可在一个或多个网络客户之间同步化会话数据。例如,可使用与上述相似的方式来将来自移动网络客户的会话数据同步化至桌面网络客户。此外,移动网络客户和/或桌面网络客户可与一个或多个其它网络客户同步化(例如,一个或多个桌面网络客户、一个或多个移动网络客户,等等)。此外,在一些配置中,通知不被传输至所述移动装置以指示更新会话数据。反而是,所述移动装置可请求来自远程存储服务器的更新会话数据(如果有的话)。在一些配置中,将所述远程存储服务器以及所述通知服务器实施成单一服务器,以用于与所述移动装置和/或所述桌面网络客户通信。
[0022]图1在概念上示例一种用于自动同步化来自一个或多个网络客户的会话数据的范例过程100。在一个范例中,所述过程100可由用于同步化来自桌面网络客户和/或其它网络客户的会话数据的移动装置来实施。在一些配置中,所述过程100在周期的基础上执行下述操作,以同步化会话数据。例如,所述过程100可侦测到来自所述一个或多个网络客户的更新会话数据可用于更新在所述移动装置上执行的移动网络客户。
[0023]过程100通过决定来自一个或多个网络客户的更新会话数据是否是可用的而在105开始。在一个范例中,当从通知服务器接收所述更新会话数据的通知时,所述更新会话数据是可用的。所述通知服务器可为网络上的远程服务器,所述网络监控来自桌面网络客户的会话数据。在启动移动网络客户之后,可发生决定所述更新会话数据是否是可用的。在一个范例中,所述移动网络客户是移动网络浏览器。所述更新会话数据包括桌面网络客户上一个或多个访问网页的导航历史数据。此外,所述更新会话数据可包括相应于一个或多个网站(例如,如所述桌面网络客户所存储)的书签数据(例如,本地存储的统一资源标识符)。所述更新会话数据也可包括来自桌面网络客户(或任何其它网络客户)的卷标窗口数据(或其它窗口数据)。在一些配置中,所述卷标窗口数据指定了指示资源位置的统一资源定位符。所述资源可包括网络内容、图像数据、音频、视频,等等。在一个范例中,所述更新会话数据包括基于用户输入的网页窗体元素数据(例如,当用户提供如上讨论的用于文字方块窗体兀素的输入时)。
[0024]如上所提及,其它类型的数据可包括在更新会话数据中,且仍在本主题技术的范围内。例如,用于持续网页窗体元素的数据、一个或多个书签、密码/自动填入数据、omnibox数据(例如,有关打入的URL的统计资料、先前的寻问,等等)、文字字段、文字区域、选择弹出,等等,可被同步化至移动装置。本文中未具体提及的其它类型的数据可被同步化至所述移动装置,且仍在本主题技术的范围内。
[0025]然后如果更新会话数据是可用的,过程100在110在网络上从一个或多个网络客户接收所述更新会话数据。如上所提及,接收所述更新会话数据可在接收网络客户(例如,在移动装置上的移动网络浏览器)中发生。在115,所述过程100在接收网络客户的窗口中显示了所接收的更新会话数据。结合下述图3而更详细地描述了所显示的会话数据的一个范例。然后所述过程100结束。
[0026]图2在概念上示例了一种用于存储来自一个或多个网络客户的会话数据而用于与第一网络客户同步化的范例过程200。在一些配置中,所述过程200可由存储服务器实施,所述存储服务器从桌面网络客户和/或其它网络客户接收会话数据。在一些配置中,所述存储服务器可在网络与所述桌面网络客户以及所述第一网络客户(例如,移动网络客户)通信。
[0027]过程200通过决定在一个或多个网络客户中更新会话数据是否是可用的而在205开始。如果所述更新会话数据是可用的,在210的所述过程200传输请求所述更新会话数据。在一个范例中,所述过程200将所述请求传输至所述一个或多个网络客户,以检索所述可用的更新会话数据。在215,所述过程200从所述一个或多个网络客户接收所述更新会话数据。然后所述过程200在220存储所述更新会话数据。
[0028]在一些配置中,过程200在225在网络上将指示更新会话数据的通知传输至第一网络客户。在一个范例中,所述第一网络客户是在移动装置上的移动网络客户。例如,所述过程200可将所述通知推至在所述移动装置上的所述移动网络客户。然后所述过程200在230在网络上将所述更新会话数据传输至所述第一网络客户。在一个范例中,所述更新会话数据包括在所述桌面网络客户上一个或多个访问网页的导航历史数据。然后所述过程200结束。
[0029]虽然过程200包括用于在210传输请求更新会话数据以及在225传输通知的操作,本主题技术不需要执行所述过程200中的所有前述操作。例如,所述过程200可的一些配置放弃在210传输请求和/或在225的通知。在这种例子中,所述过程200可没有在210的所述请求而在215接收会话数据,和/或没有在225的通知而在230传输会话数据230。
[0030]图3在概念上示例了一种图形用户接口(⑶1)300,其中可实施本主题技术的一些配置。更具体而言,所述GUI300可包括不同组的图形元素,以用于显示从网络客户(例如,桌面网络客户)接收或同步化的会话数据。图形元素可包括,但不限于,按钮、勾选盒、无线电按钮、滑块、列示盒、下拉列表、选单、复合框、图标、文字方块、滚动条,等等。在一个范例中,在执行图1的过程100的操作之后,所述GUI300被显示在所述网络客户中。特别是,所述GUI300可被显示在移动装置上的移动网络客户的窗口中(例如,移动网络浏览器的卷标窗口)。在另一个范例中,所述⑶1300可被显示在桌面网络客户和/或任何其它网络客户的窗口中。
[0031]如图3中所示例的,⑶1300包括一个或多个标签。特别是,所述⑶1300包括用于检视一个或多个不同的显示区域310、320、330以及340的标签305。所述显示区域310、320,330以及340分别包括来自桌面网络客户的会话数据的网站。在每个所述显示区域中,网站可包括用于指示分别的网站的图示370、372、374或376。此外,为了指示包括在来自桌面网络客户的会话数据中的网站,所述GUI300可包括指示会话数据来源的图标350。如所示出的,每个所述显示区域310、320、330以及340包括这种用于指示会话数据来源的图标。例如,所述GUI300包括图示360 (例如,代表移动装置),所述图标360指示了来自所述移动网络客户(例如,在所述移动网络客户上打开的)的网站而称为“网站4”的特别网站。
[0032]用户可与移动网络客户上的⑶1300互动。通过范例的方式,所述用户可选择任何的显示区域310、320、330以及340,以打开或浏览列在分别显示区域中的所选择的网站。在一个范例中,所述移动网络客户可自动地打开包括在来自桌面网络客户的会话数据中的一个或多个网站。以此方式,所述移动网络客户可反映在所述桌面网络客户中的用户会话。
[0033]虽然上面图3的描述包括⑶1300中不同的范例图形元素,一些实施可包括所述⑶1300中的其它图形元素,且仍在本主题技术的范围内。此外,所述⑶1300不需要包括所有的前述图形元素。例如,当显示来自桌面网络客户和/或移动网络客户的会话数据时,所述⑶1300可忽略图标或卷标。
[0034]图4在概念上示例了一种包括系统的范例计算环境400。特别是,图4示出一种用于实施上述图2中的过程的系统405。在一些配置中,所述系统405是执行特别机器(例如,服务器)的实施的一部分。
[0035]如图4中所示,系统405包括用于提供不同功能性的数个模块。所述系统405被配置成用以包括会话监控模块410、通知模块415以及同步化模块420。所述会话监控模块410被配置成用以决定在一个或多个网络客户上更新会话数据是否是可用的。所述会话监控模块410进一步被配置成用以将请求传输至所述一个或多个网络客户,以决定所述更新会话数据是否是可用的,其中所述更新会话数据在所述一个或多个网络客户上指示浏览活动,且包括基于用户输入的网页窗体元素数据。如果所述更新会话数据是可用的,所述通知模块415被配置成用以将通知传输至第一网络客户。在一个范例中,所述第一网络客户可为移动装置上的移动网络客户。如果所述更新会话数据是可用的,所述通知模块415被配置成用以将一个或多个通知传输至不同的网络客户(例如,桌面网络客户、其它移动网络客户,等等)。在一些配置中,以周期性的基础来将一个或多个通知传输至所述移动网络客户和/或其它网络客户。所述同步化模块420可从所述一个或多个网络客户接收所述更新会话数据。所述同步化模块420被配置成用以在网络上将所述更新会话数据传输至所述第一网络客户(例如,所述移动装置上的所述移动网络客户)。在一些配置中,所述同步化模块进一步被配置成用以调节所述更新会话数据的传输。
[0036]如图4中进一步示出的,每个前述模块可被配置成用以在彼此之间通信。例如,不同的数据、信息、API呼叫以及回复可在系统405中的不同模块之间传递。[0037]系统405可在网络450上与桌面客户460以及移动装置470以及一个或多个不同的客户480通信。所述桌面客户460、移动装置470以及一个或多个不同的客户480每个可被配置成用以与所述系统405的前述模块通信。例如,所述桌面客户460可在所述网络450上将会话数据传输至所述系统405。然后所述系统405可在所述网络450上将所述会话数据传输至所述移动装置470和/或其它客户480。
[0038]许多上述的特征以及应用被实施成软件过程,所述软件过程被指定为一组记录在机器可读取存储介质(称为计算器可读取介质)上的指令。当这些指令被一个或多个处理单元(例如,一个或多个处理器、处理器的核心或其它处理单元)执行时,它们导致所述处理单元执行所述指令中所指示的动作。机器可读取存储介质的范例包括,但不限于,CD-ROM、闪盘驱动器、RAM芯片、硬盘驱动器、EPR0M,等等。所述机器可读取存储介质不包括无线或在有线连接上传递的载波以及电子信号。
[0039]在此说明书中,用语“软件”意欲包括存在于只读内存和/或存储在磁存储的应用的固件,其可被读入内存中,以用于被处理器处理。同样地,在一些实施中,多个软件组件可被实施成较大程序的子部分,同时维持有区别的软件组件。在一些实施中,多个软件主题组件也可被实施成分开的程序。最后,这里所描述一起实施软件组件的分开程序的任何组合是在本主题技术的范围内。在一些实施中,当被安装以操作一个或多个系统时,所述软件过程定义了 一个或多个执行并进行所述软件程序操作的特定机器实施。
[0040]可使用任何形式的编程语言来写入计算器程序(也已知为程序、软件、软件应用、脚本或编码),包括编译或直译语言、说明式或过程序语言,且其可以使用任何形式来进行,包括作为独立程序或作为模块、组件、子程序、对象或适合在计算环境中使用的其它单元。计算器程序可,但不一定,相应于档案系统中的档案。程序可被存储在握有其它程序或数据(例如,存储在标记语言文件中的一个或多个脚本)的档案的一部分中、在用于考虑中的程序的单一档案中、或在多个同类别档案中(例如,存储一个或多个模块、子程序或部分编码的档案)。计算器程序可被进行,以在一个计算器或在多个计算器上执行,所述计算器位在一处或分布横跨多处,并由通信网络相互连接。
[0041]一些配置被实施作为软件过程,所述软件过程包括在环境中的一个或多个应用编程接口(API),所述环境具有通过所述一个或多个接口而与被呼叫的其它程序编码互动的呼叫程序编码。各种函数呼叫、信息或其它类型的调用(可包括各种种类的参数)可经由所述API而在所述呼叫程序以及被呼叫的编码之间转移。此外,API可提供所述呼叫程序编码使用所述API中所定义以及所呼叫的程序编码中实施的数据类型或等级的能力。
[0042]在一些配置中,可使用一个或多个API。API是由程序编码组件或硬件组件(“API实施组件”)实施的接口,所述程序编码组件或硬件组件允许不同的程序编码组件或硬件组件(“API呼叫组件”)接入并使用一个或多个函数、方法、程序、数据结构、等级和/或所述API实施组件提供的其它服务。API可定义在所述API呼叫组件以及所述API实施组件之间传递的一个或多个参数。
[0043]API允许API呼叫组件的开发商(其可为第三人开发商)利用API实施组件所提供的特定特征。可有一个API呼叫组件,或可有多于一个这种组件。API可为计算系统或程序库提供用以支持请求来自应用的服务的来源编码接口。操作系统(OS)可具有多个API,以允许在所述OS上执行的应用呼叫一个或多个那些API,且服务(例如程序库)可具有多个API,以允许使用所述服务的应用呼叫一个或多个API。当建立应用时,API能以可为直译或编译的编程语言来被指定。
[0044]在一些配置中,API实施组件可提供多于一个API,每个提供了不同观点或具有接入不同方面的功能性的不同方面,所述功能性由所述API实施组件实施。例如,API实施组件的一个API可提供第一组函数,且可暴露至第三人开发商,且所述API实施组件的另一个API可被隐藏(不被暴露),并提供所述第一组函数的子集,并也提供另一组函数,例如不在所述第一组函数中的测试或调试函数。在其它配置中,所述API实施组件本身可经由内在的API来呼叫一个或多个其它组件,且因此同时为API呼叫组件以及API实施组件。
[0045]当接入以及使用API实施组件的指定特征时,API定义了 API呼叫组件使用的语言以及参数。例如,API呼叫组件经由由所述API暴露的一个或多个API呼叫或调用(例如通过函数或方法呼叫体现)而接入所述API实施组件的指定特征,并经由所述API呼叫或调用而使用参数来传递数据以及控制信息。所述API实施组件可经由所述API对来自API呼叫组件的API呼叫做出反应而回复一个值。当所述API定义了 API呼叫的语法以及结果(例如,如何调用API呼叫以及API呼叫做了什么)时,所述API可不揭露所述API呼叫是如何完成所述API呼叫所指定的函数。各种API呼叫经由所述一个或多个应用编程接口在所述呼叫(API呼叫组件)以及API实施组件之间转移。转移所述API呼叫可包括发出、开始、调用、呼叫、接收、回复或响应所述函数呼叫或信息。换言之,转移可通过所述API呼叫组件或所述API实施组件来描述动作。所述API的函数呼叫或其它调用可经由参数列表或其它结构来发送或接收一个或多个参数。参数可为常数、钥匙、数据结构、对象、对象等级、变量、数据类型、类型、指针、数组、函数或方法的列表或指标,或用以参照将经由所述API传递的数据或其它项目的另一方式。
[0046]此外,数据类型或等级可由API提供,并由API实施组件实施。因此API呼叫组件可通过使用所述API中提供的定义来宣告变量、使用指针、使用或举例说明这种类型或等级的常数值。
[0047]一般而言,API可用以接入API实施组件所提供的服务或数据,或开始执行所述API实施组件提供的操作或计算。利用范例的方式,所述API实施组件以及API呼叫组件每个可为操作系统、图书馆、装置驱动器、AP1、应用程序或其它模块的任何其中一个(应了解的是,所述API实施组件以及所述API呼叫组件可为彼此相同或不同类型的模块)。在一些例子中,API实施组件可在固件、微编码或其它硬件逻辑中至少部分地体现。在一些配置中,API可允许客户程序使用软件开发套组(SDK)库所提供的服务。在其它配置中,应用或其它客户程序可使用应用框架提供的API。在这些配置中,所述应用或客户程序可将呼叫并入至所述SDK提供的以及所述API提供的函数或方法,或使用所述SDK中定义以及所述API提供的数据类型或对象。在这些配置中,应用框架可提供用于对各种所述框架定义的各种事件反应的程序的主事件循环。所述API允许所述应用使用所述应用框架来指定所述事件以及对于所述事件的反应。在一些实施中,API呼叫可对应用报告硬件装置的能力或状态,包括那些与例如输入能力以及状态、输出能力以及状态、处理能力、功率状态、存储容量以及状态、通信能力,等等有关的方面,以及所述API可由部分在所述硬件组件上执行的固件、微编码或其它低电平逻辑来部分地实施。
[0048]API呼叫组件可为在网络上经由API而与API实施组件通信的本地组件(即,在作为所述API实施组件的相同数据处理系统上)或远程组件(即,在来自所述API实施组件的不同数据处理系统上)。应了解的是,API实施组件也可作为API呼叫组件(即,其可对被不同的API实施组件暴露的API作出API呼叫)以及API呼叫组件也可通过实施暴露至不同的API呼叫组件之API来作为API实施组件。
[0049]API可允许以不同的编程语言写入的多个API呼叫组件,以与API实施组件通信(因此所述API可包括翻译呼叫的特征以及所述API实施组件与所述API呼叫组件之间的回复)。然而所述API可关于特定的编程语言而实施。在一个配置中,API呼叫组件可从不同的提供者来呼叫API,例如来自OS提供者的一组API,以及来自插件提供者的另一组API,以及来自另一提供者的另一组API (例如软件库的提供者)或所述另一组API的创造者。
[0050]下述的叙述描述了一种范例API架构,其中可实施本主题技术的一些配置。
[0051]图5是示例一种范例API架构的区块图,其可在本主题技术的一些配置中使用。如图5中所示,API架构500包括实施API510的API实施组件515 (例如,操作系统、图书馆、装置驱动器、AP1、应用程序、软件或其它模块)。所述API510指定了所述API实施组件的一个或多个函数、方法、等级、对象、规则、数据结构、格式和/或其它特征,所述API实施组件可被API呼叫组件505使用。所述API510可指定至少一呼叫惯例,所述呼叫惯例指定了所述API实施组件中的函数如何接收来自所述API呼叫组件的参数,以及所述函数如何回复结果至所述API呼叫组件。所述API呼叫组件505 (例如,操作系统、图书馆、装置驱动器、AP1、应用程序、软件或其它模块),经由所述API510而使API呼叫接入并使用所述API实施组件515的特征,所述API实施组件515的特征是由所述API510指定。所述API实施组件515可经由所述API510而对API呼叫做出反应,以将值回复至所述API呼叫组件505。
[0052]将领略到的是,API实施组件515可包括不经由API510指定且对于API呼叫组件505是不可用的额外的函数、方法、等级、数据结构和/或其它特征。应了解的是,所述API呼叫组件505可如同所述API实施组件515而在相同的系统上,或可位在远程并在网络上使用所述API510来接入所述API实施组件515。虽然图5示例了与所述API510互动的单一 API呼叫组件505,应了解的是,其它API呼叫组件(其可使用与所述API呼叫组件505不同的语言(或相同的语言)写入)可使用所述API510。
[0053]API实施组件515、API510以及API呼叫组件505可被存储在机器可读取的介质中,其包括用于以可由机器读取的形式来存储信息的任何机制(例如,计算器或其它数据处理系统)。例如,机器可读取的介质包括磁盘、光盘、随机接入内存、只读内存、快闪内存装
習坐坐
[0054]图6是移动装置架构600的范例。移动装置的实施可包括一个或多个处理单元605、内存接口 610以及外围接口 615。组成计算装置架构的每个这些组件可为分开的组件或整合在一个或多个集成电路中。这些各种组件也可通过一个或多个通信总线或信号线而奉禹合在一起。
[0055]外围接口 615可耦合至各种传感器以及子系统,包括相机子系统620、无线通信子系统625、音频子系统630以及输入/输出子系统635。所述外围接口 615使处理器以及外围之间的通信成为可能。所述外围提供不同的功能性给移动装置。外围,例如定向传感器645或加速传感器650可耦合至所述外围接口 615,以帮助所述定向以及加速功能。此外,所述移动装置可包括位置传感器675,以提供不同的位置数据。特别是,所述位置传感器可利用全球定位系统(GPS),以提供不同的位置数据,例如经度、纬度以及高度。
[0056]相机子系统620可耦合至一个或多个光学传感器,例如电荷耦合装置(CXD)光学传感器或互补式金属氧化物半导体(CMOS)光学传感器。与所述传感器耦合的所述相机子系统620可帮助相机功能,例如图像和/或视频数据撷取。无线通信子系统625可作为用以帮助通信功能。无线通信子系统625可包括无线电频率接收机与发射机,以及光学接收机以及发射机。可实施前述接收机以及发射机以在一个或多个通信网络上操作,例如长期演进技术(LTE)、全球移动通信系统(GSM)网络、W1-Fi网络、蓝芽网络,等等。音频子系统630耦合至扬声器以及麦克风,以帮助语音启动功能,例如语音辨识、数字记录,等等。
[0057]I/O子系统635经由外围接口而牵涉了输入/输出外围装置以及处理器605的数据总线之间的转移,例如,显示器、触控屏幕,等等。I/o子系统635可包括触控屏幕控制器655以及其它输入控制器60,以帮助这些功能。触控屏幕控制器655可耦合至所述触控屏幕65,并使用任何多重触控感应技术来侦测所述屏幕上的接触以及移动。其它输入控制器60可耦合至其它输入/控制装置,例如一个或多个按钮。
[0058]内存接口 610可耦合至内存670,其可包括高速随机接入内存和/或非易失性内存,例如快闪内存。内存670可存储操作系统(OS)。所述OS可包括用于处理基础系统服务以及用于执行硬件依赖工作的指令。
[0059]利用范例的方式,内存也可包括用以帮助与一个或多个额外装置通信的通信指令、用以帮助图形用户接口处理的图形用户接口指令、用以帮助图像/视频相关处理以及功能的图像/视频处理指令、用以帮助电话相关过程以及功能的电话指令、用以帮助介质通信与处理相关过程以及功能的介质交换以及处理指令、用以帮助相机相关过程以及功能的相机指令、以及用以帮助视频会议过程以及功能的视频会议指令。上述识别的指令不需要被实施为分开的软件程序或模块。移动装置的各种功能可在硬件和/或软件中实施,其包括在一个或多个信号处理和/或专用集成电路中。
[0060]下述叙述描述了一种范例系统,其中可实施本主题技术的方面。
[0061 ] 图7在概念上示例了一种系统700,本主题技术的一些实施可使用所述系统700来实施。所述系统700可为计算器、电话、PDA或任何其它种类的电子装置。这种系统包括各种类型的计算器可读取介质以及用于各种其它类型的计算器可读取介质的接口。所述系统700包括总线705、处理单元710、系统内存715、只读内存720、存储装置725、随选的输入接口 730、随选的输出接口 735以及网络接口 740。
[0062]总线705共同地代表通信地连接系统700的众多内部装置的所有系统、外围以及芯片组总线。例如,所述总线705通信地连接处理单元710与只读内存720、系统内存715以及存储装置725。
[0063]从这些各种内存单元,处理单元710检索要执行的指令以及要处理的数据,以执行本主题技术的过程。在不同的实施中,所述处理单元可为单一处理器或多核心处理器。
[0064]只读内存(ROM) 720存储处理单元710以及系统700的其它模块所需的静态数据以及指令。另一方面,存储装置725是读写内存装置。此装置是即使当所述系统700关闭时会存储指令以及数据的非易失性内存单元。本主题技术的一些实施使用如所述存储装置725的大量存储装置(例如,磁盘或光盘以及其相应的磁盘)。
[0065]其它实施使用如存储装置725的可移除的存储装置(例如,闪盘驱动器、软盘以及其相应的磁盘)。就像所述存储装置725,系统内存715是读写内存装置。然而,不像存储装置725的是,所述系统内存715是易失性读写内存,这种随机接入内存。所述系统内存715存储了一些处理器在运行时需要的指令以及数据。在一些实施中,本主题技术的过程存储在所述系统内存715、所述存储装置725和/或所述只读内存720中。例如,依照一些实施,所述各种内存单元包括用于处理多媒体项目的指令。从这些各种内存单元,处理单元710检索要执行的指令以及要处理的数据,以执行一些实施的过程。
[0066]总线705也连接至随选的输入以及输出接口 730以及735。所述随选的输入接口730让用户能够通信信息,并选择指令至所述系统。所述随选的输入接口 730可与字母数字的键盘以及指出装置(也称为“光标控制装置”)有接口。所述随选的输出接口 735可提供系统700产生的显示图像。所述随选的输出接口 735可与打印机以及显示装置有接口,例如阴极射线管(CRT)或液晶显示器(IXD)。一些实施可与装置有接口,例如作为输入以及输出装置的触控屏幕。
[0067]最后,如图7中所示,总线705也经由网络适配器(未示出)将系统700耦合至网络接口 740。以此方式,计算器可为计算器网络的一部分(例如本地区域网络(“LAN”)、宽区域网络(“WAN”)或内联网或网络的互联网络,例如互联网。系统700的任可或所有组件可与本主题技术结合使用。
[0068]上述的这些功能可在数字电子电路、计算器软件、固件或硬件中实施。可使用一个或多个计算器程序产品来实施所述技术。可编程处理器以及计算器可被包括或包装为移动装置。所述过程以及逻辑流程可通过一个或多个可编程处理器以及通过一个或多个可编程逻辑电路来执行。一般以及特别目的的计算装置以及存储装置可经由通信网络互连。
[0069]一些实施包括了电子组件,例如微处理器、存储以及将计算器程序指令存储在机器可读取或计算器可读取介质(或者被称为计算器可读取存储介质、机器可读取介质、或机器可读取存储介质)的内存。这种计算器可读取存储介质的一些范例包括RAM、ROM、只读光盘(⑶-ROM)、可记录光盘(⑶-R)、可再写入的光盘(⑶-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可记录/可再写入的DVD (例如,DVD-RAM、DVD-RW、DVD+RW,等等)、快闪内存(例如,SD卡、迷你SD卡、微SD卡,等等)、磁性和/或固体状态硬磁盘、只读以及可记录蓝光?碟、超密度光盘、任何其它光学或磁性介质、以及软盘。所述计算器可读取介质可存储计算器程序,所述计算器程序可由至少一个处理单元执行,且包括多组用于执行各种操作的指令。计算器程序或计算器编码的范例包括例如由编译器产生的机器编码以及包括计算器、电子组件或使用直译器的微处理器执行的高电平编码的档案。
[0070]虽然上述讨论主要提及微处理器或执行软件的多核心处理器,一些实施是由一个或多个集成电路执行,例如专用集成电路(ASIC)或字段可编程栅数组(FPGA)。在一些实施中,这种集成电路执行存储所述电路本身上的指令。
[0071]如同本说明书以及此申请案中任何权利要求中所使用的,用语“计算器”、“服务器”、“处理器”以及“内存”全意指电子或其它技术装置。这些用语排除了人门或人群。为了本说明书的目的,用语显示(display)或显示(displaying)意指显示在电子装置上。如同此说明书以及此申请案中任何权利要求中所使用的,用语“计算器可读取介质”以及“计算器可读取介质”完全限制为有形实体对象,所述有形实体对象以计算器可读取的形式来存储信息。这些用语排除了任何无线信号、有线下载信号以及任何其它短暂的信号。[0072]为了提供用于与用户互动,此说明书中所描述的主题的实施可在具有显示装置的计算器上实施,例如,CRT (阴极射线管)或IXD (液晶显示)监控器,其用于将信息显示至用户,以及键盘以及指针装置,例如鼠标或追踪球,通过所述键盘以及指针装置,所述用户可提供输入至所述计算器。其它类型的装置也可用以提供与用户互动;例如,提供给所述用户的反馈可为任何形式的传感器反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及来自所述用户的输入可以任何形式接收,包括听觉的、言语或触觉输入。此外,计算器可通过将文件送至所述用户使用的装置及从所述装置接收文件而与所述用户互动;例如,对从所述网络浏览器接收的请求做出反应,通过将网页发送至用户的客户装置上的网络浏览器。
[0073]此说明书中所描述的主题的配置可在计算系统中实施,所述计算系统包括作为例如数据服务器的后端组件,或包括中介组件(例如,应用服务器),或包括前端组件(例如,具有图形用户接口或网络浏览器的客户计算器,经由所述图形用户接口或网络浏览器,用户可与此说明书中描述的主题的实施,或一个或多个这种后端、中介或前端组件的任何组合互动)。所述系统的组件可由数字数据通信的任何形式或介质来互连,例如,通信网络。通信网络的范例包括本地区域网络(“LAN”)以及宽区域网络(“WAN”)、互联网络(例如,互联网)以及群对群网络(例如,特设群对群网络)。
[0074]计算系统可包括客户以及服务器。客户以及服务器通常彼此为远程,且典型地经由通信网络互动。客户以及服务器的关系通过在分别计算器上执行以及彼此具有的客户-服务器关系的计算器程序的优点来形成。在一些配置中,服务器传输数据(例如,HTML网页)至客户装置(例如,为了显示数据至与所述客户装置互动的用户以及从所述用户接收用户输入)。在所述客户装置产生的数据(例如,所述用户互动的结果)可在所述服务器而从所述客户装置接收。
[0075]要了解的是,所公开过程中步骤的任何特定顺序或阶级是范例方法的示例。基于设计偏好,要了解的是,可配置所述过程中步骤的特定顺序或阶级,或可执行所有示例的步骤。一些所述步骤可被同时执行。例如,在某些情况中,多工作或平行处理可为有利的。此夕卜,上述配置中各种系统组件的分开不应被了解为在所有的配置中需要这种分开,且应了解的是,所述程序组件以及系统通常可整合在一起在单一软件产品中或包装入多个软件产品中。
[0076]提供了前述描述,以让本领域的任何技术人员能够实施本文中描述的各种方面。对于这些方面的各种修饰对于本领域的技术人员而言是立即显而易见的,且本文中定义的上位原则可应用至其它方面。因此,权利要求不意欲受限于本文中所示出的方面,但是要符合与叙述的权利要求一致的全部范围,其中除非具体地如此声明,以单数提及到元素不意欲意指“一个且只有一个”,但更确切意指“一个或多个”。除非另外具体地声明,用语“一些”意指一个或多个。阳性的代名词(例如,他的)包括阴性以及中性性别(例如,她的以及它的),且反之亦然。标题以及子标题,如果有的话,仅为了方便而使用,且不限制本主题技术。
[0077]例如“方面”的措辞不暗示这种方面对于本主题技术是必要,或这种方面适用于本主题技术的所有配置。与一方面相关的公开内容可应用至所有的配置,或一个或多个配置。例如方面的措辞可意指一个或多个方面,且反之亦然。例如“配置”的措辞不暗示这种配置对于本主题技术是必要的,或这种配置适用于于本主题技术的所有配置。与配置相关的公开内容可应用至所有配置,或一个或多个配置。例如配置的措辞可意指一个或多个配置,且反之亦然。
[0078]用字“范例”在本文中用以意指“作为一个范例或示例”。本文中所描述作为“范例”的任何方面或设计不一定被理解为比其它方面或设计较佳或较有利的。
[0079]在整个此公开内容中描述的、对于本领域普通技术人员为已知或近来变成已知的各种方面的元素的所有结构上以及功能上的均等物被明确地并入于本文中以作为参考,且意欲被权利要求包含。此外,本文中所公开的没有任何东西是意欲贡献给大众的,不管这种公开内容是否明确地在权利要求中被提及。
【权利要求】
1.一种机器实施的方法,用于自动同步化来自一个或多个网络客户的会话数据,所述方法包含: 在一移动装置上决定来自所述一个或多个网络客户的更新会话数据是否是可用的,其中所述更新会话数据针对在所述一个或多个网络客户上的相应会话指示浏览活动,且包括基于由所述一个或多个网络客户于所述相应会话期间接收的用户输入的网页窗体元素数据;以及 如果所述更新会话数据是可用的,在所述移动装置上经由网络接收来自所述一个或多个网络客户的更新会话数据,其中所述更新会话数据包括针对所述一个或多个网络客户上的所述相应会话的浏览活动的一当前状态,所述浏览活动的所述当前状态包含于所述一个或多个网络客户上的所述相应会话期间访问网页的卷标窗口活动,而且所述一个或多个网络客户中的至少一个包含使用桌面计算装置的桌面网络客户;以及 在移动网络客户于所述移动装置上被启动之后,显示在所述移动装置上的所述移动网络客户的窗口中的所接收更新会话数据,其中在所述移动网络客户的所述窗口中的所显示的更新会话数据相应于针对所述一个或多个网络客户上的所述相应会话的浏览活动的所述当前状态,且该显示的更新会话数据包含访问网页的所述卷标窗口活动以及基于所述一个或多个网络客户上的所述相应会话期间由所述一个或多个网络客户接收的用户输入的所述网页窗体元素。
2.根据权利要求1所述的方法,其中决定所述更新会话数据是否是可用的包含从通知服务器接收所述更新会话数据的通知。
3.根据权利要求1所述的方法,其中决定所述更新会话数据是否是可用的发生在所述移动网络客户被启动之后。
4.根据权利要求1所述的方法,其中针对在所述一个或多个网络客户上的所述相应会话的所述浏览活动包括所述桌面网络客户上的一个或多个访问网页的导航历史数据。`
5.根据权利要求1所述的方法,其中所述更新会话数据包括来自所述桌面网络客户的卷标窗口数据。
6.根据权利要求4所述的方法,其中所述卷标窗口数据指定了指示资源的位置的统一资源定位符。
7.根据权利要求6所述的方法,其中所述资源包括网络内容。
8.根据权利要求1所述的方法,还包含: 在所述移动网络客户的窗口中显示所接收的更新会话数据。
9.根据权利要求1所述的方法,其中所述更新会话数据包括相应于在装置上打开的一个或多个卷标的分别数据,以及相应于一个或多个卷标的所述分别数据包括每个卷标的导航历史。
10.根据权利要求1所述的方法,其中所述移动网络客户是移动网络浏览器。
11.一种机器实施的方法,该方法用于存储来自一个或多个网络客户的会话数据来与第一网络客户同步化,所述方法包含: 决定针对所述一个或多个网络客户中的相应会话,更新会话数据是否是可用的,其中所述更新会话数据包括基于由所述一个或多个网络客户于所述相应会话期间接收的用户输入的网页窗体元素数据;如果所述更新会话数据是可用的,则经由网络传输针对所述更新会话数据的请求至所述一个或多个网络客户; 经由所述网络从所述一个或多个网络客户接收所述更新会话数据,所述更新会话数据包括针对所述一个或多个网络客户上的所述相应会话的浏览活动的一当前状态,所述浏览活动的所述当前状态包含于所述一个或多个网络客户中的所述相应会话期间访问网页的卷标窗口活动,而且所述一个或多个网络客户中的至少一个包含使用桌面计算装置的桌面网络客户;以及 经由所述网络传输所述更新会话数据至移动装置上的一移动网络客户,以显示于所述移动装置上的所述移动网络客户,其中所传输的更新会话数据相应于针对所述一个或多个网络客户中的所述相应会话的浏览活动的所述当前状态,且所传输的更新会话数据包含访问网页的所述卷标窗口活动以及基于所述一个或多个网络客户中的所述相应会话期间由所述一个或多个网络客户接收的用户输入的所述网页窗体元素。
12.根据权利要求11所述的方法,还包含: 在所述网络上将指示所述更新会话数据的通知传输至所述移动装置上的所述移动网络客户。
13.根据权利要求12所述的方法,其中所述通知被推至所述移动装置上的所述移动网络客户。
14.根据权利要求12所述的方法,还包含: 在所述网络上将所述更新会话数据传输至所述移动装置上的所述移动网络客户,其中所述更新会话数据包括所述桌面网络客户上的一个或多个访问网页的导航历史数据。
15.根据权利要求14所述的方法,其中所述导航历史数据包括被所述桌面网络客户访问的一个或多个不同的网站。
16.一种用于自动同步化来自一个或多个网络客户的会话数据的系统,所述系统包含: 内存; 一个或多个处理器; 存储在内存中且被配置成用于被所述一个或多个处理器执行的一个或多个模块,所述模块包含: 会话监控模块,配置成用以决定针对所述一个或多个网络客户上的相应会话,更新会话数据是否是可用的,其中所述更新会话数据指示所述一个或多个网络客户上的浏览活动,且包括基于由所述一个或多个网络客户于所述相应会话期间接收的用户输入的网页窗体元素数据,所述更新会话数据包括针对所述一个或多个网络客户上的所述相应会话的浏览活动的一当前状态,所述浏览活动的所述当前状态包含于所述一个或多个网络客户上的所述相应会话期间访问网页的卷标窗口活动,而且所述一个或多个网络客户中的至少一个包含使用桌面计算装置的 桌面网络客户; 如果所述更新会话数据是可用的,则配置成用以将通知传输至第一网络客户的通知模块;以及 配置成用以在网络上将所述更新会话数据传输至所述第一网络客户以显示于所述第一网络客户的同步化模块,其中所传输的更新会话数据相应于针对所述一个或多个网络客户上的所述相应会话的浏览活动的所述当前状态,且所传输的更新会话数据包含访问网页的所述卷标窗口活动以及基于所述一个或多个网络客户上的所述相应会话期间由所述一个或多个网络客户接收的用户输入的所述网页窗体元素。
17.根据权利要求16所述的系统,其中会话监控模块进一步被配置成用以将请求传输至所述一个或多个网络客户,以决定所述更新会话数据是否是可用的。
18.根据权利要求16所述的系统,其中一个或多个通知以周期性的基础被传输至移动装置上的移动网络客户。
19.根据权利要求16所述的系统,其中所述同步化模块进一步被配置成用以调节所述更新会话数据的所述传输。
20.一种非瞬态机器可读取的介质,其包含存储于其中的指令,该指令在由机器执行时,造成所述机器执行操作,该操作包含: 决定针对一个或多个网络客户中的相应会话,更新会话数据是否是可用的,其中所述更新会话数据包括基于由所述一个或多个网络客户于所述相应会话期间接收的用户输入的网页窗体元素数据; 如果所述更新会话数据是可用的,则经由网络传输所述更新会话数据的请求至所述一个或多个网络客户; 经由所述网络接收来自所述一个或多个网络客户的所述更新会话数据,所述更新会话数据包括针对所述一个或多个网络客户中的所述相应会话的浏览活动的一当前状态,所述浏览活动的所述当前状态包含于所述一个或多个网络客户中的所述相应会话期间访问网页的卷标窗口活动,而且所述一个或多个网络客户中的至少一个包含使用桌面计算装置的桌面网络客户;以及` 在网络上将所述更新会话数据传输至第一网络客户以显示于所述第一网络客户上,其中所传输的更新会话数据相应于针对所述一个或多个网络客户中的所述相应会话的浏览活动的所述当前状态,且所传输的更新会话数据包含访问网页的所述卷标窗口活动以及基于所述一个或多个网络客户中的所述相应会话期间由所述一个或多个网络客户接收的用户输入的所述网页窗体元素。
21.根据权利要求20所述的非瞬态机器可读取的介质,其中针对所述一个或多个网络客户中的所述相应会话的浏览活动包括所述一个或多个网络客户上的一个或多个访问网页的导航历史数据。
22.根据权利要求21所述的非瞬态机器可读取的介质,其中所述第一网络客户是移动装置上的移动网络客户。
【文档编号】H04L29/08GK103761320SQ201410040806
【公开日】2014年4月30日 申请日期:2012年12月6日 优先权日:2011年12月6日
【发明者】阿尔诺·克劳德·伟柏, 艾力克斯·尼力·安斯理, 罗马·拉尼·夏, 葛兰·墨菲 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1