根据用户意图预获取网格块的制作方法

文档序号:12287750阅读:162来源:国知局
根据用户意图预获取网格块的制作方法与工艺

本公开内容的方面涉及计算硬件和软件技术,且具体地说,本公开内容的方面涉及与在线服务的增强型用户体验。



背景技术:

在线内容服务变成个人、企业和组织等等之间用于访问和交互内容的越来越流行的方式。有时通俗地称为“云”服务,在线服务允许用户产生和消费来自任何地方的各种各样的内容,以及使用几乎任何类型的设备。这些在线服务的例子包括Office和Docs。

很多云服务由用户通过由运行在终端用户设备上的客户端应用本地生成的且有时在web浏览器的上下文内的用户接口来体验。客户端应用与云服务进行对接,以便下载用于用户消耗的数据和上传可以反映用户进行的改变或者其它交互的数据。

基于云的服务的本质在于云和终端用户设备之间的带宽可能受到限制。因此,内容项的本地模型通常表示这些项的非完整版本。例如,电子表格的本地模型可以包括构成该电子表格的数据的仅仅一部分或者全部,以便节省带宽和其它处理资源。

当用户在用户接口内导航还没有从云中下载的内容项的一部分时,该技术可能导致次优的用户体验。客户端应用必须取回相关联的数据,并将其加载到该内容项的本地模型,其造成用户的导航和该数据在用户接口中的呈现之间的时间滞后。

针对该问题的一种解决方案涉及:对数据进行预获取,使得从服务下载该数据,以在实际需要该数据之前,在电子表格的本地模型中进行渲染。可以例如基于用户向下滚动电子表格的速度,对数据进行预获取。可以根据滚动行为推断用户的意图是观看在电子表格底部中的单元格。因此,可以对与那些单元格相关联的一个或一些数据块进行预获取,使得随着用户滚动浏览它们,它们是可用的,因而向用户提供快速且优雅的用户体验。



技术实现要素:

本文提供了用于增强与在线服务和托管的内容的用户体验的系统、方法和软件。在预期将发生预测的用户交互的情况下,可以将数据预加载到托管的内容的本地模型中。因此,可以缓解或者避免下载延迟和其它次优的方面。

在至少一种实施方式中,检测与针对内容的本地模型的用户接口的初始用户交互。内容的本地模型包括:该内容中的下载到本地模型的初始部分。至少部分地基于初始用户交互,预测与针对内容的本地模型的用户接口的后续用户交互。随后,在预期将发生后续用户交互的情况下,识别该内容中的要下载到该内容的本地模型的后续部分。至少部分地基于后续用户交互来识别该后续部分。

提供本概括部分以便用简化的形式介绍将在以下的具体实施方式中进一步描述的对构思的选择。可以理解的是,本概括部分并不是旨在标识所要求保护的主题内容的关键特征或本质特征,也不是用于限制所要求保护的主题内容的保护范围。

附图说明

参照下面的附图,将能更好地理解本公开内容的很多方面。虽然结合这些附图来描述一些实施方式,但本公开内容并不限于本文所公开的实施方式。相反,其意图在于覆盖所有的替代、修改和等同物。

图1示出了一种实施方式中的操作场景。

图2示出了在各种场景下可以由内容应用或者内容服务来实现的过程。

图3示出了一种实施方式中的操作序列。

图4示出了一种实施方式中的操作序列。

图5示出了一种实施方式中的操作场景。

图6示出了在各种场景下可以由内容应用来实现的过程。

图7-8示出了它们各自的实施方式中的电子表格。

图9示出了适合于实现参照图1-8和下面在具体实施方式中讨论的本文所公开的应用、服务、过程和操作场景中的任何一个的计算环境。

具体实施方式

本文所公开的实施方式实现与在线内容服务和它们所托管的内容的增强型用户体验。在线内容服务对内容进行托管,使得用户通过内容应用来与其进行交互。在内容应用中,对内容的本地模型进行实例化,并且根据需要,将内容的一部分下载到本地模型上,以便节省带宽和在提供这些本地模型时所涉及的其它资源。

