CN104620563A - 减少计算设备的网络使用 - Google Patents

减少计算设备的网络使用 Download PDF

Info

Publication number
CN104620563A
CN104620563A CN201380047863.8A CN201380047863A CN104620563A CN 104620563 A CN104620563 A CN 104620563A CN 201380047863 A CN201380047863 A CN 201380047863A CN 104620563 A CN104620563 A CN 104620563A
Authority
CN
China
Prior art keywords
application
internet transmission
code
relevant
current state
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
Application number
CN201380047863.8A
Other languages
English (en)
Other versions
CN104620563B (zh
Inventor
S·阿加瓦尔
C·里德利尔
L·R·西瓦林甘姆
J·帕德耶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN104620563A publication Critical patent/CN104620563A/zh
Application granted granted Critical
Publication of CN104620563B publication Critical patent/CN104620563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Abstract

在此提供用于减少计算设备的网络使用的方法和系统。该方法包括从位于该计算设备的应用编程接口的应用接收与网络传输相关的网络呼叫。该方法还包括,确定网络传输是否与应用的当前状态相关,并且如果它与应用的当前状态无关就延迟该网络传输。

Description

减少计算设备的网络使用
背景
数据传输的高成本是移动计算设备的广泛使用的障碍。例如,在移动电话的情况中,数据计划成本对中等收入的比率可能相对较高。因此,具有在数据消费方面高效的操作系统的移动电话是非常期望的。
若干现有技术试图通过提供数据的高效消费来减轻针对移动计算设备的网络传输的高成本。例如,压缩、重复去除,和其它类似技术可用在发送到特定移动计算设备的网络通信上。然而,这样的技术可能不能够将网络传输的规模减少到可接受的程度。
另一个技术涉及通过各种应用将网络使用统计展示给移动计算设备的用户,并允许用户根据移动计算设备的数据计划来改变他的行为。然而,这一技术依赖于在用户部分上监控的主动行为,并且对于用户可能是耗时的。
此外,可向应用开发者提供减少网络使用的应用编程接口(API)。例如,基于用户数据计划中包括多少字节来执行网络传输的API可被实现在一个应用中。然而,对于应用开发者而言通常难以理解在特定应用的上下文中对这种API的使用。
发明内容
下面呈现了本发明的简化概述,以便提供此处所描述的某些方面的基本概念。此发明内容不是所要求保护的主题的详尽的概述。既不是要指出所要求保护的主题的关键性元素,也不是要详细描述本发明的范围。唯一的目的是以简化形式呈现所要求保护的主题的某些概念,作为稍后呈现的比较详细的描述的前奏。
一实施例提供了用于减少网络使用的方法。该方法包括从位于计算设备的应用编程接口的应用接收与网络传输相关的网络呼叫。该方法还包括,确定网络传输是否与应用的当前状态相关,并且如果它与应用的当前状态无关就延迟该网络传输。
另一个实施例提供了用于减少网络使用的计算系统。该计算系统包括适于执行所存储的指令的处理器和系统存储器。该系统存储器包括配置用于分析来自应用的网络呼叫以确定对应的网络传输是否与应用的当前状态相关的代码。系统存储器还包括配置用于在网络传输与应用的当前状态无关的情况下延迟该网络传输的代码。
此外,另一个实施例提供包括多个指令的一个或多个计算机可读存储介质,当指令被处理器执行时致使该处理器分析来自应用的网络呼叫以确定对应的网络传输是否与应用的当前状态相关。指令还使得处理器在网络传输与应用的当前状态无关的情况下延迟该网络传输一段指定量的时间。
提供本发明内容以便以简化形式介绍一些概念;这些概念将在以下的详细描述中进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图简述
图1是可被用于实现减少网络使用的方法的计算环境的框图;
图2是用于通过延迟网络传输减少网络使用的方法的处理流程图;
图3是用于通过代理API减少网络使用的方法的处理流程图;
图4是用于通过网络卸载过程减少网络使用的方法的处理流程图;
图5是用于可被用来延迟网络传输的应用文件的二进制重写的方法的处理流程图;
图6是示出存储了适于实现减少网络使用的方法的代码的计算机可读存储介质的框图。
贯穿本公开和各附图,相同的编号参考相同的组件和特征。100系列中标号指的是最初在图1中所找到的特征,200系列中的标号指的是最初在图2中找到的特征,300系列中的标号指的是最初在图3中找到的特征,依此类推。
详细描述
此处公开的各实施例阐释了一种用于减少诸如移动计算设备的计算设备的网络使用的方法和系统。这可通过延迟,即推迟,由应用所请求的网络传输一段指定量的时间来实现。此外,这可通过延迟网络传输直至网络传输的结果与应用的当前状态相关来实现。例如,如果网络传输更新应用的用户界面(UI)的特定部分,针对网络传输的网络呼叫可不被执行,直到UI的那部分对计算设备的用户当前可见。
此外,网络传输可被执行使得仅仅获得与应用的当前状态相关的数据。这可通过使用代理应用编程接口(API)来实现,以基于对用户当前可见的UI的那部分来确定哪些数据要下载到计算设备。替换地,这可通过执行网络卸载过程来实现。网络卸载过程可包括将对应于网络传输的网络呼叫的代码卸载到数据中心、将网络呼叫的代码解析以标识与相关数据相关的代码、在数据中心内执行所标识的代码,并将相关数据发送到计算设备。
作为预备事项,一些附图在一个或多个结构组件(被称为功能、模块、特征、元素等)的上下文中来描述概念。附图中示出的各种组件能够以任何方式来实现,例如,通过软件、硬件(例如,分立的逻辑组件等等)、固件等等,或这些实现的任何组合。在一个实施例中,各个组件可以反映对应的组件在实际实现中的使用。在其他实施例中,附图中所示出的任何单个组件可由多个实际组件来实现。对附图中的任何两个或更多单独的组件的描绘可以反映由单个实际组件所执行的不同的功能。以下讨论的图1提供了关于可用于实现附图中所示的各功能的一个系统的细节。
其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成以某一顺序执行的不同的框。这样的实现是示例性的而非限制性的。此处描述的某些框可被分组在一起并在单个操作中执行,某些框可被分成多个组成框,并且某些框可以按与此处所示出的不同的次序来执行(包括以并行方式执行这些框)。流程图中示出的框可以通过软件、硬件、固件、手动处理等等或这些实现的任何组合来实现。如此处所使用的,硬件可以包括计算机系统、诸如专用集成电路(ASIC)之类的分立逻辑组件等以及它们的任意组合。
关于术语,短语“被配置成”涵盖可以构造任何类型的结构组件来执行所标识的操作的任何方式。结构组件可以被配置成使用软件、硬件、固件等或其任意组合来执行操作。
术语“逻辑”涵盖用于执行任务的任何功能。例如,流程图中所示出的每一操作对应于用于执行该操作的逻辑。操作可以使用软件、硬件、固件等或其任意组合来执行。
如在此使用的,术语“组件”、“系统”、“客户机”等旨在指代计算机相关的实体,它们可以是硬件、(例如,执行中的)软件和/或固件、或其组合。例如,组件可以是,在处理器上运行的进程、对象、可执行码、程序、函数、库、子例程,和/或计算机或软件和硬件的组合。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程中,组件可以位于一个计算机内和/或分布在两个或更多计算机之间。
此外,所要求保护的主题可以使用产生控制计算机以实现所公开的主题的软件、固件、硬件或其任意组合的标准编程和/或工程技术而被实现为方法、装置或制品。如此处所使用的术语“制品”可以包含可以从任何有形的计算机可读设备或介质访问的计算机程序。
计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、以及磁带等等)、光盘(例如,紧致盘(CD)以及数字多功能盘(DVD)等等)、智能卡、以及闪存设备(例如,卡、棒以及钥匙驱动器等等)。相反,计算机可读介质(即,非存储介质)一般可附加地包括用于无线信号之类的通信介质,诸如传输介质。
图1是可被用于实现减少网络使用的方法的计算环境100的框图。计算环境100可包括计算设备102。计算设备102可以是,例如,移动电话、平板电脑、台式计算机、膝上计算机、电子阅读器、电视机、媒体播放器等。计算设备102可包括适于执行所存储的指令的处理器104,以及存储可由处理器104执行的指令的存储器设备106。处理器104可以是单核处理器、多核处理器、计算群集、或者任意数量的其他配置。存储器设备106可包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其他合适的存储器系统。由处理器104执行的所存储的指令可通过延迟或去除网络传输来实现用于减少计算设备102的网络使用的方法。处理器104可通过总线108连接到一个或多个输入和输出设备。
计算设备102可包括存储设备110。存储设备110可包括硬盘驱动器、光盘驱动器、拇指驱动器、驱动器阵列、等等。存储设备110可适于存储网络使用减少模块112。此外,存储设备108还可适于存储API 114和任何数量的应用116。应用116可通过API 114相互通信。网络使用减少模块112可被用于通过分析与从任一应用116发送到API 114的网络传输相关的网络呼叫,并延迟或去除与应用116的当前状态不相关的网络传输来减少计算设备102的网络使用。
人机界面(HMI)118可将计算设备102连接到任何数量的用户界面设备120,诸如触摸屏、扬声器、定点设备等。计算设备102可通过总线106链接到适于将计算设备102连接到显示设备124的显示接口122。显示设备124可包括计算机监视器或移动设备的显示屏等。
网络接口控制器(NIC)126可适于通过总线108将计算系统102连接到网络128。通过网络128,基于web的应用130可被下载并储存在计算机的存储设备110中,或可通过web浏览器访问。基于web的应用130例如可被存储在远程服务器或计算设备上。
计算设备102还可通过网络128可通信地耦合到数据中心132。数据中心132可包括任何合适类型的计算设备,诸如台式计算机、膝上计算机、web服务器、云服务器等等。数据中心132可适于通过可代替计算设备102上的API114使用的代理API 134来减少计算设备102的网络使用。此外,数据中心132可适于通过网络传输卸载模块136来减少计算设备102的网络使用。例如,在各实施例中,网络使用减少模块112可从应用116将网络呼叫传输到代理API134,或将网络呼叫卸载到网络传输卸载模块136。代理API 134或网络传输卸载模块136可接着通过去除与请求应用116的当前状态不相关的网络传输来减少计算设备102的网络使用。替换地,代理API 134或网络传输卸载模块136可通过基于网络传输的哪些部分与应用116的当前状态相关以减少网络传输的规模来减少计算设备102的网络使用。
图1的框图不旨在指示计算环境100要包括图1所示的全部组件。此外,取决于特定实现的细节,计算环境100可以包括图1中未示出的任意数量的额外的组件。
图2是用于通过延迟网络传输来减少网络使用的方法200的处理流程图。方法200可在上面结合图1讨论的计算环境100内实现。例如,方法200可响应于从驻留在计算设备102内的任何应用116接收到的网络呼叫通过计算设备102的API 114来实现。
方法200在框202开始,其中从计算设备的API处的应用接收与网络传输相关的网络呼叫。网络呼叫可包括从用于指导网络传输的执行的应用接收的特定代码。
在框204,确定网络传输是否与应用的当前状态相关。在一些实施例中,如果网络传输更新了对用户当前可见的应用的UI的一部分,那么网络传输被认为是与应用的当前状态相关。例如,如果网络传输对应于当前打开的应用的一页,它可被认为是与应用的当前状态相关。此外,如果网络传输的延迟将对应用的运行有影响,那么网络传输可被认为是与应用的当前状态相关。例如,如果网络传输与用作应用的背景音乐的音频文件的传输相关,那么延迟该网络传输将对应用的运行有影响。
在框206,如果网络传输与应用的当前状态无关,则延迟网络传输。网络传输可被延迟一段指定量的时间。在一些实施例中,网络传输被延迟一段固定量时间。如果用户在该固定量的时间内退出应用,网络传输可能永不发生或被终止,导致应用的网络使用的减少。
在其它实施例中,网络传输被延迟一段可变的量的时间,诸如直到它变得与应用的当前状态相关。例如,网络传输可被延迟直到它与应用的UI的当前对用户可见的部分相关。此外,在一些实施例中,网络调用可被分析以确定网络传输的与应用的当前状态相关的特定部分,并且仅网络传输的那些部分被执行,如以下结合图3和4进一步讨论的。
图2的处理流程图不旨在表示方法200的步骤将以任何特定顺序执行,或在任何情况下都包括方法200的全部步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法200中。
在一些实施例中,计算设备的用户可被告知计算设备的网络使用,并被允许相应地调整延迟过程。例如,计算设备可基于用户的特定数据计划来显示计算设备的可用网络使用,并且用户可接着经由UI相应地调整延迟过程。在一些情况中,例如,用户可缩短或延长网络传输被延迟的指定量的时间,或可改变用于确定网络传输是否要被延迟的准则。此外,在一些实施例中,计算设备基于计算设备的网络使用自动调整延迟过程,无需来自用户的输入。
此外,在一些实施例中,方法200可包括动态监控应用,以确定哪些UI元素对用户可见。如果对应于网络传输的数据更新了当前可见的UI元素,那么网络传输可接着被立即执行。
图3是用于通过代理API减少网络使用的方法300的处理流程图。方法300可在上面结合图1讨论的计算环境100内实现。例如,方法300可使用从数据中心132获得的代理API 134代替计算设备102的API 116来实现。在一些实施例中,应用开发者可重写应用使得它利用代理API代替计算设备最初的API来进行网络传输。
方法在框302开始,其中从代理API处的应用接收与网络传输相关的网络呼叫。网络呼叫可包括从用于指导网络传输的执行的应用接收的特定代码。
在框304,对应于网络传输的数据由代理API检索。代理API可从数据中心检索数据而无需将数据传输到主存请求应用的计算设备。
在框306,与应用的当前状态相关的数据被标识。如果数据更新了对用户当前可见的应用的UI的一部分,或者如果数据的传输的延迟将对应用的运行有影响,如以上结合图2讨论的,那么所述数据被认为是与应用的当前状态相关。被标识的数据可包括要被发送回计算设备的数据,而余下的数据可包括不要被发送回计算设备的数据,因为它们与应用的当前状态无关。
在框308,执行被标识的数据的网络传输。换言之,被标识的数据可被传输到计算设备。网络传输可被代理API执行,并且所述结果可被发送到发起网络呼叫的应用。
在框310,与应用的当前状态无关的数据的网络传输被延迟。在一些实施例中,这样的数据的网络传输被延迟直至数据变得与应用的当前状态相关。在其它实施例中,这样的数据的网络传输被简单地终止,且数据被丢弃。例如,应用可以是请求国家的每个州的天气的天气频道应用,而用户可能仅仅对一个指定州的天气感兴趣。在这样的实例中,代理API可检索与指定州的天气相关的数据并丢弃与其它州的天气相关的数据。通过阻止无关数据的网络传输,这可减少应用的总体网络使用。
图3的处理流程图不旨在表示方法300的步骤将以任何特定顺序执行,或在任何情况下都包括方法300的全部步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法300中。例如,在各种实施例中,框308和310的步骤并行执行。
图4是用于通过网络卸载过程减少网络使用的方法400的处理流程图。方法400可在上面结合图1讨论的计算环境100内实现。例如,方法400可响应于从驻留在计算设备102内的任何应用116接收到的网络呼叫通过计算设备102的API 114来实现。
方法在框402开始,其中从计算设备的API处的应用接收与网络传输相关的网络呼叫。计算设备的API可通信地耦合到第二计算设备内的网络传输卸载模块,诸如上面结合图1讨论的数据中心132内的网络传输卸载模块136。
在框404,对应于网络呼叫的代码被卸载到第二计算设备。更具体地,第二计算设备的网络传输卸载模块可在网络呼叫被计算设备的API执行之前解释该网络呼叫。第二计算设备可以是任何合适类型的计算设备,诸如上面结合图1讨论的数据中心132。
第二计算设备可被配置来解析代码以标识与网络传输中与应用的当前状态相关的部分有关的代码。第二计算设备还可被配置来执行被标识的代码并将结果数据返回给计算设备的API。与网络传输的余下部分有关的不与应用的当前状态相关的代码可被丢弃,或可被延迟一段指定量的时间。因此,传输到计算设备的数据的量可被减小。
图4的处理流程图不旨在表示方法400的步骤将以任何特定顺序执行,或在任何情况下都包括方法400的全部步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法400中。
上面描述的方法200、300和400可为计算设备提供能量节省。例如,计算设备的网络接口消耗电池电量。因此,减小数据经由网络接口传输的量可减小计算设备的能耗,导致更长的电池寿命。
在各实施例中,上面描述的用于延迟网络传输的方法200、300和400可通过应用的代码(例如中间字节码)的二进制重写来执行。以下结合图5进一步讨论了应用代码的这样的二进制重写技术。
进一步,在一些实施例中,上面描述的用于延迟网络传输的方法200、300和400可基于请求应用的典型的使用来进行调节。例如,可确定用户想访问应用的第二页,并且访问应用的第三页的用户想要访问应用的第四页。因此,当用户启动应用且其处在第一页上时,与第二页相关的网络传输仍可被执行,即使第二页当前对用户不可见。与第三和第四页相关的网络传输可被延迟,因为用户可能不想访问那些页。然而,如果用户访问应用的第三页,那么与第四页相关的网络传输可被执行,因为用户可能想要在访问第三页后访问第四页。该过程可允许应用以更高的速度运行,因为不久的将来可能相关的网络传输未被延迟。
图5是用于可被用来延迟网络传输的应用文件的二进制重写的方法500的处理流程图。在各实施例中,方法500被用于将导致网络传输的延迟的代码,在此称为“延迟代码”,插入应用文件。方法在框502开始,其中包含针对特定应用的中间字节码的应用文件被接收。应用文件可以是任何类型的文件,例如,压缩文件。此外,应用文件可以是二进制文件。
在框504,该应用文件被解包。一旦应用文件已经被解包,可包括元数据文件和属性文件的应用清单,例如,可在被解包的应用文件内被定位。
在框506,分析应用文件以确定代码内的哪些函数与数据传输对应。此外,应用文件可被分析以确定代码的哪些部分与应用的当前状态相关。例如,代码的与对用户当前可见UI相关的部分可被标识。
在框508,应用文件的二进制重写被执行以插入延迟代码。延迟代码的插入可被提供用于与应用的当前状态不相关的网络传输的延迟。例如,延迟代码可被插入到对应于数据的传输的函数,且应用可被动态监控以确定哪个延迟代码在任何时间点激活。
在框510,应用文件被重新打包来获得经修改的应用文件。经修改的应用文件可被提供用于应用的网络使用的减少。
图5的处理流程图不旨在表示方法500的步骤将以任何特定顺序执行,或在任何情况下都包括方法500的全部步骤。此外,取决于具体实现的细节,任何数量的附加步骤可被包括在方法500中。例如,如果代码内的不直接更新UI而是将结果以全局变量存储的函数被标识,对全局变量访问可被重写。全局变量可被重写使得下一次任何代码访问全局变量时,网络传输可同步执行,且应用的执行可继续。
图6是示出存储了适于实现减少网络使用的方法的代码的计算机可读存储介质600的框图。计算机可读存储介质600可由处理器602例如通过计算机总线604进行访问。此外,计算机可读存储介质600可包括引导处理器602执行当前方法的各步骤的代码。此处描述的各软件组件可被存储在计算机可读存储介质600上,如图6中所示的。例如,网络传输延迟模块606可适于如果网络传输与请求应用的当前状态无关就延迟网络传输。此外,网络传输修改模块608可适于修改网络传输,使得仅网络传输的那些与请求应用的当前状态相关的部分被执行,而网络传输的余下的部分被延迟或终止。此外,计算机可读存储介质600还可包括图6中未示出的任意数量的附加软件组件。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (20)

1.一种用于减少计算设备的网络使用的方法,包括:
从位于所述计算设备的应用编程接口的应用接收与网络传输相关的网络呼叫;
确定所述网络传输是否与所述应用的当前状态相关;以及
如果所述网络传输与所述应用的当前状态无关则延迟所述网络传输。
2.如权利要求1所述的方法,其特征在于,包括将所述网络传输延迟一段指定量的时间。
3.如权利要求1所述的方法,其特征在于,包括通过所述应用的中间字节码的二进制重写来延迟所述网络传输。
4.如权利要求1所述的方法,其特征在于,包括:
延迟网络传输的与所述应用的当前对用户不可见的用户界面相关的部分;以及
如果所述用户界面变得对所述用户可见,则执行所述网络传输的所述部分。
5.如权利要求1所述的方法,其特征在于,包括基于所述网络传输的每个部分的延迟是否将对所述应用的运行有影响来确定是否延迟所述每个部分。
6.如权利要求1所述的方法,其特征在于,包括至少部分基于所述计算设备的可用网络使用来确定是否继续延迟所述网络传输。
7.如权利要求1所述的方法,其特征在于,包括,如果所述网络传输的至少一部分与所述应用的当前状态相关,则使用驻留在所述计算设备以外的代理应用编程接口来检索对应于所述网络传输的全部数据、标识与所述应用的当前状态相关的数据,并将被标识的数据传输到所述计算设备。
8.如权利要求1所述的方法,其特征在于,包括:
如果所述网络传输的至少一部分与所述应用的当前状态相关,则将所述网络呼叫的代码卸载到第二计算设备;
从所述第二计算设备接收网络呼叫的结果,其中所述第二计算设备被配置来解析所述代码以标识与所述网络传输的与所述应用的当前状态相关的部分有关的代码、执行被标识的代码,并将结果返回给所述应用编程接口。
9.一种用于减少网络使用的计算系统,包括:
适于执行所存储的指令的处理器;以及
系统存储器,其中系统存储器包括配置用于以下操作的代码:
分析来自应用的网络呼叫以确定对应的网络传输是否与所述应用的当前状态相关;以及
如果所述网络传输与所述应用的当前状态无关则延迟所述网络传输。
10.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括配置用于将所述网络传输延迟一段指定量的时间的代码。
11.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括配置用于通过所述应用的中间字节码的二进制重写来延迟所述网络传输的代码。
12.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括被配置成执行以下操作的代码:
延迟网络传输的与所述应用的当前对用户不可见的用户界面相关的部分;以及
如果所述用户界面变得对所述用户可见,则执行所述网络传输的所述部分。
13.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括配置用于以下操作的代码:如果所述网络传输的至少一部分与所述应用的当前状态相关,则使用驻留在所述计算系统以外的代理应用编程接口来检索对应于所述网络传输的全部数据、标识与所述应用的当前状态相关的数据,并将被标识的数据传输到所述计算系统。
14.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括被配置成执行以下操作的代码:
如果所述网络传输的至少一部分与所述应用的当前状态相关,则将所述网络呼叫的代码卸载到数据中心;
从所述数据中心接收网络呼叫的结果,其中所述数据中心被配置来解析所述代码以标识与所述网络传输的与所述应用的当前状态相关的部分有关的代码、执行被标识的代码,并将结果返回给所述计算系统。
15.如权利要求9所述的计算系统,其特征在于,所述系统存储器包括配置用于基于所述网络传输的每个部分的延迟是否将对所述应用的运行有影响来确定是否延迟所述每个部分的代码。
16.一个或多个计算机可读取存储介质,所述计算机可读取存储介质包括多个指令,所述指令在由处理器执行时致使所述处理器:
分析来自应用的网络呼叫以确定对应的网络传输是否与所述应用的当前状态相关;以及
如果所述网络传输与所述应用的当前状态无关则延迟所述网络传输一段指定量的时间。
17.如权利要求16所述的一个或多个计算机可读取存储介质,其特征在于,所述一段指定量的时间包括固定量的时间。
18.如权利要求16所述的一个或多个计算机可读取存储介质,其特征在于,所述一段指定量的时间包括可变的量的时间。
19.权利要求16所述的一个或多个计算机可读取存储介质,其特征在于,所述多个指令使得所述处理器基于所述应用的典型使用来延迟所述网络传输的一个或多个部分。
20.如权利要求16所述的一个或多个计算机可读取存储介质,其特征在于,所述多个指令致使所述处理器:
延迟网络传输的与所述应用的当前对用户不可见的用户界面相关的部分;以及
如果所述用户界面变得对所述用户可见,则执行所述网络传输的所述部分。
CN201380047863.8A 2012-09-14 2013-09-09 一种用于减少计算设备的网络使用的方法和系统 Active CN104620563B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/615,603 2012-09-14
US13/615,603 US9246982B2 (en) 2012-09-14 2012-09-14 Reducing network usage of computing device
PCT/US2013/058664 WO2014042998A1 (en) 2012-09-14 2013-09-09 Reducing network usage of computing device

