参数惯性和API的制作方法

文档序号:11935110阅读:182来源:国知局
参数惯性和API的制作方法与工艺

用户接口的发展继续朝着支持用户与用户接口之间的自然用户体验努力。达成此自然用户体验的一个此类方式是使用户接口模拟与物理对象的现实世界用户交互。这样,用户与用户接口中的对象的交互可以以利用用户对现实世界中的对象的体验的直观方式执行,从而改善此用户交互的效率。

用户接口可以模拟与对象的现实世界交互的一个方式是通过使用惯性。用户例如可以做出通过计算设备的触摸屏功能识别的挥扫手势。甚至一旦挥扫手势停止输入,用户接口可以继续以模拟现实世界情形中的对象上的惯性的方式移动,诸如推送页面。然而,被用来计算用户接口中的对象上的惯性作用的常规技术是静态的,并且因此局限于对象上的惯性的单一表达。



技术实现要素:

描述了参数惯性和API技术。在一个或多个实现方式中,由计算设备的操作系统经由应用编程接口将功能暴露给被配置成计算用于在用户接口中移动的惯性作用的一个或多个应用程序。所计算的用于用户接口上的移动的惯性作用由操作系统基于由一个或多个应用程序经由与应用编程接口的交互而使用一个或多个参数曲线指定的一个或多个静止点(rest point)来管理。

在一个或多个实现方式中,一种系统包括至少部分地用硬件实现的一个或多个模块。该一个或多个模块被配置成执行操作,所述操作包括由计算设备的操作系统基于由应用程序经由操作系统的应用编程接口指定的一个或多个静止点而使用多个阶段中的一个或多个来计算惯性作用的惯性静止位置。所述操作还包括在应用于由计算设备输出以便由显示设备显示的用户接口时暴露由操作系统计算的惯性静止位置。

在一个或多个实现方式中,计算设备包括处理系统和存储器,所述存储器被配置成保持可被处理系统执行以执行操作的指令。所述操作包括由操作系统向被配置成计算用于用户接口中的移动的惯性静止点的一个或多个应用程序暴露应用编程接口。所述操作还包括由操作系统基于由一个或多个应用程序经由与应用编程接口的交互而指定的一个或多个静止点来管理所计算的用于针对用户接口上的移动的惯性静止点的惯性作用。

本发明内容被提供来以简化形式介绍下面在具体实施方式中进一步描述的概念的选择。本发明内容并不意图标识要求保护的主题的关键特征或必要特征,其也不意图用作确定要求保护的主题的范围的辅助。

附图说明

参考附图来描述具体实施方式。在图中,参考标号的(多个)最左数位标识该参考标号第一次出现在其中的图。相同参考标号在描述和图中不同实例中的使用可指示类似或相同项目。图中所表示的实体可以指示一个或多个实体,并且因此可以可互换地对讨论中的实体的单数或复数形式进行参考。

图1是可操作用于执行参数惯性和应用编程接口技术的示例实现方式中的环境的图示。

图2描绘了示例实现方式中的系统,其中更详细地示出了图1的惯性模块和应用程序的交互。

图3描绘了示出工作流程图的示例实现方式,其中图2的惯性模块利用默认、位置以及范围阶段来计算用于移动主体上的惯性作用的惯性静止位置。

图4是描绘示例实现方式中的过程的流程图,其中操作系统将功能暴露给一个或多个应用程序以计算用户接口中的移动主体上的惯性作用。

图5是描绘示例实现方式中的过程的流程图,其中由操作系统基于由应用程序经由应用编程接口指定的一个或多个静止点来计算惯性静止位置。

图6图示出包括可以实现为如参考图1-5所述的任何类型的计算设备以实现本文中所述的技术的实施例的示例设备的各种组件的示例系统。

具体实施方式

综述

用户接口可以被配置成模拟用户接口中的对象上的惯性作用,从而甚至在手势完成之后响应于挥扫手势而在用户接口中继续页面的移动。然而,被用来支持此效果的常规技术一般地是静态的,并且因此提供应用程序不可改变的单个已定义效果。