基于用户如何与内容进行交互,动态地驱动将内容的哪些部分下载到本地模型中。具体而言,对用户交互进行分析,以预测下一个用户交互将是什么。在实际发生所预测的交互之前,就将内容中的与所预测的交互相对应的后续部分下载到内容的本地模型中。当(且如果)发生所预测的动作时,内容的相关部分可以已经加载到本地模型中。

在一种实施方式中,采用一种过程以将数据预加载到托管的内容的本地模型中。内容应用、内容服务或这二者的某种组合可以采用该过程。该过程检测与针对内容的本地模型的用户接口的初始用户交互。本地模型包括内容中的下载到该本地模型的初始部分。该过程至少部分地基于初始用户交互,预测与针对内容的本地模型的用户接口的后续用户交互可能是什么。随后,在预期将可能发生该后续用户交互的情况下,至少部分地基于预测到的后续用户交互,识别内容的后续部分,以及可以将内容的后续部分下载到内容的本地模型中。

在一些场景下,针对内容的本地模型的用户接口可以包括内容画布(content canvas)。该内容画布可以显现内容的初始部分和内容的后续部分。用户接口还可以包括用于导航内容画布的导航控件。在这些场景下,后续用户交互可以是对导航控件的选择,并且初始用户交互可以是用于将指针放置于导航控件附近的定位交互。

在各个实施方式中,该定位交互可以是将指针从内容画布上的初始位置移动到导航控件上的后续位置,以准备选择导航控件。该导航控件的例子包括滚动条、工作表标签、笔记本标签、页书签和特征菜单。内容的例子包括电子表格文档、文字处理文档、演示文档和笔记记录文档。导航控件可以是具有各个方向元件的滚动条,以沿着各个方向来滚动浏览内容。对导航控件的选择可以涉及:选择方向元件中的一个,以沿着与这些方向元件相对应的方向中的一个方向来滚动浏览内容。

在内容是电子表格的场景下,该电子表格可以包括各种数据块,每一个数据块包括一些单元格。内容的初始部分可以是这些数据块中的初始数据块。因此,内容的后续部分可以是这些数据块中的后续数据块。

可以以各种方式来预测后续用户交互。在一些实施方式中,识别用于与内容相关联的各个用户的交互规则,这些用户包括与用户交互相关联的用户。交互规则表达潜在的初始用户交互如何与潜在的后续用户交互相关。因此,可以至少部分地基于初始用户交互如何与潜在的后续用户交互相关来识别后续用户交互。

在一些场景下,内容服务可以能够收集关于各个用户与该内容的过去用户交互的遥测数据。鉴于过去用户交互的遥测数据,内容服务可以至少部分地基于对交互规则的评估来更新这些交互规则。

图1示出了一种操作场景100,其说明了与内容服务的增强型用户体验的各个方面。在操作场景100下,服务平台101对内容服务103进行托管。用户通过应用平台上的内容应用来参与内容服务103,以访问他们的数据(通过数据105来表示)并与其进行交互。出于举例性目的,操作场景100包括应用平台111,在应用平台111上部署内容应用113以向用户112提供针对内容服务103的用户接口115。用户112可以通过用户接口115来体验内容107。

在操作时,将初始内容108从内容服务103下载到内容应用113上,以便加载在内容107的本地模型117中。可以按照部分或者块来规定内容107,其中初始内容108和后续内容109是代表性的。将内容107子划分成一些块可以容适反复地或者根据需要将这些块下载到内容应用113中。因此,对初始内容108进行传输以加载到本地模型117中,并在用户接口115中进行渲染。可以领会的是,参照初始内容108和后续内容109来使用术语“初始”和“后续”,以仅仅对它们进行彼此区分,以及表示在后续内容109之前下载初始内容108。然而,可能存在下面的情况:在初始内容108之前以及可能在后续内容109之前,下载内容的其它部分,因此应当将术语初始和后续理解成相对概念,而不是绝对概念。

在用户接口115中呈现本地模型117的渲染,其中用户接口115包括显现初始内容108的内容区域121。内容区域121的例子包括画布、预览窗格或者其它适当的视觉区域。用户接口115还包括用于导航内容区域121的导航控件123。除了导航控件123之外或者替代导航控件123,其它导航控件也是可以的,并且也可以认为是落入本公开内容的保护范围之内。在该场景下,发生初始用户交互125,初始用户交互125的例子包括:移动指针或者执行某种其它定位交互。

其它例子包括经由键敲击的交互、执行语音命令、输入键盘快捷键、使鼠标驻留在某个链接或者工作表标签选择器上、向上或者向下翻页或者进行选择。虽然本文讨论的交互中的一些交互涉及可以使用鼠标进行的操作,但可以领会的是,可以使用包括触摸手势、触摸板交互、口头命令、数字笔输入等等的任何类型的用户输入来发生用户交互。

在这一点上或附近,采用预获取过程200来增强关于内容107的用户体验的响应性。预获取过程200可以由内容应用113(或者运行在应用平台111上的某个其它应用或模块)来实现,或者在内容服务103中实现,或者分布在二者之中。因此,除了用于表示预获取过程200可以由一个或另一个或者二者采用的两个元素之外,还示出了预获取过程200。

在图2中详细地示出了预获取过程200,并且参照其步骤进行相关联的讨论。预获取过程200对与针对内容107的本地模型117的用户接口115的初始用户交互进行监测和检测(步骤201),其中初始用户交互125是代表性的。随后,预获取过程200可以至少部分地基于初始用户交互125,预测与用户接口115的后续用户交互可能是什么(步骤203),通过预测的用户交互127来表示。

当预测下一个交互时,可以考虑其它因素,例如,用户使用用户接口115的整体行为、执行的导致初始用户交互125的其它交互、交互的历史模式等等。在另一个例子中,当预测下一个用户交互时,关于内容107的哪个区域是其它用户(例如,处于协作的上下文中的)的关注焦点的知识可以是考虑的一个因素。其它因素也是可能的,并可以被认为落入本公开内容的保护范围之内。

至少部分地基于预测后续用户交互将是什么来识别内容107的后续部分,以及可以在预期将可能发生所预测的用户交互的情况下,将该后续部分下载到内容107的本地模型117中。如果发生所预测的用户交互,则该操作使得内容107的后续部分109在本地模型117中可用,以便在用户接口115中进行渲染。

出于示例性目的,假定预测的用户动作127最终发生,响应于此,可以在内容区域121中显现后续内容109,并由用户112进行观看。如果发生了与所预测的用户交互不同的某种其它后续用户交互,则可以取回内容107的其它部分(假定该其它交互隐含着内容107的某个其它部分)。

图3示出了用于表示当在内容应用113中实现预获取过程200时,可能发生的消息和数据流的操作序列300。在该序列中,在本地模型117中实现预获取过程200,但可以领会的是,可以利用与内容应用113相关联的某种其它方式来实现预获取过程200。

在操作时,将初始数据块从内容服务103下载到本地模型117中。在本地模型中加载该初始数据块,并在用户接口115中进行显现。可以在用户接口115中发生初始用户交互,响应于此,将该交互传输给本地模型117。

本地模型117对该初始用户交互进行分析,以识别可能发生的下一个交互。随后,基于所识别的下一个交互,本地模型117识别将从内容服务103取回的下一个块。

从内容服务下载该下一个块,并将其加载到本地模型117中。在稍后时间,在用户接口115中可以发生下一个交互。该下一个交互提示将在用户接口115中显现该下一个块。

根据操作序列300可以领会的是,在发生下一个(或者预测的)交互之前,就从内容服务103下载该下一个块,并将其加载到本地模型117中。用此方式,当发生下一个用户交互时,该数据块可用于在用户接口115中进行显现。这避免或者缓解了当在用户交互之后才下载数据时可能发生的次优的用户体验。

图4示出了用于表示当在内容服务103中实现预获取过程200时,可能发生的消息和数据流的操作序列400。在操作时,将初始数据块从内容服务103下载到本地模型117中。在本地模型117中加载该初始数据块,并在用户接口115中进行显现。可以在用户接口115中发生初始用户交互,响应于此,向内容服务103传输用于指示该交互的信息。

内容服务103对该初始用户交互进行分析,以识别可能发生的下一个交互。随后,基于所识别的下一个交互,内容服务103识别将下载到本地模型117的下一个块。

从内容服务下载该下一个块,并将其加载到本地模型117中。在稍后时间,在用户接口115中可以发生下一个交互。该下一个交互提示将在用户接口115中显现该下一个块。

根据操作序列400可以领会的是,在发生下一个(或者预测的)交互之前,就从内容服务103下载该下一个块,并将其加载到本地模型117中。用此方式,当发生下一个用户交互时,该数据块可用于在用户接口115中进行显现,这避免或者缓解了当在用户交互之后才下载数据时可能发生的次优的用户体验。

返回参考图1,服务平台101表示能够托管内容服务103的全部或者部分的任何物理或虚拟计算系统、设备或者其集合。在一些场景下,服务平台101可以在内容服务103的上下文中,采用预获取过程200。服务平台101的例子包括但不限于:服务器计算机、web服务器、应用服务器、机架服务器、刀片式服务器、虚拟机服务器或者塔服务器,以及任何其它类型的计算系统,其中在图9中所示出的计算系统901是代表性的。

在一些场景下,可以将内容服务103实现在数据中心、虚拟数据中心或者某种其它适当的计算设施中。内容服务103有时可以称为云服务、在线服务、互联网服务等等。内容服务103的例子包括但不限于:办公生产力服务(其包括电子表格、文字处理和演示服务)、电子邮件服务、web托管服务、笔记记录服务、游戏服务或者任何其它类型的服务、变型或者其组合。

应用平台111表示能够运行内容应用113,以及在一些场景下可以能够采用预获取过程200的任何物理或者虚拟计算系统、设备或者其集合。应用平台的例子包括但不限于:智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、智能电视、智能手表和其它可穿戴设备和虚拟机、以及其任何变型或者组合,其中计算系统901是代表性的。

内容应用113表示能够与内容服务103进行通信以及渲染用户接口115以显现内容107的本地模型117的任何软件应用、模块、组件或者其集合。内容应用113的例子包括但不限于:电子表格应用、文字处理应用、演示应用、电子邮件应用、web浏览器、笔记记录应用或者任何其它类型的应用、变型或者其组合。内容107的例子包括但不限于:电子表格、电子表格工作簿、文字处理文档、演示文档、笔记记录文档、游戏视图、电子邮件应用视图、日历、以及任何其它类型的内容、变型或者其组合。

内容应用113可以是本地安装和执行的应用、流式应用、移动应用或者其任意组合或变型。在一些实施方式中,内容应用113可以是在浏览器应用的上下文中执行的基于浏览器的应用。可以将内容应用113实现为独立的应用,或者将内容应用113分布在多个应用或子系统之中。

图5示出了用于说明与内容服务的增强型用户体验的更多方面的操作场景500。在操作场景500下,服务平台501对内容服务503进行托管。用户通过应用平台上的内容应用来参与内容服务503,以访问他们的数据(通过数据505来表示)并与其进行交互。在数据505中包括内容506,例如,多个用户可以在其上进行协作的电子表格、文字处理文档或者演示,因此在一些场景下,可以将内容506视作为协作式内容。所述多个用户通过用户512、用户522和用户532来表示。

可以将内容506可视化为具有各个数据块,其中数据块507、数据块508、数据块509和数据块510是代表性的。数据块507、509、508和510的排列旨在表示如何在内容506的呈现中对这些数据块进行视觉地渲染。例如,用户可以能够在显示设备中观看数据块507,但不能观看其它数据块中的任何一个数据块,除非该用户通过用户接口中可用的各种导航工具来导航到它们。从数据块507向右滚动将渲染数据块509,从数据块507向下滚动将渲染数据块508等等。

用户512通过应用平台511上的内容应用513来参与内容服务503。内容应用513将用户接口515渲染给内容服务503,并且包括模型517。模型517是用户512通过用户接口515来与其进行交互的内容506的本地模型。

用户522通过应用平台521上的内容应用523来与内容服务503进行对接。内容应用523将用户接口525渲染给内容服务503,并且包括模型527。模型527是用户522通过用户接口525来与其进行交互的内容506的本地模型。

用户532通过应用平台531上的内容应用533来与内容服务503进行对接。内容应用533将用户接口535渲染给内容服务503,并且包括模型537。模型537是用户532通过用户接口535来与其进行交互的内容506的本地模型。

内容应用513、523和533采用预获取过程600或者其变型来监测各种用户交互,预测后续交互,以及在所预测的交互之前对数据块进行预获取。这些预测是部分地基于内容服务503提供给内容应用513、523和533的交互规则来进行的。鉴于从内容应用513、523和533收集的遥测数据,内容服务503可以定期地更新这些规则。此外,该遥测数据可以描述关于成功预测用户的后续交互而言,过去的交互规则如何良好地进行执行。