Publications (2)

Publication Number Publication Date
CN104620563A true CN104620563A (zh) 2015-05-13
CN104620563B CN104620563B (zh) 2018-09-04

Family

ID=49274856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380047863.8A Active CN104620563B (zh) 2012-09-14 2013-09-09 一种用于减少计算设备的网络使用的方法和系统

Country Status (4)

Country Link
US (1) US9246982B2 (zh)
EP (1) EP2896185B1 (zh)
CN (1) CN104620563B (zh)
WO (1) WO2014042998A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9554239B2 (en) 2015-04-21 2017-01-24 Apple Inc. Opportunistic offloading of tasks between nearby computing devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127699A (zh) * 2007-08-24 2008-02-20 西安交通大学 一种点对点环境下实时数据传输路径生成方法
CN101299671A (zh) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
US20090313640A1 (en) * 2008-06-17 2009-12-17 International Business Machines Corporation Web user interface component coordination
CN101755425A (zh) * 2007-07-25 2010-06-23 朗讯科技公司 管理无线通信网络内的传输的方法
US20120023190A1 (en) * 2010-07-26 2012-01-26 Ari Backholm Mobile network traffic coordination across multiple applications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330598B1 (en) * 1998-06-23 2001-12-11 Ameritech Corporation Global service management system for an advanced intelligent network
JP2000293424A (ja) 1999-04-09 2000-10-20 Hitachi Ltd ネットワークキャッシュ装置およびキャッシュ制御方法
EP1855429A3 (en) 1999-10-22 2010-03-24 Nomadix, Inc. Systems and methods for dynamic bandwidth management on a per subscriber basis in a communication network
US7346896B2 (en) 2002-04-22 2008-03-18 Sun Microsystems, Inc. Slowing network connection for application optimization
US7489710B2 (en) 2003-04-22 2009-02-10 Agere Systems Inc. Stall need detection and associated stall mechanism for delay compensation in virtual concatenation applications
US7808895B2 (en) * 2003-10-30 2010-10-05 Intel Corporation Isochronous device communication management
US7930422B2 (en) * 2004-07-14 2011-04-19 International Business Machines Corporation Apparatus and method for supporting memory management in an offload of network protocol processing
JP2006060579A (ja) 2004-08-20 2006-03-02 Fujitsu Ltd アプリケーション特性に応じて複数の経路を同時に利用する通信装置
KR100597425B1 (ko) 2005-02-16 2006-07-05 삼성전자주식회사 무선 네트워크 환경에서 전송 지연으로 인한 불필요한 재전송을 감소시키기 위한 방법 및 이를 이용한 통신 장치
US8024462B1 (en) 2009-10-05 2011-09-20 Mcafee, Inc. System, method, and computer program product for preventing communication of unwanted network traffic by holding only a last portion of the network traffic
US8782127B2 (en) * 2011-09-30 2014-07-15 Apple Inc. Notification based web applications
US9189252B2 (en) * 2011-12-30 2015-11-17 Microsoft Technology Licensing, Llc Context-based device action prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299671A (zh) * 2007-04-30 2008-11-05 上海贝尔阿尔卡特股份有限公司 用于组播数据包发送与接收的方法和装置
CN101755425A (zh) * 2007-07-25 2010-06-23 朗讯科技公司 管理无线通信网络内的传输的方法
CN101127699A (zh) * 2007-08-24 2008-02-20 西安交通大学 一种点对点环境下实时数据传输路径生成方法
US20090313640A1 (en) * 2008-06-17 2009-12-17 International Business Machines Corporation Web user interface component coordination
US20120023190A1 (en) * 2010-07-26 2012-01-26 Ari Backholm Mobile network traffic coordination across multiple applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JAN BAEKGAARD PEDERSEN: "Resumable Java Bytecode-Process Mobility for the JVM", 《COMMUNICATING PROCESS ARCHITECTURES》 *

