压缩配置标识的制作方法

文档序号:12290538阅读:279来源:国知局
压缩配置标识的制作方法与工艺

本申请要求于2014年6月26日提交的题为“COMPRESSION CONFIGURATION IDENTIFICATION(压缩配置标识)”的美国专利申请号14/316,653的优先权。

技术领域

本公开涉及数据处理和数据通信领域,并且具体地涉及对在无线网络中进行数据传输的压缩配置的标识。



背景技术:

本文所提供的背景描述是为了一般地呈现本公开的上下文的目的。除非本文另外指出,否则本节中所描述的材料对于本申请的权利要求书而言并非现有技术,并且不因为包括在本节中而被承认是现有技术。

由于各种移动应用和服务的日益普及,期望在不久的将来显著增加移动数据业务量。因此,通信子系统的能量高效的设计对于增加移动工作负载(例如,文件传送和视频流传输)的总体平台能量效率来说会变得更加重要。这种能量高效的设计对于小形状因数移动平台(诸如智能电话和平板计算机)来说会变得越来越重要。

附图说明

结合附图,借助于下面的详细描述将很容易理解实施例。为了方便本描述,相同的参考标号指代相同的结构元素。通过示例而非限制的方式在附图的各图中展示了实施例。

图1根据各实施例展示了无线网络的简化框图。

图2根据各实施例展示了无线网络的高级框图。

图3根据各实施例展示了使用不同的压缩级别进行数据压缩和传输的示例。

图4根据各实施例描绘了上行链路数据压缩和传输的示例。

图5根据各实施例描绘了上行链路数据压缩和传输的替代性示例。

图6根据各实施例描绘了下行链路数据压缩和传输的示例。

图7根据各实施例描绘了下行链路数据压缩和传输的替代性示例。

图8根据各实施例描绘了训练数据的示例。

图9根据各实施例描绘了针对下行链路数据传输使用所述各压缩配置的能耗和节能的示例。

图10根据各实施例描绘了针对上行链路数据传输使用所述各压缩配置的能耗和节能的示例。

图11根据各实施例描绘了针对上行链路数据传输和带宽受限场景使用所述各压缩配置的能耗和节能的示例。

图12根据各实施例描绘了用于进行标识并且使用压缩配置的示例过程。

图13根据所公开的实施例展示了适合用于实践本公开的各个方面的示例计算机系统。

图14根据所公开的实施例展示了具有用于实践参照图4至图7或图12所描述的方法的指令的存储介质。

具体实施方式

所公开的实施例包括与文件压缩和传输或者文件接收和解压缩相关联的装置、方法和存储介质。具体地,可以对与传输或接收相关联的一个或多个压缩/解压缩或传输/接收参数进行标识。基于所述标识的参数,可以对通过无线通信链路进行数据的压缩和传输或者接收和解压缩的能耗进行预测。基于这一预测,可以对减少或最小化移动设备的能耗的压缩配置进行标识。

在一些实施例中,压缩/解压缩相关的参数可以包括文件尺寸、文件类型(例如,TXT、CSV或TAR)、所应用的压缩实用程序(例如,GZIP、LZOP或BZIP2)、操作系统(例如,或)和/或包括操作中央处理单元(CPU)频率的设备能力,仅举几例。另外,传输/接收相关的参数可以包括所使用的无线技术的类型(例如,Wi-Fi、3G、4G)、可用的传输带宽、信号干扰噪音比(SINR)、物理设置的调制编码方案(MCS)、无线资源的竞争者的数量或一个或多个其他传输相关的参数。

在以下详细描述中,参考形成本说明的一部分的附图,在附图中,相同的标号通篇指代相同的部件,并且,在附图中,通过图示实施例的方式示出了可以实践的实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例并且可以做出结构或逻辑改变。因此,以下详细描述不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物来限定。

在所附的说明中公开了本公开的多个方面。可以在不脱离本公开的精神或范围的情况下设计本公开的替代实施例及其等效物。应注意的是,在附图中由类似的参考数字来表示在下文中公开的类似元素。

可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。具体地,可以不按所呈现的顺序来执行这些操作。可以按与所描述的实施例不同的顺序来执行所描述的操作。可以执行各种附加的操作和/或可以在附加实施例中省略所描述的操作。

为了本公开的目的,短语“A和/或B”是指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。

本描述可能使用短语“在一个实施例中(in an embodiment)”或“在实施例中(in embodiments)”,所述短语可以各自是指相同或不同的实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。

如本文使用的,术语“模块”可指代以下各项、是以下各项的一部分或包括以下各项:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所描述的功能性的其他适合部件。

图1示意性地展示了根据各实施例的无线通信网络100(下文称为“网络100”)。所述网络100可以包括与基站105耦合的移动设备110。在一些实施例中,网络100可以是第三代合作伙伴计划(3GPP)长期演进(LTE)网络的接入网络,诸如演进的通用陆地无线接入网络(E-UTRAN)。在这些实施例中,基站105可以是被配置成用于使用无线协议(诸如3GPP LTE无线协议)与所述移动设备110进行无线通信的eNodeB(eNB也被称为演进NodeB)。在其他实施例中,网络100可以是如电气与电子工程师协会(IEEE)802.16无线标准所指定的WiMAX网络、如IEEE 802.1.1标准所指定的Wi-Fi网络、3GPP码分多址(CDMA)或宽带CDMA(W-CDMA)网络、3GPP通用移动电信系统(UMTS)网络或包括移动设备和接入点或基站的其他某种类型的无线网络等网络。

如图1所示,移动设备110可以包括收发器模块122,所述收发器模块122也可以被称为多模式收发器芯片。收发器模块122可以被配置成用于发射和接收无线信号。具体地,收发器模块122可以与移动设备110的多个天线125中的一个或多个耦合,以便用于与网络100的其他部件(例如,基站105或另一个移动设备)进行无线通信。天线125可以由功率放大器130进行供电,所述功率放大器130可以是收发器模块122的部件或与收发器模块122耦合并且通常位于收发器模块122和天线125之间,如图1所示。在一个实施例中,功率放大器130可以向天线125上的所有传输进行供电。在其他实施例中,移动设备110上可以有多个功率放大器。多个天线125的使用可以允许移动设备110使用空间正交资源传输分集(SORTD)、多输入多输出(MIMO)或全维MIMO(FD-MIMO)等发射分集技术。

在某些实施例中,收发器模块122可以包括通信模块120,所述通信模块也可以被称为宽带模块。通信模块120可以包含被配置成用于使得天线125从移动设备110传输一个或多个信号的发射器电路系统145以及被配置成用于使得天线125接收在移动设备110的一个或多个信号的接收器电路系统150。在其他实施例中,通信模块120可以在分离的芯片或模块(例如,包括接收器电路系统150的一个芯片和包括发射器电路系统145的另一个芯片)中实现。在一些实施例中,信号可以是传输到或接收自基站(诸如基站105)的蜂窝信号。在一些实施例中,收发器模块可以包括压缩配置模块155或与其相耦合,所述压缩配置模块被配置成用于标识针对天线125所传输的数据的一个或多个压缩配置以及用于由天线125或在传输之前压缩数据或在接收数据之后解压缩数据。具有最佳选择的压缩可以显著地减少移动平台上的能耗。本公开的这些和其他方面将在下文更详细地进一步描述。

类似于移动设备110,基站105可以包括收发器模块135。收发器模块135可以与基站105的多个天线140中的一个或多个进一步耦合,以便用于与网络100的其他部件(例如,移动设备110)进行无线通信。天线140可以由功率放大器160进行供电,所述功率放大器可以是收发器模块135的部件或可以是基站105的通常位于收发器模块135与天线140之间的单独部件,如图1所示。在一个实施例中,功率放大器160可以向天线140上的所有传输进行供电。在其他实施例中,基站105上可以有多个功率放大器。多个天线140的使用可以允许基站105使用SORTD、MIMO或FD-MIMO等传输分集技术。在某些实施例中,收发器模块135可以包含被配置成用于使得天线140从基站105传输一个或多个信号的发射器电路系统165以及被配置成用于使得天线140接收在基站105的一个或多个信号的接收器电路系统170。在其他实施例中,收发器模块135可以由彼此分离的发射器电路系统165和接收器电路系统170替代(未示出)。在一些实施例中,尽管未示出,但是收发器模块135可以包括通信模块,诸如包括发射器电路系统165和接收器电路系统170的通信模块180。类似于移动设备110,基站105可以包括压缩配置模块175,所述压缩配送模块175被配置成用于标识由天线140所传输的数据的一个或多个压缩配置以及用于由天线140或在传输之前压缩数据或在接收数据之后解压缩数据。如先前所描述的,具有最佳选择的压缩可以显著地减少移动平台上的能耗。本公开的这些和其他方面将如下文更详细地描述。

图2描绘了可以类似于网络100的网络200的示例。具体地,网络200可以包括一个或多个基站,诸如可以类似于图1的基站105的基站205或210。所述无线网络200可以附加地包括一个或多个移动设备,诸如可以类似于图1的移动设备110的移动设备215、220或225。如图2所示,基站可以仅耦合至单个移动设备(例如,基站210和移动设备225);或者,基站可以耦合至多个移动设备(诸如示出的耦合至基站205的移动设备215和220)。

基站205和210可以与包括多个服务器(诸如应用服务器235和云服务器240)的核心网络230耦合。例如,基站205和210可以被配置成用于在移动设备与核心网络230的服务器中的一个服务器之间传递信号。应用服务器(诸如应用服务器235)可以是专用于执行过程(诸如程序、例程、脚本)或用于支持一个或多个所应用的应用的其他某个过程的服务器。云服务器(诸如云服务器240)可以是允许并改变基站或移动设备与为核心网络230的元件的一个或多个其他服务器之间的通信的服务器。例如,云服务器240可以负责使用所述压缩配置来对压缩配置进行标识和/或对数据进行压缩或解压缩。在一些实施例中,云服务器240和应用服务器235可以在同一硬件上实现。在其他实施例中,应用服务器235和云服务器240可以在分离的设备上实现。在一些实施例中,这两个服务器可以在地理上协同定位,而在其他实施例中,所述服务器可以位于不同的地理区域。在其他实施例中,云服务器240可以不是核心网络230的元件,但可以在基站(诸如基站205或210)或移动设备(诸如移动设备215、220或225)上实现或与其耦合。

如以上指出的,在一些实施例中,数据压缩配置的正确选择和应用可以显著地减少移动平台的能耗。例如,数据压缩配置可以基于数据的文件类型、数据的文件尺寸、网络200的可用的网络带宽或一个或多个其他参数。在一些实施例中,动态地使用压缩配置(例如,压缩效能或压缩级别)自适应地压缩(在服务器或在移动设备处)移动数据可能是有用的。此压缩可以最小化总移动平台能耗,不仅针对下行链路(也就是说,由服务器进行的移动数据的传输和压缩以及由移动设备进行的移动数据的相应接收和解压缩)场景,而且针对上行链路(也就是,由移动设备进行的移动数据的传输和压缩以及由基站或网络进行的移动数据的相应接收和解压缩)场景。

在许多传统网络中,现有的压缩方法使用不适合给定环境的固定的压缩配置。换言之,可以使用压缩配置的相同的压缩类型、压缩级别或某种其他元素,而不管网络带宽、文件类型或文件尺寸。

相比之下,本文中的实施例可以利用数据压缩/解压缩与数据通信(诸如传输/接收)之间的能耗折中,从而减少或最小化移动平台的能耗。图3描绘了压缩移动设备上的数据然后利用Wi-Fi接口将压缩数据传输至本地服务器的示例,从图3中可以看出压缩和数据传输之间的示例能耗折中。具体地,图3描绘了使用不同的压缩级别进行压缩和传输的功率(以毫瓦(mW)为单位)和时间(以秒为单位)。例如,使用GZIP 1级压缩,移动数据的压缩可能花费大约2秒,而移动数据的传输可能花费大约4秒。相比之下,利用GZIP 9级压缩,移动数据的压缩可能花费大约5秒,而移动数据的传输可能花费大约2.5秒。在此实施例中以及如本文中总体所描述的,更高的压缩级别可能导致压缩文件需要更长的时间,但是可以进一步压缩文件。换言之,应用于文件的压缩级别越高,所产生的压缩文件通常越小。

因此,从图3可以看出,当应用更高的压缩级别时,移动设备可能消耗更多的能量进行压缩,但是花费更少的时间,并且因此消耗更少的能量对压缩数据进行传输。这是因为当将更高的压缩级别应用于数据时,数据可以被压缩成更小的文件尺寸,并且从而节省通过无线接口进行数据传输所需的总能量。

因此,从图3可以看出,压缩和传输之间存在能量折中。类似的能量折中可能存在于接收和解压缩之间。另外,可以看到,可以有最佳压缩级别以便最小化或以其他方式减少总平台能耗(即,总压缩能量加总传输能量)。除压缩效能和压缩级别之外,可能存在可影响压缩和传输的能量效率的一个或多个其他因素(诸如可用的网络带宽、文件类型、文件尺寸、CPU频率等),指示如果使用了正确的压缩配置,则可以最小化移动工作负载的平台能耗。因此,如在此使用的压缩配置可以包括压缩级别、压缩效能和/或上文所描述的其他因素中的一个或多个因素中的一个或多个的指示。如在此使用的,最佳压缩配置可以被认为是最小化或以其他方式减少文件压缩/解压缩或文件传输/接收的时间和/或能量的压缩配置。

如以上提及的,压缩(或解压缩)和传输(接收)的能耗/效率可以由一个或多个参数来确定。压缩相关的参数可以包括文件尺寸、文件类型(例如,TXT、CSV或TAR)、所应用的压缩实用程序(例如,GZIP、LZOP或BZIP2)、操作系统(例如,或)和/或包括操作CPU频率的设备能力,仅举几例。传输相关的参数可以包括使用的无线技术的类型(例如,Wi-Fi、3G、4G)、可用的传输带宽、SINR、MCS、无线资源的竞争者的数量或一个或多个其他传输相关的参数。在一些实施例中,压缩相关的参数或传输相关的参数中的一个或多个可以被认为是时变参数。

此外,数据流(例如,上行链路或下行链路)的方向可以很重要,因为压缩和传输未压缩文件比接收和解压缩被压缩文件可能花费更多的功率。当移动设备(诸如移动设备110)将文件发送至基站105、云服务器240、应用服务器235或网络200或核心网络230的某个其他元件时,移动设备110可以使用可以减少或最小化总平台能耗的最佳压缩配置来进行压缩。当移动设备(诸如移动设备110)从网络200或核心网络230的实体接收文件时,移动设备110可以基于以上所描述的压缩相关的参数或传输相关的参数中的一个或多个参数标识最佳压缩配置,以及请求基站105、云服务器240或应用服务器235使用所标识的压缩配置压缩数据。如以上所描述的,移动设备110可以将最佳压缩配置标识为减少或最小化移动设备110上的数据的接收和解压缩的总能耗的压缩配置。

因此,在实施例中,可以最小化或至少减少通过无线接口的数据递送的总能耗。具体地,当移动设备110想要传输文件时(即,在上行链路场景中),可能令人期望的是最小化或减少压缩能量与传输能量之和。另一方面,当移动设备接收文件时(即,在下行链路场景中),可能令人期望的是最小化或减少数据接收能量与数据压缩所要求的能量之和。另外,通过将压缩数据传输至互联网或云或从互联网或云接收压缩数据可以看到进一步节能。

图4和图5描绘了上行链路场景的系统架构的不同示例。具体地,云服务器可以用于帮助文件传输,如以上所描述的。图4描绘了直接场景,而图5描绘了转发场景。在图4所描绘的直接场景中,云服务器(诸如云服务器240)可以响应于来自移动设备(诸如移动设备110)或应用服务器(诸如应用服务器235)的请求而起作用来标识和传输最佳压缩配置的指示。压缩和传输数据之后,可以由应用服务器进行解压缩。相比之下,在图5所描绘的转发方案中,云服务器(诸如云服务器240)不仅可以标识和提供最佳压缩配置,而且也可以接收、解压缩和转发压缩文件至应用服务器(诸如应用服务器235)。与直接方案相比,在转发方案中,云服务器可以具有更高的负载,但是,也可能不需要改变应用服务器来接收压缩文件、标识用于压缩文件的压缩配置以及解压缩接收的数据。换言之,压缩/解压缩对应用服务器来说可以是透明的。

具体地,在直接方案中,在移动设备(诸如移动设备110)将文件传输至应用服务器(诸如应用服务器240)之前,移动设备可以先将要求的参数和用户偏好转发至云服务器(诸如云服务器235)。移动设备然后可以基于来自云服务器的转发的参数和/或用户偏好来请求最佳压缩配置的指示。在接收到压缩配置之后,移动设备然后可以根据建议的压缩配置对文件进行压缩并将压缩数据发送至应用服务器。在接收到压缩文件时,应用服务器然后可以对文件进行解压缩。