描述了参数惯性和应用编程接口技术。在一个或多个实现方式中,操作系统被配置成暴露应用编程接口,应用程序经由所述应用编程接口可以指定静止点和关联的参数曲线以用于计算对象上的惯性作用。静止点和关联的参数曲线例如可以由操作系统在计算惯性作用将在该处停止的惯性静止位置时使用。

用来计算惯性静止点的阶段可以包括默认阶段,在该默认阶段中评估由取得惯性开始时的位置和速度的应用程序所指定的静止点。还可以包括位置阶段,其中评估置于惯性起始点与默认阶段的提议惯性静止点之间的静止点,并且因此可以将其用来调整默认阶段的惯性静止位置。还可以采用范围阶段,其中在提议惯性静止点的附近处评估由应用程序的静止点所指定的范围,从而“扣合到”应用程序所描述的静止点。这样,可以使用通过使用由应用程序指定的参数曲线的参数描述来产生惯性静止位置的提议定位。在下面的小节中可以找到这些及其它技术的进一步讨论。

在以下讨论中,首先描述可以采用本文所述的参数惯性和API技术的示例环境。然后描述可以在本示例环境以及其它环境中执行的示例过程。因此,示例过程的执行不限于本示例环境,并且本示例环境不限于示例过程的执行。

示例环境

图1是可操作用于采用本文中所述的参数技术的示例实现方式中的环境100的图示。所图示的环境100包括计算设备102,其可以以多种方式进行配置。

例如,计算设备可以被配置为能够通过网络进行通信的计算机,诸如台式计算机、移动站、娱乐器械、通信地耦合到显示设备的机顶盒、无线电话、游戏控制台等。因此,计算设备102的范围可以从具有丰富的存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)至具有有限存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持式游戏控制台)。另外,虽然示出了单个计算设备102,但计算设备102可以表示多个不同的设备,诸如由企业用来执行诸如由网络服务进行的操作的多个服务器、遥控器与机顶盒组合、图像捕捉设备和被配置成捕捉手势的游戏控制台等。

计算设备102被图示为包括各种硬件组件,其示例包括处理系统104、被图示为存储器106的计算机可读存储介质的示例、显示设备108等。处理系统104表示用以通过执行存储在存储器106中的指令来执行操作的功能。虽然被单独地图示,但这些组件的功能可以被进一步划分、组合(例如,在专用集成电路上)等。

计算设备102进一步被图示为包括操作系统110。操作系统110被配置成将计算设备102的底层功能抽象成可在计算设备102上执行的应用程序112。例如,操作系统110可以将计算设备102的处理系统104、存储器106、网络和/或显示设备108功能进行抽象,使得可以在不知道此底层功能“如何”实现的情况下编写应用程序112。应用程序112例如可以向操作系统110提供数据以便在不理解将如何执行再现的情况下由显示设备108或打印机116再现和显示。操作系统108还可以表示各种其它功能,从而管理可被计算设备102的用户导航的文件系统和用户接口。

操作系统110的经抽象的功能的示例在图1中被图示为惯性模块114。惯性模块114表示被暴露给应用程序112以计算由计算设备102的显示设备108所显示的用户接口116上的惯性作用的功能。例如,用户的手118的手指可以被放置成接近显示设备108并向左移动120。在本示例中,此接近和后续移动120可以被操作系统110识别为挥扫手势以促使用户接口116向左侧滚动。

可以将惯性包括为此手势的一部分,使得用户接口116的运动甚至在手势的输入停止之后仍继续。这样,用户接口的移动可以模拟现实世界中的对象的移动。还可设想其它示例,诸如用户接口116内的主体(例如,对象)的移动。还设想输入的另外其它示例,诸如通过使用光标控制设备、键盘的按键等。

然而,用来在用户接口中采用惯性的常规技术依赖于与计算设备的软件的内部工作紧密耦合的预定行为和逻辑。因此,这些常规技术不可由应用程序112定制,并且因此并不足够一般化到满足演进中的用户体验的需要。

因此,可以利用惯性模块114来向应用程序112暴露可用来定制用户接口116中的惯性作用的功能。此定制支持各种不同特征,从而确定描述示出惯性的动画的输出将在该处结束的点的惯性静止位置,其进一步讨论可以在下面找到并在相应图中示出。

图2描绘了示例实现方式中的系统200,其中更详细地示出了惯性模块114和应用程序112的交互。如图示的,操作系统110包括如先前所述的惯性模块114,其表示用以计算用户接口中的惯性作用的功能。在本示例中,惯性模块114包括应用编程接口(API)202,此功能经由该API暴露给应用程序112。应用程序112可以以各种方式与应用编程接口202交互以指定惯性模块114在计算用户接口中的惯性作用时将利用的约束。

应用程序112例如可以传送一个或多个静止点204和相应的参数曲线206,所述参数曲线206被用来在计算惯性作用时描述与静止点204相关联的功能。参数曲线206提供可用来计算惯性静止位置的提议定位(例如将用来在用户接口中显示惯性作用的动画的停止点)的数学函数的参数描述。可以以各种方式配置静止点204,诸如惯性的自然终止点、扣合点、内容边界或者指示惯性作用可以在该处停止的位置的任何概念。

惯性模块114可以在计算用户接口上的惯性作用时利用一个或多个阶段208,从而确定惯性静止位置和将如何实现到该惯性静止位置的移动。阶段208的示例被图示为默认阶段210、位置阶段212以及范围阶段214。因此,在本示例中,惯性静止点计算可以采用这些阶段中的一个或多个,并且可以按照所列出的顺序这样做。例如,可以在惯性开始时从移动主体的状态(和因此的惯性作用)取得到默认阶段210的输入,来自前一阶段的结果被馈送到下一阶段,并且最后阶段的输出是惯性静止点的最终定位。

默认阶段210是其中评估由取得惯性开始时的位置和/或速度的应用程序112指定的参数静止点204的阶段。位置阶段212是其中评估置于惯性起始点与默认阶段210的提议惯性静止点之间的静止点204的阶段。范围阶段214是其中评估当前提议的惯性静止点的附近处的有限数目的范围静止点204的阶段。

可以使用静止点204来通过指定提议静止点本身的位置而确定惯性作用的提议静止点。可以根据从交互的状态测量的各种不同参数来指定静止点204。例如,可以相对于惯性开始时的惯性作用的移动主体的位置来指定静止点204。还可以将静止点204指定为从来自前一阶段的惯性静止点的位置至惯性开始时主体的参数静止点的距离,即从速度导出的距离。还可以基于主体通过静止点204时的速度、基于主体在它来到来自前一阶段的惯性静止点上静止下来时的外推速度来指定静止点204。

还可以根据与交互的状态没有关系的绝对值来指定静止点204。例如,可以将静止点204指定为恒定数值。还可以使用与绝对值相距设定距离的位置(无论内容位于何处)来执行静止点204的直接指定。可以将直接指定提议静止点的位置的静止点204称为基于位置的静止点。

还可以利用静止点204的位置通过指定吸引范围(例如,在其内部位置“扣合到”静止点204)来确定惯性作用的提议静止点。可以使用各种值、静止点204的位置等来界定所述范围。例如,所述范围可以被指定为以在静止点204的负侧或正侧在惯性开始时与主体的位置相距设定距离的位置为中心。所述范围还可以被指定为以在静止点的负侧或正侧与绝对位置值相距设定距离的位置为中心。因此,在下文中可以将提供这些范围指定的静止点204称为基于范围的静止点或者简单地范围静止点。

可以基于惯性起始点来执行位置阶段212中的静止点位置的选择。例如,可以将由默认阶段210计算的惯性静止位置设定为候选。评估在前一惯性静止点候选的方向上前进遇到的第一位置静止点204,并且使用该静止点的位置作为惯性静止点候选。可以在位置阶段212中重复此过程直至不再遇到位置静止点为止。