Also Published As

Publication number Publication date
US9246982B2 (en) 2016-01-26
US20140082214A1 (en) 2014-03-20
EP2896185B1 (en) 2018-03-07
EP2896185A1 (en) 2015-07-22
WO2014042998A1 (en) 2014-03-20
CN104620563B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
US9483189B2 (en) Systems and methods for scheduling write requests for a solid state storage device
US9928038B2 (en) Dynamically building locale objects or subsections of locale objects based on historical data
CN110113407B (zh) 小程序状态同步方法、设备和计算机存储介质
WO2020063008A1 (zh) 资源配置方法、装置、终端及存储介质
US8751689B2 (en) Serialization and distribution of serialized content using socket-based communication
CN113553214B (zh) 一种幂等性校验方法及装置
US20140143313A1 (en) Client terminal, server, and distributed processing method
US20220245164A1 (en) Systems and methods for componentization and plug and play workflows
CN111435318A (zh) 应用程序的dex优化方法及终端
US8090769B2 (en) Dynamically generating web contents
CN111278085B (zh) 用于获取目标网络的方法及装置
CN104620563A (zh) 减少计算设备的网络使用
CN115934076B (zh) 跨平台客户端的微服务提供装置、方法和电子设备
CN111913759A (zh) 控制应用程序执行的方法、装置、计算设备和介质
CN113934437B (zh) 云手机安装应用的方法、系统和客户端云手机
CN113110829B (zh) 多ui组件库数据处理方法及装置
CN114416212A (zh) 移动端应用程序数据资源处理方法及装置
CN110113416B (zh) 用于展示信息的方法和装置
CN110716699A (zh) 用于写入数据的方法和装置
TW201106267A (en) Operation system data update method and electronic apparatus having multiple operation systems
CN112311843A (zh) 数据加载方法和装置
CN111385353A (zh) 一种提供应用呈现信息的方法与设备
CN111192063A (zh) 一种在线客服排队处理方法、装置及电子设备
CN116467538A (zh) 一种手机客户端web页面版本更新迭代方法及系统
CN113687879B (zh) 跨平台框架与平台交互库的交互方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171020

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant