用于提供多用户节电码本优化的系统和方法_4

文档序号:9893844阅读:来源:国知局
包括编码器优化模块,所述编码器优化模块包括用于生成和优化被提供给计算设备1302和由相应的编码器108实现的码本的逻辑和/或功能。应当认识到的是,编码器优化模块的某些方面可以位于计算设备1302处,而其它方面可以位于服务器1306处。客户端侧功能可以由客户端编码器优化模块1310来提供,并且服务器侧功能可以由服务器编码器优化模块1314来提供。在一实施例中,客户端编码器优化模块1310可以包括移动应用以及用户接口特征和控制,所述移动应用提供与服务器1314的数据通信和同步。例如,用户1304可以选择性地启用和禁用码本优化。如下文更加详细的描述的,客户端编码器优化模块1310可以控制码本优化数据到服务器1306(例如,压缩统计和各种设备和/或用户度量)的传输。通常,服务器编码器优化模块1306包括用于以下操作的逻辑和/或功能:从计算设备1302接收码本优化数据,生成码本并且将码本提供给每个计算设备1302,以及经由数据库1316来优化跨越多个用户1304的网络的码本。
[0072]图14示出了服务器数据库1316的实施例。服务器数据库1316存储针对计算机系统1302中的每个用户1304的、具有与用户1304和/或相应的计算设备1302相关联的以下信息中的一个或多个信息的各种类型的数据:设备存储器图像1404,被提供给计算设备1302的码本1406,以及从计算设备1302接收的码本压缩统计1407和设备/用户度量1408。数据库1316中的每行对应于与计算机系统1300中的不同的用户1304相关联的数据。第一行对应于用户1304a。第二行对应于用户1304b。第三行对应于用户1304c。最后一行对应于用户1304η。应当认识到的是,可以存储任意数量的行以容纳任意数量的用户。
[0073]图16示出了服务器编码器优化模块1306的实施例的架构、操作和/或功能。在框1602处,可以生成针对计算机系统1300中的每个用户1304的唯一的码本。每个码本与计算设备1302中的一个计算设备相关联,如上所述,并且每个码本被配置用于根据压缩方案来编码相应的计算设备1302中的存储器数据。压缩方案可以包括基于熵的编码算法,诸如在图5中示出的霍夫曼编码方案。如图15所示,码本1406包括用于标识要被压缩的最频繁的符号或“模式”的码表,其中为每个模式分配相应的码字1504。
[0074]可以通过构建计算设备1302的虚拟存储器图像1404来生成针对计算设备1302的初始码本1406。服务器1306可以接收针对各种软件组件(例如,应用、应用框架、服务/运行时间环境、库、内核、操作系统等)的各种类型的信息(例如图17的信息1700)。服务器1306可以解压缩应用和其它预压缩的结构,并且构建虚拟存储器图像1404。
[0075]应当认识到的是,可以以各种方式来生成码本1406。在一个实施例中,服务器1306采用分阶段的码本生成过程。第一阶段涉及基于每个软件组件内的模式的静态分布来生成一阶静态码本。服务器1306可以搜索虚拟存储器图像1404中的每个分量,以得到最为重复的代码模式1502,并且为这些代码模式分配最短的码字1504。也可以为频繁地运行过程分配最短的码字1504。第二阶段可以涉及动态码本生成和验证。可以在服务器1306上运行的虚拟设备上加载和脚本编写/执行虚拟存储器图像1404。可以将存储器事务记入日志并且记录读取/写入业务。可以基于动态分布模式而不是静态分布模式来执行类似的模式搜索。
[0076]再次参照图16,在框1604处,服务器1306将唯一的码本1406经由通信网络1308提供给相应的计算设备1302。计算设备1302可以接收码本1406并且开始使用码本1406来压缩存储器数据,如上所述。在框1606处,服务器1306可以从计算设备1302接收压缩统计和/或设备度量。压缩统计可以包括例如C比特统计,如图11所示。
[0077]图17示出了信息1700的各种示例,诸如,例如设备度量1702以及可以用于优化码本1406的值1704、1706和1708。可以将压缩统计和设备度量存储在数据库1316中。第一设备度量1702可以包括过程标识符(ProcessJDx),所示过程标识符标识了请求存储器资源的特定的过程或任务,并且所述过程标识符可以包括时间戳的值,过程或任务运行的平均时间(%aVg_time_rUnning),以及与过程或任务相关联的版本信息。第二设备度量1702可以包括硬件标识符(Ph0ne_HardWare_ID),所述硬件标识符可以包括用于标识硬件型号(Hardware_model)和任何电话修正(Phone_revis1n)的值。第三设备度量1702可以包括具有用于跟踪时间戳和平均CPU利用的值的CPU利用。第四设备度量1702可以包括针对根据主ID 1104(图11)识别的特定的客户端的压缩统计。第五设备度量1702可以包括软件标识符(Phone_Software_ID),所述软件标识符可以包括用于标识版本信息的值。
[0078]应当认识到的是,多个过程可以同时地运行,并且可以接收与计算设备1302相关联的大量额外的度量。在一实施例中,诸如电话硬件ID和电话软件ID的度量可以用于单独地交叉引用,并且从数据库1316在本地获得默认出厂软件,以创建默认虚拟存储器图像1404,以及诸如过程ID和版本的度量可以用于单独地交叉引用,并且从数据库1316在本地获得用户1304已安装的任何额外的软件,并且随后修改出厂虚拟存储器图像1404,以创建特定于用户的虚拟存储器图像1404。在一实施例中,这可以利用极大地减小的通信网络1308带宽来完成,这是因为用户1304的计算设备1302上的实际的图像1404不是直接被发送到服务器1306。可以利用新的软件组件来周期地更新本地数据库1316。
[0079]在框1608处,服务器1306可以处理来自计算机系统1304中的用户1304中的每个用户的压缩统计和/或设备度量,并且生成针对计算设备1302中的一个或多个计算设备的经优化的码本1406。在一实施例中,服务器1306可以跨越所有具有类似的设备度量的用户1304来寻找,并且希望得到具有最大的成功压缩百分比的C比特统计,这可以转化为改善的功率节省。在框1610处,可以将经优化的码本1406提供给计算设备1302中的一个或多个计算设备。
[0080]在本说明书中描述的过程或处理流程中的某些步骤自然地先于其它步骤,以使本发明如所描述的运作。但是,本发明不限于所描述的步骤的次序,如果这样的次序或顺序不改变本发明的功能的话。即,认识到的是,在不脱离本发明的范围和精神的情况下,某些步骤可以在其它步骤之前、之后或与其它步骤并行地(大体同时地)执行。在某些实例中,可以在不脱离本发明的情况下省略或不执行某些步骤。此外,诸如“其后”、“随后”、“接下来”等的词语不旨在限制步骤的次序。这些词语仅用于引导读者浏览示例性的方法的描述。
[0081]另外,编程领域的普通技术人员能够基于例如在本说明书中的流程图和相关联的描述,在没有困难的情况下编写计算机代码或识别适当的硬件和/或电路,以实现所公开的发明。
[0082]因此,对程序代码指令的特定集合或详细的硬件设备的公开不被认为是获得对如何实现以及使用本发明的足够的理解所必须的。在上文描述中并且结合附图更加详细地解释了所要求保护的计算机实现的过程的发明性功能,所述附图可以说明各个过程流。
[0083]在一个或多个示例性的方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质二者,所述通信介质包括促进计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、NAND 闪存、NOR 闪存、M-RAM、P-RAM、R-RAM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码以及可以由计算机来存取的任何其它介质。
[0084]此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)或无线技术(例如红外、无线和微波)从网站、服务器或其它远程源发送软件,那么同轴电缆、光纤光缆、双绞线、DSL或无线技术(例如红外、无线和微波)包括在介质的定义中。
[0085]如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的范围内。
[0086]在不脱离本发明的精神和范围的情况下,替代的实施例对于与本发明所属领域的普通技术人员将是显而易见的。因此,尽管详细地说明和描述了所选择的方面,但是将理解的是,如下面的权利要求书所限定的,可以在不脱离本发明的精神和范围的情况下在其中做出各种替代和改变。
【主权项】
1.一种用于提供功率节省码本优化的方法,所述方法包括: 生成针对多个计算设备的唯一的码本,每个唯一的码本被配置用于编码相应的计算设备中的存储器数据; 将所述唯一的码本经由通信网络提供给相应的计算设备; 经由所述通信网络从所述计算设备中的一个或多个计算设备接收压缩统计,所述压缩统计与相
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1