因此,在操作场景500下,内容应用513和内容应用523向内容服务503传输遥测数据。内容应用533也可以向内容服务503提供遥测数据。内容服务503使用该遥测数据来生成、精练或者产生交互规则,转而将其传输给内容应用533。还可以将内容规则传输给内容应用513和内容应用523。这些交互规则可以是一组新的规则、先前传输的规则的更新版本、或者是内容应用533可以在预获取过程600的上下文中应用的规则的某种其它变型。

在这一点上或附近,采用预获取过程600来增强关于内容506的用户体验的响应性。预获取过程600可以由内容应用513、523和533中的任何一个来实现,但出于说明性目的,参照内容应用533进行了描述。此外,预获取过程600可以可选地由内容服务503来采用,或者分布在内容服务503和内容应用之中。下面对预获取过程600的讨论参照图6中所示出的步骤,但可以领会的是,还可以发生其它步骤。

预获取过程600对与针对内容506的模型537的用户接口535的初始用户交互进行监测和检测(步骤601),其中初始用户交互541是代表性的。在该例子中,初始交互541是将指针从显现数据块507的画布的顶部中间部分向画布的左下部分移动。

响应于检测到初始用户交互,鉴于交互规则,预获取过程600预测接着将发生的后续用户交互(步骤603)。这些交互规则描述了在初始用户交互之后,接着将可能发生什么后续用户交互。因此,预获取过程600可以基于初始用户交互的识别或描述来询问这些规则,以推导或者预测后续用户交互。在该例子中,所预测的交互通过后续用户交互543来表示。后续用户交互543是对导航控件538中的方向元件的选择。在该例子中,导航控件538是水平滚动条,因此导航元件是向右箭头。

如果发生该交互,则选择向右箭头将使用户532导航到与数据块509相关联的内容506的视图。因此,在预期将发生后续用户交互543的情况下,预获取过程600从内容服务503预获取数据块509(步骤605)。用此方式,可以将块509预加载到模型537中,使得在后续用户交互543发生时,块509是可用的。

然而,在该操作场景下,用户532替代地参与预获取过程600所没有预测的不同用户交互。用户532不是参与后续用户交互543,而是参与通过后续用户交互545所表示的实际用户交互。后续用户交互545是选择导航控件539中的向下箭头。选择向下箭头使用户532导航到数据块508的视图,而不是数据块509的视图。因此,响应于后续用户交互545,从内容服务503中获取数据块508。

可以将用户532参与后续用户交互545而不是后续用户交互543的事实在遥测数据中反向报告给内容服务503(步骤607)。通过聚合,内容服务503将从很多内容应用接收到用于指示很大的样本以及很大范围的与内容的用户交互的遥测数据。鉴于遥测数据,内容服务503可以修改交互规则,以便更佳地预测用户交互以及更准确地预获取数据。

在操作场景500中,将内容506示为包括四个数据块,但可以领会的是,其可以包括另外的数据块。此外,上面所讨论的例子涉及:相对于在模型537中加载的初始数据块,选择连续的或者相邻的数据块的情况。然而,也可能发生下面的情形:关联于所预测的用户交互来预获取的下一个数据块并不与已经加载到模型537中的任何块相邻。相反,预测的用户交互可能与空间或逻辑地位于内容506中的数据块相关联,使得其并不与加载的块相邻。

在一个简短的例子中,可以将与电子表格的顶部相关联的各个数据块加载到该电子表格的本地模型中。响应于预测的下一个用户交互,可以发生用户交互。与所预测的下一个用户交互相关联的数据块可能位于该表格中的底部。在该情形下,在发生该下一个用户交互之前,可以从内容服务预获取该数据块,以加载到本地模型中。例如,下一个用户交互可以是将用户带到该电子表格的更下部分的长滚动操作。

图7示出了一个例子的工作簿700,其突出显示了可以检测的一种类型的用户交互,据此可以预测后续用户交互。工作簿700包括由列701-707和行711-717规定的单元格。单元格710代表各个单元格,其是由列706和行716来规定的。

