CN107534615A - 用于自适应数据压缩的装置和方法 - Google Patents
用于自适应数据压缩的装置和方法 Download PDFInfo
- Publication number
- CN107534615A CN107534615A CN201680022946.5A CN201680022946A CN107534615A CN 107534615 A CN107534615 A CN 107534615A CN 201680022946 A CN201680022946 A CN 201680022946A CN 107534615 A CN107534615 A CN 107534615A
- Authority
- CN
- China
- Prior art keywords
- file
- server
- data
- sent
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
描述了用于自适应数据压缩和相关联的上下文信息的装置和方法的实施例。在各种实施例中,装置可以包括上下文监测模块,其用于收集上下文信息以用于数据的传输;以及策略模块,其用于收集关于与数据的传输相关联的花费的用户偏好。该装置可以进一步包括分析模块,其用于至少部分地基于上下文信息和用户偏好来确定是否在传输之前压缩数据。可以描述和/或要求保护其他实施例。
Description
相关申请
本申请要求2015年5月21日提交的题为“APPARATUS AND METHODS FOR ADAPTIVEDATA COMPRESSION”的美国专利申请No.14/718,938的优先权。
技术领域
本公开大体上涉及计算的技术领域,并且更具体地,涉及用于自适应数据压缩的装置和方法。
背景技术
本文中提供的背景描述是为了大体上呈现本公开的上下文的目的。除非本文中另有指示,否则本节中描述的材料并不通过包含于本节中而是本申请中权利要求的现有技术,并且不被认为是现有技术或该现有技术的建议。
近几年去往云服务器和来自云服务器的数据业务迅速增长,并且未来可以持续这样的趋势。数据爆炸的这样的趋势可能引入用户响应时间中的通信延迟,并且数据业务可能消耗显著的大量的平台能量。作为示例,将文件(例如照片或视频)上传到云服务器是云使用的重要用户案例。然而,用户有时不得不在完成上传事务之前忍受很长的延迟。此外,如果设备在移动网络上,则基于用户的数据计划来上传大文件可能是昂贵的。
附图说明
结合附图通过以下详细描述将容易地理解实施例。为了有利于实施该描述,类似的附图标记指定类似的结构元件。在附图的图中通过示例而非限制的方式来示出实施例。
图1是示出了根据各种实施例的并入本公开的各方面的用于自适应数据压缩的示例性系统配置的示意图。
图2是示出了根据各种实施例的并入本公开的各方面的用于自适应数据压缩的装置的示例性实现方式的示意图。
图3是根据各种实施例的并入本公开的各方面的用于可以由示例性装置来实施的自适应数据压缩的示例性过程的流程图。
图4是根据各种实施例的并入本公开的各方面的可以由示例性装置来实施的用于基于平衡策略的自适应数据压缩的示例性过程的流程图。
图5是根据各种实施例的并入本公开的各方面的可以由示例性装置来实施的用于基于上下文信息或用户偏好的自适应数据压缩的示例性过程的流程图。
图6示出了根据各种实施例的适用于实施所公开的实施例的示例性计算设备。
图7示出了根据各种实施例的并入本公开的各方面的具有编程指令的制品。
具体实施方式
描述了用于基于上下文信息和用户偏好的自适应数据压缩的装置和方法的实施例。在各种实施例中,装置可以包括上下文监测模块,其用于收集上下文信息以用于数据的传输;以及策略模块,其用于收集关于与数据的传输相关联的花费的用户偏好。该装置可以进一步包括分析模块,其用于至少部分地基于上下文信息和用户偏好来确定是否在传输之前压缩数据。因此,该装置可以自适应地压缩数据以改善用户体验、性能和能量效率。下面将更全面地描述本公开的这些和其它方面。
在下面的详细描述中,参考形成其部分的附图,其中类似的附图标记始终表示类似的部分,并且其中以说明的方式示出了可以实施的实施例。应当理解,在不背离本公开的范围的情况下,可以使用其他实施例并且可以进行结构或逻辑的改变。因此,以下详细描述不应被认为是限制性的含义,并且实施例的范围是由所附权利要求及其等同物限定的。
可以以最有助于理解所要求保护的主题的方式依次将各种操作描述为多个分立的动作或操作。然而,描述的次序不应该被解释为暗示这些操作必然是依赖于次序的。特别地,这些操作可以不按照呈现的次序来执行。所描述的操作可以以与所描述的实施例不同的次序来执行。在附加的实施例中,可以执行各种附加的操作和/或省略所描述的操作。
为了本公开的目的,短语“A和/或B”表示(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。当本公开陈述“一”或“第一”元件或其等同物时,这样的公开包括一个或多个这样的元件,既不要求也不排除两个或更多个这样的元件。此外,用于识别的元件的顺序指示符(例如,第一、第二或第三)用于在不同元件之间进行区分,并且不指示或暗示这样的元件的所要求的或限制的数量,其也不指示这样的元件的特定位置或次序,除非另有具体说明。
在描述中提及一个实施例或实施例表示结合实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。该描述可以使用短语“在一个实施例中”、“在实施例中”、“在另一实施例中”、“在各种实施例中”等,其各自可以指代相同或不同的实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包含”、“包括”、“具有”等是同义词。
在各种实施例中,术语“模块”可以指代、作为其部分或包括:专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的(共享、专用或分组)处理器、和/或(共享、专用或分组)存储器、组合逻辑电路、和/或提供所述功能的其它合适的部件。在各种实施例中,可以以固件、硬件、软件或固件、硬件和软件的任何组合来实现模块。
在各种实施例中,为了本公开的目的,短语“上下文”或“上下文信息”表示可用于描绘要被发送的数据或用于发送数据的网络的特性的任何信息。
现在参考图1,示出了根据各种实施例的用于自适应数据压缩的示例性系统配置。系统100可以包括一个或多个用户的各种用户设备,其可以经由联网来直接或间接访问系统100中的服务设备。如图1所示,用户设备可以包括例如桌上型计算机110、移动计算机120、智能电话130或平板计算机140。
虽然未示出,但系统100中的用户设备还可以包括手持式计算机、膝上型计算机、蜂窝电话、寻呼机、音频和/或视频播放器(例如,MP3播放器、DVD播放器等)、游戏设备、视频摄像机、数码摄像机、导航设备(例如,GPS设备)、无线外围设备(例如,耳机等)和/或可以与云160进行通信并且通过本公开的教导而被增强的其他合适的用户电子设备。
用户设备可以被配置为无线地连接到计算云160(以下称为云160)中的服务器设备,例如服务器162和数据服务器164。如下面将更详细地描述的,用户设备和服务设备可以分别被并入本公开的相对应的教导中,以使得用户设备能够在将数据发送到服务器设备或其他用户设备之前自适应地压缩数据。
在各种实施例中,系统100中的用户设备可以被配置为与云160,计算基础架构复合体进行通信。云160可以支持云计算,云计算通常指代具有资源的资源充足的计算模型,所述资源例如是经由联网可用作服务的硬件、存储装置、管理解决方案、安全性解决方案、商务应用等。云160通常可以提供其服务作为基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、网络即服务(NaaS)和/或通信即服务(CaaS)。此外,云160可以基于一种或多种服务类型(例如IaaS、PaaS、SaaS、NaaS和/或CaaS)而具体地提供服务,支持在将文件上传到云160之前用户设备自适应地压缩文件。因此,可以经济地递送这样的服务以改善用户体验、性能和能量效率。
在各种实施例中,云160可以包括一个或多个服务器设备,例如服务器162和/或数据服务器164,以下统称为“云服务器”,其被并入本公开的教导以协作地使得用户设备能够执行自适应数据压缩。在各种实施例中,服务器162可以是可以执行应用相关的逻辑的应用服务器。在各种实施例中,数据服务器164可以被配置为提供数据服务。
在各种实施例中,云160可以包括一个或多个无线和/或有线网络以可操作地将用户设备耦合到云服务器。网络可以包括公共和/或私有网络,例如但不限于因特网、电话网络(例如,公共交换电话网络(PSTN))、局域网(LAN)、广域网(WAN)、有线网络、以太网等。在各种实施例中,用户设备可以经由蜂窝网络和/或无线连接耦合到这些网络。无线通信网络可以包括无线个域网(WPAN)、无线局域网(WLAN)、无线城域网(WMAN)和/或无线广域网(WWAN)的各种组合。
从用户设备的角度上传或下载之前可以压缩数据。通常,与压缩过程相比,解压缩过程是非常廉价的。因此,对于用户设备从服务器设备接收压缩的文件并且在本地对其进行快速解压缩可能总是有益的,这是因为其可以减少延迟、能量和潜在的花费(例如,当在付费移动网络上时)。
然而,针对将文件从用户设备上传到服务器设备,数据压缩可能不一定会改善用户体验。作为一个示例,用于文件的压缩和传输的总时间可以比简单地发送文件而不压缩的总时间更长。针对上传使用,可能具有影响对是否压缩文件的决定的许多参数,包括文件大小、文件类型、压缩算法和包括处理器频率等的设备能力,仅举几例,以及其他传输相关的参数,包括使用的无线技术的类型(例如,Wi-Fi或2G/3G/4G)、可用传输带宽以及其他参数。系统100中的用户设备(例如,智能电话130)可以考虑本文所讨论的影响因素,并且做出是否在以对等方式将文件上传到云160或另一用户设备之前压缩文件的实时决定。将在下面更充分地描述自适应数据压缩的这些和其他方面。
在一些实施例中,可以由客户端设备在本地做出对自适应数据压缩的决定。在一些实施例中,可以由云160上的服务器设备做出对自适应数据压缩的决定。在一些实施例中,对自适应数据压缩的决定可以被实现在加速器或中介器(未示出)中,该加速器或中介器可以负责在用户设备和服务器设备之间的云通信。
现在参考图2,示出了根据各种实施例的用于自适应数据压缩的装置200的示例性实现方式。在各种实施例中,装置200可以是计算设备,例如图1中的膝上型计算机120或智能电话130。装置200可以利用网络信息、文件信息、用户偏好等来在将文件发送到另一计算设备之前自适应地压缩该文件。在各种实施例中,装置200可以包括可操作地彼此耦合的上下文监测模块210、策略模块220、分析模块230、压缩模块240和联网模块250。
装置200可以包括上下文监测模块210,其用于收集文件信息和相关的上下文信息以用于该文件传输。例如,上下文监测模块210可以收集装置200的设备类型、网络带宽、网络延迟或将要发送的文件大小中的至少一个的上下文信息。设备类型可以影响压缩可以被执行得有多快。作为示例,成熟的桌上型计算机110可以比图1中的智能电话130更快地执行相同的压缩算法。可用的网络带宽可以影响文件的传输时间。作为示例,更大的带宽可以产生更快的传输。在一些实施例中,可以使用启发式信息来获得可用的网络带宽。网络延迟还可以影响文件的传输时间。虽然对某个云服务器的平均延迟(例如,在一个位置处的)可以是相对稳定的,但是当位置改变时,网络延迟可以改变。因此,上下文监测模块210可以跟踪位置信息并且启发性地调整网络延迟的期望。文件类型和文件大小可以影响压缩算法和压缩时间。作为示例,针对不同的文件大小,用于压缩的每个字节的花费(在处理器时间方面)是不相同的。
在各种实施例中,策略模块220可以收集关于文件传输的用户的偏好。作为示例,一些用户可以追求鲁棒性能,例如用于发送文件的最快的总时间。作为另一示例,一些用户可以偏重于更多的感知花费,例如,优选用于在付费网络中发送文件的最经济的方法。这样的用户偏好(例如,性能与花费)可以是用于确定是否在文件传输之前压缩该文件的重要因素。在各种实施例中,策略模块220可以收集以性能为中心的策略、以花费为中心的策略或平衡性能和花费的策略中的至少一个的用户偏好。可以基于以下来确定这样的用户偏好:每个用户设备、每个网络、每个联网会话、每个文件类型、每个文件大小、每个云服务器、每个应用、每个文件上传、或由用户或系统定义的其他标准。
在一些实施例中,用户可以优选以性能为中心的策略,其中总上传时间是主要考虑因素。因此,可以将利用压缩上传的总时间与不利用压缩上传的总时间进行比较,并且可以选择具有更少时间的操作。在一些实施例中,用户可以优选以花费为中心的策略。这里,装置200可以验证用户设备是否在付费网络上。压缩可以始终应用于可压缩的文件上而不考虑总上传时间,使得可以使用于上传的花费最小化。在一些实施例中,用户可以优选平衡的策略,其中货币花费因素和上传时间两者均可以被考虑针对用于压缩的决定。
在各种实施例中,如果用户对性能或能量节省进行优化,则装置200可以执行自适应数据压缩以实现最短的总上传时间。在另一方面,如果用户优选节省花费(例如在付费网络上),则装置200可以执行自适应数据压缩以优化总网络业务而不考虑上传时间。在各种实施例中,装置200可以考虑用户的偏好,但是对自适应数据压缩的最终决定可以与用户的偏好不同,例如,根据用于优化用户设备中的所有应用的上传时间的整体系统设计。
在各种实施例中,分析模块230可以由装置200来配置和使用,以至少部分地基于从上下文监测模块210收集到的上下文信息和从策略模块220收集到的用户偏好来确定是否在文件的传输之前压缩该文件。在一些实施例中,一旦做出对压缩的决定,分析模块230可以进一步确定用于压缩文件的数据压缩算法。然而,在其他实施例中,压缩模块240可以确定实际的压缩算法或过程。
在各种实施例中,分析模块230可能需要至少部分地基于这样的传输的上下文信息来确定用于在未进行进一步压缩的情况下发送文件的总时间和用于压缩相同的文件并发送该文件的总时间。在一些实施例中,分析模块230可以使用机器学习过程基于上下文信息的各种影响因素和训练数据集来离线构建查找表。因此,分析模块230可以快速查找用于在进行或未进行进一步压缩的情况下发送文件的估计的总时间。在其他实施例中,分析模块230还可以在实际传输之前实时地计算用于在进行或未进行进一步压缩的情况下发送文件的估计的总时间。
为了离线建立这样的查找表,分析模块230可以利用不同的参数进行实验,例如设备类型、网络带宽、文件大小和网络延迟,并测量用于压缩和未压缩的情况下的总上传时间。通常不可能概述每个可能的上传情况,并且离线数据集可以用作训练集,例如用于机器学习算法,以预测新上传情况下的总时间(压缩或未压缩)。
分析模块230可以使用各种技术来预测新的上传情况的结果,例如使用计算统计学、机器学习或用于做出预测的任何其它合适的技术。在一个实施例中,分析模块230可以在随机森林回归(RFR)机器学习过程中使用本文中讨论的那些影响因素。RFR作为机器学习算法可以用于预测在给定情景下的用于压缩的情况和未压缩的情况的总时间。RFR是元估计器,其在数据集的各个子样本上拟合多个决策树分类器,并使用求平均来提高预测精度并且控制过拟合。作为示例,用于进行压缩和未进行压缩的操作的概述数据集可以被馈送到RFR算法中。然后,RFR算法可以预测给定场景下的上述两种情况中的任一情况的总时间。
虽然可以实时地执行机器学习过程来估计用于进行压缩和未进行压缩的操作的总时间,但是为了避免这样的实时机器学习开销,可以由分析模块230来构建使用离线学习过程的查找表。该表可以包括影响因素以及用于进行压缩和未进行压缩的操作的预测的总时间。因此,在实时操作期间,分析模块230可执行快速查找以获得用于传输的预测时间。因此,分析模块230可以基于进行压缩和未进行压缩的情况下的总时间以及用户偏好来确定压缩是否可以应用于文件中,如本文所述。
在各种实施例中,当做出在文件传输之前压缩该文件的决定时,耦合到分析模块230的压缩模块240可以执行压缩算法。利用数据压缩,相同的文件可以利用比原始未压缩的表示更少的比特来进行编码。然而,不同的文件类型可能需要使用不同的压缩算法进行压缩。作为示例,视频压缩可以与文本压缩不同。即使针对相同的文件类型,数据压缩仍然受到时空复杂性折中支配。作为示例,可以利用有损或无损算法来压缩图像。无损压缩中没有信息会丢失,因为它仅通过识别和消除统计冗余来减少比特。在另一方面,有损压缩可以通过移除不必要的信息来实质上减少图像的大小,但是潜在地会导致图像质量减少作为折中。因此,压缩模块240可以基于各种因素来确定数据压缩方案,各种因素包括文件类型、文件大小、压缩的程度、引入的失真的量、针对压缩所需的计算资源、计算资源的当前消耗状态等。在其他实施例中,可以由分析模块230做出特定的数据压缩决定。在这些情况下,压缩模块240可以相应地简单地执行数据压缩处理。
在各种实施例中,联网模块250可以向装置200提供接口以用于将数据上传到另一计算设备(例如,云服务器或另一用户设备)。在各种实施例中,装置200中的联网模块250可以利用一个或多个无线或有线网络与其他设备进行通信。这些无线或有线网络可以包括公共和/或私有网络,例如但不限于LAN、WAN或因特网。在一些实施例中,这些无线网络可以包括一个或多个WPAN、WLAN、WMAN或WWAN。在一些实施例中,这些无线网络可以包括蜂窝网络,例如,宽带码分多址(WCDMA)、全球移动通信系统(GSM)、长期演进(LTE)等。
在各种实施例中,装置200可以与如图2所描绘的不同地被实现。作为示例,上下文监测模块210可以与策略模块220组合以形成用于收集用于数据通信的相关的信息的综合模块。在各种实施例中,图2所描绘的部件可以具有图2中未示出的直接或间接的连接。作为示例,分析模块230可以直接连接到联网模块250以及压缩模块240。在其他实施例中,模块中的一些可以被划分为多个模块。
在各种实施例中,装置200的一些或所有部件可以被分布在任何数量的不同设备或网络上。装置200的一些或所有部件可以在用户本地或远离用户。作为示例,分析模块230可以被实现为云服务器(例如,图1的服务器162)的集成子系统,而不是位于用户设备中。在这样的情况下,服务器可以从用户设备接收用于将文件发送到服务器的指示。因此,服务器可以收集相关的影响因素以用于这样的传输,例如,将文件从用户设备发送到服务器的持续时间,或针对性能或花费的用户偏好。在这样的情况下,服务器可以构建查找表以用于上传时间估计。因此,服务器可以至少部分地基于这些影响因素和用户偏好来快速确定用户设备是否应该在将文件从客户端发送到服务器之前压缩该文件。然后,服务器可以将这样的决定发送到用户设备。
现在参考图3,其是根据各种实施例的,并入本公开的各方面的,可以由示例性装置来实施的用于自适应数据压缩的示例性过程300的流程图。过程300可以由处理逻辑来执行,该处理逻辑包括硬件(例如,电路、专用逻辑、可编程逻辑、微代码等)、软件(例如,在处理设备上运行的用于执行硬件模拟的指令)或其组合。处理逻辑可以被配置为提供自适应数据压缩。这样,过程300可以由计算设备(例如,装置200)执行,以实现本公开的一个或多个实施例。在各种实施例中,过程300可以具有更少的或附加的操作,或以不同次序执行操作中的一些。
在各种实施例中,该过程可以在框310处开始,其中可以由用户设备(例如,由图2的装置200)接收用于将文件发送到服务器的指示。在一些实施例中,可以由用户设备中的指定事件来触发这样的指示。作为示例,用户设备上的云存储应用或app可以检测到新的照片,其可以继而触发用于将本地照片与相关云服务器进行同步的请求。在一些实施例中,这样的指示可以由用户具体地来生成。作为示例,用户可以具体地命令将文件从用户设备上传到云服务器。
接下来,在框320处,可以例如通过上下文监测模块210和/或图2的策略模块220来收集关于用于将文件发送到服务器的持续时间的多个影响因素以及针对用于将文件发送到服务器的性能或花费的用户偏好。如本文所讨论的,上下文监测模块210可以收集装置200的设备类型、网络带宽、网络延迟、文件类型、文件大小等中的至少一个的上下文信息。在各种实施例中,在接收到用于发送文件的指示之前,可以连续地或周期性地(但是经常地)执行对上下文信息的收集。同时,策略模块220可以收集以性能为中心的策略、以花费为中心的策略或平衡性能和花费的策略中的至少一个的用户偏好。此外,策略模块220可以收集在平衡策略中将要分配给性能和花费因素的相应的权重。类似地,在各种实施例中,在接收到用于发送文件的指示和/或收集上下文信息之前,可以连续地或周期性地执行对用户偏好的收集。
接下来,在框330处,例如通过图2的分析模块230可以至少部分地基于影响因素和用户偏好的收集到的信息,来确定是否在将文件发送到服务器之前压缩文件。在各种实施例中,分析模块230可以从查找表中查找用于在进行压缩或未进行压缩的情况下传输的预测的总时间。在一些实施例中,可以利用训练数据集来离线构建该查找表,例如基于合适的机器学习过程。在各种实施例中,分析模块230可以至少部分地基于用于减少用于发送文件的总时间或用于发送文件的总货币花费的用户偏好来做出这样的确定。在一些实施例中,除了用户偏好之外,分析模块230可以考虑系统性能。作为示例,当网络拥塞时,所有用户设备可以默认为数据压缩模式以减轻拥塞。在各种实施例中,过程300可以利用如本文所述的自适应数据压缩来改善整体性能、能量和用户体验。
现在参考图4,其是根据各种实施例的可以由示例性装置来实施的用于基于平衡策略的自适应数据压缩的示例性过程的流程图。过程400可以由装置200执行以用于实现本公开的一个或多个实施例。在各种实施例中,可以参照图3中的框320和框330来执行过程400。在各种实施例中,可以以任何合适的次序来组合或布置图4中的各个框,例如,根据用于自适应数据压缩的装置200的特定实施例。
在各种实施例中,该过程可以在框410处开始,其中计算设备可以收集上下文信息以用于传输,包括计算设备的设备类型、在计算设备和服务器之间的网络带宽、在计算设备和服务器之间的网络延迟、或文件的文件大小中的至少一个。
接下来,在框420处,计算设备可以进一步收集用户偏好以用于传输,例如,计算设备的用户优选的以性能为中心的策略、以花费为中心的策略、或平衡性能和花费的策略中的至少一个。
接下来,在框430处,计算设备可以例如从查找表中查找用于在进行或未进行进一步压缩的情况下发送文件的相应的预测的总时间。在一些实施例中,可以基于一些训练数据集来离线构建查找表,例如,在机器学习过程中。
接下来,在框440处,计算设备可以进一步在文件被压缩之后估计文件的大小。在一些实施例中,这样的估计也可以从查找表中获得,例如,基于文件类型、文件大小和所选择的数据压缩算法。在其他实施例中,由于大多数数据压缩算法的特性是公知的,所以可以实时地在算法上计算这样的估计。
接下来,在框450处,在平衡策略中,计算设备可以通过将相应的权重分配给性能因素和花费因素来确定是否压缩文件。利用平衡策略,可以考虑货币花费因素和上传时间因素用于在进行数据压缩或未进行数据压缩的上传之间进行最终决定。在一个实施例中,以下示例性策略等式可以用于自适应数据压缩。
BP=β*((NCT-CT)/NCT))+(1-β)((OS-CS)/OS) 等式1
在等式1中,NCT是用于在未进行进一步压缩的情况下发送数据的总时间,而CT是用于进行数据压缩并且传输的总时间。因此,((NCT-CT)/NCT))的分量可以表示相对于时间的数据压缩的益处。如果节省时间因素的这个分量是负数,则表示在该情况下的数据压缩实际上可以延长总的上传时间,例如由于用于数据压缩本身的时间被延长。
在等式1中,OS是未进行数据压缩的原始文件大小,而CS是在进行数据压缩之后的文件大小。因此,((OS-CS)/OS)的分量可以反映相对于网络业务(因此在某些情况下也是财务花费)减少的数据压缩的益处。从理论上说,花费节省因素的这个分量应该始终产生在0和1之间的值。
在等式1中,β是可配置的系数,其指示给予时间节省因素或花费节省因素的相应的权重。在一些实施例中,β可以是用户可配置的参数。在一些实施例中,β可以由系统预先确定,例如基于设备类型或网络类型。在各种实施例中,针对自适应数据压缩的最终决定可以是基于BP的值的。在一个实施例中,只要BP的值为正或大于预先确定的阈值,则计算设备可以选择执行数据压缩。
现在参考图5,其是基于上下文信息或用户偏好的用于自适应数据压缩的示例性过程500的流程图。如图所示,过程500可以由装置200执行以用于实现本公开的一个或多个实施例。类似于过程300和400,在各种实施例中,过程500可以具有更少的或附加的操作,或以不同的次序执行操作中的一些。
在各种实施例中,过程500可以在框512处开始,其中可以由用户设备接收到文件上传指示。在框514处,用户设备可以进一步评估该文件是否是可压缩的。许多文件是不可压缩的,例如,因为文件缺少重复模式、文件已被压缩、文件已被加密等。在这种情况下,在框544处,可以做出不再进一步压缩的决定。然而,如果文件是可压缩的,则在框516处可以收集用于上传文件的用户偏好。在一些实施例中,用户偏好可以选自以性能为中心的策略、以花费为中心的策略或平衡性能和花费的策略中的一个中。
过程500可以在框518处继续,其中可以验证当前网络是否是付费网络。在各种实施例中,基于当前上传会话来确定网络是付费的还是免费的。作为示例,许多WiFi网络不会强加数据限制或仅收取一次性费用。因此,用户可以上传文件而不会针对上传事务特别地被收费。在这种情况下,上传会话可以被解释为是免费的。然而,蜂窝网络可以基于用户的数据计划和容量限制,对其网络中的上传/下载文件强加非正常的费用。在这种情况下,上传会话可以逐字地导致独立的费用,或者可以被视为已经被收费的,例如基于每月的收费。
针对付费网络,过程500可以继续到框522以验证用户是否选择以花费为中心的策略。如果用户选择了以花费为中心的策略,并且上传可以导致现在或以后针对用户的收费,则在框542处可以达成在上传之前压缩文件的决定。否则,过程500可以从框518或522继续到框524,以收集上下文信息以用于上传,例如设备类型、网络带宽、网络延迟、文件大小、文件类型等。
接下来,过程500可以继续到框526,以例如基于上下文信息从查找表中查找用于在进行或者未进行压缩的情况下上传文件的预测的总时间,即未压缩时间(NCT)和压缩时间(CT)。在框528处,可以评估在NCT和CT之间的关系。如果NCT大于CT,则在框542处再次做出对文件进行压缩的决定,这是因为数据压缩将可能利用缩短的上传时间来改善用户体验。
然而,如果在框528处压缩可以延长用于上传的总时间,则可以进一步检查当前网络是否是付费网络以及在框532处用户是否选择了平衡策略。如果当前网络可以被认为是免费的或用户选择了以花费为中心的策略或性能策略,则在框544处可以做出针对该上传会话不需要进一步数据压缩的决定。
如果当前网络是付费网络并且用户选择了平衡策略,则过程500可以继续到框534来计算压缩益处,例如与在数据压缩之后减少的文件大小相关的花费节省因素。此外,在框536处,过程500可以平衡针对框528处的时间损失的压缩益处,例如基于本文讨论的等式1。如果压缩益处超过时间损失,则在框542处过程500仍可以继续压缩文件;否则,在框544处,过程500可以继续上传文件而不进行进一步压缩。
图6示出了适用于实施本公开的实施例的计算设备600的实施例。计算设备600可以是用户触及范围内的任何计算设备(例如,用户携带、穿戴、触摸、进行手势等的设备),其形式例如是智能电话、可穿戴设备、平板计算机、膝上型计算机、桌上型计算机、服务器等。如图所示,计算设备600可以包括系统控制逻辑620,该系统控制逻辑620耦合到处理器610、到系统存储器630、到非易失性存储器(NVM)/存储装置640以及到通信接口650。在各种实施例中,处理器610可以包括一个或多个处理器核心。
在各种实施例中,通信接口650可以提供用于计算设备600与另一计算设备(例如,服务器)进行通信的接口,如之前结合图1所讨论的。在各种实施例中,通信接口650可以提供用于计算设备600通过一个或多个网络和/或与任何其他合适的设备进行通信的接口。通信接口650可以包括任何合适的硬件和/或固件,例如,网络适配器、一个或多个天线、无线接口等。在各种实施例中,通信接口650可以包括用于计算设备600使用近场通信(NFC)、光通信或其他类似技术来直接(例如,没有中介)与包括传感器的另一设备进行通信的接口。在各种实施例中,通信接口650可与无线电通信技术(诸如,例如宽带码分多址(WCDMA)、全球移动通信系统(GSM)、长期演进(LTE)、Zigbee等)进行交互操作。
在一些实施例中,系统控制逻辑620可以包括任何合适的接口控制器,其用于向处理器610和/或与系统控制逻辑620进行通信的任何合适的设备或部件提供任何合适的接口。系统控制逻辑620还可以与显示器(未示出)进行交互操作以用于显示信息,例如向用户。在各种实施例中,显示器可以包括各种显示格式和形式中的一个,诸如,例如液晶显示器、阴极射线管显示器、电子墨水显示器、投影显示器。在各种实施例中,显示器可以包括触摸屏。
在一些实施例中,系统控制逻辑620可以包括一个或多个存储器控制器(未示出),用于向系统存储器630提供接口。系统存储器630可以用于加载和存储数据和/或指令,例如用于计算设备600。系统存储器630可以包括任何合适的易失性存储器,诸如,例如动态随机存取存储器(DRAM)。
在一些实施例中,系统控制逻辑620可以包括一个或多个输入/输出(I/O)控制器(未示出),用于向NVM/存储装置640和通信接口650提供接口。例如,NVM/存储装置640可以用于存储数据和/或指令。NVM/存储装置640可以包括任何合适的非易失性存储器(诸如例如闪存)、和/或可以包括任何合适的非易失性存储设备,诸如例如一个或多个硬盘驱动器(HDD)、一个或多个固态驱动器、一个或多个压缩盘(CD)驱动器和/或一个或多个数字通用盘(DVD)驱动器。NVM/存储装置640可以包括存储资源,该存储资源物理上是设备中的安装有计算设备600的部分,或者存储资源可以由计算设备600可访问,但不一定是计算设备600的部分。例如,NVM/存储装置640可以由计算设备600通过网络经由通信接口650进行访问。
在各种实施例中,系统存储器630、NVM/存储装置640和系统控制逻辑620可以特别地包括压缩逻辑632的临时和持久的副本。压缩逻辑632可以包括以下指令:该指令被处理器610执行时使得计算设备600基于用户偏好和/或其他上下文信息来提供自适应数据压缩,例如但不限于过程300、400或500。在各种实施例中,压缩逻辑632可以包括以下指令:该指令由处理器610执行时使得计算设备600执行与结合图2的上下文监测模块210、策略模块220、分析模块230、压缩模块240和/或联网模块250相关联的各种功能。
在一些实施例中,处理器610可以与系统控制逻辑620和/或压缩逻辑632封装一起。在一些实施例中,处理器610中的至少一个可以与系统控制逻辑620和/或压缩逻辑632封装一起以形成系统级封装(SiP)。在一些实施例中,处理器610可以与系统控制逻辑620和/或压缩逻辑632集成在相同的管芯上。在一些实施例中,处理器610可以与系统控制逻辑620和/或压缩逻辑632集成在相同的管芯上以形成片上系统(SoC)。
取决于由计算设备600托管结合图2的装置200的哪些模块,处理器610、系统存储器630等的能力和/或性能特性可以不同。在各种实现方式中,计算设备600可以是利用本公开的教导增强的智能电话、平板计算机、移动计算设备、可穿戴计算设备、服务器等。
图7示出了根据各种实施例的,并入本公开的各方面的,具有编程指令的制品710。在各种实施例中,可以采用制品来实现本公开的各种实施例。如图所示,制品710可以包括计算机可读的非暂时性存储介质720,其中指令730被配置为实施本文所述的过程中的任何一个的实施例的实施例或方面。存储介质720可以表示本领域已知的持久存储介质的广泛范围,包括但不限于闪存、动态随机存取存储器、静态随机存取存储器、光盘、磁盘等。响应于该装置执行指令730,指令730可以使该装置能够执行本文所述的各种操作。例如,存储介质720可以包括指令730,指令730被配置为使装置(例如,装置200)实施自适应数据压缩中的一些或所有方面,如图3的过程300、图4的过程400、图5的过程500、或本文公开的附图中的任何一个的实施例的方面所示出的。在各种实施例中,计算机可读存储介质720可以包括一个或多个计算机可读的非暂时性存储介质。在其他实施例中,计算机可读存储介质720可以是暂时性的,例如编码有指令730的信号。
虽然为了描述的目的,已经在本文中描述和示出了特定实施例,但是在不背离本公开的范围的情况下,为了实现相同目的而计算出的广泛的各种替代和/或等同的实施例或实现方式可以代替所示和所描述的实施例。本申请旨在涵盖本文所讨论的实施例的任何改编或变型。因此,显然地旨在本文所描述的实施例仅由权利要求来限制。
以下段落描述了各种实施例的示例。
第一种示例可以包括用于计算的装置,其可以包括:上下文监测模块,其用于收集上下文信息以用于数据的传输;策略模块,其用于收集关于与数据的传输相关联的花费的用户偏好;以及分析模块,其耦合到所述上下文监测模块和所述策略模块,用于至少部分地基于所述上下文信息和所述用户偏好来确定是否在传输之前压缩数据。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述分析模块进一步用于当做出在传输之前压缩数据的确定时,确定用于在传输之前压缩数据的数据压缩算法。另一示例可以包括前述第一种示例中的任何一个的装置,进一步包括:压缩模块,其耦合到分析模块,用于在传输之前对数据执行所述数据压缩算法。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述上下文监测模块用于收集装置的设备类型、网络带宽、网络延迟或将要发送的数据的数据大小中的至少一个的上下文信息。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述策略模块用于收集以性能为中心的策略、以花费为中心的策略或平衡性能和花费的策略中的至少一个的用户偏好。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述分析模块在平衡性能和花费的策略中使用可配置系数将第一权重分配给时间节省因素,并将第二权重分配给业务节省因素。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述分析模块进一步用于基于上下文信息从查找表中查找用于压缩的数据的传输的第一总时间和用于未压缩的数据的传输的第二总时间。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述分析模块进一步用于使用机器学习过程基于所述上下文信息的多个影响因素和多个训练数据集来离线构建所述查找表。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述分析模块进一步用于在随机森林回归机器学习过程中使用上下文信息的多个影响因素来估计用于压缩的数据的传输的第一总时间和用于未压缩的数据的传输的第二总时间。另一示例可以包括前述第一种示例中的任何一个的装置,其中,所述数据包括可压缩文件,并且其中,所述分析模块用于做出是否在将所述可压缩文件通过至少一个无线网络传输到服务器之前压缩所述可压缩文件的确定。
第二种示例可以包括用于计算的方法,包括:由计算设备接收用于将文件发送到服务器的指示;由所述计算设备收集在将文件发送到服务器期间的多个影响因素以及针对用于将文件发送到服务器的性能或花费的用户偏好;并且由所述计算设备至少部分地基于所述多个影响因素和所述用户偏好来确定是否在将所述文件发送到所述服务器之前压缩所述文件。另一示例可以包括前述第二种示例中的任何一个的方法,进一步包括:由所述计算设备选择用于压缩文件的数据压缩算法;并且由所述计算设备在将文件发送到服务器之前对所述文件执行数据压缩算法。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述收集包括收集以下中的至少一个:所述计算设备的设备类型、在所述计算设备和所述服务器之间的网络带宽、在所述计算设备和所述服务器之间的网络延迟、或者文件的文件大小。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述收集包括收集所述计算设备的用户优选的以性能为中心的策略、以花费为中心的策略、或平衡性能和花费的策略中的至少一个。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述确定包括确定在以性能为中心的策略下在发送所述文件之前压缩所述文件是否缩短了用于将所述文件发送到所述服务器的总时间。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述确定包括确定在以花费为中心的策略下在发送所述文件之前压缩所述文件是否节省了针对所述计算设备的用户的用于将所述文件发送到所述服务器的货币花费。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述确定包括在平衡策略下将第一权重分配给时间节省因素并且将第二权重分配给业务节省因素。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述确定包括:至少部分地基于用于减少用于发送所述文件的总时间或用于发送文件的总货币花费的所述用户偏好来确定是否在将所述文件发送到所述服务器之前压缩所述文件。另一示例可以包括前述第二种示例中的任何一个的方法,其中,所述确定包括从查找表中查找用于在进行压缩的情况下发送文件的第一总时间以及用于在未进行压缩的情况下发送文件的第二总时间。另一示例可以包括前述第二种示例中的任何一个的方法,由所述计算设备使用机器学习过程基于多个影响因素来构建查找表。
另一示例可以包括一种装置,所述装置包括用于执行前述第二种示例中的任一个的单元。另一示例可以包括包含指令的一种或多种非暂时性计算机可读介质,所述指令用于在由装置的一个或多个处理器执行该指令时使得装置执行前述第二种示例中的任一个。
第三种示例可以包括一种用于计算机联网的方法。所述方法可以包括:由在客户端或服务器上操作的模块接收来自客户端的用于将文件发送到服务器的指示;由所述模块收集关于将文件从客户端发送到服务器期间的多个影响因素以及针对用于将文件从客户端发送到服务器的性能或花费的用户偏好;由所述模块至少部分地基于所述多个影响因素和所述用户偏好来确定是否在将所述文件从客户端发送到服务器之前压缩所述文件;并且由所述模块将客户端是否在将所述文件从客户端发送到服务器之前压缩所述文件的确定的结果发送到所述客户端。另一示例可以包括前述第三种示例中的任一个的方法,其中,所述收集包括收集以下中的至少一个:所述客户端的设备类型、在所述客户端和所述服务器之间的网络带宽、在所述客户端和所述服务器之间的网络延迟、或者文件的文件大小。另一示例可以包括前述第三种示例中的任一个的方法,其中,所述收集包括收集用于减少用于发送文件的总时间或者用于传输文件的总货币花费的所述计算设备的用户优选的以性能为中心的策略、以花费为中心的策略、或平衡性能和花费的策略中的至少一个。另一示例可以包括前述第三种示例中的任一个的方法,其中,所述确定包括:从使用机器学习过程基于多个影响因素来构建的查找表中查找用于在进行压缩的情况下发送文件的第一总时间和用于在未进行压缩的情况下发送文件的第二总时间。另一示例可以包括前述第三种示例中的任一个的方法,其中所述模块位于服务器内。
另一示例可以包括一种装置,所述装置包括用于执行前述第三种示例中的任一个的单元。另一示例可以包括包含指令的一种或多种非暂时性计算机可读介质,在由装置的一个或多个处理器执行该指令时,所述指令用于使得装置执行前述第三种示例中的任一个。
提供了将允许读者确定本技术公开的本质和要点的摘要。在理解摘要不会用于限制权利要求的范围或含义的情况下提交了该摘要。因此,以上权利要求被并入到具体实施方式中,其中每一个权利均单独地作为独立的实施例。
Claims (25)
1.一种用于计算机联网的装置,包括:
上下文监测模块,其用于收集上下文信息以用于数据的传输;
策略模块,其用于收集关于与数据的传输相关联的花费的用户偏好;以及
分析模块,其耦合到所述上下文监测模块和所述策略模块,用于至少部分地基于所述上下文信息和所述用户偏好来确定是否在传输之前压缩数据。
2.根据权利要求1所述的装置,其中,所述分析模块进一步用于当做出在传输之前压缩数据的确定时,确定用于在传输之前压缩数据的数据压缩算法。
3.根据权利要求2所述的装置,进一步包括:
压缩模块,其耦合到所述分析模块,用于在传输之前对数据执行所述数据压缩算法。
4.根据权利要求1所述的装置,其中,所述上下文监测模块用于收集以下中的至少一个的所述上下文信息:所述装置的设备类型、网络带宽、网络延迟、或者要被发送的数据的数据大小。
5.根据权利要求1所述的装置,其中,所述策略模块用于收集以下中的中的至少一个的所述用户偏好:以性能为中心的策略、以花费为中心的策略、或者平衡性能和花费的策略。
6.根据权利要求5所述的装置,其中,所述分析模块在平衡性能和花费的所述策略中使用可配置系数将第一权重分配给时间节省因素,并且将第二权重分配给业务节省因素。
7.根据权利要求1所述的装置,其中,所述分析模块进一步用于从基于所述上下文信息的查找表中查找用于压缩的数据的传输的第一总时间以及用于未压缩的数据的传输的第二总时间。
8.根据权利要求7所述的装置,其中,所述分析模块进一步用于使用机器学习过程基于所述上下文信息的多个影响因素和多个训练数据集来离线构建所述查找表。
9.根据权利要求1所述的装置,其中,所述分析模块进一步用于在随机森林回归机器学习过程中使用所述上下文信息的多个影响因素来估计用于压缩的数据的传输的第一总时间以及用于未压缩的数据的传输的第二总时间。
10.根据权利要求1-9中任一项所述的装置,其中,所述数据包括可压缩文件,并且其中,所述分析模块用于做出是否在将所述可压缩文件通过至少一个无线网络传输到服务器之前压缩所述可压缩文件的确定。
11.一种用于计算机联网的方法,包括:
由计算设备接收用于将文件发送到服务器的指示;
由所述计算设备收集关于在用于将所述文件发送到所述服务器的期间的多个影响因素以及针对用于将所述文件发送到所述服务器的性能或花费的用户偏好;并且
由所述计算设备至少部分地基于所述多个影响因素和所述用户偏好来确定是否在将所述文件发送到所述服务器之前压缩所述文件。
12.根据权利要求11所述的方法,进一步包括:
由所述计算设备选择用于压缩所述文件的数据压缩算法;并且
由所述计算设备在将所述文件发送到所述服务器之前对所述文件执行所述数据压缩算法。
13.根据权利要求11所述的方法,其中,所述收集包括收集以下中的至少一个:所述计算设备的设备类型、在所述计算设备和所述服务器之间的网络带宽、在所述计算设备和所述服务器之间的网络延迟、或者所述文件的文件大小。
14.根据权利要求11所述的方法,其中,所述收集包括收集以下中的至少一个:所述计算设备的用户优选的以性能为中心的策略、以花费为中心的策略、或平衡性能和花费的策略。
15.根据权利要求14所述的方法,其中,所述确定包括确定在所述以性能为中心的策略下,在发送所述文件之前压缩所述文件是否缩短了用于将所述文件发送到所述服务器的总时间。
16.根据权利要求14所述的方法,其中,所述确定包括确定在所述以花费为中心的策略下,在发送所述文件之前压缩所述文件是否节省了针对所述计算设备的用户的用于将所述文件发送到所述服务器的货币花费。
17.根据权利要求14所述的方法,其中,所述确定包括在平衡策略下,将第一权重分配给时间节省因素并且将第二权重分配给业务节省因素。
18.根据权利要求11所述的方法,其中,所述确定包括:至少部分地基于用于减少用于发送所述文件的总时间或用于发送所述文件的总货币花费的所述用户偏好,来确定是否在将所述文件发送到所述服务器之前压缩所述文件。
19.根据权利要求11所述的方法,其中,所述确定包括从查找表中查找在进行压缩的情况下用于发送所述文件的第一总时间以及在未进行压缩的情况下用于发送所述文件的第二总时间。
20.根据权利要求19所述的方法,进一步包括:
由所述计算设备使用机器学习过程基于所述多个影响因素来构建所述查找表。
21.一种用于计算机联网的方法,包括:
由在客户端或服务器上工作的模块接收来自所述客户端的用于将文件发送到所述服务器的指示;
由所述模块收集在用于将所述文件从所述客户端发送到所述服务器期间的多个影响因素,以及针对用于将所述文件从所述客户端发送到所述服务器的性能或花费的用户偏好;
由所述模块至少部分地基于所述多个影响因素和所述用户偏好来确定是否在将所述文件从所述客户端发送到所述服务器之前压缩所述文件;并且
由所述模块将所述客户端是否在将所述文件从所述客户端发送到所述服务器之前压缩所述文件的确定的结果发送到所述客户端。
22.根据权利要求21所述的方法,其中,所述收集包括收集以下中的至少一个:所述客户端的设备类型、在所述客户端和所述服务器之间的网络带宽、在所述客户端和所述服务器之间的网络延迟、或者所述文件的文件大小。
23.根据权利要求21所述的方法,其中,所述收集包括收集以下中的至少一个:由所述计算设备的用户优选的用于减少用于发送所述文件的总时间或者用于发送所述文件的总货币花费的以性能为中心的策略、以花费为中心的策略、或平衡性能和花费的策略。
24.根据权利要求21所述的方法,其中,所述确定包括:从使用机器学习过程基于所述多个影响因素构建的查找表中查找在进行压缩的情况下用于发送所述文件的第一总时间以及在未进行压缩的情况下用于发送所述文件的第二总时间。
25.至少一种存储介质,包括:
多个指令,其被配置为响应于由所述装置执行所述指令,使得装置实施根据权利要求11-24所述的方法中的任何一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/718,938 | 2015-05-21 | ||
US14/718,938 US10313256B2 (en) | 2015-05-21 | 2015-05-21 | Apparatus and methods for adaptive data compression |
PCT/US2016/027532 WO2016186763A1 (en) | 2015-05-21 | 2016-04-14 | Apparatus and methods for adaptive data compression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107534615A true CN107534615A (zh) | 2018-01-02 |
CN107534615B CN107534615B (zh) | 2022-04-12 |
Family
ID=57320181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680022946.5A Active CN107534615B (zh) | 2015-05-21 | 2016-04-14 | 用于自适应数据压缩的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10313256B2 (zh) |
EP (1) | EP3298752A4 (zh) |
CN (1) | CN107534615B (zh) |
WO (1) | WO2016186763A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833530A (zh) * | 2018-06-11 | 2018-11-16 | 联想(北京)有限公司 | 一种传输方法和装置 |
CN110391873A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于确定数据传送方式的方法、装置以及计算机程序产品 |
CN115580661A (zh) * | 2022-09-30 | 2023-01-06 | 重庆理工大学 | 一种基于数据压缩的ipfs数据传输优化方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10187244B2 (en) | 2015-12-15 | 2019-01-22 | Tracfone Wireless, Inc. | User selectable optimization of data transmission compression for electronic devices |
US10142243B2 (en) * | 2016-09-12 | 2018-11-27 | Citrix Systems, Inc. | Systems and methods for quality of service reprioritization of compressed traffic |
US10276134B2 (en) | 2017-03-22 | 2019-04-30 | International Business Machines Corporation | Decision-based data compression by means of deep learning technologies |
US10498865B2 (en) | 2017-12-12 | 2019-12-03 | Intel Corporation | Security-oriented compression |
US20190238154A1 (en) * | 2018-01-31 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Dynamic data compressions |
CN113886346A (zh) * | 2021-08-31 | 2022-01-04 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
TWI783729B (zh) * | 2021-10-14 | 2022-11-11 | 財團法人資訊工業策進會 | 分散式資料傳輸容錯系統及其動態資源調整方法 |
CN115086301B (zh) * | 2022-06-17 | 2022-12-27 | 嘉兴云切供应链管理有限公司 | 用于压缩上传均衡的数据分析系统及方法 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050234927A1 (en) * | 2004-04-01 | 2005-10-20 | Oracle International Corporation | Efficient Transfer of Data Between a Database Server and a Database Client |
CN1860786A (zh) * | 2003-10-23 | 2006-11-08 | 交互设备有限公司 | 使用不同的编解码器压缩媒体信号各部分的系统和方法 |
US20070096954A1 (en) * | 2005-10-27 | 2007-05-03 | Evault, Inc. | Methods and apparatus for performing adaptive compression |
CN1968254A (zh) * | 2005-11-09 | 2007-05-23 | 国际商业机器公司 | 确定是否要压缩通过网络传送的数据的方法和系统 |
US20080279462A1 (en) * | 2007-05-10 | 2008-11-13 | International Business Machines Corporation | Selective compression of synchronized content based on a calculated compression ratio |
US20090046775A1 (en) * | 2007-08-17 | 2009-02-19 | Arvind Thiagarajan | System And Method For Delivery Of Electronic Data |
CN101552652A (zh) * | 2009-05-13 | 2009-10-07 | 北京交大思源科技有限公司 | 一种文件传输方法及传输装置 |
US20090300167A1 (en) * | 2008-05-30 | 2009-12-03 | General Electric Company | Networked image visualization image quality enhancement method and system |
CN102479098A (zh) * | 2010-11-23 | 2012-05-30 | 三星电子株式会社 | 使用快照图像的引导设备和方法 |
CN102684705A (zh) * | 2012-05-30 | 2012-09-19 | 奇智软件(北京)有限公司 | 数据压缩方法及装置 |
US20130301430A1 (en) * | 2012-05-11 | 2013-11-14 | Oracle International Corporation | Mechanism for automatic network data compression on a network connection |
CN103929185A (zh) * | 2013-01-10 | 2014-07-16 | 国际商业机器公司 | 实时减少数据压缩的中央处理单元开销的方法和系统 |
US20140237201A1 (en) * | 2013-02-15 | 2014-08-21 | Compellent Technologies | Data replication with dynamic compression |
US20140351229A1 (en) * | 2013-05-22 | 2014-11-27 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995029437A1 (fr) * | 1994-04-22 | 1995-11-02 | Sony Corporation | Dispositif et methode pour transmettre des donnees et dispositif et methode pour enregistrer des donnees |
FR2722313B1 (fr) | 1994-07-07 | 1997-04-25 | Ela Medical Sa | Procede de compression de donnees physiologiques, notamment d'active cardiaque, en particulier pour un enregistrement holter d'electrocardiogrammes ou d'electrogrammes |
EP1266455A4 (en) | 2000-02-25 | 2003-06-18 | Physical Optics Corp | OPTIMIZED LOSS-FREE COMPRESSION METHOD AND APPARATUS USING A PLURALITY OF ENCODERS |
US7987217B2 (en) * | 2000-05-12 | 2011-07-26 | Oracle International Corporation | Transaction-aware caching for document metadata |
US6615317B2 (en) * | 2000-07-07 | 2003-09-02 | Fitech Laboratories, Inc. | Methods and systems for providing a highly scalable synchronous data cache |
US7228350B2 (en) * | 2000-08-04 | 2007-06-05 | Avaya Technology Corp. | Intelligent demand driven recognition of URL objects in connection oriented transactions |
US6970939B2 (en) * | 2000-10-26 | 2005-11-29 | Intel Corporation | Method and apparatus for large payload distribution in a network |
JP4306152B2 (ja) * | 2001-06-26 | 2009-07-29 | 株式会社日立製作所 | クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム |
US7096034B2 (en) | 2001-10-01 | 2006-08-22 | Microsoft Corporation | System and method for reducing power consumption for wireless communications by mobile devices |
US7509393B2 (en) * | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US7020684B2 (en) * | 2002-01-18 | 2006-03-28 | Bea Systems, Inc. | System and method for optimistic caching |
US7085848B2 (en) * | 2002-03-15 | 2006-08-01 | Microsoft Corporation | Time-window-constrained multicast using connection scheduling |
US20030198294A1 (en) | 2002-04-23 | 2003-10-23 | Andre Zaccarin | Methods and apparatuses for selecting encoding options based on decoding energy requirements |
US7853699B2 (en) * | 2005-03-15 | 2010-12-14 | Riverbed Technology, Inc. | Rules-based transaction prefetching using connection end-point proxies |
US7840646B2 (en) | 2003-10-08 | 2010-11-23 | Yahoo! Inc. | Learned upload time estimate module |
US7548657B2 (en) * | 2005-06-25 | 2009-06-16 | General Electric Company | Adaptive video compression of graphical user interfaces using application metadata |
US8817809B2 (en) | 2007-06-18 | 2014-08-26 | Qualcomm Incorporated | Communication link allocation based on dynamic trend analysis |
WO2009035410A2 (en) | 2007-09-12 | 2009-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | Depth buffer compression |
US8046496B1 (en) * | 2007-12-12 | 2011-10-25 | Narus, Inc. | System and method for network data compression |
US8103764B2 (en) * | 2008-10-14 | 2012-01-24 | CacheIQ, Inc. | Method and apparatus for matching trigger pattern |
US8547983B2 (en) | 2010-06-04 | 2013-10-01 | Broadcom Corporation | Method and system for utilizing a broadband gateway to provide energy efficient management in a home network |
US8171317B2 (en) | 2009-03-30 | 2012-05-01 | Intel Corporation | Conserving power in a platform supporting network interfaces |
US8356060B2 (en) | 2009-04-30 | 2013-01-15 | Oracle International Corporation | Compression analyzer |
CN102460393B (zh) * | 2009-05-01 | 2014-05-07 | 思杰系统有限公司 | 用于在虚拟存储资源之间建立云桥的系统和方法 |
US8463944B2 (en) * | 2010-01-05 | 2013-06-11 | International Business Machines Corporation | Optimal compression process selection methods |
US8305947B2 (en) | 2010-02-12 | 2012-11-06 | Intel Corporation | Minimizing power consumption in a network device |
GB201004449D0 (en) * | 2010-02-22 | 2010-05-05 | Corbett Sean | Data accelerator |
US8832709B2 (en) * | 2010-07-19 | 2014-09-09 | Flash Networks Ltd. | Network optimization |
US8661449B2 (en) * | 2011-06-17 | 2014-02-25 | Microsoft Corporation | Transactional computation on clusters |
US8977561B2 (en) * | 2011-12-06 | 2015-03-10 | Toshiba Global Commerce Solutions Holding Corporation | Caching item information in a cloud-based point of sale system |
WO2013086225A1 (en) * | 2011-12-06 | 2013-06-13 | Seven Networks, Inc. | A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation |
US8949466B1 (en) * | 2012-02-08 | 2015-02-03 | Excelfore Corporation | System and method for adaptive compression |
ES2543919T3 (es) | 2012-03-07 | 2015-08-25 | Telit Automotive Solutions Nv | Compresión de datos contextuales para aplicaciones de geolocalización |
WO2013163818A1 (en) | 2012-05-04 | 2013-11-07 | Hewlett-Packard Development Company, L.P. | Context-aware http compression |
US20130336380A1 (en) | 2012-06-18 | 2013-12-19 | Broadcom Corporation | Power Optimization for Compression in Wireless Transmissions |
US9118345B2 (en) * | 2012-10-04 | 2015-08-25 | Altera Corporation | Data compression profiler for configuration of compression |
US9166862B1 (en) * | 2012-12-19 | 2015-10-20 | Amazon Technologies, Inc. | Distributed caching system |
US9191209B2 (en) | 2013-06-25 | 2015-11-17 | Google Inc. | Efficient communication for devices of a home network |
US20150019686A1 (en) * | 2013-07-12 | 2015-01-15 | Seven Networks, Inc. | Distributed caching systems with configurable extended caching optimization |
EP3085051A1 (en) * | 2013-12-16 | 2016-10-26 | F5 Networks, Inc | Methods for facilitating improved user authentication using persistent data and devices thereof |
US9681332B2 (en) * | 2014-06-26 | 2017-06-13 | Intel Corporation | Compression configuration identification |
US9543980B2 (en) * | 2014-10-10 | 2017-01-10 | Massachusettes Institute Of Technology | Systems and methods for model-free compression and model-based decompression |
US9800474B1 (en) * | 2014-10-21 | 2017-10-24 | Amazon Technologies, Inc. | Inter service network communication optimization |
US9596311B2 (en) * | 2014-10-30 | 2017-03-14 | International Business Machines Corporation | Dynamic data compression |
US9961157B2 (en) * | 2014-11-11 | 2018-05-01 | Dell Products L.P. | Adaptive compression management for web services |
US20160371355A1 (en) * | 2015-06-19 | 2016-12-22 | Nuodb, Inc. | Techniques for resource description framework modeling within distributed database systems |
-
2015
- 2015-05-21 US US14/718,938 patent/US10313256B2/en active Active
-
2016
- 2016-04-14 EP EP16796889.0A patent/EP3298752A4/en not_active Withdrawn
- 2016-04-14 WO PCT/US2016/027532 patent/WO2016186763A1/en active Application Filing
- 2016-04-14 CN CN201680022946.5A patent/CN107534615B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1860786A (zh) * | 2003-10-23 | 2006-11-08 | 交互设备有限公司 | 使用不同的编解码器压缩媒体信号各部分的系统和方法 |
US20050234927A1 (en) * | 2004-04-01 | 2005-10-20 | Oracle International Corporation | Efficient Transfer of Data Between a Database Server and a Database Client |
US20070096954A1 (en) * | 2005-10-27 | 2007-05-03 | Evault, Inc. | Methods and apparatus for performing adaptive compression |
CN1968254A (zh) * | 2005-11-09 | 2007-05-23 | 国际商业机器公司 | 确定是否要压缩通过网络传送的数据的方法和系统 |
US20080279462A1 (en) * | 2007-05-10 | 2008-11-13 | International Business Machines Corporation | Selective compression of synchronized content based on a calculated compression ratio |
US20090046775A1 (en) * | 2007-08-17 | 2009-02-19 | Arvind Thiagarajan | System And Method For Delivery Of Electronic Data |
US20090300167A1 (en) * | 2008-05-30 | 2009-12-03 | General Electric Company | Networked image visualization image quality enhancement method and system |
CN101552652A (zh) * | 2009-05-13 | 2009-10-07 | 北京交大思源科技有限公司 | 一种文件传输方法及传输装置 |
CN102479098A (zh) * | 2010-11-23 | 2012-05-30 | 三星电子株式会社 | 使用快照图像的引导设备和方法 |
US20130301430A1 (en) * | 2012-05-11 | 2013-11-14 | Oracle International Corporation | Mechanism for automatic network data compression on a network connection |
CN102684705A (zh) * | 2012-05-30 | 2012-09-19 | 奇智软件(北京)有限公司 | 数据压缩方法及装置 |
CN103929185A (zh) * | 2013-01-10 | 2014-07-16 | 国际商业机器公司 | 实时减少数据压缩的中央处理单元开销的方法和系统 |
US20140237201A1 (en) * | 2013-02-15 | 2014-08-21 | Compellent Technologies | Data replication with dynamic compression |
US20140351229A1 (en) * | 2013-05-22 | 2014-11-27 | Amazon Technologies, Inc. | Efficient data compression and analysis as a service |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110391873A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于确定数据传送方式的方法、装置以及计算机程序产品 |
CN110391873B (zh) * | 2018-04-20 | 2022-02-11 | 伊姆西Ip控股有限责任公司 | 用于确定数据传送方式的方法、装置以及计算机程序产品 |
CN108833530A (zh) * | 2018-06-11 | 2018-11-16 | 联想(北京)有限公司 | 一种传输方法和装置 |
CN115580661A (zh) * | 2022-09-30 | 2023-01-06 | 重庆理工大学 | 一种基于数据压缩的ipfs数据传输优化方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3298752A4 (en) | 2019-01-02 |
US20160344646A1 (en) | 2016-11-24 |
WO2016186763A1 (en) | 2016-11-24 |
CN107534615B (zh) | 2022-04-12 |
US10313256B2 (en) | 2019-06-04 |
EP3298752A1 (en) | 2018-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107534615A (zh) | 用于自适应数据压缩的装置和方法 | |
US20210271689A1 (en) | Data synchronization method, apparatus, and system | |
US20230019669A1 (en) | Systems and methods for enhanced feedback for cascaded federated machine learning | |
RU2722473C1 (ru) | Быстрое вычисление сверточной нейронной сети | |
CN110163367B (zh) | 一种终端部署方法和装置 | |
US20170019454A1 (en) | Mobile video quality prediction systems and methods | |
US10582526B2 (en) | System and method for measuring end-to-end channel capacity entropy | |
CN105594182A (zh) | 用于媒体流式传输的改善的请求取消方法 | |
KR102350195B1 (ko) | 모바일 엣지 컴퓨팅을 활용하는 모바일 증강현실 서비스의 모바일 단말 에너지 최적화 방법 및 시스템 | |
EP3767549A1 (en) | Delivery of compressed neural networks | |
US20200364558A1 (en) | Electronic apparatus and controlling method thereof | |
CN111611129B (zh) | PaaS云平台的性能监控方法及装置 | |
WO2024140150A1 (zh) | 信道状态信息反馈增强方法、装置、系统和存储介质 | |
WO2023029846A1 (zh) | 多媒体资源上传方法、装置、电子设备以及可读存储介质 | |
US10560515B2 (en) | Method and apparatus for transmitting and receiving information between servers in contents transmission network system | |
CN114861790B (zh) | 联邦学习压缩通信的优化方法、系统及装置 | |
US20110264761A1 (en) | Systems, methods, and apparatuses for facilitating remote data processing | |
US10271218B2 (en) | Enable access point availability prediction | |
US20200117544A1 (en) | Data backup system and data backup method | |
Binucci et al. | Multi-User Goal-Oriented Communications With Energy-Efficient Edge Resource Management | |
WO2023142351A1 (zh) | 权重的调整方法和装置、存储介质及电子装置 | |
US9571401B2 (en) | Technique for projecting network load in a communication network | |
EP4200768A1 (en) | Handling training of a machine learning model | |
US11990923B1 (en) | Selecting data compression parameters using a cost model | |
CN112766698B (zh) | 应用业务压力确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |