针对数据可视化的性能优化的制作方法

文档序号:12513357阅读:507来源:国知局
数据可视化是用于在可视化(例如,图表、信息图、地图、计量图(gauge)等)中图形表示数据的过程。大的数据集的可视化要求显著的系统资源(包括处理器时间和存储器)来制备或存储所述可视化,这可能引起系统卡死(lockup)或慢下来。实施例将是关于这些和其它考量而做出的。技术实现要素:提供该“
发明内容”以引入在后续“具体实施方式”部分中进一步描述的简化形式的概念选集。该“
发明内容”并不意图识别所要求保护主题的所有特征,且也不打算限制所要求保护主题的范围。本公开的方面通过从数据可视化筛除数据以减少存储器需求来提供性能优化。根据一个方面,在布局时间期间筛除数据,以智能地跳过不会实质影响可视化的呈现的数据;在保存呈现的同时减少复杂度。根据另一方面,筛除在布局期间产生的几何结构,以使得几何结构向量被减少或被简化/修剪(trimmed)以减少布局后处理(例如,渲染)。根据另一方面,每个序列布局使用私有优化数据结构来存储抽象形式的几何结构用于减少存储器使用。本公开的各方面还提供了通过将可视化克隆并在后台线程上执行布局而将布局的成本委托(defer)给后台线程,然后将计算出的布局接近持续地(near-constant)转移到前台线程。例子可以实现为计算机过程、计算系统或作为制品(例如,计算机程序产品或计算机可读介质)。计算机程序产品可以是计算机系统可读的且编码有用于执行计算机过程的计算机程序指令的计算机存储介质。在附图和下文描述中阐述了一个或多个方面的细节。根据阅读后续具体实施方式和查看相关联附图,其它特征和优点将变得明显。应该理解的是,下文的具体实施方式只是说明性的,而非对本公开进行限制。附图说明附图被并入本公开并构成本公开的一部分,示出了本公开的各个方面。在附图中:图1示出了数据在单个方向上流动的流水线架构;图2示出了用于优化对可视化进行创建和布局的性能的系统的框图;图3是示出在用于提供数据可视化平台性能优化的方法中涉及的一般阶段的流程图;图4是示出计算设备的示例性物理部件的框图;图5A和5B是移动计算设备的框图;以及图6是分布式计算系统的框图。具体实施方式后续具体实施方式涉及附图。在图中以及后续描述中尽可能地使用相同的附图标记来指代相同或类似的元件。虽然描述了本公开的各方面,但是也可以进行修改、适配和其它实现方式。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过对公开方法进行替换、重排序或添加阶段来修改本文描述的方法。因此,后续具体实施方式并不限于本公开,相反地,本公开的正确范围是通过随附权利要求来定义的。例子可以采用硬件实现方式、完全软件实现方式、或者组合软件和硬件方面的实现方式的形式。因此,后续具体实施方式并不应被当作是限制意义的。如在本领域所公知的,存储器通常是应用性能的瓶颈。各方面允许通过对所使用的存储器的量进行限界并通过将数据存储于单个连续分配(single,contiguousallocation)中而优化应用性能。如下所述,当通过布局引擎计算几何结构时,可以将几何结构缓存在限界的序列对象内。各方面提供了基于每布局的数据筛除和私有化(privatization),用于存储抽象几何结构来优化性能。本公开的例子致力于经由从数据可视化中将数据筛除来提供在数据可视化平台内的性能优化。根据一方面,所述架构使得能够经由分开的阶段(separatestages)的单向链建立数据可视化(例如,图表、信息图、地图、计量图等),每个阶段具有简单的输入接口和输出接口。图1示出了其中数据在单个方向上流动的流水线架构100。如图1所示,数据从原始数据105流动到抽象几何结构115、到序列对象125、到可视化135。可以在流水线的每个阶段(stage)处对数据进行私有化和筛除,这减少了用于对可视化135进行布局和创建的存储器。因此,更有效率地执行可视化生成。原始数据105包括将在可视化135中标绘(plot)的数据点集合。在各个方面,通过行(row)、向量、阵列(array)、表格(table)、矩阵等组织原始数据105。在一个例子中,从Redmond,Washington的MICROSOFTCORPORATION提供的电子表格软件的一组单元(cell)中取出原始数据105。可视化135例如包括图表、信息图、地图、计量图等,其用于图形显示原始数据105。抽象几何结构115包括基元(例如,线、Bezier曲线、Bezier曲面等)的有限集,其可以被直接传递给适当的渲染应用程序接口(API)或传递给额外的模块或引擎用于进一步的处理。根据这些基元(primitive),可以近似任意几何结构。根据各方面,将抽象几何结构115以被裁剪以适应布局的每种类型的压缩形式存储为序列对象125。在若干方面,将抽象几何结构115组装成为序列对象125,其存储于在存储器中作为连续块的单个分配(allocation)中,这提高了取回的速度。根据各方面,序列对象125是私有化存储的形式,其可操作以提供组成该序列对象的所有的抽象几何结构115,而无需被针对个体抽象几何结构115而询问;在一个同步操作中提供全部序列对象125来产生可视化135。根据各方面,缓存在序列对象125中的抽象几何结构115的量被可视化135的显示器尺寸限界,并且被计算为具有固定的存储器成本。当序列对象125的尺寸被限界时,一些方面使用多个序列对象125来创建可视化135的部分。序列对象125的一个例子是由抽象几何结构115组成的圆圈(例如,四个三次Bezier曲线,每个组成圆圈的四分之一),其可以作为圆圈的半径的函数在可视化135中呈现原始数据105。根据各方面,抽象几何结构115以各种形式存储。根据一个方面,抽象几何结构115存储为主要和实例压缩形式(例如,三角形、圆圈、菱形、线条、扇形等的列表)。主要和实例压缩形式(masterandinstancescompactform)使能了具有重复形式的几何结构的可视化类型(例如,散点序列,其中每个数据点都是菱形),来通过压缩待提供的序列对象125的体积而改善性能。各方面使能可视化135使用主要/实例形式中的几何结构,由此序列对象125的主要几何结构(例如,菱形)被一次性地以全部细节来描述,并且实例参考该主要几何结构并被描述为在可视化135中围绕其构造该主要几何结构的单个点(例如,菱形的中心)。根据另一方面,抽象几何结构115可以存储为路径几何结构(例如,面积图表、表面图表、雷达图表、趋势线等)。根据另一方面,抽象几何结构115可以存储为公式。例如,在绘制供需曲线的商业图表中,描述所述曲线的函数被存储。因此,在渲染期间可以合成抽象几何结构115。例如,在简单布局(其计算不昂贵且数据是本地的)的情况下(例如,线条图表、柱状图等),可以直接根据原始数据105合成抽象几何结构115。图2示出了用于优化对可视化135进行创建和布局的性能的系统200的框图。在系统200中,在对可视化135进行创建的布局阶段(layoutphase)期间,将数据从客户端240传递给布局引擎210并进行处理,并且将抽象几何结构115传递回客户端240来提供可视化135。从客户端240接收到的数据包括原始数据105和表面描述235,其提供关于以下的上下文:客户端240,以及原始数据105将在其内被可视化的坐标空间。根据一个方面,将数据传递给序列布局模块250,以根据表面描述235创建抽象几何结构115,从而在可视化135中图形地呈现原始数据105,其转而被传递回布局引擎210以在将抽象几何结构115被发送给客户端240之前筛除抽象几何结构115。系统200可操作以在任一时间点(atanypoint)对数据或几何结构进行私有化或筛除。在对可视化135进行创建的布局阶段期间,将从客户端240接收到的原始数据105转换为抽象几何结构115。根据一方面,当布局引擎210正在构造布局时,数据筛除器220使用定制筛除逻辑来执行原始数据105的布局特有的筛除。如定制筛除逻辑所确定出的,即使被移除也不会实质地影响可视化135的原始数据105被筛除;其在计算几何结构时可以被忽略或跳过。根据一方面,被筛除的数据由布局引擎210或客户端240留存,但是不被发送到序列布局模块250也不用于后续操作。数据筛除器220使得布局引擎210能够构造仍传达原始数据105的相同解释但使用更少数据的可视化135。根据各方面,当在可视化135中的图形表示实质上受到其它原始数据105的表示的影响时,筛除原始数据105。例如,在列序列的可视化135中,组成原始数据105的数据序列被可视化为垂直列,从原始数据105筛除与其它数据序列的垂直列在可视化135中重叠的数据序列。在另一例子中,在气泡序列的可视化135中,从气泡图标内高密度区域筛除原始数据105(表示为圆圈)。根据各方面,可视化的每个类型包括适于其布局的定制筛除逻辑。在这些方面,基于可视化类型(例如,柱状图、散点图、饼图等)选择特定的筛除逻辑,其选择性地跳过/忽视将会产生对其它抽象几何结构115或序列对象125的显示实质上地造成影响的抽象几何结构115或序列对象125的原始数据105。根据各方面,在筛除中不删除原始数据105;其只是出于创建可视化135的目的而被忽略。在各个方面,将未被筛除的原始数据105转换为可以用于合成几何结构的适当基元用于流水线架构100中的下游过程(例如,经由可视化135进行渲染或与之交互)。通过筛除原始数据105,为在流水线架构100中后续发生的过程提供减少的待操纵的数据量,同时提供等效的对数据的解释。根据另一方面,当在布局阶段期间产生抽象几何结构115时,几何结构筛除器230筛除抽象几何结构115进一步减少对于客户端240的当前输出分辨率(或者执行客户端240的设备)而言太复杂的抽象几何结构115和序列对象125的渲染和光栅化成本。在各个方面,在可视化的抽象几何结构115落到可视化135内的尺寸阈值以下时,几何结构筛除器230执行几何结构筛除逻辑来撤除抽象几何结构115或将其转换为更简单的形式。根据一方面,几何结构筛除器230可操作以在筛除不会实质影响所显示的可视化135时撤除抽象几何结构115。例如,几何结构筛除器230针对空的序列对象125以及在可视化135中以零长度渲染的线段而撤除抽象几何结构115,修剪/转换具有零高度/宽度和短Bezier曲线(例如,小于4个像素)的三角形为线条,组合共线部分等。根据各方面,几何结构筛除器230减少显示一组抽象几何结构115所需的基元数量,但不实质影响根据表面描述235的可视化135。通过呈现由更少或更简单的基元(例如,取代Bezier曲线的线条(line))组成的抽象几何结构115,几何结构筛除减少在流水线架构100中后续阶段所需的处理量。各方面规定针对可视化135生成的表面描述235(例如,可视化类型、可视化尺寸、客户端分辨率/dpi等),以提供筛除阈值所基于的客户端上下文。例如,1920x1080像素显示分辨率的客户端240具有比800x600像素显示分辨率的客户端240更大的分辨率,后者不能显示与具有较大分辨率的客户端240同样多细节的相同可视化135。因此,在具有较大分辨率的客户端240上显示的矩形的几何结构可以被筛除以在具有较小分辨率的客户端240上被显示为线条(或根本不显示)。表面描述235被数据筛除器220使用来确定抽象几何结构115何时将实质影响彼此(并因此筛除相关联的原始数据105),并且表面描述235被几何结构筛除器230使用来确定何时能够撤除或简化/修剪抽象几何结构115而不实质影响可视化135的显示。根据各方面,在布局阶段期间处理全部数据集,以产生正确的且减少的抽象几何结构115的集合,这可能花费较长时间并可能引入在客户端240的用户界面(UI)中的简短的挂起和无响应时段。例如,为了基于百万行原始数据105创建可视化135,“遍历”(即,逐行处理)百万行原始数据105来执行数据筛除过程,并类似地处理得到的抽象几何结构115以执行几何结构筛除。各方面规定通过允许客户端240克隆可视化135并将布局阶段推送到后台线程而将布局阶段的成本委托(defer)给后台线程来改善响应性。如本领域已知的,可以接近持续地(例如,小于0.5ms)实现克隆。后台布局过程允许客户端240仍响应于用户输入,同时在后台计算可视化135的布局。各方面允许前台可视化135保持空白,显示先前的布局,为后台线程显示进度条(或正在进行的布局过程的类似表示),或其组合。各方面还允许客户端240中止后台线程,例如,当用户手动中止时或当进行第二请求时。根据各方面,一旦后台布局阶段完成,就可以经由涉及对在前台中的可视化135进行替代或更新的指针交换的API,接近持续地将计算出的布局转移回前台线程。图3是示出在用于提供数据可视化平台性能优化的方法300中涉及的一般阶段的流程图。方法300开始于开始(START)301并进行到操作310,在此接收将在可视化135中使用的数据。根据各方面,接收到的数据包括原始数据105和用于可视化135的表面描述235。方法300然后进行到操作320,在此将布局推送到后台线程。将布局推送到后台线程以防止可能在处理期间在客户端240的UI中引入挂起或无响应时段。方法300然后进行到决策操作330。在决策操作330处,基于坐标系要求(例如,笛卡尔,值/值(例如,散点图表);笛卡尔,种类/值(例如,柱状图表);径向,种类/值(例如,饼状图表、雷达图表)等)来确定是否筛除原始数据105,并且显示经由表面描述235取回的可视化135的维度。根据表面描述235和分析原始数据105,可以确定两个数据序列或数据点的几何结构是否在显示表面上重叠。例如,当在监视器上创建每英寸上百像素的五英寸宽的柱状图表(即,500个像素的图表)时,可以确定在示例性图表中能够以至多500个单像素宽的列绘制可视化。因此,显示多于原始数据105的500个数据序列将使得相关联的抽象几何结构115实质地影响彼此(例如,重叠),并且可以确定将筛除原始数据105。当确定筛除原始数据105时,方法300进行到操作335,在此根据各方面,将依据布局特有的定制筛除逻辑筛除原始数据105(例如,对于散点序列,撤除重叠标记),然后方法300进行到操作340。根据各个方面,可以依据若干筛除方案筛除原始数据105,所述筛除方案可以是根据各个方面基于可视化类型而用户定义的或由系统设置的,包括:通过顺序截断(例如,在到达阈值之后忽略数据序列),交织截断(例如,筛除每隔一个数据序列),合并(例如,在诸如饼状图的适当可视化中组合小的数据序列为“混杂”数据序列),异常值筛除,等等。当确定不筛除原始数据105时,或当筛除完成时,方法300进行到操作340。在操作340处计算和生成抽象几何结构115以在可视化135中表示原始数据105。根据一方面,针对组成原始数据105的每个数据序列单独计算并生成抽象几何结构115。根据一方面,抽象几何结构由基元(例如,线条、Bezier曲线、Bezier曲面等)组成。方法300随后进行到决策操作350,在此基于客户端240的显示特性和经由表面描述235取回的可视化135来确定是否筛除抽象几何结构115。继续关于决策操作330给出的例子,如果500列将被渲染为具有一个像素宽度的矩形,则可以做出将其几何结构(经由修剪)从矩形筛除为线条的决定,而不实质影响可视化135;可视化135对于用户而言看起来大体是一样的。当确定筛除抽象几何结构115时,方法300进行到操作355,在此根据几何结构筛除逻辑筛除抽象几何结构115。在各方面,筛除组成抽象几何结构115的基元包括但不限于:设置主要和实例格式,从而仅将几何结构传递给客户端240一次;修剪抽象几何结构的基元(例如,可以将一个像素宽度/高度的矩形表示为线条,可以将短曲线表示为线条,等等)来减少客户端240所需的处理量;撤除可忽略的几何结构,例如对应于空的、零值或太小而不能准确显示在可视化135上的数据序列的抽象几何结构115(例如,饼状图中的薄片可能太薄而不能准确显示为图表中的线条),从而减少客户端240所需的渲染时间;将共线部分的基元组合为客户端的成组过程;等等。根据各方面,因为抽象几何结构115是针对每个数据序列单独生成,所以其也被单独处理和筛除,这允许方法300在于操作340生成所有的抽象几何结构115之前就开始几何结构筛除。当确定不筛除抽象几何结构时,或者当完成筛除时,方法进行到操作360,在此抽象几何结构115以每序列布局为基础,例如经由序列对象125私有地存储。在各个方面,序列对象125存储于作为存储器中连续块的单个分配内,这改善了取回的速度。在各方面,通过可视化135的显示约束(如表面描述235所表示的)对序列对象125进行限界,并且序列对象125被计算为具有存储器中的固定成本,从而可以接近持续地(例如,小于0.5ms)从存储器取回。在一些方面,每个序列对象125对应于数据序列(或在其它方面,对应于组合的数据序列),并且可以单独存储,这允许方法300在根据操作355筛除了所有抽象几何结构115之前就开始存储。根据一方面,若干序列对象125存储于存储器中相邻的连续块中,这进一步提高了在操作380中取回的速度。方法300随后进行到操作370。在操作370处,将计算出的布局从后台线程转移回前台线程。然后,方法300进行到操作380,在此将抽象几何结构115提供给客户端240。根据各方面,抽象几何结构115作为序列对象125被流式传送到客户端240。在客户端240接收到抽象几何结构115之后,可以提供可视化135,并且方法在结束(END)399处结束。图4-6及其相关描述提供了可以实践本公开的例子的操作环境。然而,参考图4-6示出和讨论的设备和系统是出于示例和说明的目的,并非要对大量可用于实践本文描述的本公开的各方面的计算设备配置进行限制。图4是示出可以实践本公开的例子的计算设备400的物理部件(即,硬件)的框图。下文描述的计算设备部件可以适于上述客户端设备。在基本配置中,计算设备400可以包括至少一个处理单元402和系统存储器404。取决于计算设备的配置和类型,系统存储器404可以包括但不限于:易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪存、或这些存储器的任意组合。系统存储器404可以包括操作系统405和适于运行软件应用450(例如,布局引擎210)的一个或多个编程模块406。根据一方面,系统存储器404可以包括客户端240。操作系统405可以适于例如控制计算设备400的操作。此外,本发明的各方面可以结合图形库、其它操作系统或任意其它应用程序来实践,且不限于任意特定的应用或系统。该基本配置在图4中通过虚线408内的那些部件示出。计算设备400可以具有额外的特征或功能。例如,计算设备400还可以包括额外的数据存储设备(可移除的或不可移除的),例如,磁盘、光盘或磁带。这种额外的存储设备在图4中通过可移除存储设备409和不可移除存储设备410示出。如上所述,多个程序模块和数据文件可以存储于系统存储器404中。当在处理单元402上执行时,程序模块406(例如,客户端240、布局引擎210)可以执行包括但不限于在图3中示出的方法300的一个或多个阶段的过程。根据本公开的例子可以使用其它程序模块,并且可以包括其它应用450,例如,电子邮件和联系人应用、文字处理应用、电子表单应用、数据库应用、幻灯片演示应用、会话或计算机辅助应用程序等。此外,本公开的例子可以实现于电路中,包括分立电子元件、包含逻辑门的封装或集成电子芯片、使用微处理器的电路、或在包含电子元件或微处理器的单个芯片上。例如,可以经由片上系统(SOC)来实践本公开的例子,其中图4中示出的每个或多个部件可以集成到单个集成电路上。这种SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,其所有都集成(或“烧制”)到芯片衬底上作为单个集成电路。当经由SOC操作时,可以经由在单个集成电路(芯片)上与计算设备400的其它部件集成的专用逻辑来操作本文描述的功能。还可以利用能够执行逻辑运算(例如,AND、OR和NOT)的其它技术来实践本公开的例子,所述技术包括但不限于机械、光学、流体和量子技术。另外,本公开的各方面可以在通用计算机内或在任意其它电路或系统中实践。计算设备400还可以具有一个或多个输入设备412,例如,键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括输出设备414,例如显示器、扬声器、打印机等。前述设备是示例,并且可以使用其它设备。计算设备400可以包括一个或多个通信连接416,其允许与其它计算设备418进行通信。适当的通信连接416的例子包括但不限于:RF发射机、接收机或收发机电路;通用串行总线(USB)、并行或串行端口。如本文使用的术语“计算机可读介质”可以包括计算机存储介质。计算机存储介质可以包括易失性和非易失性的、可移除和不可移除的介质,其以用于存储信息(例如,计算机可读指令、数据结构或程序模块)的任意方法或技术实现。系统存储器404、可移除存储设备409和不可移除存储设备410都是计算机存储介质的例子(即,存储器存储设备)。计算机存储介质可以包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘、磁带盒、磁带、磁盘存储或其它磁存储设备、或能够用于存储信息并能够由计算设备400存取的任意其它制品。任意这种计算机存储介质可以是计算设备400的一部分。计算机存储介质不包括载波或其它传播数据信号。通信介质可以由计算机可读指令、数据结构、程序模块或已调数据信号(例如载波或其它传输机制)中的其它数据具体体现,并包括任意信息输送介质。术语“调制数据信号”可以描述具有一个或多个特征集或以编码信号中的信息的方式变化的信号。通过例子而非限制,通信介质可以包括有线介质,例如,有线网络或直连线连接;以及无线介质,例如,声、射频(RF)、红外和其它无线介质。图5A和5B示出了移动计算设备500,例如,移动电话、智能手机、平板个人计算机、膝上型计算机等,通过其实践本文公开的各方面。参考图5A,示出了用于实现各方面的移动计算设备500的例子。在基本配置中,移动计算设备500是具有输入元件和输出元件的手持计算机。移动计算设备500通常包括显示器505和一个或多个输入按钮510,其允许用户将信息输入到移动计算设备500中。移动计算设备500的显示器505还可以用作输入设备(例如,触摸屏显示器)。如果可选的侧输入元件515被包含,则允许进一步的用户输入。侧输入元件515可以是旋转开关、按钮或任意其它类型的手工输入元件。在替代例子中,移动计算设备500可以并入更多或更少的输入元件。例如,显示器505在一些例子中可能不是触摸屏。在替代例子中,移动计算设备500是便携式电话系统,例如蜂窝电话。移动计算设备500还可以包括可选键区535。可选键区535可以是物理键区或在触摸屏显示器上生成的“软”键区。在各个方面,输出元件包括显示器505用于显示图形用户界面(GUI)、视觉指示器520(例如,发光二极管)或音频换能器525(例如,扬声器)。在一些例子中,移动计算设备500并入振动换能器,用于为用户提供触觉反馈。在又一例子中,移动计算设备500并入外围设备端口540,例如,音频输入(如,麦克风插口)、音频输出(如,耳机插口)和视频输出(如,HDMI端口)用于将信号发送到外部设备或从外部设备接收信号。图5B是示出移动计算设备的一个例子的架构的框图。也就是说,移动计算设备500可以并入系统(即,架构)502来实现一些例子。在一个例子中,系统502实现为“智能手机”,其能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏、以及媒体客户端/播放器)。在一些例子中,系统502集成为计算设备,例如,集成的个人数字助理(PDA)和无线电话。一个或多个应用程序450(例如,客户端240)可以加载到存储器562中,并在操作系统564上或与其相关联地运行。应用450的例子包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表单程序、互联网浏览器程序、消息传送程序,等等。根据一方面,布局引擎210可以加载到存储器562中。系统502在存储器562内还包括非易失性的存储区域568。非易失性存储区域568可以用于存储在系统502掉电时不应该丢失的持续信息。应用450可以在非易失性存储区域568中使用和存储信息,例如,电子邮件或电子邮件应用使用的其它消息等。同步应用(未示出)还驻留在系统502上并被编程为与驻留在主机计算机上的对应的同步应用交互,以保持存储于非易失性存储区域568中的信息与存储在主机计算机处的对应信息同步。如应该理解的,其它应用可以加载到存储器562中并在移动计算设备500上运行。系统502具有电源570,其可以实现为一个或多个电池。电源570还可以包括外部电源,例如AC适配器或对电池进行供应或充电的加电底座。系统502还可以包括无线电设备572,其执行发送和接收射频通信的功能。无线电设备572经由通信载波或服务提供商促进在系统502和“外部世界”之间的无线连接。在操作系统564的控制下进行去向和来自无线电设备572的传输。换句话说,无线电设备572接收到的通信可以经由操作系统564传播到应用程序450,反之亦然。视觉指示器520可以用于提供视觉通知,或音频接口574可以用于经由音频换能器525产生可听通知。在图示例子中,视觉指示器520是发光二极管(LED),并且音频换能器525是扬声器。这些设备可以直接耦合到电源570上,从而在被激活时,它们保持开启达通知机构所表示的持续时间,即使处理器560和其它部件可能为了节省电池电量而关闭。LED可以被编程为保持无限开启,直到用户采取措施来指示设备的通电状态。音频接口574用于向用户提供可听信号并从用户处接收可听信号。例如,除了耦合到音频换能器525外,音频接口574还可以耦合到麦克风以接收音频输入,以便促进电话会话。系统502还可以包括音频接口576,其支持机载摄像机530的操作以记录静止图像、视频流等。实现系统502的移动计算设备500可以具有额外的特征或功能。例如,移动计算设备500还可以包括额外的(可移除或不可移除的)数据存储设备,例如,磁盘、光盘或磁带。这种额外的存储设备在图5B中由非易失性存储区域568示出。由移动计算设备500生成或捕捉到且经由系统502存储的数据/信息可以本地存储于移动计算设备500上,如上所述,或者数据可以存储在可以由设备经由无线电设备572或经由在移动计算设备500和与移动计算设备500相关联的分开的计算设备(例如,诸如因特网的分布式计算网络中的服务器)之间的有线连接存取的任意数量的存储介质上。如应该理解的,可以经由移动计算设备500经由无线电设备572或经由分布式计算网络存取这种数据/信息。类似地,可以根据已知数据/信息转移和存储单元在计算设备之间容易地转移这种数据/信息用于存储和使用,所述单元包括电子邮件和协作数据/信息共享系统。图6示出了如上所述用于提供数据可视化的系统的架构的一个例子。与客户端240或布局引擎210相关联开发的、交互的或编辑的内容存储于不同的通信信道或其它存储类型中。例如,可以利用目录服务622、门户网站624、邮箱服务626、即时消息存储628或社交网站630存储各种文档。客户端240或布局引擎210可以使用任意这些类型的系统等提供数据可视化,如上所述。服务器615可以将客户端240或布局引擎210提供到客户端605A-C。作为一个例子,服务器615可以是网络服务器,其通过网络提供客户端240或布局引擎210。服务器615可以在网络上将客户端240或布局引擎210通过网络610提供给客户端605。通过例子,客户端计算设备可以实现或具体体现为个人计算机605A、平板计算设备605B或移动计算设备605C(例如,智能手机)或其它计算设备。客户端计算设备的任意这些例子可以从存储616获得内容。例如,以上参考根据本公开的各方面的方法、系统和计算机程序产品的框图或方法的操作图示描述了本公开的各方面。在框图中记录的功能/动作可以一任意流程图中示出的次序不同地发生。例如,连续示出的两个框实际上可以基本同时执行,或者有时以相反次序执行所述框,这取决于涉及的功能/动作。在该说明书中提供的一个或多个例子的描述和图示不意图以任何方式限制或约束本公开的范围。在该说明书中提供的方面、例子和细节被认为足以传达所有权,并使得他人能够做出和使用本公开的最佳模式。本公开不应被解释为受限于本申请中提供的任意方面、例子或细节。不管是组合地还是单独地示出和描述,(结构和方法两者的)各个特征意图被选择性地包含或省略以产生具有特定特征集合的示例。在提供了本申请的描述和例示后,本领域技术人员可以设想到落入在本申请实现的通用发明概念的更广泛方面的精神中的变型、修改和替代示例,而不背离本公开的更广泛范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1