此外,工作簿700还包括允许用户导航到并选择该电子表格的各个操作特征的由菜单721、菜单723和菜单725来表示的特征菜单。页标签允许用户导航到该电子表格工作簿内的不同的电子表格,其通过标签731、标签733、标签735和标签737来表示。

水平滚动条743允许用户在电子表格内水平地滚动,而垂直滚动条741允许用户在电子表格内垂直地滚动。其它形式的导航也是可能的,例如,通过使用键盘命令进行导航或者使用其它类型的用户输入。

图7包括代表可能发生的一种用户交互的初始用户交互,据此可以预测后续用户交互。在该例子中,初始用户交互仅仅是将指针从由列702和行713所规定的单元格跟踪移动到标签735。后台过程(例如,预获取过程200或者预获取过程600)可以对用户接口中的用户交互进行监测,以跟踪诸如上述之类的移动。可以使用该跟踪移动来预测后续用户交互。

另外在该例子中,可以预测的后续用户交互通过对标签735的选择753来表示。换言之,后台过程可以根据跟踪移动751预测用户意图选择标签735,以便导航到工作簿700内的不同电子表格。因此,在用户实际进行对标签735的选择之前,后台过程将预获取与该电子表格相关联的数据块。

图8示出了另一个例子的工作簿800,其突出显示了可以检测的一种类型的用户交互,据此可以预测后续用户交互。工作簿800包括由列801-807和行811-817规定的单元格。单元格810代表各个单元格,其是由列806和行816来规定的。

工作簿800还包括允许用户导航到并选择该电子表格的各个操作特征的由菜单821、菜单823和菜单825来表示的特征菜单。页标签允许用户导航到该电子表格工作簿内的不同的电子表格,其由标签831、标签833、标签835和标签837来表示。

水平滚动条843允许用户在电子表格内水平地滚动,而垂直滚动条841允许用户在电子表格内垂直地滚动。其它形式的导航也是可能的,例如,通过使用键盘命令进行导航或者使用其它类型的用户输入。

图8包括代表可能发生的一种用户交互的初始用户交互,据此可以预测后续用户交互。在该例子中,初始用户交互仅仅是对菜单823的选择851。后台过程(例如,预获取过程200或者预获取过程600)可以针对诸如上述之类的选择,对用户接口中的用户交互进行监测。可以使用选择851来预测后续用户交互。

另外在该例子中,可以预测的后续用户交互通过对水平滚动条843中的向右箭头的选择853来表示。换言之,后台过程可以根据对菜单823的选择851来预测用户意图选择水平滚动条843中的向右箭头,以便接下来可能导航到该电子表格的不同区域。因此,在用户实际进行对向右箭头的选择853之前,后台过程将预获取与该电子表格的其它部分相关联的数据块。

图9示出了一种操作环境900,其代表可以实现本文所公开的各种操作场景和过程的环境。操作环境900包括应用平台911、应用平台921和服务平台931。

应用平台911和921中的每一个代表适合于实现内容应用和可选地实现预获取过程的任何计算装置、系统、设备或其集合。应用平台911和921的例子包括但不限于:智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、虚拟机、智能电视、手表和其它可穿戴设备、以及其任何变型或者组合。

服务平台931表示能够实现内容服务和可选地实现预获取过程的全部或者部分的任何计算装置、系统或者其集合。服务平台921的例子包括服务器计算机、机架服务器、web服务器、云计算平台和数据中心设备,以及任何其它类型的物理或虚拟服务器机器和其任意变型或组合。在一些实施方式中,可以采用多个计算系统的集合来实现可以在一个或多个数据中心、虚拟数据中心或者任何其它适当的计算设施中托管的内容服务的全部或者部分。

计算系统901是应用平台911、应用平台921和服务平台931的例子。计算系统901可以被实现为单个装置、系统或设备,或者以分布式方式实现为多个装置、系统或设备。计算系统901包括但不限于:处理系统902、存储系统903、软件905、通信接口系统907和用户接口系统909。处理系统902与存储系统903、通信接口系统907和用户接口系统909操作性地耦合。

处理系统902从存储系统903加载软件905并进行执行。当被处理系统902执行以增强与内容服务的用户体验时,软件905指导处理系统902针对于前面的实施方式中所讨论的各种过程、操作场景和序列,如本文所描述地进行操作。计算系统901可以可选地包括出于简短目的而没有讨论的另外的设备、特征或功能。