可以如下从来自位置阶段212的静止点候选开始范围阶段214中的惯性静止位置的选择。首先,找到最接近于具有与之重叠的范围的惯性静止点候选的负侧的范围静止点。其次,选择最接近于两侧当中的正侧的范围静止点,其最接近于静止点候选。然后将静止点候选改变成所选范围静止点的位置。

如前所述,将用户接口中的移动主体的初始位置和速度称为惯性起始。使用细化静止点的位置的阶段208来计算惯性静止点的位置直至考虑了每个相关静止点204为止。

所述阶段208中的每一个(例如,默认、位置以及范围阶段210、212、214)是可选的。如果没有静止点适用,则在阶段208结束时选择用于静止点候选的默认值,使得默认阶段210基于主体的初始速度和预定义减速度而输出惯性静止位置,位置阶段212使静止点处于同一位置,并且范围阶段214使静止点处于同一位置。这样,默认惯性静止点是基于默认惯性减速度来以应用程序方面最少的工作给出移动主体在没有限制的情况下自由地移动的效果。

对于每个阶段,可以基于如上所述的阶段的目的考虑特定种类的静止点204。在阶段208中应用导出输入并以某种方式产生输出的静止点,并且零个或更多阶段208组合以产生用于各情形的结果,诸如内容边界、扣合点或应用程序112期望的其它行为。

可以首先由惯性模块114评估默认阶段210以获得确定惯性静止点时的明确起始点。例如,可以将默认阶段210视为计算惯性静止点时的最简单且最基本的步骤,在没有该默认阶段210的情况下行为将是主体的即时停止。

位置阶段212然后可以在由惯性模块114执行的处理中遵循默认阶段210。例如,可以利用位置阶段212来实现不同于指定各静止点204的顺序的、用以评估每个静止点的可预测顺序,其可能使惯性模块114所执行的处理复杂化(并因此降低效率)以及其正确性的验证复杂化。

利用位置阶段212来对静止点候选应用约束,从而使其处于可能达不到针对惯性作用停止所提议的原始位置的点处。并且,这可以在应用范围阶段214的范围静止点之前执行,使得不允许移动主体越过超过一个点,即使惯性将已使主体进入远离超过一个静止点的静止点范围中。

在默认阶段210中,应用程序112可以将主体的惯性静止位置定制成不同于惯性模块114所采用的默认值。参与此阶段的静止点204提供以下问题的答案:“在给定内容的初始位置和速度的情况下其将行进多远”这些静止点204在惯性开始时从移动主体的状态获取得它们的输入,从而测量其位置或速度。

使用与静止点204相关联的一个或多个参数曲线206来评估此值,从而产生输出值。参数曲线206例如可以表示基于移动体的初始速度和恒定减速度而给出行进距离的物理等式。然后将输出值应用于惯性开始时主体的位置以指示惯性作用将距离起始位置多远停止。

所述值也可以是相对的,使得无论主体在惯性开始时实际上位于何处这些值都适用,意味着应用程序112可以针对此阶段指定单个静止点204。虽然应用程序112可以针对默认阶段210指定超过一个静止点204,但使用来自各静止点204中的单个的结果。

为应用程序提供位置阶段212以当主体从它在惯性开始时的位置移动至由默认阶段210给定的位置时改变主体的路线。参与此阶段的静止点204当在惯性的移动方向上自从惯性起始位置遇到的第一个点开始依次评估各点时调整静止点定位的位置。

可以以各种方式来配置在位置阶段212中涉及的静止点204和相应的参数曲线206。例如,静止点204可以基于惯性开始时移动主体的位置,其向参数曲线206给出该位置与静止点的位置之间的距离作为输入。静止点204还可以基于惯性开始时主体的速度,其向参数曲线206给出速度的值作为输入。另外,静止点204可以是基于来自默认阶段210的候选静止位置,其向参数曲线206给出该位置与静止点的位置之间的距离作为输入。此外,静止点204可以基于主体在它通过静止点时的速度,该速度是从惯性开始时的速度和主体到达候选静止位置时的速度(其为零)外推出的。