图4描绘了直接上行链路转发方案的示例。所述方案可以由移动设备(诸如移动设备110)、基站(诸如基站105)、云服务器(诸如云服务器240)和应用服务器(诸如应用服务器235)来执行。最初,在400处,移动设备可以对至应用服务器的文件传输进行初始化。在已经在400处对文件传输进行初始化之后,在405处,移动设备和/或基站可以向云服务器提供一个或多个参数。例如,参数可以包括压缩相关的参数、传输相关的参数和/或如以上所描述的用户偏好的指示中的一个或多个。

基于所接收的参数,在410处,云服务器可以标识最佳压缩配置,并在415处向移动设备提供最佳压缩配置的指示。在一些实施例中,指示可以包括移动设备所存储的表的查找值、压缩配置的一个或多个参数(诸如压缩级别或压缩效能)或一个或多个其他参数。

在415处接收到最佳压缩配置的指示后,在420处,移动设备可以使用所接收的压缩配置来压缩数据。在425处,移动设备然后可以将压缩数据传输至应用服务器。在将425处压缩数据从移动站传输至应用服务器的同时、之前或之后,在430处,云服务器可以另外地向应用服务器提供最佳压缩配置的指示。例如,在一些实施例中,在415处,与向移动设备提供指示相平行,云服务器可以向应用服务器提供最佳配置的指示。在其他实施例中,与在425处从移动设备传输压缩数据的同时,云服务器可以向应用服务器提供最佳配置的指示。在接收到425处所传输的压缩数据时,在435处,应用服务器可以使用最佳压缩配置解压缩所接收的数据。

如以上所描述的,移动设备与云服务器或应用服务器之间的通信中的一个或多个可以通过基站被路由或被转发。另外,如以上所描述的,网络(诸如网络200)可以包括多个基站,而且,传输中的一个或多个可以通过多个基站被路由。

相比之下,在转发方案中,在根据建议的最佳压缩配置压缩文件之后,移动设备(诸如移动设备110)可以将压缩文件传输至云服务器。在接收到压缩文件之后,云服务器可以解压缩文件,然后将解压缩文件转发至应用服务器。

具体地,图5描绘了上行链路转发场景的示例。类似于上行链路直接场景,转发场景可以包括移动设备(诸如移动设备110)、基站(诸如基站105)、云服务器(诸如云服务器240)和应用服务器(诸如应用服务器235)。

最初,在500处,移动设备可以对至应用服务器的文件传输进行初始化。在已经在500处对文件传输进行初始化之后,在505处,移动设备和/或基站可以向云服务器提供一个或多个参数。例如,参数可以包括压缩相关的参数、传输相关的参数和/或如以上所描述的用户偏好的指示中的一个或多个。

基于接收的参数,云服务器可以标识最佳压缩配置,并在510处向移动设备提供最佳压缩配置的指示。在一些实施例中,指示可以包括移动设备、压缩配置的一个或多个参数(诸如压缩级别或压缩效能)或一个或多个其他参数所存储的表的查找值。

在510处接收到最佳压缩配置的指示后,在515处,移动设备可以使用所接收的压缩配置来压缩数据。在520处,移动设备然后可以将压缩数据传输至云服务器。

在525处,在接收到压缩数据时,云服务器可以使用标识的最佳压缩配置对所述数据进行解压缩。在530处,云服务器然后可以将解压缩数据转发至应用服务器。

如以上所描述的,移动设备与云服务器或应用服务器之间的通信中的一个或多个可以通过基站被路由或转发。另外,如以上所描述的,网络(诸如网络200)可以包括多个基站,而且,通信或传输中的一个或多个可以通过多个基站被路由。

如以上指出的,数据的压缩可以另外地用于下行链路场景。图6和图7描绘了下行链路场景的系统架构的不同示例。具体地,云服务器可以用于帮助文件传输,类似于以上所描述的上行链路场景。图6描绘了直接下行链路场景的示例,而图7描绘了转发下行链路场景的示例。在图6所描绘的直接场景中,云服务器可以标识最佳压缩配置,然后将压缩配置的指示转发至应用服务器。应用服务器然后可以压缩数据并将压缩数据传输至移动设备。相比而言,在图7所描绘的转发场景中,云服务器不仅可以标识最佳压缩配置,而且可以压缩所述文件并将压缩数据转发至移动设备。与直接场景相比,在转发场景中,云服务器可以具有更高的负载,但是,数据的压缩对应用服务器来说可以是透明的。

在直接下行链路场景中,在应用服务器将文件发送至移动设备之前,应用服务器可以先请求来自云服务器的最佳压缩配置的指示。在接收到最佳压缩配置的指示之后,应用服务器可以根据建议的压缩配置对文件进行压缩并将压缩数据传输至移动设备。在接收到压缩文件时,移动设备就可以解压缩文件。

具体地,下行链路直接压缩场景在图6中示出。下行链路直接压缩场景可以涉及移动设备(诸如移动设备110)、基站(诸如基站105)、云服务器(诸如云服务器240)和应用服务器(诸如应用服务器235)。

最初,在600处,移动设备和应用服务器可以初始化文件传输。接下来,在605处,应用服务器可以请求来自云服务器的最佳压缩配置的指示。在610处,云服务器可以请求来自移动设备的一个或多个参数的指示。作为响应,在615处,移动设备和/或基站可以提供一个或多个参数的指示。例如,参数可以包括压缩相关的参数、传输相关的参数和/或如以上所描述的用户偏好的指示中的一个或多个。

基于在615处所接收的参数,在620处,云服务器可以标识最佳压缩配置。在625处,云服务器然后可以向应用服务器提供最佳压缩配置的指示。此外,在630处,云服务器可以将最佳压缩配置的指示传输至移动设备。