仍然参照图9,处理系统902可以包括用于从存储系统903取回软件905并进行执行的微处理器和其它电路。可以将处理系统902实现在单个处理设备内,但其还可以分布在协作地执行程序指令的多个处理设备或者子系统中。处理系统902的例子包括通用中央处理单元、特定于应用的处理器、和逻辑设备、以及任何其它类型的处理设备、其组合或变型。

存储系统903可以包括能由处理系统902读取,并能够存储软件905的任何计算机可读存储介质。存储系统903可以包括在任何方法或技术中实现的,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的易失性和非易失性、可移动和不可移动介质。存储介质的例子包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储装置或者其它磁存储设备、或者任何其它适当的存储介质。无论如何计算机可读存储介质都不是传播的信号。

除了计算机可读存储介质之外,在一些实施方式中,存储系统903还可以包括计算机可读通信介质,其中,通过计算机可读通信介质,可以内部地或外部地传输软件905。可以将存储系统903实现为单个存储设备,但还可以将其实现在同处一地或者彼此之间相对分散的多个存储设备或子系统中。存储系统903可以包括能够与处理系统902或者可能的其它系统进行通信的另外的元件(例如,控制器)。

软件905可以利用程序指令来实现,并且除了其它功能之外,当被处理系统902执行时,可以指导处理系统902关于本文所示出的各种操作场景、序列和过程,如上所述地进行操作。当将计算系统901部署成应用平台(例如,应用平台111、511、521和531)时,软件905可以包括用于实现内容应用和其相关联的功能(例如,内容应用113、513、523和533以及预获取过程200和预获取过程600)的程序指令。当将计算系统901部署成服务平台(例如,服务平台101和501)时,软件905可以包括用于实现内容服务和其相关联的功能(例如,内容服务103和503以及预获取过程200和预获取过程600)的程序指令。

具体而言,程序指令可以包括进行协作或者相互作用以执行本文所描述的各种过程和操作场景的各种组件或模块。可以使用编译的或者解释性指令,或者使用指令的某种其它变型或组合,来具体实现各种组件或模块。各种组件或模块可以以同步或异步方式来执行,串行或并行地执行,在单线程环境或多线程环境下执行,或者根据任何其它适当的执行范例或者其变型或组合来执行。软件905可以包括另外的过程、程序或组件,例如,操作系统软件或其它应用软件。软件905还可以包括固件或者可由处理系统902执行的某种其它形式的机器可读处理指令。

通常,当将软件905加载到处理系统902中并进行执行时,其将适当的装置、系统或设备(其中计算系统901是代表性的)整体上从通用计算系统变换成被定制为促进与内容服务的增强型用户体验的专用计算系统。事实上,存储系统903上的编码软件905可以对存储系统903的物理结构进行变换。该物理结构的具体变换取决于本说明书中的不同实施方式中的各种因素。这些因素的例子可以包括但不限于:用于实现存储系统903的存储介质的技术、计算机存储介质被特征化为主存储装置还是辅存储装置、以及其它因素。

例如,如果将计算机可读存储介质实现为基于半导体的存储器,则当在其之中对程序指令进行编码时,软件905可以例如通过变换晶体管、电容或者构成该半导体存储器的其它分离电路元件的状态来变换半导体存储器的物理状态。关于磁介质或者光介质而言,可以发生类似的变换。在不脱离本说明书的范围的情况下,物理介质的其它变换也是可以的,提供前面的例子只是为了促进本文的讨论。

举例而言,再次参照图1,通过计算系统(其中计算系统901是代表性的)的操作,可以关于内容应用113(通常而言)和本地模型117(具体而言)来执行变换。举例而言,发生初始用户交互,响应于此,对后续用户交互进行预测。从内容服务103下载与所预测的交互相关联的内容的后续部分,并将其加载到本地模型117中,从而对本地模型117的状态进行了变换。关于图5中所示出的模型537而言,发生类似的变换。

可以理解的是,计算系统901通常旨在表示可以部署和执行软件905,以便实现与内容服务的增强型用户体验的计算系统。然而,计算系统901还可以适合作为能在其上执行软件905的任何计算系统,从该位置,可以对一个或二者分发、传输、下载或者提供给另一个计算系统进行部署和执行或者进行另外的分发。