然后用此输入来评估与静止点204相关联的参数曲线206并通过由惯性模块114处理来产生输出值。然后可以将该值应用于静止点的位置作为其与针对下一个遇到的静止点所提议的主体的静止位置之间的距离。这可以用来支持各种功能,诸如在主体在通过扣合点时在某个速度阈值以下移动的情况下捕捉主体的扣合点、不允许主体从其经过、从而产生被允许每次移动一个区段的用于移动主体的“单步”行为的扣合点等等。

为应用程序112提供范围阶段214以迫使移动主体从由位置阶段212给定的位置开始在特定定位处停止。参与此阶段的静止点204提供将候选静止位置朝着其“拉动”或远离其“推动”的吸引范围。

可以以各种方式来配置参与范围阶段214的静止点204。静止点204可以基于惯性开始时移动主体的位置,其向参数曲线206给出该位置与静止点的位置之间的距离作为输入。静止点204可以基于惯性开始时主体的速度,其向参数曲线206给出速度的值作为输入。静止点204还可以是基于来自默认惯性情况的候选静止位置,其向参数曲线206给出该位置与静止点的位置之间的距离作为输入。另外,静止点204可以基于主体在它通过静止点204时的速度,该速度是从惯性开始时的速度和主体到达候选静止位置时的速度(其为零)外推出的。

可以用此输入来评估两组参数曲线206,一组用于朝着静止点204的负方向延伸的范围,另一组用于朝着静止点204的正方向(例如,沿着移动方向)延伸的范围。将来自前一阶段的候选静止位置覆盖在其范围内的最近静止点将其替换为范围阶段214的候选静止位置。

如果存在具有与候选静止位置重叠的范围的多个范围静止点,则选择最近的一个。这意味着较远的静止点使其范围在较近静止点的位置处有效地“截止”。然而,较近的静止点还可以产生不与候选静止位置重叠的范围,并且可以考虑较远的静止点,从而使得其范围有效地“经历”较近的静止点。

范围阶段214所支持的行为的示例包括内容边界,在该点处内容不能移动更远,并且因此在此位置处静止下来,如果其在惯性开始时更远的话。这并不是由位置静止点实现的,因为其可能不适用,因为搜索在惯性的方向上进行,例如内容可能正在通过惯性开始时的用户交互而离开边界。

在另一示例中,可以利用范围阶段214来指定强制性扣合点,其中移动主体被迫使在惯性结束时在此类静止点中的一个处停止。在另一示例中,范围阶段214可以实现可选的扣合点,其中如果移动主体足够接近于静止点以及在速度阈值以下移动,则主体在该静止点处停止。如下描述并在相应的图中示出示出了由惯性模块114实现默认阶段210、位置阶段212以及范围阶段214的示例。

图3描绘了示出工作流程图的示例实现方式300,其中图2的惯性模块114利用默认、位置以及范围阶段210、212、214来计算用于移动主体上的惯性作用的惯性静止位置。使用第一、第二、第三、第四、第五和第六级302、304、306、308、310、312来图示出本示例实现方式300。第一级302对应于起始状态,第二级304图示出默认阶段210,第三和第四级306、308对应于位置阶段212,第五级310对应于范围阶段214,并且第六级312图示出结束状态,其是由惯性模块114计算的各级的结果。

在第一级302处,示出了包括惯性开始314的起始状态,该惯性开始314后面是范围静止点316、位置静止点318、另一位置静止点320以及范围静止点322。因此,位置静止点328、320对应于位置阶段212,并且范围静止点316、322对应于范围阶段214且将在其各自阶段中由惯性模块114评估。