在625处接收到最佳压缩配置的指示时,在635处,应用服务器可以使用最佳压缩配置压缩数据。在640处,应用服务器然后可以将数据传输至移动设备。在645处,移动设备然后可以使用630处从云服务器接收的压缩配置解压缩数据。

如上相对于图4中的上行链路直接压缩场景所描述的,630处的压缩配置的指示的传输可以在625处的将压缩配置的指示传输至应用服务器或在640处的传输数据的同时、之前或之后进行。另外,如以上所描述的,移动设备与云服务器或应用服务器之间的通信中的一个或多个可以通过基站被路由或转发。另外,如以上所描述的,网络(诸如,网络200)可以包括多个基站,而且,通信中的一个或多个可以通过多个基站被路由。

与图6中的下行链路直接压缩场景相比,在图7所描绘的转发场景中,应用服务器可以先将文件转发至云服务器。云服务器然后可以标识最佳压缩配置并将压缩数据传输至移动设备。具体地,下行链路转发压缩场景在图7中被示出。下行链路转发压缩场景可以涉及移动设备(诸如移动设备110)、基站(诸如基站105)、云服务器(诸如云服务器240)和应用服务器(诸如应用服务器235)。

最初,在700处,移动设备和应用服务器可以初始化文件传输。接下来,在705处,应用服务器可以将文件转发至云服务器。在接收到文件时,在710处,云服务器可以请求一个或多个参数的指示。响应于请求,在715处,移动设备和/或基站可以向云服务器提供参数的指示。例如,参数可以包括压缩相关的参数、传输相关的参数和/或如以上所描述的用户偏好的指示中的一个或多个。

基于在715处接收的参数,在720处,云服务器可以标识最佳压缩配置。在725处,云服务器然后可以使用所标识的压缩配置对在705处从应用服务器接收到的数据进行压缩。接下来,在730处,云服务器可以将压缩数据和压缩配置的指示传输至移动设备。在735处,移动设备然后可以使用所标识的压缩配置对所接收的数据进行解压缩。如以上所描述的,在一些实施例中,从云服务器到移动设备的数据的传输可以与压缩配置的指示的传输分离。例如,压缩配置的指示的传输可以在数据的传输之前或之后进行。

在图4至7所描述的实施例中,云服务器可以从移动设备和/或基站接收一个或多个参数,并且标识最佳压缩配置。在实施例中,用于压缩和/或解压缩的最佳压缩配置可以使用训练算法由云服务器中的智能引擎进行标识。在一些实施例中,可以向智能引擎提供基本的数据集,并且,引擎可以应用自学习算法(诸如,机器学习)来针对一个或多个压缩配置预测可能的能耗。基于用于压缩配置的预测能耗,引擎然后可以标识用于给定的数据的最佳压缩配置。在实施例中,智能引擎也可以被配置成用于根据决策结果的反馈来更新或扩展智能引擎所使用的数据集。图8描绘了可以由智能引擎用来对压缩配置进行标识的训练数据的示例。

具体地,训练数据800可以输入至机器学习算法。训练数据800可以包括一个或多个输入配置805和相关的压缩配置结果810。具体地,结果810可以是基于将输入配置805用作种子值而进行的一个或多个实验的压缩配置结果。

一般来说,可能令人期望的是,输入配置805包括可以影响文件传输或接收的结果的参数。例如,输入配置805可以包括与用于文件压缩/解压缩或传输/接收的总时间或能耗相关的参数。类似地,可能令人期望的是,结果810包括使用输入配置805与文件压缩/解压缩或传输/接收的真实的能量或时间消耗相关的数据。例如,输入配置805可以包括如上所描述的传输相关的参数或压缩相关的参数中的一个或多个参数(诸如可用的带宽、文件类型、待传输或待接收的文件尺寸、传输链路的链路状况或其他参数)。结果810可以包括压缩配置中的一个或多个元素(诸如用于压缩效能的配置、压缩级别、可以优化文件传输接收的CPU频率或其他参数)。

考虑到训练数据800,现在有可能使用用于选择的机器学习算法的训练数据800对机器学习模型进行训练。例如,如果期望在已知输入参数的集合下预测选择的压缩配置的能耗,则有可能使用“随机森林算法”或其他某种机器学习算法向使用选择的压缩配置在实验期间进行的输入轨迹学习。训练之后,则有可能将试验数据中的一些或全部输入回模型以检查机器学习模型的正确性。例如,如果机器学习所预测的结果与实验的结果之间有很大差别,则可以将试验数据和反馈输入的差别应用于调整机器学习模型。

图9描绘了在网络(诸如具有小于5兆比特每秒(Mbps)的无线吞吐量限制的网络200)的下行链路场景中描绘压缩的节能率的试验数据的示例。具体地,图9描绘了由移动设备(诸如移动设备110)接收的使用具有不同压缩级别的不同的压缩算法的不同压缩文件的能耗或节能的示例。用毫焦耳(mJ)描绘能耗。具体地,文件接收所消耗的平台能量表示为Rx.E,并且,文件解压缩的能耗表示为Dec.E。不同的压缩级别是针对三种不同的文件类型(TXT文件、CSV文件和TAR文件)示出的。针对文件类型中的每一种,描绘不同的压缩算法(诸如GZIP、LZOP和BZIP2)。针对每种压缩算法,使用压缩级别0、1、3、5、7和9描绘结果。另外,针对每种文件类型、压缩算法和压缩级别,以百分率描绘节能。可以看出,与没有压缩的场景(即,压缩级别为0)相比,压缩可以减少总平台能量多大81%,尤其是针对CSV文件。