通信接口系统907可以包括允许通过通信网络941来与其它计算系统(没有示出)进行通信的通信连接和设备。用于一起来允许系统间通信的连接和设备的例子可以包括网络接口卡、天线、功率放大器、RF电路、收发机和其它通信电路。这些连接和设备可以通过通信介质(例如,金属、玻璃、大气或者任何其它适当的通信介质)进行通信,以便与其它计算系统或者系统网络交换通信。前述的介质、连接和设备是公知的,故这里无需进行详细讨论。

用户接口系统909是可选的,其可以包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测非触摸手势和用户的其它运动的运动输入设备、以及能够从用户接收用户输入的其它可比输入设备和相关联的处理元件。在用户接口系统909中,还可以包括诸如显示器、扬声器、触觉设备之类的输出设备和其它类型的输出设备。在一些情况下,可以将输入和输出设备组合在单个设备中,例如,能够显示图像和接收触摸手势的显示器。前述的用户输入和输出设备是本领域公知的,故这里无需进行详细讨论。

用户接口系统909还可以包括可由处理系统902执行,以支持上面所讨论的各种用户输入和输出设备的相关联的用户接口软件。单独地或者彼此之间相结合以及与其它硬件和软件单元相结合,用户接口软件和用户接口设备可以支持图形用户接口、自然用户接口或者任何其它类型的用户接口。例如,可以通过用户接口系统909来呈现用户接口115、用户接口515、用户接口525和用户接口535。此外,可以经由用户接口系统909,来输入关于这些用户接口进行的用户输入。

应用平台911、应用平台921和服务平台931与任何其它计算系统之间的通信根据各种通信协议、协议的组合或者其变型,通过通信网络941或其它网络来发生。通信网络941的例子包括内联网、因特网、互联网、局域网、广域网、无线网络、有线网络、虚拟网、软件定义网络、数据中心总线、计算背板、或者任何其它类型的网络、网络组合或者其变型。前述的通信网络和协议是公知的,故这里无需进行详细讨论。然而,可以使用的一些通信协议包括但不限于:互联网协议(IP、IPv4、IPv6等等)、传输控制协议(TCP)和用户数据报协议(UDP)、以及任何其它适当的通信协议、变型或者其组合。

在对数据、内容或者任何其它类型的信息进行交换的任何前述例子中,可以根据包括以下各项的各种协议中的任何一种来交换信息:FTP(文件传输协议)、HTTP(超文本传输协议)、REST(表示状态传输)、WebSocket、DOM(文档对象模型)、HTML(超文本标记语言)、CSS(级联样式表)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象符号)和AJAX(异步JavaScript和XML)、以及任何其它适当的协议、变型或者其组合。

虽然图1-9主要描绘了相对较少的用户以及服务平台、内容服务、应用平台和内容应用的相对较少的实例,但可以领会的是,本文所公开的构思可以大规模地应用。例如,可以部署本文所公开的内容应用和服务以支持任意数量的用户。

在附图中提供的功能框图、操作场景和序列、以及流程图表示用于执行本公开内容的新颖性方面的示例性系统、环境和方法。虽然出于说明简单起见,本文所包括的方法具有功能图、操作场景或序列、或者流程图的形式,并可以被描述为一系列动作,但应当理解和领会的是,这些方法并不受到动作顺序的限制,这是由于根据实现,一些动作可以以不同的顺序来发生,和/或与本文所示出和描述的其它动作同时地发生。例如,本领域技术人员应当理解和领会的是,方法可以替代地表示成一系列相关的状态或事件,如在状态图中。此外,新颖性实施方式可以不要求方法中示出的所有动作。

本文中包括的说明书和附图描述了用于教示本领域技术人员如何制造和使用最佳选项的特定实施方式。出于教示发明原理起见,对一些常规的方面进行了简化或者省略。本领域技术人员应当领会落入本发明的保护范围之内的这些实施方式的变型。本领域普通技术人员还应当领会,可以以各种方式对上面所描述的特征进行组合以形成多种实施方式。因此,本发明并不限于上面所描述的特定实施方式,而是仅仅由权利要求书和其等同物进行界定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1