在第二级304处,在默认阶段210中计算惯性静止点324。默认阶段210例如可以基于惯性开始314时移动主体的位置和速度来计算惯性静止点324。例如,默认阶段210可以基于移动主体的初始速度和预定义减速度来计算惯性静止位置324,并且因此回答问题“在给定其初始位置和速度的情况下主体将行进多远”这样,默认阶段210在确定惯性静止点时给出明确的起始点。

在第三级306处,当移动主体从其在惯性开始时的位置移动至由默认阶段210给定的位置时改变移动主体的路线。参与此阶段的静止点当在惯性的移动方向上自从惯性起始位置遇到的第一个点开始依次评估各点时调整静止点候选的定位的位置。因此,首先评估位置静止点320,其导致静止点候选326。在第四级308处评估位置静止点318的效果,其导致静止点候选328。由于不存在更多适用的位置静止点,在候选阶段212中涉及的评估得以完成,其中结果为静止点候选328。

在第五级310处,由惯性模块114来评估范围阶段214。这评估范围静止点316、322对来自位置阶段212的静止点候选328的影响。例如,范围静止点316可以具有由括号图示的范围332,并且范围静止点322可以具有由另一括号图示的范围334。由于来自位置阶段212的静止点候选328的位置落在范围静止点316的范围332内,所以范围静止点316在第六级312处被设定为如针对结束状态所图示的惯性静止点。这样,惯性模块114可以使用一系列阶段来计算用户接口中的主体的移动上的惯性作用,其进一步讨论可以关于以下程序而找到。

示例过程

以下讨论描述可以利用先前所述的系统和设备来实现的参数惯性和API技术。可以用硬件、固件或软件或其组合来实现这些过程中的每一个的各方面。这些过程被示出为一组方框,其指定由一个或多个设备执行的操作且不一定局限于用于由各方框执行操作而示出的顺序。在以下讨论的各部分中,将对上面所述的图进行参考。

可以在本文中所述的过程的上下文中采用关于图1-3的示例所描述的功能、特征以及概念。此外,关于下面的不同过程所描述的功能、特征以及概念可以在不同的过程之间互换,而不局限于在单独过程的上下文中实现。此外,可以将与本文中不同代表性过程和相应的图相关联的方框一起应用和/或以不同的方式组合。因此,可以以任何适当的组合使用关于本文中不同示例环境、设备、组件以及过程所描述的各个功能、特征以及概念,而不局限于枚举的示例所表示的特定组合。

图4描绘了示例实现方式中的过程400,其中操作系统将功能暴露给一个或多个应用程序以计算用户接口中的移动主体上的惯性作用。由计算设备的操作系统经由应用编程接口将功能暴露给被配置成计算用于用户接口中的移动的惯性作用的一个或多个应用程序(方框402)。操作系统110例如可以包括由惯性模块114表示的用以计算惯性作用的功能。惯性模块114可以包括支持与应用程序112的交互的应用编程接口202。

所计算的用于用户接口上的移动的惯性作用由操作系统基于由一个或多个应用程序经由与应用编程接口的交互而使用一个或多个参数曲线指定的一个或多个静止点来管理(方框404)。继续先前的示例,应用程序112可以指定静止点204和相应的参数曲线206,其可用作惯性作用的计算的一部分,例如以计算惯性静止位置,以及在动画中涉及的移动正显示到惯性静止位置的惯性关系移动。这样,应用编程接口202可以支持将应用于用户接口中的移动主体(例如,诸如当滚动时作为整体的用户接口、用户接口内的对象的移动等等)的惯性的丰富描述。

图5描绘了示例实现方式中的过程500,其中由操作系统基于由应用程序经由应用编程接口指定的一个或多个静止点来计算惯性静止位置。由计算设备的操作系统基于由应用程序经由操作系统的应用编程接口指定的一个或多个静止点而使用多个阶段中的一个或多个来计算惯性作用的惯性静止位置(方框502)。所述多个阶段可以包括默认阶段,其中惯性静止位置至少部分地基于输入的初始速度和预定义减速度(方框504)。所述多个阶段还可以包括位置阶段,其中按照应用程序的指定向一个或多个静止点应用约束以确定惯性静止位置(方框506)。所述多个阶段还可以包括范围阶段,其中按照应用程序的指定向一个或多个静止点应用范围以确定惯性静止位置(方框508)。可以如上所述单个地、连续地等等采用这些阶段。

在应用于由计算设备输出以便由显示设备显示的用户接口时由操作系统暴露所计算的惯性静止位置(方框510)。例如,惯性模块114可以采用这些阶段来到达结果得到的惯性静止位置。此位置然后可以用作将在如前所述的涉及用户接口中的惯性的动画中采用的目的地。在不脱离本文中的精神和范围的情况下还设想各种其它示例。

示例系统和设备

图6一般地在600处图示出包括表示可以实现本文所述各种技术的一个或多个计算系统和/或设备的示例计算设备602的示例系统。其示例通过包括惯性模型114而被图示出。计算设备602可以是例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统和/或任何其它适当的计算设备或计算系统。

如图示的示例计算设备602包括被相互通信地耦合的处理系统604、一个或多个计算机可读介质606以及一个或多个I/O接口608。虽然未示出,但计算设备602还可包括将各种组件相互耦合的系统总线或其它数据和命令传送系统。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用多种总线架构中的任何一个的处理器或本地总线。还设想多种其它示例,诸如控制和数据线。

处理系统604表示用以使用硬件来执行一个或多个操作的功能。因此,处理系统604被图示为包括可以被配置为处理器、功能块等的硬件元件610。这可以包括作为专用集成电路或使用一个或多个半导体形成的其它逻辑设备的硬件中的实现方式。硬件元件610不受形成它们的材料或在其中采用的处理机制的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))构成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。

计算机可读存储介质606被图示为包括存储器/储存器612。存储器/储存器612表示与一个或多个计算机可读介质相关联的存储器/储存器容量。存储器/储存器组件612可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/储存器组件612可以包括固定介质(例如,RAM、ROM、固定硬驱等)以及可移动介质(例如,闪存、可移动硬驱、光盘等)。可以以各种其它方式来配置计算机可读介质606,如下面进一步描述的。

(多个)输入/输出接口608表示用以允许用户向计算设备602键入命令和信息并且还允许使用各种输入/输出设备向用户和/或其它组件或设备呈现信息的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被配置成检测物理触摸的电容性或其它传感器)、相机(例如,其可以采用诸如红外频率之类的可见或不可见波长来识别作为不涉及触摸的手势的移动)等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以以如下面进一步描述的各种方式来配置计算设备602以支持用户交互。

在本文中可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般地,此类模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如本文所使用的术语“模块”、“功能”和“组件”一般地表示软件、固件、硬件或其组合。本文所述的技术的特征是平台无关的,意味着可以在具有各种处理器的各种商用计算平台上实现这些技术。

可以在某种形式的计算机可读介质上存储或跨某种形式的计算机可读介质传输所述模块和技术的实现方式。计算机可读介质可以包括可以被计算设备602访问的各种介质。以示例的方式而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。

“计算机可读存储介质”可以指代使得能够实现信息的持久和/或非临时存储(与仅仅信号传输、载波或信号本身相反)的介质和/或设备。因此,计算机可读存储介质指代非信号承载介质。计算机可读存储介质包括用适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据之类的信息的方法或技术实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能磁盘(DVD)或其它光学储存器、硬盘、盒式磁带、磁带、磁盘储存器或其它磁性存储设备或者适合于存储期望信息且可被计算机访问的其它存储设备、有形介质或或制品。

“计算机可读信号介质”可以指代被配置成诸如经由网络向计算设备602的硬件传输指令的信号承载介质。信号介质典型地可以在诸如载波、数据信号或其它输运机制之类的已调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据。信号介质还包括任何信息输送介质。术语“已调制数据信号”意指这样的信号,该信号使其特性中的一个或多个以将信息编码在该信号中的方式被设定或改变。以示例的方式而非限制,通信介质包括诸如有线网络或直接连线连接之类的有线介质以及诸如声学、RF、红外及其它无线介质之类的无线介质。

如前所述,硬件元件610和计算机可读介质606表示在某些实施例中可被采用来实现本文所述技术的至少某些方面的以硬件形式实现的模块、可编程器件逻辑和/或固定器件逻辑,从而执行一个或多个指令。硬件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其它硬件中的其它实现方式的组件。在本文中,硬件可以操作为执行由指令定义的程序任务和/或硬件所体现的逻辑的处理设备以及被用来存储指令以用于执行的硬件,例如先前所述的计算机可读存储介质。

还可以采用前述内容的组合来实现本文中所述的各种技术。因此,可以将软件、硬件或可执行模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件610体现的一个或多个指令和/或逻辑。计算设备602可以被配置成实现对应于软件和/或硬件模块的特定指令和/或功能。因此,可以例如通过使用处理系统604的计算机可读存储介质和/或硬件元件610至少部分地在硬件中达成可由计算设备602作为软件执行的模块的实现。指令和/或功能可被一个或多个制品(例如,一个或多个计算设备602和/或处理系统604)执行/操作以实现本文所述的技术、模块以及示例。

如在图6中进一步图示的,示例系统600使得能够当在个人计算机(PC)、电视设备和/或移动设备上运行应用程序时实现用于无缝用户体验的普遍存在的环境。当在利用应用程序、播放视频游戏、观看视频等的同时从一个设备过渡至下一设备时,服务和应用程序在全部三个环境中基本上类似地运行以实现共同的用户体验。

在示例系统600中,通过中央计算设备将多个设备互连。中央计算设备可以在多个设备的本地,或者可位于远离多个设备处。在一个实施例中,中央计算设备可以是通过网络、因特网或其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。

在一个实施例中,此互连架构使得能够跨多个设备输送功能以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能够向设备输送针对该设备量身定制且为所有设备所共有的体验。在一个实施例中,创建一类目标设备并针对该一般类别的设备量身定制体验。可以由设备的物理特征、使用类型或其它共同特性来定义一类设备。

在各种实现方式中,计算设备602可采取多种不同的配置,诸如用于计算机614、移动装置616以及电视618用途。这些配置中的每一个包括可以具有一般不同的构造和能力的设备,并且因此可以根据不同设备类别中的一个或多个来配置计算设备602。例如,可以将计算设备602实现为计算机614类的设备,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。

还可以将计算设备602实现为移动装置618类的设备,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等。还可以将计算设备602实现为电视618类的设备,其包括具有或被连接到非正式观看环境中的一般地较大屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等。

本文所述的技术可以被计算设备602的这些各种配置支持,并且不限于本文所述的技术的特定示例。此功能还可以全部或者部分地通过使用分布式系统、诸如经由如下所述的平台622通过“云”620来实现。

云620包括和/或表示用于资源624的平台622。平台622将云620的硬件(例如,服务器)和软件资源的底层功能进行抽象。资源624可以包括在远离计算设备602的服务器上执行计算机处理时可以利用的应用程序和/或数据。资源624还可以包括通过因特网和/或通过订户网(诸如蜂窝或者WiFi网络)提供的服务。

平台622可以将资源和功能进行抽象以将计算设备602与其它计算设备相连。平台622还可以用于将资源的分级进行抽象以针对遇到的对于经由平台622实现的资源624的需求提供对应水平的分级。因此,在互连设备实施例中,可以将本文中所述的功能的实现方式遍布于系统600分布。例如,可以部分地在计算设备602上以及经由将云620的功能进行抽象的平台622来实现该功能。

结论

虽然已经用特定于结构特征和/或方法动作的语言描述了示例实现方式,但应理解的是在所附权利要求中定义的实现方式不一定局限于所述的特定特征或动作。相反地,这些特定特征和动作是作为实现要求保护的特征的示例形式而公开的。

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