类似地,图10描绘了在网络(诸如具有小于5Mbps的无线吞吐量限制的网络200)的上行链路场景中描绘压缩的节能率的试验数据的示例。具体地,图10描绘了由移动设备(诸如移动设备110)使用具有不同压缩级别的不同压缩算法所压缩和传输的不同文件的能耗和节能的示例。用mJ描绘能耗,类似于图9。具体地,文件传输消耗的平台能量表示为Tx.E,而且,文件压缩消耗的平台能量表示为Comp.E。类似于图9,针对多个文件类型、压缩算法和压缩级别描绘了能耗和节能。从图10可以看出,总平台能耗可以减少高达70%,而且,GZIP和LZOP平均而言可以达到更高的收益。而且,可以看到,不同的数据或文件类型的节能效益可以变化。

图11描绘了在网络(诸如具有变化的吞吐量限制的网络200)的上行场景中描绘压缩的节能率的试验数据的示例。具体地,图11用mJ描绘了针对不同的压缩级别的不同压缩算法的能耗。针对具有1Mbps、3Mbps、5Mbps、10Mbps、20Mbps和40Mbps的上行链路吞吐量的网络描绘压缩算法和压缩级别中的每一个。图11进一步描绘了针对上行链路网络对不同的压缩级别、压缩算法和上行链路网络吞吐量级别中的每一个的节能和百分率。可以看出,当可用的上行链路带宽受限时(例如,如果网络的互联网连接缓慢),那么通过在传输文件之前压缩文件可以看到更大的效益。此效益的原因可以是,当可用的带宽更小时,对移动设备来说,传输数据可能要花费更长的时间。因此,针对由移动设备进行的传输的能耗可以通过减少通过增加的压缩所传输的文件尺寸显著地减少。

从以上观察可以看出,针对不同的数据类型、压缩实用程序和带宽限制所产生的能耗可以显著不同。另外,由于下行链路场景中的移动设备进行的接收和解压缩可以比上行链路场景中的移动设备进行的压缩和传输更简洁这一事实,与上行链路场景相比,针对下行链路场景,压缩可能造成更高的能量收益。但是,可以观察到,可以另外地导致上行链路场景的节能,尤其是在带宽限制场景下。因为可以有许多不同的上行链路和下行链路场景(例如,具有不同的带宽限制、不同的数据类型、不同的数据尺寸、不同的CPU频率等),因此,可能令人期待的是,将如上相对于图8所描述的机器学习算法应用于预测未试验的场景的可能的结果。

图12描绘了可以由云服务器(诸如云服务器240)、移动设备(诸如移动设备110)、基站(诸如基站105)、应用服务器(诸如应用服务器235)或以上各项中的两项或更多项的组合所使用的过程的高级示例。具体地,所述过程中的一个或多个元件可以由移动设备的压缩配置模块155、基站的压缩配置模块175或应用服务器和/或云服务器的类似的压缩配置模块来执行。

最初,在1200处,可以预测能耗。具体地,在1200处,可以对文件压缩、文件传输、文件接收和/或文件解压缩中的一个或多个的能耗进行预测。此预测可以基于如以上所描述的机器学习算法以及图8中上文所描述的训练数据800。此预测可以由基于来自应用服务器、基站或移动设备的请求的云服务器来执行,或其可以由云服务器初始化。在其他实施例中,预测可以由移动设备、基站或应用服务器来执行。

接下来,在1205处,基于预测能耗,可以对压缩配置进行标识。此压缩配置可以被认为是基于由移动设备和基站中的一个或多个所提供的输入参数的最佳压缩配置。此标识可以由云服务器、基站、移动设备和/或应用服务器来执行。

在1205处标识最佳压缩配置之后,在1210处,可以促进对数据的压缩或解压缩。这种促进可以涉及使用所标识的最佳压缩配置对所述数据进行压缩或解压缩或者向不同的网络实体提供压缩配置的指示以执行压缩和解压缩。例如,如果在1205处由云服务器标识最佳压缩配置,则在1210处云服务器可以通过向应用服务器、基站或移动设备提供最佳压缩配置的指示来促进压缩和解压缩。

图13展示了可以适合用作客户端设备或服务器以实践本公开所选择的方面的示例计算机系统。如图所示,计算机1300可以包括一个或多个处理器或处理器核1302以及系统存储器1304。为了本申请(包括权利要求书)的目的,术语“处理器”和“处理器核”可以被认为是同义的,除非上下文另外明确要求。另外,计算机1300可以包括大容量存储设备1306(诸如磁盘、硬盘驱动器、光盘只读存储器(CD-ROM)等)、输入/输出(I/O)设备1308(诸如显示器、键盘、光标控制等)以及通信接口1310(诸如网络接口卡、调制解调器等)。所述元件可以经由可以表示一个或多个总线的系统总线1312相互耦合。在多个总线的情况下,它们可以通过一个或多个总线桥(未示出)桥接。

这些元件中的每个元件可以执行其在本领域中已知的常规功能。具体地,系统存储器1304和大容量存储设备1306可以被用来存储实现与之前描述的压缩配置模块155或175相关联的操作的编程指令的工作副本和永久副本(统称为计算逻辑1322)。各个元件可以通过(多个)处理器1302所支持的汇编指令或可以编译成这样的指令的高级语言(诸如C语言)来实现。

这些元件1310-1312的数量、能力和/或容量可以根据计算机1300是用作客户端设备还是服务器而变化。当用作客户端设备时,这些元件1310-1312的能力和/容量可以根据客户端设备是固定设备还是移动设备(如智能电话、计算平板电脑、超级笔记本或膝上笔记本电脑)而变化。否则,元件1310-1312的构成是已知的,并因此将不进行进一步描述。

如本领域技术人员将认识到的,本公开可以被具体化为方法或计算机程序产品。相应地,除体现在如之前所描述的硬件之外,本公开可以采取完全软件实施方式(包括固件、驻留软件、微代码等)或结合硬件与软件方面的实施方式的形式,所有所述形式在本文中一般都称为“电路”、“模块”或“系统”。此外,本公开可以采取体现在任何有形的或非瞬态表达介质(所述介质具有在介质中具体化的计算机可用程序代码)中的计算机程序产品的形式。图14展示了示例计算机可读非瞬态存储介质,所述示例计算机可读非瞬态存储介质可以适用于响应于由装置执行的指令而存储使得装置实践本公开的选择的方面的指令。如所示出的,非瞬态计算机可读存储介质1402可以包括许多编程指令1404。编程指令1404可以被配置成用于响应于编程指令的执行而使得设备(例如,计算机1300)执行例如与压缩配置模块155或175相关联的各种操作。在替代性实施例中,反而可以将编程指令1404布置在多个计算机可读非瞬态存储介质1402上。在替代性实施例中,可以将编程指令1404布置在计算机可读瞬态存储介质1402(例如,信号)上。

可以利用一种或多种计算机可使用或计算机可读介质的任意组合。计算机可用或计算机可读介质可以是例如但不限于电的、磁的、光的、电磁的、红外线的或半导体系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷举列表)将包括以下各项:具有一条或多条线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-R0M)、光存储设备、诸如那些支持互联网或内联网的传输介质或磁存储设备。注意,计算机可使用或者计算机可读介质甚至可以是在其上印刷了程序的纸或另一种适合的介质,因为程序可以经由例如对纸或者其他介质进行光学扫描而被电子地捕捉,然后如果必要的话,被编译、被解释或被以适合的方式进行处理,然后被存储在计算机存储器内。在本文档的上下文中,计算机可使用或者计算机可读介质可以是任何包含、存储、传达、传播或传输由指令执行系统、装置或设备使用或者与其结合使用的程序的介质。计算机可使用介质可以包括在基带中或者作为载波的一部分体现在其中的计算机可使用程序代码的所传播的数据信号。计算机可使用程序代码可以使用任意适当的介质(包括但不限于无线、电线、光缆、射频(RF)等)进行传输。

用于执行本公开的操作的计算机程序代码可以以包括面向对象的编程语言(诸如Java、Smalltalk,C++等)以及常规的过程式编程语言(诸如“C”编程语言或类似的编程语言)的一种或多种编程语言的任意组合来编写。程序代码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者,可以(例如,使用互联网服务提供商来通过互联网)连接到外部计算机。

参照根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述本公开。应该理解的是,可以由计算机程序指令来实现流程图说明和/或框图的每个方框以及流程图说明和/或框图的各方框的组合。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生一种机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现流程图和/或方框图方框或多个方框中指定的功能/动作的手段。

这些计算机程序指令还可被存储在计算机可读介质内,所述计算机可读介质可以指挥计算机或其他可编程的数据处理装置,以便以特定方式发挥作用,使得存储在计算机可读介质内的指令产生包括实现流程图和/或方框图方框或多个方框中指定的功能/动作的指令手段的制造品。

计算机程序指令也可加载到计算机或其他可编程数据处理设备上,以促使一系列操作步骤在所述计算机或其他可编程设备上执行,从而产生计算机实现的过程,使得在所述计算机或其他可编程设备上执行的所述指令能够提供用于实现流程图和/或方框图方框或多个方框中指定的功能/动作的过程。

附图中的流程图和框图展示了根据本公开的各实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个方框都可以表示模块、片段或代码的一部分,其包含用于实现特定逻辑功能的一条或多条可执行指令。还应该指出的是,在某些替代性实现方式中,方框中标明的功能可以不按图中标记的顺序发生。例如,取决于涉及的功能,可以实际上基本同时执行顺序示出的两方框,或有时候可以按相反的顺序执行所述方框。还将指出的是,可以通过执行特定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现框图和/或流程图的每一方框及框图和/或流程图中方框的组合。

在此所使用的术语只是为了描述特定实施例的目的,而不是要对本公开做出限制。如在此使用的,单数形式的“一个(a)”、“一个(an)”和“所述(the)”也旨在包括多数形式,除非上下文另有清楚的规定。将进一步理解的是,当在本说明书中使用术语“包括(comprises)”和/或“包括(comprising)”时,其指定陈述的特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或它们的组的存在或添加。

实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质之类的制品。计算机程序产品可以是可由计算机系统读取并编码了用于执行计算机进程的计算机程序指令的计算机存储介质。

权利要求中的所有部件或步骤加功能元件的相应的结构、材料、操作和等价物旨在包括用于结合在权利要求中特意声明的其他元件而执行功能的任何结构、材料或操作。已经出于示例的目的而呈现本公开内容的描述,但是该描述并不旨在穷举公开或者使公开内容限于所公开的形式。对于本技术领域的普通技术人员来说,在不偏离本公开的范围和精神的情况下,许多修改和变更都是显而易见的。实施例的选择和描述是为了最佳地解释本公开的原理和实际应用,并且当适合于所构想的特定使用时,使得所属技术领域的其他普通技术人员能够理解本公开的具有各种修改的各种实施例。

返回参照图13,对于一个实施例,处理器1302中的至少一个可以与具有计算逻辑1322的存储器一起封装(代替存储在存储器1304和存储设备1306上)。对于一个实施例,处理器1302中的至少一个可以与具有计算逻辑1322的存储器一起封装以形成系统级封装(SiP)。对于一个实施例,处理器1302中的至少一个可以与具有计算逻辑1322的存储器集成在同一裸片上。对于一个实施例,处理器1302中的至少一个可以与具有计算逻辑1322的存储器一起封装以形成片上系统(SoC)。对于至少一个实施例,SoC可以用于(例如但不限于)智能电话或计算平板电脑中。

从而,已描述的本公开的各示例实施例包括但不限于:

示例1可以包括一种装置,所述装置包括:通信模块,所述通信模块用于通过通信链路传输或接收数据的;以及与所述通信模块耦合的压缩配置模块,所述压缩配置模块用于:对与通过所述通信链路进行的所述数据的传输或接收相关联的一个或多个压缩/解压缩或传输/接收参数进行标识;基于所标识的一个或多个压缩/解压缩或传输/接收参数,由所述装置针对多个压缩配置中的每一个压缩配置对通过所述通信链路进行的所述数据的压缩和传输或者接收和解压缩的能耗进行预测;并且基于所预测的能耗,对来自所述多个压缩配置中的压缩配置进行标识。

示例2可以包括如示例1所述的装置,其中,所述多个压缩配置中的所述压缩配置包括压缩效能的指示、压缩级别的指示或中央处理单元(CPU)频率的指示。

示例3可以包括如示例1所述的装置,其中,所述压缩/解压缩或传输/接收参数包括:传输/接收参数,所述传输/接收参数包括所述通信链路的可用带宽以及所述通信链路或通信技术的状况;以及压缩/解压缩参数,所述压缩/解压缩参数包括所应用的压缩、所述数据的文件类型或所述数据的文件尺寸。

示例4可以包括如示例1至3中任一项所述的装置,其中,所预测的能耗基于对所述数据的所述压缩和传输或者所述数据的解压缩的时间要求的预测。

示例5可以包括如示例1至3中任一项所述的装置,其中,所述数据是有待传输至网络的应用服务器的数据,并且其中,所述通信模块用于进一步:使用所标识的压缩配置对所述数据进行压缩;并且随后通过所述通信链路将所述压缩数据传输至所述应用服务器。

示例6可以包括如示例1至3中任一项所述的装置,其中,所述数据是有待从网络的应用服务器接收的数据,并且其中,所述通信模块用于进一步将所标识的压缩配置的指示传输至所述应用服务器,以便用来在通过所述通信链路将所述数据发送至所述装置之前对所述数据进行压缩。

示例7可以包括一种或多种非瞬态计算机可读介质,所述非瞬态计算机可读介质包括指令,所述指令当由移动设备的一个或多个处理器执行时使所述移动设备:对通过通信链路传送或接收的数据进行标识;针对多个压缩配置中的每一个压缩配置对通过所述通信链路进行所述数据的压缩和传输或者接收和解压缩的能耗进行预测;基于所预测的能耗对压缩配置进行标识;并且使用所标识的压缩配置对所述数据进行压缩和传输或者接收和解压缩。

示例8可以包括如示例7所述的一种或多种计算机可读介质,其中,所述多个压缩配置中的所述压缩配置包括压缩效能的指示、压缩级别的指示、或中央处理单元(CPU)频率的指示。

示例9可以包括如示例7所述的一种或多种计算机可读介质,其中,所预测的能耗基于所述通信链路的可用带宽、所述通信链路或通信技术的状况以及包括以下各项的压缩/解压缩参数:所应用的压缩、所述数据的文件类型或所述数据的文件尺寸。

示例10可以包括如示例7至9中任一项所述的一种或多种计算机可读介质,其中,所预测的能耗至少部分地基于包括关于先前传输的数据的信息的数据模型。

示例11可以包括如示例10所述的一种或多种计算机可读介质,其中,所述指令进一步包括用于基于与所传输或接收的压缩数据相关的反馈来更新所述数据模型的指令。

示例12可以包括如示例7至9中任一项所述的一种或多种计算机可读介质,其中,压缩和传输或接收和解压缩的所预测的能耗包括对所述压缩和传输或者接收和解压缩的时间要求的预测。

示例13可以包括如示例7至9中任一项所述的一种或多种计算机可读介质,其中,所述通信链路是无线通信链路。

示例14可以包括一种方法,所述方法包括:移动设备针对多个压缩配置中的每一个压缩配置对通过通信链路进行数据的压缩和传输或者接收和解压缩的能耗进行预测,其中,所述数据用于使用所述多个压缩配置中对所述数据的压缩配置来压缩;由所述移动设备基于所预测的能耗对所述有待使用的压缩配置进行标识;以及所述移动设备使用所标识的压缩配置来促进对所述数据的压缩或解压缩。

示例15可以包括如示例14所述的方法,其中,所述多个压缩配置中的压缩配置包括压缩效能的指示、压缩级别的指示或中央处理单元(CPU)频率的指示。

示例16可以包括如示例14所述的方法,其中,所述预测能耗基于所述通信链路的可用的带宽、所述通信链路或通信技术的状况以及包括以下各项的压缩/解压缩参数:所应用的压缩、所述数据的文件类型或所述数据的文件尺寸。

示例17可以包括如示例14至16中任一项所述的方法,进一步包括:由所述移动设备促进通过所述通信链路对所压缩的数据的传输或接收。

示例18可以包括如示例14至16中任一项所述的方法,其中,所述预测至少部分地基于包括关于先前传输或接收的数据的信息的数据模型。

示例19可以包括如示例14至16中任一项所述的方法,其中,对压缩和传输或接收和解压缩的所述能耗进行预测包括:由所述移动设备对所述压缩和传输或者接收和解压缩的时间要求进行预测。

示例20可以包括一种装置,所述装置包括用于执行如示例14至19中任一项所述的方法的装置。

对于本领域技术人员明显的是,可在所述公开的设备和相关联的方法的所述公开的实施例中作出各种修改和变更,而不背离本公开的精神或范围。因此,本公开旨在涵盖以上所公开的实施例的这些修改和变更,只要这些修改和变更落在任意权利要求和其等价物的范围内。

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